diff --git a/CHANGELOG.md b/CHANGELOG.md index ef83eb24..6a1eb89a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,12 +4,14 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## [Unreleased] +## [1.0.1] - 2024-05-23 ### Fixed * [#205](https://github.com/plotly/dash-cytoscape/pull/205) Fixed updating maxZoom via callback in CyLeaflet AIO component. * [#207](https://github.com/plotly/dash-cytoscape/pull/207) Allow access to updated lat/lon when Cytoscape nodes in CyLeaflet AIO component are modified via UI. * [#208](https://github.com/plotly/dash-cytoscape/pull/208) Allow updating Cytoscape elements in CyLeaflet AIO component via callback. +* [#210](https://github.com/plotly/dash-cytoscape/pull/210) Performace improvement: added debounce to update elements event. +* [#212](https://github.com/plotly/dash-cytoscape/pull/212) Added call to `cy.resize` to fix mouse position mismatch on `tapstart` event. ## [1.0.0] - 2024-01-26 diff --git a/DESCRIPTION b/DESCRIPTION index a8db2a74..e9807125 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,6 +1,6 @@ Package: dashCytoscape Title: A Component Library for 'Dash' aimed at facilitating network visualization in R, wrapped around Cytoscape.js. -Version: 1.0.0 +Version: 1.0.1 Description: A Component Library for 'Dash' aimed at facilitating network visualization in R, wrapped around Cytoscape.js. Depends: R (>= 3.0.2) Imports: diff --git a/Project.toml b/Project.toml index 0b81a993..56d9c816 100644 --- a/Project.toml +++ b/Project.toml @@ -2,7 +2,7 @@ name = "DashCytoscape" uuid = "1b08a953-4be3-4667-9a23-85cc21bfd5e9" authors = ["The Plotly Team "] -version = "1.0.0" +version = "1.0.1" [deps] Dash = "1b08a953-4be3-4667-9a23-3db579824955" diff --git a/R/internal.R b/R/internal.R index d4011a6c..fd4f5d32 100644 --- a/R/internal.R +++ b/R/internal.R @@ -1,6 +1,6 @@ .dashCytoscape_js_metadata <- function() { deps_metadata <- list(`dash_cytoscape` = structure(list(name = "dash_cytoscape", -version = "1.0.0", src = list(href = NULL, +version = "1.0.1", src = list(href = NULL, file = "deps"), meta = NULL, script = 'dash_cytoscape.min.js', stylesheet = NULL, head = NULL, attachment = NULL, package = "dashCytoscape", diff --git a/dash_cytoscape/dash_cytoscape.dev.js b/dash_cytoscape/dash_cytoscape.dev.js index 56808566..07af815c 100644 --- a/dash_cytoscape/dash_cytoscape.dev.js +++ b/dash_cytoscape/dash_cytoscape.dev.js @@ -26,7 +26,7 @@ eval("/*! (c) Andrea Giammarchi @webreflection ISC */\n(function () {\n 'use st /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _src_assets_contextmenu_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../src/assets/contextmenu.css */ \"./src/assets/contextmenu.css\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var react_cytoscapejs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-cytoscapejs */ \"./node_modules/react-cytoscapejs/dist/react-cytoscape.modern.js\");\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! lodash */ \"./node_modules/lodash/lodash.js\");\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var uuid__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! uuid */ \"./node_modules/uuid/dist/esm-browser/v4.js\");\n/* harmony import */ var _cyResponsive_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../cyResponsive.js */ \"./src/lib/cyResponsive.js\");\n/* harmony import */ var _ungap_custom_elements__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @ungap/custom-elements */ \"./node_modules/@ungap/custom-elements/index.js\");\n/* harmony import */ var _ungap_custom_elements__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_ungap_custom_elements__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _cyleaflet_clientside_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../cyleaflet_clientside.js */ \"./src/lib/cyleaflet_clientside.js\");\n/* harmony import */ var _cyleaflet_clientside_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_cyleaflet_clientside_js__WEBPACK_IMPORTED_MODULE_6__);\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : String(i); }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n/**\n * JavaScript Requirements: cytoscape, cytoscape-svg\n * React.js requirements: react-cytoscapejs\n */\n\n\n\n\n\n\n\n\n// Polyfill so that context menu extension works in Safari\n\nvar cytoscape = __webpack_require__(/*! cytoscape */ \"./node_modules/cytoscape/dist/cytoscape.cjs.js\");\nvar contextMenus = __webpack_require__(/*! cytoscape-context-menus */ \"./node_modules/cytoscape-context-menus/cytoscape-context-menus.js\");\n\n// Clientside callback functions for CyLeaflet AIO component\n\n\n// register extension\ncontextMenus(cytoscape);\n/**\n * A Component Library for Dash aimed at facilitating network visualization in\n * Python, wrapped around [Cytoscape.js](http://js.cytoscape.org/).\n */\nvar Cytoscape = /*#__PURE__*/function (_Component) {\n _inherits(Cytoscape, _Component);\n function Cytoscape(props) {\n var _this;\n _classCallCheck(this, Cytoscape);\n _this = _callSuper(this, Cytoscape, [props]);\n _this.handleCy = _this.handleCy.bind(_assertThisInitialized(_this));\n _this._handleCyCalled = false;\n _this.handleImageGeneration = _this.handleImageGeneration.bind(_assertThisInitialized(_this));\n _this.cyResponsiveClass = false;\n return _this;\n }\n _createClass(Cytoscape, [{\n key: \"generateNode\",\n value: function generateNode(event) {\n var ele = event.target;\n var isParent = ele.isParent(),\n isChildless = ele.isChildless(),\n isChild = ele.isChild(),\n isOrphan = ele.isOrphan(),\n renderedPosition = ele.renderedPosition(),\n relativePosition = ele.relativePosition(),\n parent = ele.parent(),\n style = ele.style();\n\n // Trim down the element objects to only the data contained\n var edgesData = ele.connectedEdges().map(function (ele) {\n return ele.data();\n });\n var childrenData = ele.children().map(function (ele) {\n return ele.data();\n });\n var ancestorsData = ele.ancestors().map(function (ele) {\n return ele.data();\n });\n var descendantsData = ele.descendants().map(function (ele) {\n return ele.data();\n });\n var siblingsData = ele.siblings().map(function (ele) {\n return ele.data();\n });\n var timeStamp = event.timeStamp;\n var _ele$json = ele.json(),\n classes = _ele$json.classes,\n data = _ele$json.data,\n grabbable = _ele$json.grabbable,\n group = _ele$json.group,\n locked = _ele$json.locked,\n position = _ele$json.position,\n selected = _ele$json.selected,\n selectable = _ele$json.selectable;\n var parentData;\n if (parent) {\n parentData = parent.data();\n } else {\n parentData = null;\n }\n var nodeObject = {\n // Nodes attributes\n edgesData: edgesData,\n renderedPosition: renderedPosition,\n timeStamp: timeStamp,\n // From ele.json()\n classes: classes,\n data: data,\n grabbable: grabbable,\n group: group,\n locked: locked,\n position: position,\n selectable: selectable,\n selected: selected,\n // Compound Nodes additional attributes\n ancestorsData: ancestorsData,\n childrenData: childrenData,\n descendantsData: descendantsData,\n parentData: parentData,\n siblingsData: siblingsData,\n isParent: isParent,\n isChildless: isChildless,\n isChild: isChild,\n isOrphan: isOrphan,\n relativePosition: relativePosition,\n // Styling\n style: style\n };\n return nodeObject;\n }\n }, {\n key: \"generateEdge\",\n value: function generateEdge(event) {\n var ele = event.target;\n var midpoint = ele.midpoint(),\n isLoop = ele.isLoop(),\n isSimple = ele.isSimple(),\n sourceData = ele.source().data(),\n sourceEndpoint = ele.sourceEndpoint(),\n style = ele.style(),\n targetData = ele.target().data(),\n targetEndpoint = ele.targetEndpoint();\n var timeStamp = event.timeStamp;\n var _ele$json2 = ele.json(),\n classes = _ele$json2.classes,\n data = _ele$json2.data,\n grabbable = _ele$json2.grabbable,\n group = _ele$json2.group,\n locked = _ele$json2.locked,\n selectable = _ele$json2.selectable,\n selected = _ele$json2.selected;\n var edgeObject = {\n // Edges attributes\n isLoop: isLoop,\n isSimple: isSimple,\n midpoint: midpoint,\n sourceData: sourceData,\n sourceEndpoint: sourceEndpoint,\n targetData: targetData,\n targetEndpoint: targetEndpoint,\n timeStamp: timeStamp,\n // From ele.json()\n classes: classes,\n data: data,\n grabbable: grabbable,\n group: group,\n locked: locked,\n selectable: selectable,\n selected: selected,\n // Styling\n style: style\n };\n return edgeObject;\n }\n }, {\n key: \"handleCy\",\n value: function handleCy(cy) {\n var _this2 = this;\n // If the cy pointer has not been modified, and handleCy has already\n // been called before, than we don't run this function.\n if (cy === this._cy && this._handleCyCalled) {\n return;\n }\n this._cy = cy;\n window.cy = cy;\n this._handleCyCalled = true;\n\n // ///////////////////////////////////// CONSTANTS /////////////////////////////////////////\n var SELECT_THRESHOLD = 100;\n var EXTENT_THRESHOLD = 5;\n var selectedNodes = cy.collection();\n var selectedEdges = cy.collection();\n\n // ///////////////////////////////////// FUNCTIONS /////////////////////////////////////////\n var refreshLayout = lodash__WEBPACK_IMPORTED_MODULE_3___default().debounce(function () {\n /**\n * Refresh Layout if needed\n */\n var _this2$props = _this2.props,\n autoRefreshLayout = _this2$props.autoRefreshLayout,\n layout = _this2$props.layout;\n if (autoRefreshLayout) {\n cy.layout(layout).run();\n }\n }, SELECT_THRESHOLD);\n var sendSelectedNodesData = lodash__WEBPACK_IMPORTED_MODULE_3___default().debounce(function () {\n /**\n This function is repetitively called every time a node is selected\n or unselected, but keeps being debounced if it is called again\n within 100 ms (given by SELECT_THRESHOLD). Effectively, it only\n runs when all the nodes have been correctly selected/unselected and\n added/removed from the selectedNodes collection, and then updates\n the selectedNodeData prop.\n */\n var nodeData = selectedNodes.map(function (el) {\n return el.data();\n });\n _this2.props.setProps({\n selectedNodeData: nodeData\n });\n }, SELECT_THRESHOLD);\n var sendSelectedEdgesData = lodash__WEBPACK_IMPORTED_MODULE_3___default().debounce(function () {\n var edgeData = selectedEdges.map(function (el) {\n return el.data();\n });\n _this2.props.setProps({\n selectedEdgeData: edgeData\n });\n }, SELECT_THRESHOLD);\n var setExtent = lodash__WEBPACK_IMPORTED_MODULE_3___default().debounce(function (cyExtent) {\n _this2.props.setProps({\n extent: cyExtent\n });\n }, EXTENT_THRESHOLD);\n\n // Store the original maxZoom and minZoom functions\n var originalMaxZoomFn = cy.maxZoom;\n var originalMinZoomFn = cy.minZoom;\n\n // Override the maxZoom function to trigger maxZoomChange custom event\n cy.maxZoom = function (e) {\n var currentMaxZoom = originalMaxZoomFn.call(cy, e);\n\n // Trigger your custom event if the current max zoom level is different from the \n // previously stored max zoom level\n if (currentMaxZoom !== cy._previousMaxZoom) {\n cy._previousMaxZoom = currentMaxZoom;\n cy.trigger('minMaxZoomChange');\n }\n return currentMaxZoom;\n };\n\n // Override the minZoom function to trigger minZoomChange custom event\n cy.minZoom = function (e) {\n var currentMinZoom = originalMinZoomFn.call(cy, e);\n\n // Trigger your custom event if the current min zoom level is different from the \n // previously stored min zoom level\n if (currentMinZoom !== cy._previousMinZoom) {\n cy._previousMinZoom = currentMinZoom;\n cy.trigger('minMaxZoomChange');\n }\n return currentMinZoom;\n };\n\n // /////////////////////////////////////// EVENTS //////////////////////////////////////////\n\n cy.on('tap', 'node', function (event) {\n var nodeObject = _this2.generateNode(event);\n _this2.props.setProps({\n tapNode: nodeObject,\n tapNodeData: Object.assign({}, nodeObject.data, {\n timeStamp: nodeObject.timeStamp\n })\n });\n });\n cy.on('tap', 'edge', function (event) {\n var edgeObject = _this2.generateEdge(event);\n _this2.props.setProps({\n tapEdge: edgeObject,\n tapEdgeData: Object.assign({}, edgeObject.data, {\n timeStamp: edgeObject.timeStamp\n })\n });\n });\n cy.on('mouseover', 'node', function (event) {\n _this2.props.setProps({\n mouseoverNodeData: Object.assign({}, event.target.data(), {\n timeStamp: event.timeStamp\n })\n });\n });\n cy.on('mouseover', 'edge', function (event) {\n _this2.props.setProps({\n mouseoverEdgeData: Object.assign({}, event.target.data(), {\n timeStamp: event.timeStamp\n })\n });\n });\n cy.on('mouseout', 'node', function (_) {\n if (_this2.props.clearOnUnhover === true) {\n _this2.props.setProps({\n mouseoverNodeData: null\n });\n }\n });\n cy.on('mouseout', 'edge', function (_) {\n if (_this2.props.clearOnUnhover === true) {\n _this2.props.setProps({\n mouseoverEdgeData: null\n });\n }\n });\n cy.on('select', 'node', function (event) {\n var ele = event.target;\n selectedNodes.merge(ele);\n sendSelectedNodesData();\n });\n cy.on('unselect remove', 'node', function (event) {\n var ele = event.target;\n selectedNodes.unmerge(ele);\n sendSelectedNodesData();\n });\n cy.on('select', 'edge', function (event) {\n var ele = event.target;\n selectedEdges.merge(ele);\n sendSelectedEdgesData();\n });\n cy.on('unselect remove', 'edge', function (event) {\n var ele = event.target;\n selectedEdges.unmerge(ele);\n sendSelectedEdgesData();\n });\n cy.on('add remove', function () {\n refreshLayout();\n });\n cy.on('dragfree add remove', function (_) {\n _this2.props.setProps({\n elements: cy.elements('').map(function (item) {\n if (item.json().group === 'nodes') {\n return {\n data: item.json().data,\n position: item.json().position\n };\n }\n return {\n data: item.json().data,\n position: void 0\n };\n })\n });\n });\n cy.on('viewport resize', function () {\n setExtent(cy.extent());\n });\n\n // Refresh layout if current zoom is out of boundaries\n cy.on('minMaxZoomChange', function () {\n var zoom = cy.zoom();\n if (zoom > cy.maxZoom() || zoom < cy.minZoom()) {\n cy.fit();\n }\n });\n this.createMenuItems = function (ctxMenu) {\n var updateContextMenuData = function updateContextMenuData(newContext) {\n _this2.props.setProps({\n contextMenuData: newContext\n });\n };\n var contextMenuDefaultFunctions = {\n remove: function remove(event) {\n var target = event.target || event.cyTarget;\n target.remove();\n },\n add_node: function add_node(event) {\n var pos = event.position || event.cyPosition;\n cy.add({\n data: {\n group: 'nodes'\n },\n position: {\n x: pos.x,\n y: pos.y\n }\n });\n },\n add_edge: function add_edge() {\n var selectedNodeIds = selectedNodes.map(function (node) {\n return node.id();\n });\n if (selectedNodes.length === 0) {\n console.error('Error: No nodes selected, cannot add edge');\n } else if (selectedNodes.length === 1) {\n cy.add({\n data: {\n id: (0,uuid__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(),\n group: 'edges',\n source: selectedNodeIds[0],\n target: selectedNodeIds[0]\n }\n });\n } else if (selectedNodes.length === 2) {\n cy.add({\n data: {\n id: (0,uuid__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(),\n group: 'edges',\n source: selectedNodeIds[0],\n target: selectedNodeIds[1]\n }\n });\n } else {\n console.error('Error: more than 2 nodes selected, cannot add edge');\n }\n }\n };\n var newMenuItems = [];\n var _iterator = _createForOfIteratorHelper(ctxMenu),\n _step;\n try {\n var _loop = function _loop() {\n var item = _step.value;\n var onClickFunction;\n // return data so a user can define a custom on click function in Python\n // if onClick or on onClickCustom are not specified\n onClickFunction = function onClickFunction(event) {\n updateContextMenuData({\n menuItemId: item.id,\n x: event.position.x,\n y: event.position.y,\n timeStamp: event.timeStamp,\n elementId: event.target.data().id,\n edgeSource: event.target.data().source,\n edgeTarget: event.target.data().target\n });\n };\n // use default javascript function as onClickFunction\n if (Object.prototype.hasOwnProperty.call(item, 'onClick')) {\n if (Object.prototype.hasOwnProperty.call(contextMenuDefaultFunctions, item.onClick)) {\n onClickFunction = contextMenuDefaultFunctions[item.onClick];\n } else {\n console.error(\"onClick function \".concat(item.onClick, \" is not defined\"));\n }\n }\n // use user-defined Javascript function in a namespace under assets/ as onClickFunction\n else if (Object.prototype.hasOwnProperty.call(item, 'onClickCustom')) {\n if (Object.prototype.hasOwnProperty.call(window, 'dashCytoscapeFunctions') && Object.prototype.hasOwnProperty.call(window.dashCytoscapeFunctions, item.onClickCustom)) {\n onClickFunction = window.dashCytoscapeFunctions[item.onClickCustom];\n } else {\n console.error(\"onClickCustom function \".concat(item.onClickCustom, \" is not defined\"));\n }\n }\n var new_item = {\n id: item.id,\n content: item.label,\n tooltipText: item.tooltipText,\n selector: '',\n onClickFunction: onClickFunction,\n coreAsWell: false\n };\n if (Object.prototype.hasOwnProperty.call(item, 'availableOn')) {\n var _iterator2 = _createForOfIteratorHelper(item.availableOn),\n _step2;\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var selector = _step2.value;\n if (selector === 'edge') {\n if (new_item.selector.length > 0) {\n new_item.selector = new_item.selector + ', ';\n }\n new_item.selector = new_item.selector + 'edge';\n } else if (selector === 'node') {\n if (new_item.selector.length > 0) {\n new_item.selector = new_item.selector + ', ';\n }\n new_item.selector = new_item.selector + 'node';\n } else if (selector === 'canvas') {\n new_item.coreAsWell = true;\n } else {\n console.error(\"Error: selector \".concat(selector, \" is not available. Choose one of 'node', 'edge' or 'canvas'.\"));\n }\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n }\n newMenuItems.push(new_item);\n };\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n _loop();\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n return newMenuItems;\n };\n this.cyResponsiveClass = new _cyResponsive_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"](cy);\n this.cyResponsiveClass.toggle(this.props.responsive);\n setExtent(cy.extent());\n }\n }, {\n key: \"handleImageGeneration\",\n value: function handleImageGeneration(imageType, imageOptions, actionsToPerform, fileName) {\n var _this3 = this;\n var options = {};\n if (imageOptions) {\n options = imageOptions;\n }\n var desiredOutput = options.output;\n options.output = 'blob';\n var downloadImage;\n var storeImage;\n switch (actionsToPerform) {\n case 'store':\n downloadImage = false;\n storeImage = true;\n break;\n case 'download':\n downloadImage = true;\n storeImage = false;\n break;\n case 'both':\n downloadImage = true;\n storeImage = true;\n break;\n default:\n downloadImage = false;\n storeImage = true;\n break;\n }\n var output;\n if (imageType === 'png') {\n output = this._cy.png(options);\n }\n if (imageType === 'jpg' || imageType === 'jpeg') {\n output = this._cy.jpg(options);\n }\n // only works when svg is imported (see lib/extra_index.js)\n if (imageType === 'svg') {\n output = this._cy.svg(options);\n }\n\n /*\n * If output is empty because of bad options or a cytoscape error,\n * skip any download or storage steps.\n */\n if (output && downloadImage) {\n /*\n * Downloading is initiated client-side because the image is generated at\n * the client. This avoids transferring a potentially large image\n * to the server and back again through a callback.\n */\n var fName = fileName;\n if (!fileName) {\n fName = 'cyto';\n }\n if (imageType !== 'svg') {\n this.downloadBlob(output, fName + '.' + imageType);\n } else {\n var blob = new Blob([output], {\n type: 'image/svg+xml;charset=utf-8'\n });\n this.downloadBlob(blob, fName + '.' + imageType);\n }\n }\n if (output && storeImage) {\n // Default output type if unspecified\n if (!desiredOutput) {\n desiredOutput = 'base64uri';\n }\n if (!(desiredOutput === 'base64uri' || desiredOutput === 'base64')) {\n return;\n }\n\n /*\n * Convert blob to base64uri or base64 string to store the image data.\n * Thank you, base64guru https://base64.guru/developers/javascript/examples/encode-blob\n */\n var reader = new FileReader();\n reader.onload = function () {\n /* FileReader is asynchronous, so the read function is non-blocking.\n * If this code block is placed after the read command, it\n * may result in empty output because the blob has not been loaded yet.\n */\n var callbackData = reader.result;\n if (desiredOutput === 'base64') {\n callbackData = callbackData.replace(/^data:.+;base64,/, '');\n }\n _this3.props.setProps({\n imageData: callbackData\n });\n };\n reader.readAsDataURL(output);\n }\n }\n }, {\n key: \"downloadBlob\",\n value: function downloadBlob(blob, fileName) {\n /*\n * Download blob as file by dynamically creating link.\n * Chrome does not open data URLs when JS opens a new tab directed\n * at the data URL, so this is an alternate implementation\n * that doesn't require extra packages. It may not behave in\n * exactly the same way across browsers (might display image in new tab\n * intead of downloading as a file).\n * Thank you, koldev https://jsfiddle.net/koldev/cW7W5/\n */\n var downloadLink = document.createElement('a');\n downloadLink.style = 'display: none';\n document.body.appendChild(downloadLink);\n var url = window.URL.createObjectURL(blob);\n downloadLink.href = url;\n downloadLink.download = fileName;\n downloadLink.click();\n window.URL.revokeObjectURL(url);\n document.body.removeChild(downloadLink);\n }\n }, {\n key: \"updateContextMenu\",\n value: function updateContextMenu(contextMenu) {\n this._cy.contextMenus({\n menuItems: this.createMenuItems(contextMenu),\n menuItemClasses: ['custom-menu-item']\n });\n }\n\n // Returns true if there is no overlap between the element bounding box\n // and the rendered area of the graph, meaning the graph is entirely outside the viewport;\n // returns false otherwise\n }, {\n key: \"graphOutOfView\",\n value: function graphOutOfView() {\n var cyWidth = this._cy.width();\n var cyHeight = this._cy.height();\n var elBox = this._cy.elements().renderedBoundingbox();\n return elBox.x1 > cyWidth || elBox.y1 > cyHeight || elBox.x2 < 0 || elBox.y2 < 0;\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n var _this$props = this.props,\n contextMenu = _this$props.contextMenu,\n elements = _this$props.elements;\n if (!lodash__WEBPACK_IMPORTED_MODULE_3___default().isEqual(prevProps.contextMenu, contextMenu) && this._cy) {\n this.updateContextMenu(contextMenu);\n }\n if (!lodash__WEBPACK_IMPORTED_MODULE_3___default().isEqual(prevProps.elements, elements) && this._cy) {\n // If elements were updated, and the new graph is *entirely* outside the viewport,\n // fit the viewport to the new elements\n if (this.graphOutOfView()) {\n this._cy.fit();\n }\n }\n }\n }, {\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var contextMenu = this.props.contextMenu;\n if (this._cy && contextMenu.length > 0) {\n this.updateContextMenu(contextMenu);\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props2 = this.props,\n id = _this$props2.id,\n style = _this$props2.style,\n className = _this$props2.className,\n elements = _this$props2.elements,\n stylesheet = _this$props2.stylesheet,\n layout = _this$props2.layout,\n contextMenu = _this$props2.contextMenu,\n contextMenuData = _this$props2.contextMenuData,\n pan = _this$props2.pan,\n zoom = _this$props2.zoom,\n panningEnabled = _this$props2.panningEnabled,\n userPanningEnabled = _this$props2.userPanningEnabled,\n minZoom = _this$props2.minZoom,\n maxZoom = _this$props2.maxZoom,\n zoomingEnabled = _this$props2.zoomingEnabled,\n userZoomingEnabled = _this$props2.userZoomingEnabled,\n wheelSensitivity = _this$props2.wheelSensitivity,\n boxSelectionEnabled = _this$props2.boxSelectionEnabled,\n autoungrabify = _this$props2.autoungrabify,\n autolock = _this$props2.autolock,\n autounselectify = _this$props2.autounselectify,\n generateImage = _this$props2.generateImage,\n responsive = _this$props2.responsive;\n if (Object.keys(generateImage).length > 0) {\n // If no cytoscape object has been created yet, an image cannot be generated,\n // so generateImage will be ignored and cleared.\n this.props.setProps({\n generateImage: {}\n });\n if (this._cy) {\n this.handleImageGeneration(generateImage.type, generateImage.options, generateImage.action, generateImage.filename);\n }\n }\n if (this.cyResponsiveClass) {\n this.cyResponsiveClass.toggle(responsive);\n }\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(react_cytoscapejs__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n id: id,\n cy: this.handleCy,\n className: className,\n style: style,\n elements: react_cytoscapejs__WEBPACK_IMPORTED_MODULE_2__[\"default\"].normalizeElements(elements),\n stylesheet: stylesheet,\n layout: layout,\n contextMenu: contextMenu,\n contextMenuData: contextMenuData,\n pan: pan,\n zoom: zoom,\n panningEnabled: panningEnabled,\n userPanningEnabled: userPanningEnabled,\n minZoom: minZoom,\n maxZoom: maxZoom,\n zoomingEnabled: zoomingEnabled,\n userZoomingEnabled: userZoomingEnabled,\n wheelSensitivity: wheelSensitivity,\n boxSelectionEnabled: boxSelectionEnabled,\n autoungrabify: autoungrabify,\n autolock: autolock,\n autounselectify: autounselectify\n });\n }\n }]);\n return Cytoscape;\n}(react__WEBPACK_IMPORTED_MODULE_1__.Component);\nCytoscape.propTypes = {\n // HTML attribute props\n\n /**\n * The ID used to identify this component in Dash callbacks.\n */\n id: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /**\n * Sets the class name of the element (the value of an element's html\n * class attribute).\n */\n className: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /**\n * Add inline styles to the root element.\n */\n style: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n // Dash specific props\n\n /**\n * Dash-assigned callback that should be called whenever any of the\n * properties change.\n */\n setProps: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().func),\n // Common props\n\n /**\n * A list of dictionaries representing the elements of the networks. Each dictionary describes an element, and\n * specifies its purpose. The [official Cytoscape.js documentation](https://js.cytoscape.org/#notation/elements-json)\n * offers an extensive overview and examples of element declaration.\n * Alternatively, a dictionary with the format { 'nodes': [], 'edges': [] } is allowed at initialization,\n * but arrays remain the recommended format.\n */\n elements: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_8___default().arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_8___default().shape({\n /**\n * Either 'nodes' or 'edges'. If not given, it's automatically inferred.\n */\n group: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** Element specific data.*/\n data: prop_types__WEBPACK_IMPORTED_MODULE_8___default().shape({\n /** Reference to the element, useful for selectors and edges. Randomly assigned if not given.*/\n id: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /**\n * Optional name for the element, useful when `data(label)` is given to a style's `content`\n * or `label`. It is only a convention. */\n label: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** Only for nodes. Optional reference to another node. Needed to create compound nodes. */\n parent: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** Only for edges. The id of the source node, which is where the edge starts. */\n source: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** Only for edges. The id of the target node, where the edge ends. */\n target: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string)\n }),\n /** Only for nodes. The position of the node. */\n position: prop_types__WEBPACK_IMPORTED_MODULE_8___default().shape({\n /** The x-coordinate of the node. */\n x: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /** The y-coordinate of the node. */\n y: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number)\n }),\n /** If the element is selected upon initialisation. */\n selected: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** If the element can be selected. */\n selectable: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Only for nodes. If the position is immutable. */\n locked: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Only for nodes. If the node can be grabbed and moved by the user. */\n grabbable: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * Space separated string of class names of the element. Those classes can be selected\n * by a style selector.\n */\n classes: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string)\n })), prop_types__WEBPACK_IMPORTED_MODULE_8___default().exact({\n nodes: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array),\n edges: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array)\n })]),\n /**\n * A list of dictionaries representing the styles of the elements.\n * Each dictionary requires the following keys: `selector` and `style`.\n *\n * Both the [selector](https://js.cytoscape.org/#selectors) and\n * the [style](https://js.cytoscape.org/#style/node-body) are\n * exhaustively documented in the Cytoscape.js docs. Although methods such\n * as `cy.elements(...)` and `cy.filter(...)` are not available, the selector\n * string syntax stays the same.\n */\n stylesheet: prop_types__WEBPACK_IMPORTED_MODULE_8___default().arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_8___default().exact({\n /**\n * Which elements you are styling. Generally, you select a group of elements (node, edges, both),\n * a class (that you declare in the element dictionary), or an element by ID.\n */\n selector: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string).isRequired,\n /**\n * What aspects of the elements you want to modify. This could be the size or\n * color of a node, the shape of an edge arrow, or many more.\n */\n style: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object).isRequired\n })),\n /**\n * A dictionary specifying how to set the position of the elements in your\n * graph. The `'name'` key is required, and indicates which layout (algorithm) to\n * use. The keys accepted by `layout` vary depending on the algorithm, but these\n * keys are accepted by all layouts: `fit`, `padding`, `animate`, `animationDuration`,\n * `boundingBox`.\n *\n * The complete list of layouts and their accepted options are available on the\n * [Cytoscape.js docs](https://js.cytoscape.org/#layouts) . For the external layouts,\n * the options are listed in the \"API\" section of the README.\n * Note that certain keys are not supported in Dash since the value is a JavaScript\n * function or a callback. Please visit this\n * [issue](https://github.com/plotly/dash-cytoscape/issues/25) for more information.\n */\n layout: prop_types__WEBPACK_IMPORTED_MODULE_8___default().shape({\n /**\n * The layouts available by default are:\n * `random`: Randomly assigns positions.\n * `preset`: Assigns position based on the `position` key in element dictionaries.\n * `circle`: Single-level circle, with optional radius.\n * `concentric`: Multi-level circle, with optional radius.\n * `grid`: Square grid, optionally with numbers of `rows` and `cols`.\n * `breadthfirst`: Tree structure built using BFS, with optional `roots`.\n * `cose`: Force-directed physics simulation.\n *\n * Some external layouts are also included. To use them, run\n * `dash_cytoscape.load_extra_layouts()` before creating your Dash app. Be careful about\n * using the extra layouts when not necessary, since they require supplementary bandwidth\n * for loading, which impacts the startup time of the app.\n * The external layouts are:\n * [cose-bilkent](https://github.com/cytoscape/cytoscape.js-cose-bilkent),\n * [fcose](https://github.com/iVis-at-Bilkent/cytoscape.js-fcose),\n * [cola](https://github.com/cytoscape/cytoscape.js-cola),\n * [euler](https://github.com/cytoscape/cytoscape.js-dagre),\n * [spread](https://github.com/cytoscape/cytoscape.js-spread),\n * [dagre](https://github.com/cytoscape/cytoscape.js-dagre),\n * [klay](https://github.com/cytoscape/cytoscape.js-klay),\n */\n name: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOf(['random', 'preset', 'circle', 'concentric', 'grid', 'breadthfirst', 'cose', 'cose-bilkent', 'fcose', 'cola', 'euler', 'spread', 'dagre', 'klay']).isRequired,\n /** Whether to render the nodes in order to fit the canvas. */\n fit: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Padding around the sides of the canvas, if fit is enabled. */\n padding: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /** Whether to animate change in position when the layout changes. */\n animate: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Duration of animation in milliseconds, if enabled. */\n animationDuration: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /**\n * How to constrain the layout in a specific area. Keys accepted are either\n * `x1, y1, x2, y2` or `x1, y1, w, h`, all of which receive a pixel value.\n */\n boundingBox: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object)\n }),\n /**\n * Define a custom context menu. The behaviour of each menu item can be defined in 1 of 3 ways.\n * 1. By passing a string to onClick that refers to one of the built-in Javascript functions.\n * 2. By passing a string to onClickCustom that refers to one of the user-defined functions in a namespace.\n * 3. By omitting both of these properties; this will update the contextMenuData property and trigger a Dash callback.\n */\n contextMenu: prop_types__WEBPACK_IMPORTED_MODULE_8___default().arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_8___default().exact({\n /** ID of the menu item in the context menu */\n id: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string).isRequired,\n /** The label on the context menu item*/\n label: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string).isRequired,\n /** The tooltip text when hovering on top of a context menu item */\n tooltipText: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** A list containing either 'node', 'edge',and/or 'canvas'. This will determine where the context\n * menu item will show up.\n */\n availableOn: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array),\n /** Specify which built-in JavaScript function to use as behaviour for the context\n * menu item. One of 'remove', 'add_node', or 'add_edge'\n */\n onClick: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** Specify which user-defined Javascript function to use in the dashCytoscapeFunctions\n * namespace as behaviour for the context menu item\n */\n onClickCustom: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string)\n })),\n /**\n * Retrieve relevant data when a context menu item is clicked. Read-only.\n */\n contextMenuData: prop_types__WEBPACK_IMPORTED_MODULE_8___default().exact({\n /** ID of the menu item in the context menu */\n menuItemId: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** x-position of the context click */\n x: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /** y-position of the context click */\n y: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /** Timestamp of context click*/\n timeStamp: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /** Element ID on context click if the context click was on an element.\n * If context click was on white space, this property is not returned\n */\n elementId: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** Node ID of the edge source if the clicked element is an edge,\n * or else this property is not returned*/\n edgeSource: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** Node ID of the edge target if the clicked element is an edge,\n * or else this property is not returned*/\n edgeTarget: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string)\n }),\n // Viewport Manipulation\n\n /**\n * Dictionary indicating the initial panning position of the graph. The\n * following keys are accepted:\n */\n pan: prop_types__WEBPACK_IMPORTED_MODULE_8___default().exact({\n /** The x-coordinate of the node */\n x: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /** The y-coordinate of the node */\n y: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number)\n }),\n /**\n * The initial zoom level of the graph. You can set `minZoom` and\n * `maxZoom` to set restrictions on the zoom level.\n */\n zoom: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n // Viewport Mutability and gesture Toggling\n /**\n * Whether panning the graph is enabled (i.e., the position of the graph is\n * mutable overall).\n */\n panningEnabled: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * Whether user events (e.g. dragging the graph background) are allowed to\n * pan the graph.\n */\n userPanningEnabled: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * A minimum bound on the zoom level of the graph. The viewport can not be\n * scaled smaller than this zoom level.\n */\n minZoom: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /**\n * A maximum bound on the zoom level of the graph. The viewport can not be\n * scaled larger than this zoom level.\n */\n maxZoom: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /**\n * Whether zooming the graph is enabled (i.e., the zoom level of the graph\n * is mutable overall).\n */\n zoomingEnabled: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * Whether user events (e.g. dragging the graph background) are allowed\n * to pan the graph.\n */\n userZoomingEnabled: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * Changes the scroll wheel sensitivity when zooming.\n */\n wheelSensitivity: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /**\n * Whether box selection (i.e. drag a box overlay around, and release it\n * to select) is enabled. If enabled, the user must taphold to pan the graph.\n */\n boxSelectionEnabled: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * Whether nodes should be ungrabified (not grabbable by user) by\n * default (if true, overrides individual node state).\n */\n autoungrabify: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * Whether nodes should be locked (not draggable at all) by default\n * (if true, overrides individual node state).\n */\n autolock: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * Whether nodes should be unselectified (immutable selection state) by\n * default (if true, overrides individual element state).\n */\n autounselectify: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * Whether the layout should be refreshed when elements are added or removed.\n */\n autoRefreshLayout: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n // User Events Props\n\n /**\n * The complete node dictionary returned when you tap or click it. Read-only.\n */\n tapNode: prop_types__WEBPACK_IMPORTED_MODULE_8___default().exact({\n /** node specific item */\n edgesData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array),\n /** node specific item */\n renderedPosition: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** node specific item */\n timeStamp: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /** General item (for all elements) */\n classes: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** General item (for all elements) */\n data: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** General item (for all elements) */\n grabbable: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** General item (for all elements) */\n group: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** General item (for all elements) */\n locked: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** General item (for all elements) */\n position: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** General item (for all elements) */\n selectable: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** General item (for all elements) */\n selected: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** General item (for all elements) */\n style: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** Item for compound nodes */\n ancestorsData: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_8___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array)]),\n /** Item for compound nodes */\n childrenData: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_8___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array)]),\n /** Item for compound nodes */\n descendantsData: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_8___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array)]),\n /** Item for compound nodes */\n parentData: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_8___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array)]),\n /** Item for compound nodes */\n siblingsData: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_8___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array)]),\n /** Item for compound nodes */\n isParent: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Item for compound nodes */\n isChildless: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Item for compound nodes */\n isChild: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Item for compound nodes */\n isOrphan: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Item for compound nodes */\n relativePosition: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object)\n }),\n /**\n * The data dictionary of a node returned when you tap or click it. Read-only.\n */\n tapNodeData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /**\n * The complete edge dictionary returned when you tap or click it. Read-only.\n */\n tapEdge: prop_types__WEBPACK_IMPORTED_MODULE_8___default().exact({\n /** Edge-specific item */\n isLoop: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Edge-specific item */\n isSimple: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Edge-specific item */\n midpoint: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** Edge-specific item */\n sourceData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** Edge-specific item */\n sourceEndpoint: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** Edge-specific item */\n targetData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** Edge-specific item */\n targetEndpoint: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** Edge-specific item */\n timeStamp: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /** General item (for all elements) */\n classes: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** General item (for all elements) */\n data: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** General item (for all elements) */\n grabbable: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** General item (for all elements) */\n group: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** General item (for all elements) */\n locked: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** General item (for all elements) */\n selectable: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** General item (for all elements) */\n selected: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** General item (for all elements) */\n style: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object)\n }),\n /**\n * The data dictionary of an edge returned when you tap or click it. Read-only.\n */\n tapEdgeData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /**\n * The data dictionary of a node returned when you hover over it. Read-only.\n */\n mouseoverNodeData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /**\n * The data dictionary of an edge returned when you hover over it. Read-only.\n */\n mouseoverEdgeData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /**\n * The list of data dictionaries of all selected nodes (e.g. using\n * Shift+Click to select multiple nodes, or Shift+Drag to use box selection). Read-only.\n */\n selectedNodeData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array),\n /**\n * The list of data dictionaries of all selected edges (e.g. using\n * Shift+Click to select multiple nodes, or Shift+Drag to use box selection). Read-only.\n */\n selectedEdgeData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array),\n /**\n * Dictionary specifying options to generate an image of the current cytoscape graph.\n * Value is cleared after data is received and image is generated. This property will\n * be ignored on the initial creation of the cytoscape object and must be invoked through\n * a callback after it has been rendered.\n *\n * If the app does not need the image data server side and/or it will only be used to download\n * the image, it may be prudent to invoke `'download'` for `action` instead of\n * `'store'` to improve performance by preventing transfer of data to the server.\n */\n generateImage: prop_types__WEBPACK_IMPORTED_MODULE_8___default().shape({\n /** File type to output */\n type: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOf(['svg', 'png', 'jpg', 'jpeg']),\n /** Dictionary of options to cy.png() / cy.jpg() or cy.svg() for image generation.\n * See https://js.cytoscape.org/#core/export for details. For `'output'`, only 'base64'\n * and 'base64uri' are supported. Default: `{'output': 'base64uri'}`.*/\n options: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /**\n * `'store'`: Stores the image data (only jpg and png are supported)\n * in `imageData` and invokes server-side Dash callbacks. `'download'`: Downloads the image\n * as a file with all data handling done client-side. No `imageData` callbacks are fired.\n * `'both'`: Stores image data and downloads image as file. The default is `'store'`\n */\n action: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOf(['store', 'download', 'both']),\n /** Name for the file to be downloaded. Default: 'cyto'.*/\n filename: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string)\n }),\n /**\n * String representation of the image requested with generateImage. Null if no\n * image was requested yet or the previous request failed. Read-only.\n */\n imageData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /**\n * Toggles intelligent responsive resize of Cytoscape graph with viewport size change\n */\n responsive: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * Extent of the viewport, a bounding box in model co-ordinates that lets you know what model\n * positions are visible in the viewport. This function returns a plain object bounding box\n * with format { x1, y1, x2, y2, w, h }.\n */\n extent: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /**\n * If set to True, mouseoverNodeData and mouseoverEdgeData will be cleared on unhover.\n * If set to False, the value of mouseoverNodeData and mouseoverEdgeData will be the last\n * Node or Edge hovered over\n */\n clearOnUnhover: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool)\n};\nCytoscape.defaultProps = {\n style: {\n width: '600px',\n height: '600px'\n },\n layout: {\n name: 'grid'\n },\n pan: {\n x: 0,\n y: 0\n },\n zoom: 1,\n minZoom: 1e-50,\n maxZoom: 1e50,\n zoomingEnabled: true,\n userZoomingEnabled: true,\n panningEnabled: true,\n userPanningEnabled: true,\n wheelSensitivity: 1,\n boxSelectionEnabled: false,\n autolock: false,\n autoungrabify: false,\n autounselectify: false,\n autoRefreshLayout: true,\n generateImage: {},\n imageData: null,\n responsive: false,\n clearOnUnhover: false,\n elements: [],\n contextMenu: []\n};\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Cytoscape);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvbGliL2NvbXBvbmVudHMvQ3l0b3NjYXBlLnJlYWN0LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNxQztBQUNFO0FBQ0o7QUFDZ0I7QUFDNUI7QUFDVztBQUNZOztBQUU5QztBQUNnQztBQUVoQyxJQUFNUSxTQUFTLEdBQUdDLG1CQUFPLENBQUMsaUVBQVcsQ0FBQztBQUN0QyxJQUFNQyxZQUFZLEdBQUdELG1CQUFPLENBQUMsa0dBQXlCLENBQUM7O0FBRXZEO0FBQ29DOztBQUVwQztBQUNBQyxZQUFZLENBQUNGLFNBQVMsQ0FBQztBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUhBLElBSU1HLFNBQVMsMEJBQUFDLFVBQUE7RUFBQUMsU0FBQSxDQUFBRixTQUFBLEVBQUFDLFVBQUE7RUFDWCxTQUFBRCxVQUFZRyxLQUFLLEVBQUU7SUFBQSxJQUFBQyxLQUFBO0lBQUFDLGVBQUEsT0FBQUwsU0FBQTtJQUNmSSxLQUFBLEdBQUFFLFVBQUEsT0FBQU4sU0FBQSxHQUFNRyxLQUFLO0lBRVhDLEtBQUEsQ0FBS0csUUFBUSxHQUFHSCxLQUFBLENBQUtHLFFBQVEsQ0FBQ0MsSUFBSSxDQUFBQyxzQkFBQSxDQUFBTCxLQUFBLENBQUssQ0FBQztJQUN4Q0EsS0FBQSxDQUFLTSxlQUFlLEdBQUcsS0FBSztJQUM1Qk4sS0FBQSxDQUFLTyxxQkFBcUIsR0FBR1AsS0FBQSxDQUFLTyxxQkFBcUIsQ0FBQ0gsSUFBSSxDQUFBQyxzQkFBQSxDQUFBTCxLQUFBLENBQUssQ0FBQztJQUNsRUEsS0FBQSxDQUFLUSxpQkFBaUIsR0FBRyxLQUFLO0lBQUMsT0FBQVIsS0FBQTtFQUNuQztFQUFDUyxZQUFBLENBQUFiLFNBQUE7SUFBQWMsR0FBQTtJQUFBQyxLQUFBLEVBRUQsU0FBQUMsYUFBYUMsS0FBSyxFQUFFO01BQ2hCLElBQU1DLEdBQUcsR0FBR0QsS0FBSyxDQUFDRSxNQUFNO01BRXhCLElBQU1D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S0FBSztFQUNmRCxhQUFhLEVBQUUsS0FBSztFQUNwQkUsZUFBZSxFQUFFLEtBQUs7RUFDdEJ2SyxpQkFBaUIsRUFBRSxJQUFJO0VBQ3ZCd0ssYUFBYSxFQUFFLENBQUMsQ0FBQztFQUNqQmpELFNBQVMsRUFBRSxJQUFJO0VBQ2Z6QixVQUFVLEVBQUUsS0FBSztFQUNqQjVELGNBQWMsRUFBRSxLQUFLO0VBQ3JCRyxRQUFRLEVBQUUsRUFBRTtFQUNaa0csV0FBVyxFQUFFO0FBQ2pCLENBQUM7QUFFRCxpRUFBZWxOLFNBQVMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX2N5dG9zY2FwZS8uL3NyYy9saWIvY29tcG9uZW50cy9DeXRvc2NhcGUucmVhY3QuanM/NjQyYyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEphdmFTY3JpcHQgUmVxdWlyZW1lbnRzOiBjeXRvc2NhcGUsIGN5dG9zY2FwZS1zdmdcbiAqIFJlYWN0LmpzIHJlcXVpcmVtZW50czogcmVhY3QtY3l0b3NjYXBlanNcbiAqL1xuaW1wb3J0ICcvc3JjL2Fzc2V0cy9jb250ZXh0bWVudS5jc3MnO1xuaW1wb3J0IFJlYWN0LCB7Q29tcG9uZW50fSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IEN5dG9zY2FwZUNvbXBvbmVudCBmcm9tICdyZWFjdC1jeXRvc2NhcGVqcyc7XG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHt2NCBhcyB1dWlkdjR9IGZyb20gJ3V1aWQnO1xuaW1wb3J0IEN5UmVzcG9uc2l2ZSBmcm9tICcuLi9jeVJlc3BvbnNpdmUuanMnO1xuXG4vLyBQb2x5ZmlsbCBzbyB0aGF0IGNvbnRleHQgbWVudSBleHRlbnNpb24gd29ya3MgaW4gU2FmYXJpXG5pbXBvcnQgJ0B1bmdhcC9jdXN0b20tZWxlbWVudHMnO1xuXG5jb25zdCBjeXRvc2NhcGUgPSByZXF1aXJlKCdjeXRvc2NhcGUnKTtcbmNvbnN0IGNvbnRleHRNZW51cyA9IHJlcXVpcmUoJ2N5dG9zY2FwZS1jb250ZXh0LW1lbnVzJyk7XG5cbi8vIENsaWVudHNpZGUgY2FsbGJhY2sgZnVuY3Rpb25zIGZvciBDeUxlYWZsZXQgQUlPIGNvbXBvbmVudFxuaW1wb3J0ICcuLi9jeWxlYWZsZXRfY2xpZW50c2lkZS5qcyc7XG5cbi8vIHJlZ2lzdGVyIGV4dGVuc2lvblxuY29udGV4dE1lbnVzKGN5dG9zY2FwZSk7XG4vKipcbiAqIEEgQ29tcG9uZW50IExpYnJhcnkgZm9yIERhc2ggYWltZWQgYXQgZmFjaWxpdGF0aW5nIG5ldHdvcmsgdmlzdWFsaXphdGlvbiBpblxuICogUHl0aG9uLCB3cmFwcGVkIGFyb3VuZCBbQ3l0b3NjYXBlLmpzXShodHRwOi8vanMuY3l0b3NjYXBlLm9yZy8pLlxuICovXG5jbGFzcyBDeXRvc2NhcGUgZXh0ZW5kcyBDb21wb25lbnQge1xuICAgIGNvbnN0cnVjdG9yKHByb3BzKSB7XG4gICAgICAgIHN1cGVyKHByb3BzKTtcblxuICAgICAgICB0aGlzLmhhbmRsZUN5ID0gdGhpcy5oYW5kbGVDeS5iaW5kKHRoaXMpO1xuICAgICAgICB0aGlzLl9oYW5kbGVDeUNhbGxlZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLmhhbmRsZUltYWdlR2VuZXJhdGlvbiA9IHRoaXMuaGFuZGxlSW1hZ2VHZW5lcmF0aW9uLmJpbmQodGhpcyk7XG4gICAgICAgIHRoaXMuY3lSZXNwb25zaXZlQ2xhc3MgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBnZW5lcmF0ZU5vZGUoZXZlbnQpIHtcbiAgICAgICAgY29uc3QgZWxlID0gZXZlbnQudGFyZ2V0O1xuXG4gICAgICAgIGNvbnN0IGlzUGFyZW50ID0gZWxlLmlzUGFyZW50KCksXG4gICAgICAgICAgICBpc0NoaWxkbGVzcyA9IGVsZS5pc0NoaWxkbGVzcygpLFxuICAgICAgICAgICAgaXNDaGlsZCA9IGVsZS5pc0NoaWxkKCksXG4gICAgICAgICAgICBpc09ycGhhbiA9IGVsZS5pc09ycGhhbigpLFxuICAgICAgICAgICAgcmVuZGVyZWRQb3NpdGlvbiA9IGVsZS5yZW5kZXJlZFBvc2l0aW9uKCksXG4gICAgICAgICAgICByZWxhdGl2ZVBvc2l0aW9uID0gZWxlLnJlbGF0aXZlUG9zaXRpb24oKSxcbiAgICAgICAgICAgIHBhcmVudCA9IGVsZS5wYXJlbnQoKSxcbiAgICAgICAgICAgIHN0eWxlID0gZWxlLnN0eWxlKCk7XG5cbiAgICAgICAgLy8gVHJpbSBkb3duIHRoZSBlbGVtZW50IG9iamVjdHMgdG8gb25seSB0aGUgZGF0YSBjb250YWluZWRcbiAgICAgICAgY29uc3QgZWRnZXNEYXRhID0gZWxlLmNvbm5lY3RlZEVkZ2VzKCkubWFwKChlbGUpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBlbGUuZGF0YSgpO1xuICAgICAgICB9KTtcbiAgICAgICAgY29uc3QgY2hpbGRyZW5EYXRhID0gZWxlLmNoaWxkcmVuKCkubWFwKChlbGUpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBlbGUuZGF0YSgpO1xuICAgICAgICB9KTtcbiAgICAgICAgY29uc3QgYW5jZXN0b3JzRGF0YSA9IGVsZS5hbmNlc3RvcnMoKS5tYXAoKGVsZSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGVsZS5kYXRhKCk7XG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBkZXNjZW5kYW50c0RhdGEgPSBlbGUuZGVzY2VuZGFudHMoKS5tYXAoKGVsZSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGVsZS5kYXRhKCk7XG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBzaWJsaW5nc0RhdGEgPSBlbGUuc2libGluZ3MoKS5tYXAoKGVsZSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGVsZS5kYXRhKCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IHt0aW1lU3RhbXB9ID0gZXZlbnQ7XG4gICAgICAgIGNvbnN0IHtcbiAgICAgICAgICAgIGNsYXNzZXMsXG4gICAgICAgICAgICBkYXRhLFxuICAgICAgICAgICAgZ3JhYmJhYmxlLFxuICAgICAgICAgICAgZ3JvdXAsXG4gICAgICAgICAgICBsb2NrZWQsXG4gICAgICAgICAgICBwb3NpdGlvbixcbiAgICAgICAgICAgIHNlbGVjdGVkLFxuICAgICAgICAgICAgc2VsZWN0YWJsZSxcbiAgICAgICAgfSA9IGVsZS5qc29uKCk7XG5cbiAgICAgICAgbGV0IHBhcmVudERhdGE7XG4gICAgICAgIGlmIChwYXJlbnQpIHtcbiAgICAgICAgICAgIHBhcmVudERhdGEgPSBwYXJlbnQuZGF0YSgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcGFyZW50RGF0YSA9IG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBub2RlT2JqZWN0ID0ge1xuICAgICAgICAgICAgLy8gTm9kZXMgYXR0cmlidXRlc1xuICAgICAgICAgICAgZWRnZXNEYXRhLFxuICAgICAgICAgICAgcmVuZGVyZWRQb3NpdGlvbixcbiAgICAgICAgICAgIHRpbWVTdGFtcCxcbiAgICAgICAgICAgIC8vIEZyb20gZWxlLmpzb24oKVxuICAgICAgICAgICAgY2xhc3NlcyxcbiAgICAgICAgICAgIGRhdGEsXG4gICAgICAgICAgICBncmFiYmFibGUsXG4gICAgICAgICAgICBncm91cCxcbiAgICAgICAgICAgIGxvY2tlZCxcbiAgICAgICAgICAgIHBvc2l0aW9uLFxuICAgICAgICAgICAgc2VsZWN0YWJsZSxcbiAgICAgICAgICAgIHNlbGVjdGVkLFxuICAgICAgICAgICAgLy8gQ29tcG91bmQgTm9kZXMgYWRkaXRpb25hbCBhdHRyaWJ1dGVzXG4gICAgICAgICAgICBhbmNlc3RvcnNEYXRhLFxuICAgICAgICAgICAgY2hpbGRyZW5EYXRhLFxuICAgICAgICAgICAgZGVzY2VuZGFudHNEYXRhLFxuICAgICAgICAgICAgcGFyZW50RGF0YSxcbiAgICAgICAgICAgIHNpYmxpbmdzRGF0YSxcbiAgICAgICAgICAgIGlzUGFyZW50LFxuICAgICAgICAgICAgaXNDaGlsZGxlc3MsXG4gICAgICAgICAgICBpc0NoaWxkLFxuICAgICAgICAgICAgaXNPcnBoYW4sXG4gICAgICAgICAgICByZWxhdGl2ZVBvc2l0aW9uLFxuICAgICAgICAgICAgLy8gU3R5bGluZ1xuICAgICAgICAgICAgc3R5bGUsXG4gICAgICAgIH07XG4gICAgICAgIHJldHVybiBub2RlT2JqZWN0O1xuICAgIH1cblxuICAgIGdlbmVyYXRlRWRnZShldmVudCkge1xuICAgICAgICBjb25zdCBlbGUgPSBldmVudC50YXJnZXQ7XG5cbiAgICAgICAgY29uc3QgbWlkcG9pbnQgPSBlbGUubWlkcG9pbnQoKSxcbiAgICAgICAgICAgIGlzTG9vcCA9IGVsZS5pc0xvb3AoKSxcbiAgICAgICAgICAgIGlzU2ltcGxlID0gZWxlLmlzU2ltcGxlKCksXG4gICAgICAgICAgICBzb3VyY2VEYXRhID0gZWxlLnNvdXJjZSgpLmRhdGEoKSxcbiAgICAgICAgICAgIHNvdXJjZUVuZHBvaW50ID0gZWxlLnNvdXJjZUVuZHBvaW50KCksXG4gICAgICAgICAgICBzdHlsZSA9IGVsZS5zdHlsZSgpLFxuICAgICAgICAgICAgdGFyZ2V0RGF0YSA9IGVsZS50YXJnZXQoKS5kYXRhKCksXG4gICAgICAgICAgICB0YXJnZXRFbmRwb2ludCA9IGVsZS50YXJnZXRFbmRwb2ludCgpO1xuXG4gICAgICAgIGNvbnN0IHt0aW1lU3RhbXB9ID0gZXZlbnQ7XG4gICAgICAgIGNvbnN0IHtjbGFzc2VzLCBkYXRhLCBncmFiYmFibGUsIGdyb3VwLCBsb2NrZWQsIHNlbGVjdGFibGUsIHNlbGVjdGVkfSA9XG4gICAgICAgICAgICBlbGUuanNvbigpO1xuXG4gICAgICAgIGNvbnN0IGVkZ2VPYmplY3QgPSB7XG4gICAgICAgICAgICAvLyBFZGdlcyBhdHRyaWJ1dGVzXG4gICAgICAgICAgICBpc0xvb3AsXG4gICAgICAgICAgICBpc1NpbXBsZSxcbiAgICAgICAgICAgIG1pZHBvaW50LFxuICAgICAgICAgICAgc291cmNlRGF0YSxcbiAgICAgICAgICAgIHNvdXJjZUVuZHBvaW50LFxuICAgICAgICAgICAgdGFyZ2V0RGF0YSxcbiAgICAgICAgICAgIHRhcmdldEVuZHBvaW50LFxuICAgICAgICAgICAgdGltZVN0YW1wLFxuICAgICAgICAgICAgLy8gRnJvbSBlbGUuanNvbigpXG4gICAgICAgICAgICBjbGFzc2VzLFxuICAgICAgICAgICAgZGF0YSxcbiAgICAgICAgICAgIGdyYWJiYWJsZSxcbiAgICAgICAgICAgIGdyb3VwLFxuICAgICAgICAgICAgbG9ja2VkLFxuICAgICAgICAgICAgc2VsZWN0YWJsZSxcbiAgICAgICAgICAgIHNlbGVjdGVkLFxuICAgICAgICAgICAgLy8gU3R5bGluZ1xuICAgICAgICAgICAgc3R5bGUsXG4gICAgICAgIH07XG5cbiAgICAgICAgcmV0dXJuIGVkZ2VPYmplY3Q7XG4gICAgfVxuXG4gICAgaGFuZGxlQ3koY3kpIHtcbiAgICAgICAgLy8gSWYgdGhlIGN5IHBvaW50ZXIgaGFzIG5vdCBiZWVuIG1vZGlmaWVkLCBhbmQgaGFuZGxlQ3kgaGFzIGFscmVhZHlcbiAgICAgICAgLy8gYmVlbiBjYWxsZWQgYmVmb3JlLCB0aGFuIHdlIGRvbid0IHJ1biB0aGlzIGZ1bmN0aW9uLlxuICAgICAgICBpZiAoY3kgPT09IHRoaXMuX2N5ICYmIHRoaXMuX2hhbmRsZUN5Q2FsbGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fY3kgPSBjeTtcbiAgICAgICAgd2luZG93LmN5ID0gY3k7XG4gICAgICAgIHRoaXMuX2hhbmRsZUN5Q2FsbGVkID0gdHJ1ZTtcblxuICAgICAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vIENPTlNUQU5UUyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgICAgICBjb25zdCBTRUxFQ1RfVEhSRVNIT0xEID0gMTAwO1xuICAgICAgICBjb25zdCBFWFRFTlRfVEhSRVNIT0xEID0gNTtcblxuICAgICAgICBjb25zdCBzZWxlY3RlZE5vZGVzID0gY3kuY29sbGVjdGlvbigpO1xuICAgICAgICBjb25zdCBzZWxlY3RlZEVkZ2VzID0gY3kuY29sbGVjdGlvbigpO1xuXG4gICAgICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gRlVOQ1RJT05TIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgICAgIGNvbnN0IHJlZnJlc2hMYXlvdXQgPSBfLmRlYm91bmNlKCgpID0+IHtcbiAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICogUmVmcmVzaCBMYXlvdXQgaWYgbmVlZGVkXG4gICAgICAgICAgICAgKi9cbiAgICAgICAgICAgIGNvbnN0IHthdXRvUmVmcmVzaExheW91dCwgbGF5b3V0fSA9IHRoaXMucHJvcHM7XG5cbiAgICAgICAgICAgIGlmIChhdXRvUmVmcmVzaExheW91dCkge1xuICAgICAgICAgICAgICAgIGN5LmxheW91dChsYXlvdXQpLnJ1bigpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LCBTRUxFQ1RfVEhSRVNIT0xEKTtcblxuICAgICAgICBjb25zdCBzZW5kU2VsZWN0ZWROb2Rlc0RhdGEgPSBfLmRlYm91bmNlKCgpID0+IHtcbiAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICAgVGhpcyBmdW5jdGlvbiBpcyByZXBldGl0aXZlbHkgY2FsbGVkIGV2ZXJ5IHRpbWUgYSBub2RlIGlzIHNlbGVjdGVkXG4gICAgICAgICAgICAgICBvciB1bnNlbGVjdGVkLCBidXQga2VlcHMgYmVpbmcgZGVib3VuY2VkIGlmIGl0IGlzIGNhbGxlZCBhZ2FpblxuICAgICAgICAgICAgICAgd2l0aGluIDEwMCBtcyAoZ2l2ZW4gYnkgU0VMRUNUX1RIUkVTSE9MRCkuIEVmZmVjdGl2ZWx5LCBpdCBvbmx5XG4gICAgICAgICAgICAgICBydW5zIHdoZW4gYWxsIHRoZSBub2RlcyBoYXZlIGJlZW4gY29ycmVjdGx5IHNlbGVjdGVkL3Vuc2VsZWN0ZWQgYW5kXG4gICAgICAgICAgICAgICBhZGRlZC9yZW1vdmVkIGZyb20gdGhlIHNlbGVjdGVkTm9kZXMgY29sbGVjdGlvbiwgYW5kIHRoZW4gdXBkYXRlc1xuICAgICAgICAgICAgICAgdGhlIHNlbGVjdGVkTm9kZURhdGEgcHJvcC5cbiAgICAgICAgICAgICAgICovXG4gICAgICAgICAgICBjb25zdCBub2RlRGF0YSA9IHNlbGVjdGVkTm9kZXMubWFwKChlbCkgPT4gZWwuZGF0YSgpKTtcblxuICAgICAgICAgICAgdGhpcy5wcm9wcy5zZXRQcm9wcyh7XG4gICAgICAgICAgICAgICAgc2VsZWN0ZWROb2RlRGF0YTogbm9kZURhdGEsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSwgU0VMRUNUX1RIUkVTSE9MRCk7XG5cbiAgICAgICAgY29uc3Qgc2VuZFNlbGVjdGVkRWRnZXNEYXRhID0gXy5kZWJvdW5jZSgoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBlZGdlRGF0YSA9IHNlbGVjdGVkRWRnZXMubWFwKChlbCkgPT4gZWwuZGF0YSgpKTtcblxuICAgICAgICAgICAgdGhpcy5wcm9wcy5zZXRQcm9wcyh7XG4gICAgICAgICAgICAgICAgc2VsZWN0ZWRFZGdlRGF0YTogZWRnZURhdGEsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSwgU0VMRUNUX1RIUkVTSE9MRCk7XG5cbiAgICAgICAgY29uc3Qgc2V0RXh0ZW50ID0gXy5kZWJvdW5jZSgoY3lFeHRlbnQpID0+IHtcbiAgICAgICAgICAgIHRoaXMucHJvcHMuc2V0UHJvcHMoe1xuICAgICAgICAgICAgICAgIGV4dGVudDogY3lFeHRlbnQsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSwgRVhURU5UX1RIUkVTSE9MRCk7XG5cbiAgICAgICAgLy8gU3RvcmUgdGhlIG9yaWdpbmFsIG1heFpvb20gYW5kIG1pblpvb20gZnVuY3Rpb25zXG4gICAgICAgIGNvbnN0IG9yaWdpbmFsTWF4Wm9vbUZuID0gY3kubWF4Wm9vbTtcbiAgICAgICAgY29uc3Qgb3JpZ2luYWxNaW5ab29tRm4gPSBjeS5taW5ab29tO1xuXG4gICAgICAgIC8vIE92ZXJyaWRlIHRoZSBtYXhab29tIGZ1bmN0aW9uIHRvIHRyaWdnZXIgbWF4Wm9vbUNoYW5nZSBjdXN0b20gZXZlbnRcbiAgICAgICAgY3kubWF4Wm9vbSA9IGZ1bmN0aW9uKGUpIHtcbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRNYXhab29tID0gb3JpZ2luYWxNYXhab29tRm4uY2FsbChjeSwgZSk7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIC8vIFRyaWdnZXIgeW91ciBjdXN0b20gZXZlbnQgaWYgdGhlIGN1cnJlbnQgbWF4IHpvb20gbGV2ZWwgaXMgZGlmZmVyZW50IGZyb20gdGhlIFxuICAgICAgICAgICAgLy8gcHJldmlvdXNseSBzdG9yZWQgbWF4IHpvb20gbGV2ZWxcbiAgICAgICAgICAgIGlmIChjdXJyZW50TWF4Wm9vbSAhPT0gY3kuX3ByZXZpb3VzTWF4Wm9vbSkge1xuICAgICAgICAgICAgICAgIGN5Ll9wcmV2aW91c01heFpvb20gPSBjdXJyZW50TWF4Wm9vbTtcbiAgICAgICAgICAgICAgICBjeS50cmlnZ2VyKCdtaW5NYXhab29tQ2hhbmdlJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gY3VycmVudE1heFpvb207XG4gICAgICAgIH07XG5cbiAgICAgICAgLy8gT3ZlcnJpZGUgdGhlIG1pblpvb20gZnVuY3Rpb24gdG8gdHJpZ2dlciBtaW5ab29tQ2hhbmdlIGN1c3RvbSBldmVudFxuICAgICAgICBjeS5taW5ab29tID0gZnVuY3Rpb24oZSkge1xuICAgICAgICAgICAgY29uc3QgY3VycmVudE1pblpvb20gPSBvcmlnaW5hbE1pblpvb21Gbi5jYWxsKGN5LCBlKTtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgLy8gVHJpZ2dlciB5b3VyIGN1c3RvbSBldmVudCBpZiB0aGUgY3VycmVudCBtaW4gem9vbSBsZXZlbCBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgXG4gICAgICAgICAgICAvLyBwcmV2aW91c2x5IHN0b3JlZCBtaW4gem9vbSBsZXZlbFxuICAgICAgICAgICAgaWYgKGN1cnJlbnRNaW5ab29tICE9PSBjeS5fcHJldmlvdXNNaW5ab29tKSB7XG4gICAgICAgICAgICAgICAgY3kuX3ByZXZpb3VzTWluWm9vbSA9IGN1cnJlbnRNaW5ab29tO1xuICAgICAgICAgICAgICAgIGN5LnRyaWdnZXIoJ21pbk1heFpvb21DaGFuZ2UnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBjdXJyZW50TWluWm9vbTtcbiAgICAgICAgfTtcblxuICAgICAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gRVZFTlRTIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgICAgIGN5Lm9uKCd0YXAnLCAnbm9kZScsIChldmVudCkgPT4ge1xuICAgICAgICAgICAgY29uc3Qgbm9kZU9iamVjdCA9IHRoaXMuZ2VuZXJhdGVOb2RlKGV2ZW50KTtcblxuICAgICAgICAgICAgdGhpcy5wcm9wcy5zZXRQcm9wcyh7XG4gICAgICAgICAgICAgICAgdGFwTm9kZTogbm9kZU9iamVjdCxcbiAgICAgICAgICAgICAgICB0YXBOb2RlRGF0YTogT2JqZWN0LmFzc2lnbih7fSwgbm9kZU9iamVjdC5kYXRhLCB7XG4gICAgICAgICAgICAgICAgICAgIHRpbWVTdGFtcDogbm9kZU9iamVjdC50aW1lU3RhbXAsXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY3kub24oJ3RhcCcsICdlZGdlJywgKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBlZGdlT2JqZWN0ID0gdGhpcy5nZW5lcmF0ZUVkZ2UoZXZlbnQpO1xuXG4gICAgICAgICAgICB0aGlzLnByb3BzLnNldFByb3BzKHtcbiAgICAgICAgICAgICAgICB0YXBFZGdlOiBlZGdlT2JqZWN0LFxuICAgICAgICAgICAgICAgIHRhcEVkZ2VEYXRhOiBPYmplY3QuYXNzaWduKHt9LCBlZGdlT2JqZWN0LmRhdGEsIHtcbiAgICAgICAgICAgICAgICAgICAgdGltZVN0YW1wOiBlZGdlT2JqZWN0LnRpbWVTdGFtcCxcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcblxuICAgICAgICBjeS5vbignbW91c2VvdmVyJywgJ25vZGUnLCAoZXZlbnQpID0+IHtcbiAgICAgICAgICAgIHRoaXMucHJvcHMuc2V0UHJvcHMoe1xuICAgICAgICAgICAgICAgIG1vdXNlb3Zlck5vZGVEYXRhOiBPYmplY3QuYXNzaWduKHt9LCBldmVudC50YXJnZXQuZGF0YSgpLCB7XG4gICAgICAgICAgICAgICAgICAgIHRpbWVTdGFtcDogZXZlbnQudGltZVN0YW1wLFxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGN5Lm9uKCdtb3VzZW92ZXInLCAnZWRnZScsIChldmVudCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5wcm9wcy5zZXRQcm9wcyh7XG4gICAgICAgICAgICAgICAgbW91c2VvdmVyRWRnZURhdGE6IE9iamVjdC5hc3NpZ24oe30sIGV2ZW50LnRhcmdldC5kYXRhKCksIHtcbiAgICAgICAgICAgICAgICAgICAgdGltZVN0YW1wOiBldmVudC50aW1lU3RhbXAsXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY3kub24oJ21vdXNlb3V0JywgJ25vZGUnLCAoXykgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMucHJvcHMuY2xlYXJPblVuaG92ZXIgPT09IHRydWUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnByb3BzLnNldFByb3BzKHttb3VzZW92ZXJOb2RlRGF0YTogbnVsbH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICBjeS5vbignbW91c2VvdXQnLCAnZWRnZScsIChfKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5wcm9wcy5jbGVhck9uVW5ob3ZlciA9PT0gdHJ1ZSkge1xuICAgICAgICAgICAgICAgIHRoaXMucHJvcHMuc2V0UHJvcHMoe1xuICAgICAgICAgICAgICAgICAgICBtb3VzZW92ZXJFZGdlRGF0YTogbnVsbCxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgY3kub24oJ3NlbGVjdCcsICdub2RlJywgKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBlbGUgPSBldmVudC50YXJnZXQ7XG5cbiAgICAgICAgICAgIHNlbGVjdGVkTm9kZXMubWVyZ2UoZWxlKTtcbiAgICAgICAgICAgIHNlbmRTZWxlY3RlZE5vZGVzRGF0YSgpO1xuICAgICAgICB9KTtcblxuICAgICAgICBjeS5vbigndW5zZWxlY3QgcmVtb3ZlJywgJ25vZGUnLCAoZXZlbnQpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGVsZSA9IGV2ZW50LnRhcmdldDtcblxuICAgICAgICAgICAgc2VsZWN0ZWROb2Rlcy51bm1lcmdlKGVsZSk7XG4gICAgICAgICAgICBzZW5kU2VsZWN0ZWROb2Rlc0RhdGEoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY3kub24oJ3NlbGVjdCcsICdlZGdlJywgKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBlbGUgPSBldmVudC50YXJnZXQ7XG5cbiAgICAgICAgICAgIHNlbGVjdGVkRWRnZXMubWVyZ2UoZWxlKTtcbiAgICAgICAgICAgIHNlbmRTZWxlY3RlZEVkZ2VzRGF0YSgpO1xuICAgICAgICB9KTtcblxuICAgICAgICBjeS5vbigndW5zZWxlY3QgcmVtb3ZlJywgJ2VkZ2UnLCAoZXZlbnQpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGVsZSA9IGV2ZW50LnRhcmdldDtcblxuICAgICAgICAgICAgc2VsZWN0ZWRFZGdlcy51bm1lcmdlKGVsZSk7XG4gICAgICAgICAgICBzZW5kU2VsZWN0ZWRFZGdlc0RhdGEoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY3kub24oJ2FkZCByZW1vdmUnLCAoKSA9PiB7XG4gICAgICAgICAgICByZWZyZXNoTGF5b3V0KCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGN5Lm9uKCdkcmFnZnJlZSBhZGQgcmVtb3ZlJywgKF8pID0+IHtcbiAgICAgICAgICAgIHRoaXMucHJvcHMuc2V0UHJvcHMoe1xuICAgICAgICAgICAgICAgIGVsZW1lbnRzOiBjeS5lbGVtZW50cygnJykubWFwKChpdGVtKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChpdGVtLmpzb24oKS5ncm91cCA9PT0gJ25vZGVzJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhOiBpdGVtLmpzb24oKS5kYXRhLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBpdGVtLmpzb24oKS5wb3NpdGlvbixcbiAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE6IGl0ZW0uanNvbigpLmRhdGEsXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogdm9pZCAwLFxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGN5Lm9uKCd2aWV3cG9ydCByZXNpemUnLCAoKSA9PiB7XG4gICAgICAgICAgICBzZXRFeHRlbnQoY3kuZXh0ZW50KCkpO1xuICAgICAgICB9KTtcblxuICAgICAgICAvLyBSZWZyZXNoIGxheW91dCBpZiBjdXJyZW50IHpvb20gaXMgb3V0IG9mIGJvdW5kYXJpZXNcbiAgICAgICAgY3kub24oJ21pbk1heFpvb21DaGFuZ2UnLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICB2YXIgem9vbSA9IGN5Lnpvb20oKTtcbiAgICAgICAgICAgIGlmICh6b29tID4gY3kubWF4Wm9vbSgpIHx8IHpvb20gPCBjeS5taW5ab29tKCkpIHtcbiAgICAgICAgICAgICAgICBjeS5maXQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5jcmVhdGVNZW51SXRlbXMgPSAoY3R4TWVudSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgdXBkYXRlQ29udGV4dE1lbnVEYXRhID0gKG5ld0NvbnRleHQpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnByb3BzLnNldFByb3BzKHtjb250ZXh0TWVudURhdGE6IG5ld0NvbnRleHR9KTtcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBjb25zdCBjb250ZXh0TWVudURlZmF1bHRGdW5jdGlvbnMgPSB7XG4gICAgICAgICAgICAgICAgcmVtb3ZlOiBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IHx8IGV2ZW50LmN5VGFyZ2V0O1xuICAgICAgICAgICAgICAgICAgICB0YXJnZXQucmVtb3ZlKCk7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBhZGRfbm9kZTogZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHBvcyA9IGV2ZW50LnBvc2l0aW9uIHx8IGV2ZW50LmN5UG9zaXRpb247XG4gICAgICAgICAgICAgICAgICAgIGN5LmFkZCh7XG4gICAgICAgICAgICAgICAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JvdXA6ICdub2RlcycsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB4OiBwb3MueCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB5OiBwb3MueSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgYWRkX2VkZ2U6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWROb2RlSWRzID0gc2VsZWN0ZWROb2Rlcy5tYXAoKG5vZGUpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICBub2RlLmlkKClcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHNlbGVjdGVkTm9kZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFcnJvcjogTm8gbm9kZXMgc2VsZWN0ZWQsIGNhbm5vdCBhZGQgZWRnZSdcbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoc2VsZWN0ZWROb2Rlcy5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGN5LmFkZCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZDogdXVpZHY0KCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyb3VwOiAnZWRnZXMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzb3VyY2U6IHNlbGVjdGVkTm9kZUlkc1swXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0OiBzZWxlY3RlZE5vZGVJZHNbMF0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHNlbGVjdGVkTm9kZXMubGVuZ3RoID09PSAyKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjeS5hZGQoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IHV1aWR2NCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBncm91cDogJ2VkZ2VzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc291cmNlOiBzZWxlY3RlZE5vZGVJZHNbMF0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldDogc2VsZWN0ZWROb2RlSWRzWzFdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0Vycm9yOiBtb3JlIHRoYW4gMiBub2RlcyBzZWxlY3RlZCwgY2Fubm90IGFkZCBlZGdlJ1xuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgY29uc3QgbmV3TWVudUl0ZW1zID0gW107XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgY3R4TWVudSkge1xuICAgICAgICAgICAgICAgIGxldCBvbkNsaWNrRnVuY3Rpb247XG4gICAgICAgICAgICAgICAgLy8gcmV0dXJuIGRhdGEgc28gYSB1c2VyIGNhbiBkZWZpbmUgYSBjdXN0b20gb24gY2xpY2sgZnVuY3Rpb24gaW4gUHl0aG9uXG4gICAgICAgICAgICAgICAgLy8gaWYgb25DbGljayBvciBvbiBvbkNsaWNrQ3VzdG9tIGFyZSBub3Qgc3BlY2lmaWVkXG4gICAgICAgICAgICAgICAgb25DbGlja0Z1bmN0aW9uID0gZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIHVwZGF0ZUNvbnRleHRNZW51RGF0YSh7XG4gICAgICAgICAgICAgICAgICAgICAgICBtZW51SXRlbUlkOiBpdGVtLmlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgeDogZXZlbnQucG9zaXRpb24ueCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHk6IGV2ZW50LnBvc2l0aW9uLnksXG4gICAgICAgICAgICAgICAgICAgICAgICB0aW1lU3RhbXA6IGV2ZW50LnRpbWVTdGFtcCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnRJZDogZXZlbnQudGFyZ2V0LmRhdGEoKS5pZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGVkZ2VTb3VyY2U6IGV2ZW50LnRhcmdldC5kYXRhKCkuc291cmNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgZWRnZVRhcmdldDogZXZlbnQudGFyZ2V0LmRhdGEoKS50YXJnZXQsXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgLy8gdXNlIGRlZmF1bHQgamF2YXNjcmlwdCBmdW5jdGlvbiBhcyBvbkNsaWNrRnVuY3Rpb25cbiAgICAgICAgICAgICAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGl0ZW0sICdvbkNsaWNrJykpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHRNZW51RGVmYXVsdEZ1bmN0aW9ucyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtLm9uQ2xpY2tcbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrRnVuY3Rpb24gPVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHRNZW51RGVmYXVsdEZ1bmN0aW9uc1tpdGVtLm9uQ2xpY2tdO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBgb25DbGljayBmdW5jdGlvbiAke2l0ZW0ub25DbGlja30gaXMgbm90IGRlZmluZWRgXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8vIHVzZSB1c2VyLWRlZmluZWQgSmF2YXNjcmlwdCBmdW5jdGlvbiBpbiBhIG5hbWVzcGFjZSB1bmRlciBhc3NldHMvIGFzIG9uQ2xpY2tGdW5jdGlvblxuICAgICAgICAgICAgICAgIGVsc2UgaWYgKFxuICAgICAgICAgICAgICAgICAgICBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoaXRlbSwgJ29uQ2xpY2tDdXN0b20nKVxuICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2luZG93LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkYXNoQ3l0b3NjYXBlRnVuY3Rpb25zJ1xuICAgICAgICAgICAgICAgICAgICAgICAgKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpbmRvdy5kYXNoQ3l0b3NjYXBlRnVuY3Rpb25zLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0ub25DbGlja0N1c3RvbVxuICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2tGdW5jdGlvbiA9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2luZG93LmRhc2hDeXRvc2NhcGVGdW5jdGlvbnNbaXRlbS5vbkNsaWNrQ3VzdG9tXTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYG9uQ2xpY2tDdXN0b20gZnVuY3Rpb24gJHtpdGVtLm9uQ2xpY2tDdXN0b219IGlzIG5vdCBkZWZpbmVkYFxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjb25zdCBuZXdfaXRlbSA9IHtcbiAgICAgICAgICAgICAgICAgICAgaWQ6IGl0ZW0uaWQsXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IGl0ZW0ubGFiZWwsXG4gICAgICAgICAgICAgICAgICAgIHRvb2x0aXBUZXh0OiBpdGVtLnRvb2x0aXBUZXh0LFxuICAgICAgICAgICAgICAgICAgICBzZWxlY3RvcjogJycsXG4gICAgICAgICAgICAgICAgICAgIG9uQ2xpY2tGdW5jdGlvbjogb25DbGlja0Z1bmN0aW9uLFxuICAgICAgICAgICAgICAgICAgICBjb3JlQXNXZWxsOiBmYWxzZSxcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoaXRlbSwgJ2F2YWlsYWJsZU9uJykpIHtcbiAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCBzZWxlY3RvciBvZiBpdGVtLmF2YWlsYWJsZU9uKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoc2VsZWN0b3IgPT09ICdlZGdlJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChuZXdfaXRlbS5zZWxlY3Rvci5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld19pdGVtLnNlbGVjdG9yID0gbmV3X2l0ZW0uc2VsZWN0b3IgKyAnLCAnO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXdfaXRlbS5zZWxlY3RvciA9IG5ld19pdGVtLnNlbGVjdG9yICsgJ2VkZ2UnO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChzZWxlY3RvciA9PT0gJ25vZGUnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG5ld19pdGVtLnNlbGVjdG9yLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3X2l0ZW0uc2VsZWN0b3IgPSBuZXdfaXRlbS5zZWxlY3RvciArICcsICc7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld19pdGVtLnNlbGVjdG9yID0gbmV3X2l0ZW0uc2VsZWN0b3IgKyAnbm9kZSc7XG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHNlbGVjdG9yID09PSAnY2FudmFzJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld19pdGVtLmNvcmVBc1dlbGwgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgRXJyb3I6IHNlbGVjdG9yICR7c2VsZWN0b3J9IGlzIG5vdCBhdmFpbGFibGUuIENob29zZSBvbmUgb2YgJ25vZGUnLCAnZWRnZScgb3IgJ2NhbnZhcycuYFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgbmV3TWVudUl0ZW1zLnB1c2gobmV3X2l0ZW0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIG5ld01lbnVJdGVtcztcbiAgICAgICAgfTtcblxuICAgICAgICB0aGlzLmN5UmVzcG9uc2l2ZUNsYXNzID0gbmV3IEN5UmVzcG9uc2l2ZShjeSk7XG4gICAgICAgIHRoaXMuY3lSZXNwb25zaXZlQ2xhc3MudG9nZ2xlKHRoaXMucHJvcHMucmVzcG9uc2l2ZSk7XG5cbiAgICAgICAgc2V0RXh0ZW50KGN5LmV4dGVudCgpKTtcbiAgICB9XG5cbiAgICBoYW5kbGVJbWFnZUdlbmVyYXRpb24oaW1hZ2VUeXBlLCBpbWFnZU9wdGlvbnMsIGFjdGlvbnNUb1BlcmZvcm0sIGZpbGVOYW1lKSB7XG4gICAgICAgIGxldCBvcHRpb25zID0ge307XG4gICAgICAgIGlmIChpbWFnZU9wdGlvbnMpIHtcbiAgICAgICAgICAgIG9wdGlvbnMgPSBpbWFnZU9wdGlvbnM7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgZGVzaXJlZE91dHB1dCA9IG9wdGlvbnMub3V0cHV0O1xuICAgICAgICBvcHRpb25zLm91dHB1dCA9ICdibG9iJztcblxuICAgICAgICBsZXQgZG93bmxvYWRJbWFnZTtcbiAgICAgICAgbGV0IHN0b3JlSW1hZ2U7XG4gICAgICAgIHN3aXRjaCAoYWN0aW9uc1RvUGVyZm9ybSkge1xuICAgICAgICAgICAgY2FzZSAnc3RvcmUnOlxuICAgICAgICAgICAgICAgIGRvd25sb2FkSW1hZ2UgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICBzdG9yZUltYWdlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ2Rvd25sb2FkJzpcbiAgICAgICAgICAgICAgICBkb3dubG9hZEltYWdlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBzdG9yZUltYWdlID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdib3RoJzpcbiAgICAgICAgICAgICAgICBkb3dubG9hZEltYWdlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBzdG9yZUltYWdlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgZG93bmxvYWRJbWFnZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHN0b3JlSW1hZ2UgPSB0cnVlO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IG91dHB1dDtcbiAgICAgICAgaWYgKGltYWdlVHlwZSA9PT0gJ3BuZycpIHtcbiAgICAgICAgICAgIG91dHB1dCA9IHRoaXMuX2N5LnBuZyhvcHRpb25zKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaW1hZ2VUeXBlID09PSAnanBnJyB8fCBpbWFnZVR5cGUgPT09ICdqcGVnJykge1xuICAgICAgICAgICAgb3V0cHV0ID0gdGhpcy5fY3kuanBnKG9wdGlvbnMpO1xuICAgICAgICB9XG4gICAgICAgIC8vIG9ubHkgd29ya3Mgd2hlbiBzdmcgaXMgaW1wb3J0ZWQgKHNlZSBsaWIvZXh0cmFfaW5kZXguanMpXG4gICAgICAgIGlmIChpbWFnZVR5cGUgPT09ICdzdmcnKSB7XG4gICAgICAgICAgICBvdXRwdXQgPSB0aGlzLl9jeS5zdmcob3B0aW9ucyk7XG4gICAgICAgIH1cblxuICAgICAgICAvKlxuICAgICAgICAgKiBJZiBvdXRwdXQgaXMgZW1wdHkgYmVjYXVzZSBvZiBiYWQgb3B0aW9ucyBvciBhIGN5dG9zY2FwZSBlcnJvcixcbiAgICAgICAgICogc2tpcCBhbnkgZG93bmxvYWQgb3Igc3RvcmFnZSBzdGVwcy5cbiAgICAgICAgICovXG4gICAgICAgIGlmIChvdXRwdXQgJiYgZG93bmxvYWRJbWFnZSkge1xuICAgICAgICAgICAgLypcbiAgICAgICAgICAgICAqIERvd25sb2FkaW5nIGlzIGluaXRpYXRlZCBjbGllbnQtc2lkZSBiZWNhdXNlIHRoZSBpbWFnZSBpcyBnZW5lcmF0ZWQgYXRcbiAgICAgICAgICAgICAqIHRoZSBjbGllbnQuIFRoaXMgYXZvaWRzIHRyYW5zZmVycmluZyBhIHBvdGVudGlhbGx5IGxhcmdlIGltYWdlXG4gICAgICAgICAgICAgKiB0byB0aGUgc2VydmVyIGFuZCBiYWNrIGFnYWluIHRocm91Z2ggYSBjYWxsYmFjay5cbiAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgbGV0IGZOYW1lID0gZmlsZU5hbWU7XG4gICAgICAgICAgICBpZiAoIWZpbGVOYW1lKSB7XG4gICAgICAgICAgICAgICAgZk5hbWUgPSAnY3l0byc7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChpbWFnZVR5cGUgIT09ICdzdmcnKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5kb3dubG9hZEJsb2Iob3V0cHV0LCBmTmFtZSArICcuJyArIGltYWdlVHlwZSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnN0IGJsb2IgPSBuZXcgQmxvYihbb3V0cHV0XSwge1xuICAgICAgICAgICAgICAgICAgICB0eXBlOiAnaW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04JyxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB0aGlzLmRvd25sb2FkQmxvYihibG9iLCBmTmFtZSArICcuJyArIGltYWdlVHlwZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAob3V0cHV0ICYmIHN0b3JlSW1hZ2UpIHtcbiAgICAgICAgICAgIC8vIERlZmF1bHQgb3V0cHV0IHR5cGUgaWYgdW5zcGVjaWZpZWRcbiAgICAgICAgICAgIGlmICghZGVzaXJlZE91dHB1dCkge1xuICAgICAgICAgICAgICAgIGRlc2lyZWRPdXRwdXQgPSAnYmFzZTY0dXJpJztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICEoZGVzaXJlZE91dHB1dCA9PT0gJ2Jhc2U2NHVyaScgfHwgZGVzaXJlZE91dHB1dCA9PT0gJ2Jhc2U2NCcpXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8qXG4gICAgICAgICAgICAgKiBDb252ZXJ0IGJsb2IgdG8gYmFzZTY0dXJpIG9yIGJhc2U2NCBzdHJpbmcgdG8gc3RvcmUgdGhlIGltYWdlIGRhdGEuXG4gICAgICAgICAgICAgKiBUaGFuayB5b3UsIGJhc2U2NGd1cnUgaHR0cHM6Ly9iYXNlNjQuZ3VydS9kZXZlbG9wZXJzL2phdmFzY3JpcHQvZXhhbXBsZXMvZW5jb2RlLWJsb2JcbiAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgY29uc3QgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcbiAgICAgICAgICAgIHJlYWRlci5vbmxvYWQgPSAoKSA9PiB7XG4gICAgICAgICAgICAgICAgLyogRmlsZVJlYWRlciBpcyBhc3luY2hyb25vdXMsIHNvIHRoZSByZWFkIGZ1bmN0aW9uIGlzIG5vbi1ibG9ja2luZy5cbiAgICAgICAgICAgICAgICAgKiBJZiB0aGlzIGNvZGUgYmxvY2sgaXMgcGxhY2VkIGFmdGVyIHRoZSByZWFkIGNvbW1hbmQsIGl0XG4gICAgICAgICAgICAgICAgICogbWF5IHJlc3VsdCBpbiBlbXB0eSBvdXRwdXQgYmVjYXVzZSB0aGUgYmxvYiBoYXMgbm90IGJlZW4gbG9hZGVkIHlldC5cbiAgICAgICAgICAgICAgICAgKi9cbiAgICAgICAgICAgICAgICBsZXQgY2FsbGJhY2tEYXRhID0gcmVhZGVyLnJlc3VsdDtcbiAgICAgICAgICAgICAgICBpZiAoZGVzaXJlZE91dHB1dCA9PT0gJ2Jhc2U2NCcpIHtcbiAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2tEYXRhID0gY2FsbGJhY2tEYXRhLnJlcGxhY2UoL15kYXRhOi4rO2Jhc2U2NCwvLCAnJyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMucHJvcHMuc2V0UHJvcHMoe2ltYWdlRGF0YTogY2FsbGJhY2tEYXRhfSk7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgcmVhZGVyLnJlYWRBc0RhdGFVUkwob3V0cHV0KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGRvd25sb2FkQmxvYihibG9iLCBmaWxlTmFtZSkge1xuICAgICAgICAvKlxuICAgICAgICAgKiBEb3dubG9hZCBibG9iIGFzIGZpbGUgYnkgZHluYW1pY2FsbHkgY3JlYXRpbmcgbGluay5cbiAgICAgICAgICogQ2hyb21lIGRvZXMgbm90IG9wZW4gZGF0YSBVUkxzIHdoZW4gSlMgb3BlbnMgYSBuZXcgdGFiIGRpcmVjdGVkXG4gICAgICAgICAqIGF0IHRoZSBkYXRhIFVSTCwgc28gdGhpcyBpcyBhbiBhbHRlcm5hdGUgaW1wbGVtZW50YXRpb25cbiAgICAgICAgICogdGhhdCBkb2Vzbid0IHJlcXVpcmUgZXh0cmEgcGFja2FnZXMuIEl0IG1heSBub3QgYmVoYXZlIGluXG4gICAgICAgICAqIGV4YWN0bHkgdGhlIHNhbWUgd2F5IGFjcm9zcyBicm93c2VycyAobWlnaHQgZGlzcGxheSBpbWFnZSBpbiBuZXcgdGFiXG4gICAgICAgICAqIGludGVhZCBvZiBkb3dubG9hZGluZyBhcyBhIGZpbGUpLlxuICAgICAgICAgKiBUaGFuayB5b3UsIGtvbGRldiBodHRwczovL2pzZmlkZGxlLm5ldC9rb2xkZXYvY1c3VzUvXG4gICAgICAgICAqL1xuICAgICAgICBjb25zdCBkb3dubG9hZExpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XG4gICAgICAgIGRvd25sb2FkTGluay5zdHlsZSA9ICdkaXNwbGF5OiBub25lJztcbiAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkb3dubG9hZExpbmspO1xuXG4gICAgICAgIGNvbnN0IHVybCA9IHdpbmRvdy5VUkwuY3JlYXRlT2JqZWN0VVJMKGJsb2IpO1xuICAgICAgICBkb3dubG9hZExpbmsuaHJlZiA9IHVybDtcbiAgICAgICAgZG93bmxvYWRMaW5rLmRvd25sb2FkID0gZmlsZU5hbWU7XG4gICAgICAgIGRvd25sb2FkTGluay5jbGljaygpO1xuICAgICAgICB3aW5kb3cuVVJMLnJldm9rZU9iamVjdFVSTCh1cmwpO1xuXG4gICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoZG93bmxvYWRMaW5rKTtcbiAgICB9XG5cbiAgICB1cGRhdGVDb250ZXh0TWVudShjb250ZXh0TWVudSkge1xuICAgICAgICB0aGlzLl9jeS5jb250ZXh0TWVudXMoe1xuICAgICAgICAgICAgbWVudUl0ZW1zOiB0aGlzLmNyZWF0ZU1lbnVJdGVtcyhjb250ZXh0TWVudSksXG4gICAgICAgICAgICBtZW51SXRlbUNsYXNzZXM6IFsnY3VzdG9tLW1lbnUtaXRlbSddLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvLyBSZXR1cm5zIHRydWUgaWYgdGhlcmUgaXMgbm8gb3ZlcmxhcCBiZXR3ZWVuIHRoZSBlbGVtZW50IGJvdW5kaW5nIGJveFxuICAgIC8vIGFuZCB0aGUgcmVuZGVyZWQgYXJlYSBvZiB0aGUgZ3JhcGgsIG1lYW5pbmcgdGhlIGdyYXBoIGlzIGVudGlyZWx5IG91dHNpZGUgdGhlIHZpZXdwb3J0O1xuICAgIC8vIHJldHVybnMgZmFsc2Ugb3RoZXJ3aXNlXG4gICAgZ3JhcGhPdXRPZlZpZXcoKSB7XG4gICAgICAgIGNvbnN0IGN5V2lkdGggPSB0aGlzLl9jeS53aWR0aCgpO1xuICAgICAgICBjb25zdCBjeUhlaWdodCA9IHRoaXMuX2N5LmhlaWdodCgpO1xuICAgICAgICBjb25zdCBlbEJveCA9IHRoaXMuX2N5LmVsZW1lbnRzKCkucmVuZGVyZWRCb3VuZGluZ2JveCgpO1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgZWxCb3gueDEgPiBjeVdpZHRoIHx8XG4gICAgICAgICAgICBlbEJveC55MSA+IGN5SGVpZ2h0IHx8XG4gICAgICAgICAgICBlbEJveC54MiA8IDAgfHxcbiAgICAgICAgICAgIGVsQm94LnkyIDwgMFxuICAgICAgICApO1xuICAgIH1cblxuICAgIGNvbXBvbmVudERpZFVwZGF0ZShwcmV2UHJvcHMpIHtcbiAgICAgICAgY29uc3Qge2NvbnRleHRNZW51LCBlbGVtZW50c30gPSB0aGlzLnByb3BzO1xuICAgICAgICBpZiAoIV8uaXNFcXVhbChwcmV2UHJvcHMuY29udGV4dE1lbnUsIGNvbnRleHRNZW51KSAmJiB0aGlzLl9jeSkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVDb250ZXh0TWVudShjb250ZXh0TWVudSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFfLmlzRXF1YWwocHJldlByb3BzLmVsZW1lbnRzLCBlbGVtZW50cykgJiYgdGhpcy5fY3kpIHtcbiAgICAgICAgICAgIC8vIElmIGVsZW1lbnRzIHdlcmUgdXBkYXRlZCwgYW5kIHRoZSBuZXcgZ3JhcGggaXMgKmVudGlyZWx5KiBvdXRzaWRlIHRoZSB2aWV3cG9ydCxcbiAgICAgICAgICAgIC8vIGZpdCB0aGUgdmlld3BvcnQgdG8gdGhlIG5ldyBlbGVtZW50c1xuICAgICAgICAgICAgaWYgKHRoaXMuZ3JhcGhPdXRPZlZpZXcoKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuX2N5LmZpdCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgICAgICBjb25zdCB7Y29udGV4dE1lbnV9ID0gdGhpcy5wcm9wcztcbiAgICAgICAgaWYgKHRoaXMuX2N5ICYmIGNvbnRleHRNZW51Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlQ29udGV4dE1lbnUoY29udGV4dE1lbnUpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJlbmRlcigpIHtcbiAgICAgICAgY29uc3Qge1xuICAgICAgICAgICAgLy8gSFRNTCBhdHRyaWJ1dGUgcHJvcHNcbiAgICAgICAgICAgIGlkLFxuICAgICAgICAgICAgc3R5bGUsXG4gICAgICAgICAgICBjbGFzc05hbWUsXG4gICAgICAgICAgICAvLyBDb21tb24gcHJvcHNcbiAgICAgICAgICAgIGVsZW1lbnRzLFxuICAgICAgICAgICAgc3R5bGVzaGVldCxcbiAgICAgICAgICAgIGxheW91dCxcbiAgICAgICAgICAgIGNvbnRleHRNZW51LFxuICAgICAgICAgICAgY29udGV4dE1lbnVEYXRhLFxuICAgICAgICAgICAgLy8gVmlld3BvcnQgTWFuaXB1bGF0aW9uXG4gICAgICAgICAgICBwYW4sXG4gICAgICAgICAgICB6b29tLFxuICAgICAgICAgICAgLy8gVmlld3BvcnQgTXV0YWJpbGl0eSBhbmQgZ2VzdHVyZSBUb2dnbGluZ1xuICAgICAgICAgICAgcGFubmluZ0VuYWJsZWQsXG4gICAgICAgICAgICB1c2VyUGFubmluZ0VuYWJsZWQsXG4gICAgICAgICAgICBtaW5ab29tLFxuICAgICAgICAgICAgbWF4Wm9vbSxcbiAgICAgICAgICAgIHpvb21pbmdFbmFibGVkLFxuICAgICAgICAgICAgdXNlclpvb21pbmdFbmFibGVkLFxuICAgICAgICAgICAgd2hlZWxTZW5zaXRpdml0eSxcbiAgICAgICAgICAgIGJveFNlbGVjdGlvbkVuYWJsZWQsXG4gICAgICAgICAgICBhdXRvdW5ncmFiaWZ5LFxuICAgICAgICAgICAgYXV0b2xvY2ssXG4gICAgICAgICAgICBhdXRvdW5zZWxlY3RpZnksXG4gICAgICAgICAgICAvLyBJbWFnZSBoYW5kbGluZ1xuICAgICAgICAgICAgZ2VuZXJhdGVJbWFnZSxcbiAgICAgICAgICAgIC8vIFJlc3BvbnNpdmUgZ3JhcGhzXG4gICAgICAgICAgICByZXNwb25zaXZlLFxuICAgICAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgICAgICBpZiAoT2JqZWN0LmtleXMoZ2VuZXJhdGVJbWFnZSkubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgLy8gSWYgbm8gY3l0b3NjYXBlIG9iamVjdCBoYXMgYmVlbiBjcmVhdGVkIHlldCwgYW4gaW1hZ2UgY2Fubm90IGJlIGdlbmVyYXRlZCxcbiAgICAgICAgICAgIC8vIHNvIGdlbmVyYXRlSW1hZ2Ugd2lsbCBiZSBpZ25vcmVkIGFuZCBjbGVhcmVkLlxuICAgICAgICAgICAgdGhpcy5wcm9wcy5zZXRQcm9wcyh7Z2VuZXJhdGVJbWFnZToge319KTtcbiAgICAgICAgICAgIGlmICh0aGlzLl9jeSkge1xuICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlSW1hZ2VHZW5lcmF0aW9uKFxuICAgICAgICAgICAgICAgICAgICBnZW5lcmF0ZUltYWdlLnR5cGUsXG4gICAgICAgICAgICAgICAgICAgIGdlbmVyYXRlSW1hZ2Uub3B0aW9ucyxcbiAgICAgICAgICAgICAgICAgICAgZ2VuZXJhdGVJbWFnZS5hY3Rpb24sXG4gICAgICAgICAgICAgICAgICAgIGdlbmVyYXRlSW1hZ2UuZmlsZW5hbWVcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuY3lSZXNwb25zaXZlQ2xhc3MpIHtcbiAgICAgICAgICAgIHRoaXMuY3lSZXNwb25zaXZlQ2xhc3MudG9nZ2xlKHJlc3BvbnNpdmUpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDxDeXRvc2NhcGVDb21wb25lbnRcbiAgICAgICAgICAgICAgICBpZD17aWR9XG4gICAgICAgICAgICAgICAgY3k9e3RoaXMuaGFuZGxlQ3l9XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWV9XG4gICAgICAgICAgICAgICAgc3R5bGU9e3N0eWxlfVxuICAgICAgICAgICAgICAgIGVsZW1lbnRzPXtDeXRvc2NhcGVDb21wb25lbnQubm9ybWFsaXplRWxlbWVudHMoZWxlbWVudHMpfVxuICAgICAgICAgICAgICAgIHN0eWxlc2hlZXQ9e3N0eWxlc2hlZXR9XG4gICAgICAgICAgICAgICAgbGF5b3V0PXtsYXlvdXR9XG4gICAgICAgICAgICAgICAgY29udGV4dE1lbnU9e2NvbnRleHRNZW51fVxuICAgICAgICAgICAgICAgIGNvbnRleHRNZW51RGF0YT17Y29udGV4dE1lbnVEYXRhfVxuICAgICAgICAgICAgICAgIHBhbj17cGFufVxuICAgICAgICAgICAgICAgIHpvb209e3pvb219XG4gICAgICAgICAgICAgICAgcGFubmluZ0VuYWJsZWQ9e3Bhbm5pbmdFbmFibGVkfVxuICAgICAgICAgICAgICAgIHVzZXJQYW5uaW5nRW5hYmxlZD17dXNlclBhbm5pbmdFbmFibGVkfVxuICAgICAgICAgICAgICAgIG1pblpvb209e21pblpvb219XG4gICAgICAgICAgICAgICAgbWF4Wm9vbT17bWF4Wm9vbX1cbiAgICAgICAgICAgICAgICB6b29taW5nRW5hYmxlZD17em9vbWluZ0VuYWJsZWR9XG4gICAgICAgICAgICAgICAgdXNlclpvb21pbmdFbmFibGVkPXt1c2VyWm9vbWluZ0VuYWJsZWR9XG4gICAgICAgICAgICAgICAgd2hlZWxTZW5zaXRpdml0eT17d2hlZWxTZW5zaXRpdml0eX1cbiAgICAgICAgICAgICAgICBib3hTZWxlY3Rpb25FbmFibGVkPXtib3hTZWxlY3Rpb25FbmFibGVkfVxuICAgICAgICAgICAgICAgIGF1dG91bmdyYWJpZnk9e2F1dG91bmdyYWJpZnl9XG4gICAgICAgICAgICAgICAgYXV0b2xvY2s9e2F1dG9sb2NrfVxuICAgICAgICAgICAgICAgIGF1dG91bnNlbGVjdGlmeT17YXV0b3Vuc2VsZWN0aWZ5fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgKTtcbiAgICB9XG59XG5cbkN5dG9zY2FwZS5wcm9wVHlwZXMgPSB7XG4gICAgLy8gSFRNTCBhdHRyaWJ1dGUgcHJvcHNcblxuICAgIC8qKlxuICAgICAqIFRoZSBJRCB1c2VkIHRvIGlkZW50aWZ5IHRoaXMgY29tcG9uZW50IGluIERhc2ggY2FsbGJhY2tzLlxuICAgICAqL1xuICAgIGlkOiBQcm9wVHlwZXMuc3RyaW5nLFxuXG4gICAgLyoqXG4gICAgICogU2V0cyB0aGUgY2xhc3MgbmFtZSBvZiB0aGUgZWxlbWVudCAodGhlIHZhbHVlIG9mIGFuIGVsZW1lbnQncyBodG1sXG4gICAgICogY2xhc3MgYXR0cmlidXRlKS5cbiAgICAgKi9cbiAgICBjbGFzc05hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG5cbiAgICAvKipcbiAgICAgKiBBZGQgaW5saW5lIHN0eWxlcyB0byB0aGUgcm9vdCBlbGVtZW50LlxuICAgICAqL1xuICAgIHN0eWxlOiBQcm9wVHlwZXMub2JqZWN0LFxuXG4gICAgLy8gRGFzaCBzcGVjaWZpYyBwcm9wc1xuXG4gICAgLyoqXG4gICAgICogRGFzaC1hc3NpZ25lZCBjYWxsYmFjayB0aGF0IHNob3VsZCBiZSBjYWxsZWQgd2hlbmV2ZXIgYW55IG9mIHRoZVxuICAgICAqIHByb3BlcnRpZXMgY2hhbmdlLlxuICAgICAqL1xuICAgIHNldFByb3BzOiBQcm9wVHlwZXMuZnVuYyxcblxuICAgIC8vIENvbW1vbiBwcm9wc1xuXG4gICAgLyoqXG4gICAgICogQSBsaXN0IG9mIGRpY3Rpb25hcmllcyByZXByZXNlbnRpbmcgdGhlIGVsZW1lbnRzIG9mIHRoZSBuZXR3b3Jrcy4gRWFjaCBkaWN0aW9uYXJ5IGRlc2NyaWJlcyBhbiBlbGVtZW50LCBhbmRcbiAgICAgKiBzcGVjaWZpZXMgaXRzIHB1cnBvc2UuIFRoZSBbb2ZmaWNpYWwgQ3l0b3NjYXBlLmpzIGRvY3VtZW50YXRpb25dKGh0dHBzOi8vanMuY3l0b3NjYXBlLm9yZy8jbm90YXRpb24vZWxlbWVudHMtanNvbilcbiAgICAgKiBvZmZlcnMgYW4gZXh0ZW5zaXZlIG92ZXJ2aWV3IGFuZCBleGFtcGxlcyBvZiBlbGVtZW50IGRlY2xhcmF0aW9uLlxuICAgICAqIEFsdGVybmF0aXZlbHksIGEgZGljdGlvbmFyeSB3aXRoIHRoZSBmb3JtYXQgeyAnbm9kZXMnOiBbXSwgJ2VkZ2VzJzogW10gfSBpcyBhbGxvd2VkIGF0IGluaXRpYWxpemF0aW9uLFxuICAgICAqIGJ1dCBhcnJheXMgcmVtYWluIHRoZSByZWNvbW1lbmRlZCBmb3JtYXQuXG4gICAgICovXG4gICAgZWxlbWVudHM6IFByb3BUeXBlcy5vbmVPZlR5cGUoW1xuICAgICAgICBQcm9wVHlwZXMuYXJyYXlPZihcbiAgICAgICAgICAgIFByb3BUeXBlcy5zaGFwZSh7XG4gICAgICAgICAgICAgICAgLyoqXG4gICAgICAgICAgICAgICAgICogRWl0aGVyICdub2Rlcycgb3IgJ2VkZ2VzJy4gSWYgbm90IGdpdmVuLCBpdCdzIGF1dG9tYXRpY2FsbHkgaW5mZXJyZWQuXG4gICAgICAgICAgICAgICAgICovXG4gICAgICAgICAgICAgICAgZ3JvdXA6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICAgICAgICAgICAgLyoqIEVsZW1lbnQgc3BlY2lmaWMgZGF0YS4qL1xuICAgICAgICAgICAgICAgIGRhdGE6IFByb3BUeXBlcy5zaGFwZSh7XG4gICAgICAgICAgICAgICAgICAgIC8qKiAgUmVmZXJlbmNlIHRvIHRoZSBlbGVtZW50LCB1c2VmdWwgZm9yIHNlbGVjdG9ycyBhbmQgZWRnZXMuIFJhbmRvbWx5IGFzc2lnbmVkIGlmIG5vdCBnaXZlbi4qL1xuICAgICAgICAgICAgICAgICAgICBpZDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgICAgICAgICAgICAgICAgLyoqXG4gICAgICAgICAgICAgICAgICAgICAqIE9wdGlvbmFsIG5hbWUgZm9yIHRoZSBlbGVtZW50LCB1c2VmdWwgd2hlbiBgZGF0YShsYWJlbClgIGlzIGdpdmVuIHRvIGEgc3R5bGUncyBgY29udGVudGBcbiAgICAgICAgICAgICAgICAgICAgICogb3IgYGxhYmVsYC4gSXQgaXMgb25seSBhIGNvbnZlbnRpb24uICovXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICAgICAgICAgICAgICAvKiogT25seSBmb3Igbm9kZXMuIE9wdGlvbmFsIHJlZmVyZW5jZSB0byBhbm90aGVyIG5vZGUuIE5lZWRlZCB0byBjcmVhdGUgY29tcG91bmQgbm9kZXMuICovXG4gICAgICAgICAgICAgICAgICAgIHBhcmVudDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgICAgICAgICAgICAgICAgLyoqIE9ubHkgZm9yIGVkZ2VzLiBUaGUgaWQgb2YgdGhlIHNvdXJjZSBub2RlLCB3aGljaCBpcyB3aGVyZSB0aGUgZWRnZSBzdGFydHMuICovXG4gICAgICAgICAgICAgICAgICAgIHNvdXJjZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgICAgICAgICAgICAgICAgLyoqIE9ubHkgZm9yIGVkZ2VzLiBUaGUgaWQgb2YgdGhlIHRhcmdldCBub2RlLCB3aGVyZSB0aGUgZWRnZSBlbmRzLiAqL1xuICAgICAgICAgICAgICAgICAgICB0YXJnZXQ6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgLyoqIE9ubHkgZm9yIG5vZGVzLiBUaGUgcG9zaXRpb24gb2YgdGhlIG5vZGUuICovXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IFByb3BUeXBlcy5zaGFwZSh7XG4gICAgICAgICAgICAgICAgICAgIC8qKiBUaGUgeC1jb29yZGluYXRlIG9mIHRoZSBub2RlLiAqL1xuICAgICAgICAgICAgICAgICAgICB4OiBQcm9wVHlwZXMubnVtYmVyLFxuICAgICAgICAgICAgICAgICAgICAvKiogVGhlIHktY29vcmRpbmF0ZSBvZiB0aGUgbm9kZS4gKi9cbiAgICAgICAgICAgICAgICAgICAgeTogUHJvcFR5cGVzLm51bWJlcixcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAvKiogSWYgdGhlIGVsZW1lbnQgaXMgc2VsZWN0ZWQgdXBvbiBpbml0aWFsaXNhdGlvbi4gKi9cbiAgICAgICAgICAgICAgICBzZWxlY3RlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgICAgICAgICAgICAgLyoqIElmIHRoZSBlbGVtZW50IGNhbiBiZSBzZWxlY3RlZC4gKi9cbiAgICAgICAgICAgICAgICBzZWxlY3RhYmxlOiBQcm9wVHlwZXMuYm9vbCxcbiAgICAgICAgICAgICAgICAvKiogT25seSBmb3Igbm9kZXMuIElmIHRoZSBwb3NpdGlvbiBpcyBpbW11dGFibGUuICovXG4gICAgICAgICAgICAgICAgbG9ja2VkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICAgICAgICAgICAgICAvKiogT25seSBmb3Igbm9kZXMuIElmIHRoZSBub2RlIGNhbiBiZSBncmFiYmVkIGFuZCBtb3ZlZCBieSB0aGUgdXNlci4gKi9cbiAgICAgICAgICAgICAgICBncmFiYmFibGU6IFByb3BUeXBlcy5ib29sLFxuICAgICAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICAgICAqIFNwYWNlIHNlcGFyYXRlZCBzdHJpbmcgb2YgY2xhc3MgbmFtZXMgb2YgdGhlIGVsZW1lbnQuIFRob3NlIGNsYXNzZXMgY2FuIGJlIHNlbGVjdGVkXG4gICAgICAgICAgICAgICAgICogYnkgYSBzdHlsZSBzZWxlY3Rvci5cbiAgICAgICAgICAgICAgICAgKi9cbiAgICAgICAgICAgICAgICBjbGFzc2VzOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgKSxcbiAgICAgICAgUHJvcFR5cGVzLmV4YWN0KHtcbiAgICAgICAgICAgIG5vZGVzOiBQcm9wVHlwZXMuYXJyYXksXG4gICAgICAgICAgICBlZGdlczogUHJvcFR5cGVzLmFycmF5LFxuICAgICAgICB9KSxcbiAgICBdKSxcblxuICAgIC8qKlxuICAgICAqIEEgbGlzdCBvZiBkaWN0aW9uYXJpZXMgcmVwcmVzZW50aW5nIHRoZSBzdHlsZXMgb2YgdGhlIGVsZW1lbnRzLlxuICAgICAqIEVhY2ggZGljdGlvbmFyeSByZXF1aXJlcyB0aGUgZm9sbG93aW5nIGtleXM6IGBzZWxlY3RvcmAgYW5kIGBzdHlsZWAuXG4gICAgICpcbiAgICAgKiBCb3RoIHRoZSBbc2VsZWN0b3JdKGh0dHBzOi8vanMuY3l0b3NjYXBlLm9yZy8jc2VsZWN0b3JzKSBhbmRcbiAgICAgKiB0aGUgW3N0eWxlXShodHRwczovL2pzLmN5dG9zY2FwZS5vcmcvI3N0eWxlL25vZGUtYm9keSkgYXJlXG4gICAgICogZXhoYXVzdGl2ZWx5IGRvY3VtZW50ZWQgaW4gdGhlIEN5dG9zY2FwZS5qcyBkb2NzLiBBbHRob3VnaCBtZXRob2RzIHN1Y2hcbiAgICAgKiBhcyBgY3kuZWxlbWVudHMoLi4uKWAgYW5kIGBjeS5maWx0ZXIoLi4uKWAgYXJlIG5vdCBhdmFpbGFibGUsIHRoZSBzZWxlY3RvclxuICAgICAqIHN0cmluZyBzeW50YXggc3RheXMgdGhlIHNhbWUuXG4gICAgICovXG4gICAgc3R5bGVzaGVldDogUHJvcFR5cGVzLmFycmF5T2YoXG4gICAgICAgIFByb3BUeXBlcy5leGFjdCh7XG4gICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAqIFdoaWNoIGVsZW1lbnRzIHlvdSBhcmUgc3R5bGluZy4gR2VuZXJhbGx5LCB5b3Ugc2VsZWN0IGEgZ3JvdXAgb2YgZWxlbWVudHMgKG5vZGUsIGVkZ2VzLCBib3RoKSxcbiAgICAgICAgICAgICAqIGEgY2xhc3MgKHRoYXQgeW91IGRlY2xhcmUgaW4gdGhlIGVsZW1lbnQgZGljdGlvbmFyeSksIG9yIGFuIGVsZW1lbnQgYnkgSUQuXG4gICAgICAgICAgICAgKi9cbiAgICAgICAgICAgIHNlbGVjdG9yOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAqIFdoYXQgYXNwZWN0cyBvZiB0aGUgZWxlbWVudHMgeW91IHdhbnQgdG8gbW9kaWZ5LiBUaGlzIGNvdWxkIGJlIHRoZSBzaXplIG9yXG4gICAgICAgICAgICAgKiBjb2xvciBvZiBhIG5vZGUsIHRoZSBzaGFwZSBvZiBhbiBlZGdlIGFycm93LCBvciBtYW55IG1vcmUuXG4gICAgICAgICAgICAgKi9cbiAgICAgICAgICAgIHN0eWxlOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWQsXG4gICAgICAgIH0pXG4gICAgKSxcblxuICAgIC8qKlxuICAgICAqIEEgZGljdGlvbmFyeSBzcGVjaWZ5aW5nIGhvdyB0byBzZXQgdGhlIHBvc2l0aW9uIG9mIHRoZSBlbGVtZW50cyBpbiB5b3VyXG4gICAgICogZ3JhcGguIFRoZSBgJ25hbWUnYCBrZXkgaXMgcmVxdWlyZWQsIGFuZCBpbmRpY2F0ZXMgd2hpY2ggbGF5b3V0IChhbGdvcml0aG0pIHRvXG4gICAgICogdXNlLiBUaGUga2V5cyBhY2NlcHRlZCBieSBgbGF5b3V0YCB2YXJ5IGRlcGVuZGluZyBvbiB0aGUgYWxnb3JpdGhtLCBidXQgdGhlc2VcbiAgICAgKiBrZXlzIGFyZSBhY2NlcHRlZCBieSBhbGwgbGF5b3V0czogYGZpdGAsICBgcGFkZGluZ2AsIGBhbmltYXRlYCwgYGFuaW1hdGlvbkR1cmF0aW9uYCxcbiAgICAgKiBgYm91bmRpbmdCb3hgLlxuICAgICAqXG4gICAgICogIFRoZSBjb21wbGV0ZSBsaXN0IG9mIGxheW91dHMgYW5kIHRoZWlyIGFjY2VwdGVkIG9wdGlvbnMgYXJlIGF2YWlsYWJsZSBvbiB0aGVcbiAgICAgKiAgW0N5dG9zY2FwZS5qcyBkb2NzXShodHRwczovL2pzLmN5dG9zY2FwZS5vcmcvI2xheW91dHMpIC4gRm9yIHRoZSBleHRlcm5hbCBsYXlvdXRzLFxuICAgICAqIHRoZSBvcHRpb25zIGFyZSBsaXN0ZWQgaW4gdGhlIFwiQVBJXCIgc2VjdGlvbiBvZiB0aGUgIFJFQURNRS5cbiAgICAgKiAgTm90ZSB0aGF0IGNlcnRhaW4ga2V5cyBhcmUgbm90IHN1cHBvcnRlZCBpbiBEYXNoIHNpbmNlIHRoZSB2YWx1ZSBpcyBhIEphdmFTY3JpcHRcbiAgICAgKiAgZnVuY3Rpb24gb3IgYSBjYWxsYmFjay4gUGxlYXNlIHZpc2l0IHRoaXNcbiAgICAgKiBbaXNzdWVdKGh0dHBzOi8vZ2l0aHViLmNvbS9wbG90bHkvZGFzaC1jeXRvc2NhcGUvaXNzdWVzLzI1KSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiAgICAgKi9cbiAgICBsYXlvdXQ6IFByb3BUeXBlcy5zaGFwZSh7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBUaGUgbGF5b3V0cyBhdmFpbGFibGUgYnkgZGVmYXVsdCBhcmU6XG4gICAgICAgICAqICAgYHJhbmRvbWA6IFJhbmRvbWx5IGFzc2lnbnMgcG9zaXRpb25zLlxuICAgICAgICAgKiAgIGBwcmVzZXRgOiBBc3NpZ25zIHBvc2l0aW9uIGJhc2VkIG9uIHRoZSBgcG9zaXRpb25gIGtleSBpbiBlbGVtZW50IGRpY3Rpb25hcmllcy5cbiAgICAgICAgICogICBgY2lyY2xlYDogU2luZ2xlLWxldmVsIGNpcmNsZSwgd2l0aCBvcHRpb25hbCByYWRpdXMuXG4gICAgICAgICAqICAgYGNvbmNlbnRyaWNgOiBNdWx0aS1sZXZlbCBjaXJjbGUsIHdpdGggb3B0aW9uYWwgcmFkaXVzLlxuICAgICAgICAgKiAgIGBncmlkYDogU3F1YXJlIGdyaWQsIG9wdGlvbmFsbHkgd2l0aCBudW1iZXJzIG9mIGByb3dzYCBhbmQgYGNvbHNgLlxuICAgICAgICAgKiAgIGBicmVhZHRoZmlyc3RgOiBUcmVlIHN0cnVjdHVyZSBidWlsdCB1c2luZyBCRlMsIHdpdGggb3B0aW9uYWwgYHJvb3RzYC5cbiAgICAgICAgICogICBgY29zZWA6IEZvcmNlLWRpcmVjdGVkIHBoeXNpY3Mgc2ltdWxhdGlvbi5cbiAgICAgICAgICpcbiAgICAgICAgICogU29tZSBleHRlcm5hbCBsYXlvdXRzIGFyZSBhbHNvIGluY2x1ZGVkLiBUbyB1c2UgdGhlbSwgcnVuXG4gICAgICAgICAqICAgYGRhc2hfY3l0b3NjYXBlLmxvYWRfZXh0cmFfbGF5b3V0cygpYCBiZWZvcmUgY3JlYXRpbmcgeW91ciBEYXNoIGFwcC4gQmUgY2FyZWZ1bCBhYm91dFxuICAgICAgICAgKiAgIHVzaW5nIHRoZSBleHRyYSBsYXlvdXRzIHdoZW4gbm90IG5lY2Vzc2FyeSwgc2luY2UgdGhleSByZXF1aXJlIHN1cHBsZW1lbnRhcnkgYmFuZHdpZHRoXG4gICAgICAgICAqICAgZm9yIGxvYWRpbmcsIHdoaWNoIGltcGFjdHMgdGhlIHN0YXJ0dXAgdGltZSBvZiB0aGUgYXBwLlxuICAgICAgICAgKiAgIFRoZSBleHRlcm5hbCBsYXlvdXRzIGFyZTpcbiAgICAgICAgICogICBbY29zZS1iaWxrZW50XShodHRwczovL2dpdGh1Yi5jb20vY3l0b3NjYXBlL2N5dG9zY2FwZS5qcy1jb3NlLWJpbGtlbnQpLFxuICAgICAgICAgKiAgIFtmY29zZV0oaHR0cHM6Ly9naXRodWIuY29tL2lWaXMtYXQtQmlsa2VudC9jeXRvc2NhcGUuanMtZmNvc2UpLFxuICAgICAgICAgKiAgIFtjb2xhXShodHRwczovL2dpdGh1Yi5jb20vY3l0b3NjYXBlL2N5dG9zY2FwZS5qcy1jb2xhKSxcbiAgICAgICAgICogICBbZXVsZXJdKGh0dHBzOi8vZ2l0aHViLmNvbS9jeXRvc2NhcGUvY3l0b3NjYXBlLmpzLWRhZ3JlKSxcbiAgICAgICAgICogICBbc3ByZWFkXShodHRwczovL2dpdGh1Yi5jb20vY3l0b3NjYXBlL2N5dG9zY2FwZS5qcy1zcHJlYWQpLFxuICAgICAgICAgKiAgIFtkYWdyZV0oaHR0cHM6Ly9naXRodWIuY29tL2N5dG9zY2FwZS9jeXRvc2NhcGUuanMtZGFncmUpLFxuICAgICAgICAgKiAgIFtrbGF5XShodHRwczovL2dpdGh1Yi5jb20vY3l0b3NjYXBlL2N5dG9zY2FwZS5qcy1rbGF5KSxcbiAgICAgICAgICovXG4gICAgICAgIG5hbWU6IFByb3BUeXBlcy5vbmVPZihbXG4gICAgICAgICAgICAncmFuZG9tJyxcbiAgICAgICAgICAgICdwcmVzZXQnLFxuICAgICAgICAgICAgJ2NpcmNsZScsXG4gICAgICAgICAgICAnY29uY2VudHJpYycsXG4gICAgICAgICAgICAnZ3JpZCcsXG4gICAgICAgICAgICAnYnJlYWR0aGZpcnN0JyxcbiAgICAgICAgICAgICdjb3NlJyxcbiAgICAgICAgICAgICdjb3NlLWJpbGtlbnQnLFxuICAgICAgICAgICAgJ2Zjb3NlJyxcbiAgICAgICAgICAgICdjb2xhJyxcbiAgICAgICAgICAgICdldWxlcicsXG4gICAgICAgICAgICAnc3ByZWFkJyxcbiAgICAgICAgICAgICdkYWdyZScsXG4gICAgICAgICAgICAna2xheScsXG4gICAgICAgIF0pLmlzUmVxdWlyZWQsXG4gICAgICAgIC8qKiAgV2hldGhlciB0byByZW5kZXIgdGhlIG5vZGVzIGluIG9yZGVyIHRvIGZpdCB0aGUgY2FudmFzLiAqL1xuICAgICAgICBmaXQ6IFByb3BUeXBlcy5ib29sLFxuICAgICAgICAvKiogUGFkZGluZyBhcm91bmQgdGhlIHNpZGVzIG9mIHRoZSBjYW52YXMsIGlmIGZpdCBpcyBlbmFibGVkLiAqL1xuICAgICAgICBwYWRkaW5nOiBQcm9wVHlwZXMubnVtYmVyLFxuICAgICAgICAvKiogV2hldGhlciB0byBhbmltYXRlIGNoYW5nZSBpbiBwb3NpdGlvbiB3aGVuIHRoZSBsYXlvdXQgY2hhbmdlcy4gKi9cbiAgICAgICAgYW5pbWF0ZTogUHJvcFR5cGVzLmJvb2wsXG4gICAgICAgIC8qKiBEdXJhdGlvbiBvZiBhbmltYXRpb24gaW4gbWlsbGlzZWNvbmRzLCBpZiBlbmFibGVkLiAqL1xuICAgICAgICBhbmltYXRpb25EdXJhdGlvbjogUHJvcFR5cGVzLm51bWJlcixcbiAgICAgICAgLyoqXG4gICAgICAgICAqIEhvdyB0byBjb25zdHJhaW4gdGhlIGxheW91dCBpbiBhIHNwZWNpZmljIGFyZWEuIEtleXMgYWNjZXB0ZWQgYXJlIGVpdGhlclxuICAgICAgICAgKiBgeDEsIHkxLCB4MiwgeTJgIG9yIGB4MSwgeTEsIHcsIGhgLCBhbGwgb2Ygd2hpY2ggcmVjZWl2ZSBhIHBpeGVsIHZhbHVlLlxuICAgICAgICAgKi9cbiAgICAgICAgYm91bmRpbmdCb3g6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgfSksXG4gICAgLyoqXG4gICAgICogRGVmaW5lIGEgY3VzdG9tIGNvbnRleHQgbWVudS4gVGhlIGJlaGF2aW91ciBvZiBlYWNoIG1lbnUgaXRlbSBjYW4gYmUgZGVmaW5lZCBpbiAxIG9mIDMgd2F5cy5cbiAgICAgKiAxLiBCeSBwYXNzaW5nIGEgc3RyaW5nIHRvIG9uQ2xpY2sgdGhhdCByZWZlcnMgdG8gb25lIG9mIHRoZSBidWlsdC1pbiBKYXZhc2NyaXB0IGZ1bmN0aW9ucy5cbiAgICAgKiAyLiBCeSBwYXNzaW5nIGEgc3RyaW5nIHRvIG9uQ2xpY2tDdXN0b20gdGhhdCByZWZlcnMgdG8gb25lIG9mIHRoZSB1c2VyLWRlZmluZWQgZnVuY3Rpb25zIGluIGEgbmFtZXNwYWNlLlxuICAgICAqIDMuIEJ5IG9taXR0aW5nIGJvdGggb2YgdGhlc2UgcHJvcGVydGllczsgdGhpcyB3aWxsIHVwZGF0ZSB0aGUgY29udGV4dE1lbnVEYXRhIHByb3BlcnR5IGFuZCB0cmlnZ2VyIGEgRGFzaCBjYWxsYmFjay5cbiAgICAgKi9cbiAgICBjb250ZXh0TWVudTogUHJvcFR5cGVzLmFycmF5T2YoXG4gICAgICAgIFByb3BUeXBlcy5leGFjdCh7XG4gICAgICAgICAgICAvKiogSUQgb2YgdGhlIG1lbnUgaXRlbSBpbiB0aGUgY29udGV4dCBtZW51ICovXG4gICAgICAgICAgICBpZDogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICAgICAgICAgICAgLyoqIFRoZSBsYWJlbCBvbiB0aGUgY29udGV4dCBtZW51IGl0ZW0qL1xuICAgICAgICAgICAgbGFiZWw6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgICAgICAgICAgIC8qKiBUaGUgdG9vbHRpcCB0ZXh0IHdoZW4gaG92ZXJpbmcgb24gdG9wIG9mIGEgY29udGV4dCBtZW51IGl0ZW0gKi9cbiAgICAgICAgICAgIHRvb2x0aXBUZXh0OiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICAgICAgLyoqIEEgbGlzdCBjb250YWluaW5nIGVpdGhlciAnbm9kZScsICdlZGdlJyxhbmQvb3IgJ2NhbnZhcycuIFRoaXMgd2lsbCBkZXRlcm1pbmUgd2hlcmUgdGhlIGNvbnRleHRcbiAgICAgICAgICAgICAqICBtZW51IGl0ZW0gd2lsbCBzaG93IHVwLlxuICAgICAgICAgICAgICovXG4gICAgICAgICAgICBhdmFpbGFibGVPbjogUHJvcFR5cGVzLmFycmF5LFxuICAgICAgICAgICAgLyoqIFNwZWNpZnkgd2hpY2ggYnVpbHQtaW4gSmF2YVNjcmlwdCBmdW5jdGlvbiB0byB1c2UgYXMgYmVoYXZpb3VyIGZvciB0aGUgY29udGV4dFxuICAgICAgICAgICAgICogbWVudSBpdGVtLiBPbmUgb2YgJ3JlbW92ZScsICdhZGRfbm9kZScsIG9yICdhZGRfZWRnZSdcbiAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgb25DbGljazogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgICAgICAgIC8qKiBTcGVjaWZ5IHdoaWNoIHVzZXItZGVmaW5lZCBKYXZhc2NyaXB0IGZ1bmN0aW9uIHRvIHVzZSBpbiB0aGUgZGFzaEN5dG9zY2FwZUZ1bmN0aW9uc1xuICAgICAgICAgICAgICogbmFtZXNwYWNlIGFzIGJlaGF2aW91ciBmb3IgdGhlIGNvbnRleHQgbWVudSBpdGVtXG4gICAgICAgICAgICAgKi9cbiAgICAgICAgICAgIG9uQ2xpY2tDdXN0b206IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICAgIH0pXG4gICAgKSxcbiAgICAvKipcbiAgICAgKiBSZXRyaWV2ZSByZWxldmFudCBkYXRhIHdoZW4gYSBjb250ZXh0IG1lbnUgaXRlbSBpcyBjbGlja2VkLiAgUmVhZC1vbmx5LlxuICAgICAqL1xuICAgIGNvbnRleHRNZW51RGF0YTogUHJvcFR5cGVzLmV4YWN0KHtcbiAgICAgICAgLyoqIElEIG9mIHRoZSBtZW51IGl0ZW0gaW4gdGhlIGNvbnRleHQgbWVudSAqL1xuICAgICAgICBtZW51SXRlbUlkOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICAvKiogeC1wb3NpdGlvbiBvZiB0aGUgY29udGV4dCBjbGljayAqL1xuICAgICAgICB4OiBQcm9wVHlwZXMubnVtYmVyLFxuICAgICAgICAvKiogeS1wb3NpdGlvbiBvZiB0aGUgY29udGV4dCBjbGljayAqL1xuICAgICAgICB5OiBQcm9wVHlwZXMubnVtYmVyLFxuICAgICAgICAvKiogVGltZXN0YW1wIG9mIGNvbnRleHQgY2xpY2sqL1xuICAgICAgICB0aW1lU3RhbXA6IFByb3BUeXBlcy5udW1iZXIsXG4gICAgICAgIC8qKiBFbGVtZW50IElEIG9uIGNvbnRleHQgY2xpY2sgaWYgdGhlIGNvbnRleHQgY2xpY2sgd2FzIG9uIGFuIGVsZW1lbnQuXG4gICAgICAgICAqIElmIGNvbnRleHQgY2xpY2sgd2FzIG9uIHdoaXRlIHNwYWNlLCB0aGlzIHByb3BlcnR5IGlzIG5vdCByZXR1cm5lZFxuICAgICAgICAgKi9cbiAgICAgICAgZWxlbWVudElkOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICAvKiogTm9kZSBJRCBvZiB0aGUgZWRnZSBzb3VyY2UgaWYgdGhlIGNsaWNrZWQgZWxlbWVudCBpcyBhbiBlZGdlLFxuICAgICAgICAgKiBvciBlbHNlIHRoaXMgcHJvcGVydHkgaXMgbm90IHJldHVybmVkKi9cbiAgICAgICAgZWRnZVNvdXJjZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgICAgLyoqIE5vZGUgSUQgb2YgdGhlIGVkZ2UgdGFyZ2V0IGlmIHRoZSBjbGlja2VkIGVsZW1lbnQgaXMgYW4gZWRnZSxcbiAgICAgICAgICogb3IgZWxzZSB0aGlzIHByb3BlcnR5IGlzIG5vdCByZXR1cm5lZCovXG4gICAgICAgIGVkZ2VUYXJnZXQ6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgfSksXG4gICAgLy8gVmlld3BvcnQgTWFuaXB1bGF0aW9uXG5cbiAgICAvKipcbiAgICAgKiBEaWN0aW9uYXJ5IGluZGljYXRpbmcgdGhlIGluaXRpYWwgcGFubmluZyBwb3NpdGlvbiBvZiB0aGUgZ3JhcGguIFRoZVxuICAgICAqIGZvbGxvd2luZyBrZXlzIGFyZSBhY2NlcHRlZDpcbiAgICAgKi9cbiAgICBwYW46IFByb3BUeXBlcy5leGFjdCh7XG4gICAgICAgIC8qKiBUaGUgeC1jb29yZGluYXRlIG9mIHRoZSBub2RlICovXG4gICAgICAgIHg6IFByb3BUeXBlcy5udW1iZXIsXG4gICAgICAgIC8qKiBUaGUgeS1jb29yZGluYXRlIG9mIHRoZSBub2RlICAqL1xuICAgICAgICB5OiBQcm9wVHlwZXMubnVtYmVyLFxuICAgIH0pLFxuXG4gICAgLyoqXG4gICAgICogVGhlIGluaXRpYWwgem9vbSBsZXZlbCBvZiB0aGUgZ3JhcGguIFlvdSBjYW4gc2V0IGBtaW5ab29tYCBhbmRcbiAgICAgKiBgbWF4Wm9vbWAgdG8gc2V0IHJlc3RyaWN0aW9ucyBvbiB0aGUgem9vbSBsZXZlbC5cbiAgICAgKi9cbiAgICB6b29tOiBQcm9wVHlwZXMubnVtYmVyLFxuXG4gICAgLy8gVmlld3BvcnQgTXV0YWJpbGl0eSBhbmQgZ2VzdHVyZSBUb2dnbGluZ1xuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgcGFubmluZyB0aGUgZ3JhcGggaXMgZW5hYmxlZCAoaS5lLiwgdGhlIHBvc2l0aW9uIG9mIHRoZSBncmFwaCBpc1xuICAgICAqIG11dGFibGUgb3ZlcmFsbCkuXG4gICAgICovXG4gICAgcGFubmluZ0VuYWJsZWQ6IFByb3BUeXBlcy5ib29sLFxuXG4gICAgLyoqXG4gICAgICogV2hldGhlciB1c2VyIGV2ZW50cyAoZS5nLiBkcmFnZ2luZyB0aGUgZ3JhcGggYmFja2dyb3VuZCkgYXJlIGFsbG93ZWQgdG9cbiAgICAgKiBwYW4gdGhlIGdyYXBoLlxuICAgICAqL1xuICAgIHVzZXJQYW5uaW5nRW5hYmxlZDogUHJvcFR5cGVzLmJvb2wsXG5cbiAgICAvKipcbiAgICAgKiBBIG1pbmltdW0gYm91bmQgb24gdGhlIHpvb20gbGV2ZWwgb2YgdGhlIGdyYXBoLiBUaGUgdmlld3BvcnQgY2FuIG5vdCBiZVxuICAgICAqIHNjYWxlZCBzbWFsbGVyIHRoYW4gdGhpcyB6b29tIGxldmVsLlxuICAgICAqL1xuICAgIG1pblpvb206IFByb3BUeXBlcy5udW1iZXIsXG5cbiAgICAvKipcbiAgICAgKiBBIG1heGltdW0gYm91bmQgb24gdGhlIHpvb20gbGV2ZWwgb2YgdGhlIGdyYXBoLiBUaGUgdmlld3BvcnQgY2FuIG5vdCBiZVxuICAgICAqIHNjYWxlZCBsYXJnZXIgdGhhbiB0aGlzIHpvb20gbGV2ZWwuXG4gICAgICovXG4gICAgbWF4Wm9vbTogUHJvcFR5cGVzLm51bWJlcixcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgem9vbWluZyB0aGUgZ3JhcGggaXMgZW5hYmxlZCAoaS5lLiwgdGhlIHpvb20gbGV2ZWwgb2YgdGhlIGdyYXBoXG4gICAgICogaXMgbXV0YWJsZSBvdmVyYWxsKS5cbiAgICAgKi9cbiAgICB6b29taW5nRW5hYmxlZDogUHJvcFR5cGVzLmJvb2wsXG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHVzZXIgZXZlbnRzIChlLmcuIGRyYWdnaW5nIHRoZSBncmFwaCBiYWNrZ3JvdW5kKSBhcmUgYWxsb3dlZFxuICAgICAqIHRvIHBhbiB0aGUgZ3JhcGguXG4gICAgICovXG4gICAgdXNlclpvb21pbmdFbmFibGVkOiBQcm9wVHlwZXMuYm9vbCxcblxuICAgIC8qKlxuICAgICAqIENoYW5nZXMgdGhlIHNjcm9sbCB3aGVlbCBzZW5zaXRpdml0eSB3aGVuIHpvb21pbmcuXG4gICAgICovXG4gICAgd2hlZWxTZW5zaXRpdml0eTogUHJvcFR5cGVzLm51bWJlcixcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgYm94IHNlbGVjdGlvbiAoaS5lLiBkcmFnIGEgYm94IG92ZXJsYXkgYXJvdW5kLCBhbmQgcmVsZWFzZSBpdFxuICAgICAqIHRvIHNlbGVjdCkgaXMgZW5hYmxlZC4gSWYgZW5hYmxlZCwgdGhlIHVzZXIgbXVzdCB0YXBob2xkIHRvIHBhbiB0aGUgZ3JhcGguXG4gICAgICovXG4gICAgYm94U2VsZWN0aW9uRW5hYmxlZDogUHJvcFR5cGVzLmJvb2wsXG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIG5vZGVzIHNob3VsZCBiZSB1bmdyYWJpZmllZCAobm90IGdyYWJiYWJsZSBieSB1c2VyKSBieVxuICAgICAqIGRlZmF1bHQgKGlmIHRydWUsIG92ZXJyaWRlcyBpbmRpdmlkdWFsIG5vZGUgc3RhdGUpLlxuICAgICAqL1xuICAgIGF1dG91bmdyYWJpZnk6IFByb3BUeXBlcy5ib29sLFxuXG4gICAgLyoqXG4gICAgICogV2hldGhlciBub2RlcyBzaG91bGQgYmUgbG9ja2VkIChub3QgZHJhZ2dhYmxlIGF0IGFsbCkgYnkgZGVmYXVsdFxuICAgICAqIChpZiB0cnVlLCBvdmVycmlkZXMgaW5kaXZpZHVhbCBub2RlIHN0YXRlKS5cbiAgICAgKi9cbiAgICBhdXRvbG9jazogUHJvcFR5cGVzLmJvb2wsXG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIG5vZGVzIHNob3VsZCBiZSB1bnNlbGVjdGlmaWVkIChpbW11dGFibGUgc2VsZWN0aW9uIHN0YXRlKSBieVxuICAgICAqIGRlZmF1bHQgKGlmIHRydWUsIG92ZXJyaWRlcyBpbmRpdmlkdWFsIGVsZW1lbnQgc3RhdGUpLlxuICAgICAqL1xuICAgIGF1dG91bnNlbGVjdGlmeTogUHJvcFR5cGVzLmJvb2wsXG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRoZSBsYXlvdXQgc2hvdWxkIGJlIHJlZnJlc2hlZCB3aGVuIGVsZW1lbnRzIGFyZSBhZGRlZCBvciByZW1vdmVkLlxuICAgICAqL1xuICAgIGF1dG9SZWZyZXNoTGF5b3V0OiBQcm9wVHlwZXMuYm9vbCxcblxuICAgIC8vIFVzZXIgRXZlbnRzIFByb3BzXG5cbiAgICAvKipcbiAgICAgKiBUaGUgY29tcGxldGUgbm9kZSBkaWN0aW9uYXJ5IHJldHVybmVkIHdoZW4geW91IHRhcCBvciBjbGljayBpdC4gUmVhZC1vbmx5LlxuICAgICAqL1xuICAgIHRhcE5vZGU6IFByb3BUeXBlcy5leGFjdCh7XG4gICAgICAgIC8qKiBub2RlIHNwZWNpZmljIGl0ZW0gKi9cbiAgICAgICAgZWRnZXNEYXRhOiBQcm9wVHlwZXMuYXJyYXksXG4gICAgICAgIC8qKiBub2RlIHNwZWNpZmljIGl0ZW0gKi9cbiAgICAgICAgcmVuZGVyZWRQb3NpdGlvbjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICAgICAgLyoqIG5vZGUgc3BlY2lmaWMgaXRlbSAqL1xuICAgICAgICB0aW1lU3RhbXA6IFByb3BUeXBlcy5udW1iZXIsXG4gICAgICAgIC8qKiBHZW5lcmFsIGl0ZW0gKGZvciBhbGwgZWxlbWVudHMpICovXG4gICAgICAgIGNsYXNzZXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICAgIC8qKiBHZW5lcmFsIGl0ZW0gKGZvciBhbGwgZWxlbWVudHMpICovXG4gICAgICAgIGRhdGE6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgICAgIC8qKiBHZW5lcmFsIGl0ZW0gKGZvciBhbGwgZWxlbWVudHMpICovXG4gICAgICAgIGdyYWJiYWJsZTogUHJvcFR5cGVzLmJvb2wsXG4gICAgICAgIC8qKiBHZW5lcmFsIGl0ZW0gKGZvciBhbGwgZWxlbWVudHMpICovXG4gICAgICAgIGdyb3VwOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICAvKiogR2VuZXJhbCBpdGVtIChmb3IgYWxsIGVsZW1lbnRzKSAqL1xuICAgICAgICBsb2NrZWQ6IFByb3BUeXBlcy5ib29sLFxuICAgICAgICAvKiogR2VuZXJhbCBpdGVtIChmb3IgYWxsIGVsZW1lbnRzKSAqL1xuICAgICAgICBwb3NpdGlvbjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICAgICAgLyoqIEdlbmVyYWwgaXRlbSAoZm9yIGFsbCBlbGVtZW50cykgKi9cbiAgICAgICAgc2VsZWN0YWJsZTogUHJvcFR5cGVzLmJvb2wsXG4gICAgICAgIC8qKiBHZW5lcmFsIGl0ZW0gKGZvciBhbGwgZWxlbWVudHMpICovXG4gICAgICAgIHNlbGVjdGVkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICAgICAgLyoqIEdlbmVyYWwgaXRlbSAoZm9yIGFsbCBlbGVtZW50cykgKi9cbiAgICAgICAgc3R5bGU6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgICAgIC8qKiBJdGVtIGZvciBjb21wb3VuZCBub2RlcyAqL1xuICAgICAgICBhbmNlc3RvcnNEYXRhOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMub2JqZWN0LCBQcm9wVHlwZXMuYXJyYXldKSxcbiAgICAgICAgLyoqIEl0ZW0gZm9yIGNvbXBvdW5kIG5vZGVzICovXG4gICAgICAgIGNoaWxkcmVuRGF0YTogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLm9iamVjdCwgUHJvcFR5cGVzLmFycmF5XSksXG4gICAgICAgIC8qKiBJdGVtIGZvciBjb21wb3VuZCBub2RlcyAqL1xuICAgICAgICBkZXNjZW5kYW50c0RhdGE6IFByb3BUeXBlcy5vbmVPZlR5cGUoW1xuICAgICAgICAgICAgUHJvcFR5cGVzLm9iamVjdCxcbiAgICAgICAgICAgIFByb3BUeXBlcy5hcnJheSxcbiAgICAgICAgXSksXG4gICAgICAgIC8qKiBJdGVtIGZvciBjb21wb3VuZCBub2RlcyAqL1xuICAgICAgICBwYXJlbnREYXRhOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMub2JqZWN0LCBQcm9wVHlwZXMuYXJyYXldKSxcbiAgICAgICAgLyoqIEl0ZW0gZm9yIGNvbXBvdW5kIG5vZGVzICovXG4gICAgICAgIHNpYmxpbmdzRGF0YTogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLm9iamVjdCwgUHJvcFR5cGVzLmFycmF5XSksXG4gICAgICAgIC8qKiBJdGVtIGZvciBjb21wb3VuZCBub2RlcyAqL1xuICAgICAgICBpc1BhcmVudDogUHJvcFR5cGVzLmJvb2wsXG4gICAgICAgIC8qKiBJdGVtIGZvciBjb21wb3VuZCBub2RlcyAqL1xuICAgICAgICBpc0NoaWxkbGVzczogUHJvcFR5cGVzLmJvb2wsXG4gICAgICAgIC8qKiBJdGVtIGZvciBjb21wb3VuZCBub2RlcyAqL1xuICAgICAgICBpc0NoaWxkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICAgICAgLyoqIEl0ZW0gZm9yIGNvbXBvdW5kIG5vZGVzICovXG4gICAgICAgIGlzT3JwaGFuOiBQcm9wVHlwZXMuYm9vbCxcbiAgICAgICAgLyoqIEl0ZW0gZm9yIGNvbXBvdW5kIG5vZGVzICovXG4gICAgICAgIHJlbGF0aXZlUG9zaXRpb246IFByb3BUeXBlcy5vYmplY3QsXG4gICAgfSksXG5cbiAgICAvKipcbiAgICAgKiBUaGUgZGF0YSBkaWN0aW9uYXJ5IG9mIGEgbm9kZSByZXR1cm5lZCB3aGVuIHlvdSB0YXAgb3IgY2xpY2sgaXQuIFJlYWQtb25seS5cbiAgICAgKi9cbiAgICB0YXBOb2RlRGF0YTogUHJvcFR5cGVzLm9iamVjdCxcblxuICAgIC8qKlxuICAgICAqIFRoZSBjb21wbGV0ZSBlZGdlIGRpY3Rpb25hcnkgcmV0dXJuZWQgd2hlbiB5b3UgdGFwIG9yIGNsaWNrIGl0LiBSZWFkLW9ubHkuXG4gICAgICovXG4gICAgdGFwRWRnZTogUHJvcFR5cGVzLmV4YWN0KHtcbiAgICAgICAgLyoqIEVkZ2Utc3BlY2lmaWMgaXRlbSAqL1xuICAgICAgICBpc0xvb3A6IFByb3BUeXBlcy5ib29sLFxuICAgICAgICAvKiogRWRnZS1zcGVjaWZpYyBpdGVtICovXG4gICAgICAgIGlzU2ltcGxlOiBQcm9wVHlwZXMuYm9vbCxcbiAgICAgICAgLyoqIEVkZ2Utc3BlY2lmaWMgaXRlbSAqL1xuICAgICAgICBtaWRwb2ludDogUHJvcFR5cGVzLm9iamVjdCxcbiAgICAgICAgLyoqIEVkZ2Utc3BlY2lmaWMgaXRlbSAqL1xuICAgICAgICBzb3VyY2VEYXRhOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgICAgICAvKiogRWRnZS1zcGVjaWZpYyBpdGVtICovXG4gICAgICAgIHNvdXJjZUVuZHBvaW50OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgICAgICAvKiogRWRnZS1zcGVjaWZpYyBpdGVtICovXG4gICAgICAgIHRhcmdldERhdGE6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgICAgIC8qKiBFZGdlLXNwZWNpZmljIGl0ZW0gKi9cbiAgICAgICAgdGFyZ2V0RW5kcG9pbnQ6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgICAgIC8qKiBFZGdlLXNwZWNpZmljIGl0ZW0gKi9cbiAgICAgICAgdGltZVN0YW1wOiBQcm9wVHlwZXMubnVtYmVyLFxuICAgICAgICAvKiogR2VuZXJhbCBpdGVtIChmb3IgYWxsIGVsZW1lbnRzKSAqL1xuICAgICAgICBjbGFzc2VzOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICAvKiogR2VuZXJhbCBpdGVtIChmb3IgYWxsIGVsZW1lbnRzKSAqL1xuICAgICAgICBkYXRhOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgICAgICAvKiogR2VuZXJhbCBpdGVtIChmb3IgYWxsIGVsZW1lbnRzKSAqL1xuICAgICAgICBncmFiYmFibGU6IFByb3BUeXBlcy5ib29sLFxuICAgICAgICAvKiogR2VuZXJhbCBpdGVtIChmb3IgYWxsIGVsZW1lbnRzKSAqL1xuICAgICAgICBncm91cDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgICAgLyoqIEdlbmVyYWwgaXRlbSAoZm9yIGFsbCBlbGVtZW50cykgKi9cbiAgICAgICAgbG9ja2VkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICAgICAgLyoqIEdlbmVyYWwgaXRlbSAoZm9yIGFsbCBlbGVtZW50cykgKi9cbiAgICAgICAgc2VsZWN0YWJsZTogUHJvcFR5cGVzLmJvb2wsXG4gICAgICAgIC8qKiBHZW5lcmFsIGl0ZW0gKGZvciBhbGwgZWxlbWVudHMpICovXG4gICAgICAgIHNlbGVjdGVkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICAgICAgLyoqIEdlbmVyYWwgaXRlbSAoZm9yIGFsbCBlbGVtZW50cykgKi9cbiAgICAgICAgc3R5bGU6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgfSksXG5cbiAgICAvKipcbiAgICAgKiBUaGUgZGF0YSBkaWN0aW9uYXJ5IG9mIGFuIGVkZ2UgcmV0dXJuZWQgd2hlbiB5b3UgdGFwIG9yIGNsaWNrIGl0LiBSZWFkLW9ubHkuXG4gICAgICovXG4gICAgdGFwRWRnZURhdGE6IFByb3BUeXBlcy5vYmplY3QsXG5cbiAgICAvKipcbiAgICAgKiBUaGUgZGF0YSBkaWN0aW9uYXJ5IG9mIGEgbm9kZSByZXR1cm5lZCB3aGVuIHlvdSBob3ZlciBvdmVyIGl0LiBSZWFkLW9ubHkuXG4gICAgICovXG4gICAgbW91c2VvdmVyTm9kZURhdGE6IFByb3BUeXBlcy5vYmplY3QsXG5cbiAgICAvKipcbiAgICAgKiBUaGUgZGF0YSBkaWN0aW9uYXJ5IG9mIGFuIGVkZ2UgcmV0dXJuZWQgd2hlbiB5b3UgaG92ZXIgb3ZlciBpdC4gUmVhZC1vbmx5LlxuICAgICAqL1xuICAgIG1vdXNlb3ZlckVkZ2VEYXRhOiBQcm9wVHlwZXMub2JqZWN0LFxuXG4gICAgLyoqXG4gICAgICogVGhlIGxpc3Qgb2YgZGF0YSBkaWN0aW9uYXJpZXMgb2YgYWxsIHNlbGVjdGVkIG5vZGVzIChlLmcuIHVzaW5nXG4gICAgICogU2hpZnQrQ2xpY2sgdG8gc2VsZWN0IG11bHRpcGxlIG5vZGVzLCBvciBTaGlmdCtEcmFnIHRvIHVzZSBib3ggc2VsZWN0aW9uKS4gUmVhZC1vbmx5LlxuICAgICAqL1xuICAgIHNlbGVjdGVkTm9kZURhdGE6IFByb3BUeXBlcy5hcnJheSxcblxuICAgIC8qKlxuICAgICAqIFRoZSBsaXN0IG9mIGRhdGEgZGljdGlvbmFyaWVzIG9mIGFsbCBzZWxlY3RlZCBlZGdlcyAoZS5nLiB1c2luZ1xuICAgICAqIFNoaWZ0K0NsaWNrIHRvIHNlbGVjdCBtdWx0aXBsZSBub2Rlcywgb3IgU2hpZnQrRHJhZyB0byB1c2UgYm94IHNlbGVjdGlvbikuIFJlYWQtb25seS5cbiAgICAgKi9cbiAgICBzZWxlY3RlZEVkZ2VEYXRhOiBQcm9wVHlwZXMuYXJyYXksXG5cbiAgICAvKipcbiAgICAgKiBEaWN0aW9uYXJ5IHNwZWNpZnlpbmcgb3B0aW9ucyB0byBnZW5lcmF0ZSBhbiBpbWFnZSBvZiB0aGUgY3VycmVudCBjeXRvc2NhcGUgZ3JhcGguXG4gICAgICogVmFsdWUgaXMgY2xlYXJlZCBhZnRlciBkYXRhIGlzIHJlY2VpdmVkIGFuZCBpbWFnZSBpcyBnZW5lcmF0ZWQuIFRoaXMgcHJvcGVydHkgd2lsbFxuICAgICAqIGJlIGlnbm9yZWQgb24gdGhlIGluaXRpYWwgY3JlYXRpb24gb2YgdGhlIGN5dG9zY2FwZSBvYmplY3QgYW5kIG11c3QgYmUgaW52b2tlZCB0aHJvdWdoXG4gICAgICogYSBjYWxsYmFjayBhZnRlciBpdCBoYXMgYmVlbiByZW5kZXJlZC5cbiAgICAgKlxuICAgICAqIElmIHRoZSBhcHAgZG9lcyBub3QgbmVlZCB0aGUgaW1hZ2UgZGF0YSBzZXJ2ZXIgc2lkZSBhbmQvb3IgaXQgd2lsbCBvbmx5IGJlIHVzZWQgdG8gZG93bmxvYWRcbiAgICAgKiB0aGUgaW1hZ2UsIGl0IG1heSBiZSBwcnVkZW50IHRvIGludm9rZSBgJ2Rvd25sb2FkJ2AgZm9yIGBhY3Rpb25gIGluc3RlYWQgb2ZcbiAgICAgKiBgJ3N0b3JlJ2AgdG8gaW1wcm92ZSBwZXJmb3JtYW5jZSBieSBwcmV2ZW50aW5nIHRyYW5zZmVyIG9mIGRhdGEgdG8gdGhlIHNlcnZlci5cbiAgICAgKi9cbiAgICBnZW5lcmF0ZUltYWdlOiBQcm9wVHlwZXMuc2hhcGUoe1xuICAgICAgICAvKiogRmlsZSB0eXBlIHRvIG91dHB1dCAgKi9cbiAgICAgICAgdHlwZTogUHJvcFR5cGVzLm9uZU9mKFsnc3ZnJywgJ3BuZycsICdqcGcnLCAnanBlZyddKSxcbiAgICAgICAgLyoqIERpY3Rpb25hcnkgb2Ygb3B0aW9ucyB0byBjeS5wbmcoKSAvIGN5LmpwZygpIG9yIGN5LnN2ZygpIGZvciBpbWFnZSBnZW5lcmF0aW9uLlxuICAgICAgICAgKiBTZWUgaHR0cHM6Ly9qcy5jeXRvc2NhcGUub3JnLyNjb3JlL2V4cG9ydCBmb3IgZGV0YWlscy4gRm9yIGAnb3V0cHV0J2AsIG9ubHkgJ2Jhc2U2NCdcbiAgICAgICAgICogYW5kICdiYXNlNjR1cmknIGFyZSBzdXBwb3J0ZWQuIERlZmF1bHQ6IGB7J291dHB1dCc6ICdiYXNlNjR1cmknfWAuKi9cbiAgICAgICAgb3B0aW9uczogUHJvcFR5cGVzLm9iamVjdCxcbiAgICAgICAgLyoqXG4gICAgICAgICAqIGAnc3RvcmUnYDogU3RvcmVzIHRoZSBpbWFnZSBkYXRhIChvbmx5IGpwZyBhbmQgcG5nIGFyZSBzdXBwb3J0ZWQpXG4gICAgICAgICAqIGluIGBpbWFnZURhdGFgIGFuZCBpbnZva2VzIHNlcnZlci1zaWRlIERhc2ggY2FsbGJhY2tzLiBgJ2Rvd25sb2FkJ2A6IERvd25sb2FkcyB0aGUgaW1hZ2VcbiAgICAgICAgICogYXMgYSBmaWxlIHdpdGggYWxsIGRhdGEgaGFuZGxpbmcgZG9uZSBjbGllbnQtc2lkZS4gTm8gYGltYWdlRGF0YWAgY2FsbGJhY2tzIGFyZSBmaXJlZC5cbiAgICAgICAgICogYCdib3RoJ2A6IFN0b3JlcyBpbWFnZSBkYXRhIGFuZCBkb3dubG9hZHMgaW1hZ2UgYXMgZmlsZS4gVGhlIGRlZmF1bHQgaXMgYCdzdG9yZSdgXG4gICAgICAgICAqL1xuICAgICAgICBhY3Rpb246IFByb3BUeXBlcy5vbmVPZihbJ3N0b3JlJywgJ2Rvd25sb2FkJywgJ2JvdGgnXSksXG4gICAgICAgIC8qKiBOYW1lIGZvciB0aGUgZmlsZSB0byBiZSBkb3dubG9hZGVkLiBEZWZhdWx0OiAnY3l0bycuKi9cbiAgICAgICAgZmlsZW5hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgfSksXG5cbiAgICAvKipcbiAgICAgKiBTdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhlIGltYWdlIHJlcXVlc3RlZCB3aXRoIGdlbmVyYXRlSW1hZ2UuIE51bGwgaWYgbm9cbiAgICAgKiBpbWFnZSB3YXMgcmVxdWVzdGVkIHlldCBvciB0aGUgcHJldmlvdXMgcmVxdWVzdCBmYWlsZWQuIFJlYWQtb25seS5cbiAgICAgKi9cbiAgICBpbWFnZURhdGE6IFByb3BUeXBlcy5zdHJpbmcsXG5cbiAgICAvKipcbiAgICAgKiBUb2dnbGVzIGludGVsbGlnZW50IHJlc3BvbnNpdmUgcmVzaXplIG9mIEN5dG9zY2FwZSBncmFwaCB3aXRoIHZpZXdwb3J0IHNpemUgY2hhbmdlXG4gICAgICovXG4gICAgcmVzcG9uc2l2ZTogUHJvcFR5cGVzLmJvb2wsXG5cbiAgICAvKipcbiAgICAgKiBFeHRlbnQgb2YgdGhlIHZpZXdwb3J0LCBhIGJvdW5kaW5nIGJveCBpbiBtb2RlbCBjby1vcmRpbmF0ZXMgdGhhdCBsZXRzIHlvdSBrbm93IHdoYXQgbW9kZWxcbiAgICAgKiBwb3NpdGlvbnMgYXJlIHZpc2libGUgaW4gdGhlIHZpZXdwb3J0LiBUaGlzIGZ1bmN0aW9uIHJldHVybnMgYSBwbGFpbiBvYmplY3QgYm91bmRpbmcgYm94XG4gICAgICogd2l0aCBmb3JtYXQgeyB4MSwgeTEsIHgyLCB5MiwgdywgaCB9LlxuICAgICAqL1xuICAgIGV4dGVudDogUHJvcFR5cGVzLm9iamVjdCxcblxuICAgIC8qKlxuICAgICAqIElmIHNldCB0byBUcnVlLCBtb3VzZW92ZXJOb2RlRGF0YSBhbmQgbW91c2VvdmVyRWRnZURhdGEgd2lsbCBiZSBjbGVhcmVkIG9uIHVuaG92ZXIuXG4gICAgICogSWYgc2V0IHRvIEZhbHNlLCB0aGUgdmFsdWUgb2YgbW91c2VvdmVyTm9kZURhdGEgYW5kIG1vdXNlb3ZlckVkZ2VEYXRhIHdpbGwgYmUgdGhlIGxhc3RcbiAgICAgKiBOb2RlIG9yIEVkZ2UgaG92ZXJlZCBvdmVyXG4gICAgICovXG4gICAgY2xlYXJPblVuaG92ZXI6IFByb3BUeXBlcy5ib29sLFxufTtcblxuQ3l0b3NjYXBlLmRlZmF1bHRQcm9wcyA9IHtcbiAgICBzdHlsZToge3dpZHRoOiAnNjAwcHgnLCBoZWlnaHQ6ICc2MDBweCd9LFxuICAgIGxheW91dDoge25hbWU6ICdncmlkJ30sXG4gICAgcGFuOiB7eDogMCwgeTogMH0sXG4gICAgem9vbTogMSxcbiAgICBtaW5ab29tOiAxZS01MCxcbiAgICBtYXhab29tOiAxZTUwLFxuICAgIHpvb21pbmdFbmFibGVkOiB0cnVlLFxuICAgIHVzZXJab29taW5nRW5hYmxlZDogdHJ1ZSxcbiAgICBwYW5uaW5nRW5hYmxlZDogdHJ1ZSxcbiAgICB1c2VyUGFubmluZ0VuYWJsZWQ6IHRydWUsXG4gICAgd2hlZWxTZW5zaXRpdml0eTogMSxcbiAgICBib3hTZWxlY3Rpb25FbmFibGVkOiBmYWxzZSxcbiAgICBhdXRvbG9jazogZmFsc2UsXG4gICAgYXV0b3VuZ3JhYmlmeTogZmFsc2UsXG4gICAgYXV0b3Vuc2VsZWN0aWZ5OiBmYWxzZSxcbiAgICBhdXRvUmVmcmVzaExheW91dDogdHJ1ZSxcbiAgICBnZW5lcmF0ZUltYWdlOiB7fSxcbiAgICBpbWFnZURhdGE6IG51bGwsXG4gICAgcmVzcG9uc2l2ZTogZmFsc2UsXG4gICAgY2xlYXJPblVuaG92ZXI6IGZhbHNlLFxuICAgIGVsZW1lbnRzOiBbXSxcbiAgICBjb250ZXh0TWVudTogW10sXG59O1xuXG5leHBvcnQgZGVmYXVsdCBDeXRvc2NhcGU7XG4iXSwibmFtZXMiOlsiUmVhY3QiLCJDb21wb25lbnQiLCJQcm9wVHlwZXMiLCJDeXRvc2NhcGVDb21wb25lbnQiLCJfIiwidjQiLCJ1dWlkdjQiLCJDeVJlc3BvbnNpdmUiLCJjeXRvc2NhcGUiLCJyZXF1aXJlIiwiY29udGV4dE1lbnVzIiwiQ3l0b3NjYXBlIiwiX0NvbXBvbmVudCIsIl9pbmhlcml0cyIsInByb3BzIiwiX3RoaXMiLCJfY2xhc3NDYWxsQ2hlY2siLCJfY2FsbFN1cGVyIiwiaGFuZGxlQ3kiLCJiaW5kIiwiX2Fzc2VydFRoaXNJbml0aWFsaXplZCIsIl9oYW5kbGVDeUNhbGxlZCIsImhhbmRsZUltYWdlR2VuZXJhdGlvbiIsImN5UmVzcG9uc2l2ZUNsYXNzIiwiX2NyZWF0ZUNsYXNzIiwia2V5IiwidmFsdWUiLCJnZW5lcmF0ZU5vZGUiLCJldmVudCIsImVsZSIsInRhcmdldCIsImlzUGFyZW50IiwiaXNDaGlsZGxlc3MiLCJpc0NoaWxkIiwiaXNPcnBoYW4iLCJyZW5kZXJlZFBvc2l0aW9uIiwicmVsYXRpdmVQb3NpdGlvbiIsInBhcmVudCIsInN0eWxlIiwiZWRnZXNEYXRhIiwiY29ubmVjdGVkRWRnZXMiLCJtYXAiLCJkYXRhIiwiY2hpbGRyZW5EYXRhIiwiY2hpbGRyZW4iLCJhbmNlc3RvcnNEYXRhIiwiYW5jZXN0b3JzIiwiZGVzY2VuZGFudHNEYXRhIiwiZGVzY2VuZGFudHMiLCJzaWJsaW5nc0RhdGEiLCJzaWJsaW5ncyIsInRpbWVTdGFtcCIsIl9lbGUkanNvbiIsImpzb24iLCJjbGFzc2VzIiwiZ3JhYmJhYmxlIiwiZ3JvdXAiLCJsb2NrZWQiLCJwb3NpdGlvbiIsInNlbGVjdGVkIiwic2VsZWN0YWJsZSIsInBhcmVudERhdGEiLCJub2RlT2JqZWN0IiwiZ2VuZXJhdGVFZGdlIiwibWlkcG9pbnQiLCJpc0xvb3AiLCJpc1NpbXBsZSIsInNvdXJjZURhdGEiLCJzb3VyY2UiLCJzb3VyY2VFbmRwb2ludCIsInRhcmdldERhdGEiLCJ0YXJnZXRFbmRwb2ludCIsIl9lbGUkanNvbjIiLCJlZGdlT2JqZWN0IiwiY3kiLCJfdGhpczIiLCJfY3kiLCJ3aW5kb3ciLCJTRUxFQ1RfVEhSRVNIT0xEIiwiRVhURU5UX1RIUkVTSE9MRCIsInNlbGVjdGVkTm9kZXMiLCJjb2xsZWN0aW9uIiwic2VsZWN0ZWRFZGdlcyIsInJlZnJlc2hMYXlvdXQiLCJkZWJvdW5jZSIsIl90aGlzMiRwcm9wcyIsImF1dG9SZWZyZXNoTGF5b3V0IiwibGF5b3V0IiwicnVuIiwic2VuZFNlbGVjdGVkTm9kZXNEYXRhIiwibm9kZURhdGEiLCJlbCIsInNldFByb3BzIiwic2VsZWN0ZWROb2RlRGF0YSIsInNlbmRTZWxlY3RlZEVkZ2VzRGF0YSIsImVkZ2VEYXRhIiwic2VsZWN0ZWRFZGdlRGF0YSIsInNldEV4dGVudCIsImN5RXh0ZW50IiwiZXh0ZW50Iiwib3JpZ2luYWxNYXhab29tRm4iLCJtYXhab29tIiwib3JpZ2luYWxNaW5ab29tRm4iLCJtaW5ab29tIiwiZSIsImN1cnJlbnRNYXhab29tIiwiY2FsbCIsIl9wcmV2aW91c01heFpvb20iLCJ0cmlnZ2VyIiwiY3VycmVudE1pblpvb20iLCJfcHJldmlvdXNNaW5ab29tIiwib24iLCJ0YXBOb2RlIiwidGFwTm9kZURhdGEiLCJPYmplY3QiLCJhc3NpZ24iLCJ0YXBFZGdlIiwidGFwRWRnZURhdGEiLCJtb3VzZW92ZXJOb2RlRGF0YSIsIm1vdXNlb3ZlckVkZ2VEYXRhIiwiY2xlYXJPblVuaG92ZXIiLCJtZXJnZSIsInVubWVyZ2UiLCJlbGVtZW50cyIsIml0ZW0iLCJ6b29tIiwiZml0IiwiY3JlYXRlTWVudUl0ZW1zIiwiY3R4TWVudSIsInVwZGF0ZUNvbnRleHRNZW51RGF0YSIsIm5ld0NvbnRleHQiLCJjb250ZXh0TWVudURhdGEiLCJjb250ZXh0TWVudURlZmF1bHRGdW5jdGlvbnMiLCJyZW1vdmUiLCJjeVRhcmdldCIsImFkZF9ub2RlIiwicG9zIiwiY3lQb3NpdGlvbiIsImFkZCIsIngiLCJ5IiwiYWRkX2VkZ2UiLCJzZWxlY3RlZE5vZGVJZHMiLCJub2RlIiwiaWQiLCJsZW5ndGgiLCJjb25zb2xlIiwiZXJyb3IiLCJuZXdNZW51SXRlbXMiLCJfaXRlcmF0b3IiLCJfY3JlYXRlRm9yT2ZJdGVyYXRvckhlbHBlciIsIl9zdGVwIiwiX2xvb3AiLCJvbkNsaWNrRnVuY3Rpb24iLCJtZW51SXRlbUlkIiwiZWxlbWVudElkIiwiZWRnZVNvdXJjZSIsImVkZ2VUYXJnZXQiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsIm9uQ2xpY2siLCJjb25jYXQiLCJkYXNoQ3l0b3NjYXBlRnVuY3Rpb25zIiwib25DbGlja0N1c3RvbSIsIm5ld19pdGVtIiwiY29udGVudCIsImxhYmVsIiwidG9vbHRpcFRleHQiLCJzZWxlY3RvciIsImNvcmVBc1dlbGwiLCJfaXRlcmF0b3IyIiwiYXZhaWxhYmxlT24iLCJfc3RlcDIiLCJzIiwibiIsImRvbmUiLCJlcnIiLCJmIiwicHVzaCIsInRvZ2dsZSIsInJlc3BvbnNpdmUiLCJpbWFnZVR5cGUiLCJpbWFnZU9wdGlvbnMiLCJhY3Rpb25zVG9QZXJmb3JtIiwiZmlsZU5hbWUiLCJfdGhpczMiLCJvcHRpb25zIiwiZGVzaXJlZE91dHB1dCIsIm91dHB1dCIsImRvd25sb2FkSW1hZ2UiLCJzdG9yZUltYWdlIiwicG5nIiwianBnIiwic3ZnIiwiZk5hbWUiLCJkb3dubG9hZEJsb2IiLCJibG9iIiwiQmxvYiIsInR5cGUiLCJyZWFkZXIiLCJGaWxlUmVhZGVyIiwib25sb2FkIiwiY2FsbGJhY2tEYXRhIiwicmVzdWx0IiwicmVwbGFjZSIsImltYWdlRGF0YSIsInJlYWRBc0RhdGFVUkwiLCJkb3dubG9hZExpbmsiLCJkb2N1bWVudCIsImNyZWF0ZUVsZW1lbnQiLCJib2R5IiwiYXBwZW5kQ2hpbGQiLCJ1cmwiLCJVUkwiLCJjcmVhdGVPYmplY3RVUkwiLCJocmVmIiwiZG93bmxvYWQiLCJjbGljayIsInJldm9rZU9iamVjdFVSTCIsInJlbW92ZUNoaWxkIiwidXBkYXRlQ29udGV4dE1lbnUiLCJjb250ZXh0TWVudSIsIm1lbnVJdGVtcyIsIm1lbnVJdGVtQ2xhc3NlcyIsImdyYXBoT3V0T2ZWaWV3IiwiY3lXaWR0aCIsIndpZHRoIiwiY3lIZWlnaHQiLCJoZWlnaHQiLCJlbEJveCIsInJlbmRlcmVkQm91bmRpbmdib3giLCJ4MSIsInkxIiwieDIiLCJ5MiIsImNvbXBvbmVudERpZFVwZGF0ZSIsInByZXZQcm9wcyIsIl90aGlzJHByb3BzIiwiaXNFcXVhbCIsImNvbXBvbmVudERpZE1vdW50IiwicmVuZGVyIiwiX3RoaXMkcHJvcHMyIiwiY2xhc3NOYW1lIiwic3R5bGVzaGVldCIsInBhbiIsInBhbm5pbmdFbmFibGVkIiwidXNlclBhbm5pbmdFbmFibGVkIiwiem9vbWluZ0VuYWJsZWQiLCJ1c2VyWm9vbWluZ0VuYWJsZWQiLCJ3aGVlbFNlbnNpdGl2aXR5IiwiYm94U2VsZWN0aW9uRW5hYmxlZCIsImF1dG91bmdyYWJpZnkiLCJhdXRvbG9jayIsImF1dG91bnNlbGVjdGlmeSIsImdlbmVyYXRlSW1hZ2UiLCJrZXlzIiwiYWN0aW9uIiwiZmlsZW5hbWUiLCJub3JtYWxpemVFbGVtZW50cyIsInByb3BUeXBlcyIsInN0cmluZyIsIm9iamVjdCIsImZ1bmMiLCJvbmVPZlR5cGUiLCJhcnJheU9mIiwic2hhcGUiLCJudW1iZXIiLCJib29sIiwiZXhhY3QiLCJub2RlcyIsImFycmF5IiwiZWRnZXMiLCJpc1JlcXVpcmVkIiwibmFtZSIsIm9uZU9mIiwicGFkZGluZyIsImFuaW1hdGUiLCJhbmltYXRpb25EdXJhdGlvbiIsImJvdW5kaW5nQm94IiwiZGVmYXVsdFByb3BzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/lib/components/Cytoscape.react.js\n"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _src_assets_contextmenu_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../src/assets/contextmenu.css */ \"./src/assets/contextmenu.css\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var react_cytoscapejs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-cytoscapejs */ \"./node_modules/react-cytoscapejs/dist/react-cytoscape.modern.js\");\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! lodash */ \"./node_modules/lodash/lodash.js\");\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var uuid__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! uuid */ \"./node_modules/uuid/dist/esm-browser/v4.js\");\n/* harmony import */ var _cyResponsive_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../cyResponsive.js */ \"./src/lib/cyResponsive.js\");\n/* harmony import */ var _ungap_custom_elements__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @ungap/custom-elements */ \"./node_modules/@ungap/custom-elements/index.js\");\n/* harmony import */ var _ungap_custom_elements__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_ungap_custom_elements__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _cyleaflet_clientside_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../cyleaflet_clientside.js */ \"./src/lib/cyleaflet_clientside.js\");\n/* harmony import */ var _cyleaflet_clientside_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_cyleaflet_clientside_js__WEBPACK_IMPORTED_MODULE_6__);\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : String(i); }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n/**\n * JavaScript Requirements: cytoscape, cytoscape-svg\n * React.js requirements: react-cytoscapejs\n */\n\n\n\n\n\n\n\n\n// Polyfill so that context menu extension works in Safari\n\nvar cytoscape = __webpack_require__(/*! cytoscape */ \"./node_modules/cytoscape/dist/cytoscape.cjs.js\");\nvar contextMenus = __webpack_require__(/*! cytoscape-context-menus */ \"./node_modules/cytoscape-context-menus/cytoscape-context-menus.js\");\n\n// Clientside callback functions for CyLeaflet AIO component\n\n\n// register extension\ncontextMenus(cytoscape);\n/**\n * A Component Library for Dash aimed at facilitating network visualization in\n * Python, wrapped around [Cytoscape.js](http://js.cytoscape.org/).\n */\nvar Cytoscape = /*#__PURE__*/function (_Component) {\n _inherits(Cytoscape, _Component);\n function Cytoscape(props) {\n var _this;\n _classCallCheck(this, Cytoscape);\n _this = _callSuper(this, Cytoscape, [props]);\n _this.handleCy = _this.handleCy.bind(_assertThisInitialized(_this));\n _this._handleCyCalled = false;\n _this.handleImageGeneration = _this.handleImageGeneration.bind(_assertThisInitialized(_this));\n _this.cyResponsiveClass = false;\n return _this;\n }\n _createClass(Cytoscape, [{\n key: \"generateNode\",\n value: function generateNode(event) {\n var ele = event.target;\n var isParent = ele.isParent(),\n isChildless = ele.isChildless(),\n isChild = ele.isChild(),\n isOrphan = ele.isOrphan(),\n renderedPosition = ele.renderedPosition(),\n relativePosition = ele.relativePosition(),\n parent = ele.parent(),\n style = ele.style();\n\n // Trim down the element objects to only the data contained\n var edgesData = ele.connectedEdges().map(function (ele) {\n return ele.data();\n });\n var childrenData = ele.children().map(function (ele) {\n return ele.data();\n });\n var ancestorsData = ele.ancestors().map(function (ele) {\n return ele.data();\n });\n var descendantsData = ele.descendants().map(function (ele) {\n return ele.data();\n });\n var siblingsData = ele.siblings().map(function (ele) {\n return ele.data();\n });\n var timeStamp = event.timeStamp;\n var _ele$json = ele.json(),\n classes = _ele$json.classes,\n data = _ele$json.data,\n grabbable = _ele$json.grabbable,\n group = _ele$json.group,\n locked = _ele$json.locked,\n position = _ele$json.position,\n selected = _ele$json.selected,\n selectable = _ele$json.selectable;\n var parentData;\n if (parent) {\n parentData = parent.data();\n } else {\n parentData = null;\n }\n var nodeObject = {\n // Nodes attributes\n edgesData: edgesData,\n renderedPosition: renderedPosition,\n timeStamp: timeStamp,\n // From ele.json()\n classes: classes,\n data: data,\n grabbable: grabbable,\n group: group,\n locked: locked,\n position: position,\n selectable: selectable,\n selected: selected,\n // Compound Nodes additional attributes\n ancestorsData: ancestorsData,\n childrenData: childrenData,\n descendantsData: descendantsData,\n parentData: parentData,\n siblingsData: siblingsData,\n isParent: isParent,\n isChildless: isChildless,\n isChild: isChild,\n isOrphan: isOrphan,\n relativePosition: relativePosition,\n // Styling\n style: style\n };\n return nodeObject;\n }\n }, {\n key: \"generateEdge\",\n value: function generateEdge(event) {\n var ele = event.target;\n var midpoint = ele.midpoint(),\n isLoop = ele.isLoop(),\n isSimple = ele.isSimple(),\n sourceData = ele.source().data(),\n sourceEndpoint = ele.sourceEndpoint(),\n style = ele.style(),\n targetData = ele.target().data(),\n targetEndpoint = ele.targetEndpoint();\n var timeStamp = event.timeStamp;\n var _ele$json2 = ele.json(),\n classes = _ele$json2.classes,\n data = _ele$json2.data,\n grabbable = _ele$json2.grabbable,\n group = _ele$json2.group,\n locked = _ele$json2.locked,\n selectable = _ele$json2.selectable,\n selected = _ele$json2.selected;\n var edgeObject = {\n // Edges attributes\n isLoop: isLoop,\n isSimple: isSimple,\n midpoint: midpoint,\n sourceData: sourceData,\n sourceEndpoint: sourceEndpoint,\n targetData: targetData,\n targetEndpoint: targetEndpoint,\n timeStamp: timeStamp,\n // From ele.json()\n classes: classes,\n data: data,\n grabbable: grabbable,\n group: group,\n locked: locked,\n selectable: selectable,\n selected: selected,\n // Styling\n style: style\n };\n return edgeObject;\n }\n }, {\n key: \"handleCy\",\n value: function handleCy(cy) {\n var _this2 = this;\n // If the cy pointer has not been modified, and handleCy has already\n // been called before, than we don't run this function.\n if (cy === this._cy && this._handleCyCalled) {\n return;\n }\n this._cy = cy;\n window.cy = cy;\n this._handleCyCalled = true;\n\n // ///////////////////////////////////// CONSTANTS /////////////////////////////////////////\n var SELECT_THRESHOLD = 100;\n var EXTENT_THRESHOLD = 5;\n var UPDATE_ELEMENTS_THRESHOLD = 100;\n var RESIZE_THRESHOLD = 50;\n var selectedNodes = cy.collection();\n var selectedEdges = cy.collection();\n\n // ///////////////////////////////////// FUNCTIONS /////////////////////////////////////////\n var refreshLayout = lodash__WEBPACK_IMPORTED_MODULE_3___default().debounce(function () {\n /**\n * Refresh Layout if needed\n */\n var _this2$props = _this2.props,\n autoRefreshLayout = _this2$props.autoRefreshLayout,\n layout = _this2$props.layout;\n if (autoRefreshLayout) {\n cy.layout(layout).run();\n }\n }, SELECT_THRESHOLD);\n var sendSelectedNodesData = lodash__WEBPACK_IMPORTED_MODULE_3___default().debounce(function () {\n /**\n This function is repetitively called every time a node is selected\n or unselected, but keeps being debounced if it is called again\n within 100 ms (given by SELECT_THRESHOLD). Effectively, it only\n runs when all the nodes have been correctly selected/unselected and\n added/removed from the selectedNodes collection, and then updates\n the selectedNodeData prop.\n */\n var nodeData = selectedNodes.map(function (el) {\n return el.data();\n });\n _this2.props.setProps({\n selectedNodeData: nodeData\n });\n }, SELECT_THRESHOLD);\n var sendSelectedEdgesData = lodash__WEBPACK_IMPORTED_MODULE_3___default().debounce(function () {\n var edgeData = selectedEdges.map(function (el) {\n return el.data();\n });\n _this2.props.setProps({\n selectedEdgeData: edgeData\n });\n }, SELECT_THRESHOLD);\n var setExtent = lodash__WEBPACK_IMPORTED_MODULE_3___default().debounce(function (cyExtent) {\n _this2.props.setProps({\n extent: cyExtent\n });\n }, EXTENT_THRESHOLD);\n var updateElements = lodash__WEBPACK_IMPORTED_MODULE_3___default().debounce(function () {\n _this2.props.setProps({\n elements: cy.elements('').map(function (item) {\n if (item.json().group === 'nodes') {\n return {\n data: item.json().data,\n position: item.json().position\n };\n }\n return {\n data: item.json().data,\n position: void 0\n };\n })\n });\n }, UPDATE_ELEMENTS_THRESHOLD);\n var resize = lodash__WEBPACK_IMPORTED_MODULE_3___default().debounce(function () {\n cy.resize();\n }, RESIZE_THRESHOLD);\n\n // Store the original maxZoom and minZoom functions\n var originalMaxZoomFn = cy.maxZoom;\n var originalMinZoomFn = cy.minZoom;\n\n // Override the maxZoom function to trigger maxZoomChange custom event\n cy.maxZoom = function (e) {\n var currentMaxZoom = originalMaxZoomFn.call(cy, e);\n\n // Trigger your custom event if the current max zoom level is different from the\n // previously stored max zoom level\n if (currentMaxZoom !== cy._previousMaxZoom) {\n cy._previousMaxZoom = currentMaxZoom;\n cy.trigger('minMaxZoomChange');\n }\n return currentMaxZoom;\n };\n\n // Override the minZoom function to trigger minZoomChange custom event\n cy.minZoom = function (e) {\n var currentMinZoom = originalMinZoomFn.call(cy, e);\n\n // Trigger your custom event if the current min zoom level is different from the\n // previously stored min zoom level\n if (currentMinZoom !== cy._previousMinZoom) {\n cy._previousMinZoom = currentMinZoom;\n cy.trigger('minMaxZoomChange');\n }\n return currentMinZoom;\n };\n\n // /////////////////////////////////////// EVENTS //////////////////////////////////////////\n\n cy.on('tap', 'node', function (event) {\n var nodeObject = _this2.generateNode(event);\n _this2.props.setProps({\n tapNode: nodeObject,\n tapNodeData: Object.assign({}, nodeObject.data, {\n timeStamp: nodeObject.timeStamp\n })\n });\n });\n cy.on('tap', 'edge', function (event) {\n var edgeObject = _this2.generateEdge(event);\n _this2.props.setProps({\n tapEdge: edgeObject,\n tapEdgeData: Object.assign({}, edgeObject.data, {\n timeStamp: edgeObject.timeStamp\n })\n });\n });\n cy.on('mouseover', 'node', function (event) {\n _this2.props.setProps({\n mouseoverNodeData: Object.assign({}, event.target.data(), {\n timeStamp: event.timeStamp\n })\n });\n });\n cy.on('mouseover', 'edge', function (event) {\n _this2.props.setProps({\n mouseoverEdgeData: Object.assign({}, event.target.data(), {\n timeStamp: event.timeStamp\n })\n });\n });\n cy.on('mouseout', 'node', function (_) {\n if (_this2.props.clearOnUnhover === true) {\n _this2.props.setProps({\n mouseoverNodeData: null\n });\n }\n });\n cy.on('mouseout', 'edge', function (_) {\n if (_this2.props.clearOnUnhover === true) {\n _this2.props.setProps({\n mouseoverEdgeData: null\n });\n }\n });\n cy.on('select', 'node', function (event) {\n var ele = event.target;\n selectedNodes.merge(ele);\n sendSelectedNodesData();\n });\n cy.on('unselect remove', 'node', function (event) {\n var ele = event.target;\n selectedNodes.unmerge(ele);\n sendSelectedNodesData();\n });\n cy.on('select', 'edge', function (event) {\n var ele = event.target;\n selectedEdges.merge(ele);\n sendSelectedEdgesData();\n });\n cy.on('unselect remove', 'edge', function (event) {\n var ele = event.target;\n selectedEdges.unmerge(ele);\n sendSelectedEdgesData();\n });\n cy.on('add remove', function () {\n refreshLayout();\n });\n cy.on('dragfree add remove', function (_) {\n updateElements();\n });\n cy.on('resize viewport', function () {\n setExtent(cy.extent());\n });\n cy.on('tapstart', function () {\n resize();\n });\n\n // Refresh layout if current zoom is out of boundaries\n cy.on('minMaxZoomChange', function () {\n var zoom = cy.zoom();\n if (zoom > cy.maxZoom() || zoom < cy.minZoom()) {\n cy.fit();\n }\n });\n this.createMenuItems = function (ctxMenu) {\n var updateContextMenuData = function updateContextMenuData(newContext) {\n _this2.props.setProps({\n contextMenuData: newContext\n });\n };\n var contextMenuDefaultFunctions = {\n remove: function remove(event) {\n var target = event.target || event.cyTarget;\n target.remove();\n },\n add_node: function add_node(event) {\n var pos = event.position || event.cyPosition;\n cy.add({\n data: {\n group: 'nodes'\n },\n position: {\n x: pos.x,\n y: pos.y\n }\n });\n },\n add_edge: function add_edge() {\n var selectedNodeIds = selectedNodes.map(function (node) {\n return node.id();\n });\n if (selectedNodes.length === 0) {\n console.error('Error: No nodes selected, cannot add edge');\n } else if (selectedNodes.length === 1) {\n cy.add({\n data: {\n id: (0,uuid__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(),\n group: 'edges',\n source: selectedNodeIds[0],\n target: selectedNodeIds[0]\n }\n });\n } else if (selectedNodes.length === 2) {\n cy.add({\n data: {\n id: (0,uuid__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(),\n group: 'edges',\n source: selectedNodeIds[0],\n target: selectedNodeIds[1]\n }\n });\n } else {\n console.error('Error: more than 2 nodes selected, cannot add edge');\n }\n }\n };\n var newMenuItems = [];\n var _iterator = _createForOfIteratorHelper(ctxMenu),\n _step;\n try {\n var _loop = function _loop() {\n var item = _step.value;\n var onClickFunction;\n // return data so a user can define a custom on click function in Python\n // if onClick or on onClickCustom are not specified\n onClickFunction = function onClickFunction(event) {\n updateContextMenuData({\n menuItemId: item.id,\n x: event.position.x,\n y: event.position.y,\n timeStamp: event.timeStamp,\n elementId: event.target.data().id,\n edgeSource: event.target.data().source,\n edgeTarget: event.target.data().target\n });\n };\n // use default javascript function as onClickFunction\n if (Object.prototype.hasOwnProperty.call(item, 'onClick')) {\n if (Object.prototype.hasOwnProperty.call(contextMenuDefaultFunctions, item.onClick)) {\n onClickFunction = contextMenuDefaultFunctions[item.onClick];\n } else {\n console.error(\"onClick function \".concat(item.onClick, \" is not defined\"));\n }\n }\n // use user-defined Javascript function in a namespace under assets/ as onClickFunction\n else if (Object.prototype.hasOwnProperty.call(item, 'onClickCustom')) {\n if (Object.prototype.hasOwnProperty.call(window, 'dashCytoscapeFunctions') && Object.prototype.hasOwnProperty.call(window.dashCytoscapeFunctions, item.onClickCustom)) {\n onClickFunction = window.dashCytoscapeFunctions[item.onClickCustom];\n } else {\n console.error(\"onClickCustom function \".concat(item.onClickCustom, \" is not defined\"));\n }\n }\n var new_item = {\n id: item.id,\n content: item.label,\n tooltipText: item.tooltipText,\n selector: '',\n onClickFunction: onClickFunction,\n coreAsWell: false\n };\n if (Object.prototype.hasOwnProperty.call(item, 'availableOn')) {\n var _iterator2 = _createForOfIteratorHelper(item.availableOn),\n _step2;\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var selector = _step2.value;\n if (selector === 'edge') {\n if (new_item.selector.length > 0) {\n new_item.selector = new_item.selector + ', ';\n }\n new_item.selector = new_item.selector + 'edge';\n } else if (selector === 'node') {\n if (new_item.selector.length > 0) {\n new_item.selector = new_item.selector + ', ';\n }\n new_item.selector = new_item.selector + 'node';\n } else if (selector === 'canvas') {\n new_item.coreAsWell = true;\n } else {\n console.error(\"Error: selector \".concat(selector, \" is not available. Choose one of 'node', 'edge' or 'canvas'.\"));\n }\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n }\n newMenuItems.push(new_item);\n };\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n _loop();\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n return newMenuItems;\n };\n this.cyResponsiveClass = new _cyResponsive_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"](cy);\n this.cyResponsiveClass.toggle(this.props.responsive);\n setExtent(cy.extent());\n }\n }, {\n key: \"handleImageGeneration\",\n value: function handleImageGeneration(imageType, imageOptions, actionsToPerform, fileName) {\n var _this3 = this;\n var options = {};\n if (imageOptions) {\n options = imageOptions;\n }\n var desiredOutput = options.output;\n options.output = 'blob';\n var downloadImage;\n var storeImage;\n switch (actionsToPerform) {\n case 'store':\n downloadImage = false;\n storeImage = true;\n break;\n case 'download':\n downloadImage = true;\n storeImage = false;\n break;\n case 'both':\n downloadImage = true;\n storeImage = true;\n break;\n default:\n downloadImage = false;\n storeImage = true;\n break;\n }\n var output;\n if (imageType === 'png') {\n output = this._cy.png(options);\n }\n if (imageType === 'jpg' || imageType === 'jpeg') {\n output = this._cy.jpg(options);\n }\n // only works when svg is imported (see lib/extra_index.js)\n if (imageType === 'svg') {\n output = this._cy.svg(options);\n }\n\n /*\n * If output is empty because of bad options or a cytoscape error,\n * skip any download or storage steps.\n */\n if (output && downloadImage) {\n /*\n * Downloading is initiated client-side because the image is generated at\n * the client. This avoids transferring a potentially large image\n * to the server and back again through a callback.\n */\n var fName = fileName;\n if (!fileName) {\n fName = 'cyto';\n }\n if (imageType !== 'svg') {\n this.downloadBlob(output, fName + '.' + imageType);\n } else {\n var blob = new Blob([output], {\n type: 'image/svg+xml;charset=utf-8'\n });\n this.downloadBlob(blob, fName + '.' + imageType);\n }\n }\n if (output && storeImage) {\n // Default output type if unspecified\n if (!desiredOutput) {\n desiredOutput = 'base64uri';\n }\n if (!(desiredOutput === 'base64uri' || desiredOutput === 'base64')) {\n return;\n }\n\n /*\n * Convert blob to base64uri or base64 string to store the image data.\n * Thank you, base64guru https://base64.guru/developers/javascript/examples/encode-blob\n */\n var reader = new FileReader();\n reader.onload = function () {\n /* FileReader is asynchronous, so the read function is non-blocking.\n * If this code block is placed after the read command, it\n * may result in empty output because the blob has not been loaded yet.\n */\n var callbackData = reader.result;\n if (desiredOutput === 'base64') {\n callbackData = callbackData.replace(/^data:.+;base64,/, '');\n }\n _this3.props.setProps({\n imageData: callbackData\n });\n };\n reader.readAsDataURL(output);\n }\n }\n }, {\n key: \"downloadBlob\",\n value: function downloadBlob(blob, fileName) {\n /*\n * Download blob as file by dynamically creating link.\n * Chrome does not open data URLs when JS opens a new tab directed\n * at the data URL, so this is an alternate implementation\n * that doesn't require extra packages. It may not behave in\n * exactly the same way across browsers (might display image in new tab\n * intead of downloading as a file).\n * Thank you, koldev https://jsfiddle.net/koldev/cW7W5/\n */\n var downloadLink = document.createElement('a');\n downloadLink.style = 'display: none';\n document.body.appendChild(downloadLink);\n var url = window.URL.createObjectURL(blob);\n downloadLink.href = url;\n downloadLink.download = fileName;\n downloadLink.click();\n window.URL.revokeObjectURL(url);\n document.body.removeChild(downloadLink);\n }\n }, {\n key: \"updateContextMenu\",\n value: function updateContextMenu(contextMenu) {\n this._cy.contextMenus({\n menuItems: this.createMenuItems(contextMenu),\n menuItemClasses: ['custom-menu-item']\n });\n }\n\n // Returns true if there is no overlap between the element bounding box\n // and the rendered area of the graph, meaning the graph is entirely outside the viewport;\n // returns false otherwise\n }, {\n key: \"graphOutOfView\",\n value: function graphOutOfView() {\n var cyWidth = this._cy.width();\n var cyHeight = this._cy.height();\n var elBox = this._cy.elements().renderedBoundingbox();\n return elBox.x1 > cyWidth || elBox.y1 > cyHeight || elBox.x2 < 0 || elBox.y2 < 0;\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n var _this$props = this.props,\n contextMenu = _this$props.contextMenu,\n elements = _this$props.elements;\n if (!lodash__WEBPACK_IMPORTED_MODULE_3___default().isEqual(prevProps.contextMenu, contextMenu) && this._cy) {\n this.updateContextMenu(contextMenu);\n }\n if (!lodash__WEBPACK_IMPORTED_MODULE_3___default().isEqual(prevProps.elements, elements) && this._cy) {\n // If elements were updated, and the new graph is *entirely* outside the viewport,\n // fit the viewport to the new elements\n if (this.graphOutOfView()) {\n this._cy.fit();\n }\n }\n }\n }, {\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var contextMenu = this.props.contextMenu;\n if (this._cy && contextMenu.length > 0) {\n this.updateContextMenu(contextMenu);\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props2 = this.props,\n id = _this$props2.id,\n style = _this$props2.style,\n className = _this$props2.className,\n elements = _this$props2.elements,\n stylesheet = _this$props2.stylesheet,\n layout = _this$props2.layout,\n contextMenu = _this$props2.contextMenu,\n contextMenuData = _this$props2.contextMenuData,\n pan = _this$props2.pan,\n zoom = _this$props2.zoom,\n panningEnabled = _this$props2.panningEnabled,\n userPanningEnabled = _this$props2.userPanningEnabled,\n minZoom = _this$props2.minZoom,\n maxZoom = _this$props2.maxZoom,\n zoomingEnabled = _this$props2.zoomingEnabled,\n userZoomingEnabled = _this$props2.userZoomingEnabled,\n wheelSensitivity = _this$props2.wheelSensitivity,\n boxSelectionEnabled = _this$props2.boxSelectionEnabled,\n autoungrabify = _this$props2.autoungrabify,\n autolock = _this$props2.autolock,\n autounselectify = _this$props2.autounselectify,\n generateImage = _this$props2.generateImage,\n responsive = _this$props2.responsive;\n if (Object.keys(generateImage).length > 0) {\n // If no cytoscape object has been created yet, an image cannot be generated,\n // so generateImage will be ignored and cleared.\n this.props.setProps({\n generateImage: {}\n });\n if (this._cy) {\n this.handleImageGeneration(generateImage.type, generateImage.options, generateImage.action, generateImage.filename);\n }\n }\n if (this.cyResponsiveClass) {\n this.cyResponsiveClass.toggle(responsive);\n }\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(react_cytoscapejs__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n id: id,\n cy: this.handleCy,\n className: className,\n style: style,\n elements: react_cytoscapejs__WEBPACK_IMPORTED_MODULE_2__[\"default\"].normalizeElements(elements),\n stylesheet: stylesheet,\n layout: layout,\n contextMenu: contextMenu,\n contextMenuData: contextMenuData,\n pan: pan,\n zoom: zoom,\n panningEnabled: panningEnabled,\n userPanningEnabled: userPanningEnabled,\n minZoom: minZoom,\n maxZoom: maxZoom,\n zoomingEnabled: zoomingEnabled,\n userZoomingEnabled: userZoomingEnabled,\n wheelSensitivity: wheelSensitivity,\n boxSelectionEnabled: boxSelectionEnabled,\n autoungrabify: autoungrabify,\n autolock: autolock,\n autounselectify: autounselectify\n });\n }\n }]);\n return Cytoscape;\n}(react__WEBPACK_IMPORTED_MODULE_1__.Component);\nCytoscape.propTypes = {\n // HTML attribute props\n\n /**\n * The ID used to identify this component in Dash callbacks.\n */\n id: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /**\n * Sets the class name of the element (the value of an element's html\n * class attribute).\n */\n className: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /**\n * Add inline styles to the root element.\n */\n style: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n // Dash specific props\n\n /**\n * Dash-assigned callback that should be called whenever any of the\n * properties change.\n */\n setProps: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().func),\n // Common props\n\n /**\n * A list of dictionaries representing the elements of the networks. Each dictionary describes an element, and\n * specifies its purpose. The [official Cytoscape.js documentation](https://js.cytoscape.org/#notation/elements-json)\n * offers an extensive overview and examples of element declaration.\n * Alternatively, a dictionary with the format { 'nodes': [], 'edges': [] } is allowed at initialization,\n * but arrays remain the recommended format.\n */\n elements: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_8___default().arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_8___default().shape({\n /**\n * Either 'nodes' or 'edges'. If not given, it's automatically inferred.\n */\n group: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** Element specific data.*/\n data: prop_types__WEBPACK_IMPORTED_MODULE_8___default().shape({\n /** Reference to the element, useful for selectors and edges. Randomly assigned if not given.*/\n id: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /**\n * Optional name for the element, useful when `data(label)` is given to a style's `content`\n * or `label`. It is only a convention. */\n label: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** Only for nodes. Optional reference to another node. Needed to create compound nodes. */\n parent: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** Only for edges. The id of the source node, which is where the edge starts. */\n source: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** Only for edges. The id of the target node, where the edge ends. */\n target: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string)\n }),\n /** Only for nodes. The position of the node. */\n position: prop_types__WEBPACK_IMPORTED_MODULE_8___default().shape({\n /** The x-coordinate of the node. */\n x: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /** The y-coordinate of the node. */\n y: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number)\n }),\n /** If the element is selected upon initialisation. */\n selected: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** If the element can be selected. */\n selectable: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Only for nodes. If the position is immutable. */\n locked: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Only for nodes. If the node can be grabbed and moved by the user. */\n grabbable: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * Space separated string of class names of the element. Those classes can be selected\n * by a style selector.\n */\n classes: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string)\n })), prop_types__WEBPACK_IMPORTED_MODULE_8___default().exact({\n nodes: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array),\n edges: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array)\n })]),\n /**\n * A list of dictionaries representing the styles of the elements.\n * Each dictionary requires the following keys: `selector` and `style`.\n *\n * Both the [selector](https://js.cytoscape.org/#selectors) and\n * the [style](https://js.cytoscape.org/#style/node-body) are\n * exhaustively documented in the Cytoscape.js docs. Although methods such\n * as `cy.elements(...)` and `cy.filter(...)` are not available, the selector\n * string syntax stays the same.\n */\n stylesheet: prop_types__WEBPACK_IMPORTED_MODULE_8___default().arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_8___default().exact({\n /**\n * Which elements you are styling. Generally, you select a group of elements (node, edges, both),\n * a class (that you declare in the element dictionary), or an element by ID.\n */\n selector: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string).isRequired,\n /**\n * What aspects of the elements you want to modify. This could be the size or\n * color of a node, the shape of an edge arrow, or many more.\n */\n style: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object).isRequired\n })),\n /**\n * A dictionary specifying how to set the position of the elements in your\n * graph. The `'name'` key is required, and indicates which layout (algorithm) to\n * use. The keys accepted by `layout` vary depending on the algorithm, but these\n * keys are accepted by all layouts: `fit`, `padding`, `animate`, `animationDuration`,\n * `boundingBox`.\n *\n * The complete list of layouts and their accepted options are available on the\n * [Cytoscape.js docs](https://js.cytoscape.org/#layouts) . For the external layouts,\n * the options are listed in the \"API\" section of the README.\n * Note that certain keys are not supported in Dash since the value is a JavaScript\n * function or a callback. Please visit this\n * [issue](https://github.com/plotly/dash-cytoscape/issues/25) for more information.\n */\n layout: prop_types__WEBPACK_IMPORTED_MODULE_8___default().shape({\n /**\n * The layouts available by default are:\n * `random`: Randomly assigns positions.\n * `preset`: Assigns position based on the `position` key in element dictionaries.\n * `circle`: Single-level circle, with optional radius.\n * `concentric`: Multi-level circle, with optional radius.\n * `grid`: Square grid, optionally with numbers of `rows` and `cols`.\n * `breadthfirst`: Tree structure built using BFS, with optional `roots`.\n * `cose`: Force-directed physics simulation.\n *\n * Some external layouts are also included. To use them, run\n * `dash_cytoscape.load_extra_layouts()` before creating your Dash app. Be careful about\n * using the extra layouts when not necessary, since they require supplementary bandwidth\n * for loading, which impacts the startup time of the app.\n * The external layouts are:\n * [cose-bilkent](https://github.com/cytoscape/cytoscape.js-cose-bilkent),\n * [fcose](https://github.com/iVis-at-Bilkent/cytoscape.js-fcose),\n * [cola](https://github.com/cytoscape/cytoscape.js-cola),\n * [euler](https://github.com/cytoscape/cytoscape.js-dagre),\n * [spread](https://github.com/cytoscape/cytoscape.js-spread),\n * [dagre](https://github.com/cytoscape/cytoscape.js-dagre),\n * [klay](https://github.com/cytoscape/cytoscape.js-klay),\n */\n name: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOf(['random', 'preset', 'circle', 'concentric', 'grid', 'breadthfirst', 'cose', 'cose-bilkent', 'fcose', 'cola', 'euler', 'spread', 'dagre', 'klay']).isRequired,\n /** Whether to render the nodes in order to fit the canvas. */\n fit: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Padding around the sides of the canvas, if fit is enabled. */\n padding: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /** Whether to animate change in position when the layout changes. */\n animate: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Duration of animation in milliseconds, if enabled. */\n animationDuration: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /**\n * How to constrain the layout in a specific area. Keys accepted are either\n * `x1, y1, x2, y2` or `x1, y1, w, h`, all of which receive a pixel value.\n */\n boundingBox: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object)\n }),\n /**\n * Define a custom context menu. The behaviour of each menu item can be defined in 1 of 3 ways.\n * 1. By passing a string to onClick that refers to one of the built-in Javascript functions.\n * 2. By passing a string to onClickCustom that refers to one of the user-defined functions in a namespace.\n * 3. By omitting both of these properties; this will update the contextMenuData property and trigger a Dash callback.\n */\n contextMenu: prop_types__WEBPACK_IMPORTED_MODULE_8___default().arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_8___default().exact({\n /** ID of the menu item in the context menu */\n id: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string).isRequired,\n /** The label on the context menu item*/\n label: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string).isRequired,\n /** The tooltip text when hovering on top of a context menu item */\n tooltipText: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** A list containing either 'node', 'edge',and/or 'canvas'. This will determine where the context\n * menu item will show up.\n */\n availableOn: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array),\n /** Specify which built-in JavaScript function to use as behaviour for the context\n * menu item. One of 'remove', 'add_node', or 'add_edge'\n */\n onClick: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** Specify which user-defined Javascript function to use in the dashCytoscapeFunctions\n * namespace as behaviour for the context menu item\n */\n onClickCustom: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string)\n })),\n /**\n * Retrieve relevant data when a context menu item is clicked. Read-only.\n */\n contextMenuData: prop_types__WEBPACK_IMPORTED_MODULE_8___default().exact({\n /** ID of the menu item in the context menu */\n menuItemId: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** x-position of the context click */\n x: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /** y-position of the context click */\n y: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /** Timestamp of context click*/\n timeStamp: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /** Element ID on context click if the context click was on an element.\n * If context click was on white space, this property is not returned\n */\n elementId: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** Node ID of the edge source if the clicked element is an edge,\n * or else this property is not returned*/\n edgeSource: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** Node ID of the edge target if the clicked element is an edge,\n * or else this property is not returned*/\n edgeTarget: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string)\n }),\n // Viewport Manipulation\n\n /**\n * Dictionary indicating the initial panning position of the graph. The\n * following keys are accepted:\n */\n pan: prop_types__WEBPACK_IMPORTED_MODULE_8___default().exact({\n /** The x-coordinate of the node */\n x: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /** The y-coordinate of the node */\n y: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number)\n }),\n /**\n * The initial zoom level of the graph. You can set `minZoom` and\n * `maxZoom` to set restrictions on the zoom level.\n */\n zoom: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n // Viewport Mutability and gesture Toggling\n /**\n * Whether panning the graph is enabled (i.e., the position of the graph is\n * mutable overall).\n */\n panningEnabled: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * Whether user events (e.g. dragging the graph background) are allowed to\n * pan the graph.\n */\n userPanningEnabled: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * A minimum bound on the zoom level of the graph. The viewport can not be\n * scaled smaller than this zoom level.\n */\n minZoom: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /**\n * A maximum bound on the zoom level of the graph. The viewport can not be\n * scaled larger than this zoom level.\n */\n maxZoom: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /**\n * Whether zooming the graph is enabled (i.e., the zoom level of the graph\n * is mutable overall).\n */\n zoomingEnabled: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * Whether user events (e.g. dragging the graph background) are allowed\n * to pan the graph.\n */\n userZoomingEnabled: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * Changes the scroll wheel sensitivity when zooming.\n */\n wheelSensitivity: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /**\n * Whether box selection (i.e. drag a box overlay around, and release it\n * to select) is enabled. If enabled, the user must taphold to pan the graph.\n */\n boxSelectionEnabled: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * Whether nodes should be ungrabified (not grabbable by user) by\n * default (if true, overrides individual node state).\n */\n autoungrabify: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * Whether nodes should be locked (not draggable at all) by default\n * (if true, overrides individual node state).\n */\n autolock: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * Whether nodes should be unselectified (immutable selection state) by\n * default (if true, overrides individual element state).\n */\n autounselectify: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * Whether the layout should be refreshed when elements are added or removed.\n */\n autoRefreshLayout: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n // User Events Props\n\n /**\n * The complete node dictionary returned when you tap or click it. Read-only.\n */\n tapNode: prop_types__WEBPACK_IMPORTED_MODULE_8___default().exact({\n /** node specific item */\n edgesData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array),\n /** node specific item */\n renderedPosition: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** node specific item */\n timeStamp: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /** General item (for all elements) */\n classes: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** General item (for all elements) */\n data: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** General item (for all elements) */\n grabbable: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** General item (for all elements) */\n group: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** General item (for all elements) */\n locked: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** General item (for all elements) */\n position: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** General item (for all elements) */\n selectable: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** General item (for all elements) */\n selected: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** General item (for all elements) */\n style: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** Item for compound nodes */\n ancestorsData: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_8___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array)]),\n /** Item for compound nodes */\n childrenData: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_8___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array)]),\n /** Item for compound nodes */\n descendantsData: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_8___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array)]),\n /** Item for compound nodes */\n parentData: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_8___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array)]),\n /** Item for compound nodes */\n siblingsData: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_8___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array)]),\n /** Item for compound nodes */\n isParent: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Item for compound nodes */\n isChildless: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Item for compound nodes */\n isChild: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Item for compound nodes */\n isOrphan: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Item for compound nodes */\n relativePosition: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object)\n }),\n /**\n * The data dictionary of a node returned when you tap or click it. Read-only.\n */\n tapNodeData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /**\n * The complete edge dictionary returned when you tap or click it. Read-only.\n */\n tapEdge: prop_types__WEBPACK_IMPORTED_MODULE_8___default().exact({\n /** Edge-specific item */\n isLoop: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Edge-specific item */\n isSimple: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Edge-specific item */\n midpoint: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** Edge-specific item */\n sourceData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** Edge-specific item */\n sourceEndpoint: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** Edge-specific item */\n targetData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** Edge-specific item */\n targetEndpoint: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** Edge-specific item */\n timeStamp: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /** General item (for all elements) */\n classes: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** General item (for all elements) */\n data: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** General item (for all elements) */\n grabbable: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** General item (for all elements) */\n group: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** General item (for all elements) */\n locked: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** General item (for all elements) */\n selectable: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** General item (for all elements) */\n selected: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** General item (for all elements) */\n style: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object)\n }),\n /**\n * The data dictionary of an edge returned when you tap or click it. Read-only.\n */\n tapEdgeData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /**\n * The data dictionary of a node returned when you hover over it. Read-only.\n */\n mouseoverNodeData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /**\n * The data dictionary of an edge returned when you hover over it. Read-only.\n */\n mouseoverEdgeData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /**\n * The list of data dictionaries of all selected nodes (e.g. using\n * Shift+Click to select multiple nodes, or Shift+Drag to use box selection). Read-only.\n */\n selectedNodeData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array),\n /**\n * The list of data dictionaries of all selected edges (e.g. using\n * Shift+Click to select multiple nodes, or Shift+Drag to use box selection). Read-only.\n */\n selectedEdgeData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array),\n /**\n * Dictionary specifying options to generate an image of the current cytoscape graph.\n * Value is cleared after data is received and image is generated. This property will\n * be ignored on the initial creation of the cytoscape object and must be invoked through\n * a callback after it has been rendered.\n *\n * If the app does not need the image data server side and/or it will only be used to download\n * the image, it may be prudent to invoke `'download'` for `action` instead of\n * `'store'` to improve performance by preventing transfer of data to the server.\n */\n generateImage: prop_types__WEBPACK_IMPORTED_MODULE_8___default().shape({\n /** File type to output */\n type: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOf(['svg', 'png', 'jpg', 'jpeg']),\n /** Dictionary of options to cy.png() / cy.jpg() or cy.svg() for image generation.\n * See https://js.cytoscape.org/#core/export for details. For `'output'`, only 'base64'\n * and 'base64uri' are supported. Default: `{'output': 'base64uri'}`.*/\n options: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /**\n * `'store'`: Stores the image data (only jpg and png are supported)\n * in `imageData` and invokes server-side Dash callbacks. `'download'`: Downloads the image\n * as a file with all data handling done client-side. No `imageData` callbacks are fired.\n * `'both'`: Stores image data and downloads image as file. The default is `'store'`\n */\n action: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOf(['store', 'download', 'both']),\n /** Name for the file to be downloaded. Default: 'cyto'.*/\n filename: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string)\n }),\n /**\n * String representation of the image requested with generateImage. Null if no\n * image was requested yet or the previous request failed. Read-only.\n */\n imageData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /**\n * Toggles intelligent responsive resize of Cytoscape graph with viewport size change\n */\n responsive: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * Extent of the viewport, a bounding box in model co-ordinates that lets you know what model\n * positions are visible in the viewport. This function returns a plain object bounding box\n * with format { x1, y1, x2, y2, w, h }.\n */\n extent: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /**\n * If set to True, mouseoverNodeData and mouseoverEdgeData will be cleared on unhover.\n * If set to False, the value of mouseoverNodeData and mouseoverEdgeData will be the last\n * Node or Edge hovered over\n */\n clearOnUnhover: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool)\n};\nCytoscape.defaultProps = {\n style: {\n width: '600px',\n height: '600px'\n },\n layout: {\n name: 'grid'\n },\n pan: {\n x: 0,\n y: 0\n },\n zoom: 1,\n minZoom: 1e-50,\n maxZoom: 1e50,\n zoomingEnabled: true,\n userZoomingEnabled: true,\n panningEnabled: true,\n userPanningEnabled: true,\n wheelSensitivity: 1,\n boxSelectionEnabled: false,\n autolock: false,\n autoungrabify: false,\n autounselectify: false,\n autoRefreshLayout: true,\n generateImage: {},\n imageData: null,\n responsive: false,\n clearOnUnhover: false,\n elements: [],\n contextMenu: []\n};\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Cytoscape);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvbGliL2NvbXBvbmVudHMvQ3l0b3NjYXBlLnJlYWN0LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNxQztBQUNFO0FBQ0o7QUFDZ0I7QUFDNUI7QUFDVztBQUNZOztBQUU5QztBQUNnQztBQUVoQyxJQUFNUSxTQUFTLEdBQUdDLG1CQUFPLENBQUMsaUVBQVcsQ0FBQztBQUN0QyxJQUFNQyxZQUFZLEdBQUdELG1CQUFPLENBQUMsa0dBQXlCLENBQUM7O0FBRXZEO0FBQ29DOztBQUVwQztBQUNBQyxZQUFZLENBQUNGLFNBQVMsQ0FBQztBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUhBLElBSU1HLFNBQVMsMEJBQUFDLFVBQUE7RUFBQUMsU0FBQSxDQUFBRixTQUFBLEVBQUFDLFVBQUE7RUFDWCxTQUFBRCxVQUFZRyxLQUFLLEVBQUU7SUFBQSxJQUFBQyxLQUFBO0lBQUFDLGVBQUEsT0FBQUwsU0FBQTtJQUNmSSxLQUFBLEdBQUFFLFVBQUEsT0FBQU4sU0FBQSxHQUFNRyxLQUFLO0lBRVhDLEtBQUEsQ0FBS0csUUFBUSxHQUFHSCxLQUFBLENBQUtHLFFBQVEsQ0FBQ0MsSUFBSSxDQUFBQyxzQkFBQSxDQUFBTCxLQUFBLENBQUssQ0FBQztJQUN4Q0EsS0FBQSxDQUFLTSxlQUFlLEdBQUcsS0FBSztJQUM1Qk4sS0FBQSxDQUFLTyxxQkFBcUIsR0FBR1AsS0FBQSxDQUFLTyxxQkFBcUIsQ0FBQ0gsSUFBSSxDQUFBQyxzQkFBQSxDQUFBTCxLQUFBLENBQUssQ0FBQztJQUNsRUEsS0FBQSxDQUFLUSxpQkFBaUIsR0FBRyxLQUFLO0lBQUMsT0FBQVIsS0FBQTtFQUNuQztFQUFDUyxZQUFBLENBQUFiLFNBQUE7SUFBQWMsR0FBQTtJQUFBQyxLQUFBLEVBRUQsU0FBQUMsYUFBYUMsS0FBSyxFQUFFO01BQ2hCLElBQU1DLEdBQUcsR0FBR0QsS0FBSyxDQUFDRSxNQUFNO01BRXhCLElBQU1DLFFBQVEsR0FBR0YsR0FBRyxDQUFDRSxRQUFRLENBQUMsQ0FBQztRQUMzQkMsV0FBVyxHQUFHSCxHQUFHLENBQUNHLFdBQVcsQ0FBQyxDQUFDO1FBQy9CQyxPQUFPLEdBQUdKLEdBQUcsQ0FBQ0ksT0FBTyxDQUFDLENBQUM7UUFDdkJDLFFBQVEsR0FBR0wsR0FBRyxDQUFDSyxRQUFRLENBQUMsQ0FBQztRQUN6QkMsZ0JBQWdCLEdBQUdOLEdBQUcsQ0FBQ00sZ0JBQWdCLENBQUMsQ0FBQztRQUN6Q0MsZ0JBQWdCLEdBQUdQLEdBQUcsQ0FBQ08sZ0JBQWdCLENBQUMsQ0FBQztRQUN6Q0MsTUFBTSxHQUFHUixHQUFHLENBQUNRLE1BQU0sQ0FBQyxDQUFDO1FBQ3JCQyxLQUFLLEdBQUdULEdBQUcsQ0FBQ1MsS0FBSyxDQUFDLENBQUM7O01BRXZCO01BQ0EsSUFBTUMsU0FBUyxHQUFHVixHQUFHLENBQUNXLGNBQWMsQ0FBQyxDQUFDLENBQUNDLEdBQUcsQ0FBQyxVQUFDWixHQUFHLEVBQUs7UUFDaEQsT0FBT0EsR0FBRyxDQUFDYSxJQUFJLENBQUMsQ0FBQztNQUNyQixDQUFDLENBQUM7TUFDRixJQUFNQyxZQUFZLEdBQUdkLEdBQUcsQ0FBQ2UsUUFBUSxDQUFDLENBQUMsQ0FBQ0gsR0FBRyxDQUFDLFVBQUNaLEdBQUcsRUFBSztRQUM3QyxPQUFPQSxHQUFHLENBQUNhLElBQUksQ0FBQyxDQUFDO01BQ3JCLENBQUMsQ0FBQztNQUNGLElBQU1HLGFBQWEsR0FBR2hCLEdBQUcsQ0FBQ2lCLFNBQVMsQ0FBQyxDQUFDLENBQUNMLEdBQUcsQ0FBQyxVQUFDWixHQUFHLEVBQUs7UUFDL0MsT0FBT0EsR0FBRyxDQUFDYSxJQUFJLENBQUMsQ0FBQztNQUNyQixDQUFDLENBQUM7TUFDRixJQUFNSyxlQUFlLEdBQUdsQixHQUFHLENBQUNtQixXQUFXLENBQUMsQ0FBQyxDQUFDUCxHQUFHLENBQUMsVUFBQ1osR0FBRyxFQUFLO1FBQ25ELE9BQU9BLEdBQUcsQ0FBQ2EsSUFBSSxDQUFDLENBQUM7TUFDckIsQ0FBQyxDQUFDO01BQ0YsSUFBTU8sWUFBWSxHQUFHcEIsR0FBRyxDQUFDcUIsUUFBUSxDQUFDLENBQUMsQ0FBQ1QsR0FBRyxDQUFDLFVBQUNaLEdBQUcsRUFBSztRQUM3QyxPQUFPQSxHQUFHLENBQUNhLElBQUksQ0FBQyxDQUFDO01BQ3JCLENBQUMsQ0FBQztNQUVGLElBQU9TLFNBQVMsR0FBSXZCLEtBQUssQ0FBbEJ1QixTQUFTO01BQ2hCLElBQUFDLFNBQUEsR0FTSXZCLEdBQUcsQ0FBQ3dCLElBQUksQ0FBQyxDQUFDO1FBUlZDLE9BQU8sR0FBQUYsU0FBQSxDQUFQRSxPQUFPO1FBQ1BaLElBQUksR0FBQVUsU0FBQSxDQUFKVixJQUFJO1FBQ0phLFNBQVMsR0FBQUgsU0FBQSxDQUFURyxTQUFTO1FBQ1RDLEtBQUssR0FBQUosU0FBQSxDQUFMSSxLQUFLO1FBQ0xDLE1BQU0sR0FBQUwsU0FBQSxDQUFOSyxNQUFNO1FBQ05DLFFBQVEsR0FBQU4sU0FBQSxDQUFSTSxRQUFRO1FBQ1JDLFFBQVEsR0FBQVAsU0FBQSxDQUFSTyxRQUFRO1FBQ1JDLFVBQVUsR0FBQVIsU0FBQSxDQUFWUSxVQUFVO01BR2QsSUFBSUMsVUFBVTtNQUNkLElBQUl4QixNQUFNLEVBQUU7UUFDUndCLFVBQVUsR0FBR3hCLE1BQU0sQ0FBQ0ssSUFBSSxDQUFDLENBQUM7TUFDOUIsQ0FBQyxNQUFNO1FBQ0htQixVQUFVLEdBQUcsSUFBSTtNQUNyQjtNQUVBLElBQU1DLFVBQVUsR0FBRztRQUNmO1FBQ0F2QixTQUFTLEVBQVRBLFNBQVM7UUFDVEosZ0JBQWdCLEVBQWhCQSxnQkFBZ0I7UUFDaEJnQixTQUFTLEVBQVRBLFNBQVM7UUFDVDtRQUNBRyxPQUFPLEVBQVBBLE9BQU87UUFDUFosSUFBSSxFQUFKQSxJQUFJO1FBQ0phLFNBQVMsRUFBVEEsU0FBUztRQUNUQyxLQUFLLEVBQUxBLEtBQUs7UUFDTEMsTUFBTSxFQUFOQSxNQUFNO1FBQ05DLFFBQVEsRUFBUkEsUUFBUTtRQUNSRSxVQUFVLEVBQVZBLFVBQVU7UUFDVkQsUUFBUSxFQUFSQSxRQUFRO1FBQ1I7UUFDQWQsYUFBYSxFQUFiQSxhQUFhO1FBQ2JGLFlBQVksRUFBWkEsWUFBWTtRQUNaSSxlQUFlLEVBQWZBLGVBQWU7UUFDZmMsVUFBVSxFQUFWQSxVQUFVO1FBQ1ZaLFlBQVksRUFBWkEsWUFBWTtRQUNabEIsUUFBUSxFQUFSQSxRQUFRO1FBQ1JDLFdBQVcsRUFBWEEsV0FBVztRQUNYQyxPQUFPLEVBQVBBLE9BQU87UUFDUEMsUUFBUSxFQUFSQSxRQUFRO1FBQ1JFLGdCQUFnQixFQUFoQkEsZ0JBQWdCO1FBQ2hCO1FBQ0FFLEtBQUssRUFBTEE7TUFDSixDQUFDO01BQ0QsT0FBT3dCLFVBQVU7SUFDckI7RUFBQztJQUFBckMsR0FBQTtJQUFBQyxLQUFBLEVBRUQsU0FBQXFDLGFBQWFuQyxLQUFLLEVBQUU7TUFDaEIsSUFBTUMsR0FBRyxHQUFHRCxLQUFLLENBQUNFLE1BQU07TUFFeEIsSUFBTWtDLFFBQVEsR0FBR25DLEdBQUcsQ0FBQ21DLFFBQVEsQ0FBQyxDQUFDO1FBQzNCQyxNQUFNLEdBQUdwQyxHQUFHLENBQUNvQyxNQUFNLENBQUMsQ0FBQztRQUNyQkMsUUFBUSxHQUFHckMsR0FBRyxDQUFDcUMsUUFBUSxDQUFDLENBQUM7UUFDekJDLFVBQVUsR0FBR3RDLEdBQUcsQ0FBQ3VDLE1BQU0sQ0FBQyxDQUFDLENBQUMxQixJQUFJLENBQUMsQ0FBQztRQUNoQzJCLGNBQWMsR0FBR3hDLEdBQUcsQ0FBQ3dDLGNBQWMsQ0FBQyxDQUFDO1FBQ3JDL0IsS0FBSyxHQUFHVCxHQUFHLENBQUNTLEtBQUssQ0FBQyxDQUFDO1FBQ25CZ0MsVUFBVSxHQUFHekMsR0FBRyxDQUFDQyxNQUFNLENBQUMsQ0FBQyxDQUFDWSxJQUFJLENBQUMsQ0FBQztRQUNoQzZCLGNBQWMsR0FBRzFDLEdBQUcsQ0FBQzBDLGNBQWMsQ0FBQyxDQUFDO01BRXpDLElBQU9wQixTQUFTLEdBQUl2QixLQUFLLENBQWxCdUIsU0FBUztNQUNoQixJQUFBcUIsVUFBQSxHQUNJM0MsR0FBRyxDQUFDd0IsSUFBSSxDQUFDLENBQUM7UUFEUEMsT0FBTyxHQUFBa0IsVUFBQSxDQUFQbEIsT0FBTztRQUFFWixJQUFJLEdBQUE4QixVQUFBLENBQUo5QixJQUFJO1FBQUVhLFNBQVMsR0FBQWlCLFVBQUEsQ0FBVGpCLFNBQVM7UUFBRUMsS0FBSyxHQUFBZ0IsVUFBQSxDQUFMaEIsS0FBSztRQUFFQyxNQUFNLEdBQUFlLFVBQUEsQ0FBTmYsTUFBTTtRQUFFRyxVQUFVLEdBQUFZLFVBQUEsQ0FBVlosVUFBVTtRQUFFRCxRQUFRLEdBQUFhLFVBQUEsQ0FBUmIsUUFBUTtNQUdwRSxJQUFNYyxVQUFVLEdBQUc7UUFDZjtRQUNBUixNQUFNLEVBQU5BLE1BQU07UUFDTkMsUUFBUSxFQUFSQSxRQUFRO1FBQ1JGLFFBQVEsRUFBUkEsUUFBUTtRQUNSRyxVQUFVLEVBQVZBLFVBQVU7UUFDVkUsY0FBYyxFQUFkQSxjQUFjO1FBQ2RDLFVBQVUsRUFBVkEsVUFBVTtRQUNWQyxjQUFjLEVBQWRBLGNBQWM7UUFDZHBCLFNBQVMsRUFBVEEsU0FBUztRQUNUO1FBQ0FHLE9BQU8sRUFBUEEsT0FBTztRQUNQWixJQUFJLEVBQUpBLElBQUk7UUFDSmEsU0FBUyxFQUFUQSxTQUFTO1FBQ1RDLEtBQUssRUFBTEEsS0FBSztRQUNMQyxNQUFNLEVBQU5BLE1BQU07UUFDTkcsVUFBVSxFQUFWQSxVQUFVO1FBQ1ZELFFBQVEsRUFBUkEsUUFBUTtRQUNSO1FBQ0FyQixLQUFLLEVBQUxBO01BQ0osQ0FBQztNQUVELE9BQU9tQyxVQUFVO0lBQ3JCO0VBQUM7SUFBQWhELEdBQUE7SUFBQUMsS0FBQSxFQUVELFNBQUFSLFNBQVN3RCxFQUFFLEVBQUU7TUFBQSxJQUFBQyxNQUFBO01BQ1Q7TUFDQTtNQUNBLElBQUlELEVBQUUsS0FBSyxJQUFJLENBQUNFLEdBQUcsSUFBSSxJQUFJLENBQUN2RCxlQUFlLEVBQUU7UUFDekM7TUFDSjtNQUNBLElBQUksQ0FBQ3VELEdBQUcsR0FBR0YsRUFBRTtNQUNiRyxNQUFNLENBQUNILEVBQUUsR0FBR0EsRUFBRTtNQUNkLElBQUksQ0FBQ3JELGVBQWUsR0FBRyxJQUFJOztNQUUzQjtNQUNBLElBQU15RCxnQkFBZ0IsR0FBRyxHQUFHO01BQzVCLElBQU1DLGdCQUFnQixHQUFHLENBQUM7TUFDMUIsSUFBTUMseUJBQXlCLEdBQUcsR0FBRztNQUNyQyxJQUFNQyxnQkFBZ0IsR0FBRyxFQUFFO01BRTNCLElBQU1DLGFBQWEsR0FBR1IsRUFBRSxDQUFDUyxVQUFVLENBQUMsQ0FBQztNQUNyQyxJQUFNQyxhQUFhLEdBQUdWLEVBQUUsQ0FBQ1MsVUFBVSxDQUFDLENBQUM7O01BRXJDO01BQ0EsSUFBTUUsYUFBYSxHQUFHakYsc0RBQVUsQ0FBQyxZQUFNO1FBQ25DO0FBQ1o7QUFDQTtRQUNZLElBQUFtRixZQUFBLEdBQW9DWixNQUFJLENBQUM3RCxLQUFLO1VBQXZDMEUsaUJBQWlCLEdBQUFELFlBQUEsQ0FBakJDLGlCQUFpQjtVQUFFQyxNQUFNLEdBQUFGLFlBQUEsQ0FBTkUsTUFBTTtRQUVoQyxJQUFJRCxpQkFBaUIsRUFBRTtVQUNuQmQsRUFBRSxDQUFDZSxNQUFNLENBQUNBLE1BQU0sQ0FBQyxDQUFDQyxHQUFHLENBQUMsQ0FBQztRQUMzQjtNQUNKLENBQUMsRUFBRVosZ0JBQWdCLENBQUM7TUFFcEIsSUFBTWEscUJBQXFCLEdBQUd2RixzREFBVSxDQUFDLFlBQU07UUFDM0M7QUFDWjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtRQUNZLElBQU13RixRQUFRLEdBQUdWLGFBQWEsQ0FBQ3pDLEdBQUcsQ0FBQyxVQUFDb0QsRUFBRTtVQUFBLE9BQUtBLEVBQUUsQ0FBQ25ELElBQUksQ0FBQyxDQUFDO1FBQUEsRUFBQztRQUVyRGlDLE1BQUksQ0FBQzdELEtBQUssQ0FBQ2dGLFFBQVEsQ0FBQztVQUNoQkMsZ0JBQWdCLEVBQUVIO1FBQ3RCLENBQUMsQ0FBQztNQUNOLENBQUMsRUFBRWQsZ0JBQWdCLENBQUM7TUFFcEIsSUFBTWtCLHFCQUFxQixHQUFHNUYsc0RBQVUsQ0FBQyxZQUFNO1FBQzNDLElBQU02RixRQUFRLEdBQUdiLGFBQWEsQ0FBQzNDLEdBQUcsQ0FBQyxVQUFDb0QsRUFBRTtVQUFBLE9BQUtBLEVBQUUsQ0FBQ25ELElBQUksQ0FBQyxDQUFDO1FBQUEsRUFBQztRQUVyRGlDLE1BQUksQ0FBQzdELEtBQUssQ0FBQ2dGLFFBQVEsQ0FBQztVQUNoQkksZ0JBQWdCLEVBQUVEO1FBQ3RCLENBQUMsQ0FBQztNQUNOLENBQUMsRUFBRW5CLGdCQUFnQixDQUFDO01BRXBCLElBQU1xQixTQUFTLEdBQUcvRixzREFBVSxDQUFDLFVBQUNnRyxRQUFRLEVBQUs7UUFDdkN6QixNQUFJLENBQUM3RCxLQUFLLENBQUNnRixRQUFRLENBQUM7VUFDaEJPLE1BQU0sRUFBRUQ7UUFDWixDQUFDLENBQUM7TUFDTixDQUFDLEVBQUVyQixnQkFBZ0IsQ0FBQztNQUVwQixJQUFNdUIsY0FBYyxHQUFHbEcsc0RBQVUsQ0FBQyxZQUFNO1FBQ3BDdUUsTUFBSSxDQUFDN0QsS0FBSyxDQUFDZ0YsUUFBUSxDQUFDO1VBQ2hCUyxRQUFRLEVBQUU3QixFQUFFLENBQUM2QixRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM5RCxHQUFHLENBQUMsVUFBQytELElBQUksRUFBSztZQUNwQyxJQUFJQSxJQUFJLENBQUNuRCxJQUFJLENBQUMsQ0FBQyxDQUFDRyxLQUFLLEtBQUssT0FBTyxFQUFFO2NBQy9CLE9BQU87Z0JBQ0hkLElBQUksRUFBRThELElBQUksQ0FBQ25ELElBQUksQ0FBQyxDQUFDLENBQUNYLElBQUk7Z0JBQ3RCZ0IsUUFBUSxFQUFFOEMsSUFBSSxDQUFDbkQsSUFBSSxDQUFDLENBQUMsQ0FBQ0s7Y0FDMUIsQ0FBQztZQUNMO1lBQ0EsT0FBTztjQUNIaEIsSUFBSSxFQUFFOEQsSUFBSSxDQUFDbkQsSUFBSSxDQUFDLENBQUMsQ0FBQ1gsSUFBSTtjQUN0QmdCLFFBQVEsRUFBRSxLQUFLO1lBQ25CLENBQUM7VUFDTCxDQUFDO1FBQ0wsQ0FBQyxDQUFDO01BQ04sQ0FBQyxFQUFFc0IseUJBQXlCLENBQUM7TUFFN0IsSUFBTXlCLE1BQU0sR0FBR3JHLHNEQUFVLENBQUMsWUFBTTtRQUM1QnNFLEVBQUUsQ0FBQytCLE1BQU0sQ0FBQyxDQUFDO01BQ2YsQ0FBQyxFQUFFeEIsZ0JBQWdCLENBQUM7O01BRXBCO01BQ0EsSUFBTXlCLGlCQUFpQixHQUFHaEMsRUFBRSxDQUFDaUMsT0FBTztNQUNwQyxJQUFNQyxpQkFBaUIsR0FBR2xDLEVBQUUsQ0FBQ21DLE9BQU87O01BRXBDO01BQ0FuQyxFQUFFLENBQUNpQyxPQUFPLEdBQUcsVUFBVUcsQ0FBQyxFQUFFO1FBQ3RCLElBQU1DLGNBQWMsR0FBR0wsaUJBQWlCLENBQUNNLElBQUksQ0FBQ3RDLEVBQUUsRUFBRW9DLENBQUMsQ0FBQzs7UUFFcEQ7UUFDQTtRQUNBLElBQUlDLGNBQWMsS0FBS3JDLEVBQUUsQ0FBQ3VDLGdCQUFnQixFQUFFO1VBQ3hDdkMsRUFBRSxDQUFDdUMsZ0JBQWdCLEdBQUdGLGNBQWM7VUFDcENyQyxFQUFFLENBQUN3QyxPQUFPLENBQUMsa0JBQWtCLENBQUM7UUFDbEM7UUFDQSxPQUFPSCxjQUFjO01BQ3pCLENBQUM7O01BRUQ7TUFDQXJDLEVBQUUsQ0FBQ21DLE9BQU8sR0FBRyxVQUFVQyxDQUFDLEVBQUU7UUFDdEIsSUFBTUssY0FBYyxHQUFHUCxpQkFBaUIsQ0FBQ0ksSUFBSSxDQUFDdEMsRUFBRSxFQUFFb0MsQ0FBQyxDQUFDOztRQUVwRDtRQUNBO1FBQ0EsSUFBSUssY0FBYyxLQUFLekMsRUFBRSxDQUFDMEMsZ0JBQWdCLEVBQUU7VUFDeEMxQyxFQUFFLENBQUMwQyxnQkFBZ0IsR0FBR0QsY0FBYztVQUNwQ3pDLEVBQUUsQ0FBQ3dDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQztRQUNsQztRQUNBLE9BQU9DLGNBQWM7TUFDekIsQ0FBQzs7TUFFRDs7TUFFQXpDLEVBQUUsQ0FBQzJDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLFVBQUN6RixLQUFLLEVBQUs7UUFDNUIsSUFBTWtDLFVBQVUsR0FBR2EsTUFBSSxDQUFDaEQsWUFBWSxDQUFDQyxLQUFLLENBQUM7UUFFM0MrQyxNQUFJLENBQUM3RCxLQUFLLENBQUNnRixRQUFRLENBQUM7VUFDaEJ3QixPQUFPLEVBQUV4RCxVQUFVO1VBQ25CeUQsV0FBVyxFQUFFQyxNQUFNLENBQUNDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRTNELFVBQVUsQ0FBQ3BCLElBQUksRUFBRTtZQUM1Q1MsU0FBUyxFQUFFVyxVQUFVLENBQUNYO1VBQzFCLENBQUM7UUFDTCxDQUFDLENBQUM7TUFDTixDQUFDLENBQUM7TUFFRnVCLEVBQUUsQ0FBQzJDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLFVBQUN6RixLQUFLLEVBQUs7UUFDNUIsSUFBTTZDLFVBQVUsR0FBR0UsTUFBSSxDQUFDWixZQUFZLENBQUNuQyxLQUFLLENBQUM7UUFFM0MrQyxNQUFJLENBQUM3RCxLQUFLLENBQUNnRixRQUFRLENBQUM7VUFDaEI0QixPQUFPLEVBQUVqRCxVQUFVO1VBQ25Ca0QsV0FBVyxFQUFFSCxNQUFNLENBQUNDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRWhELFVBQVUsQ0FBQy9CLElBQUksRUFBRTtZQUM1Q1MsU0FBUyxFQUFFc0IsVUFBVSxDQUFDdEI7VUFDMUIsQ0FBQztRQUNMLENBQUMsQ0FBQztNQUNOLENBQUMsQ0FBQztNQUVGdUIsRUFBRSxDQUFDMkMsRUFBRSxDQUFDLFdBQVcsRUFBRSxNQUFNLEVBQUUsVUFBQ3pGLEtBQUssRUFBSztRQUNsQytDLE1BQUksQ0FBQzdELEtBQUssQ0FBQ2dGLFFBQVEsQ0FBQztVQUNoQjhCLGlCQUFpQixFQUFFSixNQUFNLENBQUNDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRTdGLEtBQUssQ0FBQ0UsTUFBTSxDQUFDWSxJQUFJLENBQUMsQ0FBQyxFQUFFO1lBQ3REUyxTQUFTLEVBQUV2QixLQUFLLENBQUN1QjtVQUNyQixDQUFDO1FBQ0wsQ0FBQyxDQUFDO01BQ04sQ0FBQyxDQUFDO01BRUZ1QixFQUFFLENBQUMyQyxFQUFFLENBQUMsV0FBVyxFQUFFLE1BQU0sRUFBRSxVQUFDekYsS0FBSyxFQUFLO1FBQ2xDK0MsTUFBSSxDQUFDN0QsS0FBSyxDQUFDZ0YsUUFBUSxDQUFDO1VBQ2hCK0IsaUJBQWlCLEVBQUVMLE1BQU0sQ0FBQ0MsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFN0YsS0FBSyxDQUFDRSxNQUFNLENBQUNZLElBQUksQ0FBQyxDQUFDLEVBQUU7WUFDdERTLFNBQVMsRUFBRXZCLEtBQUssQ0FBQ3VCO1VBQ3JCLENBQUM7UUFDTCxDQUFDLENBQUM7TUFDTixDQUFDLENBQUM7TUFFRnVCLEVBQUUsQ0FBQzJDLEVBQUUsQ0FBQyxVQUFVLEVBQUUsTUFBTSxFQUFFLFVBQUNqSCxDQUFDLEVBQUs7UUFDN0IsSUFBSXVFLE1BQUksQ0FBQzdELEtBQUssQ0FBQ2dILGNBQWMsS0FBSyxJQUFJLEVBQUU7VUFDcENuRCxNQUFJLENBQUM3RCxLQUFLLENBQUNnRixRQUFRLENBQUM7WUFBQzhCLGlCQUFpQixFQUFFO1VBQUksQ0FBQyxDQUFDO1FBQ2xEO01BQ0osQ0FBQyxDQUFDO01BRUZsRCxFQUFFLENBQUMyQyxFQUFFLENBQUMsVUFBVSxFQUFFLE1BQU0sRUFBRSxVQUFDakgsQ0FBQyxFQUFLO1FBQzdCLElBQUl1RSxNQUFJLENBQUM3RCxLQUFLLENBQUNnSCxjQUFjLEtBQUssSUFBSSxFQUFFO1VBQ3BDbkQsTUFBSSxDQUFDN0QsS0FBSyxDQUFDZ0YsUUFBUSxDQUFDO1lBQ2hCK0IsaUJBQWlCLEVBQUU7VUFDdkIsQ0FBQyxDQUFDO1FBQ047TUFDSixDQUFDLENBQUM7TUFFRm5ELEVBQUUsQ0FBQzJDLEVBQUUsQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFFLFVBQUN6RixLQUFLLEVBQUs7UUFDL0IsSUFBTUMsR0FBRyxHQUFHRCxLQUFLLENBQUNFLE1BQU07UUFFeEJvRCxhQUFhLENBQUM2QyxLQUFLLENBQUNsRyxHQUFHLENBQUM7UUFDeEI4RCxxQkFBcUIsQ0FBQyxDQUFDO01BQzNCLENBQUMsQ0FBQztNQUVGakIsRUFBRSxDQUFDMkMsRUFBRSxDQUFDLGlCQUFpQixFQUFFLE1BQU0sRUFBRSxVQUFDekYsS0FBSyxFQUFLO1FBQ3hDLElBQU1DLEdBQUcsR0FBR0QsS0FBSyxDQUFDRSxNQUFNO1FBRXhCb0QsYUFBYSxDQUFDOEMsT0FBTyxDQUFDbkcsR0FBRyxDQUFDO1FBQzFCOEQscUJBQXFCLENBQUMsQ0FBQztNQUMzQixDQUFDLENBQUM7TUFFRmpCLEVBQUUsQ0FBQzJDLEVBQUUsQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFFLFVBQUN6RixLQUFLLEVBQUs7UUFDL0IsSUFBTUMsR0FBRyxHQUFHRCxLQUFLLENBQUNFLE1BQU07UUFFeEJzRCxhQUFhLENBQUMyQyxLQUFLLENBQUNsRyxHQUFHLENBQUM7UUFDeEJtRSxxQkFBcUIsQ0FBQyxDQUFDO01BQzNCLENBQUMsQ0FBQztNQUVGdEIsRUFBRSxDQUFDMkMsRUFBRSxDQUFDLGlCQUFpQixFQUFFLE1BQU0sRUFBRSxVQUFDekYsS0FBSyxFQUFLO1FBQ3hDLElBQU1DLEdBQUcsR0FBR0QsS0FBSyxDQUFDRSxNQUFNO1FBRXhCc0QsYUFBYSxDQUFDNEMsT0FBTyxDQUFDbkcsR0FBRyxDQUFDO1FBQzFCbUUscUJBQXFCLENBQUMsQ0FBQztNQUMzQixDQUFDLENBQUM7TUFFRnRCLEVBQUUsQ0FBQzJDLEVBQUUsQ0FBQyxZQUFZLEVBQUUsWUFBTTtRQUN0QmhDLGFBQWEsQ0FBQyxDQUFDO01BQ25CLENBQUMsQ0FBQztNQUVGWCxFQUFFLENBQUMyQyxFQUFFLENBQUMscUJBQXFCLEVBQUUsVUFBQ2pILENBQUMsRUFBSztRQUNoQ2tHLGNBQWMsQ0FBQyxDQUFDO01BQ3BCLENBQUMsQ0FBQztNQUVGNUIsRUFBRSxDQUFDMkMsRUFBRSxDQUFDLGlCQUFpQixFQUFFLFlBQU07UUFDM0JsQixTQUFTLENBQUN6QixFQUFFLENBQUMyQixNQUFNLENBQUMsQ0FBQyxDQUFDO01BQzFCLENBQUMsQ0FBQztNQUVGM0IsRUFBRSxDQUFDMkMsRUFBRSxDQUFDLFVBQVUsRUFBRSxZQUFNO1FBQ3BCWixNQUFNLENBQUMsQ0FBQztNQUNaLENBQUMsQ0FBQzs7TUFFRjtNQUNBL0IsRUFBRSxDQUFDMkMsRUFBRSxDQUFDLGtCQUFrQixFQUFFLFlBQVk7UUFDbEMsSUFBTVksSUFBSSxHQUFHdkQsRUFBRSxDQUFDdUQsSUFBSSxDQUFDLENBQUM7UUFDdEIsSUFBSUEsSUFBSSxHQUFHdkQsRUFBRSxDQUFDaUMsT0FBTyxDQUFDLENBQUMsSUFBSXNCLElBQUksR0FBR3ZELEVBQUUsQ0FBQ21DLE9BQU8sQ0FBQyxDQUFDLEVBQUU7VUFDNUNuQyxFQUFFLENBQUN3RCxHQUFHLENBQUMsQ0FBQztRQUNaO01BQ0osQ0FBQyxDQUFDO01BRUYsSUFBSSxDQUFDQyxlQUFlLEdBQUcsVUFBQ0MsT0FBTyxFQUFLO1FBQ2hDLElBQU1DLHFCQUFxQixHQUFHLFNBQXhCQSxxQkFBcUJBLENBQUlDLFVBQVUsRUFBSztVQUMxQzNELE1BQUksQ0FBQzdELEtBQUssQ0FBQ2dGLFFBQVEsQ0FBQztZQUFDeUMsZUFBZSxFQUFFRDtVQUFVLENBQUMsQ0FBQztRQUN0RCxDQUFDO1FBQ0QsSUFBTUUsMkJBQTJCLEdBQUc7VUFDaENDLE1BQU0sRUFBRSxTQUFBQSxPQUFVN0csS0FBSyxFQUFFO1lBQ3JCLElBQU1FLE1BQU0sR0FBR0YsS0FBSyxDQUFDRSxNQUFNLElBQUlGLEtBQUssQ0FBQzhHLFFBQVE7WUFDN0M1RyxNQUFNLENBQUMyRyxNQUFNLENBQUMsQ0FBQztVQUNuQixDQUFDO1VBQ0RFLFFBQVEsRUFBRSxTQUFBQSxTQUFVL0csS0FBSyxFQUFFO1lBQ3ZCLElBQU1nSCxHQUFHLEdBQUdoSCxLQUFLLENBQUM4QixRQUFRLElBQUk5QixLQUFLLENBQUNpSCxVQUFVO1lBQzlDbkUsRUFBRSxDQUFDb0UsR0FBRyxDQUFDO2NBQ0hwRyxJQUFJLEVBQUU7Z0JBQ0ZjLEtBQUssRUFBRTtjQUNYLENBQUM7Y0FDREUsUUFBUSxFQUFFO2dCQUNOcUYsQ0FBQyxFQUFFSCxHQUFHLENBQUNHLENBQUM7Z0JBQ1JDLENBQUMsRUFBRUosR0FBRyxDQUFDSTtjQUNYO1lBQ0osQ0FBQyxDQUFDO1VBQ04sQ0FBQztVQUNEQyxRQUFRLEVBQUUsU0FBQUEsU0FBQSxFQUFZO1lBQ2xCLElBQU1DLGVBQWUsR0FBR2hFLGFBQWEsQ0FBQ3pDLEdBQUcsQ0FBQyxVQUFDMEcsSUFBSTtjQUFBLE9BQzNDQSxJQUFJLENBQUNDLEVBQUUsQ0FBQyxDQUFDO1lBQUEsQ0FDYixDQUFDO1lBQ0QsSUFBSWxFLGFBQWEsQ0FBQ21FLE1BQU0sS0FBSyxDQUFDLEVBQUU7Y0FDNUJDLE9BQU8sQ0FBQ0MsS0FBSyxDQUNULDJDQUNKLENBQUM7WUFDTCxDQUFDLE1BQU0sSUFBSXJFLGFBQWEsQ0FBQ21FLE1BQU0sS0FBSyxDQUFDLEVBQUU7Y0FDbkMzRSxFQUFFLENBQUNvRSxHQUFHLENBQUM7Z0JBQ0hwRyxJQUFJLEVBQUU7a0JBQ0YwRyxFQUFFLEVBQUU5SSxnREFBTSxDQUFDLENBQUM7a0JBQ1prRCxLQUFLLEVBQUUsT0FBTztrQkFDZFksTUFBTSxFQUFFOEUsZUFBZSxDQUFDLENBQUMsQ0FBQztrQkFDMUJwSCxNQUFNLEVBQUVvSCxlQUFlLENBQUMsQ0FBQztnQkFDN0I7Y0FDSixDQUFDLENBQUM7WUFDTixDQUFDLE1BQU0sSUFBSWhFLGFBQWEsQ0FBQ21FLE1BQU0sS0FBSyxDQUFDLEVBQUU7Y0FDbkMzRSxFQUFFLENBQUNvRSxHQUFHLENBQUM7Z0JBQ0hwRyxJQUFJLEVBQUU7a0JBQ0YwRyxFQUFFLEVBQUU5SSxnREFBTSxDQUFDLENBQUM7a0JBQ1prRCxLQUFLLEVBQUUsT0FBTztrQkFDZFksTUFBTSxFQUFFOEUsZUFBZSxDQUFDLENBQUMsQ0FBQztrQkFDMUJwSCxNQUFNLEVBQUVvSCxlQUFlLENBQUMsQ0FBQztnQkFDN0I7Y0FDSixDQUFDLENBQUM7WUFDTixDQUFDLE1BQU07Y0FDSEksT0FBTyxDQUFDQyxLQUFLLENBQ1Qsb0RBQ0osQ0FBQztZQUNMO1VBQ0o7UUFDSixDQUFDO1FBQ0QsSUFBTUMsWUFBWSxHQUFHLEVBQUU7UUFBQyxJQUFBQyxTQUFBLEdBQUFDLDBCQUFBLENBQ0x0QixPQUFPO1VBQUF1QixLQUFBO1FBQUE7VUFBQSxJQUFBQyxLQUFBLFlBQUFBLE1BQUEsRUFBRTtZQUFBLElBQWpCcEQsSUFBSSxHQUFBbUQsS0FBQSxDQUFBakksS0FBQTtZQUNYLElBQUltSSxlQUFlO1lBQ25CO1lBQ0E7WUFDQUEsZUFBZSxHQUFHLFNBQUFBLGdCQUFVakksS0FBSyxFQUFFO2NBQy9CeUcscUJBQXFCLENBQUM7Z0JBQ2xCeUIsVUFBVSxFQUFFdEQsSUFBSSxDQUFDNEMsRUFBRTtnQkFDbkJMLENBQUMsRUFBRW5ILEtBQUssQ0FBQzhCLFFBQVEsQ0FBQ3FGLENBQUM7Z0JBQ25CQyxDQUFDLEVBQUVwSCxLQUFLLENBQUM4QixRQUFRLENBQUNzRixDQUFDO2dCQUNuQjdGLFNBQVMsRUFBRXZCLEtBQUssQ0FBQ3VCLFNBQVM7Z0JBQzFCNEcsU0FBUyxFQUFFbkksS0FBSyxDQUFDRSxNQUFNLENBQUNZLElBQUksQ0FBQyxDQUFDLENBQUMwRyxFQUFFO2dCQUNqQ1ksVUFBVSxFQUFFcEksS0FBSyxDQUFDRSxNQUFNLENBQUNZLElBQUksQ0FBQyxDQUFDLENBQUMwQixNQUFNO2dCQUN0QzZGLFVBQVUsRUFBRXJJLEtBQUssQ0FBQ0UsTUFBTSxDQUFDWSxJQUFJLENBQUMsQ0FBQyxDQUFDWjtjQUNwQyxDQUFDLENBQUM7WUFDTixDQUFDO1lBQ0Q7WUFDQSxJQUFJMEYsTUFBTSxDQUFDMEMsU0FBUyxDQUFDQyxjQUFjLENBQUNuRCxJQUFJLENBQUNSLElBQUksRUFBRSxTQUFTLENBQUMsRUFBRTtjQUN2RCxJQUNJZ0IsTUFBTSxDQUFDMEMsU0FBUyxDQUFDQyxjQUFjLENBQUNuRCxJQUFJLENBQ2hDd0IsMkJBQTJCLEVBQzNCaEMsSUFBSSxDQUFDNEQsT0FDVCxDQUFDLEVBQ0g7Z0JBQ0VQLGVBQWUsR0FDWHJCLDJCQUEyQixDQUFDaEMsSUFBSSxDQUFDNEQsT0FBTyxDQUFDO2NBQ2pELENBQUMsTUFBTTtnQkFDSGQsT0FBTyxDQUFDQyxLQUFLLHFCQUFBYyxNQUFBLENBQ1c3RCxJQUFJLENBQUM0RCxPQUFPLG9CQUNwQyxDQUFDO2NBQ0w7WUFDSjtZQUNBO1lBQUEsS0FDSyxJQUNENUMsTUFBTSxDQUFDMEMsU0FBUyxDQUFDQyxjQUFjLENBQUNuRCxJQUFJLENBQUNSLElBQUksRUFBRSxlQUFlLENBQUMsRUFDN0Q7Y0FDRSxJQUNJZ0IsTUFBTSxDQUFDMEMsU0FBUyxDQUFDQyxjQUFjLENBQUNuRCxJQUFJLENBQ2hDbkMsTUFBTSxFQUNOLHdCQUNKLENBQUMsSUFDRDJDLE1BQU0sQ0FBQzBDLFNBQVMsQ0FBQ0MsY0FBYyxDQUFDbkQsSUFBSSxDQUNoQ25DLE1BQU0sQ0FBQ3lGLHNCQUFzQixFQUM3QjlELElBQUksQ0FBQytELGFBQ1QsQ0FBQyxFQUNIO2dCQUNFVixlQUFlLEdBQ1hoRixNQUFNLENBQUN5RixzQkFBc0IsQ0FBQzlELElBQUksQ0FBQytELGFBQWEsQ0FBQztjQUN6RCxDQUFDLE1BQU07Z0JBQ0hqQixPQUFPLENBQUNDLEtBQUssMkJBQUFjLE1BQUEsQ0FDaUI3RCxJQUFJLENBQUMrRCxhQUFhLG9CQUNoRCxDQUFDO2NBQ0w7WUFDSjtZQUNBLElBQU1DLFFBQVEsR0FBRztjQUNicEIsRUFBRSxFQUFFNUMsSUFBSSxDQUFDNEMsRUFBRTtjQUNYcUIsT0FBTyxFQUFFakUsSUFBSSxDQUFDa0UsS0FBSztjQUNuQkMsV0FBVyxFQUFFbkUsSUFBSSxDQUFDbUUsV0FBVztjQUM3QkMsUUFBUSxFQUFFLEVBQUU7Y0FDWmYsZUFBZSxFQUFFQSxlQUFlO2NBQ2hDZ0IsVUFBVSxFQUFFO1lBQ2hCLENBQUM7WUFDRCxJQUFJckQsTUFBTSxDQUFDMEMsU0FBUyxDQUFDQyxjQUFjLENBQUNuRCxJQUFJLENBQUNSLElBQUksRUFBRSxhQUFhLENBQUMsRUFBRTtjQUFBLElBQUFzRSxVQUFBLEdBQUFwQiwwQkFBQSxDQUNwQ2xELElBQUksQ0FBQ3VFLFdBQVc7Z0JBQUFDLE1BQUE7Y0FBQTtnQkFBdkMsS0FBQUYsVUFBQSxDQUFBRyxDQUFBLE1BQUFELE1BQUEsR0FBQUYsVUFBQSxDQUFBSSxDQUFBLElBQUFDLElBQUEsR0FBeUM7a0JBQUEsSUFBOUJQLFFBQVEsR0FBQUksTUFBQSxDQUFBdEosS0FBQTtrQkFDZixJQUFJa0osUUFBUSxLQUFLLE1BQU0sRUFBRTtvQkFDckIsSUFBSUosUUFBUSxDQUFDSSxRQUFRLENBQUN2QixNQUFNLEdBQUcsQ0FBQyxFQUFFO3NCQUM5Qm1CLFFBQVEsQ0FBQ0ksUUFBUSxHQUFHSixRQUFRLENBQUNJLFFBQVEsR0FBRyxJQUFJO29CQUNoRDtvQkFDQUosUUFBUSxDQUFDSSxRQUFRLEdBQUdKLFFBQVEsQ0FBQ0ksUUFBUSxHQUFHLE1BQU07a0JBQ2xELENBQUMsTUFBTSxJQUFJQSxRQUFRLEtBQUssTUFBTSxFQUFFO29CQUM1QixJQUFJSixRQUFRLENBQUNJLFFBQVEsQ0FBQ3ZCLE1BQU0sR0FBRyxDQUFDLEVBQUU7c0JBQzlCbUIsUUFBUSxDQUFDSSxRQUFRLEdBQUdKLFFBQVEsQ0FBQ0ksUUFBUSxHQUFHLElBQUk7b0JBQ2hEO29CQUNBSixRQUFRLENBQUNJLFFBQVEsR0FBR0osUUFBUSxDQUFDSSxRQUFRLEdBQUcsTUFBTTtrQkFDbEQsQ0FBQyxNQUFNLElBQUlBLFFBQVEsS0FBSyxRQUFRLEVBQUU7b0JBQzlCSixRQUFRLENBQUNLLFVBQVUsR0FBRyxJQUFJO2tCQUM5QixDQUFDLE1BQU07b0JBQ0h2QixPQUFPLENBQUNDLEtBQUssb0JBQUFjLE1BQUEsQ0FDVU8sUUFBUSxpRUFDL0IsQ0FBQztrQkFDTDtnQkFDSjtjQUFDLFNBQUFRLEdBQUE7Z0JBQUFOLFVBQUEsQ0FBQWhFLENBQUEsQ0FBQXNFLEdBQUE7Y0FBQTtnQkFBQU4sVUFBQSxDQUFBTyxDQUFBO2NBQUE7WUFDTDtZQUNBN0IsWUFBWSxDQUFDOEIsSUFBSSxDQUFDZCxRQUFRLENBQUM7VUFDL0IsQ0FBQztVQW5GRCxLQUFBZixTQUFBLENBQUF3QixDQUFBLE1BQUF0QixLQUFBLEdBQUFGLFNBQUEsQ0FBQXlCLENBQUEsSUFBQUMsSUFBQTtZQUFBdkIsS0FBQTtVQUFBO1FBbUZDLFNBQUF3QixHQUFBO1VBQUEzQixTQUFBLENBQUEzQyxDQUFBLENBQUFzRSxHQUFBO1FBQUE7VUFBQTNCLFNBQUEsQ0FBQTRCLENBQUE7UUFBQTtRQUNELE9BQU83QixZQUFZO01BQ3ZCLENBQUM7TUFFRCxJQUFJLENBQUNqSSxpQkFBaUIsR0FBRyxJQUFJaEIsd0RBQVksQ0FBQ21FLEVBQUUsQ0FBQztNQUM3QyxJQUFJLENBQUNuRCxpQkFBaUIsQ0FBQ2dLLE1BQU0sQ0FBQyxJQUFJLENBQUN6SyxLQUFLLENBQUMwSyxVQUFVLENBQUM7TUFFcERyRixTQUFTLENBQUN6QixFQUFFLENBQUMyQixNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQzFCO0VBQUM7SUFBQTVFLEdBQUE7SUFBQUMsS0FBQSxFQUVELFNBQUFKLHNCQUFzQm1LLFNBQVMsRUFBRUMsWUFBWSxFQUFFQyxnQkFBZ0IsRUFBRUMsUUFBUSxFQUFFO01BQUEsSUFBQUMsTUFBQTtNQUN2RSxJQUFJQyxPQUFPLEdBQUcsQ0FBQyxDQUFDO01BQ2hCLElBQUlKLFlBQVksRUFBRTtRQUNkSSxPQUFPLEdBQUdKLFlBQVk7TUFDMUI7TUFFQSxJQUFJSyxhQUFhLEdBQUdELE9BQU8sQ0FBQ0UsTUFBTTtNQUNsQ0YsT0FBTyxDQUFDRSxNQUFNLEdBQUcsTUFBTTtNQUV2QixJQUFJQyxhQUFhO01BQ2pCLElBQUlDLFVBQVU7TUFDZCxRQUFRUCxnQkFBZ0I7UUFDcEIsS0FBSyxPQUFPO1VBQ1JNLGFBQWEsR0FBRyxLQUFLO1VBQ3JCQyxVQUFVLEdBQUcsSUFBSTtVQUNqQjtRQUNKLEtBQUssVUFBVTtVQUNYRCxhQUFhLEdBQUcsSUFBSTtVQUNwQkMsVUFBVSxHQUFHLEtBQUs7VUFDbEI7UUFDSixLQUFLLE1BQU07VUFDUEQsYUFBYSxHQUFHLElBQUk7VUFDcEJDLFVBQVUsR0FBRyxJQUFJO1VBQ2pCO1FBQ0o7VUFDSUQsYUFBYSxHQUFHLEtBQUs7VUFDckJDLFVBQVUsR0FBRyxJQUFJO1VBQ2pCO01BQ1I7TUFFQSxJQUFJRixNQUFNO01BQ1YsSUFBSVAsU0FBUyxLQUFLLEtBQUssRUFBRTtRQUNyQk8sTUFBTSxHQUFHLElBQUksQ0FBQ3BILEdBQUcsQ0FBQ3VILEdBQUcsQ0FBQ0wsT0FBTyxDQUFDO01BQ2xDO01BQ0EsSUFBSUwsU0FBUyxLQUFLLEtBQUssSUFBSUEsU0FBUyxLQUFLLE1BQU0sRUFBRTtRQUM3Q08sTUFBTSxHQUFHLElBQUksQ0FBQ3BILEdBQUcsQ0FBQ3dILEdBQUcsQ0FBQ04sT0FBTyxDQUFDO01BQ2xDO01BQ0E7TUFDQSxJQUFJTCxTQUFTLEtBQUssS0FBSyxFQUFFO1FBQ3JCTyxNQUFNLEdBQUcsSUFBSSxDQUFDcEgsR0FBRyxDQUFDeUgsR0FBRyxDQUFDUCxPQUFPLENBQUM7TUFDbEM7O01BRUE7QUFDUjtBQUNBO0FBQ0E7TUFDUSxJQUFJRSxNQUFNLElBQUlDLGFBQWEsRUFBRTtRQUN6QjtBQUNaO0FBQ0E7QUFDQTtBQUNBO1FBQ1ksSUFBSUssS0FBSyxHQUFHVixRQUFRO1FBQ3BCLElBQUksQ0FBQ0EsUUFBUSxFQUFFO1VBQ1hVLEtBQUssR0FBRyxNQUFNO1FBQ2xCO1FBRUEsSUFBSWIsU0FBUyxLQUFLLEtBQUssRUFBRTtVQUNyQixJQUFJLENBQUNjLFlBQVksQ0FBQ1AsTUFBTSxFQUFFTSxLQUFLLEdBQUcsR0FBRyxHQUFHYixTQUFTLENBQUM7UUFDdEQsQ0FBQyxNQUFNO1VBQ0gsSUFBTWUsSUFBSSxHQUFHLElBQUlDLElBQUksQ0FBQyxDQUFDVCxNQUFNLENBQUMsRUFBRTtZQUM1QlUsSUFBSSxFQUFFO1VBQ1YsQ0FBQyxDQUFDO1VBQ0YsSUFBSSxDQUFDSCxZQUFZLENBQUNDLElBQUksRUFBRUYsS0FBSyxHQUFHLEdBQUcsR0FBR2IsU0FBUyxDQUFDO1FBQ3BEO01BQ0o7TUFFQSxJQUFJTyxNQUFNLElBQUlFLFVBQVUsRUFBRTtRQUN0QjtRQUNBLElBQUksQ0FBQ0gsYUFBYSxFQUFFO1VBQ2hCQSxhQUFhLEdBQUcsV0FBVztRQUMvQjtRQUVBLElBQ0ksRUFBRUEsYUFBYSxLQUFLLFdBQVcsSUFBSUEsYUFBYSxLQUFLLFFBQVEsQ0FBQyxFQUNoRTtVQUNFO1FBQ0o7O1FBRUE7QUFDWjtBQUNBO0FBQ0E7UUFDWSxJQUFNWSxNQUFNLEdBQUcsSUFBSUMsVUFBVSxDQUFDLENBQUM7UUFDL0JELE1BQU0sQ0FBQ0UsTUFBTSxHQUFHLFlBQU07VUFDbEI7QUFDaEI7QUFDQTtBQUNBO1VBQ2dCLElBQUlDLFlBQVksR0FBR0gsTUFBTSxDQUFDSSxNQUFNO1VBQ2hDLElBQUloQixhQUFhLEtBQUssUUFBUSxFQUFFO1lBQzVCZSxZQUFZLEdBQUdBLFlBQVksQ0FBQ0UsT0FBTyxDQUFDLGtCQUFrQixFQUFFLEVBQUUsQ0FBQztVQUMvRDtVQUNBbkIsTUFBSSxDQUFDL0ssS0FBSyxDQUFDZ0YsUUFBUSxDQUFDO1lBQUNtSCxTQUFTLEVBQUVIO1VBQVksQ0FBQyxDQUFDO1FBQ2xELENBQUM7UUFDREgsTUFBTSxDQUFDTyxhQUFhLENBQUNsQixNQUFNLENBQUM7TUFDaEM7SUFDSjtFQUFDO0lBQUF2SyxHQUFBO0lBQUFDLEtBQUEsRUFFRCxTQUFBNkssYUFBYUMsSUFBSSxFQUFFWixRQUFRLEVBQUU7TUFDekI7QUFDUjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO01BQ1EsSUFBTXVCLFlBQVksR0FBR0MsUUFBUSxDQUFDQyxhQUFhLENBQUMsR0FBRyxDQUFDO01BQ2hERixZQUFZLENBQUM3SyxLQUFLLEdBQUcsZUFBZTtNQUNwQzhLLFFBQVEsQ0FBQ0UsSUFBSSxDQUFDQyxXQUFXLENBQUNKLFlBQVksQ0FBQztNQUV2QyxJQUFNSyxHQUFHLEdBQUczSSxNQUFNLENBQUM0SSxHQUFHLENBQUNDLGVBQWUsQ0FBQ2xCLElBQUksQ0FBQztNQUM1Q1csWUFBWSxDQUFDUSxJQUFJLEdBQUdILEdBQUc7TUFDdkJMLFlBQVksQ0FBQ1MsUUFBUSxHQUFHaEMsUUFBUTtNQUNoQ3VCLFlBQVksQ0FBQ1UsS0FBSyxDQUFDLENBQUM7TUFDcEJoSixNQUFNLENBQUM0SSxHQUFHLENBQUNLLGVBQWUsQ0FBQ04sR0FBRyxDQUFDO01BRS9CSixRQUFRLENBQUNFLElBQUksQ0FBQ1MsV0FBVyxDQUFDWixZQUFZLENBQUM7SUFDM0M7RUFBQztJQUFBMUwsR0FBQTtJQUFBQyxLQUFBLEVBRUQsU0FBQXNNLGtCQUFrQkMsV0FBVyxFQUFFO01BQzNCLElBQUksQ0FBQ3JKLEdBQUcsQ0FBQ2xFLFlBQVksQ0FBQztRQUNsQndOLFNBQVMsRUFBRSxJQUFJLENBQUMvRixlQUFlLENBQUM4RixXQUFXLENBQUM7UUFDNUNFLGVBQWUsRUFBRSxDQUFDLGtCQUFrQjtNQUN4QyxDQUFDLENBQUM7SUFDTjs7SUFFQTtJQUNBO0lBQ0E7RUFBQTtJQUFBMU0sR0FBQTtJQUFBQyxLQUFBLEVBQ0EsU0FBQTBNLGVBQUEsRUFBaUI7TUFDYixJQUFNQyxPQUFPLEdBQUcsSUFBSSxDQUFDekosR0FBRyxDQUFDMEosS0FBSyxDQUFDLENBQUM7TUFDaEMsSUFBTUMsUUFBUSxHQUFHLElBQUksQ0FBQzNKLEdBQUcsQ0FBQzRKLE1BQU0sQ0FBQyxDQUFDO01BQ2xDLElBQU1DLEtBQUssR0FBRyxJQUFJLENBQUM3SixHQUFHLENBQUMyQixRQUFRLENBQUMsQ0FBQyxDQUFDbUksbUJBQW1CLENBQUMsQ0FBQztNQUN2RCxPQUNJRCxLQUFLLENBQUNFLEVBQUUsR0FBR04sT0FBTyxJQUNsQkksS0FBSyxDQUFDRyxFQUFFLEdBQUdMLFFBQVEsSUFDbkJFLEtBQUssQ0FBQ0ksRUFBRSxHQUFHLENBQUMsSUFDWkosS0FBSyxDQUFDSyxFQUFFLEdBQUcsQ0FBQztJQUVwQjtFQUFDO0lBQUFyTixHQUFBO0lBQUFDLEtBQUEsRUFFRCxTQUFBcU4sbUJBQW1CQyxTQUFTLEVBQUU7TUFDMUIsSUFBQUMsV0FBQSxHQUFnQyxJQUFJLENBQUNuTyxLQUFLO1FBQW5DbU4sV0FBVyxHQUFBZ0IsV0FBQSxDQUFYaEIsV0FBVztRQUFFMUgsUUFBUSxHQUFBMEksV0FBQSxDQUFSMUksUUFBUTtNQUM1QixJQUFJLENBQUNuRyxxREFBUyxDQUFDNE8sU0FBUyxDQUFDZixXQUFXLEVBQUVBLFdBQVcsQ0FBQyxJQUFJLElBQUksQ0FBQ3JKLEdBQUcsRUFBRTtRQUM1RCxJQUFJLENBQUNvSixpQkFBaUIsQ0FBQ0MsV0FBVyxDQUFDO01BQ3ZDO01BQ0EsSUFBSSxDQUFDN04scURBQVMsQ0FBQzRPLFNBQVMsQ0FBQ3pJLFFBQVEsRUFBRUEsUUFBUSxDQUFDLElBQUksSUFBSSxDQUFDM0IsR0FBRyxFQUFFO1FBQ3REO1FBQ0E7UUFDQSxJQUFJLElBQUksQ0FBQ3dKLGNBQWMsQ0FBQyxDQUFDLEVBQUU7VUFDdkIsSUFBSSxDQUFDeEosR0FBRyxDQUFDc0QsR0FBRyxDQUFDLENBQUM7UUFDbEI7TUFDSjtJQUNKO0VBQUM7SUFBQXpHLEdBQUE7SUFBQUMsS0FBQSxFQUNELFNBQUF5TixrQkFBQSxFQUFvQjtNQUNoQixJQUFPbEIsV0FBVyxHQUFJLElBQUksQ0FBQ25OLEtBQUssQ0FBekJtTixXQUFXO01BQ2xCLElBQUksSUFBSSxDQUFDckosR0FBRyxJQUFJcUosV0FBVyxDQUFDNUUsTUFBTSxHQUFHLENBQUMsRUFBRTtRQUNwQyxJQUFJLENBQUMyRSxpQkFBaUIsQ0FBQ0MsV0FBVyxDQUFDO01BQ3ZDO0lBQ0o7RUFBQztJQUFBeE0sR0FBQTtJQUFBQyxLQUFBLEVBQ0QsU0FBQTBOLE9BQUEsRUFBUztNQUNMLElBQUFDLFlBQUEsR0E4QkksSUFBSSxDQUFDdk8sS0FBSztRQTVCVnNJLEVBQUUsR0FBQWlHLFlBQUEsQ0FBRmpHLEVBQUU7UUFDRjlHLEtBQUssR0FBQStNLFlBQUEsQ0FBTC9NLEtBQUs7UUFDTGdOLFNBQVMsR0FBQUQsWUFBQSxDQUFUQyxTQUFTO1FBRVQvSSxRQUFRLEdBQUE4SSxZQUFBLENBQVI5SSxRQUFRO1FBQ1JnSixVQUFVLEdBQUFGLFlBQUEsQ0FBVkUsVUFBVTtRQUNWOUosTUFBTSxHQUFBNEosWUFBQSxDQUFONUosTUFBTTtRQUNOd0ksV0FBVyxHQUFBb0IsWUFBQSxDQUFYcEIsV0FBVztRQUNYMUYsZUFBZSxHQUFBOEcsWUFBQSxDQUFmOUcsZUFBZTtRQUVmaUgsR0FBRyxHQUFBSCxZQUFBLENBQUhHLEdBQUc7UUFDSHZILElBQUksR0FBQW9ILFlBQUEsQ0FBSnBILElBQUk7UUFFSndILGNBQWMsR0FBQUosWUFBQSxDQUFkSSxjQUFjO1FBQ2RDLGtCQUFrQixHQUFBTCxZQUFBLENBQWxCSyxrQkFBa0I7UUFDbEI3SSxPQUFPLEdBQUF3SSxZQUFBLENBQVB4SSxPQUFPO1FBQ1BGLE9BQU8sR0FBQTBJLFlBQUEsQ0FBUDFJLE9BQU87UUFDUGdKLGNBQWMsR0FBQU4sWUFBQSxDQUFkTSxjQUFjO1FBQ2RDLGtCQUFrQixHQUFBUCxZQUFBLENBQWxCTyxrQkFBa0I7UUFDbEJDLGdCQUFnQixHQUFBUixZQUFBLENBQWhCUSxnQkFBZ0I7UUFDaEJDLG1CQUFtQixHQUFBVCxZQUFBLENBQW5CUyxtQkFBbUI7UUFDbkJDLGFBQWEsR0FBQVYsWUFBQSxDQUFiVSxhQUFhO1FBQ2JDLFFBQVEsR0FBQVgsWUFBQSxDQUFSVyxRQUFRO1FBQ1JDLGVBQWUsR0FBQVosWUFBQSxDQUFmWSxlQUFlO1FBRWZDLGFBQWEsR0FBQWIsWUFBQSxDQUFiYSxhQUFhO1FBRWIxRSxVQUFVLEdBQUE2RCxZQUFBLENBQVY3RCxVQUFVO01BR2QsSUFBSWhFLE1BQU0sQ0FBQzJJLElBQUksQ0FBQ0QsYUFBYSxDQUFDLENBQUM3RyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1FBQ3ZDO1FBQ0E7UUFDQSxJQUFJLENBQUN2SSxLQUFLLENBQUNnRixRQUFRLENBQUM7VUFBQ29LLGFBQWEsRUFBRSxDQUFDO1FBQUMsQ0FBQyxDQUFDO1FBQ3hDLElBQUksSUFBSSxDQUFDdEwsR0FBRyxFQUFFO1VBQ1YsSUFBSSxDQUFDdEQscUJBQXFCLENBQ3RCNE8sYUFBYSxDQUFDeEQsSUFBSSxFQUNsQndELGFBQWEsQ0FBQ3BFLE9BQU8sRUFDckJvRSxhQUFhLENBQUNFLE1BQU0sRUFDcEJGLGFBQWEsQ0FBQ0csUUFDbEIsQ0FBQztRQUNMO01BQ0o7TUFFQSxJQUFJLElBQUksQ0FBQzlPLGlCQUFpQixFQUFFO1FBQ3hCLElBQUksQ0FBQ0EsaUJBQWlCLENBQUNnSyxNQUFNLENBQUNDLFVBQVUsQ0FBQztNQUM3QztNQUVBLG9CQUNJeEwsMERBQUEsQ0FBQ0cseURBQWtCO1FBQ2ZpSixFQUFFLEVBQUVBLEVBQUc7UUFDUDFFLEVBQUUsRUFBRSxJQUFJLENBQUN4RCxRQUFTO1FBQ2xCb08sU0FBUyxFQUFFQSxTQUFVO1FBQ3JCaE4sS0FBSyxFQUFFQSxLQUFNO1FBQ2JpRSxRQUFRLEVBQUVwRyx5REFBa0IsQ0FBQ21RLGlCQUFpQixDQUFDL0osUUFBUSxDQUFFO1FBQ3pEZ0osVUFBVSxFQUFFQSxVQUFXO1FBQ3ZCOUosTUFBTSxFQUFFQSxNQUFPO1FBQ2Z3SSxXQUFXLEVBQUVBLFdBQVk7UUFDekIxRixlQUFlLEVBQUVBLGVBQWdCO1FBQ2pDaUgsR0FBRyxFQUFFQSxHQUFJO1FBQ1R2SCxJQUFJLEVBQUVBLElBQUs7UUFDWHdILGNBQWMsRUFBRUEsY0FBZTtRQUMvQkMsa0JBQWtCLEVBQUVBLGtCQUFtQjtRQUN2QzdJLE9BQU8sRUFBRUEsT0FBUTtRQUNqQkYsT0FBTyxFQUFFQSxPQUFRO1FBQ2pCZ0osY0FBYyxFQUFFQSxjQUFlO1FBQy9CQyxrQkFBa0IsRUFBRUEsa0JBQW1CO1FBQ3ZDQyxnQkFBZ0IsRUFBRUEsZ0JBQWlCO1FBQ25DQyxtQkFBbUIsRUFBRUEsbUJBQW9CO1FBQ3pDQyxhQUFhLEVBQUVBLGFBQWM7UUFDN0JDLFFBQVEsRUFBRUEsUUFBUztRQUNuQkMsZUFBZSxFQUFFQTtNQUFnQixDQUNwQyxDQUFDO0lBRVY7RUFBQztFQUFBLE9BQUF0UCxTQUFBO0FBQUEsRUFodUJtQlYsNENBQVM7QUFtdUJqQ1UsU0FBUyxDQUFDNFAsU0FBUyxHQUFHO0VBQ2xCOztFQUVBO0FBQ0o7QUFDQTtFQUNJbkgsRUFBRSxFQUFFbEosMERBQWdCO0VBRXBCO0FBQ0o7QUFDQTtBQUNBO0VBQ0lvUCxTQUFTLEVBQUVwUCwwREFBZ0I7RUFFM0I7QUFDSjtBQUNBO0VBQ0lvQyxLQUFLLEVBQUVwQywwREFBZ0I7RUFFdkI7O0VBRUE7QUFDSjtBQUNBO0FBQ0E7RUFDSTRGLFFBQVEsRUFBRTVGLHdEQUFjO0VBRXhCOztFQUVBO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0VBQ0lxRyxRQUFRLEVBQUVyRywyREFBbUIsQ0FBQyxDQUMxQkEseURBQWlCLENBQ2JBLHVEQUFlLENBQUM7SUFDWjtBQUNoQjtBQUNBO0lBQ2dCc0QsS0FBSyxFQUFFdEQsMERBQWdCO0lBQ3ZCO0lBQ0F3QyxJQUFJLEVBQUV4Qyx1REFBZSxDQUFDO01BQ2xCO01BQ0FrSixFQUFFLEVBQUVsSiwwREFBZ0I7TUFDcEI7QUFDcEI7QUFDQTtNQUNvQndLLEtBQUssRUFBRXhLLDBEQUFnQjtNQUN2QjtNQUNBbUMsTUFBTSxFQUFFbkMsMERBQWdCO01BQ3hCO01BQ0FrRSxNQUFNLEVBQUVsRSwwREFBZ0I7TUFDeEI7TUFDQTRCLE1BQU0sRUFBRTVCLDBEQUFnQnNRO0lBQzVCLENBQUMsQ0FBQztJQUNGO0lBQ0E5TSxRQUFRLEVBQUV4RCx1REFBZSxDQUFDO01BQ3RCO01BQ0E2SSxDQUFDLEVBQUU3SSwwREFBZ0I7TUFDbkI7TUFDQThJLENBQUMsRUFBRTlJLDBEQUFnQjRRO0lBQ3ZCLENBQUMsQ0FBQztJQUNGO0lBQ0FuTixRQUFRLEVBQUV6RCx3REFBYztJQUN4QjtJQUNBMEQsVUFBVSxFQUFFMUQsd0RBQWM7SUFDMUI7SUFDQXVELE1BQU0sRUFBRXZELHdEQUFjO0lBQ3RCO0lBQ0FxRCxTQUFTLEVBQUVyRCx3REFBYztJQUN6QjtBQUNoQjtBQUNBO0FBQ0E7SUFDZ0JvRCxPQUFPLEVBQUVwRCwwREFBZ0JzUTtFQUM3QixDQUFDLENBQ0wsQ0FBQyxFQUNEdFEsdURBQWUsQ0FBQztJQUNaK1EsS0FBSyxFQUFFL1EseURBQWU7SUFDdEJpUixLQUFLLEVBQUVqUix5REFBZWdSO0VBQzFCLENBQUMsQ0FBQyxDQUNMLENBQUM7RUFFRjtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtFQUNJM0IsVUFBVSxFQUFFclAseURBQWlCLENBQ3pCQSx1REFBZSxDQUFDO0lBQ1o7QUFDWjtBQUNBO0FBQ0E7SUFDWTBLLFFBQVEsRUFBRTFLLDBEQUFnQixDQUFDa1IsVUFBVTtJQUNyQztBQUNaO0FBQ0E7QUFDQTtJQUNZOU8sS0FBSyxFQUFFcEMsMERBQWdCLENBQUNrUjtFQUM1QixDQUFDLENBQ0wsQ0FBQztFQUVEO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7RUFDSTNMLE1BQU0sRUFBRXZGLHVEQUFlLENBQUM7SUFDcEI7QUFDUjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtJQUNRbVIsSUFBSSxFQUFFblIsdURBQWUsQ0FBQyxDQUNsQixRQUFRLEVBQ1IsUUFBUSxFQUNSLFFBQVEsRUFDUixZQUFZLEVBQ1osTUFBTSxFQUNOLGNBQWMsRUFDZCxNQUFNLEVBQ04sY0FBYyxFQUNkLE9BQU8sRUFDUCxNQUFNLEVBQ04sT0FBTyxFQUNQLFFBQVEsRUFDUixPQUFPLEVBQ1AsTUFBTSxDQUNULENBQUMsQ0FBQ2tSLFVBQVU7SUFDYjtJQUNBbEosR0FBRyxFQUFFaEksd0RBQWM7SUFDbkI7SUFDQXFSLE9BQU8sRUFBRXJSLDBEQUFnQjtJQUN6QjtJQUNBc1IsT0FBTyxFQUFFdFIsd0RBQWM7SUFDdkI7SUFDQXVSLGlCQUFpQixFQUFFdlIsMERBQWdCO0lBQ25DO0FBQ1I7QUFDQTtBQUNBO0lBQ1F3UixXQUFXLEVBQUV4UiwwREFBZ0J1UTtFQUNqQyxDQUFDLENBQUM7RUFDRjtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7RUFDSXhDLFdBQVcsRUFBRS9OLHlEQUFpQixDQUMxQkEsdURBQWUsQ0FBQztJQUNaO0lBQ0FrSixFQUFFLEVBQUVsSiwwREFBZ0IsQ0FBQ2tSLFVBQVU7SUFDL0I7SUFDQTFHLEtBQUssRUFBRXhLLDBEQUFnQixDQUFDa1IsVUFBVTtJQUNsQztJQUNBekcsV0FBVyxFQUFFekssMERBQWdCO0lBQzdCO0FBQ1o7QUFDQTtJQUNZNkssV0FBVyxFQUFFN0sseURBQWU7SUFDNUI7QUFDWjtBQUNBO0lBQ1lrSyxPQUFPLEVBQUVsSywwREFBZ0I7SUFDekI7QUFDWjtBQUNBO0lBQ1lxSyxhQUFhLEVBQUVySywwREFBZ0JzUTtFQUNuQyxDQUFDLENBQ0wsQ0FBQztFQUNEO0FBQ0o7QUFDQTtFQUNJakksZUFBZSxFQUFFckksdURBQWUsQ0FBQztJQUM3QjtJQUNBNEosVUFBVSxFQUFFNUosMERBQWdCO0lBQzVCO0lBQ0E2SSxDQUFDLEVBQUU3SSwwREFBZ0I7SUFDbkI7SUFDQThJLENBQUMsRUFBRTlJLDBEQUFnQjtJQUNuQjtJQUNBaUQsU0FBUyxFQUFFakQsMERBQWdCO0lBQzNCO0FBQ1I7QUFDQTtJQUNRNkosU0FBUyxFQUFFN0osMERBQWdCO0lBQzNCO0FBQ1I7SUFDUThKLFVBQVUsRUFBRTlKLDBEQUFnQjtJQUM1QjtBQUNSO0lBQ1ErSixVQUFVLEVBQUUvSiwwREFBZ0JzUTtFQUNoQyxDQUFDLENBQUM7RUFDRjs7RUFFQTtBQUNKO0FBQ0E7QUFDQTtFQUNJaEIsR0FBRyxFQUFFdFAsdURBQWUsQ0FBQztJQUNqQjtJQUNBNkksQ0FBQyxFQUFFN0ksMERBQWdCO0lBQ25CO0lBQ0E4SSxDQUFDLEVBQUU5SSwwREFBZ0I0UTtFQUN2QixDQUFDLENBQUM7RUFFRjtBQUNKO0FBQ0E7QUFDQTtFQUNJN0ksSUFBSSxFQUFFL0gsMERBQWdCO0VBRXRCO0VBQ0E7QUFDSjtBQUNBO0FBQ0E7RUFDSXVQLGNBQWMsRUFBRXZQLHdEQUFjO0VBRTlCO0FBQ0o7QUFDQTtBQUNBO0VBQ0l3UCxrQkFBa0IsRUFBRXhQLHdEQUFjO0VBRWxDO0FBQ0o7QUFDQTtBQUNBO0VBQ0kyRyxPQUFPLEVBQUUzRywwREFBZ0I7RUFFekI7QUFDSjtBQUNBO0FBQ0E7RUFDSXlHLE9BQU8sRUFBRXpHLDBEQUFnQjtFQUV6QjtBQUNKO0FBQ0E7QUFDQTtFQUNJeVAsY0FBYyxFQUFFelAsd0RBQWM7RUFFOUI7QUFDSjtBQUNBO0FBQ0E7RUFDSTBQLGtCQUFrQixFQUFFMVAsd0RBQWM7RUFFbEM7QUFDSjtBQUNBO0VBQ0kyUCxnQkFBZ0IsRUFBRTNQLDBEQUFnQjtFQUVsQztBQUNKO0FBQ0E7QUFDQTtFQUNJNFAsbUJBQW1CLEVBQUU1UCx3REFBYztFQUVuQztBQUNKO0FBQ0E7QUFDQTtFQUNJNlAsYUFBYSxFQUFFN1Asd0RBQWM7RUFFN0I7QUFDSjtBQUNBO0FBQ0E7RUFDSThQLFFBQVEsRUFBRTlQLHdEQUFjO0VBRXhCO0FBQ0o7QUFDQTtBQUNBO0VBQ0krUCxlQUFlLEVBQUUvUCx3REFBYztFQUUvQjtBQUNKO0FBQ0E7RUFDSXNGLGlCQUFpQixFQUFFdEYsd0RBQWM7RUFFakM7O0VBRUE7QUFDSjtBQUNBO0VBQ0lvSCxPQUFPLEVBQUVwSCx1REFBZSxDQUFDO0lBQ3JCO0lBQ0FxQyxTQUFTLEVBQUVyQyx5REFBZTtJQUMxQjtJQUNBaUMsZ0JBQWdCLEVBQUVqQywwREFBZ0I7SUFDbEM7SUFDQWlELFNBQVMsRUFBRWpELDBEQUFnQjtJQUMzQjtJQUNBb0QsT0FBTyxFQUFFcEQsMERBQWdCO0lBQ3pCO0lBQ0F3QyxJQUFJLEVBQUV4QywwREFBZ0I7SUFDdEI7SUFDQXFELFNBQVMsRUFBRXJELHdEQUFjO0lBQ3pCO0lBQ0FzRCxLQUFLLEVBQUV0RCwwREFBZ0I7SUFDdkI7SUFDQXVELE1BQU0sRUFBRXZELHdEQUFjO0lBQ3RCO0lBQ0F3RCxRQUFRLEVBQUV4RCwwREFBZ0I7SUFDMUI7SUFDQTBELFVBQVUsRUFBRTFELHdEQUFjO0lBQzFCO0lBQ0F5RCxRQUFRLEVBQUV6RCx3REFBYztJQUN4QjtJQUNBb0MsS0FBSyxFQUFFcEMsMERBQWdCO0lBQ3ZCO0lBQ0EyQyxhQUFhLEVBQUUzQywyREFBbUIsQ0FBQyxDQUFDQSwwREFBZ0IsRUFBRUEseURBQWUsQ0FBQyxDQUFDO0lBQ3ZFO0lBQ0F5QyxZQUFZLEVBQUV6QywyREFBbUIsQ0FBQyxDQUFDQSwwREFBZ0IsRUFBRUEseURBQWUsQ0FBQyxDQUFDO0lBQ3RFO0lBQ0E2QyxlQUFlLEVBQUU3QywyREFBbUIsQ0FBQyxDQUNqQ0EsMERBQWdCLEVBQ2hCQSx5REFBZSxDQUNsQixDQUFDO0lBQ0Y7SUFDQTJELFVBQVUsRUFBRTNELDJEQUFtQixDQUFDLENBQUNBLDBEQUFnQixFQUFFQSx5REFBZSxDQUFDLENBQUM7SUFDcEU7SUFDQStDLFlBQVksRUFBRS9DLDJEQUFtQixDQUFDLENBQUNBLDBEQUFnQixFQUFFQSx5REFBZSxDQUFDLENBQUM7SUFDdEU7SUFDQTZCLFFBQVEsRUFBRTdCLHdEQUFjO0lBQ3hCO0lBQ0E4QixXQUFXLEVBQUU5Qix3REFBYztJQUMzQjtJQUNBK0IsT0FBTyxFQUFFL0Isd0RBQWM7SUFDdkI7SUFDQWdDLFFBQVEsRUFBRWhDLHdEQUFjO0lBQ3hCO0lBQ0FrQyxnQkFBZ0IsRUFBRWxDLDBEQUFnQnVRO0VBQ3RDLENBQUMsQ0FBQztFQUVGO0FBQ0o7QUFDQTtFQUNJbEosV0FBVyxFQUFFckgsMERBQWdCO0VBRTdCO0FBQ0o7QUFDQTtFQUNJd0gsT0FBTyxFQUFFeEgsdURBQWUsQ0FBQztJQUNyQjtJQUNBK0QsTUFBTSxFQUFFL0Qsd0RBQWM7SUFDdEI7SUFDQWdFLFFBQVEsRUFBRWhFLHdEQUFjO0lBQ3hCO0lBQ0E4RCxRQUFRLEVBQUU5RCwwREFBZ0I7SUFDMUI7SUFDQWlFLFVBQVUsRUFBRWpFLDBEQUFnQjtJQUM1QjtJQUNBbUUsY0FBYyxFQUFFbkUsMERBQWdCO0lBQ2hDO0lBQ0FvRSxVQUFVLEVBQUVwRSwwREFBZ0I7SUFDNUI7SUFDQXFFLGNBQWMsRUFBRXJFLDBEQUFnQjtJQUNoQztJQUNBaUQsU0FBUyxFQUFFakQsMERBQWdCO0lBQzNCO0lBQ0FvRCxPQUFPLEVBQUVwRCwwREFBZ0I7SUFDekI7SUFDQXdDLElBQUksRUFBRXhDLDBEQUFnQjtJQUN0QjtJQUNBcUQsU0FBUyxFQUFFckQsd0RBQWM7SUFDekI7SUFDQXNELEtBQUssRUFBRXRELDBEQUFnQjtJQUN2QjtJQUNBdUQsTUFBTSxFQUFFdkQsd0RBQWM7SUFDdEI7SUFDQTBELFVBQVUsRUFBRTFELHdEQUFjO0lBQzFCO0lBQ0F5RCxRQUFRLEVBQUV6RCx3REFBYztJQUN4QjtJQUNBb0MsS0FBSyxFQUFFcEMsMERBQWdCdVE7RUFDM0IsQ0FBQyxDQUFDO0VBRUY7QUFDSjtBQUNBO0VBQ0k5SSxXQUFXLEVBQUV6SCwwREFBZ0I7RUFFN0I7QUFDSjtBQUNBO0VBQ0kwSCxpQkFBaUIsRUFBRTFILDBEQUFnQjtFQUVuQztBQUNKO0FBQ0E7RUFDSTJILGlCQUFpQixFQUFFM0gsMERBQWdCO0VBRW5DO0FBQ0o7QUFDQTtBQUNBO0VBQ0k2RixnQkFBZ0IsRUFBRTdGLHlEQUFlO0VBRWpDO0FBQ0o7QUFDQTtBQUNBO0VBQ0lnRyxnQkFBZ0IsRUFBRWhHLHlEQUFlO0VBRWpDO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0VBQ0lnUSxhQUFhLEVBQUVoUSx1REFBZSxDQUFDO0lBQzNCO0lBQ0F3TSxJQUFJLEVBQUV4TSx1REFBZSxDQUFDLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDcEQ7QUFDUjtBQUNBO0lBQ1E0TCxPQUFPLEVBQUU1TCwwREFBZ0I7SUFDekI7QUFDUjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0lBQ1FrUSxNQUFNLEVBQUVsUSx1REFBZSxDQUFDLENBQUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUN0RDtJQUNBbVEsUUFBUSxFQUFFblEsMERBQWdCc1E7RUFDOUIsQ0FBQyxDQUFDO0VBRUY7QUFDSjtBQUNBO0FBQ0E7RUFDSXZELFNBQVMsRUFBRS9NLDBEQUFnQjtFQUUzQjtBQUNKO0FBQ0E7RUFDSXNMLFVBQVUsRUFBRXRMLHdEQUFjO0VBRTFCO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7RUFDSW1HLE1BQU0sRUFBRW5HLDBEQUFnQjtFQUV4QjtBQUNKO0FBQ0E7QUFDQTtBQUNBO0VBQ0k0SCxjQUFjLEVBQUU1SCx3REFBYzZRO0FBQ2xDLENBQUM7QUFFRHBRLFNBQVMsQ0FBQ2dSLFlBQVksR0FBRztFQUNyQnJQLEtBQUssRUFBRTtJQUFDZ00sS0FBSyxFQUFFLE9BQU87SUFBRUUsTUFBTSxFQUFFO0VBQU8sQ0FBQztFQUN4Qy9JLE1BQU0sRUFBRTtJQUFDNEwsSUFBSSxFQUFFO0VBQU0sQ0FBQztFQUN0QjdCLEdBQUcsRUFBRTtJQUFDekcsQ0FBQyxFQUFFLENBQUM7SUFBRUMsQ0FBQyxFQUFFO0VBQUMsQ0FBQztFQUNqQmYsSUFBSSxFQUFFLENBQUM7RUFDUHBCLE9BQU8sRUFBRSxLQUFLO0VBQ2RGLE9BQU8sRUFBRSxJQUFJO0VBQ2JnSixjQUFjLEVBQUUsSUFBSTtFQUNwQkMsa0JBQWtCLEVBQUUsSUFBSTtFQUN4QkgsY0FBYyxFQUFFLElBQUk7RUFDcEJDLGtCQUFrQixFQUFFLElBQUk7RUFDeEJHLGdCQUFnQixFQUFFLENBQUM7RUFDbkJDLG1CQUFtQixFQUFFLEtBQUs7RUFDMUJFLFFBQVEsRUFBRSxLQUFLO0VBQ2ZELGFBQWEsRUFBRSxLQUFLO0VBQ3BCRSxlQUFlLEVBQUUsS0FBSztFQUN0QnpLLGlCQUFpQixFQUFFLElBQUk7RUFDdkIwSyxhQUFhLEVBQUUsQ0FBQyxDQUFDO0VBQ2pCakQsU0FBUyxFQUFFLElBQUk7RUFDZnpCLFVBQVUsRUFBRSxLQUFLO0VBQ2pCMUQsY0FBYyxFQUFFLEtBQUs7RUFDckJ2QixRQUFRLEVBQUUsRUFBRTtFQUNaMEgsV0FBVyxFQUFFO0FBQ2pCLENBQUM7QUFFRCxpRUFBZXROLFNBQVMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX2N5dG9zY2FwZS8uL3NyYy9saWIvY29tcG9uZW50cy9DeXRvc2NhcGUucmVhY3QuanM/NjQyYyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEphdmFTY3JpcHQgUmVxdWlyZW1lbnRzOiBjeXRvc2NhcGUsIGN5dG9zY2FwZS1zdmdcbiAqIFJlYWN0LmpzIHJlcXVpcmVtZW50czogcmVhY3QtY3l0b3NjYXBlanNcbiAqL1xuaW1wb3J0ICcvc3JjL2Fzc2V0cy9jb250ZXh0bWVudS5jc3MnO1xuaW1wb3J0IFJlYWN0LCB7Q29tcG9uZW50fSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IEN5dG9zY2FwZUNvbXBvbmVudCBmcm9tICdyZWFjdC1jeXRvc2NhcGVqcyc7XG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHt2NCBhcyB1dWlkdjR9IGZyb20gJ3V1aWQnO1xuaW1wb3J0IEN5UmVzcG9uc2l2ZSBmcm9tICcuLi9jeVJlc3BvbnNpdmUuanMnO1xuXG4vLyBQb2x5ZmlsbCBzbyB0aGF0IGNvbnRleHQgbWVudSBleHRlbnNpb24gd29ya3MgaW4gU2FmYXJpXG5pbXBvcnQgJ0B1bmdhcC9jdXN0b20tZWxlbWVudHMnO1xuXG5jb25zdCBjeXRvc2NhcGUgPSByZXF1aXJlKCdjeXRvc2NhcGUnKTtcbmNvbnN0IGNvbnRleHRNZW51cyA9IHJlcXVpcmUoJ2N5dG9zY2FwZS1jb250ZXh0LW1lbnVzJyk7XG5cbi8vIENsaWVudHNpZGUgY2FsbGJhY2sgZnVuY3Rpb25zIGZvciBDeUxlYWZsZXQgQUlPIGNvbXBvbmVudFxuaW1wb3J0ICcuLi9jeWxlYWZsZXRfY2xpZW50c2lkZS5qcyc7XG5cbi8vIHJlZ2lzdGVyIGV4dGVuc2lvblxuY29udGV4dE1lbnVzKGN5dG9zY2FwZSk7XG4vKipcbiAqIEEgQ29tcG9uZW50IExpYnJhcnkgZm9yIERhc2ggYWltZWQgYXQgZmFjaWxpdGF0aW5nIG5ldHdvcmsgdmlzdWFsaXphdGlvbiBpblxuICogUHl0aG9uLCB3cmFwcGVkIGFyb3VuZCBbQ3l0b3NjYXBlLmpzXShodHRwOi8vanMuY3l0b3NjYXBlLm9yZy8pLlxuICovXG5jbGFzcyBDeXRvc2NhcGUgZXh0ZW5kcyBDb21wb25lbnQge1xuICAgIGNvbnN0cnVjdG9yKHByb3BzKSB7XG4gICAgICAgIHN1cGVyKHByb3BzKTtcblxuICAgICAgICB0aGlzLmhhbmRsZUN5ID0gdGhpcy5oYW5kbGVDeS5iaW5kKHRoaXMpO1xuICAgICAgICB0aGlzLl9oYW5kbGVDeUNhbGxlZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLmhhbmRsZUltYWdlR2VuZXJhdGlvbiA9IHRoaXMuaGFuZGxlSW1hZ2VHZW5lcmF0aW9uLmJpbmQodGhpcyk7XG4gICAgICAgIHRoaXMuY3lSZXNwb25zaXZlQ2xhc3MgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBnZW5lcmF0ZU5vZGUoZXZlbnQpIHtcbiAgICAgICAgY29uc3QgZWxlID0gZXZlbnQudGFyZ2V0O1xuXG4gICAgICAgIGNvbnN0IGlzUGFyZW50ID0gZWxlLmlzUGFyZW50KCksXG4gICAgICAgICAgICBpc0NoaWxkbGVzcyA9IGVsZS5pc0NoaWxkbGVzcygpLFxuICAgICAgICAgICAgaXNDaGlsZCA9IGVsZS5pc0NoaWxkKCksXG4gICAgICAgICAgICBpc09ycGhhbiA9IGVsZS5pc09ycGhhbigpLFxuICAgICAgICAgICAgcmVuZGVyZWRQb3NpdGlvbiA9IGVsZS5yZW5kZXJlZFBvc2l0aW9uKCksXG4gICAgICAgICAgICByZWxhdGl2ZVBvc2l0aW9uID0gZWxlLnJlbGF0aXZlUG9zaXRpb24oKSxcbiAgICAgICAgICAgIHBhcmVudCA9IGVsZS5wYXJlbnQoKSxcbiAgICAgICAgICAgIHN0eWxlID0gZWxlLnN0eWxlKCk7XG5cbiAgICAgICAgLy8gVHJpbSBkb3duIHRoZSBlbGVtZW50IG9iamVjdHMgdG8gb25seSB0aGUgZGF0YSBjb250YWluZWRcbiAgICAgICAgY29uc3QgZWRnZXNEYXRhID0gZWxlLmNvbm5lY3RlZEVkZ2VzKCkubWFwKChlbGUpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBlbGUuZGF0YSgpO1xuICAgICAgICB9KTtcbiAgICAgICAgY29uc3QgY2hpbGRyZW5EYXRhID0gZWxlLmNoaWxkcmVuKCkubWFwKChlbGUpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBlbGUuZGF0YSgpO1xuICAgICAgICB9KTtcbiAgICAgICAgY29uc3QgYW5jZXN0b3JzRGF0YSA9IGVsZS5hbmNlc3RvcnMoKS5tYXAoKGVsZSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGVsZS5kYXRhKCk7XG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBkZXNjZW5kYW50c0RhdGEgPSBlbGUuZGVzY2VuZGFudHMoKS5tYXAoKGVsZSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGVsZS5kYXRhKCk7XG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBzaWJsaW5nc0RhdGEgPSBlbGUuc2libGluZ3MoKS5tYXAoKGVsZSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGVsZS5kYXRhKCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IHt0aW1lU3RhbXB9ID0gZXZlbnQ7XG4gICAgICAgIGNvbnN0IHtcbiAgICAgICAgICAgIGNsYXNzZXMsXG4gICAgICAgICAgICBkYXRhLFxuICAgICAgICAgICAgZ3JhYmJhYmxlLFxuICAgICAgICAgICAgZ3JvdXAsXG4gICAgICAgICAgICBsb2NrZWQsXG4gICAgICAgICAgICBwb3NpdGlvbixcbiAgICAgICAgICAgIHNlbGVjdGVkLFxuICAgICAgICAgICAgc2VsZWN0YWJsZSxcbiAgICAgICAgfSA9IGVsZS5qc29uKCk7XG5cbiAgICAgICAgbGV0IHBhcmVudERhdGE7XG4gICAgICAgIGlmIChwYXJlbnQpIHtcbiAgICAgICAgICAgIHBhcmVudERhdGEgPSBwYXJlbnQuZGF0YSgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcGFyZW50RGF0YSA9IG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBub2RlT2JqZWN0ID0ge1xuICAgICAgICAgICAgLy8gTm9kZXMgYXR0cmlidXRlc1xuICAgICAgICAgICAgZWRnZXNEYXRhLFxuICAgICAgICAgICAgcmVuZGVyZWRQb3NpdGlvbixcbiAgICAgICAgICAgIHRpbWVTdGFtcCxcbiAgICAgICAgICAgIC8vIEZyb20gZWxlLmpzb24oKVxuICAgICAgICAgICAgY2xhc3NlcyxcbiAgICAgICAgICAgIGRhdGEsXG4gICAgICAgICAgICBncmFiYmFibGUsXG4gICAgICAgICAgICBncm91cCxcbiAgICAgICAgICAgIGxvY2tlZCxcbiAgICAgICAgICAgIHBvc2l0aW9uLFxuICAgICAgICAgICAgc2VsZWN0YWJsZSxcbiAgICAgICAgICAgIHNlbGVjdGVkLFxuICAgICAgICAgICAgLy8gQ29tcG91bmQgTm9kZXMgYWRkaXRpb25hbCBhdHRyaWJ1dGVzXG4gICAgICAgICAgICBhbmNlc3RvcnNEYXRhLFxuICAgICAgICAgICAgY2hpbGRyZW5EYXRhLFxuICAgICAgICAgICAgZGVzY2VuZGFudHNEYXRhLFxuICAgICAgICAgICAgcGFyZW50RGF0YSxcbiAgICAgICAgICAgIHNpYmxpbmdzRGF0YSxcbiAgICAgICAgICAgIGlzUGFyZW50LFxuICAgICAgICAgICAgaXNDaGlsZGxlc3MsXG4gICAgICAgICAgICBpc0NoaWxkLFxuICAgICAgICAgICAgaXNPcnBoYW4sXG4gICAgICAgICAgICByZWxhdGl2ZVBvc2l0aW9uLFxuICAgICAgICAgICAgLy8gU3R5bGluZ1xuICAgICAgICAgICAgc3R5bGUsXG4gICAgICAgIH07XG4gICAgICAgIHJldHVybiBub2RlT2JqZWN0O1xuICAgIH1cblxuICAgIGdlbmVyYXRlRWRnZShldmVudCkge1xuICAgICAgICBjb25zdCBlbGUgPSBldmVudC50YXJnZXQ7XG5cbiAgICAgICAgY29uc3QgbWlkcG9pbnQgPSBlbGUubWlkcG9pbnQoKSxcbiAgICAgICAgICAgIGlzTG9vcCA9IGVsZS5pc0xvb3AoKSxcbiAgICAgICAgICAgIGlzU2ltcGxlID0gZWxlLmlzU2ltcGxlKCksXG4gICAgICAgICAgICBzb3VyY2VEYXRhID0gZWxlLnNvdXJjZSgpLmRhdGEoKSxcbiAgICAgICAgICAgIHNvdXJjZUVuZHBvaW50ID0gZWxlLnNvdXJjZUVuZHBvaW50KCksXG4gICAgICAgICAgICBzdHlsZSA9IGVsZS5zdHlsZSgpLFxuICAgICAgICAgICAgdGFyZ2V0RGF0YSA9IGVsZS50YXJnZXQoKS5kYXRhKCksXG4gICAgICAgICAgICB0YXJnZXRFbmRwb2ludCA9IGVsZS50YXJnZXRFbmRwb2ludCgpO1xuXG4gICAgICAgIGNvbnN0IHt0aW1lU3RhbXB9ID0gZXZlbnQ7XG4gICAgICAgIGNvbnN0IHtjbGFzc2VzLCBkYXRhLCBncmFiYmFibGUsIGdyb3VwLCBsb2NrZWQsIHNlbGVjdGFibGUsIHNlbGVjdGVkfSA9XG4gICAgICAgICAgICBlbGUuanNvbigpO1xuXG4gICAgICAgIGNvbnN0IGVkZ2VPYmplY3QgPSB7XG4gICAgICAgICAgICAvLyBFZGdlcyBhdHRyaWJ1dGVzXG4gICAgICAgICAgICBpc0xvb3AsXG4gICAgICAgICAgICBpc1NpbXBsZSxcbiAgICAgICAgICAgIG1pZHBvaW50LFxuICAgICAgICAgICAgc291cmNlRGF0YSxcbiAgICAgICAgICAgIHNvdXJjZUVuZHBvaW50LFxuICAgICAgICAgICAgdGFyZ2V0RGF0YSxcbiAgICAgICAgICAgIHRhcmdldEVuZHBvaW50LFxuICAgICAgICAgICAgdGltZVN0YW1wLFxuICAgICAgICAgICAgLy8gRnJvbSBlbGUuanNvbigpXG4gICAgICAgICAgICBjbGFzc2VzLFxuICAgICAgICAgICAgZGF0YSxcbiAgICAgICAgICAgIGdyYWJiYWJsZSxcbiAgICAgICAgICAgIGdyb3VwLFxuICAgICAgICAgICAgbG9ja2VkLFxuICAgICAgICAgICAgc2VsZWN0YWJsZSxcbiAgICAgICAgICAgIHNlbGVjdGVkLFxuICAgICAgICAgICAgLy8gU3R5bGluZ1xuICAgICAgICAgICAgc3R5bGUsXG4gICAgICAgIH07XG5cbiAgICAgICAgcmV0dXJuIGVkZ2VPYmplY3Q7XG4gICAgfVxuXG4gICAgaGFuZGxlQ3koY3kpIHtcbiAgICAgICAgLy8gSWYgdGhlIGN5IHBvaW50ZXIgaGFzIG5vdCBiZWVuIG1vZGlmaWVkLCBhbmQgaGFuZGxlQ3kgaGFzIGFscmVhZHlcbiAgICAgICAgLy8gYmVlbiBjYWxsZWQgYmVmb3JlLCB0aGFuIHdlIGRvbid0IHJ1biB0aGlzIGZ1bmN0aW9uLlxuICAgICAgICBpZiAoY3kgPT09IHRoaXMuX2N5ICYmIHRoaXMuX2hhbmRsZUN5Q2FsbGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fY3kgPSBjeTtcbiAgICAgICAgd2luZG93LmN5ID0gY3k7XG4gICAgICAgIHRoaXMuX2hhbmRsZUN5Q2FsbGVkID0gdHJ1ZTtcblxuICAgICAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vIENPTlNUQU5UUyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgICAgICBjb25zdCBTRUxFQ1RfVEhSRVNIT0xEID0gMTAwO1xuICAgICAgICBjb25zdCBFWFRFTlRfVEhSRVNIT0xEID0gNTtcbiAgICAgICAgY29uc3QgVVBEQVRFX0VMRU1FTlRTX1RIUkVTSE9MRCA9IDEwMDtcbiAgICAgICAgY29uc3QgUkVTSVpFX1RIUkVTSE9MRCA9IDUwO1xuXG4gICAgICAgIGNvbnN0IHNlbGVjdGVkTm9kZXMgPSBjeS5jb2xsZWN0aW9uKCk7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkRWRnZXMgPSBjeS5jb2xsZWN0aW9uKCk7XG5cbiAgICAgICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyBGVU5DVElPTlMgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAgICAgY29uc3QgcmVmcmVzaExheW91dCA9IF8uZGVib3VuY2UoKCkgPT4ge1xuICAgICAgICAgICAgLyoqXG4gICAgICAgICAgICAgKiBSZWZyZXNoIExheW91dCBpZiBuZWVkZWRcbiAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgY29uc3Qge2F1dG9SZWZyZXNoTGF5b3V0LCBsYXlvdXR9ID0gdGhpcy5wcm9wcztcblxuICAgICAgICAgICAgaWYgKGF1dG9SZWZyZXNoTGF5b3V0KSB7XG4gICAgICAgICAgICAgICAgY3kubGF5b3V0KGxheW91dCkucnVuKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sIFNFTEVDVF9USFJFU0hPTEQpO1xuXG4gICAgICAgIGNvbnN0IHNlbmRTZWxlY3RlZE5vZGVzRGF0YSA9IF8uZGVib3VuY2UoKCkgPT4ge1xuICAgICAgICAgICAgLyoqXG4gICAgICAgICAgICAgICBUaGlzIGZ1bmN0aW9uIGlzIHJlcGV0aXRpdmVseSBjYWxsZWQgZXZlcnkgdGltZSBhIG5vZGUgaXMgc2VsZWN0ZWRcbiAgICAgICAgICAgICAgIG9yIHVuc2VsZWN0ZWQsIGJ1dCBrZWVwcyBiZWluZyBkZWJvdW5jZWQgaWYgaXQgaXMgY2FsbGVkIGFnYWluXG4gICAgICAgICAgICAgICB3aXRoaW4gMTAwIG1zIChnaXZlbiBieSBTRUxFQ1RfVEhSRVNIT0xEKS4gRWZmZWN0aXZlbHksIGl0IG9ubHlcbiAgICAgICAgICAgICAgIHJ1bnMgd2hlbiBhbGwgdGhlIG5vZGVzIGhhdmUgYmVlbiBjb3JyZWN0bHkgc2VsZWN0ZWQvdW5zZWxlY3RlZCBhbmRcbiAgICAgICAgICAgICAgIGFkZGVkL3JlbW92ZWQgZnJvbSB0aGUgc2VsZWN0ZWROb2RlcyBjb2xsZWN0aW9uLCBhbmQgdGhlbiB1cGRhdGVzXG4gICAgICAgICAgICAgICB0aGUgc2VsZWN0ZWROb2RlRGF0YSBwcm9wLlxuICAgICAgICAgICAgICAgKi9cbiAgICAgICAgICAgIGNvbnN0IG5vZGVEYXRhID0gc2VsZWN0ZWROb2Rlcy5tYXAoKGVsKSA9PiBlbC5kYXRhKCkpO1xuXG4gICAgICAgICAgICB0aGlzLnByb3BzLnNldFByb3BzKHtcbiAgICAgICAgICAgICAgICBzZWxlY3RlZE5vZGVEYXRhOiBub2RlRGF0YSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9LCBTRUxFQ1RfVEhSRVNIT0xEKTtcblxuICAgICAgICBjb25zdCBzZW5kU2VsZWN0ZWRFZGdlc0RhdGEgPSBfLmRlYm91bmNlKCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGVkZ2VEYXRhID0gc2VsZWN0ZWRFZGdlcy5tYXAoKGVsKSA9PiBlbC5kYXRhKCkpO1xuXG4gICAgICAgICAgICB0aGlzLnByb3BzLnNldFByb3BzKHtcbiAgICAgICAgICAgICAgICBzZWxlY3RlZEVkZ2VEYXRhOiBlZGdlRGF0YSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9LCBTRUxFQ1RfVEhSRVNIT0xEKTtcblxuICAgICAgICBjb25zdCBzZXRFeHRlbnQgPSBfLmRlYm91bmNlKChjeUV4dGVudCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5wcm9wcy5zZXRQcm9wcyh7XG4gICAgICAgICAgICAgICAgZXh0ZW50OiBjeUV4dGVudCxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9LCBFWFRFTlRfVEhSRVNIT0xEKTtcblxuICAgICAgICBjb25zdCB1cGRhdGVFbGVtZW50cyA9IF8uZGVib3VuY2UoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5wcm9wcy5zZXRQcm9wcyh7XG4gICAgICAgICAgICAgICAgZWxlbWVudHM6IGN5LmVsZW1lbnRzKCcnKS5tYXAoKGl0ZW0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGl0ZW0uanNvbigpLmdyb3VwID09PSAnbm9kZXMnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE6IGl0ZW0uanNvbigpLmRhdGEsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGl0ZW0uanNvbigpLnBvc2l0aW9uLFxuICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGF0YTogaXRlbS5qc29uKCkuZGF0YSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiB2b2lkIDAsXG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSwgVVBEQVRFX0VMRU1FTlRTX1RIUkVTSE9MRCk7XG5cbiAgICAgICAgY29uc3QgcmVzaXplID0gXy5kZWJvdW5jZSgoKSA9PiB7XG4gICAgICAgICAgICBjeS5yZXNpemUoKTtcbiAgICAgICAgfSwgUkVTSVpFX1RIUkVTSE9MRCk7XG5cbiAgICAgICAgLy8gU3RvcmUgdGhlIG9yaWdpbmFsIG1heFpvb20gYW5kIG1pblpvb20gZnVuY3Rpb25zXG4gICAgICAgIGNvbnN0IG9yaWdpbmFsTWF4Wm9vbUZuID0gY3kubWF4Wm9vbTtcbiAgICAgICAgY29uc3Qgb3JpZ2luYWxNaW5ab29tRm4gPSBjeS5taW5ab29tO1xuXG4gICAgICAgIC8vIE92ZXJyaWRlIHRoZSBtYXhab29tIGZ1bmN0aW9uIHRvIHRyaWdnZXIgbWF4Wm9vbUNoYW5nZSBjdXN0b20gZXZlbnRcbiAgICAgICAgY3kubWF4Wm9vbSA9IGZ1bmN0aW9uIChlKSB7XG4gICAgICAgICAgICBjb25zdCBjdXJyZW50TWF4Wm9vbSA9IG9yaWdpbmFsTWF4Wm9vbUZuLmNhbGwoY3ksIGUpO1xuXG4gICAgICAgICAgICAvLyBUcmlnZ2VyIHlvdXIgY3VzdG9tIGV2ZW50IGlmIHRoZSBjdXJyZW50IG1heCB6b29tIGxldmVsIGlzIGRpZmZlcmVudCBmcm9tIHRoZVxuICAgICAgICAgICAgLy8gcHJldmlvdXNseSBzdG9yZWQgbWF4IHpvb20gbGV2ZWxcbiAgICAgICAgICAgIGlmIChjdXJyZW50TWF4Wm9vbSAhPT0gY3kuX3ByZXZpb3VzTWF4Wm9vbSkge1xuICAgICAgICAgICAgICAgIGN5Ll9wcmV2aW91c01heFpvb20gPSBjdXJyZW50TWF4Wm9vbTtcbiAgICAgICAgICAgICAgICBjeS50cmlnZ2VyKCdtaW5NYXhab29tQ2hhbmdlJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gY3VycmVudE1heFpvb207XG4gICAgICAgIH07XG5cbiAgICAgICAgLy8gT3ZlcnJpZGUgdGhlIG1pblpvb20gZnVuY3Rpb24gdG8gdHJpZ2dlciBtaW5ab29tQ2hhbmdlIGN1c3RvbSBldmVudFxuICAgICAgICBjeS5taW5ab29tID0gZnVuY3Rpb24gKGUpIHtcbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRNaW5ab29tID0gb3JpZ2luYWxNaW5ab29tRm4uY2FsbChjeSwgZSk7XG5cbiAgICAgICAgICAgIC8vIFRyaWdnZXIgeW91ciBjdXN0b20gZXZlbnQgaWYgdGhlIGN1cnJlbnQgbWluIHpvb20gbGV2ZWwgaXMgZGlmZmVyZW50IGZyb20gdGhlXG4gICAgICAgICAgICAvLyBwcmV2aW91c2x5IHN0b3JlZCBtaW4gem9vbSBsZXZlbFxuICAgICAgICAgICAgaWYgKGN1cnJlbnRNaW5ab29tICE9PSBjeS5fcHJldmlvdXNNaW5ab29tKSB7XG4gICAgICAgICAgICAgICAgY3kuX3ByZXZpb3VzTWluWm9vbSA9IGN1cnJlbnRNaW5ab29tO1xuICAgICAgICAgICAgICAgIGN5LnRyaWdnZXIoJ21pbk1heFpvb21DaGFuZ2UnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBjdXJyZW50TWluWm9vbTtcbiAgICAgICAgfTtcblxuICAgICAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gRVZFTlRTIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgICAgIGN5Lm9uKCd0YXAnLCAnbm9kZScsIChldmVudCkgPT4ge1xuICAgICAgICAgICAgY29uc3Qgbm9kZU9iamVjdCA9IHRoaXMuZ2VuZXJhdGVOb2RlKGV2ZW50KTtcblxuICAgICAgICAgICAgdGhpcy5wcm9wcy5zZXRQcm9wcyh7XG4gICAgICAgICAgICAgICAgdGFwTm9kZTogbm9kZU9iamVjdCxcbiAgICAgICAgICAgICAgICB0YXBOb2RlRGF0YTogT2JqZWN0LmFzc2lnbih7fSwgbm9kZU9iamVjdC5kYXRhLCB7XG4gICAgICAgICAgICAgICAgICAgIHRpbWVTdGFtcDogbm9kZU9iamVjdC50aW1lU3RhbXAsXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY3kub24oJ3RhcCcsICdlZGdlJywgKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBlZGdlT2JqZWN0ID0gdGhpcy5nZW5lcmF0ZUVkZ2UoZXZlbnQpO1xuXG4gICAgICAgICAgICB0aGlzLnByb3BzLnNldFByb3BzKHtcbiAgICAgICAgICAgICAgICB0YXBFZGdlOiBlZGdlT2JqZWN0LFxuICAgICAgICAgICAgICAgIHRhcEVkZ2VEYXRhOiBPYmplY3QuYXNzaWduKHt9LCBlZGdlT2JqZWN0LmRhdGEsIHtcbiAgICAgICAgICAgICAgICAgICAgdGltZVN0YW1wOiBlZGdlT2JqZWN0LnRpbWVTdGFtcCxcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcblxuICAgICAgICBjeS5vbignbW91c2VvdmVyJywgJ25vZGUnLCAoZXZlbnQpID0+IHtcbiAgICAgICAgICAgIHRoaXMucHJvcHMuc2V0UHJvcHMoe1xuICAgICAgICAgICAgICAgIG1vdXNlb3Zlck5vZGVEYXRhOiBPYmplY3QuYXNzaWduKHt9LCBldmVudC50YXJnZXQuZGF0YSgpLCB7XG4gICAgICAgICAgICAgICAgICAgIHRpbWVTdGFtcDogZXZlbnQudGltZVN0YW1wLFxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGN5Lm9uKCdtb3VzZW92ZXInLCAnZWRnZScsIChldmVudCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5wcm9wcy5zZXRQcm9wcyh7XG4gICAgICAgICAgICAgICAgbW91c2VvdmVyRWRnZURhdGE6IE9iamVjdC5hc3NpZ24oe30sIGV2ZW50LnRhcmdldC5kYXRhKCksIHtcbiAgICAgICAgICAgICAgICAgICAgdGltZVN0YW1wOiBldmVudC50aW1lU3RhbXAsXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY3kub24oJ21vdXNlb3V0JywgJ25vZGUnLCAoXykgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMucHJvcHMuY2xlYXJPblVuaG92ZXIgPT09IHRydWUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnByb3BzLnNldFByb3BzKHttb3VzZW92ZXJOb2RlRGF0YTogbnVsbH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICBjeS5vbignbW91c2VvdXQnLCAnZWRnZScsIChfKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5wcm9wcy5jbGVhck9uVW5ob3ZlciA9PT0gdHJ1ZSkge1xuICAgICAgICAgICAgICAgIHRoaXMucHJvcHMuc2V0UHJvcHMoe1xuICAgICAgICAgICAgICAgICAgICBtb3VzZW92ZXJFZGdlRGF0YTogbnVsbCxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgY3kub24oJ3NlbGVjdCcsICdub2RlJywgKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBlbGUgPSBldmVudC50YXJnZXQ7XG5cbiAgICAgICAgICAgIHNlbGVjdGVkTm9kZXMubWVyZ2UoZWxlKTtcbiAgICAgICAgICAgIHNlbmRTZWxlY3RlZE5vZGVzRGF0YSgpO1xuICAgICAgICB9KTtcblxuICAgICAgICBjeS5vbigndW5zZWxlY3QgcmVtb3ZlJywgJ25vZGUnLCAoZXZlbnQpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGVsZSA9IGV2ZW50LnRhcmdldDtcblxuICAgICAgICAgICAgc2VsZWN0ZWROb2Rlcy51bm1lcmdlKGVsZSk7XG4gICAgICAgICAgICBzZW5kU2VsZWN0ZWROb2Rlc0RhdGEoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY3kub24oJ3NlbGVjdCcsICdlZGdlJywgKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBlbGUgPSBldmVudC50YXJnZXQ7XG5cbiAgICAgICAgICAgIHNlbGVjdGVkRWRnZXMubWVyZ2UoZWxlKTtcbiAgICAgICAgICAgIHNlbmRTZWxlY3RlZEVkZ2VzRGF0YSgpO1xuICAgICAgICB9KTtcblxuICAgICAgICBjeS5vbigndW5zZWxlY3QgcmVtb3ZlJywgJ2VkZ2UnLCAoZXZlbnQpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGVsZSA9IGV2ZW50LnRhcmdldDtcblxuICAgICAgICAgICAgc2VsZWN0ZWRFZGdlcy51bm1lcmdlKGVsZSk7XG4gICAgICAgICAgICBzZW5kU2VsZWN0ZWRFZGdlc0RhdGEoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY3kub24oJ2FkZCByZW1vdmUnLCAoKSA9PiB7XG4gICAgICAgICAgICByZWZyZXNoTGF5b3V0KCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGN5Lm9uKCdkcmFnZnJlZSBhZGQgcmVtb3ZlJywgKF8pID0+IHtcbiAgICAgICAgICAgIHVwZGF0ZUVsZW1lbnRzKCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGN5Lm9uKCdyZXNpemUgdmlld3BvcnQnLCAoKSA9PiB7XG4gICAgICAgICAgICBzZXRFeHRlbnQoY3kuZXh0ZW50KCkpO1xuICAgICAgICB9KTtcblxuICAgICAgICBjeS5vbigndGFwc3RhcnQnLCAoKSA9PiB7XG4gICAgICAgICAgICByZXNpemUoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gUmVmcmVzaCBsYXlvdXQgaWYgY3VycmVudCB6b29tIGlzIG91dCBvZiBib3VuZGFyaWVzXG4gICAgICAgIGN5Lm9uKCdtaW5NYXhab29tQ2hhbmdlJywgZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgY29uc3Qgem9vbSA9IGN5Lnpvb20oKTtcbiAgICAgICAgICAgIGlmICh6b29tID4gY3kubWF4Wm9vbSgpIHx8IHpvb20gPCBjeS5taW5ab29tKCkpIHtcbiAgICAgICAgICAgICAgICBjeS5maXQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5jcmVhdGVNZW51SXRlbXMgPSAoY3R4TWVudSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgdXBkYXRlQ29udGV4dE1lbnVEYXRhID0gKG5ld0NvbnRleHQpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnByb3BzLnNldFByb3BzKHtjb250ZXh0TWVudURhdGE6IG5ld0NvbnRleHR9KTtcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBjb25zdCBjb250ZXh0TWVudURlZmF1bHRGdW5jdGlvbnMgPSB7XG4gICAgICAgICAgICAgICAgcmVtb3ZlOiBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IHx8IGV2ZW50LmN5VGFyZ2V0O1xuICAgICAgICAgICAgICAgICAgICB0YXJnZXQucmVtb3ZlKCk7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBhZGRfbm9kZTogZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHBvcyA9IGV2ZW50LnBvc2l0aW9uIHx8IGV2ZW50LmN5UG9zaXRpb247XG4gICAgICAgICAgICAgICAgICAgIGN5LmFkZCh7XG4gICAgICAgICAgICAgICAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JvdXA6ICdub2RlcycsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB4OiBwb3MueCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB5OiBwb3MueSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgYWRkX2VkZ2U6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWROb2RlSWRzID0gc2VsZWN0ZWROb2Rlcy5tYXAoKG5vZGUpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICBub2RlLmlkKClcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHNlbGVjdGVkTm9kZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFcnJvcjogTm8gbm9kZXMgc2VsZWN0ZWQsIGNhbm5vdCBhZGQgZWRnZSdcbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoc2VsZWN0ZWROb2Rlcy5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGN5LmFkZCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZDogdXVpZHY0KCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyb3VwOiAnZWRnZXMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzb3VyY2U6IHNlbGVjdGVkTm9kZUlkc1swXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0OiBzZWxlY3RlZE5vZGVJZHNbMF0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHNlbGVjdGVkTm9kZXMubGVuZ3RoID09PSAyKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjeS5hZGQoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IHV1aWR2NCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBncm91cDogJ2VkZ2VzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc291cmNlOiBzZWxlY3RlZE5vZGVJZHNbMF0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldDogc2VsZWN0ZWROb2RlSWRzWzFdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0Vycm9yOiBtb3JlIHRoYW4gMiBub2RlcyBzZWxlY3RlZCwgY2Fubm90IGFkZCBlZGdlJ1xuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgY29uc3QgbmV3TWVudUl0ZW1zID0gW107XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgY3R4TWVudSkge1xuICAgICAgICAgICAgICAgIGxldCBvbkNsaWNrRnVuY3Rpb247XG4gICAgICAgICAgICAgICAgLy8gcmV0dXJuIGRhdGEgc28gYSB1c2VyIGNhbiBkZWZpbmUgYSBjdXN0b20gb24gY2xpY2sgZnVuY3Rpb24gaW4gUHl0aG9uXG4gICAgICAgICAgICAgICAgLy8gaWYgb25DbGljayBvciBvbiBvbkNsaWNrQ3VzdG9tIGFyZSBub3Qgc3BlY2lmaWVkXG4gICAgICAgICAgICAgICAgb25DbGlja0Z1bmN0aW9uID0gZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIHVwZGF0ZUNvbnRleHRNZW51RGF0YSh7XG4gICAgICAgICAgICAgICAgICAgICAgICBtZW51SXRlbUlkOiBpdGVtLmlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgeDogZXZlbnQucG9zaXRpb24ueCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHk6IGV2ZW50LnBvc2l0aW9uLnksXG4gICAgICAgICAgICAgICAgICAgICAgICB0aW1lU3RhbXA6IGV2ZW50LnRpbWVTdGFtcCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnRJZDogZXZlbnQudGFyZ2V0LmRhdGEoKS5pZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGVkZ2VTb3VyY2U6IGV2ZW50LnRhcmdldC5kYXRhKCkuc291cmNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgZWRnZVRhcmdldDogZXZlbnQudGFyZ2V0LmRhdGEoKS50YXJnZXQsXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgLy8gdXNlIGRlZmF1bHQgamF2YXNjcmlwdCBmdW5jdGlvbiBhcyBvbkNsaWNrRnVuY3Rpb25cbiAgICAgICAgICAgICAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGl0ZW0sICdvbkNsaWNrJykpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHRNZW51RGVmYXVsdEZ1bmN0aW9ucyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtLm9uQ2xpY2tcbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrRnVuY3Rpb24gPVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHRNZW51RGVmYXVsdEZ1bmN0aW9uc1tpdGVtLm9uQ2xpY2tdO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBgb25DbGljayBmdW5jdGlvbiAke2l0ZW0ub25DbGlja30gaXMgbm90IGRlZmluZWRgXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8vIHVzZSB1c2VyLWRlZmluZWQgSmF2YXNjcmlwdCBmdW5jdGlvbiBpbiBhIG5hbWVzcGFjZSB1bmRlciBhc3NldHMvIGFzIG9uQ2xpY2tGdW5jdGlvblxuICAgICAgICAgICAgICAgIGVsc2UgaWYgKFxuICAgICAgICAgICAgICAgICAgICBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoaXRlbSwgJ29uQ2xpY2tDdXN0b20nKVxuICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2luZG93LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkYXNoQ3l0b3NjYXBlRnVuY3Rpb25zJ1xuICAgICAgICAgICAgICAgICAgICAgICAgKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpbmRvdy5kYXNoQ3l0b3NjYXBlRnVuY3Rpb25zLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0ub25DbGlja0N1c3RvbVxuICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2tGdW5jdGlvbiA9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2luZG93LmRhc2hDeXRvc2NhcGVGdW5jdGlvbnNbaXRlbS5vbkNsaWNrQ3VzdG9tXTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYG9uQ2xpY2tDdXN0b20gZnVuY3Rpb24gJHtpdGVtLm9uQ2xpY2tDdXN0b219IGlzIG5vdCBkZWZpbmVkYFxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjb25zdCBuZXdfaXRlbSA9IHtcbiAgICAgICAgICAgICAgICAgICAgaWQ6IGl0ZW0uaWQsXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IGl0ZW0ubGFiZWwsXG4gICAgICAgICAgICAgICAgICAgIHRvb2x0aXBUZXh0OiBpdGVtLnRvb2x0aXBUZXh0LFxuICAgICAgICAgICAgICAgICAgICBzZWxlY3RvcjogJycsXG4gICAgICAgICAgICAgICAgICAgIG9uQ2xpY2tGdW5jdGlvbjogb25DbGlja0Z1bmN0aW9uLFxuICAgICAgICAgICAgICAgICAgICBjb3JlQXNXZWxsOiBmYWxzZSxcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoaXRlbSwgJ2F2YWlsYWJsZU9uJykpIHtcbiAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCBzZWxlY3RvciBvZiBpdGVtLmF2YWlsYWJsZU9uKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoc2VsZWN0b3IgPT09ICdlZGdlJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChuZXdfaXRlbS5zZWxlY3Rvci5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld19pdGVtLnNlbGVjdG9yID0gbmV3X2l0ZW0uc2VsZWN0b3IgKyAnLCAnO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXdfaXRlbS5zZWxlY3RvciA9IG5ld19pdGVtLnNlbGVjdG9yICsgJ2VkZ2UnO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChzZWxlY3RvciA9PT0gJ25vZGUnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG5ld19pdGVtLnNlbGVjdG9yLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3X2l0ZW0uc2VsZWN0b3IgPSBuZXdfaXRlbS5zZWxlY3RvciArICcsICc7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld19pdGVtLnNlbGVjdG9yID0gbmV3X2l0ZW0uc2VsZWN0b3IgKyAnbm9kZSc7XG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHNlbGVjdG9yID09PSAnY2FudmFzJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld19pdGVtLmNvcmVBc1dlbGwgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgRXJyb3I6IHNlbGVjdG9yICR7c2VsZWN0b3J9IGlzIG5vdCBhdmFpbGFibGUuIENob29zZSBvbmUgb2YgJ25vZGUnLCAnZWRnZScgb3IgJ2NhbnZhcycuYFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgbmV3TWVudUl0ZW1zLnB1c2gobmV3X2l0ZW0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIG5ld01lbnVJdGVtcztcbiAgICAgICAgfTtcblxuICAgICAgICB0aGlzLmN5UmVzcG9uc2l2ZUNsYXNzID0gbmV3IEN5UmVzcG9uc2l2ZShjeSk7XG4gICAgICAgIHRoaXMuY3lSZXNwb25zaXZlQ2xhc3MudG9nZ2xlKHRoaXMucHJvcHMucmVzcG9uc2l2ZSk7XG5cbiAgICAgICAgc2V0RXh0ZW50KGN5LmV4dGVudCgpKTtcbiAgICB9XG5cbiAgICBoYW5kbGVJbWFnZUdlbmVyYXRpb24oaW1hZ2VUeXBlLCBpbWFnZU9wdGlvbnMsIGFjdGlvbnNUb1BlcmZvcm0sIGZpbGVOYW1lKSB7XG4gICAgICAgIGxldCBvcHRpb25zID0ge307XG4gICAgICAgIGlmIChpbWFnZU9wdGlvbnMpIHtcbiAgICAgICAgICAgIG9wdGlvbnMgPSBpbWFnZU9wdGlvbnM7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgZGVzaXJlZE91dHB1dCA9IG9wdGlvbnMub3V0cHV0O1xuICAgICAgICBvcHRpb25zLm91dHB1dCA9ICdibG9iJztcblxuICAgICAgICBsZXQgZG93bmxvYWRJbWFnZTtcbiAgICAgICAgbGV0IHN0b3JlSW1hZ2U7XG4gICAgICAgIHN3aXRjaCAoYWN0aW9uc1RvUGVyZm9ybSkge1xuICAgICAgICAgICAgY2FzZSAnc3RvcmUnOlxuICAgICAgICAgICAgICAgIGRvd25sb2FkSW1hZ2UgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICBzdG9yZUltYWdlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ2Rvd25sb2FkJzpcbiAgICAgICAgICAgICAgICBkb3dubG9hZEltYWdlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBzdG9yZUltYWdlID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdib3RoJzpcbiAgICAgICAgICAgICAgICBkb3dubG9hZEltYWdlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBzdG9yZUltYWdlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgZG93bmxvYWRJbWFnZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHN0b3JlSW1hZ2UgPSB0cnVlO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IG91dHB1dDtcbiAgICAgICAgaWYgKGltYWdlVHlwZSA9PT0gJ3BuZycpIHtcbiAgICAgICAgICAgIG91dHB1dCA9IHRoaXMuX2N5LnBuZyhvcHRpb25zKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaW1hZ2VUeXBlID09PSAnanBnJyB8fCBpbWFnZVR5cGUgPT09ICdqcGVnJykge1xuICAgICAgICAgICAgb3V0cHV0ID0gdGhpcy5fY3kuanBnKG9wdGlvbnMpO1xuICAgICAgICB9XG4gICAgICAgIC8vIG9ubHkgd29ya3Mgd2hlbiBzdmcgaXMgaW1wb3J0ZWQgKHNlZSBsaWIvZXh0cmFfaW5kZXguanMpXG4gICAgICAgIGlmIChpbWFnZVR5cGUgPT09ICdzdmcnKSB7XG4gICAgICAgICAgICBvdXRwdXQgPSB0aGlzLl9jeS5zdmcob3B0aW9ucyk7XG4gICAgICAgIH1cblxuICAgICAgICAvKlxuICAgICAgICAgKiBJZiBvdXRwdXQgaXMgZW1wdHkgYmVjYXVzZSBvZiBiYWQgb3B0aW9ucyBvciBhIGN5dG9zY2FwZSBlcnJvcixcbiAgICAgICAgICogc2tpcCBhbnkgZG93bmxvYWQgb3Igc3RvcmFnZSBzdGVwcy5cbiAgICAgICAgICovXG4gICAgICAgIGlmIChvdXRwdXQgJiYgZG93bmxvYWRJbWFnZSkge1xuICAgICAgICAgICAgLypcbiAgICAgICAgICAgICAqIERvd25sb2FkaW5nIGlzIGluaXRpYXRlZCBjbGllbnQtc2lkZSBiZWNhdXNlIHRoZSBpbWFnZSBpcyBnZW5lcmF0ZWQgYXRcbiAgICAgICAgICAgICAqIHRoZSBjbGllbnQuIFRoaXMgYXZvaWRzIHRyYW5zZmVycmluZyBhIHBvdGVudGlhbGx5IGxhcmdlIGltYWdlXG4gICAgICAgICAgICAgKiB0byB0aGUgc2VydmVyIGFuZCBiYWNrIGFnYWluIHRocm91Z2ggYSBjYWxsYmFjay5cbiAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgbGV0IGZOYW1lID0gZmlsZU5hbWU7XG4gICAgICAgICAgICBpZiAoIWZpbGVOYW1lKSB7XG4gICAgICAgICAgICAgICAgZk5hbWUgPSAnY3l0byc7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChpbWFnZVR5cGUgIT09ICdzdmcnKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5kb3dubG9hZEJsb2Iob3V0cHV0LCBmTmFtZSArICcuJyArIGltYWdlVHlwZSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnN0IGJsb2IgPSBuZXcgQmxvYihbb3V0cHV0XSwge1xuICAgICAgICAgICAgICAgICAgICB0eXBlOiAnaW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04JyxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB0aGlzLmRvd25sb2FkQmxvYihibG9iLCBmTmFtZSArICcuJyArIGltYWdlVHlwZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAob3V0cHV0ICYmIHN0b3JlSW1hZ2UpIHtcbiAgICAgICAgICAgIC8vIERlZmF1bHQgb3V0cHV0IHR5cGUgaWYgdW5zcGVjaWZpZWRcbiAgICAgICAgICAgIGlmICghZGVzaXJlZE91dHB1dCkge1xuICAgICAgICAgICAgICAgIGRlc2lyZWRPdXRwdXQgPSAnYmFzZTY0dXJpJztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICEoZGVzaXJlZE91dHB1dCA9PT0gJ2Jhc2U2NHVyaScgfHwgZGVzaXJlZE91dHB1dCA9PT0gJ2Jhc2U2NCcpXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8qXG4gICAgICAgICAgICAgKiBDb252ZXJ0IGJsb2IgdG8gYmFzZTY0dXJpIG9yIGJhc2U2NCBzdHJpbmcgdG8gc3RvcmUgdGhlIGltYWdlIGRhdGEuXG4gICAgICAgICAgICAgKiBUaGFuayB5b3UsIGJhc2U2NGd1cnUgaHR0cHM6Ly9iYXNlNjQuZ3VydS9kZXZlbG9wZXJzL2phdmFzY3JpcHQvZXhhbXBsZXMvZW5jb2RlLWJsb2JcbiAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgY29uc3QgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcbiAgICAgICAgICAgIHJlYWRlci5vbmxvYWQgPSAoKSA9PiB7XG4gICAgICAgICAgICAgICAgLyogRmlsZVJlYWRlciBpcyBhc3luY2hyb25vdXMsIHNvIHRoZSByZWFkIGZ1bmN0aW9uIGlzIG5vbi1ibG9ja2luZy5cbiAgICAgICAgICAgICAgICAgKiBJZiB0aGlzIGNvZGUgYmxvY2sgaXMgcGxhY2VkIGFmdGVyIHRoZSByZWFkIGNvbW1hbmQsIGl0XG4gICAgICAgICAgICAgICAgICogbWF5IHJlc3VsdCBpbiBlbXB0eSBvdXRwdXQgYmVjYXVzZSB0aGUgYmxvYiBoYXMgbm90IGJlZW4gbG9hZGVkIHlldC5cbiAgICAgICAgICAgICAgICAgKi9cbiAgICAgICAgICAgICAgICBsZXQgY2FsbGJhY2tEYXRhID0gcmVhZGVyLnJlc3VsdDtcbiAgICAgICAgICAgICAgICBpZiAoZGVzaXJlZE91dHB1dCA9PT0gJ2Jhc2U2NCcpIHtcbiAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2tEYXRhID0gY2FsbGJhY2tEYXRhLnJlcGxhY2UoL15kYXRhOi4rO2Jhc2U2NCwvLCAnJyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMucHJvcHMuc2V0UHJvcHMoe2ltYWdlRGF0YTogY2FsbGJhY2tEYXRhfSk7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgcmVhZGVyLnJlYWRBc0RhdGFVUkwob3V0cHV0KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGRvd25sb2FkQmxvYihibG9iLCBmaWxlTmFtZSkge1xuICAgICAgICAvKlxuICAgICAgICAgKiBEb3dubG9hZCBibG9iIGFzIGZpbGUgYnkgZHluYW1pY2FsbHkgY3JlYXRpbmcgbGluay5cbiAgICAgICAgICogQ2hyb21lIGRvZXMgbm90IG9wZW4gZGF0YSBVUkxzIHdoZW4gSlMgb3BlbnMgYSBuZXcgdGFiIGRpcmVjdGVkXG4gICAgICAgICAqIGF0IHRoZSBkYXRhIFVSTCwgc28gdGhpcyBpcyBhbiBhbHRlcm5hdGUgaW1wbGVtZW50YXRpb25cbiAgICAgICAgICogdGhhdCBkb2Vzbid0IHJlcXVpcmUgZXh0cmEgcGFja2FnZXMuIEl0IG1heSBub3QgYmVoYXZlIGluXG4gICAgICAgICAqIGV4YWN0bHkgdGhlIHNhbWUgd2F5IGFjcm9zcyBicm93c2VycyAobWlnaHQgZGlzcGxheSBpbWFnZSBpbiBuZXcgdGFiXG4gICAgICAgICAqIGludGVhZCBvZiBkb3dubG9hZGluZyBhcyBhIGZpbGUpLlxuICAgICAgICAgKiBUaGFuayB5b3UsIGtvbGRldiBodHRwczovL2pzZmlkZGxlLm5ldC9rb2xkZXYvY1c3VzUvXG4gICAgICAgICAqL1xuICAgICAgICBjb25zdCBkb3dubG9hZExpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XG4gICAgICAgIGRvd25sb2FkTGluay5zdHlsZSA9ICdkaXNwbGF5OiBub25lJztcbiAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkb3dubG9hZExpbmspO1xuXG4gICAgICAgIGNvbnN0IHVybCA9IHdpbmRvdy5VUkwuY3JlYXRlT2JqZWN0VVJMKGJsb2IpO1xuICAgICAgICBkb3dubG9hZExpbmsuaHJlZiA9IHVybDtcbiAgICAgICAgZG93bmxvYWRMaW5rLmRvd25sb2FkID0gZmlsZU5hbWU7XG4gICAgICAgIGRvd25sb2FkTGluay5jbGljaygpO1xuICAgICAgICB3aW5kb3cuVVJMLnJldm9rZU9iamVjdFVSTCh1cmwpO1xuXG4gICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoZG93bmxvYWRMaW5rKTtcbiAgICB9XG5cbiAgICB1cGRhdGVDb250ZXh0TWVudShjb250ZXh0TWVudSkge1xuICAgICAgICB0aGlzLl9jeS5jb250ZXh0TWVudXMoe1xuICAgICAgICAgICAgbWVudUl0ZW1zOiB0aGlzLmNyZWF0ZU1lbnVJdGVtcyhjb250ZXh0TWVudSksXG4gICAgICAgICAgICBtZW51SXRlbUNsYXNzZXM6IFsnY3VzdG9tLW1lbnUtaXRlbSddLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvLyBSZXR1cm5zIHRydWUgaWYgdGhlcmUgaXMgbm8gb3ZlcmxhcCBiZXR3ZWVuIHRoZSBlbGVtZW50IGJvdW5kaW5nIGJveFxuICAgIC8vIGFuZCB0aGUgcmVuZGVyZWQgYXJlYSBvZiB0aGUgZ3JhcGgsIG1lYW5pbmcgdGhlIGdyYXBoIGlzIGVudGlyZWx5IG91dHNpZGUgdGhlIHZpZXdwb3J0O1xuICAgIC8vIHJldHVybnMgZmFsc2Ugb3RoZXJ3aXNlXG4gICAgZ3JhcGhPdXRPZlZpZXcoKSB7XG4gICAgICAgIGNvbnN0IGN5V2lkdGggPSB0aGlzLl9jeS53aWR0aCgpO1xuICAgICAgICBjb25zdCBjeUhlaWdodCA9IHRoaXMuX2N5LmhlaWdodCgpO1xuICAgICAgICBjb25zdCBlbEJveCA9IHRoaXMuX2N5LmVsZW1lbnRzKCkucmVuZGVyZWRCb3VuZGluZ2JveCgpO1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgZWxCb3gueDEgPiBjeVdpZHRoIHx8XG4gICAgICAgICAgICBlbEJveC55MSA+IGN5SGVpZ2h0IHx8XG4gICAgICAgICAgICBlbEJveC54MiA8IDAgfHxcbiAgICAgICAgICAgIGVsQm94LnkyIDwgMFxuICAgICAgICApO1xuICAgIH1cblxuICAgIGNvbXBvbmVudERpZFVwZGF0ZShwcmV2UHJvcHMpIHtcbiAgICAgICAgY29uc3Qge2NvbnRleHRNZW51LCBlbGVtZW50c30gPSB0aGlzLnByb3BzO1xuICAgICAgICBpZiAoIV8uaXNFcXVhbChwcmV2UHJvcHMuY29udGV4dE1lbnUsIGNvbnRleHRNZW51KSAmJiB0aGlzLl9jeSkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVDb250ZXh0TWVudShjb250ZXh0TWVudSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFfLmlzRXF1YWwocHJldlByb3BzLmVsZW1lbnRzLCBlbGVtZW50cykgJiYgdGhpcy5fY3kpIHtcbiAgICAgICAgICAgIC8vIElmIGVsZW1lbnRzIHdlcmUgdXBkYXRlZCwgYW5kIHRoZSBuZXcgZ3JhcGggaXMgKmVudGlyZWx5KiBvdXRzaWRlIHRoZSB2aWV3cG9ydCxcbiAgICAgICAgICAgIC8vIGZpdCB0aGUgdmlld3BvcnQgdG8gdGhlIG5ldyBlbGVtZW50c1xuICAgICAgICAgICAgaWYgKHRoaXMuZ3JhcGhPdXRPZlZpZXcoKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuX2N5LmZpdCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgICAgICBjb25zdCB7Y29udGV4dE1lbnV9ID0gdGhpcy5wcm9wcztcbiAgICAgICAgaWYgKHRoaXMuX2N5ICYmIGNvbnRleHRNZW51Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlQ29udGV4dE1lbnUoY29udGV4dE1lbnUpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJlbmRlcigpIHtcbiAgICAgICAgY29uc3Qge1xuICAgICAgICAgICAgLy8gSFRNTCBhdHRyaWJ1dGUgcHJvcHNcbiAgICAgICAgICAgIGlkLFxuICAgICAgICAgICAgc3R5bGUsXG4gICAgICAgICAgICBjbGFzc05hbWUsXG4gICAgICAgICAgICAvLyBDb21tb24gcHJvcHNcbiAgICAgICAgICAgIGVsZW1lbnRzLFxuICAgICAgICAgICAgc3R5bGVzaGVldCxcbiAgICAgICAgICAgIGxheW91dCxcbiAgICAgICAgICAgIGNvbnRleHRNZW51LFxuICAgICAgICAgICAgY29udGV4dE1lbnVEYXRhLFxuICAgICAgICAgICAgLy8gVmlld3BvcnQgTWFuaXB1bGF0aW9uXG4gICAgICAgICAgICBwYW4sXG4gICAgICAgICAgICB6b29tLFxuICAgICAgICAgICAgLy8gVmlld3BvcnQgTXV0YWJpbGl0eSBhbmQgZ2VzdHVyZSBUb2dnbGluZ1xuICAgICAgICAgICAgcGFubmluZ0VuYWJsZWQsXG4gICAgICAgICAgICB1c2VyUGFubmluZ0VuYWJsZWQsXG4gICAgICAgICAgICBtaW5ab29tLFxuICAgICAgICAgICAgbWF4Wm9vbSxcbiAgICAgICAgICAgIHpvb21pbmdFbmFibGVkLFxuICAgICAgICAgICAgdXNlclpvb21pbmdFbmFibGVkLFxuICAgICAgICAgICAgd2hlZWxTZW5zaXRpdml0eSxcbiAgICAgICAgICAgIGJveFNlbGVjdGlvbkVuYWJsZWQsXG4gICAgICAgICAgICBhdXRvdW5ncmFiaWZ5LFxuICAgICAgICAgICAgYXV0b2xvY2ssXG4gICAgICAgICAgICBhdXRvdW5zZWxlY3RpZnksXG4gICAgICAgICAgICAvLyBJbWFnZSBoYW5kbGluZ1xuICAgICAgICAgICAgZ2VuZXJhdGVJbWFnZSxcbiAgICAgICAgICAgIC8vIFJlc3BvbnNpdmUgZ3JhcGhzXG4gICAgICAgICAgICByZXNwb25zaXZlLFxuICAgICAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgICAgICBpZiAoT2JqZWN0LmtleXMoZ2VuZXJhdGVJbWFnZSkubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgLy8gSWYgbm8gY3l0b3NjYXBlIG9iamVjdCBoYXMgYmVlbiBjcmVhdGVkIHlldCwgYW4gaW1hZ2UgY2Fubm90IGJlIGdlbmVyYXRlZCxcbiAgICAgICAgICAgIC8vIHNvIGdlbmVyYXRlSW1hZ2Ugd2lsbCBiZSBpZ25vcmVkIGFuZCBjbGVhcmVkLlxuICAgICAgICAgICAgdGhpcy5wcm9wcy5zZXRQcm9wcyh7Z2VuZXJhdGVJbWFnZToge319KTtcbiAgICAgICAgICAgIGlmICh0aGlzLl9jeSkge1xuICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlSW1hZ2VHZW5lcmF0aW9uKFxuICAgICAgICAgICAgICAgICAgICBnZW5lcmF0ZUltYWdlLnR5cGUsXG4gICAgICAgICAgICAgICAgICAgIGdlbmVyYXRlSW1hZ2Uub3B0aW9ucyxcbiAgICAgICAgICAgICAgICAgICAgZ2VuZXJhdGVJbWFnZS5hY3Rpb24sXG4gICAgICAgICAgICAgICAgICAgIGdlbmVyYXRlSW1hZ2UuZmlsZW5hbWVcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuY3lSZXNwb25zaXZlQ2xhc3MpIHtcbiAgICAgICAgICAgIHRoaXMuY3lSZXNwb25zaXZlQ2xhc3MudG9nZ2xlKHJlc3BvbnNpdmUpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDxDeXRvc2NhcGVDb21wb25lbnRcbiAgICAgICAgICAgICAgICBpZD17aWR9XG4gICAgICAgICAgICAgICAgY3k9e3RoaXMuaGFuZGxlQ3l9XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWV9XG4gICAgICAgICAgICAgICAgc3R5bGU9e3N0eWxlfVxuICAgICAgICAgICAgICAgIGVsZW1lbnRzPXtDeXRvc2NhcGVDb21wb25lbnQubm9ybWFsaXplRWxlbWVudHMoZWxlbWVudHMpfVxuICAgICAgICAgICAgICAgIHN0eWxlc2hlZXQ9e3N0eWxlc2hlZXR9XG4gICAgICAgICAgICAgICAgbGF5b3V0PXtsYXlvdXR9XG4gICAgICAgICAgICAgICAgY29udGV4dE1lbnU9e2NvbnRleHRNZW51fVxuICAgICAgICAgICAgICAgIGNvbnRleHRNZW51RGF0YT17Y29udGV4dE1lbnVEYXRhfVxuICAgICAgICAgICAgICAgIHBhbj17cGFufVxuICAgICAgICAgICAgICAgIHpvb209e3pvb219XG4gICAgICAgICAgICAgICAgcGFubmluZ0VuYWJsZWQ9e3Bhbm5pbmdFbmFibGVkfVxuICAgICAgICAgICAgICAgIHVzZXJQYW5uaW5nRW5hYmxlZD17dXNlclBhbm5pbmdFbmFibGVkfVxuICAgICAgICAgICAgICAgIG1pblpvb209e21pblpvb219XG4gICAgICAgICAgICAgICAgbWF4Wm9vbT17bWF4Wm9vbX1cbiAgICAgICAgICAgICAgICB6b29taW5nRW5hYmxlZD17em9vbWluZ0VuYWJsZWR9XG4gICAgICAgICAgICAgICAgdXNlclpvb21pbmdFbmFibGVkPXt1c2VyWm9vbWluZ0VuYWJsZWR9XG4gICAgICAgICAgICAgICAgd2hlZWxTZW5zaXRpdml0eT17d2hlZWxTZW5zaXRpdml0eX1cbiAgICAgICAgICAgICAgICBib3hTZWxlY3Rpb25FbmFibGVkPXtib3hTZWxlY3Rpb25FbmFibGVkfVxuICAgICAgICAgICAgICAgIGF1dG91bmdyYWJpZnk9e2F1dG91bmdyYWJpZnl9XG4gICAgICAgICAgICAgICAgYXV0b2xvY2s9e2F1dG9sb2NrfVxuICAgICAgICAgICAgICAgIGF1dG91bnNlbGVjdGlmeT17YXV0b3Vuc2VsZWN0aWZ5fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgKTtcbiAgICB9XG59XG5cbkN5dG9zY2FwZS5wcm9wVHlwZXMgPSB7XG4gICAgLy8gSFRNTCBhdHRyaWJ1dGUgcHJvcHNcblxuICAgIC8qKlxuICAgICAqIFRoZSBJRCB1c2VkIHRvIGlkZW50aWZ5IHRoaXMgY29tcG9uZW50IGluIERhc2ggY2FsbGJhY2tzLlxuICAgICAqL1xuICAgIGlkOiBQcm9wVHlwZXMuc3RyaW5nLFxuXG4gICAgLyoqXG4gICAgICogU2V0cyB0aGUgY2xhc3MgbmFtZSBvZiB0aGUgZWxlbWVudCAodGhlIHZhbHVlIG9mIGFuIGVsZW1lbnQncyBodG1sXG4gICAgICogY2xhc3MgYXR0cmlidXRlKS5cbiAgICAgKi9cbiAgICBjbGFzc05hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG5cbiAgICAvKipcbiAgICAgKiBBZGQgaW5saW5lIHN0eWxlcyB0byB0aGUgcm9vdCBlbGVtZW50LlxuICAgICAqL1xuICAgIHN0eWxlOiBQcm9wVHlwZXMub2JqZWN0LFxuXG4gICAgLy8gRGFzaCBzcGVjaWZpYyBwcm9wc1xuXG4gICAgLyoqXG4gICAgICogRGFzaC1hc3NpZ25lZCBjYWxsYmFjayB0aGF0IHNob3VsZCBiZSBjYWxsZWQgd2hlbmV2ZXIgYW55IG9mIHRoZVxuICAgICAqIHByb3BlcnRpZXMgY2hhbmdlLlxuICAgICAqL1xuICAgIHNldFByb3BzOiBQcm9wVHlwZXMuZnVuYyxcblxuICAgIC8vIENvbW1vbiBwcm9wc1xuXG4gICAgLyoqXG4gICAgICogQSBsaXN0IG9mIGRpY3Rpb25hcmllcyByZXByZXNlbnRpbmcgdGhlIGVsZW1lbnRzIG9mIHRoZSBuZXR3b3Jrcy4gRWFjaCBkaWN0aW9uYXJ5IGRlc2NyaWJlcyBhbiBlbGVtZW50LCBhbmRcbiAgICAgKiBzcGVjaWZpZXMgaXRzIHB1cnBvc2UuIFRoZSBbb2ZmaWNpYWwgQ3l0b3NjYXBlLmpzIGRvY3VtZW50YXRpb25dKGh0dHBzOi8vanMuY3l0b3NjYXBlLm9yZy8jbm90YXRpb24vZWxlbWVudHMtanNvbilcbiAgICAgKiBvZmZlcnMgYW4gZXh0ZW5zaXZlIG92ZXJ2aWV3IGFuZCBleGFtcGxlcyBvZiBlbGVtZW50IGRlY2xhcmF0aW9uLlxuICAgICAqIEFsdGVybmF0aXZlbHksIGEgZGljdGlvbmFyeSB3aXRoIHRoZSBmb3JtYXQgeyAnbm9kZXMnOiBbXSwgJ2VkZ2VzJzogW10gfSBpcyBhbGxvd2VkIGF0IGluaXRpYWxpemF0aW9uLFxuICAgICAqIGJ1dCBhcnJheXMgcmVtYWluIHRoZSByZWNvbW1lbmRlZCBmb3JtYXQuXG4gICAgICovXG4gICAgZWxlbWVudHM6IFByb3BUeXBlcy5vbmVPZlR5cGUoW1xuICAgICAgICBQcm9wVHlwZXMuYXJyYXlPZihcbiAgICAgICAgICAgIFByb3BUeXBlcy5zaGFwZSh7XG4gICAgICAgICAgICAgICAgLyoqXG4gICAgICAgICAgICAgICAgICogRWl0aGVyICdub2Rlcycgb3IgJ2VkZ2VzJy4gSWYgbm90IGdpdmVuLCBpdCdzIGF1dG9tYXRpY2FsbHkgaW5mZXJyZWQuXG4gICAgICAgICAgICAgICAgICovXG4gICAgICAgICAgICAgICAgZ3JvdXA6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICAgICAgICAgICAgLyoqIEVsZW1lbnQgc3BlY2lmaWMgZGF0YS4qL1xuICAgICAgICAgICAgICAgIGRhdGE6IFByb3BUeXBlcy5zaGFwZSh7XG4gICAgICAgICAgICAgICAgICAgIC8qKiAgUmVmZXJlbmNlIHRvIHRoZSBlbGVtZW50LCB1c2VmdWwgZm9yIHNlbGVjdG9ycyBhbmQgZWRnZXMuIFJhbmRvbWx5IGFzc2lnbmVkIGlmIG5vdCBnaXZlbi4qL1xuICAgICAgICAgICAgICAgICAgICBpZDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgICAgICAgICAgICAgICAgLyoqXG4gICAgICAgICAgICAgICAgICAgICAqIE9wdGlvbmFsIG5hbWUgZm9yIHRoZSBlbGVtZW50LCB1c2VmdWwgd2hlbiBgZGF0YShsYWJlbClgIGlzIGdpdmVuIHRvIGEgc3R5bGUncyBgY29udGVudGBcbiAgICAgICAgICAgICAgICAgICAgICogb3IgYGxhYmVsYC4gSXQgaXMgb25seSBhIGNvbnZlbnRpb24uICovXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICAgICAgICAgICAgICAvKiogT25seSBmb3Igbm9kZXMuIE9wdGlvbmFsIHJlZmVyZW5jZSB0byBhbm90aGVyIG5vZGUuIE5lZWRlZCB0byBjcmVhdGUgY29tcG91bmQgbm9kZXMuICovXG4gICAgICAgICAgICAgICAgICAgIHBhcmVudDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgICAgICAgICAgICAgICAgLyoqIE9ubHkgZm9yIGVkZ2VzLiBUaGUgaWQgb2YgdGhlIHNvdXJjZSBub2RlLCB3aGljaCBpcyB3aGVyZSB0aGUgZWRnZSBzdGFydHMuICovXG4gICAgICAgICAgICAgICAgICAgIHNvdXJjZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgICAgICAgICAgICAgICAgLyoqIE9ubHkgZm9yIGVkZ2VzLiBUaGUgaWQgb2YgdGhlIHRhcmdldCBub2RlLCB3aGVyZSB0aGUgZWRnZSBlbmRzLiAqL1xuICAgICAgICAgICAgICAgICAgICB0YXJnZXQ6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgLyoqIE9ubHkgZm9yIG5vZGVzLiBUaGUgcG9zaXRpb24gb2YgdGhlIG5vZGUuICovXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IFByb3BUeXBlcy5zaGFwZSh7XG4gICAgICAgICAgICAgICAgICAgIC8qKiBUaGUgeC1jb29yZGluYXRlIG9mIHRoZSBub2RlLiAqL1xuICAgICAgICAgICAgICAgICAgICB4OiBQcm9wVHlwZXMubnVtYmVyLFxuICAgICAgICAgICAgICAgICAgICAvKiogVGhlIHktY29vcmRpbmF0ZSBvZiB0aGUgbm9kZS4gKi9cbiAgICAgICAgICAgICAgICAgICAgeTogUHJvcFR5cGVzLm51bWJlcixcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAvKiogSWYgdGhlIGVsZW1lbnQgaXMgc2VsZWN0ZWQgdXBvbiBpbml0aWFsaXNhdGlvbi4gKi9cbiAgICAgICAgICAgICAgICBzZWxlY3RlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgICAgICAgICAgICAgLyoqIElmIHRoZSBlbGVtZW50IGNhbiBiZSBzZWxlY3RlZC4gKi9cbiAgICAgICAgICAgICAgICBzZWxlY3RhYmxlOiBQcm9wVHlwZXMuYm9vbCxcbiAgICAgICAgICAgICAgICAvKiogT25seSBmb3Igbm9kZXMuIElmIHRoZSBwb3NpdGlvbiBpcyBpbW11dGFibGUuICovXG4gICAgICAgICAgICAgICAgbG9ja2VkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICAgICAgICAgICAgICAvKiogT25seSBmb3Igbm9kZXMuIElmIHRoZSBub2RlIGNhbiBiZSBncmFiYmVkIGFuZCBtb3ZlZCBieSB0aGUgdXNlci4gKi9cbiAgICAgICAgICAgICAgICBncmFiYmFibGU6IFByb3BUeXBlcy5ib29sLFxuICAgICAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICAgICAqIFNwYWNlIHNlcGFyYXRlZCBzdHJpbmcgb2YgY2xhc3MgbmFtZXMgb2YgdGhlIGVsZW1lbnQuIFRob3NlIGNsYXNzZXMgY2FuIGJlIHNlbGVjdGVkXG4gICAgICAgICAgICAgICAgICogYnkgYSBzdHlsZSBzZWxlY3Rvci5cbiAgICAgICAgICAgICAgICAgKi9cbiAgICAgICAgICAgICAgICBjbGFzc2VzOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgKSxcbiAgICAgICAgUHJvcFR5cGVzLmV4YWN0KHtcbiAgICAgICAgICAgIG5vZGVzOiBQcm9wVHlwZXMuYXJyYXksXG4gICAgICAgICAgICBlZGdlczogUHJvcFR5cGVzLmFycmF5LFxuICAgICAgICB9KSxcbiAgICBdKSxcblxuICAgIC8qKlxuICAgICAqIEEgbGlzdCBvZiBkaWN0aW9uYXJpZXMgcmVwcmVzZW50aW5nIHRoZSBzdHlsZXMgb2YgdGhlIGVsZW1lbnRzLlxuICAgICAqIEVhY2ggZGljdGlvbmFyeSByZXF1aXJlcyB0aGUgZm9sbG93aW5nIGtleXM6IGBzZWxlY3RvcmAgYW5kIGBzdHlsZWAuXG4gICAgICpcbiAgICAgKiBCb3RoIHRoZSBbc2VsZWN0b3JdKGh0dHBzOi8vanMuY3l0b3NjYXBlLm9yZy8jc2VsZWN0b3JzKSBhbmRcbiAgICAgKiB0aGUgW3N0eWxlXShodHRwczovL2pzLmN5dG9zY2FwZS5vcmcvI3N0eWxlL25vZGUtYm9keSkgYXJlXG4gICAgICogZXhoYXVzdGl2ZWx5IGRvY3VtZW50ZWQgaW4gdGhlIEN5dG9zY2FwZS5qcyBkb2NzLiBBbHRob3VnaCBtZXRob2RzIHN1Y2hcbiAgICAgKiBhcyBgY3kuZWxlbWVudHMoLi4uKWAgYW5kIGBjeS5maWx0ZXIoLi4uKWAgYXJlIG5vdCBhdmFpbGFibGUsIHRoZSBzZWxlY3RvclxuICAgICAqIHN0cmluZyBzeW50YXggc3RheXMgdGhlIHNhbWUuXG4gICAgICovXG4gICAgc3R5bGVzaGVldDogUHJvcFR5cGVzLmFycmF5T2YoXG4gICAgICAgIFByb3BUeXBlcy5leGFjdCh7XG4gICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAqIFdoaWNoIGVsZW1lbnRzIHlvdSBhcmUgc3R5bGluZy4gR2VuZXJhbGx5LCB5b3Ugc2VsZWN0IGEgZ3JvdXAgb2YgZWxlbWVudHMgKG5vZGUsIGVkZ2VzLCBib3RoKSxcbiAgICAgICAgICAgICAqIGEgY2xhc3MgKHRoYXQgeW91IGRlY2xhcmUgaW4gdGhlIGVsZW1lbnQgZGljdGlvbmFyeSksIG9yIGFuIGVsZW1lbnQgYnkgSUQuXG4gICAgICAgICAgICAgKi9cbiAgICAgICAgICAgIHNlbGVjdG9yOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAqIFdoYXQgYXNwZWN0cyBvZiB0aGUgZWxlbWVudHMgeW91IHdhbnQgdG8gbW9kaWZ5LiBUaGlzIGNvdWxkIGJlIHRoZSBzaXplIG9yXG4gICAgICAgICAgICAgKiBjb2xvciBvZiBhIG5vZGUsIHRoZSBzaGFwZSBvZiBhbiBlZGdlIGFycm93LCBvciBtYW55IG1vcmUuXG4gICAgICAgICAgICAgKi9cbiAgICAgICAgICAgIHN0eWxlOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWQsXG4gICAgICAgIH0pXG4gICAgKSxcblxuICAgIC8qKlxuICAgICAqIEEgZGljdGlvbmFyeSBzcGVjaWZ5aW5nIGhvdyB0byBzZXQgdGhlIHBvc2l0aW9uIG9mIHRoZSBlbGVtZW50cyBpbiB5b3VyXG4gICAgICogZ3JhcGguIFRoZSBgJ25hbWUnYCBrZXkgaXMgcmVxdWlyZWQsIGFuZCBpbmRpY2F0ZXMgd2hpY2ggbGF5b3V0IChhbGdvcml0aG0pIHRvXG4gICAgICogdXNlLiBUaGUga2V5cyBhY2NlcHRlZCBieSBgbGF5b3V0YCB2YXJ5IGRlcGVuZGluZyBvbiB0aGUgYWxnb3JpdGhtLCBidXQgdGhlc2VcbiAgICAgKiBrZXlzIGFyZSBhY2NlcHRlZCBieSBhbGwgbGF5b3V0czogYGZpdGAsICBgcGFkZGluZ2AsIGBhbmltYXRlYCwgYGFuaW1hdGlvbkR1cmF0aW9uYCxcbiAgICAgKiBgYm91bmRpbmdCb3hgLlxuICAgICAqXG4gICAgICogIFRoZSBjb21wbGV0ZSBsaXN0IG9mIGxheW91dHMgYW5kIHRoZWlyIGFjY2VwdGVkIG9wdGlvbnMgYXJlIGF2YWlsYWJsZSBvbiB0aGVcbiAgICAgKiAgW0N5dG9zY2FwZS5qcyBkb2NzXShodHRwczovL2pzLmN5dG9zY2FwZS5vcmcvI2xheW91dHMpIC4gRm9yIHRoZSBleHRlcm5hbCBsYXlvdXRzLFxuICAgICAqIHRoZSBvcHRpb25zIGFyZSBsaXN0ZWQgaW4gdGhlIFwiQVBJXCIgc2VjdGlvbiBvZiB0aGUgIFJFQURNRS5cbiAgICAgKiAgTm90ZSB0aGF0IGNlcnRhaW4ga2V5cyBhcmUgbm90IHN1cHBvcnRlZCBpbiBEYXNoIHNpbmNlIHRoZSB2YWx1ZSBpcyBhIEphdmFTY3JpcHRcbiAgICAgKiAgZnVuY3Rpb24gb3IgYSBjYWxsYmFjay4gUGxlYXNlIHZpc2l0IHRoaXNcbiAgICAgKiBbaXNzdWVdKGh0dHBzOi8vZ2l0aHViLmNvbS9wbG90bHkvZGFzaC1jeXRvc2NhcGUvaXNzdWVzLzI1KSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiAgICAgKi9cbiAgICBsYXlvdXQ6IFByb3BUeXBlcy5zaGFwZSh7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBUaGUgbGF5b3V0cyBhdmFpbGFibGUgYnkgZGVmYXVsdCBhcmU6XG4gICAgICAgICAqICAgYHJhbmRvbWA6IFJhbmRvbWx5IGFzc2lnbnMgcG9zaXRpb25zLlxuICAgICAgICAgKiAgIGBwcmVzZXRgOiBBc3NpZ25zIHBvc2l0aW9uIGJhc2VkIG9uIHRoZSBgcG9zaXRpb25gIGtleSBpbiBlbGVtZW50IGRpY3Rpb25hcmllcy5cbiAgICAgICAgICogICBgY2lyY2xlYDogU2luZ2xlLWxldmVsIGNpcmNsZSwgd2l0aCBvcHRpb25hbCByYWRpdXMuXG4gICAgICAgICAqICAgYGNvbmNlbnRyaWNgOiBNdWx0aS1sZXZlbCBjaXJjbGUsIHdpdGggb3B0aW9uYWwgcmFkaXVzLlxuICAgICAgICAgKiAgIGBncmlkYDogU3F1YXJlIGdyaWQsIG9wdGlvbmFsbHkgd2l0aCBudW1iZXJzIG9mIGByb3dzYCBhbmQgYGNvbHNgLlxuICAgICAgICAgKiAgIGBicmVhZHRoZmlyc3RgOiBUcmVlIHN0cnVjdHVyZSBidWlsdCB1c2luZyBCRlMsIHdpdGggb3B0aW9uYWwgYHJvb3RzYC5cbiAgICAgICAgICogICBgY29zZWA6IEZvcmNlLWRpcmVjdGVkIHBoeXNpY3Mgc2ltdWxhdGlvbi5cbiAgICAgICAgICpcbiAgICAgICAgICogU29tZSBleHRlcm5hbCBsYXlvdXRzIGFyZSBhbHNvIGluY2x1ZGVkLiBUbyB1c2UgdGhlbSwgcnVuXG4gICAgICAgICAqICAgYGRhc2hfY3l0b3NjYXBlLmxvYWRfZXh0cmFfbGF5b3V0cygpYCBiZWZvcmUgY3JlYXRpbmcgeW91ciBEYXNoIGFwcC4gQmUgY2FyZWZ1bCBhYm91dFxuICAgICAgICAgKiAgIHVzaW5nIHRoZSBleHRyYSBsYXlvdXRzIHdoZW4gbm90IG5lY2Vzc2FyeSwgc2luY2UgdGhleSByZXF1aXJlIHN1cHBsZW1lbnRhcnkgYmFuZHdpZHRoXG4gICAgICAgICAqICAgZm9yIGxvYWRpbmcsIHdoaWNoIGltcGFjdHMgdGhlIHN0YXJ0dXAgdGltZSBvZiB0aGUgYXBwLlxuICAgICAgICAgKiAgIFRoZSBleHRlcm5hbCBsYXlvdXRzIGFyZTpcbiAgICAgICAgICogICBbY29zZS1iaWxrZW50XShodHRwczovL2dpdGh1Yi5jb20vY3l0b3NjYXBlL2N5dG9zY2FwZS5qcy1jb3NlLWJpbGtlbnQpLFxuICAgICAgICAgKiAgIFtmY29zZV0oaHR0cHM6Ly9naXRodWIuY29tL2lWaXMtYXQtQmlsa2VudC9jeXRvc2NhcGUuanMtZmNvc2UpLFxuICAgICAgICAgKiAgIFtjb2xhXShodHRwczovL2dpdGh1Yi5jb20vY3l0b3NjYXBlL2N5dG9zY2FwZS5qcy1jb2xhKSxcbiAgICAgICAgICogICBbZXVsZXJdKGh0dHBzOi8vZ2l0aHViLmNvbS9jeXRvc2NhcGUvY3l0b3NjYXBlLmpzLWRhZ3JlKSxcbiAgICAgICAgICogICBbc3ByZWFkXShodHRwczovL2dpdGh1Yi5jb20vY3l0b3NjYXBlL2N5dG9zY2FwZS5qcy1zcHJlYWQpLFxuICAgICAgICAgKiAgIFtkYWdyZV0oaHR0cHM6Ly9naXRodWIuY29tL2N5dG9zY2FwZS9jeXRvc2NhcGUuanMtZGFncmUpLFxuICAgICAgICAgKiAgIFtrbGF5XShodHRwczovL2dpdGh1Yi5jb20vY3l0b3NjYXBlL2N5dG9zY2FwZS5qcy1rbGF5KSxcbiAgICAgICAgICovXG4gICAgICAgIG5hbWU6IFByb3BUeXBlcy5vbmVPZihbXG4gICAgICAgICAgICAncmFuZG9tJyxcbiAgICAgICAgICAgICdwcmVzZXQnLFxuICAgICAgICAgICAgJ2NpcmNsZScsXG4gICAgICAgICAgICAnY29uY2VudHJpYycsXG4gICAgICAgICAgICAnZ3JpZCcsXG4gICAgICAgICAgICAnYnJlYWR0aGZpcnN0JyxcbiAgICAgICAgICAgICdjb3NlJyxcbiAgICAgICAgICAgICdjb3NlLWJpbGtlbnQnLFxuICAgICAgICAgICAgJ2Zjb3NlJyxcbiAgICAgICAgICAgICdjb2xhJyxcbiAgICAgICAgICAgICdldWxlcicsXG4gICAgICAgICAgICAnc3ByZWFkJyxcbiAgICAgICAgICAgICdkYWdyZScsXG4gICAgICAgICAgICAna2xheScsXG4gICAgICAgIF0pLmlzUmVxdWlyZWQsXG4gICAgICAgIC8qKiAgV2hldGhlciB0byByZW5kZXIgdGhlIG5vZGVzIGluIG9yZGVyIHRvIGZpdCB0aGUgY2FudmFzLiAqL1xuICAgICAgICBmaXQ6IFByb3BUeXBlcy5ib29sLFxuICAgICAgICAvKiogUGFkZGluZyBhcm91bmQgdGhlIHNpZGVzIG9mIHRoZSBjYW52YXMsIGlmIGZpdCBpcyBlbmFibGVkLiAqL1xuICAgICAgICBwYWRkaW5nOiBQcm9wVHlwZXMubnVtYmVyLFxuICAgICAgICAvKiogV2hldGhlciB0byBhbmltYXRlIGNoYW5nZSBpbiBwb3NpdGlvbiB3aGVuIHRoZSBsYXlvdXQgY2hhbmdlcy4gKi9cbiAgICAgICAgYW5pbWF0ZTogUHJvcFR5cGVzLmJvb2wsXG4gICAgICAgIC8qKiBEdXJhdGlvbiBvZiBhbmltYXRpb24gaW4gbWlsbGlzZWNvbmRzLCBpZiBlbmFibGVkLiAqL1xuICAgICAgICBhbmltYXRpb25EdXJhdGlvbjogUHJvcFR5cGVzLm51bWJlcixcbiAgICAgICAgLyoqXG4gICAgICAgICAqIEhvdyB0byBjb25zdHJhaW4gdGhlIGxheW91dCBpbiBhIHNwZWNpZmljIGFyZWEuIEtleXMgYWNjZXB0ZWQgYXJlIGVpdGhlclxuICAgICAgICAgKiBgeDEsIHkxLCB4MiwgeTJgIG9yIGB4MSwgeTEsIHcsIGhgLCBhbGwgb2Ygd2hpY2ggcmVjZWl2ZSBhIHBpeGVsIHZhbHVlLlxuICAgICAgICAgKi9cbiAgICAgICAgYm91bmRpbmdCb3g6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgfSksXG4gICAgLyoqXG4gICAgICogRGVmaW5lIGEgY3VzdG9tIGNvbnRleHQgbWVudS4gVGhlIGJlaGF2aW91ciBvZiBlYWNoIG1lbnUgaXRlbSBjYW4gYmUgZGVmaW5lZCBpbiAxIG9mIDMgd2F5cy5cbiAgICAgKiAxLiBCeSBwYXNzaW5nIGEgc3RyaW5nIHRvIG9uQ2xpY2sgdGhhdCByZWZlcnMgdG8gb25lIG9mIHRoZSBidWlsdC1pbiBKYXZhc2NyaXB0IGZ1bmN0aW9ucy5cbiAgICAgKiAyLiBCeSBwYXNzaW5nIGEgc3RyaW5nIHRvIG9uQ2xpY2tDdXN0b20gdGhhdCByZWZlcnMgdG8gb25lIG9mIHRoZSB1c2VyLWRlZmluZWQgZnVuY3Rpb25zIGluIGEgbmFtZXNwYWNlLlxuICAgICAqIDMuIEJ5IG9taXR0aW5nIGJvdGggb2YgdGhlc2UgcHJvcGVydGllczsgdGhpcyB3aWxsIHVwZGF0ZSB0aGUgY29udGV4dE1lbnVEYXRhIHByb3BlcnR5IGFuZCB0cmlnZ2VyIGEgRGFzaCBjYWxsYmFjay5cbiAgICAgKi9cbiAgICBjb250ZXh0TWVudTogUHJvcFR5cGVzLmFycmF5T2YoXG4gICAgICAgIFByb3BUeXBlcy5leGFjdCh7XG4gICAgICAgICAgICAvKiogSUQgb2YgdGhlIG1lbnUgaXRlbSBpbiB0aGUgY29udGV4dCBtZW51ICovXG4gICAgICAgICAgICBpZDogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICAgICAgICAgICAgLyoqIFRoZSBsYWJlbCBvbiB0aGUgY29udGV4dCBtZW51IGl0ZW0qL1xuICAgICAgICAgICAgbGFiZWw6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgICAgICAgICAgIC8qKiBUaGUgdG9vbHRpcCB0ZXh0IHdoZW4gaG92ZXJpbmcgb24gdG9wIG9mIGEgY29udGV4dCBtZW51IGl0ZW0gKi9cbiAgICAgICAgICAgIHRvb2x0aXBUZXh0OiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICAgICAgLyoqIEEgbGlzdCBjb250YWluaW5nIGVpdGhlciAnbm9kZScsICdlZGdlJyxhbmQvb3IgJ2NhbnZhcycuIFRoaXMgd2lsbCBkZXRlcm1pbmUgd2hlcmUgdGhlIGNvbnRleHRcbiAgICAgICAgICAgICAqICBtZW51IGl0ZW0gd2lsbCBzaG93IHVwLlxuICAgICAgICAgICAgICovXG4gICAgICAgICAgICBhdmFpbGFibGVPbjogUHJvcFR5cGVzLmFycmF5LFxuICAgICAgICAgICAgLyoqIFNwZWNpZnkgd2hpY2ggYnVpbHQtaW4gSmF2YVNjcmlwdCBmdW5jdGlvbiB0byB1c2UgYXMgYmVoYXZpb3VyIGZvciB0aGUgY29udGV4dFxuICAgICAgICAgICAgICogbWVudSBpdGVtLiBPbmUgb2YgJ3JlbW92ZScsICdhZGRfbm9kZScsIG9yICdhZGRfZWRnZSdcbiAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgb25DbGljazogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgICAgICAgIC8qKiBTcGVjaWZ5IHdoaWNoIHVzZXItZGVmaW5lZCBKYXZhc2NyaXB0IGZ1bmN0aW9uIHRvIHVzZSBpbiB0aGUgZGFzaEN5dG9zY2FwZUZ1bmN0aW9uc1xuICAgICAgICAgICAgICogbmFtZXNwYWNlIGFzIGJlaGF2aW91ciBmb3IgdGhlIGNvbnRleHQgbWVudSBpdGVtXG4gICAgICAgICAgICAgKi9cbiAgICAgICAgICAgIG9uQ2xpY2tDdXN0b206IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICAgIH0pXG4gICAgKSxcbiAgICAvKipcbiAgICAgKiBSZXRyaWV2ZSByZWxldmFudCBkYXRhIHdoZW4gYSBjb250ZXh0IG1lbnUgaXRlbSBpcyBjbGlja2VkLiAgUmVhZC1vbmx5LlxuICAgICAqL1xuICAgIGNvbnRleHRNZW51RGF0YTogUHJvcFR5cGVzLmV4YWN0KHtcbiAgICAgICAgLyoqIElEIG9mIHRoZSBtZW51IGl0ZW0gaW4gdGhlIGNvbnRleHQgbWVudSAqL1xuICAgICAgICBtZW51SXRlbUlkOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICAvKiogeC1wb3NpdGlvbiBvZiB0aGUgY29udGV4dCBjbGljayAqL1xuICAgICAgICB4OiBQcm9wVHlwZXMubnVtYmVyLFxuICAgICAgICAvKiogeS1wb3NpdGlvbiBvZiB0aGUgY29udGV4dCBjbGljayAqL1xuICAgICAgICB5OiBQcm9wVHlwZXMubnVtYmVyLFxuICAgICAgICAvKiogVGltZXN0YW1wIG9mIGNvbnRleHQgY2xpY2sqL1xuICAgICAgICB0aW1lU3RhbXA6IFByb3BUeXBlcy5udW1iZXIsXG4gICAgICAgIC8qKiBFbGVtZW50IElEIG9uIGNvbnRleHQgY2xpY2sgaWYgdGhlIGNvbnRleHQgY2xpY2sgd2FzIG9uIGFuIGVsZW1lbnQuXG4gICAgICAgICAqIElmIGNvbnRleHQgY2xpY2sgd2FzIG9uIHdoaXRlIHNwYWNlLCB0aGlzIHByb3BlcnR5IGlzIG5vdCByZXR1cm5lZFxuICAgICAgICAgKi9cbiAgICAgICAgZWxlbWVudElkOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICAvKiogTm9kZSBJRCBvZiB0aGUgZWRnZSBzb3VyY2UgaWYgdGhlIGNsaWNrZWQgZWxlbWVudCBpcyBhbiBlZGdlLFxuICAgICAgICAgKiBvciBlbHNlIHRoaXMgcHJvcGVydHkgaXMgbm90IHJldHVybmVkKi9cbiAgICAgICAgZWRnZVNvdXJjZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgICAgLyoqIE5vZGUgSUQgb2YgdGhlIGVkZ2UgdGFyZ2V0IGlmIHRoZSBjbGlja2VkIGVsZW1lbnQgaXMgYW4gZWRnZSxcbiAgICAgICAgICogb3IgZWxzZSB0aGlzIHByb3BlcnR5IGlzIG5vdCByZXR1cm5lZCovXG4gICAgICAgIGVkZ2VUYXJnZXQ6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgfSksXG4gICAgLy8gVmlld3BvcnQgTWFuaXB1bGF0aW9uXG5cbiAgICAvKipcbiAgICAgKiBEaWN0aW9uYXJ5IGluZGljYXRpbmcgdGhlIGluaXRpYWwgcGFubmluZyBwb3NpdGlvbiBvZiB0aGUgZ3JhcGguIFRoZVxuICAgICAqIGZvbGxvd2luZyBrZXlzIGFyZSBhY2NlcHRlZDpcbiAgICAgKi9cbiAgICBwYW46IFByb3BUeXBlcy5leGFjdCh7XG4gICAgICAgIC8qKiBUaGUgeC1jb29yZGluYXRlIG9mIHRoZSBub2RlICovXG4gICAgICAgIHg6IFByb3BUeXBlcy5udW1iZXIsXG4gICAgICAgIC8qKiBUaGUgeS1jb29yZGluYXRlIG9mIHRoZSBub2RlICAqL1xuICAgICAgICB5OiBQcm9wVHlwZXMubnVtYmVyLFxuICAgIH0pLFxuXG4gICAgLyoqXG4gICAgICogVGhlIGluaXRpYWwgem9vbSBsZXZlbCBvZiB0aGUgZ3JhcGguIFlvdSBjYW4gc2V0IGBtaW5ab29tYCBhbmRcbiAgICAgKiBgbWF4Wm9vbWAgdG8gc2V0IHJlc3RyaWN0aW9ucyBvbiB0aGUgem9vbSBsZXZlbC5cbiAgICAgKi9cbiAgICB6b29tOiBQcm9wVHlwZXMubnVtYmVyLFxuXG4gICAgLy8gVmlld3BvcnQgTXV0YWJpbGl0eSBhbmQgZ2VzdHVyZSBUb2dnbGluZ1xuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgcGFubmluZyB0aGUgZ3JhcGggaXMgZW5hYmxlZCAoaS5lLiwgdGhlIHBvc2l0aW9uIG9mIHRoZSBncmFwaCBpc1xuICAgICAqIG11dGFibGUgb3ZlcmFsbCkuXG4gICAgICovXG4gICAgcGFubmluZ0VuYWJsZWQ6IFByb3BUeXBlcy5ib29sLFxuXG4gICAgLyoqXG4gICAgICogV2hldGhlciB1c2VyIGV2ZW50cyAoZS5nLiBkcmFnZ2luZyB0aGUgZ3JhcGggYmFja2dyb3VuZCkgYXJlIGFsbG93ZWQgdG9cbiAgICAgKiBwYW4gdGhlIGdyYXBoLlxuICAgICAqL1xuICAgIHVzZXJQYW5uaW5nRW5hYmxlZDogUHJvcFR5cGVzLmJvb2wsXG5cbiAgICAvKipcbiAgICAgKiBBIG1pbmltdW0gYm91bmQgb24gdGhlIHpvb20gbGV2ZWwgb2YgdGhlIGdyYXBoLiBUaGUgdmlld3BvcnQgY2FuIG5vdCBiZVxuICAgICAqIHNjYWxlZCBzbWFsbGVyIHRoYW4gdGhpcyB6b29tIGxldmVsLlxuICAgICAqL1xuICAgIG1pblpvb206IFByb3BUeXBlcy5udW1iZXIsXG5cbiAgICAvKipcbiAgICAgKiBBIG1heGltdW0gYm91bmQgb24gdGhlIHpvb20gbGV2ZWwgb2YgdGhlIGdyYXBoLiBUaGUgdmlld3BvcnQgY2FuIG5vdCBiZVxuICAgICAqIHNjYWxlZCBsYXJnZXIgdGhhbiB0aGlzIHpvb20gbGV2ZWwuXG4gICAgICovXG4gICAgbWF4Wm9vbTogUHJvcFR5cGVzLm51bWJlcixcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgem9vbWluZyB0aGUgZ3JhcGggaXMgZW5hYmxlZCAoaS5lLiwgdGhlIHpvb20gbGV2ZWwgb2YgdGhlIGdyYXBoXG4gICAgICogaXMgbXV0YWJsZSBvdmVyYWxsKS5cbiAgICAgKi9cbiAgICB6b29taW5nRW5hYmxlZDogUHJvcFR5cGVzLmJvb2wsXG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHVzZXIgZXZlbnRzIChlLmcuIGRyYWdnaW5nIHRoZSBncmFwaCBiYWNrZ3JvdW5kKSBhcmUgYWxsb3dlZFxuICAgICAqIHRvIHBhbiB0aGUgZ3JhcGguXG4gICAgICovXG4gICAgdXNlclpvb21pbmdFbmFibGVkOiBQcm9wVHlwZXMuYm9vbCxcblxuICAgIC8qKlxuICAgICAqIENoYW5nZXMgdGhlIHNjcm9sbCB3aGVlbCBzZW5zaXRpdml0eSB3aGVuIHpvb21pbmcuXG4gICAgICovXG4gICAgd2hlZWxTZW5zaXRpdml0eTogUHJvcFR5cGVzLm51bWJlcixcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgYm94IHNlbGVjdGlvbiAoaS5lLiBkcmFnIGEgYm94IG92ZXJsYXkgYXJvdW5kLCBhbmQgcmVsZWFzZSBpdFxuICAgICAqIHRvIHNlbGVjdCkgaXMgZW5hYmxlZC4gSWYgZW5hYmxlZCwgdGhlIHVzZXIgbXVzdCB0YXBob2xkIHRvIHBhbiB0aGUgZ3JhcGguXG4gICAgICovXG4gICAgYm94U2VsZWN0aW9uRW5hYmxlZDogUHJvcFR5cGVzLmJvb2wsXG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIG5vZGVzIHNob3VsZCBiZSB1bmdyYWJpZmllZCAobm90IGdyYWJiYWJsZSBieSB1c2VyKSBieVxuICAgICAqIGRlZmF1bHQgKGlmIHRydWUsIG92ZXJyaWRlcyBpbmRpdmlkdWFsIG5vZGUgc3RhdGUpLlxuICAgICAqL1xuICAgIGF1dG91bmdyYWJpZnk6IFByb3BUeXBlcy5ib29sLFxuXG4gICAgLyoqXG4gICAgICogV2hldGhlciBub2RlcyBzaG91bGQgYmUgbG9ja2VkIChub3QgZHJhZ2dhYmxlIGF0IGFsbCkgYnkgZGVmYXVsdFxuICAgICAqIChpZiB0cnVlLCBvdmVycmlkZXMgaW5kaXZpZHVhbCBub2RlIHN0YXRlKS5cbiAgICAgKi9cbiAgICBhdXRvbG9jazogUHJvcFR5cGVzLmJvb2wsXG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIG5vZGVzIHNob3VsZCBiZSB1bnNlbGVjdGlmaWVkIChpbW11dGFibGUgc2VsZWN0aW9uIHN0YXRlKSBieVxuICAgICAqIGRlZmF1bHQgKGlmIHRydWUsIG92ZXJyaWRlcyBpbmRpdmlkdWFsIGVsZW1lbnQgc3RhdGUpLlxuICAgICAqL1xuICAgIGF1dG91bnNlbGVjdGlmeTogUHJvcFR5cGVzLmJvb2wsXG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRoZSBsYXlvdXQgc2hvdWxkIGJlIHJlZnJlc2hlZCB3aGVuIGVsZW1lbnRzIGFyZSBhZGRlZCBvciByZW1vdmVkLlxuICAgICAqL1xuICAgIGF1dG9SZWZyZXNoTGF5b3V0OiBQcm9wVHlwZXMuYm9vbCxcblxuICAgIC8vIFVzZXIgRXZlbnRzIFByb3BzXG5cbiAgICAvKipcbiAgICAgKiBUaGUgY29tcGxldGUgbm9kZSBkaWN0aW9uYXJ5IHJldHVybmVkIHdoZW4geW91IHRhcCBvciBjbGljayBpdC4gUmVhZC1vbmx5LlxuICAgICAqL1xuICAgIHRhcE5vZGU6IFByb3BUeXBlcy5leGFjdCh7XG4gICAgICAgIC8qKiBub2RlIHNwZWNpZmljIGl0ZW0gKi9cbiAgICAgICAgZWRnZXNEYXRhOiBQcm9wVHlwZXMuYXJyYXksXG4gICAgICAgIC8qKiBub2RlIHNwZWNpZmljIGl0ZW0gKi9cbiAgICAgICAgcmVuZGVyZWRQb3NpdGlvbjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICAgICAgLyoqIG5vZGUgc3BlY2lmaWMgaXRlbSAqL1xuICAgICAgICB0aW1lU3RhbXA6IFByb3BUeXBlcy5udW1iZXIsXG4gICAgICAgIC8qKiBHZW5lcmFsIGl0ZW0gKGZvciBhbGwgZWxlbWVudHMpICovXG4gICAgICAgIGNsYXNzZXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICAgIC8qKiBHZW5lcmFsIGl0ZW0gKGZvciBhbGwgZWxlbWVudHMpICovXG4gICAgICAgIGRhdGE6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgICAgIC8qKiBHZW5lcmFsIGl0ZW0gKGZvciBhbGwgZWxlbWVudHMpICovXG4gICAgICAgIGdyYWJiYWJsZTogUHJvcFR5cGVzLmJvb2wsXG4gICAgICAgIC8qKiBHZW5lcmFsIGl0ZW0gKGZvciBhbGwgZWxlbWVudHMpICovXG4gICAgICAgIGdyb3VwOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICAvKiogR2VuZXJhbCBpdGVtIChmb3IgYWxsIGVsZW1lbnRzKSAqL1xuICAgICAgICBsb2NrZWQ6IFByb3BUeXBlcy5ib29sLFxuICAgICAgICAvKiogR2VuZXJhbCBpdGVtIChmb3IgYWxsIGVsZW1lbnRzKSAqL1xuICAgICAgICBwb3NpdGlvbjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICAgICAgLyoqIEdlbmVyYWwgaXRlbSAoZm9yIGFsbCBlbGVtZW50cykgKi9cbiAgICAgICAgc2VsZWN0YWJsZTogUHJvcFR5cGVzLmJvb2wsXG4gICAgICAgIC8qKiBHZW5lcmFsIGl0ZW0gKGZvciBhbGwgZWxlbWVudHMpICovXG4gICAgICAgIHNlbGVjdGVkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICAgICAgLyoqIEdlbmVyYWwgaXRlbSAoZm9yIGFsbCBlbGVtZW50cykgKi9cbiAgICAgICAgc3R5bGU6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgICAgIC8qKiBJdGVtIGZvciBjb21wb3VuZCBub2RlcyAqL1xuICAgICAgICBhbmNlc3RvcnNEYXRhOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMub2JqZWN0LCBQcm9wVHlwZXMuYXJyYXldKSxcbiAgICAgICAgLyoqIEl0ZW0gZm9yIGNvbXBvdW5kIG5vZGVzICovXG4gICAgICAgIGNoaWxkcmVuRGF0YTogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLm9iamVjdCwgUHJvcFR5cGVzLmFycmF5XSksXG4gICAgICAgIC8qKiBJdGVtIGZvciBjb21wb3VuZCBub2RlcyAqL1xuICAgICAgICBkZXNjZW5kYW50c0RhdGE6IFByb3BUeXBlcy5vbmVPZlR5cGUoW1xuICAgICAgICAgICAgUHJvcFR5cGVzLm9iamVjdCxcbiAgICAgICAgICAgIFByb3BUeXBlcy5hcnJheSxcbiAgICAgICAgXSksXG4gICAgICAgIC8qKiBJdGVtIGZvciBjb21wb3VuZCBub2RlcyAqL1xuICAgICAgICBwYXJlbnREYXRhOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMub2JqZWN0LCBQcm9wVHlwZXMuYXJyYXldKSxcbiAgICAgICAgLyoqIEl0ZW0gZm9yIGNvbXBvdW5kIG5vZGVzICovXG4gICAgICAgIHNpYmxpbmdzRGF0YTogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLm9iamVjdCwgUHJvcFR5cGVzLmFycmF5XSksXG4gICAgICAgIC8qKiBJdGVtIGZvciBjb21wb3VuZCBub2RlcyAqL1xuICAgICAgICBpc1BhcmVudDogUHJvcFR5cGVzLmJvb2wsXG4gICAgICAgIC8qKiBJdGVtIGZvciBjb21wb3VuZCBub2RlcyAqL1xuICAgICAgICBpc0NoaWxkbGVzczogUHJvcFR5cGVzLmJvb2wsXG4gICAgICAgIC8qKiBJdGVtIGZvciBjb21wb3VuZCBub2RlcyAqL1xuICAgICAgICBpc0NoaWxkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICAgICAgLyoqIEl0ZW0gZm9yIGNvbXBvdW5kIG5vZGVzICovXG4gICAgICAgIGlzT3JwaGFuOiBQcm9wVHlwZXMuYm9vbCxcbiAgICAgICAgLyoqIEl0ZW0gZm9yIGNvbXBvdW5kIG5vZGVzICovXG4gICAgICAgIHJlbGF0aXZlUG9zaXRpb246IFByb3BUeXBlcy5vYmplY3QsXG4gICAgfSksXG5cbiAgICAvKipcbiAgICAgKiBUaGUgZGF0YSBkaWN0aW9uYXJ5IG9mIGEgbm9kZSByZXR1cm5lZCB3aGVuIHlvdSB0YXAgb3IgY2xpY2sgaXQuIFJlYWQtb25seS5cbiAgICAgKi9cbiAgICB0YXBOb2RlRGF0YTogUHJvcFR5cGVzLm9iamVjdCxcblxuICAgIC8qKlxuICAgICAqIFRoZSBjb21wbGV0ZSBlZGdlIGRpY3Rpb25hcnkgcmV0dXJuZWQgd2hlbiB5b3UgdGFwIG9yIGNsaWNrIGl0LiBSZWFkLW9ubHkuXG4gICAgICovXG4gICAgdGFwRWRnZTogUHJvcFR5cGVzLmV4YWN0KHtcbiAgICAgICAgLyoqIEVkZ2Utc3BlY2lmaWMgaXRlbSAqL1xuICAgICAgICBpc0xvb3A6IFByb3BUeXBlcy5ib29sLFxuICAgICAgICAvKiogRWRnZS1zcGVjaWZpYyBpdGVtICovXG4gICAgICAgIGlzU2ltcGxlOiBQcm9wVHlwZXMuYm9vbCxcbiAgICAgICAgLyoqIEVkZ2Utc3BlY2lmaWMgaXRlbSAqL1xuICAgICAgICBtaWRwb2ludDogUHJvcFR5cGVzLm9iamVjdCxcbiAgICAgICAgLyoqIEVkZ2Utc3BlY2lmaWMgaXRlbSAqL1xuICAgICAgICBzb3VyY2VEYXRhOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgICAgICAvKiogRWRnZS1zcGVjaWZpYyBpdGVtICovXG4gICAgICAgIHNvdXJjZUVuZHBvaW50OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgICAgICAvKiogRWRnZS1zcGVjaWZpYyBpdGVtICovXG4gICAgICAgIHRhcmdldERhdGE6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgICAgIC8qKiBFZGdlLXNwZWNpZmljIGl0ZW0gKi9cbiAgICAgICAgdGFyZ2V0RW5kcG9pbnQ6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgICAgIC8qKiBFZGdlLXNwZWNpZmljIGl0ZW0gKi9cbiAgICAgICAgdGltZVN0YW1wOiBQcm9wVHlwZXMubnVtYmVyLFxuICAgICAgICAvKiogR2VuZXJhbCBpdGVtIChmb3IgYWxsIGVsZW1lbnRzKSAqL1xuICAgICAgICBjbGFzc2VzOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICAvKiogR2VuZXJhbCBpdGVtIChmb3IgYWxsIGVsZW1lbnRzKSAqL1xuICAgICAgICBkYXRhOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgICAgICAvKiogR2VuZXJhbCBpdGVtIChmb3IgYWxsIGVsZW1lbnRzKSAqL1xuICAgICAgICBncmFiYmFibGU6IFByb3BUeXBlcy5ib29sLFxuICAgICAgICAvKiogR2VuZXJhbCBpdGVtIChmb3IgYWxsIGVsZW1lbnRzKSAqL1xuICAgICAgICBncm91cDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgICAgLyoqIEdlbmVyYWwgaXRlbSAoZm9yIGFsbCBlbGVtZW50cykgKi9cbiAgICAgICAgbG9ja2VkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICAgICAgLyoqIEdlbmVyYWwgaXRlbSAoZm9yIGFsbCBlbGVtZW50cykgKi9cbiAgICAgICAgc2VsZWN0YWJsZTogUHJvcFR5cGVzLmJvb2wsXG4gICAgICAgIC8qKiBHZW5lcmFsIGl0ZW0gKGZvciBhbGwgZWxlbWVudHMpICovXG4gICAgICAgIHNlbGVjdGVkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICAgICAgLyoqIEdlbmVyYWwgaXRlbSAoZm9yIGFsbCBlbGVtZW50cykgKi9cbiAgICAgICAgc3R5bGU6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgfSksXG5cbiAgICAvKipcbiAgICAgKiBUaGUgZGF0YSBkaWN0aW9uYXJ5IG9mIGFuIGVkZ2UgcmV0dXJuZWQgd2hlbiB5b3UgdGFwIG9yIGNsaWNrIGl0LiBSZWFkLW9ubHkuXG4gICAgICovXG4gICAgdGFwRWRnZURhdGE6IFByb3BUeXBlcy5vYmplY3QsXG5cbiAgICAvKipcbiAgICAgKiBUaGUgZGF0YSBkaWN0aW9uYXJ5IG9mIGEgbm9kZSByZXR1cm5lZCB3aGVuIHlvdSBob3ZlciBvdmVyIGl0LiBSZWFkLW9ubHkuXG4gICAgICovXG4gICAgbW91c2VvdmVyTm9kZURhdGE6IFByb3BUeXBlcy5vYmplY3QsXG5cbiAgICAvKipcbiAgICAgKiBUaGUgZGF0YSBkaWN0aW9uYXJ5IG9mIGFuIGVkZ2UgcmV0dXJuZWQgd2hlbiB5b3UgaG92ZXIgb3ZlciBpdC4gUmVhZC1vbmx5LlxuICAgICAqL1xuICAgIG1vdXNlb3ZlckVkZ2VEYXRhOiBQcm9wVHlwZXMub2JqZWN0LFxuXG4gICAgLyoqXG4gICAgICogVGhlIGxpc3Qgb2YgZGF0YSBkaWN0aW9uYXJpZXMgb2YgYWxsIHNlbGVjdGVkIG5vZGVzIChlLmcuIHVzaW5nXG4gICAgICogU2hpZnQrQ2xpY2sgdG8gc2VsZWN0IG11bHRpcGxlIG5vZGVzLCBvciBTaGlmdCtEcmFnIHRvIHVzZSBib3ggc2VsZWN0aW9uKS4gUmVhZC1vbmx5LlxuICAgICAqL1xuICAgIHNlbGVjdGVkTm9kZURhdGE6IFByb3BUeXBlcy5hcnJheSxcblxuICAgIC8qKlxuICAgICAqIFRoZSBsaXN0IG9mIGRhdGEgZGljdGlvbmFyaWVzIG9mIGFsbCBzZWxlY3RlZCBlZGdlcyAoZS5nLiB1c2luZ1xuICAgICAqIFNoaWZ0K0NsaWNrIHRvIHNlbGVjdCBtdWx0aXBsZSBub2Rlcywgb3IgU2hpZnQrRHJhZyB0byB1c2UgYm94IHNlbGVjdGlvbikuIFJlYWQtb25seS5cbiAgICAgKi9cbiAgICBzZWxlY3RlZEVkZ2VEYXRhOiBQcm9wVHlwZXMuYXJyYXksXG5cbiAgICAvKipcbiAgICAgKiBEaWN0aW9uYXJ5IHNwZWNpZnlpbmcgb3B0aW9ucyB0byBnZW5lcmF0ZSBhbiBpbWFnZSBvZiB0aGUgY3VycmVudCBjeXRvc2NhcGUgZ3JhcGguXG4gICAgICogVmFsdWUgaXMgY2xlYXJlZCBhZnRlciBkYXRhIGlzIHJlY2VpdmVkIGFuZCBpbWFnZSBpcyBnZW5lcmF0ZWQuIFRoaXMgcHJvcGVydHkgd2lsbFxuICAgICAqIGJlIGlnbm9yZWQgb24gdGhlIGluaXRpYWwgY3JlYXRpb24gb2YgdGhlIGN5dG9zY2FwZSBvYmplY3QgYW5kIG11c3QgYmUgaW52b2tlZCB0aHJvdWdoXG4gICAgICogYSBjYWxsYmFjayBhZnRlciBpdCBoYXMgYmVlbiByZW5kZXJlZC5cbiAgICAgKlxuICAgICAqIElmIHRoZSBhcHAgZG9lcyBub3QgbmVlZCB0aGUgaW1hZ2UgZGF0YSBzZXJ2ZXIgc2lkZSBhbmQvb3IgaXQgd2lsbCBvbmx5IGJlIHVzZWQgdG8gZG93bmxvYWRcbiAgICAgKiB0aGUgaW1hZ2UsIGl0IG1heSBiZSBwcnVkZW50IHRvIGludm9rZSBgJ2Rvd25sb2FkJ2AgZm9yIGBhY3Rpb25gIGluc3RlYWQgb2ZcbiAgICAgKiBgJ3N0b3JlJ2AgdG8gaW1wcm92ZSBwZXJmb3JtYW5jZSBieSBwcmV2ZW50aW5nIHRyYW5zZmVyIG9mIGRhdGEgdG8gdGhlIHNlcnZlci5cbiAgICAgKi9cbiAgICBnZW5lcmF0ZUltYWdlOiBQcm9wVHlwZXMuc2hhcGUoe1xuICAgICAgICAvKiogRmlsZSB0eXBlIHRvIG91dHB1dCAgKi9cbiAgICAgICAgdHlwZTogUHJvcFR5cGVzLm9uZU9mKFsnc3ZnJywgJ3BuZycsICdqcGcnLCAnanBlZyddKSxcbiAgICAgICAgLyoqIERpY3Rpb25hcnkgb2Ygb3B0aW9ucyB0byBjeS5wbmcoKSAvIGN5LmpwZygpIG9yIGN5LnN2ZygpIGZvciBpbWFnZSBnZW5lcmF0aW9uLlxuICAgICAgICAgKiBTZWUgaHR0cHM6Ly9qcy5jeXRvc2NhcGUub3JnLyNjb3JlL2V4cG9ydCBmb3IgZGV0YWlscy4gRm9yIGAnb3V0cHV0J2AsIG9ubHkgJ2Jhc2U2NCdcbiAgICAgICAgICogYW5kICdiYXNlNjR1cmknIGFyZSBzdXBwb3J0ZWQuIERlZmF1bHQ6IGB7J291dHB1dCc6ICdiYXNlNjR1cmknfWAuKi9cbiAgICAgICAgb3B0aW9uczogUHJvcFR5cGVzLm9iamVjdCxcbiAgICAgICAgLyoqXG4gICAgICAgICAqIGAnc3RvcmUnYDogU3RvcmVzIHRoZSBpbWFnZSBkYXRhIChvbmx5IGpwZyBhbmQgcG5nIGFyZSBzdXBwb3J0ZWQpXG4gICAgICAgICAqIGluIGBpbWFnZURhdGFgIGFuZCBpbnZva2VzIHNlcnZlci1zaWRlIERhc2ggY2FsbGJhY2tzLiBgJ2Rvd25sb2FkJ2A6IERvd25sb2FkcyB0aGUgaW1hZ2VcbiAgICAgICAgICogYXMgYSBmaWxlIHdpdGggYWxsIGRhdGEgaGFuZGxpbmcgZG9uZSBjbGllbnQtc2lkZS4gTm8gYGltYWdlRGF0YWAgY2FsbGJhY2tzIGFyZSBmaXJlZC5cbiAgICAgICAgICogYCdib3RoJ2A6IFN0b3JlcyBpbWFnZSBkYXRhIGFuZCBkb3dubG9hZHMgaW1hZ2UgYXMgZmlsZS4gVGhlIGRlZmF1bHQgaXMgYCdzdG9yZSdgXG4gICAgICAgICAqL1xuICAgICAgICBhY3Rpb246IFByb3BUeXBlcy5vbmVPZihbJ3N0b3JlJywgJ2Rvd25sb2FkJywgJ2JvdGgnXSksXG4gICAgICAgIC8qKiBOYW1lIGZvciB0aGUgZmlsZSB0byBiZSBkb3dubG9hZGVkLiBEZWZhdWx0OiAnY3l0bycuKi9cbiAgICAgICAgZmlsZW5hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgfSksXG5cbiAgICAvKipcbiAgICAgKiBTdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhlIGltYWdlIHJlcXVlc3RlZCB3aXRoIGdlbmVyYXRlSW1hZ2UuIE51bGwgaWYgbm9cbiAgICAgKiBpbWFnZSB3YXMgcmVxdWVzdGVkIHlldCBvciB0aGUgcHJldmlvdXMgcmVxdWVzdCBmYWlsZWQuIFJlYWQtb25seS5cbiAgICAgKi9cbiAgICBpbWFnZURhdGE6IFByb3BUeXBlcy5zdHJpbmcsXG5cbiAgICAvKipcbiAgICAgKiBUb2dnbGVzIGludGVsbGlnZW50IHJlc3BvbnNpdmUgcmVzaXplIG9mIEN5dG9zY2FwZSBncmFwaCB3aXRoIHZpZXdwb3J0IHNpemUgY2hhbmdlXG4gICAgICovXG4gICAgcmVzcG9uc2l2ZTogUHJvcFR5cGVzLmJvb2wsXG5cbiAgICAvKipcbiAgICAgKiBFeHRlbnQgb2YgdGhlIHZpZXdwb3J0LCBhIGJvdW5kaW5nIGJveCBpbiBtb2RlbCBjby1vcmRpbmF0ZXMgdGhhdCBsZXRzIHlvdSBrbm93IHdoYXQgbW9kZWxcbiAgICAgKiBwb3NpdGlvbnMgYXJlIHZpc2libGUgaW4gdGhlIHZpZXdwb3J0LiBUaGlzIGZ1bmN0aW9uIHJldHVybnMgYSBwbGFpbiBvYmplY3QgYm91bmRpbmcgYm94XG4gICAgICogd2l0aCBmb3JtYXQgeyB4MSwgeTEsIHgyLCB5MiwgdywgaCB9LlxuICAgICAqL1xuICAgIGV4dGVudDogUHJvcFR5cGVzLm9iamVjdCxcblxuICAgIC8qKlxuICAgICAqIElmIHNldCB0byBUcnVlLCBtb3VzZW92ZXJOb2RlRGF0YSBhbmQgbW91c2VvdmVyRWRnZURhdGEgd2lsbCBiZSBjbGVhcmVkIG9uIHVuaG92ZXIuXG4gICAgICogSWYgc2V0IHRvIEZhbHNlLCB0aGUgdmFsdWUgb2YgbW91c2VvdmVyTm9kZURhdGEgYW5kIG1vdXNlb3ZlckVkZ2VEYXRhIHdpbGwgYmUgdGhlIGxhc3RcbiAgICAgKiBOb2RlIG9yIEVkZ2UgaG92ZXJlZCBvdmVyXG4gICAgICovXG4gICAgY2xlYXJPblVuaG92ZXI6IFByb3BUeXBlcy5ib29sLFxufTtcblxuQ3l0b3NjYXBlLmRlZmF1bHRQcm9wcyA9IHtcbiAgICBzdHlsZToge3dpZHRoOiAnNjAwcHgnLCBoZWlnaHQ6ICc2MDBweCd9LFxuICAgIGxheW91dDoge25hbWU6ICdncmlkJ30sXG4gICAgcGFuOiB7eDogMCwgeTogMH0sXG4gICAgem9vbTogMSxcbiAgICBtaW5ab29tOiAxZS01MCxcbiAgICBtYXhab29tOiAxZTUwLFxuICAgIHpvb21pbmdFbmFibGVkOiB0cnVlLFxuICAgIHVzZXJab29taW5nRW5hYmxlZDogdHJ1ZSxcbiAgICBwYW5uaW5nRW5hYmxlZDogdHJ1ZSxcbiAgICB1c2VyUGFubmluZ0VuYWJsZWQ6IHRydWUsXG4gICAgd2hlZWxTZW5zaXRpdml0eTogMSxcbiAgICBib3hTZWxlY3Rpb25FbmFibGVkOiBmYWxzZSxcbiAgICBhdXRvbG9jazogZmFsc2UsXG4gICAgYXV0b3VuZ3JhYmlmeTogZmFsc2UsXG4gICAgYXV0b3Vuc2VsZWN0aWZ5OiBmYWxzZSxcbiAgICBhdXRvUmVmcmVzaExheW91dDogdHJ1ZSxcbiAgICBnZW5lcmF0ZUltYWdlOiB7fSxcbiAgICBpbWFnZURhdGE6IG51bGwsXG4gICAgcmVzcG9uc2l2ZTogZmFsc2UsXG4gICAgY2xlYXJPblVuaG92ZXI6IGZhbHNlLFxuICAgIGVsZW1lbnRzOiBbXSxcbiAgICBjb250ZXh0TWVudTogW10sXG59O1xuXG5leHBvcnQgZGVmYXVsdCBDeXRvc2NhcGU7XG4iXSwibmFtZXMiOlsiUmVhY3QiLCJDb21wb25lbnQiLCJQcm9wVHlwZXMiLCJDeXRvc2NhcGVDb21wb25lbnQiLCJfIiwidjQiLCJ1dWlkdjQiLCJDeVJlc3BvbnNpdmUiLCJjeXRvc2NhcGUiLCJyZXF1aXJlIiwiY29udGV4dE1lbnVzIiwiQ3l0b3NjYXBlIiwiX0NvbXBvbmVudCIsIl9pbmhlcml0cyIsInByb3BzIiwiX3RoaXMiLCJfY2xhc3NDYWxsQ2hlY2siLCJfY2FsbFN1cGVyIiwiaGFuZGxlQ3kiLCJiaW5kIiwiX2Fzc2VydFRoaXNJbml0aWFsaXplZCIsIl9oYW5kbGVDeUNhbGxlZCIsImhhbmRsZUltYWdlR2VuZXJhdGlvbiIsImN5UmVzcG9uc2l2ZUNsYXNzIiwiX2NyZWF0ZUNsYXNzIiwia2V5IiwidmFsdWUiLCJnZW5lcmF0ZU5vZGUiLCJldmVudCIsImVsZSIsInRhcmdldCIsImlzUGFyZW50IiwiaXNDaGlsZGxlc3MiLCJpc0NoaWxkIiwiaXNPcnBoYW4iLCJyZW5kZXJlZFBvc2l0aW9uIiwicmVsYXRpdmVQb3NpdGlvbiIsInBhcmVudCIsInN0eWxlIiwiZWRnZXNEYXRhIiwiY29ubmVjdGVkRWRnZXMiLCJtYXAiLCJkYXRhIiwiY2hpbGRyZW5EYXRhIiwiY2hpbGRyZW4iLCJhbmNlc3RvcnNEYXRhIiwiYW5jZXN0b3JzIiwiZGVzY2VuZGFudHNEYXRhIiwiZGVzY2VuZGFudHMiLCJzaWJsaW5nc0RhdGEiLCJzaWJsaW5ncyIsInRpbWVTdGFtcCIsIl9lbGUkanNvbiIsImpzb24iLCJjbGFzc2VzIiwiZ3JhYmJhYmxlIiwiZ3JvdXAiLCJsb2NrZWQiLCJwb3NpdGlvbiIsInNlbGVjdGVkIiwic2VsZWN0YWJsZSIsInBhcmVudERhdGEiLCJub2RlT2JqZWN0IiwiZ2VuZXJhdGVFZGdlIiwibWlkcG9pbnQiLCJpc0xvb3AiLCJpc1NpbXBsZSIsInNvdXJjZURhdGEiLCJzb3VyY2UiLCJzb3VyY2VFbmRwb2ludCIsInRhcmdldERhdGEiLCJ0YXJnZXRFbmRwb2ludCIsIl9lbGUkanNvbjIiLCJlZGdlT2JqZWN0IiwiY3kiLCJfdGhpczIiLCJfY3kiLCJ3aW5kb3ciLCJTRUxFQ1RfVEhSRVNIT0xEIiwiRVhURU5UX1RIUkVTSE9MRCIsIlVQREFURV9FTEVNRU5UU19USFJFU0hPTEQiLCJSRVNJWkVfVEhSRVNIT0xEIiwic2VsZWN0ZWROb2RlcyIsImNvbGxlY3Rpb24iLCJzZWxlY3RlZEVkZ2VzIiwicmVmcmVzaExheW91dCIsImRlYm91bmNlIiwiX3RoaXMyJHByb3BzIiwiYXV0b1JlZnJlc2hMYXlvdXQiLCJsYXlvdXQiLCJydW4iLCJzZW5kU2VsZWN0ZWROb2Rlc0RhdGEiLCJub2RlRGF0YSIsImVsIiwic2V0UHJvcHMiLCJzZWxlY3RlZE5vZGVEYXRhIiwic2VuZFNlbGVjdGVkRWRnZXNEYXRhIiwiZWRnZURhdGEiLCJzZWxlY3RlZEVkZ2VEYXRhIiwic2V0RXh0ZW50IiwiY3lFeHRlbnQiLCJleHRlbnQiLCJ1cGRhdGVFbGVtZW50cyIsImVsZW1lbnRzIiwiaXRlbSIsInJlc2l6ZSIsIm9yaWdpbmFsTWF4Wm9vbUZuIiwibWF4Wm9vbSIsIm9yaWdpbmFsTWluWm9vbUZuIiwibWluWm9vbSIsImUiLCJjdXJyZW50TWF4Wm9vbSIsImNhbGwiLCJfcHJldmlvdXNNYXhab29tIiwidHJpZ2dlciIsImN1cnJlbnRNaW5ab29tIiwiX3ByZXZpb3VzTWluWm9vbSIsIm9uIiwidGFwTm9kZSIsInRhcE5vZGVEYXRhIiwiT2JqZWN0IiwiYXNzaWduIiwidGFwRWRnZSIsInRhcEVkZ2VEYXRhIiwibW91c2VvdmVyTm9kZURhdGEiLCJtb3VzZW92ZXJFZGdlRGF0YSIsImNsZWFyT25VbmhvdmVyIiwibWVyZ2UiLCJ1bm1lcmdlIiwiem9vbSIsImZpdCIsImNyZWF0ZU1lbnVJdGVtcyIsImN0eE1lbnUiLCJ1cGRhdGVDb250ZXh0TWVudURhdGEiLCJuZXdDb250ZXh0IiwiY29udGV4dE1lbnVEYXRhIiwiY29udGV4dE1lbnVEZWZhdWx0RnVuY3Rpb25zIiwicmVtb3ZlIiwiY3lUYXJnZXQiLCJhZGRfbm9kZSIsInBvcyIsImN5UG9zaXRpb24iLCJhZGQiLCJ4IiwieSIsImFkZF9lZGdlIiwic2VsZWN0ZWROb2RlSWRzIiwibm9kZSIsImlkIiwibGVuZ3RoIiwiY29uc29sZSIsImVycm9yIiwibmV3TWVudUl0ZW1zIiwiX2l0ZXJhdG9yIiwiX2NyZWF0ZUZvck9mSXRlcmF0b3JIZWxwZXIiLCJfc3RlcCIsIl9sb29wIiwib25DbGlja0Z1bmN0aW9uIiwibWVudUl0ZW1JZCIsImVsZW1lbnRJZCIsImVkZ2VTb3VyY2UiLCJlZGdlVGFyZ2V0IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJvbkNsaWNrIiwiY29uY2F0IiwiZGFzaEN5dG9zY2FwZUZ1bmN0aW9ucyIsIm9uQ2xpY2tDdXN0b20iLCJuZXdfaXRlbSIsImNvbnRlbnQiLCJsYWJlbCIsInRvb2x0aXBUZXh0Iiwic2VsZWN0b3IiLCJjb3JlQXNXZWxsIiwiX2l0ZXJhdG9yMiIsImF2YWlsYWJsZU9uIiwiX3N0ZXAyIiwicyIsIm4iLCJkb25lIiwiZXJyIiwiZiIsInB1c2giLCJ0b2dnbGUiLCJyZXNwb25zaXZlIiwiaW1hZ2VUeXBlIiwiaW1hZ2VPcHRpb25zIiwiYWN0aW9uc1RvUGVyZm9ybSIsImZpbGVOYW1lIiwiX3RoaXMzIiwib3B0aW9ucyIsImRlc2lyZWRPdXRwdXQiLCJvdXRwdXQiLCJkb3dubG9hZEltYWdlIiwic3RvcmVJbWFnZSIsInBuZyIsImpwZyIsInN2ZyIsImZOYW1lIiwiZG93bmxvYWRCbG9iIiwiYmxvYiIsIkJsb2IiLCJ0eXBlIiwicmVhZGVyIiwiRmlsZVJlYWRlciIsIm9ubG9hZCIsImNhbGxiYWNrRGF0YSIsInJlc3VsdCIsInJlcGxhY2UiLCJpbWFnZURhdGEiLCJyZWFkQXNEYXRhVVJMIiwiZG93bmxvYWRMaW5rIiwiZG9jdW1lbnQiLCJjcmVhdGVFbGVtZW50IiwiYm9keSIsImFwcGVuZENoaWxkIiwidXJsIiwiVVJMIiwiY3JlYXRlT2JqZWN0VVJMIiwiaHJlZiIsImRvd25sb2FkIiwiY2xpY2siLCJyZXZva2VPYmplY3RVUkwiLCJyZW1vdmVDaGlsZCIsInVwZGF0ZUNvbnRleHRNZW51IiwiY29udGV4dE1lbnUiLCJtZW51SXRlbXMiLCJtZW51SXRlbUNsYXNzZXMiLCJncmFwaE91dE9mVmlldyIsImN5V2lkdGgiLCJ3aWR0aCIsImN5SGVpZ2h0IiwiaGVpZ2h0IiwiZWxCb3giLCJyZW5kZXJlZEJvdW5kaW5nYm94IiwieDEiLCJ5MSIsIngyIiwieTIiLCJjb21wb25lbnREaWRVcGRhdGUiLCJwcmV2UHJvcHMiLCJfdGhpcyRwcm9wcyIsImlzRXF1YWwiLCJjb21wb25lbnREaWRNb3VudCIsInJlbmRlciIsIl90aGlzJHByb3BzMiIsImNsYXNzTmFtZSIsInN0eWxlc2hlZXQiLCJwYW4iLCJwYW5uaW5nRW5hYmxlZCIsInVzZXJQYW5uaW5nRW5hYmxlZCIsInpvb21pbmdFbmFibGVkIiwidXNlclpvb21pbmdFbmFibGVkIiwid2hlZWxTZW5zaXRpdml0eSIsImJveFNlbGVjdGlvbkVuYWJsZWQiLCJhdXRvdW5ncmFiaWZ5IiwiYXV0b2xvY2siLCJhdXRvdW5zZWxlY3RpZnkiLCJnZW5lcmF0ZUltYWdlIiwia2V5cyIsImFjdGlvbiIsImZpbGVuYW1lIiwibm9ybWFsaXplRWxlbWVudHMiLCJwcm9wVHlwZXMiLCJzdHJpbmciLCJvYmplY3QiLCJmdW5jIiwib25lT2ZUeXBlIiwiYXJyYXlPZiIsInNoYXBlIiwibnVtYmVyIiwiYm9vbCIsImV4YWN0Iiwibm9kZXMiLCJhcnJheSIsImVkZ2VzIiwiaXNSZXF1aXJlZCIsIm5hbWUiLCJvbmVPZiIsInBhZGRpbmciLCJhbmltYXRlIiwiYW5pbWF0aW9uRHVyYXRpb24iLCJib3VuZGluZ0JveCIsImRlZmF1bHRQcm9wcyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/lib/components/Cytoscape.react.js\n"); /***/ }), diff --git a/dash_cytoscape/dash_cytoscape.min.js b/dash_cytoscape/dash_cytoscape.min.js index 8aedf0bc..0eaa47fd 100644 --- a/dash_cytoscape/dash_cytoscape.min.js +++ b/dash_cytoscape/dash_cytoscape.min.js @@ -1,2 +1,2 @@ /*! For license information please see dash_cytoscape.min.js.LICENSE.txt */ -(()=>{var e={1686:()=>{!function(){"use strict";var e=function(e,t){var n=function(e){for(var t=0,n=e.length;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(e){throw e},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,s=!0,u=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return s=e.done,e},e:function(e){u=!0,o=e},f:function(){try{s||null==r.return||r.return()}finally{if(u)throw o}}}}var r=!0,i=!1,a="querySelectorAll",o="querySelectorAll",s=self,u=s.document,l=s.Element,c=s.MutationObserver,d=s.Set,h=s.WeakMap,f=function(e){return o in e},p=[].filter,v=function(e){var t=new h,s=function(n,r){var i;if(r)for(var a,o=function(e){return e.matches||e.webkitMatchesSelector||e.msMatchesSelector}(n),s=0,u=g.length;s1&&void 0!==arguments[1])||arguments[1],n=0,r=e.length;n1&&void 0!==arguments[1]?arguments[1]:document,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:MutationObserver,s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:["*"],u=function t(i,o,s,u,l,c){var d,h=n(i);try{for(h.s();!(d=h.n()).done;){var f=d.value;(c||a in f)&&(l?s.has(f)||(s.add(f),u.delete(f),e(f,l)):u.has(f)||(u.add(f),s.delete(f),e(f,l)),c||t(f[a](o),o,s,u,l,r))}}catch(e){h.e(e)}finally{h.f()}},l=new o((function(e){if(s.length){var t,a=s.join(","),o=new Set,l=new Set,c=n(e);try{for(c.s();!(t=c.n()).done;){var d=t.value,h=d.addedNodes,f=d.removedNodes;u(f,a,o,l,i,i),u(h,a,o,l,r,i)}}catch(e){c.e(e)}finally{c.f()}}})),c=l.observe;return(l.observe=function(e){return c.call(l,e,{subtree:r,childList:r})})(t),l}(s,y,c,g),b=l.prototype.attachShadow;return b&&(l.prototype.attachShadow=function(e){var t=b.call(this,e);return m.observe(t),t}),g.length&&v(y[o](g)),{drop:function(e){for(var n=0,r=e.length;n{window.dash_clientside||(window.dash_clientside={});var e=20037508.34;function t(t,n){return[180*t/e,360*Math.atan(Math.exp(-n*Math.PI/e))/Math.PI-90]}window.dash_clientside.cyleaflet={updateLeafBounds:function(e,n,r){var i=e;if(!i){if(!r)return window.dash_clientside.no_update;i=r}var a=t(i.x1,i.y1),o=a[0],s=a[1],u=t(i.x2,i.y2),l=u[0],c=u[1],d=(new Date).getTime(),h=[[c,o],[s,l]];return s===c||o===l?window.dash_clientside.no_update:[d,{bounds:h,options:{animate:!0}},i]},transformElements:function(t){return t.map((function(t){if(Object.prototype.hasOwnProperty.call(t.data,"lat")){var n=(r=t.data.lon,i=t.data.lat,[r*e/180,-Math.log(Math.tan((90+i)*Math.PI/360))*e/Math.PI]);return{data:t.data,position:{y:n[1],x:n[0]}}}var r,i;return t}))},updateLonLat:function(e){return e.length>0?e.map((function(e){if(void 0!==e.position&&Object.prototype.hasOwnProperty.call(e.position,"x")&&0!==e.position.x&&0!==e.position.y){var n=t(e.position.x,e.position.y);return{position:e.position,data:Object.assign({},e.data,{lon:n[0],lat:n[1]})}}return e})):window.dash_clientside.no_update},updateCytoMaxZoom:function(e){var t=e;e.length>=1&&1===(t=e.filter((function(e){return"TileLayer"===e.type}))).length&&(t=t[0]);var n=18;return void 0!==t.props&&Object.prototype.hasOwnProperty.call(t.props,"maxZoom")&&(n=t.props.maxZoom),function(e){return.418*Math.pow(2,e-16)}(n)}}},372:(e,t,n)=>{"use strict";n.d(t,{Z:()=>s});var r=n(8081),i=n.n(r),a=n(3645),o=n.n(a)()(i());o.push([e.id,".cytoscape-reference p {\n display: inline;\n}\n\n.custom-menu-item {\n background-color: rgb(241, 241, 241);\n font-weight: bold !important;\n width: 170px;\n display: inline-block;\n height: 38px;\n padding: 0 30px;\n color: #555;\n text-align: center;\n font-size: 11px;\n font-weight: 600;\n line-height: 38px;\n letter-spacing: 0.1rem;\n text-decoration: none;\n white-space: nowrap;\n border-radius: 4px;\n border: 1px solid #bbb;\n cursor: pointer;\n box-sizing: border-box;\n}\n.custom-menu-item:hover {\n color: rgb(104, 104, 104);\n border-color: rgb(97, 97, 97);\n outline: 0;\n}\n\n.cy-context-menus-cxt-menu {\n display: none;\n}\n",""]);const s=o},3645:e=>{"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var n="",r=void 0!==t[5];return t[4]&&(n+="@supports (".concat(t[4],") {")),t[2]&&(n+="@media ".concat(t[2]," {")),r&&(n+="@layer".concat(t[5].length>0?" ".concat(t[5]):""," {")),n+=e(t),r&&(n+="}"),t[2]&&(n+="}"),t[4]&&(n+="}"),n})).join("")},t.i=function(e,n,r,i,a){"string"==typeof e&&(e=[[null,e,void 0]]);var o={};if(r)for(var s=0;s0?" ".concat(c[5]):""," {").concat(c[1],"}")),c[5]=a),n&&(c[2]?(c[1]="@media ".concat(c[2]," {").concat(c[1],"}"),c[2]=n):c[2]=n),i&&(c[4]?(c[1]="@supports (".concat(c[4],") {").concat(c[1],"}"),c[4]=i):c[4]="".concat(i)),t.push(c))}},t}},8081:e=>{"use strict";e.exports=function(e){return e[1]}},474:e=>{self,e.exports=(()=>{var e={621:(e,t,n)=>{"use strict";function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);nD});var s="cy-context-menus-divider",u={evtType:"cxttap",menuItems:[],menuItemClasses:["cy-context-menus-cxt-menuitem"],contextMenuClasses:["cy-context-menus-cxt-menu"],submenuIndicator:{src:"assets/submenu-indicator-default.svg",width:12,height:12}};function l(e){return(l="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function c(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return d(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?d(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,s=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return o=e.done,e},e:function(e){s=!0,a=e},f:function(){try{o||null==n.return||n.return()}finally{if(s)throw a}}}}function d(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n1&&void 0!==arguments[1]?arguments[1]:void 0;this.hasSubmenu()||this._createSubmenu(),this.submenu.appendMenuItem(e,t)}},{key:"isClickable",value:function(){return void 0!==this.onClickFunction}},{key:"display",value:function(){this.show=!0,this.style.display="block"}},{key:"isVisible",value:function(){return!0===this.show&&"none"!==this.style.display}},{key:"removeSubmenu",value:function(){this.hasSubmenu()&&(this.submenu.removeAllMenuItems(),this.detachSubmenu())}},{key:"detachSubmenu",value:function(){this.hasSubmenu()&&(this.removeChild(this.submenu),this.removeChild(this.indicator),this.removeEventListener("mouseenter",this.mouseEnterHandler),this.removeEventListener("mouseleave",this.mouseLeaveHandler),this.submenu=void 0,this.indicator=void 0)}},{key:"_onMouseEnter",value:function(e){var t=this.getBoundingClientRect(),r=function(e){e.style.opacity="0",e.style.display="block";var t=e.getBoundingClientRect();return e.style.opacity="1",e.style.display="none",t}(this.submenu),i=t.right+r.width>window.innerWidth,a=t.top+r.height>window.innerHeight;i||a?i&&!a?(this.submenu.style.right=this.clientWidth+"px",this.submenu.style.top="0px",this.submenu.style.left="auto",this.submenu.style.bottom="auto"):i&&a?(this.submenu.style.right=this.clientWidth+"px",this.submenu.style.bottom="0px",this.submenu.style.top="auto",this.submenu.style.left="auto"):(this.submenu.style.left=this.clientWidth+"px",this.submenu.style.bottom="0px",this.submenu.style.right="auto",this.submenu.style.top="auto"):(this.submenu.style.left=this.clientWidth+"px",this.submenu.style.top="0px",this.submenu.style.right="auto",this.submenu.style.bottom="auto"),this.submenu.display();var o=Array.from(this.submenu.children).filter((function(e){if(e instanceof n)return e.isVisible()})),u=o.length;o.forEach((function(e,t){e instanceof n&&(t=(a=n.getBoundingClientRect()).left&&r<=a.right&&i>=a.top&&i<=a.bottom||this.submenu.hide()}},{key:"_createSubmenu",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];this.indicator=this.scratchpad.submenuIndicatorGen(),this.submenu=new S(this.onMenuItemClick,this.scratchpad),this.appendChild(this.indicator),this.appendChild(this.submenu);var t,r=c(e);try{for(r.s();!(t=r.n()).done;){var i=new n(t.value,this.onMenuItemClick,this.scratchpad);this.submenu.appendMenuItem(i)}}catch(e){r.e(e)}finally{r.f()}this.mouseEnterHandler=this._onMouseEnter.bind(this),this.mouseLeaveHandler=this._onMouseLeave.bind(this),this.addEventListener("mouseenter",this.mouseEnterHandler),this.addEventListener("mouseleave",this.mouseLeaveHandler)}},{key:"_getMenuItemClassStr",value:function(e,t){return t?e+" "+s:e}}],[{key:"define",value:function(){o("ctx-menu-item",n,"button")}}]),n}(b(HTMLButtonElement)),S=function(e){v(n,e);var t=g(n);function n(e,r){var i,a;return h(this,n),m((i=y(a=t.call(this)),E(n.prototype)),"setAttribute",i).call(i,"class",r.cxtMenuClasses),a.style.position="absolute",a.onMenuItemClick=e,a.scratchpad=r,a}return p(n,[{key:"hide",value:function(){this.isVisible()&&(this.hideSubmenus(),this.style.display="none")}},{key:"display",value:function(){this.style.display="block"}},{key:"isVisible",value:function(){return"none"!==this.style.display}},{key:"hideMenuItems",value:function(){var e,t=c(this.children);try{for(t.s();!(e=t.n()).done;){var n=e.value;n instanceof HTMLElement?n.style.display="none":console.warn("".concat(n," is not a HTMLElement"))}}catch(e){t.e(e)}finally{t.f()}}},{key:"hideSubmenus",value:function(){var e,t=c(this.children);try{for(t.s();!(e=t.n()).done;){var n=e.value;n instanceof C&&n.submenu&&n.submenu.hide()}}catch(e){t.e(e)}finally{t.f()}}},{key:"appendMenuItem",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0;if(void 0!==t){if(t.parentNode!==this)throw new Error("The item with id='".concat(t.id,"' is not a child of the context menu"));this.insertBefore(e,t)}else this.appendChild(e);e.isClickable()&&this._performBindings(e)}},{key:"moveBefore",value:function(e,t){if(e.parentNode!==this)throw new Error("The item with id='".concat(e.id,"' is not a child of context menu"));if(t.parentNode!==this)throw new Error("The item with id='".concat(t.id,"' is not a child of context menu"));this.removeChild(e),this.insertBefore(e,t)}},{key:"removeAllMenuItems",value:function(){for(;this.firstChild;){var e=this.lastChild;e instanceof C?this._removeImmediateMenuItem(e):(console.warn("Found non menu item in the context menu: ",e),this.removeChild(e))}}},{key:"_removeImmediateMenuItem",value:function(e){if(!this._detachImmediateMenuItem(e))throw new Error("menu item(id=".concat(e.id,") is not in the context menu"));e.detachSubmenu(),e.unbindOnClickFunctions()}},{key:"_detachImmediateMenuItem",value:function(e){if(e.parentNode===this){if(this.removeChild(e),this.children.length<=0){var t=this.parentNode;t instanceof C&&t.detachSubmenu()}return!0}return!1}},{key:"_performBindings",value:function(e){var t=this._bindOnClick(e.onClickFunction);e.bindOnClickFunction(t),e.bindOnClickFunction(this.onMenuItemClick)}},{key:"_bindOnClick",value:function(e){var t=this;return function(){var n=t.scratchpad.currentCyEvent;e(n)}}}],[{key:"define",value:function(){o("menu-item-list",n,"div")}}]),n}(b(HTMLDivElement)),P=function(e){v(n,e);var t=g(n);function n(e,r){var i;return h(this,n),(i=t.call(this,e,r)).onMenuItemClick=function(t){k(t),i.hide(),e()},i}return p(n,[{key:"removeMenuItem",value:function(e){var t=e.parentElement;t instanceof S&&this.contains(t)&&t._removeImmediateMenuItem(e)}},{key:"appendMenuItem",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0;this.ensureDoesntContain(e.id),m(E(n.prototype),"appendMenuItem",this).call(this,e,t)}},{key:"insertMenuItem",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.before,r=t.parent;if(this.ensureDoesntContain(e.id),void 0!==n){if(!this.contains(n))throw new Error("before(id=".concat(n.id,") is not in the context menu"));var i=n.parentNode;if(!(i instanceof S))throw new Error("Parent of before(id=".concat(n.id,") is not a submenu"));i.appendMenuItem(e,n)}else if(void 0!==r){if(!this.contains(r))throw new Error("parent(id=".concat(r.id,") is not a descendant of the context menu"));r.appendSubmenuItem(e)}else this.appendMenuItem(e)}},{key:"moveBefore",value:function(e,t){var n=e.parentElement;if(!this.contains(n))throw new Error("parent(id=".concat(n.id,") is not in the contex menu"));if(!this.contains(t))throw new Error("before(id=".concat(t.id,") is not in the context menu"));n.removeChild(e),this.insertMenuItem(e,{before:t})}},{key:"moveToSubmenu",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,r=e.parentElement;if(!(r instanceof S))throw new Error("current parent(id=".concat(r.id,") is not a submenu"));if(!this.contains(r))throw new Error("parent of the menu item(id=".concat(r.id,") is not in the context menu"));if(null!==t){if(!this.contains(t))throw new Error("parent(id=".concat(t.id,") is not in the context menu"));r._detachImmediateMenuItem(e),t.appendSubmenuItem(e)}else null!==n&&(e.selector=n.selector,e.coreAsWell=n.coreAsWell),r._detachImmediateMenuItem(e),this.appendMenuItem(e)}},{key:"ensureDoesntContain",value:function(e){var t=document.getElementById(e);if(void 0!==t&&this.contains(t))throw new Error("There is already an element with id=".concat(e," in the context menu"))}}],[{key:"define",value:function(){o("ctx-menu",n,"div")}}]),n}(S);function T(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n1&&void 0!==arguments[1]?arguments[1]:void 0,n=p(e);if(void 0!==t){var r=g(t);d.insertMenuItem(n,{parent:r})}else d.insertMenuItem(n)},f=function(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,n=0;n0&&(s.top+=h,s.left+=h);var f=r.clientHeight,p=r.clientWidth,v=f/2,g=p/2;u.y>v&&u.x<=g?(d.style.left=u.x+"px",d.style.bottom=f-u.y+"px",d.style.right="auto",d.style.top="auto"):u.y>v&&u.x>g?(d.style.right=p-u.x+"px",d.style.bottom=f-u.y+"px",d.style.left="auto",d.style.top="auto"):u.y<=v&&u.x<=g?(d.style.left=u.x+"px",d.style.top=u.y+"px",d.style.right="auto",d.style.bottom="auto"):(d.style.right=p-u.x+"px",d.style.top=u.y+"px",d.style.left="auto",d.style.bottom="auto")}}(e);var n,r=e.target||e.cyTarget,i=function(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return T(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?T(e,t):void 0}}(e))){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,s=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return o=e.done,e},e:function(e){s=!0,a=e},f:function(){try{o||null==n.return||n.return()}finally{if(s)throw a}}}}(d.children);try{for(i.s();!(n=i.n()).done;){var a=n.value;a instanceof C&&(r===t?a.coreAsWell:r.is(a.selector))&&a.show&&(d.display(),l("anyVisibleChild",!0),a.display())}}catch(e){i.e(e)}finally{i.f()}var u=Array.from(d.children).filter((function(e){if(e instanceof C)return e.isVisible()})),c=u.length;u.forEach((function(e,t){e instanceof C&&(t=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(e){throw e},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,s=!0,u=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return s=e.done,e},e:function(e){u=!0,o=e},f:function(){try{s||null==n.return||n.return()}finally{if(u)throw o}}}}(document.getElementsByClassName("cy-context-menus-cxt-menu"));try{for(t.s();!(e=t.n()).done;)e.value.addEventListener("contextmenu",(function(e){return e.preventDefault()}))}catch(e){t.e(e)}finally{t.f()}}()}return function(e){return{isActive:function(){return o("active")},appendMenuItem:function(t){return h(t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0),e},appendMenuItems:function(t){return f(t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0),e},removeMenuItem:function(t){var n=g(t);return d.removeMenuItem(n),e},setTrailingDivider:function(t,n){var r=g(t);return r.setHasTrailingDivider(n),n?r.classList.add(s):r.classList.remove(s),e},insertBeforeMenuItem:function(t,n){var r=p(t),i=g(n);return d.insertMenuItem(r,{before:i}),e},moveToSubmenu:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=g(t);if(null===n)d.moveToSubmenu(r);else if("string"==typeof n){var i=g(n.toString());d.moveToSubmenu(r,i)}else void 0!==n.coreAsWell||void 0!==n.selector?d.moveToSubmenu(r,null,n):console.warn("options neither has coreAsWell nor selector property but it is an object. Are you sure that this is what you want to do?");return e},moveBeforeOtherMenuItem:function(t,n){var r=g(t),i=g(n);return d.moveBefore(r,i),e},disableMenuItem:function(t){return g(t).disable(),e},enableMenuItem:function(t){return g(t).enable(),e},hideMenuItem:function(t){return g(t).hide(),e},showMenuItem:function(t){return g(t).display(),e},destroy:function(){return v(),e}}}(this)}},579:(e,t,n)=>{var r=n(621).contextMenus,i=function(e){e&&e("core","contextMenus",r)};"undefined"!=typeof cytoscape&&i(cytoscape),e.exports=i}},t={};function n(r){var i=t[r];if(void 0!==i)return i.exports;var a=t[r]={exports:{}};return e[r](a,a.exports,n),a.exports}return n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n(579)})()},9058:(e,t,n)=>{"use strict";var r=n(3279),i=n(4485),a=n(7361),o=n(6968),s=n(84);function u(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var l=u(r),c=u(i),d=u(a),h=u(o),f=u(s);function p(e){return p="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},p(e)}function v(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function g(e,t){for(var n=0;ne.length)&&(t=e.length);for(var n=0,r=new Array(t);nt?1:0},Q=null!=Object.assign?Object.assign.bind(Object):function(e){for(var t=arguments,n=1;n1&&void 0!==arguments[1]?arguments[1]:se;!(t=e.next()).done;)n=65599*n+t.value|0;return n},ce=function(e){return 65599*(arguments.length>1&&void 0!==arguments[1]?arguments[1]:se)+e|0},de=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:ue;return(t<<5)+t+e|0},he=function(e){return 2097152*e[0]+e[1]},fe=function(e,t){return[ce(e[0],t[0]),de(e[1],t[1])]},pe=function(e,t){var n={value:0,done:!1},r=0,i=e.length;return le({next:function(){return r=0&&(e[r]!==t||(e.splice(r,1),!n));r--);},Ae=function(e){e.splice(0,e.length)},ze=function(e,t,n){return n&&(t=Y(n,t)),e[t]},Ne=function(e,t,n,r){n&&(t=Y(n,t)),e[t]=r},Le="undefined"!=typeof Map?Map:function(){function e(){v(this,e),this._obj={}}return y(e,[{key:"set",value:function(e,t){return this._obj[e]=t,this}},{key:"delete",value:function(e){return this._obj[e]=void 0,this}},{key:"clear",value:function(){this._obj={}}},{key:"has",value:function(e){return void 0!==this._obj[e]}},{key:"get",value:function(e){return this._obj[e]}}]),e}(),Re=function(){function e(t){if(v(this,e),this._obj=Object.create(null),this.size=0,null!=t){var n;n=null!=t.instanceString&&t.instanceString()===this.instanceString()?t.toArray():t;for(var r=0;r2&&void 0!==arguments[2])||arguments[2];if(void 0!==e&&void 0!==t&&L(e)){var r=t.group;if(null==r&&(r=t.data&&null!=t.data.source&&null!=t.data.target?"edges":"nodes"),"nodes"===r||"edges"===r){this.length=1,this[0]=this;var i=this._private={cy:e,single:!0,data:t.data||{},position:t.position||{x:0,y:0},autoWidth:void 0,autoHeight:void 0,autoPadding:void 0,compoundBoundsClean:!1,listeners:[],group:r,style:{},rstyle:{},styleCxts:[],styleKeys:{},removed:!0,selected:!!t.selected,selectable:void 0===t.selectable||!!t.selectable,locked:!!t.locked,grabbed:!1,grabbable:void 0===t.grabbable||!!t.grabbable,pannable:void 0===t.pannable?"edges"===r:!!t.pannable,active:!1,classes:new je,animation:{current:[],queue:[]},rscratch:{},scratch:t.scratch||{},edges:[],children:[],parent:t.parent&&t.parent.isNode()?t.parent:null,traversalCache:{},backgrounding:!1,bbCache:null,bbCacheShift:{x:0,y:0},bodyBounds:null,overlayBounds:null,labelBounds:{all:null,source:null,target:null,main:null},arrowBounds:{source:null,target:null,"mid-source":null,"mid-target":null}};if(null==i.position.x&&(i.position.x=0),null==i.position.y&&(i.position.y=0),t.renderedPosition){var a=t.renderedPosition,o=e.pan(),s=e.zoom();i.position={x:(a.x-o.x)/s,y:(a.y-o.y)/s}}var u=[];M(t.classes)?u=t.classes:T(t.classes)&&(u=t.classes.split(/\s+/));for(var l=0,c=u.length;l0;){var _=m.pop(),E=g(_),k=_.id();if(h[k]=E,E!==1/0)for(var C=_.neighborhood().intersect(p),S=0;S0)for(n.unshift(t);d[i];){var a=d[i];n.unshift(a.edge),n.unshift(a.node),i=(r=a.node).id()}return o.spawn(n)}}}},Xe={kruskal:function(e){e=e||function(e){return 1};for(var t=this.byGroup(),n=t.nodes,r=t.edges,i=n.length,a=new Array(i),o=n,s=function(e){for(var t=0;t0;){if(l=(u=g.pop()).id(),y.delete(l),_++,l===h){for(var E=[],k=i,C=h,S=b[C];E.unshift(k),null!=S&&E.unshift(S),null!=(k=m[C]);)S=b[C=k.id()];return{found:!0,distance:f[l],path:this.spawn(E),steps:_}}v[l]=!0;for(var P=u._private.edges,T=0;TS&&(f[C]=S,y[C]=k,m[C]=x),!i){var P=k*l+E;!i&&f[P]>S&&(f[P]=S,y[P]=E,m[P]=x)}}}for(var D=0;D1&&void 0!==arguments[1]?arguments[1]:a,r=[],i=m(e);;){if(null==i)return t.spawn();var o=y(i),u=o.edge,l=o.pred;if(r.unshift(i[0]),i.same(n)&&r.length>0)break;null!=u&&r.unshift(u),i=l}return s.spawn(r)},hasNegativeWeightCycle:p,negativeWeightCycles:v}}},Qe=Math.sqrt(2),Je=function(e,t,n){0===n.length&&Ce("Karger-Stein must be run on a connected (sub)graph");for(var r=n[e],i=r[1],a=r[2],o=t[i],s=t[a],u=n,l=u.length-1;l>=0;l--){var c=u[l],d=c[1],h=c[2];(t[d]===o&&t[h]===s||t[d]===s&&t[h]===o)&&u.splice(l,1)}for(var f=0;fr;){var i=Math.floor(Math.random()*t.length);t=Je(i,e,t),n--}return t},tt={kargerStein:function(){var e=this,t=this.byGroup(),n=t.nodes,r=t.edges;r.unmergeBy((function(e){return e.isLoop()}));var i=n.length,a=r.length,o=Math.ceil(Math.pow(Math.log(i)/Math.LN2,2)),s=Math.floor(i/Qe);if(!(i<2)){for(var u=[],l=0;l0?1:e<0?-1:0},ut=function(e,t){return Math.sqrt(lt(e,t))},lt=function(e,t){var n=t.x-e.x,r=t.y-e.y;return n*n+r*r},ct=function(e){for(var t=e.length,n=0,r=0;r=e.x1&&e.y2>=e.y1)return{x1:e.x1,y1:e.y1,x2:e.x2,y2:e.y2,w:e.x2-e.x1,h:e.y2-e.y1};if(null!=e.w&&null!=e.h&&e.w>=0&&e.h>=0)return{x1:e.x1,y1:e.y1,x2:e.x1+e.w,y2:e.y1+e.h,w:e.w,h:e.h}}},vt=function(e,t){e.x1=Math.min(e.x1,t.x1),e.x2=Math.max(e.x2,t.x2),e.w=e.x2-e.x1,e.y1=Math.min(e.y1,t.y1),e.y2=Math.max(e.y2,t.y2),e.h=e.y2-e.y1},gt=function(e,t,n){e.x1=Math.min(e.x1,t),e.x2=Math.max(e.x2,t),e.w=e.x2-e.x1,e.y1=Math.min(e.y1,n),e.y2=Math.max(e.y2,n),e.h=e.y2-e.y1},yt=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return e.x1-=t,e.x2+=t,e.y1-=t,e.y2+=t,e.w=e.x2-e.x1,e.h=e.y2-e.y1,e},mt=function(e){var t,n,r,i,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[0];if(1===a.length)t=n=r=i=a[0];else if(2===a.length)t=r=a[0],i=n=a[1];else if(4===a.length){var o=b(a,4);t=o[0],n=o[1],r=o[2],i=o[3]}return e.x1-=i,e.x2+=n,e.y1-=t,e.y2+=r,e.w=e.x2-e.x1,e.h=e.y2-e.y1,e},bt=function(e,t){e.x1=t.x1,e.y1=t.y1,e.x2=t.x2,e.y2=t.y2,e.w=e.x2-e.x1,e.h=e.y2-e.y1},xt=function(e,t){return!(e.x1>t.x2||t.x1>e.x2||e.x2t.y2||t.y1>e.y2)},wt=function(e,t,n){return e.x1<=t&&t<=e.x2&&e.y1<=n&&n<=e.y2},_t=function(e,t){return wt(e,t.x1,t.y1)&&wt(e,t.x2,t.y2)},Et=function(e,t,n,r,i,a,o){var s,u=Ft(i,a),l=i/2,c=a/2,d=r-c-o;if((s=zt(e,t,n,r,n-l+u-o,d,n+l-u+o,d,!1)).length>0)return s;var h=n+l+o;if((s=zt(e,t,n,r,h,r-c+u-o,h,r+c-u+o,!1)).length>0)return s;var f=r+c+o;if((s=zt(e,t,n,r,n-l+u-o,f,n+l-u+o,f,!1)).length>0)return s;var p,v=n-l-o;if((s=zt(e,t,n,r,v,r-c+u-o,v,r+c-u+o,!1)).length>0)return s;var g=n-l+u,y=r-c+u;if((p=Ot(e,t,n,r,g,y,u+o)).length>0&&p[0]<=g&&p[1]<=y)return[p[0],p[1]];var m=n+l-u,b=r-c+u;if((p=Ot(e,t,n,r,m,b,u+o)).length>0&&p[0]>=m&&p[1]<=b)return[p[0],p[1]];var x=n+l-u,w=r+c-u;if((p=Ot(e,t,n,r,x,w,u+o)).length>0&&p[0]>=x&&p[1]>=w)return[p[0],p[1]];var _=n-l+u,E=r+c-u;return(p=Ot(e,t,n,r,_,E,u+o)).length>0&&p[0]<=_&&p[1]>=E?[p[0],p[1]]:[]},kt=function(e,t,n,r,i,a,o){var s=o,u=Math.min(n,i),l=Math.max(n,i),c=Math.min(r,a),d=Math.max(r,a);return u-s<=e&&e<=l+s&&c-s<=t&&t<=d+s},Ct=function(e,t,n,r,i,a,o,s,u){var l=Math.min(n,o,i)-u,c=Math.max(n,o,i)+u,d=Math.min(r,s,a)-u,h=Math.max(r,s,a)+u;return!(ec||th)},St=function(e,t,n,r,i,a,o,s){var u,l,c,d,h,f,p,v,g,y,m,b,x,w=[];l=9*n*i-3*n*n-3*n*o-6*i*i+3*i*o+9*r*a-3*r*r-3*r*s-6*a*a+3*a*s,c=3*n*n-6*n*i+n*o-n*e+2*i*i+2*i*e-o*e+3*r*r-6*r*a+r*s-r*t+2*a*a+2*a*t-s*t,d=1*n*i-n*n+n*e-i*e+r*a-r*r+r*t-a*t,0===(u=1*n*n-4*n*i+2*n*o+4*i*i-4*i*o+o*o+r*r-4*r*a+2*r*s+4*a*a-4*a*s+s*s)&&(u=1e-5),v=-27*(d/=u)+(l/=u)*(9*(c/=u)-l*l*2),f=(p=(3*c-l*l)/9)*p*p+(v/=54)*v,(h=w)[1]=0,b=l/3,f>0?(y=(y=v+Math.sqrt(f))<0?-Math.pow(-y,1/3):Math.pow(y,1/3),m=(m=v-Math.sqrt(f))<0?-Math.pow(-m,1/3):Math.pow(m,1/3),h[0]=-b+y+m,b+=(y+m)/2,h[4]=h[2]=-b,b=Math.sqrt(3)*(-m+y)/2,h[3]=b,h[5]=-b):(h[5]=h[3]=0,0===f?(x=v<0?-Math.pow(-v,1/3):Math.pow(v,1/3),h[0]=2*x-b,h[4]=h[2]=-(x+b)):(g=(p=-p)*p*p,g=Math.acos(v/Math.sqrt(g)),x=2*Math.sqrt(p),h[0]=-b+x*Math.cos(g/3),h[2]=-b+x*Math.cos((g+2*Math.PI)/3),h[4]=-b+x*Math.cos((g+4*Math.PI)/3)));for(var _=[],E=0;E<6;E+=2)Math.abs(w[E+1])<1e-7&&w[E]>=0&&w[E]<=1&&_.push(w[E]);_.push(1),_.push(0);for(var k,C,S,P=-1,T=0;T<_.length;T++)k=Math.pow(1-_[T],2)*n+2*(1-_[T])*_[T]*i+_[T]*_[T]*o,C=Math.pow(1-_[T],2)*r+2*(1-_[T])*_[T]*a+_[T]*_[T]*s,S=Math.pow(k-e,2)+Math.pow(C-t,2),P>=0?Su?(e-i)*(e-i)+(t-a)*(t-a):l-d},Tt=function(e,t,n){for(var r,i,a,o,s=0,u=0;u=e&&e>=a||r<=e&&e<=a))continue;(e-r)/(a-r)*(o-i)+i>t&&s++}return s%2!=0},Dt=function(e,t,n,r,i,a,o,s,u){var l,c=new Array(n.length);null!=s[0]?(l=Math.atan(s[1]/s[0]),s[0]<0?l+=Math.PI/2:l=-l-Math.PI/2):l=s;for(var d,h=Math.cos(-l),f=Math.sin(-l),p=0;p0){var v=Bt(c,-u);d=Mt(v)}else d=c;return Tt(e,t,d)},Mt=function(e){for(var t,n,r,i,a,o,s,u,l=new Array(e.length/2),c=0;c=0&&p<=1&&g.push(p),v>=0&&v<=1&&g.push(v),0===g.length)return[];var y=g[0]*s[0]+e,m=g[0]*s[1]+t;return g.length>1?g[0]==g[1]?[y,m]:[y,m,g[1]*s[0]+e,g[1]*s[1]+t]:[y,m]},At=function(e,t,n){return t<=e&&e<=n||n<=e&&e<=t?e:e<=t&&t<=n||n<=t&&t<=e?t:n},zt=function(e,t,n,r,i,a,o,s,u){var l=e-i,c=n-e,d=o-i,h=t-a,f=r-t,p=s-a,v=d*h-p*l,g=c*h-f*l,y=p*c-d*f;if(0!==y){var m=v/y,b=g/y,x=-.001;return x<=m&&m<=1.001&&x<=b&&b<=1.001||u?[e+m*c,t+m*f]:[]}return 0===v||0===g?At(e,n,o)===o?[o,s]:At(e,n,i)===i?[i,a]:At(i,o,n)===n?[n,r]:[]:[]},Nt=function(e,t,n,r,i,a,o,s){var u,l,c,d,h,f,p=[],v=new Array(n.length),g=!0;if(null==a&&(g=!1),g){for(var y=0;y0){var m=Bt(v,-s);l=Mt(m)}else l=v}else l=n;for(var b=0;bl&&(l=t)},h=function(e){return u[e]},f=0;f0?w.edgesTo(x)[0]:x.edgesTo(w)[0];var _=r(b);x=x.id(),f[x]>f[y]+_&&(f[x]=f[y]+_,p.nodes.indexOf(x)<0?p.push(x):p.updateItem(x),l[x]=0,u[x]=[]),f[x]==f[y]+_&&(l[x]=l[x]+l[y],u[x].push(y))}else for(var E=0;E0;){for(var P=n.pop(),T=0;T0&&o.push(n[s]);0!==o.length&&i.push(r.collection(o))}return i}(c,u,t,r);return b=function(e){for(var t=0;t5&&void 0!==arguments[5]?arguments[5]:ln,o=r,s=0;s=2?vn(e,t,n,0,hn,fn):vn(e,t,n,0,dn)},squaredEuclidean:function(e,t,n){return vn(e,t,n,0,hn)},manhattan:function(e,t,n){return vn(e,t,n,0,dn)},max:function(e,t,n){return vn(e,t,n,-1/0,pn)}};function yn(e,t,n,r,i,a){var o;return o=D(e)?e:gn[e]||gn.euclidean,0===t&&D(e)?o(i,a):o(t,n,r,i,a)}gn["squared-euclidean"]=gn.squaredEuclidean,gn.squaredeuclidean=gn.squaredEuclidean;var mn=Ie({k:2,m:2,sensitivityThreshold:1e-4,distance:"euclidean",maxIterations:10,attributes:[],testMode:!1,testCentroids:null}),bn=function(e){return mn(e)},xn=function(e,t,n,r,i){var a="kMedoids"!==i?function(e){return n[e]}:function(e){return r[e](n)},o=n,s=t;return yn(e,r.length,a,(function(e){return r[e](t)}),o,s)},wn=function(e,t,n){for(var r=n.length,i=new Array(r),a=new Array(r),o=new Array(t),s=null,u=0;un)return!1;return!0},Cn=function(e,t,n){for(var r=0;ri&&(i=t[u][l],a=l);o[a].push(e[u])}for(var c=0;c=i.threshold||"dendrogram"===i.mode&&1===e.length)return!1;var f,p=t[o],v=t[r[o]];f="dendrogram"===i.mode?{left:p,right:v,key:p.key}:{value:p.value.concat(v.value),key:p.key},e[p.index]=f,e.splice(v.index,1),t[p.key]=f;for(var g=0;gn[v.key][y.key]&&(a=n[v.key][y.key])):"max"===i.linkage?(a=n[p.key][y.key],n[p.key][y.key]o&&(a=u,o=t[i*e+u])}a>0&&r.push(a)}for(var l=0;l1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.length,r=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],i=!(arguments.length>5&&void 0!==arguments[5])||arguments[5];arguments.length>3&&void 0!==arguments[3]&&!arguments[3]?(n0&&e.splice(0,t)):e=e.slice(t,n);for(var a=0,o=e.length-1;o>=0;o--){var s=e[o];i?isFinite(s)||(e[o]=-1/0,a++):e.splice(o,1)}r&&e.sort((function(e,t){return e-t}));var u=e.length,l=Math.floor(u/2);return u%2!=0?e[l+1+a]:(e[l-1+a]+e[l+a])/2}(e):"mean"===t?function(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.length,r=0,i=0,a=t;a1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.length,r=1/0,i=t;i1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.length,r=-1/0,i=t;i=S?(P=S,S=D,T=M):D>P&&(P=D);for(var B=0;B0?1:0;E[_%l.minIterations*t+R]=j,L+=j}if(L>0&&(_>=l.minIterations-1||_==l.maxIterations-1)){for(var V=0,F=0;F0&&r.push(i);return r}(t,a,o),Y=function(e,t,n){for(var r=qn(e,t,n),i=0;iu&&(s=l,u=c)}n[i]=a[s]}return qn(e,t,n)}(t,r,W),X={},H=0;H1)}}));var u=Object.keys(t).filter((function(e){return t[e].cutVertex})).map((function(t){return e.getElementById(t)}));return{cut:e.spawn(u),components:i}},Un=function(){var e=this,t={},n=0,r=[],i=[],a=e.spawn(e),o=function o(s){if(i.push(s),t[s]={index:n,low:n++,explored:!1},e.getElementById(s).connectedEdges().intersection(e).forEach((function(e){var n=e.target().id();n!==s&&(n in t||o(n),t[n].explored||(t[s].low=Math.min(t[s].low,t[n].low)))})),t[s].index===t[s].low){for(var u=e.spawn();;){var l=i.pop();if(u.merge(e.getElementById(l)),t[l].low=t[s].index,t[l].explored=!0,l===s)break}var c=u.edgesWith(u),d=u.merge(c);r.push(d),a=a.difference(d)}};return e.forEach((function(e){if(e.isNode()){var n=e.id();n in t||o(n)}})),{cut:a,components:r}},Zn={};[qe,Ye,Xe,Ue,Ke,$e,tt,Xt,Ut,Kt,$t,un,Bn,jn,Yn,{hierholzer:function(e){if(!B(e)){var t=arguments;e={root:t[0],directed:t[1]}}var n,r,i,a=Xn(e),o=a.root,s=a.directed,u=this,l=!1;o&&(i=T(o)?this.filter(o)[0].id():o[0].id());var c={},d={};s?u.forEach((function(e){var t=e.id();if(e.isNode()){var i=e.indegree(!0),a=e.outdegree(!0),o=i-a,s=a-i;1==o?n?l=!0:n=t:1==s?r?l=!0:r=t:(s>1||o>1)&&(l=!0),c[t]=[],e.outgoers().forEach((function(e){e.isEdge()&&c[t].push(e.id())}))}else d[t]=[void 0,e.target().id()]})):u.forEach((function(e){var t=e.id();e.isNode()?(e.degree(!0)%2&&(n?r?l=!0:r=t:n=t),c[t]=[],e.connectedEdges().forEach((function(e){return c[t].push(e.id())}))):d[t]=[e.source().id(),e.target().id()]}));var h={found:!1,trail:void 0};if(l)return h;if(r&&n)if(s){if(i&&r!=i)return h;i=r}else{if(i&&r!=i&&n!=i)return h;i||(i=r)}else i||(i=u[0].id());var f=function(e){for(var t,n,r,i=e,a=[e];c[i].length;)t=c[i].shift(),n=d[t][0],i!=(r=d[t][1])?(c[r]=c[r].filter((function(e){return e!=t})),i=r):s||i==n||(c[n]=c[n].filter((function(e){return e!=t})),i=n),a.unshift(t),a.unshift(i);return a},p=[],v=[];for(v=f(i);1!=v.length;)0==c[v[0]].length?(p.unshift(u.getElementById(v.shift())),p.unshift(u.getElementById(v.shift()))):v=f(v.shift()).concat(v);for(var g in p.unshift(u.getElementById(v.shift())),c)if(c[g].length)return h;return h.found=!0,h.trail=this.spawn(p,!0),h}},{hopcroftTarjanBiconnected:Hn,htbc:Hn,htb:Hn,hopcroftTarjanBiconnectedComponents:Hn},{tarjanStronglyConnected:Un,tsc:Un,tscc:Un,tarjanStronglyConnectedComponents:Un}].forEach((function(e){Q(Zn,e)}));var Kn=function e(t){if(!(this instanceof e))return new e(t);this.id="Thenable/1.0.7",this.state=0,this.fulfillValue=void 0,this.rejectReason=void 0,this.onFulfilled=[],this.onRejected=[],this.proxy={then:this.then.bind(this)},"function"==typeof t&&t.call(this,this.fulfill.bind(this),this.reject.bind(this))};Kn.prototype={fulfill:function(e){return Gn(this,1,"fulfillValue",e)},reject:function(e){return Gn(this,2,"rejectReason",e)},then:function(e,t){var n=this,r=new Kn;return n.onFulfilled.push(Jn(e,r,"fulfill")),n.onRejected.push(Jn(t,r,"reject")),$n(n),r.proxy}};var Gn=function(e,t,n,r){return 0===e.state&&(e.state=t,e[n]=r,$n(e)),e},$n=function(e){1===e.state?Qn(e,"onFulfilled",e.fulfillValue):2===e.state&&Qn(e,"onRejected",e.rejectReason)},Qn=function(e,t,n){if(0!==e[t].length){var r=e[t];e[t]=[];var i=function(){for(var e=0;e0:void 0}},clearQueue:function(){return function(){var e=this,t=void 0!==e.length?e:[e];if(!(this._private.cy||this).styleEnabled())return this;for(var n=0;n0&&this.spawn(r).updateStyle().emit("class"),t},addClass:function(e){return this.toggleClass(e,!0)},hasClass:function(e){var t=this[0];return null!=t&&t._private.classes.has(e)},toggleClass:function(e,t){M(e)||(e=e.match(/\S+/g)||[]);for(var n=this,r=void 0===t,i=[],a=0,o=n.length;a0&&this.spawn(i).updateStyle().emit("class"),n},removeClass:function(e){return this.toggleClass(e,!1)},flashClass:function(e,t){var n=this;if(null==t)t=250;else if(0===t)return n;return n.addClass(e),setTimeout((function(){n.removeClass(e)}),t),n}};lr.className=lr.classNames=lr.classes;var cr={metaChar:"[\\!\\\"\\#\\$\\%\\&\\'\\(\\)\\*\\+\\,\\.\\/\\:\\;\\<\\=\\>\\?\\@\\[\\]\\^\\`\\{\\|\\}\\~]",comparatorOp:"=|\\!=|>|>=|<|<=|\\$=|\\^=|\\*=",boolOp:"\\?|\\!|\\^",string:"\"(?:\\\\\"|[^\"])*\"|'(?:\\\\'|[^'])*'",number:H,meta:"degree|indegree|outdegree",separator:"\\s*,\\s*",descendant:"\\s+",child:"\\s+>\\s+",subject:"\\$",group:"node|edge|\\*",directedEdge:"\\s+->\\s+",undirectedEdge:"\\s+<->\\s+"};cr.variable="(?:[\\w-.]|(?:\\\\"+cr.metaChar+"))+",cr.className="(?:[\\w-]|(?:\\\\"+cr.metaChar+"))+",cr.value=cr.string+"|"+cr.number,cr.id=cr.variable,function(){var e,t,n;for(e=cr.comparatorOp.split("|"),n=0;n=0||"="!==t&&(cr.comparatorOp+="|\\!"+t)}();var dr=20,hr=[{selector:":selected",matches:function(e){return e.selected()}},{selector:":unselected",matches:function(e){return!e.selected()}},{selector:":selectable",matches:function(e){return e.selectable()}},{selector:":unselectable",matches:function(e){return!e.selectable()}},{selector:":locked",matches:function(e){return e.locked()}},{selector:":unlocked",matches:function(e){return!e.locked()}},{selector:":visible",matches:function(e){return e.visible()}},{selector:":hidden",matches:function(e){return!e.visible()}},{selector:":transparent",matches:function(e){return e.transparent()}},{selector:":grabbed",matches:function(e){return e.grabbed()}},{selector:":free",matches:function(e){return!e.grabbed()}},{selector:":removed",matches:function(e){return e.removed()}},{selector:":inside",matches:function(e){return!e.removed()}},{selector:":grabbable",matches:function(e){return e.grabbable()}},{selector:":ungrabbable",matches:function(e){return!e.grabbable()}},{selector:":animated",matches:function(e){return e.animated()}},{selector:":unanimated",matches:function(e){return!e.animated()}},{selector:":parent",matches:function(e){return e.isParent()}},{selector:":childless",matches:function(e){return e.isChildless()}},{selector:":child",matches:function(e){return e.isChild()}},{selector:":orphan",matches:function(e){return e.isOrphan()}},{selector:":nonorphan",matches:function(e){return e.isChild()}},{selector:":compound",matches:function(e){return e.isNode()?e.isParent():e.source().isParent()||e.target().isParent()}},{selector:":loop",matches:function(e){return e.isLoop()}},{selector:":simple",matches:function(e){return e.isSimple()}},{selector:":active",matches:function(e){return e.active()}},{selector:":inactive",matches:function(e){return!e.active()}},{selector:":backgrounding",matches:function(e){return e.backgrounding()}},{selector:":nonbackgrounding",matches:function(e){return!e.backgrounding()}}].sort((function(e,t){return function(e,t){return-1*$(e,t)}(e.selector,t.selector)})),fr=function(){for(var e,t={},n=0;n0&&l.edgeCount>0)return Pe("The selector `"+e+"` is invalid because it uses both a compound selector and an edge selector"),!1;if(l.edgeCount>1)return Pe("The selector `"+e+"` is invalid because it uses multiple edge selectors"),!1;1===l.edgeCount&&Pe("The selector `"+e+"` is deprecated. Edge selectors do not take effect on changes to source and target nodes after an edge is added, for performance reasons. Use a class or data selector on edges instead, updating the class or data of an edge when your app detects a change in source or target nodes.")}return!0},toString:function(){if(null!=this.toStringCache)return this.toStringCache;for(var e=function(e){return null==e?"":e},t=function(t){return T(t)?'"'+t+'"':e(t)},n=function(e){return" "+e+" "},r=function(i,a){return i.checks.reduce((function(o,s,u){return o+(a===i&&0===u?"$":"")+function(i,a){var o=i.type,s=i.value;switch(o){case 0:var u=e(s);return u.substring(0,u.length-1);case 3:var l=i.field,c=i.operator;return"["+l+n(e(c))+t(s)+"]";case 5:var d=i.operator,h=i.field;return"["+e(d)+h+"]";case 4:return"["+i.field+"]";case 6:var f=i.operator;return"[["+i.field+n(e(f))+t(s)+"]]";case 7:return s;case 8:return"#"+s;case 9:return"."+s;case 17:case 15:return r(i.parent,a)+n(">")+r(i.child,a);case 18:case 16:return r(i.ancestor,a)+" "+r(i.descendant,a);case 19:var p=r(i.left,a),v=r(i.subject,a),g=r(i.right,a);return p+(p.length>0?" ":"")+v+g;case dr:return""}}(s,a)}),"")},i="",a=0;a1&&a=0&&(t=t.replace("!",""),c=!0),t.indexOf("@")>=0&&(t=t.replace("@",""),l=!0),(o||u||l)&&(i=o||s?""+e:"",a=""+n),l&&(e=i=i.toLowerCase(),n=a=a.toLowerCase()),t){case"*=":r=i.indexOf(a)>=0;break;case"$=":r=i.indexOf(a,i.length-a.length)>=0;break;case"^=":r=0===i.indexOf(a);break;case"=":r=e===n;break;case">":d=!0,r=e>n;break;case">=":d=!0,r=e>=n;break;case"<":d=!0,r=e0;){var l=i.shift();t(l),a.add(l.id()),o&&r(i,a,l)}return e}function Or(e,t,n){if(n.isParent())for(var r=n._private.children,i=0;i1&&void 0!==arguments[1])||arguments[1],Or)},Br.forEachUp=function(e){return Ir(this,e,!(arguments.length>1&&void 0!==arguments[1])||arguments[1],Ar)},Br.forEachUpAndDown=function(e){return Ir(this,e,!(arguments.length>1&&void 0!==arguments[1])||arguments[1],zr)},Br.ancestors=Br.parents,(Tr=Dr={data:sr.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),removeData:sr.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),scratch:sr.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:sr.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),rscratch:sr.data({field:"rscratch",allowBinding:!1,allowSetting:!0,settingTriggersEvent:!1,allowGetting:!0}),removeRscratch:sr.removeData({field:"rscratch",triggerEvent:!1}),id:function(){var e=this[0];if(e)return e._private.data.id}}).attr=Tr.data,Tr.removeAttr=Tr.removeData;var Nr,Lr,Rr=Dr,jr={};function Vr(e){return function(t){var n=this;if(void 0===t&&(t=!0),0!==n.length&&n.isNode()&&!n.removed()){for(var r=0,i=n[0],a=i._private.edges,o=0;ot})),minIndegree:Fr("indegree",(function(e,t){return et})),minOutdegree:Fr("outdegree",(function(e,t){return et}))}),Q(jr,{totalDegree:function(e){for(var t=0,n=this.nodes(),r=0;r0,c=l;l&&(u=u[0]);var d=c?u.position():{x:0,y:0};return i={x:s.x-d.x,y:s.y-d.y},void 0===e?i:i[e]}for(var h=0;h0,g=v;v&&(p=p[0]);var y=g?p.position():{x:0,y:0};void 0!==t?f.position(e,t+y[e]):void 0!==i&&f.position({x:i.x+y.x,y:i.y+y.y})}}else if(!a)return;return this}},Nr.modelPosition=Nr.point=Nr.position,Nr.modelPositions=Nr.points=Nr.positions,Nr.renderedPoint=Nr.renderedPosition,Nr.relativePoint=Nr.relativePosition;var Yr,Xr,Hr=Lr;Yr=Xr={},Xr.renderedBoundingBox=function(e){var t=this.boundingBox(e),n=this.cy(),r=n.zoom(),i=n.pan(),a=t.x1*r+i.x,o=t.x2*r+i.x,s=t.y1*r+i.y,u=t.y2*r+i.y;return{x1:a,x2:o,y1:s,y2:u,w:o-a,h:u-s}},Xr.dirtyCompoundBoundsCache=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=this.cy();return t.styleEnabled()&&t.hasCompoundNodes()?(this.forEachUp((function(t){if(t.isParent()){var n=t._private;n.compoundBoundsClean=!1,n.bbCache=null,e||t.emitAndNotify("bounds")}})),this):this},Xr.updateCompoundBounds=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=this.cy();if(!t.styleEnabled()||!t.hasCompoundNodes())return this;if(!e&&t.batching())return this;function n(e){if(e.isParent()){var t=e._private,n=e.children(),r="include"===e.pstyle("compound-sizing-wrt-labels").value,i={width:{val:e.pstyle("min-width").pfValue,left:e.pstyle("min-width-bias-left"),right:e.pstyle("min-width-bias-right")},height:{val:e.pstyle("min-height").pfValue,top:e.pstyle("min-height-bias-top"),bottom:e.pstyle("min-height-bias-bottom")}},a=n.boundingBox({includeLabels:r,includeOverlays:!1,useCache:!1}),o=t.position;0!==a.w&&0!==a.h||((a={w:e.pstyle("width").pfValue,h:e.pstyle("height").pfValue}).x1=o.x-a.w/2,a.x2=o.x+a.w/2,a.y1=o.y-a.h/2,a.y2=o.y+a.h/2);var s=i.width.left.value;"px"===i.width.left.units&&i.width.val>0&&(s=100*s/i.width.val);var u=i.width.right.value;"px"===i.width.right.units&&i.width.val>0&&(u=100*u/i.width.val);var l=i.height.top.value;"px"===i.height.top.units&&i.height.val>0&&(l=100*l/i.height.val);var c=i.height.bottom.value;"px"===i.height.bottom.units&&i.height.val>0&&(c=100*c/i.height.val);var d=y(i.width.val-a.w,s,u),h=d.biasDiff,f=d.biasComplementDiff,p=y(i.height.val-a.h,l,c),v=p.biasDiff,g=p.biasComplementDiff;t.autoPadding=function(e,t,n,r){if("%"!==n.units)return"px"===n.units?n.pfValue:0;switch(r){case"width":return e>0?n.pfValue*e:0;case"height":return t>0?n.pfValue*t:0;case"average":return e>0&&t>0?n.pfValue*(e+t)/2:0;case"min":return e>0&&t>0?e>t?n.pfValue*t:n.pfValue*e:0;case"max":return e>0&&t>0?e>t?n.pfValue*e:n.pfValue*t:0;default:return 0}}(a.w,a.h,e.pstyle("padding"),e.pstyle("padding-relative-to").value),t.autoWidth=Math.max(a.w,i.width.val),o.x=(-h+a.x1+a.x2+f)/2,t.autoHeight=Math.max(a.h,i.height.val),o.y=(-v+a.y1+a.y2+g)/2}function y(e,t,n){var r=0,i=0,a=t+n;return e>0&&a>0&&(r=t/a*e,i=n/a*e),{biasDiff:r,biasComplementDiff:i}}}for(var r=0;re.x2?r:e.x2,e.y1=ne.y2?i:e.y2,e.w=e.x2-e.x1,e.h=e.y2-e.y1)},Kr=function(e,t){return null==t?e:Zr(e,t.x1,t.y1,t.x2,t.y2)},Gr=function(e,t,n){return ze(e,t,n)},$r=function(e,t,n){if(!t.cy().headless()){var r,i,a=t._private,o=a.rstyle,s=o.arrowWidth/2;if("none"!==t.pstyle(n+"-arrow-shape").value){"source"===n?(r=o.srcX,i=o.srcY):"target"===n?(r=o.tgtX,i=o.tgtY):(r=o.midX,i=o.midY);var u=a.arrowBounds=a.arrowBounds||{},l=u[n]=u[n]||{};l.x1=r-s,l.y1=i-s,l.x2=r+s,l.y2=i+s,l.w=l.x2-l.x1,l.h=l.y2-l.y1,yt(l,1),Zr(e,l.x1,l.y1,l.x2,l.y2)}}},Qr=function(e,t,n){if(!t.cy().headless()){var r;r=n?n+"-":"";var i=t._private,a=i.rstyle;if(t.pstyle(r+"label").strValue){var o,s,u,l,c=t.pstyle("text-halign"),d=t.pstyle("text-valign"),h=Gr(a,"labelWidth",n),f=Gr(a,"labelHeight",n),p=Gr(a,"labelX",n),v=Gr(a,"labelY",n),g=t.pstyle(r+"text-margin-x").pfValue,y=t.pstyle(r+"text-margin-y").pfValue,m=t.isEdge(),b=t.pstyle(r+"text-rotation"),x=t.pstyle("text-outline-width").pfValue,w=t.pstyle("text-border-width").pfValue/2,_=t.pstyle("text-background-padding").pfValue,E=f,k=h,C=k/2,S=E/2;if(m)o=p-C,s=p+C,u=v-S,l=v+S;else{switch(c.value){case"left":o=p-k,s=p;break;case"center":o=p-C,s=p+C;break;case"right":o=p,s=p+k}switch(d.value){case"top":u=v-E,l=v;break;case"center":u=v-S,l=v+S;break;case"bottom":u=v,l=v+E}}o+=g-Math.max(x,w)-_-2,s+=g+Math.max(x,w)+_+2,u+=y-Math.max(x,w)-_-2,l+=y+Math.max(x,w)+_+2;var P=n||"main",T=i.labelBounds,D=T[P]=T[P]||{};D.x1=o,D.y1=u,D.x2=s,D.y2=l,D.w=s-o,D.h=l-u;var M=m&&"autorotate"===b.strValue,B=null!=b.pfValue&&0!==b.pfValue;if(M||B){var I=M?Gr(i.rstyle,"labelAngle",n):b.pfValue,O=Math.cos(I),A=Math.sin(I),z=(o+s)/2,N=(u+l)/2;if(!m){switch(c.value){case"left":z=s;break;case"right":z=o}switch(d.value){case"top":N=l;break;case"bottom":N=u}}var L=function(e,t){return{x:(e-=z)*O-(t-=N)*A+z,y:e*A+t*O+N}},R=L(o,u),j=L(o,l),V=L(s,u),F=L(s,l);o=Math.min(R.x,j.x,V.x,F.x),s=Math.max(R.x,j.x,V.x,F.x),u=Math.min(R.y,j.y,V.y,F.y),l=Math.max(R.y,j.y,V.y,F.y)}var q=P+"Rot",W=T[q]=T[q]||{};W.x1=o,W.y1=u,W.x2=s,W.y2=l,W.w=s-o,W.h=l-u,Zr(e,o,u,s,l),Zr(i.labelBounds.all,o,u,s,l)}return e}},Jr=function(e){var t=0,n=function(e){return(e?1:0)<0&&a>0){var o=t.pstyle("outline-offset").value,s=t.pstyle("shape").value,u=a+o,l=(e.w+2*u)/e.w,c=(e.h+2*u)/e.h,d=0;["diamond","pentagon","round-triangle"].includes(s)?(l=(e.w+2.4*u)/e.w,d=-u/3.6):["concave-hexagon","rhomboid","right-rhomboid"].includes(s)?l=(e.w+2.4*u)/e.w:"star"===s?(l=(e.w+2.8*u)/e.w,c=(e.h+2.6*u)/e.h,d=-u/3.8):"triangle"===s?(l=(e.w+2.8*u)/e.w,c=(e.h+2.4*u)/e.h,d=-u/1.4):"vee"===s&&(l=(e.w+4.4*u)/e.w,c=(e.h+3.8*u)/e.h,d=.5*-u);var h=e.h*c-e.h,f=e.w*l-e.w;if(mt(e,[Math.ceil(h/2),Math.ceil(f/2)]),0!==d){var p=(r=d,{x1:(n=e).x1+0,x2:n.x2+0,y1:n.y1+r,y2:n.y2+r,w:n.w,h:n.h});vt(e,p)}}}}(h,e)}else if(v&&t.includeEdges)if(c&&!d){var P=e.pstyle("curve-style").strValue;if(n=Math.min(g.srcX,g.midX,g.tgtX),r=Math.max(g.srcX,g.midX,g.tgtX),i=Math.min(g.srcY,g.midY,g.tgtY),a=Math.max(g.srcY,g.midY,g.tgtY),Zr(h,n-=E,i-=E,r+=E,a+=E),"haystack"===P){var T=g.haystackPts;if(T&&2===T.length){if(n=T[0].x,i=T[0].y,n>(r=T[1].x)){var D=n;n=r,r=D}if(i>(a=T[1].y)){var M=i;i=a,a=M}Zr(h,n-E,i-E,r+E,a+E)}}else if("bezier"===P||"unbundled-bezier"===P||"segments"===P||"taxi"===P){var B;switch(P){case"bezier":case"unbundled-bezier":B=g.bezierPts;break;case"segments":case"taxi":B=g.linePts}if(null!=B)for(var I=0;I(r=z.x)){var N=n;n=r,r=N}if((i=A.y)>(a=z.y)){var L=i;i=a,a=L}Zr(h,n-=E,i-=E,r+=E,a+=E)}if(c&&t.includeEdges&&v&&($r(h,e,"mid-source"),$r(h,e,"mid-target"),$r(h,e,"source"),$r(h,e,"target")),c&&"yes"===e.pstyle("ghost").value){var R=e.pstyle("ghost-offset-x").pfValue,j=e.pstyle("ghost-offset-y").pfValue;Zr(h,h.x1+R,h.y1+j,h.x2+R,h.y2+j)}var V=f.bodyBounds=f.bodyBounds||{};bt(V,h),mt(V,y),yt(V,1),c&&(n=h.x1,r=h.x2,i=h.y1,a=h.y2,Zr(h,n-_,i-_,r+_,a+_));var F=f.overlayBounds=f.overlayBounds||{};bt(F,h),mt(F,y),yt(F,1);var q=f.labelBounds=f.labelBounds||{};null!=q.all?((u=q.all).x1=1/0,u.y1=1/0,u.x2=-1/0,u.y2=-1/0,u.w=0,u.h=0):q.all=pt(),c&&t.includeLabels&&(t.includeMainLabels&&Qr(h,e,null),v&&(t.includeSourceLabels&&Qr(h,e,"source"),t.includeTargetLabels&&Qr(h,e,"target")))}return h.x1=Ur(h.x1),h.y1=Ur(h.y1),h.x2=Ur(h.x2),h.y2=Ur(h.y2),h.w=Ur(h.x2-h.x1),h.h=Ur(h.y2-h.y1),h.w>0&&h.h>0&&b&&(mt(h,y),yt(h,1)),h}(e,ni),r.bbCache=n,r.bbCachePosKey=o):n=r.bbCache,!a){var c=e.isNode();n=pt(),(t.includeNodes&&c||t.includeEdges&&!c)&&(t.includeOverlays?Kr(n,r.overlayBounds):Kr(n,r.bodyBounds)),t.includeLabels&&(t.includeMainLabels&&(!i||t.includeSourceLabels&&t.includeTargetLabels)?Kr(n,r.labelBounds.all):(t.includeMainLabels&&Kr(n,r.labelBounds.mainRot),t.includeSourceLabels&&Kr(n,r.labelBounds.sourceRot),t.includeTargetLabels&&Kr(n,r.labelBounds.targetRot))),n.w=n.x2-n.x1,n.h=n.y2-n.y1}return n},ni={includeNodes:!0,includeEdges:!0,includeLabels:!0,includeMainLabels:!0,includeSourceLabels:!0,includeTargetLabels:!0,includeOverlays:!0,includeUnderlays:!0,includeOutlines:!0,useCache:!0},ri=Jr(ni),ii=Ie(ni);Xr.boundingBox=function(e){var t;if(1!==this.length||null==this[0]._private.bbCache||this[0]._private.styleDirty||void 0!==e&&void 0!==e.useCache&&!0!==e.useCache){t=pt();var n=ii(e=e||ni),r=this;if(r.cy().styleEnabled())for(var i=0;i0&&void 0!==arguments[0]?arguments[0]:bi,t=arguments.length>1?arguments[1]:void 0,n=0;n=0;s--)o(s);return this},wi.removeAllListeners=function(){return this.removeListener("*")},wi.emit=wi.trigger=function(e,t,n){var r=this.listeners,i=r.length;return this.emitting++,M(t)||(t=[t]),function(e,t,n){if("event"!==P(n))if(B(n))t(e,Ei(e,n));else for(var r=M(n)?n:n.split(/\s+/),i=0;i1&&!r){var i=this.length-1,a=this[i],o=a._private.data.id;this[i]=void 0,this[e]=a,n.set(o,{ele:a,index:e})}return this.length--,this},unmergeOne:function(e){e=e[0];var t=this._private,n=e._private.data.id,r=t.map.get(n);if(!r)return this;var i=r.index;return this.unmergeAt(i),this},unmerge:function(e){var t=this._private.cy;if(!e)return this;if(e&&T(e)){var n=e;e=t.mutableElements().filter(n)}for(var r=0;r=0;t--)e(this[t])&&this.unmergeAt(t);return this},map:function(e,t){for(var n=[],r=this,i=0;ir&&(r=s,n=o)}return{value:r,ele:n}},min:function(e,t){for(var n,r=1/0,i=this,a=0;a=0&&i1&&void 0!==arguments[1])||arguments[1],n=this[0],r=n.cy();if(r.styleEnabled()&&n){this.cleanStyle();var i=n._private.style[e];return null!=i?i:t?r.style().getDefaultProperty(e):null}},numericStyle:function(e){var t=this[0];if(t.cy().styleEnabled()&&t){var n=t.pstyle(e);return void 0!==n.pfValue?n.pfValue:n.value}},numericStyleUnits:function(e){var t=this[0];if(t.cy().styleEnabled())return t?t.pstyle(e).units:void 0},renderedStyle:function(e){var t=this.cy();if(!t.styleEnabled())return this;var n=this[0];return n?t.style().getRenderedStyle(n,e):void 0},style:function(e,t){var n=this.cy();if(!n.styleEnabled())return this;var r=n.style();if(B(e)){var i=e;r.applyBypass(this,i,!1),this.emitAndNotify("style")}else if(T(e)){if(void 0===t){var a=this[0];return a?r.getStylePropertyValue(a,e):void 0}r.applyBypass(this,e,t,!1),this.emitAndNotify("style")}else if(void 0===e){var o=this[0];return o?r.getRawStyle(o):void 0}return this},removeStyle:function(e){var t=this.cy();if(!t.styleEnabled())return this;var n=t.style(),r=this;if(void 0===e)for(var i=0;i0&&t.push(c[0]),t.push(s[0])}return this.spawn(t,!0).filter(e)}),"neighborhood"),closedNeighborhood:function(e){return this.neighborhood().add(this).filter(e)},openNeighborhood:function(e){return this.neighborhood(e)}}),Zi.neighbourhood=Zi.neighborhood,Zi.closedNeighbourhood=Zi.closedNeighborhood,Zi.openNeighbourhood=Zi.openNeighborhood,Q(Zi,{source:Mr((function(e){var t,n=this[0];return n&&(t=n._private.source||n.cy().collection()),t&&e?t.filter(e):t}),"source"),target:Mr((function(e){var t,n=this[0];return n&&(t=n._private.target||n.cy().collection()),t&&e?t.filter(e):t}),"target"),sources:Qi({attr:"source"}),targets:Qi({attr:"target"})}),Q(Zi,{edgesWith:Mr(Ji(),"edgesWith"),edgesTo:Mr(Ji({thisIsSrc:!0}),"edgesTo")}),Q(Zi,{connectedEdges:Mr((function(e){for(var t=[],n=0;n0);return a},component:function(){var e=this[0];return e.cy().mutableElements().components(e)[0]}}),Zi.componentsOf=Zi.components;var ta=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(void 0!==e){var i=new Le,a=!1;if(t){if(t.length>0&&B(t[0])&&!z(t[0])){a=!0;for(var o=[],s=new je,u=0,l=t.length;u0&&void 0!==arguments[0])||arguments[0],r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=this,a=i.cy(),o=a._private,s=[],u=[],l=0,c=i.length;l0){for(var N=e.length===i.length?i:new ta(a,e),L=0;L0&&void 0!==arguments[0])||arguments[0],t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=this,r=[],i={},a=n._private.cy;function o(e){var n=i[e.id()];t&&e.removed()||n||(i[e.id()]=!0,e.isNode()?(r.push(e),function(e){for(var t=e._private.edges,n=0;n0&&(e?E.emitAndNotify("remove"):t&&E.emit("remove"));for(var k=0;k=.001?function(t,r){for(var i=0;i<4;++i){var a=h(r,e,n);if(0===a)return r;r-=(d(r,e,n)-t)/a}return r}(t,o):0===u?o:function(t,r,i){var a,o,s=0;do{(a=d(o=r+(i-r)/2,e,n)-t)>0?i=o:r=o}while(Math.abs(a)>1e-7&&++s<10);return o}(t,r,r+i)}(a),t,r)};p.getControlPoints=function(){return[{x:e,y:t},{x:n,y:r}]};var v="generateBezier("+[e,t,n,r]+")";return p.toString=function(){return v},p}var aa=function(){function e(e){return-e.tension*e.x-e.friction*e.v}function t(t,n,r){var i={x:t.x+r.dx*n,v:t.v+r.dv*n,tension:t.tension,friction:t.friction};return{dx:i.v,dv:e(i)}}function n(n,r){var i={dx:n.v,dv:e(n)},a=t(n,.5*r,i),o=t(n,.5*r,a),s=t(n,r,o),u=1/6*(i.dx+2*(a.dx+o.dx)+s.dx),l=1/6*(i.dv+2*(a.dv+o.dv)+s.dv);return n.x=n.x+u*r,n.v=n.v+l*r,n}return function e(t,r,i){var a,o,s,u={x:-1,v:0,tension:null,friction:null},l=[0],c=0,d=1e-4;for(t=parseFloat(t)||500,r=parseFloat(r)||20,i=i||null,u.tension=t,u.friction=r,o=(a=null!==i)?(c=e(t,r))/i*.016:.016;s=n(s||u,o),l.push(1+s.x),c+=16,Math.abs(s.x)>d&&Math.abs(s.v)>d;);return a?function(e){return l[e*(l.length-1)|0]}:c}}(),oa=function(e,t,n,r){var i=ia(e,t,n,r);return function(e,t,n){return e+(t-e)*i(n)}},sa={linear:function(e,t,n){return e+(t-e)*n},ease:oa(.25,.1,.25,1),"ease-in":oa(.42,0,1,1),"ease-out":oa(0,0,.58,1),"ease-in-out":oa(.42,0,.58,1),"ease-in-sine":oa(.47,0,.745,.715),"ease-out-sine":oa(.39,.575,.565,1),"ease-in-out-sine":oa(.445,.05,.55,.95),"ease-in-quad":oa(.55,.085,.68,.53),"ease-out-quad":oa(.25,.46,.45,.94),"ease-in-out-quad":oa(.455,.03,.515,.955),"ease-in-cubic":oa(.55,.055,.675,.19),"ease-out-cubic":oa(.215,.61,.355,1),"ease-in-out-cubic":oa(.645,.045,.355,1),"ease-in-quart":oa(.895,.03,.685,.22),"ease-out-quart":oa(.165,.84,.44,1),"ease-in-out-quart":oa(.77,0,.175,1),"ease-in-quint":oa(.755,.05,.855,.06),"ease-out-quint":oa(.23,1,.32,1),"ease-in-out-quint":oa(.86,0,.07,1),"ease-in-expo":oa(.95,.05,.795,.035),"ease-out-expo":oa(.19,1,.22,1),"ease-in-out-expo":oa(1,0,0,1),"ease-in-circ":oa(.6,.04,.98,.335),"ease-out-circ":oa(.075,.82,.165,1),"ease-in-out-circ":oa(.785,.135,.15,.86),spring:function(e,t,n){if(0===n)return sa.linear;var r=aa(e,t,n);return function(e,t,n){return e+(t-e)*r(n)}},"cubic-bezier":oa};function ua(e,t,n,r,i){if(1===r)return n;if(t===n)return n;var a=i(t,n,r);return null==e||((e.roundValue||e.color)&&(a=Math.round(a)),void 0!==e.min&&(a=Math.max(a,e.min)),void 0!==e.max&&(a=Math.min(a,e.max))),a}function la(e,t){return null!=e.pfValue||null!=e.value?null==e.pfValue||null!=t&&"%"===t.type.units?e.value:e.pfValue:e}function ca(e,t,n,r,i){var a=null!=i?i.type:null;n<0?n=0:n>1&&(n=1);var o=la(e,i),s=la(t,i);if(I(o)&&I(s))return ua(a,o,s,n,r);if(M(o)&&M(s)){for(var u=[],l=0;l0?("spring"===d&&h.push(o.duration),o.easingImpl=sa[d].apply(null,h)):o.easingImpl=sa[d]}var f,p=o.easingImpl;if(f=0===o.duration?1:(n-u)/o.duration,o.applying&&(f=o.progress),f<0?f=0:f>1&&(f=1),null==o.delay){var v=o.startPosition,g=o.position;if(g&&i&&!e.locked()){var y={};ha(v.x,g.x)&&(y.x=ca(v.x,g.x,f,p)),ha(v.y,g.y)&&(y.y=ca(v.y,g.y,f,p)),e.position(y)}var m=o.startPan,b=o.pan,x=a.pan,w=null!=b&&r;w&&(ha(m.x,b.x)&&(x.x=ca(m.x,b.x,f,p)),ha(m.y,b.y)&&(x.y=ca(m.y,b.y,f,p)),e.emit("pan"));var _=o.startZoom,E=o.zoom,k=null!=E&&r;k&&(ha(_,E)&&(a.zoom=ft(a.minZoom,ca(_,E,f,p),a.maxZoom)),e.emit("zoom")),(w||k)&&e.emit("viewport");var C=o.style;if(C&&C.length>0&&i){for(var S=0;S=0;t--)(0,e[t])();e.splice(0,e.length)},c=a.length-1;c>=0;c--){var d=a[c],h=d._private;h.stopped?(a.splice(c,1),h.hooked=!1,h.playing=!1,h.started=!1,l(h.frames)):(h.playing||h.applying)&&(h.playing&&h.applying&&(h.applying=!1),h.started||fa(0,d,e),da(t,d,e,n),h.applying&&(h.applying=!1),l(h.frames),null!=h.step&&h.step(e),d.completed()&&(a.splice(c,1),h.hooked=!1,h.playing=!1,h.started=!1,l(h.completes)),s=!0)}return n||0!==a.length||0!==o.length||r.push(t),s}for(var a=!1,o=0;o0?t.notify("draw",n):t.notify("draw")),n.unmerge(r),t.emit("step")}var va={animate:sr.animate(),animation:sr.animation(),animated:sr.animated(),clearQueue:sr.clearQueue(),delay:sr.delay(),delayAnimation:sr.delayAnimation(),stop:sr.stop(),addToAnimationPool:function(e){this.styleEnabled()&&this._private.aniEles.merge(e)},stopAnimationLoop:function(){this._private.animationsRunning=!1},startAnimationLoop:function(){var e=this;if(e._private.animationsRunning=!0,e.styleEnabled()){var t=e.renderer();t&&t.beforeRender?t.beforeRender((function(t,n){pa(n,e)}),t.beforeRenderPriorities.animations):function t(){e._private.animationsRunning&&ae((function(n){pa(n,e),t()}))}()}}},ga={qualifierCompare:function(e,t){return null==e||null==t?null==e&&null==t:e.sameText(t)},eventMatches:function(e,t,n){var r=t.qualifier;return null==r||e!==n.target&&z(n.target)&&r.matches(n.target)},addEventFields:function(e,t){t.cy=e,t.target=e},callbackContext:function(e,t,n){return null!=t.qualifier?n.target:e}},ya=function(e){return T(e)?new Cr(e):e},ma={createEmitter:function(){var e=this._private;return e.emitter||(e.emitter=new xi(ga,this)),this},emitter:function(){return this._private.emitter},on:function(e,t,n){return this.emitter().on(e,ya(t),n),this},removeListener:function(e,t,n){return this.emitter().removeListener(e,ya(t),n),this},removeAllListeners:function(){return this.emitter().removeAllListeners(),this},one:function(e,t,n){return this.emitter().one(e,ya(t),n),this},once:function(e,t,n){return this.emitter().one(e,ya(t),n),this},emit:function(e,t){return this.emitter().emit(e,t),this},emitAndNotify:function(e,t){return this.emit(e),this.notify(e,t),this}};sr.eventAliasesOn(ma);var ba={png:function(e){return e=e||{},this._private.renderer.png(e)},jpg:function(e){var t=this._private.renderer;return(e=e||{}).bg=e.bg||"#fff",t.jpg(e)}};ba.jpeg=ba.jpg;var xa={layout:function(e){var t=this;if(null!=e)if(null!=e.name){var n,r=e.name,i=t.extension("layout",r);if(null!=i)return n=T(e.eles)?t.$(e.eles):null!=e.eles?e.eles:t.$(),new i(Q({},e,{cy:t,eles:n}));Ce("No such layout `"+r+"` found. Did you forget to import it and `cytoscape.use()` it?")}else Ce("A `name` must be specified to make a layout");else Ce("Layout options must be specified to make a layout")}};xa.createLayout=xa.makeLayout=xa.layout;var wa={notify:function(e,t){var n=this._private;if(this.batching()){n.batchNotifications=n.batchNotifications||{};var r=n.batchNotifications[e]=n.batchNotifications[e]||this.collection();null!=t&&r.merge(t)}else if(n.notificationsEnabled){var i=this.renderer();!this.destroyed()&&i&&i.notify(e,t)}},notifications:function(e){var t=this._private;return void 0===e?t.notificationsEnabled:(t.notificationsEnabled=!!e,this)},noNotifications:function(e){this.notifications(!1),e(),this.notifications(!0)},batching:function(){return this._private.batchCount>0},startBatch:function(){var e=this._private;return null==e.batchCount&&(e.batchCount=0),0===e.batchCount&&(e.batchStyleEles=this.collection(),e.batchNotifications={}),e.batchCount++,this},endBatch:function(){var e=this._private;if(0===e.batchCount)return this;if(e.batchCount--,0===e.batchCount){e.batchStyleEles.updateStyle();var t=this.renderer();Object.keys(e.batchNotifications).forEach((function(n){var r=e.batchNotifications[n];r.empty()?t.notify(n):t.notify(n,r)}))}return this},batch:function(e){return this.startBatch(),e(),this.endBatch(),this},batchData:function(e){var t=this;return this.batch((function(){for(var n=Object.keys(e),r=0;r0;)t.removeChild(t.childNodes[0]);e._private.renderer=null,e.mutableElements().forEach((function(e){var t=e._private;t.rscratch={},t.rstyle={},t.animation.current=[],t.animation.queue=[]}))},onRender:function(e){return this.on("render",e)},offRender:function(e){return this.off("render",e)}};Ea.invalidateDimensions=Ea.resize;var ka={collection:function(e,t){return T(e)?this.$(e):A(e)?e.collection():M(e)?(t||(t={}),new ta(this,e,t.unique,t.removed)):new ta(this)},nodes:function(e){var t=this.$((function(e){return e.isNode()}));return e?t.filter(e):t},edges:function(e){var t=this.$((function(e){return e.isEdge()}));return e?t.filter(e):t},$:function(e){var t=this._private.elements;return e?t.filter(e):t.spawnSelf()},mutableElements:function(){return this._private.elements}};ka.elements=ka.filter=ka.$;var Ca={},Sa="t";Ca.apply=function(e){for(var t=this,n=t._private.cy.collection(),r=0;r0;if(h||d&&f){var p=void 0;h&&f||h?p=l.properties:f&&(p=l.mappedProperties);for(var v=0;v1&&(g=1),s.color){var w=i.valueMin[0],_=i.valueMax[0],E=i.valueMin[1],k=i.valueMax[1],C=i.valueMin[2],S=i.valueMax[2],P=null==i.valueMin[3]?1:i.valueMin[3],T=null==i.valueMax[3]?1:i.valueMax[3],D=[Math.round(w+(_-w)*g),Math.round(E+(k-E)*g),Math.round(C+(S-C)*g),Math.round(P+(T-P)*g)];n={bypass:i.bypass,name:i.name,value:D,strValue:"rgb("+D[0]+", "+D[1]+", "+D[2]+")"}}else{if(!s.number)return!1;var M=i.valueMin+(i.valueMax-i.valueMin)*g;n=this.parse(i.name,M,i.bypass,h)}if(!n)return v(),!1;n.mapping=i,i=n;break;case o.data:for(var B=i.field.split("."),O=d.data,A=0;A0&&a>0){for(var s={},u=!1,l=0;l0?e.delayAnimation(o).play().promise().then(t):t()})).then((function(){return e.animation({style:s,duration:a,easing:e.pstyle("transition-timing-function").value,queue:!1}).play().promise()})).then((function(){n.removeBypasses(e,i),e.emitAndNotify("style"),r.transitioning=!1}))}else r.transitioning&&(this.removeBypasses(e,i),e.emitAndNotify("style"),r.transitioning=!1)},Ca.checkTrigger=function(e,t,n,r,i,a){var o=this.properties[t],s=i(o);null!=s&&s(n,r)&&a(o)},Ca.checkZOrderTrigger=function(e,t,n,r){var i=this;this.checkTrigger(e,t,n,r,(function(e){return e.triggersZOrder}),(function(){i._private.cy.notify("zorder",e)}))},Ca.checkBoundsTrigger=function(e,t,n,r){this.checkTrigger(e,t,n,r,(function(e){return e.triggersBounds}),(function(i){e.dirtyCompoundBoundsCache(),e.dirtyBoundingBoxCache(),!i.triggersBoundsOfParallelBeziers||"curve-style"!==t||"bezier"!==n&&"bezier"!==r||e.parallelEdges().forEach((function(e){e.isBundledBezier()&&e.dirtyBoundingBoxCache()})),!i.triggersBoundsOfConnectedEdges||"display"!==t||"none"!==n&&"none"!==r||e.connectedEdges().forEach((function(e){e.dirtyBoundingBoxCache()}))}))},Ca.checkTriggers=function(e,t,n,r){e.dirtyStyleCache(),this.checkZOrderTrigger(e,t,n,r),this.checkBoundsTrigger(e,t,n,r)};var Pa={applyBypass:function(e,t,n,r){var i=[];if("*"===t||"**"===t){if(void 0!==n)for(var a=0;at.length?a.substr(t.length):""}function s(){n=n.length>r.length?n.substr(r.length):""}for(a=a.replace(/[/][*](\s|.)+?[*][/]/g,"");!a.match(/^\s*$/);){var u=a.match(/^\s*((?:.|\s)+?)\s*\{((?:.|\s)+?)\}/);if(!u){Pe("Halting stylesheet parsing: String stylesheet contains more to parse but no selector and block found in: "+a);break}t=u[0];var l=u[1];if("core"!==l&&new Cr(l).invalid)Pe("Skipping parsing of block: Invalid selector found in string stylesheet: "+l),o();else{var c=u[2],d=!1;n=c;for(var h=[];!n.match(/^\s*$/);){var f=n.match(/^\s*(.+?)\s*:\s*(.+?)(?:\s*;|\s*$)/);if(!f){Pe("Skipping parsing of block: Invalid formatting of style property and value definitions found in:"+c),d=!0;break}r=f[0];var p=f[1],v=f[2];this.properties[p]?i.parse(p,v)?(h.push({name:p,val:v}),s()):(Pe("Skipping property: Invalid property definition in: "+r),s()):(Pe("Skipping property: Invalid property name in: "+r),s())}if(d){o();break}i.selector(l);for(var g=0;g=7&&"d"===t[0]&&(l=new RegExp(s.data.regex).exec(t))){if(n)return!1;var h=s.data;return{name:e,value:l,strValue:""+t,mapped:h,field:l[1],bypass:n}}if(t.length>=10&&"m"===t[0]&&(c=new RegExp(s.mapData.regex).exec(t))){if(n)return!1;if(d.multiple)return!1;var f=s.mapData;if(!d.color&&!d.number)return!1;var p=this.parse(e,c[4]);if(!p||p.mapped)return!1;var v=this.parse(e,c[5]);if(!v||v.mapped)return!1;if(p.pfValue===v.pfValue||p.strValue===v.strValue)return Pe("`"+e+": "+t+"` is not a valid mapper because the output range is zero; converting to `"+e+": "+p.strValue+"`"),this.parse(e,p.strValue);if(d.color){var g=p.value,y=v.value;if(!(g[0]!==y[0]||g[1]!==y[1]||g[2]!==y[2]||g[3]!==y[3]&&(null!=g[3]&&1!==g[3]||null!=y[3]&&1!==y[3])))return!1}return{name:e,value:c,strValue:""+t,mapped:f,field:c[1],fieldMin:parseFloat(c[2]),fieldMax:parseFloat(c[3]),valueMin:p.value,valueMax:v.value,bypass:n}}}if(d.multiple&&"multiple"!==r){var m;if(m=u?t.split(/\s+/):M(t)?t:[t],d.evenMultiple&&m.length%2!=0)return null;for(var b=[],x=[],w=[],_="",E=!1,k=0;k0?" ":"")+C.strValue}return d.validate&&!d.validate(b,x)?null:d.singleEnum&&E?1===b.length&&T(b[0])?{name:e,value:b[0],strValue:b[0],bypass:n}:null:{name:e,value:b,pfValue:w,strValue:_,bypass:n,units:x}}var S,P,B,O=function(){for(var r=0;rd.max||d.strictMax&&t===d.max))return null;var R={name:e,value:t,strValue:""+t+(A||""),units:A,bypass:n};return d.unitless||"px"!==A&&"em"!==A?R.pfValue=t:R.pfValue="px"!==A&&A?this.getEmSizeInPixels()*t:t,"ms"!==A&&"s"!==A||(R.pfValue="ms"===A?t:1e3*t),"deg"!==A&&"rad"!==A||(R.pfValue="rad"===A?t:(S=t,Math.PI*S/180)),"%"===A&&(R.pfValue=t/100),R}if(d.propList){var j=[],V=""+t;if("none"===V);else{for(var F=V.split(/\s*,\s*|\s+/),W=0;W255)return;t.push(Math.floor(a))}var o=r[1]||r[2]||r[3],s=r[1]&&r[2]&&r[3];if(o&&!s)return;var u=n[4];if(void 0!==u){if((u=parseFloat(u))<0||u>1)return;t.push(u)}}return t}(B)||function(e){var t,n,r,i,a,o,s,u;function l(e,t,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?e+6*(t-e)*n:n<.5?t:n<2/3?e+(t-e)*(2/3-n)*6:e}var c=new RegExp("^"+K+"$").exec(e);if(c){if((n=parseInt(c[1]))<0?n=(360- -1*n%360)%360:n>360&&(n%=360),n/=360,(r=parseFloat(c[2]))<0||r>100)return;if(r/=100,(i=parseFloat(c[3]))<0||i>100)return;if(i/=100,void 0!==(a=c[4])&&((a=parseFloat(a))<0||a>1))return;if(0===r)o=s=u=Math.round(255*i);else{var d=i<.5?i*(1+r):i+r-i*r,h=2*i-d;o=Math.round(255*l(h,d,n+1/3)),s=Math.round(255*l(h,d,n)),u=Math.round(255*l(h,d,n-1/3))}t=[o,s,u,a]}return t}(B);return X?{name:e,value:X,pfValue:X,strValue:"rgb("+X[0]+","+X[1]+","+X[2]+")",bypass:n}:null}if(d.regex||d.regexes){if(d.enums){var Z=O();if(Z)return Z}for(var G=d.regexes?d.regexes:[d.regex],$=0;$0&&u>0&&!isNaN(n.w)&&!isNaN(n.h)&&n.w>0&&n.h>0)return{zoom:o=(o=(o=Math.min((s-2*t)/n.w,(u-2*t)/n.h))>this._private.maxZoom?this._private.maxZoom:o)=n.minZoom&&(n.maxZoom=t),this},minZoom:function(e){return void 0===e?this._private.minZoom:this.zoomRange({min:e})},maxZoom:function(e){return void 0===e?this._private.maxZoom:this.zoomRange({max:e})},getZoomedViewport:function(e){var t,n,r=this._private,i=r.pan,a=r.zoom,o=!1;if(r.zoomingEnabled||(o=!0),I(e)?n=e:B(e)&&(n=e.level,null!=e.position?t=nt(e.position,a,i):null!=e.renderedPosition&&(t=e.renderedPosition),null==t||r.panningEnabled||(o=!0)),n=(n=n>r.maxZoom?r.maxZoom:n)t.maxZoom||!t.zoomingEnabled?a=!0:(t.zoom=s,i.push("zoom"))}if(r&&(!a||!e.cancelOnFailedZoom)&&t.panningEnabled){var u=e.pan;I(u.x)&&(t.pan.x=u.x,o=!1),I(u.y)&&(t.pan.y=u.y,o=!1),o||i.push("pan")}return i.length>0&&(i.push("viewport"),this.emit(i.join(" ")),this.notify("viewport")),this},center:function(e){var t=this.getCenterPan(e);return t&&(this._private.pan=t,this.emit("pan viewport"),this.notify("viewport")),this},getCenterPan:function(e,t){if(this._private.panningEnabled){if(T(e)){var n=e;e=this.mutableElements().filter(n)}else A(e)||(e=this.mutableElements());if(0!==e.length){var r=e.boundingBox(),i=this.width(),a=this.height();return{x:(i-(t=void 0===t?this._private.zoom:t)*(r.x1+r.x2))/2,y:(a-t*(r.y1+r.y2))/2}}}},reset:function(){return this._private.panningEnabled&&this._private.zoomingEnabled?(this.viewport({pan:{x:0,y:0},zoom:1}),this):this},invalidateSize:function(){this._private.sizeCache=null},size:function(){var e,t,n=this._private,r=n.container;return n.sizeCache=n.sizeCache||(r?(e=this.window().getComputedStyle(r),t=function(t){return parseFloat(e.getPropertyValue(t))},{width:r.clientWidth-t("padding-left")-t("padding-right"),height:r.clientHeight-t("padding-top")-t("padding-bottom")}):{width:1,height:1})},width:function(){return this.size().width},height:function(){return this.size().height},extent:function(){var e=this._private.pan,t=this._private.zoom,n=this.renderedExtent(),r={x1:(n.x1-e.x)/t,x2:(n.x2-e.x)/t,y1:(n.y1-e.y)/t,y2:(n.y2-e.y)/t};return r.w=r.x2-r.x1,r.h=r.y2-r.y1,r},renderedExtent:function(){var e=this.width(),t=this.height();return{x1:0,y1:0,x2:e,y2:t,w:e,h:t}},multiClickDebounceTime:function(e){return e?(this._private.multiClickDebounceTime=e,this):this._private.multiClickDebounceTime}};La.centre=La.center,La.autolockNodes=La.autolock,La.autoungrabifyNodes=La.autoungrabify;var Ra={data:sr.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeData:sr.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),scratch:sr.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:sr.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0})};Ra.attr=Ra.data,Ra.removeAttr=Ra.removeData;var ja=function(e){var t=this,n=(e=Q({},e)).container;n&&!O(n)&&O(n[0])&&(n=n[0]);var r=n?n._cyreg:null;(r=r||{})&&r.cy&&(r.cy.destroy(),r={});var i=r.readies=r.readies||[];n&&(n._cyreg=r),r.cy=t;var a=void 0!==w&&void 0!==n&&!e.headless,o=e;o.layout=Q({name:a?"grid":"null"},o.layout),o.renderer=Q({name:a?"canvas":"null"},o.renderer);var s=function(e,t,n){return void 0!==t?t:void 0!==n?n:e},u=this._private={container:n,ready:!1,options:o,elements:new ta(this),listeners:[],aniEles:new ta(this),data:o.data||{},scratch:{},layout:null,renderer:null,destroyed:!1,notificationsEnabled:!0,minZoom:1e-50,maxZoom:1e50,zoomingEnabled:s(!0,o.zoomingEnabled),userZoomingEnabled:s(!0,o.userZoomingEnabled),panningEnabled:s(!0,o.panningEnabled),userPanningEnabled:s(!0,o.userPanningEnabled),boxSelectionEnabled:s(!0,o.boxSelectionEnabled),autolock:s(!1,o.autolock,o.autolockNodes),autoungrabify:s(!1,o.autoungrabify,o.autoungrabifyNodes),autounselectify:s(!1,o.autounselectify),styleEnabled:void 0===o.styleEnabled?a:o.styleEnabled,zoom:I(o.zoom)?o.zoom:1,pan:{x:B(o.pan)&&I(o.pan.x)?o.pan.x:0,y:B(o.pan)&&I(o.pan.y)?o.pan.y:0},animation:{current:[],queue:[]},hasCompoundNodes:!1,multiClickDebounceTime:s(250,o.multiClickDebounceTime)};this.createEmitter(),this.selectionType(o.selectionType),this.zoomRange({min:o.minZoom,max:o.maxZoom}),u.styleEnabled&&t.setStyle([]);var l=Q({},o,o.renderer);t.initRenderer(l),function(e,t){if(e.some(V))return tr.all(e).then(t);t(e)}([o.style,o.elements],(function(e){var n=e[0],a=e[1];u.styleEnabled&&t.style().append(n),function(e,n,r){t.notifications(!1);var i=t.mutableElements();i.length>0&&i.remove(),null!=e&&(B(e)||M(e))&&t.add(e),t.one("layoutready",(function(e){t.notifications(!0),t.emit(e),t.one("load",n),t.emitAndNotify("load")})).one("layoutstop",(function(){t.one("done",r),t.emit("done")}));var a=Q({},t._private.options.layout);a.eles=t.elements(),t.layout(a).run()}(a,(function(){t.startAnimationLoop(),u.ready=!0,D(o.ready)&&t.on("ready",o.ready);for(var e=0;e0,l=pt(n.boundingBox?n.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()});if(A(n.roots))e=n.roots;else if(M(n.roots)){for(var c=[],d=0;d0;){var B=S.shift(),I=C(B,P);if(I)B.outgoers().filter((function(e){return e.isNode()&&i.has(e)})).forEach(D);else if(null===I){Pe("Detected double maximal shift for node `"+B.id()+"`. Bailing maximal adjustment due to cycle. Use `options.maximal: true` only on DAGs.");break}}}k();var O=0;if(n.avoidOverlap)for(var z=0;z0&&y[0].length<=3?u/2:0),d=2*Math.PI/y[r].length*i;return 0===r&&1===y[0].length&&(c=1),{x:U+c*Math.cos(d),y:Z+c*Math.sin(d)}}return{x:U+(i+1-(a+1)/2)*o,y:(r+1)*s}})),this};var Ha={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,radius:void 0,startAngle:1.5*Math.PI,sweep:void 0,clockwise:!0,sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,t){return!0},ready:void 0,stop:void 0,transform:function(e,t){return t}};function Ua(e){this.options=Q({},Ha,e)}Ua.prototype.run=function(){var e=this.options,t=e,n=e.cy,r=t.eles,i=void 0!==t.counterclockwise?!t.counterclockwise:t.clockwise,a=r.nodes().not(":parent");t.sort&&(a=a.sort(t.sort));for(var o,s=pt(t.boundingBox?t.boundingBox:{x1:0,y1:0,w:n.width(),h:n.height()}),u=s.x1+s.w/2,l=s.y1+s.h/2,c=(void 0===t.sweep?2*Math.PI-2*Math.PI/a.length:t.sweep)/Math.max(1,a.length-1),d=0,h=0;h1&&t.avoidOverlap){d*=1.75;var g=Math.cos(c)-Math.cos(0),y=Math.sin(c)-Math.sin(0),m=Math.sqrt(d*d/(g*g+y*y));o=Math.max(m,o)}return r.nodes().layoutPositions(this,t,(function(e,n){var r=t.startAngle+n*c*(i?1:-1),a=o*Math.cos(r),s=o*Math.sin(r);return{x:u+a,y:l+s}})),this};var Za,Ka={fit:!0,padding:30,startAngle:1.5*Math.PI,sweep:void 0,clockwise:!0,equidistant:!1,minNodeSpacing:10,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,height:void 0,width:void 0,spacingFactor:void 0,concentric:function(e){return e.degree()},levelWidth:function(e){return e.maxDegree()/4},animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,t){return!0},ready:void 0,stop:void 0,transform:function(e,t){return t}};function Ga(e){this.options=Q({},Ka,e)}Ga.prototype.run=function(){for(var e=this.options,t=e,n=void 0!==t.counterclockwise?!t.counterclockwise:t.clockwise,r=e.cy,i=t.eles,a=i.nodes().not(":parent"),o=pt(t.boundingBox?t.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()}),s=o.x1+o.w/2,u=o.y1+o.h/2,l=[],c=0,d=0;d0&&Math.abs(m[0].value-x.value)>=g&&(m=[],y.push(m)),m.push(x)}var w=c+t.minNodeSpacing;if(!t.avoidOverlap){var _=y.length>0&&y[0].length>1,E=(Math.min(o.w,o.h)/2-w)/(y.length+_?1:0);w=Math.min(w,E)}for(var k=0,C=0;C1&&t.avoidOverlap){var D=Math.cos(T)-Math.cos(0),M=Math.sin(T)-Math.sin(0),B=Math.sqrt(w*w/(D*D+M*M));k=Math.max(B,k)}S.r=k,k+=w}if(t.equidistant){for(var I=0,O=0,A=0;A=e.numIter||(ao(r,e),r.temperature=r.temperature*e.coolingFactor,r.temperature=e.animationThreshold&&a(),ae(t)):(mo(r,e),s())}();else{for(;l;)l=o(u),u++;mo(r,e),s()}return this},Qa.prototype.stop=function(){return this.stopped=!0,this.thread&&this.thread.stop(),this.emit("layoutstop"),this},Qa.prototype.destroy=function(){return this.thread&&this.thread.stop(),this};var Ja=function(e,t,n){for(var r=n.eles.edges(),i=n.eles.nodes(),a=pt(n.boundingBox?n.boundingBox:{x1:0,y1:0,w:e.width(),h:e.height()}),o={isCompound:e.hasCompoundNodes(),layoutNodes:[],idToIndex:{},nodeSize:i.size(),graphSet:[],indexToGraph:[],layoutEdges:[],edgeSize:r.size(),temperature:n.initialTemp,clientWidth:a.w,clientHeight:a.h,boundingBox:a},s=n.eles.components(),u={},l=0;l0)for(o.graphSet.push(w),l=0;lr.count?0:r.graph},to=function e(t,n,r,i){var a=i.graphSet[r];if(-10)var s=(l=r.nodeOverlap*o)*i/(v=Math.sqrt(i*i+a*a)),u=l*a/v;else{var l,c=co(e,i,a),d=co(t,-1*i,-1*a),h=d.x-c.x,f=d.y-c.y,p=h*h+f*f,v=Math.sqrt(p);s=(l=(e.nodeRepulsion+t.nodeRepulsion)/p)*h/v,u=l*f/v}e.isLocked||(e.offsetX-=s,e.offsetY-=u),t.isLocked||(t.offsetX+=s,t.offsetY+=u)}},lo=function(e,t,n,r){if(n>0)var i=e.maxX-t.minX;else i=t.maxX-e.minX;if(r>0)var a=e.maxY-t.minY;else a=t.maxY-e.minY;return i>=0&&a>=0?Math.sqrt(i*i+a*a):0},co=function(e,t,n){var r=e.positionX,i=e.positionY,a=e.height||1,o=e.width||1,s=n/t,u=a/o,l={};return 0===t&&0n?(l.x=r,l.y=i+a/2,l):0t&&-1*u<=s&&s<=u?(l.x=r-o/2,l.y=i-o*n/2/t,l):0=u)?(l.x=r+a*t/2/n,l.y=i+a/2,l):0>n&&(s<=-1*u||s>=u)?(l.x=r-a*t/2/n,l.y=i-a/2,l):l},ho=function(e,t){for(var n=0;n1){var p=t.gravity*d/f,v=t.gravity*h/f;c.offsetX+=p,c.offsetY+=v}}}}},po=function(e,t){var n=[],r=0,i=-1;for(n.push.apply(n,e.graphSet[0]),i+=e.graphSet[0].length;r<=i;){var a=n[r++],o=e.idToIndex[a],s=e.layoutNodes[o],u=s.children;if(0n)var i={x:n*e/r,y:n*t/r};else i={x:e,y:t};return i},yo=function e(t,n){var r=t.parentId;if(null!=r){var i=n.layoutNodes[n.idToIndex[r]],a=!1;return(null==i.maxX||t.maxX+i.padRight>i.maxX)&&(i.maxX=t.maxX+i.padRight,a=!0),(null==i.minX||t.minX-i.padLefti.maxY)&&(i.maxY=t.maxY+i.padBottom,a=!0),(null==i.minY||t.minY-i.padTopp&&(d+=f+t.componentSpacing,c=0,h=0,f=0)}}},bo={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,avoidOverlapPadding:10,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,condense:!1,rows:void 0,cols:void 0,position:function(e){},sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,t){return!0},ready:void 0,stop:void 0,transform:function(e,t){return t}};function xo(e){this.options=Q({},bo,e)}xo.prototype.run=function(){var e=this.options,t=e,n=e.cy,r=t.eles,i=r.nodes().not(":parent");t.sort&&(i=i.sort(t.sort));var a=pt(t.boundingBox?t.boundingBox:{x1:0,y1:0,w:n.width(),h:n.height()});if(0===a.h||0===a.w)r.nodes().layoutPositions(this,t,(function(e){return{x:a.x1,y:a.y1}}));else{var o=i.size(),s=Math.sqrt(o*a.h/a.w),u=Math.round(s),l=Math.round(a.w/a.h*s),c=function(e){if(null==e)return Math.min(u,l);Math.min(u,l)==u?u=e:l=e},d=function(e){if(null==e)return Math.max(u,l);Math.max(u,l)==u?u=e:l=e},h=t.rows,f=null!=t.cols?t.cols:t.columns;if(null!=h&&null!=f)u=h,l=f;else if(null!=h&&null==f)u=h,l=Math.ceil(o/u);else if(null==h&&null!=f)l=f,u=Math.ceil(o/l);else if(l*u>o){var p=c(),v=d();(p-1)*v>=o?c(p-1):(v-1)*p>=o&&d(v-1)}else for(;l*u=o?d(y+1):c(g+1)}var m=a.w/l,b=a.h/u;if(t.condense&&(m=0,b=0),t.avoidOverlap)for(var x=0;x=l&&(B=0,M++)},O={},A=0;A(r=Pt(e,t,x[w],x[w+1],x[w+2],x[w+3])))return g(n,r),!0}else if("bezier"===a.edgeType||"multibezier"===a.edgeType||"self"===a.edgeType||"compound"===a.edgeType)for(x=a.allpts,w=0;w+5(r=St(e,t,x[w],x[w+1],x[w+2],x[w+3],x[w+4],x[w+5])))return g(n,r),!0;m=m||i.source,b=b||i.target;var _=o.getArrowWidth(u,c),E=[{name:"source",x:a.arrowStartX,y:a.arrowStartY,angle:a.srcArrowAngle},{name:"target",x:a.arrowEndX,y:a.arrowEndY,angle:a.tgtArrowAngle},{name:"mid-source",x:a.midX,y:a.midY,angle:a.midsrcArrowAngle},{name:"mid-target",x:a.midX,y:a.midY,angle:a.midtgtArrowAngle}];for(w=0;w0&&(y(m),y(b))}function b(e,t,n){return ze(e,t,n)}function x(n,r){var i,a=n._private,o=p;i=r?r+"-":"",n.boundingBox();var s=a.labelBounds[r||"main"],u=n.pstyle(i+"label").value;if("yes"===n.pstyle("text-events").strValue&&u){var l=b(a.rscratch,"labelX",r),c=b(a.rscratch,"labelY",r),d=b(a.rscratch,"labelAngle",r),h=n.pstyle(i+"text-margin-x").pfValue,f=n.pstyle(i+"text-margin-y").pfValue,v=s.x1-o-h,y=s.x2+o-h,m=s.y1-o-f,x=s.y2+o-f;if(d){var w=Math.cos(d),_=Math.sin(d),E=function(e,t){return{x:(e-=l)*w-(t-=c)*_+l,y:e*_+t*w+c}},k=E(v,m),C=E(v,x),S=E(y,m),P=E(y,x),T=[k.x+h,k.y+f,S.x+h,S.y+f,P.x+h,P.y+f,C.x+h,C.y+f];if(Tt(e,t,T))return g(n),!0}else if(wt(s,e,t))return g(n),!0}}n&&(u=u.interactive);for(var w=u.length-1;w>=0;w--){var _=u[w];_.isNode()?y(_)||x(_):m(_)||x(_)||x(_,"source")||x(_,"target")}return l},getAllInBox:function(e,t,n,r){for(var i,a,o=this.getCachedZSortedEles().interactive,s=[],u=Math.min(e,n),l=Math.max(e,n),c=Math.min(t,r),d=Math.max(t,r),h=pt({x1:e=u,y1:t=c,x2:n=l,y2:r=d}),f=0;f0?Math.max(e-t,0):Math.min(e+t,0)},P=S(k,_),T=S(C,E),D=!1;"auto"===g?v=Math.abs(P)>Math.abs(T)?i:r:g===u||g===s?(v=r,D=!0):g!==a&&g!==o||(v=i,D=!0);var M,B=v===r,I=B?T:P,O=B?C:k,A=st(O),z=!1;D&&(m||x)||!(g===s&&O<0||g===u&&O>0||g===a&&O>0||g===o&&O<0)||(I=(A*=-1)*Math.abs(I),z=!0);var N=function(e){return Math.abs(e)=Math.abs(I)},L=N(M=m?(b<0?1+b:b)*I:(b<0?I:0)+b*A),R=N(Math.abs(I)-Math.abs(M));if(!L&&!R||z)if(B){var j=l.y1+M+(p?d/2*A:0),V=l.x1,F=l.x2;n.segpts=[V,j,F,j]}else{var q=l.x1+M+(p?c/2*A:0),W=l.y1,Y=l.y2;n.segpts=[q,W,q,Y]}else if(B){var X=Math.abs(O)<=d/2,H=Math.abs(k)<=h/2;if(X){var U=(l.x1+l.x2)/2,Z=l.y1,K=l.y2;n.segpts=[U,Z,U,K]}else if(H){var G=(l.y1+l.y2)/2,$=l.x1,Q=l.x2;n.segpts=[$,G,Q,G]}else n.segpts=[l.x1,l.y2]}else{var J=Math.abs(O)<=c/2,ee=Math.abs(C)<=f/2;if(J){var te=(l.y1+l.y2)/2,ne=l.x1,re=l.x2;n.segpts=[ne,te,re,te]}else if(ee){var ie=(l.x1+l.x2)/2,ae=l.y1,oe=l.y2;n.segpts=[ie,ae,ie,oe]}else n.segpts=[l.x2,l.y1]}},Ao.tryToCorrectInvalidPoints=function(e,t){var n=e._private.rscratch;if("bezier"===n.edgeType){var r=t.srcPos,i=t.tgtPos,a=t.srcW,o=t.srcH,s=t.tgtW,u=t.tgtH,l=t.srcShape,c=t.tgtShape,d=!I(n.startX)||!I(n.startY),h=!I(n.arrowStartX)||!I(n.arrowStartY),f=!I(n.endX)||!I(n.endY),p=!I(n.arrowEndX)||!I(n.arrowEndY),v=this.getArrowWidth(e.pstyle("width").pfValue,e.pstyle("arrow-scale").value)*this.arrowShapeWidth*3,g=ut({x:n.ctrlpts[0],y:n.ctrlpts[1]},{x:n.startX,y:n.startY}),y=gh.poolIndex()){var f=d;d=h,h=f}var p=s.srcPos=d.position(),v=s.tgtPos=h.position(),g=s.srcW=d.outerWidth(),y=s.srcH=d.outerHeight(),m=s.tgtW=h.outerWidth(),b=s.tgtH=h.outerHeight(),x=s.srcShape=n.nodeShapes[t.getNodeShape(d)],w=s.tgtShape=n.nodeShapes[t.getNodeShape(h)];s.dirCounts={north:0,west:0,south:0,east:0,northwest:0,southwest:0,northeast:0,southeast:0};for(var _=0;_0){var q=l,W=lt(q,it(t)),Y=lt(q,it(F)),X=W;Y2&<(q,{x:F[2],y:F[3]})0){var ie=c,ae=lt(ie,it(t)),oe=lt(ie,it(re)),se=ae;oe2&<(ie,{x:re[2],y:re[3]})=l||m){c={cp:v,segment:y};break}}if(c)break}var b=c.cp,x=c.segment,w=(l-h)/x.length,_=x.t1-x.t0,E=s?x.t0+_*w:x.t1-_*w;E=ft(0,E,1),t=ht(b.p0,b.p1,b.p2,E),i=function(e,t,n,r){var i=ft(0,r-.001,1),a=ft(0,r+.001,1),o=ht(e,t,n,i),s=ht(e,t,n,a);return Fo(o,s)}(b.p0,b.p1,b.p2,E);break;case"straight":case"segments":case"haystack":for(var k,C,S,P,T=0,D=r.allpts.length,M=0;M+3=l));M+=2);var B=(l-C)/k;B=ft(0,B,1),t=function(e,t,n,r){var i=t.x-e.x,a=t.y-e.y,o=ut(e,t),s=i/o,u=a/o;return n=null==n?0:n,r=null!=r?r:n*o,{x:e.x+s*r,y:e.y+u*r}}(S,P,B),i=Fo(S,P)}o("labelX",n,t.x),o("labelY",n,t.y),o("labelAutoAngle",n,i)}};l("source"),l("target"),this.applyLabelDimensions(e)}},jo.applyLabelDimensions=function(e){this.applyPrefixedLabelDimensions(e),e.isEdge()&&(this.applyPrefixedLabelDimensions(e,"source"),this.applyPrefixedLabelDimensions(e,"target"))},jo.applyPrefixedLabelDimensions=function(e,t){var n=e._private,r=this.getLabelText(e,t),i=this.calculateLabelDimensions(e,r),a=e.pstyle("line-height").pfValue,o=e.pstyle("text-wrap").strValue,s=ze(n.rscratch,"labelWrapCachedLines",t)||[],u="wrap"!==o?1:Math.max(s.length,1),l=i.height/u,c=l*a,d=i.width,h=i.height+(u-1)*(a-1)*l;Ne(n.rstyle,"labelWidth",t,d),Ne(n.rscratch,"labelWidth",t,d),Ne(n.rstyle,"labelHeight",t,h),Ne(n.rscratch,"labelHeight",t,h),Ne(n.rscratch,"labelLineHeight",t,c)},jo.getLabelText=function(e,t){var n=e._private,r=t?t+"-":"",i=e.pstyle(r+"label").strValue,a=e.pstyle("text-transform").value,o=function(e,r){return r?(Ne(n.rscratch,e,t,r),r):ze(n.rscratch,e,t)};if(!i)return"";"none"==a||("uppercase"==a?i=i.toUpperCase():"lowercase"==a&&(i=i.toLowerCase()));var s=e.pstyle("text-wrap").value;if("wrap"===s){var u=o("labelKey");if(null!=u&&o("labelWrapKey")===u)return o("labelWrapCachedText");for(var l=i.split("\n"),c=e.pstyle("text-max-width").pfValue,d="anywhere"===e.pstyle("text-overflow-wrap").value,h=[],f=/[\s\u200b]+/,p=d?"":" ",v=0;vc){for(var b=g.split(f),x="",w=0;wk);P++)C+=i[P],P===i.length-1&&(S=!0);return S||(C+="…"),C}return i},jo.getLabelJustification=function(e){var t=e.pstyle("text-justification").strValue,n=e.pstyle("text-halign").strValue;if("auto"!==t)return t;if(!e.isNode())return"center";switch(n){case"left":return"right";case"right":return"left";default:return"center"}},jo.calculateLabelDimensions=function(e,t){var n=pe(t,e._private.labelDimsKey),r=this.labelDimCache||(this.labelDimCache=[]),i=r[n];if(null!=i)return i;var a=e.pstyle("font-style").strValue,o=e.pstyle("font-size").pfValue,s=e.pstyle("font-family").strValue,u=e.pstyle("font-weight").strValue,l=this.labelCalcCanvas,c=this.labelCalcCanvasContext;if(!l){l=this.labelCalcCanvas=document.createElement("canvas"),c=this.labelCalcCanvasContext=l.getContext("2d");var d=l.style;d.position="absolute",d.left="-9999px",d.top="-9999px",d.zIndex="-1",d.visibility="hidden",d.pointerEvents="none"}c.font="".concat(a," ").concat(u," ").concat(o,"px ").concat(s);for(var h=0,f=0,p=t.split("\n"),v=0;v1&&void 0!==arguments[1])||arguments[1];if(t.merge(e),n)for(var r=0;r=e.desktopTapThreshold2}var S=i(t);g&&(e.hoverData.tapholdCancelled=!0),n=!0,r(v,["mousemove","vmousemove","tapdrag"],t,{x:l[0],y:l[1]});var P=function(){e.data.bgActivePosistion=void 0,e.hoverData.selecting||o.emit({originalEvent:t,type:"boxstart",position:{x:l[0],y:l[1]}}),p[4]=1,e.hoverData.selecting=!0,e.redrawHint("select",!0),e.redraw()};if(3===e.hoverData.which){if(g){var T={originalEvent:t,type:"cxtdrag",position:{x:l[0],y:l[1]}};m?m.emit(T):o.emit(T),e.hoverData.cxtDragged=!0,e.hoverData.cxtOver&&v===e.hoverData.cxtOver||(e.hoverData.cxtOver&&e.hoverData.cxtOver.emit({originalEvent:t,type:"cxtdragout",position:{x:l[0],y:l[1]}}),e.hoverData.cxtOver=v,v&&v.emit({originalEvent:t,type:"cxtdragover",position:{x:l[0],y:l[1]}}))}}else if(e.hoverData.dragging){if(n=!0,o.panningEnabled()&&o.userPanningEnabled()){var D;if(e.hoverData.justStartedPan){var M=e.hoverData.mdownPos;D={x:(l[0]-M[0])*s,y:(l[1]-M[1])*s},e.hoverData.justStartedPan=!1}else D={x:b[0]*s,y:b[1]*s};o.panBy(D),o.emit("dragpan"),e.hoverData.dragged=!0}l=e.projectIntoViewport(t.clientX,t.clientY)}else if(1!=p[4]||null!=m&&!m.pannable()){if(m&&m.pannable()&&m.active()&&m.unactivate(),m&&m.grabbed()||v==y||(y&&r(y,["mouseout","tapdragout"],t,{x:l[0],y:l[1]}),v&&r(v,["mouseover","tapdragover"],t,{x:l[0],y:l[1]}),e.hoverData.last=v),m)if(g){if(o.boxSelectionEnabled()&&S)m&&m.grabbed()&&(h(x),m.emit("freeon"),x.emit("free"),e.dragData.didDrag&&(m.emit("dragfreeon"),x.emit("dragfree"))),P();else if(m&&m.grabbed()&&e.nodeIsDraggable(m)){var B=!e.dragData.didDrag;B&&e.redrawHint("eles",!0),e.dragData.didDrag=!0,e.hoverData.draggingEles||c(x,{inDragLayer:!0});var O={x:0,y:0};if(I(b[0])&&I(b[1])&&(O.x+=b[0],O.y+=b[1],B)){var A=e.hoverData.dragDelta;A&&I(A[0])&&I(A[1])&&(O.x+=A[0],O.y+=A[1])}e.hoverData.draggingEles=!0,x.silentShift(O).emit("position drag"),e.redrawHint("drag",!0),e.redraw()}}else!function(){var t=e.hoverData.dragDelta=e.hoverData.dragDelta||[];0===t.length?(t.push(b[0]),t.push(b[1])):(t[0]+=b[0],t[1]+=b[1])}();n=!0}else g&&(e.hoverData.dragging||!o.boxSelectionEnabled()||!S&&o.panningEnabled()&&o.userPanningEnabled()?!e.hoverData.selecting&&o.panningEnabled()&&o.userPanningEnabled()&&a(m,e.hoverData.downs)&&(e.hoverData.dragging=!0,e.hoverData.justStartedPan=!0,p[4]=0,e.data.bgActivePosistion=it(d),e.redrawHint("select",!0),e.redraw()):P(),m&&m.pannable()&&m.active()&&m.unactivate());return p[2]=l[0],p[3]=l[1],n?(t.stopPropagation&&t.stopPropagation(),t.preventDefault&&t.preventDefault(),!1):void 0}}),!1),e.registerBinding(t,"mouseup",(function(t){if(e.hoverData.capture){e.hoverData.capture=!1;var a=e.cy,o=e.projectIntoViewport(t.clientX,t.clientY),s=e.selection,u=e.findNearestElement(o[0],o[1],!0,!1),l=e.dragData.possibleDragElements,c=e.hoverData.down,d=i(t);if(e.data.bgActivePosistion&&(e.redrawHint("select",!0),e.redraw()),e.hoverData.tapholdCancelled=!0,e.data.bgActivePosistion=void 0,c&&c.unactivate(),3===e.hoverData.which){var f={originalEvent:t,type:"cxttapend",position:{x:o[0],y:o[1]}};if(c?c.emit(f):a.emit(f),!e.hoverData.cxtDragged){var p={originalEvent:t,type:"cxttap",position:{x:o[0],y:o[1]}};c?c.emit(p):a.emit(p)}e.hoverData.cxtDragged=!1,e.hoverData.which=null}else if(1===e.hoverData.which){if(r(u,["mouseup","tapend","vmouseup"],t,{x:o[0],y:o[1]}),e.dragData.didDrag||e.hoverData.dragged||e.hoverData.selecting||e.hoverData.isOverThresholdDrag||(r(c,["click","tap","vclick"],t,{x:o[0],y:o[1]}),x=!1,t.timeStamp-w<=a.multiClickDebounceTime()?(b&&clearTimeout(b),x=!0,w=null,r(c,["dblclick","dbltap","vdblclick"],t,{x:o[0],y:o[1]})):(b=setTimeout((function(){x||r(c,["oneclick","onetap","voneclick"],t,{x:o[0],y:o[1]})}),a.multiClickDebounceTime()),w=t.timeStamp)),null!=c||e.dragData.didDrag||e.hoverData.selecting||e.hoverData.dragged||i(t)||(a.$(n).unselect(["tapunselect"]),l.length>0&&e.redrawHint("eles",!0),e.dragData.possibleDragElements=l=a.collection()),u!=c||e.dragData.didDrag||e.hoverData.selecting||null!=u&&u._private.selectable&&(e.hoverData.dragging||("additive"===a.selectionType()||d?u.selected()?u.unselect(["tapunselect"]):u.select(["tapselect"]):d||(a.$(n).unmerge(u).unselect(["tapunselect"]),u.select(["tapselect"]))),e.redrawHint("eles",!0)),e.hoverData.selecting){var v=a.collection(e.getAllInBox(s[0],s[1],s[2],s[3]));e.redrawHint("select",!0),v.length>0&&e.redrawHint("eles",!0),a.emit({type:"boxend",originalEvent:t,position:{x:o[0],y:o[1]}});"additive"===a.selectionType()||d||a.$(n).unmerge(v).unselect(),v.emit("box").stdFilter((function(e){return e.selectable()&&!e.selected()})).select().emit("boxselect"),e.redraw()}if(e.hoverData.dragging&&(e.hoverData.dragging=!1,e.redrawHint("select",!0),e.redrawHint("eles",!0),e.redraw()),!s[4]){e.redrawHint("drag",!0),e.redrawHint("eles",!0);var g=c&&c.grabbed();h(l),g&&(c.emit("freeon"),l.emit("free"),e.dragData.didDrag&&(c.emit("dragfreeon"),l.emit("dragfree")))}}s[4]=0,e.hoverData.down=null,e.hoverData.cxtStarted=!1,e.hoverData.draggingEles=!1,e.hoverData.selecting=!1,e.hoverData.isOverThresholdDrag=!1,e.dragData.didDrag=!1,e.hoverData.dragged=!1,e.hoverData.dragDelta=[],e.hoverData.mdownPos=null,e.hoverData.mdownGPos=null}}),!1);var E,k,C,S,P,T,D,M,B,O,A,z,N,L=function(t){if(!e.scrollingPage){var n=e.cy,r=n.zoom(),i=n.pan(),a=e.projectIntoViewport(t.clientX,t.clientY),o=[a[0]*r+i.x,a[1]*r+i.y];if(e.hoverData.draggingEles||e.hoverData.dragging||e.hoverData.cxtStarted||0!==e.selection[4])t.preventDefault();else if(n.panningEnabled()&&n.userPanningEnabled()&&n.zoomingEnabled()&&n.userZoomingEnabled()){var s;t.preventDefault(),e.data.wheelZooming=!0,clearTimeout(e.data.wheelTimeout),e.data.wheelTimeout=setTimeout((function(){e.data.wheelZooming=!1,e.redrawHint("eles",!0),e.redraw()}),150),s=null!=t.deltaY?t.deltaY/-250:null!=t.wheelDeltaY?t.wheelDeltaY/1e3:t.wheelDelta/1e3,s*=e.wheelSensitivity,1===t.deltaMode&&(s*=33);var u=n.zoom()*Math.pow(10,s);"gesturechange"===t.type&&(u=e.gestureStartZoom*t.scale),n.zoom({level:u,renderedPosition:{x:o[0],y:o[1]}}),n.emit("gesturechange"===t.type?"pinchzoom":"scrollzoom")}}};e.registerBinding(e.container,"wheel",L,!0),e.registerBinding(t,"scroll",(function(t){e.scrollingPage=!0,clearTimeout(e.scrollingPageTimeout),e.scrollingPageTimeout=setTimeout((function(){e.scrollingPage=!1}),250)}),!0),e.registerBinding(e.container,"gesturestart",(function(t){e.gestureStartZoom=e.cy.zoom(),e.hasTouchStarted||t.preventDefault()}),!0),e.registerBinding(e.container,"gesturechange",(function(t){e.hasTouchStarted||L(t)}),!0),e.registerBinding(e.container,"mouseout",(function(t){var n=e.projectIntoViewport(t.clientX,t.clientY);e.cy.emit({originalEvent:t,type:"mouseout",position:{x:n[0],y:n[1]}})}),!1),e.registerBinding(e.container,"mouseover",(function(t){var n=e.projectIntoViewport(t.clientX,t.clientY);e.cy.emit({originalEvent:t,type:"mouseover",position:{x:n[0],y:n[1]}})}),!1);var R,j,V,F,q,W,Y,X=function(e,t,n,r){return Math.sqrt((n-e)*(n-e)+(r-t)*(r-t))},H=function(e,t,n,r){return(n-e)*(n-e)+(r-t)*(r-t)};if(e.registerBinding(e.container,"touchstart",R=function(t){if(e.hasTouchStarted=!0,_(t)){p(),e.touchData.capture=!0,e.data.bgActivePosistion=void 0;var n=e.cy,i=e.touchData.now,a=e.touchData.earlier;if(t.touches[0]){var o=e.projectIntoViewport(t.touches[0].clientX,t.touches[0].clientY);i[0]=o[0],i[1]=o[1]}if(t.touches[1]&&(o=e.projectIntoViewport(t.touches[1].clientX,t.touches[1].clientY),i[2]=o[0],i[3]=o[1]),t.touches[2]&&(o=e.projectIntoViewport(t.touches[2].clientX,t.touches[2].clientY),i[4]=o[0],i[5]=o[1]),t.touches[1]){e.touchData.singleTouchMoved=!0,h(e.dragData.touchDragEles);var u=e.findContainerClientCoords();B=u[0],O=u[1],A=u[2],z=u[3],E=t.touches[0].clientX-B,k=t.touches[0].clientY-O,C=t.touches[1].clientX-B,S=t.touches[1].clientY-O,N=0<=E&&E<=A&&0<=C&&C<=A&&0<=k&&k<=z&&0<=S&&S<=z;var l=n.pan(),f=n.zoom();if(P=X(E,k,C,S),T=H(E,k,C,S),M=[((D=[(E+C)/2,(k+S)/2])[0]-l.x)/f,(D[1]-l.y)/f],T<4e4&&!t.touches[2]){var v=e.findNearestElement(i[0],i[1],!0,!0),g=e.findNearestElement(i[2],i[3],!0,!0);return v&&v.isNode()?(v.activate().emit({originalEvent:t,type:"cxttapstart",position:{x:i[0],y:i[1]}}),e.touchData.start=v):g&&g.isNode()?(g.activate().emit({originalEvent:t,type:"cxttapstart",position:{x:i[0],y:i[1]}}),e.touchData.start=g):n.emit({originalEvent:t,type:"cxttapstart",position:{x:i[0],y:i[1]}}),e.touchData.start&&(e.touchData.start._private.grabbed=!1),e.touchData.cxt=!0,e.touchData.cxtDragged=!1,e.data.bgActivePosistion=void 0,void e.redraw()}}if(t.touches[2])n.boxSelectionEnabled()&&t.preventDefault();else if(t.touches[1]);else if(t.touches[0]){var y=e.findNearestElements(i[0],i[1],!0,!0),m=y[0];if(null!=m&&(m.activate(),e.touchData.start=m,e.touchData.starts=y,e.nodeIsGrabbable(m))){var b=e.dragData.touchDragEles=n.collection(),x=null;e.redrawHint("eles",!0),e.redrawHint("drag",!0),m.selected()?(x=n.$((function(t){return t.selected()&&e.nodeIsGrabbable(t)})),c(x,{addToList:b})):d(m,{addToList:b}),s(m);var w=function(e){return{originalEvent:t,type:e,position:{x:i[0],y:i[1]}}};m.emit(w("grabon")),x?x.forEach((function(e){e.emit(w("grab"))})):m.emit(w("grab"))}r(m,["touchstart","tapstart","vmousedown"],t,{x:i[0],y:i[1]}),null==m&&(e.data.bgActivePosistion={x:o[0],y:o[1]},e.redrawHint("select",!0),e.redraw()),e.touchData.singleTouchMoved=!1,e.touchData.singleTouchStartTime=+new Date,clearTimeout(e.touchData.tapholdTimeout),e.touchData.tapholdTimeout=setTimeout((function(){!1!==e.touchData.singleTouchMoved||e.pinching||e.touchData.selecting||r(e.touchData.start,["taphold"],t,{x:i[0],y:i[1]})}),e.tapholdDuration)}if(t.touches.length>=1){for(var I=e.touchData.startPosition=[null,null,null,null,null,null],L=0;L=e.touchTapThreshold2}if(n&&e.touchData.cxt){t.preventDefault();var x=t.touches[0].clientX-B,w=t.touches[0].clientY-O,D=t.touches[1].clientX-B,A=t.touches[1].clientY-O,z=H(x,w,D,A);if(z/T>=2.25||z>=22500){e.touchData.cxt=!1,e.data.bgActivePosistion=void 0,e.redrawHint("select",!0);var L={originalEvent:t,type:"cxttapend",position:{x:s[0],y:s[1]}};e.touchData.start?(e.touchData.start.unactivate().emit(L),e.touchData.start=null):o.emit(L)}}if(n&&e.touchData.cxt){L={originalEvent:t,type:"cxtdrag",position:{x:s[0],y:s[1]}},e.data.bgActivePosistion=void 0,e.redrawHint("select",!0),e.touchData.start?e.touchData.start.emit(L):o.emit(L),e.touchData.start&&(e.touchData.start._private.grabbed=!1),e.touchData.cxtDragged=!0;var R=e.findNearestElement(s[0],s[1],!0,!0);e.touchData.cxtOver&&R===e.touchData.cxtOver||(e.touchData.cxtOver&&e.touchData.cxtOver.emit({originalEvent:t,type:"cxtdragout",position:{x:s[0],y:s[1]}}),e.touchData.cxtOver=R,R&&R.emit({originalEvent:t,type:"cxtdragover",position:{x:s[0],y:s[1]}}))}else if(n&&t.touches[2]&&o.boxSelectionEnabled())t.preventDefault(),e.data.bgActivePosistion=void 0,this.lastThreeTouch=+new Date,e.touchData.selecting||o.emit({originalEvent:t,type:"boxstart",position:{x:s[0],y:s[1]}}),e.touchData.selecting=!0,e.touchData.didSelect=!0,i[4]=1,i&&0!==i.length&&void 0!==i[0]?(i[2]=(s[0]+s[2]+s[4])/3,i[3]=(s[1]+s[3]+s[5])/3):(i[0]=(s[0]+s[2]+s[4])/3,i[1]=(s[1]+s[3]+s[5])/3,i[2]=(s[0]+s[2]+s[4])/3+1,i[3]=(s[1]+s[3]+s[5])/3+1),e.redrawHint("select",!0),e.redraw();else if(n&&t.touches[1]&&!e.touchData.didSelect&&o.zoomingEnabled()&&o.panningEnabled()&&o.userZoomingEnabled()&&o.userPanningEnabled()){if(t.preventDefault(),e.data.bgActivePosistion=void 0,e.redrawHint("select",!0),ee=e.dragData.touchDragEles){e.redrawHint("drag",!0);for(var j=0;j0&&!e.hoverData.draggingEles&&!e.swipePanning&&null!=e.data.bgActivePosistion&&(e.data.bgActivePosistion=void 0,e.redrawHint("select",!0),e.redraw())}},!1),e.registerBinding(t,"touchcancel",V=function(t){var n=e.touchData.start;e.touchData.capture=!1,n&&n.unactivate()}),e.registerBinding(t,"touchend",F=function(t){var i=e.touchData.start;if(e.touchData.capture){0===t.touches.length&&(e.touchData.capture=!1),t.preventDefault();var a=e.selection;e.swipePanning=!1,e.hoverData.draggingEles=!1;var o,s=e.cy,u=s.zoom(),l=e.touchData.now,c=e.touchData.earlier;if(t.touches[0]){var d=e.projectIntoViewport(t.touches[0].clientX,t.touches[0].clientY);l[0]=d[0],l[1]=d[1]}if(t.touches[1]&&(d=e.projectIntoViewport(t.touches[1].clientX,t.touches[1].clientY),l[2]=d[0],l[3]=d[1]),t.touches[2]&&(d=e.projectIntoViewport(t.touches[2].clientX,t.touches[2].clientY),l[4]=d[0],l[5]=d[1]),i&&i.unactivate(),e.touchData.cxt){if(o={originalEvent:t,type:"cxttapend",position:{x:l[0],y:l[1]}},i?i.emit(o):s.emit(o),!e.touchData.cxtDragged){var f={originalEvent:t,type:"cxttap",position:{x:l[0],y:l[1]}};i?i.emit(f):s.emit(f)}return e.touchData.start&&(e.touchData.start._private.grabbed=!1),e.touchData.cxt=!1,e.touchData.start=null,void e.redraw()}if(!t.touches[2]&&s.boxSelectionEnabled()&&e.touchData.selecting){e.touchData.selecting=!1;var p=s.collection(e.getAllInBox(a[0],a[1],a[2],a[3]));a[0]=void 0,a[1]=void 0,a[2]=void 0,a[3]=void 0,a[4]=0,e.redrawHint("select",!0),s.emit({type:"boxend",originalEvent:t,position:{x:l[0],y:l[1]}}),p.emit("box").stdFilter((function(e){return e.selectable()&&!e.selected()})).select().emit("boxselect"),p.nonempty()&&e.redrawHint("eles",!0),e.redraw()}if(null!=i&&i.unactivate(),t.touches[2])e.data.bgActivePosistion=void 0,e.redrawHint("select",!0);else if(t.touches[1]);else if(t.touches[0]);else if(!t.touches[0]){e.data.bgActivePosistion=void 0,e.redrawHint("select",!0);var v=e.dragData.touchDragEles;if(null!=i){var g=i._private.grabbed;h(v),e.redrawHint("drag",!0),e.redrawHint("eles",!0),g&&(i.emit("freeon"),v.emit("free"),e.dragData.didDrag&&(i.emit("dragfreeon"),v.emit("dragfree"))),r(i,["touchend","tapend","vmouseup","tapdragout"],t,{x:l[0],y:l[1]}),i.unactivate(),e.touchData.start=null}else{var y=e.findNearestElement(l[0],l[1],!0,!0);r(y,["touchend","tapend","vmouseup","tapdragout"],t,{x:l[0],y:l[1]})}var m=e.touchData.startPosition[0]-l[0],b=m*m,x=e.touchData.startPosition[1]-l[1],w=(b+x*x)*u*u;e.touchData.singleTouchMoved||(i||s.$(":selected").unselect(["tapunselect"]),r(i,["tap","vclick"],t,{x:l[0],y:l[1]}),q=!1,t.timeStamp-Y<=s.multiClickDebounceTime()?(W&&clearTimeout(W),q=!0,Y=null,r(i,["dbltap","vdblclick"],t,{x:l[0],y:l[1]})):(W=setTimeout((function(){q||r(i,["onetap","voneclick"],t,{x:l[0],y:l[1]})}),s.multiClickDebounceTime()),Y=t.timeStamp)),null!=i&&!e.dragData.didDrag&&i._private.selectable&&w2){for(var T=[l[0],l[1]],D=Math.pow(T[0]-e,2)+Math.pow(T[1]-t,2),M=1;M0)return v[0]}return null},h=Object.keys(c),f=0;f0?u:Et(i,a,e,t,n,r,o)},checkPoint:function(e,t,n,r,i,a,o){var s=Ft(r,i),u=2*s;if(Dt(e,t,this.points,a,o,r,i-u,[0,-1],n))return!0;if(Dt(e,t,this.points,a,o,r-u,i,[0,-1],n))return!0;var l=r/2+2*n,c=i/2+2*n;return!!Tt(e,t,[a-l,o-c,a-l,o,a+l,o,a+l,o-c])||!!It(e,t,u,u,a+r/2-s,o+i/2-s,n)||!!It(e,t,u,u,a-r/2+s,o+i/2-s,n)}}},registerNodeShapes:function(){var e=this.nodeShapes={},t=this;this.generateEllipse(),this.generatePolygon("triangle",Rt(3,0)),this.generateRoundPolygon("round-triangle",Rt(3,0)),this.generatePolygon("rectangle",Rt(4,0)),e.square=e.rectangle,this.generateRoundRectangle(),this.generateCutRectangle(),this.generateBarrel(),this.generateBottomRoundrectangle();var n=[0,1,1,0,0,-1,-1,0];this.generatePolygon("diamond",n),this.generateRoundPolygon("round-diamond",n),this.generatePolygon("pentagon",Rt(5,0)),this.generateRoundPolygon("round-pentagon",Rt(5,0)),this.generatePolygon("hexagon",Rt(6,0)),this.generateRoundPolygon("round-hexagon",Rt(6,0)),this.generatePolygon("heptagon",Rt(7,0)),this.generateRoundPolygon("round-heptagon",Rt(7,0)),this.generatePolygon("octagon",Rt(8,0)),this.generateRoundPolygon("round-octagon",Rt(8,0));var r=new Array(20),i=Vt(5,0),a=Vt(5,Math.PI/5),o=.5*(3-Math.sqrt(5));o*=1.57;for(var s=0;s=e.deqFastCost*v)break}else if(i){if(f>=e.deqCost*u||f>=e.deqAvgCost*s)break}else if(p>=e.deqNoDrawCost*Jo)break;var g=e.deq(t,d,c);if(!(g.length>0))break;for(var y=0;y0&&(e.onDeqd(t,l),!i&&e.shouldRedraw(t,l,d,c)&&r())}),i(t))}}},ts=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:_e;v(this,e),this.idsByKey=new Le,this.keyForId=new Le,this.cachesByLvl=new Le,this.lvls=[],this.getKey=t,this.doesEleInvalidateKey=n}return y(e,[{key:"getIdsFor",value:function(e){null==e&&Ce("Can not get id list for null key");var t=this.idsByKey,n=this.idsByKey.get(e);return n||(n=new je,t.set(e,n)),n}},{key:"addIdForKey",value:function(e,t){null!=e&&this.getIdsFor(e).add(t)}},{key:"deleteIdForKey",value:function(e,t){null!=e&&this.getIdsFor(e).delete(t)}},{key:"getNumberOfIdsForKey",value:function(e){return null==e?0:this.getIdsFor(e).size}},{key:"updateKeyMappingFor",value:function(e){var t=e.id(),n=this.keyForId.get(t),r=this.getKey(e);this.deleteIdForKey(n,t),this.addIdForKey(r,t),this.keyForId.set(t,r)}},{key:"deleteKeyMappingFor",value:function(e){var t=e.id(),n=this.keyForId.get(t);this.deleteIdForKey(n,t),this.keyForId.delete(t)}},{key:"keyHasChangedFor",value:function(e){var t=e.id();return this.keyForId.get(t)!==this.getKey(e)}},{key:"isInvalid",value:function(e){return this.keyHasChangedFor(e)||this.doesEleInvalidateKey(e)}},{key:"getCachesAt",value:function(e){var t=this.cachesByLvl,n=this.lvls,r=t.get(e);return r||(r=new Le,t.set(e,r),n.push(e)),r}},{key:"getCache",value:function(e,t){return this.getCachesAt(t).get(e)}},{key:"get",value:function(e,t){var n=this.getKey(e),r=this.getCache(n,t);return null!=r&&this.updateKeyMappingFor(e),r}},{key:"getForCachedKey",value:function(e,t){var n=this.keyForId.get(e.id());return this.getCache(n,t)}},{key:"hasCache",value:function(e,t){return this.getCachesAt(t).has(e)}},{key:"has",value:function(e,t){var n=this.getKey(e);return this.hasCache(n,t)}},{key:"setCache",value:function(e,t,n){n.key=e,this.getCachesAt(t).set(e,n)}},{key:"set",value:function(e,t,n){var r=this.getKey(e);this.setCache(r,t,n),this.updateKeyMappingFor(e)}},{key:"deleteCache",value:function(e,t){this.getCachesAt(t).delete(e)}},{key:"delete",value:function(e,t){var n=this.getKey(e);this.deleteCache(n,t)}},{key:"invalidateKey",value:function(e){var t=this;this.lvls.forEach((function(n){return t.deleteCache(e,n)}))}},{key:"invalidate",value:function(e){var t=e.id(),n=this.keyForId.get(t);this.deleteKeyMappingFor(e);var r=this.doesEleInvalidateKey(e);return r&&this.invalidateKey(n),r||0===this.getNumberOfIdsForKey(n)}}]),e}(),ns={dequeue:"dequeue",downscale:"downscale",highQuality:"highQuality"},rs=Ie({getKey:null,doesEleInvalidateKey:_e,drawElement:null,getBoundingBox:null,getRotationPoint:null,getRotationOffset:null,isVisible:we,allowEdgeTxrCaching:!0,allowParentTxrCaching:!0}),is=function(e,t){var n=this;n.renderer=e,n.onDequeues=[];var r=rs(t);Q(n,r),n.lookup=new ts(r.getKey,r.doesEleInvalidateKey),n.setupDequeueing()},as=is.prototype;as.reasons=ns,as.getTextureQueue=function(e){var t=this;return t.eleImgCaches=t.eleImgCaches||{},t.eleImgCaches[e]=t.eleImgCaches[e]||[]},as.getRetiredTextureQueue=function(e){var t=this.eleImgCaches.retired=this.eleImgCaches.retired||{};return t[e]=t[e]||[]},as.getElementQueue=function(){return this.eleCacheQueue=this.eleCacheQueue||new c.default((function(e,t){return t.reqs-e.reqs}))},as.getElementKeyToQueue=function(){return this.eleKeyToCacheQueue=this.eleKeyToCacheQueue||{}},as.getElement=function(e,t,n,r,i){var a=this,o=this.renderer,s=o.cy.zoom(),u=this.lookup;if(!t||0===t.w||0===t.h||isNaN(t.w)||isNaN(t.h)||!e.visible()||e.removed())return null;if(!a.allowEdgeTxrCaching&&e.isEdge()||!a.allowParentTxrCaching&&e.isParent())return null;if(null==r&&(r=Math.ceil(ot(s*n))),r<-4)r=-4;else if(s>=7.99||r>3)return null;var l=Math.pow(2,r),c=t.h*l,d=t.w*l,h=o.eleTextBiggerThanMin(e,l);if(!this.isVisible(e,h))return null;var f,p=u.get(e,r);if(p&&p.invalidated&&(p.invalidated=!1,p.texture.invalidatedWidth-=p.width),p)return p;if(f=c<=25?25:c<=50?50:50*Math.ceil(c/50),c>1024||d>1024)return null;var v=a.getTextureQueue(f),g=v[v.length-2],y=function(){return a.recycleTexture(f,d)||a.addTexture(f,d)};g||(g=v[v.length-1]),g||(g=y()),g.width-g.usedWidthr;P--)C=a.getElement(e,t,n,P,ns.downscale);S()}else{var T;if(!x&&!w&&!_)for(var D=r-1;D>=-4;D--){var M=u.get(e,D);if(M){T=M;break}}if(b(T))return a.queueElement(e,r),T;g.context.translate(g.usedWidth,0),g.context.scale(l,l),this.drawElement(g.context,e,t,h,!1),g.context.scale(1/l,1/l),g.context.translate(-g.usedWidth,0)}return p={x:g.usedWidth,texture:g,level:r,scale:l,width:d,height:c,scaledLabelShown:h},g.usedWidth+=Math.ceil(d+8),g.eleCaches.push(p),u.set(e,r,p),a.checkTextureFullness(g),p},as.invalidateElements=function(e){for(var t=0;t=.2*e.width&&this.retireTexture(e)},as.checkTextureFullness=function(e){var t=this.getTextureQueue(e.height);e.usedWidth/e.width>.8&&e.fullnessChecks>=10?Oe(t,e):e.fullnessChecks++},as.retireTexture=function(e){var t=e.height,n=this.getTextureQueue(t),r=this.lookup;Oe(n,e),e.retired=!0;for(var i=e.eleCaches,a=0;a=t)return a.retired=!1,a.usedWidth=0,a.invalidatedWidth=0,a.fullnessChecks=0,Ae(a.eleCaches),a.context.setTransform(1,0,0,1,0,0),a.context.clearRect(0,0,a.width,a.height),Oe(r,a),n.push(a),a}},as.queueElement=function(e,t){var n=this.getElementQueue(),r=this.getElementKeyToQueue(),i=this.getKey(e),a=r[i];if(a)a.level=Math.max(a.level,t),a.eles.merge(e),a.reqs++,n.updateItem(a);else{var o={eles:e.spawn().merge(e),level:t,reqs:1,key:i};n.push(o),r[i]=o}},as.dequeue=function(e){for(var t=this,n=t.getElementQueue(),r=t.getElementKeyToQueue(),i=[],a=t.lookup,o=0;o<1&&n.size()>0;o++){var s=n.pop(),u=s.key,l=s.eles[0],c=a.hasCache(l,s.level);if(r[u]=null,!c){i.push(s);var d=t.getBoundingBox(l);t.getElement(l,d,e,s.level,ns.dequeue)}}return i},as.removeFromQueue=function(e){var t=this.getElementQueue(),n=this.getElementKeyToQueue(),r=this.getKey(e),i=n[r];null!=i&&(1===i.eles.length?(i.reqs=xe,t.updateItem(i),t.pop(),n[r]=null):i.eles.unmerge(e))},as.onDequeue=function(e){this.onDequeues.push(e)},as.offDequeue=function(e){Oe(this.onDequeues,e)},as.setupDequeueing=es({deqRedrawThreshold:100,deqCost:.15,deqAvgCost:.1,deqNoDrawCost:.9,deqFastCost:.9,deq:function(e,t,n){return e.dequeue(t,n)},onDeqd:function(e,t){for(var n=0;n=3.99||n>2)return null;r.validateLayersElesOrdering(n,e);var o,s,u=r.layersByLevel,l=Math.pow(2,n),c=u[n]=u[n]||[];if(r.levelIsComplete(n,e))return c;!function(){var t=function(t){if(r.validateLayersElesOrdering(t,e),r.levelIsComplete(t,e))return s=u[t],!0},i=function(e){if(!s)for(var r=n+e;-4<=r&&r<=2&&!t(r);r+=e);};i(1),i(-1);for(var a=c.length-1;a>=0;a--){var o=c[a];o.invalid&&Oe(c,o)}}();var d=function(t){var i=(t=t||{}).after;if(function(){if(!o){o=pt();for(var t=0;t16e6)return null;var a=r.makeLayer(o,n);if(null!=i){var s=c.indexOf(i)+1;c.splice(s,0,a)}else(void 0===t.insert||t.insert)&&c.unshift(a);return a};if(r.skipping&&!a)return null;for(var h=null,f=e.length/1,p=!a,v=0;v=f||!_t(h.bb,g.boundingBox()))&&!(h=d({insert:!0,after:h})))return null;s||p?r.queueLayer(h,g):r.drawEleInLayer(h,g,n,t),h.eles.push(g),m[n]=h}}return s||(p?null:c)},ss.getEleLevelForLayerLevel=function(e,t){return e},ss.drawEleInLayer=function(e,t,n,r){var i=this.renderer,a=e.context,o=t.boundingBox();0!==o.w&&0!==o.h&&t.visible()&&(n=this.getEleLevelForLayerLevel(n,r),i.setImgSmoothing(a,!1),i.drawCachedElement(a,t,null,null,n,!0),i.setImgSmoothing(a,!0))},ss.levelIsComplete=function(e,t){var n=this.layersByLevel[e];if(!n||0===n.length)return!1;for(var r=0,i=0;i0)return!1;if(a.invalid)return!1;r+=a.eles.length}return r===t.length},ss.validateLayersElesOrdering=function(e,t){var n=this.layersByLevel[e];if(n)for(var r=0;r0){e=!0;break}}return e},ss.invalidateElements=function(e){var t=this;0!==e.length&&(t.lastInvalidationTime=oe(),0!==e.length&&t.haveLayers()&&t.updateElementsInLayers(e,(function(e,n,r){t.invalidateLayer(e)})))},ss.invalidateLayer=function(e){if(this.lastInvalidationTime=oe(),!e.invalid){var t=e.level,n=e.eles,r=this.layersByLevel[t];Oe(r,e),e.elesQueue=[],e.invalid=!0,e.replacement&&(e.replacement.invalid=!0);for(var i=0;i3&&void 0!==arguments[3])||arguments[3],i=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],a=!(arguments.length>5&&void 0!==arguments[5])||arguments[5],o=this,s=t._private.rscratch;if((!a||t.visible())&&!s.badLine&&null!=s.allpts&&!isNaN(s.allpts[0])){var u;n&&(u=n,e.translate(-u.x1,-u.y1));var l=a?t.pstyle("opacity").value:1,c=a?t.pstyle("line-opacity").value:1,d=t.pstyle("curve-style").value,h=t.pstyle("line-style").value,f=t.pstyle("width").pfValue,p=t.pstyle("line-cap").value,v=l*c,g=l*c,y=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:v;"straight-triangle"===d?(o.eleStrokeStyle(e,t,n),o.drawEdgeTrianglePath(t,e,s.allpts)):(e.lineWidth=f,e.lineCap=p,o.eleStrokeStyle(e,t,n),o.drawEdgePath(t,e,s.allpts,h),e.lineCap="butt")},m=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:g;o.drawArrowheads(e,t,n)};if(e.lineJoin="round","yes"===t.pstyle("ghost").value){var b=t.pstyle("ghost-offset-x").pfValue,x=t.pstyle("ghost-offset-y").pfValue,w=t.pstyle("ghost-opacity").value,_=v*w;e.translate(b,x),y(_),m(_),e.translate(-b,-x)}i&&o.drawEdgeUnderlay(e,t),y(),m(),i&&o.drawEdgeOverlay(e,t),o.drawElementText(e,t,null,r),n&&e.translate(u.x1,u.y1)}}},Cs=function(e){if(!["overlay","underlay"].includes(e))throw new Error("Invalid state");return function(t,n){if(n.visible()){var r=n.pstyle("".concat(e,"-opacity")).value;if(0!==r){var i=this,a=i.usePaths(),o=n._private.rscratch,s=2*n.pstyle("".concat(e,"-padding")).pfValue,u=n.pstyle("".concat(e,"-color")).value;t.lineWidth=s,"self"!==o.edgeType||a?t.lineCap="round":t.lineCap="butt",i.colorStrokeStyle(t,u[0],u[1],u[2],r),i.drawEdgePath(n,t,o.allpts,"solid")}}}};ks.drawEdgeOverlay=Cs("overlay"),ks.drawEdgeUnderlay=Cs("underlay"),ks.drawEdgePath=function(e,t,n,r){var i,a=e._private.rscratch,o=t,s=!1,u=this.usePaths(),l=e.pstyle("line-dash-pattern").pfValue,c=e.pstyle("line-dash-offset").pfValue;if(u){var d=n.join("$");a.pathCacheKey&&a.pathCacheKey===d?(i=t=a.pathCache,s=!0):(i=t=new Path2D,a.pathCacheKey=d,a.pathCache=i)}if(o.setLineDash)switch(r){case"dotted":o.setLineDash([1,1]);break;case"dashed":o.setLineDash(l),o.lineDashOffset=c;break;case"solid":o.setLineDash([])}if(!s&&!a.badLine)switch(t.beginPath&&t.beginPath(),t.moveTo(n[0],n[1]),a.edgeType){case"bezier":case"self":case"compound":case"multibezier":for(var h=2;h+35&&void 0!==arguments[5]?arguments[5]:5,o=arguments.length>6?arguments[6]:void 0;e.beginPath(),e.moveTo(t+a,n),e.lineTo(t+r-a,n),e.quadraticCurveTo(t+r,n,t+r,n+a),e.lineTo(t+r,n+i-a),e.quadraticCurveTo(t+r,n+i,t+r-a,n+i),e.lineTo(t+a,n+i),e.quadraticCurveTo(t,n+i,t,n+i-a),e.lineTo(t,n+a),e.quadraticCurveTo(t,n,t+a,n),e.closePath(),o?e.stroke():e.fill()}Ps.eleTextBiggerThanMin=function(e,t){if(!t){var n=e.cy().zoom(),r=this.getPixelRatio(),i=Math.ceil(ot(n*r));t=Math.pow(2,i)}return!(e.pstyle("font-size").pfValue*t5&&void 0!==arguments[5])||arguments[5],o=this;if(null==r){if(a&&!o.eleTextBiggerThanMin(t))return}else if(!1===r)return;if(t.isNode()){var s=t.pstyle("label");if(!s||!s.value)return;var u=o.getLabelJustification(t);e.textAlign=u,e.textBaseline="bottom"}else{var l=t.element()._private.rscratch.badLine,c=t.pstyle("label"),d=t.pstyle("source-label"),h=t.pstyle("target-label");if(l||(!c||!c.value)&&(!d||!d.value)&&(!h||!h.value))return;e.textAlign="center",e.textBaseline="bottom"}var f,p=!n;n&&(f=n,e.translate(-f.x1,-f.y1)),null==i?(o.drawText(e,t,null,p,a),t.isEdge()&&(o.drawText(e,t,"source",p,a),o.drawText(e,t,"target",p,a))):o.drawText(e,t,i,p,a),n&&e.translate(f.x1,f.y1)},Ps.getFontCache=function(e){var t;this.fontCaches=this.fontCaches||[];for(var n=0;n2&&void 0!==arguments[2])||arguments[2],r=t.pstyle("font-style").strValue,i=t.pstyle("font-size").pfValue+"px",a=t.pstyle("font-family").strValue,o=t.pstyle("font-weight").strValue,s=n?t.effectiveOpacity()*t.pstyle("text-opacity").value:1,u=t.pstyle("text-outline-opacity").value*s,l=t.pstyle("color").value,c=t.pstyle("text-outline-color").value;e.font=r+" "+o+" "+i+" "+a,e.lineJoin="round",this.colorFillStyle(e,l[0],l[1],l[2],s),this.colorStrokeStyle(e,c[0],c[1],c[2],u)},Ps.getTextAngle=function(e,t){var n=e._private.rscratch,r=t?t+"-":"",i=e.pstyle(r+"text-rotation"),a=ze(n,"labelAngle",t);return"autorotate"===i.strValue?e.isEdge()?a:0:"none"===i.strValue?0:i.pfValue},Ps.drawText=function(e,t,n){var r=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],i=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],a=t._private.rscratch,o=i?t.effectiveOpacity():1;if(!i||0!==o&&0!==t.pstyle("text-opacity").value){"main"===n&&(n=null);var s,u,l=ze(a,"labelX",n),c=ze(a,"labelY",n),d=this.getLabelText(t,n);if(null!=d&&""!==d&&!isNaN(l)&&!isNaN(c)){this.setupTextStyle(e,t,i);var h,f=n?n+"-":"",p=ze(a,"labelWidth",n),v=ze(a,"labelHeight",n),g=t.pstyle(f+"text-margin-x").pfValue,y=t.pstyle(f+"text-margin-y").pfValue,m=t.isEdge(),b=t.pstyle("text-halign").value,x=t.pstyle("text-valign").value;switch(m&&(b="center",x="center"),l+=g,c+=y,0!==(h=r?this.getTextAngle(t,n):0)&&(s=l,u=c,e.translate(s,u),e.rotate(h),l=0,c=0),x){case"top":break;case"center":c+=v/2;break;case"bottom":c+=v}var w=t.pstyle("text-background-opacity").value,_=t.pstyle("text-border-opacity").value,E=t.pstyle("text-border-width").pfValue,k=t.pstyle("text-background-padding").pfValue,C=0===t.pstyle("text-background-shape").strValue.indexOf("round");if(w>0||E>0&&_>0){var S=l-k;switch(b){case"left":S-=p;break;case"center":S-=p/2}var P=c-v-k,T=p+2*k,D=v+2*k;if(w>0){var M=e.fillStyle,B=t.pstyle("text-background-color").value;e.fillStyle="rgba("+B[0]+","+B[1]+","+B[2]+","+w*o+")",C?Ts(e,S,P,T,D,2):e.fillRect(S,P,T,D),e.fillStyle=M}if(E>0&&_>0){var I=e.strokeStyle,O=e.lineWidth,A=t.pstyle("text-border-color").value,z=t.pstyle("text-border-style").value;if(e.strokeStyle="rgba("+A[0]+","+A[1]+","+A[2]+","+_*o+")",e.lineWidth=E,e.setLineDash)switch(z){case"dotted":e.setLineDash([1,1]);break;case"dashed":e.setLineDash([4,2]);break;case"double":e.lineWidth=E/4,e.setLineDash([]);break;case"solid":e.setLineDash([])}if(C?Ts(e,S,P,T,D,2,"stroke"):e.strokeRect(S,P,T,D),"double"===z){var N=E/2;C?Ts(e,S+N,P+N,T-2*N,D-2*N,2,"stroke"):e.strokeRect(S+N,P+N,T-2*N,D-2*N)}e.setLineDash&&e.setLineDash([]),e.lineWidth=O,e.strokeStyle=I}}var L=2*t.pstyle("text-outline-width").pfValue;if(L>0&&(e.lineWidth=L),"wrap"===t.pstyle("text-wrap").value){var R=ze(a,"labelWrapCachedLines",n),j=ze(a,"labelLineHeight",n),V=p/2,F=this.getLabelJustification(t);switch("auto"===F||("left"===b?"left"===F?l+=-p:"center"===F&&(l+=-V):"center"===b?"left"===F?l+=-V:"right"===F&&(l+=V):"right"===b&&("center"===F?l+=V:"right"===F&&(l+=p))),x){case"top":case"center":case"bottom":c-=(R.length-1)*j}for(var q=0;q0&&e.strokeText(R[q],l,c),e.fillText(R[q],l,c),c+=j}else L>0&&e.strokeText(d,l,c),e.fillText(d,l,c);0!==h&&(e.rotate(-h),e.translate(-s,-u))}}};var Ds={drawNode:function(e,t,n){var r,i,a=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],o=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],s=!(arguments.length>5&&void 0!==arguments[5])||arguments[5],u=this,l=t._private,c=l.rscratch,d=t.position();if(I(d.x)&&I(d.y)&&(!s||t.visible())){var h,f,p=s?t.effectiveOpacity():1,v=u.usePaths(),g=!1,y=t.padding();r=t.width()+2*y,i=t.height()+2*y,n&&(f=n,e.translate(-f.x1,-f.y1));for(var m=t.pstyle("background-image").value,b=new Array(m.length),x=new Array(m.length),w=0,_=0;_0&&void 0!==arguments[0]?arguments[0]:P;u.eleFillStyle(e,t,n)},R=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:M;u.colorStrokeStyle(e,T[0],T[1],T[2],t)},j=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:z;u.colorStrokeStyle(e,O[0],O[1],O[2],t)},V=function(e,t,n,r){var i,a=u.nodePathCache=u.nodePathCache||[],o=ve("polygon"===n?n+","+r.join(","):n,""+t,""+e),s=a[o],l=!1;return null!=s?(i=s,l=!0,c.pathCache=i):(i=new Path2D,a[o]=c.pathCache=i),{path:i,cacheHit:l}},F=t.pstyle("shape").strValue,q=t.pstyle("shape-polygon-points").pfValue;if(v){e.translate(d.x,d.y);var W=V(r,i,F,q);h=W.path,g=W.cacheHit}var Y=function(){if(!g){var n=d;v&&(n={x:0,y:0}),u.nodeShapes[u.getNodeShape(t)].draw(h||e,n.x,n.y,r,i)}v?e.fill(h):e.fill()},X=function(){for(var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:p,r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=l.backgrounding,a=0,o=0;o0&&void 0!==arguments[0]&&arguments[0],a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:p;u.hasPie(t)&&(u.drawPie(e,t,a),n&&(v||u.nodeShapes[u.getNodeShape(t)].draw(e,d.x,d.y,r,i)))},U=function(){var t=(C>0?C:-C)*(arguments.length>0&&void 0!==arguments[0]?arguments[0]:p),n=C>0?0:255;0!==C&&(u.colorFillStyle(e,n,n,n,t),v?e.fill(h):e.fill())},Z=function(){if(S>0){if(e.lineWidth=S,e.lineCap="butt",e.setLineDash)switch(D){case"dotted":e.setLineDash([1,1]);break;case"dashed":e.setLineDash([4,2]);break;case"solid":case"double":e.setLineDash([])}if(v?e.stroke(h):e.stroke(),"double"===D){e.lineWidth=S/3;var t=e.globalCompositeOperation;e.globalCompositeOperation="destination-out",v?e.stroke(h):e.stroke(),e.globalCompositeOperation=t}e.setLineDash&&e.setLineDash([])}},K=function(){if(B>0){if(e.lineWidth=B,e.lineCap="butt",e.setLineDash)switch(A){case"dotted":e.setLineDash([1,1]);break;case"dashed":e.setLineDash([4,2]);break;case"solid":case"double":e.setLineDash([])}var n=d;v&&(n={x:0,y:0});var a,o=u.getNodeShape(t),s=(r+S+(B+N))/r,l=(i+S+(B+N))/i,c=r*s,h=i*l,f=u.nodeShapes[o].points;if(v&&(a=V(c,h,o,f).path),"ellipse"===o)u.drawEllipsePath(a||e,n.x,n.y,c,h);else if(["round-diamond","round-heptagon","round-hexagon","round-octagon","round-pentagon","round-polygon","round-triangle","round-tag"].includes(o)){var p=0,g=0,y=0;"round-diamond"===o?p=1.4*(S+N+B):"round-heptagon"===o?(p=1.075*(S+N+B),y=-(S/2+N+B)/35):"round-hexagon"===o?p=1.12*(S+N+B):"round-pentagon"===o?(p=1.13*(S+N+B),y=-(S/2+N+B)/15):"round-tag"===o?(p=1.12*(S+N+B),g=.07*(S/2+B+N)):"round-triangle"===o&&(p=(S+N+B)*(Math.PI/2),y=-(S+N/2+B)/Math.PI),0!==p&&(s=(r+p)/r,l=(i+p)/i),u.drawRoundPolygonPath(a||e,n.x+g,n.y+y,r*s,i*l,f)}else["roundrectangle","round-rectangle"].includes(o)?u.drawRoundRectanglePath(a||e,n.x,n.y,c,h):["cutrectangle","cut-rectangle"].includes(o)?u.drawCutRectanglePath(a||e,n.x,n.y,c,h):["bottomroundrectangle","bottom-round-rectangle"].includes(o)?u.drawBottomRoundRectanglePath(a||e,n.x,n.y,c,h):"barrel"===o?u.drawBarrelPath(a||e,n.x,n.y,c,h):o.startsWith("polygon")||["rhomboid","right-rhomboid","round-tag","tag","vee"].includes(o)?(f=Mt(Bt(f,(S+B+N)/r)),u.drawPolygonPath(a||e,n.x,n.y,r,i,f)):(f=Mt(Bt(f,-(S+B+N)/r)),u.drawPolygonPath(a||e,n.x,n.y,r,i,f));if(v?e.stroke(a):e.stroke(),"double"===A){e.lineWidth=S/3;var m=e.globalCompositeOperation;e.globalCompositeOperation="destination-out",v?e.stroke(a):e.stroke(),e.globalCompositeOperation=m}e.setLineDash&&e.setLineDash([])}};if("yes"===t.pstyle("ghost").value){var G=t.pstyle("ghost-offset-x").pfValue,$=t.pstyle("ghost-offset-y").pfValue,Q=t.pstyle("ghost-opacity").value,J=Q*p;e.translate(G,$),j(),K(),L(Q*P),Y(),X(J,!0),R(Q*M),Z(),H(0!==C||0!==S),X(J,!1),U(J),e.translate(-G,-$)}v&&e.translate(-d.x,-d.y),o&&u.drawNodeUnderlay(e,t,d,r,i),v&&e.translate(d.x,d.y),j(),K(),L(),Y(),X(p,!0),R(),Z(),H(0!==C||0!==S),X(p,!1),U(),v&&e.translate(-d.x,-d.y),u.drawElementText(e,t,null,a),o&&u.drawNodeOverlay(e,t,d,r,i),n&&e.translate(f.x1,f.y1)}}},Ms=function(e){if(!["overlay","underlay"].includes(e))throw new Error("Invalid state");return function(t,n,r,i,a){if(n.visible()){var o=n.pstyle("".concat(e,"-padding")).pfValue,s=n.pstyle("".concat(e,"-opacity")).value,u=n.pstyle("".concat(e,"-color")).value,l=n.pstyle("".concat(e,"-shape")).value;if(s>0){if(r=r||n.position(),null==i||null==a){var c=n.padding();i=n.width()+2*c,a=n.height()+2*c}this.colorFillStyle(t,u[0],u[1],u[2],s),this.nodeShapes[l].draw(t,r.x,r.y,i+2*o,a+2*o),t.fill()}}}};Ds.drawNodeOverlay=Ms("overlay"),Ds.drawNodeUnderlay=Ms("underlay"),Ds.hasPie=function(e){return(e=e[0])._private.hasPie},Ds.drawPie=function(e,t,n,r){t=t[0],r=r||t.position();var i=t.cy().style(),a=t.pstyle("pie-size"),o=r.x,s=r.y,u=t.width(),l=t.height(),c=Math.min(u,l)/2,d=0;this.usePaths()&&(o=0,s=0),"%"===a.units?c*=a.pfValue:void 0!==a.pfValue&&(c=a.pfValue/2);for(var h=1;h<=i.pieBackgroundN;h++){var f=t.pstyle("pie-"+h+"-background-size").value,p=t.pstyle("pie-"+h+"-background-color").value,v=t.pstyle("pie-"+h+"-background-opacity").value*n,g=f/100;g+d>1&&(g=1-d);var y=1.5*Math.PI+2*Math.PI*d,m=y+2*Math.PI*g;0===f||d>=1||d+g>1||(e.beginPath(),e.moveTo(o,s),e.arc(o,s,c,y,m),e.closePath(),this.colorFillStyle(e,p[0],p[1],p[2],v),e.fill(),d+=g)}};for(var Bs={getPixelRatio:function(){var e=this.data.contexts[0];if(null!=this.forcedPixelRatio)return this.forcedPixelRatio;var t=e.backingStorePixelRatio||e.webkitBackingStorePixelRatio||e.mozBackingStorePixelRatio||e.msBackingStorePixelRatio||e.oBackingStorePixelRatio||e.backingStorePixelRatio||1;return(window.devicePixelRatio||1)/t},paintCache:function(e){for(var t,n=this.paintCaches=this.paintCaches||[],r=!0,i=0;io.minMbLowQualFrames&&(o.motionBlurPxRatio=o.mbPxRBlurry)),o.clearingMotionBlur&&(o.motionBlurPxRatio=1),o.textureDrawLastFrame&&!d&&(c[o.NODE]=!0,c[o.SELECT_BOX]=!0);var m=u.style(),b=u.zoom(),x=void 0!==i?i:b,w=u.pan(),_={x:w.x,y:w.y},E={zoom:b,pan:{x:w.x,y:w.y}},k=o.prevViewport;void 0===k||E.zoom!==k.zoom||E.pan.x!==k.pan.x||E.pan.y!==k.pan.y||v&&!p||(o.motionBlurPxRatio=1),a&&(_=a),x*=s,_.x*=s,_.y*=s;var C=o.getCachedZSortedEles();function S(e,t,n,r,i){var a=e.globalCompositeOperation;e.globalCompositeOperation="destination-out",o.colorFillStyle(e,255,255,255,o.motionBlurTransparency),e.fillRect(t,n,r,i),e.globalCompositeOperation=a}function P(e,r){var s,u,c,d;o.clearingMotionBlur||e!==l.bufferContexts[o.MOTIONBLUR_BUFFER_NODE]&&e!==l.bufferContexts[o.MOTIONBLUR_BUFFER_DRAG]?(s=_,u=x,c=o.canvasWidth,d=o.canvasHeight):(s={x:w.x*f,y:w.y*f},u=b*f,c=o.canvasWidth*f,d=o.canvasHeight*f),e.setTransform(1,0,0,1,0,0),"motionBlur"===r?S(e,0,0,c,d):t||void 0!==r&&!r||e.clearRect(0,0,c,d),n||(e.translate(s.x,s.y),e.scale(u,u)),a&&e.translate(a.x,a.y),i&&e.scale(i,i)}if(d||(o.textureDrawLastFrame=!1),d){if(o.textureDrawLastFrame=!0,!o.textureCache){o.textureCache={},o.textureCache.bb=u.mutableElements().boundingBox(),o.textureCache.texture=o.data.bufferCanvases[o.TEXTURE_BUFFER];var T=o.data.bufferContexts[o.TEXTURE_BUFFER];T.setTransform(1,0,0,1,0,0),T.clearRect(0,0,o.canvasWidth*o.textureMult,o.canvasHeight*o.textureMult),o.render({forcedContext:T,drawOnlyNodeLayer:!0,forcedPxRatio:s*o.textureMult}),(E=o.textureCache.viewport={zoom:u.zoom(),pan:u.pan(),width:o.canvasWidth,height:o.canvasHeight}).mpan={x:(0-E.pan.x)/E.zoom,y:(0-E.pan.y)/E.zoom}}c[o.DRAG]=!1,c[o.NODE]=!1;var D=l.contexts[o.NODE],M=o.textureCache.texture;E=o.textureCache.viewport,D.setTransform(1,0,0,1,0,0),h?S(D,0,0,E.width,E.height):D.clearRect(0,0,E.width,E.height);var B=m.core("outside-texture-bg-color").value,I=m.core("outside-texture-bg-opacity").value;o.colorFillStyle(D,B[0],B[1],B[2],I),D.fillRect(0,0,E.width,E.height),b=u.zoom(),P(D,!1),D.clearRect(E.mpan.x,E.mpan.y,E.width/E.zoom/s,E.height/E.zoom/s),D.drawImage(M,E.mpan.x,E.mpan.y,E.width/E.zoom/s,E.height/E.zoom/s)}else o.textureOnViewport&&!t&&(o.textureCache=null);var O=u.extent(),A=o.pinching||o.hoverData.dragging||o.swipePanning||o.data.wheelZooming||o.hoverData.draggingEles||o.cy.animated(),z=o.hideEdgesOnViewport&&A,N=[];if(N[o.NODE]=!c[o.NODE]&&h&&!o.clearedForMotionBlur[o.NODE]||o.clearingMotionBlur,N[o.NODE]&&(o.clearedForMotionBlur[o.NODE]=!0),N[o.DRAG]=!c[o.DRAG]&&h&&!o.clearedForMotionBlur[o.DRAG]||o.clearingMotionBlur,N[o.DRAG]&&(o.clearedForMotionBlur[o.DRAG]=!0),c[o.NODE]||n||r||N[o.NODE]){var L=h&&!N[o.NODE]&&1!==f;P(D=t||(L?o.data.bufferContexts[o.MOTIONBLUR_BUFFER_NODE]:l.contexts[o.NODE]),h&&!L?"motionBlur":void 0),z?o.drawCachedNodes(D,C.nondrag,s,O):o.drawLayeredElements(D,C.nondrag,s,O),o.debug&&o.drawDebugPoints(D,C.nondrag),n||h||(c[o.NODE]=!1)}if(!r&&(c[o.DRAG]||n||N[o.DRAG])&&(L=h&&!N[o.DRAG]&&1!==f,P(D=t||(L?o.data.bufferContexts[o.MOTIONBLUR_BUFFER_DRAG]:l.contexts[o.DRAG]),h&&!L?"motionBlur":void 0),z?o.drawCachedNodes(D,C.drag,s,O):o.drawCachedElements(D,C.drag,s,O),o.debug&&o.drawDebugPoints(D,C.drag),n||h||(c[o.DRAG]=!1)),o.showFps||!r&&c[o.SELECT_BOX]&&!n){if(P(D=t||l.contexts[o.SELECT_BOX]),1==o.selection[4]&&(o.hoverData.selecting||o.touchData.selecting)){b=o.cy.zoom();var R=m.core("selection-box-border-width").value/b;D.lineWidth=R,D.fillStyle="rgba("+m.core("selection-box-color").value[0]+","+m.core("selection-box-color").value[1]+","+m.core("selection-box-color").value[2]+","+m.core("selection-box-opacity").value+")",D.fillRect(o.selection[0],o.selection[1],o.selection[2]-o.selection[0],o.selection[3]-o.selection[1]),R>0&&(D.strokeStyle="rgba("+m.core("selection-box-border-color").value[0]+","+m.core("selection-box-border-color").value[1]+","+m.core("selection-box-border-color").value[2]+","+m.core("selection-box-opacity").value+")",D.strokeRect(o.selection[0],o.selection[1],o.selection[2]-o.selection[0],o.selection[3]-o.selection[1]))}if(l.bgActivePosistion&&!o.hoverData.selecting){b=o.cy.zoom();var j=l.bgActivePosistion;D.fillStyle="rgba("+m.core("active-bg-color").value[0]+","+m.core("active-bg-color").value[1]+","+m.core("active-bg-color").value[2]+","+m.core("active-bg-opacity").value+")",D.beginPath(),D.arc(j.x,j.y,m.core("active-bg-size").pfValue/b,0,2*Math.PI),D.fill()}var V=o.lastRedrawTime;if(o.showFps&&V){V=Math.round(V);var F=Math.round(1e3/V);D.setTransform(1,0,0,1,0,0),D.fillStyle="rgba(255, 0, 0, 0.75)",D.strokeStyle="rgba(255, 0, 0, 0.75)",D.lineWidth=1,D.fillText("1 frame = "+V+" ms = "+F+" fps",0,20),D.strokeRect(0,30,250,20),D.fillRect(0,30,250*Math.min(F/60,1),20)}n||(c[o.SELECT_BOX]=!1)}if(h&&1!==f){var q=l.contexts[o.NODE],W=o.data.bufferCanvases[o.MOTIONBLUR_BUFFER_NODE],Y=l.contexts[o.DRAG],X=o.data.bufferCanvases[o.MOTIONBLUR_BUFFER_DRAG],H=function(e,t,n){e.setTransform(1,0,0,1,0,0),n||!y?e.clearRect(0,0,o.canvasWidth,o.canvasHeight):S(e,0,0,o.canvasWidth,o.canvasHeight);var r=f;e.drawImage(t,0,0,o.canvasWidth*r,o.canvasHeight*r,0,0,o.canvasWidth,o.canvasHeight)};(c[o.NODE]||N[o.NODE])&&(H(q,W,N[o.NODE]),c[o.NODE]=!1),(c[o.DRAG]||N[o.DRAG])&&(H(Y,X,N[o.DRAG]),c[o.DRAG]=!1)}o.prevViewport=E,o.clearingMotionBlur&&(o.clearingMotionBlur=!1,o.motionBlurCleared=!0,o.motionBlur=!0),h&&(o.motionBlurTimeout=setTimeout((function(){o.motionBlurTimeout=null,o.clearedForMotionBlur[o.NODE]=!1,o.clearedForMotionBlur[o.DRAG]=!1,o.motionBlur=!1,o.clearingMotionBlur=!d,o.mbFrames=0,c[o.NODE]=!0,c[o.DRAG]=!0,o.redraw()}),100)),t||u.emit("render")}},Is={drawPolygonPath:function(e,t,n,r,i,a){var o=r/2,s=i/2;e.beginPath&&e.beginPath(),e.moveTo(t+o*a[0],n+s*a[1]);for(var u=1;u0&&a>0){h.clearRect(0,0,i,a),h.globalCompositeOperation="source-over";var f=this.getCachedZSortedEles();if(e.full)h.translate(-n.x1*u,-n.y1*u),h.scale(u,u),this.drawElements(h,f),h.scale(1/u,1/u),h.translate(n.x1*u,n.y1*u);else{var p=t.pan(),v={x:p.x*u,y:p.y*u};u*=t.zoom(),h.translate(v.x,v.y),h.scale(u,u),this.drawElements(h,f),h.scale(1/u,1/u),h.translate(-v.x,-v.y)}e.bg&&(h.globalCompositeOperation="destination-over",h.fillStyle=e.bg,h.rect(0,0,i,a),h.fill())}return d},js.png=function(e){return Fs(e,this.bufferCanvasImage(e),"image/png")},js.jpg=function(e){return Fs(e,this.bufferCanvasImage(e),"image/jpeg")};var qs=Ys,Ws=Ys.prototype;function Ys(e){var t=this;t.data={canvases:new Array(Ws.CANVAS_LAYERS),contexts:new Array(Ws.CANVAS_LAYERS),canvasNeedsRedraw:new Array(Ws.CANVAS_LAYERS),bufferCanvases:new Array(Ws.BUFFER_COUNT),bufferContexts:new Array(Ws.CANVAS_LAYERS)};var n="-webkit-tap-highlight-color",r="rgba(0,0,0,0)";t.data.canvasContainer=document.createElement("div");var i=t.data.canvasContainer.style;t.data.canvasContainer.style[n]=r,i.position="relative",i.zIndex="0",i.overflow="hidden";var a=e.cy.container();a.appendChild(t.data.canvasContainer),a.style[n]=r;var o={"-webkit-user-select":"none","-moz-user-select":"-moz-none","user-select":"none","-webkit-tap-highlight-color":"rgba(0,0,0,0)","outline-style":"none"};_&&_.userAgent.match(/msie|trident|edge/i)&&(o["-ms-touch-action"]="none",o["touch-action"]="none");for(var s=0;s{e.exports=n(2894)},2894:function(e,t){var n,r,i;(function(){var a,o,s,u,l,c,d,h,f,p,v,g,y,m,b;s=Math.floor,p=Math.min,o=function(e,t){return et?1:0},f=function(e,t,n,r,i){var a;if(null==n&&(n=0),null==i&&(i=o),n<0)throw new Error("lo must be non-negative");for(null==r&&(r=e.length);nn;0<=n?t++:t--)l.push(t);return l}.apply(this).reverse()).length;rv;0<=v?++c:--c)g.push(l(e,n));return g},m=function(e,t,n,r){var i,a,s;for(null==r&&(r=o),i=e[n];n>t&&r(i,a=e[s=n-1>>1])<0;)e[n]=a,n=s;return e[n]=i},b=function(e,t,n){var r,i,a,s,u;for(null==n&&(n=o),i=e.length,u=t,a=e[t],r=2*t+1;r{var r=n(1789),i=n(401),a=n(7667),o=n(1327),s=n(1866);function u(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t{var r=n(7040),i=n(4125),a=n(2117),o=n(7518),s=n(4705);function u(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t{var r=n(852)(n(5639),"Map");e.exports=r},3369:(e,t,n)=>{var r=n(4785),i=n(1285),a=n(6e3),o=n(9916),s=n(5265);function u(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t{var r=n(5639).Symbol;e.exports=r},9932:e=>{e.exports=function(e,t){for(var n=-1,r=null==e?0:e.length,i=Array(r);++n{var r=n(9465),i=n(7813),a=Object.prototype.hasOwnProperty;e.exports=function(e,t,n){var o=e[t];a.call(e,t)&&i(o,n)&&(void 0!==n||t in e)||r(e,t,n)}},8470:(e,t,n)=>{var r=n(7813);e.exports=function(e,t){for(var n=e.length;n--;)if(r(e[n][0],t))return n;return-1}},9465:(e,t,n)=>{var r=n(8777);e.exports=function(e,t,n){"__proto__"==t&&r?r(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n}},7786:(e,t,n)=>{var r=n(1811),i=n(327);e.exports=function(e,t){for(var n=0,a=(t=r(t,e)).length;null!=e&&n{var r=n(2705),i=n(9607),a=n(2333),o=r?r.toStringTag:void 0;e.exports=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":o&&o in Object(e)?i(e):a(e)}},8458:(e,t,n)=>{var r=n(3560),i=n(5346),a=n(3218),o=n(346),s=/^\[object .+?Constructor\]$/,u=Function.prototype,l=Object.prototype,c=u.toString,d=l.hasOwnProperty,h=RegExp("^"+c.call(d).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");e.exports=function(e){return!(!a(e)||i(e))&&(r(e)?h:s).test(o(e))}},611:(e,t,n)=>{var r=n(4865),i=n(1811),a=n(5776),o=n(3218),s=n(327);e.exports=function(e,t,n,u){if(!o(e))return e;for(var l=-1,c=(t=i(t,e)).length,d=c-1,h=e;null!=h&&++l{var r=n(2705),i=n(9932),a=n(1469),o=n(3448),s=r?r.prototype:void 0,u=s?s.toString:void 0;e.exports=function e(t){if("string"==typeof t)return t;if(a(t))return i(t,e)+"";if(o(t))return u?u.call(t):"";var n=t+"";return"0"==n&&1/t==-1/0?"-0":n}},7561:(e,t,n)=>{var r=n(7990),i=/^\s+/;e.exports=function(e){return e?e.slice(0,r(e)+1).replace(i,""):e}},1811:(e,t,n)=>{var r=n(1469),i=n(5403),a=n(5514),o=n(9833);e.exports=function(e,t){return r(e)?e:i(e,t)?[e]:a(o(e))}},278:e=>{e.exports=function(e,t){var n=-1,r=e.length;for(t||(t=Array(r));++n{var r=n(5639)["__core-js_shared__"];e.exports=r},8777:(e,t,n)=>{var r=n(852),i=function(){try{var e=r(Object,"defineProperty");return e({},"",{}),e}catch(e){}}();e.exports=i},1957:(e,t,n)=>{var r="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g;e.exports=r},5050:(e,t,n)=>{var r=n(7019);e.exports=function(e,t){var n=e.__data__;return r(t)?n["string"==typeof t?"string":"hash"]:n.map}},852:(e,t,n)=>{var r=n(8458),i=n(7801);e.exports=function(e,t){var n=i(e,t);return r(n)?n:void 0}},9607:(e,t,n)=>{var r=n(2705),i=Object.prototype,a=i.hasOwnProperty,o=i.toString,s=r?r.toStringTag:void 0;e.exports=function(e){var t=a.call(e,s),n=e[s];try{e[s]=void 0;var r=!0}catch(e){}var i=o.call(e);return r&&(t?e[s]=n:delete e[s]),i}},7801:e=>{e.exports=function(e,t){return null==e?void 0:e[t]}},1789:(e,t,n)=>{var r=n(4536);e.exports=function(){this.__data__=r?r(null):{},this.size=0}},401:e=>{e.exports=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}},7667:(e,t,n)=>{var r=n(4536),i=Object.prototype.hasOwnProperty;e.exports=function(e){var t=this.__data__;if(r){var n=t[e];return"__lodash_hash_undefined__"===n?void 0:n}return i.call(t,e)?t[e]:void 0}},1327:(e,t,n)=>{var r=n(4536),i=Object.prototype.hasOwnProperty;e.exports=function(e){var t=this.__data__;return r?void 0!==t[e]:i.call(t,e)}},1866:(e,t,n)=>{var r=n(4536);e.exports=function(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=r&&void 0===t?"__lodash_hash_undefined__":t,this}},5776:e=>{var t=/^(?:0|[1-9]\d*)$/;e.exports=function(e,n){var r=typeof e;return!!(n=null==n?9007199254740991:n)&&("number"==r||"symbol"!=r&&t.test(e))&&e>-1&&e%1==0&&e{var r=n(1469),i=n(3448),a=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,o=/^\w*$/;e.exports=function(e,t){if(r(e))return!1;var n=typeof e;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=e&&!i(e))||o.test(e)||!a.test(e)||null!=t&&e in Object(t)}},7019:e=>{e.exports=function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}},5346:(e,t,n)=>{var r,i=n(4429),a=(r=/[^.]+$/.exec(i&&i.keys&&i.keys.IE_PROTO||""))?"Symbol(src)_1."+r:"";e.exports=function(e){return!!a&&a in e}},7040:e=>{e.exports=function(){this.__data__=[],this.size=0}},4125:(e,t,n)=>{var r=n(8470),i=Array.prototype.splice;e.exports=function(e){var t=this.__data__,n=r(t,e);return!(n<0||(n==t.length-1?t.pop():i.call(t,n,1),--this.size,0))}},2117:(e,t,n)=>{var r=n(8470);e.exports=function(e){var t=this.__data__,n=r(t,e);return n<0?void 0:t[n][1]}},7518:(e,t,n)=>{var r=n(8470);e.exports=function(e){return r(this.__data__,e)>-1}},4705:(e,t,n)=>{var r=n(8470);e.exports=function(e,t){var n=this.__data__,i=r(n,e);return i<0?(++this.size,n.push([e,t])):n[i][1]=t,this}},4785:(e,t,n)=>{var r=n(1989),i=n(8407),a=n(7071);e.exports=function(){this.size=0,this.__data__={hash:new r,map:new(a||i),string:new r}}},1285:(e,t,n)=>{var r=n(5050);e.exports=function(e){var t=r(this,e).delete(e);return this.size-=t?1:0,t}},6e3:(e,t,n)=>{var r=n(5050);e.exports=function(e){return r(this,e).get(e)}},9916:(e,t,n)=>{var r=n(5050);e.exports=function(e){return r(this,e).has(e)}},5265:(e,t,n)=>{var r=n(5050);e.exports=function(e,t){var n=r(this,e),i=n.size;return n.set(e,t),this.size+=n.size==i?0:1,this}},4523:(e,t,n)=>{var r=n(8306);e.exports=function(e){var t=r(e,(function(e){return 500===n.size&&n.clear(),e})),n=t.cache;return t}},4536:(e,t,n)=>{var r=n(852)(Object,"create");e.exports=r},2333:e=>{var t=Object.prototype.toString;e.exports=function(e){return t.call(e)}},5639:(e,t,n)=>{var r=n(1957),i="object"==typeof self&&self&&self.Object===Object&&self,a=r||i||Function("return this")();e.exports=a},5514:(e,t,n)=>{var r=n(4523),i=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,a=/\\(\\)?/g,o=r((function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(i,(function(e,n,r,i){t.push(r?i.replace(a,"$1"):n||e)})),t}));e.exports=o},327:(e,t,n)=>{var r=n(3448);e.exports=function(e){if("string"==typeof e||r(e))return e;var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}},346:e=>{var t=Function.prototype.toString;e.exports=function(e){if(null!=e){try{return t.call(e)}catch(e){}try{return e+""}catch(e){}}return""}},7990:e=>{var t=/\s/;e.exports=function(e){for(var n=e.length;n--&&t.test(e.charAt(n)););return n}},3279:(e,t,n)=>{var r=n(3218),i=n(7771),a=n(4841),o=Math.max,s=Math.min;e.exports=function(e,t,n){var u,l,c,d,h,f,p=0,v=!1,g=!1,y=!0;if("function"!=typeof e)throw new TypeError("Expected a function");function m(t){var n=u,r=l;return u=l=void 0,p=t,d=e.apply(r,n)}function b(e){var n=e-f;return void 0===f||n>=t||n<0||g&&e-p>=c}function x(){var e=i();if(b(e))return w(e);h=setTimeout(x,function(e){var n=t-(e-f);return g?s(n,c-(e-p)):n}(e))}function w(e){return h=void 0,y&&u?m(e):(u=l=void 0,d)}function _(){var e=i(),n=b(e);if(u=arguments,l=this,f=e,n){if(void 0===h)return function(e){return p=e,h=setTimeout(x,t),v?m(e):d}(f);if(g)return clearTimeout(h),h=setTimeout(x,t),m(f)}return void 0===h&&(h=setTimeout(x,t)),d}return t=a(t)||0,r(n)&&(v=!!n.leading,c=(g="maxWait"in n)?o(a(n.maxWait)||0,t):c,y="trailing"in n?!!n.trailing:y),_.cancel=function(){void 0!==h&&clearTimeout(h),p=0,u=f=l=h=void 0},_.flush=function(){return void 0===h?d:w(i())},_}},7813:e=>{e.exports=function(e,t){return e===t||e!=e&&t!=t}},7361:(e,t,n)=>{var r=n(7786);e.exports=function(e,t,n){var i=null==e?void 0:r(e,t);return void 0===i?n:i}},1469:e=>{var t=Array.isArray;e.exports=t},3560:(e,t,n)=>{var r=n(4239),i=n(3218);e.exports=function(e){if(!i(e))return!1;var t=r(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t}},3218:e=>{e.exports=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}},7005:e=>{e.exports=function(e){return null!=e&&"object"==typeof e}},3448:(e,t,n)=>{var r=n(4239),i=n(7005);e.exports=function(e){return"symbol"==typeof e||i(e)&&"[object Symbol]"==r(e)}},6486:function(e,t,n){var r;e=n.nmd(e),function(){var i,a="Expected a function",o="__lodash_hash_undefined__",s="__lodash_placeholder__",u=32,l=128,c=1/0,d=9007199254740991,h=NaN,f=4294967295,p=[["ary",l],["bind",1],["bindKey",2],["curry",8],["curryRight",16],["flip",512],["partial",u],["partialRight",64],["rearg",256]],v="[object Arguments]",g="[object Array]",y="[object Boolean]",m="[object Date]",b="[object Error]",x="[object Function]",w="[object GeneratorFunction]",_="[object Map]",E="[object Number]",k="[object Object]",C="[object Promise]",S="[object RegExp]",P="[object Set]",T="[object String]",D="[object Symbol]",M="[object WeakMap]",B="[object ArrayBuffer]",I="[object DataView]",O="[object Float32Array]",A="[object Float64Array]",z="[object Int8Array]",N="[object Int16Array]",L="[object Int32Array]",R="[object Uint8Array]",j="[object Uint8ClampedArray]",V="[object Uint16Array]",F="[object Uint32Array]",q=/\b__p \+= '';/g,W=/\b(__p \+=) '' \+/g,Y=/(__e\(.*?\)|\b__t\)) \+\n'';/g,X=/&(?:amp|lt|gt|quot|#39);/g,H=/[&<>"']/g,U=RegExp(X.source),Z=RegExp(H.source),K=/<%-([\s\S]+?)%>/g,G=/<%([\s\S]+?)%>/g,$=/<%=([\s\S]+?)%>/g,Q=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,J=/^\w*$/,ee=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,te=/[\\^$.*+?()[\]{}|]/g,ne=RegExp(te.source),re=/^\s+/,ie=/\s/,ae=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,oe=/\{\n\/\* \[wrapped with (.+)\] \*/,se=/,? & /,ue=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,le=/[()=,{}\[\]\/\s]/,ce=/\\(\\)?/g,de=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,he=/\w*$/,fe=/^[-+]0x[0-9a-f]+$/i,pe=/^0b[01]+$/i,ve=/^\[object .+?Constructor\]$/,ge=/^0o[0-7]+$/i,ye=/^(?:0|[1-9]\d*)$/,me=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,be=/($^)/,xe=/['\n\r\u2028\u2029\\]/g,we="\\ud800-\\udfff",_e="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",Ee="\\u2700-\\u27bf",ke="a-z\\xdf-\\xf6\\xf8-\\xff",Ce="A-Z\\xc0-\\xd6\\xd8-\\xde",Se="\\ufe0e\\ufe0f",Pe="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Te="["+we+"]",De="["+Pe+"]",Me="["+_e+"]",Be="\\d+",Ie="["+Ee+"]",Oe="["+ke+"]",Ae="[^"+we+Pe+Be+Ee+ke+Ce+"]",ze="\\ud83c[\\udffb-\\udfff]",Ne="[^"+we+"]",Le="(?:\\ud83c[\\udde6-\\uddff]){2}",Re="[\\ud800-\\udbff][\\udc00-\\udfff]",je="["+Ce+"]",Ve="\\u200d",Fe="(?:"+Oe+"|"+Ae+")",qe="(?:"+je+"|"+Ae+")",We="(?:['’](?:d|ll|m|re|s|t|ve))?",Ye="(?:['’](?:D|LL|M|RE|S|T|VE))?",Xe="(?:"+Me+"|"+ze+")?",He="["+Se+"]?",Ue=He+Xe+"(?:"+Ve+"(?:"+[Ne,Le,Re].join("|")+")"+He+Xe+")*",Ze="(?:"+[Ie,Le,Re].join("|")+")"+Ue,Ke="(?:"+[Ne+Me+"?",Me,Le,Re,Te].join("|")+")",Ge=RegExp("['’]","g"),$e=RegExp(Me,"g"),Qe=RegExp(ze+"(?="+ze+")|"+Ke+Ue,"g"),Je=RegExp([je+"?"+Oe+"+"+We+"(?="+[De,je,"$"].join("|")+")",qe+"+"+Ye+"(?="+[De,je+Fe,"$"].join("|")+")",je+"?"+Fe+"+"+We,je+"+"+Ye,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Be,Ze].join("|"),"g"),et=RegExp("["+Ve+we+_e+Se+"]"),tt=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,nt=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],rt=-1,it={};it[O]=it[A]=it[z]=it[N]=it[L]=it[R]=it[j]=it[V]=it[F]=!0,it[v]=it[g]=it[B]=it[y]=it[I]=it[m]=it[b]=it[x]=it[_]=it[E]=it[k]=it[S]=it[P]=it[T]=it[M]=!1;var at={};at[v]=at[g]=at[B]=at[I]=at[y]=at[m]=at[O]=at[A]=at[z]=at[N]=at[L]=at[_]=at[E]=at[k]=at[S]=at[P]=at[T]=at[D]=at[R]=at[j]=at[V]=at[F]=!0,at[b]=at[x]=at[M]=!1;var ot={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},st=parseFloat,ut=parseInt,lt="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g,ct="object"==typeof self&&self&&self.Object===Object&&self,dt=lt||ct||Function("return this")(),ht=t&&!t.nodeType&&t,ft=ht&&e&&!e.nodeType&&e,pt=ft&&ft.exports===ht,vt=pt&<.process,gt=function(){try{return ft&&ft.require&&ft.require("util").types||vt&&vt.binding&&vt.binding("util")}catch(e){}}(),yt=gt&>.isArrayBuffer,mt=gt&>.isDate,bt=gt&>.isMap,xt=gt&>.isRegExp,wt=gt&>.isSet,_t=gt&>.isTypedArray;function Et(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}function kt(e,t,n,r){for(var i=-1,a=null==e?0:e.length;++i-1}function Mt(e,t,n){for(var r=-1,i=null==e?0:e.length;++r-1;);return n}function Jt(e,t){for(var n=e.length;n--&&jt(t,e[n],0)>-1;);return n}var en=Yt({À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"}),tn=Yt({"&":"&","<":"<",">":">",'"':""","'":"'"});function nn(e){return"\\"+ot[e]}function rn(e){return et.test(e)}function an(e){var t=-1,n=Array(e.size);return e.forEach((function(e,r){n[++t]=[r,e]})),n}function on(e,t){return function(n){return e(t(n))}}function sn(e,t){for(var n=-1,r=e.length,i=0,a=[];++n",""":'"',"'":"'"}),pn=function e(t){var n,r=(t=null==t?dt:pn.defaults(dt.Object(),t,pn.pick(dt,nt))).Array,ie=t.Date,we=t.Error,_e=t.Function,Ee=t.Math,ke=t.Object,Ce=t.RegExp,Se=t.String,Pe=t.TypeError,Te=r.prototype,De=_e.prototype,Me=ke.prototype,Be=t["__core-js_shared__"],Ie=De.toString,Oe=Me.hasOwnProperty,Ae=0,ze=(n=/[^.]+$/.exec(Be&&Be.keys&&Be.keys.IE_PROTO||""))?"Symbol(src)_1."+n:"",Ne=Me.toString,Le=Ie.call(ke),Re=dt._,je=Ce("^"+Ie.call(Oe).replace(te,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Ve=pt?t.Buffer:i,Fe=t.Symbol,qe=t.Uint8Array,We=Ve?Ve.allocUnsafe:i,Ye=on(ke.getPrototypeOf,ke),Xe=ke.create,He=Me.propertyIsEnumerable,Ue=Te.splice,Ze=Fe?Fe.isConcatSpreadable:i,Ke=Fe?Fe.iterator:i,Qe=Fe?Fe.toStringTag:i,et=function(){try{var e=ua(ke,"defineProperty");return e({},"",{}),e}catch(e){}}(),ot=t.clearTimeout!==dt.clearTimeout&&t.clearTimeout,lt=ie&&ie.now!==dt.Date.now&&ie.now,ct=t.setTimeout!==dt.setTimeout&&t.setTimeout,ht=Ee.ceil,ft=Ee.floor,vt=ke.getOwnPropertySymbols,gt=Ve?Ve.isBuffer:i,Nt=t.isFinite,Yt=Te.join,vn=on(ke.keys,ke),gn=Ee.max,yn=Ee.min,mn=ie.now,bn=t.parseInt,xn=Ee.random,wn=Te.reverse,_n=ua(t,"DataView"),En=ua(t,"Map"),kn=ua(t,"Promise"),Cn=ua(t,"Set"),Sn=ua(t,"WeakMap"),Pn=ua(ke,"create"),Tn=Sn&&new Sn,Dn={},Mn=Na(_n),Bn=Na(En),In=Na(kn),On=Na(Cn),An=Na(Sn),zn=Fe?Fe.prototype:i,Nn=zn?zn.valueOf:i,Ln=zn?zn.toString:i;function Rn(e){if(es(e)&&!Wo(e)&&!(e instanceof qn)){if(e instanceof Fn)return e;if(Oe.call(e,"__wrapped__"))return La(e)}return new Fn(e)}var jn=function(){function e(){}return function(t){if(!Jo(t))return{};if(Xe)return Xe(t);e.prototype=t;var n=new e;return e.prototype=i,n}}();function Vn(){}function Fn(e,t){this.__wrapped__=e,this.__actions__=[],this.__chain__=!!t,this.__index__=0,this.__values__=i}function qn(e){this.__wrapped__=e,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=f,this.__views__=[]}function Wn(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t=t?e:t)),e}function or(e,t,n,r,a,o){var s,u=1&t,l=2&t,c=4&t;if(n&&(s=a?n(e,r,a,o):n(e)),s!==i)return s;if(!Jo(e))return e;var d=Wo(e);if(d){if(s=function(e){var t=e.length,n=new e.constructor(t);return t&&"string"==typeof e[0]&&Oe.call(e,"index")&&(n.index=e.index,n.input=e.input),n}(e),!u)return Si(e,s)}else{var h=da(e),f=h==x||h==w;if(Uo(e))return xi(e,u);if(h==k||h==v||f&&!a){if(s=l||f?{}:fa(e),!u)return l?function(e,t){return Pi(e,ca(e),t)}(e,function(e,t){return e&&Pi(t,Bs(t),e)}(s,e)):function(e,t){return Pi(e,la(e),t)}(e,nr(s,e))}else{if(!at[h])return a?e:{};s=function(e,t,n){var r,i=e.constructor;switch(t){case B:return wi(e);case y:case m:return new i(+e);case I:return function(e,t){var n=t?wi(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)}(e,n);case O:case A:case z:case N:case L:case R:case j:case V:case F:return _i(e,n);case _:return new i;case E:case T:return new i(e);case S:return function(e){var t=new e.constructor(e.source,he.exec(e));return t.lastIndex=e.lastIndex,t}(e);case P:return new i;case D:return r=e,Nn?ke(Nn.call(r)):{}}}(e,h,u)}}o||(o=new Un);var p=o.get(e);if(p)return p;o.set(e,s),as(e)?e.forEach((function(r){s.add(or(r,t,n,r,e,o))})):ts(e)&&e.forEach((function(r,i){s.set(i,or(r,t,n,i,e,o))}));var g=d?i:(c?l?ta:ea:l?Bs:Ms)(e);return Ct(g||e,(function(r,i){g&&(r=e[i=r]),Jn(s,i,or(r,t,n,i,e,o))})),s}function sr(e,t,n){var r=n.length;if(null==e)return!r;for(e=ke(e);r--;){var a=n[r],o=t[a],s=e[a];if(s===i&&!(a in e)||!o(s))return!1}return!0}function ur(e,t,n){if("function"!=typeof e)throw new Pe(a);return Pa((function(){e.apply(i,n)}),t)}function lr(e,t,n,r){var i=-1,a=Dt,o=!0,s=e.length,u=[],l=t.length;if(!s)return u;n&&(t=Bt(t,Kt(n))),r?(a=Mt,o=!1):t.length>=200&&(a=$t,o=!1,t=new Hn(t));e:for(;++i-1},Yn.prototype.set=function(e,t){var n=this.__data__,r=er(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this},Xn.prototype.clear=function(){this.size=0,this.__data__={hash:new Wn,map:new(En||Yn),string:new Wn}},Xn.prototype.delete=function(e){var t=oa(this,e).delete(e);return this.size-=t?1:0,t},Xn.prototype.get=function(e){return oa(this,e).get(e)},Xn.prototype.has=function(e){return oa(this,e).has(e)},Xn.prototype.set=function(e,t){var n=oa(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this},Hn.prototype.add=Hn.prototype.push=function(e){return this.__data__.set(e,o),this},Hn.prototype.has=function(e){return this.__data__.has(e)},Un.prototype.clear=function(){this.__data__=new Yn,this.size=0},Un.prototype.delete=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n},Un.prototype.get=function(e){return this.__data__.get(e)},Un.prototype.has=function(e){return this.__data__.has(e)},Un.prototype.set=function(e,t){var n=this.__data__;if(n instanceof Yn){var r=n.__data__;if(!En||r.length<199)return r.push([e,t]),this.size=++n.size,this;n=this.__data__=new Xn(r)}return n.set(e,t),this.size=n.size,this};var cr=Mi(mr),dr=Mi(br,!0);function hr(e,t){var n=!0;return cr(e,(function(e,r,i){return n=!!t(e,r,i)})),n}function fr(e,t,n){for(var r=-1,a=e.length;++r0&&n(s)?t>1?vr(s,t-1,n,r,i):It(i,s):r||(i[i.length]=s)}return i}var gr=Bi(),yr=Bi(!0);function mr(e,t){return e&&gr(e,t,Ms)}function br(e,t){return e&&yr(e,t,Ms)}function xr(e,t){return Tt(t,(function(t){return Go(e[t])}))}function wr(e,t){for(var n=0,r=(t=gi(t,e)).length;null!=e&&nt}function Cr(e,t){return null!=e&&Oe.call(e,t)}function Sr(e,t){return null!=e&&t in ke(e)}function Pr(e,t,n){for(var a=n?Mt:Dt,o=e[0].length,s=e.length,u=s,l=r(s),c=1/0,d=[];u--;){var h=e[u];u&&t&&(h=Bt(h,Kt(t))),c=yn(h.length,c),l[u]=!n&&(t||o>=120&&h.length>=120)?new Hn(u&&h):i}h=e[0];var f=-1,p=l[0];e:for(;++f=s?u:u*("desc"==n[r]?-1:1)}return e.index-t.index}(e,t,n)}));r--;)e[r]=e[r].value;return e}(i)}function qr(e,t,n){for(var r=-1,i=t.length,a={};++r-1;)s!==e&&Ue.call(s,u,1),Ue.call(e,u,1);return e}function Yr(e,t){for(var n=e?t.length:0,r=n-1;n--;){var i=t[n];if(n==r||i!==a){var a=i;va(i)?Ue.call(e,i,1):ui(e,i)}}return e}function Xr(e,t){return e+ft(xn()*(t-e+1))}function Hr(e,t){var n="";if(!e||t<1||t>d)return n;do{t%2&&(n+=e),(t=ft(t/2))&&(e+=e)}while(t);return n}function Ur(e,t){return Ta(Ea(e,t,nu),e+"")}function Zr(e){return Kn(js(e))}function Kr(e,t){var n=js(e);return Ba(n,ar(t,0,n.length))}function Gr(e,t,n,r){if(!Jo(e))return e;for(var a=-1,o=(t=gi(t,e)).length,s=o-1,u=e;null!=u&&++aa?0:a+t),(n=n>a?a:n)<0&&(n+=a),a=t>n?0:n-t>>>0,t>>>=0;for(var o=r(a);++i>>1,o=e[a];null!==o&&!ss(o)&&(n?o<=t:o=200){var l=t?null:Hi(e);if(l)return un(l);o=!1,i=$t,u=new Hn}else u=t?[]:s;e:for(;++r=r?e:ei(e,t,n)}var bi=ot||function(e){return dt.clearTimeout(e)};function xi(e,t){if(t)return e.slice();var n=e.length,r=We?We(n):new e.constructor(n);return e.copy(r),r}function wi(e){var t=new e.constructor(e.byteLength);return new qe(t).set(new qe(e)),t}function _i(e,t){var n=t?wi(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)}function Ei(e,t){if(e!==t){var n=e!==i,r=null===e,a=e==e,o=ss(e),s=t!==i,u=null===t,l=t==t,c=ss(t);if(!u&&!c&&!o&&e>t||o&&s&&l&&!u&&!c||r&&s&&l||!n&&l||!a)return 1;if(!r&&!o&&!c&&e1?n[a-1]:i,s=a>2?n[2]:i;for(o=e.length>3&&"function"==typeof o?(a--,o):i,s&&ga(n[0],n[1],s)&&(o=a<3?i:o,a=1),t=ke(t);++r-1?a[o?t[s]:s]:i}}function Ni(e){return Ji((function(t){var n=t.length,r=n,o=Fn.prototype.thru;for(e&&t.reverse();r--;){var s=t[r];if("function"!=typeof s)throw new Pe(a);if(o&&!u&&"wrapper"==ra(s))var u=new Fn([],!0)}for(r=u?r:n;++r1&&x.reverse(),f&&du))return!1;var c=o.get(e),d=o.get(t);if(c&&d)return c==t&&d==e;var h=-1,f=!0,p=2&n?new Hn:i;for(o.set(e,t),o.set(t,e);++h-1&&e%1==0&&e1?"& ":"")+t[r],t=t.join(n>2?", ":" "),e.replace(ae,"{\n/* [wrapped with "+t+"] */\n")}(r,function(e,t){return Ct(p,(function(n){var r="_."+n[0];t&n[1]&&!Dt(e,r)&&e.push(r)})),e.sort()}(function(e){var t=e.match(oe);return t?t[1].split(se):[]}(r),n)))}function Ma(e){var t=0,n=0;return function(){var r=mn(),a=16-(r-n);if(n=r,a>0){if(++t>=800)return arguments[0]}else t=0;return e.apply(i,arguments)}}function Ba(e,t){var n=-1,r=e.length,a=r-1;for(t=t===i?r:t;++n1?e[t-1]:i;return n="function"==typeof n?(e.pop(),n):i,ro(e,n)}));function co(e){var t=Rn(e);return t.__chain__=!0,t}function ho(e,t){return t(e)}var fo=Ji((function(e){var t=e.length,n=t?e[0]:0,r=this.__wrapped__,a=function(t){return ir(t,e)};return!(t>1||this.__actions__.length)&&r instanceof qn&&va(n)?((r=r.slice(n,+n+(t?1:0))).__actions__.push({func:ho,args:[a],thisArg:i}),new Fn(r,this.__chain__).thru((function(e){return t&&!e.length&&e.push(i),e}))):this.thru(a)})),po=Ti((function(e,t,n){Oe.call(e,n)?++e[n]:rr(e,n,1)})),vo=zi(Fa),go=zi(qa);function yo(e,t){return(Wo(e)?Ct:cr)(e,aa(t,3))}function mo(e,t){return(Wo(e)?St:dr)(e,aa(t,3))}var bo=Ti((function(e,t,n){Oe.call(e,n)?e[n].push(t):rr(e,n,[t])})),xo=Ur((function(e,t,n){var i=-1,a="function"==typeof t,o=Xo(e)?r(e.length):[];return cr(e,(function(e){o[++i]=a?Et(t,e,n):Tr(e,t,n)})),o})),wo=Ti((function(e,t,n){rr(e,n,t)}));function _o(e,t){return(Wo(e)?Bt:Nr)(e,aa(t,3))}var Eo=Ti((function(e,t,n){e[n?0:1].push(t)}),(function(){return[[],[]]})),ko=Ur((function(e,t){if(null==e)return[];var n=t.length;return n>1&&ga(e,t[0],t[1])?t=[]:n>2&&ga(t[0],t[1],t[2])&&(t=[t[0]]),Fr(e,vr(t,1),[])})),Co=lt||function(){return dt.Date.now()};function So(e,t,n){return t=n?i:t,t=e&&null==t?e.length:t,Zi(e,l,i,i,i,i,t)}function Po(e,t){var n;if("function"!=typeof t)throw new Pe(a);return e=fs(e),function(){return--e>0&&(n=t.apply(this,arguments)),e<=1&&(t=i),n}}var To=Ur((function(e,t,n){var r=1;if(n.length){var i=sn(n,ia(To));r|=u}return Zi(e,r,t,n,i)})),Do=Ur((function(e,t,n){var r=3;if(n.length){var i=sn(n,ia(Do));r|=u}return Zi(t,r,e,n,i)}));function Mo(e,t,n){var r,o,s,u,l,c,d=0,h=!1,f=!1,p=!0;if("function"!=typeof e)throw new Pe(a);function v(t){var n=r,a=o;return r=o=i,d=t,u=e.apply(a,n)}function g(e){var n=e-c;return c===i||n>=t||n<0||f&&e-d>=s}function y(){var e=Co();if(g(e))return m(e);l=Pa(y,function(e){var n=t-(e-c);return f?yn(n,s-(e-d)):n}(e))}function m(e){return l=i,p&&r?v(e):(r=o=i,u)}function b(){var e=Co(),n=g(e);if(r=arguments,o=this,c=e,n){if(l===i)return function(e){return d=e,l=Pa(y,t),h?v(e):u}(c);if(f)return bi(l),l=Pa(y,t),v(c)}return l===i&&(l=Pa(y,t)),u}return t=vs(t)||0,Jo(n)&&(h=!!n.leading,s=(f="maxWait"in n)?gn(vs(n.maxWait)||0,t):s,p="trailing"in n?!!n.trailing:p),b.cancel=function(){l!==i&&bi(l),d=0,r=c=o=l=i},b.flush=function(){return l===i?u:m(Co())},b}var Bo=Ur((function(e,t){return ur(e,1,t)})),Io=Ur((function(e,t,n){return ur(e,vs(t)||0,n)}));function Oo(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new Pe(a);var n=function(){var r=arguments,i=t?t.apply(this,r):r[0],a=n.cache;if(a.has(i))return a.get(i);var o=e.apply(this,r);return n.cache=a.set(i,o)||a,o};return n.cache=new(Oo.Cache||Xn),n}function Ao(e){if("function"!=typeof e)throw new Pe(a);return function(){var t=arguments;switch(t.length){case 0:return!e.call(this);case 1:return!e.call(this,t[0]);case 2:return!e.call(this,t[0],t[1]);case 3:return!e.call(this,t[0],t[1],t[2])}return!e.apply(this,t)}}Oo.Cache=Xn;var zo=yi((function(e,t){var n=(t=1==t.length&&Wo(t[0])?Bt(t[0],Kt(aa())):Bt(vr(t,1),Kt(aa()))).length;return Ur((function(r){for(var i=-1,a=yn(r.length,n);++i=t})),qo=Dr(function(){return arguments}())?Dr:function(e){return es(e)&&Oe.call(e,"callee")&&!He.call(e,"callee")},Wo=r.isArray,Yo=yt?Kt(yt):function(e){return es(e)&&Er(e)==B};function Xo(e){return null!=e&&Qo(e.length)&&!Go(e)}function Ho(e){return es(e)&&Xo(e)}var Uo=gt||vu,Zo=mt?Kt(mt):function(e){return es(e)&&Er(e)==m};function Ko(e){if(!es(e))return!1;var t=Er(e);return t==b||"[object DOMException]"==t||"string"==typeof e.message&&"string"==typeof e.name&&!rs(e)}function Go(e){if(!Jo(e))return!1;var t=Er(e);return t==x||t==w||"[object AsyncFunction]"==t||"[object Proxy]"==t}function $o(e){return"number"==typeof e&&e==fs(e)}function Qo(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=d}function Jo(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function es(e){return null!=e&&"object"==typeof e}var ts=bt?Kt(bt):function(e){return es(e)&&da(e)==_};function ns(e){return"number"==typeof e||es(e)&&Er(e)==E}function rs(e){if(!es(e)||Er(e)!=k)return!1;var t=Ye(e);if(null===t)return!0;var n=Oe.call(t,"constructor")&&t.constructor;return"function"==typeof n&&n instanceof n&&Ie.call(n)==Le}var is=xt?Kt(xt):function(e){return es(e)&&Er(e)==S},as=wt?Kt(wt):function(e){return es(e)&&da(e)==P};function os(e){return"string"==typeof e||!Wo(e)&&es(e)&&Er(e)==T}function ss(e){return"symbol"==typeof e||es(e)&&Er(e)==D}var us=_t?Kt(_t):function(e){return es(e)&&Qo(e.length)&&!!it[Er(e)]},ls=Wi(zr),cs=Wi((function(e,t){return e<=t}));function ds(e){if(!e)return[];if(Xo(e))return os(e)?dn(e):Si(e);if(Ke&&e[Ke])return function(e){for(var t,n=[];!(t=e.next()).done;)n.push(t.value);return n}(e[Ke]());var t=da(e);return(t==_?an:t==P?un:js)(e)}function hs(e){return e?(e=vs(e))===c||e===-1/0?17976931348623157e292*(e<0?-1:1):e==e?e:0:0===e?e:0}function fs(e){var t=hs(e),n=t%1;return t==t?n?t-n:t:0}function ps(e){return e?ar(fs(e),0,f):0}function vs(e){if("number"==typeof e)return e;if(ss(e))return h;if(Jo(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=Jo(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=Zt(e);var n=pe.test(e);return n||ge.test(e)?ut(e.slice(2),n?2:8):fe.test(e)?h:+e}function gs(e){return Pi(e,Bs(e))}function ys(e){return null==e?"":oi(e)}var ms=Di((function(e,t){if(xa(t)||Xo(t))Pi(t,Ms(t),e);else for(var n in t)Oe.call(t,n)&&Jn(e,n,t[n])})),bs=Di((function(e,t){Pi(t,Bs(t),e)})),xs=Di((function(e,t,n,r){Pi(t,Bs(t),e,r)})),ws=Di((function(e,t,n,r){Pi(t,Ms(t),e,r)})),_s=Ji(ir),Es=Ur((function(e,t){e=ke(e);var n=-1,r=t.length,a=r>2?t[2]:i;for(a&&ga(t[0],t[1],a)&&(r=1);++n1),t})),Pi(e,ta(e),n),r&&(n=or(n,7,$i));for(var i=t.length;i--;)ui(n,t[i]);return n})),zs=Ji((function(e,t){return null==e?{}:function(e,t){return qr(e,t,(function(t,n){return Ss(e,n)}))}(e,t)}));function Ns(e,t){if(null==e)return{};var n=Bt(ta(e),(function(e){return[e]}));return t=aa(t),qr(e,n,(function(e,n){return t(e,n[0])}))}var Ls=Ui(Ms),Rs=Ui(Bs);function js(e){return null==e?[]:Gt(e,Ms(e))}var Vs=Oi((function(e,t,n){return t=t.toLowerCase(),e+(n?Fs(t):t)}));function Fs(e){return Ks(ys(e).toLowerCase())}function qs(e){return(e=ys(e))&&e.replace(me,en).replace($e,"")}var Ws=Oi((function(e,t,n){return e+(n?"-":"")+t.toLowerCase()})),Ys=Oi((function(e,t,n){return e+(n?" ":"")+t.toLowerCase()})),Xs=Ii("toLowerCase"),Hs=Oi((function(e,t,n){return e+(n?"_":"")+t.toLowerCase()})),Us=Oi((function(e,t,n){return e+(n?" ":"")+Ks(t)})),Zs=Oi((function(e,t,n){return e+(n?" ":"")+t.toUpperCase()})),Ks=Ii("toUpperCase");function Gs(e,t,n){return e=ys(e),(t=n?i:t)===i?function(e){return tt.test(e)}(e)?function(e){return e.match(Je)||[]}(e):function(e){return e.match(ue)||[]}(e):e.match(t)||[]}var $s=Ur((function(e,t){try{return Et(e,i,t)}catch(e){return Ko(e)?e:new we(e)}})),Qs=Ji((function(e,t){return Ct(t,(function(t){t=za(t),rr(e,t,To(e[t],e))})),e}));function Js(e){return function(){return e}}var eu=Ni(),tu=Ni(!0);function nu(e){return e}function ru(e){return Or("function"==typeof e?e:or(e,1))}var iu=Ur((function(e,t){return function(n){return Tr(n,e,t)}})),au=Ur((function(e,t){return function(n){return Tr(e,n,t)}}));function ou(e,t,n){var r=Ms(t),i=xr(t,r);null!=n||Jo(t)&&(i.length||!r.length)||(n=t,t=e,e=this,i=xr(t,Ms(t)));var a=!(Jo(n)&&"chain"in n&&!n.chain),o=Go(e);return Ct(i,(function(n){var r=t[n];e[n]=r,o&&(e.prototype[n]=function(){var t=this.__chain__;if(a||t){var n=e(this.__wrapped__);return(n.__actions__=Si(this.__actions__)).push({func:r,args:arguments,thisArg:e}),n.__chain__=t,n}return r.apply(e,It([this.value()],arguments))})})),e}function su(){}var uu=Vi(Bt),lu=Vi(Pt),cu=Vi(zt);function du(e){return ya(e)?Wt(za(e)):function(e){return function(t){return wr(t,e)}}(e)}var hu=qi(),fu=qi(!0);function pu(){return[]}function vu(){return!1}var gu,yu=ji((function(e,t){return e+t}),0),mu=Xi("ceil"),bu=ji((function(e,t){return e/t}),1),xu=Xi("floor"),wu=ji((function(e,t){return e*t}),1),_u=Xi("round"),Eu=ji((function(e,t){return e-t}),0);return Rn.after=function(e,t){if("function"!=typeof t)throw new Pe(a);return e=fs(e),function(){if(--e<1)return t.apply(this,arguments)}},Rn.ary=So,Rn.assign=ms,Rn.assignIn=bs,Rn.assignInWith=xs,Rn.assignWith=ws,Rn.at=_s,Rn.before=Po,Rn.bind=To,Rn.bindAll=Qs,Rn.bindKey=Do,Rn.castArray=function(){if(!arguments.length)return[];var e=arguments[0];return Wo(e)?e:[e]},Rn.chain=co,Rn.chunk=function(e,t,n){t=(n?ga(e,t,n):t===i)?1:gn(fs(t),0);var a=null==e?0:e.length;if(!a||t<1)return[];for(var o=0,s=0,u=r(ht(a/t));oa?0:a+n),(r=r===i||r>a?a:fs(r))<0&&(r+=a),r=n>r?0:ps(r);n>>0)?(e=ys(e))&&("string"==typeof t||null!=t&&!is(t))&&!(t=oi(t))&&rn(e)?mi(dn(e),0,n):e.split(t,n):[]},Rn.spread=function(e,t){if("function"!=typeof e)throw new Pe(a);return t=null==t?0:gn(fs(t),0),Ur((function(n){var r=n[t],i=mi(n,0,t);return r&&It(i,r),Et(e,this,i)}))},Rn.tail=function(e){var t=null==e?0:e.length;return t?ei(e,1,t):[]},Rn.take=function(e,t,n){return e&&e.length?ei(e,0,(t=n||t===i?1:fs(t))<0?0:t):[]},Rn.takeRight=function(e,t,n){var r=null==e?0:e.length;return r?ei(e,(t=r-(t=n||t===i?1:fs(t)))<0?0:t,r):[]},Rn.takeRightWhile=function(e,t){return e&&e.length?ci(e,aa(t,3),!1,!0):[]},Rn.takeWhile=function(e,t){return e&&e.length?ci(e,aa(t,3)):[]},Rn.tap=function(e,t){return t(e),e},Rn.throttle=function(e,t,n){var r=!0,i=!0;if("function"!=typeof e)throw new Pe(a);return Jo(n)&&(r="leading"in n?!!n.leading:r,i="trailing"in n?!!n.trailing:i),Mo(e,t,{leading:r,maxWait:t,trailing:i})},Rn.thru=ho,Rn.toArray=ds,Rn.toPairs=Ls,Rn.toPairsIn=Rs,Rn.toPath=function(e){return Wo(e)?Bt(e,za):ss(e)?[e]:Si(Aa(ys(e)))},Rn.toPlainObject=gs,Rn.transform=function(e,t,n){var r=Wo(e),i=r||Uo(e)||us(e);if(t=aa(t,4),null==n){var a=e&&e.constructor;n=i?r?new a:[]:Jo(e)&&Go(a)?jn(Ye(e)):{}}return(i?Ct:mr)(e,(function(e,r,i){return t(n,e,r,i)})),n},Rn.unary=function(e){return So(e,1)},Rn.union=Ja,Rn.unionBy=eo,Rn.unionWith=to,Rn.uniq=function(e){return e&&e.length?si(e):[]},Rn.uniqBy=function(e,t){return e&&e.length?si(e,aa(t,2)):[]},Rn.uniqWith=function(e,t){return t="function"==typeof t?t:i,e&&e.length?si(e,i,t):[]},Rn.unset=function(e,t){return null==e||ui(e,t)},Rn.unzip=no,Rn.unzipWith=ro,Rn.update=function(e,t,n){return null==e?e:li(e,t,vi(n))},Rn.updateWith=function(e,t,n,r){return r="function"==typeof r?r:i,null==e?e:li(e,t,vi(n),r)},Rn.values=js,Rn.valuesIn=function(e){return null==e?[]:Gt(e,Bs(e))},Rn.without=io,Rn.words=Gs,Rn.wrap=function(e,t){return No(vi(t),e)},Rn.xor=ao,Rn.xorBy=oo,Rn.xorWith=so,Rn.zip=uo,Rn.zipObject=function(e,t){return fi(e||[],t||[],Jn)},Rn.zipObjectDeep=function(e,t){return fi(e||[],t||[],Gr)},Rn.zipWith=lo,Rn.entries=Ls,Rn.entriesIn=Rs,Rn.extend=bs,Rn.extendWith=xs,ou(Rn,Rn),Rn.add=yu,Rn.attempt=$s,Rn.camelCase=Vs,Rn.capitalize=Fs,Rn.ceil=mu,Rn.clamp=function(e,t,n){return n===i&&(n=t,t=i),n!==i&&(n=(n=vs(n))==n?n:0),t!==i&&(t=(t=vs(t))==t?t:0),ar(vs(e),t,n)},Rn.clone=function(e){return or(e,4)},Rn.cloneDeep=function(e){return or(e,5)},Rn.cloneDeepWith=function(e,t){return or(e,5,t="function"==typeof t?t:i)},Rn.cloneWith=function(e,t){return or(e,4,t="function"==typeof t?t:i)},Rn.conformsTo=function(e,t){return null==t||sr(e,t,Ms(t))},Rn.deburr=qs,Rn.defaultTo=function(e,t){return null==e||e!=e?t:e},Rn.divide=bu,Rn.endsWith=function(e,t,n){e=ys(e),t=oi(t);var r=e.length,a=n=n===i?r:ar(fs(n),0,r);return(n-=t.length)>=0&&e.slice(n,a)==t},Rn.eq=jo,Rn.escape=function(e){return(e=ys(e))&&Z.test(e)?e.replace(H,tn):e},Rn.escapeRegExp=function(e){return(e=ys(e))&&ne.test(e)?e.replace(te,"\\$&"):e},Rn.every=function(e,t,n){var r=Wo(e)?Pt:hr;return n&&ga(e,t,n)&&(t=i),r(e,aa(t,3))},Rn.find=vo,Rn.findIndex=Fa,Rn.findKey=function(e,t){return Lt(e,aa(t,3),mr)},Rn.findLast=go,Rn.findLastIndex=qa,Rn.findLastKey=function(e,t){return Lt(e,aa(t,3),br)},Rn.floor=xu,Rn.forEach=yo,Rn.forEachRight=mo,Rn.forIn=function(e,t){return null==e?e:gr(e,aa(t,3),Bs)},Rn.forInRight=function(e,t){return null==e?e:yr(e,aa(t,3),Bs)},Rn.forOwn=function(e,t){return e&&mr(e,aa(t,3))},Rn.forOwnRight=function(e,t){return e&&br(e,aa(t,3))},Rn.get=Cs,Rn.gt=Vo,Rn.gte=Fo,Rn.has=function(e,t){return null!=e&&ha(e,t,Cr)},Rn.hasIn=Ss,Rn.head=Ya,Rn.identity=nu,Rn.includes=function(e,t,n,r){e=Xo(e)?e:js(e),n=n&&!r?fs(n):0;var i=e.length;return n<0&&(n=gn(i+n,0)),os(e)?n<=i&&e.indexOf(t,n)>-1:!!i&&jt(e,t,n)>-1},Rn.indexOf=function(e,t,n){var r=null==e?0:e.length;if(!r)return-1;var i=null==n?0:fs(n);return i<0&&(i=gn(r+i,0)),jt(e,t,i)},Rn.inRange=function(e,t,n){return t=hs(t),n===i?(n=t,t=0):n=hs(n),function(e,t,n){return e>=yn(t,n)&&e=-9007199254740991&&e<=d},Rn.isSet=as,Rn.isString=os,Rn.isSymbol=ss,Rn.isTypedArray=us,Rn.isUndefined=function(e){return e===i},Rn.isWeakMap=function(e){return es(e)&&da(e)==M},Rn.isWeakSet=function(e){return es(e)&&"[object WeakSet]"==Er(e)},Rn.join=function(e,t){return null==e?"":Yt.call(e,t)},Rn.kebabCase=Ws,Rn.last=Za,Rn.lastIndexOf=function(e,t,n){var r=null==e?0:e.length;if(!r)return-1;var a=r;return n!==i&&(a=(a=fs(n))<0?gn(r+a,0):yn(a,r-1)),t==t?function(e,t,n){for(var r=n+1;r--;)if(e[r]===t)return r;return r}(e,t,a):Rt(e,Ft,a,!0)},Rn.lowerCase=Ys,Rn.lowerFirst=Xs,Rn.lt=ls,Rn.lte=cs,Rn.max=function(e){return e&&e.length?fr(e,nu,kr):i},Rn.maxBy=function(e,t){return e&&e.length?fr(e,aa(t,2),kr):i},Rn.mean=function(e){return qt(e,nu)},Rn.meanBy=function(e,t){return qt(e,aa(t,2))},Rn.min=function(e){return e&&e.length?fr(e,nu,zr):i},Rn.minBy=function(e,t){return e&&e.length?fr(e,aa(t,2),zr):i},Rn.stubArray=pu,Rn.stubFalse=vu,Rn.stubObject=function(){return{}},Rn.stubString=function(){return""},Rn.stubTrue=function(){return!0},Rn.multiply=wu,Rn.nth=function(e,t){return e&&e.length?Vr(e,fs(t)):i},Rn.noConflict=function(){return dt._===this&&(dt._=Re),this},Rn.noop=su,Rn.now=Co,Rn.pad=function(e,t,n){e=ys(e);var r=(t=fs(t))?cn(e):0;if(!t||r>=t)return e;var i=(t-r)/2;return Fi(ft(i),n)+e+Fi(ht(i),n)},Rn.padEnd=function(e,t,n){e=ys(e);var r=(t=fs(t))?cn(e):0;return t&&rt){var r=e;e=t,t=r}if(n||e%1||t%1){var a=xn();return yn(e+a*(t-e+st("1e-"+((a+"").length-1))),t)}return Xr(e,t)},Rn.reduce=function(e,t,n){var r=Wo(e)?Ot:Xt,i=arguments.length<3;return r(e,aa(t,4),n,i,cr)},Rn.reduceRight=function(e,t,n){var r=Wo(e)?At:Xt,i=arguments.length<3;return r(e,aa(t,4),n,i,dr)},Rn.repeat=function(e,t,n){return t=(n?ga(e,t,n):t===i)?1:fs(t),Hr(ys(e),t)},Rn.replace=function(){var e=arguments,t=ys(e[0]);return e.length<3?t:t.replace(e[1],e[2])},Rn.result=function(e,t,n){var r=-1,a=(t=gi(t,e)).length;for(a||(a=1,e=i);++rd)return[];var n=f,r=yn(e,f);t=aa(t),e-=f;for(var i=Ut(r,t);++n=o)return e;var u=n-cn(r);if(u<1)return r;var l=s?mi(s,0,u).join(""):e.slice(0,u);if(a===i)return l+r;if(s&&(u+=l.length-u),is(a)){if(e.slice(u).search(a)){var c,d=l;for(a.global||(a=Ce(a.source,ys(he.exec(a))+"g")),a.lastIndex=0;c=a.exec(d);)var h=c.index;l=l.slice(0,h===i?u:h)}}else if(e.indexOf(oi(a),u)!=u){var f=l.lastIndexOf(a);f>-1&&(l=l.slice(0,f))}return l+r},Rn.unescape=function(e){return(e=ys(e))&&U.test(e)?e.replace(X,fn):e},Rn.uniqueId=function(e){var t=++Ae;return ys(e)+t},Rn.upperCase=Zs,Rn.upperFirst=Ks,Rn.each=yo,Rn.eachRight=mo,Rn.first=Ya,ou(Rn,(gu={},mr(Rn,(function(e,t){Oe.call(Rn.prototype,t)||(gu[t]=e)})),gu),{chain:!1}),Rn.VERSION="4.17.21",Ct(["bind","bindKey","curry","curryRight","partial","partialRight"],(function(e){Rn[e].placeholder=Rn})),Ct(["drop","take"],(function(e,t){qn.prototype[e]=function(n){n=n===i?1:gn(fs(n),0);var r=this.__filtered__&&!t?new qn(this):this.clone();return r.__filtered__?r.__takeCount__=yn(n,r.__takeCount__):r.__views__.push({size:yn(n,f),type:e+(r.__dir__<0?"Right":"")}),r},qn.prototype[e+"Right"]=function(t){return this.reverse()[e](t).reverse()}})),Ct(["filter","map","takeWhile"],(function(e,t){var n=t+1,r=1==n||3==n;qn.prototype[e]=function(e){var t=this.clone();return t.__iteratees__.push({iteratee:aa(e,3),type:n}),t.__filtered__=t.__filtered__||r,t}})),Ct(["head","last"],(function(e,t){var n="take"+(t?"Right":"");qn.prototype[e]=function(){return this[n](1).value()[0]}})),Ct(["initial","tail"],(function(e,t){var n="drop"+(t?"":"Right");qn.prototype[e]=function(){return this.__filtered__?new qn(this):this[n](1)}})),qn.prototype.compact=function(){return this.filter(nu)},qn.prototype.find=function(e){return this.filter(e).head()},qn.prototype.findLast=function(e){return this.reverse().find(e)},qn.prototype.invokeMap=Ur((function(e,t){return"function"==typeof e?new qn(this):this.map((function(n){return Tr(n,e,t)}))})),qn.prototype.reject=function(e){return this.filter(Ao(aa(e)))},qn.prototype.slice=function(e,t){e=fs(e);var n=this;return n.__filtered__&&(e>0||t<0)?new qn(n):(e<0?n=n.takeRight(-e):e&&(n=n.drop(e)),t!==i&&(n=(t=fs(t))<0?n.dropRight(-t):n.take(t-e)),n)},qn.prototype.takeRightWhile=function(e){return this.reverse().takeWhile(e).reverse()},qn.prototype.toArray=function(){return this.take(f)},mr(qn.prototype,(function(e,t){var n=/^(?:filter|find|map|reject)|While$/.test(t),r=/^(?:head|last)$/.test(t),a=Rn[r?"take"+("last"==t?"Right":""):t],o=r||/^find/.test(t);a&&(Rn.prototype[t]=function(){var t=this.__wrapped__,s=r?[1]:arguments,u=t instanceof qn,l=s[0],c=u||Wo(t),d=function(e){var t=a.apply(Rn,It([e],s));return r&&h?t[0]:t};c&&n&&"function"==typeof l&&1!=l.length&&(u=c=!1);var h=this.__chain__,f=!!this.__actions__.length,p=o&&!h,v=u&&!f;if(!o&&c){t=v?t:new qn(this);var g=e.apply(t,s);return g.__actions__.push({func:ho,args:[d],thisArg:i}),new Fn(g,h)}return p&&v?e.apply(this,s):(g=this.thru(d),p?r?g.value()[0]:g.value():g)})})),Ct(["pop","push","shift","sort","splice","unshift"],(function(e){var t=Te[e],n=/^(?:push|sort|unshift)$/.test(e)?"tap":"thru",r=/^(?:pop|shift)$/.test(e);Rn.prototype[e]=function(){var e=arguments;if(r&&!this.__chain__){var i=this.value();return t.apply(Wo(i)?i:[],e)}return this[n]((function(n){return t.apply(Wo(n)?n:[],e)}))}})),mr(qn.prototype,(function(e,t){var n=Rn[t];if(n){var r=n.name+"";Oe.call(Dn,r)||(Dn[r]=[]),Dn[r].push({name:t,func:n})}})),Dn[Li(i,2).name]=[{name:"wrapper",func:i}],qn.prototype.clone=function(){var e=new qn(this.__wrapped__);return e.__actions__=Si(this.__actions__),e.__dir__=this.__dir__,e.__filtered__=this.__filtered__,e.__iteratees__=Si(this.__iteratees__),e.__takeCount__=this.__takeCount__,e.__views__=Si(this.__views__),e},qn.prototype.reverse=function(){if(this.__filtered__){var e=new qn(this);e.__dir__=-1,e.__filtered__=!0}else(e=this.clone()).__dir__*=-1;return e},qn.prototype.value=function(){var e=this.__wrapped__.value(),t=this.__dir__,n=Wo(e),r=t<0,i=n?e.length:0,a=function(e,t,n){for(var r=-1,i=n.length;++r=this.__values__.length;return{done:e,value:e?i:this.__values__[this.__index__++]}},Rn.prototype.plant=function(e){for(var t,n=this;n instanceof Vn;){var r=La(n);r.__index__=0,r.__values__=i,t?a.__wrapped__=r:t=r;var a=r;n=n.__wrapped__}return a.__wrapped__=e,t},Rn.prototype.reverse=function(){var e=this.__wrapped__;if(e instanceof qn){var t=e;return this.__actions__.length&&(t=new qn(this)),(t=t.reverse()).__actions__.push({func:ho,args:[Qa],thisArg:i}),new Fn(t,this.__chain__)}return this.thru(Qa)},Rn.prototype.toJSON=Rn.prototype.valueOf=Rn.prototype.value=function(){return di(this.__wrapped__,this.__actions__)},Rn.prototype.first=Rn.prototype.head,Ke&&(Rn.prototype[Ke]=function(){return this}),Rn}();dt._=pn,(r=function(){return pn}.call(t,n,t,e))===i||(e.exports=r)}.call(this)},8306:(e,t,n)=>{var r=n(3369);function i(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new TypeError("Expected a function");var n=function(){var r=arguments,i=t?t.apply(this,r):r[0],a=n.cache;if(a.has(i))return a.get(i);var o=e.apply(this,r);return n.cache=a.set(i,o)||a,o};return n.cache=new(i.Cache||r),n}i.Cache=r,e.exports=i},7771:(e,t,n)=>{var r=n(5639);e.exports=function(){return r.Date.now()}},6968:(e,t,n)=>{var r=n(611);e.exports=function(e,t,n){return null==e?e:r(e,t,n)}},4841:(e,t,n)=>{var r=n(7561),i=n(3218),a=n(3448),o=/^[-+]0x[0-9a-f]+$/i,s=/^0b[01]+$/i,u=/^0o[0-7]+$/i,l=parseInt;e.exports=function(e){if("number"==typeof e)return e;if(a(e))return NaN;if(i(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=i(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=r(e);var n=s.test(e);return n||u.test(e)?l(e.slice(2),n?2:8):o.test(e)?NaN:+e}},84:(e,t,n)=>{var r=n(9932),i=n(278),a=n(1469),o=n(3448),s=n(5514),u=n(327),l=n(9833);e.exports=function(e){return a(e)?r(e,u):o(e)?[e]:i(s(l(e)))}},9833:(e,t,n)=>{var r=n(531);e.exports=function(e){return null==e?"":r(e)}},2703:(e,t,n)=>{"use strict";var r=n(414);function i(){}function a(){}a.resetWarningCache=i,e.exports=function(){function e(e,t,n,i,a,o){if(o!==r){var s=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw s.name="Invariant Violation",s}}function t(){return e}e.isRequired=e;var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:a,resetWarningCache:i};return n.PropTypes=n,n}},5697:(e,t,n)=>{e.exports=n(2703)()},414:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},3379:e=>{"use strict";var t=[];function n(e){for(var n=-1,r=0;r{"use strict";var t={};e.exports=function(e,n){var r=function(e){if(void 0===t[e]){var n=document.querySelector(e);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(e){n=null}t[e]=n}return t[e]}(e);if(!r)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");r.appendChild(n)}},9216:e=>{"use strict";e.exports=function(e){var t=document.createElement("style");return e.setAttributes(t,e.attributes),e.insert(t,e.options),t}},3565:(e,t,n)=>{"use strict";e.exports=function(e){var t=n.nc;t&&e.setAttribute("nonce",t)}},7795:e=>{"use strict";e.exports=function(e){if("undefined"==typeof document)return{update:function(){},remove:function(){}};var t=e.insertStyleElement(e);return{update:function(n){!function(e,t,n){var r="";n.supports&&(r+="@supports (".concat(n.supports,") {")),n.media&&(r+="@media ".concat(n.media," {"));var i=void 0!==n.layer;i&&(r+="@layer".concat(n.layer.length>0?" ".concat(n.layer):""," {")),r+=n.css,i&&(r+="}"),n.media&&(r+="}"),n.supports&&(r+="}");var a=n.sourceMap;a&&"undefined"!=typeof btoa&&(r+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(a))))," */")),t.styleTagTransform(r,e,t.options)}(t,e,n)},remove:function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(t)}}}},4589:e=>{"use strict";e.exports=function(e,t){if(t.styleSheet)t.styleSheet.cssText=e;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(e))}}}},t={};function n(r){var i=t[r];if(void 0!==i)return i.exports;var a=t[r]={id:r,loaded:!1,exports:{}};return e[r].call(a.exports,a,a.exports,n),a.loaded=!0,a.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),n.nc=void 0;var r={};(()=>{"use strict";n.r(r),n.d(r,{Cytoscape:()=>se});var e=n(3379),t=n.n(e),i=n(7795),a=n.n(i),o=n(569),s=n.n(o),u=n(3565),l=n.n(u),c=n(9216),d=n.n(c),h=n(4589),f=n.n(h),p=n(372),v={};v.styleTagTransform=f(),v.setAttributes=l(),v.insert=s().bind(null,"head"),v.domAPI=a(),v.insertStyleElement=d(),t()(p.Z,v),p.Z&&p.Z.locals&&p.Z.locals;const g=window.React;var y=n.n(g),m=n(5697),b=n.n(m),x=n(9058),w=n.n(x);const{string:_,array:E,object:k,number:C,bool:S,oneOfType:P,any:T,func:D}=b(),M={id:_,className:_,style:P([_,k]),elements:P([E,T]),stylesheet:P([E,T]),layout:P([k,T]),pan:P([k,T]),zoom:C,panningEnabled:S,userPanningEnabled:S,minZoom:C,maxZoom:C,zoomingEnabled:S,userZoomingEnabled:S,boxSelectionEnabled:S,autoungrabify:S,autolock:S,autounselectify:S,get:D,toJson:D,diff:D,forEach:D,cy:D,headless:S,styleEnabled:S,hideEdgesOnViewport:S,textureOnViewport:S,motionBlur:S,motionBlurOpacity:C,wheelSensitivity:C,pixelRatio:P([_,k])},B=(e,t)=>{if(((e,t)=>null==e||null==t)(e,t)&&(null!=e||null!=t))return!0;if(e===t)return!1;if("object"!=typeof e||"object"!=typeof t)return e!==t;const n=Object.keys(e),r=Object.keys(t),i=n=>e[n]!==t[n];return n.length!==r.length||!(!n.some(i)&&!r.some(i))},I=(e,t)=>null!=e?e[t]:null,O={diff:B,get:I,toJson:e=>e,forEach:(e,t)=>e.forEach(t),elements:[{data:{id:"a",label:"Example node A"}},{data:{id:"b",label:"Example node B"}},{data:{id:"e",source:"a",target:"b"}}],stylesheet:[{selector:"node",style:{label:"data(label)"}}],zoom:1,pan:{x:0,y:0}},A=(e,t,n,r)=>n(I(e,r),I(t,r)),z=(e,t,n,r,i,a)=>{const o=i(i(n,"data"),"id"),s=e.getElementById(o),u={};["data","position","selected","selectable","locked","grabbable","classes"].forEach((e=>{const o=i(n,e);a(o,i(t,e))&&(u[e]=r(o))}));const l=i(n,"scratch");a(l,i(t,"scratch"))&&s.scratch(r(l)),Object.keys(u).length>0&&s.json(u)};class N extends y().Component{static get propTypes(){return M}static get defaultProps(){return O}static normalizeElements(e){if(null!=e.length)return e;{let{nodes:t,edges:n}=e;return null==t&&(t=[]),null==n&&(n=[]),t.concat(n)}}constructor(e){super(e),this.displayName="CytoscapeComponent",this.containerRef=y().createRef()}componentDidMount(){const e=this.containerRef.current,{global:t,headless:n,styleEnabled:r,hideEdgesOnViewport:i,textureOnViewport:a,motionBlur:o,motionBlurOpacity:s,wheelSensitivity:u,pixelRatio:l}=this.props,c=this._cy=new(w())({container:e,headless:n,styleEnabled:r,hideEdgesOnViewport:i,textureOnViewport:a,motionBlur:o,motionBlurOpacity:s,wheelSensitivity:u,pixelRatio:l});t&&(window[t]=c),this.updateCytoscape(null,this.props)}updateCytoscape(e,t){const n=this._cy,{diff:r,toJson:i,get:a,forEach:o}=t;((e,t,n,r,i,a,o)=>{e.batch((()=>{(r===B||A(t,n,r,"elements"))&&((e,t,n,r,i,a,o)=>{const s=[],u=e.collection(),l=[],c={},d={},h=e=>i(i(e,"data"),"id");a(n,(e=>{const t=h(e);d[t]=e})),null!=t&&a(t,(t=>{const n=h(t);c[n]=t,(e=>null!=d[e])(n)||u.merge(e.getElementById(n))})),a(n,(e=>{const t=h(e),n=(e=>c[e])(t);(e=>null!=c[e])(t)?l.push({ele1:n,ele2:e}):s.push(r(e))})),u.length>0&&e.remove(u),s.length>0&&e.add(s),l.forEach((({ele1:t,ele2:n})=>z(e,t,n,r,i,o)))})(e,I(t,"elements"),I(n,"elements"),i,a,o,r),A(t,n,r,"stylesheet")&&((e,t,n,r)=>{const i=e.style();null!=i&&i.fromJson(r(n)).update()})(e,I(t,"stylesheet"),I(n,"stylesheet"),i),["zoom","minZoom","maxZoom","zoomingEnabled","userZoomingEnabled","pan","panningEnabled","userPanningEnabled","boxSelectionEnabled","autoungrabify","autolock","autounselectify"].forEach((a=>{A(t,n,r,a)&&((e,t,n,r,i)=>{e[t](i(r))})(e,a,I(t,a),I(n,a),i)}))})),A(t,n,r,"layout")&&((e,t,n,r)=>{const i=r(n);null!=i&&e.layout(i).run()})(e,I(t,"layout"),I(n,"layout"),i)})(n,e,t,r,i,a,o),null!=t.cy&&t.cy(n)}componentDidUpdate(e){this.updateCytoscape(e,this.props)}componentWillUnmount(){this._cy.destroy()}render(){const{id:e,className:t,style:n}=this.props;return y().createElement("div",{ref:this.containerRef,id:e,className:t,style:n})}}var L=n(6486),R=n.n(L);const j={randomUUID:"undefined"!=typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};let V;const F=new Uint8Array(16);function q(){if(!V&&(V="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!V))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return V(F)}const W=[];for(let e=0;e<256;++e)W.push((e+256).toString(16).slice(1));const Y=function(e,t,n){if(j.randomUUID&&!t&&!e)return j.randomUUID();const r=(e=e||{}).random||(e.rng||q)();if(r[6]=15&r[6]|64,r[8]=63&r[8]|128,t){n=n||0;for(let e=0;e<16;++e)t[n+e]=r[e];return t}return function(e,t=0){return W[e[t+0]]+W[e[t+1]]+W[e[t+2]]+W[e[t+3]]+"-"+W[e[t+4]]+W[e[t+5]]+"-"+W[e[t+6]]+W[e[t+7]]+"-"+W[e[t+8]]+W[e[t+9]]+"-"+W[e[t+10]]+W[e[t+11]]+W[e[t+12]]+W[e[t+13]]+W[e[t+14]]+W[e[t+15]]}(r)};function X(e){return X="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},X(e)}function H(e,t){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:!this.shouldResize,t=this.cy;e!==this.shouldResize&&(e?(t.on("render",this.updateViewport),t.on("resize",this.resize),this.updateViewport(t)):(t.removeListener("render",this.updateViewport),t.removeListener("resize",this.resize)),this.shouldResize=e)}},{key:"getViewport",value:function(){var e=this.cy;return{position:e.pan(),zoom:e.zoom(),renderedBB:Object.assign({},e.elements().renderedBoundingBox()),height:e.height(),width:e.width()}}},{key:"updateViewport",value:function(){var e=this.cy;this.prev=this.getViewport(e)}},{key:"_xConstrainedZoom",value:function(e){var t=this.curr,n=this.prev,r=this.marginPercentage.left*t.width;t.position.x=r+(n.position.x-n.renderedBB.x1);var i=t.renderedBB.y1+t.renderedBB.h/2-t.renderedBB.h/n.zoom*e/2;i+=(t.height-n.height)/2,t.position.y=i+(n.position.y-n.renderedBB.y1)}},{key:"_xChangeMargin",value:function(e){var t=this.curr,n=this.prev,r=n.renderedBB.x1+n.renderedBB.w/2,i=r/n.width*e;t.position.x=t.position.x+(i-r)}},{key:"_yConstrainedZoom",value:function(e){var t=this.curr,n=this.prev,r=this.marginPercentage.top*t.height;t.position.y=r+(n.position.y-n.renderedBB.y1);var i=t.renderedBB.x1+t.renderedBB.w/2-t.renderedBB.w/n.zoom*e/2;i+=(t.width-n.width)/2,t.position.x=i+(n.position.x-n.renderedBB.x1)}},{key:"_yChangeMargin",value:function(){var e=this.curr,t=this.prev,n=t.renderedBB.y1+t.renderedBB.h/2,r=n/t.height*e.height;e.position.y=e.position.y+(r-n)}},{key:"resize",value:function(){var e=this.cy;this.curr=this.getViewport(e);var t=this.curr,n=this.prev,r=n.renderedBB.x1>=0&&n.renderedBB.y1>=0&&n.renderedBB.x2<=n.width&&n.renderedBB.y2<=n.height;if(this.marginPercentage={left:n.renderedBB.x1/n.width,top:n.renderedBB.y1/n.height},Math.abs(1-t.width/n.width)>Math.abs(1-t.height/n.height)){var i=n.zoom/n.width*t.width;if(r)for(var a=Math.min((t.renderedBB.y1+t.renderedBB.h/2)*n.zoom*2/t.renderedBB.h,-(t.renderedBB.y1+t.renderedBB.h/2-n.height)*n.zoom*2/t.renderedBB.h)-this.containedZoomMargin,o=n.width/n.zoom*a,s=t.zoom=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return o=e.done,e},e:function(e){s=!0,a=e},f:function(){try{o||null==n.return||n.return()}finally{if(s)throw a}}}}function $(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);ne.maxZoom()||t0&&(r.selector=r.selector+", "),r.selector=r.selector+"edge"):"node"===l?(r.selector.length>0&&(r.selector=r.selector+", "),r.selector=r.selector+"node"):"canvas"===l?r.coreAsWell=!0:console.error("Error: selector ".concat(l," is not available. Choose one of 'node', 'edge' or 'canvas'."))}}catch(e){u.e(e)}finally{u.f()}}o.push(r)};for(s.s();!(i=s.n()).done;)u()}catch(e){s.e(e)}finally{s.f()}return o},this.cyResponsiveClass=new Z(e),this.cyResponsiveClass.toggle(this.props.responsive),s(e.extent())}}},{key:"handleImageGeneration",value:function(e,t,n,r){var i=this,a={};t&&(a=t);var o,s,u,l=a.output;switch(a.output="blob",n){case"store":default:o=!1,s=!0;break;case"download":o=!0,s=!1;break;case"both":o=!0,s=!0}if("png"===e&&(u=this._cy.png(a)),"jpg"!==e&&"jpeg"!==e||(u=this._cy.jpg(a)),"svg"===e&&(u=this._cy.svg(a)),u&&o){var c=r;if(r||(c="cyto"),"svg"!==e)this.downloadBlob(u,c+"."+e);else{var d=new Blob([u],{type:"image/svg+xml;charset=utf-8"});this.downloadBlob(d,c+"."+e)}}if(u&&s){if(l||(l="base64uri"),"base64uri"!==l&&"base64"!==l)return;var h=new FileReader;h.onload=function(){var e=h.result;"base64"===l&&(e=e.replace(/^data:.+;base64,/,"")),i.props.setProps({imageData:e})},h.readAsDataURL(u)}}},{key:"downloadBlob",value:function(e,t){var n=document.createElement("a");n.style="display: none",document.body.appendChild(n);var r=window.URL.createObjectURL(e);n.href=r,n.download=t,n.click(),window.URL.revokeObjectURL(r),document.body.removeChild(n)}},{key:"updateContextMenu",value:function(e){this._cy.contextMenus({menuItems:this.createMenuItems(e),menuItemClasses:["custom-menu-item"]})}},{key:"graphOutOfView",value:function(){var e=this._cy.width(),t=this._cy.height(),n=this._cy.elements().renderedBoundingbox();return n.x1>e||n.y1>t||n.x2<0||n.y2<0}},{key:"componentDidUpdate",value:function(e){var t=this.props,n=t.contextMenu,r=t.elements;!R().isEqual(e.contextMenu,n)&&this._cy&&this.updateContextMenu(n),!R().isEqual(e.elements,r)&&this._cy&&this.graphOutOfView()&&this._cy.fit()}},{key:"componentDidMount",value:function(){var e=this.props.contextMenu;this._cy&&e.length>0&&this.updateContextMenu(e)}},{key:"render",value:function(){var e=this.props,t=e.id,n=e.style,r=e.className,i=e.elements,a=e.stylesheet,o=e.layout,s=e.contextMenu,u=e.contextMenuData,l=e.pan,c=e.zoom,d=e.panningEnabled,h=e.userPanningEnabled,f=e.minZoom,p=e.maxZoom,v=e.zoomingEnabled,g=e.userZoomingEnabled,m=e.wheelSensitivity,b=e.boxSelectionEnabled,x=e.autoungrabify,w=e.autolock,_=e.autounselectify,E=e.generateImage,k=e.responsive;return Object.keys(E).length>0&&(this.props.setProps({generateImage:{}}),this._cy&&this.handleImageGeneration(E.type,E.options,E.action,E.filename)),this.cyResponsiveClass&&this.cyResponsiveClass.toggle(k),y().createElement(N,{id:t,cy:this.handleCy,className:r,style:n,elements:N.normalizeElements(i),stylesheet:a,layout:o,contextMenu:s,contextMenuData:u,pan:l,zoom:c,panningEnabled:d,userPanningEnabled:h,minZoom:f,maxZoom:p,zoomingEnabled:v,userZoomingEnabled:g,wheelSensitivity:m,boxSelectionEnabled:b,autoungrabify:x,autolock:w,autounselectify:_})}}],r&&Q(n.prototype,r),Object.defineProperty(n,"prototype",{writable:!1}),t}(g.Component);oe.propTypes={id:b().string,className:b().string,style:b().object,setProps:b().func,elements:b().oneOfType([b().arrayOf(b().shape({group:b().string,data:b().shape({id:b().string,label:b().string,parent:b().string,source:b().string,target:b().string}),position:b().shape({x:b().number,y:b().number}),selected:b().bool,selectable:b().bool,locked:b().bool,grabbable:b().bool,classes:b().string})),b().exact({nodes:b().array,edges:b().array})]),stylesheet:b().arrayOf(b().exact({selector:b().string.isRequired,style:b().object.isRequired})),layout:b().shape({name:b().oneOf(["random","preset","circle","concentric","grid","breadthfirst","cose","cose-bilkent","fcose","cola","euler","spread","dagre","klay"]).isRequired,fit:b().bool,padding:b().number,animate:b().bool,animationDuration:b().number,boundingBox:b().object}),contextMenu:b().arrayOf(b().exact({id:b().string.isRequired,label:b().string.isRequired,tooltipText:b().string,availableOn:b().array,onClick:b().string,onClickCustom:b().string})),contextMenuData:b().exact({menuItemId:b().string,x:b().number,y:b().number,timeStamp:b().number,elementId:b().string,edgeSource:b().string,edgeTarget:b().string}),pan:b().exact({x:b().number,y:b().number}),zoom:b().number,panningEnabled:b().bool,userPanningEnabled:b().bool,minZoom:b().number,maxZoom:b().number,zoomingEnabled:b().bool,userZoomingEnabled:b().bool,wheelSensitivity:b().number,boxSelectionEnabled:b().bool,autoungrabify:b().bool,autolock:b().bool,autounselectify:b().bool,autoRefreshLayout:b().bool,tapNode:b().exact({edgesData:b().array,renderedPosition:b().object,timeStamp:b().number,classes:b().string,data:b().object,grabbable:b().bool,group:b().string,locked:b().bool,position:b().object,selectable:b().bool,selected:b().bool,style:b().object,ancestorsData:b().oneOfType([b().object,b().array]),childrenData:b().oneOfType([b().object,b().array]),descendantsData:b().oneOfType([b().object,b().array]),parentData:b().oneOfType([b().object,b().array]),siblingsData:b().oneOfType([b().object,b().array]),isParent:b().bool,isChildless:b().bool,isChild:b().bool,isOrphan:b().bool,relativePosition:b().object}),tapNodeData:b().object,tapEdge:b().exact({isLoop:b().bool,isSimple:b().bool,midpoint:b().object,sourceData:b().object,sourceEndpoint:b().object,targetData:b().object,targetEndpoint:b().object,timeStamp:b().number,classes:b().string,data:b().object,grabbable:b().bool,group:b().string,locked:b().bool,selectable:b().bool,selected:b().bool,style:b().object}),tapEdgeData:b().object,mouseoverNodeData:b().object,mouseoverEdgeData:b().object,selectedNodeData:b().array,selectedEdgeData:b().array,generateImage:b().shape({type:b().oneOf(["svg","png","jpg","jpeg"]),options:b().object,action:b().oneOf(["store","download","both"]),filename:b().string}),imageData:b().string,responsive:b().bool,extent:b().object,clearOnUnhover:b().bool},oe.defaultProps={style:{width:"600px",height:"600px"},layout:{name:"grid"},pan:{x:0,y:0},zoom:1,minZoom:1e-50,maxZoom:1e50,zoomingEnabled:!0,userZoomingEnabled:!0,panningEnabled:!0,userPanningEnabled:!0,wheelSensitivity:1,boxSelectionEnabled:!1,autolock:!1,autoungrabify:!1,autounselectify:!1,autoRefreshLayout:!0,generateImage:{},imageData:null,responsive:!1,clearOnUnhover:!1,elements:[],contextMenu:[]};const se=oe})(),window.dash_cytoscape=r})(); \ No newline at end of file +(()=>{var e={1686:()=>{!function(){"use strict";var e=function(e,t){var n=function(e){for(var t=0,n=e.length;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(e){throw e},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,s=!0,u=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return s=e.done,e},e:function(e){u=!0,o=e},f:function(){try{s||null==r.return||r.return()}finally{if(u)throw o}}}}var r=!0,i=!1,a="querySelectorAll",o="querySelectorAll",s=self,u=s.document,l=s.Element,c=s.MutationObserver,d=s.Set,h=s.WeakMap,f=function(e){return o in e},p=[].filter,v=function(e){var t=new h,s=function(n,r){var i;if(r)for(var a,o=function(e){return e.matches||e.webkitMatchesSelector||e.msMatchesSelector}(n),s=0,u=g.length;s1&&void 0!==arguments[1])||arguments[1],n=0,r=e.length;n1&&void 0!==arguments[1]?arguments[1]:document,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:MutationObserver,s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:["*"],u=function t(i,o,s,u,l,c){var d,h=n(i);try{for(h.s();!(d=h.n()).done;){var f=d.value;(c||a in f)&&(l?s.has(f)||(s.add(f),u.delete(f),e(f,l)):u.has(f)||(u.add(f),s.delete(f),e(f,l)),c||t(f[a](o),o,s,u,l,r))}}catch(e){h.e(e)}finally{h.f()}},l=new o((function(e){if(s.length){var t,a=s.join(","),o=new Set,l=new Set,c=n(e);try{for(c.s();!(t=c.n()).done;){var d=t.value,h=d.addedNodes,f=d.removedNodes;u(f,a,o,l,i,i),u(h,a,o,l,r,i)}}catch(e){c.e(e)}finally{c.f()}}})),c=l.observe;return(l.observe=function(e){return c.call(l,e,{subtree:r,childList:r})})(t),l}(s,y,c,g),b=l.prototype.attachShadow;return b&&(l.prototype.attachShadow=function(e){var t=b.call(this,e);return m.observe(t),t}),g.length&&v(y[o](g)),{drop:function(e){for(var n=0,r=e.length;n{window.dash_clientside||(window.dash_clientside={});var e=20037508.34;function t(t,n){return[180*t/e,360*Math.atan(Math.exp(-n*Math.PI/e))/Math.PI-90]}window.dash_clientside.cyleaflet={updateLeafBounds:function(e,n,r){var i=e;if(!i){if(!r)return window.dash_clientside.no_update;i=r}var a=t(i.x1,i.y1),o=a[0],s=a[1],u=t(i.x2,i.y2),l=u[0],c=u[1],d=(new Date).getTime(),h=[[c,o],[s,l]];return s===c||o===l?window.dash_clientside.no_update:[d,{bounds:h,options:{animate:!0}},i]},transformElements:function(t){return t.map((function(t){if(Object.prototype.hasOwnProperty.call(t.data,"lat")){var n=(r=t.data.lon,i=t.data.lat,[r*e/180,-Math.log(Math.tan((90+i)*Math.PI/360))*e/Math.PI]);return{data:t.data,position:{y:n[1],x:n[0]}}}var r,i;return t}))},updateLonLat:function(e){return e.length>0?e.map((function(e){if(void 0!==e.position&&Object.prototype.hasOwnProperty.call(e.position,"x")&&0!==e.position.x&&0!==e.position.y){var n=t(e.position.x,e.position.y);return{position:e.position,data:Object.assign({},e.data,{lon:n[0],lat:n[1]})}}return e})):window.dash_clientside.no_update},updateCytoMaxZoom:function(e){var t=e;e.length>=1&&1===(t=e.filter((function(e){return"TileLayer"===e.type}))).length&&(t=t[0]);var n=18;return void 0!==t.props&&Object.prototype.hasOwnProperty.call(t.props,"maxZoom")&&(n=t.props.maxZoom),function(e){return.418*Math.pow(2,e-16)}(n)}}},372:(e,t,n)=>{"use strict";n.d(t,{Z:()=>s});var r=n(8081),i=n.n(r),a=n(3645),o=n.n(a)()(i());o.push([e.id,".cytoscape-reference p {\n display: inline;\n}\n\n.custom-menu-item {\n background-color: rgb(241, 241, 241);\n font-weight: bold !important;\n width: 170px;\n display: inline-block;\n height: 38px;\n padding: 0 30px;\n color: #555;\n text-align: center;\n font-size: 11px;\n font-weight: 600;\n line-height: 38px;\n letter-spacing: 0.1rem;\n text-decoration: none;\n white-space: nowrap;\n border-radius: 4px;\n border: 1px solid #bbb;\n cursor: pointer;\n box-sizing: border-box;\n}\n.custom-menu-item:hover {\n color: rgb(104, 104, 104);\n border-color: rgb(97, 97, 97);\n outline: 0;\n}\n\n.cy-context-menus-cxt-menu {\n display: none;\n}\n",""]);const s=o},3645:e=>{"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var n="",r=void 0!==t[5];return t[4]&&(n+="@supports (".concat(t[4],") {")),t[2]&&(n+="@media ".concat(t[2]," {")),r&&(n+="@layer".concat(t[5].length>0?" ".concat(t[5]):""," {")),n+=e(t),r&&(n+="}"),t[2]&&(n+="}"),t[4]&&(n+="}"),n})).join("")},t.i=function(e,n,r,i,a){"string"==typeof e&&(e=[[null,e,void 0]]);var o={};if(r)for(var s=0;s0?" ".concat(c[5]):""," {").concat(c[1],"}")),c[5]=a),n&&(c[2]?(c[1]="@media ".concat(c[2]," {").concat(c[1],"}"),c[2]=n):c[2]=n),i&&(c[4]?(c[1]="@supports (".concat(c[4],") {").concat(c[1],"}"),c[4]=i):c[4]="".concat(i)),t.push(c))}},t}},8081:e=>{"use strict";e.exports=function(e){return e[1]}},474:e=>{self,e.exports=(()=>{var e={621:(e,t,n)=>{"use strict";function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);nD});var s="cy-context-menus-divider",u={evtType:"cxttap",menuItems:[],menuItemClasses:["cy-context-menus-cxt-menuitem"],contextMenuClasses:["cy-context-menus-cxt-menu"],submenuIndicator:{src:"assets/submenu-indicator-default.svg",width:12,height:12}};function l(e){return(l="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function c(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return d(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?d(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,s=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return o=e.done,e},e:function(e){s=!0,a=e},f:function(){try{o||null==n.return||n.return()}finally{if(s)throw a}}}}function d(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n1&&void 0!==arguments[1]?arguments[1]:void 0;this.hasSubmenu()||this._createSubmenu(),this.submenu.appendMenuItem(e,t)}},{key:"isClickable",value:function(){return void 0!==this.onClickFunction}},{key:"display",value:function(){this.show=!0,this.style.display="block"}},{key:"isVisible",value:function(){return!0===this.show&&"none"!==this.style.display}},{key:"removeSubmenu",value:function(){this.hasSubmenu()&&(this.submenu.removeAllMenuItems(),this.detachSubmenu())}},{key:"detachSubmenu",value:function(){this.hasSubmenu()&&(this.removeChild(this.submenu),this.removeChild(this.indicator),this.removeEventListener("mouseenter",this.mouseEnterHandler),this.removeEventListener("mouseleave",this.mouseLeaveHandler),this.submenu=void 0,this.indicator=void 0)}},{key:"_onMouseEnter",value:function(e){var t=this.getBoundingClientRect(),r=function(e){e.style.opacity="0",e.style.display="block";var t=e.getBoundingClientRect();return e.style.opacity="1",e.style.display="none",t}(this.submenu),i=t.right+r.width>window.innerWidth,a=t.top+r.height>window.innerHeight;i||a?i&&!a?(this.submenu.style.right=this.clientWidth+"px",this.submenu.style.top="0px",this.submenu.style.left="auto",this.submenu.style.bottom="auto"):i&&a?(this.submenu.style.right=this.clientWidth+"px",this.submenu.style.bottom="0px",this.submenu.style.top="auto",this.submenu.style.left="auto"):(this.submenu.style.left=this.clientWidth+"px",this.submenu.style.bottom="0px",this.submenu.style.right="auto",this.submenu.style.top="auto"):(this.submenu.style.left=this.clientWidth+"px",this.submenu.style.top="0px",this.submenu.style.right="auto",this.submenu.style.bottom="auto"),this.submenu.display();var o=Array.from(this.submenu.children).filter((function(e){if(e instanceof n)return e.isVisible()})),u=o.length;o.forEach((function(e,t){e instanceof n&&(t=(a=n.getBoundingClientRect()).left&&r<=a.right&&i>=a.top&&i<=a.bottom||this.submenu.hide()}},{key:"_createSubmenu",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];this.indicator=this.scratchpad.submenuIndicatorGen(),this.submenu=new S(this.onMenuItemClick,this.scratchpad),this.appendChild(this.indicator),this.appendChild(this.submenu);var t,r=c(e);try{for(r.s();!(t=r.n()).done;){var i=new n(t.value,this.onMenuItemClick,this.scratchpad);this.submenu.appendMenuItem(i)}}catch(e){r.e(e)}finally{r.f()}this.mouseEnterHandler=this._onMouseEnter.bind(this),this.mouseLeaveHandler=this._onMouseLeave.bind(this),this.addEventListener("mouseenter",this.mouseEnterHandler),this.addEventListener("mouseleave",this.mouseLeaveHandler)}},{key:"_getMenuItemClassStr",value:function(e,t){return t?e+" "+s:e}}],[{key:"define",value:function(){o("ctx-menu-item",n,"button")}}]),n}(b(HTMLButtonElement)),S=function(e){v(n,e);var t=g(n);function n(e,r){var i,a;return h(this,n),m((i=y(a=t.call(this)),E(n.prototype)),"setAttribute",i).call(i,"class",r.cxtMenuClasses),a.style.position="absolute",a.onMenuItemClick=e,a.scratchpad=r,a}return p(n,[{key:"hide",value:function(){this.isVisible()&&(this.hideSubmenus(),this.style.display="none")}},{key:"display",value:function(){this.style.display="block"}},{key:"isVisible",value:function(){return"none"!==this.style.display}},{key:"hideMenuItems",value:function(){var e,t=c(this.children);try{for(t.s();!(e=t.n()).done;){var n=e.value;n instanceof HTMLElement?n.style.display="none":console.warn("".concat(n," is not a HTMLElement"))}}catch(e){t.e(e)}finally{t.f()}}},{key:"hideSubmenus",value:function(){var e,t=c(this.children);try{for(t.s();!(e=t.n()).done;){var n=e.value;n instanceof C&&n.submenu&&n.submenu.hide()}}catch(e){t.e(e)}finally{t.f()}}},{key:"appendMenuItem",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0;if(void 0!==t){if(t.parentNode!==this)throw new Error("The item with id='".concat(t.id,"' is not a child of the context menu"));this.insertBefore(e,t)}else this.appendChild(e);e.isClickable()&&this._performBindings(e)}},{key:"moveBefore",value:function(e,t){if(e.parentNode!==this)throw new Error("The item with id='".concat(e.id,"' is not a child of context menu"));if(t.parentNode!==this)throw new Error("The item with id='".concat(t.id,"' is not a child of context menu"));this.removeChild(e),this.insertBefore(e,t)}},{key:"removeAllMenuItems",value:function(){for(;this.firstChild;){var e=this.lastChild;e instanceof C?this._removeImmediateMenuItem(e):(console.warn("Found non menu item in the context menu: ",e),this.removeChild(e))}}},{key:"_removeImmediateMenuItem",value:function(e){if(!this._detachImmediateMenuItem(e))throw new Error("menu item(id=".concat(e.id,") is not in the context menu"));e.detachSubmenu(),e.unbindOnClickFunctions()}},{key:"_detachImmediateMenuItem",value:function(e){if(e.parentNode===this){if(this.removeChild(e),this.children.length<=0){var t=this.parentNode;t instanceof C&&t.detachSubmenu()}return!0}return!1}},{key:"_performBindings",value:function(e){var t=this._bindOnClick(e.onClickFunction);e.bindOnClickFunction(t),e.bindOnClickFunction(this.onMenuItemClick)}},{key:"_bindOnClick",value:function(e){var t=this;return function(){var n=t.scratchpad.currentCyEvent;e(n)}}}],[{key:"define",value:function(){o("menu-item-list",n,"div")}}]),n}(b(HTMLDivElement)),P=function(e){v(n,e);var t=g(n);function n(e,r){var i;return h(this,n),(i=t.call(this,e,r)).onMenuItemClick=function(t){k(t),i.hide(),e()},i}return p(n,[{key:"removeMenuItem",value:function(e){var t=e.parentElement;t instanceof S&&this.contains(t)&&t._removeImmediateMenuItem(e)}},{key:"appendMenuItem",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0;this.ensureDoesntContain(e.id),m(E(n.prototype),"appendMenuItem",this).call(this,e,t)}},{key:"insertMenuItem",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.before,r=t.parent;if(this.ensureDoesntContain(e.id),void 0!==n){if(!this.contains(n))throw new Error("before(id=".concat(n.id,") is not in the context menu"));var i=n.parentNode;if(!(i instanceof S))throw new Error("Parent of before(id=".concat(n.id,") is not a submenu"));i.appendMenuItem(e,n)}else if(void 0!==r){if(!this.contains(r))throw new Error("parent(id=".concat(r.id,") is not a descendant of the context menu"));r.appendSubmenuItem(e)}else this.appendMenuItem(e)}},{key:"moveBefore",value:function(e,t){var n=e.parentElement;if(!this.contains(n))throw new Error("parent(id=".concat(n.id,") is not in the contex menu"));if(!this.contains(t))throw new Error("before(id=".concat(t.id,") is not in the context menu"));n.removeChild(e),this.insertMenuItem(e,{before:t})}},{key:"moveToSubmenu",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,r=e.parentElement;if(!(r instanceof S))throw new Error("current parent(id=".concat(r.id,") is not a submenu"));if(!this.contains(r))throw new Error("parent of the menu item(id=".concat(r.id,") is not in the context menu"));if(null!==t){if(!this.contains(t))throw new Error("parent(id=".concat(t.id,") is not in the context menu"));r._detachImmediateMenuItem(e),t.appendSubmenuItem(e)}else null!==n&&(e.selector=n.selector,e.coreAsWell=n.coreAsWell),r._detachImmediateMenuItem(e),this.appendMenuItem(e)}},{key:"ensureDoesntContain",value:function(e){var t=document.getElementById(e);if(void 0!==t&&this.contains(t))throw new Error("There is already an element with id=".concat(e," in the context menu"))}}],[{key:"define",value:function(){o("ctx-menu",n,"div")}}]),n}(S);function T(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n1&&void 0!==arguments[1]?arguments[1]:void 0,n=p(e);if(void 0!==t){var r=g(t);d.insertMenuItem(n,{parent:r})}else d.insertMenuItem(n)},f=function(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,n=0;n0&&(s.top+=h,s.left+=h);var f=r.clientHeight,p=r.clientWidth,v=f/2,g=p/2;u.y>v&&u.x<=g?(d.style.left=u.x+"px",d.style.bottom=f-u.y+"px",d.style.right="auto",d.style.top="auto"):u.y>v&&u.x>g?(d.style.right=p-u.x+"px",d.style.bottom=f-u.y+"px",d.style.left="auto",d.style.top="auto"):u.y<=v&&u.x<=g?(d.style.left=u.x+"px",d.style.top=u.y+"px",d.style.right="auto",d.style.bottom="auto"):(d.style.right=p-u.x+"px",d.style.top=u.y+"px",d.style.left="auto",d.style.bottom="auto")}}(e);var n,r=e.target||e.cyTarget,i=function(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return T(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?T(e,t):void 0}}(e))){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,s=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return o=e.done,e},e:function(e){s=!0,a=e},f:function(){try{o||null==n.return||n.return()}finally{if(s)throw a}}}}(d.children);try{for(i.s();!(n=i.n()).done;){var a=n.value;a instanceof C&&(r===t?a.coreAsWell:r.is(a.selector))&&a.show&&(d.display(),l("anyVisibleChild",!0),a.display())}}catch(e){i.e(e)}finally{i.f()}var u=Array.from(d.children).filter((function(e){if(e instanceof C)return e.isVisible()})),c=u.length;u.forEach((function(e,t){e instanceof C&&(t=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(e){throw e},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,s=!0,u=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return s=e.done,e},e:function(e){u=!0,o=e},f:function(){try{s||null==n.return||n.return()}finally{if(u)throw o}}}}(document.getElementsByClassName("cy-context-menus-cxt-menu"));try{for(t.s();!(e=t.n()).done;)e.value.addEventListener("contextmenu",(function(e){return e.preventDefault()}))}catch(e){t.e(e)}finally{t.f()}}()}return function(e){return{isActive:function(){return o("active")},appendMenuItem:function(t){return h(t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0),e},appendMenuItems:function(t){return f(t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0),e},removeMenuItem:function(t){var n=g(t);return d.removeMenuItem(n),e},setTrailingDivider:function(t,n){var r=g(t);return r.setHasTrailingDivider(n),n?r.classList.add(s):r.classList.remove(s),e},insertBeforeMenuItem:function(t,n){var r=p(t),i=g(n);return d.insertMenuItem(r,{before:i}),e},moveToSubmenu:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=g(t);if(null===n)d.moveToSubmenu(r);else if("string"==typeof n){var i=g(n.toString());d.moveToSubmenu(r,i)}else void 0!==n.coreAsWell||void 0!==n.selector?d.moveToSubmenu(r,null,n):console.warn("options neither has coreAsWell nor selector property but it is an object. Are you sure that this is what you want to do?");return e},moveBeforeOtherMenuItem:function(t,n){var r=g(t),i=g(n);return d.moveBefore(r,i),e},disableMenuItem:function(t){return g(t).disable(),e},enableMenuItem:function(t){return g(t).enable(),e},hideMenuItem:function(t){return g(t).hide(),e},showMenuItem:function(t){return g(t).display(),e},destroy:function(){return v(),e}}}(this)}},579:(e,t,n)=>{var r=n(621).contextMenus,i=function(e){e&&e("core","contextMenus",r)};"undefined"!=typeof cytoscape&&i(cytoscape),e.exports=i}},t={};function n(r){var i=t[r];if(void 0!==i)return i.exports;var a=t[r]={exports:{}};return e[r](a,a.exports,n),a.exports}return n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n(579)})()},9058:(e,t,n)=>{"use strict";var r=n(3279),i=n(4485),a=n(7361),o=n(6968),s=n(84);function u(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var l=u(r),c=u(i),d=u(a),h=u(o),f=u(s);function p(e){return p="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},p(e)}function v(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function g(e,t){for(var n=0;ne.length)&&(t=e.length);for(var n=0,r=new Array(t);nt?1:0},Q=null!=Object.assign?Object.assign.bind(Object):function(e){for(var t=arguments,n=1;n1&&void 0!==arguments[1]?arguments[1]:se;!(t=e.next()).done;)n=65599*n+t.value|0;return n},ce=function(e){return 65599*(arguments.length>1&&void 0!==arguments[1]?arguments[1]:se)+e|0},de=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:ue;return(t<<5)+t+e|0},he=function(e){return 2097152*e[0]+e[1]},fe=function(e,t){return[ce(e[0],t[0]),de(e[1],t[1])]},pe=function(e,t){var n={value:0,done:!1},r=0,i=e.length;return le({next:function(){return r=0&&(e[r]!==t||(e.splice(r,1),!n));r--);},Ae=function(e){e.splice(0,e.length)},ze=function(e,t,n){return n&&(t=Y(n,t)),e[t]},Ne=function(e,t,n,r){n&&(t=Y(n,t)),e[t]=r},Le="undefined"!=typeof Map?Map:function(){function e(){v(this,e),this._obj={}}return y(e,[{key:"set",value:function(e,t){return this._obj[e]=t,this}},{key:"delete",value:function(e){return this._obj[e]=void 0,this}},{key:"clear",value:function(){this._obj={}}},{key:"has",value:function(e){return void 0!==this._obj[e]}},{key:"get",value:function(e){return this._obj[e]}}]),e}(),Re=function(){function e(t){if(v(this,e),this._obj=Object.create(null),this.size=0,null!=t){var n;n=null!=t.instanceString&&t.instanceString()===this.instanceString()?t.toArray():t;for(var r=0;r2&&void 0!==arguments[2])||arguments[2];if(void 0!==e&&void 0!==t&&L(e)){var r=t.group;if(null==r&&(r=t.data&&null!=t.data.source&&null!=t.data.target?"edges":"nodes"),"nodes"===r||"edges"===r){this.length=1,this[0]=this;var i=this._private={cy:e,single:!0,data:t.data||{},position:t.position||{x:0,y:0},autoWidth:void 0,autoHeight:void 0,autoPadding:void 0,compoundBoundsClean:!1,listeners:[],group:r,style:{},rstyle:{},styleCxts:[],styleKeys:{},removed:!0,selected:!!t.selected,selectable:void 0===t.selectable||!!t.selectable,locked:!!t.locked,grabbed:!1,grabbable:void 0===t.grabbable||!!t.grabbable,pannable:void 0===t.pannable?"edges"===r:!!t.pannable,active:!1,classes:new je,animation:{current:[],queue:[]},rscratch:{},scratch:t.scratch||{},edges:[],children:[],parent:t.parent&&t.parent.isNode()?t.parent:null,traversalCache:{},backgrounding:!1,bbCache:null,bbCacheShift:{x:0,y:0},bodyBounds:null,overlayBounds:null,labelBounds:{all:null,source:null,target:null,main:null},arrowBounds:{source:null,target:null,"mid-source":null,"mid-target":null}};if(null==i.position.x&&(i.position.x=0),null==i.position.y&&(i.position.y=0),t.renderedPosition){var a=t.renderedPosition,o=e.pan(),s=e.zoom();i.position={x:(a.x-o.x)/s,y:(a.y-o.y)/s}}var u=[];M(t.classes)?u=t.classes:T(t.classes)&&(u=t.classes.split(/\s+/));for(var l=0,c=u.length;l0;){var _=m.pop(),E=g(_),k=_.id();if(h[k]=E,E!==1/0)for(var C=_.neighborhood().intersect(p),S=0;S0)for(n.unshift(t);d[i];){var a=d[i];n.unshift(a.edge),n.unshift(a.node),i=(r=a.node).id()}return o.spawn(n)}}}},Xe={kruskal:function(e){e=e||function(e){return 1};for(var t=this.byGroup(),n=t.nodes,r=t.edges,i=n.length,a=new Array(i),o=n,s=function(e){for(var t=0;t0;){if(l=(u=g.pop()).id(),y.delete(l),_++,l===h){for(var E=[],k=i,C=h,S=b[C];E.unshift(k),null!=S&&E.unshift(S),null!=(k=m[C]);)S=b[C=k.id()];return{found:!0,distance:f[l],path:this.spawn(E),steps:_}}v[l]=!0;for(var P=u._private.edges,T=0;TS&&(f[C]=S,y[C]=k,m[C]=x),!i){var P=k*l+E;!i&&f[P]>S&&(f[P]=S,y[P]=E,m[P]=x)}}}for(var D=0;D1&&void 0!==arguments[1]?arguments[1]:a,r=[],i=m(e);;){if(null==i)return t.spawn();var o=y(i),u=o.edge,l=o.pred;if(r.unshift(i[0]),i.same(n)&&r.length>0)break;null!=u&&r.unshift(u),i=l}return s.spawn(r)},hasNegativeWeightCycle:p,negativeWeightCycles:v}}},Qe=Math.sqrt(2),Je=function(e,t,n){0===n.length&&Ce("Karger-Stein must be run on a connected (sub)graph");for(var r=n[e],i=r[1],a=r[2],o=t[i],s=t[a],u=n,l=u.length-1;l>=0;l--){var c=u[l],d=c[1],h=c[2];(t[d]===o&&t[h]===s||t[d]===s&&t[h]===o)&&u.splice(l,1)}for(var f=0;fr;){var i=Math.floor(Math.random()*t.length);t=Je(i,e,t),n--}return t},tt={kargerStein:function(){var e=this,t=this.byGroup(),n=t.nodes,r=t.edges;r.unmergeBy((function(e){return e.isLoop()}));var i=n.length,a=r.length,o=Math.ceil(Math.pow(Math.log(i)/Math.LN2,2)),s=Math.floor(i/Qe);if(!(i<2)){for(var u=[],l=0;l0?1:e<0?-1:0},ut=function(e,t){return Math.sqrt(lt(e,t))},lt=function(e,t){var n=t.x-e.x,r=t.y-e.y;return n*n+r*r},ct=function(e){for(var t=e.length,n=0,r=0;r=e.x1&&e.y2>=e.y1)return{x1:e.x1,y1:e.y1,x2:e.x2,y2:e.y2,w:e.x2-e.x1,h:e.y2-e.y1};if(null!=e.w&&null!=e.h&&e.w>=0&&e.h>=0)return{x1:e.x1,y1:e.y1,x2:e.x1+e.w,y2:e.y1+e.h,w:e.w,h:e.h}}},vt=function(e,t){e.x1=Math.min(e.x1,t.x1),e.x2=Math.max(e.x2,t.x2),e.w=e.x2-e.x1,e.y1=Math.min(e.y1,t.y1),e.y2=Math.max(e.y2,t.y2),e.h=e.y2-e.y1},gt=function(e,t,n){e.x1=Math.min(e.x1,t),e.x2=Math.max(e.x2,t),e.w=e.x2-e.x1,e.y1=Math.min(e.y1,n),e.y2=Math.max(e.y2,n),e.h=e.y2-e.y1},yt=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return e.x1-=t,e.x2+=t,e.y1-=t,e.y2+=t,e.w=e.x2-e.x1,e.h=e.y2-e.y1,e},mt=function(e){var t,n,r,i,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[0];if(1===a.length)t=n=r=i=a[0];else if(2===a.length)t=r=a[0],i=n=a[1];else if(4===a.length){var o=b(a,4);t=o[0],n=o[1],r=o[2],i=o[3]}return e.x1-=i,e.x2+=n,e.y1-=t,e.y2+=r,e.w=e.x2-e.x1,e.h=e.y2-e.y1,e},bt=function(e,t){e.x1=t.x1,e.y1=t.y1,e.x2=t.x2,e.y2=t.y2,e.w=e.x2-e.x1,e.h=e.y2-e.y1},xt=function(e,t){return!(e.x1>t.x2||t.x1>e.x2||e.x2t.y2||t.y1>e.y2)},wt=function(e,t,n){return e.x1<=t&&t<=e.x2&&e.y1<=n&&n<=e.y2},_t=function(e,t){return wt(e,t.x1,t.y1)&&wt(e,t.x2,t.y2)},Et=function(e,t,n,r,i,a,o){var s,u=Ft(i,a),l=i/2,c=a/2,d=r-c-o;if((s=zt(e,t,n,r,n-l+u-o,d,n+l-u+o,d,!1)).length>0)return s;var h=n+l+o;if((s=zt(e,t,n,r,h,r-c+u-o,h,r+c-u+o,!1)).length>0)return s;var f=r+c+o;if((s=zt(e,t,n,r,n-l+u-o,f,n+l-u+o,f,!1)).length>0)return s;var p,v=n-l-o;if((s=zt(e,t,n,r,v,r-c+u-o,v,r+c-u+o,!1)).length>0)return s;var g=n-l+u,y=r-c+u;if((p=Ot(e,t,n,r,g,y,u+o)).length>0&&p[0]<=g&&p[1]<=y)return[p[0],p[1]];var m=n+l-u,b=r-c+u;if((p=Ot(e,t,n,r,m,b,u+o)).length>0&&p[0]>=m&&p[1]<=b)return[p[0],p[1]];var x=n+l-u,w=r+c-u;if((p=Ot(e,t,n,r,x,w,u+o)).length>0&&p[0]>=x&&p[1]>=w)return[p[0],p[1]];var _=n-l+u,E=r+c-u;return(p=Ot(e,t,n,r,_,E,u+o)).length>0&&p[0]<=_&&p[1]>=E?[p[0],p[1]]:[]},kt=function(e,t,n,r,i,a,o){var s=o,u=Math.min(n,i),l=Math.max(n,i),c=Math.min(r,a),d=Math.max(r,a);return u-s<=e&&e<=l+s&&c-s<=t&&t<=d+s},Ct=function(e,t,n,r,i,a,o,s,u){var l=Math.min(n,o,i)-u,c=Math.max(n,o,i)+u,d=Math.min(r,s,a)-u,h=Math.max(r,s,a)+u;return!(ec||th)},St=function(e,t,n,r,i,a,o,s){var u,l,c,d,h,f,p,v,g,y,m,b,x,w=[];l=9*n*i-3*n*n-3*n*o-6*i*i+3*i*o+9*r*a-3*r*r-3*r*s-6*a*a+3*a*s,c=3*n*n-6*n*i+n*o-n*e+2*i*i+2*i*e-o*e+3*r*r-6*r*a+r*s-r*t+2*a*a+2*a*t-s*t,d=1*n*i-n*n+n*e-i*e+r*a-r*r+r*t-a*t,0===(u=1*n*n-4*n*i+2*n*o+4*i*i-4*i*o+o*o+r*r-4*r*a+2*r*s+4*a*a-4*a*s+s*s)&&(u=1e-5),v=-27*(d/=u)+(l/=u)*(9*(c/=u)-l*l*2),f=(p=(3*c-l*l)/9)*p*p+(v/=54)*v,(h=w)[1]=0,b=l/3,f>0?(y=(y=v+Math.sqrt(f))<0?-Math.pow(-y,1/3):Math.pow(y,1/3),m=(m=v-Math.sqrt(f))<0?-Math.pow(-m,1/3):Math.pow(m,1/3),h[0]=-b+y+m,b+=(y+m)/2,h[4]=h[2]=-b,b=Math.sqrt(3)*(-m+y)/2,h[3]=b,h[5]=-b):(h[5]=h[3]=0,0===f?(x=v<0?-Math.pow(-v,1/3):Math.pow(v,1/3),h[0]=2*x-b,h[4]=h[2]=-(x+b)):(g=(p=-p)*p*p,g=Math.acos(v/Math.sqrt(g)),x=2*Math.sqrt(p),h[0]=-b+x*Math.cos(g/3),h[2]=-b+x*Math.cos((g+2*Math.PI)/3),h[4]=-b+x*Math.cos((g+4*Math.PI)/3)));for(var _=[],E=0;E<6;E+=2)Math.abs(w[E+1])<1e-7&&w[E]>=0&&w[E]<=1&&_.push(w[E]);_.push(1),_.push(0);for(var k,C,S,P=-1,T=0;T<_.length;T++)k=Math.pow(1-_[T],2)*n+2*(1-_[T])*_[T]*i+_[T]*_[T]*o,C=Math.pow(1-_[T],2)*r+2*(1-_[T])*_[T]*a+_[T]*_[T]*s,S=Math.pow(k-e,2)+Math.pow(C-t,2),P>=0?Su?(e-i)*(e-i)+(t-a)*(t-a):l-d},Tt=function(e,t,n){for(var r,i,a,o,s=0,u=0;u=e&&e>=a||r<=e&&e<=a))continue;(e-r)/(a-r)*(o-i)+i>t&&s++}return s%2!=0},Dt=function(e,t,n,r,i,a,o,s,u){var l,c=new Array(n.length);null!=s[0]?(l=Math.atan(s[1]/s[0]),s[0]<0?l+=Math.PI/2:l=-l-Math.PI/2):l=s;for(var d,h=Math.cos(-l),f=Math.sin(-l),p=0;p0){var v=Bt(c,-u);d=Mt(v)}else d=c;return Tt(e,t,d)},Mt=function(e){for(var t,n,r,i,a,o,s,u,l=new Array(e.length/2),c=0;c=0&&p<=1&&g.push(p),v>=0&&v<=1&&g.push(v),0===g.length)return[];var y=g[0]*s[0]+e,m=g[0]*s[1]+t;return g.length>1?g[0]==g[1]?[y,m]:[y,m,g[1]*s[0]+e,g[1]*s[1]+t]:[y,m]},At=function(e,t,n){return t<=e&&e<=n||n<=e&&e<=t?e:e<=t&&t<=n||n<=t&&t<=e?t:n},zt=function(e,t,n,r,i,a,o,s,u){var l=e-i,c=n-e,d=o-i,h=t-a,f=r-t,p=s-a,v=d*h-p*l,g=c*h-f*l,y=p*c-d*f;if(0!==y){var m=v/y,b=g/y,x=-.001;return x<=m&&m<=1.001&&x<=b&&b<=1.001||u?[e+m*c,t+m*f]:[]}return 0===v||0===g?At(e,n,o)===o?[o,s]:At(e,n,i)===i?[i,a]:At(i,o,n)===n?[n,r]:[]:[]},Nt=function(e,t,n,r,i,a,o,s){var u,l,c,d,h,f,p=[],v=new Array(n.length),g=!0;if(null==a&&(g=!1),g){for(var y=0;y0){var m=Bt(v,-s);l=Mt(m)}else l=v}else l=n;for(var b=0;bl&&(l=t)},h=function(e){return u[e]},f=0;f0?w.edgesTo(x)[0]:x.edgesTo(w)[0];var _=r(b);x=x.id(),f[x]>f[y]+_&&(f[x]=f[y]+_,p.nodes.indexOf(x)<0?p.push(x):p.updateItem(x),l[x]=0,u[x]=[]),f[x]==f[y]+_&&(l[x]=l[x]+l[y],u[x].push(y))}else for(var E=0;E0;){for(var P=n.pop(),T=0;T0&&o.push(n[s]);0!==o.length&&i.push(r.collection(o))}return i}(c,u,t,r);return b=function(e){for(var t=0;t5&&void 0!==arguments[5]?arguments[5]:ln,o=r,s=0;s=2?vn(e,t,n,0,hn,fn):vn(e,t,n,0,dn)},squaredEuclidean:function(e,t,n){return vn(e,t,n,0,hn)},manhattan:function(e,t,n){return vn(e,t,n,0,dn)},max:function(e,t,n){return vn(e,t,n,-1/0,pn)}};function yn(e,t,n,r,i,a){var o;return o=D(e)?e:gn[e]||gn.euclidean,0===t&&D(e)?o(i,a):o(t,n,r,i,a)}gn["squared-euclidean"]=gn.squaredEuclidean,gn.squaredeuclidean=gn.squaredEuclidean;var mn=Ie({k:2,m:2,sensitivityThreshold:1e-4,distance:"euclidean",maxIterations:10,attributes:[],testMode:!1,testCentroids:null}),bn=function(e){return mn(e)},xn=function(e,t,n,r,i){var a="kMedoids"!==i?function(e){return n[e]}:function(e){return r[e](n)},o=n,s=t;return yn(e,r.length,a,(function(e){return r[e](t)}),o,s)},wn=function(e,t,n){for(var r=n.length,i=new Array(r),a=new Array(r),o=new Array(t),s=null,u=0;un)return!1;return!0},Cn=function(e,t,n){for(var r=0;ri&&(i=t[u][l],a=l);o[a].push(e[u])}for(var c=0;c=i.threshold||"dendrogram"===i.mode&&1===e.length)return!1;var f,p=t[o],v=t[r[o]];f="dendrogram"===i.mode?{left:p,right:v,key:p.key}:{value:p.value.concat(v.value),key:p.key},e[p.index]=f,e.splice(v.index,1),t[p.key]=f;for(var g=0;gn[v.key][y.key]&&(a=n[v.key][y.key])):"max"===i.linkage?(a=n[p.key][y.key],n[p.key][y.key]o&&(a=u,o=t[i*e+u])}a>0&&r.push(a)}for(var l=0;l1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.length,r=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],i=!(arguments.length>5&&void 0!==arguments[5])||arguments[5];arguments.length>3&&void 0!==arguments[3]&&!arguments[3]?(n0&&e.splice(0,t)):e=e.slice(t,n);for(var a=0,o=e.length-1;o>=0;o--){var s=e[o];i?isFinite(s)||(e[o]=-1/0,a++):e.splice(o,1)}r&&e.sort((function(e,t){return e-t}));var u=e.length,l=Math.floor(u/2);return u%2!=0?e[l+1+a]:(e[l-1+a]+e[l+a])/2}(e):"mean"===t?function(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.length,r=0,i=0,a=t;a1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.length,r=1/0,i=t;i1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.length,r=-1/0,i=t;i=S?(P=S,S=D,T=M):D>P&&(P=D);for(var B=0;B0?1:0;E[_%l.minIterations*t+R]=j,L+=j}if(L>0&&(_>=l.minIterations-1||_==l.maxIterations-1)){for(var V=0,F=0;F0&&r.push(i);return r}(t,a,o),Y=function(e,t,n){for(var r=qn(e,t,n),i=0;iu&&(s=l,u=c)}n[i]=a[s]}return qn(e,t,n)}(t,r,W),X={},H=0;H1)}}));var u=Object.keys(t).filter((function(e){return t[e].cutVertex})).map((function(t){return e.getElementById(t)}));return{cut:e.spawn(u),components:i}},Un=function(){var e=this,t={},n=0,r=[],i=[],a=e.spawn(e),o=function o(s){if(i.push(s),t[s]={index:n,low:n++,explored:!1},e.getElementById(s).connectedEdges().intersection(e).forEach((function(e){var n=e.target().id();n!==s&&(n in t||o(n),t[n].explored||(t[s].low=Math.min(t[s].low,t[n].low)))})),t[s].index===t[s].low){for(var u=e.spawn();;){var l=i.pop();if(u.merge(e.getElementById(l)),t[l].low=t[s].index,t[l].explored=!0,l===s)break}var c=u.edgesWith(u),d=u.merge(c);r.push(d),a=a.difference(d)}};return e.forEach((function(e){if(e.isNode()){var n=e.id();n in t||o(n)}})),{cut:a,components:r}},Zn={};[qe,Ye,Xe,Ue,Ke,$e,tt,Xt,Ut,Kt,$t,un,Bn,jn,Yn,{hierholzer:function(e){if(!B(e)){var t=arguments;e={root:t[0],directed:t[1]}}var n,r,i,a=Xn(e),o=a.root,s=a.directed,u=this,l=!1;o&&(i=T(o)?this.filter(o)[0].id():o[0].id());var c={},d={};s?u.forEach((function(e){var t=e.id();if(e.isNode()){var i=e.indegree(!0),a=e.outdegree(!0),o=i-a,s=a-i;1==o?n?l=!0:n=t:1==s?r?l=!0:r=t:(s>1||o>1)&&(l=!0),c[t]=[],e.outgoers().forEach((function(e){e.isEdge()&&c[t].push(e.id())}))}else d[t]=[void 0,e.target().id()]})):u.forEach((function(e){var t=e.id();e.isNode()?(e.degree(!0)%2&&(n?r?l=!0:r=t:n=t),c[t]=[],e.connectedEdges().forEach((function(e){return c[t].push(e.id())}))):d[t]=[e.source().id(),e.target().id()]}));var h={found:!1,trail:void 0};if(l)return h;if(r&&n)if(s){if(i&&r!=i)return h;i=r}else{if(i&&r!=i&&n!=i)return h;i||(i=r)}else i||(i=u[0].id());var f=function(e){for(var t,n,r,i=e,a=[e];c[i].length;)t=c[i].shift(),n=d[t][0],i!=(r=d[t][1])?(c[r]=c[r].filter((function(e){return e!=t})),i=r):s||i==n||(c[n]=c[n].filter((function(e){return e!=t})),i=n),a.unshift(t),a.unshift(i);return a},p=[],v=[];for(v=f(i);1!=v.length;)0==c[v[0]].length?(p.unshift(u.getElementById(v.shift())),p.unshift(u.getElementById(v.shift()))):v=f(v.shift()).concat(v);for(var g in p.unshift(u.getElementById(v.shift())),c)if(c[g].length)return h;return h.found=!0,h.trail=this.spawn(p,!0),h}},{hopcroftTarjanBiconnected:Hn,htbc:Hn,htb:Hn,hopcroftTarjanBiconnectedComponents:Hn},{tarjanStronglyConnected:Un,tsc:Un,tscc:Un,tarjanStronglyConnectedComponents:Un}].forEach((function(e){Q(Zn,e)}));var Kn=function e(t){if(!(this instanceof e))return new e(t);this.id="Thenable/1.0.7",this.state=0,this.fulfillValue=void 0,this.rejectReason=void 0,this.onFulfilled=[],this.onRejected=[],this.proxy={then:this.then.bind(this)},"function"==typeof t&&t.call(this,this.fulfill.bind(this),this.reject.bind(this))};Kn.prototype={fulfill:function(e){return Gn(this,1,"fulfillValue",e)},reject:function(e){return Gn(this,2,"rejectReason",e)},then:function(e,t){var n=this,r=new Kn;return n.onFulfilled.push(Jn(e,r,"fulfill")),n.onRejected.push(Jn(t,r,"reject")),$n(n),r.proxy}};var Gn=function(e,t,n,r){return 0===e.state&&(e.state=t,e[n]=r,$n(e)),e},$n=function(e){1===e.state?Qn(e,"onFulfilled",e.fulfillValue):2===e.state&&Qn(e,"onRejected",e.rejectReason)},Qn=function(e,t,n){if(0!==e[t].length){var r=e[t];e[t]=[];var i=function(){for(var e=0;e0:void 0}},clearQueue:function(){return function(){var e=this,t=void 0!==e.length?e:[e];if(!(this._private.cy||this).styleEnabled())return this;for(var n=0;n0&&this.spawn(r).updateStyle().emit("class"),t},addClass:function(e){return this.toggleClass(e,!0)},hasClass:function(e){var t=this[0];return null!=t&&t._private.classes.has(e)},toggleClass:function(e,t){M(e)||(e=e.match(/\S+/g)||[]);for(var n=this,r=void 0===t,i=[],a=0,o=n.length;a0&&this.spawn(i).updateStyle().emit("class"),n},removeClass:function(e){return this.toggleClass(e,!1)},flashClass:function(e,t){var n=this;if(null==t)t=250;else if(0===t)return n;return n.addClass(e),setTimeout((function(){n.removeClass(e)}),t),n}};lr.className=lr.classNames=lr.classes;var cr={metaChar:"[\\!\\\"\\#\\$\\%\\&\\'\\(\\)\\*\\+\\,\\.\\/\\:\\;\\<\\=\\>\\?\\@\\[\\]\\^\\`\\{\\|\\}\\~]",comparatorOp:"=|\\!=|>|>=|<|<=|\\$=|\\^=|\\*=",boolOp:"\\?|\\!|\\^",string:"\"(?:\\\\\"|[^\"])*\"|'(?:\\\\'|[^'])*'",number:H,meta:"degree|indegree|outdegree",separator:"\\s*,\\s*",descendant:"\\s+",child:"\\s+>\\s+",subject:"\\$",group:"node|edge|\\*",directedEdge:"\\s+->\\s+",undirectedEdge:"\\s+<->\\s+"};cr.variable="(?:[\\w-.]|(?:\\\\"+cr.metaChar+"))+",cr.className="(?:[\\w-]|(?:\\\\"+cr.metaChar+"))+",cr.value=cr.string+"|"+cr.number,cr.id=cr.variable,function(){var e,t,n;for(e=cr.comparatorOp.split("|"),n=0;n=0||"="!==t&&(cr.comparatorOp+="|\\!"+t)}();var dr=20,hr=[{selector:":selected",matches:function(e){return e.selected()}},{selector:":unselected",matches:function(e){return!e.selected()}},{selector:":selectable",matches:function(e){return e.selectable()}},{selector:":unselectable",matches:function(e){return!e.selectable()}},{selector:":locked",matches:function(e){return e.locked()}},{selector:":unlocked",matches:function(e){return!e.locked()}},{selector:":visible",matches:function(e){return e.visible()}},{selector:":hidden",matches:function(e){return!e.visible()}},{selector:":transparent",matches:function(e){return e.transparent()}},{selector:":grabbed",matches:function(e){return e.grabbed()}},{selector:":free",matches:function(e){return!e.grabbed()}},{selector:":removed",matches:function(e){return e.removed()}},{selector:":inside",matches:function(e){return!e.removed()}},{selector:":grabbable",matches:function(e){return e.grabbable()}},{selector:":ungrabbable",matches:function(e){return!e.grabbable()}},{selector:":animated",matches:function(e){return e.animated()}},{selector:":unanimated",matches:function(e){return!e.animated()}},{selector:":parent",matches:function(e){return e.isParent()}},{selector:":childless",matches:function(e){return e.isChildless()}},{selector:":child",matches:function(e){return e.isChild()}},{selector:":orphan",matches:function(e){return e.isOrphan()}},{selector:":nonorphan",matches:function(e){return e.isChild()}},{selector:":compound",matches:function(e){return e.isNode()?e.isParent():e.source().isParent()||e.target().isParent()}},{selector:":loop",matches:function(e){return e.isLoop()}},{selector:":simple",matches:function(e){return e.isSimple()}},{selector:":active",matches:function(e){return e.active()}},{selector:":inactive",matches:function(e){return!e.active()}},{selector:":backgrounding",matches:function(e){return e.backgrounding()}},{selector:":nonbackgrounding",matches:function(e){return!e.backgrounding()}}].sort((function(e,t){return function(e,t){return-1*$(e,t)}(e.selector,t.selector)})),fr=function(){for(var e,t={},n=0;n0&&l.edgeCount>0)return Pe("The selector `"+e+"` is invalid because it uses both a compound selector and an edge selector"),!1;if(l.edgeCount>1)return Pe("The selector `"+e+"` is invalid because it uses multiple edge selectors"),!1;1===l.edgeCount&&Pe("The selector `"+e+"` is deprecated. Edge selectors do not take effect on changes to source and target nodes after an edge is added, for performance reasons. Use a class or data selector on edges instead, updating the class or data of an edge when your app detects a change in source or target nodes.")}return!0},toString:function(){if(null!=this.toStringCache)return this.toStringCache;for(var e=function(e){return null==e?"":e},t=function(t){return T(t)?'"'+t+'"':e(t)},n=function(e){return" "+e+" "},r=function(i,a){return i.checks.reduce((function(o,s,u){return o+(a===i&&0===u?"$":"")+function(i,a){var o=i.type,s=i.value;switch(o){case 0:var u=e(s);return u.substring(0,u.length-1);case 3:var l=i.field,c=i.operator;return"["+l+n(e(c))+t(s)+"]";case 5:var d=i.operator,h=i.field;return"["+e(d)+h+"]";case 4:return"["+i.field+"]";case 6:var f=i.operator;return"[["+i.field+n(e(f))+t(s)+"]]";case 7:return s;case 8:return"#"+s;case 9:return"."+s;case 17:case 15:return r(i.parent,a)+n(">")+r(i.child,a);case 18:case 16:return r(i.ancestor,a)+" "+r(i.descendant,a);case 19:var p=r(i.left,a),v=r(i.subject,a),g=r(i.right,a);return p+(p.length>0?" ":"")+v+g;case dr:return""}}(s,a)}),"")},i="",a=0;a1&&a=0&&(t=t.replace("!",""),c=!0),t.indexOf("@")>=0&&(t=t.replace("@",""),l=!0),(o||u||l)&&(i=o||s?""+e:"",a=""+n),l&&(e=i=i.toLowerCase(),n=a=a.toLowerCase()),t){case"*=":r=i.indexOf(a)>=0;break;case"$=":r=i.indexOf(a,i.length-a.length)>=0;break;case"^=":r=0===i.indexOf(a);break;case"=":r=e===n;break;case">":d=!0,r=e>n;break;case">=":d=!0,r=e>=n;break;case"<":d=!0,r=e0;){var l=i.shift();t(l),a.add(l.id()),o&&r(i,a,l)}return e}function Or(e,t,n){if(n.isParent())for(var r=n._private.children,i=0;i1&&void 0!==arguments[1])||arguments[1],Or)},Br.forEachUp=function(e){return Ir(this,e,!(arguments.length>1&&void 0!==arguments[1])||arguments[1],Ar)},Br.forEachUpAndDown=function(e){return Ir(this,e,!(arguments.length>1&&void 0!==arguments[1])||arguments[1],zr)},Br.ancestors=Br.parents,(Tr=Dr={data:sr.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),removeData:sr.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),scratch:sr.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:sr.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),rscratch:sr.data({field:"rscratch",allowBinding:!1,allowSetting:!0,settingTriggersEvent:!1,allowGetting:!0}),removeRscratch:sr.removeData({field:"rscratch",triggerEvent:!1}),id:function(){var e=this[0];if(e)return e._private.data.id}}).attr=Tr.data,Tr.removeAttr=Tr.removeData;var Nr,Lr,Rr=Dr,jr={};function Vr(e){return function(t){var n=this;if(void 0===t&&(t=!0),0!==n.length&&n.isNode()&&!n.removed()){for(var r=0,i=n[0],a=i._private.edges,o=0;ot})),minIndegree:Fr("indegree",(function(e,t){return et})),minOutdegree:Fr("outdegree",(function(e,t){return et}))}),Q(jr,{totalDegree:function(e){for(var t=0,n=this.nodes(),r=0;r0,c=l;l&&(u=u[0]);var d=c?u.position():{x:0,y:0};return i={x:s.x-d.x,y:s.y-d.y},void 0===e?i:i[e]}for(var h=0;h0,g=v;v&&(p=p[0]);var y=g?p.position():{x:0,y:0};void 0!==t?f.position(e,t+y[e]):void 0!==i&&f.position({x:i.x+y.x,y:i.y+y.y})}}else if(!a)return;return this}},Nr.modelPosition=Nr.point=Nr.position,Nr.modelPositions=Nr.points=Nr.positions,Nr.renderedPoint=Nr.renderedPosition,Nr.relativePoint=Nr.relativePosition;var Yr,Xr,Hr=Lr;Yr=Xr={},Xr.renderedBoundingBox=function(e){var t=this.boundingBox(e),n=this.cy(),r=n.zoom(),i=n.pan(),a=t.x1*r+i.x,o=t.x2*r+i.x,s=t.y1*r+i.y,u=t.y2*r+i.y;return{x1:a,x2:o,y1:s,y2:u,w:o-a,h:u-s}},Xr.dirtyCompoundBoundsCache=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=this.cy();return t.styleEnabled()&&t.hasCompoundNodes()?(this.forEachUp((function(t){if(t.isParent()){var n=t._private;n.compoundBoundsClean=!1,n.bbCache=null,e||t.emitAndNotify("bounds")}})),this):this},Xr.updateCompoundBounds=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=this.cy();if(!t.styleEnabled()||!t.hasCompoundNodes())return this;if(!e&&t.batching())return this;function n(e){if(e.isParent()){var t=e._private,n=e.children(),r="include"===e.pstyle("compound-sizing-wrt-labels").value,i={width:{val:e.pstyle("min-width").pfValue,left:e.pstyle("min-width-bias-left"),right:e.pstyle("min-width-bias-right")},height:{val:e.pstyle("min-height").pfValue,top:e.pstyle("min-height-bias-top"),bottom:e.pstyle("min-height-bias-bottom")}},a=n.boundingBox({includeLabels:r,includeOverlays:!1,useCache:!1}),o=t.position;0!==a.w&&0!==a.h||((a={w:e.pstyle("width").pfValue,h:e.pstyle("height").pfValue}).x1=o.x-a.w/2,a.x2=o.x+a.w/2,a.y1=o.y-a.h/2,a.y2=o.y+a.h/2);var s=i.width.left.value;"px"===i.width.left.units&&i.width.val>0&&(s=100*s/i.width.val);var u=i.width.right.value;"px"===i.width.right.units&&i.width.val>0&&(u=100*u/i.width.val);var l=i.height.top.value;"px"===i.height.top.units&&i.height.val>0&&(l=100*l/i.height.val);var c=i.height.bottom.value;"px"===i.height.bottom.units&&i.height.val>0&&(c=100*c/i.height.val);var d=y(i.width.val-a.w,s,u),h=d.biasDiff,f=d.biasComplementDiff,p=y(i.height.val-a.h,l,c),v=p.biasDiff,g=p.biasComplementDiff;t.autoPadding=function(e,t,n,r){if("%"!==n.units)return"px"===n.units?n.pfValue:0;switch(r){case"width":return e>0?n.pfValue*e:0;case"height":return t>0?n.pfValue*t:0;case"average":return e>0&&t>0?n.pfValue*(e+t)/2:0;case"min":return e>0&&t>0?e>t?n.pfValue*t:n.pfValue*e:0;case"max":return e>0&&t>0?e>t?n.pfValue*e:n.pfValue*t:0;default:return 0}}(a.w,a.h,e.pstyle("padding"),e.pstyle("padding-relative-to").value),t.autoWidth=Math.max(a.w,i.width.val),o.x=(-h+a.x1+a.x2+f)/2,t.autoHeight=Math.max(a.h,i.height.val),o.y=(-v+a.y1+a.y2+g)/2}function y(e,t,n){var r=0,i=0,a=t+n;return e>0&&a>0&&(r=t/a*e,i=n/a*e),{biasDiff:r,biasComplementDiff:i}}}for(var r=0;re.x2?r:e.x2,e.y1=ne.y2?i:e.y2,e.w=e.x2-e.x1,e.h=e.y2-e.y1)},Kr=function(e,t){return null==t?e:Zr(e,t.x1,t.y1,t.x2,t.y2)},Gr=function(e,t,n){return ze(e,t,n)},$r=function(e,t,n){if(!t.cy().headless()){var r,i,a=t._private,o=a.rstyle,s=o.arrowWidth/2;if("none"!==t.pstyle(n+"-arrow-shape").value){"source"===n?(r=o.srcX,i=o.srcY):"target"===n?(r=o.tgtX,i=o.tgtY):(r=o.midX,i=o.midY);var u=a.arrowBounds=a.arrowBounds||{},l=u[n]=u[n]||{};l.x1=r-s,l.y1=i-s,l.x2=r+s,l.y2=i+s,l.w=l.x2-l.x1,l.h=l.y2-l.y1,yt(l,1),Zr(e,l.x1,l.y1,l.x2,l.y2)}}},Qr=function(e,t,n){if(!t.cy().headless()){var r;r=n?n+"-":"";var i=t._private,a=i.rstyle;if(t.pstyle(r+"label").strValue){var o,s,u,l,c=t.pstyle("text-halign"),d=t.pstyle("text-valign"),h=Gr(a,"labelWidth",n),f=Gr(a,"labelHeight",n),p=Gr(a,"labelX",n),v=Gr(a,"labelY",n),g=t.pstyle(r+"text-margin-x").pfValue,y=t.pstyle(r+"text-margin-y").pfValue,m=t.isEdge(),b=t.pstyle(r+"text-rotation"),x=t.pstyle("text-outline-width").pfValue,w=t.pstyle("text-border-width").pfValue/2,_=t.pstyle("text-background-padding").pfValue,E=f,k=h,C=k/2,S=E/2;if(m)o=p-C,s=p+C,u=v-S,l=v+S;else{switch(c.value){case"left":o=p-k,s=p;break;case"center":o=p-C,s=p+C;break;case"right":o=p,s=p+k}switch(d.value){case"top":u=v-E,l=v;break;case"center":u=v-S,l=v+S;break;case"bottom":u=v,l=v+E}}o+=g-Math.max(x,w)-_-2,s+=g+Math.max(x,w)+_+2,u+=y-Math.max(x,w)-_-2,l+=y+Math.max(x,w)+_+2;var P=n||"main",T=i.labelBounds,D=T[P]=T[P]||{};D.x1=o,D.y1=u,D.x2=s,D.y2=l,D.w=s-o,D.h=l-u;var M=m&&"autorotate"===b.strValue,B=null!=b.pfValue&&0!==b.pfValue;if(M||B){var I=M?Gr(i.rstyle,"labelAngle",n):b.pfValue,O=Math.cos(I),A=Math.sin(I),z=(o+s)/2,N=(u+l)/2;if(!m){switch(c.value){case"left":z=s;break;case"right":z=o}switch(d.value){case"top":N=l;break;case"bottom":N=u}}var L=function(e,t){return{x:(e-=z)*O-(t-=N)*A+z,y:e*A+t*O+N}},R=L(o,u),j=L(o,l),V=L(s,u),F=L(s,l);o=Math.min(R.x,j.x,V.x,F.x),s=Math.max(R.x,j.x,V.x,F.x),u=Math.min(R.y,j.y,V.y,F.y),l=Math.max(R.y,j.y,V.y,F.y)}var q=P+"Rot",W=T[q]=T[q]||{};W.x1=o,W.y1=u,W.x2=s,W.y2=l,W.w=s-o,W.h=l-u,Zr(e,o,u,s,l),Zr(i.labelBounds.all,o,u,s,l)}return e}},Jr=function(e){var t=0,n=function(e){return(e?1:0)<0&&a>0){var o=t.pstyle("outline-offset").value,s=t.pstyle("shape").value,u=a+o,l=(e.w+2*u)/e.w,c=(e.h+2*u)/e.h,d=0;["diamond","pentagon","round-triangle"].includes(s)?(l=(e.w+2.4*u)/e.w,d=-u/3.6):["concave-hexagon","rhomboid","right-rhomboid"].includes(s)?l=(e.w+2.4*u)/e.w:"star"===s?(l=(e.w+2.8*u)/e.w,c=(e.h+2.6*u)/e.h,d=-u/3.8):"triangle"===s?(l=(e.w+2.8*u)/e.w,c=(e.h+2.4*u)/e.h,d=-u/1.4):"vee"===s&&(l=(e.w+4.4*u)/e.w,c=(e.h+3.8*u)/e.h,d=.5*-u);var h=e.h*c-e.h,f=e.w*l-e.w;if(mt(e,[Math.ceil(h/2),Math.ceil(f/2)]),0!==d){var p=(r=d,{x1:(n=e).x1+0,x2:n.x2+0,y1:n.y1+r,y2:n.y2+r,w:n.w,h:n.h});vt(e,p)}}}}(h,e)}else if(v&&t.includeEdges)if(c&&!d){var P=e.pstyle("curve-style").strValue;if(n=Math.min(g.srcX,g.midX,g.tgtX),r=Math.max(g.srcX,g.midX,g.tgtX),i=Math.min(g.srcY,g.midY,g.tgtY),a=Math.max(g.srcY,g.midY,g.tgtY),Zr(h,n-=E,i-=E,r+=E,a+=E),"haystack"===P){var T=g.haystackPts;if(T&&2===T.length){if(n=T[0].x,i=T[0].y,n>(r=T[1].x)){var D=n;n=r,r=D}if(i>(a=T[1].y)){var M=i;i=a,a=M}Zr(h,n-E,i-E,r+E,a+E)}}else if("bezier"===P||"unbundled-bezier"===P||"segments"===P||"taxi"===P){var B;switch(P){case"bezier":case"unbundled-bezier":B=g.bezierPts;break;case"segments":case"taxi":B=g.linePts}if(null!=B)for(var I=0;I(r=z.x)){var N=n;n=r,r=N}if((i=A.y)>(a=z.y)){var L=i;i=a,a=L}Zr(h,n-=E,i-=E,r+=E,a+=E)}if(c&&t.includeEdges&&v&&($r(h,e,"mid-source"),$r(h,e,"mid-target"),$r(h,e,"source"),$r(h,e,"target")),c&&"yes"===e.pstyle("ghost").value){var R=e.pstyle("ghost-offset-x").pfValue,j=e.pstyle("ghost-offset-y").pfValue;Zr(h,h.x1+R,h.y1+j,h.x2+R,h.y2+j)}var V=f.bodyBounds=f.bodyBounds||{};bt(V,h),mt(V,y),yt(V,1),c&&(n=h.x1,r=h.x2,i=h.y1,a=h.y2,Zr(h,n-_,i-_,r+_,a+_));var F=f.overlayBounds=f.overlayBounds||{};bt(F,h),mt(F,y),yt(F,1);var q=f.labelBounds=f.labelBounds||{};null!=q.all?((u=q.all).x1=1/0,u.y1=1/0,u.x2=-1/0,u.y2=-1/0,u.w=0,u.h=0):q.all=pt(),c&&t.includeLabels&&(t.includeMainLabels&&Qr(h,e,null),v&&(t.includeSourceLabels&&Qr(h,e,"source"),t.includeTargetLabels&&Qr(h,e,"target")))}return h.x1=Ur(h.x1),h.y1=Ur(h.y1),h.x2=Ur(h.x2),h.y2=Ur(h.y2),h.w=Ur(h.x2-h.x1),h.h=Ur(h.y2-h.y1),h.w>0&&h.h>0&&b&&(mt(h,y),yt(h,1)),h}(e,ni),r.bbCache=n,r.bbCachePosKey=o):n=r.bbCache,!a){var c=e.isNode();n=pt(),(t.includeNodes&&c||t.includeEdges&&!c)&&(t.includeOverlays?Kr(n,r.overlayBounds):Kr(n,r.bodyBounds)),t.includeLabels&&(t.includeMainLabels&&(!i||t.includeSourceLabels&&t.includeTargetLabels)?Kr(n,r.labelBounds.all):(t.includeMainLabels&&Kr(n,r.labelBounds.mainRot),t.includeSourceLabels&&Kr(n,r.labelBounds.sourceRot),t.includeTargetLabels&&Kr(n,r.labelBounds.targetRot))),n.w=n.x2-n.x1,n.h=n.y2-n.y1}return n},ni={includeNodes:!0,includeEdges:!0,includeLabels:!0,includeMainLabels:!0,includeSourceLabels:!0,includeTargetLabels:!0,includeOverlays:!0,includeUnderlays:!0,includeOutlines:!0,useCache:!0},ri=Jr(ni),ii=Ie(ni);Xr.boundingBox=function(e){var t;if(1!==this.length||null==this[0]._private.bbCache||this[0]._private.styleDirty||void 0!==e&&void 0!==e.useCache&&!0!==e.useCache){t=pt();var n=ii(e=e||ni),r=this;if(r.cy().styleEnabled())for(var i=0;i0&&void 0!==arguments[0]?arguments[0]:bi,t=arguments.length>1?arguments[1]:void 0,n=0;n=0;s--)o(s);return this},wi.removeAllListeners=function(){return this.removeListener("*")},wi.emit=wi.trigger=function(e,t,n){var r=this.listeners,i=r.length;return this.emitting++,M(t)||(t=[t]),function(e,t,n){if("event"!==P(n))if(B(n))t(e,Ei(e,n));else for(var r=M(n)?n:n.split(/\s+/),i=0;i1&&!r){var i=this.length-1,a=this[i],o=a._private.data.id;this[i]=void 0,this[e]=a,n.set(o,{ele:a,index:e})}return this.length--,this},unmergeOne:function(e){e=e[0];var t=this._private,n=e._private.data.id,r=t.map.get(n);if(!r)return this;var i=r.index;return this.unmergeAt(i),this},unmerge:function(e){var t=this._private.cy;if(!e)return this;if(e&&T(e)){var n=e;e=t.mutableElements().filter(n)}for(var r=0;r=0;t--)e(this[t])&&this.unmergeAt(t);return this},map:function(e,t){for(var n=[],r=this,i=0;ir&&(r=s,n=o)}return{value:r,ele:n}},min:function(e,t){for(var n,r=1/0,i=this,a=0;a=0&&i1&&void 0!==arguments[1])||arguments[1],n=this[0],r=n.cy();if(r.styleEnabled()&&n){this.cleanStyle();var i=n._private.style[e];return null!=i?i:t?r.style().getDefaultProperty(e):null}},numericStyle:function(e){var t=this[0];if(t.cy().styleEnabled()&&t){var n=t.pstyle(e);return void 0!==n.pfValue?n.pfValue:n.value}},numericStyleUnits:function(e){var t=this[0];if(t.cy().styleEnabled())return t?t.pstyle(e).units:void 0},renderedStyle:function(e){var t=this.cy();if(!t.styleEnabled())return this;var n=this[0];return n?t.style().getRenderedStyle(n,e):void 0},style:function(e,t){var n=this.cy();if(!n.styleEnabled())return this;var r=n.style();if(B(e)){var i=e;r.applyBypass(this,i,!1),this.emitAndNotify("style")}else if(T(e)){if(void 0===t){var a=this[0];return a?r.getStylePropertyValue(a,e):void 0}r.applyBypass(this,e,t,!1),this.emitAndNotify("style")}else if(void 0===e){var o=this[0];return o?r.getRawStyle(o):void 0}return this},removeStyle:function(e){var t=this.cy();if(!t.styleEnabled())return this;var n=t.style(),r=this;if(void 0===e)for(var i=0;i0&&t.push(c[0]),t.push(s[0])}return this.spawn(t,!0).filter(e)}),"neighborhood"),closedNeighborhood:function(e){return this.neighborhood().add(this).filter(e)},openNeighborhood:function(e){return this.neighborhood(e)}}),Zi.neighbourhood=Zi.neighborhood,Zi.closedNeighbourhood=Zi.closedNeighborhood,Zi.openNeighbourhood=Zi.openNeighborhood,Q(Zi,{source:Mr((function(e){var t,n=this[0];return n&&(t=n._private.source||n.cy().collection()),t&&e?t.filter(e):t}),"source"),target:Mr((function(e){var t,n=this[0];return n&&(t=n._private.target||n.cy().collection()),t&&e?t.filter(e):t}),"target"),sources:Qi({attr:"source"}),targets:Qi({attr:"target"})}),Q(Zi,{edgesWith:Mr(Ji(),"edgesWith"),edgesTo:Mr(Ji({thisIsSrc:!0}),"edgesTo")}),Q(Zi,{connectedEdges:Mr((function(e){for(var t=[],n=0;n0);return a},component:function(){var e=this[0];return e.cy().mutableElements().components(e)[0]}}),Zi.componentsOf=Zi.components;var ta=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(void 0!==e){var i=new Le,a=!1;if(t){if(t.length>0&&B(t[0])&&!z(t[0])){a=!0;for(var o=[],s=new je,u=0,l=t.length;u0&&void 0!==arguments[0])||arguments[0],r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=this,a=i.cy(),o=a._private,s=[],u=[],l=0,c=i.length;l0){for(var N=e.length===i.length?i:new ta(a,e),L=0;L0&&void 0!==arguments[0])||arguments[0],t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=this,r=[],i={},a=n._private.cy;function o(e){var n=i[e.id()];t&&e.removed()||n||(i[e.id()]=!0,e.isNode()?(r.push(e),function(e){for(var t=e._private.edges,n=0;n0&&(e?E.emitAndNotify("remove"):t&&E.emit("remove"));for(var k=0;k=.001?function(t,r){for(var i=0;i<4;++i){var a=h(r,e,n);if(0===a)return r;r-=(d(r,e,n)-t)/a}return r}(t,o):0===u?o:function(t,r,i){var a,o,s=0;do{(a=d(o=r+(i-r)/2,e,n)-t)>0?i=o:r=o}while(Math.abs(a)>1e-7&&++s<10);return o}(t,r,r+i)}(a),t,r)};p.getControlPoints=function(){return[{x:e,y:t},{x:n,y:r}]};var v="generateBezier("+[e,t,n,r]+")";return p.toString=function(){return v},p}var aa=function(){function e(e){return-e.tension*e.x-e.friction*e.v}function t(t,n,r){var i={x:t.x+r.dx*n,v:t.v+r.dv*n,tension:t.tension,friction:t.friction};return{dx:i.v,dv:e(i)}}function n(n,r){var i={dx:n.v,dv:e(n)},a=t(n,.5*r,i),o=t(n,.5*r,a),s=t(n,r,o),u=1/6*(i.dx+2*(a.dx+o.dx)+s.dx),l=1/6*(i.dv+2*(a.dv+o.dv)+s.dv);return n.x=n.x+u*r,n.v=n.v+l*r,n}return function e(t,r,i){var a,o,s,u={x:-1,v:0,tension:null,friction:null},l=[0],c=0,d=1e-4;for(t=parseFloat(t)||500,r=parseFloat(r)||20,i=i||null,u.tension=t,u.friction=r,o=(a=null!==i)?(c=e(t,r))/i*.016:.016;s=n(s||u,o),l.push(1+s.x),c+=16,Math.abs(s.x)>d&&Math.abs(s.v)>d;);return a?function(e){return l[e*(l.length-1)|0]}:c}}(),oa=function(e,t,n,r){var i=ia(e,t,n,r);return function(e,t,n){return e+(t-e)*i(n)}},sa={linear:function(e,t,n){return e+(t-e)*n},ease:oa(.25,.1,.25,1),"ease-in":oa(.42,0,1,1),"ease-out":oa(0,0,.58,1),"ease-in-out":oa(.42,0,.58,1),"ease-in-sine":oa(.47,0,.745,.715),"ease-out-sine":oa(.39,.575,.565,1),"ease-in-out-sine":oa(.445,.05,.55,.95),"ease-in-quad":oa(.55,.085,.68,.53),"ease-out-quad":oa(.25,.46,.45,.94),"ease-in-out-quad":oa(.455,.03,.515,.955),"ease-in-cubic":oa(.55,.055,.675,.19),"ease-out-cubic":oa(.215,.61,.355,1),"ease-in-out-cubic":oa(.645,.045,.355,1),"ease-in-quart":oa(.895,.03,.685,.22),"ease-out-quart":oa(.165,.84,.44,1),"ease-in-out-quart":oa(.77,0,.175,1),"ease-in-quint":oa(.755,.05,.855,.06),"ease-out-quint":oa(.23,1,.32,1),"ease-in-out-quint":oa(.86,0,.07,1),"ease-in-expo":oa(.95,.05,.795,.035),"ease-out-expo":oa(.19,1,.22,1),"ease-in-out-expo":oa(1,0,0,1),"ease-in-circ":oa(.6,.04,.98,.335),"ease-out-circ":oa(.075,.82,.165,1),"ease-in-out-circ":oa(.785,.135,.15,.86),spring:function(e,t,n){if(0===n)return sa.linear;var r=aa(e,t,n);return function(e,t,n){return e+(t-e)*r(n)}},"cubic-bezier":oa};function ua(e,t,n,r,i){if(1===r)return n;if(t===n)return n;var a=i(t,n,r);return null==e||((e.roundValue||e.color)&&(a=Math.round(a)),void 0!==e.min&&(a=Math.max(a,e.min)),void 0!==e.max&&(a=Math.min(a,e.max))),a}function la(e,t){return null!=e.pfValue||null!=e.value?null==e.pfValue||null!=t&&"%"===t.type.units?e.value:e.pfValue:e}function ca(e,t,n,r,i){var a=null!=i?i.type:null;n<0?n=0:n>1&&(n=1);var o=la(e,i),s=la(t,i);if(I(o)&&I(s))return ua(a,o,s,n,r);if(M(o)&&M(s)){for(var u=[],l=0;l0?("spring"===d&&h.push(o.duration),o.easingImpl=sa[d].apply(null,h)):o.easingImpl=sa[d]}var f,p=o.easingImpl;if(f=0===o.duration?1:(n-u)/o.duration,o.applying&&(f=o.progress),f<0?f=0:f>1&&(f=1),null==o.delay){var v=o.startPosition,g=o.position;if(g&&i&&!e.locked()){var y={};ha(v.x,g.x)&&(y.x=ca(v.x,g.x,f,p)),ha(v.y,g.y)&&(y.y=ca(v.y,g.y,f,p)),e.position(y)}var m=o.startPan,b=o.pan,x=a.pan,w=null!=b&&r;w&&(ha(m.x,b.x)&&(x.x=ca(m.x,b.x,f,p)),ha(m.y,b.y)&&(x.y=ca(m.y,b.y,f,p)),e.emit("pan"));var _=o.startZoom,E=o.zoom,k=null!=E&&r;k&&(ha(_,E)&&(a.zoom=ft(a.minZoom,ca(_,E,f,p),a.maxZoom)),e.emit("zoom")),(w||k)&&e.emit("viewport");var C=o.style;if(C&&C.length>0&&i){for(var S=0;S=0;t--)(0,e[t])();e.splice(0,e.length)},c=a.length-1;c>=0;c--){var d=a[c],h=d._private;h.stopped?(a.splice(c,1),h.hooked=!1,h.playing=!1,h.started=!1,l(h.frames)):(h.playing||h.applying)&&(h.playing&&h.applying&&(h.applying=!1),h.started||fa(0,d,e),da(t,d,e,n),h.applying&&(h.applying=!1),l(h.frames),null!=h.step&&h.step(e),d.completed()&&(a.splice(c,1),h.hooked=!1,h.playing=!1,h.started=!1,l(h.completes)),s=!0)}return n||0!==a.length||0!==o.length||r.push(t),s}for(var a=!1,o=0;o0?t.notify("draw",n):t.notify("draw")),n.unmerge(r),t.emit("step")}var va={animate:sr.animate(),animation:sr.animation(),animated:sr.animated(),clearQueue:sr.clearQueue(),delay:sr.delay(),delayAnimation:sr.delayAnimation(),stop:sr.stop(),addToAnimationPool:function(e){this.styleEnabled()&&this._private.aniEles.merge(e)},stopAnimationLoop:function(){this._private.animationsRunning=!1},startAnimationLoop:function(){var e=this;if(e._private.animationsRunning=!0,e.styleEnabled()){var t=e.renderer();t&&t.beforeRender?t.beforeRender((function(t,n){pa(n,e)}),t.beforeRenderPriorities.animations):function t(){e._private.animationsRunning&&ae((function(n){pa(n,e),t()}))}()}}},ga={qualifierCompare:function(e,t){return null==e||null==t?null==e&&null==t:e.sameText(t)},eventMatches:function(e,t,n){var r=t.qualifier;return null==r||e!==n.target&&z(n.target)&&r.matches(n.target)},addEventFields:function(e,t){t.cy=e,t.target=e},callbackContext:function(e,t,n){return null!=t.qualifier?n.target:e}},ya=function(e){return T(e)?new Cr(e):e},ma={createEmitter:function(){var e=this._private;return e.emitter||(e.emitter=new xi(ga,this)),this},emitter:function(){return this._private.emitter},on:function(e,t,n){return this.emitter().on(e,ya(t),n),this},removeListener:function(e,t,n){return this.emitter().removeListener(e,ya(t),n),this},removeAllListeners:function(){return this.emitter().removeAllListeners(),this},one:function(e,t,n){return this.emitter().one(e,ya(t),n),this},once:function(e,t,n){return this.emitter().one(e,ya(t),n),this},emit:function(e,t){return this.emitter().emit(e,t),this},emitAndNotify:function(e,t){return this.emit(e),this.notify(e,t),this}};sr.eventAliasesOn(ma);var ba={png:function(e){return e=e||{},this._private.renderer.png(e)},jpg:function(e){var t=this._private.renderer;return(e=e||{}).bg=e.bg||"#fff",t.jpg(e)}};ba.jpeg=ba.jpg;var xa={layout:function(e){var t=this;if(null!=e)if(null!=e.name){var n,r=e.name,i=t.extension("layout",r);if(null!=i)return n=T(e.eles)?t.$(e.eles):null!=e.eles?e.eles:t.$(),new i(Q({},e,{cy:t,eles:n}));Ce("No such layout `"+r+"` found. Did you forget to import it and `cytoscape.use()` it?")}else Ce("A `name` must be specified to make a layout");else Ce("Layout options must be specified to make a layout")}};xa.createLayout=xa.makeLayout=xa.layout;var wa={notify:function(e,t){var n=this._private;if(this.batching()){n.batchNotifications=n.batchNotifications||{};var r=n.batchNotifications[e]=n.batchNotifications[e]||this.collection();null!=t&&r.merge(t)}else if(n.notificationsEnabled){var i=this.renderer();!this.destroyed()&&i&&i.notify(e,t)}},notifications:function(e){var t=this._private;return void 0===e?t.notificationsEnabled:(t.notificationsEnabled=!!e,this)},noNotifications:function(e){this.notifications(!1),e(),this.notifications(!0)},batching:function(){return this._private.batchCount>0},startBatch:function(){var e=this._private;return null==e.batchCount&&(e.batchCount=0),0===e.batchCount&&(e.batchStyleEles=this.collection(),e.batchNotifications={}),e.batchCount++,this},endBatch:function(){var e=this._private;if(0===e.batchCount)return this;if(e.batchCount--,0===e.batchCount){e.batchStyleEles.updateStyle();var t=this.renderer();Object.keys(e.batchNotifications).forEach((function(n){var r=e.batchNotifications[n];r.empty()?t.notify(n):t.notify(n,r)}))}return this},batch:function(e){return this.startBatch(),e(),this.endBatch(),this},batchData:function(e){var t=this;return this.batch((function(){for(var n=Object.keys(e),r=0;r0;)t.removeChild(t.childNodes[0]);e._private.renderer=null,e.mutableElements().forEach((function(e){var t=e._private;t.rscratch={},t.rstyle={},t.animation.current=[],t.animation.queue=[]}))},onRender:function(e){return this.on("render",e)},offRender:function(e){return this.off("render",e)}};Ea.invalidateDimensions=Ea.resize;var ka={collection:function(e,t){return T(e)?this.$(e):A(e)?e.collection():M(e)?(t||(t={}),new ta(this,e,t.unique,t.removed)):new ta(this)},nodes:function(e){var t=this.$((function(e){return e.isNode()}));return e?t.filter(e):t},edges:function(e){var t=this.$((function(e){return e.isEdge()}));return e?t.filter(e):t},$:function(e){var t=this._private.elements;return e?t.filter(e):t.spawnSelf()},mutableElements:function(){return this._private.elements}};ka.elements=ka.filter=ka.$;var Ca={},Sa="t";Ca.apply=function(e){for(var t=this,n=t._private.cy.collection(),r=0;r0;if(h||d&&f){var p=void 0;h&&f||h?p=l.properties:f&&(p=l.mappedProperties);for(var v=0;v1&&(g=1),s.color){var w=i.valueMin[0],_=i.valueMax[0],E=i.valueMin[1],k=i.valueMax[1],C=i.valueMin[2],S=i.valueMax[2],P=null==i.valueMin[3]?1:i.valueMin[3],T=null==i.valueMax[3]?1:i.valueMax[3],D=[Math.round(w+(_-w)*g),Math.round(E+(k-E)*g),Math.round(C+(S-C)*g),Math.round(P+(T-P)*g)];n={bypass:i.bypass,name:i.name,value:D,strValue:"rgb("+D[0]+", "+D[1]+", "+D[2]+")"}}else{if(!s.number)return!1;var M=i.valueMin+(i.valueMax-i.valueMin)*g;n=this.parse(i.name,M,i.bypass,h)}if(!n)return v(),!1;n.mapping=i,i=n;break;case o.data:for(var B=i.field.split("."),O=d.data,A=0;A0&&a>0){for(var s={},u=!1,l=0;l0?e.delayAnimation(o).play().promise().then(t):t()})).then((function(){return e.animation({style:s,duration:a,easing:e.pstyle("transition-timing-function").value,queue:!1}).play().promise()})).then((function(){n.removeBypasses(e,i),e.emitAndNotify("style"),r.transitioning=!1}))}else r.transitioning&&(this.removeBypasses(e,i),e.emitAndNotify("style"),r.transitioning=!1)},Ca.checkTrigger=function(e,t,n,r,i,a){var o=this.properties[t],s=i(o);null!=s&&s(n,r)&&a(o)},Ca.checkZOrderTrigger=function(e,t,n,r){var i=this;this.checkTrigger(e,t,n,r,(function(e){return e.triggersZOrder}),(function(){i._private.cy.notify("zorder",e)}))},Ca.checkBoundsTrigger=function(e,t,n,r){this.checkTrigger(e,t,n,r,(function(e){return e.triggersBounds}),(function(i){e.dirtyCompoundBoundsCache(),e.dirtyBoundingBoxCache(),!i.triggersBoundsOfParallelBeziers||"curve-style"!==t||"bezier"!==n&&"bezier"!==r||e.parallelEdges().forEach((function(e){e.isBundledBezier()&&e.dirtyBoundingBoxCache()})),!i.triggersBoundsOfConnectedEdges||"display"!==t||"none"!==n&&"none"!==r||e.connectedEdges().forEach((function(e){e.dirtyBoundingBoxCache()}))}))},Ca.checkTriggers=function(e,t,n,r){e.dirtyStyleCache(),this.checkZOrderTrigger(e,t,n,r),this.checkBoundsTrigger(e,t,n,r)};var Pa={applyBypass:function(e,t,n,r){var i=[];if("*"===t||"**"===t){if(void 0!==n)for(var a=0;at.length?a.substr(t.length):""}function s(){n=n.length>r.length?n.substr(r.length):""}for(a=a.replace(/[/][*](\s|.)+?[*][/]/g,"");!a.match(/^\s*$/);){var u=a.match(/^\s*((?:.|\s)+?)\s*\{((?:.|\s)+?)\}/);if(!u){Pe("Halting stylesheet parsing: String stylesheet contains more to parse but no selector and block found in: "+a);break}t=u[0];var l=u[1];if("core"!==l&&new Cr(l).invalid)Pe("Skipping parsing of block: Invalid selector found in string stylesheet: "+l),o();else{var c=u[2],d=!1;n=c;for(var h=[];!n.match(/^\s*$/);){var f=n.match(/^\s*(.+?)\s*:\s*(.+?)(?:\s*;|\s*$)/);if(!f){Pe("Skipping parsing of block: Invalid formatting of style property and value definitions found in:"+c),d=!0;break}r=f[0];var p=f[1],v=f[2];this.properties[p]?i.parse(p,v)?(h.push({name:p,val:v}),s()):(Pe("Skipping property: Invalid property definition in: "+r),s()):(Pe("Skipping property: Invalid property name in: "+r),s())}if(d){o();break}i.selector(l);for(var g=0;g=7&&"d"===t[0]&&(l=new RegExp(s.data.regex).exec(t))){if(n)return!1;var h=s.data;return{name:e,value:l,strValue:""+t,mapped:h,field:l[1],bypass:n}}if(t.length>=10&&"m"===t[0]&&(c=new RegExp(s.mapData.regex).exec(t))){if(n)return!1;if(d.multiple)return!1;var f=s.mapData;if(!d.color&&!d.number)return!1;var p=this.parse(e,c[4]);if(!p||p.mapped)return!1;var v=this.parse(e,c[5]);if(!v||v.mapped)return!1;if(p.pfValue===v.pfValue||p.strValue===v.strValue)return Pe("`"+e+": "+t+"` is not a valid mapper because the output range is zero; converting to `"+e+": "+p.strValue+"`"),this.parse(e,p.strValue);if(d.color){var g=p.value,y=v.value;if(!(g[0]!==y[0]||g[1]!==y[1]||g[2]!==y[2]||g[3]!==y[3]&&(null!=g[3]&&1!==g[3]||null!=y[3]&&1!==y[3])))return!1}return{name:e,value:c,strValue:""+t,mapped:f,field:c[1],fieldMin:parseFloat(c[2]),fieldMax:parseFloat(c[3]),valueMin:p.value,valueMax:v.value,bypass:n}}}if(d.multiple&&"multiple"!==r){var m;if(m=u?t.split(/\s+/):M(t)?t:[t],d.evenMultiple&&m.length%2!=0)return null;for(var b=[],x=[],w=[],_="",E=!1,k=0;k0?" ":"")+C.strValue}return d.validate&&!d.validate(b,x)?null:d.singleEnum&&E?1===b.length&&T(b[0])?{name:e,value:b[0],strValue:b[0],bypass:n}:null:{name:e,value:b,pfValue:w,strValue:_,bypass:n,units:x}}var S,P,B,O=function(){for(var r=0;rd.max||d.strictMax&&t===d.max))return null;var R={name:e,value:t,strValue:""+t+(A||""),units:A,bypass:n};return d.unitless||"px"!==A&&"em"!==A?R.pfValue=t:R.pfValue="px"!==A&&A?this.getEmSizeInPixels()*t:t,"ms"!==A&&"s"!==A||(R.pfValue="ms"===A?t:1e3*t),"deg"!==A&&"rad"!==A||(R.pfValue="rad"===A?t:(S=t,Math.PI*S/180)),"%"===A&&(R.pfValue=t/100),R}if(d.propList){var j=[],V=""+t;if("none"===V);else{for(var F=V.split(/\s*,\s*|\s+/),W=0;W255)return;t.push(Math.floor(a))}var o=r[1]||r[2]||r[3],s=r[1]&&r[2]&&r[3];if(o&&!s)return;var u=n[4];if(void 0!==u){if((u=parseFloat(u))<0||u>1)return;t.push(u)}}return t}(B)||function(e){var t,n,r,i,a,o,s,u;function l(e,t,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?e+6*(t-e)*n:n<.5?t:n<2/3?e+(t-e)*(2/3-n)*6:e}var c=new RegExp("^"+K+"$").exec(e);if(c){if((n=parseInt(c[1]))<0?n=(360- -1*n%360)%360:n>360&&(n%=360),n/=360,(r=parseFloat(c[2]))<0||r>100)return;if(r/=100,(i=parseFloat(c[3]))<0||i>100)return;if(i/=100,void 0!==(a=c[4])&&((a=parseFloat(a))<0||a>1))return;if(0===r)o=s=u=Math.round(255*i);else{var d=i<.5?i*(1+r):i+r-i*r,h=2*i-d;o=Math.round(255*l(h,d,n+1/3)),s=Math.round(255*l(h,d,n)),u=Math.round(255*l(h,d,n-1/3))}t=[o,s,u,a]}return t}(B);return X?{name:e,value:X,pfValue:X,strValue:"rgb("+X[0]+","+X[1]+","+X[2]+")",bypass:n}:null}if(d.regex||d.regexes){if(d.enums){var Z=O();if(Z)return Z}for(var G=d.regexes?d.regexes:[d.regex],$=0;$0&&u>0&&!isNaN(n.w)&&!isNaN(n.h)&&n.w>0&&n.h>0)return{zoom:o=(o=(o=Math.min((s-2*t)/n.w,(u-2*t)/n.h))>this._private.maxZoom?this._private.maxZoom:o)=n.minZoom&&(n.maxZoom=t),this},minZoom:function(e){return void 0===e?this._private.minZoom:this.zoomRange({min:e})},maxZoom:function(e){return void 0===e?this._private.maxZoom:this.zoomRange({max:e})},getZoomedViewport:function(e){var t,n,r=this._private,i=r.pan,a=r.zoom,o=!1;if(r.zoomingEnabled||(o=!0),I(e)?n=e:B(e)&&(n=e.level,null!=e.position?t=nt(e.position,a,i):null!=e.renderedPosition&&(t=e.renderedPosition),null==t||r.panningEnabled||(o=!0)),n=(n=n>r.maxZoom?r.maxZoom:n)t.maxZoom||!t.zoomingEnabled?a=!0:(t.zoom=s,i.push("zoom"))}if(r&&(!a||!e.cancelOnFailedZoom)&&t.panningEnabled){var u=e.pan;I(u.x)&&(t.pan.x=u.x,o=!1),I(u.y)&&(t.pan.y=u.y,o=!1),o||i.push("pan")}return i.length>0&&(i.push("viewport"),this.emit(i.join(" ")),this.notify("viewport")),this},center:function(e){var t=this.getCenterPan(e);return t&&(this._private.pan=t,this.emit("pan viewport"),this.notify("viewport")),this},getCenterPan:function(e,t){if(this._private.panningEnabled){if(T(e)){var n=e;e=this.mutableElements().filter(n)}else A(e)||(e=this.mutableElements());if(0!==e.length){var r=e.boundingBox(),i=this.width(),a=this.height();return{x:(i-(t=void 0===t?this._private.zoom:t)*(r.x1+r.x2))/2,y:(a-t*(r.y1+r.y2))/2}}}},reset:function(){return this._private.panningEnabled&&this._private.zoomingEnabled?(this.viewport({pan:{x:0,y:0},zoom:1}),this):this},invalidateSize:function(){this._private.sizeCache=null},size:function(){var e,t,n=this._private,r=n.container;return n.sizeCache=n.sizeCache||(r?(e=this.window().getComputedStyle(r),t=function(t){return parseFloat(e.getPropertyValue(t))},{width:r.clientWidth-t("padding-left")-t("padding-right"),height:r.clientHeight-t("padding-top")-t("padding-bottom")}):{width:1,height:1})},width:function(){return this.size().width},height:function(){return this.size().height},extent:function(){var e=this._private.pan,t=this._private.zoom,n=this.renderedExtent(),r={x1:(n.x1-e.x)/t,x2:(n.x2-e.x)/t,y1:(n.y1-e.y)/t,y2:(n.y2-e.y)/t};return r.w=r.x2-r.x1,r.h=r.y2-r.y1,r},renderedExtent:function(){var e=this.width(),t=this.height();return{x1:0,y1:0,x2:e,y2:t,w:e,h:t}},multiClickDebounceTime:function(e){return e?(this._private.multiClickDebounceTime=e,this):this._private.multiClickDebounceTime}};La.centre=La.center,La.autolockNodes=La.autolock,La.autoungrabifyNodes=La.autoungrabify;var Ra={data:sr.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeData:sr.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),scratch:sr.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:sr.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0})};Ra.attr=Ra.data,Ra.removeAttr=Ra.removeData;var ja=function(e){var t=this,n=(e=Q({},e)).container;n&&!O(n)&&O(n[0])&&(n=n[0]);var r=n?n._cyreg:null;(r=r||{})&&r.cy&&(r.cy.destroy(),r={});var i=r.readies=r.readies||[];n&&(n._cyreg=r),r.cy=t;var a=void 0!==w&&void 0!==n&&!e.headless,o=e;o.layout=Q({name:a?"grid":"null"},o.layout),o.renderer=Q({name:a?"canvas":"null"},o.renderer);var s=function(e,t,n){return void 0!==t?t:void 0!==n?n:e},u=this._private={container:n,ready:!1,options:o,elements:new ta(this),listeners:[],aniEles:new ta(this),data:o.data||{},scratch:{},layout:null,renderer:null,destroyed:!1,notificationsEnabled:!0,minZoom:1e-50,maxZoom:1e50,zoomingEnabled:s(!0,o.zoomingEnabled),userZoomingEnabled:s(!0,o.userZoomingEnabled),panningEnabled:s(!0,o.panningEnabled),userPanningEnabled:s(!0,o.userPanningEnabled),boxSelectionEnabled:s(!0,o.boxSelectionEnabled),autolock:s(!1,o.autolock,o.autolockNodes),autoungrabify:s(!1,o.autoungrabify,o.autoungrabifyNodes),autounselectify:s(!1,o.autounselectify),styleEnabled:void 0===o.styleEnabled?a:o.styleEnabled,zoom:I(o.zoom)?o.zoom:1,pan:{x:B(o.pan)&&I(o.pan.x)?o.pan.x:0,y:B(o.pan)&&I(o.pan.y)?o.pan.y:0},animation:{current:[],queue:[]},hasCompoundNodes:!1,multiClickDebounceTime:s(250,o.multiClickDebounceTime)};this.createEmitter(),this.selectionType(o.selectionType),this.zoomRange({min:o.minZoom,max:o.maxZoom}),u.styleEnabled&&t.setStyle([]);var l=Q({},o,o.renderer);t.initRenderer(l),function(e,t){if(e.some(V))return tr.all(e).then(t);t(e)}([o.style,o.elements],(function(e){var n=e[0],a=e[1];u.styleEnabled&&t.style().append(n),function(e,n,r){t.notifications(!1);var i=t.mutableElements();i.length>0&&i.remove(),null!=e&&(B(e)||M(e))&&t.add(e),t.one("layoutready",(function(e){t.notifications(!0),t.emit(e),t.one("load",n),t.emitAndNotify("load")})).one("layoutstop",(function(){t.one("done",r),t.emit("done")}));var a=Q({},t._private.options.layout);a.eles=t.elements(),t.layout(a).run()}(a,(function(){t.startAnimationLoop(),u.ready=!0,D(o.ready)&&t.on("ready",o.ready);for(var e=0;e0,l=pt(n.boundingBox?n.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()});if(A(n.roots))e=n.roots;else if(M(n.roots)){for(var c=[],d=0;d0;){var B=S.shift(),I=C(B,P);if(I)B.outgoers().filter((function(e){return e.isNode()&&i.has(e)})).forEach(D);else if(null===I){Pe("Detected double maximal shift for node `"+B.id()+"`. Bailing maximal adjustment due to cycle. Use `options.maximal: true` only on DAGs.");break}}}k();var O=0;if(n.avoidOverlap)for(var z=0;z0&&y[0].length<=3?u/2:0),d=2*Math.PI/y[r].length*i;return 0===r&&1===y[0].length&&(c=1),{x:U+c*Math.cos(d),y:Z+c*Math.sin(d)}}return{x:U+(i+1-(a+1)/2)*o,y:(r+1)*s}})),this};var Ha={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,radius:void 0,startAngle:1.5*Math.PI,sweep:void 0,clockwise:!0,sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,t){return!0},ready:void 0,stop:void 0,transform:function(e,t){return t}};function Ua(e){this.options=Q({},Ha,e)}Ua.prototype.run=function(){var e=this.options,t=e,n=e.cy,r=t.eles,i=void 0!==t.counterclockwise?!t.counterclockwise:t.clockwise,a=r.nodes().not(":parent");t.sort&&(a=a.sort(t.sort));for(var o,s=pt(t.boundingBox?t.boundingBox:{x1:0,y1:0,w:n.width(),h:n.height()}),u=s.x1+s.w/2,l=s.y1+s.h/2,c=(void 0===t.sweep?2*Math.PI-2*Math.PI/a.length:t.sweep)/Math.max(1,a.length-1),d=0,h=0;h1&&t.avoidOverlap){d*=1.75;var g=Math.cos(c)-Math.cos(0),y=Math.sin(c)-Math.sin(0),m=Math.sqrt(d*d/(g*g+y*y));o=Math.max(m,o)}return r.nodes().layoutPositions(this,t,(function(e,n){var r=t.startAngle+n*c*(i?1:-1),a=o*Math.cos(r),s=o*Math.sin(r);return{x:u+a,y:l+s}})),this};var Za,Ka={fit:!0,padding:30,startAngle:1.5*Math.PI,sweep:void 0,clockwise:!0,equidistant:!1,minNodeSpacing:10,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,height:void 0,width:void 0,spacingFactor:void 0,concentric:function(e){return e.degree()},levelWidth:function(e){return e.maxDegree()/4},animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,t){return!0},ready:void 0,stop:void 0,transform:function(e,t){return t}};function Ga(e){this.options=Q({},Ka,e)}Ga.prototype.run=function(){for(var e=this.options,t=e,n=void 0!==t.counterclockwise?!t.counterclockwise:t.clockwise,r=e.cy,i=t.eles,a=i.nodes().not(":parent"),o=pt(t.boundingBox?t.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()}),s=o.x1+o.w/2,u=o.y1+o.h/2,l=[],c=0,d=0;d0&&Math.abs(m[0].value-x.value)>=g&&(m=[],y.push(m)),m.push(x)}var w=c+t.minNodeSpacing;if(!t.avoidOverlap){var _=y.length>0&&y[0].length>1,E=(Math.min(o.w,o.h)/2-w)/(y.length+_?1:0);w=Math.min(w,E)}for(var k=0,C=0;C1&&t.avoidOverlap){var D=Math.cos(T)-Math.cos(0),M=Math.sin(T)-Math.sin(0),B=Math.sqrt(w*w/(D*D+M*M));k=Math.max(B,k)}S.r=k,k+=w}if(t.equidistant){for(var I=0,O=0,A=0;A=e.numIter||(ao(r,e),r.temperature=r.temperature*e.coolingFactor,r.temperature=e.animationThreshold&&a(),ae(t)):(mo(r,e),s())}();else{for(;l;)l=o(u),u++;mo(r,e),s()}return this},Qa.prototype.stop=function(){return this.stopped=!0,this.thread&&this.thread.stop(),this.emit("layoutstop"),this},Qa.prototype.destroy=function(){return this.thread&&this.thread.stop(),this};var Ja=function(e,t,n){for(var r=n.eles.edges(),i=n.eles.nodes(),a=pt(n.boundingBox?n.boundingBox:{x1:0,y1:0,w:e.width(),h:e.height()}),o={isCompound:e.hasCompoundNodes(),layoutNodes:[],idToIndex:{},nodeSize:i.size(),graphSet:[],indexToGraph:[],layoutEdges:[],edgeSize:r.size(),temperature:n.initialTemp,clientWidth:a.w,clientHeight:a.h,boundingBox:a},s=n.eles.components(),u={},l=0;l0)for(o.graphSet.push(w),l=0;lr.count?0:r.graph},to=function e(t,n,r,i){var a=i.graphSet[r];if(-10)var s=(l=r.nodeOverlap*o)*i/(v=Math.sqrt(i*i+a*a)),u=l*a/v;else{var l,c=co(e,i,a),d=co(t,-1*i,-1*a),h=d.x-c.x,f=d.y-c.y,p=h*h+f*f,v=Math.sqrt(p);s=(l=(e.nodeRepulsion+t.nodeRepulsion)/p)*h/v,u=l*f/v}e.isLocked||(e.offsetX-=s,e.offsetY-=u),t.isLocked||(t.offsetX+=s,t.offsetY+=u)}},lo=function(e,t,n,r){if(n>0)var i=e.maxX-t.minX;else i=t.maxX-e.minX;if(r>0)var a=e.maxY-t.minY;else a=t.maxY-e.minY;return i>=0&&a>=0?Math.sqrt(i*i+a*a):0},co=function(e,t,n){var r=e.positionX,i=e.positionY,a=e.height||1,o=e.width||1,s=n/t,u=a/o,l={};return 0===t&&0n?(l.x=r,l.y=i+a/2,l):0t&&-1*u<=s&&s<=u?(l.x=r-o/2,l.y=i-o*n/2/t,l):0=u)?(l.x=r+a*t/2/n,l.y=i+a/2,l):0>n&&(s<=-1*u||s>=u)?(l.x=r-a*t/2/n,l.y=i-a/2,l):l},ho=function(e,t){for(var n=0;n1){var p=t.gravity*d/f,v=t.gravity*h/f;c.offsetX+=p,c.offsetY+=v}}}}},po=function(e,t){var n=[],r=0,i=-1;for(n.push.apply(n,e.graphSet[0]),i+=e.graphSet[0].length;r<=i;){var a=n[r++],o=e.idToIndex[a],s=e.layoutNodes[o],u=s.children;if(0n)var i={x:n*e/r,y:n*t/r};else i={x:e,y:t};return i},yo=function e(t,n){var r=t.parentId;if(null!=r){var i=n.layoutNodes[n.idToIndex[r]],a=!1;return(null==i.maxX||t.maxX+i.padRight>i.maxX)&&(i.maxX=t.maxX+i.padRight,a=!0),(null==i.minX||t.minX-i.padLefti.maxY)&&(i.maxY=t.maxY+i.padBottom,a=!0),(null==i.minY||t.minY-i.padTopp&&(d+=f+t.componentSpacing,c=0,h=0,f=0)}}},bo={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,avoidOverlapPadding:10,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,condense:!1,rows:void 0,cols:void 0,position:function(e){},sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,t){return!0},ready:void 0,stop:void 0,transform:function(e,t){return t}};function xo(e){this.options=Q({},bo,e)}xo.prototype.run=function(){var e=this.options,t=e,n=e.cy,r=t.eles,i=r.nodes().not(":parent");t.sort&&(i=i.sort(t.sort));var a=pt(t.boundingBox?t.boundingBox:{x1:0,y1:0,w:n.width(),h:n.height()});if(0===a.h||0===a.w)r.nodes().layoutPositions(this,t,(function(e){return{x:a.x1,y:a.y1}}));else{var o=i.size(),s=Math.sqrt(o*a.h/a.w),u=Math.round(s),l=Math.round(a.w/a.h*s),c=function(e){if(null==e)return Math.min(u,l);Math.min(u,l)==u?u=e:l=e},d=function(e){if(null==e)return Math.max(u,l);Math.max(u,l)==u?u=e:l=e},h=t.rows,f=null!=t.cols?t.cols:t.columns;if(null!=h&&null!=f)u=h,l=f;else if(null!=h&&null==f)u=h,l=Math.ceil(o/u);else if(null==h&&null!=f)l=f,u=Math.ceil(o/l);else if(l*u>o){var p=c(),v=d();(p-1)*v>=o?c(p-1):(v-1)*p>=o&&d(v-1)}else for(;l*u=o?d(y+1):c(g+1)}var m=a.w/l,b=a.h/u;if(t.condense&&(m=0,b=0),t.avoidOverlap)for(var x=0;x=l&&(B=0,M++)},O={},A=0;A(r=Pt(e,t,x[w],x[w+1],x[w+2],x[w+3])))return g(n,r),!0}else if("bezier"===a.edgeType||"multibezier"===a.edgeType||"self"===a.edgeType||"compound"===a.edgeType)for(x=a.allpts,w=0;w+5(r=St(e,t,x[w],x[w+1],x[w+2],x[w+3],x[w+4],x[w+5])))return g(n,r),!0;m=m||i.source,b=b||i.target;var _=o.getArrowWidth(u,c),E=[{name:"source",x:a.arrowStartX,y:a.arrowStartY,angle:a.srcArrowAngle},{name:"target",x:a.arrowEndX,y:a.arrowEndY,angle:a.tgtArrowAngle},{name:"mid-source",x:a.midX,y:a.midY,angle:a.midsrcArrowAngle},{name:"mid-target",x:a.midX,y:a.midY,angle:a.midtgtArrowAngle}];for(w=0;w0&&(y(m),y(b))}function b(e,t,n){return ze(e,t,n)}function x(n,r){var i,a=n._private,o=p;i=r?r+"-":"",n.boundingBox();var s=a.labelBounds[r||"main"],u=n.pstyle(i+"label").value;if("yes"===n.pstyle("text-events").strValue&&u){var l=b(a.rscratch,"labelX",r),c=b(a.rscratch,"labelY",r),d=b(a.rscratch,"labelAngle",r),h=n.pstyle(i+"text-margin-x").pfValue,f=n.pstyle(i+"text-margin-y").pfValue,v=s.x1-o-h,y=s.x2+o-h,m=s.y1-o-f,x=s.y2+o-f;if(d){var w=Math.cos(d),_=Math.sin(d),E=function(e,t){return{x:(e-=l)*w-(t-=c)*_+l,y:e*_+t*w+c}},k=E(v,m),C=E(v,x),S=E(y,m),P=E(y,x),T=[k.x+h,k.y+f,S.x+h,S.y+f,P.x+h,P.y+f,C.x+h,C.y+f];if(Tt(e,t,T))return g(n),!0}else if(wt(s,e,t))return g(n),!0}}n&&(u=u.interactive);for(var w=u.length-1;w>=0;w--){var _=u[w];_.isNode()?y(_)||x(_):m(_)||x(_)||x(_,"source")||x(_,"target")}return l},getAllInBox:function(e,t,n,r){for(var i,a,o=this.getCachedZSortedEles().interactive,s=[],u=Math.min(e,n),l=Math.max(e,n),c=Math.min(t,r),d=Math.max(t,r),h=pt({x1:e=u,y1:t=c,x2:n=l,y2:r=d}),f=0;f0?Math.max(e-t,0):Math.min(e+t,0)},P=S(k,_),T=S(C,E),D=!1;"auto"===g?v=Math.abs(P)>Math.abs(T)?i:r:g===u||g===s?(v=r,D=!0):g!==a&&g!==o||(v=i,D=!0);var M,B=v===r,I=B?T:P,O=B?C:k,A=st(O),z=!1;D&&(m||x)||!(g===s&&O<0||g===u&&O>0||g===a&&O>0||g===o&&O<0)||(I=(A*=-1)*Math.abs(I),z=!0);var N=function(e){return Math.abs(e)=Math.abs(I)},L=N(M=m?(b<0?1+b:b)*I:(b<0?I:0)+b*A),R=N(Math.abs(I)-Math.abs(M));if(!L&&!R||z)if(B){var j=l.y1+M+(p?d/2*A:0),V=l.x1,F=l.x2;n.segpts=[V,j,F,j]}else{var q=l.x1+M+(p?c/2*A:0),W=l.y1,Y=l.y2;n.segpts=[q,W,q,Y]}else if(B){var X=Math.abs(O)<=d/2,H=Math.abs(k)<=h/2;if(X){var U=(l.x1+l.x2)/2,Z=l.y1,K=l.y2;n.segpts=[U,Z,U,K]}else if(H){var G=(l.y1+l.y2)/2,$=l.x1,Q=l.x2;n.segpts=[$,G,Q,G]}else n.segpts=[l.x1,l.y2]}else{var J=Math.abs(O)<=c/2,ee=Math.abs(C)<=f/2;if(J){var te=(l.y1+l.y2)/2,ne=l.x1,re=l.x2;n.segpts=[ne,te,re,te]}else if(ee){var ie=(l.x1+l.x2)/2,ae=l.y1,oe=l.y2;n.segpts=[ie,ae,ie,oe]}else n.segpts=[l.x2,l.y1]}},Ao.tryToCorrectInvalidPoints=function(e,t){var n=e._private.rscratch;if("bezier"===n.edgeType){var r=t.srcPos,i=t.tgtPos,a=t.srcW,o=t.srcH,s=t.tgtW,u=t.tgtH,l=t.srcShape,c=t.tgtShape,d=!I(n.startX)||!I(n.startY),h=!I(n.arrowStartX)||!I(n.arrowStartY),f=!I(n.endX)||!I(n.endY),p=!I(n.arrowEndX)||!I(n.arrowEndY),v=this.getArrowWidth(e.pstyle("width").pfValue,e.pstyle("arrow-scale").value)*this.arrowShapeWidth*3,g=ut({x:n.ctrlpts[0],y:n.ctrlpts[1]},{x:n.startX,y:n.startY}),y=gh.poolIndex()){var f=d;d=h,h=f}var p=s.srcPos=d.position(),v=s.tgtPos=h.position(),g=s.srcW=d.outerWidth(),y=s.srcH=d.outerHeight(),m=s.tgtW=h.outerWidth(),b=s.tgtH=h.outerHeight(),x=s.srcShape=n.nodeShapes[t.getNodeShape(d)],w=s.tgtShape=n.nodeShapes[t.getNodeShape(h)];s.dirCounts={north:0,west:0,south:0,east:0,northwest:0,southwest:0,northeast:0,southeast:0};for(var _=0;_0){var q=l,W=lt(q,it(t)),Y=lt(q,it(F)),X=W;Y2&<(q,{x:F[2],y:F[3]})0){var ie=c,ae=lt(ie,it(t)),oe=lt(ie,it(re)),se=ae;oe2&<(ie,{x:re[2],y:re[3]})=l||m){c={cp:v,segment:y};break}}if(c)break}var b=c.cp,x=c.segment,w=(l-h)/x.length,_=x.t1-x.t0,E=s?x.t0+_*w:x.t1-_*w;E=ft(0,E,1),t=ht(b.p0,b.p1,b.p2,E),i=function(e,t,n,r){var i=ft(0,r-.001,1),a=ft(0,r+.001,1),o=ht(e,t,n,i),s=ht(e,t,n,a);return Fo(o,s)}(b.p0,b.p1,b.p2,E);break;case"straight":case"segments":case"haystack":for(var k,C,S,P,T=0,D=r.allpts.length,M=0;M+3=l));M+=2);var B=(l-C)/k;B=ft(0,B,1),t=function(e,t,n,r){var i=t.x-e.x,a=t.y-e.y,o=ut(e,t),s=i/o,u=a/o;return n=null==n?0:n,r=null!=r?r:n*o,{x:e.x+s*r,y:e.y+u*r}}(S,P,B),i=Fo(S,P)}o("labelX",n,t.x),o("labelY",n,t.y),o("labelAutoAngle",n,i)}};l("source"),l("target"),this.applyLabelDimensions(e)}},jo.applyLabelDimensions=function(e){this.applyPrefixedLabelDimensions(e),e.isEdge()&&(this.applyPrefixedLabelDimensions(e,"source"),this.applyPrefixedLabelDimensions(e,"target"))},jo.applyPrefixedLabelDimensions=function(e,t){var n=e._private,r=this.getLabelText(e,t),i=this.calculateLabelDimensions(e,r),a=e.pstyle("line-height").pfValue,o=e.pstyle("text-wrap").strValue,s=ze(n.rscratch,"labelWrapCachedLines",t)||[],u="wrap"!==o?1:Math.max(s.length,1),l=i.height/u,c=l*a,d=i.width,h=i.height+(u-1)*(a-1)*l;Ne(n.rstyle,"labelWidth",t,d),Ne(n.rscratch,"labelWidth",t,d),Ne(n.rstyle,"labelHeight",t,h),Ne(n.rscratch,"labelHeight",t,h),Ne(n.rscratch,"labelLineHeight",t,c)},jo.getLabelText=function(e,t){var n=e._private,r=t?t+"-":"",i=e.pstyle(r+"label").strValue,a=e.pstyle("text-transform").value,o=function(e,r){return r?(Ne(n.rscratch,e,t,r),r):ze(n.rscratch,e,t)};if(!i)return"";"none"==a||("uppercase"==a?i=i.toUpperCase():"lowercase"==a&&(i=i.toLowerCase()));var s=e.pstyle("text-wrap").value;if("wrap"===s){var u=o("labelKey");if(null!=u&&o("labelWrapKey")===u)return o("labelWrapCachedText");for(var l=i.split("\n"),c=e.pstyle("text-max-width").pfValue,d="anywhere"===e.pstyle("text-overflow-wrap").value,h=[],f=/[\s\u200b]+/,p=d?"":" ",v=0;vc){for(var b=g.split(f),x="",w=0;wk);P++)C+=i[P],P===i.length-1&&(S=!0);return S||(C+="…"),C}return i},jo.getLabelJustification=function(e){var t=e.pstyle("text-justification").strValue,n=e.pstyle("text-halign").strValue;if("auto"!==t)return t;if(!e.isNode())return"center";switch(n){case"left":return"right";case"right":return"left";default:return"center"}},jo.calculateLabelDimensions=function(e,t){var n=pe(t,e._private.labelDimsKey),r=this.labelDimCache||(this.labelDimCache=[]),i=r[n];if(null!=i)return i;var a=e.pstyle("font-style").strValue,o=e.pstyle("font-size").pfValue,s=e.pstyle("font-family").strValue,u=e.pstyle("font-weight").strValue,l=this.labelCalcCanvas,c=this.labelCalcCanvasContext;if(!l){l=this.labelCalcCanvas=document.createElement("canvas"),c=this.labelCalcCanvasContext=l.getContext("2d");var d=l.style;d.position="absolute",d.left="-9999px",d.top="-9999px",d.zIndex="-1",d.visibility="hidden",d.pointerEvents="none"}c.font="".concat(a," ").concat(u," ").concat(o,"px ").concat(s);for(var h=0,f=0,p=t.split("\n"),v=0;v1&&void 0!==arguments[1])||arguments[1];if(t.merge(e),n)for(var r=0;r=e.desktopTapThreshold2}var S=i(t);g&&(e.hoverData.tapholdCancelled=!0),n=!0,r(v,["mousemove","vmousemove","tapdrag"],t,{x:l[0],y:l[1]});var P=function(){e.data.bgActivePosistion=void 0,e.hoverData.selecting||o.emit({originalEvent:t,type:"boxstart",position:{x:l[0],y:l[1]}}),p[4]=1,e.hoverData.selecting=!0,e.redrawHint("select",!0),e.redraw()};if(3===e.hoverData.which){if(g){var T={originalEvent:t,type:"cxtdrag",position:{x:l[0],y:l[1]}};m?m.emit(T):o.emit(T),e.hoverData.cxtDragged=!0,e.hoverData.cxtOver&&v===e.hoverData.cxtOver||(e.hoverData.cxtOver&&e.hoverData.cxtOver.emit({originalEvent:t,type:"cxtdragout",position:{x:l[0],y:l[1]}}),e.hoverData.cxtOver=v,v&&v.emit({originalEvent:t,type:"cxtdragover",position:{x:l[0],y:l[1]}}))}}else if(e.hoverData.dragging){if(n=!0,o.panningEnabled()&&o.userPanningEnabled()){var D;if(e.hoverData.justStartedPan){var M=e.hoverData.mdownPos;D={x:(l[0]-M[0])*s,y:(l[1]-M[1])*s},e.hoverData.justStartedPan=!1}else D={x:b[0]*s,y:b[1]*s};o.panBy(D),o.emit("dragpan"),e.hoverData.dragged=!0}l=e.projectIntoViewport(t.clientX,t.clientY)}else if(1!=p[4]||null!=m&&!m.pannable()){if(m&&m.pannable()&&m.active()&&m.unactivate(),m&&m.grabbed()||v==y||(y&&r(y,["mouseout","tapdragout"],t,{x:l[0],y:l[1]}),v&&r(v,["mouseover","tapdragover"],t,{x:l[0],y:l[1]}),e.hoverData.last=v),m)if(g){if(o.boxSelectionEnabled()&&S)m&&m.grabbed()&&(h(x),m.emit("freeon"),x.emit("free"),e.dragData.didDrag&&(m.emit("dragfreeon"),x.emit("dragfree"))),P();else if(m&&m.grabbed()&&e.nodeIsDraggable(m)){var B=!e.dragData.didDrag;B&&e.redrawHint("eles",!0),e.dragData.didDrag=!0,e.hoverData.draggingEles||c(x,{inDragLayer:!0});var O={x:0,y:0};if(I(b[0])&&I(b[1])&&(O.x+=b[0],O.y+=b[1],B)){var A=e.hoverData.dragDelta;A&&I(A[0])&&I(A[1])&&(O.x+=A[0],O.y+=A[1])}e.hoverData.draggingEles=!0,x.silentShift(O).emit("position drag"),e.redrawHint("drag",!0),e.redraw()}}else!function(){var t=e.hoverData.dragDelta=e.hoverData.dragDelta||[];0===t.length?(t.push(b[0]),t.push(b[1])):(t[0]+=b[0],t[1]+=b[1])}();n=!0}else g&&(e.hoverData.dragging||!o.boxSelectionEnabled()||!S&&o.panningEnabled()&&o.userPanningEnabled()?!e.hoverData.selecting&&o.panningEnabled()&&o.userPanningEnabled()&&a(m,e.hoverData.downs)&&(e.hoverData.dragging=!0,e.hoverData.justStartedPan=!0,p[4]=0,e.data.bgActivePosistion=it(d),e.redrawHint("select",!0),e.redraw()):P(),m&&m.pannable()&&m.active()&&m.unactivate());return p[2]=l[0],p[3]=l[1],n?(t.stopPropagation&&t.stopPropagation(),t.preventDefault&&t.preventDefault(),!1):void 0}}),!1),e.registerBinding(t,"mouseup",(function(t){if(e.hoverData.capture){e.hoverData.capture=!1;var a=e.cy,o=e.projectIntoViewport(t.clientX,t.clientY),s=e.selection,u=e.findNearestElement(o[0],o[1],!0,!1),l=e.dragData.possibleDragElements,c=e.hoverData.down,d=i(t);if(e.data.bgActivePosistion&&(e.redrawHint("select",!0),e.redraw()),e.hoverData.tapholdCancelled=!0,e.data.bgActivePosistion=void 0,c&&c.unactivate(),3===e.hoverData.which){var f={originalEvent:t,type:"cxttapend",position:{x:o[0],y:o[1]}};if(c?c.emit(f):a.emit(f),!e.hoverData.cxtDragged){var p={originalEvent:t,type:"cxttap",position:{x:o[0],y:o[1]}};c?c.emit(p):a.emit(p)}e.hoverData.cxtDragged=!1,e.hoverData.which=null}else if(1===e.hoverData.which){if(r(u,["mouseup","tapend","vmouseup"],t,{x:o[0],y:o[1]}),e.dragData.didDrag||e.hoverData.dragged||e.hoverData.selecting||e.hoverData.isOverThresholdDrag||(r(c,["click","tap","vclick"],t,{x:o[0],y:o[1]}),x=!1,t.timeStamp-w<=a.multiClickDebounceTime()?(b&&clearTimeout(b),x=!0,w=null,r(c,["dblclick","dbltap","vdblclick"],t,{x:o[0],y:o[1]})):(b=setTimeout((function(){x||r(c,["oneclick","onetap","voneclick"],t,{x:o[0],y:o[1]})}),a.multiClickDebounceTime()),w=t.timeStamp)),null!=c||e.dragData.didDrag||e.hoverData.selecting||e.hoverData.dragged||i(t)||(a.$(n).unselect(["tapunselect"]),l.length>0&&e.redrawHint("eles",!0),e.dragData.possibleDragElements=l=a.collection()),u!=c||e.dragData.didDrag||e.hoverData.selecting||null!=u&&u._private.selectable&&(e.hoverData.dragging||("additive"===a.selectionType()||d?u.selected()?u.unselect(["tapunselect"]):u.select(["tapselect"]):d||(a.$(n).unmerge(u).unselect(["tapunselect"]),u.select(["tapselect"]))),e.redrawHint("eles",!0)),e.hoverData.selecting){var v=a.collection(e.getAllInBox(s[0],s[1],s[2],s[3]));e.redrawHint("select",!0),v.length>0&&e.redrawHint("eles",!0),a.emit({type:"boxend",originalEvent:t,position:{x:o[0],y:o[1]}});"additive"===a.selectionType()||d||a.$(n).unmerge(v).unselect(),v.emit("box").stdFilter((function(e){return e.selectable()&&!e.selected()})).select().emit("boxselect"),e.redraw()}if(e.hoverData.dragging&&(e.hoverData.dragging=!1,e.redrawHint("select",!0),e.redrawHint("eles",!0),e.redraw()),!s[4]){e.redrawHint("drag",!0),e.redrawHint("eles",!0);var g=c&&c.grabbed();h(l),g&&(c.emit("freeon"),l.emit("free"),e.dragData.didDrag&&(c.emit("dragfreeon"),l.emit("dragfree")))}}s[4]=0,e.hoverData.down=null,e.hoverData.cxtStarted=!1,e.hoverData.draggingEles=!1,e.hoverData.selecting=!1,e.hoverData.isOverThresholdDrag=!1,e.dragData.didDrag=!1,e.hoverData.dragged=!1,e.hoverData.dragDelta=[],e.hoverData.mdownPos=null,e.hoverData.mdownGPos=null}}),!1);var E,k,C,S,P,T,D,M,B,O,A,z,N,L=function(t){if(!e.scrollingPage){var n=e.cy,r=n.zoom(),i=n.pan(),a=e.projectIntoViewport(t.clientX,t.clientY),o=[a[0]*r+i.x,a[1]*r+i.y];if(e.hoverData.draggingEles||e.hoverData.dragging||e.hoverData.cxtStarted||0!==e.selection[4])t.preventDefault();else if(n.panningEnabled()&&n.userPanningEnabled()&&n.zoomingEnabled()&&n.userZoomingEnabled()){var s;t.preventDefault(),e.data.wheelZooming=!0,clearTimeout(e.data.wheelTimeout),e.data.wheelTimeout=setTimeout((function(){e.data.wheelZooming=!1,e.redrawHint("eles",!0),e.redraw()}),150),s=null!=t.deltaY?t.deltaY/-250:null!=t.wheelDeltaY?t.wheelDeltaY/1e3:t.wheelDelta/1e3,s*=e.wheelSensitivity,1===t.deltaMode&&(s*=33);var u=n.zoom()*Math.pow(10,s);"gesturechange"===t.type&&(u=e.gestureStartZoom*t.scale),n.zoom({level:u,renderedPosition:{x:o[0],y:o[1]}}),n.emit("gesturechange"===t.type?"pinchzoom":"scrollzoom")}}};e.registerBinding(e.container,"wheel",L,!0),e.registerBinding(t,"scroll",(function(t){e.scrollingPage=!0,clearTimeout(e.scrollingPageTimeout),e.scrollingPageTimeout=setTimeout((function(){e.scrollingPage=!1}),250)}),!0),e.registerBinding(e.container,"gesturestart",(function(t){e.gestureStartZoom=e.cy.zoom(),e.hasTouchStarted||t.preventDefault()}),!0),e.registerBinding(e.container,"gesturechange",(function(t){e.hasTouchStarted||L(t)}),!0),e.registerBinding(e.container,"mouseout",(function(t){var n=e.projectIntoViewport(t.clientX,t.clientY);e.cy.emit({originalEvent:t,type:"mouseout",position:{x:n[0],y:n[1]}})}),!1),e.registerBinding(e.container,"mouseover",(function(t){var n=e.projectIntoViewport(t.clientX,t.clientY);e.cy.emit({originalEvent:t,type:"mouseover",position:{x:n[0],y:n[1]}})}),!1);var R,j,V,F,q,W,Y,X=function(e,t,n,r){return Math.sqrt((n-e)*(n-e)+(r-t)*(r-t))},H=function(e,t,n,r){return(n-e)*(n-e)+(r-t)*(r-t)};if(e.registerBinding(e.container,"touchstart",R=function(t){if(e.hasTouchStarted=!0,_(t)){p(),e.touchData.capture=!0,e.data.bgActivePosistion=void 0;var n=e.cy,i=e.touchData.now,a=e.touchData.earlier;if(t.touches[0]){var o=e.projectIntoViewport(t.touches[0].clientX,t.touches[0].clientY);i[0]=o[0],i[1]=o[1]}if(t.touches[1]&&(o=e.projectIntoViewport(t.touches[1].clientX,t.touches[1].clientY),i[2]=o[0],i[3]=o[1]),t.touches[2]&&(o=e.projectIntoViewport(t.touches[2].clientX,t.touches[2].clientY),i[4]=o[0],i[5]=o[1]),t.touches[1]){e.touchData.singleTouchMoved=!0,h(e.dragData.touchDragEles);var u=e.findContainerClientCoords();B=u[0],O=u[1],A=u[2],z=u[3],E=t.touches[0].clientX-B,k=t.touches[0].clientY-O,C=t.touches[1].clientX-B,S=t.touches[1].clientY-O,N=0<=E&&E<=A&&0<=C&&C<=A&&0<=k&&k<=z&&0<=S&&S<=z;var l=n.pan(),f=n.zoom();if(P=X(E,k,C,S),T=H(E,k,C,S),M=[((D=[(E+C)/2,(k+S)/2])[0]-l.x)/f,(D[1]-l.y)/f],T<4e4&&!t.touches[2]){var v=e.findNearestElement(i[0],i[1],!0,!0),g=e.findNearestElement(i[2],i[3],!0,!0);return v&&v.isNode()?(v.activate().emit({originalEvent:t,type:"cxttapstart",position:{x:i[0],y:i[1]}}),e.touchData.start=v):g&&g.isNode()?(g.activate().emit({originalEvent:t,type:"cxttapstart",position:{x:i[0],y:i[1]}}),e.touchData.start=g):n.emit({originalEvent:t,type:"cxttapstart",position:{x:i[0],y:i[1]}}),e.touchData.start&&(e.touchData.start._private.grabbed=!1),e.touchData.cxt=!0,e.touchData.cxtDragged=!1,e.data.bgActivePosistion=void 0,void e.redraw()}}if(t.touches[2])n.boxSelectionEnabled()&&t.preventDefault();else if(t.touches[1]);else if(t.touches[0]){var y=e.findNearestElements(i[0],i[1],!0,!0),m=y[0];if(null!=m&&(m.activate(),e.touchData.start=m,e.touchData.starts=y,e.nodeIsGrabbable(m))){var b=e.dragData.touchDragEles=n.collection(),x=null;e.redrawHint("eles",!0),e.redrawHint("drag",!0),m.selected()?(x=n.$((function(t){return t.selected()&&e.nodeIsGrabbable(t)})),c(x,{addToList:b})):d(m,{addToList:b}),s(m);var w=function(e){return{originalEvent:t,type:e,position:{x:i[0],y:i[1]}}};m.emit(w("grabon")),x?x.forEach((function(e){e.emit(w("grab"))})):m.emit(w("grab"))}r(m,["touchstart","tapstart","vmousedown"],t,{x:i[0],y:i[1]}),null==m&&(e.data.bgActivePosistion={x:o[0],y:o[1]},e.redrawHint("select",!0),e.redraw()),e.touchData.singleTouchMoved=!1,e.touchData.singleTouchStartTime=+new Date,clearTimeout(e.touchData.tapholdTimeout),e.touchData.tapholdTimeout=setTimeout((function(){!1!==e.touchData.singleTouchMoved||e.pinching||e.touchData.selecting||r(e.touchData.start,["taphold"],t,{x:i[0],y:i[1]})}),e.tapholdDuration)}if(t.touches.length>=1){for(var I=e.touchData.startPosition=[null,null,null,null,null,null],L=0;L=e.touchTapThreshold2}if(n&&e.touchData.cxt){t.preventDefault();var x=t.touches[0].clientX-B,w=t.touches[0].clientY-O,D=t.touches[1].clientX-B,A=t.touches[1].clientY-O,z=H(x,w,D,A);if(z/T>=2.25||z>=22500){e.touchData.cxt=!1,e.data.bgActivePosistion=void 0,e.redrawHint("select",!0);var L={originalEvent:t,type:"cxttapend",position:{x:s[0],y:s[1]}};e.touchData.start?(e.touchData.start.unactivate().emit(L),e.touchData.start=null):o.emit(L)}}if(n&&e.touchData.cxt){L={originalEvent:t,type:"cxtdrag",position:{x:s[0],y:s[1]}},e.data.bgActivePosistion=void 0,e.redrawHint("select",!0),e.touchData.start?e.touchData.start.emit(L):o.emit(L),e.touchData.start&&(e.touchData.start._private.grabbed=!1),e.touchData.cxtDragged=!0;var R=e.findNearestElement(s[0],s[1],!0,!0);e.touchData.cxtOver&&R===e.touchData.cxtOver||(e.touchData.cxtOver&&e.touchData.cxtOver.emit({originalEvent:t,type:"cxtdragout",position:{x:s[0],y:s[1]}}),e.touchData.cxtOver=R,R&&R.emit({originalEvent:t,type:"cxtdragover",position:{x:s[0],y:s[1]}}))}else if(n&&t.touches[2]&&o.boxSelectionEnabled())t.preventDefault(),e.data.bgActivePosistion=void 0,this.lastThreeTouch=+new Date,e.touchData.selecting||o.emit({originalEvent:t,type:"boxstart",position:{x:s[0],y:s[1]}}),e.touchData.selecting=!0,e.touchData.didSelect=!0,i[4]=1,i&&0!==i.length&&void 0!==i[0]?(i[2]=(s[0]+s[2]+s[4])/3,i[3]=(s[1]+s[3]+s[5])/3):(i[0]=(s[0]+s[2]+s[4])/3,i[1]=(s[1]+s[3]+s[5])/3,i[2]=(s[0]+s[2]+s[4])/3+1,i[3]=(s[1]+s[3]+s[5])/3+1),e.redrawHint("select",!0),e.redraw();else if(n&&t.touches[1]&&!e.touchData.didSelect&&o.zoomingEnabled()&&o.panningEnabled()&&o.userZoomingEnabled()&&o.userPanningEnabled()){if(t.preventDefault(),e.data.bgActivePosistion=void 0,e.redrawHint("select",!0),ee=e.dragData.touchDragEles){e.redrawHint("drag",!0);for(var j=0;j0&&!e.hoverData.draggingEles&&!e.swipePanning&&null!=e.data.bgActivePosistion&&(e.data.bgActivePosistion=void 0,e.redrawHint("select",!0),e.redraw())}},!1),e.registerBinding(t,"touchcancel",V=function(t){var n=e.touchData.start;e.touchData.capture=!1,n&&n.unactivate()}),e.registerBinding(t,"touchend",F=function(t){var i=e.touchData.start;if(e.touchData.capture){0===t.touches.length&&(e.touchData.capture=!1),t.preventDefault();var a=e.selection;e.swipePanning=!1,e.hoverData.draggingEles=!1;var o,s=e.cy,u=s.zoom(),l=e.touchData.now,c=e.touchData.earlier;if(t.touches[0]){var d=e.projectIntoViewport(t.touches[0].clientX,t.touches[0].clientY);l[0]=d[0],l[1]=d[1]}if(t.touches[1]&&(d=e.projectIntoViewport(t.touches[1].clientX,t.touches[1].clientY),l[2]=d[0],l[3]=d[1]),t.touches[2]&&(d=e.projectIntoViewport(t.touches[2].clientX,t.touches[2].clientY),l[4]=d[0],l[5]=d[1]),i&&i.unactivate(),e.touchData.cxt){if(o={originalEvent:t,type:"cxttapend",position:{x:l[0],y:l[1]}},i?i.emit(o):s.emit(o),!e.touchData.cxtDragged){var f={originalEvent:t,type:"cxttap",position:{x:l[0],y:l[1]}};i?i.emit(f):s.emit(f)}return e.touchData.start&&(e.touchData.start._private.grabbed=!1),e.touchData.cxt=!1,e.touchData.start=null,void e.redraw()}if(!t.touches[2]&&s.boxSelectionEnabled()&&e.touchData.selecting){e.touchData.selecting=!1;var p=s.collection(e.getAllInBox(a[0],a[1],a[2],a[3]));a[0]=void 0,a[1]=void 0,a[2]=void 0,a[3]=void 0,a[4]=0,e.redrawHint("select",!0),s.emit({type:"boxend",originalEvent:t,position:{x:l[0],y:l[1]}}),p.emit("box").stdFilter((function(e){return e.selectable()&&!e.selected()})).select().emit("boxselect"),p.nonempty()&&e.redrawHint("eles",!0),e.redraw()}if(null!=i&&i.unactivate(),t.touches[2])e.data.bgActivePosistion=void 0,e.redrawHint("select",!0);else if(t.touches[1]);else if(t.touches[0]);else if(!t.touches[0]){e.data.bgActivePosistion=void 0,e.redrawHint("select",!0);var v=e.dragData.touchDragEles;if(null!=i){var g=i._private.grabbed;h(v),e.redrawHint("drag",!0),e.redrawHint("eles",!0),g&&(i.emit("freeon"),v.emit("free"),e.dragData.didDrag&&(i.emit("dragfreeon"),v.emit("dragfree"))),r(i,["touchend","tapend","vmouseup","tapdragout"],t,{x:l[0],y:l[1]}),i.unactivate(),e.touchData.start=null}else{var y=e.findNearestElement(l[0],l[1],!0,!0);r(y,["touchend","tapend","vmouseup","tapdragout"],t,{x:l[0],y:l[1]})}var m=e.touchData.startPosition[0]-l[0],b=m*m,x=e.touchData.startPosition[1]-l[1],w=(b+x*x)*u*u;e.touchData.singleTouchMoved||(i||s.$(":selected").unselect(["tapunselect"]),r(i,["tap","vclick"],t,{x:l[0],y:l[1]}),q=!1,t.timeStamp-Y<=s.multiClickDebounceTime()?(W&&clearTimeout(W),q=!0,Y=null,r(i,["dbltap","vdblclick"],t,{x:l[0],y:l[1]})):(W=setTimeout((function(){q||r(i,["onetap","voneclick"],t,{x:l[0],y:l[1]})}),s.multiClickDebounceTime()),Y=t.timeStamp)),null!=i&&!e.dragData.didDrag&&i._private.selectable&&w2){for(var T=[l[0],l[1]],D=Math.pow(T[0]-e,2)+Math.pow(T[1]-t,2),M=1;M0)return v[0]}return null},h=Object.keys(c),f=0;f0?u:Et(i,a,e,t,n,r,o)},checkPoint:function(e,t,n,r,i,a,o){var s=Ft(r,i),u=2*s;if(Dt(e,t,this.points,a,o,r,i-u,[0,-1],n))return!0;if(Dt(e,t,this.points,a,o,r-u,i,[0,-1],n))return!0;var l=r/2+2*n,c=i/2+2*n;return!!Tt(e,t,[a-l,o-c,a-l,o,a+l,o,a+l,o-c])||!!It(e,t,u,u,a+r/2-s,o+i/2-s,n)||!!It(e,t,u,u,a-r/2+s,o+i/2-s,n)}}},registerNodeShapes:function(){var e=this.nodeShapes={},t=this;this.generateEllipse(),this.generatePolygon("triangle",Rt(3,0)),this.generateRoundPolygon("round-triangle",Rt(3,0)),this.generatePolygon("rectangle",Rt(4,0)),e.square=e.rectangle,this.generateRoundRectangle(),this.generateCutRectangle(),this.generateBarrel(),this.generateBottomRoundrectangle();var n=[0,1,1,0,0,-1,-1,0];this.generatePolygon("diamond",n),this.generateRoundPolygon("round-diamond",n),this.generatePolygon("pentagon",Rt(5,0)),this.generateRoundPolygon("round-pentagon",Rt(5,0)),this.generatePolygon("hexagon",Rt(6,0)),this.generateRoundPolygon("round-hexagon",Rt(6,0)),this.generatePolygon("heptagon",Rt(7,0)),this.generateRoundPolygon("round-heptagon",Rt(7,0)),this.generatePolygon("octagon",Rt(8,0)),this.generateRoundPolygon("round-octagon",Rt(8,0));var r=new Array(20),i=Vt(5,0),a=Vt(5,Math.PI/5),o=.5*(3-Math.sqrt(5));o*=1.57;for(var s=0;s=e.deqFastCost*v)break}else if(i){if(f>=e.deqCost*u||f>=e.deqAvgCost*s)break}else if(p>=e.deqNoDrawCost*Jo)break;var g=e.deq(t,d,c);if(!(g.length>0))break;for(var y=0;y0&&(e.onDeqd(t,l),!i&&e.shouldRedraw(t,l,d,c)&&r())}),i(t))}}},ts=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:_e;v(this,e),this.idsByKey=new Le,this.keyForId=new Le,this.cachesByLvl=new Le,this.lvls=[],this.getKey=t,this.doesEleInvalidateKey=n}return y(e,[{key:"getIdsFor",value:function(e){null==e&&Ce("Can not get id list for null key");var t=this.idsByKey,n=this.idsByKey.get(e);return n||(n=new je,t.set(e,n)),n}},{key:"addIdForKey",value:function(e,t){null!=e&&this.getIdsFor(e).add(t)}},{key:"deleteIdForKey",value:function(e,t){null!=e&&this.getIdsFor(e).delete(t)}},{key:"getNumberOfIdsForKey",value:function(e){return null==e?0:this.getIdsFor(e).size}},{key:"updateKeyMappingFor",value:function(e){var t=e.id(),n=this.keyForId.get(t),r=this.getKey(e);this.deleteIdForKey(n,t),this.addIdForKey(r,t),this.keyForId.set(t,r)}},{key:"deleteKeyMappingFor",value:function(e){var t=e.id(),n=this.keyForId.get(t);this.deleteIdForKey(n,t),this.keyForId.delete(t)}},{key:"keyHasChangedFor",value:function(e){var t=e.id();return this.keyForId.get(t)!==this.getKey(e)}},{key:"isInvalid",value:function(e){return this.keyHasChangedFor(e)||this.doesEleInvalidateKey(e)}},{key:"getCachesAt",value:function(e){var t=this.cachesByLvl,n=this.lvls,r=t.get(e);return r||(r=new Le,t.set(e,r),n.push(e)),r}},{key:"getCache",value:function(e,t){return this.getCachesAt(t).get(e)}},{key:"get",value:function(e,t){var n=this.getKey(e),r=this.getCache(n,t);return null!=r&&this.updateKeyMappingFor(e),r}},{key:"getForCachedKey",value:function(e,t){var n=this.keyForId.get(e.id());return this.getCache(n,t)}},{key:"hasCache",value:function(e,t){return this.getCachesAt(t).has(e)}},{key:"has",value:function(e,t){var n=this.getKey(e);return this.hasCache(n,t)}},{key:"setCache",value:function(e,t,n){n.key=e,this.getCachesAt(t).set(e,n)}},{key:"set",value:function(e,t,n){var r=this.getKey(e);this.setCache(r,t,n),this.updateKeyMappingFor(e)}},{key:"deleteCache",value:function(e,t){this.getCachesAt(t).delete(e)}},{key:"delete",value:function(e,t){var n=this.getKey(e);this.deleteCache(n,t)}},{key:"invalidateKey",value:function(e){var t=this;this.lvls.forEach((function(n){return t.deleteCache(e,n)}))}},{key:"invalidate",value:function(e){var t=e.id(),n=this.keyForId.get(t);this.deleteKeyMappingFor(e);var r=this.doesEleInvalidateKey(e);return r&&this.invalidateKey(n),r||0===this.getNumberOfIdsForKey(n)}}]),e}(),ns={dequeue:"dequeue",downscale:"downscale",highQuality:"highQuality"},rs=Ie({getKey:null,doesEleInvalidateKey:_e,drawElement:null,getBoundingBox:null,getRotationPoint:null,getRotationOffset:null,isVisible:we,allowEdgeTxrCaching:!0,allowParentTxrCaching:!0}),is=function(e,t){var n=this;n.renderer=e,n.onDequeues=[];var r=rs(t);Q(n,r),n.lookup=new ts(r.getKey,r.doesEleInvalidateKey),n.setupDequeueing()},as=is.prototype;as.reasons=ns,as.getTextureQueue=function(e){var t=this;return t.eleImgCaches=t.eleImgCaches||{},t.eleImgCaches[e]=t.eleImgCaches[e]||[]},as.getRetiredTextureQueue=function(e){var t=this.eleImgCaches.retired=this.eleImgCaches.retired||{};return t[e]=t[e]||[]},as.getElementQueue=function(){return this.eleCacheQueue=this.eleCacheQueue||new c.default((function(e,t){return t.reqs-e.reqs}))},as.getElementKeyToQueue=function(){return this.eleKeyToCacheQueue=this.eleKeyToCacheQueue||{}},as.getElement=function(e,t,n,r,i){var a=this,o=this.renderer,s=o.cy.zoom(),u=this.lookup;if(!t||0===t.w||0===t.h||isNaN(t.w)||isNaN(t.h)||!e.visible()||e.removed())return null;if(!a.allowEdgeTxrCaching&&e.isEdge()||!a.allowParentTxrCaching&&e.isParent())return null;if(null==r&&(r=Math.ceil(ot(s*n))),r<-4)r=-4;else if(s>=7.99||r>3)return null;var l=Math.pow(2,r),c=t.h*l,d=t.w*l,h=o.eleTextBiggerThanMin(e,l);if(!this.isVisible(e,h))return null;var f,p=u.get(e,r);if(p&&p.invalidated&&(p.invalidated=!1,p.texture.invalidatedWidth-=p.width),p)return p;if(f=c<=25?25:c<=50?50:50*Math.ceil(c/50),c>1024||d>1024)return null;var v=a.getTextureQueue(f),g=v[v.length-2],y=function(){return a.recycleTexture(f,d)||a.addTexture(f,d)};g||(g=v[v.length-1]),g||(g=y()),g.width-g.usedWidthr;P--)C=a.getElement(e,t,n,P,ns.downscale);S()}else{var T;if(!x&&!w&&!_)for(var D=r-1;D>=-4;D--){var M=u.get(e,D);if(M){T=M;break}}if(b(T))return a.queueElement(e,r),T;g.context.translate(g.usedWidth,0),g.context.scale(l,l),this.drawElement(g.context,e,t,h,!1),g.context.scale(1/l,1/l),g.context.translate(-g.usedWidth,0)}return p={x:g.usedWidth,texture:g,level:r,scale:l,width:d,height:c,scaledLabelShown:h},g.usedWidth+=Math.ceil(d+8),g.eleCaches.push(p),u.set(e,r,p),a.checkTextureFullness(g),p},as.invalidateElements=function(e){for(var t=0;t=.2*e.width&&this.retireTexture(e)},as.checkTextureFullness=function(e){var t=this.getTextureQueue(e.height);e.usedWidth/e.width>.8&&e.fullnessChecks>=10?Oe(t,e):e.fullnessChecks++},as.retireTexture=function(e){var t=e.height,n=this.getTextureQueue(t),r=this.lookup;Oe(n,e),e.retired=!0;for(var i=e.eleCaches,a=0;a=t)return a.retired=!1,a.usedWidth=0,a.invalidatedWidth=0,a.fullnessChecks=0,Ae(a.eleCaches),a.context.setTransform(1,0,0,1,0,0),a.context.clearRect(0,0,a.width,a.height),Oe(r,a),n.push(a),a}},as.queueElement=function(e,t){var n=this.getElementQueue(),r=this.getElementKeyToQueue(),i=this.getKey(e),a=r[i];if(a)a.level=Math.max(a.level,t),a.eles.merge(e),a.reqs++,n.updateItem(a);else{var o={eles:e.spawn().merge(e),level:t,reqs:1,key:i};n.push(o),r[i]=o}},as.dequeue=function(e){for(var t=this,n=t.getElementQueue(),r=t.getElementKeyToQueue(),i=[],a=t.lookup,o=0;o<1&&n.size()>0;o++){var s=n.pop(),u=s.key,l=s.eles[0],c=a.hasCache(l,s.level);if(r[u]=null,!c){i.push(s);var d=t.getBoundingBox(l);t.getElement(l,d,e,s.level,ns.dequeue)}}return i},as.removeFromQueue=function(e){var t=this.getElementQueue(),n=this.getElementKeyToQueue(),r=this.getKey(e),i=n[r];null!=i&&(1===i.eles.length?(i.reqs=xe,t.updateItem(i),t.pop(),n[r]=null):i.eles.unmerge(e))},as.onDequeue=function(e){this.onDequeues.push(e)},as.offDequeue=function(e){Oe(this.onDequeues,e)},as.setupDequeueing=es({deqRedrawThreshold:100,deqCost:.15,deqAvgCost:.1,deqNoDrawCost:.9,deqFastCost:.9,deq:function(e,t,n){return e.dequeue(t,n)},onDeqd:function(e,t){for(var n=0;n=3.99||n>2)return null;r.validateLayersElesOrdering(n,e);var o,s,u=r.layersByLevel,l=Math.pow(2,n),c=u[n]=u[n]||[];if(r.levelIsComplete(n,e))return c;!function(){var t=function(t){if(r.validateLayersElesOrdering(t,e),r.levelIsComplete(t,e))return s=u[t],!0},i=function(e){if(!s)for(var r=n+e;-4<=r&&r<=2&&!t(r);r+=e);};i(1),i(-1);for(var a=c.length-1;a>=0;a--){var o=c[a];o.invalid&&Oe(c,o)}}();var d=function(t){var i=(t=t||{}).after;if(function(){if(!o){o=pt();for(var t=0;t16e6)return null;var a=r.makeLayer(o,n);if(null!=i){var s=c.indexOf(i)+1;c.splice(s,0,a)}else(void 0===t.insert||t.insert)&&c.unshift(a);return a};if(r.skipping&&!a)return null;for(var h=null,f=e.length/1,p=!a,v=0;v=f||!_t(h.bb,g.boundingBox()))&&!(h=d({insert:!0,after:h})))return null;s||p?r.queueLayer(h,g):r.drawEleInLayer(h,g,n,t),h.eles.push(g),m[n]=h}}return s||(p?null:c)},ss.getEleLevelForLayerLevel=function(e,t){return e},ss.drawEleInLayer=function(e,t,n,r){var i=this.renderer,a=e.context,o=t.boundingBox();0!==o.w&&0!==o.h&&t.visible()&&(n=this.getEleLevelForLayerLevel(n,r),i.setImgSmoothing(a,!1),i.drawCachedElement(a,t,null,null,n,!0),i.setImgSmoothing(a,!0))},ss.levelIsComplete=function(e,t){var n=this.layersByLevel[e];if(!n||0===n.length)return!1;for(var r=0,i=0;i0)return!1;if(a.invalid)return!1;r+=a.eles.length}return r===t.length},ss.validateLayersElesOrdering=function(e,t){var n=this.layersByLevel[e];if(n)for(var r=0;r0){e=!0;break}}return e},ss.invalidateElements=function(e){var t=this;0!==e.length&&(t.lastInvalidationTime=oe(),0!==e.length&&t.haveLayers()&&t.updateElementsInLayers(e,(function(e,n,r){t.invalidateLayer(e)})))},ss.invalidateLayer=function(e){if(this.lastInvalidationTime=oe(),!e.invalid){var t=e.level,n=e.eles,r=this.layersByLevel[t];Oe(r,e),e.elesQueue=[],e.invalid=!0,e.replacement&&(e.replacement.invalid=!0);for(var i=0;i3&&void 0!==arguments[3])||arguments[3],i=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],a=!(arguments.length>5&&void 0!==arguments[5])||arguments[5],o=this,s=t._private.rscratch;if((!a||t.visible())&&!s.badLine&&null!=s.allpts&&!isNaN(s.allpts[0])){var u;n&&(u=n,e.translate(-u.x1,-u.y1));var l=a?t.pstyle("opacity").value:1,c=a?t.pstyle("line-opacity").value:1,d=t.pstyle("curve-style").value,h=t.pstyle("line-style").value,f=t.pstyle("width").pfValue,p=t.pstyle("line-cap").value,v=l*c,g=l*c,y=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:v;"straight-triangle"===d?(o.eleStrokeStyle(e,t,n),o.drawEdgeTrianglePath(t,e,s.allpts)):(e.lineWidth=f,e.lineCap=p,o.eleStrokeStyle(e,t,n),o.drawEdgePath(t,e,s.allpts,h),e.lineCap="butt")},m=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:g;o.drawArrowheads(e,t,n)};if(e.lineJoin="round","yes"===t.pstyle("ghost").value){var b=t.pstyle("ghost-offset-x").pfValue,x=t.pstyle("ghost-offset-y").pfValue,w=t.pstyle("ghost-opacity").value,_=v*w;e.translate(b,x),y(_),m(_),e.translate(-b,-x)}i&&o.drawEdgeUnderlay(e,t),y(),m(),i&&o.drawEdgeOverlay(e,t),o.drawElementText(e,t,null,r),n&&e.translate(u.x1,u.y1)}}},Cs=function(e){if(!["overlay","underlay"].includes(e))throw new Error("Invalid state");return function(t,n){if(n.visible()){var r=n.pstyle("".concat(e,"-opacity")).value;if(0!==r){var i=this,a=i.usePaths(),o=n._private.rscratch,s=2*n.pstyle("".concat(e,"-padding")).pfValue,u=n.pstyle("".concat(e,"-color")).value;t.lineWidth=s,"self"!==o.edgeType||a?t.lineCap="round":t.lineCap="butt",i.colorStrokeStyle(t,u[0],u[1],u[2],r),i.drawEdgePath(n,t,o.allpts,"solid")}}}};ks.drawEdgeOverlay=Cs("overlay"),ks.drawEdgeUnderlay=Cs("underlay"),ks.drawEdgePath=function(e,t,n,r){var i,a=e._private.rscratch,o=t,s=!1,u=this.usePaths(),l=e.pstyle("line-dash-pattern").pfValue,c=e.pstyle("line-dash-offset").pfValue;if(u){var d=n.join("$");a.pathCacheKey&&a.pathCacheKey===d?(i=t=a.pathCache,s=!0):(i=t=new Path2D,a.pathCacheKey=d,a.pathCache=i)}if(o.setLineDash)switch(r){case"dotted":o.setLineDash([1,1]);break;case"dashed":o.setLineDash(l),o.lineDashOffset=c;break;case"solid":o.setLineDash([])}if(!s&&!a.badLine)switch(t.beginPath&&t.beginPath(),t.moveTo(n[0],n[1]),a.edgeType){case"bezier":case"self":case"compound":case"multibezier":for(var h=2;h+35&&void 0!==arguments[5]?arguments[5]:5,o=arguments.length>6?arguments[6]:void 0;e.beginPath(),e.moveTo(t+a,n),e.lineTo(t+r-a,n),e.quadraticCurveTo(t+r,n,t+r,n+a),e.lineTo(t+r,n+i-a),e.quadraticCurveTo(t+r,n+i,t+r-a,n+i),e.lineTo(t+a,n+i),e.quadraticCurveTo(t,n+i,t,n+i-a),e.lineTo(t,n+a),e.quadraticCurveTo(t,n,t+a,n),e.closePath(),o?e.stroke():e.fill()}Ps.eleTextBiggerThanMin=function(e,t){if(!t){var n=e.cy().zoom(),r=this.getPixelRatio(),i=Math.ceil(ot(n*r));t=Math.pow(2,i)}return!(e.pstyle("font-size").pfValue*t5&&void 0!==arguments[5])||arguments[5],o=this;if(null==r){if(a&&!o.eleTextBiggerThanMin(t))return}else if(!1===r)return;if(t.isNode()){var s=t.pstyle("label");if(!s||!s.value)return;var u=o.getLabelJustification(t);e.textAlign=u,e.textBaseline="bottom"}else{var l=t.element()._private.rscratch.badLine,c=t.pstyle("label"),d=t.pstyle("source-label"),h=t.pstyle("target-label");if(l||(!c||!c.value)&&(!d||!d.value)&&(!h||!h.value))return;e.textAlign="center",e.textBaseline="bottom"}var f,p=!n;n&&(f=n,e.translate(-f.x1,-f.y1)),null==i?(o.drawText(e,t,null,p,a),t.isEdge()&&(o.drawText(e,t,"source",p,a),o.drawText(e,t,"target",p,a))):o.drawText(e,t,i,p,a),n&&e.translate(f.x1,f.y1)},Ps.getFontCache=function(e){var t;this.fontCaches=this.fontCaches||[];for(var n=0;n2&&void 0!==arguments[2])||arguments[2],r=t.pstyle("font-style").strValue,i=t.pstyle("font-size").pfValue+"px",a=t.pstyle("font-family").strValue,o=t.pstyle("font-weight").strValue,s=n?t.effectiveOpacity()*t.pstyle("text-opacity").value:1,u=t.pstyle("text-outline-opacity").value*s,l=t.pstyle("color").value,c=t.pstyle("text-outline-color").value;e.font=r+" "+o+" "+i+" "+a,e.lineJoin="round",this.colorFillStyle(e,l[0],l[1],l[2],s),this.colorStrokeStyle(e,c[0],c[1],c[2],u)},Ps.getTextAngle=function(e,t){var n=e._private.rscratch,r=t?t+"-":"",i=e.pstyle(r+"text-rotation"),a=ze(n,"labelAngle",t);return"autorotate"===i.strValue?e.isEdge()?a:0:"none"===i.strValue?0:i.pfValue},Ps.drawText=function(e,t,n){var r=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],i=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],a=t._private.rscratch,o=i?t.effectiveOpacity():1;if(!i||0!==o&&0!==t.pstyle("text-opacity").value){"main"===n&&(n=null);var s,u,l=ze(a,"labelX",n),c=ze(a,"labelY",n),d=this.getLabelText(t,n);if(null!=d&&""!==d&&!isNaN(l)&&!isNaN(c)){this.setupTextStyle(e,t,i);var h,f=n?n+"-":"",p=ze(a,"labelWidth",n),v=ze(a,"labelHeight",n),g=t.pstyle(f+"text-margin-x").pfValue,y=t.pstyle(f+"text-margin-y").pfValue,m=t.isEdge(),b=t.pstyle("text-halign").value,x=t.pstyle("text-valign").value;switch(m&&(b="center",x="center"),l+=g,c+=y,0!==(h=r?this.getTextAngle(t,n):0)&&(s=l,u=c,e.translate(s,u),e.rotate(h),l=0,c=0),x){case"top":break;case"center":c+=v/2;break;case"bottom":c+=v}var w=t.pstyle("text-background-opacity").value,_=t.pstyle("text-border-opacity").value,E=t.pstyle("text-border-width").pfValue,k=t.pstyle("text-background-padding").pfValue,C=0===t.pstyle("text-background-shape").strValue.indexOf("round");if(w>0||E>0&&_>0){var S=l-k;switch(b){case"left":S-=p;break;case"center":S-=p/2}var P=c-v-k,T=p+2*k,D=v+2*k;if(w>0){var M=e.fillStyle,B=t.pstyle("text-background-color").value;e.fillStyle="rgba("+B[0]+","+B[1]+","+B[2]+","+w*o+")",C?Ts(e,S,P,T,D,2):e.fillRect(S,P,T,D),e.fillStyle=M}if(E>0&&_>0){var I=e.strokeStyle,O=e.lineWidth,A=t.pstyle("text-border-color").value,z=t.pstyle("text-border-style").value;if(e.strokeStyle="rgba("+A[0]+","+A[1]+","+A[2]+","+_*o+")",e.lineWidth=E,e.setLineDash)switch(z){case"dotted":e.setLineDash([1,1]);break;case"dashed":e.setLineDash([4,2]);break;case"double":e.lineWidth=E/4,e.setLineDash([]);break;case"solid":e.setLineDash([])}if(C?Ts(e,S,P,T,D,2,"stroke"):e.strokeRect(S,P,T,D),"double"===z){var N=E/2;C?Ts(e,S+N,P+N,T-2*N,D-2*N,2,"stroke"):e.strokeRect(S+N,P+N,T-2*N,D-2*N)}e.setLineDash&&e.setLineDash([]),e.lineWidth=O,e.strokeStyle=I}}var L=2*t.pstyle("text-outline-width").pfValue;if(L>0&&(e.lineWidth=L),"wrap"===t.pstyle("text-wrap").value){var R=ze(a,"labelWrapCachedLines",n),j=ze(a,"labelLineHeight",n),V=p/2,F=this.getLabelJustification(t);switch("auto"===F||("left"===b?"left"===F?l+=-p:"center"===F&&(l+=-V):"center"===b?"left"===F?l+=-V:"right"===F&&(l+=V):"right"===b&&("center"===F?l+=V:"right"===F&&(l+=p))),x){case"top":case"center":case"bottom":c-=(R.length-1)*j}for(var q=0;q0&&e.strokeText(R[q],l,c),e.fillText(R[q],l,c),c+=j}else L>0&&e.strokeText(d,l,c),e.fillText(d,l,c);0!==h&&(e.rotate(-h),e.translate(-s,-u))}}};var Ds={drawNode:function(e,t,n){var r,i,a=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],o=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],s=!(arguments.length>5&&void 0!==arguments[5])||arguments[5],u=this,l=t._private,c=l.rscratch,d=t.position();if(I(d.x)&&I(d.y)&&(!s||t.visible())){var h,f,p=s?t.effectiveOpacity():1,v=u.usePaths(),g=!1,y=t.padding();r=t.width()+2*y,i=t.height()+2*y,n&&(f=n,e.translate(-f.x1,-f.y1));for(var m=t.pstyle("background-image").value,b=new Array(m.length),x=new Array(m.length),w=0,_=0;_0&&void 0!==arguments[0]?arguments[0]:P;u.eleFillStyle(e,t,n)},R=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:M;u.colorStrokeStyle(e,T[0],T[1],T[2],t)},j=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:z;u.colorStrokeStyle(e,O[0],O[1],O[2],t)},V=function(e,t,n,r){var i,a=u.nodePathCache=u.nodePathCache||[],o=ve("polygon"===n?n+","+r.join(","):n,""+t,""+e),s=a[o],l=!1;return null!=s?(i=s,l=!0,c.pathCache=i):(i=new Path2D,a[o]=c.pathCache=i),{path:i,cacheHit:l}},F=t.pstyle("shape").strValue,q=t.pstyle("shape-polygon-points").pfValue;if(v){e.translate(d.x,d.y);var W=V(r,i,F,q);h=W.path,g=W.cacheHit}var Y=function(){if(!g){var n=d;v&&(n={x:0,y:0}),u.nodeShapes[u.getNodeShape(t)].draw(h||e,n.x,n.y,r,i)}v?e.fill(h):e.fill()},X=function(){for(var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:p,r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=l.backgrounding,a=0,o=0;o0&&void 0!==arguments[0]&&arguments[0],a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:p;u.hasPie(t)&&(u.drawPie(e,t,a),n&&(v||u.nodeShapes[u.getNodeShape(t)].draw(e,d.x,d.y,r,i)))},U=function(){var t=(C>0?C:-C)*(arguments.length>0&&void 0!==arguments[0]?arguments[0]:p),n=C>0?0:255;0!==C&&(u.colorFillStyle(e,n,n,n,t),v?e.fill(h):e.fill())},Z=function(){if(S>0){if(e.lineWidth=S,e.lineCap="butt",e.setLineDash)switch(D){case"dotted":e.setLineDash([1,1]);break;case"dashed":e.setLineDash([4,2]);break;case"solid":case"double":e.setLineDash([])}if(v?e.stroke(h):e.stroke(),"double"===D){e.lineWidth=S/3;var t=e.globalCompositeOperation;e.globalCompositeOperation="destination-out",v?e.stroke(h):e.stroke(),e.globalCompositeOperation=t}e.setLineDash&&e.setLineDash([])}},K=function(){if(B>0){if(e.lineWidth=B,e.lineCap="butt",e.setLineDash)switch(A){case"dotted":e.setLineDash([1,1]);break;case"dashed":e.setLineDash([4,2]);break;case"solid":case"double":e.setLineDash([])}var n=d;v&&(n={x:0,y:0});var a,o=u.getNodeShape(t),s=(r+S+(B+N))/r,l=(i+S+(B+N))/i,c=r*s,h=i*l,f=u.nodeShapes[o].points;if(v&&(a=V(c,h,o,f).path),"ellipse"===o)u.drawEllipsePath(a||e,n.x,n.y,c,h);else if(["round-diamond","round-heptagon","round-hexagon","round-octagon","round-pentagon","round-polygon","round-triangle","round-tag"].includes(o)){var p=0,g=0,y=0;"round-diamond"===o?p=1.4*(S+N+B):"round-heptagon"===o?(p=1.075*(S+N+B),y=-(S/2+N+B)/35):"round-hexagon"===o?p=1.12*(S+N+B):"round-pentagon"===o?(p=1.13*(S+N+B),y=-(S/2+N+B)/15):"round-tag"===o?(p=1.12*(S+N+B),g=.07*(S/2+B+N)):"round-triangle"===o&&(p=(S+N+B)*(Math.PI/2),y=-(S+N/2+B)/Math.PI),0!==p&&(s=(r+p)/r,l=(i+p)/i),u.drawRoundPolygonPath(a||e,n.x+g,n.y+y,r*s,i*l,f)}else["roundrectangle","round-rectangle"].includes(o)?u.drawRoundRectanglePath(a||e,n.x,n.y,c,h):["cutrectangle","cut-rectangle"].includes(o)?u.drawCutRectanglePath(a||e,n.x,n.y,c,h):["bottomroundrectangle","bottom-round-rectangle"].includes(o)?u.drawBottomRoundRectanglePath(a||e,n.x,n.y,c,h):"barrel"===o?u.drawBarrelPath(a||e,n.x,n.y,c,h):o.startsWith("polygon")||["rhomboid","right-rhomboid","round-tag","tag","vee"].includes(o)?(f=Mt(Bt(f,(S+B+N)/r)),u.drawPolygonPath(a||e,n.x,n.y,r,i,f)):(f=Mt(Bt(f,-(S+B+N)/r)),u.drawPolygonPath(a||e,n.x,n.y,r,i,f));if(v?e.stroke(a):e.stroke(),"double"===A){e.lineWidth=S/3;var m=e.globalCompositeOperation;e.globalCompositeOperation="destination-out",v?e.stroke(a):e.stroke(),e.globalCompositeOperation=m}e.setLineDash&&e.setLineDash([])}};if("yes"===t.pstyle("ghost").value){var G=t.pstyle("ghost-offset-x").pfValue,$=t.pstyle("ghost-offset-y").pfValue,Q=t.pstyle("ghost-opacity").value,J=Q*p;e.translate(G,$),j(),K(),L(Q*P),Y(),X(J,!0),R(Q*M),Z(),H(0!==C||0!==S),X(J,!1),U(J),e.translate(-G,-$)}v&&e.translate(-d.x,-d.y),o&&u.drawNodeUnderlay(e,t,d,r,i),v&&e.translate(d.x,d.y),j(),K(),L(),Y(),X(p,!0),R(),Z(),H(0!==C||0!==S),X(p,!1),U(),v&&e.translate(-d.x,-d.y),u.drawElementText(e,t,null,a),o&&u.drawNodeOverlay(e,t,d,r,i),n&&e.translate(f.x1,f.y1)}}},Ms=function(e){if(!["overlay","underlay"].includes(e))throw new Error("Invalid state");return function(t,n,r,i,a){if(n.visible()){var o=n.pstyle("".concat(e,"-padding")).pfValue,s=n.pstyle("".concat(e,"-opacity")).value,u=n.pstyle("".concat(e,"-color")).value,l=n.pstyle("".concat(e,"-shape")).value;if(s>0){if(r=r||n.position(),null==i||null==a){var c=n.padding();i=n.width()+2*c,a=n.height()+2*c}this.colorFillStyle(t,u[0],u[1],u[2],s),this.nodeShapes[l].draw(t,r.x,r.y,i+2*o,a+2*o),t.fill()}}}};Ds.drawNodeOverlay=Ms("overlay"),Ds.drawNodeUnderlay=Ms("underlay"),Ds.hasPie=function(e){return(e=e[0])._private.hasPie},Ds.drawPie=function(e,t,n,r){t=t[0],r=r||t.position();var i=t.cy().style(),a=t.pstyle("pie-size"),o=r.x,s=r.y,u=t.width(),l=t.height(),c=Math.min(u,l)/2,d=0;this.usePaths()&&(o=0,s=0),"%"===a.units?c*=a.pfValue:void 0!==a.pfValue&&(c=a.pfValue/2);for(var h=1;h<=i.pieBackgroundN;h++){var f=t.pstyle("pie-"+h+"-background-size").value,p=t.pstyle("pie-"+h+"-background-color").value,v=t.pstyle("pie-"+h+"-background-opacity").value*n,g=f/100;g+d>1&&(g=1-d);var y=1.5*Math.PI+2*Math.PI*d,m=y+2*Math.PI*g;0===f||d>=1||d+g>1||(e.beginPath(),e.moveTo(o,s),e.arc(o,s,c,y,m),e.closePath(),this.colorFillStyle(e,p[0],p[1],p[2],v),e.fill(),d+=g)}};for(var Bs={getPixelRatio:function(){var e=this.data.contexts[0];if(null!=this.forcedPixelRatio)return this.forcedPixelRatio;var t=e.backingStorePixelRatio||e.webkitBackingStorePixelRatio||e.mozBackingStorePixelRatio||e.msBackingStorePixelRatio||e.oBackingStorePixelRatio||e.backingStorePixelRatio||1;return(window.devicePixelRatio||1)/t},paintCache:function(e){for(var t,n=this.paintCaches=this.paintCaches||[],r=!0,i=0;io.minMbLowQualFrames&&(o.motionBlurPxRatio=o.mbPxRBlurry)),o.clearingMotionBlur&&(o.motionBlurPxRatio=1),o.textureDrawLastFrame&&!d&&(c[o.NODE]=!0,c[o.SELECT_BOX]=!0);var m=u.style(),b=u.zoom(),x=void 0!==i?i:b,w=u.pan(),_={x:w.x,y:w.y},E={zoom:b,pan:{x:w.x,y:w.y}},k=o.prevViewport;void 0===k||E.zoom!==k.zoom||E.pan.x!==k.pan.x||E.pan.y!==k.pan.y||v&&!p||(o.motionBlurPxRatio=1),a&&(_=a),x*=s,_.x*=s,_.y*=s;var C=o.getCachedZSortedEles();function S(e,t,n,r,i){var a=e.globalCompositeOperation;e.globalCompositeOperation="destination-out",o.colorFillStyle(e,255,255,255,o.motionBlurTransparency),e.fillRect(t,n,r,i),e.globalCompositeOperation=a}function P(e,r){var s,u,c,d;o.clearingMotionBlur||e!==l.bufferContexts[o.MOTIONBLUR_BUFFER_NODE]&&e!==l.bufferContexts[o.MOTIONBLUR_BUFFER_DRAG]?(s=_,u=x,c=o.canvasWidth,d=o.canvasHeight):(s={x:w.x*f,y:w.y*f},u=b*f,c=o.canvasWidth*f,d=o.canvasHeight*f),e.setTransform(1,0,0,1,0,0),"motionBlur"===r?S(e,0,0,c,d):t||void 0!==r&&!r||e.clearRect(0,0,c,d),n||(e.translate(s.x,s.y),e.scale(u,u)),a&&e.translate(a.x,a.y),i&&e.scale(i,i)}if(d||(o.textureDrawLastFrame=!1),d){if(o.textureDrawLastFrame=!0,!o.textureCache){o.textureCache={},o.textureCache.bb=u.mutableElements().boundingBox(),o.textureCache.texture=o.data.bufferCanvases[o.TEXTURE_BUFFER];var T=o.data.bufferContexts[o.TEXTURE_BUFFER];T.setTransform(1,0,0,1,0,0),T.clearRect(0,0,o.canvasWidth*o.textureMult,o.canvasHeight*o.textureMult),o.render({forcedContext:T,drawOnlyNodeLayer:!0,forcedPxRatio:s*o.textureMult}),(E=o.textureCache.viewport={zoom:u.zoom(),pan:u.pan(),width:o.canvasWidth,height:o.canvasHeight}).mpan={x:(0-E.pan.x)/E.zoom,y:(0-E.pan.y)/E.zoom}}c[o.DRAG]=!1,c[o.NODE]=!1;var D=l.contexts[o.NODE],M=o.textureCache.texture;E=o.textureCache.viewport,D.setTransform(1,0,0,1,0,0),h?S(D,0,0,E.width,E.height):D.clearRect(0,0,E.width,E.height);var B=m.core("outside-texture-bg-color").value,I=m.core("outside-texture-bg-opacity").value;o.colorFillStyle(D,B[0],B[1],B[2],I),D.fillRect(0,0,E.width,E.height),b=u.zoom(),P(D,!1),D.clearRect(E.mpan.x,E.mpan.y,E.width/E.zoom/s,E.height/E.zoom/s),D.drawImage(M,E.mpan.x,E.mpan.y,E.width/E.zoom/s,E.height/E.zoom/s)}else o.textureOnViewport&&!t&&(o.textureCache=null);var O=u.extent(),A=o.pinching||o.hoverData.dragging||o.swipePanning||o.data.wheelZooming||o.hoverData.draggingEles||o.cy.animated(),z=o.hideEdgesOnViewport&&A,N=[];if(N[o.NODE]=!c[o.NODE]&&h&&!o.clearedForMotionBlur[o.NODE]||o.clearingMotionBlur,N[o.NODE]&&(o.clearedForMotionBlur[o.NODE]=!0),N[o.DRAG]=!c[o.DRAG]&&h&&!o.clearedForMotionBlur[o.DRAG]||o.clearingMotionBlur,N[o.DRAG]&&(o.clearedForMotionBlur[o.DRAG]=!0),c[o.NODE]||n||r||N[o.NODE]){var L=h&&!N[o.NODE]&&1!==f;P(D=t||(L?o.data.bufferContexts[o.MOTIONBLUR_BUFFER_NODE]:l.contexts[o.NODE]),h&&!L?"motionBlur":void 0),z?o.drawCachedNodes(D,C.nondrag,s,O):o.drawLayeredElements(D,C.nondrag,s,O),o.debug&&o.drawDebugPoints(D,C.nondrag),n||h||(c[o.NODE]=!1)}if(!r&&(c[o.DRAG]||n||N[o.DRAG])&&(L=h&&!N[o.DRAG]&&1!==f,P(D=t||(L?o.data.bufferContexts[o.MOTIONBLUR_BUFFER_DRAG]:l.contexts[o.DRAG]),h&&!L?"motionBlur":void 0),z?o.drawCachedNodes(D,C.drag,s,O):o.drawCachedElements(D,C.drag,s,O),o.debug&&o.drawDebugPoints(D,C.drag),n||h||(c[o.DRAG]=!1)),o.showFps||!r&&c[o.SELECT_BOX]&&!n){if(P(D=t||l.contexts[o.SELECT_BOX]),1==o.selection[4]&&(o.hoverData.selecting||o.touchData.selecting)){b=o.cy.zoom();var R=m.core("selection-box-border-width").value/b;D.lineWidth=R,D.fillStyle="rgba("+m.core("selection-box-color").value[0]+","+m.core("selection-box-color").value[1]+","+m.core("selection-box-color").value[2]+","+m.core("selection-box-opacity").value+")",D.fillRect(o.selection[0],o.selection[1],o.selection[2]-o.selection[0],o.selection[3]-o.selection[1]),R>0&&(D.strokeStyle="rgba("+m.core("selection-box-border-color").value[0]+","+m.core("selection-box-border-color").value[1]+","+m.core("selection-box-border-color").value[2]+","+m.core("selection-box-opacity").value+")",D.strokeRect(o.selection[0],o.selection[1],o.selection[2]-o.selection[0],o.selection[3]-o.selection[1]))}if(l.bgActivePosistion&&!o.hoverData.selecting){b=o.cy.zoom();var j=l.bgActivePosistion;D.fillStyle="rgba("+m.core("active-bg-color").value[0]+","+m.core("active-bg-color").value[1]+","+m.core("active-bg-color").value[2]+","+m.core("active-bg-opacity").value+")",D.beginPath(),D.arc(j.x,j.y,m.core("active-bg-size").pfValue/b,0,2*Math.PI),D.fill()}var V=o.lastRedrawTime;if(o.showFps&&V){V=Math.round(V);var F=Math.round(1e3/V);D.setTransform(1,0,0,1,0,0),D.fillStyle="rgba(255, 0, 0, 0.75)",D.strokeStyle="rgba(255, 0, 0, 0.75)",D.lineWidth=1,D.fillText("1 frame = "+V+" ms = "+F+" fps",0,20),D.strokeRect(0,30,250,20),D.fillRect(0,30,250*Math.min(F/60,1),20)}n||(c[o.SELECT_BOX]=!1)}if(h&&1!==f){var q=l.contexts[o.NODE],W=o.data.bufferCanvases[o.MOTIONBLUR_BUFFER_NODE],Y=l.contexts[o.DRAG],X=o.data.bufferCanvases[o.MOTIONBLUR_BUFFER_DRAG],H=function(e,t,n){e.setTransform(1,0,0,1,0,0),n||!y?e.clearRect(0,0,o.canvasWidth,o.canvasHeight):S(e,0,0,o.canvasWidth,o.canvasHeight);var r=f;e.drawImage(t,0,0,o.canvasWidth*r,o.canvasHeight*r,0,0,o.canvasWidth,o.canvasHeight)};(c[o.NODE]||N[o.NODE])&&(H(q,W,N[o.NODE]),c[o.NODE]=!1),(c[o.DRAG]||N[o.DRAG])&&(H(Y,X,N[o.DRAG]),c[o.DRAG]=!1)}o.prevViewport=E,o.clearingMotionBlur&&(o.clearingMotionBlur=!1,o.motionBlurCleared=!0,o.motionBlur=!0),h&&(o.motionBlurTimeout=setTimeout((function(){o.motionBlurTimeout=null,o.clearedForMotionBlur[o.NODE]=!1,o.clearedForMotionBlur[o.DRAG]=!1,o.motionBlur=!1,o.clearingMotionBlur=!d,o.mbFrames=0,c[o.NODE]=!0,c[o.DRAG]=!0,o.redraw()}),100)),t||u.emit("render")}},Is={drawPolygonPath:function(e,t,n,r,i,a){var o=r/2,s=i/2;e.beginPath&&e.beginPath(),e.moveTo(t+o*a[0],n+s*a[1]);for(var u=1;u0&&a>0){h.clearRect(0,0,i,a),h.globalCompositeOperation="source-over";var f=this.getCachedZSortedEles();if(e.full)h.translate(-n.x1*u,-n.y1*u),h.scale(u,u),this.drawElements(h,f),h.scale(1/u,1/u),h.translate(n.x1*u,n.y1*u);else{var p=t.pan(),v={x:p.x*u,y:p.y*u};u*=t.zoom(),h.translate(v.x,v.y),h.scale(u,u),this.drawElements(h,f),h.scale(1/u,1/u),h.translate(-v.x,-v.y)}e.bg&&(h.globalCompositeOperation="destination-over",h.fillStyle=e.bg,h.rect(0,0,i,a),h.fill())}return d},js.png=function(e){return Fs(e,this.bufferCanvasImage(e),"image/png")},js.jpg=function(e){return Fs(e,this.bufferCanvasImage(e),"image/jpeg")};var qs=Ys,Ws=Ys.prototype;function Ys(e){var t=this;t.data={canvases:new Array(Ws.CANVAS_LAYERS),contexts:new Array(Ws.CANVAS_LAYERS),canvasNeedsRedraw:new Array(Ws.CANVAS_LAYERS),bufferCanvases:new Array(Ws.BUFFER_COUNT),bufferContexts:new Array(Ws.CANVAS_LAYERS)};var n="-webkit-tap-highlight-color",r="rgba(0,0,0,0)";t.data.canvasContainer=document.createElement("div");var i=t.data.canvasContainer.style;t.data.canvasContainer.style[n]=r,i.position="relative",i.zIndex="0",i.overflow="hidden";var a=e.cy.container();a.appendChild(t.data.canvasContainer),a.style[n]=r;var o={"-webkit-user-select":"none","-moz-user-select":"-moz-none","user-select":"none","-webkit-tap-highlight-color":"rgba(0,0,0,0)","outline-style":"none"};_&&_.userAgent.match(/msie|trident|edge/i)&&(o["-ms-touch-action"]="none",o["touch-action"]="none");for(var s=0;s{e.exports=n(2894)},2894:function(e,t){var n,r,i;(function(){var a,o,s,u,l,c,d,h,f,p,v,g,y,m,b;s=Math.floor,p=Math.min,o=function(e,t){return et?1:0},f=function(e,t,n,r,i){var a;if(null==n&&(n=0),null==i&&(i=o),n<0)throw new Error("lo must be non-negative");for(null==r&&(r=e.length);nn;0<=n?t++:t--)l.push(t);return l}.apply(this).reverse()).length;rv;0<=v?++c:--c)g.push(l(e,n));return g},m=function(e,t,n,r){var i,a,s;for(null==r&&(r=o),i=e[n];n>t&&r(i,a=e[s=n-1>>1])<0;)e[n]=a,n=s;return e[n]=i},b=function(e,t,n){var r,i,a,s,u;for(null==n&&(n=o),i=e.length,u=t,a=e[t],r=2*t+1;r{var r=n(1789),i=n(401),a=n(7667),o=n(1327),s=n(1866);function u(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t{var r=n(7040),i=n(4125),a=n(2117),o=n(7518),s=n(4705);function u(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t{var r=n(852)(n(5639),"Map");e.exports=r},3369:(e,t,n)=>{var r=n(4785),i=n(1285),a=n(6e3),o=n(9916),s=n(5265);function u(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t{var r=n(5639).Symbol;e.exports=r},9932:e=>{e.exports=function(e,t){for(var n=-1,r=null==e?0:e.length,i=Array(r);++n{var r=n(9465),i=n(7813),a=Object.prototype.hasOwnProperty;e.exports=function(e,t,n){var o=e[t];a.call(e,t)&&i(o,n)&&(void 0!==n||t in e)||r(e,t,n)}},8470:(e,t,n)=>{var r=n(7813);e.exports=function(e,t){for(var n=e.length;n--;)if(r(e[n][0],t))return n;return-1}},9465:(e,t,n)=>{var r=n(8777);e.exports=function(e,t,n){"__proto__"==t&&r?r(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n}},7786:(e,t,n)=>{var r=n(1811),i=n(327);e.exports=function(e,t){for(var n=0,a=(t=r(t,e)).length;null!=e&&n{var r=n(2705),i=n(9607),a=n(2333),o=r?r.toStringTag:void 0;e.exports=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":o&&o in Object(e)?i(e):a(e)}},8458:(e,t,n)=>{var r=n(3560),i=n(5346),a=n(3218),o=n(346),s=/^\[object .+?Constructor\]$/,u=Function.prototype,l=Object.prototype,c=u.toString,d=l.hasOwnProperty,h=RegExp("^"+c.call(d).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");e.exports=function(e){return!(!a(e)||i(e))&&(r(e)?h:s).test(o(e))}},611:(e,t,n)=>{var r=n(4865),i=n(1811),a=n(5776),o=n(3218),s=n(327);e.exports=function(e,t,n,u){if(!o(e))return e;for(var l=-1,c=(t=i(t,e)).length,d=c-1,h=e;null!=h&&++l{var r=n(2705),i=n(9932),a=n(1469),o=n(3448),s=r?r.prototype:void 0,u=s?s.toString:void 0;e.exports=function e(t){if("string"==typeof t)return t;if(a(t))return i(t,e)+"";if(o(t))return u?u.call(t):"";var n=t+"";return"0"==n&&1/t==-1/0?"-0":n}},7561:(e,t,n)=>{var r=n(7990),i=/^\s+/;e.exports=function(e){return e?e.slice(0,r(e)+1).replace(i,""):e}},1811:(e,t,n)=>{var r=n(1469),i=n(5403),a=n(5514),o=n(9833);e.exports=function(e,t){return r(e)?e:i(e,t)?[e]:a(o(e))}},278:e=>{e.exports=function(e,t){var n=-1,r=e.length;for(t||(t=Array(r));++n{var r=n(5639)["__core-js_shared__"];e.exports=r},8777:(e,t,n)=>{var r=n(852),i=function(){try{var e=r(Object,"defineProperty");return e({},"",{}),e}catch(e){}}();e.exports=i},1957:(e,t,n)=>{var r="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g;e.exports=r},5050:(e,t,n)=>{var r=n(7019);e.exports=function(e,t){var n=e.__data__;return r(t)?n["string"==typeof t?"string":"hash"]:n.map}},852:(e,t,n)=>{var r=n(8458),i=n(7801);e.exports=function(e,t){var n=i(e,t);return r(n)?n:void 0}},9607:(e,t,n)=>{var r=n(2705),i=Object.prototype,a=i.hasOwnProperty,o=i.toString,s=r?r.toStringTag:void 0;e.exports=function(e){var t=a.call(e,s),n=e[s];try{e[s]=void 0;var r=!0}catch(e){}var i=o.call(e);return r&&(t?e[s]=n:delete e[s]),i}},7801:e=>{e.exports=function(e,t){return null==e?void 0:e[t]}},1789:(e,t,n)=>{var r=n(4536);e.exports=function(){this.__data__=r?r(null):{},this.size=0}},401:e=>{e.exports=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}},7667:(e,t,n)=>{var r=n(4536),i=Object.prototype.hasOwnProperty;e.exports=function(e){var t=this.__data__;if(r){var n=t[e];return"__lodash_hash_undefined__"===n?void 0:n}return i.call(t,e)?t[e]:void 0}},1327:(e,t,n)=>{var r=n(4536),i=Object.prototype.hasOwnProperty;e.exports=function(e){var t=this.__data__;return r?void 0!==t[e]:i.call(t,e)}},1866:(e,t,n)=>{var r=n(4536);e.exports=function(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=r&&void 0===t?"__lodash_hash_undefined__":t,this}},5776:e=>{var t=/^(?:0|[1-9]\d*)$/;e.exports=function(e,n){var r=typeof e;return!!(n=null==n?9007199254740991:n)&&("number"==r||"symbol"!=r&&t.test(e))&&e>-1&&e%1==0&&e{var r=n(1469),i=n(3448),a=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,o=/^\w*$/;e.exports=function(e,t){if(r(e))return!1;var n=typeof e;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=e&&!i(e))||o.test(e)||!a.test(e)||null!=t&&e in Object(t)}},7019:e=>{e.exports=function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}},5346:(e,t,n)=>{var r,i=n(4429),a=(r=/[^.]+$/.exec(i&&i.keys&&i.keys.IE_PROTO||""))?"Symbol(src)_1."+r:"";e.exports=function(e){return!!a&&a in e}},7040:e=>{e.exports=function(){this.__data__=[],this.size=0}},4125:(e,t,n)=>{var r=n(8470),i=Array.prototype.splice;e.exports=function(e){var t=this.__data__,n=r(t,e);return!(n<0||(n==t.length-1?t.pop():i.call(t,n,1),--this.size,0))}},2117:(e,t,n)=>{var r=n(8470);e.exports=function(e){var t=this.__data__,n=r(t,e);return n<0?void 0:t[n][1]}},7518:(e,t,n)=>{var r=n(8470);e.exports=function(e){return r(this.__data__,e)>-1}},4705:(e,t,n)=>{var r=n(8470);e.exports=function(e,t){var n=this.__data__,i=r(n,e);return i<0?(++this.size,n.push([e,t])):n[i][1]=t,this}},4785:(e,t,n)=>{var r=n(1989),i=n(8407),a=n(7071);e.exports=function(){this.size=0,this.__data__={hash:new r,map:new(a||i),string:new r}}},1285:(e,t,n)=>{var r=n(5050);e.exports=function(e){var t=r(this,e).delete(e);return this.size-=t?1:0,t}},6e3:(e,t,n)=>{var r=n(5050);e.exports=function(e){return r(this,e).get(e)}},9916:(e,t,n)=>{var r=n(5050);e.exports=function(e){return r(this,e).has(e)}},5265:(e,t,n)=>{var r=n(5050);e.exports=function(e,t){var n=r(this,e),i=n.size;return n.set(e,t),this.size+=n.size==i?0:1,this}},4523:(e,t,n)=>{var r=n(8306);e.exports=function(e){var t=r(e,(function(e){return 500===n.size&&n.clear(),e})),n=t.cache;return t}},4536:(e,t,n)=>{var r=n(852)(Object,"create");e.exports=r},2333:e=>{var t=Object.prototype.toString;e.exports=function(e){return t.call(e)}},5639:(e,t,n)=>{var r=n(1957),i="object"==typeof self&&self&&self.Object===Object&&self,a=r||i||Function("return this")();e.exports=a},5514:(e,t,n)=>{var r=n(4523),i=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,a=/\\(\\)?/g,o=r((function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(i,(function(e,n,r,i){t.push(r?i.replace(a,"$1"):n||e)})),t}));e.exports=o},327:(e,t,n)=>{var r=n(3448);e.exports=function(e){if("string"==typeof e||r(e))return e;var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}},346:e=>{var t=Function.prototype.toString;e.exports=function(e){if(null!=e){try{return t.call(e)}catch(e){}try{return e+""}catch(e){}}return""}},7990:e=>{var t=/\s/;e.exports=function(e){for(var n=e.length;n--&&t.test(e.charAt(n)););return n}},3279:(e,t,n)=>{var r=n(3218),i=n(7771),a=n(4841),o=Math.max,s=Math.min;e.exports=function(e,t,n){var u,l,c,d,h,f,p=0,v=!1,g=!1,y=!0;if("function"!=typeof e)throw new TypeError("Expected a function");function m(t){var n=u,r=l;return u=l=void 0,p=t,d=e.apply(r,n)}function b(e){var n=e-f;return void 0===f||n>=t||n<0||g&&e-p>=c}function x(){var e=i();if(b(e))return w(e);h=setTimeout(x,function(e){var n=t-(e-f);return g?s(n,c-(e-p)):n}(e))}function w(e){return h=void 0,y&&u?m(e):(u=l=void 0,d)}function _(){var e=i(),n=b(e);if(u=arguments,l=this,f=e,n){if(void 0===h)return function(e){return p=e,h=setTimeout(x,t),v?m(e):d}(f);if(g)return clearTimeout(h),h=setTimeout(x,t),m(f)}return void 0===h&&(h=setTimeout(x,t)),d}return t=a(t)||0,r(n)&&(v=!!n.leading,c=(g="maxWait"in n)?o(a(n.maxWait)||0,t):c,y="trailing"in n?!!n.trailing:y),_.cancel=function(){void 0!==h&&clearTimeout(h),p=0,u=f=l=h=void 0},_.flush=function(){return void 0===h?d:w(i())},_}},7813:e=>{e.exports=function(e,t){return e===t||e!=e&&t!=t}},7361:(e,t,n)=>{var r=n(7786);e.exports=function(e,t,n){var i=null==e?void 0:r(e,t);return void 0===i?n:i}},1469:e=>{var t=Array.isArray;e.exports=t},3560:(e,t,n)=>{var r=n(4239),i=n(3218);e.exports=function(e){if(!i(e))return!1;var t=r(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t}},3218:e=>{e.exports=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}},7005:e=>{e.exports=function(e){return null!=e&&"object"==typeof e}},3448:(e,t,n)=>{var r=n(4239),i=n(7005);e.exports=function(e){return"symbol"==typeof e||i(e)&&"[object Symbol]"==r(e)}},6486:function(e,t,n){var r;e=n.nmd(e),function(){var i,a="Expected a function",o="__lodash_hash_undefined__",s="__lodash_placeholder__",u=32,l=128,c=1/0,d=9007199254740991,h=NaN,f=4294967295,p=[["ary",l],["bind",1],["bindKey",2],["curry",8],["curryRight",16],["flip",512],["partial",u],["partialRight",64],["rearg",256]],v="[object Arguments]",g="[object Array]",y="[object Boolean]",m="[object Date]",b="[object Error]",x="[object Function]",w="[object GeneratorFunction]",_="[object Map]",E="[object Number]",k="[object Object]",C="[object Promise]",S="[object RegExp]",P="[object Set]",T="[object String]",D="[object Symbol]",M="[object WeakMap]",B="[object ArrayBuffer]",I="[object DataView]",O="[object Float32Array]",A="[object Float64Array]",z="[object Int8Array]",N="[object Int16Array]",L="[object Int32Array]",R="[object Uint8Array]",j="[object Uint8ClampedArray]",V="[object Uint16Array]",F="[object Uint32Array]",q=/\b__p \+= '';/g,W=/\b(__p \+=) '' \+/g,Y=/(__e\(.*?\)|\b__t\)) \+\n'';/g,X=/&(?:amp|lt|gt|quot|#39);/g,H=/[&<>"']/g,U=RegExp(X.source),Z=RegExp(H.source),K=/<%-([\s\S]+?)%>/g,G=/<%([\s\S]+?)%>/g,$=/<%=([\s\S]+?)%>/g,Q=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,J=/^\w*$/,ee=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,te=/[\\^$.*+?()[\]{}|]/g,ne=RegExp(te.source),re=/^\s+/,ie=/\s/,ae=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,oe=/\{\n\/\* \[wrapped with (.+)\] \*/,se=/,? & /,ue=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,le=/[()=,{}\[\]\/\s]/,ce=/\\(\\)?/g,de=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,he=/\w*$/,fe=/^[-+]0x[0-9a-f]+$/i,pe=/^0b[01]+$/i,ve=/^\[object .+?Constructor\]$/,ge=/^0o[0-7]+$/i,ye=/^(?:0|[1-9]\d*)$/,me=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,be=/($^)/,xe=/['\n\r\u2028\u2029\\]/g,we="\\ud800-\\udfff",_e="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",Ee="\\u2700-\\u27bf",ke="a-z\\xdf-\\xf6\\xf8-\\xff",Ce="A-Z\\xc0-\\xd6\\xd8-\\xde",Se="\\ufe0e\\ufe0f",Pe="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Te="["+we+"]",De="["+Pe+"]",Me="["+_e+"]",Be="\\d+",Ie="["+Ee+"]",Oe="["+ke+"]",Ae="[^"+we+Pe+Be+Ee+ke+Ce+"]",ze="\\ud83c[\\udffb-\\udfff]",Ne="[^"+we+"]",Le="(?:\\ud83c[\\udde6-\\uddff]){2}",Re="[\\ud800-\\udbff][\\udc00-\\udfff]",je="["+Ce+"]",Ve="\\u200d",Fe="(?:"+Oe+"|"+Ae+")",qe="(?:"+je+"|"+Ae+")",We="(?:['’](?:d|ll|m|re|s|t|ve))?",Ye="(?:['’](?:D|LL|M|RE|S|T|VE))?",Xe="(?:"+Me+"|"+ze+")?",He="["+Se+"]?",Ue=He+Xe+"(?:"+Ve+"(?:"+[Ne,Le,Re].join("|")+")"+He+Xe+")*",Ze="(?:"+[Ie,Le,Re].join("|")+")"+Ue,Ke="(?:"+[Ne+Me+"?",Me,Le,Re,Te].join("|")+")",Ge=RegExp("['’]","g"),$e=RegExp(Me,"g"),Qe=RegExp(ze+"(?="+ze+")|"+Ke+Ue,"g"),Je=RegExp([je+"?"+Oe+"+"+We+"(?="+[De,je,"$"].join("|")+")",qe+"+"+Ye+"(?="+[De,je+Fe,"$"].join("|")+")",je+"?"+Fe+"+"+We,je+"+"+Ye,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Be,Ze].join("|"),"g"),et=RegExp("["+Ve+we+_e+Se+"]"),tt=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,nt=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],rt=-1,it={};it[O]=it[A]=it[z]=it[N]=it[L]=it[R]=it[j]=it[V]=it[F]=!0,it[v]=it[g]=it[B]=it[y]=it[I]=it[m]=it[b]=it[x]=it[_]=it[E]=it[k]=it[S]=it[P]=it[T]=it[M]=!1;var at={};at[v]=at[g]=at[B]=at[I]=at[y]=at[m]=at[O]=at[A]=at[z]=at[N]=at[L]=at[_]=at[E]=at[k]=at[S]=at[P]=at[T]=at[D]=at[R]=at[j]=at[V]=at[F]=!0,at[b]=at[x]=at[M]=!1;var ot={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},st=parseFloat,ut=parseInt,lt="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g,ct="object"==typeof self&&self&&self.Object===Object&&self,dt=lt||ct||Function("return this")(),ht=t&&!t.nodeType&&t,ft=ht&&e&&!e.nodeType&&e,pt=ft&&ft.exports===ht,vt=pt&<.process,gt=function(){try{return ft&&ft.require&&ft.require("util").types||vt&&vt.binding&&vt.binding("util")}catch(e){}}(),yt=gt&>.isArrayBuffer,mt=gt&>.isDate,bt=gt&>.isMap,xt=gt&>.isRegExp,wt=gt&>.isSet,_t=gt&>.isTypedArray;function Et(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}function kt(e,t,n,r){for(var i=-1,a=null==e?0:e.length;++i-1}function Mt(e,t,n){for(var r=-1,i=null==e?0:e.length;++r-1;);return n}function Jt(e,t){for(var n=e.length;n--&&jt(t,e[n],0)>-1;);return n}var en=Yt({À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"}),tn=Yt({"&":"&","<":"<",">":">",'"':""","'":"'"});function nn(e){return"\\"+ot[e]}function rn(e){return et.test(e)}function an(e){var t=-1,n=Array(e.size);return e.forEach((function(e,r){n[++t]=[r,e]})),n}function on(e,t){return function(n){return e(t(n))}}function sn(e,t){for(var n=-1,r=e.length,i=0,a=[];++n",""":'"',"'":"'"}),pn=function e(t){var n,r=(t=null==t?dt:pn.defaults(dt.Object(),t,pn.pick(dt,nt))).Array,ie=t.Date,we=t.Error,_e=t.Function,Ee=t.Math,ke=t.Object,Ce=t.RegExp,Se=t.String,Pe=t.TypeError,Te=r.prototype,De=_e.prototype,Me=ke.prototype,Be=t["__core-js_shared__"],Ie=De.toString,Oe=Me.hasOwnProperty,Ae=0,ze=(n=/[^.]+$/.exec(Be&&Be.keys&&Be.keys.IE_PROTO||""))?"Symbol(src)_1."+n:"",Ne=Me.toString,Le=Ie.call(ke),Re=dt._,je=Ce("^"+Ie.call(Oe).replace(te,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Ve=pt?t.Buffer:i,Fe=t.Symbol,qe=t.Uint8Array,We=Ve?Ve.allocUnsafe:i,Ye=on(ke.getPrototypeOf,ke),Xe=ke.create,He=Me.propertyIsEnumerable,Ue=Te.splice,Ze=Fe?Fe.isConcatSpreadable:i,Ke=Fe?Fe.iterator:i,Qe=Fe?Fe.toStringTag:i,et=function(){try{var e=ua(ke,"defineProperty");return e({},"",{}),e}catch(e){}}(),ot=t.clearTimeout!==dt.clearTimeout&&t.clearTimeout,lt=ie&&ie.now!==dt.Date.now&&ie.now,ct=t.setTimeout!==dt.setTimeout&&t.setTimeout,ht=Ee.ceil,ft=Ee.floor,vt=ke.getOwnPropertySymbols,gt=Ve?Ve.isBuffer:i,Nt=t.isFinite,Yt=Te.join,vn=on(ke.keys,ke),gn=Ee.max,yn=Ee.min,mn=ie.now,bn=t.parseInt,xn=Ee.random,wn=Te.reverse,_n=ua(t,"DataView"),En=ua(t,"Map"),kn=ua(t,"Promise"),Cn=ua(t,"Set"),Sn=ua(t,"WeakMap"),Pn=ua(ke,"create"),Tn=Sn&&new Sn,Dn={},Mn=Na(_n),Bn=Na(En),In=Na(kn),On=Na(Cn),An=Na(Sn),zn=Fe?Fe.prototype:i,Nn=zn?zn.valueOf:i,Ln=zn?zn.toString:i;function Rn(e){if(es(e)&&!Wo(e)&&!(e instanceof qn)){if(e instanceof Fn)return e;if(Oe.call(e,"__wrapped__"))return La(e)}return new Fn(e)}var jn=function(){function e(){}return function(t){if(!Jo(t))return{};if(Xe)return Xe(t);e.prototype=t;var n=new e;return e.prototype=i,n}}();function Vn(){}function Fn(e,t){this.__wrapped__=e,this.__actions__=[],this.__chain__=!!t,this.__index__=0,this.__values__=i}function qn(e){this.__wrapped__=e,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=f,this.__views__=[]}function Wn(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t=t?e:t)),e}function or(e,t,n,r,a,o){var s,u=1&t,l=2&t,c=4&t;if(n&&(s=a?n(e,r,a,o):n(e)),s!==i)return s;if(!Jo(e))return e;var d=Wo(e);if(d){if(s=function(e){var t=e.length,n=new e.constructor(t);return t&&"string"==typeof e[0]&&Oe.call(e,"index")&&(n.index=e.index,n.input=e.input),n}(e),!u)return Si(e,s)}else{var h=da(e),f=h==x||h==w;if(Uo(e))return xi(e,u);if(h==k||h==v||f&&!a){if(s=l||f?{}:fa(e),!u)return l?function(e,t){return Pi(e,ca(e),t)}(e,function(e,t){return e&&Pi(t,Bs(t),e)}(s,e)):function(e,t){return Pi(e,la(e),t)}(e,nr(s,e))}else{if(!at[h])return a?e:{};s=function(e,t,n){var r,i=e.constructor;switch(t){case B:return wi(e);case y:case m:return new i(+e);case I:return function(e,t){var n=t?wi(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)}(e,n);case O:case A:case z:case N:case L:case R:case j:case V:case F:return _i(e,n);case _:return new i;case E:case T:return new i(e);case S:return function(e){var t=new e.constructor(e.source,he.exec(e));return t.lastIndex=e.lastIndex,t}(e);case P:return new i;case D:return r=e,Nn?ke(Nn.call(r)):{}}}(e,h,u)}}o||(o=new Un);var p=o.get(e);if(p)return p;o.set(e,s),as(e)?e.forEach((function(r){s.add(or(r,t,n,r,e,o))})):ts(e)&&e.forEach((function(r,i){s.set(i,or(r,t,n,i,e,o))}));var g=d?i:(c?l?ta:ea:l?Bs:Ms)(e);return Ct(g||e,(function(r,i){g&&(r=e[i=r]),Jn(s,i,or(r,t,n,i,e,o))})),s}function sr(e,t,n){var r=n.length;if(null==e)return!r;for(e=ke(e);r--;){var a=n[r],o=t[a],s=e[a];if(s===i&&!(a in e)||!o(s))return!1}return!0}function ur(e,t,n){if("function"!=typeof e)throw new Pe(a);return Pa((function(){e.apply(i,n)}),t)}function lr(e,t,n,r){var i=-1,a=Dt,o=!0,s=e.length,u=[],l=t.length;if(!s)return u;n&&(t=Bt(t,Kt(n))),r?(a=Mt,o=!1):t.length>=200&&(a=$t,o=!1,t=new Hn(t));e:for(;++i-1},Yn.prototype.set=function(e,t){var n=this.__data__,r=er(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this},Xn.prototype.clear=function(){this.size=0,this.__data__={hash:new Wn,map:new(En||Yn),string:new Wn}},Xn.prototype.delete=function(e){var t=oa(this,e).delete(e);return this.size-=t?1:0,t},Xn.prototype.get=function(e){return oa(this,e).get(e)},Xn.prototype.has=function(e){return oa(this,e).has(e)},Xn.prototype.set=function(e,t){var n=oa(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this},Hn.prototype.add=Hn.prototype.push=function(e){return this.__data__.set(e,o),this},Hn.prototype.has=function(e){return this.__data__.has(e)},Un.prototype.clear=function(){this.__data__=new Yn,this.size=0},Un.prototype.delete=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n},Un.prototype.get=function(e){return this.__data__.get(e)},Un.prototype.has=function(e){return this.__data__.has(e)},Un.prototype.set=function(e,t){var n=this.__data__;if(n instanceof Yn){var r=n.__data__;if(!En||r.length<199)return r.push([e,t]),this.size=++n.size,this;n=this.__data__=new Xn(r)}return n.set(e,t),this.size=n.size,this};var cr=Mi(mr),dr=Mi(br,!0);function hr(e,t){var n=!0;return cr(e,(function(e,r,i){return n=!!t(e,r,i)})),n}function fr(e,t,n){for(var r=-1,a=e.length;++r0&&n(s)?t>1?vr(s,t-1,n,r,i):It(i,s):r||(i[i.length]=s)}return i}var gr=Bi(),yr=Bi(!0);function mr(e,t){return e&&gr(e,t,Ms)}function br(e,t){return e&&yr(e,t,Ms)}function xr(e,t){return Tt(t,(function(t){return Go(e[t])}))}function wr(e,t){for(var n=0,r=(t=gi(t,e)).length;null!=e&&nt}function Cr(e,t){return null!=e&&Oe.call(e,t)}function Sr(e,t){return null!=e&&t in ke(e)}function Pr(e,t,n){for(var a=n?Mt:Dt,o=e[0].length,s=e.length,u=s,l=r(s),c=1/0,d=[];u--;){var h=e[u];u&&t&&(h=Bt(h,Kt(t))),c=yn(h.length,c),l[u]=!n&&(t||o>=120&&h.length>=120)?new Hn(u&&h):i}h=e[0];var f=-1,p=l[0];e:for(;++f=s?u:u*("desc"==n[r]?-1:1)}return e.index-t.index}(e,t,n)}));r--;)e[r]=e[r].value;return e}(i)}function qr(e,t,n){for(var r=-1,i=t.length,a={};++r-1;)s!==e&&Ue.call(s,u,1),Ue.call(e,u,1);return e}function Yr(e,t){for(var n=e?t.length:0,r=n-1;n--;){var i=t[n];if(n==r||i!==a){var a=i;va(i)?Ue.call(e,i,1):ui(e,i)}}return e}function Xr(e,t){return e+ft(xn()*(t-e+1))}function Hr(e,t){var n="";if(!e||t<1||t>d)return n;do{t%2&&(n+=e),(t=ft(t/2))&&(e+=e)}while(t);return n}function Ur(e,t){return Ta(Ea(e,t,nu),e+"")}function Zr(e){return Kn(js(e))}function Kr(e,t){var n=js(e);return Ba(n,ar(t,0,n.length))}function Gr(e,t,n,r){if(!Jo(e))return e;for(var a=-1,o=(t=gi(t,e)).length,s=o-1,u=e;null!=u&&++aa?0:a+t),(n=n>a?a:n)<0&&(n+=a),a=t>n?0:n-t>>>0,t>>>=0;for(var o=r(a);++i>>1,o=e[a];null!==o&&!ss(o)&&(n?o<=t:o=200){var l=t?null:Hi(e);if(l)return un(l);o=!1,i=$t,u=new Hn}else u=t?[]:s;e:for(;++r=r?e:ei(e,t,n)}var bi=ot||function(e){return dt.clearTimeout(e)};function xi(e,t){if(t)return e.slice();var n=e.length,r=We?We(n):new e.constructor(n);return e.copy(r),r}function wi(e){var t=new e.constructor(e.byteLength);return new qe(t).set(new qe(e)),t}function _i(e,t){var n=t?wi(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)}function Ei(e,t){if(e!==t){var n=e!==i,r=null===e,a=e==e,o=ss(e),s=t!==i,u=null===t,l=t==t,c=ss(t);if(!u&&!c&&!o&&e>t||o&&s&&l&&!u&&!c||r&&s&&l||!n&&l||!a)return 1;if(!r&&!o&&!c&&e1?n[a-1]:i,s=a>2?n[2]:i;for(o=e.length>3&&"function"==typeof o?(a--,o):i,s&&ga(n[0],n[1],s)&&(o=a<3?i:o,a=1),t=ke(t);++r-1?a[o?t[s]:s]:i}}function Ni(e){return Ji((function(t){var n=t.length,r=n,o=Fn.prototype.thru;for(e&&t.reverse();r--;){var s=t[r];if("function"!=typeof s)throw new Pe(a);if(o&&!u&&"wrapper"==ra(s))var u=new Fn([],!0)}for(r=u?r:n;++r1&&x.reverse(),f&&du))return!1;var c=o.get(e),d=o.get(t);if(c&&d)return c==t&&d==e;var h=-1,f=!0,p=2&n?new Hn:i;for(o.set(e,t),o.set(t,e);++h-1&&e%1==0&&e1?"& ":"")+t[r],t=t.join(n>2?", ":" "),e.replace(ae,"{\n/* [wrapped with "+t+"] */\n")}(r,function(e,t){return Ct(p,(function(n){var r="_."+n[0];t&n[1]&&!Dt(e,r)&&e.push(r)})),e.sort()}(function(e){var t=e.match(oe);return t?t[1].split(se):[]}(r),n)))}function Ma(e){var t=0,n=0;return function(){var r=mn(),a=16-(r-n);if(n=r,a>0){if(++t>=800)return arguments[0]}else t=0;return e.apply(i,arguments)}}function Ba(e,t){var n=-1,r=e.length,a=r-1;for(t=t===i?r:t;++n1?e[t-1]:i;return n="function"==typeof n?(e.pop(),n):i,ro(e,n)}));function co(e){var t=Rn(e);return t.__chain__=!0,t}function ho(e,t){return t(e)}var fo=Ji((function(e){var t=e.length,n=t?e[0]:0,r=this.__wrapped__,a=function(t){return ir(t,e)};return!(t>1||this.__actions__.length)&&r instanceof qn&&va(n)?((r=r.slice(n,+n+(t?1:0))).__actions__.push({func:ho,args:[a],thisArg:i}),new Fn(r,this.__chain__).thru((function(e){return t&&!e.length&&e.push(i),e}))):this.thru(a)})),po=Ti((function(e,t,n){Oe.call(e,n)?++e[n]:rr(e,n,1)})),vo=zi(Fa),go=zi(qa);function yo(e,t){return(Wo(e)?Ct:cr)(e,aa(t,3))}function mo(e,t){return(Wo(e)?St:dr)(e,aa(t,3))}var bo=Ti((function(e,t,n){Oe.call(e,n)?e[n].push(t):rr(e,n,[t])})),xo=Ur((function(e,t,n){var i=-1,a="function"==typeof t,o=Xo(e)?r(e.length):[];return cr(e,(function(e){o[++i]=a?Et(t,e,n):Tr(e,t,n)})),o})),wo=Ti((function(e,t,n){rr(e,n,t)}));function _o(e,t){return(Wo(e)?Bt:Nr)(e,aa(t,3))}var Eo=Ti((function(e,t,n){e[n?0:1].push(t)}),(function(){return[[],[]]})),ko=Ur((function(e,t){if(null==e)return[];var n=t.length;return n>1&&ga(e,t[0],t[1])?t=[]:n>2&&ga(t[0],t[1],t[2])&&(t=[t[0]]),Fr(e,vr(t,1),[])})),Co=lt||function(){return dt.Date.now()};function So(e,t,n){return t=n?i:t,t=e&&null==t?e.length:t,Zi(e,l,i,i,i,i,t)}function Po(e,t){var n;if("function"!=typeof t)throw new Pe(a);return e=fs(e),function(){return--e>0&&(n=t.apply(this,arguments)),e<=1&&(t=i),n}}var To=Ur((function(e,t,n){var r=1;if(n.length){var i=sn(n,ia(To));r|=u}return Zi(e,r,t,n,i)})),Do=Ur((function(e,t,n){var r=3;if(n.length){var i=sn(n,ia(Do));r|=u}return Zi(t,r,e,n,i)}));function Mo(e,t,n){var r,o,s,u,l,c,d=0,h=!1,f=!1,p=!0;if("function"!=typeof e)throw new Pe(a);function v(t){var n=r,a=o;return r=o=i,d=t,u=e.apply(a,n)}function g(e){var n=e-c;return c===i||n>=t||n<0||f&&e-d>=s}function y(){var e=Co();if(g(e))return m(e);l=Pa(y,function(e){var n=t-(e-c);return f?yn(n,s-(e-d)):n}(e))}function m(e){return l=i,p&&r?v(e):(r=o=i,u)}function b(){var e=Co(),n=g(e);if(r=arguments,o=this,c=e,n){if(l===i)return function(e){return d=e,l=Pa(y,t),h?v(e):u}(c);if(f)return bi(l),l=Pa(y,t),v(c)}return l===i&&(l=Pa(y,t)),u}return t=vs(t)||0,Jo(n)&&(h=!!n.leading,s=(f="maxWait"in n)?gn(vs(n.maxWait)||0,t):s,p="trailing"in n?!!n.trailing:p),b.cancel=function(){l!==i&&bi(l),d=0,r=c=o=l=i},b.flush=function(){return l===i?u:m(Co())},b}var Bo=Ur((function(e,t){return ur(e,1,t)})),Io=Ur((function(e,t,n){return ur(e,vs(t)||0,n)}));function Oo(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new Pe(a);var n=function(){var r=arguments,i=t?t.apply(this,r):r[0],a=n.cache;if(a.has(i))return a.get(i);var o=e.apply(this,r);return n.cache=a.set(i,o)||a,o};return n.cache=new(Oo.Cache||Xn),n}function Ao(e){if("function"!=typeof e)throw new Pe(a);return function(){var t=arguments;switch(t.length){case 0:return!e.call(this);case 1:return!e.call(this,t[0]);case 2:return!e.call(this,t[0],t[1]);case 3:return!e.call(this,t[0],t[1],t[2])}return!e.apply(this,t)}}Oo.Cache=Xn;var zo=yi((function(e,t){var n=(t=1==t.length&&Wo(t[0])?Bt(t[0],Kt(aa())):Bt(vr(t,1),Kt(aa()))).length;return Ur((function(r){for(var i=-1,a=yn(r.length,n);++i=t})),qo=Dr(function(){return arguments}())?Dr:function(e){return es(e)&&Oe.call(e,"callee")&&!He.call(e,"callee")},Wo=r.isArray,Yo=yt?Kt(yt):function(e){return es(e)&&Er(e)==B};function Xo(e){return null!=e&&Qo(e.length)&&!Go(e)}function Ho(e){return es(e)&&Xo(e)}var Uo=gt||vu,Zo=mt?Kt(mt):function(e){return es(e)&&Er(e)==m};function Ko(e){if(!es(e))return!1;var t=Er(e);return t==b||"[object DOMException]"==t||"string"==typeof e.message&&"string"==typeof e.name&&!rs(e)}function Go(e){if(!Jo(e))return!1;var t=Er(e);return t==x||t==w||"[object AsyncFunction]"==t||"[object Proxy]"==t}function $o(e){return"number"==typeof e&&e==fs(e)}function Qo(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=d}function Jo(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function es(e){return null!=e&&"object"==typeof e}var ts=bt?Kt(bt):function(e){return es(e)&&da(e)==_};function ns(e){return"number"==typeof e||es(e)&&Er(e)==E}function rs(e){if(!es(e)||Er(e)!=k)return!1;var t=Ye(e);if(null===t)return!0;var n=Oe.call(t,"constructor")&&t.constructor;return"function"==typeof n&&n instanceof n&&Ie.call(n)==Le}var is=xt?Kt(xt):function(e){return es(e)&&Er(e)==S},as=wt?Kt(wt):function(e){return es(e)&&da(e)==P};function os(e){return"string"==typeof e||!Wo(e)&&es(e)&&Er(e)==T}function ss(e){return"symbol"==typeof e||es(e)&&Er(e)==D}var us=_t?Kt(_t):function(e){return es(e)&&Qo(e.length)&&!!it[Er(e)]},ls=Wi(zr),cs=Wi((function(e,t){return e<=t}));function ds(e){if(!e)return[];if(Xo(e))return os(e)?dn(e):Si(e);if(Ke&&e[Ke])return function(e){for(var t,n=[];!(t=e.next()).done;)n.push(t.value);return n}(e[Ke]());var t=da(e);return(t==_?an:t==P?un:js)(e)}function hs(e){return e?(e=vs(e))===c||e===-1/0?17976931348623157e292*(e<0?-1:1):e==e?e:0:0===e?e:0}function fs(e){var t=hs(e),n=t%1;return t==t?n?t-n:t:0}function ps(e){return e?ar(fs(e),0,f):0}function vs(e){if("number"==typeof e)return e;if(ss(e))return h;if(Jo(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=Jo(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=Zt(e);var n=pe.test(e);return n||ge.test(e)?ut(e.slice(2),n?2:8):fe.test(e)?h:+e}function gs(e){return Pi(e,Bs(e))}function ys(e){return null==e?"":oi(e)}var ms=Di((function(e,t){if(xa(t)||Xo(t))Pi(t,Ms(t),e);else for(var n in t)Oe.call(t,n)&&Jn(e,n,t[n])})),bs=Di((function(e,t){Pi(t,Bs(t),e)})),xs=Di((function(e,t,n,r){Pi(t,Bs(t),e,r)})),ws=Di((function(e,t,n,r){Pi(t,Ms(t),e,r)})),_s=Ji(ir),Es=Ur((function(e,t){e=ke(e);var n=-1,r=t.length,a=r>2?t[2]:i;for(a&&ga(t[0],t[1],a)&&(r=1);++n1),t})),Pi(e,ta(e),n),r&&(n=or(n,7,$i));for(var i=t.length;i--;)ui(n,t[i]);return n})),zs=Ji((function(e,t){return null==e?{}:function(e,t){return qr(e,t,(function(t,n){return Ss(e,n)}))}(e,t)}));function Ns(e,t){if(null==e)return{};var n=Bt(ta(e),(function(e){return[e]}));return t=aa(t),qr(e,n,(function(e,n){return t(e,n[0])}))}var Ls=Ui(Ms),Rs=Ui(Bs);function js(e){return null==e?[]:Gt(e,Ms(e))}var Vs=Oi((function(e,t,n){return t=t.toLowerCase(),e+(n?Fs(t):t)}));function Fs(e){return Ks(ys(e).toLowerCase())}function qs(e){return(e=ys(e))&&e.replace(me,en).replace($e,"")}var Ws=Oi((function(e,t,n){return e+(n?"-":"")+t.toLowerCase()})),Ys=Oi((function(e,t,n){return e+(n?" ":"")+t.toLowerCase()})),Xs=Ii("toLowerCase"),Hs=Oi((function(e,t,n){return e+(n?"_":"")+t.toLowerCase()})),Us=Oi((function(e,t,n){return e+(n?" ":"")+Ks(t)})),Zs=Oi((function(e,t,n){return e+(n?" ":"")+t.toUpperCase()})),Ks=Ii("toUpperCase");function Gs(e,t,n){return e=ys(e),(t=n?i:t)===i?function(e){return tt.test(e)}(e)?function(e){return e.match(Je)||[]}(e):function(e){return e.match(ue)||[]}(e):e.match(t)||[]}var $s=Ur((function(e,t){try{return Et(e,i,t)}catch(e){return Ko(e)?e:new we(e)}})),Qs=Ji((function(e,t){return Ct(t,(function(t){t=za(t),rr(e,t,To(e[t],e))})),e}));function Js(e){return function(){return e}}var eu=Ni(),tu=Ni(!0);function nu(e){return e}function ru(e){return Or("function"==typeof e?e:or(e,1))}var iu=Ur((function(e,t){return function(n){return Tr(n,e,t)}})),au=Ur((function(e,t){return function(n){return Tr(e,n,t)}}));function ou(e,t,n){var r=Ms(t),i=xr(t,r);null!=n||Jo(t)&&(i.length||!r.length)||(n=t,t=e,e=this,i=xr(t,Ms(t)));var a=!(Jo(n)&&"chain"in n&&!n.chain),o=Go(e);return Ct(i,(function(n){var r=t[n];e[n]=r,o&&(e.prototype[n]=function(){var t=this.__chain__;if(a||t){var n=e(this.__wrapped__);return(n.__actions__=Si(this.__actions__)).push({func:r,args:arguments,thisArg:e}),n.__chain__=t,n}return r.apply(e,It([this.value()],arguments))})})),e}function su(){}var uu=Vi(Bt),lu=Vi(Pt),cu=Vi(zt);function du(e){return ya(e)?Wt(za(e)):function(e){return function(t){return wr(t,e)}}(e)}var hu=qi(),fu=qi(!0);function pu(){return[]}function vu(){return!1}var gu,yu=ji((function(e,t){return e+t}),0),mu=Xi("ceil"),bu=ji((function(e,t){return e/t}),1),xu=Xi("floor"),wu=ji((function(e,t){return e*t}),1),_u=Xi("round"),Eu=ji((function(e,t){return e-t}),0);return Rn.after=function(e,t){if("function"!=typeof t)throw new Pe(a);return e=fs(e),function(){if(--e<1)return t.apply(this,arguments)}},Rn.ary=So,Rn.assign=ms,Rn.assignIn=bs,Rn.assignInWith=xs,Rn.assignWith=ws,Rn.at=_s,Rn.before=Po,Rn.bind=To,Rn.bindAll=Qs,Rn.bindKey=Do,Rn.castArray=function(){if(!arguments.length)return[];var e=arguments[0];return Wo(e)?e:[e]},Rn.chain=co,Rn.chunk=function(e,t,n){t=(n?ga(e,t,n):t===i)?1:gn(fs(t),0);var a=null==e?0:e.length;if(!a||t<1)return[];for(var o=0,s=0,u=r(ht(a/t));oa?0:a+n),(r=r===i||r>a?a:fs(r))<0&&(r+=a),r=n>r?0:ps(r);n>>0)?(e=ys(e))&&("string"==typeof t||null!=t&&!is(t))&&!(t=oi(t))&&rn(e)?mi(dn(e),0,n):e.split(t,n):[]},Rn.spread=function(e,t){if("function"!=typeof e)throw new Pe(a);return t=null==t?0:gn(fs(t),0),Ur((function(n){var r=n[t],i=mi(n,0,t);return r&&It(i,r),Et(e,this,i)}))},Rn.tail=function(e){var t=null==e?0:e.length;return t?ei(e,1,t):[]},Rn.take=function(e,t,n){return e&&e.length?ei(e,0,(t=n||t===i?1:fs(t))<0?0:t):[]},Rn.takeRight=function(e,t,n){var r=null==e?0:e.length;return r?ei(e,(t=r-(t=n||t===i?1:fs(t)))<0?0:t,r):[]},Rn.takeRightWhile=function(e,t){return e&&e.length?ci(e,aa(t,3),!1,!0):[]},Rn.takeWhile=function(e,t){return e&&e.length?ci(e,aa(t,3)):[]},Rn.tap=function(e,t){return t(e),e},Rn.throttle=function(e,t,n){var r=!0,i=!0;if("function"!=typeof e)throw new Pe(a);return Jo(n)&&(r="leading"in n?!!n.leading:r,i="trailing"in n?!!n.trailing:i),Mo(e,t,{leading:r,maxWait:t,trailing:i})},Rn.thru=ho,Rn.toArray=ds,Rn.toPairs=Ls,Rn.toPairsIn=Rs,Rn.toPath=function(e){return Wo(e)?Bt(e,za):ss(e)?[e]:Si(Aa(ys(e)))},Rn.toPlainObject=gs,Rn.transform=function(e,t,n){var r=Wo(e),i=r||Uo(e)||us(e);if(t=aa(t,4),null==n){var a=e&&e.constructor;n=i?r?new a:[]:Jo(e)&&Go(a)?jn(Ye(e)):{}}return(i?Ct:mr)(e,(function(e,r,i){return t(n,e,r,i)})),n},Rn.unary=function(e){return So(e,1)},Rn.union=Ja,Rn.unionBy=eo,Rn.unionWith=to,Rn.uniq=function(e){return e&&e.length?si(e):[]},Rn.uniqBy=function(e,t){return e&&e.length?si(e,aa(t,2)):[]},Rn.uniqWith=function(e,t){return t="function"==typeof t?t:i,e&&e.length?si(e,i,t):[]},Rn.unset=function(e,t){return null==e||ui(e,t)},Rn.unzip=no,Rn.unzipWith=ro,Rn.update=function(e,t,n){return null==e?e:li(e,t,vi(n))},Rn.updateWith=function(e,t,n,r){return r="function"==typeof r?r:i,null==e?e:li(e,t,vi(n),r)},Rn.values=js,Rn.valuesIn=function(e){return null==e?[]:Gt(e,Bs(e))},Rn.without=io,Rn.words=Gs,Rn.wrap=function(e,t){return No(vi(t),e)},Rn.xor=ao,Rn.xorBy=oo,Rn.xorWith=so,Rn.zip=uo,Rn.zipObject=function(e,t){return fi(e||[],t||[],Jn)},Rn.zipObjectDeep=function(e,t){return fi(e||[],t||[],Gr)},Rn.zipWith=lo,Rn.entries=Ls,Rn.entriesIn=Rs,Rn.extend=bs,Rn.extendWith=xs,ou(Rn,Rn),Rn.add=yu,Rn.attempt=$s,Rn.camelCase=Vs,Rn.capitalize=Fs,Rn.ceil=mu,Rn.clamp=function(e,t,n){return n===i&&(n=t,t=i),n!==i&&(n=(n=vs(n))==n?n:0),t!==i&&(t=(t=vs(t))==t?t:0),ar(vs(e),t,n)},Rn.clone=function(e){return or(e,4)},Rn.cloneDeep=function(e){return or(e,5)},Rn.cloneDeepWith=function(e,t){return or(e,5,t="function"==typeof t?t:i)},Rn.cloneWith=function(e,t){return or(e,4,t="function"==typeof t?t:i)},Rn.conformsTo=function(e,t){return null==t||sr(e,t,Ms(t))},Rn.deburr=qs,Rn.defaultTo=function(e,t){return null==e||e!=e?t:e},Rn.divide=bu,Rn.endsWith=function(e,t,n){e=ys(e),t=oi(t);var r=e.length,a=n=n===i?r:ar(fs(n),0,r);return(n-=t.length)>=0&&e.slice(n,a)==t},Rn.eq=jo,Rn.escape=function(e){return(e=ys(e))&&Z.test(e)?e.replace(H,tn):e},Rn.escapeRegExp=function(e){return(e=ys(e))&&ne.test(e)?e.replace(te,"\\$&"):e},Rn.every=function(e,t,n){var r=Wo(e)?Pt:hr;return n&&ga(e,t,n)&&(t=i),r(e,aa(t,3))},Rn.find=vo,Rn.findIndex=Fa,Rn.findKey=function(e,t){return Lt(e,aa(t,3),mr)},Rn.findLast=go,Rn.findLastIndex=qa,Rn.findLastKey=function(e,t){return Lt(e,aa(t,3),br)},Rn.floor=xu,Rn.forEach=yo,Rn.forEachRight=mo,Rn.forIn=function(e,t){return null==e?e:gr(e,aa(t,3),Bs)},Rn.forInRight=function(e,t){return null==e?e:yr(e,aa(t,3),Bs)},Rn.forOwn=function(e,t){return e&&mr(e,aa(t,3))},Rn.forOwnRight=function(e,t){return e&&br(e,aa(t,3))},Rn.get=Cs,Rn.gt=Vo,Rn.gte=Fo,Rn.has=function(e,t){return null!=e&&ha(e,t,Cr)},Rn.hasIn=Ss,Rn.head=Ya,Rn.identity=nu,Rn.includes=function(e,t,n,r){e=Xo(e)?e:js(e),n=n&&!r?fs(n):0;var i=e.length;return n<0&&(n=gn(i+n,0)),os(e)?n<=i&&e.indexOf(t,n)>-1:!!i&&jt(e,t,n)>-1},Rn.indexOf=function(e,t,n){var r=null==e?0:e.length;if(!r)return-1;var i=null==n?0:fs(n);return i<0&&(i=gn(r+i,0)),jt(e,t,i)},Rn.inRange=function(e,t,n){return t=hs(t),n===i?(n=t,t=0):n=hs(n),function(e,t,n){return e>=yn(t,n)&&e=-9007199254740991&&e<=d},Rn.isSet=as,Rn.isString=os,Rn.isSymbol=ss,Rn.isTypedArray=us,Rn.isUndefined=function(e){return e===i},Rn.isWeakMap=function(e){return es(e)&&da(e)==M},Rn.isWeakSet=function(e){return es(e)&&"[object WeakSet]"==Er(e)},Rn.join=function(e,t){return null==e?"":Yt.call(e,t)},Rn.kebabCase=Ws,Rn.last=Za,Rn.lastIndexOf=function(e,t,n){var r=null==e?0:e.length;if(!r)return-1;var a=r;return n!==i&&(a=(a=fs(n))<0?gn(r+a,0):yn(a,r-1)),t==t?function(e,t,n){for(var r=n+1;r--;)if(e[r]===t)return r;return r}(e,t,a):Rt(e,Ft,a,!0)},Rn.lowerCase=Ys,Rn.lowerFirst=Xs,Rn.lt=ls,Rn.lte=cs,Rn.max=function(e){return e&&e.length?fr(e,nu,kr):i},Rn.maxBy=function(e,t){return e&&e.length?fr(e,aa(t,2),kr):i},Rn.mean=function(e){return qt(e,nu)},Rn.meanBy=function(e,t){return qt(e,aa(t,2))},Rn.min=function(e){return e&&e.length?fr(e,nu,zr):i},Rn.minBy=function(e,t){return e&&e.length?fr(e,aa(t,2),zr):i},Rn.stubArray=pu,Rn.stubFalse=vu,Rn.stubObject=function(){return{}},Rn.stubString=function(){return""},Rn.stubTrue=function(){return!0},Rn.multiply=wu,Rn.nth=function(e,t){return e&&e.length?Vr(e,fs(t)):i},Rn.noConflict=function(){return dt._===this&&(dt._=Re),this},Rn.noop=su,Rn.now=Co,Rn.pad=function(e,t,n){e=ys(e);var r=(t=fs(t))?cn(e):0;if(!t||r>=t)return e;var i=(t-r)/2;return Fi(ft(i),n)+e+Fi(ht(i),n)},Rn.padEnd=function(e,t,n){e=ys(e);var r=(t=fs(t))?cn(e):0;return t&&rt){var r=e;e=t,t=r}if(n||e%1||t%1){var a=xn();return yn(e+a*(t-e+st("1e-"+((a+"").length-1))),t)}return Xr(e,t)},Rn.reduce=function(e,t,n){var r=Wo(e)?Ot:Xt,i=arguments.length<3;return r(e,aa(t,4),n,i,cr)},Rn.reduceRight=function(e,t,n){var r=Wo(e)?At:Xt,i=arguments.length<3;return r(e,aa(t,4),n,i,dr)},Rn.repeat=function(e,t,n){return t=(n?ga(e,t,n):t===i)?1:fs(t),Hr(ys(e),t)},Rn.replace=function(){var e=arguments,t=ys(e[0]);return e.length<3?t:t.replace(e[1],e[2])},Rn.result=function(e,t,n){var r=-1,a=(t=gi(t,e)).length;for(a||(a=1,e=i);++rd)return[];var n=f,r=yn(e,f);t=aa(t),e-=f;for(var i=Ut(r,t);++n=o)return e;var u=n-cn(r);if(u<1)return r;var l=s?mi(s,0,u).join(""):e.slice(0,u);if(a===i)return l+r;if(s&&(u+=l.length-u),is(a)){if(e.slice(u).search(a)){var c,d=l;for(a.global||(a=Ce(a.source,ys(he.exec(a))+"g")),a.lastIndex=0;c=a.exec(d);)var h=c.index;l=l.slice(0,h===i?u:h)}}else if(e.indexOf(oi(a),u)!=u){var f=l.lastIndexOf(a);f>-1&&(l=l.slice(0,f))}return l+r},Rn.unescape=function(e){return(e=ys(e))&&U.test(e)?e.replace(X,fn):e},Rn.uniqueId=function(e){var t=++Ae;return ys(e)+t},Rn.upperCase=Zs,Rn.upperFirst=Ks,Rn.each=yo,Rn.eachRight=mo,Rn.first=Ya,ou(Rn,(gu={},mr(Rn,(function(e,t){Oe.call(Rn.prototype,t)||(gu[t]=e)})),gu),{chain:!1}),Rn.VERSION="4.17.21",Ct(["bind","bindKey","curry","curryRight","partial","partialRight"],(function(e){Rn[e].placeholder=Rn})),Ct(["drop","take"],(function(e,t){qn.prototype[e]=function(n){n=n===i?1:gn(fs(n),0);var r=this.__filtered__&&!t?new qn(this):this.clone();return r.__filtered__?r.__takeCount__=yn(n,r.__takeCount__):r.__views__.push({size:yn(n,f),type:e+(r.__dir__<0?"Right":"")}),r},qn.prototype[e+"Right"]=function(t){return this.reverse()[e](t).reverse()}})),Ct(["filter","map","takeWhile"],(function(e,t){var n=t+1,r=1==n||3==n;qn.prototype[e]=function(e){var t=this.clone();return t.__iteratees__.push({iteratee:aa(e,3),type:n}),t.__filtered__=t.__filtered__||r,t}})),Ct(["head","last"],(function(e,t){var n="take"+(t?"Right":"");qn.prototype[e]=function(){return this[n](1).value()[0]}})),Ct(["initial","tail"],(function(e,t){var n="drop"+(t?"":"Right");qn.prototype[e]=function(){return this.__filtered__?new qn(this):this[n](1)}})),qn.prototype.compact=function(){return this.filter(nu)},qn.prototype.find=function(e){return this.filter(e).head()},qn.prototype.findLast=function(e){return this.reverse().find(e)},qn.prototype.invokeMap=Ur((function(e,t){return"function"==typeof e?new qn(this):this.map((function(n){return Tr(n,e,t)}))})),qn.prototype.reject=function(e){return this.filter(Ao(aa(e)))},qn.prototype.slice=function(e,t){e=fs(e);var n=this;return n.__filtered__&&(e>0||t<0)?new qn(n):(e<0?n=n.takeRight(-e):e&&(n=n.drop(e)),t!==i&&(n=(t=fs(t))<0?n.dropRight(-t):n.take(t-e)),n)},qn.prototype.takeRightWhile=function(e){return this.reverse().takeWhile(e).reverse()},qn.prototype.toArray=function(){return this.take(f)},mr(qn.prototype,(function(e,t){var n=/^(?:filter|find|map|reject)|While$/.test(t),r=/^(?:head|last)$/.test(t),a=Rn[r?"take"+("last"==t?"Right":""):t],o=r||/^find/.test(t);a&&(Rn.prototype[t]=function(){var t=this.__wrapped__,s=r?[1]:arguments,u=t instanceof qn,l=s[0],c=u||Wo(t),d=function(e){var t=a.apply(Rn,It([e],s));return r&&h?t[0]:t};c&&n&&"function"==typeof l&&1!=l.length&&(u=c=!1);var h=this.__chain__,f=!!this.__actions__.length,p=o&&!h,v=u&&!f;if(!o&&c){t=v?t:new qn(this);var g=e.apply(t,s);return g.__actions__.push({func:ho,args:[d],thisArg:i}),new Fn(g,h)}return p&&v?e.apply(this,s):(g=this.thru(d),p?r?g.value()[0]:g.value():g)})})),Ct(["pop","push","shift","sort","splice","unshift"],(function(e){var t=Te[e],n=/^(?:push|sort|unshift)$/.test(e)?"tap":"thru",r=/^(?:pop|shift)$/.test(e);Rn.prototype[e]=function(){var e=arguments;if(r&&!this.__chain__){var i=this.value();return t.apply(Wo(i)?i:[],e)}return this[n]((function(n){return t.apply(Wo(n)?n:[],e)}))}})),mr(qn.prototype,(function(e,t){var n=Rn[t];if(n){var r=n.name+"";Oe.call(Dn,r)||(Dn[r]=[]),Dn[r].push({name:t,func:n})}})),Dn[Li(i,2).name]=[{name:"wrapper",func:i}],qn.prototype.clone=function(){var e=new qn(this.__wrapped__);return e.__actions__=Si(this.__actions__),e.__dir__=this.__dir__,e.__filtered__=this.__filtered__,e.__iteratees__=Si(this.__iteratees__),e.__takeCount__=this.__takeCount__,e.__views__=Si(this.__views__),e},qn.prototype.reverse=function(){if(this.__filtered__){var e=new qn(this);e.__dir__=-1,e.__filtered__=!0}else(e=this.clone()).__dir__*=-1;return e},qn.prototype.value=function(){var e=this.__wrapped__.value(),t=this.__dir__,n=Wo(e),r=t<0,i=n?e.length:0,a=function(e,t,n){for(var r=-1,i=n.length;++r=this.__values__.length;return{done:e,value:e?i:this.__values__[this.__index__++]}},Rn.prototype.plant=function(e){for(var t,n=this;n instanceof Vn;){var r=La(n);r.__index__=0,r.__values__=i,t?a.__wrapped__=r:t=r;var a=r;n=n.__wrapped__}return a.__wrapped__=e,t},Rn.prototype.reverse=function(){var e=this.__wrapped__;if(e instanceof qn){var t=e;return this.__actions__.length&&(t=new qn(this)),(t=t.reverse()).__actions__.push({func:ho,args:[Qa],thisArg:i}),new Fn(t,this.__chain__)}return this.thru(Qa)},Rn.prototype.toJSON=Rn.prototype.valueOf=Rn.prototype.value=function(){return di(this.__wrapped__,this.__actions__)},Rn.prototype.first=Rn.prototype.head,Ke&&(Rn.prototype[Ke]=function(){return this}),Rn}();dt._=pn,(r=function(){return pn}.call(t,n,t,e))===i||(e.exports=r)}.call(this)},8306:(e,t,n)=>{var r=n(3369);function i(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new TypeError("Expected a function");var n=function(){var r=arguments,i=t?t.apply(this,r):r[0],a=n.cache;if(a.has(i))return a.get(i);var o=e.apply(this,r);return n.cache=a.set(i,o)||a,o};return n.cache=new(i.Cache||r),n}i.Cache=r,e.exports=i},7771:(e,t,n)=>{var r=n(5639);e.exports=function(){return r.Date.now()}},6968:(e,t,n)=>{var r=n(611);e.exports=function(e,t,n){return null==e?e:r(e,t,n)}},4841:(e,t,n)=>{var r=n(7561),i=n(3218),a=n(3448),o=/^[-+]0x[0-9a-f]+$/i,s=/^0b[01]+$/i,u=/^0o[0-7]+$/i,l=parseInt;e.exports=function(e){if("number"==typeof e)return e;if(a(e))return NaN;if(i(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=i(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=r(e);var n=s.test(e);return n||u.test(e)?l(e.slice(2),n?2:8):o.test(e)?NaN:+e}},84:(e,t,n)=>{var r=n(9932),i=n(278),a=n(1469),o=n(3448),s=n(5514),u=n(327),l=n(9833);e.exports=function(e){return a(e)?r(e,u):o(e)?[e]:i(s(l(e)))}},9833:(e,t,n)=>{var r=n(531);e.exports=function(e){return null==e?"":r(e)}},2703:(e,t,n)=>{"use strict";var r=n(414);function i(){}function a(){}a.resetWarningCache=i,e.exports=function(){function e(e,t,n,i,a,o){if(o!==r){var s=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw s.name="Invariant Violation",s}}function t(){return e}e.isRequired=e;var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:a,resetWarningCache:i};return n.PropTypes=n,n}},5697:(e,t,n)=>{e.exports=n(2703)()},414:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},3379:e=>{"use strict";var t=[];function n(e){for(var n=-1,r=0;r{"use strict";var t={};e.exports=function(e,n){var r=function(e){if(void 0===t[e]){var n=document.querySelector(e);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(e){n=null}t[e]=n}return t[e]}(e);if(!r)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");r.appendChild(n)}},9216:e=>{"use strict";e.exports=function(e){var t=document.createElement("style");return e.setAttributes(t,e.attributes),e.insert(t,e.options),t}},3565:(e,t,n)=>{"use strict";e.exports=function(e){var t=n.nc;t&&e.setAttribute("nonce",t)}},7795:e=>{"use strict";e.exports=function(e){if("undefined"==typeof document)return{update:function(){},remove:function(){}};var t=e.insertStyleElement(e);return{update:function(n){!function(e,t,n){var r="";n.supports&&(r+="@supports (".concat(n.supports,") {")),n.media&&(r+="@media ".concat(n.media," {"));var i=void 0!==n.layer;i&&(r+="@layer".concat(n.layer.length>0?" ".concat(n.layer):""," {")),r+=n.css,i&&(r+="}"),n.media&&(r+="}"),n.supports&&(r+="}");var a=n.sourceMap;a&&"undefined"!=typeof btoa&&(r+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(a))))," */")),t.styleTagTransform(r,e,t.options)}(t,e,n)},remove:function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(t)}}}},4589:e=>{"use strict";e.exports=function(e,t){if(t.styleSheet)t.styleSheet.cssText=e;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(e))}}}},t={};function n(r){var i=t[r];if(void 0!==i)return i.exports;var a=t[r]={id:r,loaded:!1,exports:{}};return e[r].call(a.exports,a,a.exports,n),a.loaded=!0,a.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),n.nc=void 0;var r={};(()=>{"use strict";n.r(r),n.d(r,{Cytoscape:()=>se});var e=n(3379),t=n.n(e),i=n(7795),a=n.n(i),o=n(569),s=n.n(o),u=n(3565),l=n.n(u),c=n(9216),d=n.n(c),h=n(4589),f=n.n(h),p=n(372),v={};v.styleTagTransform=f(),v.setAttributes=l(),v.insert=s().bind(null,"head"),v.domAPI=a(),v.insertStyleElement=d(),t()(p.Z,v),p.Z&&p.Z.locals&&p.Z.locals;const g=window.React;var y=n.n(g),m=n(5697),b=n.n(m),x=n(9058),w=n.n(x);const{string:_,array:E,object:k,number:C,bool:S,oneOfType:P,any:T,func:D}=b(),M={id:_,className:_,style:P([_,k]),elements:P([E,T]),stylesheet:P([E,T]),layout:P([k,T]),pan:P([k,T]),zoom:C,panningEnabled:S,userPanningEnabled:S,minZoom:C,maxZoom:C,zoomingEnabled:S,userZoomingEnabled:S,boxSelectionEnabled:S,autoungrabify:S,autolock:S,autounselectify:S,get:D,toJson:D,diff:D,forEach:D,cy:D,headless:S,styleEnabled:S,hideEdgesOnViewport:S,textureOnViewport:S,motionBlur:S,motionBlurOpacity:C,wheelSensitivity:C,pixelRatio:P([_,k])},B=(e,t)=>{if(((e,t)=>null==e||null==t)(e,t)&&(null!=e||null!=t))return!0;if(e===t)return!1;if("object"!=typeof e||"object"!=typeof t)return e!==t;const n=Object.keys(e),r=Object.keys(t),i=n=>e[n]!==t[n];return n.length!==r.length||!(!n.some(i)&&!r.some(i))},I=(e,t)=>null!=e?e[t]:null,O={diff:B,get:I,toJson:e=>e,forEach:(e,t)=>e.forEach(t),elements:[{data:{id:"a",label:"Example node A"}},{data:{id:"b",label:"Example node B"}},{data:{id:"e",source:"a",target:"b"}}],stylesheet:[{selector:"node",style:{label:"data(label)"}}],zoom:1,pan:{x:0,y:0}},A=(e,t,n,r)=>n(I(e,r),I(t,r)),z=(e,t,n,r,i,a)=>{const o=i(i(n,"data"),"id"),s=e.getElementById(o),u={};["data","position","selected","selectable","locked","grabbable","classes"].forEach((e=>{const o=i(n,e);a(o,i(t,e))&&(u[e]=r(o))}));const l=i(n,"scratch");a(l,i(t,"scratch"))&&s.scratch(r(l)),Object.keys(u).length>0&&s.json(u)};class N extends y().Component{static get propTypes(){return M}static get defaultProps(){return O}static normalizeElements(e){if(null!=e.length)return e;{let{nodes:t,edges:n}=e;return null==t&&(t=[]),null==n&&(n=[]),t.concat(n)}}constructor(e){super(e),this.displayName="CytoscapeComponent",this.containerRef=y().createRef()}componentDidMount(){const e=this.containerRef.current,{global:t,headless:n,styleEnabled:r,hideEdgesOnViewport:i,textureOnViewport:a,motionBlur:o,motionBlurOpacity:s,wheelSensitivity:u,pixelRatio:l}=this.props,c=this._cy=new(w())({container:e,headless:n,styleEnabled:r,hideEdgesOnViewport:i,textureOnViewport:a,motionBlur:o,motionBlurOpacity:s,wheelSensitivity:u,pixelRatio:l});t&&(window[t]=c),this.updateCytoscape(null,this.props)}updateCytoscape(e,t){const n=this._cy,{diff:r,toJson:i,get:a,forEach:o}=t;((e,t,n,r,i,a,o)=>{e.batch((()=>{(r===B||A(t,n,r,"elements"))&&((e,t,n,r,i,a,o)=>{const s=[],u=e.collection(),l=[],c={},d={},h=e=>i(i(e,"data"),"id");a(n,(e=>{const t=h(e);d[t]=e})),null!=t&&a(t,(t=>{const n=h(t);c[n]=t,(e=>null!=d[e])(n)||u.merge(e.getElementById(n))})),a(n,(e=>{const t=h(e),n=(e=>c[e])(t);(e=>null!=c[e])(t)?l.push({ele1:n,ele2:e}):s.push(r(e))})),u.length>0&&e.remove(u),s.length>0&&e.add(s),l.forEach((({ele1:t,ele2:n})=>z(e,t,n,r,i,o)))})(e,I(t,"elements"),I(n,"elements"),i,a,o,r),A(t,n,r,"stylesheet")&&((e,t,n,r)=>{const i=e.style();null!=i&&i.fromJson(r(n)).update()})(e,I(t,"stylesheet"),I(n,"stylesheet"),i),["zoom","minZoom","maxZoom","zoomingEnabled","userZoomingEnabled","pan","panningEnabled","userPanningEnabled","boxSelectionEnabled","autoungrabify","autolock","autounselectify"].forEach((a=>{A(t,n,r,a)&&((e,t,n,r,i)=>{e[t](i(r))})(e,a,I(t,a),I(n,a),i)}))})),A(t,n,r,"layout")&&((e,t,n,r)=>{const i=r(n);null!=i&&e.layout(i).run()})(e,I(t,"layout"),I(n,"layout"),i)})(n,e,t,r,i,a,o),null!=t.cy&&t.cy(n)}componentDidUpdate(e){this.updateCytoscape(e,this.props)}componentWillUnmount(){this._cy.destroy()}render(){const{id:e,className:t,style:n}=this.props;return y().createElement("div",{ref:this.containerRef,id:e,className:t,style:n})}}var L=n(6486),R=n.n(L);const j={randomUUID:"undefined"!=typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};let V;const F=new Uint8Array(16);function q(){if(!V&&(V="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!V))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return V(F)}const W=[];for(let e=0;e<256;++e)W.push((e+256).toString(16).slice(1));const Y=function(e,t,n){if(j.randomUUID&&!t&&!e)return j.randomUUID();const r=(e=e||{}).random||(e.rng||q)();if(r[6]=15&r[6]|64,r[8]=63&r[8]|128,t){n=n||0;for(let e=0;e<16;++e)t[n+e]=r[e];return t}return function(e,t=0){return W[e[t+0]]+W[e[t+1]]+W[e[t+2]]+W[e[t+3]]+"-"+W[e[t+4]]+W[e[t+5]]+"-"+W[e[t+6]]+W[e[t+7]]+"-"+W[e[t+8]]+W[e[t+9]]+"-"+W[e[t+10]]+W[e[t+11]]+W[e[t+12]]+W[e[t+13]]+W[e[t+14]]+W[e[t+15]]}(r)};function X(e){return X="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},X(e)}function H(e,t){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:!this.shouldResize,t=this.cy;e!==this.shouldResize&&(e?(t.on("render",this.updateViewport),t.on("resize",this.resize),this.updateViewport(t)):(t.removeListener("render",this.updateViewport),t.removeListener("resize",this.resize)),this.shouldResize=e)}},{key:"getViewport",value:function(){var e=this.cy;return{position:e.pan(),zoom:e.zoom(),renderedBB:Object.assign({},e.elements().renderedBoundingBox()),height:e.height(),width:e.width()}}},{key:"updateViewport",value:function(){var e=this.cy;this.prev=this.getViewport(e)}},{key:"_xConstrainedZoom",value:function(e){var t=this.curr,n=this.prev,r=this.marginPercentage.left*t.width;t.position.x=r+(n.position.x-n.renderedBB.x1);var i=t.renderedBB.y1+t.renderedBB.h/2-t.renderedBB.h/n.zoom*e/2;i+=(t.height-n.height)/2,t.position.y=i+(n.position.y-n.renderedBB.y1)}},{key:"_xChangeMargin",value:function(e){var t=this.curr,n=this.prev,r=n.renderedBB.x1+n.renderedBB.w/2,i=r/n.width*e;t.position.x=t.position.x+(i-r)}},{key:"_yConstrainedZoom",value:function(e){var t=this.curr,n=this.prev,r=this.marginPercentage.top*t.height;t.position.y=r+(n.position.y-n.renderedBB.y1);var i=t.renderedBB.x1+t.renderedBB.w/2-t.renderedBB.w/n.zoom*e/2;i+=(t.width-n.width)/2,t.position.x=i+(n.position.x-n.renderedBB.x1)}},{key:"_yChangeMargin",value:function(){var e=this.curr,t=this.prev,n=t.renderedBB.y1+t.renderedBB.h/2,r=n/t.height*e.height;e.position.y=e.position.y+(r-n)}},{key:"resize",value:function(){var e=this.cy;this.curr=this.getViewport(e);var t=this.curr,n=this.prev,r=n.renderedBB.x1>=0&&n.renderedBB.y1>=0&&n.renderedBB.x2<=n.width&&n.renderedBB.y2<=n.height;if(this.marginPercentage={left:n.renderedBB.x1/n.width,top:n.renderedBB.y1/n.height},Math.abs(1-t.width/n.width)>Math.abs(1-t.height/n.height)){var i=n.zoom/n.width*t.width;if(r)for(var a=Math.min((t.renderedBB.y1+t.renderedBB.h/2)*n.zoom*2/t.renderedBB.h,-(t.renderedBB.y1+t.renderedBB.h/2-n.height)*n.zoom*2/t.renderedBB.h)-this.containedZoomMargin,o=n.width/n.zoom*a,s=t.zoom=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return o=e.done,e},e:function(e){s=!0,a=e},f:function(){try{o||null==n.return||n.return()}finally{if(s)throw a}}}}function $(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);ne.maxZoom()||t0&&(r.selector=r.selector+", "),r.selector=r.selector+"edge"):"node"===l?(r.selector.length>0&&(r.selector=r.selector+", "),r.selector=r.selector+"node"):"canvas"===l?r.coreAsWell=!0:console.error("Error: selector ".concat(l," is not available. Choose one of 'node', 'edge' or 'canvas'."))}}catch(e){u.e(e)}finally{u.f()}}o.push(r)};for(s.s();!(i=s.n()).done;)u()}catch(e){s.e(e)}finally{s.f()}return o},this.cyResponsiveClass=new Z(e),this.cyResponsiveClass.toggle(this.props.responsive),s(e.extent())}}},{key:"handleImageGeneration",value:function(e,t,n,r){var i=this,a={};t&&(a=t);var o,s,u,l=a.output;switch(a.output="blob",n){case"store":default:o=!1,s=!0;break;case"download":o=!0,s=!1;break;case"both":o=!0,s=!0}if("png"===e&&(u=this._cy.png(a)),"jpg"!==e&&"jpeg"!==e||(u=this._cy.jpg(a)),"svg"===e&&(u=this._cy.svg(a)),u&&o){var c=r;if(r||(c="cyto"),"svg"!==e)this.downloadBlob(u,c+"."+e);else{var d=new Blob([u],{type:"image/svg+xml;charset=utf-8"});this.downloadBlob(d,c+"."+e)}}if(u&&s){if(l||(l="base64uri"),"base64uri"!==l&&"base64"!==l)return;var h=new FileReader;h.onload=function(){var e=h.result;"base64"===l&&(e=e.replace(/^data:.+;base64,/,"")),i.props.setProps({imageData:e})},h.readAsDataURL(u)}}},{key:"downloadBlob",value:function(e,t){var n=document.createElement("a");n.style="display: none",document.body.appendChild(n);var r=window.URL.createObjectURL(e);n.href=r,n.download=t,n.click(),window.URL.revokeObjectURL(r),document.body.removeChild(n)}},{key:"updateContextMenu",value:function(e){this._cy.contextMenus({menuItems:this.createMenuItems(e),menuItemClasses:["custom-menu-item"]})}},{key:"graphOutOfView",value:function(){var e=this._cy.width(),t=this._cy.height(),n=this._cy.elements().renderedBoundingbox();return n.x1>e||n.y1>t||n.x2<0||n.y2<0}},{key:"componentDidUpdate",value:function(e){var t=this.props,n=t.contextMenu,r=t.elements;!R().isEqual(e.contextMenu,n)&&this._cy&&this.updateContextMenu(n),!R().isEqual(e.elements,r)&&this._cy&&this.graphOutOfView()&&this._cy.fit()}},{key:"componentDidMount",value:function(){var e=this.props.contextMenu;this._cy&&e.length>0&&this.updateContextMenu(e)}},{key:"render",value:function(){var e=this.props,t=e.id,n=e.style,r=e.className,i=e.elements,a=e.stylesheet,o=e.layout,s=e.contextMenu,u=e.contextMenuData,l=e.pan,c=e.zoom,d=e.panningEnabled,h=e.userPanningEnabled,f=e.minZoom,p=e.maxZoom,v=e.zoomingEnabled,g=e.userZoomingEnabled,m=e.wheelSensitivity,b=e.boxSelectionEnabled,x=e.autoungrabify,w=e.autolock,_=e.autounselectify,E=e.generateImage,k=e.responsive;return Object.keys(E).length>0&&(this.props.setProps({generateImage:{}}),this._cy&&this.handleImageGeneration(E.type,E.options,E.action,E.filename)),this.cyResponsiveClass&&this.cyResponsiveClass.toggle(k),y().createElement(N,{id:t,cy:this.handleCy,className:r,style:n,elements:N.normalizeElements(i),stylesheet:a,layout:o,contextMenu:s,contextMenuData:u,pan:l,zoom:c,panningEnabled:d,userPanningEnabled:h,minZoom:f,maxZoom:p,zoomingEnabled:v,userZoomingEnabled:g,wheelSensitivity:m,boxSelectionEnabled:b,autoungrabify:x,autolock:w,autounselectify:_})}}],r&&Q(n.prototype,r),Object.defineProperty(n,"prototype",{writable:!1}),t}(g.Component);oe.propTypes={id:b().string,className:b().string,style:b().object,setProps:b().func,elements:b().oneOfType([b().arrayOf(b().shape({group:b().string,data:b().shape({id:b().string,label:b().string,parent:b().string,source:b().string,target:b().string}),position:b().shape({x:b().number,y:b().number}),selected:b().bool,selectable:b().bool,locked:b().bool,grabbable:b().bool,classes:b().string})),b().exact({nodes:b().array,edges:b().array})]),stylesheet:b().arrayOf(b().exact({selector:b().string.isRequired,style:b().object.isRequired})),layout:b().shape({name:b().oneOf(["random","preset","circle","concentric","grid","breadthfirst","cose","cose-bilkent","fcose","cola","euler","spread","dagre","klay"]).isRequired,fit:b().bool,padding:b().number,animate:b().bool,animationDuration:b().number,boundingBox:b().object}),contextMenu:b().arrayOf(b().exact({id:b().string.isRequired,label:b().string.isRequired,tooltipText:b().string,availableOn:b().array,onClick:b().string,onClickCustom:b().string})),contextMenuData:b().exact({menuItemId:b().string,x:b().number,y:b().number,timeStamp:b().number,elementId:b().string,edgeSource:b().string,edgeTarget:b().string}),pan:b().exact({x:b().number,y:b().number}),zoom:b().number,panningEnabled:b().bool,userPanningEnabled:b().bool,minZoom:b().number,maxZoom:b().number,zoomingEnabled:b().bool,userZoomingEnabled:b().bool,wheelSensitivity:b().number,boxSelectionEnabled:b().bool,autoungrabify:b().bool,autolock:b().bool,autounselectify:b().bool,autoRefreshLayout:b().bool,tapNode:b().exact({edgesData:b().array,renderedPosition:b().object,timeStamp:b().number,classes:b().string,data:b().object,grabbable:b().bool,group:b().string,locked:b().bool,position:b().object,selectable:b().bool,selected:b().bool,style:b().object,ancestorsData:b().oneOfType([b().object,b().array]),childrenData:b().oneOfType([b().object,b().array]),descendantsData:b().oneOfType([b().object,b().array]),parentData:b().oneOfType([b().object,b().array]),siblingsData:b().oneOfType([b().object,b().array]),isParent:b().bool,isChildless:b().bool,isChild:b().bool,isOrphan:b().bool,relativePosition:b().object}),tapNodeData:b().object,tapEdge:b().exact({isLoop:b().bool,isSimple:b().bool,midpoint:b().object,sourceData:b().object,sourceEndpoint:b().object,targetData:b().object,targetEndpoint:b().object,timeStamp:b().number,classes:b().string,data:b().object,grabbable:b().bool,group:b().string,locked:b().bool,selectable:b().bool,selected:b().bool,style:b().object}),tapEdgeData:b().object,mouseoverNodeData:b().object,mouseoverEdgeData:b().object,selectedNodeData:b().array,selectedEdgeData:b().array,generateImage:b().shape({type:b().oneOf(["svg","png","jpg","jpeg"]),options:b().object,action:b().oneOf(["store","download","both"]),filename:b().string}),imageData:b().string,responsive:b().bool,extent:b().object,clearOnUnhover:b().bool},oe.defaultProps={style:{width:"600px",height:"600px"},layout:{name:"grid"},pan:{x:0,y:0},zoom:1,minZoom:1e-50,maxZoom:1e50,zoomingEnabled:!0,userZoomingEnabled:!0,panningEnabled:!0,userPanningEnabled:!0,wheelSensitivity:1,boxSelectionEnabled:!1,autolock:!1,autoungrabify:!1,autounselectify:!1,autoRefreshLayout:!0,generateImage:{},imageData:null,responsive:!1,clearOnUnhover:!1,elements:[],contextMenu:[]};const se=oe})(),window.dash_cytoscape=r})(); \ No newline at end of file diff --git a/dash_cytoscape/dash_cytoscape_extra.dev.js b/dash_cytoscape/dash_cytoscape_extra.dev.js index e13ef6cc..92972691 100644 --- a/dash_cytoscape/dash_cytoscape_extra.dev.js +++ b/dash_cytoscape/dash_cytoscape_extra.dev.js @@ -26,7 +26,7 @@ eval("/*! (c) Andrea Giammarchi @webreflection ISC */\n(function () {\n 'use st /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _src_assets_contextmenu_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../src/assets/contextmenu.css */ \"./src/assets/contextmenu.css\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var react_cytoscapejs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-cytoscapejs */ \"./node_modules/react-cytoscapejs/dist/react-cytoscape.modern.js\");\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! lodash */ \"./node_modules/lodash/lodash.js\");\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var uuid__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! uuid */ \"./node_modules/uuid/dist/esm-browser/v4.js\");\n/* harmony import */ var _cyResponsive_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../cyResponsive.js */ \"./src/lib/cyResponsive.js\");\n/* harmony import */ var _ungap_custom_elements__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @ungap/custom-elements */ \"./node_modules/@ungap/custom-elements/index.js\");\n/* harmony import */ var _ungap_custom_elements__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_ungap_custom_elements__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _cyleaflet_clientside_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../cyleaflet_clientside.js */ \"./src/lib/cyleaflet_clientside.js\");\n/* harmony import */ var _cyleaflet_clientside_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_cyleaflet_clientside_js__WEBPACK_IMPORTED_MODULE_6__);\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : String(i); }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n/**\n * JavaScript Requirements: cytoscape, cytoscape-svg\n * React.js requirements: react-cytoscapejs\n */\n\n\n\n\n\n\n\n\n// Polyfill so that context menu extension works in Safari\n\nvar cytoscape = __webpack_require__(/*! cytoscape */ \"./node_modules/cytoscape/dist/cytoscape.cjs.js\");\nvar contextMenus = __webpack_require__(/*! cytoscape-context-menus */ \"./node_modules/cytoscape-context-menus/cytoscape-context-menus.js\");\n\n// Clientside callback functions for CyLeaflet AIO component\n\n\n// register extension\ncontextMenus(cytoscape);\n/**\n * A Component Library for Dash aimed at facilitating network visualization in\n * Python, wrapped around [Cytoscape.js](http://js.cytoscape.org/).\n */\nvar Cytoscape = /*#__PURE__*/function (_Component) {\n _inherits(Cytoscape, _Component);\n function Cytoscape(props) {\n var _this;\n _classCallCheck(this, Cytoscape);\n _this = _callSuper(this, Cytoscape, [props]);\n _this.handleCy = _this.handleCy.bind(_assertThisInitialized(_this));\n _this._handleCyCalled = false;\n _this.handleImageGeneration = _this.handleImageGeneration.bind(_assertThisInitialized(_this));\n _this.cyResponsiveClass = false;\n return _this;\n }\n _createClass(Cytoscape, [{\n key: \"generateNode\",\n value: function generateNode(event) {\n var ele = event.target;\n var isParent = ele.isParent(),\n isChildless = ele.isChildless(),\n isChild = ele.isChild(),\n isOrphan = ele.isOrphan(),\n renderedPosition = ele.renderedPosition(),\n relativePosition = ele.relativePosition(),\n parent = ele.parent(),\n style = ele.style();\n\n // Trim down the element objects to only the data contained\n var edgesData = ele.connectedEdges().map(function (ele) {\n return ele.data();\n });\n var childrenData = ele.children().map(function (ele) {\n return ele.data();\n });\n var ancestorsData = ele.ancestors().map(function (ele) {\n return ele.data();\n });\n var descendantsData = ele.descendants().map(function (ele) {\n return ele.data();\n });\n var siblingsData = ele.siblings().map(function (ele) {\n return ele.data();\n });\n var timeStamp = event.timeStamp;\n var _ele$json = ele.json(),\n classes = _ele$json.classes,\n data = _ele$json.data,\n grabbable = _ele$json.grabbable,\n group = _ele$json.group,\n locked = _ele$json.locked,\n position = _ele$json.position,\n selected = _ele$json.selected,\n selectable = _ele$json.selectable;\n var parentData;\n if (parent) {\n parentData = parent.data();\n } else {\n parentData = null;\n }\n var nodeObject = {\n // Nodes attributes\n edgesData: edgesData,\n renderedPosition: renderedPosition,\n timeStamp: timeStamp,\n // From ele.json()\n classes: classes,\n data: data,\n grabbable: grabbable,\n group: group,\n locked: locked,\n position: position,\n selectable: selectable,\n selected: selected,\n // Compound Nodes additional attributes\n ancestorsData: ancestorsData,\n childrenData: childrenData,\n descendantsData: descendantsData,\n parentData: parentData,\n siblingsData: siblingsData,\n isParent: isParent,\n isChildless: isChildless,\n isChild: isChild,\n isOrphan: isOrphan,\n relativePosition: relativePosition,\n // Styling\n style: style\n };\n return nodeObject;\n }\n }, {\n key: \"generateEdge\",\n value: function generateEdge(event) {\n var ele = event.target;\n var midpoint = ele.midpoint(),\n isLoop = ele.isLoop(),\n isSimple = ele.isSimple(),\n sourceData = ele.source().data(),\n sourceEndpoint = ele.sourceEndpoint(),\n style = ele.style(),\n targetData = ele.target().data(),\n targetEndpoint = ele.targetEndpoint();\n var timeStamp = event.timeStamp;\n var _ele$json2 = ele.json(),\n classes = _ele$json2.classes,\n data = _ele$json2.data,\n grabbable = _ele$json2.grabbable,\n group = _ele$json2.group,\n locked = _ele$json2.locked,\n selectable = _ele$json2.selectable,\n selected = _ele$json2.selected;\n var edgeObject = {\n // Edges attributes\n isLoop: isLoop,\n isSimple: isSimple,\n midpoint: midpoint,\n sourceData: sourceData,\n sourceEndpoint: sourceEndpoint,\n targetData: targetData,\n targetEndpoint: targetEndpoint,\n timeStamp: timeStamp,\n // From ele.json()\n classes: classes,\n data: data,\n grabbable: grabbable,\n group: group,\n locked: locked,\n selectable: selectable,\n selected: selected,\n // Styling\n style: style\n };\n return edgeObject;\n }\n }, {\n key: \"handleCy\",\n value: function handleCy(cy) {\n var _this2 = this;\n // If the cy pointer has not been modified, and handleCy has already\n // been called before, than we don't run this function.\n if (cy === this._cy && this._handleCyCalled) {\n return;\n }\n this._cy = cy;\n window.cy = cy;\n this._handleCyCalled = true;\n\n // ///////////////////////////////////// CONSTANTS /////////////////////////////////////////\n var SELECT_THRESHOLD = 100;\n var EXTENT_THRESHOLD = 5;\n var selectedNodes = cy.collection();\n var selectedEdges = cy.collection();\n\n // ///////////////////////////////////// FUNCTIONS /////////////////////////////////////////\n var refreshLayout = lodash__WEBPACK_IMPORTED_MODULE_3___default().debounce(function () {\n /**\n * Refresh Layout if needed\n */\n var _this2$props = _this2.props,\n autoRefreshLayout = _this2$props.autoRefreshLayout,\n layout = _this2$props.layout;\n if (autoRefreshLayout) {\n cy.layout(layout).run();\n }\n }, SELECT_THRESHOLD);\n var sendSelectedNodesData = lodash__WEBPACK_IMPORTED_MODULE_3___default().debounce(function () {\n /**\n This function is repetitively called every time a node is selected\n or unselected, but keeps being debounced if it is called again\n within 100 ms (given by SELECT_THRESHOLD). Effectively, it only\n runs when all the nodes have been correctly selected/unselected and\n added/removed from the selectedNodes collection, and then updates\n the selectedNodeData prop.\n */\n var nodeData = selectedNodes.map(function (el) {\n return el.data();\n });\n _this2.props.setProps({\n selectedNodeData: nodeData\n });\n }, SELECT_THRESHOLD);\n var sendSelectedEdgesData = lodash__WEBPACK_IMPORTED_MODULE_3___default().debounce(function () {\n var edgeData = selectedEdges.map(function (el) {\n return el.data();\n });\n _this2.props.setProps({\n selectedEdgeData: edgeData\n });\n }, SELECT_THRESHOLD);\n var setExtent = lodash__WEBPACK_IMPORTED_MODULE_3___default().debounce(function (cyExtent) {\n _this2.props.setProps({\n extent: cyExtent\n });\n }, EXTENT_THRESHOLD);\n\n // Store the original maxZoom and minZoom functions\n var originalMaxZoomFn = cy.maxZoom;\n var originalMinZoomFn = cy.minZoom;\n\n // Override the maxZoom function to trigger maxZoomChange custom event\n cy.maxZoom = function (e) {\n var currentMaxZoom = originalMaxZoomFn.call(cy, e);\n\n // Trigger your custom event if the current max zoom level is different from the \n // previously stored max zoom level\n if (currentMaxZoom !== cy._previousMaxZoom) {\n cy._previousMaxZoom = currentMaxZoom;\n cy.trigger('minMaxZoomChange');\n }\n return currentMaxZoom;\n };\n\n // Override the minZoom function to trigger minZoomChange custom event\n cy.minZoom = function (e) {\n var currentMinZoom = originalMinZoomFn.call(cy, e);\n\n // Trigger your custom event if the current min zoom level is different from the \n // previously stored min zoom level\n if (currentMinZoom !== cy._previousMinZoom) {\n cy._previousMinZoom = currentMinZoom;\n cy.trigger('minMaxZoomChange');\n }\n return currentMinZoom;\n };\n\n // /////////////////////////////////////// EVENTS //////////////////////////////////////////\n\n cy.on('tap', 'node', function (event) {\n var nodeObject = _this2.generateNode(event);\n _this2.props.setProps({\n tapNode: nodeObject,\n tapNodeData: Object.assign({}, nodeObject.data, {\n timeStamp: nodeObject.timeStamp\n })\n });\n });\n cy.on('tap', 'edge', function (event) {\n var edgeObject = _this2.generateEdge(event);\n _this2.props.setProps({\n tapEdge: edgeObject,\n tapEdgeData: Object.assign({}, edgeObject.data, {\n timeStamp: edgeObject.timeStamp\n })\n });\n });\n cy.on('mouseover', 'node', function (event) {\n _this2.props.setProps({\n mouseoverNodeData: Object.assign({}, event.target.data(), {\n timeStamp: event.timeStamp\n })\n });\n });\n cy.on('mouseover', 'edge', function (event) {\n _this2.props.setProps({\n mouseoverEdgeData: Object.assign({}, event.target.data(), {\n timeStamp: event.timeStamp\n })\n });\n });\n cy.on('mouseout', 'node', function (_) {\n if (_this2.props.clearOnUnhover === true) {\n _this2.props.setProps({\n mouseoverNodeData: null\n });\n }\n });\n cy.on('mouseout', 'edge', function (_) {\n if (_this2.props.clearOnUnhover === true) {\n _this2.props.setProps({\n mouseoverEdgeData: null\n });\n }\n });\n cy.on('select', 'node', function (event) {\n var ele = event.target;\n selectedNodes.merge(ele);\n sendSelectedNodesData();\n });\n cy.on('unselect remove', 'node', function (event) {\n var ele = event.target;\n selectedNodes.unmerge(ele);\n sendSelectedNodesData();\n });\n cy.on('select', 'edge', function (event) {\n var ele = event.target;\n selectedEdges.merge(ele);\n sendSelectedEdgesData();\n });\n cy.on('unselect remove', 'edge', function (event) {\n var ele = event.target;\n selectedEdges.unmerge(ele);\n sendSelectedEdgesData();\n });\n cy.on('add remove', function () {\n refreshLayout();\n });\n cy.on('dragfree add remove', function (_) {\n _this2.props.setProps({\n elements: cy.elements('').map(function (item) {\n if (item.json().group === 'nodes') {\n return {\n data: item.json().data,\n position: item.json().position\n };\n }\n return {\n data: item.json().data,\n position: void 0\n };\n })\n });\n });\n cy.on('viewport resize', function () {\n setExtent(cy.extent());\n });\n\n // Refresh layout if current zoom is out of boundaries\n cy.on('minMaxZoomChange', function () {\n var zoom = cy.zoom();\n if (zoom > cy.maxZoom() || zoom < cy.minZoom()) {\n cy.fit();\n }\n });\n this.createMenuItems = function (ctxMenu) {\n var updateContextMenuData = function updateContextMenuData(newContext) {\n _this2.props.setProps({\n contextMenuData: newContext\n });\n };\n var contextMenuDefaultFunctions = {\n remove: function remove(event) {\n var target = event.target || event.cyTarget;\n target.remove();\n },\n add_node: function add_node(event) {\n var pos = event.position || event.cyPosition;\n cy.add({\n data: {\n group: 'nodes'\n },\n position: {\n x: pos.x,\n y: pos.y\n }\n });\n },\n add_edge: function add_edge() {\n var selectedNodeIds = selectedNodes.map(function (node) {\n return node.id();\n });\n if (selectedNodes.length === 0) {\n console.error('Error: No nodes selected, cannot add edge');\n } else if (selectedNodes.length === 1) {\n cy.add({\n data: {\n id: (0,uuid__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(),\n group: 'edges',\n source: selectedNodeIds[0],\n target: selectedNodeIds[0]\n }\n });\n } else if (selectedNodes.length === 2) {\n cy.add({\n data: {\n id: (0,uuid__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(),\n group: 'edges',\n source: selectedNodeIds[0],\n target: selectedNodeIds[1]\n }\n });\n } else {\n console.error('Error: more than 2 nodes selected, cannot add edge');\n }\n }\n };\n var newMenuItems = [];\n var _iterator = _createForOfIteratorHelper(ctxMenu),\n _step;\n try {\n var _loop = function _loop() {\n var item = _step.value;\n var onClickFunction;\n // return data so a user can define a custom on click function in Python\n // if onClick or on onClickCustom are not specified\n onClickFunction = function onClickFunction(event) {\n updateContextMenuData({\n menuItemId: item.id,\n x: event.position.x,\n y: event.position.y,\n timeStamp: event.timeStamp,\n elementId: event.target.data().id,\n edgeSource: event.target.data().source,\n edgeTarget: event.target.data().target\n });\n };\n // use default javascript function as onClickFunction\n if (Object.prototype.hasOwnProperty.call(item, 'onClick')) {\n if (Object.prototype.hasOwnProperty.call(contextMenuDefaultFunctions, item.onClick)) {\n onClickFunction = contextMenuDefaultFunctions[item.onClick];\n } else {\n console.error(\"onClick function \".concat(item.onClick, \" is not defined\"));\n }\n }\n // use user-defined Javascript function in a namespace under assets/ as onClickFunction\n else if (Object.prototype.hasOwnProperty.call(item, 'onClickCustom')) {\n if (Object.prototype.hasOwnProperty.call(window, 'dashCytoscapeFunctions') && Object.prototype.hasOwnProperty.call(window.dashCytoscapeFunctions, item.onClickCustom)) {\n onClickFunction = window.dashCytoscapeFunctions[item.onClickCustom];\n } else {\n console.error(\"onClickCustom function \".concat(item.onClickCustom, \" is not defined\"));\n }\n }\n var new_item = {\n id: item.id,\n content: item.label,\n tooltipText: item.tooltipText,\n selector: '',\n onClickFunction: onClickFunction,\n coreAsWell: false\n };\n if (Object.prototype.hasOwnProperty.call(item, 'availableOn')) {\n var _iterator2 = _createForOfIteratorHelper(item.availableOn),\n _step2;\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var selector = _step2.value;\n if (selector === 'edge') {\n if (new_item.selector.length > 0) {\n new_item.selector = new_item.selector + ', ';\n }\n new_item.selector = new_item.selector + 'edge';\n } else if (selector === 'node') {\n if (new_item.selector.length > 0) {\n new_item.selector = new_item.selector + ', ';\n }\n new_item.selector = new_item.selector + 'node';\n } else if (selector === 'canvas') {\n new_item.coreAsWell = true;\n } else {\n console.error(\"Error: selector \".concat(selector, \" is not available. Choose one of 'node', 'edge' or 'canvas'.\"));\n }\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n }\n newMenuItems.push(new_item);\n };\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n _loop();\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n return newMenuItems;\n };\n this.cyResponsiveClass = new _cyResponsive_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"](cy);\n this.cyResponsiveClass.toggle(this.props.responsive);\n setExtent(cy.extent());\n }\n }, {\n key: \"handleImageGeneration\",\n value: function handleImageGeneration(imageType, imageOptions, actionsToPerform, fileName) {\n var _this3 = this;\n var options = {};\n if (imageOptions) {\n options = imageOptions;\n }\n var desiredOutput = options.output;\n options.output = 'blob';\n var downloadImage;\n var storeImage;\n switch (actionsToPerform) {\n case 'store':\n downloadImage = false;\n storeImage = true;\n break;\n case 'download':\n downloadImage = true;\n storeImage = false;\n break;\n case 'both':\n downloadImage = true;\n storeImage = true;\n break;\n default:\n downloadImage = false;\n storeImage = true;\n break;\n }\n var output;\n if (imageType === 'png') {\n output = this._cy.png(options);\n }\n if (imageType === 'jpg' || imageType === 'jpeg') {\n output = this._cy.jpg(options);\n }\n // only works when svg is imported (see lib/extra_index.js)\n if (imageType === 'svg') {\n output = this._cy.svg(options);\n }\n\n /*\n * If output is empty because of bad options or a cytoscape error,\n * skip any download or storage steps.\n */\n if (output && downloadImage) {\n /*\n * Downloading is initiated client-side because the image is generated at\n * the client. This avoids transferring a potentially large image\n * to the server and back again through a callback.\n */\n var fName = fileName;\n if (!fileName) {\n fName = 'cyto';\n }\n if (imageType !== 'svg') {\n this.downloadBlob(output, fName + '.' + imageType);\n } else {\n var blob = new Blob([output], {\n type: 'image/svg+xml;charset=utf-8'\n });\n this.downloadBlob(blob, fName + '.' + imageType);\n }\n }\n if (output && storeImage) {\n // Default output type if unspecified\n if (!desiredOutput) {\n desiredOutput = 'base64uri';\n }\n if (!(desiredOutput === 'base64uri' || desiredOutput === 'base64')) {\n return;\n }\n\n /*\n * Convert blob to base64uri or base64 string to store the image data.\n * Thank you, base64guru https://base64.guru/developers/javascript/examples/encode-blob\n */\n var reader = new FileReader();\n reader.onload = function () {\n /* FileReader is asynchronous, so the read function is non-blocking.\n * If this code block is placed after the read command, it\n * may result in empty output because the blob has not been loaded yet.\n */\n var callbackData = reader.result;\n if (desiredOutput === 'base64') {\n callbackData = callbackData.replace(/^data:.+;base64,/, '');\n }\n _this3.props.setProps({\n imageData: callbackData\n });\n };\n reader.readAsDataURL(output);\n }\n }\n }, {\n key: \"downloadBlob\",\n value: function downloadBlob(blob, fileName) {\n /*\n * Download blob as file by dynamically creating link.\n * Chrome does not open data URLs when JS opens a new tab directed\n * at the data URL, so this is an alternate implementation\n * that doesn't require extra packages. It may not behave in\n * exactly the same way across browsers (might display image in new tab\n * intead of downloading as a file).\n * Thank you, koldev https://jsfiddle.net/koldev/cW7W5/\n */\n var downloadLink = document.createElement('a');\n downloadLink.style = 'display: none';\n document.body.appendChild(downloadLink);\n var url = window.URL.createObjectURL(blob);\n downloadLink.href = url;\n downloadLink.download = fileName;\n downloadLink.click();\n window.URL.revokeObjectURL(url);\n document.body.removeChild(downloadLink);\n }\n }, {\n key: \"updateContextMenu\",\n value: function updateContextMenu(contextMenu) {\n this._cy.contextMenus({\n menuItems: this.createMenuItems(contextMenu),\n menuItemClasses: ['custom-menu-item']\n });\n }\n\n // Returns true if there is no overlap between the element bounding box\n // and the rendered area of the graph, meaning the graph is entirely outside the viewport;\n // returns false otherwise\n }, {\n key: \"graphOutOfView\",\n value: function graphOutOfView() {\n var cyWidth = this._cy.width();\n var cyHeight = this._cy.height();\n var elBox = this._cy.elements().renderedBoundingbox();\n return elBox.x1 > cyWidth || elBox.y1 > cyHeight || elBox.x2 < 0 || elBox.y2 < 0;\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n var _this$props = this.props,\n contextMenu = _this$props.contextMenu,\n elements = _this$props.elements;\n if (!lodash__WEBPACK_IMPORTED_MODULE_3___default().isEqual(prevProps.contextMenu, contextMenu) && this._cy) {\n this.updateContextMenu(contextMenu);\n }\n if (!lodash__WEBPACK_IMPORTED_MODULE_3___default().isEqual(prevProps.elements, elements) && this._cy) {\n // If elements were updated, and the new graph is *entirely* outside the viewport,\n // fit the viewport to the new elements\n if (this.graphOutOfView()) {\n this._cy.fit();\n }\n }\n }\n }, {\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var contextMenu = this.props.contextMenu;\n if (this._cy && contextMenu.length > 0) {\n this.updateContextMenu(contextMenu);\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props2 = this.props,\n id = _this$props2.id,\n style = _this$props2.style,\n className = _this$props2.className,\n elements = _this$props2.elements,\n stylesheet = _this$props2.stylesheet,\n layout = _this$props2.layout,\n contextMenu = _this$props2.contextMenu,\n contextMenuData = _this$props2.contextMenuData,\n pan = _this$props2.pan,\n zoom = _this$props2.zoom,\n panningEnabled = _this$props2.panningEnabled,\n userPanningEnabled = _this$props2.userPanningEnabled,\n minZoom = _this$props2.minZoom,\n maxZoom = _this$props2.maxZoom,\n zoomingEnabled = _this$props2.zoomingEnabled,\n userZoomingEnabled = _this$props2.userZoomingEnabled,\n wheelSensitivity = _this$props2.wheelSensitivity,\n boxSelectionEnabled = _this$props2.boxSelectionEnabled,\n autoungrabify = _this$props2.autoungrabify,\n autolock = _this$props2.autolock,\n autounselectify = _this$props2.autounselectify,\n generateImage = _this$props2.generateImage,\n responsive = _this$props2.responsive;\n if (Object.keys(generateImage).length > 0) {\n // If no cytoscape object has been created yet, an image cannot be generated,\n // so generateImage will be ignored and cleared.\n this.props.setProps({\n generateImage: {}\n });\n if (this._cy) {\n this.handleImageGeneration(generateImage.type, generateImage.options, generateImage.action, generateImage.filename);\n }\n }\n if (this.cyResponsiveClass) {\n this.cyResponsiveClass.toggle(responsive);\n }\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(react_cytoscapejs__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n id: id,\n cy: this.handleCy,\n className: className,\n style: style,\n elements: react_cytoscapejs__WEBPACK_IMPORTED_MODULE_2__[\"default\"].normalizeElements(elements),\n stylesheet: stylesheet,\n layout: layout,\n contextMenu: contextMenu,\n contextMenuData: contextMenuData,\n pan: pan,\n zoom: zoom,\n panningEnabled: panningEnabled,\n userPanningEnabled: userPanningEnabled,\n minZoom: minZoom,\n maxZoom: maxZoom,\n zoomingEnabled: zoomingEnabled,\n userZoomingEnabled: userZoomingEnabled,\n wheelSensitivity: wheelSensitivity,\n boxSelectionEnabled: boxSelectionEnabled,\n autoungrabify: autoungrabify,\n autolock: autolock,\n autounselectify: autounselectify\n });\n }\n }]);\n return Cytoscape;\n}(react__WEBPACK_IMPORTED_MODULE_1__.Component);\nCytoscape.propTypes = {\n // HTML attribute props\n\n /**\n * The ID used to identify this component in Dash callbacks.\n */\n id: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /**\n * Sets the class name of the element (the value of an element's html\n * class attribute).\n */\n className: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /**\n * Add inline styles to the root element.\n */\n style: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n // Dash specific props\n\n /**\n * Dash-assigned callback that should be called whenever any of the\n * properties change.\n */\n setProps: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().func),\n // Common props\n\n /**\n * A list of dictionaries representing the elements of the networks. Each dictionary describes an element, and\n * specifies its purpose. The [official Cytoscape.js documentation](https://js.cytoscape.org/#notation/elements-json)\n * offers an extensive overview and examples of element declaration.\n * Alternatively, a dictionary with the format { 'nodes': [], 'edges': [] } is allowed at initialization,\n * but arrays remain the recommended format.\n */\n elements: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_8___default().arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_8___default().shape({\n /**\n * Either 'nodes' or 'edges'. If not given, it's automatically inferred.\n */\n group: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** Element specific data.*/\n data: prop_types__WEBPACK_IMPORTED_MODULE_8___default().shape({\n /** Reference to the element, useful for selectors and edges. Randomly assigned if not given.*/\n id: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /**\n * Optional name for the element, useful when `data(label)` is given to a style's `content`\n * or `label`. It is only a convention. */\n label: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** Only for nodes. Optional reference to another node. Needed to create compound nodes. */\n parent: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** Only for edges. The id of the source node, which is where the edge starts. */\n source: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** Only for edges. The id of the target node, where the edge ends. */\n target: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string)\n }),\n /** Only for nodes. The position of the node. */\n position: prop_types__WEBPACK_IMPORTED_MODULE_8___default().shape({\n /** The x-coordinate of the node. */\n x: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /** The y-coordinate of the node. */\n y: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number)\n }),\n /** If the element is selected upon initialisation. */\n selected: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** If the element can be selected. */\n selectable: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Only for nodes. If the position is immutable. */\n locked: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Only for nodes. If the node can be grabbed and moved by the user. */\n grabbable: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * Space separated string of class names of the element. Those classes can be selected\n * by a style selector.\n */\n classes: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string)\n })), prop_types__WEBPACK_IMPORTED_MODULE_8___default().exact({\n nodes: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array),\n edges: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array)\n })]),\n /**\n * A list of dictionaries representing the styles of the elements.\n * Each dictionary requires the following keys: `selector` and `style`.\n *\n * Both the [selector](https://js.cytoscape.org/#selectors) and\n * the [style](https://js.cytoscape.org/#style/node-body) are\n * exhaustively documented in the Cytoscape.js docs. Although methods such\n * as `cy.elements(...)` and `cy.filter(...)` are not available, the selector\n * string syntax stays the same.\n */\n stylesheet: prop_types__WEBPACK_IMPORTED_MODULE_8___default().arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_8___default().exact({\n /**\n * Which elements you are styling. Generally, you select a group of elements (node, edges, both),\n * a class (that you declare in the element dictionary), or an element by ID.\n */\n selector: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string).isRequired,\n /**\n * What aspects of the elements you want to modify. This could be the size or\n * color of a node, the shape of an edge arrow, or many more.\n */\n style: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object).isRequired\n })),\n /**\n * A dictionary specifying how to set the position of the elements in your\n * graph. The `'name'` key is required, and indicates which layout (algorithm) to\n * use. The keys accepted by `layout` vary depending on the algorithm, but these\n * keys are accepted by all layouts: `fit`, `padding`, `animate`, `animationDuration`,\n * `boundingBox`.\n *\n * The complete list of layouts and their accepted options are available on the\n * [Cytoscape.js docs](https://js.cytoscape.org/#layouts) . For the external layouts,\n * the options are listed in the \"API\" section of the README.\n * Note that certain keys are not supported in Dash since the value is a JavaScript\n * function or a callback. Please visit this\n * [issue](https://github.com/plotly/dash-cytoscape/issues/25) for more information.\n */\n layout: prop_types__WEBPACK_IMPORTED_MODULE_8___default().shape({\n /**\n * The layouts available by default are:\n * `random`: Randomly assigns positions.\n * `preset`: Assigns position based on the `position` key in element dictionaries.\n * `circle`: Single-level circle, with optional radius.\n * `concentric`: Multi-level circle, with optional radius.\n * `grid`: Square grid, optionally with numbers of `rows` and `cols`.\n * `breadthfirst`: Tree structure built using BFS, with optional `roots`.\n * `cose`: Force-directed physics simulation.\n *\n * Some external layouts are also included. To use them, run\n * `dash_cytoscape.load_extra_layouts()` before creating your Dash app. Be careful about\n * using the extra layouts when not necessary, since they require supplementary bandwidth\n * for loading, which impacts the startup time of the app.\n * The external layouts are:\n * [cose-bilkent](https://github.com/cytoscape/cytoscape.js-cose-bilkent),\n * [fcose](https://github.com/iVis-at-Bilkent/cytoscape.js-fcose),\n * [cola](https://github.com/cytoscape/cytoscape.js-cola),\n * [euler](https://github.com/cytoscape/cytoscape.js-dagre),\n * [spread](https://github.com/cytoscape/cytoscape.js-spread),\n * [dagre](https://github.com/cytoscape/cytoscape.js-dagre),\n * [klay](https://github.com/cytoscape/cytoscape.js-klay),\n */\n name: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOf(['random', 'preset', 'circle', 'concentric', 'grid', 'breadthfirst', 'cose', 'cose-bilkent', 'fcose', 'cola', 'euler', 'spread', 'dagre', 'klay']).isRequired,\n /** Whether to render the nodes in order to fit the canvas. */\n fit: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Padding around the sides of the canvas, if fit is enabled. */\n padding: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /** Whether to animate change in position when the layout changes. */\n animate: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Duration of animation in milliseconds, if enabled. */\n animationDuration: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /**\n * How to constrain the layout in a specific area. Keys accepted are either\n * `x1, y1, x2, y2` or `x1, y1, w, h`, all of which receive a pixel value.\n */\n boundingBox: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object)\n }),\n /**\n * Define a custom context menu. The behaviour of each menu item can be defined in 1 of 3 ways.\n * 1. By passing a string to onClick that refers to one of the built-in Javascript functions.\n * 2. By passing a string to onClickCustom that refers to one of the user-defined functions in a namespace.\n * 3. By omitting both of these properties; this will update the contextMenuData property and trigger a Dash callback.\n */\n contextMenu: prop_types__WEBPACK_IMPORTED_MODULE_8___default().arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_8___default().exact({\n /** ID of the menu item in the context menu */\n id: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string).isRequired,\n /** The label on the context menu item*/\n label: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string).isRequired,\n /** The tooltip text when hovering on top of a context menu item */\n tooltipText: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** A list containing either 'node', 'edge',and/or 'canvas'. This will determine where the context\n * menu item will show up.\n */\n availableOn: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array),\n /** Specify which built-in JavaScript function to use as behaviour for the context\n * menu item. One of 'remove', 'add_node', or 'add_edge'\n */\n onClick: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** Specify which user-defined Javascript function to use in the dashCytoscapeFunctions\n * namespace as behaviour for the context menu item\n */\n onClickCustom: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string)\n })),\n /**\n * Retrieve relevant data when a context menu item is clicked. Read-only.\n */\n contextMenuData: prop_types__WEBPACK_IMPORTED_MODULE_8___default().exact({\n /** ID of the menu item in the context menu */\n menuItemId: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** x-position of the context click */\n x: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /** y-position of the context click */\n y: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /** Timestamp of context click*/\n timeStamp: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /** Element ID on context click if the context click was on an element.\n * If context click was on white space, this property is not returned\n */\n elementId: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** Node ID of the edge source if the clicked element is an edge,\n * or else this property is not returned*/\n edgeSource: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** Node ID of the edge target if the clicked element is an edge,\n * or else this property is not returned*/\n edgeTarget: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string)\n }),\n // Viewport Manipulation\n\n /**\n * Dictionary indicating the initial panning position of the graph. The\n * following keys are accepted:\n */\n pan: prop_types__WEBPACK_IMPORTED_MODULE_8___default().exact({\n /** The x-coordinate of the node */\n x: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /** The y-coordinate of the node */\n y: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number)\n }),\n /**\n * The initial zoom level of the graph. You can set `minZoom` and\n * `maxZoom` to set restrictions on the zoom level.\n */\n zoom: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n // Viewport Mutability and gesture Toggling\n /**\n * Whether panning the graph is enabled (i.e., the position of the graph is\n * mutable overall).\n */\n panningEnabled: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * Whether user events (e.g. dragging the graph background) are allowed to\n * pan the graph.\n */\n userPanningEnabled: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * A minimum bound on the zoom level of the graph. The viewport can not be\n * scaled smaller than this zoom level.\n */\n minZoom: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /**\n * A maximum bound on the zoom level of the graph. The viewport can not be\n * scaled larger than this zoom level.\n */\n maxZoom: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /**\n * Whether zooming the graph is enabled (i.e., the zoom level of the graph\n * is mutable overall).\n */\n zoomingEnabled: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * Whether user events (e.g. dragging the graph background) are allowed\n * to pan the graph.\n */\n userZoomingEnabled: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * Changes the scroll wheel sensitivity when zooming.\n */\n wheelSensitivity: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /**\n * Whether box selection (i.e. drag a box overlay around, and release it\n * to select) is enabled. If enabled, the user must taphold to pan the graph.\n */\n boxSelectionEnabled: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * Whether nodes should be ungrabified (not grabbable by user) by\n * default (if true, overrides individual node state).\n */\n autoungrabify: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * Whether nodes should be locked (not draggable at all) by default\n * (if true, overrides individual node state).\n */\n autolock: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * Whether nodes should be unselectified (immutable selection state) by\n * default (if true, overrides individual element state).\n */\n autounselectify: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * Whether the layout should be refreshed when elements are added or removed.\n */\n autoRefreshLayout: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n // User Events Props\n\n /**\n * The complete node dictionary returned when you tap or click it. Read-only.\n */\n tapNode: prop_types__WEBPACK_IMPORTED_MODULE_8___default().exact({\n /** node specific item */\n edgesData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array),\n /** node specific item */\n renderedPosition: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** node specific item */\n timeStamp: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /** General item (for all elements) */\n classes: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** General item (for all elements) */\n data: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** General item (for all elements) */\n grabbable: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** General item (for all elements) */\n group: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** General item (for all elements) */\n locked: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** General item (for all elements) */\n position: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** General item (for all elements) */\n selectable: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** General item (for all elements) */\n selected: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** General item (for all elements) */\n style: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** Item for compound nodes */\n ancestorsData: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_8___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array)]),\n /** Item for compound nodes */\n childrenData: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_8___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array)]),\n /** Item for compound nodes */\n descendantsData: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_8___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array)]),\n /** Item for compound nodes */\n parentData: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_8___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array)]),\n /** Item for compound nodes */\n siblingsData: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_8___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array)]),\n /** Item for compound nodes */\n isParent: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Item for compound nodes */\n isChildless: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Item for compound nodes */\n isChild: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Item for compound nodes */\n isOrphan: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Item for compound nodes */\n relativePosition: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object)\n }),\n /**\n * The data dictionary of a node returned when you tap or click it. Read-only.\n */\n tapNodeData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /**\n * The complete edge dictionary returned when you tap or click it. Read-only.\n */\n tapEdge: prop_types__WEBPACK_IMPORTED_MODULE_8___default().exact({\n /** Edge-specific item */\n isLoop: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Edge-specific item */\n isSimple: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Edge-specific item */\n midpoint: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** Edge-specific item */\n sourceData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** Edge-specific item */\n sourceEndpoint: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** Edge-specific item */\n targetData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** Edge-specific item */\n targetEndpoint: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** Edge-specific item */\n timeStamp: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /** General item (for all elements) */\n classes: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** General item (for all elements) */\n data: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** General item (for all elements) */\n grabbable: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** General item (for all elements) */\n group: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** General item (for all elements) */\n locked: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** General item (for all elements) */\n selectable: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** General item (for all elements) */\n selected: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** General item (for all elements) */\n style: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object)\n }),\n /**\n * The data dictionary of an edge returned when you tap or click it. Read-only.\n */\n tapEdgeData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /**\n * The data dictionary of a node returned when you hover over it. Read-only.\n */\n mouseoverNodeData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /**\n * The data dictionary of an edge returned when you hover over it. Read-only.\n */\n mouseoverEdgeData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /**\n * The list of data dictionaries of all selected nodes (e.g. using\n * Shift+Click to select multiple nodes, or Shift+Drag to use box selection). Read-only.\n */\n selectedNodeData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array),\n /**\n * The list of data dictionaries of all selected edges (e.g. using\n * Shift+Click to select multiple nodes, or Shift+Drag to use box selection). Read-only.\n */\n selectedEdgeData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array),\n /**\n * Dictionary specifying options to generate an image of the current cytoscape graph.\n * Value is cleared after data is received and image is generated. This property will\n * be ignored on the initial creation of the cytoscape object and must be invoked through\n * a callback after it has been rendered.\n *\n * If the app does not need the image data server side and/or it will only be used to download\n * the image, it may be prudent to invoke `'download'` for `action` instead of\n * `'store'` to improve performance by preventing transfer of data to the server.\n */\n generateImage: prop_types__WEBPACK_IMPORTED_MODULE_8___default().shape({\n /** File type to output */\n type: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOf(['svg', 'png', 'jpg', 'jpeg']),\n /** Dictionary of options to cy.png() / cy.jpg() or cy.svg() for image generation.\n * See https://js.cytoscape.org/#core/export for details. For `'output'`, only 'base64'\n * and 'base64uri' are supported. Default: `{'output': 'base64uri'}`.*/\n options: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /**\n * `'store'`: Stores the image data (only jpg and png are supported)\n * in `imageData` and invokes server-side Dash callbacks. `'download'`: Downloads the image\n * as a file with all data handling done client-side. No `imageData` callbacks are fired.\n * `'both'`: Stores image data and downloads image as file. The default is `'store'`\n */\n action: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOf(['store', 'download', 'both']),\n /** Name for the file to be downloaded. Default: 'cyto'.*/\n filename: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string)\n }),\n /**\n * String representation of the image requested with generateImage. Null if no\n * image was requested yet or the previous request failed. Read-only.\n */\n imageData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /**\n * Toggles intelligent responsive resize of Cytoscape graph with viewport size change\n */\n responsive: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * Extent of the viewport, a bounding box in model co-ordinates that lets you know what model\n * positions are visible in the viewport. This function returns a plain object bounding box\n * with format { x1, y1, x2, y2, w, h }.\n */\n extent: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /**\n * If set to True, mouseoverNodeData and mouseoverEdgeData will be cleared on unhover.\n * If set to False, the value of mouseoverNodeData and mouseoverEdgeData will be the last\n * Node or Edge hovered over\n */\n clearOnUnhover: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool)\n};\nCytoscape.defaultProps = {\n style: {\n width: '600px',\n height: '600px'\n },\n layout: {\n name: 'grid'\n },\n pan: {\n x: 0,\n y: 0\n },\n zoom: 1,\n minZoom: 1e-50,\n maxZoom: 1e50,\n zoomingEnabled: true,\n userZoomingEnabled: true,\n panningEnabled: true,\n userPanningEnabled: true,\n wheelSensitivity: 1,\n boxSelectionEnabled: false,\n autolock: false,\n autoungrabify: false,\n autounselectify: false,\n autoRefreshLayout: true,\n generateImage: {},\n imageData: null,\n responsive: false,\n clearOnUnhover: false,\n elements: [],\n contextMenu: []\n};\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Cytoscape);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvbGliL2NvbXBvbmVudHMvQ3l0b3NjYXBlLnJlYWN0LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNxQztBQUNFO0FBQ0o7QUFDZ0I7QUFDNUI7QUFDVztBQUNZOztBQUU5QztBQUNnQztBQUVoQyxJQUFNUSxTQUFTLEdBQUdDLG1CQUFPLENBQUMsaUVBQVcsQ0FBQztBQUN0QyxJQUFNQyxZQUFZLEdBQUdELG1CQUFPLENBQUMsa0dBQXlCLENBQUM7O0FBRXZEO0FBQ29DOztBQUVwQztBQUNBQyxZQUFZLENBQUNGLFNBQVMsQ0FBQztBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUhBLElBSU1HLFNBQVMsMEJBQUFDLFVBQUE7RUFBQUMsU0FBQSxDQUFBRixTQUFBLEVBQUFDLFVBQUE7RUFDWCxTQUFBRCxVQUFZRyxLQUFLLEVBQUU7SUFBQSxJQUFBQyxLQUFBO0lBQUFDLGVBQUEsT0FBQUwsU0FBQTtJQUNmSSxLQUFBLEdBQUFFLFVBQUEsT0FBQU4sU0FBQSxHQUFNRyxLQUFLO0lBRVhDLEtBQUEsQ0FBS0csUUFBUSxHQUFHSCxLQUFBLENBQUtHLFFBQVEsQ0FBQ0MsSUFBSSxDQUFBQyxzQkFBQSxDQUFBTCxLQUFBLENBQUssQ0FBQztJQUN4Q0EsS0FBQSxDQUFLTSxlQUFlLEdBQUcsS0FBSztJQUM1Qk4sS0FBQSxDQUFLTyxxQkFBcUIsR0FBR1AsS0FBQSxDQUFLTyxxQkFBcUIsQ0FBQ0gsSUFBSSxDQUFBQyxzQkFBQSxDQUFBTCxLQUFBLENBQUssQ0FBQztJQUNsRUEsS0FBQSxDQUFLUSxpQkFBaUIsR0FBRyxLQUFLO0lBQUMsT0FBQVIsS0FBQTtFQUNuQztFQUFDUyxZQUFBLENBQUFiLFNBQUE7SUFBQWMsR0FBQTtJQUFBQyxLQUFBLEVBRUQsU0FBQUMsYUFBYUMsS0FBSyxFQUFFO01BQ2hCLElBQU1DLEdBQUcsR0FBR0QsS0FBSyxDQUFDRSxNQUFNO01BRXhCLElBQU1D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S0FBSztFQUNmRCxhQUFhLEVBQUUsS0FBSztFQUNwQkUsZUFBZSxFQUFFLEtBQUs7RUFDdEJ2SyxpQkFBaUIsRUFBRSxJQUFJO0VBQ3ZCd0ssYUFBYSxFQUFFLENBQUMsQ0FBQztFQUNqQmpELFNBQVMsRUFBRSxJQUFJO0VBQ2Z6QixVQUFVLEVBQUUsS0FBSztFQUNqQjVELGNBQWMsRUFBRSxLQUFLO0VBQ3JCRyxRQUFRLEVBQUUsRUFBRTtFQUNaa0csV0FBVyxFQUFFO0FBQ2pCLENBQUM7QUFFRCxpRUFBZWxOLFNBQVMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX2N5dG9zY2FwZS8uL3NyYy9saWIvY29tcG9uZW50cy9DeXRvc2NhcGUucmVhY3QuanM/NjQyYyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEphdmFTY3JpcHQgUmVxdWlyZW1lbnRzOiBjeXRvc2NhcGUsIGN5dG9zY2FwZS1zdmdcbiAqIFJlYWN0LmpzIHJlcXVpcmVtZW50czogcmVhY3QtY3l0b3NjYXBlanNcbiAqL1xuaW1wb3J0ICcvc3JjL2Fzc2V0cy9jb250ZXh0bWVudS5jc3MnO1xuaW1wb3J0IFJlYWN0LCB7Q29tcG9uZW50fSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IEN5dG9zY2FwZUNvbXBvbmVudCBmcm9tICdyZWFjdC1jeXRvc2NhcGVqcyc7XG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHt2NCBhcyB1dWlkdjR9IGZyb20gJ3V1aWQnO1xuaW1wb3J0IEN5UmVzcG9uc2l2ZSBmcm9tICcuLi9jeVJlc3BvbnNpdmUuanMnO1xuXG4vLyBQb2x5ZmlsbCBzbyB0aGF0IGNvbnRleHQgbWVudSBleHRlbnNpb24gd29ya3MgaW4gU2FmYXJpXG5pbXBvcnQgJ0B1bmdhcC9jdXN0b20tZWxlbWVudHMnO1xuXG5jb25zdCBjeXRvc2NhcGUgPSByZXF1aXJlKCdjeXRvc2NhcGUnKTtcbmNvbnN0IGNvbnRleHRNZW51cyA9IHJlcXVpcmUoJ2N5dG9zY2FwZS1jb250ZXh0LW1lbnVzJyk7XG5cbi8vIENsaWVudHNpZGUgY2FsbGJhY2sgZnVuY3Rpb25zIGZvciBDeUxlYWZsZXQgQUlPIGNvbXBvbmVudFxuaW1wb3J0ICcuLi9jeWxlYWZsZXRfY2xpZW50c2lkZS5qcyc7XG5cbi8vIHJlZ2lzdGVyIGV4dGVuc2lvblxuY29udGV4dE1lbnVzKGN5dG9zY2FwZSk7XG4vKipcbiAqIEEgQ29tcG9uZW50IExpYnJhcnkgZm9yIERhc2ggYWltZWQgYXQgZmFjaWxpdGF0aW5nIG5ldHdvcmsgdmlzdWFsaXphdGlvbiBpblxuICogUHl0aG9uLCB3cmFwcGVkIGFyb3VuZCBbQ3l0b3NjYXBlLmpzXShodHRwOi8vanMuY3l0b3NjYXBlLm9yZy8pLlxuICovXG5jbGFzcyBDeXRvc2NhcGUgZXh0ZW5kcyBDb21wb25lbnQge1xuICAgIGNvbnN0cnVjdG9yKHByb3BzKSB7XG4gICAgICAgIHN1cGVyKHByb3BzKTtcblxuICAgICAgICB0aGlzLmhhbmRsZUN5ID0gdGhpcy5oYW5kbGVDeS5iaW5kKHRoaXMpO1xuICAgICAgICB0aGlzLl9oYW5kbGVDeUNhbGxlZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLmhhbmRsZUltYWdlR2VuZXJhdGlvbiA9IHRoaXMuaGFuZGxlSW1hZ2VHZW5lcmF0aW9uLmJpbmQodGhpcyk7XG4gICAgICAgIHRoaXMuY3lSZXNwb25zaXZlQ2xhc3MgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBnZW5lcmF0ZU5vZGUoZXZlbnQpIHtcbiAgICAgICAgY29uc3QgZWxlID0gZXZlbnQudGFyZ2V0O1xuXG4gICAgICAgIGNvbnN0IGlzUGFyZW50ID0gZWxlLmlzUGFyZW50KCksXG4gICAgICAgICAgICBpc0NoaWxkbGVzcyA9IGVsZS5pc0NoaWxkbGVzcygpLFxuICAgICAgICAgICAgaXNDaGlsZCA9IGVsZS5pc0NoaWxkKCksXG4gICAgICAgICAgICBpc09ycGhhbiA9IGVsZS5pc09ycGhhbigpLFxuICAgICAgICAgICAgcmVuZGVyZWRQb3NpdGlvbiA9IGVsZS5yZW5kZXJlZFBvc2l0aW9uKCksXG4gICAgICAgICAgICByZWxhdGl2ZVBvc2l0aW9uID0gZWxlLnJlbGF0aXZlUG9zaXRpb24oKSxcbiAgICAgICAgICAgIHBhcmVudCA9IGVsZS5wYXJlbnQoKSxcbiAgICAgICAgICAgIHN0eWxlID0gZWxlLnN0eWxlKCk7XG5cbiAgICAgICAgLy8gVHJpbSBkb3duIHRoZSBlbGVtZW50IG9iamVjdHMgdG8gb25seSB0aGUgZGF0YSBjb250YWluZWRcbiAgICAgICAgY29uc3QgZWRnZXNEYXRhID0gZWxlLmNvbm5lY3RlZEVkZ2VzKCkubWFwKChlbGUpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBlbGUuZGF0YSgpO1xuICAgICAgICB9KTtcbiAgICAgICAgY29uc3QgY2hpbGRyZW5EYXRhID0gZWxlLmNoaWxkcmVuKCkubWFwKChlbGUpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBlbGUuZGF0YSgpO1xuICAgICAgICB9KTtcbiAgICAgICAgY29uc3QgYW5jZXN0b3JzRGF0YSA9IGVsZS5hbmNlc3RvcnMoKS5tYXAoKGVsZSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGVsZS5kYXRhKCk7XG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBkZXNjZW5kYW50c0RhdGEgPSBlbGUuZGVzY2VuZGFudHMoKS5tYXAoKGVsZSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGVsZS5kYXRhKCk7XG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBzaWJsaW5nc0RhdGEgPSBlbGUuc2libGluZ3MoKS5tYXAoKGVsZSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGVsZS5kYXRhKCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IHt0aW1lU3RhbXB9ID0gZXZlbnQ7XG4gICAgICAgIGNvbnN0IHtcbiAgICAgICAgICAgIGNsYXNzZXMsXG4gICAgICAgICAgICBkYXRhLFxuICAgICAgICAgICAgZ3JhYmJhYmxlLFxuICAgICAgICAgICAgZ3JvdXAsXG4gICAgICAgICAgICBsb2NrZWQsXG4gICAgICAgICAgICBwb3NpdGlvbixcbiAgICAgICAgICAgIHNlbGVjdGVkLFxuICAgICAgICAgICAgc2VsZWN0YWJsZSxcbiAgICAgICAgfSA9IGVsZS5qc29uKCk7XG5cbiAgICAgICAgbGV0IHBhcmVudERhdGE7XG4gICAgICAgIGlmIChwYXJlbnQpIHtcbiAgICAgICAgICAgIHBhcmVudERhdGEgPSBwYXJlbnQuZGF0YSgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcGFyZW50RGF0YSA9IG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBub2RlT2JqZWN0ID0ge1xuICAgICAgICAgICAgLy8gTm9kZXMgYXR0cmlidXRlc1xuICAgICAgICAgICAgZWRnZXNEYXRhLFxuICAgICAgICAgICAgcmVuZGVyZWRQb3NpdGlvbixcbiAgICAgICAgICAgIHRpbWVTdGFtcCxcbiAgICAgICAgICAgIC8vIEZyb20gZWxlLmpzb24oKVxuICAgICAgICAgICAgY2xhc3NlcyxcbiAgICAgICAgICAgIGRhdGEsXG4gICAgICAgICAgICBncmFiYmFibGUsXG4gICAgICAgICAgICBncm91cCxcbiAgICAgICAgICAgIGxvY2tlZCxcbiAgICAgICAgICAgIHBvc2l0aW9uLFxuICAgICAgICAgICAgc2VsZWN0YWJsZSxcbiAgICAgICAgICAgIHNlbGVjdGVkLFxuICAgICAgICAgICAgLy8gQ29tcG91bmQgTm9kZXMgYWRkaXRpb25hbCBhdHRyaWJ1dGVzXG4gICAgICAgICAgICBhbmNlc3RvcnNEYXRhLFxuICAgICAgICAgICAgY2hpbGRyZW5EYXRhLFxuICAgICAgICAgICAgZGVzY2VuZGFudHNEYXRhLFxuICAgICAgICAgICAgcGFyZW50RGF0YSxcbiAgICAgICAgICAgIHNpYmxpbmdzRGF0YSxcbiAgICAgICAgICAgIGlzUGFyZW50LFxuICAgICAgICAgICAgaXNDaGlsZGxlc3MsXG4gICAgICAgICAgICBpc0NoaWxkLFxuICAgICAgICAgICAgaXNPcnBoYW4sXG4gICAgICAgICAgICByZWxhdGl2ZVBvc2l0aW9uLFxuICAgICAgICAgICAgLy8gU3R5bGluZ1xuICAgICAgICAgICAgc3R5bGUsXG4gICAgICAgIH07XG4gICAgICAgIHJldHVybiBub2RlT2JqZWN0O1xuICAgIH1cblxuICAgIGdlbmVyYXRlRWRnZShldmVudCkge1xuICAgICAgICBjb25zdCBlbGUgPSBldmVudC50YXJnZXQ7XG5cbiAgICAgICAgY29uc3QgbWlkcG9pbnQgPSBlbGUubWlkcG9pbnQoKSxcbiAgICAgICAgICAgIGlzTG9vcCA9IGVsZS5pc0xvb3AoKSxcbiAgICAgICAgICAgIGlzU2ltcGxlID0gZWxlLmlzU2ltcGxlKCksXG4gICAgICAgICAgICBzb3VyY2VEYXRhID0gZWxlLnNvdXJjZSgpLmRhdGEoKSxcbiAgICAgICAgICAgIHNvdXJjZUVuZHBvaW50ID0gZWxlLnNvdXJjZUVuZHBvaW50KCksXG4gICAgICAgICAgICBzdHlsZSA9IGVsZS5zdHlsZSgpLFxuICAgICAgICAgICAgdGFyZ2V0RGF0YSA9IGVsZS50YXJnZXQoKS5kYXRhKCksXG4gICAgICAgICAgICB0YXJnZXRFbmRwb2ludCA9IGVsZS50YXJnZXRFbmRwb2ludCgpO1xuXG4gICAgICAgIGNvbnN0IHt0aW1lU3RhbXB9ID0gZXZlbnQ7XG4gICAgICAgIGNvbnN0IHtjbGFzc2VzLCBkYXRhLCBncmFiYmFibGUsIGdyb3VwLCBsb2NrZWQsIHNlbGVjdGFibGUsIHNlbGVjdGVkfSA9XG4gICAgICAgICAgICBlbGUuanNvbigpO1xuXG4gICAgICAgIGNvbnN0IGVkZ2VPYmplY3QgPSB7XG4gICAgICAgICAgICAvLyBFZGdlcyBhdHRyaWJ1dGVzXG4gICAgICAgICAgICBpc0xvb3AsXG4gICAgICAgICAgICBpc1NpbXBsZSxcbiAgICAgICAgICAgIG1pZHBvaW50LFxuICAgICAgICAgICAgc291cmNlRGF0YSxcbiAgICAgICAgICAgIHNvdXJjZUVuZHBvaW50LFxuICAgICAgICAgICAgdGFyZ2V0RGF0YSxcbiAgICAgICAgICAgIHRhcmdldEVuZHBvaW50LFxuICAgICAgICAgICAgdGltZVN0YW1wLFxuICAgICAgICAgICAgLy8gRnJvbSBlbGUuanNvbigpXG4gICAgICAgICAgICBjbGFzc2VzLFxuICAgICAgICAgICAgZGF0YSxcbiAgICAgICAgICAgIGdyYWJiYWJsZSxcbiAgICAgICAgICAgIGdyb3VwLFxuICAgICAgICAgICAgbG9ja2VkLFxuICAgICAgICAgICAgc2VsZWN0YWJsZSxcbiAgICAgICAgICAgIHNlbGVjdGVkLFxuICAgICAgICAgICAgLy8gU3R5bGluZ1xuICAgICAgICAgICAgc3R5bGUsXG4gICAgICAgIH07XG5cbiAgICAgICAgcmV0dXJuIGVkZ2VPYmplY3Q7XG4gICAgfVxuXG4gICAgaGFuZGxlQ3koY3kpIHtcbiAgICAgICAgLy8gSWYgdGhlIGN5IHBvaW50ZXIgaGFzIG5vdCBiZWVuIG1vZGlmaWVkLCBhbmQgaGFuZGxlQ3kgaGFzIGFscmVhZHlcbiAgICAgICAgLy8gYmVlbiBjYWxsZWQgYmVmb3JlLCB0aGFuIHdlIGRvbid0IHJ1biB0aGlzIGZ1bmN0aW9uLlxuICAgICAgICBpZiAoY3kgPT09IHRoaXMuX2N5ICYmIHRoaXMuX2hhbmRsZUN5Q2FsbGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fY3kgPSBjeTtcbiAgICAgICAgd2luZG93LmN5ID0gY3k7XG4gICAgICAgIHRoaXMuX2hhbmRsZUN5Q2FsbGVkID0gdHJ1ZTtcblxuICAgICAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vIENPTlNUQU5UUyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgICAgICBjb25zdCBTRUxFQ1RfVEhSRVNIT0xEID0gMTAwO1xuICAgICAgICBjb25zdCBFWFRFTlRfVEhSRVNIT0xEID0gNTtcblxuICAgICAgICBjb25zdCBzZWxlY3RlZE5vZGVzID0gY3kuY29sbGVjdGlvbigpO1xuICAgICAgICBjb25zdCBzZWxlY3RlZEVkZ2VzID0gY3kuY29sbGVjdGlvbigpO1xuXG4gICAgICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gRlVOQ1RJT05TIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgICAgIGNvbnN0IHJlZnJlc2hMYXlvdXQgPSBfLmRlYm91bmNlKCgpID0+IHtcbiAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICogUmVmcmVzaCBMYXlvdXQgaWYgbmVlZGVkXG4gICAgICAgICAgICAgKi9cbiAgICAgICAgICAgIGNvbnN0IHthdXRvUmVmcmVzaExheW91dCwgbGF5b3V0fSA9IHRoaXMucHJvcHM7XG5cbiAgICAgICAgICAgIGlmIChhdXRvUmVmcmVzaExheW91dCkge1xuICAgICAgICAgICAgICAgIGN5LmxheW91dChsYXlvdXQpLnJ1bigpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LCBTRUxFQ1RfVEhSRVNIT0xEKTtcblxuICAgICAgICBjb25zdCBzZW5kU2VsZWN0ZWROb2Rlc0RhdGEgPSBfLmRlYm91bmNlKCgpID0+IHtcbiAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICAgVGhpcyBmdW5jdGlvbiBpcyByZXBldGl0aXZlbHkgY2FsbGVkIGV2ZXJ5IHRpbWUgYSBub2RlIGlzIHNlbGVjdGVkXG4gICAgICAgICAgICAgICBvciB1bnNlbGVjdGVkLCBidXQga2VlcHMgYmVpbmcgZGVib3VuY2VkIGlmIGl0IGlzIGNhbGxlZCBhZ2FpblxuICAgICAgICAgICAgICAgd2l0aGluIDEwMCBtcyAoZ2l2ZW4gYnkgU0VMRUNUX1RIUkVTSE9MRCkuIEVmZmVjdGl2ZWx5LCBpdCBvbmx5XG4gICAgICAgICAgICAgICBydW5zIHdoZW4gYWxsIHRoZSBub2RlcyBoYXZlIGJlZW4gY29ycmVjdGx5IHNlbGVjdGVkL3Vuc2VsZWN0ZWQgYW5kXG4gICAgICAgICAgICAgICBhZGRlZC9yZW1vdmVkIGZyb20gdGhlIHNlbGVjdGVkTm9kZXMgY29sbGVjdGlvbiwgYW5kIHRoZW4gdXBkYXRlc1xuICAgICAgICAgICAgICAgdGhlIHNlbGVjdGVkTm9kZURhdGEgcHJvcC5cbiAgICAgICAgICAgICAgICovXG4gICAgICAgICAgICBjb25zdCBub2RlRGF0YSA9IHNlbGVjdGVkTm9kZXMubWFwKChlbCkgPT4gZWwuZGF0YSgpKTtcblxuICAgICAgICAgICAgdGhpcy5wcm9wcy5zZXRQcm9wcyh7XG4gICAgICAgICAgICAgICAgc2VsZWN0ZWROb2RlRGF0YTogbm9kZURhdGEsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSwgU0VMRUNUX1RIUkVTSE9MRCk7XG5cbiAgICAgICAgY29uc3Qgc2VuZFNlbGVjdGVkRWRnZXNEYXRhID0gXy5kZWJvdW5jZSgoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBlZGdlRGF0YSA9IHNlbGVjdGVkRWRnZXMubWFwKChlbCkgPT4gZWwuZGF0YSgpKTtcblxuICAgICAgICAgICAgdGhpcy5wcm9wcy5zZXRQcm9wcyh7XG4gICAgICAgICAgICAgICAgc2VsZWN0ZWRFZGdlRGF0YTogZWRnZURhdGEsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSwgU0VMRUNUX1RIUkVTSE9MRCk7XG5cbiAgICAgICAgY29uc3Qgc2V0RXh0ZW50ID0gXy5kZWJvdW5jZSgoY3lFeHRlbnQpID0+IHtcbiAgICAgICAgICAgIHRoaXMucHJvcHMuc2V0UHJvcHMoe1xuICAgICAgICAgICAgICAgIGV4dGVudDogY3lFeHRlbnQsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSwgRVhURU5UX1RIUkVTSE9MRCk7XG5cbiAgICAgICAgLy8gU3RvcmUgdGhlIG9yaWdpbmFsIG1heFpvb20gYW5kIG1pblpvb20gZnVuY3Rpb25zXG4gICAgICAgIGNvbnN0IG9yaWdpbmFsTWF4Wm9vbUZuID0gY3kubWF4Wm9vbTtcbiAgICAgICAgY29uc3Qgb3JpZ2luYWxNaW5ab29tRm4gPSBjeS5taW5ab29tO1xuXG4gICAgICAgIC8vIE92ZXJyaWRlIHRoZSBtYXhab29tIGZ1bmN0aW9uIHRvIHRyaWdnZXIgbWF4Wm9vbUNoYW5nZSBjdXN0b20gZXZlbnRcbiAgICAgICAgY3kubWF4Wm9vbSA9IGZ1bmN0aW9uKGUpIHtcbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRNYXhab29tID0gb3JpZ2luYWxNYXhab29tRm4uY2FsbChjeSwgZSk7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIC8vIFRyaWdnZXIgeW91ciBjdXN0b20gZXZlbnQgaWYgdGhlIGN1cnJlbnQgbWF4IHpvb20gbGV2ZWwgaXMgZGlmZmVyZW50IGZyb20gdGhlIFxuICAgICAgICAgICAgLy8gcHJldmlvdXNseSBzdG9yZWQgbWF4IHpvb20gbGV2ZWxcbiAgICAgICAgICAgIGlmIChjdXJyZW50TWF4Wm9vbSAhPT0gY3kuX3ByZXZpb3VzTWF4Wm9vbSkge1xuICAgICAgICAgICAgICAgIGN5Ll9wcmV2aW91c01heFpvb20gPSBjdXJyZW50TWF4Wm9vbTtcbiAgICAgICAgICAgICAgICBjeS50cmlnZ2VyKCdtaW5NYXhab29tQ2hhbmdlJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gY3VycmVudE1heFpvb207XG4gICAgICAgIH07XG5cbiAgICAgICAgLy8gT3ZlcnJpZGUgdGhlIG1pblpvb20gZnVuY3Rpb24gdG8gdHJpZ2dlciBtaW5ab29tQ2hhbmdlIGN1c3RvbSBldmVudFxuICAgICAgICBjeS5taW5ab29tID0gZnVuY3Rpb24oZSkge1xuICAgICAgICAgICAgY29uc3QgY3VycmVudE1pblpvb20gPSBvcmlnaW5hbE1pblpvb21Gbi5jYWxsKGN5LCBlKTtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgLy8gVHJpZ2dlciB5b3VyIGN1c3RvbSBldmVudCBpZiB0aGUgY3VycmVudCBtaW4gem9vbSBsZXZlbCBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgXG4gICAgICAgICAgICAvLyBwcmV2aW91c2x5IHN0b3JlZCBtaW4gem9vbSBsZXZlbFxuICAgICAgICAgICAgaWYgKGN1cnJlbnRNaW5ab29tICE9PSBjeS5fcHJldmlvdXNNaW5ab29tKSB7XG4gICAgICAgICAgICAgICAgY3kuX3ByZXZpb3VzTWluWm9vbSA9IGN1cnJlbnRNaW5ab29tO1xuICAgICAgICAgICAgICAgIGN5LnRyaWdnZXIoJ21pbk1heFpvb21DaGFuZ2UnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBjdXJyZW50TWluWm9vbTtcbiAgICAgICAgfTtcblxuICAgICAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gRVZFTlRTIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgICAgIGN5Lm9uKCd0YXAnLCAnbm9kZScsIChldmVudCkgPT4ge1xuICAgICAgICAgICAgY29uc3Qgbm9kZU9iamVjdCA9IHRoaXMuZ2VuZXJhdGVOb2RlKGV2ZW50KTtcblxuICAgICAgICAgICAgdGhpcy5wcm9wcy5zZXRQcm9wcyh7XG4gICAgICAgICAgICAgICAgdGFwTm9kZTogbm9kZU9iamVjdCxcbiAgICAgICAgICAgICAgICB0YXBOb2RlRGF0YTogT2JqZWN0LmFzc2lnbih7fSwgbm9kZU9iamVjdC5kYXRhLCB7XG4gICAgICAgICAgICAgICAgICAgIHRpbWVTdGFtcDogbm9kZU9iamVjdC50aW1lU3RhbXAsXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY3kub24oJ3RhcCcsICdlZGdlJywgKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBlZGdlT2JqZWN0ID0gdGhpcy5nZW5lcmF0ZUVkZ2UoZXZlbnQpO1xuXG4gICAgICAgICAgICB0aGlzLnByb3BzLnNldFByb3BzKHtcbiAgICAgICAgICAgICAgICB0YXBFZGdlOiBlZGdlT2JqZWN0LFxuICAgICAgICAgICAgICAgIHRhcEVkZ2VEYXRhOiBPYmplY3QuYXNzaWduKHt9LCBlZGdlT2JqZWN0LmRhdGEsIHtcbiAgICAgICAgICAgICAgICAgICAgdGltZVN0YW1wOiBlZGdlT2JqZWN0LnRpbWVTdGFtcCxcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcblxuICAgICAgICBjeS5vbignbW91c2VvdmVyJywgJ25vZGUnLCAoZXZlbnQpID0+IHtcbiAgICAgICAgICAgIHRoaXMucHJvcHMuc2V0UHJvcHMoe1xuICAgICAgICAgICAgICAgIG1vdXNlb3Zlck5vZGVEYXRhOiBPYmplY3QuYXNzaWduKHt9LCBldmVudC50YXJnZXQuZGF0YSgpLCB7XG4gICAgICAgICAgICAgICAgICAgIHRpbWVTdGFtcDogZXZlbnQudGltZVN0YW1wLFxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGN5Lm9uKCdtb3VzZW92ZXInLCAnZWRnZScsIChldmVudCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5wcm9wcy5zZXRQcm9wcyh7XG4gICAgICAgICAgICAgICAgbW91c2VvdmVyRWRnZURhdGE6IE9iamVjdC5hc3NpZ24oe30sIGV2ZW50LnRhcmdldC5kYXRhKCksIHtcbiAgICAgICAgICAgICAgICAgICAgdGltZVN0YW1wOiBldmVudC50aW1lU3RhbXAsXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY3kub24oJ21vdXNlb3V0JywgJ25vZGUnLCAoXykgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMucHJvcHMuY2xlYXJPblVuaG92ZXIgPT09IHRydWUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnByb3BzLnNldFByb3BzKHttb3VzZW92ZXJOb2RlRGF0YTogbnVsbH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICBjeS5vbignbW91c2VvdXQnLCAnZWRnZScsIChfKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5wcm9wcy5jbGVhck9uVW5ob3ZlciA9PT0gdHJ1ZSkge1xuICAgICAgICAgICAgICAgIHRoaXMucHJvcHMuc2V0UHJvcHMoe1xuICAgICAgICAgICAgICAgICAgICBtb3VzZW92ZXJFZGdlRGF0YTogbnVsbCxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgY3kub24oJ3NlbGVjdCcsICdub2RlJywgKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBlbGUgPSBldmVudC50YXJnZXQ7XG5cbiAgICAgICAgICAgIHNlbGVjdGVkTm9kZXMubWVyZ2UoZWxlKTtcbiAgICAgICAgICAgIHNlbmRTZWxlY3RlZE5vZGVzRGF0YSgpO1xuICAgICAgICB9KTtcblxuICAgICAgICBjeS5vbigndW5zZWxlY3QgcmVtb3ZlJywgJ25vZGUnLCAoZXZlbnQpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGVsZSA9IGV2ZW50LnRhcmdldDtcblxuICAgICAgICAgICAgc2VsZWN0ZWROb2Rlcy51bm1lcmdlKGVsZSk7XG4gICAgICAgICAgICBzZW5kU2VsZWN0ZWROb2Rlc0RhdGEoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY3kub24oJ3NlbGVjdCcsICdlZGdlJywgKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBlbGUgPSBldmVudC50YXJnZXQ7XG5cbiAgICAgICAgICAgIHNlbGVjdGVkRWRnZXMubWVyZ2UoZWxlKTtcbiAgICAgICAgICAgIHNlbmRTZWxlY3RlZEVkZ2VzRGF0YSgpO1xuICAgICAgICB9KTtcblxuICAgICAgICBjeS5vbigndW5zZWxlY3QgcmVtb3ZlJywgJ2VkZ2UnLCAoZXZlbnQpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGVsZSA9IGV2ZW50LnRhcmdldDtcblxuICAgICAgICAgICAgc2VsZWN0ZWRFZGdlcy51bm1lcmdlKGVsZSk7XG4gICAgICAgICAgICBzZW5kU2VsZWN0ZWRFZGdlc0RhdGEoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY3kub24oJ2FkZCByZW1vdmUnLCAoKSA9PiB7XG4gICAgICAgICAgICByZWZyZXNoTGF5b3V0KCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGN5Lm9uKCdkcmFnZnJlZSBhZGQgcmVtb3ZlJywgKF8pID0+IHtcbiAgICAgICAgICAgIHRoaXMucHJvcHMuc2V0UHJvcHMoe1xuICAgICAgICAgICAgICAgIGVsZW1lbnRzOiBjeS5lbGVtZW50cygnJykubWFwKChpdGVtKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChpdGVtLmpzb24oKS5ncm91cCA9PT0gJ25vZGVzJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhOiBpdGVtLmpzb24oKS5kYXRhLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBpdGVtLmpzb24oKS5wb3NpdGlvbixcbiAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE6IGl0ZW0uanNvbigpLmRhdGEsXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogdm9pZCAwLFxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGN5Lm9uKCd2aWV3cG9ydCByZXNpemUnLCAoKSA9PiB7XG4gICAgICAgICAgICBzZXRFeHRlbnQoY3kuZXh0ZW50KCkpO1xuICAgICAgICB9KTtcblxuICAgICAgICAvLyBSZWZyZXNoIGxheW91dCBpZiBjdXJyZW50IHpvb20gaXMgb3V0IG9mIGJvdW5kYXJpZXNcbiAgICAgICAgY3kub24oJ21pbk1heFpvb21DaGFuZ2UnLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICB2YXIgem9vbSA9IGN5Lnpvb20oKTtcbiAgICAgICAgICAgIGlmICh6b29tID4gY3kubWF4Wm9vbSgpIHx8IHpvb20gPCBjeS5taW5ab29tKCkpIHtcbiAgICAgICAgICAgICAgICBjeS5maXQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5jcmVhdGVNZW51SXRlbXMgPSAoY3R4TWVudSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgdXBkYXRlQ29udGV4dE1lbnVEYXRhID0gKG5ld0NvbnRleHQpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnByb3BzLnNldFByb3BzKHtjb250ZXh0TWVudURhdGE6IG5ld0NvbnRleHR9KTtcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBjb25zdCBjb250ZXh0TWVudURlZmF1bHRGdW5jdGlvbnMgPSB7XG4gICAgICAgICAgICAgICAgcmVtb3ZlOiBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IHx8IGV2ZW50LmN5VGFyZ2V0O1xuICAgICAgICAgICAgICAgICAgICB0YXJnZXQucmVtb3ZlKCk7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBhZGRfbm9kZTogZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHBvcyA9IGV2ZW50LnBvc2l0aW9uIHx8IGV2ZW50LmN5UG9zaXRpb247XG4gICAgICAgICAgICAgICAgICAgIGN5LmFkZCh7XG4gICAgICAgICAgICAgICAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JvdXA6ICdub2RlcycsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB4OiBwb3MueCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB5OiBwb3MueSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgYWRkX2VkZ2U6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWROb2RlSWRzID0gc2VsZWN0ZWROb2Rlcy5tYXAoKG5vZGUpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICBub2RlLmlkKClcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHNlbGVjdGVkTm9kZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFcnJvcjogTm8gbm9kZXMgc2VsZWN0ZWQsIGNhbm5vdCBhZGQgZWRnZSdcbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoc2VsZWN0ZWROb2Rlcy5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGN5LmFkZCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZDogdXVpZHY0KCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyb3VwOiAnZWRnZXMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzb3VyY2U6IHNlbGVjdGVkTm9kZUlkc1swXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0OiBzZWxlY3RlZE5vZGVJZHNbMF0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHNlbGVjdGVkTm9kZXMubGVuZ3RoID09PSAyKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjeS5hZGQoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IHV1aWR2NCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBncm91cDogJ2VkZ2VzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc291cmNlOiBzZWxlY3RlZE5vZGVJZHNbMF0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldDogc2VsZWN0ZWROb2RlSWRzWzFdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0Vycm9yOiBtb3JlIHRoYW4gMiBub2RlcyBzZWxlY3RlZCwgY2Fubm90IGFkZCBlZGdlJ1xuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgY29uc3QgbmV3TWVudUl0ZW1zID0gW107XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgY3R4TWVudSkge1xuICAgICAgICAgICAgICAgIGxldCBvbkNsaWNrRnVuY3Rpb247XG4gICAgICAgICAgICAgICAgLy8gcmV0dXJuIGRhdGEgc28gYSB1c2VyIGNhbiBkZWZpbmUgYSBjdXN0b20gb24gY2xpY2sgZnVuY3Rpb24gaW4gUHl0aG9uXG4gICAgICAgICAgICAgICAgLy8gaWYgb25DbGljayBvciBvbiBvbkNsaWNrQ3VzdG9tIGFyZSBub3Qgc3BlY2lmaWVkXG4gICAgICAgICAgICAgICAgb25DbGlja0Z1bmN0aW9uID0gZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIHVwZGF0ZUNvbnRleHRNZW51RGF0YSh7XG4gICAgICAgICAgICAgICAgICAgICAgICBtZW51SXRlbUlkOiBpdGVtLmlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgeDogZXZlbnQucG9zaXRpb24ueCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHk6IGV2ZW50LnBvc2l0aW9uLnksXG4gICAgICAgICAgICAgICAgICAgICAgICB0aW1lU3RhbXA6IGV2ZW50LnRpbWVTdGFtcCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnRJZDogZXZlbnQudGFyZ2V0LmRhdGEoKS5pZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGVkZ2VTb3VyY2U6IGV2ZW50LnRhcmdldC5kYXRhKCkuc291cmNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgZWRnZVRhcmdldDogZXZlbnQudGFyZ2V0LmRhdGEoKS50YXJnZXQsXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgLy8gdXNlIGRlZmF1bHQgamF2YXNjcmlwdCBmdW5jdGlvbiBhcyBvbkNsaWNrRnVuY3Rpb25cbiAgICAgICAgICAgICAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGl0ZW0sICdvbkNsaWNrJykpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHRNZW51RGVmYXVsdEZ1bmN0aW9ucyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtLm9uQ2xpY2tcbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrRnVuY3Rpb24gPVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHRNZW51RGVmYXVsdEZ1bmN0aW9uc1tpdGVtLm9uQ2xpY2tdO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBgb25DbGljayBmdW5jdGlvbiAke2l0ZW0ub25DbGlja30gaXMgbm90IGRlZmluZWRgXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8vIHVzZSB1c2VyLWRlZmluZWQgSmF2YXNjcmlwdCBmdW5jdGlvbiBpbiBhIG5hbWVzcGFjZSB1bmRlciBhc3NldHMvIGFzIG9uQ2xpY2tGdW5jdGlvblxuICAgICAgICAgICAgICAgIGVsc2UgaWYgKFxuICAgICAgICAgICAgICAgICAgICBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoaXRlbSwgJ29uQ2xpY2tDdXN0b20nKVxuICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2luZG93LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkYXNoQ3l0b3NjYXBlRnVuY3Rpb25zJ1xuICAgICAgICAgICAgICAgICAgICAgICAgKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpbmRvdy5kYXNoQ3l0b3NjYXBlRnVuY3Rpb25zLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0ub25DbGlja0N1c3RvbVxuICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2tGdW5jdGlvbiA9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2luZG93LmRhc2hDeXRvc2NhcGVGdW5jdGlvbnNbaXRlbS5vbkNsaWNrQ3VzdG9tXTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYG9uQ2xpY2tDdXN0b20gZnVuY3Rpb24gJHtpdGVtLm9uQ2xpY2tDdXN0b219IGlzIG5vdCBkZWZpbmVkYFxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjb25zdCBuZXdfaXRlbSA9IHtcbiAgICAgICAgICAgICAgICAgICAgaWQ6IGl0ZW0uaWQsXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IGl0ZW0ubGFiZWwsXG4gICAgICAgICAgICAgICAgICAgIHRvb2x0aXBUZXh0OiBpdGVtLnRvb2x0aXBUZXh0LFxuICAgICAgICAgICAgICAgICAgICBzZWxlY3RvcjogJycsXG4gICAgICAgICAgICAgICAgICAgIG9uQ2xpY2tGdW5jdGlvbjogb25DbGlja0Z1bmN0aW9uLFxuICAgICAgICAgICAgICAgICAgICBjb3JlQXNXZWxsOiBmYWxzZSxcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoaXRlbSwgJ2F2YWlsYWJsZU9uJykpIHtcbiAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCBzZWxlY3RvciBvZiBpdGVtLmF2YWlsYWJsZU9uKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoc2VsZWN0b3IgPT09ICdlZGdlJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChuZXdfaXRlbS5zZWxlY3Rvci5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld19pdGVtLnNlbGVjdG9yID0gbmV3X2l0ZW0uc2VsZWN0b3IgKyAnLCAnO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXdfaXRlbS5zZWxlY3RvciA9IG5ld19pdGVtLnNlbGVjdG9yICsgJ2VkZ2UnO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChzZWxlY3RvciA9PT0gJ25vZGUnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG5ld19pdGVtLnNlbGVjdG9yLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3X2l0ZW0uc2VsZWN0b3IgPSBuZXdfaXRlbS5zZWxlY3RvciArICcsICc7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld19pdGVtLnNlbGVjdG9yID0gbmV3X2l0ZW0uc2VsZWN0b3IgKyAnbm9kZSc7XG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHNlbGVjdG9yID09PSAnY2FudmFzJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld19pdGVtLmNvcmVBc1dlbGwgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgRXJyb3I6IHNlbGVjdG9yICR7c2VsZWN0b3J9IGlzIG5vdCBhdmFpbGFibGUuIENob29zZSBvbmUgb2YgJ25vZGUnLCAnZWRnZScgb3IgJ2NhbnZhcycuYFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgbmV3TWVudUl0ZW1zLnB1c2gobmV3X2l0ZW0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIG5ld01lbnVJdGVtcztcbiAgICAgICAgfTtcblxuICAgICAgICB0aGlzLmN5UmVzcG9uc2l2ZUNsYXNzID0gbmV3IEN5UmVzcG9uc2l2ZShjeSk7XG4gICAgICAgIHRoaXMuY3lSZXNwb25zaXZlQ2xhc3MudG9nZ2xlKHRoaXMucHJvcHMucmVzcG9uc2l2ZSk7XG5cbiAgICAgICAgc2V0RXh0ZW50KGN5LmV4dGVudCgpKTtcbiAgICB9XG5cbiAgICBoYW5kbGVJbWFnZUdlbmVyYXRpb24oaW1hZ2VUeXBlLCBpbWFnZU9wdGlvbnMsIGFjdGlvbnNUb1BlcmZvcm0sIGZpbGVOYW1lKSB7XG4gICAgICAgIGxldCBvcHRpb25zID0ge307XG4gICAgICAgIGlmIChpbWFnZU9wdGlvbnMpIHtcbiAgICAgICAgICAgIG9wdGlvbnMgPSBpbWFnZU9wdGlvbnM7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgZGVzaXJlZE91dHB1dCA9IG9wdGlvbnMub3V0cHV0O1xuICAgICAgICBvcHRpb25zLm91dHB1dCA9ICdibG9iJztcblxuICAgICAgICBsZXQgZG93bmxvYWRJbWFnZTtcbiAgICAgICAgbGV0IHN0b3JlSW1hZ2U7XG4gICAgICAgIHN3aXRjaCAoYWN0aW9uc1RvUGVyZm9ybSkge1xuICAgICAgICAgICAgY2FzZSAnc3RvcmUnOlxuICAgICAgICAgICAgICAgIGRvd25sb2FkSW1hZ2UgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICBzdG9yZUltYWdlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ2Rvd25sb2FkJzpcbiAgICAgICAgICAgICAgICBkb3dubG9hZEltYWdlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBzdG9yZUltYWdlID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdib3RoJzpcbiAgICAgICAgICAgICAgICBkb3dubG9hZEltYWdlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBzdG9yZUltYWdlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgZG93bmxvYWRJbWFnZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHN0b3JlSW1hZ2UgPSB0cnVlO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IG91dHB1dDtcbiAgICAgICAgaWYgKGltYWdlVHlwZSA9PT0gJ3BuZycpIHtcbiAgICAgICAgICAgIG91dHB1dCA9IHRoaXMuX2N5LnBuZyhvcHRpb25zKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaW1hZ2VUeXBlID09PSAnanBnJyB8fCBpbWFnZVR5cGUgPT09ICdqcGVnJykge1xuICAgICAgICAgICAgb3V0cHV0ID0gdGhpcy5fY3kuanBnKG9wdGlvbnMpO1xuICAgICAgICB9XG4gICAgICAgIC8vIG9ubHkgd29ya3Mgd2hlbiBzdmcgaXMgaW1wb3J0ZWQgKHNlZSBsaWIvZXh0cmFfaW5kZXguanMpXG4gICAgICAgIGlmIChpbWFnZVR5cGUgPT09ICdzdmcnKSB7XG4gICAgICAgICAgICBvdXRwdXQgPSB0aGlzLl9jeS5zdmcob3B0aW9ucyk7XG4gICAgICAgIH1cblxuICAgICAgICAvKlxuICAgICAgICAgKiBJZiBvdXRwdXQgaXMgZW1wdHkgYmVjYXVzZSBvZiBiYWQgb3B0aW9ucyBvciBhIGN5dG9zY2FwZSBlcnJvcixcbiAgICAgICAgICogc2tpcCBhbnkgZG93bmxvYWQgb3Igc3RvcmFnZSBzdGVwcy5cbiAgICAgICAgICovXG4gICAgICAgIGlmIChvdXRwdXQgJiYgZG93bmxvYWRJbWFnZSkge1xuICAgICAgICAgICAgLypcbiAgICAgICAgICAgICAqIERvd25sb2FkaW5nIGlzIGluaXRpYXRlZCBjbGllbnQtc2lkZSBiZWNhdXNlIHRoZSBpbWFnZSBpcyBnZW5lcmF0ZWQgYXRcbiAgICAgICAgICAgICAqIHRoZSBjbGllbnQuIFRoaXMgYXZvaWRzIHRyYW5zZmVycmluZyBhIHBvdGVudGlhbGx5IGxhcmdlIGltYWdlXG4gICAgICAgICAgICAgKiB0byB0aGUgc2VydmVyIGFuZCBiYWNrIGFnYWluIHRocm91Z2ggYSBjYWxsYmFjay5cbiAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgbGV0IGZOYW1lID0gZmlsZU5hbWU7XG4gICAgICAgICAgICBpZiAoIWZpbGVOYW1lKSB7XG4gICAgICAgICAgICAgICAgZk5hbWUgPSAnY3l0byc7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChpbWFnZVR5cGUgIT09ICdzdmcnKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5kb3dubG9hZEJsb2Iob3V0cHV0LCBmTmFtZSArICcuJyArIGltYWdlVHlwZSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnN0IGJsb2IgPSBuZXcgQmxvYihbb3V0cHV0XSwge1xuICAgICAgICAgICAgICAgICAgICB0eXBlOiAnaW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04JyxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB0aGlzLmRvd25sb2FkQmxvYihibG9iLCBmTmFtZSArICcuJyArIGltYWdlVHlwZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAob3V0cHV0ICYmIHN0b3JlSW1hZ2UpIHtcbiAgICAgICAgICAgIC8vIERlZmF1bHQgb3V0cHV0IHR5cGUgaWYgdW5zcGVjaWZpZWRcbiAgICAgICAgICAgIGlmICghZGVzaXJlZE91dHB1dCkge1xuICAgICAgICAgICAgICAgIGRlc2lyZWRPdXRwdXQgPSAnYmFzZTY0dXJpJztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICEoZGVzaXJlZE91dHB1dCA9PT0gJ2Jhc2U2NHVyaScgfHwgZGVzaXJlZE91dHB1dCA9PT0gJ2Jhc2U2NCcpXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8qXG4gICAgICAgICAgICAgKiBDb252ZXJ0IGJsb2IgdG8gYmFzZTY0dXJpIG9yIGJhc2U2NCBzdHJpbmcgdG8gc3RvcmUgdGhlIGltYWdlIGRhdGEuXG4gICAgICAgICAgICAgKiBUaGFuayB5b3UsIGJhc2U2NGd1cnUgaHR0cHM6Ly9iYXNlNjQuZ3VydS9kZXZlbG9wZXJzL2phdmFzY3JpcHQvZXhhbXBsZXMvZW5jb2RlLWJsb2JcbiAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgY29uc3QgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcbiAgICAgICAgICAgIHJlYWRlci5vbmxvYWQgPSAoKSA9PiB7XG4gICAgICAgICAgICAgICAgLyogRmlsZVJlYWRlciBpcyBhc3luY2hyb25vdXMsIHNvIHRoZSByZWFkIGZ1bmN0aW9uIGlzIG5vbi1ibG9ja2luZy5cbiAgICAgICAgICAgICAgICAgKiBJZiB0aGlzIGNvZGUgYmxvY2sgaXMgcGxhY2VkIGFmdGVyIHRoZSByZWFkIGNvbW1hbmQsIGl0XG4gICAgICAgICAgICAgICAgICogbWF5IHJlc3VsdCBpbiBlbXB0eSBvdXRwdXQgYmVjYXVzZSB0aGUgYmxvYiBoYXMgbm90IGJlZW4gbG9hZGVkIHlldC5cbiAgICAgICAgICAgICAgICAgKi9cbiAgICAgICAgICAgICAgICBsZXQgY2FsbGJhY2tEYXRhID0gcmVhZGVyLnJlc3VsdDtcbiAgICAgICAgICAgICAgICBpZiAoZGVzaXJlZE91dHB1dCA9PT0gJ2Jhc2U2NCcpIHtcbiAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2tEYXRhID0gY2FsbGJhY2tEYXRhLnJlcGxhY2UoL15kYXRhOi4rO2Jhc2U2NCwvLCAnJyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMucHJvcHMuc2V0UHJvcHMoe2ltYWdlRGF0YTogY2FsbGJhY2tEYXRhfSk7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgcmVhZGVyLnJlYWRBc0RhdGFVUkwob3V0cHV0KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGRvd25sb2FkQmxvYihibG9iLCBmaWxlTmFtZSkge1xuICAgICAgICAvKlxuICAgICAgICAgKiBEb3dubG9hZCBibG9iIGFzIGZpbGUgYnkgZHluYW1pY2FsbHkgY3JlYXRpbmcgbGluay5cbiAgICAgICAgICogQ2hyb21lIGRvZXMgbm90IG9wZW4gZGF0YSBVUkxzIHdoZW4gSlMgb3BlbnMgYSBuZXcgdGFiIGRpcmVjdGVkXG4gICAgICAgICAqIGF0IHRoZSBkYXRhIFVSTCwgc28gdGhpcyBpcyBhbiBhbHRlcm5hdGUgaW1wbGVtZW50YXRpb25cbiAgICAgICAgICogdGhhdCBkb2Vzbid0IHJlcXVpcmUgZXh0cmEgcGFja2FnZXMuIEl0IG1heSBub3QgYmVoYXZlIGluXG4gICAgICAgICAqIGV4YWN0bHkgdGhlIHNhbWUgd2F5IGFjcm9zcyBicm93c2VycyAobWlnaHQgZGlzcGxheSBpbWFnZSBpbiBuZXcgdGFiXG4gICAgICAgICAqIGludGVhZCBvZiBkb3dubG9hZGluZyBhcyBhIGZpbGUpLlxuICAgICAgICAgKiBUaGFuayB5b3UsIGtvbGRldiBodHRwczovL2pzZmlkZGxlLm5ldC9rb2xkZXYvY1c3VzUvXG4gICAgICAgICAqL1xuICAgICAgICBjb25zdCBkb3dubG9hZExpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XG4gICAgICAgIGRvd25sb2FkTGluay5zdHlsZSA9ICdkaXNwbGF5OiBub25lJztcbiAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkb3dubG9hZExpbmspO1xuXG4gICAgICAgIGNvbnN0IHVybCA9IHdpbmRvdy5VUkwuY3JlYXRlT2JqZWN0VVJMKGJsb2IpO1xuICAgICAgICBkb3dubG9hZExpbmsuaHJlZiA9IHVybDtcbiAgICAgICAgZG93bmxvYWRMaW5rLmRvd25sb2FkID0gZmlsZU5hbWU7XG4gICAgICAgIGRvd25sb2FkTGluay5jbGljaygpO1xuICAgICAgICB3aW5kb3cuVVJMLnJldm9rZU9iamVjdFVSTCh1cmwpO1xuXG4gICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoZG93bmxvYWRMaW5rKTtcbiAgICB9XG5cbiAgICB1cGRhdGVDb250ZXh0TWVudShjb250ZXh0TWVudSkge1xuICAgICAgICB0aGlzLl9jeS5jb250ZXh0TWVudXMoe1xuICAgICAgICAgICAgbWVudUl0ZW1zOiB0aGlzLmNyZWF0ZU1lbnVJdGVtcyhjb250ZXh0TWVudSksXG4gICAgICAgICAgICBtZW51SXRlbUNsYXNzZXM6IFsnY3VzdG9tLW1lbnUtaXRlbSddLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvLyBSZXR1cm5zIHRydWUgaWYgdGhlcmUgaXMgbm8gb3ZlcmxhcCBiZXR3ZWVuIHRoZSBlbGVtZW50IGJvdW5kaW5nIGJveFxuICAgIC8vIGFuZCB0aGUgcmVuZGVyZWQgYXJlYSBvZiB0aGUgZ3JhcGgsIG1lYW5pbmcgdGhlIGdyYXBoIGlzIGVudGlyZWx5IG91dHNpZGUgdGhlIHZpZXdwb3J0O1xuICAgIC8vIHJldHVybnMgZmFsc2Ugb3RoZXJ3aXNlXG4gICAgZ3JhcGhPdXRPZlZpZXcoKSB7XG4gICAgICAgIGNvbnN0IGN5V2lkdGggPSB0aGlzLl9jeS53aWR0aCgpO1xuICAgICAgICBjb25zdCBjeUhlaWdodCA9IHRoaXMuX2N5LmhlaWdodCgpO1xuICAgICAgICBjb25zdCBlbEJveCA9IHRoaXMuX2N5LmVsZW1lbnRzKCkucmVuZGVyZWRCb3VuZGluZ2JveCgpO1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgZWxCb3gueDEgPiBjeVdpZHRoIHx8XG4gICAgICAgICAgICBlbEJveC55MSA+IGN5SGVpZ2h0IHx8XG4gICAgICAgICAgICBlbEJveC54MiA8IDAgfHxcbiAgICAgICAgICAgIGVsQm94LnkyIDwgMFxuICAgICAgICApO1xuICAgIH1cblxuICAgIGNvbXBvbmVudERpZFVwZGF0ZShwcmV2UHJvcHMpIHtcbiAgICAgICAgY29uc3Qge2NvbnRleHRNZW51LCBlbGVtZW50c30gPSB0aGlzLnByb3BzO1xuICAgICAgICBpZiAoIV8uaXNFcXVhbChwcmV2UHJvcHMuY29udGV4dE1lbnUsIGNvbnRleHRNZW51KSAmJiB0aGlzLl9jeSkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVDb250ZXh0TWVudShjb250ZXh0TWVudSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFfLmlzRXF1YWwocHJldlByb3BzLmVsZW1lbnRzLCBlbGVtZW50cykgJiYgdGhpcy5fY3kpIHtcbiAgICAgICAgICAgIC8vIElmIGVsZW1lbnRzIHdlcmUgdXBkYXRlZCwgYW5kIHRoZSBuZXcgZ3JhcGggaXMgKmVudGlyZWx5KiBvdXRzaWRlIHRoZSB2aWV3cG9ydCxcbiAgICAgICAgICAgIC8vIGZpdCB0aGUgdmlld3BvcnQgdG8gdGhlIG5ldyBlbGVtZW50c1xuICAgICAgICAgICAgaWYgKHRoaXMuZ3JhcGhPdXRPZlZpZXcoKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuX2N5LmZpdCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgICAgICBjb25zdCB7Y29udGV4dE1lbnV9ID0gdGhpcy5wcm9wcztcbiAgICAgICAgaWYgKHRoaXMuX2N5ICYmIGNvbnRleHRNZW51Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlQ29udGV4dE1lbnUoY29udGV4dE1lbnUpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJlbmRlcigpIHtcbiAgICAgICAgY29uc3Qge1xuICAgICAgICAgICAgLy8gSFRNTCBhdHRyaWJ1dGUgcHJvcHNcbiAgICAgICAgICAgIGlkLFxuICAgICAgICAgICAgc3R5bGUsXG4gICAgICAgICAgICBjbGFzc05hbWUsXG4gICAgICAgICAgICAvLyBDb21tb24gcHJvcHNcbiAgICAgICAgICAgIGVsZW1lbnRzLFxuICAgICAgICAgICAgc3R5bGVzaGVldCxcbiAgICAgICAgICAgIGxheW91dCxcbiAgICAgICAgICAgIGNvbnRleHRNZW51LFxuICAgICAgICAgICAgY29udGV4dE1lbnVEYXRhLFxuICAgICAgICAgICAgLy8gVmlld3BvcnQgTWFuaXB1bGF0aW9uXG4gICAgICAgICAgICBwYW4sXG4gICAgICAgICAgICB6b29tLFxuICAgICAgICAgICAgLy8gVmlld3BvcnQgTXV0YWJpbGl0eSBhbmQgZ2VzdHVyZSBUb2dnbGluZ1xuICAgICAgICAgICAgcGFubmluZ0VuYWJsZWQsXG4gICAgICAgICAgICB1c2VyUGFubmluZ0VuYWJsZWQsXG4gICAgICAgICAgICBtaW5ab29tLFxuICAgICAgICAgICAgbWF4Wm9vbSxcbiAgICAgICAgICAgIHpvb21pbmdFbmFibGVkLFxuICAgICAgICAgICAgdXNlclpvb21pbmdFbmFibGVkLFxuICAgICAgICAgICAgd2hlZWxTZW5zaXRpdml0eSxcbiAgICAgICAgICAgIGJveFNlbGVjdGlvbkVuYWJsZWQsXG4gICAgICAgICAgICBhdXRvdW5ncmFiaWZ5LFxuICAgICAgICAgICAgYXV0b2xvY2ssXG4gICAgICAgICAgICBhdXRvdW5zZWxlY3RpZnksXG4gICAgICAgICAgICAvLyBJbWFnZSBoYW5kbGluZ1xuICAgICAgICAgICAgZ2VuZXJhdGVJbWFnZSxcbiAgICAgICAgICAgIC8vIFJlc3BvbnNpdmUgZ3JhcGhzXG4gICAgICAgICAgICByZXNwb25zaXZlLFxuICAgICAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgICAgICBpZiAoT2JqZWN0LmtleXMoZ2VuZXJhdGVJbWFnZSkubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgLy8gSWYgbm8gY3l0b3NjYXBlIG9iamVjdCBoYXMgYmVlbiBjcmVhdGVkIHlldCwgYW4gaW1hZ2UgY2Fubm90IGJlIGdlbmVyYXRlZCxcbiAgICAgICAgICAgIC8vIHNvIGdlbmVyYXRlSW1hZ2Ugd2lsbCBiZSBpZ25vcmVkIGFuZCBjbGVhcmVkLlxuICAgICAgICAgICAgdGhpcy5wcm9wcy5zZXRQcm9wcyh7Z2VuZXJhdGVJbWFnZToge319KTtcbiAgICAgICAgICAgIGlmICh0aGlzLl9jeSkge1xuICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlSW1hZ2VHZW5lcmF0aW9uKFxuICAgICAgICAgICAgICAgICAgICBnZW5lcmF0ZUltYWdlLnR5cGUsXG4gICAgICAgICAgICAgICAgICAgIGdlbmVyYXRlSW1hZ2Uub3B0aW9ucyxcbiAgICAgICAgICAgICAgICAgICAgZ2VuZXJhdGVJbWFnZS5hY3Rpb24sXG4gICAgICAgICAgICAgICAgICAgIGdlbmVyYXRlSW1hZ2UuZmlsZW5hbWVcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuY3lSZXNwb25zaXZlQ2xhc3MpIHtcbiAgICAgICAgICAgIHRoaXMuY3lSZXNwb25zaXZlQ2xhc3MudG9nZ2xlKHJlc3BvbnNpdmUpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDxDeXRvc2NhcGVDb21wb25lbnRcbiAgICAgICAgICAgICAgICBpZD17aWR9XG4gICAgICAgICAgICAgICAgY3k9e3RoaXMuaGFuZGxlQ3l9XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWV9XG4gICAgICAgICAgICAgICAgc3R5bGU9e3N0eWxlfVxuICAgICAgICAgICAgICAgIGVsZW1lbnRzPXtDeXRvc2NhcGVDb21wb25lbnQubm9ybWFsaXplRWxlbWVudHMoZWxlbWVudHMpfVxuICAgICAgICAgICAgICAgIHN0eWxlc2hlZXQ9e3N0eWxlc2hlZXR9XG4gICAgICAgICAgICAgICAgbGF5b3V0PXtsYXlvdXR9XG4gICAgICAgICAgICAgICAgY29udGV4dE1lbnU9e2NvbnRleHRNZW51fVxuICAgICAgICAgICAgICAgIGNvbnRleHRNZW51RGF0YT17Y29udGV4dE1lbnVEYXRhfVxuICAgICAgICAgICAgICAgIHBhbj17cGFufVxuICAgICAgICAgICAgICAgIHpvb209e3pvb219XG4gICAgICAgICAgICAgICAgcGFubmluZ0VuYWJsZWQ9e3Bhbm5pbmdFbmFibGVkfVxuICAgICAgICAgICAgICAgIHVzZXJQYW5uaW5nRW5hYmxlZD17dXNlclBhbm5pbmdFbmFibGVkfVxuICAgICAgICAgICAgICAgIG1pblpvb209e21pblpvb219XG4gICAgICAgICAgICAgICAgbWF4Wm9vbT17bWF4Wm9vbX1cbiAgICAgICAgICAgICAgICB6b29taW5nRW5hYmxlZD17em9vbWluZ0VuYWJsZWR9XG4gICAgICAgICAgICAgICAgdXNlclpvb21pbmdFbmFibGVkPXt1c2VyWm9vbWluZ0VuYWJsZWR9XG4gICAgICAgICAgICAgICAgd2hlZWxTZW5zaXRpdml0eT17d2hlZWxTZW5zaXRpdml0eX1cbiAgICAgICAgICAgICAgICBib3hTZWxlY3Rpb25FbmFibGVkPXtib3hTZWxlY3Rpb25FbmFibGVkfVxuICAgICAgICAgICAgICAgIGF1dG91bmdyYWJpZnk9e2F1dG91bmdyYWJpZnl9XG4gICAgICAgICAgICAgICAgYXV0b2xvY2s9e2F1dG9sb2NrfVxuICAgICAgICAgICAgICAgIGF1dG91bnNlbGVjdGlmeT17YXV0b3Vuc2VsZWN0aWZ5fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgKTtcbiAgICB9XG59XG5cbkN5dG9zY2FwZS5wcm9wVHlwZXMgPSB7XG4gICAgLy8gSFRNTCBhdHRyaWJ1dGUgcHJvcHNcblxuICAgIC8qKlxuICAgICAqIFRoZSBJRCB1c2VkIHRvIGlkZW50aWZ5IHRoaXMgY29tcG9uZW50IGluIERhc2ggY2FsbGJhY2tzLlxuICAgICAqL1xuICAgIGlkOiBQcm9wVHlwZXMuc3RyaW5nLFxuXG4gICAgLyoqXG4gICAgICogU2V0cyB0aGUgY2xhc3MgbmFtZSBvZiB0aGUgZWxlbWVudCAodGhlIHZhbHVlIG9mIGFuIGVsZW1lbnQncyBodG1sXG4gICAgICogY2xhc3MgYXR0cmlidXRlKS5cbiAgICAgKi9cbiAgICBjbGFzc05hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG5cbiAgICAvKipcbiAgICAgKiBBZGQgaW5saW5lIHN0eWxlcyB0byB0aGUgcm9vdCBlbGVtZW50LlxuICAgICAqL1xuICAgIHN0eWxlOiBQcm9wVHlwZXMub2JqZWN0LFxuXG4gICAgLy8gRGFzaCBzcGVjaWZpYyBwcm9wc1xuXG4gICAgLyoqXG4gICAgICogRGFzaC1hc3NpZ25lZCBjYWxsYmFjayB0aGF0IHNob3VsZCBiZSBjYWxsZWQgd2hlbmV2ZXIgYW55IG9mIHRoZVxuICAgICAqIHByb3BlcnRpZXMgY2hhbmdlLlxuICAgICAqL1xuICAgIHNldFByb3BzOiBQcm9wVHlwZXMuZnVuYyxcblxuICAgIC8vIENvbW1vbiBwcm9wc1xuXG4gICAgLyoqXG4gICAgICogQSBsaXN0IG9mIGRpY3Rpb25hcmllcyByZXByZXNlbnRpbmcgdGhlIGVsZW1lbnRzIG9mIHRoZSBuZXR3b3Jrcy4gRWFjaCBkaWN0aW9uYXJ5IGRlc2NyaWJlcyBhbiBlbGVtZW50LCBhbmRcbiAgICAgKiBzcGVjaWZpZXMgaXRzIHB1cnBvc2UuIFRoZSBbb2ZmaWNpYWwgQ3l0b3NjYXBlLmpzIGRvY3VtZW50YXRpb25dKGh0dHBzOi8vanMuY3l0b3NjYXBlLm9yZy8jbm90YXRpb24vZWxlbWVudHMtanNvbilcbiAgICAgKiBvZmZlcnMgYW4gZXh0ZW5zaXZlIG92ZXJ2aWV3IGFuZCBleGFtcGxlcyBvZiBlbGVtZW50IGRlY2xhcmF0aW9uLlxuICAgICAqIEFsdGVybmF0aXZlbHksIGEgZGljdGlvbmFyeSB3aXRoIHRoZSBmb3JtYXQgeyAnbm9kZXMnOiBbXSwgJ2VkZ2VzJzogW10gfSBpcyBhbGxvd2VkIGF0IGluaXRpYWxpemF0aW9uLFxuICAgICAqIGJ1dCBhcnJheXMgcmVtYWluIHRoZSByZWNvbW1lbmRlZCBmb3JtYXQuXG4gICAgICovXG4gICAgZWxlbWVudHM6IFByb3BUeXBlcy5vbmVPZlR5cGUoW1xuICAgICAgICBQcm9wVHlwZXMuYXJyYXlPZihcbiAgICAgICAgICAgIFByb3BUeXBlcy5zaGFwZSh7XG4gICAgICAgICAgICAgICAgLyoqXG4gICAgICAgICAgICAgICAgICogRWl0aGVyICdub2Rlcycgb3IgJ2VkZ2VzJy4gSWYgbm90IGdpdmVuLCBpdCdzIGF1dG9tYXRpY2FsbHkgaW5mZXJyZWQuXG4gICAgICAgICAgICAgICAgICovXG4gICAgICAgICAgICAgICAgZ3JvdXA6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICAgICAgICAgICAgLyoqIEVsZW1lbnQgc3BlY2lmaWMgZGF0YS4qL1xuICAgICAgICAgICAgICAgIGRhdGE6IFByb3BUeXBlcy5zaGFwZSh7XG4gICAgICAgICAgICAgICAgICAgIC8qKiAgUmVmZXJlbmNlIHRvIHRoZSBlbGVtZW50LCB1c2VmdWwgZm9yIHNlbGVjdG9ycyBhbmQgZWRnZXMuIFJhbmRvbWx5IGFzc2lnbmVkIGlmIG5vdCBnaXZlbi4qL1xuICAgICAgICAgICAgICAgICAgICBpZDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgICAgICAgICAgICAgICAgLyoqXG4gICAgICAgICAgICAgICAgICAgICAqIE9wdGlvbmFsIG5hbWUgZm9yIHRoZSBlbGVtZW50LCB1c2VmdWwgd2hlbiBgZGF0YShsYWJlbClgIGlzIGdpdmVuIHRvIGEgc3R5bGUncyBgY29udGVudGBcbiAgICAgICAgICAgICAgICAgICAgICogb3IgYGxhYmVsYC4gSXQgaXMgb25seSBhIGNvbnZlbnRpb24uICovXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICAgICAgICAgICAgICAvKiogT25seSBmb3Igbm9kZXMuIE9wdGlvbmFsIHJlZmVyZW5jZSB0byBhbm90aGVyIG5vZGUuIE5lZWRlZCB0byBjcmVhdGUgY29tcG91bmQgbm9kZXMuICovXG4gICAgICAgICAgICAgICAgICAgIHBhcmVudDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgICAgICAgICAgICAgICAgLyoqIE9ubHkgZm9yIGVkZ2VzLiBUaGUgaWQgb2YgdGhlIHNvdXJjZSBub2RlLCB3aGljaCBpcyB3aGVyZSB0aGUgZWRnZSBzdGFydHMuICovXG4gICAgICAgICAgICAgICAgICAgIHNvdXJjZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgICAgICAgICAgICAgICAgLyoqIE9ubHkgZm9yIGVkZ2VzLiBUaGUgaWQgb2YgdGhlIHRhcmdldCBub2RlLCB3aGVyZSB0aGUgZWRnZSBlbmRzLiAqL1xuICAgICAgICAgICAgICAgICAgICB0YXJnZXQ6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgLyoqIE9ubHkgZm9yIG5vZGVzLiBUaGUgcG9zaXRpb24gb2YgdGhlIG5vZGUuICovXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IFByb3BUeXBlcy5zaGFwZSh7XG4gICAgICAgICAgICAgICAgICAgIC8qKiBUaGUgeC1jb29yZGluYXRlIG9mIHRoZSBub2RlLiAqL1xuICAgICAgICAgICAgICAgICAgICB4OiBQcm9wVHlwZXMubnVtYmVyLFxuICAgICAgICAgICAgICAgICAgICAvKiogVGhlIHktY29vcmRpbmF0ZSBvZiB0aGUgbm9kZS4gKi9cbiAgICAgICAgICAgICAgICAgICAgeTogUHJvcFR5cGVzLm51bWJlcixcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAvKiogSWYgdGhlIGVsZW1lbnQgaXMgc2VsZWN0ZWQgdXBvbiBpbml0aWFsaXNhdGlvbi4gKi9cbiAgICAgICAgICAgICAgICBzZWxlY3RlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgICAgICAgICAgICAgLyoqIElmIHRoZSBlbGVtZW50IGNhbiBiZSBzZWxlY3RlZC4gKi9cbiAgICAgICAgICAgICAgICBzZWxlY3RhYmxlOiBQcm9wVHlwZXMuYm9vbCxcbiAgICAgICAgICAgICAgICAvKiogT25seSBmb3Igbm9kZXMuIElmIHRoZSBwb3NpdGlvbiBpcyBpbW11dGFibGUuICovXG4gICAgICAgICAgICAgICAgbG9ja2VkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICAgICAgICAgICAgICAvKiogT25seSBmb3Igbm9kZXMuIElmIHRoZSBub2RlIGNhbiBiZSBncmFiYmVkIGFuZCBtb3ZlZCBieSB0aGUgdXNlci4gKi9cbiAgICAgICAgICAgICAgICBncmFiYmFibGU6IFByb3BUeXBlcy5ib29sLFxuICAgICAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICAgICAqIFNwYWNlIHNlcGFyYXRlZCBzdHJpbmcgb2YgY2xhc3MgbmFtZXMgb2YgdGhlIGVsZW1lbnQuIFRob3NlIGNsYXNzZXMgY2FuIGJlIHNlbGVjdGVkXG4gICAgICAgICAgICAgICAgICogYnkgYSBzdHlsZSBzZWxlY3Rvci5cbiAgICAgICAgICAgICAgICAgKi9cbiAgICAgICAgICAgICAgICBjbGFzc2VzOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgKSxcbiAgICAgICAgUHJvcFR5cGVzLmV4YWN0KHtcbiAgICAgICAgICAgIG5vZGVzOiBQcm9wVHlwZXMuYXJyYXksXG4gICAgICAgICAgICBlZGdlczogUHJvcFR5cGVzLmFycmF5LFxuICAgICAgICB9KSxcbiAgICBdKSxcblxuICAgIC8qKlxuICAgICAqIEEgbGlzdCBvZiBkaWN0aW9uYXJpZXMgcmVwcmVzZW50aW5nIHRoZSBzdHlsZXMgb2YgdGhlIGVsZW1lbnRzLlxuICAgICAqIEVhY2ggZGljdGlvbmFyeSByZXF1aXJlcyB0aGUgZm9sbG93aW5nIGtleXM6IGBzZWxlY3RvcmAgYW5kIGBzdHlsZWAuXG4gICAgICpcbiAgICAgKiBCb3RoIHRoZSBbc2VsZWN0b3JdKGh0dHBzOi8vanMuY3l0b3NjYXBlLm9yZy8jc2VsZWN0b3JzKSBhbmRcbiAgICAgKiB0aGUgW3N0eWxlXShodHRwczovL2pzLmN5dG9zY2FwZS5vcmcvI3N0eWxlL25vZGUtYm9keSkgYXJlXG4gICAgICogZXhoYXVzdGl2ZWx5IGRvY3VtZW50ZWQgaW4gdGhlIEN5dG9zY2FwZS5qcyBkb2NzLiBBbHRob3VnaCBtZXRob2RzIHN1Y2hcbiAgICAgKiBhcyBgY3kuZWxlbWVudHMoLi4uKWAgYW5kIGBjeS5maWx0ZXIoLi4uKWAgYXJlIG5vdCBhdmFpbGFibGUsIHRoZSBzZWxlY3RvclxuICAgICAqIHN0cmluZyBzeW50YXggc3RheXMgdGhlIHNhbWUuXG4gICAgICovXG4gICAgc3R5bGVzaGVldDogUHJvcFR5cGVzLmFycmF5T2YoXG4gICAgICAgIFByb3BUeXBlcy5leGFjdCh7XG4gICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAqIFdoaWNoIGVsZW1lbnRzIHlvdSBhcmUgc3R5bGluZy4gR2VuZXJhbGx5LCB5b3Ugc2VsZWN0IGEgZ3JvdXAgb2YgZWxlbWVudHMgKG5vZGUsIGVkZ2VzLCBib3RoKSxcbiAgICAgICAgICAgICAqIGEgY2xhc3MgKHRoYXQgeW91IGRlY2xhcmUgaW4gdGhlIGVsZW1lbnQgZGljdGlvbmFyeSksIG9yIGFuIGVsZW1lbnQgYnkgSUQuXG4gICAgICAgICAgICAgKi9cbiAgICAgICAgICAgIHNlbGVjdG9yOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAqIFdoYXQgYXNwZWN0cyBvZiB0aGUgZWxlbWVudHMgeW91IHdhbnQgdG8gbW9kaWZ5LiBUaGlzIGNvdWxkIGJlIHRoZSBzaXplIG9yXG4gICAgICAgICAgICAgKiBjb2xvciBvZiBhIG5vZGUsIHRoZSBzaGFwZSBvZiBhbiBlZGdlIGFycm93LCBvciBtYW55IG1vcmUuXG4gICAgICAgICAgICAgKi9cbiAgICAgICAgICAgIHN0eWxlOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWQsXG4gICAgICAgIH0pXG4gICAgKSxcblxuICAgIC8qKlxuICAgICAqIEEgZGljdGlvbmFyeSBzcGVjaWZ5aW5nIGhvdyB0byBzZXQgdGhlIHBvc2l0aW9uIG9mIHRoZSBlbGVtZW50cyBpbiB5b3VyXG4gICAgICogZ3JhcGguIFRoZSBgJ25hbWUnYCBrZXkgaXMgcmVxdWlyZWQsIGFuZCBpbmRpY2F0ZXMgd2hpY2ggbGF5b3V0IChhbGdvcml0aG0pIHRvXG4gICAgICogdXNlLiBUaGUga2V5cyBhY2NlcHRlZCBieSBgbGF5b3V0YCB2YXJ5IGRlcGVuZGluZyBvbiB0aGUgYWxnb3JpdGhtLCBidXQgdGhlc2VcbiAgICAgKiBrZXlzIGFyZSBhY2NlcHRlZCBieSBhbGwgbGF5b3V0czogYGZpdGAsICBgcGFkZGluZ2AsIGBhbmltYXRlYCwgYGFuaW1hdGlvbkR1cmF0aW9uYCxcbiAgICAgKiBgYm91bmRpbmdCb3hgLlxuICAgICAqXG4gICAgICogIFRoZSBjb21wbGV0ZSBsaXN0IG9mIGxheW91dHMgYW5kIHRoZWlyIGFjY2VwdGVkIG9wdGlvbnMgYXJlIGF2YWlsYWJsZSBvbiB0aGVcbiAgICAgKiAgW0N5dG9zY2FwZS5qcyBkb2NzXShodHRwczovL2pzLmN5dG9zY2FwZS5vcmcvI2xheW91dHMpIC4gRm9yIHRoZSBleHRlcm5hbCBsYXlvdXRzLFxuICAgICAqIHRoZSBvcHRpb25zIGFyZSBsaXN0ZWQgaW4gdGhlIFwiQVBJXCIgc2VjdGlvbiBvZiB0aGUgIFJFQURNRS5cbiAgICAgKiAgTm90ZSB0aGF0IGNlcnRhaW4ga2V5cyBhcmUgbm90IHN1cHBvcnRlZCBpbiBEYXNoIHNpbmNlIHRoZSB2YWx1ZSBpcyBhIEphdmFTY3JpcHRcbiAgICAgKiAgZnVuY3Rpb24gb3IgYSBjYWxsYmFjay4gUGxlYXNlIHZpc2l0IHRoaXNcbiAgICAgKiBbaXNzdWVdKGh0dHBzOi8vZ2l0aHViLmNvbS9wbG90bHkvZGFzaC1jeXRvc2NhcGUvaXNzdWVzLzI1KSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiAgICAgKi9cbiAgICBsYXlvdXQ6IFByb3BUeXBlcy5zaGFwZSh7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBUaGUgbGF5b3V0cyBhdmFpbGFibGUgYnkgZGVmYXVsdCBhcmU6XG4gICAgICAgICAqICAgYHJhbmRvbWA6IFJhbmRvbWx5IGFzc2lnbnMgcG9zaXRpb25zLlxuICAgICAgICAgKiAgIGBwcmVzZXRgOiBBc3NpZ25zIHBvc2l0aW9uIGJhc2VkIG9uIHRoZSBgcG9zaXRpb25gIGtleSBpbiBlbGVtZW50IGRpY3Rpb25hcmllcy5cbiAgICAgICAgICogICBgY2lyY2xlYDogU2luZ2xlLWxldmVsIGNpcmNsZSwgd2l0aCBvcHRpb25hbCByYWRpdXMuXG4gICAgICAgICAqICAgYGNvbmNlbnRyaWNgOiBNdWx0aS1sZXZlbCBjaXJjbGUsIHdpdGggb3B0aW9uYWwgcmFkaXVzLlxuICAgICAgICAgKiAgIGBncmlkYDogU3F1YXJlIGdyaWQsIG9wdGlvbmFsbHkgd2l0aCBudW1iZXJzIG9mIGByb3dzYCBhbmQgYGNvbHNgLlxuICAgICAgICAgKiAgIGBicmVhZHRoZmlyc3RgOiBUcmVlIHN0cnVjdHVyZSBidWlsdCB1c2luZyBCRlMsIHdpdGggb3B0aW9uYWwgYHJvb3RzYC5cbiAgICAgICAgICogICBgY29zZWA6IEZvcmNlLWRpcmVjdGVkIHBoeXNpY3Mgc2ltdWxhdGlvbi5cbiAgICAgICAgICpcbiAgICAgICAgICogU29tZSBleHRlcm5hbCBsYXlvdXRzIGFyZSBhbHNvIGluY2x1ZGVkLiBUbyB1c2UgdGhlbSwgcnVuXG4gICAgICAgICAqICAgYGRhc2hfY3l0b3NjYXBlLmxvYWRfZXh0cmFfbGF5b3V0cygpYCBiZWZvcmUgY3JlYXRpbmcgeW91ciBEYXNoIGFwcC4gQmUgY2FyZWZ1bCBhYm91dFxuICAgICAgICAgKiAgIHVzaW5nIHRoZSBleHRyYSBsYXlvdXRzIHdoZW4gbm90IG5lY2Vzc2FyeSwgc2luY2UgdGhleSByZXF1aXJlIHN1cHBsZW1lbnRhcnkgYmFuZHdpZHRoXG4gICAgICAgICAqICAgZm9yIGxvYWRpbmcsIHdoaWNoIGltcGFjdHMgdGhlIHN0YXJ0dXAgdGltZSBvZiB0aGUgYXBwLlxuICAgICAgICAgKiAgIFRoZSBleHRlcm5hbCBsYXlvdXRzIGFyZTpcbiAgICAgICAgICogICBbY29zZS1iaWxrZW50XShodHRwczovL2dpdGh1Yi5jb20vY3l0b3NjYXBlL2N5dG9zY2FwZS5qcy1jb3NlLWJpbGtlbnQpLFxuICAgICAgICAgKiAgIFtmY29zZV0oaHR0cHM6Ly9naXRodWIuY29tL2lWaXMtYXQtQmlsa2VudC9jeXRvc2NhcGUuanMtZmNvc2UpLFxuICAgICAgICAgKiAgIFtjb2xhXShodHRwczovL2dpdGh1Yi5jb20vY3l0b3NjYXBlL2N5dG9zY2FwZS5qcy1jb2xhKSxcbiAgICAgICAgICogICBbZXVsZXJdKGh0dHBzOi8vZ2l0aHViLmNvbS9jeXRvc2NhcGUvY3l0b3NjYXBlLmpzLWRhZ3JlKSxcbiAgICAgICAgICogICBbc3ByZWFkXShodHRwczovL2dpdGh1Yi5jb20vY3l0b3NjYXBlL2N5dG9zY2FwZS5qcy1zcHJlYWQpLFxuICAgICAgICAgKiAgIFtkYWdyZV0oaHR0cHM6Ly9naXRodWIuY29tL2N5dG9zY2FwZS9jeXRvc2NhcGUuanMtZGFncmUpLFxuICAgICAgICAgKiAgIFtrbGF5XShodHRwczovL2dpdGh1Yi5jb20vY3l0b3NjYXBlL2N5dG9zY2FwZS5qcy1rbGF5KSxcbiAgICAgICAgICovXG4gICAgICAgIG5hbWU6IFByb3BUeXBlcy5vbmVPZihbXG4gICAgICAgICAgICAncmFuZG9tJyxcbiAgICAgICAgICAgICdwcmVzZXQnLFxuICAgICAgICAgICAgJ2NpcmNsZScsXG4gICAgICAgICAgICAnY29uY2VudHJpYycsXG4gICAgICAgICAgICAnZ3JpZCcsXG4gICAgICAgICAgICAnYnJlYWR0aGZpcnN0JyxcbiAgICAgICAgICAgICdjb3NlJyxcbiAgICAgICAgICAgICdjb3NlLWJpbGtlbnQnLFxuICAgICAgICAgICAgJ2Zjb3NlJyxcbiAgICAgICAgICAgICdjb2xhJyxcbiAgICAgICAgICAgICdldWxlcicsXG4gICAgICAgICAgICAnc3ByZWFkJyxcbiAgICAgICAgICAgICdkYWdyZScsXG4gICAgICAgICAgICAna2xheScsXG4gICAgICAgIF0pLmlzUmVxdWlyZWQsXG4gICAgICAgIC8qKiAgV2hldGhlciB0byByZW5kZXIgdGhlIG5vZGVzIGluIG9yZGVyIHRvIGZpdCB0aGUgY2FudmFzLiAqL1xuICAgICAgICBmaXQ6IFByb3BUeXBlcy5ib29sLFxuICAgICAgICAvKiogUGFkZGluZyBhcm91bmQgdGhlIHNpZGVzIG9mIHRoZSBjYW52YXMsIGlmIGZpdCBpcyBlbmFibGVkLiAqL1xuICAgICAgICBwYWRkaW5nOiBQcm9wVHlwZXMubnVtYmVyLFxuICAgICAgICAvKiogV2hldGhlciB0byBhbmltYXRlIGNoYW5nZSBpbiBwb3NpdGlvbiB3aGVuIHRoZSBsYXlvdXQgY2hhbmdlcy4gKi9cbiAgICAgICAgYW5pbWF0ZTogUHJvcFR5cGVzLmJvb2wsXG4gICAgICAgIC8qKiBEdXJhdGlvbiBvZiBhbmltYXRpb24gaW4gbWlsbGlzZWNvbmRzLCBpZiBlbmFibGVkLiAqL1xuICAgICAgICBhbmltYXRpb25EdXJhdGlvbjogUHJvcFR5cGVzLm51bWJlcixcbiAgICAgICAgLyoqXG4gICAgICAgICAqIEhvdyB0byBjb25zdHJhaW4gdGhlIGxheW91dCBpbiBhIHNwZWNpZmljIGFyZWEuIEtleXMgYWNjZXB0ZWQgYXJlIGVpdGhlclxuICAgICAgICAgKiBgeDEsIHkxLCB4MiwgeTJgIG9yIGB4MSwgeTEsIHcsIGhgLCBhbGwgb2Ygd2hpY2ggcmVjZWl2ZSBhIHBpeGVsIHZhbHVlLlxuICAgICAgICAgKi9cbiAgICAgICAgYm91bmRpbmdCb3g6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgfSksXG4gICAgLyoqXG4gICAgICogRGVmaW5lIGEgY3VzdG9tIGNvbnRleHQgbWVudS4gVGhlIGJlaGF2aW91ciBvZiBlYWNoIG1lbnUgaXRlbSBjYW4gYmUgZGVmaW5lZCBpbiAxIG9mIDMgd2F5cy5cbiAgICAgKiAxLiBCeSBwYXNzaW5nIGEgc3RyaW5nIHRvIG9uQ2xpY2sgdGhhdCByZWZlcnMgdG8gb25lIG9mIHRoZSBidWlsdC1pbiBKYXZhc2NyaXB0IGZ1bmN0aW9ucy5cbiAgICAgKiAyLiBCeSBwYXNzaW5nIGEgc3RyaW5nIHRvIG9uQ2xpY2tDdXN0b20gdGhhdCByZWZlcnMgdG8gb25lIG9mIHRoZSB1c2VyLWRlZmluZWQgZnVuY3Rpb25zIGluIGEgbmFtZXNwYWNlLlxuICAgICAqIDMuIEJ5IG9taXR0aW5nIGJvdGggb2YgdGhlc2UgcHJvcGVydGllczsgdGhpcyB3aWxsIHVwZGF0ZSB0aGUgY29udGV4dE1lbnVEYXRhIHByb3BlcnR5IGFuZCB0cmlnZ2VyIGEgRGFzaCBjYWxsYmFjay5cbiAgICAgKi9cbiAgICBjb250ZXh0TWVudTogUHJvcFR5cGVzLmFycmF5T2YoXG4gICAgICAgIFByb3BUeXBlcy5leGFjdCh7XG4gICAgICAgICAgICAvKiogSUQgb2YgdGhlIG1lbnUgaXRlbSBpbiB0aGUgY29udGV4dCBtZW51ICovXG4gICAgICAgICAgICBpZDogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICAgICAgICAgICAgLyoqIFRoZSBsYWJlbCBvbiB0aGUgY29udGV4dCBtZW51IGl0ZW0qL1xuICAgICAgICAgICAgbGFiZWw6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgICAgICAgICAgIC8qKiBUaGUgdG9vbHRpcCB0ZXh0IHdoZW4gaG92ZXJpbmcgb24gdG9wIG9mIGEgY29udGV4dCBtZW51IGl0ZW0gKi9cbiAgICAgICAgICAgIHRvb2x0aXBUZXh0OiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICAgICAgLyoqIEEgbGlzdCBjb250YWluaW5nIGVpdGhlciAnbm9kZScsICdlZGdlJyxhbmQvb3IgJ2NhbnZhcycuIFRoaXMgd2lsbCBkZXRlcm1pbmUgd2hlcmUgdGhlIGNvbnRleHRcbiAgICAgICAgICAgICAqICBtZW51IGl0ZW0gd2lsbCBzaG93IHVwLlxuICAgICAgICAgICAgICovXG4gICAgICAgICAgICBhdmFpbGFibGVPbjogUHJvcFR5cGVzLmFycmF5LFxuICAgICAgICAgICAgLyoqIFNwZWNpZnkgd2hpY2ggYnVpbHQtaW4gSmF2YVNjcmlwdCBmdW5jdGlvbiB0byB1c2UgYXMgYmVoYXZpb3VyIGZvciB0aGUgY29udGV4dFxuICAgICAgICAgICAgICogbWVudSBpdGVtLiBPbmUgb2YgJ3JlbW92ZScsICdhZGRfbm9kZScsIG9yICdhZGRfZWRnZSdcbiAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgb25DbGljazogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgICAgICAgIC8qKiBTcGVjaWZ5IHdoaWNoIHVzZXItZGVmaW5lZCBKYXZhc2NyaXB0IGZ1bmN0aW9uIHRvIHVzZSBpbiB0aGUgZGFzaEN5dG9zY2FwZUZ1bmN0aW9uc1xuICAgICAgICAgICAgICogbmFtZXNwYWNlIGFzIGJlaGF2aW91ciBmb3IgdGhlIGNvbnRleHQgbWVudSBpdGVtXG4gICAgICAgICAgICAgKi9cbiAgICAgICAgICAgIG9uQ2xpY2tDdXN0b206IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICAgIH0pXG4gICAgKSxcbiAgICAvKipcbiAgICAgKiBSZXRyaWV2ZSByZWxldmFudCBkYXRhIHdoZW4gYSBjb250ZXh0IG1lbnUgaXRlbSBpcyBjbGlja2VkLiAgUmVhZC1vbmx5LlxuICAgICAqL1xuICAgIGNvbnRleHRNZW51RGF0YTogUHJvcFR5cGVzLmV4YWN0KHtcbiAgICAgICAgLyoqIElEIG9mIHRoZSBtZW51IGl0ZW0gaW4gdGhlIGNvbnRleHQgbWVudSAqL1xuICAgICAgICBtZW51SXRlbUlkOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICAvKiogeC1wb3NpdGlvbiBvZiB0aGUgY29udGV4dCBjbGljayAqL1xuICAgICAgICB4OiBQcm9wVHlwZXMubnVtYmVyLFxuICAgICAgICAvKiogeS1wb3NpdGlvbiBvZiB0aGUgY29udGV4dCBjbGljayAqL1xuICAgICAgICB5OiBQcm9wVHlwZXMubnVtYmVyLFxuICAgICAgICAvKiogVGltZXN0YW1wIG9mIGNvbnRleHQgY2xpY2sqL1xuICAgICAgICB0aW1lU3RhbXA6IFByb3BUeXBlcy5udW1iZXIsXG4gICAgICAgIC8qKiBFbGVtZW50IElEIG9uIGNvbnRleHQgY2xpY2sgaWYgdGhlIGNvbnRleHQgY2xpY2sgd2FzIG9uIGFuIGVsZW1lbnQuXG4gICAgICAgICAqIElmIGNvbnRleHQgY2xpY2sgd2FzIG9uIHdoaXRlIHNwYWNlLCB0aGlzIHByb3BlcnR5IGlzIG5vdCByZXR1cm5lZFxuICAgICAgICAgKi9cbiAgICAgICAgZWxlbWVudElkOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICAvKiogTm9kZSBJRCBvZiB0aGUgZWRnZSBzb3VyY2UgaWYgdGhlIGNsaWNrZWQgZWxlbWVudCBpcyBhbiBlZGdlLFxuICAgICAgICAgKiBvciBlbHNlIHRoaXMgcHJvcGVydHkgaXMgbm90IHJldHVybmVkKi9cbiAgICAgICAgZWRnZVNvdXJjZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgICAgLyoqIE5vZGUgSUQgb2YgdGhlIGVkZ2UgdGFyZ2V0IGlmIHRoZSBjbGlja2VkIGVsZW1lbnQgaXMgYW4gZWRnZSxcbiAgICAgICAgICogb3IgZWxzZSB0aGlzIHByb3BlcnR5IGlzIG5vdCByZXR1cm5lZCovXG4gICAgICAgIGVkZ2VUYXJnZXQ6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgfSksXG4gICAgLy8gVmlld3BvcnQgTWFuaXB1bGF0aW9uXG5cbiAgICAvKipcbiAgICAgKiBEaWN0aW9uYXJ5IGluZGljYXRpbmcgdGhlIGluaXRpYWwgcGFubmluZyBwb3NpdGlvbiBvZiB0aGUgZ3JhcGguIFRoZVxuICAgICAqIGZvbGxvd2luZyBrZXlzIGFyZSBhY2NlcHRlZDpcbiAgICAgKi9cbiAgICBwYW46IFByb3BUeXBlcy5leGFjdCh7XG4gICAgICAgIC8qKiBUaGUgeC1jb29yZGluYXRlIG9mIHRoZSBub2RlICovXG4gICAgICAgIHg6IFByb3BUeXBlcy5udW1iZXIsXG4gICAgICAgIC8qKiBUaGUgeS1jb29yZGluYXRlIG9mIHRoZSBub2RlICAqL1xuICAgICAgICB5OiBQcm9wVHlwZXMubnVtYmVyLFxuICAgIH0pLFxuXG4gICAgLyoqXG4gICAgICogVGhlIGluaXRpYWwgem9vbSBsZXZlbCBvZiB0aGUgZ3JhcGguIFlvdSBjYW4gc2V0IGBtaW5ab29tYCBhbmRcbiAgICAgKiBgbWF4Wm9vbWAgdG8gc2V0IHJlc3RyaWN0aW9ucyBvbiB0aGUgem9vbSBsZXZlbC5cbiAgICAgKi9cbiAgICB6b29tOiBQcm9wVHlwZXMubnVtYmVyLFxuXG4gICAgLy8gVmlld3BvcnQgTXV0YWJpbGl0eSBhbmQgZ2VzdHVyZSBUb2dnbGluZ1xuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgcGFubmluZyB0aGUgZ3JhcGggaXMgZW5hYmxlZCAoaS5lLiwgdGhlIHBvc2l0aW9uIG9mIHRoZSBncmFwaCBpc1xuICAgICAqIG11dGFibGUgb3ZlcmFsbCkuXG4gICAgICovXG4gICAgcGFubmluZ0VuYWJsZWQ6IFByb3BUeXBlcy5ib29sLFxuXG4gICAgLyoqXG4gICAgICogV2hldGhlciB1c2VyIGV2ZW50cyAoZS5nLiBkcmFnZ2luZyB0aGUgZ3JhcGggYmFja2dyb3VuZCkgYXJlIGFsbG93ZWQgdG9cbiAgICAgKiBwYW4gdGhlIGdyYXBoLlxuICAgICAqL1xuICAgIHVzZXJQYW5uaW5nRW5hYmxlZDogUHJvcFR5cGVzLmJvb2wsXG5cbiAgICAvKipcbiAgICAgKiBBIG1pbmltdW0gYm91bmQgb24gdGhlIHpvb20gbGV2ZWwgb2YgdGhlIGdyYXBoLiBUaGUgdmlld3BvcnQgY2FuIG5vdCBiZVxuICAgICAqIHNjYWxlZCBzbWFsbGVyIHRoYW4gdGhpcyB6b29tIGxldmVsLlxuICAgICAqL1xuICAgIG1pblpvb206IFByb3BUeXBlcy5udW1iZXIsXG5cbiAgICAvKipcbiAgICAgKiBBIG1heGltdW0gYm91bmQgb24gdGhlIHpvb20gbGV2ZWwgb2YgdGhlIGdyYXBoLiBUaGUgdmlld3BvcnQgY2FuIG5vdCBiZVxuICAgICAqIHNjYWxlZCBsYXJnZXIgdGhhbiB0aGlzIHpvb20gbGV2ZWwuXG4gICAgICovXG4gICAgbWF4Wm9vbTogUHJvcFR5cGVzLm51bWJlcixcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgem9vbWluZyB0aGUgZ3JhcGggaXMgZW5hYmxlZCAoaS5lLiwgdGhlIHpvb20gbGV2ZWwgb2YgdGhlIGdyYXBoXG4gICAgICogaXMgbXV0YWJsZSBvdmVyYWxsKS5cbiAgICAgKi9cbiAgICB6b29taW5nRW5hYmxlZDogUHJvcFR5cGVzLmJvb2wsXG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHVzZXIgZXZlbnRzIChlLmcuIGRyYWdnaW5nIHRoZSBncmFwaCBiYWNrZ3JvdW5kKSBhcmUgYWxsb3dlZFxuICAgICAqIHRvIHBhbiB0aGUgZ3JhcGguXG4gICAgICovXG4gICAgdXNlclpvb21pbmdFbmFibGVkOiBQcm9wVHlwZXMuYm9vbCxcblxuICAgIC8qKlxuICAgICAqIENoYW5nZXMgdGhlIHNjcm9sbCB3aGVlbCBzZW5zaXRpdml0eSB3aGVuIHpvb21pbmcuXG4gICAgICovXG4gICAgd2hlZWxTZW5zaXRpdml0eTogUHJvcFR5cGVzLm51bWJlcixcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgYm94IHNlbGVjdGlvbiAoaS5lLiBkcmFnIGEgYm94IG92ZXJsYXkgYXJvdW5kLCBhbmQgcmVsZWFzZSBpdFxuICAgICAqIHRvIHNlbGVjdCkgaXMgZW5hYmxlZC4gSWYgZW5hYmxlZCwgdGhlIHVzZXIgbXVzdCB0YXBob2xkIHRvIHBhbiB0aGUgZ3JhcGguXG4gICAgICovXG4gICAgYm94U2VsZWN0aW9uRW5hYmxlZDogUHJvcFR5cGVzLmJvb2wsXG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIG5vZGVzIHNob3VsZCBiZSB1bmdyYWJpZmllZCAobm90IGdyYWJiYWJsZSBieSB1c2VyKSBieVxuICAgICAqIGRlZmF1bHQgKGlmIHRydWUsIG92ZXJyaWRlcyBpbmRpdmlkdWFsIG5vZGUgc3RhdGUpLlxuICAgICAqL1xuICAgIGF1dG91bmdyYWJpZnk6IFByb3BUeXBlcy5ib29sLFxuXG4gICAgLyoqXG4gICAgICogV2hldGhlciBub2RlcyBzaG91bGQgYmUgbG9ja2VkIChub3QgZHJhZ2dhYmxlIGF0IGFsbCkgYnkgZGVmYXVsdFxuICAgICAqIChpZiB0cnVlLCBvdmVycmlkZXMgaW5kaXZpZHVhbCBub2RlIHN0YXRlKS5cbiAgICAgKi9cbiAgICBhdXRvbG9jazogUHJvcFR5cGVzLmJvb2wsXG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIG5vZGVzIHNob3VsZCBiZSB1bnNlbGVjdGlmaWVkIChpbW11dGFibGUgc2VsZWN0aW9uIHN0YXRlKSBieVxuICAgICAqIGRlZmF1bHQgKGlmIHRydWUsIG92ZXJyaWRlcyBpbmRpdmlkdWFsIGVsZW1lbnQgc3RhdGUpLlxuICAgICAqL1xuICAgIGF1dG91bnNlbGVjdGlmeTogUHJvcFR5cGVzLmJvb2wsXG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRoZSBsYXlvdXQgc2hvdWxkIGJlIHJlZnJlc2hlZCB3aGVuIGVsZW1lbnRzIGFyZSBhZGRlZCBvciByZW1vdmVkLlxuICAgICAqL1xuICAgIGF1dG9SZWZyZXNoTGF5b3V0OiBQcm9wVHlwZXMuYm9vbCxcblxuICAgIC8vIFVzZXIgRXZlbnRzIFByb3BzXG5cbiAgICAvKipcbiAgICAgKiBUaGUgY29tcGxldGUgbm9kZSBkaWN0aW9uYXJ5IHJldHVybmVkIHdoZW4geW91IHRhcCBvciBjbGljayBpdC4gUmVhZC1vbmx5LlxuICAgICAqL1xuICAgIHRhcE5vZGU6IFByb3BUeXBlcy5leGFjdCh7XG4gICAgICAgIC8qKiBub2RlIHNwZWNpZmljIGl0ZW0gKi9cbiAgICAgICAgZWRnZXNEYXRhOiBQcm9wVHlwZXMuYXJyYXksXG4gICAgICAgIC8qKiBub2RlIHNwZWNpZmljIGl0ZW0gKi9cbiAgICAgICAgcmVuZGVyZWRQb3NpdGlvbjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICAgICAgLyoqIG5vZGUgc3BlY2lmaWMgaXRlbSAqL1xuICAgICAgICB0aW1lU3RhbXA6IFByb3BUeXBlcy5udW1iZXIsXG4gICAgICAgIC8qKiBHZW5lcmFsIGl0ZW0gKGZvciBhbGwgZWxlbWVudHMpICovXG4gICAgICAgIGNsYXNzZXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICAgIC8qKiBHZW5lcmFsIGl0ZW0gKGZvciBhbGwgZWxlbWVudHMpICovXG4gICAgICAgIGRhdGE6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgICAgIC8qKiBHZW5lcmFsIGl0ZW0gKGZvciBhbGwgZWxlbWVudHMpICovXG4gICAgICAgIGdyYWJiYWJsZTogUHJvcFR5cGVzLmJvb2wsXG4gICAgICAgIC8qKiBHZW5lcmFsIGl0ZW0gKGZvciBhbGwgZWxlbWVudHMpICovXG4gICAgICAgIGdyb3VwOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICAvKiogR2VuZXJhbCBpdGVtIChmb3IgYWxsIGVsZW1lbnRzKSAqL1xuICAgICAgICBsb2NrZWQ6IFByb3BUeXBlcy5ib29sLFxuICAgICAgICAvKiogR2VuZXJhbCBpdGVtIChmb3IgYWxsIGVsZW1lbnRzKSAqL1xuICAgICAgICBwb3NpdGlvbjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICAgICAgLyoqIEdlbmVyYWwgaXRlbSAoZm9yIGFsbCBlbGVtZW50cykgKi9cbiAgICAgICAgc2VsZWN0YWJsZTogUHJvcFR5cGVzLmJvb2wsXG4gICAgICAgIC8qKiBHZW5lcmFsIGl0ZW0gKGZvciBhbGwgZWxlbWVudHMpICovXG4gICAgICAgIHNlbGVjdGVkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICAgICAgLyoqIEdlbmVyYWwgaXRlbSAoZm9yIGFsbCBlbGVtZW50cykgKi9cbiAgICAgICAgc3R5bGU6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgICAgIC8qKiBJdGVtIGZvciBjb21wb3VuZCBub2RlcyAqL1xuICAgICAgICBhbmNlc3RvcnNEYXRhOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMub2JqZWN0LCBQcm9wVHlwZXMuYXJyYXldKSxcbiAgICAgICAgLyoqIEl0ZW0gZm9yIGNvbXBvdW5kIG5vZGVzICovXG4gICAgICAgIGNoaWxkcmVuRGF0YTogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLm9iamVjdCwgUHJvcFR5cGVzLmFycmF5XSksXG4gICAgICAgIC8qKiBJdGVtIGZvciBjb21wb3VuZCBub2RlcyAqL1xuICAgICAgICBkZXNjZW5kYW50c0RhdGE6IFByb3BUeXBlcy5vbmVPZlR5cGUoW1xuICAgICAgICAgICAgUHJvcFR5cGVzLm9iamVjdCxcbiAgICAgICAgICAgIFByb3BUeXBlcy5hcnJheSxcbiAgICAgICAgXSksXG4gICAgICAgIC8qKiBJdGVtIGZvciBjb21wb3VuZCBub2RlcyAqL1xuICAgICAgICBwYXJlbnREYXRhOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMub2JqZWN0LCBQcm9wVHlwZXMuYXJyYXldKSxcbiAgICAgICAgLyoqIEl0ZW0gZm9yIGNvbXBvdW5kIG5vZGVzICovXG4gICAgICAgIHNpYmxpbmdzRGF0YTogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLm9iamVjdCwgUHJvcFR5cGVzLmFycmF5XSksXG4gICAgICAgIC8qKiBJdGVtIGZvciBjb21wb3VuZCBub2RlcyAqL1xuICAgICAgICBpc1BhcmVudDogUHJvcFR5cGVzLmJvb2wsXG4gICAgICAgIC8qKiBJdGVtIGZvciBjb21wb3VuZCBub2RlcyAqL1xuICAgICAgICBpc0NoaWxkbGVzczogUHJvcFR5cGVzLmJvb2wsXG4gICAgICAgIC8qKiBJdGVtIGZvciBjb21wb3VuZCBub2RlcyAqL1xuICAgICAgICBpc0NoaWxkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICAgICAgLyoqIEl0ZW0gZm9yIGNvbXBvdW5kIG5vZGVzICovXG4gICAgICAgIGlzT3JwaGFuOiBQcm9wVHlwZXMuYm9vbCxcbiAgICAgICAgLyoqIEl0ZW0gZm9yIGNvbXBvdW5kIG5vZGVzICovXG4gICAgICAgIHJlbGF0aXZlUG9zaXRpb246IFByb3BUeXBlcy5vYmplY3QsXG4gICAgfSksXG5cbiAgICAvKipcbiAgICAgKiBUaGUgZGF0YSBkaWN0aW9uYXJ5IG9mIGEgbm9kZSByZXR1cm5lZCB3aGVuIHlvdSB0YXAgb3IgY2xpY2sgaXQuIFJlYWQtb25seS5cbiAgICAgKi9cbiAgICB0YXBOb2RlRGF0YTogUHJvcFR5cGVzLm9iamVjdCxcblxuICAgIC8qKlxuICAgICAqIFRoZSBjb21wbGV0ZSBlZGdlIGRpY3Rpb25hcnkgcmV0dXJuZWQgd2hlbiB5b3UgdGFwIG9yIGNsaWNrIGl0LiBSZWFkLW9ubHkuXG4gICAgICovXG4gICAgdGFwRWRnZTogUHJvcFR5cGVzLmV4YWN0KHtcbiAgICAgICAgLyoqIEVkZ2Utc3BlY2lmaWMgaXRlbSAqL1xuICAgICAgICBpc0xvb3A6IFByb3BUeXBlcy5ib29sLFxuICAgICAgICAvKiogRWRnZS1zcGVjaWZpYyBpdGVtICovXG4gICAgICAgIGlzU2ltcGxlOiBQcm9wVHlwZXMuYm9vbCxcbiAgICAgICAgLyoqIEVkZ2Utc3BlY2lmaWMgaXRlbSAqL1xuICAgICAgICBtaWRwb2ludDogUHJvcFR5cGVzLm9iamVjdCxcbiAgICAgICAgLyoqIEVkZ2Utc3BlY2lmaWMgaXRlbSAqL1xuICAgICAgICBzb3VyY2VEYXRhOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgICAgICAvKiogRWRnZS1zcGVjaWZpYyBpdGVtICovXG4gICAgICAgIHNvdXJjZUVuZHBvaW50OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgICAgICAvKiogRWRnZS1zcGVjaWZpYyBpdGVtICovXG4gICAgICAgIHRhcmdldERhdGE6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgICAgIC8qKiBFZGdlLXNwZWNpZmljIGl0ZW0gKi9cbiAgICAgICAgdGFyZ2V0RW5kcG9pbnQ6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgICAgIC8qKiBFZGdlLXNwZWNpZmljIGl0ZW0gKi9cbiAgICAgICAgdGltZVN0YW1wOiBQcm9wVHlwZXMubnVtYmVyLFxuICAgICAgICAvKiogR2VuZXJhbCBpdGVtIChmb3IgYWxsIGVsZW1lbnRzKSAqL1xuICAgICAgICBjbGFzc2VzOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICAvKiogR2VuZXJhbCBpdGVtIChmb3IgYWxsIGVsZW1lbnRzKSAqL1xuICAgICAgICBkYXRhOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgICAgICAvKiogR2VuZXJhbCBpdGVtIChmb3IgYWxsIGVsZW1lbnRzKSAqL1xuICAgICAgICBncmFiYmFibGU6IFByb3BUeXBlcy5ib29sLFxuICAgICAgICAvKiogR2VuZXJhbCBpdGVtIChmb3IgYWxsIGVsZW1lbnRzKSAqL1xuICAgICAgICBncm91cDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgICAgLyoqIEdlbmVyYWwgaXRlbSAoZm9yIGFsbCBlbGVtZW50cykgKi9cbiAgICAgICAgbG9ja2VkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICAgICAgLyoqIEdlbmVyYWwgaXRlbSAoZm9yIGFsbCBlbGVtZW50cykgKi9cbiAgICAgICAgc2VsZWN0YWJsZTogUHJvcFR5cGVzLmJvb2wsXG4gICAgICAgIC8qKiBHZW5lcmFsIGl0ZW0gKGZvciBhbGwgZWxlbWVudHMpICovXG4gICAgICAgIHNlbGVjdGVkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICAgICAgLyoqIEdlbmVyYWwgaXRlbSAoZm9yIGFsbCBlbGVtZW50cykgKi9cbiAgICAgICAgc3R5bGU6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgfSksXG5cbiAgICAvKipcbiAgICAgKiBUaGUgZGF0YSBkaWN0aW9uYXJ5IG9mIGFuIGVkZ2UgcmV0dXJuZWQgd2hlbiB5b3UgdGFwIG9yIGNsaWNrIGl0LiBSZWFkLW9ubHkuXG4gICAgICovXG4gICAgdGFwRWRnZURhdGE6IFByb3BUeXBlcy5vYmplY3QsXG5cbiAgICAvKipcbiAgICAgKiBUaGUgZGF0YSBkaWN0aW9uYXJ5IG9mIGEgbm9kZSByZXR1cm5lZCB3aGVuIHlvdSBob3ZlciBvdmVyIGl0LiBSZWFkLW9ubHkuXG4gICAgICovXG4gICAgbW91c2VvdmVyTm9kZURhdGE6IFByb3BUeXBlcy5vYmplY3QsXG5cbiAgICAvKipcbiAgICAgKiBUaGUgZGF0YSBkaWN0aW9uYXJ5IG9mIGFuIGVkZ2UgcmV0dXJuZWQgd2hlbiB5b3UgaG92ZXIgb3ZlciBpdC4gUmVhZC1vbmx5LlxuICAgICAqL1xuICAgIG1vdXNlb3ZlckVkZ2VEYXRhOiBQcm9wVHlwZXMub2JqZWN0LFxuXG4gICAgLyoqXG4gICAgICogVGhlIGxpc3Qgb2YgZGF0YSBkaWN0aW9uYXJpZXMgb2YgYWxsIHNlbGVjdGVkIG5vZGVzIChlLmcuIHVzaW5nXG4gICAgICogU2hpZnQrQ2xpY2sgdG8gc2VsZWN0IG11bHRpcGxlIG5vZGVzLCBvciBTaGlmdCtEcmFnIHRvIHVzZSBib3ggc2VsZWN0aW9uKS4gUmVhZC1vbmx5LlxuICAgICAqL1xuICAgIHNlbGVjdGVkTm9kZURhdGE6IFByb3BUeXBlcy5hcnJheSxcblxuICAgIC8qKlxuICAgICAqIFRoZSBsaXN0IG9mIGRhdGEgZGljdGlvbmFyaWVzIG9mIGFsbCBzZWxlY3RlZCBlZGdlcyAoZS5nLiB1c2luZ1xuICAgICAqIFNoaWZ0K0NsaWNrIHRvIHNlbGVjdCBtdWx0aXBsZSBub2Rlcywgb3IgU2hpZnQrRHJhZyB0byB1c2UgYm94IHNlbGVjdGlvbikuIFJlYWQtb25seS5cbiAgICAgKi9cbiAgICBzZWxlY3RlZEVkZ2VEYXRhOiBQcm9wVHlwZXMuYXJyYXksXG5cbiAgICAvKipcbiAgICAgKiBEaWN0aW9uYXJ5IHNwZWNpZnlpbmcgb3B0aW9ucyB0byBnZW5lcmF0ZSBhbiBpbWFnZSBvZiB0aGUgY3VycmVudCBjeXRvc2NhcGUgZ3JhcGguXG4gICAgICogVmFsdWUgaXMgY2xlYXJlZCBhZnRlciBkYXRhIGlzIHJlY2VpdmVkIGFuZCBpbWFnZSBpcyBnZW5lcmF0ZWQuIFRoaXMgcHJvcGVydHkgd2lsbFxuICAgICAqIGJlIGlnbm9yZWQgb24gdGhlIGluaXRpYWwgY3JlYXRpb24gb2YgdGhlIGN5dG9zY2FwZSBvYmplY3QgYW5kIG11c3QgYmUgaW52b2tlZCB0aHJvdWdoXG4gICAgICogYSBjYWxsYmFjayBhZnRlciBpdCBoYXMgYmVlbiByZW5kZXJlZC5cbiAgICAgKlxuICAgICAqIElmIHRoZSBhcHAgZG9lcyBub3QgbmVlZCB0aGUgaW1hZ2UgZGF0YSBzZXJ2ZXIgc2lkZSBhbmQvb3IgaXQgd2lsbCBvbmx5IGJlIHVzZWQgdG8gZG93bmxvYWRcbiAgICAgKiB0aGUgaW1hZ2UsIGl0IG1heSBiZSBwcnVkZW50IHRvIGludm9rZSBgJ2Rvd25sb2FkJ2AgZm9yIGBhY3Rpb25gIGluc3RlYWQgb2ZcbiAgICAgKiBgJ3N0b3JlJ2AgdG8gaW1wcm92ZSBwZXJmb3JtYW5jZSBieSBwcmV2ZW50aW5nIHRyYW5zZmVyIG9mIGRhdGEgdG8gdGhlIHNlcnZlci5cbiAgICAgKi9cbiAgICBnZW5lcmF0ZUltYWdlOiBQcm9wVHlwZXMuc2hhcGUoe1xuICAgICAgICAvKiogRmlsZSB0eXBlIHRvIG91dHB1dCAgKi9cbiAgICAgICAgdHlwZTogUHJvcFR5cGVzLm9uZU9mKFsnc3ZnJywgJ3BuZycsICdqcGcnLCAnanBlZyddKSxcbiAgICAgICAgLyoqIERpY3Rpb25hcnkgb2Ygb3B0aW9ucyB0byBjeS5wbmcoKSAvIGN5LmpwZygpIG9yIGN5LnN2ZygpIGZvciBpbWFnZSBnZW5lcmF0aW9uLlxuICAgICAgICAgKiBTZWUgaHR0cHM6Ly9qcy5jeXRvc2NhcGUub3JnLyNjb3JlL2V4cG9ydCBmb3IgZGV0YWlscy4gRm9yIGAnb3V0cHV0J2AsIG9ubHkgJ2Jhc2U2NCdcbiAgICAgICAgICogYW5kICdiYXNlNjR1cmknIGFyZSBzdXBwb3J0ZWQuIERlZmF1bHQ6IGB7J291dHB1dCc6ICdiYXNlNjR1cmknfWAuKi9cbiAgICAgICAgb3B0aW9uczogUHJvcFR5cGVzLm9iamVjdCxcbiAgICAgICAgLyoqXG4gICAgICAgICAqIGAnc3RvcmUnYDogU3RvcmVzIHRoZSBpbWFnZSBkYXRhIChvbmx5IGpwZyBhbmQgcG5nIGFyZSBzdXBwb3J0ZWQpXG4gICAgICAgICAqIGluIGBpbWFnZURhdGFgIGFuZCBpbnZva2VzIHNlcnZlci1zaWRlIERhc2ggY2FsbGJhY2tzLiBgJ2Rvd25sb2FkJ2A6IERvd25sb2FkcyB0aGUgaW1hZ2VcbiAgICAgICAgICogYXMgYSBmaWxlIHdpdGggYWxsIGRhdGEgaGFuZGxpbmcgZG9uZSBjbGllbnQtc2lkZS4gTm8gYGltYWdlRGF0YWAgY2FsbGJhY2tzIGFyZSBmaXJlZC5cbiAgICAgICAgICogYCdib3RoJ2A6IFN0b3JlcyBpbWFnZSBkYXRhIGFuZCBkb3dubG9hZHMgaW1hZ2UgYXMgZmlsZS4gVGhlIGRlZmF1bHQgaXMgYCdzdG9yZSdgXG4gICAgICAgICAqL1xuICAgICAgICBhY3Rpb246IFByb3BUeXBlcy5vbmVPZihbJ3N0b3JlJywgJ2Rvd25sb2FkJywgJ2JvdGgnXSksXG4gICAgICAgIC8qKiBOYW1lIGZvciB0aGUgZmlsZSB0byBiZSBkb3dubG9hZGVkLiBEZWZhdWx0OiAnY3l0bycuKi9cbiAgICAgICAgZmlsZW5hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgfSksXG5cbiAgICAvKipcbiAgICAgKiBTdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhlIGltYWdlIHJlcXVlc3RlZCB3aXRoIGdlbmVyYXRlSW1hZ2UuIE51bGwgaWYgbm9cbiAgICAgKiBpbWFnZSB3YXMgcmVxdWVzdGVkIHlldCBvciB0aGUgcHJldmlvdXMgcmVxdWVzdCBmYWlsZWQuIFJlYWQtb25seS5cbiAgICAgKi9cbiAgICBpbWFnZURhdGE6IFByb3BUeXBlcy5zdHJpbmcsXG5cbiAgICAvKipcbiAgICAgKiBUb2dnbGVzIGludGVsbGlnZW50IHJlc3BvbnNpdmUgcmVzaXplIG9mIEN5dG9zY2FwZSBncmFwaCB3aXRoIHZpZXdwb3J0IHNpemUgY2hhbmdlXG4gICAgICovXG4gICAgcmVzcG9uc2l2ZTogUHJvcFR5cGVzLmJvb2wsXG5cbiAgICAvKipcbiAgICAgKiBFeHRlbnQgb2YgdGhlIHZpZXdwb3J0LCBhIGJvdW5kaW5nIGJveCBpbiBtb2RlbCBjby1vcmRpbmF0ZXMgdGhhdCBsZXRzIHlvdSBrbm93IHdoYXQgbW9kZWxcbiAgICAgKiBwb3NpdGlvbnMgYXJlIHZpc2libGUgaW4gdGhlIHZpZXdwb3J0LiBUaGlzIGZ1bmN0aW9uIHJldHVybnMgYSBwbGFpbiBvYmplY3QgYm91bmRpbmcgYm94XG4gICAgICogd2l0aCBmb3JtYXQgeyB4MSwgeTEsIHgyLCB5MiwgdywgaCB9LlxuICAgICAqL1xuICAgIGV4dGVudDogUHJvcFR5cGVzLm9iamVjdCxcblxuICAgIC8qKlxuICAgICAqIElmIHNldCB0byBUcnVlLCBtb3VzZW92ZXJOb2RlRGF0YSBhbmQgbW91c2VvdmVyRWRnZURhdGEgd2lsbCBiZSBjbGVhcmVkIG9uIHVuaG92ZXIuXG4gICAgICogSWYgc2V0IHRvIEZhbHNlLCB0aGUgdmFsdWUgb2YgbW91c2VvdmVyTm9kZURhdGEgYW5kIG1vdXNlb3ZlckVkZ2VEYXRhIHdpbGwgYmUgdGhlIGxhc3RcbiAgICAgKiBOb2RlIG9yIEVkZ2UgaG92ZXJlZCBvdmVyXG4gICAgICovXG4gICAgY2xlYXJPblVuaG92ZXI6IFByb3BUeXBlcy5ib29sLFxufTtcblxuQ3l0b3NjYXBlLmRlZmF1bHRQcm9wcyA9IHtcbiAgICBzdHlsZToge3dpZHRoOiAnNjAwcHgnLCBoZWlnaHQ6ICc2MDBweCd9LFxuICAgIGxheW91dDoge25hbWU6ICdncmlkJ30sXG4gICAgcGFuOiB7eDogMCwgeTogMH0sXG4gICAgem9vbTogMSxcbiAgICBtaW5ab29tOiAxZS01MCxcbiAgICBtYXhab29tOiAxZTUwLFxuICAgIHpvb21pbmdFbmFibGVkOiB0cnVlLFxuICAgIHVzZXJab29taW5nRW5hYmxlZDogdHJ1ZSxcbiAgICBwYW5uaW5nRW5hYmxlZDogdHJ1ZSxcbiAgICB1c2VyUGFubmluZ0VuYWJsZWQ6IHRydWUsXG4gICAgd2hlZWxTZW5zaXRpdml0eTogMSxcbiAgICBib3hTZWxlY3Rpb25FbmFibGVkOiBmYWxzZSxcbiAgICBhdXRvbG9jazogZmFsc2UsXG4gICAgYXV0b3VuZ3JhYmlmeTogZmFsc2UsXG4gICAgYXV0b3Vuc2VsZWN0aWZ5OiBmYWxzZSxcbiAgICBhdXRvUmVmcmVzaExheW91dDogdHJ1ZSxcbiAgICBnZW5lcmF0ZUltYWdlOiB7fSxcbiAgICBpbWFnZURhdGE6IG51bGwsXG4gICAgcmVzcG9uc2l2ZTogZmFsc2UsXG4gICAgY2xlYXJPblVuaG92ZXI6IGZhbHNlLFxuICAgIGVsZW1lbnRzOiBbXSxcbiAgICBjb250ZXh0TWVudTogW10sXG59O1xuXG5leHBvcnQgZGVmYXVsdCBDeXRvc2NhcGU7XG4iXSwibmFtZXMiOlsiUmVhY3QiLCJDb21wb25lbnQiLCJQcm9wVHlwZXMiLCJDeXRvc2NhcGVDb21wb25lbnQiLCJfIiwidjQiLCJ1dWlkdjQiLCJDeVJlc3BvbnNpdmUiLCJjeXRvc2NhcGUiLCJyZXF1aXJlIiwiY29udGV4dE1lbnVzIiwiQ3l0b3NjYXBlIiwiX0NvbXBvbmVudCIsIl9pbmhlcml0cyIsInByb3BzIiwiX3RoaXMiLCJfY2xhc3NDYWxsQ2hlY2siLCJfY2FsbFN1cGVyIiwiaGFuZGxlQ3kiLCJiaW5kIiwiX2Fzc2VydFRoaXNJbml0aWFsaXplZCIsIl9oYW5kbGVDeUNhbGxlZCIsImhhbmRsZUltYWdlR2VuZXJhdGlvbiIsImN5UmVzcG9uc2l2ZUNsYXNzIiwiX2NyZWF0ZUNsYXNzIiwia2V5IiwidmFsdWUiLCJnZW5lcmF0ZU5vZGUiLCJldmVudCIsImVsZSIsInRhcmdldCIsImlzUGFyZW50IiwiaXNDaGlsZGxlc3MiLCJpc0NoaWxkIiwiaXNPcnBoYW4iLCJyZW5kZXJlZFBvc2l0aW9uIiwicmVsYXRpdmVQb3NpdGlvbiIsInBhcmVudCIsInN0eWxlIiwiZWRnZXNEYXRhIiwiY29ubmVjdGVkRWRnZXMiLCJtYXAiLCJkYXRhIiwiY2hpbGRyZW5EYXRhIiwiY2hpbGRyZW4iLCJhbmNlc3RvcnNEYXRhIiwiYW5jZXN0b3JzIiwiZGVzY2VuZGFudHNEYXRhIiwiZGVzY2VuZGFudHMiLCJzaWJsaW5nc0RhdGEiLCJzaWJsaW5ncyIsInRpbWVTdGFtcCIsIl9lbGUkanNvbiIsImpzb24iLCJjbGFzc2VzIiwiZ3JhYmJhYmxlIiwiZ3JvdXAiLCJsb2NrZWQiLCJwb3NpdGlvbiIsInNlbGVjdGVkIiwic2VsZWN0YWJsZSIsInBhcmVudERhdGEiLCJub2RlT2JqZWN0IiwiZ2VuZXJhdGVFZGdlIiwibWlkcG9pbnQiLCJpc0xvb3AiLCJpc1NpbXBsZSIsInNvdXJjZURhdGEiLCJzb3VyY2UiLCJzb3VyY2VFbmRwb2ludCIsInRhcmdldERhdGEiLCJ0YXJnZXRFbmRwb2ludCIsIl9lbGUkanNvbjIiLCJlZGdlT2JqZWN0IiwiY3kiLCJfdGhpczIiLCJfY3kiLCJ3aW5kb3ciLCJTRUxFQ1RfVEhSRVNIT0xEIiwiRVhURU5UX1RIUkVTSE9MRCIsInNlbGVjdGVkTm9kZXMiLCJjb2xsZWN0aW9uIiwic2VsZWN0ZWRFZGdlcyIsInJlZnJlc2hMYXlvdXQiLCJkZWJvdW5jZSIsIl90aGlzMiRwcm9wcyIsImF1dG9SZWZyZXNoTGF5b3V0IiwibGF5b3V0IiwicnVuIiwic2VuZFNlbGVjdGVkTm9kZXNEYXRhIiwibm9kZURhdGEiLCJlbCIsInNldFByb3BzIiwic2VsZWN0ZWROb2RlRGF0YSIsInNlbmRTZWxlY3RlZEVkZ2VzRGF0YSIsImVkZ2VEYXRhIiwic2VsZWN0ZWRFZGdlRGF0YSIsInNldEV4dGVudCIsImN5RXh0ZW50IiwiZXh0ZW50Iiwib3JpZ2luYWxNYXhab29tRm4iLCJtYXhab29tIiwib3JpZ2luYWxNaW5ab29tRm4iLCJtaW5ab29tIiwiZSIsImN1cnJlbnRNYXhab29tIiwiY2FsbCIsIl9wcmV2aW91c01heFpvb20iLCJ0cmlnZ2VyIiwiY3VycmVudE1pblpvb20iLCJfcHJldmlvdXNNaW5ab29tIiwib24iLCJ0YXBOb2RlIiwidGFwTm9kZURhdGEiLCJPYmplY3QiLCJhc3NpZ24iLCJ0YXBFZGdlIiwidGFwRWRnZURhdGEiLCJtb3VzZW92ZXJOb2RlRGF0YSIsIm1vdXNlb3ZlckVkZ2VEYXRhIiwiY2xlYXJPblVuaG92ZXIiLCJtZXJnZSIsInVubWVyZ2UiLCJlbGVtZW50cyIsIml0ZW0iLCJ6b29tIiwiZml0IiwiY3JlYXRlTWVudUl0ZW1zIiwiY3R4TWVudSIsInVwZGF0ZUNvbnRleHRNZW51RGF0YSIsIm5ld0NvbnRleHQiLCJjb250ZXh0TWVudURhdGEiLCJjb250ZXh0TWVudURlZmF1bHRGdW5jdGlvbnMiLCJyZW1vdmUiLCJjeVRhcmdldCIsImFkZF9ub2RlIiwicG9zIiwiY3lQb3NpdGlvbiIsImFkZCIsIngiLCJ5IiwiYWRkX2VkZ2UiLCJzZWxlY3RlZE5vZGVJZHMiLCJub2RlIiwiaWQiLCJsZW5ndGgiLCJjb25zb2xlIiwiZXJyb3IiLCJuZXdNZW51SXRlbXMiLCJfaXRlcmF0b3IiLCJfY3JlYXRlRm9yT2ZJdGVyYXRvckhlbHBlciIsIl9zdGVwIiwiX2xvb3AiLCJvbkNsaWNrRnVuY3Rpb24iLCJtZW51SXRlbUlkIiwiZWxlbWVudElkIiwiZWRnZVNvdXJjZSIsImVkZ2VUYXJnZXQiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsIm9uQ2xpY2siLCJjb25jYXQiLCJkYXNoQ3l0b3NjYXBlRnVuY3Rpb25zIiwib25DbGlja0N1c3RvbSIsIm5ld19pdGVtIiwiY29udGVudCIsImxhYmVsIiwidG9vbHRpcFRleHQiLCJzZWxlY3RvciIsImNvcmVBc1dlbGwiLCJfaXRlcmF0b3IyIiwiYXZhaWxhYmxlT24iLCJfc3RlcDIiLCJzIiwibiIsImRvbmUiLCJlcnIiLCJmIiwicHVzaCIsInRvZ2dsZSIsInJlc3BvbnNpdmUiLCJpbWFnZVR5cGUiLCJpbWFnZU9wdGlvbnMiLCJhY3Rpb25zVG9QZXJmb3JtIiwiZmlsZU5hbWUiLCJfdGhpczMiLCJvcHRpb25zIiwiZGVzaXJlZE91dHB1dCIsIm91dHB1dCIsImRvd25sb2FkSW1hZ2UiLCJzdG9yZUltYWdlIiwicG5nIiwianBnIiwic3ZnIiwiZk5hbWUiLCJkb3dubG9hZEJsb2IiLCJibG9iIiwiQmxvYiIsInR5cGUiLCJyZWFkZXIiLCJGaWxlUmVhZGVyIiwib25sb2FkIiwiY2FsbGJhY2tEYXRhIiwicmVzdWx0IiwicmVwbGFjZSIsImltYWdlRGF0YSIsInJlYWRBc0RhdGFVUkwiLCJkb3dubG9hZExpbmsiLCJkb2N1bWVudCIsImNyZWF0ZUVsZW1lbnQiLCJib2R5IiwiYXBwZW5kQ2hpbGQiLCJ1cmwiLCJVUkwiLCJjcmVhdGVPYmplY3RVUkwiLCJocmVmIiwiZG93bmxvYWQiLCJjbGljayIsInJldm9rZU9iamVjdFVSTCIsInJlbW92ZUNoaWxkIiwidXBkYXRlQ29udGV4dE1lbnUiLCJjb250ZXh0TWVudSIsIm1lbnVJdGVtcyIsIm1lbnVJdGVtQ2xhc3NlcyIsImdyYXBoT3V0T2ZWaWV3IiwiY3lXaWR0aCIsIndpZHRoIiwiY3lIZWlnaHQiLCJoZWlnaHQiLCJlbEJveCIsInJlbmRlcmVkQm91bmRpbmdib3giLCJ4MSIsInkxIiwieDIiLCJ5MiIsImNvbXBvbmVudERpZFVwZGF0ZSIsInByZXZQcm9wcyIsIl90aGlzJHByb3BzIiwiaXNFcXVhbCIsImNvbXBvbmVudERpZE1vdW50IiwicmVuZGVyIiwiX3RoaXMkcHJvcHMyIiwiY2xhc3NOYW1lIiwic3R5bGVzaGVldCIsInBhbiIsInBhbm5pbmdFbmFibGVkIiwidXNlclBhbm5pbmdFbmFibGVkIiwiem9vbWluZ0VuYWJsZWQiLCJ1c2VyWm9vbWluZ0VuYWJsZWQiLCJ3aGVlbFNlbnNpdGl2aXR5IiwiYm94U2VsZWN0aW9uRW5hYmxlZCIsImF1dG91bmdyYWJpZnkiLCJhdXRvbG9jayIsImF1dG91bnNlbGVjdGlmeSIsImdlbmVyYXRlSW1hZ2UiLCJrZXlzIiwiYWN0aW9uIiwiZmlsZW5hbWUiLCJub3JtYWxpemVFbGVtZW50cyIsInByb3BUeXBlcyIsInN0cmluZyIsIm9iamVjdCIsImZ1bmMiLCJvbmVPZlR5cGUiLCJhcnJheU9mIiwic2hhcGUiLCJudW1iZXIiLCJib29sIiwiZXhhY3QiLCJub2RlcyIsImFycmF5IiwiZWRnZXMiLCJpc1JlcXVpcmVkIiwibmFtZSIsIm9uZU9mIiwicGFkZGluZyIsImFuaW1hdGUiLCJhbmltYXRpb25EdXJhdGlvbiIsImJvdW5kaW5nQm94IiwiZGVmYXVsdFByb3BzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/lib/components/Cytoscape.react.js\n"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _src_assets_contextmenu_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../src/assets/contextmenu.css */ \"./src/assets/contextmenu.css\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var react_cytoscapejs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-cytoscapejs */ \"./node_modules/react-cytoscapejs/dist/react-cytoscape.modern.js\");\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! lodash */ \"./node_modules/lodash/lodash.js\");\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var uuid__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! uuid */ \"./node_modules/uuid/dist/esm-browser/v4.js\");\n/* harmony import */ var _cyResponsive_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../cyResponsive.js */ \"./src/lib/cyResponsive.js\");\n/* harmony import */ var _ungap_custom_elements__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @ungap/custom-elements */ \"./node_modules/@ungap/custom-elements/index.js\");\n/* harmony import */ var _ungap_custom_elements__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_ungap_custom_elements__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _cyleaflet_clientside_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../cyleaflet_clientside.js */ \"./src/lib/cyleaflet_clientside.js\");\n/* harmony import */ var _cyleaflet_clientside_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_cyleaflet_clientside_js__WEBPACK_IMPORTED_MODULE_6__);\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : String(i); }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n/**\n * JavaScript Requirements: cytoscape, cytoscape-svg\n * React.js requirements: react-cytoscapejs\n */\n\n\n\n\n\n\n\n\n// Polyfill so that context menu extension works in Safari\n\nvar cytoscape = __webpack_require__(/*! cytoscape */ \"./node_modules/cytoscape/dist/cytoscape.cjs.js\");\nvar contextMenus = __webpack_require__(/*! cytoscape-context-menus */ \"./node_modules/cytoscape-context-menus/cytoscape-context-menus.js\");\n\n// Clientside callback functions for CyLeaflet AIO component\n\n\n// register extension\ncontextMenus(cytoscape);\n/**\n * A Component Library for Dash aimed at facilitating network visualization in\n * Python, wrapped around [Cytoscape.js](http://js.cytoscape.org/).\n */\nvar Cytoscape = /*#__PURE__*/function (_Component) {\n _inherits(Cytoscape, _Component);\n function Cytoscape(props) {\n var _this;\n _classCallCheck(this, Cytoscape);\n _this = _callSuper(this, Cytoscape, [props]);\n _this.handleCy = _this.handleCy.bind(_assertThisInitialized(_this));\n _this._handleCyCalled = false;\n _this.handleImageGeneration = _this.handleImageGeneration.bind(_assertThisInitialized(_this));\n _this.cyResponsiveClass = false;\n return _this;\n }\n _createClass(Cytoscape, [{\n key: \"generateNode\",\n value: function generateNode(event) {\n var ele = event.target;\n var isParent = ele.isParent(),\n isChildless = ele.isChildless(),\n isChild = ele.isChild(),\n isOrphan = ele.isOrphan(),\n renderedPosition = ele.renderedPosition(),\n relativePosition = ele.relativePosition(),\n parent = ele.parent(),\n style = ele.style();\n\n // Trim down the element objects to only the data contained\n var edgesData = ele.connectedEdges().map(function (ele) {\n return ele.data();\n });\n var childrenData = ele.children().map(function (ele) {\n return ele.data();\n });\n var ancestorsData = ele.ancestors().map(function (ele) {\n return ele.data();\n });\n var descendantsData = ele.descendants().map(function (ele) {\n return ele.data();\n });\n var siblingsData = ele.siblings().map(function (ele) {\n return ele.data();\n });\n var timeStamp = event.timeStamp;\n var _ele$json = ele.json(),\n classes = _ele$json.classes,\n data = _ele$json.data,\n grabbable = _ele$json.grabbable,\n group = _ele$json.group,\n locked = _ele$json.locked,\n position = _ele$json.position,\n selected = _ele$json.selected,\n selectable = _ele$json.selectable;\n var parentData;\n if (parent) {\n parentData = parent.data();\n } else {\n parentData = null;\n }\n var nodeObject = {\n // Nodes attributes\n edgesData: edgesData,\n renderedPosition: renderedPosition,\n timeStamp: timeStamp,\n // From ele.json()\n classes: classes,\n data: data,\n grabbable: grabbable,\n group: group,\n locked: locked,\n position: position,\n selectable: selectable,\n selected: selected,\n // Compound Nodes additional attributes\n ancestorsData: ancestorsData,\n childrenData: childrenData,\n descendantsData: descendantsData,\n parentData: parentData,\n siblingsData: siblingsData,\n isParent: isParent,\n isChildless: isChildless,\n isChild: isChild,\n isOrphan: isOrphan,\n relativePosition: relativePosition,\n // Styling\n style: style\n };\n return nodeObject;\n }\n }, {\n key: \"generateEdge\",\n value: function generateEdge(event) {\n var ele = event.target;\n var midpoint = ele.midpoint(),\n isLoop = ele.isLoop(),\n isSimple = ele.isSimple(),\n sourceData = ele.source().data(),\n sourceEndpoint = ele.sourceEndpoint(),\n style = ele.style(),\n targetData = ele.target().data(),\n targetEndpoint = ele.targetEndpoint();\n var timeStamp = event.timeStamp;\n var _ele$json2 = ele.json(),\n classes = _ele$json2.classes,\n data = _ele$json2.data,\n grabbable = _ele$json2.grabbable,\n group = _ele$json2.group,\n locked = _ele$json2.locked,\n selectable = _ele$json2.selectable,\n selected = _ele$json2.selected;\n var edgeObject = {\n // Edges attributes\n isLoop: isLoop,\n isSimple: isSimple,\n midpoint: midpoint,\n sourceData: sourceData,\n sourceEndpoint: sourceEndpoint,\n targetData: targetData,\n targetEndpoint: targetEndpoint,\n timeStamp: timeStamp,\n // From ele.json()\n classes: classes,\n data: data,\n grabbable: grabbable,\n group: group,\n locked: locked,\n selectable: selectable,\n selected: selected,\n // Styling\n style: style\n };\n return edgeObject;\n }\n }, {\n key: \"handleCy\",\n value: function handleCy(cy) {\n var _this2 = this;\n // If the cy pointer has not been modified, and handleCy has already\n // been called before, than we don't run this function.\n if (cy === this._cy && this._handleCyCalled) {\n return;\n }\n this._cy = cy;\n window.cy = cy;\n this._handleCyCalled = true;\n\n // ///////////////////////////////////// CONSTANTS /////////////////////////////////////////\n var SELECT_THRESHOLD = 100;\n var EXTENT_THRESHOLD = 5;\n var UPDATE_ELEMENTS_THRESHOLD = 100;\n var RESIZE_THRESHOLD = 50;\n var selectedNodes = cy.collection();\n var selectedEdges = cy.collection();\n\n // ///////////////////////////////////// FUNCTIONS /////////////////////////////////////////\n var refreshLayout = lodash__WEBPACK_IMPORTED_MODULE_3___default().debounce(function () {\n /**\n * Refresh Layout if needed\n */\n var _this2$props = _this2.props,\n autoRefreshLayout = _this2$props.autoRefreshLayout,\n layout = _this2$props.layout;\n if (autoRefreshLayout) {\n cy.layout(layout).run();\n }\n }, SELECT_THRESHOLD);\n var sendSelectedNodesData = lodash__WEBPACK_IMPORTED_MODULE_3___default().debounce(function () {\n /**\n This function is repetitively called every time a node is selected\n or unselected, but keeps being debounced if it is called again\n within 100 ms (given by SELECT_THRESHOLD). Effectively, it only\n runs when all the nodes have been correctly selected/unselected and\n added/removed from the selectedNodes collection, and then updates\n the selectedNodeData prop.\n */\n var nodeData = selectedNodes.map(function (el) {\n return el.data();\n });\n _this2.props.setProps({\n selectedNodeData: nodeData\n });\n }, SELECT_THRESHOLD);\n var sendSelectedEdgesData = lodash__WEBPACK_IMPORTED_MODULE_3___default().debounce(function () {\n var edgeData = selectedEdges.map(function (el) {\n return el.data();\n });\n _this2.props.setProps({\n selectedEdgeData: edgeData\n });\n }, SELECT_THRESHOLD);\n var setExtent = lodash__WEBPACK_IMPORTED_MODULE_3___default().debounce(function (cyExtent) {\n _this2.props.setProps({\n extent: cyExtent\n });\n }, EXTENT_THRESHOLD);\n var updateElements = lodash__WEBPACK_IMPORTED_MODULE_3___default().debounce(function () {\n _this2.props.setProps({\n elements: cy.elements('').map(function (item) {\n if (item.json().group === 'nodes') {\n return {\n data: item.json().data,\n position: item.json().position\n };\n }\n return {\n data: item.json().data,\n position: void 0\n };\n })\n });\n }, UPDATE_ELEMENTS_THRESHOLD);\n var resize = lodash__WEBPACK_IMPORTED_MODULE_3___default().debounce(function () {\n cy.resize();\n }, RESIZE_THRESHOLD);\n\n // Store the original maxZoom and minZoom functions\n var originalMaxZoomFn = cy.maxZoom;\n var originalMinZoomFn = cy.minZoom;\n\n // Override the maxZoom function to trigger maxZoomChange custom event\n cy.maxZoom = function (e) {\n var currentMaxZoom = originalMaxZoomFn.call(cy, e);\n\n // Trigger your custom event if the current max zoom level is different from the\n // previously stored max zoom level\n if (currentMaxZoom !== cy._previousMaxZoom) {\n cy._previousMaxZoom = currentMaxZoom;\n cy.trigger('minMaxZoomChange');\n }\n return currentMaxZoom;\n };\n\n // Override the minZoom function to trigger minZoomChange custom event\n cy.minZoom = function (e) {\n var currentMinZoom = originalMinZoomFn.call(cy, e);\n\n // Trigger your custom event if the current min zoom level is different from the\n // previously stored min zoom level\n if (currentMinZoom !== cy._previousMinZoom) {\n cy._previousMinZoom = currentMinZoom;\n cy.trigger('minMaxZoomChange');\n }\n return currentMinZoom;\n };\n\n // /////////////////////////////////////// EVENTS //////////////////////////////////////////\n\n cy.on('tap', 'node', function (event) {\n var nodeObject = _this2.generateNode(event);\n _this2.props.setProps({\n tapNode: nodeObject,\n tapNodeData: Object.assign({}, nodeObject.data, {\n timeStamp: nodeObject.timeStamp\n })\n });\n });\n cy.on('tap', 'edge', function (event) {\n var edgeObject = _this2.generateEdge(event);\n _this2.props.setProps({\n tapEdge: edgeObject,\n tapEdgeData: Object.assign({}, edgeObject.data, {\n timeStamp: edgeObject.timeStamp\n })\n });\n });\n cy.on('mouseover', 'node', function (event) {\n _this2.props.setProps({\n mouseoverNodeData: Object.assign({}, event.target.data(), {\n timeStamp: event.timeStamp\n })\n });\n });\n cy.on('mouseover', 'edge', function (event) {\n _this2.props.setProps({\n mouseoverEdgeData: Object.assign({}, event.target.data(), {\n timeStamp: event.timeStamp\n })\n });\n });\n cy.on('mouseout', 'node', function (_) {\n if (_this2.props.clearOnUnhover === true) {\n _this2.props.setProps({\n mouseoverNodeData: null\n });\n }\n });\n cy.on('mouseout', 'edge', function (_) {\n if (_this2.props.clearOnUnhover === true) {\n _this2.props.setProps({\n mouseoverEdgeData: null\n });\n }\n });\n cy.on('select', 'node', function (event) {\n var ele = event.target;\n selectedNodes.merge(ele);\n sendSelectedNodesData();\n });\n cy.on('unselect remove', 'node', function (event) {\n var ele = event.target;\n selectedNodes.unmerge(ele);\n sendSelectedNodesData();\n });\n cy.on('select', 'edge', function (event) {\n var ele = event.target;\n selectedEdges.merge(ele);\n sendSelectedEdgesData();\n });\n cy.on('unselect remove', 'edge', function (event) {\n var ele = event.target;\n selectedEdges.unmerge(ele);\n sendSelectedEdgesData();\n });\n cy.on('add remove', function () {\n refreshLayout();\n });\n cy.on('dragfree add remove', function (_) {\n updateElements();\n });\n cy.on('resize viewport', function () {\n setExtent(cy.extent());\n });\n cy.on('tapstart', function () {\n resize();\n });\n\n // Refresh layout if current zoom is out of boundaries\n cy.on('minMaxZoomChange', function () {\n var zoom = cy.zoom();\n if (zoom > cy.maxZoom() || zoom < cy.minZoom()) {\n cy.fit();\n }\n });\n this.createMenuItems = function (ctxMenu) {\n var updateContextMenuData = function updateContextMenuData(newContext) {\n _this2.props.setProps({\n contextMenuData: newContext\n });\n };\n var contextMenuDefaultFunctions = {\n remove: function remove(event) {\n var target = event.target || event.cyTarget;\n target.remove();\n },\n add_node: function add_node(event) {\n var pos = event.position || event.cyPosition;\n cy.add({\n data: {\n group: 'nodes'\n },\n position: {\n x: pos.x,\n y: pos.y\n }\n });\n },\n add_edge: function add_edge() {\n var selectedNodeIds = selectedNodes.map(function (node) {\n return node.id();\n });\n if (selectedNodes.length === 0) {\n console.error('Error: No nodes selected, cannot add edge');\n } else if (selectedNodes.length === 1) {\n cy.add({\n data: {\n id: (0,uuid__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(),\n group: 'edges',\n source: selectedNodeIds[0],\n target: selectedNodeIds[0]\n }\n });\n } else if (selectedNodes.length === 2) {\n cy.add({\n data: {\n id: (0,uuid__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(),\n group: 'edges',\n source: selectedNodeIds[0],\n target: selectedNodeIds[1]\n }\n });\n } else {\n console.error('Error: more than 2 nodes selected, cannot add edge');\n }\n }\n };\n var newMenuItems = [];\n var _iterator = _createForOfIteratorHelper(ctxMenu),\n _step;\n try {\n var _loop = function _loop() {\n var item = _step.value;\n var onClickFunction;\n // return data so a user can define a custom on click function in Python\n // if onClick or on onClickCustom are not specified\n onClickFunction = function onClickFunction(event) {\n updateContextMenuData({\n menuItemId: item.id,\n x: event.position.x,\n y: event.position.y,\n timeStamp: event.timeStamp,\n elementId: event.target.data().id,\n edgeSource: event.target.data().source,\n edgeTarget: event.target.data().target\n });\n };\n // use default javascript function as onClickFunction\n if (Object.prototype.hasOwnProperty.call(item, 'onClick')) {\n if (Object.prototype.hasOwnProperty.call(contextMenuDefaultFunctions, item.onClick)) {\n onClickFunction = contextMenuDefaultFunctions[item.onClick];\n } else {\n console.error(\"onClick function \".concat(item.onClick, \" is not defined\"));\n }\n }\n // use user-defined Javascript function in a namespace under assets/ as onClickFunction\n else if (Object.prototype.hasOwnProperty.call(item, 'onClickCustom')) {\n if (Object.prototype.hasOwnProperty.call(window, 'dashCytoscapeFunctions') && Object.prototype.hasOwnProperty.call(window.dashCytoscapeFunctions, item.onClickCustom)) {\n onClickFunction = window.dashCytoscapeFunctions[item.onClickCustom];\n } else {\n console.error(\"onClickCustom function \".concat(item.onClickCustom, \" is not defined\"));\n }\n }\n var new_item = {\n id: item.id,\n content: item.label,\n tooltipText: item.tooltipText,\n selector: '',\n onClickFunction: onClickFunction,\n coreAsWell: false\n };\n if (Object.prototype.hasOwnProperty.call(item, 'availableOn')) {\n var _iterator2 = _createForOfIteratorHelper(item.availableOn),\n _step2;\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var selector = _step2.value;\n if (selector === 'edge') {\n if (new_item.selector.length > 0) {\n new_item.selector = new_item.selector + ', ';\n }\n new_item.selector = new_item.selector + 'edge';\n } else if (selector === 'node') {\n if (new_item.selector.length > 0) {\n new_item.selector = new_item.selector + ', ';\n }\n new_item.selector = new_item.selector + 'node';\n } else if (selector === 'canvas') {\n new_item.coreAsWell = true;\n } else {\n console.error(\"Error: selector \".concat(selector, \" is not available. Choose one of 'node', 'edge' or 'canvas'.\"));\n }\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n }\n newMenuItems.push(new_item);\n };\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n _loop();\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n return newMenuItems;\n };\n this.cyResponsiveClass = new _cyResponsive_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"](cy);\n this.cyResponsiveClass.toggle(this.props.responsive);\n setExtent(cy.extent());\n }\n }, {\n key: \"handleImageGeneration\",\n value: function handleImageGeneration(imageType, imageOptions, actionsToPerform, fileName) {\n var _this3 = this;\n var options = {};\n if (imageOptions) {\n options = imageOptions;\n }\n var desiredOutput = options.output;\n options.output = 'blob';\n var downloadImage;\n var storeImage;\n switch (actionsToPerform) {\n case 'store':\n downloadImage = false;\n storeImage = true;\n break;\n case 'download':\n downloadImage = true;\n storeImage = false;\n break;\n case 'both':\n downloadImage = true;\n storeImage = true;\n break;\n default:\n downloadImage = false;\n storeImage = true;\n break;\n }\n var output;\n if (imageType === 'png') {\n output = this._cy.png(options);\n }\n if (imageType === 'jpg' || imageType === 'jpeg') {\n output = this._cy.jpg(options);\n }\n // only works when svg is imported (see lib/extra_index.js)\n if (imageType === 'svg') {\n output = this._cy.svg(options);\n }\n\n /*\n * If output is empty because of bad options or a cytoscape error,\n * skip any download or storage steps.\n */\n if (output && downloadImage) {\n /*\n * Downloading is initiated client-side because the image is generated at\n * the client. This avoids transferring a potentially large image\n * to the server and back again through a callback.\n */\n var fName = fileName;\n if (!fileName) {\n fName = 'cyto';\n }\n if (imageType !== 'svg') {\n this.downloadBlob(output, fName + '.' + imageType);\n } else {\n var blob = new Blob([output], {\n type: 'image/svg+xml;charset=utf-8'\n });\n this.downloadBlob(blob, fName + '.' + imageType);\n }\n }\n if (output && storeImage) {\n // Default output type if unspecified\n if (!desiredOutput) {\n desiredOutput = 'base64uri';\n }\n if (!(desiredOutput === 'base64uri' || desiredOutput === 'base64')) {\n return;\n }\n\n /*\n * Convert blob to base64uri or base64 string to store the image data.\n * Thank you, base64guru https://base64.guru/developers/javascript/examples/encode-blob\n */\n var reader = new FileReader();\n reader.onload = function () {\n /* FileReader is asynchronous, so the read function is non-blocking.\n * If this code block is placed after the read command, it\n * may result in empty output because the blob has not been loaded yet.\n */\n var callbackData = reader.result;\n if (desiredOutput === 'base64') {\n callbackData = callbackData.replace(/^data:.+;base64,/, '');\n }\n _this3.props.setProps({\n imageData: callbackData\n });\n };\n reader.readAsDataURL(output);\n }\n }\n }, {\n key: \"downloadBlob\",\n value: function downloadBlob(blob, fileName) {\n /*\n * Download blob as file by dynamically creating link.\n * Chrome does not open data URLs when JS opens a new tab directed\n * at the data URL, so this is an alternate implementation\n * that doesn't require extra packages. It may not behave in\n * exactly the same way across browsers (might display image in new tab\n * intead of downloading as a file).\n * Thank you, koldev https://jsfiddle.net/koldev/cW7W5/\n */\n var downloadLink = document.createElement('a');\n downloadLink.style = 'display: none';\n document.body.appendChild(downloadLink);\n var url = window.URL.createObjectURL(blob);\n downloadLink.href = url;\n downloadLink.download = fileName;\n downloadLink.click();\n window.URL.revokeObjectURL(url);\n document.body.removeChild(downloadLink);\n }\n }, {\n key: \"updateContextMenu\",\n value: function updateContextMenu(contextMenu) {\n this._cy.contextMenus({\n menuItems: this.createMenuItems(contextMenu),\n menuItemClasses: ['custom-menu-item']\n });\n }\n\n // Returns true if there is no overlap between the element bounding box\n // and the rendered area of the graph, meaning the graph is entirely outside the viewport;\n // returns false otherwise\n }, {\n key: \"graphOutOfView\",\n value: function graphOutOfView() {\n var cyWidth = this._cy.width();\n var cyHeight = this._cy.height();\n var elBox = this._cy.elements().renderedBoundingbox();\n return elBox.x1 > cyWidth || elBox.y1 > cyHeight || elBox.x2 < 0 || elBox.y2 < 0;\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n var _this$props = this.props,\n contextMenu = _this$props.contextMenu,\n elements = _this$props.elements;\n if (!lodash__WEBPACK_IMPORTED_MODULE_3___default().isEqual(prevProps.contextMenu, contextMenu) && this._cy) {\n this.updateContextMenu(contextMenu);\n }\n if (!lodash__WEBPACK_IMPORTED_MODULE_3___default().isEqual(prevProps.elements, elements) && this._cy) {\n // If elements were updated, and the new graph is *entirely* outside the viewport,\n // fit the viewport to the new elements\n if (this.graphOutOfView()) {\n this._cy.fit();\n }\n }\n }\n }, {\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var contextMenu = this.props.contextMenu;\n if (this._cy && contextMenu.length > 0) {\n this.updateContextMenu(contextMenu);\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props2 = this.props,\n id = _this$props2.id,\n style = _this$props2.style,\n className = _this$props2.className,\n elements = _this$props2.elements,\n stylesheet = _this$props2.stylesheet,\n layout = _this$props2.layout,\n contextMenu = _this$props2.contextMenu,\n contextMenuData = _this$props2.contextMenuData,\n pan = _this$props2.pan,\n zoom = _this$props2.zoom,\n panningEnabled = _this$props2.panningEnabled,\n userPanningEnabled = _this$props2.userPanningEnabled,\n minZoom = _this$props2.minZoom,\n maxZoom = _this$props2.maxZoom,\n zoomingEnabled = _this$props2.zoomingEnabled,\n userZoomingEnabled = _this$props2.userZoomingEnabled,\n wheelSensitivity = _this$props2.wheelSensitivity,\n boxSelectionEnabled = _this$props2.boxSelectionEnabled,\n autoungrabify = _this$props2.autoungrabify,\n autolock = _this$props2.autolock,\n autounselectify = _this$props2.autounselectify,\n generateImage = _this$props2.generateImage,\n responsive = _this$props2.responsive;\n if (Object.keys(generateImage).length > 0) {\n // If no cytoscape object has been created yet, an image cannot be generated,\n // so generateImage will be ignored and cleared.\n this.props.setProps({\n generateImage: {}\n });\n if (this._cy) {\n this.handleImageGeneration(generateImage.type, generateImage.options, generateImage.action, generateImage.filename);\n }\n }\n if (this.cyResponsiveClass) {\n this.cyResponsiveClass.toggle(responsive);\n }\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(react_cytoscapejs__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n id: id,\n cy: this.handleCy,\n className: className,\n style: style,\n elements: react_cytoscapejs__WEBPACK_IMPORTED_MODULE_2__[\"default\"].normalizeElements(elements),\n stylesheet: stylesheet,\n layout: layout,\n contextMenu: contextMenu,\n contextMenuData: contextMenuData,\n pan: pan,\n zoom: zoom,\n panningEnabled: panningEnabled,\n userPanningEnabled: userPanningEnabled,\n minZoom: minZoom,\n maxZoom: maxZoom,\n zoomingEnabled: zoomingEnabled,\n userZoomingEnabled: userZoomingEnabled,\n wheelSensitivity: wheelSensitivity,\n boxSelectionEnabled: boxSelectionEnabled,\n autoungrabify: autoungrabify,\n autolock: autolock,\n autounselectify: autounselectify\n });\n }\n }]);\n return Cytoscape;\n}(react__WEBPACK_IMPORTED_MODULE_1__.Component);\nCytoscape.propTypes = {\n // HTML attribute props\n\n /**\n * The ID used to identify this component in Dash callbacks.\n */\n id: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /**\n * Sets the class name of the element (the value of an element's html\n * class attribute).\n */\n className: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /**\n * Add inline styles to the root element.\n */\n style: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n // Dash specific props\n\n /**\n * Dash-assigned callback that should be called whenever any of the\n * properties change.\n */\n setProps: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().func),\n // Common props\n\n /**\n * A list of dictionaries representing the elements of the networks. Each dictionary describes an element, and\n * specifies its purpose. The [official Cytoscape.js documentation](https://js.cytoscape.org/#notation/elements-json)\n * offers an extensive overview and examples of element declaration.\n * Alternatively, a dictionary with the format { 'nodes': [], 'edges': [] } is allowed at initialization,\n * but arrays remain the recommended format.\n */\n elements: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_8___default().arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_8___default().shape({\n /**\n * Either 'nodes' or 'edges'. If not given, it's automatically inferred.\n */\n group: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** Element specific data.*/\n data: prop_types__WEBPACK_IMPORTED_MODULE_8___default().shape({\n /** Reference to the element, useful for selectors and edges. Randomly assigned if not given.*/\n id: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /**\n * Optional name for the element, useful when `data(label)` is given to a style's `content`\n * or `label`. It is only a convention. */\n label: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** Only for nodes. Optional reference to another node. Needed to create compound nodes. */\n parent: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** Only for edges. The id of the source node, which is where the edge starts. */\n source: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** Only for edges. The id of the target node, where the edge ends. */\n target: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string)\n }),\n /** Only for nodes. The position of the node. */\n position: prop_types__WEBPACK_IMPORTED_MODULE_8___default().shape({\n /** The x-coordinate of the node. */\n x: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /** The y-coordinate of the node. */\n y: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number)\n }),\n /** If the element is selected upon initialisation. */\n selected: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** If the element can be selected. */\n selectable: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Only for nodes. If the position is immutable. */\n locked: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Only for nodes. If the node can be grabbed and moved by the user. */\n grabbable: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * Space separated string of class names of the element. Those classes can be selected\n * by a style selector.\n */\n classes: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string)\n })), prop_types__WEBPACK_IMPORTED_MODULE_8___default().exact({\n nodes: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array),\n edges: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array)\n })]),\n /**\n * A list of dictionaries representing the styles of the elements.\n * Each dictionary requires the following keys: `selector` and `style`.\n *\n * Both the [selector](https://js.cytoscape.org/#selectors) and\n * the [style](https://js.cytoscape.org/#style/node-body) are\n * exhaustively documented in the Cytoscape.js docs. Although methods such\n * as `cy.elements(...)` and `cy.filter(...)` are not available, the selector\n * string syntax stays the same.\n */\n stylesheet: prop_types__WEBPACK_IMPORTED_MODULE_8___default().arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_8___default().exact({\n /**\n * Which elements you are styling. Generally, you select a group of elements (node, edges, both),\n * a class (that you declare in the element dictionary), or an element by ID.\n */\n selector: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string).isRequired,\n /**\n * What aspects of the elements you want to modify. This could be the size or\n * color of a node, the shape of an edge arrow, or many more.\n */\n style: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object).isRequired\n })),\n /**\n * A dictionary specifying how to set the position of the elements in your\n * graph. The `'name'` key is required, and indicates which layout (algorithm) to\n * use. The keys accepted by `layout` vary depending on the algorithm, but these\n * keys are accepted by all layouts: `fit`, `padding`, `animate`, `animationDuration`,\n * `boundingBox`.\n *\n * The complete list of layouts and their accepted options are available on the\n * [Cytoscape.js docs](https://js.cytoscape.org/#layouts) . For the external layouts,\n * the options are listed in the \"API\" section of the README.\n * Note that certain keys are not supported in Dash since the value is a JavaScript\n * function or a callback. Please visit this\n * [issue](https://github.com/plotly/dash-cytoscape/issues/25) for more information.\n */\n layout: prop_types__WEBPACK_IMPORTED_MODULE_8___default().shape({\n /**\n * The layouts available by default are:\n * `random`: Randomly assigns positions.\n * `preset`: Assigns position based on the `position` key in element dictionaries.\n * `circle`: Single-level circle, with optional radius.\n * `concentric`: Multi-level circle, with optional radius.\n * `grid`: Square grid, optionally with numbers of `rows` and `cols`.\n * `breadthfirst`: Tree structure built using BFS, with optional `roots`.\n * `cose`: Force-directed physics simulation.\n *\n * Some external layouts are also included. To use them, run\n * `dash_cytoscape.load_extra_layouts()` before creating your Dash app. Be careful about\n * using the extra layouts when not necessary, since they require supplementary bandwidth\n * for loading, which impacts the startup time of the app.\n * The external layouts are:\n * [cose-bilkent](https://github.com/cytoscape/cytoscape.js-cose-bilkent),\n * [fcose](https://github.com/iVis-at-Bilkent/cytoscape.js-fcose),\n * [cola](https://github.com/cytoscape/cytoscape.js-cola),\n * [euler](https://github.com/cytoscape/cytoscape.js-dagre),\n * [spread](https://github.com/cytoscape/cytoscape.js-spread),\n * [dagre](https://github.com/cytoscape/cytoscape.js-dagre),\n * [klay](https://github.com/cytoscape/cytoscape.js-klay),\n */\n name: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOf(['random', 'preset', 'circle', 'concentric', 'grid', 'breadthfirst', 'cose', 'cose-bilkent', 'fcose', 'cola', 'euler', 'spread', 'dagre', 'klay']).isRequired,\n /** Whether to render the nodes in order to fit the canvas. */\n fit: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Padding around the sides of the canvas, if fit is enabled. */\n padding: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /** Whether to animate change in position when the layout changes. */\n animate: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Duration of animation in milliseconds, if enabled. */\n animationDuration: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /**\n * How to constrain the layout in a specific area. Keys accepted are either\n * `x1, y1, x2, y2` or `x1, y1, w, h`, all of which receive a pixel value.\n */\n boundingBox: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object)\n }),\n /**\n * Define a custom context menu. The behaviour of each menu item can be defined in 1 of 3 ways.\n * 1. By passing a string to onClick that refers to one of the built-in Javascript functions.\n * 2. By passing a string to onClickCustom that refers to one of the user-defined functions in a namespace.\n * 3. By omitting both of these properties; this will update the contextMenuData property and trigger a Dash callback.\n */\n contextMenu: prop_types__WEBPACK_IMPORTED_MODULE_8___default().arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_8___default().exact({\n /** ID of the menu item in the context menu */\n id: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string).isRequired,\n /** The label on the context menu item*/\n label: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string).isRequired,\n /** The tooltip text when hovering on top of a context menu item */\n tooltipText: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** A list containing either 'node', 'edge',and/or 'canvas'. This will determine where the context\n * menu item will show up.\n */\n availableOn: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array),\n /** Specify which built-in JavaScript function to use as behaviour for the context\n * menu item. One of 'remove', 'add_node', or 'add_edge'\n */\n onClick: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** Specify which user-defined Javascript function to use in the dashCytoscapeFunctions\n * namespace as behaviour for the context menu item\n */\n onClickCustom: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string)\n })),\n /**\n * Retrieve relevant data when a context menu item is clicked. Read-only.\n */\n contextMenuData: prop_types__WEBPACK_IMPORTED_MODULE_8___default().exact({\n /** ID of the menu item in the context menu */\n menuItemId: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** x-position of the context click */\n x: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /** y-position of the context click */\n y: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /** Timestamp of context click*/\n timeStamp: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /** Element ID on context click if the context click was on an element.\n * If context click was on white space, this property is not returned\n */\n elementId: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** Node ID of the edge source if the clicked element is an edge,\n * or else this property is not returned*/\n edgeSource: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** Node ID of the edge target if the clicked element is an edge,\n * or else this property is not returned*/\n edgeTarget: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string)\n }),\n // Viewport Manipulation\n\n /**\n * Dictionary indicating the initial panning position of the graph. The\n * following keys are accepted:\n */\n pan: prop_types__WEBPACK_IMPORTED_MODULE_8___default().exact({\n /** The x-coordinate of the node */\n x: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /** The y-coordinate of the node */\n y: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number)\n }),\n /**\n * The initial zoom level of the graph. You can set `minZoom` and\n * `maxZoom` to set restrictions on the zoom level.\n */\n zoom: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n // Viewport Mutability and gesture Toggling\n /**\n * Whether panning the graph is enabled (i.e., the position of the graph is\n * mutable overall).\n */\n panningEnabled: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * Whether user events (e.g. dragging the graph background) are allowed to\n * pan the graph.\n */\n userPanningEnabled: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * A minimum bound on the zoom level of the graph. The viewport can not be\n * scaled smaller than this zoom level.\n */\n minZoom: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /**\n * A maximum bound on the zoom level of the graph. The viewport can not be\n * scaled larger than this zoom level.\n */\n maxZoom: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /**\n * Whether zooming the graph is enabled (i.e., the zoom level of the graph\n * is mutable overall).\n */\n zoomingEnabled: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * Whether user events (e.g. dragging the graph background) are allowed\n * to pan the graph.\n */\n userZoomingEnabled: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * Changes the scroll wheel sensitivity when zooming.\n */\n wheelSensitivity: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /**\n * Whether box selection (i.e. drag a box overlay around, and release it\n * to select) is enabled. If enabled, the user must taphold to pan the graph.\n */\n boxSelectionEnabled: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * Whether nodes should be ungrabified (not grabbable by user) by\n * default (if true, overrides individual node state).\n */\n autoungrabify: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * Whether nodes should be locked (not draggable at all) by default\n * (if true, overrides individual node state).\n */\n autolock: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * Whether nodes should be unselectified (immutable selection state) by\n * default (if true, overrides individual element state).\n */\n autounselectify: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * Whether the layout should be refreshed when elements are added or removed.\n */\n autoRefreshLayout: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n // User Events Props\n\n /**\n * The complete node dictionary returned when you tap or click it. Read-only.\n */\n tapNode: prop_types__WEBPACK_IMPORTED_MODULE_8___default().exact({\n /** node specific item */\n edgesData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array),\n /** node specific item */\n renderedPosition: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** node specific item */\n timeStamp: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /** General item (for all elements) */\n classes: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** General item (for all elements) */\n data: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** General item (for all elements) */\n grabbable: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** General item (for all elements) */\n group: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** General item (for all elements) */\n locked: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** General item (for all elements) */\n position: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** General item (for all elements) */\n selectable: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** General item (for all elements) */\n selected: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** General item (for all elements) */\n style: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** Item for compound nodes */\n ancestorsData: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_8___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array)]),\n /** Item for compound nodes */\n childrenData: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_8___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array)]),\n /** Item for compound nodes */\n descendantsData: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_8___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array)]),\n /** Item for compound nodes */\n parentData: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_8___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array)]),\n /** Item for compound nodes */\n siblingsData: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_8___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array)]),\n /** Item for compound nodes */\n isParent: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Item for compound nodes */\n isChildless: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Item for compound nodes */\n isChild: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Item for compound nodes */\n isOrphan: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Item for compound nodes */\n relativePosition: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object)\n }),\n /**\n * The data dictionary of a node returned when you tap or click it. Read-only.\n */\n tapNodeData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /**\n * The complete edge dictionary returned when you tap or click it. Read-only.\n */\n tapEdge: prop_types__WEBPACK_IMPORTED_MODULE_8___default().exact({\n /** Edge-specific item */\n isLoop: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Edge-specific item */\n isSimple: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Edge-specific item */\n midpoint: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** Edge-specific item */\n sourceData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** Edge-specific item */\n sourceEndpoint: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** Edge-specific item */\n targetData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** Edge-specific item */\n targetEndpoint: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** Edge-specific item */\n timeStamp: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /** General item (for all elements) */\n classes: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** General item (for all elements) */\n data: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** General item (for all elements) */\n grabbable: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** General item (for all elements) */\n group: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** General item (for all elements) */\n locked: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** General item (for all elements) */\n selectable: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** General item (for all elements) */\n selected: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** General item (for all elements) */\n style: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object)\n }),\n /**\n * The data dictionary of an edge returned when you tap or click it. Read-only.\n */\n tapEdgeData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /**\n * The data dictionary of a node returned when you hover over it. Read-only.\n */\n mouseoverNodeData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /**\n * The data dictionary of an edge returned when you hover over it. Read-only.\n */\n mouseoverEdgeData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /**\n * The list of data dictionaries of all selected nodes (e.g. using\n * Shift+Click to select multiple nodes, or Shift+Drag to use box selection). Read-only.\n */\n selectedNodeData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array),\n /**\n * The list of data dictionaries of all selected edges (e.g. using\n * Shift+Click to select multiple nodes, or Shift+Drag to use box selection). Read-only.\n */\n selectedEdgeData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array),\n /**\n * Dictionary specifying options to generate an image of the current cytoscape graph.\n * Value is cleared after data is received and image is generated. This property will\n * be ignored on the initial creation of the cytoscape object and must be invoked through\n * a callback after it has been rendered.\n *\n * If the app does not need the image data server side and/or it will only be used to download\n * the image, it may be prudent to invoke `'download'` for `action` instead of\n * `'store'` to improve performance by preventing transfer of data to the server.\n */\n generateImage: prop_types__WEBPACK_IMPORTED_MODULE_8___default().shape({\n /** File type to output */\n type: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOf(['svg', 'png', 'jpg', 'jpeg']),\n /** Dictionary of options to cy.png() / cy.jpg() or cy.svg() for image generation.\n * See https://js.cytoscape.org/#core/export for details. For `'output'`, only 'base64'\n * and 'base64uri' are supported. Default: `{'output': 'base64uri'}`.*/\n options: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /**\n * `'store'`: Stores the image data (only jpg and png are supported)\n * in `imageData` and invokes server-side Dash callbacks. `'download'`: Downloads the image\n * as a file with all data handling done client-side. No `imageData` callbacks are fired.\n * `'both'`: Stores image data and downloads image as file. The default is `'store'`\n */\n action: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOf(['store', 'download', 'both']),\n /** Name for the file to be downloaded. Default: 'cyto'.*/\n filename: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string)\n }),\n /**\n * String representation of the image requested with generateImage. Null if no\n * image was requested yet or the previous request failed. Read-only.\n */\n imageData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /**\n * Toggles intelligent responsive resize of Cytoscape graph with viewport size change\n */\n responsive: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * Extent of the viewport, a bounding box in model co-ordinates that lets you know what model\n * positions are visible in the viewport. This function returns a plain object bounding box\n * with format { x1, y1, x2, y2, w, h }.\n */\n extent: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /**\n * If set to True, mouseoverNodeData and mouseoverEdgeData will be cleared on unhover.\n * If set to False, the value of mouseoverNodeData and mouseoverEdgeData will be the last\n * Node or Edge hovered over\n */\n clearOnUnhover: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool)\n};\nCytoscape.defaultProps = {\n style: {\n width: '600px',\n height: '600px'\n },\n layout: {\n name: 'grid'\n },\n pan: {\n x: 0,\n y: 0\n },\n zoom: 1,\n minZoom: 1e-50,\n maxZoom: 1e50,\n zoomingEnabled: true,\n userZoomingEnabled: true,\n panningEnabled: true,\n userPanningEnabled: true,\n wheelSensitivity: 1,\n boxSelectionEnabled: false,\n autolock: false,\n autoungrabify: false,\n autounselectify: false,\n autoRefreshLayout: true,\n generateImage: {},\n imageData: null,\n responsive: false,\n clearOnUnhover: false,\n elements: [],\n contextMenu: []\n};\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Cytoscape);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvbGliL2NvbXBvbmVudHMvQ3l0b3NjYXBlLnJlYWN0LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNxQztBQUNFO0FBQ0o7QUFDZ0I7QUFDNUI7QUFDVztBQUNZOztBQUU5QztBQUNnQztBQUVoQyxJQUFNUSxTQUFTLEdBQUdDLG1CQUFPLENBQUMsaUVBQVcsQ0FBQztBQUN0QyxJQUFNQyxZQUFZLEdBQUdELG1CQUFPLENBQUMsa0dBQXlCLENBQUM7O0FBRXZEO0FBQ29DOztBQUVwQztBQUNBQyxZQUFZLENBQUNGLFNBQVMsQ0FBQztBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUhBLElBSU1HLFNBQVMsMEJBQUFDLFVBQUE7RUFBQUMsU0FBQSxDQUFBRixTQUFBLEVBQUFDLFVBQUE7RUFDWCxTQUFBRCxVQUFZRyxLQUFLLEVBQUU7SUFBQSxJQUFBQyxLQUFBO0lBQUFDLGVBQUEsT0FBQUwsU0FBQTtJQUNmSSxLQUFBLEdBQUFFLFVBQUEsT0FBQU4sU0FBQSxHQUFNRyxLQUFLO0lBRVhDLEtBQUEsQ0FBS0csUUFBUSxHQUFHSCxLQUFBLENBQUtHLFFBQVEsQ0FBQ0MsSUFBSSxDQUFBQyxzQkFBQSxDQUFBTCxLQUFBLENBQUssQ0FBQztJQUN4Q0EsS0FBQSxDQUFLTSxlQUFlLEdBQUcsS0FBSztJQUM1Qk4sS0FBQSxDQUFLTyxxQkFBcUIsR0FBR1AsS0FBQSxDQUFLTyxxQkFBcUIsQ0FBQ0gsSUFBSSxDQUFBQyxzQkFBQSxDQUFBTCxLQUFBLENBQUssQ0FBQztJQUNsRUEsS0FBQSxDQUFLUSxpQkFBaUIsR0FBRyxLQUFLO0lBQUMsT0FBQVIsS0FBQTtFQUNuQztFQUFDUyxZQUFBLENBQUFiLFNBQUE7SUFBQWMsR0FBQTtJQUFBQyxLQUFBLEVBRUQsU0FBQUMsYUFBYUMsS0FBSyxFQUFFO01BQ2hCLElBQU1DLEdBQUcsR0FBR0QsS0FBSyxDQUFDRSxNQUFNO01BRXhCLElBQU1D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QU8sQ0FBQztFQUN4Qy9JLE1BQU0sRUFBRTtJQUFDNEwsSUFBSSxFQUFFO0VBQU0sQ0FBQztFQUN0QjdCLEdBQUcsRUFBRTtJQUFDekcsQ0FBQyxFQUFFLENBQUM7SUFBRUMsQ0FBQyxFQUFFO0VBQUMsQ0FBQztFQUNqQmYsSUFBSSxFQUFFLENBQUM7RUFDUHBCLE9BQU8sRUFBRSxLQUFLO0VBQ2RGLE9BQU8sRUFBRSxJQUFJO0VBQ2JnSixjQUFjLEVBQUUsSUFBSTtFQUNwQkMsa0JBQWtCLEVBQUUsSUFBSTtFQUN4QkgsY0FBYyxFQUFFLElBQUk7RUFDcEJDLGtCQUFrQixFQUFFLElBQUk7RUFDeEJHLGdCQUFnQixFQUFFLENBQUM7RUFDbkJDLG1CQUFtQixFQUFFLEtBQUs7RUFDMUJFLFFBQVEsRUFBRSxLQUFLO0VBQ2ZELGFBQWEsRUFBRSxLQUFLO0VBQ3BCRSxlQUFlLEVBQUUsS0FBSztFQUN0QnpLLGlCQUFpQixFQUFFLElBQUk7RUFDdkIwSyxhQUFhLEVBQUUsQ0FBQyxDQUFDO0VBQ2pCakQsU0FBUyxFQUFFLElBQUk7RUFDZnpCLFVBQVUsRUFBRSxLQUFLO0VBQ2pCMUQsY0FBYyxFQUFFLEtBQUs7RUFDckJ2QixRQUFRLEVBQUUsRUFBRTtFQUNaMEgsV0FBVyxFQUFFO0FBQ2pCLENBQUM7QUFFRCxpRUFBZXROLFNBQVMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX2N5dG9zY2FwZS8uL3NyYy9saWIvY29tcG9uZW50cy9DeXRvc2NhcGUucmVhY3QuanM/NjQyYyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEphdmFTY3JpcHQgUmVxdWlyZW1lbnRzOiBjeXRvc2NhcGUsIGN5dG9zY2FwZS1zdmdcbiAqIFJlYWN0LmpzIHJlcXVpcmVtZW50czogcmVhY3QtY3l0b3NjYXBlanNcbiAqL1xuaW1wb3J0ICcvc3JjL2Fzc2V0cy9jb250ZXh0bWVudS5jc3MnO1xuaW1wb3J0IFJlYWN0LCB7Q29tcG9uZW50fSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IEN5dG9zY2FwZUNvbXBvbmVudCBmcm9tICdyZWFjdC1jeXRvc2NhcGVqcyc7XG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHt2NCBhcyB1dWlkdjR9IGZyb20gJ3V1aWQnO1xuaW1wb3J0IEN5UmVzcG9uc2l2ZSBmcm9tICcuLi9jeVJlc3BvbnNpdmUuanMnO1xuXG4vLyBQb2x5ZmlsbCBzbyB0aGF0IGNvbnRleHQgbWVudSBleHRlbnNpb24gd29ya3MgaW4gU2FmYXJpXG5pbXBvcnQgJ0B1bmdhcC9jdXN0b20tZWxlbWVudHMnO1xuXG5jb25zdCBjeXRvc2NhcGUgPSByZXF1aXJlKCdjeXRvc2NhcGUnKTtcbmNvbnN0IGNvbnRleHRNZW51cyA9IHJlcXVpcmUoJ2N5dG9zY2FwZS1jb250ZXh0LW1lbnVzJyk7XG5cbi8vIENsaWVudHNpZGUgY2FsbGJhY2sgZnVuY3Rpb25zIGZvciBDeUxlYWZsZXQgQUlPIGNvbXBvbmVudFxuaW1wb3J0ICcuLi9jeWxlYWZsZXRfY2xpZW50c2lkZS5qcyc7XG5cbi8vIHJlZ2lzdGVyIGV4dGVuc2lvblxuY29udGV4dE1lbnVzKGN5dG9zY2FwZSk7XG4vKipcbiAqIEEgQ29tcG9uZW50IExpYnJhcnkgZm9yIERhc2ggYWltZWQgYXQgZmFjaWxpdGF0aW5nIG5ldHdvcmsgdmlzdWFsaXphdGlvbiBpblxuICogUHl0aG9uLCB3cmFwcGVkIGFyb3VuZCBbQ3l0b3NjYXBlLmpzXShodHRwOi8vanMuY3l0b3NjYXBlLm9yZy8pLlxuICovXG5jbGFzcyBDeXRvc2NhcGUgZXh0ZW5kcyBDb21wb25lbnQge1xuICAgIGNvbnN0cnVjdG9yKHByb3BzKSB7XG4gICAgICAgIHN1cGVyKHByb3BzKTtcblxuICAgICAgICB0aGlzLmhhbmRsZUN5ID0gdGhpcy5oYW5kbGVDeS5iaW5kKHRoaXMpO1xuICAgICAgICB0aGlzLl9oYW5kbGVDeUNhbGxlZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLmhhbmRsZUltYWdlR2VuZXJhdGlvbiA9IHRoaXMuaGFuZGxlSW1hZ2VHZW5lcmF0aW9uLmJpbmQodGhpcyk7XG4gICAgICAgIHRoaXMuY3lSZXNwb25zaXZlQ2xhc3MgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBnZW5lcmF0ZU5vZGUoZXZlbnQpIHtcbiAgICAgICAgY29uc3QgZWxlID0gZXZlbnQudGFyZ2V0O1xuXG4gICAgICAgIGNvbnN0IGlzUGFyZW50ID0gZWxlLmlzUGFyZW50KCksXG4gICAgICAgICAgICBpc0NoaWxkbGVzcyA9IGVsZS5pc0NoaWxkbGVzcygpLFxuICAgICAgICAgICAgaXNDaGlsZCA9IGVsZS5pc0NoaWxkKCksXG4gICAgICAgICAgICBpc09ycGhhbiA9IGVsZS5pc09ycGhhbigpLFxuICAgICAgICAgICAgcmVuZGVyZWRQb3NpdGlvbiA9IGVsZS5yZW5kZXJlZFBvc2l0aW9uKCksXG4gICAgICAgICAgICByZWxhdGl2ZVBvc2l0aW9uID0gZWxlLnJlbGF0aXZlUG9zaXRpb24oKSxcbiAgICAgICAgICAgIHBhcmVudCA9IGVsZS5wYXJlbnQoKSxcbiAgICAgICAgICAgIHN0eWxlID0gZWxlLnN0eWxlKCk7XG5cbiAgICAgICAgLy8gVHJpbSBkb3duIHRoZSBlbGVtZW50IG9iamVjdHMgdG8gb25seSB0aGUgZGF0YSBjb250YWluZWRcbiAgICAgICAgY29uc3QgZWRnZXNEYXRhID0gZWxlLmNvbm5lY3RlZEVkZ2VzKCkubWFwKChlbGUpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBlbGUuZGF0YSgpO1xuICAgICAgICB9KTtcbiAgICAgICAgY29uc3QgY2hpbGRyZW5EYXRhID0gZWxlLmNoaWxkcmVuKCkubWFwKChlbGUpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBlbGUuZGF0YSgpO1xuICAgICAgICB9KTtcbiAgICAgICAgY29uc3QgYW5jZXN0b3JzRGF0YSA9IGVsZS5hbmNlc3RvcnMoKS5tYXAoKGVsZSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGVsZS5kYXRhKCk7XG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBkZXNjZW5kYW50c0RhdGEgPSBlbGUuZGVzY2VuZGFudHMoKS5tYXAoKGVsZSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGVsZS5kYXRhKCk7XG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBzaWJsaW5nc0RhdGEgPSBlbGUuc2libGluZ3MoKS5tYXAoKGVsZSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGVsZS5kYXRhKCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IHt0aW1lU3RhbXB9ID0gZXZlbnQ7XG4gICAgICAgIGNvbnN0IHtcbiAgICAgICAgICAgIGNsYXNzZXMsXG4gICAgICAgICAgICBkYXRhLFxuICAgICAgICAgICAgZ3JhYmJhYmxlLFxuICAgICAgICAgICAgZ3JvdXAsXG4gICAgICAgICAgICBsb2NrZWQsXG4gICAgICAgICAgICBwb3NpdGlvbixcbiAgICAgICAgICAgIHNlbGVjdGVkLFxuICAgICAgICAgICAgc2VsZWN0YWJsZSxcbiAgICAgICAgfSA9IGVsZS5qc29uKCk7XG5cbiAgICAgICAgbGV0IHBhcmVudERhdGE7XG4gICAgICAgIGlmIChwYXJlbnQpIHtcbiAgICAgICAgICAgIHBhcmVudERhdGEgPSBwYXJlbnQuZGF0YSgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcGFyZW50RGF0YSA9IG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBub2RlT2JqZWN0ID0ge1xuICAgICAgICAgICAgLy8gTm9kZXMgYXR0cmlidXRlc1xuICAgICAgICAgICAgZWRnZXNEYXRhLFxuICAgICAgICAgICAgcmVuZGVyZWRQb3NpdGlvbixcbiAgICAgICAgICAgIHRpbWVTdGFtcCxcbiAgICAgICAgICAgIC8vIEZyb20gZWxlLmpzb24oKVxuICAgICAgICAgICAgY2xhc3NlcyxcbiAgICAgICAgICAgIGRhdGEsXG4gICAgICAgICAgICBncmFiYmFibGUsXG4gICAgICAgICAgICBncm91cCxcbiAgICAgICAgICAgIGxvY2tlZCxcbiAgICAgICAgICAgIHBvc2l0aW9uLFxuICAgICAgICAgICAgc2VsZWN0YWJsZSxcbiAgICAgICAgICAgIHNlbGVjdGVkLFxuICAgICAgICAgICAgLy8gQ29tcG91bmQgTm9kZXMgYWRkaXRpb25hbCBhdHRyaWJ1dGVzXG4gICAgICAgICAgICBhbmNlc3RvcnNEYXRhLFxuICAgICAgICAgICAgY2hpbGRyZW5EYXRhLFxuICAgICAgICAgICAgZGVzY2VuZGFudHNEYXRhLFxuICAgICAgICAgICAgcGFyZW50RGF0YSxcbiAgICAgICAgICAgIHNpYmxpbmdzRGF0YSxcbiAgICAgICAgICAgIGlzUGFyZW50LFxuICAgICAgICAgICAgaXNDaGlsZGxlc3MsXG4gICAgICAgICAgICBpc0NoaWxkLFxuICAgICAgICAgICAgaXNPcnBoYW4sXG4gICAgICAgICAgICByZWxhdGl2ZVBvc2l0aW9uLFxuICAgICAgICAgICAgLy8gU3R5bGluZ1xuICAgICAgICAgICAgc3R5bGUsXG4gICAgICAgIH07XG4gICAgICAgIHJldHVybiBub2RlT2JqZWN0O1xuICAgIH1cblxuICAgIGdlbmVyYXRlRWRnZShldmVudCkge1xuICAgICAgICBjb25zdCBlbGUgPSBldmVudC50YXJnZXQ7XG5cbiAgICAgICAgY29uc3QgbWlkcG9pbnQgPSBlbGUubWlkcG9pbnQoKSxcbiAgICAgICAgICAgIGlzTG9vcCA9IGVsZS5pc0xvb3AoKSxcbiAgICAgICAgICAgIGlzU2ltcGxlID0gZWxlLmlzU2ltcGxlKCksXG4gICAgICAgICAgICBzb3VyY2VEYXRhID0gZWxlLnNvdXJjZSgpLmRhdGEoKSxcbiAgICAgICAgICAgIHNvdXJjZUVuZHBvaW50ID0gZWxlLnNvdXJjZUVuZHBvaW50KCksXG4gICAgICAgICAgICBzdHlsZSA9IGVsZS5zdHlsZSgpLFxuICAgICAgICAgICAgdGFyZ2V0RGF0YSA9IGVsZS50YXJnZXQoKS5kYXRhKCksXG4gICAgICAgICAgICB0YXJnZXRFbmRwb2ludCA9IGVsZS50YXJnZXRFbmRwb2ludCgpO1xuXG4gICAgICAgIGNvbnN0IHt0aW1lU3RhbXB9ID0gZXZlbnQ7XG4gICAgICAgIGNvbnN0IHtjbGFzc2VzLCBkYXRhLCBncmFiYmFibGUsIGdyb3VwLCBsb2NrZWQsIHNlbGVjdGFibGUsIHNlbGVjdGVkfSA9XG4gICAgICAgICAgICBlbGUuanNvbigpO1xuXG4gICAgICAgIGNvbnN0IGVkZ2VPYmplY3QgPSB7XG4gICAgICAgICAgICAvLyBFZGdlcyBhdHRyaWJ1dGVzXG4gICAgICAgICAgICBpc0xvb3AsXG4gICAgICAgICAgICBpc1NpbXBsZSxcbiAgICAgICAgICAgIG1pZHBvaW50LFxuICAgICAgICAgICAgc291cmNlRGF0YSxcbiAgICAgICAgICAgIHNvdXJjZUVuZHBvaW50LFxuICAgICAgICAgICAgdGFyZ2V0RGF0YSxcbiAgICAgICAgICAgIHRhcmdldEVuZHBvaW50LFxuICAgICAgICAgICAgdGltZVN0YW1wLFxuICAgICAgICAgICAgLy8gRnJvbSBlbGUuanNvbigpXG4gICAgICAgICAgICBjbGFzc2VzLFxuICAgICAgICAgICAgZGF0YSxcbiAgICAgICAgICAgIGdyYWJiYWJsZSxcbiAgICAgICAgICAgIGdyb3VwLFxuICAgICAgICAgICAgbG9ja2VkLFxuICAgICAgICAgICAgc2VsZWN0YWJsZSxcbiAgICAgICAgICAgIHNlbGVjdGVkLFxuICAgICAgICAgICAgLy8gU3R5bGluZ1xuICAgICAgICAgICAgc3R5bGUsXG4gICAgICAgIH07XG5cbiAgICAgICAgcmV0dXJuIGVkZ2VPYmplY3Q7XG4gICAgfVxuXG4gICAgaGFuZGxlQ3koY3kpIHtcbiAgICAgICAgLy8gSWYgdGhlIGN5IHBvaW50ZXIgaGFzIG5vdCBiZWVuIG1vZGlmaWVkLCBhbmQgaGFuZGxlQ3kgaGFzIGFscmVhZHlcbiAgICAgICAgLy8gYmVlbiBjYWxsZWQgYmVmb3JlLCB0aGFuIHdlIGRvbid0IHJ1biB0aGlzIGZ1bmN0aW9uLlxuICAgICAgICBpZiAoY3kgPT09IHRoaXMuX2N5ICYmIHRoaXMuX2hhbmRsZUN5Q2FsbGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fY3kgPSBjeTtcbiAgICAgICAgd2luZG93LmN5ID0gY3k7XG4gICAgICAgIHRoaXMuX2hhbmRsZUN5Q2FsbGVkID0gdHJ1ZTtcblxuICAgICAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vIENPTlNUQU5UUyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgICAgICBjb25zdCBTRUxFQ1RfVEhSRVNIT0xEID0gMTAwO1xuICAgICAgICBjb25zdCBFWFRFTlRfVEhSRVNIT0xEID0gNTtcbiAgICAgICAgY29uc3QgVVBEQVRFX0VMRU1FTlRTX1RIUkVTSE9MRCA9IDEwMDtcbiAgICAgICAgY29uc3QgUkVTSVpFX1RIUkVTSE9MRCA9IDUwO1xuXG4gICAgICAgIGNvbnN0IHNlbGVjdGVkTm9kZXMgPSBjeS5jb2xsZWN0aW9uKCk7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkRWRnZXMgPSBjeS5jb2xsZWN0aW9uKCk7XG5cbiAgICAgICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyBGVU5DVElPTlMgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAgICAgY29uc3QgcmVmcmVzaExheW91dCA9IF8uZGVib3VuY2UoKCkgPT4ge1xuICAgICAgICAgICAgLyoqXG4gICAgICAgICAgICAgKiBSZWZyZXNoIExheW91dCBpZiBuZWVkZWRcbiAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgY29uc3Qge2F1dG9SZWZyZXNoTGF5b3V0LCBsYXlvdXR9ID0gdGhpcy5wcm9wcztcblxuICAgICAgICAgICAgaWYgKGF1dG9SZWZyZXNoTGF5b3V0KSB7XG4gICAgICAgICAgICAgICAgY3kubGF5b3V0KGxheW91dCkucnVuKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sIFNFTEVDVF9USFJFU0hPTEQpO1xuXG4gICAgICAgIGNvbnN0IHNlbmRTZWxlY3RlZE5vZGVzRGF0YSA9IF8uZGVib3VuY2UoKCkgPT4ge1xuICAgICAgICAgICAgLyoqXG4gICAgICAgICAgICAgICBUaGlzIGZ1bmN0aW9uIGlzIHJlcGV0aXRpdmVseSBjYWxsZWQgZXZlcnkgdGltZSBhIG5vZGUgaXMgc2VsZWN0ZWRcbiAgICAgICAgICAgICAgIG9yIHVuc2VsZWN0ZWQsIGJ1dCBrZWVwcyBiZWluZyBkZWJvdW5jZWQgaWYgaXQgaXMgY2FsbGVkIGFnYWluXG4gICAgICAgICAgICAgICB3aXRoaW4gMTAwIG1zIChnaXZlbiBieSBTRUxFQ1RfVEhSRVNIT0xEKS4gRWZmZWN0aXZlbHksIGl0IG9ubHlcbiAgICAgICAgICAgICAgIHJ1bnMgd2hlbiBhbGwgdGhlIG5vZGVzIGhhdmUgYmVlbiBjb3JyZWN0bHkgc2VsZWN0ZWQvdW5zZWxlY3RlZCBhbmRcbiAgICAgICAgICAgICAgIGFkZGVkL3JlbW92ZWQgZnJvbSB0aGUgc2VsZWN0ZWROb2RlcyBjb2xsZWN0aW9uLCBhbmQgdGhlbiB1cGRhdGVzXG4gICAgICAgICAgICAgICB0aGUgc2VsZWN0ZWROb2RlRGF0YSBwcm9wLlxuICAgICAgICAgICAgICAgKi9cbiAgICAgICAgICAgIGNvbnN0IG5vZGVEYXRhID0gc2VsZWN0ZWROb2Rlcy5tYXAoKGVsKSA9PiBlbC5kYXRhKCkpO1xuXG4gICAgICAgICAgICB0aGlzLnByb3BzLnNldFByb3BzKHtcbiAgICAgICAgICAgICAgICBzZWxlY3RlZE5vZGVEYXRhOiBub2RlRGF0YSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9LCBTRUxFQ1RfVEhSRVNIT0xEKTtcblxuICAgICAgICBjb25zdCBzZW5kU2VsZWN0ZWRFZGdlc0RhdGEgPSBfLmRlYm91bmNlKCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGVkZ2VEYXRhID0gc2VsZWN0ZWRFZGdlcy5tYXAoKGVsKSA9PiBlbC5kYXRhKCkpO1xuXG4gICAgICAgICAgICB0aGlzLnByb3BzLnNldFByb3BzKHtcbiAgICAgICAgICAgICAgICBzZWxlY3RlZEVkZ2VEYXRhOiBlZGdlRGF0YSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9LCBTRUxFQ1RfVEhSRVNIT0xEKTtcblxuICAgICAgICBjb25zdCBzZXRFeHRlbnQgPSBfLmRlYm91bmNlKChjeUV4dGVudCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5wcm9wcy5zZXRQcm9wcyh7XG4gICAgICAgICAgICAgICAgZXh0ZW50OiBjeUV4dGVudCxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9LCBFWFRFTlRfVEhSRVNIT0xEKTtcblxuICAgICAgICBjb25zdCB1cGRhdGVFbGVtZW50cyA9IF8uZGVib3VuY2UoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5wcm9wcy5zZXRQcm9wcyh7XG4gICAgICAgICAgICAgICAgZWxlbWVudHM6IGN5LmVsZW1lbnRzKCcnKS5tYXAoKGl0ZW0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGl0ZW0uanNvbigpLmdyb3VwID09PSAnbm9kZXMnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE6IGl0ZW0uanNvbigpLmRhdGEsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGl0ZW0uanNvbigpLnBvc2l0aW9uLFxuICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGF0YTogaXRlbS5qc29uKCkuZGF0YSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiB2b2lkIDAsXG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSwgVVBEQVRFX0VMRU1FTlRTX1RIUkVTSE9MRCk7XG5cbiAgICAgICAgY29uc3QgcmVzaXplID0gXy5kZWJvdW5jZSgoKSA9PiB7XG4gICAgICAgICAgICBjeS5yZXNpemUoKTtcbiAgICAgICAgfSwgUkVTSVpFX1RIUkVTSE9MRCk7XG5cbiAgICAgICAgLy8gU3RvcmUgdGhlIG9yaWdpbmFsIG1heFpvb20gYW5kIG1pblpvb20gZnVuY3Rpb25zXG4gICAgICAgIGNvbnN0IG9yaWdpbmFsTWF4Wm9vbUZuID0gY3kubWF4Wm9vbTtcbiAgICAgICAgY29uc3Qgb3JpZ2luYWxNaW5ab29tRm4gPSBjeS5taW5ab29tO1xuXG4gICAgICAgIC8vIE92ZXJyaWRlIHRoZSBtYXhab29tIGZ1bmN0aW9uIHRvIHRyaWdnZXIgbWF4Wm9vbUNoYW5nZSBjdXN0b20gZXZlbnRcbiAgICAgICAgY3kubWF4Wm9vbSA9IGZ1bmN0aW9uIChlKSB7XG4gICAgICAgICAgICBjb25zdCBjdXJyZW50TWF4Wm9vbSA9IG9yaWdpbmFsTWF4Wm9vbUZuLmNhbGwoY3ksIGUpO1xuXG4gICAgICAgICAgICAvLyBUcmlnZ2VyIHlvdXIgY3VzdG9tIGV2ZW50IGlmIHRoZSBjdXJyZW50IG1heCB6b29tIGxldmVsIGlzIGRpZmZlcmVudCBmcm9tIHRoZVxuICAgICAgICAgICAgLy8gcHJldmlvdXNseSBzdG9yZWQgbWF4IHpvb20gbGV2ZWxcbiAgICAgICAgICAgIGlmIChjdXJyZW50TWF4Wm9vbSAhPT0gY3kuX3ByZXZpb3VzTWF4Wm9vbSkge1xuICAgICAgICAgICAgICAgIGN5Ll9wcmV2aW91c01heFpvb20gPSBjdXJyZW50TWF4Wm9vbTtcbiAgICAgICAgICAgICAgICBjeS50cmlnZ2VyKCdtaW5NYXhab29tQ2hhbmdlJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gY3VycmVudE1heFpvb207XG4gICAgICAgIH07XG5cbiAgICAgICAgLy8gT3ZlcnJpZGUgdGhlIG1pblpvb20gZnVuY3Rpb24gdG8gdHJpZ2dlciBtaW5ab29tQ2hhbmdlIGN1c3RvbSBldmVudFxuICAgICAgICBjeS5taW5ab29tID0gZnVuY3Rpb24gKGUpIHtcbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRNaW5ab29tID0gb3JpZ2luYWxNaW5ab29tRm4uY2FsbChjeSwgZSk7XG5cbiAgICAgICAgICAgIC8vIFRyaWdnZXIgeW91ciBjdXN0b20gZXZlbnQgaWYgdGhlIGN1cnJlbnQgbWluIHpvb20gbGV2ZWwgaXMgZGlmZmVyZW50IGZyb20gdGhlXG4gICAgICAgICAgICAvLyBwcmV2aW91c2x5IHN0b3JlZCBtaW4gem9vbSBsZXZlbFxuICAgICAgICAgICAgaWYgKGN1cnJlbnRNaW5ab29tICE9PSBjeS5fcHJldmlvdXNNaW5ab29tKSB7XG4gICAgICAgICAgICAgICAgY3kuX3ByZXZpb3VzTWluWm9vbSA9IGN1cnJlbnRNaW5ab29tO1xuICAgICAgICAgICAgICAgIGN5LnRyaWdnZXIoJ21pbk1heFpvb21DaGFuZ2UnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBjdXJyZW50TWluWm9vbTtcbiAgICAgICAgfTtcblxuICAgICAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gRVZFTlRTIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgICAgIGN5Lm9uKCd0YXAnLCAnbm9kZScsIChldmVudCkgPT4ge1xuICAgICAgICAgICAgY29uc3Qgbm9kZU9iamVjdCA9IHRoaXMuZ2VuZXJhdGVOb2RlKGV2ZW50KTtcblxuICAgICAgICAgICAgdGhpcy5wcm9wcy5zZXRQcm9wcyh7XG4gICAgICAgICAgICAgICAgdGFwTm9kZTogbm9kZU9iamVjdCxcbiAgICAgICAgICAgICAgICB0YXBOb2RlRGF0YTogT2JqZWN0LmFzc2lnbih7fSwgbm9kZU9iamVjdC5kYXRhLCB7XG4gICAgICAgICAgICAgICAgICAgIHRpbWVTdGFtcDogbm9kZU9iamVjdC50aW1lU3RhbXAsXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY3kub24oJ3RhcCcsICdlZGdlJywgKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBlZGdlT2JqZWN0ID0gdGhpcy5nZW5lcmF0ZUVkZ2UoZXZlbnQpO1xuXG4gICAgICAgICAgICB0aGlzLnByb3BzLnNldFByb3BzKHtcbiAgICAgICAgICAgICAgICB0YXBFZGdlOiBlZGdlT2JqZWN0LFxuICAgICAgICAgICAgICAgIHRhcEVkZ2VEYXRhOiBPYmplY3QuYXNzaWduKHt9LCBlZGdlT2JqZWN0LmRhdGEsIHtcbiAgICAgICAgICAgICAgICAgICAgdGltZVN0YW1wOiBlZGdlT2JqZWN0LnRpbWVTdGFtcCxcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcblxuICAgICAgICBjeS5vbignbW91c2VvdmVyJywgJ25vZGUnLCAoZXZlbnQpID0+IHtcbiAgICAgICAgICAgIHRoaXMucHJvcHMuc2V0UHJvcHMoe1xuICAgICAgICAgICAgICAgIG1vdXNlb3Zlck5vZGVEYXRhOiBPYmplY3QuYXNzaWduKHt9LCBldmVudC50YXJnZXQuZGF0YSgpLCB7XG4gICAgICAgICAgICAgICAgICAgIHRpbWVTdGFtcDogZXZlbnQudGltZVN0YW1wLFxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGN5Lm9uKCdtb3VzZW92ZXInLCAnZWRnZScsIChldmVudCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5wcm9wcy5zZXRQcm9wcyh7XG4gICAgICAgICAgICAgICAgbW91c2VvdmVyRWRnZURhdGE6IE9iamVjdC5hc3NpZ24oe30sIGV2ZW50LnRhcmdldC5kYXRhKCksIHtcbiAgICAgICAgICAgICAgICAgICAgdGltZVN0YW1wOiBldmVudC50aW1lU3RhbXAsXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY3kub24oJ21vdXNlb3V0JywgJ25vZGUnLCAoXykgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMucHJvcHMuY2xlYXJPblVuaG92ZXIgPT09IHRydWUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnByb3BzLnNldFByb3BzKHttb3VzZW92ZXJOb2RlRGF0YTogbnVsbH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICBjeS5vbignbW91c2VvdXQnLCAnZWRnZScsIChfKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5wcm9wcy5jbGVhck9uVW5ob3ZlciA9PT0gdHJ1ZSkge1xuICAgICAgICAgICAgICAgIHRoaXMucHJvcHMuc2V0UHJvcHMoe1xuICAgICAgICAgICAgICAgICAgICBtb3VzZW92ZXJFZGdlRGF0YTogbnVsbCxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgY3kub24oJ3NlbGVjdCcsICdub2RlJywgKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBlbGUgPSBldmVudC50YXJnZXQ7XG5cbiAgICAgICAgICAgIHNlbGVjdGVkTm9kZXMubWVyZ2UoZWxlKTtcbiAgICAgICAgICAgIHNlbmRTZWxlY3RlZE5vZGVzRGF0YSgpO1xuICAgICAgICB9KTtcblxuICAgICAgICBjeS5vbigndW5zZWxlY3QgcmVtb3ZlJywgJ25vZGUnLCAoZXZlbnQpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGVsZSA9IGV2ZW50LnRhcmdldDtcblxuICAgICAgICAgICAgc2VsZWN0ZWROb2Rlcy51bm1lcmdlKGVsZSk7XG4gICAgICAgICAgICBzZW5kU2VsZWN0ZWROb2Rlc0RhdGEoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY3kub24oJ3NlbGVjdCcsICdlZGdlJywgKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBlbGUgPSBldmVudC50YXJnZXQ7XG5cbiAgICAgICAgICAgIHNlbGVjdGVkRWRnZXMubWVyZ2UoZWxlKTtcbiAgICAgICAgICAgIHNlbmRTZWxlY3RlZEVkZ2VzRGF0YSgpO1xuICAgICAgICB9KTtcblxuICAgICAgICBjeS5vbigndW5zZWxlY3QgcmVtb3ZlJywgJ2VkZ2UnLCAoZXZlbnQpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGVsZSA9IGV2ZW50LnRhcmdldDtcblxuICAgICAgICAgICAgc2VsZWN0ZWRFZGdlcy51bm1lcmdlKGVsZSk7XG4gICAgICAgICAgICBzZW5kU2VsZWN0ZWRFZGdlc0RhdGEoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY3kub24oJ2FkZCByZW1vdmUnLCAoKSA9PiB7XG4gICAgICAgICAgICByZWZyZXNoTGF5b3V0KCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGN5Lm9uKCdkcmFnZnJlZSBhZGQgcmVtb3ZlJywgKF8pID0+IHtcbiAgICAgICAgICAgIHVwZGF0ZUVsZW1lbnRzKCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGN5Lm9uKCdyZXNpemUgdmlld3BvcnQnLCAoKSA9PiB7XG4gICAgICAgICAgICBzZXRFeHRlbnQoY3kuZXh0ZW50KCkpO1xuICAgICAgICB9KTtcblxuICAgICAgICBjeS5vbigndGFwc3RhcnQnLCAoKSA9PiB7XG4gICAgICAgICAgICByZXNpemUoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gUmVmcmVzaCBsYXlvdXQgaWYgY3VycmVudCB6b29tIGlzIG91dCBvZiBib3VuZGFyaWVzXG4gICAgICAgIGN5Lm9uKCdtaW5NYXhab29tQ2hhbmdlJywgZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgY29uc3Qgem9vbSA9IGN5Lnpvb20oKTtcbiAgICAgICAgICAgIGlmICh6b29tID4gY3kubWF4Wm9vbSgpIHx8IHpvb20gPCBjeS5taW5ab29tKCkpIHtcbiAgICAgICAgICAgICAgICBjeS5maXQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5jcmVhdGVNZW51SXRlbXMgPSAoY3R4TWVudSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgdXBkYXRlQ29udGV4dE1lbnVEYXRhID0gKG5ld0NvbnRleHQpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnByb3BzLnNldFByb3BzKHtjb250ZXh0TWVudURhdGE6IG5ld0NvbnRleHR9KTtcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBjb25zdCBjb250ZXh0TWVudURlZmF1bHRGdW5jdGlvbnMgPSB7XG4gICAgICAgICAgICAgICAgcmVtb3ZlOiBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IHx8IGV2ZW50LmN5VGFyZ2V0O1xuICAgICAgICAgICAgICAgICAgICB0YXJnZXQucmVtb3ZlKCk7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBhZGRfbm9kZTogZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHBvcyA9IGV2ZW50LnBvc2l0aW9uIHx8IGV2ZW50LmN5UG9zaXRpb247XG4gICAgICAgICAgICAgICAgICAgIGN5LmFkZCh7XG4gICAgICAgICAgICAgICAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JvdXA6ICdub2RlcycsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB4OiBwb3MueCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB5OiBwb3MueSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgYWRkX2VkZ2U6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWROb2RlSWRzID0gc2VsZWN0ZWROb2Rlcy5tYXAoKG5vZGUpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICBub2RlLmlkKClcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHNlbGVjdGVkTm9kZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFcnJvcjogTm8gbm9kZXMgc2VsZWN0ZWQsIGNhbm5vdCBhZGQgZWRnZSdcbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoc2VsZWN0ZWROb2Rlcy5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGN5LmFkZCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZDogdXVpZHY0KCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyb3VwOiAnZWRnZXMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzb3VyY2U6IHNlbGVjdGVkTm9kZUlkc1swXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0OiBzZWxlY3RlZE5vZGVJZHNbMF0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHNlbGVjdGVkTm9kZXMubGVuZ3RoID09PSAyKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjeS5hZGQoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IHV1aWR2NCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBncm91cDogJ2VkZ2VzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc291cmNlOiBzZWxlY3RlZE5vZGVJZHNbMF0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldDogc2VsZWN0ZWROb2RlSWRzWzFdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0Vycm9yOiBtb3JlIHRoYW4gMiBub2RlcyBzZWxlY3RlZCwgY2Fubm90IGFkZCBlZGdlJ1xuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgY29uc3QgbmV3TWVudUl0ZW1zID0gW107XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgY3R4TWVudSkge1xuICAgICAgICAgICAgICAgIGxldCBvbkNsaWNrRnVuY3Rpb247XG4gICAgICAgICAgICAgICAgLy8gcmV0dXJuIGRhdGEgc28gYSB1c2VyIGNhbiBkZWZpbmUgYSBjdXN0b20gb24gY2xpY2sgZnVuY3Rpb24gaW4gUHl0aG9uXG4gICAgICAgICAgICAgICAgLy8gaWYgb25DbGljayBvciBvbiBvbkNsaWNrQ3VzdG9tIGFyZSBub3Qgc3BlY2lmaWVkXG4gICAgICAgICAgICAgICAgb25DbGlja0Z1bmN0aW9uID0gZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIHVwZGF0ZUNvbnRleHRNZW51RGF0YSh7XG4gICAgICAgICAgICAgICAgICAgICAgICBtZW51SXRlbUlkOiBpdGVtLmlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgeDogZXZlbnQucG9zaXRpb24ueCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHk6IGV2ZW50LnBvc2l0aW9uLnksXG4gICAgICAgICAgICAgICAgICAgICAgICB0aW1lU3RhbXA6IGV2ZW50LnRpbWVTdGFtcCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnRJZDogZXZlbnQudGFyZ2V0LmRhdGEoKS5pZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGVkZ2VTb3VyY2U6IGV2ZW50LnRhcmdldC5kYXRhKCkuc291cmNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgZWRnZVRhcmdldDogZXZlbnQudGFyZ2V0LmRhdGEoKS50YXJnZXQsXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgLy8gdXNlIGRlZmF1bHQgamF2YXNjcmlwdCBmdW5jdGlvbiBhcyBvbkNsaWNrRnVuY3Rpb25cbiAgICAgICAgICAgICAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGl0ZW0sICdvbkNsaWNrJykpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHRNZW51RGVmYXVsdEZ1bmN0aW9ucyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtLm9uQ2xpY2tcbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrRnVuY3Rpb24gPVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHRNZW51RGVmYXVsdEZ1bmN0aW9uc1tpdGVtLm9uQ2xpY2tdO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBgb25DbGljayBmdW5jdGlvbiAke2l0ZW0ub25DbGlja30gaXMgbm90IGRlZmluZWRgXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8vIHVzZSB1c2VyLWRlZmluZWQgSmF2YXNjcmlwdCBmdW5jdGlvbiBpbiBhIG5hbWVzcGFjZSB1bmRlciBhc3NldHMvIGFzIG9uQ2xpY2tGdW5jdGlvblxuICAgICAgICAgICAgICAgIGVsc2UgaWYgKFxuICAgICAgICAgICAgICAgICAgICBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoaXRlbSwgJ29uQ2xpY2tDdXN0b20nKVxuICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2luZG93LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkYXNoQ3l0b3NjYXBlRnVuY3Rpb25zJ1xuICAgICAgICAgICAgICAgICAgICAgICAgKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpbmRvdy5kYXNoQ3l0b3NjYXBlRnVuY3Rpb25zLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0ub25DbGlja0N1c3RvbVxuICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2tGdW5jdGlvbiA9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2luZG93LmRhc2hDeXRvc2NhcGVGdW5jdGlvbnNbaXRlbS5vbkNsaWNrQ3VzdG9tXTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYG9uQ2xpY2tDdXN0b20gZnVuY3Rpb24gJHtpdGVtLm9uQ2xpY2tDdXN0b219IGlzIG5vdCBkZWZpbmVkYFxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjb25zdCBuZXdfaXRlbSA9IHtcbiAgICAgICAgICAgICAgICAgICAgaWQ6IGl0ZW0uaWQsXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IGl0ZW0ubGFiZWwsXG4gICAgICAgICAgICAgICAgICAgIHRvb2x0aXBUZXh0OiBpdGVtLnRvb2x0aXBUZXh0LFxuICAgICAgICAgICAgICAgICAgICBzZWxlY3RvcjogJycsXG4gICAgICAgICAgICAgICAgICAgIG9uQ2xpY2tGdW5jdGlvbjogb25DbGlja0Z1bmN0aW9uLFxuICAgICAgICAgICAgICAgICAgICBjb3JlQXNXZWxsOiBmYWxzZSxcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoaXRlbSwgJ2F2YWlsYWJsZU9uJykpIHtcbiAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCBzZWxlY3RvciBvZiBpdGVtLmF2YWlsYWJsZU9uKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoc2VsZWN0b3IgPT09ICdlZGdlJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChuZXdfaXRlbS5zZWxlY3Rvci5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld19pdGVtLnNlbGVjdG9yID0gbmV3X2l0ZW0uc2VsZWN0b3IgKyAnLCAnO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXdfaXRlbS5zZWxlY3RvciA9IG5ld19pdGVtLnNlbGVjdG9yICsgJ2VkZ2UnO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChzZWxlY3RvciA9PT0gJ25vZGUnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG5ld19pdGVtLnNlbGVjdG9yLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3X2l0ZW0uc2VsZWN0b3IgPSBuZXdfaXRlbS5zZWxlY3RvciArICcsICc7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld19pdGVtLnNlbGVjdG9yID0gbmV3X2l0ZW0uc2VsZWN0b3IgKyAnbm9kZSc7XG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHNlbGVjdG9yID09PSAnY2FudmFzJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld19pdGVtLmNvcmVBc1dlbGwgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgRXJyb3I6IHNlbGVjdG9yICR7c2VsZWN0b3J9IGlzIG5vdCBhdmFpbGFibGUuIENob29zZSBvbmUgb2YgJ25vZGUnLCAnZWRnZScgb3IgJ2NhbnZhcycuYFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgbmV3TWVudUl0ZW1zLnB1c2gobmV3X2l0ZW0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIG5ld01lbnVJdGVtcztcbiAgICAgICAgfTtcblxuICAgICAgICB0aGlzLmN5UmVzcG9uc2l2ZUNsYXNzID0gbmV3IEN5UmVzcG9uc2l2ZShjeSk7XG4gICAgICAgIHRoaXMuY3lSZXNwb25zaXZlQ2xhc3MudG9nZ2xlKHRoaXMucHJvcHMucmVzcG9uc2l2ZSk7XG5cbiAgICAgICAgc2V0RXh0ZW50KGN5LmV4dGVudCgpKTtcbiAgICB9XG5cbiAgICBoYW5kbGVJbWFnZUdlbmVyYXRpb24oaW1hZ2VUeXBlLCBpbWFnZU9wdGlvbnMsIGFjdGlvbnNUb1BlcmZvcm0sIGZpbGVOYW1lKSB7XG4gICAgICAgIGxldCBvcHRpb25zID0ge307XG4gICAgICAgIGlmIChpbWFnZU9wdGlvbnMpIHtcbiAgICAgICAgICAgIG9wdGlvbnMgPSBpbWFnZU9wdGlvbnM7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgZGVzaXJlZE91dHB1dCA9IG9wdGlvbnMub3V0cHV0O1xuICAgICAgICBvcHRpb25zLm91dHB1dCA9ICdibG9iJztcblxuICAgICAgICBsZXQgZG93bmxvYWRJbWFnZTtcbiAgICAgICAgbGV0IHN0b3JlSW1hZ2U7XG4gICAgICAgIHN3aXRjaCAoYWN0aW9uc1RvUGVyZm9ybSkge1xuICAgICAgICAgICAgY2FzZSAnc3RvcmUnOlxuICAgICAgICAgICAgICAgIGRvd25sb2FkSW1hZ2UgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICBzdG9yZUltYWdlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ2Rvd25sb2FkJzpcbiAgICAgICAgICAgICAgICBkb3dubG9hZEltYWdlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBzdG9yZUltYWdlID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdib3RoJzpcbiAgICAgICAgICAgICAgICBkb3dubG9hZEltYWdlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBzdG9yZUltYWdlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgZG93bmxvYWRJbWFnZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHN0b3JlSW1hZ2UgPSB0cnVlO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IG91dHB1dDtcbiAgICAgICAgaWYgKGltYWdlVHlwZSA9PT0gJ3BuZycpIHtcbiAgICAgICAgICAgIG91dHB1dCA9IHRoaXMuX2N5LnBuZyhvcHRpb25zKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaW1hZ2VUeXBlID09PSAnanBnJyB8fCBpbWFnZVR5cGUgPT09ICdqcGVnJykge1xuICAgICAgICAgICAgb3V0cHV0ID0gdGhpcy5fY3kuanBnKG9wdGlvbnMpO1xuICAgICAgICB9XG4gICAgICAgIC8vIG9ubHkgd29ya3Mgd2hlbiBzdmcgaXMgaW1wb3J0ZWQgKHNlZSBsaWIvZXh0cmFfaW5kZXguanMpXG4gICAgICAgIGlmIChpbWFnZVR5cGUgPT09ICdzdmcnKSB7XG4gICAgICAgICAgICBvdXRwdXQgPSB0aGlzLl9jeS5zdmcob3B0aW9ucyk7XG4gICAgICAgIH1cblxuICAgICAgICAvKlxuICAgICAgICAgKiBJZiBvdXRwdXQgaXMgZW1wdHkgYmVjYXVzZSBvZiBiYWQgb3B0aW9ucyBvciBhIGN5dG9zY2FwZSBlcnJvcixcbiAgICAgICAgICogc2tpcCBhbnkgZG93bmxvYWQgb3Igc3RvcmFnZSBzdGVwcy5cbiAgICAgICAgICovXG4gICAgICAgIGlmIChvdXRwdXQgJiYgZG93bmxvYWRJbWFnZSkge1xuICAgICAgICAgICAgLypcbiAgICAgICAgICAgICAqIERvd25sb2FkaW5nIGlzIGluaXRpYXRlZCBjbGllbnQtc2lkZSBiZWNhdXNlIHRoZSBpbWFnZSBpcyBnZW5lcmF0ZWQgYXRcbiAgICAgICAgICAgICAqIHRoZSBjbGllbnQuIFRoaXMgYXZvaWRzIHRyYW5zZmVycmluZyBhIHBvdGVudGlhbGx5IGxhcmdlIGltYWdlXG4gICAgICAgICAgICAgKiB0byB0aGUgc2VydmVyIGFuZCBiYWNrIGFnYWluIHRocm91Z2ggYSBjYWxsYmFjay5cbiAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgbGV0IGZOYW1lID0gZmlsZU5hbWU7XG4gICAgICAgICAgICBpZiAoIWZpbGVOYW1lKSB7XG4gICAgICAgICAgICAgICAgZk5hbWUgPSAnY3l0byc7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChpbWFnZVR5cGUgIT09ICdzdmcnKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5kb3dubG9hZEJsb2Iob3V0cHV0LCBmTmFtZSArICcuJyArIGltYWdlVHlwZSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnN0IGJsb2IgPSBuZXcgQmxvYihbb3V0cHV0XSwge1xuICAgICAgICAgICAgICAgICAgICB0eXBlOiAnaW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04JyxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB0aGlzLmRvd25sb2FkQmxvYihibG9iLCBmTmFtZSArICcuJyArIGltYWdlVHlwZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAob3V0cHV0ICYmIHN0b3JlSW1hZ2UpIHtcbiAgICAgICAgICAgIC8vIERlZmF1bHQgb3V0cHV0IHR5cGUgaWYgdW5zcGVjaWZpZWRcbiAgICAgICAgICAgIGlmICghZGVzaXJlZE91dHB1dCkge1xuICAgICAgICAgICAgICAgIGRlc2lyZWRPdXRwdXQgPSAnYmFzZTY0dXJpJztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICEoZGVzaXJlZE91dHB1dCA9PT0gJ2Jhc2U2NHVyaScgfHwgZGVzaXJlZE91dHB1dCA9PT0gJ2Jhc2U2NCcpXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8qXG4gICAgICAgICAgICAgKiBDb252ZXJ0IGJsb2IgdG8gYmFzZTY0dXJpIG9yIGJhc2U2NCBzdHJpbmcgdG8gc3RvcmUgdGhlIGltYWdlIGRhdGEuXG4gICAgICAgICAgICAgKiBUaGFuayB5b3UsIGJhc2U2NGd1cnUgaHR0cHM6Ly9iYXNlNjQuZ3VydS9kZXZlbG9wZXJzL2phdmFzY3JpcHQvZXhhbXBsZXMvZW5jb2RlLWJsb2JcbiAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgY29uc3QgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcbiAgICAgICAgICAgIHJlYWRlci5vbmxvYWQgPSAoKSA9PiB7XG4gICAgICAgICAgICAgICAgLyogRmlsZVJlYWRlciBpcyBhc3luY2hyb25vdXMsIHNvIHRoZSByZWFkIGZ1bmN0aW9uIGlzIG5vbi1ibG9ja2luZy5cbiAgICAgICAgICAgICAgICAgKiBJZiB0aGlzIGNvZGUgYmxvY2sgaXMgcGxhY2VkIGFmdGVyIHRoZSByZWFkIGNvbW1hbmQsIGl0XG4gICAgICAgICAgICAgICAgICogbWF5IHJlc3VsdCBpbiBlbXB0eSBvdXRwdXQgYmVjYXVzZSB0aGUgYmxvYiBoYXMgbm90IGJlZW4gbG9hZGVkIHlldC5cbiAgICAgICAgICAgICAgICAgKi9cbiAgICAgICAgICAgICAgICBsZXQgY2FsbGJhY2tEYXRhID0gcmVhZGVyLnJlc3VsdDtcbiAgICAgICAgICAgICAgICBpZiAoZGVzaXJlZE91dHB1dCA9PT0gJ2Jhc2U2NCcpIHtcbiAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2tEYXRhID0gY2FsbGJhY2tEYXRhLnJlcGxhY2UoL15kYXRhOi4rO2Jhc2U2NCwvLCAnJyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMucHJvcHMuc2V0UHJvcHMoe2ltYWdlRGF0YTogY2FsbGJhY2tEYXRhfSk7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgcmVhZGVyLnJlYWRBc0RhdGFVUkwob3V0cHV0KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGRvd25sb2FkQmxvYihibG9iLCBmaWxlTmFtZSkge1xuICAgICAgICAvKlxuICAgICAgICAgKiBEb3dubG9hZCBibG9iIGFzIGZpbGUgYnkgZHluYW1pY2FsbHkgY3JlYXRpbmcgbGluay5cbiAgICAgICAgICogQ2hyb21lIGRvZXMgbm90IG9wZW4gZGF0YSBVUkxzIHdoZW4gSlMgb3BlbnMgYSBuZXcgdGFiIGRpcmVjdGVkXG4gICAgICAgICAqIGF0IHRoZSBkYXRhIFVSTCwgc28gdGhpcyBpcyBhbiBhbHRlcm5hdGUgaW1wbGVtZW50YXRpb25cbiAgICAgICAgICogdGhhdCBkb2Vzbid0IHJlcXVpcmUgZXh0cmEgcGFja2FnZXMuIEl0IG1heSBub3QgYmVoYXZlIGluXG4gICAgICAgICAqIGV4YWN0bHkgdGhlIHNhbWUgd2F5IGFjcm9zcyBicm93c2VycyAobWlnaHQgZGlzcGxheSBpbWFnZSBpbiBuZXcgdGFiXG4gICAgICAgICAqIGludGVhZCBvZiBkb3dubG9hZGluZyBhcyBhIGZpbGUpLlxuICAgICAgICAgKiBUaGFuayB5b3UsIGtvbGRldiBodHRwczovL2pzZmlkZGxlLm5ldC9rb2xkZXYvY1c3VzUvXG4gICAgICAgICAqL1xuICAgICAgICBjb25zdCBkb3dubG9hZExpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XG4gICAgICAgIGRvd25sb2FkTGluay5zdHlsZSA9ICdkaXNwbGF5OiBub25lJztcbiAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkb3dubG9hZExpbmspO1xuXG4gICAgICAgIGNvbnN0IHVybCA9IHdpbmRvdy5VUkwuY3JlYXRlT2JqZWN0VVJMKGJsb2IpO1xuICAgICAgICBkb3dubG9hZExpbmsuaHJlZiA9IHVybDtcbiAgICAgICAgZG93bmxvYWRMaW5rLmRvd25sb2FkID0gZmlsZU5hbWU7XG4gICAgICAgIGRvd25sb2FkTGluay5jbGljaygpO1xuICAgICAgICB3aW5kb3cuVVJMLnJldm9rZU9iamVjdFVSTCh1cmwpO1xuXG4gICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoZG93bmxvYWRMaW5rKTtcbiAgICB9XG5cbiAgICB1cGRhdGVDb250ZXh0TWVudShjb250ZXh0TWVudSkge1xuICAgICAgICB0aGlzLl9jeS5jb250ZXh0TWVudXMoe1xuICAgICAgICAgICAgbWVudUl0ZW1zOiB0aGlzLmNyZWF0ZU1lbnVJdGVtcyhjb250ZXh0TWVudSksXG4gICAgICAgICAgICBtZW51SXRlbUNsYXNzZXM6IFsnY3VzdG9tLW1lbnUtaXRlbSddLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvLyBSZXR1cm5zIHRydWUgaWYgdGhlcmUgaXMgbm8gb3ZlcmxhcCBiZXR3ZWVuIHRoZSBlbGVtZW50IGJvdW5kaW5nIGJveFxuICAgIC8vIGFuZCB0aGUgcmVuZGVyZWQgYXJlYSBvZiB0aGUgZ3JhcGgsIG1lYW5pbmcgdGhlIGdyYXBoIGlzIGVudGlyZWx5IG91dHNpZGUgdGhlIHZpZXdwb3J0O1xuICAgIC8vIHJldHVybnMgZmFsc2Ugb3RoZXJ3aXNlXG4gICAgZ3JhcGhPdXRPZlZpZXcoKSB7XG4gICAgICAgIGNvbnN0IGN5V2lkdGggPSB0aGlzLl9jeS53aWR0aCgpO1xuICAgICAgICBjb25zdCBjeUhlaWdodCA9IHRoaXMuX2N5LmhlaWdodCgpO1xuICAgICAgICBjb25zdCBlbEJveCA9IHRoaXMuX2N5LmVsZW1lbnRzKCkucmVuZGVyZWRCb3VuZGluZ2JveCgpO1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgZWxCb3gueDEgPiBjeVdpZHRoIHx8XG4gICAgICAgICAgICBlbEJveC55MSA+IGN5SGVpZ2h0IHx8XG4gICAgICAgICAgICBlbEJveC54MiA8IDAgfHxcbiAgICAgICAgICAgIGVsQm94LnkyIDwgMFxuICAgICAgICApO1xuICAgIH1cblxuICAgIGNvbXBvbmVudERpZFVwZGF0ZShwcmV2UHJvcHMpIHtcbiAgICAgICAgY29uc3Qge2NvbnRleHRNZW51LCBlbGVtZW50c30gPSB0aGlzLnByb3BzO1xuICAgICAgICBpZiAoIV8uaXNFcXVhbChwcmV2UHJvcHMuY29udGV4dE1lbnUsIGNvbnRleHRNZW51KSAmJiB0aGlzLl9jeSkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVDb250ZXh0TWVudShjb250ZXh0TWVudSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFfLmlzRXF1YWwocHJldlByb3BzLmVsZW1lbnRzLCBlbGVtZW50cykgJiYgdGhpcy5fY3kpIHtcbiAgICAgICAgICAgIC8vIElmIGVsZW1lbnRzIHdlcmUgdXBkYXRlZCwgYW5kIHRoZSBuZXcgZ3JhcGggaXMgKmVudGlyZWx5KiBvdXRzaWRlIHRoZSB2aWV3cG9ydCxcbiAgICAgICAgICAgIC8vIGZpdCB0aGUgdmlld3BvcnQgdG8gdGhlIG5ldyBlbGVtZW50c1xuICAgICAgICAgICAgaWYgKHRoaXMuZ3JhcGhPdXRPZlZpZXcoKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuX2N5LmZpdCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgICAgICBjb25zdCB7Y29udGV4dE1lbnV9ID0gdGhpcy5wcm9wcztcbiAgICAgICAgaWYgKHRoaXMuX2N5ICYmIGNvbnRleHRNZW51Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlQ29udGV4dE1lbnUoY29udGV4dE1lbnUpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJlbmRlcigpIHtcbiAgICAgICAgY29uc3Qge1xuICAgICAgICAgICAgLy8gSFRNTCBhdHRyaWJ1dGUgcHJvcHNcbiAgICAgICAgICAgIGlkLFxuICAgICAgICAgICAgc3R5bGUsXG4gICAgICAgICAgICBjbGFzc05hbWUsXG4gICAgICAgICAgICAvLyBDb21tb24gcHJvcHNcbiAgICAgICAgICAgIGVsZW1lbnRzLFxuICAgICAgICAgICAgc3R5bGVzaGVldCxcbiAgICAgICAgICAgIGxheW91dCxcbiAgICAgICAgICAgIGNvbnRleHRNZW51LFxuICAgICAgICAgICAgY29udGV4dE1lbnVEYXRhLFxuICAgICAgICAgICAgLy8gVmlld3BvcnQgTWFuaXB1bGF0aW9uXG4gICAgICAgICAgICBwYW4sXG4gICAgICAgICAgICB6b29tLFxuICAgICAgICAgICAgLy8gVmlld3BvcnQgTXV0YWJpbGl0eSBhbmQgZ2VzdHVyZSBUb2dnbGluZ1xuICAgICAgICAgICAgcGFubmluZ0VuYWJsZWQsXG4gICAgICAgICAgICB1c2VyUGFubmluZ0VuYWJsZWQsXG4gICAgICAgICAgICBtaW5ab29tLFxuICAgICAgICAgICAgbWF4Wm9vbSxcbiAgICAgICAgICAgIHpvb21pbmdFbmFibGVkLFxuICAgICAgICAgICAgdXNlclpvb21pbmdFbmFibGVkLFxuICAgICAgICAgICAgd2hlZWxTZW5zaXRpdml0eSxcbiAgICAgICAgICAgIGJveFNlbGVjdGlvbkVuYWJsZWQsXG4gICAgICAgICAgICBhdXRvdW5ncmFiaWZ5LFxuICAgICAgICAgICAgYXV0b2xvY2ssXG4gICAgICAgICAgICBhdXRvdW5zZWxlY3RpZnksXG4gICAgICAgICAgICAvLyBJbWFnZSBoYW5kbGluZ1xuICAgICAgICAgICAgZ2VuZXJhdGVJbWFnZSxcbiAgICAgICAgICAgIC8vIFJlc3BvbnNpdmUgZ3JhcGhzXG4gICAgICAgICAgICByZXNwb25zaXZlLFxuICAgICAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgICAgICBpZiAoT2JqZWN0LmtleXMoZ2VuZXJhdGVJbWFnZSkubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgLy8gSWYgbm8gY3l0b3NjYXBlIG9iamVjdCBoYXMgYmVlbiBjcmVhdGVkIHlldCwgYW4gaW1hZ2UgY2Fubm90IGJlIGdlbmVyYXRlZCxcbiAgICAgICAgICAgIC8vIHNvIGdlbmVyYXRlSW1hZ2Ugd2lsbCBiZSBpZ25vcmVkIGFuZCBjbGVhcmVkLlxuICAgICAgICAgICAgdGhpcy5wcm9wcy5zZXRQcm9wcyh7Z2VuZXJhdGVJbWFnZToge319KTtcbiAgICAgICAgICAgIGlmICh0aGlzLl9jeSkge1xuICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlSW1hZ2VHZW5lcmF0aW9uKFxuICAgICAgICAgICAgICAgICAgICBnZW5lcmF0ZUltYWdlLnR5cGUsXG4gICAgICAgICAgICAgICAgICAgIGdlbmVyYXRlSW1hZ2Uub3B0aW9ucyxcbiAgICAgICAgICAgICAgICAgICAgZ2VuZXJhdGVJbWFnZS5hY3Rpb24sXG4gICAgICAgICAgICAgICAgICAgIGdlbmVyYXRlSW1hZ2UuZmlsZW5hbWVcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuY3lSZXNwb25zaXZlQ2xhc3MpIHtcbiAgICAgICAgICAgIHRoaXMuY3lSZXNwb25zaXZlQ2xhc3MudG9nZ2xlKHJlc3BvbnNpdmUpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDxDeXRvc2NhcGVDb21wb25lbnRcbiAgICAgICAgICAgICAgICBpZD17aWR9XG4gICAgICAgICAgICAgICAgY3k9e3RoaXMuaGFuZGxlQ3l9XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWV9XG4gICAgICAgICAgICAgICAgc3R5bGU9e3N0eWxlfVxuICAgICAgICAgICAgICAgIGVsZW1lbnRzPXtDeXRvc2NhcGVDb21wb25lbnQubm9ybWFsaXplRWxlbWVudHMoZWxlbWVudHMpfVxuICAgICAgICAgICAgICAgIHN0eWxlc2hlZXQ9e3N0eWxlc2hlZXR9XG4gICAgICAgICAgICAgICAgbGF5b3V0PXtsYXlvdXR9XG4gICAgICAgICAgICAgICAgY29udGV4dE1lbnU9e2NvbnRleHRNZW51fVxuICAgICAgICAgICAgICAgIGNvbnRleHRNZW51RGF0YT17Y29udGV4dE1lbnVEYXRhfVxuICAgICAgICAgICAgICAgIHBhbj17cGFufVxuICAgICAgICAgICAgICAgIHpvb209e3pvb219XG4gICAgICAgICAgICAgICAgcGFubmluZ0VuYWJsZWQ9e3Bhbm5pbmdFbmFibGVkfVxuICAgICAgICAgICAgICAgIHVzZXJQYW5uaW5nRW5hYmxlZD17dXNlclBhbm5pbmdFbmFibGVkfVxuICAgICAgICAgICAgICAgIG1pblpvb209e21pblpvb219XG4gICAgICAgICAgICAgICAgbWF4Wm9vbT17bWF4Wm9vbX1cbiAgICAgICAgICAgICAgICB6b29taW5nRW5hYmxlZD17em9vbWluZ0VuYWJsZWR9XG4gICAgICAgICAgICAgICAgdXNlclpvb21pbmdFbmFibGVkPXt1c2VyWm9vbWluZ0VuYWJsZWR9XG4gICAgICAgICAgICAgICAgd2hlZWxTZW5zaXRpdml0eT17d2hlZWxTZW5zaXRpdml0eX1cbiAgICAgICAgICAgICAgICBib3hTZWxlY3Rpb25FbmFibGVkPXtib3hTZWxlY3Rpb25FbmFibGVkfVxuICAgICAgICAgICAgICAgIGF1dG91bmdyYWJpZnk9e2F1dG91bmdyYWJpZnl9XG4gICAgICAgICAgICAgICAgYXV0b2xvY2s9e2F1dG9sb2NrfVxuICAgICAgICAgICAgICAgIGF1dG91bnNlbGVjdGlmeT17YXV0b3Vuc2VsZWN0aWZ5fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgKTtcbiAgICB9XG59XG5cbkN5dG9zY2FwZS5wcm9wVHlwZXMgPSB7XG4gICAgLy8gSFRNTCBhdHRyaWJ1dGUgcHJvcHNcblxuICAgIC8qKlxuICAgICAqIFRoZSBJRCB1c2VkIHRvIGlkZW50aWZ5IHRoaXMgY29tcG9uZW50IGluIERhc2ggY2FsbGJhY2tzLlxuICAgICAqL1xuICAgIGlkOiBQcm9wVHlwZXMuc3RyaW5nLFxuXG4gICAgLyoqXG4gICAgICogU2V0cyB0aGUgY2xhc3MgbmFtZSBvZiB0aGUgZWxlbWVudCAodGhlIHZhbHVlIG9mIGFuIGVsZW1lbnQncyBodG1sXG4gICAgICogY2xhc3MgYXR0cmlidXRlKS5cbiAgICAgKi9cbiAgICBjbGFzc05hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG5cbiAgICAvKipcbiAgICAgKiBBZGQgaW5saW5lIHN0eWxlcyB0byB0aGUgcm9vdCBlbGVtZW50LlxuICAgICAqL1xuICAgIHN0eWxlOiBQcm9wVHlwZXMub2JqZWN0LFxuXG4gICAgLy8gRGFzaCBzcGVjaWZpYyBwcm9wc1xuXG4gICAgLyoqXG4gICAgICogRGFzaC1hc3NpZ25lZCBjYWxsYmFjayB0aGF0IHNob3VsZCBiZSBjYWxsZWQgd2hlbmV2ZXIgYW55IG9mIHRoZVxuICAgICAqIHByb3BlcnRpZXMgY2hhbmdlLlxuICAgICAqL1xuICAgIHNldFByb3BzOiBQcm9wVHlwZXMuZnVuYyxcblxuICAgIC8vIENvbW1vbiBwcm9wc1xuXG4gICAgLyoqXG4gICAgICogQSBsaXN0IG9mIGRpY3Rpb25hcmllcyByZXByZXNlbnRpbmcgdGhlIGVsZW1lbnRzIG9mIHRoZSBuZXR3b3Jrcy4gRWFjaCBkaWN0aW9uYXJ5IGRlc2NyaWJlcyBhbiBlbGVtZW50LCBhbmRcbiAgICAgKiBzcGVjaWZpZXMgaXRzIHB1cnBvc2UuIFRoZSBbb2ZmaWNpYWwgQ3l0b3NjYXBlLmpzIGRvY3VtZW50YXRpb25dKGh0dHBzOi8vanMuY3l0b3NjYXBlLm9yZy8jbm90YXRpb24vZWxlbWVudHMtanNvbilcbiAgICAgKiBvZmZlcnMgYW4gZXh0ZW5zaXZlIG92ZXJ2aWV3IGFuZCBleGFtcGxlcyBvZiBlbGVtZW50IGRlY2xhcmF0aW9uLlxuICAgICAqIEFsdGVybmF0aXZlbHksIGEgZGljdGlvbmFyeSB3aXRoIHRoZSBmb3JtYXQgeyAnbm9kZXMnOiBbXSwgJ2VkZ2VzJzogW10gfSBpcyBhbGxvd2VkIGF0IGluaXRpYWxpemF0aW9uLFxuICAgICAqIGJ1dCBhcnJheXMgcmVtYWluIHRoZSByZWNvbW1lbmRlZCBmb3JtYXQuXG4gICAgICovXG4gICAgZWxlbWVudHM6IFByb3BUeXBlcy5vbmVPZlR5cGUoW1xuICAgICAgICBQcm9wVHlwZXMuYXJyYXlPZihcbiAgICAgICAgICAgIFByb3BUeXBlcy5zaGFwZSh7XG4gICAgICAgICAgICAgICAgLyoqXG4gICAgICAgICAgICAgICAgICogRWl0aGVyICdub2Rlcycgb3IgJ2VkZ2VzJy4gSWYgbm90IGdpdmVuLCBpdCdzIGF1dG9tYXRpY2FsbHkgaW5mZXJyZWQuXG4gICAgICAgICAgICAgICAgICovXG4gICAgICAgICAgICAgICAgZ3JvdXA6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICAgICAgICAgICAgLyoqIEVsZW1lbnQgc3BlY2lmaWMgZGF0YS4qL1xuICAgICAgICAgICAgICAgIGRhdGE6IFByb3BUeXBlcy5zaGFwZSh7XG4gICAgICAgICAgICAgICAgICAgIC8qKiAgUmVmZXJlbmNlIHRvIHRoZSBlbGVtZW50LCB1c2VmdWwgZm9yIHNlbGVjdG9ycyBhbmQgZWRnZXMuIFJhbmRvbWx5IGFzc2lnbmVkIGlmIG5vdCBnaXZlbi4qL1xuICAgICAgICAgICAgICAgICAgICBpZDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgICAgICAgICAgICAgICAgLyoqXG4gICAgICAgICAgICAgICAgICAgICAqIE9wdGlvbmFsIG5hbWUgZm9yIHRoZSBlbGVtZW50LCB1c2VmdWwgd2hlbiBgZGF0YShsYWJlbClgIGlzIGdpdmVuIHRvIGEgc3R5bGUncyBgY29udGVudGBcbiAgICAgICAgICAgICAgICAgICAgICogb3IgYGxhYmVsYC4gSXQgaXMgb25seSBhIGNvbnZlbnRpb24uICovXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICAgICAgICAgICAgICAvKiogT25seSBmb3Igbm9kZXMuIE9wdGlvbmFsIHJlZmVyZW5jZSB0byBhbm90aGVyIG5vZGUuIE5lZWRlZCB0byBjcmVhdGUgY29tcG91bmQgbm9kZXMuICovXG4gICAgICAgICAgICAgICAgICAgIHBhcmVudDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgICAgICAgICAgICAgICAgLyoqIE9ubHkgZm9yIGVkZ2VzLiBUaGUgaWQgb2YgdGhlIHNvdXJjZSBub2RlLCB3aGljaCBpcyB3aGVyZSB0aGUgZWRnZSBzdGFydHMuICovXG4gICAgICAgICAgICAgICAgICAgIHNvdXJjZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgICAgICAgICAgICAgICAgLyoqIE9ubHkgZm9yIGVkZ2VzLiBUaGUgaWQgb2YgdGhlIHRhcmdldCBub2RlLCB3aGVyZSB0aGUgZWRnZSBlbmRzLiAqL1xuICAgICAgICAgICAgICAgICAgICB0YXJnZXQ6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgLyoqIE9ubHkgZm9yIG5vZGVzLiBUaGUgcG9zaXRpb24gb2YgdGhlIG5vZGUuICovXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IFByb3BUeXBlcy5zaGFwZSh7XG4gICAgICAgICAgICAgICAgICAgIC8qKiBUaGUgeC1jb29yZGluYXRlIG9mIHRoZSBub2RlLiAqL1xuICAgICAgICAgICAgICAgICAgICB4OiBQcm9wVHlwZXMubnVtYmVyLFxuICAgICAgICAgICAgICAgICAgICAvKiogVGhlIHktY29vcmRpbmF0ZSBvZiB0aGUgbm9kZS4gKi9cbiAgICAgICAgICAgICAgICAgICAgeTogUHJvcFR5cGVzLm51bWJlcixcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAvKiogSWYgdGhlIGVsZW1lbnQgaXMgc2VsZWN0ZWQgdXBvbiBpbml0aWFsaXNhdGlvbi4gKi9cbiAgICAgICAgICAgICAgICBzZWxlY3RlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgICAgICAgICAgICAgLyoqIElmIHRoZSBlbGVtZW50IGNhbiBiZSBzZWxlY3RlZC4gKi9cbiAgICAgICAgICAgICAgICBzZWxlY3RhYmxlOiBQcm9wVHlwZXMuYm9vbCxcbiAgICAgICAgICAgICAgICAvKiogT25seSBmb3Igbm9kZXMuIElmIHRoZSBwb3NpdGlvbiBpcyBpbW11dGFibGUuICovXG4gICAgICAgICAgICAgICAgbG9ja2VkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICAgICAgICAgICAgICAvKiogT25seSBmb3Igbm9kZXMuIElmIHRoZSBub2RlIGNhbiBiZSBncmFiYmVkIGFuZCBtb3ZlZCBieSB0aGUgdXNlci4gKi9cbiAgICAgICAgICAgICAgICBncmFiYmFibGU6IFByb3BUeXBlcy5ib29sLFxuICAgICAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICAgICAqIFNwYWNlIHNlcGFyYXRlZCBzdHJpbmcgb2YgY2xhc3MgbmFtZXMgb2YgdGhlIGVsZW1lbnQuIFRob3NlIGNsYXNzZXMgY2FuIGJlIHNlbGVjdGVkXG4gICAgICAgICAgICAgICAgICogYnkgYSBzdHlsZSBzZWxlY3Rvci5cbiAgICAgICAgICAgICAgICAgKi9cbiAgICAgICAgICAgICAgICBjbGFzc2VzOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgKSxcbiAgICAgICAgUHJvcFR5cGVzLmV4YWN0KHtcbiAgICAgICAgICAgIG5vZGVzOiBQcm9wVHlwZXMuYXJyYXksXG4gICAgICAgICAgICBlZGdlczogUHJvcFR5cGVzLmFycmF5LFxuICAgICAgICB9KSxcbiAgICBdKSxcblxuICAgIC8qKlxuICAgICAqIEEgbGlzdCBvZiBkaWN0aW9uYXJpZXMgcmVwcmVzZW50aW5nIHRoZSBzdHlsZXMgb2YgdGhlIGVsZW1lbnRzLlxuICAgICAqIEVhY2ggZGljdGlvbmFyeSByZXF1aXJlcyB0aGUgZm9sbG93aW5nIGtleXM6IGBzZWxlY3RvcmAgYW5kIGBzdHlsZWAuXG4gICAgICpcbiAgICAgKiBCb3RoIHRoZSBbc2VsZWN0b3JdKGh0dHBzOi8vanMuY3l0b3NjYXBlLm9yZy8jc2VsZWN0b3JzKSBhbmRcbiAgICAgKiB0aGUgW3N0eWxlXShodHRwczovL2pzLmN5dG9zY2FwZS5vcmcvI3N0eWxlL25vZGUtYm9keSkgYXJlXG4gICAgICogZXhoYXVzdGl2ZWx5IGRvY3VtZW50ZWQgaW4gdGhlIEN5dG9zY2FwZS5qcyBkb2NzLiBBbHRob3VnaCBtZXRob2RzIHN1Y2hcbiAgICAgKiBhcyBgY3kuZWxlbWVudHMoLi4uKWAgYW5kIGBjeS5maWx0ZXIoLi4uKWAgYXJlIG5vdCBhdmFpbGFibGUsIHRoZSBzZWxlY3RvclxuICAgICAqIHN0cmluZyBzeW50YXggc3RheXMgdGhlIHNhbWUuXG4gICAgICovXG4gICAgc3R5bGVzaGVldDogUHJvcFR5cGVzLmFycmF5T2YoXG4gICAgICAgIFByb3BUeXBlcy5leGFjdCh7XG4gICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAqIFdoaWNoIGVsZW1lbnRzIHlvdSBhcmUgc3R5bGluZy4gR2VuZXJhbGx5LCB5b3Ugc2VsZWN0IGEgZ3JvdXAgb2YgZWxlbWVudHMgKG5vZGUsIGVkZ2VzLCBib3RoKSxcbiAgICAgICAgICAgICAqIGEgY2xhc3MgKHRoYXQgeW91IGRlY2xhcmUgaW4gdGhlIGVsZW1lbnQgZGljdGlvbmFyeSksIG9yIGFuIGVsZW1lbnQgYnkgSUQuXG4gICAgICAgICAgICAgKi9cbiAgICAgICAgICAgIHNlbGVjdG9yOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAqIFdoYXQgYXNwZWN0cyBvZiB0aGUgZWxlbWVudHMgeW91IHdhbnQgdG8gbW9kaWZ5LiBUaGlzIGNvdWxkIGJlIHRoZSBzaXplIG9yXG4gICAgICAgICAgICAgKiBjb2xvciBvZiBhIG5vZGUsIHRoZSBzaGFwZSBvZiBhbiBlZGdlIGFycm93LCBvciBtYW55IG1vcmUuXG4gICAgICAgICAgICAgKi9cbiAgICAgICAgICAgIHN0eWxlOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWQsXG4gICAgICAgIH0pXG4gICAgKSxcblxuICAgIC8qKlxuICAgICAqIEEgZGljdGlvbmFyeSBzcGVjaWZ5aW5nIGhvdyB0byBzZXQgdGhlIHBvc2l0aW9uIG9mIHRoZSBlbGVtZW50cyBpbiB5b3VyXG4gICAgICogZ3JhcGguIFRoZSBgJ25hbWUnYCBrZXkgaXMgcmVxdWlyZWQsIGFuZCBpbmRpY2F0ZXMgd2hpY2ggbGF5b3V0IChhbGdvcml0aG0pIHRvXG4gICAgICogdXNlLiBUaGUga2V5cyBhY2NlcHRlZCBieSBgbGF5b3V0YCB2YXJ5IGRlcGVuZGluZyBvbiB0aGUgYWxnb3JpdGhtLCBidXQgdGhlc2VcbiAgICAgKiBrZXlzIGFyZSBhY2NlcHRlZCBieSBhbGwgbGF5b3V0czogYGZpdGAsICBgcGFkZGluZ2AsIGBhbmltYXRlYCwgYGFuaW1hdGlvbkR1cmF0aW9uYCxcbiAgICAgKiBgYm91bmRpbmdCb3hgLlxuICAgICAqXG4gICAgICogIFRoZSBjb21wbGV0ZSBsaXN0IG9mIGxheW91dHMgYW5kIHRoZWlyIGFjY2VwdGVkIG9wdGlvbnMgYXJlIGF2YWlsYWJsZSBvbiB0aGVcbiAgICAgKiAgW0N5dG9zY2FwZS5qcyBkb2NzXShodHRwczovL2pzLmN5dG9zY2FwZS5vcmcvI2xheW91dHMpIC4gRm9yIHRoZSBleHRlcm5hbCBsYXlvdXRzLFxuICAgICAqIHRoZSBvcHRpb25zIGFyZSBsaXN0ZWQgaW4gdGhlIFwiQVBJXCIgc2VjdGlvbiBvZiB0aGUgIFJFQURNRS5cbiAgICAgKiAgTm90ZSB0aGF0IGNlcnRhaW4ga2V5cyBhcmUgbm90IHN1cHBvcnRlZCBpbiBEYXNoIHNpbmNlIHRoZSB2YWx1ZSBpcyBhIEphdmFTY3JpcHRcbiAgICAgKiAgZnVuY3Rpb24gb3IgYSBjYWxsYmFjay4gUGxlYXNlIHZpc2l0IHRoaXNcbiAgICAgKiBbaXNzdWVdKGh0dHBzOi8vZ2l0aHViLmNvbS9wbG90bHkvZGFzaC1jeXRvc2NhcGUvaXNzdWVzLzI1KSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiAgICAgKi9cbiAgICBsYXlvdXQ6IFByb3BUeXBlcy5zaGFwZSh7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBUaGUgbGF5b3V0cyBhdmFpbGFibGUgYnkgZGVmYXVsdCBhcmU6XG4gICAgICAgICAqICAgYHJhbmRvbWA6IFJhbmRvbWx5IGFzc2lnbnMgcG9zaXRpb25zLlxuICAgICAgICAgKiAgIGBwcmVzZXRgOiBBc3NpZ25zIHBvc2l0aW9uIGJhc2VkIG9uIHRoZSBgcG9zaXRpb25gIGtleSBpbiBlbGVtZW50IGRpY3Rpb25hcmllcy5cbiAgICAgICAgICogICBgY2lyY2xlYDogU2luZ2xlLWxldmVsIGNpcmNsZSwgd2l0aCBvcHRpb25hbCByYWRpdXMuXG4gICAgICAgICAqICAgYGNvbmNlbnRyaWNgOiBNdWx0aS1sZXZlbCBjaXJjbGUsIHdpdGggb3B0aW9uYWwgcmFkaXVzLlxuICAgICAgICAgKiAgIGBncmlkYDogU3F1YXJlIGdyaWQsIG9wdGlvbmFsbHkgd2l0aCBudW1iZXJzIG9mIGByb3dzYCBhbmQgYGNvbHNgLlxuICAgICAgICAgKiAgIGBicmVhZHRoZmlyc3RgOiBUcmVlIHN0cnVjdHVyZSBidWlsdCB1c2luZyBCRlMsIHdpdGggb3B0aW9uYWwgYHJvb3RzYC5cbiAgICAgICAgICogICBgY29zZWA6IEZvcmNlLWRpcmVjdGVkIHBoeXNpY3Mgc2ltdWxhdGlvbi5cbiAgICAgICAgICpcbiAgICAgICAgICogU29tZSBleHRlcm5hbCBsYXlvdXRzIGFyZSBhbHNvIGluY2x1ZGVkLiBUbyB1c2UgdGhlbSwgcnVuXG4gICAgICAgICAqICAgYGRhc2hfY3l0b3NjYXBlLmxvYWRfZXh0cmFfbGF5b3V0cygpYCBiZWZvcmUgY3JlYXRpbmcgeW91ciBEYXNoIGFwcC4gQmUgY2FyZWZ1bCBhYm91dFxuICAgICAgICAgKiAgIHVzaW5nIHRoZSBleHRyYSBsYXlvdXRzIHdoZW4gbm90IG5lY2Vzc2FyeSwgc2luY2UgdGhleSByZXF1aXJlIHN1cHBsZW1lbnRhcnkgYmFuZHdpZHRoXG4gICAgICAgICAqICAgZm9yIGxvYWRpbmcsIHdoaWNoIGltcGFjdHMgdGhlIHN0YXJ0dXAgdGltZSBvZiB0aGUgYXBwLlxuICAgICAgICAgKiAgIFRoZSBleHRlcm5hbCBsYXlvdXRzIGFyZTpcbiAgICAgICAgICogICBbY29zZS1iaWxrZW50XShodHRwczovL2dpdGh1Yi5jb20vY3l0b3NjYXBlL2N5dG9zY2FwZS5qcy1jb3NlLWJpbGtlbnQpLFxuICAgICAgICAgKiAgIFtmY29zZV0oaHR0cHM6Ly9naXRodWIuY29tL2lWaXMtYXQtQmlsa2VudC9jeXRvc2NhcGUuanMtZmNvc2UpLFxuICAgICAgICAgKiAgIFtjb2xhXShodHRwczovL2dpdGh1Yi5jb20vY3l0b3NjYXBlL2N5dG9zY2FwZS5qcy1jb2xhKSxcbiAgICAgICAgICogICBbZXVsZXJdKGh0dHBzOi8vZ2l0aHViLmNvbS9jeXRvc2NhcGUvY3l0b3NjYXBlLmpzLWRhZ3JlKSxcbiAgICAgICAgICogICBbc3ByZWFkXShodHRwczovL2dpdGh1Yi5jb20vY3l0b3NjYXBlL2N5dG9zY2FwZS5qcy1zcHJlYWQpLFxuICAgICAgICAgKiAgIFtkYWdyZV0oaHR0cHM6Ly9naXRodWIuY29tL2N5dG9zY2FwZS9jeXRvc2NhcGUuanMtZGFncmUpLFxuICAgICAgICAgKiAgIFtrbGF5XShodHRwczovL2dpdGh1Yi5jb20vY3l0b3NjYXBlL2N5dG9zY2FwZS5qcy1rbGF5KSxcbiAgICAgICAgICovXG4gICAgICAgIG5hbWU6IFByb3BUeXBlcy5vbmVPZihbXG4gICAgICAgICAgICAncmFuZG9tJyxcbiAgICAgICAgICAgICdwcmVzZXQnLFxuICAgICAgICAgICAgJ2NpcmNsZScsXG4gICAgICAgICAgICAnY29uY2VudHJpYycsXG4gICAgICAgICAgICAnZ3JpZCcsXG4gICAgICAgICAgICAnYnJlYWR0aGZpcnN0JyxcbiAgICAgICAgICAgICdjb3NlJyxcbiAgICAgICAgICAgICdjb3NlLWJpbGtlbnQnLFxuICAgICAgICAgICAgJ2Zjb3NlJyxcbiAgICAgICAgICAgICdjb2xhJyxcbiAgICAgICAgICAgICdldWxlcicsXG4gICAgICAgICAgICAnc3ByZWFkJyxcbiAgICAgICAgICAgICdkYWdyZScsXG4gICAgICAgICAgICAna2xheScsXG4gICAgICAgIF0pLmlzUmVxdWlyZWQsXG4gICAgICAgIC8qKiAgV2hldGhlciB0byByZW5kZXIgdGhlIG5vZGVzIGluIG9yZGVyIHRvIGZpdCB0aGUgY2FudmFzLiAqL1xuICAgICAgICBmaXQ6IFByb3BUeXBlcy5ib29sLFxuICAgICAgICAvKiogUGFkZGluZyBhcm91bmQgdGhlIHNpZGVzIG9mIHRoZSBjYW52YXMsIGlmIGZpdCBpcyBlbmFibGVkLiAqL1xuICAgICAgICBwYWRkaW5nOiBQcm9wVHlwZXMubnVtYmVyLFxuICAgICAgICAvKiogV2hldGhlciB0byBhbmltYXRlIGNoYW5nZSBpbiBwb3NpdGlvbiB3aGVuIHRoZSBsYXlvdXQgY2hhbmdlcy4gKi9cbiAgICAgICAgYW5pbWF0ZTogUHJvcFR5cGVzLmJvb2wsXG4gICAgICAgIC8qKiBEdXJhdGlvbiBvZiBhbmltYXRpb24gaW4gbWlsbGlzZWNvbmRzLCBpZiBlbmFibGVkLiAqL1xuICAgICAgICBhbmltYXRpb25EdXJhdGlvbjogUHJvcFR5cGVzLm51bWJlcixcbiAgICAgICAgLyoqXG4gICAgICAgICAqIEhvdyB0byBjb25zdHJhaW4gdGhlIGxheW91dCBpbiBhIHNwZWNpZmljIGFyZWEuIEtleXMgYWNjZXB0ZWQgYXJlIGVpdGhlclxuICAgICAgICAgKiBgeDEsIHkxLCB4MiwgeTJgIG9yIGB4MSwgeTEsIHcsIGhgLCBhbGwgb2Ygd2hpY2ggcmVjZWl2ZSBhIHBpeGVsIHZhbHVlLlxuICAgICAgICAgKi9cbiAgICAgICAgYm91bmRpbmdCb3g6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgfSksXG4gICAgLyoqXG4gICAgICogRGVmaW5lIGEgY3VzdG9tIGNvbnRleHQgbWVudS4gVGhlIGJlaGF2aW91ciBvZiBlYWNoIG1lbnUgaXRlbSBjYW4gYmUgZGVmaW5lZCBpbiAxIG9mIDMgd2F5cy5cbiAgICAgKiAxLiBCeSBwYXNzaW5nIGEgc3RyaW5nIHRvIG9uQ2xpY2sgdGhhdCByZWZlcnMgdG8gb25lIG9mIHRoZSBidWlsdC1pbiBKYXZhc2NyaXB0IGZ1bmN0aW9ucy5cbiAgICAgKiAyLiBCeSBwYXNzaW5nIGEgc3RyaW5nIHRvIG9uQ2xpY2tDdXN0b20gdGhhdCByZWZlcnMgdG8gb25lIG9mIHRoZSB1c2VyLWRlZmluZWQgZnVuY3Rpb25zIGluIGEgbmFtZXNwYWNlLlxuICAgICAqIDMuIEJ5IG9taXR0aW5nIGJvdGggb2YgdGhlc2UgcHJvcGVydGllczsgdGhpcyB3aWxsIHVwZGF0ZSB0aGUgY29udGV4dE1lbnVEYXRhIHByb3BlcnR5IGFuZCB0cmlnZ2VyIGEgRGFzaCBjYWxsYmFjay5cbiAgICAgKi9cbiAgICBjb250ZXh0TWVudTogUHJvcFR5cGVzLmFycmF5T2YoXG4gICAgICAgIFByb3BUeXBlcy5leGFjdCh7XG4gICAgICAgICAgICAvKiogSUQgb2YgdGhlIG1lbnUgaXRlbSBpbiB0aGUgY29udGV4dCBtZW51ICovXG4gICAgICAgICAgICBpZDogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICAgICAgICAgICAgLyoqIFRoZSBsYWJlbCBvbiB0aGUgY29udGV4dCBtZW51IGl0ZW0qL1xuICAgICAgICAgICAgbGFiZWw6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgICAgICAgICAgIC8qKiBUaGUgdG9vbHRpcCB0ZXh0IHdoZW4gaG92ZXJpbmcgb24gdG9wIG9mIGEgY29udGV4dCBtZW51IGl0ZW0gKi9cbiAgICAgICAgICAgIHRvb2x0aXBUZXh0OiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICAgICAgLyoqIEEgbGlzdCBjb250YWluaW5nIGVpdGhlciAnbm9kZScsICdlZGdlJyxhbmQvb3IgJ2NhbnZhcycuIFRoaXMgd2lsbCBkZXRlcm1pbmUgd2hlcmUgdGhlIGNvbnRleHRcbiAgICAgICAgICAgICAqICBtZW51IGl0ZW0gd2lsbCBzaG93IHVwLlxuICAgICAgICAgICAgICovXG4gICAgICAgICAgICBhdmFpbGFibGVPbjogUHJvcFR5cGVzLmFycmF5LFxuICAgICAgICAgICAgLyoqIFNwZWNpZnkgd2hpY2ggYnVpbHQtaW4gSmF2YVNjcmlwdCBmdW5jdGlvbiB0byB1c2UgYXMgYmVoYXZpb3VyIGZvciB0aGUgY29udGV4dFxuICAgICAgICAgICAgICogbWVudSBpdGVtLiBPbmUgb2YgJ3JlbW92ZScsICdhZGRfbm9kZScsIG9yICdhZGRfZWRnZSdcbiAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgb25DbGljazogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgICAgICAgIC8qKiBTcGVjaWZ5IHdoaWNoIHVzZXItZGVmaW5lZCBKYXZhc2NyaXB0IGZ1bmN0aW9uIHRvIHVzZSBpbiB0aGUgZGFzaEN5dG9zY2FwZUZ1bmN0aW9uc1xuICAgICAgICAgICAgICogbmFtZXNwYWNlIGFzIGJlaGF2aW91ciBmb3IgdGhlIGNvbnRleHQgbWVudSBpdGVtXG4gICAgICAgICAgICAgKi9cbiAgICAgICAgICAgIG9uQ2xpY2tDdXN0b206IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICAgIH0pXG4gICAgKSxcbiAgICAvKipcbiAgICAgKiBSZXRyaWV2ZSByZWxldmFudCBkYXRhIHdoZW4gYSBjb250ZXh0IG1lbnUgaXRlbSBpcyBjbGlja2VkLiAgUmVhZC1vbmx5LlxuICAgICAqL1xuICAgIGNvbnRleHRNZW51RGF0YTogUHJvcFR5cGVzLmV4YWN0KHtcbiAgICAgICAgLyoqIElEIG9mIHRoZSBtZW51IGl0ZW0gaW4gdGhlIGNvbnRleHQgbWVudSAqL1xuICAgICAgICBtZW51SXRlbUlkOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICAvKiogeC1wb3NpdGlvbiBvZiB0aGUgY29udGV4dCBjbGljayAqL1xuICAgICAgICB4OiBQcm9wVHlwZXMubnVtYmVyLFxuICAgICAgICAvKiogeS1wb3NpdGlvbiBvZiB0aGUgY29udGV4dCBjbGljayAqL1xuICAgICAgICB5OiBQcm9wVHlwZXMubnVtYmVyLFxuICAgICAgICAvKiogVGltZXN0YW1wIG9mIGNvbnRleHQgY2xpY2sqL1xuICAgICAgICB0aW1lU3RhbXA6IFByb3BUeXBlcy5udW1iZXIsXG4gICAgICAgIC8qKiBFbGVtZW50IElEIG9uIGNvbnRleHQgY2xpY2sgaWYgdGhlIGNvbnRleHQgY2xpY2sgd2FzIG9uIGFuIGVsZW1lbnQuXG4gICAgICAgICAqIElmIGNvbnRleHQgY2xpY2sgd2FzIG9uIHdoaXRlIHNwYWNlLCB0aGlzIHByb3BlcnR5IGlzIG5vdCByZXR1cm5lZFxuICAgICAgICAgKi9cbiAgICAgICAgZWxlbWVudElkOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICAvKiogTm9kZSBJRCBvZiB0aGUgZWRnZSBzb3VyY2UgaWYgdGhlIGNsaWNrZWQgZWxlbWVudCBpcyBhbiBlZGdlLFxuICAgICAgICAgKiBvciBlbHNlIHRoaXMgcHJvcGVydHkgaXMgbm90IHJldHVybmVkKi9cbiAgICAgICAgZWRnZVNvdXJjZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgICAgLyoqIE5vZGUgSUQgb2YgdGhlIGVkZ2UgdGFyZ2V0IGlmIHRoZSBjbGlja2VkIGVsZW1lbnQgaXMgYW4gZWRnZSxcbiAgICAgICAgICogb3IgZWxzZSB0aGlzIHByb3BlcnR5IGlzIG5vdCByZXR1cm5lZCovXG4gICAgICAgIGVkZ2VUYXJnZXQ6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgfSksXG4gICAgLy8gVmlld3BvcnQgTWFuaXB1bGF0aW9uXG5cbiAgICAvKipcbiAgICAgKiBEaWN0aW9uYXJ5IGluZGljYXRpbmcgdGhlIGluaXRpYWwgcGFubmluZyBwb3NpdGlvbiBvZiB0aGUgZ3JhcGguIFRoZVxuICAgICAqIGZvbGxvd2luZyBrZXlzIGFyZSBhY2NlcHRlZDpcbiAgICAgKi9cbiAgICBwYW46IFByb3BUeXBlcy5leGFjdCh7XG4gICAgICAgIC8qKiBUaGUgeC1jb29yZGluYXRlIG9mIHRoZSBub2RlICovXG4gICAgICAgIHg6IFByb3BUeXBlcy5udW1iZXIsXG4gICAgICAgIC8qKiBUaGUgeS1jb29yZGluYXRlIG9mIHRoZSBub2RlICAqL1xuICAgICAgICB5OiBQcm9wVHlwZXMubnVtYmVyLFxuICAgIH0pLFxuXG4gICAgLyoqXG4gICAgICogVGhlIGluaXRpYWwgem9vbSBsZXZlbCBvZiB0aGUgZ3JhcGguIFlvdSBjYW4gc2V0IGBtaW5ab29tYCBhbmRcbiAgICAgKiBgbWF4Wm9vbWAgdG8gc2V0IHJlc3RyaWN0aW9ucyBvbiB0aGUgem9vbSBsZXZlbC5cbiAgICAgKi9cbiAgICB6b29tOiBQcm9wVHlwZXMubnVtYmVyLFxuXG4gICAgLy8gVmlld3BvcnQgTXV0YWJpbGl0eSBhbmQgZ2VzdHVyZSBUb2dnbGluZ1xuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgcGFubmluZyB0aGUgZ3JhcGggaXMgZW5hYmxlZCAoaS5lLiwgdGhlIHBvc2l0aW9uIG9mIHRoZSBncmFwaCBpc1xuICAgICAqIG11dGFibGUgb3ZlcmFsbCkuXG4gICAgICovXG4gICAgcGFubmluZ0VuYWJsZWQ6IFByb3BUeXBlcy5ib29sLFxuXG4gICAgLyoqXG4gICAgICogV2hldGhlciB1c2VyIGV2ZW50cyAoZS5nLiBkcmFnZ2luZyB0aGUgZ3JhcGggYmFja2dyb3VuZCkgYXJlIGFsbG93ZWQgdG9cbiAgICAgKiBwYW4gdGhlIGdyYXBoLlxuICAgICAqL1xuICAgIHVzZXJQYW5uaW5nRW5hYmxlZDogUHJvcFR5cGVzLmJvb2wsXG5cbiAgICAvKipcbiAgICAgKiBBIG1pbmltdW0gYm91bmQgb24gdGhlIHpvb20gbGV2ZWwgb2YgdGhlIGdyYXBoLiBUaGUgdmlld3BvcnQgY2FuIG5vdCBiZVxuICAgICAqIHNjYWxlZCBzbWFsbGVyIHRoYW4gdGhpcyB6b29tIGxldmVsLlxuICAgICAqL1xuICAgIG1pblpvb206IFByb3BUeXBlcy5udW1iZXIsXG5cbiAgICAvKipcbiAgICAgKiBBIG1heGltdW0gYm91bmQgb24gdGhlIHpvb20gbGV2ZWwgb2YgdGhlIGdyYXBoLiBUaGUgdmlld3BvcnQgY2FuIG5vdCBiZVxuICAgICAqIHNjYWxlZCBsYXJnZXIgdGhhbiB0aGlzIHpvb20gbGV2ZWwuXG4gICAgICovXG4gICAgbWF4Wm9vbTogUHJvcFR5cGVzLm51bWJlcixcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgem9vbWluZyB0aGUgZ3JhcGggaXMgZW5hYmxlZCAoaS5lLiwgdGhlIHpvb20gbGV2ZWwgb2YgdGhlIGdyYXBoXG4gICAgICogaXMgbXV0YWJsZSBvdmVyYWxsKS5cbiAgICAgKi9cbiAgICB6b29taW5nRW5hYmxlZDogUHJvcFR5cGVzLmJvb2wsXG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHVzZXIgZXZlbnRzIChlLmcuIGRyYWdnaW5nIHRoZSBncmFwaCBiYWNrZ3JvdW5kKSBhcmUgYWxsb3dlZFxuICAgICAqIHRvIHBhbiB0aGUgZ3JhcGguXG4gICAgICovXG4gICAgdXNlclpvb21pbmdFbmFibGVkOiBQcm9wVHlwZXMuYm9vbCxcblxuICAgIC8qKlxuICAgICAqIENoYW5nZXMgdGhlIHNjcm9sbCB3aGVlbCBzZW5zaXRpdml0eSB3aGVuIHpvb21pbmcuXG4gICAgICovXG4gICAgd2hlZWxTZW5zaXRpdml0eTogUHJvcFR5cGVzLm51bWJlcixcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgYm94IHNlbGVjdGlvbiAoaS5lLiBkcmFnIGEgYm94IG92ZXJsYXkgYXJvdW5kLCBhbmQgcmVsZWFzZSBpdFxuICAgICAqIHRvIHNlbGVjdCkgaXMgZW5hYmxlZC4gSWYgZW5hYmxlZCwgdGhlIHVzZXIgbXVzdCB0YXBob2xkIHRvIHBhbiB0aGUgZ3JhcGguXG4gICAgICovXG4gICAgYm94U2VsZWN0aW9uRW5hYmxlZDogUHJvcFR5cGVzLmJvb2wsXG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIG5vZGVzIHNob3VsZCBiZSB1bmdyYWJpZmllZCAobm90IGdyYWJiYWJsZSBieSB1c2VyKSBieVxuICAgICAqIGRlZmF1bHQgKGlmIHRydWUsIG92ZXJyaWRlcyBpbmRpdmlkdWFsIG5vZGUgc3RhdGUpLlxuICAgICAqL1xuICAgIGF1dG91bmdyYWJpZnk6IFByb3BUeXBlcy5ib29sLFxuXG4gICAgLyoqXG4gICAgICogV2hldGhlciBub2RlcyBzaG91bGQgYmUgbG9ja2VkIChub3QgZHJhZ2dhYmxlIGF0IGFsbCkgYnkgZGVmYXVsdFxuICAgICAqIChpZiB0cnVlLCBvdmVycmlkZXMgaW5kaXZpZHVhbCBub2RlIHN0YXRlKS5cbiAgICAgKi9cbiAgICBhdXRvbG9jazogUHJvcFR5cGVzLmJvb2wsXG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIG5vZGVzIHNob3VsZCBiZSB1bnNlbGVjdGlmaWVkIChpbW11dGFibGUgc2VsZWN0aW9uIHN0YXRlKSBieVxuICAgICAqIGRlZmF1bHQgKGlmIHRydWUsIG92ZXJyaWRlcyBpbmRpdmlkdWFsIGVsZW1lbnQgc3RhdGUpLlxuICAgICAqL1xuICAgIGF1dG91bnNlbGVjdGlmeTogUHJvcFR5cGVzLmJvb2wsXG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRoZSBsYXlvdXQgc2hvdWxkIGJlIHJlZnJlc2hlZCB3aGVuIGVsZW1lbnRzIGFyZSBhZGRlZCBvciByZW1vdmVkLlxuICAgICAqL1xuICAgIGF1dG9SZWZyZXNoTGF5b3V0OiBQcm9wVHlwZXMuYm9vbCxcblxuICAgIC8vIFVzZXIgRXZlbnRzIFByb3BzXG5cbiAgICAvKipcbiAgICAgKiBUaGUgY29tcGxldGUgbm9kZSBkaWN0aW9uYXJ5IHJldHVybmVkIHdoZW4geW91IHRhcCBvciBjbGljayBpdC4gUmVhZC1vbmx5LlxuICAgICAqL1xuICAgIHRhcE5vZGU6IFByb3BUeXBlcy5leGFjdCh7XG4gICAgICAgIC8qKiBub2RlIHNwZWNpZmljIGl0ZW0gKi9cbiAgICAgICAgZWRnZXNEYXRhOiBQcm9wVHlwZXMuYXJyYXksXG4gICAgICAgIC8qKiBub2RlIHNwZWNpZmljIGl0ZW0gKi9cbiAgICAgICAgcmVuZGVyZWRQb3NpdGlvbjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICAgICAgLyoqIG5vZGUgc3BlY2lmaWMgaXRlbSAqL1xuICAgICAgICB0aW1lU3RhbXA6IFByb3BUeXBlcy5udW1iZXIsXG4gICAgICAgIC8qKiBHZW5lcmFsIGl0ZW0gKGZvciBhbGwgZWxlbWVudHMpICovXG4gICAgICAgIGNsYXNzZXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICAgIC8qKiBHZW5lcmFsIGl0ZW0gKGZvciBhbGwgZWxlbWVudHMpICovXG4gICAgICAgIGRhdGE6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgICAgIC8qKiBHZW5lcmFsIGl0ZW0gKGZvciBhbGwgZWxlbWVudHMpICovXG4gICAgICAgIGdyYWJiYWJsZTogUHJvcFR5cGVzLmJvb2wsXG4gICAgICAgIC8qKiBHZW5lcmFsIGl0ZW0gKGZvciBhbGwgZWxlbWVudHMpICovXG4gICAgICAgIGdyb3VwOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICAvKiogR2VuZXJhbCBpdGVtIChmb3IgYWxsIGVsZW1lbnRzKSAqL1xuICAgICAgICBsb2NrZWQ6IFByb3BUeXBlcy5ib29sLFxuICAgICAgICAvKiogR2VuZXJhbCBpdGVtIChmb3IgYWxsIGVsZW1lbnRzKSAqL1xuICAgICAgICBwb3NpdGlvbjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICAgICAgLyoqIEdlbmVyYWwgaXRlbSAoZm9yIGFsbCBlbGVtZW50cykgKi9cbiAgICAgICAgc2VsZWN0YWJsZTogUHJvcFR5cGVzLmJvb2wsXG4gICAgICAgIC8qKiBHZW5lcmFsIGl0ZW0gKGZvciBhbGwgZWxlbWVudHMpICovXG4gICAgICAgIHNlbGVjdGVkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICAgICAgLyoqIEdlbmVyYWwgaXRlbSAoZm9yIGFsbCBlbGVtZW50cykgKi9cbiAgICAgICAgc3R5bGU6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgICAgIC8qKiBJdGVtIGZvciBjb21wb3VuZCBub2RlcyAqL1xuICAgICAgICBhbmNlc3RvcnNEYXRhOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMub2JqZWN0LCBQcm9wVHlwZXMuYXJyYXldKSxcbiAgICAgICAgLyoqIEl0ZW0gZm9yIGNvbXBvdW5kIG5vZGVzICovXG4gICAgICAgIGNoaWxkcmVuRGF0YTogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLm9iamVjdCwgUHJvcFR5cGVzLmFycmF5XSksXG4gICAgICAgIC8qKiBJdGVtIGZvciBjb21wb3VuZCBub2RlcyAqL1xuICAgICAgICBkZXNjZW5kYW50c0RhdGE6IFByb3BUeXBlcy5vbmVPZlR5cGUoW1xuICAgICAgICAgICAgUHJvcFR5cGVzLm9iamVjdCxcbiAgICAgICAgICAgIFByb3BUeXBlcy5hcnJheSxcbiAgICAgICAgXSksXG4gICAgICAgIC8qKiBJdGVtIGZvciBjb21wb3VuZCBub2RlcyAqL1xuICAgICAgICBwYXJlbnREYXRhOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMub2JqZWN0LCBQcm9wVHlwZXMuYXJyYXldKSxcbiAgICAgICAgLyoqIEl0ZW0gZm9yIGNvbXBvdW5kIG5vZGVzICovXG4gICAgICAgIHNpYmxpbmdzRGF0YTogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLm9iamVjdCwgUHJvcFR5cGVzLmFycmF5XSksXG4gICAgICAgIC8qKiBJdGVtIGZvciBjb21wb3VuZCBub2RlcyAqL1xuICAgICAgICBpc1BhcmVudDogUHJvcFR5cGVzLmJvb2wsXG4gICAgICAgIC8qKiBJdGVtIGZvciBjb21wb3VuZCBub2RlcyAqL1xuICAgICAgICBpc0NoaWxkbGVzczogUHJvcFR5cGVzLmJvb2wsXG4gICAgICAgIC8qKiBJdGVtIGZvciBjb21wb3VuZCBub2RlcyAqL1xuICAgICAgICBpc0NoaWxkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICAgICAgLyoqIEl0ZW0gZm9yIGNvbXBvdW5kIG5vZGVzICovXG4gICAgICAgIGlzT3JwaGFuOiBQcm9wVHlwZXMuYm9vbCxcbiAgICAgICAgLyoqIEl0ZW0gZm9yIGNvbXBvdW5kIG5vZGVzICovXG4gICAgICAgIHJlbGF0aXZlUG9zaXRpb246IFByb3BUeXBlcy5vYmplY3QsXG4gICAgfSksXG5cbiAgICAvKipcbiAgICAgKiBUaGUgZGF0YSBkaWN0aW9uYXJ5IG9mIGEgbm9kZSByZXR1cm5lZCB3aGVuIHlvdSB0YXAgb3IgY2xpY2sgaXQuIFJlYWQtb25seS5cbiAgICAgKi9cbiAgICB0YXBOb2RlRGF0YTogUHJvcFR5cGVzLm9iamVjdCxcblxuICAgIC8qKlxuICAgICAqIFRoZSBjb21wbGV0ZSBlZGdlIGRpY3Rpb25hcnkgcmV0dXJuZWQgd2hlbiB5b3UgdGFwIG9yIGNsaWNrIGl0LiBSZWFkLW9ubHkuXG4gICAgICovXG4gICAgdGFwRWRnZTogUHJvcFR5cGVzLmV4YWN0KHtcbiAgICAgICAgLyoqIEVkZ2Utc3BlY2lmaWMgaXRlbSAqL1xuICAgICAgICBpc0xvb3A6IFByb3BUeXBlcy5ib29sLFxuICAgICAgICAvKiogRWRnZS1zcGVjaWZpYyBpdGVtICovXG4gICAgICAgIGlzU2ltcGxlOiBQcm9wVHlwZXMuYm9vbCxcbiAgICAgICAgLyoqIEVkZ2Utc3BlY2lmaWMgaXRlbSAqL1xuICAgICAgICBtaWRwb2ludDogUHJvcFR5cGVzLm9iamVjdCxcbiAgICAgICAgLyoqIEVkZ2Utc3BlY2lmaWMgaXRlbSAqL1xuICAgICAgICBzb3VyY2VEYXRhOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgICAgICAvKiogRWRnZS1zcGVjaWZpYyBpdGVtICovXG4gICAgICAgIHNvdXJjZUVuZHBvaW50OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgICAgICAvKiogRWRnZS1zcGVjaWZpYyBpdGVtICovXG4gICAgICAgIHRhcmdldERhdGE6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgICAgIC8qKiBFZGdlLXNwZWNpZmljIGl0ZW0gKi9cbiAgICAgICAgdGFyZ2V0RW5kcG9pbnQ6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgICAgIC8qKiBFZGdlLXNwZWNpZmljIGl0ZW0gKi9cbiAgICAgICAgdGltZVN0YW1wOiBQcm9wVHlwZXMubnVtYmVyLFxuICAgICAgICAvKiogR2VuZXJhbCBpdGVtIChmb3IgYWxsIGVsZW1lbnRzKSAqL1xuICAgICAgICBjbGFzc2VzOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICAvKiogR2VuZXJhbCBpdGVtIChmb3IgYWxsIGVsZW1lbnRzKSAqL1xuICAgICAgICBkYXRhOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgICAgICAvKiogR2VuZXJhbCBpdGVtIChmb3IgYWxsIGVsZW1lbnRzKSAqL1xuICAgICAgICBncmFiYmFibGU6IFByb3BUeXBlcy5ib29sLFxuICAgICAgICAvKiogR2VuZXJhbCBpdGVtIChmb3IgYWxsIGVsZW1lbnRzKSAqL1xuICAgICAgICBncm91cDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgICAgLyoqIEdlbmVyYWwgaXRlbSAoZm9yIGFsbCBlbGVtZW50cykgKi9cbiAgICAgICAgbG9ja2VkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICAgICAgLyoqIEdlbmVyYWwgaXRlbSAoZm9yIGFsbCBlbGVtZW50cykgKi9cbiAgICAgICAgc2VsZWN0YWJsZTogUHJvcFR5cGVzLmJvb2wsXG4gICAgICAgIC8qKiBHZW5lcmFsIGl0ZW0gKGZvciBhbGwgZWxlbWVudHMpICovXG4gICAgICAgIHNlbGVjdGVkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICAgICAgLyoqIEdlbmVyYWwgaXRlbSAoZm9yIGFsbCBlbGVtZW50cykgKi9cbiAgICAgICAgc3R5bGU6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgfSksXG5cbiAgICAvKipcbiAgICAgKiBUaGUgZGF0YSBkaWN0aW9uYXJ5IG9mIGFuIGVkZ2UgcmV0dXJuZWQgd2hlbiB5b3UgdGFwIG9yIGNsaWNrIGl0LiBSZWFkLW9ubHkuXG4gICAgICovXG4gICAgdGFwRWRnZURhdGE6IFByb3BUeXBlcy5vYmplY3QsXG5cbiAgICAvKipcbiAgICAgKiBUaGUgZGF0YSBkaWN0aW9uYXJ5IG9mIGEgbm9kZSByZXR1cm5lZCB3aGVuIHlvdSBob3ZlciBvdmVyIGl0LiBSZWFkLW9ubHkuXG4gICAgICovXG4gICAgbW91c2VvdmVyTm9kZURhdGE6IFByb3BUeXBlcy5vYmplY3QsXG5cbiAgICAvKipcbiAgICAgKiBUaGUgZGF0YSBkaWN0aW9uYXJ5IG9mIGFuIGVkZ2UgcmV0dXJuZWQgd2hlbiB5b3UgaG92ZXIgb3ZlciBpdC4gUmVhZC1vbmx5LlxuICAgICAqL1xuICAgIG1vdXNlb3ZlckVkZ2VEYXRhOiBQcm9wVHlwZXMub2JqZWN0LFxuXG4gICAgLyoqXG4gICAgICogVGhlIGxpc3Qgb2YgZGF0YSBkaWN0aW9uYXJpZXMgb2YgYWxsIHNlbGVjdGVkIG5vZGVzIChlLmcuIHVzaW5nXG4gICAgICogU2hpZnQrQ2xpY2sgdG8gc2VsZWN0IG11bHRpcGxlIG5vZGVzLCBvciBTaGlmdCtEcmFnIHRvIHVzZSBib3ggc2VsZWN0aW9uKS4gUmVhZC1vbmx5LlxuICAgICAqL1xuICAgIHNlbGVjdGVkTm9kZURhdGE6IFByb3BUeXBlcy5hcnJheSxcblxuICAgIC8qKlxuICAgICAqIFRoZSBsaXN0IG9mIGRhdGEgZGljdGlvbmFyaWVzIG9mIGFsbCBzZWxlY3RlZCBlZGdlcyAoZS5nLiB1c2luZ1xuICAgICAqIFNoaWZ0K0NsaWNrIHRvIHNlbGVjdCBtdWx0aXBsZSBub2Rlcywgb3IgU2hpZnQrRHJhZyB0byB1c2UgYm94IHNlbGVjdGlvbikuIFJlYWQtb25seS5cbiAgICAgKi9cbiAgICBzZWxlY3RlZEVkZ2VEYXRhOiBQcm9wVHlwZXMuYXJyYXksXG5cbiAgICAvKipcbiAgICAgKiBEaWN0aW9uYXJ5IHNwZWNpZnlpbmcgb3B0aW9ucyB0byBnZW5lcmF0ZSBhbiBpbWFnZSBvZiB0aGUgY3VycmVudCBjeXRvc2NhcGUgZ3JhcGguXG4gICAgICogVmFsdWUgaXMgY2xlYXJlZCBhZnRlciBkYXRhIGlzIHJlY2VpdmVkIGFuZCBpbWFnZSBpcyBnZW5lcmF0ZWQuIFRoaXMgcHJvcGVydHkgd2lsbFxuICAgICAqIGJlIGlnbm9yZWQgb24gdGhlIGluaXRpYWwgY3JlYXRpb24gb2YgdGhlIGN5dG9zY2FwZSBvYmplY3QgYW5kIG11c3QgYmUgaW52b2tlZCB0aHJvdWdoXG4gICAgICogYSBjYWxsYmFjayBhZnRlciBpdCBoYXMgYmVlbiByZW5kZXJlZC5cbiAgICAgKlxuICAgICAqIElmIHRoZSBhcHAgZG9lcyBub3QgbmVlZCB0aGUgaW1hZ2UgZGF0YSBzZXJ2ZXIgc2lkZSBhbmQvb3IgaXQgd2lsbCBvbmx5IGJlIHVzZWQgdG8gZG93bmxvYWRcbiAgICAgKiB0aGUgaW1hZ2UsIGl0IG1heSBiZSBwcnVkZW50IHRvIGludm9rZSBgJ2Rvd25sb2FkJ2AgZm9yIGBhY3Rpb25gIGluc3RlYWQgb2ZcbiAgICAgKiBgJ3N0b3JlJ2AgdG8gaW1wcm92ZSBwZXJmb3JtYW5jZSBieSBwcmV2ZW50aW5nIHRyYW5zZmVyIG9mIGRhdGEgdG8gdGhlIHNlcnZlci5cbiAgICAgKi9cbiAgICBnZW5lcmF0ZUltYWdlOiBQcm9wVHlwZXMuc2hhcGUoe1xuICAgICAgICAvKiogRmlsZSB0eXBlIHRvIG91dHB1dCAgKi9cbiAgICAgICAgdHlwZTogUHJvcFR5cGVzLm9uZU9mKFsnc3ZnJywgJ3BuZycsICdqcGcnLCAnanBlZyddKSxcbiAgICAgICAgLyoqIERpY3Rpb25hcnkgb2Ygb3B0aW9ucyB0byBjeS5wbmcoKSAvIGN5LmpwZygpIG9yIGN5LnN2ZygpIGZvciBpbWFnZSBnZW5lcmF0aW9uLlxuICAgICAgICAgKiBTZWUgaHR0cHM6Ly9qcy5jeXRvc2NhcGUub3JnLyNjb3JlL2V4cG9ydCBmb3IgZGV0YWlscy4gRm9yIGAnb3V0cHV0J2AsIG9ubHkgJ2Jhc2U2NCdcbiAgICAgICAgICogYW5kICdiYXNlNjR1cmknIGFyZSBzdXBwb3J0ZWQuIERlZmF1bHQ6IGB7J291dHB1dCc6ICdiYXNlNjR1cmknfWAuKi9cbiAgICAgICAgb3B0aW9uczogUHJvcFR5cGVzLm9iamVjdCxcbiAgICAgICAgLyoqXG4gICAgICAgICAqIGAnc3RvcmUnYDogU3RvcmVzIHRoZSBpbWFnZSBkYXRhIChvbmx5IGpwZyBhbmQgcG5nIGFyZSBzdXBwb3J0ZWQpXG4gICAgICAgICAqIGluIGBpbWFnZURhdGFgIGFuZCBpbnZva2VzIHNlcnZlci1zaWRlIERhc2ggY2FsbGJhY2tzLiBgJ2Rvd25sb2FkJ2A6IERvd25sb2FkcyB0aGUgaW1hZ2VcbiAgICAgICAgICogYXMgYSBmaWxlIHdpdGggYWxsIGRhdGEgaGFuZGxpbmcgZG9uZSBjbGllbnQtc2lkZS4gTm8gYGltYWdlRGF0YWAgY2FsbGJhY2tzIGFyZSBmaXJlZC5cbiAgICAgICAgICogYCdib3RoJ2A6IFN0b3JlcyBpbWFnZSBkYXRhIGFuZCBkb3dubG9hZHMgaW1hZ2UgYXMgZmlsZS4gVGhlIGRlZmF1bHQgaXMgYCdzdG9yZSdgXG4gICAgICAgICAqL1xuICAgICAgICBhY3Rpb246IFByb3BUeXBlcy5vbmVPZihbJ3N0b3JlJywgJ2Rvd25sb2FkJywgJ2JvdGgnXSksXG4gICAgICAgIC8qKiBOYW1lIGZvciB0aGUgZmlsZSB0byBiZSBkb3dubG9hZGVkLiBEZWZhdWx0OiAnY3l0bycuKi9cbiAgICAgICAgZmlsZW5hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgfSksXG5cbiAgICAvKipcbiAgICAgKiBTdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhlIGltYWdlIHJlcXVlc3RlZCB3aXRoIGdlbmVyYXRlSW1hZ2UuIE51bGwgaWYgbm9cbiAgICAgKiBpbWFnZSB3YXMgcmVxdWVzdGVkIHlldCBvciB0aGUgcHJldmlvdXMgcmVxdWVzdCBmYWlsZWQuIFJlYWQtb25seS5cbiAgICAgKi9cbiAgICBpbWFnZURhdGE6IFByb3BUeXBlcy5zdHJpbmcsXG5cbiAgICAvKipcbiAgICAgKiBUb2dnbGVzIGludGVsbGlnZW50IHJlc3BvbnNpdmUgcmVzaXplIG9mIEN5dG9zY2FwZSBncmFwaCB3aXRoIHZpZXdwb3J0IHNpemUgY2hhbmdlXG4gICAgICovXG4gICAgcmVzcG9uc2l2ZTogUHJvcFR5cGVzLmJvb2wsXG5cbiAgICAvKipcbiAgICAgKiBFeHRlbnQgb2YgdGhlIHZpZXdwb3J0LCBhIGJvdW5kaW5nIGJveCBpbiBtb2RlbCBjby1vcmRpbmF0ZXMgdGhhdCBsZXRzIHlvdSBrbm93IHdoYXQgbW9kZWxcbiAgICAgKiBwb3NpdGlvbnMgYXJlIHZpc2libGUgaW4gdGhlIHZpZXdwb3J0LiBUaGlzIGZ1bmN0aW9uIHJldHVybnMgYSBwbGFpbiBvYmplY3QgYm91bmRpbmcgYm94XG4gICAgICogd2l0aCBmb3JtYXQgeyB4MSwgeTEsIHgyLCB5MiwgdywgaCB9LlxuICAgICAqL1xuICAgIGV4dGVudDogUHJvcFR5cGVzLm9iamVjdCxcblxuICAgIC8qKlxuICAgICAqIElmIHNldCB0byBUcnVlLCBtb3VzZW92ZXJOb2RlRGF0YSBhbmQgbW91c2VvdmVyRWRnZURhdGEgd2lsbCBiZSBjbGVhcmVkIG9uIHVuaG92ZXIuXG4gICAgICogSWYgc2V0IHRvIEZhbHNlLCB0aGUgdmFsdWUgb2YgbW91c2VvdmVyTm9kZURhdGEgYW5kIG1vdXNlb3ZlckVkZ2VEYXRhIHdpbGwgYmUgdGhlIGxhc3RcbiAgICAgKiBOb2RlIG9yIEVkZ2UgaG92ZXJlZCBvdmVyXG4gICAgICovXG4gICAgY2xlYXJPblVuaG92ZXI6IFByb3BUeXBlcy5ib29sLFxufTtcblxuQ3l0b3NjYXBlLmRlZmF1bHRQcm9wcyA9IHtcbiAgICBzdHlsZToge3dpZHRoOiAnNjAwcHgnLCBoZWlnaHQ6ICc2MDBweCd9LFxuICAgIGxheW91dDoge25hbWU6ICdncmlkJ30sXG4gICAgcGFuOiB7eDogMCwgeTogMH0sXG4gICAgem9vbTogMSxcbiAgICBtaW5ab29tOiAxZS01MCxcbiAgICBtYXhab29tOiAxZTUwLFxuICAgIHpvb21pbmdFbmFibGVkOiB0cnVlLFxuICAgIHVzZXJab29taW5nRW5hYmxlZDogdHJ1ZSxcbiAgICBwYW5uaW5nRW5hYmxlZDogdHJ1ZSxcbiAgICB1c2VyUGFubmluZ0VuYWJsZWQ6IHRydWUsXG4gICAgd2hlZWxTZW5zaXRpdml0eTogMSxcbiAgICBib3hTZWxlY3Rpb25FbmFibGVkOiBmYWxzZSxcbiAgICBhdXRvbG9jazogZmFsc2UsXG4gICAgYXV0b3VuZ3JhYmlmeTogZmFsc2UsXG4gICAgYXV0b3Vuc2VsZWN0aWZ5OiBmYWxzZSxcbiAgICBhdXRvUmVmcmVzaExheW91dDogdHJ1ZSxcbiAgICBnZW5lcmF0ZUltYWdlOiB7fSxcbiAgICBpbWFnZURhdGE6IG51bGwsXG4gICAgcmVzcG9uc2l2ZTogZmFsc2UsXG4gICAgY2xlYXJPblVuaG92ZXI6IGZhbHNlLFxuICAgIGVsZW1lbnRzOiBbXSxcbiAgICBjb250ZXh0TWVudTogW10sXG59O1xuXG5leHBvcnQgZGVmYXVsdCBDeXRvc2NhcGU7XG4iXSwibmFtZXMiOlsiUmVhY3QiLCJDb21wb25lbnQiLCJQcm9wVHlwZXMiLCJDeXRvc2NhcGVDb21wb25lbnQiLCJfIiwidjQiLCJ1dWlkdjQiLCJDeVJlc3BvbnNpdmUiLCJjeXRvc2NhcGUiLCJyZXF1aXJlIiwiY29udGV4dE1lbnVzIiwiQ3l0b3NjYXBlIiwiX0NvbXBvbmVudCIsIl9pbmhlcml0cyIsInByb3BzIiwiX3RoaXMiLCJfY2xhc3NDYWxsQ2hlY2siLCJfY2FsbFN1cGVyIiwiaGFuZGxlQ3kiLCJiaW5kIiwiX2Fzc2VydFRoaXNJbml0aWFsaXplZCIsIl9oYW5kbGVDeUNhbGxlZCIsImhhbmRsZUltYWdlR2VuZXJhdGlvbiIsImN5UmVzcG9uc2l2ZUNsYXNzIiwiX2NyZWF0ZUNsYXNzIiwia2V5IiwidmFsdWUiLCJnZW5lcmF0ZU5vZGUiLCJldmVudCIsImVsZSIsInRhcmdldCIsImlzUGFyZW50IiwiaXNDaGlsZGxlc3MiLCJpc0NoaWxkIiwiaXNPcnBoYW4iLCJyZW5kZXJlZFBvc2l0aW9uIiwicmVsYXRpdmVQb3NpdGlvbiIsInBhcmVudCIsInN0eWxlIiwiZWRnZXNEYXRhIiwiY29ubmVjdGVkRWRnZXMiLCJtYXAiLCJkYXRhIiwiY2hpbGRyZW5EYXRhIiwiY2hpbGRyZW4iLCJhbmNlc3RvcnNEYXRhIiwiYW5jZXN0b3JzIiwiZGVzY2VuZGFudHNEYXRhIiwiZGVzY2VuZGFudHMiLCJzaWJsaW5nc0RhdGEiLCJzaWJsaW5ncyIsInRpbWVTdGFtcCIsIl9lbGUkanNvbiIsImpzb24iLCJjbGFzc2VzIiwiZ3JhYmJhYmxlIiwiZ3JvdXAiLCJsb2NrZWQiLCJwb3NpdGlvbiIsInNlbGVjdGVkIiwic2VsZWN0YWJsZSIsInBhcmVudERhdGEiLCJub2RlT2JqZWN0IiwiZ2VuZXJhdGVFZGdlIiwibWlkcG9pbnQiLCJpc0xvb3AiLCJpc1NpbXBsZSIsInNvdXJjZURhdGEiLCJzb3VyY2UiLCJzb3VyY2VFbmRwb2ludCIsInRhcmdldERhdGEiLCJ0YXJnZXRFbmRwb2ludCIsIl9lbGUkanNvbjIiLCJlZGdlT2JqZWN0IiwiY3kiLCJfdGhpczIiLCJfY3kiLCJ3aW5kb3ciLCJTRUxFQ1RfVEhSRVNIT0xEIiwiRVhURU5UX1RIUkVTSE9MRCIsIlVQREFURV9FTEVNRU5UU19USFJFU0hPTEQiLCJSRVNJWkVfVEhSRVNIT0xEIiwic2VsZWN0ZWROb2RlcyIsImNvbGxlY3Rpb24iLCJzZWxlY3RlZEVkZ2VzIiwicmVmcmVzaExheW91dCIsImRlYm91bmNlIiwiX3RoaXMyJHByb3BzIiwiYXV0b1JlZnJlc2hMYXlvdXQiLCJsYXlvdXQiLCJydW4iLCJzZW5kU2VsZWN0ZWROb2Rlc0RhdGEiLCJub2RlRGF0YSIsImVsIiwic2V0UHJvcHMiLCJzZWxlY3RlZE5vZGVEYXRhIiwic2VuZFNlbGVjdGVkRWRnZXNEYXRhIiwiZWRnZURhdGEiLCJzZWxlY3RlZEVkZ2VEYXRhIiwic2V0RXh0ZW50IiwiY3lFeHRlbnQiLCJleHRlbnQiLCJ1cGRhdGVFbGVtZW50cyIsImVsZW1lbnRzIiwiaXRlbSIsInJlc2l6ZSIsIm9yaWdpbmFsTWF4Wm9vbUZuIiwibWF4Wm9vbSIsIm9yaWdpbmFsTWluWm9vbUZuIiwibWluWm9vbSIsImUiLCJjdXJyZW50TWF4Wm9vbSIsImNhbGwiLCJfcHJldmlvdXNNYXhab29tIiwidHJpZ2dlciIsImN1cnJlbnRNaW5ab29tIiwiX3ByZXZpb3VzTWluWm9vbSIsIm9uIiwidGFwTm9kZSIsInRhcE5vZGVEYXRhIiwiT2JqZWN0IiwiYXNzaWduIiwidGFwRWRnZSIsInRhcEVkZ2VEYXRhIiwibW91c2VvdmVyTm9kZURhdGEiLCJtb3VzZW92ZXJFZGdlRGF0YSIsImNsZWFyT25VbmhvdmVyIiwibWVyZ2UiLCJ1bm1lcmdlIiwiem9vbSIsImZpdCIsImNyZWF0ZU1lbnVJdGVtcyIsImN0eE1lbnUiLCJ1cGRhdGVDb250ZXh0TWVudURhdGEiLCJuZXdDb250ZXh0IiwiY29udGV4dE1lbnVEYXRhIiwiY29udGV4dE1lbnVEZWZhdWx0RnVuY3Rpb25zIiwicmVtb3ZlIiwiY3lUYXJnZXQiLCJhZGRfbm9kZSIsInBvcyIsImN5UG9zaXRpb24iLCJhZGQiLCJ4IiwieSIsImFkZF9lZGdlIiwic2VsZWN0ZWROb2RlSWRzIiwibm9kZSIsImlkIiwibGVuZ3RoIiwiY29uc29sZSIsImVycm9yIiwibmV3TWVudUl0ZW1zIiwiX2l0ZXJhdG9yIiwiX2NyZWF0ZUZvck9mSXRlcmF0b3JIZWxwZXIiLCJfc3RlcCIsIl9sb29wIiwib25DbGlja0Z1bmN0aW9uIiwibWVudUl0ZW1JZCIsImVsZW1lbnRJZCIsImVkZ2VTb3VyY2UiLCJlZGdlVGFyZ2V0IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJvbkNsaWNrIiwiY29uY2F0IiwiZGFzaEN5dG9zY2FwZUZ1bmN0aW9ucyIsIm9uQ2xpY2tDdXN0b20iLCJuZXdfaXRlbSIsImNvbnRlbnQiLCJsYWJlbCIsInRvb2x0aXBUZXh0Iiwic2VsZWN0b3IiLCJjb3JlQXNXZWxsIiwiX2l0ZXJhdG9yMiIsImF2YWlsYWJsZU9uIiwiX3N0ZXAyIiwicyIsIm4iLCJkb25lIiwiZXJyIiwiZiIsInB1c2giLCJ0b2dnbGUiLCJyZXNwb25zaXZlIiwiaW1hZ2VUeXBlIiwiaW1hZ2VPcHRpb25zIiwiYWN0aW9uc1RvUGVyZm9ybSIsImZpbGVOYW1lIiwiX3RoaXMzIiwib3B0aW9ucyIsImRlc2lyZWRPdXRwdXQiLCJvdXRwdXQiLCJkb3dubG9hZEltYWdlIiwic3RvcmVJbWFnZSIsInBuZyIsImpwZyIsInN2ZyIsImZOYW1lIiwiZG93bmxvYWRCbG9iIiwiYmxvYiIsIkJsb2IiLCJ0eXBlIiwicmVhZGVyIiwiRmlsZVJlYWRlciIsIm9ubG9hZCIsImNhbGxiYWNrRGF0YSIsInJlc3VsdCIsInJlcGxhY2UiLCJpbWFnZURhdGEiLCJyZWFkQXNEYXRhVVJMIiwiZG93bmxvYWRMaW5rIiwiZG9jdW1lbnQiLCJjcmVhdGVFbGVtZW50IiwiYm9keSIsImFwcGVuZENoaWxkIiwidXJsIiwiVVJMIiwiY3JlYXRlT2JqZWN0VVJMIiwiaHJlZiIsImRvd25sb2FkIiwiY2xpY2siLCJyZXZva2VPYmplY3RVUkwiLCJyZW1vdmVDaGlsZCIsInVwZGF0ZUNvbnRleHRNZW51IiwiY29udGV4dE1lbnUiLCJtZW51SXRlbXMiLCJtZW51SXRlbUNsYXNzZXMiLCJncmFwaE91dE9mVmlldyIsImN5V2lkdGgiLCJ3aWR0aCIsImN5SGVpZ2h0IiwiaGVpZ2h0IiwiZWxCb3giLCJyZW5kZXJlZEJvdW5kaW5nYm94IiwieDEiLCJ5MSIsIngyIiwieTIiLCJjb21wb25lbnREaWRVcGRhdGUiLCJwcmV2UHJvcHMiLCJfdGhpcyRwcm9wcyIsImlzRXF1YWwiLCJjb21wb25lbnREaWRNb3VudCIsInJlbmRlciIsIl90aGlzJHByb3BzMiIsImNsYXNzTmFtZSIsInN0eWxlc2hlZXQiLCJwYW4iLCJwYW5uaW5nRW5hYmxlZCIsInVzZXJQYW5uaW5nRW5hYmxlZCIsInpvb21pbmdFbmFibGVkIiwidXNlclpvb21pbmdFbmFibGVkIiwid2hlZWxTZW5zaXRpdml0eSIsImJveFNlbGVjdGlvbkVuYWJsZWQiLCJhdXRvdW5ncmFiaWZ5IiwiYXV0b2xvY2siLCJhdXRvdW5zZWxlY3RpZnkiLCJnZW5lcmF0ZUltYWdlIiwia2V5cyIsImFjdGlvbiIsImZpbGVuYW1lIiwibm9ybWFsaXplRWxlbWVudHMiLCJwcm9wVHlwZXMiLCJzdHJpbmciLCJvYmplY3QiLCJmdW5jIiwib25lT2ZUeXBlIiwiYXJyYXlPZiIsInNoYXBlIiwibnVtYmVyIiwiYm9vbCIsImV4YWN0Iiwibm9kZXMiLCJhcnJheSIsImVkZ2VzIiwiaXNSZXF1aXJlZCIsIm5hbWUiLCJvbmVPZiIsInBhZGRpbmciLCJhbmltYXRlIiwiYW5pbWF0aW9uRHVyYXRpb24iLCJib3VuZGluZ0JveCIsImRlZmF1bHRQcm9wcyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/lib/components/Cytoscape.react.js\n"); /***/ }), diff --git a/dash_cytoscape/dash_cytoscape_extra.min.js b/dash_cytoscape/dash_cytoscape_extra.min.js index c58a0069..f9a3fb2f 100644 --- a/dash_cytoscape/dash_cytoscape_extra.min.js +++ b/dash_cytoscape/dash_cytoscape_extra.min.js @@ -1,2 +1,2 @@ /*! For license information please see dash_cytoscape_extra.min.js.LICENSE.txt */ -(()=>{var __webpack_modules__={1686:()=>{!function(){"use strict";var t=function(t,e){var n=function(t){for(var e=0,n=t.length;et.length)&&(e=t.length);for(var n=0,r=new Array(e);n=t.length?{done:!0}:{done:!1,value:t[i++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,s=!0,c=!1;return{s:function(){r=r.call(t)},n:function(){var t=r.next();return s=t.done,t},e:function(t){c=!0,a=t},f:function(){try{s||null==r.return||r.return()}finally{if(c)throw a}}}}var r=!0,i=!1,o="querySelectorAll",a="querySelectorAll",s=self,c=s.document,u=s.Element,l=s.MutationObserver,h=s.Set,f=s.WeakMap,d=function(t){return a in t},p=[].filter,g=function(t){var e=new f,s=function(n,r){var i;if(r)for(var o,a=function(t){return t.matches||t.webkitMatchesSelector||t.msMatchesSelector}(n),s=0,c=v.length;s1&&void 0!==arguments[1])||arguments[1],n=0,r=t.length;n1&&void 0!==arguments[1]?arguments[1]:document,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:MutationObserver,s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:["*"],c=function e(i,a,s,c,u,l){var h,f=n(i);try{for(f.s();!(h=f.n()).done;){var d=h.value;(l||o in d)&&(u?s.has(d)||(s.add(d),c.delete(d),t(d,u)):c.has(d)||(c.add(d),s.delete(d),t(d,u)),l||e(d[o](a),a,s,c,u,r))}}catch(t){f.e(t)}finally{f.f()}},u=new a((function(t){if(s.length){var e,o=s.join(","),a=new Set,u=new Set,l=n(t);try{for(l.s();!(e=l.n()).done;){var h=e.value,f=h.addedNodes,d=h.removedNodes;c(d,o,a,u,i,i),c(f,o,a,u,r,i)}}catch(t){l.e(t)}finally{l.f()}}})),l=u.observe;return(u.observe=function(t){return l.call(u,t,{subtree:r,childList:r})})(e),u}(s,b,l,v),m=u.prototype.attachShadow;return m&&(u.prototype.attachShadow=function(t){var e=m.call(this,t);return y.observe(e),e}),v.length&&g(b[a](v)),{drop:function(t){for(var n=0,r=t.length;n{window.dash_clientside||(window.dash_clientside={});var t=20037508.34;function e(e,n){return[180*e/t,360*Math.atan(Math.exp(-n*Math.PI/t))/Math.PI-90]}window.dash_clientside.cyleaflet={updateLeafBounds:function(t,n,r){var i=t;if(!i){if(!r)return window.dash_clientside.no_update;i=r}var o=e(i.x1,i.y1),a=o[0],s=o[1],c=e(i.x2,i.y2),u=c[0],l=c[1],h=(new Date).getTime(),f=[[l,a],[s,u]];return s===l||a===u?window.dash_clientside.no_update:[h,{bounds:f,options:{animate:!0}},i]},transformElements:function(e){return e.map((function(e){if(Object.prototype.hasOwnProperty.call(e.data,"lat")){var n=(r=e.data.lon,i=e.data.lat,[r*t/180,-Math.log(Math.tan((90+i)*Math.PI/360))*t/Math.PI]);return{data:e.data,position:{y:n[1],x:n[0]}}}var r,i;return e}))},updateLonLat:function(t){return t.length>0?t.map((function(t){if(void 0!==t.position&&Object.prototype.hasOwnProperty.call(t.position,"x")&&0!==t.position.x&&0!==t.position.y){var n=e(t.position.x,t.position.y);return{position:t.position,data:Object.assign({},t.data,{lon:n[0],lat:n[1]})}}return t})):window.dash_clientside.no_update},updateCytoMaxZoom:function(t){var e=t;t.length>=1&&1===(e=t.filter((function(t){return"TileLayer"===t.type}))).length&&(e=e[0]);var n=18;return void 0!==e.props&&Object.prototype.hasOwnProperty.call(e.props,"maxZoom")&&(n=e.props.maxZoom),function(t){return.418*Math.pow(2,t-16)}(n)}}},4182:function(t,e,n){var r;r=function(t){return function(t){var e={};function n(r){if(e[r])return e[r].exports;var i=e[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=t,n.c=e,n.i=function(t){return t},n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:r})},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=7)}([function(e,n){e.exports=t},function(t,e,n){"use strict";var r=n(0).FDLayoutConstants;function i(){}for(var o in r)i[o]=r[o];i.DEFAULT_USE_MULTI_LEVEL_SCALING=!1,i.DEFAULT_RADIAL_SEPARATION=r.DEFAULT_EDGE_LENGTH,i.DEFAULT_COMPONENT_SEPERATION=60,i.TILE=!0,i.TILING_PADDING_VERTICAL=10,i.TILING_PADDING_HORIZONTAL=10,i.TREE_REDUCTION_ON_INCREMENTAL=!1,t.exports=i},function(t,e,n){"use strict";var r=n(0).FDLayoutEdge;function i(t,e,n){r.call(this,t,e,n)}for(var o in i.prototype=Object.create(r.prototype),r)i[o]=r[o];t.exports=i},function(t,e,n){"use strict";var r=n(0).LGraph;function i(t,e,n){r.call(this,t,e,n)}for(var o in i.prototype=Object.create(r.prototype),r)i[o]=r[o];t.exports=i},function(t,e,n){"use strict";var r=n(0).LGraphManager;function i(t){r.call(this,t)}for(var o in i.prototype=Object.create(r.prototype),r)i[o]=r[o];t.exports=i},function(t,e,n){"use strict";var r=n(0).FDLayoutNode,i=n(0).IMath;function o(t,e,n,i){r.call(this,t,e,n,i)}for(var a in o.prototype=Object.create(r.prototype),r)o[a]=r[a];o.prototype.move=function(){var t=this.graphManager.getLayout();this.displacementX=t.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.noOfChildren,this.displacementY=t.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.noOfChildren,Math.abs(this.displacementX)>t.coolingFactor*t.maxNodeDisplacement&&(this.displacementX=t.coolingFactor*t.maxNodeDisplacement*i.sign(this.displacementX)),Math.abs(this.displacementY)>t.coolingFactor*t.maxNodeDisplacement&&(this.displacementY=t.coolingFactor*t.maxNodeDisplacement*i.sign(this.displacementY)),null==this.child||0==this.child.getNodes().length?this.moveBy(this.displacementX,this.displacementY):this.propogateDisplacementToChildren(this.displacementX,this.displacementY),t.totalDisplacement+=Math.abs(this.displacementX)+Math.abs(this.displacementY),this.springForceX=0,this.springForceY=0,this.repulsionForceX=0,this.repulsionForceY=0,this.gravitationForceX=0,this.gravitationForceY=0,this.displacementX=0,this.displacementY=0},o.prototype.propogateDisplacementToChildren=function(t,e){for(var n,r=this.getChild().getNodes(),i=0;i0)this.positionNodesRadially(t);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var e=new Set(this.getAllNodes()),n=this.nodesWithGravity.filter((function(t){return e.has(t)}));this.graphManager.setAllNodesToApplyGravitation(n),this.positionNodesRandomly()}}return this.initSpringEmbedder(),this.runSpringEmbedder(),!0},y.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished){if(!(this.prunedNodesAll.length>0))return!0;this.isTreeGrowing=!0}if(this.totalIterations%u.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged()){if(!(this.prunedNodesAll.length>0))return!0;this.isTreeGrowing=!0}this.coolingCycle++,0==this.layoutQuality?this.coolingAdjuster=this.coolingCycle:1==this.layoutQuality&&(this.coolingAdjuster=this.coolingCycle/3),this.coolingFactor=Math.max(this.initialCoolingFactor-Math.pow(this.coolingCycle,Math.log(100*(this.initialCoolingFactor-this.finalTemperature))/Math.log(this.maxCoolingCycle))/100*this.coolingAdjuster,this.finalTemperature),this.animationPeriod=Math.ceil(this.initialAnimationPeriod*Math.sqrt(this.coolingFactor))}if(this.isTreeGrowing){if(this.growTreeIterations%10==0)if(this.prunedNodesAll.length>0){this.graphManager.updateBounds(),this.updateGrid(),this.growTree(this.prunedNodesAll),this.graphManager.resetAllNodesToApplyGravitation();var t=new Set(this.getAllNodes()),e=this.nodesWithGravity.filter((function(e){return t.has(e)}));this.graphManager.setAllNodesToApplyGravitation(e),this.graphManager.updateBounds(),this.updateGrid(),this.coolingFactor=u.DEFAULT_COOLING_FACTOR_INCREMENTAL}else this.isTreeGrowing=!1,this.isGrowthFinished=!0;this.growTreeIterations++}if(this.isGrowthFinished){if(this.isConverged())return!0;this.afterGrowthIterations%10==0&&(this.graphManager.updateBounds(),this.updateGrid()),this.coolingFactor=u.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var n=!this.isTreeGrowing&&!this.isGrowthFinished,r=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(n,r),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},y.prototype.getPositionsData=function(){for(var t=this.graphManager.getAllNodes(),e={},n=0;n1)for(s=0;sr&&(r=Math.floor(a.y)),o=Math.floor(a.x+c.DEFAULT_COMPONENT_SEPERATION)}this.transform(new f(l.WORLD_CENTER_X-a.x/2,l.WORLD_CENTER_Y-a.y/2))},y.radialLayout=function(t,e,n){var r=Math.max(this.maxDiagonalInTree(t),c.DEFAULT_RADIAL_SEPARATION);y.branchRadialLayout(e,null,0,359,0,r);var i=v.calculateBounds(t),o=new b;o.setDeviceOrgX(i.getMinX()),o.setDeviceOrgY(i.getMinY()),o.setWorldOrgX(n.x),o.setWorldOrgY(n.y);for(var a=0;a1;){var b=v[0];v.splice(0,1);var m=l.indexOf(b);m>=0&&l.splice(m,1),p--,h--}f=null!=e?(l.indexOf(v[0])+1)%p:0;for(var w=Math.abs(r-n)/h,x=f;d!=h;x=++x%p){var _=l[x].getOtherEnd(t);if(_!=e){var E=(n+d*w)%360,k=(E+w)%360;y.branchRadialLayout(_,t,E,k,i+o,o),d++}}},y.maxDiagonalInTree=function(t){for(var e=p.MIN_VALUE,n=0;ne&&(e=r)}return e},y.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},y.prototype.groupZeroDegreeMembers=function(){var t=this,e={};this.memberGroups={},this.idToDummyNode={};for(var n=[],r=this.graphManager.getAllNodes(),i=0;i1){var r="DummyCompound_"+n;t.memberGroups[r]=e[n];var i=e[n][0].getParent(),o=new a(t.graphManager);o.id=r,o.paddingLeft=i.paddingLeft||0,o.paddingRight=i.paddingRight||0,o.paddingBottom=i.paddingBottom||0,o.paddingTop=i.paddingTop||0,t.idToDummyNode[r]=o;var s=t.getGraphManager().add(t.newGraph(),o),c=i.getChild();c.add(o);for(var u=0;u=0;t--){var e=this.compoundOrder[t],n=e.id,r=e.paddingLeft,i=e.paddingTop;this.adjustLocations(this.tiledMemberPack[n],e.rect.x,e.rect.y,r,i)}},y.prototype.repopulateZeroDegreeMembers=function(){var t=this,e=this.tiledZeroDegreePack;Object.keys(e).forEach((function(n){var r=t.idToDummyNode[n],i=r.paddingLeft,o=r.paddingTop;t.adjustLocations(e[n],r.rect.x,r.rect.y,i,o)}))},y.prototype.getToBeTiled=function(t){var e=t.id;if(null!=this.toBeTiled[e])return this.toBeTiled[e];var n=t.getChild();if(null==n)return this.toBeTiled[e]=!1,!1;for(var r=n.getNodes(),i=0;i0)return this.toBeTiled[e]=!1,!1;if(null!=o.getChild()){if(!this.getToBeTiled(o))return this.toBeTiled[e]=!1,!1}else this.toBeTiled[o.id]=!1}return this.toBeTiled[e]=!0,!0},y.prototype.getNodeDegree=function(t){t.id;for(var e=t.getEdges(),n=0,r=0;rc&&(c=l.rect.height)}n+=c+t.verticalPadding}},y.prototype.tileCompoundMembers=function(t,e){var n=this;this.tiledMemberPack=[],Object.keys(t).forEach((function(r){var i=e[r];n.tiledMemberPack[r]=n.tileNodes(t[r],i.paddingLeft+i.paddingRight),i.rect.width=n.tiledMemberPack[r].width,i.rect.height=n.tiledMemberPack[r].height}))},y.prototype.tileNodes=function(t,e){var n={rows:[],rowWidth:[],rowHeight:[],width:0,height:e,verticalPadding:c.TILING_PADDING_VERTICAL,horizontalPadding:c.TILING_PADDING_HORIZONTAL};t.sort((function(t,e){return t.rect.width*t.rect.height>e.rect.width*e.rect.height?-1:t.rect.width*t.rect.height0&&(o+=t.horizontalPadding),t.rowWidth[n]=o,t.width0&&(a+=t.verticalPadding);var s=0;a>t.rowHeight[n]&&(s=t.rowHeight[n],t.rowHeight[n]=a,s=t.rowHeight[n]-s),t.height+=s,t.rows[n].push(e)},y.prototype.getShortestRowIndex=function(t){for(var e=-1,n=Number.MAX_VALUE,r=0;rn&&(e=r,n=t.rowWidth[r]);return e},y.prototype.canAddHorizontal=function(t,e,n){var r=this.getShortestRowIndex(t);if(r<0)return!0;var i=t.rowWidth[r];if(i+t.horizontalPadding+e<=t.width)return!0;var o,a,s=0;return t.rowHeight[r]0&&(s=n+t.verticalPadding-t.rowHeight[r]),o=t.width-i>=e+t.horizontalPadding?(t.height+s)/(i+e+t.horizontalPadding):(t.height+s)/t.width,s=n+t.verticalPadding,(a=t.widtho&&e!=n){r.splice(-1,1),t.rows[n].push(i),t.rowWidth[e]=t.rowWidth[e]-o,t.rowWidth[n]=t.rowWidth[n]+o,t.width=t.rowWidth[instance.getLongestRowIndex(t)];for(var a=Number.MIN_VALUE,s=0;sa&&(a=r[s].height);e>0&&(a+=t.verticalPadding);var c=t.rowHeight[e]+t.rowHeight[n];t.rowHeight[e]=a,t.rowHeight[n]0)for(var l=i;l<=o;l++)c[0]+=this.grid[l][a-1].length+this.grid[l][a].length-1;if(o0)for(l=a;l<=s;l++)c[3]+=this.grid[i-1][l].length+this.grid[i][l].length-1;for(var h,f,d=p.MAX_VALUE,g=0;g{"use strict";n.d(e,{Z:()=>s});var r=n(8081),i=n.n(r),o=n(3645),a=n.n(o)()(i());a.push([t.id,".cytoscape-reference p {\n display: inline;\n}\n\n.custom-menu-item {\n background-color: rgb(241, 241, 241);\n font-weight: bold !important;\n width: 170px;\n display: inline-block;\n height: 38px;\n padding: 0 30px;\n color: #555;\n text-align: center;\n font-size: 11px;\n font-weight: 600;\n line-height: 38px;\n letter-spacing: 0.1rem;\n text-decoration: none;\n white-space: nowrap;\n border-radius: 4px;\n border: 1px solid #bbb;\n cursor: pointer;\n box-sizing: border-box;\n}\n.custom-menu-item:hover {\n color: rgb(104, 104, 104);\n border-color: rgb(97, 97, 97);\n outline: 0;\n}\n\n.cy-context-menus-cxt-menu {\n display: none;\n}\n",""]);const s=a},3645:t=>{"use strict";t.exports=function(t){var e=[];return e.toString=function(){return this.map((function(e){var n="",r=void 0!==e[5];return e[4]&&(n+="@supports (".concat(e[4],") {")),e[2]&&(n+="@media ".concat(e[2]," {")),r&&(n+="@layer".concat(e[5].length>0?" ".concat(e[5]):""," {")),n+=t(e),r&&(n+="}"),e[2]&&(n+="}"),e[4]&&(n+="}"),n})).join("")},e.i=function(t,n,r,i,o){"string"==typeof t&&(t=[[null,t,void 0]]);var a={};if(r)for(var s=0;s0?" ".concat(l[5]):""," {").concat(l[1],"}")),l[5]=o),n&&(l[2]?(l[1]="@media ".concat(l[2]," {").concat(l[1],"}"),l[2]=n):l[2]=n),i&&(l[4]?(l[1]="@supports (".concat(l[4],") {").concat(l[1],"}"),l[4]=i):l[4]="".concat(i)),e.push(l))}},e}},8081:t=>{"use strict";t.exports=function(t){return t[1]}},703:function(t,e,n){var r;r=function(t){return function(t){var e={};function n(r){if(e[r])return e[r].exports;var i=e[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=t,n.c=e,n.i=function(t){return t},n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:r})},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=3)}([function(t,e,n){"use strict";var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i=n(1),o=n(2),a=n(5)||("undefined"!=typeof window?window.cola:null),s=n(4),c=function(t){return(void 0===t?"undefined":r(t))===r(0)},u=function(){},l=function(t,e){return function(t){return null!=t&&(void 0===t?"undefined":r(t))===r((function(){}))}(t)?t.apply(e,[e]):t};function h(t){this.options=i({},o,t)}h.prototype.run=function(){var t=this,e=this.options;t.manuallyStopped=!1;var n=e.cy,i=e.eles,o=i.nodes(),h=i.edges(),f=!1,d=o.filter((function(t){return t.isParent()})),p=o.subtract(d),g=e.boundingBox||{x1:0,y1:0,w:n.width(),h:n.height()};void 0===g.x2&&(g.x2=g.x1+g.w),void 0===g.w&&(g.w=g.x2-g.x1),void 0===g.y2&&(g.y2=g.y1+g.h),void 0===g.h&&(g.h=g.y2-g.y1);var v=function(){for(var t=0;t0&&w.constraints(T),w.groups(d.map((function(t,n){var r=l(e.nodeSpacing,t),i=function(e){return parseFloat(t.style("padding-"+e))},o=i("left")+r,a=i("right")+r,s=i("top")+r,c=i("bottom")+r;return t.scratch().cola={index:n,padding:Math.max(o,a,s,c),leaves:t.children().intersection(p).map((function(t){return t[0].scratch().cola.index})),fixed:t.locked()},t})).map((function(t){return t.scratch().cola.groups=t.children().intersection(d).map((function(t){return t.scratch().cola.index})),t.scratch().cola})));var C=void 0,N=void 0;if(null!=e.edgeLength?(C=e.edgeLength,N="linkDistance"):null!=e.edgeSymDiffLength?(C=e.edgeSymDiffLength,N="symmetricDiffLinkLengths"):null!=e.edgeJaccardLength?(C=e.edgeJaccardLength,N="jaccardLinkLengths"):(C=100,N="linkDistance"),w.links(h.stdFilter((function(t){return p.contains(t.source())&&p.contains(t.target())})).map((function(t){var e=t.scratch().cola={source:t.source()[0].scratch().cola.index,target:t.target()[0].scratch().cola.index};return null!=C&&(e.calcLength=l(C,t)),e}))),w.size([g.w,g.h]),null!=C&&w[N]((function(t){return t.calcLength})),e.flow){var A=void 0;!function(t){return(void 0===t?"undefined":r(t))===r("")}(e.flow)?c(e.flow)?A={axis:"y",minSeparation:e.flow}:function(t){return null!=t&&(void 0===t?"undefined":r(t))===r({})}(e.flow)?((A=e.flow).axis=A.axis||"y",A.minSeparation=null!=A.minSeparation?A.minSeparation:50):A={axis:"y",minSeparation:50}:A={axis:e.flow,minSeparation:50},w.flowLayout(A.axis,A.minSeparation)}return t.trigger({type:"layoutstart",layout:t}),w.avoidOverlaps(e.avoidOverlap).handleDisconnected(e.handleDisconnected).start(e.unconstrIter,e.userConstIter,e.allConstIter,void 0,void 0,e.centerGraph),e.infinite||setTimeout((function(){t.manuallyStopped||w.stop()}),e.maxSimulationTime),this},h.prototype.stop=function(){return this.adaptor&&(this.manuallyStopped=!0,this.adaptor.stop()),this},t.exports=h},function(t,e,n){"use strict";t.exports=null!=Object.assign?Object.assign.bind(Object):function(t){for(var e=arguments.length,n=Array(e>1?e-1:0),r=1;r{self,t.exports=(()=>{var t={621:(t,e,n)=>{"use strict";function r(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);nS});var s="cy-context-menus-divider",c={evtType:"cxttap",menuItems:[],menuItemClasses:["cy-context-menus-cxt-menuitem"],contextMenuClasses:["cy-context-menus-cxt-menu"],submenuIndicator:{src:"assets/submenu-indicator-default.svg",width:12,height:12}};function u(t){return(u="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function l(t,e){var n;if("undefined"==typeof Symbol||null==t[Symbol.iterator]){if(Array.isArray(t)||(n=function(t,e){if(t){if("string"==typeof t)return h(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?h(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var r=0,i=function(){};return{s:i,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=t[Symbol.iterator]()},n:function(){var t=n.next();return a=t.done,t},e:function(t){s=!0,o=t},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function h(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n1&&void 0!==arguments[1]?arguments[1]:void 0;this.hasSubmenu()||this._createSubmenu(),this.submenu.appendMenuItem(t,e)}},{key:"isClickable",value:function(){return void 0!==this.onClickFunction}},{key:"display",value:function(){this.show=!0,this.style.display="block"}},{key:"isVisible",value:function(){return!0===this.show&&"none"!==this.style.display}},{key:"removeSubmenu",value:function(){this.hasSubmenu()&&(this.submenu.removeAllMenuItems(),this.detachSubmenu())}},{key:"detachSubmenu",value:function(){this.hasSubmenu()&&(this.removeChild(this.submenu),this.removeChild(this.indicator),this.removeEventListener("mouseenter",this.mouseEnterHandler),this.removeEventListener("mouseleave",this.mouseLeaveHandler),this.submenu=void 0,this.indicator=void 0)}},{key:"_onMouseEnter",value:function(t){var e=this.getBoundingClientRect(),r=function(t){t.style.opacity="0",t.style.display="block";var e=t.getBoundingClientRect();return t.style.opacity="1",t.style.display="none",e}(this.submenu),i=e.right+r.width>window.innerWidth,o=e.top+r.height>window.innerHeight;i||o?i&&!o?(this.submenu.style.right=this.clientWidth+"px",this.submenu.style.top="0px",this.submenu.style.left="auto",this.submenu.style.bottom="auto"):i&&o?(this.submenu.style.right=this.clientWidth+"px",this.submenu.style.bottom="0px",this.submenu.style.top="auto",this.submenu.style.left="auto"):(this.submenu.style.left=this.clientWidth+"px",this.submenu.style.bottom="0px",this.submenu.style.right="auto",this.submenu.style.top="auto"):(this.submenu.style.left=this.clientWidth+"px",this.submenu.style.top="0px",this.submenu.style.right="auto",this.submenu.style.bottom="auto"),this.submenu.display();var a=Array.from(this.submenu.children).filter((function(t){if(t instanceof n)return t.isVisible()})),c=a.length;a.forEach((function(t,e){t instanceof n&&(e=(o=n.getBoundingClientRect()).left&&r<=o.right&&i>=o.top&&i<=o.bottom||this.submenu.hide()}},{key:"_createSubmenu",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];this.indicator=this.scratchpad.submenuIndicatorGen(),this.submenu=new C(this.onMenuItemClick,this.scratchpad),this.appendChild(this.indicator),this.appendChild(this.submenu);var e,r=l(t);try{for(r.s();!(e=r.n()).done;){var i=new n(e.value,this.onMenuItemClick,this.scratchpad);this.submenu.appendMenuItem(i)}}catch(t){r.e(t)}finally{r.f()}this.mouseEnterHandler=this._onMouseEnter.bind(this),this.mouseLeaveHandler=this._onMouseLeave.bind(this),this.addEventListener("mouseenter",this.mouseEnterHandler),this.addEventListener("mouseleave",this.mouseLeaveHandler)}},{key:"_getMenuItemClassStr",value:function(t,e){return e?t+" "+s:t}}],[{key:"define",value:function(){a("ctx-menu-item",n,"button")}}]),n}(m(HTMLButtonElement)),C=function(t){g(n,t);var e=v(n);function n(t,r){var i,o;return f(this,n),y((i=b(o=e.call(this)),E(n.prototype)),"setAttribute",i).call(i,"class",r.cxtMenuClasses),o.style.position="absolute",o.onMenuItemClick=t,o.scratchpad=r,o}return p(n,[{key:"hide",value:function(){this.isVisible()&&(this.hideSubmenus(),this.style.display="none")}},{key:"display",value:function(){this.style.display="block"}},{key:"isVisible",value:function(){return"none"!==this.style.display}},{key:"hideMenuItems",value:function(){var t,e=l(this.children);try{for(e.s();!(t=e.n()).done;){var n=t.value;n instanceof HTMLElement?n.style.display="none":console.warn("".concat(n," is not a HTMLElement"))}}catch(t){e.e(t)}finally{e.f()}}},{key:"hideSubmenus",value:function(){var t,e=l(this.children);try{for(e.s();!(t=e.n()).done;){var n=t.value;n instanceof T&&n.submenu&&n.submenu.hide()}}catch(t){e.e(t)}finally{e.f()}}},{key:"appendMenuItem",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0;if(void 0!==e){if(e.parentNode!==this)throw new Error("The item with id='".concat(e.id,"' is not a child of the context menu"));this.insertBefore(t,e)}else this.appendChild(t);t.isClickable()&&this._performBindings(t)}},{key:"moveBefore",value:function(t,e){if(t.parentNode!==this)throw new Error("The item with id='".concat(t.id,"' is not a child of context menu"));if(e.parentNode!==this)throw new Error("The item with id='".concat(e.id,"' is not a child of context menu"));this.removeChild(t),this.insertBefore(t,e)}},{key:"removeAllMenuItems",value:function(){for(;this.firstChild;){var t=this.lastChild;t instanceof T?this._removeImmediateMenuItem(t):(console.warn("Found non menu item in the context menu: ",t),this.removeChild(t))}}},{key:"_removeImmediateMenuItem",value:function(t){if(!this._detachImmediateMenuItem(t))throw new Error("menu item(id=".concat(t.id,") is not in the context menu"));t.detachSubmenu(),t.unbindOnClickFunctions()}},{key:"_detachImmediateMenuItem",value:function(t){if(t.parentNode===this){if(this.removeChild(t),this.children.length<=0){var e=this.parentNode;e instanceof T&&e.detachSubmenu()}return!0}return!1}},{key:"_performBindings",value:function(t){var e=this._bindOnClick(t.onClickFunction);t.bindOnClickFunction(e),t.bindOnClickFunction(this.onMenuItemClick)}},{key:"_bindOnClick",value:function(t){var e=this;return function(){var n=e.scratchpad.currentCyEvent;t(n)}}}],[{key:"define",value:function(){a("menu-item-list",n,"div")}}]),n}(m(HTMLDivElement)),N=function(t){g(n,t);var e=v(n);function n(t,r){var i;return f(this,n),(i=e.call(this,t,r)).onMenuItemClick=function(e){k(e),i.hide(),t()},i}return p(n,[{key:"removeMenuItem",value:function(t){var e=t.parentElement;e instanceof C&&this.contains(e)&&e._removeImmediateMenuItem(t)}},{key:"appendMenuItem",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0;this.ensureDoesntContain(t.id),y(E(n.prototype),"appendMenuItem",this).call(this,t,e)}},{key:"insertMenuItem",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=e.before,r=e.parent;if(this.ensureDoesntContain(t.id),void 0!==n){if(!this.contains(n))throw new Error("before(id=".concat(n.id,") is not in the context menu"));var i=n.parentNode;if(!(i instanceof C))throw new Error("Parent of before(id=".concat(n.id,") is not a submenu"));i.appendMenuItem(t,n)}else if(void 0!==r){if(!this.contains(r))throw new Error("parent(id=".concat(r.id,") is not a descendant of the context menu"));r.appendSubmenuItem(t)}else this.appendMenuItem(t)}},{key:"moveBefore",value:function(t,e){var n=t.parentElement;if(!this.contains(n))throw new Error("parent(id=".concat(n.id,") is not in the contex menu"));if(!this.contains(e))throw new Error("before(id=".concat(e.id,") is not in the context menu"));n.removeChild(t),this.insertMenuItem(t,{before:e})}},{key:"moveToSubmenu",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,r=t.parentElement;if(!(r instanceof C))throw new Error("current parent(id=".concat(r.id,") is not a submenu"));if(!this.contains(r))throw new Error("parent of the menu item(id=".concat(r.id,") is not in the context menu"));if(null!==e){if(!this.contains(e))throw new Error("parent(id=".concat(e.id,") is not in the context menu"));r._detachImmediateMenuItem(t),e.appendSubmenuItem(t)}else null!==n&&(t.selector=n.selector,t.coreAsWell=n.coreAsWell),r._detachImmediateMenuItem(t),this.appendMenuItem(t)}},{key:"ensureDoesntContain",value:function(t){var e=document.getElementById(t);if(void 0!==e&&this.contains(e))throw new Error("There is already an element with id=".concat(t," in the context menu"))}}],[{key:"define",value:function(){a("ctx-menu",n,"div")}}]),n}(C);function A(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n1&&void 0!==arguments[1]?arguments[1]:void 0,n=p(t);if(void 0!==e){var r=v(e);h.insertMenuItem(n,{parent:r})}else h.insertMenuItem(n)},d=function(t){for(var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,n=0;n0&&(s.top+=f,s.left+=f);var d=r.clientHeight,p=r.clientWidth,g=d/2,v=p/2;c.y>g&&c.x<=v?(h.style.left=c.x+"px",h.style.bottom=d-c.y+"px",h.style.right="auto",h.style.top="auto"):c.y>g&&c.x>v?(h.style.right=p-c.x+"px",h.style.bottom=d-c.y+"px",h.style.left="auto",h.style.top="auto"):c.y<=g&&c.x<=v?(h.style.left=c.x+"px",h.style.top=c.y+"px",h.style.right="auto",h.style.bottom="auto"):(h.style.right=p-c.x+"px",h.style.top=c.y+"px",h.style.left="auto",h.style.bottom="auto")}}(t);var n,r=t.target||t.cyTarget,i=function(t,e){var n;if("undefined"==typeof Symbol||null==t[Symbol.iterator]){if(Array.isArray(t)||(n=function(t,e){if(t){if("string"==typeof t)return A(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?A(t,e):void 0}}(t))){n&&(t=n);var r=0,i=function(){};return{s:i,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=t[Symbol.iterator]()},n:function(){var t=n.next();return a=t.done,t},e:function(t){s=!0,o=t},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}(h.children);try{for(i.s();!(n=i.n()).done;){var o=n.value;o instanceof T&&(r===e?o.coreAsWell:r.is(o.selector))&&o.show&&(h.display(),u("anyVisibleChild",!0),o.display())}}catch(t){i.e(t)}finally{i.f()}var c=Array.from(h.children).filter((function(t){if(t instanceof T)return t.isVisible()})),l=c.length;c.forEach((function(t,e){t instanceof T&&(e=t.length?{done:!0}:{done:!1,value:t[i++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,s=!0,c=!1;return{s:function(){n=t[Symbol.iterator]()},n:function(){var t=n.next();return s=t.done,t},e:function(t){c=!0,a=t},f:function(){try{s||null==n.return||n.return()}finally{if(c)throw a}}}}(document.getElementsByClassName("cy-context-menus-cxt-menu"));try{for(e.s();!(t=e.n()).done;)t.value.addEventListener("contextmenu",(function(t){return t.preventDefault()}))}catch(t){e.e(t)}finally{e.f()}}()}return function(t){return{isActive:function(){return a("active")},appendMenuItem:function(e){return f(e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0),t},appendMenuItems:function(e){return d(e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0),t},removeMenuItem:function(e){var n=v(e);return h.removeMenuItem(n),t},setTrailingDivider:function(e,n){var r=v(e);return r.setHasTrailingDivider(n),n?r.classList.add(s):r.classList.remove(s),t},insertBeforeMenuItem:function(e,n){var r=p(e),i=v(n);return h.insertMenuItem(r,{before:i}),t},moveToSubmenu:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=v(e);if(null===n)h.moveToSubmenu(r);else if("string"==typeof n){var i=v(n.toString());h.moveToSubmenu(r,i)}else void 0!==n.coreAsWell||void 0!==n.selector?h.moveToSubmenu(r,null,n):console.warn("options neither has coreAsWell nor selector property but it is an object. Are you sure that this is what you want to do?");return t},moveBeforeOtherMenuItem:function(e,n){var r=v(e),i=v(n);return h.moveBefore(r,i),t},disableMenuItem:function(e){return v(e).disable(),t},enableMenuItem:function(e){return v(e).enable(),t},hideMenuItem:function(e){return v(e).hide(),t},showMenuItem:function(e){return v(e).display(),t},destroy:function(){return g(),t}}}(this)}},579:(t,e,n)=>{var r=n(621).contextMenus,i=function(t){t&&t("core","contextMenus",r)};"undefined"!=typeof cytoscape&&i(cytoscape),t.exports=i}},e={};function n(r){var i=e[r];if(void 0!==i)return i.exports;var o=e[r]={exports:{}};return t[r](o,o.exports,n),o.exports}return n.d=(t,e)=>{for(var r in e)n.o(e,r)&&!n.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),n.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n(579)})()},4607:function(t,e,n){var r;r=function(t){return function(t){var e={};function n(r){if(e[r])return e[r].exports;var i=e[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=t,n.c=e,n.i=function(t){return t},n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:r})},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=1)}([function(e,n){e.exports=t},function(t,e,n){"use strict";var r=n(0).layoutBase.LayoutConstants,i=n(0).layoutBase.FDLayoutConstants,o=n(0).CoSEConstants,a=n(0).CoSELayout,s=n(0).CoSENode,c=n(0).layoutBase.PointD,u=n(0).layoutBase.DimensionD,l={ready:function(){},stop:function(){},quality:"default",nodeDimensionsIncludeLabels:!1,refresh:30,fit:!0,padding:10,randomize:!0,nodeRepulsion:4500,idealEdgeLength:50,edgeElasticity:.45,nestingFactor:.1,gravity:.25,numIter:2500,tile:!0,animate:"end",animationDuration:500,tilingPaddingVertical:10,tilingPaddingHorizontal:10,gravityRangeCompound:1.5,gravityCompound:1,gravityRange:3.8,initialEnergyOnIncremental:.5};function h(t){this.options=function(t,e){var n={};for(var r in t)n[r]=t[r];for(var r in e)n[r]=e[r];return n}(l,t),f(this.options)}var f=function(t){null!=t.nodeRepulsion&&(o.DEFAULT_REPULSION_STRENGTH=i.DEFAULT_REPULSION_STRENGTH=t.nodeRepulsion),null!=t.idealEdgeLength&&(o.DEFAULT_EDGE_LENGTH=i.DEFAULT_EDGE_LENGTH=t.idealEdgeLength),null!=t.edgeElasticity&&(o.DEFAULT_SPRING_STRENGTH=i.DEFAULT_SPRING_STRENGTH=t.edgeElasticity),null!=t.nestingFactor&&(o.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=i.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=t.nestingFactor),null!=t.gravity&&(o.DEFAULT_GRAVITY_STRENGTH=i.DEFAULT_GRAVITY_STRENGTH=t.gravity),null!=t.numIter&&(o.MAX_ITERATIONS=i.MAX_ITERATIONS=t.numIter),null!=t.gravityRange&&(o.DEFAULT_GRAVITY_RANGE_FACTOR=i.DEFAULT_GRAVITY_RANGE_FACTOR=t.gravityRange),null!=t.gravityCompound&&(o.DEFAULT_COMPOUND_GRAVITY_STRENGTH=i.DEFAULT_COMPOUND_GRAVITY_STRENGTH=t.gravityCompound),null!=t.gravityRangeCompound&&(o.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=i.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=t.gravityRangeCompound),null!=t.initialEnergyOnIncremental&&(o.DEFAULT_COOLING_FACTOR_INCREMENTAL=i.DEFAULT_COOLING_FACTOR_INCREMENTAL=t.initialEnergyOnIncremental),"draft"==t.quality?r.QUALITY=0:"proof"==t.quality?r.QUALITY=2:r.QUALITY=1,o.NODE_DIMENSIONS_INCLUDE_LABELS=i.NODE_DIMENSIONS_INCLUDE_LABELS=r.NODE_DIMENSIONS_INCLUDE_LABELS=t.nodeDimensionsIncludeLabels,o.DEFAULT_INCREMENTAL=i.DEFAULT_INCREMENTAL=r.DEFAULT_INCREMENTAL=!t.randomize,o.ANIMATE=i.ANIMATE=r.ANIMATE=t.animate,o.TILE=t.tile,o.TILING_PADDING_VERTICAL="function"==typeof t.tilingPaddingVertical?t.tilingPaddingVertical.call():t.tilingPaddingVertical,o.TILING_PADDING_HORIZONTAL="function"==typeof t.tilingPaddingHorizontal?t.tilingPaddingHorizontal.call():t.tilingPaddingHorizontal};h.prototype.run=function(){var t,e,n=this.options,r=(this.idToLNode={},this.layout=new a),i=this;i.stopped=!1,this.cy=this.options.cy,this.cy.trigger({type:"layoutstart",layout:this});var o=r.newGraphManager();this.gm=o;var s=this.options.eles.nodes(),c=this.options.eles.edges();this.root=o.addRoot(),this.processChildrenList(this.root,this.getTopMostNodes(s),r);for(var u=0;u0&&(a=n.getGraphManager().add(n.newGraph(),o),this.processChildrenList(a,h,n))}},h.prototype.stop=function(){return this.stopped=!0,this};var d=function(t){t("layout","cose-bilkent",h)};"undefined"!=typeof cytoscape&&d(cytoscape),t.exports=d}])},t.exports=r(n(4182))},9142:function(t,e,n){var r;r=function(t){return function(t){var e={};function n(r){if(e[r])return e[r].exports;var i=e[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)n.d(r,i,function(e){return t[e]}.bind(null,i));return r},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=0)}([function(t,e,n){var r=n(1),i=function(t){t&&t("layout","dagre",r)};"undefined"!=typeof cytoscape&&i(cytoscape),t.exports=i},function(t,e,n){function r(t){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},r(t)}var i=function(t){return"function"==typeof t},o=n(2),a=n(3),s=n(4);function c(t){this.options=a({},o,t)}c.prototype.run=function(){var t=this.options,e=t.cy,n=t.eles,o=function(t,e){return i(e)?e.apply(t,[t]):e},a=t.boundingBox||{x1:0,y1:0,w:e.width(),h:e.height()};void 0===a.x2&&(a.x2=a.x1+a.w),void 0===a.w&&(a.w=a.x2-a.x1),void 0===a.y2&&(a.y2=a.y1+a.h),void 0===a.h&&(a.h=a.y2-a.y1);var c=new s.graphlib.Graph({multigraph:!0,compound:!0}),u={},l=function(t,e){null!=e&&(u[t]=e)};l("nodesep",t.nodeSep),l("edgesep",t.edgeSep),l("ranksep",t.rankSep),l("rankdir",t.rankDir),l("align",t.align),l("ranker",t.ranker),l("acyclicer",t.acyclicer),c.setGraph(u),c.setDefaultEdgeLabel((function(){return{}})),c.setDefaultNodeLabel((function(){return{}}));var h=n.nodes();i(t.sort)&&(h=h.sort(t.sort));for(var f=0;f1?e-1:0),r=1;r1?e-1:0),r=1;r1&&(c.velocity.x=l/f,c.velocity.y=h/f),r=e*c.velocity.x,o=e*c.velocity.y,c.pos.x+=r,c.pos.y+=o,i+=Math.abs(r),a+=Math.abs(o)}}return(i*i+a*a)/s}}},function(t,e,n){"use strict";var r=n(9),i=n(8),o=function(t,e){var n=Math.abs(t.x-e.x),r=Math.abs(t.y-e.y);return n<1e-8&&r<1e-8};function a(t,e){return 0===e?t.quad0:1===e?t.quad1:2===e?t.quad2:3===e?t.quad3:null}function s(t,e,n){0===e?t.quad0=n:1===e?t.quad1=n:2===e?t.quad2=n:3===e&&(t.quad3=n)}t.exports={makeQuadtree:function(){var t=[],e=new i,n=[],c=0,u=l();function l(){var t=n[c];return t?(t.quad0=null,t.quad1=null,t.quad2=null,t.quad3=null,t.body=null,t.mass=t.massX=t.massY=0,t.left=t.right=t.top=t.bottom=0):(t=new r,n[c]=t),++c,t}function h(t){for(e.reset(),e.push(u,t);!e.isEmpty();){var n=e.pop(),r=n.node,i=n.body;if(r.body){var c=r.body;if(r.body=null,o(c.pos,i.pos)){var h=3;do{var f=Math.random(),d=(r.right-r.left)*f,p=(r.bottom-r.top)*f;c.pos.x=r.left+d,c.pos.y=r.top+p,h-=1}while(h>0&&o(c.pos,i.pos));if(0===h&&o(c.pos,i.pos))return}e.push(r,c),e.push(r,i)}else{var g=i.pos.x,v=i.pos.y;r.mass=r.mass+i.mass,r.massX=r.massX+i.mass*g,r.massY=r.massY+i.mass*v;var b=0,y=r.left,m=(r.right+y)/2,w=r.top,x=(r.bottom+w)/2;g>m&&(b+=1,y=m,m=r.right),v>x&&(b+=2,w=x,x=r.bottom);var _=a(r,b);_?e.push(_,i):((_=l()).left=y,_.top=w,_.right=m,_.bottom=x,_.body=i,s(r,b,_))}}}return{insertBodies:function(t){if(0!==t.length){var e=Number.MAX_VALUE,n=Number.MAX_VALUE,r=Number.MIN_VALUE,i=Number.MIN_VALUE,o=void 0,a=t.length;for(o=a;o--;){var s=t[o].pos.x,f=t[o].pos.y;sr&&(r=s),fi&&(i=f)}var d=r-e,p=i-n;for(d>p?i=n+d:r=e+p,c=0,(u=l()).left=e,u.right=r,u.top=n,u.bottom=i,(o=a-1)>=0&&(u.body=t[o]);o--;)h(t[o])}},updateBodyForce:function(e,n,r,i){var o=t,a=void 0,s=void 0,c=void 0,l=void 0,h=0,f=0,d=1,p=0,g=1;o[0]=u,function(t){t.x=0,t.y=0}(e.force);var v=-e.pos.x,b=-e.pos.y,y=Math.sqrt(v*v+b*b),m=e.mass*i/y;for(h+=m*v,f+=m*b;d;){var w=o[p],x=w.body;d-=1,p+=1;var _=x!==e;x&&_?(s=x.pos.x-e.pos.x,c=x.pos.y-e.pos.y,0===(l=Math.sqrt(s*s+c*c))&&(s=(Math.random()-.5)/50,c=(Math.random()-.5)/50,l=Math.sqrt(s*s+c*c)),h+=(a=n*x.mass*e.mass/(l*l*l))*s,f+=a*c):_&&(s=w.massX/w.mass-e.pos.x,c=w.massY/w.mass-e.pos.y,0===(l=Math.sqrt(s*s+c*c))&&(s=(Math.random()-.5)/50,c=(Math.random()-.5)/50,l=Math.sqrt(s*s+c*c)),(w.right-w.left)/l0)return this.stack[--this.popIdx]},reset:function(){this.popIdx=0}}},function(t,e,n){"use strict";t.exports=function(){this.body=null,this.quad0=null,this.quad1=null,this.quad2=null,this.quad3=null,this.mass=0,this.massX=0,this.massY=0,this.left=0,this.top=0,this.bottom=0,this.right=0}},function(t,e,n){"use strict";var r=n(6).integrate,i=n(5).applyDrag,o=n(1).applySpring;t.exports={tick:function(t){var e=t.bodies,n=t.springs,a=t.quadtree,s=t.timeStep,c=t.gravity,u=t.theta,l=t.dragCoeff,h=t.pull;e.forEach((function(t){var e=t._scratch;e&&(t.locked=e.locked,t.grabbed=e.grabbed,t.pos.x=e.x,t.pos.y=e.y)})),a.insertBodies(e);for(var f=0;f=e.maxIterations||r>=e.maxSimulationTime)};t.exports={tick:i,multitick:function(t){for(var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:r,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:r,o=!1,a=t,s=0;s{"use strict";var e={658:t=>{t.exports=null!=Object.assign?Object.assign.bind(Object):function(t){for(var e=arguments.length,n=Array(e>1?e-1:0),r=1;r{var r=function(t,e){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return function(t,e){var n=[],r=!0,i=!1,o=void 0;try{for(var a,s=t[Symbol.iterator]();!(r=(a=s.next()).done)&&(n.push(a.value),!e||n.length!==e);r=!0);}catch(t){i=!0,o=t}finally{try{!r&&s.return&&s.return()}finally{if(i)throw o}}return n}(t,e);throw new TypeError("Invalid attempt to destructure non-iterable instance")},i=n(140).layoutBase.LinkedList,o={getTopMostNodes:function(t){for(var e={},n=0;n0&&u.merge(t)}));for(var l=0;l1){u=s[0],l=u.connectedEdges().length,s.forEach((function(t){t.connectedEdges().length0&&r.set("dummy"+(r.size+1),d),p},relocateComponent:function(t,e,n){if(!n.fixedNodeConstraint){var i=Number.POSITIVE_INFINITY,o=Number.NEGATIVE_INFINITY,a=Number.POSITIVE_INFINITY,s=Number.NEGATIVE_INFINITY;if("draft"==n.quality){var c=!0,u=!1,l=void 0;try{for(var h,f=e.nodeIndexes[Symbol.iterator]();!(c=(h=f.next()).done);c=!0){var d=h.value,p=r(d,2),g=p[0],v=p[1],b=n.cy.getElementById(g);if(b){var y=b.boundingBox(),m=e.xCoords[v]-y.w/2,w=e.xCoords[v]+y.w/2,x=e.yCoords[v]-y.h/2,_=e.yCoords[v]+y.h/2;mo&&(o=w),xs&&(s=_)}}}catch(t){u=!0,l=t}finally{try{!c&&f.return&&f.return()}finally{if(u)throw l}}var E=t.x-(o+i)/2,k=t.y-(s+a)/2;e.xCoords=e.xCoords.map((function(t){return t+E})),e.yCoords=e.yCoords.map((function(t){return t+k}))}else{Object.keys(e).forEach((function(t){var n=e[t],r=n.getRect().x,c=n.getRect().x+n.getRect().width,u=n.getRect().y,l=n.getRect().y+n.getRect().height;ro&&(o=c),us&&(s=l)}));var T=t.x-(o+i)/2,C=t.y-(s+a)/2;Object.keys(e).forEach((function(t){var n=e[t];n.setCenter(n.getCenterX()+T,n.getCenterY()+C)}))}}},calcBoundingBox:function(t,e,n,r){for(var i=Number.MAX_SAFE_INTEGER,o=Number.MIN_SAFE_INTEGER,a=Number.MAX_SAFE_INTEGER,s=Number.MIN_SAFE_INTEGER,c=void 0,u=void 0,l=void 0,h=void 0,f=t.descendants().not(":parent"),d=f.length,p=0;p(c=e[r.get(g.id())]-g.width()/2)&&(i=c),o<(u=e[r.get(g.id())]+g.width()/2)&&(o=u),a>(l=n[r.get(g.id())]-g.height()/2)&&(a=l),s<(h=n[r.get(g.id())]+g.height()/2)&&(s=h)}var v={};return v.topLeftX=i,v.topLeftY=a,v.width=o-i,v.height=s-a,v},calcParentsWithoutChildren:function(t,e){var n=t.collection();return e.nodes(":parent").forEach((function(t){var e=!1;t.children().forEach((function(t){"none"!=t.css("display")&&(e=!0)})),e||n.merge(t)})),n}};t.exports=o},816:(t,e,n)=>{var r=n(548),i=n(140).CoSELayout,o=n(140).CoSENode,a=n(140).layoutBase.PointD,s=n(140).layoutBase.DimensionD,c=n(140).layoutBase.LayoutConstants,u=n(140).layoutBase.FDLayoutConstants,l=n(140).CoSEConstants;t.exports={coseLayout:function(t,e){var n=t.cy,h=t.eles,f=h.nodes(),d=h.edges(),p=void 0,g=void 0,v=void 0,b={};t.randomize&&(p=e.nodeIndexes,g=e.xCoords,v=e.yCoords);var y=function(t){return"function"==typeof t},m=function(t,e){return y(t)?t(e):t},w=r.calcParentsWithoutChildren(n,h);null!=t.nestingFactor&&(l.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=u.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=t.nestingFactor),null!=t.gravity&&(l.DEFAULT_GRAVITY_STRENGTH=u.DEFAULT_GRAVITY_STRENGTH=t.gravity),null!=t.numIter&&(l.MAX_ITERATIONS=u.MAX_ITERATIONS=t.numIter),null!=t.gravityRange&&(l.DEFAULT_GRAVITY_RANGE_FACTOR=u.DEFAULT_GRAVITY_RANGE_FACTOR=t.gravityRange),null!=t.gravityCompound&&(l.DEFAULT_COMPOUND_GRAVITY_STRENGTH=u.DEFAULT_COMPOUND_GRAVITY_STRENGTH=t.gravityCompound),null!=t.gravityRangeCompound&&(l.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=u.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=t.gravityRangeCompound),null!=t.initialEnergyOnIncremental&&(l.DEFAULT_COOLING_FACTOR_INCREMENTAL=u.DEFAULT_COOLING_FACTOR_INCREMENTAL=t.initialEnergyOnIncremental),null!=t.tilingCompareBy&&(l.TILING_COMPARE_BY=t.tilingCompareBy),"proof"==t.quality?c.QUALITY=2:c.QUALITY=0,l.NODE_DIMENSIONS_INCLUDE_LABELS=u.NODE_DIMENSIONS_INCLUDE_LABELS=c.NODE_DIMENSIONS_INCLUDE_LABELS=t.nodeDimensionsIncludeLabels,l.DEFAULT_INCREMENTAL=u.DEFAULT_INCREMENTAL=c.DEFAULT_INCREMENTAL=!t.randomize,l.ANIMATE=u.ANIMATE=c.ANIMATE=t.animate,l.TILE=t.tile,l.TILING_PADDING_VERTICAL="function"==typeof t.tilingPaddingVertical?t.tilingPaddingVertical.call():t.tilingPaddingVertical,l.TILING_PADDING_HORIZONTAL="function"==typeof t.tilingPaddingHorizontal?t.tilingPaddingHorizontal.call():t.tilingPaddingHorizontal,l.DEFAULT_INCREMENTAL=u.DEFAULT_INCREMENTAL=c.DEFAULT_INCREMENTAL=!0,l.PURE_INCREMENTAL=!t.randomize,c.DEFAULT_UNIFORM_LEAF_NODE_SIZES=t.uniformNodeDimensions,"transformed"==t.step&&(l.TRANSFORM_ON_CONSTRAINT_HANDLING=!0,l.ENFORCE_CONSTRAINTS=!1,l.APPLY_LAYOUT=!1),"enforced"==t.step&&(l.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,l.ENFORCE_CONSTRAINTS=!0,l.APPLY_LAYOUT=!1),"cose"==t.step&&(l.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,l.ENFORCE_CONSTRAINTS=!1,l.APPLY_LAYOUT=!0),"all"==t.step&&(t.randomize?l.TRANSFORM_ON_CONSTRAINT_HANDLING=!0:l.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,l.ENFORCE_CONSTRAINTS=!0,l.APPLY_LAYOUT=!0),t.fixedNodeConstraint||t.alignmentConstraint||t.relativePlacementConstraint?l.TREE_REDUCTION_ON_INCREMENTAL=!1:l.TREE_REDUCTION_ON_INCREMENTAL=!0;var x=new i,_=x.newGraphManager();return function t(e,n,i,c){for(var u=n.length,l=0;l0&&t(i.getGraphManager().add(i.newGraph(),d),f,i,c)}}(_.addRoot(),r.getTopMostNodes(f),x,t),function(e,n,r){for(var i=0,o=0,a=0;a0?l.DEFAULT_EDGE_LENGTH=u.DEFAULT_EDGE_LENGTH=i/o:y(t.idealEdgeLength)?l.DEFAULT_EDGE_LENGTH=u.DEFAULT_EDGE_LENGTH=50:l.DEFAULT_EDGE_LENGTH=u.DEFAULT_EDGE_LENGTH=t.idealEdgeLength,l.MIN_REPULSION_DIST=u.MIN_REPULSION_DIST=u.DEFAULT_EDGE_LENGTH/10,l.DEFAULT_RADIAL_SEPARATION=u.DEFAULT_EDGE_LENGTH)}(x,_,d),function(t,e){e.fixedNodeConstraint&&(t.constraints.fixedNodeConstraint=e.fixedNodeConstraint),e.alignmentConstraint&&(t.constraints.alignmentConstraint=e.alignmentConstraint),e.relativePlacementConstraint&&(t.constraints.relativePlacementConstraint=e.relativePlacementConstraint)}(x,t),x.runLayout(),b}}},212:(t,e,n)=>{var r=function(){function t(t,e){for(var n=0;n0)if(h){var f=o.getTopMostNodes(t.eles.nodes());if((c=o.connectComponents(e,t.eles,f)).forEach((function(t){var e=t.boundingBox();u.push({x:e.x1+e.w/2,y:e.y1+e.h/2})})),t.randomize&&c.forEach((function(e){t.eles=e,r.push(a(t))})),"default"==t.quality||"proof"==t.quality){var d=e.collection();if(t.tile){var p=new Map,g=0,v={nodeIndexes:p,xCoords:[],yCoords:[]},b=[];if(c.forEach((function(t,e){0==t.edges().length&&(t.nodes().forEach((function(e,n){d.merge(t.nodes()[n]),e.isParent()||(v.nodeIndexes.set(t.nodes()[n].id(),g++),v.xCoords.push(t.nodes()[0].position().x),v.yCoords.push(t.nodes()[0].position().y))})),b.push(e))})),d.length>1){var y=d.boundingBox();u.push({x:y.x1+y.w/2,y:y.y1+y.h/2}),c.push(d),r.push(v);for(var m=b.length-1;m>=0;m--)c.splice(b[m],1),r.splice(b[m],1),u.splice(b[m],1)}}c.forEach((function(e,n){t.eles=e,i.push(s(t,r[n])),o.relocateComponent(u[n],i[n],t)}))}else c.forEach((function(e,n){o.relocateComponent(u[n],r[n],t)}));var w=new Set;if(c.length>1){var x=[],_=n.filter((function(t){return"none"==t.css("display")}));c.forEach((function(e,n){var a=void 0;if("draft"==t.quality&&(a=r[n].nodeIndexes),e.nodes().not(_).length>0){var s={edges:[],nodes:[]},c=void 0;e.nodes().not(_).forEach((function(e){if("draft"==t.quality)if(e.isParent()){var u=o.calcBoundingBox(e,r[n].xCoords,r[n].yCoords,a);s.nodes.push({x:u.topLeftX,y:u.topLeftY,width:u.width,height:u.height})}else c=a.get(e.id()),s.nodes.push({x:r[n].xCoords[c]-e.boundingbox().w/2,y:r[n].yCoords[c]-e.boundingbox().h/2,width:e.boundingbox().w,height:e.boundingbox().h});else i[n][e.id()]&&s.nodes.push({x:i[n][e.id()].getLeft(),y:i[n][e.id()].getTop(),width:i[n][e.id()].getWidth(),height:i[n][e.id()].getHeight()})})),e.edges().forEach((function(e){var c=e.source(),u=e.target();if("none"!=c.css("display")&&"none"!=u.css("display"))if("draft"==t.quality){var l=a.get(c.id()),h=a.get(u.id()),f=[],d=[];if(c.isParent()){var p=o.calcBoundingBox(c,r[n].xCoords,r[n].yCoords,a);f.push(p.topLeftX+p.width/2),f.push(p.topLeftY+p.height/2)}else f.push(r[n].xCoords[l]),f.push(r[n].yCoords[l]);if(u.isParent()){var g=o.calcBoundingBox(u,r[n].xCoords,r[n].yCoords,a);d.push(g.topLeftX+g.width/2),d.push(g.topLeftY+g.height/2)}else d.push(r[n].xCoords[h]),d.push(r[n].yCoords[h]);s.edges.push({startX:f[0],startY:f[1],endX:d[0],endY:d[1]})}else i[n][c.id()]&&i[n][u.id()]&&s.edges.push({startX:i[n][c.id()].getCenterX(),startY:i[n][c.id()].getCenterY(),endX:i[n][u.id()].getCenterX(),endY:i[n][u.id()].getCenterY()})})),s.nodes.length>0&&(x.push(s),w.add(n))}}));var E=l.packComponents(x,t.randomize).shifts;if("draft"==t.quality)r.forEach((function(t,e){var n=t.xCoords.map((function(t){return t+E[e].dx})),r=t.yCoords.map((function(t){return t+E[e].dy}));t.xCoords=n,t.yCoords=r}));else{var k=0;w.forEach((function(t){Object.keys(i[t]).forEach((function(e){var n=i[t][e];n.setCenter(n.getCenterX()+E[k].dx,n.getCenterY()+E[k].dy)})),k++}))}}}else{var T=t.eles.boundingBox();if(u.push({x:T.x1+T.w/2,y:T.y1+T.h/2}),t.randomize){var C=a(t);r.push(C)}"default"==t.quality||"proof"==t.quality?(i.push(s(t,r[0])),o.relocateComponent(u[0],i[0],t)):o.relocateComponent(u[0],r[0],t)}var N=function(e,n){if("default"==t.quality||"proof"==t.quality){"number"==typeof e&&(e=n);var o=void 0,a=void 0,s=e.data("id");return i.forEach((function(t){s in t&&(o={x:t[s].getRect().getCenterX(),y:t[s].getRect().getCenterY()},a=t[s])})),t.nodeDimensionsIncludeLabels&&(a.labelWidth&&("left"==a.labelPosHorizontal?o.x+=a.labelWidth/2:"right"==a.labelPosHorizontal&&(o.x-=a.labelWidth/2)),a.labelHeight&&("top"==a.labelPosVertical?o.y+=a.labelHeight/2:"bottom"==a.labelPosVertical&&(o.y-=a.labelHeight/2))),null==o&&(o={x:e.position("x"),y:e.position("y")}),{x:o.x,y:o.y}}var c=void 0;return r.forEach((function(t){var n=t.nodeIndexes.get(e.id());null!=n&&(c={x:t.xCoords[n],y:t.yCoords[n]})})),null==c&&(c={x:e.position("x"),y:e.position("y")}),{x:c.x,y:c.y}};if("default"==t.quality||"proof"==t.quality||t.randomize){var A=o.calcParentsWithoutChildren(e,n),S=n.filter((function(t){return"none"==t.css("display")}));t.eles=n.not(S),n.nodes().not(":parent").not(S).layoutPositions(this,t,N),A.length>0&&A.forEach((function(t){t.position(N(t))}))}else console.log("If randomize option is set to false, then quality option must be 'default' or 'proof'.")}}]),t}();t.exports=u},657:(t,e,n)=>{var r=n(548),i=n(140).layoutBase.Matrix,o=n(140).layoutBase.SVD;t.exports={spectralLayout:function(t){var e=t.cy,n=t.eles,a=n.nodes(),s=n.nodes(":parent"),c=new Map,u=new Map,l=new Map,h=[],f=[],d=[],p=[],g=[],v=[],b=[],y=[],m=void 0,w=1e8,x=1e-9,_=t.piTol,E=t.samplingType,k=t.nodeSeparation,T=void 0,C=function(t,e,n){for(var r=[],i=0,o=0,a=0,s=void 0,c=[],l=0,f=1,d=0;d=i;){a=r[i++];for(var p=h[a],b=0;bl&&(l=g[x],f=x)}return f};r.connectComponents(e,n,r.getTopMostNodes(a),c),s.forEach((function(t){r.connectComponents(e,n,r.getTopMostNodes(t.descendants().intersection(n)),c)}));for(var N=0,A=0;A0&&(r.isParent()?h[e].push(l.get(r.id())):h[e].push(r.id()))}))}));var R=function(t){var n=u.get(t),r=void 0;c.get(t).forEach((function(i){r=e.getElementById(i).isParent()?l.get(i):i,h[n].push(r),h[u.get(r)].push(t)}))},j=!0,G=!1,B=void 0;try{for(var F,H=c.keys()[Symbol.iterator]();!(j=(F=H.next()).done);j=!0)R(F.value)}catch(t){G=!0,B=t}finally{try{!j&&H.return&&H.return()}finally{if(G)throw B}}var Y=void 0;if((m=u.size)>2){T=m=1)break;u=c}for(var p=0;p=1)break;u=c}for(var b=0;b{var r=n(212),i=function(t){t&&t("layout","fcose",r)};"undefined"!=typeof cytoscape&&i(cytoscape),t.exports=i},140:e=>{e.exports=t}},n={},r=function t(r){var i=n[r];if(void 0!==i)return i.exports;var o=n[r]={exports:{}};return e[r](o,o.exports,t),o.exports}(579);return r})()},t.exports=r(n(6914))},6914:function(t,e,n){var r;r=function(t){return(()=>{"use strict";var e={45:(t,e,n)=>{var r={};r.layoutBase=n(551),r.CoSEConstants=n(806),r.CoSEEdge=n(767),r.CoSEGraph=n(880),r.CoSEGraphManager=n(578),r.CoSELayout=n(765),r.CoSENode=n(991),r.ConstraintHandler=n(902),t.exports=r},806:(t,e,n)=>{var r=n(551).FDLayoutConstants;function i(){}for(var o in r)i[o]=r[o];i.DEFAULT_USE_MULTI_LEVEL_SCALING=!1,i.DEFAULT_RADIAL_SEPARATION=r.DEFAULT_EDGE_LENGTH,i.DEFAULT_COMPONENT_SEPERATION=60,i.TILE=!0,i.TILING_PADDING_VERTICAL=10,i.TILING_PADDING_HORIZONTAL=10,i.TRANSFORM_ON_CONSTRAINT_HANDLING=!0,i.ENFORCE_CONSTRAINTS=!0,i.APPLY_LAYOUT=!0,i.RELAX_MOVEMENT_ON_CONSTRAINTS=!0,i.TREE_REDUCTION_ON_INCREMENTAL=!0,i.PURE_INCREMENTAL=i.DEFAULT_INCREMENTAL,t.exports=i},767:(t,e,n)=>{var r=n(551).FDLayoutEdge;function i(t,e,n){r.call(this,t,e,n)}for(var o in i.prototype=Object.create(r.prototype),r)i[o]=r[o];t.exports=i},880:(t,e,n)=>{var r=n(551).LGraph;function i(t,e,n){r.call(this,t,e,n)}for(var o in i.prototype=Object.create(r.prototype),r)i[o]=r[o];t.exports=i},578:(t,e,n)=>{var r=n(551).LGraphManager;function i(t){r.call(this,t)}for(var o in i.prototype=Object.create(r.prototype),r)i[o]=r[o];t.exports=i},765:(t,e,n)=>{var r=n(551).FDLayout,i=n(578),o=n(880),a=n(991),s=n(767),c=n(806),u=n(902),l=n(551).FDLayoutConstants,h=n(551).LayoutConstants,f=n(551).Point,d=n(551).PointD,p=n(551).DimensionD,g=n(551).Layout,v=n(551).Integer,b=n(551).IGeometry,y=n(551).LGraph,m=n(551).Transform,w=n(551).LinkedList;function x(){r.call(this),this.toBeTiled={},this.constraints={}}for(var _ in x.prototype=Object.create(r.prototype),r)x[_]=r[_];x.prototype.newGraphManager=function(){var t=new i(this);return this.graphManager=t,t},x.prototype.newGraph=function(t){return new o(null,this.graphManager,t)},x.prototype.newNode=function(t){return new a(this.graphManager,t)},x.prototype.newEdge=function(t){return new s(null,null,t)},x.prototype.initParameters=function(){r.prototype.initParameters.call(this,arguments),this.isSubLayout||(c.DEFAULT_EDGE_LENGTH<10?this.idealEdgeLength=10:this.idealEdgeLength=c.DEFAULT_EDGE_LENGTH,this.useSmartIdealEdgeLengthCalculation=c.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION,this.gravityConstant=l.DEFAULT_GRAVITY_STRENGTH,this.compoundGravityConstant=l.DEFAULT_COMPOUND_GRAVITY_STRENGTH,this.gravityRangeFactor=l.DEFAULT_GRAVITY_RANGE_FACTOR,this.compoundGravityRangeFactor=l.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR,this.prunedNodesAll=[],this.growTreeIterations=0,this.afterGrowthIterations=0,this.isTreeGrowing=!1,this.isGrowthFinished=!1)},x.prototype.initSpringEmbedder=function(){r.prototype.initSpringEmbedder.call(this),this.coolingCycle=0,this.maxCoolingCycle=this.maxIterations/l.CONVERGENCE_CHECK_PERIOD,this.finalTemperature=.04,this.coolingAdjuster=1},x.prototype.layout=function(){return h.DEFAULT_CREATE_BENDS_AS_NEEDED&&(this.createBendpoints(),this.graphManager.resetAllEdges()),this.level=0,this.classicLayout()},x.prototype.classicLayout=function(){if(this.nodesWithGravity=this.calculateNodesToApplyGravitationTo(),this.graphManager.setAllNodesToApplyGravitation(this.nodesWithGravity),this.calcNoOfChildrenForAllNodes(),this.graphManager.calcLowestCommonAncestors(),this.graphManager.calcInclusionTreeDepths(),this.graphManager.getRoot().calcEstimatedSize(),this.calcIdealEdgeLengths(),this.incremental)c.TREE_REDUCTION_ON_INCREMENTAL&&(this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation(),e=new Set(this.getAllNodes()),n=this.nodesWithGravity.filter((function(t){return e.has(t)})),this.graphManager.setAllNodesToApplyGravitation(n));else{var t=this.getFlatForest();if(t.length>0)this.positionNodesRadially(t);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var e=new Set(this.getAllNodes()),n=this.nodesWithGravity.filter((function(t){return e.has(t)}));this.graphManager.setAllNodesToApplyGravitation(n),this.positionNodesRandomly()}}return Object.keys(this.constraints).length>0&&(u.handleConstraints(this),this.initConstraintVariables()),this.initSpringEmbedder(),c.APPLY_LAYOUT&&this.runSpringEmbedder(),!0},x.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished){if(!(this.prunedNodesAll.length>0))return!0;this.isTreeGrowing=!0}if(this.totalIterations%l.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged()){if(!(this.prunedNodesAll.length>0))return!0;this.isTreeGrowing=!0}this.coolingCycle++,0==this.layoutQuality?this.coolingAdjuster=this.coolingCycle:1==this.layoutQuality&&(this.coolingAdjuster=this.coolingCycle/3),this.coolingFactor=Math.max(this.initialCoolingFactor-Math.pow(this.coolingCycle,Math.log(100*(this.initialCoolingFactor-this.finalTemperature))/Math.log(this.maxCoolingCycle))/100*this.coolingAdjuster,this.finalTemperature),this.animationPeriod=Math.ceil(this.initialAnimationPeriod*Math.sqrt(this.coolingFactor))}if(this.isTreeGrowing){if(this.growTreeIterations%10==0)if(this.prunedNodesAll.length>0){this.graphManager.updateBounds(),this.updateGrid(),this.growTree(this.prunedNodesAll),this.graphManager.resetAllNodesToApplyGravitation();var t=new Set(this.getAllNodes()),e=this.nodesWithGravity.filter((function(e){return t.has(e)}));this.graphManager.setAllNodesToApplyGravitation(e),this.graphManager.updateBounds(),this.updateGrid(),c.PURE_INCREMENTAL?this.coolingFactor=l.DEFAULT_COOLING_FACTOR_INCREMENTAL/2:this.coolingFactor=l.DEFAULT_COOLING_FACTOR_INCREMENTAL}else this.isTreeGrowing=!1,this.isGrowthFinished=!0;this.growTreeIterations++}if(this.isGrowthFinished){if(this.isConverged())return!0;this.afterGrowthIterations%10==0&&(this.graphManager.updateBounds(),this.updateGrid()),c.PURE_INCREMENTAL?this.coolingFactor=l.DEFAULT_COOLING_FACTOR_INCREMENTAL/2*((100-this.afterGrowthIterations)/100):this.coolingFactor=l.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var n=!this.isTreeGrowing&&!this.isGrowthFinished,r=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(n,r),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},x.prototype.getPositionsData=function(){for(var t=this.graphManager.getAllNodes(),e={},n=0;n0&&this.updateDisplacements(),e=0;e0&&(r.fixedNodeWeight=o)}if(this.constraints.relativePlacementConstraint){var a=new Map,s=new Map;if(this.dummyToNodeForVerticalAlignment=new Map,this.dummyToNodeForHorizontalAlignment=new Map,this.fixedNodesOnHorizontal=new Set,this.fixedNodesOnVertical=new Set,this.fixedNodeSet.forEach((function(e){t.fixedNodesOnHorizontal.add(e),t.fixedNodesOnVertical.add(e)})),this.constraints.alignmentConstraint){if(this.constraints.alignmentConstraint.vertical){var u=this.constraints.alignmentConstraint.vertical;for(n=0;n=2*t.length/3;r--)e=Math.floor(Math.random()*(r+1)),n=t[r],t[r]=t[e],t[e]=n;return t},this.nodesInRelativeHorizontal=[],this.nodesInRelativeVertical=[],this.nodeToRelativeConstraintMapHorizontal=new Map,this.nodeToRelativeConstraintMapVertical=new Map,this.nodeToTempPositionMapHorizontal=new Map,this.nodeToTempPositionMapVertical=new Map,this.constraints.relativePlacementConstraint.forEach((function(e){if(e.left){var n=a.has(e.left)?a.get(e.left):e.left,r=a.has(e.right)?a.get(e.right):e.right;t.nodesInRelativeHorizontal.includes(n)||(t.nodesInRelativeHorizontal.push(n),t.nodeToRelativeConstraintMapHorizontal.set(n,[]),t.dummyToNodeForVerticalAlignment.has(n)?t.nodeToTempPositionMapHorizontal.set(n,t.idToNodeMap.get(t.dummyToNodeForVerticalAlignment.get(n)[0]).getCenterX()):t.nodeToTempPositionMapHorizontal.set(n,t.idToNodeMap.get(n).getCenterX())),t.nodesInRelativeHorizontal.includes(r)||(t.nodesInRelativeHorizontal.push(r),t.nodeToRelativeConstraintMapHorizontal.set(r,[]),t.dummyToNodeForVerticalAlignment.has(r)?t.nodeToTempPositionMapHorizontal.set(r,t.idToNodeMap.get(t.dummyToNodeForVerticalAlignment.get(r)[0]).getCenterX()):t.nodeToTempPositionMapHorizontal.set(r,t.idToNodeMap.get(r).getCenterX())),t.nodeToRelativeConstraintMapHorizontal.get(n).push({right:r,gap:e.gap}),t.nodeToRelativeConstraintMapHorizontal.get(r).push({left:n,gap:e.gap})}else{var i=s.has(e.top)?s.get(e.top):e.top,o=s.has(e.bottom)?s.get(e.bottom):e.bottom;t.nodesInRelativeVertical.includes(i)||(t.nodesInRelativeVertical.push(i),t.nodeToRelativeConstraintMapVertical.set(i,[]),t.dummyToNodeForHorizontalAlignment.has(i)?t.nodeToTempPositionMapVertical.set(i,t.idToNodeMap.get(t.dummyToNodeForHorizontalAlignment.get(i)[0]).getCenterY()):t.nodeToTempPositionMapVertical.set(i,t.idToNodeMap.get(i).getCenterY())),t.nodesInRelativeVertical.includes(o)||(t.nodesInRelativeVertical.push(o),t.nodeToRelativeConstraintMapVertical.set(o,[]),t.dummyToNodeForHorizontalAlignment.has(o)?t.nodeToTempPositionMapVertical.set(o,t.idToNodeMap.get(t.dummyToNodeForHorizontalAlignment.get(o)[0]).getCenterY()):t.nodeToTempPositionMapVertical.set(o,t.idToNodeMap.get(o).getCenterY())),t.nodeToRelativeConstraintMapVertical.get(i).push({bottom:o,gap:e.gap}),t.nodeToRelativeConstraintMapVertical.get(o).push({top:i,gap:e.gap})}}));else{var h=new Map,f=new Map;this.constraints.relativePlacementConstraint.forEach((function(t){if(t.left){var e=a.has(t.left)?a.get(t.left):t.left,n=a.has(t.right)?a.get(t.right):t.right;h.has(e)?h.get(e).push(n):h.set(e,[n]),h.has(n)?h.get(n).push(e):h.set(n,[e])}else{var r=s.has(t.top)?s.get(t.top):t.top,i=s.has(t.bottom)?s.get(t.bottom):t.bottom;f.has(r)?f.get(r).push(i):f.set(r,[i]),f.has(i)?f.get(i).push(r):f.set(i,[r])}}));var d=function(t,e){var n=[],r=[],i=new w,o=new Set,a=0;return t.forEach((function(s,c){if(!o.has(c)){n[a]=[],r[a]=!1;var u=c;for(i.push(u),o.add(u),n[a].push(u);0!=i.length;)u=i.shift(),e.has(u)&&(r[a]=!0),t.get(u).forEach((function(t){o.has(t)||(i.push(t),o.add(t),n[a].push(t))}));a++}})),{components:n,isFixed:r}},p=d(h,t.fixedNodesOnHorizontal);this.componentsOnHorizontal=p.components,this.fixedComponentsOnHorizontal=p.isFixed;var g=d(f,t.fixedNodesOnVertical);this.componentsOnVertical=g.components,this.fixedComponentsOnVertical=g.isFixed}}},x.prototype.updateDisplacements=function(){var t=this;if(this.constraints.fixedNodeConstraint&&this.constraints.fixedNodeConstraint.forEach((function(e){var n=t.idToNodeMap.get(e.nodeId);n.displacementX=0,n.displacementY=0})),this.constraints.alignmentConstraint){if(this.constraints.alignmentConstraint.vertical)for(var e=this.constraints.alignmentConstraint.vertical,n=0;n1)for(s=0;sr&&(r=Math.floor(a.y)),o=Math.floor(a.x+c.DEFAULT_COMPONENT_SEPERATION)}this.transform(new d(h.WORLD_CENTER_X-a.x/2,h.WORLD_CENTER_Y-a.y/2))},x.radialLayout=function(t,e,n){var r=Math.max(this.maxDiagonalInTree(t),c.DEFAULT_RADIAL_SEPARATION);x.branchRadialLayout(e,null,0,359,0,r);var i=y.calculateBounds(t),o=new m;o.setDeviceOrgX(i.getMinX()),o.setDeviceOrgY(i.getMinY()),o.setWorldOrgX(n.x),o.setWorldOrgY(n.y);for(var a=0;a1;){var v=g[0];g.splice(0,1);var y=l.indexOf(v);y>=0&&l.splice(y,1),p--,h--}f=null!=e?(l.indexOf(g[0])+1)%p:0;for(var m=Math.abs(r-n)/h,w=f;d!=h;w=++w%p){var _=l[w].getOtherEnd(t);if(_!=e){var E=(n+d*m)%360,k=(E+m)%360;x.branchRadialLayout(_,t,E,k,i+o,o),d++}}},x.maxDiagonalInTree=function(t){for(var e=v.MIN_VALUE,n=0;ne&&(e=r)}return e},x.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},x.prototype.groupZeroDegreeMembers=function(){var t=this,e={};this.memberGroups={},this.idToDummyNode={};for(var n=[],r=this.graphManager.getAllNodes(),i=0;i1){var r="DummyCompound_"+n;t.memberGroups[r]=e[n];var i=e[n][0].getParent(),o=new a(t.graphManager);o.id=r,o.paddingLeft=i.paddingLeft||0,o.paddingRight=i.paddingRight||0,o.paddingBottom=i.paddingBottom||0,o.paddingTop=i.paddingTop||0,t.idToDummyNode[r]=o;var s=t.getGraphManager().add(t.newGraph(),o),c=i.getChild();c.add(o);for(var u=0;ui?(r.rect.x-=(r.labelWidth-i)/2,r.setWidth(r.labelWidth),r.labelMarginLeft=(r.labelWidth-i)/2):"right"==r.labelPosHorizontal&&r.setWidth(i+r.labelWidth)),r.labelHeight&&("top"==r.labelPosVertical?(r.rect.y-=r.labelHeight,r.setHeight(o+r.labelHeight),r.labelMarginTop=r.labelHeight):"center"==r.labelPosVertical&&r.labelHeight>o?(r.rect.y-=(r.labelHeight-o)/2,r.setHeight(r.labelHeight),r.labelMarginTop=(r.labelHeight-o)/2):"bottom"==r.labelPosVertical&&r.setHeight(o+r.labelHeight))}}))},x.prototype.repopulateCompounds=function(){for(var t=this.compoundOrder.length-1;t>=0;t--){var e=this.compoundOrder[t],n=e.id,r=e.paddingLeft,i=e.paddingTop,o=e.labelMarginLeft,a=e.labelMarginTop;this.adjustLocations(this.tiledMemberPack[n],e.rect.x,e.rect.y,r,i,o,a)}},x.prototype.repopulateZeroDegreeMembers=function(){var t=this,e=this.tiledZeroDegreePack;Object.keys(e).forEach((function(n){var r=t.idToDummyNode[n],i=r.paddingLeft,o=r.paddingTop,a=r.labelMarginLeft,s=r.labelMarginTop;t.adjustLocations(e[n],r.rect.x,r.rect.y,i,o,a,s)}))},x.prototype.getToBeTiled=function(t){var e=t.id;if(null!=this.toBeTiled[e])return this.toBeTiled[e];var n=t.getChild();if(null==n)return this.toBeTiled[e]=!1,!1;for(var r=n.getNodes(),i=0;i0)return this.toBeTiled[e]=!1,!1;if(null!=o.getChild()){if(!this.getToBeTiled(o))return this.toBeTiled[e]=!1,!1}else this.toBeTiled[o.id]=!1}return this.toBeTiled[e]=!0,!0},x.prototype.getNodeDegree=function(t){t.id;for(var e=t.getEdges(),n=0,r=0;rl&&(l=f.rect.height)}n+=l+t.verticalPadding}},x.prototype.tileCompoundMembers=function(t,e){var n=this;this.tiledMemberPack=[],Object.keys(t).forEach((function(r){var i=e[r];if(n.tiledMemberPack[r]=n.tileNodes(t[r],i.paddingLeft+i.paddingRight),i.rect.width=n.tiledMemberPack[r].width,i.rect.height=n.tiledMemberPack[r].height,i.setCenter(n.tiledMemberPack[r].centerX,n.tiledMemberPack[r].centerY),i.labelMarginLeft=0,i.labelMarginTop=0,c.NODE_DIMENSIONS_INCLUDE_LABELS){var o=i.rect.width,a=i.rect.height;i.labelWidth&&("left"==i.labelPosHorizontal?(i.rect.x-=i.labelWidth,i.setWidth(o+i.labelWidth),i.labelMarginLeft=i.labelWidth):"center"==i.labelPosHorizontal&&i.labelWidth>o?(i.rect.x-=(i.labelWidth-o)/2,i.setWidth(i.labelWidth),i.labelMarginLeft=(i.labelWidth-o)/2):"right"==i.labelPosHorizontal&&i.setWidth(o+i.labelWidth)),i.labelHeight&&("top"==i.labelPosVertical?(i.rect.y-=i.labelHeight,i.setHeight(a+i.labelHeight),i.labelMarginTop=i.labelHeight):"center"==i.labelPosVertical&&i.labelHeight>a?(i.rect.y-=(i.labelHeight-a)/2,i.setHeight(i.labelHeight),i.labelMarginTop=(i.labelHeight-a)/2):"bottom"==i.labelPosVertical&&i.setHeight(a+i.labelHeight))}}))},x.prototype.tileNodes=function(t,e){var n=this.tileNodesByFavoringDim(t,e,!0),r=this.tileNodesByFavoringDim(t,e,!1),i=this.getOrgRatio(n);return this.getOrgRatio(r)s&&(s=t.getWidth())}));var u,l=o/i,h=a/i,f=Math.pow(n-r,2)+4*(l+r)*(h+n)*i,d=(r-n+Math.sqrt(f))/(2*(l+r));e?(u=Math.ceil(d))==d&&u++:u=Math.floor(d);var p=u*(l+r)-r;return s>p&&(p=s),p+2*r},x.prototype.tileNodesByFavoringDim=function(t,e,n){var r=c.TILING_PADDING_VERTICAL,i=c.TILING_PADDING_HORIZONTAL,o=c.TILING_COMPARE_BY,a={rows:[],rowWidth:[],rowHeight:[],width:0,height:e,verticalPadding:r,horizontalPadding:i,centerX:0,centerY:0};o&&(a.idealRowWidth=this.calcIdealRowWidth(t,n));var s=function(t){return t.rect.width*t.rect.height},u=function(t,e){return s(e)-s(t)};t.sort((function(t,e){var n=u;return a.idealRowWidth?(n=o)(t.id,e.id):n(t,e)}));for(var l=0,h=0,f=0;f0&&(o+=t.horizontalPadding),t.rowWidth[n]=o,t.width0&&(a+=t.verticalPadding);var s=0;a>t.rowHeight[n]&&(s=t.rowHeight[n],t.rowHeight[n]=a,s=t.rowHeight[n]-s),t.height+=s,t.rows[n].push(e)},x.prototype.getShortestRowIndex=function(t){for(var e=-1,n=Number.MAX_VALUE,r=0;rn&&(e=r,n=t.rowWidth[r]);return e},x.prototype.canAddHorizontal=function(t,e,n){if(t.idealRowWidth){var r=t.rows.length-1;return t.rowWidth[r]+e+t.horizontalPadding<=t.idealRowWidth}var i=this.getShortestRowIndex(t);if(i<0)return!0;var o=t.rowWidth[i];if(o+t.horizontalPadding+e<=t.width)return!0;var a,s,c=0;return t.rowHeight[i]0&&(c=n+t.verticalPadding-t.rowHeight[i]),a=t.width-o>=e+t.horizontalPadding?(t.height+c)/(o+e+t.horizontalPadding):(t.height+c)/t.width,c=n+t.verticalPadding,(s=t.widtho&&e!=n){r.splice(-1,1),t.rows[n].push(i),t.rowWidth[e]=t.rowWidth[e]-o,t.rowWidth[n]=t.rowWidth[n]+o,t.width=t.rowWidth[instance.getLongestRowIndex(t)];for(var a=Number.MIN_VALUE,s=0;sa&&(a=r[s].height);e>0&&(a+=t.verticalPadding);var c=t.rowHeight[e]+t.rowHeight[n];t.rowHeight[e]=a,t.rowHeight[n]0)for(var h=i;h<=o;h++)u[0]+=this.grid[h][a-1].length+this.grid[h][a].length-1;if(o0)for(h=a;h<=s;h++)u[3]+=this.grid[i-1][h].length+this.grid[i][h].length-1;for(var f,d,p=v.MAX_VALUE,g=0;g{var r=n(551).FDLayoutNode,i=n(551).IMath;function o(t,e,n,i){r.call(this,t,e,n,i)}for(var a in o.prototype=Object.create(r.prototype),r)o[a]=r[a];o.prototype.calculateDisplacement=function(){var t=this.graphManager.getLayout();null!=this.getChild()&&this.fixedNodeWeight?(this.displacementX+=t.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.fixedNodeWeight,this.displacementY+=t.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.fixedNodeWeight):(this.displacementX+=t.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.noOfChildren,this.displacementY+=t.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.noOfChildren),Math.abs(this.displacementX)>t.coolingFactor*t.maxNodeDisplacement&&(this.displacementX=t.coolingFactor*t.maxNodeDisplacement*i.sign(this.displacementX)),Math.abs(this.displacementY)>t.coolingFactor*t.maxNodeDisplacement&&(this.displacementY=t.coolingFactor*t.maxNodeDisplacement*i.sign(this.displacementY)),this.child&&this.child.getNodes().length>0&&this.propogateDisplacementToChildren(this.displacementX,this.displacementY)},o.prototype.propogateDisplacementToChildren=function(t,e){for(var n,r=this.getChild().getNodes(),i=0;i{function r(t){if(Array.isArray(t)){for(var e=0,n=Array(t.length);e0){var o=0;r.forEach((function(t){"horizontal"==e?(h.set(t,c.has(t)?u[c.get(t)]:i.get(t)),o+=h.get(t)):(h.set(t,c.has(t)?l[c.get(t)]:i.get(t)),o+=h.get(t))})),o/=r.length,t.forEach((function(t){n.has(t)||h.set(t,o)}))}else{var a=0;t.forEach((function(t){a+="horizontal"==e?c.has(t)?u[c.get(t)]:i.get(t):c.has(t)?l[c.get(t)]:i.get(t)})),a/=t.length,t.forEach((function(t){h.set(t,a)}))}}));for(var p=function(){var r=d.shift();t.get(r).forEach((function(t){if(h.get(t.id)a&&(a=b),ms&&(s=m)}}catch(t){d=!0,p=t}finally{try{!f&&v.return&&v.return()}finally{if(d)throw p}}var w=(r+a)/2-(o+s)/2,x=!0,_=!1,E=void 0;try{for(var k,T=t[Symbol.iterator]();!(x=(k=T.next()).done);x=!0){var C=k.value;h.set(C,h.get(C)+w)}}catch(t){_=!0,E=t}finally{try{!x&&T.return&&T.return()}finally{if(_)throw E}}}))}return h},b=function(t){var e=0,n=0,r=0,i=0;if(t.forEach((function(t){t.left?u[c.get(t.left)]-u[c.get(t.right)]>=0?e++:n++:l[c.get(t.top)]-l[c.get(t.bottom)]>=0?r++:i++})),e>n&&r>i)for(var o=0;on)for(var a=0;ai)for(var s=0;s1)e.fixedNodeConstraint.forEach((function(t,e){x[e]=[t.position.x,t.position.y],_[e]=[u[c.get(t.nodeId)],l[c.get(t.nodeId)]]})),E=!0;else if(e.alignmentConstraint)!function(){var t=0;if(e.alignmentConstraint.vertical){for(var n=e.alignmentConstraint.vertical,i=function(e){var i=new Set;n[e].forEach((function(t){i.add(t)}));var o,a=new Set([].concat(r(i)).filter((function(t){return T.has(t)})));o=a.size>0?u[c.get(a.values().next().value)]:g(i).x,n[e].forEach((function(e){x[t]=[o,l[c.get(e)]],_[t]=[u[c.get(e)],l[c.get(e)]],t++}))},o=0;o0?u[c.get(o.values().next().value)]:g(n).y,a[e].forEach((function(e){x[t]=[u[c.get(e)],i],_[t]=[u[c.get(e)],l[c.get(e)]],t++}))},h=0;hS&&(S=A[L].length,O=L);if(S0){var X={x:0,y:0};e.fixedNodeConstraint.forEach((function(t,e){var n,r,i=(r={x:u[c.get(t.nodeId)],y:l[c.get(t.nodeId)]},{x:(n=t.position).x-r.x,y:n.y-r.y});X.x+=i.x,X.y+=i.y})),X.x/=e.fixedNodeConstraint.length,X.y/=e.fixedNodeConstraint.length,u.forEach((function(t,e){u[e]+=X.x})),l.forEach((function(t,e){l[e]+=X.y})),e.fixedNodeConstraint.forEach((function(t){u[c.get(t.nodeId)]=t.position.x,l[c.get(t.nodeId)]=t.position.y}))}if(e.alignmentConstraint){if(e.alignmentConstraint.vertical)for(var W=e.alignmentConstraint.vertical,$=function(t){var e=new Set;W[t].forEach((function(t){e.add(t)}));var n,i=new Set([].concat(r(e)).filter((function(t){return T.has(t)})));n=i.size>0?u[c.get(i.values().next().value)]:g(e).x,e.forEach((function(t){T.has(t)||(u[c.get(t)]=n)}))},Z=0;Z0?l[c.get(i.values().next().value)]:g(e).y,e.forEach((function(t){T.has(t)||(l[c.get(t)]=n)}))},J=0;J{e.exports=t}},n={},r=function t(r){var i=n[r];if(void 0!==i)return i.exports;var o=n[r]={exports:{}};return e[r](o,o.exports,t),o.exports}(45);return r})()},t.exports=r(n(3035))},3035:function(t){var e;e=function(){return function(t){var e={};function n(r){if(e[r])return e[r].exports;var i=e[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=t,n.c=e,n.i=function(t){return t},n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:r})},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=28)}([function(t,e,n){"use strict";function r(){}r.QUALITY=1,r.DEFAULT_CREATE_BENDS_AS_NEEDED=!1,r.DEFAULT_INCREMENTAL=!1,r.DEFAULT_ANIMATION_ON_LAYOUT=!0,r.DEFAULT_ANIMATION_DURING_LAYOUT=!1,r.DEFAULT_ANIMATION_PERIOD=50,r.DEFAULT_UNIFORM_LEAF_NODE_SIZES=!1,r.DEFAULT_GRAPH_MARGIN=15,r.NODE_DIMENSIONS_INCLUDE_LABELS=!1,r.SIMPLE_NODE_SIZE=40,r.SIMPLE_NODE_HALF_SIZE=r.SIMPLE_NODE_SIZE/2,r.EMPTY_COMPOUND_NODE_SIZE=40,r.MIN_EDGE_LENGTH=1,r.WORLD_BOUNDARY=1e6,r.INITIAL_WORLD_BOUNDARY=r.WORLD_BOUNDARY/1e3,r.WORLD_CENTER_X=1200,r.WORLD_CENTER_Y=900,t.exports=r},function(t,e,n){"use strict";var r=n(2),i=n(8),o=n(9);function a(t,e,n){r.call(this,n),this.isOverlapingSourceAndTarget=!1,this.vGraphObject=n,this.bendpoints=[],this.source=t,this.target=e}for(var s in a.prototype=Object.create(r.prototype),r)a[s]=r[s];a.prototype.getSource=function(){return this.source},a.prototype.getTarget=function(){return this.target},a.prototype.isInterGraph=function(){return this.isInterGraph},a.prototype.getLength=function(){return this.length},a.prototype.isOverlapingSourceAndTarget=function(){return this.isOverlapingSourceAndTarget},a.prototype.getBendpoints=function(){return this.bendpoints},a.prototype.getLca=function(){return this.lca},a.prototype.getSourceInLca=function(){return this.sourceInLca},a.prototype.getTargetInLca=function(){return this.targetInLca},a.prototype.getOtherEnd=function(t){if(this.source===t)return this.target;if(this.target===t)return this.source;throw"Node is not incident with this edge"},a.prototype.getOtherEndInGraph=function(t,e){for(var n=this.getOtherEnd(t),r=e.getGraphManager().getRoot();;){if(n.getOwner()==e)return n;if(n.getOwner()==r)break;n=n.getOwner().getParent()}return null},a.prototype.updateLength=function(){var t=new Array(4);this.isOverlapingSourceAndTarget=i.getIntersection(this.target.getRect(),this.source.getRect(),t),this.isOverlapingSourceAndTarget||(this.lengthX=t[0]-t[2],this.lengthY=t[1]-t[3],Math.abs(this.lengthX)<1&&(this.lengthX=o.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=o.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY))},a.prototype.updateLengthSimple=function(){this.lengthX=this.target.getCenterX()-this.source.getCenterX(),this.lengthY=this.target.getCenterY()-this.source.getCenterY(),Math.abs(this.lengthX)<1&&(this.lengthX=o.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=o.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY)},t.exports=a},function(t,e,n){"use strict";t.exports=function(t){this.vGraphObject=t}},function(t,e,n){"use strict";var r=n(2),i=n(10),o=n(13),a=n(0),s=n(16),c=n(5);function u(t,e,n,a){null==n&&null==a&&(a=e),r.call(this,a),null!=t.graphManager&&(t=t.graphManager),this.estimatedSize=i.MIN_VALUE,this.inclusionTreeDepth=i.MAX_VALUE,this.vGraphObject=a,this.edges=[],this.graphManager=t,this.rect=null!=n&&null!=e?new o(e.x,e.y,n.width,n.height):new o}for(var l in u.prototype=Object.create(r.prototype),r)u[l]=r[l];u.prototype.getEdges=function(){return this.edges},u.prototype.getChild=function(){return this.child},u.prototype.getOwner=function(){return this.owner},u.prototype.getWidth=function(){return this.rect.width},u.prototype.setWidth=function(t){this.rect.width=t},u.prototype.getHeight=function(){return this.rect.height},u.prototype.setHeight=function(t){this.rect.height=t},u.prototype.getCenterX=function(){return this.rect.x+this.rect.width/2},u.prototype.getCenterY=function(){return this.rect.y+this.rect.height/2},u.prototype.getCenter=function(){return new c(this.rect.x+this.rect.width/2,this.rect.y+this.rect.height/2)},u.prototype.getLocation=function(){return new c(this.rect.x,this.rect.y)},u.prototype.getRect=function(){return this.rect},u.prototype.getDiagonal=function(){return Math.sqrt(this.rect.width*this.rect.width+this.rect.height*this.rect.height)},u.prototype.getHalfTheDiagonal=function(){return Math.sqrt(this.rect.height*this.rect.height+this.rect.width*this.rect.width)/2},u.prototype.setRect=function(t,e){this.rect.x=t.x,this.rect.y=t.y,this.rect.width=e.width,this.rect.height=e.height},u.prototype.setCenter=function(t,e){this.rect.x=t-this.rect.width/2,this.rect.y=e-this.rect.height/2},u.prototype.setLocation=function(t,e){this.rect.x=t,this.rect.y=e},u.prototype.moveBy=function(t,e){this.rect.x+=t,this.rect.y+=e},u.prototype.getEdgeListToNode=function(t){var e=[],n=this;return n.edges.forEach((function(r){if(r.target==t){if(r.source!=n)throw"Incorrect edge source!";e.push(r)}})),e},u.prototype.getEdgesBetween=function(t){var e=[],n=this;return n.edges.forEach((function(r){if(r.source!=n&&r.target!=n)throw"Incorrect edge source and/or target";r.target!=t&&r.source!=t||e.push(r)})),e},u.prototype.getNeighborsList=function(){var t=new Set,e=this;return e.edges.forEach((function(n){if(n.source==e)t.add(n.target);else{if(n.target!=e)throw"Incorrect incidency!";t.add(n.source)}})),t},u.prototype.withChildren=function(){var t=new Set;if(t.add(this),null!=this.child)for(var e=this.child.getNodes(),n=0;ne?(this.rect.x-=(this.labelWidth-e)/2,this.setWidth(this.labelWidth)):"right"==this.labelPosHorizontal&&this.setWidth(e+this.labelWidth)),this.labelHeight&&("top"==this.labelPosVertical?(this.rect.y-=this.labelHeight,this.setHeight(n+this.labelHeight)):"center"==this.labelPosVertical&&this.labelHeight>n?(this.rect.y-=(this.labelHeight-n)/2,this.setHeight(this.labelHeight)):"bottom"==this.labelPosVertical&&this.setHeight(n+this.labelHeight))}}},u.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==i.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},u.prototype.transform=function(t){var e=this.rect.x;e>a.WORLD_BOUNDARY?e=a.WORLD_BOUNDARY:e<-a.WORLD_BOUNDARY&&(e=-a.WORLD_BOUNDARY);var n=this.rect.y;n>a.WORLD_BOUNDARY?n=a.WORLD_BOUNDARY:n<-a.WORLD_BOUNDARY&&(n=-a.WORLD_BOUNDARY);var r=new c(e,n),i=t.inverseTransformPoint(r);this.setLocation(i.x,i.y)},u.prototype.getLeft=function(){return this.rect.x},u.prototype.getRight=function(){return this.rect.x+this.rect.width},u.prototype.getTop=function(){return this.rect.y},u.prototype.getBottom=function(){return this.rect.y+this.rect.height},u.prototype.getParent=function(){return null==this.owner?null:this.owner.getParent()},t.exports=u},function(t,e,n){"use strict";var r=n(0);function i(){}for(var o in r)i[o]=r[o];i.MAX_ITERATIONS=2500,i.DEFAULT_EDGE_LENGTH=50,i.DEFAULT_SPRING_STRENGTH=.45,i.DEFAULT_REPULSION_STRENGTH=4500,i.DEFAULT_GRAVITY_STRENGTH=.4,i.DEFAULT_COMPOUND_GRAVITY_STRENGTH=1,i.DEFAULT_GRAVITY_RANGE_FACTOR=3.8,i.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=1.5,i.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION=!0,i.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION=!0,i.DEFAULT_COOLING_FACTOR_INCREMENTAL=.3,i.COOLING_ADAPTATION_FACTOR=.33,i.ADAPTATION_LOWER_NODE_LIMIT=1e3,i.ADAPTATION_UPPER_NODE_LIMIT=5e3,i.MAX_NODE_DISPLACEMENT_INCREMENTAL=100,i.MAX_NODE_DISPLACEMENT=3*i.MAX_NODE_DISPLACEMENT_INCREMENTAL,i.MIN_REPULSION_DIST=i.DEFAULT_EDGE_LENGTH/10,i.CONVERGENCE_CHECK_PERIOD=100,i.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=.1,i.MIN_EDGE_LENGTH=1,i.GRID_CALCULATION_CHECK_PERIOD=10,t.exports=i},function(t,e,n){"use strict";function r(t,e){null==t&&null==e?(this.x=0,this.y=0):(this.x=t,this.y=e)}r.prototype.getX=function(){return this.x},r.prototype.getY=function(){return this.y},r.prototype.setX=function(t){this.x=t},r.prototype.setY=function(t){this.y=t},r.prototype.getDifference=function(t){return new DimensionD(this.x-t.x,this.y-t.y)},r.prototype.getCopy=function(){return new r(this.x,this.y)},r.prototype.translate=function(t){return this.x+=t.width,this.y+=t.height,this},t.exports=r},function(t,e,n){"use strict";var r=n(2),i=n(10),o=n(0),a=n(7),s=n(3),c=n(1),u=n(13),l=n(12),h=n(11);function f(t,e,n){r.call(this,n),this.estimatedSize=i.MIN_VALUE,this.margin=o.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=t,null!=e&&e instanceof a?this.graphManager=e:null!=e&&e instanceof Layout&&(this.graphManager=e.graphManager)}for(var d in f.prototype=Object.create(r.prototype),r)f[d]=r[d];f.prototype.getNodes=function(){return this.nodes},f.prototype.getEdges=function(){return this.edges},f.prototype.getGraphManager=function(){return this.graphManager},f.prototype.getParent=function(){return this.parent},f.prototype.getLeft=function(){return this.left},f.prototype.getRight=function(){return this.right},f.prototype.getTop=function(){return this.top},f.prototype.getBottom=function(){return this.bottom},f.prototype.isConnected=function(){return this.isConnected},f.prototype.add=function(t,e,n){if(null==e&&null==n){var r=t;if(null==this.graphManager)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(r)>-1)throw"Node already in graph!";return r.owner=this,this.getNodes().push(r),r}var i=t;if(!(this.getNodes().indexOf(e)>-1&&this.getNodes().indexOf(n)>-1))throw"Source or target not in graph!";if(e.owner!=n.owner||e.owner!=this)throw"Both owners must be this graph!";return e.owner!=n.owner?null:(i.source=e,i.target=n,i.isInterGraph=!1,this.getEdges().push(i),e.edges.push(i),n!=e&&n.edges.push(i),i)},f.prototype.remove=function(t){var e=t;if(t instanceof s){if(null==e)throw"Node is null!";if(null==e.owner||e.owner!=this)throw"Owner graph is invalid!";if(null==this.graphManager)throw"Owner graph manager is invalid!";for(var n=e.edges.slice(),r=n.length,i=0;i-1&&l>-1))throw"Source and/or target doesn't know this edge!";if(o.source.edges.splice(u,1),o.target!=o.source&&o.target.edges.splice(l,1),-1==(a=o.source.owner.getEdges().indexOf(o)))throw"Not in owner's edge list!";o.source.owner.getEdges().splice(a,1)}},f.prototype.updateLeftTop=function(){for(var t,e,n,r=i.MAX_VALUE,o=i.MAX_VALUE,a=this.getNodes(),s=a.length,c=0;c(t=u.getTop())&&(r=t),o>(e=u.getLeft())&&(o=e)}return r==i.MAX_VALUE?null:(n=null!=a[0].getParent().paddingLeft?a[0].getParent().paddingLeft:this.margin,this.left=o-n,this.top=r-n,new l(this.left,this.top))},f.prototype.updateBounds=function(t){for(var e,n,r,o,a,s=i.MAX_VALUE,c=-i.MAX_VALUE,l=i.MAX_VALUE,h=-i.MAX_VALUE,f=this.nodes,d=f.length,p=0;p(e=g.getLeft())&&(s=e),c<(n=g.getRight())&&(c=n),l>(r=g.getTop())&&(l=r),h<(o=g.getBottom())&&(h=o)}var v=new u(s,l,c-s,h-l);s==i.MAX_VALUE&&(this.left=this.parent.getLeft(),this.right=this.parent.getRight(),this.top=this.parent.getTop(),this.bottom=this.parent.getBottom()),a=null!=f[0].getParent().paddingLeft?f[0].getParent().paddingLeft:this.margin,this.left=v.x-a,this.right=v.x+v.width+a,this.top=v.y-a,this.bottom=v.y+v.height+a},f.calculateBounds=function(t){for(var e,n,r,o,a=i.MAX_VALUE,s=-i.MAX_VALUE,c=i.MAX_VALUE,l=-i.MAX_VALUE,h=t.length,f=0;f(e=d.getLeft())&&(a=e),s<(n=d.getRight())&&(s=n),c>(r=d.getTop())&&(c=r),l<(o=d.getBottom())&&(l=o)}return new u(a,c,s-a,l-c)},f.prototype.getInclusionTreeDepth=function(){return this==this.graphManager.getRoot()?1:this.parent.getInclusionTreeDepth()},f.prototype.getEstimatedSize=function(){if(this.estimatedSize==i.MIN_VALUE)throw"assert failed";return this.estimatedSize},f.prototype.calcEstimatedSize=function(){for(var t=0,e=this.nodes,n=e.length,r=0;r=this.nodes.length){var c=0;i.forEach((function(e){e.owner==t&&c++})),c==this.nodes.length&&(this.isConnected=!0)}}else this.isConnected=!0},t.exports=f},function(t,e,n){"use strict";var r,i=n(1);function o(t){r=n(6),this.layout=t,this.graphs=[],this.edges=[]}o.prototype.addRoot=function(){var t=this.layout.newGraph(),e=this.layout.newNode(null),n=this.add(t,e);return this.setRootGraph(n),this.rootGraph},o.prototype.add=function(t,e,n,r,i){if(null==n&&null==r&&null==i){if(null==t)throw"Graph is null!";if(null==e)throw"Parent node is null!";if(this.graphs.indexOf(t)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(t),null!=t.parent)throw"Already has a parent!";if(null!=e.child)throw"Already has a child!";return t.parent=e,e.child=t,t}i=n,n=t;var o=(r=e).getOwner(),a=i.getOwner();if(null==o||o.getGraphManager()!=this)throw"Source not in this graph mgr!";if(null==a||a.getGraphManager()!=this)throw"Target not in this graph mgr!";if(o==a)return n.isInterGraph=!1,o.add(n,r,i);if(n.isInterGraph=!0,n.source=r,n.target=i,this.edges.indexOf(n)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(n),null==n.source||null==n.target)throw"Edge source and/or target is null!";if(-1!=n.source.edges.indexOf(n)||-1!=n.target.edges.indexOf(n))throw"Edge already in source and/or target incidency list!";return n.source.edges.push(n),n.target.edges.push(n),n},o.prototype.remove=function(t){if(t instanceof r){var e=t;if(e.getGraphManager()!=this)throw"Graph not in this graph mgr";if(e!=this.rootGraph&&(null==e.parent||e.parent.graphManager!=this))throw"Invalid parent node!";for(var n,o=[],a=(o=o.concat(e.getEdges())).length,s=0;s=e.getRight()?n[0]+=Math.min(e.getX()-t.getX(),t.getRight()-e.getRight()):e.getX()<=t.getX()&&e.getRight()>=t.getRight()&&(n[0]+=Math.min(t.getX()-e.getX(),e.getRight()-t.getRight())),t.getY()<=e.getY()&&t.getBottom()>=e.getBottom()?n[1]+=Math.min(e.getY()-t.getY(),t.getBottom()-e.getBottom()):e.getY()<=t.getY()&&e.getBottom()>=t.getBottom()&&(n[1]+=Math.min(t.getY()-e.getY(),e.getBottom()-t.getBottom()));var o=Math.abs((e.getCenterY()-t.getCenterY())/(e.getCenterX()-t.getCenterX()));e.getCenterY()===t.getCenterY()&&e.getCenterX()===t.getCenterX()&&(o=1);var a=o*n[0],s=n[1]/o;n[0]a)return n[0]=r,n[1]=c,n[2]=o,n[3]=m,!1;if(io)return n[0]=s,n[1]=i,n[2]=b,n[3]=a,!1;if(ro?(n[0]=l,n[1]=h,E=!0):(n[0]=u,n[1]=c,E=!0):T===N&&(r>o?(n[0]=s,n[1]=c,E=!0):(n[0]=f,n[1]=h,E=!0)),-C===N?o>r?(n[2]=y,n[3]=m,k=!0):(n[2]=b,n[3]=v,k=!0):C===N&&(o>r?(n[2]=g,n[3]=v,k=!0):(n[2]=w,n[3]=m,k=!0)),E&&k)return!1;if(r>o?i>a?(A=this.getCardinalDirection(T,N,4),S=this.getCardinalDirection(C,N,2)):(A=this.getCardinalDirection(-T,N,3),S=this.getCardinalDirection(-C,N,1)):i>a?(A=this.getCardinalDirection(-T,N,1),S=this.getCardinalDirection(-C,N,3)):(A=this.getCardinalDirection(T,N,2),S=this.getCardinalDirection(C,N,4)),!E)switch(A){case 1:L=c,O=r+-p/N,n[0]=O,n[1]=L;break;case 2:O=f,L=i+d*N,n[0]=O,n[1]=L;break;case 3:L=h,O=r+p/N,n[0]=O,n[1]=L;break;case 4:O=l,L=i+-d*N,n[0]=O,n[1]=L}if(!k)switch(S){case 1:M=v,I=o+-_/N,n[2]=I,n[3]=M;break;case 2:I=w,M=a+x*N,n[2]=I,n[3]=M;break;case 3:M=m,I=o+_/N,n[2]=I,n[3]=M;break;case 4:I=y,M=a+-x*N,n[2]=I,n[3]=M}}return!1},i.getCardinalDirection=function(t,e,n){return t>e?n:1+n%4},i.getIntersection=function(t,e,n,i){if(null==i)return this.getIntersection2(t,e,n);var o,a,s,c,u,l,h,f=t.x,d=t.y,p=e.x,g=e.y,v=n.x,b=n.y,y=i.x,m=i.y;return 0==(h=(o=g-d)*(c=v-y)-(a=m-b)*(s=f-p))?null:new r((s*(l=y*b-v*m)-c*(u=p*d-f*g))/h,(a*u-o*l)/h)},i.angleOfVector=function(t,e,n,r){var i=void 0;return t!==n?(i=Math.atan((r-e)/(n-t)),n=0){var l=(-c+Math.sqrt(c*c-4*s*u))/(2*s),h=(-c-Math.sqrt(c*c-4*s*u))/(2*s);return l>=0&&l<=1?[l]:h>=0&&h<=1?[h]:null}return null},i.HALF_PI=.5*Math.PI,i.ONE_AND_HALF_PI=1.5*Math.PI,i.TWO_PI=2*Math.PI,i.THREE_PI=3*Math.PI,t.exports=i},function(t,e,n){"use strict";function r(){}r.sign=function(t){return t>0?1:t<0?-1:0},r.floor=function(t){return t<0?Math.ceil(t):Math.floor(t)},r.ceil=function(t){return t<0?Math.floor(t):Math.ceil(t)},t.exports=r},function(t,e,n){"use strict";function r(){}r.MAX_VALUE=2147483647,r.MIN_VALUE=-2147483648,t.exports=r},function(t,e,n){"use strict";var r=function(){function t(t,e){for(var n=0;n0&&e;){for(s.push(u[0]);s.length>0&&e;){var l=s[0];s.splice(0,1),a.add(l);var h=l.getEdges();for(o=0;o-1&&u.splice(g,1)}a=new Set,c=new Map}else t=[]}return t},f.prototype.createDummyNodesForBendpoints=function(t){for(var e=[],n=t.source,r=this.graphManager.calcLowestCommonAncestor(t.source,t.target),i=0;i0){for(var i=this.edgeToDummyNodes.get(n),o=0;o=0&&e.splice(h,1),l.getNeighborsList().forEach((function(t){if(n.indexOf(t)<0){var e=r.get(t)-1;1==e&&c.push(t),r.set(t,e)}}))}n=n.concat(c),1!=e.length&&2!=e.length||(i=!0,o=e[0])}return o},f.prototype.setGraphManager=function(t){this.graphManager=t},t.exports=f},function(t,e,n){"use strict";function r(){}r.seed=1,r.x=0,r.nextDouble=function(){return r.x=1e4*Math.sin(r.seed++),r.x-Math.floor(r.x)},t.exports=r},function(t,e,n){"use strict";var r=n(5);function i(t,e){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}i.prototype.getWorldOrgX=function(){return this.lworldOrgX},i.prototype.setWorldOrgX=function(t){this.lworldOrgX=t},i.prototype.getWorldOrgY=function(){return this.lworldOrgY},i.prototype.setWorldOrgY=function(t){this.lworldOrgY=t},i.prototype.getWorldExtX=function(){return this.lworldExtX},i.prototype.setWorldExtX=function(t){this.lworldExtX=t},i.prototype.getWorldExtY=function(){return this.lworldExtY},i.prototype.setWorldExtY=function(t){this.lworldExtY=t},i.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},i.prototype.setDeviceOrgX=function(t){this.ldeviceOrgX=t},i.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},i.prototype.setDeviceOrgY=function(t){this.ldeviceOrgY=t},i.prototype.getDeviceExtX=function(){return this.ldeviceExtX},i.prototype.setDeviceExtX=function(t){this.ldeviceExtX=t},i.prototype.getDeviceExtY=function(){return this.ldeviceExtY},i.prototype.setDeviceExtY=function(t){this.ldeviceExtY=t},i.prototype.transformX=function(t){var e=0,n=this.lworldExtX;return 0!=n&&(e=this.ldeviceOrgX+(t-this.lworldOrgX)*this.ldeviceExtX/n),e},i.prototype.transformY=function(t){var e=0,n=this.lworldExtY;return 0!=n&&(e=this.ldeviceOrgY+(t-this.lworldOrgY)*this.ldeviceExtY/n),e},i.prototype.inverseTransformX=function(t){var e=0,n=this.ldeviceExtX;return 0!=n&&(e=this.lworldOrgX+(t-this.ldeviceOrgX)*this.lworldExtX/n),e},i.prototype.inverseTransformY=function(t){var e=0,n=this.ldeviceExtY;return 0!=n&&(e=this.lworldOrgY+(t-this.ldeviceOrgY)*this.lworldExtY/n),e},i.prototype.inverseTransformPoint=function(t){return new r(this.inverseTransformX(t.x),this.inverseTransformY(t.y))},t.exports=i},function(t,e,n){"use strict";var r=n(15),i=n(4),o=n(0),a=n(8),s=n(9);function c(){r.call(this),this.useSmartIdealEdgeLengthCalculation=i.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION,this.gravityConstant=i.DEFAULT_GRAVITY_STRENGTH,this.compoundGravityConstant=i.DEFAULT_COMPOUND_GRAVITY_STRENGTH,this.gravityRangeFactor=i.DEFAULT_GRAVITY_RANGE_FACTOR,this.compoundGravityRangeFactor=i.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR,this.displacementThresholdPerNode=3*i.DEFAULT_EDGE_LENGTH/100,this.coolingFactor=i.DEFAULT_COOLING_FACTOR_INCREMENTAL,this.initialCoolingFactor=i.DEFAULT_COOLING_FACTOR_INCREMENTAL,this.totalDisplacement=0,this.oldTotalDisplacement=0,this.maxIterations=i.MAX_ITERATIONS}for(var u in c.prototype=Object.create(r.prototype),r)c[u]=r[u];c.prototype.initParameters=function(){r.prototype.initParameters.call(this,arguments),this.totalIterations=0,this.notAnimatedIterations=0,this.useFRGridVariant=i.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION,this.grid=[]},c.prototype.calcIdealEdgeLengths=function(){for(var t,e,n,r,a,s,c,u=this.getGraphManager().getAllEdges(),l=0;li.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*i.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(t-i.ADAPTATION_LOWER_NODE_LIMIT)/(i.ADAPTATION_UPPER_NODE_LIMIT-i.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-i.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=i.MAX_NODE_DISPLACEMENT_INCREMENTAL):(t>i.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(i.COOLING_ADAPTATION_FACTOR,1-(t-i.ADAPTATION_LOWER_NODE_LIMIT)/(i.ADAPTATION_UPPER_NODE_LIMIT-i.ADAPTATION_LOWER_NODE_LIMIT)*(1-i.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=i.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(5*this.getAllNodes().length,this.maxIterations),this.displacementThresholdPerNode=3*i.DEFAULT_EDGE_LENGTH/100,this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},c.prototype.calcSpringForces=function(){for(var t,e=this.getAllEdges(),n=0;n0&&void 0!==arguments[0])||arguments[0],s=arguments.length>1&&void 0!==arguments[1]&&arguments[1],c=this.getAllNodes();if(this.useFRGridVariant)for(this.totalIterations%i.GRID_CALCULATION_CHECK_PERIOD==1&&a&&this.updateGrid(),o=new Set,t=0;t(c=e.getEstimatedSize()*this.gravityRangeFactor)||s>c)&&(t.gravitationForceX=-this.gravityConstant*i,t.gravitationForceY=-this.gravityConstant*o):(a>(c=e.getEstimatedSize()*this.compoundGravityRangeFactor)||s>c)&&(t.gravitationForceX=-this.gravityConstant*i*this.compoundGravityConstant,t.gravitationForceY=-this.gravityConstant*o*this.compoundGravityConstant)},c.prototype.isConverged=function(){var t,e=!1;return this.totalIterations>this.maxIterations/3&&(e=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2),t=this.totalDisplacement=s.length||u>=s[0].length))for(var l=0;lt}}]),t}();t.exports=o},function(t,e,n){"use strict";function r(){}r.svd=function(t){this.U=null,this.V=null,this.s=null,this.m=0,this.n=0,this.m=t.length,this.n=t[0].length;var e=Math.min(this.m,this.n);this.s=function(t){for(var e=[];t-- >0;)e.push(0);return e}(Math.min(this.m+1,this.n)),this.U=function t(e){if(0==e.length)return 0;for(var n=[],r=0;r0;)e.push(0);return e}(this.n),a=function(t){for(var e=[];t-- >0;)e.push(0);return e}(this.m),s=Math.min(this.m-1,this.n),c=Math.max(0,Math.min(this.n-2,this.m)),u=0;u=0;S--)if(0!==this.s[S]){for(var O=S+1;O=0;j--){if(function(t,e){return t&&e}(j0;){var q=void 0,X=void 0;for(q=C-2;q>=-1&&-1!==q;q--)if(Math.abs(o[q])<=V+U*(Math.abs(this.s[q])+Math.abs(this.s[q+1]))){o[q]=0;break}if(q===C-2)X=4;else{var W=void 0;for(W=C-1;W>=q&&W!==q;W--){var $=(W!==C?Math.abs(o[W]):0)+(W!==q+1?Math.abs(o[W-1]):0);if(Math.abs(this.s[W])<=V+U*$){this.s[W]=0;break}}W===q?X=3:W===C-1?X=1:(X=2,q=W)}switch(q++,X){case 1:var Z=o[C-2];o[C-2]=0;for(var K=C-2;K>=q;K--){var Q=r.hypot(this.s[K],Z),J=this.s[K]/Q,tt=Z/Q;this.s[K]=Q,K!==q&&(Z=-tt*o[K-1],o[K-1]=J*o[K-1]);for(var et=0;et=this.s[q+1]);){var Ct=this.s[q];if(this.s[q]=this.s[q+1],this.s[q+1]=Ct,qMath.abs(e)?(n=e/t,n=Math.abs(t)*Math.sqrt(1+n*n)):0!=e?(n=t/e,n=Math.abs(e)*Math.sqrt(1+n*n)):n=0,n},t.exports=r},function(t,e,n){"use strict";var r=function(){function t(t,e){for(var n=0;n2&&void 0!==arguments[2]?arguments[2]:1,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:-1,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:-1;!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.sequence1=e,this.sequence2=n,this.match_score=r,this.mismatch_penalty=i,this.gap_penalty=o,this.iMax=e.length+1,this.jMax=n.length+1,this.grid=new Array(this.iMax);for(var a=0;a=0;n--){var r=this.listeners[n];r.event===t&&r.callback===e&&this.listeners.splice(n,1)}},i.emit=function(t,e){for(var n=0;n1?e-1:0),r=1;r=0;m--){var w=a[m].id(),x=a[m].position();e.randomize&&(x={x:Math.round(d.x1+(d.x2-d.x1)*Math.random()),y:Math.round(d.y1+(d.y2-d.y1)*Math.random())}),y.vertices.push({id:w,x:x.x,y:x.y})}for(m=s.length-1;m>=0;m--){var _=s[m].source().id(),E=s[m].target().id();y.edges.push({src:_,tgt:E})}var k=t.thread;function T(t){for(var r=t.vertices,i=[],o=0;o=C||A>=4)&&(S>=s?N=!0:(y={xl:0,xr:n+=n*a,yt:0,yb:r+=r*a},++S,A=0)),C=M,c(),u()}return c(),t})).then((function(n){var r=n.vertices;T(n);var i=n.startTime,o=new Date;console.info("Layout on "+r.length+" nodes took "+(o-i)+" ms"),t.one("layoutstop",e.stop),e.animate||t.trigger("layoutready"),t.trigger("layoutstop"),k.stop()}))}return this},a.prototype.stop=function(){this.thread&&this.thread.stop(),this.trigger("layoutstop")},a.prototype.destroy=function(){this.thread&&this.thread.stop()},t.exports=a},function(t,e,n){"use strict";var r=n(0),i=function(t){t("layout","spread",r)};"undefined"!=typeof cytoscape&&i(cytoscape),t.exports=i},function(t,e){function n(){this.vertices=null,this.edges=null,this.cells=null,this.toRecycle=null,this.beachsectionJunkyard=[],this.circleEventJunkyard=[],this.vertexJunkyard=[],this.edgeJunkyard=[],this.cellJunkyard=[]}n.prototype.reset=function(){if(this.beachline||(this.beachline=new this.RBTree),this.beachline.root)for(var t=this.beachline.getFirst(this.beachline.root);t;)this.beachsectionJunkyard.push(t),t=t.rbNext;this.beachline.root=null,this.circleEvents||(this.circleEvents=new this.RBTree),this.circleEvents.root=this.firstCircleEvent=null,this.vertices=[],this.edges=[],this.cells=[]},n.prototype.sqrt=function(t){return Math.sqrt(t)},n.prototype.abs=function(t){return Math.abs(t)},n.prototype.ε=n.ε=1e-9,n.prototype.invε=n.invε=1/n.ε,n.prototype.equalWithEpsilon=function(t,e){return this.abs(t-e)<1e-9},n.prototype.greaterThanWithEpsilon=function(t,e){return t-e>1e-9},n.prototype.greaterThanOrEqualWithEpsilon=function(t,e){return e-t<1e-9},n.prototype.lessThanWithEpsilon=function(t,e){return e-t>1e-9},n.prototype.lessThanOrEqualWithEpsilon=function(t,e){return t-e<1e-9},n.prototype.RBTree=function(){this.root=null},n.prototype.RBTree.prototype.rbInsertSuccessor=function(t,e){var n,r,i;if(t){if(e.rbPrevious=t,e.rbNext=t.rbNext,t.rbNext&&(t.rbNext.rbPrevious=e),t.rbNext=e,t.rbRight){for(t=t.rbRight;t.rbLeft;)t=t.rbLeft;t.rbLeft=e}else t.rbRight=e;n=t}else this.root?(t=this.getFirst(this.root),e.rbPrevious=null,e.rbNext=t,t.rbPrevious=e,t.rbLeft=e,n=t):(e.rbPrevious=e.rbNext=null,this.root=e,n=null);for(e.rbLeft=e.rbRight=null,e.rbParent=n,e.rbRed=!0,t=e;n&&n.rbRed;)n===(r=n.rbParent).rbLeft?(i=r.rbRight)&&i.rbRed?(n.rbRed=i.rbRed=!1,r.rbRed=!0,t=r):(t===n.rbRight&&(this.rbRotateLeft(n),n=(t=n).rbParent),n.rbRed=!1,r.rbRed=!0,this.rbRotateRight(r)):(i=r.rbLeft)&&i.rbRed?(n.rbRed=i.rbRed=!1,r.rbRed=!0,t=r):(t===n.rbLeft&&(this.rbRotateRight(n),n=(t=n).rbParent),n.rbRed=!1,r.rbRed=!0,this.rbRotateLeft(r)),n=t.rbParent;this.root.rbRed=!1},n.prototype.RBTree.prototype.rbRemoveNode=function(t){t.rbNext&&(t.rbNext.rbPrevious=t.rbPrevious),t.rbPrevious&&(t.rbPrevious.rbNext=t.rbNext),t.rbNext=t.rbPrevious=null;var e,n,r=t.rbParent,i=t.rbLeft,o=t.rbRight;if(e=i?o?this.getFirst(o):i:o,r?r.rbLeft===t?r.rbLeft=e:r.rbRight=e:this.root=e,i&&o?(n=e.rbRed,e.rbRed=t.rbRed,e.rbLeft=i,i.rbParent=e,e!==o?(r=e.rbParent,e.rbParent=t.rbParent,t=e.rbRight,r.rbLeft=t,e.rbRight=o,o.rbParent=e):(e.rbParent=r,r=e,t=e.rbRight)):(n=t.rbRed,t=e),t&&(t.rbParent=r),!n)if(t&&t.rbRed)t.rbRed=!1;else{var a;do{if(t===this.root)break;if(t===r.rbLeft){if((a=r.rbRight).rbRed&&(a.rbRed=!1,r.rbRed=!0,this.rbRotateLeft(r),a=r.rbRight),a.rbLeft&&a.rbLeft.rbRed||a.rbRight&&a.rbRight.rbRed){a.rbRight&&a.rbRight.rbRed||(a.rbLeft.rbRed=!1,a.rbRed=!0,this.rbRotateRight(a),a=r.rbRight),a.rbRed=r.rbRed,r.rbRed=a.rbRight.rbRed=!1,this.rbRotateLeft(r),t=this.root;break}}else if((a=r.rbLeft).rbRed&&(a.rbRed=!1,r.rbRed=!0,this.rbRotateRight(r),a=r.rbLeft),a.rbLeft&&a.rbLeft.rbRed||a.rbRight&&a.rbRight.rbRed){a.rbLeft&&a.rbLeft.rbRed||(a.rbRight.rbRed=!1,a.rbRed=!0,this.rbRotateLeft(a),a=r.rbLeft),a.rbRed=r.rbRed,r.rbRed=a.rbLeft.rbRed=!1,this.rbRotateRight(r),t=this.root;break}a.rbRed=!0,t=r,r=r.rbParent}while(!t.rbRed);t&&(t.rbRed=!1)}},n.prototype.RBTree.prototype.rbRotateLeft=function(t){var e=t,n=t.rbRight,r=e.rbParent;r?r.rbLeft===e?r.rbLeft=n:r.rbRight=n:this.root=n,n.rbParent=r,e.rbParent=n,e.rbRight=n.rbLeft,e.rbRight&&(e.rbRight.rbParent=e),n.rbLeft=e},n.prototype.RBTree.prototype.rbRotateRight=function(t){var e=t,n=t.rbLeft,r=e.rbParent;r?r.rbLeft===e?r.rbLeft=n:r.rbRight=n:this.root=n,n.rbParent=r,e.rbParent=n,e.rbLeft=n.rbRight,e.rbLeft&&(e.rbLeft.rbParent=e),n.rbRight=e},n.prototype.RBTree.prototype.getFirst=function(t){for(;t.rbLeft;)t=t.rbLeft;return t},n.prototype.RBTree.prototype.getLast=function(t){for(;t.rbRight;)t=t.rbRight;return t},n.prototype.Diagram=function(t){this.site=t},n.prototype.Cell=function(t){this.site=t,this.halfedges=[],this.closeMe=!1},n.prototype.Cell.prototype.init=function(t){return this.site=t,this.halfedges=[],this.closeMe=!1,this},n.prototype.createCell=function(t){var e=this.cellJunkyard.pop();return e?e.init(t):new this.Cell(t)},n.prototype.Cell.prototype.prepareHalfedges=function(){for(var t,e=this.halfedges,n=e.length;n--;)(t=e[n].edge).vb&&t.va||e.splice(n,1);return e.sort((function(t,e){return e.angle-t.angle})),e.length},n.prototype.Cell.prototype.getNeighborIds=function(){for(var t,e=[],n=this.halfedges.length;n--;)null!==(t=this.halfedges[n].edge).lSite&&t.lSite.voronoiId!=this.site.voronoiId?e.push(t.lSite.voronoiId):null!==t.rSite&&t.rSite.voronoiId!=this.site.voronoiId&&e.push(t.rSite.voronoiId);return e},n.prototype.Cell.prototype.getBbox=function(){for(var t,e,n,r=this.halfedges,i=r.length,o=1/0,a=1/0,s=-1/0,c=-1/0;i--;)(e=(t=r[i].getStartpoint()).x)s&&(s=e),n>c&&(c=n);return{x:o,y:a,width:s-o,height:c-a}},n.prototype.Cell.prototype.pointIntersection=function(t,e){for(var n,r,i,o,a=this.halfedges,s=a.length;s--;){if(r=(n=a[s]).getStartpoint(),i=n.getEndpoint(),!(o=(e-r.y)*(i.x-r.x)-(t-r.x)*(i.y-r.y)))return 0;if(o>0)return-1}return 1},n.prototype.Vertex=function(t,e){this.x=t,this.y=e},n.prototype.Edge=function(t,e){this.lSite=t,this.rSite=e,this.va=this.vb=null},n.prototype.Halfedge=function(t,e,n){if(this.site=e,this.edge=t,n)this.angle=Math.atan2(n.y-e.y,n.x-e.x);else{var r=t.va,i=t.vb;this.angle=t.lSite===e?Math.atan2(i.x-r.x,r.y-i.y):Math.atan2(r.x-i.x,i.y-r.y)}},n.prototype.createHalfedge=function(t,e,n){return new this.Halfedge(t,e,n)},n.prototype.Halfedge.prototype.getStartpoint=function(){return this.edge.lSite===this.site?this.edge.va:this.edge.vb},n.prototype.Halfedge.prototype.getEndpoint=function(){return this.edge.lSite===this.site?this.edge.vb:this.edge.va},n.prototype.createVertex=function(t,e){var n=this.vertexJunkyard.pop();return n?(n.x=t,n.y=e):n=new this.Vertex(t,e),this.vertices.push(n),n},n.prototype.createEdge=function(t,e,n,r){var i=this.edgeJunkyard.pop();return i?(i.lSite=t,i.rSite=e,i.va=i.vb=null):i=new this.Edge(t,e),this.edges.push(i),n&&this.setEdgeStartpoint(i,t,e,n),r&&this.setEdgeEndpoint(i,t,e,r),this.cells[t.voronoiId].halfedges.push(this.createHalfedge(i,t,e)),this.cells[e.voronoiId].halfedges.push(this.createHalfedge(i,e,t)),i},n.prototype.createBorderEdge=function(t,e,n){var r=this.edgeJunkyard.pop();return r?(r.lSite=t,r.rSite=null):r=new this.Edge(t,null),r.va=e,r.vb=n,this.edges.push(r),r},n.prototype.setEdgeStartpoint=function(t,e,n,r){t.va||t.vb?t.lSite===n?t.vb=r:t.va=r:(t.va=r,t.lSite=e,t.rSite=n)},n.prototype.setEdgeEndpoint=function(t,e,n,r){this.setEdgeStartpoint(t,n,e,r)},n.prototype.Beachsection=function(){},n.prototype.createBeachsection=function(t){var e=this.beachsectionJunkyard.pop();return e||(e=new this.Beachsection),e.site=t,e},n.prototype.leftBreakPoint=function(t,e){var n=t.site,r=n.x,i=n.y,o=i-e;if(!o)return r;var a=t.rbPrevious;if(!a)return-1/0;var s=(n=a.site).x,c=n.y,u=c-e;if(!u)return s;var l=s-r,h=1/o-1/u,f=l/u;return h?(-f+this.sqrt(f*f-2*h*(l*l/(-2*u)-c+u/2+i-o/2)))/h+r:(r+s)/2},n.prototype.rightBreakPoint=function(t,e){var n=t.rbNext;if(n)return this.leftBreakPoint(n,e);var r=t.site;return r.y===e?r.x:1/0},n.prototype.detachBeachsection=function(t){this.detachCircleEvent(t),this.beachline.rbRemoveNode(t),this.beachsectionJunkyard.push(t)},n.prototype.removeBeachsection=function(t){var e=t.circleEvent,n=e.x,r=e.ycenter,i=this.createVertex(n,r),o=t.rbPrevious,a=t.rbNext,s=[t],c=Math.abs;this.detachBeachsection(t);for(var u=o;u.circleEvent&&c(n-u.circleEvent.x)<1e-9&&c(r-u.circleEvent.ycenter)<1e-9;)o=u.rbPrevious,s.unshift(u),this.detachBeachsection(u),u=o;s.unshift(u),this.detachCircleEvent(u);for(var l=a;l.circleEvent&&c(n-l.circleEvent.x)<1e-9&&c(r-l.circleEvent.ycenter)<1e-9;)a=l.rbNext,s.push(l),this.detachBeachsection(l),l=a;s.push(l),this.detachCircleEvent(l);var h,f=s.length;for(h=1;h1e-9)s=s.rbLeft;else{if(!((i=o-this.rightBreakPoint(s,a))>1e-9)){r>-1e-9?(e=s.rbPrevious,n=s):i>-1e-9?(e=s,n=s.rbNext):e=n=s;break}if(!s.rbRight){e=s;break}s=s.rbRight}var c=this.createBeachsection(t);if(this.beachline.rbInsertSuccessor(e,c),e||n){if(e===n)return this.detachCircleEvent(e),n=this.createBeachsection(e.site),this.beachline.rbInsertSuccessor(c,n),c.edge=n.edge=this.createEdge(e.site,c.site),this.attachCircleEvent(e),void this.attachCircleEvent(n);if(!e||n){if(e!==n){this.detachCircleEvent(e),this.detachCircleEvent(n);var u=e.site,l=u.x,h=u.y,f=t.x-l,d=t.y-h,p=n.site,g=p.x-l,v=p.y-h,b=2*(f*v-d*g),y=f*f+d*d,m=g*g+v*v,w=this.createVertex((v*y-d*m)/b+l,(f*m-g*y)/b+h);return this.setEdgeStartpoint(n.edge,u,p,w),c.edge=this.createEdge(u,t,void 0,w),n.edge=this.createEdge(t,p,void 0,w),this.attachCircleEvent(e),void this.attachCircleEvent(n)}}else c.edge=this.createEdge(e.site,c.site)}},n.prototype.CircleEvent=function(){this.arc=null,this.rbLeft=null,this.rbNext=null,this.rbParent=null,this.rbPrevious=null,this.rbRed=!1,this.rbRight=null,this.site=null,this.x=this.y=this.ycenter=0},n.prototype.attachCircleEvent=function(t){var e=t.rbPrevious,n=t.rbNext;if(e&&n){var r=e.site,i=t.site,o=n.site;if(r!==o){var a=i.x,s=i.y,c=r.x-a,u=r.y-s,l=o.x-a,h=o.y-s,f=2*(c*h-u*l);if(!(f>=-2e-12)){var d=c*c+u*u,p=l*l+h*h,g=(h*d-u*p)/f,v=(c*p-l*d)/f,b=v+s,y=this.circleEventJunkyard.pop();y||(y=new this.CircleEvent),y.arc=t,y.site=i,y.x=g+a,y.y=b+this.sqrt(g*g+v*v),y.ycenter=b,t.circleEvent=y;for(var m=null,w=this.circleEvents.root;w;)if(y.y=s)return!1;if(f>p){if(!o||o.y=u)return!1;n=this.createVertex(v,u)}else{if(!o||o.y>u)o=this.createVertex(v,u);else if(o.y1)if(f>p){if(!o||o.y=u)return!1;n=this.createVertex((u-i)/r,u)}else{if(!o||o.y>u)o=this.createVertex((u-i)/r,u);else if(o.y=s)return!1;n=this.createVertex(s,r*s+i)}else{if(!o||o.x>s)o=this.createVertex(s,r*s+i);else if(o.x0){if(u>o)return!1;u>i&&(i=u)}if(c=e.xr-n,0===a&&c<0)return!1;if(u=c/a,a<0){if(u>o)return!1;u>i&&(i=u)}else if(a>0){if(u0){if(u>o)return!1;u>i&&(i=u)}if(c=e.yb-r,0===s&&c<0)return!1;if(u=c/s,s<0){if(u>o)return!1;u>i&&(i=u)}else if(s>0){if(u0&&(t.va=this.createVertex(n+i*a,r+i*s)),o<1&&(t.vb=this.createVertex(n+o*a,r+o*s)),(i>0||o<1)&&(this.cells[t.lSite.voronoiId].closeMe=!0,this.cells[t.rSite.voronoiId].closeMe=!0),!0},n.prototype.clipEdges=function(t){for(var e,n=this.edges,r=n.length,i=Math.abs;r--;)e=n[r],(!this.connectEdge(e,t)||!this.clipEdge(e,t)||i(e.va.x-e.vb.x)<1e-9&&i(e.va.y-e.vb.y)<1e-9)&&(e.va=e.vb=null,n.splice(r,1))},n.prototype.closeCells=function(t){for(var e,n,r,i,o,a,s,c,u,l=t.xl,h=t.xr,f=t.yt,d=t.yb,p=this.cells,g=p.length,v=Math.abs;g--;)if((e=p[g]).prepareHalfedges()&&e.closeMe){for(i=(r=e.halfedges).length,n=0;n=1e-9||v(a.y-c.y)>=1e-9)switch(!0){case this.equalWithEpsilon(a.x,l)&&this.lessThanWithEpsilon(a.y,d):if(u=this.equalWithEpsilon(c.x,l),s=this.createVertex(l,u?c.y:d),o=this.createBorderEdge(e.site,a,s),n++,r.splice(n,0,this.createHalfedge(o,e.site,null)),i++,u)break;a=s;case this.equalWithEpsilon(a.y,d)&&this.lessThanWithEpsilon(a.x,h):if(u=this.equalWithEpsilon(c.y,d),s=this.createVertex(u?c.x:h,d),o=this.createBorderEdge(e.site,a,s),n++,r.splice(n,0,this.createHalfedge(o,e.site,null)),i++,u)break;a=s;case this.equalWithEpsilon(a.x,h)&&this.greaterThanWithEpsilon(a.y,f):if(u=this.equalWithEpsilon(c.x,h),s=this.createVertex(h,u?c.y:f),o=this.createBorderEdge(e.site,a,s),n++,r.splice(n,0,this.createHalfedge(o,e.site,null)),i++,u)break;a=s;case this.equalWithEpsilon(a.y,f)&&this.greaterThanWithEpsilon(a.x,l):if(u=this.equalWithEpsilon(c.y,f),s=this.createVertex(u?c.x:l,f),o=this.createBorderEdge(e.site,a,s),n++,r.splice(n,0,this.createHalfedge(o,e.site,null)),i++,u)break;if(a=s,u=this.equalWithEpsilon(c.x,l),s=this.createVertex(l,u?c.y:d),o=this.createBorderEdge(e.site,a,s),n++,r.splice(n,0,this.createHalfedge(o,e.site,null)),i++,u)break;if(a=s,u=this.equalWithEpsilon(c.y,d),s=this.createVertex(u?c.x:h,d),o=this.createBorderEdge(e.site,a,s),n++,r.splice(n,0,this.createHalfedge(o,e.site,null)),i++,u)break;if(a=s,u=this.equalWithEpsilon(c.x,h),s=this.createVertex(h,u?c.y:f),o=this.createBorderEdge(e.site,a,s),n++,r.splice(n,0,this.createHalfedge(o,e.site,null)),i++,u)break;default:throw"Voronoi.closeCells() > this makes no sense!"}n++}e.closeMe=!1}},n.prototype.quantizeSites=function(t){for(var e,n=this.ε,r=t.length;r--;)(e=t[r]).x=Math.floor(e.x/n)*n,e.y=Math.floor(e.y/n)*n},n.prototype.recycle=function(t){if(t){if(!(t instanceof this.Diagram))throw"Voronoi.recycleDiagram() > Need a Diagram object.";this.toRecycle=t}},n.prototype.compute=function(t,e){var n=new Date;this.reset(),this.toRecycle&&(this.vertexJunkyard=this.vertexJunkyard.concat(this.toRecycle.vertices),this.edgeJunkyard=this.edgeJunkyard.concat(this.toRecycle.edges),this.cellJunkyard=this.cellJunkyard.concat(this.toRecycle.cells),this.toRecycle=null);var r=t.slice(0);r.sort((function(t,e){return e.y-t.y||e.x-t.x}));for(var i,o,a,s=r.pop(),c=0,u=this.cells;;)if(a=this.firstCircleEvent,s&&(!a||s.y{window,t.exports=function(t){var e={};function n(r){if(e[r])return e[r].exports;var i=e[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)n.d(r,i,function(e){return t[e]}.bind(null,i));return r},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=0)}([function(t,e,n){"use strict";var r=n(1),i=function(t){t&&t("core","svg",r.svg)};"undefined"!=typeof cytoscape&&i(cytoscape),t.exports=i},function(t,e,n){"use strict";var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i=n(2),o={},a=function(t){return null!=t&&(void 0===t?"undefined":r(t))===r(1)&&!isNaN(t)};o.bufferCanvasImage=function(t,e){var n=e.renderer().usePaths;e.renderer().usePaths=function(){return!1},e.elements().forEach((function(t){t._private.rscratch.pathCacheKey=null,t._private.rscratch.pathCache=null}));var r=e.renderer(),o=e.mutableElements().boundingBox(),s=r.findContainerClientCoords(),c=t.full?Math.ceil(o.w):s[2],u=t.full?Math.ceil(o.h):s[3],l=a(t.maxWidth)||a(t.maxHeight),h=r.getPixelRatio(),f=1;if(void 0!==t.scale)c*=t.scale,u*=t.scale,f=t.scale;else if(l){var d=1/0,p=1/0;a(t.maxWidth)&&(d=f*t.maxWidth/c),a(t.maxHeight)&&(p=f*t.maxHeight/u),c*=f=Math.min(d,p),u*=f}l||(c*=h,u*=h,f*=h);var g=null,v=g=new i(c,u);if(c>0&&u>0){g.clearRect(0,0,c,u),t.bg&&(g.globalCompositeOperation="destination-over",g.fillStyle=t.bg,g.fillRect(0,0,c,u)),g.globalCompositeOperation="source-over";var b=r.getCachedZSortedEles();if(t.full)g.translate(-o.x1*f,-o.y1*f),g.scale(f,f),r.drawElements(g,b),g.scale(1/f,1/f),g.translate(o.x1*f,o.y1*f);else{var y=e.pan(),m={x:y.x*f,y:y.y*f};f*=e.zoom(),g.translate(m.x,m.y),g.scale(f,f),r.drawElements(g,b),g.scale(1/f,1/f),g.translate(-m.x,-m.y)}}return e.renderer().usePaths=n,v},o.svg=function(t){return o.bufferCanvasImage(t||{},this).getSerializedSvg()},t.exports=o},function(t,e,n){!function(){"use strict";var e,n,r,i,o;function a(t,e){var n,r=Object.keys(e);for(n=0;n1?((e=r).width=arguments[0],e.height=arguments[1]):e=t||r,!(this instanceof n))return new n(e);this.width=e.width||r.width,this.height=e.height||r.height,this.enableMirroring=void 0!==e.enableMirroring?e.enableMirroring:r.enableMirroring,this.canvas=this,this.__document=e.document||document,e.ctx?this.__ctx=e.ctx:(this.__canvas=this.__document.createElement("canvas"),this.__ctx=this.__canvas.getContext("2d")),this.__setDefaultStyles(),this.__stack=[this.__getStyleState()],this.__groupStack=[],this.__root=this.__document.createElementNS("http://www.w3.org/2000/svg","svg"),this.__root.setAttribute("version",1.1),this.__root.setAttribute("xmlns","http://www.w3.org/2000/svg"),this.__root.setAttributeNS("http://www.w3.org/2000/xmlns/","xmlns:xlink","http://www.w3.org/1999/xlink"),this.__root.setAttribute("width",this.width),this.__root.setAttribute("height",this.height),this.__ids={},this.__defs=this.__document.createElementNS("http://www.w3.org/2000/svg","defs"),this.__root.appendChild(this.__defs),this.__currentElement=this.__document.createElementNS("http://www.w3.org/2000/svg","g"),this.__root.appendChild(this.__currentElement)}).prototype.__createElement=function(t,e,n){void 0===e&&(e={});var r,i,o=this.__document.createElementNS("http://www.w3.org/2000/svg",t),a=Object.keys(e);for(n&&(o.setAttribute("fill","none"),o.setAttribute("stroke","none")),r=0;r0){"path"===this.__currentElement.nodeName&&(this.__currentElementsToStyle||(this.__currentElementsToStyle={element:e,children:[]}),this.__currentElementsToStyle.children.push(this.__currentElement),this.__applyCurrentDefaultPath());var n=this.__createElement("g");e.appendChild(n),this.__currentElement=n}var r=this.__currentElement.getAttribute("transform");r?r+=" ":r="",r+=t,this.__currentElement.setAttribute("transform",r)},n.prototype.scale=function(t,e){void 0===e&&(e=t),this.__addTransform(a("scale({x},{y})",{x:t,y:e}))},n.prototype.rotate=function(t){var e=180*t/Math.PI;this.__addTransform(a("rotate({angle},{cx},{cy})",{angle:e,cx:0,cy:0}))},n.prototype.translate=function(t,e){this.__addTransform(a("translate({x},{y})",{x:t,y:e}))},n.prototype.transform=function(t,e,n,r,i,o){this.__addTransform(a("matrix({a},{b},{c},{d},{e},{f})",{a:t,b:e,c:n,d:r,e:i,f:o}))},n.prototype.beginPath=function(){var t;this.__currentDefaultPath="",this.__currentPosition={},t=this.__createElement("path",{},!0),this.__closestGroupOrSvg().appendChild(t),this.__currentElement=t},n.prototype.__applyCurrentDefaultPath=function(){var t=this.__currentElement;"path"===t.nodeName?t.setAttribute("d",this.__currentDefaultPath):console.error("Attempted to apply path command to node",t.nodeName)},n.prototype.__addPathCommand=function(t){this.__currentDefaultPath+=" ",this.__currentDefaultPath+=t},n.prototype.moveTo=function(t,e){"path"!==this.__currentElement.nodeName&&this.beginPath(),this.__currentPosition={x:t,y:e},this.__addPathCommand(a("M {x} {y}",{x:t,y:e}))},n.prototype.closePath=function(){this.__currentDefaultPath&&this.__addPathCommand("Z")},n.prototype.lineTo=function(t,e){this.__currentPosition={x:t,y:e},this.__currentDefaultPath.indexOf("M")>-1?this.__addPathCommand(a("L {x} {y}",{x:t,y:e})):this.__addPathCommand(a("M {x} {y}",{x:t,y:e}))},n.prototype.bezierCurveTo=function(t,e,n,r,i,o){this.__currentPosition={x:i,y:o},this.__addPathCommand(a("C {cp1x} {cp1y} {cp2x} {cp2y} {x} {y}",{cp1x:t,cp1y:e,cp2x:n,cp2y:r,x:i,y:o}))},n.prototype.quadraticCurveTo=function(t,e,n,r){this.__currentPosition={x:n,y:r},this.__addPathCommand(a("Q {cpx} {cpy} {x} {y}",{cpx:t,cpy:e,x:n,y:r}))};var u=function(t){var e=Math.sqrt(t[0]*t[0]+t[1]*t[1]);return[t[0]/e,t[1]/e]};n.prototype.arcTo=function(t,e,n,r,i){var o=this.__currentPosition&&this.__currentPosition.x,a=this.__currentPosition&&this.__currentPosition.y;if(void 0!==o&&void 0!==a){if(i<0)throw new Error("IndexSizeError: The radius provided ("+i+") is negative.");if(o===t&&a===e||t===n&&e===r||0===i)this.lineTo(t,e);else{var s=u([o-t,a-e]),c=u([n-t,r-e]);if(s[0]*c[1]!=s[1]*c[0]){var l=s[0]*c[0]+s[1]*c[1],h=Math.acos(Math.abs(l)),f=u([s[0]+c[0],s[1]+c[1]]),d=i/Math.sin(h/2),p=t+d*f[0],g=e+d*f[1],v=[-s[1],s[0]],b=[c[1],-c[0]],y=function(t){var e=t[0];return t[1]>=0?Math.acos(e):-Math.acos(e)},m=y(v),w=y(b);this.lineTo(p+v[0]*i,g+v[1]*i),this.arc(p,g,i,m,w)}else this.lineTo(t,e)}}},n.prototype.stroke=function(){"path"===this.__currentElement.nodeName&&this.__currentElement.setAttribute("paint-order","fill stroke markers"),this.__applyCurrentDefaultPath(),this.__applyStyleToCurrentElement("stroke")},n.prototype.fill=function(){"path"===this.__currentElement.nodeName&&this.__currentElement.setAttribute("paint-order","stroke fill markers"),this.__applyCurrentDefaultPath(),this.__applyStyleToCurrentElement("fill")},n.prototype.rect=function(t,e,n,r){"path"!==this.__currentElement.nodeName&&this.beginPath(),this.moveTo(t,e),this.lineTo(t+n,e),this.lineTo(t+n,e+r),this.lineTo(t,e+r),this.lineTo(t,e),this.closePath()},n.prototype.fillRect=function(t,e,n,r){var i;i=this.__createElement("rect",{x:t,y:e,width:n,height:r},!0),this.__closestGroupOrSvg().appendChild(i),this.__currentElement=i,this.__applyStyleToCurrentElement("fill")},n.prototype.strokeRect=function(t,e,n,r){var i;i=this.__createElement("rect",{x:t,y:e,width:n,height:r},!0),this.__closestGroupOrSvg().appendChild(i),this.__currentElement=i,this.__applyStyleToCurrentElement("stroke")},n.prototype.__clearCanvas=function(){for(var t=this.__closestGroupOrSvg().getAttribute("transform"),e=this.__root.childNodes[1],n=e.childNodes,r=n.length-1;r>=0;r--)n[r]&&e.removeChild(n[r]);this.__currentElement=e,this.__groupStack=[],t&&this.__addTransform(t)},n.prototype.clearRect=function(t,e,n,r){if(0!==t||0!==e||n!==this.width||r!==this.height){var i,o=this.__closestGroupOrSvg();i=this.__createElement("rect",{x:t,y:e,width:n,height:r,fill:"#FFFFFF"},!0),o.appendChild(i)}else this.__clearCanvas()},n.prototype.createLinearGradient=function(t,e,n,i){var o=this.__createElement("linearGradient",{id:s(this.__ids),x1:t+"px",x2:n+"px",y1:e+"px",y2:i+"px",gradientUnits:"userSpaceOnUse"},!1);return this.__defs.appendChild(o),new r(o,this)},n.prototype.createRadialGradient=function(t,e,n,i,o,a){var c=this.__createElement("radialGradient",{id:s(this.__ids),cx:i+"px",cy:o+"px",r:a+"px",fx:t+"px",fy:e+"px",gradientUnits:"userSpaceOnUse"},!1);return this.__defs.appendChild(c),new r(c,this)},n.prototype.__parseFont=function(){var t=/^\s*(?=(?:(?:[-a-z]+\s*){0,2}(italic|oblique))?)(?=(?:(?:[-a-z]+\s*){0,2}(small-caps))?)(?=(?:(?:[-a-z]+\s*){0,2}(bold(?:er)?|lighter|[1-9]00))?)(?:(?:normal|\1|\2|\3)\s*){0,3}((?:xx?-)?(?:small|large)|medium|smaller|larger|[.\d]+(?:\%|in|[cem]m|ex|p[ctx]))(?:\s*\/\s*(normal|[.\d]+(?:\%|in|[cem]m|ex|p[ctx])))?\s*([-,\'\"\sa-z0-9]+?)\s*$/i.exec(this.font),e={style:t[1]||"normal",size:t[4]||"10px",family:t[6]||"sans-serif",weight:t[3]||"normal",decoration:t[2]||"normal",href:null};return"underline"===this.__fontUnderline&&(e.decoration="underline"),this.__fontHref&&(e.href=this.__fontHref),e},n.prototype.__wrapTextLink=function(t,e){if(t.href){var n=this.__createElement("a");return n.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",t.href),n.appendChild(e),n}return e},n.prototype.__applyText=function(t,e,n,r){var i,o,a=this.__parseFont(),s=this.__closestGroupOrSvg(),u=this.__createElement("text",{"font-family":a.family,"font-size":a.size,"font-style":a.style,"font-weight":a.weight,"text-decoration":a.decoration,x:e,y:n,"text-anchor":(i=this.textAlign,o={left:"start",right:"end",center:"middle",start:"start",end:"end"},o[i]||o.start),"dominant-baseline":c(this.textBaseline)},!0);u.appendChild(this.__document.createTextNode(t)),this.__currentElement=u,this.__applyStyleToCurrentElement(r),s.appendChild(this.__wrapTextLink(a,u))},n.prototype.fillText=function(t,e,n){this.__applyText(t,e,n,"fill")},n.prototype.strokeText=function(t,e,n){this.__applyText(t,e,n,"stroke")},n.prototype.measureText=function(t){return this.__ctx.font=this.font,this.__ctx.measureText(t)},n.prototype.arc=function(t,e,n,r,i,o){if(r!==i){(r%=2*Math.PI)==(i%=2*Math.PI)&&(i=(i+2*Math.PI-.001*(o?-1:1))%(2*Math.PI));var s,c=t+n*Math.cos(i),u=e+n*Math.sin(i),l=t+n*Math.cos(r),h=e+n*Math.sin(r),f=o?0:1,d=i-r;d<0&&(d+=2*Math.PI),s=o?d>Math.PI?0:1:d>Math.PI?1:0,this.lineTo(l,h),this.__addPathCommand(a("A {rx} {ry} {xAxisRotation} {largeArcFlag} {sweepFlag} {endX} {endY}",{rx:n,ry:n,xAxisRotation:0,largeArcFlag:s,sweepFlag:f,endX:c,endY:u})),this.__currentPosition={x:c,y:u}}},n.prototype.clip=function(){var t=this.__closestGroupOrSvg(),e=this.__createElement("clipPath"),n=s(this.__ids),r=this.__createElement("g");this.__applyCurrentDefaultPath(),t.removeChild(this.__currentElement),e.setAttribute("id",n),e.appendChild(this.__currentElement),this.__defs.appendChild(e),t.setAttribute("clip-path",a("url(#{id})",{id:n})),t.appendChild(r),this.__currentElement=r},n.prototype.drawImage=function(){var t,e,r,i,o,a,s,c,u,l,h,f,d,p=Array.prototype.slice.call(arguments),g=p[0],v=0,b=0;if(3===p.length)t=p[1],e=p[2],r=o=g.width,i=a=g.height;else if(5===p.length)t=p[1],e=p[2],r=p[3],i=p[4],o=g.width,a=g.height;else{if(9!==p.length)throw new Error("Inavlid number of arguments passed to drawImage: "+arguments.length);v=p[1],b=p[2],o=p[3],a=p[4],t=p[5],e=p[6],r=p[7],i=p[8]}s=this.__closestGroupOrSvg(),this.__currentElement;var y="translate("+t+", "+e+")";if(g instanceof n){if((c=g.getSvg().cloneNode(!0)).childNodes&&c.childNodes.length>1){for(u=c.childNodes[0];u.childNodes.length;)d=u.childNodes[0].getAttribute("id"),this.__ids[d]=d,this.__defs.appendChild(u.childNodes[0]);if(l=c.childNodes[1]){var m,w=l.getAttribute("transform");m=w?w+" "+y:y,l.setAttribute("transform",m),s.appendChild(l)}}}else"CANVAS"!==g.nodeName&&"IMG"!==g.nodeName||((h=this.__createElement("image")).setAttribute("width",r),h.setAttribute("height",i),h.setAttribute("opacity",this.globalAlpha),h.setAttribute("preserveAspectRatio","none"),(f=this.__document.createElement("canvas")).width=r,f.height=i,f.getContext("2d").drawImage(g,v,b,o,a,0,0,r,i),g=f,h.setAttribute("transform",y),h.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href","CANVAS"===g.nodeName?g.toDataURL():g.getAttribute("src")),s.appendChild(h))},n.prototype.createPattern=function(t,e){var r,o=this.__document.createElementNS("http://www.w3.org/2000/svg","pattern"),a=s(this.__ids);return o.setAttribute("id",a),o.setAttribute("width",t.width),o.setAttribute("height",t.height),"CANVAS"===t.nodeName||"IMG"===t.nodeName?((r=this.__document.createElementNS("http://www.w3.org/2000/svg","image")).setAttribute("width",t.width),r.setAttribute("height",t.height),r.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href","CANVAS"===t.nodeName?t.toDataURL():t.getAttribute("src")),o.appendChild(r),this.__defs.appendChild(o)):t instanceof n&&(o.appendChild(t.__root.childNodes[1]),this.__defs.appendChild(o)),new i(o,this)},n.prototype.setLineDash=function(t){t&&t.length>0?this.lineDash=t.join(","):this.lineDash=null},n.prototype.drawFocusRing=function(){},n.prototype.createImageData=function(){},n.prototype.getImageData=function(){},n.prototype.putImageData=function(){},n.prototype.globalCompositeOperation=function(){},n.prototype.setTransform=function(){},"object"==typeof window&&(window.C2S=n),"object"==typeof t.exports&&(t.exports=n)}()}])},9058:(t,e,n)=>{"use strict";var r=n(3279),i=n(4485),o=n(7361),a=n(6968),s=n(84);function c(t){return t&&"object"==typeof t&&"default"in t?t:{default:t}}var u=c(r),l=c(i),h=c(o),f=c(a),d=c(s);function p(t){return p="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},p(t)}function g(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function v(t,e){for(var n=0;nt.length)&&(e=t.length);for(var n=0,r=new Array(e);ne?1:0},Q=null!=Object.assign?Object.assign.bind(Object):function(t){for(var e=arguments,n=1;n1&&void 0!==arguments[1]?arguments[1]:st;!(e=t.next()).done;)n=65599*n+e.value|0;return n},lt=function(t){return 65599*(arguments.length>1&&void 0!==arguments[1]?arguments[1]:st)+t|0},ht=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:ct;return(e<<5)+e+t|0},ft=function(t){return 2097152*t[0]+t[1]},dt=function(t,e){return[lt(t[0],e[0]),ht(t[1],e[1])]},pt=function(t,e){var n={value:0,done:!1},r=0,i=t.length;return ut({next:function(){return r=0&&(t[r]!==e||(t.splice(r,1),!n));r--);},Pt=function(t){t.splice(0,t.length)},Dt=function(t,e,n){return n&&(e=U(n,e)),t[e]},Rt=function(t,e,n,r){n&&(e=U(n,e)),t[e]=r},jt="undefined"!=typeof Map?Map:function(){function t(){g(this,t),this._obj={}}return b(t,[{key:"set",value:function(t,e){return this._obj[t]=e,this}},{key:"delete",value:function(t){return this._obj[t]=void 0,this}},{key:"clear",value:function(){this._obj={}}},{key:"has",value:function(t){return void 0!==this._obj[t]}},{key:"get",value:function(t){return this._obj[t]}}]),t}(),Gt=function(){function t(e){if(g(this,t),this._obj=Object.create(null),this.size=0,null!=e){var n;n=null!=e.instanceString&&e.instanceString()===this.instanceString()?e.toArray():e;for(var r=0;r2&&void 0!==arguments[2])||arguments[2];if(void 0!==t&&void 0!==e&&j(t)){var r=e.group;if(null==r&&(r=e.data&&null!=e.data.source&&null!=e.data.target?"edges":"nodes"),"nodes"===r||"edges"===r){this.length=1,this[0]=this;var i=this._private={cy:t,single:!0,data:e.data||{},position:e.position||{x:0,y:0},autoWidth:void 0,autoHeight:void 0,autoPadding:void 0,compoundBoundsClean:!1,listeners:[],group:r,style:{},rstyle:{},styleCxts:[],styleKeys:{},removed:!0,selected:!!e.selected,selectable:void 0===e.selectable||!!e.selectable,locked:!!e.locked,grabbed:!1,grabbable:void 0===e.grabbable||!!e.grabbable,pannable:void 0===e.pannable?"edges"===r:!!e.pannable,active:!1,classes:new Bt,animation:{current:[],queue:[]},rscratch:{},scratch:e.scratch||{},edges:[],children:[],parent:e.parent&&e.parent.isNode()?e.parent:null,traversalCache:{},backgrounding:!1,bbCache:null,bbCacheShift:{x:0,y:0},bodyBounds:null,overlayBounds:null,labelBounds:{all:null,source:null,target:null,main:null},arrowBounds:{source:null,target:null,"mid-source":null,"mid-target":null}};if(null==i.position.x&&(i.position.x=0),null==i.position.y&&(i.position.y=0),e.renderedPosition){var o=e.renderedPosition,a=t.pan(),s=t.zoom();i.position={x:(o.x-a.x)/s,y:(o.y-a.y)/s}}var c=[];O(e.classes)?c=e.classes:A(e.classes)&&(c=e.classes.split(/\s+/));for(var u=0,l=c.length;u0;){var _=y.pop(),E=v(_),k=_.id();if(f[k]=E,E!==1/0)for(var T=_.neighborhood().intersect(p),C=0;C0)for(n.unshift(e);h[i];){var o=h[i];n.unshift(o.edge),n.unshift(o.node),i=(r=o.node).id()}return a.spawn(n)}}}},Vt={kruskal:function(t){t=t||function(t){return 1};for(var e=this.byGroup(),n=e.nodes,r=e.edges,i=n.length,o=new Array(i),a=n,s=function(t){for(var e=0;e0;){if(u=(c=v.pop()).id(),b.delete(u),_++,u===f){for(var E=[],k=i,T=f,C=m[T];E.unshift(k),null!=C&&E.unshift(C),null!=(k=y[T]);)C=m[T=k.id()];return{found:!0,distance:d[u],path:this.spawn(E),steps:_}}g[u]=!0;for(var N=c._private.edges,A=0;AC&&(d[T]=C,b[T]=k,y[T]=w),!i){var N=k*u+E;!i&&d[N]>C&&(d[N]=C,b[N]=E,y[N]=w)}}}for(var S=0;S1&&void 0!==arguments[1]?arguments[1]:o,r=[],i=y(t);;){if(null==i)return e.spawn();var a=b(i),c=a.edge,u=a.pred;if(r.unshift(i[0]),i.same(n)&&r.length>0)break;null!=c&&r.unshift(c),i=u}return s.spawn(r)},hasNegativeWeightCycle:p,negativeWeightCycles:g}}},Qt=Math.sqrt(2),Jt=function(t,e,n){0===n.length&&Tt("Karger-Stein must be run on a connected (sub)graph");for(var r=n[t],i=r[1],o=r[2],a=e[i],s=e[o],c=n,u=c.length-1;u>=0;u--){var l=c[u],h=l[1],f=l[2];(e[h]===a&&e[f]===s||e[h]===s&&e[f]===a)&&c.splice(u,1)}for(var d=0;dr;){var i=Math.floor(Math.random()*e.length);e=Jt(i,t,e),n--}return e},ee={kargerStein:function(){var t=this,e=this.byGroup(),n=e.nodes,r=e.edges;r.unmergeBy((function(t){return t.isLoop()}));var i=n.length,o=r.length,a=Math.ceil(Math.pow(Math.log(i)/Math.LN2,2)),s=Math.floor(i/Qt);if(!(i<2)){for(var c=[],u=0;u0?1:t<0?-1:0},ce=function(t,e){return Math.sqrt(ue(t,e))},ue=function(t,e){var n=e.x-t.x,r=e.y-t.y;return n*n+r*r},le=function(t){for(var e=t.length,n=0,r=0;r=t.x1&&t.y2>=t.y1)return{x1:t.x1,y1:t.y1,x2:t.x2,y2:t.y2,w:t.x2-t.x1,h:t.y2-t.y1};if(null!=t.w&&null!=t.h&&t.w>=0&&t.h>=0)return{x1:t.x1,y1:t.y1,x2:t.x1+t.w,y2:t.y1+t.h,w:t.w,h:t.h}}},ge=function(t,e){t.x1=Math.min(t.x1,e.x1),t.x2=Math.max(t.x2,e.x2),t.w=t.x2-t.x1,t.y1=Math.min(t.y1,e.y1),t.y2=Math.max(t.y2,e.y2),t.h=t.y2-t.y1},ve=function(t,e,n){t.x1=Math.min(t.x1,e),t.x2=Math.max(t.x2,e),t.w=t.x2-t.x1,t.y1=Math.min(t.y1,n),t.y2=Math.max(t.y2,n),t.h=t.y2-t.y1},be=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return t.x1-=e,t.x2+=e,t.y1-=e,t.y2+=e,t.w=t.x2-t.x1,t.h=t.y2-t.y1,t},ye=function(t){var e,n,r,i,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[0];if(1===o.length)e=n=r=i=o[0];else if(2===o.length)e=r=o[0],i=n=o[1];else if(4===o.length){var a=m(o,4);e=a[0],n=a[1],r=a[2],i=a[3]}return t.x1-=i,t.x2+=n,t.y1-=e,t.y2+=r,t.w=t.x2-t.x1,t.h=t.y2-t.y1,t},me=function(t,e){t.x1=e.x1,t.y1=e.y1,t.x2=e.x2,t.y2=e.y2,t.w=t.x2-t.x1,t.h=t.y2-t.y1},we=function(t,e){return!(t.x1>e.x2||e.x1>t.x2||t.x2e.y2||e.y1>t.y2)},xe=function(t,e,n){return t.x1<=e&&e<=t.x2&&t.y1<=n&&n<=t.y2},_e=function(t,e){return xe(t,e.x1,e.y1)&&xe(t,e.x2,e.y2)},Ee=function(t,e,n,r,i,o,a){var s,c=He(i,o),u=i/2,l=o/2,h=r-l-a;if((s=De(t,e,n,r,n-u+c-a,h,n+u-c+a,h,!1)).length>0)return s;var f=n+u+a;if((s=De(t,e,n,r,f,r-l+c-a,f,r+l-c+a,!1)).length>0)return s;var d=r+l+a;if((s=De(t,e,n,r,n-u+c-a,d,n+u-c+a,d,!1)).length>0)return s;var p,g=n-u-a;if((s=De(t,e,n,r,g,r-l+c-a,g,r+l-c+a,!1)).length>0)return s;var v=n-u+c,b=r-l+c;if((p=Me(t,e,n,r,v,b,c+a)).length>0&&p[0]<=v&&p[1]<=b)return[p[0],p[1]];var y=n+u-c,m=r-l+c;if((p=Me(t,e,n,r,y,m,c+a)).length>0&&p[0]>=y&&p[1]<=m)return[p[0],p[1]];var w=n+u-c,x=r+l-c;if((p=Me(t,e,n,r,w,x,c+a)).length>0&&p[0]>=w&&p[1]>=x)return[p[0],p[1]];var _=n-u+c,E=r+l-c;return(p=Me(t,e,n,r,_,E,c+a)).length>0&&p[0]<=_&&p[1]>=E?[p[0],p[1]]:[]},ke=function(t,e,n,r,i,o,a){var s=a,c=Math.min(n,i),u=Math.max(n,i),l=Math.min(r,o),h=Math.max(r,o);return c-s<=t&&t<=u+s&&l-s<=e&&e<=h+s},Te=function(t,e,n,r,i,o,a,s,c){var u=Math.min(n,a,i)-c,l=Math.max(n,a,i)+c,h=Math.min(r,s,o)-c,f=Math.max(r,s,o)+c;return!(tl||ef)},Ce=function(t,e,n,r,i,o,a,s){var c,u,l,h,f,d,p,g,v,b,y,m,w,x=[];u=9*n*i-3*n*n-3*n*a-6*i*i+3*i*a+9*r*o-3*r*r-3*r*s-6*o*o+3*o*s,l=3*n*n-6*n*i+n*a-n*t+2*i*i+2*i*t-a*t+3*r*r-6*r*o+r*s-r*e+2*o*o+2*o*e-s*e,h=1*n*i-n*n+n*t-i*t+r*o-r*r+r*e-o*e,0===(c=1*n*n-4*n*i+2*n*a+4*i*i-4*i*a+a*a+r*r-4*r*o+2*r*s+4*o*o-4*o*s+s*s)&&(c=1e-5),g=-27*(h/=c)+(u/=c)*(9*(l/=c)-u*u*2),d=(p=(3*l-u*u)/9)*p*p+(g/=54)*g,(f=x)[1]=0,m=u/3,d>0?(b=(b=g+Math.sqrt(d))<0?-Math.pow(-b,1/3):Math.pow(b,1/3),y=(y=g-Math.sqrt(d))<0?-Math.pow(-y,1/3):Math.pow(y,1/3),f[0]=-m+b+y,m+=(b+y)/2,f[4]=f[2]=-m,m=Math.sqrt(3)*(-y+b)/2,f[3]=m,f[5]=-m):(f[5]=f[3]=0,0===d?(w=g<0?-Math.pow(-g,1/3):Math.pow(g,1/3),f[0]=2*w-m,f[4]=f[2]=-(w+m)):(v=(p=-p)*p*p,v=Math.acos(g/Math.sqrt(v)),w=2*Math.sqrt(p),f[0]=-m+w*Math.cos(v/3),f[2]=-m+w*Math.cos((v+2*Math.PI)/3),f[4]=-m+w*Math.cos((v+4*Math.PI)/3)));for(var _=[],E=0;E<6;E+=2)Math.abs(x[E+1])<1e-7&&x[E]>=0&&x[E]<=1&&_.push(x[E]);_.push(1),_.push(0);for(var k,T,C,N=-1,A=0;A<_.length;A++)k=Math.pow(1-_[A],2)*n+2*(1-_[A])*_[A]*i+_[A]*_[A]*a,T=Math.pow(1-_[A],2)*r+2*(1-_[A])*_[A]*o+_[A]*_[A]*s,C=Math.pow(k-t,2)+Math.pow(T-e,2),N>=0?Cc?(t-i)*(t-i)+(e-o)*(e-o):u-h},Ae=function(t,e,n){for(var r,i,o,a,s=0,c=0;c=t&&t>=o||r<=t&&t<=o))continue;(t-r)/(o-r)*(a-i)+i>e&&s++}return s%2!=0},Se=function(t,e,n,r,i,o,a,s,c){var u,l=new Array(n.length);null!=s[0]?(u=Math.atan(s[1]/s[0]),s[0]<0?u+=Math.PI/2:u=-u-Math.PI/2):u=s;for(var h,f=Math.cos(-u),d=Math.sin(-u),p=0;p0){var g=Le(l,-c);h=Oe(g)}else h=l;return Ae(t,e,h)},Oe=function(t){for(var e,n,r,i,o,a,s,c,u=new Array(t.length/2),l=0;l=0&&p<=1&&v.push(p),g>=0&&g<=1&&v.push(g),0===v.length)return[];var b=v[0]*s[0]+t,y=v[0]*s[1]+e;return v.length>1?v[0]==v[1]?[b,y]:[b,y,v[1]*s[0]+t,v[1]*s[1]+e]:[b,y]},Pe=function(t,e,n){return e<=t&&t<=n||n<=t&&t<=e?t:t<=e&&e<=n||n<=e&&e<=t?e:n},De=function(t,e,n,r,i,o,a,s,c){var u=t-i,l=n-t,h=a-i,f=e-o,d=r-e,p=s-o,g=h*f-p*u,v=l*f-d*u,b=p*l-h*d;if(0!==b){var y=g/b,m=v/b,w=-.001;return w<=y&&y<=1.001&&w<=m&&m<=1.001||c?[t+y*l,e+y*d]:[]}return 0===g||0===v?Pe(t,n,a)===a?[a,s]:Pe(t,n,i)===i?[i,o]:Pe(i,a,n)===n?[n,r]:[]:[]},Re=function(t,e,n,r,i,o,a,s){var c,u,l,h,f,d,p=[],g=new Array(n.length),v=!0;if(null==o&&(v=!1),v){for(var b=0;b0){var y=Le(g,-s);u=Oe(y)}else u=g}else u=n;for(var m=0;mu&&(u=e)},f=function(t){return c[t]},d=0;d0?x.edgesTo(w)[0]:w.edgesTo(x)[0];var _=r(m);w=w.id(),d[w]>d[b]+_&&(d[w]=d[b]+_,p.nodes.indexOf(w)<0?p.push(w):p.updateItem(w),u[w]=0,c[w]=[]),d[w]==d[b]+_&&(u[w]=u[w]+u[b],c[w].push(b))}else for(var E=0;E0;){for(var N=n.pop(),A=0;A0&&a.push(n[s]);0!==a.length&&i.push(r.collection(a))}return i}(l,c,e,r);return m=function(t){for(var e=0;e5&&void 0!==arguments[5]?arguments[5]:un,a=r,s=0;s=2?gn(t,e,n,0,fn,dn):gn(t,e,n,0,hn)},squaredEuclidean:function(t,e,n){return gn(t,e,n,0,fn)},manhattan:function(t,e,n){return gn(t,e,n,0,hn)},max:function(t,e,n){return gn(t,e,n,-1/0,pn)}};function bn(t,e,n,r,i,o){var a;return a=S(t)?t:vn[t]||vn.euclidean,0===e&&S(t)?a(i,o):a(e,n,r,i,o)}vn["squared-euclidean"]=vn.squaredEuclidean,vn.squaredeuclidean=vn.squaredEuclidean;var yn=It({k:2,m:2,sensitivityThreshold:1e-4,distance:"euclidean",maxIterations:10,attributes:[],testMode:!1,testCentroids:null}),mn=function(t){return yn(t)},wn=function(t,e,n,r,i){var o="kMedoids"!==i?function(t){return n[t]}:function(t){return r[t](n)},a=n,s=e;return bn(t,r.length,o,(function(t){return r[t](e)}),a,s)},xn=function(t,e,n){for(var r=n.length,i=new Array(r),o=new Array(r),a=new Array(e),s=null,c=0;cn)return!1;return!0},Tn=function(t,e,n){for(var r=0;ri&&(i=e[c][u],o=u);a[o].push(t[c])}for(var l=0;l=i.threshold||"dendrogram"===i.mode&&1===t.length)return!1;var d,p=e[a],g=e[r[a]];d="dendrogram"===i.mode?{left:p,right:g,key:p.key}:{value:p.value.concat(g.value),key:p.key},t[p.index]=d,t.splice(g.index,1),e[p.key]=d;for(var v=0;vn[g.key][b.key]&&(o=n[g.key][b.key])):"max"===i.linkage?(o=n[p.key][b.key],n[p.key][b.key]a&&(o=c,a=e[i*t+c])}o>0&&r.push(o)}for(var u=0;u1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t.length,r=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],i=!(arguments.length>5&&void 0!==arguments[5])||arguments[5];arguments.length>3&&void 0!==arguments[3]&&!arguments[3]?(n0&&t.splice(0,e)):t=t.slice(e,n);for(var o=0,a=t.length-1;a>=0;a--){var s=t[a];i?isFinite(s)||(t[a]=-1/0,o++):t.splice(a,1)}r&&t.sort((function(t,e){return t-e}));var c=t.length,u=Math.floor(c/2);return c%2!=0?t[u+1+o]:(t[u-1+o]+t[u+o])/2}(t):"mean"===e?function(t){for(var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t.length,r=0,i=0,o=e;o1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t.length,r=1/0,i=e;i1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t.length,r=-1/0,i=e;i=C?(N=C,C=S,A=O):S>N&&(N=S);for(var L=0;L0?1:0;E[_%u.minIterations*e+G]=B,j+=B}if(j>0&&(_>=u.minIterations-1||_==u.maxIterations-1)){for(var F=0,H=0;H0&&r.push(i);return r}(e,o,a),U=function(t,e,n){for(var r=Yn(t,e,n),i=0;ic&&(s=u,c=l)}n[i]=o[s]}return Yn(t,e,n)}(e,r,z),V={},q=0;q1)}}));var c=Object.keys(e).filter((function(t){return e[t].cutVertex})).map((function(e){return t.getElementById(e)}));return{cut:t.spawn(c),components:i}},Xn=function(){var t=this,e={},n=0,r=[],i=[],o=t.spawn(t),a=function a(s){if(i.push(s),e[s]={index:n,low:n++,explored:!1},t.getElementById(s).connectedEdges().intersection(t).forEach((function(t){var n=t.target().id();n!==s&&(n in e||a(n),e[n].explored||(e[s].low=Math.min(e[s].low,e[n].low)))})),e[s].index===e[s].low){for(var c=t.spawn();;){var u=i.pop();if(c.merge(t.getElementById(u)),e[u].low=e[s].index,e[u].explored=!0,u===s)break}var l=c.edgesWith(c),h=c.merge(l);r.push(h),o=o.difference(h)}};return t.forEach((function(t){if(t.isNode()){var n=t.id();n in e||a(n)}})),{cut:o,components:r}},Wn={};[Yt,Ut,Vt,Xt,$t,Kt,ee,Ve,Xe,$e,Ke,cn,Ln,Bn,Un,{hierholzer:function(t){if(!L(t)){var e=arguments;t={root:e[0],directed:e[1]}}var n,r,i,o=Vn(t),a=o.root,s=o.directed,c=this,u=!1;a&&(i=A(a)?this.filter(a)[0].id():a[0].id());var l={},h={};s?c.forEach((function(t){var e=t.id();if(t.isNode()){var i=t.indegree(!0),o=t.outdegree(!0),a=i-o,s=o-i;1==a?n?u=!0:n=e:1==s?r?u=!0:r=e:(s>1||a>1)&&(u=!0),l[e]=[],t.outgoers().forEach((function(t){t.isEdge()&&l[e].push(t.id())}))}else h[e]=[void 0,t.target().id()]})):c.forEach((function(t){var e=t.id();t.isNode()?(t.degree(!0)%2&&(n?r?u=!0:r=e:n=e),l[e]=[],t.connectedEdges().forEach((function(t){return l[e].push(t.id())}))):h[e]=[t.source().id(),t.target().id()]}));var f={found:!1,trail:void 0};if(u)return f;if(r&&n)if(s){if(i&&r!=i)return f;i=r}else{if(i&&r!=i&&n!=i)return f;i||(i=r)}else i||(i=c[0].id());var d=function(t){for(var e,n,r,i=t,o=[t];l[i].length;)e=l[i].shift(),n=h[e][0],i!=(r=h[e][1])?(l[r]=l[r].filter((function(t){return t!=e})),i=r):s||i==n||(l[n]=l[n].filter((function(t){return t!=e})),i=n),o.unshift(e),o.unshift(i);return o},p=[],g=[];for(g=d(i);1!=g.length;)0==l[g[0]].length?(p.unshift(c.getElementById(g.shift())),p.unshift(c.getElementById(g.shift()))):g=d(g.shift()).concat(g);for(var v in p.unshift(c.getElementById(g.shift())),l)if(l[v].length)return f;return f.found=!0,f.trail=this.spawn(p,!0),f}},{hopcroftTarjanBiconnected:qn,htbc:qn,htb:qn,hopcroftTarjanBiconnectedComponents:qn},{tarjanStronglyConnected:Xn,tsc:Xn,tscc:Xn,tarjanStronglyConnectedComponents:Xn}].forEach((function(t){Q(Wn,t)}));var $n=function t(e){if(!(this instanceof t))return new t(e);this.id="Thenable/1.0.7",this.state=0,this.fulfillValue=void 0,this.rejectReason=void 0,this.onFulfilled=[],this.onRejected=[],this.proxy={then:this.then.bind(this)},"function"==typeof e&&e.call(this,this.fulfill.bind(this),this.reject.bind(this))};$n.prototype={fulfill:function(t){return Zn(this,1,"fulfillValue",t)},reject:function(t){return Zn(this,2,"rejectReason",t)},then:function(t,e){var n=this,r=new $n;return n.onFulfilled.push(Jn(t,r,"fulfill")),n.onRejected.push(Jn(e,r,"reject")),Kn(n),r.proxy}};var Zn=function(t,e,n,r){return 0===t.state&&(t.state=e,t[n]=r,Kn(t)),t},Kn=function(t){1===t.state?Qn(t,"onFulfilled",t.fulfillValue):2===t.state&&Qn(t,"onRejected",t.rejectReason)},Qn=function(t,e,n){if(0!==t[e].length){var r=t[e];t[e]=[];var i=function(){for(var t=0;t0:void 0}},clearQueue:function(){return function(){var t=this,e=void 0!==t.length?t:[t];if(!(this._private.cy||this).styleEnabled())return this;for(var n=0;n0&&this.spawn(r).updateStyle().emit("class"),e},addClass:function(t){return this.toggleClass(t,!0)},hasClass:function(t){var e=this[0];return null!=e&&e._private.classes.has(t)},toggleClass:function(t,e){O(t)||(t=t.match(/\S+/g)||[]);for(var n=this,r=void 0===e,i=[],o=0,a=n.length;o0&&this.spawn(i).updateStyle().emit("class"),n},removeClass:function(t){return this.toggleClass(t,!1)},flashClass:function(t,e){var n=this;if(null==e)e=250;else if(0===e)return n;return n.addClass(t),setTimeout((function(){n.removeClass(t)}),e),n}};ur.className=ur.classNames=ur.classes;var lr={metaChar:"[\\!\\\"\\#\\$\\%\\&\\'\\(\\)\\*\\+\\,\\.\\/\\:\\;\\<\\=\\>\\?\\@\\[\\]\\^\\`\\{\\|\\}\\~]",comparatorOp:"=|\\!=|>|>=|<|<=|\\$=|\\^=|\\*=",boolOp:"\\?|\\!|\\^",string:"\"(?:\\\\\"|[^\"])*\"|'(?:\\\\'|[^'])*'",number:q,meta:"degree|indegree|outdegree",separator:"\\s*,\\s*",descendant:"\\s+",child:"\\s+>\\s+",subject:"\\$",group:"node|edge|\\*",directedEdge:"\\s+->\\s+",undirectedEdge:"\\s+<->\\s+"};lr.variable="(?:[\\w-.]|(?:\\\\"+lr.metaChar+"))+",lr.className="(?:[\\w-]|(?:\\\\"+lr.metaChar+"))+",lr.value=lr.string+"|"+lr.number,lr.id=lr.variable,function(){var t,e,n;for(t=lr.comparatorOp.split("|"),n=0;n=0||"="!==e&&(lr.comparatorOp+="|\\!"+e)}();var hr=20,fr=[{selector:":selected",matches:function(t){return t.selected()}},{selector:":unselected",matches:function(t){return!t.selected()}},{selector:":selectable",matches:function(t){return t.selectable()}},{selector:":unselectable",matches:function(t){return!t.selectable()}},{selector:":locked",matches:function(t){return t.locked()}},{selector:":unlocked",matches:function(t){return!t.locked()}},{selector:":visible",matches:function(t){return t.visible()}},{selector:":hidden",matches:function(t){return!t.visible()}},{selector:":transparent",matches:function(t){return t.transparent()}},{selector:":grabbed",matches:function(t){return t.grabbed()}},{selector:":free",matches:function(t){return!t.grabbed()}},{selector:":removed",matches:function(t){return t.removed()}},{selector:":inside",matches:function(t){return!t.removed()}},{selector:":grabbable",matches:function(t){return t.grabbable()}},{selector:":ungrabbable",matches:function(t){return!t.grabbable()}},{selector:":animated",matches:function(t){return t.animated()}},{selector:":unanimated",matches:function(t){return!t.animated()}},{selector:":parent",matches:function(t){return t.isParent()}},{selector:":childless",matches:function(t){return t.isChildless()}},{selector:":child",matches:function(t){return t.isChild()}},{selector:":orphan",matches:function(t){return t.isOrphan()}},{selector:":nonorphan",matches:function(t){return t.isChild()}},{selector:":compound",matches:function(t){return t.isNode()?t.isParent():t.source().isParent()||t.target().isParent()}},{selector:":loop",matches:function(t){return t.isLoop()}},{selector:":simple",matches:function(t){return t.isSimple()}},{selector:":active",matches:function(t){return t.active()}},{selector:":inactive",matches:function(t){return!t.active()}},{selector:":backgrounding",matches:function(t){return t.backgrounding()}},{selector:":nonbackgrounding",matches:function(t){return!t.backgrounding()}}].sort((function(t,e){return function(t,e){return-1*K(t,e)}(t.selector,e.selector)})),dr=function(){for(var t,e={},n=0;n0&&u.edgeCount>0)return Nt("The selector `"+t+"` is invalid because it uses both a compound selector and an edge selector"),!1;if(u.edgeCount>1)return Nt("The selector `"+t+"` is invalid because it uses multiple edge selectors"),!1;1===u.edgeCount&&Nt("The selector `"+t+"` is deprecated. Edge selectors do not take effect on changes to source and target nodes after an edge is added, for performance reasons. Use a class or data selector on edges instead, updating the class or data of an edge when your app detects a change in source or target nodes.")}return!0},toString:function(){if(null!=this.toStringCache)return this.toStringCache;for(var t=function(t){return null==t?"":t},e=function(e){return A(e)?'"'+e+'"':t(e)},n=function(t){return" "+t+" "},r=function(i,o){return i.checks.reduce((function(a,s,c){return a+(o===i&&0===c?"$":"")+function(i,o){var a=i.type,s=i.value;switch(a){case 0:var c=t(s);return c.substring(0,c.length-1);case 3:var u=i.field,l=i.operator;return"["+u+n(t(l))+e(s)+"]";case 5:var h=i.operator,f=i.field;return"["+t(h)+f+"]";case 4:return"["+i.field+"]";case 6:var d=i.operator;return"[["+i.field+n(t(d))+e(s)+"]]";case 7:return s;case 8:return"#"+s;case 9:return"."+s;case 17:case 15:return r(i.parent,o)+n(">")+r(i.child,o);case 18:case 16:return r(i.ancestor,o)+" "+r(i.descendant,o);case 19:var p=r(i.left,o),g=r(i.subject,o),v=r(i.right,o);return p+(p.length>0?" ":"")+g+v;case hr:return""}}(s,o)}),"")},i="",o=0;o1&&o=0&&(e=e.replace("!",""),l=!0),e.indexOf("@")>=0&&(e=e.replace("@",""),u=!0),(a||c||u)&&(i=a||s?""+t:"",o=""+n),u&&(t=i=i.toLowerCase(),n=o=o.toLowerCase()),e){case"*=":r=i.indexOf(o)>=0;break;case"$=":r=i.indexOf(o,i.length-o.length)>=0;break;case"^=":r=0===i.indexOf(o);break;case"=":r=t===n;break;case">":h=!0,r=t>n;break;case">=":h=!0,r=t>=n;break;case"<":h=!0,r=t0;){var u=i.shift();e(u),o.add(u.id()),a&&r(i,o,u)}return t}function Mr(t,e,n){if(n.isParent())for(var r=n._private.children,i=0;i1&&void 0!==arguments[1])||arguments[1],Mr)},Lr.forEachUp=function(t){return Ir(this,t,!(arguments.length>1&&void 0!==arguments[1])||arguments[1],Pr)},Lr.forEachUpAndDown=function(t){return Ir(this,t,!(arguments.length>1&&void 0!==arguments[1])||arguments[1],Dr)},Lr.ancestors=Lr.parents,(Ar=Sr={data:sr.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),removeData:sr.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),scratch:sr.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:sr.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),rscratch:sr.data({field:"rscratch",allowBinding:!1,allowSetting:!0,settingTriggersEvent:!1,allowGetting:!0}),removeRscratch:sr.removeData({field:"rscratch",triggerEvent:!1}),id:function(){var t=this[0];if(t)return t._private.data.id}}).attr=Ar.data,Ar.removeAttr=Ar.removeData;var Rr,jr,Gr=Sr,Br={};function Fr(t){return function(e){var n=this;if(void 0===e&&(e=!0),0!==n.length&&n.isNode()&&!n.removed()){for(var r=0,i=n[0],o=i._private.edges,a=0;ae})),minIndegree:Hr("indegree",(function(t,e){return te})),minOutdegree:Hr("outdegree",(function(t,e){return te}))}),Q(Br,{totalDegree:function(t){for(var e=0,n=this.nodes(),r=0;r0,l=u;u&&(c=c[0]);var h=l?c.position():{x:0,y:0};return i={x:s.x-h.x,y:s.y-h.y},void 0===t?i:i[t]}for(var f=0;f0,v=g;g&&(p=p[0]);var b=v?p.position():{x:0,y:0};void 0!==e?d.position(t,e+b[t]):void 0!==i&&d.position({x:i.x+b.x,y:i.y+b.y})}}else if(!o)return;return this}},Rr.modelPosition=Rr.point=Rr.position,Rr.modelPositions=Rr.points=Rr.positions,Rr.renderedPoint=Rr.renderedPosition,Rr.relativePoint=Rr.relativePosition;var Ur,Vr,qr=jr;Ur=Vr={},Vr.renderedBoundingBox=function(t){var e=this.boundingBox(t),n=this.cy(),r=n.zoom(),i=n.pan(),o=e.x1*r+i.x,a=e.x2*r+i.x,s=e.y1*r+i.y,c=e.y2*r+i.y;return{x1:o,x2:a,y1:s,y2:c,w:a-o,h:c-s}},Vr.dirtyCompoundBoundsCache=function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0],e=this.cy();return e.styleEnabled()&&e.hasCompoundNodes()?(this.forEachUp((function(e){if(e.isParent()){var n=e._private;n.compoundBoundsClean=!1,n.bbCache=null,t||e.emitAndNotify("bounds")}})),this):this},Vr.updateCompoundBounds=function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0],e=this.cy();if(!e.styleEnabled()||!e.hasCompoundNodes())return this;if(!t&&e.batching())return this;function n(t){if(t.isParent()){var e=t._private,n=t.children(),r="include"===t.pstyle("compound-sizing-wrt-labels").value,i={width:{val:t.pstyle("min-width").pfValue,left:t.pstyle("min-width-bias-left"),right:t.pstyle("min-width-bias-right")},height:{val:t.pstyle("min-height").pfValue,top:t.pstyle("min-height-bias-top"),bottom:t.pstyle("min-height-bias-bottom")}},o=n.boundingBox({includeLabels:r,includeOverlays:!1,useCache:!1}),a=e.position;0!==o.w&&0!==o.h||((o={w:t.pstyle("width").pfValue,h:t.pstyle("height").pfValue}).x1=a.x-o.w/2,o.x2=a.x+o.w/2,o.y1=a.y-o.h/2,o.y2=a.y+o.h/2);var s=i.width.left.value;"px"===i.width.left.units&&i.width.val>0&&(s=100*s/i.width.val);var c=i.width.right.value;"px"===i.width.right.units&&i.width.val>0&&(c=100*c/i.width.val);var u=i.height.top.value;"px"===i.height.top.units&&i.height.val>0&&(u=100*u/i.height.val);var l=i.height.bottom.value;"px"===i.height.bottom.units&&i.height.val>0&&(l=100*l/i.height.val);var h=b(i.width.val-o.w,s,c),f=h.biasDiff,d=h.biasComplementDiff,p=b(i.height.val-o.h,u,l),g=p.biasDiff,v=p.biasComplementDiff;e.autoPadding=function(t,e,n,r){if("%"!==n.units)return"px"===n.units?n.pfValue:0;switch(r){case"width":return t>0?n.pfValue*t:0;case"height":return e>0?n.pfValue*e:0;case"average":return t>0&&e>0?n.pfValue*(t+e)/2:0;case"min":return t>0&&e>0?t>e?n.pfValue*e:n.pfValue*t:0;case"max":return t>0&&e>0?t>e?n.pfValue*t:n.pfValue*e:0;default:return 0}}(o.w,o.h,t.pstyle("padding"),t.pstyle("padding-relative-to").value),e.autoWidth=Math.max(o.w,i.width.val),a.x=(-f+o.x1+o.x2+d)/2,e.autoHeight=Math.max(o.h,i.height.val),a.y=(-g+o.y1+o.y2+v)/2}function b(t,e,n){var r=0,i=0,o=e+n;return t>0&&o>0&&(r=e/o*t,i=n/o*t),{biasDiff:r,biasComplementDiff:i}}}for(var r=0;rt.x2?r:t.x2,t.y1=nt.y2?i:t.y2,t.w=t.x2-t.x1,t.h=t.y2-t.y1)},$r=function(t,e){return null==e?t:Wr(t,e.x1,e.y1,e.x2,e.y2)},Zr=function(t,e,n){return Dt(t,e,n)},Kr=function(t,e,n){if(!e.cy().headless()){var r,i,o=e._private,a=o.rstyle,s=a.arrowWidth/2;if("none"!==e.pstyle(n+"-arrow-shape").value){"source"===n?(r=a.srcX,i=a.srcY):"target"===n?(r=a.tgtX,i=a.tgtY):(r=a.midX,i=a.midY);var c=o.arrowBounds=o.arrowBounds||{},u=c[n]=c[n]||{};u.x1=r-s,u.y1=i-s,u.x2=r+s,u.y2=i+s,u.w=u.x2-u.x1,u.h=u.y2-u.y1,be(u,1),Wr(t,u.x1,u.y1,u.x2,u.y2)}}},Qr=function(t,e,n){if(!e.cy().headless()){var r;r=n?n+"-":"";var i=e._private,o=i.rstyle;if(e.pstyle(r+"label").strValue){var a,s,c,u,l=e.pstyle("text-halign"),h=e.pstyle("text-valign"),f=Zr(o,"labelWidth",n),d=Zr(o,"labelHeight",n),p=Zr(o,"labelX",n),g=Zr(o,"labelY",n),v=e.pstyle(r+"text-margin-x").pfValue,b=e.pstyle(r+"text-margin-y").pfValue,y=e.isEdge(),m=e.pstyle(r+"text-rotation"),w=e.pstyle("text-outline-width").pfValue,x=e.pstyle("text-border-width").pfValue/2,_=e.pstyle("text-background-padding").pfValue,E=d,k=f,T=k/2,C=E/2;if(y)a=p-T,s=p+T,c=g-C,u=g+C;else{switch(l.value){case"left":a=p-k,s=p;break;case"center":a=p-T,s=p+T;break;case"right":a=p,s=p+k}switch(h.value){case"top":c=g-E,u=g;break;case"center":c=g-C,u=g+C;break;case"bottom":c=g,u=g+E}}a+=v-Math.max(w,x)-_-2,s+=v+Math.max(w,x)+_+2,c+=b-Math.max(w,x)-_-2,u+=b+Math.max(w,x)+_+2;var N=n||"main",A=i.labelBounds,S=A[N]=A[N]||{};S.x1=a,S.y1=c,S.x2=s,S.y2=u,S.w=s-a,S.h=u-c;var O=y&&"autorotate"===m.strValue,L=null!=m.pfValue&&0!==m.pfValue;if(O||L){var I=O?Zr(i.rstyle,"labelAngle",n):m.pfValue,M=Math.cos(I),P=Math.sin(I),D=(a+s)/2,R=(c+u)/2;if(!y){switch(l.value){case"left":D=s;break;case"right":D=a}switch(h.value){case"top":R=u;break;case"bottom":R=c}}var j=function(t,e){return{x:(t-=D)*M-(e-=R)*P+D,y:t*P+e*M+R}},G=j(a,c),B=j(a,u),F=j(s,c),H=j(s,u);a=Math.min(G.x,B.x,F.x,H.x),s=Math.max(G.x,B.x,F.x,H.x),c=Math.min(G.y,B.y,F.y,H.y),u=Math.max(G.y,B.y,F.y,H.y)}var Y=N+"Rot",z=A[Y]=A[Y]||{};z.x1=a,z.y1=c,z.x2=s,z.y2=u,z.w=s-a,z.h=u-c,Wr(t,a,c,s,u),Wr(i.labelBounds.all,a,c,s,u)}return t}},Jr=function(t){var e=0,n=function(t){return(t?1:0)<0&&o>0){var a=e.pstyle("outline-offset").value,s=e.pstyle("shape").value,c=o+a,u=(t.w+2*c)/t.w,l=(t.h+2*c)/t.h,h=0;["diamond","pentagon","round-triangle"].includes(s)?(u=(t.w+2.4*c)/t.w,h=-c/3.6):["concave-hexagon","rhomboid","right-rhomboid"].includes(s)?u=(t.w+2.4*c)/t.w:"star"===s?(u=(t.w+2.8*c)/t.w,l=(t.h+2.6*c)/t.h,h=-c/3.8):"triangle"===s?(u=(t.w+2.8*c)/t.w,l=(t.h+2.4*c)/t.h,h=-c/1.4):"vee"===s&&(u=(t.w+4.4*c)/t.w,l=(t.h+3.8*c)/t.h,h=.5*-c);var f=t.h*l-t.h,d=t.w*u-t.w;if(ye(t,[Math.ceil(f/2),Math.ceil(d/2)]),0!==h){var p=(r=h,{x1:(n=t).x1+0,x2:n.x2+0,y1:n.y1+r,y2:n.y2+r,w:n.w,h:n.h});ge(t,p)}}}}(f,t)}else if(g&&e.includeEdges)if(l&&!h){var N=t.pstyle("curve-style").strValue;if(n=Math.min(v.srcX,v.midX,v.tgtX),r=Math.max(v.srcX,v.midX,v.tgtX),i=Math.min(v.srcY,v.midY,v.tgtY),o=Math.max(v.srcY,v.midY,v.tgtY),Wr(f,n-=E,i-=E,r+=E,o+=E),"haystack"===N){var A=v.haystackPts;if(A&&2===A.length){if(n=A[0].x,i=A[0].y,n>(r=A[1].x)){var S=n;n=r,r=S}if(i>(o=A[1].y)){var O=i;i=o,o=O}Wr(f,n-E,i-E,r+E,o+E)}}else if("bezier"===N||"unbundled-bezier"===N||"segments"===N||"taxi"===N){var L;switch(N){case"bezier":case"unbundled-bezier":L=v.bezierPts;break;case"segments":case"taxi":L=v.linePts}if(null!=L)for(var I=0;I(r=D.x)){var R=n;n=r,r=R}if((i=P.y)>(o=D.y)){var j=i;i=o,o=j}Wr(f,n-=E,i-=E,r+=E,o+=E)}if(l&&e.includeEdges&&g&&(Kr(f,t,"mid-source"),Kr(f,t,"mid-target"),Kr(f,t,"source"),Kr(f,t,"target")),l&&"yes"===t.pstyle("ghost").value){var G=t.pstyle("ghost-offset-x").pfValue,B=t.pstyle("ghost-offset-y").pfValue;Wr(f,f.x1+G,f.y1+B,f.x2+G,f.y2+B)}var F=d.bodyBounds=d.bodyBounds||{};me(F,f),ye(F,b),be(F,1),l&&(n=f.x1,r=f.x2,i=f.y1,o=f.y2,Wr(f,n-_,i-_,r+_,o+_));var H=d.overlayBounds=d.overlayBounds||{};me(H,f),ye(H,b),be(H,1);var Y=d.labelBounds=d.labelBounds||{};null!=Y.all?((c=Y.all).x1=1/0,c.y1=1/0,c.x2=-1/0,c.y2=-1/0,c.w=0,c.h=0):Y.all=pe(),l&&e.includeLabels&&(e.includeMainLabels&&Qr(f,t,null),g&&(e.includeSourceLabels&&Qr(f,t,"source"),e.includeTargetLabels&&Qr(f,t,"target")))}return f.x1=Xr(f.x1),f.y1=Xr(f.y1),f.x2=Xr(f.x2),f.y2=Xr(f.y2),f.w=Xr(f.x2-f.x1),f.h=Xr(f.y2-f.y1),f.w>0&&f.h>0&&m&&(ye(f,b),be(f,1)),f}(t,ni),r.bbCache=n,r.bbCachePosKey=a):n=r.bbCache,!o){var l=t.isNode();n=pe(),(e.includeNodes&&l||e.includeEdges&&!l)&&(e.includeOverlays?$r(n,r.overlayBounds):$r(n,r.bodyBounds)),e.includeLabels&&(e.includeMainLabels&&(!i||e.includeSourceLabels&&e.includeTargetLabels)?$r(n,r.labelBounds.all):(e.includeMainLabels&&$r(n,r.labelBounds.mainRot),e.includeSourceLabels&&$r(n,r.labelBounds.sourceRot),e.includeTargetLabels&&$r(n,r.labelBounds.targetRot))),n.w=n.x2-n.x1,n.h=n.y2-n.y1}return n},ni={includeNodes:!0,includeEdges:!0,includeLabels:!0,includeMainLabels:!0,includeSourceLabels:!0,includeTargetLabels:!0,includeOverlays:!0,includeUnderlays:!0,includeOutlines:!0,useCache:!0},ri=Jr(ni),ii=It(ni);Vr.boundingBox=function(t){var e;if(1!==this.length||null==this[0]._private.bbCache||this[0]._private.styleDirty||void 0!==t&&void 0!==t.useCache&&!0!==t.useCache){e=pe();var n=ii(t=t||ni),r=this;if(r.cy().styleEnabled())for(var i=0;i0&&void 0!==arguments[0]?arguments[0]:mi,e=arguments.length>1?arguments[1]:void 0,n=0;n=0;s--)a(s);return this},xi.removeAllListeners=function(){return this.removeListener("*")},xi.emit=xi.trigger=function(t,e,n){var r=this.listeners,i=r.length;return this.emitting++,O(e)||(e=[e]),function(t,e,n){if("event"!==N(n))if(L(n))e(t,Ei(t,n));else for(var r=O(n)?n:n.split(/\s+/),i=0;i1&&!r){var i=this.length-1,o=this[i],a=o._private.data.id;this[i]=void 0,this[t]=o,n.set(a,{ele:o,index:t})}return this.length--,this},unmergeOne:function(t){t=t[0];var e=this._private,n=t._private.data.id,r=e.map.get(n);if(!r)return this;var i=r.index;return this.unmergeAt(i),this},unmerge:function(t){var e=this._private.cy;if(!t)return this;if(t&&A(t)){var n=t;t=e.mutableElements().filter(n)}for(var r=0;r=0;e--)t(this[e])&&this.unmergeAt(e);return this},map:function(t,e){for(var n=[],r=this,i=0;ir&&(r=s,n=a)}return{value:r,ele:n}},min:function(t,e){for(var n,r=1/0,i=this,o=0;o=0&&i1&&void 0!==arguments[1])||arguments[1],n=this[0],r=n.cy();if(r.styleEnabled()&&n){this.cleanStyle();var i=n._private.style[t];return null!=i?i:e?r.style().getDefaultProperty(t):null}},numericStyle:function(t){var e=this[0];if(e.cy().styleEnabled()&&e){var n=e.pstyle(t);return void 0!==n.pfValue?n.pfValue:n.value}},numericStyleUnits:function(t){var e=this[0];if(e.cy().styleEnabled())return e?e.pstyle(t).units:void 0},renderedStyle:function(t){var e=this.cy();if(!e.styleEnabled())return this;var n=this[0];return n?e.style().getRenderedStyle(n,t):void 0},style:function(t,e){var n=this.cy();if(!n.styleEnabled())return this;var r=n.style();if(L(t)){var i=t;r.applyBypass(this,i,!1),this.emitAndNotify("style")}else if(A(t)){if(void 0===e){var o=this[0];return o?r.getStylePropertyValue(o,t):void 0}r.applyBypass(this,t,e,!1),this.emitAndNotify("style")}else if(void 0===t){var a=this[0];return a?r.getRawStyle(a):void 0}return this},removeStyle:function(t){var e=this.cy();if(!e.styleEnabled())return this;var n=e.style(),r=this;if(void 0===t)for(var i=0;i0&&e.push(l[0]),e.push(s[0])}return this.spawn(e,!0).filter(t)}),"neighborhood"),closedNeighborhood:function(t){return this.neighborhood().add(this).filter(t)},openNeighborhood:function(t){return this.neighborhood(t)}}),Wi.neighbourhood=Wi.neighborhood,Wi.closedNeighbourhood=Wi.closedNeighborhood,Wi.openNeighbourhood=Wi.openNeighborhood,Q(Wi,{source:Or((function(t){var e,n=this[0];return n&&(e=n._private.source||n.cy().collection()),e&&t?e.filter(t):e}),"source"),target:Or((function(t){var e,n=this[0];return n&&(e=n._private.target||n.cy().collection()),e&&t?e.filter(t):e}),"target"),sources:Qi({attr:"source"}),targets:Qi({attr:"target"})}),Q(Wi,{edgesWith:Or(Ji(),"edgesWith"),edgesTo:Or(Ji({thisIsSrc:!0}),"edgesTo")}),Q(Wi,{connectedEdges:Or((function(t){for(var e=[],n=0;n0);return o},component:function(){var t=this[0];return t.cy().mutableElements().components(t)[0]}}),Wi.componentsOf=Wi.components;var eo=function(t,e){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(void 0!==t){var i=new jt,o=!1;if(e){if(e.length>0&&L(e[0])&&!D(e[0])){o=!0;for(var a=[],s=new Bt,c=0,u=e.length;c0&&void 0!==arguments[0])||arguments[0],r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=this,o=i.cy(),a=o._private,s=[],c=[],u=0,l=i.length;u0){for(var R=t.length===i.length?i:new eo(o,t),j=0;j0&&void 0!==arguments[0])||arguments[0],e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=this,r=[],i={},o=n._private.cy;function a(t){var n=i[t.id()];e&&t.removed()||n||(i[t.id()]=!0,t.isNode()?(r.push(t),function(t){for(var e=t._private.edges,n=0;n0&&(t?E.emitAndNotify("remove"):e&&E.emit("remove"));for(var k=0;k=.001?function(e,r){for(var i=0;i<4;++i){var o=f(r,t,n);if(0===o)return r;r-=(h(r,t,n)-e)/o}return r}(e,a):0===c?a:function(e,r,i){var o,a,s=0;do{(o=h(a=r+(i-r)/2,t,n)-e)>0?i=a:r=a}while(Math.abs(o)>1e-7&&++s<10);return a}(e,r,r+i)}(o),e,r)};p.getControlPoints=function(){return[{x:t,y:e},{x:n,y:r}]};var g="generateBezier("+[t,e,n,r]+")";return p.toString=function(){return g},p}var oo=function(){function t(t){return-t.tension*t.x-t.friction*t.v}function e(e,n,r){var i={x:e.x+r.dx*n,v:e.v+r.dv*n,tension:e.tension,friction:e.friction};return{dx:i.v,dv:t(i)}}function n(n,r){var i={dx:n.v,dv:t(n)},o=e(n,.5*r,i),a=e(n,.5*r,o),s=e(n,r,a),c=1/6*(i.dx+2*(o.dx+a.dx)+s.dx),u=1/6*(i.dv+2*(o.dv+a.dv)+s.dv);return n.x=n.x+c*r,n.v=n.v+u*r,n}return function t(e,r,i){var o,a,s,c={x:-1,v:0,tension:null,friction:null},u=[0],l=0,h=1e-4;for(e=parseFloat(e)||500,r=parseFloat(r)||20,i=i||null,c.tension=e,c.friction=r,a=(o=null!==i)?(l=t(e,r))/i*.016:.016;s=n(s||c,a),u.push(1+s.x),l+=16,Math.abs(s.x)>h&&Math.abs(s.v)>h;);return o?function(t){return u[t*(u.length-1)|0]}:l}}(),ao=function(t,e,n,r){var i=io(t,e,n,r);return function(t,e,n){return t+(e-t)*i(n)}},so={linear:function(t,e,n){return t+(e-t)*n},ease:ao(.25,.1,.25,1),"ease-in":ao(.42,0,1,1),"ease-out":ao(0,0,.58,1),"ease-in-out":ao(.42,0,.58,1),"ease-in-sine":ao(.47,0,.745,.715),"ease-out-sine":ao(.39,.575,.565,1),"ease-in-out-sine":ao(.445,.05,.55,.95),"ease-in-quad":ao(.55,.085,.68,.53),"ease-out-quad":ao(.25,.46,.45,.94),"ease-in-out-quad":ao(.455,.03,.515,.955),"ease-in-cubic":ao(.55,.055,.675,.19),"ease-out-cubic":ao(.215,.61,.355,1),"ease-in-out-cubic":ao(.645,.045,.355,1),"ease-in-quart":ao(.895,.03,.685,.22),"ease-out-quart":ao(.165,.84,.44,1),"ease-in-out-quart":ao(.77,0,.175,1),"ease-in-quint":ao(.755,.05,.855,.06),"ease-out-quint":ao(.23,1,.32,1),"ease-in-out-quint":ao(.86,0,.07,1),"ease-in-expo":ao(.95,.05,.795,.035),"ease-out-expo":ao(.19,1,.22,1),"ease-in-out-expo":ao(1,0,0,1),"ease-in-circ":ao(.6,.04,.98,.335),"ease-out-circ":ao(.075,.82,.165,1),"ease-in-out-circ":ao(.785,.135,.15,.86),spring:function(t,e,n){if(0===n)return so.linear;var r=oo(t,e,n);return function(t,e,n){return t+(e-t)*r(n)}},"cubic-bezier":ao};function co(t,e,n,r,i){if(1===r)return n;if(e===n)return n;var o=i(e,n,r);return null==t||((t.roundValue||t.color)&&(o=Math.round(o)),void 0!==t.min&&(o=Math.max(o,t.min)),void 0!==t.max&&(o=Math.min(o,t.max))),o}function uo(t,e){return null!=t.pfValue||null!=t.value?null==t.pfValue||null!=e&&"%"===e.type.units?t.value:t.pfValue:t}function lo(t,e,n,r,i){var o=null!=i?i.type:null;n<0?n=0:n>1&&(n=1);var a=uo(t,i),s=uo(e,i);if(I(a)&&I(s))return co(o,a,s,n,r);if(O(a)&&O(s)){for(var c=[],u=0;u0?("spring"===h&&f.push(a.duration),a.easingImpl=so[h].apply(null,f)):a.easingImpl=so[h]}var d,p=a.easingImpl;if(d=0===a.duration?1:(n-c)/a.duration,a.applying&&(d=a.progress),d<0?d=0:d>1&&(d=1),null==a.delay){var g=a.startPosition,v=a.position;if(v&&i&&!t.locked()){var b={};fo(g.x,v.x)&&(b.x=lo(g.x,v.x,d,p)),fo(g.y,v.y)&&(b.y=lo(g.y,v.y,d,p)),t.position(b)}var y=a.startPan,m=a.pan,w=o.pan,x=null!=m&&r;x&&(fo(y.x,m.x)&&(w.x=lo(y.x,m.x,d,p)),fo(y.y,m.y)&&(w.y=lo(y.y,m.y,d,p)),t.emit("pan"));var _=a.startZoom,E=a.zoom,k=null!=E&&r;k&&(fo(_,E)&&(o.zoom=de(o.minZoom,lo(_,E,d,p),o.maxZoom)),t.emit("zoom")),(x||k)&&t.emit("viewport");var T=a.style;if(T&&T.length>0&&i){for(var C=0;C=0;e--)(0,t[e])();t.splice(0,t.length)},l=o.length-1;l>=0;l--){var h=o[l],f=h._private;f.stopped?(o.splice(l,1),f.hooked=!1,f.playing=!1,f.started=!1,u(f.frames)):(f.playing||f.applying)&&(f.playing&&f.applying&&(f.applying=!1),f.started||po(0,h,t),ho(e,h,t,n),f.applying&&(f.applying=!1),u(f.frames),null!=f.step&&f.step(t),h.completed()&&(o.splice(l,1),f.hooked=!1,f.playing=!1,f.started=!1,u(f.completes)),s=!0)}return n||0!==o.length||0!==a.length||r.push(e),s}for(var o=!1,a=0;a0?e.notify("draw",n):e.notify("draw")),n.unmerge(r),e.emit("step")}var vo={animate:sr.animate(),animation:sr.animation(),animated:sr.animated(),clearQueue:sr.clearQueue(),delay:sr.delay(),delayAnimation:sr.delayAnimation(),stop:sr.stop(),addToAnimationPool:function(t){this.styleEnabled()&&this._private.aniEles.merge(t)},stopAnimationLoop:function(){this._private.animationsRunning=!1},startAnimationLoop:function(){var t=this;if(t._private.animationsRunning=!0,t.styleEnabled()){var e=t.renderer();e&&e.beforeRender?e.beforeRender((function(e,n){go(n,t)}),e.beforeRenderPriorities.animations):function e(){t._private.animationsRunning&&ot((function(n){go(n,t),e()}))}()}}},bo={qualifierCompare:function(t,e){return null==t||null==e?null==t&&null==e:t.sameText(e)},eventMatches:function(t,e,n){var r=e.qualifier;return null==r||t!==n.target&&D(n.target)&&r.matches(n.target)},addEventFields:function(t,e){e.cy=t,e.target=t},callbackContext:function(t,e,n){return null!=e.qualifier?n.target:t}},yo=function(t){return A(t)?new Tr(t):t},mo={createEmitter:function(){var t=this._private;return t.emitter||(t.emitter=new wi(bo,this)),this},emitter:function(){return this._private.emitter},on:function(t,e,n){return this.emitter().on(t,yo(e),n),this},removeListener:function(t,e,n){return this.emitter().removeListener(t,yo(e),n),this},removeAllListeners:function(){return this.emitter().removeAllListeners(),this},one:function(t,e,n){return this.emitter().one(t,yo(e),n),this},once:function(t,e,n){return this.emitter().one(t,yo(e),n),this},emit:function(t,e){return this.emitter().emit(t,e),this},emitAndNotify:function(t,e){return this.emit(t),this.notify(t,e),this}};sr.eventAliasesOn(mo);var wo={png:function(t){return t=t||{},this._private.renderer.png(t)},jpg:function(t){var e=this._private.renderer;return(t=t||{}).bg=t.bg||"#fff",e.jpg(t)}};wo.jpeg=wo.jpg;var xo={layout:function(t){var e=this;if(null!=t)if(null!=t.name){var n,r=t.name,i=e.extension("layout",r);if(null!=i)return n=A(t.eles)?e.$(t.eles):null!=t.eles?t.eles:e.$(),new i(Q({},t,{cy:e,eles:n}));Tt("No such layout `"+r+"` found. Did you forget to import it and `cytoscape.use()` it?")}else Tt("A `name` must be specified to make a layout");else Tt("Layout options must be specified to make a layout")}};xo.createLayout=xo.makeLayout=xo.layout;var _o={notify:function(t,e){var n=this._private;if(this.batching()){n.batchNotifications=n.batchNotifications||{};var r=n.batchNotifications[t]=n.batchNotifications[t]||this.collection();null!=e&&r.merge(e)}else if(n.notificationsEnabled){var i=this.renderer();!this.destroyed()&&i&&i.notify(t,e)}},notifications:function(t){var e=this._private;return void 0===t?e.notificationsEnabled:(e.notificationsEnabled=!!t,this)},noNotifications:function(t){this.notifications(!1),t(),this.notifications(!0)},batching:function(){return this._private.batchCount>0},startBatch:function(){var t=this._private;return null==t.batchCount&&(t.batchCount=0),0===t.batchCount&&(t.batchStyleEles=this.collection(),t.batchNotifications={}),t.batchCount++,this},endBatch:function(){var t=this._private;if(0===t.batchCount)return this;if(t.batchCount--,0===t.batchCount){t.batchStyleEles.updateStyle();var e=this.renderer();Object.keys(t.batchNotifications).forEach((function(n){var r=t.batchNotifications[n];r.empty()?e.notify(n):e.notify(n,r)}))}return this},batch:function(t){return this.startBatch(),t(),this.endBatch(),this},batchData:function(t){var e=this;return this.batch((function(){for(var n=Object.keys(t),r=0;r0;)e.removeChild(e.childNodes[0]);t._private.renderer=null,t.mutableElements().forEach((function(t){var e=t._private;e.rscratch={},e.rstyle={},e.animation.current=[],e.animation.queue=[]}))},onRender:function(t){return this.on("render",t)},offRender:function(t){return this.off("render",t)}};ko.invalidateDimensions=ko.resize;var To={collection:function(t,e){return A(t)?this.$(t):P(t)?t.collection():O(t)?(e||(e={}),new eo(this,t,e.unique,e.removed)):new eo(this)},nodes:function(t){var e=this.$((function(t){return t.isNode()}));return t?e.filter(t):e},edges:function(t){var e=this.$((function(t){return t.isEdge()}));return t?e.filter(t):e},$:function(t){var e=this._private.elements;return t?e.filter(t):e.spawnSelf()},mutableElements:function(){return this._private.elements}};To.elements=To.filter=To.$;var Co={},No="t";Co.apply=function(t){for(var e=this,n=e._private.cy.collection(),r=0;r0;if(f||h&&d){var p=void 0;f&&d||f?p=u.properties:d&&(p=u.mappedProperties);for(var g=0;g1&&(v=1),s.color){var x=i.valueMin[0],_=i.valueMax[0],E=i.valueMin[1],k=i.valueMax[1],T=i.valueMin[2],C=i.valueMax[2],N=null==i.valueMin[3]?1:i.valueMin[3],A=null==i.valueMax[3]?1:i.valueMax[3],S=[Math.round(x+(_-x)*v),Math.round(E+(k-E)*v),Math.round(T+(C-T)*v),Math.round(N+(A-N)*v)];n={bypass:i.bypass,name:i.name,value:S,strValue:"rgb("+S[0]+", "+S[1]+", "+S[2]+")"}}else{if(!s.number)return!1;var O=i.valueMin+(i.valueMax-i.valueMin)*v;n=this.parse(i.name,O,i.bypass,f)}if(!n)return g(),!1;n.mapping=i,i=n;break;case a.data:for(var L=i.field.split("."),M=h.data,P=0;P0&&o>0){for(var s={},c=!1,u=0;u0?t.delayAnimation(a).play().promise().then(e):e()})).then((function(){return t.animation({style:s,duration:o,easing:t.pstyle("transition-timing-function").value,queue:!1}).play().promise()})).then((function(){n.removeBypasses(t,i),t.emitAndNotify("style"),r.transitioning=!1}))}else r.transitioning&&(this.removeBypasses(t,i),t.emitAndNotify("style"),r.transitioning=!1)},Co.checkTrigger=function(t,e,n,r,i,o){var a=this.properties[e],s=i(a);null!=s&&s(n,r)&&o(a)},Co.checkZOrderTrigger=function(t,e,n,r){var i=this;this.checkTrigger(t,e,n,r,(function(t){return t.triggersZOrder}),(function(){i._private.cy.notify("zorder",t)}))},Co.checkBoundsTrigger=function(t,e,n,r){this.checkTrigger(t,e,n,r,(function(t){return t.triggersBounds}),(function(i){t.dirtyCompoundBoundsCache(),t.dirtyBoundingBoxCache(),!i.triggersBoundsOfParallelBeziers||"curve-style"!==e||"bezier"!==n&&"bezier"!==r||t.parallelEdges().forEach((function(t){t.isBundledBezier()&&t.dirtyBoundingBoxCache()})),!i.triggersBoundsOfConnectedEdges||"display"!==e||"none"!==n&&"none"!==r||t.connectedEdges().forEach((function(t){t.dirtyBoundingBoxCache()}))}))},Co.checkTriggers=function(t,e,n,r){t.dirtyStyleCache(),this.checkZOrderTrigger(t,e,n,r),this.checkBoundsTrigger(t,e,n,r)};var Ao={applyBypass:function(t,e,n,r){var i=[];if("*"===e||"**"===e){if(void 0!==n)for(var o=0;oe.length?o.substr(e.length):""}function s(){n=n.length>r.length?n.substr(r.length):""}for(o=o.replace(/[/][*](\s|.)+?[*][/]/g,"");!o.match(/^\s*$/);){var c=o.match(/^\s*((?:.|\s)+?)\s*\{((?:.|\s)+?)\}/);if(!c){Nt("Halting stylesheet parsing: String stylesheet contains more to parse but no selector and block found in: "+o);break}e=c[0];var u=c[1];if("core"!==u&&new Tr(u).invalid)Nt("Skipping parsing of block: Invalid selector found in string stylesheet: "+u),a();else{var l=c[2],h=!1;n=l;for(var f=[];!n.match(/^\s*$/);){var d=n.match(/^\s*(.+?)\s*:\s*(.+?)(?:\s*;|\s*$)/);if(!d){Nt("Skipping parsing of block: Invalid formatting of style property and value definitions found in:"+l),h=!0;break}r=d[0];var p=d[1],g=d[2];this.properties[p]?i.parse(p,g)?(f.push({name:p,val:g}),s()):(Nt("Skipping property: Invalid property definition in: "+r),s()):(Nt("Skipping property: Invalid property name in: "+r),s())}if(h){a();break}i.selector(u);for(var v=0;v=7&&"d"===e[0]&&(u=new RegExp(s.data.regex).exec(e))){if(n)return!1;var f=s.data;return{name:t,value:u,strValue:""+e,mapped:f,field:u[1],bypass:n}}if(e.length>=10&&"m"===e[0]&&(l=new RegExp(s.mapData.regex).exec(e))){if(n)return!1;if(h.multiple)return!1;var d=s.mapData;if(!h.color&&!h.number)return!1;var p=this.parse(t,l[4]);if(!p||p.mapped)return!1;var g=this.parse(t,l[5]);if(!g||g.mapped)return!1;if(p.pfValue===g.pfValue||p.strValue===g.strValue)return Nt("`"+t+": "+e+"` is not a valid mapper because the output range is zero; converting to `"+t+": "+p.strValue+"`"),this.parse(t,p.strValue);if(h.color){var v=p.value,b=g.value;if(!(v[0]!==b[0]||v[1]!==b[1]||v[2]!==b[2]||v[3]!==b[3]&&(null!=v[3]&&1!==v[3]||null!=b[3]&&1!==b[3])))return!1}return{name:t,value:l,strValue:""+e,mapped:d,field:l[1],fieldMin:parseFloat(l[2]),fieldMax:parseFloat(l[3]),valueMin:p.value,valueMax:g.value,bypass:n}}}if(h.multiple&&"multiple"!==r){var y;if(y=c?e.split(/\s+/):O(e)?e:[e],h.evenMultiple&&y.length%2!=0)return null;for(var m=[],w=[],x=[],_="",E=!1,k=0;k0?" ":"")+T.strValue}return h.validate&&!h.validate(m,w)?null:h.singleEnum&&E?1===m.length&&A(m[0])?{name:t,value:m[0],strValue:m[0],bypass:n}:null:{name:t,value:m,pfValue:x,strValue:_,bypass:n,units:w}}var C,N,L,M=function(){for(var r=0;rh.max||h.strictMax&&e===h.max))return null;var G={name:t,value:e,strValue:""+e+(P||""),units:P,bypass:n};return h.unitless||"px"!==P&&"em"!==P?G.pfValue=e:G.pfValue="px"!==P&&P?this.getEmSizeInPixels()*e:e,"ms"!==P&&"s"!==P||(G.pfValue="ms"===P?e:1e3*e),"deg"!==P&&"rad"!==P||(G.pfValue="rad"===P?e:(C=e,Math.PI*C/180)),"%"===P&&(G.pfValue=e/100),G}if(h.propList){var B=[],F=""+e;if("none"===F);else{for(var H=F.split(/\s*,\s*|\s+/),z=0;z255)return;e.push(Math.floor(o))}var a=r[1]||r[2]||r[3],s=r[1]&&r[2]&&r[3];if(a&&!s)return;var c=n[4];if(void 0!==c){if((c=parseFloat(c))<0||c>1)return;e.push(c)}}return e}(L)||function(t){var e,n,r,i,o,a,s,c;function u(t,e,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?t+6*(e-t)*n:n<.5?e:n<2/3?t+(e-t)*(2/3-n)*6:t}var l=new RegExp("^"+$+"$").exec(t);if(l){if((n=parseInt(l[1]))<0?n=(360- -1*n%360)%360:n>360&&(n%=360),n/=360,(r=parseFloat(l[2]))<0||r>100)return;if(r/=100,(i=parseFloat(l[3]))<0||i>100)return;if(i/=100,void 0!==(o=l[4])&&((o=parseFloat(o))<0||o>1))return;if(0===r)a=s=c=Math.round(255*i);else{var h=i<.5?i*(1+r):i+r-i*r,f=2*i-h;a=Math.round(255*u(f,h,n+1/3)),s=Math.round(255*u(f,h,n)),c=Math.round(255*u(f,h,n-1/3))}e=[a,s,c,o]}return e}(L);return V?{name:t,value:V,pfValue:V,strValue:"rgb("+V[0]+","+V[1]+","+V[2]+")",bypass:n}:null}if(h.regex||h.regexes){if(h.enums){var W=M();if(W)return W}for(var Z=h.regexes?h.regexes:[h.regex],K=0;K0&&c>0&&!isNaN(n.w)&&!isNaN(n.h)&&n.w>0&&n.h>0)return{zoom:a=(a=(a=Math.min((s-2*e)/n.w,(c-2*e)/n.h))>this._private.maxZoom?this._private.maxZoom:a)=n.minZoom&&(n.maxZoom=e),this},minZoom:function(t){return void 0===t?this._private.minZoom:this.zoomRange({min:t})},maxZoom:function(t){return void 0===t?this._private.maxZoom:this.zoomRange({max:t})},getZoomedViewport:function(t){var e,n,r=this._private,i=r.pan,o=r.zoom,a=!1;if(r.zoomingEnabled||(a=!0),I(t)?n=t:L(t)&&(n=t.level,null!=t.position?e=ne(t.position,o,i):null!=t.renderedPosition&&(e=t.renderedPosition),null==e||r.panningEnabled||(a=!0)),n=(n=n>r.maxZoom?r.maxZoom:n)e.maxZoom||!e.zoomingEnabled?o=!0:(e.zoom=s,i.push("zoom"))}if(r&&(!o||!t.cancelOnFailedZoom)&&e.panningEnabled){var c=t.pan;I(c.x)&&(e.pan.x=c.x,a=!1),I(c.y)&&(e.pan.y=c.y,a=!1),a||i.push("pan")}return i.length>0&&(i.push("viewport"),this.emit(i.join(" ")),this.notify("viewport")),this},center:function(t){var e=this.getCenterPan(t);return e&&(this._private.pan=e,this.emit("pan viewport"),this.notify("viewport")),this},getCenterPan:function(t,e){if(this._private.panningEnabled){if(A(t)){var n=t;t=this.mutableElements().filter(n)}else P(t)||(t=this.mutableElements());if(0!==t.length){var r=t.boundingBox(),i=this.width(),o=this.height();return{x:(i-(e=void 0===e?this._private.zoom:e)*(r.x1+r.x2))/2,y:(o-e*(r.y1+r.y2))/2}}}},reset:function(){return this._private.panningEnabled&&this._private.zoomingEnabled?(this.viewport({pan:{x:0,y:0},zoom:1}),this):this},invalidateSize:function(){this._private.sizeCache=null},size:function(){var t,e,n=this._private,r=n.container;return n.sizeCache=n.sizeCache||(r?(t=this.window().getComputedStyle(r),e=function(e){return parseFloat(t.getPropertyValue(e))},{width:r.clientWidth-e("padding-left")-e("padding-right"),height:r.clientHeight-e("padding-top")-e("padding-bottom")}):{width:1,height:1})},width:function(){return this.size().width},height:function(){return this.size().height},extent:function(){var t=this._private.pan,e=this._private.zoom,n=this.renderedExtent(),r={x1:(n.x1-t.x)/e,x2:(n.x2-t.x)/e,y1:(n.y1-t.y)/e,y2:(n.y2-t.y)/e};return r.w=r.x2-r.x1,r.h=r.y2-r.y1,r},renderedExtent:function(){var t=this.width(),e=this.height();return{x1:0,y1:0,x2:t,y2:e,w:t,h:e}},multiClickDebounceTime:function(t){return t?(this._private.multiClickDebounceTime=t,this):this._private.multiClickDebounceTime}};Go.centre=Go.center,Go.autolockNodes=Go.autolock,Go.autoungrabifyNodes=Go.autoungrabify;var Bo={data:sr.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeData:sr.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),scratch:sr.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:sr.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0})};Bo.attr=Bo.data,Bo.removeAttr=Bo.removeData;var Fo=function(t){var e=this,n=(t=Q({},t)).container;n&&!M(n)&&M(n[0])&&(n=n[0]);var r=n?n._cyreg:null;(r=r||{})&&r.cy&&(r.cy.destroy(),r={});var i=r.readies=r.readies||[];n&&(n._cyreg=r),r.cy=e;var o=void 0!==x&&void 0!==n&&!t.headless,a=t;a.layout=Q({name:o?"grid":"null"},a.layout),a.renderer=Q({name:o?"canvas":"null"},a.renderer);var s=function(t,e,n){return void 0!==e?e:void 0!==n?n:t},c=this._private={container:n,ready:!1,options:a,elements:new eo(this),listeners:[],aniEles:new eo(this),data:a.data||{},scratch:{},layout:null,renderer:null,destroyed:!1,notificationsEnabled:!0,minZoom:1e-50,maxZoom:1e50,zoomingEnabled:s(!0,a.zoomingEnabled),userZoomingEnabled:s(!0,a.userZoomingEnabled),panningEnabled:s(!0,a.panningEnabled),userPanningEnabled:s(!0,a.userPanningEnabled),boxSelectionEnabled:s(!0,a.boxSelectionEnabled),autolock:s(!1,a.autolock,a.autolockNodes),autoungrabify:s(!1,a.autoungrabify,a.autoungrabifyNodes),autounselectify:s(!1,a.autounselectify),styleEnabled:void 0===a.styleEnabled?o:a.styleEnabled,zoom:I(a.zoom)?a.zoom:1,pan:{x:L(a.pan)&&I(a.pan.x)?a.pan.x:0,y:L(a.pan)&&I(a.pan.y)?a.pan.y:0},animation:{current:[],queue:[]},hasCompoundNodes:!1,multiClickDebounceTime:s(250,a.multiClickDebounceTime)};this.createEmitter(),this.selectionType(a.selectionType),this.zoomRange({min:a.minZoom,max:a.maxZoom}),c.styleEnabled&&e.setStyle([]);var u=Q({},a,a.renderer);e.initRenderer(u),function(t,e){if(t.some(F))return er.all(t).then(e);e(t)}([a.style,a.elements],(function(t){var n=t[0],o=t[1];c.styleEnabled&&e.style().append(n),function(t,n,r){e.notifications(!1);var i=e.mutableElements();i.length>0&&i.remove(),null!=t&&(L(t)||O(t))&&e.add(t),e.one("layoutready",(function(t){e.notifications(!0),e.emit(t),e.one("load",n),e.emitAndNotify("load")})).one("layoutstop",(function(){e.one("done",r),e.emit("done")}));var o=Q({},e._private.options.layout);o.eles=e.elements(),e.layout(o).run()}(o,(function(){e.startAnimationLoop(),c.ready=!0,S(a.ready)&&e.on("ready",a.ready);for(var t=0;t0,u=pe(n.boundingBox?n.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()});if(P(n.roots))t=n.roots;else if(O(n.roots)){for(var l=[],h=0;h0;){var L=C.shift(),I=T(L,N);if(I)L.outgoers().filter((function(t){return t.isNode()&&i.has(t)})).forEach(S);else if(null===I){Nt("Detected double maximal shift for node `"+L.id()+"`. Bailing maximal adjustment due to cycle. Use `options.maximal: true` only on DAGs.");break}}}k();var M=0;if(n.avoidOverlap)for(var D=0;D0&&b[0].length<=3?c/2:0),h=2*Math.PI/b[r].length*i;return 0===r&&1===b[0].length&&(l=1),{x:X+l*Math.cos(h),y:W+l*Math.sin(h)}}return{x:X+(i+1-(o+1)/2)*a,y:(r+1)*s}})),this};var Xo={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,radius:void 0,startAngle:1.5*Math.PI,sweep:void 0,clockwise:!0,sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(t,e){return!0},ready:void 0,stop:void 0,transform:function(t,e){return e}};function Wo(t){this.options=Q({},Xo,t)}Wo.prototype.run=function(){var t=this.options,e=t,n=t.cy,r=e.eles,i=void 0!==e.counterclockwise?!e.counterclockwise:e.clockwise,o=r.nodes().not(":parent");e.sort&&(o=o.sort(e.sort));for(var a,s=pe(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:n.width(),h:n.height()}),c=s.x1+s.w/2,u=s.y1+s.h/2,l=(void 0===e.sweep?2*Math.PI-2*Math.PI/o.length:e.sweep)/Math.max(1,o.length-1),h=0,f=0;f1&&e.avoidOverlap){h*=1.75;var v=Math.cos(l)-Math.cos(0),b=Math.sin(l)-Math.sin(0),y=Math.sqrt(h*h/(v*v+b*b));a=Math.max(y,a)}return r.nodes().layoutPositions(this,e,(function(t,n){var r=e.startAngle+n*l*(i?1:-1),o=a*Math.cos(r),s=a*Math.sin(r);return{x:c+o,y:u+s}})),this};var $o,Zo={fit:!0,padding:30,startAngle:1.5*Math.PI,sweep:void 0,clockwise:!0,equidistant:!1,minNodeSpacing:10,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,height:void 0,width:void 0,spacingFactor:void 0,concentric:function(t){return t.degree()},levelWidth:function(t){return t.maxDegree()/4},animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(t,e){return!0},ready:void 0,stop:void 0,transform:function(t,e){return e}};function Ko(t){this.options=Q({},Zo,t)}Ko.prototype.run=function(){for(var t=this.options,e=t,n=void 0!==e.counterclockwise?!e.counterclockwise:e.clockwise,r=t.cy,i=e.eles,o=i.nodes().not(":parent"),a=pe(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()}),s=a.x1+a.w/2,c=a.y1+a.h/2,u=[],l=0,h=0;h0&&Math.abs(y[0].value-w.value)>=v&&(y=[],b.push(y)),y.push(w)}var x=l+e.minNodeSpacing;if(!e.avoidOverlap){var _=b.length>0&&b[0].length>1,E=(Math.min(a.w,a.h)/2-x)/(b.length+_?1:0);x=Math.min(x,E)}for(var k=0,T=0;T1&&e.avoidOverlap){var S=Math.cos(A)-Math.cos(0),O=Math.sin(A)-Math.sin(0),L=Math.sqrt(x*x/(S*S+O*O));k=Math.max(L,k)}C.r=k,k+=x}if(e.equidistant){for(var I=0,M=0,P=0;P=t.numIter||(aa(r,t),r.temperature=r.temperature*t.coolingFactor,r.temperature=t.animationThreshold&&o(),ot(e)):(ya(r,t),s())}();else{for(;u;)u=a(c),c++;ya(r,t),s()}return this},Jo.prototype.stop=function(){return this.stopped=!0,this.thread&&this.thread.stop(),this.emit("layoutstop"),this},Jo.prototype.destroy=function(){return this.thread&&this.thread.stop(),this};var ta=function(t,e,n){for(var r=n.eles.edges(),i=n.eles.nodes(),o=pe(n.boundingBox?n.boundingBox:{x1:0,y1:0,w:t.width(),h:t.height()}),a={isCompound:t.hasCompoundNodes(),layoutNodes:[],idToIndex:{},nodeSize:i.size(),graphSet:[],indexToGraph:[],layoutEdges:[],edgeSize:r.size(),temperature:n.initialTemp,clientWidth:o.w,clientHeight:o.h,boundingBox:o},s=n.eles.components(),c={},u=0;u0)for(a.graphSet.push(x),u=0;ur.count?0:r.graph},na=function t(e,n,r,i){var o=i.graphSet[r];if(-10)var s=(u=r.nodeOverlap*a)*i/(g=Math.sqrt(i*i+o*o)),c=u*o/g;else{var u,l=ha(t,i,o),h=ha(e,-1*i,-1*o),f=h.x-l.x,d=h.y-l.y,p=f*f+d*d,g=Math.sqrt(p);s=(u=(t.nodeRepulsion+e.nodeRepulsion)/p)*f/g,c=u*d/g}t.isLocked||(t.offsetX-=s,t.offsetY-=c),e.isLocked||(e.offsetX+=s,e.offsetY+=c)}},la=function(t,e,n,r){if(n>0)var i=t.maxX-e.minX;else i=e.maxX-t.minX;if(r>0)var o=t.maxY-e.minY;else o=e.maxY-t.minY;return i>=0&&o>=0?Math.sqrt(i*i+o*o):0},ha=function(t,e,n){var r=t.positionX,i=t.positionY,o=t.height||1,a=t.width||1,s=n/e,c=o/a,u={};return 0===e&&0n?(u.x=r,u.y=i+o/2,u):0e&&-1*c<=s&&s<=c?(u.x=r-a/2,u.y=i-a*n/2/e,u):0=c)?(u.x=r+o*e/2/n,u.y=i+o/2,u):0>n&&(s<=-1*c||s>=c)?(u.x=r-o*e/2/n,u.y=i-o/2,u):u},fa=function(t,e){for(var n=0;n1){var p=e.gravity*h/d,g=e.gravity*f/d;l.offsetX+=p,l.offsetY+=g}}}}},pa=function(t,e){var n=[],r=0,i=-1;for(n.push.apply(n,t.graphSet[0]),i+=t.graphSet[0].length;r<=i;){var o=n[r++],a=t.idToIndex[o],s=t.layoutNodes[a],c=s.children;if(0n)var i={x:n*t/r,y:n*e/r};else i={x:t,y:e};return i},ba=function t(e,n){var r=e.parentId;if(null!=r){var i=n.layoutNodes[n.idToIndex[r]],o=!1;return(null==i.maxX||e.maxX+i.padRight>i.maxX)&&(i.maxX=e.maxX+i.padRight,o=!0),(null==i.minX||e.minX-i.padLefti.maxY)&&(i.maxY=e.maxY+i.padBottom,o=!0),(null==i.minY||e.minY-i.padTopp&&(h+=d+e.componentSpacing,l=0,f=0,d=0)}}},ma={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,avoidOverlapPadding:10,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,condense:!1,rows:void 0,cols:void 0,position:function(t){},sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(t,e){return!0},ready:void 0,stop:void 0,transform:function(t,e){return e}};function wa(t){this.options=Q({},ma,t)}wa.prototype.run=function(){var t=this.options,e=t,n=t.cy,r=e.eles,i=r.nodes().not(":parent");e.sort&&(i=i.sort(e.sort));var o=pe(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:n.width(),h:n.height()});if(0===o.h||0===o.w)r.nodes().layoutPositions(this,e,(function(t){return{x:o.x1,y:o.y1}}));else{var a=i.size(),s=Math.sqrt(a*o.h/o.w),c=Math.round(s),u=Math.round(o.w/o.h*s),l=function(t){if(null==t)return Math.min(c,u);Math.min(c,u)==c?c=t:u=t},h=function(t){if(null==t)return Math.max(c,u);Math.max(c,u)==c?c=t:u=t},f=e.rows,d=null!=e.cols?e.cols:e.columns;if(null!=f&&null!=d)c=f,u=d;else if(null!=f&&null==d)c=f,u=Math.ceil(a/c);else if(null==f&&null!=d)u=d,c=Math.ceil(a/u);else if(u*c>a){var p=l(),g=h();(p-1)*g>=a?l(p-1):(g-1)*p>=a&&h(g-1)}else for(;u*c=a?h(b+1):l(v+1)}var y=o.w/u,m=o.h/c;if(e.condense&&(y=0,m=0),e.avoidOverlap)for(var w=0;w=u&&(L=0,O++)},M={},P=0;P(r=Ne(t,e,w[x],w[x+1],w[x+2],w[x+3])))return v(n,r),!0}else if("bezier"===o.edgeType||"multibezier"===o.edgeType||"self"===o.edgeType||"compound"===o.edgeType)for(w=o.allpts,x=0;x+5(r=Ce(t,e,w[x],w[x+1],w[x+2],w[x+3],w[x+4],w[x+5])))return v(n,r),!0;y=y||i.source,m=m||i.target;var _=a.getArrowWidth(c,l),E=[{name:"source",x:o.arrowStartX,y:o.arrowStartY,angle:o.srcArrowAngle},{name:"target",x:o.arrowEndX,y:o.arrowEndY,angle:o.tgtArrowAngle},{name:"mid-source",x:o.midX,y:o.midY,angle:o.midsrcArrowAngle},{name:"mid-target",x:o.midX,y:o.midY,angle:o.midtgtArrowAngle}];for(x=0;x0&&(b(y),b(m))}function m(t,e,n){return Dt(t,e,n)}function w(n,r){var i,o=n._private,a=p;i=r?r+"-":"",n.boundingBox();var s=o.labelBounds[r||"main"],c=n.pstyle(i+"label").value;if("yes"===n.pstyle("text-events").strValue&&c){var u=m(o.rscratch,"labelX",r),l=m(o.rscratch,"labelY",r),h=m(o.rscratch,"labelAngle",r),f=n.pstyle(i+"text-margin-x").pfValue,d=n.pstyle(i+"text-margin-y").pfValue,g=s.x1-a-f,b=s.x2+a-f,y=s.y1-a-d,w=s.y2+a-d;if(h){var x=Math.cos(h),_=Math.sin(h),E=function(t,e){return{x:(t-=u)*x-(e-=l)*_+u,y:t*_+e*x+l}},k=E(g,y),T=E(g,w),C=E(b,y),N=E(b,w),A=[k.x+f,k.y+d,C.x+f,C.y+d,N.x+f,N.y+d,T.x+f,T.y+d];if(Ae(t,e,A))return v(n),!0}else if(xe(s,t,e))return v(n),!0}}n&&(c=c.interactive);for(var x=c.length-1;x>=0;x--){var _=c[x];_.isNode()?b(_)||w(_):y(_)||w(_)||w(_,"source")||w(_,"target")}return u},getAllInBox:function(t,e,n,r){for(var i,o,a=this.getCachedZSortedEles().interactive,s=[],c=Math.min(t,n),u=Math.max(t,n),l=Math.min(e,r),h=Math.max(e,r),f=pe({x1:t=c,y1:e=l,x2:n=u,y2:r=h}),d=0;d0?Math.max(t-e,0):Math.min(t+e,0)},N=C(k,_),A=C(T,E),S=!1;"auto"===v?g=Math.abs(N)>Math.abs(A)?i:r:v===c||v===s?(g=r,S=!0):v!==o&&v!==a||(g=i,S=!0);var O,L=g===r,I=L?A:N,M=L?T:k,P=se(M),D=!1;S&&(y||w)||!(v===s&&M<0||v===c&&M>0||v===o&&M>0||v===a&&M<0)||(I=(P*=-1)*Math.abs(I),D=!0);var R=function(t){return Math.abs(t)=Math.abs(I)},j=R(O=y?(m<0?1+m:m)*I:(m<0?I:0)+m*P),G=R(Math.abs(I)-Math.abs(O));if(!j&&!G||D)if(L){var B=u.y1+O+(p?h/2*P:0),F=u.x1,H=u.x2;n.segpts=[F,B,H,B]}else{var Y=u.x1+O+(p?l/2*P:0),z=u.y1,U=u.y2;n.segpts=[Y,z,Y,U]}else if(L){var V=Math.abs(M)<=h/2,q=Math.abs(k)<=f/2;if(V){var X=(u.x1+u.x2)/2,W=u.y1,$=u.y2;n.segpts=[X,W,X,$]}else if(q){var Z=(u.y1+u.y2)/2,K=u.x1,Q=u.x2;n.segpts=[K,Z,Q,Z]}else n.segpts=[u.x1,u.y2]}else{var J=Math.abs(M)<=l/2,tt=Math.abs(T)<=d/2;if(J){var et=(u.y1+u.y2)/2,nt=u.x1,rt=u.x2;n.segpts=[nt,et,rt,et]}else if(tt){var it=(u.x1+u.x2)/2,ot=u.y1,at=u.y2;n.segpts=[it,ot,it,at]}else n.segpts=[u.x2,u.y1]}},Pa.tryToCorrectInvalidPoints=function(t,e){var n=t._private.rscratch;if("bezier"===n.edgeType){var r=e.srcPos,i=e.tgtPos,o=e.srcW,a=e.srcH,s=e.tgtW,c=e.tgtH,u=e.srcShape,l=e.tgtShape,h=!I(n.startX)||!I(n.startY),f=!I(n.arrowStartX)||!I(n.arrowStartY),d=!I(n.endX)||!I(n.endY),p=!I(n.arrowEndX)||!I(n.arrowEndY),g=this.getArrowWidth(t.pstyle("width").pfValue,t.pstyle("arrow-scale").value)*this.arrowShapeWidth*3,v=ce({x:n.ctrlpts[0],y:n.ctrlpts[1]},{x:n.startX,y:n.startY}),b=vf.poolIndex()){var d=h;h=f,f=d}var p=s.srcPos=h.position(),g=s.tgtPos=f.position(),v=s.srcW=h.outerWidth(),b=s.srcH=h.outerHeight(),y=s.tgtW=f.outerWidth(),m=s.tgtH=f.outerHeight(),w=s.srcShape=n.nodeShapes[e.getNodeShape(h)],x=s.tgtShape=n.nodeShapes[e.getNodeShape(f)];s.dirCounts={north:0,west:0,south:0,east:0,northwest:0,southwest:0,northeast:0,southeast:0};for(var _=0;_0){var Y=u,z=ue(Y,ie(e)),U=ue(Y,ie(H)),V=z;U2&&ue(Y,{x:H[2],y:H[3]})0){var it=l,ot=ue(it,ie(e)),at=ue(it,ie(rt)),st=ot;at2&&ue(it,{x:rt[2],y:rt[3]})=u||y){l={cp:g,segment:b};break}}if(l)break}var m=l.cp,w=l.segment,x=(u-f)/w.length,_=w.t1-w.t0,E=s?w.t0+_*x:w.t1-_*x;E=de(0,E,1),e=fe(m.p0,m.p1,m.p2,E),i=function(t,e,n,r){var i=de(0,r-.001,1),o=de(0,r+.001,1),a=fe(t,e,n,i),s=fe(t,e,n,o);return Ha(a,s)}(m.p0,m.p1,m.p2,E);break;case"straight":case"segments":case"haystack":for(var k,T,C,N,A=0,S=r.allpts.length,O=0;O+3=u));O+=2);var L=(u-T)/k;L=de(0,L,1),e=function(t,e,n,r){var i=e.x-t.x,o=e.y-t.y,a=ce(t,e),s=i/a,c=o/a;return n=null==n?0:n,r=null!=r?r:n*a,{x:t.x+s*r,y:t.y+c*r}}(C,N,L),i=Ha(C,N)}a("labelX",n,e.x),a("labelY",n,e.y),a("labelAutoAngle",n,i)}};u("source"),u("target"),this.applyLabelDimensions(t)}},Ba.applyLabelDimensions=function(t){this.applyPrefixedLabelDimensions(t),t.isEdge()&&(this.applyPrefixedLabelDimensions(t,"source"),this.applyPrefixedLabelDimensions(t,"target"))},Ba.applyPrefixedLabelDimensions=function(t,e){var n=t._private,r=this.getLabelText(t,e),i=this.calculateLabelDimensions(t,r),o=t.pstyle("line-height").pfValue,a=t.pstyle("text-wrap").strValue,s=Dt(n.rscratch,"labelWrapCachedLines",e)||[],c="wrap"!==a?1:Math.max(s.length,1),u=i.height/c,l=u*o,h=i.width,f=i.height+(c-1)*(o-1)*u;Rt(n.rstyle,"labelWidth",e,h),Rt(n.rscratch,"labelWidth",e,h),Rt(n.rstyle,"labelHeight",e,f),Rt(n.rscratch,"labelHeight",e,f),Rt(n.rscratch,"labelLineHeight",e,l)},Ba.getLabelText=function(t,e){var n=t._private,r=e?e+"-":"",i=t.pstyle(r+"label").strValue,o=t.pstyle("text-transform").value,a=function(t,r){return r?(Rt(n.rscratch,t,e,r),r):Dt(n.rscratch,t,e)};if(!i)return"";"none"==o||("uppercase"==o?i=i.toUpperCase():"lowercase"==o&&(i=i.toLowerCase()));var s=t.pstyle("text-wrap").value;if("wrap"===s){var c=a("labelKey");if(null!=c&&a("labelWrapKey")===c)return a("labelWrapCachedText");for(var u=i.split("\n"),l=t.pstyle("text-max-width").pfValue,h="anywhere"===t.pstyle("text-overflow-wrap").value,f=[],d=/[\s\u200b]+/,p=h?"":" ",g=0;gl){for(var m=v.split(d),w="",x=0;xk);N++)T+=i[N],N===i.length-1&&(C=!0);return C||(T+="…"),T}return i},Ba.getLabelJustification=function(t){var e=t.pstyle("text-justification").strValue,n=t.pstyle("text-halign").strValue;if("auto"!==e)return e;if(!t.isNode())return"center";switch(n){case"left":return"right";case"right":return"left";default:return"center"}},Ba.calculateLabelDimensions=function(t,e){var n=pt(e,t._private.labelDimsKey),r=this.labelDimCache||(this.labelDimCache=[]),i=r[n];if(null!=i)return i;var o=t.pstyle("font-style").strValue,a=t.pstyle("font-size").pfValue,s=t.pstyle("font-family").strValue,c=t.pstyle("font-weight").strValue,u=this.labelCalcCanvas,l=this.labelCalcCanvasContext;if(!u){u=this.labelCalcCanvas=document.createElement("canvas"),l=this.labelCalcCanvasContext=u.getContext("2d");var h=u.style;h.position="absolute",h.left="-9999px",h.top="-9999px",h.zIndex="-1",h.visibility="hidden",h.pointerEvents="none"}l.font="".concat(o," ").concat(c," ").concat(a,"px ").concat(s);for(var f=0,d=0,p=e.split("\n"),g=0;g1&&void 0!==arguments[1])||arguments[1];if(e.merge(t),n)for(var r=0;r=t.desktopTapThreshold2}var C=i(e);v&&(t.hoverData.tapholdCancelled=!0),n=!0,r(g,["mousemove","vmousemove","tapdrag"],e,{x:u[0],y:u[1]});var N=function(){t.data.bgActivePosistion=void 0,t.hoverData.selecting||a.emit({originalEvent:e,type:"boxstart",position:{x:u[0],y:u[1]}}),p[4]=1,t.hoverData.selecting=!0,t.redrawHint("select",!0),t.redraw()};if(3===t.hoverData.which){if(v){var A={originalEvent:e,type:"cxtdrag",position:{x:u[0],y:u[1]}};y?y.emit(A):a.emit(A),t.hoverData.cxtDragged=!0,t.hoverData.cxtOver&&g===t.hoverData.cxtOver||(t.hoverData.cxtOver&&t.hoverData.cxtOver.emit({originalEvent:e,type:"cxtdragout",position:{x:u[0],y:u[1]}}),t.hoverData.cxtOver=g,g&&g.emit({originalEvent:e,type:"cxtdragover",position:{x:u[0],y:u[1]}}))}}else if(t.hoverData.dragging){if(n=!0,a.panningEnabled()&&a.userPanningEnabled()){var S;if(t.hoverData.justStartedPan){var O=t.hoverData.mdownPos;S={x:(u[0]-O[0])*s,y:(u[1]-O[1])*s},t.hoverData.justStartedPan=!1}else S={x:m[0]*s,y:m[1]*s};a.panBy(S),a.emit("dragpan"),t.hoverData.dragged=!0}u=t.projectIntoViewport(e.clientX,e.clientY)}else if(1!=p[4]||null!=y&&!y.pannable()){if(y&&y.pannable()&&y.active()&&y.unactivate(),y&&y.grabbed()||g==b||(b&&r(b,["mouseout","tapdragout"],e,{x:u[0],y:u[1]}),g&&r(g,["mouseover","tapdragover"],e,{x:u[0],y:u[1]}),t.hoverData.last=g),y)if(v){if(a.boxSelectionEnabled()&&C)y&&y.grabbed()&&(f(w),y.emit("freeon"),w.emit("free"),t.dragData.didDrag&&(y.emit("dragfreeon"),w.emit("dragfree"))),N();else if(y&&y.grabbed()&&t.nodeIsDraggable(y)){var L=!t.dragData.didDrag;L&&t.redrawHint("eles",!0),t.dragData.didDrag=!0,t.hoverData.draggingEles||l(w,{inDragLayer:!0});var M={x:0,y:0};if(I(m[0])&&I(m[1])&&(M.x+=m[0],M.y+=m[1],L)){var P=t.hoverData.dragDelta;P&&I(P[0])&&I(P[1])&&(M.x+=P[0],M.y+=P[1])}t.hoverData.draggingEles=!0,w.silentShift(M).emit("position drag"),t.redrawHint("drag",!0),t.redraw()}}else!function(){var e=t.hoverData.dragDelta=t.hoverData.dragDelta||[];0===e.length?(e.push(m[0]),e.push(m[1])):(e[0]+=m[0],e[1]+=m[1])}();n=!0}else v&&(t.hoverData.dragging||!a.boxSelectionEnabled()||!C&&a.panningEnabled()&&a.userPanningEnabled()?!t.hoverData.selecting&&a.panningEnabled()&&a.userPanningEnabled()&&o(y,t.hoverData.downs)&&(t.hoverData.dragging=!0,t.hoverData.justStartedPan=!0,p[4]=0,t.data.bgActivePosistion=ie(h),t.redrawHint("select",!0),t.redraw()):N(),y&&y.pannable()&&y.active()&&y.unactivate());return p[2]=u[0],p[3]=u[1],n?(e.stopPropagation&&e.stopPropagation(),e.preventDefault&&e.preventDefault(),!1):void 0}}),!1),t.registerBinding(e,"mouseup",(function(e){if(t.hoverData.capture){t.hoverData.capture=!1;var o=t.cy,a=t.projectIntoViewport(e.clientX,e.clientY),s=t.selection,c=t.findNearestElement(a[0],a[1],!0,!1),u=t.dragData.possibleDragElements,l=t.hoverData.down,h=i(e);if(t.data.bgActivePosistion&&(t.redrawHint("select",!0),t.redraw()),t.hoverData.tapholdCancelled=!0,t.data.bgActivePosistion=void 0,l&&l.unactivate(),3===t.hoverData.which){var d={originalEvent:e,type:"cxttapend",position:{x:a[0],y:a[1]}};if(l?l.emit(d):o.emit(d),!t.hoverData.cxtDragged){var p={originalEvent:e,type:"cxttap",position:{x:a[0],y:a[1]}};l?l.emit(p):o.emit(p)}t.hoverData.cxtDragged=!1,t.hoverData.which=null}else if(1===t.hoverData.which){if(r(c,["mouseup","tapend","vmouseup"],e,{x:a[0],y:a[1]}),t.dragData.didDrag||t.hoverData.dragged||t.hoverData.selecting||t.hoverData.isOverThresholdDrag||(r(l,["click","tap","vclick"],e,{x:a[0],y:a[1]}),w=!1,e.timeStamp-x<=o.multiClickDebounceTime()?(m&&clearTimeout(m),w=!0,x=null,r(l,["dblclick","dbltap","vdblclick"],e,{x:a[0],y:a[1]})):(m=setTimeout((function(){w||r(l,["oneclick","onetap","voneclick"],e,{x:a[0],y:a[1]})}),o.multiClickDebounceTime()),x=e.timeStamp)),null!=l||t.dragData.didDrag||t.hoverData.selecting||t.hoverData.dragged||i(e)||(o.$(n).unselect(["tapunselect"]),u.length>0&&t.redrawHint("eles",!0),t.dragData.possibleDragElements=u=o.collection()),c!=l||t.dragData.didDrag||t.hoverData.selecting||null!=c&&c._private.selectable&&(t.hoverData.dragging||("additive"===o.selectionType()||h?c.selected()?c.unselect(["tapunselect"]):c.select(["tapselect"]):h||(o.$(n).unmerge(c).unselect(["tapunselect"]),c.select(["tapselect"]))),t.redrawHint("eles",!0)),t.hoverData.selecting){var g=o.collection(t.getAllInBox(s[0],s[1],s[2],s[3]));t.redrawHint("select",!0),g.length>0&&t.redrawHint("eles",!0),o.emit({type:"boxend",originalEvent:e,position:{x:a[0],y:a[1]}});"additive"===o.selectionType()||h||o.$(n).unmerge(g).unselect(),g.emit("box").stdFilter((function(t){return t.selectable()&&!t.selected()})).select().emit("boxselect"),t.redraw()}if(t.hoverData.dragging&&(t.hoverData.dragging=!1,t.redrawHint("select",!0),t.redrawHint("eles",!0),t.redraw()),!s[4]){t.redrawHint("drag",!0),t.redrawHint("eles",!0);var v=l&&l.grabbed();f(u),v&&(l.emit("freeon"),u.emit("free"),t.dragData.didDrag&&(l.emit("dragfreeon"),u.emit("dragfree")))}}s[4]=0,t.hoverData.down=null,t.hoverData.cxtStarted=!1,t.hoverData.draggingEles=!1,t.hoverData.selecting=!1,t.hoverData.isOverThresholdDrag=!1,t.dragData.didDrag=!1,t.hoverData.dragged=!1,t.hoverData.dragDelta=[],t.hoverData.mdownPos=null,t.hoverData.mdownGPos=null}}),!1);var E,k,T,C,N,A,S,O,L,M,P,D,R,j=function(e){if(!t.scrollingPage){var n=t.cy,r=n.zoom(),i=n.pan(),o=t.projectIntoViewport(e.clientX,e.clientY),a=[o[0]*r+i.x,o[1]*r+i.y];if(t.hoverData.draggingEles||t.hoverData.dragging||t.hoverData.cxtStarted||0!==t.selection[4])e.preventDefault();else if(n.panningEnabled()&&n.userPanningEnabled()&&n.zoomingEnabled()&&n.userZoomingEnabled()){var s;e.preventDefault(),t.data.wheelZooming=!0,clearTimeout(t.data.wheelTimeout),t.data.wheelTimeout=setTimeout((function(){t.data.wheelZooming=!1,t.redrawHint("eles",!0),t.redraw()}),150),s=null!=e.deltaY?e.deltaY/-250:null!=e.wheelDeltaY?e.wheelDeltaY/1e3:e.wheelDelta/1e3,s*=t.wheelSensitivity,1===e.deltaMode&&(s*=33);var c=n.zoom()*Math.pow(10,s);"gesturechange"===e.type&&(c=t.gestureStartZoom*e.scale),n.zoom({level:c,renderedPosition:{x:a[0],y:a[1]}}),n.emit("gesturechange"===e.type?"pinchzoom":"scrollzoom")}}};t.registerBinding(t.container,"wheel",j,!0),t.registerBinding(e,"scroll",(function(e){t.scrollingPage=!0,clearTimeout(t.scrollingPageTimeout),t.scrollingPageTimeout=setTimeout((function(){t.scrollingPage=!1}),250)}),!0),t.registerBinding(t.container,"gesturestart",(function(e){t.gestureStartZoom=t.cy.zoom(),t.hasTouchStarted||e.preventDefault()}),!0),t.registerBinding(t.container,"gesturechange",(function(e){t.hasTouchStarted||j(e)}),!0),t.registerBinding(t.container,"mouseout",(function(e){var n=t.projectIntoViewport(e.clientX,e.clientY);t.cy.emit({originalEvent:e,type:"mouseout",position:{x:n[0],y:n[1]}})}),!1),t.registerBinding(t.container,"mouseover",(function(e){var n=t.projectIntoViewport(e.clientX,e.clientY);t.cy.emit({originalEvent:e,type:"mouseover",position:{x:n[0],y:n[1]}})}),!1);var G,B,F,H,Y,z,U,V=function(t,e,n,r){return Math.sqrt((n-t)*(n-t)+(r-e)*(r-e))},q=function(t,e,n,r){return(n-t)*(n-t)+(r-e)*(r-e)};if(t.registerBinding(t.container,"touchstart",G=function(e){if(t.hasTouchStarted=!0,_(e)){p(),t.touchData.capture=!0,t.data.bgActivePosistion=void 0;var n=t.cy,i=t.touchData.now,o=t.touchData.earlier;if(e.touches[0]){var a=t.projectIntoViewport(e.touches[0].clientX,e.touches[0].clientY);i[0]=a[0],i[1]=a[1]}if(e.touches[1]&&(a=t.projectIntoViewport(e.touches[1].clientX,e.touches[1].clientY),i[2]=a[0],i[3]=a[1]),e.touches[2]&&(a=t.projectIntoViewport(e.touches[2].clientX,e.touches[2].clientY),i[4]=a[0],i[5]=a[1]),e.touches[1]){t.touchData.singleTouchMoved=!0,f(t.dragData.touchDragEles);var c=t.findContainerClientCoords();L=c[0],M=c[1],P=c[2],D=c[3],E=e.touches[0].clientX-L,k=e.touches[0].clientY-M,T=e.touches[1].clientX-L,C=e.touches[1].clientY-M,R=0<=E&&E<=P&&0<=T&&T<=P&&0<=k&&k<=D&&0<=C&&C<=D;var u=n.pan(),d=n.zoom();if(N=V(E,k,T,C),A=q(E,k,T,C),O=[((S=[(E+T)/2,(k+C)/2])[0]-u.x)/d,(S[1]-u.y)/d],A<4e4&&!e.touches[2]){var g=t.findNearestElement(i[0],i[1],!0,!0),v=t.findNearestElement(i[2],i[3],!0,!0);return g&&g.isNode()?(g.activate().emit({originalEvent:e,type:"cxttapstart",position:{x:i[0],y:i[1]}}),t.touchData.start=g):v&&v.isNode()?(v.activate().emit({originalEvent:e,type:"cxttapstart",position:{x:i[0],y:i[1]}}),t.touchData.start=v):n.emit({originalEvent:e,type:"cxttapstart",position:{x:i[0],y:i[1]}}),t.touchData.start&&(t.touchData.start._private.grabbed=!1),t.touchData.cxt=!0,t.touchData.cxtDragged=!1,t.data.bgActivePosistion=void 0,void t.redraw()}}if(e.touches[2])n.boxSelectionEnabled()&&e.preventDefault();else if(e.touches[1]);else if(e.touches[0]){var b=t.findNearestElements(i[0],i[1],!0,!0),y=b[0];if(null!=y&&(y.activate(),t.touchData.start=y,t.touchData.starts=b,t.nodeIsGrabbable(y))){var m=t.dragData.touchDragEles=n.collection(),w=null;t.redrawHint("eles",!0),t.redrawHint("drag",!0),y.selected()?(w=n.$((function(e){return e.selected()&&t.nodeIsGrabbable(e)})),l(w,{addToList:m})):h(y,{addToList:m}),s(y);var x=function(t){return{originalEvent:e,type:t,position:{x:i[0],y:i[1]}}};y.emit(x("grabon")),w?w.forEach((function(t){t.emit(x("grab"))})):y.emit(x("grab"))}r(y,["touchstart","tapstart","vmousedown"],e,{x:i[0],y:i[1]}),null==y&&(t.data.bgActivePosistion={x:a[0],y:a[1]},t.redrawHint("select",!0),t.redraw()),t.touchData.singleTouchMoved=!1,t.touchData.singleTouchStartTime=+new Date,clearTimeout(t.touchData.tapholdTimeout),t.touchData.tapholdTimeout=setTimeout((function(){!1!==t.touchData.singleTouchMoved||t.pinching||t.touchData.selecting||r(t.touchData.start,["taphold"],e,{x:i[0],y:i[1]})}),t.tapholdDuration)}if(e.touches.length>=1){for(var I=t.touchData.startPosition=[null,null,null,null,null,null],j=0;j=t.touchTapThreshold2}if(n&&t.touchData.cxt){e.preventDefault();var w=e.touches[0].clientX-L,x=e.touches[0].clientY-M,S=e.touches[1].clientX-L,P=e.touches[1].clientY-M,D=q(w,x,S,P);if(D/A>=2.25||D>=22500){t.touchData.cxt=!1,t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var j={originalEvent:e,type:"cxttapend",position:{x:s[0],y:s[1]}};t.touchData.start?(t.touchData.start.unactivate().emit(j),t.touchData.start=null):a.emit(j)}}if(n&&t.touchData.cxt){j={originalEvent:e,type:"cxtdrag",position:{x:s[0],y:s[1]}},t.data.bgActivePosistion=void 0,t.redrawHint("select",!0),t.touchData.start?t.touchData.start.emit(j):a.emit(j),t.touchData.start&&(t.touchData.start._private.grabbed=!1),t.touchData.cxtDragged=!0;var G=t.findNearestElement(s[0],s[1],!0,!0);t.touchData.cxtOver&&G===t.touchData.cxtOver||(t.touchData.cxtOver&&t.touchData.cxtOver.emit({originalEvent:e,type:"cxtdragout",position:{x:s[0],y:s[1]}}),t.touchData.cxtOver=G,G&&G.emit({originalEvent:e,type:"cxtdragover",position:{x:s[0],y:s[1]}}))}else if(n&&e.touches[2]&&a.boxSelectionEnabled())e.preventDefault(),t.data.bgActivePosistion=void 0,this.lastThreeTouch=+new Date,t.touchData.selecting||a.emit({originalEvent:e,type:"boxstart",position:{x:s[0],y:s[1]}}),t.touchData.selecting=!0,t.touchData.didSelect=!0,i[4]=1,i&&0!==i.length&&void 0!==i[0]?(i[2]=(s[0]+s[2]+s[4])/3,i[3]=(s[1]+s[3]+s[5])/3):(i[0]=(s[0]+s[2]+s[4])/3,i[1]=(s[1]+s[3]+s[5])/3,i[2]=(s[0]+s[2]+s[4])/3+1,i[3]=(s[1]+s[3]+s[5])/3+1),t.redrawHint("select",!0),t.redraw();else if(n&&e.touches[1]&&!t.touchData.didSelect&&a.zoomingEnabled()&&a.panningEnabled()&&a.userZoomingEnabled()&&a.userPanningEnabled()){if(e.preventDefault(),t.data.bgActivePosistion=void 0,t.redrawHint("select",!0),tt=t.dragData.touchDragEles){t.redrawHint("drag",!0);for(var B=0;B0&&!t.hoverData.draggingEles&&!t.swipePanning&&null!=t.data.bgActivePosistion&&(t.data.bgActivePosistion=void 0,t.redrawHint("select",!0),t.redraw())}},!1),t.registerBinding(e,"touchcancel",F=function(e){var n=t.touchData.start;t.touchData.capture=!1,n&&n.unactivate()}),t.registerBinding(e,"touchend",H=function(e){var i=t.touchData.start;if(t.touchData.capture){0===e.touches.length&&(t.touchData.capture=!1),e.preventDefault();var o=t.selection;t.swipePanning=!1,t.hoverData.draggingEles=!1;var a,s=t.cy,c=s.zoom(),u=t.touchData.now,l=t.touchData.earlier;if(e.touches[0]){var h=t.projectIntoViewport(e.touches[0].clientX,e.touches[0].clientY);u[0]=h[0],u[1]=h[1]}if(e.touches[1]&&(h=t.projectIntoViewport(e.touches[1].clientX,e.touches[1].clientY),u[2]=h[0],u[3]=h[1]),e.touches[2]&&(h=t.projectIntoViewport(e.touches[2].clientX,e.touches[2].clientY),u[4]=h[0],u[5]=h[1]),i&&i.unactivate(),t.touchData.cxt){if(a={originalEvent:e,type:"cxttapend",position:{x:u[0],y:u[1]}},i?i.emit(a):s.emit(a),!t.touchData.cxtDragged){var d={originalEvent:e,type:"cxttap",position:{x:u[0],y:u[1]}};i?i.emit(d):s.emit(d)}return t.touchData.start&&(t.touchData.start._private.grabbed=!1),t.touchData.cxt=!1,t.touchData.start=null,void t.redraw()}if(!e.touches[2]&&s.boxSelectionEnabled()&&t.touchData.selecting){t.touchData.selecting=!1;var p=s.collection(t.getAllInBox(o[0],o[1],o[2],o[3]));o[0]=void 0,o[1]=void 0,o[2]=void 0,o[3]=void 0,o[4]=0,t.redrawHint("select",!0),s.emit({type:"boxend",originalEvent:e,position:{x:u[0],y:u[1]}}),p.emit("box").stdFilter((function(t){return t.selectable()&&!t.selected()})).select().emit("boxselect"),p.nonempty()&&t.redrawHint("eles",!0),t.redraw()}if(null!=i&&i.unactivate(),e.touches[2])t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);else if(e.touches[1]);else if(e.touches[0]);else if(!e.touches[0]){t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var g=t.dragData.touchDragEles;if(null!=i){var v=i._private.grabbed;f(g),t.redrawHint("drag",!0),t.redrawHint("eles",!0),v&&(i.emit("freeon"),g.emit("free"),t.dragData.didDrag&&(i.emit("dragfreeon"),g.emit("dragfree"))),r(i,["touchend","tapend","vmouseup","tapdragout"],e,{x:u[0],y:u[1]}),i.unactivate(),t.touchData.start=null}else{var b=t.findNearestElement(u[0],u[1],!0,!0);r(b,["touchend","tapend","vmouseup","tapdragout"],e,{x:u[0],y:u[1]})}var y=t.touchData.startPosition[0]-u[0],m=y*y,w=t.touchData.startPosition[1]-u[1],x=(m+w*w)*c*c;t.touchData.singleTouchMoved||(i||s.$(":selected").unselect(["tapunselect"]),r(i,["tap","vclick"],e,{x:u[0],y:u[1]}),Y=!1,e.timeStamp-U<=s.multiClickDebounceTime()?(z&&clearTimeout(z),Y=!0,U=null,r(i,["dbltap","vdblclick"],e,{x:u[0],y:u[1]})):(z=setTimeout((function(){Y||r(i,["onetap","voneclick"],e,{x:u[0],y:u[1]})}),s.multiClickDebounceTime()),U=e.timeStamp)),null!=i&&!t.dragData.didDrag&&i._private.selectable&&x2){for(var A=[u[0],u[1]],S=Math.pow(A[0]-t,2)+Math.pow(A[1]-e,2),O=1;O0)return g[0]}return null},f=Object.keys(l),d=0;d0?c:Ee(i,o,t,e,n,r,a)},checkPoint:function(t,e,n,r,i,o,a){var s=He(r,i),c=2*s;if(Se(t,e,this.points,o,a,r,i-c,[0,-1],n))return!0;if(Se(t,e,this.points,o,a,r-c,i,[0,-1],n))return!0;var u=r/2+2*n,l=i/2+2*n;return!!Ae(t,e,[o-u,a-l,o-u,a,o+u,a,o+u,a-l])||!!Ie(t,e,c,c,o+r/2-s,a+i/2-s,n)||!!Ie(t,e,c,c,o-r/2+s,a+i/2-s,n)}}},registerNodeShapes:function(){var t=this.nodeShapes={},e=this;this.generateEllipse(),this.generatePolygon("triangle",Ge(3,0)),this.generateRoundPolygon("round-triangle",Ge(3,0)),this.generatePolygon("rectangle",Ge(4,0)),t.square=t.rectangle,this.generateRoundRectangle(),this.generateCutRectangle(),this.generateBarrel(),this.generateBottomRoundrectangle();var n=[0,1,1,0,0,-1,-1,0];this.generatePolygon("diamond",n),this.generateRoundPolygon("round-diamond",n),this.generatePolygon("pentagon",Ge(5,0)),this.generateRoundPolygon("round-pentagon",Ge(5,0)),this.generatePolygon("hexagon",Ge(6,0)),this.generateRoundPolygon("round-hexagon",Ge(6,0)),this.generatePolygon("heptagon",Ge(7,0)),this.generateRoundPolygon("round-heptagon",Ge(7,0)),this.generatePolygon("octagon",Ge(8,0)),this.generateRoundPolygon("round-octagon",Ge(8,0));var r=new Array(20),i=Fe(5,0),o=Fe(5,Math.PI/5),a=.5*(3-Math.sqrt(5));a*=1.57;for(var s=0;s=t.deqFastCost*g)break}else if(i){if(d>=t.deqCost*c||d>=t.deqAvgCost*s)break}else if(p>=t.deqNoDrawCost*Ja)break;var v=t.deq(e,h,l);if(!(v.length>0))break;for(var b=0;b0&&(t.onDeqd(e,u),!i&&t.shouldRedraw(e,u,h,l)&&r())}),i(e))}}},es=function(){function t(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:_t;g(this,t),this.idsByKey=new jt,this.keyForId=new jt,this.cachesByLvl=new jt,this.lvls=[],this.getKey=e,this.doesEleInvalidateKey=n}return b(t,[{key:"getIdsFor",value:function(t){null==t&&Tt("Can not get id list for null key");var e=this.idsByKey,n=this.idsByKey.get(t);return n||(n=new Bt,e.set(t,n)),n}},{key:"addIdForKey",value:function(t,e){null!=t&&this.getIdsFor(t).add(e)}},{key:"deleteIdForKey",value:function(t,e){null!=t&&this.getIdsFor(t).delete(e)}},{key:"getNumberOfIdsForKey",value:function(t){return null==t?0:this.getIdsFor(t).size}},{key:"updateKeyMappingFor",value:function(t){var e=t.id(),n=this.keyForId.get(e),r=this.getKey(t);this.deleteIdForKey(n,e),this.addIdForKey(r,e),this.keyForId.set(e,r)}},{key:"deleteKeyMappingFor",value:function(t){var e=t.id(),n=this.keyForId.get(e);this.deleteIdForKey(n,e),this.keyForId.delete(e)}},{key:"keyHasChangedFor",value:function(t){var e=t.id();return this.keyForId.get(e)!==this.getKey(t)}},{key:"isInvalid",value:function(t){return this.keyHasChangedFor(t)||this.doesEleInvalidateKey(t)}},{key:"getCachesAt",value:function(t){var e=this.cachesByLvl,n=this.lvls,r=e.get(t);return r||(r=new jt,e.set(t,r),n.push(t)),r}},{key:"getCache",value:function(t,e){return this.getCachesAt(e).get(t)}},{key:"get",value:function(t,e){var n=this.getKey(t),r=this.getCache(n,e);return null!=r&&this.updateKeyMappingFor(t),r}},{key:"getForCachedKey",value:function(t,e){var n=this.keyForId.get(t.id());return this.getCache(n,e)}},{key:"hasCache",value:function(t,e){return this.getCachesAt(e).has(t)}},{key:"has",value:function(t,e){var n=this.getKey(t);return this.hasCache(n,e)}},{key:"setCache",value:function(t,e,n){n.key=t,this.getCachesAt(e).set(t,n)}},{key:"set",value:function(t,e,n){var r=this.getKey(t);this.setCache(r,e,n),this.updateKeyMappingFor(t)}},{key:"deleteCache",value:function(t,e){this.getCachesAt(e).delete(t)}},{key:"delete",value:function(t,e){var n=this.getKey(t);this.deleteCache(n,e)}},{key:"invalidateKey",value:function(t){var e=this;this.lvls.forEach((function(n){return e.deleteCache(t,n)}))}},{key:"invalidate",value:function(t){var e=t.id(),n=this.keyForId.get(e);this.deleteKeyMappingFor(t);var r=this.doesEleInvalidateKey(t);return r&&this.invalidateKey(n),r||0===this.getNumberOfIdsForKey(n)}}]),t}(),ns={dequeue:"dequeue",downscale:"downscale",highQuality:"highQuality"},rs=It({getKey:null,doesEleInvalidateKey:_t,drawElement:null,getBoundingBox:null,getRotationPoint:null,getRotationOffset:null,isVisible:xt,allowEdgeTxrCaching:!0,allowParentTxrCaching:!0}),is=function(t,e){var n=this;n.renderer=t,n.onDequeues=[];var r=rs(e);Q(n,r),n.lookup=new es(r.getKey,r.doesEleInvalidateKey),n.setupDequeueing()},os=is.prototype;os.reasons=ns,os.getTextureQueue=function(t){var e=this;return e.eleImgCaches=e.eleImgCaches||{},e.eleImgCaches[t]=e.eleImgCaches[t]||[]},os.getRetiredTextureQueue=function(t){var e=this.eleImgCaches.retired=this.eleImgCaches.retired||{};return e[t]=e[t]||[]},os.getElementQueue=function(){return this.eleCacheQueue=this.eleCacheQueue||new l.default((function(t,e){return e.reqs-t.reqs}))},os.getElementKeyToQueue=function(){return this.eleKeyToCacheQueue=this.eleKeyToCacheQueue||{}},os.getElement=function(t,e,n,r,i){var o=this,a=this.renderer,s=a.cy.zoom(),c=this.lookup;if(!e||0===e.w||0===e.h||isNaN(e.w)||isNaN(e.h)||!t.visible()||t.removed())return null;if(!o.allowEdgeTxrCaching&&t.isEdge()||!o.allowParentTxrCaching&&t.isParent())return null;if(null==r&&(r=Math.ceil(ae(s*n))),r<-4)r=-4;else if(s>=7.99||r>3)return null;var u=Math.pow(2,r),l=e.h*u,h=e.w*u,f=a.eleTextBiggerThanMin(t,u);if(!this.isVisible(t,f))return null;var d,p=c.get(t,r);if(p&&p.invalidated&&(p.invalidated=!1,p.texture.invalidatedWidth-=p.width),p)return p;if(d=l<=25?25:l<=50?50:50*Math.ceil(l/50),l>1024||h>1024)return null;var g=o.getTextureQueue(d),v=g[g.length-2],b=function(){return o.recycleTexture(d,h)||o.addTexture(d,h)};v||(v=g[g.length-1]),v||(v=b()),v.width-v.usedWidthr;N--)T=o.getElement(t,e,n,N,ns.downscale);C()}else{var A;if(!w&&!x&&!_)for(var S=r-1;S>=-4;S--){var O=c.get(t,S);if(O){A=O;break}}if(m(A))return o.queueElement(t,r),A;v.context.translate(v.usedWidth,0),v.context.scale(u,u),this.drawElement(v.context,t,e,f,!1),v.context.scale(1/u,1/u),v.context.translate(-v.usedWidth,0)}return p={x:v.usedWidth,texture:v,level:r,scale:u,width:h,height:l,scaledLabelShown:f},v.usedWidth+=Math.ceil(h+8),v.eleCaches.push(p),c.set(t,r,p),o.checkTextureFullness(v),p},os.invalidateElements=function(t){for(var e=0;e=.2*t.width&&this.retireTexture(t)},os.checkTextureFullness=function(t){var e=this.getTextureQueue(t.height);t.usedWidth/t.width>.8&&t.fullnessChecks>=10?Mt(e,t):t.fullnessChecks++},os.retireTexture=function(t){var e=t.height,n=this.getTextureQueue(e),r=this.lookup;Mt(n,t),t.retired=!0;for(var i=t.eleCaches,o=0;o=e)return o.retired=!1,o.usedWidth=0,o.invalidatedWidth=0,o.fullnessChecks=0,Pt(o.eleCaches),o.context.setTransform(1,0,0,1,0,0),o.context.clearRect(0,0,o.width,o.height),Mt(r,o),n.push(o),o}},os.queueElement=function(t,e){var n=this.getElementQueue(),r=this.getElementKeyToQueue(),i=this.getKey(t),o=r[i];if(o)o.level=Math.max(o.level,e),o.eles.merge(t),o.reqs++,n.updateItem(o);else{var a={eles:t.spawn().merge(t),level:e,reqs:1,key:i};n.push(a),r[i]=a}},os.dequeue=function(t){for(var e=this,n=e.getElementQueue(),r=e.getElementKeyToQueue(),i=[],o=e.lookup,a=0;a<1&&n.size()>0;a++){var s=n.pop(),c=s.key,u=s.eles[0],l=o.hasCache(u,s.level);if(r[c]=null,!l){i.push(s);var h=e.getBoundingBox(u);e.getElement(u,h,t,s.level,ns.dequeue)}}return i},os.removeFromQueue=function(t){var e=this.getElementQueue(),n=this.getElementKeyToQueue(),r=this.getKey(t),i=n[r];null!=i&&(1===i.eles.length?(i.reqs=wt,e.updateItem(i),e.pop(),n[r]=null):i.eles.unmerge(t))},os.onDequeue=function(t){this.onDequeues.push(t)},os.offDequeue=function(t){Mt(this.onDequeues,t)},os.setupDequeueing=ts({deqRedrawThreshold:100,deqCost:.15,deqAvgCost:.1,deqNoDrawCost:.9,deqFastCost:.9,deq:function(t,e,n){return t.dequeue(e,n)},onDeqd:function(t,e){for(var n=0;n=3.99||n>2)return null;r.validateLayersElesOrdering(n,t);var a,s,c=r.layersByLevel,u=Math.pow(2,n),l=c[n]=c[n]||[];if(r.levelIsComplete(n,t))return l;!function(){var e=function(e){if(r.validateLayersElesOrdering(e,t),r.levelIsComplete(e,t))return s=c[e],!0},i=function(t){if(!s)for(var r=n+t;-4<=r&&r<=2&&!e(r);r+=t);};i(1),i(-1);for(var o=l.length-1;o>=0;o--){var a=l[o];a.invalid&&Mt(l,a)}}();var h=function(e){var i=(e=e||{}).after;if(function(){if(!a){a=pe();for(var e=0;e16e6)return null;var o=r.makeLayer(a,n);if(null!=i){var s=l.indexOf(i)+1;l.splice(s,0,o)}else(void 0===e.insert||e.insert)&&l.unshift(o);return o};if(r.skipping&&!o)return null;for(var f=null,d=t.length/1,p=!o,g=0;g=d||!_e(f.bb,v.boundingBox()))&&!(f=h({insert:!0,after:f})))return null;s||p?r.queueLayer(f,v):r.drawEleInLayer(f,v,n,e),f.eles.push(v),y[n]=f}}return s||(p?null:l)},ss.getEleLevelForLayerLevel=function(t,e){return t},ss.drawEleInLayer=function(t,e,n,r){var i=this.renderer,o=t.context,a=e.boundingBox();0!==a.w&&0!==a.h&&e.visible()&&(n=this.getEleLevelForLayerLevel(n,r),i.setImgSmoothing(o,!1),i.drawCachedElement(o,e,null,null,n,!0),i.setImgSmoothing(o,!0))},ss.levelIsComplete=function(t,e){var n=this.layersByLevel[t];if(!n||0===n.length)return!1;for(var r=0,i=0;i0)return!1;if(o.invalid)return!1;r+=o.eles.length}return r===e.length},ss.validateLayersElesOrdering=function(t,e){var n=this.layersByLevel[t];if(n)for(var r=0;r0){t=!0;break}}return t},ss.invalidateElements=function(t){var e=this;0!==t.length&&(e.lastInvalidationTime=at(),0!==t.length&&e.haveLayers()&&e.updateElementsInLayers(t,(function(t,n,r){e.invalidateLayer(t)})))},ss.invalidateLayer=function(t){if(this.lastInvalidationTime=at(),!t.invalid){var e=t.level,n=t.eles,r=this.layersByLevel[e];Mt(r,t),t.elesQueue=[],t.invalid=!0,t.replacement&&(t.replacement.invalid=!0);for(var i=0;i3&&void 0!==arguments[3])||arguments[3],i=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],o=!(arguments.length>5&&void 0!==arguments[5])||arguments[5],a=this,s=e._private.rscratch;if((!o||e.visible())&&!s.badLine&&null!=s.allpts&&!isNaN(s.allpts[0])){var c;n&&(c=n,t.translate(-c.x1,-c.y1));var u=o?e.pstyle("opacity").value:1,l=o?e.pstyle("line-opacity").value:1,h=e.pstyle("curve-style").value,f=e.pstyle("line-style").value,d=e.pstyle("width").pfValue,p=e.pstyle("line-cap").value,g=u*l,v=u*l,b=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:g;"straight-triangle"===h?(a.eleStrokeStyle(t,e,n),a.drawEdgeTrianglePath(e,t,s.allpts)):(t.lineWidth=d,t.lineCap=p,a.eleStrokeStyle(t,e,n),a.drawEdgePath(e,t,s.allpts,f),t.lineCap="butt")},y=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:v;a.drawArrowheads(t,e,n)};if(t.lineJoin="round","yes"===e.pstyle("ghost").value){var m=e.pstyle("ghost-offset-x").pfValue,w=e.pstyle("ghost-offset-y").pfValue,x=e.pstyle("ghost-opacity").value,_=g*x;t.translate(m,w),b(_),y(_),t.translate(-m,-w)}i&&a.drawEdgeUnderlay(t,e),b(),y(),i&&a.drawEdgeOverlay(t,e),a.drawElementText(t,e,null,r),n&&t.translate(c.x1,c.y1)}}},Ts=function(t){if(!["overlay","underlay"].includes(t))throw new Error("Invalid state");return function(e,n){if(n.visible()){var r=n.pstyle("".concat(t,"-opacity")).value;if(0!==r){var i=this,o=i.usePaths(),a=n._private.rscratch,s=2*n.pstyle("".concat(t,"-padding")).pfValue,c=n.pstyle("".concat(t,"-color")).value;e.lineWidth=s,"self"!==a.edgeType||o?e.lineCap="round":e.lineCap="butt",i.colorStrokeStyle(e,c[0],c[1],c[2],r),i.drawEdgePath(n,e,a.allpts,"solid")}}}};ks.drawEdgeOverlay=Ts("overlay"),ks.drawEdgeUnderlay=Ts("underlay"),ks.drawEdgePath=function(t,e,n,r){var i,o=t._private.rscratch,a=e,s=!1,c=this.usePaths(),u=t.pstyle("line-dash-pattern").pfValue,l=t.pstyle("line-dash-offset").pfValue;if(c){var h=n.join("$");o.pathCacheKey&&o.pathCacheKey===h?(i=e=o.pathCache,s=!0):(i=e=new Path2D,o.pathCacheKey=h,o.pathCache=i)}if(a.setLineDash)switch(r){case"dotted":a.setLineDash([1,1]);break;case"dashed":a.setLineDash(u),a.lineDashOffset=l;break;case"solid":a.setLineDash([])}if(!s&&!o.badLine)switch(e.beginPath&&e.beginPath(),e.moveTo(n[0],n[1]),o.edgeType){case"bezier":case"self":case"compound":case"multibezier":for(var f=2;f+35&&void 0!==arguments[5]?arguments[5]:5,a=arguments.length>6?arguments[6]:void 0;t.beginPath(),t.moveTo(e+o,n),t.lineTo(e+r-o,n),t.quadraticCurveTo(e+r,n,e+r,n+o),t.lineTo(e+r,n+i-o),t.quadraticCurveTo(e+r,n+i,e+r-o,n+i),t.lineTo(e+o,n+i),t.quadraticCurveTo(e,n+i,e,n+i-o),t.lineTo(e,n+o),t.quadraticCurveTo(e,n,e+o,n),t.closePath(),a?t.stroke():t.fill()}Ns.eleTextBiggerThanMin=function(t,e){if(!e){var n=t.cy().zoom(),r=this.getPixelRatio(),i=Math.ceil(ae(n*r));e=Math.pow(2,i)}return!(t.pstyle("font-size").pfValue*e5&&void 0!==arguments[5])||arguments[5],a=this;if(null==r){if(o&&!a.eleTextBiggerThanMin(e))return}else if(!1===r)return;if(e.isNode()){var s=e.pstyle("label");if(!s||!s.value)return;var c=a.getLabelJustification(e);t.textAlign=c,t.textBaseline="bottom"}else{var u=e.element()._private.rscratch.badLine,l=e.pstyle("label"),h=e.pstyle("source-label"),f=e.pstyle("target-label");if(u||(!l||!l.value)&&(!h||!h.value)&&(!f||!f.value))return;t.textAlign="center",t.textBaseline="bottom"}var d,p=!n;n&&(d=n,t.translate(-d.x1,-d.y1)),null==i?(a.drawText(t,e,null,p,o),e.isEdge()&&(a.drawText(t,e,"source",p,o),a.drawText(t,e,"target",p,o))):a.drawText(t,e,i,p,o),n&&t.translate(d.x1,d.y1)},Ns.getFontCache=function(t){var e;this.fontCaches=this.fontCaches||[];for(var n=0;n2&&void 0!==arguments[2])||arguments[2],r=e.pstyle("font-style").strValue,i=e.pstyle("font-size").pfValue+"px",o=e.pstyle("font-family").strValue,a=e.pstyle("font-weight").strValue,s=n?e.effectiveOpacity()*e.pstyle("text-opacity").value:1,c=e.pstyle("text-outline-opacity").value*s,u=e.pstyle("color").value,l=e.pstyle("text-outline-color").value;t.font=r+" "+a+" "+i+" "+o,t.lineJoin="round",this.colorFillStyle(t,u[0],u[1],u[2],s),this.colorStrokeStyle(t,l[0],l[1],l[2],c)},Ns.getTextAngle=function(t,e){var n=t._private.rscratch,r=e?e+"-":"",i=t.pstyle(r+"text-rotation"),o=Dt(n,"labelAngle",e);return"autorotate"===i.strValue?t.isEdge()?o:0:"none"===i.strValue?0:i.pfValue},Ns.drawText=function(t,e,n){var r=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],i=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],o=e._private.rscratch,a=i?e.effectiveOpacity():1;if(!i||0!==a&&0!==e.pstyle("text-opacity").value){"main"===n&&(n=null);var s,c,u=Dt(o,"labelX",n),l=Dt(o,"labelY",n),h=this.getLabelText(e,n);if(null!=h&&""!==h&&!isNaN(u)&&!isNaN(l)){this.setupTextStyle(t,e,i);var f,d=n?n+"-":"",p=Dt(o,"labelWidth",n),g=Dt(o,"labelHeight",n),v=e.pstyle(d+"text-margin-x").pfValue,b=e.pstyle(d+"text-margin-y").pfValue,y=e.isEdge(),m=e.pstyle("text-halign").value,w=e.pstyle("text-valign").value;switch(y&&(m="center",w="center"),u+=v,l+=b,0!==(f=r?this.getTextAngle(e,n):0)&&(s=u,c=l,t.translate(s,c),t.rotate(f),u=0,l=0),w){case"top":break;case"center":l+=g/2;break;case"bottom":l+=g}var x=e.pstyle("text-background-opacity").value,_=e.pstyle("text-border-opacity").value,E=e.pstyle("text-border-width").pfValue,k=e.pstyle("text-background-padding").pfValue,T=0===e.pstyle("text-background-shape").strValue.indexOf("round");if(x>0||E>0&&_>0){var C=u-k;switch(m){case"left":C-=p;break;case"center":C-=p/2}var N=l-g-k,A=p+2*k,S=g+2*k;if(x>0){var O=t.fillStyle,L=e.pstyle("text-background-color").value;t.fillStyle="rgba("+L[0]+","+L[1]+","+L[2]+","+x*a+")",T?As(t,C,N,A,S,2):t.fillRect(C,N,A,S),t.fillStyle=O}if(E>0&&_>0){var I=t.strokeStyle,M=t.lineWidth,P=e.pstyle("text-border-color").value,D=e.pstyle("text-border-style").value;if(t.strokeStyle="rgba("+P[0]+","+P[1]+","+P[2]+","+_*a+")",t.lineWidth=E,t.setLineDash)switch(D){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash([4,2]);break;case"double":t.lineWidth=E/4,t.setLineDash([]);break;case"solid":t.setLineDash([])}if(T?As(t,C,N,A,S,2,"stroke"):t.strokeRect(C,N,A,S),"double"===D){var R=E/2;T?As(t,C+R,N+R,A-2*R,S-2*R,2,"stroke"):t.strokeRect(C+R,N+R,A-2*R,S-2*R)}t.setLineDash&&t.setLineDash([]),t.lineWidth=M,t.strokeStyle=I}}var j=2*e.pstyle("text-outline-width").pfValue;if(j>0&&(t.lineWidth=j),"wrap"===e.pstyle("text-wrap").value){var G=Dt(o,"labelWrapCachedLines",n),B=Dt(o,"labelLineHeight",n),F=p/2,H=this.getLabelJustification(e);switch("auto"===H||("left"===m?"left"===H?u+=-p:"center"===H&&(u+=-F):"center"===m?"left"===H?u+=-F:"right"===H&&(u+=F):"right"===m&&("center"===H?u+=F:"right"===H&&(u+=p))),w){case"top":case"center":case"bottom":l-=(G.length-1)*B}for(var Y=0;Y0&&t.strokeText(G[Y],u,l),t.fillText(G[Y],u,l),l+=B}else j>0&&t.strokeText(h,u,l),t.fillText(h,u,l);0!==f&&(t.rotate(-f),t.translate(-s,-c))}}};var Ss={drawNode:function(t,e,n){var r,i,o=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],a=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],s=!(arguments.length>5&&void 0!==arguments[5])||arguments[5],c=this,u=e._private,l=u.rscratch,h=e.position();if(I(h.x)&&I(h.y)&&(!s||e.visible())){var f,d,p=s?e.effectiveOpacity():1,g=c.usePaths(),v=!1,b=e.padding();r=e.width()+2*b,i=e.height()+2*b,n&&(d=n,t.translate(-d.x1,-d.y1));for(var y=e.pstyle("background-image").value,m=new Array(y.length),w=new Array(y.length),x=0,_=0;_0&&void 0!==arguments[0]?arguments[0]:N;c.eleFillStyle(t,e,n)},G=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:O;c.colorStrokeStyle(t,A[0],A[1],A[2],e)},B=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:D;c.colorStrokeStyle(t,M[0],M[1],M[2],e)},F=function(t,e,n,r){var i,o=c.nodePathCache=c.nodePathCache||[],a=gt("polygon"===n?n+","+r.join(","):n,""+e,""+t),s=o[a],u=!1;return null!=s?(i=s,u=!0,l.pathCache=i):(i=new Path2D,o[a]=l.pathCache=i),{path:i,cacheHit:u}},H=e.pstyle("shape").strValue,Y=e.pstyle("shape-polygon-points").pfValue;if(g){t.translate(h.x,h.y);var z=F(r,i,H,Y);f=z.path,v=z.cacheHit}var U=function(){if(!v){var n=h;g&&(n={x:0,y:0}),c.nodeShapes[c.getNodeShape(e)].draw(f||t,n.x,n.y,r,i)}g?t.fill(f):t.fill()},V=function(){for(var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:p,r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=u.backgrounding,o=0,a=0;a0&&void 0!==arguments[0]&&arguments[0],o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:p;c.hasPie(e)&&(c.drawPie(t,e,o),n&&(g||c.nodeShapes[c.getNodeShape(e)].draw(t,h.x,h.y,r,i)))},X=function(){var e=(T>0?T:-T)*(arguments.length>0&&void 0!==arguments[0]?arguments[0]:p),n=T>0?0:255;0!==T&&(c.colorFillStyle(t,n,n,n,e),g?t.fill(f):t.fill())},W=function(){if(C>0){if(t.lineWidth=C,t.lineCap="butt",t.setLineDash)switch(S){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash([4,2]);break;case"solid":case"double":t.setLineDash([])}if(g?t.stroke(f):t.stroke(),"double"===S){t.lineWidth=C/3;var e=t.globalCompositeOperation;t.globalCompositeOperation="destination-out",g?t.stroke(f):t.stroke(),t.globalCompositeOperation=e}t.setLineDash&&t.setLineDash([])}},$=function(){if(L>0){if(t.lineWidth=L,t.lineCap="butt",t.setLineDash)switch(P){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash([4,2]);break;case"solid":case"double":t.setLineDash([])}var n=h;g&&(n={x:0,y:0});var o,a=c.getNodeShape(e),s=(r+C+(L+R))/r,u=(i+C+(L+R))/i,l=r*s,f=i*u,d=c.nodeShapes[a].points;if(g&&(o=F(l,f,a,d).path),"ellipse"===a)c.drawEllipsePath(o||t,n.x,n.y,l,f);else if(["round-diamond","round-heptagon","round-hexagon","round-octagon","round-pentagon","round-polygon","round-triangle","round-tag"].includes(a)){var p=0,v=0,b=0;"round-diamond"===a?p=1.4*(C+R+L):"round-heptagon"===a?(p=1.075*(C+R+L),b=-(C/2+R+L)/35):"round-hexagon"===a?p=1.12*(C+R+L):"round-pentagon"===a?(p=1.13*(C+R+L),b=-(C/2+R+L)/15):"round-tag"===a?(p=1.12*(C+R+L),v=.07*(C/2+L+R)):"round-triangle"===a&&(p=(C+R+L)*(Math.PI/2),b=-(C+R/2+L)/Math.PI),0!==p&&(s=(r+p)/r,u=(i+p)/i),c.drawRoundPolygonPath(o||t,n.x+v,n.y+b,r*s,i*u,d)}else["roundrectangle","round-rectangle"].includes(a)?c.drawRoundRectanglePath(o||t,n.x,n.y,l,f):["cutrectangle","cut-rectangle"].includes(a)?c.drawCutRectanglePath(o||t,n.x,n.y,l,f):["bottomroundrectangle","bottom-round-rectangle"].includes(a)?c.drawBottomRoundRectanglePath(o||t,n.x,n.y,l,f):"barrel"===a?c.drawBarrelPath(o||t,n.x,n.y,l,f):a.startsWith("polygon")||["rhomboid","right-rhomboid","round-tag","tag","vee"].includes(a)?(d=Oe(Le(d,(C+L+R)/r)),c.drawPolygonPath(o||t,n.x,n.y,r,i,d)):(d=Oe(Le(d,-(C+L+R)/r)),c.drawPolygonPath(o||t,n.x,n.y,r,i,d));if(g?t.stroke(o):t.stroke(),"double"===P){t.lineWidth=C/3;var y=t.globalCompositeOperation;t.globalCompositeOperation="destination-out",g?t.stroke(o):t.stroke(),t.globalCompositeOperation=y}t.setLineDash&&t.setLineDash([])}};if("yes"===e.pstyle("ghost").value){var Z=e.pstyle("ghost-offset-x").pfValue,K=e.pstyle("ghost-offset-y").pfValue,Q=e.pstyle("ghost-opacity").value,J=Q*p;t.translate(Z,K),B(),$(),j(Q*N),U(),V(J,!0),G(Q*O),W(),q(0!==T||0!==C),V(J,!1),X(J),t.translate(-Z,-K)}g&&t.translate(-h.x,-h.y),a&&c.drawNodeUnderlay(t,e,h,r,i),g&&t.translate(h.x,h.y),B(),$(),j(),U(),V(p,!0),G(),W(),q(0!==T||0!==C),V(p,!1),X(),g&&t.translate(-h.x,-h.y),c.drawElementText(t,e,null,o),a&&c.drawNodeOverlay(t,e,h,r,i),n&&t.translate(d.x1,d.y1)}}},Os=function(t){if(!["overlay","underlay"].includes(t))throw new Error("Invalid state");return function(e,n,r,i,o){if(n.visible()){var a=n.pstyle("".concat(t,"-padding")).pfValue,s=n.pstyle("".concat(t,"-opacity")).value,c=n.pstyle("".concat(t,"-color")).value,u=n.pstyle("".concat(t,"-shape")).value;if(s>0){if(r=r||n.position(),null==i||null==o){var l=n.padding();i=n.width()+2*l,o=n.height()+2*l}this.colorFillStyle(e,c[0],c[1],c[2],s),this.nodeShapes[u].draw(e,r.x,r.y,i+2*a,o+2*a),e.fill()}}}};Ss.drawNodeOverlay=Os("overlay"),Ss.drawNodeUnderlay=Os("underlay"),Ss.hasPie=function(t){return(t=t[0])._private.hasPie},Ss.drawPie=function(t,e,n,r){e=e[0],r=r||e.position();var i=e.cy().style(),o=e.pstyle("pie-size"),a=r.x,s=r.y,c=e.width(),u=e.height(),l=Math.min(c,u)/2,h=0;this.usePaths()&&(a=0,s=0),"%"===o.units?l*=o.pfValue:void 0!==o.pfValue&&(l=o.pfValue/2);for(var f=1;f<=i.pieBackgroundN;f++){var d=e.pstyle("pie-"+f+"-background-size").value,p=e.pstyle("pie-"+f+"-background-color").value,g=e.pstyle("pie-"+f+"-background-opacity").value*n,v=d/100;v+h>1&&(v=1-h);var b=1.5*Math.PI+2*Math.PI*h,y=b+2*Math.PI*v;0===d||h>=1||h+v>1||(t.beginPath(),t.moveTo(a,s),t.arc(a,s,l,b,y),t.closePath(),this.colorFillStyle(t,p[0],p[1],p[2],g),t.fill(),h+=v)}};for(var Ls={getPixelRatio:function(){var t=this.data.contexts[0];if(null!=this.forcedPixelRatio)return this.forcedPixelRatio;var e=t.backingStorePixelRatio||t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1;return(window.devicePixelRatio||1)/e},paintCache:function(t){for(var e,n=this.paintCaches=this.paintCaches||[],r=!0,i=0;ia.minMbLowQualFrames&&(a.motionBlurPxRatio=a.mbPxRBlurry)),a.clearingMotionBlur&&(a.motionBlurPxRatio=1),a.textureDrawLastFrame&&!h&&(l[a.NODE]=!0,l[a.SELECT_BOX]=!0);var y=c.style(),m=c.zoom(),w=void 0!==i?i:m,x=c.pan(),_={x:x.x,y:x.y},E={zoom:m,pan:{x:x.x,y:x.y}},k=a.prevViewport;void 0===k||E.zoom!==k.zoom||E.pan.x!==k.pan.x||E.pan.y!==k.pan.y||g&&!p||(a.motionBlurPxRatio=1),o&&(_=o),w*=s,_.x*=s,_.y*=s;var T=a.getCachedZSortedEles();function C(t,e,n,r,i){var o=t.globalCompositeOperation;t.globalCompositeOperation="destination-out",a.colorFillStyle(t,255,255,255,a.motionBlurTransparency),t.fillRect(e,n,r,i),t.globalCompositeOperation=o}function N(t,r){var s,c,l,h;a.clearingMotionBlur||t!==u.bufferContexts[a.MOTIONBLUR_BUFFER_NODE]&&t!==u.bufferContexts[a.MOTIONBLUR_BUFFER_DRAG]?(s=_,c=w,l=a.canvasWidth,h=a.canvasHeight):(s={x:x.x*d,y:x.y*d},c=m*d,l=a.canvasWidth*d,h=a.canvasHeight*d),t.setTransform(1,0,0,1,0,0),"motionBlur"===r?C(t,0,0,l,h):e||void 0!==r&&!r||t.clearRect(0,0,l,h),n||(t.translate(s.x,s.y),t.scale(c,c)),o&&t.translate(o.x,o.y),i&&t.scale(i,i)}if(h||(a.textureDrawLastFrame=!1),h){if(a.textureDrawLastFrame=!0,!a.textureCache){a.textureCache={},a.textureCache.bb=c.mutableElements().boundingBox(),a.textureCache.texture=a.data.bufferCanvases[a.TEXTURE_BUFFER];var A=a.data.bufferContexts[a.TEXTURE_BUFFER];A.setTransform(1,0,0,1,0,0),A.clearRect(0,0,a.canvasWidth*a.textureMult,a.canvasHeight*a.textureMult),a.render({forcedContext:A,drawOnlyNodeLayer:!0,forcedPxRatio:s*a.textureMult}),(E=a.textureCache.viewport={zoom:c.zoom(),pan:c.pan(),width:a.canvasWidth,height:a.canvasHeight}).mpan={x:(0-E.pan.x)/E.zoom,y:(0-E.pan.y)/E.zoom}}l[a.DRAG]=!1,l[a.NODE]=!1;var S=u.contexts[a.NODE],O=a.textureCache.texture;E=a.textureCache.viewport,S.setTransform(1,0,0,1,0,0),f?C(S,0,0,E.width,E.height):S.clearRect(0,0,E.width,E.height);var L=y.core("outside-texture-bg-color").value,I=y.core("outside-texture-bg-opacity").value;a.colorFillStyle(S,L[0],L[1],L[2],I),S.fillRect(0,0,E.width,E.height),m=c.zoom(),N(S,!1),S.clearRect(E.mpan.x,E.mpan.y,E.width/E.zoom/s,E.height/E.zoom/s),S.drawImage(O,E.mpan.x,E.mpan.y,E.width/E.zoom/s,E.height/E.zoom/s)}else a.textureOnViewport&&!e&&(a.textureCache=null);var M=c.extent(),P=a.pinching||a.hoverData.dragging||a.swipePanning||a.data.wheelZooming||a.hoverData.draggingEles||a.cy.animated(),D=a.hideEdgesOnViewport&&P,R=[];if(R[a.NODE]=!l[a.NODE]&&f&&!a.clearedForMotionBlur[a.NODE]||a.clearingMotionBlur,R[a.NODE]&&(a.clearedForMotionBlur[a.NODE]=!0),R[a.DRAG]=!l[a.DRAG]&&f&&!a.clearedForMotionBlur[a.DRAG]||a.clearingMotionBlur,R[a.DRAG]&&(a.clearedForMotionBlur[a.DRAG]=!0),l[a.NODE]||n||r||R[a.NODE]){var j=f&&!R[a.NODE]&&1!==d;N(S=e||(j?a.data.bufferContexts[a.MOTIONBLUR_BUFFER_NODE]:u.contexts[a.NODE]),f&&!j?"motionBlur":void 0),D?a.drawCachedNodes(S,T.nondrag,s,M):a.drawLayeredElements(S,T.nondrag,s,M),a.debug&&a.drawDebugPoints(S,T.nondrag),n||f||(l[a.NODE]=!1)}if(!r&&(l[a.DRAG]||n||R[a.DRAG])&&(j=f&&!R[a.DRAG]&&1!==d,N(S=e||(j?a.data.bufferContexts[a.MOTIONBLUR_BUFFER_DRAG]:u.contexts[a.DRAG]),f&&!j?"motionBlur":void 0),D?a.drawCachedNodes(S,T.drag,s,M):a.drawCachedElements(S,T.drag,s,M),a.debug&&a.drawDebugPoints(S,T.drag),n||f||(l[a.DRAG]=!1)),a.showFps||!r&&l[a.SELECT_BOX]&&!n){if(N(S=e||u.contexts[a.SELECT_BOX]),1==a.selection[4]&&(a.hoverData.selecting||a.touchData.selecting)){m=a.cy.zoom();var G=y.core("selection-box-border-width").value/m;S.lineWidth=G,S.fillStyle="rgba("+y.core("selection-box-color").value[0]+","+y.core("selection-box-color").value[1]+","+y.core("selection-box-color").value[2]+","+y.core("selection-box-opacity").value+")",S.fillRect(a.selection[0],a.selection[1],a.selection[2]-a.selection[0],a.selection[3]-a.selection[1]),G>0&&(S.strokeStyle="rgba("+y.core("selection-box-border-color").value[0]+","+y.core("selection-box-border-color").value[1]+","+y.core("selection-box-border-color").value[2]+","+y.core("selection-box-opacity").value+")",S.strokeRect(a.selection[0],a.selection[1],a.selection[2]-a.selection[0],a.selection[3]-a.selection[1]))}if(u.bgActivePosistion&&!a.hoverData.selecting){m=a.cy.zoom();var B=u.bgActivePosistion;S.fillStyle="rgba("+y.core("active-bg-color").value[0]+","+y.core("active-bg-color").value[1]+","+y.core("active-bg-color").value[2]+","+y.core("active-bg-opacity").value+")",S.beginPath(),S.arc(B.x,B.y,y.core("active-bg-size").pfValue/m,0,2*Math.PI),S.fill()}var F=a.lastRedrawTime;if(a.showFps&&F){F=Math.round(F);var H=Math.round(1e3/F);S.setTransform(1,0,0,1,0,0),S.fillStyle="rgba(255, 0, 0, 0.75)",S.strokeStyle="rgba(255, 0, 0, 0.75)",S.lineWidth=1,S.fillText("1 frame = "+F+" ms = "+H+" fps",0,20),S.strokeRect(0,30,250,20),S.fillRect(0,30,250*Math.min(H/60,1),20)}n||(l[a.SELECT_BOX]=!1)}if(f&&1!==d){var Y=u.contexts[a.NODE],z=a.data.bufferCanvases[a.MOTIONBLUR_BUFFER_NODE],U=u.contexts[a.DRAG],V=a.data.bufferCanvases[a.MOTIONBLUR_BUFFER_DRAG],q=function(t,e,n){t.setTransform(1,0,0,1,0,0),n||!b?t.clearRect(0,0,a.canvasWidth,a.canvasHeight):C(t,0,0,a.canvasWidth,a.canvasHeight);var r=d;t.drawImage(e,0,0,a.canvasWidth*r,a.canvasHeight*r,0,0,a.canvasWidth,a.canvasHeight)};(l[a.NODE]||R[a.NODE])&&(q(Y,z,R[a.NODE]),l[a.NODE]=!1),(l[a.DRAG]||R[a.DRAG])&&(q(U,V,R[a.DRAG]),l[a.DRAG]=!1)}a.prevViewport=E,a.clearingMotionBlur&&(a.clearingMotionBlur=!1,a.motionBlurCleared=!0,a.motionBlur=!0),f&&(a.motionBlurTimeout=setTimeout((function(){a.motionBlurTimeout=null,a.clearedForMotionBlur[a.NODE]=!1,a.clearedForMotionBlur[a.DRAG]=!1,a.motionBlur=!1,a.clearingMotionBlur=!h,a.mbFrames=0,l[a.NODE]=!0,l[a.DRAG]=!0,a.redraw()}),100)),e||c.emit("render")}},Is={drawPolygonPath:function(t,e,n,r,i,o){var a=r/2,s=i/2;t.beginPath&&t.beginPath(),t.moveTo(e+a*o[0],n+s*o[1]);for(var c=1;c0&&o>0){f.clearRect(0,0,i,o),f.globalCompositeOperation="source-over";var d=this.getCachedZSortedEles();if(t.full)f.translate(-n.x1*c,-n.y1*c),f.scale(c,c),this.drawElements(f,d),f.scale(1/c,1/c),f.translate(n.x1*c,n.y1*c);else{var p=e.pan(),g={x:p.x*c,y:p.y*c};c*=e.zoom(),f.translate(g.x,g.y),f.scale(c,c),this.drawElements(f,d),f.scale(1/c,1/c),f.translate(-g.x,-g.y)}t.bg&&(f.globalCompositeOperation="destination-over",f.fillStyle=t.bg,f.rect(0,0,i,o),f.fill())}return h},Bs.png=function(t){return Hs(t,this.bufferCanvasImage(t),"image/png")},Bs.jpg=function(t){return Hs(t,this.bufferCanvasImage(t),"image/jpeg")};var Ys=Us,zs=Us.prototype;function Us(t){var e=this;e.data={canvases:new Array(zs.CANVAS_LAYERS),contexts:new Array(zs.CANVAS_LAYERS),canvasNeedsRedraw:new Array(zs.CANVAS_LAYERS),bufferCanvases:new Array(zs.BUFFER_COUNT),bufferContexts:new Array(zs.CANVAS_LAYERS)};var n="-webkit-tap-highlight-color",r="rgba(0,0,0,0)";e.data.canvasContainer=document.createElement("div");var i=e.data.canvasContainer.style;e.data.canvasContainer.style[n]=r,i.position="relative",i.zIndex="0",i.overflow="hidden";var o=t.cy.container();o.appendChild(e.data.canvasContainer),o.style[n]=r;var a={"-webkit-user-select":"none","-moz-user-select":"-moz-none","user-select":"none","-webkit-tap-highlight-color":"rgba(0,0,0,0)","outline-style":"none"};_&&_.userAgent.match(/msie|trident|edge/i)&&(a["-ms-touch-action"]="none",a["touch-action"]="none");for(var s=0;s{t.exports={graphlib:n(574),layout:n(8123),debug:n(7570),util:{time:n(7266).time,notime:n(7266).notime},version:n(8177)}},2188:(t,e,n)=>{"use strict";var r=n(8436),i=n(4079);t.exports={run:function(t){var e="greedy"===t.graph().acyclicer?i(t,function(t){return function(e){return t.edge(e).weight}}(t)):function(t){var e=[],n={},i={};return r.forEach(t.nodes(),(function o(a){r.has(i,a)||(i[a]=!0,n[a]=!0,r.forEach(t.outEdges(a),(function(t){r.has(n,t.w)?e.push(t):o(t.w)})),delete n[a])})),e}(t);r.forEach(e,(function(e){var n=t.edge(e);t.removeEdge(e),n.forwardName=e.name,n.reversed=!0,t.setEdge(e.w,e.v,n,r.uniqueId("rev"))}))},undo:function(t){r.forEach(t.edges(),(function(e){var n=t.edge(e);if(n.reversed){t.removeEdge(e);var r=n.forwardName;delete n.reversed,delete n.forwardName,t.setEdge(e.w,e.v,n,r)}}))}}},1133:(t,e,n)=>{var r=n(8436),i=n(7266);function o(t,e,n,r,o,a){var s={width:0,height:0,rank:a,borderType:e},c=o[e][a-1],u=i.addDummyNode(t,"border",s,n);o[e][a]=u,t.setParent(u,r),c&&t.setEdge(c,u,{weight:1})}t.exports=function(t){r.forEach(t.children(),(function e(n){var i=t.children(n),a=t.node(n);if(i.length&&r.forEach(i,e),r.has(a,"minRank")){a.borderLeft=[],a.borderRight=[];for(var s=a.minRank,c=a.maxRank+1;s{"use strict";var r=n(8436);function i(t){r.forEach(t.nodes(),(function(e){o(t.node(e))})),r.forEach(t.edges(),(function(e){o(t.edge(e))}))}function o(t){var e=t.width;t.width=t.height,t.height=e}function a(t){t.y=-t.y}function s(t){var e=t.x;t.x=t.y,t.y=e}t.exports={adjust:function(t){var e=t.graph().rankdir.toLowerCase();"lr"!==e&&"rl"!==e||i(t)},undo:function(t){var e=t.graph().rankdir.toLowerCase();"bt"!==e&&"rl"!==e||function(t){r.forEach(t.nodes(),(function(e){a(t.node(e))})),r.forEach(t.edges(),(function(e){var n=t.edge(e);r.forEach(n.points,a),r.has(n,"y")&&a(n)}))}(t),"lr"!==e&&"rl"!==e||(function(t){r.forEach(t.nodes(),(function(e){s(t.node(e))})),r.forEach(t.edges(),(function(e){var n=t.edge(e);r.forEach(n.points,s),r.has(n,"x")&&s(n)}))}(t),i(t))}}},7822:t=>{function e(){var t={};t._next=t._prev=t,this._sentinel=t}function n(t){t._prev._next=t._next,t._next._prev=t._prev,delete t._next,delete t._prev}function r(t,e){if("_next"!==t&&"_prev"!==t)return e}t.exports=e,e.prototype.dequeue=function(){var t=this._sentinel,e=t._prev;if(e!==t)return n(e),e},e.prototype.enqueue=function(t){var e=this._sentinel;t._prev&&t._next&&n(t),t._next=e._next,e._next._prev=t,e._next=t,t._prev=e},e.prototype.toString=function(){for(var t=[],e=this._sentinel,n=e._prev;n!==e;)t.push(JSON.stringify(n,r)),n=n._prev;return"["+t.join(", ")+"]"}},7570:(t,e,n)=>{var r=n(8436),i=n(7266),o=n(574).Graph;t.exports={debugOrdering:function(t){var e=i.buildLayerMatrix(t),n=new o({compound:!0,multigraph:!0}).setGraph({});return r.forEach(t.nodes(),(function(e){n.setNode(e,{label:e}),n.setParent(e,"layer"+t.node(e).rank)})),r.forEach(t.edges(),(function(t){n.setEdge(t.v,t.w,{},t.name)})),r.forEach(e,(function(t,e){var i="layer"+e;n.setNode(i,{rank:"same"}),r.reduce(t,(function(t,e){return n.setEdge(t,e,{style:"invis"}),e}))})),n}}},574:(t,e,n)=>{var r;try{r=n(8282)}catch(t){}r||(r=window.graphlib),t.exports=r},4079:(t,e,n)=>{var r=n(8436),i=n(574).Graph,o=n(7822);t.exports=function(t,e){if(t.nodeCount()<=1)return[];var n=function(t,e){var n=new i,a=0,s=0;r.forEach(t.nodes(),(function(t){n.setNode(t,{v:t,in:0,out:0})})),r.forEach(t.edges(),(function(t){var r=n.edge(t.v,t.w)||0,i=e(t),o=r+i;n.setEdge(t.v,t.w,o),s=Math.max(s,n.node(t.v).out+=i),a=Math.max(a,n.node(t.w).in+=i)}));var u=r.range(s+a+3).map((function(){return new o})),l=a+1;return r.forEach(n.nodes(),(function(t){c(u,l,n.node(t))})),{graph:n,buckets:u,zeroIdx:l}}(t,e||a),u=function(t,e,n){for(var r,i=[],o=e[e.length-1],a=e[0];t.nodeCount();){for(;r=a.dequeue();)s(t,e,n,r);for(;r=o.dequeue();)s(t,e,n,r);if(t.nodeCount())for(var c=e.length-2;c>0;--c)if(r=e[c].dequeue()){i=i.concat(s(t,e,n,r,!0));break}}return i}(n.graph,n.buckets,n.zeroIdx);return r.flatten(r.map(u,(function(e){return t.outEdges(e.v,e.w)})),!0)};var a=r.constant(1);function s(t,e,n,i,o){var a=o?[]:void 0;return r.forEach(t.inEdges(i.v),(function(r){var i=t.edge(r),s=t.node(r.v);o&&a.push({v:r.v,w:r.w}),s.out-=i,c(e,n,s)})),r.forEach(t.outEdges(i.v),(function(r){var i=t.edge(r),o=r.w,a=t.node(o);a.in-=i,c(e,n,a)})),t.removeNode(i.v),a}function c(t,e,n){n.out?n.in?t[n.out-n.in+e].enqueue(n):t[t.length-1].enqueue(n):t[0].enqueue(n)}},8123:(t,e,n)=>{"use strict";var r=n(8436),i=n(2188),o=n(5995),a=n(8093),s=n(7266).normalizeRanks,c=n(4219),u=n(7266).removeEmptyRanks,l=n(2981),h=n(1133),f=n(3258),d=n(3408),p=n(7873),g=n(7266),v=n(574).Graph;t.exports=function(t,e){var n=e&&e.debugTiming?g.time:g.notime;n("layout",(function(){var e=n(" buildLayoutGraph",(function(){return function(t){var e=new v({multigraph:!0,compound:!0}),n=C(t.graph());return e.setGraph(r.merge({},y,T(n,b),r.pick(n,m))),r.forEach(t.nodes(),(function(n){var i=C(t.node(n));e.setNode(n,r.defaults(T(i,w),x)),e.setParent(n,t.parent(n))})),r.forEach(t.edges(),(function(n){var i=C(t.edge(n));e.setEdge(n,r.merge({},E,T(i,_),r.pick(i,k)))})),e}(t)}));n(" runLayout",(function(){!function(t,e){e(" makeSpaceForEdgeLabels",(function(){!function(t){var e=t.graph();e.ranksep/=2,r.forEach(t.edges(),(function(n){var r=t.edge(n);r.minlen*=2,"c"!==r.labelpos.toLowerCase()&&("TB"===e.rankdir||"BT"===e.rankdir?r.width+=r.labeloffset:r.height+=r.labeloffset)}))}(t)})),e(" removeSelfEdges",(function(){!function(t){r.forEach(t.edges(),(function(e){if(e.v===e.w){var n=t.node(e.v);n.selfEdges||(n.selfEdges=[]),n.selfEdges.push({e,label:t.edge(e)}),t.removeEdge(e)}}))}(t)})),e(" acyclic",(function(){i.run(t)})),e(" nestingGraph.run",(function(){l.run(t)})),e(" rank",(function(){a(g.asNonCompoundGraph(t))})),e(" injectEdgeLabelProxies",(function(){!function(t){r.forEach(t.edges(),(function(e){var n=t.edge(e);if(n.width&&n.height){var r=t.node(e.v),i={rank:(t.node(e.w).rank-r.rank)/2+r.rank,e};g.addDummyNode(t,"edge-proxy",i,"_ep")}}))}(t)})),e(" removeEmptyRanks",(function(){u(t)})),e(" nestingGraph.cleanup",(function(){l.cleanup(t)})),e(" normalizeRanks",(function(){s(t)})),e(" assignRankMinMax",(function(){!function(t){var e=0;r.forEach(t.nodes(),(function(n){var i=t.node(n);i.borderTop&&(i.minRank=t.node(i.borderTop).rank,i.maxRank=t.node(i.borderBottom).rank,e=r.max(e,i.maxRank))})),t.graph().maxRank=e}(t)})),e(" removeEdgeLabelProxies",(function(){!function(t){r.forEach(t.nodes(),(function(e){var n=t.node(e);"edge-proxy"===n.dummy&&(t.edge(n.e).labelRank=n.rank,t.removeNode(e))}))}(t)})),e(" normalize.run",(function(){o.run(t)})),e(" parentDummyChains",(function(){c(t)})),e(" addBorderSegments",(function(){h(t)})),e(" order",(function(){d(t)})),e(" insertSelfEdges",(function(){!function(t){var e=g.buildLayerMatrix(t);r.forEach(e,(function(e){var n=0;r.forEach(e,(function(e,i){var o=t.node(e);o.order=i+n,r.forEach(o.selfEdges,(function(e){g.addDummyNode(t,"selfedge",{width:e.label.width,height:e.label.height,rank:o.rank,order:i+ ++n,e:e.e,label:e.label},"_se")})),delete o.selfEdges}))}))}(t)})),e(" adjustCoordinateSystem",(function(){f.adjust(t)})),e(" position",(function(){p(t)})),e(" positionSelfEdges",(function(){!function(t){r.forEach(t.nodes(),(function(e){var n=t.node(e);if("selfedge"===n.dummy){var r=t.node(n.e.v),i=r.x+r.width/2,o=r.y,a=n.x-i,s=r.height/2;t.setEdge(n.e,n.label),t.removeNode(e),n.label.points=[{x:i+2*a/3,y:o-s},{x:i+5*a/6,y:o-s},{x:i+a,y:o},{x:i+5*a/6,y:o+s},{x:i+2*a/3,y:o+s}],n.label.x=n.x,n.label.y=n.y}}))}(t)})),e(" removeBorderNodes",(function(){!function(t){r.forEach(t.nodes(),(function(e){if(t.children(e).length){var n=t.node(e),i=t.node(n.borderTop),o=t.node(n.borderBottom),a=t.node(r.last(n.borderLeft)),s=t.node(r.last(n.borderRight));n.width=Math.abs(s.x-a.x),n.height=Math.abs(o.y-i.y),n.x=a.x+n.width/2,n.y=i.y+n.height/2}})),r.forEach(t.nodes(),(function(e){"border"===t.node(e).dummy&&t.removeNode(e)}))}(t)})),e(" normalize.undo",(function(){o.undo(t)})),e(" fixupEdgeLabelCoords",(function(){!function(t){r.forEach(t.edges(),(function(e){var n=t.edge(e);if(r.has(n,"x"))switch("l"!==n.labelpos&&"r"!==n.labelpos||(n.width-=n.labeloffset),n.labelpos){case"l":n.x-=n.width/2+n.labeloffset;break;case"r":n.x+=n.width/2+n.labeloffset}}))}(t)})),e(" undoCoordinateSystem",(function(){f.undo(t)})),e(" translateGraph",(function(){!function(t){var e=Number.POSITIVE_INFINITY,n=0,i=Number.POSITIVE_INFINITY,o=0,a=t.graph(),s=a.marginx||0,c=a.marginy||0;function u(t){var r=t.x,a=t.y,s=t.width,c=t.height;e=Math.min(e,r-s/2),n=Math.max(n,r+s/2),i=Math.min(i,a-c/2),o=Math.max(o,a+c/2)}r.forEach(t.nodes(),(function(e){u(t.node(e))})),r.forEach(t.edges(),(function(e){var n=t.edge(e);r.has(n,"x")&&u(n)})),e-=s,i-=c,r.forEach(t.nodes(),(function(n){var r=t.node(n);r.x-=e,r.y-=i})),r.forEach(t.edges(),(function(n){var o=t.edge(n);r.forEach(o.points,(function(t){t.x-=e,t.y-=i})),r.has(o,"x")&&(o.x-=e),r.has(o,"y")&&(o.y-=i)})),a.width=n-e+s,a.height=o-i+c}(t)})),e(" assignNodeIntersects",(function(){!function(t){r.forEach(t.edges(),(function(e){var n,r,i=t.edge(e),o=t.node(e.v),a=t.node(e.w);i.points?(n=i.points[0],r=i.points[i.points.length-1]):(i.points=[],n=a,r=o),i.points.unshift(g.intersectRect(o,n)),i.points.push(g.intersectRect(a,r))}))}(t)})),e(" reversePoints",(function(){!function(t){r.forEach(t.edges(),(function(e){var n=t.edge(e);n.reversed&&n.points.reverse()}))}(t)})),e(" acyclic.undo",(function(){i.undo(t)}))}(e,n)})),n(" updateInputGraph",(function(){!function(t,e){r.forEach(t.nodes(),(function(n){var r=t.node(n),i=e.node(n);r&&(r.x=i.x,r.y=i.y,e.children(n).length&&(r.width=i.width,r.height=i.height))})),r.forEach(t.edges(),(function(n){var i=t.edge(n),o=e.edge(n);i.points=o.points,r.has(o,"x")&&(i.x=o.x,i.y=o.y)})),t.graph().width=e.graph().width,t.graph().height=e.graph().height}(t,e)}))}))};var b=["nodesep","edgesep","ranksep","marginx","marginy"],y={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},m=["acyclicer","ranker","rankdir","align"],w=["width","height"],x={width:0,height:0},_=["minlen","weight","width","height","labeloffset"],E={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},k=["labelpos"];function T(t,e){return r.mapValues(r.pick(t,e),Number)}function C(t){var e={};return r.forEach(t,(function(t,n){e[n.toLowerCase()]=t})),e}},8436:(t,e,n)=>{var r;try{r={cloneDeep:n(361),constant:n(5703),defaults:n(1747),each:n(6073),filter:n(3105),find:n(3311),flatten:n(5564),forEach:n(4486),forIn:n(2620),has:n(8721),isUndefined:n(2353),last:n(928),map:n(5161),mapValues:n(6604),max:n(6162),merge:n(3857),min:n(3632),minBy:n(2762),now:n(7771),pick:n(9722),range:n(6026),reduce:n(4061),sortBy:n(9734),uniqueId:n(3955),values:n(2628),zipObject:n(7287)}}catch(t){}r||(r=window._),t.exports=r},2981:(t,e,n)=>{var r=n(8436),i=n(7266);function o(t,e,n,a,s,c,u){var l=t.children(u);if(l.length){var h=i.addBorderNode(t,"_bt"),f=i.addBorderNode(t,"_bb"),d=t.node(u);t.setParent(h,u),d.borderTop=h,t.setParent(f,u),d.borderBottom=f,r.forEach(l,(function(r){o(t,e,n,a,s,c,r);var i=t.node(r),l=i.borderTop?i.borderTop:r,d=i.borderBottom?i.borderBottom:r,p=i.borderTop?a:2*a,g=l!==d?1:s-c[u]+1;t.setEdge(h,l,{weight:p,minlen:g,nestingEdge:!0}),t.setEdge(d,f,{weight:p,minlen:g,nestingEdge:!0})})),t.parent(u)||t.setEdge(e,h,{weight:0,minlen:s+c[u]})}else u!==e&&t.setEdge(e,u,{weight:0,minlen:n})}t.exports={run:function(t){var e=i.addDummyNode(t,"root",{},"_root"),n=function(t){var e={};function n(i,o){var a=t.children(i);a&&a.length&&r.forEach(a,(function(t){n(t,o+1)})),e[i]=o}return r.forEach(t.children(),(function(t){n(t,1)})),e}(t),a=r.max(r.values(n))-1,s=2*a+1;t.graph().nestingRoot=e,r.forEach(t.edges(),(function(e){t.edge(e).minlen*=s}));var c=function(t){return r.reduce(t.edges(),(function(e,n){return e+t.edge(n).weight}),0)}(t)+1;r.forEach(t.children(),(function(r){o(t,e,s,c,a,n,r)})),t.graph().nodeRankFactor=s},cleanup:function(t){var e=t.graph();t.removeNode(e.nestingRoot),delete e.nestingRoot,r.forEach(t.edges(),(function(e){t.edge(e).nestingEdge&&t.removeEdge(e)}))}}},5995:(t,e,n)=>{"use strict";var r=n(8436),i=n(7266);t.exports={run:function(t){t.graph().dummyChains=[],r.forEach(t.edges(),(function(e){!function(t,e){var n,r,o,a=e.v,s=t.node(a).rank,c=e.w,u=t.node(c).rank,l=e.name,h=t.edge(e),f=h.labelRank;if(u!==s+1){for(t.removeEdge(e),o=0,++s;s{var r=n(8436);t.exports=function(t,e,n){var i,o={};r.forEach(n,(function(n){for(var r,a,s=t.parent(n);s;){if((r=t.parent(s))?(a=o[r],o[r]=s):(a=i,i=s),a&&a!==s)return void e.setEdge(a,s);s=r}}))}},5439:(t,e,n)=>{var r=n(8436);t.exports=function(t,e){return r.map(e,(function(e){var n=t.inEdges(e);if(n.length){var i=r.reduce(n,(function(e,n){var r=t.edge(n),i=t.node(n.v);return{sum:e.sum+r.weight*i.order,weight:e.weight+r.weight}}),{sum:0,weight:0});return{v:e,barycenter:i.sum/i.weight,weight:i.weight}}return{v:e}}))}},3128:(t,e,n)=>{var r=n(8436),i=n(574).Graph;t.exports=function(t,e,n){var o=function(t){for(var e;t.hasNode(e=r.uniqueId("_root")););return e}(t),a=new i({compound:!0}).setGraph({root:o}).setDefaultNodeLabel((function(e){return t.node(e)}));return r.forEach(t.nodes(),(function(i){var s=t.node(i),c=t.parent(i);(s.rank===e||s.minRank<=e&&e<=s.maxRank)&&(a.setNode(i),a.setParent(i,c||o),r.forEach(t[n](i),(function(e){var n=e.v===i?e.w:e.v,o=a.edge(n,i),s=r.isUndefined(o)?0:o.weight;a.setEdge(n,i,{weight:t.edge(e).weight+s})})),r.has(s,"minRank")&&a.setNode(i,{borderLeft:s.borderLeft[e],borderRight:s.borderRight[e]}))})),a}},6630:(t,e,n)=>{"use strict";var r=n(8436);function i(t,e,n){for(var i=r.zipObject(n,r.map(n,(function(t,e){return e}))),o=r.flatten(r.map(e,(function(e){return r.sortBy(r.map(t.outEdges(e),(function(e){return{pos:i[e.w],weight:t.edge(e).weight}})),"pos")})),!0),a=1;a0;)e%2&&(n+=c[e+1]),c[e=e-1>>1]+=t.weight;u+=t.weight*n}))),u}t.exports=function(t,e){for(var n=0,r=1;r{"use strict";var r=n(8436),i=n(2588),o=n(6630),a=n(1026),s=n(3128),c=n(5093),u=n(574).Graph,l=n(7266);function h(t,e,n){return r.map(e,(function(e){return s(t,e,n)}))}function f(t,e){var n=new u;r.forEach(t,(function(t){var i=t.graph().root,o=a(t,i,n,e);r.forEach(o.vs,(function(e,n){t.node(e).order=n})),c(t,n,o.vs)}))}function d(t,e){r.forEach(e,(function(e){r.forEach(e,(function(e,n){t.node(e).order=n}))}))}t.exports=function(t){var e=l.maxRank(t),n=h(t,r.range(1,e+1),"inEdges"),a=h(t,r.range(e-1,-1,-1),"outEdges"),s=i(t);d(t,s);for(var c,u=Number.POSITIVE_INFINITY,p=0,g=0;g<4;++p,++g){f(p%2?n:a,p%4>=2),s=l.buildLayerMatrix(t);var v=o(t,s);v{"use strict";var r=n(8436);t.exports=function(t){var e={},n=r.filter(t.nodes(),(function(e){return!t.children(e).length})),i=r.max(r.map(n,(function(e){return t.node(e).rank}))),o=r.map(r.range(i+1),(function(){return[]})),a=r.sortBy(n,(function(e){return t.node(e).rank}));return r.forEach(a,(function n(i){if(!r.has(e,i)){e[i]=!0;var a=t.node(i);o[a.rank].push(i),r.forEach(t.successors(i),n)}})),o}},9567:(t,e,n)=>{"use strict";var r=n(8436);t.exports=function(t,e){var n={};return r.forEach(t,(function(t,e){var i=n[t.v]={indegree:0,in:[],out:[],vs:[t.v],i:e};r.isUndefined(t.barycenter)||(i.barycenter=t.barycenter,i.weight=t.weight)})),r.forEach(e.edges(),(function(t){var e=n[t.v],i=n[t.w];r.isUndefined(e)||r.isUndefined(i)||(i.indegree++,e.out.push(n[t.w]))})),function(t){var e=[];function n(t){return function(e){var n,i,o,a;e.merged||(r.isUndefined(e.barycenter)||r.isUndefined(t.barycenter)||e.barycenter>=t.barycenter)&&(i=e,o=0,a=0,(n=t).weight&&(o+=n.barycenter*n.weight,a+=n.weight),i.weight&&(o+=i.barycenter*i.weight,a+=i.weight),n.vs=i.vs.concat(n.vs),n.barycenter=o/a,n.weight=a,n.i=Math.min(i.i,n.i),i.merged=!0)}}function i(e){return function(n){n.in.push(e),0==--n.indegree&&t.push(n)}}for(;t.length;){var o=t.pop();e.push(o),r.forEach(o.in.reverse(),n(o)),r.forEach(o.out,i(o))}return r.map(r.filter(e,(function(t){return!t.merged})),(function(t){return r.pick(t,["vs","i","barycenter","weight"])}))}(r.filter(n,(function(t){return!t.indegree})))}},1026:(t,e,n)=>{var r=n(8436),i=n(5439),o=n(9567),a=n(7304);t.exports=function t(e,n,s,c){var u=e.children(n),l=e.node(n),h=l?l.borderLeft:void 0,f=l?l.borderRight:void 0,d={};h&&(u=r.filter(u,(function(t){return t!==h&&t!==f})));var p=i(e,u);r.forEach(p,(function(n){if(e.children(n.v).length){var i=t(e,n.v,s,c);d[n.v]=i,r.has(i,"barycenter")&&(o=n,a=i,r.isUndefined(o.barycenter)?(o.barycenter=a.barycenter,o.weight=a.weight):(o.barycenter=(o.barycenter*o.weight+a.barycenter*a.weight)/(o.weight+a.weight),o.weight+=a.weight))}var o,a}));var g=o(p,s);!function(t,e){r.forEach(t,(function(t){t.vs=r.flatten(t.vs.map((function(t){return e[t]?e[t].vs:t})),!0)}))}(g,d);var v=a(g,c);if(h&&(v.vs=r.flatten([h,v.vs,f],!0),e.predecessors(h).length)){var b=e.node(e.predecessors(h)[0]),y=e.node(e.predecessors(f)[0]);r.has(v,"barycenter")||(v.barycenter=0,v.weight=0),v.barycenter=(v.barycenter*v.weight+b.order+y.order)/(v.weight+2),v.weight+=2}return v}},7304:(t,e,n)=>{var r=n(8436),i=n(7266);function o(t,e,n){for(var i;e.length&&(i=r.last(e)).i<=n;)e.pop(),t.push(i.vs),n++;return n}t.exports=function(t,e){var n,a=i.partition(t,(function(t){return r.has(t,"barycenter")})),s=a.lhs,c=r.sortBy(a.rhs,(function(t){return-t.i})),u=[],l=0,h=0,f=0;s.sort((n=!!e,function(t,e){return t.barycentere.barycenter?1:n?e.i-t.i:t.i-e.i})),f=o(u,c,f),r.forEach(s,(function(t){f+=t.vs.length,u.push(t.vs),l+=t.barycenter*t.weight,h+=t.weight,f=o(u,c,f)}));var d={vs:r.flatten(u,!0)};return h&&(d.barycenter=l/h,d.weight=h),d}},4219:(t,e,n)=>{var r=n(8436);t.exports=function(t){var e=function(t){var e={},n=0;return r.forEach(t.children(),(function i(o){var a=n;r.forEach(t.children(o),i),e[o]={low:a,lim:n++}})),e}(t);r.forEach(t.graph().dummyChains,(function(n){for(var r=t.node(n),i=r.edgeObj,o=function(t,e,n,r){var i,o,a=[],s=[],c=Math.min(e[n].low,e[r].low),u=Math.max(e[n].lim,e[r].lim);i=n;do{i=t.parent(i),a.push(i)}while(i&&(e[i].low>c||u>e[i].lim));for(o=i,i=r;(i=t.parent(i))!==o;)s.push(i);return{path:a.concat(s.reverse()),lca:o}}(t,e,i.v,i.w),a=o.path,s=o.lca,c=0,u=a[c],l=!0;n!==i.w;){if(r=t.node(n),l){for(;(u=a[c])!==s&&t.node(u).maxRank{"use strict";var r=n(8436),i=n(574).Graph,o=n(7266);function a(t,e){var n={};return r.reduce(e,(function(e,i){var o=0,a=0,s=e.length,u=r.last(i);return r.forEach(i,(function(e,l){var h=function(t,e){if(t.node(e).dummy)return r.find(t.predecessors(e),(function(e){return t.node(e).dummy}))}(t,e),f=h?t.node(h).order:s;(h||e===u)&&(r.forEach(i.slice(a,l+1),(function(e){r.forEach(t.predecessors(e),(function(r){var i=t.node(r),a=i.order;!(as)&&c(n,e,u)}))}))}return r.reduce(e,(function(e,n){var o,a=-1,s=0;return r.forEach(n,(function(r,c){if("border"===t.node(r).dummy){var u=t.predecessors(r);u.length&&(o=t.node(u[0]).order,i(n,s,c,a,o),s=c,a=o)}i(n,s,n.length,o,e.length)})),n})),n}function c(t,e,n){if(e>n){var r=e;e=n,n=r}var i=t[e];i||(t[e]=i={}),i[n]=!0}function u(t,e,n){if(e>n){var i=e;e=n,n=i}return r.has(t[e],n)}function l(t,e,n,i){var o={},a={},s={};return r.forEach(e,(function(t){r.forEach(t,(function(t,e){o[t]=t,a[t]=t,s[t]=e}))})),r.forEach(e,(function(t){var e=-1;r.forEach(t,(function(t){var c=i(t);if(c.length){c=r.sortBy(c,(function(t){return s[t]}));for(var l=(c.length-1)/2,h=Math.floor(l),f=Math.ceil(l);h<=f;++h){var d=c[h];a[t]===t&&e{"use strict";var r=n(8436),i=n(7266),o=n(3573).positionX;t.exports=function(t){(function(t){var e=i.buildLayerMatrix(t),n=t.graph().ranksep,o=0;r.forEach(e,(function(e){var i=r.max(r.map(e,(function(e){return t.node(e).height})));r.forEach(e,(function(e){t.node(e).y=o+i/2})),o+=i+n}))})(t=i.asNonCompoundGraph(t)),r.forEach(o(t),(function(e,n){t.node(n).x=e}))}},300:(t,e,n)=>{"use strict";var r=n(8436),i=n(574).Graph,o=n(6681).slack;function a(t,e){return r.forEach(t.nodes(),(function n(i){r.forEach(e.nodeEdges(i),(function(r){var a=r.v,s=i===a?r.w:a;t.hasNode(s)||o(e,r)||(t.setNode(s,{}),t.setEdge(i,s,{}),n(s))}))})),t.nodeCount()}function s(t,e){return r.minBy(e.edges(),(function(n){if(t.hasNode(n.v)!==t.hasNode(n.w))return o(e,n)}))}function c(t,e,n){r.forEach(t.nodes(),(function(t){e.node(t).rank+=n}))}t.exports=function(t){var e,n,r=new i({directed:!1}),u=t.nodes()[0],l=t.nodeCount();for(r.setNode(u,{});a(r,t){"use strict";var r=n(6681).longestPath,i=n(300),o=n(2472);t.exports=function(t){switch(t.graph().ranker){case"network-simplex":default:!function(t){o(t)}(t);break;case"tight-tree":!function(t){r(t),i(t)}(t);break;case"longest-path":a(t)}};var a=r},2472:(t,e,n)=>{"use strict";var r=n(8436),i=n(300),o=n(6681).slack,a=n(6681).longestPath,s=n(574).alg.preorder,c=n(574).alg.postorder,u=n(7266).simplify;function l(t){t=u(t),a(t);var e,n=i(t);for(d(n),h(n,t);e=g(n);)b(n,t,e,v(n,t,e))}function h(t,e){var n=c(t,t.nodes());n=n.slice(0,n.length-1),r.forEach(n,(function(n){!function(t,e,n){var r=t.node(n).parent;t.edge(n,r).cutvalue=f(t,e,n)}(t,e,n)}))}function f(t,e,n){var i=t.node(n).parent,o=!0,a=e.edge(n,i),s=0;return a||(o=!1,a=e.edge(i,n)),s=a.weight,r.forEach(e.nodeEdges(n),(function(r){var a,c,u=r.v===n,l=u?r.w:r.v;if(l!==i){var h=u===o,f=e.edge(r).weight;if(s+=h?f:-f,a=n,c=l,t.hasEdge(a,c)){var d=t.edge(n,l).cutvalue;s+=h?-d:d}}})),s}function d(t,e){arguments.length<2&&(e=t.nodes()[0]),p(t,{},1,e)}function p(t,e,n,i,o){var a=n,s=t.node(i);return e[i]=!0,r.forEach(t.neighbors(i),(function(o){r.has(e,o)||(n=p(t,e,n,o,i))})),s.low=a,s.lim=n++,o?s.parent=o:delete s.parent,n}function g(t){return r.find(t.edges(),(function(e){return t.edge(e).cutvalue<0}))}function v(t,e,n){var i=n.v,a=n.w;e.hasEdge(i,a)||(i=n.w,a=n.v);var s=t.node(i),c=t.node(a),u=s,l=!1;s.lim>c.lim&&(u=c,l=!0);var h=r.filter(e.edges(),(function(e){return l===y(0,t.node(e.v),u)&&l!==y(0,t.node(e.w),u)}));return r.minBy(h,(function(t){return o(e,t)}))}function b(t,e,n,i){var o=n.v,a=n.w;t.removeEdge(o,a),t.setEdge(i.v,i.w,{}),d(t),h(t,e),function(t,e){var n=r.find(t.nodes(),(function(t){return!e.node(t).parent})),i=s(t,n);i=i.slice(1),r.forEach(i,(function(n){var r=t.node(n).parent,i=e.edge(n,r),o=!1;i||(i=e.edge(r,n),o=!0),e.node(n).rank=e.node(r).rank+(o?i.minlen:-i.minlen)}))}(t,e)}function y(t,e,n){return n.low<=e.lim&&e.lim<=n.lim}t.exports=l,l.initLowLimValues=d,l.initCutValues=h,l.calcCutValue=f,l.leaveEdge=g,l.enterEdge=v,l.exchangeEdges=b},6681:(t,e,n)=>{"use strict";var r=n(8436);t.exports={longestPath:function(t){var e={};r.forEach(t.sources(),(function n(i){var o=t.node(i);if(r.has(e,i))return o.rank;e[i]=!0;var a=r.min(r.map(t.outEdges(i),(function(e){return n(e.w)-t.edge(e).minlen})));return a!==Number.POSITIVE_INFINITY&&null!=a||(a=0),o.rank=a}))},slack:function(t,e){return t.node(e.w).rank-t.node(e.v).rank-t.edge(e).minlen}}},7266:(t,e,n)=>{"use strict";var r=n(8436),i=n(574).Graph;function o(t,e,n,i){var o;do{o=r.uniqueId(i)}while(t.hasNode(o));return n.dummy=e,t.setNode(o,n),o}function a(t){return r.max(r.map(t.nodes(),(function(e){var n=t.node(e).rank;if(!r.isUndefined(n))return n})))}t.exports={addDummyNode:o,simplify:function(t){var e=(new i).setGraph(t.graph());return r.forEach(t.nodes(),(function(n){e.setNode(n,t.node(n))})),r.forEach(t.edges(),(function(n){var r=e.edge(n.v,n.w)||{weight:0,minlen:1},i=t.edge(n);e.setEdge(n.v,n.w,{weight:r.weight+i.weight,minlen:Math.max(r.minlen,i.minlen)})})),e},asNonCompoundGraph:function(t){var e=new i({multigraph:t.isMultigraph()}).setGraph(t.graph());return r.forEach(t.nodes(),(function(n){t.children(n).length||e.setNode(n,t.node(n))})),r.forEach(t.edges(),(function(n){e.setEdge(n,t.edge(n))})),e},successorWeights:function(t){var e=r.map(t.nodes(),(function(e){var n={};return r.forEach(t.outEdges(e),(function(e){n[e.w]=(n[e.w]||0)+t.edge(e).weight})),n}));return r.zipObject(t.nodes(),e)},predecessorWeights:function(t){var e=r.map(t.nodes(),(function(e){var n={};return r.forEach(t.inEdges(e),(function(e){n[e.v]=(n[e.v]||0)+t.edge(e).weight})),n}));return r.zipObject(t.nodes(),e)},intersectRect:function(t,e){var n,r,i=t.x,o=t.y,a=e.x-i,s=e.y-o,c=t.width/2,u=t.height/2;if(!a&&!s)throw new Error("Not possible to find intersection inside of the rectangle");return Math.abs(s)*c>Math.abs(a)*u?(s<0&&(u=-u),n=u*a/s,r=u):(a<0&&(c=-c),n=c,r=c*s/a),{x:i+n,y:o+r}},buildLayerMatrix:function(t){var e=r.map(r.range(a(t)+1),(function(){return[]}));return r.forEach(t.nodes(),(function(n){var i=t.node(n),o=i.rank;r.isUndefined(o)||(e[o][i.order]=n)})),e},normalizeRanks:function(t){var e=r.min(r.map(t.nodes(),(function(e){return t.node(e).rank})));r.forEach(t.nodes(),(function(n){var i=t.node(n);r.has(i,"rank")&&(i.rank-=e)}))},removeEmptyRanks:function(t){var e=r.min(r.map(t.nodes(),(function(e){return t.node(e).rank}))),n=[];r.forEach(t.nodes(),(function(r){var i=t.node(r).rank-e;n[i]||(n[i]=[]),n[i].push(r)}));var i=0,o=t.graph().nodeRankFactor;r.forEach(n,(function(e,n){r.isUndefined(e)&&n%o!=0?--i:i&&r.forEach(e,(function(e){t.node(e).rank+=i}))}))},addBorderNode:function(t,e,n,r){var i={width:0,height:0};return arguments.length>=4&&(i.rank=n,i.order=r),o(t,"border",i,e)},maxRank:a,partition:function(t,e){var n={lhs:[],rhs:[]};return r.forEach(t,(function(t){e(t)?n.lhs.push(t):n.rhs.push(t)})),n},time:function(t,e){var n=r.now();try{return e()}finally{console.log(t+" time: "+(r.now()-n)+"ms")}},notime:function(t,e){return e()}}},8177:t=>{t.exports="0.8.5"},8282:(t,e,n)=>{var r=n(2354);t.exports={Graph:r.Graph,json:n(8974),alg:n(2440),version:r.version}},2842:(t,e,n)=>{var r=n(9126);t.exports=function(t){var e,n={},i=[];function o(i){r.has(n,i)||(n[i]=!0,e.push(i),r.each(t.successors(i),o),r.each(t.predecessors(i),o))}return r.each(t.nodes(),(function(t){e=[],o(t),e.length&&i.push(e)})),i}},3984:(t,e,n)=>{var r=n(9126);function i(t,e,n,o,a,s){r.has(o,e)||(o[e]=!0,n||s.push(e),r.each(a(e),(function(e){i(t,e,n,o,a,s)})),n&&s.push(e))}t.exports=function(t,e,n){r.isArray(e)||(e=[e]);var o=(t.isDirected()?t.successors:t.neighbors).bind(t),a=[],s={};return r.each(e,(function(e){if(!t.hasNode(e))throw new Error("Graph does not have node: "+e);i(t,e,"post"===n,s,o,a)})),a}},4847:(t,e,n)=>{var r=n(3763),i=n(9126);t.exports=function(t,e,n){return i.transform(t.nodes(),(function(i,o){i[o]=r(t,o,e,n)}),{})}},3763:(t,e,n)=>{var r=n(9126),i=n(9675);t.exports=function(t,e,n,r){return function(t,e,n,r){var o,a,s={},c=new i,u=function(t){var e=t.v!==o?t.v:t.w,r=s[e],i=n(t),u=a.distance+i;if(i<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+t+" Weight: "+i);u0&&(o=c.removeMin(),(a=s[o]).distance!==Number.POSITIVE_INFINITY);)r(o).forEach(u);return s}(t,String(e),n||o,r||function(e){return t.outEdges(e)})};var o=r.constant(1)},9096:(t,e,n)=>{var r=n(9126),i=n(5023);t.exports=function(t){return r.filter(i(t),(function(e){return e.length>1||1===e.length&&t.hasEdge(e[0],e[0])}))}},8924:(t,e,n)=>{var r=n(9126);t.exports=function(t,e,n){return function(t,e,n){var r={},i=t.nodes();return i.forEach((function(t){r[t]={},r[t][t]={distance:0},i.forEach((function(e){t!==e&&(r[t][e]={distance:Number.POSITIVE_INFINITY})})),n(t).forEach((function(n){var i=n.v===t?n.w:n.v,o=e(n);r[t][i]={distance:o,predecessor:t}}))})),i.forEach((function(t){var e=r[t];i.forEach((function(n){var o=r[n];i.forEach((function(n){var r=o[t],i=e[n],a=o[n],s=r.distance+i.distance;s{t.exports={components:n(2842),dijkstra:n(3763),dijkstraAll:n(4847),findCycles:n(9096),floydWarshall:n(8924),isAcyclic:n(2707),postorder:n(8828),preorder:n(2648),prim:n(514),tarjan:n(5023),topsort:n(2166)}},2707:(t,e,n)=>{var r=n(2166);t.exports=function(t){try{r(t)}catch(t){if(t instanceof r.CycleException)return!1;throw t}return!0}},8828:(t,e,n)=>{var r=n(3984);t.exports=function(t,e){return r(t,e,"post")}},2648:(t,e,n)=>{var r=n(3984);t.exports=function(t,e){return r(t,e,"pre")}},514:(t,e,n)=>{var r=n(9126),i=n(771),o=n(9675);t.exports=function(t,e){var n,a=new i,s={},c=new o;function u(t){var r=t.v===n?t.w:t.v,i=c.priority(r);if(void 0!==i){var o=e(t);o0;){if(n=c.removeMin(),r.has(s,n))a.setEdge(n,s[n]);else{if(l)throw new Error("Input graph is not connected: "+t);l=!0}t.nodeEdges(n).forEach(u)}return a}},5023:(t,e,n)=>{var r=n(9126);t.exports=function(t){var e=0,n=[],i={},o=[];function a(s){var c=i[s]={onStack:!0,lowlink:e,index:e++};if(n.push(s),t.successors(s).forEach((function(t){r.has(i,t)?i[t].onStack&&(c.lowlink=Math.min(c.lowlink,i[t].index)):(a(t),c.lowlink=Math.min(c.lowlink,i[t].lowlink))})),c.lowlink===c.index){var u,l=[];do{u=n.pop(),i[u].onStack=!1,l.push(u)}while(s!==u);o.push(l)}}return t.nodes().forEach((function(t){r.has(i,t)||a(t)})),o}},2166:(t,e,n)=>{var r=n(9126);function i(t){var e={},n={},i=[];if(r.each(t.sinks(),(function a(s){if(r.has(n,s))throw new o;r.has(e,s)||(n[s]=!0,e[s]=!0,r.each(t.predecessors(s),a),delete n[s],i.push(s))})),r.size(e)!==t.nodeCount())throw new o;return i}function o(){}t.exports=i,i.CycleException=o,o.prototype=new Error},9675:(t,e,n)=>{var r=n(9126);function i(){this._arr=[],this._keyIndices={}}t.exports=i,i.prototype.size=function(){return this._arr.length},i.prototype.keys=function(){return this._arr.map((function(t){return t.key}))},i.prototype.has=function(t){return r.has(this._keyIndices,t)},i.prototype.priority=function(t){var e=this._keyIndices[t];if(void 0!==e)return this._arr[e].priority},i.prototype.min=function(){if(0===this.size())throw new Error("Queue underflow");return this._arr[0].key},i.prototype.add=function(t,e){var n=this._keyIndices;if(t=String(t),!r.has(n,t)){var i=this._arr,o=i.length;return n[t]=o,i.push({key:t,priority:e}),this._decrease(o),!0}return!1},i.prototype.removeMin=function(){this._swap(0,this._arr.length-1);var t=this._arr.pop();return delete this._keyIndices[t.key],this._heapify(0),t.key},i.prototype.decrease=function(t,e){var n=this._keyIndices[t];if(e>this._arr[n].priority)throw new Error("New priority is greater than current priority. Key: "+t+" Old: "+this._arr[n].priority+" New: "+e);this._arr[n].priority=e,this._decrease(n)},i.prototype._heapify=function(t){var e=this._arr,n=2*t,r=n+1,i=t;n>1].priority{"use strict";var r=n(9126);t.exports=s;var i="\0",o="\0",a="";function s(t){this._isDirected=!r.has(t,"directed")||t.directed,this._isMultigraph=!!r.has(t,"multigraph")&&t.multigraph,this._isCompound=!!r.has(t,"compound")&&t.compound,this._label=void 0,this._defaultNodeLabelFn=r.constant(void 0),this._defaultEdgeLabelFn=r.constant(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[o]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}function c(t,e){t[e]?t[e]++:t[e]=1}function u(t,e){--t[e]||delete t[e]}function l(t,e,n,o){var s=""+e,c=""+n;if(!t&&s>c){var u=s;s=c,c=u}return s+a+c+a+(r.isUndefined(o)?i:o)}function h(t,e){return l(t,e.v,e.w,e.name)}s.prototype._nodeCount=0,s.prototype._edgeCount=0,s.prototype.isDirected=function(){return this._isDirected},s.prototype.isMultigraph=function(){return this._isMultigraph},s.prototype.isCompound=function(){return this._isCompound},s.prototype.setGraph=function(t){return this._label=t,this},s.prototype.graph=function(){return this._label},s.prototype.setDefaultNodeLabel=function(t){return r.isFunction(t)||(t=r.constant(t)),this._defaultNodeLabelFn=t,this},s.prototype.nodeCount=function(){return this._nodeCount},s.prototype.nodes=function(){return r.keys(this._nodes)},s.prototype.sources=function(){var t=this;return r.filter(this.nodes(),(function(e){return r.isEmpty(t._in[e])}))},s.prototype.sinks=function(){var t=this;return r.filter(this.nodes(),(function(e){return r.isEmpty(t._out[e])}))},s.prototype.setNodes=function(t,e){var n=arguments,i=this;return r.each(t,(function(t){n.length>1?i.setNode(t,e):i.setNode(t)})),this},s.prototype.setNode=function(t,e){return r.has(this._nodes,t)?(arguments.length>1&&(this._nodes[t]=e),this):(this._nodes[t]=arguments.length>1?e:this._defaultNodeLabelFn(t),this._isCompound&&(this._parent[t]=o,this._children[t]={},this._children[o][t]=!0),this._in[t]={},this._preds[t]={},this._out[t]={},this._sucs[t]={},++this._nodeCount,this)},s.prototype.node=function(t){return this._nodes[t]},s.prototype.hasNode=function(t){return r.has(this._nodes,t)},s.prototype.removeNode=function(t){var e=this;if(r.has(this._nodes,t)){var n=function(t){e.removeEdge(e._edgeObjs[t])};delete this._nodes[t],this._isCompound&&(this._removeFromParentsChildList(t),delete this._parent[t],r.each(this.children(t),(function(t){e.setParent(t)})),delete this._children[t]),r.each(r.keys(this._in[t]),n),delete this._in[t],delete this._preds[t],r.each(r.keys(this._out[t]),n),delete this._out[t],delete this._sucs[t],--this._nodeCount}return this},s.prototype.setParent=function(t,e){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(r.isUndefined(e))e=o;else{for(var n=e+="";!r.isUndefined(n);n=this.parent(n))if(n===t)throw new Error("Setting "+e+" as parent of "+t+" would create a cycle");this.setNode(e)}return this.setNode(t),this._removeFromParentsChildList(t),this._parent[t]=e,this._children[e][t]=!0,this},s.prototype._removeFromParentsChildList=function(t){delete this._children[this._parent[t]][t]},s.prototype.parent=function(t){if(this._isCompound){var e=this._parent[t];if(e!==o)return e}},s.prototype.children=function(t){if(r.isUndefined(t)&&(t=o),this._isCompound){var e=this._children[t];if(e)return r.keys(e)}else{if(t===o)return this.nodes();if(this.hasNode(t))return[]}},s.prototype.predecessors=function(t){var e=this._preds[t];if(e)return r.keys(e)},s.prototype.successors=function(t){var e=this._sucs[t];if(e)return r.keys(e)},s.prototype.neighbors=function(t){var e=this.predecessors(t);if(e)return r.union(e,this.successors(t))},s.prototype.isLeaf=function(t){return 0===(this.isDirected()?this.successors(t):this.neighbors(t)).length},s.prototype.filterNodes=function(t){var e=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});e.setGraph(this.graph());var n=this;r.each(this._nodes,(function(n,r){t(r)&&e.setNode(r,n)})),r.each(this._edgeObjs,(function(t){e.hasNode(t.v)&&e.hasNode(t.w)&&e.setEdge(t,n.edge(t))}));var i={};function o(t){var r=n.parent(t);return void 0===r||e.hasNode(r)?(i[t]=r,r):r in i?i[r]:o(r)}return this._isCompound&&r.each(e.nodes(),(function(t){e.setParent(t,o(t))})),e},s.prototype.setDefaultEdgeLabel=function(t){return r.isFunction(t)||(t=r.constant(t)),this._defaultEdgeLabelFn=t,this},s.prototype.edgeCount=function(){return this._edgeCount},s.prototype.edges=function(){return r.values(this._edgeObjs)},s.prototype.setPath=function(t,e){var n=this,i=arguments;return r.reduce(t,(function(t,r){return i.length>1?n.setEdge(t,r,e):n.setEdge(t,r),r})),this},s.prototype.setEdge=function(){var t,e,n,i,o=!1,a=arguments[0];"object"==typeof a&&null!==a&&"v"in a?(t=a.v,e=a.w,n=a.name,2===arguments.length&&(i=arguments[1],o=!0)):(t=a,e=arguments[1],n=arguments[3],arguments.length>2&&(i=arguments[2],o=!0)),t=""+t,e=""+e,r.isUndefined(n)||(n=""+n);var s=l(this._isDirected,t,e,n);if(r.has(this._edgeLabels,s))return o&&(this._edgeLabels[s]=i),this;if(!r.isUndefined(n)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(t),this.setNode(e),this._edgeLabels[s]=o?i:this._defaultEdgeLabelFn(t,e,n);var u=function(t,e,n,r){var i=""+e,o=""+n;if(!t&&i>o){var a=i;i=o,o=a}var s={v:i,w:o};return r&&(s.name=r),s}(this._isDirected,t,e,n);return t=u.v,e=u.w,Object.freeze(u),this._edgeObjs[s]=u,c(this._preds[e],t),c(this._sucs[t],e),this._in[e][s]=u,this._out[t][s]=u,this._edgeCount++,this},s.prototype.edge=function(t,e,n){var r=1===arguments.length?h(this._isDirected,arguments[0]):l(this._isDirected,t,e,n);return this._edgeLabels[r]},s.prototype.hasEdge=function(t,e,n){var i=1===arguments.length?h(this._isDirected,arguments[0]):l(this._isDirected,t,e,n);return r.has(this._edgeLabels,i)},s.prototype.removeEdge=function(t,e,n){var r=1===arguments.length?h(this._isDirected,arguments[0]):l(this._isDirected,t,e,n),i=this._edgeObjs[r];return i&&(t=i.v,e=i.w,delete this._edgeLabels[r],delete this._edgeObjs[r],u(this._preds[e],t),u(this._sucs[t],e),delete this._in[e][r],delete this._out[t][r],this._edgeCount--),this},s.prototype.inEdges=function(t,e){var n=this._in[t];if(n){var i=r.values(n);return e?r.filter(i,(function(t){return t.v===e})):i}},s.prototype.outEdges=function(t,e){var n=this._out[t];if(n){var i=r.values(n);return e?r.filter(i,(function(t){return t.w===e})):i}},s.prototype.nodeEdges=function(t,e){var n=this.inEdges(t,e);if(n)return n.concat(this.outEdges(t,e))}},2354:(t,e,n)=>{t.exports={Graph:n(771),version:n(9631)}},8974:(t,e,n)=>{var r=n(9126),i=n(771);function o(t){return r.map(t.nodes(),(function(e){var n=t.node(e),i=t.parent(e),o={v:e};return r.isUndefined(n)||(o.value=n),r.isUndefined(i)||(o.parent=i),o}))}function a(t){return r.map(t.edges(),(function(e){var n=t.edge(e),i={v:e.v,w:e.w};return r.isUndefined(e.name)||(i.name=e.name),r.isUndefined(n)||(i.value=n),i}))}t.exports={write:function(t){var e={options:{directed:t.isDirected(),multigraph:t.isMultigraph(),compound:t.isCompound()},nodes:o(t),edges:a(t)};return r.isUndefined(t.graph())||(e.value=r.clone(t.graph())),e},read:function(t){var e=new i(t.options).setGraph(t.value);return r.each(t.nodes,(function(t){e.setNode(t.v,t.value),t.parent&&e.setParent(t.v,t.parent)})),r.each(t.edges,(function(t){e.setEdge({v:t.v,w:t.w,name:t.name},t.value)})),e}}},9126:(t,e,n)=>{var r;try{r={clone:n(6678),constant:n(5703),each:n(6073),filter:n(3105),has:n(8721),isArray:n(1469),isEmpty:n(1609),isFunction:n(3560),isUndefined:n(2353),keys:n(3674),map:n(5161),reduce:n(4061),size:n(4238),transform:n(8718),union:n(3386),values:n(2628)}}catch(t){}r||(r=window._),t.exports=r},9631:t=>{t.exports="2.1.8"},4485:(t,e,n)=>{t.exports=n(2894)},2894:function(t,e){var n,r,i;(function(){var o,a,s,c,u,l,h,f,d,p,g,v,b,y,m;s=Math.floor,p=Math.min,a=function(t,e){return te?1:0},d=function(t,e,n,r,i){var o;if(null==n&&(n=0),null==i&&(i=a),n<0)throw new Error("lo must be non-negative");for(null==r&&(r=t.length);nn;0<=n?e++:e--)u.push(e);return u}.apply(this).reverse()).length;rg;0<=g?++l:--l)v.push(u(t,n));return v},y=function(t,e,n,r){var i,o,s;for(null==r&&(r=a),i=t[n];n>e&&r(i,o=t[s=n-1>>1])<0;)t[n]=o,n=s;return t[n]=i},m=function(t,e,n){var r,i,o,s,c;for(null==n&&(n=a),i=t.length,c=e,o=t[e],r=2*e+1;r{var e,n;!function(){var r;function i(){}function a(){}function s(){}function c(){}function u(){}function l(){}function h(){}function f(){}function d(){}function p(){}function g(){}function v(){}function b(){}function y(){}function m(){}function w(){}function x(){}function _(){}function E(){}function k(){}function T(){}function C(){}function N(){}function A(){}function S(){}function O(){}function L(){}function I(){}function M(){}function P(){}function D(){}function R(){}function j(){}function G(){}function B(){}function F(){}function H(){}function Y(){}function z(){}function U(){}function V(){}function q(){}function X(){}function W(){}function $(){}function Z(){}function K(){}function Q(){}function J(){}function tt(){}function et(){}function nt(){}function rt(){}function it(){}function ot(){}function at(){}function st(){}function ct(){}function ut(){}function lt(){}function ht(){}function ft(){}function dt(){}function pt(){}function gt(){}function vt(){}function bt(){}function yt(){}function mt(){}function wt(){}function xt(){}function _t(){}function Et(){}function kt(){}function Tt(){}function Ct(){}function Nt(){}function At(){}function St(){}function Ot(){}function Lt(){}function It(){}function Mt(){}function Pt(){}function Dt(){}function Rt(){}function jt(){}function Gt(){}function Bt(){}function Ft(){}function Ht(){}function Yt(){}function zt(){}function Ut(){}function Vt(){}function qt(){}function Xt(){}function Wt(){}function $t(){}function Zt(){}function Kt(){}function Qt(){}function Jt(){}function te(){}function ee(){}function ne(){}function re(){}function ie(){}function oe(){}function ae(){}function se(){}function ce(){}function ue(){}function le(){}function he(){}function fe(){}function de(){}function pe(){}function ge(){}function ve(){}function be(){}function ye(){}function me(){}function we(){Bf()}function xe(){C_()}function _e(){Xd()}function Ee(){qg()}function ke(){no()}function Te(){ro()}function Ce(){fa()}function Ne(){Xg()}function Ae(){Df()}function Se(){Nk()}function Oe(){Rf()}function Le(){jf()}function Ie(){lN()}function Me(){LT()}function Pe(){sh(this)}function De(){}function Re(){xu(this)}function je(){}function Ge(t){this.a=t}function Be(t){this.a=t}function Fe(t){this.a=t}function He(t){this.a=t}function Ye(t){this.a=t}function ze(t){this.a=t}function Ue(t){this.a=t}function Ve(t){this.a=t}function qe(t){this.a=t}function Xe(t){this.b=t}function We(t){this.a=t}function $e(t){this.a=t}function Ze(t){this.a=t}function Ke(t){this.a=t}function Qe(t){this.a=t}function Je(t){this.a=t}function tn(t){this.a=t}function en(t){this.a=t}function nn(t){this.a=t}function rn(t){this.a=t}function on(t){this.a=t}function an(t){this.a=t}function sn(t){this.a=t}function cn(t){this.a=t}function un(t){this.a=t}function ln(t){this.e=t}function hn(t){this.a=t}function fn(t){this.a=t}function dn(t){this.a=t}function pn(t){this.a=t}function gn(t){this.a=t}function vn(t){this.a=t}function bn(t){this.a=t}function yn(t){this.a=t}function mn(t){this.a=t}function wn(t){this.a=t}function xn(t){this.a=t}function _n(t){this.a=t}function En(t){this.a=t}function kn(t){this.a=t}function Tn(t){this.a=t}function Cn(t){this.a=t}function Nn(t){this.a=t}function An(t){this.a=t}function Sn(t){this.a=t}function On(t){this.a=t}function Ln(t){this.a=t}function In(t){this.c=t}function Mn(t){this.a=t}function Pn(t){this.a=t}function Dn(t){this.a=t}function Rn(t){this.a=t}function jn(t){this.a=t}function Gn(t){this.a=t}function Bn(t){this.a=t}function Fn(t){this.a=t}function Hn(t){this.a=t}function Yn(t){this.a=t}function zn(t){this.d=t}function Un(t){this.a=t}function Vn(t){this.a=t}function qn(t){this.a=t}function Xn(t){this.a=t}function Wn(t){this.b=t}function $n(t){this.a=t}function Zn(t){this.a=t}function Kn(t){this.c=t}function Qn(t){this.a=t}function Jn(t){this.a=t}function tr(t){this.a=t}function er(t){this.b=t}function nr(t){this.b=t}function rr(t){this.c=t}function ir(t){this.a=t}function or(t){this.a=t}function ar(t){this.a=t}function sr(){this.a=[]}function cr(t){this.a=t}function ur(t){this.a=t}function lr(t){t.b=t.a}function hr(t){t.c=t.d.d}function fr(t,e){t.g=e}function dr(t,e){t.k=e}function pr(t,e){t.e.k=e}function gr(t){return t.a}function vr(t){return t.a}function br(t){return t.a}function yr(t){return t.a}function mr(t){return t.a}function wr(){return null}function xr(){return null}function _r(){this.c=this}function Er(){sh(this)}function kr(){my(this)}function Tr(t){!function(t,e){var n,r,i,o,a,s,c;for(c=0,r=0,i=e.length;r=t.length)return{done:!0};var r=t[n++];return{value:[r,e.get(r)],done:!1}}}},function(){if(!Object.create||!Object.getOwnPropertyNames)return!1;var t="__proto__",e=Object.create(null);return void 0===e[t]&&0==Object.getOwnPropertyNames(e).length&&(e[t]=42,42===e[t]&&0!=Object.getOwnPropertyNames(e).length)}()||(t.prototype.createObject=function(){return{}},t.prototype.get=function(t){return this.obj[":"+t]},t.prototype.set=function(t,e){this.obj[":"+t]=e},t.prototype[yD]=function(t){delete this.obj[":"+t]},t.prototype.keys=function(){var t=[];for(var e in this.obj)58==e.charCodeAt(0)&&t.push(e.substring(1));return t}),t}()}function Io(t,e){Ix(),oI.dc(t,e)}function Mo(t,e){return Mv(t,e)}function Po(t,e){return t.a.B(e)}function Do(t,e){return t.g[e.e]}function Ro(t,e){return t.i[e.e]}function jo(t,e){return t.j[e.e]}function Go(t,e){return t.n[e.e]}function Bo(t,e){return t.o[e.e]}function Fo(t,e){return t>e?t:e}function Ho(t,e){return t>e?t:e}function Yo(t,e){return t>e?t:e}function zo(t,e){return te?1:0}function Fu(t){return null!=t?K_(t):0}function Hu(t){this.a=zc(),this.b=t}function Yu(t){this.a=zc(),this.b=t}function zu(t){this.a=t,td.call(this,t)}function Uu(){Ju(),this.b=new Tn(this)}function Vu(){var t;Vu=a,t=new co(", "),Dd(pI),HD=new Qf(t,t)}function qu(){qu=a,BD=new fu,GD=new Mu}function Xu(){Xu=a,zD=new g,UD=new v}function Wu(){Wu=a,qD=new Zs,XD=new _u}function $u(){$u=a,JD=new du,QD=new wl}function Zu(){Zu=a,vR=new m,bR=new w}function Ku(t){t.g=new Re,t.b=new Re}function Qu(t){t.a=new ye,t.c=new ye}function Ju(){Ju=a,EY=new Zt,_Y=new ed}function tl(){Ha.call(this,"IS_NULL",2)}function el(){Gc.call(this,"Head",1)}function nl(){Gc.call(this,"Tail",3)}function rl(t,e){ow.call(this,t,e,null)}function il(t,e){Hk(t,0,t.length,e)}function ol(t,e){return Lf(e.a,t.a),t.a}function al(t,e){return t.a*=e,t.b*=e,t}function sl(t,e){og(),this.a=t,this.b=e}function cl(t,e){return t.a[e.d.k][e.k]}function ul(t,e){return t.a[e.d.k][e.k]}function ll(t,e){return ua(function(t,e){var n,r;for(n=null,r=t.b;r;)t.a.$b(e,r.d)>=0?r=r.a[1]:(n=r,r=r.a[0]);return n}(t.a,e))}function hl(t,e){return ua(function(t,e){var n,r;for(n=null,r=t.b;r;)t.a.$b(e,r.d)<=0?r=r.a[0]:(n=r,r=r.a[1]);return n}(t.a,e))}function fl(t,e){return Uf(WT(t.a,e),20)}function dl(t,e){return null!=t&&Pk(t,e)}function pl(t){return t.a=e)throw new Ci}function qf(t,e){return Dd(t),Dd(e),new cd(t,e)}function Xf(t,e){return Dd(t),Dd(e),new ud(t,e)}function Wf(t,e,n){return t=e+1&&t.splice(0,e+1);break}return t}(oI.ec(t))}function Ed(t,e){var n;return(n=Fp(t,e)).g=2,n}function kd(t,e){t.b=e.b,t.c=e.c,t.d=e.d,t.a=e.a}function Td(t){t.a.b=t.b,t.b.a=t.a,t.a=t.b=null}function Cd(t){return t.b.c.length+t.e.c.length}function Nd(t){return Array.isArray(t)&&t.ad===i}function Ad(t,e){return Xu(),-1!=Bx(new Kn(t),e)}function Sd(t,e,n,r,i,o){return jT(t,e,n,r,i,0,o)}function Od(t,e,n){Zu(),Qv.call(this,t.b,e,n,t.d)}function Ld(t,e){Zu(),Qv.call(this,t.b,e,t.c,t.d)}function Id(t,e,n){xy(e,t.c.length),Ac(t.c,e,n)}function Md(t,e){return _y(e,t.a.length),t.a[e]}function Pd(t){t.sort((function(t,e){return t-e}))}function Dd(t){if(null==t)throw new Zr;return t}function Rd(t){if(null==t)throw new Zr;this.a=t}function jd(t,e,n){if(t.a!=e)throw new xi;t.a=n}function Gd(t,e){if(!t)throw new so((si(),e))}function Bd(t,e){if(!t)throw new Eo((si(),e))}function Fd(t){if(null==t)throw new Zr;return t}function Hd(t){cr.call(this,new ry),gw(this,t)}function Yd(t){this.a=new Xs(t.Y()),gw(this,t)}function zd(t){this.c=t,this.a=new qs(this.c.a)}function Ud(t){og(),this.a=(zg(),new tr(Dd(t)))}function Vd(){(Vd=a)(),NX=!1,AX=!0}function qd(){qd=a,IX=Ty(ND,hI,24,256,0,1)}function Xd(){Xd=a,MY=vd(bd(new iE,(WL(),yH)),YH)}function Wd(){Wd=a,fF=new E,pF=new nd,dF=new k}function $d(t){return null!=t&&Mp(t)&&!(t.ad===i)}function Zd(t){return!Array.isArray(t)&&t.ad===i}function Kd(t,e){return Nl(e)?Pg(t,e):AN(t.d,e)}function Qd(t,e){return dl(e,17)&&Xl(t,Uf(e,17))}function Jd(t,e){return dl(e,17)&&function(t,e){return!(!e||t.b[e.e]!=e)&&(Yp(t.b,e.e,null),--t.c,!0)}(t,Uf(e,17))}function tp(t,e){var n;return sx(n=gE(t),e),n}function ep(t,e){return!t&&(t=[]),t[t.length]=e,t}function np(t,e,n){if(!t)throw new so(function(t,e){var n,r,i,o;for(si(),(t=null==t?pI:t).length,e.length,n=new ea,o=0,r=0;r0),t.a.sb(t.c=--t.b)}function pp(t){t.b?pp(t.b):t.d.V()&&Kd(t.f.b,t.e)}function gp(t){if(nE(t.d),t.d.d!=t.c)throw new xi}function vp(t,e){if(e[pD]!=t[pD])throw new xi}function bp(t,e){return Xu(),Dd(t),Dd(e),new Ra(t,e)}function yp(t,e){og(),qa.call(this,t,Lx(new Qn(e)))}function mp(t,e,n,r){this.a=t,Ny.call(this,t,e,n,r)}function wp(t){this.a=Math.cos(t),this.b=Math.sin(t)}function xp(t,e,n){zi.call(this,t),this.b=e,this.a=n}function _p(t){this.b=new Re,this.a=new Re,this.c=t}function Ep(t){this.c=new uo,this.a=new Re,this.b=t}function kp(){kp=a,oR=new nn(!1),aR=new nn(!0)}function Tp(t,e){return++t.d,t.c[t.c.length]=e,!0}function Cp(t,e){Mb(t.d,e,t.b.b,t.b),++t.a,t.c=null}function Np(t,e){return null==t.a.db(e,t)}function Ap(t,e){return By(t.slice(0,e),t)}function Sp(t,e){return By(new Array(e),t)}function Op(t,e,n){var r;return r=t.b[e],t.b[e]=n,r}function Lp(t){return _l(),_f(function(t){return Uf(t.g||(t.g=new We(t)),20)}(t.a).mb(),(Wu(),qD))}function Ip(t){return Xu(),new Pu(ju(Xf(t.a,new p)))}function Mp(t){return typeof t===lI||typeof t===bI}function Pp(t){r.setTimeout((function(){throw t}),0)}function Dp(t){return Dd(t),dl(t,345)?Uf(t,345):Uk(t)}function Rp(t,e){return null==Hx(t.a,e,(Vd(),NX))}function jp(t,e){var n;return function(t,e){if(t<0||t>=e)throw new ao(function(t,e){if(t<0)return DA(jI,Nx(Mo(TD,1),GI,1,4,["index",W_(t)]));if(e<0)throw new so(BI+e);return DA("%s (%s) must be less than size (%s)",Nx(Mo(TD,1),GI,1,4,["index",W_(t),W_(e)]))}(t,e))}(e,n=t.a.Y()),n-1-e}function Gp(t,e,n){var r;return r=Sm(t,e),function(t,e,n){if(n){var r=n.gc();n=r(n)}else n=void 0;t.a[e]=n}(t,e,n),r}function Bp(t,e,n){var r;return Wm(n,r=Fp(t,e)),r}function Fp(t,e){var n;return(n=new Wx).i=t,n.d=e,n}function Hp(t,e,n){this.a=t,Ob(n,e),this.c=e,this.b=n}function Yp(t,e,n){return function(t){if(!t)throw new Wr}(null==n||function(t,e){switch(wm(t)){case 5:return Nl(e);case 6:return Cl(e);case 7:return vh(e);case 0:return Pk(e,t.__elementTypeId$);case 2:return Mp(e)&&!(e.ad===i);case 1:return Mp(e)&&!(e.ad===i)||Pk(e,t.__elementTypeId$);default:return!0}}(t,n)),t[e]=n}function zp(t){t.a=null,t.e=null,my(t.b),t.d=0,++t.c}function Up(t){return t.f||(t.f=new Js(t))}function Vp(t){return t.k||(t.k=new Ye(t))}function qp(t){return t.e||(t.e=new Qa(t))}function Xp(t){var e;return!(e=t.e)&&(t.e=e=t.gb()),e}function Wp(t){return t.c.f.d==t.d.f.d}function $p(t,e){var n;return Hm(n=new Db(t),e),n}function Zp(t,e){return t.a+=String.fromCharCode(e),t}function Kp(t){return!t.a&&t.d?t.d.b:t.a}function Qp(t){return ql(t)?0|t:t.l|t.m<<22}function Jp(t,e){return Nl(e)?mv(t,e):Kc(vv(t.d,e))}function tg(t){return dl(t,19)?Uf(t,19).Y():Jb(t.mb())}function eg(t){return t?new Yd((Vu(),t)):function(t){var e;return zm(e=new Ji,t),e}(null.mb())}function ng(t,e){return Zc(t)===Zc(e)||null!=t&&s_(t,e)}function rg(t,e){return eo(),Ox(oo(Oh(t)),oo(Oh(e)))}function ig(t){return _l(),_f(t.a.bb().mb(),(Wu(),XD))}function og(){og=a,lf(),YD=new sb((zg(),zg(),RX))}function ag(){ag=a,lf(),KD=new Ks((zg(),zg(),GX))}function sg(t,e){if(null==t)throw new Co((si(),e))}function cg(t,e,n,r){t.g[e.e][n.e]=r,t.g[n.e][e.e]=r}function ug(t){Au(-1!=t.c),t.d.vb(t.c),t.b=t.c,t.c=-1}function lg(t){this.c=t,this.b=t.a.b.a,Wl(t.a.c,this)}function hg(t){JS.call(this,new Qn(t)),this.a=new uo}function fg(){Li.call(this,new Ri(new kr)),this.a=this}function dg(){um(),this.b=(_l(),new kr),this.a=new kr}function pg(t){yg(t.a),t.b=Ty(TD,GI,1,t.b.length,4,1)}function gg(t){return!t.b&&(t.b=new Ko(t.c.W())),t.b}function vg(t,e){var n;return nL(t,e,n=new me),n.d}function bg(t,e){var n;return(n=Fp("",t)).k=e,n.g=1,n}function yg(t){var e;for(e=t.mb();e.G();)e.H(),e.I()}function mg(t,e){return dl(e,79)&&ji(t.b,Uf(e,79).mc())}function wg(t,e,n){return Nl(e)?Yv(t,e,n):YC(t.d,e,n)}function xg(t,e,n,r){this.d=t,this.b=e,this.a=n,this.c=r}function _g(t,e,n,r){this.d=t,this.e=e,this.c=n,this.b=r}function Eg(t,e,n,r){this.a=t,this.c=e,this.b=n,this.d=r}function kg(t,e,n,r){Pa.call(this,t,e),this.a=n,this.b=r}function Tg(t,e){return si(),t==e?0:t0?1:0}function Qg(t,e){return Uw(function(t,e){return Cf(t.l&e.l,t.m&e.m,t.h&e.h)}(ql(t)?Jw(t):t,ql(e)?Jw(e):e))}function Jg(t){return 0==t.b?null:(Lu(0!=t.b),Ym(t,t.a.a))}function tv(t){t.d=t.d-15,t.b=t.b-15,t.c=t.c+15,t.a=t.a+15}function ev(t){this.b=t,this.c=t,t.e=null,t.c=null,this.a=1}function nv(t,e,n){this.d=t,this.b=new Re,this.c=e,this.a=n}function rv(t,e){!function(t,e){t.a=e}(this,new ts(t.a,t.b)),function(t,e){t.b=e}(this,Yf(e))}function iv(t){pl(new Kn(Qk(t.e)))&&(function(t){var e,n,r;for(r=new zd(new ar(t.c).a);gl(r.a);)switch(r.b=Qb(r.a),e=Uf((n=new Bc(r.c,r.b)).b.b[n.a.e],62),Uf(n.a,67).e){case 0:e.d=0,e.e=-(e.b+t.d);break;case 1:e.d=(t.e.e.j.a-e.c)/2,e.e=-(e.b+t.d);break;case 2:e.d=t.e.e.j.a-e.c,e.e=-(e.b+t.d);break;case 3:e.d=0,e.e=t.e.e.j.b+t.d;break;case 4:e.d=(t.e.e.j.a-e.c)/2,e.e=t.e.e.j.b+t.d;break;case 5:e.d=t.e.e.j.a-e.c,e.e=t.e.e.j.b+t.d;break;case 6:e.d=-(e.c+t.d),e.e=0;break;case 7:e.d=-(e.c+t.d),e.e=(t.e.e.j.b-e.b)/2;break;case 8:e.d=-(e.c+t.d),e.e=t.e.e.j.b-e.b;break;case 9:e.d=t.e.e.j.a+t.d,e.e=0;break;case 10:e.d=t.e.e.j.a+t.d,e.e=(t.e.e.j.b-e.b)/2;break;case 11:e.d=t.e.e.j.a+t.d,e.e=t.e.e.j.b-e.b;break;case 12:e.d=t.q.b+t.d,e.e=t.q.d+t.d;break;case 13:e.d=(t.e.e.j.a-e.c)/2,e.e=t.q.d+t.d;break;case 14:e.d=t.e.e.j.a-t.q.c-e.c-t.d,e.e=t.q.d+t.d;break;case 15:e.d=t.q.b+t.d,e.e=(t.e.e.j.b-e.b)/2;break;case 16:e.d=(t.e.e.j.a-e.c)/2,e.e=(t.e.e.j.b-e.b)/2;break;case 17:e.d=t.e.e.j.a-t.q.c-e.c-t.d,e.e=(t.e.e.j.b-e.b)/2;break;case 18:e.d=t.q.b+t.d,e.e=t.e.e.j.b-t.q.a-e.b-t.d;break;case 19:e.d=(t.e.e.j.a-e.c)/2,e.e=t.e.e.j.b-t.q.a-e.b-t.d;break;case 20:e.d=t.e.e.j.a-t.q.c-e.c-t.d,e.e=t.e.e.j.b-t.q.a-e.b-t.d}}(t),function(t){var e,n,r,i,o;for(r=new Kn(Qk(t.e));r.a>>0).toString(16)}function mv(t,e){return null==e?Kc(vv(t.d,null)):Dc(t.e,e)}function wv(t){return 0|Math.max(Math.min(t,yI),-2147483648)}function xv(t){this.e=t,this.b=this.e.a.entries(),this.a=[]}function _v(t){this.c=t,this.b=new Xx(new Yn(this.c.a).a)}function Ev(t){this.b=(Xu(),Xu(),Xu(),zD),this.a=Uf(Dd(t),35)}function kv(t,e,n){Zu(),If.call(this,t,e),null!=n&&(this.c=n)}function Tv(t,e,n){if(t<0||en)throw new ao(function(t,e,n){return t<0||t>n?zC(t,n,"start index"):e<0||e>n?zC(e,n,"end index"):DA("end index (%s) must not be less than start index (%s)",Nx(Mo(TD,1),GI,1,4,[W_(e),W_(t)]))}(t,e,n))}function Cv(t,e){if(null==t)throw new Co((si(),e));return t}function Nv(t){if(!tE(t))throw new Ei;return t.c=t.b,t.b.H()}function Av(t){var e;return sx(e=new Sa(cx(t.length)),t),e}function Sv(t){var e;e=t.c.b.b,t.b=e,t.a=t.c.b,e.a=t.c.b.b=t}function Ov(t){this.b=null,!t&&(ec(),ec(),t=HX),this.a=t}function Lv(t){this.b=t,this.a=new Kv(this.b,this.b.c.length)}function Iv(t){return og(),Dd(t),function(t){var e;switch((e=Ap(t.c,t.c.length)).length){case 0:return YD;case 1:return new Ud(e[0]);default:return new sb(B_(e))}}(t||Hf(new Kn(null)))}function Mv(t,e){var n=t.a=t.a||[];return n[e]||(n[e]=t.Oc(e))}function Pv(t,e,n){var r;sT(e,n,t.c.length),r=n-e,xa(t.c,e,r)}function Dv(t,e,n){Ma.call(this,e.a),this.c=t,this.b=e,this.a=n}function Rv(t){return qc(t.c),t.e=t.a=t.c,t.c=t.c.c,++t.d,t.a.f}function jv(t){return qc(t.e),t.c=t.a=t.e,t.e=t.e.e,--t.d,t.a.f}function Gv(t){return Vw(Nx(Mo(gR,1),KM,10,0,[t.f.i,t.i,t.a]))}function Bv(){Bv=a,LY=Zx((Vg(),Nx(Mo(jY,1),FI,193,0,[AY,SY])))}function Fv(){Fv=a,dY=Zx((Nb(),Nx(Mo(wY,1),FI,175,0,[lY,hY])))}function Hv(){Hv=a,$Y=Zx((lb(),Nx(Mo(QY,1),FI,192,0,[XY,qY])))}function Yv(t,e,n){return null==e?YC(t.d,null,n):sE(t.e,e,n)}function zv(t,e){return Jd(t.a,e)?Op(t,Uf(e,17).e,null):null}function Uv(t){return Dd(t),nT((Xu(),new Pu(ju(Xf(t.a,new p)))))}function Vv(t,e){var n,r;return r=rp(t,e),n=t.a.ub(r),new Ua(t,n)}function qv(t,e,n){var r;(r=new se).b=e,r.a=n,++e.b,Lf(t.d,r)}function Xv(t,e,n){t.d&&Gy(t.d.b,t),t.d=e,t.d&&Id(t.d.b,n,t)}function Wv(t,e,n){sT(e,n,t.Y()),this.c=t,this.a=e,this.b=n-e}function $v(t,e,n,r){this.d=t,this.b=e,this.a=n,this.c=r}function Zv(t,e){Li.call(this,fw(Dd(t),Dd(e))),this.b=t,this.c=e}function Kv(t,e){this.a=t,zn.call(this,t),xy(e,t.Y()),this.b=e}function Qv(t,e,n,r){Zu(),kv.call(this,t,e,n),null!=r&&(this.d=r)}function Jv(t){return Lu(t.ae)throw new ao(zC(t,e,"index"));return t}function Lb(t,e,n){Dd(t),function(t){var e,n,r;for(xb(t.c,t.a),r=new Kn(t.c);r.a>22&wM,t<0?xM:0)}function hy(){hy=a,MR=Zx((E_(),Nx(Mo(GR,1),FI,59,0,[OR,SR,AR,NR,LR])))}function fy(){fy=a,JG=Zx((mL(),Nx(Mo(iB,1),FI,32,0,[ZG,IG,LG,$G,KG])))}function dy(){dy=a,bG=Zx((OE(),Nx(Mo(kG,1),FI,100,0,[gG,pG,hG,fG,dG])))}function py(){py=a,KY=vd(wd(wd(wd(md(new iE,(WL(),IH)),BH),lH),wH),LH)}function gy(t,e){var n;for(n=e.mb();n.G();)gS(t,Uf(n.H(),55),0,0)}function vy(t,e,n){var r;for(r=t.mb();r.G();)iS(Uf(r.H(),55),e,n)}function by(t,e,n){var r,i;for(r=0,i=0;ie)throw new ao("Index: "+t+", Size: "+e)}function _y(t,e){if(t<0||t>=e)throw new ao("Index: "+t+", Size: "+e)}function Ey(t,e){var n;return!!(n=t_(t,e.yb()))&&Ag(n.e,e.zb())}function ky(t,e){var n;return n=t.d,e>0?Uf(gd(n.a,e-1),9):null}function Ty(t,e,n,r,i,o){var a;return a=hT(i,r),9!=i&&Nx(Mo(t,o),e,n,i,a),a}function Cy(t){var e;if(!uw(t))throw new Ei;return t.d=1,e=t.c,t.c=null,e}function Ny(t,e,n,r){this.f=t,this.e=e,this.d=n,this.b=r,this.c=r?r.d:null}function Ay(t){var e;return e=Uf(gd(t.f,0),7),Uf(kx(e,($L(),oq)),7)}function Sy(t){var e;return e=Uf(gd(t.f,0),7),Uf(kx(e,($L(),oq)),7)}function Oy(){Oy=a,xX=Zx((ME(),Nx(Mo(TX,1),FI,153,0,[bX,mX,yX])))}function Ly(){Ly=a,CX=Zx((Bw(),Nx(Mo(SX,1),FI,172,0,[_X,EX,kX])))}function Iy(){Iy=a,CR=Zx((fk(),Nx(Mo(IR,1),FI,103,0,[mR,_R,ER,kR,wR,xR])))}function My(){My=a,JR=Zx((DT(),Nx(Mo(rj,1),FI,133,0,[ZR,WR,KR,qR,$R,XR])))}function Py(){Py=a,TG=Zx((bT(),Nx(Mo(SG,1),FI,28,0,[EG,_G,xG,yG,wG,mG])))}function Dy(){Dy=a,xY=Zx((pC(),Nx(Mo(kY,1),FI,125,0,[yY,gY,mY,bY,vY,pY])))}function Ry(){Ry=a,yR=new If("de.cau.cs.kieler.labels.labelManager",null)}function jy(t,e){var n;return(n=new me).c=!0,n.d=e.zb(),nL(t,e.yb(),n)}function Gy(t,e){var n;return-1!=(n=Qy(t,e,0))&&(t.vb(n),!0)}function By(t,e){return 9!=wm(e)&&Nx(mm(e),e._c,e.__elementTypeId$,wm(e),t),t}function Fy(t){return vp(t.c.a.c,t),Lu(t.b!=t.c.a.b),t.a=t.b,t.b=t.b.a,t.a}function Hy(t){Au(!!t.c),vp(t.e,t),t.c.I(),t.c=null,t.b=ix(t),Wl(t.e,t)}function Yy(t,e,n){Li.call(this,fw(Dd(t),Dd(e))),this.b=t,this.c=e,this.a=n}function zy(t,e,n,r){this.b=new On(this),this.a=t,this.c=e,this.e=n,this.d=r}function Uy(t){qx.call(this,t,0),bh(this),this.b.b=this.b,this.b.a=this.b}function Vy(t,e){Fc.call(this,t,e),this.a=Ty(KX,GI,183,2,0,1),this.b=!0}function qy(t,e){return Nl(e)?null==e?!!vv(t.d,null):function(t,e){return!(void 0===Ca(t.a,e))}(t.e,e):!!vv(t.d,e)}function Xy(t,e){return Oo(),(t-e>0?t-e:-(t-e))<=yM||t==e||isNaN(t)&&isNaN(e)}function Wy(t,e){return Oo(),(t-e>0?t-e:-(t-e))<=yM||t==e||isNaN(t)&&isNaN(e)}function $y(t){var e,n;e=!0;do{n=e?oE(t):EE(t),e=!e}while(n);ax(t,t.d)}function Zy(t,e,n){var r;if(null==e)throw new Zr;return r=Sg(t,e),function(t,e,n){if(n){var r=n.gc();t.a[e]=r(n)}else delete t.a[e]}(t,e,n),r}function Ky(t,e,n){return!t.n&&(t.n=new kr),null==n?Kd(t.n,e):wg(t.n,e,n),t}function Qy(t,e,n){for(;n=t.a.c.length;)Lf(t.a,new lo);return Uf(gd(t.a,e),20)}function tm(t,e,n,r,i){var o;return Wm(n,o=Fp(t,e)),o.g=i?8:0,o.f=r,o.e=i,o}function em(t,e){var n;this.f=t,this.b=e,n=Uf(Jp(t.b,e),126),this.c=n?n.b:null}function nm(t,e){var n,r;for(n=0,r=e.length;n0&&(r+=function(t){var e,n,r,i,o,a,s,c,u,l,h,f,d,p,g,v,b,y,m,w,x,_,E;for(i=0,y=0,_l(),b=new kr,r=new kr,function(t,e,n){var r,i,o,a,s,c,u,l,h,f,d;for(r=0,i=0,l=0;l0&&wg(e,o,W_(r+=o.b.c.length+o.e.c.length));else{for(s=mC(c,(mL(),LG)).mb();s.G();)r+=(o=Uf(s.H(),7)).b.c.length+o.e.c.length;for(a=mC(c,LG).mb();a.G();)(o=Uf(a.H(),7)).b.c.length+o.e.c.length>0&&wg(e,o,W_(r))}for(u=t.length-1;u>=0;u--)if(Vl(Uf(kx(c=t[u],(JL(),Hj)),28)))for(f=mC(c,(mL(),KG)).mb();f.G();)(h=Uf(f.H(),7)).b.c.length+h.e.c.length>0&&wg(n,h,W_(i+=h.b.c.length+h.e.c.length));else{for(d=mC(c,(mL(),KG)).mb();d.G();)i+=(h=Uf(d.H(),7)).b.c.length+h.e.c.length;for(f=mC(c,KG).mb();f.G();)(h=Uf(f.H(),7)).b.c.length+h.e.c.length>0&&wg(n,h,W_(i))}}(t,o=new kr,E=new kr),e=null,v=0,_=0,m=!0,c=!0,f=0,p=t.length;fu.k&&(++e,d=!0),p&&u&&p.k>u.k&&(++e,g=!0),f&&s&&f.ks.k&&(++e,c=!0),f&&s&&f.ku.k&&(++e,l=!0),c&&l&&s==u&&--e)}}return e}(e)),r}function om(t,e){var n;return(n=Uf(Kd(t.c,e),176))?(Td(n),n.e):null}function am(t){return n_(t,yI)>0?yI:n_(t,kI)<0?kI:Qp(t)}function sm(t){sf.call(this,(si(),null==t?pI:Uk(t)),dl(t,46)?Uf(t,46):null)}function cm(t){xu(this),Gd(t>=0,"Initial capacity must not be negative")}function um(){um=a,oF=xd(wd(wd(new iE,(WL(),MH)),xH),AH),aF=md(new iE,TH)}function lm(){lm=a,UF=new U,YF=new V,zF=new q,HF=new X,VF=new W,qF=new $}function hm(){hm=a,XX=new Gc("All",0),WX=new el,$X=new ml,ZX=new nl}function fm(){fm=a,RY=new Gs($P,0),DY=new Gs("LONGEST_PATH",1),PY=new Gs(VP,2)}function dm(){dm=a,uR=Cf(wM,wM,524287),lR=Cf(0,0,524288),ly(1),ly(2),hR=ly(0)}function pm(){pm=a,cY=Zx((nA(),Nx(Mo(fY,1),FI,109,0,[oY,tY,rY,eY,nY,JH,iY,aY])))}function gm(){gm=a,vz=Zx((Vk(),Nx(Mo(wz,1),FI,141,0,[pz,hz,fz,lz,dz])))}function vm(){vm=a,UU=Zx((mT(),Nx(Mo(KU,1),FI,115,0,[BU,GU,HU,FU,YU])))}function bm(){bm=a,Pq=Zx((qk(),Nx(Mo(Gq,1),FI,85,0,[Iq,Aq,Sq,Oq,Lq])))}function ym(t){tC(),function(t,e,n){t.a=1502^e,t.b=n^mD}(this,Qp(Qg(Uw(function(t,e){var n,r,i,o;return 63,(r=0!=(524288&(n=t.h)))&&(n|=-1048576),o=r?xM:0,i=n>>2,Cf((t.m>>2|n<<20)&wM,i&wM,o&xM)}(ql(t)?Jw(t):t)),xD)),Qp(Qg(t,xD)))}function mm(t){return Nl(t)?AD:Cl(t)?LX:vh(t)?OX:Zd(t)||Nd(t)?t.$c:t.$c||rR}function wm(t){return null==t.__elementTypeCategory$?9:t.__elementTypeCategory$}function xm(t){var e,n;for(oc(),n=SM,e=0;en&&(n=t[e]);return n}function _m(t,e){var n;return(n=Uf(Jp(t.b,e),106))||(n=e.rc(),wg(t.b,e,n)),n}function Em(t,e){var n;return(n=Uf(Jp(t.c,e),176))?(Hl(t,n),n.e):null}function km(t,e,n,r){var i;(i=Uf(Em(t.e,e),116)).b+=n,i.a+=r,Ik(t.e,e,i),t.d=!0}function Tm(t){var e;for(++t.a,e=t.c.a.length;t.a"+t.d.f+"("+t.d+")":"e_"+fh(t)}function Dm(){Dm=a,lG=Zx((yN(),Nx(Mo(vG,1),FI,41,0,[eG,tG,rG,cG,sG,aG,iG,oG,nG])))}function Rm(){Rm=a,AG=new bs("OUTSIDE",0),NG=new bs("INSIDE",1),CG=new bs("FIXED",2)}function jm(){jm=a,xV=new _c(BM,0),_V=new _c("TOP",1),wV=new _c("BOTTOM",2)}function Gm(){Gm=a,Tz=new fc("CLASSIC",0),Cz=new fc("IMPROVE_STRAIGHTNESS",1)}function Bm(){this.e=new uo,this.a=new Hg,this.d=new uo,this.b=new Re,this.c=new Re}function Fm(t,e,n){this.b=e,this.a=t,this.c=n,Lf(this.a.e,this),Lf(this.b.b,this)}function Hm(t,e){t.d=zo(t.d,e.d),t.c=Fo(t.c,e.c),t.a=Fo(t.a,e.a),t.b=zo(t.b,e.b)}function Ym(t,e){var n;return n=e.c,e.a.b=e.b,e.b.a=e.a,e.a=e.b=null,e.c=null,--t.b,n}function zm(t,e){var n;for(Xu(),Dd(t),Dd(e),n=!1;e.G();)n|=t.ib(e.H());return n}function Um(t){var e;return vp(t.e,t),Lu(t.b),t.c=t.a,e=Uf(t.a.H(),21),t.b=ix(t),e}function Vm(t){return kM=0x8000000000000000?(dm(),uR):(r=!1,t<0&&(r=!0,t=-t),n=0,t>=EM&&(t-=(n=wv(t/EM))*EM),e=0,t>=_M&&(t-=(e=wv(t/_M))*_M),i=Cf(wv(t),e,n),r&&(o=1+~i.l&wM,a=~i.m+(0==o?1:0)&wM,s=~i.h+(0==o&&0==a?1:0)&xM,i.l=o,i.m=a,i.h=s),i)}(t))}function qm(t){if(t){if(t.V())throw new Ei;return t.sb(t.Y()-1)}return function(t){var e;for(Xu();;)if(e=t.H(),!t.G())return e}(null.mb())}function Xm(t,e){var n;return e<(n=t.d).a.c.length-1?Uf(gd(n.a,e+1),9):null}function Wm(t,e){if(t){e.k=t;var n=function(t){if(t.Tc())return null;var e=t.k;return nI[e]}(e);n?n.$c=e:nI[t]=[e]}}function $m(t,e){var n,r;r=!1;do{r|=n=t.i?xx(t,e):wx(t,e)}while(n);return r}function Zm(t,e,n){var r,i;r=e;do{i=oo(t.n[r.k])+n,t.n[r.k]=i,r=t.a[r.k]}while(r!=e)}function Km(t,e){return Cv(t,"set1"),Cv(e,"set2"),ic(),new pf(t,new La(e),e)}function Qm(t){var e=/function(?:\s+([\w$]+))?\s*\(/.exec(t);return e&&e[1]||gI}function Jm(){Jm=a,MU=Zx((PT(),Nx(Mo(jU,1),FI,123,0,[LU,OU,SU,NU,CU,AU])))}function tw(){tw=a,QU=Zx((MT(),Nx(Mo(uV,1),FI,124,0,[WU,XU,ZU,qU,$U,VU])))}function ew(){ew=a,MX=Nx(Mo(iW,1),vM,26,12,[0,8,4,12,2,10,6,14,1,9,5,13,3,11,7,15])}function nw(){nw=a,jq=new Tc(GM,0),Dq=new Tc("INPUT",1),Rq=new Tc("OUTPUT",2)}function rw(t){this.c=t,this.b=new Xx(new Yn(t.b).a),this.a=null,this.d=(Xu(),Xu(),UD)}function iw(t){this.e=t,this.d=new Sa(cx(ip(this.e).Y())),this.c=this.e.a,this.b=this.e.c}function ow(t,e,n){this.c=t,Gb.call(this),this.b=e,this.j=new _g(e.d,e.e,e.c,e.b),this.a=n}function aw(t,e){t.j>0&&t.c0&&0!=t.e&&aw(t.g,e/t.j*t.g.d))}function sw(t){return t.b.d.f.g==(RT(),DF)?Uf(kx(t.b.d.f,($L(),oq)),7):t.b.d}function cw(t){return t.b.c.f.g==(RT(),DF)?Uf(kx(t.b.c.f,($L(),oq)),7):t.b.c}function uw(t){switch(Vc(3!=t.d),t.d){case 2:return!1;case 0:return!0}return function(t){return t.d=3,t.c=function(t){for(var e;t.b.G();)if(e=t.b.H(),t.a.D(e))return e;return t.d=2,null}(t),2!=t.d&&(t.d=0,!0)}(t)}function lw(t){switch(t.e){case 2:return mL(),KG;case 4:return mL(),LG;default:return t}}function hw(t){switch(t.e){case 1:return mL(),$G;case 3:return mL(),IG;default:return t}}function fw(t,e){var n;return zg(),n=new Xs(1),Nl(t)?Yv(n,t,e):YC(n.d,t,e),new rr(n)}function dw(t,e){return t.g?(t.g=dw(t.g,e),--t.a,t.j=__(t.j,e.c),$T(t)):t.e}function pw(t,e){return t.e?(t.e=pw(t.e,e),--t.a,t.j=__(t.j,e.c),$T(t)):t.g}function gw(t,e){var n,r,i;for(Fd(e),n=!1,i=e.mb();i.G();)r=i.H(),n|=t.ib(r);return n}function vw(t){var e,n;for(n=new Fr,e=t.b.mb();e.G();)Of(n,Uf(e.H(),92).a);return n}function bw(t){var e,n,r;for(e=0,r=t.mb();r.G();)e+=(Fd(n=Oh(r.H())),n);return e/t.Y()}function yw(t,e){var n;return(n=Uf(Jp(t.c,e),200))||((n=new Jr).c=e,wg(t.c,n.c,n)),n}function mw(t,e){var n;return Fd(e),n=e.e,!t.b[n]&&(Yp(t.b,n,e),++t.c,!0)}function ww(t,e){var n,r;return n=1-e,r=t.a[n],t.a[n]=r.a[e],r.a[e]=t,t.b=!0,r.b=!1,r}function xw(t,e){var n;return!!dl(e,10)&&(n=Uf(e,10),t.a==n.a&&t.b==n.b)}function _w(t,e,n){return t.g=new Nw(e,n),Th(t,t.g,t.i),t.d=Yo(2,t.d),++t.a,t.j=w_(t.j,n),t}function Ew(t,e,n){return t.e=new Nw(e,n),Th(t.f,t.e,t),t.d=Yo(2,t.d),++t.a,t.j=w_(t.j,n),t}function kw(t,e){var n=t.a,r=0;for(var i in n)n.hasOwnProperty(i)&&(e[r++]=i);return e}function Tw(t,e){var n,r;for(Fd(e),r=e.bb().mb();r.G();)n=Uf(r.H(),21),t.db(n.yb(),n.zb())}function Cw(t,e,n){this.g=t,this.d=e,this.e=n,this.a=new Re,function(t){var e,n,r,i;for(i=bA(new zh(t.d,t.e));i.G();)for(r=Uf(i.H(),7),n=new Kn(t.e==(mL(),KG)?r.b:r.e);n.a0),this.b=t,this.c=e,this.j=e,this.a=1,this.d=1,this.e=null,this.g=null}function Aw(t){return 1.4901161193847656e-8*LN(t,26)+11102230246251565e-32*LN(t,27)}function Sw(t){return dl(t,87)?rb(Uf(t,87)):dl(t,88)?Uf(t,88).a:dl(t,63)?new Di(t):new Ka(t)}function Ow(t){var e;return e=Uf(kx(t,($L(),qV)),32),t.g==(RT(),DF)&&(e==(mL(),KG)||e==LG)}function Lw(t,e){return!!function(t,e){var n,r,i;for(n=Uf(kx(e,($L(),UV)),18),i=Uf(WT(SF,n),18).mb();i.G();)if(r=Uf(i.H(),18),!Uf(WT(t.a,r),20).V())return!1;return!0}(t,e)&&(dN(t.a,Uf(kx(e,($L(),UV)),18),e),!0)}function Iw(t,e){var n;if(e)for(n=0;n<6;n++)Uf(gd(t.a,n),18).jb(Uf(gd(e.a,n),19));return t}function Mw(t,e){var n;return t.b?null:(n=function(t,e){return new Ch(t>0?t-1:t,e)}(t.e,t.f),Of(t.a,n),n.g=t,t.d=e,n)}function Pw(t,e){var n,r;for(r=Sk(t,0);r.b!=r.d.c;)(n=Uf(Sb(r),10)).a+=e.a,n.b+=e.b;return t}function Dw(t,e){var n,r;for(n=0;n0?t.g?Yw(t.g,e,n):0:t.c}function zw(t,e){var n,r;return!!t.c&&(r=t.g,(n=t.a.$b(e,r))>0|0==n&t.f==(qu(),BD))}function Uw(t){var e;return 0==(e=t.h)?t.l+t.m*_M:e==xM?t.l+t.m*_M-EM:t}function Vw(t){var e,n,r,i;for(e=new uo,r=0,i=t.length;r=i;o--)t[o+1]=t[o];t[i]=r}function Kw(t,e,n,r){var i,o;for(i=function(t,e,n,r){var i,o,a,s;for(o=e,i=n-1;o<=i;)if((s=t[a=o+i>>>1])r))return a;i=a-1}return-(o+1)}(t,e,n,r),i<0&&(i=-i-1),o=n-1;o>=i;o--)t[o+1]=t[o];t[i]=r}function Qw(t,e){var n,r;for(Fd(e),r=e.mb();r.G();)if(n=r.H(),!t.kb(n))return!1;return!0}function Jw(t){var e,n,r;return n=0,(r=t)<0&&(r+=EM,n=xM),e=wv(r/_M),Cf(wv(r-e*_M),e,n)}function tx(t,e){return t.c.c=Ty(TD,GI,1,0,4,1),vC(t,t.e,e),vC(t,t.a,e),zg(),xb(t.c,null),function(t){var e,n,r;for(e=0,r=new Kn(t.c);r.a0;r--)n|=VE(t,e,r-1,r);return n}function xx(t,e){var n,r,i;for(n=!1,r=t.d[e].length,i=0;ie?1:t==e?0:isNaN(t)?isNaN(e)?0:1:-1}function Lx(t){switch(t.Y()){case 0:return YD;case 1:return new Ud(t.mb().H());default:return new sb(t)}}function Ix(){var t,e;Ix=a,e=!(Error.stackTraceLimit||"stack"in new Error),t=new we,oI=e?new u:t}function Mx(){Mx=a,VB=new If("intCoordinates",(Vd(),Vd(),NX)),qB=new fd("jsonObject"),XB=new ts(0,0)}function Px(){Px=a,ZF=new Is("MIRROR_X",0),KF=new Is("TRANSPOSE",1),$F=new Is("MIRROR_AND_TRANSPOSE",2)}function Dx(){Dx=a,DU=new yc(BM,0),PU=new yc("INCOMING_ONLY",1),RU=new yc("OUTGOING_ONLY",2)}function Rx(){return CL(),Nx(Mo(TU,1),FI,60,0,[$z,qz,Vz,Qz,Kz,vU,gU,Zz,Xz,Wz,Jz,dU,pU])}function jx(){var t,e,n,r;for(jx=a,uY=new TE(TU),n=0,r=(e=Rx()).length;n0)return Vf(e-1,t.a.c.length),yy(t.a,e-1);throw new _i}function Vx(t){t.b.c.length-t.e.c.length<0?(Fh(t,(mL(),LG)),t.a.a=t.j.a):(Fh(t,(mL(),KG)),t.a.a=0)}function qx(t,e){Gd(t>=0,"Negative initial capacity"),Gd(e>=0,"Non-positive load factor"),my(this)}function Xx(t){var e;this.e=t,this.d=new ty(this.e.e),this.a=this.d,this.b=ix(this),e=t[pD],this[pD]=e}function Wx(){this.n=null,this.j=null,this.i=null,this.d=null,this.b=null,this.k=null,this.a=null}function $x(t){var e,n,r,i;for(i=1,n=0,r=t.length;n=48&&t<58?t-48:t>=97&&t<97?t-97+10:t>=65&&t<65?t-65+10:-1}function m_(t){switch(lf(),t.Y()){case 0:return ag(),KD;case 1:return new la(t.mb().H());default:return new Ks(t)}}function w_(t,e){var n;return ql(t)&&ql(e)&&kM<(n=t+e)&&n>22),i=t.h+e.h+(r>>22),Cf(n&wM,r&wM,i&xM)}(ql(t)?Jw(t):t,ql(e)?Jw(e):e))}function x_(t,e){var n;return ql(t)&&ql(e)&&kM<(n=t*e)&&n>13|(15&t.m)<<9,i=t.m>>4&8191,o=t.m>>17|(255&t.h)<<5,a=(1048320&t.h)>>8,v=r*(s=8191&e.l),b=i*s,y=o*s,m=a*s,0!=(c=e.l>>13|(15&e.m)<<9)&&(v+=n*c,b+=r*c,y+=i*c,m+=o*c),0!=(u=e.m>>4&8191)&&(b+=n*u,y+=r*u,m+=i*u),0!=(l=e.m>>17|(255&e.h)<<5)&&(y+=n*l,m+=r*l),0!=(h=(1048320&e.h)>>8)&&(m+=n*h),d=((g=n*s)>>22)+(v>>9)+((262143&b)<<4)+((31&y)<<17),p=(b>>18)+(y>>5)+((4095&m)<<8),p+=(d+=(f=(g&wM)+((511&v)<<13))>>22)>>22,Cf(f&=wM,d&=wM,p&=xM)}(ql(t)?Jw(t):t,ql(e)?Jw(e):e))}function __(t,e){var n;return ql(t)&&ql(e)&&kM<(n=t-e)&&n>22),i=t.h-e.h+(r>>22),Cf(n&wM,r&wM,i&xM)}(ql(t)?Jw(t):t,ql(e)?Jw(e):e))}function E_(){E_=a,OR=new us(GM,0),SR=new us(DM,1),AR=new us(PM,2),NR=new us("DOWN",3),LR=new us("UP",4)}function k_(){k_=a,zR=new hs(GM,0),HR=new hs("POLYLINE",1),FR=new hs("ORTHOGONAL",2),YR=new hs("SPLINES",3)}function T_(){T_=a,ej=new ds("INHERIT",0),tj=new ds("INCLUDE_CHILDREN",1),nj=new ds("SEPARATE_CHILDREN",2)}function C_(){C_=a,BY=md(bd(new iE,(WL(),cH)),NH),FY=vd(md(yd(new iE,nH),tH),eH),HY=vd(wd(new iE,rH),eH)}function N_(){N_=a,YY=md(bd(new iE,(WL(),cH)),NH),zY=vd(md(yd(new iE,nH),tH),eH),UY=vd(wd(new iE,rH),eH)}function A_(t){this.a=new Iu,this.d=new Iu,this.b=new Iu,this.c=new Iu,this.g=new Iu,this.i=new Iu,this.f=t}function S_(t,e,n,r,i,o){this.e=new Re,this.f=(nw(),jq),Lf(this.e,t),this.d=e,this.a=n,this.b=r,this.f=i,this.c=o}function O_(t,e,n,r,i){var o,a;for(a=t.mb();a.G();)(o=Uf(a.H(),33)).i.a=e.a,o.i.b=i?e.b:e.b+r.b-o.j.b,e.a+=o.j.a+n}function L_(t,e){var n,r;for(Gf(),r=Ip(GT(t));tE(r);)if((n=Uf(Nv(r),12)).d.f==e||n.c.f==e)return n;return null}function I_(t,e,n){var r,i,o;for(r=0,o=Sk(t,0);o.b!=o.d.c&&!((i=oo(Oh(Sb(o))))>n);)i>=e&&++r;return r}function M_(t,e){var n;return e?((n=e.n?e.n:(zg(),zg(),jX)).V()||(t.n?Tw(t.n,n):t.n=new lu(n)),t):t}function P_(t,e,n){try{!function(t,e,n){if(Dd(e),n.G())for(nu(e,t.C(n.H()));n.G();)nu(e,t.c),nu(e,t.C(n.H()))}(t,e,n)}catch(t){throw dl(t=r_(t),181)?new sm(t):D_(t)}return e}function D_(t){var e;return dl(t,164)&&Zc((e=Uf(t,164)).b)!==Zc((ai(),iI))?Zc(e.b)===Zc(iI)?null:e.b:t}function R_(t,e){var n;for(n=Uf(kx(Kp(t),($L(),lq)),9);n;){if(n==e)return!0;n=Uf(kx(Kp(n),lq),9)}return!1}function j_(t){switch(Uf(kx(t,($L(),KV)),140).e){case 1:Ky(t,KV,(jm(),wV));break;case 2:Ky(t,KV,(jm(),_V))}}function G_(t){switch(lf(),t.c){case 0:return ag(),KD;case 1:return new la(PC(new qs(t)));default:return new Ii(t)}}function B_(t){var e,n;for(og(),e=0,n=t.length;e-129&&t<128?(e=t+128,!(n=(qd(),IX)[e])&&(n=IX[e]=new Mn(t)),n):new Mn(t)}function $_(t){var e,n;for(e=NT(t.b,t.d),n=yI;n>e;){if(ax(t,t.d),0==e){n=0;break}oE(t),EE(t),n=e,e=NT(t.b,t.d)}t.c=n}function Z_(){var t,e,n;tC(),n=qX+++(Date.now?Date.now():(new Date).getTime()),t=wv(Math.floor(n*KP))&xD,e=wv(n-t*wD),this.a=1502^t,this.b=e^mD}function K_(t){return Nl(t)?dk(t):Cl(t)?wv((Fd(t),t)):vh(t)?io((Fd(t),t))?1231:1237:Zd(t)?t.v():(Nd(t),fh(t))}function Q_(t,e,n,r){var i,o,a;for(a=0,o=bA(new zh(e,r));o.G();)i=Uf(o.H(),7),wg(t.i,i,W_(a++));wg(n,e,W_(a))}function J_(t){var e;return(e=Uf(kx(t,(JL(),pj)),59))==(E_(),OR)?Uf(kx(t,($L(),AV)),15).a>=1?SR:NR:e}function tE(t){if(Dd(t.b),t.b.G())return!0;for(;t.a.G();)if(Dd(t.b=t.Wb(t.a.H())),t.b.G())return!0;return!1}function eE(t){return t.d==t.c.d&&t.i==t.g.d||(t.a.c=Ty(TD,GI,1,0,4,1),ox(t.a,t.c),ox(t.a,t.g),t.d=t.c.d,t.i=t.g.d),t.a}function nE(t){var e;if(t.b){if(nE(t.b),t.b.d!=t.c)throw new xi}else t.d.V()&&(e=Uf(Jp(t.f.b,t.e),19))&&(t.d=e)}function rE(t,e,n,r,i){var o,a,s,c;for(function(t,e,n,r,i){r?function(t,e){var n,r;for(r=new Kn(e);r.a1&&(xb(e,t.b),function(t,e){var n,r,i,o,a,s,c,u,l;for(i=new Re,c=new Kn(e);c.ae){tb(n);break}}Cp(n,e)}function sE(t,e,n){var r;return r=Ca(t.a,e),function(t,e,n){t.set(e,n)}(t.a,e,void 0===n?null:n),void 0===r?(++t.c,tf(t.b)):++t.d,r}function cE(t,e,n){return(e-t<=0?0-(e-t):e-t)FP?t-n>FP:n-t>FP)}function uE(t){switch(t.e){case 0:return GU;case 1:return BU;case 2:return FU;case 3:return HU;default:return YU}}function lE(t,e){switch(e.e){case 2:return t.b;case 1:return t.c;case 4:return t.d;case 3:return t.a;default:return!1}}function hE(t){switch(mL(),t.e){case 4:return IG;case 1:return LG;case 3:return $G;case 2:return KG;default:return ZG}}function fE(t,e){if(e==t.c)return t.d;if(e==t.d)return t.c;throw new so("Node "+e+" not part of edge "+t)}function dE(t,e){var n;return Xl(t.a,e)?Uf(Xl(t.a,e)?t.b[e.e]:null,62):(n=new Hr,mw(t.a,e),Op(t,e.e,n),n)}function pE(t,e){var n,r,i;for(i=t.g.tb(),n=0;i.G();){if((r=oo(Oh(i.H()))-e)>uD)return n;r>lD&&++n}return n}function gE(t){var e,n,r,i;return mw(n=new Zf(e=Uf(ia((i=(r=t.$c).f)==RD?r:i),11),Uf(Sp(e,e.length),11),0),t),n}function vE(t,e){var n,r;for(r=new Kn(e);r.a %s",Nx(Mo(TD,1),GI,1,4,[W_(e),W_(n)])),sT(e,n=n<(r=t.length)?n:r,r),n-e}function _E(t,e){var n,r,i;for(n=t,i=0;;){if(n==e)return i;if(!(r=Uf(kx(n,($L(),lq)),9)))throw new qr;n=Kp(r),++i}}function EE(t){var e,n,r;for(r=!1,n=t.d.length-1;n>=0;n--)t.j=(e=new gC(t.e,t.d,n,1),new BT(n,t.d,e)),r|=$m(t,n);return r}function kE(t){this.f=(_l(),new kr),this.n=new kr,this.k=new kr,this.g=new Ji,this.i=new lk((ui(),$D)),this.j=t,function(t,e){var n,r,i,o,a;for(n=0,a=0,i=0,o=e.length;i0?t-e:-(t-e))<=yM||t==e||isNaN(t)&&isNaN(e)?0:te?1:yu(isNaN(t),isNaN(e)))>0}function DE(t,e){return Oo(),Oo(),((t-e>0?t-e:-(t-e))<=yM||t==e||isNaN(t)&&isNaN(e)?0:te?1:yu(isNaN(t),isNaN(e)))<0}function RE(t){var e,n;for(t.d||function(t){var e,n,r,i,o,a;if(i=t.g.tb(),r=t.b.tb(),t.e)for(n=0;nuD;){for(o=e,a=0;(e-o<=0?0-(e-o):e-o)o_(t.a,r,i)+t.c.b+t.d.b)}(t.j,n,r)&&(function(t,e,n){!function(t,e,n){$N(t,e,n,(mL(),LG),t.f),$N(t,e,n,KG,t.n)}(t.c,e,n)}(t.j,t.d[e][n],t.d[e][r]),a=(o=t.d[e])[r],o[r]=o[n],o[n]=a,i=!0),i}function qE(t,e,n){var r,i,o,a,s;i=(s=Kp(t)).a,r=Uf(kx(s,($L(),PV)),15).a,o=s.d,a=t.i,e&&(a.a=a.a-i.b-r-o.a),n&&(a.b=a.b-i.d-r-o.b)}function XE(t,e){var n,r,i;for(r=Ip(GT(t));tE(r);)return n=Uf(Nv(r),12),new Fe(Dd((i=Uf(e.B(n),9)).i.b+i.j.b/2));return ci(),ci(),kD}function WE(t){var e,n,r,i;for(n=vO(t),e=jP,i=0,r=0;e>.5&&i<50;)e=Na(XT(n,r=fA(n),!0).b),++i;return XT(t,r,!1)}function $E(t){var e,n,r,i;for(n=vO(t),e=jP,i=0,r=0;e>.5&&i<50;)e=Na(XT(n,r=hA(n),!0).a),++i;return XT(t,r,!1)}function ZE(t){var e,n,r;for(this.a=new Iu,this.e=new Ji,this.f=0,n=0,r=t.length;n0),e.a.sb(e.c=--e.b))}function ik(t,e,n){HE(n,"Compound graph preprocessor",1),t.a=new $s,oO(t,e,null),function(t,e){var n,r,i,o,a,s,c;for(a=ip(t.a).mb();a.G();){if((o=Uf(a.H(),12)).b.c.length>0)for(xb(r=new df(Uf(WT(t.a,o),18)),new cn(e)),i=new Kv(o.b,0);i.b=t.b>>1)for(r=t.c,n=t.b;n>e;--n)r=r.b;else for(r=t.a.a,n=0;n0&&(i.b+=e),i}function Lk(t,e){var n,r,i;for(i=new uo,r=t.mb();r.G();)iS(n=Uf(r.H(),55),0,i.b),i.b+=n.e.b+e,i.a=Fo(i.a,n.e.a);return i.a>0&&(i.a+=e),i}function Ik(t,e,n){var r,i,o;return(i=Uf(Jp(t.c,e),176))?(o=bf(i,n),Hl(t,i),o):(r=new sd(t,e,n),wg(t.c,e,r),Sv(r),null)}function Mk(t){switch(t.e){case 8:return mL(),IG;case 9:return mL(),$G;case 10:return mL(),LG;case 11:return mL(),KG;default:return mL(),ZG}}function Pk(t,e){return Nl(t)?!!cI[e]:t._c?!!t._c[e]:Cl(t)?!!sI[e]:!!vh(t)&&!!aI[e]}function Dk(){Mx(),this.i=(_l(),new kr),this.a=new kr,this.k=new kr,this.j=new kr,this.b=new kr,this.n=new kr,this.f=new kr,this.e=new kr}function Rk(t,e){var n,r;e.a.R(t)||(r=Uf(kx(t,($L(),qV)),32),n=Uf(gd(t.f,0),7),r==(mL(),IG)?Fh(n,$G):r==$G&&Fh(n,IG),e.a.db(t,e))}function jk(t){return Yo(1,Uf(kx(t,($L(),gq)),24).a)*(t.c.f.g==(RT(),GF)&&t.d.f.g==GF?1:t.c.f.g==GF||t.d.f.g==GF?2:8)}function Gk(t){var e,n,r,i;for(i=Uf(kx(t,($L(),oq)),7),n=0,r=(e=Uf(Yk(t.b,Ty(IF,CP,12,t.b.c.length,0,1)),47)).length;nr&&Yp(e,r,null),e}function zk(t,e){var n,r;for(r=t.a.length,e.lengthr&&Yp(e,r,null),e}function Uk(t){return Nl(t)?t:Cl(t)?Aa((Fd(t),t)):vh(t)?yl(io((Fd(t),t))):Zd(t)?t.w():Nd(t)?yv(t):t.toString?t.toString():"[JavaScriptObject]"}function Vk(){Vk=a,pz=new cc("SIMPLE",0),hz=new cc(VP,1),fz=new cc("LINEAR_SEGMENTS",2),lz=new cc("BRANDES_KOEPF",3),dz=new cc($P,4)}function qk(){qk=a,Iq=new kc(BM,0),Aq=new kc("FIRST",1),Sq=new kc("FIRST_SEPARATE",2),Oq=new kc("LAST",3),Lq=new kc("LAST_SEPARATE",4)}function Xk(){Xk=a,Hz=new le,Bz=md(new iE,(WL(),mH)),Fz=vd(md(new iE,RH),DH),jz=vd(wd(md(yd(new iE,_H),kH),CH),EH),Gz=vd(wd(new iE,CH),uH)}function Wk(t){var e,n,r;for(n=new Vn(new Un(t.d.a).a.bb().mb());n.a.G();)r=Uf(n.a.H(),21),Lf((e=Uf(r.yb(),12)).c.e,e),Lf(e.d.b,e)}function $k(t,e){var n,r;if(Su(e>0),(e&-e)==e)return wv(e*LN(t,31)*4.656612873077393e-10);do{r=(n=LN(t,31))%e}while(n-r+(e-1)<0);return wv(r)}function Zk(t,e){if(t.c.f==e)return t.d.f;if(t.d.f==e)return t.c.f;throw new so("Node "+e+" is neither source nor target of edge "+t)}function Kk(t,e,n){return Su(t>=0&&t<=1114111),t>=wI?(e[n++]=55296+(t-wI>>10&1023)&xI,e[n]=56320+(t-wI&1023)&xI,2):(e[n]=t&xI,1)}function Qk(t){var e,n;if(!t.a)for(t.a=Ol(Uf(t.e,9).c.c.length),n=new Kn(Uf(t.e,9).c);n.ai&&Yp(e,i,null),e}function oT(t,e,n){if(n&&(e<0||e>n.a.c.length))throw new so("index must be >= 0 and <= layer node count");t.d&&Gy(t.d.a,t),t.d=n,n&&Id(n.a,e,t)}function aT(t,e,n,r,i,o,a,s){var c,u;r&&((c=r.a[0])&&aT(t,e,n,c,i,o,a,s),function(t,e,n,r,i,o,a){var s,c;return!(e.Xc()&&(c=t.a.$b(n,r),c<0||!i&&0==c))&&!(e.Yc()&&(s=t.a.$b(n,o),s>0||!a&&0==s))}(t,n,r.d,i,o,a,s)&&e.ib(r),(u=r.a[1])&&aT(t,e,n,u,i,o,a,s))}function sT(t,e,n){if(t<0)throw new ao(SI+t+" < 0");if(e>n)throw new ao("toIndex: "+e+" > size "+n);if(t>e)throw new so(SI+t+" > toIndex: "+e)}function cT(t,e){var n,r,i;return n=e.yb(),i=e.zb(),r=t.cb(n),!(!(Zc(i)===Zc(r)||null!=i&&s_(i,r))||null==r&&!t.R(n))}function uT(t,e,n){var r;(r=e.c.f).g==(RT(),jF)?(Ky(t,($L(),eq),Uf(kx(r,eq),7)),Ky(t,nq,Uf(kx(r,nq),7))):(Ky(t,($L(),eq),e.c),Ky(t,nq,n.d))}function lT(t,e,n){var r,i,o,a;for(function(t){var e,n;for(null==t.g&&(t.g=_d(t)),e=0,n=t.g.length;er&&t.charCodeAt(e-1)<=32;)--e;return r>0||e>19)!=(s=e.h>>19)?s-a:(r=t.h)!=(o=e.h)?r-o:(n=t.m)!=(i=e.m)?n-i:t.l-e.l}function xT(t){var e,n,r;for(n=new Vn(new Un(t.p.a).a.bb().mb());n.a.G();)if(r=Uf(n.a.H(),21),(e=Uf(r.yb(),89)).e&&t.b[e.b]<0)return e;return null}function _T(t,e){var n,r,i,o,a;r=zo(t.d,e.d),o=zo(t.e,e.e),(i=Fo(t.d+t.c,e.d+e.c))=e.length)throw new ao("Greedy SwitchDecider: Free layer layer not in graph.");this.b=e[t],this.c=new Wh(this.b),this.d=new qw(this.b)}function FT(t,e){var n;if(this.f=t,this.b=this.f.c,Ob(e,n=t.d),e>=(n/2|0))for(this.e=t.e,this.d=n;e++0;)ib(this);this.a=null}function HT(t){var e,n,r;for(n=new Kn(t.a.b);n.a0&&(t.g=oC(t.g)),iC(t);case 2:return mu(t.e)<0&&(t.e=iC(t.e)),oC(t);default:return t.d=1+Yo(Bi(t.e),Bi(t.g)),t}}function ZT(t,e){this.f=(_l(),new kr),this.b=new kr,this.j=new kr,this.a=t,this.c=e,this.c>0&&rN(this,this.c-1,(mL(),LG)),this.c0&&hN(t,e,n),0):(Uc(0==n),0)}function JT(t,e){var n,r,i,o,a;for(i=Uf(kx(e,($L(),wq)),15).a*Uf(kx(e,(ZL(),$q)),15).a,a=t[0].i.a+t[0].j.a,o=1;o=0;e--)VX[e]=r,r*=.5;for(n=1,t=24;t>=0;t--)UX[t]=n,n*=.5}function eC(t){for(;0!=t.g.c&&0!=t.d.c;)zl(t.g).c>zl(t.d).c?(t.i+=t.g.c,zE(t.d)):zl(t.d).c>zl(t.g).c?(t.e+=t.d.c,zE(t.g)):(t.i+=id(t.g),t.e+=id(t.d),zE(t.g),zE(t.d))}function nC(t){var e,n,r,i;for(i=new $o("["),e=!1,r=t.mb();r.G();)n=r.H(),e?i.a+=", ":e=!0,iu(i,n===t?"(this Collection)":(si(),null==n?pI:Uk(n)));return i.a+="]",i.a}function rC(t){var e,n,r,i;for(i=new $o("{"),e=!1,r=t.bb().mb();r.G();)n=Uf(r.H(),21),e?i.a+=", ":e=!0,iu(i,vb(t,n.yb())),i.a+="=",iu(i,vb(t,n.zb()));return i.a+="}",i.a}function iC(t){var e;return Vc(!!t.g),e=t.g,t.g=e.e,e.e=t,e.j=t.j,e.a=t.a,t.a=1+Gi(t.e)+Gi(t.g),t.j=w_(w_(t.c,Fi(t.e)),Fi(t.g)),t.d=1+Yo(Bi(t.e),Bi(t.g)),e.d=1+Yo(Bi(e.e),Bi(e.g)),e}function oC(t){var e;return Vc(!!t.e),e=t.e,t.e=e.g,e.g=t,e.j=t.j,e.a=t.a,t.a=1+Gi(t.e)+Gi(t.g),t.j=w_(w_(t.c,Fi(t.e)),Fi(t.g)),t.d=1+Yo(Bi(t.e),Bi(t.g)),e.d=1+Yo(Bi(e.e),Bi(e.g)),e}function aC(t){var e;pl(new Kn(fT(t.e)))&&((e=Uf(mE(t.e,(JL(),Hj)),28))==(bT(),mG)?function(t){var e,n,r,i,o;for(e=t.e.j,r=new Kn(fT(t));r.a=wI?(e=55296+(t-wI>>10&1023)&xI,n=56320+(t-wI&1023)&xI,String.fromCharCode(e)+""+String.fromCharCode(n)):String.fromCharCode(t&xI)}function kC(t,e,n,r){var i;Lf(t.c,new xg(t,n,r,Uf(Jp(t.k,n),24).a)),Wp(r)&&(e==t.e?r.d.f!=t.a&&r.c.f!=t.a:r.d.f!=t.e&&r.c.f!=t.e)&&(i=n==r.c?r.d:r.c,Lf(t.c,new xg(t,i,r,Uf(Jp(t.k,i),24).a)))}function TC(t,e){var n,r,i;if(e===t)return!0;if(!dl(e,57))return!1;if(i=Uf(e,57),t.Y()!=i.Y())return!1;for(r=i.bb().mb();r.G();)if(n=Uf(r.H(),21),!t._(n))return!1;return!0}function CC(t,e){var n,r,i;return M_(r=new Tk(t),e),Ky(r,($L(),VV),e),Ky(r,(JL(),Hj),(bT(),mG)),Ky(r,sj,(fk(),xR)),fr(r,(RT(),DF)),cv(n=new TT,r),Fh(n,(mL(),KG)),cv(i=new TT,r),Fh(i,LG),r}function NC(t,e){var n,r,i;for(i=yI,r=new Kn(eE(e));r.a0&&LC(t,o,n));e.k=0}function IC(t,e){if(0>e)throw new so("Top must be smaller or equal to bottom.");if(0>t)throw new so("Left must be smaller or equal to right.");this.d=0,this.c=t,this.a=e,this.b=0}function MC(t){var e,n,r;if(0==t.length)throw new so(hD);for(n=0,r=t.length;n1)throw new so("In straight hyperEdges there may be only one edge.");Of((i=new Un(n.a).a.bb().mb(),r=Uf(new Vn(i).a.H(),21),Uf(r.yb(),12)).a,new ts(e,t.b))}function WC(t,e,n){var r,i;if(this.f=t,Ob(n,i=(r=Uf(Jp(t.b,e),126))?r.a:0),n>=(i/2|0))for(this.e=r?r.c:null,this.d=i;n++0;)Rv(this);this.b=e,this.a=null}function $C(e,r){typeof n===bI?n(r):((typeof document!==WM||"object"===lI&&t.exports)&&uW(e(r)),typeof document===WM&&typeof self!==WM&&self.postMessage(r))}function ZC(t,e){var n,r,i,o;"x"in t.a&&(i=Uf(Sg(t,"x"),104),e.i.a=i.a),"y"in t.a&&(o=Uf(Sg(t,"y"),104),e.i.b=o.a),eP in t.a&&(r=Uf(Sg(t,eP),104),e.j.a=r.a),nP in t.a&&(n=Uf(Sg(t,nP),104),e.j.b=n.a)}function KC(t,e,n){var r;wy(this),e==(pv(),EU)?Np(this.g,t.c):Np(this.o,t.c),Np(n==EU?this.g:this.o,t.d),Np(this.c,t),uk(this,Gv(t.c).b,r=Gv(t.d).b,r),this.f=function(t,e){return LT(),(t-e<=0?0-(t-e):t-e)<.2}(Gv(t.c).b,Gv(t.d).b)}function QC(t,e,n){var r,i,o,a,s;for(zg(),s=new cm((a=new Ko(Uf(gd(e.a,n),18))).b.Y()),i=new nr(a.b.mb());i.b.G();)r=Uf(i.b.H(),37),(o=Uf(Jp(t.a,r),31))||(o=YL(r),wg(t.a,r,o)),s.c[s.c.length]=o;return s}function JC(t){var e,n;if(Vs(Uf(kx(t,(JL(),Hj)),28)))for(n=new Kn(t.f);n.ae&&r.$b(t[o-1],t[o])>0;--o)a=t[o],Yp(t,o,t[o-1]),Yp(t,o-1,a)}(e,n,r,o);else if(tN(e,t,s=n+i,c=s+((a=r+i)-s>>1),-i,o),tN(e,t,c,a,-i,o),o.$b(t[c-1],t[c])<=0)for(;n=r||e upperEndpoint (%s)",Nx(Mo(TD,1),GI,1,4,[e,n])))}((s=t.$b(n,o))<=0,n,o),0==s&&Uc(r!=(qu(),BD)|a!=BD))}function uN(t){if(this.a=t,t.c.f.g==(RT(),DF))this.c=t.c,this.d=Uf(kx(t.c.f,($L(),qV)),32);else{if(t.d.f.g!=DF)throw new so("Edge "+t+" is not an external edge.");this.c=t.d,this.d=Uf(kx(t.d.f,($L(),qV)),32)}}function lN(){lN=a,Iz=wd(new iE,(WL(),vH)),Pz=md(new iE,mH),Dz=vd(md(new iE,RH),DH),Lz=vd(wd(md(new iE,hH),fH),dH),Rz=md(new iE,UH),Mz=vd(new iE,bH),Sz=vd(wd(md(yd(new iE,_H),kH),CH),EH),Oz=vd(wd(new iE,CH),uH)}function hN(t,e,n){var r,i,o,a;return Cm(n,gM),0==n?ST(t,e):(Uc(hh(t.b,e)),(a=t.c.a)?(o=Ty(iW,vM,26,1,12,1),r=ES(a,t.d,e,n,o),jd(t.c,a,r),o[0]):(t.d.$b(e,e),i=new Nw(e,n),Th(t.a,i,t.a),jd(t.c,null,i),0))}function fN(t,e,n){var r,i,o,a,s;for(r=0,s=n,e||(r=n*(t.c.length-1),s*=-1),o=new Kn(t);o.a0&&((!os(t.b.d)||!r.q.d)&&(!as(t.b.d)||!r.q.b)&&(r.j.e-=0>o/2-.5?0:o/2-.5),(!os(t.b.d)||!r.q.a)&&(!as(t.b.d)||!r.q.c)&&(r.j.b+=0>o-1?0:o-1))}(t,e,n),o=new Re,i=new Kn(t.b.a.b);i.a0&&((!os(t.b.d)||!r.q.d)&&(!as(t.b.d)||!r.q.b)&&(r.j.e+=0>o/2-.5?0:o/2-.5),(!os(t.b.d)||!r.q.a)&&(!as(t.b.d)||!r.q.c)&&(r.j.b-=o-1))}(t,e,n)}function gN(t,e){var n,r,i,o;for(t.c[e.k]=!0,Lf(t.a,e),o=new Kn(e.f);o.a(a=s+oo(t.b[t.f[i.k].k]))?n:a;return n-r}function _N(t){var e;return Zy(e=new Vi,"type",new Rd((Bh(uF),uF.n))),Zy(e,$M,new Rd(t.f)),t.b&&Zy(e,"value",t.b),t.a&&Zy(e,"context",t.a),Zy(e,ZM,new Rd(kl(new co("\n"),new zn(new Qn((null==t.g&&(t.g=_d(t)),t.g)))))),e}function EN(t,e){var n,r,i,o,a;if(e===t)return!0;if(!dl(e,20))return!1;if(a=Uf(e,20),t.Y()!=a.Y())return!1;for(o=a.mb(),r=t.mb();r.G();)if(n=r.H(),i=o.H(),!(Zc(n)===Zc(i)||null!=n&&s_(n,i)))return!1;return!0}function kN(t){!nR&&((e=["\\u0000","\\u0001","\\u0002","\\u0003","\\u0004","\\u0005","\\u0006","\\u0007","\\b","\\t","\\n","\\u000B","\\f","\\r","\\u000E","\\u000F","\\u0010","\\u0011","\\u0012","\\u0013","\\u0014","\\u0015","\\u0016","\\u0017","\\u0018","\\u0019","\\u001A","\\u001B","\\u001C","\\u001D","\\u001E","\\u001F"])[34]='\\"',e[92]="\\\\",e[173]="\\u00ad",e[1536]="\\u0600",e[1537]="\\u0601",e[1538]="\\u0602",e[1539]="\\u0603",e[1757]="\\u06dd",e[1807]="\\u070f",e[6068]="\\u17b4",e[6069]="\\u17b5",e[8203]="\\u200b",e[8204]="\\u200c",e[8205]="\\u200d",e[8206]="\\u200e",e[8207]="\\u200f",e[8232]="\\u2028",e[8233]="\\u2029",e[8234]="\\u202a",e[8235]="\\u202b",e[8236]="\\u202c",e[8237]="\\u202d",e[8238]="\\u202e",e[8288]="\\u2060",e[8289]="\\u2061",e[8290]="\\u2062",e[8291]="\\u2063",e[8292]="\\u2064",e[8298]="\\u206a",e[8299]="\\u206b",e[8300]="\\u206c",e[8301]="\\u206d",e[8302]="\\u206e",e[8303]="\\u206f",e[65279]="\\ufeff",e[65529]="\\ufff9",e[65530]="\\ufffa",e[65531]="\\ufffb",nR=e);var e,n=t.replace(/[\x00-\x1f\xad\u0600-\u0603\u06dd\u070f\u17b4\u17b5\u200b-\u200f\u2028-\u202e\u2060-\u2064\u206a-\u206f\ufeff\ufff9-\ufffb"\\]/g,(function(t){return function(t,e){var n=nR[t.charCodeAt(0)];return null==n?t:n}(t)}));return'"'+n+'"'}function TN(t,e){var n,r,i,o,a;for(r=new Vn(new Un((1==e?hF:lF).a).a.bb().mb());r.a.G();)for(i=Uf(r.a.H(),21),n=Uf(i.yb(),59),a=Uf(WT(t.f.c,n),18).mb();a.G();)o=Uf(a.H(),27),Gy(t.b.b,o.b),Gy(t.b.a,Uf(o.b,25).f)}function CN(t,e,n){var r,i,o,a;if(HE(n,"Recursive layout",2),0!=e.b.c.length){for(a=1/e.b.c.length,o=new Kn(e.b);o.a=2147483648&&(r-=4294967296),r)}function IN(t,e,n){var r,i,o;if(e!=n){r=e;do{Ih(t,r.d),(o=Uf(kx(r,($L(),lq)),9))&&(Rl(t,(i=r.a).b,i.d),Ih(t,o.i),r=Kp(o))}while(o);r=n;do{Mh(t,r.d),(o=Uf(kx(r,($L(),lq)),9))&&(jl(t,(i=r.a).b,i.d),Mh(t,o.i),r=Kp(o))}while(o)}}function MN(t,e){var n,r,i,o,a;for(n=new Re,a=new tc,i=new Vn(new Un(t.a).a.bb().mb());i.a.G();)o=Uf(i.a.H(),21),mS(a,(r=Uf(o.yb(),12)).c,r,null),mS(a,r.d,r,null);for(;a.a;)Lf(n,GS(a,e,Vl(Uf(kx(e,(JL(),Hj)),28))));return n}function PN(t,e){var n,r,i,o,a;for(r=new Vn(new Un((1==e?hF:lF).a).a.bb().mb());r.a.G();)for(i=Uf(r.a.H(),21),n=Uf(i.yb(),59),a=Uf(WT(t.f.c,n),18).mb();a.G();)o=Uf(a.H(),27),Lf(t.b.b,Uf(o.b,25)),Lf(t.b.a,Uf(o.b,25).f)}function DN(t){var e,n,r,i,o,a;for(Gf(),_l(),n=new ry,r=new Kn(t.e.c);r.a0&&i0):i<0&&-i0)}function BN(t,e,n,r,i){var o,a;xw(Vw(Nx(Mo(gR,1),KM,10,0,[i.f.i,i.i,i.a])),n)||(e.c==i?Yl(e.a,0,new $c(n)):Of(e.a,new $c(n)),r&&!ka(t.a,n)&&((a=Uf(kx(e,(JL(),kj)),44))||(a=new Fr,Ky(e,kj,a)),Mb(a,o=new $c(n),a.c.b,a.c),Np(t.a,o)))}function FN(t){var e,n,r,i,o,a;for(e=0,n=new Kn(t.a);n.a((a=Gv(r.d).b)-o<=0?0-(a-o):a-o)?e:a-o<=0?0-(a-o):a-o);return e}function HN(t,e){var n,r,i,o,a,s;if((r=t.b[e.k])>=0)return r;for(i=1,o=new Kn(e.f);o.a(a=HN(t,s))+1?i:a+1);return function(t,e,n){var r,i;for(r=(i=t.a.c).c.length;rc-n&&s=t.g.d?((e=t.f).e=dw(t.e,e),e.g=t.g,e.a=t.a-1,e.j=__(t.j,n),$T(e)):((e=t.i).g=pw(t.g,e),e.e=t.e,e.a=t.a-1,e.j=__(t.j,n),$T(e)):t.e:t.g}function qN(t){var e,n,r,i,o,a;for(i=new Kn(t.a);i.ao.k?Fh(a,$G):a.g==$G&&o.k>r.k&&Fh(a,IG))}function XN(t,e,n){var r,i,o;if(Cm(n,gM),0==n)return ST(t,e);o=t.c.a,i=Ty(iW,vM,26,1,12,1);try{if(!hh(t.b,e)||!o)return 0;r=YS(o,t.d,e,n,i)}catch(t){if(dl(t=r_(t),119))return 0;if(dl(t,76))return 0;throw D_(t)}return jd(t.c,o,r),i[0]}function WN(t){var e,n,r,i,o,a;for(il(a=Uf(Yk(t.a,Ty(FF,oP,9,t.a.c.length,0,1)),51),new ot),n=null,i=0,o=a.length;i0)return KN(t,e,n.g);if(0!=r)return w_(w_(e.ac(n.g),e._b(n)),KN(t,e,n.e));switch(t.b.f.e){case 0:return w_(e._b(n),e.ac(n.g));case 1:return e.ac(n.g);default:throw new Er}}function QN(t,e,n){var r;if(!n)return 0;if((r=t.d.$b(t.b.e,n.b))<0)return QN(t,e,n.e);if(0!=r)return w_(w_(e.ac(n.e),e._b(n)),QN(t,e,n.g));switch(t.b.d.e){case 0:return w_(e._b(n),e.ac(n.e));case 1:return e.ac(n.e);default:throw new Er}}function JN(t,e,n,r){var i,o,a,s;return fr(a=new Tk(t),(RT(),jF)),Ky(a,($L(),oq),e),Ky(a,(JL(),Hj),(bT(),mG)),Ky(a,eq,n),Ky(a,nq,r),Fh(o=new TT,(mL(),KG)),cv(o,a),Fh(s=new TT,LG),cv(s,a),lv(e,o),M_(i=new jg,e),Ky(i,kj,null),hv(i,s),lv(i,r),a}function tA(t,e){var n,r,i,o,a,s,c,u;for(n=0,a=0,s=(o=t.j).length;an.a&&(o=Yo(o,a.a-n.a-1));return o}function iA(t){var e,n;switch(e=Uf(kx(t,(JL(),Sj)),15).a,n=Uf(kx(t,Oj),15).a,Ky(t,Oj,new Hn(e)),Ky(t,Sj,new Hn(n)),Uf(kx(t,sj),103).e){case 1:Ky(t,sj,(fk(),kR));break;case 2:Ky(t,sj,(fk(),wR));break;case 3:Ky(t,sj,(fk(),_R));break;case 4:Ky(t,sj,(fk(),ER))}}function oA(t,e,n){var r,i,o;for(o=new Kn(t.e);o.a0&&(r.b.c-=r.c,r.b.c<=0&&r.b.f>0&&Of(e,r.b));for(i=new Kn(t.b);i.a0&&(r.a.f-=r.c,r.a.f<=0&&r.a.c>0&&Of(n,r.a))}function aA(t,e,n){var r,i,o;for(o=new Kn(t.j);o.a0&&(r.b.e-=r.c,r.b.e<=0&&r.b.k>0&&Of(e,r.b));for(i=new Kn(t.d);i.a0&&(r.a.k-=r.c,r.a.k<=0&&r.a.e>0&&Of(n,r.a))}function sA(t,e){switch(t.e){case 1:switch(e.e){case 1:return JP;case 4:return.5;case 3:return tD;case 2:return eD}break;case 2:switch(e.e){case 1:return JP;case 2:return.5;case 3:return tD;case 4:return eD}break;default:throw new so(QP)}return 0}function cA(t,e){var n,r,i,o;for(Lu((o=new Kv(t,0)).b0),o.a.sb(o.c=--o.b),ef(o,i),Lu(o.b1)&&(++o,++a);return!Vl(Uf(kx(n,(JL(),Hj)),28))&&s&&(++o,++a),wg(i,n,W_(o)),a}function hA(t){var e,n,r,i,o,a,s,c,u,l;for(u=(l=(s=Uf((a=t.b.mb()).H(),92)).a.a)>uD,c=luD)&&!c)return bw(s.b);if(i&&c||r&&u)return(e=o/(o-l))*bw(n.b)+(1-e)*bw(s.b)}return 0}function fA(t){var e,n,r,i,o,a,s,c,u,l;for(u=(l=(s=Uf((a=t.b.mb()).H(),92)).a.b)>uD,c=luD)&&!c)return bw(s.b);if(i&&c||r&&u)return(e=o/(o-l))*bw(n.b)+(1-e)*bw(s.b)}return 0}function dA(t,e,n){var r,i;return r=0,Wp(e)?ka(t.g,e)?(XN(t.i,W_(Ph(t,e.c)),1),XN(t.i,W_(Ph(t,e.d)),1),vl(t.g,e),r+=vk(t,e,t.i)):(Np(t.g,e),hN(t.i,W_(Ph(t,e.c)),1),hN(t.i,W_(Ph(t,e.d)),1)):(i=ST(t.i,W_(Uf(Jp(t.k,n),24).a)),r+=t.g.a.Y()-i),r}function pA(t){switch(t.e){case 0:return Zz;case 1:return $z;case 2:return qz;case 3:return Vz;case 4:return Qz;case 5:return Kz;case 6:return vU;case 7:return gU;case 8:return Wz;case 9:return Xz;case 10:return dU;case 11:return Jz;default:return pU}}function gA(t){switch(t.e){case 0:return Kz;case 1:return vU;case 2:return gU;case 3:return Zz;case 4:return $z;case 5:return qz;case 6:return Vz;case 7:return Qz;case 8:return Wz;case 9:return Xz;case 10:return dU;case 11:return Jz;default:return pU}}function vA(t){switch(t.e){case 0:return qz;case 1:return Vz;case 2:return Qz;case 3:return Kz;case 4:return vU;case 5:return gU;case 6:return Zz;case 7:return $z;case 8:return Wz;case 9:return Xz;case 10:return dU;case 11:return Jz;default:return pU}}function bA(t){var e;switch(e=t.a.f,t.b){case 0:return new Kn(t.a.f);case 1:return bp(new Lv(e),AT(t));case 2:switch(t.c.e){case 2:case 1:return bp(new Kn(e),AT(t));case 3:case 4:return bp(new Lv(e),AT(t))}}throw new No("PortOrder not implemented.")}function yA(t,e,n,r){this.e=t,this.j=Uf(kx(t,($L(),xq)),134),this.f=Ty(FF,oP,9,e,0,1),this.b=Ty(LX,hI,184,e,6,1),this.a=Ty(FF,oP,9,e,0,1),this.d=Ty(LX,hI,184,e,6,1),this.i=Ty(FF,oP,9,e,0,1),this.g=Ty(LX,hI,184,e,6,1),this.n=Ty(LX,hI,184,e,6,1),this.k=n,this.c=r}function mA(t){if(!t.a.c||!t.a.d)throw new ko((Bh(NY),NY.j+" must have a source and target "+(Bh(OY),OY.j+" specified.")));if(t.a.c==t.a.d)throw new ko("Network simplex does not support self-loops: "+t.a+" "+t.a.c+" "+t.a.d);return Tp(t.a.c.g,t.a),Tp(t.a.d.c,t.a),t.a}function wA(t,e,n,r,i){r==(mL(),LG)&&i==LG?Wg(t,e)>Wg(t,n)?t.d=_k(t,n):t.b=_k(t,e):r==KG&&i==KG?Wg(t,e)Wg(t,n)&&(t.d=_k(t,n),t.b=_k(t,e)):Wg(t,e)0&&o>0?e++:r>0?n++:o>0?i++:n++}xb(t.f,new Rt)}function _A(t,e,n,r){var i,o,a,s,c;n.d.f!=e.f&&(fr(i=new Tk(t),(RT(),jF)),Ky(i,($L(),oq),n),Ky(i,(JL(),Hj),(bT(),mG)),r.c[r.c.length]=i,cv(a=new TT,i),Fh(a,(mL(),KG)),cv(s=new TT,i),Fh(s,LG),c=n.d,lv(n,a),M_(o=new jg,n),Ky(o,kj,null),hv(o,s),lv(o,c),bN(i,a,s))}function EA(t){var e,n,r,i,o,a,s;for(i=jP,a=jP,o=null,n=new lg(new ur(t.e));n.b!=n.c.a.b;)if(1==Uf((e=Fy(n)).d,60).c&&(r=Uf(e.e,116).a,s=Uf(e.e,116).b,(i-r>FP||r-iFP)&&(a=Uf(e.e,116).b,i=Uf(e.e,116).a,o=Uf(e.d,60),0==a&&0==i)))return o;return o}function kA(t,e){var n,r,i,o,a,s;return o=t.d,(s=Uf(kx(t,(JL(),Jj)),15).a)<0&&Ky(t,Jj,new Hn(s=0)),e.j.b=s,a=Math.floor(s/2),Fh(r=new TT,(mL(),KG)),cv(r,e),r.i.b=a,Fh(i=new TT,LG),cv(i,e),i.i.b=a,lv(t,r),M_(n=new jg,t),Ky(n,kj,null),hv(n,i),lv(n,o),function(t,e,n){var r;(r=e.c.f).g==(RT(),jF)?(Ky(t,($L(),eq),Uf(kx(r,eq),7)),Ky(t,nq,Uf(kx(r,nq),7))):(Ky(t,($L(),eq),e.c),Ky(t,nq,n.d))}(e,t,n),function(t,e){var n,r;for(r=new Kv(t.b,0);r.buD&&(this.b.ib(n),s=!1),this.b.ib(c);s&&this.b.ib(n)}function AA(t,e){var n,r,i,o,a,s,c;for(n=dP,RT(),s=GF,i=new Kn(e.a);i.a0?n:0,r.i.b=n+rf(t.a,o,s)):r.i.b=(Fd(a),a)),c=rf(t.a,o,s),r.i.bo?0:o)o?0:o:s,(0>(co?0:o)o?0:o:s)),o=c,c+=a,r=Uf(gd(t.c,i),9),(n=new Eu(u)).j.b=e.j.b,dN(t.b,e,n),Lf(r.c,n);Gy(t.g.c,e),Lf(t.i,new Ls(t,e))}function GA(t,e,n){var r,i,o,a,s,c;for(e.k=1,i=e.d,c=yE(e,(nw(),Rq)).mb();c.G();)for(r=new Kn(Uf(c.H(),7).e);r.ah+s&&r.I();for(a=new Kn(f);a.aFP||r-iFP)&&(a=Uf(e.e,116).b,i=Uf(e.e,116).a,o=Uf(e.d,60),0==a&&0==i)))return o;return o}function qA(){var t,e,n,r,i;for(this.e=(_l(),new ry),this.b=new Zf(n=Uf(ia(TU),11),Uf(Sp(n,n.length),11),0),this.c=new Zf(r=Uf(ia(TU),11),Uf(Sp(r,r.length),11),0),this.a=new Zf(i=Uf(ia(TU),11),Uf(Sp(i,i.length),11),0),e=(CL(),CL(),Yz).mb();e.G();)t=Uf(e.H(),60),Ik(this.e,t,new So)}function XA(t,e,n){var r,i,o,a;Na(t.k-t.a)a?new Fm(e,t,o-a):o>0&&a>0&&(new Fm(t,e,0),new Fm(e,t,0)))}function WA(t,e){var n,r,i,o,a,s,c,u;for(c=new Re,u=null,r=Uf(Ng(uY,t),20).mb();r.G();){for(s=new Vn(new Un((n=Uf(r.H(),75)).c.a).a.bb().mb());s.a.G();)i=Uf(s.a.H(),21),ef(e,o=Uf(i.yb(),7)),ON(o,t.b);ox(c,n.b),u=t.a}for(jC(c),Om(c,u),a=new Kn(c);a.an.k&&s1&&(o=n?Ic(e.d)+1:Ic(a.d)-1,uv(a,Uf(gd(t.a.c,o),16))),JA(t,a,n));return e}function tS(t,e){var n,r,i,o;for(i=e.d?t.a.c==(dv(),mz)?q_(e.b):X_(e.b):t.a.c==(dv(),yz)?q_(e.b):X_(e.b),o=!1,Xu(),r=new Pu(ju(Xf(i.a,new p)));tE(r);)if(n=Uf(Nv(r),12),t.c.a[n.c.f.d.k]!==t.c.a[n.d.f.d.k]&&(o=!0,ka(t.b,t.a.f[Zk(n,e.b).k])))return e.c=!0,e.a=n,e;return e.c=o,e.a=null,e}function eS(t){var e,n,r,i,o,a,s;for(o=new Kn(t.a.a);o.a0&&Ax(this.n,!0,(E_(),SR)),t.g==(RT(),DF)&&Sf(this.n,!1,!1,!1,!1)}function iS(t,e,n){var r,i,o,a,s,c,u,l;for(o=new ts(e,n),u=new Kn(t.b);u.ar?h:r)>t.j.a&&(u=(s-t.j.a)/2,a.b=Fo(a.b,u),a.c=Fo(a.c,u))}function gS(t,e,n,r){var i,o,a,s,c,u,l,h;for(a=Rl(e.d,n,r),l=new Kn(e.b);l.a=40)&&function(t){var e,n,r,i,o,a,s;for(t.o=new oi,r=new lo,a=new Kn(t.e.a);a.a0,s=fE(e,o),Du(n?s.c:s.g,e),1==eE(s).c.length&&Mb(r,s,r.c.b,r.c),i=new es(o,e),uu(t.o,i),Gy(t.e.a,o))}(t),function(t){var e,n,r,i,o,a,s,c,u,l;for(u=t.e.a.c.length,o=new Kn(t.e.a);o.a0){for(Wo(t.c);wN(t,Uf(Jv(new Kn(t.e.a)),61))0?(c=t.g)?(a=c.d,t.g=ES(c,e,n,r,i),0==i[0]&&++t.a,t.j=w_(t.j,r),t.g.d==a?t:$T(t)):(i[0]=0,_w(t,n,r)):(i[0]=t.c,Uc(n_(w_(t.c,r),yI)<=0),t.c+=r,t.j=w_(t.j,r),t)}function kS(t,e,n){var r,i,o,a,s,c,u,l;for(i=!0,a=new Kn(e.c);a.au&&r>u)){i=!1,t.a&&Pf();break}u=oo(n.n[s.k])+oo(n.d[s.k])+s.j.b+s.e.a}if(!i)break}return t.a&&Pf(),i}function TS(t){var e,n,r,i,o,a;if(pl(new Kn(r=Jk(t)))){for(a=new _g(0,0,t.e.j.a,t.e.j.b),n=new Kn(r);n.aa.i.b-a.e.d+u.a+h&&(f=c.i+u.i,u.a=(u.i*u.a+c.i*c.a)/f,u.i=f,c.g=u,n=!0)),o=a,c=u;return n}function LS(t){var e,n,r,i,o;if(Zc(kx(t,(JL(),Hj)))===Zc((bT(),wG))||Zc(kx(t,Hj))===Zc(mG))for(o=new Kn(t.f);o.aa)return mL(),LG;break;case 4:case 3:if(l<0)return mL(),IG;if(l+n>o)return mL(),$G}return(c=(u+s/2)/a)+(r=(l+n/2)/o)<=1&&c-r<=0?(mL(),KG):c+r>=1&&c-r>=0?(mL(),LG):r<.5?(mL(),IG):(mL(),$G)}function MS(t,e,n,r,i,o,a){var s,c,u,l,h;for(h=new ac,c=e.mb();c.G();)for(l=new Kn(xk(Uf(c.H(),627)));l.a0&&Of(t.e,o)):(t.c[a]-=u+1,t.c[a]<=0&&t.a[a]>0&&Of(t.d,o))))}function DS(t){var e,n,r,i,o,a,s,c;for(jx(),this.b=new Kt,this.c=new Re,this.a=new Re,s=0,c=(a=Rx()).length;s0){for(i=s.length;i>0&&""==s[i-1];)--i;i0&&0==i[0]&&++t.a,t.j=w_(t.j,r-i[0]),$T(t)):(i[0]=0,r>0?Ew(t,n,r):t):o>0?(s=t.g)?(t.g=HS(s,e,n,r,i),0==r&&0!=i[0]?--t.a:r>0&&0==i[0]&&++t.a,t.j=w_(t.j,r-i[0]),$T(t)):(i[0]=0,r>0?_w(t,n,r):t):(i[0]=t.c,0==r?VN(t):(t.j=w_(t.j,r-t.c),t.c=r,t))}function YS(t,e,n,r,i){var o,a,s;return(o=e.$b(n,t.b))<0?(a=t.e)?(t.e=YS(a,e,n,r,i),i[0]>0&&(r>=i[0]?(--t.a,t.j=__(t.j,i[0])):t.j=__(t.j,r)),0==i[0]?t:$T(t)):(i[0]=0,t):o>0?(s=t.g)?(t.g=YS(s,e,n,r,i),i[0]>0&&(r>=i[0]?(--t.a,t.j=__(t.j,i[0])):t.j=__(t.j,r)),$T(t)):(i[0]=0,t):(i[0]=t.c,r>=t.c?VN(t):(t.c-=r,t.j=__(t.j,r),t))}function zS(t,e,n){var r,i,o,a,s,c,u,l;for(c=new Kn(n.b);c.a0&&u>0&&qO(b,new ts(T,u),!0))),g=Fo(g,b.i.a+b.j.a),v=Fo(v,b.i.b+b.j.b),d=new Kn(b.c);d.ae.a&&(r.kb((PT(),CU))?t.d.a+=(n.a-e.a)/2:r.kb(AU)&&(t.d.a+=n.a-e.a)),n.b>e.b&&(r.kb((PT(),OU))?t.d.b+=(n.b-e.b)/2:r.kb(SU)&&(t.d.b+=n.b-e.b)),Uf(kx(t,($L(),WV)),18).kb((KA(),nV))&&(n.a>e.a||n.b>e.b))for(s=new Kn(t.b);s.a0||0==n&&e.f==(qu(),BD))&&(s=e.g,c=e.f):(i=e.c,s=e.g,c=e.f),r&&i&&((n=t.a.$b(o,s))>0||0==n&&a==(qu(),BD)&&c==(qu(),BD))&&(o=s,qu(),a=BD,c=GD),new cN(t.a,r,o,a,i,s,c)}function ZS(t,e,n,r){var i,o,a,s,c,u;if(n.c.f!=e.f)for(fr(i=new Tk(t),(RT(),jF)),Ky(i,($L(),oq),n),Ky(i,(JL(),Hj),(bT(),mG)),r.c[r.c.length]=i,cv(a=new TT,i),Fh(a,(mL(),KG)),cv(s=new TT,i),Fh(s,LG),lv(n,a),M_(o=new jg,n),Ky(o,kj,null),hv(o,s),lv(o,e),bN(i,a,s),u=new Kv(n.b,0);u.b=r&&u.a>=r&&(l.a=r),f.a<=n&&u.a<=n&&(d.a=n-10),1==e.c.a.Y()?nm(a.a,Nx(Mo(gR,1),KM,10,0,[l,h,p,d])):nm(a.a,Nx(Mo(gR,1),KM,10,0,[l,h,i,p,d]))}function QS(t,e){var n,r,i,o,a,s;for(o=t.c,a=t.d,hv(t,null),lv(t,null),e&&io(oo(Sh(kx(a,($L(),$V)))))?hv(t,WS(a.f,(nw(),Rq),(mL(),LG))):hv(t,a),e&&io(oo(Sh(kx(o,($L(),uq)))))?lv(t,WS(o.f,(nw(),Dq),(mL(),KG))):lv(t,o),r=new Kn(t.b);r.aoo(ul(a.g,a.d[0]).a)?(Lu(c.b>0),c.a.sb(c.c=--c.b),ef(c,a),i=!0):s.e&&s.e.Y()>0&&(o=(!s.e&&(s.e=new Re),s.e).nb(e),u=(!s.e&&(s.e=new Re),s.e).nb(n),(o||u)&&((!s.e&&(s.e=new Re),s.e).ib(a),++a.c));i||(r.c[r.c.length]=a)}function nO(t,e,n,r){var i,o,a,s,c,u,l,h,f,d,p;n.d.f!=e.f&&(fr(i=new Tk(t),(RT(),jF)),Ky(i,($L(),oq),n),Ky(i,(JL(),Hj),(bT(),mG)),r.c[r.c.length]=i,cv(a=new TT,i),Fh(a,(mL(),KG)),cv(s=new TT,i),Fh(s,LG),c=n.d,lv(n,a),M_(o=new jg,n),Ky(o,kj,null),hv(o,s),lv(o,c),h=(l=(u=Uf(gd(a.b,0),12).c).f).g,p=(d=(f=Uf(gd(s.e,0),12).d).f).g,Ky(i,eq,h==jF?Uf(kx(l,eq),7):u),Ky(i,nq,p==jF?Uf(kx(d,nq),7):f))}function rO(t,e){var n,r,i,o,a,s,c,u,l,h,f,d,p;for(a=e,h=e.d,u=e.c.f,f=e.d.f,l=Ic(u.d),d=Ic(f.d),s=l;se&&(t.a=e),t.b<0?t.b=0:t.b>n&&(t.b=n)}(u,t.j.a,t.j.b),Fh(s,IS(s,o)),a=Uf(kx(r,($L(),WV)),18),c=s.g,o.e){case 2:case 1:(c==(mL(),IG)||c==$G)&&a.ib((KA(),aV));break;case 4:case 3:(c==(mL(),LG)||c==KG)&&a.ib((KA(),aV))}else i=hE(o),s=WS(t,n,n==(nw(),Rq)?i:v_(i));return s}function uO(t){var e,n,r,i,o,a,s,c;for(r=ch(Wb(t.a)),i=new Zf(e=Uf(ia(TU),11),Uf(Sp(e,e.length),11),0);r.a.G()||r.b.mb().G();)s=(n=Uf(Nm(r),12)).c.g,c=n.d.g,s==(mL(),ZG)?c!=ZG&&(a=NE(c),Ky(n,($L(),Eq),a),Fh(n.c,c),mw(i,a),r.a.I()):c==ZG?(a=NE(s),Ky(n,($L(),Eq),a),Fh(n.d,s),mw(i,a),r.a.I()):(a=iO(s,c),Ky(n,($L(),Eq),a),mw(i,a),r.a.I());return 1==i.c?o=Uf(Qb(new qs(i)),60):(CL(),o=pU),dC(t,o,!1),o}function lO(t,e,n){var r,i,o,a,s,c,u,l,h;for(c=n+e.d.c.a,h=new Kn(e.f);h.a1,s=Ip(vu((og(),new sb(B_(Nx(Mo(TD,1),GI,1,4,[l.b,l.e]))))));tE(s);)u=(a=Uf(Nv(s),12)).c==l?a.d:a.c,Na(Vw(Nx(Mo(gR,1),KM,10,0,[u.f.i,u.i,u.a])).b-o.b)>1&&BN(t,a,o,i,l)}}function hO(t,e){var n,r,i,o,a;for(a=new Xx(new Yn(t.f.b).a);a.b;){if(i=Uf((o=Um(a)).yb(),251),1==e){if(i.yc()!=(E_(),LR)&&i.yc()!=NR)continue}else if(i.yc()!=(E_(),AR)&&i.yc()!=SR)continue;switch(r=Uf(Uf(o.zb(),27).b,25),n=Uf(Uf(o.zb(),27).a,78).c,i.yc().e){case 2:r.j.d=t.e.a,r.j.c=Fo(1,r.j.c+n);break;case 1:r.j.d=r.j.d+n,r.j.c=Fo(1,r.j.c-n);break;case 4:r.j.e=t.e.b,r.j.b=Fo(1,r.j.b+n);break;case 3:r.j.e=r.j.e+n,r.j.b=Fo(1,r.j.b-n)}}}function fO(t,e,n,r,i){var o,a,s,c,u,l,h,f;for(_l(),h=new kr,a=new Re,qC(t,n,t.d.Mc(),a,h),qC(t,r,t.d.Nc(),a,h),s=new Kv(a,0);s.b=l&&(y>l&&(u.c=Ty(TD,GI,1,0,4,1),l=y),u.c[u.c.length]=p);0!=u.c.length&&(c=Uf(gd(u,$k(e,u.c.length)),80),vg(N.a,c),c.d=h++,oA(c,T,_),u.c=Ty(TD,GI,1,0,4,1))}for(w=t.c.length+1,g=new Kn(t);g.aC.d&&(ug(n),Gy(C.b,r),r.c>0&&(r.a=C,Lf(C.e,r),r.b=E,Lf(E.b,r)))}(a,Uf(kx(e,($L(),bq)),154)),function(t){var e,n,r,i,o,a,s,c,u;for(c=new Re,a=new Re,o=new Kn(t);o.a-1){for(i=new Kn(a);i.a0||(s.i=Vo(s.i,r.i-1),--s.f,0==s.f&&(a.c[a.c.length]=s))}}(a),f=-1,l=new Kn(a);l.ah||r+i>c)throw new Xr;if(0!=(1&u.g)&&0==(4&u.g)||l==s)i>0&&vT(t,e,n,r,i,!0);else if(t===n&&er;)n[a]=t[--e];else for(a=r+i;r0&&0==o[0]&&++t.a,t.j=w_(t.j,i-o[0])),$T(t)):(o[0]=0,0==r&&i>0?Ew(t,n,i):t);if(a>0)return(c=t.g)?(t.g=gO(c,e,n,r,i,o),o[0]==r&&(0==i&&0!=o[0]?--t.a:i>0&&0==o[0]&&++t.a,t.j=w_(t.j,i-o[0])),$T(t)):(o[0]=0,0==r&&i>0?_w(t,n,i):t);if(o[0]=t.c,r==t.c){if(0==i)return VN(t);t.j=w_(t.j,i-t.c),t.c=i}return t}function vO(t){var e,n,r,i,o,a,s,c,u,l,h,f,d,p,g,v;for(c=t.e,d=t.f,a=t.d,l=(p=t.c)-1,g=t.g,h=Yf(t.g.xb(1,t.g.Y()-1)),u=new Re,n=0;n0&&(c=t.i.a/o);break;case 2:case 4:(i=t.f.j.b)>0&&(c=t.i.b/i)}Ky(t,($L(),dq),c)}if(s=t.j,r)t.a.a=r.a,t.a.b=r.b;else if(e!=_G&&e!=EG&&a!=ZG)switch(a.e){case 1:t.a.a=s.a/2;break;case 2:t.a.a=s.a,t.a.b=s.b/2;break;case 3:t.a.a=s.a/2,t.a.b=s.b;break;case 4:t.a.b=s.b/2}else t.a.a=s.a/2,t.a.b=s.b/2}(c,u,i,Uf(kx(c,Fj),10)),i.e){case 2:case 1:(c.g==(mL(),IG)||c.g==$G)&&o.ib((KA(),aV));break;case 4:case 3:(c.g==(mL(),LG)||c.g==KG)&&o.ib((KA(),aV))}}function wO(t){var e,n,r,i,o;for(r=new Re,o=new Kn(t.c.f);o.a=(g=t.d.c.c.c.length)-1)return null;for((i=new Re).c[i.c.length]=e,b=e,a=n,d=-1,s=Uf(gd(t.d.c.c,n),16),f=0;f1&&a1&&a>1;)u=jS(t,y),s=Uf(gd(t.d.c.c,a),16),l=Uf(gd(t.d.c.c,a-1),16),oT(y,g=Vo(Uf(p.sb(h++),24).a,l.a.c.length),l),oT(u,b,s),b=g,y&&(i.c[i.c.length]=y),y=u,--m,++o,--a;for(v=(r-(i.c.length-1)*t.d.d)/i.c.length,c=new Kn(i);c.a=0)return!1;if(n.e&&r==(RT(),PF)&&r!=n.e)return!1;if(e.k=n.b,Lf(n.f,e),n.e=r,r==(RT(),jF)||r==BF||r==PF)for(i=new Kn(e.f);i.a0&&(Ax(t.n,!1,(E_(),AR)),Ax(t.n,!0,SR))}function EO(t,e,n){var r,i,o,a;switch(o=t.i,i=Vw(Nx(Mo(gR,1),KM,10,0,[e.i,e.f.i])),r=Vw(Nx(Mo(gR,1),KM,10,0,[e.f.i,e.i,e.a])),a=e.d,e.g.e){case 4:o.a=zo(i.a,r.a)-a.b-t.j.a-n,o.b=Vw(Nx(Mo(gR,1),KM,10,0,[e.f.i,e.i,e.a])).b+n;break;case 2:o.a=Fo(i.a+e.j.a,r.a)+a.c+n,o.b=Vw(Nx(Mo(gR,1),KM,10,0,[e.f.i,e.i,e.a])).b+n;break;case 1:o.a=Vw(Nx(Mo(gR,1),KM,10,0,[e.f.i,e.i,e.a])).a+n,o.b=zo(i.b,r.b)-a.d-t.j.b-n;break;case 3:o.a=Vw(Nx(Mo(gR,1),KM,10,0,[e.f.i,e.i,e.a])).a+n,o.b=Fo(i.b+e.j.b,r.b)+a.a+n}}function kO(t,e,n){var r,i,o,a;switch(o=t.i,i=Vw(Nx(Mo(gR,1),KM,10,0,[e.i,e.f.i])),r=Vw(Nx(Mo(gR,1),KM,10,0,[e.f.i,e.i,e.a])),a=e.d,e.g.e){case 4:o.a=zo(i.a,r.a)-a.b-t.j.a-n,o.b=Vw(Nx(Mo(gR,1),KM,10,0,[e.f.i,e.i,e.a])).b-t.j.b-n;break;case 2:o.a=Fo(i.a+e.j.a,r.a)+a.c+n,o.b=Vw(Nx(Mo(gR,1),KM,10,0,[e.f.i,e.i,e.a])).b-t.j.b-n;break;case 1:o.a=Vw(Nx(Mo(gR,1),KM,10,0,[e.f.i,e.i,e.a])).a+n,o.b=zo(i.b,r.b)-a.d-t.j.b-n;break;case 3:o.a=Vw(Nx(Mo(gR,1),KM,10,0,[e.f.i,e.i,e.a])).a+n,o.b=Fo(i.b+e.j.b,r.b)+a.a+n}}function TO(){TO=a,hV=new kb("ONE_SIDED",0,!0,!1,!1),gV=new kb("TWO_SIDED",1,!1,!1,!1),fV=new kb("ONE_SIDED_BEST_OF_UP_OR_DOWN",2,!0,!0,!1),vV=new kb("TWO_SIDED_BEST_OF_UP_OR_DOWN",3,!1,!0,!1),dV=new kb("ONE_SIDED_BEST_OF_UP_OR_DOWN_ORTHOGONAL_HYPEREDGES",4,!0,!0,!0),bV=new kb("TWO_SIDED_BEST_OF_UP_OR_DOWN_ORTHOGONAL_HYPEREDGES",5,!1,!0,!0),pV=new kb("ONE_SIDED_ORTHOGONAL_HYPEREDGES",6,!0,!1,!0),lV=new kb("OFF",7,!1,!1,!1)}function CO(t,e,n,r,i,o,a){var s,c,u,l,h,f,d;return h=io(oo(Sh(kx(e,(ZL(),rX))))),f=null,o==(nw(),Dq)&&r.c.f==n?f=r.c:o==Rq&&r.d.f==n&&(f=r.d),u=a,a&&h&&!f?(Lf(a.e,r),d=Ho(Uf(kx(a.d,(JL(),Jj)),15).a,Uf(kx(r,Jj),15).a),Ky(a.d,Jj,new Hn(d))):(mL(),l=ZG,f?l=f.g:Vs(Uf(kx(n,(JL(),Hj)),28))&&(l=o==Dq?KG:LG),c=function(t,e,n,r,i,o){var a,s,c,u,l,h,f;return u=r==(nw(),Dq)?o.c:o.d,c=J_(e),u.f==n?(a=Uf(Jp(t.b,u),9))||(Ky(a=bL(u,Uf(kx(n,(JL(),Hj)),28),i,r==Dq?-1:1,u.j,c,e),($L(),oq),u),wg(t.b,u,a)):(l=Uf(kx(o,(JL(),Jj)),15).a,s=function(t,e,n,r){var i,o;switch(i=J_(Kp(n)),cv(o=new TT,n),r.e){case 1:Fh(o,v_(hE(i)));break;case 2:Fh(o,hE(i))}return Ky(o,($L(),iq),Uf(kx(e,iq),15)),Ky(e,oq,o),wg(t.b,o,e),o}(t,a=bL((h=new y,f=Uf(kx(e,($L(),wq)),15).a*Uf(kx(e,(ZL(),$q)),15).a/2,Ky(h,iq,new Hn(f)),h),Uf(kx(n,Hj),28),i,r==Dq?-1:1,new ts(l,l),c,e),n,r),Ky(a,oq,s),wg(t.b,s,a)),Uf(kx(e,($L(),WV)),18).ib((KA(),nV)),Vs(Uf(kx(e,(JL(),Hj)),28))?Ky(e,Hj,(bT(),xG)):Ky(e,Hj,(bT(),_G)),a}(t,e,n,o,l,r),s=gb((Kp(n),r)),o==Dq?(hv(s,Uf(gd(c.f,0),7)),lv(s,i)):(hv(s,i),lv(s,Uf(gd(c.f,0),7))),u=new S_(r,s,c,Uf(kx(c,($L(),oq)),7),o,!f)),dN(t.a,r,new vf(u.d,e,o)),u}function NO(t,e,n,r){var i,o,a,s,c,u,l;if(fr(o=new Tk(t),(RT(),BF)),Ky(o,(JL(),Hj),(bT(),mG)),i=0,e){for(Ky(a=new TT,($L(),oq),e),Ky(o,oq,e.f),Fh(a,(mL(),KG)),cv(a,o),c=0,u=(l=Uf(Yk(e.b,Ty(IF,CP,12,e.b.c.length,0,1)),47)).length;cf?l:f;for(uk(this,Vw(Nx(Mo(gR,1),KM,10,0,[t.f.i,t.i,t.a])).b,h,l),a=new Vn(new Un(e.a).a.bb().mb());a.a.G();)i=Uf(a.a.H(),21),o=Uf(i.yb(),27),Np(this.c,Uf(o.b,12));this.f=!1}function PO(t,e,n,r){var i,o,a,s,c;if(!((s=(JL(),Ij).b)in e.a)||!Sg(e,s).ic().a){if(!(c=Sg(e,$M)))throw new xp("Labels must have a property 'text'.",null,e);if(!c.lc())throw new xp("A label's 'text' property must be a string.",c,e);if(Ky(o=new Eu(c.lc().a),($L(),oq),e),wg(t.f,o,e),ZC(e,o),ET(e,o),dl(n,9)?Lf(Uf(n,9).c,o):dl(n,12)?Lf(Uf(n,12).b,o):dl(n,7)&&Lf(Uf(n,7).c,o),dl(n,12))switch(a=Uf(kx(o,gj),107),ZC(e,o),Ky(o,gj,a),i=Uf(kx(r,WV),18),a.e){case 2:case 3:i.ib((KA(),eV));case 1:case 0:i.ib((KA(),JU)),Ky(o,gj,(Gw(),PR))}}}function DO(t,e){var n,r,i,o,a,s,c,u,l,h,f,d,p,g,v;for(i=0,o=0,c=new Kn(t.a);c.a.5?v-=2*o*(d-.5):d<.5&&(v+=2*i*(.5-d)),v<(r=a.e.b)&&(v=r),p=a.e.c,v>g.a-p-u&&(v=g.a-p-u),a.i.a=e+v}}function RO(){RO=a,nF=new Ji,eF=bS(Nx(Mo(TR,1),GI,79,0,[(JL(),aj),mj])),QB=bS(Nx(Mo(TR,1),GI,79,0,[Pj,Yj,(ZL(),fX),wj,($L(),gq),gX,sX])),WB=bS(Nx(Mo(TR,1),GI,79,0,[cj,fj,Ij,yj,Ej,Cj,Nj,Wj,$j,_j,Bq,Vq,qq,nX,Zq,rX,dX,cX,Hq])),KB=bS(Nx(Mo(TR,1),GI,79,0,[Oj,Sj,Tj,Jj,Mj,pq,PV,AV,wq,uX,$q,eX])),ZB=bS(Nx(Mo(TR,1),GI,79,0,[Uj,sj,pj,vj,gj,bj,xj,Dj,Rj,jj,Gj,Bj,Hj,zj,Fq,Uq,iX,Xq,zq,oX,aX,Kq,Qq,tX,lX,hX,pX,vX,Jq])),$B=bS(Nx(Mo(TR,1),GI,79,0,[Lj,Zj,Kj,Yq])),tF=bS(Nx(Mo(TR,1),GI,79,0,[oj,lj,kj,Aj,Fj,qj])),JB=bS(Nx(Mo(TR,1),GI,79,0,[(Mx(),VB)]))}function jO(t){var e,n,r,i,o,a,s;for(e=0,o=new Kn(t.b.a);o.a0;){for(_y(0,s.c.length),d=Uf(s.c[0],12),_y(0,h.c.length),i=Qy((r=Uf(h.c[0],12)).d.b,r,0),Xv(d,r.d,i),hv(r,null),lv(r,null),f=d.a,e&&Of(f,new $c(v)),n=Sk(r.a,0);n.b!=n.d.c;)Of(f,new $c(Uf(Sb(n),10)));for(g=d.b,l=new Kn(r.b);l.a0?Lm(this,this.f/this.a):null!=ul(e.g,e.d[0]).a&&null!=ul(n.g,n.d[0]).a?Lm(this,(oo(ul(e.g,e.d[0]).a)+oo(ul(n.g,n.d[0]).a))/2):null!=ul(e.g,e.d[0]).a?Lm(this,ul(e.g,e.d[0]).a):null!=ul(n.g,n.d[0]).a&&Lm(this,ul(n.g,n.d[0]).a)}function HO(t,e){var n,r,i,o,a,s,c,u,l,h,f;switch(t.g.e){case 1:if(r=Uf(kx(t,($L(),oq)),12),(n=Uf(kx(r,aq),44))?io(oo(Sh(kx(r,mq))))&&(n=Tx(n)):n=new Fr,u=Uf(kx(t,eq),7),e<=(l=Vw(Nx(Mo(gR,1),KM,10,0,[u.f.i,u.i,u.a]))).a)return l.b;if(Mb(n,l,n.a,n.a.a),h=Uf(kx(t,nq),7),(f=Vw(Nx(Mo(gR,1),KM,10,0,[h.f.i,h.i,h.a]))).a<=e)return f.b;for(Mb(n,f,n.c.b,n.c),a=Uf(Sb(c=Sk(n,0)),10),s=Uf(Sb(c),10);s.a=2)for(Mg(t.a),r=0,f=Sk(n,0);f.b!=f.d.c;)h=Uf(Sb(f),10),0==r?(e=Mh(Mh(new ts(h.a,h.b),t.c.i),t.c.f.i),t.c.a.a=e.a,t.c.a.b=e.b):r==n.b-1?(e=Mh(Mh(new ts(h.a,h.b),t.d.i),t.d.f.i),t.d.a.a=e.a,t.d.a.b=e.b):Of(t.a,h),++r;if(l)for(c=Sk(t.a,0);c.b!=c.d.c;)s=Uf(Sb(c),10),a.a=Fo(a.a,s.a),a.b=Fo(a.b,s.b);for(o=new Kn(t.b);o.a0&&Ky(a,jV,(Vd(),Vd(),AX)),(s=Uf(kx(a,(JL(),Hj)),28))==(bT(),EG)||s!=_G&&r.ib((KA(),oV)),io(oo(Sh(kx(a,fj))))&&r.ib((KA(),tV)),io(oo(Sh(kx(a,_j))))&&(r.ib((KA(),iV)),r.ib(rV),Ky(a,Hj,_G)),a}function UO(t,e){e.V()&&Sf(t.n,!0,!0,!0,!0),e.t((mL(),GG))&&Sf(t.n,!0,!0,!0,!1),e.t(MG)&&Sf(t.n,!1,!0,!0,!0),e.t(qG)&&Sf(t.n,!0,!0,!1,!0),e.t(WG)&&Sf(t.n,!0,!1,!0,!0),e.t(BG)&&Sf(t.n,!1,!0,!0,!1),e.t(PG)&&Sf(t.n,!1,!0,!1,!0),e.t(XG)&&Sf(t.n,!0,!1,!1,!0),e.t(VG)&&Sf(t.n,!0,!1,!0,!1),e.t(zG)&&Sf(t.n,!0,!0,!0,!0),e.t(RG)&&Sf(t.n,!0,!0,!0,!0),e.t(zG)&&Sf(t.n,!0,!0,!0,!0),e.t(DG)&&Sf(t.n,!0,!0,!0,!0),e.t(UG)&&Sf(t.n,!0,!0,!0,!0),e.t(YG)&&Sf(t.n,!0,!0,!0,!0),e.t(HG)&&Sf(t.n,!0,!0,!0,!0)}function VO(t,e){var n,r,i,o,a,s,c,u,l;for(s=!0,i=0,c=t.f[e.k],u=e.j.b+t.n,n=t.c[e.k][2],Kb(t.a,c,W_(Uf(gd(t.a,c),24).a-1+n)),Kb(t.b,c,oo(Oh(gd(t.b,c)))-u+n*t.e),++c>=t.i?(++t.i,Lf(t.a,W_(1)),Lf(t.b,u)):(r=t.c[e.k][1],Kb(t.a,c,W_(Uf(gd(t.a,c),24).a+1-r)),Kb(t.b,c,oo(Oh(gd(t.b,c)))+u-r*t.e)),(t.q==(nA(),tY)&&(Uf(gd(t.a,c),24).a>t.j||Uf(gd(t.a,c-1),24).a>t.j)||t.q==rY&&(oo(Oh(gd(t.b,c)))>t.k||oo(Oh(gd(t.b,c-1)))>t.k))&&(s=!1),o=Ip(q_(e));tE(o);)a=Uf(Nv(o),12).c.f,t.f[a.k]==c&&(i+=Uf((l=VO(t,a)).a,24).a,s=s&&io(oo(Sh(l.b))));return t.f[e.k]=c,new es(W_(i+=t.c[e.k][0]),(Vd(),s?AX:NX))}function qO(t,e,n){var r,i,o,a,s,c,u,l,h,f,d,p,g,v,b;if(f=new $c(t.j),b=e.a/f.a,s=e.b/f.b,g=e.a-f.a,o=e.b-f.b,n)for(i=Zc(kx(t,(JL(),Hj)))===Zc((bT(),mG)),p=new Kn(t.f);p.a=1&&(v-a>0&&h>=0?(c.i.a+=g,c.i.b+=o*a):v-a<0&&l>=0&&(c.i.a+=g*v,c.i.b+=o));t.j.a=e.a,t.j.b=e.b,Ky(t,(JL(),Zj),(LE(),new Zf(r=Uf(ia(lB),11),Uf(Sp(r,r.length),11),0)))}function XO(t){var e,n,r,i,o,a,s,c,u,l;for(r=new Re,a=new Kn(t.e.a);a.a-1){for(r=Sk(a,0);r.b!=r.d.c;)(n=Uf(Sb(r),77)).n=o;for(;0!=a.b;)for(e=new Kn((n=Uf(rT(a,0),77)).d);e.a0),o.a.sb(o.c=--o.b),ef(o,n),Cp(c,n),ON(n,s.g),tb(c),tb(c),r.a.eb(n)}}function JO(t){var e,n,r,i,o,a,s,c;for(e=null,r=new Kn(t);r.a0&&0==n.c&&(!e&&(e=new Re),e.c[e.c.length]=n);if(e)for(;0!=e.c.length;){if((n=Uf(yy(e,0),102)).b&&n.b.c.length>0)for(!n.b&&(n.b=new Re),o=new Kn(n.b);o.aQy(t,n,0))return new es(i,n)}else if(oo(ul(i.g,i.d[0]).a)>oo(ul(n.g,n.d[0]).a))return new es(i,n);for(s=(!n.e&&(n.e=new Re),n.e).mb();s.G();)!(a=Uf(s.H(),102)).b&&(a.b=new Re),xy(0,(c=a.b).c.length),Ac(c.c,0,n),a.c==c.c.length&&(e.c[e.c.length]=a)}return null}function tL(t,e){var n,r,i,o,a,s,c,u,l;if(1!=tg(X_(e))||Uf(Uv(X_(e)),12).d.f.g!=(RT(),jF))return null;for(fr(n=(o=Uf(Uv(X_(e)),12)).d.f,(RT(),PF)),Ky(n,($L(),eq),null),Ky(n,nq,null),Ky(n,(JL(),Hj),Uf(kx(e,Hj),28)),Ky(n,Lj,Uf(kx(e,Lj),86)),i=kx(o.c,oq),a=null,u=mC(n,(mL(),LG)).mb();u.G();)if(0!=(s=Uf(u.H(),7)).e.c.length){Ky(s,oq,i),l=o.c,s.j.a=l.j.a,s.j.b=l.j.b,s.a.a=l.a.a,s.a.b=l.a.b,ox(s.c,l.c),l.c.c=Ty(TD,GI,1,0,4,1),a=s;break}if(Ky(o.c,oq,null),!ab(mC(e,LG)))for(c=new Kn(Wb(mC(e,LG)));c.a0?i+t.i[1]*e+t.n[1]:0,t.o[3]>0?i+t.i[3]*e+t.n[3]:0),Fo(t.o[4]>0?n+t.i[4]*e+t.n[4]:0,t.o[2]>0?n+t.i[2]*e+t.n[2]:0))}(t,t.k);break;case 4:r=new $c(a);break;case 5:r=function(t,e){var n,r,i,o,a;for(a=new uo,o=new Kn(fT(t));o.a0&&(o.a=Fo(o.a,i+t.q.b+t.q.c)),n>0&&(o.b=Fo(o.b,n+t.q.d+t.q.a))):(i>0&&(o.a=Fo(o.a,i)),n>0&&(o.b=Fo(o.b,n)))),function(t,e){t.e.j.a=e.a,t.e.j.b=e.b}(t.e,o)}}function nL(t,e,n){var r,i,o,a,s,c,u,l,h,f,d;if(!t.b)return!1;for(a=null,f=null,i=1,(c=new Vy(null,null)).a[1]=t.b,h=c;h.a[i];)u=i,s=f,f=h,h=h.a[i],i=(r=t.a.$b(e,h.d))<0?0:1,0==r&&(!n.c||Ag(h.e,n.d))&&(a=h),h&&h.b||qo(h.a[i])||(qo(h.a[1-i])?f=f.a[u]=ww(h,i):qo(h.a[1-i])||(d=f.a[1-u])&&(qo(d.a[1-u])||qo(d.a[u])?(o=s.a[1]==f?1:0,qo(d.a[u])?s.a[o]=eb(f,u):qo(d.a[1-u])&&(s.a[o]=ww(f,u)),h.b=s.a[o].b=!0,s.a[o].a[0].b=!1,s.a[o].a[1].b=!1):(f.b=!1,d.b=!0,h.b=!0)));return a&&(n.b=!0,n.d=a.e,h!=a&&(function(t,e,n,r){var i,o;for(i=null==(o=e).d||t.a.$b(n.d,o.d)>0?1:0;o.a[i]!=n;)o=o.a[i],i=t.a.$b(n.d,o.d)>0?1:0;o.a[i]=r,r.b=n.b,r.a[0]=n.a[0],r.a[1]=n.a[1],n.a[0]=null,n.a[1]=null}(t,c,a,l=new Vy(h.d,h.e)),f==a&&(f=l)),f.a[f.a[1]==h?1:0]=h.a[h.a[0]?0:1],--t.c),t.b=c.a[1],t.b&&(t.b.b=!1),n.b}function rL(t){var e,n,r,i,o,a,s,c,u,l,h,f,d,p;for(f=new Kn(t);f.a(b=r?Uf(kx(l,sz),24).a:kI)?c:b,m=new Kn(l.f);m.a=u&&x>=v&&(f+=p.i.b+g.i.b+g.a.b-w,++s));if(n)for(a=new Kn(y.b);a.a=u&&x>=v&&(f+=p.i.b+g.i.b+g.a.b-w,++s))}s>0&&(_+=f/s,++d)}d>0?(e.a=i*_/d,e.i=d):(e.a=0,e.i=0)}function sL(t,e){var n;if(t.e)throw new ko((Bh(vF),"The "+vF.j+vP));if(!function(t,e){return Xl(t.c,e)}(t.a,e))throw new Ai("The direction "+e+" is not supported by the CGraph instance.");if(e==t.d)return t;switch(n=t.d,t.d=e,n.e){case 0:switch(e.e){case 2:yx(t);break;case 1:nk(t),yx(t);break;case 4:HT(t),yx(t);break;case 3:HT(t),nk(t),yx(t)}break;case 2:switch(e.e){case 1:nk(t),uS(t);break;case 4:HT(t),yx(t);break;case 3:HT(t),nk(t),yx(t)}break;case 1:switch(e.e){case 2:nk(t),uS(t);break;case 4:nk(t),HT(t),yx(t);break;case 3:nk(t),HT(t),nk(t),yx(t)}break;case 4:switch(e.e){case 2:HT(t),yx(t);break;case 1:HT(t),nk(t),yx(t);break;case 3:nk(t),uS(t)}break;case 3:switch(e.e){case 2:nk(t),HT(t),yx(t);break;case 1:nk(t),HT(t),nk(t),yx(t);break;case 4:nk(t),uS(t)}}return t}function cL(t,e,n){var r,i,o,a,s,c,u,l;if(!t.a[e.d.k][e.k].e){for(t.a[e.d.k][e.k].e=!0,t.a[e.d.k][e.k].b=0,t.a[e.d.k][e.k].d=0,t.a[e.d.k][e.k].a=null,l=new Kn(e.f);l.a0&&(t.a[e.d.k][e.k].d+=LN(t.e,24)*KP*.07000000029802322-.03500000014901161,t.a[e.d.k][e.k].a=t.a[e.d.k][e.k].d/t.a[e.d.k][e.k].b)}}function uL(t,e){var n,r,i,o,a,s,c,u,l,h;for(r=new Kn(t.a.c);r.adP||e.k==xz&&uv?u:v}for(n.e.b+=u-s.b,h=new Kn(t.a);h.a1;)e=zo(i,t.c),fr(l=new Tk(t.e.c),(RT(),PF)),Ky(l,(JL(),Hj),Uf(kx(c,Hj),28)),Ky(l,Lj,Uf(kx(c,Lj),86)),l.k=t.e.b++,Lf(t.b,l),l.j.b=c.j.b,l.j.a=e,Fh(h=new TT,(mL(),LG)),cv(h,c),h.i.a=l.j.a,h.i.b=l.j.b/2,Fh(f=new TT,KG),cv(f,l),f.i.b=l.j.b/2,f.i.a=-f.j.a,hv(d=new jg,h),lv(d,f),c=l,Lf(t.e.c.b,c),--u,i-=t.c+t.e.d;for(new yT(t.d,t.b,t.c),a=new Kn(r);a.ae.a||e.p>t.a)){for(n=0,r=0,s=new Vn(new Un(t.o.a).a.bb().mb());s.a.G();)i=Uf(s.a.H(),21),o=Uf(i.yb(),7),cE(Vw(Nx(Mo(gR,1),KM,10,0,[o.f.i,o.i,o.a])).b,e.p,e.a)&&++n;for(c=new Vn(new Un(t.g.a).a.bb().mb());c.a.G();)i=Uf(c.a.H(),21),o=Uf(i.yb(),7),cE(Vw(Nx(Mo(gR,1),KM,10,0,[o.f.i,o.i,o.a])).b,e.p,e.a)&&--n;for(u=new Vn(new Un(e.o.a).a.bb().mb());u.a.G();)i=Uf(u.a.H(),21),o=Uf(i.yb(),7),cE(Vw(Nx(Mo(gR,1),KM,10,0,[o.f.i,o.i,o.a])).b,t.p,t.a)&&++r;for(a=new Vn(new Un(e.g.a).a.bb().mb());a.a.G();)i=Uf(a.a.H(),21),o=Uf(i.yb(),7),cE(Vw(Nx(Mo(gR,1),KM,10,0,[o.f.i,o.i,o.a])).b,t.p,t.a)&&--r;n1)for(c=Sk(Yf(mC(e,KG)),0);c.b!=c.d.c;)0==(s=Uf(Sb(c),7)).b.c.length?(Fh(i=new TT,KG),i.j.a=s.j.a,i.j.b=s.j.b,cv(i,r),Ky(i,oq,kx(s,oq)),cv(s,null)):cv(a,r);return Ky(e,oq,null),Ky(e,IV,NX),fr(e,PF),Ky(r,(JL(),Hj),Uf(kx(e,Hj),28)),Ky(r,Lj,Uf(kx(e,Lj),86)),Id(t.b,0,r),r}function bL(t,e,n,r,i,o,a){var s,c,u,l,h,f;switch(h=n,fr(u=new Tk(a),(RT(),DF)),Ky(u,($L(),XV),i),Ky(u,(JL(),Hj),(bT(),mG)),Ky(u,iq,Uf(kx(t,Mj),15)),!(c=Uf(kx(t,Fj),10))&&(c=new ts(i.a/2,i.b/2)),Ky(u,Fj,c),cv(l=new TT,u),e!=_G&&e!=EG||(s=o!=(E_(),OR)?o:SR,h=r>0?hE(s):v_(hE(s)),Ky(t,Uj,h)),h.e){case 4:Ky(u,(ZL(),tX),(qk(),Sq)),Ky(u,YV,(Dx(),RU)),u.j.b=i.b,Fh(l,(mL(),LG)),l.i.b=c.b;break;case 2:Ky(u,(ZL(),tX),(qk(),Lq)),Ky(u,YV,(Dx(),PU)),u.j.b=i.b,Fh(l,(mL(),KG)),l.i.b=c.b;break;case 1:Ky(u,KV,(jm(),_V)),u.j.a=i.a,Fh(l,(mL(),$G)),l.i.a=c.a;break;case 3:Ky(u,KV,(jm(),wV)),u.j.a=i.a,Fh(l,(mL(),IG)),l.i.a=c.a}if(e==yG||e==wG||e==mG){switch(f=0,h.e){case 4:case 2:case 1:case 3:f=null.cd,e==wG&&(f/=null.cd)}Ky(u,dq,f)}return Ky(u,qV,h),u}function yL(t){var e,n,r,i,o,a,s,c,u,l,h,f,d,p,g,v,b,y,m;for(u=new Fr,_l(),wg(b=new kr,t,UT(t)),Cm(2,dM),r=new cm(2),t.c&&Lf(r,t.c),t.d&&Lf(r,t.d),d=new Kn(r);d.a1&&Mb(u,p,u.c.b,u.c),Mm(n)));p=g}return u}function mL(){var t;mL=a,ZG=new ys(GM,0),IG=new ys("NORTH",1),LG=new ys("EAST",2),$G=new ys("SOUTH",3),KG=new ys("WEST",4),zg(),jG=new Ko(new Zf(t=Uf(ia(iB),11),Uf(Sp(t,t.length),11),0)),GG=G_(tp(IG,Nx(Mo(iB,1),FI,32,0,[]))),MG=G_(tp(LG,Nx(Mo(iB,1),FI,32,0,[]))),qG=G_(tp($G,Nx(Mo(iB,1),FI,32,0,[]))),WG=G_(tp(KG,Nx(Mo(iB,1),FI,32,0,[]))),zG=G_(tp(IG,Nx(Mo(iB,1),FI,32,0,[$G]))),RG=G_(tp(LG,Nx(Mo(iB,1),FI,32,0,[KG]))),VG=G_(tp(IG,Nx(Mo(iB,1),FI,32,0,[KG]))),BG=G_(tp(IG,Nx(Mo(iB,1),FI,32,0,[LG]))),XG=G_(tp($G,Nx(Mo(iB,1),FI,32,0,[KG]))),PG=G_(tp(LG,Nx(Mo(iB,1),FI,32,0,[$G]))),YG=G_(tp(IG,Nx(Mo(iB,1),FI,32,0,[LG,KG]))),DG=G_(tp(LG,Nx(Mo(iB,1),FI,32,0,[$G,KG]))),UG=G_(tp(IG,Nx(Mo(iB,1),FI,32,0,[$G,KG]))),FG=G_(tp(IG,Nx(Mo(iB,1),FI,32,0,[LG,$G]))),HG=G_(tp(IG,Nx(Mo(iB,1),FI,32,0,[LG,$G,KG])))}function wL(t,e,n){var r,i,o,a,s,c,u,l,h,f,d,p,g,v,b,y,m,w;if(Ky(l=new Bm,qB,e),wg(t.e,e,l),Ky(l,($L(),lq),n),t.d&&fC(t.d,l,!1),ET(e,l),rP in e.a&&(v=l.a,b=Uf(Sg(e,rP),69),(g=Uf(Sg(b,"left"),104))&&(v.b=g.a),(m=Uf(Sg(b,"top"),104))&&(v.d=m.a),(y=Uf(Sg(b,"right"),104))&&(v.c=y.a),(i=Uf(Sg(b,qM),104))&&(v.a=i.a)),h=new Zf(r=Uf(ia(yV),11),Uf(Sp(r,r.length),11),0),Ky(l,WV,h),null==t.g&&(t.g=Sh(kx(l,(qg(),rF)))),iP in e.a){if(!(w=Sg(e,iP)).hc())throw new xp("The 'children' property of nodes must be an array.",w,e);if((u=w.hc()).a.length>0){for(n&&Ky(n,rq,l),s=Ty(FF,oP,9,u.a.length,0,1),d=0;d1)for(Lf(o,new MO(d,y,n)),h=new Vn(new Un(y.a).a.bb().mb());h.a.G();)u=Uf(h.a.H(),21),Gy(i,Uf(u.yb(),27).b);if(a.a.Y()>1)for(Lf(o,new MO(d,a,n)),h=new Vn(new Un(a.a).a.bb().mb());h.a.G();)u=Uf(h.a.H(),21),Gy(i,Uf(u.yb(),27).b)}}function kL(t,e){var n,r,i,o,a,s,c,u,l;switch(xb(o=Wb(qf(e,new Jf(t))),new te),(i=t.b).c){case 2:Np(e,new VC(r=function(t,e,n,r){var i,o,a,s,c;for(c=0,o=new Kn(t.a.b);o.a.5&&i<50;)e=Na(XT(n,r=hA(n),!0).a),++i;return XT(t,(Fd(o=Oh(sk(Yf(t.g),Yf(t.g).b-1))),o-r),!1)}(h);break;case 2:case 4:h.a=m,y=function(t){var e,n,r,i,o;for(n=_S(vO(t)),e=jP,i=0,r=0;e>.5&&i<50;)e=Na(XT(n,r=fA(n),!0).b),++i;return XT(t,(Fd(o=Oh(sk(Yf(t.g),Yf(t.g).b-1))),o-r),!1)}(h);break;default:return null}return dr(h,new MC(Nx(Mo(gR,1),KM,10,0,[c,m,y,p,v]))),h}(t.a.c,e,t.a.d,r,Mk(t.b),n),gw(t.a.a,RE(s)),a=sC(t.a.b,s.a,t.b),tv(i=new Db((!s.k&&(s.k=new yC(vw(s))),s.k))),a?$p(i,a):i}(t,a=uw(n=Ru(qf(o,new kn(i.a))))?Uf(Cy(n),91).b:15,uw(n=Ru(qf(o,new kn(Mk(i)))))?Uf(Cy(n),91).b:15,uw(n=Ru(qf(o,new kn(i.b))))?Uf(Cy(n),91).b:15),t.c,t.e,t.a.c.f,i.a)),Np(e,new VC(r,t.c,t.e,t.a.c.f,Mk(i))),Np(e,new VC(r,t.c,t.e,t.a.c.f,i.b));break;case 1:Np(e,new VC(r=function(t,e,n){var r,i,o,a,s,c;for(c=t.b,o=0,i=new Kn(t.a.b);i.a0)if(r=l.Y(),c=wv(Math.floor((r+1)/2))-1,i=wv(Math.ceil((r+1)/2))-1,e.k==_z)for(u=i;u>=c;u--)e.a[m.k]==m&&(p=Uf(l.sb(u),27),d=Uf(p.a,9),!ka(n,p.b)&&f>t.b.e[d.k]&&(e.a[d.k]=m,e.f[m.k]=e.f[d.k],e.a[m.k]=e.f[m.k],f=t.b.e[d.k]));else for(u=c;u<=i;u++)e.a[m.k]==m&&(v=Uf(l.sb(u),27),g=Uf(v.a,9),!ka(n,v.b)&&f0||n.k==_z&&iv?d:v):n.n[e.k]=r>(d>v?d:v)?r:d>v?d:v)):(g=t.d.f,p=yw(t,n.i[e.k]),f=yw(t,n.i[h.k]),n.k==_z?qv(p,f,oo(n.n[e.k])+oo(n.d[a.k])+a.j.b+a.e.a+g-(oo(n.n[h.k])+oo(n.d[u.k])-u.e.d)):qv(p,f,oo(n.n[e.k])+oo(n.d[a.k])-a.e.d-oo(n.n[h.k])-oo(n.d[u.k])-u.j.b-u.e.a-g))):v=t.e.Ic(v,e,a),a=n.a[a.k]}while(a!=e);!function(t,e){Np(t.b,e)}(t.e,e)}}function LL(t,e,n,r){var i,o,a,s,c,u,l,h,f,d,p,g,v,b;if(f=!1,h=!1,Vs(Uf(kx(r,(JL(),Hj)),28))){a=!1,s=!1;t:for(p=new Kn(r.f);p.a=r.j.b/2}b?(v=Uf(kx(r,($L(),Nq)),20))?f?o=v:(i=Uf(kx(r,DV),20))?o=v.Y()<=i.Y()?v:i:(o=new Re,Ky(r,DV,o)):(o=new Re,Ky(r,Nq,o)):(i=Uf(kx(r,($L(),DV)),20))?h?o=i:(v=Uf(kx(r,Nq),20))?o=i.Y()<=v.Y()?i:v:(o=new Re,Ky(r,Nq,o)):(o=new Re,Ky(r,DV,o)),o.ib(t),Ky(t,($L(),RV),n),e.d==n?(lv(e,null),n.b.c.length+n.e.c.length==0&&cv(n,null)):(hv(e,null),n.b.c.length+n.e.c.length==0&&cv(n,null)),Mg(e.a)}function IL(t,e){var n,r,i,o,a,s,c,u,l,h,f,d,p,g,v,b,y;for((n=new kk(e)).a||function(t){var e,n,r,i,o;switch(i=Uf(gd(t.b,0),9),e=new Tk(t),Lf(t.b,e),e.j.a=Fo(1,i.j.a),e.j.b=Fo(1,i.j.b),e.i.a=i.i.a,e.i.b=i.i.b,Uf(kx(i,($L(),qV)),32).e){case 4:e.i.a+=2;break;case 1:e.i.b+=2;break;case 2:e.i.a-=2;break;case 3:e.i.b-=2}cv(r=new TT,e),hv(n=new jg,o=Uf(gd(i.f,0),7)),lv(n,r),Ih(Lc(r.i),o.i),Ih(Lc(r.a),o.a)}(e),u=function(t){var e,n,r,i,o,a,s;for(s=new Cb,a=new Kn(t.b);a.a=s.b.c)&&(s.b=e),(!s.c||e.c<=s.c.c)&&(s.d=s.c,s.c=e),(!s.e||e.d>=s.e.d)&&(s.e=e),(!s.f||e.d<=s.f.d)&&(s.f=e);return r=new hk((jw(),yF)),Lb(t,CF,new Qn(Nx(Mo(bF,1),GI,160,0,[r]))),a=new hk(xF),Lb(t,TF,new Qn(Nx(Mo(bF,1),GI,160,0,[a]))),i=new hk(mF),Lb(t,kF,new Qn(Nx(Mo(bF,1),GI,160,0,[i]))),o=new hk(wF),Lb(t,EF,new Qn(Nx(Mo(bF,1),GI,160,0,[o]))),cA(r.c,yF),cA(i.c,mF),cA(o.c,wF),cA(a.c,xF),s.a.c=Ty(TD,GI,1,0,4,1),ox(s.a,r.c),ox(s.a,Sw(i.c)),ox(s.a,o.c),ox(s.a,Sw(a.c)),s}(u)),n}function ML(t,e){var n,r,i,o,a,s,c,u,l,h,f,d,p,g,v,b,y,m,w,x,_,E,k,T,C;return h=function(t,e){var n,r,i,o,a,s,c,u,l,h,f;if(t.V())return new uo;for(c=0,l=0,r=t.mb();r.G();)c=Fo(c,(i=Uf(r.H(),55).e).a),l+=i.a*i.b;for(c=Fo(c,Math.sqrt(l)*Uf(kx(Uf(t.mb().H(),55),($L(),AV)),15).a),h=0,f=0,s=0,n=e,a=t.mb();a.G();)h+(u=(o=Uf(a.H(),55)).e).a>c&&(h=0,f+=s+e,s=0),iS(o,h,f),n=Fo(n,h+u.a),s=Fo(s,u.b),h+=u.a+e;return new ts(n+e,f+s+e)}(fl(t,(mL(),jG)),e),p=Ok(fl(t,GG),e),w=Ok(fl(t,qG),e),k=Lk(fl(t,WG),e),f=Lk(fl(t,MG),e),y=Ok(fl(t,VG),e),g=Ok(fl(t,BG),e),_=Ok(fl(t,XG),e),x=Ok(fl(t,PG),e),T=Lk(fl(t,RG),e),b=Ok(fl(t,zG),e),m=Ok(fl(t,YG),e),E=Ok(fl(t,DG),e),C=Lk(fl(t,UG),e),d=Lk(fl(t,FG),e),v=Ok(fl(t,HG),e),n=xm(Nx(Mo(sW,1),NI,26,12,[y.a,k.a,_.a,C.a])),r=xm(Nx(Mo(sW,1),NI,26,12,[p.a,h.a,w.a,v.a])),i=b.a,o=xm(Nx(Mo(sW,1),NI,26,12,[g.a,f.a,x.a,d.a])),u=xm(Nx(Mo(sW,1),NI,26,12,[y.b,p.b,g.b,m.b])),c=xm(Nx(Mo(sW,1),NI,26,12,[k.b,h.b,f.b,v.b])),l=T.b,s=xm(Nx(Mo(sW,1),NI,26,12,[_.b,w.b,x.b,E.b])),vy(fl(t,jG),n+i,u+l),vy(fl(t,HG),n+i,u+l),vy(fl(t,GG),n+i,0),vy(fl(t,qG),n+i,u+l+c),vy(fl(t,WG),0,u+l),vy(fl(t,MG),n+i+r,u+l),vy(fl(t,BG),n+i+r,0),vy(fl(t,XG),0,u+l+c),vy(fl(t,PG),n+i+r,u+l+c),vy(fl(t,RG),0,u),vy(fl(t,zG),n,0),vy(fl(t,DG),0,u+l+c),vy(fl(t,FG),n+i+r,0),(a=new uo).a=xm(Nx(Mo(sW,1),NI,26,12,[n+r+i+o,T.a,m.a,E.a])),a.b=xm(Nx(Mo(sW,1),NI,26,12,[u+c+l+s,b.b,C.b,d.b])),a}function PL(t,e){var n,r,i,o,a,s,c,u,l,h,f,d,p,g;if(r=new Fr,u=null,(d=(p=t.c).f.g)!=(RT(),GF)&&d!=BF)throw new so("The target node of the edge must be a normal node or a northSouthPort.");for(d==BF&&(f=Uf(kx(p,($L(),oq)),7),u=new ts(Vw(Nx(Mo(gR,1),KM,10,0,[f.f.i,f.i,f.a])).a,Vw(Nx(Mo(gR,1),KM,10,0,[p.f.i,p.i,p.a])).b),p=f),cs(r,Vw(Nx(Mo(gR,1),KM,10,0,[p.f.i,p.i,p.a]))),a=Fo(5,AE(p.f,p.g)),(h=new wp(eT(p.g))).a*=a,h.b*=a,Of(r,Ih(h,Vw(Nx(Mo(gR,1),KM,10,0,[p.f.i,p.i,p.a])))),u&&Mb(r,u,r.c.b,r.c),o=t,c=t,s=null,n=!1;o;)0!=(i=o.a).b&&(n?(Of(r,al(Ih(s,(Lu(0!=i.b),Uf(i.a.a.c,10))),.5)),n=!1):n=!0,s=wu((Lu(0!=i.b),Uf(i.c.b.c,10))),gw(r,i),Mg(i)),c=o,o=Uf(Kc(vv(e.d,o)),12);(g=c.d).f.g==BF&&(f=Uf(kx(g,($L(),oq)),7),Of(r,new ts(Vw(Nx(Mo(gR,1),KM,10,0,[f.f.i,f.i,f.a])).a,Vw(Nx(Mo(gR,1),KM,10,0,[g.f.i,g.i,g.a])).b)),g=f),a=Fo(5,AE(g.f,g.g)),al(h=new wp(eT(g.g)),a),Of(r,Ih(h,Vw(Nx(Mo(gR,1),KM,10,0,[g.f.i,g.i,g.a])))),cs(r,Vw(Nx(Mo(gR,1),KM,10,0,[g.f.i,g.i,g.a]))),l=new JS(r),gw(t.a,RE(l))}function DL(t){var e,n,r,i,o,a,s,c,u,l,h,f,d,g;if(Zc(kx(t.c,(JL(),Hj)))===Zc((bT(),wG))||Zc(kx(t.c,Hj))===Zc(mG))for(l=new Kn(t.c.f);l.a1&&(a=zo(a,Na(Uf(sk(s.a,1),10).b-l.b)))));else for(p=new Kn(e.f);p.ai&&(o=f.a-i,a=yI,r.c=Ty(TD,GI,1,0,4,1),i=f.a),f.a>=i&&(r.c[r.c.length]=s,s.a.b>1&&(a=zo(a,Na(Uf(sk(s.a,s.a.b-2),10).b-f.b)))));if(0!=r.c.length&&o>e.j.a/2&&a>e.j.b/2){for(cv(d=new TT,e),Fh(d,(mL(),IG)),d.i.a=e.j.a/2,cv(g=new TT,e),Fh(g,$G),g.i.a=e.j.a/2,g.i.b=e.j.b,c=new Kn(r);c.a=u.b?hv(s,g):hv(s,d)):(u=Uf(xf(s.a),10),(0==s.a.b?Gv(s.c):Uf(Fl(s.a),10)).b>=u.b?lv(s,g):lv(s,d)),(h=Uf(kx(s,(JL(),kj)),44))&&wE(h,u,!0);e.i.a=i-e.j.a/2}}function jL(t,e){var n,r,i,o,a,s,c,u,l,h,f,d,p,g,v,b,y,m;for(b=new Re,y=new Re,m=new Re,o=new Kn(e);o.a50?b.c[b.c.length]=i:i.k>0?y.c[y.c.length]=i:m.c[m.c.length]=i;if(1==y.c.length&&0==b.c.length&&(ox(b,y),y.c=Ty(TD,GI,1,0,4,1)),0!=b.c.length&&Xl(su(t.a),(CL(),$z))&&Xl(su(t.a),(CL(),Kz))?function(t,e){var n,r,i;for(r=new Kn(e);r.a1&&(dC(i,g=Uf(Nm(c),60),!0),fp(l),ov(t.a,g))}for(f=m.c.length,r=function(t){var e,n,r,i;switch(cu(t.a).c){case 4:return CL(),Kz;case 3:return Uf(function(t){var e;return CL(),CL(),e=Uz,t.d&&FC(t),function(){throw new Kr}(),e}(t.a).mb().H(),60);case 2:return e=Uf(Qb(n=new qs(r=cu(t.a))),60),i=Uf(Qb(n),60),gA(e)==i?Xl(r,(CL(),Kz))?Vz:Kz:pA(pA(e))==i?pA(e):vA(e);case 1:return gA(Uf(Qb(new qs(r=cu(t.a))),60));case 0:return CL(),Qz;default:return null}}(t),d=new Re,a=f/au(t.a).c|0,s=0;s3&&(ox(d,(CL(),CL(),zz)),p-=4),p){case 3:Lf(d,gA(r));case 2:v=pA(gA(r));do{v=pA(v)}while(!Xl(su(t.a),v));d.c[d.c.length]=v,v=vA(gA(r));do{v=vA(v)}while(!Xl(su(t.a),v));d.c[d.c.length]=v;break;case 1:Lf(d,gA(r))}for(h=new Kn(d),u=new Kn(m);h.ayM)&&s<10);go(t.c,new L),jO(t),function(t){sL(t,(E_(),AR)),t.e=!0}(t.c),function(t){var e,n,r,i,o,a,s;for(i=new Kn(t.a.b);i.a0,v=m.e.c.length>0,u&&v?f.c[f.c.length]=m:u?p.c[p.c.length]=m:v&&(y.c[y.c.length]=m);for(d=new Kn(p);d.a=g&&(m>g&&(p.c=Ty(TD,GI,1,0,4,1),g=m),p.c[p.c.length]=a);0!=p.c.length&&(d=Uf(gd(p,$k(e,p.c.length)),77),A.a.eb(d),d.i=v++,aA(d,C,E),p.c=Ty(TD,GI,1,0,4,1))}for(x=t.c.length+1,s=new Kn(t);s.aN.i&&(ug(n),Gy(N.d,r),r.c>0&&(r.a=N,Lf(N.j,r),r.b=k,Lf(k.d,r)))}function YL(t){switch(t.e){case 14:return new Z;case 37:return new Q;case 8:return new Ki;case 30:return new Qi;case 38:return new tt;case 3:return new et;case 47:case 1:return new bn((Px(),KF));case 4:return new nt;case 49:return new rt;case 23:return new ne;case 13:return new it;case 34:return new at;case 40:return new st;case 35:return new lt;case 44:return new Uu;case 28:return new ht;case 39:return new ft;case 27:return new dt;case 6:return new pt;case 31:return new yt;case 9:return new Te;case 43:return new wt;case 17:return new xt;case 18:return new kt;case 29:return new Ce;case 11:return new It;case 12:return new Ct;case 36:return new Nt;case 46:case 0:return new bn((Px(),ZF));case 41:return new St;case 15:return new Ot;case 33:return new Lt;case 42:return new Pt;case 22:return new Dt;case 19:return new bt;case 10:return new At;case 7:return new jt;case 24:return new Gt;case 21:return new Bt;case 16:return new Ht;case 45:return new Yt;case 26:return new zt;case 20:return new Ut;case 25:return new Vt;case 5:return new Qt;case 32:return new Jt;case 48:case 2:return new bn((Px(),$F));default:throw new so("No implementation is available for the layout processor "+(null!=t.d?t.d:""+t.e))}}function zL(t,e,n){var r,i,o,a,s,c,u,l,h,f,d,p,g,v,b,y,m,w,x,_,E,k,T,C,N,A,S;for(N=0,o=0,l=e[0].d,E=n[0].d,d=0,g=n.length;d0;){for(Lu(_.b>0),x=0,i=new Kn((m=Uf(_.a.sb(_.c=--_.b),7)).b);i.a0&&(m.g==(mL(),IG)?(t.a[m.k]=N,++N):(t.a[m.k]=N+b+y,++y),o+=x)}N+=y}else{for(v=0,w=new Kn(h.f);w.a0&&(++N,o+=v)}for(k=Ty(iW,vM,26,o,12,1),s=0,f=0,p=e.length;f0;)c%2>0&&(r+=A[c+1]),++A[c=(c-1)/2|0];return r}function UL(t,e){var n,r,i,o,a,s,c,u,l,h,f,d,p,g,v,b,y,m,w,x,_,E,k,T,C,N,A,S,O;for(HE(e,"Compound graph postprocessor",1),n=io(oo(Sh(kx(t,(ZL(),Bq))))),s=Uf(kx(t,($L(),FV)),144),h=new Ji,_=s.W().mb();_.G();){for(x=Uf(_.H(),12),xb(a=new df(s.U(x)),new cn(t)),C=cw((_y(0,a.c.length),Uf(a.c[0],114))),A=sw(Uf(gd(a,a.c.length-1),114)),Mg(x.a),k=C.f,E=R_(A.f,k)?Uf(kx(k,rq),55):Kp(k),p=Uf(kx(x,(JL(),kj)),44),Ad(a,OF)?p?Mg(p):(p=new Fr,Ky(x,kj,p)):p&&Ky(x,kj,null),v=null,o=new Kn(a);o.aEP,O=Na(v.b-m.b)>EP,(!n&&S&&O||n&&(S||O))&&Of(x.a,T)),gw(x.a,r),0==r.b?v=T:(Lu(0!=r.b),v=Uf(r.c.b.c,10)),(y=Uf(kx(b,kj),44))&&(Yx(d=new Fr,0,y),Pw(d,w),gw(p,d)),sw(i)==A&&(Kp(A.f)!=i.a&&IN(w=new uo,Kp(A.f),E),Ky(x,Cq,w)),g=new Kv(b.b,0);g.b1){x=Ty(PX,hI,15,t.a.length,0,1),u=Ol(t.a.length),p=0,d=0,n=2*e.d.a.c.length+1;t:for(w=new Kn(e.f);w.a0?(x[m.k]=new Hn(C/(m.b.c.length+m.e.c.length)),p=Uo(p,x[m.k].a),d=Ho(d,x[m.k].a)):v&&(x[m.k]=new Hn(C))}for(g=(e.d?Qy(e.d.a,e,0):-1)+1,f=e.d.a.c.length+1,c=new Kn(u);c.an&&g.a.db(m,g);for(A=new Ji,v=new Ji,x=new Vn(new Un(N.a).a.bb().mb());x.a.G();)for(h=Uf(x.a.H(),21),m=Uf(h.yb(),9),a=1==e?X_(m):q_(m),Xu(),u=new Pu(ju(Xf(a.a,new p)));tE(u);)c=Uf(Nv(u),12),Ic(m.d)!=Ic(c.d.f.d)&&Np(A,c.d.f);for(_=new Vn(new Un(g.a).a.bb().mb());_.a.G();)for(h=Uf(_.a.H(),21),m=Uf(h.yb(),9),a=1==e?X_(m):q_(m),Xu(),u=new Pu(ju(Xf(a.a,new p)));tE(u);)c=Uf(Nv(u),12),Ic(m.d)!=Ic(c.d.f.d)&&Np(v,c.d.f);for(QF&&Pf(),T=Uf(gd(t.d.c.c,r+(1==e?1:-1)),16),b=kI,y=yI,f=0;ff?b:f:v.a.R(m)&&(y=y1||tg(vu(new sb(B_(Nx(Mo(TD,1),GI,1,4,[y.b,y.e])))))>1)&&i.ib((KA(),rV)),Zc(kx(p,(ZL(),zq)))===Zc((lb(),qY))&&!(JM in e.a)){n=new Fr;try{for(s=Sg(e,JM).hc(),o=0;o0&&(t.a[B.k]=W++)}else{for(M=0,F=new Kn(C.f);F.a0&&++W}for(J=0,S=0,I=n.length;S0;){for(Lu(z.b>0),Y=0,s=new Kn((B=Uf(z.a.sb(z.c=--z.b),7)).b);s.a0&&(B.g==(mL(),IG)?(t.a[B.k]=J,++J):(t.a[B.k]=J+P+R,++R))}J+=R}else{for(M=0,F=new Kn(C.f);F.a0&&++J}for(_l(),H=new kr,d=new Iu,N=0,O=e.length;Nu.b&&(u.b=U)):B.f.d==X&&(Uu.c&&(u.c=U));for(Hk(p,0,p.length,(ec(),ec(),HX)),Q=Ty(iW,vM,26,p.length,12,1),r=Ty(iW,vM,26,J+1,12,1),v=0;v0;)_%2>0&&(i+=nt[_+1]),++nt[_=(_-1)/2|0];for(k=Ty(rz,GI,156,2*p.length,0,1),m=0;m0&&(45==t.charCodeAt(0)||43==t.charCodeAt(0))?1:0;eyI)throw new Zo(EI+t+'"');return i}((si(),""+n.jc().a))),void Ky(t,f,g)}catch(t){throw dl(t=r_(t),130)?new zi("Invalid integer format for property '"+e+cP+n+")."):D_(t)}else{if(Uf(WB.a,18).kb(e)){if(!n.ic())throw new zi(sP+e+cP+n+").");return f=Uf(Uf(WB.b,57).cb(e),79),Vd(),void Ky(t,f,g=n.ic().a?AX:NX)}if(Uf(KB.a,18).kb(e)){if(!n.jc())throw new zi("Invalid float format for property '"+e+cP+n+").");return void Ky(t,f=Uf(Uf(KB.b,57).cb(e),79),g=new Fn(n.jc().a))}if(Uf(ZB.a,18).kb(e)){if(!n.lc())throw new zi(uP+e+cP+n+").");u=n.lc().a,l=null;try{c_((JL(),Uj),e)?(mL(),l=Uf(p_((fy(),JG),u),32)):c_(sj,e)?(fk(),l=Uf(p_((Iy(),CR),u),103)):c_(pj,e)?(E_(),l=Uf(p_((hy(),MR),u),59)):c_(vj,e)?(k_(),l=Uf(p_((zb(),VR),u),122)):c_(xj,e)?(T_(),l=Uf(p_((mb(),ij),u),166)):c_(Dj,e)||c_(Rj,e)||c_(jj,e)||c_(Gj,e)||c_(Bj,e)?(OE(),l=Uf(p_((dy(),bG),u),100)):c_(Hj,e)?(bT(),l=Uf(p_((Py(),TG),u),28)):c_(zj,e)?(Rm(),l=Uf(p_((yb(),OG),u),149)):c_(bj,e)?(DT(),l=Uf(p_((My(),JR),u),133)):c_(gj,e)?(Gw(),l=Uf(p_((Yb(),BR),u),107)):c_((ZL(),Uq),e)?(Vg(),l=Uf(p_((Bv(),LY),u),193)):c_(iX,e)?(fm(),l=Uf(p_((wb(),GY),u),173)):c_(Xq,e)?(mT(),l=Uf(p_((vm(),UU),u),115)):c_(Fq,e)?(Gm(),l=Uf(p_((qb(),Az),u),194)):c_(zq,e)?(lb(),l=Uf(p_((Hv(),$Y),u),192)):c_(aX,e)?(nA(),l=Uf(p_((pm(),cY),u),109)):c_(oX,e)?(Vk(),l=Uf(p_((gm(),vz),u),141)):c_(lX,e)?(pC(),l=Uf(p_((Dy(),xY),u),125)):c_(hX,e)?(Nb(),l=Uf(p_((Fv(),dY),u),175)):c_(Kq,e)?(MT(),l=Uf(p_((tw(),QU),u),124)):c_(Qq,e)?(TO(),l=Uf(p_((Fw(),mV),u),110)):c_(tX,e)?(qk(),l=Uf(p_((bm(),Pq),u),85)):c_(pX,e)?(ME(),l=Uf(p_((Oy(),xX),u),153)):c_(vX,e)?(Bw(),l=Uf(p_((Ly(),CX),u),172)):c_(Jq,e)&&(cb(),l=Uf(p_((Xb(),NV),u),174))}catch(t){throw dl(t=r_(t),54)?new zi(uP+e+cP+n+")."):D_(t)}return void Ky(t,f=Uf(Uf(ZB.b,57).cb(e),79),l)}if(Uf($B.a,18).kb(e)){if(!n.lc())throw new zi(uP+e+cP+n+").");for(d=null,a=0,s=(c=BS(n.lc().a,"[\\[\\]\\s,]+")).length;a0&&_x(e.charCodeAt(n-1),CM);)--n;if(r>=n)throw new so("The given string does not contain any numbers.");if(2!=(i=BS(e.substr(r,n-r),",|;|\r|\n")).length)throw new so("Exactly two numbers are expected, "+i.length+" were found.");try{t.a=IT(gT(i[0])),t.b=IT(gT(i[1]))}catch(t){throw dl(t=r_(t),130)?new so(NM+t):D_(t)}}(p=new uo,n.lc().a),void Ky(t,f=Uf(Uf(tF.b,57).cb(e),79),p)}catch(t){throw dl(t=r_(t),29)?new zi("Invalid KVector format for property '"+e+"' "+n+"."):D_(t)}else if(c_(lj,e)||c_(kj,e))try{return function(t,e){var n,r,i,o,a;r=BS(e,",|;|\\(|\\)|\\[|\\]|\\{|\\}| |\t|\n"),Mg(t);try{for(n=0,o=0,i=0,a=0;n0&&(o%2==0?i=IT(r[n]):a=IT(r[n]),o>0&&o%2!=0&&Of(t,new ts(i,a)),++o),++n}catch(t){throw dl(t=r_(t),130)?new so("The given string does not match the expected format for vectors."+t):D_(t)}}(v=new Fr,n.lc().a),void Ky(t,f=Uf(Uf(tF.b,57).cb(e),79),v)}catch(t){throw dl(t=r_(t),29)?new zi("Invalid KVectorChain format for property '"+e+"' "+n+"."):D_(t)}else if(c_(Aj,e)||c_(oj,e))try{return function(t,e){var n,r,i,o,a,s,c,u;for(o=0;o<(si(),e.length)&&Ex(e.charCodeAt(o),TM);)++o;for(n=e.length;n>0&&Ex(e.charCodeAt(n-1),CM);)--n;if(o1?Mv(this,t-1):this,e},eI.Pc=function(){return Bh(this),this.b},eI.Qc=function(){return na(this)},eI.Rc=function(){return ra(this)},eI.Sc=function(){return 0!=(4&this.g)},eI.Tc=function(){return 0!=(1&this.g)},eI.w=function(){return(0!=(2&this.g)?"interface ":0!=(1&this.g)?"":"class ")+(Bh(this),this.n)},eI.g=0,ZN(119,72,{3:1,119:1,54:1,46:1},Vr),ZN(29,72,_I,qr,so),ZN(95,72,dI,Xr,ao),ZN(231,1,{3:1,231:1}),ZN(24,231,{3:1,23:1,24:1,231:1},Mn),eI.F=function(t){return function(t,e){return Bu(t.a,e.a)}(this,Uf(t,24))},eI.t=function(t){return dl(t,24)&&Uf(t,24).a==this.a},eI.v=function(){return this.a},eI.w=function(){return ca(this.a)},eI.a=0,cI={3:1,345:1,23:1,2:1},ZN(350,1,TI,ae),eI.$b=function(t,e){return function(t,e){return Tg((si(),t.toLowerCase()),e.toLowerCase())}(Lh(t),Lh(e))},ZN(257,95,dI,(function(t){ao.call(this,t)})),ZN(145,1,{23:1,145:1}),eI.F=function(t){return function(t,e){return function(t,e){return Tg((si(),t.toLowerCase()),e.toLowerCase())}(t.a,e.a)}(this,Uf(t,145))},eI.t=function(t){var e;return t===this||!!dl(t,145)&&(e=Uf(t,145),ji(this.a,e.a))},eI.v=function(){return dk(this.a)},eI.w=function(){return this.a},ZN(358,29,_I,(function(t){so.call(this,(si(),null==t?pI:t))})),ZN(256,29,{3:1,54:1,29:1,46:1,256:1},(function(t){so.call(this,(si(),null==t?pI:t))})),ZN(185,145,CI),ZN(289,185,CI,(function(t){Pn.call(this,t)})),eI.Zc=function(t,e,n){var r,i;for(r=Ty(aW,NI,26,n,12,1),i=0;in)throw new ao(AI)}for(a=Ty(aW,NI,26,o,12,1),l=0,s=0,c=0;c0;){if(128!=(192&(r=t[e+c++])))throw new so("Invalid UTF8 sequence at "+(e+c-1)+", byte="+(r>>>0).toString(16));i=i<<6|63&r}l+=Kk(i,a,l)}return a};var kD,TD=Bp(OI,"Object",1),CD=Bp(OI,"Throwable",46),ND=(Bp(OI,"Exception",54),Bp(OI,"RuntimeException",72),Bp(LI,"JavaScriptException",164),Bp(II,"StackTraceCreator/Collector",642),Bp(II,"StackTraceCreator/CollectorLegacy",356),Bp(II,"StackTraceCreator/CollectorModern",643),Bp(II,"StackTraceCreator/CollectorModernNoSourceMap",357),Bp(MI,"IOException",181),Bp(MI,"UnsupportedEncodingException",351),Bp(OI,"Class",288),Bp(OI,"ClassCastException",119),Bp(OI,"IllegalArgumentException",29),Bp(OI,"IndexOutOfBoundsException",95),Bp(OI,"Number",231),Bp(OI,"Integer",24)),AD=Bp(OI,"String",2);Bp(OI,"String/1",350),Bp(OI,"StringIndexOutOfBoundsException",257),Bp(PI,"Charset",145),Bp(PI,"IllegalCharsetNameException",358),Bp(PI,"UnsupportedCharsetException",256),Bp(DI,"EmulatedCharset",185),Bp(DI,"EmulatedCharset/LatinCharset",289),Bp(DI,"EmulatedCharset/UtfCharset",355),ZN(669,1,{3:1}),Bp(RI,"Optional",669),ZN(601,669,{3:1},c),eI.t=function(t){return t===this},eI.v=function(){return 2040732332},eI.w=function(){return"Optional.absent()"},eI.A=function(t){return Dd(t),ci(),kD},Bp(RI,"Absent",601);var SD=Ed(RI,"Function");ZN(208,1,{},co),eI.C=function(t){return Dp(t)},Bp(RI,"Joiner",208),ZN(363,208,{},Qf),eI.C=function(t){return Tl(this,t)},Bp(RI,"Joiner/1",363),ZN(362,1,{},nh),Bp(RI,"Joiner/MapJoiner",362);var OD,LD=Ed(RI,"Predicate");ZN(244,1,{68:1,244:1,3:1},Ge),eI.D=function(t){var e;for(e=0;e0},eI.H=function(){if(this.b>=this.c)throw new Ei;return oa(this,this.b++)},eI.L=function(){return this.b},eI.M=function(){if(this.b<=0)throw new Ei;return oa(this,--this.b)},eI.N=function(){return this.b-1},eI.b=0,eI.c=0,Bp(zI,"AbstractIndexedListIterator",378),ZN(428,108,YI),eI.G=function(){return uw(this)},eI.H=function(){return Cy(this)},eI.d=1,Bp(zI,"AbstractIterator",428),ZN(653,1,{144:1}),eI.P=function(){return this.f||(this.f=this.S())},eI.T=function(){return new Ia(this.P())},eI.t=function(t){return zx(this,t)},eI.v=function(){return this.P().v()},eI.V=function(){return 0==this.Y()},eI.W=function(){return ip(this)},eI.w=function(){return this.P().w()},Bp(zI,"AbstractMultimap",653),ZN(294,653,VI),eI.Q=function(){Ak(this)},eI.R=function(t){return qy(this.b,t)},eI.S=function(){return new Da(this,this.b)},eI.T=function(){return new Ml(this,this.b)},eI.$=function(){return dl(t=this.Z(),137)?(zg(),new Ql(Uf(t,137))):dl(t,18)?(zg(),new Ko(Uf(t,18))):dl(t,20)?gv(Uf(t,20)):(zg(),new er(t));var t},eI.U=function(t){return WT(this,t)},eI.X=function(t){return iN(this,t)},eI.Y=function(){return this.c},eI.c=0,Bp(zI,"AbstractMapBasedMultimap",294),ZN(600,294,VI),eI.Z=function(){return new cm(this.a)},eI.$=function(){return og(),og(),YD},eI.U=function(t){return Uf(WT(this,t),20)},eI.X=function(t){return Uf(iN(this,t),20)},eI.P=function(){return this.f||(this.f=new Da(this,this.b))},eI.t=function(t){return zx(this,t)},Bp(zI,"AbstractListMultimap",600),ZN(388,1,qI),eI.G=function(){return this.b.b||this.d.G()},eI.H=function(){var t;return this.d.G()||((t=Um(this.b)).yb(),this.a=Uf(t.zb(),19),this.d=this.a.mb()),this.d.H()},eI.I=function(){this.d.I(),this.a.V()&&Hy(this.b),--this.c.c},Bp(zI,"AbstractMapBasedMultimap/Itr",388),ZN(389,388,qI,rw),Bp(zI,"AbstractMapBasedMultimap/1",389),ZN(638,1,XI),eI.Q=function(){this.bb().Q()},eI._=function(t){return cT(this,t)},eI.R=function(t){return!!VT(this,t,!1)},eI.ab=function(t){var e,n;for(e=this.bb().mb();e.G();)if(n=Uf(e.H(),21).zb(),Zc(t)===Zc(n)||null!=t&&s_(t,n))return!0;return!1},eI.t=function(t){return TC(this,t)},eI.cb=function(t){return Kc(VT(this,t,!1))},eI.v=function(){return bx(this.bb())},eI.V=function(){return 0==this.Y()},eI.W=function(){return new Un(this)},eI.db=function(t,e){throw new No("Put not supported on this map")},eI.eb=function(t){return Kc(VT(this,t,!0))},eI.Y=function(){return this.bb().Y()},eI.w=function(){return rC(this)},eI.fb=function(){return new qn(this)},Bp(WI,"AbstractMap",638),ZN(654,638,XI),eI.bb=function(){return op(this)},eI.W=function(){return this.d||(this.d=new Ia(this))},eI.fb=function(){return qp(this)},Bp(zI,"Maps/ViewCachingAbstractMap",654),ZN(262,654,XI,Da),eI.cb=function(t){return function(t,e){var n;return(n=Uf(ck(t.a,e),19))?ak(t.b,e,n):null}(this,t)},eI.eb=function(t){return function(t,e){var n,r;return(n=Uf(Kd(t.a,e),19))?((r=t.b.Z()).jb(n),t.b.c-=n.Y(),n.Q(),r):null}(this,t)},eI.Q=function(){this.a==this.b.b?Ak(this.b):lp(new _v(this))},eI.R=function(t){return bk(this.a,t)},eI.hb=function(){return new He(this)},eI.gb=function(){return this.hb()},eI.t=function(t){return this===t||TC(this.a,t)},eI.v=function(){return bx(new Yn(this.a))},eI.W=function(){return ip(this.b)},eI.Y=function(){return Hs(this.a)},eI.w=function(){return rC(this.a)},Bp(zI,"AbstractMapBasedMultimap/AsMap",262),ZN(640,1,$I),eI.ib=function(t){return function(){throw new No("Add not supported on this collection")}()},eI.jb=function(t){return gw(this,t)},eI.Q=function(){yg(this)},eI.kb=function(t){return wE(this,t,!1)},eI.lb=function(t){return Qw(this,t)},eI.V=function(){return 0==this.Y()},eI.nb=function(t){return wE(this,t,!0)},eI.ob=function(){return this.pb(Ty(TD,GI,1,this.Y(),4,1))},eI.pb=function(t){return iT(this,t)},eI.w=function(){return nC(this)},Bp(WI,"AbstractCollection",640),ZN(641,640,ZI),eI.t=function(t){return CE(this,t)},eI.v=function(){return bx(this)},Bp(WI,"AbstractSet",641),ZN(649,641,ZI),Bp(zI,"Sets/ImprovedAbstractSet",649),ZN(655,649,ZI),eI.Q=function(){this.qb().Q()},eI.kb=function(t){return GE(this,t)},eI.V=function(){return this.qb().V()},eI.nb=function(t){var e;return!!this.kb(t)&&(e=Uf(t,21),this.qb().W().nb(e.yb()))},eI.Y=function(){return this.qb().Y()},Bp(zI,"Maps/EntrySet",655),ZN(387,655,ZI,He),eI.kb=function(t){return yk(new Yn(this.a.a),t)},eI.mb=function(){return new _v(this.a)},eI.qb=function(){return this.a},eI.nb=function(t){var e;return!!yk(new Yn(this.a.a),t)&&(e=Uf(t,21),function(t,e){var n,r;n=Uf(function(t,e){_l(),Dd(t);try{return Nl(e)?Pg(t,e):AN(t.d,e)}catch(t){if(dl(t=r_(t),119))return null;if(dl(t,76))return null;throw D_(t)}}(t.b,e),19),n&&(r=n.Y(),n.Q(),t.c-=r)}(this.a.b,e.yb()),!0)},Bp(zI,"AbstractMapBasedMultimap/AsMap/AsMapEntries",387),ZN(299,1,qI,_v),eI.H=function(){var t;return t=Um(this.b),this.a=Uf(t.zb(),19),function(t,e){var n;return n=e.yb(),_l(),new Ga(n,ak(t.b,n,Uf(e.zb(),19)))}(this.c,t)},eI.G=function(){return this.b.b},eI.I=function(){Hy(this.b),this.c.b.c-=this.a.Y(),this.a.Q()},Bp(zI,"AbstractMapBasedMultimap/AsMap/AsMapIterator",299),ZN(260,649,ZI,Ia),eI.Q=function(){this.b.Q()},eI.kb=function(t){return this.b.R(t)},eI.V=function(){return this.b.V()},eI.mb=function(){return _l(),_f(this.b.bb().mb(),(Wu(),qD))},eI.nb=function(t){return!!this.b.R(t)&&(this.b.eb(t),!0)},eI.Y=function(){return this.b.Y()},Bp(zI,"Maps/KeySet",260),ZN(386,260,ZI,Ml),eI.Q=function(){lp(new ja(this,this.b.bb().mb()))},eI.lb=function(t){return this.b.W().lb(t)},eI.t=function(t){return this===t||this.b.W().t(t)},eI.v=function(){return this.b.W().v()},eI.mb=function(){return new ja(this,this.b.bb().mb())},eI.nb=function(t){var e,n;return n=0,(e=Uf(this.b.eb(t),19))&&(n=e.Y(),e.Q(),this.a.c-=n),n>0},Bp(zI,"AbstractMapBasedMultimap/KeySet",386),ZN(300,1,qI,ja),eI.G=function(){return this.c.G()},eI.H=function(){return this.a=Uf(this.c.H(),21),this.a.yb()},eI.I=function(){var t;px(!!this.a),t=Uf(this.a.zb(),19),this.c.I(),this.b.a.c-=t.Y(),t.Q()},Bp(zI,"AbstractMapBasedMultimap/KeySet/1",300),ZN(216,640,$I,Ny),eI.ib=function(t){return function(t,e){var n,r;return nE(t),r=t.d.V(),(n=t.d.ib(e))&&(++t.f.c,r&&mf(t)),n}(this,t)},eI.jb=function(t){return function(t,e){var n,r,i;return!e.V()&&(i=t.Y(),(n=t.d.jb(e))&&(r=t.d.Y(),t.f.c+=r-i,0==i&&mf(t)),n)}(this,t)},eI.Q=function(){var t,e;0!=(e=(t=this).Y())&&(t.d.Q(),t.f.c-=e,pp(t))},eI.kb=function(t){return nE(this),this.d.kb(t)},eI.lb=function(t){return nE(this),this.d.lb(t)},eI.t=function(t){return function(t,e){return e===t||(nE(t),t.d.t(e))}(this,t)},eI.v=function(){return nE(this),this.d.v()},eI.mb=function(){return nE(this),new td(this)},eI.nb=function(t){return function(t,e){var n;return nE(t),(n=t.d.nb(e))&&(--t.f.c,pp(t)),n}(this,t)},eI.Y=function(){return nE(this),this.d.Y()},eI.w=function(){return nE(this),Uk(this.d)},Bp(zI,"AbstractMapBasedMultimap/WrappedCollection",216);var GD,BD,FD=Ed(WI,"List");ZN(297,216,KI,mp),eI.rb=function(t,e){var n;nE(this),n=this.d.V(),Uf(this.d,20).rb(t,e),++this.a.c,n&&mf(this)},eI.sb=function(t){return nE(this),Uf(this.d,20).sb(t)},eI.tb=function(){return nE(this),new zu(this)},eI.ub=function(t){return nE(this),new Gg(this,t)},eI.vb=function(t){var e;return nE(this),e=Uf(this.d,20).vb(t),--this.a.c,pp(this),e},eI.wb=function(t,e){return nE(this),Uf(this.d,20).wb(t,e)},eI.xb=function(t,e){return nE(this),bb(this.a,this.e,Uf(this.d,20).xb(t,e),this.b?this.b:this)},Bp(zI,"AbstractMapBasedMultimap/WrappedList",297),ZN(385,297,QI,wh),Bp(zI,"AbstractMapBasedMultimap/RandomAccessWrappedList",385),ZN(189,1,qI,td),eI.G=function(){return gp(this),this.b.G()},eI.H=function(){return gp(this),this.b.H()},eI.I=function(){this.b.I(),--this.d.f.c,pp(this.d)},Bp(zI,"AbstractMapBasedMultimap/WrappedCollection/WrappedIterator",189),ZN(298,189,JI,zu,Gg),eI.J=function(t){var e;e=0==function(t){return nE(t),t.d.Y()}(this.a),(gp(this),Uf(this.b,96)).J(t),++this.a.a.c,e&&mf(this.a)},eI.K=function(){return(gp(this),Uf(this.b,96)).K()},eI.L=function(){return(gp(this),Uf(this.b,96)).L()},eI.M=function(){return(gp(this),Uf(this.b,96)).M()},eI.N=function(){return(gp(this),Uf(this.b,96)).N()},eI.O=function(t){(gp(this),Uf(this.b,96)).O(t)},Bp(zI,"AbstractMapBasedMultimap/WrappedList/WrappedListIterator",298),ZN(295,216,ZI,Eh),Bp(zI,"AbstractMapBasedMultimap/WrappedSet",295),ZN(296,216,tM,kh),Bp(zI,"AbstractMapBasedMultimap/WrappedSortedSet",296),ZN(668,1,eM),eI.t=function(t){var e;return!!dl(t,21)&&(e=Uf(t,21),ng(this.yb(),e.yb())&&ng(this.zb(),e.zb()))},eI.v=function(){var t,e;return t=this.yb(),e=this.zb(),(null==t?0:K_(t))^(null==e?0:K_(e))},eI.Ab=function(t){throw new Kr},eI.w=function(){return this.yb()+"="+this.zb()},Bp(zI,nM,668),ZN(390,640,$I,Ye),eI.Q=function(){Ak(this.a)},eI.kb=function(t){return function(t,e){var n;for(n=ig(qp(t.P()));n.b.G();)if(Uf(Po(n,n.b.H()),19).kb(e))return!0;return!1}(this.a,t)},eI.mb=function(){return new rw(this.a)},eI.Y=function(){return this.a.c},Bp(zI,"AbstractMultimap/Values",390),ZN(656,640,rM),eI.ib=function(t){return this.Bb(t,1),!0},eI.Bb=function(t,e){throw new Kr},eI.jb=function(t){return function(t,e){var n,r;if(Or(),e.V())return!1;if(dl(e,207))for(r=Uf(e,207).bb().mb();r.G();)n=Uf(r.H(),83),t.Bb(n.Zb(),n.Yb());else zm(t,e.mb());return!0}(this,t)},eI.Q=function(){lp(this.Eb())},eI.kb=function(t){return this.Cb(t)>0},eI.Cb=function(t){var e,n;for(n=Xp(this).mb();n.G();)if(ng((e=Uf(n.H(),83)).Zb(),t))return e.Yb();return 0},eI.gb=function(){return new ze(this)},eI.bb=function(){return Xp(this)},eI.t=function(t){return function(t,e){var n,r,i;if(Or(),e===t)return!0;if(dl(e,207)){if(i=Uf(e,207),t.Y()!=i.Y()||Xp(t).Y()!=i.bb().Y())return!1;for(r=i.bb().mb();r.G();)if(n=Uf(r.H(),83),t.Cb(n.Zb())!=n.Yb())return!1;return!0}return!1}(this,t)},eI.v=function(){return Xp(this).v()},eI.V=function(){return Xp(this).V()},eI.mb=function(){return Or(),new Va(this,Xp(this).mb())},eI.nb=function(t){return this.Fb(t,1)>0},eI.Fb=function(t,e){throw new Kr},eI.Gb=function(t,e){var n,r;return Or(),Cm(e,"count"),(r=e-(n=this.Cb(t)))>0?this.Bb(t,r):r<0&&this.Fb(t,-r),n},eI.Hb=function(t,e,n){return function(t,e,n,r){return Or(),Cm(n,"oldCount"),Cm(r,"newCount"),t.Cb(e)==n&&(t.Gb(e,r),!0)}(this,t,e,n)},eI.Y=function(){return function(t){var e,n;for(Or(),n=0,e=Xp(t).mb();e.G();)n=w_(n,Uf(e.H(),83).Yb());return am(n)}(this)},eI.w=function(){return Uk(Xp(this))},Bp(zI,"AbstractMultiset",656),ZN(657,649,ZI),eI.Q=function(){this.Ib().Q()},eI.kb=function(t){var e;return!(!dl(t,83)||(e=Uf(t,83)).Yb()<=0||this.Ib().Cb(e.Zb())!=e.Yb())},eI.nb=function(t){var e,n,r;return!(!dl(t,83)||(e=(n=Uf(t,83)).Zb(),0==(r=n.Yb())))&&this.Ib().Hb(e,r,0)},Bp(zI,"Multisets/EntrySet",657),ZN(396,657,ZI,ze),eI.mb=function(){return this.a.Eb()},eI.Ib=function(){return this.a},eI.Y=function(){return this.a.Db()},Bp(zI,"AbstractMultiset/EntrySet",396),ZN(384,294,VI),eI.Z=function(){return new Sa(cx(this.a))},eI.$=function(){return lf(),ag(),KD},eI.U=function(t){return Uf(WT(this,t),18)},eI.X=function(t){return Uf(iN(this,t),18)},eI.P=function(){return this.f||(this.f=new Da(this,this.b))},eI.t=function(t){return zx(this,t)},Bp(zI,"AbstractSetMultimap",384),ZN(342,656,rM),Bp(zI,"AbstractSortedMultiset",342),ZN(280,600,VI,Vh),eI.a=0,Bp(zI,"ArrayListMultimap",280),ZN(159,17,iM);var HD,YD,zD,UD,VD,qD,XD,WD=tm(zI,"BoundType",159,RD,(function(){return qu(),Nx(Mo(WD,1),FI,159,0,[BD,GD])}));ZN(623,159,iM,fu),tm(zI,"BoundType/1",623,WD,null),ZN(624,159,iM,Mu),tm(zI,"BoundType/2",624,WD,null),ZN(234,1,aM),eI.w=function(){return t=this.c.mb(),Xu(),Zp(P_((Vu(),HD),Zp(new ta,91),t),93).a;var t},Bp(zI,"FluentIterable",234),ZN(170,234,aM,Tu),eI.mb=function(){return Ip(this)},Bp(zI,"FluentIterable/2",170),ZN(664,1,{}),eI.w=function(){return Uk(Lg(this.a.d).b)},Bp(zI,"ForwardingObject",664),ZN(665,664,$I),eI.ib=function(t){return Lg(this.a.d),ei()},eI.jb=function(t){return Lg(this.a.d),ni()},eI.Q=function(){Lg(this.a.d),ri()},eI.kb=function(t){return zs(Lg(this.a.d),t)},eI.lb=function(t){return Us(Lg(this.a.d),t)},eI.V=function(){return Lg(this.a.d).b.V()},eI.mb=function(){return new ir(Lg(this.a.d).b.mb())},eI.nb=function(t){return Lg(this.a.d),ii()},eI.Y=function(){return Lg(this.a.d).b.Y()},eI.ob=function(){return Zg(Lg(this.a.d))},eI.pb=function(t){return av(Lg(this.a.d),t)},Bp(zI,"ForwardingCollection",665),ZN(660,640,sM),eI.mb=function(){return this.Kb()},eI.ib=function(t){return function(){throw new Kr}()},eI.jb=function(t){return function(){throw new Kr}()},eI.Q=function(){!function(){throw new Kr}()},eI.kb=function(t){return null!=t&&wE(this,t,!1)},eI.Jb=function(){switch(this.Y()){case 0:return og(),og(),YD;case 1:return og(),new Ud(this.Kb().H());default:return new yp(this,this.ob())}},eI.nb=function(t){return function(){throw new Kr}()},Bp(zI,"ImmutableCollection",660),ZN(316,660,sM,bi),eI.mb=function(){return Am(this.a.mb())},eI.kb=function(t){return null!=t&&this.a.kb(t)},eI.lb=function(t){return this.a.lb(t)},eI.V=function(){return this.a.V()},eI.Kb=function(){return Am(this.a.mb())},eI.Y=function(){return this.a.Y()},eI.ob=function(){return this.a.ob()},eI.pb=function(t){return this.a.pb(t)},eI.w=function(){return Uk(this.a)},Bp(zI,"ForwardingImmutableCollection",316),ZN(87,660,cM),eI.mb=function(){return this.Kb()},eI.tb=function(){return this.Lb(0)},eI.ub=function(t){return this.Lb(t)},eI.xb=function(t,e){return this.Mb(t,e)},eI.rb=function(t,e){throw new Kr},eI.t=function(t){return function(t,e){var n,r,i;if(Zc(e)===Zc(Dd(t)))return!0;if(!dl(e,20))return!1;if(r=Uf(e,20),(i=t.Y())!=r.Y())return!1;if(dl(r,63)){for(n=0;n=(i=o.Y()))o.Q();else for(r=o.mb(),n=0;ne?1:0}(e.Yb(),t.Yb())}(Uf(t,83),Uf(e,83))},Bp(zI,"Multisets/1",398),ZN(397,658,{83:1,3:1},ld),eI.Yb=function(){return this.a},eI.Zb=function(){return this.b},eI.a=0,Bp(zI,"Multisets/ImmutableEntry",397),ZN(303,1,qI,Va),eI.G=function(){return this.d>0||this.c.G()},eI.H=function(){if(!(this.d>0||this.c.G()))throw new Ei;return 0==this.d&&(this.b=Uf(this.c.H(),83),this.f=this.d=this.b.Yb()),--this.d,this.a=!0,this.b.Zb()},eI.I=function(){px(this.a),1==this.f?this.c.I():this.e.Fb(this.b.Zb(),1),--this.f,this.a=!1},eI.a=!1,eI.d=0,eI.f=0,Bp(zI,"Multisets/MultisetIteratorImpl",303),ZN(622,659,{3:1,56:1},f),eI.$b=function(t,e){return function(t,e){return Dd(t),Dd(e),Hw(t,e)}(Uf(t,23),Uf(e,23))},eI.w=function(){return"Ordering.natural()"},Bp(zI,"NaturalOrdering",622),ZN(343,661,cM,yp),eI.ub=function(t){return Al(this.b,t)},eI.Sb=function(){return this.a},eI.sb=function(t){return Qc(this.b,t)},eI.Lb=function(t){return Al(this.b,t)},Bp(zI,"RegularImmutableAsList",343),ZN(559,275,uM,fg),eI.Tb=function(){return this.a},Bp(zI,"RegularImmutableBiMap",559),ZN(53,667,cM,sb),eI.Nb=function(){return this.a},Bp(zI,"RegularImmutableList",53),ZN(321,320,uM,Ri),Bp(zI,"RegularImmutableMap",321),ZN(265,315,lM,Ks),Bp(zI,"RegularImmutableSet",265),ZN(650,641,ZI),Bp(zI,"Sets/SetView",650),ZN(377,650,ZI,pf),eI.kb=function(t){return ka(this.b,t)&&ka(this.c,t)},eI.lb=function(t){return Qw(this.b,t)&&Qw(this.c,t)},eI.V=function(){return Im(this)},eI.mb=function(){return bp(new Vn(new Un(this.b.a).a.bb().mb()),this.a)},eI.Y=function(){return Jb(bp(new Vn(new Un(this.b.a).a.bb().mb()),this.a))},Bp(zI,"Sets/2",377),ZN(328,275,uM,Zv,Yy),eI.fb=function(){return lf(),new la(this.c)},eI.Tb=function(){return this.a||(this.a=new Yy(this.c,this.b,this))},eI.Ub=function(){return lf(),new la(this.c)},Bp(zI,"SingletonImmutableBiMap",328),ZN(127,667,cM,Ud),eI.Nb=function(){return this.a},Bp(zI,"SingletonImmutableList",127),ZN(135,663,lM,la),eI.mb=function(){return Xu(),new Xe(this.a)},eI.kb=function(t){return s_(this.a,t)},eI.Kb=function(){return Xu(),new Xe(this.a)},eI.Y=function(){return 1},Bp(zI,"SingletonImmutableSet",135),ZN(285,342,{207:1,3:1,22:1,19:1},Dv,lk),eI.Bb=function(t,e){return hN(this,t,e)},eI.Cb=function(t){return ST(this,t)},eI.Db=function(){return am(Fx(this,($u(),QD)))},eI.Eb=function(){return new Pl(this)},eI.Fb=function(t,e){return XN(this,t,e)},eI.Gb=function(t,e){return QT(this,t,e)},eI.Hb=function(t,e,n){var r,i,o;return Cm(n,"newCount"),Cm(e,"oldCount"),Uc(hh(this.b,t)),(o=this.c.a)?(i=Ty(iW,vM,26,1,12,1),r=gO(o,this.d,t,e,n,i),jd(this.c,o,r),i[0]==e):0==e&&(n>0&&hN(this,t,n),!0)},eI.Y=function(){return am(Fx(this,($u(),JD)))},Bp(zI,"TreeMultiset",285),ZN(619,658,{83:1},Xa),eI.Yb=function(){var t;return 0==(t=this.b.c)?ST(this.a,this.b.b):t},eI.Zb=function(){return this.b.b},Bp(zI,"TreeMultiset/1",619),ZN(620,1,qI,Pl),eI.H=function(){return function(t){var e;if(!dx(t))throw new Ei;return e=new Xa(t.c,t.a),t.b=e,t.a.i==t.c.a?t.a=null:t.a=t.a.i,e}(this)},eI.G=function(){return dx(this)},eI.I=function(){px(!!this.b),QT(this.c,this.b.b.b,0),this.b=null},Bp(zI,"TreeMultiset/2",620),ZN(205,17,bM);var eR=tm(zI,"TreeMultiset/Aggregate",205,RD,(function(){return $u(),Nx(Mo(eR,1),FI,205,0,[JD,QD])}));ZN(617,205,bM,du),eI._b=function(t){return t.c},eI.ac=function(t){return t?t.j:0},tm(zI,"TreeMultiset/Aggregate/1",617,eR,null),ZN(618,205,bM,wl),eI._b=function(t){return 1},eI.ac=function(t){return t?t.a:0},tm(zI,"TreeMultiset/Aggregate/2",618,eR,null),ZN(206,658,{83:1,206:1},Nw),eI.Yb=function(){return this.c},eI.Zb=function(){return this.b},eI.w=function(){return Or(),Ab(new ld(this.b,this.c))},eI.a=0,eI.c=0,eI.d=0,eI.j=0,Bp(zI,"TreeMultiset/AvlNode",206),ZN(616,1,{},d),Bp(zI,"TreeMultiset/Reference",616);var nR,rR=Bp(LI,"JavaScriptObject$",0);ZN(628,1,{}),Bp(LI,"Scheduler",628);var iR,oR,aR,sR,cR,uR,lR,hR,fR=0,dR=0,pR=-1;ZN(360,628,{},l),Bp(II,"SchedulerImpl",360),ZN(646,1,{}),eI.hc=function(){return null},eI.ic=function(){return null},eI.jc=function(){return null},eI.kc=function(){return null},eI.lc=function(){return null},Bp(mM,"JSONValue",646),ZN(214,646,{214:1},sr,en),eI.t=function(t){return!!dl(t,214)&&this.a==Uf(t,214).a},eI.gc=function(){return gr},eI.v=function(){return fh(this.a)},eI.hc=function(){return this},eI.w=function(){var t,e,n;for(n=new $o("["),e=0,t=this.a.length;e0&&(n.a+=","),ru(n,Sm(this,e));return n.a+="]",n.a},Bp(mM,"JSONArray",214),ZN(292,646,{},nn),eI.gc=function(){return vr},eI.ic=function(){return this},eI.w=function(){return yl(this.a)},eI.a=!1,Bp(mM,"JSONBoolean",292),ZN(371,72,dI,Hi),Bp(mM,"JSONException",371),ZN(435,646,{},b),eI.gc=function(){return xr},eI.w=function(){return pI},Bp(mM,"JSONNull",435),ZN(104,646,{104:1},rn),eI.t=function(t){return!!dl(t,104)&&this.a==Uf(t,104).a},eI.gc=function(){return br},eI.v=function(){return wv(oo(this.a))},eI.jc=function(){return this},eI.w=function(){return this.a+""},eI.a=0,Bp(mM,"JSONNumber",104),ZN(69,646,{69:1},Vi,on),eI.t=function(t){return!!dl(t,69)&&this.a==Uf(t,69).a},eI.gc=function(){return yr},eI.v=function(){return fh(this.a)},eI.kc=function(){return this},eI.w=function(){var t,e,n,r,i,o;for(o=new $o("{"),t=!0,n=0,r=(i=kw(this,Ty(AD,hI,2,0,5,1))).length;n>>28]|e[t>>24&15]<<4|e[t>>20&15]<<8|e[t>>16&15]<<12|e[t>>12&15]<<16|e[t>>8&15]<<20|e[t>>4&15]<<24|e[15&t]<<28);var t,e},eI.w=function(){return"("+this.a+","+this.b+")"},eI.a=0,eI.b=0;var gR=Bp(AM,"KVector",10);ZN(58,648,{3:1,5:1,22:1,19:1,58:1,20:1},lo),eI.ib=function(t){return Of(this,t)},eI.Q=function(){Mg(this)},eI.ub=function(t){return Sk(this,t)},eI.Y=function(){return this.b},eI.b=0,Bp(WI,"LinkedList",58),ZN(44,58,{44:1,286:1,3:1,5:1,22:1,19:1,58:1,20:1},Fr,Ah),eI.w=function(){var t,e,n;for(t=new $o("("),e=Sk(this,0);e.b!=e.d.c;)iu(t,(n=Uf(Sb(e),10)).a+","+n.b),e.b!=e.d.c&&(t.a+="; ");return t.a+=")",t.a},Bp(AM,"KVectorChain",44);var vR,bR,yR,mR,wR,xR,_R,ER,kR,TR=Ed(OM,"IProperty");ZN(131,1,{179:1,131:1,3:1},y),Bp(OM,"MapPropertyHolder",131),ZN(14,1,LM,Ld,Od,fd,If,kv,Qv),eI.F=function(t){return function(t,e){return Tg(t.b,e.mc())}(this,Uf(t,79))},eI.t=function(t){return mg(this,t)},eI.mc=function(){return this.b},eI.nc=function(){return this.c},eI.oc=function(){return this.d},eI.v=function(){return dk(this.b)},eI.w=function(){return this.b},Bp(OM,"Property",14),ZN(366,1,{23:1},m),eI.F=function(t){return-1},Bp(OM,"Property/1",366),ZN(367,1,{23:1},w),eI.F=function(t){return 1},Bp(OM,"Property/2",367),ZN(27,1,{27:1,22:1},es),eI.t=function(t){var e,n,r;return!!dl(t,27)&&(n=Uf(t,27),e=null==this.a?null==n.a:s_(this.a,n.a),r=null==this.b?null==n.b:s_(this.b,n.b),e&&r)},eI.v=function(){var t,e,n;return t=-65536&(e=null==this.a?0:K_(this.a)),e&xI^(-65536&(n=null==this.b?0:K_(this.b)))>>16&xI|t^(n&xI)<<16},eI.mb=function(){return new an(this)},eI.w=function(){return null==this.a&&null==this.b?"pair(null,null)":null==this.a?"pair(null,"+Uk(this.b)+")":null==this.b?"pair("+Uk(this.a)+",null)":"pair("+Uk(this.a)+","+Uk(this.b)+")"},Bp(IM,"Pair",27),ZN(431,1,qI,an),eI.G=function(){return!this.c&&(!this.b&&null!=this.a.a||null!=this.a.b)},eI.H=function(){if(!this.c&&!this.b&&null!=this.a.a)return this.b=!0,this.a.a;if(!this.c&&null!=this.a.b)return this.c=!0,this.a.b;throw new Ei},eI.I=function(){throw this.c&&null!=this.a.b?this.a.b=null:this.b&&null!=this.a.a&&(this.a.a=null),new $r},eI.b=!1,eI.c=!1,Bp(IM,"Pair/1",431),ZN(228,72,dI,Yi),Bp(MM,"UnsupportedConfigurationException",228),ZN(99,72,dI,zi),Bp(MM,"UnsupportedGraphException",99),ZN(103,17,{103:1,3:1,23:1,17:1},ns);var CR,NR,AR,SR,OR,LR,IR=tm(jM,"Alignment",103,RD,(function(){return fk(),Nx(Mo(IR,1),FI,103,0,[mR,_R,ER,kR,wR,xR])}));ZN(59,17,{59:1,3:1,23:1,17:1},us);var MR,PR,DR,RR,jR,GR=tm(jM,"Direction",59,RD,(function(){return E_(),Nx(Mo(GR,1),FI,59,0,[OR,SR,AR,NR,LR])}));ZN(107,17,{107:1,3:1,23:1,17:1},ls);var BR,FR,HR,YR,zR,UR=tm(jM,"EdgeLabelPlacement",107,RD,(function(){return Gw(),Nx(Mo(UR,1),FI,107,0,[jR,PR,DR,RR])}));ZN(122,17,{122:1,3:1,23:1,17:1},hs);var VR,qR,XR,WR,$R,ZR,KR,QR=tm(jM,"EdgeRouting",122,RD,(function(){return k_(),Nx(Mo(QR,1),FI,122,0,[zR,HR,FR,YR])}));ZN(133,17,{133:1,3:1,23:1,17:1},fs);var JR,tj,ej,nj,rj=tm(jM,"EdgeType",133,RD,(function(){return DT(),Nx(Mo(rj,1),FI,133,0,[ZR,WR,KR,qR,$R,XR])}));ZN(166,17,{166:1,3:1,23:1,17:1},ds);var ij,oj,aj,sj,cj,uj,lj,hj,fj,dj,pj,gj,vj,bj,yj,mj,wj,xj,_j,Ej,kj,Tj,Cj,Nj,Aj,Sj,Oj,Lj,Ij,Mj,Pj,Dj,Rj,jj,Gj,Bj,Fj,Hj,Yj,zj,Uj,Vj,qj,Xj,Wj,$j,Zj,Kj,Qj,Jj,tG,eG,nG,rG,iG,oG,aG,sG,cG,uG=tm(jM,"HierarchyHandling",166,RD,(function(){return T_(),Nx(Mo(uG,1),FI,166,0,[ej,tj,nj])}));ZN(41,17,{41:1,3:1,23:1,17:1},ps);var lG,hG,fG,dG,pG,gG,vG=tm(jM,"NodeLabelPlacement",41,RD,(function(){return yN(),Nx(Mo(vG,1),FI,41,0,[eG,tG,rG,cG,sG,aG,iG,oG,nG])}));ZN(100,17,{100:1,3:1,23:1,17:1},gs);var bG,yG,mG,wG,xG,_G,EG,kG=tm(jM,"PortAlignment",100,RD,(function(){return OE(),Nx(Mo(kG,1),FI,100,0,[gG,pG,hG,fG,dG])}));ZN(28,17,{28:1,3:1,23:1,17:1},vs);var TG,CG,NG,AG,SG=tm(jM,"PortConstraints",28,RD,(function(){return bT(),Nx(Mo(SG,1),FI,28,0,[EG,_G,xG,yG,wG,mG])}));ZN(149,17,{149:1,3:1,23:1,17:1},bs);var OG,LG,IG,MG,PG,DG,RG,jG,GG,BG,FG,HG,YG,zG,UG,VG,qG,XG,WG,$G,ZG,KG,QG=tm(jM,"PortLabelPlacement",149,RD,(function(){return Rm(),Nx(Mo(QG,1),FI,149,0,[AG,NG,CG])}));ZN(32,17,{32:1,3:1,23:1,17:1},ys);var JG,tB,eB,nB,rB,iB=tm(jM,"PortSide",32,RD,(function(){return mL(),Nx(Mo(iB,1),FI,32,0,[ZG,IG,LG,$G,KG])}));ZN(150,17,{150:1,3:1,23:1,17:1},ms);var oB,aB,sB,cB,uB,lB=tm(jM,"SizeConstraint",150,RD,(function(){return LE(),Nx(Mo(lB,1),FI,150,0,[nB,rB,eB,tB])}));ZN(139,17,{139:1,3:1,23:1,17:1},ws);var hB,fB,dB,pB,gB,vB,bB,yB,mB,wB,xB,_B,EB,kB,TB,CB,NB,AB,SB,OB,LB,IB,MB,PB=tm(jM,"SizeOptions",139,RD,(function(){return zT(),Nx(Mo(PB,1),FI,139,0,[cB,uB,sB,aB])}));ZN(62,1,{62:1},ac,_g),eI.t=function(t){var e;return!(null==t||!dl(t,62))&&(e=Uf(t,62),Ag(this.d,e.d)&&Ag(this.e,e.e)&&Ag(this.c,e.c)&&Ag(this.b,e.b))},eI.v=function(){return $x(Nx(Mo(TD,1),GI,1,4,[this.d,this.e,this.c,this.b]))},eI.w=function(){return"Rect[x="+this.d+",y="+this.e+",w="+this.c+",h="+this.b+"]"},eI.b=0,eI.c=0,eI.d=0,eI.e=0,Bp(YM,"Rectangle",62),ZN(283,62,{283:1,62:1},Hr),eI.a=0,Bp(zM,"LabelGroup",283),ZN(67,17,{67:1,3:1,23:1,17:1},kg);var DB,RB,jB,GB=tm(zM,"LabelLocation",67,RD,SE);ZN(225,17,{225:1,3:1,23:1,17:1},xs);var BB,FB,HB,YB,zB,UB=tm(zM,"TextAlignment",225,RD,(function(){return Hb(),Nx(Mo(UB,1),FI,225,0,[RB,DB,jB])}));ZN(589,1,{},bO),eI.a=0,eI.b=!1,eI.d=0,eI.f=0,eI.k=0,eI.r=0,eI.s=0,Bp(YM,"LabelAndNodeSizeProcessor/NodeData",589),ZN(171,17,{171:1,3:1,23:1,17:1},_s);var VB,qB,XB,WB,$B,ZB,KB,QB,JB,tF,eF,nF,rF,iF=tm(YM,"LabelSide",171,RD,(function(){return IE(),Nx(Mo(iF,1),FI,171,0,[zB,FB,HB])}));ZN(590,1,{},sn),eI.b=!0,eI.c=!0,eI.d=!0,eI.e=!0,Bp(YM,VM,590),ZN(121,1,XM),eI.t=function(t){var e;return!!dl(t,121)&&(e=Uf(t,121),this.d==e.d&&this.a==e.a&&this.b==e.b&&this.c==e.c)},eI.v=function(){var t;return t=wv(oo(this.b))<<16,(t|=wv(oo(this.a))&xI)^(wv(oo(this.c))<<16|wv(oo(this.d))&xI)},eI.w=function(){return"[top="+this.d+",left="+this.b+",bottom="+this.a+",right="+this.c+"]"},eI.a=0,eI.b=0,eI.c=0,eI.d=0,Bp(YM,"Spacing",121),ZN(232,121,XM,Yr,xh,qh),Bp(YM,"Spacing/Insets",232),ZN(65,121,{286:1,121:1,65:1,3:1,5:1},zr,_h,Xh),Bp(YM,"Spacing/Margins",65),ZN(364,1,{},Dk),eI.c=!1,eI.d=null,eI.g=null,Bp(aP,"JsonGraphImporter",364),ZN(417,14,LM,hc),Bp(aP,"LayoutOptionResolver/DummyProperty",417),ZN(348,1,{},Ee),Bp(aP,"RecursiveLGraphLayout",348),ZN(73,99,{73:1,3:1,54:1,46:1},Ui,$l,xp);var oF,aF,sF,cF,uF=Bp(aP,"UnsupportedJsonGraphException",73);ZN(380,1,{},dg),Bp(lP,"GraphConfigurator",380),ZN(49,1,{},iE),Bp(lP,"IntermediateProcessingConfiguration",49),ZN(365,1,{},jb),Bp(lP,"KlayLayered",365),ZN(577,1,{},Xw),eI.i=0,Bp(pP,"ComponentsToCGraphTransformer",577),ZN(578,1,{},A),eI.tc=function(t,e){return zo(t.wc(),e.wc())},eI.uc=function(t,e){return zo(t.xc(),e.xc())},Bp(pP,"ComponentsToCGraphTransformer/1",578),ZN(25,1,{25:1}),eI.k=0,eI.o=null,eI.p=!0,eI.r=dP;var lF,hF,fF,dF,pF,gF=Bp(gP,"CNode",25);ZN(198,25,{198:1,25:1},rl,ow),eI.vc=function(){this.b.d=this.j.d,this.b.e=this.j.e},eI.wc=function(){return null!=this.a?oo(this.a):this.c.i},eI.xc=function(){return null!=this.a?oo(this.a):this.c.i},eI.w=function(){return""},Bp(pP,"ComponentsToCGraphTransformer/CRectNode",198),ZN(549,1,{},S),Bp(pP,"OneDimensionalComponentsCompaction",549),ZN(550,1,hM,O),eI.B=function(t){return vx(),Vd(),0!=Uf(Uf(t,27).a,25).f.f?AX:NX},Bp(pP,"OneDimensionalComponentsCompaction/lambda$0$Type",550),ZN(551,1,hM,L),eI.B=function(t){return vx(),Vd(),lE(Uf(Uf(t,27).a,25).n,Uf(Uf(t,27).b,59))||0!=Uf(Uf(t,27).a,25).f.f&&lE(Uf(Uf(t,27).a,25).n,Uf(Uf(t,27).b,59))?AX:NX},Bp(pP,"OneDimensionalComponentsCompaction/lambda$1$Type",551),ZN(324,1,{},_p),Bp(gP,"CGraph",324),ZN(78,1,{78:1},ZE),eI.b=0,eI.c=0,eI.d=0,eI.f=0,eI.i=!0,eI.j=dP,Bp(gP,"CGroup",78),ZN(470,1,{},I),eI.tc=function(t,e){return Fo(t.wc(),e.wc())},eI.uc=function(t,e){return Fo(t.xc(),e.xc())},Bp(gP,"ISpacingsHandler/1",470),ZN(323,1,{},mN),eI.e=!1;var vF=Bp(gP,"OneDimensionalCompactor",323);ZN(554,1,hM,_),eI.B=function(t){return Wd(),Vd(),0!=Uf(Uf(t,27).a,25).f.f?AX:NX},Bp(gP,"OneDimensionalCompactor/lambda$0$Type",554),ZN(335,1,{},Ff),eI.a=!1,eI.b=!1,eI.c=!1,eI.d=!1,Bp(gP,"Quadruplet",335),ZN(587,1,{},E),eI.Cc=function(t){var e,n,r,i,o,a,s,c,u,l,h,f,d,p,g,v;for(l=fP,r=new Kn(t.a.b);r.an.j.d||n.j.d==i.j.d&&n.j.c0&&(Lf(t.c,new gf(e.c,e.d,t.d)),t.b=e.d)}(this,Uf(t,48))},eI.b=0,Bp(yP,"RectilinearConvexHull/MaximalElementsEventHandler",243),ZN(571,1,TI,M),eI.$b=function(t,e){return rg(t,e)},Bp(yP,"RectilinearConvexHull/MaximalElementsEventHandler/lambda$0$Type",571),ZN(570,1,{160:1},ey),eI.Ec=function(t){!function(t,e){var n;t.d&&(e.c!=t.e.c||function(t,e){return jw(),t==yF&&e==mF||t==yF&&e==wF||t==xF&&e==wF||t==xF&&e==mF}(t.e.b,e.b))&&(Lf(t.f,t.d),t.a=t.d.d+t.d.c,t.d=null,t.e=null),function(t){return t==yF||t==mF}(e.b)?t.c=e:t.b=e,(e.b==(jw(),yF)&&!e.a||e.b==mF&&e.a||e.b==wF&&e.a||e.b==xF&&!e.a)&&t.c&&t.b&&(n=new _g(t.a,t.c.d,e.c-t.a,t.b.d-t.c.d),t.d=n,t.e=e)}(this,Uf(t,48))},eI.a=0,eI.b=null,eI.c=null,eI.d=null,eI.e=null,Bp(yP,"RectilinearConvexHull/RectangleEventHandler",570),ZN(572,1,TI,P),eI.$b=function(t,e){return Fb(),Uf(t,48).c==Uf(e,48).c?Ox(Uf(e,48).d,Uf(t,48).d):Ox(Uf(t,48).c,Uf(e,48).c)},Bp(yP,"RectilinearConvexHull/lambda$0$Type",572),ZN(573,1,TI,D),eI.$b=function(t,e){return Fb(),Uf(t,48).c==Uf(e,48).c?Ox(Uf(t,48).d,Uf(e,48).d):Ox(Uf(t,48).c,Uf(e,48).c)},Bp(yP,"RectilinearConvexHull/lambda$1$Type",573),ZN(574,1,TI,R),eI.$b=function(t,e){return Fb(),Uf(t,48).c==Uf(e,48).c?Ox(Uf(e,48).d,Uf(t,48).d):Ox(Uf(e,48).c,Uf(t,48).c)},Bp(yP,"RectilinearConvexHull/lambda$2$Type",574),ZN(575,1,TI,j),eI.$b=function(t,e){return Fb(),Uf(t,48).c==Uf(e,48).c?Ox(Uf(t,48).d,Uf(e,48).d):Ox(Uf(e,48).c,Uf(t,48).c)},Bp(yP,"RectilinearConvexHull/lambda$3$Type",575),ZN(576,1,TI,G),eI.$b=function(t,e){return function(t,e){var n;if(Fb(),t.c==e.c){if(t.b==e.b||function(t,e){return jw(),t==yF&&e==xF||t==xF&&e==yF||t==wF&&e==mF||t==mF&&e==wF}(t.b,e.b)){if(n=function(t){return t==yF||t==xF}(t.b)?1:-1,t.a&&!e.a)return n;if(!t.a&&e.a)return-n}return Bu(t.b.e,e.b.e)}return Ox(t.c,e.c)}(t,e)},Bp(yP,"RectilinearConvexHull/lambda$4$Type",576),ZN(469,1,{},Tb),Bp(yP,"Scanline",469),ZN(662,1,{}),Bp(wP,"AbstractGraphPlacer",662),ZN(222,1,{222:1},Kh),Bp(wP,"ComponentGroup",222),ZN(434,662,{},Mr),eI.Fc=function(t,e){var n,r,i,o,a,s,c,u,l,h,f,d;if(this.a.c=Ty(TD,GI,1,0,4,1),e.b.c=Ty(TD,GI,1,0,4,1),t.V())return e.e.a=0,void(e.e.b=0);for(M_(e,i=Uf(t.sb(0),55)),r=t.mb();r.G();)z_(this,Uf(r.H(),55));for(f=new uo,d=2*Uf(kx(i,($L(),wq)),15).a,s=new Kn(this.a);s.ah&&(x=0,_+=l+m,l=0),iS(o,x+(p=o.d).a,_+p.b),p.a=0,p.b=0,n=Fo(n,x+b.a),l=Fo(l,b.b),x+=b.a+m;if(e.e.a=n,e.e.b=_+l,v=Uf(kx(e,wq),15).a,io(oo(Sh(kx(i,(ZL(),Hq)))))){for(GL(r=new B,t,v),u=t.mb();u.G();)Ih(Lc(Uf(u.H(),55).d),r.e);Ih(Lc(e.e),r.a)}gy(e,t)}else(y=Uf(t.sb(0),55))!=e&&(e.b.c=Ty(TD,GI,1,0,4,1),gS(e,y,0,0),M_(e,y),kd(e.a,y.a),e.e.a=y.e.a,e.e.b=y.e.b)},Bp(wP,"SimpleRowGraphPlacer",432),ZN(433,1,TI,H),eI.$b=function(t,e){return function(t,e){var n;return 0==(n=e.k-t.k)?Ox(t.e.a*t.e.b,e.e.a*e.e.b):n}(Uf(t,55),Uf(e,55))},Bp(wP,"SimpleRowGraphPlacer/1",433),ZN(369,1,kP,ke),eI.sc=function(t,e){UL(t,e)},Bp(TP,"CompoundGraphPostprocessor",369),ZN(370,1,mP,Y),eI.D=function(t){var e;return!!(e=Uf(kx(Uf(t,114).b,(JL(),kj)),44))&&0!=e.b},Bp(TP,"CompoundGraphPostprocessor/1",370),ZN(368,1,kP,Xc),eI.sc=function(t,e){ik(this,t,e)},Bp(TP,"CompoundGraphPreprocessor",368),ZN(187,1,{187:1},S_),eI.c=!1,Bp(TP,"CompoundGraphPreprocessor/ExternalPort",187),ZN(114,1,{114:1},vf),eI.w=function(){return ph(this.c)+":"+Pm(this.b)},Bp(TP,"CrossHierarchyEdge",114),ZN(310,1,TI,cn),eI.$b=function(t,e){return function(t,e,n){var r,i;return e.c==(nw(),Rq)&&n.c==Dq?-1:e.c==Dq&&n.c==Rq?1:(r=_E(e.a,t.a),i=_E(n.a,t.a),e.c==Rq?i-r:r-i)}(this,Uf(t,114),Uf(e,114))},Bp(TP,"CrossHierarchyEdgeComparator",310),ZN(147,131,{179:1,131:1,147:1,3:1}),eI.k=0,Bp(NP,"LGraphElement",147),ZN(12,147,{179:1,131:1,12:1,147:1,3:1},jg),eI.w=function(){return Pm(this)};var IF=Bp(NP,"LEdge",12);ZN(55,147,{179:1,131:1,55:1,147:1,3:1,22:1},Bm),eI.mb=function(){return new Kn(this.c)},eI.w=function(){return 0==this.c.c.length?"G-unlayered"+nC(this.b):0==this.b.c.length?"G-layered"+nC(this.c):"G[layerless"+nC(this.b)+", layers"+nC(this.c)+"]"};var MF=Bp(NP,"LGraph",55);ZN(273,1,{}),eI.pc=function(){return this.e.j},Bp(NP,"LGraphAdapters/AbstractLShapeAdapter",273),ZN(240,1,{627:1},un),eI.b=null,Bp(NP,"LGraphAdapters/LEdgeAdapter",240),ZN(325,1,{},Ts),eI.pc=function(){return this.a.e},eI.b=null,eI.c=!1,Bp(NP,"LGraphAdapters/LGraphAdapter",325),ZN(224,273,{129:1,224:1},ln),Bp(NP,"LGraphAdapters/LLabelAdapter",224),ZN(555,273,{626:1},Cs),eI.a=null,eI.b=null,eI.c=!1,Bp(NP,"LGraphAdapters/LNodeAdapter",555),ZN(556,273,{161:1},Ns),eI.a=null,eI.b=null,eI.c=null,eI.d=!1,Bp(NP,"LGraphAdapters/LPortAdapter",556),ZN(557,1,TI,z),eI.$b=function(t,e){return function(t,e){var n,r,i,o;if(0!=(o=t.g.e-e.g.e))return o;if(n=Uf(kx(t,(JL(),Yj)),24),r=Uf(kx(e,Yj),24),n&&r&&0!=(i=n.a-r.a))return i;switch(t.g.e){case 1:return Ox(t.i.a,e.i.a);case 2:return Ox(t.i.b,e.i.b);case 3:return Ox(e.i.a,t.i.a);case 4:return Ox(e.i.b,t.i.b);default:throw new ko(AP)}}(Uf(t,7),Uf(e,7))},Bp(NP,"LGraphAdapters/PortComparator",557),ZN(168,1,{168:1},je,Hg),eI.t=function(t){var e;return!!dl(t,168)&&(e=Uf(t,168),this.d==e.d&&this.a==e.a&&this.b==e.b&&this.c==e.c)},eI.v=function(){var t;return t=wv(oo(this.b))<<16,(t|=wv(oo(this.a))&xI)^(wv(oo(this.c))<<16|wv(oo(this.d))&xI)},eI.w=function(){return"Insets[top="+this.d+",left="+this.b+",bottom="+this.a+",right="+this.c+"]"},eI.a=0,eI.b=0,eI.c=0,eI.d=0,Bp(NP,"LInsets",168),ZN(165,147,{179:1,131:1,147:1,165:1,3:1}),Bp(NP,"LShape",165),ZN(33,165,{179:1,131:1,147:1,33:1,165:1,3:1},Eu),eI.w=function(){return null==this.a?"l_"+this.k:"l_"+this.a},Bp(NP,"LLabel",33),ZN(9,165,{179:1,131:1,147:1,9:1,165:1,3:1},Tk),eI.w=function(){return bv(this)};var PF,DF,RF,jF,GF,BF,FF=Bp(NP,"LNode",9);ZN(132,17,{132:1,3:1,23:1,17:1},Ss);var HF,YF,zF,UF,VF,qF,XF=tm(NP,"LNode/NodeType",132,RD,(function(){return RT(),Nx(Mo(XF,1),FI,132,0,[GF,jF,DF,BF,RF,PF])}));ZN(7,165,{179:1,131:1,147:1,7:1,165:1,3:1},TT),eI.w=function(){var t;return null==(t=ay(this))?"p_"+this.k:"p_"+t};var WF=Bp(NP,"LPort",7);ZN(399,1,mP,U),eI.D=function(t){return jh(t)},Bp(NP,"LPort/1",399),ZN(400,1,mP,V),eI.D=function(t){return Rh(t)},Bp(NP,"LPort/2",400),ZN(401,1,mP,q),eI.D=function(t){return Uf(t,7).g==(mL(),IG)},Bp(NP,"LPort/3",401),ZN(402,1,mP,X),eI.D=function(t){return Uf(t,7).g==(mL(),LG)},Bp(NP,"LPort/4",402),ZN(403,1,mP,W),eI.D=function(t){return Uf(t,7).g==(mL(),$G)},Bp(NP,"LPort/5",403),ZN(404,1,mP,$),eI.D=function(t){return Uf(t,7).g==(mL(),KG)},Bp(NP,"LPort/6",404),ZN(190,1,aM,hn),eI.mb=function(){return new fn(new Kn(this.a.b))},Bp(NP,"LPort/7",190),ZN(405,1,qI,fn),eI.H=function(){return Uf(Jv(this.a),12).c},eI.G=function(){return pl(this.a)},eI.I=function(){fp(this.a)},Bp(NP,"LPort/7/1",405),ZN(169,1,aM,dn),eI.mb=function(){return new pn(new Kn(this.a.e))},Bp(NP,"LPort/8",169),ZN(304,1,qI,pn),eI.H=function(){return Uf(Jv(this.a),12).d},eI.G=function(){return pl(this.a)},eI.I=function(){fp(this.a)},Bp(NP,"LPort/8/1",304),ZN(16,147,{179:1,131:1,147:1,16:1,3:1,22:1},Ep),eI.mb=function(){return new Kn(this.a)},eI.w=function(){return"L_"+Qy(this.b.c,this,0)+nC(this.a)},Bp(NP,"Layer",16),ZN(437,1,kP,Z),eI.sc=function(t,e){var n,r,i,o;for(HE(e,"Big nodes intermediate-processing",1),this.a=t,r=new Kn(this.a.c);r.ao?50:o,n=new Re,d=o+this.d,l=new Kn(h);l.ad){for(f=1,r=a.j.a;r>o;)++f,r=(a.j.a-(f-1)*this.d)/f;Lf(n,new Bb(this,a,f,r))}for(s=new Kn(n);s.aa?50:a,n=new Re,p=a+this.d,h=new Kn(f);h.ap){for(d=1,r=s.j.a;r>a;)++d,r=(s.j.a-(d-1)*this.d)/d;Lf(n,new nv(this,s,d))}for(c=new Kn(n);c.a0||l.g==KG&&l.b.c.length-l.e.c.length<0)){n=!1;break}if(l.g==KG)for(i=new Kn(l.e);i.a0&&(t.a=c+(f-1)*i,e.d.b+=t.a,e.e.b+=t.a),0!=d.a.Y()&&(f=fO(new wC(1,i),e,d,p,e.e.b+c-e.d.b))>0&&(e.e.b+=c+(f-1)*i)}(this,t,n),function(t){var e,n,r,i,o,a,s,c,u,l,h,f,d,p,g,v,b,y,m,w,x,_,E;for(y=new Re,l=new Kn(t.c);l.a0&&RS((_y(0,n.c.length),Uf(n.c[0],16)),t),n.c.length>1&&RS(Uf(gd(n,n.c.length-1),16),t),H_(e)},Bp(SP,"HierarchicalPortPositionProcessor",454),ZN(471,1,kP,ht),eI.sc=function(t,e){var n,r,i,o,a,s,c,u,l,h,f;for(HE(e,"Hyperedge merging",1),l=new Kv(t.c,0);l.b(d=f.c.length)+1?Lf(l,new es(c,(_y(h=(s+d)/2|0,a.c.length),Uf(a.c[h],9)))):d>s+1&&Lf(l,new es(c,(_y(h=((d-s)/2|0)-1,f.c.length),Uf(f.c[h],9))))}for(v=new Kn(l);v.a=2){for(c=!0,_y(1,s.c.length),p=Uf(s.c[1],16),h=new Kn(r.a);h.a=2){for(c=!0,g=Uf(gd(s,s.c.length-2),16),h=new Kn(i.a);h.an?c:n}t.e.b=c-u,t.d.b-=u,H_(e)},Bp(SP,"LayerSizeAndGraphHeightCalculator",496),ZN(497,1,kP,St),eI.sc=function(t,e){var n,r,i,o;for(HE(e,"Edge joining",1),n=io(oo(Sh(kx(t,(ZL(),Bq))))),r=new Kn(t.c);r.a0&&Lf(t.p,l),Lf(t.o,l);d=c+(e-=r),u+=e*t.e,Kb(t.a,s,W_(d)),Kb(t.b,s,u),t.j=Yo(t.j,d),t.k=Fo(t.k,u),t.d+=e,e+=g}}(this),this.q=Uf(kx(t,(ZL(),aX)),109),c=Uf(kx(this.g,sX),24).a,i=new Mt,this.q.e){case 2:case 1:default:LO(this,i);break;case 3:for(this.q=(nA(),aY),LO(this,i),a=0,o=new Kn(this.a);o.athis.j&&(this.q=tY,LO(this,i));break;case 4:for(this.q=(nA(),aY),LO(this,i),s=0,r=new Kn(this.b);r.athis.k&&(this.q=rY,LO(this,i));break;case 6:LO(this,new _n(wv(Mc(this.f.length*c/100))));break;case 5:LO(this,new En(wv(Mc(this.d*c/100))))}!function(t,e){var n,r,i,o,a,s;for(i=new Re,n=0;n<=t.i;n++)(r=new Ep(e)).k=t.i-n,i.c[i.c.length]=r;for(s=new Kn(t.o);s.a=2){for(p=!0,n=Uf(Jv(h=new Kn(o.f)),7);h.a(r-=t.a)?i:r}return i}(this,t),d=t.c.c.length,g=function(t,e){var n,r,i,o,a;for(r=0,n=new Kn(e.c);n.a(a=(i=Uf(Jv(o),9)).j.a+i.e.c+i.e.b+t.b)?r:a;return r}(this,t),N=d*g,(r=(i=Uf(kx(t,(JL(),pj)),59))==(E_(),AR)||i==SR||i==OR?Uf(kx(t,AV),15).a:1/Uf(kx(t,AV),15).a)>(n=N/p))H_(e);else{T=0,o=jP;do{f=o,o=(n=N/++T/(p*T))-r<=0?0-(n-r):n-r}while(n>r);for(fT?1:T)|0,w=E,O=!0;u=E&&(O=!0),++w,++u}for(l=new Kv(t.c,0);l.b "+this.a+" "+ph(this.c)},eI.a=0,eI.b=0,eI.d=0,Bp(SP,"SplineSelfLoopRouter/LoopPadding",91),ZN(521,1,mP,Jf),eI.D=function(t){return function(t,e){return!!function(t){switch(t.e){case 0:return iU;case 1:return eU;case 2:return tU;case 3:return sU;case 4:return aU;case 5:return fU;case 6:return hU;case 7:return oU;case 8:return nU;case 9:return rU;case 11:return uU;case 10:return cU;default:return lU}}(t.b).kb(e.c)&&(function(t){return t==Zz||t==Xz}(t.b)?!(Wf(e.d,t.c,t.a)&&Wf(e.a,t.c,t.a)):Wf(e.d,t.c,t.a)&&Wf(e.a,t.c,t.a))}(this,Uf(t,91))},eI.a=0,eI.c=0,Bp(SP,"SplineSelfLoopRouter/LoopPadding/EnclosingPredicate",521),ZN(520,1,TI,te),eI.$b=function(t,e){return function(t,e){return Ox(e.b,t.b)}(Uf(t,91),Uf(e,91))},Bp(SP,"SplineSelfLoopRouter/LoopPadding/MarginComparator",520),ZN(196,1,mP,kn),eI.D=function(t){return Uf(t,91).c==this.a},Bp(SP,"SplineSelfLoopRouter/LoopPadding/PortSidePredicate",196),ZN(195,1,{195:1},_b),eI.c=0,eI.d=0,eI.e=0,Bp(SP,"SplineSelfLoopRouter/SelfLoopEdge",195),ZN(519,1,TI,ee),eI.$b=function(t,e){return function(t,e){return t.d-e.d}(Uf(t,195),Uf(e,195))},Bp(SP,"SplineSelfLoopRouter/SelfLoopEdge/StepSizeComparator",519),ZN(82,25,{25:1,82:1},NN),eI.vc=function(){var t,e;for(t=Sk(this.a,0);t.b!=t.d.c;)Uf(Sb(t),10).a=this.j.d;for(e=Sk(this.c,0);e.b!=e.d.c;)Uf(Sb(e),10).a=this.j.d},eI.wc=function(){return this.b},eI.xc=function(){return this.e},eI.w=function(){return nC(new Un(this.d.a))},eI.b=0,eI.e=0,Bp(HP,"CLEdge",82),ZN(93,25,{25:1,93:1},rS),eI.vc=function(){this.b.i.a=this.j.d+this.b.e.b},eI.wc=function(){return this.b.g==(RT(),DF)?0:this.a},eI.xc=function(){return this.b.g==(RT(),DF)?0:this.c},eI.w=function(){return Uk(kx(this.b,($L(),oq)))},eI.a=0,eI.c=0,Bp(HP,"CLNode",93),ZN(175,17,{175:1,3:1,23:1,17:1},Ds);var dY,pY,gY,vY,bY,yY,mY,wY=tm(HP,"ConstraintCalculationStrategy",175,RD,(function(){return Nb(),Nx(Mo(wY,1),FI,175,0,[lY,hY])}));ZN(125,17,{125:1,3:1,23:1,17:1},Rs);var xY,_Y,EY,kY=tm(HP,"GraphCompactionStrategy",125,RD,(function(){return pC(),Nx(Mo(kY,1),FI,125,0,[yY,gY,mY,bY,vY,pY])}));ZN(455,1,kP,Uu),eI.sc=function(t,e){var n,r,i;if((r=Uf(kx(t,(ZL(),lX)),125))!=(pC(),yY)){switch(HE(e,"Horizontal Compaction",1),this.a=t,vo(n=new mN(function(t,e){var n,r,i;t.d=e,my(t.b),t.c=!1;t:for(n=new Kn(t.d.c);n.ao.j.e+o.j.b?d.d=!0:(d.d=!0,d.c=!0))),r.b!=r.d.c&&(e=n);d&&(a=Uf(Jp(y,c.d.f),25),e.ba.j.e+a.j.b?d.d=!0:(d.d=!0,d.c=!0))}for(u=Ip(q_(v));tE(u);)0!=(c=Uf(Nv(u),12)).a.b&&(e=Uf(Fl(c.a),10),c.d.g==(mL(),IG)&&((E=new LA(e,new ts(e.a,o.j.e),o,c)).c=!0,_.c[_.c.length]=E),c.d.g==$G&&((E=new LA(e,new ts(e.a,o.j.e+o.j.b),o,c)).d=!0,_.c[_.c.length]=E))}if(0!=_.c.length){for(zg(),xb(_,null),_y(0,_.c.length),i=new NN(Uf(_.c[0],142),t.d),f=1;f<_.c.length;f++)_y(f,_.c.length),x=Uf(_.c[f],142),!Xy(i.j.d,x.j)||DE(i.j.e+i.j.b,x.k)||DE(x.n,i.j.e)?(Lf(t.a.b,i),i=new NN(x,t.d)):_O(i,x);Lf(t.a.b,i)}_.c=Ty(TD,GI,1,0,4,1),function(t){var e,n,r,i;for(t.a.a.c=Ty(TD,GI,1,0,4,1),r=new Kn(t.a.b);r.a(r=Math.ceil(r))?0:r,e.o&&o.o&&dl(e,82)&&dl(o,82)&&!Im(Km(Uf(e,82).d,Uf(o,82).d))?(i=ol(new Gr,t.d),s=wv(Mc(o.g.a-e.g.a)),mA(ga(ba(ya(va(new jr,0>s?0:s),1),i),t.c[e.f.d])),mA(ga(ba(ya(va(new jr,0>-s?0:-s),1),i),t.c[o.f.d]))):(u=1,(dl(e,82)&&dl(o,93)||dl(o,82)&&dl(e,93))&&(u=2),mA(ga(ba(ya(va(new jr,wv(r)),u),t.c[e.f.d]),t.c[o.f.d]))))}(this),function(t){var e,n,r,i,o,a,s,c,u,l,h,f,d,p,g,v,b;for(_l(),l=new kr,c=new $s,r=new Kn(t.a.a.b);r.ae.j.d){if((d=t.c[e.f.d])==(v=t.c[h.f.d]))continue;mA(ga(ba(ya(va(new jr,1),100),d),v))}}}(this),function(t){var e,n,r,i,o,a;for(i=new lo,r=new Kn(t.d.a);r.a1)for(e=ol(wa(new Gr,t.b++),t.d),a=Sk(i,0);a.b!=a.d.c;)o=Uf(Sb(a),61),mA(ga(ba(ya(va(new jr,1),0),e),o))}(this),vS(Jh(this.d),new Uh),i=new Kn(this.a.a.b);i.a0&&(this.a[B.k]=Z++)}else{for(M=0,F=new Kn(C.f);F.a0&&++Z}for(et=0,S=0,I=e.length;S0;){for(Lu(z.b>0),Y=0,a=new Kn((B=Uf(z.a.sb(z.c=--z.b),7)).b);a.a0&&(B.g==(mL(),IG)?(this.a[B.k]=et,++et):(this.a[B.k]=et+P+R,++R))}et+=R}else{for(M=0,F=new Kn(C.f);F.a0&&++et}for(H=new kr,p=new Ji,N=0,O=t.length;Nl.c&&(l.c=U)):B.f.d==$&&(Ul.d&&(l.d=U));for(Hk(g,0,g.length,(ec(),ec(),HX)),tt=Ty(iW,vM,26,g.length,12,1),n=Ty(iW,vM,26,et+1,12,1),b=0;b0;)x%2>0&&(r+=it[x+1]),++it[x=(x-1)/2|0];for(k=Ty(CY,GI,158,2*g.length,0,1),w=0;we.f?1:t.ge.g?1:t.b-e.b}(this,Uf(t,204))},eI.b=0,eI.c=0,eI.d=0,eI.f=0,eI.g=0;var TY=Bp(YP,"BetweenLayerHyperedgeAllCrossingsCounter/Hyperedge",204);ZN(158,1,{158:1,23:1},Eg),eI.F=function(t){return function(t,e){return t.ce.c?1:t.be.b?1:t.a!=e.a?t.a.b-e.a.b:0==t.d&&1==e.d?-1:1==t.d&&0==e.d?1:0}(this,Uf(t,158))},eI.b=0,eI.c=0,eI.d=0;var CY=Bp(YP,"BetweenLayerHyperedgeAllCrossingsCounter/HyperedgeCorner",158);ZN(611,339,{},Xi),eI.Gc=function(t,e){var n,r,i,o,a,s,c,u,l,h,f,d,p,g,v,b,y,m,w,x,_,E;for(E=0,i=0,a=t[0].d,m=e[0].d,u=0,h=e.length;u0;){for(Lu(y.b>0),b=0,r=new Kn((g=Uf(y.a.sb(y.c=--y.b),7)).b);r.a0&&(g.g==(mL(),IG)?(this.a[g.k]=E,++E):(this.a[g.k]=E+d+p,++p),i+=b)}E+=p}else{for(f=0,v=new Kn(s.f);v.a0&&(++E,i+=f)}for(w=Ty(iW,vM,26,i,12,1),o=0,c=0,l=t.length;c0;)o%2>0&&(r+=s[o+1]),++s[o=(o-1)/2|0];return r}(E,i,w),n},Bp(YP,"BetweenLayerStraightEdgeAllCrossingsCounter",611),ZN(338,1,{},gC),eI.b=0,eI.e=!1,Bp(YP,"CrossingMatrixFiller",338),ZN(447,1,kP,ne),eI.sc=function(t,e){var n,r;HE(e,"Greedy switch crossing reduction",1),this.e=Uf(kx(t,(ZL(),Qq)),110),t.c.c.length<2||this.e==(TO(),lV)||(function(t,e){var n,r,i,o,a,s,c,u;for(t.f=e,i=e.c.c.length,t.a=Ty(FF,hI,51,i,0,2),t.d=Ty(FF,hI,51,i,0,2),t.g=Ty(FF,hI,51,i,0,2),a=new Kv(e.c,0);a.bPh(t.d,Gu(e.a,e.b))?-1:t.c==e.c&&Gu(t.a,t.b)==Gu(t.a,t.b)?0:1}(this,Uf(t,226))},eI.w=function(){return"ComparableEdgeAndPort [port="+this.b+", edge="+this.a+", portPosition="+this.c+"]"},eI.c=0,Bp(YP,"InLayerEdgeTwoNodeCrossingCounter/ComparableEdgeAndPort",226),ZN(612,1,{},tT),eI.e=!0,eI.f=0,eI.g=0,eI.k=!1,Bp(YP,"NorthSouthEdgeAllCrossingsCounter",612),ZN(615,1,{},qw),eI.b=0,eI.d=0,eI.e=!1,Bp(YP,"NorthSouthEdgeNeighbouringNodeCrossingsCounter",615),ZN(143,1,aM,zh),eI.mb=function(){return bA(this)},eI.b=0,Bp(YP,"PortIterable",143),ZN(344,1,qI,Lv),eI.H=function(){return Uf(dp(this.a),7)},eI.G=function(){return this.a.b>0},eI.I=function(){throw new Kr},Bp(YP,"PortIterable/1",344),ZN(336,1,{},BT),Bp(YP,"SwitchDecider",336),ZN(89,1,{89:1},re),eI.w=function(){return"NEdge[id="+this.b+" w="+this.f+" d="+this.a+"]"},eI.a=1,eI.b=0,eI.e=!1,eI.f=0;var NY=Bp(UP,"NEdge",89);ZN(157,1,{},jr),Bp(UP,"NEdge/NEdgeBuilder",157),ZN(278,1,{},Rr),Bp(UP,"NGraph",278),ZN(61,1,{61:1},Rb),eI.b=0,eI.d=-1,eI.e=0,eI.i=-1,eI.j=!1;var AY,SY,OY=Bp(UP,"NNode",61);ZN(333,13,xP,Ur),eI.rb=function(t,e){++this.d,xy(t,this.c.length),Ac(this.c,t,e)},eI.ib=function(t){return Tp(this,t)},eI.jb=function(t){return++this.d,ox(this,t)},eI.Q=function(){++this.d,this.c=Ty(TD,GI,1,0,4,1)},eI.vb=function(t){return++this.d,yy(this,t)},eI.nb=function(t){return Du(this,t)},Bp(UP,"NNode/ChangeAwareArrayList",333),ZN(199,1,{},Gr),Bp(UP,"NNode/NNodeBuilder",199),ZN(595,1,{},ie),eI.a=!1,eI.f=yI,eI.j=0,Bp(UP,"NetworkSimplex",595),ZN(193,17,{180:1,193:1,3:1,23:1,17:1},js),eI.rc=function(){switch(this.e){case 0:return new Mf;case 1:return new _e;default:throw new so("No implementation is available for the cycle breaker "+(null!=this.d?this.d:""+this.e))}};var LY,IY,MY,PY,DY,RY,jY=tm(qP,"CycleBreakingStrategy",193,RD,(function(){return Vg(),Nx(Mo(jY,1),FI,193,0,[AY,SY])}));ZN(539,1,XP,Mf),eI.qc=function(t){return IY},eI.sc=function(t,e){var n,r,i,o,a,s,c,u,l,h,f,d,p,g,v,b,y,m,w,x,_,E,k,T,C,N,A,S,O,L;for(HE(e,"Greedy cycle removal",1),L=(b=t.b).c.length,this.a=Ty(iW,vM,26,L,12,1),this.c=Ty(iW,vM,26,L,12,1),this.b=Ty(iW,vM,26,L,12,1),s=0,g=new Kn(b);g.a0?T+1:1);for(i=new Kn(w.e);i.a0?T+1:1)}0==this.c[s]?Of(this.d,d):0==this.a[s]&&Of(this.e,d),++s}for(f=-1,h=1,u=new Re,C=Uf(kx(t,($L(),bq)),154);L>0;){for(;0!=this.d.b;)A=Uf(wf(this.d),9),this.b[A.k]=f--,PS(this,A),--L;for(;0!=this.e.b;)S=Uf(wf(this.e),9),this.b[S.k]=h++,PS(this,S),--L;if(L>0){for(l=kI,v=new Kn(b);v.a=l&&(y>l&&(u.c=Ty(TD,GI,1,0,4,1),l=y),u.c[u.c.length]=d);c=Uf(gd(u,$k(C,u.c.length)),9),this.b[c.k]=h++,PS(this,c),--L}}for(N=b.c.length+1,s=0;sthis.b[O]&&(QS(n,!0),Ky(t,HV,(Vd(),Vd(),AX)));this.a=null,this.c=null,this.b=null,Mg(this.e),Mg(this.d),H_(e)},Bp(qP,"GreedyCycleBreaker",539),ZN(540,1,XP,_e),eI.qc=function(t){return MY},eI.sc=function(t,e){var n,r,i,o,a,s,c,u,l,h,f,d;for(HE(e,"Interactive cycle breaking",1),u=new Re,h=new Kn(t.b);h.a0&&LC(this,a,u);for(r=new Kn(u);r.a(a=s+u.j.a)?s+1:a,g=new Kv(n,0),r=null;g.b=a){Lu(g.b>0),g.a.sb(g.c=--g.b);break}d.a>s&&(r?(ox(r.b,d.b),r.a=Fo(r.a,d.a),ug(g)):(Lf(d.b,u),d.c=zo(d.c,s),d.a=Fo(d.a,a),r=d))}r||((r=new Br).c=s,r.a=a,ef(g,r),Lf(r.b,u))}for(o=t.c,c=0,p=new Kn(n);p.a0&&(n+=a.i.a+a.j.a/2,++u),l=new Kn(a.f);l.a1&&(t.c[l]=!0):y.g==KG&&y.e.c.length+y.b.c.length>1&&(t.d[l]=!0)}g.g==(RT(),BF)&&(++s[l],o[l]=!0)}for(n=!0,p=!0,a=0;a0;N++){c=(u=0!=LN(C,1))?0:g-1,s=this.b[c],k=0!=LN(C,1)?_:y,rE(s,i,u,!1,!0),o=yI,a=!0;do{if(Dw(this.b,this.k),T=o,o=0,o+=im(this.f,s,c),u){for(v=1;v=0;v--)l=this.b[v],by(k,s,(nw(),Dq)),rE(l,i,!1,!a,!1),o+=im(this.f,l,v),this.c[v]||this.d[v+1]?o+=QL(this.e,l,s):o+=zL(this.i,l,s),s=l;c=0}a=!1,u=!u}while(o0);(or?o:r;if(o>a){for(l=yE(t,n).mb();l.G();)f[(u=Uf(l.H(),7)).k]=e+zN(n,u.g)-a;return o-a}return 0}switch(n.e){case 1:for(i=0,s=0,h=new Kn(t.f);h.a"),te.e?1:t.fe.f?1:fh(t)-fh(e)}(this,Uf(t,197))},eI.b=0,eI.c=0,eI.e=0,eI.f=0;var tz=Bp(rD,"HyperedgeCrossingsCounter/Hyperedge",197);ZN(156,1,{156:1,23:1},Bg),eI.F=function(t){return function(t,e){return t.ce.c?1:t.be.b?1:t.a!=e.a?fh(t.a)-fh(e.a):t.d==(hb(),nz)&&e.d==ez?-1:t.d==ez&&e.d==nz?1:0}(this,Uf(t,156))},eI.b=0,eI.c=0;var ez,nz,rz=Bp(rD,"HyperedgeCrossingsCounter/HyperedgeCorner",156);ZN(242,17,{242:1,3:1,23:1,17:1},sc);var iz,oz,az,sz,cz=tm(rD,"HyperedgeCrossingsCounter/HyperedgeCorner/Type",242,RD,(function(){return hb(),Nx(Mo(cz,1),FI,242,0,[nz,ez])}));ZN(545,1,XP,Ae),eI.qc=function(t){return Uf(kx(t,($L(),WV)),18).kb((KA(),nV))?iz:null},eI.sc=function(t,e){var n;for(HE(e,"Interactive node placement",1),this.a=Uf(kx(t,($L(),xq)),134),n=new Kn(t.c);n.a(C=Uf(kx(n,($L(),gq)),24).a)?h:C;for(r=new Kn(k.e);r.a(C=Uf(kx(n,($L(),gq)),24).a)?E:C}Ky(m,az,W_(h)),Ky(m,sz,W_(E))}for(v=0,f=new Kn(e.c);f.a=0){for(c=null,s=new Kv(l.a,u+1);s.b0&&u[r]&&(p=rf(t.b,u[r],c)),g=Fo(g,i.d.c.b+p);for(o=new Kn(l.f);o.aw)?(c=2,a=yI):0==c?(c=1,a=_):(c=0,a=_):(f=_>=a||a-_0?(l=Uf(gd(h.d.a,o-1),9),E=Tf(t.b,h,l),g=h.i.b-h.e.d-(l.i.b+l.j.b+l.e.a+E)):g=h.i.b-h.e.d,c=g0?E:0,d.c=n,d.d=Uf(Jp(m,u.c.f),61),Tp(d.c.g,d),Tp(d.d.c,d),(C=new re).f=jk(u),C.a=E<0?-E:0,C.c=n,C.d=Uf(Jp(m,u.d.f),61),Tp(C.c.g,C),Tp(C.d.c,C));for(i=Uf(kx(t,(ZL(),gX)),24).a*wv(Math.sqrt(y)),vS(bo(yo(Jh(r),i),!1),Mw(e,1)),g=new Kn(r.a);g.aa&&(a=Uf(kx(n,gq),24).a);for(r=Ip(q_(s));tE(r);)n=Uf(Nv(r),12),s.d!=n.c.f.d&&Uf(kx(n,($L(),gq)),24).a==a&&Lf(u,new es(n.c.f,n));xb(u,t.c),Id(t.b,s.k,u)}}(h,t),h.f=Ol(h.d),function(t,e){var n,r,i,o,a,s,c,u;for(o=new Kn(e.c);o.aa&&(a=Uf(kx(n,gq),24).a);for(r=Ip(X_(s));tE(r);)n=Uf(Nv(r),12),s.d!=n.d.f.d&&Uf(kx(n,($L(),gq)),24).a==a&&Lf(u,new es(n.d.f,n));xb(u,t.c),Id(t.f,s.k,u)}}(h,t),h}(t),this.a=io(oo(Sh(kx(t,(ZL(),Vq))))),this.e=Zc(kx(t,Kq))===Zc((MT(),VU)),function(t,e){var n,r,i,o,a,s,c,u,l,h,f,d,p,g,v,b,y,m;if(!((g=e.c.c.length)<3)){for(d=Ty(iW,vM,26,g,12,1),h=0,l=new Kn(e.c);l.aa)&&Np(t.c,Uf(v.b,12));++s}o=a}}}(this,t),Cm(4,dM),f=new cm(4),Uf(kx(t,Kq),124).e){case 3:d=new yA(t,this.d.d,(ub(),xz),(dv(),yz)),f.c[f.c.length]=d;break;case 1:p=new yA(t,this.d.d,(ub(),_z),(dv(),yz)),f.c[f.c.length]=p;break;case 4:b=new yA(t,this.d.d,(ub(),xz),(dv(),mz)),f.c[f.c.length]=b;break;case 2:y=new yA(t,this.d.d,(ub(),_z),(dv(),mz)),f.c[f.c.length]=y;break;default:d=new yA(t,this.d.d,(ub(),xz),(dv(),yz)),p=new yA(t,this.d.d,_z,yz),b=new yA(t,this.d.d,xz,mz),y=new yA(t,this.d.d,_z,mz),f.c[f.c.length]=b,f.c[f.c.length]=y,f.c[f.c.length]=d,f.c[f.c.length]=p}for(n=new pc(t,this.d),o=new Kn(f);o.a_[c]&&(p=c),l=new Kn(t.b.c);l.axN(r))&&(u=r);for(!u&&(_y(0,f.c.length),u=Uf(f.c[0],81)),h=new Kn(t.c);h.a0?1:r<0?-1:0)}(this,Uf(t,27),Uf(e,27))},Bp(aD,"NeighborhoodInformation/NeighborComparator",598),ZN(334,1,{}),Bp(aD,"ThresholdStrategy",334),ZN(602,334,{},ki),eI.Ic=function(t,e,n){return this.a.k==(ub(),_z)?fP:dP},eI.Jc=function(){},Bp(aD,"ThresholdStrategy/NullThresholdStrategy",602),ZN(249,1,{249:1},gc),eI.c=!1,eI.d=!1,Bp(aD,"ThresholdStrategy/Postprocessable",249),ZN(603,334,{},Ti),eI.Ic=function(t,e,n){var r,i,o;return i=e==n,r=this.a.a[n.k]==e,i||r?(o=t,this.a.c,dv(),i&&(o=sO(this,e,!0)),(o==1/0||o==-1/0)&&r&&(o=sO(this,n,!1)),o):t},eI.Jc=function(){for(var t,e,n;0!=this.d.b;)(e=tS(this,n=Uf(Jg(this.d),249))).a&&(t=e.a,this.c.a[t.c.f.d.k]!==this.c.a[t.d.f.d.k]&&(GN(this,n)||uu(this.e,n)));for(;0!=this.e.a.c.length;)GN(this,Uf(Ux(this.e),249))},Bp(aD,"ThresholdStrategy/SimpleThresholdStrategy",603),ZN(423,1,{180:1},ue),eI.rc=function(){switch(this.a.e){case 1:return new Yc;case 3:return new Me;default:return new Ie}},Bp(sD,"EdgeRouterFactory",423),ZN(538,1,XP,Ie),eI.qc=function(t){var e,n;return n=Uf(kx(t,($L(),WV)),18),e=new iE,n.kb((KA(),rV))&&(Iw(e,Iz),Iw(e,Pz)),(n.kb(oV)||io(oo(Sh(kx(t,(ZL(),Zq))))))&&(Iw(e,Pz),n.kb(aV)&&Iw(e,Dz)),n.kb(nV)&&Iw(e,Lz),n.kb(cV)&&Iw(e,Rz),n.kb(iV)&&Iw(e,Mz),n.kb(JU)&&Iw(e,Sz),n.kb(eV)&&Iw(e,Oz),e},eI.sc=function(t,e){var n,r,i,o,a,s,c,u,l,h,f,d;HE(e,"Orthogonal edge routing",1),f=Uf(kx(t,($L(),xq)),134),io(oo(Sh(kx(t,(JL(),dj))))),l=new wC(0,f.a),d=0,o=new Kv(t.c,0),a=null,s=null;do{u=(c=o.b0?(n=f.b+(h-1)*f.a,c&&(n+=f.b),n"+this.b},eI.c=0,Bp(sD,"OrthogonalRoutingGenerator/Dependency",118),ZN(80,1,{80:1,23:1},Ww),eI.F=function(t){return function(t,e){return t.d-e.d}(this,Uf(t,80))},eI.t=function(t){var e;return!!dl(t,80)&&(e=Uf(t,80),this.d==e.d)},eI.v=function(){return this.d},eI.w=function(){var t,e,n,r;for(t=new $o("{"),r=new Kn(this.g);r.aEP&&(i=new ts(c,h),Of(n.a,i),$A(this.a,n,t,i,!1),o=new ts(l,h),Of(n.a,o),$A(this.a,n,t,o,!1))},eI.Lc=function(t){return t.f.i.a+t.i.a+t.a.a},eI.Mc=function(){return mL(),$G},eI.Nc=function(){return mL(),IG},Bp(sD,"OrthogonalRoutingGenerator/NorthToSouthRoutingStrategy",580),ZN(581,1,{},jn),eI.Kc=function(t,e){var n,r,i,o,a,s,c,u,l,h;for(h=e-t.i*this.a.c,s=new Kn(t.g);s.aEP&&(i=new ts(c,h),Of(n.a,i),$A(this.a,n,t,i,!1),o=new ts(l,h),Of(n.a,o),$A(this.a,n,t,o,!1))},eI.Lc=function(t){return t.f.i.a+t.i.a+t.a.a},eI.Mc=function(){return mL(),IG},eI.Nc=function(){return mL(),$G},Bp(sD,"OrthogonalRoutingGenerator/SouthToNorthRoutingStrategy",581),ZN(579,1,{},Gn),eI.Kc=function(t,e){var n,r,i,o,a,s,c,u,l,h;for(h=e+t.i*this.a.c,s=new Kn(t.g);s.aEP&&(i=new ts(h,c),Of(n.a,i),$A(this.a,n,t,i,!0),o=new ts(h,l),Of(n.a,o),$A(this.a,n,t,o,!0))},eI.Lc=function(t){return t.f.i.b+t.i.b+t.a.b},eI.Mc=function(){return mL(),LG},eI.Nc=function(){return mL(),KG},Bp(sD,"OrthogonalRoutingGenerator/WestToEastRoutingStrategy",579),ZN(535,1,XP,Yc),eI.qc=function(t){var e,n;return n=Uf(kx(t,($L(),WV)),18),e=new iE,(n.kb((KA(),oV))||io(oo(Sh(kx(t,(ZL(),Zq))))))&&(Iw(e,Bz),n.kb(aV)&&Iw(e,Fz)),n.kb(JU)&&Iw(e,jz),n.kb(eV)&&Iw(e,Gz),e},eI.sc=function(t,e){var n,r,i,o,a,s,c,u,l,h,f,d,p,g,v,b,y,m,w,x;for(HE(e,"Polyline edge routing",1),h=Uf(kx(t,($L(),wq)),15).a,n=Uf(kx(t,(ZL(),$q)),15).a,v=0,0!=t.c.c.length&&(v=.4*n*(b=FN(Uf(gd(t.c,0),16)))),o=new Kv(t.c,0);o.b0&&(v-=h),DO(i,v),c=0,l=new Kn(i.a);l.a(g-p<=0?0-(g-p):g-p)?s:g-p<=0?0-(g-p):g-p;switch(u.g.e){case 0:case 4:case 1:case 3:lO(this,u,v)}c=c>s?c:s}o.b(b=FN((Lu(o.b0),o.a.sb(o.c=--o.b)),a=.4*n*c,!r&&o.b0?((f=(b+1)*this.a)=0&&(O+=(b+2)*this.a)}g=w,c=u}while(w);for(r=new Kn(N);r.a("+this.c+") "+this.b},eI.c=0,Bp(cD,"SplineEdgeRouter/Dependency",117),ZN(223,17,{223:1,3:1,23:1,17:1},vc);var CU,NU,AU,SU,OU,LU,IU=tm(cD,"SplineEdgeRouter/SideToProcess",223,RD,(function(){return pv(),Nx(Mo(IU,1),FI,223,0,[EU,kU])}));ZN(77,1,{77:1,23:1},KC,MO),eI.F=function(t){return function(t,e){return t.i-e.i}(this,Uf(t,77))},eI.a=0,eI.b=0,eI.e=0,eI.f=!1,eI.i=0,eI.k=0,eI.n=0,eI.p=0,Bp(cD,"SplineEdgeRouter/SplineHyperEdge",77),ZN(123,17,{123:1,3:1,23:1,17:1},bc);var MU,PU,DU,RU,jU=tm(dD,"ContentAlignment",123,RD,(function(){return PT(),Nx(Mo(jU,1),FI,123,0,[LU,OU,SU,NU,CU,AU])}));ZN(218,17,{218:1,3:1,23:1,17:1},yc);var GU,BU,FU,HU,YU,zU=tm(dD,"EdgeConstraint",218,RD,(function(){return Dx(),Nx(Mo(zU,1),FI,218,0,[DU,PU,RU])}));ZN(115,17,{115:1,3:1,23:1,17:1},mc);var UU,VU,qU,XU,WU,$U,ZU,KU=tm(dD,"EdgeLabelSideSelection",115,RD,(function(){return mT(),Nx(Mo(KU,1),FI,115,0,[BU,GU,HU,FU,YU])}));ZN(124,17,{124:1,3:1,23:1,17:1},wc);var QU,JU,tV,eV,nV,rV,iV,oV,aV,sV,cV,uV=tm(dD,"FixedAlignment",124,RD,(function(){return MT(),Nx(Mo(uV,1),FI,124,0,[WU,XU,ZU,qU,$U,VU])}));ZN(113,17,{113:1,3:1,23:1,17:1},xc);var lV,hV,fV,dV,pV,gV,vV,bV,yV=tm(dD,"GraphProperties",113,RD,(function(){return KA(),Nx(Mo(yV,1),FI,113,0,[tV,nV,rV,iV,oV,aV,cV,JU,eV,sV])}));ZN(110,17,{110:1,3:1,23:1,17:1},kb),eI.a=!1,eI.b=!1,eI.c=!1;var mV,wV,xV,_V,EV=tm(dD,"GreedySwitchType",110,RD,(function(){return TO(),Nx(Mo(EV,1),FI,110,0,[hV,gV,fV,vV,dV,bV,pV,lV])}));ZN(140,17,{140:1,3:1,23:1,17:1},_c);var kV,TV,CV=tm(dD,"InLayerConstraint",140,RD,(function(){return jm(),Nx(Mo(CV,1),FI,140,0,[xV,_V,wV])}));ZN(174,17,{174:1,3:1,23:1,17:1},Ec);var NV,AV,SV,OV,LV,IV,MV,PV,DV,RV,jV,GV,BV,FV,HV,YV,zV,UV,VV,qV,XV,WV,$V,ZV,KV,QV,JV,tq,eq,nq,rq,iq,oq,aq,sq,cq,uq,lq,hq,fq,dq,pq,gq,vq,bq,yq,mq,wq,xq,_q,Eq,kq,Tq,Cq,Nq,Aq,Sq,Oq,Lq,Iq,Mq=tm(dD,"InteractiveReferencePoint",174,RD,(function(){return cb(),Nx(Mo(Mq,1),FI,174,0,[kV,TV])}));ZN(85,17,{85:1,3:1,23:1,17:1},kc);var Pq,Dq,Rq,jq,Gq=tm(dD,"LayerConstraint",85,RD,(function(){return qk(),Nx(Mo(Gq,1),FI,85,0,[Iq,Aq,Sq,Oq,Lq])}));ZN(219,17,{219:1,3:1,23:1,17:1},Tc);var Bq,Fq,Hq,Yq,zq,Uq,Vq,qq,Xq,Wq,$q,Zq,Kq,Qq,Jq,tX,eX,nX,rX,iX,oX,aX,sX,cX,uX,lX,hX,fX,dX,pX,gX,vX,bX,yX,mX,wX=tm(dD,"PortType",219,RD,(function(){return nw(),Nx(Mo(wX,1),FI,219,0,[jq,Dq,Rq])}));ZN(153,17,{153:1,3:1,23:1,17:1},Cc);var xX,_X,EX,kX,TX=tm(dD,"SelfLoopPlacement",153,RD,(function(){return ME(),Nx(Mo(TX,1),FI,153,0,[bX,mX,yX])}));ZN(134,1,{134:1},gL),eI.a=0,eI.b=0,eI.c=0,eI.d=0,eI.e=0,eI.f=0,Bp(dD,"Spacings",134),ZN(172,17,{172:1,3:1,23:1,17:1},Nc);var CX,NX,AX,SX=tm(dD,"WideNodesStrategy",172,RD,(function(){return Bw(),Nx(Mo(SX,1),FI,172,0,[_X,EX,kX])}));ZN(644,1,{}),Bp(MI,"OutputStream",644),ZN(645,644,{}),Bp(MI,"FilterOutputStream",645),ZN(291,645,{},he),Bp(MI,"PrintStream",291),ZN(255,1,{}),eI.w=function(){return this.a},Bp(OI,"AbstractStringBuilder",255),ZN(621,95,dI,Ci),Bp(OI,"ArrayIndexOutOfBoundsException",621),ZN(290,72,dI,Wr,Eo),Bp(OI,"ArrayStoreException",290),ZN(252,46,fI),Bp(OI,"Error",252),ZN(84,252,fI,Er,sm),Bp(OI,"AssertionError",84),aI={3:1,349:1,23:1};var OX=Bp(OI,"Boolean",349);sI={3:1,23:1,184:1,231:1};var LX=Bp(OI,"Double",184);ZN(15,231,{3:1,23:1,15:1,231:1},Fn,Hn),eI.F=function(t){return function(t,e){return Ox(t.a,e.a)}(this,Uf(t,15))},eI.t=function(t){return dl(t,15)&&Uf(t,15).a==this.a},eI.v=function(){return wv(this.a)},eI.w=function(){return t=this.a,si(),""+t;var t},eI.a=0;var IX,MX,PX=Bp(OI,"Float",15);ZN(101,72,dI,$r,ko),Bp(OI,"IllegalStateException",101),ZN(608,72,dI,To),Bp(OI,"NegativeArraySizeException",608),ZN(76,72,{3:1,54:1,76:1,46:1},Zr,Co),Bp(OI,"NullPointerException",76),ZN(130,29,{3:1,54:1,29:1,130:1,46:1},Ni,Zo),Bp(OI,"NumberFormatException",130),ZN(146,1,{3:1,146:1},Fg),eI.t=function(t){var e;return!!dl(t,146)&&(e=Uf(t,146),this.c==e.c&&Ag(this.d,e.d)&&Ag(this.a,e.a)&&Ag(this.b,e.b))},eI.v=function(){return $x(Nx(Mo(TD,1),GI,1,4,[W_(this.c),this.a,this.d,this.b]))},eI.w=function(){return this.a+"."+this.d+"("+(null!=this.b?this.b:"Unknown Source")+(this.c>=0?":"+this.c:"")+")"},eI.c=0;var DX,RX,jX,GX,BX,FX,HX,YX,zX=Bp(OI,"StackTraceElement",146);ZN(98,255,{345:1},ta,ea,$o),Bp(OI,"StringBuilder",98),ZN(45,72,{3:1,54:1,46:1,45:1},Kr,No),Bp(OI,"UnsupportedOperationException",45),ZN(213,638,XI),eI.Q=function(){my(this)},eI.R=function(t){return qy(this,t)},eI.ab=function(t){return Jx(this,t,this.e)||Jx(this,t,this.d)},eI.bb=function(){return new Yn(this)},eI.cb=function(t){return Jp(this,t)},eI.db=function(t,e){return wg(this,t,e)},eI.eb=function(t){return Kd(this,t)},eI.Y=function(){return Hs(this)},Bp(WI,"AbstractHashMap",213),ZN(120,641,ZI,Yn),eI.Q=function(){this.a.Q()},eI.kb=function(t){return fb(this,t)},eI.mb=function(){return new Xx(this.a)},eI.nb=function(t){var e;return!!fb(this,t)&&(e=Uf(t,21).yb(),this.a.eb(e),!0)},eI.Y=function(){return this.a.Y()},Bp(WI,"AbstractHashMap/EntrySet",120),ZN(148,1,qI,Xx),eI.H=function(){return Um(this)},eI.G=function(){return this.b},eI.I=function(){Hy(this)},eI.b=!1,Bp(WI,"AbstractHashMap/EntrySetIterator",148),ZN(162,1,qI,zn),eI.G=function(){return this.b0},eI.L=function(){return this.b},eI.M=function(){return dp(this)},eI.N=function(){return this.b-1},eI.O=function(t){nf(this,t)},Bp(WI,"AbstractList/ListIteratorImpl",43),ZN(258,647,KI,Wv),eI.rb=function(t,e){xy(t,this.b),this.c.rb(this.a+t,e),++this.b},eI.sb=function(t){return _y(t,this.b),this.c.sb(this.a+t)},eI.vb=function(t){var e;return _y(t,this.b),e=this.c.vb(this.a+t),--this.b,e},eI.wb=function(t,e){return _y(t,this.b),this.c.wb(this.a+t,e)},eI.Y=function(){return this.b},eI.a=0,eI.b=0,Bp(WI,"AbstractList/SubList",258),ZN(36,641,ZI,Un),eI.Q=function(){this.a.Q()},eI.kb=function(t){return this.a.R(t)},eI.mb=function(){return new Vn(this.a.bb().mb())},eI.nb=function(t){return!!this.a.R(t)&&(this.a.eb(t),!0)},eI.Y=function(){return this.a.Y()},Bp(WI,"AbstractMap/1",36),ZN(40,1,qI,Vn),eI.G=function(){return this.a.G()},eI.H=function(){return Uf(this.a.H(),21).yb()},eI.I=function(){this.a.I()},Bp(WI,"AbstractMap/1/1",40),ZN(211,640,$I,qn),eI.Q=function(){this.a.Q()},eI.kb=function(t){return this.a.ab(t)},eI.mb=function(){return new Xn(this.a.bb().mb())},eI.Y=function(){return this.a.Y()},Bp(WI,"AbstractMap/2",211),ZN(212,1,qI,Xn),eI.G=function(){return this.a.G()},eI.H=function(){return Uf(this.a.H(),21).zb()},eI.I=function(){this.a.I()},Bp(WI,"AbstractMap/2/1",212),ZN(210,1,{210:1,21:1}),eI.t=function(t){var e;return!!dl(t,21)&&(e=Uf(t,21),Ag(this.d,e.yb())&&Ag(this.e,e.zb()))},eI.yb=function(){return this.d},eI.zb=function(){return this.e},eI.v=function(){return Fu(this.d)^Fu(this.e)},eI.Ab=function(t){return bf(this,t)},eI.w=function(){return this.d+"="+this.e},Bp(WI,"AbstractMap/AbstractEntry",210),ZN(163,210,{210:1,163:1,21:1},Fc),Bp(WI,"AbstractMap/SimpleEntry",163),ZN(652,1,eM),eI.t=function(t){var e;return!!dl(t,21)&&(e=Uf(t,21),Ag(this.yb(),e.yb())&&Ag(this.zb(),e.zb()))},eI.v=function(){return Fu(this.yb())^Fu(this.zb())},eI.w=function(){return this.yb()+"="+this.zb()},Bp(WI,nM,652),ZN(639,638,XI),eI._=function(t){return Ey(this,t)},eI.R=function(t){return Rc(this,t)},eI.bb=function(){return new Wn(this)},eI.cb=function(t){return Kc(t_(this,t))},eI.W=function(){return new $n(this)},Bp(WI,"AbstractNavigableMap",639),ZN(287,641,ZI,Wn),eI.kb=function(t){return dl(t,21)&&Ey(this.b,Uf(t,21))},eI.mb=function(){return new ff(this.b)},eI.nb=function(t){var e;return!!dl(t,21)&&(e=Uf(t,21),jy(this.b,e))},eI.Y=function(){return this.b.c},Bp(WI,"AbstractNavigableMap/EntrySet",287),ZN(229,641,tM,$n),eI.Q=function(){fo(this.a)},eI.kb=function(t){return Rc(this.a,t)},eI.mb=function(){return new Zn(new ff(new th(this.a).b))},eI.nb=function(t){return!!Rc(this.a,t)&&(vg(this.a,t),!0)},eI.Y=function(){return this.a.c},Bp(WI,"AbstractNavigableMap/NavigableKeySet",229),ZN(230,1,qI,Zn),eI.G=function(){return Fs(this.a.a)},eI.H=function(){return gh(this.a).yb()},eI.I=function(){rd(this.a)},Bp(WI,"AbstractNavigableMap/NavigableKeySet/1",230),ZN(4,1,qI,Kn),eI.G=function(){return pl(this)},eI.H=function(){return Jv(this)},eI.I=function(){fp(this)},eI.a=0,eI.b=-1,Bp(WI,"ArrayList/1",4),ZN(94,647,gD,Qn),eI.kb=function(t){return-1!=function(t,e){var n,r;for(n=0,r=t.Y();n2e3&&(dR=t,pR=r.setTimeout(da,10)),0==fR++&&(function(t){var e,n;if(t.a){n=null;do{e=t.a,t.a=null,n=SC(e,n)}while(t.a);t.a=n}}((hi(),iR)),!0)}();try{return function(t,e,n){return t.apply(e,n)}(t,e,n)}finally{!function(t){t&&function(t){var e,n;if(t.b){n=null;do{e=t.b,t.b=null,n=SC(e,n)}while(t.b);t.b=n}}((hi(),iR)),--fR,t&&-1!=pR&&(function(t){r.clearTimeout(t)}(pR),pR=-1)}(i)}}(t,this,arguments)}},lW=lW=function(t,e,n,r){ho();var i=rI;function o(){for(var t=0;te&&(this.rect.x-=(this.labelWidth-e)/2,this.setWidth(this.labelWidth)),this.labelHeight>n&&("center"==this.labelPos?this.rect.y-=(this.labelHeight-n)/2:"top"==this.labelPos&&(this.rect.y-=this.labelHeight-n),this.setHeight(this.labelHeight))}}},u.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==i.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},u.prototype.transform=function(t){var e=this.rect.x;e>a.WORLD_BOUNDARY?e=a.WORLD_BOUNDARY:e<-a.WORLD_BOUNDARY&&(e=-a.WORLD_BOUNDARY);var n=this.rect.y;n>a.WORLD_BOUNDARY?n=a.WORLD_BOUNDARY:n<-a.WORLD_BOUNDARY&&(n=-a.WORLD_BOUNDARY);var r=new c(e,n),i=t.inverseTransformPoint(r);this.setLocation(i.x,i.y)},u.prototype.getLeft=function(){return this.rect.x},u.prototype.getRight=function(){return this.rect.x+this.rect.width},u.prototype.getTop=function(){return this.rect.y},u.prototype.getBottom=function(){return this.rect.y+this.rect.height},u.prototype.getParent=function(){return null==this.owner?null:this.owner.getParent()},t.exports=u},function(t,e,n){"use strict";function r(t,e){null==t&&null==e?(this.x=0,this.y=0):(this.x=t,this.y=e)}r.prototype.getX=function(){return this.x},r.prototype.getY=function(){return this.y},r.prototype.setX=function(t){this.x=t},r.prototype.setY=function(t){this.y=t},r.prototype.getDifference=function(t){return new DimensionD(this.x-t.x,this.y-t.y)},r.prototype.getCopy=function(){return new r(this.x,this.y)},r.prototype.translate=function(t){return this.x+=t.width,this.y+=t.height,this},t.exports=r},function(t,e,n){"use strict";var r=n(2),i=n(10),o=n(0),a=n(6),s=n(3),c=n(1),u=n(13),l=n(12),h=n(11);function f(t,e,n){r.call(this,n),this.estimatedSize=i.MIN_VALUE,this.margin=o.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=t,null!=e&&e instanceof a?this.graphManager=e:null!=e&&e instanceof Layout&&(this.graphManager=e.graphManager)}for(var d in f.prototype=Object.create(r.prototype),r)f[d]=r[d];f.prototype.getNodes=function(){return this.nodes},f.prototype.getEdges=function(){return this.edges},f.prototype.getGraphManager=function(){return this.graphManager},f.prototype.getParent=function(){return this.parent},f.prototype.getLeft=function(){return this.left},f.prototype.getRight=function(){return this.right},f.prototype.getTop=function(){return this.top},f.prototype.getBottom=function(){return this.bottom},f.prototype.isConnected=function(){return this.isConnected},f.prototype.add=function(t,e,n){if(null==e&&null==n){var r=t;if(null==this.graphManager)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(r)>-1)throw"Node already in graph!";return r.owner=this,this.getNodes().push(r),r}var i=t;if(!(this.getNodes().indexOf(e)>-1&&this.getNodes().indexOf(n)>-1))throw"Source or target not in graph!";if(e.owner!=n.owner||e.owner!=this)throw"Both owners must be this graph!";return e.owner!=n.owner?null:(i.source=e,i.target=n,i.isInterGraph=!1,this.getEdges().push(i),e.edges.push(i),n!=e&&n.edges.push(i),i)},f.prototype.remove=function(t){var e=t;if(t instanceof s){if(null==e)throw"Node is null!";if(null==e.owner||e.owner!=this)throw"Owner graph is invalid!";if(null==this.graphManager)throw"Owner graph manager is invalid!";for(var n=e.edges.slice(),r=n.length,i=0;i-1&&l>-1))throw"Source and/or target doesn't know this edge!";if(o.source.edges.splice(u,1),o.target!=o.source&&o.target.edges.splice(l,1),-1==(a=o.source.owner.getEdges().indexOf(o)))throw"Not in owner's edge list!";o.source.owner.getEdges().splice(a,1)}},f.prototype.updateLeftTop=function(){for(var t,e,n,r=i.MAX_VALUE,o=i.MAX_VALUE,a=this.getNodes(),s=a.length,c=0;c(t=u.getTop())&&(r=t),o>(e=u.getLeft())&&(o=e)}return r==i.MAX_VALUE?null:(n=null!=a[0].getParent().paddingLeft?a[0].getParent().paddingLeft:this.margin,this.left=o-n,this.top=r-n,new l(this.left,this.top))},f.prototype.updateBounds=function(t){for(var e,n,r,o,a,s=i.MAX_VALUE,c=-i.MAX_VALUE,l=i.MAX_VALUE,h=-i.MAX_VALUE,f=this.nodes,d=f.length,p=0;p(e=g.getLeft())&&(s=e),c<(n=g.getRight())&&(c=n),l>(r=g.getTop())&&(l=r),h<(o=g.getBottom())&&(h=o)}var v=new u(s,l,c-s,h-l);s==i.MAX_VALUE&&(this.left=this.parent.getLeft(),this.right=this.parent.getRight(),this.top=this.parent.getTop(),this.bottom=this.parent.getBottom()),a=null!=f[0].getParent().paddingLeft?f[0].getParent().paddingLeft:this.margin,this.left=v.x-a,this.right=v.x+v.width+a,this.top=v.y-a,this.bottom=v.y+v.height+a},f.calculateBounds=function(t){for(var e,n,r,o,a=i.MAX_VALUE,s=-i.MAX_VALUE,c=i.MAX_VALUE,l=-i.MAX_VALUE,h=t.length,f=0;f(e=d.getLeft())&&(a=e),s<(n=d.getRight())&&(s=n),c>(r=d.getTop())&&(c=r),l<(o=d.getBottom())&&(l=o)}return new u(a,c,s-a,l-c)},f.prototype.getInclusionTreeDepth=function(){return this==this.graphManager.getRoot()?1:this.parent.getInclusionTreeDepth()},f.prototype.getEstimatedSize=function(){if(this.estimatedSize==i.MIN_VALUE)throw"assert failed";return this.estimatedSize},f.prototype.calcEstimatedSize=function(){for(var t=0,e=this.nodes,n=e.length,r=0;r=this.nodes.length){var c=0;i.forEach((function(e){e.owner==t&&c++})),c==this.nodes.length&&(this.isConnected=!0)}}else this.isConnected=!0},t.exports=f},function(t,e,n){"use strict";var r,i=n(1);function o(t){r=n(5),this.layout=t,this.graphs=[],this.edges=[]}o.prototype.addRoot=function(){var t=this.layout.newGraph(),e=this.layout.newNode(null),n=this.add(t,e);return this.setRootGraph(n),this.rootGraph},o.prototype.add=function(t,e,n,r,i){if(null==n&&null==r&&null==i){if(null==t)throw"Graph is null!";if(null==e)throw"Parent node is null!";if(this.graphs.indexOf(t)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(t),null!=t.parent)throw"Already has a parent!";if(null!=e.child)throw"Already has a child!";return t.parent=e,e.child=t,t}i=n,n=t;var o=(r=e).getOwner(),a=i.getOwner();if(null==o||o.getGraphManager()!=this)throw"Source not in this graph mgr!";if(null==a||a.getGraphManager()!=this)throw"Target not in this graph mgr!";if(o==a)return n.isInterGraph=!1,o.add(n,r,i);if(n.isInterGraph=!0,n.source=r,n.target=i,this.edges.indexOf(n)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(n),null==n.source||null==n.target)throw"Edge source and/or target is null!";if(-1!=n.source.edges.indexOf(n)||-1!=n.target.edges.indexOf(n))throw"Edge already in source and/or target incidency list!";return n.source.edges.push(n),n.target.edges.push(n),n},o.prototype.remove=function(t){if(t instanceof r){var e=t;if(e.getGraphManager()!=this)throw"Graph not in this graph mgr";if(e!=this.rootGraph&&(null==e.parent||e.parent.graphManager!=this))throw"Invalid parent node!";for(var n,o=[],a=(o=o.concat(e.getEdges())).length,s=0;s=e.getRight()?n[0]+=Math.min(e.getX()-t.getX(),t.getRight()-e.getRight()):e.getX()<=t.getX()&&e.getRight()>=t.getRight()&&(n[0]+=Math.min(t.getX()-e.getX(),e.getRight()-t.getRight())),t.getY()<=e.getY()&&t.getBottom()>=e.getBottom()?n[1]+=Math.min(e.getY()-t.getY(),t.getBottom()-e.getBottom()):e.getY()<=t.getY()&&e.getBottom()>=t.getBottom()&&(n[1]+=Math.min(t.getY()-e.getY(),e.getBottom()-t.getBottom()));var o=Math.abs((e.getCenterY()-t.getCenterY())/(e.getCenterX()-t.getCenterX()));e.getCenterY()===t.getCenterY()&&e.getCenterX()===t.getCenterX()&&(o=1);var a=o*n[0],s=n[1]/o;n[0]a)return n[0]=r,n[1]=c,n[2]=o,n[3]=m,!1;if(io)return n[0]=s,n[1]=i,n[2]=b,n[3]=a,!1;if(ro?(n[0]=l,n[1]=h,E=!0):(n[0]=u,n[1]=c,E=!0):T===N&&(r>o?(n[0]=s,n[1]=c,E=!0):(n[0]=f,n[1]=h,E=!0)),-C===N?o>r?(n[2]=y,n[3]=m,k=!0):(n[2]=b,n[3]=v,k=!0):C===N&&(o>r?(n[2]=g,n[3]=v,k=!0):(n[2]=w,n[3]=m,k=!0)),E&&k)return!1;if(r>o?i>a?(A=this.getCardinalDirection(T,N,4),S=this.getCardinalDirection(C,N,2)):(A=this.getCardinalDirection(-T,N,3),S=this.getCardinalDirection(-C,N,1)):i>a?(A=this.getCardinalDirection(-T,N,1),S=this.getCardinalDirection(-C,N,3)):(A=this.getCardinalDirection(T,N,2),S=this.getCardinalDirection(C,N,4)),!E)switch(A){case 1:L=c,O=r+-p/N,n[0]=O,n[1]=L;break;case 2:O=f,L=i+d*N,n[0]=O,n[1]=L;break;case 3:L=h,O=r+p/N,n[0]=O,n[1]=L;break;case 4:O=l,L=i+-d*N,n[0]=O,n[1]=L}if(!k)switch(S){case 1:M=v,I=o+-_/N,n[2]=I,n[3]=M;break;case 2:I=w,M=a+x*N,n[2]=I,n[3]=M;break;case 3:M=m,I=o+_/N,n[2]=I,n[3]=M;break;case 4:I=y,M=a+-x*N,n[2]=I,n[3]=M}}return!1},i.getCardinalDirection=function(t,e,n){return t>e?n:1+n%4},i.getIntersection=function(t,e,n,i){if(null==i)return this.getIntersection2(t,e,n);var o,a,s,c,u,l,h,f=t.x,d=t.y,p=e.x,g=e.y,v=n.x,b=n.y,y=i.x,m=i.y;return 0==(h=(o=g-d)*(c=v-y)-(a=m-b)*(s=f-p))?null:new r((s*(l=y*b-v*m)-c*(u=p*d-f*g))/h,(a*u-o*l)/h)},i.angleOfVector=function(t,e,n,r){var i=void 0;return t!==n?(i=Math.atan((r-e)/(n-t)),n0?1:t<0?-1:0},r.floor=function(t){return t<0?Math.ceil(t):Math.floor(t)},r.ceil=function(t){return t<0?Math.floor(t):Math.ceil(t)},t.exports=r},function(t,e,n){"use strict";function r(){}r.MAX_VALUE=2147483647,r.MIN_VALUE=-2147483648,t.exports=r},function(t,e,n){"use strict";var r=function(){function t(t,e){for(var n=0;n0&&e;){for(s.push(u[0]);s.length>0&&e;){var l=s[0];s.splice(0,1),a.add(l);var h=l.getEdges();for(o=0;o-1&&u.splice(g,1)}a=new Set,c=new Map}else t=[]}return t},f.prototype.createDummyNodesForBendpoints=function(t){for(var e=[],n=t.source,r=this.graphManager.calcLowestCommonAncestor(t.source,t.target),i=0;i0){for(var i=this.edgeToDummyNodes.get(n),o=0;o=0&&e.splice(h,1),l.getNeighborsList().forEach((function(t){if(n.indexOf(t)<0){var e=r.get(t)-1;1==e&&c.push(t),r.set(t,e)}}))}n=n.concat(c),1!=e.length&&2!=e.length||(i=!0,o=e[0])}return o},f.prototype.setGraphManager=function(t){this.graphManager=t},t.exports=f},function(t,e,n){"use strict";function r(){}r.seed=1,r.x=0,r.nextDouble=function(){return r.x=1e4*Math.sin(r.seed++),r.x-Math.floor(r.x)},t.exports=r},function(t,e,n){"use strict";var r=n(4);function i(t,e){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}i.prototype.getWorldOrgX=function(){return this.lworldOrgX},i.prototype.setWorldOrgX=function(t){this.lworldOrgX=t},i.prototype.getWorldOrgY=function(){return this.lworldOrgY},i.prototype.setWorldOrgY=function(t){this.lworldOrgY=t},i.prototype.getWorldExtX=function(){return this.lworldExtX},i.prototype.setWorldExtX=function(t){this.lworldExtX=t},i.prototype.getWorldExtY=function(){return this.lworldExtY},i.prototype.setWorldExtY=function(t){this.lworldExtY=t},i.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},i.prototype.setDeviceOrgX=function(t){this.ldeviceOrgX=t},i.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},i.prototype.setDeviceOrgY=function(t){this.ldeviceOrgY=t},i.prototype.getDeviceExtX=function(){return this.ldeviceExtX},i.prototype.setDeviceExtX=function(t){this.ldeviceExtX=t},i.prototype.getDeviceExtY=function(){return this.ldeviceExtY},i.prototype.setDeviceExtY=function(t){this.ldeviceExtY=t},i.prototype.transformX=function(t){var e=0,n=this.lworldExtX;return 0!=n&&(e=this.ldeviceOrgX+(t-this.lworldOrgX)*this.ldeviceExtX/n),e},i.prototype.transformY=function(t){var e=0,n=this.lworldExtY;return 0!=n&&(e=this.ldeviceOrgY+(t-this.lworldOrgY)*this.ldeviceExtY/n),e},i.prototype.inverseTransformX=function(t){var e=0,n=this.ldeviceExtX;return 0!=n&&(e=this.lworldOrgX+(t-this.ldeviceOrgX)*this.lworldExtX/n),e},i.prototype.inverseTransformY=function(t){var e=0,n=this.ldeviceExtY;return 0!=n&&(e=this.lworldOrgY+(t-this.ldeviceOrgY)*this.lworldExtY/n),e},i.prototype.inverseTransformPoint=function(t){return new r(this.inverseTransformX(t.x),this.inverseTransformY(t.y))},t.exports=i},function(t,e,n){"use strict";var r=n(15),i=n(7),o=n(0),a=n(8),s=n(9);function c(){r.call(this),this.useSmartIdealEdgeLengthCalculation=i.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION,this.idealEdgeLength=i.DEFAULT_EDGE_LENGTH,this.springConstant=i.DEFAULT_SPRING_STRENGTH,this.repulsionConstant=i.DEFAULT_REPULSION_STRENGTH,this.gravityConstant=i.DEFAULT_GRAVITY_STRENGTH,this.compoundGravityConstant=i.DEFAULT_COMPOUND_GRAVITY_STRENGTH,this.gravityRangeFactor=i.DEFAULT_GRAVITY_RANGE_FACTOR,this.compoundGravityRangeFactor=i.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR,this.displacementThresholdPerNode=3*i.DEFAULT_EDGE_LENGTH/100,this.coolingFactor=i.DEFAULT_COOLING_FACTOR_INCREMENTAL,this.initialCoolingFactor=i.DEFAULT_COOLING_FACTOR_INCREMENTAL,this.totalDisplacement=0,this.oldTotalDisplacement=0,this.maxIterations=i.MAX_ITERATIONS}for(var u in c.prototype=Object.create(r.prototype),r)c[u]=r[u];c.prototype.initParameters=function(){r.prototype.initParameters.call(this,arguments),this.totalIterations=0,this.notAnimatedIterations=0,this.useFRGridVariant=i.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION,this.grid=[]},c.prototype.calcIdealEdgeLengths=function(){for(var t,e,n,r,a,s,c=this.getGraphManager().getAllEdges(),u=0;ui.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*i.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(t-i.ADAPTATION_LOWER_NODE_LIMIT)/(i.ADAPTATION_UPPER_NODE_LIMIT-i.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-i.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=i.MAX_NODE_DISPLACEMENT_INCREMENTAL):(t>i.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(i.COOLING_ADAPTATION_FACTOR,1-(t-i.ADAPTATION_LOWER_NODE_LIMIT)/(i.ADAPTATION_UPPER_NODE_LIMIT-i.ADAPTATION_LOWER_NODE_LIMIT)*(1-i.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=i.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(5*this.getAllNodes().length,this.maxIterations),this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},c.prototype.calcSpringForces=function(){for(var t,e=this.getAllEdges(),n=0;n0&&void 0!==arguments[0])||arguments[0],s=arguments.length>1&&void 0!==arguments[1]&&arguments[1],c=this.getAllNodes();if(this.useFRGridVariant)for(this.totalIterations%i.GRID_CALCULATION_CHECK_PERIOD==1&&a&&this.updateGrid(),o=new Set,t=0;t(c=e.getEstimatedSize()*this.gravityRangeFactor)||s>c)&&(t.gravitationForceX=-this.gravityConstant*i,t.gravitationForceY=-this.gravityConstant*o):(a>(c=e.getEstimatedSize()*this.compoundGravityRangeFactor)||s>c)&&(t.gravitationForceX=-this.gravityConstant*i*this.compoundGravityConstant,t.gravitationForceY=-this.gravityConstant*o*this.compoundGravityConstant)},c.prototype.isConverged=function(){var t,e=!1;return this.totalIterations>this.maxIterations/3&&(e=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2),t=this.totalDisplacement=s.length||u>=s[0].length))for(var l=0;lt}}]),t}();t.exports=o},function(t,e,n){"use strict";var r=function(){function t(t,e){for(var n=0;n2&&void 0!==arguments[2]?arguments[2]:1,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:-1,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:-1;!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.sequence1=e,this.sequence2=n,this.match_score=r,this.mismatch_penalty=i,this.gap_penalty=o,this.iMax=e.length+1,this.jMax=n.length+1,this.grid=new Array(this.iMax);for(var a=0;a=0;n--){var r=this.listeners[n];r.event===t&&r.callback===e&&this.listeners.splice(n,1)}},i.emit=function(t,e){for(var n=0;n{var r=n(852)(n(5639),"DataView");t.exports=r},1989:(t,e,n)=>{var r=n(1789),i=n(401),o=n(7667),a=n(1327),s=n(1866);function c(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e{var r=n(7040),i=n(4125),o=n(2117),a=n(7518),s=n(4705);function c(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e{var r=n(852)(n(5639),"Map");t.exports=r},3369:(t,e,n)=>{var r=n(4785),i=n(1285),o=n(6e3),a=n(9916),s=n(5265);function c(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e{var r=n(852)(n(5639),"Promise");t.exports=r},8525:(t,e,n)=>{var r=n(852)(n(5639),"Set");t.exports=r},8668:(t,e,n)=>{var r=n(3369),i=n(619),o=n(2385);function a(t){var e=-1,n=null==t?0:t.length;for(this.__data__=new r;++e{var r=n(8407),i=n(7465),o=n(3779),a=n(7599),s=n(4758),c=n(4309);function u(t){var e=this.__data__=new r(t);this.size=e.size}u.prototype.clear=i,u.prototype.delete=o,u.prototype.get=a,u.prototype.has=s,u.prototype.set=c,t.exports=u},2705:(t,e,n)=>{var r=n(5639).Symbol;t.exports=r},1149:(t,e,n)=>{var r=n(5639).Uint8Array;t.exports=r},577:(t,e,n)=>{var r=n(852)(n(5639),"WeakMap");t.exports=r},6874:t=>{t.exports=function(t,e,n){switch(n.length){case 0:return t.call(e);case 1:return t.call(e,n[0]);case 2:return t.call(e,n[0],n[1]);case 3:return t.call(e,n[0],n[1],n[2])}return t.apply(e,n)}},7412:t=>{t.exports=function(t,e){for(var n=-1,r=null==t?0:t.length;++n{t.exports=function(t,e){for(var n=-1,r=null==t?0:t.length,i=0,o=[];++n{var r=n(2118);t.exports=function(t,e){return!(null==t||!t.length)&&r(t,e,0)>-1}},1196:t=>{t.exports=function(t,e,n){for(var r=-1,i=null==t?0:t.length;++r{var r=n(2545),i=n(5694),o=n(1469),a=n(4144),s=n(5776),c=n(6719),u=Object.prototype.hasOwnProperty;t.exports=function(t,e){var n=o(t),l=!n&&i(t),h=!n&&!l&&a(t),f=!n&&!l&&!h&&c(t),d=n||l||h||f,p=d?r(t.length,String):[],g=p.length;for(var v in t)!e&&!u.call(t,v)||d&&("length"==v||h&&("offset"==v||"parent"==v)||f&&("buffer"==v||"byteLength"==v||"byteOffset"==v)||s(v,g))||p.push(v);return p}},9932:t=>{t.exports=function(t,e){for(var n=-1,r=null==t?0:t.length,i=Array(r);++n{t.exports=function(t,e){for(var n=-1,r=e.length,i=t.length;++n{t.exports=function(t,e,n,r){var i=-1,o=null==t?0:t.length;for(r&&o&&(n=t[++i]);++i{t.exports=function(t,e){for(var n=-1,r=null==t?0:t.length;++n{var r=n(371)("length");t.exports=r},6556:(t,e,n)=>{var r=n(9465),i=n(7813);t.exports=function(t,e,n){(void 0!==n&&!i(t[e],n)||void 0===n&&!(e in t))&&r(t,e,n)}},4865:(t,e,n)=>{var r=n(9465),i=n(7813),o=Object.prototype.hasOwnProperty;t.exports=function(t,e,n){var a=t[e];o.call(t,e)&&i(a,n)&&(void 0!==n||e in t)||r(t,e,n)}},8470:(t,e,n)=>{var r=n(7813);t.exports=function(t,e){for(var n=t.length;n--;)if(r(t[n][0],e))return n;return-1}},4037:(t,e,n)=>{var r=n(8363),i=n(3674);t.exports=function(t,e){return t&&r(e,i(e),t)}},3886:(t,e,n)=>{var r=n(8363),i=n(1704);t.exports=function(t,e){return t&&r(e,i(e),t)}},9465:(t,e,n)=>{var r=n(8777);t.exports=function(t,e,n){"__proto__"==e&&r?r(t,e,{configurable:!0,enumerable:!0,value:n,writable:!0}):t[e]=n}},5990:(t,e,n)=>{var r=n(6384),i=n(7412),o=n(4865),a=n(4037),s=n(3886),c=n(4626),u=n(278),l=n(8805),h=n(1911),f=n(8234),d=n(6904),p=n(4160),g=n(3824),v=n(9148),b=n(8517),y=n(1469),m=n(4144),w=n(6688),x=n(3218),_=n(2928),E=n(3674),k=n(1704),T="[object Arguments]",C="[object Function]",N="[object Object]",A={};A[T]=A["[object Array]"]=A["[object ArrayBuffer]"]=A["[object DataView]"]=A["[object Boolean]"]=A["[object Date]"]=A["[object Float32Array]"]=A["[object Float64Array]"]=A["[object Int8Array]"]=A["[object Int16Array]"]=A["[object Int32Array]"]=A["[object Map]"]=A["[object Number]"]=A[N]=A["[object RegExp]"]=A["[object Set]"]=A["[object String]"]=A["[object Symbol]"]=A["[object Uint8Array]"]=A["[object Uint8ClampedArray]"]=A["[object Uint16Array]"]=A["[object Uint32Array]"]=!0,A["[object Error]"]=A[C]=A["[object WeakMap]"]=!1,t.exports=function t(e,n,S,O,L,I){var M,P=1&n,D=2&n,R=4&n;if(S&&(M=L?S(e,O,L,I):S(e)),void 0!==M)return M;if(!x(e))return e;var j=y(e);if(j){if(M=g(e),!P)return u(e,M)}else{var G=p(e),B=G==C||"[object GeneratorFunction]"==G;if(m(e))return c(e,P);if(G==N||G==T||B&&!L){if(M=D||B?{}:b(e),!P)return D?h(e,s(M,e)):l(e,a(M,e))}else{if(!A[G])return L?e:{};M=v(e,G,P)}}I||(I=new r);var F=I.get(e);if(F)return F;I.set(e,M),_(e)?e.forEach((function(r){M.add(t(r,n,S,r,e,I))})):w(e)&&e.forEach((function(r,i){M.set(i,t(r,n,S,i,e,I))}));var H=j?void 0:(R?D?d:f:D?k:E)(e);return i(H||e,(function(r,i){H&&(r=e[i=r]),o(M,i,t(r,n,S,i,e,I))})),M}},3118:(t,e,n)=>{var r=n(3218),i=Object.create,o=function(){function t(){}return function(e){if(!r(e))return{};if(i)return i(e);t.prototype=e;var n=new t;return t.prototype=void 0,n}}();t.exports=o},9881:(t,e,n)=>{var r=n(7816),i=n(9291)(r);t.exports=i},6029:(t,e,n)=>{var r=n(3448);t.exports=function(t,e,n){for(var i=-1,o=t.length;++i{var r=n(9881);t.exports=function(t,e){var n=[];return r(t,(function(t,r,i){e(t,r,i)&&n.push(t)})),n}},1848:t=>{t.exports=function(t,e,n,r){for(var i=t.length,o=n+(r?1:-1);r?o--:++o{var r=n(2488),i=n(7285);t.exports=function t(e,n,o,a,s){var c=-1,u=e.length;for(o||(o=i),s||(s=[]);++c0&&o(l)?n>1?t(l,n-1,o,a,s):r(s,l):a||(s[s.length]=l)}return s}},8483:(t,e,n)=>{var r=n(5063)();t.exports=r},7816:(t,e,n)=>{var r=n(8483),i=n(3674);t.exports=function(t,e){return t&&r(t,e,i)}},7786:(t,e,n)=>{var r=n(1811),i=n(327);t.exports=function(t,e){for(var n=0,o=(e=r(e,t)).length;null!=t&&n{var r=n(2488),i=n(1469);t.exports=function(t,e,n){var o=e(t);return i(t)?o:r(o,n(t))}},4239:(t,e,n)=>{var r=n(2705),i=n(9607),o=n(2333),a=r?r.toStringTag:void 0;t.exports=function(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":a&&a in Object(t)?i(t):o(t)}},3325:t=>{t.exports=function(t,e){return t>e}},8565:t=>{var e=Object.prototype.hasOwnProperty;t.exports=function(t,n){return null!=t&&e.call(t,n)}},13:t=>{t.exports=function(t,e){return null!=t&&e in Object(t)}},2118:(t,e,n)=>{var r=n(1848),i=n(2722),o=n(2351);t.exports=function(t,e,n){return e==e?o(t,e,n):r(t,i,n)}},9454:(t,e,n)=>{var r=n(4239),i=n(7005);t.exports=function(t){return i(t)&&"[object Arguments]"==r(t)}},939:(t,e,n)=>{var r=n(2492),i=n(7005);t.exports=function t(e,n,o,a,s){return e===n||(null==e||null==n||!i(e)&&!i(n)?e!=e&&n!=n:r(e,n,o,a,t,s))}},2492:(t,e,n)=>{var r=n(6384),i=n(7114),o=n(8351),a=n(6096),s=n(4160),c=n(1469),u=n(4144),l=n(6719),h="[object Arguments]",f="[object Array]",d="[object Object]",p=Object.prototype.hasOwnProperty;t.exports=function(t,e,n,g,v,b){var y=c(t),m=c(e),w=y?f:s(t),x=m?f:s(e),_=(w=w==h?d:w)==d,E=(x=x==h?d:x)==d,k=w==x;if(k&&u(t)){if(!u(e))return!1;y=!0,_=!1}if(k&&!_)return b||(b=new r),y||l(t)?i(t,e,n,g,v,b):o(t,e,w,n,g,v,b);if(!(1&n)){var T=_&&p.call(t,"__wrapped__"),C=E&&p.call(e,"__wrapped__");if(T||C){var N=T?t.value():t,A=C?e.value():e;return b||(b=new r),v(N,A,n,g,b)}}return!!k&&(b||(b=new r),a(t,e,n,g,v,b))}},5588:(t,e,n)=>{var r=n(4160),i=n(7005);t.exports=function(t){return i(t)&&"[object Map]"==r(t)}},2958:(t,e,n)=>{var r=n(6384),i=n(939);t.exports=function(t,e,n,o){var a=n.length,s=a,c=!o;if(null==t)return!s;for(t=Object(t);a--;){var u=n[a];if(c&&u[2]?u[1]!==t[u[0]]:!(u[0]in t))return!1}for(;++a{t.exports=function(t){return t!=t}},8458:(t,e,n)=>{var r=n(3560),i=n(5346),o=n(3218),a=n(346),s=/^\[object .+?Constructor\]$/,c=Function.prototype,u=Object.prototype,l=c.toString,h=u.hasOwnProperty,f=RegExp("^"+l.call(h).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");t.exports=function(t){return!(!o(t)||i(t))&&(r(t)?f:s).test(a(t))}},9221:(t,e,n)=>{var r=n(4160),i=n(7005);t.exports=function(t){return i(t)&&"[object Set]"==r(t)}},8749:(t,e,n)=>{var r=n(4239),i=n(1780),o=n(7005),a={};a["[object Float32Array]"]=a["[object Float64Array]"]=a["[object Int8Array]"]=a["[object Int16Array]"]=a["[object Int32Array]"]=a["[object Uint8Array]"]=a["[object Uint8ClampedArray]"]=a["[object Uint16Array]"]=a["[object Uint32Array]"]=!0,a["[object Arguments]"]=a["[object Array]"]=a["[object ArrayBuffer]"]=a["[object Boolean]"]=a["[object DataView]"]=a["[object Date]"]=a["[object Error]"]=a["[object Function]"]=a["[object Map]"]=a["[object Number]"]=a["[object Object]"]=a["[object RegExp]"]=a["[object Set]"]=a["[object String]"]=a["[object WeakMap]"]=!1,t.exports=function(t){return o(t)&&i(t.length)&&!!a[r(t)]}},7206:(t,e,n)=>{var r=n(1573),i=n(6432),o=n(6557),a=n(1469),s=n(9601);t.exports=function(t){return"function"==typeof t?t:null==t?o:"object"==typeof t?a(t)?i(t[0],t[1]):r(t):s(t)}},280:(t,e,n)=>{var r=n(5726),i=n(6916),o=Object.prototype.hasOwnProperty;t.exports=function(t){if(!r(t))return i(t);var e=[];for(var n in Object(t))o.call(t,n)&&"constructor"!=n&&e.push(n);return e}},313:(t,e,n)=>{var r=n(3218),i=n(5726),o=n(3498),a=Object.prototype.hasOwnProperty;t.exports=function(t){if(!r(t))return o(t);var e=i(t),n=[];for(var s in t)("constructor"!=s||!e&&a.call(t,s))&&n.push(s);return n}},433:t=>{t.exports=function(t,e){return t{var r=n(9881),i=n(8612);t.exports=function(t,e){var n=-1,o=i(t)?Array(t.length):[];return r(t,(function(t,r,i){o[++n]=e(t,r,i)})),o}},1573:(t,e,n)=>{var r=n(2958),i=n(1499),o=n(2634);t.exports=function(t){var e=i(t);return 1==e.length&&e[0][2]?o(e[0][0],e[0][1]):function(n){return n===t||r(n,t,e)}}},6432:(t,e,n)=>{var r=n(939),i=n(7361),o=n(9095),a=n(5403),s=n(9162),c=n(2634),u=n(327);t.exports=function(t,e){return a(t)&&s(e)?c(u(t),e):function(n){var a=i(n,t);return void 0===a&&a===e?o(n,t):r(e,a,3)}}},2980:(t,e,n)=>{var r=n(6384),i=n(6556),o=n(8483),a=n(9783),s=n(3218),c=n(1704),u=n(6390);t.exports=function t(e,n,l,h,f){e!==n&&o(n,(function(o,c){if(f||(f=new r),s(o))a(e,n,c,l,t,h,f);else{var d=h?h(u(e,c),o,c+"",e,n,f):void 0;void 0===d&&(d=o),i(e,c,d)}}),c)}},9783:(t,e,n)=>{var r=n(6556),i=n(4626),o=n(7133),a=n(278),s=n(8517),c=n(5694),u=n(1469),l=n(9246),h=n(4144),f=n(3560),d=n(3218),p=n(8630),g=n(6719),v=n(6390),b=n(3678);t.exports=function(t,e,n,y,m,w,x){var _=v(t,n),E=v(e,n),k=x.get(E);if(k)r(t,n,k);else{var T=w?w(_,E,n+"",t,e,x):void 0,C=void 0===T;if(C){var N=u(E),A=!N&&h(E),S=!N&&!A&&g(E);T=E,N||A||S?u(_)?T=_:l(_)?T=a(_):A?(C=!1,T=i(E,!0)):S?(C=!1,T=o(E,!0)):T=[]:p(E)||c(E)?(T=_,c(_)?T=b(_):d(_)&&!f(_)||(T=s(E))):C=!1}C&&(x.set(E,T),m(T,E,y,w,x),x.delete(E)),r(t,n,T)}}},9556:(t,e,n)=>{var r=n(9932),i=n(7786),o=n(7206),a=n(9199),s=n(1131),c=n(1717),u=n(5022),l=n(6557),h=n(1469);t.exports=function(t,e,n){e=e.length?r(e,(function(t){return h(t)?function(e){return i(e,1===t.length?t[0]:t)}:t})):[l];var f=-1;e=r(e,c(o));var d=a(t,(function(t,n,i){return{criteria:r(e,(function(e){return e(t)})),index:++f,value:t}}));return s(d,(function(t,e){return u(t,e,n)}))}},5970:(t,e,n)=>{var r=n(3012),i=n(9095);t.exports=function(t,e){return r(t,e,(function(e,n){return i(t,n)}))}},3012:(t,e,n)=>{var r=n(7786),i=n(611),o=n(1811);t.exports=function(t,e,n){for(var a=-1,s=e.length,c={};++a{t.exports=function(t){return function(e){return null==e?void 0:e[t]}}},9152:(t,e,n)=>{var r=n(7786);t.exports=function(t){return function(e){return r(e,t)}}},98:t=>{var e=Math.ceil,n=Math.max;t.exports=function(t,r,i,o){for(var a=-1,s=n(e((r-t)/(i||1)),0),c=Array(s);s--;)c[o?s:++a]=t,t+=i;return c}},107:t=>{t.exports=function(t,e,n,r,i){return i(t,(function(t,i,o){n=r?(r=!1,t):e(n,t,i,o)})),n}},5976:(t,e,n)=>{var r=n(6557),i=n(5357),o=n(61);t.exports=function(t,e){return o(i(t,e,r),t+"")}},611:(t,e,n)=>{var r=n(4865),i=n(1811),o=n(5776),a=n(3218),s=n(327);t.exports=function(t,e,n,c){if(!a(t))return t;for(var u=-1,l=(e=i(e,t)).length,h=l-1,f=t;null!=f&&++u{var r=n(5703),i=n(8777),o=n(6557),a=i?function(t,e){return i(t,"toString",{configurable:!0,enumerable:!1,value:r(e),writable:!0})}:o;t.exports=a},1131:t=>{t.exports=function(t,e){var n=t.length;for(t.sort(e);n--;)t[n]=t[n].value;return t}},2545:t=>{t.exports=function(t,e){for(var n=-1,r=Array(t);++n{var r=n(2705),i=n(9932),o=n(1469),a=n(3448),s=r?r.prototype:void 0,c=s?s.toString:void 0;t.exports=function t(e){if("string"==typeof e)return e;if(o(e))return i(e,t)+"";if(a(e))return c?c.call(e):"";var n=e+"";return"0"==n&&1/e==-1/0?"-0":n}},7561:(t,e,n)=>{var r=n(7990),i=/^\s+/;t.exports=function(t){return t?t.slice(0,r(t)+1).replace(i,""):t}},1717:t=>{t.exports=function(t){return function(e){return t(e)}}},5652:(t,e,n)=>{var r=n(8668),i=n(7443),o=n(1196),a=n(4757),s=n(3593),c=n(1814);t.exports=function(t,e,n){var u=-1,l=i,h=t.length,f=!0,d=[],p=d;if(n)f=!1,l=o;else if(h>=200){var g=e?null:s(t);if(g)return c(g);f=!1,l=a,p=new r}else p=e?[]:d;t:for(;++u{var r=n(9932);t.exports=function(t,e){return r(e,(function(e){return t[e]}))}},1757:t=>{t.exports=function(t,e,n){for(var r=-1,i=t.length,o=e.length,a={};++r{t.exports=function(t,e){return t.has(e)}},4290:(t,e,n)=>{var r=n(6557);t.exports=function(t){return"function"==typeof t?t:r}},1811:(t,e,n)=>{var r=n(1469),i=n(5403),o=n(5514),a=n(9833);t.exports=function(t,e){return r(t)?t:i(t,e)?[t]:o(a(t))}},4318:(t,e,n)=>{var r=n(1149);t.exports=function(t){var e=new t.constructor(t.byteLength);return new r(e).set(new r(t)),e}},4626:(t,e,n)=>{t=n.nmd(t);var r=n(5639),i=e&&!e.nodeType&&e,o=i&&t&&!t.nodeType&&t,a=o&&o.exports===i?r.Buffer:void 0,s=a?a.allocUnsafe:void 0;t.exports=function(t,e){if(e)return t.slice();var n=t.length,r=s?s(n):new t.constructor(n);return t.copy(r),r}},7157:(t,e,n)=>{var r=n(4318);t.exports=function(t,e){var n=e?r(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.byteLength)}},3147:t=>{var e=/\w*$/;t.exports=function(t){var n=new t.constructor(t.source,e.exec(t));return n.lastIndex=t.lastIndex,n}},419:(t,e,n)=>{var r=n(2705),i=r?r.prototype:void 0,o=i?i.valueOf:void 0;t.exports=function(t){return o?Object(o.call(t)):{}}},7133:(t,e,n)=>{var r=n(4318);t.exports=function(t,e){var n=e?r(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.length)}},6393:(t,e,n)=>{var r=n(3448);t.exports=function(t,e){if(t!==e){var n=void 0!==t,i=null===t,o=t==t,a=r(t),s=void 0!==e,c=null===e,u=e==e,l=r(e);if(!c&&!l&&!a&&t>e||a&&s&&u&&!c&&!l||i&&s&&u||!n&&u||!o)return 1;if(!i&&!a&&!l&&t{var r=n(6393);t.exports=function(t,e,n){for(var i=-1,o=t.criteria,a=e.criteria,s=o.length,c=n.length;++i=c?u:u*("desc"==n[i]?-1:1)}return t.index-e.index}},278:t=>{t.exports=function(t,e){var n=-1,r=t.length;for(e||(e=Array(r));++n{var r=n(4865),i=n(9465);t.exports=function(t,e,n,o){var a=!n;n||(n={});for(var s=-1,c=e.length;++s{var r=n(8363),i=n(9551);t.exports=function(t,e){return r(t,i(t),e)}},1911:(t,e,n)=>{var r=n(8363),i=n(1442);t.exports=function(t,e){return r(t,i(t),e)}},4429:(t,e,n)=>{var r=n(5639)["__core-js_shared__"];t.exports=r},1463:(t,e,n)=>{var r=n(5976),i=n(6612);t.exports=function(t){return r((function(e,n){var r=-1,o=n.length,a=o>1?n[o-1]:void 0,s=o>2?n[2]:void 0;for(a=t.length>3&&"function"==typeof a?(o--,a):void 0,s&&i(n[0],n[1],s)&&(a=o<3?void 0:a,o=1),e=Object(e);++r{var r=n(8612);t.exports=function(t,e){return function(n,i){if(null==n)return n;if(!r(n))return t(n,i);for(var o=n.length,a=e?o:-1,s=Object(n);(e?a--:++a{t.exports=function(t){return function(e,n,r){for(var i=-1,o=Object(e),a=r(e),s=a.length;s--;){var c=a[t?s:++i];if(!1===n(o[c],c,o))break}return e}}},7740:(t,e,n)=>{var r=n(7206),i=n(8612),o=n(3674);t.exports=function(t){return function(e,n,a){var s=Object(e);if(!i(e)){var c=r(n,3);e=o(e),n=function(t){return c(s[t],t,s)}}var u=t(e,n,a);return u>-1?s[c?e[u]:u]:void 0}}},7445:(t,e,n)=>{var r=n(98),i=n(6612),o=n(8601);t.exports=function(t){return function(e,n,a){return a&&"number"!=typeof a&&i(e,n,a)&&(n=a=void 0),e=o(e),void 0===n?(n=e,e=0):n=o(n),a=void 0===a?e{var r=n(8525),i=n(308),o=n(1814),a=r&&1/o(new r([,-0]))[1]==1/0?function(t){return new r(t)}:i;t.exports=a},8777:(t,e,n)=>{var r=n(852),i=function(){try{var t=r(Object,"defineProperty");return t({},"",{}),t}catch(t){}}();t.exports=i},7114:(t,e,n)=>{var r=n(8668),i=n(2908),o=n(4757);t.exports=function(t,e,n,a,s,c){var u=1&n,l=t.length,h=e.length;if(l!=h&&!(u&&h>l))return!1;var f=c.get(t),d=c.get(e);if(f&&d)return f==e&&d==t;var p=-1,g=!0,v=2&n?new r:void 0;for(c.set(t,e),c.set(e,t);++p{var r=n(2705),i=n(1149),o=n(7813),a=n(7114),s=n(8776),c=n(1814),u=r?r.prototype:void 0,l=u?u.valueOf:void 0;t.exports=function(t,e,n,r,u,h,f){switch(n){case"[object DataView]":if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case"[object ArrayBuffer]":return!(t.byteLength!=e.byteLength||!h(new i(t),new i(e)));case"[object Boolean]":case"[object Date]":case"[object Number]":return o(+t,+e);case"[object Error]":return t.name==e.name&&t.message==e.message;case"[object RegExp]":case"[object String]":return t==e+"";case"[object Map]":var d=s;case"[object Set]":var p=1&r;if(d||(d=c),t.size!=e.size&&!p)return!1;var g=f.get(t);if(g)return g==e;r|=2,f.set(t,e);var v=a(d(t),d(e),r,u,h,f);return f.delete(t),v;case"[object Symbol]":if(l)return l.call(t)==l.call(e)}return!1}},6096:(t,e,n)=>{var r=n(8234),i=Object.prototype.hasOwnProperty;t.exports=function(t,e,n,o,a,s){var c=1&n,u=r(t),l=u.length;if(l!=r(e).length&&!c)return!1;for(var h=l;h--;){var f=u[h];if(!(c?f in e:i.call(e,f)))return!1}var d=s.get(t),p=s.get(e);if(d&&p)return d==e&&p==t;var g=!0;s.set(t,e),s.set(e,t);for(var v=c;++h{var r=n(5564),i=n(5357),o=n(61);t.exports=function(t){return o(i(t,void 0,r),t+"")}},1957:(t,e,n)=>{var r="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g;t.exports=r},8234:(t,e,n)=>{var r=n(8866),i=n(9551),o=n(3674);t.exports=function(t){return r(t,o,i)}},6904:(t,e,n)=>{var r=n(8866),i=n(1442),o=n(1704);t.exports=function(t){return r(t,o,i)}},5050:(t,e,n)=>{var r=n(7019);t.exports=function(t,e){var n=t.__data__;return r(e)?n["string"==typeof e?"string":"hash"]:n.map}},1499:(t,e,n)=>{var r=n(9162),i=n(3674);t.exports=function(t){for(var e=i(t),n=e.length;n--;){var o=e[n],a=t[o];e[n]=[o,a,r(a)]}return e}},852:(t,e,n)=>{var r=n(8458),i=n(7801);t.exports=function(t,e){var n=i(t,e);return r(n)?n:void 0}},5924:(t,e,n)=>{var r=n(5569)(Object.getPrototypeOf,Object);t.exports=r},9607:(t,e,n)=>{var r=n(2705),i=Object.prototype,o=i.hasOwnProperty,a=i.toString,s=r?r.toStringTag:void 0;t.exports=function(t){var e=o.call(t,s),n=t[s];try{t[s]=void 0;var r=!0}catch(t){}var i=a.call(t);return r&&(e?t[s]=n:delete t[s]),i}},9551:(t,e,n)=>{var r=n(4963),i=n(479),o=Object.prototype.propertyIsEnumerable,a=Object.getOwnPropertySymbols,s=a?function(t){return null==t?[]:(t=Object(t),r(a(t),(function(e){return o.call(t,e)})))}:i;t.exports=s},1442:(t,e,n)=>{var r=n(2488),i=n(5924),o=n(9551),a=n(479),s=Object.getOwnPropertySymbols?function(t){for(var e=[];t;)r(e,o(t)),t=i(t);return e}:a;t.exports=s},4160:(t,e,n)=>{var r=n(8552),i=n(7071),o=n(3818),a=n(8525),s=n(577),c=n(4239),u=n(346),l="[object Map]",h="[object Promise]",f="[object Set]",d="[object WeakMap]",p="[object DataView]",g=u(r),v=u(i),b=u(o),y=u(a),m=u(s),w=c;(r&&w(new r(new ArrayBuffer(1)))!=p||i&&w(new i)!=l||o&&w(o.resolve())!=h||a&&w(new a)!=f||s&&w(new s)!=d)&&(w=function(t){var e=c(t),n="[object Object]"==e?t.constructor:void 0,r=n?u(n):"";if(r)switch(r){case g:return p;case v:return l;case b:return h;case y:return f;case m:return d}return e}),t.exports=w},7801:t=>{t.exports=function(t,e){return null==t?void 0:t[e]}},222:(t,e,n)=>{var r=n(1811),i=n(5694),o=n(1469),a=n(5776),s=n(1780),c=n(327);t.exports=function(t,e,n){for(var u=-1,l=(e=r(e,t)).length,h=!1;++u{var e=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]");t.exports=function(t){return e.test(t)}},1789:(t,e,n)=>{var r=n(4536);t.exports=function(){this.__data__=r?r(null):{},this.size=0}},401:t=>{t.exports=function(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}},7667:(t,e,n)=>{var r=n(4536),i=Object.prototype.hasOwnProperty;t.exports=function(t){var e=this.__data__;if(r){var n=e[t];return"__lodash_hash_undefined__"===n?void 0:n}return i.call(e,t)?e[t]:void 0}},1327:(t,e,n)=>{var r=n(4536),i=Object.prototype.hasOwnProperty;t.exports=function(t){var e=this.__data__;return r?void 0!==e[t]:i.call(e,t)}},1866:(t,e,n)=>{var r=n(4536);t.exports=function(t,e){var n=this.__data__;return this.size+=this.has(t)?0:1,n[t]=r&&void 0===e?"__lodash_hash_undefined__":e,this}},3824:t=>{var e=Object.prototype.hasOwnProperty;t.exports=function(t){var n=t.length,r=new t.constructor(n);return n&&"string"==typeof t[0]&&e.call(t,"index")&&(r.index=t.index,r.input=t.input),r}},9148:(t,e,n)=>{var r=n(4318),i=n(7157),o=n(3147),a=n(419),s=n(7133);t.exports=function(t,e,n){var c=t.constructor;switch(e){case"[object ArrayBuffer]":return r(t);case"[object Boolean]":case"[object Date]":return new c(+t);case"[object DataView]":return i(t,n);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return s(t,n);case"[object Map]":case"[object Set]":return new c;case"[object Number]":case"[object String]":return new c(t);case"[object RegExp]":return o(t);case"[object Symbol]":return a(t)}}},8517:(t,e,n)=>{var r=n(3118),i=n(5924),o=n(5726);t.exports=function(t){return"function"!=typeof t.constructor||o(t)?{}:r(i(t))}},7285:(t,e,n)=>{var r=n(2705),i=n(5694),o=n(1469),a=r?r.isConcatSpreadable:void 0;t.exports=function(t){return o(t)||i(t)||!!(a&&t&&t[a])}},5776:t=>{var e=/^(?:0|[1-9]\d*)$/;t.exports=function(t,n){var r=typeof t;return!!(n=null==n?9007199254740991:n)&&("number"==r||"symbol"!=r&&e.test(t))&&t>-1&&t%1==0&&t{var r=n(7813),i=n(8612),o=n(5776),a=n(3218);t.exports=function(t,e,n){if(!a(n))return!1;var s=typeof e;return!!("number"==s?i(n)&&o(e,n.length):"string"==s&&e in n)&&r(n[e],t)}},5403:(t,e,n)=>{var r=n(1469),i=n(3448),o=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,a=/^\w*$/;t.exports=function(t,e){if(r(t))return!1;var n=typeof t;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=t&&!i(t))||a.test(t)||!o.test(t)||null!=e&&t in Object(e)}},7019:t=>{t.exports=function(t){var e=typeof t;return"string"==e||"number"==e||"symbol"==e||"boolean"==e?"__proto__"!==t:null===t}},5346:(t,e,n)=>{var r,i=n(4429),o=(r=/[^.]+$/.exec(i&&i.keys&&i.keys.IE_PROTO||""))?"Symbol(src)_1."+r:"";t.exports=function(t){return!!o&&o in t}},5726:t=>{var e=Object.prototype;t.exports=function(t){var n=t&&t.constructor;return t===("function"==typeof n&&n.prototype||e)}},9162:(t,e,n)=>{var r=n(3218);t.exports=function(t){return t==t&&!r(t)}},7040:t=>{t.exports=function(){this.__data__=[],this.size=0}},4125:(t,e,n)=>{var r=n(8470),i=Array.prototype.splice;t.exports=function(t){var e=this.__data__,n=r(e,t);return!(n<0||(n==e.length-1?e.pop():i.call(e,n,1),--this.size,0))}},2117:(t,e,n)=>{var r=n(8470);t.exports=function(t){var e=this.__data__,n=r(e,t);return n<0?void 0:e[n][1]}},7518:(t,e,n)=>{var r=n(8470);t.exports=function(t){return r(this.__data__,t)>-1}},4705:(t,e,n)=>{var r=n(8470);t.exports=function(t,e){var n=this.__data__,i=r(n,t);return i<0?(++this.size,n.push([t,e])):n[i][1]=e,this}},4785:(t,e,n)=>{var r=n(1989),i=n(8407),o=n(7071);t.exports=function(){this.size=0,this.__data__={hash:new r,map:new(o||i),string:new r}}},1285:(t,e,n)=>{var r=n(5050);t.exports=function(t){var e=r(this,t).delete(t);return this.size-=e?1:0,e}},6e3:(t,e,n)=>{var r=n(5050);t.exports=function(t){return r(this,t).get(t)}},9916:(t,e,n)=>{var r=n(5050);t.exports=function(t){return r(this,t).has(t)}},5265:(t,e,n)=>{var r=n(5050);t.exports=function(t,e){var n=r(this,t),i=n.size;return n.set(t,e),this.size+=n.size==i?0:1,this}},8776:t=>{t.exports=function(t){var e=-1,n=Array(t.size);return t.forEach((function(t,r){n[++e]=[r,t]})),n}},2634:t=>{t.exports=function(t,e){return function(n){return null!=n&&n[t]===e&&(void 0!==e||t in Object(n))}}},4523:(t,e,n)=>{var r=n(8306);t.exports=function(t){var e=r(t,(function(t){return 500===n.size&&n.clear(),t})),n=e.cache;return e}},4536:(t,e,n)=>{var r=n(852)(Object,"create");t.exports=r},6916:(t,e,n)=>{var r=n(5569)(Object.keys,Object);t.exports=r},3498:t=>{t.exports=function(t){var e=[];if(null!=t)for(var n in Object(t))e.push(n);return e}},1167:(t,e,n)=>{t=n.nmd(t);var r=n(1957),i=e&&!e.nodeType&&e,o=i&&t&&!t.nodeType&&t,a=o&&o.exports===i&&r.process,s=function(){try{return o&&o.require&&o.require("util").types||a&&a.binding&&a.binding("util")}catch(t){}}();t.exports=s},2333:t=>{var e=Object.prototype.toString;t.exports=function(t){return e.call(t)}},5569:t=>{t.exports=function(t,e){return function(n){return t(e(n))}}},5357:(t,e,n)=>{var r=n(6874),i=Math.max;t.exports=function(t,e,n){return e=i(void 0===e?t.length-1:e,0),function(){for(var o=arguments,a=-1,s=i(o.length-e,0),c=Array(s);++a{var r=n(1957),i="object"==typeof self&&self&&self.Object===Object&&self,o=r||i||Function("return this")();t.exports=o},6390:t=>{t.exports=function(t,e){if(("constructor"!==e||"function"!=typeof t[e])&&"__proto__"!=e)return t[e]}},619:t=>{t.exports=function(t){return this.__data__.set(t,"__lodash_hash_undefined__"),this}},2385:t=>{t.exports=function(t){return this.__data__.has(t)}},1814:t=>{t.exports=function(t){var e=-1,n=Array(t.size);return t.forEach((function(t){n[++e]=t})),n}},61:(t,e,n)=>{var r=n(6560),i=n(1275)(r);t.exports=i},1275:t=>{var e=Date.now;t.exports=function(t){var n=0,r=0;return function(){var i=e(),o=16-(i-r);if(r=i,o>0){if(++n>=800)return arguments[0]}else n=0;return t.apply(void 0,arguments)}}},7465:(t,e,n)=>{var r=n(8407);t.exports=function(){this.__data__=new r,this.size=0}},3779:t=>{t.exports=function(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n}},7599:t=>{t.exports=function(t){return this.__data__.get(t)}},4758:t=>{t.exports=function(t){return this.__data__.has(t)}},4309:(t,e,n)=>{var r=n(8407),i=n(7071),o=n(3369);t.exports=function(t,e){var n=this.__data__;if(n instanceof r){var a=n.__data__;if(!i||a.length<199)return a.push([t,e]),this.size=++n.size,this;n=this.__data__=new o(a)}return n.set(t,e),this.size=n.size,this}},2351:t=>{t.exports=function(t,e,n){for(var r=n-1,i=t.length;++r{var r=n(8983),i=n(2689),o=n(1903);t.exports=function(t){return i(t)?o(t):r(t)}},5514:(t,e,n)=>{var r=n(4523),i=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,o=/\\(\\)?/g,a=r((function(t){var e=[];return 46===t.charCodeAt(0)&&e.push(""),t.replace(i,(function(t,n,r,i){e.push(r?i.replace(o,"$1"):n||t)})),e}));t.exports=a},327:(t,e,n)=>{var r=n(3448);t.exports=function(t){if("string"==typeof t||r(t))return t;var e=t+"";return"0"==e&&1/t==-1/0?"-0":e}},346:t=>{var e=Function.prototype.toString;t.exports=function(t){if(null!=t){try{return e.call(t)}catch(t){}try{return t+""}catch(t){}}return""}},7990:t=>{var e=/\s/;t.exports=function(t){for(var n=t.length;n--&&e.test(t.charAt(n)););return n}},1903:t=>{var e="\\ud800-\\udfff",n="["+e+"]",r="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",i="\\ud83c[\\udffb-\\udfff]",o="[^"+e+"]",a="(?:\\ud83c[\\udde6-\\uddff]){2}",s="[\\ud800-\\udbff][\\udc00-\\udfff]",c="(?:"+r+"|"+i+")?",u="[\\ufe0e\\ufe0f]?",l=u+c+"(?:\\u200d(?:"+[o,a,s].join("|")+")"+u+c+")*",h="(?:"+[o+r+"?",r,a,s,n].join("|")+")",f=RegExp(i+"(?="+i+")|"+h+l,"g");t.exports=function(t){for(var e=f.lastIndex=0;f.test(t);)++e;return e}},6678:(t,e,n)=>{var r=n(5990);t.exports=function(t){return r(t,4)}},361:(t,e,n)=>{var r=n(5990);t.exports=function(t){return r(t,5)}},5703:t=>{t.exports=function(t){return function(){return t}}},3279:(t,e,n)=>{var r=n(3218),i=n(7771),o=n(4841),a=Math.max,s=Math.min;t.exports=function(t,e,n){var c,u,l,h,f,d,p=0,g=!1,v=!1,b=!0;if("function"!=typeof t)throw new TypeError("Expected a function");function y(e){var n=c,r=u;return c=u=void 0,p=e,h=t.apply(r,n)}function m(t){var n=t-d;return void 0===d||n>=e||n<0||v&&t-p>=l}function w(){var t=i();if(m(t))return x(t);f=setTimeout(w,function(t){var n=e-(t-d);return v?s(n,l-(t-p)):n}(t))}function x(t){return f=void 0,b&&c?y(t):(c=u=void 0,h)}function _(){var t=i(),n=m(t);if(c=arguments,u=this,d=t,n){if(void 0===f)return function(t){return p=t,f=setTimeout(w,e),g?y(t):h}(d);if(v)return clearTimeout(f),f=setTimeout(w,e),y(d)}return void 0===f&&(f=setTimeout(w,e)),h}return e=o(e)||0,r(n)&&(g=!!n.leading,l=(v="maxWait"in n)?a(o(n.maxWait)||0,e):l,b="trailing"in n?!!n.trailing:b),_.cancel=function(){void 0!==f&&clearTimeout(f),p=0,c=d=u=f=void 0},_.flush=function(){return void 0===f?h:x(i())},_}},1747:(t,e,n)=>{var r=n(5976),i=n(7813),o=n(6612),a=n(1704),s=Object.prototype,c=s.hasOwnProperty,u=r((function(t,e){t=Object(t);var n=-1,r=e.length,u=r>2?e[2]:void 0;for(u&&o(e[0],e[1],u)&&(r=1);++n{t.exports=n(4486)},7813:t=>{t.exports=function(t,e){return t===e||t!=t&&e!=e}},3105:(t,e,n)=>{var r=n(4963),i=n(760),o=n(7206),a=n(1469);t.exports=function(t,e){return(a(t)?r:i)(t,o(e,3))}},3311:(t,e,n)=>{var r=n(7740)(n(998));t.exports=r},998:(t,e,n)=>{var r=n(1848),i=n(7206),o=n(554),a=Math.max;t.exports=function(t,e,n){var s=null==t?0:t.length;if(!s)return-1;var c=null==n?0:o(n);return c<0&&(c=a(s+c,0)),r(t,i(e,3),c)}},5564:(t,e,n)=>{var r=n(1078);t.exports=function(t){return null!=t&&t.length?r(t,1):[]}},4486:(t,e,n)=>{var r=n(7412),i=n(9881),o=n(4290),a=n(1469);t.exports=function(t,e){return(a(t)?r:i)(t,o(e))}},2620:(t,e,n)=>{var r=n(8483),i=n(4290),o=n(1704);t.exports=function(t,e){return null==t?t:r(t,i(e),o)}},7361:(t,e,n)=>{var r=n(7786);t.exports=function(t,e,n){var i=null==t?void 0:r(t,e);return void 0===i?n:i}},8721:(t,e,n)=>{var r=n(8565),i=n(222);t.exports=function(t,e){return null!=t&&i(t,e,r)}},9095:(t,e,n)=>{var r=n(13),i=n(222);t.exports=function(t,e){return null!=t&&i(t,e,r)}},6557:t=>{t.exports=function(t){return t}},5694:(t,e,n)=>{var r=n(9454),i=n(7005),o=Object.prototype,a=o.hasOwnProperty,s=o.propertyIsEnumerable,c=r(function(){return arguments}())?r:function(t){return i(t)&&a.call(t,"callee")&&!s.call(t,"callee")};t.exports=c},1469:t=>{var e=Array.isArray;t.exports=e},8612:(t,e,n)=>{var r=n(3560),i=n(1780);t.exports=function(t){return null!=t&&i(t.length)&&!r(t)}},9246:(t,e,n)=>{var r=n(8612),i=n(7005);t.exports=function(t){return i(t)&&r(t)}},4144:(t,e,n)=>{t=n.nmd(t);var r=n(5639),i=n(5062),o=e&&!e.nodeType&&e,a=o&&t&&!t.nodeType&&t,s=a&&a.exports===o?r.Buffer:void 0,c=(s?s.isBuffer:void 0)||i;t.exports=c},1609:(t,e,n)=>{var r=n(280),i=n(4160),o=n(5694),a=n(1469),s=n(8612),c=n(4144),u=n(5726),l=n(6719),h=Object.prototype.hasOwnProperty;t.exports=function(t){if(null==t)return!0;if(s(t)&&(a(t)||"string"==typeof t||"function"==typeof t.splice||c(t)||l(t)||o(t)))return!t.length;var e=i(t);if("[object Map]"==e||"[object Set]"==e)return!t.size;if(u(t))return!r(t).length;for(var n in t)if(h.call(t,n))return!1;return!0}},3560:(t,e,n)=>{var r=n(4239),i=n(3218);t.exports=function(t){if(!i(t))return!1;var e=r(t);return"[object Function]"==e||"[object GeneratorFunction]"==e||"[object AsyncFunction]"==e||"[object Proxy]"==e}},1780:t=>{t.exports=function(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=9007199254740991}},6688:(t,e,n)=>{var r=n(5588),i=n(1717),o=n(1167),a=o&&o.isMap,s=a?i(a):r;t.exports=s},3218:t=>{t.exports=function(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}},7005:t=>{t.exports=function(t){return null!=t&&"object"==typeof t}},8630:(t,e,n)=>{var r=n(4239),i=n(5924),o=n(7005),a=Function.prototype,s=Object.prototype,c=a.toString,u=s.hasOwnProperty,l=c.call(Object);t.exports=function(t){if(!o(t)||"[object Object]"!=r(t))return!1;var e=i(t);if(null===e)return!0;var n=u.call(e,"constructor")&&e.constructor;return"function"==typeof n&&n instanceof n&&c.call(n)==l}},2928:(t,e,n)=>{var r=n(9221),i=n(1717),o=n(1167),a=o&&o.isSet,s=a?i(a):r;t.exports=s},7037:(t,e,n)=>{var r=n(4239),i=n(1469),o=n(7005);t.exports=function(t){return"string"==typeof t||!i(t)&&o(t)&&"[object String]"==r(t)}},3448:(t,e,n)=>{var r=n(4239),i=n(7005);t.exports=function(t){return"symbol"==typeof t||i(t)&&"[object Symbol]"==r(t)}},6719:(t,e,n)=>{var r=n(8749),i=n(1717),o=n(1167),a=o&&o.isTypedArray,s=a?i(a):r;t.exports=s},2353:t=>{t.exports=function(t){return void 0===t}},3674:(t,e,n)=>{var r=n(4636),i=n(280),o=n(8612);t.exports=function(t){return o(t)?r(t):i(t)}},1704:(t,e,n)=>{var r=n(4636),i=n(313),o=n(8612);t.exports=function(t){return o(t)?r(t,!0):i(t)}},928:t=>{t.exports=function(t){var e=null==t?0:t.length;return e?t[e-1]:void 0}},6486:function(t,e,n){var r;t=n.nmd(t),function(){var i,o="Expected a function",a="__lodash_hash_undefined__",s="__lodash_placeholder__",c=32,u=128,l=1/0,h=9007199254740991,f=NaN,d=4294967295,p=[["ary",u],["bind",1],["bindKey",2],["curry",8],["curryRight",16],["flip",512],["partial",c],["partialRight",64],["rearg",256]],g="[object Arguments]",v="[object Array]",b="[object Boolean]",y="[object Date]",m="[object Error]",w="[object Function]",x="[object GeneratorFunction]",_="[object Map]",E="[object Number]",k="[object Object]",T="[object Promise]",C="[object RegExp]",N="[object Set]",A="[object String]",S="[object Symbol]",O="[object WeakMap]",L="[object ArrayBuffer]",I="[object DataView]",M="[object Float32Array]",P="[object Float64Array]",D="[object Int8Array]",R="[object Int16Array]",j="[object Int32Array]",G="[object Uint8Array]",B="[object Uint8ClampedArray]",F="[object Uint16Array]",H="[object Uint32Array]",Y=/\b__p \+= '';/g,z=/\b(__p \+=) '' \+/g,U=/(__e\(.*?\)|\b__t\)) \+\n'';/g,V=/&(?:amp|lt|gt|quot|#39);/g,q=/[&<>"']/g,X=RegExp(V.source),W=RegExp(q.source),$=/<%-([\s\S]+?)%>/g,Z=/<%([\s\S]+?)%>/g,K=/<%=([\s\S]+?)%>/g,Q=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,J=/^\w*$/,tt=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,et=/[\\^$.*+?()[\]{}|]/g,nt=RegExp(et.source),rt=/^\s+/,it=/\s/,ot=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,at=/\{\n\/\* \[wrapped with (.+)\] \*/,st=/,? & /,ct=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,ut=/[()=,{}\[\]\/\s]/,lt=/\\(\\)?/g,ht=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,ft=/\w*$/,dt=/^[-+]0x[0-9a-f]+$/i,pt=/^0b[01]+$/i,gt=/^\[object .+?Constructor\]$/,vt=/^0o[0-7]+$/i,bt=/^(?:0|[1-9]\d*)$/,yt=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,mt=/($^)/,wt=/['\n\r\u2028\u2029\\]/g,xt="\\ud800-\\udfff",_t="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",Et="\\u2700-\\u27bf",kt="a-z\\xdf-\\xf6\\xf8-\\xff",Tt="A-Z\\xc0-\\xd6\\xd8-\\xde",Ct="\\ufe0e\\ufe0f",Nt="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",At="["+xt+"]",St="["+Nt+"]",Ot="["+_t+"]",Lt="\\d+",It="["+Et+"]",Mt="["+kt+"]",Pt="[^"+xt+Nt+Lt+Et+kt+Tt+"]",Dt="\\ud83c[\\udffb-\\udfff]",Rt="[^"+xt+"]",jt="(?:\\ud83c[\\udde6-\\uddff]){2}",Gt="[\\ud800-\\udbff][\\udc00-\\udfff]",Bt="["+Tt+"]",Ft="\\u200d",Ht="(?:"+Mt+"|"+Pt+")",Yt="(?:"+Bt+"|"+Pt+")",zt="(?:['’](?:d|ll|m|re|s|t|ve))?",Ut="(?:['’](?:D|LL|M|RE|S|T|VE))?",Vt="(?:"+Ot+"|"+Dt+")?",qt="["+Ct+"]?",Xt=qt+Vt+"(?:"+Ft+"(?:"+[Rt,jt,Gt].join("|")+")"+qt+Vt+")*",Wt="(?:"+[It,jt,Gt].join("|")+")"+Xt,$t="(?:"+[Rt+Ot+"?",Ot,jt,Gt,At].join("|")+")",Zt=RegExp("['’]","g"),Kt=RegExp(Ot,"g"),Qt=RegExp(Dt+"(?="+Dt+")|"+$t+Xt,"g"),Jt=RegExp([Bt+"?"+Mt+"+"+zt+"(?="+[St,Bt,"$"].join("|")+")",Yt+"+"+Ut+"(?="+[St,Bt+Ht,"$"].join("|")+")",Bt+"?"+Ht+"+"+zt,Bt+"+"+Ut,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Lt,Wt].join("|"),"g"),te=RegExp("["+Ft+xt+_t+Ct+"]"),ee=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,ne=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],re=-1,ie={};ie[M]=ie[P]=ie[D]=ie[R]=ie[j]=ie[G]=ie[B]=ie[F]=ie[H]=!0,ie[g]=ie[v]=ie[L]=ie[b]=ie[I]=ie[y]=ie[m]=ie[w]=ie[_]=ie[E]=ie[k]=ie[C]=ie[N]=ie[A]=ie[O]=!1;var oe={};oe[g]=oe[v]=oe[L]=oe[I]=oe[b]=oe[y]=oe[M]=oe[P]=oe[D]=oe[R]=oe[j]=oe[_]=oe[E]=oe[k]=oe[C]=oe[N]=oe[A]=oe[S]=oe[G]=oe[B]=oe[F]=oe[H]=!0,oe[m]=oe[w]=oe[O]=!1;var ae={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},se=parseFloat,ce=parseInt,ue="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g,le="object"==typeof self&&self&&self.Object===Object&&self,he=ue||le||Function("return this")(),fe=e&&!e.nodeType&&e,de=fe&&t&&!t.nodeType&&t,pe=de&&de.exports===fe,ge=pe&&ue.process,ve=function(){try{return de&&de.require&&de.require("util").types||ge&&ge.binding&&ge.binding("util")}catch(t){}}(),be=ve&&ve.isArrayBuffer,ye=ve&&ve.isDate,me=ve&&ve.isMap,we=ve&&ve.isRegExp,xe=ve&&ve.isSet,_e=ve&&ve.isTypedArray;function Ee(t,e,n){switch(n.length){case 0:return t.call(e);case 1:return t.call(e,n[0]);case 2:return t.call(e,n[0],n[1]);case 3:return t.call(e,n[0],n[1],n[2])}return t.apply(e,n)}function ke(t,e,n,r){for(var i=-1,o=null==t?0:t.length;++i-1}function Oe(t,e,n){for(var r=-1,i=null==t?0:t.length;++r-1;);return n}function Je(t,e){for(var n=t.length;n--&&Be(e,t[n],0)>-1;);return n}var tn=Ue({À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"}),en=Ue({"&":"&","<":"<",">":">",'"':""","'":"'"});function nn(t){return"\\"+ae[t]}function rn(t){return te.test(t)}function on(t){var e=-1,n=Array(t.size);return t.forEach((function(t,r){n[++e]=[r,t]})),n}function an(t,e){return function(n){return t(e(n))}}function sn(t,e){for(var n=-1,r=t.length,i=0,o=[];++n",""":'"',"'":"'"}),pn=function t(e){var n,r=(e=null==e?he:pn.defaults(he.Object(),e,pn.pick(he,ne))).Array,it=e.Date,xt=e.Error,_t=e.Function,Et=e.Math,kt=e.Object,Tt=e.RegExp,Ct=e.String,Nt=e.TypeError,At=r.prototype,St=_t.prototype,Ot=kt.prototype,Lt=e["__core-js_shared__"],It=St.toString,Mt=Ot.hasOwnProperty,Pt=0,Dt=(n=/[^.]+$/.exec(Lt&&Lt.keys&&Lt.keys.IE_PROTO||""))?"Symbol(src)_1."+n:"",Rt=Ot.toString,jt=It.call(kt),Gt=he._,Bt=Tt("^"+It.call(Mt).replace(et,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Ft=pe?e.Buffer:i,Ht=e.Symbol,Yt=e.Uint8Array,zt=Ft?Ft.allocUnsafe:i,Ut=an(kt.getPrototypeOf,kt),Vt=kt.create,qt=Ot.propertyIsEnumerable,Xt=At.splice,Wt=Ht?Ht.isConcatSpreadable:i,$t=Ht?Ht.iterator:i,Qt=Ht?Ht.toStringTag:i,te=function(){try{var t=co(kt,"defineProperty");return t({},"",{}),t}catch(t){}}(),ae=e.clearTimeout!==he.clearTimeout&&e.clearTimeout,ue=it&&it.now!==he.Date.now&&it.now,le=e.setTimeout!==he.setTimeout&&e.setTimeout,fe=Et.ceil,de=Et.floor,ge=kt.getOwnPropertySymbols,ve=Ft?Ft.isBuffer:i,Re=e.isFinite,Ue=At.join,gn=an(kt.keys,kt),vn=Et.max,bn=Et.min,yn=it.now,mn=e.parseInt,wn=Et.random,xn=At.reverse,_n=co(e,"DataView"),En=co(e,"Map"),kn=co(e,"Promise"),Tn=co(e,"Set"),Cn=co(e,"WeakMap"),Nn=co(kt,"create"),An=Cn&&new Cn,Sn={},On=jo(_n),Ln=jo(En),In=jo(kn),Mn=jo(Tn),Pn=jo(Cn),Dn=Ht?Ht.prototype:i,Rn=Dn?Dn.valueOf:i,jn=Dn?Dn.toString:i;function Gn(t){if(ts(t)&&!za(t)&&!(t instanceof Yn)){if(t instanceof Hn)return t;if(Mt.call(t,"__wrapped__"))return Go(t)}return new Hn(t)}var Bn=function(){function t(){}return function(e){if(!Ja(e))return{};if(Vt)return Vt(e);t.prototype=e;var n=new t;return t.prototype=i,n}}();function Fn(){}function Hn(t,e){this.__wrapped__=t,this.__actions__=[],this.__chain__=!!e,this.__index__=0,this.__values__=i}function Yn(t){this.__wrapped__=t,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=d,this.__views__=[]}function zn(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e=e?t:e)),t}function ar(t,e,n,r,o,a){var s,c=1&e,u=2&e,l=4&e;if(n&&(s=o?n(t,r,o,a):n(t)),s!==i)return s;if(!Ja(t))return t;var h=za(t);if(h){if(s=function(t){var e=t.length,n=new t.constructor(e);return e&&"string"==typeof t[0]&&Mt.call(t,"index")&&(n.index=t.index,n.input=t.input),n}(t),!c)return Ci(t,s)}else{var f=ho(t),d=f==w||f==x;if(Xa(t))return wi(t,c);if(f==k||f==g||d&&!o){if(s=u||d?{}:po(t),!c)return u?function(t,e){return Ni(t,lo(t),e)}(t,function(t,e){return t&&Ni(e,Ls(e),t)}(s,t)):function(t,e){return Ni(t,uo(t),e)}(t,nr(s,t))}else{if(!oe[f])return o?t:{};s=function(t,e,n){var r,i=t.constructor;switch(e){case L:return xi(t);case b:case y:return new i(+t);case I:return function(t,e){var n=e?xi(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.byteLength)}(t,n);case M:case P:case D:case R:case j:case G:case B:case F:case H:return _i(t,n);case _:return new i;case E:case A:return new i(t);case C:return function(t){var e=new t.constructor(t.source,ft.exec(t));return e.lastIndex=t.lastIndex,e}(t);case N:return new i;case S:return r=t,Rn?kt(Rn.call(r)):{}}}(t,f,c)}}a||(a=new Xn);var p=a.get(t);if(p)return p;a.set(t,s),os(t)?t.forEach((function(r){s.add(ar(r,e,n,r,t,a))})):es(t)&&t.forEach((function(r,i){s.set(i,ar(r,e,n,i,t,a))}));var v=h?i:(l?u?eo:to:u?Ls:Os)(t);return Te(v||t,(function(r,i){v&&(r=t[i=r]),Jn(s,i,ar(r,e,n,i,t,a))})),s}function sr(t,e,n){var r=n.length;if(null==t)return!r;for(t=kt(t);r--;){var o=n[r],a=e[o],s=t[o];if(s===i&&!(o in t)||!a(s))return!1}return!0}function cr(t,e,n){if("function"!=typeof t)throw new Nt(o);return Ao((function(){t.apply(i,n)}),e)}function ur(t,e,n,r){var i=-1,o=Se,a=!0,s=t.length,c=[],u=e.length;if(!s)return c;n&&(e=Le(e,$e(n))),r?(o=Oe,a=!1):e.length>=200&&(o=Ke,a=!1,e=new qn(e));t:for(;++i-1},Un.prototype.set=function(t,e){var n=this.__data__,r=tr(n,t);return r<0?(++this.size,n.push([t,e])):n[r][1]=e,this},Vn.prototype.clear=function(){this.size=0,this.__data__={hash:new zn,map:new(En||Un),string:new zn}},Vn.prototype.delete=function(t){var e=ao(this,t).delete(t);return this.size-=e?1:0,e},Vn.prototype.get=function(t){return ao(this,t).get(t)},Vn.prototype.has=function(t){return ao(this,t).has(t)},Vn.prototype.set=function(t,e){var n=ao(this,t),r=n.size;return n.set(t,e),this.size+=n.size==r?0:1,this},qn.prototype.add=qn.prototype.push=function(t){return this.__data__.set(t,a),this},qn.prototype.has=function(t){return this.__data__.has(t)},Xn.prototype.clear=function(){this.__data__=new Un,this.size=0},Xn.prototype.delete=function(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n},Xn.prototype.get=function(t){return this.__data__.get(t)},Xn.prototype.has=function(t){return this.__data__.has(t)},Xn.prototype.set=function(t,e){var n=this.__data__;if(n instanceof Un){var r=n.__data__;if(!En||r.length<199)return r.push([t,e]),this.size=++n.size,this;n=this.__data__=new Vn(r)}return n.set(t,e),this.size=n.size,this};var lr=Oi(yr),hr=Oi(mr,!0);function fr(t,e){var n=!0;return lr(t,(function(t,r,i){return n=!!e(t,r,i)})),n}function dr(t,e,n){for(var r=-1,o=t.length;++r0&&n(s)?e>1?gr(s,e-1,n,r,i):Ie(i,s):r||(i[i.length]=s)}return i}var vr=Li(),br=Li(!0);function yr(t,e){return t&&vr(t,e,Os)}function mr(t,e){return t&&br(t,e,Os)}function wr(t,e){return Ae(e,(function(e){return Za(t[e])}))}function xr(t,e){for(var n=0,r=(e=vi(e,t)).length;null!=t&&ne}function Tr(t,e){return null!=t&&Mt.call(t,e)}function Cr(t,e){return null!=t&&e in kt(t)}function Nr(t,e,n){for(var o=n?Oe:Se,a=t[0].length,s=t.length,c=s,u=r(s),l=1/0,h=[];c--;){var f=t[c];c&&e&&(f=Le(f,$e(e))),l=bn(f.length,l),u[c]=!n&&(e||a>=120&&f.length>=120)?new qn(c&&f):i}f=t[0];var d=-1,p=u[0];t:for(;++d=s?c:c*("desc"==n[r]?-1:1)}return t.index-e.index}(t,e,n)}));r--;)t[r]=t[r].value;return t}(i)}function Yr(t,e,n){for(var r=-1,i=e.length,o={};++r-1;)s!==t&&Xt.call(s,c,1),Xt.call(t,c,1);return t}function Ur(t,e){for(var n=t?e.length:0,r=n-1;n--;){var i=e[n];if(n==r||i!==o){var o=i;vo(i)?Xt.call(t,i,1):ci(t,i)}}return t}function Vr(t,e){return t+de(wn()*(e-t+1))}function qr(t,e){var n="";if(!t||e<1||e>h)return n;do{e%2&&(n+=t),(e=de(e/2))&&(t+=t)}while(e);return n}function Xr(t,e){return So(ko(t,e,nc),t+"")}function Wr(t){return $n(Bs(t))}function $r(t,e){var n=Bs(t);return Io(n,or(e,0,n.length))}function Zr(t,e,n,r){if(!Ja(t))return t;for(var o=-1,a=(e=vi(e,t)).length,s=a-1,c=t;null!=c&&++oo?0:o+e),(n=n>o?o:n)<0&&(n+=o),o=e>n?0:n-e>>>0,e>>>=0;for(var a=r(o);++i>>1,a=t[o];null!==a&&!ss(a)&&(n?a<=e:a=200){var u=e?null:qi(t);if(u)return cn(u);a=!1,i=Ke,c=new qn}else c=e?[]:s;t:for(;++r=r?t:ti(t,e,n)}var mi=ae||function(t){return he.clearTimeout(t)};function wi(t,e){if(e)return t.slice();var n=t.length,r=zt?zt(n):new t.constructor(n);return t.copy(r),r}function xi(t){var e=new t.constructor(t.byteLength);return new Yt(e).set(new Yt(t)),e}function _i(t,e){var n=e?xi(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.length)}function Ei(t,e){if(t!==e){var n=t!==i,r=null===t,o=t==t,a=ss(t),s=e!==i,c=null===e,u=e==e,l=ss(e);if(!c&&!l&&!a&&t>e||a&&s&&u&&!c&&!l||r&&s&&u||!n&&u||!o)return 1;if(!r&&!a&&!l&&t1?n[o-1]:i,s=o>2?n[2]:i;for(a=t.length>3&&"function"==typeof a?(o--,a):i,s&&bo(n[0],n[1],s)&&(a=o<3?i:a,o=1),e=kt(e);++r-1?o[a?e[s]:s]:i}}function Ri(t){return Ji((function(e){var n=e.length,r=n,a=Hn.prototype.thru;for(t&&e.reverse();r--;){var s=e[r];if("function"!=typeof s)throw new Nt(o);if(a&&!c&&"wrapper"==ro(s))var c=new Hn([],!0)}for(r=c?r:n;++r1&&w.reverse(),d&&hc))return!1;var l=a.get(t),h=a.get(e);if(l&&h)return l==e&&h==t;var f=-1,d=!0,p=2&n?new qn:i;for(a.set(t,e),a.set(e,t);++f-1&&t%1==0&&t1?"& ":"")+e[r],e=e.join(n>2?", ":" "),t.replace(ot,"{\n/* [wrapped with "+e+"] */\n")}(r,function(t,e){return Te(p,(function(n){var r="_."+n[0];e&n[1]&&!Se(t,r)&&t.push(r)})),t.sort()}(function(t){var e=t.match(at);return e?e[1].split(st):[]}(r),n)))}function Lo(t){var e=0,n=0;return function(){var r=yn(),o=16-(r-n);if(n=r,o>0){if(++e>=800)return arguments[0]}else e=0;return t.apply(i,arguments)}}function Io(t,e){var n=-1,r=t.length,o=r-1;for(e=e===i?r:e;++n1?t[e-1]:i;return n="function"==typeof n?(t.pop(),n):i,ia(t,n)}));function ha(t){var e=Gn(t);return e.__chain__=!0,e}function fa(t,e){return e(t)}var da=Ji((function(t){var e=t.length,n=e?t[0]:0,r=this.__wrapped__,o=function(e){return ir(e,t)};return!(e>1||this.__actions__.length)&&r instanceof Yn&&vo(n)?((r=r.slice(n,+n+(e?1:0))).__actions__.push({func:fa,args:[o],thisArg:i}),new Hn(r,this.__chain__).thru((function(t){return e&&!t.length&&t.push(i),t}))):this.thru(o)})),pa=Ai((function(t,e,n){Mt.call(t,n)?++t[n]:rr(t,n,1)})),ga=Di(Yo),va=Di(zo);function ba(t,e){return(za(t)?Te:lr)(t,oo(e,3))}function ya(t,e){return(za(t)?Ce:hr)(t,oo(e,3))}var ma=Ai((function(t,e,n){Mt.call(t,n)?t[n].push(e):rr(t,n,[e])})),wa=Xr((function(t,e,n){var i=-1,o="function"==typeof e,a=Va(t)?r(t.length):[];return lr(t,(function(t){a[++i]=o?Ee(e,t,n):Ar(t,e,n)})),a})),xa=Ai((function(t,e,n){rr(t,n,e)}));function _a(t,e){return(za(t)?Le:Rr)(t,oo(e,3))}var Ea=Ai((function(t,e,n){t[n?0:1].push(e)}),(function(){return[[],[]]})),ka=Xr((function(t,e){if(null==t)return[];var n=e.length;return n>1&&bo(t,e[0],e[1])?e=[]:n>2&&bo(e[0],e[1],e[2])&&(e=[e[0]]),Hr(t,gr(e,1),[])})),Ta=ue||function(){return he.Date.now()};function Ca(t,e,n){return e=n?i:e,e=t&&null==e?t.length:e,Wi(t,u,i,i,i,i,e)}function Na(t,e){var n;if("function"!=typeof e)throw new Nt(o);return t=ds(t),function(){return--t>0&&(n=e.apply(this,arguments)),t<=1&&(e=i),n}}var Aa=Xr((function(t,e,n){var r=1;if(n.length){var i=sn(n,io(Aa));r|=c}return Wi(t,r,e,n,i)})),Sa=Xr((function(t,e,n){var r=3;if(n.length){var i=sn(n,io(Sa));r|=c}return Wi(e,r,t,n,i)}));function Oa(t,e,n){var r,a,s,c,u,l,h=0,f=!1,d=!1,p=!0;if("function"!=typeof t)throw new Nt(o);function g(e){var n=r,o=a;return r=a=i,h=e,c=t.apply(o,n)}function v(t){var n=t-l;return l===i||n>=e||n<0||d&&t-h>=s}function b(){var t=Ta();if(v(t))return y(t);u=Ao(b,function(t){var n=e-(t-l);return d?bn(n,s-(t-h)):n}(t))}function y(t){return u=i,p&&r?g(t):(r=a=i,c)}function m(){var t=Ta(),n=v(t);if(r=arguments,a=this,l=t,n){if(u===i)return function(t){return h=t,u=Ao(b,e),f?g(t):c}(l);if(d)return mi(u),u=Ao(b,e),g(l)}return u===i&&(u=Ao(b,e)),c}return e=gs(e)||0,Ja(n)&&(f=!!n.leading,s=(d="maxWait"in n)?vn(gs(n.maxWait)||0,e):s,p="trailing"in n?!!n.trailing:p),m.cancel=function(){u!==i&&mi(u),h=0,r=l=a=u=i},m.flush=function(){return u===i?c:y(Ta())},m}var La=Xr((function(t,e){return cr(t,1,e)})),Ia=Xr((function(t,e,n){return cr(t,gs(e)||0,n)}));function Ma(t,e){if("function"!=typeof t||null!=e&&"function"!=typeof e)throw new Nt(o);var n=function(){var r=arguments,i=e?e.apply(this,r):r[0],o=n.cache;if(o.has(i))return o.get(i);var a=t.apply(this,r);return n.cache=o.set(i,a)||o,a};return n.cache=new(Ma.Cache||Vn),n}function Pa(t){if("function"!=typeof t)throw new Nt(o);return function(){var e=arguments;switch(e.length){case 0:return!t.call(this);case 1:return!t.call(this,e[0]);case 2:return!t.call(this,e[0],e[1]);case 3:return!t.call(this,e[0],e[1],e[2])}return!t.apply(this,e)}}Ma.Cache=Vn;var Da=bi((function(t,e){var n=(e=1==e.length&&za(e[0])?Le(e[0],$e(oo())):Le(gr(e,1),$e(oo()))).length;return Xr((function(r){for(var i=-1,o=bn(r.length,n);++i=e})),Ya=Sr(function(){return arguments}())?Sr:function(t){return ts(t)&&Mt.call(t,"callee")&&!qt.call(t,"callee")},za=r.isArray,Ua=be?$e(be):function(t){return ts(t)&&Er(t)==L};function Va(t){return null!=t&&Qa(t.length)&&!Za(t)}function qa(t){return ts(t)&&Va(t)}var Xa=ve||gc,Wa=ye?$e(ye):function(t){return ts(t)&&Er(t)==y};function $a(t){if(!ts(t))return!1;var e=Er(t);return e==m||"[object DOMException]"==e||"string"==typeof t.message&&"string"==typeof t.name&&!rs(t)}function Za(t){if(!Ja(t))return!1;var e=Er(t);return e==w||e==x||"[object AsyncFunction]"==e||"[object Proxy]"==e}function Ka(t){return"number"==typeof t&&t==ds(t)}function Qa(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=h}function Ja(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}function ts(t){return null!=t&&"object"==typeof t}var es=me?$e(me):function(t){return ts(t)&&ho(t)==_};function ns(t){return"number"==typeof t||ts(t)&&Er(t)==E}function rs(t){if(!ts(t)||Er(t)!=k)return!1;var e=Ut(t);if(null===e)return!0;var n=Mt.call(e,"constructor")&&e.constructor;return"function"==typeof n&&n instanceof n&&It.call(n)==jt}var is=we?$e(we):function(t){return ts(t)&&Er(t)==C},os=xe?$e(xe):function(t){return ts(t)&&ho(t)==N};function as(t){return"string"==typeof t||!za(t)&&ts(t)&&Er(t)==A}function ss(t){return"symbol"==typeof t||ts(t)&&Er(t)==S}var cs=_e?$e(_e):function(t){return ts(t)&&Qa(t.length)&&!!ie[Er(t)]},us=zi(Dr),ls=zi((function(t,e){return t<=e}));function hs(t){if(!t)return[];if(Va(t))return as(t)?hn(t):Ci(t);if($t&&t[$t])return function(t){for(var e,n=[];!(e=t.next()).done;)n.push(e.value);return n}(t[$t]());var e=ho(t);return(e==_?on:e==N?cn:Bs)(t)}function fs(t){return t?(t=gs(t))===l||t===-1/0?17976931348623157e292*(t<0?-1:1):t==t?t:0:0===t?t:0}function ds(t){var e=fs(t),n=e%1;return e==e?n?e-n:e:0}function ps(t){return t?or(ds(t),0,d):0}function gs(t){if("number"==typeof t)return t;if(ss(t))return f;if(Ja(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=Ja(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=We(t);var n=pt.test(t);return n||vt.test(t)?ce(t.slice(2),n?2:8):dt.test(t)?f:+t}function vs(t){return Ni(t,Ls(t))}function bs(t){return null==t?"":ai(t)}var ys=Si((function(t,e){if(xo(e)||Va(e))Ni(e,Os(e),t);else for(var n in e)Mt.call(e,n)&&Jn(t,n,e[n])})),ms=Si((function(t,e){Ni(e,Ls(e),t)})),ws=Si((function(t,e,n,r){Ni(e,Ls(e),t,r)})),xs=Si((function(t,e,n,r){Ni(e,Os(e),t,r)})),_s=Ji(ir),Es=Xr((function(t,e){t=kt(t);var n=-1,r=e.length,o=r>2?e[2]:i;for(o&&bo(e[0],e[1],o)&&(r=1);++n1),e})),Ni(t,eo(t),n),r&&(n=ar(n,7,Ki));for(var i=e.length;i--;)ci(n,e[i]);return n})),Ds=Ji((function(t,e){return null==t?{}:function(t,e){return Yr(t,e,(function(e,n){return Cs(t,n)}))}(t,e)}));function Rs(t,e){if(null==t)return{};var n=Le(eo(t),(function(t){return[t]}));return e=oo(e),Yr(t,n,(function(t,n){return e(t,n[0])}))}var js=Xi(Os),Gs=Xi(Ls);function Bs(t){return null==t?[]:Ze(t,Os(t))}var Fs=Mi((function(t,e,n){return e=e.toLowerCase(),t+(n?Hs(e):e)}));function Hs(t){return $s(bs(t).toLowerCase())}function Ys(t){return(t=bs(t))&&t.replace(yt,tn).replace(Kt,"")}var zs=Mi((function(t,e,n){return t+(n?"-":"")+e.toLowerCase()})),Us=Mi((function(t,e,n){return t+(n?" ":"")+e.toLowerCase()})),Vs=Ii("toLowerCase"),qs=Mi((function(t,e,n){return t+(n?"_":"")+e.toLowerCase()})),Xs=Mi((function(t,e,n){return t+(n?" ":"")+$s(e)})),Ws=Mi((function(t,e,n){return t+(n?" ":"")+e.toUpperCase()})),$s=Ii("toUpperCase");function Zs(t,e,n){return t=bs(t),(e=n?i:e)===i?function(t){return ee.test(t)}(t)?function(t){return t.match(Jt)||[]}(t):function(t){return t.match(ct)||[]}(t):t.match(e)||[]}var Ks=Xr((function(t,e){try{return Ee(t,i,e)}catch(t){return $a(t)?t:new xt(t)}})),Qs=Ji((function(t,e){return Te(e,(function(e){e=Ro(e),rr(t,e,Aa(t[e],t))})),t}));function Js(t){return function(){return t}}var tc=Ri(),ec=Ri(!0);function nc(t){return t}function rc(t){return Mr("function"==typeof t?t:ar(t,1))}var ic=Xr((function(t,e){return function(n){return Ar(n,t,e)}})),oc=Xr((function(t,e){return function(n){return Ar(t,n,e)}}));function ac(t,e,n){var r=Os(e),i=wr(e,r);null!=n||Ja(e)&&(i.length||!r.length)||(n=e,e=t,t=this,i=wr(e,Os(e)));var o=!(Ja(n)&&"chain"in n&&!n.chain),a=Za(t);return Te(i,(function(n){var r=e[n];t[n]=r,a&&(t.prototype[n]=function(){var e=this.__chain__;if(o||e){var n=t(this.__wrapped__);return(n.__actions__=Ci(this.__actions__)).push({func:r,args:arguments,thisArg:t}),n.__chain__=e,n}return r.apply(t,Ie([this.value()],arguments))})})),t}function sc(){}var cc=Fi(Le),uc=Fi(Ne),lc=Fi(De);function hc(t){return yo(t)?ze(Ro(t)):function(t){return function(e){return xr(e,t)}}(t)}var fc=Yi(),dc=Yi(!0);function pc(){return[]}function gc(){return!1}var vc,bc=Bi((function(t,e){return t+e}),0),yc=Vi("ceil"),mc=Bi((function(t,e){return t/e}),1),wc=Vi("floor"),xc=Bi((function(t,e){return t*e}),1),_c=Vi("round"),Ec=Bi((function(t,e){return t-e}),0);return Gn.after=function(t,e){if("function"!=typeof e)throw new Nt(o);return t=ds(t),function(){if(--t<1)return e.apply(this,arguments)}},Gn.ary=Ca,Gn.assign=ys,Gn.assignIn=ms,Gn.assignInWith=ws,Gn.assignWith=xs,Gn.at=_s,Gn.before=Na,Gn.bind=Aa,Gn.bindAll=Qs,Gn.bindKey=Sa,Gn.castArray=function(){if(!arguments.length)return[];var t=arguments[0];return za(t)?t:[t]},Gn.chain=ha,Gn.chunk=function(t,e,n){e=(n?bo(t,e,n):e===i)?1:vn(ds(e),0);var o=null==t?0:t.length;if(!o||e<1)return[];for(var a=0,s=0,c=r(fe(o/e));ao?0:o+n),(r=r===i||r>o?o:ds(r))<0&&(r+=o),r=n>r?0:ps(r);n>>0)?(t=bs(t))&&("string"==typeof e||null!=e&&!is(e))&&!(e=ai(e))&&rn(t)?yi(hn(t),0,n):t.split(e,n):[]},Gn.spread=function(t,e){if("function"!=typeof t)throw new Nt(o);return e=null==e?0:vn(ds(e),0),Xr((function(n){var r=n[e],i=yi(n,0,e);return r&&Ie(i,r),Ee(t,this,i)}))},Gn.tail=function(t){var e=null==t?0:t.length;return e?ti(t,1,e):[]},Gn.take=function(t,e,n){return t&&t.length?ti(t,0,(e=n||e===i?1:ds(e))<0?0:e):[]},Gn.takeRight=function(t,e,n){var r=null==t?0:t.length;return r?ti(t,(e=r-(e=n||e===i?1:ds(e)))<0?0:e,r):[]},Gn.takeRightWhile=function(t,e){return t&&t.length?li(t,oo(e,3),!1,!0):[]},Gn.takeWhile=function(t,e){return t&&t.length?li(t,oo(e,3)):[]},Gn.tap=function(t,e){return e(t),t},Gn.throttle=function(t,e,n){var r=!0,i=!0;if("function"!=typeof t)throw new Nt(o);return Ja(n)&&(r="leading"in n?!!n.leading:r,i="trailing"in n?!!n.trailing:i),Oa(t,e,{leading:r,maxWait:e,trailing:i})},Gn.thru=fa,Gn.toArray=hs,Gn.toPairs=js,Gn.toPairsIn=Gs,Gn.toPath=function(t){return za(t)?Le(t,Ro):ss(t)?[t]:Ci(Do(bs(t)))},Gn.toPlainObject=vs,Gn.transform=function(t,e,n){var r=za(t),i=r||Xa(t)||cs(t);if(e=oo(e,4),null==n){var o=t&&t.constructor;n=i?r?new o:[]:Ja(t)&&Za(o)?Bn(Ut(t)):{}}return(i?Te:yr)(t,(function(t,r,i){return e(n,t,r,i)})),n},Gn.unary=function(t){return Ca(t,1)},Gn.union=ta,Gn.unionBy=ea,Gn.unionWith=na,Gn.uniq=function(t){return t&&t.length?si(t):[]},Gn.uniqBy=function(t,e){return t&&t.length?si(t,oo(e,2)):[]},Gn.uniqWith=function(t,e){return e="function"==typeof e?e:i,t&&t.length?si(t,i,e):[]},Gn.unset=function(t,e){return null==t||ci(t,e)},Gn.unzip=ra,Gn.unzipWith=ia,Gn.update=function(t,e,n){return null==t?t:ui(t,e,gi(n))},Gn.updateWith=function(t,e,n,r){return r="function"==typeof r?r:i,null==t?t:ui(t,e,gi(n),r)},Gn.values=Bs,Gn.valuesIn=function(t){return null==t?[]:Ze(t,Ls(t))},Gn.without=oa,Gn.words=Zs,Gn.wrap=function(t,e){return Ra(gi(e),t)},Gn.xor=aa,Gn.xorBy=sa,Gn.xorWith=ca,Gn.zip=ua,Gn.zipObject=function(t,e){return di(t||[],e||[],Jn)},Gn.zipObjectDeep=function(t,e){return di(t||[],e||[],Zr)},Gn.zipWith=la,Gn.entries=js,Gn.entriesIn=Gs,Gn.extend=ms,Gn.extendWith=ws,ac(Gn,Gn),Gn.add=bc,Gn.attempt=Ks,Gn.camelCase=Fs,Gn.capitalize=Hs,Gn.ceil=yc,Gn.clamp=function(t,e,n){return n===i&&(n=e,e=i),n!==i&&(n=(n=gs(n))==n?n:0),e!==i&&(e=(e=gs(e))==e?e:0),or(gs(t),e,n)},Gn.clone=function(t){return ar(t,4)},Gn.cloneDeep=function(t){return ar(t,5)},Gn.cloneDeepWith=function(t,e){return ar(t,5,e="function"==typeof e?e:i)},Gn.cloneWith=function(t,e){return ar(t,4,e="function"==typeof e?e:i)},Gn.conformsTo=function(t,e){return null==e||sr(t,e,Os(e))},Gn.deburr=Ys,Gn.defaultTo=function(t,e){return null==t||t!=t?e:t},Gn.divide=mc,Gn.endsWith=function(t,e,n){t=bs(t),e=ai(e);var r=t.length,o=n=n===i?r:or(ds(n),0,r);return(n-=e.length)>=0&&t.slice(n,o)==e},Gn.eq=Ba,Gn.escape=function(t){return(t=bs(t))&&W.test(t)?t.replace(q,en):t},Gn.escapeRegExp=function(t){return(t=bs(t))&&nt.test(t)?t.replace(et,"\\$&"):t},Gn.every=function(t,e,n){var r=za(t)?Ne:fr;return n&&bo(t,e,n)&&(e=i),r(t,oo(e,3))},Gn.find=ga,Gn.findIndex=Yo,Gn.findKey=function(t,e){return je(t,oo(e,3),yr)},Gn.findLast=va,Gn.findLastIndex=zo,Gn.findLastKey=function(t,e){return je(t,oo(e,3),mr)},Gn.floor=wc,Gn.forEach=ba,Gn.forEachRight=ya,Gn.forIn=function(t,e){return null==t?t:vr(t,oo(e,3),Ls)},Gn.forInRight=function(t,e){return null==t?t:br(t,oo(e,3),Ls)},Gn.forOwn=function(t,e){return t&&yr(t,oo(e,3))},Gn.forOwnRight=function(t,e){return t&&mr(t,oo(e,3))},Gn.get=Ts,Gn.gt=Fa,Gn.gte=Ha,Gn.has=function(t,e){return null!=t&&fo(t,e,Tr)},Gn.hasIn=Cs,Gn.head=Vo,Gn.identity=nc,Gn.includes=function(t,e,n,r){t=Va(t)?t:Bs(t),n=n&&!r?ds(n):0;var i=t.length;return n<0&&(n=vn(i+n,0)),as(t)?n<=i&&t.indexOf(e,n)>-1:!!i&&Be(t,e,n)>-1},Gn.indexOf=function(t,e,n){var r=null==t?0:t.length;if(!r)return-1;var i=null==n?0:ds(n);return i<0&&(i=vn(r+i,0)),Be(t,e,i)},Gn.inRange=function(t,e,n){return e=fs(e),n===i?(n=e,e=0):n=fs(n),function(t,e,n){return t>=bn(e,n)&&t=-9007199254740991&&t<=h},Gn.isSet=os,Gn.isString=as,Gn.isSymbol=ss,Gn.isTypedArray=cs,Gn.isUndefined=function(t){return t===i},Gn.isWeakMap=function(t){return ts(t)&&ho(t)==O},Gn.isWeakSet=function(t){return ts(t)&&"[object WeakSet]"==Er(t)},Gn.join=function(t,e){return null==t?"":Ue.call(t,e)},Gn.kebabCase=zs,Gn.last=$o,Gn.lastIndexOf=function(t,e,n){var r=null==t?0:t.length;if(!r)return-1;var o=r;return n!==i&&(o=(o=ds(n))<0?vn(r+o,0):bn(o,r-1)),e==e?function(t,e,n){for(var r=n+1;r--;)if(t[r]===e)return r;return r}(t,e,o):Ge(t,He,o,!0)},Gn.lowerCase=Us,Gn.lowerFirst=Vs,Gn.lt=us,Gn.lte=ls,Gn.max=function(t){return t&&t.length?dr(t,nc,kr):i},Gn.maxBy=function(t,e){return t&&t.length?dr(t,oo(e,2),kr):i},Gn.mean=function(t){return Ye(t,nc)},Gn.meanBy=function(t,e){return Ye(t,oo(e,2))},Gn.min=function(t){return t&&t.length?dr(t,nc,Dr):i},Gn.minBy=function(t,e){return t&&t.length?dr(t,oo(e,2),Dr):i},Gn.stubArray=pc,Gn.stubFalse=gc,Gn.stubObject=function(){return{}},Gn.stubString=function(){return""},Gn.stubTrue=function(){return!0},Gn.multiply=xc,Gn.nth=function(t,e){return t&&t.length?Fr(t,ds(e)):i},Gn.noConflict=function(){return he._===this&&(he._=Gt),this},Gn.noop=sc,Gn.now=Ta,Gn.pad=function(t,e,n){t=bs(t);var r=(e=ds(e))?ln(t):0;if(!e||r>=e)return t;var i=(e-r)/2;return Hi(de(i),n)+t+Hi(fe(i),n)},Gn.padEnd=function(t,e,n){t=bs(t);var r=(e=ds(e))?ln(t):0;return e&&re){var r=t;t=e,e=r}if(n||t%1||e%1){var o=wn();return bn(t+o*(e-t+se("1e-"+((o+"").length-1))),e)}return Vr(t,e)},Gn.reduce=function(t,e,n){var r=za(t)?Me:Ve,i=arguments.length<3;return r(t,oo(e,4),n,i,lr)},Gn.reduceRight=function(t,e,n){var r=za(t)?Pe:Ve,i=arguments.length<3;return r(t,oo(e,4),n,i,hr)},Gn.repeat=function(t,e,n){return e=(n?bo(t,e,n):e===i)?1:ds(e),qr(bs(t),e)},Gn.replace=function(){var t=arguments,e=bs(t[0]);return t.length<3?e:e.replace(t[1],t[2])},Gn.result=function(t,e,n){var r=-1,o=(e=vi(e,t)).length;for(o||(o=1,t=i);++rh)return[];var n=d,r=bn(t,d);e=oo(e),t-=d;for(var i=Xe(r,e);++n=a)return t;var c=n-ln(r);if(c<1)return r;var u=s?yi(s,0,c).join(""):t.slice(0,c);if(o===i)return u+r;if(s&&(c+=u.length-c),is(o)){if(t.slice(c).search(o)){var l,h=u;for(o.global||(o=Tt(o.source,bs(ft.exec(o))+"g")),o.lastIndex=0;l=o.exec(h);)var f=l.index;u=u.slice(0,f===i?c:f)}}else if(t.indexOf(ai(o),c)!=c){var d=u.lastIndexOf(o);d>-1&&(u=u.slice(0,d))}return u+r},Gn.unescape=function(t){return(t=bs(t))&&X.test(t)?t.replace(V,dn):t},Gn.uniqueId=function(t){var e=++Pt;return bs(t)+e},Gn.upperCase=Ws,Gn.upperFirst=$s,Gn.each=ba,Gn.eachRight=ya,Gn.first=Vo,ac(Gn,(vc={},yr(Gn,(function(t,e){Mt.call(Gn.prototype,e)||(vc[e]=t)})),vc),{chain:!1}),Gn.VERSION="4.17.21",Te(["bind","bindKey","curry","curryRight","partial","partialRight"],(function(t){Gn[t].placeholder=Gn})),Te(["drop","take"],(function(t,e){Yn.prototype[t]=function(n){n=n===i?1:vn(ds(n),0);var r=this.__filtered__&&!e?new Yn(this):this.clone();return r.__filtered__?r.__takeCount__=bn(n,r.__takeCount__):r.__views__.push({size:bn(n,d),type:t+(r.__dir__<0?"Right":"")}),r},Yn.prototype[t+"Right"]=function(e){return this.reverse()[t](e).reverse()}})),Te(["filter","map","takeWhile"],(function(t,e){var n=e+1,r=1==n||3==n;Yn.prototype[t]=function(t){var e=this.clone();return e.__iteratees__.push({iteratee:oo(t,3),type:n}),e.__filtered__=e.__filtered__||r,e}})),Te(["head","last"],(function(t,e){var n="take"+(e?"Right":"");Yn.prototype[t]=function(){return this[n](1).value()[0]}})),Te(["initial","tail"],(function(t,e){var n="drop"+(e?"":"Right");Yn.prototype[t]=function(){return this.__filtered__?new Yn(this):this[n](1)}})),Yn.prototype.compact=function(){return this.filter(nc)},Yn.prototype.find=function(t){return this.filter(t).head()},Yn.prototype.findLast=function(t){return this.reverse().find(t)},Yn.prototype.invokeMap=Xr((function(t,e){return"function"==typeof t?new Yn(this):this.map((function(n){return Ar(n,t,e)}))})),Yn.prototype.reject=function(t){return this.filter(Pa(oo(t)))},Yn.prototype.slice=function(t,e){t=ds(t);var n=this;return n.__filtered__&&(t>0||e<0)?new Yn(n):(t<0?n=n.takeRight(-t):t&&(n=n.drop(t)),e!==i&&(n=(e=ds(e))<0?n.dropRight(-e):n.take(e-t)),n)},Yn.prototype.takeRightWhile=function(t){return this.reverse().takeWhile(t).reverse()},Yn.prototype.toArray=function(){return this.take(d)},yr(Yn.prototype,(function(t,e){var n=/^(?:filter|find|map|reject)|While$/.test(e),r=/^(?:head|last)$/.test(e),o=Gn[r?"take"+("last"==e?"Right":""):e],a=r||/^find/.test(e);o&&(Gn.prototype[e]=function(){var e=this.__wrapped__,s=r?[1]:arguments,c=e instanceof Yn,u=s[0],l=c||za(e),h=function(t){var e=o.apply(Gn,Ie([t],s));return r&&f?e[0]:e};l&&n&&"function"==typeof u&&1!=u.length&&(c=l=!1);var f=this.__chain__,d=!!this.__actions__.length,p=a&&!f,g=c&&!d;if(!a&&l){e=g?e:new Yn(this);var v=t.apply(e,s);return v.__actions__.push({func:fa,args:[h],thisArg:i}),new Hn(v,f)}return p&&g?t.apply(this,s):(v=this.thru(h),p?r?v.value()[0]:v.value():v)})})),Te(["pop","push","shift","sort","splice","unshift"],(function(t){var e=At[t],n=/^(?:push|sort|unshift)$/.test(t)?"tap":"thru",r=/^(?:pop|shift)$/.test(t);Gn.prototype[t]=function(){var t=arguments;if(r&&!this.__chain__){var i=this.value();return e.apply(za(i)?i:[],t)}return this[n]((function(n){return e.apply(za(n)?n:[],t)}))}})),yr(Yn.prototype,(function(t,e){var n=Gn[e];if(n){var r=n.name+"";Mt.call(Sn,r)||(Sn[r]=[]),Sn[r].push({name:e,func:n})}})),Sn[ji(i,2).name]=[{name:"wrapper",func:i}],Yn.prototype.clone=function(){var t=new Yn(this.__wrapped__);return t.__actions__=Ci(this.__actions__),t.__dir__=this.__dir__,t.__filtered__=this.__filtered__,t.__iteratees__=Ci(this.__iteratees__),t.__takeCount__=this.__takeCount__,t.__views__=Ci(this.__views__),t},Yn.prototype.reverse=function(){if(this.__filtered__){var t=new Yn(this);t.__dir__=-1,t.__filtered__=!0}else(t=this.clone()).__dir__*=-1;return t},Yn.prototype.value=function(){var t=this.__wrapped__.value(),e=this.__dir__,n=za(t),r=e<0,i=n?t.length:0,o=function(t,e,n){for(var r=-1,i=n.length;++r=this.__values__.length;return{done:t,value:t?i:this.__values__[this.__index__++]}},Gn.prototype.plant=function(t){for(var e,n=this;n instanceof Fn;){var r=Go(n);r.__index__=0,r.__values__=i,e?o.__wrapped__=r:e=r;var o=r;n=n.__wrapped__}return o.__wrapped__=t,e},Gn.prototype.reverse=function(){var t=this.__wrapped__;if(t instanceof Yn){var e=t;return this.__actions__.length&&(e=new Yn(this)),(e=e.reverse()).__actions__.push({func:fa,args:[Jo],thisArg:i}),new Hn(e,this.__chain__)}return this.thru(Jo)},Gn.prototype.toJSON=Gn.prototype.valueOf=Gn.prototype.value=function(){return hi(this.__wrapped__,this.__actions__)},Gn.prototype.first=Gn.prototype.head,$t&&(Gn.prototype[$t]=function(){return this}),Gn}();he._=pn,(r=function(){return pn}.call(e,n,e,t))===i||(t.exports=r)}.call(this)},5161:(t,e,n)=>{var r=n(9932),i=n(7206),o=n(9199),a=n(1469);t.exports=function(t,e){return(a(t)?r:o)(t,i(e,3))}},6604:(t,e,n)=>{var r=n(9465),i=n(7816),o=n(7206);t.exports=function(t,e){var n={};return e=o(e,3),i(t,(function(t,i,o){r(n,i,e(t,i,o))})),n}},6162:(t,e,n)=>{var r=n(6029),i=n(3325),o=n(6557);t.exports=function(t){return t&&t.length?r(t,o,i):void 0}},8306:(t,e,n)=>{var r=n(3369);function i(t,e){if("function"!=typeof t||null!=e&&"function"!=typeof e)throw new TypeError("Expected a function");var n=function(){var r=arguments,i=e?e.apply(this,r):r[0],o=n.cache;if(o.has(i))return o.get(i);var a=t.apply(this,r);return n.cache=o.set(i,a)||o,a};return n.cache=new(i.Cache||r),n}i.Cache=r,t.exports=i},3857:(t,e,n)=>{var r=n(2980),i=n(1463)((function(t,e,n){r(t,e,n)}));t.exports=i},3632:(t,e,n)=>{var r=n(6029),i=n(433),o=n(6557);t.exports=function(t){return t&&t.length?r(t,o,i):void 0}},2762:(t,e,n)=>{var r=n(6029),i=n(7206),o=n(433);t.exports=function(t,e){return t&&t.length?r(t,i(e,2),o):void 0}},308:t=>{t.exports=function(){}},7771:(t,e,n)=>{var r=n(5639);t.exports=function(){return r.Date.now()}},9722:(t,e,n)=>{var r=n(5970),i=n(9021)((function(t,e){return null==t?{}:r(t,e)}));t.exports=i},9601:(t,e,n)=>{var r=n(371),i=n(9152),o=n(5403),a=n(327);t.exports=function(t){return o(t)?r(a(t)):i(t)}},6026:(t,e,n)=>{var r=n(7445)();t.exports=r},4061:(t,e,n)=>{var r=n(2663),i=n(9881),o=n(7206),a=n(107),s=n(1469);t.exports=function(t,e,n){var c=s(t)?r:a,u=arguments.length<3;return c(t,o(e,4),n,u,i)}},6968:(t,e,n)=>{var r=n(611);t.exports=function(t,e,n){return null==t?t:r(t,e,n)}},4238:(t,e,n)=>{var r=n(280),i=n(4160),o=n(8612),a=n(7037),s=n(8016);t.exports=function(t){if(null==t)return 0;if(o(t))return a(t)?s(t):t.length;var e=i(t);return"[object Map]"==e||"[object Set]"==e?t.size:r(t).length}},9734:(t,e,n)=>{var r=n(1078),i=n(9556),o=n(5976),a=n(6612),s=o((function(t,e){if(null==t)return[];var n=e.length;return n>1&&a(t,e[0],e[1])?e=[]:n>2&&a(e[0],e[1],e[2])&&(e=[e[0]]),i(t,r(e,1),[])}));t.exports=s},479:t=>{t.exports=function(){return[]}},5062:t=>{t.exports=function(){return!1}},8601:(t,e,n)=>{var r=n(4841);t.exports=function(t){return t?Infinity===(t=r(t))||t===-1/0?17976931348623157e292*(t<0?-1:1):t==t?t:0:0===t?t:0}},554:(t,e,n)=>{var r=n(8601);t.exports=function(t){var e=r(t),n=e%1;return e==e?n?e-n:e:0}},4841:(t,e,n)=>{var r=n(7561),i=n(3218),o=n(3448),a=/^[-+]0x[0-9a-f]+$/i,s=/^0b[01]+$/i,c=/^0o[0-7]+$/i,u=parseInt;t.exports=function(t){if("number"==typeof t)return t;if(o(t))return NaN;if(i(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=i(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=r(t);var n=s.test(t);return n||c.test(t)?u(t.slice(2),n?2:8):a.test(t)?NaN:+t}},84:(t,e,n)=>{var r=n(9932),i=n(278),o=n(1469),a=n(3448),s=n(5514),c=n(327),u=n(9833);t.exports=function(t){return o(t)?r(t,c):a(t)?[t]:i(s(u(t)))}},3678:(t,e,n)=>{var r=n(8363),i=n(1704);t.exports=function(t){return r(t,i(t))}},9833:(t,e,n)=>{var r=n(531);t.exports=function(t){return null==t?"":r(t)}},8718:(t,e,n)=>{var r=n(7412),i=n(3118),o=n(7816),a=n(7206),s=n(5924),c=n(1469),u=n(4144),l=n(3560),h=n(3218),f=n(6719);t.exports=function(t,e,n){var d=c(t),p=d||u(t)||f(t);if(e=a(e,4),null==n){var g=t&&t.constructor;n=p?d?new g:[]:h(t)&&l(g)?i(s(t)):{}}return(p?r:o)(t,(function(t,r,i){return e(n,t,r,i)})),n}},3386:(t,e,n)=>{var r=n(1078),i=n(5976),o=n(5652),a=n(9246),s=i((function(t){return o(r(t,1,a,!0))}));t.exports=s},3955:(t,e,n)=>{var r=n(9833),i=0;t.exports=function(t){var e=++i;return r(t)+e}},2628:(t,e,n)=>{var r=n(7415),i=n(3674);t.exports=function(t){return null==t?[]:r(t,i(t))}},7287:(t,e,n)=>{var r=n(4865),i=n(1757);t.exports=function(t,e){return i(t||[],e||[],r)}},2703:(t,e,n)=>{"use strict";var r=n(414);function i(){}function o(){}o.resetWarningCache=i,t.exports=function(){function t(t,e,n,i,o,a){if(a!==r){var s=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw s.name="Invariant Violation",s}}function e(){return t}t.isRequired=t;var n={array:t,bigint:t,bool:t,func:t,number:t,object:t,string:t,symbol:t,any:t,arrayOf:e,element:t,elementType:t,instanceOf:e,node:t,objectOf:e,oneOf:e,oneOfType:e,shape:e,exact:e,checkPropTypes:o,resetWarningCache:i};return n.PropTypes=n,n}},5697:(t,e,n)=>{t.exports=n(2703)()},414:t=>{"use strict";t.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},3379:t=>{"use strict";var e=[];function n(t){for(var n=-1,r=0;r{"use strict";var e={};t.exports=function(t,n){var r=function(t){if(void 0===e[t]){var n=document.querySelector(t);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(t){n=null}e[t]=n}return e[t]}(t);if(!r)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");r.appendChild(n)}},9216:t=>{"use strict";t.exports=function(t){var e=document.createElement("style");return t.setAttributes(e,t.attributes),t.insert(e,t.options),e}},3565:(t,e,n)=>{"use strict";t.exports=function(t){var e=n.nc;e&&t.setAttribute("nonce",e)}},7795:t=>{"use strict";t.exports=function(t){if("undefined"==typeof document)return{update:function(){},remove:function(){}};var e=t.insertStyleElement(t);return{update:function(n){!function(t,e,n){var r="";n.supports&&(r+="@supports (".concat(n.supports,") {")),n.media&&(r+="@media ".concat(n.media," {"));var i=void 0!==n.layer;i&&(r+="@layer".concat(n.layer.length>0?" ".concat(n.layer):""," {")),r+=n.css,i&&(r+="}"),n.media&&(r+="}"),n.supports&&(r+="}");var o=n.sourceMap;o&&"undefined"!=typeof btoa&&(r+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(o))))," */")),e.styleTagTransform(r,t,e.options)}(e,t,n)},remove:function(){!function(t){if(null===t.parentNode)return!1;t.parentNode.removeChild(t)}(e)}}}},4589:t=>{"use strict";t.exports=function(t,e){if(e.styleSheet)e.styleSheet.cssText=t;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(t))}}},5295:module=>{var __dirname="/",f;f=function(){var define,module,exports;return function t(e,n,r){function i(a,s){if(!n[a]){if(!e[a]){if(o)return o(a,!0);var c=new Error("Cannot find module '"+a+"'");throw c.code="MODULE_NOT_FOUND",c}var u=n[a]={exports:{}};e[a][0].call(u.exports,(function(t){return i(e[a][1][t]||t)}),u,u.exports,t,e,n,r)}return n[a].exports}for(var o=void 0,a=0;ae?1:0},this.require(t,"_$_$_cmp"),this.spread((function(t){var e=t.sort(_$_$_cmp);resolve(e)})).then((function(r){for(var i=function(n,i,o){i=Math.min(i,e),o=Math.min(o,e);for(var a=n,s=i,c=[],u=a;u=o||t(l,h)<=0)?(c.push(l),n++):(c.push(h),i++)}for(u=0;u1?", "+JSON.stringify(n):"")+" );"," "," resolve = origResolve;"," resolve( res.length > 0 ? res : ret );","}"].join("\n"))}};util.extend(thdfn,{reduce:defineFnal({name:"reduce"}),reduceRight:defineFnal({name:"reduceRight"}),map:defineFnal({name:"map"})});var fn=thdfn;fn.promise=fn.run,fn.terminate=fn.halt=fn.stop,fn.include=fn.require,util.extend(thdfn,{on:define.on(),one:define.on({unbindSelfOnTrigger:!0}),off:define.off(),trigger:define.trigger()}),define.eventAliasesOn(thdfn),module.exports=Thread},{"./define":1,"./event":2,"./is":5,"./promise":6,"./util":8,"./window":9,child_process:void 0,path:void 0}],8:[function(t,e,n){"use strict";var r,i=t("./is");r={extend:function(){var t,e,n,o,a,s,c=arguments[0]||{},u=1,l=arguments.length,h=!1;for("boolean"==typeof c&&(h=c,c=arguments[1]||{},u=2),"object"==typeof c||i.fn(c)||(c={}),l===u&&(c=this,--u);u{"use strict";function r(t){for(var n in t)e.hasOwnProperty(n)||(e[n]=t[n])}Object.defineProperty(e,"__esModule",{value:!0}),r(n(89)),r(n(2845)),r(n(7069)),r(n(6085)),r(n(7598)),r(n(7384)),r(n(7426)),r(n(6749)),r(n(9427)),r(n(8793)),r(n(7421)),r(n(1138)),r(n(31)),r(n(2867)),r(n(4926)),r(n(7565))},89:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},r(t,e)},function(t,e){function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,"__esModule",{value:!0});var o=n(7426),a=function(t){function e(e){var n=t.call(this)||this,r=e;return r.trigger&&(n.trigger=r.trigger),r.kick&&(n.kick=r.kick),r.drag&&(n.drag=r.drag),r.on&&(n.on=r.on),n.dragstart=n.dragStart=o.Layout.dragStart,n.dragend=n.dragEnd=o.Layout.dragEnd,n}return i(e,t),e.prototype.trigger=function(t){},e.prototype.kick=function(){},e.prototype.drag=function(){},e.prototype.on=function(t,e){return this},e}(o.Layout);e.LayoutAdaptor=a,e.adaptor=function(t){return new a(t)}},7565:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(7426),i=n(7598);e.gridify=function(t,e,n,r){return t.cola.start(0,0,0,10,!1),function(t,e,n,r){t.forEach((function(t){t.routerNode={name:t.name,bounds:t.bounds.inflate(-n)}})),e.forEach((function(e){e.routerNode={bounds:e.bounds.inflate(-r),children:(void 0!==e.groups?e.groups.map((function(e){return t.length+e.id})):[]).concat(void 0!==e.leaves?e.leaves.map((function(t){return t.index})):[])}}));var o=t.concat(e).map((function(t,e){return t.routerNode.id=e,t.routerNode}));return new i.GridRouter(o,{getChildren:function(t){return t.children},getBounds:function(t){return t.bounds}},n-r)}(t.cola.nodes(),t.cola.groups(),n,r).routeEdges(t.powerGraph.powerEdges,e,(function(t){return t.source.routerNode.id}),(function(t){return t.target.routerNode.id}))},e.powerGraphGridLayout=function(t,e,n){var i;t.nodes.forEach((function(t,e){return t.index=e})),(new r.Layout).avoidOverlaps(!1).nodes(t.nodes).links(t.links).powerGraphGroups((function(t){(i=t).groups.forEach((function(t){return t.padding=n}))}));var o=t.nodes.length,a=[],s=t.nodes.slice(0);return s.forEach((function(t,e){return t.index=e})),i.groups.forEach((function(t){var e=t.index=t.id+o;s.push(t),void 0!==t.leaves&&t.leaves.forEach((function(t){return a.push({source:e,target:t.index})})),void 0!==t.groups&&t.groups.forEach((function(t){return a.push({source:e,target:t.id+o})}))})),i.powerEdges.forEach((function(t){a.push({source:t.source.index,target:t.target.index})})),(new r.Layout).size(e).nodes(s).links(a).avoidOverlaps(!1).linkDistance(30).symmetricDiffLinkLengths(5).convergenceThreshold(1e-4).start(100,0,0,0,!1),{cola:(new r.Layout).convergenceThreshold(.001).size(e).avoidOverlaps(!0).nodes(t.nodes).links(t.links).groupCompactness(1e-4).linkDistance(30).symmetricDiffLinkLengths(5).powerGraphGroups((function(t){(i=t).groups.forEach((function(t){t.padding=n}))})).start(50,0,100,0,!1),powerGraph:i}}},2845:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(1509),i=n(1374);e.d3adaptor=function(t){return!t||function(t){return t.version&&null!==t.version.match(/^3\./)}(t)?new r.D3StyleLayoutAdaptor:new i.D3StyleLayoutAdaptor(t)}},1509:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},r(t,e)},function(t,e){function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,"__esModule",{value:!0});var o=n(7426),a=function(t){function e(){var e=t.call(this)||this;e.event=d3.dispatch(o.EventType[o.EventType.start],o.EventType[o.EventType.tick],o.EventType[o.EventType.end]);var n=e;return e.drag=function(){if(!t)var t=d3.behavior.drag().origin(o.Layout.dragOrigin).on("dragstart.d3adaptor",o.Layout.dragStart).on("drag.d3adaptor",(function(t){o.Layout.drag(t,d3.event),n.resume()})).on("dragend.d3adaptor",o.Layout.dragEnd);if(!arguments.length)return t;this.call(t)},e}return i(e,t),e.prototype.trigger=function(t){var e={type:o.EventType[t.type],alpha:t.alpha,stress:t.stress};this.event[e.type](e)},e.prototype.kick=function(){var e=this;d3.timer((function(){return t.prototype.tick.call(e)}))},e.prototype.on=function(t,e){return"string"==typeof t?this.event.on(t,e):this.event.on(o.EventType[t],e),this},e}(o.Layout);e.D3StyleLayoutAdaptor=a,e.d3adaptor=function(){return new a}},1374:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},r(t,e)},function(t,e){function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,"__esModule",{value:!0});var o=n(7426),a=function(t){function e(e){var n=t.call(this)||this;n.d3Context=e,n.event=e.dispatch(o.EventType[o.EventType.start],o.EventType[o.EventType.tick],o.EventType[o.EventType.end]);var r=n;return n.drag=function(){if(!t)var t=e.drag().subject(o.Layout.dragOrigin).on("start.d3adaptor",o.Layout.dragStart).on("drag.d3adaptor",(function(t){o.Layout.drag(t,e.event),r.resume()})).on("end.d3adaptor",o.Layout.dragEnd);if(!arguments.length)return t;arguments[0].call(t)},n}return i(e,t),e.prototype.trigger=function(t){var e={type:o.EventType[t.type],alpha:t.alpha,stress:t.stress};this.event.call(e.type,e)},e.prototype.kick=function(){var e=this,n=this.d3Context.timer((function(){return t.prototype.tick.call(e)&&n.stop()}))},e.prototype.on=function(t,e){return"string"==typeof t?this.event.on(t,e):this.event.on(o.EventType[t],e),this},e}(o.Layout);e.D3StyleLayoutAdaptor=a},7069:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(){this.locks={}}return t.prototype.add=function(t,e){this.locks[t]=e},t.prototype.clear=function(){this.locks={}},t.prototype.isEmpty=function(){for(var t in this.locks)return!1;return!0},t.prototype.apply=function(t){for(var e in this.locks)t(Number(e),this.locks[e])},t}();e.Locks=n;var r=function(){function t(t,e,r){void 0===r&&(r=null),this.D=e,this.G=r,this.threshold=1e-4,this.numGridSnapNodes=0,this.snapGridSize=100,this.snapStrength=1e3,this.scaleSnapByMaxH=!1,this.random=new i,this.project=null,this.x=t,this.k=t.length;var o=this.n=t[0].length;this.H=new Array(this.k),this.g=new Array(this.k),this.Hd=new Array(this.k),this.a=new Array(this.k),this.b=new Array(this.k),this.c=new Array(this.k),this.d=new Array(this.k),this.e=new Array(this.k),this.ia=new Array(this.k),this.ib=new Array(this.k),this.xtmp=new Array(this.k),this.locks=new n,this.minD=Number.MAX_VALUE;for(var a,s=o;s--;)for(a=o;--a>s;){var c=e[s][a];c>0&&c1e-9)break;var d=this.offsetDir();for(r=0;r1&&p>g||!isFinite(g))for(r=0;r1&&(v=1);var b=g*g,y=2*v*(p-g)/(b*p),m=p*p*p,w=2*-v/(b*m);for(isFinite(y)||console.log(y),r=0;r0?T-(A+1)*_:T-(A-1)*_)&&f<=x&&(this.scaleSnapByMaxH?(this.g[r][c]+=s*E*f,this.H[r][c][c]+=s*E):(this.g[r][c]+=E*f,this.H[r][c][c]+=E))}this.locks.isEmpty()||this.locks.apply((function(n,i){for(r=0;r0;)for(var i=e;i-- >0;)n(r,i)},t.prototype.matrixApply=function(e){t.mApply(this.k,this.n,e)},t.prototype.computeNextPosition=function(t,e){var n=this;this.computeDerivatives(t);var r=this.computeStepSize(this.g);if(this.stepAndProject(t,e,this.g,r),this.project){this.matrixApply((function(r,i){return n.e[r][i]=t[r][i]-e[r][i]}));var i=this.computeStepSize(this.e);i=Math.max(.2,Math.min(i,1)),this.stepAndProject(t,e,this.e,i)}},t.prototype.run=function(t){for(var e=Number.MAX_VALUE,n=!1;!n&&t-- >0;){var r=this.rungeKutta();n=Math.abs(e/r-1)>16)/this.range},t.prototype.getNextBetween=function(t,e){return t+this.getNext()*(e-t)},t}();e.PseudoRandom=i},6085:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},r(t,e)},function(t,e){function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,"__esModule",{value:!0});var o=n(31),a=function(){};e.Point=a;var s=function(t,e,n,r){this.x1=t,this.y1=e,this.x2=n,this.y2=r};e.LineSegment=s;var c=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e}(a);function u(t,e,n){return(e.x-t.x)*(n.y-t.y)-(n.x-t.x)*(e.y-t.y)}function l(t,e,n){return u(t,e,n)>0}function h(t,e,n){return u(t,e,n)<0}function f(t,e){var n,r,i,o,a=e.length-1;if(h(t,e[1],e[0])&&!l(t,e[a-1],e[0]))return 0;for(n=0,r=a;;){if(r-n==1)return l(t,e[n],e[r])?n:r;if((o=h(t,e[(i=Math.floor((n+r)/2))+1],e[i]))&&!l(t,e[i-1],e[i]))return i;l(t,e[n+1],e[n])?o||l(t,e[n],e[i])?r=i:n=i:o&&h(t,e[n],e[i])?r=i:n=i}}function d(t,e){var n,r,i,o,a=e.length-1;if(l(t,e[a-1],e[0])&&!h(t,e[1],e[0]))return 0;for(n=0,r=a;;){if(r-n==1)return h(t,e[n],e[r])?n:r;if(o=h(t,e[(i=Math.floor((n+r)/2))+1],e[i]),l(t,e[i-1],e[i])&&!o)return i;h(t,e[n+1],e[n])?o?h(t,e[n],e[i])?r=i:n=i:r=i:o?n=i:l(t,e[n],e[i])?r=i:n=i}}function p(t,e,n,r,i,o){var a,s;s=r(t[a=n(e[0],t)],e);for(var c=!1;!c;){for(c=!0;a===t.length-1&&(a=0),!i(e[s],t[a],t[a+1]);)++a;for(;0===s&&(s=e.length-1),!o(t[a],e[s],e[s-1]);)--s,c=!1}return{t1:a,t2:s}}function g(t,e){return p(t,e,f,d,l,h)}e.PolyPoint=c,e.isLeft=u,e.ConvexHull=function(t){var e,n=t.slice(0).sort((function(t,e){return t.x!==e.x?e.x-t.x:e.y-t.y})),r=t.length,i=n[0].x;for(e=1;e=0&&n[e].x===l;e--);for(s=e+1,e=o;++e<=s;)if(!(u(n[0],n[s],n[e])>=0&&e1&&!(u(a[a.length-2],a[a.length-1],n[e])>0);)a.length-=1;0!=e&&a.push(n[e])}c!=s&&a.push(n[c]);var h=a.length;for(e=s;--e>=o;)if(!(u(n[c],n[o],n[e])>=0&&e>o)){for(;a.length>h&&!(u(a[a.length-2],a[a.length-1],n[e])>0);)a.length-=1;0!=e&&a.push(n[e])}}return a},e.clockwiseRadialSweep=function(t,e,n){e.slice(0).sort((function(e,n){return Math.atan2(e.y-t.y,e.x-t.x)-Math.atan2(n.y-t.y,n.x-t.x)})).forEach(n)},e.tangent_PolyPolyC=p,e.LRtangent_PolyPolyC=function(t,e){var n=g(e,t);return{t1:n.t2,t2:n.t1}},e.RLtangent_PolyPolyC=g,e.LLtangent_PolyPolyC=function(t,e){return p(t,e,d,d,h,h)},e.RRtangent_PolyPolyC=function(t,e){return p(t,e,f,f,l,l)};var v=function(t,e){this.t1=t,this.t2=e};e.BiTangent=v;var b=function(){};e.BiTangents=b;var y=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e}(a);e.TVGPoint=y;var m=function(t,e,n,r){this.id=t,this.polyid=e,this.polyvertid=n,this.p=r,r.vv=this};e.VisibilityVertex=m;var w=function(){function t(t,e){this.source=t,this.target=e}return t.prototype.length=function(){var t=this.source.p.x-this.target.p.x,e=this.source.p.y-this.target.p.y;return Math.sqrt(t*t+e*e)},t}();e.VisibilityEdge=w;var x=function(){function t(t,e){if(this.P=t,this.V=[],this.E=[],e)this.V=e.V.slice(0),this.E=e.E.slice(0);else{for(var n=t.length,r=0;r0&&this.E.push(new w(i[o-1].vv,s))}i.length>1&&this.E.push(new w(i[0].vv,i[i.length-1].vv))}for(r=0;r0)return!0;return!1},t}();function _(t,e){for(var n=[],r=1,i=e.length;r=0&&g>=0&&y<0&&m>=0&&w>=0&&x<0?i.ll=new v(o,a):p<=0&&g<=0&&y>0&&m<=0&&w<=0&&x>0?i.rr=new v(o,a):p<=0&&g>0&&y<=0&&m>=0&&w<0&&x>=0?i.rl=new v(o,a):p>=0&&g<0&&y>=0&&m<=0&&w>0&&x<=0&&(i.lr=new v(o,a))}return i}function k(t,e){return!t.every((function(t){return!function(t,e){for(var n=1,r=e.length;n0)return!0}return!1}},7598:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(31),i=n(4926),o=n(2867),a=function(t,e,n){this.id=t,this.rect=e,this.children=n,this.leaf=void 0===n||0===n.length};e.NodeWrapper=a;var s=function(t,e,n,r,i){void 0===r&&(r=null),void 0===i&&(i=null),this.id=t,this.x=e,this.y=n,this.node=r,this.line=i};e.Vert=s;var c=function(){function t(e,n){this.s=e,this.t=n;var r=t.findMatch(e,n),i=n.slice(0).reverse(),o=t.findMatch(e,i);r.length>=o.length?(this.length=r.length,this.si=r.si,this.ti=r.ti,this.reversed=!1):(this.length=o.length,this.si=o.si,this.ti=n.length-o.ti-o.length,this.reversed=!0)}return t.findMatch=function(t,e){for(var n=t.length,r=e.length,i={length:0,si:-1,ti:-1},o=new Array(n),a=0;ai.length&&(i.length=c,i.si=a-c+1,i.ti=s-c+1)}else o[a][s]=0}return i},t.prototype.getSequence=function(){return this.length>=0?this.s.slice(this.si,this.si+this.length):[]},t}();e.LongestCommonSubsequence=c;var u=function(){function t(t,e,n){var i=this;void 0===n&&(n=12),this.originalnodes=t,this.groupPadding=n,this.leaves=null,this.nodes=t.map((function(t,n){return new a(n,e.getBounds(t),e.getChildren(t))})),this.leaves=this.nodes.filter((function(t){return t.leaf})),this.groups=this.nodes.filter((function(t){return!t.leaf})),this.cols=this.getGridLines("x"),this.rows=this.getGridLines("y"),this.groups.forEach((function(t){return t.children.forEach((function(e){return i.nodes[e].parent=t}))})),this.root={children:[]},this.nodes.forEach((function(t){void 0===t.parent&&(t.parent=i.root,i.root.children.push(t.id)),t.ports=[]})),this.backToFront=this.nodes.slice(0),this.backToFront.sort((function(t,e){return i.getDepth(t)-i.getDepth(e)})),this.backToFront.slice(0).reverse().filter((function(t){return!t.leaf})).forEach((function(t){var e=r.Rectangle.empty();t.children.forEach((function(t){return e=e.union(i.nodes[t].rect)})),t.rect=e.inflate(i.groupPadding)}));var o=this.midPoints(this.cols.map((function(t){return t.pos}))),c=this.midPoints(this.rows.map((function(t){return t.pos}))),u=o[0],l=o[o.length-1],h=c[0],f=c[c.length-1],d=this.rows.map((function(t){return{x1:u,x2:l,y1:t.pos,y2:t.pos}})).concat(c.map((function(t){return{x1:u,x2:l,y1:t,y2:t}}))),p=this.cols.map((function(t){return{x1:t.pos,x2:t.pos,y1:h,y2:f}})).concat(o.map((function(t){return{x1:t,x2:t,y1:h,y2:f}}))),g=d.concat(p);g.forEach((function(t){return t.verts=[]})),this.verts=[],this.edges=[],d.forEach((function(t){return p.forEach((function(e){var n=new s(i.verts.length,e.x1,t.y1);t.verts.push(n),e.verts.push(n),i.verts.push(n);for(var r=i.backToFront.length;r-- >0;){var o=i.backToFront[r],a=o.rect,c=Math.abs(n.x-a.cx()),u=Math.abs(n.y-a.cy());if(c0;){var r=n.filter((function(e){return e.rect["overlap"+t.toUpperCase()](n[0].rect)})),i={nodes:r,pos:this.avg(r.map((function(e){return e.rect["c"+t]()})))};e.push(i),i.nodes.forEach((function(t){return n.splice(n.indexOf(t),1)}))}return e.sort((function(t,e){return t.pos-e.pos})),e},t.prototype.getDepth=function(t){for(var e=0;t.parent!==this.root;)e++,t=t.parent;return e},t.prototype.midPoints=function(t){for(var e=t[1]-t[0],n=[t[0]-e/2],r=1;r.1)&&(u={pos:h[0][e],segments:[]},c.push(u)),u.segments.push(h)}return c},t.nudgeSegs=function(t,e,n,r,o,a){var s=r.length;if(!(s<=1)){for(var c=r.map((function(e){return new i.Variable(e[0][t])})),u=[],l=0;l=0&&u.push(new i.Constraint(c[v],c[b],a))}new i.Solver(c,u).solve(),c.forEach((function(e,i){var o=r[i],a=e.position();o[0][t]=o[1][t]=a;var s=n[o.edgeid];o.i>0&&(s[o.i-1][1][t]=a),o.iMath.PI||i<-Math.PI)&&(i=r-n),i},t.isLeft=function(t,e,n){return(e.x-t.x)*(n.y-t.y)-(e.y-t.y)*(n.x-t.x)<=0},t.getOrder=function(t){for(var e={},n=0;n=u.length||h.ti+h.length>=l.length)?n.push({l:r,r:i}):(h.si+h.length>=u.length||h.ti+h.length>=l.length?(o=u[h.si+1],s=u[h.si-1],a=l[h.ti-1]):(o=u[h.si+h.length-2],a=u[h.si+h.length],s=l[h.ti+h.length]),t.isLeft(o,a,s)?n.push({l:i,r}):n.push({l:r,r:i})))}return t.getOrder(n)},t.makeSegments=function(t){function e(t){return{x:t.x,y:t.y}}for(var n=function(t,e,n){return Math.abs((e.x-t.x)*(n.y-t.y)-(e.y-t.y)*(n.x-t.x))<.001},r=[],i=e(t[0]),o=1;o1&&l>1?1e3:0})),h=l.reverse().map((function(t){return n.verts[t]}));return h.push(this.nodes[i.id].ports[0]),h.filter((function(t,e){return!(e0&&t.node===i&&h[e-1].node===i)}))},t.getRoutePath=function(e,n,r,i){var o,a,s,c={routepath:"M "+e[0][0].x+" "+e[0][0].y+" ",arrowpath:""};if(e.length>1)for(var u=0;u0?l-=f/Math.abs(f)*n:h-=d/Math.abs(d)*n,c.routepath+="L "+l+" "+h+" ";var p=e[u+1],g=p[0].x,v=p[0].y;f=p[1].x-g,d=p[1].y-v;var b,y,m=t.angleBetween2Lines(o,p)<0?1:0;Math.abs(f)>0?(b=g+f/Math.abs(f)*n,y=v):(b=g,y=v+d/Math.abs(d)*n);var w=Math.abs(b-l),x=Math.abs(y-h);c.routepath+="A "+w+" "+x+" 0 0 "+m+" "+b+" "+y+" "}else{var _=[l,h];Math.abs(f)>0?(a=[l-=f/Math.abs(f)*i,h+r],s=[l,h-r]):(a=[l+r,h-=d/Math.abs(d)*i],s=[l-r,h]),c.routepath+="L "+l+" "+h+" ",i>0&&(c.arrowpath="M "+_[0]+" "+_[1]+" L "+a[0]+" "+a[1]+" L "+s[0]+" "+s[1])}}else l=(o=e[0])[1].x,h=o[1].y,f=l-o[0].x,d=h-o[0].y,_=[l,h],Math.abs(f)>0?(a=[l-=f/Math.abs(f)*i,h+r],s=[l,h-r]):(a=[l+r,h-=d/Math.abs(d)*i],s=[l-r,h]),c.routepath+="L "+l+" "+h+" ",i>0&&(c.arrowpath="M "+_[0]+" "+_[1]+" L "+a[0]+" "+a[1]+" L "+s[0]+" "+s[1]);return c},t}();e.GridRouter=u},7384:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=10,r=(1+Math.sqrt(5))/2,i=1e-4;e.applyPacking=function(t,e,o,a,s,c){void 0===s&&(s=1),void 0===c&&(c=!0);var u=0,l=0,h=e,f=o,d=(s=void 0!==s?s:1,a=void 0!==a?a:0,0),p=0,g=0,v=0,b=[];function y(t,e){b=[],d=0,p=0,v=l;for(var n=0;n=t.height&&b[o].x+b[o].width+t.width+n-e<=i){r=b[o];break}b.push(t),void 0!==r?(t.x=r.x+r.width+n,t.y=r.bottom,t.space_left=t.height,t.bottom=t.y,r.space_left-=t.height+n,r.bottom+=t.height+n):(t.y=v,v+=t.height+n,t.x=u,t.bottom=t.y,t.space_left=t.height),t.y+t.height-p>-1e-4&&(p=t.y+t.height-l),t.x+t.width-d>-1e-4&&(d=t.x+t.width-u)}0!=t.length&&(function(t){t.forEach((function(t){var e,n,r,i,o;e=t,n=Number.MAX_VALUE,r=Number.MAX_VALUE,i=0,o=0,e.array.forEach((function(t){var e=void 0!==t.width?t.width:a,s=void 0!==t.height?t.height:a;e/=2,s/=2,i=Math.max(t.x+e,i),n=Math.min(t.x-e,n),o=Math.max(t.y+s,o),r=Math.min(t.y-s,r)})),e.width=i-n,e.height=o-r}))}(t),function(t,e){var o=Number.POSITIVE_INFINITY,a=0;t.sort((function(t,e){return e.height-t.height}));for(var s=v=g=t.reduce((function(t,e){return t.widthg||p>i;){if(1!=f){var v=c-(c-s)/r;l=y(t,v)}if(0!=f){var b=s+(c-s)/r;h=y(t,b)}if(d=Math.abs(v-b),p=Math.abs(l-h),lh?(s=v,v=b,l=h,f=1):(c=b,b=v,h=l,f=0),u++>100)break}y(t,a)}(t),c&&function(t){t.forEach((function(t){var e={x:0,y:0};t.array.forEach((function(t){e.x+=t.x,e.y+=t.y})),e.x/=t.array.length,e.y/=t.array.length;var n=e.x-t.width/2,r=e.y-t.height/2,i=t.x-n+h/2-d/2,o=t.y-r+f/2-p/2;t.array.forEach((function(t){t.x+=i,t.y+=o}))}))}(t))},e.separateGraphs=function(t,e){for(var n={},r={},i=[],o=0,a=0;a{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r,i=n(8793),o=n(9427),a=n(7069),s=n(31),c=n(2867),u=n(6085),l=n(7384);function h(t){return void 0!==t.leaves||void 0!==t.groups}!function(t){t[t.start=0]="start",t[t.tick=1]="tick",t[t.end=2]="end"}(r=e.EventType||(e.EventType={}));var f=function(){function t(){var e=this;this._canvasSize=[1,1],this._linkDistance=20,this._defaultNodeSize=10,this._linkLengthCalculator=null,this._linkType=null,this._avoidOverlaps=!1,this._handleDisconnected=!0,this._running=!1,this._nodes=[],this._groups=[],this._rootGroup=null,this._links=[],this._constraints=[],this._distanceMatrix=null,this._descent=null,this._directedLinkConstraints=null,this._threshold=.01,this._visibilityGraph=null,this._groupCompactness=1e-6,this.event=null,this.linkAccessor={getSourceIndex:t.getSourceIndex,getTargetIndex:t.getTargetIndex,setLength:t.setLinkLength,getType:function(t){return"function"==typeof e._linkType?e._linkType(t):0}}}return t.prototype.on=function(t,e){return this.event||(this.event={}),"string"==typeof t?this.event[r[t]]=e:this.event[t]=e,this},t.prototype.trigger=function(t){this.event&&void 0!==this.event[t.type]&&this.event[t.type](t)},t.prototype.kick=function(){for(;!this.tick(););},t.prototype.tick=function(){if(this._alpha0){var e=0;this._links.forEach((function(t){e=Math.max(e,t.source,t.target)})),this._nodes=new Array(++e);for(var n=0;n0?t:0:t>0&&(this._running||(this._running=!0,this.trigger({type:r.start,alpha:this._alpha=t}),this.kick())),this):this._alpha},t.prototype.getLinkLength=function(t){return"function"==typeof this._linkDistance?+this._linkDistance(t):this._linkDistance},t.setLinkLength=function(t,e){t.length=e},t.prototype.getLinkType=function(t){return"function"==typeof this._linkType?this._linkType(t):0},t.prototype.symmetricDiffLinkLengths=function(t,e){var n=this;return void 0===e&&(e=1),this.linkDistance((function(e){return t*e.length})),this._linkLengthCalculator=function(){return o.symmetricDiffLinkLengths(n._links,n.linkAccessor,e)},this},t.prototype.jaccardLinkLengths=function(t,e){var n=this;return void 0===e&&(e=1),this.linkDistance((function(e){return t*e.length})),this._linkLengthCalculator=function(){return o.jaccardLinkLengths(n._links,n.linkAccessor,e)},this},t.prototype.start=function(e,n,r,i,u,l){var h=this;void 0===e&&(e=0),void 0===n&&(n=0),void 0===r&&(r=0),void 0===i&&(i=0),void 0===u&&(u=!0),void 0===l&&(l=!0);var f,d=this.nodes().length,p=d+2*this._groups.length,g=(this._links.length,this._canvasSize[0]),v=this._canvasSize[1],b=new Array(p),y=new Array(p),m=null,w=this._avoidOverlaps;this._nodes.forEach((function(t,e){t.index=e,void 0===t.x&&(t.x=g/2,t.y=v/2),b[e]=t.x,y[e]=t.y})),this._linkLengthCalculator&&this._linkLengthCalculator(),this._distanceMatrix?f=this._distanceMatrix:(f=new c.Calculator(p,this._links,t.getSourceIndex,t.getTargetIndex,(function(t){return h.getLinkLength(t)})).DistanceMatrix(),m=a.Descent.createSquareMatrix(p,(function(){return 2})),this._links.forEach((function(t){"number"==typeof t.source&&(t.source=h._nodes[t.source]),"number"==typeof t.target&&(t.target=h._nodes[t.target])})),this._links.forEach((function(e){var n=t.getSourceIndex(e),r=t.getTargetIndex(e);m[n][r]=m[r][n]=e.weight||1})));var x=a.Descent.createSquareMatrix(p,(function(t,e){return f[t][e]}));if(this._rootGroup&&void 0!==this._rootGroup.groups){var _=d;this._groups.forEach((function(t){!function(t,e,n,r){m[t][e]=m[e][t]=n,x[t][e]=x[e][t]=.1}(_,_+1,h._groupCompactness),b[_]=0,y[_++]=0,b[_]=0,y[_++]=0}))}else this._rootGroup={leaves:this._nodes,groups:[]};var E=this._constraints||[];for(this._directedLinkConstraints&&(this.linkAccessor.getMinSeparation=this._directedLinkConstraints.getMinSeparation,E=E.concat(o.generateDirectedEdgeConstraints(d,this._links,this._directedLinkConstraints.axis,this.linkAccessor))),this.avoidOverlaps(!1),this._descent=new a.Descent([b,y],x),this._descent.locks.clear(),_=0;_0&&(this._descent.project=new s.Projection(this._nodes,this._groups,this._rootGroup,E).projectFunctions()),this._descent.run(n),this.separateOverlappingComponents(g,v,l),this.avoidOverlaps(w),w&&(this._nodes.forEach((function(t,e){t.x=b[e],t.y=y[e]})),this._descent.project=new s.Projection(this._nodes,this._groups,this._rootGroup,E,!0).projectFunctions(),this._nodes.forEach((function(t,e){b[e]=t.x,y[e]=t.y}))),this._descent.G=m,this._descent.run(r),i){this._descent.snapStrength=1e3,this._descent.snapGridSize=this._nodes[0].width,this._descent.numGridSnapNodes=d,this._descent.scaleSnapByMaxH=d!=p;var C=a.Descent.createSquareMatrix(p,(function(t,e){return t>=d||e>=d?m[t][e]:0}));this._descent.G=C,this._descent.run(i)}return this.updateNodePositions(),this.separateOverlappingComponents(g,v,l),u?this.resume():this},t.prototype.initialLayout=function(e,n,r){if(this._groups.length>0&&e>0){var i=this._nodes.length,o=this._links.map((function(t){return{source:t.source.index,target:t.target.index}})),a=this._nodes.map((function(t){return{index:t.index}}));this._groups.forEach((function(t,e){a.push({index:t.index=i+e})})),this._groups.forEach((function(t,e){void 0!==t.leaves&&t.leaves.forEach((function(e){return o.push({source:t.index,target:e.index})})),void 0!==t.groups&&t.groups.forEach((function(e){return o.push({source:t.index,target:e.index})}))})),(new t).size(this.size()).nodes(a).links(o).avoidOverlaps(!1).linkDistance(this.linkDistance()).symmetricDiffLinkLengths(5).convergenceThreshold(1e-4).start(e,0,0,0,!1),this._nodes.forEach((function(t){n[t.index]=a[t.index].x,r[t.index]=a[t.index].y}))}else this._descent.run(e)},t.prototype.separateOverlappingComponents=function(t,e,n){var r=this;if(void 0===n&&(n=!0),!this._distanceMatrix&&this._handleDisconnected){var i=this._descent.x[0],o=this._descent.x[1];this._nodes.forEach((function(t,e){t.x=i[e],t.y=o[e]}));var a=l.separateGraphs(this._nodes,this._links);l.applyPacking(a,t,e,this._defaultNodeSize,1,n),this._nodes.forEach((function(t,e){r._descent.x[0][e]=t.x,r._descent.x[1][e]=t.y,t.bounds&&(t.bounds.setXCentre(t.x),t.bounds.setYCentre(t.y))}))}},t.prototype.resume=function(){return this.alpha(.1)},t.prototype.stop=function(){return this.alpha(0)},t.prototype.prepareEdgeRouting=function(t){void 0===t&&(t=0),this._visibilityGraph=new u.TangentVisibilityGraph(this._nodes.map((function(e){return e.bounds.inflate(-t).vertices()})))},t.prototype.routeEdge=function(t,e,n){void 0===e&&(e=5);var r=[],i=new u.TangentVisibilityGraph(this._visibilityGraph.P,{V:this._visibilityGraph.V,E:this._visibilityGraph.E}),o={x:t.source.x,y:t.source.y},a={x:t.target.x,y:t.target.y},l=i.addPoint(o,t.source.index),h=i.addPoint(a,t.target.index);i.addEdgeIfVisible(o,a,t.source.index,t.target.index),void 0!==n&&n(i);var f=new c.Calculator(i.V.length,i.E,(function(t){return t.source.id}),(function(t){return t.target.id}),(function(t){return t.length()})).PathFromNodeToNode(l.id,h.id);if(1===f.length||f.length===i.V.length){var d=s.makeEdgeBetween(t.source.innerBounds,t.target.innerBounds,e);r=[d.sourceIntersection,d.arrowStart]}else{for(var p=f.length-2,g=i.V[f[p]].p,v=i.V[f[0]].p,b=(r=[t.source.innerBounds.rayIntersection(g.x,g.y)],p);b>=0;--b)r.push(i.V[f[b]].p);r.push(s.makeEdgeTo(v,t.target.innerBounds,e))}return r},t.getSourceIndex=function(t){return"number"==typeof t.source?t.source:t.source.index},t.getTargetIndex=function(t){return"number"==typeof t.target?t.target:t.target.index},t.linkId=function(e){return t.getSourceIndex(e)+"-"+t.getTargetIndex(e)},t.dragStart=function(e){h(e)?t.storeOffset(e,t.dragOrigin(e)):(t.stopNode(e),e.fixed|=2)},t.stopNode=function(t){t.px=t.x,t.py=t.y},t.storeOffset=function(e,n){void 0!==e.leaves&&e.leaves.forEach((function(e){e.fixed|=2,t.stopNode(e),e._dragGroupOffsetX=e.x-n.x,e._dragGroupOffsetY=e.y-n.y})),void 0!==e.groups&&e.groups.forEach((function(e){return t.storeOffset(e,n)}))},t.dragOrigin=function(t){return h(t)?{x:t.bounds.cx(),y:t.bounds.cy()}:t},t.drag=function(e,n){h(e)?(void 0!==e.leaves&&e.leaves.forEach((function(t){e.bounds.setXCentre(n.x),e.bounds.setYCentre(n.y),t.px=t._dragGroupOffsetX+n.x,t.py=t._dragGroupOffsetY+n.y})),void 0!==e.groups&&e.groups.forEach((function(e){return t.drag(e,n)}))):(e.px=n.x,e.py=n.y)},t.dragEnd=function(e){h(e)?(void 0!==e.leaves&&e.leaves.forEach((function(e){t.dragEnd(e),delete e._dragGroupOffsetX,delete e._dragGroupOffsetY})),void 0!==e.groups&&e.groups.forEach(t.dragEnd)):e.fixed&=-7},t.mouseOver=function(t){t.fixed|=4,t.px=t.x,t.py=t.y},t.mouseOut=function(t){t.fixed&=-5},t}();e.Layout=f},6749:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(2867),i=n(7069),o=n(31),a=n(9427),s=function(){function t(t,e){this.source=t,this.target=e}return t.prototype.actualLength=function(t){var e=this;return Math.sqrt(t.reduce((function(t,n){var r=n[e.target]-n[e.source];return t+r*r}),0))},t}();e.Link3D=s;e.Node3D=function(t,e,n){void 0===t&&(t=0),void 0===e&&(e=0),void 0===n&&(n=0),this.x=t,this.y=e,this.z=n};var c=function(){function t(e,n,r){var i=this;void 0===r&&(r=1),this.nodes=e,this.links=n,this.idealLinkLength=r,this.constraints=null,this.useJaccardLinkLengths=!0,this.result=new Array(t.k);for(var o=0;o{"use strict";function n(t,e){var n={};for(var r in t)n[r]={};for(var r in e)n[r]={};return Object.keys(n).length}function r(t,e){var n=0;for(var r in t)void 0!==e[r]&&++n;return n}function i(t,e,n,r){var i=function(t,e){var n={},r=function(t,e){void 0===n[t]&&(n[t]={}),n[t][e]={}};return t.forEach((function(t){var n=e.getSourceIndex(t),i=e.getTargetIndex(t);r(n,i),r(i,n)})),n}(t,r);t.forEach((function(t){var o=i[r.getSourceIndex(t)],a=i[r.getTargetIndex(t)];r.setLength(t,1+e*n(o,a))}))}function o(t,e,n){var r=[],i=0,o=[],a=[];function s(t){t.index=t.lowlink=i++,o.push(t),t.onStack=!0;for(var e=0,n=t.out;e{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(t,e,n){this.source=t,this.target=e,this.type=n};e.PowerEdge=n;var r=function(){function t(t,e,n,r){var i=this;if(this.linkAccessor=n,this.modules=new Array(t),this.roots=[],r)this.initModulesFromGroup(r);else{this.roots.push(new a);for(var s=0;s=this.R))return this.merge(e.a,e.b,t),!0}},t.prototype.nEdges=function(t,e){var n=t.incoming.intersection(e.incoming),r=t.outgoing.intersection(e.outgoing);return this.R-n.count()-r.count()},t.prototype.getGroupHierarchy=function(t){var e=this,r=[];return i(this.roots[0],{},r),this.allEdges().forEach((function(i){var o=e.modules[i.source],a=e.modules[i.target];t.push(new n(void 0===o.gid?i.source:r[o.gid],void 0===a.gid?i.target:r[a.gid],i.type))})),r},t.prototype.allEdges=function(){var e=[];return t.getEdges(this.roots[0],e),e},t.getEdges=function(e,n){e.forAll((function(e){e.getEdges(n),t.getEdges(e.children,n)}))},t}();function i(t,e,n){t.forAll((function(t){if(t.isLeaf())e.leaves||(e.leaves=[]),e.leaves.push(t.id);else{var r=e;if(t.gid=n.length,!t.isIsland()||t.isPredefined()){if(r={id:t.gid},t.isPredefined())for(var o in t.definition)r[o]=t.definition[o];e.groups||(e.groups=[]),e.groups.push(t.gid),n.push(r)}i(t.children,r,n)}}))}e.Configuration=r;var o=function(){function t(t,e,n,r,i){void 0===e&&(e=new s),void 0===n&&(n=new s),void 0===r&&(r=new a),this.id=t,this.outgoing=e,this.incoming=n,this.children=r,this.definition=i}return t.prototype.getEdges=function(t){var e=this;this.outgoing.forAll((function(r,i){r.forAll((function(r){t.push(new n(e.id,r.id,i))}))}))},t.prototype.isLeaf=function(){return 0===this.children.count()},t.prototype.isIsland=function(){return 0===this.outgoing.count()&&0===this.incoming.count()},t.prototype.isPredefined=function(){return void 0!==this.definition},t}();e.Module=o;var a=function(){function t(){this.table={}}return t.prototype.count=function(){return Object.keys(this.table).length},t.prototype.intersection=function(e){var n=new t;return n.table=function(t,e){var n={};for(var r in t)r in e&&(n[r]=t[r]);return n}(this.table,e.table),n},t.prototype.intersectionCount=function(t){return this.intersection(t).count()},t.prototype.contains=function(t){return t in this.table},t.prototype.add=function(t){this.table[t.id]=t},t.prototype.remove=function(t){delete this.table[t.id]},t.prototype.forAll=function(t){for(var e in this.table)t(this.table[e])},t.prototype.modules=function(){var t=[];return this.forAll((function(e){e.isPredefined()||t.push(e)})),t},t}();e.ModuleSet=a;var s=function(){function t(){this.sets={},this.n=0}return t.prototype.count=function(){return this.n},t.prototype.contains=function(t){var e=!1;return this.forAllModules((function(n){e||n.id!=t||(e=!0)})),e},t.prototype.add=function(t,e){(t in this.sets?this.sets[t]:this.sets[t]=new a).add(e),++this.n},t.prototype.remove=function(t,e){var n=this.sets[t];n.remove(e),0===n.count()&&delete this.sets[t],--this.n},t.prototype.forAll=function(t){for(var e in this.sets)t(this.sets[e],Number(e))},t.prototype.forAllModules=function(t){this.forAll((function(e,n){return e.forAll(t)}))},t.prototype.intersection=function(e){var n=new t;return this.forAll((function(t,r){if(r in e.sets){var i=t.intersection(e.sets[r]),o=i.count();o>0&&(n.sets[r]=i,n.n+=o)}})),n},t}();e.LinkSets=s,e.getGroups=function(t,e,n,i){for(var o=t.length,a=new r(o,e,n,i);a.greedyMerge(););var s=[],c=a.getGroupHierarchy(s);return s.forEach((function(e){var n=function(n){var r=e[n];"number"==typeof r&&(e[n]=t[r])};n("source"),n("target")})),{groups:c,powerEdges:s}}},7421:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t){this.elem=t,this.subheaps=[]}return t.prototype.toString=function(t){for(var e="",n=!1,r=0;r0)}return null}}return t.prototype.clear=function(){this._root=null,this.size=0},t.prototype.find=function(t){for(var e=this._root;null!==e;){var n=this._comparator(t,e.data);if(0===n)return e.data;e=e.get_child(n>0)}return null},t.prototype.lowerBound=function(t){return this._bound(t,this._comparator)},t.prototype.upperBound=function(t){var e=this._comparator;return this._bound(t,(function(t,n){return e(n,t)}))},t.prototype.min=function(){var t=this._root;if(null===t)return null;for(;null!==t.left;)t=t.left;return t.data},t.prototype.max=function(){var t=this._root;if(null===t)return null;for(;null!==t.right;)t=t.right;return t.data},t.prototype.iterator=function(){return new o(this)},t.prototype.each=function(t){for(var e,n=this.iterator();null!==(e=n.next());)t(e)},t.prototype.reach=function(t){for(var e,n=this.iterator();null!==(e=n.prev());)t(e)},t.prototype._bound=function(t,e){for(var n=this._root,r=this.iterator();null!==n;){var i=this._comparator(t,n.data);if(0===i)return r._cursor=n,r;r._ancestors.push(n),n=n.get_child(i>0)}for(var o=r._ancestors.length-1;o>=0;--o)if(e(t,(n=r._ancestors[o]).data)>0)return r._cursor=n,r._ancestors.length=o,r;return r._ancestors.length=0,r},t}();e.TreeBase=i;var o=function(){function t(t){this._tree=t,this._ancestors=[],this._cursor=null}return t.prototype.data=function(){return null!==this._cursor?this._cursor.data:null},t.prototype.next=function(){if(null===this._cursor){var t=this._tree._root;null!==t&&this._minNode(t)}else{var e;if(null===this._cursor.right)do{if(e=this._cursor,!this._ancestors.length){this._cursor=null;break}this._cursor=this._ancestors.pop()}while(this._cursor.right===e);else this._ancestors.push(this._cursor),this._minNode(this._cursor.right)}return null!==this._cursor?this._cursor.data:null},t.prototype.prev=function(){if(null===this._cursor){var t=this._tree._root;null!==t&&this._maxNode(t)}else{var e;if(null===this._cursor.left)do{if(e=this._cursor,!this._ancestors.length){this._cursor=null;break}this._cursor=this._ancestors.pop()}while(this._cursor.left===e);else this._ancestors.push(this._cursor),this._maxNode(this._cursor.left)}return null!==this._cursor?this._cursor.data:null},t.prototype._minNode=function(t){for(;null!==t.left;)this._ancestors.push(t),t=t.left;this._cursor=t},t.prototype._maxNode=function(t){for(;null!==t.right;)this._ancestors.push(t),t=t.right;this._cursor=t},t}();e.Iterator=o;var a=function(){function t(t){this.data=t,this.left=null,this.right=null,this.red=!0}return t.prototype.get_child=function(t){return t?this.right:this.left},t.prototype.set_child=function(t,e){t?this.right=e:this.left=e},t}(),s=function(t){function e(e){var n=t.call(this)||this;return n._root=null,n._comparator=e,n.size=0,n}return r(e,t),e.prototype.insert=function(t){var n=!1;if(null===this._root)this._root=new a(t),n=!0,this.size++;else{var r=new a(void 0),i=!1,o=!1,s=null,c=r,u=null,l=this._root;for(c.right=this._root;;){if(null===l?(l=new a(t),u.set_child(i,l),n=!0,this.size++):e.is_red(l.left)&&e.is_red(l.right)&&(l.red=!0,l.left.red=!1,l.right.red=!1),e.is_red(l)&&e.is_red(u)){var h=c.right===s;l===u.get_child(o)?c.set_child(h,e.single_rotate(s,!o)):c.set_child(h,e.double_rotate(s,!o))}var f=this._comparator(l.data,t);if(0===f)break;o=i,i=f<0,null!==s&&(c=s),s=u,u=l,l=l.get_child(i)}this._root=r.right}return this._root.red=!1,n},e.prototype.remove=function(t){if(null===this._root)return!1;var n=new a(void 0),r=n;r.right=this._root;for(var i=null,o=null,s=null,c=!0;null!==r.get_child(c);){var u=c;o=i,i=r,r=r.get_child(c);var l=this._comparator(t,r.data);if(c=l>0,0===l&&(s=r),!e.is_red(r)&&!e.is_red(r.get_child(c)))if(e.is_red(r.get_child(!c))){var h=e.single_rotate(r,c);i.set_child(u,h),i=h}else if(!e.is_red(r.get_child(!c))){var f=i.get_child(!u);if(null!==f)if(e.is_red(f.get_child(!u))||e.is_red(f.get_child(u))){var d=o.right===i;e.is_red(f.get_child(u))?o.set_child(d,e.double_rotate(i,u)):e.is_red(f.get_child(!u))&&o.set_child(d,e.single_rotate(i,u));var p=o.get_child(d);p.red=!0,r.red=!0,p.left.red=!1,p.right.red=!1}else i.red=!1,f.red=!0,r.red=!0}}return null!==s&&(s.data=r.data,i.set_child(i.right===r,r.get_child(null===r.left)),this.size--),this._root=n.right,null!==this._root&&(this._root.red=!1),null!==s},e.is_red=function(t){return null!==t&&t.red},e.single_rotate=function(t,e){var n=t.get_child(!e);return t.set_child(!e,n.get_child(e)),n.set_child(e,t),t.red=!0,n.red=!1,n},e.double_rotate=function(t,n){return t.set_child(!n,e.single_rotate(t.get_child(!n),!n)),e.single_rotate(t,n)},e}(i);e.RBTree=s},31:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},r(t,e)},function(t,e){function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,"__esModule",{value:!0});var o=n(4926),a=n(1138);function s(t){return t.bounds=void 0!==t.leaves?t.leaves.reduce((function(t,e){return e.bounds.union(t)}),c.empty()):c.empty(),void 0!==t.groups&&(t.bounds=t.groups.reduce((function(t,e){return s(e).union(t)}),t.bounds)),t.bounds=t.bounds.inflate(t.padding),t.bounds}e.computeGroupBounds=s;var c=function(){function t(t,e,n,r){this.x=t,this.X=e,this.y=n,this.Y=r}return t.empty=function(){return new t(Number.POSITIVE_INFINITY,Number.NEGATIVE_INFINITY,Number.POSITIVE_INFINITY,Number.NEGATIVE_INFINITY)},t.prototype.cx=function(){return(this.x+this.X)/2},t.prototype.cy=function(){return(this.y+this.Y)/2},t.prototype.overlapX=function(t){var e=this.cx(),n=t.cx();return e<=n&&t.x0?n[0]:null},t.prototype.vertices=function(){return[{x:this.x,y:this.y},{x:this.X,y:this.y},{x:this.X,y:this.Y},{x:this.x,y:this.Y}]},t.lineIntersection=function(t,e,n,r,i,o,a,s){var c=n-t,u=a-i,l=r-e,h=s-o,f=h*c-u*l;if(0==f)return null;var d=t-i,p=e-o,g=(u*p-h*d)/f,v=(c*p-l*d)/f;return g>=0&&g<=1&&v>=0&&v<=1?{x:t+g*c,y:e+g*l}:null},t.prototype.inflate=function(e){return new t(this.x-e,this.X+e,this.y-e,this.Y+e)},t}();e.Rectangle=c,e.makeEdgeBetween=function(t,e,n){var r=t.rayIntersection(e.cx(),e.cy())||{x:t.cx(),y:t.cy()},i=e.rayIntersection(t.cx(),t.cy())||{x:e.cx(),y:e.cy()},o=i.x-r.x,a=i.y-r.y,s=Math.sqrt(o*o+a*a),c=s-n;return{sourceIntersection:r,targetIntersection:i,arrowStart:{x:r.x+c*o/s,y:r.y+c*a/s}}},e.makeEdgeTo=function(t,e,n){var r=e.rayIntersection(t.x,t.y);r||(r={x:e.cx(),y:e.cy()});var i=r.x-t.x,o=r.y-t.y,a=Math.sqrt(i*i+o*o);return{x:r.x-n*i/a,y:r.y-n*o/a}};var u=function(t,e,n){this.v=t,this.r=e,this.pos=n,this.prev=f(),this.next=f()},l=function(t,e,n){this.isOpen=t,this.v=e,this.pos=n};function h(t,e){return t.pos>e.pos?1:t.pos0&&(t[n].insert(i),i[r].insert(t))};n("next","prev"),n("prev","next")}};function g(t,e,n,r){void 0===r&&(r=!1);var i=t.padding,o=void 0!==t.groups?t.groups.length:0,a=void 0!==t.leaves?t.leaves.length:0,s=o?t.groups.reduce((function(t,r){return t.concat(g(r,e,n,!0))}),[]):[],c=(r?2:0)+a+o,u=new Array(c),l=new Array(c),h=0,f=function(t,e){l[h]=t,u[h++]=e};if(r){var d=t.bounds,p=e.getCentre(d),b=e.getSize(d)/2,y=e.getOpen(d),m=e.getClose(d),w=p-b+i/2,x=p+b-i/2;t.minVar.desiredPosition=w,f(e.makeRect(y,m,w,i),t.minVar),t.maxVar.desiredPosition=x,f(e.makeRect(y,m,x,i),t.maxVar)}a&&t.leaves.forEach((function(t){return f(t.bounds,t.variable)})),o&&t.groups.forEach((function(t){var n=t.bounds;f(e.makeRect(e.getOpen(n),e.getClose(n),e.getCentre(n),e.getSize(n)),t.minVar)}));var _=v(l,u,e,n);return o&&(u.forEach((function(t){t.cOut=[],t.cIn=[]})),_.forEach((function(t){t.left.cOut.push(t),t.right.cIn.push(t)})),t.groups.forEach((function(t){var n=(t.padding-e.getSize(t.bounds))/2;t.minVar.cIn.forEach((function(t){return t.gap+=n})),t.minVar.cOut.forEach((function(e){e.left=t.maxVar,e.gap+=n}))}))),s.concat(_)}function v(t,e,n,r){var i,a=t.length,s=2*a;console.assert(e.length>=a);var c=new Array(s);for(i=0;it[n]&&(t[n]=e)}o=t}))}},t.prototype.createAlignment=function(t){var e=this,n=this.nodes[t.offsets[0].node].variable;this.makeFeasible(t);var r="x"===t.axis?this.xConstraints:this.yConstraints;t.offsets.slice(1).forEach((function(t){var i=e.nodes[t.node].variable;r.push(new o.Constraint(n,i,t.offset,!0))}))},t.prototype.createConstraints=function(t){var e=this,n=function(t){return void 0===t.type||"separation"===t.type};this.xConstraints=t.filter((function(t){return"x"===t.axis&&n(t)})).map((function(t){return e.createSeparation(t)})),this.yConstraints=t.filter((function(t){return"y"===t.axis&&n(t)})).map((function(t){return e.createSeparation(t)})),t.filter((function(t){return"alignment"===t.type})).forEach((function(t){return e.createAlignment(t)}))},t.prototype.setupVariablesAndBounds=function(t,e,n,r){this.nodes.forEach((function(i,o){i.fixed?(i.variable.weight=i.fixedWeight?i.fixedWeight:1e3,n[o]=r(i)):i.variable.weight=1;var a=(i.width||0)/2,s=(i.height||0)/2,u=t[o],l=e[o];i.bounds=new c(u-a,u+a,l-s,l+s)}))},t.prototype.xProject=function(t,e,n){(this.rootGroup||this.avoidOverlaps||this.xConstraints)&&this.project(t,e,t,n,(function(t){return t.px}),this.xConstraints,m,(function(t){return t.bounds.setXCentre(n[t.variable.index]=t.variable.position())}),(function(t){var e=n[t.minVar.index]=t.minVar.position(),r=n[t.maxVar.index]=t.maxVar.position(),i=t.padding/2;t.bounds.x=e-i,t.bounds.X=r+i}))},t.prototype.yProject=function(t,e,n){(this.rootGroup||this.yConstraints)&&this.project(t,e,e,n,(function(t){return t.py}),this.yConstraints,w,(function(t){return t.bounds.setYCentre(n[t.variable.index]=t.variable.position())}),(function(t){var e=n[t.minVar.index]=t.minVar.position(),r=n[t.maxVar.index]=t.maxVar.position(),i=t.padding/2;t.bounds.y=e-i,t.bounds.Y=r+i}))},t.prototype.projectFunctions=function(){var t=this;return[function(e,n,r){return t.xProject(e,n,r)},function(e,n,r){return t.yProject(e,n,r)}]},t.prototype.project=function(t,e,n,r,i,o,a,c,u){this.setupVariablesAndBounds(t,e,r,i),this.rootGroup&&this.avoidOverlaps&&(s(this.rootGroup),o=o.concat(a(this.rootGroup))),this.solve(this.variables,o,n,r),this.nodes.forEach(c),this.rootGroup&&this.avoidOverlaps&&(this.groups.forEach(u),s(this.rootGroup))},t.prototype.solve=function(t,e,n,r){var i=new o.Solver(t,e);i.setStartingPositions(n),i.setDesiredPositions(r),i.solve()},t}();e.Projection=_},2867:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(7421),i=function(t,e){this.id=t,this.distance=e},o=function(t){this.id=t,this.neighbours=[]},a=function(t,e,n){this.node=t,this.prev=e,this.d=n},s=function(){function t(t,e,n,r,a){this.n=t,this.es=e,this.neighbours=new Array(this.n);for(var s=this.n;s--;)this.neighbours[s]=new o(s);for(s=this.es.length;s--;){var c=this.es[s],u=n(c),l=r(c),h=a(c);this.neighbours[u].neighbours.push(new i(l,h)),this.neighbours[l].neighbours.push(new i(u,h))}}return t.prototype.DistanceMatrix=function(){for(var t=new Array(this.n),e=0;eh&&(u.d=h,u.prev=s,n.reduceKey(u.q,u,(function(t,e){return t.q=e})))}}return o},t}();e.Calculator=s},4926:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t){this.scale=t,this.AB=0,this.AD=0,this.A2=0}return t.prototype.addVariable=function(t){var e=this.scale/t.scale,n=t.offset/t.scale,r=t.weight;this.AB+=r*e*n,this.AD+=r*e*t.desiredPosition,this.A2+=r*e*e},t.prototype.getPosn=function(){return(this.AD-this.AB)/this.A2},t}();e.PositionStats=n;var r=function(){function t(t,e,n,r){void 0===r&&(r=!1),this.left=t,this.right=e,this.gap=n,this.equality=r,this.active=!1,this.unsatisfiable=!1,this.left=t,this.right=e,this.gap=n,this.equality=r}return t.prototype.slack=function(){return this.unsatisfiable?Number.MAX_VALUE:this.right.scale*this.right.position()-this.gap-this.left.scale*this.left.position()},t}();e.Constraint=r;var i=function(){function t(t,e,n){void 0===e&&(e=1),void 0===n&&(n=1),this.desiredPosition=t,this.weight=e,this.scale=n,this.offset=0}return t.prototype.dfdv=function(){return 2*this.weight*(this.position()-this.desiredPosition)},t.prototype.position=function(){return(this.block.ps.scale*this.block.posn+this.offset)/this.scale},t.prototype.visitNeighbours=function(t,e){var n=function(n,r){return n.active&&t!==r&&e(n,r)};this.cOut.forEach((function(t){return n(t,t.right)})),this.cIn.forEach((function(t){return n(t,t.left)}))},t}();e.Variable=i;var o=function(){function t(t){this.vars=[],t.offset=0,this.ps=new n(t.scale),this.addVariable(t)}return t.prototype.addVariable=function(t){t.block=this,this.vars.push(t),this.ps.addVariable(t),this.posn=this.ps.getPosn()},t.prototype.updateWeightedPosition=function(){this.ps.AB=this.ps.AD=this.ps.A2=0;for(var t=0,e=this.vars.length;t=0?this.inactive.push(e):this.bs.merge(e)}}},t.prototype.solve=function(){this.satisfy();for(var t=Number.MAX_VALUE,e=this.bs.cost();Math.abs(t-e)>1e-4;)this.satisfy(),t=e,e=this.bs.cost();return e},t.LAGRANGIAN_TOLERANCE=-1e-4,t.ZERO_UPPERBOUND=-1e-10,t}();e.Solver=s,e.removeOverlapInOneDimension=function(t,e,n){for(var o=t.map((function(t){return new i(t.desiredCenter)})),a=[],c=t.length,u=0;u{var e=t&&t.__esModule?()=>t.default:()=>t;return __webpack_require__.d(e,{a:e}),e},__webpack_require__.d=(t,e)=>{for(var n in e)__webpack_require__.o(e,n)&&!__webpack_require__.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},__webpack_require__.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),__webpack_require__.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),__webpack_require__.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},__webpack_require__.nmd=t=>(t.paths=[],t.children||(t.children=[]),t),__webpack_require__.nc=void 0;var __webpack_exports__={};(()=>{"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{Cytoscape:()=>ot});var t=__webpack_require__(3379),e=__webpack_require__.n(t),n=__webpack_require__(7795),r=__webpack_require__.n(n),i=__webpack_require__(569),o=__webpack_require__.n(i),a=__webpack_require__(3565),s=__webpack_require__.n(a),c=__webpack_require__(9216),u=__webpack_require__.n(c),l=__webpack_require__(4589),h=__webpack_require__.n(l),f=__webpack_require__(372),d={};d.styleTagTransform=h(),d.setAttributes=s(),d.insert=o().bind(null,"head"),d.domAPI=r(),d.insertStyleElement=u(),e()(f.Z,d),f.Z&&f.Z.locals&&f.Z.locals;const p=window.React;var g=__webpack_require__.n(p),v=__webpack_require__(5697),b=__webpack_require__.n(v),y=__webpack_require__(9058),m=__webpack_require__.n(y);const{string:w,array:x,object:_,number:E,bool:k,oneOfType:T,any:C,func:N}=b(),A={id:w,className:w,style:T([w,_]),elements:T([x,C]),stylesheet:T([x,C]),layout:T([_,C]),pan:T([_,C]),zoom:E,panningEnabled:k,userPanningEnabled:k,minZoom:E,maxZoom:E,zoomingEnabled:k,userZoomingEnabled:k,boxSelectionEnabled:k,autoungrabify:k,autolock:k,autounselectify:k,get:N,toJson:N,diff:N,forEach:N,cy:N,headless:k,styleEnabled:k,hideEdgesOnViewport:k,textureOnViewport:k,motionBlur:k,motionBlurOpacity:E,wheelSensitivity:E,pixelRatio:T([w,_])},S=(t,e)=>{if(((t,e)=>null==t||null==e)(t,e)&&(null!=t||null!=e))return!0;if(t===e)return!1;if("object"!=typeof t||"object"!=typeof e)return t!==e;const n=Object.keys(t),r=Object.keys(e),i=n=>t[n]!==e[n];return n.length!==r.length||!(!n.some(i)&&!r.some(i))},O=(t,e)=>null!=t?t[e]:null,L={diff:S,get:O,toJson:t=>t,forEach:(t,e)=>t.forEach(e),elements:[{data:{id:"a",label:"Example node A"}},{data:{id:"b",label:"Example node B"}},{data:{id:"e",source:"a",target:"b"}}],stylesheet:[{selector:"node",style:{label:"data(label)"}}],zoom:1,pan:{x:0,y:0}},I=(t,e,n,r)=>n(O(t,r),O(e,r)),M=(t,e,n,r,i,o)=>{const a=i(i(n,"data"),"id"),s=t.getElementById(a),c={};["data","position","selected","selectable","locked","grabbable","classes"].forEach((t=>{const a=i(n,t);o(a,i(e,t))&&(c[t]=r(a))}));const u=i(n,"scratch");o(u,i(e,"scratch"))&&s.scratch(r(u)),Object.keys(c).length>0&&s.json(c)};class P extends g().Component{static get propTypes(){return A}static get defaultProps(){return L}static normalizeElements(t){if(null!=t.length)return t;{let{nodes:e,edges:n}=t;return null==e&&(e=[]),null==n&&(n=[]),e.concat(n)}}constructor(t){super(t),this.displayName="CytoscapeComponent",this.containerRef=g().createRef()}componentDidMount(){const t=this.containerRef.current,{global:e,headless:n,styleEnabled:r,hideEdgesOnViewport:i,textureOnViewport:o,motionBlur:a,motionBlurOpacity:s,wheelSensitivity:c,pixelRatio:u}=this.props,l=this._cy=new(m())({container:t,headless:n,styleEnabled:r,hideEdgesOnViewport:i,textureOnViewport:o,motionBlur:a,motionBlurOpacity:s,wheelSensitivity:c,pixelRatio:u});e&&(window[e]=l),this.updateCytoscape(null,this.props)}updateCytoscape(t,e){const n=this._cy,{diff:r,toJson:i,get:o,forEach:a}=e;((t,e,n,r,i,o,a)=>{t.batch((()=>{(r===S||I(e,n,r,"elements"))&&((t,e,n,r,i,o,a)=>{const s=[],c=t.collection(),u=[],l={},h={},f=t=>i(i(t,"data"),"id");o(n,(t=>{const e=f(t);h[e]=t})),null!=e&&o(e,(e=>{const n=f(e);l[n]=e,(t=>null!=h[t])(n)||c.merge(t.getElementById(n))})),o(n,(t=>{const e=f(t),n=(t=>l[t])(e);(t=>null!=l[t])(e)?u.push({ele1:n,ele2:t}):s.push(r(t))})),c.length>0&&t.remove(c),s.length>0&&t.add(s),u.forEach((({ele1:e,ele2:n})=>M(t,e,n,r,i,a)))})(t,O(e,"elements"),O(n,"elements"),i,o,a,r),I(e,n,r,"stylesheet")&&((t,e,n,r)=>{const i=t.style();null!=i&&i.fromJson(r(n)).update()})(t,O(e,"stylesheet"),O(n,"stylesheet"),i),["zoom","minZoom","maxZoom","zoomingEnabled","userZoomingEnabled","pan","panningEnabled","userPanningEnabled","boxSelectionEnabled","autoungrabify","autolock","autounselectify"].forEach((o=>{I(e,n,r,o)&&((t,e,n,r,i)=>{t[e](i(r))})(t,o,O(e,o),O(n,o),i)}))})),I(e,n,r,"layout")&&((t,e,n,r)=>{const i=r(n);null!=i&&t.layout(i).run()})(t,O(e,"layout"),O(n,"layout"),i)})(n,t,e,r,i,o,a),null!=e.cy&&e.cy(n)}componentDidUpdate(t){this.updateCytoscape(t,this.props)}componentWillUnmount(){this._cy.destroy()}render(){const{id:t,className:e,style:n}=this.props;return g().createElement("div",{ref:this.containerRef,id:t,className:e,style:n})}}var D=__webpack_require__(6486),R=__webpack_require__.n(D);const j={randomUUID:"undefined"!=typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};let G;const B=new Uint8Array(16);function F(){if(!G&&(G="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!G))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return G(B)}const H=[];for(let t=0;t<256;++t)H.push((t+256).toString(16).slice(1));const Y=function(t,e,n){if(j.randomUUID&&!e&&!t)return j.randomUUID();const r=(t=t||{}).random||(t.rng||F)();if(r[6]=15&r[6]|64,r[8]=63&r[8]|128,e){n=n||0;for(let t=0;t<16;++t)e[n+t]=r[t];return e}return function(t,e=0){return H[t[e+0]]+H[t[e+1]]+H[t[e+2]]+H[t[e+3]]+"-"+H[t[e+4]]+H[t[e+5]]+"-"+H[t[e+6]]+H[t[e+7]]+"-"+H[t[e+8]]+H[t[e+9]]+"-"+H[t[e+10]]+H[t[e+11]]+H[t[e+12]]+H[t[e+13]]+H[t[e+14]]+H[t[e+15]]}(r)};function z(t){return z="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},z(t)}function U(t,e){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:!this.shouldResize,e=this.cy;t!==this.shouldResize&&(t?(e.on("render",this.updateViewport),e.on("resize",this.resize),this.updateViewport(e)):(e.removeListener("render",this.updateViewport),e.removeListener("resize",this.resize)),this.shouldResize=t)}},{key:"getViewport",value:function(){var t=this.cy;return{position:t.pan(),zoom:t.zoom(),renderedBB:Object.assign({},t.elements().renderedBoundingBox()),height:t.height(),width:t.width()}}},{key:"updateViewport",value:function(){var t=this.cy;this.prev=this.getViewport(t)}},{key:"_xConstrainedZoom",value:function(t){var e=this.curr,n=this.prev,r=this.marginPercentage.left*e.width;e.position.x=r+(n.position.x-n.renderedBB.x1);var i=e.renderedBB.y1+e.renderedBB.h/2-e.renderedBB.h/n.zoom*t/2;i+=(e.height-n.height)/2,e.position.y=i+(n.position.y-n.renderedBB.y1)}},{key:"_xChangeMargin",value:function(t){var e=this.curr,n=this.prev,r=n.renderedBB.x1+n.renderedBB.w/2,i=r/n.width*t;e.position.x=e.position.x+(i-r)}},{key:"_yConstrainedZoom",value:function(t){var e=this.curr,n=this.prev,r=this.marginPercentage.top*e.height;e.position.y=r+(n.position.y-n.renderedBB.y1);var i=e.renderedBB.x1+e.renderedBB.w/2-e.renderedBB.w/n.zoom*t/2;i+=(e.width-n.width)/2,e.position.x=i+(n.position.x-n.renderedBB.x1)}},{key:"_yChangeMargin",value:function(){var t=this.curr,e=this.prev,n=e.renderedBB.y1+e.renderedBB.h/2,r=n/e.height*t.height;t.position.y=t.position.y+(r-n)}},{key:"resize",value:function(){var t=this.cy;this.curr=this.getViewport(t);var e=this.curr,n=this.prev,r=n.renderedBB.x1>=0&&n.renderedBB.y1>=0&&n.renderedBB.x2<=n.width&&n.renderedBB.y2<=n.height;if(this.marginPercentage={left:n.renderedBB.x1/n.width,top:n.renderedBB.y1/n.height},Math.abs(1-e.width/n.width)>Math.abs(1-e.height/n.height)){var i=n.zoom/n.width*e.width;if(r)for(var o=Math.min((e.renderedBB.y1+e.renderedBB.h/2)*n.zoom*2/e.renderedBB.h,-(e.renderedBB.y1+e.renderedBB.h/2-n.height)*n.zoom*2/e.renderedBB.h)-this.containedZoomMargin,a=n.width/n.zoom*o,s=e.zoom=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return a=t.done,t},e:function(t){s=!0,o=t},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function $(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);nt.maxZoom()||e0&&(r.selector=r.selector+", "),r.selector=r.selector+"edge"):"node"===u?(r.selector.length>0&&(r.selector=r.selector+", "),r.selector=r.selector+"node"):"canvas"===u?r.coreAsWell=!0:console.error("Error: selector ".concat(u," is not available. Choose one of 'node', 'edge' or 'canvas'."))}}catch(t){c.e(t)}finally{c.f()}}a.push(r)};for(s.s();!(i=s.n()).done;)c()}catch(t){s.e(t)}finally{s.f()}return a},this.cyResponsiveClass=new q(t),this.cyResponsiveClass.toggle(this.props.responsive),s(t.extent())}}},{key:"handleImageGeneration",value:function(t,e,n,r){var i=this,o={};e&&(o=e);var a,s,c,u=o.output;switch(o.output="blob",n){case"store":default:a=!1,s=!0;break;case"download":a=!0,s=!1;break;case"both":a=!0,s=!0}if("png"===t&&(c=this._cy.png(o)),"jpg"!==t&&"jpeg"!==t||(c=this._cy.jpg(o)),"svg"===t&&(c=this._cy.svg(o)),c&&a){var l=r;if(r||(l="cyto"),"svg"!==t)this.downloadBlob(c,l+"."+t);else{var h=new Blob([c],{type:"image/svg+xml;charset=utf-8"});this.downloadBlob(h,l+"."+t)}}if(c&&s){if(u||(u="base64uri"),"base64uri"!==u&&"base64"!==u)return;var f=new FileReader;f.onload=function(){var t=f.result;"base64"===u&&(t=t.replace(/^data:.+;base64,/,"")),i.props.setProps({imageData:t})},f.readAsDataURL(c)}}},{key:"downloadBlob",value:function(t,e){var n=document.createElement("a");n.style="display: none",document.body.appendChild(n);var r=window.URL.createObjectURL(t);n.href=r,n.download=e,n.click(),window.URL.revokeObjectURL(r),document.body.removeChild(n)}},{key:"updateContextMenu",value:function(t){this._cy.contextMenus({menuItems:this.createMenuItems(t),menuItemClasses:["custom-menu-item"]})}},{key:"graphOutOfView",value:function(){var t=this._cy.width(),e=this._cy.height(),n=this._cy.elements().renderedBoundingbox();return n.x1>t||n.y1>e||n.x2<0||n.y2<0}},{key:"componentDidUpdate",value:function(t){var e=this.props,n=e.contextMenu,r=e.elements;!R().isEqual(t.contextMenu,n)&&this._cy&&this.updateContextMenu(n),!R().isEqual(t.elements,r)&&this._cy&&this.graphOutOfView()&&this._cy.fit()}},{key:"componentDidMount",value:function(){var t=this.props.contextMenu;this._cy&&t.length>0&&this.updateContextMenu(t)}},{key:"render",value:function(){var t=this.props,e=t.id,n=t.style,r=t.className,i=t.elements,o=t.stylesheet,a=t.layout,s=t.contextMenu,c=t.contextMenuData,u=t.pan,l=t.zoom,h=t.panningEnabled,f=t.userPanningEnabled,d=t.minZoom,p=t.maxZoom,v=t.zoomingEnabled,b=t.userZoomingEnabled,y=t.wheelSensitivity,m=t.boxSelectionEnabled,w=t.autoungrabify,x=t.autolock,_=t.autounselectify,E=t.generateImage,k=t.responsive;return Object.keys(E).length>0&&(this.props.setProps({generateImage:{}}),this._cy&&this.handleImageGeneration(E.type,E.options,E.action,E.filename)),this.cyResponsiveClass&&this.cyResponsiveClass.toggle(k),g().createElement(P,{id:e,cy:this.handleCy,className:r,style:n,elements:P.normalizeElements(i),stylesheet:o,layout:a,contextMenu:s,contextMenuData:c,pan:u,zoom:l,panningEnabled:h,userPanningEnabled:f,minZoom:d,maxZoom:p,zoomingEnabled:v,userZoomingEnabled:b,wheelSensitivity:y,boxSelectionEnabled:m,autoungrabify:w,autolock:x,autounselectify:_})}}],r&&Z(n.prototype,r),Object.defineProperty(n,"prototype",{writable:!1}),e}(p.Component);it.propTypes={id:b().string,className:b().string,style:b().object,setProps:b().func,elements:b().oneOfType([b().arrayOf(b().shape({group:b().string,data:b().shape({id:b().string,label:b().string,parent:b().string,source:b().string,target:b().string}),position:b().shape({x:b().number,y:b().number}),selected:b().bool,selectable:b().bool,locked:b().bool,grabbable:b().bool,classes:b().string})),b().exact({nodes:b().array,edges:b().array})]),stylesheet:b().arrayOf(b().exact({selector:b().string.isRequired,style:b().object.isRequired})),layout:b().shape({name:b().oneOf(["random","preset","circle","concentric","grid","breadthfirst","cose","cose-bilkent","fcose","cola","euler","spread","dagre","klay"]).isRequired,fit:b().bool,padding:b().number,animate:b().bool,animationDuration:b().number,boundingBox:b().object}),contextMenu:b().arrayOf(b().exact({id:b().string.isRequired,label:b().string.isRequired,tooltipText:b().string,availableOn:b().array,onClick:b().string,onClickCustom:b().string})),contextMenuData:b().exact({menuItemId:b().string,x:b().number,y:b().number,timeStamp:b().number,elementId:b().string,edgeSource:b().string,edgeTarget:b().string}),pan:b().exact({x:b().number,y:b().number}),zoom:b().number,panningEnabled:b().bool,userPanningEnabled:b().bool,minZoom:b().number,maxZoom:b().number,zoomingEnabled:b().bool,userZoomingEnabled:b().bool,wheelSensitivity:b().number,boxSelectionEnabled:b().bool,autoungrabify:b().bool,autolock:b().bool,autounselectify:b().bool,autoRefreshLayout:b().bool,tapNode:b().exact({edgesData:b().array,renderedPosition:b().object,timeStamp:b().number,classes:b().string,data:b().object,grabbable:b().bool,group:b().string,locked:b().bool,position:b().object,selectable:b().bool,selected:b().bool,style:b().object,ancestorsData:b().oneOfType([b().object,b().array]),childrenData:b().oneOfType([b().object,b().array]),descendantsData:b().oneOfType([b().object,b().array]),parentData:b().oneOfType([b().object,b().array]),siblingsData:b().oneOfType([b().object,b().array]),isParent:b().bool,isChildless:b().bool,isChild:b().bool,isOrphan:b().bool,relativePosition:b().object}),tapNodeData:b().object,tapEdge:b().exact({isLoop:b().bool,isSimple:b().bool,midpoint:b().object,sourceData:b().object,sourceEndpoint:b().object,targetData:b().object,targetEndpoint:b().object,timeStamp:b().number,classes:b().string,data:b().object,grabbable:b().bool,group:b().string,locked:b().bool,selectable:b().bool,selected:b().bool,style:b().object}),tapEdgeData:b().object,mouseoverNodeData:b().object,mouseoverEdgeData:b().object,selectedNodeData:b().array,selectedEdgeData:b().array,generateImage:b().shape({type:b().oneOf(["svg","png","jpg","jpeg"]),options:b().object,action:b().oneOf(["store","download","both"]),filename:b().string}),imageData:b().string,responsive:b().bool,extent:b().object,clearOnUnhover:b().bool},it.defaultProps={style:{width:"600px",height:"600px"},layout:{name:"grid"},pan:{x:0,y:0},zoom:1,minZoom:1e-50,maxZoom:1e50,zoomingEnabled:!0,userZoomingEnabled:!0,panningEnabled:!0,userPanningEnabled:!0,wheelSensitivity:1,boxSelectionEnabled:!1,autolock:!1,autoungrabify:!1,autounselectify:!1,autoRefreshLayout:!0,generateImage:{},imageData:null,responsive:!1,clearOnUnhover:!1,elements:[],contextMenu:[]};const ot=it;var at=__webpack_require__(4607),st=__webpack_require__.n(at),ct=__webpack_require__(4867),ut=__webpack_require__.n(ct),lt=__webpack_require__(703),ht=__webpack_require__.n(lt),ft=__webpack_require__(9142),dt=__webpack_require__.n(ft),pt=__webpack_require__(3840),gt=__webpack_require__.n(pt),vt=__webpack_require__(3878),bt=__webpack_require__.n(vt),yt=__webpack_require__(6611),mt=__webpack_require__.n(yt),wt=__webpack_require__(3595),xt=__webpack_require__.n(wt);m().use(st()),m().use(ut()),m().use(ht()),m().use(dt()),m().use(gt()),m().use(bt()),m().use(mt()),m().use(xt())})(),window.dash_cytoscape=__webpack_exports__})(); \ No newline at end of file +(()=>{var __webpack_modules__={1686:()=>{!function(){"use strict";var t=function(t,e){var n=function(t){for(var e=0,n=t.length;et.length)&&(e=t.length);for(var n=0,r=new Array(e);n=t.length?{done:!0}:{done:!1,value:t[i++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,s=!0,c=!1;return{s:function(){r=r.call(t)},n:function(){var t=r.next();return s=t.done,t},e:function(t){c=!0,a=t},f:function(){try{s||null==r.return||r.return()}finally{if(c)throw a}}}}var r=!0,i=!1,o="querySelectorAll",a="querySelectorAll",s=self,c=s.document,u=s.Element,l=s.MutationObserver,h=s.Set,f=s.WeakMap,d=function(t){return a in t},p=[].filter,g=function(t){var e=new f,s=function(n,r){var i;if(r)for(var o,a=function(t){return t.matches||t.webkitMatchesSelector||t.msMatchesSelector}(n),s=0,c=v.length;s1&&void 0!==arguments[1])||arguments[1],n=0,r=t.length;n1&&void 0!==arguments[1]?arguments[1]:document,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:MutationObserver,s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:["*"],c=function e(i,a,s,c,u,l){var h,f=n(i);try{for(f.s();!(h=f.n()).done;){var d=h.value;(l||o in d)&&(u?s.has(d)||(s.add(d),c.delete(d),t(d,u)):c.has(d)||(c.add(d),s.delete(d),t(d,u)),l||e(d[o](a),a,s,c,u,r))}}catch(t){f.e(t)}finally{f.f()}},u=new a((function(t){if(s.length){var e,o=s.join(","),a=new Set,u=new Set,l=n(t);try{for(l.s();!(e=l.n()).done;){var h=e.value,f=h.addedNodes,d=h.removedNodes;c(d,o,a,u,i,i),c(f,o,a,u,r,i)}}catch(t){l.e(t)}finally{l.f()}}})),l=u.observe;return(u.observe=function(t){return l.call(u,t,{subtree:r,childList:r})})(e),u}(s,b,l,v),m=u.prototype.attachShadow;return m&&(u.prototype.attachShadow=function(t){var e=m.call(this,t);return y.observe(e),e}),v.length&&g(b[a](v)),{drop:function(t){for(var n=0,r=t.length;n{window.dash_clientside||(window.dash_clientside={});var t=20037508.34;function e(e,n){return[180*e/t,360*Math.atan(Math.exp(-n*Math.PI/t))/Math.PI-90]}window.dash_clientside.cyleaflet={updateLeafBounds:function(t,n,r){var i=t;if(!i){if(!r)return window.dash_clientside.no_update;i=r}var o=e(i.x1,i.y1),a=o[0],s=o[1],c=e(i.x2,i.y2),u=c[0],l=c[1],h=(new Date).getTime(),f=[[l,a],[s,u]];return s===l||a===u?window.dash_clientside.no_update:[h,{bounds:f,options:{animate:!0}},i]},transformElements:function(e){return e.map((function(e){if(Object.prototype.hasOwnProperty.call(e.data,"lat")){var n=(r=e.data.lon,i=e.data.lat,[r*t/180,-Math.log(Math.tan((90+i)*Math.PI/360))*t/Math.PI]);return{data:e.data,position:{y:n[1],x:n[0]}}}var r,i;return e}))},updateLonLat:function(t){return t.length>0?t.map((function(t){if(void 0!==t.position&&Object.prototype.hasOwnProperty.call(t.position,"x")&&0!==t.position.x&&0!==t.position.y){var n=e(t.position.x,t.position.y);return{position:t.position,data:Object.assign({},t.data,{lon:n[0],lat:n[1]})}}return t})):window.dash_clientside.no_update},updateCytoMaxZoom:function(t){var e=t;t.length>=1&&1===(e=t.filter((function(t){return"TileLayer"===t.type}))).length&&(e=e[0]);var n=18;return void 0!==e.props&&Object.prototype.hasOwnProperty.call(e.props,"maxZoom")&&(n=e.props.maxZoom),function(t){return.418*Math.pow(2,t-16)}(n)}}},4182:function(t,e,n){var r;r=function(t){return function(t){var e={};function n(r){if(e[r])return e[r].exports;var i=e[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=t,n.c=e,n.i=function(t){return t},n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:r})},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=7)}([function(e,n){e.exports=t},function(t,e,n){"use strict";var r=n(0).FDLayoutConstants;function i(){}for(var o in r)i[o]=r[o];i.DEFAULT_USE_MULTI_LEVEL_SCALING=!1,i.DEFAULT_RADIAL_SEPARATION=r.DEFAULT_EDGE_LENGTH,i.DEFAULT_COMPONENT_SEPERATION=60,i.TILE=!0,i.TILING_PADDING_VERTICAL=10,i.TILING_PADDING_HORIZONTAL=10,i.TREE_REDUCTION_ON_INCREMENTAL=!1,t.exports=i},function(t,e,n){"use strict";var r=n(0).FDLayoutEdge;function i(t,e,n){r.call(this,t,e,n)}for(var o in i.prototype=Object.create(r.prototype),r)i[o]=r[o];t.exports=i},function(t,e,n){"use strict";var r=n(0).LGraph;function i(t,e,n){r.call(this,t,e,n)}for(var o in i.prototype=Object.create(r.prototype),r)i[o]=r[o];t.exports=i},function(t,e,n){"use strict";var r=n(0).LGraphManager;function i(t){r.call(this,t)}for(var o in i.prototype=Object.create(r.prototype),r)i[o]=r[o];t.exports=i},function(t,e,n){"use strict";var r=n(0).FDLayoutNode,i=n(0).IMath;function o(t,e,n,i){r.call(this,t,e,n,i)}for(var a in o.prototype=Object.create(r.prototype),r)o[a]=r[a];o.prototype.move=function(){var t=this.graphManager.getLayout();this.displacementX=t.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.noOfChildren,this.displacementY=t.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.noOfChildren,Math.abs(this.displacementX)>t.coolingFactor*t.maxNodeDisplacement&&(this.displacementX=t.coolingFactor*t.maxNodeDisplacement*i.sign(this.displacementX)),Math.abs(this.displacementY)>t.coolingFactor*t.maxNodeDisplacement&&(this.displacementY=t.coolingFactor*t.maxNodeDisplacement*i.sign(this.displacementY)),null==this.child||0==this.child.getNodes().length?this.moveBy(this.displacementX,this.displacementY):this.propogateDisplacementToChildren(this.displacementX,this.displacementY),t.totalDisplacement+=Math.abs(this.displacementX)+Math.abs(this.displacementY),this.springForceX=0,this.springForceY=0,this.repulsionForceX=0,this.repulsionForceY=0,this.gravitationForceX=0,this.gravitationForceY=0,this.displacementX=0,this.displacementY=0},o.prototype.propogateDisplacementToChildren=function(t,e){for(var n,r=this.getChild().getNodes(),i=0;i0)this.positionNodesRadially(t);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var e=new Set(this.getAllNodes()),n=this.nodesWithGravity.filter((function(t){return e.has(t)}));this.graphManager.setAllNodesToApplyGravitation(n),this.positionNodesRandomly()}}return this.initSpringEmbedder(),this.runSpringEmbedder(),!0},y.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished){if(!(this.prunedNodesAll.length>0))return!0;this.isTreeGrowing=!0}if(this.totalIterations%u.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged()){if(!(this.prunedNodesAll.length>0))return!0;this.isTreeGrowing=!0}this.coolingCycle++,0==this.layoutQuality?this.coolingAdjuster=this.coolingCycle:1==this.layoutQuality&&(this.coolingAdjuster=this.coolingCycle/3),this.coolingFactor=Math.max(this.initialCoolingFactor-Math.pow(this.coolingCycle,Math.log(100*(this.initialCoolingFactor-this.finalTemperature))/Math.log(this.maxCoolingCycle))/100*this.coolingAdjuster,this.finalTemperature),this.animationPeriod=Math.ceil(this.initialAnimationPeriod*Math.sqrt(this.coolingFactor))}if(this.isTreeGrowing){if(this.growTreeIterations%10==0)if(this.prunedNodesAll.length>0){this.graphManager.updateBounds(),this.updateGrid(),this.growTree(this.prunedNodesAll),this.graphManager.resetAllNodesToApplyGravitation();var t=new Set(this.getAllNodes()),e=this.nodesWithGravity.filter((function(e){return t.has(e)}));this.graphManager.setAllNodesToApplyGravitation(e),this.graphManager.updateBounds(),this.updateGrid(),this.coolingFactor=u.DEFAULT_COOLING_FACTOR_INCREMENTAL}else this.isTreeGrowing=!1,this.isGrowthFinished=!0;this.growTreeIterations++}if(this.isGrowthFinished){if(this.isConverged())return!0;this.afterGrowthIterations%10==0&&(this.graphManager.updateBounds(),this.updateGrid()),this.coolingFactor=u.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var n=!this.isTreeGrowing&&!this.isGrowthFinished,r=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(n,r),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},y.prototype.getPositionsData=function(){for(var t=this.graphManager.getAllNodes(),e={},n=0;n1)for(s=0;sr&&(r=Math.floor(a.y)),o=Math.floor(a.x+c.DEFAULT_COMPONENT_SEPERATION)}this.transform(new f(l.WORLD_CENTER_X-a.x/2,l.WORLD_CENTER_Y-a.y/2))},y.radialLayout=function(t,e,n){var r=Math.max(this.maxDiagonalInTree(t),c.DEFAULT_RADIAL_SEPARATION);y.branchRadialLayout(e,null,0,359,0,r);var i=v.calculateBounds(t),o=new b;o.setDeviceOrgX(i.getMinX()),o.setDeviceOrgY(i.getMinY()),o.setWorldOrgX(n.x),o.setWorldOrgY(n.y);for(var a=0;a1;){var b=v[0];v.splice(0,1);var m=l.indexOf(b);m>=0&&l.splice(m,1),p--,h--}f=null!=e?(l.indexOf(v[0])+1)%p:0;for(var w=Math.abs(r-n)/h,x=f;d!=h;x=++x%p){var _=l[x].getOtherEnd(t);if(_!=e){var E=(n+d*w)%360,k=(E+w)%360;y.branchRadialLayout(_,t,E,k,i+o,o),d++}}},y.maxDiagonalInTree=function(t){for(var e=p.MIN_VALUE,n=0;ne&&(e=r)}return e},y.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},y.prototype.groupZeroDegreeMembers=function(){var t=this,e={};this.memberGroups={},this.idToDummyNode={};for(var n=[],r=this.graphManager.getAllNodes(),i=0;i1){var r="DummyCompound_"+n;t.memberGroups[r]=e[n];var i=e[n][0].getParent(),o=new a(t.graphManager);o.id=r,o.paddingLeft=i.paddingLeft||0,o.paddingRight=i.paddingRight||0,o.paddingBottom=i.paddingBottom||0,o.paddingTop=i.paddingTop||0,t.idToDummyNode[r]=o;var s=t.getGraphManager().add(t.newGraph(),o),c=i.getChild();c.add(o);for(var u=0;u=0;t--){var e=this.compoundOrder[t],n=e.id,r=e.paddingLeft,i=e.paddingTop;this.adjustLocations(this.tiledMemberPack[n],e.rect.x,e.rect.y,r,i)}},y.prototype.repopulateZeroDegreeMembers=function(){var t=this,e=this.tiledZeroDegreePack;Object.keys(e).forEach((function(n){var r=t.idToDummyNode[n],i=r.paddingLeft,o=r.paddingTop;t.adjustLocations(e[n],r.rect.x,r.rect.y,i,o)}))},y.prototype.getToBeTiled=function(t){var e=t.id;if(null!=this.toBeTiled[e])return this.toBeTiled[e];var n=t.getChild();if(null==n)return this.toBeTiled[e]=!1,!1;for(var r=n.getNodes(),i=0;i0)return this.toBeTiled[e]=!1,!1;if(null!=o.getChild()){if(!this.getToBeTiled(o))return this.toBeTiled[e]=!1,!1}else this.toBeTiled[o.id]=!1}return this.toBeTiled[e]=!0,!0},y.prototype.getNodeDegree=function(t){t.id;for(var e=t.getEdges(),n=0,r=0;rc&&(c=l.rect.height)}n+=c+t.verticalPadding}},y.prototype.tileCompoundMembers=function(t,e){var n=this;this.tiledMemberPack=[],Object.keys(t).forEach((function(r){var i=e[r];n.tiledMemberPack[r]=n.tileNodes(t[r],i.paddingLeft+i.paddingRight),i.rect.width=n.tiledMemberPack[r].width,i.rect.height=n.tiledMemberPack[r].height}))},y.prototype.tileNodes=function(t,e){var n={rows:[],rowWidth:[],rowHeight:[],width:0,height:e,verticalPadding:c.TILING_PADDING_VERTICAL,horizontalPadding:c.TILING_PADDING_HORIZONTAL};t.sort((function(t,e){return t.rect.width*t.rect.height>e.rect.width*e.rect.height?-1:t.rect.width*t.rect.height0&&(o+=t.horizontalPadding),t.rowWidth[n]=o,t.width0&&(a+=t.verticalPadding);var s=0;a>t.rowHeight[n]&&(s=t.rowHeight[n],t.rowHeight[n]=a,s=t.rowHeight[n]-s),t.height+=s,t.rows[n].push(e)},y.prototype.getShortestRowIndex=function(t){for(var e=-1,n=Number.MAX_VALUE,r=0;rn&&(e=r,n=t.rowWidth[r]);return e},y.prototype.canAddHorizontal=function(t,e,n){var r=this.getShortestRowIndex(t);if(r<0)return!0;var i=t.rowWidth[r];if(i+t.horizontalPadding+e<=t.width)return!0;var o,a,s=0;return t.rowHeight[r]0&&(s=n+t.verticalPadding-t.rowHeight[r]),o=t.width-i>=e+t.horizontalPadding?(t.height+s)/(i+e+t.horizontalPadding):(t.height+s)/t.width,s=n+t.verticalPadding,(a=t.widtho&&e!=n){r.splice(-1,1),t.rows[n].push(i),t.rowWidth[e]=t.rowWidth[e]-o,t.rowWidth[n]=t.rowWidth[n]+o,t.width=t.rowWidth[instance.getLongestRowIndex(t)];for(var a=Number.MIN_VALUE,s=0;sa&&(a=r[s].height);e>0&&(a+=t.verticalPadding);var c=t.rowHeight[e]+t.rowHeight[n];t.rowHeight[e]=a,t.rowHeight[n]0)for(var l=i;l<=o;l++)c[0]+=this.grid[l][a-1].length+this.grid[l][a].length-1;if(o0)for(l=a;l<=s;l++)c[3]+=this.grid[i-1][l].length+this.grid[i][l].length-1;for(var h,f,d=p.MAX_VALUE,g=0;g{"use strict";n.d(e,{Z:()=>s});var r=n(8081),i=n.n(r),o=n(3645),a=n.n(o)()(i());a.push([t.id,".cytoscape-reference p {\n display: inline;\n}\n\n.custom-menu-item {\n background-color: rgb(241, 241, 241);\n font-weight: bold !important;\n width: 170px;\n display: inline-block;\n height: 38px;\n padding: 0 30px;\n color: #555;\n text-align: center;\n font-size: 11px;\n font-weight: 600;\n line-height: 38px;\n letter-spacing: 0.1rem;\n text-decoration: none;\n white-space: nowrap;\n border-radius: 4px;\n border: 1px solid #bbb;\n cursor: pointer;\n box-sizing: border-box;\n}\n.custom-menu-item:hover {\n color: rgb(104, 104, 104);\n border-color: rgb(97, 97, 97);\n outline: 0;\n}\n\n.cy-context-menus-cxt-menu {\n display: none;\n}\n",""]);const s=a},3645:t=>{"use strict";t.exports=function(t){var e=[];return e.toString=function(){return this.map((function(e){var n="",r=void 0!==e[5];return e[4]&&(n+="@supports (".concat(e[4],") {")),e[2]&&(n+="@media ".concat(e[2]," {")),r&&(n+="@layer".concat(e[5].length>0?" ".concat(e[5]):""," {")),n+=t(e),r&&(n+="}"),e[2]&&(n+="}"),e[4]&&(n+="}"),n})).join("")},e.i=function(t,n,r,i,o){"string"==typeof t&&(t=[[null,t,void 0]]);var a={};if(r)for(var s=0;s0?" ".concat(l[5]):""," {").concat(l[1],"}")),l[5]=o),n&&(l[2]?(l[1]="@media ".concat(l[2]," {").concat(l[1],"}"),l[2]=n):l[2]=n),i&&(l[4]?(l[1]="@supports (".concat(l[4],") {").concat(l[1],"}"),l[4]=i):l[4]="".concat(i)),e.push(l))}},e}},8081:t=>{"use strict";t.exports=function(t){return t[1]}},703:function(t,e,n){var r;r=function(t){return function(t){var e={};function n(r){if(e[r])return e[r].exports;var i=e[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=t,n.c=e,n.i=function(t){return t},n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:r})},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=3)}([function(t,e,n){"use strict";var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i=n(1),o=n(2),a=n(5)||("undefined"!=typeof window?window.cola:null),s=n(4),c=function(t){return(void 0===t?"undefined":r(t))===r(0)},u=function(){},l=function(t,e){return function(t){return null!=t&&(void 0===t?"undefined":r(t))===r((function(){}))}(t)?t.apply(e,[e]):t};function h(t){this.options=i({},o,t)}h.prototype.run=function(){var t=this,e=this.options;t.manuallyStopped=!1;var n=e.cy,i=e.eles,o=i.nodes(),h=i.edges(),f=!1,d=o.filter((function(t){return t.isParent()})),p=o.subtract(d),g=e.boundingBox||{x1:0,y1:0,w:n.width(),h:n.height()};void 0===g.x2&&(g.x2=g.x1+g.w),void 0===g.w&&(g.w=g.x2-g.x1),void 0===g.y2&&(g.y2=g.y1+g.h),void 0===g.h&&(g.h=g.y2-g.y1);var v=function(){for(var t=0;t0&&w.constraints(T),w.groups(d.map((function(t,n){var r=l(e.nodeSpacing,t),i=function(e){return parseFloat(t.style("padding-"+e))},o=i("left")+r,a=i("right")+r,s=i("top")+r,c=i("bottom")+r;return t.scratch().cola={index:n,padding:Math.max(o,a,s,c),leaves:t.children().intersection(p).map((function(t){return t[0].scratch().cola.index})),fixed:t.locked()},t})).map((function(t){return t.scratch().cola.groups=t.children().intersection(d).map((function(t){return t.scratch().cola.index})),t.scratch().cola})));var C=void 0,N=void 0;if(null!=e.edgeLength?(C=e.edgeLength,N="linkDistance"):null!=e.edgeSymDiffLength?(C=e.edgeSymDiffLength,N="symmetricDiffLinkLengths"):null!=e.edgeJaccardLength?(C=e.edgeJaccardLength,N="jaccardLinkLengths"):(C=100,N="linkDistance"),w.links(h.stdFilter((function(t){return p.contains(t.source())&&p.contains(t.target())})).map((function(t){var e=t.scratch().cola={source:t.source()[0].scratch().cola.index,target:t.target()[0].scratch().cola.index};return null!=C&&(e.calcLength=l(C,t)),e}))),w.size([g.w,g.h]),null!=C&&w[N]((function(t){return t.calcLength})),e.flow){var A=void 0;!function(t){return(void 0===t?"undefined":r(t))===r("")}(e.flow)?c(e.flow)?A={axis:"y",minSeparation:e.flow}:function(t){return null!=t&&(void 0===t?"undefined":r(t))===r({})}(e.flow)?((A=e.flow).axis=A.axis||"y",A.minSeparation=null!=A.minSeparation?A.minSeparation:50):A={axis:"y",minSeparation:50}:A={axis:e.flow,minSeparation:50},w.flowLayout(A.axis,A.minSeparation)}return t.trigger({type:"layoutstart",layout:t}),w.avoidOverlaps(e.avoidOverlap).handleDisconnected(e.handleDisconnected).start(e.unconstrIter,e.userConstIter,e.allConstIter,void 0,void 0,e.centerGraph),e.infinite||setTimeout((function(){t.manuallyStopped||w.stop()}),e.maxSimulationTime),this},h.prototype.stop=function(){return this.adaptor&&(this.manuallyStopped=!0,this.adaptor.stop()),this},t.exports=h},function(t,e,n){"use strict";t.exports=null!=Object.assign?Object.assign.bind(Object):function(t){for(var e=arguments.length,n=Array(e>1?e-1:0),r=1;r{self,t.exports=(()=>{var t={621:(t,e,n)=>{"use strict";function r(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);nS});var s="cy-context-menus-divider",c={evtType:"cxttap",menuItems:[],menuItemClasses:["cy-context-menus-cxt-menuitem"],contextMenuClasses:["cy-context-menus-cxt-menu"],submenuIndicator:{src:"assets/submenu-indicator-default.svg",width:12,height:12}};function u(t){return(u="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function l(t,e){var n;if("undefined"==typeof Symbol||null==t[Symbol.iterator]){if(Array.isArray(t)||(n=function(t,e){if(t){if("string"==typeof t)return h(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?h(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var r=0,i=function(){};return{s:i,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=t[Symbol.iterator]()},n:function(){var t=n.next();return a=t.done,t},e:function(t){s=!0,o=t},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function h(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n1&&void 0!==arguments[1]?arguments[1]:void 0;this.hasSubmenu()||this._createSubmenu(),this.submenu.appendMenuItem(t,e)}},{key:"isClickable",value:function(){return void 0!==this.onClickFunction}},{key:"display",value:function(){this.show=!0,this.style.display="block"}},{key:"isVisible",value:function(){return!0===this.show&&"none"!==this.style.display}},{key:"removeSubmenu",value:function(){this.hasSubmenu()&&(this.submenu.removeAllMenuItems(),this.detachSubmenu())}},{key:"detachSubmenu",value:function(){this.hasSubmenu()&&(this.removeChild(this.submenu),this.removeChild(this.indicator),this.removeEventListener("mouseenter",this.mouseEnterHandler),this.removeEventListener("mouseleave",this.mouseLeaveHandler),this.submenu=void 0,this.indicator=void 0)}},{key:"_onMouseEnter",value:function(t){var e=this.getBoundingClientRect(),r=function(t){t.style.opacity="0",t.style.display="block";var e=t.getBoundingClientRect();return t.style.opacity="1",t.style.display="none",e}(this.submenu),i=e.right+r.width>window.innerWidth,o=e.top+r.height>window.innerHeight;i||o?i&&!o?(this.submenu.style.right=this.clientWidth+"px",this.submenu.style.top="0px",this.submenu.style.left="auto",this.submenu.style.bottom="auto"):i&&o?(this.submenu.style.right=this.clientWidth+"px",this.submenu.style.bottom="0px",this.submenu.style.top="auto",this.submenu.style.left="auto"):(this.submenu.style.left=this.clientWidth+"px",this.submenu.style.bottom="0px",this.submenu.style.right="auto",this.submenu.style.top="auto"):(this.submenu.style.left=this.clientWidth+"px",this.submenu.style.top="0px",this.submenu.style.right="auto",this.submenu.style.bottom="auto"),this.submenu.display();var a=Array.from(this.submenu.children).filter((function(t){if(t instanceof n)return t.isVisible()})),c=a.length;a.forEach((function(t,e){t instanceof n&&(e=(o=n.getBoundingClientRect()).left&&r<=o.right&&i>=o.top&&i<=o.bottom||this.submenu.hide()}},{key:"_createSubmenu",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];this.indicator=this.scratchpad.submenuIndicatorGen(),this.submenu=new C(this.onMenuItemClick,this.scratchpad),this.appendChild(this.indicator),this.appendChild(this.submenu);var e,r=l(t);try{for(r.s();!(e=r.n()).done;){var i=new n(e.value,this.onMenuItemClick,this.scratchpad);this.submenu.appendMenuItem(i)}}catch(t){r.e(t)}finally{r.f()}this.mouseEnterHandler=this._onMouseEnter.bind(this),this.mouseLeaveHandler=this._onMouseLeave.bind(this),this.addEventListener("mouseenter",this.mouseEnterHandler),this.addEventListener("mouseleave",this.mouseLeaveHandler)}},{key:"_getMenuItemClassStr",value:function(t,e){return e?t+" "+s:t}}],[{key:"define",value:function(){a("ctx-menu-item",n,"button")}}]),n}(m(HTMLButtonElement)),C=function(t){g(n,t);var e=v(n);function n(t,r){var i,o;return f(this,n),y((i=b(o=e.call(this)),E(n.prototype)),"setAttribute",i).call(i,"class",r.cxtMenuClasses),o.style.position="absolute",o.onMenuItemClick=t,o.scratchpad=r,o}return p(n,[{key:"hide",value:function(){this.isVisible()&&(this.hideSubmenus(),this.style.display="none")}},{key:"display",value:function(){this.style.display="block"}},{key:"isVisible",value:function(){return"none"!==this.style.display}},{key:"hideMenuItems",value:function(){var t,e=l(this.children);try{for(e.s();!(t=e.n()).done;){var n=t.value;n instanceof HTMLElement?n.style.display="none":console.warn("".concat(n," is not a HTMLElement"))}}catch(t){e.e(t)}finally{e.f()}}},{key:"hideSubmenus",value:function(){var t,e=l(this.children);try{for(e.s();!(t=e.n()).done;){var n=t.value;n instanceof T&&n.submenu&&n.submenu.hide()}}catch(t){e.e(t)}finally{e.f()}}},{key:"appendMenuItem",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0;if(void 0!==e){if(e.parentNode!==this)throw new Error("The item with id='".concat(e.id,"' is not a child of the context menu"));this.insertBefore(t,e)}else this.appendChild(t);t.isClickable()&&this._performBindings(t)}},{key:"moveBefore",value:function(t,e){if(t.parentNode!==this)throw new Error("The item with id='".concat(t.id,"' is not a child of context menu"));if(e.parentNode!==this)throw new Error("The item with id='".concat(e.id,"' is not a child of context menu"));this.removeChild(t),this.insertBefore(t,e)}},{key:"removeAllMenuItems",value:function(){for(;this.firstChild;){var t=this.lastChild;t instanceof T?this._removeImmediateMenuItem(t):(console.warn("Found non menu item in the context menu: ",t),this.removeChild(t))}}},{key:"_removeImmediateMenuItem",value:function(t){if(!this._detachImmediateMenuItem(t))throw new Error("menu item(id=".concat(t.id,") is not in the context menu"));t.detachSubmenu(),t.unbindOnClickFunctions()}},{key:"_detachImmediateMenuItem",value:function(t){if(t.parentNode===this){if(this.removeChild(t),this.children.length<=0){var e=this.parentNode;e instanceof T&&e.detachSubmenu()}return!0}return!1}},{key:"_performBindings",value:function(t){var e=this._bindOnClick(t.onClickFunction);t.bindOnClickFunction(e),t.bindOnClickFunction(this.onMenuItemClick)}},{key:"_bindOnClick",value:function(t){var e=this;return function(){var n=e.scratchpad.currentCyEvent;t(n)}}}],[{key:"define",value:function(){a("menu-item-list",n,"div")}}]),n}(m(HTMLDivElement)),N=function(t){g(n,t);var e=v(n);function n(t,r){var i;return f(this,n),(i=e.call(this,t,r)).onMenuItemClick=function(e){k(e),i.hide(),t()},i}return p(n,[{key:"removeMenuItem",value:function(t){var e=t.parentElement;e instanceof C&&this.contains(e)&&e._removeImmediateMenuItem(t)}},{key:"appendMenuItem",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0;this.ensureDoesntContain(t.id),y(E(n.prototype),"appendMenuItem",this).call(this,t,e)}},{key:"insertMenuItem",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=e.before,r=e.parent;if(this.ensureDoesntContain(t.id),void 0!==n){if(!this.contains(n))throw new Error("before(id=".concat(n.id,") is not in the context menu"));var i=n.parentNode;if(!(i instanceof C))throw new Error("Parent of before(id=".concat(n.id,") is not a submenu"));i.appendMenuItem(t,n)}else if(void 0!==r){if(!this.contains(r))throw new Error("parent(id=".concat(r.id,") is not a descendant of the context menu"));r.appendSubmenuItem(t)}else this.appendMenuItem(t)}},{key:"moveBefore",value:function(t,e){var n=t.parentElement;if(!this.contains(n))throw new Error("parent(id=".concat(n.id,") is not in the contex menu"));if(!this.contains(e))throw new Error("before(id=".concat(e.id,") is not in the context menu"));n.removeChild(t),this.insertMenuItem(t,{before:e})}},{key:"moveToSubmenu",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,r=t.parentElement;if(!(r instanceof C))throw new Error("current parent(id=".concat(r.id,") is not a submenu"));if(!this.contains(r))throw new Error("parent of the menu item(id=".concat(r.id,") is not in the context menu"));if(null!==e){if(!this.contains(e))throw new Error("parent(id=".concat(e.id,") is not in the context menu"));r._detachImmediateMenuItem(t),e.appendSubmenuItem(t)}else null!==n&&(t.selector=n.selector,t.coreAsWell=n.coreAsWell),r._detachImmediateMenuItem(t),this.appendMenuItem(t)}},{key:"ensureDoesntContain",value:function(t){var e=document.getElementById(t);if(void 0!==e&&this.contains(e))throw new Error("There is already an element with id=".concat(t," in the context menu"))}}],[{key:"define",value:function(){a("ctx-menu",n,"div")}}]),n}(C);function A(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n1&&void 0!==arguments[1]?arguments[1]:void 0,n=p(t);if(void 0!==e){var r=v(e);h.insertMenuItem(n,{parent:r})}else h.insertMenuItem(n)},d=function(t){for(var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,n=0;n0&&(s.top+=f,s.left+=f);var d=r.clientHeight,p=r.clientWidth,g=d/2,v=p/2;c.y>g&&c.x<=v?(h.style.left=c.x+"px",h.style.bottom=d-c.y+"px",h.style.right="auto",h.style.top="auto"):c.y>g&&c.x>v?(h.style.right=p-c.x+"px",h.style.bottom=d-c.y+"px",h.style.left="auto",h.style.top="auto"):c.y<=g&&c.x<=v?(h.style.left=c.x+"px",h.style.top=c.y+"px",h.style.right="auto",h.style.bottom="auto"):(h.style.right=p-c.x+"px",h.style.top=c.y+"px",h.style.left="auto",h.style.bottom="auto")}}(t);var n,r=t.target||t.cyTarget,i=function(t,e){var n;if("undefined"==typeof Symbol||null==t[Symbol.iterator]){if(Array.isArray(t)||(n=function(t,e){if(t){if("string"==typeof t)return A(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?A(t,e):void 0}}(t))){n&&(t=n);var r=0,i=function(){};return{s:i,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=t[Symbol.iterator]()},n:function(){var t=n.next();return a=t.done,t},e:function(t){s=!0,o=t},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}(h.children);try{for(i.s();!(n=i.n()).done;){var o=n.value;o instanceof T&&(r===e?o.coreAsWell:r.is(o.selector))&&o.show&&(h.display(),u("anyVisibleChild",!0),o.display())}}catch(t){i.e(t)}finally{i.f()}var c=Array.from(h.children).filter((function(t){if(t instanceof T)return t.isVisible()})),l=c.length;c.forEach((function(t,e){t instanceof T&&(e=t.length?{done:!0}:{done:!1,value:t[i++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,s=!0,c=!1;return{s:function(){n=t[Symbol.iterator]()},n:function(){var t=n.next();return s=t.done,t},e:function(t){c=!0,a=t},f:function(){try{s||null==n.return||n.return()}finally{if(c)throw a}}}}(document.getElementsByClassName("cy-context-menus-cxt-menu"));try{for(e.s();!(t=e.n()).done;)t.value.addEventListener("contextmenu",(function(t){return t.preventDefault()}))}catch(t){e.e(t)}finally{e.f()}}()}return function(t){return{isActive:function(){return a("active")},appendMenuItem:function(e){return f(e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0),t},appendMenuItems:function(e){return d(e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0),t},removeMenuItem:function(e){var n=v(e);return h.removeMenuItem(n),t},setTrailingDivider:function(e,n){var r=v(e);return r.setHasTrailingDivider(n),n?r.classList.add(s):r.classList.remove(s),t},insertBeforeMenuItem:function(e,n){var r=p(e),i=v(n);return h.insertMenuItem(r,{before:i}),t},moveToSubmenu:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=v(e);if(null===n)h.moveToSubmenu(r);else if("string"==typeof n){var i=v(n.toString());h.moveToSubmenu(r,i)}else void 0!==n.coreAsWell||void 0!==n.selector?h.moveToSubmenu(r,null,n):console.warn("options neither has coreAsWell nor selector property but it is an object. Are you sure that this is what you want to do?");return t},moveBeforeOtherMenuItem:function(e,n){var r=v(e),i=v(n);return h.moveBefore(r,i),t},disableMenuItem:function(e){return v(e).disable(),t},enableMenuItem:function(e){return v(e).enable(),t},hideMenuItem:function(e){return v(e).hide(),t},showMenuItem:function(e){return v(e).display(),t},destroy:function(){return g(),t}}}(this)}},579:(t,e,n)=>{var r=n(621).contextMenus,i=function(t){t&&t("core","contextMenus",r)};"undefined"!=typeof cytoscape&&i(cytoscape),t.exports=i}},e={};function n(r){var i=e[r];if(void 0!==i)return i.exports;var o=e[r]={exports:{}};return t[r](o,o.exports,n),o.exports}return n.d=(t,e)=>{for(var r in e)n.o(e,r)&&!n.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),n.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n(579)})()},4607:function(t,e,n){var r;r=function(t){return function(t){var e={};function n(r){if(e[r])return e[r].exports;var i=e[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=t,n.c=e,n.i=function(t){return t},n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:r})},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=1)}([function(e,n){e.exports=t},function(t,e,n){"use strict";var r=n(0).layoutBase.LayoutConstants,i=n(0).layoutBase.FDLayoutConstants,o=n(0).CoSEConstants,a=n(0).CoSELayout,s=n(0).CoSENode,c=n(0).layoutBase.PointD,u=n(0).layoutBase.DimensionD,l={ready:function(){},stop:function(){},quality:"default",nodeDimensionsIncludeLabels:!1,refresh:30,fit:!0,padding:10,randomize:!0,nodeRepulsion:4500,idealEdgeLength:50,edgeElasticity:.45,nestingFactor:.1,gravity:.25,numIter:2500,tile:!0,animate:"end",animationDuration:500,tilingPaddingVertical:10,tilingPaddingHorizontal:10,gravityRangeCompound:1.5,gravityCompound:1,gravityRange:3.8,initialEnergyOnIncremental:.5};function h(t){this.options=function(t,e){var n={};for(var r in t)n[r]=t[r];for(var r in e)n[r]=e[r];return n}(l,t),f(this.options)}var f=function(t){null!=t.nodeRepulsion&&(o.DEFAULT_REPULSION_STRENGTH=i.DEFAULT_REPULSION_STRENGTH=t.nodeRepulsion),null!=t.idealEdgeLength&&(o.DEFAULT_EDGE_LENGTH=i.DEFAULT_EDGE_LENGTH=t.idealEdgeLength),null!=t.edgeElasticity&&(o.DEFAULT_SPRING_STRENGTH=i.DEFAULT_SPRING_STRENGTH=t.edgeElasticity),null!=t.nestingFactor&&(o.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=i.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=t.nestingFactor),null!=t.gravity&&(o.DEFAULT_GRAVITY_STRENGTH=i.DEFAULT_GRAVITY_STRENGTH=t.gravity),null!=t.numIter&&(o.MAX_ITERATIONS=i.MAX_ITERATIONS=t.numIter),null!=t.gravityRange&&(o.DEFAULT_GRAVITY_RANGE_FACTOR=i.DEFAULT_GRAVITY_RANGE_FACTOR=t.gravityRange),null!=t.gravityCompound&&(o.DEFAULT_COMPOUND_GRAVITY_STRENGTH=i.DEFAULT_COMPOUND_GRAVITY_STRENGTH=t.gravityCompound),null!=t.gravityRangeCompound&&(o.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=i.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=t.gravityRangeCompound),null!=t.initialEnergyOnIncremental&&(o.DEFAULT_COOLING_FACTOR_INCREMENTAL=i.DEFAULT_COOLING_FACTOR_INCREMENTAL=t.initialEnergyOnIncremental),"draft"==t.quality?r.QUALITY=0:"proof"==t.quality?r.QUALITY=2:r.QUALITY=1,o.NODE_DIMENSIONS_INCLUDE_LABELS=i.NODE_DIMENSIONS_INCLUDE_LABELS=r.NODE_DIMENSIONS_INCLUDE_LABELS=t.nodeDimensionsIncludeLabels,o.DEFAULT_INCREMENTAL=i.DEFAULT_INCREMENTAL=r.DEFAULT_INCREMENTAL=!t.randomize,o.ANIMATE=i.ANIMATE=r.ANIMATE=t.animate,o.TILE=t.tile,o.TILING_PADDING_VERTICAL="function"==typeof t.tilingPaddingVertical?t.tilingPaddingVertical.call():t.tilingPaddingVertical,o.TILING_PADDING_HORIZONTAL="function"==typeof t.tilingPaddingHorizontal?t.tilingPaddingHorizontal.call():t.tilingPaddingHorizontal};h.prototype.run=function(){var t,e,n=this.options,r=(this.idToLNode={},this.layout=new a),i=this;i.stopped=!1,this.cy=this.options.cy,this.cy.trigger({type:"layoutstart",layout:this});var o=r.newGraphManager();this.gm=o;var s=this.options.eles.nodes(),c=this.options.eles.edges();this.root=o.addRoot(),this.processChildrenList(this.root,this.getTopMostNodes(s),r);for(var u=0;u0&&(a=n.getGraphManager().add(n.newGraph(),o),this.processChildrenList(a,h,n))}},h.prototype.stop=function(){return this.stopped=!0,this};var d=function(t){t("layout","cose-bilkent",h)};"undefined"!=typeof cytoscape&&d(cytoscape),t.exports=d}])},t.exports=r(n(4182))},9142:function(t,e,n){var r;r=function(t){return function(t){var e={};function n(r){if(e[r])return e[r].exports;var i=e[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)n.d(r,i,function(e){return t[e]}.bind(null,i));return r},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=0)}([function(t,e,n){var r=n(1),i=function(t){t&&t("layout","dagre",r)};"undefined"!=typeof cytoscape&&i(cytoscape),t.exports=i},function(t,e,n){function r(t){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},r(t)}var i=function(t){return"function"==typeof t},o=n(2),a=n(3),s=n(4);function c(t){this.options=a({},o,t)}c.prototype.run=function(){var t=this.options,e=t.cy,n=t.eles,o=function(t,e){return i(e)?e.apply(t,[t]):e},a=t.boundingBox||{x1:0,y1:0,w:e.width(),h:e.height()};void 0===a.x2&&(a.x2=a.x1+a.w),void 0===a.w&&(a.w=a.x2-a.x1),void 0===a.y2&&(a.y2=a.y1+a.h),void 0===a.h&&(a.h=a.y2-a.y1);var c=new s.graphlib.Graph({multigraph:!0,compound:!0}),u={},l=function(t,e){null!=e&&(u[t]=e)};l("nodesep",t.nodeSep),l("edgesep",t.edgeSep),l("ranksep",t.rankSep),l("rankdir",t.rankDir),l("align",t.align),l("ranker",t.ranker),l("acyclicer",t.acyclicer),c.setGraph(u),c.setDefaultEdgeLabel((function(){return{}})),c.setDefaultNodeLabel((function(){return{}}));var h=n.nodes();i(t.sort)&&(h=h.sort(t.sort));for(var f=0;f1?e-1:0),r=1;r1?e-1:0),r=1;r1&&(c.velocity.x=l/f,c.velocity.y=h/f),r=e*c.velocity.x,o=e*c.velocity.y,c.pos.x+=r,c.pos.y+=o,i+=Math.abs(r),a+=Math.abs(o)}}return(i*i+a*a)/s}}},function(t,e,n){"use strict";var r=n(9),i=n(8),o=function(t,e){var n=Math.abs(t.x-e.x),r=Math.abs(t.y-e.y);return n<1e-8&&r<1e-8};function a(t,e){return 0===e?t.quad0:1===e?t.quad1:2===e?t.quad2:3===e?t.quad3:null}function s(t,e,n){0===e?t.quad0=n:1===e?t.quad1=n:2===e?t.quad2=n:3===e&&(t.quad3=n)}t.exports={makeQuadtree:function(){var t=[],e=new i,n=[],c=0,u=l();function l(){var t=n[c];return t?(t.quad0=null,t.quad1=null,t.quad2=null,t.quad3=null,t.body=null,t.mass=t.massX=t.massY=0,t.left=t.right=t.top=t.bottom=0):(t=new r,n[c]=t),++c,t}function h(t){for(e.reset(),e.push(u,t);!e.isEmpty();){var n=e.pop(),r=n.node,i=n.body;if(r.body){var c=r.body;if(r.body=null,o(c.pos,i.pos)){var h=3;do{var f=Math.random(),d=(r.right-r.left)*f,p=(r.bottom-r.top)*f;c.pos.x=r.left+d,c.pos.y=r.top+p,h-=1}while(h>0&&o(c.pos,i.pos));if(0===h&&o(c.pos,i.pos))return}e.push(r,c),e.push(r,i)}else{var g=i.pos.x,v=i.pos.y;r.mass=r.mass+i.mass,r.massX=r.massX+i.mass*g,r.massY=r.massY+i.mass*v;var b=0,y=r.left,m=(r.right+y)/2,w=r.top,x=(r.bottom+w)/2;g>m&&(b+=1,y=m,m=r.right),v>x&&(b+=2,w=x,x=r.bottom);var _=a(r,b);_?e.push(_,i):((_=l()).left=y,_.top=w,_.right=m,_.bottom=x,_.body=i,s(r,b,_))}}}return{insertBodies:function(t){if(0!==t.length){var e=Number.MAX_VALUE,n=Number.MAX_VALUE,r=Number.MIN_VALUE,i=Number.MIN_VALUE,o=void 0,a=t.length;for(o=a;o--;){var s=t[o].pos.x,f=t[o].pos.y;sr&&(r=s),fi&&(i=f)}var d=r-e,p=i-n;for(d>p?i=n+d:r=e+p,c=0,(u=l()).left=e,u.right=r,u.top=n,u.bottom=i,(o=a-1)>=0&&(u.body=t[o]);o--;)h(t[o])}},updateBodyForce:function(e,n,r,i){var o=t,a=void 0,s=void 0,c=void 0,l=void 0,h=0,f=0,d=1,p=0,g=1;o[0]=u,function(t){t.x=0,t.y=0}(e.force);var v=-e.pos.x,b=-e.pos.y,y=Math.sqrt(v*v+b*b),m=e.mass*i/y;for(h+=m*v,f+=m*b;d;){var w=o[p],x=w.body;d-=1,p+=1;var _=x!==e;x&&_?(s=x.pos.x-e.pos.x,c=x.pos.y-e.pos.y,0===(l=Math.sqrt(s*s+c*c))&&(s=(Math.random()-.5)/50,c=(Math.random()-.5)/50,l=Math.sqrt(s*s+c*c)),h+=(a=n*x.mass*e.mass/(l*l*l))*s,f+=a*c):_&&(s=w.massX/w.mass-e.pos.x,c=w.massY/w.mass-e.pos.y,0===(l=Math.sqrt(s*s+c*c))&&(s=(Math.random()-.5)/50,c=(Math.random()-.5)/50,l=Math.sqrt(s*s+c*c)),(w.right-w.left)/l0)return this.stack[--this.popIdx]},reset:function(){this.popIdx=0}}},function(t,e,n){"use strict";t.exports=function(){this.body=null,this.quad0=null,this.quad1=null,this.quad2=null,this.quad3=null,this.mass=0,this.massX=0,this.massY=0,this.left=0,this.top=0,this.bottom=0,this.right=0}},function(t,e,n){"use strict";var r=n(6).integrate,i=n(5).applyDrag,o=n(1).applySpring;t.exports={tick:function(t){var e=t.bodies,n=t.springs,a=t.quadtree,s=t.timeStep,c=t.gravity,u=t.theta,l=t.dragCoeff,h=t.pull;e.forEach((function(t){var e=t._scratch;e&&(t.locked=e.locked,t.grabbed=e.grabbed,t.pos.x=e.x,t.pos.y=e.y)})),a.insertBodies(e);for(var f=0;f=e.maxIterations||r>=e.maxSimulationTime)};t.exports={tick:i,multitick:function(t){for(var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:r,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:r,o=!1,a=t,s=0;s{"use strict";var e={658:t=>{t.exports=null!=Object.assign?Object.assign.bind(Object):function(t){for(var e=arguments.length,n=Array(e>1?e-1:0),r=1;r{var r=function(t,e){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return function(t,e){var n=[],r=!0,i=!1,o=void 0;try{for(var a,s=t[Symbol.iterator]();!(r=(a=s.next()).done)&&(n.push(a.value),!e||n.length!==e);r=!0);}catch(t){i=!0,o=t}finally{try{!r&&s.return&&s.return()}finally{if(i)throw o}}return n}(t,e);throw new TypeError("Invalid attempt to destructure non-iterable instance")},i=n(140).layoutBase.LinkedList,o={getTopMostNodes:function(t){for(var e={},n=0;n0&&u.merge(t)}));for(var l=0;l1){u=s[0],l=u.connectedEdges().length,s.forEach((function(t){t.connectedEdges().length0&&r.set("dummy"+(r.size+1),d),p},relocateComponent:function(t,e,n){if(!n.fixedNodeConstraint){var i=Number.POSITIVE_INFINITY,o=Number.NEGATIVE_INFINITY,a=Number.POSITIVE_INFINITY,s=Number.NEGATIVE_INFINITY;if("draft"==n.quality){var c=!0,u=!1,l=void 0;try{for(var h,f=e.nodeIndexes[Symbol.iterator]();!(c=(h=f.next()).done);c=!0){var d=h.value,p=r(d,2),g=p[0],v=p[1],b=n.cy.getElementById(g);if(b){var y=b.boundingBox(),m=e.xCoords[v]-y.w/2,w=e.xCoords[v]+y.w/2,x=e.yCoords[v]-y.h/2,_=e.yCoords[v]+y.h/2;mo&&(o=w),xs&&(s=_)}}}catch(t){u=!0,l=t}finally{try{!c&&f.return&&f.return()}finally{if(u)throw l}}var E=t.x-(o+i)/2,k=t.y-(s+a)/2;e.xCoords=e.xCoords.map((function(t){return t+E})),e.yCoords=e.yCoords.map((function(t){return t+k}))}else{Object.keys(e).forEach((function(t){var n=e[t],r=n.getRect().x,c=n.getRect().x+n.getRect().width,u=n.getRect().y,l=n.getRect().y+n.getRect().height;ro&&(o=c),us&&(s=l)}));var T=t.x-(o+i)/2,C=t.y-(s+a)/2;Object.keys(e).forEach((function(t){var n=e[t];n.setCenter(n.getCenterX()+T,n.getCenterY()+C)}))}}},calcBoundingBox:function(t,e,n,r){for(var i=Number.MAX_SAFE_INTEGER,o=Number.MIN_SAFE_INTEGER,a=Number.MAX_SAFE_INTEGER,s=Number.MIN_SAFE_INTEGER,c=void 0,u=void 0,l=void 0,h=void 0,f=t.descendants().not(":parent"),d=f.length,p=0;p(c=e[r.get(g.id())]-g.width()/2)&&(i=c),o<(u=e[r.get(g.id())]+g.width()/2)&&(o=u),a>(l=n[r.get(g.id())]-g.height()/2)&&(a=l),s<(h=n[r.get(g.id())]+g.height()/2)&&(s=h)}var v={};return v.topLeftX=i,v.topLeftY=a,v.width=o-i,v.height=s-a,v},calcParentsWithoutChildren:function(t,e){var n=t.collection();return e.nodes(":parent").forEach((function(t){var e=!1;t.children().forEach((function(t){"none"!=t.css("display")&&(e=!0)})),e||n.merge(t)})),n}};t.exports=o},816:(t,e,n)=>{var r=n(548),i=n(140).CoSELayout,o=n(140).CoSENode,a=n(140).layoutBase.PointD,s=n(140).layoutBase.DimensionD,c=n(140).layoutBase.LayoutConstants,u=n(140).layoutBase.FDLayoutConstants,l=n(140).CoSEConstants;t.exports={coseLayout:function(t,e){var n=t.cy,h=t.eles,f=h.nodes(),d=h.edges(),p=void 0,g=void 0,v=void 0,b={};t.randomize&&(p=e.nodeIndexes,g=e.xCoords,v=e.yCoords);var y=function(t){return"function"==typeof t},m=function(t,e){return y(t)?t(e):t},w=r.calcParentsWithoutChildren(n,h);null!=t.nestingFactor&&(l.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=u.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=t.nestingFactor),null!=t.gravity&&(l.DEFAULT_GRAVITY_STRENGTH=u.DEFAULT_GRAVITY_STRENGTH=t.gravity),null!=t.numIter&&(l.MAX_ITERATIONS=u.MAX_ITERATIONS=t.numIter),null!=t.gravityRange&&(l.DEFAULT_GRAVITY_RANGE_FACTOR=u.DEFAULT_GRAVITY_RANGE_FACTOR=t.gravityRange),null!=t.gravityCompound&&(l.DEFAULT_COMPOUND_GRAVITY_STRENGTH=u.DEFAULT_COMPOUND_GRAVITY_STRENGTH=t.gravityCompound),null!=t.gravityRangeCompound&&(l.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=u.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=t.gravityRangeCompound),null!=t.initialEnergyOnIncremental&&(l.DEFAULT_COOLING_FACTOR_INCREMENTAL=u.DEFAULT_COOLING_FACTOR_INCREMENTAL=t.initialEnergyOnIncremental),null!=t.tilingCompareBy&&(l.TILING_COMPARE_BY=t.tilingCompareBy),"proof"==t.quality?c.QUALITY=2:c.QUALITY=0,l.NODE_DIMENSIONS_INCLUDE_LABELS=u.NODE_DIMENSIONS_INCLUDE_LABELS=c.NODE_DIMENSIONS_INCLUDE_LABELS=t.nodeDimensionsIncludeLabels,l.DEFAULT_INCREMENTAL=u.DEFAULT_INCREMENTAL=c.DEFAULT_INCREMENTAL=!t.randomize,l.ANIMATE=u.ANIMATE=c.ANIMATE=t.animate,l.TILE=t.tile,l.TILING_PADDING_VERTICAL="function"==typeof t.tilingPaddingVertical?t.tilingPaddingVertical.call():t.tilingPaddingVertical,l.TILING_PADDING_HORIZONTAL="function"==typeof t.tilingPaddingHorizontal?t.tilingPaddingHorizontal.call():t.tilingPaddingHorizontal,l.DEFAULT_INCREMENTAL=u.DEFAULT_INCREMENTAL=c.DEFAULT_INCREMENTAL=!0,l.PURE_INCREMENTAL=!t.randomize,c.DEFAULT_UNIFORM_LEAF_NODE_SIZES=t.uniformNodeDimensions,"transformed"==t.step&&(l.TRANSFORM_ON_CONSTRAINT_HANDLING=!0,l.ENFORCE_CONSTRAINTS=!1,l.APPLY_LAYOUT=!1),"enforced"==t.step&&(l.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,l.ENFORCE_CONSTRAINTS=!0,l.APPLY_LAYOUT=!1),"cose"==t.step&&(l.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,l.ENFORCE_CONSTRAINTS=!1,l.APPLY_LAYOUT=!0),"all"==t.step&&(t.randomize?l.TRANSFORM_ON_CONSTRAINT_HANDLING=!0:l.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,l.ENFORCE_CONSTRAINTS=!0,l.APPLY_LAYOUT=!0),t.fixedNodeConstraint||t.alignmentConstraint||t.relativePlacementConstraint?l.TREE_REDUCTION_ON_INCREMENTAL=!1:l.TREE_REDUCTION_ON_INCREMENTAL=!0;var x=new i,_=x.newGraphManager();return function t(e,n,i,c){for(var u=n.length,l=0;l0&&t(i.getGraphManager().add(i.newGraph(),d),f,i,c)}}(_.addRoot(),r.getTopMostNodes(f),x,t),function(e,n,r){for(var i=0,o=0,a=0;a0?l.DEFAULT_EDGE_LENGTH=u.DEFAULT_EDGE_LENGTH=i/o:y(t.idealEdgeLength)?l.DEFAULT_EDGE_LENGTH=u.DEFAULT_EDGE_LENGTH=50:l.DEFAULT_EDGE_LENGTH=u.DEFAULT_EDGE_LENGTH=t.idealEdgeLength,l.MIN_REPULSION_DIST=u.MIN_REPULSION_DIST=u.DEFAULT_EDGE_LENGTH/10,l.DEFAULT_RADIAL_SEPARATION=u.DEFAULT_EDGE_LENGTH)}(x,_,d),function(t,e){e.fixedNodeConstraint&&(t.constraints.fixedNodeConstraint=e.fixedNodeConstraint),e.alignmentConstraint&&(t.constraints.alignmentConstraint=e.alignmentConstraint),e.relativePlacementConstraint&&(t.constraints.relativePlacementConstraint=e.relativePlacementConstraint)}(x,t),x.runLayout(),b}}},212:(t,e,n)=>{var r=function(){function t(t,e){for(var n=0;n0)if(h){var f=o.getTopMostNodes(t.eles.nodes());if((c=o.connectComponents(e,t.eles,f)).forEach((function(t){var e=t.boundingBox();u.push({x:e.x1+e.w/2,y:e.y1+e.h/2})})),t.randomize&&c.forEach((function(e){t.eles=e,r.push(a(t))})),"default"==t.quality||"proof"==t.quality){var d=e.collection();if(t.tile){var p=new Map,g=0,v={nodeIndexes:p,xCoords:[],yCoords:[]},b=[];if(c.forEach((function(t,e){0==t.edges().length&&(t.nodes().forEach((function(e,n){d.merge(t.nodes()[n]),e.isParent()||(v.nodeIndexes.set(t.nodes()[n].id(),g++),v.xCoords.push(t.nodes()[0].position().x),v.yCoords.push(t.nodes()[0].position().y))})),b.push(e))})),d.length>1){var y=d.boundingBox();u.push({x:y.x1+y.w/2,y:y.y1+y.h/2}),c.push(d),r.push(v);for(var m=b.length-1;m>=0;m--)c.splice(b[m],1),r.splice(b[m],1),u.splice(b[m],1)}}c.forEach((function(e,n){t.eles=e,i.push(s(t,r[n])),o.relocateComponent(u[n],i[n],t)}))}else c.forEach((function(e,n){o.relocateComponent(u[n],r[n],t)}));var w=new Set;if(c.length>1){var x=[],_=n.filter((function(t){return"none"==t.css("display")}));c.forEach((function(e,n){var a=void 0;if("draft"==t.quality&&(a=r[n].nodeIndexes),e.nodes().not(_).length>0){var s={edges:[],nodes:[]},c=void 0;e.nodes().not(_).forEach((function(e){if("draft"==t.quality)if(e.isParent()){var u=o.calcBoundingBox(e,r[n].xCoords,r[n].yCoords,a);s.nodes.push({x:u.topLeftX,y:u.topLeftY,width:u.width,height:u.height})}else c=a.get(e.id()),s.nodes.push({x:r[n].xCoords[c]-e.boundingbox().w/2,y:r[n].yCoords[c]-e.boundingbox().h/2,width:e.boundingbox().w,height:e.boundingbox().h});else i[n][e.id()]&&s.nodes.push({x:i[n][e.id()].getLeft(),y:i[n][e.id()].getTop(),width:i[n][e.id()].getWidth(),height:i[n][e.id()].getHeight()})})),e.edges().forEach((function(e){var c=e.source(),u=e.target();if("none"!=c.css("display")&&"none"!=u.css("display"))if("draft"==t.quality){var l=a.get(c.id()),h=a.get(u.id()),f=[],d=[];if(c.isParent()){var p=o.calcBoundingBox(c,r[n].xCoords,r[n].yCoords,a);f.push(p.topLeftX+p.width/2),f.push(p.topLeftY+p.height/2)}else f.push(r[n].xCoords[l]),f.push(r[n].yCoords[l]);if(u.isParent()){var g=o.calcBoundingBox(u,r[n].xCoords,r[n].yCoords,a);d.push(g.topLeftX+g.width/2),d.push(g.topLeftY+g.height/2)}else d.push(r[n].xCoords[h]),d.push(r[n].yCoords[h]);s.edges.push({startX:f[0],startY:f[1],endX:d[0],endY:d[1]})}else i[n][c.id()]&&i[n][u.id()]&&s.edges.push({startX:i[n][c.id()].getCenterX(),startY:i[n][c.id()].getCenterY(),endX:i[n][u.id()].getCenterX(),endY:i[n][u.id()].getCenterY()})})),s.nodes.length>0&&(x.push(s),w.add(n))}}));var E=l.packComponents(x,t.randomize).shifts;if("draft"==t.quality)r.forEach((function(t,e){var n=t.xCoords.map((function(t){return t+E[e].dx})),r=t.yCoords.map((function(t){return t+E[e].dy}));t.xCoords=n,t.yCoords=r}));else{var k=0;w.forEach((function(t){Object.keys(i[t]).forEach((function(e){var n=i[t][e];n.setCenter(n.getCenterX()+E[k].dx,n.getCenterY()+E[k].dy)})),k++}))}}}else{var T=t.eles.boundingBox();if(u.push({x:T.x1+T.w/2,y:T.y1+T.h/2}),t.randomize){var C=a(t);r.push(C)}"default"==t.quality||"proof"==t.quality?(i.push(s(t,r[0])),o.relocateComponent(u[0],i[0],t)):o.relocateComponent(u[0],r[0],t)}var N=function(e,n){if("default"==t.quality||"proof"==t.quality){"number"==typeof e&&(e=n);var o=void 0,a=void 0,s=e.data("id");return i.forEach((function(t){s in t&&(o={x:t[s].getRect().getCenterX(),y:t[s].getRect().getCenterY()},a=t[s])})),t.nodeDimensionsIncludeLabels&&(a.labelWidth&&("left"==a.labelPosHorizontal?o.x+=a.labelWidth/2:"right"==a.labelPosHorizontal&&(o.x-=a.labelWidth/2)),a.labelHeight&&("top"==a.labelPosVertical?o.y+=a.labelHeight/2:"bottom"==a.labelPosVertical&&(o.y-=a.labelHeight/2))),null==o&&(o={x:e.position("x"),y:e.position("y")}),{x:o.x,y:o.y}}var c=void 0;return r.forEach((function(t){var n=t.nodeIndexes.get(e.id());null!=n&&(c={x:t.xCoords[n],y:t.yCoords[n]})})),null==c&&(c={x:e.position("x"),y:e.position("y")}),{x:c.x,y:c.y}};if("default"==t.quality||"proof"==t.quality||t.randomize){var A=o.calcParentsWithoutChildren(e,n),S=n.filter((function(t){return"none"==t.css("display")}));t.eles=n.not(S),n.nodes().not(":parent").not(S).layoutPositions(this,t,N),A.length>0&&A.forEach((function(t){t.position(N(t))}))}else console.log("If randomize option is set to false, then quality option must be 'default' or 'proof'.")}}]),t}();t.exports=u},657:(t,e,n)=>{var r=n(548),i=n(140).layoutBase.Matrix,o=n(140).layoutBase.SVD;t.exports={spectralLayout:function(t){var e=t.cy,n=t.eles,a=n.nodes(),s=n.nodes(":parent"),c=new Map,u=new Map,l=new Map,h=[],f=[],d=[],p=[],g=[],v=[],b=[],y=[],m=void 0,w=1e8,x=1e-9,_=t.piTol,E=t.samplingType,k=t.nodeSeparation,T=void 0,C=function(t,e,n){for(var r=[],i=0,o=0,a=0,s=void 0,c=[],l=0,f=1,d=0;d=i;){a=r[i++];for(var p=h[a],b=0;bl&&(l=g[x],f=x)}return f};r.connectComponents(e,n,r.getTopMostNodes(a),c),s.forEach((function(t){r.connectComponents(e,n,r.getTopMostNodes(t.descendants().intersection(n)),c)}));for(var N=0,A=0;A0&&(r.isParent()?h[e].push(l.get(r.id())):h[e].push(r.id()))}))}));var R=function(t){var n=u.get(t),r=void 0;c.get(t).forEach((function(i){r=e.getElementById(i).isParent()?l.get(i):i,h[n].push(r),h[u.get(r)].push(t)}))},j=!0,G=!1,B=void 0;try{for(var F,H=c.keys()[Symbol.iterator]();!(j=(F=H.next()).done);j=!0)R(F.value)}catch(t){G=!0,B=t}finally{try{!j&&H.return&&H.return()}finally{if(G)throw B}}var Y=void 0;if((m=u.size)>2){T=m=1)break;u=c}for(var p=0;p=1)break;u=c}for(var b=0;b{var r=n(212),i=function(t){t&&t("layout","fcose",r)};"undefined"!=typeof cytoscape&&i(cytoscape),t.exports=i},140:e=>{e.exports=t}},n={},r=function t(r){var i=n[r];if(void 0!==i)return i.exports;var o=n[r]={exports:{}};return e[r](o,o.exports,t),o.exports}(579);return r})()},t.exports=r(n(6914))},6914:function(t,e,n){var r;r=function(t){return(()=>{"use strict";var e={45:(t,e,n)=>{var r={};r.layoutBase=n(551),r.CoSEConstants=n(806),r.CoSEEdge=n(767),r.CoSEGraph=n(880),r.CoSEGraphManager=n(578),r.CoSELayout=n(765),r.CoSENode=n(991),r.ConstraintHandler=n(902),t.exports=r},806:(t,e,n)=>{var r=n(551).FDLayoutConstants;function i(){}for(var o in r)i[o]=r[o];i.DEFAULT_USE_MULTI_LEVEL_SCALING=!1,i.DEFAULT_RADIAL_SEPARATION=r.DEFAULT_EDGE_LENGTH,i.DEFAULT_COMPONENT_SEPERATION=60,i.TILE=!0,i.TILING_PADDING_VERTICAL=10,i.TILING_PADDING_HORIZONTAL=10,i.TRANSFORM_ON_CONSTRAINT_HANDLING=!0,i.ENFORCE_CONSTRAINTS=!0,i.APPLY_LAYOUT=!0,i.RELAX_MOVEMENT_ON_CONSTRAINTS=!0,i.TREE_REDUCTION_ON_INCREMENTAL=!0,i.PURE_INCREMENTAL=i.DEFAULT_INCREMENTAL,t.exports=i},767:(t,e,n)=>{var r=n(551).FDLayoutEdge;function i(t,e,n){r.call(this,t,e,n)}for(var o in i.prototype=Object.create(r.prototype),r)i[o]=r[o];t.exports=i},880:(t,e,n)=>{var r=n(551).LGraph;function i(t,e,n){r.call(this,t,e,n)}for(var o in i.prototype=Object.create(r.prototype),r)i[o]=r[o];t.exports=i},578:(t,e,n)=>{var r=n(551).LGraphManager;function i(t){r.call(this,t)}for(var o in i.prototype=Object.create(r.prototype),r)i[o]=r[o];t.exports=i},765:(t,e,n)=>{var r=n(551).FDLayout,i=n(578),o=n(880),a=n(991),s=n(767),c=n(806),u=n(902),l=n(551).FDLayoutConstants,h=n(551).LayoutConstants,f=n(551).Point,d=n(551).PointD,p=n(551).DimensionD,g=n(551).Layout,v=n(551).Integer,b=n(551).IGeometry,y=n(551).LGraph,m=n(551).Transform,w=n(551).LinkedList;function x(){r.call(this),this.toBeTiled={},this.constraints={}}for(var _ in x.prototype=Object.create(r.prototype),r)x[_]=r[_];x.prototype.newGraphManager=function(){var t=new i(this);return this.graphManager=t,t},x.prototype.newGraph=function(t){return new o(null,this.graphManager,t)},x.prototype.newNode=function(t){return new a(this.graphManager,t)},x.prototype.newEdge=function(t){return new s(null,null,t)},x.prototype.initParameters=function(){r.prototype.initParameters.call(this,arguments),this.isSubLayout||(c.DEFAULT_EDGE_LENGTH<10?this.idealEdgeLength=10:this.idealEdgeLength=c.DEFAULT_EDGE_LENGTH,this.useSmartIdealEdgeLengthCalculation=c.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION,this.gravityConstant=l.DEFAULT_GRAVITY_STRENGTH,this.compoundGravityConstant=l.DEFAULT_COMPOUND_GRAVITY_STRENGTH,this.gravityRangeFactor=l.DEFAULT_GRAVITY_RANGE_FACTOR,this.compoundGravityRangeFactor=l.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR,this.prunedNodesAll=[],this.growTreeIterations=0,this.afterGrowthIterations=0,this.isTreeGrowing=!1,this.isGrowthFinished=!1)},x.prototype.initSpringEmbedder=function(){r.prototype.initSpringEmbedder.call(this),this.coolingCycle=0,this.maxCoolingCycle=this.maxIterations/l.CONVERGENCE_CHECK_PERIOD,this.finalTemperature=.04,this.coolingAdjuster=1},x.prototype.layout=function(){return h.DEFAULT_CREATE_BENDS_AS_NEEDED&&(this.createBendpoints(),this.graphManager.resetAllEdges()),this.level=0,this.classicLayout()},x.prototype.classicLayout=function(){if(this.nodesWithGravity=this.calculateNodesToApplyGravitationTo(),this.graphManager.setAllNodesToApplyGravitation(this.nodesWithGravity),this.calcNoOfChildrenForAllNodes(),this.graphManager.calcLowestCommonAncestors(),this.graphManager.calcInclusionTreeDepths(),this.graphManager.getRoot().calcEstimatedSize(),this.calcIdealEdgeLengths(),this.incremental)c.TREE_REDUCTION_ON_INCREMENTAL&&(this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation(),e=new Set(this.getAllNodes()),n=this.nodesWithGravity.filter((function(t){return e.has(t)})),this.graphManager.setAllNodesToApplyGravitation(n));else{var t=this.getFlatForest();if(t.length>0)this.positionNodesRadially(t);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var e=new Set(this.getAllNodes()),n=this.nodesWithGravity.filter((function(t){return e.has(t)}));this.graphManager.setAllNodesToApplyGravitation(n),this.positionNodesRandomly()}}return Object.keys(this.constraints).length>0&&(u.handleConstraints(this),this.initConstraintVariables()),this.initSpringEmbedder(),c.APPLY_LAYOUT&&this.runSpringEmbedder(),!0},x.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished){if(!(this.prunedNodesAll.length>0))return!0;this.isTreeGrowing=!0}if(this.totalIterations%l.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged()){if(!(this.prunedNodesAll.length>0))return!0;this.isTreeGrowing=!0}this.coolingCycle++,0==this.layoutQuality?this.coolingAdjuster=this.coolingCycle:1==this.layoutQuality&&(this.coolingAdjuster=this.coolingCycle/3),this.coolingFactor=Math.max(this.initialCoolingFactor-Math.pow(this.coolingCycle,Math.log(100*(this.initialCoolingFactor-this.finalTemperature))/Math.log(this.maxCoolingCycle))/100*this.coolingAdjuster,this.finalTemperature),this.animationPeriod=Math.ceil(this.initialAnimationPeriod*Math.sqrt(this.coolingFactor))}if(this.isTreeGrowing){if(this.growTreeIterations%10==0)if(this.prunedNodesAll.length>0){this.graphManager.updateBounds(),this.updateGrid(),this.growTree(this.prunedNodesAll),this.graphManager.resetAllNodesToApplyGravitation();var t=new Set(this.getAllNodes()),e=this.nodesWithGravity.filter((function(e){return t.has(e)}));this.graphManager.setAllNodesToApplyGravitation(e),this.graphManager.updateBounds(),this.updateGrid(),c.PURE_INCREMENTAL?this.coolingFactor=l.DEFAULT_COOLING_FACTOR_INCREMENTAL/2:this.coolingFactor=l.DEFAULT_COOLING_FACTOR_INCREMENTAL}else this.isTreeGrowing=!1,this.isGrowthFinished=!0;this.growTreeIterations++}if(this.isGrowthFinished){if(this.isConverged())return!0;this.afterGrowthIterations%10==0&&(this.graphManager.updateBounds(),this.updateGrid()),c.PURE_INCREMENTAL?this.coolingFactor=l.DEFAULT_COOLING_FACTOR_INCREMENTAL/2*((100-this.afterGrowthIterations)/100):this.coolingFactor=l.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var n=!this.isTreeGrowing&&!this.isGrowthFinished,r=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(n,r),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},x.prototype.getPositionsData=function(){for(var t=this.graphManager.getAllNodes(),e={},n=0;n0&&this.updateDisplacements(),e=0;e0&&(r.fixedNodeWeight=o)}if(this.constraints.relativePlacementConstraint){var a=new Map,s=new Map;if(this.dummyToNodeForVerticalAlignment=new Map,this.dummyToNodeForHorizontalAlignment=new Map,this.fixedNodesOnHorizontal=new Set,this.fixedNodesOnVertical=new Set,this.fixedNodeSet.forEach((function(e){t.fixedNodesOnHorizontal.add(e),t.fixedNodesOnVertical.add(e)})),this.constraints.alignmentConstraint){if(this.constraints.alignmentConstraint.vertical){var u=this.constraints.alignmentConstraint.vertical;for(n=0;n=2*t.length/3;r--)e=Math.floor(Math.random()*(r+1)),n=t[r],t[r]=t[e],t[e]=n;return t},this.nodesInRelativeHorizontal=[],this.nodesInRelativeVertical=[],this.nodeToRelativeConstraintMapHorizontal=new Map,this.nodeToRelativeConstraintMapVertical=new Map,this.nodeToTempPositionMapHorizontal=new Map,this.nodeToTempPositionMapVertical=new Map,this.constraints.relativePlacementConstraint.forEach((function(e){if(e.left){var n=a.has(e.left)?a.get(e.left):e.left,r=a.has(e.right)?a.get(e.right):e.right;t.nodesInRelativeHorizontal.includes(n)||(t.nodesInRelativeHorizontal.push(n),t.nodeToRelativeConstraintMapHorizontal.set(n,[]),t.dummyToNodeForVerticalAlignment.has(n)?t.nodeToTempPositionMapHorizontal.set(n,t.idToNodeMap.get(t.dummyToNodeForVerticalAlignment.get(n)[0]).getCenterX()):t.nodeToTempPositionMapHorizontal.set(n,t.idToNodeMap.get(n).getCenterX())),t.nodesInRelativeHorizontal.includes(r)||(t.nodesInRelativeHorizontal.push(r),t.nodeToRelativeConstraintMapHorizontal.set(r,[]),t.dummyToNodeForVerticalAlignment.has(r)?t.nodeToTempPositionMapHorizontal.set(r,t.idToNodeMap.get(t.dummyToNodeForVerticalAlignment.get(r)[0]).getCenterX()):t.nodeToTempPositionMapHorizontal.set(r,t.idToNodeMap.get(r).getCenterX())),t.nodeToRelativeConstraintMapHorizontal.get(n).push({right:r,gap:e.gap}),t.nodeToRelativeConstraintMapHorizontal.get(r).push({left:n,gap:e.gap})}else{var i=s.has(e.top)?s.get(e.top):e.top,o=s.has(e.bottom)?s.get(e.bottom):e.bottom;t.nodesInRelativeVertical.includes(i)||(t.nodesInRelativeVertical.push(i),t.nodeToRelativeConstraintMapVertical.set(i,[]),t.dummyToNodeForHorizontalAlignment.has(i)?t.nodeToTempPositionMapVertical.set(i,t.idToNodeMap.get(t.dummyToNodeForHorizontalAlignment.get(i)[0]).getCenterY()):t.nodeToTempPositionMapVertical.set(i,t.idToNodeMap.get(i).getCenterY())),t.nodesInRelativeVertical.includes(o)||(t.nodesInRelativeVertical.push(o),t.nodeToRelativeConstraintMapVertical.set(o,[]),t.dummyToNodeForHorizontalAlignment.has(o)?t.nodeToTempPositionMapVertical.set(o,t.idToNodeMap.get(t.dummyToNodeForHorizontalAlignment.get(o)[0]).getCenterY()):t.nodeToTempPositionMapVertical.set(o,t.idToNodeMap.get(o).getCenterY())),t.nodeToRelativeConstraintMapVertical.get(i).push({bottom:o,gap:e.gap}),t.nodeToRelativeConstraintMapVertical.get(o).push({top:i,gap:e.gap})}}));else{var h=new Map,f=new Map;this.constraints.relativePlacementConstraint.forEach((function(t){if(t.left){var e=a.has(t.left)?a.get(t.left):t.left,n=a.has(t.right)?a.get(t.right):t.right;h.has(e)?h.get(e).push(n):h.set(e,[n]),h.has(n)?h.get(n).push(e):h.set(n,[e])}else{var r=s.has(t.top)?s.get(t.top):t.top,i=s.has(t.bottom)?s.get(t.bottom):t.bottom;f.has(r)?f.get(r).push(i):f.set(r,[i]),f.has(i)?f.get(i).push(r):f.set(i,[r])}}));var d=function(t,e){var n=[],r=[],i=new w,o=new Set,a=0;return t.forEach((function(s,c){if(!o.has(c)){n[a]=[],r[a]=!1;var u=c;for(i.push(u),o.add(u),n[a].push(u);0!=i.length;)u=i.shift(),e.has(u)&&(r[a]=!0),t.get(u).forEach((function(t){o.has(t)||(i.push(t),o.add(t),n[a].push(t))}));a++}})),{components:n,isFixed:r}},p=d(h,t.fixedNodesOnHorizontal);this.componentsOnHorizontal=p.components,this.fixedComponentsOnHorizontal=p.isFixed;var g=d(f,t.fixedNodesOnVertical);this.componentsOnVertical=g.components,this.fixedComponentsOnVertical=g.isFixed}}},x.prototype.updateDisplacements=function(){var t=this;if(this.constraints.fixedNodeConstraint&&this.constraints.fixedNodeConstraint.forEach((function(e){var n=t.idToNodeMap.get(e.nodeId);n.displacementX=0,n.displacementY=0})),this.constraints.alignmentConstraint){if(this.constraints.alignmentConstraint.vertical)for(var e=this.constraints.alignmentConstraint.vertical,n=0;n1)for(s=0;sr&&(r=Math.floor(a.y)),o=Math.floor(a.x+c.DEFAULT_COMPONENT_SEPERATION)}this.transform(new d(h.WORLD_CENTER_X-a.x/2,h.WORLD_CENTER_Y-a.y/2))},x.radialLayout=function(t,e,n){var r=Math.max(this.maxDiagonalInTree(t),c.DEFAULT_RADIAL_SEPARATION);x.branchRadialLayout(e,null,0,359,0,r);var i=y.calculateBounds(t),o=new m;o.setDeviceOrgX(i.getMinX()),o.setDeviceOrgY(i.getMinY()),o.setWorldOrgX(n.x),o.setWorldOrgY(n.y);for(var a=0;a1;){var v=g[0];g.splice(0,1);var y=l.indexOf(v);y>=0&&l.splice(y,1),p--,h--}f=null!=e?(l.indexOf(g[0])+1)%p:0;for(var m=Math.abs(r-n)/h,w=f;d!=h;w=++w%p){var _=l[w].getOtherEnd(t);if(_!=e){var E=(n+d*m)%360,k=(E+m)%360;x.branchRadialLayout(_,t,E,k,i+o,o),d++}}},x.maxDiagonalInTree=function(t){for(var e=v.MIN_VALUE,n=0;ne&&(e=r)}return e},x.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},x.prototype.groupZeroDegreeMembers=function(){var t=this,e={};this.memberGroups={},this.idToDummyNode={};for(var n=[],r=this.graphManager.getAllNodes(),i=0;i1){var r="DummyCompound_"+n;t.memberGroups[r]=e[n];var i=e[n][0].getParent(),o=new a(t.graphManager);o.id=r,o.paddingLeft=i.paddingLeft||0,o.paddingRight=i.paddingRight||0,o.paddingBottom=i.paddingBottom||0,o.paddingTop=i.paddingTop||0,t.idToDummyNode[r]=o;var s=t.getGraphManager().add(t.newGraph(),o),c=i.getChild();c.add(o);for(var u=0;ui?(r.rect.x-=(r.labelWidth-i)/2,r.setWidth(r.labelWidth),r.labelMarginLeft=(r.labelWidth-i)/2):"right"==r.labelPosHorizontal&&r.setWidth(i+r.labelWidth)),r.labelHeight&&("top"==r.labelPosVertical?(r.rect.y-=r.labelHeight,r.setHeight(o+r.labelHeight),r.labelMarginTop=r.labelHeight):"center"==r.labelPosVertical&&r.labelHeight>o?(r.rect.y-=(r.labelHeight-o)/2,r.setHeight(r.labelHeight),r.labelMarginTop=(r.labelHeight-o)/2):"bottom"==r.labelPosVertical&&r.setHeight(o+r.labelHeight))}}))},x.prototype.repopulateCompounds=function(){for(var t=this.compoundOrder.length-1;t>=0;t--){var e=this.compoundOrder[t],n=e.id,r=e.paddingLeft,i=e.paddingTop,o=e.labelMarginLeft,a=e.labelMarginTop;this.adjustLocations(this.tiledMemberPack[n],e.rect.x,e.rect.y,r,i,o,a)}},x.prototype.repopulateZeroDegreeMembers=function(){var t=this,e=this.tiledZeroDegreePack;Object.keys(e).forEach((function(n){var r=t.idToDummyNode[n],i=r.paddingLeft,o=r.paddingTop,a=r.labelMarginLeft,s=r.labelMarginTop;t.adjustLocations(e[n],r.rect.x,r.rect.y,i,o,a,s)}))},x.prototype.getToBeTiled=function(t){var e=t.id;if(null!=this.toBeTiled[e])return this.toBeTiled[e];var n=t.getChild();if(null==n)return this.toBeTiled[e]=!1,!1;for(var r=n.getNodes(),i=0;i0)return this.toBeTiled[e]=!1,!1;if(null!=o.getChild()){if(!this.getToBeTiled(o))return this.toBeTiled[e]=!1,!1}else this.toBeTiled[o.id]=!1}return this.toBeTiled[e]=!0,!0},x.prototype.getNodeDegree=function(t){t.id;for(var e=t.getEdges(),n=0,r=0;rl&&(l=f.rect.height)}n+=l+t.verticalPadding}},x.prototype.tileCompoundMembers=function(t,e){var n=this;this.tiledMemberPack=[],Object.keys(t).forEach((function(r){var i=e[r];if(n.tiledMemberPack[r]=n.tileNodes(t[r],i.paddingLeft+i.paddingRight),i.rect.width=n.tiledMemberPack[r].width,i.rect.height=n.tiledMemberPack[r].height,i.setCenter(n.tiledMemberPack[r].centerX,n.tiledMemberPack[r].centerY),i.labelMarginLeft=0,i.labelMarginTop=0,c.NODE_DIMENSIONS_INCLUDE_LABELS){var o=i.rect.width,a=i.rect.height;i.labelWidth&&("left"==i.labelPosHorizontal?(i.rect.x-=i.labelWidth,i.setWidth(o+i.labelWidth),i.labelMarginLeft=i.labelWidth):"center"==i.labelPosHorizontal&&i.labelWidth>o?(i.rect.x-=(i.labelWidth-o)/2,i.setWidth(i.labelWidth),i.labelMarginLeft=(i.labelWidth-o)/2):"right"==i.labelPosHorizontal&&i.setWidth(o+i.labelWidth)),i.labelHeight&&("top"==i.labelPosVertical?(i.rect.y-=i.labelHeight,i.setHeight(a+i.labelHeight),i.labelMarginTop=i.labelHeight):"center"==i.labelPosVertical&&i.labelHeight>a?(i.rect.y-=(i.labelHeight-a)/2,i.setHeight(i.labelHeight),i.labelMarginTop=(i.labelHeight-a)/2):"bottom"==i.labelPosVertical&&i.setHeight(a+i.labelHeight))}}))},x.prototype.tileNodes=function(t,e){var n=this.tileNodesByFavoringDim(t,e,!0),r=this.tileNodesByFavoringDim(t,e,!1),i=this.getOrgRatio(n);return this.getOrgRatio(r)s&&(s=t.getWidth())}));var u,l=o/i,h=a/i,f=Math.pow(n-r,2)+4*(l+r)*(h+n)*i,d=(r-n+Math.sqrt(f))/(2*(l+r));e?(u=Math.ceil(d))==d&&u++:u=Math.floor(d);var p=u*(l+r)-r;return s>p&&(p=s),p+2*r},x.prototype.tileNodesByFavoringDim=function(t,e,n){var r=c.TILING_PADDING_VERTICAL,i=c.TILING_PADDING_HORIZONTAL,o=c.TILING_COMPARE_BY,a={rows:[],rowWidth:[],rowHeight:[],width:0,height:e,verticalPadding:r,horizontalPadding:i,centerX:0,centerY:0};o&&(a.idealRowWidth=this.calcIdealRowWidth(t,n));var s=function(t){return t.rect.width*t.rect.height},u=function(t,e){return s(e)-s(t)};t.sort((function(t,e){var n=u;return a.idealRowWidth?(n=o)(t.id,e.id):n(t,e)}));for(var l=0,h=0,f=0;f0&&(o+=t.horizontalPadding),t.rowWidth[n]=o,t.width0&&(a+=t.verticalPadding);var s=0;a>t.rowHeight[n]&&(s=t.rowHeight[n],t.rowHeight[n]=a,s=t.rowHeight[n]-s),t.height+=s,t.rows[n].push(e)},x.prototype.getShortestRowIndex=function(t){for(var e=-1,n=Number.MAX_VALUE,r=0;rn&&(e=r,n=t.rowWidth[r]);return e},x.prototype.canAddHorizontal=function(t,e,n){if(t.idealRowWidth){var r=t.rows.length-1;return t.rowWidth[r]+e+t.horizontalPadding<=t.idealRowWidth}var i=this.getShortestRowIndex(t);if(i<0)return!0;var o=t.rowWidth[i];if(o+t.horizontalPadding+e<=t.width)return!0;var a,s,c=0;return t.rowHeight[i]0&&(c=n+t.verticalPadding-t.rowHeight[i]),a=t.width-o>=e+t.horizontalPadding?(t.height+c)/(o+e+t.horizontalPadding):(t.height+c)/t.width,c=n+t.verticalPadding,(s=t.widtho&&e!=n){r.splice(-1,1),t.rows[n].push(i),t.rowWidth[e]=t.rowWidth[e]-o,t.rowWidth[n]=t.rowWidth[n]+o,t.width=t.rowWidth[instance.getLongestRowIndex(t)];for(var a=Number.MIN_VALUE,s=0;sa&&(a=r[s].height);e>0&&(a+=t.verticalPadding);var c=t.rowHeight[e]+t.rowHeight[n];t.rowHeight[e]=a,t.rowHeight[n]0)for(var h=i;h<=o;h++)u[0]+=this.grid[h][a-1].length+this.grid[h][a].length-1;if(o0)for(h=a;h<=s;h++)u[3]+=this.grid[i-1][h].length+this.grid[i][h].length-1;for(var f,d,p=v.MAX_VALUE,g=0;g{var r=n(551).FDLayoutNode,i=n(551).IMath;function o(t,e,n,i){r.call(this,t,e,n,i)}for(var a in o.prototype=Object.create(r.prototype),r)o[a]=r[a];o.prototype.calculateDisplacement=function(){var t=this.graphManager.getLayout();null!=this.getChild()&&this.fixedNodeWeight?(this.displacementX+=t.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.fixedNodeWeight,this.displacementY+=t.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.fixedNodeWeight):(this.displacementX+=t.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.noOfChildren,this.displacementY+=t.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.noOfChildren),Math.abs(this.displacementX)>t.coolingFactor*t.maxNodeDisplacement&&(this.displacementX=t.coolingFactor*t.maxNodeDisplacement*i.sign(this.displacementX)),Math.abs(this.displacementY)>t.coolingFactor*t.maxNodeDisplacement&&(this.displacementY=t.coolingFactor*t.maxNodeDisplacement*i.sign(this.displacementY)),this.child&&this.child.getNodes().length>0&&this.propogateDisplacementToChildren(this.displacementX,this.displacementY)},o.prototype.propogateDisplacementToChildren=function(t,e){for(var n,r=this.getChild().getNodes(),i=0;i{function r(t){if(Array.isArray(t)){for(var e=0,n=Array(t.length);e0){var o=0;r.forEach((function(t){"horizontal"==e?(h.set(t,c.has(t)?u[c.get(t)]:i.get(t)),o+=h.get(t)):(h.set(t,c.has(t)?l[c.get(t)]:i.get(t)),o+=h.get(t))})),o/=r.length,t.forEach((function(t){n.has(t)||h.set(t,o)}))}else{var a=0;t.forEach((function(t){a+="horizontal"==e?c.has(t)?u[c.get(t)]:i.get(t):c.has(t)?l[c.get(t)]:i.get(t)})),a/=t.length,t.forEach((function(t){h.set(t,a)}))}}));for(var p=function(){var r=d.shift();t.get(r).forEach((function(t){if(h.get(t.id)a&&(a=b),ms&&(s=m)}}catch(t){d=!0,p=t}finally{try{!f&&v.return&&v.return()}finally{if(d)throw p}}var w=(r+a)/2-(o+s)/2,x=!0,_=!1,E=void 0;try{for(var k,T=t[Symbol.iterator]();!(x=(k=T.next()).done);x=!0){var C=k.value;h.set(C,h.get(C)+w)}}catch(t){_=!0,E=t}finally{try{!x&&T.return&&T.return()}finally{if(_)throw E}}}))}return h},b=function(t){var e=0,n=0,r=0,i=0;if(t.forEach((function(t){t.left?u[c.get(t.left)]-u[c.get(t.right)]>=0?e++:n++:l[c.get(t.top)]-l[c.get(t.bottom)]>=0?r++:i++})),e>n&&r>i)for(var o=0;on)for(var a=0;ai)for(var s=0;s1)e.fixedNodeConstraint.forEach((function(t,e){x[e]=[t.position.x,t.position.y],_[e]=[u[c.get(t.nodeId)],l[c.get(t.nodeId)]]})),E=!0;else if(e.alignmentConstraint)!function(){var t=0;if(e.alignmentConstraint.vertical){for(var n=e.alignmentConstraint.vertical,i=function(e){var i=new Set;n[e].forEach((function(t){i.add(t)}));var o,a=new Set([].concat(r(i)).filter((function(t){return T.has(t)})));o=a.size>0?u[c.get(a.values().next().value)]:g(i).x,n[e].forEach((function(e){x[t]=[o,l[c.get(e)]],_[t]=[u[c.get(e)],l[c.get(e)]],t++}))},o=0;o0?u[c.get(o.values().next().value)]:g(n).y,a[e].forEach((function(e){x[t]=[u[c.get(e)],i],_[t]=[u[c.get(e)],l[c.get(e)]],t++}))},h=0;hS&&(S=A[L].length,O=L);if(S0){var X={x:0,y:0};e.fixedNodeConstraint.forEach((function(t,e){var n,r,i=(r={x:u[c.get(t.nodeId)],y:l[c.get(t.nodeId)]},{x:(n=t.position).x-r.x,y:n.y-r.y});X.x+=i.x,X.y+=i.y})),X.x/=e.fixedNodeConstraint.length,X.y/=e.fixedNodeConstraint.length,u.forEach((function(t,e){u[e]+=X.x})),l.forEach((function(t,e){l[e]+=X.y})),e.fixedNodeConstraint.forEach((function(t){u[c.get(t.nodeId)]=t.position.x,l[c.get(t.nodeId)]=t.position.y}))}if(e.alignmentConstraint){if(e.alignmentConstraint.vertical)for(var W=e.alignmentConstraint.vertical,$=function(t){var e=new Set;W[t].forEach((function(t){e.add(t)}));var n,i=new Set([].concat(r(e)).filter((function(t){return T.has(t)})));n=i.size>0?u[c.get(i.values().next().value)]:g(e).x,e.forEach((function(t){T.has(t)||(u[c.get(t)]=n)}))},Z=0;Z0?l[c.get(i.values().next().value)]:g(e).y,e.forEach((function(t){T.has(t)||(l[c.get(t)]=n)}))},J=0;J{e.exports=t}},n={},r=function t(r){var i=n[r];if(void 0!==i)return i.exports;var o=n[r]={exports:{}};return e[r](o,o.exports,t),o.exports}(45);return r})()},t.exports=r(n(3035))},3035:function(t){var e;e=function(){return function(t){var e={};function n(r){if(e[r])return e[r].exports;var i=e[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=t,n.c=e,n.i=function(t){return t},n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:r})},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=28)}([function(t,e,n){"use strict";function r(){}r.QUALITY=1,r.DEFAULT_CREATE_BENDS_AS_NEEDED=!1,r.DEFAULT_INCREMENTAL=!1,r.DEFAULT_ANIMATION_ON_LAYOUT=!0,r.DEFAULT_ANIMATION_DURING_LAYOUT=!1,r.DEFAULT_ANIMATION_PERIOD=50,r.DEFAULT_UNIFORM_LEAF_NODE_SIZES=!1,r.DEFAULT_GRAPH_MARGIN=15,r.NODE_DIMENSIONS_INCLUDE_LABELS=!1,r.SIMPLE_NODE_SIZE=40,r.SIMPLE_NODE_HALF_SIZE=r.SIMPLE_NODE_SIZE/2,r.EMPTY_COMPOUND_NODE_SIZE=40,r.MIN_EDGE_LENGTH=1,r.WORLD_BOUNDARY=1e6,r.INITIAL_WORLD_BOUNDARY=r.WORLD_BOUNDARY/1e3,r.WORLD_CENTER_X=1200,r.WORLD_CENTER_Y=900,t.exports=r},function(t,e,n){"use strict";var r=n(2),i=n(8),o=n(9);function a(t,e,n){r.call(this,n),this.isOverlapingSourceAndTarget=!1,this.vGraphObject=n,this.bendpoints=[],this.source=t,this.target=e}for(var s in a.prototype=Object.create(r.prototype),r)a[s]=r[s];a.prototype.getSource=function(){return this.source},a.prototype.getTarget=function(){return this.target},a.prototype.isInterGraph=function(){return this.isInterGraph},a.prototype.getLength=function(){return this.length},a.prototype.isOverlapingSourceAndTarget=function(){return this.isOverlapingSourceAndTarget},a.prototype.getBendpoints=function(){return this.bendpoints},a.prototype.getLca=function(){return this.lca},a.prototype.getSourceInLca=function(){return this.sourceInLca},a.prototype.getTargetInLca=function(){return this.targetInLca},a.prototype.getOtherEnd=function(t){if(this.source===t)return this.target;if(this.target===t)return this.source;throw"Node is not incident with this edge"},a.prototype.getOtherEndInGraph=function(t,e){for(var n=this.getOtherEnd(t),r=e.getGraphManager().getRoot();;){if(n.getOwner()==e)return n;if(n.getOwner()==r)break;n=n.getOwner().getParent()}return null},a.prototype.updateLength=function(){var t=new Array(4);this.isOverlapingSourceAndTarget=i.getIntersection(this.target.getRect(),this.source.getRect(),t),this.isOverlapingSourceAndTarget||(this.lengthX=t[0]-t[2],this.lengthY=t[1]-t[3],Math.abs(this.lengthX)<1&&(this.lengthX=o.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=o.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY))},a.prototype.updateLengthSimple=function(){this.lengthX=this.target.getCenterX()-this.source.getCenterX(),this.lengthY=this.target.getCenterY()-this.source.getCenterY(),Math.abs(this.lengthX)<1&&(this.lengthX=o.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=o.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY)},t.exports=a},function(t,e,n){"use strict";t.exports=function(t){this.vGraphObject=t}},function(t,e,n){"use strict";var r=n(2),i=n(10),o=n(13),a=n(0),s=n(16),c=n(5);function u(t,e,n,a){null==n&&null==a&&(a=e),r.call(this,a),null!=t.graphManager&&(t=t.graphManager),this.estimatedSize=i.MIN_VALUE,this.inclusionTreeDepth=i.MAX_VALUE,this.vGraphObject=a,this.edges=[],this.graphManager=t,this.rect=null!=n&&null!=e?new o(e.x,e.y,n.width,n.height):new o}for(var l in u.prototype=Object.create(r.prototype),r)u[l]=r[l];u.prototype.getEdges=function(){return this.edges},u.prototype.getChild=function(){return this.child},u.prototype.getOwner=function(){return this.owner},u.prototype.getWidth=function(){return this.rect.width},u.prototype.setWidth=function(t){this.rect.width=t},u.prototype.getHeight=function(){return this.rect.height},u.prototype.setHeight=function(t){this.rect.height=t},u.prototype.getCenterX=function(){return this.rect.x+this.rect.width/2},u.prototype.getCenterY=function(){return this.rect.y+this.rect.height/2},u.prototype.getCenter=function(){return new c(this.rect.x+this.rect.width/2,this.rect.y+this.rect.height/2)},u.prototype.getLocation=function(){return new c(this.rect.x,this.rect.y)},u.prototype.getRect=function(){return this.rect},u.prototype.getDiagonal=function(){return Math.sqrt(this.rect.width*this.rect.width+this.rect.height*this.rect.height)},u.prototype.getHalfTheDiagonal=function(){return Math.sqrt(this.rect.height*this.rect.height+this.rect.width*this.rect.width)/2},u.prototype.setRect=function(t,e){this.rect.x=t.x,this.rect.y=t.y,this.rect.width=e.width,this.rect.height=e.height},u.prototype.setCenter=function(t,e){this.rect.x=t-this.rect.width/2,this.rect.y=e-this.rect.height/2},u.prototype.setLocation=function(t,e){this.rect.x=t,this.rect.y=e},u.prototype.moveBy=function(t,e){this.rect.x+=t,this.rect.y+=e},u.prototype.getEdgeListToNode=function(t){var e=[],n=this;return n.edges.forEach((function(r){if(r.target==t){if(r.source!=n)throw"Incorrect edge source!";e.push(r)}})),e},u.prototype.getEdgesBetween=function(t){var e=[],n=this;return n.edges.forEach((function(r){if(r.source!=n&&r.target!=n)throw"Incorrect edge source and/or target";r.target!=t&&r.source!=t||e.push(r)})),e},u.prototype.getNeighborsList=function(){var t=new Set,e=this;return e.edges.forEach((function(n){if(n.source==e)t.add(n.target);else{if(n.target!=e)throw"Incorrect incidency!";t.add(n.source)}})),t},u.prototype.withChildren=function(){var t=new Set;if(t.add(this),null!=this.child)for(var e=this.child.getNodes(),n=0;ne?(this.rect.x-=(this.labelWidth-e)/2,this.setWidth(this.labelWidth)):"right"==this.labelPosHorizontal&&this.setWidth(e+this.labelWidth)),this.labelHeight&&("top"==this.labelPosVertical?(this.rect.y-=this.labelHeight,this.setHeight(n+this.labelHeight)):"center"==this.labelPosVertical&&this.labelHeight>n?(this.rect.y-=(this.labelHeight-n)/2,this.setHeight(this.labelHeight)):"bottom"==this.labelPosVertical&&this.setHeight(n+this.labelHeight))}}},u.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==i.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},u.prototype.transform=function(t){var e=this.rect.x;e>a.WORLD_BOUNDARY?e=a.WORLD_BOUNDARY:e<-a.WORLD_BOUNDARY&&(e=-a.WORLD_BOUNDARY);var n=this.rect.y;n>a.WORLD_BOUNDARY?n=a.WORLD_BOUNDARY:n<-a.WORLD_BOUNDARY&&(n=-a.WORLD_BOUNDARY);var r=new c(e,n),i=t.inverseTransformPoint(r);this.setLocation(i.x,i.y)},u.prototype.getLeft=function(){return this.rect.x},u.prototype.getRight=function(){return this.rect.x+this.rect.width},u.prototype.getTop=function(){return this.rect.y},u.prototype.getBottom=function(){return this.rect.y+this.rect.height},u.prototype.getParent=function(){return null==this.owner?null:this.owner.getParent()},t.exports=u},function(t,e,n){"use strict";var r=n(0);function i(){}for(var o in r)i[o]=r[o];i.MAX_ITERATIONS=2500,i.DEFAULT_EDGE_LENGTH=50,i.DEFAULT_SPRING_STRENGTH=.45,i.DEFAULT_REPULSION_STRENGTH=4500,i.DEFAULT_GRAVITY_STRENGTH=.4,i.DEFAULT_COMPOUND_GRAVITY_STRENGTH=1,i.DEFAULT_GRAVITY_RANGE_FACTOR=3.8,i.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=1.5,i.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION=!0,i.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION=!0,i.DEFAULT_COOLING_FACTOR_INCREMENTAL=.3,i.COOLING_ADAPTATION_FACTOR=.33,i.ADAPTATION_LOWER_NODE_LIMIT=1e3,i.ADAPTATION_UPPER_NODE_LIMIT=5e3,i.MAX_NODE_DISPLACEMENT_INCREMENTAL=100,i.MAX_NODE_DISPLACEMENT=3*i.MAX_NODE_DISPLACEMENT_INCREMENTAL,i.MIN_REPULSION_DIST=i.DEFAULT_EDGE_LENGTH/10,i.CONVERGENCE_CHECK_PERIOD=100,i.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=.1,i.MIN_EDGE_LENGTH=1,i.GRID_CALCULATION_CHECK_PERIOD=10,t.exports=i},function(t,e,n){"use strict";function r(t,e){null==t&&null==e?(this.x=0,this.y=0):(this.x=t,this.y=e)}r.prototype.getX=function(){return this.x},r.prototype.getY=function(){return this.y},r.prototype.setX=function(t){this.x=t},r.prototype.setY=function(t){this.y=t},r.prototype.getDifference=function(t){return new DimensionD(this.x-t.x,this.y-t.y)},r.prototype.getCopy=function(){return new r(this.x,this.y)},r.prototype.translate=function(t){return this.x+=t.width,this.y+=t.height,this},t.exports=r},function(t,e,n){"use strict";var r=n(2),i=n(10),o=n(0),a=n(7),s=n(3),c=n(1),u=n(13),l=n(12),h=n(11);function f(t,e,n){r.call(this,n),this.estimatedSize=i.MIN_VALUE,this.margin=o.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=t,null!=e&&e instanceof a?this.graphManager=e:null!=e&&e instanceof Layout&&(this.graphManager=e.graphManager)}for(var d in f.prototype=Object.create(r.prototype),r)f[d]=r[d];f.prototype.getNodes=function(){return this.nodes},f.prototype.getEdges=function(){return this.edges},f.prototype.getGraphManager=function(){return this.graphManager},f.prototype.getParent=function(){return this.parent},f.prototype.getLeft=function(){return this.left},f.prototype.getRight=function(){return this.right},f.prototype.getTop=function(){return this.top},f.prototype.getBottom=function(){return this.bottom},f.prototype.isConnected=function(){return this.isConnected},f.prototype.add=function(t,e,n){if(null==e&&null==n){var r=t;if(null==this.graphManager)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(r)>-1)throw"Node already in graph!";return r.owner=this,this.getNodes().push(r),r}var i=t;if(!(this.getNodes().indexOf(e)>-1&&this.getNodes().indexOf(n)>-1))throw"Source or target not in graph!";if(e.owner!=n.owner||e.owner!=this)throw"Both owners must be this graph!";return e.owner!=n.owner?null:(i.source=e,i.target=n,i.isInterGraph=!1,this.getEdges().push(i),e.edges.push(i),n!=e&&n.edges.push(i),i)},f.prototype.remove=function(t){var e=t;if(t instanceof s){if(null==e)throw"Node is null!";if(null==e.owner||e.owner!=this)throw"Owner graph is invalid!";if(null==this.graphManager)throw"Owner graph manager is invalid!";for(var n=e.edges.slice(),r=n.length,i=0;i-1&&l>-1))throw"Source and/or target doesn't know this edge!";if(o.source.edges.splice(u,1),o.target!=o.source&&o.target.edges.splice(l,1),-1==(a=o.source.owner.getEdges().indexOf(o)))throw"Not in owner's edge list!";o.source.owner.getEdges().splice(a,1)}},f.prototype.updateLeftTop=function(){for(var t,e,n,r=i.MAX_VALUE,o=i.MAX_VALUE,a=this.getNodes(),s=a.length,c=0;c(t=u.getTop())&&(r=t),o>(e=u.getLeft())&&(o=e)}return r==i.MAX_VALUE?null:(n=null!=a[0].getParent().paddingLeft?a[0].getParent().paddingLeft:this.margin,this.left=o-n,this.top=r-n,new l(this.left,this.top))},f.prototype.updateBounds=function(t){for(var e,n,r,o,a,s=i.MAX_VALUE,c=-i.MAX_VALUE,l=i.MAX_VALUE,h=-i.MAX_VALUE,f=this.nodes,d=f.length,p=0;p(e=g.getLeft())&&(s=e),c<(n=g.getRight())&&(c=n),l>(r=g.getTop())&&(l=r),h<(o=g.getBottom())&&(h=o)}var v=new u(s,l,c-s,h-l);s==i.MAX_VALUE&&(this.left=this.parent.getLeft(),this.right=this.parent.getRight(),this.top=this.parent.getTop(),this.bottom=this.parent.getBottom()),a=null!=f[0].getParent().paddingLeft?f[0].getParent().paddingLeft:this.margin,this.left=v.x-a,this.right=v.x+v.width+a,this.top=v.y-a,this.bottom=v.y+v.height+a},f.calculateBounds=function(t){for(var e,n,r,o,a=i.MAX_VALUE,s=-i.MAX_VALUE,c=i.MAX_VALUE,l=-i.MAX_VALUE,h=t.length,f=0;f(e=d.getLeft())&&(a=e),s<(n=d.getRight())&&(s=n),c>(r=d.getTop())&&(c=r),l<(o=d.getBottom())&&(l=o)}return new u(a,c,s-a,l-c)},f.prototype.getInclusionTreeDepth=function(){return this==this.graphManager.getRoot()?1:this.parent.getInclusionTreeDepth()},f.prototype.getEstimatedSize=function(){if(this.estimatedSize==i.MIN_VALUE)throw"assert failed";return this.estimatedSize},f.prototype.calcEstimatedSize=function(){for(var t=0,e=this.nodes,n=e.length,r=0;r=this.nodes.length){var c=0;i.forEach((function(e){e.owner==t&&c++})),c==this.nodes.length&&(this.isConnected=!0)}}else this.isConnected=!0},t.exports=f},function(t,e,n){"use strict";var r,i=n(1);function o(t){r=n(6),this.layout=t,this.graphs=[],this.edges=[]}o.prototype.addRoot=function(){var t=this.layout.newGraph(),e=this.layout.newNode(null),n=this.add(t,e);return this.setRootGraph(n),this.rootGraph},o.prototype.add=function(t,e,n,r,i){if(null==n&&null==r&&null==i){if(null==t)throw"Graph is null!";if(null==e)throw"Parent node is null!";if(this.graphs.indexOf(t)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(t),null!=t.parent)throw"Already has a parent!";if(null!=e.child)throw"Already has a child!";return t.parent=e,e.child=t,t}i=n,n=t;var o=(r=e).getOwner(),a=i.getOwner();if(null==o||o.getGraphManager()!=this)throw"Source not in this graph mgr!";if(null==a||a.getGraphManager()!=this)throw"Target not in this graph mgr!";if(o==a)return n.isInterGraph=!1,o.add(n,r,i);if(n.isInterGraph=!0,n.source=r,n.target=i,this.edges.indexOf(n)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(n),null==n.source||null==n.target)throw"Edge source and/or target is null!";if(-1!=n.source.edges.indexOf(n)||-1!=n.target.edges.indexOf(n))throw"Edge already in source and/or target incidency list!";return n.source.edges.push(n),n.target.edges.push(n),n},o.prototype.remove=function(t){if(t instanceof r){var e=t;if(e.getGraphManager()!=this)throw"Graph not in this graph mgr";if(e!=this.rootGraph&&(null==e.parent||e.parent.graphManager!=this))throw"Invalid parent node!";for(var n,o=[],a=(o=o.concat(e.getEdges())).length,s=0;s=e.getRight()?n[0]+=Math.min(e.getX()-t.getX(),t.getRight()-e.getRight()):e.getX()<=t.getX()&&e.getRight()>=t.getRight()&&(n[0]+=Math.min(t.getX()-e.getX(),e.getRight()-t.getRight())),t.getY()<=e.getY()&&t.getBottom()>=e.getBottom()?n[1]+=Math.min(e.getY()-t.getY(),t.getBottom()-e.getBottom()):e.getY()<=t.getY()&&e.getBottom()>=t.getBottom()&&(n[1]+=Math.min(t.getY()-e.getY(),e.getBottom()-t.getBottom()));var o=Math.abs((e.getCenterY()-t.getCenterY())/(e.getCenterX()-t.getCenterX()));e.getCenterY()===t.getCenterY()&&e.getCenterX()===t.getCenterX()&&(o=1);var a=o*n[0],s=n[1]/o;n[0]a)return n[0]=r,n[1]=c,n[2]=o,n[3]=m,!1;if(io)return n[0]=s,n[1]=i,n[2]=b,n[3]=a,!1;if(ro?(n[0]=l,n[1]=h,E=!0):(n[0]=u,n[1]=c,E=!0):T===N&&(r>o?(n[0]=s,n[1]=c,E=!0):(n[0]=f,n[1]=h,E=!0)),-C===N?o>r?(n[2]=y,n[3]=m,k=!0):(n[2]=b,n[3]=v,k=!0):C===N&&(o>r?(n[2]=g,n[3]=v,k=!0):(n[2]=w,n[3]=m,k=!0)),E&&k)return!1;if(r>o?i>a?(A=this.getCardinalDirection(T,N,4),S=this.getCardinalDirection(C,N,2)):(A=this.getCardinalDirection(-T,N,3),S=this.getCardinalDirection(-C,N,1)):i>a?(A=this.getCardinalDirection(-T,N,1),S=this.getCardinalDirection(-C,N,3)):(A=this.getCardinalDirection(T,N,2),S=this.getCardinalDirection(C,N,4)),!E)switch(A){case 1:L=c,O=r+-p/N,n[0]=O,n[1]=L;break;case 2:O=f,L=i+d*N,n[0]=O,n[1]=L;break;case 3:L=h,O=r+p/N,n[0]=O,n[1]=L;break;case 4:O=l,L=i+-d*N,n[0]=O,n[1]=L}if(!k)switch(S){case 1:M=v,I=o+-_/N,n[2]=I,n[3]=M;break;case 2:I=w,M=a+x*N,n[2]=I,n[3]=M;break;case 3:M=m,I=o+_/N,n[2]=I,n[3]=M;break;case 4:I=y,M=a+-x*N,n[2]=I,n[3]=M}}return!1},i.getCardinalDirection=function(t,e,n){return t>e?n:1+n%4},i.getIntersection=function(t,e,n,i){if(null==i)return this.getIntersection2(t,e,n);var o,a,s,c,u,l,h,f=t.x,d=t.y,p=e.x,g=e.y,v=n.x,b=n.y,y=i.x,m=i.y;return 0==(h=(o=g-d)*(c=v-y)-(a=m-b)*(s=f-p))?null:new r((s*(l=y*b-v*m)-c*(u=p*d-f*g))/h,(a*u-o*l)/h)},i.angleOfVector=function(t,e,n,r){var i=void 0;return t!==n?(i=Math.atan((r-e)/(n-t)),n=0){var l=(-c+Math.sqrt(c*c-4*s*u))/(2*s),h=(-c-Math.sqrt(c*c-4*s*u))/(2*s);return l>=0&&l<=1?[l]:h>=0&&h<=1?[h]:null}return null},i.HALF_PI=.5*Math.PI,i.ONE_AND_HALF_PI=1.5*Math.PI,i.TWO_PI=2*Math.PI,i.THREE_PI=3*Math.PI,t.exports=i},function(t,e,n){"use strict";function r(){}r.sign=function(t){return t>0?1:t<0?-1:0},r.floor=function(t){return t<0?Math.ceil(t):Math.floor(t)},r.ceil=function(t){return t<0?Math.floor(t):Math.ceil(t)},t.exports=r},function(t,e,n){"use strict";function r(){}r.MAX_VALUE=2147483647,r.MIN_VALUE=-2147483648,t.exports=r},function(t,e,n){"use strict";var r=function(){function t(t,e){for(var n=0;n0&&e;){for(s.push(u[0]);s.length>0&&e;){var l=s[0];s.splice(0,1),a.add(l);var h=l.getEdges();for(o=0;o-1&&u.splice(g,1)}a=new Set,c=new Map}else t=[]}return t},f.prototype.createDummyNodesForBendpoints=function(t){for(var e=[],n=t.source,r=this.graphManager.calcLowestCommonAncestor(t.source,t.target),i=0;i0){for(var i=this.edgeToDummyNodes.get(n),o=0;o=0&&e.splice(h,1),l.getNeighborsList().forEach((function(t){if(n.indexOf(t)<0){var e=r.get(t)-1;1==e&&c.push(t),r.set(t,e)}}))}n=n.concat(c),1!=e.length&&2!=e.length||(i=!0,o=e[0])}return o},f.prototype.setGraphManager=function(t){this.graphManager=t},t.exports=f},function(t,e,n){"use strict";function r(){}r.seed=1,r.x=0,r.nextDouble=function(){return r.x=1e4*Math.sin(r.seed++),r.x-Math.floor(r.x)},t.exports=r},function(t,e,n){"use strict";var r=n(5);function i(t,e){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}i.prototype.getWorldOrgX=function(){return this.lworldOrgX},i.prototype.setWorldOrgX=function(t){this.lworldOrgX=t},i.prototype.getWorldOrgY=function(){return this.lworldOrgY},i.prototype.setWorldOrgY=function(t){this.lworldOrgY=t},i.prototype.getWorldExtX=function(){return this.lworldExtX},i.prototype.setWorldExtX=function(t){this.lworldExtX=t},i.prototype.getWorldExtY=function(){return this.lworldExtY},i.prototype.setWorldExtY=function(t){this.lworldExtY=t},i.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},i.prototype.setDeviceOrgX=function(t){this.ldeviceOrgX=t},i.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},i.prototype.setDeviceOrgY=function(t){this.ldeviceOrgY=t},i.prototype.getDeviceExtX=function(){return this.ldeviceExtX},i.prototype.setDeviceExtX=function(t){this.ldeviceExtX=t},i.prototype.getDeviceExtY=function(){return this.ldeviceExtY},i.prototype.setDeviceExtY=function(t){this.ldeviceExtY=t},i.prototype.transformX=function(t){var e=0,n=this.lworldExtX;return 0!=n&&(e=this.ldeviceOrgX+(t-this.lworldOrgX)*this.ldeviceExtX/n),e},i.prototype.transformY=function(t){var e=0,n=this.lworldExtY;return 0!=n&&(e=this.ldeviceOrgY+(t-this.lworldOrgY)*this.ldeviceExtY/n),e},i.prototype.inverseTransformX=function(t){var e=0,n=this.ldeviceExtX;return 0!=n&&(e=this.lworldOrgX+(t-this.ldeviceOrgX)*this.lworldExtX/n),e},i.prototype.inverseTransformY=function(t){var e=0,n=this.ldeviceExtY;return 0!=n&&(e=this.lworldOrgY+(t-this.ldeviceOrgY)*this.lworldExtY/n),e},i.prototype.inverseTransformPoint=function(t){return new r(this.inverseTransformX(t.x),this.inverseTransformY(t.y))},t.exports=i},function(t,e,n){"use strict";var r=n(15),i=n(4),o=n(0),a=n(8),s=n(9);function c(){r.call(this),this.useSmartIdealEdgeLengthCalculation=i.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION,this.gravityConstant=i.DEFAULT_GRAVITY_STRENGTH,this.compoundGravityConstant=i.DEFAULT_COMPOUND_GRAVITY_STRENGTH,this.gravityRangeFactor=i.DEFAULT_GRAVITY_RANGE_FACTOR,this.compoundGravityRangeFactor=i.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR,this.displacementThresholdPerNode=3*i.DEFAULT_EDGE_LENGTH/100,this.coolingFactor=i.DEFAULT_COOLING_FACTOR_INCREMENTAL,this.initialCoolingFactor=i.DEFAULT_COOLING_FACTOR_INCREMENTAL,this.totalDisplacement=0,this.oldTotalDisplacement=0,this.maxIterations=i.MAX_ITERATIONS}for(var u in c.prototype=Object.create(r.prototype),r)c[u]=r[u];c.prototype.initParameters=function(){r.prototype.initParameters.call(this,arguments),this.totalIterations=0,this.notAnimatedIterations=0,this.useFRGridVariant=i.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION,this.grid=[]},c.prototype.calcIdealEdgeLengths=function(){for(var t,e,n,r,a,s,c,u=this.getGraphManager().getAllEdges(),l=0;li.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*i.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(t-i.ADAPTATION_LOWER_NODE_LIMIT)/(i.ADAPTATION_UPPER_NODE_LIMIT-i.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-i.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=i.MAX_NODE_DISPLACEMENT_INCREMENTAL):(t>i.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(i.COOLING_ADAPTATION_FACTOR,1-(t-i.ADAPTATION_LOWER_NODE_LIMIT)/(i.ADAPTATION_UPPER_NODE_LIMIT-i.ADAPTATION_LOWER_NODE_LIMIT)*(1-i.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=i.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(5*this.getAllNodes().length,this.maxIterations),this.displacementThresholdPerNode=3*i.DEFAULT_EDGE_LENGTH/100,this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},c.prototype.calcSpringForces=function(){for(var t,e=this.getAllEdges(),n=0;n0&&void 0!==arguments[0])||arguments[0],s=arguments.length>1&&void 0!==arguments[1]&&arguments[1],c=this.getAllNodes();if(this.useFRGridVariant)for(this.totalIterations%i.GRID_CALCULATION_CHECK_PERIOD==1&&a&&this.updateGrid(),o=new Set,t=0;t(c=e.getEstimatedSize()*this.gravityRangeFactor)||s>c)&&(t.gravitationForceX=-this.gravityConstant*i,t.gravitationForceY=-this.gravityConstant*o):(a>(c=e.getEstimatedSize()*this.compoundGravityRangeFactor)||s>c)&&(t.gravitationForceX=-this.gravityConstant*i*this.compoundGravityConstant,t.gravitationForceY=-this.gravityConstant*o*this.compoundGravityConstant)},c.prototype.isConverged=function(){var t,e=!1;return this.totalIterations>this.maxIterations/3&&(e=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2),t=this.totalDisplacement=s.length||u>=s[0].length))for(var l=0;lt}}]),t}();t.exports=o},function(t,e,n){"use strict";function r(){}r.svd=function(t){this.U=null,this.V=null,this.s=null,this.m=0,this.n=0,this.m=t.length,this.n=t[0].length;var e=Math.min(this.m,this.n);this.s=function(t){for(var e=[];t-- >0;)e.push(0);return e}(Math.min(this.m+1,this.n)),this.U=function t(e){if(0==e.length)return 0;for(var n=[],r=0;r0;)e.push(0);return e}(this.n),a=function(t){for(var e=[];t-- >0;)e.push(0);return e}(this.m),s=Math.min(this.m-1,this.n),c=Math.max(0,Math.min(this.n-2,this.m)),u=0;u=0;S--)if(0!==this.s[S]){for(var O=S+1;O=0;j--){if(function(t,e){return t&&e}(j0;){var q=void 0,X=void 0;for(q=C-2;q>=-1&&-1!==q;q--)if(Math.abs(o[q])<=V+U*(Math.abs(this.s[q])+Math.abs(this.s[q+1]))){o[q]=0;break}if(q===C-2)X=4;else{var W=void 0;for(W=C-1;W>=q&&W!==q;W--){var $=(W!==C?Math.abs(o[W]):0)+(W!==q+1?Math.abs(o[W-1]):0);if(Math.abs(this.s[W])<=V+U*$){this.s[W]=0;break}}W===q?X=3:W===C-1?X=1:(X=2,q=W)}switch(q++,X){case 1:var Z=o[C-2];o[C-2]=0;for(var K=C-2;K>=q;K--){var Q=r.hypot(this.s[K],Z),J=this.s[K]/Q,tt=Z/Q;this.s[K]=Q,K!==q&&(Z=-tt*o[K-1],o[K-1]=J*o[K-1]);for(var et=0;et=this.s[q+1]);){var Ct=this.s[q];if(this.s[q]=this.s[q+1],this.s[q+1]=Ct,qMath.abs(e)?(n=e/t,n=Math.abs(t)*Math.sqrt(1+n*n)):0!=e?(n=t/e,n=Math.abs(e)*Math.sqrt(1+n*n)):n=0,n},t.exports=r},function(t,e,n){"use strict";var r=function(){function t(t,e){for(var n=0;n2&&void 0!==arguments[2]?arguments[2]:1,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:-1,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:-1;!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.sequence1=e,this.sequence2=n,this.match_score=r,this.mismatch_penalty=i,this.gap_penalty=o,this.iMax=e.length+1,this.jMax=n.length+1,this.grid=new Array(this.iMax);for(var a=0;a=0;n--){var r=this.listeners[n];r.event===t&&r.callback===e&&this.listeners.splice(n,1)}},i.emit=function(t,e){for(var n=0;n1?e-1:0),r=1;r=0;m--){var w=a[m].id(),x=a[m].position();e.randomize&&(x={x:Math.round(d.x1+(d.x2-d.x1)*Math.random()),y:Math.round(d.y1+(d.y2-d.y1)*Math.random())}),y.vertices.push({id:w,x:x.x,y:x.y})}for(m=s.length-1;m>=0;m--){var _=s[m].source().id(),E=s[m].target().id();y.edges.push({src:_,tgt:E})}var k=t.thread;function T(t){for(var r=t.vertices,i=[],o=0;o=C||A>=4)&&(S>=s?N=!0:(y={xl:0,xr:n+=n*a,yt:0,yb:r+=r*a},++S,A=0)),C=M,c(),u()}return c(),t})).then((function(n){var r=n.vertices;T(n);var i=n.startTime,o=new Date;console.info("Layout on "+r.length+" nodes took "+(o-i)+" ms"),t.one("layoutstop",e.stop),e.animate||t.trigger("layoutready"),t.trigger("layoutstop"),k.stop()}))}return this},a.prototype.stop=function(){this.thread&&this.thread.stop(),this.trigger("layoutstop")},a.prototype.destroy=function(){this.thread&&this.thread.stop()},t.exports=a},function(t,e,n){"use strict";var r=n(0),i=function(t){t("layout","spread",r)};"undefined"!=typeof cytoscape&&i(cytoscape),t.exports=i},function(t,e){function n(){this.vertices=null,this.edges=null,this.cells=null,this.toRecycle=null,this.beachsectionJunkyard=[],this.circleEventJunkyard=[],this.vertexJunkyard=[],this.edgeJunkyard=[],this.cellJunkyard=[]}n.prototype.reset=function(){if(this.beachline||(this.beachline=new this.RBTree),this.beachline.root)for(var t=this.beachline.getFirst(this.beachline.root);t;)this.beachsectionJunkyard.push(t),t=t.rbNext;this.beachline.root=null,this.circleEvents||(this.circleEvents=new this.RBTree),this.circleEvents.root=this.firstCircleEvent=null,this.vertices=[],this.edges=[],this.cells=[]},n.prototype.sqrt=function(t){return Math.sqrt(t)},n.prototype.abs=function(t){return Math.abs(t)},n.prototype.ε=n.ε=1e-9,n.prototype.invε=n.invε=1/n.ε,n.prototype.equalWithEpsilon=function(t,e){return this.abs(t-e)<1e-9},n.prototype.greaterThanWithEpsilon=function(t,e){return t-e>1e-9},n.prototype.greaterThanOrEqualWithEpsilon=function(t,e){return e-t<1e-9},n.prototype.lessThanWithEpsilon=function(t,e){return e-t>1e-9},n.prototype.lessThanOrEqualWithEpsilon=function(t,e){return t-e<1e-9},n.prototype.RBTree=function(){this.root=null},n.prototype.RBTree.prototype.rbInsertSuccessor=function(t,e){var n,r,i;if(t){if(e.rbPrevious=t,e.rbNext=t.rbNext,t.rbNext&&(t.rbNext.rbPrevious=e),t.rbNext=e,t.rbRight){for(t=t.rbRight;t.rbLeft;)t=t.rbLeft;t.rbLeft=e}else t.rbRight=e;n=t}else this.root?(t=this.getFirst(this.root),e.rbPrevious=null,e.rbNext=t,t.rbPrevious=e,t.rbLeft=e,n=t):(e.rbPrevious=e.rbNext=null,this.root=e,n=null);for(e.rbLeft=e.rbRight=null,e.rbParent=n,e.rbRed=!0,t=e;n&&n.rbRed;)n===(r=n.rbParent).rbLeft?(i=r.rbRight)&&i.rbRed?(n.rbRed=i.rbRed=!1,r.rbRed=!0,t=r):(t===n.rbRight&&(this.rbRotateLeft(n),n=(t=n).rbParent),n.rbRed=!1,r.rbRed=!0,this.rbRotateRight(r)):(i=r.rbLeft)&&i.rbRed?(n.rbRed=i.rbRed=!1,r.rbRed=!0,t=r):(t===n.rbLeft&&(this.rbRotateRight(n),n=(t=n).rbParent),n.rbRed=!1,r.rbRed=!0,this.rbRotateLeft(r)),n=t.rbParent;this.root.rbRed=!1},n.prototype.RBTree.prototype.rbRemoveNode=function(t){t.rbNext&&(t.rbNext.rbPrevious=t.rbPrevious),t.rbPrevious&&(t.rbPrevious.rbNext=t.rbNext),t.rbNext=t.rbPrevious=null;var e,n,r=t.rbParent,i=t.rbLeft,o=t.rbRight;if(e=i?o?this.getFirst(o):i:o,r?r.rbLeft===t?r.rbLeft=e:r.rbRight=e:this.root=e,i&&o?(n=e.rbRed,e.rbRed=t.rbRed,e.rbLeft=i,i.rbParent=e,e!==o?(r=e.rbParent,e.rbParent=t.rbParent,t=e.rbRight,r.rbLeft=t,e.rbRight=o,o.rbParent=e):(e.rbParent=r,r=e,t=e.rbRight)):(n=t.rbRed,t=e),t&&(t.rbParent=r),!n)if(t&&t.rbRed)t.rbRed=!1;else{var a;do{if(t===this.root)break;if(t===r.rbLeft){if((a=r.rbRight).rbRed&&(a.rbRed=!1,r.rbRed=!0,this.rbRotateLeft(r),a=r.rbRight),a.rbLeft&&a.rbLeft.rbRed||a.rbRight&&a.rbRight.rbRed){a.rbRight&&a.rbRight.rbRed||(a.rbLeft.rbRed=!1,a.rbRed=!0,this.rbRotateRight(a),a=r.rbRight),a.rbRed=r.rbRed,r.rbRed=a.rbRight.rbRed=!1,this.rbRotateLeft(r),t=this.root;break}}else if((a=r.rbLeft).rbRed&&(a.rbRed=!1,r.rbRed=!0,this.rbRotateRight(r),a=r.rbLeft),a.rbLeft&&a.rbLeft.rbRed||a.rbRight&&a.rbRight.rbRed){a.rbLeft&&a.rbLeft.rbRed||(a.rbRight.rbRed=!1,a.rbRed=!0,this.rbRotateLeft(a),a=r.rbLeft),a.rbRed=r.rbRed,r.rbRed=a.rbLeft.rbRed=!1,this.rbRotateRight(r),t=this.root;break}a.rbRed=!0,t=r,r=r.rbParent}while(!t.rbRed);t&&(t.rbRed=!1)}},n.prototype.RBTree.prototype.rbRotateLeft=function(t){var e=t,n=t.rbRight,r=e.rbParent;r?r.rbLeft===e?r.rbLeft=n:r.rbRight=n:this.root=n,n.rbParent=r,e.rbParent=n,e.rbRight=n.rbLeft,e.rbRight&&(e.rbRight.rbParent=e),n.rbLeft=e},n.prototype.RBTree.prototype.rbRotateRight=function(t){var e=t,n=t.rbLeft,r=e.rbParent;r?r.rbLeft===e?r.rbLeft=n:r.rbRight=n:this.root=n,n.rbParent=r,e.rbParent=n,e.rbLeft=n.rbRight,e.rbLeft&&(e.rbLeft.rbParent=e),n.rbRight=e},n.prototype.RBTree.prototype.getFirst=function(t){for(;t.rbLeft;)t=t.rbLeft;return t},n.prototype.RBTree.prototype.getLast=function(t){for(;t.rbRight;)t=t.rbRight;return t},n.prototype.Diagram=function(t){this.site=t},n.prototype.Cell=function(t){this.site=t,this.halfedges=[],this.closeMe=!1},n.prototype.Cell.prototype.init=function(t){return this.site=t,this.halfedges=[],this.closeMe=!1,this},n.prototype.createCell=function(t){var e=this.cellJunkyard.pop();return e?e.init(t):new this.Cell(t)},n.prototype.Cell.prototype.prepareHalfedges=function(){for(var t,e=this.halfedges,n=e.length;n--;)(t=e[n].edge).vb&&t.va||e.splice(n,1);return e.sort((function(t,e){return e.angle-t.angle})),e.length},n.prototype.Cell.prototype.getNeighborIds=function(){for(var t,e=[],n=this.halfedges.length;n--;)null!==(t=this.halfedges[n].edge).lSite&&t.lSite.voronoiId!=this.site.voronoiId?e.push(t.lSite.voronoiId):null!==t.rSite&&t.rSite.voronoiId!=this.site.voronoiId&&e.push(t.rSite.voronoiId);return e},n.prototype.Cell.prototype.getBbox=function(){for(var t,e,n,r=this.halfedges,i=r.length,o=1/0,a=1/0,s=-1/0,c=-1/0;i--;)(e=(t=r[i].getStartpoint()).x)s&&(s=e),n>c&&(c=n);return{x:o,y:a,width:s-o,height:c-a}},n.prototype.Cell.prototype.pointIntersection=function(t,e){for(var n,r,i,o,a=this.halfedges,s=a.length;s--;){if(r=(n=a[s]).getStartpoint(),i=n.getEndpoint(),!(o=(e-r.y)*(i.x-r.x)-(t-r.x)*(i.y-r.y)))return 0;if(o>0)return-1}return 1},n.prototype.Vertex=function(t,e){this.x=t,this.y=e},n.prototype.Edge=function(t,e){this.lSite=t,this.rSite=e,this.va=this.vb=null},n.prototype.Halfedge=function(t,e,n){if(this.site=e,this.edge=t,n)this.angle=Math.atan2(n.y-e.y,n.x-e.x);else{var r=t.va,i=t.vb;this.angle=t.lSite===e?Math.atan2(i.x-r.x,r.y-i.y):Math.atan2(r.x-i.x,i.y-r.y)}},n.prototype.createHalfedge=function(t,e,n){return new this.Halfedge(t,e,n)},n.prototype.Halfedge.prototype.getStartpoint=function(){return this.edge.lSite===this.site?this.edge.va:this.edge.vb},n.prototype.Halfedge.prototype.getEndpoint=function(){return this.edge.lSite===this.site?this.edge.vb:this.edge.va},n.prototype.createVertex=function(t,e){var n=this.vertexJunkyard.pop();return n?(n.x=t,n.y=e):n=new this.Vertex(t,e),this.vertices.push(n),n},n.prototype.createEdge=function(t,e,n,r){var i=this.edgeJunkyard.pop();return i?(i.lSite=t,i.rSite=e,i.va=i.vb=null):i=new this.Edge(t,e),this.edges.push(i),n&&this.setEdgeStartpoint(i,t,e,n),r&&this.setEdgeEndpoint(i,t,e,r),this.cells[t.voronoiId].halfedges.push(this.createHalfedge(i,t,e)),this.cells[e.voronoiId].halfedges.push(this.createHalfedge(i,e,t)),i},n.prototype.createBorderEdge=function(t,e,n){var r=this.edgeJunkyard.pop();return r?(r.lSite=t,r.rSite=null):r=new this.Edge(t,null),r.va=e,r.vb=n,this.edges.push(r),r},n.prototype.setEdgeStartpoint=function(t,e,n,r){t.va||t.vb?t.lSite===n?t.vb=r:t.va=r:(t.va=r,t.lSite=e,t.rSite=n)},n.prototype.setEdgeEndpoint=function(t,e,n,r){this.setEdgeStartpoint(t,n,e,r)},n.prototype.Beachsection=function(){},n.prototype.createBeachsection=function(t){var e=this.beachsectionJunkyard.pop();return e||(e=new this.Beachsection),e.site=t,e},n.prototype.leftBreakPoint=function(t,e){var n=t.site,r=n.x,i=n.y,o=i-e;if(!o)return r;var a=t.rbPrevious;if(!a)return-1/0;var s=(n=a.site).x,c=n.y,u=c-e;if(!u)return s;var l=s-r,h=1/o-1/u,f=l/u;return h?(-f+this.sqrt(f*f-2*h*(l*l/(-2*u)-c+u/2+i-o/2)))/h+r:(r+s)/2},n.prototype.rightBreakPoint=function(t,e){var n=t.rbNext;if(n)return this.leftBreakPoint(n,e);var r=t.site;return r.y===e?r.x:1/0},n.prototype.detachBeachsection=function(t){this.detachCircleEvent(t),this.beachline.rbRemoveNode(t),this.beachsectionJunkyard.push(t)},n.prototype.removeBeachsection=function(t){var e=t.circleEvent,n=e.x,r=e.ycenter,i=this.createVertex(n,r),o=t.rbPrevious,a=t.rbNext,s=[t],c=Math.abs;this.detachBeachsection(t);for(var u=o;u.circleEvent&&c(n-u.circleEvent.x)<1e-9&&c(r-u.circleEvent.ycenter)<1e-9;)o=u.rbPrevious,s.unshift(u),this.detachBeachsection(u),u=o;s.unshift(u),this.detachCircleEvent(u);for(var l=a;l.circleEvent&&c(n-l.circleEvent.x)<1e-9&&c(r-l.circleEvent.ycenter)<1e-9;)a=l.rbNext,s.push(l),this.detachBeachsection(l),l=a;s.push(l),this.detachCircleEvent(l);var h,f=s.length;for(h=1;h1e-9)s=s.rbLeft;else{if(!((i=o-this.rightBreakPoint(s,a))>1e-9)){r>-1e-9?(e=s.rbPrevious,n=s):i>-1e-9?(e=s,n=s.rbNext):e=n=s;break}if(!s.rbRight){e=s;break}s=s.rbRight}var c=this.createBeachsection(t);if(this.beachline.rbInsertSuccessor(e,c),e||n){if(e===n)return this.detachCircleEvent(e),n=this.createBeachsection(e.site),this.beachline.rbInsertSuccessor(c,n),c.edge=n.edge=this.createEdge(e.site,c.site),this.attachCircleEvent(e),void this.attachCircleEvent(n);if(!e||n){if(e!==n){this.detachCircleEvent(e),this.detachCircleEvent(n);var u=e.site,l=u.x,h=u.y,f=t.x-l,d=t.y-h,p=n.site,g=p.x-l,v=p.y-h,b=2*(f*v-d*g),y=f*f+d*d,m=g*g+v*v,w=this.createVertex((v*y-d*m)/b+l,(f*m-g*y)/b+h);return this.setEdgeStartpoint(n.edge,u,p,w),c.edge=this.createEdge(u,t,void 0,w),n.edge=this.createEdge(t,p,void 0,w),this.attachCircleEvent(e),void this.attachCircleEvent(n)}}else c.edge=this.createEdge(e.site,c.site)}},n.prototype.CircleEvent=function(){this.arc=null,this.rbLeft=null,this.rbNext=null,this.rbParent=null,this.rbPrevious=null,this.rbRed=!1,this.rbRight=null,this.site=null,this.x=this.y=this.ycenter=0},n.prototype.attachCircleEvent=function(t){var e=t.rbPrevious,n=t.rbNext;if(e&&n){var r=e.site,i=t.site,o=n.site;if(r!==o){var a=i.x,s=i.y,c=r.x-a,u=r.y-s,l=o.x-a,h=o.y-s,f=2*(c*h-u*l);if(!(f>=-2e-12)){var d=c*c+u*u,p=l*l+h*h,g=(h*d-u*p)/f,v=(c*p-l*d)/f,b=v+s,y=this.circleEventJunkyard.pop();y||(y=new this.CircleEvent),y.arc=t,y.site=i,y.x=g+a,y.y=b+this.sqrt(g*g+v*v),y.ycenter=b,t.circleEvent=y;for(var m=null,w=this.circleEvents.root;w;)if(y.y=s)return!1;if(f>p){if(!o||o.y=u)return!1;n=this.createVertex(v,u)}else{if(!o||o.y>u)o=this.createVertex(v,u);else if(o.y1)if(f>p){if(!o||o.y=u)return!1;n=this.createVertex((u-i)/r,u)}else{if(!o||o.y>u)o=this.createVertex((u-i)/r,u);else if(o.y=s)return!1;n=this.createVertex(s,r*s+i)}else{if(!o||o.x>s)o=this.createVertex(s,r*s+i);else if(o.x0){if(u>o)return!1;u>i&&(i=u)}if(c=e.xr-n,0===a&&c<0)return!1;if(u=c/a,a<0){if(u>o)return!1;u>i&&(i=u)}else if(a>0){if(u0){if(u>o)return!1;u>i&&(i=u)}if(c=e.yb-r,0===s&&c<0)return!1;if(u=c/s,s<0){if(u>o)return!1;u>i&&(i=u)}else if(s>0){if(u0&&(t.va=this.createVertex(n+i*a,r+i*s)),o<1&&(t.vb=this.createVertex(n+o*a,r+o*s)),(i>0||o<1)&&(this.cells[t.lSite.voronoiId].closeMe=!0,this.cells[t.rSite.voronoiId].closeMe=!0),!0},n.prototype.clipEdges=function(t){for(var e,n=this.edges,r=n.length,i=Math.abs;r--;)e=n[r],(!this.connectEdge(e,t)||!this.clipEdge(e,t)||i(e.va.x-e.vb.x)<1e-9&&i(e.va.y-e.vb.y)<1e-9)&&(e.va=e.vb=null,n.splice(r,1))},n.prototype.closeCells=function(t){for(var e,n,r,i,o,a,s,c,u,l=t.xl,h=t.xr,f=t.yt,d=t.yb,p=this.cells,g=p.length,v=Math.abs;g--;)if((e=p[g]).prepareHalfedges()&&e.closeMe){for(i=(r=e.halfedges).length,n=0;n=1e-9||v(a.y-c.y)>=1e-9)switch(!0){case this.equalWithEpsilon(a.x,l)&&this.lessThanWithEpsilon(a.y,d):if(u=this.equalWithEpsilon(c.x,l),s=this.createVertex(l,u?c.y:d),o=this.createBorderEdge(e.site,a,s),n++,r.splice(n,0,this.createHalfedge(o,e.site,null)),i++,u)break;a=s;case this.equalWithEpsilon(a.y,d)&&this.lessThanWithEpsilon(a.x,h):if(u=this.equalWithEpsilon(c.y,d),s=this.createVertex(u?c.x:h,d),o=this.createBorderEdge(e.site,a,s),n++,r.splice(n,0,this.createHalfedge(o,e.site,null)),i++,u)break;a=s;case this.equalWithEpsilon(a.x,h)&&this.greaterThanWithEpsilon(a.y,f):if(u=this.equalWithEpsilon(c.x,h),s=this.createVertex(h,u?c.y:f),o=this.createBorderEdge(e.site,a,s),n++,r.splice(n,0,this.createHalfedge(o,e.site,null)),i++,u)break;a=s;case this.equalWithEpsilon(a.y,f)&&this.greaterThanWithEpsilon(a.x,l):if(u=this.equalWithEpsilon(c.y,f),s=this.createVertex(u?c.x:l,f),o=this.createBorderEdge(e.site,a,s),n++,r.splice(n,0,this.createHalfedge(o,e.site,null)),i++,u)break;if(a=s,u=this.equalWithEpsilon(c.x,l),s=this.createVertex(l,u?c.y:d),o=this.createBorderEdge(e.site,a,s),n++,r.splice(n,0,this.createHalfedge(o,e.site,null)),i++,u)break;if(a=s,u=this.equalWithEpsilon(c.y,d),s=this.createVertex(u?c.x:h,d),o=this.createBorderEdge(e.site,a,s),n++,r.splice(n,0,this.createHalfedge(o,e.site,null)),i++,u)break;if(a=s,u=this.equalWithEpsilon(c.x,h),s=this.createVertex(h,u?c.y:f),o=this.createBorderEdge(e.site,a,s),n++,r.splice(n,0,this.createHalfedge(o,e.site,null)),i++,u)break;default:throw"Voronoi.closeCells() > this makes no sense!"}n++}e.closeMe=!1}},n.prototype.quantizeSites=function(t){for(var e,n=this.ε,r=t.length;r--;)(e=t[r]).x=Math.floor(e.x/n)*n,e.y=Math.floor(e.y/n)*n},n.prototype.recycle=function(t){if(t){if(!(t instanceof this.Diagram))throw"Voronoi.recycleDiagram() > Need a Diagram object.";this.toRecycle=t}},n.prototype.compute=function(t,e){var n=new Date;this.reset(),this.toRecycle&&(this.vertexJunkyard=this.vertexJunkyard.concat(this.toRecycle.vertices),this.edgeJunkyard=this.edgeJunkyard.concat(this.toRecycle.edges),this.cellJunkyard=this.cellJunkyard.concat(this.toRecycle.cells),this.toRecycle=null);var r=t.slice(0);r.sort((function(t,e){return e.y-t.y||e.x-t.x}));for(var i,o,a,s=r.pop(),c=0,u=this.cells;;)if(a=this.firstCircleEvent,s&&(!a||s.y{window,t.exports=function(t){var e={};function n(r){if(e[r])return e[r].exports;var i=e[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)n.d(r,i,function(e){return t[e]}.bind(null,i));return r},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=0)}([function(t,e,n){"use strict";var r=n(1),i=function(t){t&&t("core","svg",r.svg)};"undefined"!=typeof cytoscape&&i(cytoscape),t.exports=i},function(t,e,n){"use strict";var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i=n(2),o={},a=function(t){return null!=t&&(void 0===t?"undefined":r(t))===r(1)&&!isNaN(t)};o.bufferCanvasImage=function(t,e){var n=e.renderer().usePaths;e.renderer().usePaths=function(){return!1},e.elements().forEach((function(t){t._private.rscratch.pathCacheKey=null,t._private.rscratch.pathCache=null}));var r=e.renderer(),o=e.mutableElements().boundingBox(),s=r.findContainerClientCoords(),c=t.full?Math.ceil(o.w):s[2],u=t.full?Math.ceil(o.h):s[3],l=a(t.maxWidth)||a(t.maxHeight),h=r.getPixelRatio(),f=1;if(void 0!==t.scale)c*=t.scale,u*=t.scale,f=t.scale;else if(l){var d=1/0,p=1/0;a(t.maxWidth)&&(d=f*t.maxWidth/c),a(t.maxHeight)&&(p=f*t.maxHeight/u),c*=f=Math.min(d,p),u*=f}l||(c*=h,u*=h,f*=h);var g=null,v=g=new i(c,u);if(c>0&&u>0){g.clearRect(0,0,c,u),t.bg&&(g.globalCompositeOperation="destination-over",g.fillStyle=t.bg,g.fillRect(0,0,c,u)),g.globalCompositeOperation="source-over";var b=r.getCachedZSortedEles();if(t.full)g.translate(-o.x1*f,-o.y1*f),g.scale(f,f),r.drawElements(g,b),g.scale(1/f,1/f),g.translate(o.x1*f,o.y1*f);else{var y=e.pan(),m={x:y.x*f,y:y.y*f};f*=e.zoom(),g.translate(m.x,m.y),g.scale(f,f),r.drawElements(g,b),g.scale(1/f,1/f),g.translate(-m.x,-m.y)}}return e.renderer().usePaths=n,v},o.svg=function(t){return o.bufferCanvasImage(t||{},this).getSerializedSvg()},t.exports=o},function(t,e,n){!function(){"use strict";var e,n,r,i,o;function a(t,e){var n,r=Object.keys(e);for(n=0;n1?((e=r).width=arguments[0],e.height=arguments[1]):e=t||r,!(this instanceof n))return new n(e);this.width=e.width||r.width,this.height=e.height||r.height,this.enableMirroring=void 0!==e.enableMirroring?e.enableMirroring:r.enableMirroring,this.canvas=this,this.__document=e.document||document,e.ctx?this.__ctx=e.ctx:(this.__canvas=this.__document.createElement("canvas"),this.__ctx=this.__canvas.getContext("2d")),this.__setDefaultStyles(),this.__stack=[this.__getStyleState()],this.__groupStack=[],this.__root=this.__document.createElementNS("http://www.w3.org/2000/svg","svg"),this.__root.setAttribute("version",1.1),this.__root.setAttribute("xmlns","http://www.w3.org/2000/svg"),this.__root.setAttributeNS("http://www.w3.org/2000/xmlns/","xmlns:xlink","http://www.w3.org/1999/xlink"),this.__root.setAttribute("width",this.width),this.__root.setAttribute("height",this.height),this.__ids={},this.__defs=this.__document.createElementNS("http://www.w3.org/2000/svg","defs"),this.__root.appendChild(this.__defs),this.__currentElement=this.__document.createElementNS("http://www.w3.org/2000/svg","g"),this.__root.appendChild(this.__currentElement)}).prototype.__createElement=function(t,e,n){void 0===e&&(e={});var r,i,o=this.__document.createElementNS("http://www.w3.org/2000/svg",t),a=Object.keys(e);for(n&&(o.setAttribute("fill","none"),o.setAttribute("stroke","none")),r=0;r0){"path"===this.__currentElement.nodeName&&(this.__currentElementsToStyle||(this.__currentElementsToStyle={element:e,children:[]}),this.__currentElementsToStyle.children.push(this.__currentElement),this.__applyCurrentDefaultPath());var n=this.__createElement("g");e.appendChild(n),this.__currentElement=n}var r=this.__currentElement.getAttribute("transform");r?r+=" ":r="",r+=t,this.__currentElement.setAttribute("transform",r)},n.prototype.scale=function(t,e){void 0===e&&(e=t),this.__addTransform(a("scale({x},{y})",{x:t,y:e}))},n.prototype.rotate=function(t){var e=180*t/Math.PI;this.__addTransform(a("rotate({angle},{cx},{cy})",{angle:e,cx:0,cy:0}))},n.prototype.translate=function(t,e){this.__addTransform(a("translate({x},{y})",{x:t,y:e}))},n.prototype.transform=function(t,e,n,r,i,o){this.__addTransform(a("matrix({a},{b},{c},{d},{e},{f})",{a:t,b:e,c:n,d:r,e:i,f:o}))},n.prototype.beginPath=function(){var t;this.__currentDefaultPath="",this.__currentPosition={},t=this.__createElement("path",{},!0),this.__closestGroupOrSvg().appendChild(t),this.__currentElement=t},n.prototype.__applyCurrentDefaultPath=function(){var t=this.__currentElement;"path"===t.nodeName?t.setAttribute("d",this.__currentDefaultPath):console.error("Attempted to apply path command to node",t.nodeName)},n.prototype.__addPathCommand=function(t){this.__currentDefaultPath+=" ",this.__currentDefaultPath+=t},n.prototype.moveTo=function(t,e){"path"!==this.__currentElement.nodeName&&this.beginPath(),this.__currentPosition={x:t,y:e},this.__addPathCommand(a("M {x} {y}",{x:t,y:e}))},n.prototype.closePath=function(){this.__currentDefaultPath&&this.__addPathCommand("Z")},n.prototype.lineTo=function(t,e){this.__currentPosition={x:t,y:e},this.__currentDefaultPath.indexOf("M")>-1?this.__addPathCommand(a("L {x} {y}",{x:t,y:e})):this.__addPathCommand(a("M {x} {y}",{x:t,y:e}))},n.prototype.bezierCurveTo=function(t,e,n,r,i,o){this.__currentPosition={x:i,y:o},this.__addPathCommand(a("C {cp1x} {cp1y} {cp2x} {cp2y} {x} {y}",{cp1x:t,cp1y:e,cp2x:n,cp2y:r,x:i,y:o}))},n.prototype.quadraticCurveTo=function(t,e,n,r){this.__currentPosition={x:n,y:r},this.__addPathCommand(a("Q {cpx} {cpy} {x} {y}",{cpx:t,cpy:e,x:n,y:r}))};var u=function(t){var e=Math.sqrt(t[0]*t[0]+t[1]*t[1]);return[t[0]/e,t[1]/e]};n.prototype.arcTo=function(t,e,n,r,i){var o=this.__currentPosition&&this.__currentPosition.x,a=this.__currentPosition&&this.__currentPosition.y;if(void 0!==o&&void 0!==a){if(i<0)throw new Error("IndexSizeError: The radius provided ("+i+") is negative.");if(o===t&&a===e||t===n&&e===r||0===i)this.lineTo(t,e);else{var s=u([o-t,a-e]),c=u([n-t,r-e]);if(s[0]*c[1]!=s[1]*c[0]){var l=s[0]*c[0]+s[1]*c[1],h=Math.acos(Math.abs(l)),f=u([s[0]+c[0],s[1]+c[1]]),d=i/Math.sin(h/2),p=t+d*f[0],g=e+d*f[1],v=[-s[1],s[0]],b=[c[1],-c[0]],y=function(t){var e=t[0];return t[1]>=0?Math.acos(e):-Math.acos(e)},m=y(v),w=y(b);this.lineTo(p+v[0]*i,g+v[1]*i),this.arc(p,g,i,m,w)}else this.lineTo(t,e)}}},n.prototype.stroke=function(){"path"===this.__currentElement.nodeName&&this.__currentElement.setAttribute("paint-order","fill stroke markers"),this.__applyCurrentDefaultPath(),this.__applyStyleToCurrentElement("stroke")},n.prototype.fill=function(){"path"===this.__currentElement.nodeName&&this.__currentElement.setAttribute("paint-order","stroke fill markers"),this.__applyCurrentDefaultPath(),this.__applyStyleToCurrentElement("fill")},n.prototype.rect=function(t,e,n,r){"path"!==this.__currentElement.nodeName&&this.beginPath(),this.moveTo(t,e),this.lineTo(t+n,e),this.lineTo(t+n,e+r),this.lineTo(t,e+r),this.lineTo(t,e),this.closePath()},n.prototype.fillRect=function(t,e,n,r){var i;i=this.__createElement("rect",{x:t,y:e,width:n,height:r},!0),this.__closestGroupOrSvg().appendChild(i),this.__currentElement=i,this.__applyStyleToCurrentElement("fill")},n.prototype.strokeRect=function(t,e,n,r){var i;i=this.__createElement("rect",{x:t,y:e,width:n,height:r},!0),this.__closestGroupOrSvg().appendChild(i),this.__currentElement=i,this.__applyStyleToCurrentElement("stroke")},n.prototype.__clearCanvas=function(){for(var t=this.__closestGroupOrSvg().getAttribute("transform"),e=this.__root.childNodes[1],n=e.childNodes,r=n.length-1;r>=0;r--)n[r]&&e.removeChild(n[r]);this.__currentElement=e,this.__groupStack=[],t&&this.__addTransform(t)},n.prototype.clearRect=function(t,e,n,r){if(0!==t||0!==e||n!==this.width||r!==this.height){var i,o=this.__closestGroupOrSvg();i=this.__createElement("rect",{x:t,y:e,width:n,height:r,fill:"#FFFFFF"},!0),o.appendChild(i)}else this.__clearCanvas()},n.prototype.createLinearGradient=function(t,e,n,i){var o=this.__createElement("linearGradient",{id:s(this.__ids),x1:t+"px",x2:n+"px",y1:e+"px",y2:i+"px",gradientUnits:"userSpaceOnUse"},!1);return this.__defs.appendChild(o),new r(o,this)},n.prototype.createRadialGradient=function(t,e,n,i,o,a){var c=this.__createElement("radialGradient",{id:s(this.__ids),cx:i+"px",cy:o+"px",r:a+"px",fx:t+"px",fy:e+"px",gradientUnits:"userSpaceOnUse"},!1);return this.__defs.appendChild(c),new r(c,this)},n.prototype.__parseFont=function(){var t=/^\s*(?=(?:(?:[-a-z]+\s*){0,2}(italic|oblique))?)(?=(?:(?:[-a-z]+\s*){0,2}(small-caps))?)(?=(?:(?:[-a-z]+\s*){0,2}(bold(?:er)?|lighter|[1-9]00))?)(?:(?:normal|\1|\2|\3)\s*){0,3}((?:xx?-)?(?:small|large)|medium|smaller|larger|[.\d]+(?:\%|in|[cem]m|ex|p[ctx]))(?:\s*\/\s*(normal|[.\d]+(?:\%|in|[cem]m|ex|p[ctx])))?\s*([-,\'\"\sa-z0-9]+?)\s*$/i.exec(this.font),e={style:t[1]||"normal",size:t[4]||"10px",family:t[6]||"sans-serif",weight:t[3]||"normal",decoration:t[2]||"normal",href:null};return"underline"===this.__fontUnderline&&(e.decoration="underline"),this.__fontHref&&(e.href=this.__fontHref),e},n.prototype.__wrapTextLink=function(t,e){if(t.href){var n=this.__createElement("a");return n.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",t.href),n.appendChild(e),n}return e},n.prototype.__applyText=function(t,e,n,r){var i,o,a=this.__parseFont(),s=this.__closestGroupOrSvg(),u=this.__createElement("text",{"font-family":a.family,"font-size":a.size,"font-style":a.style,"font-weight":a.weight,"text-decoration":a.decoration,x:e,y:n,"text-anchor":(i=this.textAlign,o={left:"start",right:"end",center:"middle",start:"start",end:"end"},o[i]||o.start),"dominant-baseline":c(this.textBaseline)},!0);u.appendChild(this.__document.createTextNode(t)),this.__currentElement=u,this.__applyStyleToCurrentElement(r),s.appendChild(this.__wrapTextLink(a,u))},n.prototype.fillText=function(t,e,n){this.__applyText(t,e,n,"fill")},n.prototype.strokeText=function(t,e,n){this.__applyText(t,e,n,"stroke")},n.prototype.measureText=function(t){return this.__ctx.font=this.font,this.__ctx.measureText(t)},n.prototype.arc=function(t,e,n,r,i,o){if(r!==i){(r%=2*Math.PI)==(i%=2*Math.PI)&&(i=(i+2*Math.PI-.001*(o?-1:1))%(2*Math.PI));var s,c=t+n*Math.cos(i),u=e+n*Math.sin(i),l=t+n*Math.cos(r),h=e+n*Math.sin(r),f=o?0:1,d=i-r;d<0&&(d+=2*Math.PI),s=o?d>Math.PI?0:1:d>Math.PI?1:0,this.lineTo(l,h),this.__addPathCommand(a("A {rx} {ry} {xAxisRotation} {largeArcFlag} {sweepFlag} {endX} {endY}",{rx:n,ry:n,xAxisRotation:0,largeArcFlag:s,sweepFlag:f,endX:c,endY:u})),this.__currentPosition={x:c,y:u}}},n.prototype.clip=function(){var t=this.__closestGroupOrSvg(),e=this.__createElement("clipPath"),n=s(this.__ids),r=this.__createElement("g");this.__applyCurrentDefaultPath(),t.removeChild(this.__currentElement),e.setAttribute("id",n),e.appendChild(this.__currentElement),this.__defs.appendChild(e),t.setAttribute("clip-path",a("url(#{id})",{id:n})),t.appendChild(r),this.__currentElement=r},n.prototype.drawImage=function(){var t,e,r,i,o,a,s,c,u,l,h,f,d,p=Array.prototype.slice.call(arguments),g=p[0],v=0,b=0;if(3===p.length)t=p[1],e=p[2],r=o=g.width,i=a=g.height;else if(5===p.length)t=p[1],e=p[2],r=p[3],i=p[4],o=g.width,a=g.height;else{if(9!==p.length)throw new Error("Inavlid number of arguments passed to drawImage: "+arguments.length);v=p[1],b=p[2],o=p[3],a=p[4],t=p[5],e=p[6],r=p[7],i=p[8]}s=this.__closestGroupOrSvg(),this.__currentElement;var y="translate("+t+", "+e+")";if(g instanceof n){if((c=g.getSvg().cloneNode(!0)).childNodes&&c.childNodes.length>1){for(u=c.childNodes[0];u.childNodes.length;)d=u.childNodes[0].getAttribute("id"),this.__ids[d]=d,this.__defs.appendChild(u.childNodes[0]);if(l=c.childNodes[1]){var m,w=l.getAttribute("transform");m=w?w+" "+y:y,l.setAttribute("transform",m),s.appendChild(l)}}}else"CANVAS"!==g.nodeName&&"IMG"!==g.nodeName||((h=this.__createElement("image")).setAttribute("width",r),h.setAttribute("height",i),h.setAttribute("opacity",this.globalAlpha),h.setAttribute("preserveAspectRatio","none"),(f=this.__document.createElement("canvas")).width=r,f.height=i,f.getContext("2d").drawImage(g,v,b,o,a,0,0,r,i),g=f,h.setAttribute("transform",y),h.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href","CANVAS"===g.nodeName?g.toDataURL():g.getAttribute("src")),s.appendChild(h))},n.prototype.createPattern=function(t,e){var r,o=this.__document.createElementNS("http://www.w3.org/2000/svg","pattern"),a=s(this.__ids);return o.setAttribute("id",a),o.setAttribute("width",t.width),o.setAttribute("height",t.height),"CANVAS"===t.nodeName||"IMG"===t.nodeName?((r=this.__document.createElementNS("http://www.w3.org/2000/svg","image")).setAttribute("width",t.width),r.setAttribute("height",t.height),r.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href","CANVAS"===t.nodeName?t.toDataURL():t.getAttribute("src")),o.appendChild(r),this.__defs.appendChild(o)):t instanceof n&&(o.appendChild(t.__root.childNodes[1]),this.__defs.appendChild(o)),new i(o,this)},n.prototype.setLineDash=function(t){t&&t.length>0?this.lineDash=t.join(","):this.lineDash=null},n.prototype.drawFocusRing=function(){},n.prototype.createImageData=function(){},n.prototype.getImageData=function(){},n.prototype.putImageData=function(){},n.prototype.globalCompositeOperation=function(){},n.prototype.setTransform=function(){},"object"==typeof window&&(window.C2S=n),"object"==typeof t.exports&&(t.exports=n)}()}])},9058:(t,e,n)=>{"use strict";var r=n(3279),i=n(4485),o=n(7361),a=n(6968),s=n(84);function c(t){return t&&"object"==typeof t&&"default"in t?t:{default:t}}var u=c(r),l=c(i),h=c(o),f=c(a),d=c(s);function p(t){return p="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},p(t)}function g(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function v(t,e){for(var n=0;nt.length)&&(e=t.length);for(var n=0,r=new Array(e);ne?1:0},Q=null!=Object.assign?Object.assign.bind(Object):function(t){for(var e=arguments,n=1;n1&&void 0!==arguments[1]?arguments[1]:st;!(e=t.next()).done;)n=65599*n+e.value|0;return n},lt=function(t){return 65599*(arguments.length>1&&void 0!==arguments[1]?arguments[1]:st)+t|0},ht=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:ct;return(e<<5)+e+t|0},ft=function(t){return 2097152*t[0]+t[1]},dt=function(t,e){return[lt(t[0],e[0]),ht(t[1],e[1])]},pt=function(t,e){var n={value:0,done:!1},r=0,i=t.length;return ut({next:function(){return r=0&&(t[r]!==e||(t.splice(r,1),!n));r--);},Pt=function(t){t.splice(0,t.length)},Dt=function(t,e,n){return n&&(e=U(n,e)),t[e]},Rt=function(t,e,n,r){n&&(e=U(n,e)),t[e]=r},jt="undefined"!=typeof Map?Map:function(){function t(){g(this,t),this._obj={}}return b(t,[{key:"set",value:function(t,e){return this._obj[t]=e,this}},{key:"delete",value:function(t){return this._obj[t]=void 0,this}},{key:"clear",value:function(){this._obj={}}},{key:"has",value:function(t){return void 0!==this._obj[t]}},{key:"get",value:function(t){return this._obj[t]}}]),t}(),Gt=function(){function t(e){if(g(this,t),this._obj=Object.create(null),this.size=0,null!=e){var n;n=null!=e.instanceString&&e.instanceString()===this.instanceString()?e.toArray():e;for(var r=0;r2&&void 0!==arguments[2])||arguments[2];if(void 0!==t&&void 0!==e&&j(t)){var r=e.group;if(null==r&&(r=e.data&&null!=e.data.source&&null!=e.data.target?"edges":"nodes"),"nodes"===r||"edges"===r){this.length=1,this[0]=this;var i=this._private={cy:t,single:!0,data:e.data||{},position:e.position||{x:0,y:0},autoWidth:void 0,autoHeight:void 0,autoPadding:void 0,compoundBoundsClean:!1,listeners:[],group:r,style:{},rstyle:{},styleCxts:[],styleKeys:{},removed:!0,selected:!!e.selected,selectable:void 0===e.selectable||!!e.selectable,locked:!!e.locked,grabbed:!1,grabbable:void 0===e.grabbable||!!e.grabbable,pannable:void 0===e.pannable?"edges"===r:!!e.pannable,active:!1,classes:new Bt,animation:{current:[],queue:[]},rscratch:{},scratch:e.scratch||{},edges:[],children:[],parent:e.parent&&e.parent.isNode()?e.parent:null,traversalCache:{},backgrounding:!1,bbCache:null,bbCacheShift:{x:0,y:0},bodyBounds:null,overlayBounds:null,labelBounds:{all:null,source:null,target:null,main:null},arrowBounds:{source:null,target:null,"mid-source":null,"mid-target":null}};if(null==i.position.x&&(i.position.x=0),null==i.position.y&&(i.position.y=0),e.renderedPosition){var o=e.renderedPosition,a=t.pan(),s=t.zoom();i.position={x:(o.x-a.x)/s,y:(o.y-a.y)/s}}var c=[];O(e.classes)?c=e.classes:A(e.classes)&&(c=e.classes.split(/\s+/));for(var u=0,l=c.length;u0;){var _=y.pop(),E=v(_),k=_.id();if(f[k]=E,E!==1/0)for(var T=_.neighborhood().intersect(p),C=0;C0)for(n.unshift(e);h[i];){var o=h[i];n.unshift(o.edge),n.unshift(o.node),i=(r=o.node).id()}return a.spawn(n)}}}},Vt={kruskal:function(t){t=t||function(t){return 1};for(var e=this.byGroup(),n=e.nodes,r=e.edges,i=n.length,o=new Array(i),a=n,s=function(t){for(var e=0;e0;){if(u=(c=v.pop()).id(),b.delete(u),_++,u===f){for(var E=[],k=i,T=f,C=m[T];E.unshift(k),null!=C&&E.unshift(C),null!=(k=y[T]);)C=m[T=k.id()];return{found:!0,distance:d[u],path:this.spawn(E),steps:_}}g[u]=!0;for(var N=c._private.edges,A=0;AC&&(d[T]=C,b[T]=k,y[T]=w),!i){var N=k*u+E;!i&&d[N]>C&&(d[N]=C,b[N]=E,y[N]=w)}}}for(var S=0;S1&&void 0!==arguments[1]?arguments[1]:o,r=[],i=y(t);;){if(null==i)return e.spawn();var a=b(i),c=a.edge,u=a.pred;if(r.unshift(i[0]),i.same(n)&&r.length>0)break;null!=c&&r.unshift(c),i=u}return s.spawn(r)},hasNegativeWeightCycle:p,negativeWeightCycles:g}}},Qt=Math.sqrt(2),Jt=function(t,e,n){0===n.length&&Tt("Karger-Stein must be run on a connected (sub)graph");for(var r=n[t],i=r[1],o=r[2],a=e[i],s=e[o],c=n,u=c.length-1;u>=0;u--){var l=c[u],h=l[1],f=l[2];(e[h]===a&&e[f]===s||e[h]===s&&e[f]===a)&&c.splice(u,1)}for(var d=0;dr;){var i=Math.floor(Math.random()*e.length);e=Jt(i,t,e),n--}return e},ee={kargerStein:function(){var t=this,e=this.byGroup(),n=e.nodes,r=e.edges;r.unmergeBy((function(t){return t.isLoop()}));var i=n.length,o=r.length,a=Math.ceil(Math.pow(Math.log(i)/Math.LN2,2)),s=Math.floor(i/Qt);if(!(i<2)){for(var c=[],u=0;u0?1:t<0?-1:0},ce=function(t,e){return Math.sqrt(ue(t,e))},ue=function(t,e){var n=e.x-t.x,r=e.y-t.y;return n*n+r*r},le=function(t){for(var e=t.length,n=0,r=0;r=t.x1&&t.y2>=t.y1)return{x1:t.x1,y1:t.y1,x2:t.x2,y2:t.y2,w:t.x2-t.x1,h:t.y2-t.y1};if(null!=t.w&&null!=t.h&&t.w>=0&&t.h>=0)return{x1:t.x1,y1:t.y1,x2:t.x1+t.w,y2:t.y1+t.h,w:t.w,h:t.h}}},ge=function(t,e){t.x1=Math.min(t.x1,e.x1),t.x2=Math.max(t.x2,e.x2),t.w=t.x2-t.x1,t.y1=Math.min(t.y1,e.y1),t.y2=Math.max(t.y2,e.y2),t.h=t.y2-t.y1},ve=function(t,e,n){t.x1=Math.min(t.x1,e),t.x2=Math.max(t.x2,e),t.w=t.x2-t.x1,t.y1=Math.min(t.y1,n),t.y2=Math.max(t.y2,n),t.h=t.y2-t.y1},be=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return t.x1-=e,t.x2+=e,t.y1-=e,t.y2+=e,t.w=t.x2-t.x1,t.h=t.y2-t.y1,t},ye=function(t){var e,n,r,i,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[0];if(1===o.length)e=n=r=i=o[0];else if(2===o.length)e=r=o[0],i=n=o[1];else if(4===o.length){var a=m(o,4);e=a[0],n=a[1],r=a[2],i=a[3]}return t.x1-=i,t.x2+=n,t.y1-=e,t.y2+=r,t.w=t.x2-t.x1,t.h=t.y2-t.y1,t},me=function(t,e){t.x1=e.x1,t.y1=e.y1,t.x2=e.x2,t.y2=e.y2,t.w=t.x2-t.x1,t.h=t.y2-t.y1},we=function(t,e){return!(t.x1>e.x2||e.x1>t.x2||t.x2e.y2||e.y1>t.y2)},xe=function(t,e,n){return t.x1<=e&&e<=t.x2&&t.y1<=n&&n<=t.y2},_e=function(t,e){return xe(t,e.x1,e.y1)&&xe(t,e.x2,e.y2)},Ee=function(t,e,n,r,i,o,a){var s,c=He(i,o),u=i/2,l=o/2,h=r-l-a;if((s=De(t,e,n,r,n-u+c-a,h,n+u-c+a,h,!1)).length>0)return s;var f=n+u+a;if((s=De(t,e,n,r,f,r-l+c-a,f,r+l-c+a,!1)).length>0)return s;var d=r+l+a;if((s=De(t,e,n,r,n-u+c-a,d,n+u-c+a,d,!1)).length>0)return s;var p,g=n-u-a;if((s=De(t,e,n,r,g,r-l+c-a,g,r+l-c+a,!1)).length>0)return s;var v=n-u+c,b=r-l+c;if((p=Me(t,e,n,r,v,b,c+a)).length>0&&p[0]<=v&&p[1]<=b)return[p[0],p[1]];var y=n+u-c,m=r-l+c;if((p=Me(t,e,n,r,y,m,c+a)).length>0&&p[0]>=y&&p[1]<=m)return[p[0],p[1]];var w=n+u-c,x=r+l-c;if((p=Me(t,e,n,r,w,x,c+a)).length>0&&p[0]>=w&&p[1]>=x)return[p[0],p[1]];var _=n-u+c,E=r+l-c;return(p=Me(t,e,n,r,_,E,c+a)).length>0&&p[0]<=_&&p[1]>=E?[p[0],p[1]]:[]},ke=function(t,e,n,r,i,o,a){var s=a,c=Math.min(n,i),u=Math.max(n,i),l=Math.min(r,o),h=Math.max(r,o);return c-s<=t&&t<=u+s&&l-s<=e&&e<=h+s},Te=function(t,e,n,r,i,o,a,s,c){var u=Math.min(n,a,i)-c,l=Math.max(n,a,i)+c,h=Math.min(r,s,o)-c,f=Math.max(r,s,o)+c;return!(tl||ef)},Ce=function(t,e,n,r,i,o,a,s){var c,u,l,h,f,d,p,g,v,b,y,m,w,x=[];u=9*n*i-3*n*n-3*n*a-6*i*i+3*i*a+9*r*o-3*r*r-3*r*s-6*o*o+3*o*s,l=3*n*n-6*n*i+n*a-n*t+2*i*i+2*i*t-a*t+3*r*r-6*r*o+r*s-r*e+2*o*o+2*o*e-s*e,h=1*n*i-n*n+n*t-i*t+r*o-r*r+r*e-o*e,0===(c=1*n*n-4*n*i+2*n*a+4*i*i-4*i*a+a*a+r*r-4*r*o+2*r*s+4*o*o-4*o*s+s*s)&&(c=1e-5),g=-27*(h/=c)+(u/=c)*(9*(l/=c)-u*u*2),d=(p=(3*l-u*u)/9)*p*p+(g/=54)*g,(f=x)[1]=0,m=u/3,d>0?(b=(b=g+Math.sqrt(d))<0?-Math.pow(-b,1/3):Math.pow(b,1/3),y=(y=g-Math.sqrt(d))<0?-Math.pow(-y,1/3):Math.pow(y,1/3),f[0]=-m+b+y,m+=(b+y)/2,f[4]=f[2]=-m,m=Math.sqrt(3)*(-y+b)/2,f[3]=m,f[5]=-m):(f[5]=f[3]=0,0===d?(w=g<0?-Math.pow(-g,1/3):Math.pow(g,1/3),f[0]=2*w-m,f[4]=f[2]=-(w+m)):(v=(p=-p)*p*p,v=Math.acos(g/Math.sqrt(v)),w=2*Math.sqrt(p),f[0]=-m+w*Math.cos(v/3),f[2]=-m+w*Math.cos((v+2*Math.PI)/3),f[4]=-m+w*Math.cos((v+4*Math.PI)/3)));for(var _=[],E=0;E<6;E+=2)Math.abs(x[E+1])<1e-7&&x[E]>=0&&x[E]<=1&&_.push(x[E]);_.push(1),_.push(0);for(var k,T,C,N=-1,A=0;A<_.length;A++)k=Math.pow(1-_[A],2)*n+2*(1-_[A])*_[A]*i+_[A]*_[A]*a,T=Math.pow(1-_[A],2)*r+2*(1-_[A])*_[A]*o+_[A]*_[A]*s,C=Math.pow(k-t,2)+Math.pow(T-e,2),N>=0?Cc?(t-i)*(t-i)+(e-o)*(e-o):u-h},Ae=function(t,e,n){for(var r,i,o,a,s=0,c=0;c=t&&t>=o||r<=t&&t<=o))continue;(t-r)/(o-r)*(a-i)+i>e&&s++}return s%2!=0},Se=function(t,e,n,r,i,o,a,s,c){var u,l=new Array(n.length);null!=s[0]?(u=Math.atan(s[1]/s[0]),s[0]<0?u+=Math.PI/2:u=-u-Math.PI/2):u=s;for(var h,f=Math.cos(-u),d=Math.sin(-u),p=0;p0){var g=Le(l,-c);h=Oe(g)}else h=l;return Ae(t,e,h)},Oe=function(t){for(var e,n,r,i,o,a,s,c,u=new Array(t.length/2),l=0;l=0&&p<=1&&v.push(p),g>=0&&g<=1&&v.push(g),0===v.length)return[];var b=v[0]*s[0]+t,y=v[0]*s[1]+e;return v.length>1?v[0]==v[1]?[b,y]:[b,y,v[1]*s[0]+t,v[1]*s[1]+e]:[b,y]},Pe=function(t,e,n){return e<=t&&t<=n||n<=t&&t<=e?t:t<=e&&e<=n||n<=e&&e<=t?e:n},De=function(t,e,n,r,i,o,a,s,c){var u=t-i,l=n-t,h=a-i,f=e-o,d=r-e,p=s-o,g=h*f-p*u,v=l*f-d*u,b=p*l-h*d;if(0!==b){var y=g/b,m=v/b,w=-.001;return w<=y&&y<=1.001&&w<=m&&m<=1.001||c?[t+y*l,e+y*d]:[]}return 0===g||0===v?Pe(t,n,a)===a?[a,s]:Pe(t,n,i)===i?[i,o]:Pe(i,a,n)===n?[n,r]:[]:[]},Re=function(t,e,n,r,i,o,a,s){var c,u,l,h,f,d,p=[],g=new Array(n.length),v=!0;if(null==o&&(v=!1),v){for(var b=0;b0){var y=Le(g,-s);u=Oe(y)}else u=g}else u=n;for(var m=0;mu&&(u=e)},f=function(t){return c[t]},d=0;d0?x.edgesTo(w)[0]:w.edgesTo(x)[0];var _=r(m);w=w.id(),d[w]>d[b]+_&&(d[w]=d[b]+_,p.nodes.indexOf(w)<0?p.push(w):p.updateItem(w),u[w]=0,c[w]=[]),d[w]==d[b]+_&&(u[w]=u[w]+u[b],c[w].push(b))}else for(var E=0;E0;){for(var N=n.pop(),A=0;A0&&a.push(n[s]);0!==a.length&&i.push(r.collection(a))}return i}(l,c,e,r);return m=function(t){for(var e=0;e5&&void 0!==arguments[5]?arguments[5]:un,a=r,s=0;s=2?gn(t,e,n,0,fn,dn):gn(t,e,n,0,hn)},squaredEuclidean:function(t,e,n){return gn(t,e,n,0,fn)},manhattan:function(t,e,n){return gn(t,e,n,0,hn)},max:function(t,e,n){return gn(t,e,n,-1/0,pn)}};function bn(t,e,n,r,i,o){var a;return a=S(t)?t:vn[t]||vn.euclidean,0===e&&S(t)?a(i,o):a(e,n,r,i,o)}vn["squared-euclidean"]=vn.squaredEuclidean,vn.squaredeuclidean=vn.squaredEuclidean;var yn=It({k:2,m:2,sensitivityThreshold:1e-4,distance:"euclidean",maxIterations:10,attributes:[],testMode:!1,testCentroids:null}),mn=function(t){return yn(t)},wn=function(t,e,n,r,i){var o="kMedoids"!==i?function(t){return n[t]}:function(t){return r[t](n)},a=n,s=e;return bn(t,r.length,o,(function(t){return r[t](e)}),a,s)},xn=function(t,e,n){for(var r=n.length,i=new Array(r),o=new Array(r),a=new Array(e),s=null,c=0;cn)return!1;return!0},Tn=function(t,e,n){for(var r=0;ri&&(i=e[c][u],o=u);a[o].push(t[c])}for(var l=0;l=i.threshold||"dendrogram"===i.mode&&1===t.length)return!1;var d,p=e[a],g=e[r[a]];d="dendrogram"===i.mode?{left:p,right:g,key:p.key}:{value:p.value.concat(g.value),key:p.key},t[p.index]=d,t.splice(g.index,1),e[p.key]=d;for(var v=0;vn[g.key][b.key]&&(o=n[g.key][b.key])):"max"===i.linkage?(o=n[p.key][b.key],n[p.key][b.key]a&&(o=c,a=e[i*t+c])}o>0&&r.push(o)}for(var u=0;u1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t.length,r=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],i=!(arguments.length>5&&void 0!==arguments[5])||arguments[5];arguments.length>3&&void 0!==arguments[3]&&!arguments[3]?(n0&&t.splice(0,e)):t=t.slice(e,n);for(var o=0,a=t.length-1;a>=0;a--){var s=t[a];i?isFinite(s)||(t[a]=-1/0,o++):t.splice(a,1)}r&&t.sort((function(t,e){return t-e}));var c=t.length,u=Math.floor(c/2);return c%2!=0?t[u+1+o]:(t[u-1+o]+t[u+o])/2}(t):"mean"===e?function(t){for(var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t.length,r=0,i=0,o=e;o1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t.length,r=1/0,i=e;i1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t.length,r=-1/0,i=e;i=C?(N=C,C=S,A=O):S>N&&(N=S);for(var L=0;L0?1:0;E[_%u.minIterations*e+G]=B,j+=B}if(j>0&&(_>=u.minIterations-1||_==u.maxIterations-1)){for(var F=0,H=0;H0&&r.push(i);return r}(e,o,a),U=function(t,e,n){for(var r=Yn(t,e,n),i=0;ic&&(s=u,c=l)}n[i]=o[s]}return Yn(t,e,n)}(e,r,z),V={},q=0;q1)}}));var c=Object.keys(e).filter((function(t){return e[t].cutVertex})).map((function(e){return t.getElementById(e)}));return{cut:t.spawn(c),components:i}},Xn=function(){var t=this,e={},n=0,r=[],i=[],o=t.spawn(t),a=function a(s){if(i.push(s),e[s]={index:n,low:n++,explored:!1},t.getElementById(s).connectedEdges().intersection(t).forEach((function(t){var n=t.target().id();n!==s&&(n in e||a(n),e[n].explored||(e[s].low=Math.min(e[s].low,e[n].low)))})),e[s].index===e[s].low){for(var c=t.spawn();;){var u=i.pop();if(c.merge(t.getElementById(u)),e[u].low=e[s].index,e[u].explored=!0,u===s)break}var l=c.edgesWith(c),h=c.merge(l);r.push(h),o=o.difference(h)}};return t.forEach((function(t){if(t.isNode()){var n=t.id();n in e||a(n)}})),{cut:o,components:r}},Wn={};[Yt,Ut,Vt,Xt,$t,Kt,ee,Ve,Xe,$e,Ke,cn,Ln,Bn,Un,{hierholzer:function(t){if(!L(t)){var e=arguments;t={root:e[0],directed:e[1]}}var n,r,i,o=Vn(t),a=o.root,s=o.directed,c=this,u=!1;a&&(i=A(a)?this.filter(a)[0].id():a[0].id());var l={},h={};s?c.forEach((function(t){var e=t.id();if(t.isNode()){var i=t.indegree(!0),o=t.outdegree(!0),a=i-o,s=o-i;1==a?n?u=!0:n=e:1==s?r?u=!0:r=e:(s>1||a>1)&&(u=!0),l[e]=[],t.outgoers().forEach((function(t){t.isEdge()&&l[e].push(t.id())}))}else h[e]=[void 0,t.target().id()]})):c.forEach((function(t){var e=t.id();t.isNode()?(t.degree(!0)%2&&(n?r?u=!0:r=e:n=e),l[e]=[],t.connectedEdges().forEach((function(t){return l[e].push(t.id())}))):h[e]=[t.source().id(),t.target().id()]}));var f={found:!1,trail:void 0};if(u)return f;if(r&&n)if(s){if(i&&r!=i)return f;i=r}else{if(i&&r!=i&&n!=i)return f;i||(i=r)}else i||(i=c[0].id());var d=function(t){for(var e,n,r,i=t,o=[t];l[i].length;)e=l[i].shift(),n=h[e][0],i!=(r=h[e][1])?(l[r]=l[r].filter((function(t){return t!=e})),i=r):s||i==n||(l[n]=l[n].filter((function(t){return t!=e})),i=n),o.unshift(e),o.unshift(i);return o},p=[],g=[];for(g=d(i);1!=g.length;)0==l[g[0]].length?(p.unshift(c.getElementById(g.shift())),p.unshift(c.getElementById(g.shift()))):g=d(g.shift()).concat(g);for(var v in p.unshift(c.getElementById(g.shift())),l)if(l[v].length)return f;return f.found=!0,f.trail=this.spawn(p,!0),f}},{hopcroftTarjanBiconnected:qn,htbc:qn,htb:qn,hopcroftTarjanBiconnectedComponents:qn},{tarjanStronglyConnected:Xn,tsc:Xn,tscc:Xn,tarjanStronglyConnectedComponents:Xn}].forEach((function(t){Q(Wn,t)}));var $n=function t(e){if(!(this instanceof t))return new t(e);this.id="Thenable/1.0.7",this.state=0,this.fulfillValue=void 0,this.rejectReason=void 0,this.onFulfilled=[],this.onRejected=[],this.proxy={then:this.then.bind(this)},"function"==typeof e&&e.call(this,this.fulfill.bind(this),this.reject.bind(this))};$n.prototype={fulfill:function(t){return Zn(this,1,"fulfillValue",t)},reject:function(t){return Zn(this,2,"rejectReason",t)},then:function(t,e){var n=this,r=new $n;return n.onFulfilled.push(Jn(t,r,"fulfill")),n.onRejected.push(Jn(e,r,"reject")),Kn(n),r.proxy}};var Zn=function(t,e,n,r){return 0===t.state&&(t.state=e,t[n]=r,Kn(t)),t},Kn=function(t){1===t.state?Qn(t,"onFulfilled",t.fulfillValue):2===t.state&&Qn(t,"onRejected",t.rejectReason)},Qn=function(t,e,n){if(0!==t[e].length){var r=t[e];t[e]=[];var i=function(){for(var t=0;t0:void 0}},clearQueue:function(){return function(){var t=this,e=void 0!==t.length?t:[t];if(!(this._private.cy||this).styleEnabled())return this;for(var n=0;n0&&this.spawn(r).updateStyle().emit("class"),e},addClass:function(t){return this.toggleClass(t,!0)},hasClass:function(t){var e=this[0];return null!=e&&e._private.classes.has(t)},toggleClass:function(t,e){O(t)||(t=t.match(/\S+/g)||[]);for(var n=this,r=void 0===e,i=[],o=0,a=n.length;o0&&this.spawn(i).updateStyle().emit("class"),n},removeClass:function(t){return this.toggleClass(t,!1)},flashClass:function(t,e){var n=this;if(null==e)e=250;else if(0===e)return n;return n.addClass(t),setTimeout((function(){n.removeClass(t)}),e),n}};ur.className=ur.classNames=ur.classes;var lr={metaChar:"[\\!\\\"\\#\\$\\%\\&\\'\\(\\)\\*\\+\\,\\.\\/\\:\\;\\<\\=\\>\\?\\@\\[\\]\\^\\`\\{\\|\\}\\~]",comparatorOp:"=|\\!=|>|>=|<|<=|\\$=|\\^=|\\*=",boolOp:"\\?|\\!|\\^",string:"\"(?:\\\\\"|[^\"])*\"|'(?:\\\\'|[^'])*'",number:q,meta:"degree|indegree|outdegree",separator:"\\s*,\\s*",descendant:"\\s+",child:"\\s+>\\s+",subject:"\\$",group:"node|edge|\\*",directedEdge:"\\s+->\\s+",undirectedEdge:"\\s+<->\\s+"};lr.variable="(?:[\\w-.]|(?:\\\\"+lr.metaChar+"))+",lr.className="(?:[\\w-]|(?:\\\\"+lr.metaChar+"))+",lr.value=lr.string+"|"+lr.number,lr.id=lr.variable,function(){var t,e,n;for(t=lr.comparatorOp.split("|"),n=0;n=0||"="!==e&&(lr.comparatorOp+="|\\!"+e)}();var hr=20,fr=[{selector:":selected",matches:function(t){return t.selected()}},{selector:":unselected",matches:function(t){return!t.selected()}},{selector:":selectable",matches:function(t){return t.selectable()}},{selector:":unselectable",matches:function(t){return!t.selectable()}},{selector:":locked",matches:function(t){return t.locked()}},{selector:":unlocked",matches:function(t){return!t.locked()}},{selector:":visible",matches:function(t){return t.visible()}},{selector:":hidden",matches:function(t){return!t.visible()}},{selector:":transparent",matches:function(t){return t.transparent()}},{selector:":grabbed",matches:function(t){return t.grabbed()}},{selector:":free",matches:function(t){return!t.grabbed()}},{selector:":removed",matches:function(t){return t.removed()}},{selector:":inside",matches:function(t){return!t.removed()}},{selector:":grabbable",matches:function(t){return t.grabbable()}},{selector:":ungrabbable",matches:function(t){return!t.grabbable()}},{selector:":animated",matches:function(t){return t.animated()}},{selector:":unanimated",matches:function(t){return!t.animated()}},{selector:":parent",matches:function(t){return t.isParent()}},{selector:":childless",matches:function(t){return t.isChildless()}},{selector:":child",matches:function(t){return t.isChild()}},{selector:":orphan",matches:function(t){return t.isOrphan()}},{selector:":nonorphan",matches:function(t){return t.isChild()}},{selector:":compound",matches:function(t){return t.isNode()?t.isParent():t.source().isParent()||t.target().isParent()}},{selector:":loop",matches:function(t){return t.isLoop()}},{selector:":simple",matches:function(t){return t.isSimple()}},{selector:":active",matches:function(t){return t.active()}},{selector:":inactive",matches:function(t){return!t.active()}},{selector:":backgrounding",matches:function(t){return t.backgrounding()}},{selector:":nonbackgrounding",matches:function(t){return!t.backgrounding()}}].sort((function(t,e){return function(t,e){return-1*K(t,e)}(t.selector,e.selector)})),dr=function(){for(var t,e={},n=0;n0&&u.edgeCount>0)return Nt("The selector `"+t+"` is invalid because it uses both a compound selector and an edge selector"),!1;if(u.edgeCount>1)return Nt("The selector `"+t+"` is invalid because it uses multiple edge selectors"),!1;1===u.edgeCount&&Nt("The selector `"+t+"` is deprecated. Edge selectors do not take effect on changes to source and target nodes after an edge is added, for performance reasons. Use a class or data selector on edges instead, updating the class or data of an edge when your app detects a change in source or target nodes.")}return!0},toString:function(){if(null!=this.toStringCache)return this.toStringCache;for(var t=function(t){return null==t?"":t},e=function(e){return A(e)?'"'+e+'"':t(e)},n=function(t){return" "+t+" "},r=function(i,o){return i.checks.reduce((function(a,s,c){return a+(o===i&&0===c?"$":"")+function(i,o){var a=i.type,s=i.value;switch(a){case 0:var c=t(s);return c.substring(0,c.length-1);case 3:var u=i.field,l=i.operator;return"["+u+n(t(l))+e(s)+"]";case 5:var h=i.operator,f=i.field;return"["+t(h)+f+"]";case 4:return"["+i.field+"]";case 6:var d=i.operator;return"[["+i.field+n(t(d))+e(s)+"]]";case 7:return s;case 8:return"#"+s;case 9:return"."+s;case 17:case 15:return r(i.parent,o)+n(">")+r(i.child,o);case 18:case 16:return r(i.ancestor,o)+" "+r(i.descendant,o);case 19:var p=r(i.left,o),g=r(i.subject,o),v=r(i.right,o);return p+(p.length>0?" ":"")+g+v;case hr:return""}}(s,o)}),"")},i="",o=0;o1&&o=0&&(e=e.replace("!",""),l=!0),e.indexOf("@")>=0&&(e=e.replace("@",""),u=!0),(a||c||u)&&(i=a||s?""+t:"",o=""+n),u&&(t=i=i.toLowerCase(),n=o=o.toLowerCase()),e){case"*=":r=i.indexOf(o)>=0;break;case"$=":r=i.indexOf(o,i.length-o.length)>=0;break;case"^=":r=0===i.indexOf(o);break;case"=":r=t===n;break;case">":h=!0,r=t>n;break;case">=":h=!0,r=t>=n;break;case"<":h=!0,r=t0;){var u=i.shift();e(u),o.add(u.id()),a&&r(i,o,u)}return t}function Mr(t,e,n){if(n.isParent())for(var r=n._private.children,i=0;i1&&void 0!==arguments[1])||arguments[1],Mr)},Lr.forEachUp=function(t){return Ir(this,t,!(arguments.length>1&&void 0!==arguments[1])||arguments[1],Pr)},Lr.forEachUpAndDown=function(t){return Ir(this,t,!(arguments.length>1&&void 0!==arguments[1])||arguments[1],Dr)},Lr.ancestors=Lr.parents,(Ar=Sr={data:sr.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),removeData:sr.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),scratch:sr.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:sr.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),rscratch:sr.data({field:"rscratch",allowBinding:!1,allowSetting:!0,settingTriggersEvent:!1,allowGetting:!0}),removeRscratch:sr.removeData({field:"rscratch",triggerEvent:!1}),id:function(){var t=this[0];if(t)return t._private.data.id}}).attr=Ar.data,Ar.removeAttr=Ar.removeData;var Rr,jr,Gr=Sr,Br={};function Fr(t){return function(e){var n=this;if(void 0===e&&(e=!0),0!==n.length&&n.isNode()&&!n.removed()){for(var r=0,i=n[0],o=i._private.edges,a=0;ae})),minIndegree:Hr("indegree",(function(t,e){return te})),minOutdegree:Hr("outdegree",(function(t,e){return te}))}),Q(Br,{totalDegree:function(t){for(var e=0,n=this.nodes(),r=0;r0,l=u;u&&(c=c[0]);var h=l?c.position():{x:0,y:0};return i={x:s.x-h.x,y:s.y-h.y},void 0===t?i:i[t]}for(var f=0;f0,v=g;g&&(p=p[0]);var b=v?p.position():{x:0,y:0};void 0!==e?d.position(t,e+b[t]):void 0!==i&&d.position({x:i.x+b.x,y:i.y+b.y})}}else if(!o)return;return this}},Rr.modelPosition=Rr.point=Rr.position,Rr.modelPositions=Rr.points=Rr.positions,Rr.renderedPoint=Rr.renderedPosition,Rr.relativePoint=Rr.relativePosition;var Ur,Vr,qr=jr;Ur=Vr={},Vr.renderedBoundingBox=function(t){var e=this.boundingBox(t),n=this.cy(),r=n.zoom(),i=n.pan(),o=e.x1*r+i.x,a=e.x2*r+i.x,s=e.y1*r+i.y,c=e.y2*r+i.y;return{x1:o,x2:a,y1:s,y2:c,w:a-o,h:c-s}},Vr.dirtyCompoundBoundsCache=function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0],e=this.cy();return e.styleEnabled()&&e.hasCompoundNodes()?(this.forEachUp((function(e){if(e.isParent()){var n=e._private;n.compoundBoundsClean=!1,n.bbCache=null,t||e.emitAndNotify("bounds")}})),this):this},Vr.updateCompoundBounds=function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0],e=this.cy();if(!e.styleEnabled()||!e.hasCompoundNodes())return this;if(!t&&e.batching())return this;function n(t){if(t.isParent()){var e=t._private,n=t.children(),r="include"===t.pstyle("compound-sizing-wrt-labels").value,i={width:{val:t.pstyle("min-width").pfValue,left:t.pstyle("min-width-bias-left"),right:t.pstyle("min-width-bias-right")},height:{val:t.pstyle("min-height").pfValue,top:t.pstyle("min-height-bias-top"),bottom:t.pstyle("min-height-bias-bottom")}},o=n.boundingBox({includeLabels:r,includeOverlays:!1,useCache:!1}),a=e.position;0!==o.w&&0!==o.h||((o={w:t.pstyle("width").pfValue,h:t.pstyle("height").pfValue}).x1=a.x-o.w/2,o.x2=a.x+o.w/2,o.y1=a.y-o.h/2,o.y2=a.y+o.h/2);var s=i.width.left.value;"px"===i.width.left.units&&i.width.val>0&&(s=100*s/i.width.val);var c=i.width.right.value;"px"===i.width.right.units&&i.width.val>0&&(c=100*c/i.width.val);var u=i.height.top.value;"px"===i.height.top.units&&i.height.val>0&&(u=100*u/i.height.val);var l=i.height.bottom.value;"px"===i.height.bottom.units&&i.height.val>0&&(l=100*l/i.height.val);var h=b(i.width.val-o.w,s,c),f=h.biasDiff,d=h.biasComplementDiff,p=b(i.height.val-o.h,u,l),g=p.biasDiff,v=p.biasComplementDiff;e.autoPadding=function(t,e,n,r){if("%"!==n.units)return"px"===n.units?n.pfValue:0;switch(r){case"width":return t>0?n.pfValue*t:0;case"height":return e>0?n.pfValue*e:0;case"average":return t>0&&e>0?n.pfValue*(t+e)/2:0;case"min":return t>0&&e>0?t>e?n.pfValue*e:n.pfValue*t:0;case"max":return t>0&&e>0?t>e?n.pfValue*t:n.pfValue*e:0;default:return 0}}(o.w,o.h,t.pstyle("padding"),t.pstyle("padding-relative-to").value),e.autoWidth=Math.max(o.w,i.width.val),a.x=(-f+o.x1+o.x2+d)/2,e.autoHeight=Math.max(o.h,i.height.val),a.y=(-g+o.y1+o.y2+v)/2}function b(t,e,n){var r=0,i=0,o=e+n;return t>0&&o>0&&(r=e/o*t,i=n/o*t),{biasDiff:r,biasComplementDiff:i}}}for(var r=0;rt.x2?r:t.x2,t.y1=nt.y2?i:t.y2,t.w=t.x2-t.x1,t.h=t.y2-t.y1)},$r=function(t,e){return null==e?t:Wr(t,e.x1,e.y1,e.x2,e.y2)},Zr=function(t,e,n){return Dt(t,e,n)},Kr=function(t,e,n){if(!e.cy().headless()){var r,i,o=e._private,a=o.rstyle,s=a.arrowWidth/2;if("none"!==e.pstyle(n+"-arrow-shape").value){"source"===n?(r=a.srcX,i=a.srcY):"target"===n?(r=a.tgtX,i=a.tgtY):(r=a.midX,i=a.midY);var c=o.arrowBounds=o.arrowBounds||{},u=c[n]=c[n]||{};u.x1=r-s,u.y1=i-s,u.x2=r+s,u.y2=i+s,u.w=u.x2-u.x1,u.h=u.y2-u.y1,be(u,1),Wr(t,u.x1,u.y1,u.x2,u.y2)}}},Qr=function(t,e,n){if(!e.cy().headless()){var r;r=n?n+"-":"";var i=e._private,o=i.rstyle;if(e.pstyle(r+"label").strValue){var a,s,c,u,l=e.pstyle("text-halign"),h=e.pstyle("text-valign"),f=Zr(o,"labelWidth",n),d=Zr(o,"labelHeight",n),p=Zr(o,"labelX",n),g=Zr(o,"labelY",n),v=e.pstyle(r+"text-margin-x").pfValue,b=e.pstyle(r+"text-margin-y").pfValue,y=e.isEdge(),m=e.pstyle(r+"text-rotation"),w=e.pstyle("text-outline-width").pfValue,x=e.pstyle("text-border-width").pfValue/2,_=e.pstyle("text-background-padding").pfValue,E=d,k=f,T=k/2,C=E/2;if(y)a=p-T,s=p+T,c=g-C,u=g+C;else{switch(l.value){case"left":a=p-k,s=p;break;case"center":a=p-T,s=p+T;break;case"right":a=p,s=p+k}switch(h.value){case"top":c=g-E,u=g;break;case"center":c=g-C,u=g+C;break;case"bottom":c=g,u=g+E}}a+=v-Math.max(w,x)-_-2,s+=v+Math.max(w,x)+_+2,c+=b-Math.max(w,x)-_-2,u+=b+Math.max(w,x)+_+2;var N=n||"main",A=i.labelBounds,S=A[N]=A[N]||{};S.x1=a,S.y1=c,S.x2=s,S.y2=u,S.w=s-a,S.h=u-c;var O=y&&"autorotate"===m.strValue,L=null!=m.pfValue&&0!==m.pfValue;if(O||L){var I=O?Zr(i.rstyle,"labelAngle",n):m.pfValue,M=Math.cos(I),P=Math.sin(I),D=(a+s)/2,R=(c+u)/2;if(!y){switch(l.value){case"left":D=s;break;case"right":D=a}switch(h.value){case"top":R=u;break;case"bottom":R=c}}var j=function(t,e){return{x:(t-=D)*M-(e-=R)*P+D,y:t*P+e*M+R}},G=j(a,c),B=j(a,u),F=j(s,c),H=j(s,u);a=Math.min(G.x,B.x,F.x,H.x),s=Math.max(G.x,B.x,F.x,H.x),c=Math.min(G.y,B.y,F.y,H.y),u=Math.max(G.y,B.y,F.y,H.y)}var Y=N+"Rot",z=A[Y]=A[Y]||{};z.x1=a,z.y1=c,z.x2=s,z.y2=u,z.w=s-a,z.h=u-c,Wr(t,a,c,s,u),Wr(i.labelBounds.all,a,c,s,u)}return t}},Jr=function(t){var e=0,n=function(t){return(t?1:0)<0&&o>0){var a=e.pstyle("outline-offset").value,s=e.pstyle("shape").value,c=o+a,u=(t.w+2*c)/t.w,l=(t.h+2*c)/t.h,h=0;["diamond","pentagon","round-triangle"].includes(s)?(u=(t.w+2.4*c)/t.w,h=-c/3.6):["concave-hexagon","rhomboid","right-rhomboid"].includes(s)?u=(t.w+2.4*c)/t.w:"star"===s?(u=(t.w+2.8*c)/t.w,l=(t.h+2.6*c)/t.h,h=-c/3.8):"triangle"===s?(u=(t.w+2.8*c)/t.w,l=(t.h+2.4*c)/t.h,h=-c/1.4):"vee"===s&&(u=(t.w+4.4*c)/t.w,l=(t.h+3.8*c)/t.h,h=.5*-c);var f=t.h*l-t.h,d=t.w*u-t.w;if(ye(t,[Math.ceil(f/2),Math.ceil(d/2)]),0!==h){var p=(r=h,{x1:(n=t).x1+0,x2:n.x2+0,y1:n.y1+r,y2:n.y2+r,w:n.w,h:n.h});ge(t,p)}}}}(f,t)}else if(g&&e.includeEdges)if(l&&!h){var N=t.pstyle("curve-style").strValue;if(n=Math.min(v.srcX,v.midX,v.tgtX),r=Math.max(v.srcX,v.midX,v.tgtX),i=Math.min(v.srcY,v.midY,v.tgtY),o=Math.max(v.srcY,v.midY,v.tgtY),Wr(f,n-=E,i-=E,r+=E,o+=E),"haystack"===N){var A=v.haystackPts;if(A&&2===A.length){if(n=A[0].x,i=A[0].y,n>(r=A[1].x)){var S=n;n=r,r=S}if(i>(o=A[1].y)){var O=i;i=o,o=O}Wr(f,n-E,i-E,r+E,o+E)}}else if("bezier"===N||"unbundled-bezier"===N||"segments"===N||"taxi"===N){var L;switch(N){case"bezier":case"unbundled-bezier":L=v.bezierPts;break;case"segments":case"taxi":L=v.linePts}if(null!=L)for(var I=0;I(r=D.x)){var R=n;n=r,r=R}if((i=P.y)>(o=D.y)){var j=i;i=o,o=j}Wr(f,n-=E,i-=E,r+=E,o+=E)}if(l&&e.includeEdges&&g&&(Kr(f,t,"mid-source"),Kr(f,t,"mid-target"),Kr(f,t,"source"),Kr(f,t,"target")),l&&"yes"===t.pstyle("ghost").value){var G=t.pstyle("ghost-offset-x").pfValue,B=t.pstyle("ghost-offset-y").pfValue;Wr(f,f.x1+G,f.y1+B,f.x2+G,f.y2+B)}var F=d.bodyBounds=d.bodyBounds||{};me(F,f),ye(F,b),be(F,1),l&&(n=f.x1,r=f.x2,i=f.y1,o=f.y2,Wr(f,n-_,i-_,r+_,o+_));var H=d.overlayBounds=d.overlayBounds||{};me(H,f),ye(H,b),be(H,1);var Y=d.labelBounds=d.labelBounds||{};null!=Y.all?((c=Y.all).x1=1/0,c.y1=1/0,c.x2=-1/0,c.y2=-1/0,c.w=0,c.h=0):Y.all=pe(),l&&e.includeLabels&&(e.includeMainLabels&&Qr(f,t,null),g&&(e.includeSourceLabels&&Qr(f,t,"source"),e.includeTargetLabels&&Qr(f,t,"target")))}return f.x1=Xr(f.x1),f.y1=Xr(f.y1),f.x2=Xr(f.x2),f.y2=Xr(f.y2),f.w=Xr(f.x2-f.x1),f.h=Xr(f.y2-f.y1),f.w>0&&f.h>0&&m&&(ye(f,b),be(f,1)),f}(t,ni),r.bbCache=n,r.bbCachePosKey=a):n=r.bbCache,!o){var l=t.isNode();n=pe(),(e.includeNodes&&l||e.includeEdges&&!l)&&(e.includeOverlays?$r(n,r.overlayBounds):$r(n,r.bodyBounds)),e.includeLabels&&(e.includeMainLabels&&(!i||e.includeSourceLabels&&e.includeTargetLabels)?$r(n,r.labelBounds.all):(e.includeMainLabels&&$r(n,r.labelBounds.mainRot),e.includeSourceLabels&&$r(n,r.labelBounds.sourceRot),e.includeTargetLabels&&$r(n,r.labelBounds.targetRot))),n.w=n.x2-n.x1,n.h=n.y2-n.y1}return n},ni={includeNodes:!0,includeEdges:!0,includeLabels:!0,includeMainLabels:!0,includeSourceLabels:!0,includeTargetLabels:!0,includeOverlays:!0,includeUnderlays:!0,includeOutlines:!0,useCache:!0},ri=Jr(ni),ii=It(ni);Vr.boundingBox=function(t){var e;if(1!==this.length||null==this[0]._private.bbCache||this[0]._private.styleDirty||void 0!==t&&void 0!==t.useCache&&!0!==t.useCache){e=pe();var n=ii(t=t||ni),r=this;if(r.cy().styleEnabled())for(var i=0;i0&&void 0!==arguments[0]?arguments[0]:mi,e=arguments.length>1?arguments[1]:void 0,n=0;n=0;s--)a(s);return this},xi.removeAllListeners=function(){return this.removeListener("*")},xi.emit=xi.trigger=function(t,e,n){var r=this.listeners,i=r.length;return this.emitting++,O(e)||(e=[e]),function(t,e,n){if("event"!==N(n))if(L(n))e(t,Ei(t,n));else for(var r=O(n)?n:n.split(/\s+/),i=0;i1&&!r){var i=this.length-1,o=this[i],a=o._private.data.id;this[i]=void 0,this[t]=o,n.set(a,{ele:o,index:t})}return this.length--,this},unmergeOne:function(t){t=t[0];var e=this._private,n=t._private.data.id,r=e.map.get(n);if(!r)return this;var i=r.index;return this.unmergeAt(i),this},unmerge:function(t){var e=this._private.cy;if(!t)return this;if(t&&A(t)){var n=t;t=e.mutableElements().filter(n)}for(var r=0;r=0;e--)t(this[e])&&this.unmergeAt(e);return this},map:function(t,e){for(var n=[],r=this,i=0;ir&&(r=s,n=a)}return{value:r,ele:n}},min:function(t,e){for(var n,r=1/0,i=this,o=0;o=0&&i1&&void 0!==arguments[1])||arguments[1],n=this[0],r=n.cy();if(r.styleEnabled()&&n){this.cleanStyle();var i=n._private.style[t];return null!=i?i:e?r.style().getDefaultProperty(t):null}},numericStyle:function(t){var e=this[0];if(e.cy().styleEnabled()&&e){var n=e.pstyle(t);return void 0!==n.pfValue?n.pfValue:n.value}},numericStyleUnits:function(t){var e=this[0];if(e.cy().styleEnabled())return e?e.pstyle(t).units:void 0},renderedStyle:function(t){var e=this.cy();if(!e.styleEnabled())return this;var n=this[0];return n?e.style().getRenderedStyle(n,t):void 0},style:function(t,e){var n=this.cy();if(!n.styleEnabled())return this;var r=n.style();if(L(t)){var i=t;r.applyBypass(this,i,!1),this.emitAndNotify("style")}else if(A(t)){if(void 0===e){var o=this[0];return o?r.getStylePropertyValue(o,t):void 0}r.applyBypass(this,t,e,!1),this.emitAndNotify("style")}else if(void 0===t){var a=this[0];return a?r.getRawStyle(a):void 0}return this},removeStyle:function(t){var e=this.cy();if(!e.styleEnabled())return this;var n=e.style(),r=this;if(void 0===t)for(var i=0;i0&&e.push(l[0]),e.push(s[0])}return this.spawn(e,!0).filter(t)}),"neighborhood"),closedNeighborhood:function(t){return this.neighborhood().add(this).filter(t)},openNeighborhood:function(t){return this.neighborhood(t)}}),Wi.neighbourhood=Wi.neighborhood,Wi.closedNeighbourhood=Wi.closedNeighborhood,Wi.openNeighbourhood=Wi.openNeighborhood,Q(Wi,{source:Or((function(t){var e,n=this[0];return n&&(e=n._private.source||n.cy().collection()),e&&t?e.filter(t):e}),"source"),target:Or((function(t){var e,n=this[0];return n&&(e=n._private.target||n.cy().collection()),e&&t?e.filter(t):e}),"target"),sources:Qi({attr:"source"}),targets:Qi({attr:"target"})}),Q(Wi,{edgesWith:Or(Ji(),"edgesWith"),edgesTo:Or(Ji({thisIsSrc:!0}),"edgesTo")}),Q(Wi,{connectedEdges:Or((function(t){for(var e=[],n=0;n0);return o},component:function(){var t=this[0];return t.cy().mutableElements().components(t)[0]}}),Wi.componentsOf=Wi.components;var eo=function(t,e){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(void 0!==t){var i=new jt,o=!1;if(e){if(e.length>0&&L(e[0])&&!D(e[0])){o=!0;for(var a=[],s=new Bt,c=0,u=e.length;c0&&void 0!==arguments[0])||arguments[0],r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=this,o=i.cy(),a=o._private,s=[],c=[],u=0,l=i.length;u0){for(var R=t.length===i.length?i:new eo(o,t),j=0;j0&&void 0!==arguments[0])||arguments[0],e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=this,r=[],i={},o=n._private.cy;function a(t){var n=i[t.id()];e&&t.removed()||n||(i[t.id()]=!0,t.isNode()?(r.push(t),function(t){for(var e=t._private.edges,n=0;n0&&(t?E.emitAndNotify("remove"):e&&E.emit("remove"));for(var k=0;k=.001?function(e,r){for(var i=0;i<4;++i){var o=f(r,t,n);if(0===o)return r;r-=(h(r,t,n)-e)/o}return r}(e,a):0===c?a:function(e,r,i){var o,a,s=0;do{(o=h(a=r+(i-r)/2,t,n)-e)>0?i=a:r=a}while(Math.abs(o)>1e-7&&++s<10);return a}(e,r,r+i)}(o),e,r)};p.getControlPoints=function(){return[{x:t,y:e},{x:n,y:r}]};var g="generateBezier("+[t,e,n,r]+")";return p.toString=function(){return g},p}var oo=function(){function t(t){return-t.tension*t.x-t.friction*t.v}function e(e,n,r){var i={x:e.x+r.dx*n,v:e.v+r.dv*n,tension:e.tension,friction:e.friction};return{dx:i.v,dv:t(i)}}function n(n,r){var i={dx:n.v,dv:t(n)},o=e(n,.5*r,i),a=e(n,.5*r,o),s=e(n,r,a),c=1/6*(i.dx+2*(o.dx+a.dx)+s.dx),u=1/6*(i.dv+2*(o.dv+a.dv)+s.dv);return n.x=n.x+c*r,n.v=n.v+u*r,n}return function t(e,r,i){var o,a,s,c={x:-1,v:0,tension:null,friction:null},u=[0],l=0,h=1e-4;for(e=parseFloat(e)||500,r=parseFloat(r)||20,i=i||null,c.tension=e,c.friction=r,a=(o=null!==i)?(l=t(e,r))/i*.016:.016;s=n(s||c,a),u.push(1+s.x),l+=16,Math.abs(s.x)>h&&Math.abs(s.v)>h;);return o?function(t){return u[t*(u.length-1)|0]}:l}}(),ao=function(t,e,n,r){var i=io(t,e,n,r);return function(t,e,n){return t+(e-t)*i(n)}},so={linear:function(t,e,n){return t+(e-t)*n},ease:ao(.25,.1,.25,1),"ease-in":ao(.42,0,1,1),"ease-out":ao(0,0,.58,1),"ease-in-out":ao(.42,0,.58,1),"ease-in-sine":ao(.47,0,.745,.715),"ease-out-sine":ao(.39,.575,.565,1),"ease-in-out-sine":ao(.445,.05,.55,.95),"ease-in-quad":ao(.55,.085,.68,.53),"ease-out-quad":ao(.25,.46,.45,.94),"ease-in-out-quad":ao(.455,.03,.515,.955),"ease-in-cubic":ao(.55,.055,.675,.19),"ease-out-cubic":ao(.215,.61,.355,1),"ease-in-out-cubic":ao(.645,.045,.355,1),"ease-in-quart":ao(.895,.03,.685,.22),"ease-out-quart":ao(.165,.84,.44,1),"ease-in-out-quart":ao(.77,0,.175,1),"ease-in-quint":ao(.755,.05,.855,.06),"ease-out-quint":ao(.23,1,.32,1),"ease-in-out-quint":ao(.86,0,.07,1),"ease-in-expo":ao(.95,.05,.795,.035),"ease-out-expo":ao(.19,1,.22,1),"ease-in-out-expo":ao(1,0,0,1),"ease-in-circ":ao(.6,.04,.98,.335),"ease-out-circ":ao(.075,.82,.165,1),"ease-in-out-circ":ao(.785,.135,.15,.86),spring:function(t,e,n){if(0===n)return so.linear;var r=oo(t,e,n);return function(t,e,n){return t+(e-t)*r(n)}},"cubic-bezier":ao};function co(t,e,n,r,i){if(1===r)return n;if(e===n)return n;var o=i(e,n,r);return null==t||((t.roundValue||t.color)&&(o=Math.round(o)),void 0!==t.min&&(o=Math.max(o,t.min)),void 0!==t.max&&(o=Math.min(o,t.max))),o}function uo(t,e){return null!=t.pfValue||null!=t.value?null==t.pfValue||null!=e&&"%"===e.type.units?t.value:t.pfValue:t}function lo(t,e,n,r,i){var o=null!=i?i.type:null;n<0?n=0:n>1&&(n=1);var a=uo(t,i),s=uo(e,i);if(I(a)&&I(s))return co(o,a,s,n,r);if(O(a)&&O(s)){for(var c=[],u=0;u0?("spring"===h&&f.push(a.duration),a.easingImpl=so[h].apply(null,f)):a.easingImpl=so[h]}var d,p=a.easingImpl;if(d=0===a.duration?1:(n-c)/a.duration,a.applying&&(d=a.progress),d<0?d=0:d>1&&(d=1),null==a.delay){var g=a.startPosition,v=a.position;if(v&&i&&!t.locked()){var b={};fo(g.x,v.x)&&(b.x=lo(g.x,v.x,d,p)),fo(g.y,v.y)&&(b.y=lo(g.y,v.y,d,p)),t.position(b)}var y=a.startPan,m=a.pan,w=o.pan,x=null!=m&&r;x&&(fo(y.x,m.x)&&(w.x=lo(y.x,m.x,d,p)),fo(y.y,m.y)&&(w.y=lo(y.y,m.y,d,p)),t.emit("pan"));var _=a.startZoom,E=a.zoom,k=null!=E&&r;k&&(fo(_,E)&&(o.zoom=de(o.minZoom,lo(_,E,d,p),o.maxZoom)),t.emit("zoom")),(x||k)&&t.emit("viewport");var T=a.style;if(T&&T.length>0&&i){for(var C=0;C=0;e--)(0,t[e])();t.splice(0,t.length)},l=o.length-1;l>=0;l--){var h=o[l],f=h._private;f.stopped?(o.splice(l,1),f.hooked=!1,f.playing=!1,f.started=!1,u(f.frames)):(f.playing||f.applying)&&(f.playing&&f.applying&&(f.applying=!1),f.started||po(0,h,t),ho(e,h,t,n),f.applying&&(f.applying=!1),u(f.frames),null!=f.step&&f.step(t),h.completed()&&(o.splice(l,1),f.hooked=!1,f.playing=!1,f.started=!1,u(f.completes)),s=!0)}return n||0!==o.length||0!==a.length||r.push(e),s}for(var o=!1,a=0;a0?e.notify("draw",n):e.notify("draw")),n.unmerge(r),e.emit("step")}var vo={animate:sr.animate(),animation:sr.animation(),animated:sr.animated(),clearQueue:sr.clearQueue(),delay:sr.delay(),delayAnimation:sr.delayAnimation(),stop:sr.stop(),addToAnimationPool:function(t){this.styleEnabled()&&this._private.aniEles.merge(t)},stopAnimationLoop:function(){this._private.animationsRunning=!1},startAnimationLoop:function(){var t=this;if(t._private.animationsRunning=!0,t.styleEnabled()){var e=t.renderer();e&&e.beforeRender?e.beforeRender((function(e,n){go(n,t)}),e.beforeRenderPriorities.animations):function e(){t._private.animationsRunning&&ot((function(n){go(n,t),e()}))}()}}},bo={qualifierCompare:function(t,e){return null==t||null==e?null==t&&null==e:t.sameText(e)},eventMatches:function(t,e,n){var r=e.qualifier;return null==r||t!==n.target&&D(n.target)&&r.matches(n.target)},addEventFields:function(t,e){e.cy=t,e.target=t},callbackContext:function(t,e,n){return null!=e.qualifier?n.target:t}},yo=function(t){return A(t)?new Tr(t):t},mo={createEmitter:function(){var t=this._private;return t.emitter||(t.emitter=new wi(bo,this)),this},emitter:function(){return this._private.emitter},on:function(t,e,n){return this.emitter().on(t,yo(e),n),this},removeListener:function(t,e,n){return this.emitter().removeListener(t,yo(e),n),this},removeAllListeners:function(){return this.emitter().removeAllListeners(),this},one:function(t,e,n){return this.emitter().one(t,yo(e),n),this},once:function(t,e,n){return this.emitter().one(t,yo(e),n),this},emit:function(t,e){return this.emitter().emit(t,e),this},emitAndNotify:function(t,e){return this.emit(t),this.notify(t,e),this}};sr.eventAliasesOn(mo);var wo={png:function(t){return t=t||{},this._private.renderer.png(t)},jpg:function(t){var e=this._private.renderer;return(t=t||{}).bg=t.bg||"#fff",e.jpg(t)}};wo.jpeg=wo.jpg;var xo={layout:function(t){var e=this;if(null!=t)if(null!=t.name){var n,r=t.name,i=e.extension("layout",r);if(null!=i)return n=A(t.eles)?e.$(t.eles):null!=t.eles?t.eles:e.$(),new i(Q({},t,{cy:e,eles:n}));Tt("No such layout `"+r+"` found. Did you forget to import it and `cytoscape.use()` it?")}else Tt("A `name` must be specified to make a layout");else Tt("Layout options must be specified to make a layout")}};xo.createLayout=xo.makeLayout=xo.layout;var _o={notify:function(t,e){var n=this._private;if(this.batching()){n.batchNotifications=n.batchNotifications||{};var r=n.batchNotifications[t]=n.batchNotifications[t]||this.collection();null!=e&&r.merge(e)}else if(n.notificationsEnabled){var i=this.renderer();!this.destroyed()&&i&&i.notify(t,e)}},notifications:function(t){var e=this._private;return void 0===t?e.notificationsEnabled:(e.notificationsEnabled=!!t,this)},noNotifications:function(t){this.notifications(!1),t(),this.notifications(!0)},batching:function(){return this._private.batchCount>0},startBatch:function(){var t=this._private;return null==t.batchCount&&(t.batchCount=0),0===t.batchCount&&(t.batchStyleEles=this.collection(),t.batchNotifications={}),t.batchCount++,this},endBatch:function(){var t=this._private;if(0===t.batchCount)return this;if(t.batchCount--,0===t.batchCount){t.batchStyleEles.updateStyle();var e=this.renderer();Object.keys(t.batchNotifications).forEach((function(n){var r=t.batchNotifications[n];r.empty()?e.notify(n):e.notify(n,r)}))}return this},batch:function(t){return this.startBatch(),t(),this.endBatch(),this},batchData:function(t){var e=this;return this.batch((function(){for(var n=Object.keys(t),r=0;r0;)e.removeChild(e.childNodes[0]);t._private.renderer=null,t.mutableElements().forEach((function(t){var e=t._private;e.rscratch={},e.rstyle={},e.animation.current=[],e.animation.queue=[]}))},onRender:function(t){return this.on("render",t)},offRender:function(t){return this.off("render",t)}};ko.invalidateDimensions=ko.resize;var To={collection:function(t,e){return A(t)?this.$(t):P(t)?t.collection():O(t)?(e||(e={}),new eo(this,t,e.unique,e.removed)):new eo(this)},nodes:function(t){var e=this.$((function(t){return t.isNode()}));return t?e.filter(t):e},edges:function(t){var e=this.$((function(t){return t.isEdge()}));return t?e.filter(t):e},$:function(t){var e=this._private.elements;return t?e.filter(t):e.spawnSelf()},mutableElements:function(){return this._private.elements}};To.elements=To.filter=To.$;var Co={},No="t";Co.apply=function(t){for(var e=this,n=e._private.cy.collection(),r=0;r0;if(f||h&&d){var p=void 0;f&&d||f?p=u.properties:d&&(p=u.mappedProperties);for(var g=0;g1&&(v=1),s.color){var x=i.valueMin[0],_=i.valueMax[0],E=i.valueMin[1],k=i.valueMax[1],T=i.valueMin[2],C=i.valueMax[2],N=null==i.valueMin[3]?1:i.valueMin[3],A=null==i.valueMax[3]?1:i.valueMax[3],S=[Math.round(x+(_-x)*v),Math.round(E+(k-E)*v),Math.round(T+(C-T)*v),Math.round(N+(A-N)*v)];n={bypass:i.bypass,name:i.name,value:S,strValue:"rgb("+S[0]+", "+S[1]+", "+S[2]+")"}}else{if(!s.number)return!1;var O=i.valueMin+(i.valueMax-i.valueMin)*v;n=this.parse(i.name,O,i.bypass,f)}if(!n)return g(),!1;n.mapping=i,i=n;break;case a.data:for(var L=i.field.split("."),M=h.data,P=0;P0&&o>0){for(var s={},c=!1,u=0;u0?t.delayAnimation(a).play().promise().then(e):e()})).then((function(){return t.animation({style:s,duration:o,easing:t.pstyle("transition-timing-function").value,queue:!1}).play().promise()})).then((function(){n.removeBypasses(t,i),t.emitAndNotify("style"),r.transitioning=!1}))}else r.transitioning&&(this.removeBypasses(t,i),t.emitAndNotify("style"),r.transitioning=!1)},Co.checkTrigger=function(t,e,n,r,i,o){var a=this.properties[e],s=i(a);null!=s&&s(n,r)&&o(a)},Co.checkZOrderTrigger=function(t,e,n,r){var i=this;this.checkTrigger(t,e,n,r,(function(t){return t.triggersZOrder}),(function(){i._private.cy.notify("zorder",t)}))},Co.checkBoundsTrigger=function(t,e,n,r){this.checkTrigger(t,e,n,r,(function(t){return t.triggersBounds}),(function(i){t.dirtyCompoundBoundsCache(),t.dirtyBoundingBoxCache(),!i.triggersBoundsOfParallelBeziers||"curve-style"!==e||"bezier"!==n&&"bezier"!==r||t.parallelEdges().forEach((function(t){t.isBundledBezier()&&t.dirtyBoundingBoxCache()})),!i.triggersBoundsOfConnectedEdges||"display"!==e||"none"!==n&&"none"!==r||t.connectedEdges().forEach((function(t){t.dirtyBoundingBoxCache()}))}))},Co.checkTriggers=function(t,e,n,r){t.dirtyStyleCache(),this.checkZOrderTrigger(t,e,n,r),this.checkBoundsTrigger(t,e,n,r)};var Ao={applyBypass:function(t,e,n,r){var i=[];if("*"===e||"**"===e){if(void 0!==n)for(var o=0;oe.length?o.substr(e.length):""}function s(){n=n.length>r.length?n.substr(r.length):""}for(o=o.replace(/[/][*](\s|.)+?[*][/]/g,"");!o.match(/^\s*$/);){var c=o.match(/^\s*((?:.|\s)+?)\s*\{((?:.|\s)+?)\}/);if(!c){Nt("Halting stylesheet parsing: String stylesheet contains more to parse but no selector and block found in: "+o);break}e=c[0];var u=c[1];if("core"!==u&&new Tr(u).invalid)Nt("Skipping parsing of block: Invalid selector found in string stylesheet: "+u),a();else{var l=c[2],h=!1;n=l;for(var f=[];!n.match(/^\s*$/);){var d=n.match(/^\s*(.+?)\s*:\s*(.+?)(?:\s*;|\s*$)/);if(!d){Nt("Skipping parsing of block: Invalid formatting of style property and value definitions found in:"+l),h=!0;break}r=d[0];var p=d[1],g=d[2];this.properties[p]?i.parse(p,g)?(f.push({name:p,val:g}),s()):(Nt("Skipping property: Invalid property definition in: "+r),s()):(Nt("Skipping property: Invalid property name in: "+r),s())}if(h){a();break}i.selector(u);for(var v=0;v=7&&"d"===e[0]&&(u=new RegExp(s.data.regex).exec(e))){if(n)return!1;var f=s.data;return{name:t,value:u,strValue:""+e,mapped:f,field:u[1],bypass:n}}if(e.length>=10&&"m"===e[0]&&(l=new RegExp(s.mapData.regex).exec(e))){if(n)return!1;if(h.multiple)return!1;var d=s.mapData;if(!h.color&&!h.number)return!1;var p=this.parse(t,l[4]);if(!p||p.mapped)return!1;var g=this.parse(t,l[5]);if(!g||g.mapped)return!1;if(p.pfValue===g.pfValue||p.strValue===g.strValue)return Nt("`"+t+": "+e+"` is not a valid mapper because the output range is zero; converting to `"+t+": "+p.strValue+"`"),this.parse(t,p.strValue);if(h.color){var v=p.value,b=g.value;if(!(v[0]!==b[0]||v[1]!==b[1]||v[2]!==b[2]||v[3]!==b[3]&&(null!=v[3]&&1!==v[3]||null!=b[3]&&1!==b[3])))return!1}return{name:t,value:l,strValue:""+e,mapped:d,field:l[1],fieldMin:parseFloat(l[2]),fieldMax:parseFloat(l[3]),valueMin:p.value,valueMax:g.value,bypass:n}}}if(h.multiple&&"multiple"!==r){var y;if(y=c?e.split(/\s+/):O(e)?e:[e],h.evenMultiple&&y.length%2!=0)return null;for(var m=[],w=[],x=[],_="",E=!1,k=0;k0?" ":"")+T.strValue}return h.validate&&!h.validate(m,w)?null:h.singleEnum&&E?1===m.length&&A(m[0])?{name:t,value:m[0],strValue:m[0],bypass:n}:null:{name:t,value:m,pfValue:x,strValue:_,bypass:n,units:w}}var C,N,L,M=function(){for(var r=0;rh.max||h.strictMax&&e===h.max))return null;var G={name:t,value:e,strValue:""+e+(P||""),units:P,bypass:n};return h.unitless||"px"!==P&&"em"!==P?G.pfValue=e:G.pfValue="px"!==P&&P?this.getEmSizeInPixels()*e:e,"ms"!==P&&"s"!==P||(G.pfValue="ms"===P?e:1e3*e),"deg"!==P&&"rad"!==P||(G.pfValue="rad"===P?e:(C=e,Math.PI*C/180)),"%"===P&&(G.pfValue=e/100),G}if(h.propList){var B=[],F=""+e;if("none"===F);else{for(var H=F.split(/\s*,\s*|\s+/),z=0;z255)return;e.push(Math.floor(o))}var a=r[1]||r[2]||r[3],s=r[1]&&r[2]&&r[3];if(a&&!s)return;var c=n[4];if(void 0!==c){if((c=parseFloat(c))<0||c>1)return;e.push(c)}}return e}(L)||function(t){var e,n,r,i,o,a,s,c;function u(t,e,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?t+6*(e-t)*n:n<.5?e:n<2/3?t+(e-t)*(2/3-n)*6:t}var l=new RegExp("^"+$+"$").exec(t);if(l){if((n=parseInt(l[1]))<0?n=(360- -1*n%360)%360:n>360&&(n%=360),n/=360,(r=parseFloat(l[2]))<0||r>100)return;if(r/=100,(i=parseFloat(l[3]))<0||i>100)return;if(i/=100,void 0!==(o=l[4])&&((o=parseFloat(o))<0||o>1))return;if(0===r)a=s=c=Math.round(255*i);else{var h=i<.5?i*(1+r):i+r-i*r,f=2*i-h;a=Math.round(255*u(f,h,n+1/3)),s=Math.round(255*u(f,h,n)),c=Math.round(255*u(f,h,n-1/3))}e=[a,s,c,o]}return e}(L);return V?{name:t,value:V,pfValue:V,strValue:"rgb("+V[0]+","+V[1]+","+V[2]+")",bypass:n}:null}if(h.regex||h.regexes){if(h.enums){var W=M();if(W)return W}for(var Z=h.regexes?h.regexes:[h.regex],K=0;K0&&c>0&&!isNaN(n.w)&&!isNaN(n.h)&&n.w>0&&n.h>0)return{zoom:a=(a=(a=Math.min((s-2*e)/n.w,(c-2*e)/n.h))>this._private.maxZoom?this._private.maxZoom:a)=n.minZoom&&(n.maxZoom=e),this},minZoom:function(t){return void 0===t?this._private.minZoom:this.zoomRange({min:t})},maxZoom:function(t){return void 0===t?this._private.maxZoom:this.zoomRange({max:t})},getZoomedViewport:function(t){var e,n,r=this._private,i=r.pan,o=r.zoom,a=!1;if(r.zoomingEnabled||(a=!0),I(t)?n=t:L(t)&&(n=t.level,null!=t.position?e=ne(t.position,o,i):null!=t.renderedPosition&&(e=t.renderedPosition),null==e||r.panningEnabled||(a=!0)),n=(n=n>r.maxZoom?r.maxZoom:n)e.maxZoom||!e.zoomingEnabled?o=!0:(e.zoom=s,i.push("zoom"))}if(r&&(!o||!t.cancelOnFailedZoom)&&e.panningEnabled){var c=t.pan;I(c.x)&&(e.pan.x=c.x,a=!1),I(c.y)&&(e.pan.y=c.y,a=!1),a||i.push("pan")}return i.length>0&&(i.push("viewport"),this.emit(i.join(" ")),this.notify("viewport")),this},center:function(t){var e=this.getCenterPan(t);return e&&(this._private.pan=e,this.emit("pan viewport"),this.notify("viewport")),this},getCenterPan:function(t,e){if(this._private.panningEnabled){if(A(t)){var n=t;t=this.mutableElements().filter(n)}else P(t)||(t=this.mutableElements());if(0!==t.length){var r=t.boundingBox(),i=this.width(),o=this.height();return{x:(i-(e=void 0===e?this._private.zoom:e)*(r.x1+r.x2))/2,y:(o-e*(r.y1+r.y2))/2}}}},reset:function(){return this._private.panningEnabled&&this._private.zoomingEnabled?(this.viewport({pan:{x:0,y:0},zoom:1}),this):this},invalidateSize:function(){this._private.sizeCache=null},size:function(){var t,e,n=this._private,r=n.container;return n.sizeCache=n.sizeCache||(r?(t=this.window().getComputedStyle(r),e=function(e){return parseFloat(t.getPropertyValue(e))},{width:r.clientWidth-e("padding-left")-e("padding-right"),height:r.clientHeight-e("padding-top")-e("padding-bottom")}):{width:1,height:1})},width:function(){return this.size().width},height:function(){return this.size().height},extent:function(){var t=this._private.pan,e=this._private.zoom,n=this.renderedExtent(),r={x1:(n.x1-t.x)/e,x2:(n.x2-t.x)/e,y1:(n.y1-t.y)/e,y2:(n.y2-t.y)/e};return r.w=r.x2-r.x1,r.h=r.y2-r.y1,r},renderedExtent:function(){var t=this.width(),e=this.height();return{x1:0,y1:0,x2:t,y2:e,w:t,h:e}},multiClickDebounceTime:function(t){return t?(this._private.multiClickDebounceTime=t,this):this._private.multiClickDebounceTime}};Go.centre=Go.center,Go.autolockNodes=Go.autolock,Go.autoungrabifyNodes=Go.autoungrabify;var Bo={data:sr.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeData:sr.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),scratch:sr.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:sr.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0})};Bo.attr=Bo.data,Bo.removeAttr=Bo.removeData;var Fo=function(t){var e=this,n=(t=Q({},t)).container;n&&!M(n)&&M(n[0])&&(n=n[0]);var r=n?n._cyreg:null;(r=r||{})&&r.cy&&(r.cy.destroy(),r={});var i=r.readies=r.readies||[];n&&(n._cyreg=r),r.cy=e;var o=void 0!==x&&void 0!==n&&!t.headless,a=t;a.layout=Q({name:o?"grid":"null"},a.layout),a.renderer=Q({name:o?"canvas":"null"},a.renderer);var s=function(t,e,n){return void 0!==e?e:void 0!==n?n:t},c=this._private={container:n,ready:!1,options:a,elements:new eo(this),listeners:[],aniEles:new eo(this),data:a.data||{},scratch:{},layout:null,renderer:null,destroyed:!1,notificationsEnabled:!0,minZoom:1e-50,maxZoom:1e50,zoomingEnabled:s(!0,a.zoomingEnabled),userZoomingEnabled:s(!0,a.userZoomingEnabled),panningEnabled:s(!0,a.panningEnabled),userPanningEnabled:s(!0,a.userPanningEnabled),boxSelectionEnabled:s(!0,a.boxSelectionEnabled),autolock:s(!1,a.autolock,a.autolockNodes),autoungrabify:s(!1,a.autoungrabify,a.autoungrabifyNodes),autounselectify:s(!1,a.autounselectify),styleEnabled:void 0===a.styleEnabled?o:a.styleEnabled,zoom:I(a.zoom)?a.zoom:1,pan:{x:L(a.pan)&&I(a.pan.x)?a.pan.x:0,y:L(a.pan)&&I(a.pan.y)?a.pan.y:0},animation:{current:[],queue:[]},hasCompoundNodes:!1,multiClickDebounceTime:s(250,a.multiClickDebounceTime)};this.createEmitter(),this.selectionType(a.selectionType),this.zoomRange({min:a.minZoom,max:a.maxZoom}),c.styleEnabled&&e.setStyle([]);var u=Q({},a,a.renderer);e.initRenderer(u),function(t,e){if(t.some(F))return er.all(t).then(e);e(t)}([a.style,a.elements],(function(t){var n=t[0],o=t[1];c.styleEnabled&&e.style().append(n),function(t,n,r){e.notifications(!1);var i=e.mutableElements();i.length>0&&i.remove(),null!=t&&(L(t)||O(t))&&e.add(t),e.one("layoutready",(function(t){e.notifications(!0),e.emit(t),e.one("load",n),e.emitAndNotify("load")})).one("layoutstop",(function(){e.one("done",r),e.emit("done")}));var o=Q({},e._private.options.layout);o.eles=e.elements(),e.layout(o).run()}(o,(function(){e.startAnimationLoop(),c.ready=!0,S(a.ready)&&e.on("ready",a.ready);for(var t=0;t0,u=pe(n.boundingBox?n.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()});if(P(n.roots))t=n.roots;else if(O(n.roots)){for(var l=[],h=0;h0;){var L=C.shift(),I=T(L,N);if(I)L.outgoers().filter((function(t){return t.isNode()&&i.has(t)})).forEach(S);else if(null===I){Nt("Detected double maximal shift for node `"+L.id()+"`. Bailing maximal adjustment due to cycle. Use `options.maximal: true` only on DAGs.");break}}}k();var M=0;if(n.avoidOverlap)for(var D=0;D0&&b[0].length<=3?c/2:0),h=2*Math.PI/b[r].length*i;return 0===r&&1===b[0].length&&(l=1),{x:X+l*Math.cos(h),y:W+l*Math.sin(h)}}return{x:X+(i+1-(o+1)/2)*a,y:(r+1)*s}})),this};var Xo={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,radius:void 0,startAngle:1.5*Math.PI,sweep:void 0,clockwise:!0,sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(t,e){return!0},ready:void 0,stop:void 0,transform:function(t,e){return e}};function Wo(t){this.options=Q({},Xo,t)}Wo.prototype.run=function(){var t=this.options,e=t,n=t.cy,r=e.eles,i=void 0!==e.counterclockwise?!e.counterclockwise:e.clockwise,o=r.nodes().not(":parent");e.sort&&(o=o.sort(e.sort));for(var a,s=pe(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:n.width(),h:n.height()}),c=s.x1+s.w/2,u=s.y1+s.h/2,l=(void 0===e.sweep?2*Math.PI-2*Math.PI/o.length:e.sweep)/Math.max(1,o.length-1),h=0,f=0;f1&&e.avoidOverlap){h*=1.75;var v=Math.cos(l)-Math.cos(0),b=Math.sin(l)-Math.sin(0),y=Math.sqrt(h*h/(v*v+b*b));a=Math.max(y,a)}return r.nodes().layoutPositions(this,e,(function(t,n){var r=e.startAngle+n*l*(i?1:-1),o=a*Math.cos(r),s=a*Math.sin(r);return{x:c+o,y:u+s}})),this};var $o,Zo={fit:!0,padding:30,startAngle:1.5*Math.PI,sweep:void 0,clockwise:!0,equidistant:!1,minNodeSpacing:10,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,height:void 0,width:void 0,spacingFactor:void 0,concentric:function(t){return t.degree()},levelWidth:function(t){return t.maxDegree()/4},animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(t,e){return!0},ready:void 0,stop:void 0,transform:function(t,e){return e}};function Ko(t){this.options=Q({},Zo,t)}Ko.prototype.run=function(){for(var t=this.options,e=t,n=void 0!==e.counterclockwise?!e.counterclockwise:e.clockwise,r=t.cy,i=e.eles,o=i.nodes().not(":parent"),a=pe(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()}),s=a.x1+a.w/2,c=a.y1+a.h/2,u=[],l=0,h=0;h0&&Math.abs(y[0].value-w.value)>=v&&(y=[],b.push(y)),y.push(w)}var x=l+e.minNodeSpacing;if(!e.avoidOverlap){var _=b.length>0&&b[0].length>1,E=(Math.min(a.w,a.h)/2-x)/(b.length+_?1:0);x=Math.min(x,E)}for(var k=0,T=0;T1&&e.avoidOverlap){var S=Math.cos(A)-Math.cos(0),O=Math.sin(A)-Math.sin(0),L=Math.sqrt(x*x/(S*S+O*O));k=Math.max(L,k)}C.r=k,k+=x}if(e.equidistant){for(var I=0,M=0,P=0;P=t.numIter||(aa(r,t),r.temperature=r.temperature*t.coolingFactor,r.temperature=t.animationThreshold&&o(),ot(e)):(ya(r,t),s())}();else{for(;u;)u=a(c),c++;ya(r,t),s()}return this},Jo.prototype.stop=function(){return this.stopped=!0,this.thread&&this.thread.stop(),this.emit("layoutstop"),this},Jo.prototype.destroy=function(){return this.thread&&this.thread.stop(),this};var ta=function(t,e,n){for(var r=n.eles.edges(),i=n.eles.nodes(),o=pe(n.boundingBox?n.boundingBox:{x1:0,y1:0,w:t.width(),h:t.height()}),a={isCompound:t.hasCompoundNodes(),layoutNodes:[],idToIndex:{},nodeSize:i.size(),graphSet:[],indexToGraph:[],layoutEdges:[],edgeSize:r.size(),temperature:n.initialTemp,clientWidth:o.w,clientHeight:o.h,boundingBox:o},s=n.eles.components(),c={},u=0;u0)for(a.graphSet.push(x),u=0;ur.count?0:r.graph},na=function t(e,n,r,i){var o=i.graphSet[r];if(-10)var s=(u=r.nodeOverlap*a)*i/(g=Math.sqrt(i*i+o*o)),c=u*o/g;else{var u,l=ha(t,i,o),h=ha(e,-1*i,-1*o),f=h.x-l.x,d=h.y-l.y,p=f*f+d*d,g=Math.sqrt(p);s=(u=(t.nodeRepulsion+e.nodeRepulsion)/p)*f/g,c=u*d/g}t.isLocked||(t.offsetX-=s,t.offsetY-=c),e.isLocked||(e.offsetX+=s,e.offsetY+=c)}},la=function(t,e,n,r){if(n>0)var i=t.maxX-e.minX;else i=e.maxX-t.minX;if(r>0)var o=t.maxY-e.minY;else o=e.maxY-t.minY;return i>=0&&o>=0?Math.sqrt(i*i+o*o):0},ha=function(t,e,n){var r=t.positionX,i=t.positionY,o=t.height||1,a=t.width||1,s=n/e,c=o/a,u={};return 0===e&&0n?(u.x=r,u.y=i+o/2,u):0e&&-1*c<=s&&s<=c?(u.x=r-a/2,u.y=i-a*n/2/e,u):0=c)?(u.x=r+o*e/2/n,u.y=i+o/2,u):0>n&&(s<=-1*c||s>=c)?(u.x=r-o*e/2/n,u.y=i-o/2,u):u},fa=function(t,e){for(var n=0;n1){var p=e.gravity*h/d,g=e.gravity*f/d;l.offsetX+=p,l.offsetY+=g}}}}},pa=function(t,e){var n=[],r=0,i=-1;for(n.push.apply(n,t.graphSet[0]),i+=t.graphSet[0].length;r<=i;){var o=n[r++],a=t.idToIndex[o],s=t.layoutNodes[a],c=s.children;if(0n)var i={x:n*t/r,y:n*e/r};else i={x:t,y:e};return i},ba=function t(e,n){var r=e.parentId;if(null!=r){var i=n.layoutNodes[n.idToIndex[r]],o=!1;return(null==i.maxX||e.maxX+i.padRight>i.maxX)&&(i.maxX=e.maxX+i.padRight,o=!0),(null==i.minX||e.minX-i.padLefti.maxY)&&(i.maxY=e.maxY+i.padBottom,o=!0),(null==i.minY||e.minY-i.padTopp&&(h+=d+e.componentSpacing,l=0,f=0,d=0)}}},ma={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,avoidOverlapPadding:10,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,condense:!1,rows:void 0,cols:void 0,position:function(t){},sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(t,e){return!0},ready:void 0,stop:void 0,transform:function(t,e){return e}};function wa(t){this.options=Q({},ma,t)}wa.prototype.run=function(){var t=this.options,e=t,n=t.cy,r=e.eles,i=r.nodes().not(":parent");e.sort&&(i=i.sort(e.sort));var o=pe(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:n.width(),h:n.height()});if(0===o.h||0===o.w)r.nodes().layoutPositions(this,e,(function(t){return{x:o.x1,y:o.y1}}));else{var a=i.size(),s=Math.sqrt(a*o.h/o.w),c=Math.round(s),u=Math.round(o.w/o.h*s),l=function(t){if(null==t)return Math.min(c,u);Math.min(c,u)==c?c=t:u=t},h=function(t){if(null==t)return Math.max(c,u);Math.max(c,u)==c?c=t:u=t},f=e.rows,d=null!=e.cols?e.cols:e.columns;if(null!=f&&null!=d)c=f,u=d;else if(null!=f&&null==d)c=f,u=Math.ceil(a/c);else if(null==f&&null!=d)u=d,c=Math.ceil(a/u);else if(u*c>a){var p=l(),g=h();(p-1)*g>=a?l(p-1):(g-1)*p>=a&&h(g-1)}else for(;u*c=a?h(b+1):l(v+1)}var y=o.w/u,m=o.h/c;if(e.condense&&(y=0,m=0),e.avoidOverlap)for(var w=0;w=u&&(L=0,O++)},M={},P=0;P(r=Ne(t,e,w[x],w[x+1],w[x+2],w[x+3])))return v(n,r),!0}else if("bezier"===o.edgeType||"multibezier"===o.edgeType||"self"===o.edgeType||"compound"===o.edgeType)for(w=o.allpts,x=0;x+5(r=Ce(t,e,w[x],w[x+1],w[x+2],w[x+3],w[x+4],w[x+5])))return v(n,r),!0;y=y||i.source,m=m||i.target;var _=a.getArrowWidth(c,l),E=[{name:"source",x:o.arrowStartX,y:o.arrowStartY,angle:o.srcArrowAngle},{name:"target",x:o.arrowEndX,y:o.arrowEndY,angle:o.tgtArrowAngle},{name:"mid-source",x:o.midX,y:o.midY,angle:o.midsrcArrowAngle},{name:"mid-target",x:o.midX,y:o.midY,angle:o.midtgtArrowAngle}];for(x=0;x0&&(b(y),b(m))}function m(t,e,n){return Dt(t,e,n)}function w(n,r){var i,o=n._private,a=p;i=r?r+"-":"",n.boundingBox();var s=o.labelBounds[r||"main"],c=n.pstyle(i+"label").value;if("yes"===n.pstyle("text-events").strValue&&c){var u=m(o.rscratch,"labelX",r),l=m(o.rscratch,"labelY",r),h=m(o.rscratch,"labelAngle",r),f=n.pstyle(i+"text-margin-x").pfValue,d=n.pstyle(i+"text-margin-y").pfValue,g=s.x1-a-f,b=s.x2+a-f,y=s.y1-a-d,w=s.y2+a-d;if(h){var x=Math.cos(h),_=Math.sin(h),E=function(t,e){return{x:(t-=u)*x-(e-=l)*_+u,y:t*_+e*x+l}},k=E(g,y),T=E(g,w),C=E(b,y),N=E(b,w),A=[k.x+f,k.y+d,C.x+f,C.y+d,N.x+f,N.y+d,T.x+f,T.y+d];if(Ae(t,e,A))return v(n),!0}else if(xe(s,t,e))return v(n),!0}}n&&(c=c.interactive);for(var x=c.length-1;x>=0;x--){var _=c[x];_.isNode()?b(_)||w(_):y(_)||w(_)||w(_,"source")||w(_,"target")}return u},getAllInBox:function(t,e,n,r){for(var i,o,a=this.getCachedZSortedEles().interactive,s=[],c=Math.min(t,n),u=Math.max(t,n),l=Math.min(e,r),h=Math.max(e,r),f=pe({x1:t=c,y1:e=l,x2:n=u,y2:r=h}),d=0;d0?Math.max(t-e,0):Math.min(t+e,0)},N=C(k,_),A=C(T,E),S=!1;"auto"===v?g=Math.abs(N)>Math.abs(A)?i:r:v===c||v===s?(g=r,S=!0):v!==o&&v!==a||(g=i,S=!0);var O,L=g===r,I=L?A:N,M=L?T:k,P=se(M),D=!1;S&&(y||w)||!(v===s&&M<0||v===c&&M>0||v===o&&M>0||v===a&&M<0)||(I=(P*=-1)*Math.abs(I),D=!0);var R=function(t){return Math.abs(t)=Math.abs(I)},j=R(O=y?(m<0?1+m:m)*I:(m<0?I:0)+m*P),G=R(Math.abs(I)-Math.abs(O));if(!j&&!G||D)if(L){var B=u.y1+O+(p?h/2*P:0),F=u.x1,H=u.x2;n.segpts=[F,B,H,B]}else{var Y=u.x1+O+(p?l/2*P:0),z=u.y1,U=u.y2;n.segpts=[Y,z,Y,U]}else if(L){var V=Math.abs(M)<=h/2,q=Math.abs(k)<=f/2;if(V){var X=(u.x1+u.x2)/2,W=u.y1,$=u.y2;n.segpts=[X,W,X,$]}else if(q){var Z=(u.y1+u.y2)/2,K=u.x1,Q=u.x2;n.segpts=[K,Z,Q,Z]}else n.segpts=[u.x1,u.y2]}else{var J=Math.abs(M)<=l/2,tt=Math.abs(T)<=d/2;if(J){var et=(u.y1+u.y2)/2,nt=u.x1,rt=u.x2;n.segpts=[nt,et,rt,et]}else if(tt){var it=(u.x1+u.x2)/2,ot=u.y1,at=u.y2;n.segpts=[it,ot,it,at]}else n.segpts=[u.x2,u.y1]}},Pa.tryToCorrectInvalidPoints=function(t,e){var n=t._private.rscratch;if("bezier"===n.edgeType){var r=e.srcPos,i=e.tgtPos,o=e.srcW,a=e.srcH,s=e.tgtW,c=e.tgtH,u=e.srcShape,l=e.tgtShape,h=!I(n.startX)||!I(n.startY),f=!I(n.arrowStartX)||!I(n.arrowStartY),d=!I(n.endX)||!I(n.endY),p=!I(n.arrowEndX)||!I(n.arrowEndY),g=this.getArrowWidth(t.pstyle("width").pfValue,t.pstyle("arrow-scale").value)*this.arrowShapeWidth*3,v=ce({x:n.ctrlpts[0],y:n.ctrlpts[1]},{x:n.startX,y:n.startY}),b=vf.poolIndex()){var d=h;h=f,f=d}var p=s.srcPos=h.position(),g=s.tgtPos=f.position(),v=s.srcW=h.outerWidth(),b=s.srcH=h.outerHeight(),y=s.tgtW=f.outerWidth(),m=s.tgtH=f.outerHeight(),w=s.srcShape=n.nodeShapes[e.getNodeShape(h)],x=s.tgtShape=n.nodeShapes[e.getNodeShape(f)];s.dirCounts={north:0,west:0,south:0,east:0,northwest:0,southwest:0,northeast:0,southeast:0};for(var _=0;_0){var Y=u,z=ue(Y,ie(e)),U=ue(Y,ie(H)),V=z;U2&&ue(Y,{x:H[2],y:H[3]})0){var it=l,ot=ue(it,ie(e)),at=ue(it,ie(rt)),st=ot;at2&&ue(it,{x:rt[2],y:rt[3]})=u||y){l={cp:g,segment:b};break}}if(l)break}var m=l.cp,w=l.segment,x=(u-f)/w.length,_=w.t1-w.t0,E=s?w.t0+_*x:w.t1-_*x;E=de(0,E,1),e=fe(m.p0,m.p1,m.p2,E),i=function(t,e,n,r){var i=de(0,r-.001,1),o=de(0,r+.001,1),a=fe(t,e,n,i),s=fe(t,e,n,o);return Ha(a,s)}(m.p0,m.p1,m.p2,E);break;case"straight":case"segments":case"haystack":for(var k,T,C,N,A=0,S=r.allpts.length,O=0;O+3=u));O+=2);var L=(u-T)/k;L=de(0,L,1),e=function(t,e,n,r){var i=e.x-t.x,o=e.y-t.y,a=ce(t,e),s=i/a,c=o/a;return n=null==n?0:n,r=null!=r?r:n*a,{x:t.x+s*r,y:t.y+c*r}}(C,N,L),i=Ha(C,N)}a("labelX",n,e.x),a("labelY",n,e.y),a("labelAutoAngle",n,i)}};u("source"),u("target"),this.applyLabelDimensions(t)}},Ba.applyLabelDimensions=function(t){this.applyPrefixedLabelDimensions(t),t.isEdge()&&(this.applyPrefixedLabelDimensions(t,"source"),this.applyPrefixedLabelDimensions(t,"target"))},Ba.applyPrefixedLabelDimensions=function(t,e){var n=t._private,r=this.getLabelText(t,e),i=this.calculateLabelDimensions(t,r),o=t.pstyle("line-height").pfValue,a=t.pstyle("text-wrap").strValue,s=Dt(n.rscratch,"labelWrapCachedLines",e)||[],c="wrap"!==a?1:Math.max(s.length,1),u=i.height/c,l=u*o,h=i.width,f=i.height+(c-1)*(o-1)*u;Rt(n.rstyle,"labelWidth",e,h),Rt(n.rscratch,"labelWidth",e,h),Rt(n.rstyle,"labelHeight",e,f),Rt(n.rscratch,"labelHeight",e,f),Rt(n.rscratch,"labelLineHeight",e,l)},Ba.getLabelText=function(t,e){var n=t._private,r=e?e+"-":"",i=t.pstyle(r+"label").strValue,o=t.pstyle("text-transform").value,a=function(t,r){return r?(Rt(n.rscratch,t,e,r),r):Dt(n.rscratch,t,e)};if(!i)return"";"none"==o||("uppercase"==o?i=i.toUpperCase():"lowercase"==o&&(i=i.toLowerCase()));var s=t.pstyle("text-wrap").value;if("wrap"===s){var c=a("labelKey");if(null!=c&&a("labelWrapKey")===c)return a("labelWrapCachedText");for(var u=i.split("\n"),l=t.pstyle("text-max-width").pfValue,h="anywhere"===t.pstyle("text-overflow-wrap").value,f=[],d=/[\s\u200b]+/,p=h?"":" ",g=0;gl){for(var m=v.split(d),w="",x=0;xk);N++)T+=i[N],N===i.length-1&&(C=!0);return C||(T+="…"),T}return i},Ba.getLabelJustification=function(t){var e=t.pstyle("text-justification").strValue,n=t.pstyle("text-halign").strValue;if("auto"!==e)return e;if(!t.isNode())return"center";switch(n){case"left":return"right";case"right":return"left";default:return"center"}},Ba.calculateLabelDimensions=function(t,e){var n=pt(e,t._private.labelDimsKey),r=this.labelDimCache||(this.labelDimCache=[]),i=r[n];if(null!=i)return i;var o=t.pstyle("font-style").strValue,a=t.pstyle("font-size").pfValue,s=t.pstyle("font-family").strValue,c=t.pstyle("font-weight").strValue,u=this.labelCalcCanvas,l=this.labelCalcCanvasContext;if(!u){u=this.labelCalcCanvas=document.createElement("canvas"),l=this.labelCalcCanvasContext=u.getContext("2d");var h=u.style;h.position="absolute",h.left="-9999px",h.top="-9999px",h.zIndex="-1",h.visibility="hidden",h.pointerEvents="none"}l.font="".concat(o," ").concat(c," ").concat(a,"px ").concat(s);for(var f=0,d=0,p=e.split("\n"),g=0;g1&&void 0!==arguments[1])||arguments[1];if(e.merge(t),n)for(var r=0;r=t.desktopTapThreshold2}var C=i(e);v&&(t.hoverData.tapholdCancelled=!0),n=!0,r(g,["mousemove","vmousemove","tapdrag"],e,{x:u[0],y:u[1]});var N=function(){t.data.bgActivePosistion=void 0,t.hoverData.selecting||a.emit({originalEvent:e,type:"boxstart",position:{x:u[0],y:u[1]}}),p[4]=1,t.hoverData.selecting=!0,t.redrawHint("select",!0),t.redraw()};if(3===t.hoverData.which){if(v){var A={originalEvent:e,type:"cxtdrag",position:{x:u[0],y:u[1]}};y?y.emit(A):a.emit(A),t.hoverData.cxtDragged=!0,t.hoverData.cxtOver&&g===t.hoverData.cxtOver||(t.hoverData.cxtOver&&t.hoverData.cxtOver.emit({originalEvent:e,type:"cxtdragout",position:{x:u[0],y:u[1]}}),t.hoverData.cxtOver=g,g&&g.emit({originalEvent:e,type:"cxtdragover",position:{x:u[0],y:u[1]}}))}}else if(t.hoverData.dragging){if(n=!0,a.panningEnabled()&&a.userPanningEnabled()){var S;if(t.hoverData.justStartedPan){var O=t.hoverData.mdownPos;S={x:(u[0]-O[0])*s,y:(u[1]-O[1])*s},t.hoverData.justStartedPan=!1}else S={x:m[0]*s,y:m[1]*s};a.panBy(S),a.emit("dragpan"),t.hoverData.dragged=!0}u=t.projectIntoViewport(e.clientX,e.clientY)}else if(1!=p[4]||null!=y&&!y.pannable()){if(y&&y.pannable()&&y.active()&&y.unactivate(),y&&y.grabbed()||g==b||(b&&r(b,["mouseout","tapdragout"],e,{x:u[0],y:u[1]}),g&&r(g,["mouseover","tapdragover"],e,{x:u[0],y:u[1]}),t.hoverData.last=g),y)if(v){if(a.boxSelectionEnabled()&&C)y&&y.grabbed()&&(f(w),y.emit("freeon"),w.emit("free"),t.dragData.didDrag&&(y.emit("dragfreeon"),w.emit("dragfree"))),N();else if(y&&y.grabbed()&&t.nodeIsDraggable(y)){var L=!t.dragData.didDrag;L&&t.redrawHint("eles",!0),t.dragData.didDrag=!0,t.hoverData.draggingEles||l(w,{inDragLayer:!0});var M={x:0,y:0};if(I(m[0])&&I(m[1])&&(M.x+=m[0],M.y+=m[1],L)){var P=t.hoverData.dragDelta;P&&I(P[0])&&I(P[1])&&(M.x+=P[0],M.y+=P[1])}t.hoverData.draggingEles=!0,w.silentShift(M).emit("position drag"),t.redrawHint("drag",!0),t.redraw()}}else!function(){var e=t.hoverData.dragDelta=t.hoverData.dragDelta||[];0===e.length?(e.push(m[0]),e.push(m[1])):(e[0]+=m[0],e[1]+=m[1])}();n=!0}else v&&(t.hoverData.dragging||!a.boxSelectionEnabled()||!C&&a.panningEnabled()&&a.userPanningEnabled()?!t.hoverData.selecting&&a.panningEnabled()&&a.userPanningEnabled()&&o(y,t.hoverData.downs)&&(t.hoverData.dragging=!0,t.hoverData.justStartedPan=!0,p[4]=0,t.data.bgActivePosistion=ie(h),t.redrawHint("select",!0),t.redraw()):N(),y&&y.pannable()&&y.active()&&y.unactivate());return p[2]=u[0],p[3]=u[1],n?(e.stopPropagation&&e.stopPropagation(),e.preventDefault&&e.preventDefault(),!1):void 0}}),!1),t.registerBinding(e,"mouseup",(function(e){if(t.hoverData.capture){t.hoverData.capture=!1;var o=t.cy,a=t.projectIntoViewport(e.clientX,e.clientY),s=t.selection,c=t.findNearestElement(a[0],a[1],!0,!1),u=t.dragData.possibleDragElements,l=t.hoverData.down,h=i(e);if(t.data.bgActivePosistion&&(t.redrawHint("select",!0),t.redraw()),t.hoverData.tapholdCancelled=!0,t.data.bgActivePosistion=void 0,l&&l.unactivate(),3===t.hoverData.which){var d={originalEvent:e,type:"cxttapend",position:{x:a[0],y:a[1]}};if(l?l.emit(d):o.emit(d),!t.hoverData.cxtDragged){var p={originalEvent:e,type:"cxttap",position:{x:a[0],y:a[1]}};l?l.emit(p):o.emit(p)}t.hoverData.cxtDragged=!1,t.hoverData.which=null}else if(1===t.hoverData.which){if(r(c,["mouseup","tapend","vmouseup"],e,{x:a[0],y:a[1]}),t.dragData.didDrag||t.hoverData.dragged||t.hoverData.selecting||t.hoverData.isOverThresholdDrag||(r(l,["click","tap","vclick"],e,{x:a[0],y:a[1]}),w=!1,e.timeStamp-x<=o.multiClickDebounceTime()?(m&&clearTimeout(m),w=!0,x=null,r(l,["dblclick","dbltap","vdblclick"],e,{x:a[0],y:a[1]})):(m=setTimeout((function(){w||r(l,["oneclick","onetap","voneclick"],e,{x:a[0],y:a[1]})}),o.multiClickDebounceTime()),x=e.timeStamp)),null!=l||t.dragData.didDrag||t.hoverData.selecting||t.hoverData.dragged||i(e)||(o.$(n).unselect(["tapunselect"]),u.length>0&&t.redrawHint("eles",!0),t.dragData.possibleDragElements=u=o.collection()),c!=l||t.dragData.didDrag||t.hoverData.selecting||null!=c&&c._private.selectable&&(t.hoverData.dragging||("additive"===o.selectionType()||h?c.selected()?c.unselect(["tapunselect"]):c.select(["tapselect"]):h||(o.$(n).unmerge(c).unselect(["tapunselect"]),c.select(["tapselect"]))),t.redrawHint("eles",!0)),t.hoverData.selecting){var g=o.collection(t.getAllInBox(s[0],s[1],s[2],s[3]));t.redrawHint("select",!0),g.length>0&&t.redrawHint("eles",!0),o.emit({type:"boxend",originalEvent:e,position:{x:a[0],y:a[1]}});"additive"===o.selectionType()||h||o.$(n).unmerge(g).unselect(),g.emit("box").stdFilter((function(t){return t.selectable()&&!t.selected()})).select().emit("boxselect"),t.redraw()}if(t.hoverData.dragging&&(t.hoverData.dragging=!1,t.redrawHint("select",!0),t.redrawHint("eles",!0),t.redraw()),!s[4]){t.redrawHint("drag",!0),t.redrawHint("eles",!0);var v=l&&l.grabbed();f(u),v&&(l.emit("freeon"),u.emit("free"),t.dragData.didDrag&&(l.emit("dragfreeon"),u.emit("dragfree")))}}s[4]=0,t.hoverData.down=null,t.hoverData.cxtStarted=!1,t.hoverData.draggingEles=!1,t.hoverData.selecting=!1,t.hoverData.isOverThresholdDrag=!1,t.dragData.didDrag=!1,t.hoverData.dragged=!1,t.hoverData.dragDelta=[],t.hoverData.mdownPos=null,t.hoverData.mdownGPos=null}}),!1);var E,k,T,C,N,A,S,O,L,M,P,D,R,j=function(e){if(!t.scrollingPage){var n=t.cy,r=n.zoom(),i=n.pan(),o=t.projectIntoViewport(e.clientX,e.clientY),a=[o[0]*r+i.x,o[1]*r+i.y];if(t.hoverData.draggingEles||t.hoverData.dragging||t.hoverData.cxtStarted||0!==t.selection[4])e.preventDefault();else if(n.panningEnabled()&&n.userPanningEnabled()&&n.zoomingEnabled()&&n.userZoomingEnabled()){var s;e.preventDefault(),t.data.wheelZooming=!0,clearTimeout(t.data.wheelTimeout),t.data.wheelTimeout=setTimeout((function(){t.data.wheelZooming=!1,t.redrawHint("eles",!0),t.redraw()}),150),s=null!=e.deltaY?e.deltaY/-250:null!=e.wheelDeltaY?e.wheelDeltaY/1e3:e.wheelDelta/1e3,s*=t.wheelSensitivity,1===e.deltaMode&&(s*=33);var c=n.zoom()*Math.pow(10,s);"gesturechange"===e.type&&(c=t.gestureStartZoom*e.scale),n.zoom({level:c,renderedPosition:{x:a[0],y:a[1]}}),n.emit("gesturechange"===e.type?"pinchzoom":"scrollzoom")}}};t.registerBinding(t.container,"wheel",j,!0),t.registerBinding(e,"scroll",(function(e){t.scrollingPage=!0,clearTimeout(t.scrollingPageTimeout),t.scrollingPageTimeout=setTimeout((function(){t.scrollingPage=!1}),250)}),!0),t.registerBinding(t.container,"gesturestart",(function(e){t.gestureStartZoom=t.cy.zoom(),t.hasTouchStarted||e.preventDefault()}),!0),t.registerBinding(t.container,"gesturechange",(function(e){t.hasTouchStarted||j(e)}),!0),t.registerBinding(t.container,"mouseout",(function(e){var n=t.projectIntoViewport(e.clientX,e.clientY);t.cy.emit({originalEvent:e,type:"mouseout",position:{x:n[0],y:n[1]}})}),!1),t.registerBinding(t.container,"mouseover",(function(e){var n=t.projectIntoViewport(e.clientX,e.clientY);t.cy.emit({originalEvent:e,type:"mouseover",position:{x:n[0],y:n[1]}})}),!1);var G,B,F,H,Y,z,U,V=function(t,e,n,r){return Math.sqrt((n-t)*(n-t)+(r-e)*(r-e))},q=function(t,e,n,r){return(n-t)*(n-t)+(r-e)*(r-e)};if(t.registerBinding(t.container,"touchstart",G=function(e){if(t.hasTouchStarted=!0,_(e)){p(),t.touchData.capture=!0,t.data.bgActivePosistion=void 0;var n=t.cy,i=t.touchData.now,o=t.touchData.earlier;if(e.touches[0]){var a=t.projectIntoViewport(e.touches[0].clientX,e.touches[0].clientY);i[0]=a[0],i[1]=a[1]}if(e.touches[1]&&(a=t.projectIntoViewport(e.touches[1].clientX,e.touches[1].clientY),i[2]=a[0],i[3]=a[1]),e.touches[2]&&(a=t.projectIntoViewport(e.touches[2].clientX,e.touches[2].clientY),i[4]=a[0],i[5]=a[1]),e.touches[1]){t.touchData.singleTouchMoved=!0,f(t.dragData.touchDragEles);var c=t.findContainerClientCoords();L=c[0],M=c[1],P=c[2],D=c[3],E=e.touches[0].clientX-L,k=e.touches[0].clientY-M,T=e.touches[1].clientX-L,C=e.touches[1].clientY-M,R=0<=E&&E<=P&&0<=T&&T<=P&&0<=k&&k<=D&&0<=C&&C<=D;var u=n.pan(),d=n.zoom();if(N=V(E,k,T,C),A=q(E,k,T,C),O=[((S=[(E+T)/2,(k+C)/2])[0]-u.x)/d,(S[1]-u.y)/d],A<4e4&&!e.touches[2]){var g=t.findNearestElement(i[0],i[1],!0,!0),v=t.findNearestElement(i[2],i[3],!0,!0);return g&&g.isNode()?(g.activate().emit({originalEvent:e,type:"cxttapstart",position:{x:i[0],y:i[1]}}),t.touchData.start=g):v&&v.isNode()?(v.activate().emit({originalEvent:e,type:"cxttapstart",position:{x:i[0],y:i[1]}}),t.touchData.start=v):n.emit({originalEvent:e,type:"cxttapstart",position:{x:i[0],y:i[1]}}),t.touchData.start&&(t.touchData.start._private.grabbed=!1),t.touchData.cxt=!0,t.touchData.cxtDragged=!1,t.data.bgActivePosistion=void 0,void t.redraw()}}if(e.touches[2])n.boxSelectionEnabled()&&e.preventDefault();else if(e.touches[1]);else if(e.touches[0]){var b=t.findNearestElements(i[0],i[1],!0,!0),y=b[0];if(null!=y&&(y.activate(),t.touchData.start=y,t.touchData.starts=b,t.nodeIsGrabbable(y))){var m=t.dragData.touchDragEles=n.collection(),w=null;t.redrawHint("eles",!0),t.redrawHint("drag",!0),y.selected()?(w=n.$((function(e){return e.selected()&&t.nodeIsGrabbable(e)})),l(w,{addToList:m})):h(y,{addToList:m}),s(y);var x=function(t){return{originalEvent:e,type:t,position:{x:i[0],y:i[1]}}};y.emit(x("grabon")),w?w.forEach((function(t){t.emit(x("grab"))})):y.emit(x("grab"))}r(y,["touchstart","tapstart","vmousedown"],e,{x:i[0],y:i[1]}),null==y&&(t.data.bgActivePosistion={x:a[0],y:a[1]},t.redrawHint("select",!0),t.redraw()),t.touchData.singleTouchMoved=!1,t.touchData.singleTouchStartTime=+new Date,clearTimeout(t.touchData.tapholdTimeout),t.touchData.tapholdTimeout=setTimeout((function(){!1!==t.touchData.singleTouchMoved||t.pinching||t.touchData.selecting||r(t.touchData.start,["taphold"],e,{x:i[0],y:i[1]})}),t.tapholdDuration)}if(e.touches.length>=1){for(var I=t.touchData.startPosition=[null,null,null,null,null,null],j=0;j=t.touchTapThreshold2}if(n&&t.touchData.cxt){e.preventDefault();var w=e.touches[0].clientX-L,x=e.touches[0].clientY-M,S=e.touches[1].clientX-L,P=e.touches[1].clientY-M,D=q(w,x,S,P);if(D/A>=2.25||D>=22500){t.touchData.cxt=!1,t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var j={originalEvent:e,type:"cxttapend",position:{x:s[0],y:s[1]}};t.touchData.start?(t.touchData.start.unactivate().emit(j),t.touchData.start=null):a.emit(j)}}if(n&&t.touchData.cxt){j={originalEvent:e,type:"cxtdrag",position:{x:s[0],y:s[1]}},t.data.bgActivePosistion=void 0,t.redrawHint("select",!0),t.touchData.start?t.touchData.start.emit(j):a.emit(j),t.touchData.start&&(t.touchData.start._private.grabbed=!1),t.touchData.cxtDragged=!0;var G=t.findNearestElement(s[0],s[1],!0,!0);t.touchData.cxtOver&&G===t.touchData.cxtOver||(t.touchData.cxtOver&&t.touchData.cxtOver.emit({originalEvent:e,type:"cxtdragout",position:{x:s[0],y:s[1]}}),t.touchData.cxtOver=G,G&&G.emit({originalEvent:e,type:"cxtdragover",position:{x:s[0],y:s[1]}}))}else if(n&&e.touches[2]&&a.boxSelectionEnabled())e.preventDefault(),t.data.bgActivePosistion=void 0,this.lastThreeTouch=+new Date,t.touchData.selecting||a.emit({originalEvent:e,type:"boxstart",position:{x:s[0],y:s[1]}}),t.touchData.selecting=!0,t.touchData.didSelect=!0,i[4]=1,i&&0!==i.length&&void 0!==i[0]?(i[2]=(s[0]+s[2]+s[4])/3,i[3]=(s[1]+s[3]+s[5])/3):(i[0]=(s[0]+s[2]+s[4])/3,i[1]=(s[1]+s[3]+s[5])/3,i[2]=(s[0]+s[2]+s[4])/3+1,i[3]=(s[1]+s[3]+s[5])/3+1),t.redrawHint("select",!0),t.redraw();else if(n&&e.touches[1]&&!t.touchData.didSelect&&a.zoomingEnabled()&&a.panningEnabled()&&a.userZoomingEnabled()&&a.userPanningEnabled()){if(e.preventDefault(),t.data.bgActivePosistion=void 0,t.redrawHint("select",!0),tt=t.dragData.touchDragEles){t.redrawHint("drag",!0);for(var B=0;B0&&!t.hoverData.draggingEles&&!t.swipePanning&&null!=t.data.bgActivePosistion&&(t.data.bgActivePosistion=void 0,t.redrawHint("select",!0),t.redraw())}},!1),t.registerBinding(e,"touchcancel",F=function(e){var n=t.touchData.start;t.touchData.capture=!1,n&&n.unactivate()}),t.registerBinding(e,"touchend",H=function(e){var i=t.touchData.start;if(t.touchData.capture){0===e.touches.length&&(t.touchData.capture=!1),e.preventDefault();var o=t.selection;t.swipePanning=!1,t.hoverData.draggingEles=!1;var a,s=t.cy,c=s.zoom(),u=t.touchData.now,l=t.touchData.earlier;if(e.touches[0]){var h=t.projectIntoViewport(e.touches[0].clientX,e.touches[0].clientY);u[0]=h[0],u[1]=h[1]}if(e.touches[1]&&(h=t.projectIntoViewport(e.touches[1].clientX,e.touches[1].clientY),u[2]=h[0],u[3]=h[1]),e.touches[2]&&(h=t.projectIntoViewport(e.touches[2].clientX,e.touches[2].clientY),u[4]=h[0],u[5]=h[1]),i&&i.unactivate(),t.touchData.cxt){if(a={originalEvent:e,type:"cxttapend",position:{x:u[0],y:u[1]}},i?i.emit(a):s.emit(a),!t.touchData.cxtDragged){var d={originalEvent:e,type:"cxttap",position:{x:u[0],y:u[1]}};i?i.emit(d):s.emit(d)}return t.touchData.start&&(t.touchData.start._private.grabbed=!1),t.touchData.cxt=!1,t.touchData.start=null,void t.redraw()}if(!e.touches[2]&&s.boxSelectionEnabled()&&t.touchData.selecting){t.touchData.selecting=!1;var p=s.collection(t.getAllInBox(o[0],o[1],o[2],o[3]));o[0]=void 0,o[1]=void 0,o[2]=void 0,o[3]=void 0,o[4]=0,t.redrawHint("select",!0),s.emit({type:"boxend",originalEvent:e,position:{x:u[0],y:u[1]}}),p.emit("box").stdFilter((function(t){return t.selectable()&&!t.selected()})).select().emit("boxselect"),p.nonempty()&&t.redrawHint("eles",!0),t.redraw()}if(null!=i&&i.unactivate(),e.touches[2])t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);else if(e.touches[1]);else if(e.touches[0]);else if(!e.touches[0]){t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var g=t.dragData.touchDragEles;if(null!=i){var v=i._private.grabbed;f(g),t.redrawHint("drag",!0),t.redrawHint("eles",!0),v&&(i.emit("freeon"),g.emit("free"),t.dragData.didDrag&&(i.emit("dragfreeon"),g.emit("dragfree"))),r(i,["touchend","tapend","vmouseup","tapdragout"],e,{x:u[0],y:u[1]}),i.unactivate(),t.touchData.start=null}else{var b=t.findNearestElement(u[0],u[1],!0,!0);r(b,["touchend","tapend","vmouseup","tapdragout"],e,{x:u[0],y:u[1]})}var y=t.touchData.startPosition[0]-u[0],m=y*y,w=t.touchData.startPosition[1]-u[1],x=(m+w*w)*c*c;t.touchData.singleTouchMoved||(i||s.$(":selected").unselect(["tapunselect"]),r(i,["tap","vclick"],e,{x:u[0],y:u[1]}),Y=!1,e.timeStamp-U<=s.multiClickDebounceTime()?(z&&clearTimeout(z),Y=!0,U=null,r(i,["dbltap","vdblclick"],e,{x:u[0],y:u[1]})):(z=setTimeout((function(){Y||r(i,["onetap","voneclick"],e,{x:u[0],y:u[1]})}),s.multiClickDebounceTime()),U=e.timeStamp)),null!=i&&!t.dragData.didDrag&&i._private.selectable&&x2){for(var A=[u[0],u[1]],S=Math.pow(A[0]-t,2)+Math.pow(A[1]-e,2),O=1;O0)return g[0]}return null},f=Object.keys(l),d=0;d0?c:Ee(i,o,t,e,n,r,a)},checkPoint:function(t,e,n,r,i,o,a){var s=He(r,i),c=2*s;if(Se(t,e,this.points,o,a,r,i-c,[0,-1],n))return!0;if(Se(t,e,this.points,o,a,r-c,i,[0,-1],n))return!0;var u=r/2+2*n,l=i/2+2*n;return!!Ae(t,e,[o-u,a-l,o-u,a,o+u,a,o+u,a-l])||!!Ie(t,e,c,c,o+r/2-s,a+i/2-s,n)||!!Ie(t,e,c,c,o-r/2+s,a+i/2-s,n)}}},registerNodeShapes:function(){var t=this.nodeShapes={},e=this;this.generateEllipse(),this.generatePolygon("triangle",Ge(3,0)),this.generateRoundPolygon("round-triangle",Ge(3,0)),this.generatePolygon("rectangle",Ge(4,0)),t.square=t.rectangle,this.generateRoundRectangle(),this.generateCutRectangle(),this.generateBarrel(),this.generateBottomRoundrectangle();var n=[0,1,1,0,0,-1,-1,0];this.generatePolygon("diamond",n),this.generateRoundPolygon("round-diamond",n),this.generatePolygon("pentagon",Ge(5,0)),this.generateRoundPolygon("round-pentagon",Ge(5,0)),this.generatePolygon("hexagon",Ge(6,0)),this.generateRoundPolygon("round-hexagon",Ge(6,0)),this.generatePolygon("heptagon",Ge(7,0)),this.generateRoundPolygon("round-heptagon",Ge(7,0)),this.generatePolygon("octagon",Ge(8,0)),this.generateRoundPolygon("round-octagon",Ge(8,0));var r=new Array(20),i=Fe(5,0),o=Fe(5,Math.PI/5),a=.5*(3-Math.sqrt(5));a*=1.57;for(var s=0;s=t.deqFastCost*g)break}else if(i){if(d>=t.deqCost*c||d>=t.deqAvgCost*s)break}else if(p>=t.deqNoDrawCost*Ja)break;var v=t.deq(e,h,l);if(!(v.length>0))break;for(var b=0;b0&&(t.onDeqd(e,u),!i&&t.shouldRedraw(e,u,h,l)&&r())}),i(e))}}},es=function(){function t(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:_t;g(this,t),this.idsByKey=new jt,this.keyForId=new jt,this.cachesByLvl=new jt,this.lvls=[],this.getKey=e,this.doesEleInvalidateKey=n}return b(t,[{key:"getIdsFor",value:function(t){null==t&&Tt("Can not get id list for null key");var e=this.idsByKey,n=this.idsByKey.get(t);return n||(n=new Bt,e.set(t,n)),n}},{key:"addIdForKey",value:function(t,e){null!=t&&this.getIdsFor(t).add(e)}},{key:"deleteIdForKey",value:function(t,e){null!=t&&this.getIdsFor(t).delete(e)}},{key:"getNumberOfIdsForKey",value:function(t){return null==t?0:this.getIdsFor(t).size}},{key:"updateKeyMappingFor",value:function(t){var e=t.id(),n=this.keyForId.get(e),r=this.getKey(t);this.deleteIdForKey(n,e),this.addIdForKey(r,e),this.keyForId.set(e,r)}},{key:"deleteKeyMappingFor",value:function(t){var e=t.id(),n=this.keyForId.get(e);this.deleteIdForKey(n,e),this.keyForId.delete(e)}},{key:"keyHasChangedFor",value:function(t){var e=t.id();return this.keyForId.get(e)!==this.getKey(t)}},{key:"isInvalid",value:function(t){return this.keyHasChangedFor(t)||this.doesEleInvalidateKey(t)}},{key:"getCachesAt",value:function(t){var e=this.cachesByLvl,n=this.lvls,r=e.get(t);return r||(r=new jt,e.set(t,r),n.push(t)),r}},{key:"getCache",value:function(t,e){return this.getCachesAt(e).get(t)}},{key:"get",value:function(t,e){var n=this.getKey(t),r=this.getCache(n,e);return null!=r&&this.updateKeyMappingFor(t),r}},{key:"getForCachedKey",value:function(t,e){var n=this.keyForId.get(t.id());return this.getCache(n,e)}},{key:"hasCache",value:function(t,e){return this.getCachesAt(e).has(t)}},{key:"has",value:function(t,e){var n=this.getKey(t);return this.hasCache(n,e)}},{key:"setCache",value:function(t,e,n){n.key=t,this.getCachesAt(e).set(t,n)}},{key:"set",value:function(t,e,n){var r=this.getKey(t);this.setCache(r,e,n),this.updateKeyMappingFor(t)}},{key:"deleteCache",value:function(t,e){this.getCachesAt(e).delete(t)}},{key:"delete",value:function(t,e){var n=this.getKey(t);this.deleteCache(n,e)}},{key:"invalidateKey",value:function(t){var e=this;this.lvls.forEach((function(n){return e.deleteCache(t,n)}))}},{key:"invalidate",value:function(t){var e=t.id(),n=this.keyForId.get(e);this.deleteKeyMappingFor(t);var r=this.doesEleInvalidateKey(t);return r&&this.invalidateKey(n),r||0===this.getNumberOfIdsForKey(n)}}]),t}(),ns={dequeue:"dequeue",downscale:"downscale",highQuality:"highQuality"},rs=It({getKey:null,doesEleInvalidateKey:_t,drawElement:null,getBoundingBox:null,getRotationPoint:null,getRotationOffset:null,isVisible:xt,allowEdgeTxrCaching:!0,allowParentTxrCaching:!0}),is=function(t,e){var n=this;n.renderer=t,n.onDequeues=[];var r=rs(e);Q(n,r),n.lookup=new es(r.getKey,r.doesEleInvalidateKey),n.setupDequeueing()},os=is.prototype;os.reasons=ns,os.getTextureQueue=function(t){var e=this;return e.eleImgCaches=e.eleImgCaches||{},e.eleImgCaches[t]=e.eleImgCaches[t]||[]},os.getRetiredTextureQueue=function(t){var e=this.eleImgCaches.retired=this.eleImgCaches.retired||{};return e[t]=e[t]||[]},os.getElementQueue=function(){return this.eleCacheQueue=this.eleCacheQueue||new l.default((function(t,e){return e.reqs-t.reqs}))},os.getElementKeyToQueue=function(){return this.eleKeyToCacheQueue=this.eleKeyToCacheQueue||{}},os.getElement=function(t,e,n,r,i){var o=this,a=this.renderer,s=a.cy.zoom(),c=this.lookup;if(!e||0===e.w||0===e.h||isNaN(e.w)||isNaN(e.h)||!t.visible()||t.removed())return null;if(!o.allowEdgeTxrCaching&&t.isEdge()||!o.allowParentTxrCaching&&t.isParent())return null;if(null==r&&(r=Math.ceil(ae(s*n))),r<-4)r=-4;else if(s>=7.99||r>3)return null;var u=Math.pow(2,r),l=e.h*u,h=e.w*u,f=a.eleTextBiggerThanMin(t,u);if(!this.isVisible(t,f))return null;var d,p=c.get(t,r);if(p&&p.invalidated&&(p.invalidated=!1,p.texture.invalidatedWidth-=p.width),p)return p;if(d=l<=25?25:l<=50?50:50*Math.ceil(l/50),l>1024||h>1024)return null;var g=o.getTextureQueue(d),v=g[g.length-2],b=function(){return o.recycleTexture(d,h)||o.addTexture(d,h)};v||(v=g[g.length-1]),v||(v=b()),v.width-v.usedWidthr;N--)T=o.getElement(t,e,n,N,ns.downscale);C()}else{var A;if(!w&&!x&&!_)for(var S=r-1;S>=-4;S--){var O=c.get(t,S);if(O){A=O;break}}if(m(A))return o.queueElement(t,r),A;v.context.translate(v.usedWidth,0),v.context.scale(u,u),this.drawElement(v.context,t,e,f,!1),v.context.scale(1/u,1/u),v.context.translate(-v.usedWidth,0)}return p={x:v.usedWidth,texture:v,level:r,scale:u,width:h,height:l,scaledLabelShown:f},v.usedWidth+=Math.ceil(h+8),v.eleCaches.push(p),c.set(t,r,p),o.checkTextureFullness(v),p},os.invalidateElements=function(t){for(var e=0;e=.2*t.width&&this.retireTexture(t)},os.checkTextureFullness=function(t){var e=this.getTextureQueue(t.height);t.usedWidth/t.width>.8&&t.fullnessChecks>=10?Mt(e,t):t.fullnessChecks++},os.retireTexture=function(t){var e=t.height,n=this.getTextureQueue(e),r=this.lookup;Mt(n,t),t.retired=!0;for(var i=t.eleCaches,o=0;o=e)return o.retired=!1,o.usedWidth=0,o.invalidatedWidth=0,o.fullnessChecks=0,Pt(o.eleCaches),o.context.setTransform(1,0,0,1,0,0),o.context.clearRect(0,0,o.width,o.height),Mt(r,o),n.push(o),o}},os.queueElement=function(t,e){var n=this.getElementQueue(),r=this.getElementKeyToQueue(),i=this.getKey(t),o=r[i];if(o)o.level=Math.max(o.level,e),o.eles.merge(t),o.reqs++,n.updateItem(o);else{var a={eles:t.spawn().merge(t),level:e,reqs:1,key:i};n.push(a),r[i]=a}},os.dequeue=function(t){for(var e=this,n=e.getElementQueue(),r=e.getElementKeyToQueue(),i=[],o=e.lookup,a=0;a<1&&n.size()>0;a++){var s=n.pop(),c=s.key,u=s.eles[0],l=o.hasCache(u,s.level);if(r[c]=null,!l){i.push(s);var h=e.getBoundingBox(u);e.getElement(u,h,t,s.level,ns.dequeue)}}return i},os.removeFromQueue=function(t){var e=this.getElementQueue(),n=this.getElementKeyToQueue(),r=this.getKey(t),i=n[r];null!=i&&(1===i.eles.length?(i.reqs=wt,e.updateItem(i),e.pop(),n[r]=null):i.eles.unmerge(t))},os.onDequeue=function(t){this.onDequeues.push(t)},os.offDequeue=function(t){Mt(this.onDequeues,t)},os.setupDequeueing=ts({deqRedrawThreshold:100,deqCost:.15,deqAvgCost:.1,deqNoDrawCost:.9,deqFastCost:.9,deq:function(t,e,n){return t.dequeue(e,n)},onDeqd:function(t,e){for(var n=0;n=3.99||n>2)return null;r.validateLayersElesOrdering(n,t);var a,s,c=r.layersByLevel,u=Math.pow(2,n),l=c[n]=c[n]||[];if(r.levelIsComplete(n,t))return l;!function(){var e=function(e){if(r.validateLayersElesOrdering(e,t),r.levelIsComplete(e,t))return s=c[e],!0},i=function(t){if(!s)for(var r=n+t;-4<=r&&r<=2&&!e(r);r+=t);};i(1),i(-1);for(var o=l.length-1;o>=0;o--){var a=l[o];a.invalid&&Mt(l,a)}}();var h=function(e){var i=(e=e||{}).after;if(function(){if(!a){a=pe();for(var e=0;e16e6)return null;var o=r.makeLayer(a,n);if(null!=i){var s=l.indexOf(i)+1;l.splice(s,0,o)}else(void 0===e.insert||e.insert)&&l.unshift(o);return o};if(r.skipping&&!o)return null;for(var f=null,d=t.length/1,p=!o,g=0;g=d||!_e(f.bb,v.boundingBox()))&&!(f=h({insert:!0,after:f})))return null;s||p?r.queueLayer(f,v):r.drawEleInLayer(f,v,n,e),f.eles.push(v),y[n]=f}}return s||(p?null:l)},ss.getEleLevelForLayerLevel=function(t,e){return t},ss.drawEleInLayer=function(t,e,n,r){var i=this.renderer,o=t.context,a=e.boundingBox();0!==a.w&&0!==a.h&&e.visible()&&(n=this.getEleLevelForLayerLevel(n,r),i.setImgSmoothing(o,!1),i.drawCachedElement(o,e,null,null,n,!0),i.setImgSmoothing(o,!0))},ss.levelIsComplete=function(t,e){var n=this.layersByLevel[t];if(!n||0===n.length)return!1;for(var r=0,i=0;i0)return!1;if(o.invalid)return!1;r+=o.eles.length}return r===e.length},ss.validateLayersElesOrdering=function(t,e){var n=this.layersByLevel[t];if(n)for(var r=0;r0){t=!0;break}}return t},ss.invalidateElements=function(t){var e=this;0!==t.length&&(e.lastInvalidationTime=at(),0!==t.length&&e.haveLayers()&&e.updateElementsInLayers(t,(function(t,n,r){e.invalidateLayer(t)})))},ss.invalidateLayer=function(t){if(this.lastInvalidationTime=at(),!t.invalid){var e=t.level,n=t.eles,r=this.layersByLevel[e];Mt(r,t),t.elesQueue=[],t.invalid=!0,t.replacement&&(t.replacement.invalid=!0);for(var i=0;i3&&void 0!==arguments[3])||arguments[3],i=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],o=!(arguments.length>5&&void 0!==arguments[5])||arguments[5],a=this,s=e._private.rscratch;if((!o||e.visible())&&!s.badLine&&null!=s.allpts&&!isNaN(s.allpts[0])){var c;n&&(c=n,t.translate(-c.x1,-c.y1));var u=o?e.pstyle("opacity").value:1,l=o?e.pstyle("line-opacity").value:1,h=e.pstyle("curve-style").value,f=e.pstyle("line-style").value,d=e.pstyle("width").pfValue,p=e.pstyle("line-cap").value,g=u*l,v=u*l,b=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:g;"straight-triangle"===h?(a.eleStrokeStyle(t,e,n),a.drawEdgeTrianglePath(e,t,s.allpts)):(t.lineWidth=d,t.lineCap=p,a.eleStrokeStyle(t,e,n),a.drawEdgePath(e,t,s.allpts,f),t.lineCap="butt")},y=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:v;a.drawArrowheads(t,e,n)};if(t.lineJoin="round","yes"===e.pstyle("ghost").value){var m=e.pstyle("ghost-offset-x").pfValue,w=e.pstyle("ghost-offset-y").pfValue,x=e.pstyle("ghost-opacity").value,_=g*x;t.translate(m,w),b(_),y(_),t.translate(-m,-w)}i&&a.drawEdgeUnderlay(t,e),b(),y(),i&&a.drawEdgeOverlay(t,e),a.drawElementText(t,e,null,r),n&&t.translate(c.x1,c.y1)}}},Ts=function(t){if(!["overlay","underlay"].includes(t))throw new Error("Invalid state");return function(e,n){if(n.visible()){var r=n.pstyle("".concat(t,"-opacity")).value;if(0!==r){var i=this,o=i.usePaths(),a=n._private.rscratch,s=2*n.pstyle("".concat(t,"-padding")).pfValue,c=n.pstyle("".concat(t,"-color")).value;e.lineWidth=s,"self"!==a.edgeType||o?e.lineCap="round":e.lineCap="butt",i.colorStrokeStyle(e,c[0],c[1],c[2],r),i.drawEdgePath(n,e,a.allpts,"solid")}}}};ks.drawEdgeOverlay=Ts("overlay"),ks.drawEdgeUnderlay=Ts("underlay"),ks.drawEdgePath=function(t,e,n,r){var i,o=t._private.rscratch,a=e,s=!1,c=this.usePaths(),u=t.pstyle("line-dash-pattern").pfValue,l=t.pstyle("line-dash-offset").pfValue;if(c){var h=n.join("$");o.pathCacheKey&&o.pathCacheKey===h?(i=e=o.pathCache,s=!0):(i=e=new Path2D,o.pathCacheKey=h,o.pathCache=i)}if(a.setLineDash)switch(r){case"dotted":a.setLineDash([1,1]);break;case"dashed":a.setLineDash(u),a.lineDashOffset=l;break;case"solid":a.setLineDash([])}if(!s&&!o.badLine)switch(e.beginPath&&e.beginPath(),e.moveTo(n[0],n[1]),o.edgeType){case"bezier":case"self":case"compound":case"multibezier":for(var f=2;f+35&&void 0!==arguments[5]?arguments[5]:5,a=arguments.length>6?arguments[6]:void 0;t.beginPath(),t.moveTo(e+o,n),t.lineTo(e+r-o,n),t.quadraticCurveTo(e+r,n,e+r,n+o),t.lineTo(e+r,n+i-o),t.quadraticCurveTo(e+r,n+i,e+r-o,n+i),t.lineTo(e+o,n+i),t.quadraticCurveTo(e,n+i,e,n+i-o),t.lineTo(e,n+o),t.quadraticCurveTo(e,n,e+o,n),t.closePath(),a?t.stroke():t.fill()}Ns.eleTextBiggerThanMin=function(t,e){if(!e){var n=t.cy().zoom(),r=this.getPixelRatio(),i=Math.ceil(ae(n*r));e=Math.pow(2,i)}return!(t.pstyle("font-size").pfValue*e5&&void 0!==arguments[5])||arguments[5],a=this;if(null==r){if(o&&!a.eleTextBiggerThanMin(e))return}else if(!1===r)return;if(e.isNode()){var s=e.pstyle("label");if(!s||!s.value)return;var c=a.getLabelJustification(e);t.textAlign=c,t.textBaseline="bottom"}else{var u=e.element()._private.rscratch.badLine,l=e.pstyle("label"),h=e.pstyle("source-label"),f=e.pstyle("target-label");if(u||(!l||!l.value)&&(!h||!h.value)&&(!f||!f.value))return;t.textAlign="center",t.textBaseline="bottom"}var d,p=!n;n&&(d=n,t.translate(-d.x1,-d.y1)),null==i?(a.drawText(t,e,null,p,o),e.isEdge()&&(a.drawText(t,e,"source",p,o),a.drawText(t,e,"target",p,o))):a.drawText(t,e,i,p,o),n&&t.translate(d.x1,d.y1)},Ns.getFontCache=function(t){var e;this.fontCaches=this.fontCaches||[];for(var n=0;n2&&void 0!==arguments[2])||arguments[2],r=e.pstyle("font-style").strValue,i=e.pstyle("font-size").pfValue+"px",o=e.pstyle("font-family").strValue,a=e.pstyle("font-weight").strValue,s=n?e.effectiveOpacity()*e.pstyle("text-opacity").value:1,c=e.pstyle("text-outline-opacity").value*s,u=e.pstyle("color").value,l=e.pstyle("text-outline-color").value;t.font=r+" "+a+" "+i+" "+o,t.lineJoin="round",this.colorFillStyle(t,u[0],u[1],u[2],s),this.colorStrokeStyle(t,l[0],l[1],l[2],c)},Ns.getTextAngle=function(t,e){var n=t._private.rscratch,r=e?e+"-":"",i=t.pstyle(r+"text-rotation"),o=Dt(n,"labelAngle",e);return"autorotate"===i.strValue?t.isEdge()?o:0:"none"===i.strValue?0:i.pfValue},Ns.drawText=function(t,e,n){var r=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],i=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],o=e._private.rscratch,a=i?e.effectiveOpacity():1;if(!i||0!==a&&0!==e.pstyle("text-opacity").value){"main"===n&&(n=null);var s,c,u=Dt(o,"labelX",n),l=Dt(o,"labelY",n),h=this.getLabelText(e,n);if(null!=h&&""!==h&&!isNaN(u)&&!isNaN(l)){this.setupTextStyle(t,e,i);var f,d=n?n+"-":"",p=Dt(o,"labelWidth",n),g=Dt(o,"labelHeight",n),v=e.pstyle(d+"text-margin-x").pfValue,b=e.pstyle(d+"text-margin-y").pfValue,y=e.isEdge(),m=e.pstyle("text-halign").value,w=e.pstyle("text-valign").value;switch(y&&(m="center",w="center"),u+=v,l+=b,0!==(f=r?this.getTextAngle(e,n):0)&&(s=u,c=l,t.translate(s,c),t.rotate(f),u=0,l=0),w){case"top":break;case"center":l+=g/2;break;case"bottom":l+=g}var x=e.pstyle("text-background-opacity").value,_=e.pstyle("text-border-opacity").value,E=e.pstyle("text-border-width").pfValue,k=e.pstyle("text-background-padding").pfValue,T=0===e.pstyle("text-background-shape").strValue.indexOf("round");if(x>0||E>0&&_>0){var C=u-k;switch(m){case"left":C-=p;break;case"center":C-=p/2}var N=l-g-k,A=p+2*k,S=g+2*k;if(x>0){var O=t.fillStyle,L=e.pstyle("text-background-color").value;t.fillStyle="rgba("+L[0]+","+L[1]+","+L[2]+","+x*a+")",T?As(t,C,N,A,S,2):t.fillRect(C,N,A,S),t.fillStyle=O}if(E>0&&_>0){var I=t.strokeStyle,M=t.lineWidth,P=e.pstyle("text-border-color").value,D=e.pstyle("text-border-style").value;if(t.strokeStyle="rgba("+P[0]+","+P[1]+","+P[2]+","+_*a+")",t.lineWidth=E,t.setLineDash)switch(D){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash([4,2]);break;case"double":t.lineWidth=E/4,t.setLineDash([]);break;case"solid":t.setLineDash([])}if(T?As(t,C,N,A,S,2,"stroke"):t.strokeRect(C,N,A,S),"double"===D){var R=E/2;T?As(t,C+R,N+R,A-2*R,S-2*R,2,"stroke"):t.strokeRect(C+R,N+R,A-2*R,S-2*R)}t.setLineDash&&t.setLineDash([]),t.lineWidth=M,t.strokeStyle=I}}var j=2*e.pstyle("text-outline-width").pfValue;if(j>0&&(t.lineWidth=j),"wrap"===e.pstyle("text-wrap").value){var G=Dt(o,"labelWrapCachedLines",n),B=Dt(o,"labelLineHeight",n),F=p/2,H=this.getLabelJustification(e);switch("auto"===H||("left"===m?"left"===H?u+=-p:"center"===H&&(u+=-F):"center"===m?"left"===H?u+=-F:"right"===H&&(u+=F):"right"===m&&("center"===H?u+=F:"right"===H&&(u+=p))),w){case"top":case"center":case"bottom":l-=(G.length-1)*B}for(var Y=0;Y0&&t.strokeText(G[Y],u,l),t.fillText(G[Y],u,l),l+=B}else j>0&&t.strokeText(h,u,l),t.fillText(h,u,l);0!==f&&(t.rotate(-f),t.translate(-s,-c))}}};var Ss={drawNode:function(t,e,n){var r,i,o=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],a=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],s=!(arguments.length>5&&void 0!==arguments[5])||arguments[5],c=this,u=e._private,l=u.rscratch,h=e.position();if(I(h.x)&&I(h.y)&&(!s||e.visible())){var f,d,p=s?e.effectiveOpacity():1,g=c.usePaths(),v=!1,b=e.padding();r=e.width()+2*b,i=e.height()+2*b,n&&(d=n,t.translate(-d.x1,-d.y1));for(var y=e.pstyle("background-image").value,m=new Array(y.length),w=new Array(y.length),x=0,_=0;_0&&void 0!==arguments[0]?arguments[0]:N;c.eleFillStyle(t,e,n)},G=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:O;c.colorStrokeStyle(t,A[0],A[1],A[2],e)},B=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:D;c.colorStrokeStyle(t,M[0],M[1],M[2],e)},F=function(t,e,n,r){var i,o=c.nodePathCache=c.nodePathCache||[],a=gt("polygon"===n?n+","+r.join(","):n,""+e,""+t),s=o[a],u=!1;return null!=s?(i=s,u=!0,l.pathCache=i):(i=new Path2D,o[a]=l.pathCache=i),{path:i,cacheHit:u}},H=e.pstyle("shape").strValue,Y=e.pstyle("shape-polygon-points").pfValue;if(g){t.translate(h.x,h.y);var z=F(r,i,H,Y);f=z.path,v=z.cacheHit}var U=function(){if(!v){var n=h;g&&(n={x:0,y:0}),c.nodeShapes[c.getNodeShape(e)].draw(f||t,n.x,n.y,r,i)}g?t.fill(f):t.fill()},V=function(){for(var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:p,r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=u.backgrounding,o=0,a=0;a0&&void 0!==arguments[0]&&arguments[0],o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:p;c.hasPie(e)&&(c.drawPie(t,e,o),n&&(g||c.nodeShapes[c.getNodeShape(e)].draw(t,h.x,h.y,r,i)))},X=function(){var e=(T>0?T:-T)*(arguments.length>0&&void 0!==arguments[0]?arguments[0]:p),n=T>0?0:255;0!==T&&(c.colorFillStyle(t,n,n,n,e),g?t.fill(f):t.fill())},W=function(){if(C>0){if(t.lineWidth=C,t.lineCap="butt",t.setLineDash)switch(S){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash([4,2]);break;case"solid":case"double":t.setLineDash([])}if(g?t.stroke(f):t.stroke(),"double"===S){t.lineWidth=C/3;var e=t.globalCompositeOperation;t.globalCompositeOperation="destination-out",g?t.stroke(f):t.stroke(),t.globalCompositeOperation=e}t.setLineDash&&t.setLineDash([])}},$=function(){if(L>0){if(t.lineWidth=L,t.lineCap="butt",t.setLineDash)switch(P){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash([4,2]);break;case"solid":case"double":t.setLineDash([])}var n=h;g&&(n={x:0,y:0});var o,a=c.getNodeShape(e),s=(r+C+(L+R))/r,u=(i+C+(L+R))/i,l=r*s,f=i*u,d=c.nodeShapes[a].points;if(g&&(o=F(l,f,a,d).path),"ellipse"===a)c.drawEllipsePath(o||t,n.x,n.y,l,f);else if(["round-diamond","round-heptagon","round-hexagon","round-octagon","round-pentagon","round-polygon","round-triangle","round-tag"].includes(a)){var p=0,v=0,b=0;"round-diamond"===a?p=1.4*(C+R+L):"round-heptagon"===a?(p=1.075*(C+R+L),b=-(C/2+R+L)/35):"round-hexagon"===a?p=1.12*(C+R+L):"round-pentagon"===a?(p=1.13*(C+R+L),b=-(C/2+R+L)/15):"round-tag"===a?(p=1.12*(C+R+L),v=.07*(C/2+L+R)):"round-triangle"===a&&(p=(C+R+L)*(Math.PI/2),b=-(C+R/2+L)/Math.PI),0!==p&&(s=(r+p)/r,u=(i+p)/i),c.drawRoundPolygonPath(o||t,n.x+v,n.y+b,r*s,i*u,d)}else["roundrectangle","round-rectangle"].includes(a)?c.drawRoundRectanglePath(o||t,n.x,n.y,l,f):["cutrectangle","cut-rectangle"].includes(a)?c.drawCutRectanglePath(o||t,n.x,n.y,l,f):["bottomroundrectangle","bottom-round-rectangle"].includes(a)?c.drawBottomRoundRectanglePath(o||t,n.x,n.y,l,f):"barrel"===a?c.drawBarrelPath(o||t,n.x,n.y,l,f):a.startsWith("polygon")||["rhomboid","right-rhomboid","round-tag","tag","vee"].includes(a)?(d=Oe(Le(d,(C+L+R)/r)),c.drawPolygonPath(o||t,n.x,n.y,r,i,d)):(d=Oe(Le(d,-(C+L+R)/r)),c.drawPolygonPath(o||t,n.x,n.y,r,i,d));if(g?t.stroke(o):t.stroke(),"double"===P){t.lineWidth=C/3;var y=t.globalCompositeOperation;t.globalCompositeOperation="destination-out",g?t.stroke(o):t.stroke(),t.globalCompositeOperation=y}t.setLineDash&&t.setLineDash([])}};if("yes"===e.pstyle("ghost").value){var Z=e.pstyle("ghost-offset-x").pfValue,K=e.pstyle("ghost-offset-y").pfValue,Q=e.pstyle("ghost-opacity").value,J=Q*p;t.translate(Z,K),B(),$(),j(Q*N),U(),V(J,!0),G(Q*O),W(),q(0!==T||0!==C),V(J,!1),X(J),t.translate(-Z,-K)}g&&t.translate(-h.x,-h.y),a&&c.drawNodeUnderlay(t,e,h,r,i),g&&t.translate(h.x,h.y),B(),$(),j(),U(),V(p,!0),G(),W(),q(0!==T||0!==C),V(p,!1),X(),g&&t.translate(-h.x,-h.y),c.drawElementText(t,e,null,o),a&&c.drawNodeOverlay(t,e,h,r,i),n&&t.translate(d.x1,d.y1)}}},Os=function(t){if(!["overlay","underlay"].includes(t))throw new Error("Invalid state");return function(e,n,r,i,o){if(n.visible()){var a=n.pstyle("".concat(t,"-padding")).pfValue,s=n.pstyle("".concat(t,"-opacity")).value,c=n.pstyle("".concat(t,"-color")).value,u=n.pstyle("".concat(t,"-shape")).value;if(s>0){if(r=r||n.position(),null==i||null==o){var l=n.padding();i=n.width()+2*l,o=n.height()+2*l}this.colorFillStyle(e,c[0],c[1],c[2],s),this.nodeShapes[u].draw(e,r.x,r.y,i+2*a,o+2*a),e.fill()}}}};Ss.drawNodeOverlay=Os("overlay"),Ss.drawNodeUnderlay=Os("underlay"),Ss.hasPie=function(t){return(t=t[0])._private.hasPie},Ss.drawPie=function(t,e,n,r){e=e[0],r=r||e.position();var i=e.cy().style(),o=e.pstyle("pie-size"),a=r.x,s=r.y,c=e.width(),u=e.height(),l=Math.min(c,u)/2,h=0;this.usePaths()&&(a=0,s=0),"%"===o.units?l*=o.pfValue:void 0!==o.pfValue&&(l=o.pfValue/2);for(var f=1;f<=i.pieBackgroundN;f++){var d=e.pstyle("pie-"+f+"-background-size").value,p=e.pstyle("pie-"+f+"-background-color").value,g=e.pstyle("pie-"+f+"-background-opacity").value*n,v=d/100;v+h>1&&(v=1-h);var b=1.5*Math.PI+2*Math.PI*h,y=b+2*Math.PI*v;0===d||h>=1||h+v>1||(t.beginPath(),t.moveTo(a,s),t.arc(a,s,l,b,y),t.closePath(),this.colorFillStyle(t,p[0],p[1],p[2],g),t.fill(),h+=v)}};for(var Ls={getPixelRatio:function(){var t=this.data.contexts[0];if(null!=this.forcedPixelRatio)return this.forcedPixelRatio;var e=t.backingStorePixelRatio||t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1;return(window.devicePixelRatio||1)/e},paintCache:function(t){for(var e,n=this.paintCaches=this.paintCaches||[],r=!0,i=0;ia.minMbLowQualFrames&&(a.motionBlurPxRatio=a.mbPxRBlurry)),a.clearingMotionBlur&&(a.motionBlurPxRatio=1),a.textureDrawLastFrame&&!h&&(l[a.NODE]=!0,l[a.SELECT_BOX]=!0);var y=c.style(),m=c.zoom(),w=void 0!==i?i:m,x=c.pan(),_={x:x.x,y:x.y},E={zoom:m,pan:{x:x.x,y:x.y}},k=a.prevViewport;void 0===k||E.zoom!==k.zoom||E.pan.x!==k.pan.x||E.pan.y!==k.pan.y||g&&!p||(a.motionBlurPxRatio=1),o&&(_=o),w*=s,_.x*=s,_.y*=s;var T=a.getCachedZSortedEles();function C(t,e,n,r,i){var o=t.globalCompositeOperation;t.globalCompositeOperation="destination-out",a.colorFillStyle(t,255,255,255,a.motionBlurTransparency),t.fillRect(e,n,r,i),t.globalCompositeOperation=o}function N(t,r){var s,c,l,h;a.clearingMotionBlur||t!==u.bufferContexts[a.MOTIONBLUR_BUFFER_NODE]&&t!==u.bufferContexts[a.MOTIONBLUR_BUFFER_DRAG]?(s=_,c=w,l=a.canvasWidth,h=a.canvasHeight):(s={x:x.x*d,y:x.y*d},c=m*d,l=a.canvasWidth*d,h=a.canvasHeight*d),t.setTransform(1,0,0,1,0,0),"motionBlur"===r?C(t,0,0,l,h):e||void 0!==r&&!r||t.clearRect(0,0,l,h),n||(t.translate(s.x,s.y),t.scale(c,c)),o&&t.translate(o.x,o.y),i&&t.scale(i,i)}if(h||(a.textureDrawLastFrame=!1),h){if(a.textureDrawLastFrame=!0,!a.textureCache){a.textureCache={},a.textureCache.bb=c.mutableElements().boundingBox(),a.textureCache.texture=a.data.bufferCanvases[a.TEXTURE_BUFFER];var A=a.data.bufferContexts[a.TEXTURE_BUFFER];A.setTransform(1,0,0,1,0,0),A.clearRect(0,0,a.canvasWidth*a.textureMult,a.canvasHeight*a.textureMult),a.render({forcedContext:A,drawOnlyNodeLayer:!0,forcedPxRatio:s*a.textureMult}),(E=a.textureCache.viewport={zoom:c.zoom(),pan:c.pan(),width:a.canvasWidth,height:a.canvasHeight}).mpan={x:(0-E.pan.x)/E.zoom,y:(0-E.pan.y)/E.zoom}}l[a.DRAG]=!1,l[a.NODE]=!1;var S=u.contexts[a.NODE],O=a.textureCache.texture;E=a.textureCache.viewport,S.setTransform(1,0,0,1,0,0),f?C(S,0,0,E.width,E.height):S.clearRect(0,0,E.width,E.height);var L=y.core("outside-texture-bg-color").value,I=y.core("outside-texture-bg-opacity").value;a.colorFillStyle(S,L[0],L[1],L[2],I),S.fillRect(0,0,E.width,E.height),m=c.zoom(),N(S,!1),S.clearRect(E.mpan.x,E.mpan.y,E.width/E.zoom/s,E.height/E.zoom/s),S.drawImage(O,E.mpan.x,E.mpan.y,E.width/E.zoom/s,E.height/E.zoom/s)}else a.textureOnViewport&&!e&&(a.textureCache=null);var M=c.extent(),P=a.pinching||a.hoverData.dragging||a.swipePanning||a.data.wheelZooming||a.hoverData.draggingEles||a.cy.animated(),D=a.hideEdgesOnViewport&&P,R=[];if(R[a.NODE]=!l[a.NODE]&&f&&!a.clearedForMotionBlur[a.NODE]||a.clearingMotionBlur,R[a.NODE]&&(a.clearedForMotionBlur[a.NODE]=!0),R[a.DRAG]=!l[a.DRAG]&&f&&!a.clearedForMotionBlur[a.DRAG]||a.clearingMotionBlur,R[a.DRAG]&&(a.clearedForMotionBlur[a.DRAG]=!0),l[a.NODE]||n||r||R[a.NODE]){var j=f&&!R[a.NODE]&&1!==d;N(S=e||(j?a.data.bufferContexts[a.MOTIONBLUR_BUFFER_NODE]:u.contexts[a.NODE]),f&&!j?"motionBlur":void 0),D?a.drawCachedNodes(S,T.nondrag,s,M):a.drawLayeredElements(S,T.nondrag,s,M),a.debug&&a.drawDebugPoints(S,T.nondrag),n||f||(l[a.NODE]=!1)}if(!r&&(l[a.DRAG]||n||R[a.DRAG])&&(j=f&&!R[a.DRAG]&&1!==d,N(S=e||(j?a.data.bufferContexts[a.MOTIONBLUR_BUFFER_DRAG]:u.contexts[a.DRAG]),f&&!j?"motionBlur":void 0),D?a.drawCachedNodes(S,T.drag,s,M):a.drawCachedElements(S,T.drag,s,M),a.debug&&a.drawDebugPoints(S,T.drag),n||f||(l[a.DRAG]=!1)),a.showFps||!r&&l[a.SELECT_BOX]&&!n){if(N(S=e||u.contexts[a.SELECT_BOX]),1==a.selection[4]&&(a.hoverData.selecting||a.touchData.selecting)){m=a.cy.zoom();var G=y.core("selection-box-border-width").value/m;S.lineWidth=G,S.fillStyle="rgba("+y.core("selection-box-color").value[0]+","+y.core("selection-box-color").value[1]+","+y.core("selection-box-color").value[2]+","+y.core("selection-box-opacity").value+")",S.fillRect(a.selection[0],a.selection[1],a.selection[2]-a.selection[0],a.selection[3]-a.selection[1]),G>0&&(S.strokeStyle="rgba("+y.core("selection-box-border-color").value[0]+","+y.core("selection-box-border-color").value[1]+","+y.core("selection-box-border-color").value[2]+","+y.core("selection-box-opacity").value+")",S.strokeRect(a.selection[0],a.selection[1],a.selection[2]-a.selection[0],a.selection[3]-a.selection[1]))}if(u.bgActivePosistion&&!a.hoverData.selecting){m=a.cy.zoom();var B=u.bgActivePosistion;S.fillStyle="rgba("+y.core("active-bg-color").value[0]+","+y.core("active-bg-color").value[1]+","+y.core("active-bg-color").value[2]+","+y.core("active-bg-opacity").value+")",S.beginPath(),S.arc(B.x,B.y,y.core("active-bg-size").pfValue/m,0,2*Math.PI),S.fill()}var F=a.lastRedrawTime;if(a.showFps&&F){F=Math.round(F);var H=Math.round(1e3/F);S.setTransform(1,0,0,1,0,0),S.fillStyle="rgba(255, 0, 0, 0.75)",S.strokeStyle="rgba(255, 0, 0, 0.75)",S.lineWidth=1,S.fillText("1 frame = "+F+" ms = "+H+" fps",0,20),S.strokeRect(0,30,250,20),S.fillRect(0,30,250*Math.min(H/60,1),20)}n||(l[a.SELECT_BOX]=!1)}if(f&&1!==d){var Y=u.contexts[a.NODE],z=a.data.bufferCanvases[a.MOTIONBLUR_BUFFER_NODE],U=u.contexts[a.DRAG],V=a.data.bufferCanvases[a.MOTIONBLUR_BUFFER_DRAG],q=function(t,e,n){t.setTransform(1,0,0,1,0,0),n||!b?t.clearRect(0,0,a.canvasWidth,a.canvasHeight):C(t,0,0,a.canvasWidth,a.canvasHeight);var r=d;t.drawImage(e,0,0,a.canvasWidth*r,a.canvasHeight*r,0,0,a.canvasWidth,a.canvasHeight)};(l[a.NODE]||R[a.NODE])&&(q(Y,z,R[a.NODE]),l[a.NODE]=!1),(l[a.DRAG]||R[a.DRAG])&&(q(U,V,R[a.DRAG]),l[a.DRAG]=!1)}a.prevViewport=E,a.clearingMotionBlur&&(a.clearingMotionBlur=!1,a.motionBlurCleared=!0,a.motionBlur=!0),f&&(a.motionBlurTimeout=setTimeout((function(){a.motionBlurTimeout=null,a.clearedForMotionBlur[a.NODE]=!1,a.clearedForMotionBlur[a.DRAG]=!1,a.motionBlur=!1,a.clearingMotionBlur=!h,a.mbFrames=0,l[a.NODE]=!0,l[a.DRAG]=!0,a.redraw()}),100)),e||c.emit("render")}},Is={drawPolygonPath:function(t,e,n,r,i,o){var a=r/2,s=i/2;t.beginPath&&t.beginPath(),t.moveTo(e+a*o[0],n+s*o[1]);for(var c=1;c0&&o>0){f.clearRect(0,0,i,o),f.globalCompositeOperation="source-over";var d=this.getCachedZSortedEles();if(t.full)f.translate(-n.x1*c,-n.y1*c),f.scale(c,c),this.drawElements(f,d),f.scale(1/c,1/c),f.translate(n.x1*c,n.y1*c);else{var p=e.pan(),g={x:p.x*c,y:p.y*c};c*=e.zoom(),f.translate(g.x,g.y),f.scale(c,c),this.drawElements(f,d),f.scale(1/c,1/c),f.translate(-g.x,-g.y)}t.bg&&(f.globalCompositeOperation="destination-over",f.fillStyle=t.bg,f.rect(0,0,i,o),f.fill())}return h},Bs.png=function(t){return Hs(t,this.bufferCanvasImage(t),"image/png")},Bs.jpg=function(t){return Hs(t,this.bufferCanvasImage(t),"image/jpeg")};var Ys=Us,zs=Us.prototype;function Us(t){var e=this;e.data={canvases:new Array(zs.CANVAS_LAYERS),contexts:new Array(zs.CANVAS_LAYERS),canvasNeedsRedraw:new Array(zs.CANVAS_LAYERS),bufferCanvases:new Array(zs.BUFFER_COUNT),bufferContexts:new Array(zs.CANVAS_LAYERS)};var n="-webkit-tap-highlight-color",r="rgba(0,0,0,0)";e.data.canvasContainer=document.createElement("div");var i=e.data.canvasContainer.style;e.data.canvasContainer.style[n]=r,i.position="relative",i.zIndex="0",i.overflow="hidden";var o=t.cy.container();o.appendChild(e.data.canvasContainer),o.style[n]=r;var a={"-webkit-user-select":"none","-moz-user-select":"-moz-none","user-select":"none","-webkit-tap-highlight-color":"rgba(0,0,0,0)","outline-style":"none"};_&&_.userAgent.match(/msie|trident|edge/i)&&(a["-ms-touch-action"]="none",a["touch-action"]="none");for(var s=0;s{t.exports={graphlib:n(574),layout:n(8123),debug:n(7570),util:{time:n(7266).time,notime:n(7266).notime},version:n(8177)}},2188:(t,e,n)=>{"use strict";var r=n(8436),i=n(4079);t.exports={run:function(t){var e="greedy"===t.graph().acyclicer?i(t,function(t){return function(e){return t.edge(e).weight}}(t)):function(t){var e=[],n={},i={};return r.forEach(t.nodes(),(function o(a){r.has(i,a)||(i[a]=!0,n[a]=!0,r.forEach(t.outEdges(a),(function(t){r.has(n,t.w)?e.push(t):o(t.w)})),delete n[a])})),e}(t);r.forEach(e,(function(e){var n=t.edge(e);t.removeEdge(e),n.forwardName=e.name,n.reversed=!0,t.setEdge(e.w,e.v,n,r.uniqueId("rev"))}))},undo:function(t){r.forEach(t.edges(),(function(e){var n=t.edge(e);if(n.reversed){t.removeEdge(e);var r=n.forwardName;delete n.reversed,delete n.forwardName,t.setEdge(e.w,e.v,n,r)}}))}}},1133:(t,e,n)=>{var r=n(8436),i=n(7266);function o(t,e,n,r,o,a){var s={width:0,height:0,rank:a,borderType:e},c=o[e][a-1],u=i.addDummyNode(t,"border",s,n);o[e][a]=u,t.setParent(u,r),c&&t.setEdge(c,u,{weight:1})}t.exports=function(t){r.forEach(t.children(),(function e(n){var i=t.children(n),a=t.node(n);if(i.length&&r.forEach(i,e),r.has(a,"minRank")){a.borderLeft=[],a.borderRight=[];for(var s=a.minRank,c=a.maxRank+1;s{"use strict";var r=n(8436);function i(t){r.forEach(t.nodes(),(function(e){o(t.node(e))})),r.forEach(t.edges(),(function(e){o(t.edge(e))}))}function o(t){var e=t.width;t.width=t.height,t.height=e}function a(t){t.y=-t.y}function s(t){var e=t.x;t.x=t.y,t.y=e}t.exports={adjust:function(t){var e=t.graph().rankdir.toLowerCase();"lr"!==e&&"rl"!==e||i(t)},undo:function(t){var e=t.graph().rankdir.toLowerCase();"bt"!==e&&"rl"!==e||function(t){r.forEach(t.nodes(),(function(e){a(t.node(e))})),r.forEach(t.edges(),(function(e){var n=t.edge(e);r.forEach(n.points,a),r.has(n,"y")&&a(n)}))}(t),"lr"!==e&&"rl"!==e||(function(t){r.forEach(t.nodes(),(function(e){s(t.node(e))})),r.forEach(t.edges(),(function(e){var n=t.edge(e);r.forEach(n.points,s),r.has(n,"x")&&s(n)}))}(t),i(t))}}},7822:t=>{function e(){var t={};t._next=t._prev=t,this._sentinel=t}function n(t){t._prev._next=t._next,t._next._prev=t._prev,delete t._next,delete t._prev}function r(t,e){if("_next"!==t&&"_prev"!==t)return e}t.exports=e,e.prototype.dequeue=function(){var t=this._sentinel,e=t._prev;if(e!==t)return n(e),e},e.prototype.enqueue=function(t){var e=this._sentinel;t._prev&&t._next&&n(t),t._next=e._next,e._next._prev=t,e._next=t,t._prev=e},e.prototype.toString=function(){for(var t=[],e=this._sentinel,n=e._prev;n!==e;)t.push(JSON.stringify(n,r)),n=n._prev;return"["+t.join(", ")+"]"}},7570:(t,e,n)=>{var r=n(8436),i=n(7266),o=n(574).Graph;t.exports={debugOrdering:function(t){var e=i.buildLayerMatrix(t),n=new o({compound:!0,multigraph:!0}).setGraph({});return r.forEach(t.nodes(),(function(e){n.setNode(e,{label:e}),n.setParent(e,"layer"+t.node(e).rank)})),r.forEach(t.edges(),(function(t){n.setEdge(t.v,t.w,{},t.name)})),r.forEach(e,(function(t,e){var i="layer"+e;n.setNode(i,{rank:"same"}),r.reduce(t,(function(t,e){return n.setEdge(t,e,{style:"invis"}),e}))})),n}}},574:(t,e,n)=>{var r;try{r=n(8282)}catch(t){}r||(r=window.graphlib),t.exports=r},4079:(t,e,n)=>{var r=n(8436),i=n(574).Graph,o=n(7822);t.exports=function(t,e){if(t.nodeCount()<=1)return[];var n=function(t,e){var n=new i,a=0,s=0;r.forEach(t.nodes(),(function(t){n.setNode(t,{v:t,in:0,out:0})})),r.forEach(t.edges(),(function(t){var r=n.edge(t.v,t.w)||0,i=e(t),o=r+i;n.setEdge(t.v,t.w,o),s=Math.max(s,n.node(t.v).out+=i),a=Math.max(a,n.node(t.w).in+=i)}));var u=r.range(s+a+3).map((function(){return new o})),l=a+1;return r.forEach(n.nodes(),(function(t){c(u,l,n.node(t))})),{graph:n,buckets:u,zeroIdx:l}}(t,e||a),u=function(t,e,n){for(var r,i=[],o=e[e.length-1],a=e[0];t.nodeCount();){for(;r=a.dequeue();)s(t,e,n,r);for(;r=o.dequeue();)s(t,e,n,r);if(t.nodeCount())for(var c=e.length-2;c>0;--c)if(r=e[c].dequeue()){i=i.concat(s(t,e,n,r,!0));break}}return i}(n.graph,n.buckets,n.zeroIdx);return r.flatten(r.map(u,(function(e){return t.outEdges(e.v,e.w)})),!0)};var a=r.constant(1);function s(t,e,n,i,o){var a=o?[]:void 0;return r.forEach(t.inEdges(i.v),(function(r){var i=t.edge(r),s=t.node(r.v);o&&a.push({v:r.v,w:r.w}),s.out-=i,c(e,n,s)})),r.forEach(t.outEdges(i.v),(function(r){var i=t.edge(r),o=r.w,a=t.node(o);a.in-=i,c(e,n,a)})),t.removeNode(i.v),a}function c(t,e,n){n.out?n.in?t[n.out-n.in+e].enqueue(n):t[t.length-1].enqueue(n):t[0].enqueue(n)}},8123:(t,e,n)=>{"use strict";var r=n(8436),i=n(2188),o=n(5995),a=n(8093),s=n(7266).normalizeRanks,c=n(4219),u=n(7266).removeEmptyRanks,l=n(2981),h=n(1133),f=n(3258),d=n(3408),p=n(7873),g=n(7266),v=n(574).Graph;t.exports=function(t,e){var n=e&&e.debugTiming?g.time:g.notime;n("layout",(function(){var e=n(" buildLayoutGraph",(function(){return function(t){var e=new v({multigraph:!0,compound:!0}),n=C(t.graph());return e.setGraph(r.merge({},y,T(n,b),r.pick(n,m))),r.forEach(t.nodes(),(function(n){var i=C(t.node(n));e.setNode(n,r.defaults(T(i,w),x)),e.setParent(n,t.parent(n))})),r.forEach(t.edges(),(function(n){var i=C(t.edge(n));e.setEdge(n,r.merge({},E,T(i,_),r.pick(i,k)))})),e}(t)}));n(" runLayout",(function(){!function(t,e){e(" makeSpaceForEdgeLabels",(function(){!function(t){var e=t.graph();e.ranksep/=2,r.forEach(t.edges(),(function(n){var r=t.edge(n);r.minlen*=2,"c"!==r.labelpos.toLowerCase()&&("TB"===e.rankdir||"BT"===e.rankdir?r.width+=r.labeloffset:r.height+=r.labeloffset)}))}(t)})),e(" removeSelfEdges",(function(){!function(t){r.forEach(t.edges(),(function(e){if(e.v===e.w){var n=t.node(e.v);n.selfEdges||(n.selfEdges=[]),n.selfEdges.push({e,label:t.edge(e)}),t.removeEdge(e)}}))}(t)})),e(" acyclic",(function(){i.run(t)})),e(" nestingGraph.run",(function(){l.run(t)})),e(" rank",(function(){a(g.asNonCompoundGraph(t))})),e(" injectEdgeLabelProxies",(function(){!function(t){r.forEach(t.edges(),(function(e){var n=t.edge(e);if(n.width&&n.height){var r=t.node(e.v),i={rank:(t.node(e.w).rank-r.rank)/2+r.rank,e};g.addDummyNode(t,"edge-proxy",i,"_ep")}}))}(t)})),e(" removeEmptyRanks",(function(){u(t)})),e(" nestingGraph.cleanup",(function(){l.cleanup(t)})),e(" normalizeRanks",(function(){s(t)})),e(" assignRankMinMax",(function(){!function(t){var e=0;r.forEach(t.nodes(),(function(n){var i=t.node(n);i.borderTop&&(i.minRank=t.node(i.borderTop).rank,i.maxRank=t.node(i.borderBottom).rank,e=r.max(e,i.maxRank))})),t.graph().maxRank=e}(t)})),e(" removeEdgeLabelProxies",(function(){!function(t){r.forEach(t.nodes(),(function(e){var n=t.node(e);"edge-proxy"===n.dummy&&(t.edge(n.e).labelRank=n.rank,t.removeNode(e))}))}(t)})),e(" normalize.run",(function(){o.run(t)})),e(" parentDummyChains",(function(){c(t)})),e(" addBorderSegments",(function(){h(t)})),e(" order",(function(){d(t)})),e(" insertSelfEdges",(function(){!function(t){var e=g.buildLayerMatrix(t);r.forEach(e,(function(e){var n=0;r.forEach(e,(function(e,i){var o=t.node(e);o.order=i+n,r.forEach(o.selfEdges,(function(e){g.addDummyNode(t,"selfedge",{width:e.label.width,height:e.label.height,rank:o.rank,order:i+ ++n,e:e.e,label:e.label},"_se")})),delete o.selfEdges}))}))}(t)})),e(" adjustCoordinateSystem",(function(){f.adjust(t)})),e(" position",(function(){p(t)})),e(" positionSelfEdges",(function(){!function(t){r.forEach(t.nodes(),(function(e){var n=t.node(e);if("selfedge"===n.dummy){var r=t.node(n.e.v),i=r.x+r.width/2,o=r.y,a=n.x-i,s=r.height/2;t.setEdge(n.e,n.label),t.removeNode(e),n.label.points=[{x:i+2*a/3,y:o-s},{x:i+5*a/6,y:o-s},{x:i+a,y:o},{x:i+5*a/6,y:o+s},{x:i+2*a/3,y:o+s}],n.label.x=n.x,n.label.y=n.y}}))}(t)})),e(" removeBorderNodes",(function(){!function(t){r.forEach(t.nodes(),(function(e){if(t.children(e).length){var n=t.node(e),i=t.node(n.borderTop),o=t.node(n.borderBottom),a=t.node(r.last(n.borderLeft)),s=t.node(r.last(n.borderRight));n.width=Math.abs(s.x-a.x),n.height=Math.abs(o.y-i.y),n.x=a.x+n.width/2,n.y=i.y+n.height/2}})),r.forEach(t.nodes(),(function(e){"border"===t.node(e).dummy&&t.removeNode(e)}))}(t)})),e(" normalize.undo",(function(){o.undo(t)})),e(" fixupEdgeLabelCoords",(function(){!function(t){r.forEach(t.edges(),(function(e){var n=t.edge(e);if(r.has(n,"x"))switch("l"!==n.labelpos&&"r"!==n.labelpos||(n.width-=n.labeloffset),n.labelpos){case"l":n.x-=n.width/2+n.labeloffset;break;case"r":n.x+=n.width/2+n.labeloffset}}))}(t)})),e(" undoCoordinateSystem",(function(){f.undo(t)})),e(" translateGraph",(function(){!function(t){var e=Number.POSITIVE_INFINITY,n=0,i=Number.POSITIVE_INFINITY,o=0,a=t.graph(),s=a.marginx||0,c=a.marginy||0;function u(t){var r=t.x,a=t.y,s=t.width,c=t.height;e=Math.min(e,r-s/2),n=Math.max(n,r+s/2),i=Math.min(i,a-c/2),o=Math.max(o,a+c/2)}r.forEach(t.nodes(),(function(e){u(t.node(e))})),r.forEach(t.edges(),(function(e){var n=t.edge(e);r.has(n,"x")&&u(n)})),e-=s,i-=c,r.forEach(t.nodes(),(function(n){var r=t.node(n);r.x-=e,r.y-=i})),r.forEach(t.edges(),(function(n){var o=t.edge(n);r.forEach(o.points,(function(t){t.x-=e,t.y-=i})),r.has(o,"x")&&(o.x-=e),r.has(o,"y")&&(o.y-=i)})),a.width=n-e+s,a.height=o-i+c}(t)})),e(" assignNodeIntersects",(function(){!function(t){r.forEach(t.edges(),(function(e){var n,r,i=t.edge(e),o=t.node(e.v),a=t.node(e.w);i.points?(n=i.points[0],r=i.points[i.points.length-1]):(i.points=[],n=a,r=o),i.points.unshift(g.intersectRect(o,n)),i.points.push(g.intersectRect(a,r))}))}(t)})),e(" reversePoints",(function(){!function(t){r.forEach(t.edges(),(function(e){var n=t.edge(e);n.reversed&&n.points.reverse()}))}(t)})),e(" acyclic.undo",(function(){i.undo(t)}))}(e,n)})),n(" updateInputGraph",(function(){!function(t,e){r.forEach(t.nodes(),(function(n){var r=t.node(n),i=e.node(n);r&&(r.x=i.x,r.y=i.y,e.children(n).length&&(r.width=i.width,r.height=i.height))})),r.forEach(t.edges(),(function(n){var i=t.edge(n),o=e.edge(n);i.points=o.points,r.has(o,"x")&&(i.x=o.x,i.y=o.y)})),t.graph().width=e.graph().width,t.graph().height=e.graph().height}(t,e)}))}))};var b=["nodesep","edgesep","ranksep","marginx","marginy"],y={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},m=["acyclicer","ranker","rankdir","align"],w=["width","height"],x={width:0,height:0},_=["minlen","weight","width","height","labeloffset"],E={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},k=["labelpos"];function T(t,e){return r.mapValues(r.pick(t,e),Number)}function C(t){var e={};return r.forEach(t,(function(t,n){e[n.toLowerCase()]=t})),e}},8436:(t,e,n)=>{var r;try{r={cloneDeep:n(361),constant:n(5703),defaults:n(1747),each:n(6073),filter:n(3105),find:n(3311),flatten:n(5564),forEach:n(4486),forIn:n(2620),has:n(8721),isUndefined:n(2353),last:n(928),map:n(5161),mapValues:n(6604),max:n(6162),merge:n(3857),min:n(3632),minBy:n(2762),now:n(7771),pick:n(9722),range:n(6026),reduce:n(4061),sortBy:n(9734),uniqueId:n(3955),values:n(2628),zipObject:n(7287)}}catch(t){}r||(r=window._),t.exports=r},2981:(t,e,n)=>{var r=n(8436),i=n(7266);function o(t,e,n,a,s,c,u){var l=t.children(u);if(l.length){var h=i.addBorderNode(t,"_bt"),f=i.addBorderNode(t,"_bb"),d=t.node(u);t.setParent(h,u),d.borderTop=h,t.setParent(f,u),d.borderBottom=f,r.forEach(l,(function(r){o(t,e,n,a,s,c,r);var i=t.node(r),l=i.borderTop?i.borderTop:r,d=i.borderBottom?i.borderBottom:r,p=i.borderTop?a:2*a,g=l!==d?1:s-c[u]+1;t.setEdge(h,l,{weight:p,minlen:g,nestingEdge:!0}),t.setEdge(d,f,{weight:p,minlen:g,nestingEdge:!0})})),t.parent(u)||t.setEdge(e,h,{weight:0,minlen:s+c[u]})}else u!==e&&t.setEdge(e,u,{weight:0,minlen:n})}t.exports={run:function(t){var e=i.addDummyNode(t,"root",{},"_root"),n=function(t){var e={};function n(i,o){var a=t.children(i);a&&a.length&&r.forEach(a,(function(t){n(t,o+1)})),e[i]=o}return r.forEach(t.children(),(function(t){n(t,1)})),e}(t),a=r.max(r.values(n))-1,s=2*a+1;t.graph().nestingRoot=e,r.forEach(t.edges(),(function(e){t.edge(e).minlen*=s}));var c=function(t){return r.reduce(t.edges(),(function(e,n){return e+t.edge(n).weight}),0)}(t)+1;r.forEach(t.children(),(function(r){o(t,e,s,c,a,n,r)})),t.graph().nodeRankFactor=s},cleanup:function(t){var e=t.graph();t.removeNode(e.nestingRoot),delete e.nestingRoot,r.forEach(t.edges(),(function(e){t.edge(e).nestingEdge&&t.removeEdge(e)}))}}},5995:(t,e,n)=>{"use strict";var r=n(8436),i=n(7266);t.exports={run:function(t){t.graph().dummyChains=[],r.forEach(t.edges(),(function(e){!function(t,e){var n,r,o,a=e.v,s=t.node(a).rank,c=e.w,u=t.node(c).rank,l=e.name,h=t.edge(e),f=h.labelRank;if(u!==s+1){for(t.removeEdge(e),o=0,++s;s{var r=n(8436);t.exports=function(t,e,n){var i,o={};r.forEach(n,(function(n){for(var r,a,s=t.parent(n);s;){if((r=t.parent(s))?(a=o[r],o[r]=s):(a=i,i=s),a&&a!==s)return void e.setEdge(a,s);s=r}}))}},5439:(t,e,n)=>{var r=n(8436);t.exports=function(t,e){return r.map(e,(function(e){var n=t.inEdges(e);if(n.length){var i=r.reduce(n,(function(e,n){var r=t.edge(n),i=t.node(n.v);return{sum:e.sum+r.weight*i.order,weight:e.weight+r.weight}}),{sum:0,weight:0});return{v:e,barycenter:i.sum/i.weight,weight:i.weight}}return{v:e}}))}},3128:(t,e,n)=>{var r=n(8436),i=n(574).Graph;t.exports=function(t,e,n){var o=function(t){for(var e;t.hasNode(e=r.uniqueId("_root")););return e}(t),a=new i({compound:!0}).setGraph({root:o}).setDefaultNodeLabel((function(e){return t.node(e)}));return r.forEach(t.nodes(),(function(i){var s=t.node(i),c=t.parent(i);(s.rank===e||s.minRank<=e&&e<=s.maxRank)&&(a.setNode(i),a.setParent(i,c||o),r.forEach(t[n](i),(function(e){var n=e.v===i?e.w:e.v,o=a.edge(n,i),s=r.isUndefined(o)?0:o.weight;a.setEdge(n,i,{weight:t.edge(e).weight+s})})),r.has(s,"minRank")&&a.setNode(i,{borderLeft:s.borderLeft[e],borderRight:s.borderRight[e]}))})),a}},6630:(t,e,n)=>{"use strict";var r=n(8436);function i(t,e,n){for(var i=r.zipObject(n,r.map(n,(function(t,e){return e}))),o=r.flatten(r.map(e,(function(e){return r.sortBy(r.map(t.outEdges(e),(function(e){return{pos:i[e.w],weight:t.edge(e).weight}})),"pos")})),!0),a=1;a0;)e%2&&(n+=c[e+1]),c[e=e-1>>1]+=t.weight;u+=t.weight*n}))),u}t.exports=function(t,e){for(var n=0,r=1;r{"use strict";var r=n(8436),i=n(2588),o=n(6630),a=n(1026),s=n(3128),c=n(5093),u=n(574).Graph,l=n(7266);function h(t,e,n){return r.map(e,(function(e){return s(t,e,n)}))}function f(t,e){var n=new u;r.forEach(t,(function(t){var i=t.graph().root,o=a(t,i,n,e);r.forEach(o.vs,(function(e,n){t.node(e).order=n})),c(t,n,o.vs)}))}function d(t,e){r.forEach(e,(function(e){r.forEach(e,(function(e,n){t.node(e).order=n}))}))}t.exports=function(t){var e=l.maxRank(t),n=h(t,r.range(1,e+1),"inEdges"),a=h(t,r.range(e-1,-1,-1),"outEdges"),s=i(t);d(t,s);for(var c,u=Number.POSITIVE_INFINITY,p=0,g=0;g<4;++p,++g){f(p%2?n:a,p%4>=2),s=l.buildLayerMatrix(t);var v=o(t,s);v{"use strict";var r=n(8436);t.exports=function(t){var e={},n=r.filter(t.nodes(),(function(e){return!t.children(e).length})),i=r.max(r.map(n,(function(e){return t.node(e).rank}))),o=r.map(r.range(i+1),(function(){return[]})),a=r.sortBy(n,(function(e){return t.node(e).rank}));return r.forEach(a,(function n(i){if(!r.has(e,i)){e[i]=!0;var a=t.node(i);o[a.rank].push(i),r.forEach(t.successors(i),n)}})),o}},9567:(t,e,n)=>{"use strict";var r=n(8436);t.exports=function(t,e){var n={};return r.forEach(t,(function(t,e){var i=n[t.v]={indegree:0,in:[],out:[],vs:[t.v],i:e};r.isUndefined(t.barycenter)||(i.barycenter=t.barycenter,i.weight=t.weight)})),r.forEach(e.edges(),(function(t){var e=n[t.v],i=n[t.w];r.isUndefined(e)||r.isUndefined(i)||(i.indegree++,e.out.push(n[t.w]))})),function(t){var e=[];function n(t){return function(e){var n,i,o,a;e.merged||(r.isUndefined(e.barycenter)||r.isUndefined(t.barycenter)||e.barycenter>=t.barycenter)&&(i=e,o=0,a=0,(n=t).weight&&(o+=n.barycenter*n.weight,a+=n.weight),i.weight&&(o+=i.barycenter*i.weight,a+=i.weight),n.vs=i.vs.concat(n.vs),n.barycenter=o/a,n.weight=a,n.i=Math.min(i.i,n.i),i.merged=!0)}}function i(e){return function(n){n.in.push(e),0==--n.indegree&&t.push(n)}}for(;t.length;){var o=t.pop();e.push(o),r.forEach(o.in.reverse(),n(o)),r.forEach(o.out,i(o))}return r.map(r.filter(e,(function(t){return!t.merged})),(function(t){return r.pick(t,["vs","i","barycenter","weight"])}))}(r.filter(n,(function(t){return!t.indegree})))}},1026:(t,e,n)=>{var r=n(8436),i=n(5439),o=n(9567),a=n(7304);t.exports=function t(e,n,s,c){var u=e.children(n),l=e.node(n),h=l?l.borderLeft:void 0,f=l?l.borderRight:void 0,d={};h&&(u=r.filter(u,(function(t){return t!==h&&t!==f})));var p=i(e,u);r.forEach(p,(function(n){if(e.children(n.v).length){var i=t(e,n.v,s,c);d[n.v]=i,r.has(i,"barycenter")&&(o=n,a=i,r.isUndefined(o.barycenter)?(o.barycenter=a.barycenter,o.weight=a.weight):(o.barycenter=(o.barycenter*o.weight+a.barycenter*a.weight)/(o.weight+a.weight),o.weight+=a.weight))}var o,a}));var g=o(p,s);!function(t,e){r.forEach(t,(function(t){t.vs=r.flatten(t.vs.map((function(t){return e[t]?e[t].vs:t})),!0)}))}(g,d);var v=a(g,c);if(h&&(v.vs=r.flatten([h,v.vs,f],!0),e.predecessors(h).length)){var b=e.node(e.predecessors(h)[0]),y=e.node(e.predecessors(f)[0]);r.has(v,"barycenter")||(v.barycenter=0,v.weight=0),v.barycenter=(v.barycenter*v.weight+b.order+y.order)/(v.weight+2),v.weight+=2}return v}},7304:(t,e,n)=>{var r=n(8436),i=n(7266);function o(t,e,n){for(var i;e.length&&(i=r.last(e)).i<=n;)e.pop(),t.push(i.vs),n++;return n}t.exports=function(t,e){var n,a=i.partition(t,(function(t){return r.has(t,"barycenter")})),s=a.lhs,c=r.sortBy(a.rhs,(function(t){return-t.i})),u=[],l=0,h=0,f=0;s.sort((n=!!e,function(t,e){return t.barycentere.barycenter?1:n?e.i-t.i:t.i-e.i})),f=o(u,c,f),r.forEach(s,(function(t){f+=t.vs.length,u.push(t.vs),l+=t.barycenter*t.weight,h+=t.weight,f=o(u,c,f)}));var d={vs:r.flatten(u,!0)};return h&&(d.barycenter=l/h,d.weight=h),d}},4219:(t,e,n)=>{var r=n(8436);t.exports=function(t){var e=function(t){var e={},n=0;return r.forEach(t.children(),(function i(o){var a=n;r.forEach(t.children(o),i),e[o]={low:a,lim:n++}})),e}(t);r.forEach(t.graph().dummyChains,(function(n){for(var r=t.node(n),i=r.edgeObj,o=function(t,e,n,r){var i,o,a=[],s=[],c=Math.min(e[n].low,e[r].low),u=Math.max(e[n].lim,e[r].lim);i=n;do{i=t.parent(i),a.push(i)}while(i&&(e[i].low>c||u>e[i].lim));for(o=i,i=r;(i=t.parent(i))!==o;)s.push(i);return{path:a.concat(s.reverse()),lca:o}}(t,e,i.v,i.w),a=o.path,s=o.lca,c=0,u=a[c],l=!0;n!==i.w;){if(r=t.node(n),l){for(;(u=a[c])!==s&&t.node(u).maxRank{"use strict";var r=n(8436),i=n(574).Graph,o=n(7266);function a(t,e){var n={};return r.reduce(e,(function(e,i){var o=0,a=0,s=e.length,u=r.last(i);return r.forEach(i,(function(e,l){var h=function(t,e){if(t.node(e).dummy)return r.find(t.predecessors(e),(function(e){return t.node(e).dummy}))}(t,e),f=h?t.node(h).order:s;(h||e===u)&&(r.forEach(i.slice(a,l+1),(function(e){r.forEach(t.predecessors(e),(function(r){var i=t.node(r),a=i.order;!(as)&&c(n,e,u)}))}))}return r.reduce(e,(function(e,n){var o,a=-1,s=0;return r.forEach(n,(function(r,c){if("border"===t.node(r).dummy){var u=t.predecessors(r);u.length&&(o=t.node(u[0]).order,i(n,s,c,a,o),s=c,a=o)}i(n,s,n.length,o,e.length)})),n})),n}function c(t,e,n){if(e>n){var r=e;e=n,n=r}var i=t[e];i||(t[e]=i={}),i[n]=!0}function u(t,e,n){if(e>n){var i=e;e=n,n=i}return r.has(t[e],n)}function l(t,e,n,i){var o={},a={},s={};return r.forEach(e,(function(t){r.forEach(t,(function(t,e){o[t]=t,a[t]=t,s[t]=e}))})),r.forEach(e,(function(t){var e=-1;r.forEach(t,(function(t){var c=i(t);if(c.length){c=r.sortBy(c,(function(t){return s[t]}));for(var l=(c.length-1)/2,h=Math.floor(l),f=Math.ceil(l);h<=f;++h){var d=c[h];a[t]===t&&e{"use strict";var r=n(8436),i=n(7266),o=n(3573).positionX;t.exports=function(t){(function(t){var e=i.buildLayerMatrix(t),n=t.graph().ranksep,o=0;r.forEach(e,(function(e){var i=r.max(r.map(e,(function(e){return t.node(e).height})));r.forEach(e,(function(e){t.node(e).y=o+i/2})),o+=i+n}))})(t=i.asNonCompoundGraph(t)),r.forEach(o(t),(function(e,n){t.node(n).x=e}))}},300:(t,e,n)=>{"use strict";var r=n(8436),i=n(574).Graph,o=n(6681).slack;function a(t,e){return r.forEach(t.nodes(),(function n(i){r.forEach(e.nodeEdges(i),(function(r){var a=r.v,s=i===a?r.w:a;t.hasNode(s)||o(e,r)||(t.setNode(s,{}),t.setEdge(i,s,{}),n(s))}))})),t.nodeCount()}function s(t,e){return r.minBy(e.edges(),(function(n){if(t.hasNode(n.v)!==t.hasNode(n.w))return o(e,n)}))}function c(t,e,n){r.forEach(t.nodes(),(function(t){e.node(t).rank+=n}))}t.exports=function(t){var e,n,r=new i({directed:!1}),u=t.nodes()[0],l=t.nodeCount();for(r.setNode(u,{});a(r,t){"use strict";var r=n(6681).longestPath,i=n(300),o=n(2472);t.exports=function(t){switch(t.graph().ranker){case"network-simplex":default:!function(t){o(t)}(t);break;case"tight-tree":!function(t){r(t),i(t)}(t);break;case"longest-path":a(t)}};var a=r},2472:(t,e,n)=>{"use strict";var r=n(8436),i=n(300),o=n(6681).slack,a=n(6681).longestPath,s=n(574).alg.preorder,c=n(574).alg.postorder,u=n(7266).simplify;function l(t){t=u(t),a(t);var e,n=i(t);for(d(n),h(n,t);e=g(n);)b(n,t,e,v(n,t,e))}function h(t,e){var n=c(t,t.nodes());n=n.slice(0,n.length-1),r.forEach(n,(function(n){!function(t,e,n){var r=t.node(n).parent;t.edge(n,r).cutvalue=f(t,e,n)}(t,e,n)}))}function f(t,e,n){var i=t.node(n).parent,o=!0,a=e.edge(n,i),s=0;return a||(o=!1,a=e.edge(i,n)),s=a.weight,r.forEach(e.nodeEdges(n),(function(r){var a,c,u=r.v===n,l=u?r.w:r.v;if(l!==i){var h=u===o,f=e.edge(r).weight;if(s+=h?f:-f,a=n,c=l,t.hasEdge(a,c)){var d=t.edge(n,l).cutvalue;s+=h?-d:d}}})),s}function d(t,e){arguments.length<2&&(e=t.nodes()[0]),p(t,{},1,e)}function p(t,e,n,i,o){var a=n,s=t.node(i);return e[i]=!0,r.forEach(t.neighbors(i),(function(o){r.has(e,o)||(n=p(t,e,n,o,i))})),s.low=a,s.lim=n++,o?s.parent=o:delete s.parent,n}function g(t){return r.find(t.edges(),(function(e){return t.edge(e).cutvalue<0}))}function v(t,e,n){var i=n.v,a=n.w;e.hasEdge(i,a)||(i=n.w,a=n.v);var s=t.node(i),c=t.node(a),u=s,l=!1;s.lim>c.lim&&(u=c,l=!0);var h=r.filter(e.edges(),(function(e){return l===y(0,t.node(e.v),u)&&l!==y(0,t.node(e.w),u)}));return r.minBy(h,(function(t){return o(e,t)}))}function b(t,e,n,i){var o=n.v,a=n.w;t.removeEdge(o,a),t.setEdge(i.v,i.w,{}),d(t),h(t,e),function(t,e){var n=r.find(t.nodes(),(function(t){return!e.node(t).parent})),i=s(t,n);i=i.slice(1),r.forEach(i,(function(n){var r=t.node(n).parent,i=e.edge(n,r),o=!1;i||(i=e.edge(r,n),o=!0),e.node(n).rank=e.node(r).rank+(o?i.minlen:-i.minlen)}))}(t,e)}function y(t,e,n){return n.low<=e.lim&&e.lim<=n.lim}t.exports=l,l.initLowLimValues=d,l.initCutValues=h,l.calcCutValue=f,l.leaveEdge=g,l.enterEdge=v,l.exchangeEdges=b},6681:(t,e,n)=>{"use strict";var r=n(8436);t.exports={longestPath:function(t){var e={};r.forEach(t.sources(),(function n(i){var o=t.node(i);if(r.has(e,i))return o.rank;e[i]=!0;var a=r.min(r.map(t.outEdges(i),(function(e){return n(e.w)-t.edge(e).minlen})));return a!==Number.POSITIVE_INFINITY&&null!=a||(a=0),o.rank=a}))},slack:function(t,e){return t.node(e.w).rank-t.node(e.v).rank-t.edge(e).minlen}}},7266:(t,e,n)=>{"use strict";var r=n(8436),i=n(574).Graph;function o(t,e,n,i){var o;do{o=r.uniqueId(i)}while(t.hasNode(o));return n.dummy=e,t.setNode(o,n),o}function a(t){return r.max(r.map(t.nodes(),(function(e){var n=t.node(e).rank;if(!r.isUndefined(n))return n})))}t.exports={addDummyNode:o,simplify:function(t){var e=(new i).setGraph(t.graph());return r.forEach(t.nodes(),(function(n){e.setNode(n,t.node(n))})),r.forEach(t.edges(),(function(n){var r=e.edge(n.v,n.w)||{weight:0,minlen:1},i=t.edge(n);e.setEdge(n.v,n.w,{weight:r.weight+i.weight,minlen:Math.max(r.minlen,i.minlen)})})),e},asNonCompoundGraph:function(t){var e=new i({multigraph:t.isMultigraph()}).setGraph(t.graph());return r.forEach(t.nodes(),(function(n){t.children(n).length||e.setNode(n,t.node(n))})),r.forEach(t.edges(),(function(n){e.setEdge(n,t.edge(n))})),e},successorWeights:function(t){var e=r.map(t.nodes(),(function(e){var n={};return r.forEach(t.outEdges(e),(function(e){n[e.w]=(n[e.w]||0)+t.edge(e).weight})),n}));return r.zipObject(t.nodes(),e)},predecessorWeights:function(t){var e=r.map(t.nodes(),(function(e){var n={};return r.forEach(t.inEdges(e),(function(e){n[e.v]=(n[e.v]||0)+t.edge(e).weight})),n}));return r.zipObject(t.nodes(),e)},intersectRect:function(t,e){var n,r,i=t.x,o=t.y,a=e.x-i,s=e.y-o,c=t.width/2,u=t.height/2;if(!a&&!s)throw new Error("Not possible to find intersection inside of the rectangle");return Math.abs(s)*c>Math.abs(a)*u?(s<0&&(u=-u),n=u*a/s,r=u):(a<0&&(c=-c),n=c,r=c*s/a),{x:i+n,y:o+r}},buildLayerMatrix:function(t){var e=r.map(r.range(a(t)+1),(function(){return[]}));return r.forEach(t.nodes(),(function(n){var i=t.node(n),o=i.rank;r.isUndefined(o)||(e[o][i.order]=n)})),e},normalizeRanks:function(t){var e=r.min(r.map(t.nodes(),(function(e){return t.node(e).rank})));r.forEach(t.nodes(),(function(n){var i=t.node(n);r.has(i,"rank")&&(i.rank-=e)}))},removeEmptyRanks:function(t){var e=r.min(r.map(t.nodes(),(function(e){return t.node(e).rank}))),n=[];r.forEach(t.nodes(),(function(r){var i=t.node(r).rank-e;n[i]||(n[i]=[]),n[i].push(r)}));var i=0,o=t.graph().nodeRankFactor;r.forEach(n,(function(e,n){r.isUndefined(e)&&n%o!=0?--i:i&&r.forEach(e,(function(e){t.node(e).rank+=i}))}))},addBorderNode:function(t,e,n,r){var i={width:0,height:0};return arguments.length>=4&&(i.rank=n,i.order=r),o(t,"border",i,e)},maxRank:a,partition:function(t,e){var n={lhs:[],rhs:[]};return r.forEach(t,(function(t){e(t)?n.lhs.push(t):n.rhs.push(t)})),n},time:function(t,e){var n=r.now();try{return e()}finally{console.log(t+" time: "+(r.now()-n)+"ms")}},notime:function(t,e){return e()}}},8177:t=>{t.exports="0.8.5"},8282:(t,e,n)=>{var r=n(2354);t.exports={Graph:r.Graph,json:n(8974),alg:n(2440),version:r.version}},2842:(t,e,n)=>{var r=n(9126);t.exports=function(t){var e,n={},i=[];function o(i){r.has(n,i)||(n[i]=!0,e.push(i),r.each(t.successors(i),o),r.each(t.predecessors(i),o))}return r.each(t.nodes(),(function(t){e=[],o(t),e.length&&i.push(e)})),i}},3984:(t,e,n)=>{var r=n(9126);function i(t,e,n,o,a,s){r.has(o,e)||(o[e]=!0,n||s.push(e),r.each(a(e),(function(e){i(t,e,n,o,a,s)})),n&&s.push(e))}t.exports=function(t,e,n){r.isArray(e)||(e=[e]);var o=(t.isDirected()?t.successors:t.neighbors).bind(t),a=[],s={};return r.each(e,(function(e){if(!t.hasNode(e))throw new Error("Graph does not have node: "+e);i(t,e,"post"===n,s,o,a)})),a}},4847:(t,e,n)=>{var r=n(3763),i=n(9126);t.exports=function(t,e,n){return i.transform(t.nodes(),(function(i,o){i[o]=r(t,o,e,n)}),{})}},3763:(t,e,n)=>{var r=n(9126),i=n(9675);t.exports=function(t,e,n,r){return function(t,e,n,r){var o,a,s={},c=new i,u=function(t){var e=t.v!==o?t.v:t.w,r=s[e],i=n(t),u=a.distance+i;if(i<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+t+" Weight: "+i);u0&&(o=c.removeMin(),(a=s[o]).distance!==Number.POSITIVE_INFINITY);)r(o).forEach(u);return s}(t,String(e),n||o,r||function(e){return t.outEdges(e)})};var o=r.constant(1)},9096:(t,e,n)=>{var r=n(9126),i=n(5023);t.exports=function(t){return r.filter(i(t),(function(e){return e.length>1||1===e.length&&t.hasEdge(e[0],e[0])}))}},8924:(t,e,n)=>{var r=n(9126);t.exports=function(t,e,n){return function(t,e,n){var r={},i=t.nodes();return i.forEach((function(t){r[t]={},r[t][t]={distance:0},i.forEach((function(e){t!==e&&(r[t][e]={distance:Number.POSITIVE_INFINITY})})),n(t).forEach((function(n){var i=n.v===t?n.w:n.v,o=e(n);r[t][i]={distance:o,predecessor:t}}))})),i.forEach((function(t){var e=r[t];i.forEach((function(n){var o=r[n];i.forEach((function(n){var r=o[t],i=e[n],a=o[n],s=r.distance+i.distance;s{t.exports={components:n(2842),dijkstra:n(3763),dijkstraAll:n(4847),findCycles:n(9096),floydWarshall:n(8924),isAcyclic:n(2707),postorder:n(8828),preorder:n(2648),prim:n(514),tarjan:n(5023),topsort:n(2166)}},2707:(t,e,n)=>{var r=n(2166);t.exports=function(t){try{r(t)}catch(t){if(t instanceof r.CycleException)return!1;throw t}return!0}},8828:(t,e,n)=>{var r=n(3984);t.exports=function(t,e){return r(t,e,"post")}},2648:(t,e,n)=>{var r=n(3984);t.exports=function(t,e){return r(t,e,"pre")}},514:(t,e,n)=>{var r=n(9126),i=n(771),o=n(9675);t.exports=function(t,e){var n,a=new i,s={},c=new o;function u(t){var r=t.v===n?t.w:t.v,i=c.priority(r);if(void 0!==i){var o=e(t);o0;){if(n=c.removeMin(),r.has(s,n))a.setEdge(n,s[n]);else{if(l)throw new Error("Input graph is not connected: "+t);l=!0}t.nodeEdges(n).forEach(u)}return a}},5023:(t,e,n)=>{var r=n(9126);t.exports=function(t){var e=0,n=[],i={},o=[];function a(s){var c=i[s]={onStack:!0,lowlink:e,index:e++};if(n.push(s),t.successors(s).forEach((function(t){r.has(i,t)?i[t].onStack&&(c.lowlink=Math.min(c.lowlink,i[t].index)):(a(t),c.lowlink=Math.min(c.lowlink,i[t].lowlink))})),c.lowlink===c.index){var u,l=[];do{u=n.pop(),i[u].onStack=!1,l.push(u)}while(s!==u);o.push(l)}}return t.nodes().forEach((function(t){r.has(i,t)||a(t)})),o}},2166:(t,e,n)=>{var r=n(9126);function i(t){var e={},n={},i=[];if(r.each(t.sinks(),(function a(s){if(r.has(n,s))throw new o;r.has(e,s)||(n[s]=!0,e[s]=!0,r.each(t.predecessors(s),a),delete n[s],i.push(s))})),r.size(e)!==t.nodeCount())throw new o;return i}function o(){}t.exports=i,i.CycleException=o,o.prototype=new Error},9675:(t,e,n)=>{var r=n(9126);function i(){this._arr=[],this._keyIndices={}}t.exports=i,i.prototype.size=function(){return this._arr.length},i.prototype.keys=function(){return this._arr.map((function(t){return t.key}))},i.prototype.has=function(t){return r.has(this._keyIndices,t)},i.prototype.priority=function(t){var e=this._keyIndices[t];if(void 0!==e)return this._arr[e].priority},i.prototype.min=function(){if(0===this.size())throw new Error("Queue underflow");return this._arr[0].key},i.prototype.add=function(t,e){var n=this._keyIndices;if(t=String(t),!r.has(n,t)){var i=this._arr,o=i.length;return n[t]=o,i.push({key:t,priority:e}),this._decrease(o),!0}return!1},i.prototype.removeMin=function(){this._swap(0,this._arr.length-1);var t=this._arr.pop();return delete this._keyIndices[t.key],this._heapify(0),t.key},i.prototype.decrease=function(t,e){var n=this._keyIndices[t];if(e>this._arr[n].priority)throw new Error("New priority is greater than current priority. Key: "+t+" Old: "+this._arr[n].priority+" New: "+e);this._arr[n].priority=e,this._decrease(n)},i.prototype._heapify=function(t){var e=this._arr,n=2*t,r=n+1,i=t;n>1].priority{"use strict";var r=n(9126);t.exports=s;var i="\0",o="\0",a="";function s(t){this._isDirected=!r.has(t,"directed")||t.directed,this._isMultigraph=!!r.has(t,"multigraph")&&t.multigraph,this._isCompound=!!r.has(t,"compound")&&t.compound,this._label=void 0,this._defaultNodeLabelFn=r.constant(void 0),this._defaultEdgeLabelFn=r.constant(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[o]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}function c(t,e){t[e]?t[e]++:t[e]=1}function u(t,e){--t[e]||delete t[e]}function l(t,e,n,o){var s=""+e,c=""+n;if(!t&&s>c){var u=s;s=c,c=u}return s+a+c+a+(r.isUndefined(o)?i:o)}function h(t,e){return l(t,e.v,e.w,e.name)}s.prototype._nodeCount=0,s.prototype._edgeCount=0,s.prototype.isDirected=function(){return this._isDirected},s.prototype.isMultigraph=function(){return this._isMultigraph},s.prototype.isCompound=function(){return this._isCompound},s.prototype.setGraph=function(t){return this._label=t,this},s.prototype.graph=function(){return this._label},s.prototype.setDefaultNodeLabel=function(t){return r.isFunction(t)||(t=r.constant(t)),this._defaultNodeLabelFn=t,this},s.prototype.nodeCount=function(){return this._nodeCount},s.prototype.nodes=function(){return r.keys(this._nodes)},s.prototype.sources=function(){var t=this;return r.filter(this.nodes(),(function(e){return r.isEmpty(t._in[e])}))},s.prototype.sinks=function(){var t=this;return r.filter(this.nodes(),(function(e){return r.isEmpty(t._out[e])}))},s.prototype.setNodes=function(t,e){var n=arguments,i=this;return r.each(t,(function(t){n.length>1?i.setNode(t,e):i.setNode(t)})),this},s.prototype.setNode=function(t,e){return r.has(this._nodes,t)?(arguments.length>1&&(this._nodes[t]=e),this):(this._nodes[t]=arguments.length>1?e:this._defaultNodeLabelFn(t),this._isCompound&&(this._parent[t]=o,this._children[t]={},this._children[o][t]=!0),this._in[t]={},this._preds[t]={},this._out[t]={},this._sucs[t]={},++this._nodeCount,this)},s.prototype.node=function(t){return this._nodes[t]},s.prototype.hasNode=function(t){return r.has(this._nodes,t)},s.prototype.removeNode=function(t){var e=this;if(r.has(this._nodes,t)){var n=function(t){e.removeEdge(e._edgeObjs[t])};delete this._nodes[t],this._isCompound&&(this._removeFromParentsChildList(t),delete this._parent[t],r.each(this.children(t),(function(t){e.setParent(t)})),delete this._children[t]),r.each(r.keys(this._in[t]),n),delete this._in[t],delete this._preds[t],r.each(r.keys(this._out[t]),n),delete this._out[t],delete this._sucs[t],--this._nodeCount}return this},s.prototype.setParent=function(t,e){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(r.isUndefined(e))e=o;else{for(var n=e+="";!r.isUndefined(n);n=this.parent(n))if(n===t)throw new Error("Setting "+e+" as parent of "+t+" would create a cycle");this.setNode(e)}return this.setNode(t),this._removeFromParentsChildList(t),this._parent[t]=e,this._children[e][t]=!0,this},s.prototype._removeFromParentsChildList=function(t){delete this._children[this._parent[t]][t]},s.prototype.parent=function(t){if(this._isCompound){var e=this._parent[t];if(e!==o)return e}},s.prototype.children=function(t){if(r.isUndefined(t)&&(t=o),this._isCompound){var e=this._children[t];if(e)return r.keys(e)}else{if(t===o)return this.nodes();if(this.hasNode(t))return[]}},s.prototype.predecessors=function(t){var e=this._preds[t];if(e)return r.keys(e)},s.prototype.successors=function(t){var e=this._sucs[t];if(e)return r.keys(e)},s.prototype.neighbors=function(t){var e=this.predecessors(t);if(e)return r.union(e,this.successors(t))},s.prototype.isLeaf=function(t){return 0===(this.isDirected()?this.successors(t):this.neighbors(t)).length},s.prototype.filterNodes=function(t){var e=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});e.setGraph(this.graph());var n=this;r.each(this._nodes,(function(n,r){t(r)&&e.setNode(r,n)})),r.each(this._edgeObjs,(function(t){e.hasNode(t.v)&&e.hasNode(t.w)&&e.setEdge(t,n.edge(t))}));var i={};function o(t){var r=n.parent(t);return void 0===r||e.hasNode(r)?(i[t]=r,r):r in i?i[r]:o(r)}return this._isCompound&&r.each(e.nodes(),(function(t){e.setParent(t,o(t))})),e},s.prototype.setDefaultEdgeLabel=function(t){return r.isFunction(t)||(t=r.constant(t)),this._defaultEdgeLabelFn=t,this},s.prototype.edgeCount=function(){return this._edgeCount},s.prototype.edges=function(){return r.values(this._edgeObjs)},s.prototype.setPath=function(t,e){var n=this,i=arguments;return r.reduce(t,(function(t,r){return i.length>1?n.setEdge(t,r,e):n.setEdge(t,r),r})),this},s.prototype.setEdge=function(){var t,e,n,i,o=!1,a=arguments[0];"object"==typeof a&&null!==a&&"v"in a?(t=a.v,e=a.w,n=a.name,2===arguments.length&&(i=arguments[1],o=!0)):(t=a,e=arguments[1],n=arguments[3],arguments.length>2&&(i=arguments[2],o=!0)),t=""+t,e=""+e,r.isUndefined(n)||(n=""+n);var s=l(this._isDirected,t,e,n);if(r.has(this._edgeLabels,s))return o&&(this._edgeLabels[s]=i),this;if(!r.isUndefined(n)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(t),this.setNode(e),this._edgeLabels[s]=o?i:this._defaultEdgeLabelFn(t,e,n);var u=function(t,e,n,r){var i=""+e,o=""+n;if(!t&&i>o){var a=i;i=o,o=a}var s={v:i,w:o};return r&&(s.name=r),s}(this._isDirected,t,e,n);return t=u.v,e=u.w,Object.freeze(u),this._edgeObjs[s]=u,c(this._preds[e],t),c(this._sucs[t],e),this._in[e][s]=u,this._out[t][s]=u,this._edgeCount++,this},s.prototype.edge=function(t,e,n){var r=1===arguments.length?h(this._isDirected,arguments[0]):l(this._isDirected,t,e,n);return this._edgeLabels[r]},s.prototype.hasEdge=function(t,e,n){var i=1===arguments.length?h(this._isDirected,arguments[0]):l(this._isDirected,t,e,n);return r.has(this._edgeLabels,i)},s.prototype.removeEdge=function(t,e,n){var r=1===arguments.length?h(this._isDirected,arguments[0]):l(this._isDirected,t,e,n),i=this._edgeObjs[r];return i&&(t=i.v,e=i.w,delete this._edgeLabels[r],delete this._edgeObjs[r],u(this._preds[e],t),u(this._sucs[t],e),delete this._in[e][r],delete this._out[t][r],this._edgeCount--),this},s.prototype.inEdges=function(t,e){var n=this._in[t];if(n){var i=r.values(n);return e?r.filter(i,(function(t){return t.v===e})):i}},s.prototype.outEdges=function(t,e){var n=this._out[t];if(n){var i=r.values(n);return e?r.filter(i,(function(t){return t.w===e})):i}},s.prototype.nodeEdges=function(t,e){var n=this.inEdges(t,e);if(n)return n.concat(this.outEdges(t,e))}},2354:(t,e,n)=>{t.exports={Graph:n(771),version:n(9631)}},8974:(t,e,n)=>{var r=n(9126),i=n(771);function o(t){return r.map(t.nodes(),(function(e){var n=t.node(e),i=t.parent(e),o={v:e};return r.isUndefined(n)||(o.value=n),r.isUndefined(i)||(o.parent=i),o}))}function a(t){return r.map(t.edges(),(function(e){var n=t.edge(e),i={v:e.v,w:e.w};return r.isUndefined(e.name)||(i.name=e.name),r.isUndefined(n)||(i.value=n),i}))}t.exports={write:function(t){var e={options:{directed:t.isDirected(),multigraph:t.isMultigraph(),compound:t.isCompound()},nodes:o(t),edges:a(t)};return r.isUndefined(t.graph())||(e.value=r.clone(t.graph())),e},read:function(t){var e=new i(t.options).setGraph(t.value);return r.each(t.nodes,(function(t){e.setNode(t.v,t.value),t.parent&&e.setParent(t.v,t.parent)})),r.each(t.edges,(function(t){e.setEdge({v:t.v,w:t.w,name:t.name},t.value)})),e}}},9126:(t,e,n)=>{var r;try{r={clone:n(6678),constant:n(5703),each:n(6073),filter:n(3105),has:n(8721),isArray:n(1469),isEmpty:n(1609),isFunction:n(3560),isUndefined:n(2353),keys:n(3674),map:n(5161),reduce:n(4061),size:n(4238),transform:n(8718),union:n(3386),values:n(2628)}}catch(t){}r||(r=window._),t.exports=r},9631:t=>{t.exports="2.1.8"},4485:(t,e,n)=>{t.exports=n(2894)},2894:function(t,e){var n,r,i;(function(){var o,a,s,c,u,l,h,f,d,p,g,v,b,y,m;s=Math.floor,p=Math.min,a=function(t,e){return te?1:0},d=function(t,e,n,r,i){var o;if(null==n&&(n=0),null==i&&(i=a),n<0)throw new Error("lo must be non-negative");for(null==r&&(r=t.length);nn;0<=n?e++:e--)u.push(e);return u}.apply(this).reverse()).length;rg;0<=g?++l:--l)v.push(u(t,n));return v},y=function(t,e,n,r){var i,o,s;for(null==r&&(r=a),i=t[n];n>e&&r(i,o=t[s=n-1>>1])<0;)t[n]=o,n=s;return t[n]=i},m=function(t,e,n){var r,i,o,s,c;for(null==n&&(n=a),i=t.length,c=e,o=t[e],r=2*e+1;r{var e,n;!function(){var r;function i(){}function a(){}function s(){}function c(){}function u(){}function l(){}function h(){}function f(){}function d(){}function p(){}function g(){}function v(){}function b(){}function y(){}function m(){}function w(){}function x(){}function _(){}function E(){}function k(){}function T(){}function C(){}function N(){}function A(){}function S(){}function O(){}function L(){}function I(){}function M(){}function P(){}function D(){}function R(){}function j(){}function G(){}function B(){}function F(){}function H(){}function Y(){}function z(){}function U(){}function V(){}function q(){}function X(){}function W(){}function $(){}function Z(){}function K(){}function Q(){}function J(){}function tt(){}function et(){}function nt(){}function rt(){}function it(){}function ot(){}function at(){}function st(){}function ct(){}function ut(){}function lt(){}function ht(){}function ft(){}function dt(){}function pt(){}function gt(){}function vt(){}function bt(){}function yt(){}function mt(){}function wt(){}function xt(){}function _t(){}function Et(){}function kt(){}function Tt(){}function Ct(){}function Nt(){}function At(){}function St(){}function Ot(){}function Lt(){}function It(){}function Mt(){}function Pt(){}function Dt(){}function Rt(){}function jt(){}function Gt(){}function Bt(){}function Ft(){}function Ht(){}function Yt(){}function zt(){}function Ut(){}function Vt(){}function qt(){}function Xt(){}function Wt(){}function $t(){}function Zt(){}function Kt(){}function Qt(){}function Jt(){}function te(){}function ee(){}function ne(){}function re(){}function ie(){}function oe(){}function ae(){}function se(){}function ce(){}function ue(){}function le(){}function he(){}function fe(){}function de(){}function pe(){}function ge(){}function ve(){}function be(){}function ye(){}function me(){}function we(){Bf()}function xe(){C_()}function _e(){Xd()}function Ee(){qg()}function ke(){no()}function Te(){ro()}function Ce(){fa()}function Ne(){Xg()}function Ae(){Df()}function Se(){Nk()}function Oe(){Rf()}function Le(){jf()}function Ie(){lN()}function Me(){LT()}function Pe(){sh(this)}function De(){}function Re(){xu(this)}function je(){}function Ge(t){this.a=t}function Be(t){this.a=t}function Fe(t){this.a=t}function He(t){this.a=t}function Ye(t){this.a=t}function ze(t){this.a=t}function Ue(t){this.a=t}function Ve(t){this.a=t}function qe(t){this.a=t}function Xe(t){this.b=t}function We(t){this.a=t}function $e(t){this.a=t}function Ze(t){this.a=t}function Ke(t){this.a=t}function Qe(t){this.a=t}function Je(t){this.a=t}function tn(t){this.a=t}function en(t){this.a=t}function nn(t){this.a=t}function rn(t){this.a=t}function on(t){this.a=t}function an(t){this.a=t}function sn(t){this.a=t}function cn(t){this.a=t}function un(t){this.a=t}function ln(t){this.e=t}function hn(t){this.a=t}function fn(t){this.a=t}function dn(t){this.a=t}function pn(t){this.a=t}function gn(t){this.a=t}function vn(t){this.a=t}function bn(t){this.a=t}function yn(t){this.a=t}function mn(t){this.a=t}function wn(t){this.a=t}function xn(t){this.a=t}function _n(t){this.a=t}function En(t){this.a=t}function kn(t){this.a=t}function Tn(t){this.a=t}function Cn(t){this.a=t}function Nn(t){this.a=t}function An(t){this.a=t}function Sn(t){this.a=t}function On(t){this.a=t}function Ln(t){this.a=t}function In(t){this.c=t}function Mn(t){this.a=t}function Pn(t){this.a=t}function Dn(t){this.a=t}function Rn(t){this.a=t}function jn(t){this.a=t}function Gn(t){this.a=t}function Bn(t){this.a=t}function Fn(t){this.a=t}function Hn(t){this.a=t}function Yn(t){this.a=t}function zn(t){this.d=t}function Un(t){this.a=t}function Vn(t){this.a=t}function qn(t){this.a=t}function Xn(t){this.a=t}function Wn(t){this.b=t}function $n(t){this.a=t}function Zn(t){this.a=t}function Kn(t){this.c=t}function Qn(t){this.a=t}function Jn(t){this.a=t}function tr(t){this.a=t}function er(t){this.b=t}function nr(t){this.b=t}function rr(t){this.c=t}function ir(t){this.a=t}function or(t){this.a=t}function ar(t){this.a=t}function sr(){this.a=[]}function cr(t){this.a=t}function ur(t){this.a=t}function lr(t){t.b=t.a}function hr(t){t.c=t.d.d}function fr(t,e){t.g=e}function dr(t,e){t.k=e}function pr(t,e){t.e.k=e}function gr(t){return t.a}function vr(t){return t.a}function br(t){return t.a}function yr(t){return t.a}function mr(t){return t.a}function wr(){return null}function xr(){return null}function _r(){this.c=this}function Er(){sh(this)}function kr(){my(this)}function Tr(t){!function(t,e){var n,r,i,o,a,s,c;for(c=0,r=0,i=e.length;r=t.length)return{done:!0};var r=t[n++];return{value:[r,e.get(r)],done:!1}}}},function(){if(!Object.create||!Object.getOwnPropertyNames)return!1;var t="__proto__",e=Object.create(null);return void 0===e[t]&&0==Object.getOwnPropertyNames(e).length&&(e[t]=42,42===e[t]&&0!=Object.getOwnPropertyNames(e).length)}()||(t.prototype.createObject=function(){return{}},t.prototype.get=function(t){return this.obj[":"+t]},t.prototype.set=function(t,e){this.obj[":"+t]=e},t.prototype[yD]=function(t){delete this.obj[":"+t]},t.prototype.keys=function(){var t=[];for(var e in this.obj)58==e.charCodeAt(0)&&t.push(e.substring(1));return t}),t}()}function Io(t,e){Ix(),oI.dc(t,e)}function Mo(t,e){return Mv(t,e)}function Po(t,e){return t.a.B(e)}function Do(t,e){return t.g[e.e]}function Ro(t,e){return t.i[e.e]}function jo(t,e){return t.j[e.e]}function Go(t,e){return t.n[e.e]}function Bo(t,e){return t.o[e.e]}function Fo(t,e){return t>e?t:e}function Ho(t,e){return t>e?t:e}function Yo(t,e){return t>e?t:e}function zo(t,e){return te?1:0}function Fu(t){return null!=t?K_(t):0}function Hu(t){this.a=zc(),this.b=t}function Yu(t){this.a=zc(),this.b=t}function zu(t){this.a=t,td.call(this,t)}function Uu(){Ju(),this.b=new Tn(this)}function Vu(){var t;Vu=a,t=new co(", "),Dd(pI),HD=new Qf(t,t)}function qu(){qu=a,BD=new fu,GD=new Mu}function Xu(){Xu=a,zD=new g,UD=new v}function Wu(){Wu=a,qD=new Zs,XD=new _u}function $u(){$u=a,JD=new du,QD=new wl}function Zu(){Zu=a,vR=new m,bR=new w}function Ku(t){t.g=new Re,t.b=new Re}function Qu(t){t.a=new ye,t.c=new ye}function Ju(){Ju=a,EY=new Zt,_Y=new ed}function tl(){Ha.call(this,"IS_NULL",2)}function el(){Gc.call(this,"Head",1)}function nl(){Gc.call(this,"Tail",3)}function rl(t,e){ow.call(this,t,e,null)}function il(t,e){Hk(t,0,t.length,e)}function ol(t,e){return Lf(e.a,t.a),t.a}function al(t,e){return t.a*=e,t.b*=e,t}function sl(t,e){og(),this.a=t,this.b=e}function cl(t,e){return t.a[e.d.k][e.k]}function ul(t,e){return t.a[e.d.k][e.k]}function ll(t,e){return ua(function(t,e){var n,r;for(n=null,r=t.b;r;)t.a.$b(e,r.d)>=0?r=r.a[1]:(n=r,r=r.a[0]);return n}(t.a,e))}function hl(t,e){return ua(function(t,e){var n,r;for(n=null,r=t.b;r;)t.a.$b(e,r.d)<=0?r=r.a[0]:(n=r,r=r.a[1]);return n}(t.a,e))}function fl(t,e){return Uf(WT(t.a,e),20)}function dl(t,e){return null!=t&&Pk(t,e)}function pl(t){return t.a=e)throw new Ci}function qf(t,e){return Dd(t),Dd(e),new cd(t,e)}function Xf(t,e){return Dd(t),Dd(e),new ud(t,e)}function Wf(t,e,n){return t=e+1&&t.splice(0,e+1);break}return t}(oI.ec(t))}function Ed(t,e){var n;return(n=Fp(t,e)).g=2,n}function kd(t,e){t.b=e.b,t.c=e.c,t.d=e.d,t.a=e.a}function Td(t){t.a.b=t.b,t.b.a=t.a,t.a=t.b=null}function Cd(t){return t.b.c.length+t.e.c.length}function Nd(t){return Array.isArray(t)&&t.ad===i}function Ad(t,e){return Xu(),-1!=Bx(new Kn(t),e)}function Sd(t,e,n,r,i,o){return jT(t,e,n,r,i,0,o)}function Od(t,e,n){Zu(),Qv.call(this,t.b,e,n,t.d)}function Ld(t,e){Zu(),Qv.call(this,t.b,e,t.c,t.d)}function Id(t,e,n){xy(e,t.c.length),Ac(t.c,e,n)}function Md(t,e){return _y(e,t.a.length),t.a[e]}function Pd(t){t.sort((function(t,e){return t-e}))}function Dd(t){if(null==t)throw new Zr;return t}function Rd(t){if(null==t)throw new Zr;this.a=t}function jd(t,e,n){if(t.a!=e)throw new xi;t.a=n}function Gd(t,e){if(!t)throw new so((si(),e))}function Bd(t,e){if(!t)throw new Eo((si(),e))}function Fd(t){if(null==t)throw new Zr;return t}function Hd(t){cr.call(this,new ry),gw(this,t)}function Yd(t){this.a=new Xs(t.Y()),gw(this,t)}function zd(t){this.c=t,this.a=new qs(this.c.a)}function Ud(t){og(),this.a=(zg(),new tr(Dd(t)))}function Vd(){(Vd=a)(),NX=!1,AX=!0}function qd(){qd=a,IX=Ty(ND,hI,24,256,0,1)}function Xd(){Xd=a,MY=vd(bd(new iE,(WL(),yH)),YH)}function Wd(){Wd=a,fF=new E,pF=new nd,dF=new k}function $d(t){return null!=t&&Mp(t)&&!(t.ad===i)}function Zd(t){return!Array.isArray(t)&&t.ad===i}function Kd(t,e){return Nl(e)?Pg(t,e):AN(t.d,e)}function Qd(t,e){return dl(e,17)&&Xl(t,Uf(e,17))}function Jd(t,e){return dl(e,17)&&function(t,e){return!(!e||t.b[e.e]!=e)&&(Yp(t.b,e.e,null),--t.c,!0)}(t,Uf(e,17))}function tp(t,e){var n;return sx(n=gE(t),e),n}function ep(t,e){return!t&&(t=[]),t[t.length]=e,t}function np(t,e,n){if(!t)throw new so(function(t,e){var n,r,i,o;for(si(),(t=null==t?pI:t).length,e.length,n=new ea,o=0,r=0;r0),t.a.sb(t.c=--t.b)}function pp(t){t.b?pp(t.b):t.d.V()&&Kd(t.f.b,t.e)}function gp(t){if(nE(t.d),t.d.d!=t.c)throw new xi}function vp(t,e){if(e[pD]!=t[pD])throw new xi}function bp(t,e){return Xu(),Dd(t),Dd(e),new Ra(t,e)}function yp(t,e){og(),qa.call(this,t,Lx(new Qn(e)))}function mp(t,e,n,r){this.a=t,Ny.call(this,t,e,n,r)}function wp(t){this.a=Math.cos(t),this.b=Math.sin(t)}function xp(t,e,n){zi.call(this,t),this.b=e,this.a=n}function _p(t){this.b=new Re,this.a=new Re,this.c=t}function Ep(t){this.c=new uo,this.a=new Re,this.b=t}function kp(){kp=a,oR=new nn(!1),aR=new nn(!0)}function Tp(t,e){return++t.d,t.c[t.c.length]=e,!0}function Cp(t,e){Mb(t.d,e,t.b.b,t.b),++t.a,t.c=null}function Np(t,e){return null==t.a.db(e,t)}function Ap(t,e){return By(t.slice(0,e),t)}function Sp(t,e){return By(new Array(e),t)}function Op(t,e,n){var r;return r=t.b[e],t.b[e]=n,r}function Lp(t){return _l(),_f(function(t){return Uf(t.g||(t.g=new We(t)),20)}(t.a).mb(),(Wu(),qD))}function Ip(t){return Xu(),new Pu(ju(Xf(t.a,new p)))}function Mp(t){return typeof t===lI||typeof t===bI}function Pp(t){r.setTimeout((function(){throw t}),0)}function Dp(t){return Dd(t),dl(t,345)?Uf(t,345):Uk(t)}function Rp(t,e){return null==Hx(t.a,e,(Vd(),NX))}function jp(t,e){var n;return function(t,e){if(t<0||t>=e)throw new ao(function(t,e){if(t<0)return DA(jI,Nx(Mo(TD,1),GI,1,4,["index",W_(t)]));if(e<0)throw new so(BI+e);return DA("%s (%s) must be less than size (%s)",Nx(Mo(TD,1),GI,1,4,["index",W_(t),W_(e)]))}(t,e))}(e,n=t.a.Y()),n-1-e}function Gp(t,e,n){var r;return r=Sm(t,e),function(t,e,n){if(n){var r=n.gc();n=r(n)}else n=void 0;t.a[e]=n}(t,e,n),r}function Bp(t,e,n){var r;return Wm(n,r=Fp(t,e)),r}function Fp(t,e){var n;return(n=new Wx).i=t,n.d=e,n}function Hp(t,e,n){this.a=t,Ob(n,e),this.c=e,this.b=n}function Yp(t,e,n){return function(t){if(!t)throw new Wr}(null==n||function(t,e){switch(wm(t)){case 5:return Nl(e);case 6:return Cl(e);case 7:return vh(e);case 0:return Pk(e,t.__elementTypeId$);case 2:return Mp(e)&&!(e.ad===i);case 1:return Mp(e)&&!(e.ad===i)||Pk(e,t.__elementTypeId$);default:return!0}}(t,n)),t[e]=n}function zp(t){t.a=null,t.e=null,my(t.b),t.d=0,++t.c}function Up(t){return t.f||(t.f=new Js(t))}function Vp(t){return t.k||(t.k=new Ye(t))}function qp(t){return t.e||(t.e=new Qa(t))}function Xp(t){var e;return!(e=t.e)&&(t.e=e=t.gb()),e}function Wp(t){return t.c.f.d==t.d.f.d}function $p(t,e){var n;return Hm(n=new Db(t),e),n}function Zp(t,e){return t.a+=String.fromCharCode(e),t}function Kp(t){return!t.a&&t.d?t.d.b:t.a}function Qp(t){return ql(t)?0|t:t.l|t.m<<22}function Jp(t,e){return Nl(e)?mv(t,e):Kc(vv(t.d,e))}function tg(t){return dl(t,19)?Uf(t,19).Y():Jb(t.mb())}function eg(t){return t?new Yd((Vu(),t)):function(t){var e;return zm(e=new Ji,t),e}(null.mb())}function ng(t,e){return Zc(t)===Zc(e)||null!=t&&s_(t,e)}function rg(t,e){return eo(),Ox(oo(Oh(t)),oo(Oh(e)))}function ig(t){return _l(),_f(t.a.bb().mb(),(Wu(),XD))}function og(){og=a,lf(),YD=new sb((zg(),zg(),RX))}function ag(){ag=a,lf(),KD=new Ks((zg(),zg(),GX))}function sg(t,e){if(null==t)throw new Co((si(),e))}function cg(t,e,n,r){t.g[e.e][n.e]=r,t.g[n.e][e.e]=r}function ug(t){Au(-1!=t.c),t.d.vb(t.c),t.b=t.c,t.c=-1}function lg(t){this.c=t,this.b=t.a.b.a,Wl(t.a.c,this)}function hg(t){JS.call(this,new Qn(t)),this.a=new uo}function fg(){Li.call(this,new Ri(new kr)),this.a=this}function dg(){um(),this.b=(_l(),new kr),this.a=new kr}function pg(t){yg(t.a),t.b=Ty(TD,GI,1,t.b.length,4,1)}function gg(t){return!t.b&&(t.b=new Ko(t.c.W())),t.b}function vg(t,e){var n;return nL(t,e,n=new me),n.d}function bg(t,e){var n;return(n=Fp("",t)).k=e,n.g=1,n}function yg(t){var e;for(e=t.mb();e.G();)e.H(),e.I()}function mg(t,e){return dl(e,79)&&ji(t.b,Uf(e,79).mc())}function wg(t,e,n){return Nl(e)?Yv(t,e,n):YC(t.d,e,n)}function xg(t,e,n,r){this.d=t,this.b=e,this.a=n,this.c=r}function _g(t,e,n,r){this.d=t,this.e=e,this.c=n,this.b=r}function Eg(t,e,n,r){this.a=t,this.c=e,this.b=n,this.d=r}function kg(t,e,n,r){Pa.call(this,t,e),this.a=n,this.b=r}function Tg(t,e){return si(),t==e?0:t0?1:0}function Qg(t,e){return Uw(function(t,e){return Cf(t.l&e.l,t.m&e.m,t.h&e.h)}(ql(t)?Jw(t):t,ql(e)?Jw(e):e))}function Jg(t){return 0==t.b?null:(Lu(0!=t.b),Ym(t,t.a.a))}function tv(t){t.d=t.d-15,t.b=t.b-15,t.c=t.c+15,t.a=t.a+15}function ev(t){this.b=t,this.c=t,t.e=null,t.c=null,this.a=1}function nv(t,e,n){this.d=t,this.b=new Re,this.c=e,this.a=n}function rv(t,e){!function(t,e){t.a=e}(this,new ts(t.a,t.b)),function(t,e){t.b=e}(this,Yf(e))}function iv(t){pl(new Kn(Qk(t.e)))&&(function(t){var e,n,r;for(r=new zd(new ar(t.c).a);gl(r.a);)switch(r.b=Qb(r.a),e=Uf((n=new Bc(r.c,r.b)).b.b[n.a.e],62),Uf(n.a,67).e){case 0:e.d=0,e.e=-(e.b+t.d);break;case 1:e.d=(t.e.e.j.a-e.c)/2,e.e=-(e.b+t.d);break;case 2:e.d=t.e.e.j.a-e.c,e.e=-(e.b+t.d);break;case 3:e.d=0,e.e=t.e.e.j.b+t.d;break;case 4:e.d=(t.e.e.j.a-e.c)/2,e.e=t.e.e.j.b+t.d;break;case 5:e.d=t.e.e.j.a-e.c,e.e=t.e.e.j.b+t.d;break;case 6:e.d=-(e.c+t.d),e.e=0;break;case 7:e.d=-(e.c+t.d),e.e=(t.e.e.j.b-e.b)/2;break;case 8:e.d=-(e.c+t.d),e.e=t.e.e.j.b-e.b;break;case 9:e.d=t.e.e.j.a+t.d,e.e=0;break;case 10:e.d=t.e.e.j.a+t.d,e.e=(t.e.e.j.b-e.b)/2;break;case 11:e.d=t.e.e.j.a+t.d,e.e=t.e.e.j.b-e.b;break;case 12:e.d=t.q.b+t.d,e.e=t.q.d+t.d;break;case 13:e.d=(t.e.e.j.a-e.c)/2,e.e=t.q.d+t.d;break;case 14:e.d=t.e.e.j.a-t.q.c-e.c-t.d,e.e=t.q.d+t.d;break;case 15:e.d=t.q.b+t.d,e.e=(t.e.e.j.b-e.b)/2;break;case 16:e.d=(t.e.e.j.a-e.c)/2,e.e=(t.e.e.j.b-e.b)/2;break;case 17:e.d=t.e.e.j.a-t.q.c-e.c-t.d,e.e=(t.e.e.j.b-e.b)/2;break;case 18:e.d=t.q.b+t.d,e.e=t.e.e.j.b-t.q.a-e.b-t.d;break;case 19:e.d=(t.e.e.j.a-e.c)/2,e.e=t.e.e.j.b-t.q.a-e.b-t.d;break;case 20:e.d=t.e.e.j.a-t.q.c-e.c-t.d,e.e=t.e.e.j.b-t.q.a-e.b-t.d}}(t),function(t){var e,n,r,i,o;for(r=new Kn(Qk(t.e));r.a>>0).toString(16)}function mv(t,e){return null==e?Kc(vv(t.d,null)):Dc(t.e,e)}function wv(t){return 0|Math.max(Math.min(t,yI),-2147483648)}function xv(t){this.e=t,this.b=this.e.a.entries(),this.a=[]}function _v(t){this.c=t,this.b=new Xx(new Yn(this.c.a).a)}function Ev(t){this.b=(Xu(),Xu(),Xu(),zD),this.a=Uf(Dd(t),35)}function kv(t,e,n){Zu(),If.call(this,t,e),null!=n&&(this.c=n)}function Tv(t,e,n){if(t<0||en)throw new ao(function(t,e,n){return t<0||t>n?zC(t,n,"start index"):e<0||e>n?zC(e,n,"end index"):DA("end index (%s) must not be less than start index (%s)",Nx(Mo(TD,1),GI,1,4,[W_(e),W_(t)]))}(t,e,n))}function Cv(t,e){if(null==t)throw new Co((si(),e));return t}function Nv(t){if(!tE(t))throw new Ei;return t.c=t.b,t.b.H()}function Av(t){var e;return sx(e=new Sa(cx(t.length)),t),e}function Sv(t){var e;e=t.c.b.b,t.b=e,t.a=t.c.b,e.a=t.c.b.b=t}function Ov(t){this.b=null,!t&&(ec(),ec(),t=HX),this.a=t}function Lv(t){this.b=t,this.a=new Kv(this.b,this.b.c.length)}function Iv(t){return og(),Dd(t),function(t){var e;switch((e=Ap(t.c,t.c.length)).length){case 0:return YD;case 1:return new Ud(e[0]);default:return new sb(B_(e))}}(t||Hf(new Kn(null)))}function Mv(t,e){var n=t.a=t.a||[];return n[e]||(n[e]=t.Oc(e))}function Pv(t,e,n){var r;sT(e,n,t.c.length),r=n-e,xa(t.c,e,r)}function Dv(t,e,n){Ma.call(this,e.a),this.c=t,this.b=e,this.a=n}function Rv(t){return qc(t.c),t.e=t.a=t.c,t.c=t.c.c,++t.d,t.a.f}function jv(t){return qc(t.e),t.c=t.a=t.e,t.e=t.e.e,--t.d,t.a.f}function Gv(t){return Vw(Nx(Mo(gR,1),KM,10,0,[t.f.i,t.i,t.a]))}function Bv(){Bv=a,LY=Zx((Vg(),Nx(Mo(jY,1),FI,193,0,[AY,SY])))}function Fv(){Fv=a,dY=Zx((Nb(),Nx(Mo(wY,1),FI,175,0,[lY,hY])))}function Hv(){Hv=a,$Y=Zx((lb(),Nx(Mo(QY,1),FI,192,0,[XY,qY])))}function Yv(t,e,n){return null==e?YC(t.d,null,n):sE(t.e,e,n)}function zv(t,e){return Jd(t.a,e)?Op(t,Uf(e,17).e,null):null}function Uv(t){return Dd(t),nT((Xu(),new Pu(ju(Xf(t.a,new p)))))}function Vv(t,e){var n,r;return r=rp(t,e),n=t.a.ub(r),new Ua(t,n)}function qv(t,e,n){var r;(r=new se).b=e,r.a=n,++e.b,Lf(t.d,r)}function Xv(t,e,n){t.d&&Gy(t.d.b,t),t.d=e,t.d&&Id(t.d.b,n,t)}function Wv(t,e,n){sT(e,n,t.Y()),this.c=t,this.a=e,this.b=n-e}function $v(t,e,n,r){this.d=t,this.b=e,this.a=n,this.c=r}function Zv(t,e){Li.call(this,fw(Dd(t),Dd(e))),this.b=t,this.c=e}function Kv(t,e){this.a=t,zn.call(this,t),xy(e,t.Y()),this.b=e}function Qv(t,e,n,r){Zu(),kv.call(this,t,e,n),null!=r&&(this.d=r)}function Jv(t){return Lu(t.ae)throw new ao(zC(t,e,"index"));return t}function Lb(t,e,n){Dd(t),function(t){var e,n,r;for(xb(t.c,t.a),r=new Kn(t.c);r.a>22&wM,t<0?xM:0)}function hy(){hy=a,MR=Zx((E_(),Nx(Mo(GR,1),FI,59,0,[OR,SR,AR,NR,LR])))}function fy(){fy=a,JG=Zx((mL(),Nx(Mo(iB,1),FI,32,0,[ZG,IG,LG,$G,KG])))}function dy(){dy=a,bG=Zx((OE(),Nx(Mo(kG,1),FI,100,0,[gG,pG,hG,fG,dG])))}function py(){py=a,KY=vd(wd(wd(wd(md(new iE,(WL(),IH)),BH),lH),wH),LH)}function gy(t,e){var n;for(n=e.mb();n.G();)gS(t,Uf(n.H(),55),0,0)}function vy(t,e,n){var r;for(r=t.mb();r.G();)iS(Uf(r.H(),55),e,n)}function by(t,e,n){var r,i;for(r=0,i=0;ie)throw new ao("Index: "+t+", Size: "+e)}function _y(t,e){if(t<0||t>=e)throw new ao("Index: "+t+", Size: "+e)}function Ey(t,e){var n;return!!(n=t_(t,e.yb()))&&Ag(n.e,e.zb())}function ky(t,e){var n;return n=t.d,e>0?Uf(gd(n.a,e-1),9):null}function Ty(t,e,n,r,i,o){var a;return a=hT(i,r),9!=i&&Nx(Mo(t,o),e,n,i,a),a}function Cy(t){var e;if(!uw(t))throw new Ei;return t.d=1,e=t.c,t.c=null,e}function Ny(t,e,n,r){this.f=t,this.e=e,this.d=n,this.b=r,this.c=r?r.d:null}function Ay(t){var e;return e=Uf(gd(t.f,0),7),Uf(kx(e,($L(),oq)),7)}function Sy(t){var e;return e=Uf(gd(t.f,0),7),Uf(kx(e,($L(),oq)),7)}function Oy(){Oy=a,xX=Zx((ME(),Nx(Mo(TX,1),FI,153,0,[bX,mX,yX])))}function Ly(){Ly=a,CX=Zx((Bw(),Nx(Mo(SX,1),FI,172,0,[_X,EX,kX])))}function Iy(){Iy=a,CR=Zx((fk(),Nx(Mo(IR,1),FI,103,0,[mR,_R,ER,kR,wR,xR])))}function My(){My=a,JR=Zx((DT(),Nx(Mo(rj,1),FI,133,0,[ZR,WR,KR,qR,$R,XR])))}function Py(){Py=a,TG=Zx((bT(),Nx(Mo(SG,1),FI,28,0,[EG,_G,xG,yG,wG,mG])))}function Dy(){Dy=a,xY=Zx((pC(),Nx(Mo(kY,1),FI,125,0,[yY,gY,mY,bY,vY,pY])))}function Ry(){Ry=a,yR=new If("de.cau.cs.kieler.labels.labelManager",null)}function jy(t,e){var n;return(n=new me).c=!0,n.d=e.zb(),nL(t,e.yb(),n)}function Gy(t,e){var n;return-1!=(n=Qy(t,e,0))&&(t.vb(n),!0)}function By(t,e){return 9!=wm(e)&&Nx(mm(e),e._c,e.__elementTypeId$,wm(e),t),t}function Fy(t){return vp(t.c.a.c,t),Lu(t.b!=t.c.a.b),t.a=t.b,t.b=t.b.a,t.a}function Hy(t){Au(!!t.c),vp(t.e,t),t.c.I(),t.c=null,t.b=ix(t),Wl(t.e,t)}function Yy(t,e,n){Li.call(this,fw(Dd(t),Dd(e))),this.b=t,this.c=e,this.a=n}function zy(t,e,n,r){this.b=new On(this),this.a=t,this.c=e,this.e=n,this.d=r}function Uy(t){qx.call(this,t,0),bh(this),this.b.b=this.b,this.b.a=this.b}function Vy(t,e){Fc.call(this,t,e),this.a=Ty(KX,GI,183,2,0,1),this.b=!0}function qy(t,e){return Nl(e)?null==e?!!vv(t.d,null):function(t,e){return!(void 0===Ca(t.a,e))}(t.e,e):!!vv(t.d,e)}function Xy(t,e){return Oo(),(t-e>0?t-e:-(t-e))<=yM||t==e||isNaN(t)&&isNaN(e)}function Wy(t,e){return Oo(),(t-e>0?t-e:-(t-e))<=yM||t==e||isNaN(t)&&isNaN(e)}function $y(t){var e,n;e=!0;do{n=e?oE(t):EE(t),e=!e}while(n);ax(t,t.d)}function Zy(t,e,n){var r;if(null==e)throw new Zr;return r=Sg(t,e),function(t,e,n){if(n){var r=n.gc();t.a[e]=r(n)}else delete t.a[e]}(t,e,n),r}function Ky(t,e,n){return!t.n&&(t.n=new kr),null==n?Kd(t.n,e):wg(t.n,e,n),t}function Qy(t,e,n){for(;n=t.a.c.length;)Lf(t.a,new lo);return Uf(gd(t.a,e),20)}function tm(t,e,n,r,i){var o;return Wm(n,o=Fp(t,e)),o.g=i?8:0,o.f=r,o.e=i,o}function em(t,e){var n;this.f=t,this.b=e,n=Uf(Jp(t.b,e),126),this.c=n?n.b:null}function nm(t,e){var n,r;for(n=0,r=e.length;n0&&(r+=function(t){var e,n,r,i,o,a,s,c,u,l,h,f,d,p,g,v,b,y,m,w,x,_,E;for(i=0,y=0,_l(),b=new kr,r=new kr,function(t,e,n){var r,i,o,a,s,c,u,l,h,f,d;for(r=0,i=0,l=0;l0&&wg(e,o,W_(r+=o.b.c.length+o.e.c.length));else{for(s=mC(c,(mL(),LG)).mb();s.G();)r+=(o=Uf(s.H(),7)).b.c.length+o.e.c.length;for(a=mC(c,LG).mb();a.G();)(o=Uf(a.H(),7)).b.c.length+o.e.c.length>0&&wg(e,o,W_(r))}for(u=t.length-1;u>=0;u--)if(Vl(Uf(kx(c=t[u],(JL(),Hj)),28)))for(f=mC(c,(mL(),KG)).mb();f.G();)(h=Uf(f.H(),7)).b.c.length+h.e.c.length>0&&wg(n,h,W_(i+=h.b.c.length+h.e.c.length));else{for(d=mC(c,(mL(),KG)).mb();d.G();)i+=(h=Uf(d.H(),7)).b.c.length+h.e.c.length;for(f=mC(c,KG).mb();f.G();)(h=Uf(f.H(),7)).b.c.length+h.e.c.length>0&&wg(n,h,W_(i))}}(t,o=new kr,E=new kr),e=null,v=0,_=0,m=!0,c=!0,f=0,p=t.length;fu.k&&(++e,d=!0),p&&u&&p.k>u.k&&(++e,g=!0),f&&s&&f.ks.k&&(++e,c=!0),f&&s&&f.ku.k&&(++e,l=!0),c&&l&&s==u&&--e)}}return e}(e)),r}function om(t,e){var n;return(n=Uf(Kd(t.c,e),176))?(Td(n),n.e):null}function am(t){return n_(t,yI)>0?yI:n_(t,kI)<0?kI:Qp(t)}function sm(t){sf.call(this,(si(),null==t?pI:Uk(t)),dl(t,46)?Uf(t,46):null)}function cm(t){xu(this),Gd(t>=0,"Initial capacity must not be negative")}function um(){um=a,oF=xd(wd(wd(new iE,(WL(),MH)),xH),AH),aF=md(new iE,TH)}function lm(){lm=a,UF=new U,YF=new V,zF=new q,HF=new X,VF=new W,qF=new $}function hm(){hm=a,XX=new Gc("All",0),WX=new el,$X=new ml,ZX=new nl}function fm(){fm=a,RY=new Gs($P,0),DY=new Gs("LONGEST_PATH",1),PY=new Gs(VP,2)}function dm(){dm=a,uR=Cf(wM,wM,524287),lR=Cf(0,0,524288),ly(1),ly(2),hR=ly(0)}function pm(){pm=a,cY=Zx((nA(),Nx(Mo(fY,1),FI,109,0,[oY,tY,rY,eY,nY,JH,iY,aY])))}function gm(){gm=a,vz=Zx((Vk(),Nx(Mo(wz,1),FI,141,0,[pz,hz,fz,lz,dz])))}function vm(){vm=a,UU=Zx((mT(),Nx(Mo(KU,1),FI,115,0,[BU,GU,HU,FU,YU])))}function bm(){bm=a,Pq=Zx((qk(),Nx(Mo(Gq,1),FI,85,0,[Iq,Aq,Sq,Oq,Lq])))}function ym(t){tC(),function(t,e,n){t.a=1502^e,t.b=n^mD}(this,Qp(Qg(Uw(function(t,e){var n,r,i,o;return 63,(r=0!=(524288&(n=t.h)))&&(n|=-1048576),o=r?xM:0,i=n>>2,Cf((t.m>>2|n<<20)&wM,i&wM,o&xM)}(ql(t)?Jw(t):t)),xD)),Qp(Qg(t,xD)))}function mm(t){return Nl(t)?AD:Cl(t)?LX:vh(t)?OX:Zd(t)||Nd(t)?t.$c:t.$c||rR}function wm(t){return null==t.__elementTypeCategory$?9:t.__elementTypeCategory$}function xm(t){var e,n;for(oc(),n=SM,e=0;en&&(n=t[e]);return n}function _m(t,e){var n;return(n=Uf(Jp(t.b,e),106))||(n=e.rc(),wg(t.b,e,n)),n}function Em(t,e){var n;return(n=Uf(Jp(t.c,e),176))?(Hl(t,n),n.e):null}function km(t,e,n,r){var i;(i=Uf(Em(t.e,e),116)).b+=n,i.a+=r,Ik(t.e,e,i),t.d=!0}function Tm(t){var e;for(++t.a,e=t.c.a.length;t.a"+t.d.f+"("+t.d+")":"e_"+fh(t)}function Dm(){Dm=a,lG=Zx((yN(),Nx(Mo(vG,1),FI,41,0,[eG,tG,rG,cG,sG,aG,iG,oG,nG])))}function Rm(){Rm=a,AG=new bs("OUTSIDE",0),NG=new bs("INSIDE",1),CG=new bs("FIXED",2)}function jm(){jm=a,xV=new _c(BM,0),_V=new _c("TOP",1),wV=new _c("BOTTOM",2)}function Gm(){Gm=a,Tz=new fc("CLASSIC",0),Cz=new fc("IMPROVE_STRAIGHTNESS",1)}function Bm(){this.e=new uo,this.a=new Hg,this.d=new uo,this.b=new Re,this.c=new Re}function Fm(t,e,n){this.b=e,this.a=t,this.c=n,Lf(this.a.e,this),Lf(this.b.b,this)}function Hm(t,e){t.d=zo(t.d,e.d),t.c=Fo(t.c,e.c),t.a=Fo(t.a,e.a),t.b=zo(t.b,e.b)}function Ym(t,e){var n;return n=e.c,e.a.b=e.b,e.b.a=e.a,e.a=e.b=null,e.c=null,--t.b,n}function zm(t,e){var n;for(Xu(),Dd(t),Dd(e),n=!1;e.G();)n|=t.ib(e.H());return n}function Um(t){var e;return vp(t.e,t),Lu(t.b),t.c=t.a,e=Uf(t.a.H(),21),t.b=ix(t),e}function Vm(t){return kM=0x8000000000000000?(dm(),uR):(r=!1,t<0&&(r=!0,t=-t),n=0,t>=EM&&(t-=(n=wv(t/EM))*EM),e=0,t>=_M&&(t-=(e=wv(t/_M))*_M),i=Cf(wv(t),e,n),r&&(o=1+~i.l&wM,a=~i.m+(0==o?1:0)&wM,s=~i.h+(0==o&&0==a?1:0)&xM,i.l=o,i.m=a,i.h=s),i)}(t))}function qm(t){if(t){if(t.V())throw new Ei;return t.sb(t.Y()-1)}return function(t){var e;for(Xu();;)if(e=t.H(),!t.G())return e}(null.mb())}function Xm(t,e){var n;return e<(n=t.d).a.c.length-1?Uf(gd(n.a,e+1),9):null}function Wm(t,e){if(t){e.k=t;var n=function(t){if(t.Tc())return null;var e=t.k;return nI[e]}(e);n?n.$c=e:nI[t]=[e]}}function $m(t,e){var n,r;r=!1;do{r|=n=t.i?xx(t,e):wx(t,e)}while(n);return r}function Zm(t,e,n){var r,i;r=e;do{i=oo(t.n[r.k])+n,t.n[r.k]=i,r=t.a[r.k]}while(r!=e)}function Km(t,e){return Cv(t,"set1"),Cv(e,"set2"),ic(),new pf(t,new La(e),e)}function Qm(t){var e=/function(?:\s+([\w$]+))?\s*\(/.exec(t);return e&&e[1]||gI}function Jm(){Jm=a,MU=Zx((PT(),Nx(Mo(jU,1),FI,123,0,[LU,OU,SU,NU,CU,AU])))}function tw(){tw=a,QU=Zx((MT(),Nx(Mo(uV,1),FI,124,0,[WU,XU,ZU,qU,$U,VU])))}function ew(){ew=a,MX=Nx(Mo(iW,1),vM,26,12,[0,8,4,12,2,10,6,14,1,9,5,13,3,11,7,15])}function nw(){nw=a,jq=new Tc(GM,0),Dq=new Tc("INPUT",1),Rq=new Tc("OUTPUT",2)}function rw(t){this.c=t,this.b=new Xx(new Yn(t.b).a),this.a=null,this.d=(Xu(),Xu(),UD)}function iw(t){this.e=t,this.d=new Sa(cx(ip(this.e).Y())),this.c=this.e.a,this.b=this.e.c}function ow(t,e,n){this.c=t,Gb.call(this),this.b=e,this.j=new _g(e.d,e.e,e.c,e.b),this.a=n}function aw(t,e){t.j>0&&t.c0&&0!=t.e&&aw(t.g,e/t.j*t.g.d))}function sw(t){return t.b.d.f.g==(RT(),DF)?Uf(kx(t.b.d.f,($L(),oq)),7):t.b.d}function cw(t){return t.b.c.f.g==(RT(),DF)?Uf(kx(t.b.c.f,($L(),oq)),7):t.b.c}function uw(t){switch(Vc(3!=t.d),t.d){case 2:return!1;case 0:return!0}return function(t){return t.d=3,t.c=function(t){for(var e;t.b.G();)if(e=t.b.H(),t.a.D(e))return e;return t.d=2,null}(t),2!=t.d&&(t.d=0,!0)}(t)}function lw(t){switch(t.e){case 2:return mL(),KG;case 4:return mL(),LG;default:return t}}function hw(t){switch(t.e){case 1:return mL(),$G;case 3:return mL(),IG;default:return t}}function fw(t,e){var n;return zg(),n=new Xs(1),Nl(t)?Yv(n,t,e):YC(n.d,t,e),new rr(n)}function dw(t,e){return t.g?(t.g=dw(t.g,e),--t.a,t.j=__(t.j,e.c),$T(t)):t.e}function pw(t,e){return t.e?(t.e=pw(t.e,e),--t.a,t.j=__(t.j,e.c),$T(t)):t.g}function gw(t,e){var n,r,i;for(Fd(e),n=!1,i=e.mb();i.G();)r=i.H(),n|=t.ib(r);return n}function vw(t){var e,n;for(n=new Fr,e=t.b.mb();e.G();)Of(n,Uf(e.H(),92).a);return n}function bw(t){var e,n,r;for(e=0,r=t.mb();r.G();)e+=(Fd(n=Oh(r.H())),n);return e/t.Y()}function yw(t,e){var n;return(n=Uf(Jp(t.c,e),200))||((n=new Jr).c=e,wg(t.c,n.c,n)),n}function mw(t,e){var n;return Fd(e),n=e.e,!t.b[n]&&(Yp(t.b,n,e),++t.c,!0)}function ww(t,e){var n,r;return n=1-e,r=t.a[n],t.a[n]=r.a[e],r.a[e]=t,t.b=!0,r.b=!1,r}function xw(t,e){var n;return!!dl(e,10)&&(n=Uf(e,10),t.a==n.a&&t.b==n.b)}function _w(t,e,n){return t.g=new Nw(e,n),Th(t,t.g,t.i),t.d=Yo(2,t.d),++t.a,t.j=w_(t.j,n),t}function Ew(t,e,n){return t.e=new Nw(e,n),Th(t.f,t.e,t),t.d=Yo(2,t.d),++t.a,t.j=w_(t.j,n),t}function kw(t,e){var n=t.a,r=0;for(var i in n)n.hasOwnProperty(i)&&(e[r++]=i);return e}function Tw(t,e){var n,r;for(Fd(e),r=e.bb().mb();r.G();)n=Uf(r.H(),21),t.db(n.yb(),n.zb())}function Cw(t,e,n){this.g=t,this.d=e,this.e=n,this.a=new Re,function(t){var e,n,r,i;for(i=bA(new zh(t.d,t.e));i.G();)for(r=Uf(i.H(),7),n=new Kn(t.e==(mL(),KG)?r.b:r.e);n.a0),this.b=t,this.c=e,this.j=e,this.a=1,this.d=1,this.e=null,this.g=null}function Aw(t){return 1.4901161193847656e-8*LN(t,26)+11102230246251565e-32*LN(t,27)}function Sw(t){return dl(t,87)?rb(Uf(t,87)):dl(t,88)?Uf(t,88).a:dl(t,63)?new Di(t):new Ka(t)}function Ow(t){var e;return e=Uf(kx(t,($L(),qV)),32),t.g==(RT(),DF)&&(e==(mL(),KG)||e==LG)}function Lw(t,e){return!!function(t,e){var n,r,i;for(n=Uf(kx(e,($L(),UV)),18),i=Uf(WT(SF,n),18).mb();i.G();)if(r=Uf(i.H(),18),!Uf(WT(t.a,r),20).V())return!1;return!0}(t,e)&&(dN(t.a,Uf(kx(e,($L(),UV)),18),e),!0)}function Iw(t,e){var n;if(e)for(n=0;n<6;n++)Uf(gd(t.a,n),18).jb(Uf(gd(e.a,n),19));return t}function Mw(t,e){var n;return t.b?null:(n=function(t,e){return new Ch(t>0?t-1:t,e)}(t.e,t.f),Of(t.a,n),n.g=t,t.d=e,n)}function Pw(t,e){var n,r;for(r=Sk(t,0);r.b!=r.d.c;)(n=Uf(Sb(r),10)).a+=e.a,n.b+=e.b;return t}function Dw(t,e){var n,r;for(n=0;n0?t.g?Yw(t.g,e,n):0:t.c}function zw(t,e){var n,r;return!!t.c&&(r=t.g,(n=t.a.$b(e,r))>0|0==n&t.f==(qu(),BD))}function Uw(t){var e;return 0==(e=t.h)?t.l+t.m*_M:e==xM?t.l+t.m*_M-EM:t}function Vw(t){var e,n,r,i;for(e=new uo,r=0,i=t.length;r=i;o--)t[o+1]=t[o];t[i]=r}function Kw(t,e,n,r){var i,o;for(i=function(t,e,n,r){var i,o,a,s;for(o=e,i=n-1;o<=i;)if((s=t[a=o+i>>>1])r))return a;i=a-1}return-(o+1)}(t,e,n,r),i<0&&(i=-i-1),o=n-1;o>=i;o--)t[o+1]=t[o];t[i]=r}function Qw(t,e){var n,r;for(Fd(e),r=e.mb();r.G();)if(n=r.H(),!t.kb(n))return!1;return!0}function Jw(t){var e,n,r;return n=0,(r=t)<0&&(r+=EM,n=xM),e=wv(r/_M),Cf(wv(r-e*_M),e,n)}function tx(t,e){return t.c.c=Ty(TD,GI,1,0,4,1),vC(t,t.e,e),vC(t,t.a,e),zg(),xb(t.c,null),function(t){var e,n,r;for(e=0,r=new Kn(t.c);r.a0;r--)n|=VE(t,e,r-1,r);return n}function xx(t,e){var n,r,i;for(n=!1,r=t.d[e].length,i=0;ie?1:t==e?0:isNaN(t)?isNaN(e)?0:1:-1}function Lx(t){switch(t.Y()){case 0:return YD;case 1:return new Ud(t.mb().H());default:return new sb(t)}}function Ix(){var t,e;Ix=a,e=!(Error.stackTraceLimit||"stack"in new Error),t=new we,oI=e?new u:t}function Mx(){Mx=a,VB=new If("intCoordinates",(Vd(),Vd(),NX)),qB=new fd("jsonObject"),XB=new ts(0,0)}function Px(){Px=a,ZF=new Is("MIRROR_X",0),KF=new Is("TRANSPOSE",1),$F=new Is("MIRROR_AND_TRANSPOSE",2)}function Dx(){Dx=a,DU=new yc(BM,0),PU=new yc("INCOMING_ONLY",1),RU=new yc("OUTGOING_ONLY",2)}function Rx(){return CL(),Nx(Mo(TU,1),FI,60,0,[$z,qz,Vz,Qz,Kz,vU,gU,Zz,Xz,Wz,Jz,dU,pU])}function jx(){var t,e,n,r;for(jx=a,uY=new TE(TU),n=0,r=(e=Rx()).length;n0)return Vf(e-1,t.a.c.length),yy(t.a,e-1);throw new _i}function Vx(t){t.b.c.length-t.e.c.length<0?(Fh(t,(mL(),LG)),t.a.a=t.j.a):(Fh(t,(mL(),KG)),t.a.a=0)}function qx(t,e){Gd(t>=0,"Negative initial capacity"),Gd(e>=0,"Non-positive load factor"),my(this)}function Xx(t){var e;this.e=t,this.d=new ty(this.e.e),this.a=this.d,this.b=ix(this),e=t[pD],this[pD]=e}function Wx(){this.n=null,this.j=null,this.i=null,this.d=null,this.b=null,this.k=null,this.a=null}function $x(t){var e,n,r,i;for(i=1,n=0,r=t.length;n=48&&t<58?t-48:t>=97&&t<97?t-97+10:t>=65&&t<65?t-65+10:-1}function m_(t){switch(lf(),t.Y()){case 0:return ag(),KD;case 1:return new la(t.mb().H());default:return new Ks(t)}}function w_(t,e){var n;return ql(t)&&ql(e)&&kM<(n=t+e)&&n>22),i=t.h+e.h+(r>>22),Cf(n&wM,r&wM,i&xM)}(ql(t)?Jw(t):t,ql(e)?Jw(e):e))}function x_(t,e){var n;return ql(t)&&ql(e)&&kM<(n=t*e)&&n>13|(15&t.m)<<9,i=t.m>>4&8191,o=t.m>>17|(255&t.h)<<5,a=(1048320&t.h)>>8,v=r*(s=8191&e.l),b=i*s,y=o*s,m=a*s,0!=(c=e.l>>13|(15&e.m)<<9)&&(v+=n*c,b+=r*c,y+=i*c,m+=o*c),0!=(u=e.m>>4&8191)&&(b+=n*u,y+=r*u,m+=i*u),0!=(l=e.m>>17|(255&e.h)<<5)&&(y+=n*l,m+=r*l),0!=(h=(1048320&e.h)>>8)&&(m+=n*h),d=((g=n*s)>>22)+(v>>9)+((262143&b)<<4)+((31&y)<<17),p=(b>>18)+(y>>5)+((4095&m)<<8),p+=(d+=(f=(g&wM)+((511&v)<<13))>>22)>>22,Cf(f&=wM,d&=wM,p&=xM)}(ql(t)?Jw(t):t,ql(e)?Jw(e):e))}function __(t,e){var n;return ql(t)&&ql(e)&&kM<(n=t-e)&&n>22),i=t.h-e.h+(r>>22),Cf(n&wM,r&wM,i&xM)}(ql(t)?Jw(t):t,ql(e)?Jw(e):e))}function E_(){E_=a,OR=new us(GM,0),SR=new us(DM,1),AR=new us(PM,2),NR=new us("DOWN",3),LR=new us("UP",4)}function k_(){k_=a,zR=new hs(GM,0),HR=new hs("POLYLINE",1),FR=new hs("ORTHOGONAL",2),YR=new hs("SPLINES",3)}function T_(){T_=a,ej=new ds("INHERIT",0),tj=new ds("INCLUDE_CHILDREN",1),nj=new ds("SEPARATE_CHILDREN",2)}function C_(){C_=a,BY=md(bd(new iE,(WL(),cH)),NH),FY=vd(md(yd(new iE,nH),tH),eH),HY=vd(wd(new iE,rH),eH)}function N_(){N_=a,YY=md(bd(new iE,(WL(),cH)),NH),zY=vd(md(yd(new iE,nH),tH),eH),UY=vd(wd(new iE,rH),eH)}function A_(t){this.a=new Iu,this.d=new Iu,this.b=new Iu,this.c=new Iu,this.g=new Iu,this.i=new Iu,this.f=t}function S_(t,e,n,r,i,o){this.e=new Re,this.f=(nw(),jq),Lf(this.e,t),this.d=e,this.a=n,this.b=r,this.f=i,this.c=o}function O_(t,e,n,r,i){var o,a;for(a=t.mb();a.G();)(o=Uf(a.H(),33)).i.a=e.a,o.i.b=i?e.b:e.b+r.b-o.j.b,e.a+=o.j.a+n}function L_(t,e){var n,r;for(Gf(),r=Ip(GT(t));tE(r);)if((n=Uf(Nv(r),12)).d.f==e||n.c.f==e)return n;return null}function I_(t,e,n){var r,i,o;for(r=0,o=Sk(t,0);o.b!=o.d.c&&!((i=oo(Oh(Sb(o))))>n);)i>=e&&++r;return r}function M_(t,e){var n;return e?((n=e.n?e.n:(zg(),zg(),jX)).V()||(t.n?Tw(t.n,n):t.n=new lu(n)),t):t}function P_(t,e,n){try{!function(t,e,n){if(Dd(e),n.G())for(nu(e,t.C(n.H()));n.G();)nu(e,t.c),nu(e,t.C(n.H()))}(t,e,n)}catch(t){throw dl(t=r_(t),181)?new sm(t):D_(t)}return e}function D_(t){var e;return dl(t,164)&&Zc((e=Uf(t,164)).b)!==Zc((ai(),iI))?Zc(e.b)===Zc(iI)?null:e.b:t}function R_(t,e){var n;for(n=Uf(kx(Kp(t),($L(),lq)),9);n;){if(n==e)return!0;n=Uf(kx(Kp(n),lq),9)}return!1}function j_(t){switch(Uf(kx(t,($L(),KV)),140).e){case 1:Ky(t,KV,(jm(),wV));break;case 2:Ky(t,KV,(jm(),_V))}}function G_(t){switch(lf(),t.c){case 0:return ag(),KD;case 1:return new la(PC(new qs(t)));default:return new Ii(t)}}function B_(t){var e,n;for(og(),e=0,n=t.length;e-129&&t<128?(e=t+128,!(n=(qd(),IX)[e])&&(n=IX[e]=new Mn(t)),n):new Mn(t)}function $_(t){var e,n;for(e=NT(t.b,t.d),n=yI;n>e;){if(ax(t,t.d),0==e){n=0;break}oE(t),EE(t),n=e,e=NT(t.b,t.d)}t.c=n}function Z_(){var t,e,n;tC(),n=qX+++(Date.now?Date.now():(new Date).getTime()),t=wv(Math.floor(n*KP))&xD,e=wv(n-t*wD),this.a=1502^t,this.b=e^mD}function K_(t){return Nl(t)?dk(t):Cl(t)?wv((Fd(t),t)):vh(t)?io((Fd(t),t))?1231:1237:Zd(t)?t.v():(Nd(t),fh(t))}function Q_(t,e,n,r){var i,o,a;for(a=0,o=bA(new zh(e,r));o.G();)i=Uf(o.H(),7),wg(t.i,i,W_(a++));wg(n,e,W_(a))}function J_(t){var e;return(e=Uf(kx(t,(JL(),pj)),59))==(E_(),OR)?Uf(kx(t,($L(),AV)),15).a>=1?SR:NR:e}function tE(t){if(Dd(t.b),t.b.G())return!0;for(;t.a.G();)if(Dd(t.b=t.Wb(t.a.H())),t.b.G())return!0;return!1}function eE(t){return t.d==t.c.d&&t.i==t.g.d||(t.a.c=Ty(TD,GI,1,0,4,1),ox(t.a,t.c),ox(t.a,t.g),t.d=t.c.d,t.i=t.g.d),t.a}function nE(t){var e;if(t.b){if(nE(t.b),t.b.d!=t.c)throw new xi}else t.d.V()&&(e=Uf(Jp(t.f.b,t.e),19))&&(t.d=e)}function rE(t,e,n,r,i){var o,a,s,c;for(function(t,e,n,r,i){r?function(t,e){var n,r;for(r=new Kn(e);r.a1&&(xb(e,t.b),function(t,e){var n,r,i,o,a,s,c,u,l;for(i=new Re,c=new Kn(e);c.ae){tb(n);break}}Cp(n,e)}function sE(t,e,n){var r;return r=Ca(t.a,e),function(t,e,n){t.set(e,n)}(t.a,e,void 0===n?null:n),void 0===r?(++t.c,tf(t.b)):++t.d,r}function cE(t,e,n){return(e-t<=0?0-(e-t):e-t)FP?t-n>FP:n-t>FP)}function uE(t){switch(t.e){case 0:return GU;case 1:return BU;case 2:return FU;case 3:return HU;default:return YU}}function lE(t,e){switch(e.e){case 2:return t.b;case 1:return t.c;case 4:return t.d;case 3:return t.a;default:return!1}}function hE(t){switch(mL(),t.e){case 4:return IG;case 1:return LG;case 3:return $G;case 2:return KG;default:return ZG}}function fE(t,e){if(e==t.c)return t.d;if(e==t.d)return t.c;throw new so("Node "+e+" not part of edge "+t)}function dE(t,e){var n;return Xl(t.a,e)?Uf(Xl(t.a,e)?t.b[e.e]:null,62):(n=new Hr,mw(t.a,e),Op(t,e.e,n),n)}function pE(t,e){var n,r,i;for(i=t.g.tb(),n=0;i.G();){if((r=oo(Oh(i.H()))-e)>uD)return n;r>lD&&++n}return n}function gE(t){var e,n,r,i;return mw(n=new Zf(e=Uf(ia((i=(r=t.$c).f)==RD?r:i),11),Uf(Sp(e,e.length),11),0),t),n}function vE(t,e){var n,r;for(r=new Kn(e);r.a %s",Nx(Mo(TD,1),GI,1,4,[W_(e),W_(n)])),sT(e,n=n<(r=t.length)?n:r,r),n-e}function _E(t,e){var n,r,i;for(n=t,i=0;;){if(n==e)return i;if(!(r=Uf(kx(n,($L(),lq)),9)))throw new qr;n=Kp(r),++i}}function EE(t){var e,n,r;for(r=!1,n=t.d.length-1;n>=0;n--)t.j=(e=new gC(t.e,t.d,n,1),new BT(n,t.d,e)),r|=$m(t,n);return r}function kE(t){this.f=(_l(),new kr),this.n=new kr,this.k=new kr,this.g=new Ji,this.i=new lk((ui(),$D)),this.j=t,function(t,e){var n,r,i,o,a;for(n=0,a=0,i=0,o=e.length;i0?t-e:-(t-e))<=yM||t==e||isNaN(t)&&isNaN(e)?0:te?1:yu(isNaN(t),isNaN(e)))>0}function DE(t,e){return Oo(),Oo(),((t-e>0?t-e:-(t-e))<=yM||t==e||isNaN(t)&&isNaN(e)?0:te?1:yu(isNaN(t),isNaN(e)))<0}function RE(t){var e,n;for(t.d||function(t){var e,n,r,i,o,a;if(i=t.g.tb(),r=t.b.tb(),t.e)for(n=0;nuD;){for(o=e,a=0;(e-o<=0?0-(e-o):e-o)o_(t.a,r,i)+t.c.b+t.d.b)}(t.j,n,r)&&(function(t,e,n){!function(t,e,n){$N(t,e,n,(mL(),LG),t.f),$N(t,e,n,KG,t.n)}(t.c,e,n)}(t.j,t.d[e][n],t.d[e][r]),a=(o=t.d[e])[r],o[r]=o[n],o[n]=a,i=!0),i}function qE(t,e,n){var r,i,o,a,s;i=(s=Kp(t)).a,r=Uf(kx(s,($L(),PV)),15).a,o=s.d,a=t.i,e&&(a.a=a.a-i.b-r-o.a),n&&(a.b=a.b-i.d-r-o.b)}function XE(t,e){var n,r,i;for(r=Ip(GT(t));tE(r);)return n=Uf(Nv(r),12),new Fe(Dd((i=Uf(e.B(n),9)).i.b+i.j.b/2));return ci(),ci(),kD}function WE(t){var e,n,r,i;for(n=vO(t),e=jP,i=0,r=0;e>.5&&i<50;)e=Na(XT(n,r=fA(n),!0).b),++i;return XT(t,r,!1)}function $E(t){var e,n,r,i;for(n=vO(t),e=jP,i=0,r=0;e>.5&&i<50;)e=Na(XT(n,r=hA(n),!0).a),++i;return XT(t,r,!1)}function ZE(t){var e,n,r;for(this.a=new Iu,this.e=new Ji,this.f=0,n=0,r=t.length;n0),e.a.sb(e.c=--e.b))}function ik(t,e,n){HE(n,"Compound graph preprocessor",1),t.a=new $s,oO(t,e,null),function(t,e){var n,r,i,o,a,s,c;for(a=ip(t.a).mb();a.G();){if((o=Uf(a.H(),12)).b.c.length>0)for(xb(r=new df(Uf(WT(t.a,o),18)),new cn(e)),i=new Kv(o.b,0);i.b=t.b>>1)for(r=t.c,n=t.b;n>e;--n)r=r.b;else for(r=t.a.a,n=0;n0&&(i.b+=e),i}function Lk(t,e){var n,r,i;for(i=new uo,r=t.mb();r.G();)iS(n=Uf(r.H(),55),0,i.b),i.b+=n.e.b+e,i.a=Fo(i.a,n.e.a);return i.a>0&&(i.a+=e),i}function Ik(t,e,n){var r,i,o;return(i=Uf(Jp(t.c,e),176))?(o=bf(i,n),Hl(t,i),o):(r=new sd(t,e,n),wg(t.c,e,r),Sv(r),null)}function Mk(t){switch(t.e){case 8:return mL(),IG;case 9:return mL(),$G;case 10:return mL(),LG;case 11:return mL(),KG;default:return mL(),ZG}}function Pk(t,e){return Nl(t)?!!cI[e]:t._c?!!t._c[e]:Cl(t)?!!sI[e]:!!vh(t)&&!!aI[e]}function Dk(){Mx(),this.i=(_l(),new kr),this.a=new kr,this.k=new kr,this.j=new kr,this.b=new kr,this.n=new kr,this.f=new kr,this.e=new kr}function Rk(t,e){var n,r;e.a.R(t)||(r=Uf(kx(t,($L(),qV)),32),n=Uf(gd(t.f,0),7),r==(mL(),IG)?Fh(n,$G):r==$G&&Fh(n,IG),e.a.db(t,e))}function jk(t){return Yo(1,Uf(kx(t,($L(),gq)),24).a)*(t.c.f.g==(RT(),GF)&&t.d.f.g==GF?1:t.c.f.g==GF||t.d.f.g==GF?2:8)}function Gk(t){var e,n,r,i;for(i=Uf(kx(t,($L(),oq)),7),n=0,r=(e=Uf(Yk(t.b,Ty(IF,CP,12,t.b.c.length,0,1)),47)).length;nr&&Yp(e,r,null),e}function zk(t,e){var n,r;for(r=t.a.length,e.lengthr&&Yp(e,r,null),e}function Uk(t){return Nl(t)?t:Cl(t)?Aa((Fd(t),t)):vh(t)?yl(io((Fd(t),t))):Zd(t)?t.w():Nd(t)?yv(t):t.toString?t.toString():"[JavaScriptObject]"}function Vk(){Vk=a,pz=new cc("SIMPLE",0),hz=new cc(VP,1),fz=new cc("LINEAR_SEGMENTS",2),lz=new cc("BRANDES_KOEPF",3),dz=new cc($P,4)}function qk(){qk=a,Iq=new kc(BM,0),Aq=new kc("FIRST",1),Sq=new kc("FIRST_SEPARATE",2),Oq=new kc("LAST",3),Lq=new kc("LAST_SEPARATE",4)}function Xk(){Xk=a,Hz=new le,Bz=md(new iE,(WL(),mH)),Fz=vd(md(new iE,RH),DH),jz=vd(wd(md(yd(new iE,_H),kH),CH),EH),Gz=vd(wd(new iE,CH),uH)}function Wk(t){var e,n,r;for(n=new Vn(new Un(t.d.a).a.bb().mb());n.a.G();)r=Uf(n.a.H(),21),Lf((e=Uf(r.yb(),12)).c.e,e),Lf(e.d.b,e)}function $k(t,e){var n,r;if(Su(e>0),(e&-e)==e)return wv(e*LN(t,31)*4.656612873077393e-10);do{r=(n=LN(t,31))%e}while(n-r+(e-1)<0);return wv(r)}function Zk(t,e){if(t.c.f==e)return t.d.f;if(t.d.f==e)return t.c.f;throw new so("Node "+e+" is neither source nor target of edge "+t)}function Kk(t,e,n){return Su(t>=0&&t<=1114111),t>=wI?(e[n++]=55296+(t-wI>>10&1023)&xI,e[n]=56320+(t-wI&1023)&xI,2):(e[n]=t&xI,1)}function Qk(t){var e,n;if(!t.a)for(t.a=Ol(Uf(t.e,9).c.c.length),n=new Kn(Uf(t.e,9).c);n.ai&&Yp(e,i,null),e}function oT(t,e,n){if(n&&(e<0||e>n.a.c.length))throw new so("index must be >= 0 and <= layer node count");t.d&&Gy(t.d.a,t),t.d=n,n&&Id(n.a,e,t)}function aT(t,e,n,r,i,o,a,s){var c,u;r&&((c=r.a[0])&&aT(t,e,n,c,i,o,a,s),function(t,e,n,r,i,o,a){var s,c;return!(e.Xc()&&(c=t.a.$b(n,r),c<0||!i&&0==c))&&!(e.Yc()&&(s=t.a.$b(n,o),s>0||!a&&0==s))}(t,n,r.d,i,o,a,s)&&e.ib(r),(u=r.a[1])&&aT(t,e,n,u,i,o,a,s))}function sT(t,e,n){if(t<0)throw new ao(SI+t+" < 0");if(e>n)throw new ao("toIndex: "+e+" > size "+n);if(t>e)throw new so(SI+t+" > toIndex: "+e)}function cT(t,e){var n,r,i;return n=e.yb(),i=e.zb(),r=t.cb(n),!(!(Zc(i)===Zc(r)||null!=i&&s_(i,r))||null==r&&!t.R(n))}function uT(t,e,n){var r;(r=e.c.f).g==(RT(),jF)?(Ky(t,($L(),eq),Uf(kx(r,eq),7)),Ky(t,nq,Uf(kx(r,nq),7))):(Ky(t,($L(),eq),e.c),Ky(t,nq,n.d))}function lT(t,e,n){var r,i,o,a;for(function(t){var e,n;for(null==t.g&&(t.g=_d(t)),e=0,n=t.g.length;er&&t.charCodeAt(e-1)<=32;)--e;return r>0||e>19)!=(s=e.h>>19)?s-a:(r=t.h)!=(o=e.h)?r-o:(n=t.m)!=(i=e.m)?n-i:t.l-e.l}function xT(t){var e,n,r;for(n=new Vn(new Un(t.p.a).a.bb().mb());n.a.G();)if(r=Uf(n.a.H(),21),(e=Uf(r.yb(),89)).e&&t.b[e.b]<0)return e;return null}function _T(t,e){var n,r,i,o,a;r=zo(t.d,e.d),o=zo(t.e,e.e),(i=Fo(t.d+t.c,e.d+e.c))=e.length)throw new ao("Greedy SwitchDecider: Free layer layer not in graph.");this.b=e[t],this.c=new Wh(this.b),this.d=new qw(this.b)}function FT(t,e){var n;if(this.f=t,this.b=this.f.c,Ob(e,n=t.d),e>=(n/2|0))for(this.e=t.e,this.d=n;e++0;)ib(this);this.a=null}function HT(t){var e,n,r;for(n=new Kn(t.a.b);n.a0&&(t.g=oC(t.g)),iC(t);case 2:return mu(t.e)<0&&(t.e=iC(t.e)),oC(t);default:return t.d=1+Yo(Bi(t.e),Bi(t.g)),t}}function ZT(t,e){this.f=(_l(),new kr),this.b=new kr,this.j=new kr,this.a=t,this.c=e,this.c>0&&rN(this,this.c-1,(mL(),LG)),this.c0&&hN(t,e,n),0):(Uc(0==n),0)}function JT(t,e){var n,r,i,o,a;for(i=Uf(kx(e,($L(),wq)),15).a*Uf(kx(e,(ZL(),$q)),15).a,a=t[0].i.a+t[0].j.a,o=1;o=0;e--)VX[e]=r,r*=.5;for(n=1,t=24;t>=0;t--)UX[t]=n,n*=.5}function eC(t){for(;0!=t.g.c&&0!=t.d.c;)zl(t.g).c>zl(t.d).c?(t.i+=t.g.c,zE(t.d)):zl(t.d).c>zl(t.g).c?(t.e+=t.d.c,zE(t.g)):(t.i+=id(t.g),t.e+=id(t.d),zE(t.g),zE(t.d))}function nC(t){var e,n,r,i;for(i=new $o("["),e=!1,r=t.mb();r.G();)n=r.H(),e?i.a+=", ":e=!0,iu(i,n===t?"(this Collection)":(si(),null==n?pI:Uk(n)));return i.a+="]",i.a}function rC(t){var e,n,r,i;for(i=new $o("{"),e=!1,r=t.bb().mb();r.G();)n=Uf(r.H(),21),e?i.a+=", ":e=!0,iu(i,vb(t,n.yb())),i.a+="=",iu(i,vb(t,n.zb()));return i.a+="}",i.a}function iC(t){var e;return Vc(!!t.g),e=t.g,t.g=e.e,e.e=t,e.j=t.j,e.a=t.a,t.a=1+Gi(t.e)+Gi(t.g),t.j=w_(w_(t.c,Fi(t.e)),Fi(t.g)),t.d=1+Yo(Bi(t.e),Bi(t.g)),e.d=1+Yo(Bi(e.e),Bi(e.g)),e}function oC(t){var e;return Vc(!!t.e),e=t.e,t.e=e.g,e.g=t,e.j=t.j,e.a=t.a,t.a=1+Gi(t.e)+Gi(t.g),t.j=w_(w_(t.c,Fi(t.e)),Fi(t.g)),t.d=1+Yo(Bi(t.e),Bi(t.g)),e.d=1+Yo(Bi(e.e),Bi(e.g)),e}function aC(t){var e;pl(new Kn(fT(t.e)))&&((e=Uf(mE(t.e,(JL(),Hj)),28))==(bT(),mG)?function(t){var e,n,r,i,o;for(e=t.e.j,r=new Kn(fT(t));r.a=wI?(e=55296+(t-wI>>10&1023)&xI,n=56320+(t-wI&1023)&xI,String.fromCharCode(e)+""+String.fromCharCode(n)):String.fromCharCode(t&xI)}function kC(t,e,n,r){var i;Lf(t.c,new xg(t,n,r,Uf(Jp(t.k,n),24).a)),Wp(r)&&(e==t.e?r.d.f!=t.a&&r.c.f!=t.a:r.d.f!=t.e&&r.c.f!=t.e)&&(i=n==r.c?r.d:r.c,Lf(t.c,new xg(t,i,r,Uf(Jp(t.k,i),24).a)))}function TC(t,e){var n,r,i;if(e===t)return!0;if(!dl(e,57))return!1;if(i=Uf(e,57),t.Y()!=i.Y())return!1;for(r=i.bb().mb();r.G();)if(n=Uf(r.H(),21),!t._(n))return!1;return!0}function CC(t,e){var n,r,i;return M_(r=new Tk(t),e),Ky(r,($L(),VV),e),Ky(r,(JL(),Hj),(bT(),mG)),Ky(r,sj,(fk(),xR)),fr(r,(RT(),DF)),cv(n=new TT,r),Fh(n,(mL(),KG)),cv(i=new TT,r),Fh(i,LG),r}function NC(t,e){var n,r,i;for(i=yI,r=new Kn(eE(e));r.a0&&LC(t,o,n));e.k=0}function IC(t,e){if(0>e)throw new so("Top must be smaller or equal to bottom.");if(0>t)throw new so("Left must be smaller or equal to right.");this.d=0,this.c=t,this.a=e,this.b=0}function MC(t){var e,n,r;if(0==t.length)throw new so(hD);for(n=0,r=t.length;n1)throw new so("In straight hyperEdges there may be only one edge.");Of((i=new Un(n.a).a.bb().mb(),r=Uf(new Vn(i).a.H(),21),Uf(r.yb(),12)).a,new ts(e,t.b))}function WC(t,e,n){var r,i;if(this.f=t,Ob(n,i=(r=Uf(Jp(t.b,e),126))?r.a:0),n>=(i/2|0))for(this.e=r?r.c:null,this.d=i;n++0;)Rv(this);this.b=e,this.a=null}function $C(e,r){typeof n===bI?n(r):((typeof document!==WM||"object"===lI&&t.exports)&&uW(e(r)),typeof document===WM&&typeof self!==WM&&self.postMessage(r))}function ZC(t,e){var n,r,i,o;"x"in t.a&&(i=Uf(Sg(t,"x"),104),e.i.a=i.a),"y"in t.a&&(o=Uf(Sg(t,"y"),104),e.i.b=o.a),eP in t.a&&(r=Uf(Sg(t,eP),104),e.j.a=r.a),nP in t.a&&(n=Uf(Sg(t,nP),104),e.j.b=n.a)}function KC(t,e,n){var r;wy(this),e==(pv(),EU)?Np(this.g,t.c):Np(this.o,t.c),Np(n==EU?this.g:this.o,t.d),Np(this.c,t),uk(this,Gv(t.c).b,r=Gv(t.d).b,r),this.f=function(t,e){return LT(),(t-e<=0?0-(t-e):t-e)<.2}(Gv(t.c).b,Gv(t.d).b)}function QC(t,e,n){var r,i,o,a,s;for(zg(),s=new cm((a=new Ko(Uf(gd(e.a,n),18))).b.Y()),i=new nr(a.b.mb());i.b.G();)r=Uf(i.b.H(),37),(o=Uf(Jp(t.a,r),31))||(o=YL(r),wg(t.a,r,o)),s.c[s.c.length]=o;return s}function JC(t){var e,n;if(Vs(Uf(kx(t,(JL(),Hj)),28)))for(n=new Kn(t.f);n.ae&&r.$b(t[o-1],t[o])>0;--o)a=t[o],Yp(t,o,t[o-1]),Yp(t,o-1,a)}(e,n,r,o);else if(tN(e,t,s=n+i,c=s+((a=r+i)-s>>1),-i,o),tN(e,t,c,a,-i,o),o.$b(t[c-1],t[c])<=0)for(;n=r||e upperEndpoint (%s)",Nx(Mo(TD,1),GI,1,4,[e,n])))}((s=t.$b(n,o))<=0,n,o),0==s&&Uc(r!=(qu(),BD)|a!=BD))}function uN(t){if(this.a=t,t.c.f.g==(RT(),DF))this.c=t.c,this.d=Uf(kx(t.c.f,($L(),qV)),32);else{if(t.d.f.g!=DF)throw new so("Edge "+t+" is not an external edge.");this.c=t.d,this.d=Uf(kx(t.d.f,($L(),qV)),32)}}function lN(){lN=a,Iz=wd(new iE,(WL(),vH)),Pz=md(new iE,mH),Dz=vd(md(new iE,RH),DH),Lz=vd(wd(md(new iE,hH),fH),dH),Rz=md(new iE,UH),Mz=vd(new iE,bH),Sz=vd(wd(md(yd(new iE,_H),kH),CH),EH),Oz=vd(wd(new iE,CH),uH)}function hN(t,e,n){var r,i,o,a;return Cm(n,gM),0==n?ST(t,e):(Uc(hh(t.b,e)),(a=t.c.a)?(o=Ty(iW,vM,26,1,12,1),r=ES(a,t.d,e,n,o),jd(t.c,a,r),o[0]):(t.d.$b(e,e),i=new Nw(e,n),Th(t.a,i,t.a),jd(t.c,null,i),0))}function fN(t,e,n){var r,i,o,a,s;for(r=0,s=n,e||(r=n*(t.c.length-1),s*=-1),o=new Kn(t);o.a0&&((!os(t.b.d)||!r.q.d)&&(!as(t.b.d)||!r.q.b)&&(r.j.e-=0>o/2-.5?0:o/2-.5),(!os(t.b.d)||!r.q.a)&&(!as(t.b.d)||!r.q.c)&&(r.j.b+=0>o-1?0:o-1))}(t,e,n),o=new Re,i=new Kn(t.b.a.b);i.a0&&((!os(t.b.d)||!r.q.d)&&(!as(t.b.d)||!r.q.b)&&(r.j.e+=0>o/2-.5?0:o/2-.5),(!os(t.b.d)||!r.q.a)&&(!as(t.b.d)||!r.q.c)&&(r.j.b-=o-1))}(t,e,n)}function gN(t,e){var n,r,i,o;for(t.c[e.k]=!0,Lf(t.a,e),o=new Kn(e.f);o.a(a=s+oo(t.b[t.f[i.k].k]))?n:a;return n-r}function _N(t){var e;return Zy(e=new Vi,"type",new Rd((Bh(uF),uF.n))),Zy(e,$M,new Rd(t.f)),t.b&&Zy(e,"value",t.b),t.a&&Zy(e,"context",t.a),Zy(e,ZM,new Rd(kl(new co("\n"),new zn(new Qn((null==t.g&&(t.g=_d(t)),t.g)))))),e}function EN(t,e){var n,r,i,o,a;if(e===t)return!0;if(!dl(e,20))return!1;if(a=Uf(e,20),t.Y()!=a.Y())return!1;for(o=a.mb(),r=t.mb();r.G();)if(n=r.H(),i=o.H(),!(Zc(n)===Zc(i)||null!=n&&s_(n,i)))return!1;return!0}function kN(t){!nR&&((e=["\\u0000","\\u0001","\\u0002","\\u0003","\\u0004","\\u0005","\\u0006","\\u0007","\\b","\\t","\\n","\\u000B","\\f","\\r","\\u000E","\\u000F","\\u0010","\\u0011","\\u0012","\\u0013","\\u0014","\\u0015","\\u0016","\\u0017","\\u0018","\\u0019","\\u001A","\\u001B","\\u001C","\\u001D","\\u001E","\\u001F"])[34]='\\"',e[92]="\\\\",e[173]="\\u00ad",e[1536]="\\u0600",e[1537]="\\u0601",e[1538]="\\u0602",e[1539]="\\u0603",e[1757]="\\u06dd",e[1807]="\\u070f",e[6068]="\\u17b4",e[6069]="\\u17b5",e[8203]="\\u200b",e[8204]="\\u200c",e[8205]="\\u200d",e[8206]="\\u200e",e[8207]="\\u200f",e[8232]="\\u2028",e[8233]="\\u2029",e[8234]="\\u202a",e[8235]="\\u202b",e[8236]="\\u202c",e[8237]="\\u202d",e[8238]="\\u202e",e[8288]="\\u2060",e[8289]="\\u2061",e[8290]="\\u2062",e[8291]="\\u2063",e[8292]="\\u2064",e[8298]="\\u206a",e[8299]="\\u206b",e[8300]="\\u206c",e[8301]="\\u206d",e[8302]="\\u206e",e[8303]="\\u206f",e[65279]="\\ufeff",e[65529]="\\ufff9",e[65530]="\\ufffa",e[65531]="\\ufffb",nR=e);var e,n=t.replace(/[\x00-\x1f\xad\u0600-\u0603\u06dd\u070f\u17b4\u17b5\u200b-\u200f\u2028-\u202e\u2060-\u2064\u206a-\u206f\ufeff\ufff9-\ufffb"\\]/g,(function(t){return function(t,e){var n=nR[t.charCodeAt(0)];return null==n?t:n}(t)}));return'"'+n+'"'}function TN(t,e){var n,r,i,o,a;for(r=new Vn(new Un((1==e?hF:lF).a).a.bb().mb());r.a.G();)for(i=Uf(r.a.H(),21),n=Uf(i.yb(),59),a=Uf(WT(t.f.c,n),18).mb();a.G();)o=Uf(a.H(),27),Gy(t.b.b,o.b),Gy(t.b.a,Uf(o.b,25).f)}function CN(t,e,n){var r,i,o,a;if(HE(n,"Recursive layout",2),0!=e.b.c.length){for(a=1/e.b.c.length,o=new Kn(e.b);o.a=2147483648&&(r-=4294967296),r)}function IN(t,e,n){var r,i,o;if(e!=n){r=e;do{Ih(t,r.d),(o=Uf(kx(r,($L(),lq)),9))&&(Rl(t,(i=r.a).b,i.d),Ih(t,o.i),r=Kp(o))}while(o);r=n;do{Mh(t,r.d),(o=Uf(kx(r,($L(),lq)),9))&&(jl(t,(i=r.a).b,i.d),Mh(t,o.i),r=Kp(o))}while(o)}}function MN(t,e){var n,r,i,o,a;for(n=new Re,a=new tc,i=new Vn(new Un(t.a).a.bb().mb());i.a.G();)o=Uf(i.a.H(),21),mS(a,(r=Uf(o.yb(),12)).c,r,null),mS(a,r.d,r,null);for(;a.a;)Lf(n,GS(a,e,Vl(Uf(kx(e,(JL(),Hj)),28))));return n}function PN(t,e){var n,r,i,o,a;for(r=new Vn(new Un((1==e?hF:lF).a).a.bb().mb());r.a.G();)for(i=Uf(r.a.H(),21),n=Uf(i.yb(),59),a=Uf(WT(t.f.c,n),18).mb();a.G();)o=Uf(a.H(),27),Lf(t.b.b,Uf(o.b,25)),Lf(t.b.a,Uf(o.b,25).f)}function DN(t){var e,n,r,i,o,a;for(Gf(),_l(),n=new ry,r=new Kn(t.e.c);r.a0&&i0):i<0&&-i0)}function BN(t,e,n,r,i){var o,a;xw(Vw(Nx(Mo(gR,1),KM,10,0,[i.f.i,i.i,i.a])),n)||(e.c==i?Yl(e.a,0,new $c(n)):Of(e.a,new $c(n)),r&&!ka(t.a,n)&&((a=Uf(kx(e,(JL(),kj)),44))||(a=new Fr,Ky(e,kj,a)),Mb(a,o=new $c(n),a.c.b,a.c),Np(t.a,o)))}function FN(t){var e,n,r,i,o,a;for(e=0,n=new Kn(t.a);n.a((a=Gv(r.d).b)-o<=0?0-(a-o):a-o)?e:a-o<=0?0-(a-o):a-o);return e}function HN(t,e){var n,r,i,o,a,s;if((r=t.b[e.k])>=0)return r;for(i=1,o=new Kn(e.f);o.a(a=HN(t,s))+1?i:a+1);return function(t,e,n){var r,i;for(r=(i=t.a.c).c.length;rc-n&&s=t.g.d?((e=t.f).e=dw(t.e,e),e.g=t.g,e.a=t.a-1,e.j=__(t.j,n),$T(e)):((e=t.i).g=pw(t.g,e),e.e=t.e,e.a=t.a-1,e.j=__(t.j,n),$T(e)):t.e:t.g}function qN(t){var e,n,r,i,o,a;for(i=new Kn(t.a);i.ao.k?Fh(a,$G):a.g==$G&&o.k>r.k&&Fh(a,IG))}function XN(t,e,n){var r,i,o;if(Cm(n,gM),0==n)return ST(t,e);o=t.c.a,i=Ty(iW,vM,26,1,12,1);try{if(!hh(t.b,e)||!o)return 0;r=YS(o,t.d,e,n,i)}catch(t){if(dl(t=r_(t),119))return 0;if(dl(t,76))return 0;throw D_(t)}return jd(t.c,o,r),i[0]}function WN(t){var e,n,r,i,o,a;for(il(a=Uf(Yk(t.a,Ty(FF,oP,9,t.a.c.length,0,1)),51),new ot),n=null,i=0,o=a.length;i0)return KN(t,e,n.g);if(0!=r)return w_(w_(e.ac(n.g),e._b(n)),KN(t,e,n.e));switch(t.b.f.e){case 0:return w_(e._b(n),e.ac(n.g));case 1:return e.ac(n.g);default:throw new Er}}function QN(t,e,n){var r;if(!n)return 0;if((r=t.d.$b(t.b.e,n.b))<0)return QN(t,e,n.e);if(0!=r)return w_(w_(e.ac(n.e),e._b(n)),QN(t,e,n.g));switch(t.b.d.e){case 0:return w_(e._b(n),e.ac(n.e));case 1:return e.ac(n.e);default:throw new Er}}function JN(t,e,n,r){var i,o,a,s;return fr(a=new Tk(t),(RT(),jF)),Ky(a,($L(),oq),e),Ky(a,(JL(),Hj),(bT(),mG)),Ky(a,eq,n),Ky(a,nq,r),Fh(o=new TT,(mL(),KG)),cv(o,a),Fh(s=new TT,LG),cv(s,a),lv(e,o),M_(i=new jg,e),Ky(i,kj,null),hv(i,s),lv(i,r),a}function tA(t,e){var n,r,i,o,a,s,c,u;for(n=0,a=0,s=(o=t.j).length;an.a&&(o=Yo(o,a.a-n.a-1));return o}function iA(t){var e,n;switch(e=Uf(kx(t,(JL(),Sj)),15).a,n=Uf(kx(t,Oj),15).a,Ky(t,Oj,new Hn(e)),Ky(t,Sj,new Hn(n)),Uf(kx(t,sj),103).e){case 1:Ky(t,sj,(fk(),kR));break;case 2:Ky(t,sj,(fk(),wR));break;case 3:Ky(t,sj,(fk(),_R));break;case 4:Ky(t,sj,(fk(),ER))}}function oA(t,e,n){var r,i,o;for(o=new Kn(t.e);o.a0&&(r.b.c-=r.c,r.b.c<=0&&r.b.f>0&&Of(e,r.b));for(i=new Kn(t.b);i.a0&&(r.a.f-=r.c,r.a.f<=0&&r.a.c>0&&Of(n,r.a))}function aA(t,e,n){var r,i,o;for(o=new Kn(t.j);o.a0&&(r.b.e-=r.c,r.b.e<=0&&r.b.k>0&&Of(e,r.b));for(i=new Kn(t.d);i.a0&&(r.a.k-=r.c,r.a.k<=0&&r.a.e>0&&Of(n,r.a))}function sA(t,e){switch(t.e){case 1:switch(e.e){case 1:return JP;case 4:return.5;case 3:return tD;case 2:return eD}break;case 2:switch(e.e){case 1:return JP;case 2:return.5;case 3:return tD;case 4:return eD}break;default:throw new so(QP)}return 0}function cA(t,e){var n,r,i,o;for(Lu((o=new Kv(t,0)).b0),o.a.sb(o.c=--o.b),ef(o,i),Lu(o.b1)&&(++o,++a);return!Vl(Uf(kx(n,(JL(),Hj)),28))&&s&&(++o,++a),wg(i,n,W_(o)),a}function hA(t){var e,n,r,i,o,a,s,c,u,l;for(u=(l=(s=Uf((a=t.b.mb()).H(),92)).a.a)>uD,c=luD)&&!c)return bw(s.b);if(i&&c||r&&u)return(e=o/(o-l))*bw(n.b)+(1-e)*bw(s.b)}return 0}function fA(t){var e,n,r,i,o,a,s,c,u,l;for(u=(l=(s=Uf((a=t.b.mb()).H(),92)).a.b)>uD,c=luD)&&!c)return bw(s.b);if(i&&c||r&&u)return(e=o/(o-l))*bw(n.b)+(1-e)*bw(s.b)}return 0}function dA(t,e,n){var r,i;return r=0,Wp(e)?ka(t.g,e)?(XN(t.i,W_(Ph(t,e.c)),1),XN(t.i,W_(Ph(t,e.d)),1),vl(t.g,e),r+=vk(t,e,t.i)):(Np(t.g,e),hN(t.i,W_(Ph(t,e.c)),1),hN(t.i,W_(Ph(t,e.d)),1)):(i=ST(t.i,W_(Uf(Jp(t.k,n),24).a)),r+=t.g.a.Y()-i),r}function pA(t){switch(t.e){case 0:return Zz;case 1:return $z;case 2:return qz;case 3:return Vz;case 4:return Qz;case 5:return Kz;case 6:return vU;case 7:return gU;case 8:return Wz;case 9:return Xz;case 10:return dU;case 11:return Jz;default:return pU}}function gA(t){switch(t.e){case 0:return Kz;case 1:return vU;case 2:return gU;case 3:return Zz;case 4:return $z;case 5:return qz;case 6:return Vz;case 7:return Qz;case 8:return Wz;case 9:return Xz;case 10:return dU;case 11:return Jz;default:return pU}}function vA(t){switch(t.e){case 0:return qz;case 1:return Vz;case 2:return Qz;case 3:return Kz;case 4:return vU;case 5:return gU;case 6:return Zz;case 7:return $z;case 8:return Wz;case 9:return Xz;case 10:return dU;case 11:return Jz;default:return pU}}function bA(t){var e;switch(e=t.a.f,t.b){case 0:return new Kn(t.a.f);case 1:return bp(new Lv(e),AT(t));case 2:switch(t.c.e){case 2:case 1:return bp(new Kn(e),AT(t));case 3:case 4:return bp(new Lv(e),AT(t))}}throw new No("PortOrder not implemented.")}function yA(t,e,n,r){this.e=t,this.j=Uf(kx(t,($L(),xq)),134),this.f=Ty(FF,oP,9,e,0,1),this.b=Ty(LX,hI,184,e,6,1),this.a=Ty(FF,oP,9,e,0,1),this.d=Ty(LX,hI,184,e,6,1),this.i=Ty(FF,oP,9,e,0,1),this.g=Ty(LX,hI,184,e,6,1),this.n=Ty(LX,hI,184,e,6,1),this.k=n,this.c=r}function mA(t){if(!t.a.c||!t.a.d)throw new ko((Bh(NY),NY.j+" must have a source and target "+(Bh(OY),OY.j+" specified.")));if(t.a.c==t.a.d)throw new ko("Network simplex does not support self-loops: "+t.a+" "+t.a.c+" "+t.a.d);return Tp(t.a.c.g,t.a),Tp(t.a.d.c,t.a),t.a}function wA(t,e,n,r,i){r==(mL(),LG)&&i==LG?Wg(t,e)>Wg(t,n)?t.d=_k(t,n):t.b=_k(t,e):r==KG&&i==KG?Wg(t,e)Wg(t,n)&&(t.d=_k(t,n),t.b=_k(t,e)):Wg(t,e)0&&o>0?e++:r>0?n++:o>0?i++:n++}xb(t.f,new Rt)}function _A(t,e,n,r){var i,o,a,s,c;n.d.f!=e.f&&(fr(i=new Tk(t),(RT(),jF)),Ky(i,($L(),oq),n),Ky(i,(JL(),Hj),(bT(),mG)),r.c[r.c.length]=i,cv(a=new TT,i),Fh(a,(mL(),KG)),cv(s=new TT,i),Fh(s,LG),c=n.d,lv(n,a),M_(o=new jg,n),Ky(o,kj,null),hv(o,s),lv(o,c),bN(i,a,s))}function EA(t){var e,n,r,i,o,a,s;for(i=jP,a=jP,o=null,n=new lg(new ur(t.e));n.b!=n.c.a.b;)if(1==Uf((e=Fy(n)).d,60).c&&(r=Uf(e.e,116).a,s=Uf(e.e,116).b,(i-r>FP||r-iFP)&&(a=Uf(e.e,116).b,i=Uf(e.e,116).a,o=Uf(e.d,60),0==a&&0==i)))return o;return o}function kA(t,e){var n,r,i,o,a,s;return o=t.d,(s=Uf(kx(t,(JL(),Jj)),15).a)<0&&Ky(t,Jj,new Hn(s=0)),e.j.b=s,a=Math.floor(s/2),Fh(r=new TT,(mL(),KG)),cv(r,e),r.i.b=a,Fh(i=new TT,LG),cv(i,e),i.i.b=a,lv(t,r),M_(n=new jg,t),Ky(n,kj,null),hv(n,i),lv(n,o),function(t,e,n){var r;(r=e.c.f).g==(RT(),jF)?(Ky(t,($L(),eq),Uf(kx(r,eq),7)),Ky(t,nq,Uf(kx(r,nq),7))):(Ky(t,($L(),eq),e.c),Ky(t,nq,n.d))}(e,t,n),function(t,e){var n,r;for(r=new Kv(t.b,0);r.buD&&(this.b.ib(n),s=!1),this.b.ib(c);s&&this.b.ib(n)}function AA(t,e){var n,r,i,o,a,s,c;for(n=dP,RT(),s=GF,i=new Kn(e.a);i.a0?n:0,r.i.b=n+rf(t.a,o,s)):r.i.b=(Fd(a),a)),c=rf(t.a,o,s),r.i.bo?0:o)o?0:o:s,(0>(co?0:o)o?0:o:s)),o=c,c+=a,r=Uf(gd(t.c,i),9),(n=new Eu(u)).j.b=e.j.b,dN(t.b,e,n),Lf(r.c,n);Gy(t.g.c,e),Lf(t.i,new Ls(t,e))}function GA(t,e,n){var r,i,o,a,s,c;for(e.k=1,i=e.d,c=yE(e,(nw(),Rq)).mb();c.G();)for(r=new Kn(Uf(c.H(),7).e);r.ah+s&&r.I();for(a=new Kn(f);a.aFP||r-iFP)&&(a=Uf(e.e,116).b,i=Uf(e.e,116).a,o=Uf(e.d,60),0==a&&0==i)))return o;return o}function qA(){var t,e,n,r,i;for(this.e=(_l(),new ry),this.b=new Zf(n=Uf(ia(TU),11),Uf(Sp(n,n.length),11),0),this.c=new Zf(r=Uf(ia(TU),11),Uf(Sp(r,r.length),11),0),this.a=new Zf(i=Uf(ia(TU),11),Uf(Sp(i,i.length),11),0),e=(CL(),CL(),Yz).mb();e.G();)t=Uf(e.H(),60),Ik(this.e,t,new So)}function XA(t,e,n){var r,i,o,a;Na(t.k-t.a)a?new Fm(e,t,o-a):o>0&&a>0&&(new Fm(t,e,0),new Fm(e,t,0)))}function WA(t,e){var n,r,i,o,a,s,c,u;for(c=new Re,u=null,r=Uf(Ng(uY,t),20).mb();r.G();){for(s=new Vn(new Un((n=Uf(r.H(),75)).c.a).a.bb().mb());s.a.G();)i=Uf(s.a.H(),21),ef(e,o=Uf(i.yb(),7)),ON(o,t.b);ox(c,n.b),u=t.a}for(jC(c),Om(c,u),a=new Kn(c);a.an.k&&s1&&(o=n?Ic(e.d)+1:Ic(a.d)-1,uv(a,Uf(gd(t.a.c,o),16))),JA(t,a,n));return e}function tS(t,e){var n,r,i,o;for(i=e.d?t.a.c==(dv(),mz)?q_(e.b):X_(e.b):t.a.c==(dv(),yz)?q_(e.b):X_(e.b),o=!1,Xu(),r=new Pu(ju(Xf(i.a,new p)));tE(r);)if(n=Uf(Nv(r),12),t.c.a[n.c.f.d.k]!==t.c.a[n.d.f.d.k]&&(o=!0,ka(t.b,t.a.f[Zk(n,e.b).k])))return e.c=!0,e.a=n,e;return e.c=o,e.a=null,e}function eS(t){var e,n,r,i,o,a,s;for(o=new Kn(t.a.a);o.a0&&Ax(this.n,!0,(E_(),SR)),t.g==(RT(),DF)&&Sf(this.n,!1,!1,!1,!1)}function iS(t,e,n){var r,i,o,a,s,c,u,l;for(o=new ts(e,n),u=new Kn(t.b);u.ar?h:r)>t.j.a&&(u=(s-t.j.a)/2,a.b=Fo(a.b,u),a.c=Fo(a.c,u))}function gS(t,e,n,r){var i,o,a,s,c,u,l,h;for(a=Rl(e.d,n,r),l=new Kn(e.b);l.a=40)&&function(t){var e,n,r,i,o,a,s;for(t.o=new oi,r=new lo,a=new Kn(t.e.a);a.a0,s=fE(e,o),Du(n?s.c:s.g,e),1==eE(s).c.length&&Mb(r,s,r.c.b,r.c),i=new es(o,e),uu(t.o,i),Gy(t.e.a,o))}(t),function(t){var e,n,r,i,o,a,s,c,u,l;for(u=t.e.a.c.length,o=new Kn(t.e.a);o.a0){for(Wo(t.c);wN(t,Uf(Jv(new Kn(t.e.a)),61))0?(c=t.g)?(a=c.d,t.g=ES(c,e,n,r,i),0==i[0]&&++t.a,t.j=w_(t.j,r),t.g.d==a?t:$T(t)):(i[0]=0,_w(t,n,r)):(i[0]=t.c,Uc(n_(w_(t.c,r),yI)<=0),t.c+=r,t.j=w_(t.j,r),t)}function kS(t,e,n){var r,i,o,a,s,c,u,l;for(i=!0,a=new Kn(e.c);a.au&&r>u)){i=!1,t.a&&Pf();break}u=oo(n.n[s.k])+oo(n.d[s.k])+s.j.b+s.e.a}if(!i)break}return t.a&&Pf(),i}function TS(t){var e,n,r,i,o,a;if(pl(new Kn(r=Jk(t)))){for(a=new _g(0,0,t.e.j.a,t.e.j.b),n=new Kn(r);n.aa.i.b-a.e.d+u.a+h&&(f=c.i+u.i,u.a=(u.i*u.a+c.i*c.a)/f,u.i=f,c.g=u,n=!0)),o=a,c=u;return n}function LS(t){var e,n,r,i,o;if(Zc(kx(t,(JL(),Hj)))===Zc((bT(),wG))||Zc(kx(t,Hj))===Zc(mG))for(o=new Kn(t.f);o.aa)return mL(),LG;break;case 4:case 3:if(l<0)return mL(),IG;if(l+n>o)return mL(),$G}return(c=(u+s/2)/a)+(r=(l+n/2)/o)<=1&&c-r<=0?(mL(),KG):c+r>=1&&c-r>=0?(mL(),LG):r<.5?(mL(),IG):(mL(),$G)}function MS(t,e,n,r,i,o,a){var s,c,u,l,h;for(h=new ac,c=e.mb();c.G();)for(l=new Kn(xk(Uf(c.H(),627)));l.a0&&Of(t.e,o)):(t.c[a]-=u+1,t.c[a]<=0&&t.a[a]>0&&Of(t.d,o))))}function DS(t){var e,n,r,i,o,a,s,c;for(jx(),this.b=new Kt,this.c=new Re,this.a=new Re,s=0,c=(a=Rx()).length;s0){for(i=s.length;i>0&&""==s[i-1];)--i;i0&&0==i[0]&&++t.a,t.j=w_(t.j,r-i[0]),$T(t)):(i[0]=0,r>0?Ew(t,n,r):t):o>0?(s=t.g)?(t.g=HS(s,e,n,r,i),0==r&&0!=i[0]?--t.a:r>0&&0==i[0]&&++t.a,t.j=w_(t.j,r-i[0]),$T(t)):(i[0]=0,r>0?_w(t,n,r):t):(i[0]=t.c,0==r?VN(t):(t.j=w_(t.j,r-t.c),t.c=r,t))}function YS(t,e,n,r,i){var o,a,s;return(o=e.$b(n,t.b))<0?(a=t.e)?(t.e=YS(a,e,n,r,i),i[0]>0&&(r>=i[0]?(--t.a,t.j=__(t.j,i[0])):t.j=__(t.j,r)),0==i[0]?t:$T(t)):(i[0]=0,t):o>0?(s=t.g)?(t.g=YS(s,e,n,r,i),i[0]>0&&(r>=i[0]?(--t.a,t.j=__(t.j,i[0])):t.j=__(t.j,r)),$T(t)):(i[0]=0,t):(i[0]=t.c,r>=t.c?VN(t):(t.c-=r,t.j=__(t.j,r),t))}function zS(t,e,n){var r,i,o,a,s,c,u,l;for(c=new Kn(n.b);c.a0&&u>0&&qO(b,new ts(T,u),!0))),g=Fo(g,b.i.a+b.j.a),v=Fo(v,b.i.b+b.j.b),d=new Kn(b.c);d.ae.a&&(r.kb((PT(),CU))?t.d.a+=(n.a-e.a)/2:r.kb(AU)&&(t.d.a+=n.a-e.a)),n.b>e.b&&(r.kb((PT(),OU))?t.d.b+=(n.b-e.b)/2:r.kb(SU)&&(t.d.b+=n.b-e.b)),Uf(kx(t,($L(),WV)),18).kb((KA(),nV))&&(n.a>e.a||n.b>e.b))for(s=new Kn(t.b);s.a0||0==n&&e.f==(qu(),BD))&&(s=e.g,c=e.f):(i=e.c,s=e.g,c=e.f),r&&i&&((n=t.a.$b(o,s))>0||0==n&&a==(qu(),BD)&&c==(qu(),BD))&&(o=s,qu(),a=BD,c=GD),new cN(t.a,r,o,a,i,s,c)}function ZS(t,e,n,r){var i,o,a,s,c,u;if(n.c.f!=e.f)for(fr(i=new Tk(t),(RT(),jF)),Ky(i,($L(),oq),n),Ky(i,(JL(),Hj),(bT(),mG)),r.c[r.c.length]=i,cv(a=new TT,i),Fh(a,(mL(),KG)),cv(s=new TT,i),Fh(s,LG),lv(n,a),M_(o=new jg,n),Ky(o,kj,null),hv(o,s),lv(o,e),bN(i,a,s),u=new Kv(n.b,0);u.b=r&&u.a>=r&&(l.a=r),f.a<=n&&u.a<=n&&(d.a=n-10),1==e.c.a.Y()?nm(a.a,Nx(Mo(gR,1),KM,10,0,[l,h,p,d])):nm(a.a,Nx(Mo(gR,1),KM,10,0,[l,h,i,p,d]))}function QS(t,e){var n,r,i,o,a,s;for(o=t.c,a=t.d,hv(t,null),lv(t,null),e&&io(oo(Sh(kx(a,($L(),$V)))))?hv(t,WS(a.f,(nw(),Rq),(mL(),LG))):hv(t,a),e&&io(oo(Sh(kx(o,($L(),uq)))))?lv(t,WS(o.f,(nw(),Dq),(mL(),KG))):lv(t,o),r=new Kn(t.b);r.aoo(ul(a.g,a.d[0]).a)?(Lu(c.b>0),c.a.sb(c.c=--c.b),ef(c,a),i=!0):s.e&&s.e.Y()>0&&(o=(!s.e&&(s.e=new Re),s.e).nb(e),u=(!s.e&&(s.e=new Re),s.e).nb(n),(o||u)&&((!s.e&&(s.e=new Re),s.e).ib(a),++a.c));i||(r.c[r.c.length]=a)}function nO(t,e,n,r){var i,o,a,s,c,u,l,h,f,d,p;n.d.f!=e.f&&(fr(i=new Tk(t),(RT(),jF)),Ky(i,($L(),oq),n),Ky(i,(JL(),Hj),(bT(),mG)),r.c[r.c.length]=i,cv(a=new TT,i),Fh(a,(mL(),KG)),cv(s=new TT,i),Fh(s,LG),c=n.d,lv(n,a),M_(o=new jg,n),Ky(o,kj,null),hv(o,s),lv(o,c),h=(l=(u=Uf(gd(a.b,0),12).c).f).g,p=(d=(f=Uf(gd(s.e,0),12).d).f).g,Ky(i,eq,h==jF?Uf(kx(l,eq),7):u),Ky(i,nq,p==jF?Uf(kx(d,nq),7):f))}function rO(t,e){var n,r,i,o,a,s,c,u,l,h,f,d,p;for(a=e,h=e.d,u=e.c.f,f=e.d.f,l=Ic(u.d),d=Ic(f.d),s=l;se&&(t.a=e),t.b<0?t.b=0:t.b>n&&(t.b=n)}(u,t.j.a,t.j.b),Fh(s,IS(s,o)),a=Uf(kx(r,($L(),WV)),18),c=s.g,o.e){case 2:case 1:(c==(mL(),IG)||c==$G)&&a.ib((KA(),aV));break;case 4:case 3:(c==(mL(),LG)||c==KG)&&a.ib((KA(),aV))}else i=hE(o),s=WS(t,n,n==(nw(),Rq)?i:v_(i));return s}function uO(t){var e,n,r,i,o,a,s,c;for(r=ch(Wb(t.a)),i=new Zf(e=Uf(ia(TU),11),Uf(Sp(e,e.length),11),0);r.a.G()||r.b.mb().G();)s=(n=Uf(Nm(r),12)).c.g,c=n.d.g,s==(mL(),ZG)?c!=ZG&&(a=NE(c),Ky(n,($L(),Eq),a),Fh(n.c,c),mw(i,a),r.a.I()):c==ZG?(a=NE(s),Ky(n,($L(),Eq),a),Fh(n.d,s),mw(i,a),r.a.I()):(a=iO(s,c),Ky(n,($L(),Eq),a),mw(i,a),r.a.I());return 1==i.c?o=Uf(Qb(new qs(i)),60):(CL(),o=pU),dC(t,o,!1),o}function lO(t,e,n){var r,i,o,a,s,c,u,l,h;for(c=n+e.d.c.a,h=new Kn(e.f);h.a1,s=Ip(vu((og(),new sb(B_(Nx(Mo(TD,1),GI,1,4,[l.b,l.e]))))));tE(s);)u=(a=Uf(Nv(s),12)).c==l?a.d:a.c,Na(Vw(Nx(Mo(gR,1),KM,10,0,[u.f.i,u.i,u.a])).b-o.b)>1&&BN(t,a,o,i,l)}}function hO(t,e){var n,r,i,o,a;for(a=new Xx(new Yn(t.f.b).a);a.b;){if(i=Uf((o=Um(a)).yb(),251),1==e){if(i.yc()!=(E_(),LR)&&i.yc()!=NR)continue}else if(i.yc()!=(E_(),AR)&&i.yc()!=SR)continue;switch(r=Uf(Uf(o.zb(),27).b,25),n=Uf(Uf(o.zb(),27).a,78).c,i.yc().e){case 2:r.j.d=t.e.a,r.j.c=Fo(1,r.j.c+n);break;case 1:r.j.d=r.j.d+n,r.j.c=Fo(1,r.j.c-n);break;case 4:r.j.e=t.e.b,r.j.b=Fo(1,r.j.b+n);break;case 3:r.j.e=r.j.e+n,r.j.b=Fo(1,r.j.b-n)}}}function fO(t,e,n,r,i){var o,a,s,c,u,l,h,f;for(_l(),h=new kr,a=new Re,qC(t,n,t.d.Mc(),a,h),qC(t,r,t.d.Nc(),a,h),s=new Kv(a,0);s.b=l&&(y>l&&(u.c=Ty(TD,GI,1,0,4,1),l=y),u.c[u.c.length]=p);0!=u.c.length&&(c=Uf(gd(u,$k(e,u.c.length)),80),vg(N.a,c),c.d=h++,oA(c,T,_),u.c=Ty(TD,GI,1,0,4,1))}for(w=t.c.length+1,g=new Kn(t);g.aC.d&&(ug(n),Gy(C.b,r),r.c>0&&(r.a=C,Lf(C.e,r),r.b=E,Lf(E.b,r)))}(a,Uf(kx(e,($L(),bq)),154)),function(t){var e,n,r,i,o,a,s,c,u;for(c=new Re,a=new Re,o=new Kn(t);o.a-1){for(i=new Kn(a);i.a0||(s.i=Vo(s.i,r.i-1),--s.f,0==s.f&&(a.c[a.c.length]=s))}}(a),f=-1,l=new Kn(a);l.ah||r+i>c)throw new Xr;if(0!=(1&u.g)&&0==(4&u.g)||l==s)i>0&&vT(t,e,n,r,i,!0);else if(t===n&&er;)n[a]=t[--e];else for(a=r+i;r0&&0==o[0]&&++t.a,t.j=w_(t.j,i-o[0])),$T(t)):(o[0]=0,0==r&&i>0?Ew(t,n,i):t);if(a>0)return(c=t.g)?(t.g=gO(c,e,n,r,i,o),o[0]==r&&(0==i&&0!=o[0]?--t.a:i>0&&0==o[0]&&++t.a,t.j=w_(t.j,i-o[0])),$T(t)):(o[0]=0,0==r&&i>0?_w(t,n,i):t);if(o[0]=t.c,r==t.c){if(0==i)return VN(t);t.j=w_(t.j,i-t.c),t.c=i}return t}function vO(t){var e,n,r,i,o,a,s,c,u,l,h,f,d,p,g,v;for(c=t.e,d=t.f,a=t.d,l=(p=t.c)-1,g=t.g,h=Yf(t.g.xb(1,t.g.Y()-1)),u=new Re,n=0;n0&&(c=t.i.a/o);break;case 2:case 4:(i=t.f.j.b)>0&&(c=t.i.b/i)}Ky(t,($L(),dq),c)}if(s=t.j,r)t.a.a=r.a,t.a.b=r.b;else if(e!=_G&&e!=EG&&a!=ZG)switch(a.e){case 1:t.a.a=s.a/2;break;case 2:t.a.a=s.a,t.a.b=s.b/2;break;case 3:t.a.a=s.a/2,t.a.b=s.b;break;case 4:t.a.b=s.b/2}else t.a.a=s.a/2,t.a.b=s.b/2}(c,u,i,Uf(kx(c,Fj),10)),i.e){case 2:case 1:(c.g==(mL(),IG)||c.g==$G)&&o.ib((KA(),aV));break;case 4:case 3:(c.g==(mL(),LG)||c.g==KG)&&o.ib((KA(),aV))}}function wO(t){var e,n,r,i,o;for(r=new Re,o=new Kn(t.c.f);o.a=(g=t.d.c.c.c.length)-1)return null;for((i=new Re).c[i.c.length]=e,b=e,a=n,d=-1,s=Uf(gd(t.d.c.c,n),16),f=0;f1&&a1&&a>1;)u=jS(t,y),s=Uf(gd(t.d.c.c,a),16),l=Uf(gd(t.d.c.c,a-1),16),oT(y,g=Vo(Uf(p.sb(h++),24).a,l.a.c.length),l),oT(u,b,s),b=g,y&&(i.c[i.c.length]=y),y=u,--m,++o,--a;for(v=(r-(i.c.length-1)*t.d.d)/i.c.length,c=new Kn(i);c.a=0)return!1;if(n.e&&r==(RT(),PF)&&r!=n.e)return!1;if(e.k=n.b,Lf(n.f,e),n.e=r,r==(RT(),jF)||r==BF||r==PF)for(i=new Kn(e.f);i.a0&&(Ax(t.n,!1,(E_(),AR)),Ax(t.n,!0,SR))}function EO(t,e,n){var r,i,o,a;switch(o=t.i,i=Vw(Nx(Mo(gR,1),KM,10,0,[e.i,e.f.i])),r=Vw(Nx(Mo(gR,1),KM,10,0,[e.f.i,e.i,e.a])),a=e.d,e.g.e){case 4:o.a=zo(i.a,r.a)-a.b-t.j.a-n,o.b=Vw(Nx(Mo(gR,1),KM,10,0,[e.f.i,e.i,e.a])).b+n;break;case 2:o.a=Fo(i.a+e.j.a,r.a)+a.c+n,o.b=Vw(Nx(Mo(gR,1),KM,10,0,[e.f.i,e.i,e.a])).b+n;break;case 1:o.a=Vw(Nx(Mo(gR,1),KM,10,0,[e.f.i,e.i,e.a])).a+n,o.b=zo(i.b,r.b)-a.d-t.j.b-n;break;case 3:o.a=Vw(Nx(Mo(gR,1),KM,10,0,[e.f.i,e.i,e.a])).a+n,o.b=Fo(i.b+e.j.b,r.b)+a.a+n}}function kO(t,e,n){var r,i,o,a;switch(o=t.i,i=Vw(Nx(Mo(gR,1),KM,10,0,[e.i,e.f.i])),r=Vw(Nx(Mo(gR,1),KM,10,0,[e.f.i,e.i,e.a])),a=e.d,e.g.e){case 4:o.a=zo(i.a,r.a)-a.b-t.j.a-n,o.b=Vw(Nx(Mo(gR,1),KM,10,0,[e.f.i,e.i,e.a])).b-t.j.b-n;break;case 2:o.a=Fo(i.a+e.j.a,r.a)+a.c+n,o.b=Vw(Nx(Mo(gR,1),KM,10,0,[e.f.i,e.i,e.a])).b-t.j.b-n;break;case 1:o.a=Vw(Nx(Mo(gR,1),KM,10,0,[e.f.i,e.i,e.a])).a+n,o.b=zo(i.b,r.b)-a.d-t.j.b-n;break;case 3:o.a=Vw(Nx(Mo(gR,1),KM,10,0,[e.f.i,e.i,e.a])).a+n,o.b=Fo(i.b+e.j.b,r.b)+a.a+n}}function TO(){TO=a,hV=new kb("ONE_SIDED",0,!0,!1,!1),gV=new kb("TWO_SIDED",1,!1,!1,!1),fV=new kb("ONE_SIDED_BEST_OF_UP_OR_DOWN",2,!0,!0,!1),vV=new kb("TWO_SIDED_BEST_OF_UP_OR_DOWN",3,!1,!0,!1),dV=new kb("ONE_SIDED_BEST_OF_UP_OR_DOWN_ORTHOGONAL_HYPEREDGES",4,!0,!0,!0),bV=new kb("TWO_SIDED_BEST_OF_UP_OR_DOWN_ORTHOGONAL_HYPEREDGES",5,!1,!0,!0),pV=new kb("ONE_SIDED_ORTHOGONAL_HYPEREDGES",6,!0,!1,!0),lV=new kb("OFF",7,!1,!1,!1)}function CO(t,e,n,r,i,o,a){var s,c,u,l,h,f,d;return h=io(oo(Sh(kx(e,(ZL(),rX))))),f=null,o==(nw(),Dq)&&r.c.f==n?f=r.c:o==Rq&&r.d.f==n&&(f=r.d),u=a,a&&h&&!f?(Lf(a.e,r),d=Ho(Uf(kx(a.d,(JL(),Jj)),15).a,Uf(kx(r,Jj),15).a),Ky(a.d,Jj,new Hn(d))):(mL(),l=ZG,f?l=f.g:Vs(Uf(kx(n,(JL(),Hj)),28))&&(l=o==Dq?KG:LG),c=function(t,e,n,r,i,o){var a,s,c,u,l,h,f;return u=r==(nw(),Dq)?o.c:o.d,c=J_(e),u.f==n?(a=Uf(Jp(t.b,u),9))||(Ky(a=bL(u,Uf(kx(n,(JL(),Hj)),28),i,r==Dq?-1:1,u.j,c,e),($L(),oq),u),wg(t.b,u,a)):(l=Uf(kx(o,(JL(),Jj)),15).a,s=function(t,e,n,r){var i,o;switch(i=J_(Kp(n)),cv(o=new TT,n),r.e){case 1:Fh(o,v_(hE(i)));break;case 2:Fh(o,hE(i))}return Ky(o,($L(),iq),Uf(kx(e,iq),15)),Ky(e,oq,o),wg(t.b,o,e),o}(t,a=bL((h=new y,f=Uf(kx(e,($L(),wq)),15).a*Uf(kx(e,(ZL(),$q)),15).a/2,Ky(h,iq,new Hn(f)),h),Uf(kx(n,Hj),28),i,r==Dq?-1:1,new ts(l,l),c,e),n,r),Ky(a,oq,s),wg(t.b,s,a)),Uf(kx(e,($L(),WV)),18).ib((KA(),nV)),Vs(Uf(kx(e,(JL(),Hj)),28))?Ky(e,Hj,(bT(),xG)):Ky(e,Hj,(bT(),_G)),a}(t,e,n,o,l,r),s=gb((Kp(n),r)),o==Dq?(hv(s,Uf(gd(c.f,0),7)),lv(s,i)):(hv(s,i),lv(s,Uf(gd(c.f,0),7))),u=new S_(r,s,c,Uf(kx(c,($L(),oq)),7),o,!f)),dN(t.a,r,new vf(u.d,e,o)),u}function NO(t,e,n,r){var i,o,a,s,c,u,l;if(fr(o=new Tk(t),(RT(),BF)),Ky(o,(JL(),Hj),(bT(),mG)),i=0,e){for(Ky(a=new TT,($L(),oq),e),Ky(o,oq,e.f),Fh(a,(mL(),KG)),cv(a,o),c=0,u=(l=Uf(Yk(e.b,Ty(IF,CP,12,e.b.c.length,0,1)),47)).length;cf?l:f;for(uk(this,Vw(Nx(Mo(gR,1),KM,10,0,[t.f.i,t.i,t.a])).b,h,l),a=new Vn(new Un(e.a).a.bb().mb());a.a.G();)i=Uf(a.a.H(),21),o=Uf(i.yb(),27),Np(this.c,Uf(o.b,12));this.f=!1}function PO(t,e,n,r){var i,o,a,s,c;if(!((s=(JL(),Ij).b)in e.a)||!Sg(e,s).ic().a){if(!(c=Sg(e,$M)))throw new xp("Labels must have a property 'text'.",null,e);if(!c.lc())throw new xp("A label's 'text' property must be a string.",c,e);if(Ky(o=new Eu(c.lc().a),($L(),oq),e),wg(t.f,o,e),ZC(e,o),ET(e,o),dl(n,9)?Lf(Uf(n,9).c,o):dl(n,12)?Lf(Uf(n,12).b,o):dl(n,7)&&Lf(Uf(n,7).c,o),dl(n,12))switch(a=Uf(kx(o,gj),107),ZC(e,o),Ky(o,gj,a),i=Uf(kx(r,WV),18),a.e){case 2:case 3:i.ib((KA(),eV));case 1:case 0:i.ib((KA(),JU)),Ky(o,gj,(Gw(),PR))}}}function DO(t,e){var n,r,i,o,a,s,c,u,l,h,f,d,p,g,v;for(i=0,o=0,c=new Kn(t.a);c.a.5?v-=2*o*(d-.5):d<.5&&(v+=2*i*(.5-d)),v<(r=a.e.b)&&(v=r),p=a.e.c,v>g.a-p-u&&(v=g.a-p-u),a.i.a=e+v}}function RO(){RO=a,nF=new Ji,eF=bS(Nx(Mo(TR,1),GI,79,0,[(JL(),aj),mj])),QB=bS(Nx(Mo(TR,1),GI,79,0,[Pj,Yj,(ZL(),fX),wj,($L(),gq),gX,sX])),WB=bS(Nx(Mo(TR,1),GI,79,0,[cj,fj,Ij,yj,Ej,Cj,Nj,Wj,$j,_j,Bq,Vq,qq,nX,Zq,rX,dX,cX,Hq])),KB=bS(Nx(Mo(TR,1),GI,79,0,[Oj,Sj,Tj,Jj,Mj,pq,PV,AV,wq,uX,$q,eX])),ZB=bS(Nx(Mo(TR,1),GI,79,0,[Uj,sj,pj,vj,gj,bj,xj,Dj,Rj,jj,Gj,Bj,Hj,zj,Fq,Uq,iX,Xq,zq,oX,aX,Kq,Qq,tX,lX,hX,pX,vX,Jq])),$B=bS(Nx(Mo(TR,1),GI,79,0,[Lj,Zj,Kj,Yq])),tF=bS(Nx(Mo(TR,1),GI,79,0,[oj,lj,kj,Aj,Fj,qj])),JB=bS(Nx(Mo(TR,1),GI,79,0,[(Mx(),VB)]))}function jO(t){var e,n,r,i,o,a,s;for(e=0,o=new Kn(t.b.a);o.a0;){for(_y(0,s.c.length),d=Uf(s.c[0],12),_y(0,h.c.length),i=Qy((r=Uf(h.c[0],12)).d.b,r,0),Xv(d,r.d,i),hv(r,null),lv(r,null),f=d.a,e&&Of(f,new $c(v)),n=Sk(r.a,0);n.b!=n.d.c;)Of(f,new $c(Uf(Sb(n),10)));for(g=d.b,l=new Kn(r.b);l.a0?Lm(this,this.f/this.a):null!=ul(e.g,e.d[0]).a&&null!=ul(n.g,n.d[0]).a?Lm(this,(oo(ul(e.g,e.d[0]).a)+oo(ul(n.g,n.d[0]).a))/2):null!=ul(e.g,e.d[0]).a?Lm(this,ul(e.g,e.d[0]).a):null!=ul(n.g,n.d[0]).a&&Lm(this,ul(n.g,n.d[0]).a)}function HO(t,e){var n,r,i,o,a,s,c,u,l,h,f;switch(t.g.e){case 1:if(r=Uf(kx(t,($L(),oq)),12),(n=Uf(kx(r,aq),44))?io(oo(Sh(kx(r,mq))))&&(n=Tx(n)):n=new Fr,u=Uf(kx(t,eq),7),e<=(l=Vw(Nx(Mo(gR,1),KM,10,0,[u.f.i,u.i,u.a]))).a)return l.b;if(Mb(n,l,n.a,n.a.a),h=Uf(kx(t,nq),7),(f=Vw(Nx(Mo(gR,1),KM,10,0,[h.f.i,h.i,h.a]))).a<=e)return f.b;for(Mb(n,f,n.c.b,n.c),a=Uf(Sb(c=Sk(n,0)),10),s=Uf(Sb(c),10);s.a=2)for(Mg(t.a),r=0,f=Sk(n,0);f.b!=f.d.c;)h=Uf(Sb(f),10),0==r?(e=Mh(Mh(new ts(h.a,h.b),t.c.i),t.c.f.i),t.c.a.a=e.a,t.c.a.b=e.b):r==n.b-1?(e=Mh(Mh(new ts(h.a,h.b),t.d.i),t.d.f.i),t.d.a.a=e.a,t.d.a.b=e.b):Of(t.a,h),++r;if(l)for(c=Sk(t.a,0);c.b!=c.d.c;)s=Uf(Sb(c),10),a.a=Fo(a.a,s.a),a.b=Fo(a.b,s.b);for(o=new Kn(t.b);o.a0&&Ky(a,jV,(Vd(),Vd(),AX)),(s=Uf(kx(a,(JL(),Hj)),28))==(bT(),EG)||s!=_G&&r.ib((KA(),oV)),io(oo(Sh(kx(a,fj))))&&r.ib((KA(),tV)),io(oo(Sh(kx(a,_j))))&&(r.ib((KA(),iV)),r.ib(rV),Ky(a,Hj,_G)),a}function UO(t,e){e.V()&&Sf(t.n,!0,!0,!0,!0),e.t((mL(),GG))&&Sf(t.n,!0,!0,!0,!1),e.t(MG)&&Sf(t.n,!1,!0,!0,!0),e.t(qG)&&Sf(t.n,!0,!0,!1,!0),e.t(WG)&&Sf(t.n,!0,!1,!0,!0),e.t(BG)&&Sf(t.n,!1,!0,!0,!1),e.t(PG)&&Sf(t.n,!1,!0,!1,!0),e.t(XG)&&Sf(t.n,!0,!1,!1,!0),e.t(VG)&&Sf(t.n,!0,!1,!0,!1),e.t(zG)&&Sf(t.n,!0,!0,!0,!0),e.t(RG)&&Sf(t.n,!0,!0,!0,!0),e.t(zG)&&Sf(t.n,!0,!0,!0,!0),e.t(DG)&&Sf(t.n,!0,!0,!0,!0),e.t(UG)&&Sf(t.n,!0,!0,!0,!0),e.t(YG)&&Sf(t.n,!0,!0,!0,!0),e.t(HG)&&Sf(t.n,!0,!0,!0,!0)}function VO(t,e){var n,r,i,o,a,s,c,u,l;for(s=!0,i=0,c=t.f[e.k],u=e.j.b+t.n,n=t.c[e.k][2],Kb(t.a,c,W_(Uf(gd(t.a,c),24).a-1+n)),Kb(t.b,c,oo(Oh(gd(t.b,c)))-u+n*t.e),++c>=t.i?(++t.i,Lf(t.a,W_(1)),Lf(t.b,u)):(r=t.c[e.k][1],Kb(t.a,c,W_(Uf(gd(t.a,c),24).a+1-r)),Kb(t.b,c,oo(Oh(gd(t.b,c)))+u-r*t.e)),(t.q==(nA(),tY)&&(Uf(gd(t.a,c),24).a>t.j||Uf(gd(t.a,c-1),24).a>t.j)||t.q==rY&&(oo(Oh(gd(t.b,c)))>t.k||oo(Oh(gd(t.b,c-1)))>t.k))&&(s=!1),o=Ip(q_(e));tE(o);)a=Uf(Nv(o),12).c.f,t.f[a.k]==c&&(i+=Uf((l=VO(t,a)).a,24).a,s=s&&io(oo(Sh(l.b))));return t.f[e.k]=c,new es(W_(i+=t.c[e.k][0]),(Vd(),s?AX:NX))}function qO(t,e,n){var r,i,o,a,s,c,u,l,h,f,d,p,g,v,b;if(f=new $c(t.j),b=e.a/f.a,s=e.b/f.b,g=e.a-f.a,o=e.b-f.b,n)for(i=Zc(kx(t,(JL(),Hj)))===Zc((bT(),mG)),p=new Kn(t.f);p.a=1&&(v-a>0&&h>=0?(c.i.a+=g,c.i.b+=o*a):v-a<0&&l>=0&&(c.i.a+=g*v,c.i.b+=o));t.j.a=e.a,t.j.b=e.b,Ky(t,(JL(),Zj),(LE(),new Zf(r=Uf(ia(lB),11),Uf(Sp(r,r.length),11),0)))}function XO(t){var e,n,r,i,o,a,s,c,u,l;for(r=new Re,a=new Kn(t.e.a);a.a-1){for(r=Sk(a,0);r.b!=r.d.c;)(n=Uf(Sb(r),77)).n=o;for(;0!=a.b;)for(e=new Kn((n=Uf(rT(a,0),77)).d);e.a0),o.a.sb(o.c=--o.b),ef(o,n),Cp(c,n),ON(n,s.g),tb(c),tb(c),r.a.eb(n)}}function JO(t){var e,n,r,i,o,a,s,c;for(e=null,r=new Kn(t);r.a0&&0==n.c&&(!e&&(e=new Re),e.c[e.c.length]=n);if(e)for(;0!=e.c.length;){if((n=Uf(yy(e,0),102)).b&&n.b.c.length>0)for(!n.b&&(n.b=new Re),o=new Kn(n.b);o.aQy(t,n,0))return new es(i,n)}else if(oo(ul(i.g,i.d[0]).a)>oo(ul(n.g,n.d[0]).a))return new es(i,n);for(s=(!n.e&&(n.e=new Re),n.e).mb();s.G();)!(a=Uf(s.H(),102)).b&&(a.b=new Re),xy(0,(c=a.b).c.length),Ac(c.c,0,n),a.c==c.c.length&&(e.c[e.c.length]=a)}return null}function tL(t,e){var n,r,i,o,a,s,c,u,l;if(1!=tg(X_(e))||Uf(Uv(X_(e)),12).d.f.g!=(RT(),jF))return null;for(fr(n=(o=Uf(Uv(X_(e)),12)).d.f,(RT(),PF)),Ky(n,($L(),eq),null),Ky(n,nq,null),Ky(n,(JL(),Hj),Uf(kx(e,Hj),28)),Ky(n,Lj,Uf(kx(e,Lj),86)),i=kx(o.c,oq),a=null,u=mC(n,(mL(),LG)).mb();u.G();)if(0!=(s=Uf(u.H(),7)).e.c.length){Ky(s,oq,i),l=o.c,s.j.a=l.j.a,s.j.b=l.j.b,s.a.a=l.a.a,s.a.b=l.a.b,ox(s.c,l.c),l.c.c=Ty(TD,GI,1,0,4,1),a=s;break}if(Ky(o.c,oq,null),!ab(mC(e,LG)))for(c=new Kn(Wb(mC(e,LG)));c.a0?i+t.i[1]*e+t.n[1]:0,t.o[3]>0?i+t.i[3]*e+t.n[3]:0),Fo(t.o[4]>0?n+t.i[4]*e+t.n[4]:0,t.o[2]>0?n+t.i[2]*e+t.n[2]:0))}(t,t.k);break;case 4:r=new $c(a);break;case 5:r=function(t,e){var n,r,i,o,a;for(a=new uo,o=new Kn(fT(t));o.a0&&(o.a=Fo(o.a,i+t.q.b+t.q.c)),n>0&&(o.b=Fo(o.b,n+t.q.d+t.q.a))):(i>0&&(o.a=Fo(o.a,i)),n>0&&(o.b=Fo(o.b,n)))),function(t,e){t.e.j.a=e.a,t.e.j.b=e.b}(t.e,o)}}function nL(t,e,n){var r,i,o,a,s,c,u,l,h,f,d;if(!t.b)return!1;for(a=null,f=null,i=1,(c=new Vy(null,null)).a[1]=t.b,h=c;h.a[i];)u=i,s=f,f=h,h=h.a[i],i=(r=t.a.$b(e,h.d))<0?0:1,0==r&&(!n.c||Ag(h.e,n.d))&&(a=h),h&&h.b||qo(h.a[i])||(qo(h.a[1-i])?f=f.a[u]=ww(h,i):qo(h.a[1-i])||(d=f.a[1-u])&&(qo(d.a[1-u])||qo(d.a[u])?(o=s.a[1]==f?1:0,qo(d.a[u])?s.a[o]=eb(f,u):qo(d.a[1-u])&&(s.a[o]=ww(f,u)),h.b=s.a[o].b=!0,s.a[o].a[0].b=!1,s.a[o].a[1].b=!1):(f.b=!1,d.b=!0,h.b=!0)));return a&&(n.b=!0,n.d=a.e,h!=a&&(function(t,e,n,r){var i,o;for(i=null==(o=e).d||t.a.$b(n.d,o.d)>0?1:0;o.a[i]!=n;)o=o.a[i],i=t.a.$b(n.d,o.d)>0?1:0;o.a[i]=r,r.b=n.b,r.a[0]=n.a[0],r.a[1]=n.a[1],n.a[0]=null,n.a[1]=null}(t,c,a,l=new Vy(h.d,h.e)),f==a&&(f=l)),f.a[f.a[1]==h?1:0]=h.a[h.a[0]?0:1],--t.c),t.b=c.a[1],t.b&&(t.b.b=!1),n.b}function rL(t){var e,n,r,i,o,a,s,c,u,l,h,f,d,p;for(f=new Kn(t);f.a(b=r?Uf(kx(l,sz),24).a:kI)?c:b,m=new Kn(l.f);m.a=u&&x>=v&&(f+=p.i.b+g.i.b+g.a.b-w,++s));if(n)for(a=new Kn(y.b);a.a=u&&x>=v&&(f+=p.i.b+g.i.b+g.a.b-w,++s))}s>0&&(_+=f/s,++d)}d>0?(e.a=i*_/d,e.i=d):(e.a=0,e.i=0)}function sL(t,e){var n;if(t.e)throw new ko((Bh(vF),"The "+vF.j+vP));if(!function(t,e){return Xl(t.c,e)}(t.a,e))throw new Ai("The direction "+e+" is not supported by the CGraph instance.");if(e==t.d)return t;switch(n=t.d,t.d=e,n.e){case 0:switch(e.e){case 2:yx(t);break;case 1:nk(t),yx(t);break;case 4:HT(t),yx(t);break;case 3:HT(t),nk(t),yx(t)}break;case 2:switch(e.e){case 1:nk(t),uS(t);break;case 4:HT(t),yx(t);break;case 3:HT(t),nk(t),yx(t)}break;case 1:switch(e.e){case 2:nk(t),uS(t);break;case 4:nk(t),HT(t),yx(t);break;case 3:nk(t),HT(t),nk(t),yx(t)}break;case 4:switch(e.e){case 2:HT(t),yx(t);break;case 1:HT(t),nk(t),yx(t);break;case 3:nk(t),uS(t)}break;case 3:switch(e.e){case 2:nk(t),HT(t),yx(t);break;case 1:nk(t),HT(t),nk(t),yx(t);break;case 4:nk(t),uS(t)}}return t}function cL(t,e,n){var r,i,o,a,s,c,u,l;if(!t.a[e.d.k][e.k].e){for(t.a[e.d.k][e.k].e=!0,t.a[e.d.k][e.k].b=0,t.a[e.d.k][e.k].d=0,t.a[e.d.k][e.k].a=null,l=new Kn(e.f);l.a0&&(t.a[e.d.k][e.k].d+=LN(t.e,24)*KP*.07000000029802322-.03500000014901161,t.a[e.d.k][e.k].a=t.a[e.d.k][e.k].d/t.a[e.d.k][e.k].b)}}function uL(t,e){var n,r,i,o,a,s,c,u,l,h;for(r=new Kn(t.a.c);r.adP||e.k==xz&&uv?u:v}for(n.e.b+=u-s.b,h=new Kn(t.a);h.a1;)e=zo(i,t.c),fr(l=new Tk(t.e.c),(RT(),PF)),Ky(l,(JL(),Hj),Uf(kx(c,Hj),28)),Ky(l,Lj,Uf(kx(c,Lj),86)),l.k=t.e.b++,Lf(t.b,l),l.j.b=c.j.b,l.j.a=e,Fh(h=new TT,(mL(),LG)),cv(h,c),h.i.a=l.j.a,h.i.b=l.j.b/2,Fh(f=new TT,KG),cv(f,l),f.i.b=l.j.b/2,f.i.a=-f.j.a,hv(d=new jg,h),lv(d,f),c=l,Lf(t.e.c.b,c),--u,i-=t.c+t.e.d;for(new yT(t.d,t.b,t.c),a=new Kn(r);a.ae.a||e.p>t.a)){for(n=0,r=0,s=new Vn(new Un(t.o.a).a.bb().mb());s.a.G();)i=Uf(s.a.H(),21),o=Uf(i.yb(),7),cE(Vw(Nx(Mo(gR,1),KM,10,0,[o.f.i,o.i,o.a])).b,e.p,e.a)&&++n;for(c=new Vn(new Un(t.g.a).a.bb().mb());c.a.G();)i=Uf(c.a.H(),21),o=Uf(i.yb(),7),cE(Vw(Nx(Mo(gR,1),KM,10,0,[o.f.i,o.i,o.a])).b,e.p,e.a)&&--n;for(u=new Vn(new Un(e.o.a).a.bb().mb());u.a.G();)i=Uf(u.a.H(),21),o=Uf(i.yb(),7),cE(Vw(Nx(Mo(gR,1),KM,10,0,[o.f.i,o.i,o.a])).b,t.p,t.a)&&++r;for(a=new Vn(new Un(e.g.a).a.bb().mb());a.a.G();)i=Uf(a.a.H(),21),o=Uf(i.yb(),7),cE(Vw(Nx(Mo(gR,1),KM,10,0,[o.f.i,o.i,o.a])).b,t.p,t.a)&&--r;n1)for(c=Sk(Yf(mC(e,KG)),0);c.b!=c.d.c;)0==(s=Uf(Sb(c),7)).b.c.length?(Fh(i=new TT,KG),i.j.a=s.j.a,i.j.b=s.j.b,cv(i,r),Ky(i,oq,kx(s,oq)),cv(s,null)):cv(a,r);return Ky(e,oq,null),Ky(e,IV,NX),fr(e,PF),Ky(r,(JL(),Hj),Uf(kx(e,Hj),28)),Ky(r,Lj,Uf(kx(e,Lj),86)),Id(t.b,0,r),r}function bL(t,e,n,r,i,o,a){var s,c,u,l,h,f;switch(h=n,fr(u=new Tk(a),(RT(),DF)),Ky(u,($L(),XV),i),Ky(u,(JL(),Hj),(bT(),mG)),Ky(u,iq,Uf(kx(t,Mj),15)),!(c=Uf(kx(t,Fj),10))&&(c=new ts(i.a/2,i.b/2)),Ky(u,Fj,c),cv(l=new TT,u),e!=_G&&e!=EG||(s=o!=(E_(),OR)?o:SR,h=r>0?hE(s):v_(hE(s)),Ky(t,Uj,h)),h.e){case 4:Ky(u,(ZL(),tX),(qk(),Sq)),Ky(u,YV,(Dx(),RU)),u.j.b=i.b,Fh(l,(mL(),LG)),l.i.b=c.b;break;case 2:Ky(u,(ZL(),tX),(qk(),Lq)),Ky(u,YV,(Dx(),PU)),u.j.b=i.b,Fh(l,(mL(),KG)),l.i.b=c.b;break;case 1:Ky(u,KV,(jm(),_V)),u.j.a=i.a,Fh(l,(mL(),$G)),l.i.a=c.a;break;case 3:Ky(u,KV,(jm(),wV)),u.j.a=i.a,Fh(l,(mL(),IG)),l.i.a=c.a}if(e==yG||e==wG||e==mG){switch(f=0,h.e){case 4:case 2:case 1:case 3:f=null.cd,e==wG&&(f/=null.cd)}Ky(u,dq,f)}return Ky(u,qV,h),u}function yL(t){var e,n,r,i,o,a,s,c,u,l,h,f,d,p,g,v,b,y,m;for(u=new Fr,_l(),wg(b=new kr,t,UT(t)),Cm(2,dM),r=new cm(2),t.c&&Lf(r,t.c),t.d&&Lf(r,t.d),d=new Kn(r);d.a1&&Mb(u,p,u.c.b,u.c),Mm(n)));p=g}return u}function mL(){var t;mL=a,ZG=new ys(GM,0),IG=new ys("NORTH",1),LG=new ys("EAST",2),$G=new ys("SOUTH",3),KG=new ys("WEST",4),zg(),jG=new Ko(new Zf(t=Uf(ia(iB),11),Uf(Sp(t,t.length),11),0)),GG=G_(tp(IG,Nx(Mo(iB,1),FI,32,0,[]))),MG=G_(tp(LG,Nx(Mo(iB,1),FI,32,0,[]))),qG=G_(tp($G,Nx(Mo(iB,1),FI,32,0,[]))),WG=G_(tp(KG,Nx(Mo(iB,1),FI,32,0,[]))),zG=G_(tp(IG,Nx(Mo(iB,1),FI,32,0,[$G]))),RG=G_(tp(LG,Nx(Mo(iB,1),FI,32,0,[KG]))),VG=G_(tp(IG,Nx(Mo(iB,1),FI,32,0,[KG]))),BG=G_(tp(IG,Nx(Mo(iB,1),FI,32,0,[LG]))),XG=G_(tp($G,Nx(Mo(iB,1),FI,32,0,[KG]))),PG=G_(tp(LG,Nx(Mo(iB,1),FI,32,0,[$G]))),YG=G_(tp(IG,Nx(Mo(iB,1),FI,32,0,[LG,KG]))),DG=G_(tp(LG,Nx(Mo(iB,1),FI,32,0,[$G,KG]))),UG=G_(tp(IG,Nx(Mo(iB,1),FI,32,0,[$G,KG]))),FG=G_(tp(IG,Nx(Mo(iB,1),FI,32,0,[LG,$G]))),HG=G_(tp(IG,Nx(Mo(iB,1),FI,32,0,[LG,$G,KG])))}function wL(t,e,n){var r,i,o,a,s,c,u,l,h,f,d,p,g,v,b,y,m,w;if(Ky(l=new Bm,qB,e),wg(t.e,e,l),Ky(l,($L(),lq),n),t.d&&fC(t.d,l,!1),ET(e,l),rP in e.a&&(v=l.a,b=Uf(Sg(e,rP),69),(g=Uf(Sg(b,"left"),104))&&(v.b=g.a),(m=Uf(Sg(b,"top"),104))&&(v.d=m.a),(y=Uf(Sg(b,"right"),104))&&(v.c=y.a),(i=Uf(Sg(b,qM),104))&&(v.a=i.a)),h=new Zf(r=Uf(ia(yV),11),Uf(Sp(r,r.length),11),0),Ky(l,WV,h),null==t.g&&(t.g=Sh(kx(l,(qg(),rF)))),iP in e.a){if(!(w=Sg(e,iP)).hc())throw new xp("The 'children' property of nodes must be an array.",w,e);if((u=w.hc()).a.length>0){for(n&&Ky(n,rq,l),s=Ty(FF,oP,9,u.a.length,0,1),d=0;d1)for(Lf(o,new MO(d,y,n)),h=new Vn(new Un(y.a).a.bb().mb());h.a.G();)u=Uf(h.a.H(),21),Gy(i,Uf(u.yb(),27).b);if(a.a.Y()>1)for(Lf(o,new MO(d,a,n)),h=new Vn(new Un(a.a).a.bb().mb());h.a.G();)u=Uf(h.a.H(),21),Gy(i,Uf(u.yb(),27).b)}}function kL(t,e){var n,r,i,o,a,s,c,u,l;switch(xb(o=Wb(qf(e,new Jf(t))),new te),(i=t.b).c){case 2:Np(e,new VC(r=function(t,e,n,r){var i,o,a,s,c;for(c=0,o=new Kn(t.a.b);o.a.5&&i<50;)e=Na(XT(n,r=hA(n),!0).a),++i;return XT(t,(Fd(o=Oh(sk(Yf(t.g),Yf(t.g).b-1))),o-r),!1)}(h);break;case 2:case 4:h.a=m,y=function(t){var e,n,r,i,o;for(n=_S(vO(t)),e=jP,i=0,r=0;e>.5&&i<50;)e=Na(XT(n,r=fA(n),!0).b),++i;return XT(t,(Fd(o=Oh(sk(Yf(t.g),Yf(t.g).b-1))),o-r),!1)}(h);break;default:return null}return dr(h,new MC(Nx(Mo(gR,1),KM,10,0,[c,m,y,p,v]))),h}(t.a.c,e,t.a.d,r,Mk(t.b),n),gw(t.a.a,RE(s)),a=sC(t.a.b,s.a,t.b),tv(i=new Db((!s.k&&(s.k=new yC(vw(s))),s.k))),a?$p(i,a):i}(t,a=uw(n=Ru(qf(o,new kn(i.a))))?Uf(Cy(n),91).b:15,uw(n=Ru(qf(o,new kn(Mk(i)))))?Uf(Cy(n),91).b:15,uw(n=Ru(qf(o,new kn(i.b))))?Uf(Cy(n),91).b:15),t.c,t.e,t.a.c.f,i.a)),Np(e,new VC(r,t.c,t.e,t.a.c.f,Mk(i))),Np(e,new VC(r,t.c,t.e,t.a.c.f,i.b));break;case 1:Np(e,new VC(r=function(t,e,n){var r,i,o,a,s,c;for(c=t.b,o=0,i=new Kn(t.a.b);i.a0)if(r=l.Y(),c=wv(Math.floor((r+1)/2))-1,i=wv(Math.ceil((r+1)/2))-1,e.k==_z)for(u=i;u>=c;u--)e.a[m.k]==m&&(p=Uf(l.sb(u),27),d=Uf(p.a,9),!ka(n,p.b)&&f>t.b.e[d.k]&&(e.a[d.k]=m,e.f[m.k]=e.f[d.k],e.a[m.k]=e.f[m.k],f=t.b.e[d.k]));else for(u=c;u<=i;u++)e.a[m.k]==m&&(v=Uf(l.sb(u),27),g=Uf(v.a,9),!ka(n,v.b)&&f0||n.k==_z&&iv?d:v):n.n[e.k]=r>(d>v?d:v)?r:d>v?d:v)):(g=t.d.f,p=yw(t,n.i[e.k]),f=yw(t,n.i[h.k]),n.k==_z?qv(p,f,oo(n.n[e.k])+oo(n.d[a.k])+a.j.b+a.e.a+g-(oo(n.n[h.k])+oo(n.d[u.k])-u.e.d)):qv(p,f,oo(n.n[e.k])+oo(n.d[a.k])-a.e.d-oo(n.n[h.k])-oo(n.d[u.k])-u.j.b-u.e.a-g))):v=t.e.Ic(v,e,a),a=n.a[a.k]}while(a!=e);!function(t,e){Np(t.b,e)}(t.e,e)}}function LL(t,e,n,r){var i,o,a,s,c,u,l,h,f,d,p,g,v,b;if(f=!1,h=!1,Vs(Uf(kx(r,(JL(),Hj)),28))){a=!1,s=!1;t:for(p=new Kn(r.f);p.a=r.j.b/2}b?(v=Uf(kx(r,($L(),Nq)),20))?f?o=v:(i=Uf(kx(r,DV),20))?o=v.Y()<=i.Y()?v:i:(o=new Re,Ky(r,DV,o)):(o=new Re,Ky(r,Nq,o)):(i=Uf(kx(r,($L(),DV)),20))?h?o=i:(v=Uf(kx(r,Nq),20))?o=i.Y()<=v.Y()?i:v:(o=new Re,Ky(r,Nq,o)):(o=new Re,Ky(r,DV,o)),o.ib(t),Ky(t,($L(),RV),n),e.d==n?(lv(e,null),n.b.c.length+n.e.c.length==0&&cv(n,null)):(hv(e,null),n.b.c.length+n.e.c.length==0&&cv(n,null)),Mg(e.a)}function IL(t,e){var n,r,i,o,a,s,c,u,l,h,f,d,p,g,v,b,y;for((n=new kk(e)).a||function(t){var e,n,r,i,o;switch(i=Uf(gd(t.b,0),9),e=new Tk(t),Lf(t.b,e),e.j.a=Fo(1,i.j.a),e.j.b=Fo(1,i.j.b),e.i.a=i.i.a,e.i.b=i.i.b,Uf(kx(i,($L(),qV)),32).e){case 4:e.i.a+=2;break;case 1:e.i.b+=2;break;case 2:e.i.a-=2;break;case 3:e.i.b-=2}cv(r=new TT,e),hv(n=new jg,o=Uf(gd(i.f,0),7)),lv(n,r),Ih(Lc(r.i),o.i),Ih(Lc(r.a),o.a)}(e),u=function(t){var e,n,r,i,o,a,s;for(s=new Cb,a=new Kn(t.b);a.a=s.b.c)&&(s.b=e),(!s.c||e.c<=s.c.c)&&(s.d=s.c,s.c=e),(!s.e||e.d>=s.e.d)&&(s.e=e),(!s.f||e.d<=s.f.d)&&(s.f=e);return r=new hk((jw(),yF)),Lb(t,CF,new Qn(Nx(Mo(bF,1),GI,160,0,[r]))),a=new hk(xF),Lb(t,TF,new Qn(Nx(Mo(bF,1),GI,160,0,[a]))),i=new hk(mF),Lb(t,kF,new Qn(Nx(Mo(bF,1),GI,160,0,[i]))),o=new hk(wF),Lb(t,EF,new Qn(Nx(Mo(bF,1),GI,160,0,[o]))),cA(r.c,yF),cA(i.c,mF),cA(o.c,wF),cA(a.c,xF),s.a.c=Ty(TD,GI,1,0,4,1),ox(s.a,r.c),ox(s.a,Sw(i.c)),ox(s.a,o.c),ox(s.a,Sw(a.c)),s}(u)),n}function ML(t,e){var n,r,i,o,a,s,c,u,l,h,f,d,p,g,v,b,y,m,w,x,_,E,k,T,C;return h=function(t,e){var n,r,i,o,a,s,c,u,l,h,f;if(t.V())return new uo;for(c=0,l=0,r=t.mb();r.G();)c=Fo(c,(i=Uf(r.H(),55).e).a),l+=i.a*i.b;for(c=Fo(c,Math.sqrt(l)*Uf(kx(Uf(t.mb().H(),55),($L(),AV)),15).a),h=0,f=0,s=0,n=e,a=t.mb();a.G();)h+(u=(o=Uf(a.H(),55)).e).a>c&&(h=0,f+=s+e,s=0),iS(o,h,f),n=Fo(n,h+u.a),s=Fo(s,u.b),h+=u.a+e;return new ts(n+e,f+s+e)}(fl(t,(mL(),jG)),e),p=Ok(fl(t,GG),e),w=Ok(fl(t,qG),e),k=Lk(fl(t,WG),e),f=Lk(fl(t,MG),e),y=Ok(fl(t,VG),e),g=Ok(fl(t,BG),e),_=Ok(fl(t,XG),e),x=Ok(fl(t,PG),e),T=Lk(fl(t,RG),e),b=Ok(fl(t,zG),e),m=Ok(fl(t,YG),e),E=Ok(fl(t,DG),e),C=Lk(fl(t,UG),e),d=Lk(fl(t,FG),e),v=Ok(fl(t,HG),e),n=xm(Nx(Mo(sW,1),NI,26,12,[y.a,k.a,_.a,C.a])),r=xm(Nx(Mo(sW,1),NI,26,12,[p.a,h.a,w.a,v.a])),i=b.a,o=xm(Nx(Mo(sW,1),NI,26,12,[g.a,f.a,x.a,d.a])),u=xm(Nx(Mo(sW,1),NI,26,12,[y.b,p.b,g.b,m.b])),c=xm(Nx(Mo(sW,1),NI,26,12,[k.b,h.b,f.b,v.b])),l=T.b,s=xm(Nx(Mo(sW,1),NI,26,12,[_.b,w.b,x.b,E.b])),vy(fl(t,jG),n+i,u+l),vy(fl(t,HG),n+i,u+l),vy(fl(t,GG),n+i,0),vy(fl(t,qG),n+i,u+l+c),vy(fl(t,WG),0,u+l),vy(fl(t,MG),n+i+r,u+l),vy(fl(t,BG),n+i+r,0),vy(fl(t,XG),0,u+l+c),vy(fl(t,PG),n+i+r,u+l+c),vy(fl(t,RG),0,u),vy(fl(t,zG),n,0),vy(fl(t,DG),0,u+l+c),vy(fl(t,FG),n+i+r,0),(a=new uo).a=xm(Nx(Mo(sW,1),NI,26,12,[n+r+i+o,T.a,m.a,E.a])),a.b=xm(Nx(Mo(sW,1),NI,26,12,[u+c+l+s,b.b,C.b,d.b])),a}function PL(t,e){var n,r,i,o,a,s,c,u,l,h,f,d,p,g;if(r=new Fr,u=null,(d=(p=t.c).f.g)!=(RT(),GF)&&d!=BF)throw new so("The target node of the edge must be a normal node or a northSouthPort.");for(d==BF&&(f=Uf(kx(p,($L(),oq)),7),u=new ts(Vw(Nx(Mo(gR,1),KM,10,0,[f.f.i,f.i,f.a])).a,Vw(Nx(Mo(gR,1),KM,10,0,[p.f.i,p.i,p.a])).b),p=f),cs(r,Vw(Nx(Mo(gR,1),KM,10,0,[p.f.i,p.i,p.a]))),a=Fo(5,AE(p.f,p.g)),(h=new wp(eT(p.g))).a*=a,h.b*=a,Of(r,Ih(h,Vw(Nx(Mo(gR,1),KM,10,0,[p.f.i,p.i,p.a])))),u&&Mb(r,u,r.c.b,r.c),o=t,c=t,s=null,n=!1;o;)0!=(i=o.a).b&&(n?(Of(r,al(Ih(s,(Lu(0!=i.b),Uf(i.a.a.c,10))),.5)),n=!1):n=!0,s=wu((Lu(0!=i.b),Uf(i.c.b.c,10))),gw(r,i),Mg(i)),c=o,o=Uf(Kc(vv(e.d,o)),12);(g=c.d).f.g==BF&&(f=Uf(kx(g,($L(),oq)),7),Of(r,new ts(Vw(Nx(Mo(gR,1),KM,10,0,[f.f.i,f.i,f.a])).a,Vw(Nx(Mo(gR,1),KM,10,0,[g.f.i,g.i,g.a])).b)),g=f),a=Fo(5,AE(g.f,g.g)),al(h=new wp(eT(g.g)),a),Of(r,Ih(h,Vw(Nx(Mo(gR,1),KM,10,0,[g.f.i,g.i,g.a])))),cs(r,Vw(Nx(Mo(gR,1),KM,10,0,[g.f.i,g.i,g.a]))),l=new JS(r),gw(t.a,RE(l))}function DL(t){var e,n,r,i,o,a,s,c,u,l,h,f,d,g;if(Zc(kx(t.c,(JL(),Hj)))===Zc((bT(),wG))||Zc(kx(t.c,Hj))===Zc(mG))for(l=new Kn(t.c.f);l.a1&&(a=zo(a,Na(Uf(sk(s.a,1),10).b-l.b)))));else for(p=new Kn(e.f);p.ai&&(o=f.a-i,a=yI,r.c=Ty(TD,GI,1,0,4,1),i=f.a),f.a>=i&&(r.c[r.c.length]=s,s.a.b>1&&(a=zo(a,Na(Uf(sk(s.a,s.a.b-2),10).b-f.b)))));if(0!=r.c.length&&o>e.j.a/2&&a>e.j.b/2){for(cv(d=new TT,e),Fh(d,(mL(),IG)),d.i.a=e.j.a/2,cv(g=new TT,e),Fh(g,$G),g.i.a=e.j.a/2,g.i.b=e.j.b,c=new Kn(r);c.a=u.b?hv(s,g):hv(s,d)):(u=Uf(xf(s.a),10),(0==s.a.b?Gv(s.c):Uf(Fl(s.a),10)).b>=u.b?lv(s,g):lv(s,d)),(h=Uf(kx(s,(JL(),kj)),44))&&wE(h,u,!0);e.i.a=i-e.j.a/2}}function jL(t,e){var n,r,i,o,a,s,c,u,l,h,f,d,p,g,v,b,y,m;for(b=new Re,y=new Re,m=new Re,o=new Kn(e);o.a50?b.c[b.c.length]=i:i.k>0?y.c[y.c.length]=i:m.c[m.c.length]=i;if(1==y.c.length&&0==b.c.length&&(ox(b,y),y.c=Ty(TD,GI,1,0,4,1)),0!=b.c.length&&Xl(su(t.a),(CL(),$z))&&Xl(su(t.a),(CL(),Kz))?function(t,e){var n,r,i;for(r=new Kn(e);r.a1&&(dC(i,g=Uf(Nm(c),60),!0),fp(l),ov(t.a,g))}for(f=m.c.length,r=function(t){var e,n,r,i;switch(cu(t.a).c){case 4:return CL(),Kz;case 3:return Uf(function(t){var e;return CL(),CL(),e=Uz,t.d&&FC(t),function(){throw new Kr}(),e}(t.a).mb().H(),60);case 2:return e=Uf(Qb(n=new qs(r=cu(t.a))),60),i=Uf(Qb(n),60),gA(e)==i?Xl(r,(CL(),Kz))?Vz:Kz:pA(pA(e))==i?pA(e):vA(e);case 1:return gA(Uf(Qb(new qs(r=cu(t.a))),60));case 0:return CL(),Qz;default:return null}}(t),d=new Re,a=f/au(t.a).c|0,s=0;s3&&(ox(d,(CL(),CL(),zz)),p-=4),p){case 3:Lf(d,gA(r));case 2:v=pA(gA(r));do{v=pA(v)}while(!Xl(su(t.a),v));d.c[d.c.length]=v,v=vA(gA(r));do{v=vA(v)}while(!Xl(su(t.a),v));d.c[d.c.length]=v;break;case 1:Lf(d,gA(r))}for(h=new Kn(d),u=new Kn(m);h.ayM)&&s<10);go(t.c,new L),jO(t),function(t){sL(t,(E_(),AR)),t.e=!0}(t.c),function(t){var e,n,r,i,o,a,s;for(i=new Kn(t.a.b);i.a0,v=m.e.c.length>0,u&&v?f.c[f.c.length]=m:u?p.c[p.c.length]=m:v&&(y.c[y.c.length]=m);for(d=new Kn(p);d.a=g&&(m>g&&(p.c=Ty(TD,GI,1,0,4,1),g=m),p.c[p.c.length]=a);0!=p.c.length&&(d=Uf(gd(p,$k(e,p.c.length)),77),A.a.eb(d),d.i=v++,aA(d,C,E),p.c=Ty(TD,GI,1,0,4,1))}for(x=t.c.length+1,s=new Kn(t);s.aN.i&&(ug(n),Gy(N.d,r),r.c>0&&(r.a=N,Lf(N.j,r),r.b=k,Lf(k.d,r)))}function YL(t){switch(t.e){case 14:return new Z;case 37:return new Q;case 8:return new Ki;case 30:return new Qi;case 38:return new tt;case 3:return new et;case 47:case 1:return new bn((Px(),KF));case 4:return new nt;case 49:return new rt;case 23:return new ne;case 13:return new it;case 34:return new at;case 40:return new st;case 35:return new lt;case 44:return new Uu;case 28:return new ht;case 39:return new ft;case 27:return new dt;case 6:return new pt;case 31:return new yt;case 9:return new Te;case 43:return new wt;case 17:return new xt;case 18:return new kt;case 29:return new Ce;case 11:return new It;case 12:return new Ct;case 36:return new Nt;case 46:case 0:return new bn((Px(),ZF));case 41:return new St;case 15:return new Ot;case 33:return new Lt;case 42:return new Pt;case 22:return new Dt;case 19:return new bt;case 10:return new At;case 7:return new jt;case 24:return new Gt;case 21:return new Bt;case 16:return new Ht;case 45:return new Yt;case 26:return new zt;case 20:return new Ut;case 25:return new Vt;case 5:return new Qt;case 32:return new Jt;case 48:case 2:return new bn((Px(),$F));default:throw new so("No implementation is available for the layout processor "+(null!=t.d?t.d:""+t.e))}}function zL(t,e,n){var r,i,o,a,s,c,u,l,h,f,d,p,g,v,b,y,m,w,x,_,E,k,T,C,N,A,S;for(N=0,o=0,l=e[0].d,E=n[0].d,d=0,g=n.length;d0;){for(Lu(_.b>0),x=0,i=new Kn((m=Uf(_.a.sb(_.c=--_.b),7)).b);i.a0&&(m.g==(mL(),IG)?(t.a[m.k]=N,++N):(t.a[m.k]=N+b+y,++y),o+=x)}N+=y}else{for(v=0,w=new Kn(h.f);w.a0&&(++N,o+=v)}for(k=Ty(iW,vM,26,o,12,1),s=0,f=0,p=e.length;f0;)c%2>0&&(r+=A[c+1]),++A[c=(c-1)/2|0];return r}function UL(t,e){var n,r,i,o,a,s,c,u,l,h,f,d,p,g,v,b,y,m,w,x,_,E,k,T,C,N,A,S,O;for(HE(e,"Compound graph postprocessor",1),n=io(oo(Sh(kx(t,(ZL(),Bq))))),s=Uf(kx(t,($L(),FV)),144),h=new Ji,_=s.W().mb();_.G();){for(x=Uf(_.H(),12),xb(a=new df(s.U(x)),new cn(t)),C=cw((_y(0,a.c.length),Uf(a.c[0],114))),A=sw(Uf(gd(a,a.c.length-1),114)),Mg(x.a),k=C.f,E=R_(A.f,k)?Uf(kx(k,rq),55):Kp(k),p=Uf(kx(x,(JL(),kj)),44),Ad(a,OF)?p?Mg(p):(p=new Fr,Ky(x,kj,p)):p&&Ky(x,kj,null),v=null,o=new Kn(a);o.aEP,O=Na(v.b-m.b)>EP,(!n&&S&&O||n&&(S||O))&&Of(x.a,T)),gw(x.a,r),0==r.b?v=T:(Lu(0!=r.b),v=Uf(r.c.b.c,10)),(y=Uf(kx(b,kj),44))&&(Yx(d=new Fr,0,y),Pw(d,w),gw(p,d)),sw(i)==A&&(Kp(A.f)!=i.a&&IN(w=new uo,Kp(A.f),E),Ky(x,Cq,w)),g=new Kv(b.b,0);g.b1){x=Ty(PX,hI,15,t.a.length,0,1),u=Ol(t.a.length),p=0,d=0,n=2*e.d.a.c.length+1;t:for(w=new Kn(e.f);w.a0?(x[m.k]=new Hn(C/(m.b.c.length+m.e.c.length)),p=Uo(p,x[m.k].a),d=Ho(d,x[m.k].a)):v&&(x[m.k]=new Hn(C))}for(g=(e.d?Qy(e.d.a,e,0):-1)+1,f=e.d.a.c.length+1,c=new Kn(u);c.an&&g.a.db(m,g);for(A=new Ji,v=new Ji,x=new Vn(new Un(N.a).a.bb().mb());x.a.G();)for(h=Uf(x.a.H(),21),m=Uf(h.yb(),9),a=1==e?X_(m):q_(m),Xu(),u=new Pu(ju(Xf(a.a,new p)));tE(u);)c=Uf(Nv(u),12),Ic(m.d)!=Ic(c.d.f.d)&&Np(A,c.d.f);for(_=new Vn(new Un(g.a).a.bb().mb());_.a.G();)for(h=Uf(_.a.H(),21),m=Uf(h.yb(),9),a=1==e?X_(m):q_(m),Xu(),u=new Pu(ju(Xf(a.a,new p)));tE(u);)c=Uf(Nv(u),12),Ic(m.d)!=Ic(c.d.f.d)&&Np(v,c.d.f);for(QF&&Pf(),T=Uf(gd(t.d.c.c,r+(1==e?1:-1)),16),b=kI,y=yI,f=0;ff?b:f:v.a.R(m)&&(y=y1||tg(vu(new sb(B_(Nx(Mo(TD,1),GI,1,4,[y.b,y.e])))))>1)&&i.ib((KA(),rV)),Zc(kx(p,(ZL(),zq)))===Zc((lb(),qY))&&!(JM in e.a)){n=new Fr;try{for(s=Sg(e,JM).hc(),o=0;o0&&(t.a[B.k]=W++)}else{for(M=0,F=new Kn(C.f);F.a0&&++W}for(J=0,S=0,I=n.length;S0;){for(Lu(z.b>0),Y=0,s=new Kn((B=Uf(z.a.sb(z.c=--z.b),7)).b);s.a0&&(B.g==(mL(),IG)?(t.a[B.k]=J,++J):(t.a[B.k]=J+P+R,++R))}J+=R}else{for(M=0,F=new Kn(C.f);F.a0&&++J}for(_l(),H=new kr,d=new Iu,N=0,O=e.length;Nu.b&&(u.b=U)):B.f.d==X&&(Uu.c&&(u.c=U));for(Hk(p,0,p.length,(ec(),ec(),HX)),Q=Ty(iW,vM,26,p.length,12,1),r=Ty(iW,vM,26,J+1,12,1),v=0;v0;)_%2>0&&(i+=nt[_+1]),++nt[_=(_-1)/2|0];for(k=Ty(rz,GI,156,2*p.length,0,1),m=0;m0&&(45==t.charCodeAt(0)||43==t.charCodeAt(0))?1:0;eyI)throw new Zo(EI+t+'"');return i}((si(),""+n.jc().a))),void Ky(t,f,g)}catch(t){throw dl(t=r_(t),130)?new zi("Invalid integer format for property '"+e+cP+n+")."):D_(t)}else{if(Uf(WB.a,18).kb(e)){if(!n.ic())throw new zi(sP+e+cP+n+").");return f=Uf(Uf(WB.b,57).cb(e),79),Vd(),void Ky(t,f,g=n.ic().a?AX:NX)}if(Uf(KB.a,18).kb(e)){if(!n.jc())throw new zi("Invalid float format for property '"+e+cP+n+").");return void Ky(t,f=Uf(Uf(KB.b,57).cb(e),79),g=new Fn(n.jc().a))}if(Uf(ZB.a,18).kb(e)){if(!n.lc())throw new zi(uP+e+cP+n+").");u=n.lc().a,l=null;try{c_((JL(),Uj),e)?(mL(),l=Uf(p_((fy(),JG),u),32)):c_(sj,e)?(fk(),l=Uf(p_((Iy(),CR),u),103)):c_(pj,e)?(E_(),l=Uf(p_((hy(),MR),u),59)):c_(vj,e)?(k_(),l=Uf(p_((zb(),VR),u),122)):c_(xj,e)?(T_(),l=Uf(p_((mb(),ij),u),166)):c_(Dj,e)||c_(Rj,e)||c_(jj,e)||c_(Gj,e)||c_(Bj,e)?(OE(),l=Uf(p_((dy(),bG),u),100)):c_(Hj,e)?(bT(),l=Uf(p_((Py(),TG),u),28)):c_(zj,e)?(Rm(),l=Uf(p_((yb(),OG),u),149)):c_(bj,e)?(DT(),l=Uf(p_((My(),JR),u),133)):c_(gj,e)?(Gw(),l=Uf(p_((Yb(),BR),u),107)):c_((ZL(),Uq),e)?(Vg(),l=Uf(p_((Bv(),LY),u),193)):c_(iX,e)?(fm(),l=Uf(p_((wb(),GY),u),173)):c_(Xq,e)?(mT(),l=Uf(p_((vm(),UU),u),115)):c_(Fq,e)?(Gm(),l=Uf(p_((qb(),Az),u),194)):c_(zq,e)?(lb(),l=Uf(p_((Hv(),$Y),u),192)):c_(aX,e)?(nA(),l=Uf(p_((pm(),cY),u),109)):c_(oX,e)?(Vk(),l=Uf(p_((gm(),vz),u),141)):c_(lX,e)?(pC(),l=Uf(p_((Dy(),xY),u),125)):c_(hX,e)?(Nb(),l=Uf(p_((Fv(),dY),u),175)):c_(Kq,e)?(MT(),l=Uf(p_((tw(),QU),u),124)):c_(Qq,e)?(TO(),l=Uf(p_((Fw(),mV),u),110)):c_(tX,e)?(qk(),l=Uf(p_((bm(),Pq),u),85)):c_(pX,e)?(ME(),l=Uf(p_((Oy(),xX),u),153)):c_(vX,e)?(Bw(),l=Uf(p_((Ly(),CX),u),172)):c_(Jq,e)&&(cb(),l=Uf(p_((Xb(),NV),u),174))}catch(t){throw dl(t=r_(t),54)?new zi(uP+e+cP+n+")."):D_(t)}return void Ky(t,f=Uf(Uf(ZB.b,57).cb(e),79),l)}if(Uf($B.a,18).kb(e)){if(!n.lc())throw new zi(uP+e+cP+n+").");for(d=null,a=0,s=(c=BS(n.lc().a,"[\\[\\]\\s,]+")).length;a0&&_x(e.charCodeAt(n-1),CM);)--n;if(r>=n)throw new so("The given string does not contain any numbers.");if(2!=(i=BS(e.substr(r,n-r),",|;|\r|\n")).length)throw new so("Exactly two numbers are expected, "+i.length+" were found.");try{t.a=IT(gT(i[0])),t.b=IT(gT(i[1]))}catch(t){throw dl(t=r_(t),130)?new so(NM+t):D_(t)}}(p=new uo,n.lc().a),void Ky(t,f=Uf(Uf(tF.b,57).cb(e),79),p)}catch(t){throw dl(t=r_(t),29)?new zi("Invalid KVector format for property '"+e+"' "+n+"."):D_(t)}else if(c_(lj,e)||c_(kj,e))try{return function(t,e){var n,r,i,o,a;r=BS(e,",|;|\\(|\\)|\\[|\\]|\\{|\\}| |\t|\n"),Mg(t);try{for(n=0,o=0,i=0,a=0;n0&&(o%2==0?i=IT(r[n]):a=IT(r[n]),o>0&&o%2!=0&&Of(t,new ts(i,a)),++o),++n}catch(t){throw dl(t=r_(t),130)?new so("The given string does not match the expected format for vectors."+t):D_(t)}}(v=new Fr,n.lc().a),void Ky(t,f=Uf(Uf(tF.b,57).cb(e),79),v)}catch(t){throw dl(t=r_(t),29)?new zi("Invalid KVectorChain format for property '"+e+"' "+n+"."):D_(t)}else if(c_(Aj,e)||c_(oj,e))try{return function(t,e){var n,r,i,o,a,s,c,u;for(o=0;o<(si(),e.length)&&Ex(e.charCodeAt(o),TM);)++o;for(n=e.length;n>0&&Ex(e.charCodeAt(n-1),CM);)--n;if(o1?Mv(this,t-1):this,e},eI.Pc=function(){return Bh(this),this.b},eI.Qc=function(){return na(this)},eI.Rc=function(){return ra(this)},eI.Sc=function(){return 0!=(4&this.g)},eI.Tc=function(){return 0!=(1&this.g)},eI.w=function(){return(0!=(2&this.g)?"interface ":0!=(1&this.g)?"":"class ")+(Bh(this),this.n)},eI.g=0,ZN(119,72,{3:1,119:1,54:1,46:1},Vr),ZN(29,72,_I,qr,so),ZN(95,72,dI,Xr,ao),ZN(231,1,{3:1,231:1}),ZN(24,231,{3:1,23:1,24:1,231:1},Mn),eI.F=function(t){return function(t,e){return Bu(t.a,e.a)}(this,Uf(t,24))},eI.t=function(t){return dl(t,24)&&Uf(t,24).a==this.a},eI.v=function(){return this.a},eI.w=function(){return ca(this.a)},eI.a=0,cI={3:1,345:1,23:1,2:1},ZN(350,1,TI,ae),eI.$b=function(t,e){return function(t,e){return Tg((si(),t.toLowerCase()),e.toLowerCase())}(Lh(t),Lh(e))},ZN(257,95,dI,(function(t){ao.call(this,t)})),ZN(145,1,{23:1,145:1}),eI.F=function(t){return function(t,e){return function(t,e){return Tg((si(),t.toLowerCase()),e.toLowerCase())}(t.a,e.a)}(this,Uf(t,145))},eI.t=function(t){var e;return t===this||!!dl(t,145)&&(e=Uf(t,145),ji(this.a,e.a))},eI.v=function(){return dk(this.a)},eI.w=function(){return this.a},ZN(358,29,_I,(function(t){so.call(this,(si(),null==t?pI:t))})),ZN(256,29,{3:1,54:1,29:1,46:1,256:1},(function(t){so.call(this,(si(),null==t?pI:t))})),ZN(185,145,CI),ZN(289,185,CI,(function(t){Pn.call(this,t)})),eI.Zc=function(t,e,n){var r,i;for(r=Ty(aW,NI,26,n,12,1),i=0;in)throw new ao(AI)}for(a=Ty(aW,NI,26,o,12,1),l=0,s=0,c=0;c0;){if(128!=(192&(r=t[e+c++])))throw new so("Invalid UTF8 sequence at "+(e+c-1)+", byte="+(r>>>0).toString(16));i=i<<6|63&r}l+=Kk(i,a,l)}return a};var kD,TD=Bp(OI,"Object",1),CD=Bp(OI,"Throwable",46),ND=(Bp(OI,"Exception",54),Bp(OI,"RuntimeException",72),Bp(LI,"JavaScriptException",164),Bp(II,"StackTraceCreator/Collector",642),Bp(II,"StackTraceCreator/CollectorLegacy",356),Bp(II,"StackTraceCreator/CollectorModern",643),Bp(II,"StackTraceCreator/CollectorModernNoSourceMap",357),Bp(MI,"IOException",181),Bp(MI,"UnsupportedEncodingException",351),Bp(OI,"Class",288),Bp(OI,"ClassCastException",119),Bp(OI,"IllegalArgumentException",29),Bp(OI,"IndexOutOfBoundsException",95),Bp(OI,"Number",231),Bp(OI,"Integer",24)),AD=Bp(OI,"String",2);Bp(OI,"String/1",350),Bp(OI,"StringIndexOutOfBoundsException",257),Bp(PI,"Charset",145),Bp(PI,"IllegalCharsetNameException",358),Bp(PI,"UnsupportedCharsetException",256),Bp(DI,"EmulatedCharset",185),Bp(DI,"EmulatedCharset/LatinCharset",289),Bp(DI,"EmulatedCharset/UtfCharset",355),ZN(669,1,{3:1}),Bp(RI,"Optional",669),ZN(601,669,{3:1},c),eI.t=function(t){return t===this},eI.v=function(){return 2040732332},eI.w=function(){return"Optional.absent()"},eI.A=function(t){return Dd(t),ci(),kD},Bp(RI,"Absent",601);var SD=Ed(RI,"Function");ZN(208,1,{},co),eI.C=function(t){return Dp(t)},Bp(RI,"Joiner",208),ZN(363,208,{},Qf),eI.C=function(t){return Tl(this,t)},Bp(RI,"Joiner/1",363),ZN(362,1,{},nh),Bp(RI,"Joiner/MapJoiner",362);var OD,LD=Ed(RI,"Predicate");ZN(244,1,{68:1,244:1,3:1},Ge),eI.D=function(t){var e;for(e=0;e0},eI.H=function(){if(this.b>=this.c)throw new Ei;return oa(this,this.b++)},eI.L=function(){return this.b},eI.M=function(){if(this.b<=0)throw new Ei;return oa(this,--this.b)},eI.N=function(){return this.b-1},eI.b=0,eI.c=0,Bp(zI,"AbstractIndexedListIterator",378),ZN(428,108,YI),eI.G=function(){return uw(this)},eI.H=function(){return Cy(this)},eI.d=1,Bp(zI,"AbstractIterator",428),ZN(653,1,{144:1}),eI.P=function(){return this.f||(this.f=this.S())},eI.T=function(){return new Ia(this.P())},eI.t=function(t){return zx(this,t)},eI.v=function(){return this.P().v()},eI.V=function(){return 0==this.Y()},eI.W=function(){return ip(this)},eI.w=function(){return this.P().w()},Bp(zI,"AbstractMultimap",653),ZN(294,653,VI),eI.Q=function(){Ak(this)},eI.R=function(t){return qy(this.b,t)},eI.S=function(){return new Da(this,this.b)},eI.T=function(){return new Ml(this,this.b)},eI.$=function(){return dl(t=this.Z(),137)?(zg(),new Ql(Uf(t,137))):dl(t,18)?(zg(),new Ko(Uf(t,18))):dl(t,20)?gv(Uf(t,20)):(zg(),new er(t));var t},eI.U=function(t){return WT(this,t)},eI.X=function(t){return iN(this,t)},eI.Y=function(){return this.c},eI.c=0,Bp(zI,"AbstractMapBasedMultimap",294),ZN(600,294,VI),eI.Z=function(){return new cm(this.a)},eI.$=function(){return og(),og(),YD},eI.U=function(t){return Uf(WT(this,t),20)},eI.X=function(t){return Uf(iN(this,t),20)},eI.P=function(){return this.f||(this.f=new Da(this,this.b))},eI.t=function(t){return zx(this,t)},Bp(zI,"AbstractListMultimap",600),ZN(388,1,qI),eI.G=function(){return this.b.b||this.d.G()},eI.H=function(){var t;return this.d.G()||((t=Um(this.b)).yb(),this.a=Uf(t.zb(),19),this.d=this.a.mb()),this.d.H()},eI.I=function(){this.d.I(),this.a.V()&&Hy(this.b),--this.c.c},Bp(zI,"AbstractMapBasedMultimap/Itr",388),ZN(389,388,qI,rw),Bp(zI,"AbstractMapBasedMultimap/1",389),ZN(638,1,XI),eI.Q=function(){this.bb().Q()},eI._=function(t){return cT(this,t)},eI.R=function(t){return!!VT(this,t,!1)},eI.ab=function(t){var e,n;for(e=this.bb().mb();e.G();)if(n=Uf(e.H(),21).zb(),Zc(t)===Zc(n)||null!=t&&s_(t,n))return!0;return!1},eI.t=function(t){return TC(this,t)},eI.cb=function(t){return Kc(VT(this,t,!1))},eI.v=function(){return bx(this.bb())},eI.V=function(){return 0==this.Y()},eI.W=function(){return new Un(this)},eI.db=function(t,e){throw new No("Put not supported on this map")},eI.eb=function(t){return Kc(VT(this,t,!0))},eI.Y=function(){return this.bb().Y()},eI.w=function(){return rC(this)},eI.fb=function(){return new qn(this)},Bp(WI,"AbstractMap",638),ZN(654,638,XI),eI.bb=function(){return op(this)},eI.W=function(){return this.d||(this.d=new Ia(this))},eI.fb=function(){return qp(this)},Bp(zI,"Maps/ViewCachingAbstractMap",654),ZN(262,654,XI,Da),eI.cb=function(t){return function(t,e){var n;return(n=Uf(ck(t.a,e),19))?ak(t.b,e,n):null}(this,t)},eI.eb=function(t){return function(t,e){var n,r;return(n=Uf(Kd(t.a,e),19))?((r=t.b.Z()).jb(n),t.b.c-=n.Y(),n.Q(),r):null}(this,t)},eI.Q=function(){this.a==this.b.b?Ak(this.b):lp(new _v(this))},eI.R=function(t){return bk(this.a,t)},eI.hb=function(){return new He(this)},eI.gb=function(){return this.hb()},eI.t=function(t){return this===t||TC(this.a,t)},eI.v=function(){return bx(new Yn(this.a))},eI.W=function(){return ip(this.b)},eI.Y=function(){return Hs(this.a)},eI.w=function(){return rC(this.a)},Bp(zI,"AbstractMapBasedMultimap/AsMap",262),ZN(640,1,$I),eI.ib=function(t){return function(){throw new No("Add not supported on this collection")}()},eI.jb=function(t){return gw(this,t)},eI.Q=function(){yg(this)},eI.kb=function(t){return wE(this,t,!1)},eI.lb=function(t){return Qw(this,t)},eI.V=function(){return 0==this.Y()},eI.nb=function(t){return wE(this,t,!0)},eI.ob=function(){return this.pb(Ty(TD,GI,1,this.Y(),4,1))},eI.pb=function(t){return iT(this,t)},eI.w=function(){return nC(this)},Bp(WI,"AbstractCollection",640),ZN(641,640,ZI),eI.t=function(t){return CE(this,t)},eI.v=function(){return bx(this)},Bp(WI,"AbstractSet",641),ZN(649,641,ZI),Bp(zI,"Sets/ImprovedAbstractSet",649),ZN(655,649,ZI),eI.Q=function(){this.qb().Q()},eI.kb=function(t){return GE(this,t)},eI.V=function(){return this.qb().V()},eI.nb=function(t){var e;return!!this.kb(t)&&(e=Uf(t,21),this.qb().W().nb(e.yb()))},eI.Y=function(){return this.qb().Y()},Bp(zI,"Maps/EntrySet",655),ZN(387,655,ZI,He),eI.kb=function(t){return yk(new Yn(this.a.a),t)},eI.mb=function(){return new _v(this.a)},eI.qb=function(){return this.a},eI.nb=function(t){var e;return!!yk(new Yn(this.a.a),t)&&(e=Uf(t,21),function(t,e){var n,r;n=Uf(function(t,e){_l(),Dd(t);try{return Nl(e)?Pg(t,e):AN(t.d,e)}catch(t){if(dl(t=r_(t),119))return null;if(dl(t,76))return null;throw D_(t)}}(t.b,e),19),n&&(r=n.Y(),n.Q(),t.c-=r)}(this.a.b,e.yb()),!0)},Bp(zI,"AbstractMapBasedMultimap/AsMap/AsMapEntries",387),ZN(299,1,qI,_v),eI.H=function(){var t;return t=Um(this.b),this.a=Uf(t.zb(),19),function(t,e){var n;return n=e.yb(),_l(),new Ga(n,ak(t.b,n,Uf(e.zb(),19)))}(this.c,t)},eI.G=function(){return this.b.b},eI.I=function(){Hy(this.b),this.c.b.c-=this.a.Y(),this.a.Q()},Bp(zI,"AbstractMapBasedMultimap/AsMap/AsMapIterator",299),ZN(260,649,ZI,Ia),eI.Q=function(){this.b.Q()},eI.kb=function(t){return this.b.R(t)},eI.V=function(){return this.b.V()},eI.mb=function(){return _l(),_f(this.b.bb().mb(),(Wu(),qD))},eI.nb=function(t){return!!this.b.R(t)&&(this.b.eb(t),!0)},eI.Y=function(){return this.b.Y()},Bp(zI,"Maps/KeySet",260),ZN(386,260,ZI,Ml),eI.Q=function(){lp(new ja(this,this.b.bb().mb()))},eI.lb=function(t){return this.b.W().lb(t)},eI.t=function(t){return this===t||this.b.W().t(t)},eI.v=function(){return this.b.W().v()},eI.mb=function(){return new ja(this,this.b.bb().mb())},eI.nb=function(t){var e,n;return n=0,(e=Uf(this.b.eb(t),19))&&(n=e.Y(),e.Q(),this.a.c-=n),n>0},Bp(zI,"AbstractMapBasedMultimap/KeySet",386),ZN(300,1,qI,ja),eI.G=function(){return this.c.G()},eI.H=function(){return this.a=Uf(this.c.H(),21),this.a.yb()},eI.I=function(){var t;px(!!this.a),t=Uf(this.a.zb(),19),this.c.I(),this.b.a.c-=t.Y(),t.Q()},Bp(zI,"AbstractMapBasedMultimap/KeySet/1",300),ZN(216,640,$I,Ny),eI.ib=function(t){return function(t,e){var n,r;return nE(t),r=t.d.V(),(n=t.d.ib(e))&&(++t.f.c,r&&mf(t)),n}(this,t)},eI.jb=function(t){return function(t,e){var n,r,i;return!e.V()&&(i=t.Y(),(n=t.d.jb(e))&&(r=t.d.Y(),t.f.c+=r-i,0==i&&mf(t)),n)}(this,t)},eI.Q=function(){var t,e;0!=(e=(t=this).Y())&&(t.d.Q(),t.f.c-=e,pp(t))},eI.kb=function(t){return nE(this),this.d.kb(t)},eI.lb=function(t){return nE(this),this.d.lb(t)},eI.t=function(t){return function(t,e){return e===t||(nE(t),t.d.t(e))}(this,t)},eI.v=function(){return nE(this),this.d.v()},eI.mb=function(){return nE(this),new td(this)},eI.nb=function(t){return function(t,e){var n;return nE(t),(n=t.d.nb(e))&&(--t.f.c,pp(t)),n}(this,t)},eI.Y=function(){return nE(this),this.d.Y()},eI.w=function(){return nE(this),Uk(this.d)},Bp(zI,"AbstractMapBasedMultimap/WrappedCollection",216);var GD,BD,FD=Ed(WI,"List");ZN(297,216,KI,mp),eI.rb=function(t,e){var n;nE(this),n=this.d.V(),Uf(this.d,20).rb(t,e),++this.a.c,n&&mf(this)},eI.sb=function(t){return nE(this),Uf(this.d,20).sb(t)},eI.tb=function(){return nE(this),new zu(this)},eI.ub=function(t){return nE(this),new Gg(this,t)},eI.vb=function(t){var e;return nE(this),e=Uf(this.d,20).vb(t),--this.a.c,pp(this),e},eI.wb=function(t,e){return nE(this),Uf(this.d,20).wb(t,e)},eI.xb=function(t,e){return nE(this),bb(this.a,this.e,Uf(this.d,20).xb(t,e),this.b?this.b:this)},Bp(zI,"AbstractMapBasedMultimap/WrappedList",297),ZN(385,297,QI,wh),Bp(zI,"AbstractMapBasedMultimap/RandomAccessWrappedList",385),ZN(189,1,qI,td),eI.G=function(){return gp(this),this.b.G()},eI.H=function(){return gp(this),this.b.H()},eI.I=function(){this.b.I(),--this.d.f.c,pp(this.d)},Bp(zI,"AbstractMapBasedMultimap/WrappedCollection/WrappedIterator",189),ZN(298,189,JI,zu,Gg),eI.J=function(t){var e;e=0==function(t){return nE(t),t.d.Y()}(this.a),(gp(this),Uf(this.b,96)).J(t),++this.a.a.c,e&&mf(this.a)},eI.K=function(){return(gp(this),Uf(this.b,96)).K()},eI.L=function(){return(gp(this),Uf(this.b,96)).L()},eI.M=function(){return(gp(this),Uf(this.b,96)).M()},eI.N=function(){return(gp(this),Uf(this.b,96)).N()},eI.O=function(t){(gp(this),Uf(this.b,96)).O(t)},Bp(zI,"AbstractMapBasedMultimap/WrappedList/WrappedListIterator",298),ZN(295,216,ZI,Eh),Bp(zI,"AbstractMapBasedMultimap/WrappedSet",295),ZN(296,216,tM,kh),Bp(zI,"AbstractMapBasedMultimap/WrappedSortedSet",296),ZN(668,1,eM),eI.t=function(t){var e;return!!dl(t,21)&&(e=Uf(t,21),ng(this.yb(),e.yb())&&ng(this.zb(),e.zb()))},eI.v=function(){var t,e;return t=this.yb(),e=this.zb(),(null==t?0:K_(t))^(null==e?0:K_(e))},eI.Ab=function(t){throw new Kr},eI.w=function(){return this.yb()+"="+this.zb()},Bp(zI,nM,668),ZN(390,640,$I,Ye),eI.Q=function(){Ak(this.a)},eI.kb=function(t){return function(t,e){var n;for(n=ig(qp(t.P()));n.b.G();)if(Uf(Po(n,n.b.H()),19).kb(e))return!0;return!1}(this.a,t)},eI.mb=function(){return new rw(this.a)},eI.Y=function(){return this.a.c},Bp(zI,"AbstractMultimap/Values",390),ZN(656,640,rM),eI.ib=function(t){return this.Bb(t,1),!0},eI.Bb=function(t,e){throw new Kr},eI.jb=function(t){return function(t,e){var n,r;if(Or(),e.V())return!1;if(dl(e,207))for(r=Uf(e,207).bb().mb();r.G();)n=Uf(r.H(),83),t.Bb(n.Zb(),n.Yb());else zm(t,e.mb());return!0}(this,t)},eI.Q=function(){lp(this.Eb())},eI.kb=function(t){return this.Cb(t)>0},eI.Cb=function(t){var e,n;for(n=Xp(this).mb();n.G();)if(ng((e=Uf(n.H(),83)).Zb(),t))return e.Yb();return 0},eI.gb=function(){return new ze(this)},eI.bb=function(){return Xp(this)},eI.t=function(t){return function(t,e){var n,r,i;if(Or(),e===t)return!0;if(dl(e,207)){if(i=Uf(e,207),t.Y()!=i.Y()||Xp(t).Y()!=i.bb().Y())return!1;for(r=i.bb().mb();r.G();)if(n=Uf(r.H(),83),t.Cb(n.Zb())!=n.Yb())return!1;return!0}return!1}(this,t)},eI.v=function(){return Xp(this).v()},eI.V=function(){return Xp(this).V()},eI.mb=function(){return Or(),new Va(this,Xp(this).mb())},eI.nb=function(t){return this.Fb(t,1)>0},eI.Fb=function(t,e){throw new Kr},eI.Gb=function(t,e){var n,r;return Or(),Cm(e,"count"),(r=e-(n=this.Cb(t)))>0?this.Bb(t,r):r<0&&this.Fb(t,-r),n},eI.Hb=function(t,e,n){return function(t,e,n,r){return Or(),Cm(n,"oldCount"),Cm(r,"newCount"),t.Cb(e)==n&&(t.Gb(e,r),!0)}(this,t,e,n)},eI.Y=function(){return function(t){var e,n;for(Or(),n=0,e=Xp(t).mb();e.G();)n=w_(n,Uf(e.H(),83).Yb());return am(n)}(this)},eI.w=function(){return Uk(Xp(this))},Bp(zI,"AbstractMultiset",656),ZN(657,649,ZI),eI.Q=function(){this.Ib().Q()},eI.kb=function(t){var e;return!(!dl(t,83)||(e=Uf(t,83)).Yb()<=0||this.Ib().Cb(e.Zb())!=e.Yb())},eI.nb=function(t){var e,n,r;return!(!dl(t,83)||(e=(n=Uf(t,83)).Zb(),0==(r=n.Yb())))&&this.Ib().Hb(e,r,0)},Bp(zI,"Multisets/EntrySet",657),ZN(396,657,ZI,ze),eI.mb=function(){return this.a.Eb()},eI.Ib=function(){return this.a},eI.Y=function(){return this.a.Db()},Bp(zI,"AbstractMultiset/EntrySet",396),ZN(384,294,VI),eI.Z=function(){return new Sa(cx(this.a))},eI.$=function(){return lf(),ag(),KD},eI.U=function(t){return Uf(WT(this,t),18)},eI.X=function(t){return Uf(iN(this,t),18)},eI.P=function(){return this.f||(this.f=new Da(this,this.b))},eI.t=function(t){return zx(this,t)},Bp(zI,"AbstractSetMultimap",384),ZN(342,656,rM),Bp(zI,"AbstractSortedMultiset",342),ZN(280,600,VI,Vh),eI.a=0,Bp(zI,"ArrayListMultimap",280),ZN(159,17,iM);var HD,YD,zD,UD,VD,qD,XD,WD=tm(zI,"BoundType",159,RD,(function(){return qu(),Nx(Mo(WD,1),FI,159,0,[BD,GD])}));ZN(623,159,iM,fu),tm(zI,"BoundType/1",623,WD,null),ZN(624,159,iM,Mu),tm(zI,"BoundType/2",624,WD,null),ZN(234,1,aM),eI.w=function(){return t=this.c.mb(),Xu(),Zp(P_((Vu(),HD),Zp(new ta,91),t),93).a;var t},Bp(zI,"FluentIterable",234),ZN(170,234,aM,Tu),eI.mb=function(){return Ip(this)},Bp(zI,"FluentIterable/2",170),ZN(664,1,{}),eI.w=function(){return Uk(Lg(this.a.d).b)},Bp(zI,"ForwardingObject",664),ZN(665,664,$I),eI.ib=function(t){return Lg(this.a.d),ei()},eI.jb=function(t){return Lg(this.a.d),ni()},eI.Q=function(){Lg(this.a.d),ri()},eI.kb=function(t){return zs(Lg(this.a.d),t)},eI.lb=function(t){return Us(Lg(this.a.d),t)},eI.V=function(){return Lg(this.a.d).b.V()},eI.mb=function(){return new ir(Lg(this.a.d).b.mb())},eI.nb=function(t){return Lg(this.a.d),ii()},eI.Y=function(){return Lg(this.a.d).b.Y()},eI.ob=function(){return Zg(Lg(this.a.d))},eI.pb=function(t){return av(Lg(this.a.d),t)},Bp(zI,"ForwardingCollection",665),ZN(660,640,sM),eI.mb=function(){return this.Kb()},eI.ib=function(t){return function(){throw new Kr}()},eI.jb=function(t){return function(){throw new Kr}()},eI.Q=function(){!function(){throw new Kr}()},eI.kb=function(t){return null!=t&&wE(this,t,!1)},eI.Jb=function(){switch(this.Y()){case 0:return og(),og(),YD;case 1:return og(),new Ud(this.Kb().H());default:return new yp(this,this.ob())}},eI.nb=function(t){return function(){throw new Kr}()},Bp(zI,"ImmutableCollection",660),ZN(316,660,sM,bi),eI.mb=function(){return Am(this.a.mb())},eI.kb=function(t){return null!=t&&this.a.kb(t)},eI.lb=function(t){return this.a.lb(t)},eI.V=function(){return this.a.V()},eI.Kb=function(){return Am(this.a.mb())},eI.Y=function(){return this.a.Y()},eI.ob=function(){return this.a.ob()},eI.pb=function(t){return this.a.pb(t)},eI.w=function(){return Uk(this.a)},Bp(zI,"ForwardingImmutableCollection",316),ZN(87,660,cM),eI.mb=function(){return this.Kb()},eI.tb=function(){return this.Lb(0)},eI.ub=function(t){return this.Lb(t)},eI.xb=function(t,e){return this.Mb(t,e)},eI.rb=function(t,e){throw new Kr},eI.t=function(t){return function(t,e){var n,r,i;if(Zc(e)===Zc(Dd(t)))return!0;if(!dl(e,20))return!1;if(r=Uf(e,20),(i=t.Y())!=r.Y())return!1;if(dl(r,63)){for(n=0;n=(i=o.Y()))o.Q();else for(r=o.mb(),n=0;ne?1:0}(e.Yb(),t.Yb())}(Uf(t,83),Uf(e,83))},Bp(zI,"Multisets/1",398),ZN(397,658,{83:1,3:1},ld),eI.Yb=function(){return this.a},eI.Zb=function(){return this.b},eI.a=0,Bp(zI,"Multisets/ImmutableEntry",397),ZN(303,1,qI,Va),eI.G=function(){return this.d>0||this.c.G()},eI.H=function(){if(!(this.d>0||this.c.G()))throw new Ei;return 0==this.d&&(this.b=Uf(this.c.H(),83),this.f=this.d=this.b.Yb()),--this.d,this.a=!0,this.b.Zb()},eI.I=function(){px(this.a),1==this.f?this.c.I():this.e.Fb(this.b.Zb(),1),--this.f,this.a=!1},eI.a=!1,eI.d=0,eI.f=0,Bp(zI,"Multisets/MultisetIteratorImpl",303),ZN(622,659,{3:1,56:1},f),eI.$b=function(t,e){return function(t,e){return Dd(t),Dd(e),Hw(t,e)}(Uf(t,23),Uf(e,23))},eI.w=function(){return"Ordering.natural()"},Bp(zI,"NaturalOrdering",622),ZN(343,661,cM,yp),eI.ub=function(t){return Al(this.b,t)},eI.Sb=function(){return this.a},eI.sb=function(t){return Qc(this.b,t)},eI.Lb=function(t){return Al(this.b,t)},Bp(zI,"RegularImmutableAsList",343),ZN(559,275,uM,fg),eI.Tb=function(){return this.a},Bp(zI,"RegularImmutableBiMap",559),ZN(53,667,cM,sb),eI.Nb=function(){return this.a},Bp(zI,"RegularImmutableList",53),ZN(321,320,uM,Ri),Bp(zI,"RegularImmutableMap",321),ZN(265,315,lM,Ks),Bp(zI,"RegularImmutableSet",265),ZN(650,641,ZI),Bp(zI,"Sets/SetView",650),ZN(377,650,ZI,pf),eI.kb=function(t){return ka(this.b,t)&&ka(this.c,t)},eI.lb=function(t){return Qw(this.b,t)&&Qw(this.c,t)},eI.V=function(){return Im(this)},eI.mb=function(){return bp(new Vn(new Un(this.b.a).a.bb().mb()),this.a)},eI.Y=function(){return Jb(bp(new Vn(new Un(this.b.a).a.bb().mb()),this.a))},Bp(zI,"Sets/2",377),ZN(328,275,uM,Zv,Yy),eI.fb=function(){return lf(),new la(this.c)},eI.Tb=function(){return this.a||(this.a=new Yy(this.c,this.b,this))},eI.Ub=function(){return lf(),new la(this.c)},Bp(zI,"SingletonImmutableBiMap",328),ZN(127,667,cM,Ud),eI.Nb=function(){return this.a},Bp(zI,"SingletonImmutableList",127),ZN(135,663,lM,la),eI.mb=function(){return Xu(),new Xe(this.a)},eI.kb=function(t){return s_(this.a,t)},eI.Kb=function(){return Xu(),new Xe(this.a)},eI.Y=function(){return 1},Bp(zI,"SingletonImmutableSet",135),ZN(285,342,{207:1,3:1,22:1,19:1},Dv,lk),eI.Bb=function(t,e){return hN(this,t,e)},eI.Cb=function(t){return ST(this,t)},eI.Db=function(){return am(Fx(this,($u(),QD)))},eI.Eb=function(){return new Pl(this)},eI.Fb=function(t,e){return XN(this,t,e)},eI.Gb=function(t,e){return QT(this,t,e)},eI.Hb=function(t,e,n){var r,i,o;return Cm(n,"newCount"),Cm(e,"oldCount"),Uc(hh(this.b,t)),(o=this.c.a)?(i=Ty(iW,vM,26,1,12,1),r=gO(o,this.d,t,e,n,i),jd(this.c,o,r),i[0]==e):0==e&&(n>0&&hN(this,t,n),!0)},eI.Y=function(){return am(Fx(this,($u(),JD)))},Bp(zI,"TreeMultiset",285),ZN(619,658,{83:1},Xa),eI.Yb=function(){var t;return 0==(t=this.b.c)?ST(this.a,this.b.b):t},eI.Zb=function(){return this.b.b},Bp(zI,"TreeMultiset/1",619),ZN(620,1,qI,Pl),eI.H=function(){return function(t){var e;if(!dx(t))throw new Ei;return e=new Xa(t.c,t.a),t.b=e,t.a.i==t.c.a?t.a=null:t.a=t.a.i,e}(this)},eI.G=function(){return dx(this)},eI.I=function(){px(!!this.b),QT(this.c,this.b.b.b,0),this.b=null},Bp(zI,"TreeMultiset/2",620),ZN(205,17,bM);var eR=tm(zI,"TreeMultiset/Aggregate",205,RD,(function(){return $u(),Nx(Mo(eR,1),FI,205,0,[JD,QD])}));ZN(617,205,bM,du),eI._b=function(t){return t.c},eI.ac=function(t){return t?t.j:0},tm(zI,"TreeMultiset/Aggregate/1",617,eR,null),ZN(618,205,bM,wl),eI._b=function(t){return 1},eI.ac=function(t){return t?t.a:0},tm(zI,"TreeMultiset/Aggregate/2",618,eR,null),ZN(206,658,{83:1,206:1},Nw),eI.Yb=function(){return this.c},eI.Zb=function(){return this.b},eI.w=function(){return Or(),Ab(new ld(this.b,this.c))},eI.a=0,eI.c=0,eI.d=0,eI.j=0,Bp(zI,"TreeMultiset/AvlNode",206),ZN(616,1,{},d),Bp(zI,"TreeMultiset/Reference",616);var nR,rR=Bp(LI,"JavaScriptObject$",0);ZN(628,1,{}),Bp(LI,"Scheduler",628);var iR,oR,aR,sR,cR,uR,lR,hR,fR=0,dR=0,pR=-1;ZN(360,628,{},l),Bp(II,"SchedulerImpl",360),ZN(646,1,{}),eI.hc=function(){return null},eI.ic=function(){return null},eI.jc=function(){return null},eI.kc=function(){return null},eI.lc=function(){return null},Bp(mM,"JSONValue",646),ZN(214,646,{214:1},sr,en),eI.t=function(t){return!!dl(t,214)&&this.a==Uf(t,214).a},eI.gc=function(){return gr},eI.v=function(){return fh(this.a)},eI.hc=function(){return this},eI.w=function(){var t,e,n;for(n=new $o("["),e=0,t=this.a.length;e0&&(n.a+=","),ru(n,Sm(this,e));return n.a+="]",n.a},Bp(mM,"JSONArray",214),ZN(292,646,{},nn),eI.gc=function(){return vr},eI.ic=function(){return this},eI.w=function(){return yl(this.a)},eI.a=!1,Bp(mM,"JSONBoolean",292),ZN(371,72,dI,Hi),Bp(mM,"JSONException",371),ZN(435,646,{},b),eI.gc=function(){return xr},eI.w=function(){return pI},Bp(mM,"JSONNull",435),ZN(104,646,{104:1},rn),eI.t=function(t){return!!dl(t,104)&&this.a==Uf(t,104).a},eI.gc=function(){return br},eI.v=function(){return wv(oo(this.a))},eI.jc=function(){return this},eI.w=function(){return this.a+""},eI.a=0,Bp(mM,"JSONNumber",104),ZN(69,646,{69:1},Vi,on),eI.t=function(t){return!!dl(t,69)&&this.a==Uf(t,69).a},eI.gc=function(){return yr},eI.v=function(){return fh(this.a)},eI.kc=function(){return this},eI.w=function(){var t,e,n,r,i,o;for(o=new $o("{"),t=!0,n=0,r=(i=kw(this,Ty(AD,hI,2,0,5,1))).length;n>>28]|e[t>>24&15]<<4|e[t>>20&15]<<8|e[t>>16&15]<<12|e[t>>12&15]<<16|e[t>>8&15]<<20|e[t>>4&15]<<24|e[15&t]<<28);var t,e},eI.w=function(){return"("+this.a+","+this.b+")"},eI.a=0,eI.b=0;var gR=Bp(AM,"KVector",10);ZN(58,648,{3:1,5:1,22:1,19:1,58:1,20:1},lo),eI.ib=function(t){return Of(this,t)},eI.Q=function(){Mg(this)},eI.ub=function(t){return Sk(this,t)},eI.Y=function(){return this.b},eI.b=0,Bp(WI,"LinkedList",58),ZN(44,58,{44:1,286:1,3:1,5:1,22:1,19:1,58:1,20:1},Fr,Ah),eI.w=function(){var t,e,n;for(t=new $o("("),e=Sk(this,0);e.b!=e.d.c;)iu(t,(n=Uf(Sb(e),10)).a+","+n.b),e.b!=e.d.c&&(t.a+="; ");return t.a+=")",t.a},Bp(AM,"KVectorChain",44);var vR,bR,yR,mR,wR,xR,_R,ER,kR,TR=Ed(OM,"IProperty");ZN(131,1,{179:1,131:1,3:1},y),Bp(OM,"MapPropertyHolder",131),ZN(14,1,LM,Ld,Od,fd,If,kv,Qv),eI.F=function(t){return function(t,e){return Tg(t.b,e.mc())}(this,Uf(t,79))},eI.t=function(t){return mg(this,t)},eI.mc=function(){return this.b},eI.nc=function(){return this.c},eI.oc=function(){return this.d},eI.v=function(){return dk(this.b)},eI.w=function(){return this.b},Bp(OM,"Property",14),ZN(366,1,{23:1},m),eI.F=function(t){return-1},Bp(OM,"Property/1",366),ZN(367,1,{23:1},w),eI.F=function(t){return 1},Bp(OM,"Property/2",367),ZN(27,1,{27:1,22:1},es),eI.t=function(t){var e,n,r;return!!dl(t,27)&&(n=Uf(t,27),e=null==this.a?null==n.a:s_(this.a,n.a),r=null==this.b?null==n.b:s_(this.b,n.b),e&&r)},eI.v=function(){var t,e,n;return t=-65536&(e=null==this.a?0:K_(this.a)),e&xI^(-65536&(n=null==this.b?0:K_(this.b)))>>16&xI|t^(n&xI)<<16},eI.mb=function(){return new an(this)},eI.w=function(){return null==this.a&&null==this.b?"pair(null,null)":null==this.a?"pair(null,"+Uk(this.b)+")":null==this.b?"pair("+Uk(this.a)+",null)":"pair("+Uk(this.a)+","+Uk(this.b)+")"},Bp(IM,"Pair",27),ZN(431,1,qI,an),eI.G=function(){return!this.c&&(!this.b&&null!=this.a.a||null!=this.a.b)},eI.H=function(){if(!this.c&&!this.b&&null!=this.a.a)return this.b=!0,this.a.a;if(!this.c&&null!=this.a.b)return this.c=!0,this.a.b;throw new Ei},eI.I=function(){throw this.c&&null!=this.a.b?this.a.b=null:this.b&&null!=this.a.a&&(this.a.a=null),new $r},eI.b=!1,eI.c=!1,Bp(IM,"Pair/1",431),ZN(228,72,dI,Yi),Bp(MM,"UnsupportedConfigurationException",228),ZN(99,72,dI,zi),Bp(MM,"UnsupportedGraphException",99),ZN(103,17,{103:1,3:1,23:1,17:1},ns);var CR,NR,AR,SR,OR,LR,IR=tm(jM,"Alignment",103,RD,(function(){return fk(),Nx(Mo(IR,1),FI,103,0,[mR,_R,ER,kR,wR,xR])}));ZN(59,17,{59:1,3:1,23:1,17:1},us);var MR,PR,DR,RR,jR,GR=tm(jM,"Direction",59,RD,(function(){return E_(),Nx(Mo(GR,1),FI,59,0,[OR,SR,AR,NR,LR])}));ZN(107,17,{107:1,3:1,23:1,17:1},ls);var BR,FR,HR,YR,zR,UR=tm(jM,"EdgeLabelPlacement",107,RD,(function(){return Gw(),Nx(Mo(UR,1),FI,107,0,[jR,PR,DR,RR])}));ZN(122,17,{122:1,3:1,23:1,17:1},hs);var VR,qR,XR,WR,$R,ZR,KR,QR=tm(jM,"EdgeRouting",122,RD,(function(){return k_(),Nx(Mo(QR,1),FI,122,0,[zR,HR,FR,YR])}));ZN(133,17,{133:1,3:1,23:1,17:1},fs);var JR,tj,ej,nj,rj=tm(jM,"EdgeType",133,RD,(function(){return DT(),Nx(Mo(rj,1),FI,133,0,[ZR,WR,KR,qR,$R,XR])}));ZN(166,17,{166:1,3:1,23:1,17:1},ds);var ij,oj,aj,sj,cj,uj,lj,hj,fj,dj,pj,gj,vj,bj,yj,mj,wj,xj,_j,Ej,kj,Tj,Cj,Nj,Aj,Sj,Oj,Lj,Ij,Mj,Pj,Dj,Rj,jj,Gj,Bj,Fj,Hj,Yj,zj,Uj,Vj,qj,Xj,Wj,$j,Zj,Kj,Qj,Jj,tG,eG,nG,rG,iG,oG,aG,sG,cG,uG=tm(jM,"HierarchyHandling",166,RD,(function(){return T_(),Nx(Mo(uG,1),FI,166,0,[ej,tj,nj])}));ZN(41,17,{41:1,3:1,23:1,17:1},ps);var lG,hG,fG,dG,pG,gG,vG=tm(jM,"NodeLabelPlacement",41,RD,(function(){return yN(),Nx(Mo(vG,1),FI,41,0,[eG,tG,rG,cG,sG,aG,iG,oG,nG])}));ZN(100,17,{100:1,3:1,23:1,17:1},gs);var bG,yG,mG,wG,xG,_G,EG,kG=tm(jM,"PortAlignment",100,RD,(function(){return OE(),Nx(Mo(kG,1),FI,100,0,[gG,pG,hG,fG,dG])}));ZN(28,17,{28:1,3:1,23:1,17:1},vs);var TG,CG,NG,AG,SG=tm(jM,"PortConstraints",28,RD,(function(){return bT(),Nx(Mo(SG,1),FI,28,0,[EG,_G,xG,yG,wG,mG])}));ZN(149,17,{149:1,3:1,23:1,17:1},bs);var OG,LG,IG,MG,PG,DG,RG,jG,GG,BG,FG,HG,YG,zG,UG,VG,qG,XG,WG,$G,ZG,KG,QG=tm(jM,"PortLabelPlacement",149,RD,(function(){return Rm(),Nx(Mo(QG,1),FI,149,0,[AG,NG,CG])}));ZN(32,17,{32:1,3:1,23:1,17:1},ys);var JG,tB,eB,nB,rB,iB=tm(jM,"PortSide",32,RD,(function(){return mL(),Nx(Mo(iB,1),FI,32,0,[ZG,IG,LG,$G,KG])}));ZN(150,17,{150:1,3:1,23:1,17:1},ms);var oB,aB,sB,cB,uB,lB=tm(jM,"SizeConstraint",150,RD,(function(){return LE(),Nx(Mo(lB,1),FI,150,0,[nB,rB,eB,tB])}));ZN(139,17,{139:1,3:1,23:1,17:1},ws);var hB,fB,dB,pB,gB,vB,bB,yB,mB,wB,xB,_B,EB,kB,TB,CB,NB,AB,SB,OB,LB,IB,MB,PB=tm(jM,"SizeOptions",139,RD,(function(){return zT(),Nx(Mo(PB,1),FI,139,0,[cB,uB,sB,aB])}));ZN(62,1,{62:1},ac,_g),eI.t=function(t){var e;return!(null==t||!dl(t,62))&&(e=Uf(t,62),Ag(this.d,e.d)&&Ag(this.e,e.e)&&Ag(this.c,e.c)&&Ag(this.b,e.b))},eI.v=function(){return $x(Nx(Mo(TD,1),GI,1,4,[this.d,this.e,this.c,this.b]))},eI.w=function(){return"Rect[x="+this.d+",y="+this.e+",w="+this.c+",h="+this.b+"]"},eI.b=0,eI.c=0,eI.d=0,eI.e=0,Bp(YM,"Rectangle",62),ZN(283,62,{283:1,62:1},Hr),eI.a=0,Bp(zM,"LabelGroup",283),ZN(67,17,{67:1,3:1,23:1,17:1},kg);var DB,RB,jB,GB=tm(zM,"LabelLocation",67,RD,SE);ZN(225,17,{225:1,3:1,23:1,17:1},xs);var BB,FB,HB,YB,zB,UB=tm(zM,"TextAlignment",225,RD,(function(){return Hb(),Nx(Mo(UB,1),FI,225,0,[RB,DB,jB])}));ZN(589,1,{},bO),eI.a=0,eI.b=!1,eI.d=0,eI.f=0,eI.k=0,eI.r=0,eI.s=0,Bp(YM,"LabelAndNodeSizeProcessor/NodeData",589),ZN(171,17,{171:1,3:1,23:1,17:1},_s);var VB,qB,XB,WB,$B,ZB,KB,QB,JB,tF,eF,nF,rF,iF=tm(YM,"LabelSide",171,RD,(function(){return IE(),Nx(Mo(iF,1),FI,171,0,[zB,FB,HB])}));ZN(590,1,{},sn),eI.b=!0,eI.c=!0,eI.d=!0,eI.e=!0,Bp(YM,VM,590),ZN(121,1,XM),eI.t=function(t){var e;return!!dl(t,121)&&(e=Uf(t,121),this.d==e.d&&this.a==e.a&&this.b==e.b&&this.c==e.c)},eI.v=function(){var t;return t=wv(oo(this.b))<<16,(t|=wv(oo(this.a))&xI)^(wv(oo(this.c))<<16|wv(oo(this.d))&xI)},eI.w=function(){return"[top="+this.d+",left="+this.b+",bottom="+this.a+",right="+this.c+"]"},eI.a=0,eI.b=0,eI.c=0,eI.d=0,Bp(YM,"Spacing",121),ZN(232,121,XM,Yr,xh,qh),Bp(YM,"Spacing/Insets",232),ZN(65,121,{286:1,121:1,65:1,3:1,5:1},zr,_h,Xh),Bp(YM,"Spacing/Margins",65),ZN(364,1,{},Dk),eI.c=!1,eI.d=null,eI.g=null,Bp(aP,"JsonGraphImporter",364),ZN(417,14,LM,hc),Bp(aP,"LayoutOptionResolver/DummyProperty",417),ZN(348,1,{},Ee),Bp(aP,"RecursiveLGraphLayout",348),ZN(73,99,{73:1,3:1,54:1,46:1},Ui,$l,xp);var oF,aF,sF,cF,uF=Bp(aP,"UnsupportedJsonGraphException",73);ZN(380,1,{},dg),Bp(lP,"GraphConfigurator",380),ZN(49,1,{},iE),Bp(lP,"IntermediateProcessingConfiguration",49),ZN(365,1,{},jb),Bp(lP,"KlayLayered",365),ZN(577,1,{},Xw),eI.i=0,Bp(pP,"ComponentsToCGraphTransformer",577),ZN(578,1,{},A),eI.tc=function(t,e){return zo(t.wc(),e.wc())},eI.uc=function(t,e){return zo(t.xc(),e.xc())},Bp(pP,"ComponentsToCGraphTransformer/1",578),ZN(25,1,{25:1}),eI.k=0,eI.o=null,eI.p=!0,eI.r=dP;var lF,hF,fF,dF,pF,gF=Bp(gP,"CNode",25);ZN(198,25,{198:1,25:1},rl,ow),eI.vc=function(){this.b.d=this.j.d,this.b.e=this.j.e},eI.wc=function(){return null!=this.a?oo(this.a):this.c.i},eI.xc=function(){return null!=this.a?oo(this.a):this.c.i},eI.w=function(){return""},Bp(pP,"ComponentsToCGraphTransformer/CRectNode",198),ZN(549,1,{},S),Bp(pP,"OneDimensionalComponentsCompaction",549),ZN(550,1,hM,O),eI.B=function(t){return vx(),Vd(),0!=Uf(Uf(t,27).a,25).f.f?AX:NX},Bp(pP,"OneDimensionalComponentsCompaction/lambda$0$Type",550),ZN(551,1,hM,L),eI.B=function(t){return vx(),Vd(),lE(Uf(Uf(t,27).a,25).n,Uf(Uf(t,27).b,59))||0!=Uf(Uf(t,27).a,25).f.f&&lE(Uf(Uf(t,27).a,25).n,Uf(Uf(t,27).b,59))?AX:NX},Bp(pP,"OneDimensionalComponentsCompaction/lambda$1$Type",551),ZN(324,1,{},_p),Bp(gP,"CGraph",324),ZN(78,1,{78:1},ZE),eI.b=0,eI.c=0,eI.d=0,eI.f=0,eI.i=!0,eI.j=dP,Bp(gP,"CGroup",78),ZN(470,1,{},I),eI.tc=function(t,e){return Fo(t.wc(),e.wc())},eI.uc=function(t,e){return Fo(t.xc(),e.xc())},Bp(gP,"ISpacingsHandler/1",470),ZN(323,1,{},mN),eI.e=!1;var vF=Bp(gP,"OneDimensionalCompactor",323);ZN(554,1,hM,_),eI.B=function(t){return Wd(),Vd(),0!=Uf(Uf(t,27).a,25).f.f?AX:NX},Bp(gP,"OneDimensionalCompactor/lambda$0$Type",554),ZN(335,1,{},Ff),eI.a=!1,eI.b=!1,eI.c=!1,eI.d=!1,Bp(gP,"Quadruplet",335),ZN(587,1,{},E),eI.Cc=function(t){var e,n,r,i,o,a,s,c,u,l,h,f,d,p,g,v;for(l=fP,r=new Kn(t.a.b);r.an.j.d||n.j.d==i.j.d&&n.j.c0&&(Lf(t.c,new gf(e.c,e.d,t.d)),t.b=e.d)}(this,Uf(t,48))},eI.b=0,Bp(yP,"RectilinearConvexHull/MaximalElementsEventHandler",243),ZN(571,1,TI,M),eI.$b=function(t,e){return rg(t,e)},Bp(yP,"RectilinearConvexHull/MaximalElementsEventHandler/lambda$0$Type",571),ZN(570,1,{160:1},ey),eI.Ec=function(t){!function(t,e){var n;t.d&&(e.c!=t.e.c||function(t,e){return jw(),t==yF&&e==mF||t==yF&&e==wF||t==xF&&e==wF||t==xF&&e==mF}(t.e.b,e.b))&&(Lf(t.f,t.d),t.a=t.d.d+t.d.c,t.d=null,t.e=null),function(t){return t==yF||t==mF}(e.b)?t.c=e:t.b=e,(e.b==(jw(),yF)&&!e.a||e.b==mF&&e.a||e.b==wF&&e.a||e.b==xF&&!e.a)&&t.c&&t.b&&(n=new _g(t.a,t.c.d,e.c-t.a,t.b.d-t.c.d),t.d=n,t.e=e)}(this,Uf(t,48))},eI.a=0,eI.b=null,eI.c=null,eI.d=null,eI.e=null,Bp(yP,"RectilinearConvexHull/RectangleEventHandler",570),ZN(572,1,TI,P),eI.$b=function(t,e){return Fb(),Uf(t,48).c==Uf(e,48).c?Ox(Uf(e,48).d,Uf(t,48).d):Ox(Uf(t,48).c,Uf(e,48).c)},Bp(yP,"RectilinearConvexHull/lambda$0$Type",572),ZN(573,1,TI,D),eI.$b=function(t,e){return Fb(),Uf(t,48).c==Uf(e,48).c?Ox(Uf(t,48).d,Uf(e,48).d):Ox(Uf(t,48).c,Uf(e,48).c)},Bp(yP,"RectilinearConvexHull/lambda$1$Type",573),ZN(574,1,TI,R),eI.$b=function(t,e){return Fb(),Uf(t,48).c==Uf(e,48).c?Ox(Uf(e,48).d,Uf(t,48).d):Ox(Uf(e,48).c,Uf(t,48).c)},Bp(yP,"RectilinearConvexHull/lambda$2$Type",574),ZN(575,1,TI,j),eI.$b=function(t,e){return Fb(),Uf(t,48).c==Uf(e,48).c?Ox(Uf(t,48).d,Uf(e,48).d):Ox(Uf(e,48).c,Uf(t,48).c)},Bp(yP,"RectilinearConvexHull/lambda$3$Type",575),ZN(576,1,TI,G),eI.$b=function(t,e){return function(t,e){var n;if(Fb(),t.c==e.c){if(t.b==e.b||function(t,e){return jw(),t==yF&&e==xF||t==xF&&e==yF||t==wF&&e==mF||t==mF&&e==wF}(t.b,e.b)){if(n=function(t){return t==yF||t==xF}(t.b)?1:-1,t.a&&!e.a)return n;if(!t.a&&e.a)return-n}return Bu(t.b.e,e.b.e)}return Ox(t.c,e.c)}(t,e)},Bp(yP,"RectilinearConvexHull/lambda$4$Type",576),ZN(469,1,{},Tb),Bp(yP,"Scanline",469),ZN(662,1,{}),Bp(wP,"AbstractGraphPlacer",662),ZN(222,1,{222:1},Kh),Bp(wP,"ComponentGroup",222),ZN(434,662,{},Mr),eI.Fc=function(t,e){var n,r,i,o,a,s,c,u,l,h,f,d;if(this.a.c=Ty(TD,GI,1,0,4,1),e.b.c=Ty(TD,GI,1,0,4,1),t.V())return e.e.a=0,void(e.e.b=0);for(M_(e,i=Uf(t.sb(0),55)),r=t.mb();r.G();)z_(this,Uf(r.H(),55));for(f=new uo,d=2*Uf(kx(i,($L(),wq)),15).a,s=new Kn(this.a);s.ah&&(x=0,_+=l+m,l=0),iS(o,x+(p=o.d).a,_+p.b),p.a=0,p.b=0,n=Fo(n,x+b.a),l=Fo(l,b.b),x+=b.a+m;if(e.e.a=n,e.e.b=_+l,v=Uf(kx(e,wq),15).a,io(oo(Sh(kx(i,(ZL(),Hq)))))){for(GL(r=new B,t,v),u=t.mb();u.G();)Ih(Lc(Uf(u.H(),55).d),r.e);Ih(Lc(e.e),r.a)}gy(e,t)}else(y=Uf(t.sb(0),55))!=e&&(e.b.c=Ty(TD,GI,1,0,4,1),gS(e,y,0,0),M_(e,y),kd(e.a,y.a),e.e.a=y.e.a,e.e.b=y.e.b)},Bp(wP,"SimpleRowGraphPlacer",432),ZN(433,1,TI,H),eI.$b=function(t,e){return function(t,e){var n;return 0==(n=e.k-t.k)?Ox(t.e.a*t.e.b,e.e.a*e.e.b):n}(Uf(t,55),Uf(e,55))},Bp(wP,"SimpleRowGraphPlacer/1",433),ZN(369,1,kP,ke),eI.sc=function(t,e){UL(t,e)},Bp(TP,"CompoundGraphPostprocessor",369),ZN(370,1,mP,Y),eI.D=function(t){var e;return!!(e=Uf(kx(Uf(t,114).b,(JL(),kj)),44))&&0!=e.b},Bp(TP,"CompoundGraphPostprocessor/1",370),ZN(368,1,kP,Xc),eI.sc=function(t,e){ik(this,t,e)},Bp(TP,"CompoundGraphPreprocessor",368),ZN(187,1,{187:1},S_),eI.c=!1,Bp(TP,"CompoundGraphPreprocessor/ExternalPort",187),ZN(114,1,{114:1},vf),eI.w=function(){return ph(this.c)+":"+Pm(this.b)},Bp(TP,"CrossHierarchyEdge",114),ZN(310,1,TI,cn),eI.$b=function(t,e){return function(t,e,n){var r,i;return e.c==(nw(),Rq)&&n.c==Dq?-1:e.c==Dq&&n.c==Rq?1:(r=_E(e.a,t.a),i=_E(n.a,t.a),e.c==Rq?i-r:r-i)}(this,Uf(t,114),Uf(e,114))},Bp(TP,"CrossHierarchyEdgeComparator",310),ZN(147,131,{179:1,131:1,147:1,3:1}),eI.k=0,Bp(NP,"LGraphElement",147),ZN(12,147,{179:1,131:1,12:1,147:1,3:1},jg),eI.w=function(){return Pm(this)};var IF=Bp(NP,"LEdge",12);ZN(55,147,{179:1,131:1,55:1,147:1,3:1,22:1},Bm),eI.mb=function(){return new Kn(this.c)},eI.w=function(){return 0==this.c.c.length?"G-unlayered"+nC(this.b):0==this.b.c.length?"G-layered"+nC(this.c):"G[layerless"+nC(this.b)+", layers"+nC(this.c)+"]"};var MF=Bp(NP,"LGraph",55);ZN(273,1,{}),eI.pc=function(){return this.e.j},Bp(NP,"LGraphAdapters/AbstractLShapeAdapter",273),ZN(240,1,{627:1},un),eI.b=null,Bp(NP,"LGraphAdapters/LEdgeAdapter",240),ZN(325,1,{},Ts),eI.pc=function(){return this.a.e},eI.b=null,eI.c=!1,Bp(NP,"LGraphAdapters/LGraphAdapter",325),ZN(224,273,{129:1,224:1},ln),Bp(NP,"LGraphAdapters/LLabelAdapter",224),ZN(555,273,{626:1},Cs),eI.a=null,eI.b=null,eI.c=!1,Bp(NP,"LGraphAdapters/LNodeAdapter",555),ZN(556,273,{161:1},Ns),eI.a=null,eI.b=null,eI.c=null,eI.d=!1,Bp(NP,"LGraphAdapters/LPortAdapter",556),ZN(557,1,TI,z),eI.$b=function(t,e){return function(t,e){var n,r,i,o;if(0!=(o=t.g.e-e.g.e))return o;if(n=Uf(kx(t,(JL(),Yj)),24),r=Uf(kx(e,Yj),24),n&&r&&0!=(i=n.a-r.a))return i;switch(t.g.e){case 1:return Ox(t.i.a,e.i.a);case 2:return Ox(t.i.b,e.i.b);case 3:return Ox(e.i.a,t.i.a);case 4:return Ox(e.i.b,t.i.b);default:throw new ko(AP)}}(Uf(t,7),Uf(e,7))},Bp(NP,"LGraphAdapters/PortComparator",557),ZN(168,1,{168:1},je,Hg),eI.t=function(t){var e;return!!dl(t,168)&&(e=Uf(t,168),this.d==e.d&&this.a==e.a&&this.b==e.b&&this.c==e.c)},eI.v=function(){var t;return t=wv(oo(this.b))<<16,(t|=wv(oo(this.a))&xI)^(wv(oo(this.c))<<16|wv(oo(this.d))&xI)},eI.w=function(){return"Insets[top="+this.d+",left="+this.b+",bottom="+this.a+",right="+this.c+"]"},eI.a=0,eI.b=0,eI.c=0,eI.d=0,Bp(NP,"LInsets",168),ZN(165,147,{179:1,131:1,147:1,165:1,3:1}),Bp(NP,"LShape",165),ZN(33,165,{179:1,131:1,147:1,33:1,165:1,3:1},Eu),eI.w=function(){return null==this.a?"l_"+this.k:"l_"+this.a},Bp(NP,"LLabel",33),ZN(9,165,{179:1,131:1,147:1,9:1,165:1,3:1},Tk),eI.w=function(){return bv(this)};var PF,DF,RF,jF,GF,BF,FF=Bp(NP,"LNode",9);ZN(132,17,{132:1,3:1,23:1,17:1},Ss);var HF,YF,zF,UF,VF,qF,XF=tm(NP,"LNode/NodeType",132,RD,(function(){return RT(),Nx(Mo(XF,1),FI,132,0,[GF,jF,DF,BF,RF,PF])}));ZN(7,165,{179:1,131:1,147:1,7:1,165:1,3:1},TT),eI.w=function(){var t;return null==(t=ay(this))?"p_"+this.k:"p_"+t};var WF=Bp(NP,"LPort",7);ZN(399,1,mP,U),eI.D=function(t){return jh(t)},Bp(NP,"LPort/1",399),ZN(400,1,mP,V),eI.D=function(t){return Rh(t)},Bp(NP,"LPort/2",400),ZN(401,1,mP,q),eI.D=function(t){return Uf(t,7).g==(mL(),IG)},Bp(NP,"LPort/3",401),ZN(402,1,mP,X),eI.D=function(t){return Uf(t,7).g==(mL(),LG)},Bp(NP,"LPort/4",402),ZN(403,1,mP,W),eI.D=function(t){return Uf(t,7).g==(mL(),$G)},Bp(NP,"LPort/5",403),ZN(404,1,mP,$),eI.D=function(t){return Uf(t,7).g==(mL(),KG)},Bp(NP,"LPort/6",404),ZN(190,1,aM,hn),eI.mb=function(){return new fn(new Kn(this.a.b))},Bp(NP,"LPort/7",190),ZN(405,1,qI,fn),eI.H=function(){return Uf(Jv(this.a),12).c},eI.G=function(){return pl(this.a)},eI.I=function(){fp(this.a)},Bp(NP,"LPort/7/1",405),ZN(169,1,aM,dn),eI.mb=function(){return new pn(new Kn(this.a.e))},Bp(NP,"LPort/8",169),ZN(304,1,qI,pn),eI.H=function(){return Uf(Jv(this.a),12).d},eI.G=function(){return pl(this.a)},eI.I=function(){fp(this.a)},Bp(NP,"LPort/8/1",304),ZN(16,147,{179:1,131:1,147:1,16:1,3:1,22:1},Ep),eI.mb=function(){return new Kn(this.a)},eI.w=function(){return"L_"+Qy(this.b.c,this,0)+nC(this.a)},Bp(NP,"Layer",16),ZN(437,1,kP,Z),eI.sc=function(t,e){var n,r,i,o;for(HE(e,"Big nodes intermediate-processing",1),this.a=t,r=new Kn(this.a.c);r.ao?50:o,n=new Re,d=o+this.d,l=new Kn(h);l.ad){for(f=1,r=a.j.a;r>o;)++f,r=(a.j.a-(f-1)*this.d)/f;Lf(n,new Bb(this,a,f,r))}for(s=new Kn(n);s.aa?50:a,n=new Re,p=a+this.d,h=new Kn(f);h.ap){for(d=1,r=s.j.a;r>a;)++d,r=(s.j.a-(d-1)*this.d)/d;Lf(n,new nv(this,s,d))}for(c=new Kn(n);c.a0||l.g==KG&&l.b.c.length-l.e.c.length<0)){n=!1;break}if(l.g==KG)for(i=new Kn(l.e);i.a0&&(t.a=c+(f-1)*i,e.d.b+=t.a,e.e.b+=t.a),0!=d.a.Y()&&(f=fO(new wC(1,i),e,d,p,e.e.b+c-e.d.b))>0&&(e.e.b+=c+(f-1)*i)}(this,t,n),function(t){var e,n,r,i,o,a,s,c,u,l,h,f,d,p,g,v,b,y,m,w,x,_,E;for(y=new Re,l=new Kn(t.c);l.a0&&RS((_y(0,n.c.length),Uf(n.c[0],16)),t),n.c.length>1&&RS(Uf(gd(n,n.c.length-1),16),t),H_(e)},Bp(SP,"HierarchicalPortPositionProcessor",454),ZN(471,1,kP,ht),eI.sc=function(t,e){var n,r,i,o,a,s,c,u,l,h,f;for(HE(e,"Hyperedge merging",1),l=new Kv(t.c,0);l.b(d=f.c.length)+1?Lf(l,new es(c,(_y(h=(s+d)/2|0,a.c.length),Uf(a.c[h],9)))):d>s+1&&Lf(l,new es(c,(_y(h=((d-s)/2|0)-1,f.c.length),Uf(f.c[h],9))))}for(v=new Kn(l);v.a=2){for(c=!0,_y(1,s.c.length),p=Uf(s.c[1],16),h=new Kn(r.a);h.a=2){for(c=!0,g=Uf(gd(s,s.c.length-2),16),h=new Kn(i.a);h.an?c:n}t.e.b=c-u,t.d.b-=u,H_(e)},Bp(SP,"LayerSizeAndGraphHeightCalculator",496),ZN(497,1,kP,St),eI.sc=function(t,e){var n,r,i,o;for(HE(e,"Edge joining",1),n=io(oo(Sh(kx(t,(ZL(),Bq))))),r=new Kn(t.c);r.a0&&Lf(t.p,l),Lf(t.o,l);d=c+(e-=r),u+=e*t.e,Kb(t.a,s,W_(d)),Kb(t.b,s,u),t.j=Yo(t.j,d),t.k=Fo(t.k,u),t.d+=e,e+=g}}(this),this.q=Uf(kx(t,(ZL(),aX)),109),c=Uf(kx(this.g,sX),24).a,i=new Mt,this.q.e){case 2:case 1:default:LO(this,i);break;case 3:for(this.q=(nA(),aY),LO(this,i),a=0,o=new Kn(this.a);o.athis.j&&(this.q=tY,LO(this,i));break;case 4:for(this.q=(nA(),aY),LO(this,i),s=0,r=new Kn(this.b);r.athis.k&&(this.q=rY,LO(this,i));break;case 6:LO(this,new _n(wv(Mc(this.f.length*c/100))));break;case 5:LO(this,new En(wv(Mc(this.d*c/100))))}!function(t,e){var n,r,i,o,a,s;for(i=new Re,n=0;n<=t.i;n++)(r=new Ep(e)).k=t.i-n,i.c[i.c.length]=r;for(s=new Kn(t.o);s.a=2){for(p=!0,n=Uf(Jv(h=new Kn(o.f)),7);h.a(r-=t.a)?i:r}return i}(this,t),d=t.c.c.length,g=function(t,e){var n,r,i,o,a;for(r=0,n=new Kn(e.c);n.a(a=(i=Uf(Jv(o),9)).j.a+i.e.c+i.e.b+t.b)?r:a;return r}(this,t),N=d*g,(r=(i=Uf(kx(t,(JL(),pj)),59))==(E_(),AR)||i==SR||i==OR?Uf(kx(t,AV),15).a:1/Uf(kx(t,AV),15).a)>(n=N/p))H_(e);else{T=0,o=jP;do{f=o,o=(n=N/++T/(p*T))-r<=0?0-(n-r):n-r}while(n>r);for(fT?1:T)|0,w=E,O=!0;u=E&&(O=!0),++w,++u}for(l=new Kv(t.c,0);l.b "+this.a+" "+ph(this.c)},eI.a=0,eI.b=0,eI.d=0,Bp(SP,"SplineSelfLoopRouter/LoopPadding",91),ZN(521,1,mP,Jf),eI.D=function(t){return function(t,e){return!!function(t){switch(t.e){case 0:return iU;case 1:return eU;case 2:return tU;case 3:return sU;case 4:return aU;case 5:return fU;case 6:return hU;case 7:return oU;case 8:return nU;case 9:return rU;case 11:return uU;case 10:return cU;default:return lU}}(t.b).kb(e.c)&&(function(t){return t==Zz||t==Xz}(t.b)?!(Wf(e.d,t.c,t.a)&&Wf(e.a,t.c,t.a)):Wf(e.d,t.c,t.a)&&Wf(e.a,t.c,t.a))}(this,Uf(t,91))},eI.a=0,eI.c=0,Bp(SP,"SplineSelfLoopRouter/LoopPadding/EnclosingPredicate",521),ZN(520,1,TI,te),eI.$b=function(t,e){return function(t,e){return Ox(e.b,t.b)}(Uf(t,91),Uf(e,91))},Bp(SP,"SplineSelfLoopRouter/LoopPadding/MarginComparator",520),ZN(196,1,mP,kn),eI.D=function(t){return Uf(t,91).c==this.a},Bp(SP,"SplineSelfLoopRouter/LoopPadding/PortSidePredicate",196),ZN(195,1,{195:1},_b),eI.c=0,eI.d=0,eI.e=0,Bp(SP,"SplineSelfLoopRouter/SelfLoopEdge",195),ZN(519,1,TI,ee),eI.$b=function(t,e){return function(t,e){return t.d-e.d}(Uf(t,195),Uf(e,195))},Bp(SP,"SplineSelfLoopRouter/SelfLoopEdge/StepSizeComparator",519),ZN(82,25,{25:1,82:1},NN),eI.vc=function(){var t,e;for(t=Sk(this.a,0);t.b!=t.d.c;)Uf(Sb(t),10).a=this.j.d;for(e=Sk(this.c,0);e.b!=e.d.c;)Uf(Sb(e),10).a=this.j.d},eI.wc=function(){return this.b},eI.xc=function(){return this.e},eI.w=function(){return nC(new Un(this.d.a))},eI.b=0,eI.e=0,Bp(HP,"CLEdge",82),ZN(93,25,{25:1,93:1},rS),eI.vc=function(){this.b.i.a=this.j.d+this.b.e.b},eI.wc=function(){return this.b.g==(RT(),DF)?0:this.a},eI.xc=function(){return this.b.g==(RT(),DF)?0:this.c},eI.w=function(){return Uk(kx(this.b,($L(),oq)))},eI.a=0,eI.c=0,Bp(HP,"CLNode",93),ZN(175,17,{175:1,3:1,23:1,17:1},Ds);var dY,pY,gY,vY,bY,yY,mY,wY=tm(HP,"ConstraintCalculationStrategy",175,RD,(function(){return Nb(),Nx(Mo(wY,1),FI,175,0,[lY,hY])}));ZN(125,17,{125:1,3:1,23:1,17:1},Rs);var xY,_Y,EY,kY=tm(HP,"GraphCompactionStrategy",125,RD,(function(){return pC(),Nx(Mo(kY,1),FI,125,0,[yY,gY,mY,bY,vY,pY])}));ZN(455,1,kP,Uu),eI.sc=function(t,e){var n,r,i;if((r=Uf(kx(t,(ZL(),lX)),125))!=(pC(),yY)){switch(HE(e,"Horizontal Compaction",1),this.a=t,vo(n=new mN(function(t,e){var n,r,i;t.d=e,my(t.b),t.c=!1;t:for(n=new Kn(t.d.c);n.ao.j.e+o.j.b?d.d=!0:(d.d=!0,d.c=!0))),r.b!=r.d.c&&(e=n);d&&(a=Uf(Jp(y,c.d.f),25),e.ba.j.e+a.j.b?d.d=!0:(d.d=!0,d.c=!0))}for(u=Ip(q_(v));tE(u);)0!=(c=Uf(Nv(u),12)).a.b&&(e=Uf(Fl(c.a),10),c.d.g==(mL(),IG)&&((E=new LA(e,new ts(e.a,o.j.e),o,c)).c=!0,_.c[_.c.length]=E),c.d.g==$G&&((E=new LA(e,new ts(e.a,o.j.e+o.j.b),o,c)).d=!0,_.c[_.c.length]=E))}if(0!=_.c.length){for(zg(),xb(_,null),_y(0,_.c.length),i=new NN(Uf(_.c[0],142),t.d),f=1;f<_.c.length;f++)_y(f,_.c.length),x=Uf(_.c[f],142),!Xy(i.j.d,x.j)||DE(i.j.e+i.j.b,x.k)||DE(x.n,i.j.e)?(Lf(t.a.b,i),i=new NN(x,t.d)):_O(i,x);Lf(t.a.b,i)}_.c=Ty(TD,GI,1,0,4,1),function(t){var e,n,r,i;for(t.a.a.c=Ty(TD,GI,1,0,4,1),r=new Kn(t.a.b);r.a(r=Math.ceil(r))?0:r,e.o&&o.o&&dl(e,82)&&dl(o,82)&&!Im(Km(Uf(e,82).d,Uf(o,82).d))?(i=ol(new Gr,t.d),s=wv(Mc(o.g.a-e.g.a)),mA(ga(ba(ya(va(new jr,0>s?0:s),1),i),t.c[e.f.d])),mA(ga(ba(ya(va(new jr,0>-s?0:-s),1),i),t.c[o.f.d]))):(u=1,(dl(e,82)&&dl(o,93)||dl(o,82)&&dl(e,93))&&(u=2),mA(ga(ba(ya(va(new jr,wv(r)),u),t.c[e.f.d]),t.c[o.f.d]))))}(this),function(t){var e,n,r,i,o,a,s,c,u,l,h,f,d,p,g,v,b;for(_l(),l=new kr,c=new $s,r=new Kn(t.a.a.b);r.ae.j.d){if((d=t.c[e.f.d])==(v=t.c[h.f.d]))continue;mA(ga(ba(ya(va(new jr,1),100),d),v))}}}(this),function(t){var e,n,r,i,o,a;for(i=new lo,r=new Kn(t.d.a);r.a1)for(e=ol(wa(new Gr,t.b++),t.d),a=Sk(i,0);a.b!=a.d.c;)o=Uf(Sb(a),61),mA(ga(ba(ya(va(new jr,1),0),e),o))}(this),vS(Jh(this.d),new Uh),i=new Kn(this.a.a.b);i.a0&&(this.a[B.k]=Z++)}else{for(M=0,F=new Kn(C.f);F.a0&&++Z}for(et=0,S=0,I=e.length;S0;){for(Lu(z.b>0),Y=0,a=new Kn((B=Uf(z.a.sb(z.c=--z.b),7)).b);a.a0&&(B.g==(mL(),IG)?(this.a[B.k]=et,++et):(this.a[B.k]=et+P+R,++R))}et+=R}else{for(M=0,F=new Kn(C.f);F.a0&&++et}for(H=new kr,p=new Ji,N=0,O=t.length;Nl.c&&(l.c=U)):B.f.d==$&&(Ul.d&&(l.d=U));for(Hk(g,0,g.length,(ec(),ec(),HX)),tt=Ty(iW,vM,26,g.length,12,1),n=Ty(iW,vM,26,et+1,12,1),b=0;b0;)x%2>0&&(r+=it[x+1]),++it[x=(x-1)/2|0];for(k=Ty(CY,GI,158,2*g.length,0,1),w=0;we.f?1:t.ge.g?1:t.b-e.b}(this,Uf(t,204))},eI.b=0,eI.c=0,eI.d=0,eI.f=0,eI.g=0;var TY=Bp(YP,"BetweenLayerHyperedgeAllCrossingsCounter/Hyperedge",204);ZN(158,1,{158:1,23:1},Eg),eI.F=function(t){return function(t,e){return t.ce.c?1:t.be.b?1:t.a!=e.a?t.a.b-e.a.b:0==t.d&&1==e.d?-1:1==t.d&&0==e.d?1:0}(this,Uf(t,158))},eI.b=0,eI.c=0,eI.d=0;var CY=Bp(YP,"BetweenLayerHyperedgeAllCrossingsCounter/HyperedgeCorner",158);ZN(611,339,{},Xi),eI.Gc=function(t,e){var n,r,i,o,a,s,c,u,l,h,f,d,p,g,v,b,y,m,w,x,_,E;for(E=0,i=0,a=t[0].d,m=e[0].d,u=0,h=e.length;u0;){for(Lu(y.b>0),b=0,r=new Kn((g=Uf(y.a.sb(y.c=--y.b),7)).b);r.a0&&(g.g==(mL(),IG)?(this.a[g.k]=E,++E):(this.a[g.k]=E+d+p,++p),i+=b)}E+=p}else{for(f=0,v=new Kn(s.f);v.a0&&(++E,i+=f)}for(w=Ty(iW,vM,26,i,12,1),o=0,c=0,l=t.length;c0;)o%2>0&&(r+=s[o+1]),++s[o=(o-1)/2|0];return r}(E,i,w),n},Bp(YP,"BetweenLayerStraightEdgeAllCrossingsCounter",611),ZN(338,1,{},gC),eI.b=0,eI.e=!1,Bp(YP,"CrossingMatrixFiller",338),ZN(447,1,kP,ne),eI.sc=function(t,e){var n,r;HE(e,"Greedy switch crossing reduction",1),this.e=Uf(kx(t,(ZL(),Qq)),110),t.c.c.length<2||this.e==(TO(),lV)||(function(t,e){var n,r,i,o,a,s,c,u;for(t.f=e,i=e.c.c.length,t.a=Ty(FF,hI,51,i,0,2),t.d=Ty(FF,hI,51,i,0,2),t.g=Ty(FF,hI,51,i,0,2),a=new Kv(e.c,0);a.bPh(t.d,Gu(e.a,e.b))?-1:t.c==e.c&&Gu(t.a,t.b)==Gu(t.a,t.b)?0:1}(this,Uf(t,226))},eI.w=function(){return"ComparableEdgeAndPort [port="+this.b+", edge="+this.a+", portPosition="+this.c+"]"},eI.c=0,Bp(YP,"InLayerEdgeTwoNodeCrossingCounter/ComparableEdgeAndPort",226),ZN(612,1,{},tT),eI.e=!0,eI.f=0,eI.g=0,eI.k=!1,Bp(YP,"NorthSouthEdgeAllCrossingsCounter",612),ZN(615,1,{},qw),eI.b=0,eI.d=0,eI.e=!1,Bp(YP,"NorthSouthEdgeNeighbouringNodeCrossingsCounter",615),ZN(143,1,aM,zh),eI.mb=function(){return bA(this)},eI.b=0,Bp(YP,"PortIterable",143),ZN(344,1,qI,Lv),eI.H=function(){return Uf(dp(this.a),7)},eI.G=function(){return this.a.b>0},eI.I=function(){throw new Kr},Bp(YP,"PortIterable/1",344),ZN(336,1,{},BT),Bp(YP,"SwitchDecider",336),ZN(89,1,{89:1},re),eI.w=function(){return"NEdge[id="+this.b+" w="+this.f+" d="+this.a+"]"},eI.a=1,eI.b=0,eI.e=!1,eI.f=0;var NY=Bp(UP,"NEdge",89);ZN(157,1,{},jr),Bp(UP,"NEdge/NEdgeBuilder",157),ZN(278,1,{},Rr),Bp(UP,"NGraph",278),ZN(61,1,{61:1},Rb),eI.b=0,eI.d=-1,eI.e=0,eI.i=-1,eI.j=!1;var AY,SY,OY=Bp(UP,"NNode",61);ZN(333,13,xP,Ur),eI.rb=function(t,e){++this.d,xy(t,this.c.length),Ac(this.c,t,e)},eI.ib=function(t){return Tp(this,t)},eI.jb=function(t){return++this.d,ox(this,t)},eI.Q=function(){++this.d,this.c=Ty(TD,GI,1,0,4,1)},eI.vb=function(t){return++this.d,yy(this,t)},eI.nb=function(t){return Du(this,t)},Bp(UP,"NNode/ChangeAwareArrayList",333),ZN(199,1,{},Gr),Bp(UP,"NNode/NNodeBuilder",199),ZN(595,1,{},ie),eI.a=!1,eI.f=yI,eI.j=0,Bp(UP,"NetworkSimplex",595),ZN(193,17,{180:1,193:1,3:1,23:1,17:1},js),eI.rc=function(){switch(this.e){case 0:return new Mf;case 1:return new _e;default:throw new so("No implementation is available for the cycle breaker "+(null!=this.d?this.d:""+this.e))}};var LY,IY,MY,PY,DY,RY,jY=tm(qP,"CycleBreakingStrategy",193,RD,(function(){return Vg(),Nx(Mo(jY,1),FI,193,0,[AY,SY])}));ZN(539,1,XP,Mf),eI.qc=function(t){return IY},eI.sc=function(t,e){var n,r,i,o,a,s,c,u,l,h,f,d,p,g,v,b,y,m,w,x,_,E,k,T,C,N,A,S,O,L;for(HE(e,"Greedy cycle removal",1),L=(b=t.b).c.length,this.a=Ty(iW,vM,26,L,12,1),this.c=Ty(iW,vM,26,L,12,1),this.b=Ty(iW,vM,26,L,12,1),s=0,g=new Kn(b);g.a0?T+1:1);for(i=new Kn(w.e);i.a0?T+1:1)}0==this.c[s]?Of(this.d,d):0==this.a[s]&&Of(this.e,d),++s}for(f=-1,h=1,u=new Re,C=Uf(kx(t,($L(),bq)),154);L>0;){for(;0!=this.d.b;)A=Uf(wf(this.d),9),this.b[A.k]=f--,PS(this,A),--L;for(;0!=this.e.b;)S=Uf(wf(this.e),9),this.b[S.k]=h++,PS(this,S),--L;if(L>0){for(l=kI,v=new Kn(b);v.a=l&&(y>l&&(u.c=Ty(TD,GI,1,0,4,1),l=y),u.c[u.c.length]=d);c=Uf(gd(u,$k(C,u.c.length)),9),this.b[c.k]=h++,PS(this,c),--L}}for(N=b.c.length+1,s=0;sthis.b[O]&&(QS(n,!0),Ky(t,HV,(Vd(),Vd(),AX)));this.a=null,this.c=null,this.b=null,Mg(this.e),Mg(this.d),H_(e)},Bp(qP,"GreedyCycleBreaker",539),ZN(540,1,XP,_e),eI.qc=function(t){return MY},eI.sc=function(t,e){var n,r,i,o,a,s,c,u,l,h,f,d;for(HE(e,"Interactive cycle breaking",1),u=new Re,h=new Kn(t.b);h.a0&&LC(this,a,u);for(r=new Kn(u);r.a(a=s+u.j.a)?s+1:a,g=new Kv(n,0),r=null;g.b=a){Lu(g.b>0),g.a.sb(g.c=--g.b);break}d.a>s&&(r?(ox(r.b,d.b),r.a=Fo(r.a,d.a),ug(g)):(Lf(d.b,u),d.c=zo(d.c,s),d.a=Fo(d.a,a),r=d))}r||((r=new Br).c=s,r.a=a,ef(g,r),Lf(r.b,u))}for(o=t.c,c=0,p=new Kn(n);p.a0&&(n+=a.i.a+a.j.a/2,++u),l=new Kn(a.f);l.a1&&(t.c[l]=!0):y.g==KG&&y.e.c.length+y.b.c.length>1&&(t.d[l]=!0)}g.g==(RT(),BF)&&(++s[l],o[l]=!0)}for(n=!0,p=!0,a=0;a0;N++){c=(u=0!=LN(C,1))?0:g-1,s=this.b[c],k=0!=LN(C,1)?_:y,rE(s,i,u,!1,!0),o=yI,a=!0;do{if(Dw(this.b,this.k),T=o,o=0,o+=im(this.f,s,c),u){for(v=1;v=0;v--)l=this.b[v],by(k,s,(nw(),Dq)),rE(l,i,!1,!a,!1),o+=im(this.f,l,v),this.c[v]||this.d[v+1]?o+=QL(this.e,l,s):o+=zL(this.i,l,s),s=l;c=0}a=!1,u=!u}while(o0);(or?o:r;if(o>a){for(l=yE(t,n).mb();l.G();)f[(u=Uf(l.H(),7)).k]=e+zN(n,u.g)-a;return o-a}return 0}switch(n.e){case 1:for(i=0,s=0,h=new Kn(t.f);h.a"),te.e?1:t.fe.f?1:fh(t)-fh(e)}(this,Uf(t,197))},eI.b=0,eI.c=0,eI.e=0,eI.f=0;var tz=Bp(rD,"HyperedgeCrossingsCounter/Hyperedge",197);ZN(156,1,{156:1,23:1},Bg),eI.F=function(t){return function(t,e){return t.ce.c?1:t.be.b?1:t.a!=e.a?fh(t.a)-fh(e.a):t.d==(hb(),nz)&&e.d==ez?-1:t.d==ez&&e.d==nz?1:0}(this,Uf(t,156))},eI.b=0,eI.c=0;var ez,nz,rz=Bp(rD,"HyperedgeCrossingsCounter/HyperedgeCorner",156);ZN(242,17,{242:1,3:1,23:1,17:1},sc);var iz,oz,az,sz,cz=tm(rD,"HyperedgeCrossingsCounter/HyperedgeCorner/Type",242,RD,(function(){return hb(),Nx(Mo(cz,1),FI,242,0,[nz,ez])}));ZN(545,1,XP,Ae),eI.qc=function(t){return Uf(kx(t,($L(),WV)),18).kb((KA(),nV))?iz:null},eI.sc=function(t,e){var n;for(HE(e,"Interactive node placement",1),this.a=Uf(kx(t,($L(),xq)),134),n=new Kn(t.c);n.a(C=Uf(kx(n,($L(),gq)),24).a)?h:C;for(r=new Kn(k.e);r.a(C=Uf(kx(n,($L(),gq)),24).a)?E:C}Ky(m,az,W_(h)),Ky(m,sz,W_(E))}for(v=0,f=new Kn(e.c);f.a=0){for(c=null,s=new Kv(l.a,u+1);s.b0&&u[r]&&(p=rf(t.b,u[r],c)),g=Fo(g,i.d.c.b+p);for(o=new Kn(l.f);o.aw)?(c=2,a=yI):0==c?(c=1,a=_):(c=0,a=_):(f=_>=a||a-_0?(l=Uf(gd(h.d.a,o-1),9),E=Tf(t.b,h,l),g=h.i.b-h.e.d-(l.i.b+l.j.b+l.e.a+E)):g=h.i.b-h.e.d,c=g0?E:0,d.c=n,d.d=Uf(Jp(m,u.c.f),61),Tp(d.c.g,d),Tp(d.d.c,d),(C=new re).f=jk(u),C.a=E<0?-E:0,C.c=n,C.d=Uf(Jp(m,u.d.f),61),Tp(C.c.g,C),Tp(C.d.c,C));for(i=Uf(kx(t,(ZL(),gX)),24).a*wv(Math.sqrt(y)),vS(bo(yo(Jh(r),i),!1),Mw(e,1)),g=new Kn(r.a);g.aa&&(a=Uf(kx(n,gq),24).a);for(r=Ip(q_(s));tE(r);)n=Uf(Nv(r),12),s.d!=n.c.f.d&&Uf(kx(n,($L(),gq)),24).a==a&&Lf(u,new es(n.c.f,n));xb(u,t.c),Id(t.b,s.k,u)}}(h,t),h.f=Ol(h.d),function(t,e){var n,r,i,o,a,s,c,u;for(o=new Kn(e.c);o.aa&&(a=Uf(kx(n,gq),24).a);for(r=Ip(X_(s));tE(r);)n=Uf(Nv(r),12),s.d!=n.d.f.d&&Uf(kx(n,($L(),gq)),24).a==a&&Lf(u,new es(n.d.f,n));xb(u,t.c),Id(t.f,s.k,u)}}(h,t),h}(t),this.a=io(oo(Sh(kx(t,(ZL(),Vq))))),this.e=Zc(kx(t,Kq))===Zc((MT(),VU)),function(t,e){var n,r,i,o,a,s,c,u,l,h,f,d,p,g,v,b,y,m;if(!((g=e.c.c.length)<3)){for(d=Ty(iW,vM,26,g,12,1),h=0,l=new Kn(e.c);l.aa)&&Np(t.c,Uf(v.b,12));++s}o=a}}}(this,t),Cm(4,dM),f=new cm(4),Uf(kx(t,Kq),124).e){case 3:d=new yA(t,this.d.d,(ub(),xz),(dv(),yz)),f.c[f.c.length]=d;break;case 1:p=new yA(t,this.d.d,(ub(),_z),(dv(),yz)),f.c[f.c.length]=p;break;case 4:b=new yA(t,this.d.d,(ub(),xz),(dv(),mz)),f.c[f.c.length]=b;break;case 2:y=new yA(t,this.d.d,(ub(),_z),(dv(),mz)),f.c[f.c.length]=y;break;default:d=new yA(t,this.d.d,(ub(),xz),(dv(),yz)),p=new yA(t,this.d.d,_z,yz),b=new yA(t,this.d.d,xz,mz),y=new yA(t,this.d.d,_z,mz),f.c[f.c.length]=b,f.c[f.c.length]=y,f.c[f.c.length]=d,f.c[f.c.length]=p}for(n=new pc(t,this.d),o=new Kn(f);o.a_[c]&&(p=c),l=new Kn(t.b.c);l.axN(r))&&(u=r);for(!u&&(_y(0,f.c.length),u=Uf(f.c[0],81)),h=new Kn(t.c);h.a0?1:r<0?-1:0)}(this,Uf(t,27),Uf(e,27))},Bp(aD,"NeighborhoodInformation/NeighborComparator",598),ZN(334,1,{}),Bp(aD,"ThresholdStrategy",334),ZN(602,334,{},ki),eI.Ic=function(t,e,n){return this.a.k==(ub(),_z)?fP:dP},eI.Jc=function(){},Bp(aD,"ThresholdStrategy/NullThresholdStrategy",602),ZN(249,1,{249:1},gc),eI.c=!1,eI.d=!1,Bp(aD,"ThresholdStrategy/Postprocessable",249),ZN(603,334,{},Ti),eI.Ic=function(t,e,n){var r,i,o;return i=e==n,r=this.a.a[n.k]==e,i||r?(o=t,this.a.c,dv(),i&&(o=sO(this,e,!0)),(o==1/0||o==-1/0)&&r&&(o=sO(this,n,!1)),o):t},eI.Jc=function(){for(var t,e,n;0!=this.d.b;)(e=tS(this,n=Uf(Jg(this.d),249))).a&&(t=e.a,this.c.a[t.c.f.d.k]!==this.c.a[t.d.f.d.k]&&(GN(this,n)||uu(this.e,n)));for(;0!=this.e.a.c.length;)GN(this,Uf(Ux(this.e),249))},Bp(aD,"ThresholdStrategy/SimpleThresholdStrategy",603),ZN(423,1,{180:1},ue),eI.rc=function(){switch(this.a.e){case 1:return new Yc;case 3:return new Me;default:return new Ie}},Bp(sD,"EdgeRouterFactory",423),ZN(538,1,XP,Ie),eI.qc=function(t){var e,n;return n=Uf(kx(t,($L(),WV)),18),e=new iE,n.kb((KA(),rV))&&(Iw(e,Iz),Iw(e,Pz)),(n.kb(oV)||io(oo(Sh(kx(t,(ZL(),Zq))))))&&(Iw(e,Pz),n.kb(aV)&&Iw(e,Dz)),n.kb(nV)&&Iw(e,Lz),n.kb(cV)&&Iw(e,Rz),n.kb(iV)&&Iw(e,Mz),n.kb(JU)&&Iw(e,Sz),n.kb(eV)&&Iw(e,Oz),e},eI.sc=function(t,e){var n,r,i,o,a,s,c,u,l,h,f,d;HE(e,"Orthogonal edge routing",1),f=Uf(kx(t,($L(),xq)),134),io(oo(Sh(kx(t,(JL(),dj))))),l=new wC(0,f.a),d=0,o=new Kv(t.c,0),a=null,s=null;do{u=(c=o.b0?(n=f.b+(h-1)*f.a,c&&(n+=f.b),n"+this.b},eI.c=0,Bp(sD,"OrthogonalRoutingGenerator/Dependency",118),ZN(80,1,{80:1,23:1},Ww),eI.F=function(t){return function(t,e){return t.d-e.d}(this,Uf(t,80))},eI.t=function(t){var e;return!!dl(t,80)&&(e=Uf(t,80),this.d==e.d)},eI.v=function(){return this.d},eI.w=function(){var t,e,n,r;for(t=new $o("{"),r=new Kn(this.g);r.aEP&&(i=new ts(c,h),Of(n.a,i),$A(this.a,n,t,i,!1),o=new ts(l,h),Of(n.a,o),$A(this.a,n,t,o,!1))},eI.Lc=function(t){return t.f.i.a+t.i.a+t.a.a},eI.Mc=function(){return mL(),$G},eI.Nc=function(){return mL(),IG},Bp(sD,"OrthogonalRoutingGenerator/NorthToSouthRoutingStrategy",580),ZN(581,1,{},jn),eI.Kc=function(t,e){var n,r,i,o,a,s,c,u,l,h;for(h=e-t.i*this.a.c,s=new Kn(t.g);s.aEP&&(i=new ts(c,h),Of(n.a,i),$A(this.a,n,t,i,!1),o=new ts(l,h),Of(n.a,o),$A(this.a,n,t,o,!1))},eI.Lc=function(t){return t.f.i.a+t.i.a+t.a.a},eI.Mc=function(){return mL(),IG},eI.Nc=function(){return mL(),$G},Bp(sD,"OrthogonalRoutingGenerator/SouthToNorthRoutingStrategy",581),ZN(579,1,{},Gn),eI.Kc=function(t,e){var n,r,i,o,a,s,c,u,l,h;for(h=e+t.i*this.a.c,s=new Kn(t.g);s.aEP&&(i=new ts(h,c),Of(n.a,i),$A(this.a,n,t,i,!0),o=new ts(h,l),Of(n.a,o),$A(this.a,n,t,o,!0))},eI.Lc=function(t){return t.f.i.b+t.i.b+t.a.b},eI.Mc=function(){return mL(),LG},eI.Nc=function(){return mL(),KG},Bp(sD,"OrthogonalRoutingGenerator/WestToEastRoutingStrategy",579),ZN(535,1,XP,Yc),eI.qc=function(t){var e,n;return n=Uf(kx(t,($L(),WV)),18),e=new iE,(n.kb((KA(),oV))||io(oo(Sh(kx(t,(ZL(),Zq))))))&&(Iw(e,Bz),n.kb(aV)&&Iw(e,Fz)),n.kb(JU)&&Iw(e,jz),n.kb(eV)&&Iw(e,Gz),e},eI.sc=function(t,e){var n,r,i,o,a,s,c,u,l,h,f,d,p,g,v,b,y,m,w,x;for(HE(e,"Polyline edge routing",1),h=Uf(kx(t,($L(),wq)),15).a,n=Uf(kx(t,(ZL(),$q)),15).a,v=0,0!=t.c.c.length&&(v=.4*n*(b=FN(Uf(gd(t.c,0),16)))),o=new Kv(t.c,0);o.b0&&(v-=h),DO(i,v),c=0,l=new Kn(i.a);l.a(g-p<=0?0-(g-p):g-p)?s:g-p<=0?0-(g-p):g-p;switch(u.g.e){case 0:case 4:case 1:case 3:lO(this,u,v)}c=c>s?c:s}o.b(b=FN((Lu(o.b0),o.a.sb(o.c=--o.b)),a=.4*n*c,!r&&o.b0?((f=(b+1)*this.a)=0&&(O+=(b+2)*this.a)}g=w,c=u}while(w);for(r=new Kn(N);r.a("+this.c+") "+this.b},eI.c=0,Bp(cD,"SplineEdgeRouter/Dependency",117),ZN(223,17,{223:1,3:1,23:1,17:1},vc);var CU,NU,AU,SU,OU,LU,IU=tm(cD,"SplineEdgeRouter/SideToProcess",223,RD,(function(){return pv(),Nx(Mo(IU,1),FI,223,0,[EU,kU])}));ZN(77,1,{77:1,23:1},KC,MO),eI.F=function(t){return function(t,e){return t.i-e.i}(this,Uf(t,77))},eI.a=0,eI.b=0,eI.e=0,eI.f=!1,eI.i=0,eI.k=0,eI.n=0,eI.p=0,Bp(cD,"SplineEdgeRouter/SplineHyperEdge",77),ZN(123,17,{123:1,3:1,23:1,17:1},bc);var MU,PU,DU,RU,jU=tm(dD,"ContentAlignment",123,RD,(function(){return PT(),Nx(Mo(jU,1),FI,123,0,[LU,OU,SU,NU,CU,AU])}));ZN(218,17,{218:1,3:1,23:1,17:1},yc);var GU,BU,FU,HU,YU,zU=tm(dD,"EdgeConstraint",218,RD,(function(){return Dx(),Nx(Mo(zU,1),FI,218,0,[DU,PU,RU])}));ZN(115,17,{115:1,3:1,23:1,17:1},mc);var UU,VU,qU,XU,WU,$U,ZU,KU=tm(dD,"EdgeLabelSideSelection",115,RD,(function(){return mT(),Nx(Mo(KU,1),FI,115,0,[BU,GU,HU,FU,YU])}));ZN(124,17,{124:1,3:1,23:1,17:1},wc);var QU,JU,tV,eV,nV,rV,iV,oV,aV,sV,cV,uV=tm(dD,"FixedAlignment",124,RD,(function(){return MT(),Nx(Mo(uV,1),FI,124,0,[WU,XU,ZU,qU,$U,VU])}));ZN(113,17,{113:1,3:1,23:1,17:1},xc);var lV,hV,fV,dV,pV,gV,vV,bV,yV=tm(dD,"GraphProperties",113,RD,(function(){return KA(),Nx(Mo(yV,1),FI,113,0,[tV,nV,rV,iV,oV,aV,cV,JU,eV,sV])}));ZN(110,17,{110:1,3:1,23:1,17:1},kb),eI.a=!1,eI.b=!1,eI.c=!1;var mV,wV,xV,_V,EV=tm(dD,"GreedySwitchType",110,RD,(function(){return TO(),Nx(Mo(EV,1),FI,110,0,[hV,gV,fV,vV,dV,bV,pV,lV])}));ZN(140,17,{140:1,3:1,23:1,17:1},_c);var kV,TV,CV=tm(dD,"InLayerConstraint",140,RD,(function(){return jm(),Nx(Mo(CV,1),FI,140,0,[xV,_V,wV])}));ZN(174,17,{174:1,3:1,23:1,17:1},Ec);var NV,AV,SV,OV,LV,IV,MV,PV,DV,RV,jV,GV,BV,FV,HV,YV,zV,UV,VV,qV,XV,WV,$V,ZV,KV,QV,JV,tq,eq,nq,rq,iq,oq,aq,sq,cq,uq,lq,hq,fq,dq,pq,gq,vq,bq,yq,mq,wq,xq,_q,Eq,kq,Tq,Cq,Nq,Aq,Sq,Oq,Lq,Iq,Mq=tm(dD,"InteractiveReferencePoint",174,RD,(function(){return cb(),Nx(Mo(Mq,1),FI,174,0,[kV,TV])}));ZN(85,17,{85:1,3:1,23:1,17:1},kc);var Pq,Dq,Rq,jq,Gq=tm(dD,"LayerConstraint",85,RD,(function(){return qk(),Nx(Mo(Gq,1),FI,85,0,[Iq,Aq,Sq,Oq,Lq])}));ZN(219,17,{219:1,3:1,23:1,17:1},Tc);var Bq,Fq,Hq,Yq,zq,Uq,Vq,qq,Xq,Wq,$q,Zq,Kq,Qq,Jq,tX,eX,nX,rX,iX,oX,aX,sX,cX,uX,lX,hX,fX,dX,pX,gX,vX,bX,yX,mX,wX=tm(dD,"PortType",219,RD,(function(){return nw(),Nx(Mo(wX,1),FI,219,0,[jq,Dq,Rq])}));ZN(153,17,{153:1,3:1,23:1,17:1},Cc);var xX,_X,EX,kX,TX=tm(dD,"SelfLoopPlacement",153,RD,(function(){return ME(),Nx(Mo(TX,1),FI,153,0,[bX,mX,yX])}));ZN(134,1,{134:1},gL),eI.a=0,eI.b=0,eI.c=0,eI.d=0,eI.e=0,eI.f=0,Bp(dD,"Spacings",134),ZN(172,17,{172:1,3:1,23:1,17:1},Nc);var CX,NX,AX,SX=tm(dD,"WideNodesStrategy",172,RD,(function(){return Bw(),Nx(Mo(SX,1),FI,172,0,[_X,EX,kX])}));ZN(644,1,{}),Bp(MI,"OutputStream",644),ZN(645,644,{}),Bp(MI,"FilterOutputStream",645),ZN(291,645,{},he),Bp(MI,"PrintStream",291),ZN(255,1,{}),eI.w=function(){return this.a},Bp(OI,"AbstractStringBuilder",255),ZN(621,95,dI,Ci),Bp(OI,"ArrayIndexOutOfBoundsException",621),ZN(290,72,dI,Wr,Eo),Bp(OI,"ArrayStoreException",290),ZN(252,46,fI),Bp(OI,"Error",252),ZN(84,252,fI,Er,sm),Bp(OI,"AssertionError",84),aI={3:1,349:1,23:1};var OX=Bp(OI,"Boolean",349);sI={3:1,23:1,184:1,231:1};var LX=Bp(OI,"Double",184);ZN(15,231,{3:1,23:1,15:1,231:1},Fn,Hn),eI.F=function(t){return function(t,e){return Ox(t.a,e.a)}(this,Uf(t,15))},eI.t=function(t){return dl(t,15)&&Uf(t,15).a==this.a},eI.v=function(){return wv(this.a)},eI.w=function(){return t=this.a,si(),""+t;var t},eI.a=0;var IX,MX,PX=Bp(OI,"Float",15);ZN(101,72,dI,$r,ko),Bp(OI,"IllegalStateException",101),ZN(608,72,dI,To),Bp(OI,"NegativeArraySizeException",608),ZN(76,72,{3:1,54:1,76:1,46:1},Zr,Co),Bp(OI,"NullPointerException",76),ZN(130,29,{3:1,54:1,29:1,130:1,46:1},Ni,Zo),Bp(OI,"NumberFormatException",130),ZN(146,1,{3:1,146:1},Fg),eI.t=function(t){var e;return!!dl(t,146)&&(e=Uf(t,146),this.c==e.c&&Ag(this.d,e.d)&&Ag(this.a,e.a)&&Ag(this.b,e.b))},eI.v=function(){return $x(Nx(Mo(TD,1),GI,1,4,[W_(this.c),this.a,this.d,this.b]))},eI.w=function(){return this.a+"."+this.d+"("+(null!=this.b?this.b:"Unknown Source")+(this.c>=0?":"+this.c:"")+")"},eI.c=0;var DX,RX,jX,GX,BX,FX,HX,YX,zX=Bp(OI,"StackTraceElement",146);ZN(98,255,{345:1},ta,ea,$o),Bp(OI,"StringBuilder",98),ZN(45,72,{3:1,54:1,46:1,45:1},Kr,No),Bp(OI,"UnsupportedOperationException",45),ZN(213,638,XI),eI.Q=function(){my(this)},eI.R=function(t){return qy(this,t)},eI.ab=function(t){return Jx(this,t,this.e)||Jx(this,t,this.d)},eI.bb=function(){return new Yn(this)},eI.cb=function(t){return Jp(this,t)},eI.db=function(t,e){return wg(this,t,e)},eI.eb=function(t){return Kd(this,t)},eI.Y=function(){return Hs(this)},Bp(WI,"AbstractHashMap",213),ZN(120,641,ZI,Yn),eI.Q=function(){this.a.Q()},eI.kb=function(t){return fb(this,t)},eI.mb=function(){return new Xx(this.a)},eI.nb=function(t){var e;return!!fb(this,t)&&(e=Uf(t,21).yb(),this.a.eb(e),!0)},eI.Y=function(){return this.a.Y()},Bp(WI,"AbstractHashMap/EntrySet",120),ZN(148,1,qI,Xx),eI.H=function(){return Um(this)},eI.G=function(){return this.b},eI.I=function(){Hy(this)},eI.b=!1,Bp(WI,"AbstractHashMap/EntrySetIterator",148),ZN(162,1,qI,zn),eI.G=function(){return this.b0},eI.L=function(){return this.b},eI.M=function(){return dp(this)},eI.N=function(){return this.b-1},eI.O=function(t){nf(this,t)},Bp(WI,"AbstractList/ListIteratorImpl",43),ZN(258,647,KI,Wv),eI.rb=function(t,e){xy(t,this.b),this.c.rb(this.a+t,e),++this.b},eI.sb=function(t){return _y(t,this.b),this.c.sb(this.a+t)},eI.vb=function(t){var e;return _y(t,this.b),e=this.c.vb(this.a+t),--this.b,e},eI.wb=function(t,e){return _y(t,this.b),this.c.wb(this.a+t,e)},eI.Y=function(){return this.b},eI.a=0,eI.b=0,Bp(WI,"AbstractList/SubList",258),ZN(36,641,ZI,Un),eI.Q=function(){this.a.Q()},eI.kb=function(t){return this.a.R(t)},eI.mb=function(){return new Vn(this.a.bb().mb())},eI.nb=function(t){return!!this.a.R(t)&&(this.a.eb(t),!0)},eI.Y=function(){return this.a.Y()},Bp(WI,"AbstractMap/1",36),ZN(40,1,qI,Vn),eI.G=function(){return this.a.G()},eI.H=function(){return Uf(this.a.H(),21).yb()},eI.I=function(){this.a.I()},Bp(WI,"AbstractMap/1/1",40),ZN(211,640,$I,qn),eI.Q=function(){this.a.Q()},eI.kb=function(t){return this.a.ab(t)},eI.mb=function(){return new Xn(this.a.bb().mb())},eI.Y=function(){return this.a.Y()},Bp(WI,"AbstractMap/2",211),ZN(212,1,qI,Xn),eI.G=function(){return this.a.G()},eI.H=function(){return Uf(this.a.H(),21).zb()},eI.I=function(){this.a.I()},Bp(WI,"AbstractMap/2/1",212),ZN(210,1,{210:1,21:1}),eI.t=function(t){var e;return!!dl(t,21)&&(e=Uf(t,21),Ag(this.d,e.yb())&&Ag(this.e,e.zb()))},eI.yb=function(){return this.d},eI.zb=function(){return this.e},eI.v=function(){return Fu(this.d)^Fu(this.e)},eI.Ab=function(t){return bf(this,t)},eI.w=function(){return this.d+"="+this.e},Bp(WI,"AbstractMap/AbstractEntry",210),ZN(163,210,{210:1,163:1,21:1},Fc),Bp(WI,"AbstractMap/SimpleEntry",163),ZN(652,1,eM),eI.t=function(t){var e;return!!dl(t,21)&&(e=Uf(t,21),Ag(this.yb(),e.yb())&&Ag(this.zb(),e.zb()))},eI.v=function(){return Fu(this.yb())^Fu(this.zb())},eI.w=function(){return this.yb()+"="+this.zb()},Bp(WI,nM,652),ZN(639,638,XI),eI._=function(t){return Ey(this,t)},eI.R=function(t){return Rc(this,t)},eI.bb=function(){return new Wn(this)},eI.cb=function(t){return Kc(t_(this,t))},eI.W=function(){return new $n(this)},Bp(WI,"AbstractNavigableMap",639),ZN(287,641,ZI,Wn),eI.kb=function(t){return dl(t,21)&&Ey(this.b,Uf(t,21))},eI.mb=function(){return new ff(this.b)},eI.nb=function(t){var e;return!!dl(t,21)&&(e=Uf(t,21),jy(this.b,e))},eI.Y=function(){return this.b.c},Bp(WI,"AbstractNavigableMap/EntrySet",287),ZN(229,641,tM,$n),eI.Q=function(){fo(this.a)},eI.kb=function(t){return Rc(this.a,t)},eI.mb=function(){return new Zn(new ff(new th(this.a).b))},eI.nb=function(t){return!!Rc(this.a,t)&&(vg(this.a,t),!0)},eI.Y=function(){return this.a.c},Bp(WI,"AbstractNavigableMap/NavigableKeySet",229),ZN(230,1,qI,Zn),eI.G=function(){return Fs(this.a.a)},eI.H=function(){return gh(this.a).yb()},eI.I=function(){rd(this.a)},Bp(WI,"AbstractNavigableMap/NavigableKeySet/1",230),ZN(4,1,qI,Kn),eI.G=function(){return pl(this)},eI.H=function(){return Jv(this)},eI.I=function(){fp(this)},eI.a=0,eI.b=-1,Bp(WI,"ArrayList/1",4),ZN(94,647,gD,Qn),eI.kb=function(t){return-1!=function(t,e){var n,r;for(n=0,r=t.Y();n2e3&&(dR=t,pR=r.setTimeout(da,10)),0==fR++&&(function(t){var e,n;if(t.a){n=null;do{e=t.a,t.a=null,n=SC(e,n)}while(t.a);t.a=n}}((hi(),iR)),!0)}();try{return function(t,e,n){return t.apply(e,n)}(t,e,n)}finally{!function(t){t&&function(t){var e,n;if(t.b){n=null;do{e=t.b,t.b=null,n=SC(e,n)}while(t.b);t.b=n}}((hi(),iR)),--fR,t&&-1!=pR&&(function(t){r.clearTimeout(t)}(pR),pR=-1)}(i)}}(t,this,arguments)}},lW=lW=function(t,e,n,r){ho();var i=rI;function o(){for(var t=0;te&&(this.rect.x-=(this.labelWidth-e)/2,this.setWidth(this.labelWidth)),this.labelHeight>n&&("center"==this.labelPos?this.rect.y-=(this.labelHeight-n)/2:"top"==this.labelPos&&(this.rect.y-=this.labelHeight-n),this.setHeight(this.labelHeight))}}},u.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==i.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},u.prototype.transform=function(t){var e=this.rect.x;e>a.WORLD_BOUNDARY?e=a.WORLD_BOUNDARY:e<-a.WORLD_BOUNDARY&&(e=-a.WORLD_BOUNDARY);var n=this.rect.y;n>a.WORLD_BOUNDARY?n=a.WORLD_BOUNDARY:n<-a.WORLD_BOUNDARY&&(n=-a.WORLD_BOUNDARY);var r=new c(e,n),i=t.inverseTransformPoint(r);this.setLocation(i.x,i.y)},u.prototype.getLeft=function(){return this.rect.x},u.prototype.getRight=function(){return this.rect.x+this.rect.width},u.prototype.getTop=function(){return this.rect.y},u.prototype.getBottom=function(){return this.rect.y+this.rect.height},u.prototype.getParent=function(){return null==this.owner?null:this.owner.getParent()},t.exports=u},function(t,e,n){"use strict";function r(t,e){null==t&&null==e?(this.x=0,this.y=0):(this.x=t,this.y=e)}r.prototype.getX=function(){return this.x},r.prototype.getY=function(){return this.y},r.prototype.setX=function(t){this.x=t},r.prototype.setY=function(t){this.y=t},r.prototype.getDifference=function(t){return new DimensionD(this.x-t.x,this.y-t.y)},r.prototype.getCopy=function(){return new r(this.x,this.y)},r.prototype.translate=function(t){return this.x+=t.width,this.y+=t.height,this},t.exports=r},function(t,e,n){"use strict";var r=n(2),i=n(10),o=n(0),a=n(6),s=n(3),c=n(1),u=n(13),l=n(12),h=n(11);function f(t,e,n){r.call(this,n),this.estimatedSize=i.MIN_VALUE,this.margin=o.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=t,null!=e&&e instanceof a?this.graphManager=e:null!=e&&e instanceof Layout&&(this.graphManager=e.graphManager)}for(var d in f.prototype=Object.create(r.prototype),r)f[d]=r[d];f.prototype.getNodes=function(){return this.nodes},f.prototype.getEdges=function(){return this.edges},f.prototype.getGraphManager=function(){return this.graphManager},f.prototype.getParent=function(){return this.parent},f.prototype.getLeft=function(){return this.left},f.prototype.getRight=function(){return this.right},f.prototype.getTop=function(){return this.top},f.prototype.getBottom=function(){return this.bottom},f.prototype.isConnected=function(){return this.isConnected},f.prototype.add=function(t,e,n){if(null==e&&null==n){var r=t;if(null==this.graphManager)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(r)>-1)throw"Node already in graph!";return r.owner=this,this.getNodes().push(r),r}var i=t;if(!(this.getNodes().indexOf(e)>-1&&this.getNodes().indexOf(n)>-1))throw"Source or target not in graph!";if(e.owner!=n.owner||e.owner!=this)throw"Both owners must be this graph!";return e.owner!=n.owner?null:(i.source=e,i.target=n,i.isInterGraph=!1,this.getEdges().push(i),e.edges.push(i),n!=e&&n.edges.push(i),i)},f.prototype.remove=function(t){var e=t;if(t instanceof s){if(null==e)throw"Node is null!";if(null==e.owner||e.owner!=this)throw"Owner graph is invalid!";if(null==this.graphManager)throw"Owner graph manager is invalid!";for(var n=e.edges.slice(),r=n.length,i=0;i-1&&l>-1))throw"Source and/or target doesn't know this edge!";if(o.source.edges.splice(u,1),o.target!=o.source&&o.target.edges.splice(l,1),-1==(a=o.source.owner.getEdges().indexOf(o)))throw"Not in owner's edge list!";o.source.owner.getEdges().splice(a,1)}},f.prototype.updateLeftTop=function(){for(var t,e,n,r=i.MAX_VALUE,o=i.MAX_VALUE,a=this.getNodes(),s=a.length,c=0;c(t=u.getTop())&&(r=t),o>(e=u.getLeft())&&(o=e)}return r==i.MAX_VALUE?null:(n=null!=a[0].getParent().paddingLeft?a[0].getParent().paddingLeft:this.margin,this.left=o-n,this.top=r-n,new l(this.left,this.top))},f.prototype.updateBounds=function(t){for(var e,n,r,o,a,s=i.MAX_VALUE,c=-i.MAX_VALUE,l=i.MAX_VALUE,h=-i.MAX_VALUE,f=this.nodes,d=f.length,p=0;p(e=g.getLeft())&&(s=e),c<(n=g.getRight())&&(c=n),l>(r=g.getTop())&&(l=r),h<(o=g.getBottom())&&(h=o)}var v=new u(s,l,c-s,h-l);s==i.MAX_VALUE&&(this.left=this.parent.getLeft(),this.right=this.parent.getRight(),this.top=this.parent.getTop(),this.bottom=this.parent.getBottom()),a=null!=f[0].getParent().paddingLeft?f[0].getParent().paddingLeft:this.margin,this.left=v.x-a,this.right=v.x+v.width+a,this.top=v.y-a,this.bottom=v.y+v.height+a},f.calculateBounds=function(t){for(var e,n,r,o,a=i.MAX_VALUE,s=-i.MAX_VALUE,c=i.MAX_VALUE,l=-i.MAX_VALUE,h=t.length,f=0;f(e=d.getLeft())&&(a=e),s<(n=d.getRight())&&(s=n),c>(r=d.getTop())&&(c=r),l<(o=d.getBottom())&&(l=o)}return new u(a,c,s-a,l-c)},f.prototype.getInclusionTreeDepth=function(){return this==this.graphManager.getRoot()?1:this.parent.getInclusionTreeDepth()},f.prototype.getEstimatedSize=function(){if(this.estimatedSize==i.MIN_VALUE)throw"assert failed";return this.estimatedSize},f.prototype.calcEstimatedSize=function(){for(var t=0,e=this.nodes,n=e.length,r=0;r=this.nodes.length){var c=0;i.forEach((function(e){e.owner==t&&c++})),c==this.nodes.length&&(this.isConnected=!0)}}else this.isConnected=!0},t.exports=f},function(t,e,n){"use strict";var r,i=n(1);function o(t){r=n(5),this.layout=t,this.graphs=[],this.edges=[]}o.prototype.addRoot=function(){var t=this.layout.newGraph(),e=this.layout.newNode(null),n=this.add(t,e);return this.setRootGraph(n),this.rootGraph},o.prototype.add=function(t,e,n,r,i){if(null==n&&null==r&&null==i){if(null==t)throw"Graph is null!";if(null==e)throw"Parent node is null!";if(this.graphs.indexOf(t)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(t),null!=t.parent)throw"Already has a parent!";if(null!=e.child)throw"Already has a child!";return t.parent=e,e.child=t,t}i=n,n=t;var o=(r=e).getOwner(),a=i.getOwner();if(null==o||o.getGraphManager()!=this)throw"Source not in this graph mgr!";if(null==a||a.getGraphManager()!=this)throw"Target not in this graph mgr!";if(o==a)return n.isInterGraph=!1,o.add(n,r,i);if(n.isInterGraph=!0,n.source=r,n.target=i,this.edges.indexOf(n)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(n),null==n.source||null==n.target)throw"Edge source and/or target is null!";if(-1!=n.source.edges.indexOf(n)||-1!=n.target.edges.indexOf(n))throw"Edge already in source and/or target incidency list!";return n.source.edges.push(n),n.target.edges.push(n),n},o.prototype.remove=function(t){if(t instanceof r){var e=t;if(e.getGraphManager()!=this)throw"Graph not in this graph mgr";if(e!=this.rootGraph&&(null==e.parent||e.parent.graphManager!=this))throw"Invalid parent node!";for(var n,o=[],a=(o=o.concat(e.getEdges())).length,s=0;s=e.getRight()?n[0]+=Math.min(e.getX()-t.getX(),t.getRight()-e.getRight()):e.getX()<=t.getX()&&e.getRight()>=t.getRight()&&(n[0]+=Math.min(t.getX()-e.getX(),e.getRight()-t.getRight())),t.getY()<=e.getY()&&t.getBottom()>=e.getBottom()?n[1]+=Math.min(e.getY()-t.getY(),t.getBottom()-e.getBottom()):e.getY()<=t.getY()&&e.getBottom()>=t.getBottom()&&(n[1]+=Math.min(t.getY()-e.getY(),e.getBottom()-t.getBottom()));var o=Math.abs((e.getCenterY()-t.getCenterY())/(e.getCenterX()-t.getCenterX()));e.getCenterY()===t.getCenterY()&&e.getCenterX()===t.getCenterX()&&(o=1);var a=o*n[0],s=n[1]/o;n[0]a)return n[0]=r,n[1]=c,n[2]=o,n[3]=m,!1;if(io)return n[0]=s,n[1]=i,n[2]=b,n[3]=a,!1;if(ro?(n[0]=l,n[1]=h,E=!0):(n[0]=u,n[1]=c,E=!0):T===N&&(r>o?(n[0]=s,n[1]=c,E=!0):(n[0]=f,n[1]=h,E=!0)),-C===N?o>r?(n[2]=y,n[3]=m,k=!0):(n[2]=b,n[3]=v,k=!0):C===N&&(o>r?(n[2]=g,n[3]=v,k=!0):(n[2]=w,n[3]=m,k=!0)),E&&k)return!1;if(r>o?i>a?(A=this.getCardinalDirection(T,N,4),S=this.getCardinalDirection(C,N,2)):(A=this.getCardinalDirection(-T,N,3),S=this.getCardinalDirection(-C,N,1)):i>a?(A=this.getCardinalDirection(-T,N,1),S=this.getCardinalDirection(-C,N,3)):(A=this.getCardinalDirection(T,N,2),S=this.getCardinalDirection(C,N,4)),!E)switch(A){case 1:L=c,O=r+-p/N,n[0]=O,n[1]=L;break;case 2:O=f,L=i+d*N,n[0]=O,n[1]=L;break;case 3:L=h,O=r+p/N,n[0]=O,n[1]=L;break;case 4:O=l,L=i+-d*N,n[0]=O,n[1]=L}if(!k)switch(S){case 1:M=v,I=o+-_/N,n[2]=I,n[3]=M;break;case 2:I=w,M=a+x*N,n[2]=I,n[3]=M;break;case 3:M=m,I=o+_/N,n[2]=I,n[3]=M;break;case 4:I=y,M=a+-x*N,n[2]=I,n[3]=M}}return!1},i.getCardinalDirection=function(t,e,n){return t>e?n:1+n%4},i.getIntersection=function(t,e,n,i){if(null==i)return this.getIntersection2(t,e,n);var o,a,s,c,u,l,h,f=t.x,d=t.y,p=e.x,g=e.y,v=n.x,b=n.y,y=i.x,m=i.y;return 0==(h=(o=g-d)*(c=v-y)-(a=m-b)*(s=f-p))?null:new r((s*(l=y*b-v*m)-c*(u=p*d-f*g))/h,(a*u-o*l)/h)},i.angleOfVector=function(t,e,n,r){var i=void 0;return t!==n?(i=Math.atan((r-e)/(n-t)),n0?1:t<0?-1:0},r.floor=function(t){return t<0?Math.ceil(t):Math.floor(t)},r.ceil=function(t){return t<0?Math.floor(t):Math.ceil(t)},t.exports=r},function(t,e,n){"use strict";function r(){}r.MAX_VALUE=2147483647,r.MIN_VALUE=-2147483648,t.exports=r},function(t,e,n){"use strict";var r=function(){function t(t,e){for(var n=0;n0&&e;){for(s.push(u[0]);s.length>0&&e;){var l=s[0];s.splice(0,1),a.add(l);var h=l.getEdges();for(o=0;o-1&&u.splice(g,1)}a=new Set,c=new Map}else t=[]}return t},f.prototype.createDummyNodesForBendpoints=function(t){for(var e=[],n=t.source,r=this.graphManager.calcLowestCommonAncestor(t.source,t.target),i=0;i0){for(var i=this.edgeToDummyNodes.get(n),o=0;o=0&&e.splice(h,1),l.getNeighborsList().forEach((function(t){if(n.indexOf(t)<0){var e=r.get(t)-1;1==e&&c.push(t),r.set(t,e)}}))}n=n.concat(c),1!=e.length&&2!=e.length||(i=!0,o=e[0])}return o},f.prototype.setGraphManager=function(t){this.graphManager=t},t.exports=f},function(t,e,n){"use strict";function r(){}r.seed=1,r.x=0,r.nextDouble=function(){return r.x=1e4*Math.sin(r.seed++),r.x-Math.floor(r.x)},t.exports=r},function(t,e,n){"use strict";var r=n(4);function i(t,e){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}i.prototype.getWorldOrgX=function(){return this.lworldOrgX},i.prototype.setWorldOrgX=function(t){this.lworldOrgX=t},i.prototype.getWorldOrgY=function(){return this.lworldOrgY},i.prototype.setWorldOrgY=function(t){this.lworldOrgY=t},i.prototype.getWorldExtX=function(){return this.lworldExtX},i.prototype.setWorldExtX=function(t){this.lworldExtX=t},i.prototype.getWorldExtY=function(){return this.lworldExtY},i.prototype.setWorldExtY=function(t){this.lworldExtY=t},i.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},i.prototype.setDeviceOrgX=function(t){this.ldeviceOrgX=t},i.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},i.prototype.setDeviceOrgY=function(t){this.ldeviceOrgY=t},i.prototype.getDeviceExtX=function(){return this.ldeviceExtX},i.prototype.setDeviceExtX=function(t){this.ldeviceExtX=t},i.prototype.getDeviceExtY=function(){return this.ldeviceExtY},i.prototype.setDeviceExtY=function(t){this.ldeviceExtY=t},i.prototype.transformX=function(t){var e=0,n=this.lworldExtX;return 0!=n&&(e=this.ldeviceOrgX+(t-this.lworldOrgX)*this.ldeviceExtX/n),e},i.prototype.transformY=function(t){var e=0,n=this.lworldExtY;return 0!=n&&(e=this.ldeviceOrgY+(t-this.lworldOrgY)*this.ldeviceExtY/n),e},i.prototype.inverseTransformX=function(t){var e=0,n=this.ldeviceExtX;return 0!=n&&(e=this.lworldOrgX+(t-this.ldeviceOrgX)*this.lworldExtX/n),e},i.prototype.inverseTransformY=function(t){var e=0,n=this.ldeviceExtY;return 0!=n&&(e=this.lworldOrgY+(t-this.ldeviceOrgY)*this.lworldExtY/n),e},i.prototype.inverseTransformPoint=function(t){return new r(this.inverseTransformX(t.x),this.inverseTransformY(t.y))},t.exports=i},function(t,e,n){"use strict";var r=n(15),i=n(7),o=n(0),a=n(8),s=n(9);function c(){r.call(this),this.useSmartIdealEdgeLengthCalculation=i.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION,this.idealEdgeLength=i.DEFAULT_EDGE_LENGTH,this.springConstant=i.DEFAULT_SPRING_STRENGTH,this.repulsionConstant=i.DEFAULT_REPULSION_STRENGTH,this.gravityConstant=i.DEFAULT_GRAVITY_STRENGTH,this.compoundGravityConstant=i.DEFAULT_COMPOUND_GRAVITY_STRENGTH,this.gravityRangeFactor=i.DEFAULT_GRAVITY_RANGE_FACTOR,this.compoundGravityRangeFactor=i.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR,this.displacementThresholdPerNode=3*i.DEFAULT_EDGE_LENGTH/100,this.coolingFactor=i.DEFAULT_COOLING_FACTOR_INCREMENTAL,this.initialCoolingFactor=i.DEFAULT_COOLING_FACTOR_INCREMENTAL,this.totalDisplacement=0,this.oldTotalDisplacement=0,this.maxIterations=i.MAX_ITERATIONS}for(var u in c.prototype=Object.create(r.prototype),r)c[u]=r[u];c.prototype.initParameters=function(){r.prototype.initParameters.call(this,arguments),this.totalIterations=0,this.notAnimatedIterations=0,this.useFRGridVariant=i.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION,this.grid=[]},c.prototype.calcIdealEdgeLengths=function(){for(var t,e,n,r,a,s,c=this.getGraphManager().getAllEdges(),u=0;ui.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*i.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(t-i.ADAPTATION_LOWER_NODE_LIMIT)/(i.ADAPTATION_UPPER_NODE_LIMIT-i.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-i.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=i.MAX_NODE_DISPLACEMENT_INCREMENTAL):(t>i.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(i.COOLING_ADAPTATION_FACTOR,1-(t-i.ADAPTATION_LOWER_NODE_LIMIT)/(i.ADAPTATION_UPPER_NODE_LIMIT-i.ADAPTATION_LOWER_NODE_LIMIT)*(1-i.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=i.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(5*this.getAllNodes().length,this.maxIterations),this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},c.prototype.calcSpringForces=function(){for(var t,e=this.getAllEdges(),n=0;n0&&void 0!==arguments[0])||arguments[0],s=arguments.length>1&&void 0!==arguments[1]&&arguments[1],c=this.getAllNodes();if(this.useFRGridVariant)for(this.totalIterations%i.GRID_CALCULATION_CHECK_PERIOD==1&&a&&this.updateGrid(),o=new Set,t=0;t(c=e.getEstimatedSize()*this.gravityRangeFactor)||s>c)&&(t.gravitationForceX=-this.gravityConstant*i,t.gravitationForceY=-this.gravityConstant*o):(a>(c=e.getEstimatedSize()*this.compoundGravityRangeFactor)||s>c)&&(t.gravitationForceX=-this.gravityConstant*i*this.compoundGravityConstant,t.gravitationForceY=-this.gravityConstant*o*this.compoundGravityConstant)},c.prototype.isConverged=function(){var t,e=!1;return this.totalIterations>this.maxIterations/3&&(e=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2),t=this.totalDisplacement=s.length||u>=s[0].length))for(var l=0;lt}}]),t}();t.exports=o},function(t,e,n){"use strict";var r=function(){function t(t,e){for(var n=0;n2&&void 0!==arguments[2]?arguments[2]:1,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:-1,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:-1;!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.sequence1=e,this.sequence2=n,this.match_score=r,this.mismatch_penalty=i,this.gap_penalty=o,this.iMax=e.length+1,this.jMax=n.length+1,this.grid=new Array(this.iMax);for(var a=0;a=0;n--){var r=this.listeners[n];r.event===t&&r.callback===e&&this.listeners.splice(n,1)}},i.emit=function(t,e){for(var n=0;n{var r=n(852)(n(5639),"DataView");t.exports=r},1989:(t,e,n)=>{var r=n(1789),i=n(401),o=n(7667),a=n(1327),s=n(1866);function c(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e{var r=n(7040),i=n(4125),o=n(2117),a=n(7518),s=n(4705);function c(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e{var r=n(852)(n(5639),"Map");t.exports=r},3369:(t,e,n)=>{var r=n(4785),i=n(1285),o=n(6e3),a=n(9916),s=n(5265);function c(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e{var r=n(852)(n(5639),"Promise");t.exports=r},8525:(t,e,n)=>{var r=n(852)(n(5639),"Set");t.exports=r},8668:(t,e,n)=>{var r=n(3369),i=n(619),o=n(2385);function a(t){var e=-1,n=null==t?0:t.length;for(this.__data__=new r;++e{var r=n(8407),i=n(7465),o=n(3779),a=n(7599),s=n(4758),c=n(4309);function u(t){var e=this.__data__=new r(t);this.size=e.size}u.prototype.clear=i,u.prototype.delete=o,u.prototype.get=a,u.prototype.has=s,u.prototype.set=c,t.exports=u},2705:(t,e,n)=>{var r=n(5639).Symbol;t.exports=r},1149:(t,e,n)=>{var r=n(5639).Uint8Array;t.exports=r},577:(t,e,n)=>{var r=n(852)(n(5639),"WeakMap");t.exports=r},6874:t=>{t.exports=function(t,e,n){switch(n.length){case 0:return t.call(e);case 1:return t.call(e,n[0]);case 2:return t.call(e,n[0],n[1]);case 3:return t.call(e,n[0],n[1],n[2])}return t.apply(e,n)}},7412:t=>{t.exports=function(t,e){for(var n=-1,r=null==t?0:t.length;++n{t.exports=function(t,e){for(var n=-1,r=null==t?0:t.length,i=0,o=[];++n{var r=n(2118);t.exports=function(t,e){return!(null==t||!t.length)&&r(t,e,0)>-1}},1196:t=>{t.exports=function(t,e,n){for(var r=-1,i=null==t?0:t.length;++r{var r=n(2545),i=n(5694),o=n(1469),a=n(4144),s=n(5776),c=n(6719),u=Object.prototype.hasOwnProperty;t.exports=function(t,e){var n=o(t),l=!n&&i(t),h=!n&&!l&&a(t),f=!n&&!l&&!h&&c(t),d=n||l||h||f,p=d?r(t.length,String):[],g=p.length;for(var v in t)!e&&!u.call(t,v)||d&&("length"==v||h&&("offset"==v||"parent"==v)||f&&("buffer"==v||"byteLength"==v||"byteOffset"==v)||s(v,g))||p.push(v);return p}},9932:t=>{t.exports=function(t,e){for(var n=-1,r=null==t?0:t.length,i=Array(r);++n{t.exports=function(t,e){for(var n=-1,r=e.length,i=t.length;++n{t.exports=function(t,e,n,r){var i=-1,o=null==t?0:t.length;for(r&&o&&(n=t[++i]);++i{t.exports=function(t,e){for(var n=-1,r=null==t?0:t.length;++n{var r=n(371)("length");t.exports=r},6556:(t,e,n)=>{var r=n(9465),i=n(7813);t.exports=function(t,e,n){(void 0!==n&&!i(t[e],n)||void 0===n&&!(e in t))&&r(t,e,n)}},4865:(t,e,n)=>{var r=n(9465),i=n(7813),o=Object.prototype.hasOwnProperty;t.exports=function(t,e,n){var a=t[e];o.call(t,e)&&i(a,n)&&(void 0!==n||e in t)||r(t,e,n)}},8470:(t,e,n)=>{var r=n(7813);t.exports=function(t,e){for(var n=t.length;n--;)if(r(t[n][0],e))return n;return-1}},4037:(t,e,n)=>{var r=n(8363),i=n(3674);t.exports=function(t,e){return t&&r(e,i(e),t)}},3886:(t,e,n)=>{var r=n(8363),i=n(1704);t.exports=function(t,e){return t&&r(e,i(e),t)}},9465:(t,e,n)=>{var r=n(8777);t.exports=function(t,e,n){"__proto__"==e&&r?r(t,e,{configurable:!0,enumerable:!0,value:n,writable:!0}):t[e]=n}},5990:(t,e,n)=>{var r=n(6384),i=n(7412),o=n(4865),a=n(4037),s=n(3886),c=n(4626),u=n(278),l=n(8805),h=n(1911),f=n(8234),d=n(6904),p=n(4160),g=n(3824),v=n(9148),b=n(8517),y=n(1469),m=n(4144),w=n(6688),x=n(3218),_=n(2928),E=n(3674),k=n(1704),T="[object Arguments]",C="[object Function]",N="[object Object]",A={};A[T]=A["[object Array]"]=A["[object ArrayBuffer]"]=A["[object DataView]"]=A["[object Boolean]"]=A["[object Date]"]=A["[object Float32Array]"]=A["[object Float64Array]"]=A["[object Int8Array]"]=A["[object Int16Array]"]=A["[object Int32Array]"]=A["[object Map]"]=A["[object Number]"]=A[N]=A["[object RegExp]"]=A["[object Set]"]=A["[object String]"]=A["[object Symbol]"]=A["[object Uint8Array]"]=A["[object Uint8ClampedArray]"]=A["[object Uint16Array]"]=A["[object Uint32Array]"]=!0,A["[object Error]"]=A[C]=A["[object WeakMap]"]=!1,t.exports=function t(e,n,S,O,L,I){var M,P=1&n,D=2&n,R=4&n;if(S&&(M=L?S(e,O,L,I):S(e)),void 0!==M)return M;if(!x(e))return e;var j=y(e);if(j){if(M=g(e),!P)return u(e,M)}else{var G=p(e),B=G==C||"[object GeneratorFunction]"==G;if(m(e))return c(e,P);if(G==N||G==T||B&&!L){if(M=D||B?{}:b(e),!P)return D?h(e,s(M,e)):l(e,a(M,e))}else{if(!A[G])return L?e:{};M=v(e,G,P)}}I||(I=new r);var F=I.get(e);if(F)return F;I.set(e,M),_(e)?e.forEach((function(r){M.add(t(r,n,S,r,e,I))})):w(e)&&e.forEach((function(r,i){M.set(i,t(r,n,S,i,e,I))}));var H=j?void 0:(R?D?d:f:D?k:E)(e);return i(H||e,(function(r,i){H&&(r=e[i=r]),o(M,i,t(r,n,S,i,e,I))})),M}},3118:(t,e,n)=>{var r=n(3218),i=Object.create,o=function(){function t(){}return function(e){if(!r(e))return{};if(i)return i(e);t.prototype=e;var n=new t;return t.prototype=void 0,n}}();t.exports=o},9881:(t,e,n)=>{var r=n(7816),i=n(9291)(r);t.exports=i},6029:(t,e,n)=>{var r=n(3448);t.exports=function(t,e,n){for(var i=-1,o=t.length;++i{var r=n(9881);t.exports=function(t,e){var n=[];return r(t,(function(t,r,i){e(t,r,i)&&n.push(t)})),n}},1848:t=>{t.exports=function(t,e,n,r){for(var i=t.length,o=n+(r?1:-1);r?o--:++o{var r=n(2488),i=n(7285);t.exports=function t(e,n,o,a,s){var c=-1,u=e.length;for(o||(o=i),s||(s=[]);++c0&&o(l)?n>1?t(l,n-1,o,a,s):r(s,l):a||(s[s.length]=l)}return s}},8483:(t,e,n)=>{var r=n(5063)();t.exports=r},7816:(t,e,n)=>{var r=n(8483),i=n(3674);t.exports=function(t,e){return t&&r(t,e,i)}},7786:(t,e,n)=>{var r=n(1811),i=n(327);t.exports=function(t,e){for(var n=0,o=(e=r(e,t)).length;null!=t&&n{var r=n(2488),i=n(1469);t.exports=function(t,e,n){var o=e(t);return i(t)?o:r(o,n(t))}},4239:(t,e,n)=>{var r=n(2705),i=n(9607),o=n(2333),a=r?r.toStringTag:void 0;t.exports=function(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":a&&a in Object(t)?i(t):o(t)}},3325:t=>{t.exports=function(t,e){return t>e}},8565:t=>{var e=Object.prototype.hasOwnProperty;t.exports=function(t,n){return null!=t&&e.call(t,n)}},13:t=>{t.exports=function(t,e){return null!=t&&e in Object(t)}},2118:(t,e,n)=>{var r=n(1848),i=n(2722),o=n(2351);t.exports=function(t,e,n){return e==e?o(t,e,n):r(t,i,n)}},9454:(t,e,n)=>{var r=n(4239),i=n(7005);t.exports=function(t){return i(t)&&"[object Arguments]"==r(t)}},939:(t,e,n)=>{var r=n(2492),i=n(7005);t.exports=function t(e,n,o,a,s){return e===n||(null==e||null==n||!i(e)&&!i(n)?e!=e&&n!=n:r(e,n,o,a,t,s))}},2492:(t,e,n)=>{var r=n(6384),i=n(7114),o=n(8351),a=n(6096),s=n(4160),c=n(1469),u=n(4144),l=n(6719),h="[object Arguments]",f="[object Array]",d="[object Object]",p=Object.prototype.hasOwnProperty;t.exports=function(t,e,n,g,v,b){var y=c(t),m=c(e),w=y?f:s(t),x=m?f:s(e),_=(w=w==h?d:w)==d,E=(x=x==h?d:x)==d,k=w==x;if(k&&u(t)){if(!u(e))return!1;y=!0,_=!1}if(k&&!_)return b||(b=new r),y||l(t)?i(t,e,n,g,v,b):o(t,e,w,n,g,v,b);if(!(1&n)){var T=_&&p.call(t,"__wrapped__"),C=E&&p.call(e,"__wrapped__");if(T||C){var N=T?t.value():t,A=C?e.value():e;return b||(b=new r),v(N,A,n,g,b)}}return!!k&&(b||(b=new r),a(t,e,n,g,v,b))}},5588:(t,e,n)=>{var r=n(4160),i=n(7005);t.exports=function(t){return i(t)&&"[object Map]"==r(t)}},2958:(t,e,n)=>{var r=n(6384),i=n(939);t.exports=function(t,e,n,o){var a=n.length,s=a,c=!o;if(null==t)return!s;for(t=Object(t);a--;){var u=n[a];if(c&&u[2]?u[1]!==t[u[0]]:!(u[0]in t))return!1}for(;++a{t.exports=function(t){return t!=t}},8458:(t,e,n)=>{var r=n(3560),i=n(5346),o=n(3218),a=n(346),s=/^\[object .+?Constructor\]$/,c=Function.prototype,u=Object.prototype,l=c.toString,h=u.hasOwnProperty,f=RegExp("^"+l.call(h).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");t.exports=function(t){return!(!o(t)||i(t))&&(r(t)?f:s).test(a(t))}},9221:(t,e,n)=>{var r=n(4160),i=n(7005);t.exports=function(t){return i(t)&&"[object Set]"==r(t)}},8749:(t,e,n)=>{var r=n(4239),i=n(1780),o=n(7005),a={};a["[object Float32Array]"]=a["[object Float64Array]"]=a["[object Int8Array]"]=a["[object Int16Array]"]=a["[object Int32Array]"]=a["[object Uint8Array]"]=a["[object Uint8ClampedArray]"]=a["[object Uint16Array]"]=a["[object Uint32Array]"]=!0,a["[object Arguments]"]=a["[object Array]"]=a["[object ArrayBuffer]"]=a["[object Boolean]"]=a["[object DataView]"]=a["[object Date]"]=a["[object Error]"]=a["[object Function]"]=a["[object Map]"]=a["[object Number]"]=a["[object Object]"]=a["[object RegExp]"]=a["[object Set]"]=a["[object String]"]=a["[object WeakMap]"]=!1,t.exports=function(t){return o(t)&&i(t.length)&&!!a[r(t)]}},7206:(t,e,n)=>{var r=n(1573),i=n(6432),o=n(6557),a=n(1469),s=n(9601);t.exports=function(t){return"function"==typeof t?t:null==t?o:"object"==typeof t?a(t)?i(t[0],t[1]):r(t):s(t)}},280:(t,e,n)=>{var r=n(5726),i=n(6916),o=Object.prototype.hasOwnProperty;t.exports=function(t){if(!r(t))return i(t);var e=[];for(var n in Object(t))o.call(t,n)&&"constructor"!=n&&e.push(n);return e}},313:(t,e,n)=>{var r=n(3218),i=n(5726),o=n(3498),a=Object.prototype.hasOwnProperty;t.exports=function(t){if(!r(t))return o(t);var e=i(t),n=[];for(var s in t)("constructor"!=s||!e&&a.call(t,s))&&n.push(s);return n}},433:t=>{t.exports=function(t,e){return t{var r=n(9881),i=n(8612);t.exports=function(t,e){var n=-1,o=i(t)?Array(t.length):[];return r(t,(function(t,r,i){o[++n]=e(t,r,i)})),o}},1573:(t,e,n)=>{var r=n(2958),i=n(1499),o=n(2634);t.exports=function(t){var e=i(t);return 1==e.length&&e[0][2]?o(e[0][0],e[0][1]):function(n){return n===t||r(n,t,e)}}},6432:(t,e,n)=>{var r=n(939),i=n(7361),o=n(9095),a=n(5403),s=n(9162),c=n(2634),u=n(327);t.exports=function(t,e){return a(t)&&s(e)?c(u(t),e):function(n){var a=i(n,t);return void 0===a&&a===e?o(n,t):r(e,a,3)}}},2980:(t,e,n)=>{var r=n(6384),i=n(6556),o=n(8483),a=n(9783),s=n(3218),c=n(1704),u=n(6390);t.exports=function t(e,n,l,h,f){e!==n&&o(n,(function(o,c){if(f||(f=new r),s(o))a(e,n,c,l,t,h,f);else{var d=h?h(u(e,c),o,c+"",e,n,f):void 0;void 0===d&&(d=o),i(e,c,d)}}),c)}},9783:(t,e,n)=>{var r=n(6556),i=n(4626),o=n(7133),a=n(278),s=n(8517),c=n(5694),u=n(1469),l=n(9246),h=n(4144),f=n(3560),d=n(3218),p=n(8630),g=n(6719),v=n(6390),b=n(3678);t.exports=function(t,e,n,y,m,w,x){var _=v(t,n),E=v(e,n),k=x.get(E);if(k)r(t,n,k);else{var T=w?w(_,E,n+"",t,e,x):void 0,C=void 0===T;if(C){var N=u(E),A=!N&&h(E),S=!N&&!A&&g(E);T=E,N||A||S?u(_)?T=_:l(_)?T=a(_):A?(C=!1,T=i(E,!0)):S?(C=!1,T=o(E,!0)):T=[]:p(E)||c(E)?(T=_,c(_)?T=b(_):d(_)&&!f(_)||(T=s(E))):C=!1}C&&(x.set(E,T),m(T,E,y,w,x),x.delete(E)),r(t,n,T)}}},9556:(t,e,n)=>{var r=n(9932),i=n(7786),o=n(7206),a=n(9199),s=n(1131),c=n(1717),u=n(5022),l=n(6557),h=n(1469);t.exports=function(t,e,n){e=e.length?r(e,(function(t){return h(t)?function(e){return i(e,1===t.length?t[0]:t)}:t})):[l];var f=-1;e=r(e,c(o));var d=a(t,(function(t,n,i){return{criteria:r(e,(function(e){return e(t)})),index:++f,value:t}}));return s(d,(function(t,e){return u(t,e,n)}))}},5970:(t,e,n)=>{var r=n(3012),i=n(9095);t.exports=function(t,e){return r(t,e,(function(e,n){return i(t,n)}))}},3012:(t,e,n)=>{var r=n(7786),i=n(611),o=n(1811);t.exports=function(t,e,n){for(var a=-1,s=e.length,c={};++a{t.exports=function(t){return function(e){return null==e?void 0:e[t]}}},9152:(t,e,n)=>{var r=n(7786);t.exports=function(t){return function(e){return r(e,t)}}},98:t=>{var e=Math.ceil,n=Math.max;t.exports=function(t,r,i,o){for(var a=-1,s=n(e((r-t)/(i||1)),0),c=Array(s);s--;)c[o?s:++a]=t,t+=i;return c}},107:t=>{t.exports=function(t,e,n,r,i){return i(t,(function(t,i,o){n=r?(r=!1,t):e(n,t,i,o)})),n}},5976:(t,e,n)=>{var r=n(6557),i=n(5357),o=n(61);t.exports=function(t,e){return o(i(t,e,r),t+"")}},611:(t,e,n)=>{var r=n(4865),i=n(1811),o=n(5776),a=n(3218),s=n(327);t.exports=function(t,e,n,c){if(!a(t))return t;for(var u=-1,l=(e=i(e,t)).length,h=l-1,f=t;null!=f&&++u{var r=n(5703),i=n(8777),o=n(6557),a=i?function(t,e){return i(t,"toString",{configurable:!0,enumerable:!1,value:r(e),writable:!0})}:o;t.exports=a},1131:t=>{t.exports=function(t,e){var n=t.length;for(t.sort(e);n--;)t[n]=t[n].value;return t}},2545:t=>{t.exports=function(t,e){for(var n=-1,r=Array(t);++n{var r=n(2705),i=n(9932),o=n(1469),a=n(3448),s=r?r.prototype:void 0,c=s?s.toString:void 0;t.exports=function t(e){if("string"==typeof e)return e;if(o(e))return i(e,t)+"";if(a(e))return c?c.call(e):"";var n=e+"";return"0"==n&&1/e==-1/0?"-0":n}},7561:(t,e,n)=>{var r=n(7990),i=/^\s+/;t.exports=function(t){return t?t.slice(0,r(t)+1).replace(i,""):t}},1717:t=>{t.exports=function(t){return function(e){return t(e)}}},5652:(t,e,n)=>{var r=n(8668),i=n(7443),o=n(1196),a=n(4757),s=n(3593),c=n(1814);t.exports=function(t,e,n){var u=-1,l=i,h=t.length,f=!0,d=[],p=d;if(n)f=!1,l=o;else if(h>=200){var g=e?null:s(t);if(g)return c(g);f=!1,l=a,p=new r}else p=e?[]:d;t:for(;++u{var r=n(9932);t.exports=function(t,e){return r(e,(function(e){return t[e]}))}},1757:t=>{t.exports=function(t,e,n){for(var r=-1,i=t.length,o=e.length,a={};++r{t.exports=function(t,e){return t.has(e)}},4290:(t,e,n)=>{var r=n(6557);t.exports=function(t){return"function"==typeof t?t:r}},1811:(t,e,n)=>{var r=n(1469),i=n(5403),o=n(5514),a=n(9833);t.exports=function(t,e){return r(t)?t:i(t,e)?[t]:o(a(t))}},4318:(t,e,n)=>{var r=n(1149);t.exports=function(t){var e=new t.constructor(t.byteLength);return new r(e).set(new r(t)),e}},4626:(t,e,n)=>{t=n.nmd(t);var r=n(5639),i=e&&!e.nodeType&&e,o=i&&t&&!t.nodeType&&t,a=o&&o.exports===i?r.Buffer:void 0,s=a?a.allocUnsafe:void 0;t.exports=function(t,e){if(e)return t.slice();var n=t.length,r=s?s(n):new t.constructor(n);return t.copy(r),r}},7157:(t,e,n)=>{var r=n(4318);t.exports=function(t,e){var n=e?r(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.byteLength)}},3147:t=>{var e=/\w*$/;t.exports=function(t){var n=new t.constructor(t.source,e.exec(t));return n.lastIndex=t.lastIndex,n}},419:(t,e,n)=>{var r=n(2705),i=r?r.prototype:void 0,o=i?i.valueOf:void 0;t.exports=function(t){return o?Object(o.call(t)):{}}},7133:(t,e,n)=>{var r=n(4318);t.exports=function(t,e){var n=e?r(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.length)}},6393:(t,e,n)=>{var r=n(3448);t.exports=function(t,e){if(t!==e){var n=void 0!==t,i=null===t,o=t==t,a=r(t),s=void 0!==e,c=null===e,u=e==e,l=r(e);if(!c&&!l&&!a&&t>e||a&&s&&u&&!c&&!l||i&&s&&u||!n&&u||!o)return 1;if(!i&&!a&&!l&&t{var r=n(6393);t.exports=function(t,e,n){for(var i=-1,o=t.criteria,a=e.criteria,s=o.length,c=n.length;++i=c?u:u*("desc"==n[i]?-1:1)}return t.index-e.index}},278:t=>{t.exports=function(t,e){var n=-1,r=t.length;for(e||(e=Array(r));++n{var r=n(4865),i=n(9465);t.exports=function(t,e,n,o){var a=!n;n||(n={});for(var s=-1,c=e.length;++s{var r=n(8363),i=n(9551);t.exports=function(t,e){return r(t,i(t),e)}},1911:(t,e,n)=>{var r=n(8363),i=n(1442);t.exports=function(t,e){return r(t,i(t),e)}},4429:(t,e,n)=>{var r=n(5639)["__core-js_shared__"];t.exports=r},1463:(t,e,n)=>{var r=n(5976),i=n(6612);t.exports=function(t){return r((function(e,n){var r=-1,o=n.length,a=o>1?n[o-1]:void 0,s=o>2?n[2]:void 0;for(a=t.length>3&&"function"==typeof a?(o--,a):void 0,s&&i(n[0],n[1],s)&&(a=o<3?void 0:a,o=1),e=Object(e);++r{var r=n(8612);t.exports=function(t,e){return function(n,i){if(null==n)return n;if(!r(n))return t(n,i);for(var o=n.length,a=e?o:-1,s=Object(n);(e?a--:++a{t.exports=function(t){return function(e,n,r){for(var i=-1,o=Object(e),a=r(e),s=a.length;s--;){var c=a[t?s:++i];if(!1===n(o[c],c,o))break}return e}}},7740:(t,e,n)=>{var r=n(7206),i=n(8612),o=n(3674);t.exports=function(t){return function(e,n,a){var s=Object(e);if(!i(e)){var c=r(n,3);e=o(e),n=function(t){return c(s[t],t,s)}}var u=t(e,n,a);return u>-1?s[c?e[u]:u]:void 0}}},7445:(t,e,n)=>{var r=n(98),i=n(6612),o=n(8601);t.exports=function(t){return function(e,n,a){return a&&"number"!=typeof a&&i(e,n,a)&&(n=a=void 0),e=o(e),void 0===n?(n=e,e=0):n=o(n),a=void 0===a?e{var r=n(8525),i=n(308),o=n(1814),a=r&&1/o(new r([,-0]))[1]==1/0?function(t){return new r(t)}:i;t.exports=a},8777:(t,e,n)=>{var r=n(852),i=function(){try{var t=r(Object,"defineProperty");return t({},"",{}),t}catch(t){}}();t.exports=i},7114:(t,e,n)=>{var r=n(8668),i=n(2908),o=n(4757);t.exports=function(t,e,n,a,s,c){var u=1&n,l=t.length,h=e.length;if(l!=h&&!(u&&h>l))return!1;var f=c.get(t),d=c.get(e);if(f&&d)return f==e&&d==t;var p=-1,g=!0,v=2&n?new r:void 0;for(c.set(t,e),c.set(e,t);++p{var r=n(2705),i=n(1149),o=n(7813),a=n(7114),s=n(8776),c=n(1814),u=r?r.prototype:void 0,l=u?u.valueOf:void 0;t.exports=function(t,e,n,r,u,h,f){switch(n){case"[object DataView]":if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case"[object ArrayBuffer]":return!(t.byteLength!=e.byteLength||!h(new i(t),new i(e)));case"[object Boolean]":case"[object Date]":case"[object Number]":return o(+t,+e);case"[object Error]":return t.name==e.name&&t.message==e.message;case"[object RegExp]":case"[object String]":return t==e+"";case"[object Map]":var d=s;case"[object Set]":var p=1&r;if(d||(d=c),t.size!=e.size&&!p)return!1;var g=f.get(t);if(g)return g==e;r|=2,f.set(t,e);var v=a(d(t),d(e),r,u,h,f);return f.delete(t),v;case"[object Symbol]":if(l)return l.call(t)==l.call(e)}return!1}},6096:(t,e,n)=>{var r=n(8234),i=Object.prototype.hasOwnProperty;t.exports=function(t,e,n,o,a,s){var c=1&n,u=r(t),l=u.length;if(l!=r(e).length&&!c)return!1;for(var h=l;h--;){var f=u[h];if(!(c?f in e:i.call(e,f)))return!1}var d=s.get(t),p=s.get(e);if(d&&p)return d==e&&p==t;var g=!0;s.set(t,e),s.set(e,t);for(var v=c;++h{var r=n(5564),i=n(5357),o=n(61);t.exports=function(t){return o(i(t,void 0,r),t+"")}},1957:(t,e,n)=>{var r="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g;t.exports=r},8234:(t,e,n)=>{var r=n(8866),i=n(9551),o=n(3674);t.exports=function(t){return r(t,o,i)}},6904:(t,e,n)=>{var r=n(8866),i=n(1442),o=n(1704);t.exports=function(t){return r(t,o,i)}},5050:(t,e,n)=>{var r=n(7019);t.exports=function(t,e){var n=t.__data__;return r(e)?n["string"==typeof e?"string":"hash"]:n.map}},1499:(t,e,n)=>{var r=n(9162),i=n(3674);t.exports=function(t){for(var e=i(t),n=e.length;n--;){var o=e[n],a=t[o];e[n]=[o,a,r(a)]}return e}},852:(t,e,n)=>{var r=n(8458),i=n(7801);t.exports=function(t,e){var n=i(t,e);return r(n)?n:void 0}},5924:(t,e,n)=>{var r=n(5569)(Object.getPrototypeOf,Object);t.exports=r},9607:(t,e,n)=>{var r=n(2705),i=Object.prototype,o=i.hasOwnProperty,a=i.toString,s=r?r.toStringTag:void 0;t.exports=function(t){var e=o.call(t,s),n=t[s];try{t[s]=void 0;var r=!0}catch(t){}var i=a.call(t);return r&&(e?t[s]=n:delete t[s]),i}},9551:(t,e,n)=>{var r=n(4963),i=n(479),o=Object.prototype.propertyIsEnumerable,a=Object.getOwnPropertySymbols,s=a?function(t){return null==t?[]:(t=Object(t),r(a(t),(function(e){return o.call(t,e)})))}:i;t.exports=s},1442:(t,e,n)=>{var r=n(2488),i=n(5924),o=n(9551),a=n(479),s=Object.getOwnPropertySymbols?function(t){for(var e=[];t;)r(e,o(t)),t=i(t);return e}:a;t.exports=s},4160:(t,e,n)=>{var r=n(8552),i=n(7071),o=n(3818),a=n(8525),s=n(577),c=n(4239),u=n(346),l="[object Map]",h="[object Promise]",f="[object Set]",d="[object WeakMap]",p="[object DataView]",g=u(r),v=u(i),b=u(o),y=u(a),m=u(s),w=c;(r&&w(new r(new ArrayBuffer(1)))!=p||i&&w(new i)!=l||o&&w(o.resolve())!=h||a&&w(new a)!=f||s&&w(new s)!=d)&&(w=function(t){var e=c(t),n="[object Object]"==e?t.constructor:void 0,r=n?u(n):"";if(r)switch(r){case g:return p;case v:return l;case b:return h;case y:return f;case m:return d}return e}),t.exports=w},7801:t=>{t.exports=function(t,e){return null==t?void 0:t[e]}},222:(t,e,n)=>{var r=n(1811),i=n(5694),o=n(1469),a=n(5776),s=n(1780),c=n(327);t.exports=function(t,e,n){for(var u=-1,l=(e=r(e,t)).length,h=!1;++u{var e=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]");t.exports=function(t){return e.test(t)}},1789:(t,e,n)=>{var r=n(4536);t.exports=function(){this.__data__=r?r(null):{},this.size=0}},401:t=>{t.exports=function(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}},7667:(t,e,n)=>{var r=n(4536),i=Object.prototype.hasOwnProperty;t.exports=function(t){var e=this.__data__;if(r){var n=e[t];return"__lodash_hash_undefined__"===n?void 0:n}return i.call(e,t)?e[t]:void 0}},1327:(t,e,n)=>{var r=n(4536),i=Object.prototype.hasOwnProperty;t.exports=function(t){var e=this.__data__;return r?void 0!==e[t]:i.call(e,t)}},1866:(t,e,n)=>{var r=n(4536);t.exports=function(t,e){var n=this.__data__;return this.size+=this.has(t)?0:1,n[t]=r&&void 0===e?"__lodash_hash_undefined__":e,this}},3824:t=>{var e=Object.prototype.hasOwnProperty;t.exports=function(t){var n=t.length,r=new t.constructor(n);return n&&"string"==typeof t[0]&&e.call(t,"index")&&(r.index=t.index,r.input=t.input),r}},9148:(t,e,n)=>{var r=n(4318),i=n(7157),o=n(3147),a=n(419),s=n(7133);t.exports=function(t,e,n){var c=t.constructor;switch(e){case"[object ArrayBuffer]":return r(t);case"[object Boolean]":case"[object Date]":return new c(+t);case"[object DataView]":return i(t,n);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return s(t,n);case"[object Map]":case"[object Set]":return new c;case"[object Number]":case"[object String]":return new c(t);case"[object RegExp]":return o(t);case"[object Symbol]":return a(t)}}},8517:(t,e,n)=>{var r=n(3118),i=n(5924),o=n(5726);t.exports=function(t){return"function"!=typeof t.constructor||o(t)?{}:r(i(t))}},7285:(t,e,n)=>{var r=n(2705),i=n(5694),o=n(1469),a=r?r.isConcatSpreadable:void 0;t.exports=function(t){return o(t)||i(t)||!!(a&&t&&t[a])}},5776:t=>{var e=/^(?:0|[1-9]\d*)$/;t.exports=function(t,n){var r=typeof t;return!!(n=null==n?9007199254740991:n)&&("number"==r||"symbol"!=r&&e.test(t))&&t>-1&&t%1==0&&t{var r=n(7813),i=n(8612),o=n(5776),a=n(3218);t.exports=function(t,e,n){if(!a(n))return!1;var s=typeof e;return!!("number"==s?i(n)&&o(e,n.length):"string"==s&&e in n)&&r(n[e],t)}},5403:(t,e,n)=>{var r=n(1469),i=n(3448),o=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,a=/^\w*$/;t.exports=function(t,e){if(r(t))return!1;var n=typeof t;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=t&&!i(t))||a.test(t)||!o.test(t)||null!=e&&t in Object(e)}},7019:t=>{t.exports=function(t){var e=typeof t;return"string"==e||"number"==e||"symbol"==e||"boolean"==e?"__proto__"!==t:null===t}},5346:(t,e,n)=>{var r,i=n(4429),o=(r=/[^.]+$/.exec(i&&i.keys&&i.keys.IE_PROTO||""))?"Symbol(src)_1."+r:"";t.exports=function(t){return!!o&&o in t}},5726:t=>{var e=Object.prototype;t.exports=function(t){var n=t&&t.constructor;return t===("function"==typeof n&&n.prototype||e)}},9162:(t,e,n)=>{var r=n(3218);t.exports=function(t){return t==t&&!r(t)}},7040:t=>{t.exports=function(){this.__data__=[],this.size=0}},4125:(t,e,n)=>{var r=n(8470),i=Array.prototype.splice;t.exports=function(t){var e=this.__data__,n=r(e,t);return!(n<0||(n==e.length-1?e.pop():i.call(e,n,1),--this.size,0))}},2117:(t,e,n)=>{var r=n(8470);t.exports=function(t){var e=this.__data__,n=r(e,t);return n<0?void 0:e[n][1]}},7518:(t,e,n)=>{var r=n(8470);t.exports=function(t){return r(this.__data__,t)>-1}},4705:(t,e,n)=>{var r=n(8470);t.exports=function(t,e){var n=this.__data__,i=r(n,t);return i<0?(++this.size,n.push([t,e])):n[i][1]=e,this}},4785:(t,e,n)=>{var r=n(1989),i=n(8407),o=n(7071);t.exports=function(){this.size=0,this.__data__={hash:new r,map:new(o||i),string:new r}}},1285:(t,e,n)=>{var r=n(5050);t.exports=function(t){var e=r(this,t).delete(t);return this.size-=e?1:0,e}},6e3:(t,e,n)=>{var r=n(5050);t.exports=function(t){return r(this,t).get(t)}},9916:(t,e,n)=>{var r=n(5050);t.exports=function(t){return r(this,t).has(t)}},5265:(t,e,n)=>{var r=n(5050);t.exports=function(t,e){var n=r(this,t),i=n.size;return n.set(t,e),this.size+=n.size==i?0:1,this}},8776:t=>{t.exports=function(t){var e=-1,n=Array(t.size);return t.forEach((function(t,r){n[++e]=[r,t]})),n}},2634:t=>{t.exports=function(t,e){return function(n){return null!=n&&n[t]===e&&(void 0!==e||t in Object(n))}}},4523:(t,e,n)=>{var r=n(8306);t.exports=function(t){var e=r(t,(function(t){return 500===n.size&&n.clear(),t})),n=e.cache;return e}},4536:(t,e,n)=>{var r=n(852)(Object,"create");t.exports=r},6916:(t,e,n)=>{var r=n(5569)(Object.keys,Object);t.exports=r},3498:t=>{t.exports=function(t){var e=[];if(null!=t)for(var n in Object(t))e.push(n);return e}},1167:(t,e,n)=>{t=n.nmd(t);var r=n(1957),i=e&&!e.nodeType&&e,o=i&&t&&!t.nodeType&&t,a=o&&o.exports===i&&r.process,s=function(){try{return o&&o.require&&o.require("util").types||a&&a.binding&&a.binding("util")}catch(t){}}();t.exports=s},2333:t=>{var e=Object.prototype.toString;t.exports=function(t){return e.call(t)}},5569:t=>{t.exports=function(t,e){return function(n){return t(e(n))}}},5357:(t,e,n)=>{var r=n(6874),i=Math.max;t.exports=function(t,e,n){return e=i(void 0===e?t.length-1:e,0),function(){for(var o=arguments,a=-1,s=i(o.length-e,0),c=Array(s);++a{var r=n(1957),i="object"==typeof self&&self&&self.Object===Object&&self,o=r||i||Function("return this")();t.exports=o},6390:t=>{t.exports=function(t,e){if(("constructor"!==e||"function"!=typeof t[e])&&"__proto__"!=e)return t[e]}},619:t=>{t.exports=function(t){return this.__data__.set(t,"__lodash_hash_undefined__"),this}},2385:t=>{t.exports=function(t){return this.__data__.has(t)}},1814:t=>{t.exports=function(t){var e=-1,n=Array(t.size);return t.forEach((function(t){n[++e]=t})),n}},61:(t,e,n)=>{var r=n(6560),i=n(1275)(r);t.exports=i},1275:t=>{var e=Date.now;t.exports=function(t){var n=0,r=0;return function(){var i=e(),o=16-(i-r);if(r=i,o>0){if(++n>=800)return arguments[0]}else n=0;return t.apply(void 0,arguments)}}},7465:(t,e,n)=>{var r=n(8407);t.exports=function(){this.__data__=new r,this.size=0}},3779:t=>{t.exports=function(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n}},7599:t=>{t.exports=function(t){return this.__data__.get(t)}},4758:t=>{t.exports=function(t){return this.__data__.has(t)}},4309:(t,e,n)=>{var r=n(8407),i=n(7071),o=n(3369);t.exports=function(t,e){var n=this.__data__;if(n instanceof r){var a=n.__data__;if(!i||a.length<199)return a.push([t,e]),this.size=++n.size,this;n=this.__data__=new o(a)}return n.set(t,e),this.size=n.size,this}},2351:t=>{t.exports=function(t,e,n){for(var r=n-1,i=t.length;++r{var r=n(8983),i=n(2689),o=n(1903);t.exports=function(t){return i(t)?o(t):r(t)}},5514:(t,e,n)=>{var r=n(4523),i=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,o=/\\(\\)?/g,a=r((function(t){var e=[];return 46===t.charCodeAt(0)&&e.push(""),t.replace(i,(function(t,n,r,i){e.push(r?i.replace(o,"$1"):n||t)})),e}));t.exports=a},327:(t,e,n)=>{var r=n(3448);t.exports=function(t){if("string"==typeof t||r(t))return t;var e=t+"";return"0"==e&&1/t==-1/0?"-0":e}},346:t=>{var e=Function.prototype.toString;t.exports=function(t){if(null!=t){try{return e.call(t)}catch(t){}try{return t+""}catch(t){}}return""}},7990:t=>{var e=/\s/;t.exports=function(t){for(var n=t.length;n--&&e.test(t.charAt(n)););return n}},1903:t=>{var e="\\ud800-\\udfff",n="["+e+"]",r="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",i="\\ud83c[\\udffb-\\udfff]",o="[^"+e+"]",a="(?:\\ud83c[\\udde6-\\uddff]){2}",s="[\\ud800-\\udbff][\\udc00-\\udfff]",c="(?:"+r+"|"+i+")?",u="[\\ufe0e\\ufe0f]?",l=u+c+"(?:\\u200d(?:"+[o,a,s].join("|")+")"+u+c+")*",h="(?:"+[o+r+"?",r,a,s,n].join("|")+")",f=RegExp(i+"(?="+i+")|"+h+l,"g");t.exports=function(t){for(var e=f.lastIndex=0;f.test(t);)++e;return e}},6678:(t,e,n)=>{var r=n(5990);t.exports=function(t){return r(t,4)}},361:(t,e,n)=>{var r=n(5990);t.exports=function(t){return r(t,5)}},5703:t=>{t.exports=function(t){return function(){return t}}},3279:(t,e,n)=>{var r=n(3218),i=n(7771),o=n(4841),a=Math.max,s=Math.min;t.exports=function(t,e,n){var c,u,l,h,f,d,p=0,g=!1,v=!1,b=!0;if("function"!=typeof t)throw new TypeError("Expected a function");function y(e){var n=c,r=u;return c=u=void 0,p=e,h=t.apply(r,n)}function m(t){var n=t-d;return void 0===d||n>=e||n<0||v&&t-p>=l}function w(){var t=i();if(m(t))return x(t);f=setTimeout(w,function(t){var n=e-(t-d);return v?s(n,l-(t-p)):n}(t))}function x(t){return f=void 0,b&&c?y(t):(c=u=void 0,h)}function _(){var t=i(),n=m(t);if(c=arguments,u=this,d=t,n){if(void 0===f)return function(t){return p=t,f=setTimeout(w,e),g?y(t):h}(d);if(v)return clearTimeout(f),f=setTimeout(w,e),y(d)}return void 0===f&&(f=setTimeout(w,e)),h}return e=o(e)||0,r(n)&&(g=!!n.leading,l=(v="maxWait"in n)?a(o(n.maxWait)||0,e):l,b="trailing"in n?!!n.trailing:b),_.cancel=function(){void 0!==f&&clearTimeout(f),p=0,c=d=u=f=void 0},_.flush=function(){return void 0===f?h:x(i())},_}},1747:(t,e,n)=>{var r=n(5976),i=n(7813),o=n(6612),a=n(1704),s=Object.prototype,c=s.hasOwnProperty,u=r((function(t,e){t=Object(t);var n=-1,r=e.length,u=r>2?e[2]:void 0;for(u&&o(e[0],e[1],u)&&(r=1);++n{t.exports=n(4486)},7813:t=>{t.exports=function(t,e){return t===e||t!=t&&e!=e}},3105:(t,e,n)=>{var r=n(4963),i=n(760),o=n(7206),a=n(1469);t.exports=function(t,e){return(a(t)?r:i)(t,o(e,3))}},3311:(t,e,n)=>{var r=n(7740)(n(998));t.exports=r},998:(t,e,n)=>{var r=n(1848),i=n(7206),o=n(554),a=Math.max;t.exports=function(t,e,n){var s=null==t?0:t.length;if(!s)return-1;var c=null==n?0:o(n);return c<0&&(c=a(s+c,0)),r(t,i(e,3),c)}},5564:(t,e,n)=>{var r=n(1078);t.exports=function(t){return null!=t&&t.length?r(t,1):[]}},4486:(t,e,n)=>{var r=n(7412),i=n(9881),o=n(4290),a=n(1469);t.exports=function(t,e){return(a(t)?r:i)(t,o(e))}},2620:(t,e,n)=>{var r=n(8483),i=n(4290),o=n(1704);t.exports=function(t,e){return null==t?t:r(t,i(e),o)}},7361:(t,e,n)=>{var r=n(7786);t.exports=function(t,e,n){var i=null==t?void 0:r(t,e);return void 0===i?n:i}},8721:(t,e,n)=>{var r=n(8565),i=n(222);t.exports=function(t,e){return null!=t&&i(t,e,r)}},9095:(t,e,n)=>{var r=n(13),i=n(222);t.exports=function(t,e){return null!=t&&i(t,e,r)}},6557:t=>{t.exports=function(t){return t}},5694:(t,e,n)=>{var r=n(9454),i=n(7005),o=Object.prototype,a=o.hasOwnProperty,s=o.propertyIsEnumerable,c=r(function(){return arguments}())?r:function(t){return i(t)&&a.call(t,"callee")&&!s.call(t,"callee")};t.exports=c},1469:t=>{var e=Array.isArray;t.exports=e},8612:(t,e,n)=>{var r=n(3560),i=n(1780);t.exports=function(t){return null!=t&&i(t.length)&&!r(t)}},9246:(t,e,n)=>{var r=n(8612),i=n(7005);t.exports=function(t){return i(t)&&r(t)}},4144:(t,e,n)=>{t=n.nmd(t);var r=n(5639),i=n(5062),o=e&&!e.nodeType&&e,a=o&&t&&!t.nodeType&&t,s=a&&a.exports===o?r.Buffer:void 0,c=(s?s.isBuffer:void 0)||i;t.exports=c},1609:(t,e,n)=>{var r=n(280),i=n(4160),o=n(5694),a=n(1469),s=n(8612),c=n(4144),u=n(5726),l=n(6719),h=Object.prototype.hasOwnProperty;t.exports=function(t){if(null==t)return!0;if(s(t)&&(a(t)||"string"==typeof t||"function"==typeof t.splice||c(t)||l(t)||o(t)))return!t.length;var e=i(t);if("[object Map]"==e||"[object Set]"==e)return!t.size;if(u(t))return!r(t).length;for(var n in t)if(h.call(t,n))return!1;return!0}},3560:(t,e,n)=>{var r=n(4239),i=n(3218);t.exports=function(t){if(!i(t))return!1;var e=r(t);return"[object Function]"==e||"[object GeneratorFunction]"==e||"[object AsyncFunction]"==e||"[object Proxy]"==e}},1780:t=>{t.exports=function(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=9007199254740991}},6688:(t,e,n)=>{var r=n(5588),i=n(1717),o=n(1167),a=o&&o.isMap,s=a?i(a):r;t.exports=s},3218:t=>{t.exports=function(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}},7005:t=>{t.exports=function(t){return null!=t&&"object"==typeof t}},8630:(t,e,n)=>{var r=n(4239),i=n(5924),o=n(7005),a=Function.prototype,s=Object.prototype,c=a.toString,u=s.hasOwnProperty,l=c.call(Object);t.exports=function(t){if(!o(t)||"[object Object]"!=r(t))return!1;var e=i(t);if(null===e)return!0;var n=u.call(e,"constructor")&&e.constructor;return"function"==typeof n&&n instanceof n&&c.call(n)==l}},2928:(t,e,n)=>{var r=n(9221),i=n(1717),o=n(1167),a=o&&o.isSet,s=a?i(a):r;t.exports=s},7037:(t,e,n)=>{var r=n(4239),i=n(1469),o=n(7005);t.exports=function(t){return"string"==typeof t||!i(t)&&o(t)&&"[object String]"==r(t)}},3448:(t,e,n)=>{var r=n(4239),i=n(7005);t.exports=function(t){return"symbol"==typeof t||i(t)&&"[object Symbol]"==r(t)}},6719:(t,e,n)=>{var r=n(8749),i=n(1717),o=n(1167),a=o&&o.isTypedArray,s=a?i(a):r;t.exports=s},2353:t=>{t.exports=function(t){return void 0===t}},3674:(t,e,n)=>{var r=n(4636),i=n(280),o=n(8612);t.exports=function(t){return o(t)?r(t):i(t)}},1704:(t,e,n)=>{var r=n(4636),i=n(313),o=n(8612);t.exports=function(t){return o(t)?r(t,!0):i(t)}},928:t=>{t.exports=function(t){var e=null==t?0:t.length;return e?t[e-1]:void 0}},6486:function(t,e,n){var r;t=n.nmd(t),function(){var i,o="Expected a function",a="__lodash_hash_undefined__",s="__lodash_placeholder__",c=32,u=128,l=1/0,h=9007199254740991,f=NaN,d=4294967295,p=[["ary",u],["bind",1],["bindKey",2],["curry",8],["curryRight",16],["flip",512],["partial",c],["partialRight",64],["rearg",256]],g="[object Arguments]",v="[object Array]",b="[object Boolean]",y="[object Date]",m="[object Error]",w="[object Function]",x="[object GeneratorFunction]",_="[object Map]",E="[object Number]",k="[object Object]",T="[object Promise]",C="[object RegExp]",N="[object Set]",A="[object String]",S="[object Symbol]",O="[object WeakMap]",L="[object ArrayBuffer]",I="[object DataView]",M="[object Float32Array]",P="[object Float64Array]",D="[object Int8Array]",R="[object Int16Array]",j="[object Int32Array]",G="[object Uint8Array]",B="[object Uint8ClampedArray]",F="[object Uint16Array]",H="[object Uint32Array]",Y=/\b__p \+= '';/g,z=/\b(__p \+=) '' \+/g,U=/(__e\(.*?\)|\b__t\)) \+\n'';/g,V=/&(?:amp|lt|gt|quot|#39);/g,q=/[&<>"']/g,X=RegExp(V.source),W=RegExp(q.source),$=/<%-([\s\S]+?)%>/g,Z=/<%([\s\S]+?)%>/g,K=/<%=([\s\S]+?)%>/g,Q=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,J=/^\w*$/,tt=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,et=/[\\^$.*+?()[\]{}|]/g,nt=RegExp(et.source),rt=/^\s+/,it=/\s/,ot=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,at=/\{\n\/\* \[wrapped with (.+)\] \*/,st=/,? & /,ct=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,ut=/[()=,{}\[\]\/\s]/,lt=/\\(\\)?/g,ht=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,ft=/\w*$/,dt=/^[-+]0x[0-9a-f]+$/i,pt=/^0b[01]+$/i,gt=/^\[object .+?Constructor\]$/,vt=/^0o[0-7]+$/i,bt=/^(?:0|[1-9]\d*)$/,yt=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,mt=/($^)/,wt=/['\n\r\u2028\u2029\\]/g,xt="\\ud800-\\udfff",_t="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",Et="\\u2700-\\u27bf",kt="a-z\\xdf-\\xf6\\xf8-\\xff",Tt="A-Z\\xc0-\\xd6\\xd8-\\xde",Ct="\\ufe0e\\ufe0f",Nt="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",At="["+xt+"]",St="["+Nt+"]",Ot="["+_t+"]",Lt="\\d+",It="["+Et+"]",Mt="["+kt+"]",Pt="[^"+xt+Nt+Lt+Et+kt+Tt+"]",Dt="\\ud83c[\\udffb-\\udfff]",Rt="[^"+xt+"]",jt="(?:\\ud83c[\\udde6-\\uddff]){2}",Gt="[\\ud800-\\udbff][\\udc00-\\udfff]",Bt="["+Tt+"]",Ft="\\u200d",Ht="(?:"+Mt+"|"+Pt+")",Yt="(?:"+Bt+"|"+Pt+")",zt="(?:['’](?:d|ll|m|re|s|t|ve))?",Ut="(?:['’](?:D|LL|M|RE|S|T|VE))?",Vt="(?:"+Ot+"|"+Dt+")?",qt="["+Ct+"]?",Xt=qt+Vt+"(?:"+Ft+"(?:"+[Rt,jt,Gt].join("|")+")"+qt+Vt+")*",Wt="(?:"+[It,jt,Gt].join("|")+")"+Xt,$t="(?:"+[Rt+Ot+"?",Ot,jt,Gt,At].join("|")+")",Zt=RegExp("['’]","g"),Kt=RegExp(Ot,"g"),Qt=RegExp(Dt+"(?="+Dt+")|"+$t+Xt,"g"),Jt=RegExp([Bt+"?"+Mt+"+"+zt+"(?="+[St,Bt,"$"].join("|")+")",Yt+"+"+Ut+"(?="+[St,Bt+Ht,"$"].join("|")+")",Bt+"?"+Ht+"+"+zt,Bt+"+"+Ut,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Lt,Wt].join("|"),"g"),te=RegExp("["+Ft+xt+_t+Ct+"]"),ee=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,ne=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],re=-1,ie={};ie[M]=ie[P]=ie[D]=ie[R]=ie[j]=ie[G]=ie[B]=ie[F]=ie[H]=!0,ie[g]=ie[v]=ie[L]=ie[b]=ie[I]=ie[y]=ie[m]=ie[w]=ie[_]=ie[E]=ie[k]=ie[C]=ie[N]=ie[A]=ie[O]=!1;var oe={};oe[g]=oe[v]=oe[L]=oe[I]=oe[b]=oe[y]=oe[M]=oe[P]=oe[D]=oe[R]=oe[j]=oe[_]=oe[E]=oe[k]=oe[C]=oe[N]=oe[A]=oe[S]=oe[G]=oe[B]=oe[F]=oe[H]=!0,oe[m]=oe[w]=oe[O]=!1;var ae={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},se=parseFloat,ce=parseInt,ue="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g,le="object"==typeof self&&self&&self.Object===Object&&self,he=ue||le||Function("return this")(),fe=e&&!e.nodeType&&e,de=fe&&t&&!t.nodeType&&t,pe=de&&de.exports===fe,ge=pe&&ue.process,ve=function(){try{return de&&de.require&&de.require("util").types||ge&&ge.binding&&ge.binding("util")}catch(t){}}(),be=ve&&ve.isArrayBuffer,ye=ve&&ve.isDate,me=ve&&ve.isMap,we=ve&&ve.isRegExp,xe=ve&&ve.isSet,_e=ve&&ve.isTypedArray;function Ee(t,e,n){switch(n.length){case 0:return t.call(e);case 1:return t.call(e,n[0]);case 2:return t.call(e,n[0],n[1]);case 3:return t.call(e,n[0],n[1],n[2])}return t.apply(e,n)}function ke(t,e,n,r){for(var i=-1,o=null==t?0:t.length;++i-1}function Oe(t,e,n){for(var r=-1,i=null==t?0:t.length;++r-1;);return n}function Je(t,e){for(var n=t.length;n--&&Be(e,t[n],0)>-1;);return n}var tn=Ue({À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"}),en=Ue({"&":"&","<":"<",">":">",'"':""","'":"'"});function nn(t){return"\\"+ae[t]}function rn(t){return te.test(t)}function on(t){var e=-1,n=Array(t.size);return t.forEach((function(t,r){n[++e]=[r,t]})),n}function an(t,e){return function(n){return t(e(n))}}function sn(t,e){for(var n=-1,r=t.length,i=0,o=[];++n",""":'"',"'":"'"}),pn=function t(e){var n,r=(e=null==e?he:pn.defaults(he.Object(),e,pn.pick(he,ne))).Array,it=e.Date,xt=e.Error,_t=e.Function,Et=e.Math,kt=e.Object,Tt=e.RegExp,Ct=e.String,Nt=e.TypeError,At=r.prototype,St=_t.prototype,Ot=kt.prototype,Lt=e["__core-js_shared__"],It=St.toString,Mt=Ot.hasOwnProperty,Pt=0,Dt=(n=/[^.]+$/.exec(Lt&&Lt.keys&&Lt.keys.IE_PROTO||""))?"Symbol(src)_1."+n:"",Rt=Ot.toString,jt=It.call(kt),Gt=he._,Bt=Tt("^"+It.call(Mt).replace(et,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Ft=pe?e.Buffer:i,Ht=e.Symbol,Yt=e.Uint8Array,zt=Ft?Ft.allocUnsafe:i,Ut=an(kt.getPrototypeOf,kt),Vt=kt.create,qt=Ot.propertyIsEnumerable,Xt=At.splice,Wt=Ht?Ht.isConcatSpreadable:i,$t=Ht?Ht.iterator:i,Qt=Ht?Ht.toStringTag:i,te=function(){try{var t=co(kt,"defineProperty");return t({},"",{}),t}catch(t){}}(),ae=e.clearTimeout!==he.clearTimeout&&e.clearTimeout,ue=it&&it.now!==he.Date.now&&it.now,le=e.setTimeout!==he.setTimeout&&e.setTimeout,fe=Et.ceil,de=Et.floor,ge=kt.getOwnPropertySymbols,ve=Ft?Ft.isBuffer:i,Re=e.isFinite,Ue=At.join,gn=an(kt.keys,kt),vn=Et.max,bn=Et.min,yn=it.now,mn=e.parseInt,wn=Et.random,xn=At.reverse,_n=co(e,"DataView"),En=co(e,"Map"),kn=co(e,"Promise"),Tn=co(e,"Set"),Cn=co(e,"WeakMap"),Nn=co(kt,"create"),An=Cn&&new Cn,Sn={},On=jo(_n),Ln=jo(En),In=jo(kn),Mn=jo(Tn),Pn=jo(Cn),Dn=Ht?Ht.prototype:i,Rn=Dn?Dn.valueOf:i,jn=Dn?Dn.toString:i;function Gn(t){if(ts(t)&&!za(t)&&!(t instanceof Yn)){if(t instanceof Hn)return t;if(Mt.call(t,"__wrapped__"))return Go(t)}return new Hn(t)}var Bn=function(){function t(){}return function(e){if(!Ja(e))return{};if(Vt)return Vt(e);t.prototype=e;var n=new t;return t.prototype=i,n}}();function Fn(){}function Hn(t,e){this.__wrapped__=t,this.__actions__=[],this.__chain__=!!e,this.__index__=0,this.__values__=i}function Yn(t){this.__wrapped__=t,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=d,this.__views__=[]}function zn(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e=e?t:e)),t}function ar(t,e,n,r,o,a){var s,c=1&e,u=2&e,l=4&e;if(n&&(s=o?n(t,r,o,a):n(t)),s!==i)return s;if(!Ja(t))return t;var h=za(t);if(h){if(s=function(t){var e=t.length,n=new t.constructor(e);return e&&"string"==typeof t[0]&&Mt.call(t,"index")&&(n.index=t.index,n.input=t.input),n}(t),!c)return Ci(t,s)}else{var f=ho(t),d=f==w||f==x;if(Xa(t))return wi(t,c);if(f==k||f==g||d&&!o){if(s=u||d?{}:po(t),!c)return u?function(t,e){return Ni(t,lo(t),e)}(t,function(t,e){return t&&Ni(e,Ls(e),t)}(s,t)):function(t,e){return Ni(t,uo(t),e)}(t,nr(s,t))}else{if(!oe[f])return o?t:{};s=function(t,e,n){var r,i=t.constructor;switch(e){case L:return xi(t);case b:case y:return new i(+t);case I:return function(t,e){var n=e?xi(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.byteLength)}(t,n);case M:case P:case D:case R:case j:case G:case B:case F:case H:return _i(t,n);case _:return new i;case E:case A:return new i(t);case C:return function(t){var e=new t.constructor(t.source,ft.exec(t));return e.lastIndex=t.lastIndex,e}(t);case N:return new i;case S:return r=t,Rn?kt(Rn.call(r)):{}}}(t,f,c)}}a||(a=new Xn);var p=a.get(t);if(p)return p;a.set(t,s),os(t)?t.forEach((function(r){s.add(ar(r,e,n,r,t,a))})):es(t)&&t.forEach((function(r,i){s.set(i,ar(r,e,n,i,t,a))}));var v=h?i:(l?u?eo:to:u?Ls:Os)(t);return Te(v||t,(function(r,i){v&&(r=t[i=r]),Jn(s,i,ar(r,e,n,i,t,a))})),s}function sr(t,e,n){var r=n.length;if(null==t)return!r;for(t=kt(t);r--;){var o=n[r],a=e[o],s=t[o];if(s===i&&!(o in t)||!a(s))return!1}return!0}function cr(t,e,n){if("function"!=typeof t)throw new Nt(o);return Ao((function(){t.apply(i,n)}),e)}function ur(t,e,n,r){var i=-1,o=Se,a=!0,s=t.length,c=[],u=e.length;if(!s)return c;n&&(e=Le(e,$e(n))),r?(o=Oe,a=!1):e.length>=200&&(o=Ke,a=!1,e=new qn(e));t:for(;++i-1},Un.prototype.set=function(t,e){var n=this.__data__,r=tr(n,t);return r<0?(++this.size,n.push([t,e])):n[r][1]=e,this},Vn.prototype.clear=function(){this.size=0,this.__data__={hash:new zn,map:new(En||Un),string:new zn}},Vn.prototype.delete=function(t){var e=ao(this,t).delete(t);return this.size-=e?1:0,e},Vn.prototype.get=function(t){return ao(this,t).get(t)},Vn.prototype.has=function(t){return ao(this,t).has(t)},Vn.prototype.set=function(t,e){var n=ao(this,t),r=n.size;return n.set(t,e),this.size+=n.size==r?0:1,this},qn.prototype.add=qn.prototype.push=function(t){return this.__data__.set(t,a),this},qn.prototype.has=function(t){return this.__data__.has(t)},Xn.prototype.clear=function(){this.__data__=new Un,this.size=0},Xn.prototype.delete=function(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n},Xn.prototype.get=function(t){return this.__data__.get(t)},Xn.prototype.has=function(t){return this.__data__.has(t)},Xn.prototype.set=function(t,e){var n=this.__data__;if(n instanceof Un){var r=n.__data__;if(!En||r.length<199)return r.push([t,e]),this.size=++n.size,this;n=this.__data__=new Vn(r)}return n.set(t,e),this.size=n.size,this};var lr=Oi(yr),hr=Oi(mr,!0);function fr(t,e){var n=!0;return lr(t,(function(t,r,i){return n=!!e(t,r,i)})),n}function dr(t,e,n){for(var r=-1,o=t.length;++r0&&n(s)?e>1?gr(s,e-1,n,r,i):Ie(i,s):r||(i[i.length]=s)}return i}var vr=Li(),br=Li(!0);function yr(t,e){return t&&vr(t,e,Os)}function mr(t,e){return t&&br(t,e,Os)}function wr(t,e){return Ae(e,(function(e){return Za(t[e])}))}function xr(t,e){for(var n=0,r=(e=vi(e,t)).length;null!=t&&ne}function Tr(t,e){return null!=t&&Mt.call(t,e)}function Cr(t,e){return null!=t&&e in kt(t)}function Nr(t,e,n){for(var o=n?Oe:Se,a=t[0].length,s=t.length,c=s,u=r(s),l=1/0,h=[];c--;){var f=t[c];c&&e&&(f=Le(f,$e(e))),l=bn(f.length,l),u[c]=!n&&(e||a>=120&&f.length>=120)?new qn(c&&f):i}f=t[0];var d=-1,p=u[0];t:for(;++d=s?c:c*("desc"==n[r]?-1:1)}return t.index-e.index}(t,e,n)}));r--;)t[r]=t[r].value;return t}(i)}function Yr(t,e,n){for(var r=-1,i=e.length,o={};++r-1;)s!==t&&Xt.call(s,c,1),Xt.call(t,c,1);return t}function Ur(t,e){for(var n=t?e.length:0,r=n-1;n--;){var i=e[n];if(n==r||i!==o){var o=i;vo(i)?Xt.call(t,i,1):ci(t,i)}}return t}function Vr(t,e){return t+de(wn()*(e-t+1))}function qr(t,e){var n="";if(!t||e<1||e>h)return n;do{e%2&&(n+=t),(e=de(e/2))&&(t+=t)}while(e);return n}function Xr(t,e){return So(ko(t,e,nc),t+"")}function Wr(t){return $n(Bs(t))}function $r(t,e){var n=Bs(t);return Io(n,or(e,0,n.length))}function Zr(t,e,n,r){if(!Ja(t))return t;for(var o=-1,a=(e=vi(e,t)).length,s=a-1,c=t;null!=c&&++oo?0:o+e),(n=n>o?o:n)<0&&(n+=o),o=e>n?0:n-e>>>0,e>>>=0;for(var a=r(o);++i>>1,a=t[o];null!==a&&!ss(a)&&(n?a<=e:a=200){var u=e?null:qi(t);if(u)return cn(u);a=!1,i=Ke,c=new qn}else c=e?[]:s;t:for(;++r=r?t:ti(t,e,n)}var mi=ae||function(t){return he.clearTimeout(t)};function wi(t,e){if(e)return t.slice();var n=t.length,r=zt?zt(n):new t.constructor(n);return t.copy(r),r}function xi(t){var e=new t.constructor(t.byteLength);return new Yt(e).set(new Yt(t)),e}function _i(t,e){var n=e?xi(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.length)}function Ei(t,e){if(t!==e){var n=t!==i,r=null===t,o=t==t,a=ss(t),s=e!==i,c=null===e,u=e==e,l=ss(e);if(!c&&!l&&!a&&t>e||a&&s&&u&&!c&&!l||r&&s&&u||!n&&u||!o)return 1;if(!r&&!a&&!l&&t1?n[o-1]:i,s=o>2?n[2]:i;for(a=t.length>3&&"function"==typeof a?(o--,a):i,s&&bo(n[0],n[1],s)&&(a=o<3?i:a,o=1),e=kt(e);++r-1?o[a?e[s]:s]:i}}function Ri(t){return Ji((function(e){var n=e.length,r=n,a=Hn.prototype.thru;for(t&&e.reverse();r--;){var s=e[r];if("function"!=typeof s)throw new Nt(o);if(a&&!c&&"wrapper"==ro(s))var c=new Hn([],!0)}for(r=c?r:n;++r1&&w.reverse(),d&&hc))return!1;var l=a.get(t),h=a.get(e);if(l&&h)return l==e&&h==t;var f=-1,d=!0,p=2&n?new qn:i;for(a.set(t,e),a.set(e,t);++f-1&&t%1==0&&t1?"& ":"")+e[r],e=e.join(n>2?", ":" "),t.replace(ot,"{\n/* [wrapped with "+e+"] */\n")}(r,function(t,e){return Te(p,(function(n){var r="_."+n[0];e&n[1]&&!Se(t,r)&&t.push(r)})),t.sort()}(function(t){var e=t.match(at);return e?e[1].split(st):[]}(r),n)))}function Lo(t){var e=0,n=0;return function(){var r=yn(),o=16-(r-n);if(n=r,o>0){if(++e>=800)return arguments[0]}else e=0;return t.apply(i,arguments)}}function Io(t,e){var n=-1,r=t.length,o=r-1;for(e=e===i?r:e;++n1?t[e-1]:i;return n="function"==typeof n?(t.pop(),n):i,ia(t,n)}));function ha(t){var e=Gn(t);return e.__chain__=!0,e}function fa(t,e){return e(t)}var da=Ji((function(t){var e=t.length,n=e?t[0]:0,r=this.__wrapped__,o=function(e){return ir(e,t)};return!(e>1||this.__actions__.length)&&r instanceof Yn&&vo(n)?((r=r.slice(n,+n+(e?1:0))).__actions__.push({func:fa,args:[o],thisArg:i}),new Hn(r,this.__chain__).thru((function(t){return e&&!t.length&&t.push(i),t}))):this.thru(o)})),pa=Ai((function(t,e,n){Mt.call(t,n)?++t[n]:rr(t,n,1)})),ga=Di(Yo),va=Di(zo);function ba(t,e){return(za(t)?Te:lr)(t,oo(e,3))}function ya(t,e){return(za(t)?Ce:hr)(t,oo(e,3))}var ma=Ai((function(t,e,n){Mt.call(t,n)?t[n].push(e):rr(t,n,[e])})),wa=Xr((function(t,e,n){var i=-1,o="function"==typeof e,a=Va(t)?r(t.length):[];return lr(t,(function(t){a[++i]=o?Ee(e,t,n):Ar(t,e,n)})),a})),xa=Ai((function(t,e,n){rr(t,n,e)}));function _a(t,e){return(za(t)?Le:Rr)(t,oo(e,3))}var Ea=Ai((function(t,e,n){t[n?0:1].push(e)}),(function(){return[[],[]]})),ka=Xr((function(t,e){if(null==t)return[];var n=e.length;return n>1&&bo(t,e[0],e[1])?e=[]:n>2&&bo(e[0],e[1],e[2])&&(e=[e[0]]),Hr(t,gr(e,1),[])})),Ta=ue||function(){return he.Date.now()};function Ca(t,e,n){return e=n?i:e,e=t&&null==e?t.length:e,Wi(t,u,i,i,i,i,e)}function Na(t,e){var n;if("function"!=typeof e)throw new Nt(o);return t=ds(t),function(){return--t>0&&(n=e.apply(this,arguments)),t<=1&&(e=i),n}}var Aa=Xr((function(t,e,n){var r=1;if(n.length){var i=sn(n,io(Aa));r|=c}return Wi(t,r,e,n,i)})),Sa=Xr((function(t,e,n){var r=3;if(n.length){var i=sn(n,io(Sa));r|=c}return Wi(e,r,t,n,i)}));function Oa(t,e,n){var r,a,s,c,u,l,h=0,f=!1,d=!1,p=!0;if("function"!=typeof t)throw new Nt(o);function g(e){var n=r,o=a;return r=a=i,h=e,c=t.apply(o,n)}function v(t){var n=t-l;return l===i||n>=e||n<0||d&&t-h>=s}function b(){var t=Ta();if(v(t))return y(t);u=Ao(b,function(t){var n=e-(t-l);return d?bn(n,s-(t-h)):n}(t))}function y(t){return u=i,p&&r?g(t):(r=a=i,c)}function m(){var t=Ta(),n=v(t);if(r=arguments,a=this,l=t,n){if(u===i)return function(t){return h=t,u=Ao(b,e),f?g(t):c}(l);if(d)return mi(u),u=Ao(b,e),g(l)}return u===i&&(u=Ao(b,e)),c}return e=gs(e)||0,Ja(n)&&(f=!!n.leading,s=(d="maxWait"in n)?vn(gs(n.maxWait)||0,e):s,p="trailing"in n?!!n.trailing:p),m.cancel=function(){u!==i&&mi(u),h=0,r=l=a=u=i},m.flush=function(){return u===i?c:y(Ta())},m}var La=Xr((function(t,e){return cr(t,1,e)})),Ia=Xr((function(t,e,n){return cr(t,gs(e)||0,n)}));function Ma(t,e){if("function"!=typeof t||null!=e&&"function"!=typeof e)throw new Nt(o);var n=function(){var r=arguments,i=e?e.apply(this,r):r[0],o=n.cache;if(o.has(i))return o.get(i);var a=t.apply(this,r);return n.cache=o.set(i,a)||o,a};return n.cache=new(Ma.Cache||Vn),n}function Pa(t){if("function"!=typeof t)throw new Nt(o);return function(){var e=arguments;switch(e.length){case 0:return!t.call(this);case 1:return!t.call(this,e[0]);case 2:return!t.call(this,e[0],e[1]);case 3:return!t.call(this,e[0],e[1],e[2])}return!t.apply(this,e)}}Ma.Cache=Vn;var Da=bi((function(t,e){var n=(e=1==e.length&&za(e[0])?Le(e[0],$e(oo())):Le(gr(e,1),$e(oo()))).length;return Xr((function(r){for(var i=-1,o=bn(r.length,n);++i=e})),Ya=Sr(function(){return arguments}())?Sr:function(t){return ts(t)&&Mt.call(t,"callee")&&!qt.call(t,"callee")},za=r.isArray,Ua=be?$e(be):function(t){return ts(t)&&Er(t)==L};function Va(t){return null!=t&&Qa(t.length)&&!Za(t)}function qa(t){return ts(t)&&Va(t)}var Xa=ve||gc,Wa=ye?$e(ye):function(t){return ts(t)&&Er(t)==y};function $a(t){if(!ts(t))return!1;var e=Er(t);return e==m||"[object DOMException]"==e||"string"==typeof t.message&&"string"==typeof t.name&&!rs(t)}function Za(t){if(!Ja(t))return!1;var e=Er(t);return e==w||e==x||"[object AsyncFunction]"==e||"[object Proxy]"==e}function Ka(t){return"number"==typeof t&&t==ds(t)}function Qa(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=h}function Ja(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}function ts(t){return null!=t&&"object"==typeof t}var es=me?$e(me):function(t){return ts(t)&&ho(t)==_};function ns(t){return"number"==typeof t||ts(t)&&Er(t)==E}function rs(t){if(!ts(t)||Er(t)!=k)return!1;var e=Ut(t);if(null===e)return!0;var n=Mt.call(e,"constructor")&&e.constructor;return"function"==typeof n&&n instanceof n&&It.call(n)==jt}var is=we?$e(we):function(t){return ts(t)&&Er(t)==C},os=xe?$e(xe):function(t){return ts(t)&&ho(t)==N};function as(t){return"string"==typeof t||!za(t)&&ts(t)&&Er(t)==A}function ss(t){return"symbol"==typeof t||ts(t)&&Er(t)==S}var cs=_e?$e(_e):function(t){return ts(t)&&Qa(t.length)&&!!ie[Er(t)]},us=zi(Dr),ls=zi((function(t,e){return t<=e}));function hs(t){if(!t)return[];if(Va(t))return as(t)?hn(t):Ci(t);if($t&&t[$t])return function(t){for(var e,n=[];!(e=t.next()).done;)n.push(e.value);return n}(t[$t]());var e=ho(t);return(e==_?on:e==N?cn:Bs)(t)}function fs(t){return t?(t=gs(t))===l||t===-1/0?17976931348623157e292*(t<0?-1:1):t==t?t:0:0===t?t:0}function ds(t){var e=fs(t),n=e%1;return e==e?n?e-n:e:0}function ps(t){return t?or(ds(t),0,d):0}function gs(t){if("number"==typeof t)return t;if(ss(t))return f;if(Ja(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=Ja(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=We(t);var n=pt.test(t);return n||vt.test(t)?ce(t.slice(2),n?2:8):dt.test(t)?f:+t}function vs(t){return Ni(t,Ls(t))}function bs(t){return null==t?"":ai(t)}var ys=Si((function(t,e){if(xo(e)||Va(e))Ni(e,Os(e),t);else for(var n in e)Mt.call(e,n)&&Jn(t,n,e[n])})),ms=Si((function(t,e){Ni(e,Ls(e),t)})),ws=Si((function(t,e,n,r){Ni(e,Ls(e),t,r)})),xs=Si((function(t,e,n,r){Ni(e,Os(e),t,r)})),_s=Ji(ir),Es=Xr((function(t,e){t=kt(t);var n=-1,r=e.length,o=r>2?e[2]:i;for(o&&bo(e[0],e[1],o)&&(r=1);++n1),e})),Ni(t,eo(t),n),r&&(n=ar(n,7,Ki));for(var i=e.length;i--;)ci(n,e[i]);return n})),Ds=Ji((function(t,e){return null==t?{}:function(t,e){return Yr(t,e,(function(e,n){return Cs(t,n)}))}(t,e)}));function Rs(t,e){if(null==t)return{};var n=Le(eo(t),(function(t){return[t]}));return e=oo(e),Yr(t,n,(function(t,n){return e(t,n[0])}))}var js=Xi(Os),Gs=Xi(Ls);function Bs(t){return null==t?[]:Ze(t,Os(t))}var Fs=Mi((function(t,e,n){return e=e.toLowerCase(),t+(n?Hs(e):e)}));function Hs(t){return $s(bs(t).toLowerCase())}function Ys(t){return(t=bs(t))&&t.replace(yt,tn).replace(Kt,"")}var zs=Mi((function(t,e,n){return t+(n?"-":"")+e.toLowerCase()})),Us=Mi((function(t,e,n){return t+(n?" ":"")+e.toLowerCase()})),Vs=Ii("toLowerCase"),qs=Mi((function(t,e,n){return t+(n?"_":"")+e.toLowerCase()})),Xs=Mi((function(t,e,n){return t+(n?" ":"")+$s(e)})),Ws=Mi((function(t,e,n){return t+(n?" ":"")+e.toUpperCase()})),$s=Ii("toUpperCase");function Zs(t,e,n){return t=bs(t),(e=n?i:e)===i?function(t){return ee.test(t)}(t)?function(t){return t.match(Jt)||[]}(t):function(t){return t.match(ct)||[]}(t):t.match(e)||[]}var Ks=Xr((function(t,e){try{return Ee(t,i,e)}catch(t){return $a(t)?t:new xt(t)}})),Qs=Ji((function(t,e){return Te(e,(function(e){e=Ro(e),rr(t,e,Aa(t[e],t))})),t}));function Js(t){return function(){return t}}var tc=Ri(),ec=Ri(!0);function nc(t){return t}function rc(t){return Mr("function"==typeof t?t:ar(t,1))}var ic=Xr((function(t,e){return function(n){return Ar(n,t,e)}})),oc=Xr((function(t,e){return function(n){return Ar(t,n,e)}}));function ac(t,e,n){var r=Os(e),i=wr(e,r);null!=n||Ja(e)&&(i.length||!r.length)||(n=e,e=t,t=this,i=wr(e,Os(e)));var o=!(Ja(n)&&"chain"in n&&!n.chain),a=Za(t);return Te(i,(function(n){var r=e[n];t[n]=r,a&&(t.prototype[n]=function(){var e=this.__chain__;if(o||e){var n=t(this.__wrapped__);return(n.__actions__=Ci(this.__actions__)).push({func:r,args:arguments,thisArg:t}),n.__chain__=e,n}return r.apply(t,Ie([this.value()],arguments))})})),t}function sc(){}var cc=Fi(Le),uc=Fi(Ne),lc=Fi(De);function hc(t){return yo(t)?ze(Ro(t)):function(t){return function(e){return xr(e,t)}}(t)}var fc=Yi(),dc=Yi(!0);function pc(){return[]}function gc(){return!1}var vc,bc=Bi((function(t,e){return t+e}),0),yc=Vi("ceil"),mc=Bi((function(t,e){return t/e}),1),wc=Vi("floor"),xc=Bi((function(t,e){return t*e}),1),_c=Vi("round"),Ec=Bi((function(t,e){return t-e}),0);return Gn.after=function(t,e){if("function"!=typeof e)throw new Nt(o);return t=ds(t),function(){if(--t<1)return e.apply(this,arguments)}},Gn.ary=Ca,Gn.assign=ys,Gn.assignIn=ms,Gn.assignInWith=ws,Gn.assignWith=xs,Gn.at=_s,Gn.before=Na,Gn.bind=Aa,Gn.bindAll=Qs,Gn.bindKey=Sa,Gn.castArray=function(){if(!arguments.length)return[];var t=arguments[0];return za(t)?t:[t]},Gn.chain=ha,Gn.chunk=function(t,e,n){e=(n?bo(t,e,n):e===i)?1:vn(ds(e),0);var o=null==t?0:t.length;if(!o||e<1)return[];for(var a=0,s=0,c=r(fe(o/e));ao?0:o+n),(r=r===i||r>o?o:ds(r))<0&&(r+=o),r=n>r?0:ps(r);n>>0)?(t=bs(t))&&("string"==typeof e||null!=e&&!is(e))&&!(e=ai(e))&&rn(t)?yi(hn(t),0,n):t.split(e,n):[]},Gn.spread=function(t,e){if("function"!=typeof t)throw new Nt(o);return e=null==e?0:vn(ds(e),0),Xr((function(n){var r=n[e],i=yi(n,0,e);return r&&Ie(i,r),Ee(t,this,i)}))},Gn.tail=function(t){var e=null==t?0:t.length;return e?ti(t,1,e):[]},Gn.take=function(t,e,n){return t&&t.length?ti(t,0,(e=n||e===i?1:ds(e))<0?0:e):[]},Gn.takeRight=function(t,e,n){var r=null==t?0:t.length;return r?ti(t,(e=r-(e=n||e===i?1:ds(e)))<0?0:e,r):[]},Gn.takeRightWhile=function(t,e){return t&&t.length?li(t,oo(e,3),!1,!0):[]},Gn.takeWhile=function(t,e){return t&&t.length?li(t,oo(e,3)):[]},Gn.tap=function(t,e){return e(t),t},Gn.throttle=function(t,e,n){var r=!0,i=!0;if("function"!=typeof t)throw new Nt(o);return Ja(n)&&(r="leading"in n?!!n.leading:r,i="trailing"in n?!!n.trailing:i),Oa(t,e,{leading:r,maxWait:e,trailing:i})},Gn.thru=fa,Gn.toArray=hs,Gn.toPairs=js,Gn.toPairsIn=Gs,Gn.toPath=function(t){return za(t)?Le(t,Ro):ss(t)?[t]:Ci(Do(bs(t)))},Gn.toPlainObject=vs,Gn.transform=function(t,e,n){var r=za(t),i=r||Xa(t)||cs(t);if(e=oo(e,4),null==n){var o=t&&t.constructor;n=i?r?new o:[]:Ja(t)&&Za(o)?Bn(Ut(t)):{}}return(i?Te:yr)(t,(function(t,r,i){return e(n,t,r,i)})),n},Gn.unary=function(t){return Ca(t,1)},Gn.union=ta,Gn.unionBy=ea,Gn.unionWith=na,Gn.uniq=function(t){return t&&t.length?si(t):[]},Gn.uniqBy=function(t,e){return t&&t.length?si(t,oo(e,2)):[]},Gn.uniqWith=function(t,e){return e="function"==typeof e?e:i,t&&t.length?si(t,i,e):[]},Gn.unset=function(t,e){return null==t||ci(t,e)},Gn.unzip=ra,Gn.unzipWith=ia,Gn.update=function(t,e,n){return null==t?t:ui(t,e,gi(n))},Gn.updateWith=function(t,e,n,r){return r="function"==typeof r?r:i,null==t?t:ui(t,e,gi(n),r)},Gn.values=Bs,Gn.valuesIn=function(t){return null==t?[]:Ze(t,Ls(t))},Gn.without=oa,Gn.words=Zs,Gn.wrap=function(t,e){return Ra(gi(e),t)},Gn.xor=aa,Gn.xorBy=sa,Gn.xorWith=ca,Gn.zip=ua,Gn.zipObject=function(t,e){return di(t||[],e||[],Jn)},Gn.zipObjectDeep=function(t,e){return di(t||[],e||[],Zr)},Gn.zipWith=la,Gn.entries=js,Gn.entriesIn=Gs,Gn.extend=ms,Gn.extendWith=ws,ac(Gn,Gn),Gn.add=bc,Gn.attempt=Ks,Gn.camelCase=Fs,Gn.capitalize=Hs,Gn.ceil=yc,Gn.clamp=function(t,e,n){return n===i&&(n=e,e=i),n!==i&&(n=(n=gs(n))==n?n:0),e!==i&&(e=(e=gs(e))==e?e:0),or(gs(t),e,n)},Gn.clone=function(t){return ar(t,4)},Gn.cloneDeep=function(t){return ar(t,5)},Gn.cloneDeepWith=function(t,e){return ar(t,5,e="function"==typeof e?e:i)},Gn.cloneWith=function(t,e){return ar(t,4,e="function"==typeof e?e:i)},Gn.conformsTo=function(t,e){return null==e||sr(t,e,Os(e))},Gn.deburr=Ys,Gn.defaultTo=function(t,e){return null==t||t!=t?e:t},Gn.divide=mc,Gn.endsWith=function(t,e,n){t=bs(t),e=ai(e);var r=t.length,o=n=n===i?r:or(ds(n),0,r);return(n-=e.length)>=0&&t.slice(n,o)==e},Gn.eq=Ba,Gn.escape=function(t){return(t=bs(t))&&W.test(t)?t.replace(q,en):t},Gn.escapeRegExp=function(t){return(t=bs(t))&&nt.test(t)?t.replace(et,"\\$&"):t},Gn.every=function(t,e,n){var r=za(t)?Ne:fr;return n&&bo(t,e,n)&&(e=i),r(t,oo(e,3))},Gn.find=ga,Gn.findIndex=Yo,Gn.findKey=function(t,e){return je(t,oo(e,3),yr)},Gn.findLast=va,Gn.findLastIndex=zo,Gn.findLastKey=function(t,e){return je(t,oo(e,3),mr)},Gn.floor=wc,Gn.forEach=ba,Gn.forEachRight=ya,Gn.forIn=function(t,e){return null==t?t:vr(t,oo(e,3),Ls)},Gn.forInRight=function(t,e){return null==t?t:br(t,oo(e,3),Ls)},Gn.forOwn=function(t,e){return t&&yr(t,oo(e,3))},Gn.forOwnRight=function(t,e){return t&&mr(t,oo(e,3))},Gn.get=Ts,Gn.gt=Fa,Gn.gte=Ha,Gn.has=function(t,e){return null!=t&&fo(t,e,Tr)},Gn.hasIn=Cs,Gn.head=Vo,Gn.identity=nc,Gn.includes=function(t,e,n,r){t=Va(t)?t:Bs(t),n=n&&!r?ds(n):0;var i=t.length;return n<0&&(n=vn(i+n,0)),as(t)?n<=i&&t.indexOf(e,n)>-1:!!i&&Be(t,e,n)>-1},Gn.indexOf=function(t,e,n){var r=null==t?0:t.length;if(!r)return-1;var i=null==n?0:ds(n);return i<0&&(i=vn(r+i,0)),Be(t,e,i)},Gn.inRange=function(t,e,n){return e=fs(e),n===i?(n=e,e=0):n=fs(n),function(t,e,n){return t>=bn(e,n)&&t=-9007199254740991&&t<=h},Gn.isSet=os,Gn.isString=as,Gn.isSymbol=ss,Gn.isTypedArray=cs,Gn.isUndefined=function(t){return t===i},Gn.isWeakMap=function(t){return ts(t)&&ho(t)==O},Gn.isWeakSet=function(t){return ts(t)&&"[object WeakSet]"==Er(t)},Gn.join=function(t,e){return null==t?"":Ue.call(t,e)},Gn.kebabCase=zs,Gn.last=$o,Gn.lastIndexOf=function(t,e,n){var r=null==t?0:t.length;if(!r)return-1;var o=r;return n!==i&&(o=(o=ds(n))<0?vn(r+o,0):bn(o,r-1)),e==e?function(t,e,n){for(var r=n+1;r--;)if(t[r]===e)return r;return r}(t,e,o):Ge(t,He,o,!0)},Gn.lowerCase=Us,Gn.lowerFirst=Vs,Gn.lt=us,Gn.lte=ls,Gn.max=function(t){return t&&t.length?dr(t,nc,kr):i},Gn.maxBy=function(t,e){return t&&t.length?dr(t,oo(e,2),kr):i},Gn.mean=function(t){return Ye(t,nc)},Gn.meanBy=function(t,e){return Ye(t,oo(e,2))},Gn.min=function(t){return t&&t.length?dr(t,nc,Dr):i},Gn.minBy=function(t,e){return t&&t.length?dr(t,oo(e,2),Dr):i},Gn.stubArray=pc,Gn.stubFalse=gc,Gn.stubObject=function(){return{}},Gn.stubString=function(){return""},Gn.stubTrue=function(){return!0},Gn.multiply=xc,Gn.nth=function(t,e){return t&&t.length?Fr(t,ds(e)):i},Gn.noConflict=function(){return he._===this&&(he._=Gt),this},Gn.noop=sc,Gn.now=Ta,Gn.pad=function(t,e,n){t=bs(t);var r=(e=ds(e))?ln(t):0;if(!e||r>=e)return t;var i=(e-r)/2;return Hi(de(i),n)+t+Hi(fe(i),n)},Gn.padEnd=function(t,e,n){t=bs(t);var r=(e=ds(e))?ln(t):0;return e&&re){var r=t;t=e,e=r}if(n||t%1||e%1){var o=wn();return bn(t+o*(e-t+se("1e-"+((o+"").length-1))),e)}return Vr(t,e)},Gn.reduce=function(t,e,n){var r=za(t)?Me:Ve,i=arguments.length<3;return r(t,oo(e,4),n,i,lr)},Gn.reduceRight=function(t,e,n){var r=za(t)?Pe:Ve,i=arguments.length<3;return r(t,oo(e,4),n,i,hr)},Gn.repeat=function(t,e,n){return e=(n?bo(t,e,n):e===i)?1:ds(e),qr(bs(t),e)},Gn.replace=function(){var t=arguments,e=bs(t[0]);return t.length<3?e:e.replace(t[1],t[2])},Gn.result=function(t,e,n){var r=-1,o=(e=vi(e,t)).length;for(o||(o=1,t=i);++rh)return[];var n=d,r=bn(t,d);e=oo(e),t-=d;for(var i=Xe(r,e);++n=a)return t;var c=n-ln(r);if(c<1)return r;var u=s?yi(s,0,c).join(""):t.slice(0,c);if(o===i)return u+r;if(s&&(c+=u.length-c),is(o)){if(t.slice(c).search(o)){var l,h=u;for(o.global||(o=Tt(o.source,bs(ft.exec(o))+"g")),o.lastIndex=0;l=o.exec(h);)var f=l.index;u=u.slice(0,f===i?c:f)}}else if(t.indexOf(ai(o),c)!=c){var d=u.lastIndexOf(o);d>-1&&(u=u.slice(0,d))}return u+r},Gn.unescape=function(t){return(t=bs(t))&&X.test(t)?t.replace(V,dn):t},Gn.uniqueId=function(t){var e=++Pt;return bs(t)+e},Gn.upperCase=Ws,Gn.upperFirst=$s,Gn.each=ba,Gn.eachRight=ya,Gn.first=Vo,ac(Gn,(vc={},yr(Gn,(function(t,e){Mt.call(Gn.prototype,e)||(vc[e]=t)})),vc),{chain:!1}),Gn.VERSION="4.17.21",Te(["bind","bindKey","curry","curryRight","partial","partialRight"],(function(t){Gn[t].placeholder=Gn})),Te(["drop","take"],(function(t,e){Yn.prototype[t]=function(n){n=n===i?1:vn(ds(n),0);var r=this.__filtered__&&!e?new Yn(this):this.clone();return r.__filtered__?r.__takeCount__=bn(n,r.__takeCount__):r.__views__.push({size:bn(n,d),type:t+(r.__dir__<0?"Right":"")}),r},Yn.prototype[t+"Right"]=function(e){return this.reverse()[t](e).reverse()}})),Te(["filter","map","takeWhile"],(function(t,e){var n=e+1,r=1==n||3==n;Yn.prototype[t]=function(t){var e=this.clone();return e.__iteratees__.push({iteratee:oo(t,3),type:n}),e.__filtered__=e.__filtered__||r,e}})),Te(["head","last"],(function(t,e){var n="take"+(e?"Right":"");Yn.prototype[t]=function(){return this[n](1).value()[0]}})),Te(["initial","tail"],(function(t,e){var n="drop"+(e?"":"Right");Yn.prototype[t]=function(){return this.__filtered__?new Yn(this):this[n](1)}})),Yn.prototype.compact=function(){return this.filter(nc)},Yn.prototype.find=function(t){return this.filter(t).head()},Yn.prototype.findLast=function(t){return this.reverse().find(t)},Yn.prototype.invokeMap=Xr((function(t,e){return"function"==typeof t?new Yn(this):this.map((function(n){return Ar(n,t,e)}))})),Yn.prototype.reject=function(t){return this.filter(Pa(oo(t)))},Yn.prototype.slice=function(t,e){t=ds(t);var n=this;return n.__filtered__&&(t>0||e<0)?new Yn(n):(t<0?n=n.takeRight(-t):t&&(n=n.drop(t)),e!==i&&(n=(e=ds(e))<0?n.dropRight(-e):n.take(e-t)),n)},Yn.prototype.takeRightWhile=function(t){return this.reverse().takeWhile(t).reverse()},Yn.prototype.toArray=function(){return this.take(d)},yr(Yn.prototype,(function(t,e){var n=/^(?:filter|find|map|reject)|While$/.test(e),r=/^(?:head|last)$/.test(e),o=Gn[r?"take"+("last"==e?"Right":""):e],a=r||/^find/.test(e);o&&(Gn.prototype[e]=function(){var e=this.__wrapped__,s=r?[1]:arguments,c=e instanceof Yn,u=s[0],l=c||za(e),h=function(t){var e=o.apply(Gn,Ie([t],s));return r&&f?e[0]:e};l&&n&&"function"==typeof u&&1!=u.length&&(c=l=!1);var f=this.__chain__,d=!!this.__actions__.length,p=a&&!f,g=c&&!d;if(!a&&l){e=g?e:new Yn(this);var v=t.apply(e,s);return v.__actions__.push({func:fa,args:[h],thisArg:i}),new Hn(v,f)}return p&&g?t.apply(this,s):(v=this.thru(h),p?r?v.value()[0]:v.value():v)})})),Te(["pop","push","shift","sort","splice","unshift"],(function(t){var e=At[t],n=/^(?:push|sort|unshift)$/.test(t)?"tap":"thru",r=/^(?:pop|shift)$/.test(t);Gn.prototype[t]=function(){var t=arguments;if(r&&!this.__chain__){var i=this.value();return e.apply(za(i)?i:[],t)}return this[n]((function(n){return e.apply(za(n)?n:[],t)}))}})),yr(Yn.prototype,(function(t,e){var n=Gn[e];if(n){var r=n.name+"";Mt.call(Sn,r)||(Sn[r]=[]),Sn[r].push({name:e,func:n})}})),Sn[ji(i,2).name]=[{name:"wrapper",func:i}],Yn.prototype.clone=function(){var t=new Yn(this.__wrapped__);return t.__actions__=Ci(this.__actions__),t.__dir__=this.__dir__,t.__filtered__=this.__filtered__,t.__iteratees__=Ci(this.__iteratees__),t.__takeCount__=this.__takeCount__,t.__views__=Ci(this.__views__),t},Yn.prototype.reverse=function(){if(this.__filtered__){var t=new Yn(this);t.__dir__=-1,t.__filtered__=!0}else(t=this.clone()).__dir__*=-1;return t},Yn.prototype.value=function(){var t=this.__wrapped__.value(),e=this.__dir__,n=za(t),r=e<0,i=n?t.length:0,o=function(t,e,n){for(var r=-1,i=n.length;++r=this.__values__.length;return{done:t,value:t?i:this.__values__[this.__index__++]}},Gn.prototype.plant=function(t){for(var e,n=this;n instanceof Fn;){var r=Go(n);r.__index__=0,r.__values__=i,e?o.__wrapped__=r:e=r;var o=r;n=n.__wrapped__}return o.__wrapped__=t,e},Gn.prototype.reverse=function(){var t=this.__wrapped__;if(t instanceof Yn){var e=t;return this.__actions__.length&&(e=new Yn(this)),(e=e.reverse()).__actions__.push({func:fa,args:[Jo],thisArg:i}),new Hn(e,this.__chain__)}return this.thru(Jo)},Gn.prototype.toJSON=Gn.prototype.valueOf=Gn.prototype.value=function(){return hi(this.__wrapped__,this.__actions__)},Gn.prototype.first=Gn.prototype.head,$t&&(Gn.prototype[$t]=function(){return this}),Gn}();he._=pn,(r=function(){return pn}.call(e,n,e,t))===i||(t.exports=r)}.call(this)},5161:(t,e,n)=>{var r=n(9932),i=n(7206),o=n(9199),a=n(1469);t.exports=function(t,e){return(a(t)?r:o)(t,i(e,3))}},6604:(t,e,n)=>{var r=n(9465),i=n(7816),o=n(7206);t.exports=function(t,e){var n={};return e=o(e,3),i(t,(function(t,i,o){r(n,i,e(t,i,o))})),n}},6162:(t,e,n)=>{var r=n(6029),i=n(3325),o=n(6557);t.exports=function(t){return t&&t.length?r(t,o,i):void 0}},8306:(t,e,n)=>{var r=n(3369);function i(t,e){if("function"!=typeof t||null!=e&&"function"!=typeof e)throw new TypeError("Expected a function");var n=function(){var r=arguments,i=e?e.apply(this,r):r[0],o=n.cache;if(o.has(i))return o.get(i);var a=t.apply(this,r);return n.cache=o.set(i,a)||o,a};return n.cache=new(i.Cache||r),n}i.Cache=r,t.exports=i},3857:(t,e,n)=>{var r=n(2980),i=n(1463)((function(t,e,n){r(t,e,n)}));t.exports=i},3632:(t,e,n)=>{var r=n(6029),i=n(433),o=n(6557);t.exports=function(t){return t&&t.length?r(t,o,i):void 0}},2762:(t,e,n)=>{var r=n(6029),i=n(7206),o=n(433);t.exports=function(t,e){return t&&t.length?r(t,i(e,2),o):void 0}},308:t=>{t.exports=function(){}},7771:(t,e,n)=>{var r=n(5639);t.exports=function(){return r.Date.now()}},9722:(t,e,n)=>{var r=n(5970),i=n(9021)((function(t,e){return null==t?{}:r(t,e)}));t.exports=i},9601:(t,e,n)=>{var r=n(371),i=n(9152),o=n(5403),a=n(327);t.exports=function(t){return o(t)?r(a(t)):i(t)}},6026:(t,e,n)=>{var r=n(7445)();t.exports=r},4061:(t,e,n)=>{var r=n(2663),i=n(9881),o=n(7206),a=n(107),s=n(1469);t.exports=function(t,e,n){var c=s(t)?r:a,u=arguments.length<3;return c(t,o(e,4),n,u,i)}},6968:(t,e,n)=>{var r=n(611);t.exports=function(t,e,n){return null==t?t:r(t,e,n)}},4238:(t,e,n)=>{var r=n(280),i=n(4160),o=n(8612),a=n(7037),s=n(8016);t.exports=function(t){if(null==t)return 0;if(o(t))return a(t)?s(t):t.length;var e=i(t);return"[object Map]"==e||"[object Set]"==e?t.size:r(t).length}},9734:(t,e,n)=>{var r=n(1078),i=n(9556),o=n(5976),a=n(6612),s=o((function(t,e){if(null==t)return[];var n=e.length;return n>1&&a(t,e[0],e[1])?e=[]:n>2&&a(e[0],e[1],e[2])&&(e=[e[0]]),i(t,r(e,1),[])}));t.exports=s},479:t=>{t.exports=function(){return[]}},5062:t=>{t.exports=function(){return!1}},8601:(t,e,n)=>{var r=n(4841);t.exports=function(t){return t?Infinity===(t=r(t))||t===-1/0?17976931348623157e292*(t<0?-1:1):t==t?t:0:0===t?t:0}},554:(t,e,n)=>{var r=n(8601);t.exports=function(t){var e=r(t),n=e%1;return e==e?n?e-n:e:0}},4841:(t,e,n)=>{var r=n(7561),i=n(3218),o=n(3448),a=/^[-+]0x[0-9a-f]+$/i,s=/^0b[01]+$/i,c=/^0o[0-7]+$/i,u=parseInt;t.exports=function(t){if("number"==typeof t)return t;if(o(t))return NaN;if(i(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=i(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=r(t);var n=s.test(t);return n||c.test(t)?u(t.slice(2),n?2:8):a.test(t)?NaN:+t}},84:(t,e,n)=>{var r=n(9932),i=n(278),o=n(1469),a=n(3448),s=n(5514),c=n(327),u=n(9833);t.exports=function(t){return o(t)?r(t,c):a(t)?[t]:i(s(u(t)))}},3678:(t,e,n)=>{var r=n(8363),i=n(1704);t.exports=function(t){return r(t,i(t))}},9833:(t,e,n)=>{var r=n(531);t.exports=function(t){return null==t?"":r(t)}},8718:(t,e,n)=>{var r=n(7412),i=n(3118),o=n(7816),a=n(7206),s=n(5924),c=n(1469),u=n(4144),l=n(3560),h=n(3218),f=n(6719);t.exports=function(t,e,n){var d=c(t),p=d||u(t)||f(t);if(e=a(e,4),null==n){var g=t&&t.constructor;n=p?d?new g:[]:h(t)&&l(g)?i(s(t)):{}}return(p?r:o)(t,(function(t,r,i){return e(n,t,r,i)})),n}},3386:(t,e,n)=>{var r=n(1078),i=n(5976),o=n(5652),a=n(9246),s=i((function(t){return o(r(t,1,a,!0))}));t.exports=s},3955:(t,e,n)=>{var r=n(9833),i=0;t.exports=function(t){var e=++i;return r(t)+e}},2628:(t,e,n)=>{var r=n(7415),i=n(3674);t.exports=function(t){return null==t?[]:r(t,i(t))}},7287:(t,e,n)=>{var r=n(4865),i=n(1757);t.exports=function(t,e){return i(t||[],e||[],r)}},2703:(t,e,n)=>{"use strict";var r=n(414);function i(){}function o(){}o.resetWarningCache=i,t.exports=function(){function t(t,e,n,i,o,a){if(a!==r){var s=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw s.name="Invariant Violation",s}}function e(){return t}t.isRequired=t;var n={array:t,bigint:t,bool:t,func:t,number:t,object:t,string:t,symbol:t,any:t,arrayOf:e,element:t,elementType:t,instanceOf:e,node:t,objectOf:e,oneOf:e,oneOfType:e,shape:e,exact:e,checkPropTypes:o,resetWarningCache:i};return n.PropTypes=n,n}},5697:(t,e,n)=>{t.exports=n(2703)()},414:t=>{"use strict";t.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},3379:t=>{"use strict";var e=[];function n(t){for(var n=-1,r=0;r{"use strict";var e={};t.exports=function(t,n){var r=function(t){if(void 0===e[t]){var n=document.querySelector(t);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(t){n=null}e[t]=n}return e[t]}(t);if(!r)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");r.appendChild(n)}},9216:t=>{"use strict";t.exports=function(t){var e=document.createElement("style");return t.setAttributes(e,t.attributes),t.insert(e,t.options),e}},3565:(t,e,n)=>{"use strict";t.exports=function(t){var e=n.nc;e&&t.setAttribute("nonce",e)}},7795:t=>{"use strict";t.exports=function(t){if("undefined"==typeof document)return{update:function(){},remove:function(){}};var e=t.insertStyleElement(t);return{update:function(n){!function(t,e,n){var r="";n.supports&&(r+="@supports (".concat(n.supports,") {")),n.media&&(r+="@media ".concat(n.media," {"));var i=void 0!==n.layer;i&&(r+="@layer".concat(n.layer.length>0?" ".concat(n.layer):""," {")),r+=n.css,i&&(r+="}"),n.media&&(r+="}"),n.supports&&(r+="}");var o=n.sourceMap;o&&"undefined"!=typeof btoa&&(r+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(o))))," */")),e.styleTagTransform(r,t,e.options)}(e,t,n)},remove:function(){!function(t){if(null===t.parentNode)return!1;t.parentNode.removeChild(t)}(e)}}}},4589:t=>{"use strict";t.exports=function(t,e){if(e.styleSheet)e.styleSheet.cssText=t;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(t))}}},5295:module=>{var __dirname="/",f;f=function(){var define,module,exports;return function t(e,n,r){function i(a,s){if(!n[a]){if(!e[a]){if(o)return o(a,!0);var c=new Error("Cannot find module '"+a+"'");throw c.code="MODULE_NOT_FOUND",c}var u=n[a]={exports:{}};e[a][0].call(u.exports,(function(t){return i(e[a][1][t]||t)}),u,u.exports,t,e,n,r)}return n[a].exports}for(var o=void 0,a=0;ae?1:0},this.require(t,"_$_$_cmp"),this.spread((function(t){var e=t.sort(_$_$_cmp);resolve(e)})).then((function(r){for(var i=function(n,i,o){i=Math.min(i,e),o=Math.min(o,e);for(var a=n,s=i,c=[],u=a;u=o||t(l,h)<=0)?(c.push(l),n++):(c.push(h),i++)}for(u=0;u1?", "+JSON.stringify(n):"")+" );"," "," resolve = origResolve;"," resolve( res.length > 0 ? res : ret );","}"].join("\n"))}};util.extend(thdfn,{reduce:defineFnal({name:"reduce"}),reduceRight:defineFnal({name:"reduceRight"}),map:defineFnal({name:"map"})});var fn=thdfn;fn.promise=fn.run,fn.terminate=fn.halt=fn.stop,fn.include=fn.require,util.extend(thdfn,{on:define.on(),one:define.on({unbindSelfOnTrigger:!0}),off:define.off(),trigger:define.trigger()}),define.eventAliasesOn(thdfn),module.exports=Thread},{"./define":1,"./event":2,"./is":5,"./promise":6,"./util":8,"./window":9,child_process:void 0,path:void 0}],8:[function(t,e,n){"use strict";var r,i=t("./is");r={extend:function(){var t,e,n,o,a,s,c=arguments[0]||{},u=1,l=arguments.length,h=!1;for("boolean"==typeof c&&(h=c,c=arguments[1]||{},u=2),"object"==typeof c||i.fn(c)||(c={}),l===u&&(c=this,--u);u{"use strict";function r(t){for(var n in t)e.hasOwnProperty(n)||(e[n]=t[n])}Object.defineProperty(e,"__esModule",{value:!0}),r(n(89)),r(n(2845)),r(n(7069)),r(n(6085)),r(n(7598)),r(n(7384)),r(n(7426)),r(n(6749)),r(n(9427)),r(n(8793)),r(n(7421)),r(n(1138)),r(n(31)),r(n(2867)),r(n(4926)),r(n(7565))},89:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},r(t,e)},function(t,e){function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,"__esModule",{value:!0});var o=n(7426),a=function(t){function e(e){var n=t.call(this)||this,r=e;return r.trigger&&(n.trigger=r.trigger),r.kick&&(n.kick=r.kick),r.drag&&(n.drag=r.drag),r.on&&(n.on=r.on),n.dragstart=n.dragStart=o.Layout.dragStart,n.dragend=n.dragEnd=o.Layout.dragEnd,n}return i(e,t),e.prototype.trigger=function(t){},e.prototype.kick=function(){},e.prototype.drag=function(){},e.prototype.on=function(t,e){return this},e}(o.Layout);e.LayoutAdaptor=a,e.adaptor=function(t){return new a(t)}},7565:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(7426),i=n(7598);e.gridify=function(t,e,n,r){return t.cola.start(0,0,0,10,!1),function(t,e,n,r){t.forEach((function(t){t.routerNode={name:t.name,bounds:t.bounds.inflate(-n)}})),e.forEach((function(e){e.routerNode={bounds:e.bounds.inflate(-r),children:(void 0!==e.groups?e.groups.map((function(e){return t.length+e.id})):[]).concat(void 0!==e.leaves?e.leaves.map((function(t){return t.index})):[])}}));var o=t.concat(e).map((function(t,e){return t.routerNode.id=e,t.routerNode}));return new i.GridRouter(o,{getChildren:function(t){return t.children},getBounds:function(t){return t.bounds}},n-r)}(t.cola.nodes(),t.cola.groups(),n,r).routeEdges(t.powerGraph.powerEdges,e,(function(t){return t.source.routerNode.id}),(function(t){return t.target.routerNode.id}))},e.powerGraphGridLayout=function(t,e,n){var i;t.nodes.forEach((function(t,e){return t.index=e})),(new r.Layout).avoidOverlaps(!1).nodes(t.nodes).links(t.links).powerGraphGroups((function(t){(i=t).groups.forEach((function(t){return t.padding=n}))}));var o=t.nodes.length,a=[],s=t.nodes.slice(0);return s.forEach((function(t,e){return t.index=e})),i.groups.forEach((function(t){var e=t.index=t.id+o;s.push(t),void 0!==t.leaves&&t.leaves.forEach((function(t){return a.push({source:e,target:t.index})})),void 0!==t.groups&&t.groups.forEach((function(t){return a.push({source:e,target:t.id+o})}))})),i.powerEdges.forEach((function(t){a.push({source:t.source.index,target:t.target.index})})),(new r.Layout).size(e).nodes(s).links(a).avoidOverlaps(!1).linkDistance(30).symmetricDiffLinkLengths(5).convergenceThreshold(1e-4).start(100,0,0,0,!1),{cola:(new r.Layout).convergenceThreshold(.001).size(e).avoidOverlaps(!0).nodes(t.nodes).links(t.links).groupCompactness(1e-4).linkDistance(30).symmetricDiffLinkLengths(5).powerGraphGroups((function(t){(i=t).groups.forEach((function(t){t.padding=n}))})).start(50,0,100,0,!1),powerGraph:i}}},2845:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(1509),i=n(1374);e.d3adaptor=function(t){return!t||function(t){return t.version&&null!==t.version.match(/^3\./)}(t)?new r.D3StyleLayoutAdaptor:new i.D3StyleLayoutAdaptor(t)}},1509:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},r(t,e)},function(t,e){function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,"__esModule",{value:!0});var o=n(7426),a=function(t){function e(){var e=t.call(this)||this;e.event=d3.dispatch(o.EventType[o.EventType.start],o.EventType[o.EventType.tick],o.EventType[o.EventType.end]);var n=e;return e.drag=function(){if(!t)var t=d3.behavior.drag().origin(o.Layout.dragOrigin).on("dragstart.d3adaptor",o.Layout.dragStart).on("drag.d3adaptor",(function(t){o.Layout.drag(t,d3.event),n.resume()})).on("dragend.d3adaptor",o.Layout.dragEnd);if(!arguments.length)return t;this.call(t)},e}return i(e,t),e.prototype.trigger=function(t){var e={type:o.EventType[t.type],alpha:t.alpha,stress:t.stress};this.event[e.type](e)},e.prototype.kick=function(){var e=this;d3.timer((function(){return t.prototype.tick.call(e)}))},e.prototype.on=function(t,e){return"string"==typeof t?this.event.on(t,e):this.event.on(o.EventType[t],e),this},e}(o.Layout);e.D3StyleLayoutAdaptor=a,e.d3adaptor=function(){return new a}},1374:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},r(t,e)},function(t,e){function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,"__esModule",{value:!0});var o=n(7426),a=function(t){function e(e){var n=t.call(this)||this;n.d3Context=e,n.event=e.dispatch(o.EventType[o.EventType.start],o.EventType[o.EventType.tick],o.EventType[o.EventType.end]);var r=n;return n.drag=function(){if(!t)var t=e.drag().subject(o.Layout.dragOrigin).on("start.d3adaptor",o.Layout.dragStart).on("drag.d3adaptor",(function(t){o.Layout.drag(t,e.event),r.resume()})).on("end.d3adaptor",o.Layout.dragEnd);if(!arguments.length)return t;arguments[0].call(t)},n}return i(e,t),e.prototype.trigger=function(t){var e={type:o.EventType[t.type],alpha:t.alpha,stress:t.stress};this.event.call(e.type,e)},e.prototype.kick=function(){var e=this,n=this.d3Context.timer((function(){return t.prototype.tick.call(e)&&n.stop()}))},e.prototype.on=function(t,e){return"string"==typeof t?this.event.on(t,e):this.event.on(o.EventType[t],e),this},e}(o.Layout);e.D3StyleLayoutAdaptor=a},7069:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(){this.locks={}}return t.prototype.add=function(t,e){this.locks[t]=e},t.prototype.clear=function(){this.locks={}},t.prototype.isEmpty=function(){for(var t in this.locks)return!1;return!0},t.prototype.apply=function(t){for(var e in this.locks)t(Number(e),this.locks[e])},t}();e.Locks=n;var r=function(){function t(t,e,r){void 0===r&&(r=null),this.D=e,this.G=r,this.threshold=1e-4,this.numGridSnapNodes=0,this.snapGridSize=100,this.snapStrength=1e3,this.scaleSnapByMaxH=!1,this.random=new i,this.project=null,this.x=t,this.k=t.length;var o=this.n=t[0].length;this.H=new Array(this.k),this.g=new Array(this.k),this.Hd=new Array(this.k),this.a=new Array(this.k),this.b=new Array(this.k),this.c=new Array(this.k),this.d=new Array(this.k),this.e=new Array(this.k),this.ia=new Array(this.k),this.ib=new Array(this.k),this.xtmp=new Array(this.k),this.locks=new n,this.minD=Number.MAX_VALUE;for(var a,s=o;s--;)for(a=o;--a>s;){var c=e[s][a];c>0&&c1e-9)break;var d=this.offsetDir();for(r=0;r1&&p>g||!isFinite(g))for(r=0;r1&&(v=1);var b=g*g,y=2*v*(p-g)/(b*p),m=p*p*p,w=2*-v/(b*m);for(isFinite(y)||console.log(y),r=0;r0?T-(A+1)*_:T-(A-1)*_)&&f<=x&&(this.scaleSnapByMaxH?(this.g[r][c]+=s*E*f,this.H[r][c][c]+=s*E):(this.g[r][c]+=E*f,this.H[r][c][c]+=E))}this.locks.isEmpty()||this.locks.apply((function(n,i){for(r=0;r0;)for(var i=e;i-- >0;)n(r,i)},t.prototype.matrixApply=function(e){t.mApply(this.k,this.n,e)},t.prototype.computeNextPosition=function(t,e){var n=this;this.computeDerivatives(t);var r=this.computeStepSize(this.g);if(this.stepAndProject(t,e,this.g,r),this.project){this.matrixApply((function(r,i){return n.e[r][i]=t[r][i]-e[r][i]}));var i=this.computeStepSize(this.e);i=Math.max(.2,Math.min(i,1)),this.stepAndProject(t,e,this.e,i)}},t.prototype.run=function(t){for(var e=Number.MAX_VALUE,n=!1;!n&&t-- >0;){var r=this.rungeKutta();n=Math.abs(e/r-1)>16)/this.range},t.prototype.getNextBetween=function(t,e){return t+this.getNext()*(e-t)},t}();e.PseudoRandom=i},6085:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},r(t,e)},function(t,e){function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,"__esModule",{value:!0});var o=n(31),a=function(){};e.Point=a;var s=function(t,e,n,r){this.x1=t,this.y1=e,this.x2=n,this.y2=r};e.LineSegment=s;var c=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e}(a);function u(t,e,n){return(e.x-t.x)*(n.y-t.y)-(n.x-t.x)*(e.y-t.y)}function l(t,e,n){return u(t,e,n)>0}function h(t,e,n){return u(t,e,n)<0}function f(t,e){var n,r,i,o,a=e.length-1;if(h(t,e[1],e[0])&&!l(t,e[a-1],e[0]))return 0;for(n=0,r=a;;){if(r-n==1)return l(t,e[n],e[r])?n:r;if((o=h(t,e[(i=Math.floor((n+r)/2))+1],e[i]))&&!l(t,e[i-1],e[i]))return i;l(t,e[n+1],e[n])?o||l(t,e[n],e[i])?r=i:n=i:o&&h(t,e[n],e[i])?r=i:n=i}}function d(t,e){var n,r,i,o,a=e.length-1;if(l(t,e[a-1],e[0])&&!h(t,e[1],e[0]))return 0;for(n=0,r=a;;){if(r-n==1)return h(t,e[n],e[r])?n:r;if(o=h(t,e[(i=Math.floor((n+r)/2))+1],e[i]),l(t,e[i-1],e[i])&&!o)return i;h(t,e[n+1],e[n])?o?h(t,e[n],e[i])?r=i:n=i:r=i:o?n=i:l(t,e[n],e[i])?r=i:n=i}}function p(t,e,n,r,i,o){var a,s;s=r(t[a=n(e[0],t)],e);for(var c=!1;!c;){for(c=!0;a===t.length-1&&(a=0),!i(e[s],t[a],t[a+1]);)++a;for(;0===s&&(s=e.length-1),!o(t[a],e[s],e[s-1]);)--s,c=!1}return{t1:a,t2:s}}function g(t,e){return p(t,e,f,d,l,h)}e.PolyPoint=c,e.isLeft=u,e.ConvexHull=function(t){var e,n=t.slice(0).sort((function(t,e){return t.x!==e.x?e.x-t.x:e.y-t.y})),r=t.length,i=n[0].x;for(e=1;e=0&&n[e].x===l;e--);for(s=e+1,e=o;++e<=s;)if(!(u(n[0],n[s],n[e])>=0&&e1&&!(u(a[a.length-2],a[a.length-1],n[e])>0);)a.length-=1;0!=e&&a.push(n[e])}c!=s&&a.push(n[c]);var h=a.length;for(e=s;--e>=o;)if(!(u(n[c],n[o],n[e])>=0&&e>o)){for(;a.length>h&&!(u(a[a.length-2],a[a.length-1],n[e])>0);)a.length-=1;0!=e&&a.push(n[e])}}return a},e.clockwiseRadialSweep=function(t,e,n){e.slice(0).sort((function(e,n){return Math.atan2(e.y-t.y,e.x-t.x)-Math.atan2(n.y-t.y,n.x-t.x)})).forEach(n)},e.tangent_PolyPolyC=p,e.LRtangent_PolyPolyC=function(t,e){var n=g(e,t);return{t1:n.t2,t2:n.t1}},e.RLtangent_PolyPolyC=g,e.LLtangent_PolyPolyC=function(t,e){return p(t,e,d,d,h,h)},e.RRtangent_PolyPolyC=function(t,e){return p(t,e,f,f,l,l)};var v=function(t,e){this.t1=t,this.t2=e};e.BiTangent=v;var b=function(){};e.BiTangents=b;var y=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e}(a);e.TVGPoint=y;var m=function(t,e,n,r){this.id=t,this.polyid=e,this.polyvertid=n,this.p=r,r.vv=this};e.VisibilityVertex=m;var w=function(){function t(t,e){this.source=t,this.target=e}return t.prototype.length=function(){var t=this.source.p.x-this.target.p.x,e=this.source.p.y-this.target.p.y;return Math.sqrt(t*t+e*e)},t}();e.VisibilityEdge=w;var x=function(){function t(t,e){if(this.P=t,this.V=[],this.E=[],e)this.V=e.V.slice(0),this.E=e.E.slice(0);else{for(var n=t.length,r=0;r0&&this.E.push(new w(i[o-1].vv,s))}i.length>1&&this.E.push(new w(i[0].vv,i[i.length-1].vv))}for(r=0;r0)return!0;return!1},t}();function _(t,e){for(var n=[],r=1,i=e.length;r=0&&g>=0&&y<0&&m>=0&&w>=0&&x<0?i.ll=new v(o,a):p<=0&&g<=0&&y>0&&m<=0&&w<=0&&x>0?i.rr=new v(o,a):p<=0&&g>0&&y<=0&&m>=0&&w<0&&x>=0?i.rl=new v(o,a):p>=0&&g<0&&y>=0&&m<=0&&w>0&&x<=0&&(i.lr=new v(o,a))}return i}function k(t,e){return!t.every((function(t){return!function(t,e){for(var n=1,r=e.length;n0)return!0}return!1}},7598:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(31),i=n(4926),o=n(2867),a=function(t,e,n){this.id=t,this.rect=e,this.children=n,this.leaf=void 0===n||0===n.length};e.NodeWrapper=a;var s=function(t,e,n,r,i){void 0===r&&(r=null),void 0===i&&(i=null),this.id=t,this.x=e,this.y=n,this.node=r,this.line=i};e.Vert=s;var c=function(){function t(e,n){this.s=e,this.t=n;var r=t.findMatch(e,n),i=n.slice(0).reverse(),o=t.findMatch(e,i);r.length>=o.length?(this.length=r.length,this.si=r.si,this.ti=r.ti,this.reversed=!1):(this.length=o.length,this.si=o.si,this.ti=n.length-o.ti-o.length,this.reversed=!0)}return t.findMatch=function(t,e){for(var n=t.length,r=e.length,i={length:0,si:-1,ti:-1},o=new Array(n),a=0;ai.length&&(i.length=c,i.si=a-c+1,i.ti=s-c+1)}else o[a][s]=0}return i},t.prototype.getSequence=function(){return this.length>=0?this.s.slice(this.si,this.si+this.length):[]},t}();e.LongestCommonSubsequence=c;var u=function(){function t(t,e,n){var i=this;void 0===n&&(n=12),this.originalnodes=t,this.groupPadding=n,this.leaves=null,this.nodes=t.map((function(t,n){return new a(n,e.getBounds(t),e.getChildren(t))})),this.leaves=this.nodes.filter((function(t){return t.leaf})),this.groups=this.nodes.filter((function(t){return!t.leaf})),this.cols=this.getGridLines("x"),this.rows=this.getGridLines("y"),this.groups.forEach((function(t){return t.children.forEach((function(e){return i.nodes[e].parent=t}))})),this.root={children:[]},this.nodes.forEach((function(t){void 0===t.parent&&(t.parent=i.root,i.root.children.push(t.id)),t.ports=[]})),this.backToFront=this.nodes.slice(0),this.backToFront.sort((function(t,e){return i.getDepth(t)-i.getDepth(e)})),this.backToFront.slice(0).reverse().filter((function(t){return!t.leaf})).forEach((function(t){var e=r.Rectangle.empty();t.children.forEach((function(t){return e=e.union(i.nodes[t].rect)})),t.rect=e.inflate(i.groupPadding)}));var o=this.midPoints(this.cols.map((function(t){return t.pos}))),c=this.midPoints(this.rows.map((function(t){return t.pos}))),u=o[0],l=o[o.length-1],h=c[0],f=c[c.length-1],d=this.rows.map((function(t){return{x1:u,x2:l,y1:t.pos,y2:t.pos}})).concat(c.map((function(t){return{x1:u,x2:l,y1:t,y2:t}}))),p=this.cols.map((function(t){return{x1:t.pos,x2:t.pos,y1:h,y2:f}})).concat(o.map((function(t){return{x1:t,x2:t,y1:h,y2:f}}))),g=d.concat(p);g.forEach((function(t){return t.verts=[]})),this.verts=[],this.edges=[],d.forEach((function(t){return p.forEach((function(e){var n=new s(i.verts.length,e.x1,t.y1);t.verts.push(n),e.verts.push(n),i.verts.push(n);for(var r=i.backToFront.length;r-- >0;){var o=i.backToFront[r],a=o.rect,c=Math.abs(n.x-a.cx()),u=Math.abs(n.y-a.cy());if(c0;){var r=n.filter((function(e){return e.rect["overlap"+t.toUpperCase()](n[0].rect)})),i={nodes:r,pos:this.avg(r.map((function(e){return e.rect["c"+t]()})))};e.push(i),i.nodes.forEach((function(t){return n.splice(n.indexOf(t),1)}))}return e.sort((function(t,e){return t.pos-e.pos})),e},t.prototype.getDepth=function(t){for(var e=0;t.parent!==this.root;)e++,t=t.parent;return e},t.prototype.midPoints=function(t){for(var e=t[1]-t[0],n=[t[0]-e/2],r=1;r.1)&&(u={pos:h[0][e],segments:[]},c.push(u)),u.segments.push(h)}return c},t.nudgeSegs=function(t,e,n,r,o,a){var s=r.length;if(!(s<=1)){for(var c=r.map((function(e){return new i.Variable(e[0][t])})),u=[],l=0;l=0&&u.push(new i.Constraint(c[v],c[b],a))}new i.Solver(c,u).solve(),c.forEach((function(e,i){var o=r[i],a=e.position();o[0][t]=o[1][t]=a;var s=n[o.edgeid];o.i>0&&(s[o.i-1][1][t]=a),o.iMath.PI||i<-Math.PI)&&(i=r-n),i},t.isLeft=function(t,e,n){return(e.x-t.x)*(n.y-t.y)-(e.y-t.y)*(n.x-t.x)<=0},t.getOrder=function(t){for(var e={},n=0;n=u.length||h.ti+h.length>=l.length)?n.push({l:r,r:i}):(h.si+h.length>=u.length||h.ti+h.length>=l.length?(o=u[h.si+1],s=u[h.si-1],a=l[h.ti-1]):(o=u[h.si+h.length-2],a=u[h.si+h.length],s=l[h.ti+h.length]),t.isLeft(o,a,s)?n.push({l:i,r}):n.push({l:r,r:i})))}return t.getOrder(n)},t.makeSegments=function(t){function e(t){return{x:t.x,y:t.y}}for(var n=function(t,e,n){return Math.abs((e.x-t.x)*(n.y-t.y)-(e.y-t.y)*(n.x-t.x))<.001},r=[],i=e(t[0]),o=1;o1&&l>1?1e3:0})),h=l.reverse().map((function(t){return n.verts[t]}));return h.push(this.nodes[i.id].ports[0]),h.filter((function(t,e){return!(e0&&t.node===i&&h[e-1].node===i)}))},t.getRoutePath=function(e,n,r,i){var o,a,s,c={routepath:"M "+e[0][0].x+" "+e[0][0].y+" ",arrowpath:""};if(e.length>1)for(var u=0;u0?l-=f/Math.abs(f)*n:h-=d/Math.abs(d)*n,c.routepath+="L "+l+" "+h+" ";var p=e[u+1],g=p[0].x,v=p[0].y;f=p[1].x-g,d=p[1].y-v;var b,y,m=t.angleBetween2Lines(o,p)<0?1:0;Math.abs(f)>0?(b=g+f/Math.abs(f)*n,y=v):(b=g,y=v+d/Math.abs(d)*n);var w=Math.abs(b-l),x=Math.abs(y-h);c.routepath+="A "+w+" "+x+" 0 0 "+m+" "+b+" "+y+" "}else{var _=[l,h];Math.abs(f)>0?(a=[l-=f/Math.abs(f)*i,h+r],s=[l,h-r]):(a=[l+r,h-=d/Math.abs(d)*i],s=[l-r,h]),c.routepath+="L "+l+" "+h+" ",i>0&&(c.arrowpath="M "+_[0]+" "+_[1]+" L "+a[0]+" "+a[1]+" L "+s[0]+" "+s[1])}}else l=(o=e[0])[1].x,h=o[1].y,f=l-o[0].x,d=h-o[0].y,_=[l,h],Math.abs(f)>0?(a=[l-=f/Math.abs(f)*i,h+r],s=[l,h-r]):(a=[l+r,h-=d/Math.abs(d)*i],s=[l-r,h]),c.routepath+="L "+l+" "+h+" ",i>0&&(c.arrowpath="M "+_[0]+" "+_[1]+" L "+a[0]+" "+a[1]+" L "+s[0]+" "+s[1]);return c},t}();e.GridRouter=u},7384:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=10,r=(1+Math.sqrt(5))/2,i=1e-4;e.applyPacking=function(t,e,o,a,s,c){void 0===s&&(s=1),void 0===c&&(c=!0);var u=0,l=0,h=e,f=o,d=(s=void 0!==s?s:1,a=void 0!==a?a:0,0),p=0,g=0,v=0,b=[];function y(t,e){b=[],d=0,p=0,v=l;for(var n=0;n=t.height&&b[o].x+b[o].width+t.width+n-e<=i){r=b[o];break}b.push(t),void 0!==r?(t.x=r.x+r.width+n,t.y=r.bottom,t.space_left=t.height,t.bottom=t.y,r.space_left-=t.height+n,r.bottom+=t.height+n):(t.y=v,v+=t.height+n,t.x=u,t.bottom=t.y,t.space_left=t.height),t.y+t.height-p>-1e-4&&(p=t.y+t.height-l),t.x+t.width-d>-1e-4&&(d=t.x+t.width-u)}0!=t.length&&(function(t){t.forEach((function(t){var e,n,r,i,o;e=t,n=Number.MAX_VALUE,r=Number.MAX_VALUE,i=0,o=0,e.array.forEach((function(t){var e=void 0!==t.width?t.width:a,s=void 0!==t.height?t.height:a;e/=2,s/=2,i=Math.max(t.x+e,i),n=Math.min(t.x-e,n),o=Math.max(t.y+s,o),r=Math.min(t.y-s,r)})),e.width=i-n,e.height=o-r}))}(t),function(t,e){var o=Number.POSITIVE_INFINITY,a=0;t.sort((function(t,e){return e.height-t.height}));for(var s=v=g=t.reduce((function(t,e){return t.widthg||p>i;){if(1!=f){var v=c-(c-s)/r;l=y(t,v)}if(0!=f){var b=s+(c-s)/r;h=y(t,b)}if(d=Math.abs(v-b),p=Math.abs(l-h),lh?(s=v,v=b,l=h,f=1):(c=b,b=v,h=l,f=0),u++>100)break}y(t,a)}(t),c&&function(t){t.forEach((function(t){var e={x:0,y:0};t.array.forEach((function(t){e.x+=t.x,e.y+=t.y})),e.x/=t.array.length,e.y/=t.array.length;var n=e.x-t.width/2,r=e.y-t.height/2,i=t.x-n+h/2-d/2,o=t.y-r+f/2-p/2;t.array.forEach((function(t){t.x+=i,t.y+=o}))}))}(t))},e.separateGraphs=function(t,e){for(var n={},r={},i=[],o=0,a=0;a{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r,i=n(8793),o=n(9427),a=n(7069),s=n(31),c=n(2867),u=n(6085),l=n(7384);function h(t){return void 0!==t.leaves||void 0!==t.groups}!function(t){t[t.start=0]="start",t[t.tick=1]="tick",t[t.end=2]="end"}(r=e.EventType||(e.EventType={}));var f=function(){function t(){var e=this;this._canvasSize=[1,1],this._linkDistance=20,this._defaultNodeSize=10,this._linkLengthCalculator=null,this._linkType=null,this._avoidOverlaps=!1,this._handleDisconnected=!0,this._running=!1,this._nodes=[],this._groups=[],this._rootGroup=null,this._links=[],this._constraints=[],this._distanceMatrix=null,this._descent=null,this._directedLinkConstraints=null,this._threshold=.01,this._visibilityGraph=null,this._groupCompactness=1e-6,this.event=null,this.linkAccessor={getSourceIndex:t.getSourceIndex,getTargetIndex:t.getTargetIndex,setLength:t.setLinkLength,getType:function(t){return"function"==typeof e._linkType?e._linkType(t):0}}}return t.prototype.on=function(t,e){return this.event||(this.event={}),"string"==typeof t?this.event[r[t]]=e:this.event[t]=e,this},t.prototype.trigger=function(t){this.event&&void 0!==this.event[t.type]&&this.event[t.type](t)},t.prototype.kick=function(){for(;!this.tick(););},t.prototype.tick=function(){if(this._alpha0){var e=0;this._links.forEach((function(t){e=Math.max(e,t.source,t.target)})),this._nodes=new Array(++e);for(var n=0;n0?t:0:t>0&&(this._running||(this._running=!0,this.trigger({type:r.start,alpha:this._alpha=t}),this.kick())),this):this._alpha},t.prototype.getLinkLength=function(t){return"function"==typeof this._linkDistance?+this._linkDistance(t):this._linkDistance},t.setLinkLength=function(t,e){t.length=e},t.prototype.getLinkType=function(t){return"function"==typeof this._linkType?this._linkType(t):0},t.prototype.symmetricDiffLinkLengths=function(t,e){var n=this;return void 0===e&&(e=1),this.linkDistance((function(e){return t*e.length})),this._linkLengthCalculator=function(){return o.symmetricDiffLinkLengths(n._links,n.linkAccessor,e)},this},t.prototype.jaccardLinkLengths=function(t,e){var n=this;return void 0===e&&(e=1),this.linkDistance((function(e){return t*e.length})),this._linkLengthCalculator=function(){return o.jaccardLinkLengths(n._links,n.linkAccessor,e)},this},t.prototype.start=function(e,n,r,i,u,l){var h=this;void 0===e&&(e=0),void 0===n&&(n=0),void 0===r&&(r=0),void 0===i&&(i=0),void 0===u&&(u=!0),void 0===l&&(l=!0);var f,d=this.nodes().length,p=d+2*this._groups.length,g=(this._links.length,this._canvasSize[0]),v=this._canvasSize[1],b=new Array(p),y=new Array(p),m=null,w=this._avoidOverlaps;this._nodes.forEach((function(t,e){t.index=e,void 0===t.x&&(t.x=g/2,t.y=v/2),b[e]=t.x,y[e]=t.y})),this._linkLengthCalculator&&this._linkLengthCalculator(),this._distanceMatrix?f=this._distanceMatrix:(f=new c.Calculator(p,this._links,t.getSourceIndex,t.getTargetIndex,(function(t){return h.getLinkLength(t)})).DistanceMatrix(),m=a.Descent.createSquareMatrix(p,(function(){return 2})),this._links.forEach((function(t){"number"==typeof t.source&&(t.source=h._nodes[t.source]),"number"==typeof t.target&&(t.target=h._nodes[t.target])})),this._links.forEach((function(e){var n=t.getSourceIndex(e),r=t.getTargetIndex(e);m[n][r]=m[r][n]=e.weight||1})));var x=a.Descent.createSquareMatrix(p,(function(t,e){return f[t][e]}));if(this._rootGroup&&void 0!==this._rootGroup.groups){var _=d;this._groups.forEach((function(t){!function(t,e,n,r){m[t][e]=m[e][t]=n,x[t][e]=x[e][t]=.1}(_,_+1,h._groupCompactness),b[_]=0,y[_++]=0,b[_]=0,y[_++]=0}))}else this._rootGroup={leaves:this._nodes,groups:[]};var E=this._constraints||[];for(this._directedLinkConstraints&&(this.linkAccessor.getMinSeparation=this._directedLinkConstraints.getMinSeparation,E=E.concat(o.generateDirectedEdgeConstraints(d,this._links,this._directedLinkConstraints.axis,this.linkAccessor))),this.avoidOverlaps(!1),this._descent=new a.Descent([b,y],x),this._descent.locks.clear(),_=0;_0&&(this._descent.project=new s.Projection(this._nodes,this._groups,this._rootGroup,E).projectFunctions()),this._descent.run(n),this.separateOverlappingComponents(g,v,l),this.avoidOverlaps(w),w&&(this._nodes.forEach((function(t,e){t.x=b[e],t.y=y[e]})),this._descent.project=new s.Projection(this._nodes,this._groups,this._rootGroup,E,!0).projectFunctions(),this._nodes.forEach((function(t,e){b[e]=t.x,y[e]=t.y}))),this._descent.G=m,this._descent.run(r),i){this._descent.snapStrength=1e3,this._descent.snapGridSize=this._nodes[0].width,this._descent.numGridSnapNodes=d,this._descent.scaleSnapByMaxH=d!=p;var C=a.Descent.createSquareMatrix(p,(function(t,e){return t>=d||e>=d?m[t][e]:0}));this._descent.G=C,this._descent.run(i)}return this.updateNodePositions(),this.separateOverlappingComponents(g,v,l),u?this.resume():this},t.prototype.initialLayout=function(e,n,r){if(this._groups.length>0&&e>0){var i=this._nodes.length,o=this._links.map((function(t){return{source:t.source.index,target:t.target.index}})),a=this._nodes.map((function(t){return{index:t.index}}));this._groups.forEach((function(t,e){a.push({index:t.index=i+e})})),this._groups.forEach((function(t,e){void 0!==t.leaves&&t.leaves.forEach((function(e){return o.push({source:t.index,target:e.index})})),void 0!==t.groups&&t.groups.forEach((function(e){return o.push({source:t.index,target:e.index})}))})),(new t).size(this.size()).nodes(a).links(o).avoidOverlaps(!1).linkDistance(this.linkDistance()).symmetricDiffLinkLengths(5).convergenceThreshold(1e-4).start(e,0,0,0,!1),this._nodes.forEach((function(t){n[t.index]=a[t.index].x,r[t.index]=a[t.index].y}))}else this._descent.run(e)},t.prototype.separateOverlappingComponents=function(t,e,n){var r=this;if(void 0===n&&(n=!0),!this._distanceMatrix&&this._handleDisconnected){var i=this._descent.x[0],o=this._descent.x[1];this._nodes.forEach((function(t,e){t.x=i[e],t.y=o[e]}));var a=l.separateGraphs(this._nodes,this._links);l.applyPacking(a,t,e,this._defaultNodeSize,1,n),this._nodes.forEach((function(t,e){r._descent.x[0][e]=t.x,r._descent.x[1][e]=t.y,t.bounds&&(t.bounds.setXCentre(t.x),t.bounds.setYCentre(t.y))}))}},t.prototype.resume=function(){return this.alpha(.1)},t.prototype.stop=function(){return this.alpha(0)},t.prototype.prepareEdgeRouting=function(t){void 0===t&&(t=0),this._visibilityGraph=new u.TangentVisibilityGraph(this._nodes.map((function(e){return e.bounds.inflate(-t).vertices()})))},t.prototype.routeEdge=function(t,e,n){void 0===e&&(e=5);var r=[],i=new u.TangentVisibilityGraph(this._visibilityGraph.P,{V:this._visibilityGraph.V,E:this._visibilityGraph.E}),o={x:t.source.x,y:t.source.y},a={x:t.target.x,y:t.target.y},l=i.addPoint(o,t.source.index),h=i.addPoint(a,t.target.index);i.addEdgeIfVisible(o,a,t.source.index,t.target.index),void 0!==n&&n(i);var f=new c.Calculator(i.V.length,i.E,(function(t){return t.source.id}),(function(t){return t.target.id}),(function(t){return t.length()})).PathFromNodeToNode(l.id,h.id);if(1===f.length||f.length===i.V.length){var d=s.makeEdgeBetween(t.source.innerBounds,t.target.innerBounds,e);r=[d.sourceIntersection,d.arrowStart]}else{for(var p=f.length-2,g=i.V[f[p]].p,v=i.V[f[0]].p,b=(r=[t.source.innerBounds.rayIntersection(g.x,g.y)],p);b>=0;--b)r.push(i.V[f[b]].p);r.push(s.makeEdgeTo(v,t.target.innerBounds,e))}return r},t.getSourceIndex=function(t){return"number"==typeof t.source?t.source:t.source.index},t.getTargetIndex=function(t){return"number"==typeof t.target?t.target:t.target.index},t.linkId=function(e){return t.getSourceIndex(e)+"-"+t.getTargetIndex(e)},t.dragStart=function(e){h(e)?t.storeOffset(e,t.dragOrigin(e)):(t.stopNode(e),e.fixed|=2)},t.stopNode=function(t){t.px=t.x,t.py=t.y},t.storeOffset=function(e,n){void 0!==e.leaves&&e.leaves.forEach((function(e){e.fixed|=2,t.stopNode(e),e._dragGroupOffsetX=e.x-n.x,e._dragGroupOffsetY=e.y-n.y})),void 0!==e.groups&&e.groups.forEach((function(e){return t.storeOffset(e,n)}))},t.dragOrigin=function(t){return h(t)?{x:t.bounds.cx(),y:t.bounds.cy()}:t},t.drag=function(e,n){h(e)?(void 0!==e.leaves&&e.leaves.forEach((function(t){e.bounds.setXCentre(n.x),e.bounds.setYCentre(n.y),t.px=t._dragGroupOffsetX+n.x,t.py=t._dragGroupOffsetY+n.y})),void 0!==e.groups&&e.groups.forEach((function(e){return t.drag(e,n)}))):(e.px=n.x,e.py=n.y)},t.dragEnd=function(e){h(e)?(void 0!==e.leaves&&e.leaves.forEach((function(e){t.dragEnd(e),delete e._dragGroupOffsetX,delete e._dragGroupOffsetY})),void 0!==e.groups&&e.groups.forEach(t.dragEnd)):e.fixed&=-7},t.mouseOver=function(t){t.fixed|=4,t.px=t.x,t.py=t.y},t.mouseOut=function(t){t.fixed&=-5},t}();e.Layout=f},6749:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(2867),i=n(7069),o=n(31),a=n(9427),s=function(){function t(t,e){this.source=t,this.target=e}return t.prototype.actualLength=function(t){var e=this;return Math.sqrt(t.reduce((function(t,n){var r=n[e.target]-n[e.source];return t+r*r}),0))},t}();e.Link3D=s;e.Node3D=function(t,e,n){void 0===t&&(t=0),void 0===e&&(e=0),void 0===n&&(n=0),this.x=t,this.y=e,this.z=n};var c=function(){function t(e,n,r){var i=this;void 0===r&&(r=1),this.nodes=e,this.links=n,this.idealLinkLength=r,this.constraints=null,this.useJaccardLinkLengths=!0,this.result=new Array(t.k);for(var o=0;o{"use strict";function n(t,e){var n={};for(var r in t)n[r]={};for(var r in e)n[r]={};return Object.keys(n).length}function r(t,e){var n=0;for(var r in t)void 0!==e[r]&&++n;return n}function i(t,e,n,r){var i=function(t,e){var n={},r=function(t,e){void 0===n[t]&&(n[t]={}),n[t][e]={}};return t.forEach((function(t){var n=e.getSourceIndex(t),i=e.getTargetIndex(t);r(n,i),r(i,n)})),n}(t,r);t.forEach((function(t){var o=i[r.getSourceIndex(t)],a=i[r.getTargetIndex(t)];r.setLength(t,1+e*n(o,a))}))}function o(t,e,n){var r=[],i=0,o=[],a=[];function s(t){t.index=t.lowlink=i++,o.push(t),t.onStack=!0;for(var e=0,n=t.out;e{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(t,e,n){this.source=t,this.target=e,this.type=n};e.PowerEdge=n;var r=function(){function t(t,e,n,r){var i=this;if(this.linkAccessor=n,this.modules=new Array(t),this.roots=[],r)this.initModulesFromGroup(r);else{this.roots.push(new a);for(var s=0;s=this.R))return this.merge(e.a,e.b,t),!0}},t.prototype.nEdges=function(t,e){var n=t.incoming.intersection(e.incoming),r=t.outgoing.intersection(e.outgoing);return this.R-n.count()-r.count()},t.prototype.getGroupHierarchy=function(t){var e=this,r=[];return i(this.roots[0],{},r),this.allEdges().forEach((function(i){var o=e.modules[i.source],a=e.modules[i.target];t.push(new n(void 0===o.gid?i.source:r[o.gid],void 0===a.gid?i.target:r[a.gid],i.type))})),r},t.prototype.allEdges=function(){var e=[];return t.getEdges(this.roots[0],e),e},t.getEdges=function(e,n){e.forAll((function(e){e.getEdges(n),t.getEdges(e.children,n)}))},t}();function i(t,e,n){t.forAll((function(t){if(t.isLeaf())e.leaves||(e.leaves=[]),e.leaves.push(t.id);else{var r=e;if(t.gid=n.length,!t.isIsland()||t.isPredefined()){if(r={id:t.gid},t.isPredefined())for(var o in t.definition)r[o]=t.definition[o];e.groups||(e.groups=[]),e.groups.push(t.gid),n.push(r)}i(t.children,r,n)}}))}e.Configuration=r;var o=function(){function t(t,e,n,r,i){void 0===e&&(e=new s),void 0===n&&(n=new s),void 0===r&&(r=new a),this.id=t,this.outgoing=e,this.incoming=n,this.children=r,this.definition=i}return t.prototype.getEdges=function(t){var e=this;this.outgoing.forAll((function(r,i){r.forAll((function(r){t.push(new n(e.id,r.id,i))}))}))},t.prototype.isLeaf=function(){return 0===this.children.count()},t.prototype.isIsland=function(){return 0===this.outgoing.count()&&0===this.incoming.count()},t.prototype.isPredefined=function(){return void 0!==this.definition},t}();e.Module=o;var a=function(){function t(){this.table={}}return t.prototype.count=function(){return Object.keys(this.table).length},t.prototype.intersection=function(e){var n=new t;return n.table=function(t,e){var n={};for(var r in t)r in e&&(n[r]=t[r]);return n}(this.table,e.table),n},t.prototype.intersectionCount=function(t){return this.intersection(t).count()},t.prototype.contains=function(t){return t in this.table},t.prototype.add=function(t){this.table[t.id]=t},t.prototype.remove=function(t){delete this.table[t.id]},t.prototype.forAll=function(t){for(var e in this.table)t(this.table[e])},t.prototype.modules=function(){var t=[];return this.forAll((function(e){e.isPredefined()||t.push(e)})),t},t}();e.ModuleSet=a;var s=function(){function t(){this.sets={},this.n=0}return t.prototype.count=function(){return this.n},t.prototype.contains=function(t){var e=!1;return this.forAllModules((function(n){e||n.id!=t||(e=!0)})),e},t.prototype.add=function(t,e){(t in this.sets?this.sets[t]:this.sets[t]=new a).add(e),++this.n},t.prototype.remove=function(t,e){var n=this.sets[t];n.remove(e),0===n.count()&&delete this.sets[t],--this.n},t.prototype.forAll=function(t){for(var e in this.sets)t(this.sets[e],Number(e))},t.prototype.forAllModules=function(t){this.forAll((function(e,n){return e.forAll(t)}))},t.prototype.intersection=function(e){var n=new t;return this.forAll((function(t,r){if(r in e.sets){var i=t.intersection(e.sets[r]),o=i.count();o>0&&(n.sets[r]=i,n.n+=o)}})),n},t}();e.LinkSets=s,e.getGroups=function(t,e,n,i){for(var o=t.length,a=new r(o,e,n,i);a.greedyMerge(););var s=[],c=a.getGroupHierarchy(s);return s.forEach((function(e){var n=function(n){var r=e[n];"number"==typeof r&&(e[n]=t[r])};n("source"),n("target")})),{groups:c,powerEdges:s}}},7421:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t){this.elem=t,this.subheaps=[]}return t.prototype.toString=function(t){for(var e="",n=!1,r=0;r0)}return null}}return t.prototype.clear=function(){this._root=null,this.size=0},t.prototype.find=function(t){for(var e=this._root;null!==e;){var n=this._comparator(t,e.data);if(0===n)return e.data;e=e.get_child(n>0)}return null},t.prototype.lowerBound=function(t){return this._bound(t,this._comparator)},t.prototype.upperBound=function(t){var e=this._comparator;return this._bound(t,(function(t,n){return e(n,t)}))},t.prototype.min=function(){var t=this._root;if(null===t)return null;for(;null!==t.left;)t=t.left;return t.data},t.prototype.max=function(){var t=this._root;if(null===t)return null;for(;null!==t.right;)t=t.right;return t.data},t.prototype.iterator=function(){return new o(this)},t.prototype.each=function(t){for(var e,n=this.iterator();null!==(e=n.next());)t(e)},t.prototype.reach=function(t){for(var e,n=this.iterator();null!==(e=n.prev());)t(e)},t.prototype._bound=function(t,e){for(var n=this._root,r=this.iterator();null!==n;){var i=this._comparator(t,n.data);if(0===i)return r._cursor=n,r;r._ancestors.push(n),n=n.get_child(i>0)}for(var o=r._ancestors.length-1;o>=0;--o)if(e(t,(n=r._ancestors[o]).data)>0)return r._cursor=n,r._ancestors.length=o,r;return r._ancestors.length=0,r},t}();e.TreeBase=i;var o=function(){function t(t){this._tree=t,this._ancestors=[],this._cursor=null}return t.prototype.data=function(){return null!==this._cursor?this._cursor.data:null},t.prototype.next=function(){if(null===this._cursor){var t=this._tree._root;null!==t&&this._minNode(t)}else{var e;if(null===this._cursor.right)do{if(e=this._cursor,!this._ancestors.length){this._cursor=null;break}this._cursor=this._ancestors.pop()}while(this._cursor.right===e);else this._ancestors.push(this._cursor),this._minNode(this._cursor.right)}return null!==this._cursor?this._cursor.data:null},t.prototype.prev=function(){if(null===this._cursor){var t=this._tree._root;null!==t&&this._maxNode(t)}else{var e;if(null===this._cursor.left)do{if(e=this._cursor,!this._ancestors.length){this._cursor=null;break}this._cursor=this._ancestors.pop()}while(this._cursor.left===e);else this._ancestors.push(this._cursor),this._maxNode(this._cursor.left)}return null!==this._cursor?this._cursor.data:null},t.prototype._minNode=function(t){for(;null!==t.left;)this._ancestors.push(t),t=t.left;this._cursor=t},t.prototype._maxNode=function(t){for(;null!==t.right;)this._ancestors.push(t),t=t.right;this._cursor=t},t}();e.Iterator=o;var a=function(){function t(t){this.data=t,this.left=null,this.right=null,this.red=!0}return t.prototype.get_child=function(t){return t?this.right:this.left},t.prototype.set_child=function(t,e){t?this.right=e:this.left=e},t}(),s=function(t){function e(e){var n=t.call(this)||this;return n._root=null,n._comparator=e,n.size=0,n}return r(e,t),e.prototype.insert=function(t){var n=!1;if(null===this._root)this._root=new a(t),n=!0,this.size++;else{var r=new a(void 0),i=!1,o=!1,s=null,c=r,u=null,l=this._root;for(c.right=this._root;;){if(null===l?(l=new a(t),u.set_child(i,l),n=!0,this.size++):e.is_red(l.left)&&e.is_red(l.right)&&(l.red=!0,l.left.red=!1,l.right.red=!1),e.is_red(l)&&e.is_red(u)){var h=c.right===s;l===u.get_child(o)?c.set_child(h,e.single_rotate(s,!o)):c.set_child(h,e.double_rotate(s,!o))}var f=this._comparator(l.data,t);if(0===f)break;o=i,i=f<0,null!==s&&(c=s),s=u,u=l,l=l.get_child(i)}this._root=r.right}return this._root.red=!1,n},e.prototype.remove=function(t){if(null===this._root)return!1;var n=new a(void 0),r=n;r.right=this._root;for(var i=null,o=null,s=null,c=!0;null!==r.get_child(c);){var u=c;o=i,i=r,r=r.get_child(c);var l=this._comparator(t,r.data);if(c=l>0,0===l&&(s=r),!e.is_red(r)&&!e.is_red(r.get_child(c)))if(e.is_red(r.get_child(!c))){var h=e.single_rotate(r,c);i.set_child(u,h),i=h}else if(!e.is_red(r.get_child(!c))){var f=i.get_child(!u);if(null!==f)if(e.is_red(f.get_child(!u))||e.is_red(f.get_child(u))){var d=o.right===i;e.is_red(f.get_child(u))?o.set_child(d,e.double_rotate(i,u)):e.is_red(f.get_child(!u))&&o.set_child(d,e.single_rotate(i,u));var p=o.get_child(d);p.red=!0,r.red=!0,p.left.red=!1,p.right.red=!1}else i.red=!1,f.red=!0,r.red=!0}}return null!==s&&(s.data=r.data,i.set_child(i.right===r,r.get_child(null===r.left)),this.size--),this._root=n.right,null!==this._root&&(this._root.red=!1),null!==s},e.is_red=function(t){return null!==t&&t.red},e.single_rotate=function(t,e){var n=t.get_child(!e);return t.set_child(!e,n.get_child(e)),n.set_child(e,t),t.red=!0,n.red=!1,n},e.double_rotate=function(t,n){return t.set_child(!n,e.single_rotate(t.get_child(!n),!n)),e.single_rotate(t,n)},e}(i);e.RBTree=s},31:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},r(t,e)},function(t,e){function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,"__esModule",{value:!0});var o=n(4926),a=n(1138);function s(t){return t.bounds=void 0!==t.leaves?t.leaves.reduce((function(t,e){return e.bounds.union(t)}),c.empty()):c.empty(),void 0!==t.groups&&(t.bounds=t.groups.reduce((function(t,e){return s(e).union(t)}),t.bounds)),t.bounds=t.bounds.inflate(t.padding),t.bounds}e.computeGroupBounds=s;var c=function(){function t(t,e,n,r){this.x=t,this.X=e,this.y=n,this.Y=r}return t.empty=function(){return new t(Number.POSITIVE_INFINITY,Number.NEGATIVE_INFINITY,Number.POSITIVE_INFINITY,Number.NEGATIVE_INFINITY)},t.prototype.cx=function(){return(this.x+this.X)/2},t.prototype.cy=function(){return(this.y+this.Y)/2},t.prototype.overlapX=function(t){var e=this.cx(),n=t.cx();return e<=n&&t.x0?n[0]:null},t.prototype.vertices=function(){return[{x:this.x,y:this.y},{x:this.X,y:this.y},{x:this.X,y:this.Y},{x:this.x,y:this.Y}]},t.lineIntersection=function(t,e,n,r,i,o,a,s){var c=n-t,u=a-i,l=r-e,h=s-o,f=h*c-u*l;if(0==f)return null;var d=t-i,p=e-o,g=(u*p-h*d)/f,v=(c*p-l*d)/f;return g>=0&&g<=1&&v>=0&&v<=1?{x:t+g*c,y:e+g*l}:null},t.prototype.inflate=function(e){return new t(this.x-e,this.X+e,this.y-e,this.Y+e)},t}();e.Rectangle=c,e.makeEdgeBetween=function(t,e,n){var r=t.rayIntersection(e.cx(),e.cy())||{x:t.cx(),y:t.cy()},i=e.rayIntersection(t.cx(),t.cy())||{x:e.cx(),y:e.cy()},o=i.x-r.x,a=i.y-r.y,s=Math.sqrt(o*o+a*a),c=s-n;return{sourceIntersection:r,targetIntersection:i,arrowStart:{x:r.x+c*o/s,y:r.y+c*a/s}}},e.makeEdgeTo=function(t,e,n){var r=e.rayIntersection(t.x,t.y);r||(r={x:e.cx(),y:e.cy()});var i=r.x-t.x,o=r.y-t.y,a=Math.sqrt(i*i+o*o);return{x:r.x-n*i/a,y:r.y-n*o/a}};var u=function(t,e,n){this.v=t,this.r=e,this.pos=n,this.prev=f(),this.next=f()},l=function(t,e,n){this.isOpen=t,this.v=e,this.pos=n};function h(t,e){return t.pos>e.pos?1:t.pos0&&(t[n].insert(i),i[r].insert(t))};n("next","prev"),n("prev","next")}};function g(t,e,n,r){void 0===r&&(r=!1);var i=t.padding,o=void 0!==t.groups?t.groups.length:0,a=void 0!==t.leaves?t.leaves.length:0,s=o?t.groups.reduce((function(t,r){return t.concat(g(r,e,n,!0))}),[]):[],c=(r?2:0)+a+o,u=new Array(c),l=new Array(c),h=0,f=function(t,e){l[h]=t,u[h++]=e};if(r){var d=t.bounds,p=e.getCentre(d),b=e.getSize(d)/2,y=e.getOpen(d),m=e.getClose(d),w=p-b+i/2,x=p+b-i/2;t.minVar.desiredPosition=w,f(e.makeRect(y,m,w,i),t.minVar),t.maxVar.desiredPosition=x,f(e.makeRect(y,m,x,i),t.maxVar)}a&&t.leaves.forEach((function(t){return f(t.bounds,t.variable)})),o&&t.groups.forEach((function(t){var n=t.bounds;f(e.makeRect(e.getOpen(n),e.getClose(n),e.getCentre(n),e.getSize(n)),t.minVar)}));var _=v(l,u,e,n);return o&&(u.forEach((function(t){t.cOut=[],t.cIn=[]})),_.forEach((function(t){t.left.cOut.push(t),t.right.cIn.push(t)})),t.groups.forEach((function(t){var n=(t.padding-e.getSize(t.bounds))/2;t.minVar.cIn.forEach((function(t){return t.gap+=n})),t.minVar.cOut.forEach((function(e){e.left=t.maxVar,e.gap+=n}))}))),s.concat(_)}function v(t,e,n,r){var i,a=t.length,s=2*a;console.assert(e.length>=a);var c=new Array(s);for(i=0;it[n]&&(t[n]=e)}o=t}))}},t.prototype.createAlignment=function(t){var e=this,n=this.nodes[t.offsets[0].node].variable;this.makeFeasible(t);var r="x"===t.axis?this.xConstraints:this.yConstraints;t.offsets.slice(1).forEach((function(t){var i=e.nodes[t.node].variable;r.push(new o.Constraint(n,i,t.offset,!0))}))},t.prototype.createConstraints=function(t){var e=this,n=function(t){return void 0===t.type||"separation"===t.type};this.xConstraints=t.filter((function(t){return"x"===t.axis&&n(t)})).map((function(t){return e.createSeparation(t)})),this.yConstraints=t.filter((function(t){return"y"===t.axis&&n(t)})).map((function(t){return e.createSeparation(t)})),t.filter((function(t){return"alignment"===t.type})).forEach((function(t){return e.createAlignment(t)}))},t.prototype.setupVariablesAndBounds=function(t,e,n,r){this.nodes.forEach((function(i,o){i.fixed?(i.variable.weight=i.fixedWeight?i.fixedWeight:1e3,n[o]=r(i)):i.variable.weight=1;var a=(i.width||0)/2,s=(i.height||0)/2,u=t[o],l=e[o];i.bounds=new c(u-a,u+a,l-s,l+s)}))},t.prototype.xProject=function(t,e,n){(this.rootGroup||this.avoidOverlaps||this.xConstraints)&&this.project(t,e,t,n,(function(t){return t.px}),this.xConstraints,m,(function(t){return t.bounds.setXCentre(n[t.variable.index]=t.variable.position())}),(function(t){var e=n[t.minVar.index]=t.minVar.position(),r=n[t.maxVar.index]=t.maxVar.position(),i=t.padding/2;t.bounds.x=e-i,t.bounds.X=r+i}))},t.prototype.yProject=function(t,e,n){(this.rootGroup||this.yConstraints)&&this.project(t,e,e,n,(function(t){return t.py}),this.yConstraints,w,(function(t){return t.bounds.setYCentre(n[t.variable.index]=t.variable.position())}),(function(t){var e=n[t.minVar.index]=t.minVar.position(),r=n[t.maxVar.index]=t.maxVar.position(),i=t.padding/2;t.bounds.y=e-i,t.bounds.Y=r+i}))},t.prototype.projectFunctions=function(){var t=this;return[function(e,n,r){return t.xProject(e,n,r)},function(e,n,r){return t.yProject(e,n,r)}]},t.prototype.project=function(t,e,n,r,i,o,a,c,u){this.setupVariablesAndBounds(t,e,r,i),this.rootGroup&&this.avoidOverlaps&&(s(this.rootGroup),o=o.concat(a(this.rootGroup))),this.solve(this.variables,o,n,r),this.nodes.forEach(c),this.rootGroup&&this.avoidOverlaps&&(this.groups.forEach(u),s(this.rootGroup))},t.prototype.solve=function(t,e,n,r){var i=new o.Solver(t,e);i.setStartingPositions(n),i.setDesiredPositions(r),i.solve()},t}();e.Projection=_},2867:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(7421),i=function(t,e){this.id=t,this.distance=e},o=function(t){this.id=t,this.neighbours=[]},a=function(t,e,n){this.node=t,this.prev=e,this.d=n},s=function(){function t(t,e,n,r,a){this.n=t,this.es=e,this.neighbours=new Array(this.n);for(var s=this.n;s--;)this.neighbours[s]=new o(s);for(s=this.es.length;s--;){var c=this.es[s],u=n(c),l=r(c),h=a(c);this.neighbours[u].neighbours.push(new i(l,h)),this.neighbours[l].neighbours.push(new i(u,h))}}return t.prototype.DistanceMatrix=function(){for(var t=new Array(this.n),e=0;eh&&(u.d=h,u.prev=s,n.reduceKey(u.q,u,(function(t,e){return t.q=e})))}}return o},t}();e.Calculator=s},4926:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t){this.scale=t,this.AB=0,this.AD=0,this.A2=0}return t.prototype.addVariable=function(t){var e=this.scale/t.scale,n=t.offset/t.scale,r=t.weight;this.AB+=r*e*n,this.AD+=r*e*t.desiredPosition,this.A2+=r*e*e},t.prototype.getPosn=function(){return(this.AD-this.AB)/this.A2},t}();e.PositionStats=n;var r=function(){function t(t,e,n,r){void 0===r&&(r=!1),this.left=t,this.right=e,this.gap=n,this.equality=r,this.active=!1,this.unsatisfiable=!1,this.left=t,this.right=e,this.gap=n,this.equality=r}return t.prototype.slack=function(){return this.unsatisfiable?Number.MAX_VALUE:this.right.scale*this.right.position()-this.gap-this.left.scale*this.left.position()},t}();e.Constraint=r;var i=function(){function t(t,e,n){void 0===e&&(e=1),void 0===n&&(n=1),this.desiredPosition=t,this.weight=e,this.scale=n,this.offset=0}return t.prototype.dfdv=function(){return 2*this.weight*(this.position()-this.desiredPosition)},t.prototype.position=function(){return(this.block.ps.scale*this.block.posn+this.offset)/this.scale},t.prototype.visitNeighbours=function(t,e){var n=function(n,r){return n.active&&t!==r&&e(n,r)};this.cOut.forEach((function(t){return n(t,t.right)})),this.cIn.forEach((function(t){return n(t,t.left)}))},t}();e.Variable=i;var o=function(){function t(t){this.vars=[],t.offset=0,this.ps=new n(t.scale),this.addVariable(t)}return t.prototype.addVariable=function(t){t.block=this,this.vars.push(t),this.ps.addVariable(t),this.posn=this.ps.getPosn()},t.prototype.updateWeightedPosition=function(){this.ps.AB=this.ps.AD=this.ps.A2=0;for(var t=0,e=this.vars.length;t=0?this.inactive.push(e):this.bs.merge(e)}}},t.prototype.solve=function(){this.satisfy();for(var t=Number.MAX_VALUE,e=this.bs.cost();Math.abs(t-e)>1e-4;)this.satisfy(),t=e,e=this.bs.cost();return e},t.LAGRANGIAN_TOLERANCE=-1e-4,t.ZERO_UPPERBOUND=-1e-10,t}();e.Solver=s,e.removeOverlapInOneDimension=function(t,e,n){for(var o=t.map((function(t){return new i(t.desiredCenter)})),a=[],c=t.length,u=0;u{var e=t&&t.__esModule?()=>t.default:()=>t;return __webpack_require__.d(e,{a:e}),e},__webpack_require__.d=(t,e)=>{for(var n in e)__webpack_require__.o(e,n)&&!__webpack_require__.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},__webpack_require__.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),__webpack_require__.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),__webpack_require__.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},__webpack_require__.nmd=t=>(t.paths=[],t.children||(t.children=[]),t),__webpack_require__.nc=void 0;var __webpack_exports__={};(()=>{"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{Cytoscape:()=>ot});var t=__webpack_require__(3379),e=__webpack_require__.n(t),n=__webpack_require__(7795),r=__webpack_require__.n(n),i=__webpack_require__(569),o=__webpack_require__.n(i),a=__webpack_require__(3565),s=__webpack_require__.n(a),c=__webpack_require__(9216),u=__webpack_require__.n(c),l=__webpack_require__(4589),h=__webpack_require__.n(l),f=__webpack_require__(372),d={};d.styleTagTransform=h(),d.setAttributes=s(),d.insert=o().bind(null,"head"),d.domAPI=r(),d.insertStyleElement=u(),e()(f.Z,d),f.Z&&f.Z.locals&&f.Z.locals;const p=window.React;var g=__webpack_require__.n(p),v=__webpack_require__(5697),b=__webpack_require__.n(v),y=__webpack_require__(9058),m=__webpack_require__.n(y);const{string:w,array:x,object:_,number:E,bool:k,oneOfType:T,any:C,func:N}=b(),A={id:w,className:w,style:T([w,_]),elements:T([x,C]),stylesheet:T([x,C]),layout:T([_,C]),pan:T([_,C]),zoom:E,panningEnabled:k,userPanningEnabled:k,minZoom:E,maxZoom:E,zoomingEnabled:k,userZoomingEnabled:k,boxSelectionEnabled:k,autoungrabify:k,autolock:k,autounselectify:k,get:N,toJson:N,diff:N,forEach:N,cy:N,headless:k,styleEnabled:k,hideEdgesOnViewport:k,textureOnViewport:k,motionBlur:k,motionBlurOpacity:E,wheelSensitivity:E,pixelRatio:T([w,_])},S=(t,e)=>{if(((t,e)=>null==t||null==e)(t,e)&&(null!=t||null!=e))return!0;if(t===e)return!1;if("object"!=typeof t||"object"!=typeof e)return t!==e;const n=Object.keys(t),r=Object.keys(e),i=n=>t[n]!==e[n];return n.length!==r.length||!(!n.some(i)&&!r.some(i))},O=(t,e)=>null!=t?t[e]:null,L={diff:S,get:O,toJson:t=>t,forEach:(t,e)=>t.forEach(e),elements:[{data:{id:"a",label:"Example node A"}},{data:{id:"b",label:"Example node B"}},{data:{id:"e",source:"a",target:"b"}}],stylesheet:[{selector:"node",style:{label:"data(label)"}}],zoom:1,pan:{x:0,y:0}},I=(t,e,n,r)=>n(O(t,r),O(e,r)),M=(t,e,n,r,i,o)=>{const a=i(i(n,"data"),"id"),s=t.getElementById(a),c={};["data","position","selected","selectable","locked","grabbable","classes"].forEach((t=>{const a=i(n,t);o(a,i(e,t))&&(c[t]=r(a))}));const u=i(n,"scratch");o(u,i(e,"scratch"))&&s.scratch(r(u)),Object.keys(c).length>0&&s.json(c)};class P extends g().Component{static get propTypes(){return A}static get defaultProps(){return L}static normalizeElements(t){if(null!=t.length)return t;{let{nodes:e,edges:n}=t;return null==e&&(e=[]),null==n&&(n=[]),e.concat(n)}}constructor(t){super(t),this.displayName="CytoscapeComponent",this.containerRef=g().createRef()}componentDidMount(){const t=this.containerRef.current,{global:e,headless:n,styleEnabled:r,hideEdgesOnViewport:i,textureOnViewport:o,motionBlur:a,motionBlurOpacity:s,wheelSensitivity:c,pixelRatio:u}=this.props,l=this._cy=new(m())({container:t,headless:n,styleEnabled:r,hideEdgesOnViewport:i,textureOnViewport:o,motionBlur:a,motionBlurOpacity:s,wheelSensitivity:c,pixelRatio:u});e&&(window[e]=l),this.updateCytoscape(null,this.props)}updateCytoscape(t,e){const n=this._cy,{diff:r,toJson:i,get:o,forEach:a}=e;((t,e,n,r,i,o,a)=>{t.batch((()=>{(r===S||I(e,n,r,"elements"))&&((t,e,n,r,i,o,a)=>{const s=[],c=t.collection(),u=[],l={},h={},f=t=>i(i(t,"data"),"id");o(n,(t=>{const e=f(t);h[e]=t})),null!=e&&o(e,(e=>{const n=f(e);l[n]=e,(t=>null!=h[t])(n)||c.merge(t.getElementById(n))})),o(n,(t=>{const e=f(t),n=(t=>l[t])(e);(t=>null!=l[t])(e)?u.push({ele1:n,ele2:t}):s.push(r(t))})),c.length>0&&t.remove(c),s.length>0&&t.add(s),u.forEach((({ele1:e,ele2:n})=>M(t,e,n,r,i,a)))})(t,O(e,"elements"),O(n,"elements"),i,o,a,r),I(e,n,r,"stylesheet")&&((t,e,n,r)=>{const i=t.style();null!=i&&i.fromJson(r(n)).update()})(t,O(e,"stylesheet"),O(n,"stylesheet"),i),["zoom","minZoom","maxZoom","zoomingEnabled","userZoomingEnabled","pan","panningEnabled","userPanningEnabled","boxSelectionEnabled","autoungrabify","autolock","autounselectify"].forEach((o=>{I(e,n,r,o)&&((t,e,n,r,i)=>{t[e](i(r))})(t,o,O(e,o),O(n,o),i)}))})),I(e,n,r,"layout")&&((t,e,n,r)=>{const i=r(n);null!=i&&t.layout(i).run()})(t,O(e,"layout"),O(n,"layout"),i)})(n,t,e,r,i,o,a),null!=e.cy&&e.cy(n)}componentDidUpdate(t){this.updateCytoscape(t,this.props)}componentWillUnmount(){this._cy.destroy()}render(){const{id:t,className:e,style:n}=this.props;return g().createElement("div",{ref:this.containerRef,id:t,className:e,style:n})}}var D=__webpack_require__(6486),R=__webpack_require__.n(D);const j={randomUUID:"undefined"!=typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};let G;const B=new Uint8Array(16);function F(){if(!G&&(G="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!G))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return G(B)}const H=[];for(let t=0;t<256;++t)H.push((t+256).toString(16).slice(1));const Y=function(t,e,n){if(j.randomUUID&&!e&&!t)return j.randomUUID();const r=(t=t||{}).random||(t.rng||F)();if(r[6]=15&r[6]|64,r[8]=63&r[8]|128,e){n=n||0;for(let t=0;t<16;++t)e[n+t]=r[t];return e}return function(t,e=0){return H[t[e+0]]+H[t[e+1]]+H[t[e+2]]+H[t[e+3]]+"-"+H[t[e+4]]+H[t[e+5]]+"-"+H[t[e+6]]+H[t[e+7]]+"-"+H[t[e+8]]+H[t[e+9]]+"-"+H[t[e+10]]+H[t[e+11]]+H[t[e+12]]+H[t[e+13]]+H[t[e+14]]+H[t[e+15]]}(r)};function z(t){return z="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},z(t)}function U(t,e){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:!this.shouldResize,e=this.cy;t!==this.shouldResize&&(t?(e.on("render",this.updateViewport),e.on("resize",this.resize),this.updateViewport(e)):(e.removeListener("render",this.updateViewport),e.removeListener("resize",this.resize)),this.shouldResize=t)}},{key:"getViewport",value:function(){var t=this.cy;return{position:t.pan(),zoom:t.zoom(),renderedBB:Object.assign({},t.elements().renderedBoundingBox()),height:t.height(),width:t.width()}}},{key:"updateViewport",value:function(){var t=this.cy;this.prev=this.getViewport(t)}},{key:"_xConstrainedZoom",value:function(t){var e=this.curr,n=this.prev,r=this.marginPercentage.left*e.width;e.position.x=r+(n.position.x-n.renderedBB.x1);var i=e.renderedBB.y1+e.renderedBB.h/2-e.renderedBB.h/n.zoom*t/2;i+=(e.height-n.height)/2,e.position.y=i+(n.position.y-n.renderedBB.y1)}},{key:"_xChangeMargin",value:function(t){var e=this.curr,n=this.prev,r=n.renderedBB.x1+n.renderedBB.w/2,i=r/n.width*t;e.position.x=e.position.x+(i-r)}},{key:"_yConstrainedZoom",value:function(t){var e=this.curr,n=this.prev,r=this.marginPercentage.top*e.height;e.position.y=r+(n.position.y-n.renderedBB.y1);var i=e.renderedBB.x1+e.renderedBB.w/2-e.renderedBB.w/n.zoom*t/2;i+=(e.width-n.width)/2,e.position.x=i+(n.position.x-n.renderedBB.x1)}},{key:"_yChangeMargin",value:function(){var t=this.curr,e=this.prev,n=e.renderedBB.y1+e.renderedBB.h/2,r=n/e.height*t.height;t.position.y=t.position.y+(r-n)}},{key:"resize",value:function(){var t=this.cy;this.curr=this.getViewport(t);var e=this.curr,n=this.prev,r=n.renderedBB.x1>=0&&n.renderedBB.y1>=0&&n.renderedBB.x2<=n.width&&n.renderedBB.y2<=n.height;if(this.marginPercentage={left:n.renderedBB.x1/n.width,top:n.renderedBB.y1/n.height},Math.abs(1-e.width/n.width)>Math.abs(1-e.height/n.height)){var i=n.zoom/n.width*e.width;if(r)for(var o=Math.min((e.renderedBB.y1+e.renderedBB.h/2)*n.zoom*2/e.renderedBB.h,-(e.renderedBB.y1+e.renderedBB.h/2-n.height)*n.zoom*2/e.renderedBB.h)-this.containedZoomMargin,a=n.width/n.zoom*o,s=e.zoom=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return a=t.done,t},e:function(t){s=!0,o=t},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function $(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);nt.maxZoom()||e0&&(r.selector=r.selector+", "),r.selector=r.selector+"edge"):"node"===u?(r.selector.length>0&&(r.selector=r.selector+", "),r.selector=r.selector+"node"):"canvas"===u?r.coreAsWell=!0:console.error("Error: selector ".concat(u," is not available. Choose one of 'node', 'edge' or 'canvas'."))}}catch(t){c.e(t)}finally{c.f()}}a.push(r)};for(s.s();!(i=s.n()).done;)c()}catch(t){s.e(t)}finally{s.f()}return a},this.cyResponsiveClass=new q(t),this.cyResponsiveClass.toggle(this.props.responsive),s(t.extent())}}},{key:"handleImageGeneration",value:function(t,e,n,r){var i=this,o={};e&&(o=e);var a,s,c,u=o.output;switch(o.output="blob",n){case"store":default:a=!1,s=!0;break;case"download":a=!0,s=!1;break;case"both":a=!0,s=!0}if("png"===t&&(c=this._cy.png(o)),"jpg"!==t&&"jpeg"!==t||(c=this._cy.jpg(o)),"svg"===t&&(c=this._cy.svg(o)),c&&a){var l=r;if(r||(l="cyto"),"svg"!==t)this.downloadBlob(c,l+"."+t);else{var h=new Blob([c],{type:"image/svg+xml;charset=utf-8"});this.downloadBlob(h,l+"."+t)}}if(c&&s){if(u||(u="base64uri"),"base64uri"!==u&&"base64"!==u)return;var f=new FileReader;f.onload=function(){var t=f.result;"base64"===u&&(t=t.replace(/^data:.+;base64,/,"")),i.props.setProps({imageData:t})},f.readAsDataURL(c)}}},{key:"downloadBlob",value:function(t,e){var n=document.createElement("a");n.style="display: none",document.body.appendChild(n);var r=window.URL.createObjectURL(t);n.href=r,n.download=e,n.click(),window.URL.revokeObjectURL(r),document.body.removeChild(n)}},{key:"updateContextMenu",value:function(t){this._cy.contextMenus({menuItems:this.createMenuItems(t),menuItemClasses:["custom-menu-item"]})}},{key:"graphOutOfView",value:function(){var t=this._cy.width(),e=this._cy.height(),n=this._cy.elements().renderedBoundingbox();return n.x1>t||n.y1>e||n.x2<0||n.y2<0}},{key:"componentDidUpdate",value:function(t){var e=this.props,n=e.contextMenu,r=e.elements;!R().isEqual(t.contextMenu,n)&&this._cy&&this.updateContextMenu(n),!R().isEqual(t.elements,r)&&this._cy&&this.graphOutOfView()&&this._cy.fit()}},{key:"componentDidMount",value:function(){var t=this.props.contextMenu;this._cy&&t.length>0&&this.updateContextMenu(t)}},{key:"render",value:function(){var t=this.props,e=t.id,n=t.style,r=t.className,i=t.elements,o=t.stylesheet,a=t.layout,s=t.contextMenu,c=t.contextMenuData,u=t.pan,l=t.zoom,h=t.panningEnabled,f=t.userPanningEnabled,d=t.minZoom,p=t.maxZoom,v=t.zoomingEnabled,b=t.userZoomingEnabled,y=t.wheelSensitivity,m=t.boxSelectionEnabled,w=t.autoungrabify,x=t.autolock,_=t.autounselectify,E=t.generateImage,k=t.responsive;return Object.keys(E).length>0&&(this.props.setProps({generateImage:{}}),this._cy&&this.handleImageGeneration(E.type,E.options,E.action,E.filename)),this.cyResponsiveClass&&this.cyResponsiveClass.toggle(k),g().createElement(P,{id:e,cy:this.handleCy,className:r,style:n,elements:P.normalizeElements(i),stylesheet:o,layout:a,contextMenu:s,contextMenuData:c,pan:u,zoom:l,panningEnabled:h,userPanningEnabled:f,minZoom:d,maxZoom:p,zoomingEnabled:v,userZoomingEnabled:b,wheelSensitivity:y,boxSelectionEnabled:m,autoungrabify:w,autolock:x,autounselectify:_})}}],r&&Z(n.prototype,r),Object.defineProperty(n,"prototype",{writable:!1}),e}(p.Component);it.propTypes={id:b().string,className:b().string,style:b().object,setProps:b().func,elements:b().oneOfType([b().arrayOf(b().shape({group:b().string,data:b().shape({id:b().string,label:b().string,parent:b().string,source:b().string,target:b().string}),position:b().shape({x:b().number,y:b().number}),selected:b().bool,selectable:b().bool,locked:b().bool,grabbable:b().bool,classes:b().string})),b().exact({nodes:b().array,edges:b().array})]),stylesheet:b().arrayOf(b().exact({selector:b().string.isRequired,style:b().object.isRequired})),layout:b().shape({name:b().oneOf(["random","preset","circle","concentric","grid","breadthfirst","cose","cose-bilkent","fcose","cola","euler","spread","dagre","klay"]).isRequired,fit:b().bool,padding:b().number,animate:b().bool,animationDuration:b().number,boundingBox:b().object}),contextMenu:b().arrayOf(b().exact({id:b().string.isRequired,label:b().string.isRequired,tooltipText:b().string,availableOn:b().array,onClick:b().string,onClickCustom:b().string})),contextMenuData:b().exact({menuItemId:b().string,x:b().number,y:b().number,timeStamp:b().number,elementId:b().string,edgeSource:b().string,edgeTarget:b().string}),pan:b().exact({x:b().number,y:b().number}),zoom:b().number,panningEnabled:b().bool,userPanningEnabled:b().bool,minZoom:b().number,maxZoom:b().number,zoomingEnabled:b().bool,userZoomingEnabled:b().bool,wheelSensitivity:b().number,boxSelectionEnabled:b().bool,autoungrabify:b().bool,autolock:b().bool,autounselectify:b().bool,autoRefreshLayout:b().bool,tapNode:b().exact({edgesData:b().array,renderedPosition:b().object,timeStamp:b().number,classes:b().string,data:b().object,grabbable:b().bool,group:b().string,locked:b().bool,position:b().object,selectable:b().bool,selected:b().bool,style:b().object,ancestorsData:b().oneOfType([b().object,b().array]),childrenData:b().oneOfType([b().object,b().array]),descendantsData:b().oneOfType([b().object,b().array]),parentData:b().oneOfType([b().object,b().array]),siblingsData:b().oneOfType([b().object,b().array]),isParent:b().bool,isChildless:b().bool,isChild:b().bool,isOrphan:b().bool,relativePosition:b().object}),tapNodeData:b().object,tapEdge:b().exact({isLoop:b().bool,isSimple:b().bool,midpoint:b().object,sourceData:b().object,sourceEndpoint:b().object,targetData:b().object,targetEndpoint:b().object,timeStamp:b().number,classes:b().string,data:b().object,grabbable:b().bool,group:b().string,locked:b().bool,selectable:b().bool,selected:b().bool,style:b().object}),tapEdgeData:b().object,mouseoverNodeData:b().object,mouseoverEdgeData:b().object,selectedNodeData:b().array,selectedEdgeData:b().array,generateImage:b().shape({type:b().oneOf(["svg","png","jpg","jpeg"]),options:b().object,action:b().oneOf(["store","download","both"]),filename:b().string}),imageData:b().string,responsive:b().bool,extent:b().object,clearOnUnhover:b().bool},it.defaultProps={style:{width:"600px",height:"600px"},layout:{name:"grid"},pan:{x:0,y:0},zoom:1,minZoom:1e-50,maxZoom:1e50,zoomingEnabled:!0,userZoomingEnabled:!0,panningEnabled:!0,userPanningEnabled:!0,wheelSensitivity:1,boxSelectionEnabled:!1,autolock:!1,autoungrabify:!1,autounselectify:!1,autoRefreshLayout:!0,generateImage:{},imageData:null,responsive:!1,clearOnUnhover:!1,elements:[],contextMenu:[]};const ot=it;var at=__webpack_require__(4607),st=__webpack_require__.n(at),ct=__webpack_require__(4867),ut=__webpack_require__.n(ct),lt=__webpack_require__(703),ht=__webpack_require__.n(lt),ft=__webpack_require__(9142),dt=__webpack_require__.n(ft),pt=__webpack_require__(3840),gt=__webpack_require__.n(pt),vt=__webpack_require__(3878),bt=__webpack_require__.n(vt),yt=__webpack_require__(6611),mt=__webpack_require__.n(yt),wt=__webpack_require__(3595),xt=__webpack_require__.n(wt);m().use(st()),m().use(ut()),m().use(ht()),m().use(dt()),m().use(gt()),m().use(bt()),m().use(mt()),m().use(xt())})(),window.dash_cytoscape=__webpack_exports__})(); \ No newline at end of file diff --git a/dash_cytoscape/package.json b/dash_cytoscape/package.json index fbb4ab2a..c351cdf4 100644 --- a/dash_cytoscape/package.json +++ b/dash_cytoscape/package.json @@ -1,6 +1,6 @@ { "name": "dash-cytoscape", - "version": "1.0.0", + "version": "1.0.1", "description": "A Component Library for Dash aimed at facilitating network visualization in Python, wrapped around Cytoscape.js", "repository": { "type": "git", diff --git a/deps/dash_cytoscape.dev.js b/deps/dash_cytoscape.dev.js index 56808566..07af815c 100644 --- a/deps/dash_cytoscape.dev.js +++ b/deps/dash_cytoscape.dev.js @@ -26,7 +26,7 @@ eval("/*! (c) Andrea Giammarchi @webreflection ISC */\n(function () {\n 'use st /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _src_assets_contextmenu_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../src/assets/contextmenu.css */ \"./src/assets/contextmenu.css\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var react_cytoscapejs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-cytoscapejs */ \"./node_modules/react-cytoscapejs/dist/react-cytoscape.modern.js\");\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! lodash */ \"./node_modules/lodash/lodash.js\");\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var uuid__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! uuid */ \"./node_modules/uuid/dist/esm-browser/v4.js\");\n/* harmony import */ var _cyResponsive_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../cyResponsive.js */ \"./src/lib/cyResponsive.js\");\n/* harmony import */ var _ungap_custom_elements__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @ungap/custom-elements */ \"./node_modules/@ungap/custom-elements/index.js\");\n/* harmony import */ var _ungap_custom_elements__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_ungap_custom_elements__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _cyleaflet_clientside_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../cyleaflet_clientside.js */ \"./src/lib/cyleaflet_clientside.js\");\n/* harmony import */ var _cyleaflet_clientside_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_cyleaflet_clientside_js__WEBPACK_IMPORTED_MODULE_6__);\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : String(i); }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n/**\n * JavaScript Requirements: cytoscape, cytoscape-svg\n * React.js requirements: react-cytoscapejs\n */\n\n\n\n\n\n\n\n\n// Polyfill so that context menu extension works in Safari\n\nvar cytoscape = __webpack_require__(/*! cytoscape */ \"./node_modules/cytoscape/dist/cytoscape.cjs.js\");\nvar contextMenus = __webpack_require__(/*! cytoscape-context-menus */ \"./node_modules/cytoscape-context-menus/cytoscape-context-menus.js\");\n\n// Clientside callback functions for CyLeaflet AIO component\n\n\n// register extension\ncontextMenus(cytoscape);\n/**\n * A Component Library for Dash aimed at facilitating network visualization in\n * Python, wrapped around [Cytoscape.js](http://js.cytoscape.org/).\n */\nvar Cytoscape = /*#__PURE__*/function (_Component) {\n _inherits(Cytoscape, _Component);\n function Cytoscape(props) {\n var _this;\n _classCallCheck(this, Cytoscape);\n _this = _callSuper(this, Cytoscape, [props]);\n _this.handleCy = _this.handleCy.bind(_assertThisInitialized(_this));\n _this._handleCyCalled = false;\n _this.handleImageGeneration = _this.handleImageGeneration.bind(_assertThisInitialized(_this));\n _this.cyResponsiveClass = false;\n return _this;\n }\n _createClass(Cytoscape, [{\n key: \"generateNode\",\n value: function generateNode(event) {\n var ele = event.target;\n var isParent = ele.isParent(),\n isChildless = ele.isChildless(),\n isChild = ele.isChild(),\n isOrphan = ele.isOrphan(),\n renderedPosition = ele.renderedPosition(),\n relativePosition = ele.relativePosition(),\n parent = ele.parent(),\n style = ele.style();\n\n // Trim down the element objects to only the data contained\n var edgesData = ele.connectedEdges().map(function (ele) {\n return ele.data();\n });\n var childrenData = ele.children().map(function (ele) {\n return ele.data();\n });\n var ancestorsData = ele.ancestors().map(function (ele) {\n return ele.data();\n });\n var descendantsData = ele.descendants().map(function (ele) {\n return ele.data();\n });\n var siblingsData = ele.siblings().map(function (ele) {\n return ele.data();\n });\n var timeStamp = event.timeStamp;\n var _ele$json = ele.json(),\n classes = _ele$json.classes,\n data = _ele$json.data,\n grabbable = _ele$json.grabbable,\n group = _ele$json.group,\n locked = _ele$json.locked,\n position = _ele$json.position,\n selected = _ele$json.selected,\n selectable = _ele$json.selectable;\n var parentData;\n if (parent) {\n parentData = parent.data();\n } else {\n parentData = null;\n }\n var nodeObject = {\n // Nodes attributes\n edgesData: edgesData,\n renderedPosition: renderedPosition,\n timeStamp: timeStamp,\n // From ele.json()\n classes: classes,\n data: data,\n grabbable: grabbable,\n group: group,\n locked: locked,\n position: position,\n selectable: selectable,\n selected: selected,\n // Compound Nodes additional attributes\n ancestorsData: ancestorsData,\n childrenData: childrenData,\n descendantsData: descendantsData,\n parentData: parentData,\n siblingsData: siblingsData,\n isParent: isParent,\n isChildless: isChildless,\n isChild: isChild,\n isOrphan: isOrphan,\n relativePosition: relativePosition,\n // Styling\n style: style\n };\n return nodeObject;\n }\n }, {\n key: \"generateEdge\",\n value: function generateEdge(event) {\n var ele = event.target;\n var midpoint = ele.midpoint(),\n isLoop = ele.isLoop(),\n isSimple = ele.isSimple(),\n sourceData = ele.source().data(),\n sourceEndpoint = ele.sourceEndpoint(),\n style = ele.style(),\n targetData = ele.target().data(),\n targetEndpoint = ele.targetEndpoint();\n var timeStamp = event.timeStamp;\n var _ele$json2 = ele.json(),\n classes = _ele$json2.classes,\n data = _ele$json2.data,\n grabbable = _ele$json2.grabbable,\n group = _ele$json2.group,\n locked = _ele$json2.locked,\n selectable = _ele$json2.selectable,\n selected = _ele$json2.selected;\n var edgeObject = {\n // Edges attributes\n isLoop: isLoop,\n isSimple: isSimple,\n midpoint: midpoint,\n sourceData: sourceData,\n sourceEndpoint: sourceEndpoint,\n targetData: targetData,\n targetEndpoint: targetEndpoint,\n timeStamp: timeStamp,\n // From ele.json()\n classes: classes,\n data: data,\n grabbable: grabbable,\n group: group,\n locked: locked,\n selectable: selectable,\n selected: selected,\n // Styling\n style: style\n };\n return edgeObject;\n }\n }, {\n key: \"handleCy\",\n value: function handleCy(cy) {\n var _this2 = this;\n // If the cy pointer has not been modified, and handleCy has already\n // been called before, than we don't run this function.\n if (cy === this._cy && this._handleCyCalled) {\n return;\n }\n this._cy = cy;\n window.cy = cy;\n this._handleCyCalled = true;\n\n // ///////////////////////////////////// CONSTANTS /////////////////////////////////////////\n var SELECT_THRESHOLD = 100;\n var EXTENT_THRESHOLD = 5;\n var selectedNodes = cy.collection();\n var selectedEdges = cy.collection();\n\n // ///////////////////////////////////// FUNCTIONS /////////////////////////////////////////\n var refreshLayout = lodash__WEBPACK_IMPORTED_MODULE_3___default().debounce(function () {\n /**\n * Refresh Layout if needed\n */\n var _this2$props = _this2.props,\n autoRefreshLayout = _this2$props.autoRefreshLayout,\n layout = _this2$props.layout;\n if (autoRefreshLayout) {\n cy.layout(layout).run();\n }\n }, SELECT_THRESHOLD);\n var sendSelectedNodesData = lodash__WEBPACK_IMPORTED_MODULE_3___default().debounce(function () {\n /**\n This function is repetitively called every time a node is selected\n or unselected, but keeps being debounced if it is called again\n within 100 ms (given by SELECT_THRESHOLD). Effectively, it only\n runs when all the nodes have been correctly selected/unselected and\n added/removed from the selectedNodes collection, and then updates\n the selectedNodeData prop.\n */\n var nodeData = selectedNodes.map(function (el) {\n return el.data();\n });\n _this2.props.setProps({\n selectedNodeData: nodeData\n });\n }, SELECT_THRESHOLD);\n var sendSelectedEdgesData = lodash__WEBPACK_IMPORTED_MODULE_3___default().debounce(function () {\n var edgeData = selectedEdges.map(function (el) {\n return el.data();\n });\n _this2.props.setProps({\n selectedEdgeData: edgeData\n });\n }, SELECT_THRESHOLD);\n var setExtent = lodash__WEBPACK_IMPORTED_MODULE_3___default().debounce(function (cyExtent) {\n _this2.props.setProps({\n extent: cyExtent\n });\n }, EXTENT_THRESHOLD);\n\n // Store the original maxZoom and minZoom functions\n var originalMaxZoomFn = cy.maxZoom;\n var originalMinZoomFn = cy.minZoom;\n\n // Override the maxZoom function to trigger maxZoomChange custom event\n cy.maxZoom = function (e) {\n var currentMaxZoom = originalMaxZoomFn.call(cy, e);\n\n // Trigger your custom event if the current max zoom level is different from the \n // previously stored max zoom level\n if (currentMaxZoom !== cy._previousMaxZoom) {\n cy._previousMaxZoom = currentMaxZoom;\n cy.trigger('minMaxZoomChange');\n }\n return currentMaxZoom;\n };\n\n // Override the minZoom function to trigger minZoomChange custom event\n cy.minZoom = function (e) {\n var currentMinZoom = originalMinZoomFn.call(cy, e);\n\n // Trigger your custom event if the current min zoom level is different from the \n // previously stored min zoom level\n if (currentMinZoom !== cy._previousMinZoom) {\n cy._previousMinZoom = currentMinZoom;\n cy.trigger('minMaxZoomChange');\n }\n return currentMinZoom;\n };\n\n // /////////////////////////////////////// EVENTS //////////////////////////////////////////\n\n cy.on('tap', 'node', function (event) {\n var nodeObject = _this2.generateNode(event);\n _this2.props.setProps({\n tapNode: nodeObject,\n tapNodeData: Object.assign({}, nodeObject.data, {\n timeStamp: nodeObject.timeStamp\n })\n });\n });\n cy.on('tap', 'edge', function (event) {\n var edgeObject = _this2.generateEdge(event);\n _this2.props.setProps({\n tapEdge: edgeObject,\n tapEdgeData: Object.assign({}, edgeObject.data, {\n timeStamp: edgeObject.timeStamp\n })\n });\n });\n cy.on('mouseover', 'node', function (event) {\n _this2.props.setProps({\n mouseoverNodeData: Object.assign({}, event.target.data(), {\n timeStamp: event.timeStamp\n })\n });\n });\n cy.on('mouseover', 'edge', function (event) {\n _this2.props.setProps({\n mouseoverEdgeData: Object.assign({}, event.target.data(), {\n timeStamp: event.timeStamp\n })\n });\n });\n cy.on('mouseout', 'node', function (_) {\n if (_this2.props.clearOnUnhover === true) {\n _this2.props.setProps({\n mouseoverNodeData: null\n });\n }\n });\n cy.on('mouseout', 'edge', function (_) {\n if (_this2.props.clearOnUnhover === true) {\n _this2.props.setProps({\n mouseoverEdgeData: null\n });\n }\n });\n cy.on('select', 'node', function (event) {\n var ele = event.target;\n selectedNodes.merge(ele);\n sendSelectedNodesData();\n });\n cy.on('unselect remove', 'node', function (event) {\n var ele = event.target;\n selectedNodes.unmerge(ele);\n sendSelectedNodesData();\n });\n cy.on('select', 'edge', function (event) {\n var ele = event.target;\n selectedEdges.merge(ele);\n sendSelectedEdgesData();\n });\n cy.on('unselect remove', 'edge', function (event) {\n var ele = event.target;\n selectedEdges.unmerge(ele);\n sendSelectedEdgesData();\n });\n cy.on('add remove', function () {\n refreshLayout();\n });\n cy.on('dragfree add remove', function (_) {\n _this2.props.setProps({\n elements: cy.elements('').map(function (item) {\n if (item.json().group === 'nodes') {\n return {\n data: item.json().data,\n position: item.json().position\n };\n }\n return {\n data: item.json().data,\n position: void 0\n };\n })\n });\n });\n cy.on('viewport resize', function () {\n setExtent(cy.extent());\n });\n\n // Refresh layout if current zoom is out of boundaries\n cy.on('minMaxZoomChange', function () {\n var zoom = cy.zoom();\n if (zoom > cy.maxZoom() || zoom < cy.minZoom()) {\n cy.fit();\n }\n });\n this.createMenuItems = function (ctxMenu) {\n var updateContextMenuData = function updateContextMenuData(newContext) {\n _this2.props.setProps({\n contextMenuData: newContext\n });\n };\n var contextMenuDefaultFunctions = {\n remove: function remove(event) {\n var target = event.target || event.cyTarget;\n target.remove();\n },\n add_node: function add_node(event) {\n var pos = event.position || event.cyPosition;\n cy.add({\n data: {\n group: 'nodes'\n },\n position: {\n x: pos.x,\n y: pos.y\n }\n });\n },\n add_edge: function add_edge() {\n var selectedNodeIds = selectedNodes.map(function (node) {\n return node.id();\n });\n if (selectedNodes.length === 0) {\n console.error('Error: No nodes selected, cannot add edge');\n } else if (selectedNodes.length === 1) {\n cy.add({\n data: {\n id: (0,uuid__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(),\n group: 'edges',\n source: selectedNodeIds[0],\n target: selectedNodeIds[0]\n }\n });\n } else if (selectedNodes.length === 2) {\n cy.add({\n data: {\n id: (0,uuid__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(),\n group: 'edges',\n source: selectedNodeIds[0],\n target: selectedNodeIds[1]\n }\n });\n } else {\n console.error('Error: more than 2 nodes selected, cannot add edge');\n }\n }\n };\n var newMenuItems = [];\n var _iterator = _createForOfIteratorHelper(ctxMenu),\n _step;\n try {\n var _loop = function _loop() {\n var item = _step.value;\n var onClickFunction;\n // return data so a user can define a custom on click function in Python\n // if onClick or on onClickCustom are not specified\n onClickFunction = function onClickFunction(event) {\n updateContextMenuData({\n menuItemId: item.id,\n x: event.position.x,\n y: event.position.y,\n timeStamp: event.timeStamp,\n elementId: event.target.data().id,\n edgeSource: event.target.data().source,\n edgeTarget: event.target.data().target\n });\n };\n // use default javascript function as onClickFunction\n if (Object.prototype.hasOwnProperty.call(item, 'onClick')) {\n if (Object.prototype.hasOwnProperty.call(contextMenuDefaultFunctions, item.onClick)) {\n onClickFunction = contextMenuDefaultFunctions[item.onClick];\n } else {\n console.error(\"onClick function \".concat(item.onClick, \" is not defined\"));\n }\n }\n // use user-defined Javascript function in a namespace under assets/ as onClickFunction\n else if (Object.prototype.hasOwnProperty.call(item, 'onClickCustom')) {\n if (Object.prototype.hasOwnProperty.call(window, 'dashCytoscapeFunctions') && Object.prototype.hasOwnProperty.call(window.dashCytoscapeFunctions, item.onClickCustom)) {\n onClickFunction = window.dashCytoscapeFunctions[item.onClickCustom];\n } else {\n console.error(\"onClickCustom function \".concat(item.onClickCustom, \" is not defined\"));\n }\n }\n var new_item = {\n id: item.id,\n content: item.label,\n tooltipText: item.tooltipText,\n selector: '',\n onClickFunction: onClickFunction,\n coreAsWell: false\n };\n if (Object.prototype.hasOwnProperty.call(item, 'availableOn')) {\n var _iterator2 = _createForOfIteratorHelper(item.availableOn),\n _step2;\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var selector = _step2.value;\n if (selector === 'edge') {\n if (new_item.selector.length > 0) {\n new_item.selector = new_item.selector + ', ';\n }\n new_item.selector = new_item.selector + 'edge';\n } else if (selector === 'node') {\n if (new_item.selector.length > 0) {\n new_item.selector = new_item.selector + ', ';\n }\n new_item.selector = new_item.selector + 'node';\n } else if (selector === 'canvas') {\n new_item.coreAsWell = true;\n } else {\n console.error(\"Error: selector \".concat(selector, \" is not available. Choose one of 'node', 'edge' or 'canvas'.\"));\n }\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n }\n newMenuItems.push(new_item);\n };\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n _loop();\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n return newMenuItems;\n };\n this.cyResponsiveClass = new _cyResponsive_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"](cy);\n this.cyResponsiveClass.toggle(this.props.responsive);\n setExtent(cy.extent());\n }\n }, {\n key: \"handleImageGeneration\",\n value: function handleImageGeneration(imageType, imageOptions, actionsToPerform, fileName) {\n var _this3 = this;\n var options = {};\n if (imageOptions) {\n options = imageOptions;\n }\n var desiredOutput = options.output;\n options.output = 'blob';\n var downloadImage;\n var storeImage;\n switch (actionsToPerform) {\n case 'store':\n downloadImage = false;\n storeImage = true;\n break;\n case 'download':\n downloadImage = true;\n storeImage = false;\n break;\n case 'both':\n downloadImage = true;\n storeImage = true;\n break;\n default:\n downloadImage = false;\n storeImage = true;\n break;\n }\n var output;\n if (imageType === 'png') {\n output = this._cy.png(options);\n }\n if (imageType === 'jpg' || imageType === 'jpeg') {\n output = this._cy.jpg(options);\n }\n // only works when svg is imported (see lib/extra_index.js)\n if (imageType === 'svg') {\n output = this._cy.svg(options);\n }\n\n /*\n * If output is empty because of bad options or a cytoscape error,\n * skip any download or storage steps.\n */\n if (output && downloadImage) {\n /*\n * Downloading is initiated client-side because the image is generated at\n * the client. This avoids transferring a potentially large image\n * to the server and back again through a callback.\n */\n var fName = fileName;\n if (!fileName) {\n fName = 'cyto';\n }\n if (imageType !== 'svg') {\n this.downloadBlob(output, fName + '.' + imageType);\n } else {\n var blob = new Blob([output], {\n type: 'image/svg+xml;charset=utf-8'\n });\n this.downloadBlob(blob, fName + '.' + imageType);\n }\n }\n if (output && storeImage) {\n // Default output type if unspecified\n if (!desiredOutput) {\n desiredOutput = 'base64uri';\n }\n if (!(desiredOutput === 'base64uri' || desiredOutput === 'base64')) {\n return;\n }\n\n /*\n * Convert blob to base64uri or base64 string to store the image data.\n * Thank you, base64guru https://base64.guru/developers/javascript/examples/encode-blob\n */\n var reader = new FileReader();\n reader.onload = function () {\n /* FileReader is asynchronous, so the read function is non-blocking.\n * If this code block is placed after the read command, it\n * may result in empty output because the blob has not been loaded yet.\n */\n var callbackData = reader.result;\n if (desiredOutput === 'base64') {\n callbackData = callbackData.replace(/^data:.+;base64,/, '');\n }\n _this3.props.setProps({\n imageData: callbackData\n });\n };\n reader.readAsDataURL(output);\n }\n }\n }, {\n key: \"downloadBlob\",\n value: function downloadBlob(blob, fileName) {\n /*\n * Download blob as file by dynamically creating link.\n * Chrome does not open data URLs when JS opens a new tab directed\n * at the data URL, so this is an alternate implementation\n * that doesn't require extra packages. It may not behave in\n * exactly the same way across browsers (might display image in new tab\n * intead of downloading as a file).\n * Thank you, koldev https://jsfiddle.net/koldev/cW7W5/\n */\n var downloadLink = document.createElement('a');\n downloadLink.style = 'display: none';\n document.body.appendChild(downloadLink);\n var url = window.URL.createObjectURL(blob);\n downloadLink.href = url;\n downloadLink.download = fileName;\n downloadLink.click();\n window.URL.revokeObjectURL(url);\n document.body.removeChild(downloadLink);\n }\n }, {\n key: \"updateContextMenu\",\n value: function updateContextMenu(contextMenu) {\n this._cy.contextMenus({\n menuItems: this.createMenuItems(contextMenu),\n menuItemClasses: ['custom-menu-item']\n });\n }\n\n // Returns true if there is no overlap between the element bounding box\n // and the rendered area of the graph, meaning the graph is entirely outside the viewport;\n // returns false otherwise\n }, {\n key: \"graphOutOfView\",\n value: function graphOutOfView() {\n var cyWidth = this._cy.width();\n var cyHeight = this._cy.height();\n var elBox = this._cy.elements().renderedBoundingbox();\n return elBox.x1 > cyWidth || elBox.y1 > cyHeight || elBox.x2 < 0 || elBox.y2 < 0;\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n var _this$props = this.props,\n contextMenu = _this$props.contextMenu,\n elements = _this$props.elements;\n if (!lodash__WEBPACK_IMPORTED_MODULE_3___default().isEqual(prevProps.contextMenu, contextMenu) && this._cy) {\n this.updateContextMenu(contextMenu);\n }\n if (!lodash__WEBPACK_IMPORTED_MODULE_3___default().isEqual(prevProps.elements, elements) && this._cy) {\n // If elements were updated, and the new graph is *entirely* outside the viewport,\n // fit the viewport to the new elements\n if (this.graphOutOfView()) {\n this._cy.fit();\n }\n }\n }\n }, {\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var contextMenu = this.props.contextMenu;\n if (this._cy && contextMenu.length > 0) {\n this.updateContextMenu(contextMenu);\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props2 = this.props,\n id = _this$props2.id,\n style = _this$props2.style,\n className = _this$props2.className,\n elements = _this$props2.elements,\n stylesheet = _this$props2.stylesheet,\n layout = _this$props2.layout,\n contextMenu = _this$props2.contextMenu,\n contextMenuData = _this$props2.contextMenuData,\n pan = _this$props2.pan,\n zoom = _this$props2.zoom,\n panningEnabled = _this$props2.panningEnabled,\n userPanningEnabled = _this$props2.userPanningEnabled,\n minZoom = _this$props2.minZoom,\n maxZoom = _this$props2.maxZoom,\n zoomingEnabled = _this$props2.zoomingEnabled,\n userZoomingEnabled = _this$props2.userZoomingEnabled,\n wheelSensitivity = _this$props2.wheelSensitivity,\n boxSelectionEnabled = _this$props2.boxSelectionEnabled,\n autoungrabify = _this$props2.autoungrabify,\n autolock = _this$props2.autolock,\n autounselectify = _this$props2.autounselectify,\n generateImage = _this$props2.generateImage,\n responsive = _this$props2.responsive;\n if (Object.keys(generateImage).length > 0) {\n // If no cytoscape object has been created yet, an image cannot be generated,\n // so generateImage will be ignored and cleared.\n this.props.setProps({\n generateImage: {}\n });\n if (this._cy) {\n this.handleImageGeneration(generateImage.type, generateImage.options, generateImage.action, generateImage.filename);\n }\n }\n if (this.cyResponsiveClass) {\n this.cyResponsiveClass.toggle(responsive);\n }\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(react_cytoscapejs__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n id: id,\n cy: this.handleCy,\n className: className,\n style: style,\n elements: react_cytoscapejs__WEBPACK_IMPORTED_MODULE_2__[\"default\"].normalizeElements(elements),\n stylesheet: stylesheet,\n layout: layout,\n contextMenu: contextMenu,\n contextMenuData: contextMenuData,\n pan: pan,\n zoom: zoom,\n panningEnabled: panningEnabled,\n userPanningEnabled: userPanningEnabled,\n minZoom: minZoom,\n maxZoom: maxZoom,\n zoomingEnabled: zoomingEnabled,\n userZoomingEnabled: userZoomingEnabled,\n wheelSensitivity: wheelSensitivity,\n boxSelectionEnabled: boxSelectionEnabled,\n autoungrabify: autoungrabify,\n autolock: autolock,\n autounselectify: autounselectify\n });\n }\n }]);\n return Cytoscape;\n}(react__WEBPACK_IMPORTED_MODULE_1__.Component);\nCytoscape.propTypes = {\n // HTML attribute props\n\n /**\n * The ID used to identify this component in Dash callbacks.\n */\n id: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /**\n * Sets the class name of the element (the value of an element's html\n * class attribute).\n */\n className: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /**\n * Add inline styles to the root element.\n */\n style: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n // Dash specific props\n\n /**\n * Dash-assigned callback that should be called whenever any of the\n * properties change.\n */\n setProps: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().func),\n // Common props\n\n /**\n * A list of dictionaries representing the elements of the networks. Each dictionary describes an element, and\n * specifies its purpose. The [official Cytoscape.js documentation](https://js.cytoscape.org/#notation/elements-json)\n * offers an extensive overview and examples of element declaration.\n * Alternatively, a dictionary with the format { 'nodes': [], 'edges': [] } is allowed at initialization,\n * but arrays remain the recommended format.\n */\n elements: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_8___default().arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_8___default().shape({\n /**\n * Either 'nodes' or 'edges'. If not given, it's automatically inferred.\n */\n group: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** Element specific data.*/\n data: prop_types__WEBPACK_IMPORTED_MODULE_8___default().shape({\n /** Reference to the element, useful for selectors and edges. Randomly assigned if not given.*/\n id: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /**\n * Optional name for the element, useful when `data(label)` is given to a style's `content`\n * or `label`. It is only a convention. */\n label: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** Only for nodes. Optional reference to another node. Needed to create compound nodes. */\n parent: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** Only for edges. The id of the source node, which is where the edge starts. */\n source: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** Only for edges. The id of the target node, where the edge ends. */\n target: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string)\n }),\n /** Only for nodes. The position of the node. */\n position: prop_types__WEBPACK_IMPORTED_MODULE_8___default().shape({\n /** The x-coordinate of the node. */\n x: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /** The y-coordinate of the node. */\n y: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number)\n }),\n /** If the element is selected upon initialisation. */\n selected: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** If the element can be selected. */\n selectable: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Only for nodes. If the position is immutable. */\n locked: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Only for nodes. If the node can be grabbed and moved by the user. */\n grabbable: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * Space separated string of class names of the element. Those classes can be selected\n * by a style selector.\n */\n classes: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string)\n })), prop_types__WEBPACK_IMPORTED_MODULE_8___default().exact({\n nodes: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array),\n edges: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array)\n })]),\n /**\n * A list of dictionaries representing the styles of the elements.\n * Each dictionary requires the following keys: `selector` and `style`.\n *\n * Both the [selector](https://js.cytoscape.org/#selectors) and\n * the [style](https://js.cytoscape.org/#style/node-body) are\n * exhaustively documented in the Cytoscape.js docs. Although methods such\n * as `cy.elements(...)` and `cy.filter(...)` are not available, the selector\n * string syntax stays the same.\n */\n stylesheet: prop_types__WEBPACK_IMPORTED_MODULE_8___default().arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_8___default().exact({\n /**\n * Which elements you are styling. Generally, you select a group of elements (node, edges, both),\n * a class (that you declare in the element dictionary), or an element by ID.\n */\n selector: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string).isRequired,\n /**\n * What aspects of the elements you want to modify. This could be the size or\n * color of a node, the shape of an edge arrow, or many more.\n */\n style: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object).isRequired\n })),\n /**\n * A dictionary specifying how to set the position of the elements in your\n * graph. The `'name'` key is required, and indicates which layout (algorithm) to\n * use. The keys accepted by `layout` vary depending on the algorithm, but these\n * keys are accepted by all layouts: `fit`, `padding`, `animate`, `animationDuration`,\n * `boundingBox`.\n *\n * The complete list of layouts and their accepted options are available on the\n * [Cytoscape.js docs](https://js.cytoscape.org/#layouts) . For the external layouts,\n * the options are listed in the \"API\" section of the README.\n * Note that certain keys are not supported in Dash since the value is a JavaScript\n * function or a callback. Please visit this\n * [issue](https://github.com/plotly/dash-cytoscape/issues/25) for more information.\n */\n layout: prop_types__WEBPACK_IMPORTED_MODULE_8___default().shape({\n /**\n * The layouts available by default are:\n * `random`: Randomly assigns positions.\n * `preset`: Assigns position based on the `position` key in element dictionaries.\n * `circle`: Single-level circle, with optional radius.\n * `concentric`: Multi-level circle, with optional radius.\n * `grid`: Square grid, optionally with numbers of `rows` and `cols`.\n * `breadthfirst`: Tree structure built using BFS, with optional `roots`.\n * `cose`: Force-directed physics simulation.\n *\n * Some external layouts are also included. To use them, run\n * `dash_cytoscape.load_extra_layouts()` before creating your Dash app. Be careful about\n * using the extra layouts when not necessary, since they require supplementary bandwidth\n * for loading, which impacts the startup time of the app.\n * The external layouts are:\n * [cose-bilkent](https://github.com/cytoscape/cytoscape.js-cose-bilkent),\n * [fcose](https://github.com/iVis-at-Bilkent/cytoscape.js-fcose),\n * [cola](https://github.com/cytoscape/cytoscape.js-cola),\n * [euler](https://github.com/cytoscape/cytoscape.js-dagre),\n * [spread](https://github.com/cytoscape/cytoscape.js-spread),\n * [dagre](https://github.com/cytoscape/cytoscape.js-dagre),\n * [klay](https://github.com/cytoscape/cytoscape.js-klay),\n */\n name: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOf(['random', 'preset', 'circle', 'concentric', 'grid', 'breadthfirst', 'cose', 'cose-bilkent', 'fcose', 'cola', 'euler', 'spread', 'dagre', 'klay']).isRequired,\n /** Whether to render the nodes in order to fit the canvas. */\n fit: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Padding around the sides of the canvas, if fit is enabled. */\n padding: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /** Whether to animate change in position when the layout changes. */\n animate: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Duration of animation in milliseconds, if enabled. */\n animationDuration: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /**\n * How to constrain the layout in a specific area. Keys accepted are either\n * `x1, y1, x2, y2` or `x1, y1, w, h`, all of which receive a pixel value.\n */\n boundingBox: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object)\n }),\n /**\n * Define a custom context menu. The behaviour of each menu item can be defined in 1 of 3 ways.\n * 1. By passing a string to onClick that refers to one of the built-in Javascript functions.\n * 2. By passing a string to onClickCustom that refers to one of the user-defined functions in a namespace.\n * 3. By omitting both of these properties; this will update the contextMenuData property and trigger a Dash callback.\n */\n contextMenu: prop_types__WEBPACK_IMPORTED_MODULE_8___default().arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_8___default().exact({\n /** ID of the menu item in the context menu */\n id: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string).isRequired,\n /** The label on the context menu item*/\n label: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string).isRequired,\n /** The tooltip text when hovering on top of a context menu item */\n tooltipText: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** A list containing either 'node', 'edge',and/or 'canvas'. This will determine where the context\n * menu item will show up.\n */\n availableOn: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array),\n /** Specify which built-in JavaScript function to use as behaviour for the context\n * menu item. One of 'remove', 'add_node', or 'add_edge'\n */\n onClick: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** Specify which user-defined Javascript function to use in the dashCytoscapeFunctions\n * namespace as behaviour for the context menu item\n */\n onClickCustom: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string)\n })),\n /**\n * Retrieve relevant data when a context menu item is clicked. Read-only.\n */\n contextMenuData: prop_types__WEBPACK_IMPORTED_MODULE_8___default().exact({\n /** ID of the menu item in the context menu */\n menuItemId: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** x-position of the context click */\n x: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /** y-position of the context click */\n y: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /** Timestamp of context click*/\n timeStamp: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /** Element ID on context click if the context click was on an element.\n * If context click was on white space, this property is not returned\n */\n elementId: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** Node ID of the edge source if the clicked element is an edge,\n * or else this property is not returned*/\n edgeSource: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** Node ID of the edge target if the clicked element is an edge,\n * or else this property is not returned*/\n edgeTarget: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string)\n }),\n // Viewport Manipulation\n\n /**\n * Dictionary indicating the initial panning position of the graph. The\n * following keys are accepted:\n */\n pan: prop_types__WEBPACK_IMPORTED_MODULE_8___default().exact({\n /** The x-coordinate of the node */\n x: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /** The y-coordinate of the node */\n y: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number)\n }),\n /**\n * The initial zoom level of the graph. You can set `minZoom` and\n * `maxZoom` to set restrictions on the zoom level.\n */\n zoom: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n // Viewport Mutability and gesture Toggling\n /**\n * Whether panning the graph is enabled (i.e., the position of the graph is\n * mutable overall).\n */\n panningEnabled: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * Whether user events (e.g. dragging the graph background) are allowed to\n * pan the graph.\n */\n userPanningEnabled: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * A minimum bound on the zoom level of the graph. The viewport can not be\n * scaled smaller than this zoom level.\n */\n minZoom: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /**\n * A maximum bound on the zoom level of the graph. The viewport can not be\n * scaled larger than this zoom level.\n */\n maxZoom: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /**\n * Whether zooming the graph is enabled (i.e., the zoom level of the graph\n * is mutable overall).\n */\n zoomingEnabled: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * Whether user events (e.g. dragging the graph background) are allowed\n * to pan the graph.\n */\n userZoomingEnabled: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * Changes the scroll wheel sensitivity when zooming.\n */\n wheelSensitivity: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /**\n * Whether box selection (i.e. drag a box overlay around, and release it\n * to select) is enabled. If enabled, the user must taphold to pan the graph.\n */\n boxSelectionEnabled: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * Whether nodes should be ungrabified (not grabbable by user) by\n * default (if true, overrides individual node state).\n */\n autoungrabify: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * Whether nodes should be locked (not draggable at all) by default\n * (if true, overrides individual node state).\n */\n autolock: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * Whether nodes should be unselectified (immutable selection state) by\n * default (if true, overrides individual element state).\n */\n autounselectify: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * Whether the layout should be refreshed when elements are added or removed.\n */\n autoRefreshLayout: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n // User Events Props\n\n /**\n * The complete node dictionary returned when you tap or click it. Read-only.\n */\n tapNode: prop_types__WEBPACK_IMPORTED_MODULE_8___default().exact({\n /** node specific item */\n edgesData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array),\n /** node specific item */\n renderedPosition: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** node specific item */\n timeStamp: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /** General item (for all elements) */\n classes: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** General item (for all elements) */\n data: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** General item (for all elements) */\n grabbable: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** General item (for all elements) */\n group: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** General item (for all elements) */\n locked: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** General item (for all elements) */\n position: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** General item (for all elements) */\n selectable: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** General item (for all elements) */\n selected: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** General item (for all elements) */\n style: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** Item for compound nodes */\n ancestorsData: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_8___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array)]),\n /** Item for compound nodes */\n childrenData: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_8___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array)]),\n /** Item for compound nodes */\n descendantsData: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_8___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array)]),\n /** Item for compound nodes */\n parentData: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_8___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array)]),\n /** Item for compound nodes */\n siblingsData: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_8___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array)]),\n /** Item for compound nodes */\n isParent: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Item for compound nodes */\n isChildless: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Item for compound nodes */\n isChild: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Item for compound nodes */\n isOrphan: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Item for compound nodes */\n relativePosition: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object)\n }),\n /**\n * The data dictionary of a node returned when you tap or click it. Read-only.\n */\n tapNodeData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /**\n * The complete edge dictionary returned when you tap or click it. Read-only.\n */\n tapEdge: prop_types__WEBPACK_IMPORTED_MODULE_8___default().exact({\n /** Edge-specific item */\n isLoop: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Edge-specific item */\n isSimple: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Edge-specific item */\n midpoint: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** Edge-specific item */\n sourceData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** Edge-specific item */\n sourceEndpoint: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** Edge-specific item */\n targetData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** Edge-specific item */\n targetEndpoint: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** Edge-specific item */\n timeStamp: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /** General item (for all elements) */\n classes: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** General item (for all elements) */\n data: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** General item (for all elements) */\n grabbable: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** General item (for all elements) */\n group: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** General item (for all elements) */\n locked: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** General item (for all elements) */\n selectable: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** General item (for all elements) */\n selected: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** General item (for all elements) */\n style: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object)\n }),\n /**\n * The data dictionary of an edge returned when you tap or click it. Read-only.\n */\n tapEdgeData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /**\n * The data dictionary of a node returned when you hover over it. Read-only.\n */\n mouseoverNodeData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /**\n * The data dictionary of an edge returned when you hover over it. Read-only.\n */\n mouseoverEdgeData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /**\n * The list of data dictionaries of all selected nodes (e.g. using\n * Shift+Click to select multiple nodes, or Shift+Drag to use box selection). Read-only.\n */\n selectedNodeData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array),\n /**\n * The list of data dictionaries of all selected edges (e.g. using\n * Shift+Click to select multiple nodes, or Shift+Drag to use box selection). Read-only.\n */\n selectedEdgeData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array),\n /**\n * Dictionary specifying options to generate an image of the current cytoscape graph.\n * Value is cleared after data is received and image is generated. This property will\n * be ignored on the initial creation of the cytoscape object and must be invoked through\n * a callback after it has been rendered.\n *\n * If the app does not need the image data server side and/or it will only be used to download\n * the image, it may be prudent to invoke `'download'` for `action` instead of\n * `'store'` to improve performance by preventing transfer of data to the server.\n */\n generateImage: prop_types__WEBPACK_IMPORTED_MODULE_8___default().shape({\n /** File type to output */\n type: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOf(['svg', 'png', 'jpg', 'jpeg']),\n /** Dictionary of options to cy.png() / cy.jpg() or cy.svg() for image generation.\n * See https://js.cytoscape.org/#core/export for details. For `'output'`, only 'base64'\n * and 'base64uri' are supported. Default: `{'output': 'base64uri'}`.*/\n options: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /**\n * `'store'`: Stores the image data (only jpg and png are supported)\n * in `imageData` and invokes server-side Dash callbacks. `'download'`: Downloads the image\n * as a file with all data handling done client-side. No `imageData` callbacks are fired.\n * `'both'`: Stores image data and downloads image as file. The default is `'store'`\n */\n action: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOf(['store', 'download', 'both']),\n /** Name for the file to be downloaded. Default: 'cyto'.*/\n filename: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string)\n }),\n /**\n * String representation of the image requested with generateImage. Null if no\n * image was requested yet or the previous request failed. Read-only.\n */\n imageData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /**\n * Toggles intelligent responsive resize of Cytoscape graph with viewport size change\n */\n responsive: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * Extent of the viewport, a bounding box in model co-ordinates that lets you know what model\n * positions are visible in the viewport. This function returns a plain object bounding box\n * with format { x1, y1, x2, y2, w, h }.\n */\n extent: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /**\n * If set to True, mouseoverNodeData and mouseoverEdgeData will be cleared on unhover.\n * If set to False, the value of mouseoverNodeData and mouseoverEdgeData will be the last\n * Node or Edge hovered over\n */\n clearOnUnhover: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool)\n};\nCytoscape.defaultProps = {\n style: {\n width: '600px',\n height: '600px'\n },\n layout: {\n name: 'grid'\n },\n pan: {\n x: 0,\n y: 0\n },\n zoom: 1,\n minZoom: 1e-50,\n maxZoom: 1e50,\n zoomingEnabled: true,\n userZoomingEnabled: true,\n panningEnabled: true,\n userPanningEnabled: true,\n wheelSensitivity: 1,\n boxSelectionEnabled: false,\n autolock: false,\n autoungrabify: false,\n autounselectify: false,\n autoRefreshLayout: true,\n generateImage: {},\n imageData: null,\n responsive: false,\n clearOnUnhover: false,\n elements: [],\n contextMenu: []\n};\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Cytoscape);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvbGliL2NvbXBvbmVudHMvQ3l0b3NjYXBlLnJlYWN0LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNxQztBQUNFO0FBQ0o7QUFDZ0I7QUFDNUI7QUFDVztBQUNZOztBQUU5QztBQUNnQztBQUVoQyxJQUFNUSxTQUFTLEdBQUdDLG1CQUFPLENBQUMsaUVBQVcsQ0FBQztBQUN0QyxJQUFNQyxZQUFZLEdBQUdELG1CQUFPLENBQUMsa0dBQXlCLENBQUM7O0FBRXZEO0FBQ29DOztBQUVwQztBQUNBQyxZQUFZLENBQUNGLFNBQVMsQ0FBQztBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUhBLElBSU1HLFNBQVMsMEJBQUFDLFVBQUE7RUFBQUMsU0FBQSxDQUFBRixTQUFBLEVBQUFDLFVBQUE7RUFDWCxTQUFBRCxVQUFZRyxLQUFLLEVBQUU7SUFBQSxJQUFBQyxLQUFBO0lBQUFDLGVBQUEsT0FBQUwsU0FBQTtJQUNmSSxLQUFBLEdBQUFFLFVBQUEsT0FBQU4sU0FBQSxHQUFNRyxLQUFLO0lBRVhDLEtBQUEsQ0FBS0csUUFBUSxHQUFHSCxLQUFBLENBQUtHLFFBQVEsQ0FBQ0MsSUFBSSxDQUFBQyxzQkFBQSxDQUFBTCxLQUFBLENBQUssQ0FBQztJQUN4Q0EsS0FBQSxDQUFLTSxlQUFlLEdBQUcsS0FBSztJQUM1Qk4sS0FBQSxDQUFLTyxxQkFBcUIsR0FBR1AsS0FBQSxDQUFLTyxxQkFBcUIsQ0FBQ0gsSUFBSSxDQUFBQyxzQkFBQSxDQUFBTCxLQUFBLENBQUssQ0FBQztJQUNsRUEsS0FBQSxDQUFLUSxpQkFBaUIsR0FBRyxLQUFLO0lBQUMsT0FBQVIsS0FBQTtFQUNuQztFQUFDUyxZQUFBLENBQUFiLFNBQUE7SUFBQWMsR0FBQTtJQUFBQyxLQUFBLEVBRUQsU0FBQUMsYUFBYUMsS0FBSyxFQUFFO01BQ2hCLElBQU1DLEdBQUcsR0FBR0QsS0FBSyxDQUFDRSxNQUFNO01BRXhCLElBQU1D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S0FBSztFQUNmRCxhQUFhLEVBQUUsS0FBSztFQUNwQkUsZUFBZSxFQUFFLEtBQUs7RUFDdEJ2SyxpQkFBaUIsRUFBRSxJQUFJO0VBQ3ZCd0ssYUFBYSxFQUFFLENBQUMsQ0FBQztFQUNqQmpELFNBQVMsRUFBRSxJQUFJO0VBQ2Z6QixVQUFVLEVBQUUsS0FBSztFQUNqQjVELGNBQWMsRUFBRSxLQUFLO0VBQ3JCRyxRQUFRLEVBQUUsRUFBRTtFQUNaa0csV0FBVyxFQUFFO0FBQ2pCLENBQUM7QUFFRCxpRUFBZWxOLFNBQVMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX2N5dG9zY2FwZS8uL3NyYy9saWIvY29tcG9uZW50cy9DeXRvc2NhcGUucmVhY3QuanM/NjQyYyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEphdmFTY3JpcHQgUmVxdWlyZW1lbnRzOiBjeXRvc2NhcGUsIGN5dG9zY2FwZS1zdmdcbiAqIFJlYWN0LmpzIHJlcXVpcmVtZW50czogcmVhY3QtY3l0b3NjYXBlanNcbiAqL1xuaW1wb3J0ICcvc3JjL2Fzc2V0cy9jb250ZXh0bWVudS5jc3MnO1xuaW1wb3J0IFJlYWN0LCB7Q29tcG9uZW50fSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IEN5dG9zY2FwZUNvbXBvbmVudCBmcm9tICdyZWFjdC1jeXRvc2NhcGVqcyc7XG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHt2NCBhcyB1dWlkdjR9IGZyb20gJ3V1aWQnO1xuaW1wb3J0IEN5UmVzcG9uc2l2ZSBmcm9tICcuLi9jeVJlc3BvbnNpdmUuanMnO1xuXG4vLyBQb2x5ZmlsbCBzbyB0aGF0IGNvbnRleHQgbWVudSBleHRlbnNpb24gd29ya3MgaW4gU2FmYXJpXG5pbXBvcnQgJ0B1bmdhcC9jdXN0b20tZWxlbWVudHMnO1xuXG5jb25zdCBjeXRvc2NhcGUgPSByZXF1aXJlKCdjeXRvc2NhcGUnKTtcbmNvbnN0IGNvbnRleHRNZW51cyA9IHJlcXVpcmUoJ2N5dG9zY2FwZS1jb250ZXh0LW1lbnVzJyk7XG5cbi8vIENsaWVudHNpZGUgY2FsbGJhY2sgZnVuY3Rpb25zIGZvciBDeUxlYWZsZXQgQUlPIGNvbXBvbmVudFxuaW1wb3J0ICcuLi9jeWxlYWZsZXRfY2xpZW50c2lkZS5qcyc7XG5cbi8vIHJlZ2lzdGVyIGV4dGVuc2lvblxuY29udGV4dE1lbnVzKGN5dG9zY2FwZSk7XG4vKipcbiAqIEEgQ29tcG9uZW50IExpYnJhcnkgZm9yIERhc2ggYWltZWQgYXQgZmFjaWxpdGF0aW5nIG5ldHdvcmsgdmlzdWFsaXphdGlvbiBpblxuICogUHl0aG9uLCB3cmFwcGVkIGFyb3VuZCBbQ3l0b3NjYXBlLmpzXShodHRwOi8vanMuY3l0b3NjYXBlLm9yZy8pLlxuICovXG5jbGFzcyBDeXRvc2NhcGUgZXh0ZW5kcyBDb21wb25lbnQge1xuICAgIGNvbnN0cnVjdG9yKHByb3BzKSB7XG4gICAgICAgIHN1cGVyKHByb3BzKTtcblxuICAgICAgICB0aGlzLmhhbmRsZUN5ID0gdGhpcy5oYW5kbGVDeS5iaW5kKHRoaXMpO1xuICAgICAgICB0aGlzLl9oYW5kbGVDeUNhbGxlZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLmhhbmRsZUltYWdlR2VuZXJhdGlvbiA9IHRoaXMuaGFuZGxlSW1hZ2VHZW5lcmF0aW9uLmJpbmQodGhpcyk7XG4gICAgICAgIHRoaXMuY3lSZXNwb25zaXZlQ2xhc3MgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBnZW5lcmF0ZU5vZGUoZXZlbnQpIHtcbiAgICAgICAgY29uc3QgZWxlID0gZXZlbnQudGFyZ2V0O1xuXG4gICAgICAgIGNvbnN0IGlzUGFyZW50ID0gZWxlLmlzUGFyZW50KCksXG4gICAgICAgICAgICBpc0NoaWxkbGVzcyA9IGVsZS5pc0NoaWxkbGVzcygpLFxuICAgICAgICAgICAgaXNDaGlsZCA9IGVsZS5pc0NoaWxkKCksXG4gICAgICAgICAgICBpc09ycGhhbiA9IGVsZS5pc09ycGhhbigpLFxuICAgICAgICAgICAgcmVuZGVyZWRQb3NpdGlvbiA9IGVsZS5yZW5kZXJlZFBvc2l0aW9uKCksXG4gICAgICAgICAgICByZWxhdGl2ZVBvc2l0aW9uID0gZWxlLnJlbGF0aXZlUG9zaXRpb24oKSxcbiAgICAgICAgICAgIHBhcmVudCA9IGVsZS5wYXJlbnQoKSxcbiAgICAgICAgICAgIHN0eWxlID0gZWxlLnN0eWxlKCk7XG5cbiAgICAgICAgLy8gVHJpbSBkb3duIHRoZSBlbGVtZW50IG9iamVjdHMgdG8gb25seSB0aGUgZGF0YSBjb250YWluZWRcbiAgICAgICAgY29uc3QgZWRnZXNEYXRhID0gZWxlLmNvbm5lY3RlZEVkZ2VzKCkubWFwKChlbGUpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBlbGUuZGF0YSgpO1xuICAgICAgICB9KTtcbiAgICAgICAgY29uc3QgY2hpbGRyZW5EYXRhID0gZWxlLmNoaWxkcmVuKCkubWFwKChlbGUpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBlbGUuZGF0YSgpO1xuICAgICAgICB9KTtcbiAgICAgICAgY29uc3QgYW5jZXN0b3JzRGF0YSA9IGVsZS5hbmNlc3RvcnMoKS5tYXAoKGVsZSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGVsZS5kYXRhKCk7XG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBkZXNjZW5kYW50c0RhdGEgPSBlbGUuZGVzY2VuZGFudHMoKS5tYXAoKGVsZSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGVsZS5kYXRhKCk7XG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBzaWJsaW5nc0RhdGEgPSBlbGUuc2libGluZ3MoKS5tYXAoKGVsZSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGVsZS5kYXRhKCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IHt0aW1lU3RhbXB9ID0gZXZlbnQ7XG4gICAgICAgIGNvbnN0IHtcbiAgICAgICAgICAgIGNsYXNzZXMsXG4gICAgICAgICAgICBkYXRhLFxuICAgICAgICAgICAgZ3JhYmJhYmxlLFxuICAgICAgICAgICAgZ3JvdXAsXG4gICAgICAgICAgICBsb2NrZWQsXG4gICAgICAgICAgICBwb3NpdGlvbixcbiAgICAgICAgICAgIHNlbGVjdGVkLFxuICAgICAgICAgICAgc2VsZWN0YWJsZSxcbiAgICAgICAgfSA9IGVsZS5qc29uKCk7XG5cbiAgICAgICAgbGV0IHBhcmVudERhdGE7XG4gICAgICAgIGlmIChwYXJlbnQpIHtcbiAgICAgICAgICAgIHBhcmVudERhdGEgPSBwYXJlbnQuZGF0YSgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcGFyZW50RGF0YSA9IG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBub2RlT2JqZWN0ID0ge1xuICAgICAgICAgICAgLy8gTm9kZXMgYXR0cmlidXRlc1xuICAgICAgICAgICAgZWRnZXNEYXRhLFxuICAgICAgICAgICAgcmVuZGVyZWRQb3NpdGlvbixcbiAgICAgICAgICAgIHRpbWVTdGFtcCxcbiAgICAgICAgICAgIC8vIEZyb20gZWxlLmpzb24oKVxuICAgICAgICAgICAgY2xhc3NlcyxcbiAgICAgICAgICAgIGRhdGEsXG4gICAgICAgICAgICBncmFiYmFibGUsXG4gICAgICAgICAgICBncm91cCxcbiAgICAgICAgICAgIGxvY2tlZCxcbiAgICAgICAgICAgIHBvc2l0aW9uLFxuICAgICAgICAgICAgc2VsZWN0YWJsZSxcbiAgICAgICAgICAgIHNlbGVjdGVkLFxuICAgICAgICAgICAgLy8gQ29tcG91bmQgTm9kZXMgYWRkaXRpb25hbCBhdHRyaWJ1dGVzXG4gICAgICAgICAgICBhbmNlc3RvcnNEYXRhLFxuICAgICAgICAgICAgY2hpbGRyZW5EYXRhLFxuICAgICAgICAgICAgZGVzY2VuZGFudHNEYXRhLFxuICAgICAgICAgICAgcGFyZW50RGF0YSxcbiAgICAgICAgICAgIHNpYmxpbmdzRGF0YSxcbiAgICAgICAgICAgIGlzUGFyZW50LFxuICAgICAgICAgICAgaXNDaGlsZGxlc3MsXG4gICAgICAgICAgICBpc0NoaWxkLFxuICAgICAgICAgICAgaXNPcnBoYW4sXG4gICAgICAgICAgICByZWxhdGl2ZVBvc2l0aW9uLFxuICAgICAgICAgICAgLy8gU3R5bGluZ1xuICAgICAgICAgICAgc3R5bGUsXG4gICAgICAgIH07XG4gICAgICAgIHJldHVybiBub2RlT2JqZWN0O1xuICAgIH1cblxuICAgIGdlbmVyYXRlRWRnZShldmVudCkge1xuICAgICAgICBjb25zdCBlbGUgPSBldmVudC50YXJnZXQ7XG5cbiAgICAgICAgY29uc3QgbWlkcG9pbnQgPSBlbGUubWlkcG9pbnQoKSxcbiAgICAgICAgICAgIGlzTG9vcCA9IGVsZS5pc0xvb3AoKSxcbiAgICAgICAgICAgIGlzU2ltcGxlID0gZWxlLmlzU2ltcGxlKCksXG4gICAgICAgICAgICBzb3VyY2VEYXRhID0gZWxlLnNvdXJjZSgpLmRhdGEoKSxcbiAgICAgICAgICAgIHNvdXJjZUVuZHBvaW50ID0gZWxlLnNvdXJjZUVuZHBvaW50KCksXG4gICAgICAgICAgICBzdHlsZSA9IGVsZS5zdHlsZSgpLFxuICAgICAgICAgICAgdGFyZ2V0RGF0YSA9IGVsZS50YXJnZXQoKS5kYXRhKCksXG4gICAgICAgICAgICB0YXJnZXRFbmRwb2ludCA9IGVsZS50YXJnZXRFbmRwb2ludCgpO1xuXG4gICAgICAgIGNvbnN0IHt0aW1lU3RhbXB9ID0gZXZlbnQ7XG4gICAgICAgIGNvbnN0IHtjbGFzc2VzLCBkYXRhLCBncmFiYmFibGUsIGdyb3VwLCBsb2NrZWQsIHNlbGVjdGFibGUsIHNlbGVjdGVkfSA9XG4gICAgICAgICAgICBlbGUuanNvbigpO1xuXG4gICAgICAgIGNvbnN0IGVkZ2VPYmplY3QgPSB7XG4gICAgICAgICAgICAvLyBFZGdlcyBhdHRyaWJ1dGVzXG4gICAgICAgICAgICBpc0xvb3AsXG4gICAgICAgICAgICBpc1NpbXBsZSxcbiAgICAgICAgICAgIG1pZHBvaW50LFxuICAgICAgICAgICAgc291cmNlRGF0YSxcbiAgICAgICAgICAgIHNvdXJjZUVuZHBvaW50LFxuICAgICAgICAgICAgdGFyZ2V0RGF0YSxcbiAgICAgICAgICAgIHRhcmdldEVuZHBvaW50LFxuICAgICAgICAgICAgdGltZVN0YW1wLFxuICAgICAgICAgICAgLy8gRnJvbSBlbGUuanNvbigpXG4gICAgICAgICAgICBjbGFzc2VzLFxuICAgICAgICAgICAgZGF0YSxcbiAgICAgICAgICAgIGdyYWJiYWJsZSxcbiAgICAgICAgICAgIGdyb3VwLFxuICAgICAgICAgICAgbG9ja2VkLFxuICAgICAgICAgICAgc2VsZWN0YWJsZSxcbiAgICAgICAgICAgIHNlbGVjdGVkLFxuICAgICAgICAgICAgLy8gU3R5bGluZ1xuICAgICAgICAgICAgc3R5bGUsXG4gICAgICAgIH07XG5cbiAgICAgICAgcmV0dXJuIGVkZ2VPYmplY3Q7XG4gICAgfVxuXG4gICAgaGFuZGxlQ3koY3kpIHtcbiAgICAgICAgLy8gSWYgdGhlIGN5IHBvaW50ZXIgaGFzIG5vdCBiZWVuIG1vZGlmaWVkLCBhbmQgaGFuZGxlQ3kgaGFzIGFscmVhZHlcbiAgICAgICAgLy8gYmVlbiBjYWxsZWQgYmVmb3JlLCB0aGFuIHdlIGRvbid0IHJ1biB0aGlzIGZ1bmN0aW9uLlxuICAgICAgICBpZiAoY3kgPT09IHRoaXMuX2N5ICYmIHRoaXMuX2hhbmRsZUN5Q2FsbGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fY3kgPSBjeTtcbiAgICAgICAgd2luZG93LmN5ID0gY3k7XG4gICAgICAgIHRoaXMuX2hhbmRsZUN5Q2FsbGVkID0gdHJ1ZTtcblxuICAgICAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vIENPTlNUQU5UUyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgICAgICBjb25zdCBTRUxFQ1RfVEhSRVNIT0xEID0gMTAwO1xuICAgICAgICBjb25zdCBFWFRFTlRfVEhSRVNIT0xEID0gNTtcblxuICAgICAgICBjb25zdCBzZWxlY3RlZE5vZGVzID0gY3kuY29sbGVjdGlvbigpO1xuICAgICAgICBjb25zdCBzZWxlY3RlZEVkZ2VzID0gY3kuY29sbGVjdGlvbigpO1xuXG4gICAgICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gRlVOQ1RJT05TIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgICAgIGNvbnN0IHJlZnJlc2hMYXlvdXQgPSBfLmRlYm91bmNlKCgpID0+IHtcbiAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICogUmVmcmVzaCBMYXlvdXQgaWYgbmVlZGVkXG4gICAgICAgICAgICAgKi9cbiAgICAgICAgICAgIGNvbnN0IHthdXRvUmVmcmVzaExheW91dCwgbGF5b3V0fSA9IHRoaXMucHJvcHM7XG5cbiAgICAgICAgICAgIGlmIChhdXRvUmVmcmVzaExheW91dCkge1xuICAgICAgICAgICAgICAgIGN5LmxheW91dChsYXlvdXQpLnJ1bigpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LCBTRUxFQ1RfVEhSRVNIT0xEKTtcblxuICAgICAgICBjb25zdCBzZW5kU2VsZWN0ZWROb2Rlc0RhdGEgPSBfLmRlYm91bmNlKCgpID0+IHtcbiAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICAgVGhpcyBmdW5jdGlvbiBpcyByZXBldGl0aXZlbHkgY2FsbGVkIGV2ZXJ5IHRpbWUgYSBub2RlIGlzIHNlbGVjdGVkXG4gICAgICAgICAgICAgICBvciB1bnNlbGVjdGVkLCBidXQga2VlcHMgYmVpbmcgZGVib3VuY2VkIGlmIGl0IGlzIGNhbGxlZCBhZ2FpblxuICAgICAgICAgICAgICAgd2l0aGluIDEwMCBtcyAoZ2l2ZW4gYnkgU0VMRUNUX1RIUkVTSE9MRCkuIEVmZmVjdGl2ZWx5LCBpdCBvbmx5XG4gICAgICAgICAgICAgICBydW5zIHdoZW4gYWxsIHRoZSBub2RlcyBoYXZlIGJlZW4gY29ycmVjdGx5IHNlbGVjdGVkL3Vuc2VsZWN0ZWQgYW5kXG4gICAgICAgICAgICAgICBhZGRlZC9yZW1vdmVkIGZyb20gdGhlIHNlbGVjdGVkTm9kZXMgY29sbGVjdGlvbiwgYW5kIHRoZW4gdXBkYXRlc1xuICAgICAgICAgICAgICAgdGhlIHNlbGVjdGVkTm9kZURhdGEgcHJvcC5cbiAgICAgICAgICAgICAgICovXG4gICAgICAgICAgICBjb25zdCBub2RlRGF0YSA9IHNlbGVjdGVkTm9kZXMubWFwKChlbCkgPT4gZWwuZGF0YSgpKTtcblxuICAgICAgICAgICAgdGhpcy5wcm9wcy5zZXRQcm9wcyh7XG4gICAgICAgICAgICAgICAgc2VsZWN0ZWROb2RlRGF0YTogbm9kZURhdGEsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSwgU0VMRUNUX1RIUkVTSE9MRCk7XG5cbiAgICAgICAgY29uc3Qgc2VuZFNlbGVjdGVkRWRnZXNEYXRhID0gXy5kZWJvdW5jZSgoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBlZGdlRGF0YSA9IHNlbGVjdGVkRWRnZXMubWFwKChlbCkgPT4gZWwuZGF0YSgpKTtcblxuICAgICAgICAgICAgdGhpcy5wcm9wcy5zZXRQcm9wcyh7XG4gICAgICAgICAgICAgICAgc2VsZWN0ZWRFZGdlRGF0YTogZWRnZURhdGEsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSwgU0VMRUNUX1RIUkVTSE9MRCk7XG5cbiAgICAgICAgY29uc3Qgc2V0RXh0ZW50ID0gXy5kZWJvdW5jZSgoY3lFeHRlbnQpID0+IHtcbiAgICAgICAgICAgIHRoaXMucHJvcHMuc2V0UHJvcHMoe1xuICAgICAgICAgICAgICAgIGV4dGVudDogY3lFeHRlbnQsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSwgRVhURU5UX1RIUkVTSE9MRCk7XG5cbiAgICAgICAgLy8gU3RvcmUgdGhlIG9yaWdpbmFsIG1heFpvb20gYW5kIG1pblpvb20gZnVuY3Rpb25zXG4gICAgICAgIGNvbnN0IG9yaWdpbmFsTWF4Wm9vbUZuID0gY3kubWF4Wm9vbTtcbiAgICAgICAgY29uc3Qgb3JpZ2luYWxNaW5ab29tRm4gPSBjeS5taW5ab29tO1xuXG4gICAgICAgIC8vIE92ZXJyaWRlIHRoZSBtYXhab29tIGZ1bmN0aW9uIHRvIHRyaWdnZXIgbWF4Wm9vbUNoYW5nZSBjdXN0b20gZXZlbnRcbiAgICAgICAgY3kubWF4Wm9vbSA9IGZ1bmN0aW9uKGUpIHtcbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRNYXhab29tID0gb3JpZ2luYWxNYXhab29tRm4uY2FsbChjeSwgZSk7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIC8vIFRyaWdnZXIgeW91ciBjdXN0b20gZXZlbnQgaWYgdGhlIGN1cnJlbnQgbWF4IHpvb20gbGV2ZWwgaXMgZGlmZmVyZW50IGZyb20gdGhlIFxuICAgICAgICAgICAgLy8gcHJldmlvdXNseSBzdG9yZWQgbWF4IHpvb20gbGV2ZWxcbiAgICAgICAgICAgIGlmIChjdXJyZW50TWF4Wm9vbSAhPT0gY3kuX3ByZXZpb3VzTWF4Wm9vbSkge1xuICAgICAgICAgICAgICAgIGN5Ll9wcmV2aW91c01heFpvb20gPSBjdXJyZW50TWF4Wm9vbTtcbiAgICAgICAgICAgICAgICBjeS50cmlnZ2VyKCdtaW5NYXhab29tQ2hhbmdlJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gY3VycmVudE1heFpvb207XG4gICAgICAgIH07XG5cbiAgICAgICAgLy8gT3ZlcnJpZGUgdGhlIG1pblpvb20gZnVuY3Rpb24gdG8gdHJpZ2dlciBtaW5ab29tQ2hhbmdlIGN1c3RvbSBldmVudFxuICAgICAgICBjeS5taW5ab29tID0gZnVuY3Rpb24oZSkge1xuICAgICAgICAgICAgY29uc3QgY3VycmVudE1pblpvb20gPSBvcmlnaW5hbE1pblpvb21Gbi5jYWxsKGN5LCBlKTtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgLy8gVHJpZ2dlciB5b3VyIGN1c3RvbSBldmVudCBpZiB0aGUgY3VycmVudCBtaW4gem9vbSBsZXZlbCBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgXG4gICAgICAgICAgICAvLyBwcmV2aW91c2x5IHN0b3JlZCBtaW4gem9vbSBsZXZlbFxuICAgICAgICAgICAgaWYgKGN1cnJlbnRNaW5ab29tICE9PSBjeS5fcHJldmlvdXNNaW5ab29tKSB7XG4gICAgICAgICAgICAgICAgY3kuX3ByZXZpb3VzTWluWm9vbSA9IGN1cnJlbnRNaW5ab29tO1xuICAgICAgICAgICAgICAgIGN5LnRyaWdnZXIoJ21pbk1heFpvb21DaGFuZ2UnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBjdXJyZW50TWluWm9vbTtcbiAgICAgICAgfTtcblxuICAgICAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gRVZFTlRTIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgICAgIGN5Lm9uKCd0YXAnLCAnbm9kZScsIChldmVudCkgPT4ge1xuICAgICAgICAgICAgY29uc3Qgbm9kZU9iamVjdCA9IHRoaXMuZ2VuZXJhdGVOb2RlKGV2ZW50KTtcblxuICAgICAgICAgICAgdGhpcy5wcm9wcy5zZXRQcm9wcyh7XG4gICAgICAgICAgICAgICAgdGFwTm9kZTogbm9kZU9iamVjdCxcbiAgICAgICAgICAgICAgICB0YXBOb2RlRGF0YTogT2JqZWN0LmFzc2lnbih7fSwgbm9kZU9iamVjdC5kYXRhLCB7XG4gICAgICAgICAgICAgICAgICAgIHRpbWVTdGFtcDogbm9kZU9iamVjdC50aW1lU3RhbXAsXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY3kub24oJ3RhcCcsICdlZGdlJywgKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBlZGdlT2JqZWN0ID0gdGhpcy5nZW5lcmF0ZUVkZ2UoZXZlbnQpO1xuXG4gICAgICAgICAgICB0aGlzLnByb3BzLnNldFByb3BzKHtcbiAgICAgICAgICAgICAgICB0YXBFZGdlOiBlZGdlT2JqZWN0LFxuICAgICAgICAgICAgICAgIHRhcEVkZ2VEYXRhOiBPYmplY3QuYXNzaWduKHt9LCBlZGdlT2JqZWN0LmRhdGEsIHtcbiAgICAgICAgICAgICAgICAgICAgdGltZVN0YW1wOiBlZGdlT2JqZWN0LnRpbWVTdGFtcCxcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcblxuICAgICAgICBjeS5vbignbW91c2VvdmVyJywgJ25vZGUnLCAoZXZlbnQpID0+IHtcbiAgICAgICAgICAgIHRoaXMucHJvcHMuc2V0UHJvcHMoe1xuICAgICAgICAgICAgICAgIG1vdXNlb3Zlck5vZGVEYXRhOiBPYmplY3QuYXNzaWduKHt9LCBldmVudC50YXJnZXQuZGF0YSgpLCB7XG4gICAgICAgICAgICAgICAgICAgIHRpbWVTdGFtcDogZXZlbnQudGltZVN0YW1wLFxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGN5Lm9uKCdtb3VzZW92ZXInLCAnZWRnZScsIChldmVudCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5wcm9wcy5zZXRQcm9wcyh7XG4gICAgICAgICAgICAgICAgbW91c2VvdmVyRWRnZURhdGE6IE9iamVjdC5hc3NpZ24oe30sIGV2ZW50LnRhcmdldC5kYXRhKCksIHtcbiAgICAgICAgICAgICAgICAgICAgdGltZVN0YW1wOiBldmVudC50aW1lU3RhbXAsXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY3kub24oJ21vdXNlb3V0JywgJ25vZGUnLCAoXykgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMucHJvcHMuY2xlYXJPblVuaG92ZXIgPT09IHRydWUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnByb3BzLnNldFByb3BzKHttb3VzZW92ZXJOb2RlRGF0YTogbnVsbH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICBjeS5vbignbW91c2VvdXQnLCAnZWRnZScsIChfKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5wcm9wcy5jbGVhck9uVW5ob3ZlciA9PT0gdHJ1ZSkge1xuICAgICAgICAgICAgICAgIHRoaXMucHJvcHMuc2V0UHJvcHMoe1xuICAgICAgICAgICAgICAgICAgICBtb3VzZW92ZXJFZGdlRGF0YTogbnVsbCxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgY3kub24oJ3NlbGVjdCcsICdub2RlJywgKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBlbGUgPSBldmVudC50YXJnZXQ7XG5cbiAgICAgICAgICAgIHNlbGVjdGVkTm9kZXMubWVyZ2UoZWxlKTtcbiAgICAgICAgICAgIHNlbmRTZWxlY3RlZE5vZGVzRGF0YSgpO1xuICAgICAgICB9KTtcblxuICAgICAgICBjeS5vbigndW5zZWxlY3QgcmVtb3ZlJywgJ25vZGUnLCAoZXZlbnQpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGVsZSA9IGV2ZW50LnRhcmdldDtcblxuICAgICAgICAgICAgc2VsZWN0ZWROb2Rlcy51bm1lcmdlKGVsZSk7XG4gICAgICAgICAgICBzZW5kU2VsZWN0ZWROb2Rlc0RhdGEoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY3kub24oJ3NlbGVjdCcsICdlZGdlJywgKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBlbGUgPSBldmVudC50YXJnZXQ7XG5cbiAgICAgICAgICAgIHNlbGVjdGVkRWRnZXMubWVyZ2UoZWxlKTtcbiAgICAgICAgICAgIHNlbmRTZWxlY3RlZEVkZ2VzRGF0YSgpO1xuICAgICAgICB9KTtcblxuICAgICAgICBjeS5vbigndW5zZWxlY3QgcmVtb3ZlJywgJ2VkZ2UnLCAoZXZlbnQpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGVsZSA9IGV2ZW50LnRhcmdldDtcblxuICAgICAgICAgICAgc2VsZWN0ZWRFZGdlcy51bm1lcmdlKGVsZSk7XG4gICAgICAgICAgICBzZW5kU2VsZWN0ZWRFZGdlc0RhdGEoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY3kub24oJ2FkZCByZW1vdmUnLCAoKSA9PiB7XG4gICAgICAgICAgICByZWZyZXNoTGF5b3V0KCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGN5Lm9uKCdkcmFnZnJlZSBhZGQgcmVtb3ZlJywgKF8pID0+IHtcbiAgICAgICAgICAgIHRoaXMucHJvcHMuc2V0UHJvcHMoe1xuICAgICAgICAgICAgICAgIGVsZW1lbnRzOiBjeS5lbGVtZW50cygnJykubWFwKChpdGVtKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChpdGVtLmpzb24oKS5ncm91cCA9PT0gJ25vZGVzJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhOiBpdGVtLmpzb24oKS5kYXRhLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBpdGVtLmpzb24oKS5wb3NpdGlvbixcbiAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE6IGl0ZW0uanNvbigpLmRhdGEsXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogdm9pZCAwLFxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGN5Lm9uKCd2aWV3cG9ydCByZXNpemUnLCAoKSA9PiB7XG4gICAgICAgICAgICBzZXRFeHRlbnQoY3kuZXh0ZW50KCkpO1xuICAgICAgICB9KTtcblxuICAgICAgICAvLyBSZWZyZXNoIGxheW91dCBpZiBjdXJyZW50IHpvb20gaXMgb3V0IG9mIGJvdW5kYXJpZXNcbiAgICAgICAgY3kub24oJ21pbk1heFpvb21DaGFuZ2UnLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICB2YXIgem9vbSA9IGN5Lnpvb20oKTtcbiAgICAgICAgICAgIGlmICh6b29tID4gY3kubWF4Wm9vbSgpIHx8IHpvb20gPCBjeS5taW5ab29tKCkpIHtcbiAgICAgICAgICAgICAgICBjeS5maXQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5jcmVhdGVNZW51SXRlbXMgPSAoY3R4TWVudSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgdXBkYXRlQ29udGV4dE1lbnVEYXRhID0gKG5ld0NvbnRleHQpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnByb3BzLnNldFByb3BzKHtjb250ZXh0TWVudURhdGE6IG5ld0NvbnRleHR9KTtcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBjb25zdCBjb250ZXh0TWVudURlZmF1bHRGdW5jdGlvbnMgPSB7XG4gICAgICAgICAgICAgICAgcmVtb3ZlOiBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IHx8IGV2ZW50LmN5VGFyZ2V0O1xuICAgICAgICAgICAgICAgICAgICB0YXJnZXQucmVtb3ZlKCk7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBhZGRfbm9kZTogZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHBvcyA9IGV2ZW50LnBvc2l0aW9uIHx8IGV2ZW50LmN5UG9zaXRpb247XG4gICAgICAgICAgICAgICAgICAgIGN5LmFkZCh7XG4gICAgICAgICAgICAgICAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JvdXA6ICdub2RlcycsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB4OiBwb3MueCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB5OiBwb3MueSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgYWRkX2VkZ2U6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWROb2RlSWRzID0gc2VsZWN0ZWROb2Rlcy5tYXAoKG5vZGUpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICBub2RlLmlkKClcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHNlbGVjdGVkTm9kZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFcnJvcjogTm8gbm9kZXMgc2VsZWN0ZWQsIGNhbm5vdCBhZGQgZWRnZSdcbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoc2VsZWN0ZWROb2Rlcy5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGN5LmFkZCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZDogdXVpZHY0KCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyb3VwOiAnZWRnZXMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzb3VyY2U6IHNlbGVjdGVkTm9kZUlkc1swXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0OiBzZWxlY3RlZE5vZGVJZHNbMF0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHNlbGVjdGVkTm9kZXMubGVuZ3RoID09PSAyKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjeS5hZGQoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IHV1aWR2NCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBncm91cDogJ2VkZ2VzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc291cmNlOiBzZWxlY3RlZE5vZGVJZHNbMF0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldDogc2VsZWN0ZWROb2RlSWRzWzFdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0Vycm9yOiBtb3JlIHRoYW4gMiBub2RlcyBzZWxlY3RlZCwgY2Fubm90IGFkZCBlZGdlJ1xuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgY29uc3QgbmV3TWVudUl0ZW1zID0gW107XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgY3R4TWVudSkge1xuICAgICAgICAgICAgICAgIGxldCBvbkNsaWNrRnVuY3Rpb247XG4gICAgICAgICAgICAgICAgLy8gcmV0dXJuIGRhdGEgc28gYSB1c2VyIGNhbiBkZWZpbmUgYSBjdXN0b20gb24gY2xpY2sgZnVuY3Rpb24gaW4gUHl0aG9uXG4gICAgICAgICAgICAgICAgLy8gaWYgb25DbGljayBvciBvbiBvbkNsaWNrQ3VzdG9tIGFyZSBub3Qgc3BlY2lmaWVkXG4gICAgICAgICAgICAgICAgb25DbGlja0Z1bmN0aW9uID0gZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIHVwZGF0ZUNvbnRleHRNZW51RGF0YSh7XG4gICAgICAgICAgICAgICAgICAgICAgICBtZW51SXRlbUlkOiBpdGVtLmlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgeDogZXZlbnQucG9zaXRpb24ueCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHk6IGV2ZW50LnBvc2l0aW9uLnksXG4gICAgICAgICAgICAgICAgICAgICAgICB0aW1lU3RhbXA6IGV2ZW50LnRpbWVTdGFtcCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnRJZDogZXZlbnQudGFyZ2V0LmRhdGEoKS5pZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGVkZ2VTb3VyY2U6IGV2ZW50LnRhcmdldC5kYXRhKCkuc291cmNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgZWRnZVRhcmdldDogZXZlbnQudGFyZ2V0LmRhdGEoKS50YXJnZXQsXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgLy8gdXNlIGRlZmF1bHQgamF2YXNjcmlwdCBmdW5jdGlvbiBhcyBvbkNsaWNrRnVuY3Rpb25cbiAgICAgICAgICAgICAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGl0ZW0sICdvbkNsaWNrJykpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHRNZW51RGVmYXVsdEZ1bmN0aW9ucyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtLm9uQ2xpY2tcbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrRnVuY3Rpb24gPVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHRNZW51RGVmYXVsdEZ1bmN0aW9uc1tpdGVtLm9uQ2xpY2tdO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBgb25DbGljayBmdW5jdGlvbiAke2l0ZW0ub25DbGlja30gaXMgbm90IGRlZmluZWRgXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8vIHVzZSB1c2VyLWRlZmluZWQgSmF2YXNjcmlwdCBmdW5jdGlvbiBpbiBhIG5hbWVzcGFjZSB1bmRlciBhc3NldHMvIGFzIG9uQ2xpY2tGdW5jdGlvblxuICAgICAgICAgICAgICAgIGVsc2UgaWYgKFxuICAgICAgICAgICAgICAgICAgICBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoaXRlbSwgJ29uQ2xpY2tDdXN0b20nKVxuICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2luZG93LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkYXNoQ3l0b3NjYXBlRnVuY3Rpb25zJ1xuICAgICAgICAgICAgICAgICAgICAgICAgKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpbmRvdy5kYXNoQ3l0b3NjYXBlRnVuY3Rpb25zLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0ub25DbGlja0N1c3RvbVxuICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2tGdW5jdGlvbiA9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2luZG93LmRhc2hDeXRvc2NhcGVGdW5jdGlvbnNbaXRlbS5vbkNsaWNrQ3VzdG9tXTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYG9uQ2xpY2tDdXN0b20gZnVuY3Rpb24gJHtpdGVtLm9uQ2xpY2tDdXN0b219IGlzIG5vdCBkZWZpbmVkYFxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjb25zdCBuZXdfaXRlbSA9IHtcbiAgICAgICAgICAgICAgICAgICAgaWQ6IGl0ZW0uaWQsXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IGl0ZW0ubGFiZWwsXG4gICAgICAgICAgICAgICAgICAgIHRvb2x0aXBUZXh0OiBpdGVtLnRvb2x0aXBUZXh0LFxuICAgICAgICAgICAgICAgICAgICBzZWxlY3RvcjogJycsXG4gICAgICAgICAgICAgICAgICAgIG9uQ2xpY2tGdW5jdGlvbjogb25DbGlja0Z1bmN0aW9uLFxuICAgICAgICAgICAgICAgICAgICBjb3JlQXNXZWxsOiBmYWxzZSxcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoaXRlbSwgJ2F2YWlsYWJsZU9uJykpIHtcbiAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCBzZWxlY3RvciBvZiBpdGVtLmF2YWlsYWJsZU9uKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoc2VsZWN0b3IgPT09ICdlZGdlJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChuZXdfaXRlbS5zZWxlY3Rvci5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld19pdGVtLnNlbGVjdG9yID0gbmV3X2l0ZW0uc2VsZWN0b3IgKyAnLCAnO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXdfaXRlbS5zZWxlY3RvciA9IG5ld19pdGVtLnNlbGVjdG9yICsgJ2VkZ2UnO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChzZWxlY3RvciA9PT0gJ25vZGUnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG5ld19pdGVtLnNlbGVjdG9yLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3X2l0ZW0uc2VsZWN0b3IgPSBuZXdfaXRlbS5zZWxlY3RvciArICcsICc7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld19pdGVtLnNlbGVjdG9yID0gbmV3X2l0ZW0uc2VsZWN0b3IgKyAnbm9kZSc7XG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHNlbGVjdG9yID09PSAnY2FudmFzJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld19pdGVtLmNvcmVBc1dlbGwgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgRXJyb3I6IHNlbGVjdG9yICR7c2VsZWN0b3J9IGlzIG5vdCBhdmFpbGFibGUuIENob29zZSBvbmUgb2YgJ25vZGUnLCAnZWRnZScgb3IgJ2NhbnZhcycuYFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgbmV3TWVudUl0ZW1zLnB1c2gobmV3X2l0ZW0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIG5ld01lbnVJdGVtcztcbiAgICAgICAgfTtcblxuICAgICAgICB0aGlzLmN5UmVzcG9uc2l2ZUNsYXNzID0gbmV3IEN5UmVzcG9uc2l2ZShjeSk7XG4gICAgICAgIHRoaXMuY3lSZXNwb25zaXZlQ2xhc3MudG9nZ2xlKHRoaXMucHJvcHMucmVzcG9uc2l2ZSk7XG5cbiAgICAgICAgc2V0RXh0ZW50KGN5LmV4dGVudCgpKTtcbiAgICB9XG5cbiAgICBoYW5kbGVJbWFnZUdlbmVyYXRpb24oaW1hZ2VUeXBlLCBpbWFnZU9wdGlvbnMsIGFjdGlvbnNUb1BlcmZvcm0sIGZpbGVOYW1lKSB7XG4gICAgICAgIGxldCBvcHRpb25zID0ge307XG4gICAgICAgIGlmIChpbWFnZU9wdGlvbnMpIHtcbiAgICAgICAgICAgIG9wdGlvbnMgPSBpbWFnZU9wdGlvbnM7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgZGVzaXJlZE91dHB1dCA9IG9wdGlvbnMub3V0cHV0O1xuICAgICAgICBvcHRpb25zLm91dHB1dCA9ICdibG9iJztcblxuICAgICAgICBsZXQgZG93bmxvYWRJbWFnZTtcbiAgICAgICAgbGV0IHN0b3JlSW1hZ2U7XG4gICAgICAgIHN3aXRjaCAoYWN0aW9uc1RvUGVyZm9ybSkge1xuICAgICAgICAgICAgY2FzZSAnc3RvcmUnOlxuICAgICAgICAgICAgICAgIGRvd25sb2FkSW1hZ2UgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICBzdG9yZUltYWdlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ2Rvd25sb2FkJzpcbiAgICAgICAgICAgICAgICBkb3dubG9hZEltYWdlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBzdG9yZUltYWdlID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdib3RoJzpcbiAgICAgICAgICAgICAgICBkb3dubG9hZEltYWdlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBzdG9yZUltYWdlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgZG93bmxvYWRJbWFnZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHN0b3JlSW1hZ2UgPSB0cnVlO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IG91dHB1dDtcbiAgICAgICAgaWYgKGltYWdlVHlwZSA9PT0gJ3BuZycpIHtcbiAgICAgICAgICAgIG91dHB1dCA9IHRoaXMuX2N5LnBuZyhvcHRpb25zKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaW1hZ2VUeXBlID09PSAnanBnJyB8fCBpbWFnZVR5cGUgPT09ICdqcGVnJykge1xuICAgICAgICAgICAgb3V0cHV0ID0gdGhpcy5fY3kuanBnKG9wdGlvbnMpO1xuICAgICAgICB9XG4gICAgICAgIC8vIG9ubHkgd29ya3Mgd2hlbiBzdmcgaXMgaW1wb3J0ZWQgKHNlZSBsaWIvZXh0cmFfaW5kZXguanMpXG4gICAgICAgIGlmIChpbWFnZVR5cGUgPT09ICdzdmcnKSB7XG4gICAgICAgICAgICBvdXRwdXQgPSB0aGlzLl9jeS5zdmcob3B0aW9ucyk7XG4gICAgICAgIH1cblxuICAgICAgICAvKlxuICAgICAgICAgKiBJZiBvdXRwdXQgaXMgZW1wdHkgYmVjYXVzZSBvZiBiYWQgb3B0aW9ucyBvciBhIGN5dG9zY2FwZSBlcnJvcixcbiAgICAgICAgICogc2tpcCBhbnkgZG93bmxvYWQgb3Igc3RvcmFnZSBzdGVwcy5cbiAgICAgICAgICovXG4gICAgICAgIGlmIChvdXRwdXQgJiYgZG93bmxvYWRJbWFnZSkge1xuICAgICAgICAgICAgLypcbiAgICAgICAgICAgICAqIERvd25sb2FkaW5nIGlzIGluaXRpYXRlZCBjbGllbnQtc2lkZSBiZWNhdXNlIHRoZSBpbWFnZSBpcyBnZW5lcmF0ZWQgYXRcbiAgICAgICAgICAgICAqIHRoZSBjbGllbnQuIFRoaXMgYXZvaWRzIHRyYW5zZmVycmluZyBhIHBvdGVudGlhbGx5IGxhcmdlIGltYWdlXG4gICAgICAgICAgICAgKiB0byB0aGUgc2VydmVyIGFuZCBiYWNrIGFnYWluIHRocm91Z2ggYSBjYWxsYmFjay5cbiAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgbGV0IGZOYW1lID0gZmlsZU5hbWU7XG4gICAgICAgICAgICBpZiAoIWZpbGVOYW1lKSB7XG4gICAgICAgICAgICAgICAgZk5hbWUgPSAnY3l0byc7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChpbWFnZVR5cGUgIT09ICdzdmcnKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5kb3dubG9hZEJsb2Iob3V0cHV0LCBmTmFtZSArICcuJyArIGltYWdlVHlwZSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnN0IGJsb2IgPSBuZXcgQmxvYihbb3V0cHV0XSwge1xuICAgICAgICAgICAgICAgICAgICB0eXBlOiAnaW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04JyxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB0aGlzLmRvd25sb2FkQmxvYihibG9iLCBmTmFtZSArICcuJyArIGltYWdlVHlwZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAob3V0cHV0ICYmIHN0b3JlSW1hZ2UpIHtcbiAgICAgICAgICAgIC8vIERlZmF1bHQgb3V0cHV0IHR5cGUgaWYgdW5zcGVjaWZpZWRcbiAgICAgICAgICAgIGlmICghZGVzaXJlZE91dHB1dCkge1xuICAgICAgICAgICAgICAgIGRlc2lyZWRPdXRwdXQgPSAnYmFzZTY0dXJpJztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICEoZGVzaXJlZE91dHB1dCA9PT0gJ2Jhc2U2NHVyaScgfHwgZGVzaXJlZE91dHB1dCA9PT0gJ2Jhc2U2NCcpXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8qXG4gICAgICAgICAgICAgKiBDb252ZXJ0IGJsb2IgdG8gYmFzZTY0dXJpIG9yIGJhc2U2NCBzdHJpbmcgdG8gc3RvcmUgdGhlIGltYWdlIGRhdGEuXG4gICAgICAgICAgICAgKiBUaGFuayB5b3UsIGJhc2U2NGd1cnUgaHR0cHM6Ly9iYXNlNjQuZ3VydS9kZXZlbG9wZXJzL2phdmFzY3JpcHQvZXhhbXBsZXMvZW5jb2RlLWJsb2JcbiAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgY29uc3QgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcbiAgICAgICAgICAgIHJlYWRlci5vbmxvYWQgPSAoKSA9PiB7XG4gICAgICAgICAgICAgICAgLyogRmlsZVJlYWRlciBpcyBhc3luY2hyb25vdXMsIHNvIHRoZSByZWFkIGZ1bmN0aW9uIGlzIG5vbi1ibG9ja2luZy5cbiAgICAgICAgICAgICAgICAgKiBJZiB0aGlzIGNvZGUgYmxvY2sgaXMgcGxhY2VkIGFmdGVyIHRoZSByZWFkIGNvbW1hbmQsIGl0XG4gICAgICAgICAgICAgICAgICogbWF5IHJlc3VsdCBpbiBlbXB0eSBvdXRwdXQgYmVjYXVzZSB0aGUgYmxvYiBoYXMgbm90IGJlZW4gbG9hZGVkIHlldC5cbiAgICAgICAgICAgICAgICAgKi9cbiAgICAgICAgICAgICAgICBsZXQgY2FsbGJhY2tEYXRhID0gcmVhZGVyLnJlc3VsdDtcbiAgICAgICAgICAgICAgICBpZiAoZGVzaXJlZE91dHB1dCA9PT0gJ2Jhc2U2NCcpIHtcbiAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2tEYXRhID0gY2FsbGJhY2tEYXRhLnJlcGxhY2UoL15kYXRhOi4rO2Jhc2U2NCwvLCAnJyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMucHJvcHMuc2V0UHJvcHMoe2ltYWdlRGF0YTogY2FsbGJhY2tEYXRhfSk7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgcmVhZGVyLnJlYWRBc0RhdGFVUkwob3V0cHV0KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGRvd25sb2FkQmxvYihibG9iLCBmaWxlTmFtZSkge1xuICAgICAgICAvKlxuICAgICAgICAgKiBEb3dubG9hZCBibG9iIGFzIGZpbGUgYnkgZHluYW1pY2FsbHkgY3JlYXRpbmcgbGluay5cbiAgICAgICAgICogQ2hyb21lIGRvZXMgbm90IG9wZW4gZGF0YSBVUkxzIHdoZW4gSlMgb3BlbnMgYSBuZXcgdGFiIGRpcmVjdGVkXG4gICAgICAgICAqIGF0IHRoZSBkYXRhIFVSTCwgc28gdGhpcyBpcyBhbiBhbHRlcm5hdGUgaW1wbGVtZW50YXRpb25cbiAgICAgICAgICogdGhhdCBkb2Vzbid0IHJlcXVpcmUgZXh0cmEgcGFja2FnZXMuIEl0IG1heSBub3QgYmVoYXZlIGluXG4gICAgICAgICAqIGV4YWN0bHkgdGhlIHNhbWUgd2F5IGFjcm9zcyBicm93c2VycyAobWlnaHQgZGlzcGxheSBpbWFnZSBpbiBuZXcgdGFiXG4gICAgICAgICAqIGludGVhZCBvZiBkb3dubG9hZGluZyBhcyBhIGZpbGUpLlxuICAgICAgICAgKiBUaGFuayB5b3UsIGtvbGRldiBodHRwczovL2pzZmlkZGxlLm5ldC9rb2xkZXYvY1c3VzUvXG4gICAgICAgICAqL1xuICAgICAgICBjb25zdCBkb3dubG9hZExpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XG4gICAgICAgIGRvd25sb2FkTGluay5zdHlsZSA9ICdkaXNwbGF5OiBub25lJztcbiAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkb3dubG9hZExpbmspO1xuXG4gICAgICAgIGNvbnN0IHVybCA9IHdpbmRvdy5VUkwuY3JlYXRlT2JqZWN0VVJMKGJsb2IpO1xuICAgICAgICBkb3dubG9hZExpbmsuaHJlZiA9IHVybDtcbiAgICAgICAgZG93bmxvYWRMaW5rLmRvd25sb2FkID0gZmlsZU5hbWU7XG4gICAgICAgIGRvd25sb2FkTGluay5jbGljaygpO1xuICAgICAgICB3aW5kb3cuVVJMLnJldm9rZU9iamVjdFVSTCh1cmwpO1xuXG4gICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoZG93bmxvYWRMaW5rKTtcbiAgICB9XG5cbiAgICB1cGRhdGVDb250ZXh0TWVudShjb250ZXh0TWVudSkge1xuICAgICAgICB0aGlzLl9jeS5jb250ZXh0TWVudXMoe1xuICAgICAgICAgICAgbWVudUl0ZW1zOiB0aGlzLmNyZWF0ZU1lbnVJdGVtcyhjb250ZXh0TWVudSksXG4gICAgICAgICAgICBtZW51SXRlbUNsYXNzZXM6IFsnY3VzdG9tLW1lbnUtaXRlbSddLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvLyBSZXR1cm5zIHRydWUgaWYgdGhlcmUgaXMgbm8gb3ZlcmxhcCBiZXR3ZWVuIHRoZSBlbGVtZW50IGJvdW5kaW5nIGJveFxuICAgIC8vIGFuZCB0aGUgcmVuZGVyZWQgYXJlYSBvZiB0aGUgZ3JhcGgsIG1lYW5pbmcgdGhlIGdyYXBoIGlzIGVudGlyZWx5IG91dHNpZGUgdGhlIHZpZXdwb3J0O1xuICAgIC8vIHJldHVybnMgZmFsc2Ugb3RoZXJ3aXNlXG4gICAgZ3JhcGhPdXRPZlZpZXcoKSB7XG4gICAgICAgIGNvbnN0IGN5V2lkdGggPSB0aGlzLl9jeS53aWR0aCgpO1xuICAgICAgICBjb25zdCBjeUhlaWdodCA9IHRoaXMuX2N5LmhlaWdodCgpO1xuICAgICAgICBjb25zdCBlbEJveCA9IHRoaXMuX2N5LmVsZW1lbnRzKCkucmVuZGVyZWRCb3VuZGluZ2JveCgpO1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgZWxCb3gueDEgPiBjeVdpZHRoIHx8XG4gICAgICAgICAgICBlbEJveC55MSA+IGN5SGVpZ2h0IHx8XG4gICAgICAgICAgICBlbEJveC54MiA8IDAgfHxcbiAgICAgICAgICAgIGVsQm94LnkyIDwgMFxuICAgICAgICApO1xuICAgIH1cblxuICAgIGNvbXBvbmVudERpZFVwZGF0ZShwcmV2UHJvcHMpIHtcbiAgICAgICAgY29uc3Qge2NvbnRleHRNZW51LCBlbGVtZW50c30gPSB0aGlzLnByb3BzO1xuICAgICAgICBpZiAoIV8uaXNFcXVhbChwcmV2UHJvcHMuY29udGV4dE1lbnUsIGNvbnRleHRNZW51KSAmJiB0aGlzLl9jeSkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVDb250ZXh0TWVudShjb250ZXh0TWVudSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFfLmlzRXF1YWwocHJldlByb3BzLmVsZW1lbnRzLCBlbGVtZW50cykgJiYgdGhpcy5fY3kpIHtcbiAgICAgICAgICAgIC8vIElmIGVsZW1lbnRzIHdlcmUgdXBkYXRlZCwgYW5kIHRoZSBuZXcgZ3JhcGggaXMgKmVudGlyZWx5KiBvdXRzaWRlIHRoZSB2aWV3cG9ydCxcbiAgICAgICAgICAgIC8vIGZpdCB0aGUgdmlld3BvcnQgdG8gdGhlIG5ldyBlbGVtZW50c1xuICAgICAgICAgICAgaWYgKHRoaXMuZ3JhcGhPdXRPZlZpZXcoKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuX2N5LmZpdCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgICAgICBjb25zdCB7Y29udGV4dE1lbnV9ID0gdGhpcy5wcm9wcztcbiAgICAgICAgaWYgKHRoaXMuX2N5ICYmIGNvbnRleHRNZW51Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlQ29udGV4dE1lbnUoY29udGV4dE1lbnUpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJlbmRlcigpIHtcbiAgICAgICAgY29uc3Qge1xuICAgICAgICAgICAgLy8gSFRNTCBhdHRyaWJ1dGUgcHJvcHNcbiAgICAgICAgICAgIGlkLFxuICAgICAgICAgICAgc3R5bGUsXG4gICAgICAgICAgICBjbGFzc05hbWUsXG4gICAgICAgICAgICAvLyBDb21tb24gcHJvcHNcbiAgICAgICAgICAgIGVsZW1lbnRzLFxuICAgICAgICAgICAgc3R5bGVzaGVldCxcbiAgICAgICAgICAgIGxheW91dCxcbiAgICAgICAgICAgIGNvbnRleHRNZW51LFxuICAgICAgICAgICAgY29udGV4dE1lbnVEYXRhLFxuICAgICAgICAgICAgLy8gVmlld3BvcnQgTWFuaXB1bGF0aW9uXG4gICAgICAgICAgICBwYW4sXG4gICAgICAgICAgICB6b29tLFxuICAgICAgICAgICAgLy8gVmlld3BvcnQgTXV0YWJpbGl0eSBhbmQgZ2VzdHVyZSBUb2dnbGluZ1xuICAgICAgICAgICAgcGFubmluZ0VuYWJsZWQsXG4gICAgICAgICAgICB1c2VyUGFubmluZ0VuYWJsZWQsXG4gICAgICAgICAgICBtaW5ab29tLFxuICAgICAgICAgICAgbWF4Wm9vbSxcbiAgICAgICAgICAgIHpvb21pbmdFbmFibGVkLFxuICAgICAgICAgICAgdXNlclpvb21pbmdFbmFibGVkLFxuICAgICAgICAgICAgd2hlZWxTZW5zaXRpdml0eSxcbiAgICAgICAgICAgIGJveFNlbGVjdGlvbkVuYWJsZWQsXG4gICAgICAgICAgICBhdXRvdW5ncmFiaWZ5LFxuICAgICAgICAgICAgYXV0b2xvY2ssXG4gICAgICAgICAgICBhdXRvdW5zZWxlY3RpZnksXG4gICAgICAgICAgICAvLyBJbWFnZSBoYW5kbGluZ1xuICAgICAgICAgICAgZ2VuZXJhdGVJbWFnZSxcbiAgICAgICAgICAgIC8vIFJlc3BvbnNpdmUgZ3JhcGhzXG4gICAgICAgICAgICByZXNwb25zaXZlLFxuICAgICAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgICAgICBpZiAoT2JqZWN0LmtleXMoZ2VuZXJhdGVJbWFnZSkubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgLy8gSWYgbm8gY3l0b3NjYXBlIG9iamVjdCBoYXMgYmVlbiBjcmVhdGVkIHlldCwgYW4gaW1hZ2UgY2Fubm90IGJlIGdlbmVyYXRlZCxcbiAgICAgICAgICAgIC8vIHNvIGdlbmVyYXRlSW1hZ2Ugd2lsbCBiZSBpZ25vcmVkIGFuZCBjbGVhcmVkLlxuICAgICAgICAgICAgdGhpcy5wcm9wcy5zZXRQcm9wcyh7Z2VuZXJhdGVJbWFnZToge319KTtcbiAgICAgICAgICAgIGlmICh0aGlzLl9jeSkge1xuICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlSW1hZ2VHZW5lcmF0aW9uKFxuICAgICAgICAgICAgICAgICAgICBnZW5lcmF0ZUltYWdlLnR5cGUsXG4gICAgICAgICAgICAgICAgICAgIGdlbmVyYXRlSW1hZ2Uub3B0aW9ucyxcbiAgICAgICAgICAgICAgICAgICAgZ2VuZXJhdGVJbWFnZS5hY3Rpb24sXG4gICAgICAgICAgICAgICAgICAgIGdlbmVyYXRlSW1hZ2UuZmlsZW5hbWVcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuY3lSZXNwb25zaXZlQ2xhc3MpIHtcbiAgICAgICAgICAgIHRoaXMuY3lSZXNwb25zaXZlQ2xhc3MudG9nZ2xlKHJlc3BvbnNpdmUpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDxDeXRvc2NhcGVDb21wb25lbnRcbiAgICAgICAgICAgICAgICBpZD17aWR9XG4gICAgICAgICAgICAgICAgY3k9e3RoaXMuaGFuZGxlQ3l9XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWV9XG4gICAgICAgICAgICAgICAgc3R5bGU9e3N0eWxlfVxuICAgICAgICAgICAgICAgIGVsZW1lbnRzPXtDeXRvc2NhcGVDb21wb25lbnQubm9ybWFsaXplRWxlbWVudHMoZWxlbWVudHMpfVxuICAgICAgICAgICAgICAgIHN0eWxlc2hlZXQ9e3N0eWxlc2hlZXR9XG4gICAgICAgICAgICAgICAgbGF5b3V0PXtsYXlvdXR9XG4gICAgICAgICAgICAgICAgY29udGV4dE1lbnU9e2NvbnRleHRNZW51fVxuICAgICAgICAgICAgICAgIGNvbnRleHRNZW51RGF0YT17Y29udGV4dE1lbnVEYXRhfVxuICAgICAgICAgICAgICAgIHBhbj17cGFufVxuICAgICAgICAgICAgICAgIHpvb209e3pvb219XG4gICAgICAgICAgICAgICAgcGFubmluZ0VuYWJsZWQ9e3Bhbm5pbmdFbmFibGVkfVxuICAgICAgICAgICAgICAgIHVzZXJQYW5uaW5nRW5hYmxlZD17dXNlclBhbm5pbmdFbmFibGVkfVxuICAgICAgICAgICAgICAgIG1pblpvb209e21pblpvb219XG4gICAgICAgICAgICAgICAgbWF4Wm9vbT17bWF4Wm9vbX1cbiAgICAgICAgICAgICAgICB6b29taW5nRW5hYmxlZD17em9vbWluZ0VuYWJsZWR9XG4gICAgICAgICAgICAgICAgdXNlclpvb21pbmdFbmFibGVkPXt1c2VyWm9vbWluZ0VuYWJsZWR9XG4gICAgICAgICAgICAgICAgd2hlZWxTZW5zaXRpdml0eT17d2hlZWxTZW5zaXRpdml0eX1cbiAgICAgICAgICAgICAgICBib3hTZWxlY3Rpb25FbmFibGVkPXtib3hTZWxlY3Rpb25FbmFibGVkfVxuICAgICAgICAgICAgICAgIGF1dG91bmdyYWJpZnk9e2F1dG91bmdyYWJpZnl9XG4gICAgICAgICAgICAgICAgYXV0b2xvY2s9e2F1dG9sb2NrfVxuICAgICAgICAgICAgICAgIGF1dG91bnNlbGVjdGlmeT17YXV0b3Vuc2VsZWN0aWZ5fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgKTtcbiAgICB9XG59XG5cbkN5dG9zY2FwZS5wcm9wVHlwZXMgPSB7XG4gICAgLy8gSFRNTCBhdHRyaWJ1dGUgcHJvcHNcblxuICAgIC8qKlxuICAgICAqIFRoZSBJRCB1c2VkIHRvIGlkZW50aWZ5IHRoaXMgY29tcG9uZW50IGluIERhc2ggY2FsbGJhY2tzLlxuICAgICAqL1xuICAgIGlkOiBQcm9wVHlwZXMuc3RyaW5nLFxuXG4gICAgLyoqXG4gICAgICogU2V0cyB0aGUgY2xhc3MgbmFtZSBvZiB0aGUgZWxlbWVudCAodGhlIHZhbHVlIG9mIGFuIGVsZW1lbnQncyBodG1sXG4gICAgICogY2xhc3MgYXR0cmlidXRlKS5cbiAgICAgKi9cbiAgICBjbGFzc05hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG5cbiAgICAvKipcbiAgICAgKiBBZGQgaW5saW5lIHN0eWxlcyB0byB0aGUgcm9vdCBlbGVtZW50LlxuICAgICAqL1xuICAgIHN0eWxlOiBQcm9wVHlwZXMub2JqZWN0LFxuXG4gICAgLy8gRGFzaCBzcGVjaWZpYyBwcm9wc1xuXG4gICAgLyoqXG4gICAgICogRGFzaC1hc3NpZ25lZCBjYWxsYmFjayB0aGF0IHNob3VsZCBiZSBjYWxsZWQgd2hlbmV2ZXIgYW55IG9mIHRoZVxuICAgICAqIHByb3BlcnRpZXMgY2hhbmdlLlxuICAgICAqL1xuICAgIHNldFByb3BzOiBQcm9wVHlwZXMuZnVuYyxcblxuICAgIC8vIENvbW1vbiBwcm9wc1xuXG4gICAgLyoqXG4gICAgICogQSBsaXN0IG9mIGRpY3Rpb25hcmllcyByZXByZXNlbnRpbmcgdGhlIGVsZW1lbnRzIG9mIHRoZSBuZXR3b3Jrcy4gRWFjaCBkaWN0aW9uYXJ5IGRlc2NyaWJlcyBhbiBlbGVtZW50LCBhbmRcbiAgICAgKiBzcGVjaWZpZXMgaXRzIHB1cnBvc2UuIFRoZSBbb2ZmaWNpYWwgQ3l0b3NjYXBlLmpzIGRvY3VtZW50YXRpb25dKGh0dHBzOi8vanMuY3l0b3NjYXBlLm9yZy8jbm90YXRpb24vZWxlbWVudHMtanNvbilcbiAgICAgKiBvZmZlcnMgYW4gZXh0ZW5zaXZlIG92ZXJ2aWV3IGFuZCBleGFtcGxlcyBvZiBlbGVtZW50IGRlY2xhcmF0aW9uLlxuICAgICAqIEFsdGVybmF0aXZlbHksIGEgZGljdGlvbmFyeSB3aXRoIHRoZSBmb3JtYXQgeyAnbm9kZXMnOiBbXSwgJ2VkZ2VzJzogW10gfSBpcyBhbGxvd2VkIGF0IGluaXRpYWxpemF0aW9uLFxuICAgICAqIGJ1dCBhcnJheXMgcmVtYWluIHRoZSByZWNvbW1lbmRlZCBmb3JtYXQuXG4gICAgICovXG4gICAgZWxlbWVudHM6IFByb3BUeXBlcy5vbmVPZlR5cGUoW1xuICAgICAgICBQcm9wVHlwZXMuYXJyYXlPZihcbiAgICAgICAgICAgIFByb3BUeXBlcy5zaGFwZSh7XG4gICAgICAgICAgICAgICAgLyoqXG4gICAgICAgICAgICAgICAgICogRWl0aGVyICdub2Rlcycgb3IgJ2VkZ2VzJy4gSWYgbm90IGdpdmVuLCBpdCdzIGF1dG9tYXRpY2FsbHkgaW5mZXJyZWQuXG4gICAgICAgICAgICAgICAgICovXG4gICAgICAgICAgICAgICAgZ3JvdXA6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICAgICAgICAgICAgLyoqIEVsZW1lbnQgc3BlY2lmaWMgZGF0YS4qL1xuICAgICAgICAgICAgICAgIGRhdGE6IFByb3BUeXBlcy5zaGFwZSh7XG4gICAgICAgICAgICAgICAgICAgIC8qKiAgUmVmZXJlbmNlIHRvIHRoZSBlbGVtZW50LCB1c2VmdWwgZm9yIHNlbGVjdG9ycyBhbmQgZWRnZXMuIFJhbmRvbWx5IGFzc2lnbmVkIGlmIG5vdCBnaXZlbi4qL1xuICAgICAgICAgICAgICAgICAgICBpZDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgICAgICAgICAgICAgICAgLyoqXG4gICAgICAgICAgICAgICAgICAgICAqIE9wdGlvbmFsIG5hbWUgZm9yIHRoZSBlbGVtZW50LCB1c2VmdWwgd2hlbiBgZGF0YShsYWJlbClgIGlzIGdpdmVuIHRvIGEgc3R5bGUncyBgY29udGVudGBcbiAgICAgICAgICAgICAgICAgICAgICogb3IgYGxhYmVsYC4gSXQgaXMgb25seSBhIGNvbnZlbnRpb24uICovXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICAgICAgICAgICAgICAvKiogT25seSBmb3Igbm9kZXMuIE9wdGlvbmFsIHJlZmVyZW5jZSB0byBhbm90aGVyIG5vZGUuIE5lZWRlZCB0byBjcmVhdGUgY29tcG91bmQgbm9kZXMuICovXG4gICAgICAgICAgICAgICAgICAgIHBhcmVudDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgICAgICAgICAgICAgICAgLyoqIE9ubHkgZm9yIGVkZ2VzLiBUaGUgaWQgb2YgdGhlIHNvdXJjZSBub2RlLCB3aGljaCBpcyB3aGVyZSB0aGUgZWRnZSBzdGFydHMuICovXG4gICAgICAgICAgICAgICAgICAgIHNvdXJjZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgICAgICAgICAgICAgICAgLyoqIE9ubHkgZm9yIGVkZ2VzLiBUaGUgaWQgb2YgdGhlIHRhcmdldCBub2RlLCB3aGVyZSB0aGUgZWRnZSBlbmRzLiAqL1xuICAgICAgICAgICAgICAgICAgICB0YXJnZXQ6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgLyoqIE9ubHkgZm9yIG5vZGVzLiBUaGUgcG9zaXRpb24gb2YgdGhlIG5vZGUuICovXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IFByb3BUeXBlcy5zaGFwZSh7XG4gICAgICAgICAgICAgICAgICAgIC8qKiBUaGUgeC1jb29yZGluYXRlIG9mIHRoZSBub2RlLiAqL1xuICAgICAgICAgICAgICAgICAgICB4OiBQcm9wVHlwZXMubnVtYmVyLFxuICAgICAgICAgICAgICAgICAgICAvKiogVGhlIHktY29vcmRpbmF0ZSBvZiB0aGUgbm9kZS4gKi9cbiAgICAgICAgICAgICAgICAgICAgeTogUHJvcFR5cGVzLm51bWJlcixcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAvKiogSWYgdGhlIGVsZW1lbnQgaXMgc2VsZWN0ZWQgdXBvbiBpbml0aWFsaXNhdGlvbi4gKi9cbiAgICAgICAgICAgICAgICBzZWxlY3RlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgICAgICAgICAgICAgLyoqIElmIHRoZSBlbGVtZW50IGNhbiBiZSBzZWxlY3RlZC4gKi9cbiAgICAgICAgICAgICAgICBzZWxlY3RhYmxlOiBQcm9wVHlwZXMuYm9vbCxcbiAgICAgICAgICAgICAgICAvKiogT25seSBmb3Igbm9kZXMuIElmIHRoZSBwb3NpdGlvbiBpcyBpbW11dGFibGUuICovXG4gICAgICAgICAgICAgICAgbG9ja2VkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICAgICAgICAgICAgICAvKiogT25seSBmb3Igbm9kZXMuIElmIHRoZSBub2RlIGNhbiBiZSBncmFiYmVkIGFuZCBtb3ZlZCBieSB0aGUgdXNlci4gKi9cbiAgICAgICAgICAgICAgICBncmFiYmFibGU6IFByb3BUeXBlcy5ib29sLFxuICAgICAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICAgICAqIFNwYWNlIHNlcGFyYXRlZCBzdHJpbmcgb2YgY2xhc3MgbmFtZXMgb2YgdGhlIGVsZW1lbnQuIFRob3NlIGNsYXNzZXMgY2FuIGJlIHNlbGVjdGVkXG4gICAgICAgICAgICAgICAgICogYnkgYSBzdHlsZSBzZWxlY3Rvci5cbiAgICAgICAgICAgICAgICAgKi9cbiAgICAgICAgICAgICAgICBjbGFzc2VzOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgKSxcbiAgICAgICAgUHJvcFR5cGVzLmV4YWN0KHtcbiAgICAgICAgICAgIG5vZGVzOiBQcm9wVHlwZXMuYXJyYXksXG4gICAgICAgICAgICBlZGdlczogUHJvcFR5cGVzLmFycmF5LFxuICAgICAgICB9KSxcbiAgICBdKSxcblxuICAgIC8qKlxuICAgICAqIEEgbGlzdCBvZiBkaWN0aW9uYXJpZXMgcmVwcmVzZW50aW5nIHRoZSBzdHlsZXMgb2YgdGhlIGVsZW1lbnRzLlxuICAgICAqIEVhY2ggZGljdGlvbmFyeSByZXF1aXJlcyB0aGUgZm9sbG93aW5nIGtleXM6IGBzZWxlY3RvcmAgYW5kIGBzdHlsZWAuXG4gICAgICpcbiAgICAgKiBCb3RoIHRoZSBbc2VsZWN0b3JdKGh0dHBzOi8vanMuY3l0b3NjYXBlLm9yZy8jc2VsZWN0b3JzKSBhbmRcbiAgICAgKiB0aGUgW3N0eWxlXShodHRwczovL2pzLmN5dG9zY2FwZS5vcmcvI3N0eWxlL25vZGUtYm9keSkgYXJlXG4gICAgICogZXhoYXVzdGl2ZWx5IGRvY3VtZW50ZWQgaW4gdGhlIEN5dG9zY2FwZS5qcyBkb2NzLiBBbHRob3VnaCBtZXRob2RzIHN1Y2hcbiAgICAgKiBhcyBgY3kuZWxlbWVudHMoLi4uKWAgYW5kIGBjeS5maWx0ZXIoLi4uKWAgYXJlIG5vdCBhdmFpbGFibGUsIHRoZSBzZWxlY3RvclxuICAgICAqIHN0cmluZyBzeW50YXggc3RheXMgdGhlIHNhbWUuXG4gICAgICovXG4gICAgc3R5bGVzaGVldDogUHJvcFR5cGVzLmFycmF5T2YoXG4gICAgICAgIFByb3BUeXBlcy5leGFjdCh7XG4gICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAqIFdoaWNoIGVsZW1lbnRzIHlvdSBhcmUgc3R5bGluZy4gR2VuZXJhbGx5LCB5b3Ugc2VsZWN0IGEgZ3JvdXAgb2YgZWxlbWVudHMgKG5vZGUsIGVkZ2VzLCBib3RoKSxcbiAgICAgICAgICAgICAqIGEgY2xhc3MgKHRoYXQgeW91IGRlY2xhcmUgaW4gdGhlIGVsZW1lbnQgZGljdGlvbmFyeSksIG9yIGFuIGVsZW1lbnQgYnkgSUQuXG4gICAgICAgICAgICAgKi9cbiAgICAgICAgICAgIHNlbGVjdG9yOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAqIFdoYXQgYXNwZWN0cyBvZiB0aGUgZWxlbWVudHMgeW91IHdhbnQgdG8gbW9kaWZ5LiBUaGlzIGNvdWxkIGJlIHRoZSBzaXplIG9yXG4gICAgICAgICAgICAgKiBjb2xvciBvZiBhIG5vZGUsIHRoZSBzaGFwZSBvZiBhbiBlZGdlIGFycm93LCBvciBtYW55IG1vcmUuXG4gICAgICAgICAgICAgKi9cbiAgICAgICAgICAgIHN0eWxlOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWQsXG4gICAgICAgIH0pXG4gICAgKSxcblxuICAgIC8qKlxuICAgICAqIEEgZGljdGlvbmFyeSBzcGVjaWZ5aW5nIGhvdyB0byBzZXQgdGhlIHBvc2l0aW9uIG9mIHRoZSBlbGVtZW50cyBpbiB5b3VyXG4gICAgICogZ3JhcGguIFRoZSBgJ25hbWUnYCBrZXkgaXMgcmVxdWlyZWQsIGFuZCBpbmRpY2F0ZXMgd2hpY2ggbGF5b3V0IChhbGdvcml0aG0pIHRvXG4gICAgICogdXNlLiBUaGUga2V5cyBhY2NlcHRlZCBieSBgbGF5b3V0YCB2YXJ5IGRlcGVuZGluZyBvbiB0aGUgYWxnb3JpdGhtLCBidXQgdGhlc2VcbiAgICAgKiBrZXlzIGFyZSBhY2NlcHRlZCBieSBhbGwgbGF5b3V0czogYGZpdGAsICBgcGFkZGluZ2AsIGBhbmltYXRlYCwgYGFuaW1hdGlvbkR1cmF0aW9uYCxcbiAgICAgKiBgYm91bmRpbmdCb3hgLlxuICAgICAqXG4gICAgICogIFRoZSBjb21wbGV0ZSBsaXN0IG9mIGxheW91dHMgYW5kIHRoZWlyIGFjY2VwdGVkIG9wdGlvbnMgYXJlIGF2YWlsYWJsZSBvbiB0aGVcbiAgICAgKiAgW0N5dG9zY2FwZS5qcyBkb2NzXShodHRwczovL2pzLmN5dG9zY2FwZS5vcmcvI2xheW91dHMpIC4gRm9yIHRoZSBleHRlcm5hbCBsYXlvdXRzLFxuICAgICAqIHRoZSBvcHRpb25zIGFyZSBsaXN0ZWQgaW4gdGhlIFwiQVBJXCIgc2VjdGlvbiBvZiB0aGUgIFJFQURNRS5cbiAgICAgKiAgTm90ZSB0aGF0IGNlcnRhaW4ga2V5cyBhcmUgbm90IHN1cHBvcnRlZCBpbiBEYXNoIHNpbmNlIHRoZSB2YWx1ZSBpcyBhIEphdmFTY3JpcHRcbiAgICAgKiAgZnVuY3Rpb24gb3IgYSBjYWxsYmFjay4gUGxlYXNlIHZpc2l0IHRoaXNcbiAgICAgKiBbaXNzdWVdKGh0dHBzOi8vZ2l0aHViLmNvbS9wbG90bHkvZGFzaC1jeXRvc2NhcGUvaXNzdWVzLzI1KSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiAgICAgKi9cbiAgICBsYXlvdXQ6IFByb3BUeXBlcy5zaGFwZSh7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBUaGUgbGF5b3V0cyBhdmFpbGFibGUgYnkgZGVmYXVsdCBhcmU6XG4gICAgICAgICAqICAgYHJhbmRvbWA6IFJhbmRvbWx5IGFzc2lnbnMgcG9zaXRpb25zLlxuICAgICAgICAgKiAgIGBwcmVzZXRgOiBBc3NpZ25zIHBvc2l0aW9uIGJhc2VkIG9uIHRoZSBgcG9zaXRpb25gIGtleSBpbiBlbGVtZW50IGRpY3Rpb25hcmllcy5cbiAgICAgICAgICogICBgY2lyY2xlYDogU2luZ2xlLWxldmVsIGNpcmNsZSwgd2l0aCBvcHRpb25hbCByYWRpdXMuXG4gICAgICAgICAqICAgYGNvbmNlbnRyaWNgOiBNdWx0aS1sZXZlbCBjaXJjbGUsIHdpdGggb3B0aW9uYWwgcmFkaXVzLlxuICAgICAgICAgKiAgIGBncmlkYDogU3F1YXJlIGdyaWQsIG9wdGlvbmFsbHkgd2l0aCBudW1iZXJzIG9mIGByb3dzYCBhbmQgYGNvbHNgLlxuICAgICAgICAgKiAgIGBicmVhZHRoZmlyc3RgOiBUcmVlIHN0cnVjdHVyZSBidWlsdCB1c2luZyBCRlMsIHdpdGggb3B0aW9uYWwgYHJvb3RzYC5cbiAgICAgICAgICogICBgY29zZWA6IEZvcmNlLWRpcmVjdGVkIHBoeXNpY3Mgc2ltdWxhdGlvbi5cbiAgICAgICAgICpcbiAgICAgICAgICogU29tZSBleHRlcm5hbCBsYXlvdXRzIGFyZSBhbHNvIGluY2x1ZGVkLiBUbyB1c2UgdGhlbSwgcnVuXG4gICAgICAgICAqICAgYGRhc2hfY3l0b3NjYXBlLmxvYWRfZXh0cmFfbGF5b3V0cygpYCBiZWZvcmUgY3JlYXRpbmcgeW91ciBEYXNoIGFwcC4gQmUgY2FyZWZ1bCBhYm91dFxuICAgICAgICAgKiAgIHVzaW5nIHRoZSBleHRyYSBsYXlvdXRzIHdoZW4gbm90IG5lY2Vzc2FyeSwgc2luY2UgdGhleSByZXF1aXJlIHN1cHBsZW1lbnRhcnkgYmFuZHdpZHRoXG4gICAgICAgICAqICAgZm9yIGxvYWRpbmcsIHdoaWNoIGltcGFjdHMgdGhlIHN0YXJ0dXAgdGltZSBvZiB0aGUgYXBwLlxuICAgICAgICAgKiAgIFRoZSBleHRlcm5hbCBsYXlvdXRzIGFyZTpcbiAgICAgICAgICogICBbY29zZS1iaWxrZW50XShodHRwczovL2dpdGh1Yi5jb20vY3l0b3NjYXBlL2N5dG9zY2FwZS5qcy1jb3NlLWJpbGtlbnQpLFxuICAgICAgICAgKiAgIFtmY29zZV0oaHR0cHM6Ly9naXRodWIuY29tL2lWaXMtYXQtQmlsa2VudC9jeXRvc2NhcGUuanMtZmNvc2UpLFxuICAgICAgICAgKiAgIFtjb2xhXShodHRwczovL2dpdGh1Yi5jb20vY3l0b3NjYXBlL2N5dG9zY2FwZS5qcy1jb2xhKSxcbiAgICAgICAgICogICBbZXVsZXJdKGh0dHBzOi8vZ2l0aHViLmNvbS9jeXRvc2NhcGUvY3l0b3NjYXBlLmpzLWRhZ3JlKSxcbiAgICAgICAgICogICBbc3ByZWFkXShodHRwczovL2dpdGh1Yi5jb20vY3l0b3NjYXBlL2N5dG9zY2FwZS5qcy1zcHJlYWQpLFxuICAgICAgICAgKiAgIFtkYWdyZV0oaHR0cHM6Ly9naXRodWIuY29tL2N5dG9zY2FwZS9jeXRvc2NhcGUuanMtZGFncmUpLFxuICAgICAgICAgKiAgIFtrbGF5XShodHRwczovL2dpdGh1Yi5jb20vY3l0b3NjYXBlL2N5dG9zY2FwZS5qcy1rbGF5KSxcbiAgICAgICAgICovXG4gICAgICAgIG5hbWU6IFByb3BUeXBlcy5vbmVPZihbXG4gICAgICAgICAgICAncmFuZG9tJyxcbiAgICAgICAgICAgICdwcmVzZXQnLFxuICAgICAgICAgICAgJ2NpcmNsZScsXG4gICAgICAgICAgICAnY29uY2VudHJpYycsXG4gICAgICAgICAgICAnZ3JpZCcsXG4gICAgICAgICAgICAnYnJlYWR0aGZpcnN0JyxcbiAgICAgICAgICAgICdjb3NlJyxcbiAgICAgICAgICAgICdjb3NlLWJpbGtlbnQnLFxuICAgICAgICAgICAgJ2Zjb3NlJyxcbiAgICAgICAgICAgICdjb2xhJyxcbiAgICAgICAgICAgICdldWxlcicsXG4gICAgICAgICAgICAnc3ByZWFkJyxcbiAgICAgICAgICAgICdkYWdyZScsXG4gICAgICAgICAgICAna2xheScsXG4gICAgICAgIF0pLmlzUmVxdWlyZWQsXG4gICAgICAgIC8qKiAgV2hldGhlciB0byByZW5kZXIgdGhlIG5vZGVzIGluIG9yZGVyIHRvIGZpdCB0aGUgY2FudmFzLiAqL1xuICAgICAgICBmaXQ6IFByb3BUeXBlcy5ib29sLFxuICAgICAgICAvKiogUGFkZGluZyBhcm91bmQgdGhlIHNpZGVzIG9mIHRoZSBjYW52YXMsIGlmIGZpdCBpcyBlbmFibGVkLiAqL1xuICAgICAgICBwYWRkaW5nOiBQcm9wVHlwZXMubnVtYmVyLFxuICAgICAgICAvKiogV2hldGhlciB0byBhbmltYXRlIGNoYW5nZSBpbiBwb3NpdGlvbiB3aGVuIHRoZSBsYXlvdXQgY2hhbmdlcy4gKi9cbiAgICAgICAgYW5pbWF0ZTogUHJvcFR5cGVzLmJvb2wsXG4gICAgICAgIC8qKiBEdXJhdGlvbiBvZiBhbmltYXRpb24gaW4gbWlsbGlzZWNvbmRzLCBpZiBlbmFibGVkLiAqL1xuICAgICAgICBhbmltYXRpb25EdXJhdGlvbjogUHJvcFR5cGVzLm51bWJlcixcbiAgICAgICAgLyoqXG4gICAgICAgICAqIEhvdyB0byBjb25zdHJhaW4gdGhlIGxheW91dCBpbiBhIHNwZWNpZmljIGFyZWEuIEtleXMgYWNjZXB0ZWQgYXJlIGVpdGhlclxuICAgICAgICAgKiBgeDEsIHkxLCB4MiwgeTJgIG9yIGB4MSwgeTEsIHcsIGhgLCBhbGwgb2Ygd2hpY2ggcmVjZWl2ZSBhIHBpeGVsIHZhbHVlLlxuICAgICAgICAgKi9cbiAgICAgICAgYm91bmRpbmdCb3g6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgfSksXG4gICAgLyoqXG4gICAgICogRGVmaW5lIGEgY3VzdG9tIGNvbnRleHQgbWVudS4gVGhlIGJlaGF2aW91ciBvZiBlYWNoIG1lbnUgaXRlbSBjYW4gYmUgZGVmaW5lZCBpbiAxIG9mIDMgd2F5cy5cbiAgICAgKiAxLiBCeSBwYXNzaW5nIGEgc3RyaW5nIHRvIG9uQ2xpY2sgdGhhdCByZWZlcnMgdG8gb25lIG9mIHRoZSBidWlsdC1pbiBKYXZhc2NyaXB0IGZ1bmN0aW9ucy5cbiAgICAgKiAyLiBCeSBwYXNzaW5nIGEgc3RyaW5nIHRvIG9uQ2xpY2tDdXN0b20gdGhhdCByZWZlcnMgdG8gb25lIG9mIHRoZSB1c2VyLWRlZmluZWQgZnVuY3Rpb25zIGluIGEgbmFtZXNwYWNlLlxuICAgICAqIDMuIEJ5IG9taXR0aW5nIGJvdGggb2YgdGhlc2UgcHJvcGVydGllczsgdGhpcyB3aWxsIHVwZGF0ZSB0aGUgY29udGV4dE1lbnVEYXRhIHByb3BlcnR5IGFuZCB0cmlnZ2VyIGEgRGFzaCBjYWxsYmFjay5cbiAgICAgKi9cbiAgICBjb250ZXh0TWVudTogUHJvcFR5cGVzLmFycmF5T2YoXG4gICAgICAgIFByb3BUeXBlcy5leGFjdCh7XG4gICAgICAgICAgICAvKiogSUQgb2YgdGhlIG1lbnUgaXRlbSBpbiB0aGUgY29udGV4dCBtZW51ICovXG4gICAgICAgICAgICBpZDogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICAgICAgICAgICAgLyoqIFRoZSBsYWJlbCBvbiB0aGUgY29udGV4dCBtZW51IGl0ZW0qL1xuICAgICAgICAgICAgbGFiZWw6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgICAgICAgICAgIC8qKiBUaGUgdG9vbHRpcCB0ZXh0IHdoZW4gaG92ZXJpbmcgb24gdG9wIG9mIGEgY29udGV4dCBtZW51IGl0ZW0gKi9cbiAgICAgICAgICAgIHRvb2x0aXBUZXh0OiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICAgICAgLyoqIEEgbGlzdCBjb250YWluaW5nIGVpdGhlciAnbm9kZScsICdlZGdlJyxhbmQvb3IgJ2NhbnZhcycuIFRoaXMgd2lsbCBkZXRlcm1pbmUgd2hlcmUgdGhlIGNvbnRleHRcbiAgICAgICAgICAgICAqICBtZW51IGl0ZW0gd2lsbCBzaG93IHVwLlxuICAgICAgICAgICAgICovXG4gICAgICAgICAgICBhdmFpbGFibGVPbjogUHJvcFR5cGVzLmFycmF5LFxuICAgICAgICAgICAgLyoqIFNwZWNpZnkgd2hpY2ggYnVpbHQtaW4gSmF2YVNjcmlwdCBmdW5jdGlvbiB0byB1c2UgYXMgYmVoYXZpb3VyIGZvciB0aGUgY29udGV4dFxuICAgICAgICAgICAgICogbWVudSBpdGVtLiBPbmUgb2YgJ3JlbW92ZScsICdhZGRfbm9kZScsIG9yICdhZGRfZWRnZSdcbiAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgb25DbGljazogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgICAgICAgIC8qKiBTcGVjaWZ5IHdoaWNoIHVzZXItZGVmaW5lZCBKYXZhc2NyaXB0IGZ1bmN0aW9uIHRvIHVzZSBpbiB0aGUgZGFzaEN5dG9zY2FwZUZ1bmN0aW9uc1xuICAgICAgICAgICAgICogbmFtZXNwYWNlIGFzIGJlaGF2aW91ciBmb3IgdGhlIGNvbnRleHQgbWVudSBpdGVtXG4gICAgICAgICAgICAgKi9cbiAgICAgICAgICAgIG9uQ2xpY2tDdXN0b206IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICAgIH0pXG4gICAgKSxcbiAgICAvKipcbiAgICAgKiBSZXRyaWV2ZSByZWxldmFudCBkYXRhIHdoZW4gYSBjb250ZXh0IG1lbnUgaXRlbSBpcyBjbGlja2VkLiAgUmVhZC1vbmx5LlxuICAgICAqL1xuICAgIGNvbnRleHRNZW51RGF0YTogUHJvcFR5cGVzLmV4YWN0KHtcbiAgICAgICAgLyoqIElEIG9mIHRoZSBtZW51IGl0ZW0gaW4gdGhlIGNvbnRleHQgbWVudSAqL1xuICAgICAgICBtZW51SXRlbUlkOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICAvKiogeC1wb3NpdGlvbiBvZiB0aGUgY29udGV4dCBjbGljayAqL1xuICAgICAgICB4OiBQcm9wVHlwZXMubnVtYmVyLFxuICAgICAgICAvKiogeS1wb3NpdGlvbiBvZiB0aGUgY29udGV4dCBjbGljayAqL1xuICAgICAgICB5OiBQcm9wVHlwZXMubnVtYmVyLFxuICAgICAgICAvKiogVGltZXN0YW1wIG9mIGNvbnRleHQgY2xpY2sqL1xuICAgICAgICB0aW1lU3RhbXA6IFByb3BUeXBlcy5udW1iZXIsXG4gICAgICAgIC8qKiBFbGVtZW50IElEIG9uIGNvbnRleHQgY2xpY2sgaWYgdGhlIGNvbnRleHQgY2xpY2sgd2FzIG9uIGFuIGVsZW1lbnQuXG4gICAgICAgICAqIElmIGNvbnRleHQgY2xpY2sgd2FzIG9uIHdoaXRlIHNwYWNlLCB0aGlzIHByb3BlcnR5IGlzIG5vdCByZXR1cm5lZFxuICAgICAgICAgKi9cbiAgICAgICAgZWxlbWVudElkOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICAvKiogTm9kZSBJRCBvZiB0aGUgZWRnZSBzb3VyY2UgaWYgdGhlIGNsaWNrZWQgZWxlbWVudCBpcyBhbiBlZGdlLFxuICAgICAgICAgKiBvciBlbHNlIHRoaXMgcHJvcGVydHkgaXMgbm90IHJldHVybmVkKi9cbiAgICAgICAgZWRnZVNvdXJjZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgICAgLyoqIE5vZGUgSUQgb2YgdGhlIGVkZ2UgdGFyZ2V0IGlmIHRoZSBjbGlja2VkIGVsZW1lbnQgaXMgYW4gZWRnZSxcbiAgICAgICAgICogb3IgZWxzZSB0aGlzIHByb3BlcnR5IGlzIG5vdCByZXR1cm5lZCovXG4gICAgICAgIGVkZ2VUYXJnZXQ6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgfSksXG4gICAgLy8gVmlld3BvcnQgTWFuaXB1bGF0aW9uXG5cbiAgICAvKipcbiAgICAgKiBEaWN0aW9uYXJ5IGluZGljYXRpbmcgdGhlIGluaXRpYWwgcGFubmluZyBwb3NpdGlvbiBvZiB0aGUgZ3JhcGguIFRoZVxuICAgICAqIGZvbGxvd2luZyBrZXlzIGFyZSBhY2NlcHRlZDpcbiAgICAgKi9cbiAgICBwYW46IFByb3BUeXBlcy5leGFjdCh7XG4gICAgICAgIC8qKiBUaGUgeC1jb29yZGluYXRlIG9mIHRoZSBub2RlICovXG4gICAgICAgIHg6IFByb3BUeXBlcy5udW1iZXIsXG4gICAgICAgIC8qKiBUaGUgeS1jb29yZGluYXRlIG9mIHRoZSBub2RlICAqL1xuICAgICAgICB5OiBQcm9wVHlwZXMubnVtYmVyLFxuICAgIH0pLFxuXG4gICAgLyoqXG4gICAgICogVGhlIGluaXRpYWwgem9vbSBsZXZlbCBvZiB0aGUgZ3JhcGguIFlvdSBjYW4gc2V0IGBtaW5ab29tYCBhbmRcbiAgICAgKiBgbWF4Wm9vbWAgdG8gc2V0IHJlc3RyaWN0aW9ucyBvbiB0aGUgem9vbSBsZXZlbC5cbiAgICAgKi9cbiAgICB6b29tOiBQcm9wVHlwZXMubnVtYmVyLFxuXG4gICAgLy8gVmlld3BvcnQgTXV0YWJpbGl0eSBhbmQgZ2VzdHVyZSBUb2dnbGluZ1xuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgcGFubmluZyB0aGUgZ3JhcGggaXMgZW5hYmxlZCAoaS5lLiwgdGhlIHBvc2l0aW9uIG9mIHRoZSBncmFwaCBpc1xuICAgICAqIG11dGFibGUgb3ZlcmFsbCkuXG4gICAgICovXG4gICAgcGFubmluZ0VuYWJsZWQ6IFByb3BUeXBlcy5ib29sLFxuXG4gICAgLyoqXG4gICAgICogV2hldGhlciB1c2VyIGV2ZW50cyAoZS5nLiBkcmFnZ2luZyB0aGUgZ3JhcGggYmFja2dyb3VuZCkgYXJlIGFsbG93ZWQgdG9cbiAgICAgKiBwYW4gdGhlIGdyYXBoLlxuICAgICAqL1xuICAgIHVzZXJQYW5uaW5nRW5hYmxlZDogUHJvcFR5cGVzLmJvb2wsXG5cbiAgICAvKipcbiAgICAgKiBBIG1pbmltdW0gYm91bmQgb24gdGhlIHpvb20gbGV2ZWwgb2YgdGhlIGdyYXBoLiBUaGUgdmlld3BvcnQgY2FuIG5vdCBiZVxuICAgICAqIHNjYWxlZCBzbWFsbGVyIHRoYW4gdGhpcyB6b29tIGxldmVsLlxuICAgICAqL1xuICAgIG1pblpvb206IFByb3BUeXBlcy5udW1iZXIsXG5cbiAgICAvKipcbiAgICAgKiBBIG1heGltdW0gYm91bmQgb24gdGhlIHpvb20gbGV2ZWwgb2YgdGhlIGdyYXBoLiBUaGUgdmlld3BvcnQgY2FuIG5vdCBiZVxuICAgICAqIHNjYWxlZCBsYXJnZXIgdGhhbiB0aGlzIHpvb20gbGV2ZWwuXG4gICAgICovXG4gICAgbWF4Wm9vbTogUHJvcFR5cGVzLm51bWJlcixcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgem9vbWluZyB0aGUgZ3JhcGggaXMgZW5hYmxlZCAoaS5lLiwgdGhlIHpvb20gbGV2ZWwgb2YgdGhlIGdyYXBoXG4gICAgICogaXMgbXV0YWJsZSBvdmVyYWxsKS5cbiAgICAgKi9cbiAgICB6b29taW5nRW5hYmxlZDogUHJvcFR5cGVzLmJvb2wsXG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHVzZXIgZXZlbnRzIChlLmcuIGRyYWdnaW5nIHRoZSBncmFwaCBiYWNrZ3JvdW5kKSBhcmUgYWxsb3dlZFxuICAgICAqIHRvIHBhbiB0aGUgZ3JhcGguXG4gICAgICovXG4gICAgdXNlclpvb21pbmdFbmFibGVkOiBQcm9wVHlwZXMuYm9vbCxcblxuICAgIC8qKlxuICAgICAqIENoYW5nZXMgdGhlIHNjcm9sbCB3aGVlbCBzZW5zaXRpdml0eSB3aGVuIHpvb21pbmcuXG4gICAgICovXG4gICAgd2hlZWxTZW5zaXRpdml0eTogUHJvcFR5cGVzLm51bWJlcixcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgYm94IHNlbGVjdGlvbiAoaS5lLiBkcmFnIGEgYm94IG92ZXJsYXkgYXJvdW5kLCBhbmQgcmVsZWFzZSBpdFxuICAgICAqIHRvIHNlbGVjdCkgaXMgZW5hYmxlZC4gSWYgZW5hYmxlZCwgdGhlIHVzZXIgbXVzdCB0YXBob2xkIHRvIHBhbiB0aGUgZ3JhcGguXG4gICAgICovXG4gICAgYm94U2VsZWN0aW9uRW5hYmxlZDogUHJvcFR5cGVzLmJvb2wsXG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIG5vZGVzIHNob3VsZCBiZSB1bmdyYWJpZmllZCAobm90IGdyYWJiYWJsZSBieSB1c2VyKSBieVxuICAgICAqIGRlZmF1bHQgKGlmIHRydWUsIG92ZXJyaWRlcyBpbmRpdmlkdWFsIG5vZGUgc3RhdGUpLlxuICAgICAqL1xuICAgIGF1dG91bmdyYWJpZnk6IFByb3BUeXBlcy5ib29sLFxuXG4gICAgLyoqXG4gICAgICogV2hldGhlciBub2RlcyBzaG91bGQgYmUgbG9ja2VkIChub3QgZHJhZ2dhYmxlIGF0IGFsbCkgYnkgZGVmYXVsdFxuICAgICAqIChpZiB0cnVlLCBvdmVycmlkZXMgaW5kaXZpZHVhbCBub2RlIHN0YXRlKS5cbiAgICAgKi9cbiAgICBhdXRvbG9jazogUHJvcFR5cGVzLmJvb2wsXG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIG5vZGVzIHNob3VsZCBiZSB1bnNlbGVjdGlmaWVkIChpbW11dGFibGUgc2VsZWN0aW9uIHN0YXRlKSBieVxuICAgICAqIGRlZmF1bHQgKGlmIHRydWUsIG92ZXJyaWRlcyBpbmRpdmlkdWFsIGVsZW1lbnQgc3RhdGUpLlxuICAgICAqL1xuICAgIGF1dG91bnNlbGVjdGlmeTogUHJvcFR5cGVzLmJvb2wsXG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRoZSBsYXlvdXQgc2hvdWxkIGJlIHJlZnJlc2hlZCB3aGVuIGVsZW1lbnRzIGFyZSBhZGRlZCBvciByZW1vdmVkLlxuICAgICAqL1xuICAgIGF1dG9SZWZyZXNoTGF5b3V0OiBQcm9wVHlwZXMuYm9vbCxcblxuICAgIC8vIFVzZXIgRXZlbnRzIFByb3BzXG5cbiAgICAvKipcbiAgICAgKiBUaGUgY29tcGxldGUgbm9kZSBkaWN0aW9uYXJ5IHJldHVybmVkIHdoZW4geW91IHRhcCBvciBjbGljayBpdC4gUmVhZC1vbmx5LlxuICAgICAqL1xuICAgIHRhcE5vZGU6IFByb3BUeXBlcy5leGFjdCh7XG4gICAgICAgIC8qKiBub2RlIHNwZWNpZmljIGl0ZW0gKi9cbiAgICAgICAgZWRnZXNEYXRhOiBQcm9wVHlwZXMuYXJyYXksXG4gICAgICAgIC8qKiBub2RlIHNwZWNpZmljIGl0ZW0gKi9cbiAgICAgICAgcmVuZGVyZWRQb3NpdGlvbjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICAgICAgLyoqIG5vZGUgc3BlY2lmaWMgaXRlbSAqL1xuICAgICAgICB0aW1lU3RhbXA6IFByb3BUeXBlcy5udW1iZXIsXG4gICAgICAgIC8qKiBHZW5lcmFsIGl0ZW0gKGZvciBhbGwgZWxlbWVudHMpICovXG4gICAgICAgIGNsYXNzZXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICAgIC8qKiBHZW5lcmFsIGl0ZW0gKGZvciBhbGwgZWxlbWVudHMpICovXG4gICAgICAgIGRhdGE6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgICAgIC8qKiBHZW5lcmFsIGl0ZW0gKGZvciBhbGwgZWxlbWVudHMpICovXG4gICAgICAgIGdyYWJiYWJsZTogUHJvcFR5cGVzLmJvb2wsXG4gICAgICAgIC8qKiBHZW5lcmFsIGl0ZW0gKGZvciBhbGwgZWxlbWVudHMpICovXG4gICAgICAgIGdyb3VwOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICAvKiogR2VuZXJhbCBpdGVtIChmb3IgYWxsIGVsZW1lbnRzKSAqL1xuICAgICAgICBsb2NrZWQ6IFByb3BUeXBlcy5ib29sLFxuICAgICAgICAvKiogR2VuZXJhbCBpdGVtIChmb3IgYWxsIGVsZW1lbnRzKSAqL1xuICAgICAgICBwb3NpdGlvbjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICAgICAgLyoqIEdlbmVyYWwgaXRlbSAoZm9yIGFsbCBlbGVtZW50cykgKi9cbiAgICAgICAgc2VsZWN0YWJsZTogUHJvcFR5cGVzLmJvb2wsXG4gICAgICAgIC8qKiBHZW5lcmFsIGl0ZW0gKGZvciBhbGwgZWxlbWVudHMpICovXG4gICAgICAgIHNlbGVjdGVkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICAgICAgLyoqIEdlbmVyYWwgaXRlbSAoZm9yIGFsbCBlbGVtZW50cykgKi9cbiAgICAgICAgc3R5bGU6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgICAgIC8qKiBJdGVtIGZvciBjb21wb3VuZCBub2RlcyAqL1xuICAgICAgICBhbmNlc3RvcnNEYXRhOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMub2JqZWN0LCBQcm9wVHlwZXMuYXJyYXldKSxcbiAgICAgICAgLyoqIEl0ZW0gZm9yIGNvbXBvdW5kIG5vZGVzICovXG4gICAgICAgIGNoaWxkcmVuRGF0YTogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLm9iamVjdCwgUHJvcFR5cGVzLmFycmF5XSksXG4gICAgICAgIC8qKiBJdGVtIGZvciBjb21wb3VuZCBub2RlcyAqL1xuICAgICAgICBkZXNjZW5kYW50c0RhdGE6IFByb3BUeXBlcy5vbmVPZlR5cGUoW1xuICAgICAgICAgICAgUHJvcFR5cGVzLm9iamVjdCxcbiAgICAgICAgICAgIFByb3BUeXBlcy5hcnJheSxcbiAgICAgICAgXSksXG4gICAgICAgIC8qKiBJdGVtIGZvciBjb21wb3VuZCBub2RlcyAqL1xuICAgICAgICBwYXJlbnREYXRhOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMub2JqZWN0LCBQcm9wVHlwZXMuYXJyYXldKSxcbiAgICAgICAgLyoqIEl0ZW0gZm9yIGNvbXBvdW5kIG5vZGVzICovXG4gICAgICAgIHNpYmxpbmdzRGF0YTogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLm9iamVjdCwgUHJvcFR5cGVzLmFycmF5XSksXG4gICAgICAgIC8qKiBJdGVtIGZvciBjb21wb3VuZCBub2RlcyAqL1xuICAgICAgICBpc1BhcmVudDogUHJvcFR5cGVzLmJvb2wsXG4gICAgICAgIC8qKiBJdGVtIGZvciBjb21wb3VuZCBub2RlcyAqL1xuICAgICAgICBpc0NoaWxkbGVzczogUHJvcFR5cGVzLmJvb2wsXG4gICAgICAgIC8qKiBJdGVtIGZvciBjb21wb3VuZCBub2RlcyAqL1xuICAgICAgICBpc0NoaWxkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICAgICAgLyoqIEl0ZW0gZm9yIGNvbXBvdW5kIG5vZGVzICovXG4gICAgICAgIGlzT3JwaGFuOiBQcm9wVHlwZXMuYm9vbCxcbiAgICAgICAgLyoqIEl0ZW0gZm9yIGNvbXBvdW5kIG5vZGVzICovXG4gICAgICAgIHJlbGF0aXZlUG9zaXRpb246IFByb3BUeXBlcy5vYmplY3QsXG4gICAgfSksXG5cbiAgICAvKipcbiAgICAgKiBUaGUgZGF0YSBkaWN0aW9uYXJ5IG9mIGEgbm9kZSByZXR1cm5lZCB3aGVuIHlvdSB0YXAgb3IgY2xpY2sgaXQuIFJlYWQtb25seS5cbiAgICAgKi9cbiAgICB0YXBOb2RlRGF0YTogUHJvcFR5cGVzLm9iamVjdCxcblxuICAgIC8qKlxuICAgICAqIFRoZSBjb21wbGV0ZSBlZGdlIGRpY3Rpb25hcnkgcmV0dXJuZWQgd2hlbiB5b3UgdGFwIG9yIGNsaWNrIGl0LiBSZWFkLW9ubHkuXG4gICAgICovXG4gICAgdGFwRWRnZTogUHJvcFR5cGVzLmV4YWN0KHtcbiAgICAgICAgLyoqIEVkZ2Utc3BlY2lmaWMgaXRlbSAqL1xuICAgICAgICBpc0xvb3A6IFByb3BUeXBlcy5ib29sLFxuICAgICAgICAvKiogRWRnZS1zcGVjaWZpYyBpdGVtICovXG4gICAgICAgIGlzU2ltcGxlOiBQcm9wVHlwZXMuYm9vbCxcbiAgICAgICAgLyoqIEVkZ2Utc3BlY2lmaWMgaXRlbSAqL1xuICAgICAgICBtaWRwb2ludDogUHJvcFR5cGVzLm9iamVjdCxcbiAgICAgICAgLyoqIEVkZ2Utc3BlY2lmaWMgaXRlbSAqL1xuICAgICAgICBzb3VyY2VEYXRhOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgICAgICAvKiogRWRnZS1zcGVjaWZpYyBpdGVtICovXG4gICAgICAgIHNvdXJjZUVuZHBvaW50OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgICAgICAvKiogRWRnZS1zcGVjaWZpYyBpdGVtICovXG4gICAgICAgIHRhcmdldERhdGE6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgICAgIC8qKiBFZGdlLXNwZWNpZmljIGl0ZW0gKi9cbiAgICAgICAgdGFyZ2V0RW5kcG9pbnQ6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgICAgIC8qKiBFZGdlLXNwZWNpZmljIGl0ZW0gKi9cbiAgICAgICAgdGltZVN0YW1wOiBQcm9wVHlwZXMubnVtYmVyLFxuICAgICAgICAvKiogR2VuZXJhbCBpdGVtIChmb3IgYWxsIGVsZW1lbnRzKSAqL1xuICAgICAgICBjbGFzc2VzOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICAvKiogR2VuZXJhbCBpdGVtIChmb3IgYWxsIGVsZW1lbnRzKSAqL1xuICAgICAgICBkYXRhOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgICAgICAvKiogR2VuZXJhbCBpdGVtIChmb3IgYWxsIGVsZW1lbnRzKSAqL1xuICAgICAgICBncmFiYmFibGU6IFByb3BUeXBlcy5ib29sLFxuICAgICAgICAvKiogR2VuZXJhbCBpdGVtIChmb3IgYWxsIGVsZW1lbnRzKSAqL1xuICAgICAgICBncm91cDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgICAgLyoqIEdlbmVyYWwgaXRlbSAoZm9yIGFsbCBlbGVtZW50cykgKi9cbiAgICAgICAgbG9ja2VkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICAgICAgLyoqIEdlbmVyYWwgaXRlbSAoZm9yIGFsbCBlbGVtZW50cykgKi9cbiAgICAgICAgc2VsZWN0YWJsZTogUHJvcFR5cGVzLmJvb2wsXG4gICAgICAgIC8qKiBHZW5lcmFsIGl0ZW0gKGZvciBhbGwgZWxlbWVudHMpICovXG4gICAgICAgIHNlbGVjdGVkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICAgICAgLyoqIEdlbmVyYWwgaXRlbSAoZm9yIGFsbCBlbGVtZW50cykgKi9cbiAgICAgICAgc3R5bGU6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgfSksXG5cbiAgICAvKipcbiAgICAgKiBUaGUgZGF0YSBkaWN0aW9uYXJ5IG9mIGFuIGVkZ2UgcmV0dXJuZWQgd2hlbiB5b3UgdGFwIG9yIGNsaWNrIGl0LiBSZWFkLW9ubHkuXG4gICAgICovXG4gICAgdGFwRWRnZURhdGE6IFByb3BUeXBlcy5vYmplY3QsXG5cbiAgICAvKipcbiAgICAgKiBUaGUgZGF0YSBkaWN0aW9uYXJ5IG9mIGEgbm9kZSByZXR1cm5lZCB3aGVuIHlvdSBob3ZlciBvdmVyIGl0LiBSZWFkLW9ubHkuXG4gICAgICovXG4gICAgbW91c2VvdmVyTm9kZURhdGE6IFByb3BUeXBlcy5vYmplY3QsXG5cbiAgICAvKipcbiAgICAgKiBUaGUgZGF0YSBkaWN0aW9uYXJ5IG9mIGFuIGVkZ2UgcmV0dXJuZWQgd2hlbiB5b3UgaG92ZXIgb3ZlciBpdC4gUmVhZC1vbmx5LlxuICAgICAqL1xuICAgIG1vdXNlb3ZlckVkZ2VEYXRhOiBQcm9wVHlwZXMub2JqZWN0LFxuXG4gICAgLyoqXG4gICAgICogVGhlIGxpc3Qgb2YgZGF0YSBkaWN0aW9uYXJpZXMgb2YgYWxsIHNlbGVjdGVkIG5vZGVzIChlLmcuIHVzaW5nXG4gICAgICogU2hpZnQrQ2xpY2sgdG8gc2VsZWN0IG11bHRpcGxlIG5vZGVzLCBvciBTaGlmdCtEcmFnIHRvIHVzZSBib3ggc2VsZWN0aW9uKS4gUmVhZC1vbmx5LlxuICAgICAqL1xuICAgIHNlbGVjdGVkTm9kZURhdGE6IFByb3BUeXBlcy5hcnJheSxcblxuICAgIC8qKlxuICAgICAqIFRoZSBsaXN0IG9mIGRhdGEgZGljdGlvbmFyaWVzIG9mIGFsbCBzZWxlY3RlZCBlZGdlcyAoZS5nLiB1c2luZ1xuICAgICAqIFNoaWZ0K0NsaWNrIHRvIHNlbGVjdCBtdWx0aXBsZSBub2Rlcywgb3IgU2hpZnQrRHJhZyB0byB1c2UgYm94IHNlbGVjdGlvbikuIFJlYWQtb25seS5cbiAgICAgKi9cbiAgICBzZWxlY3RlZEVkZ2VEYXRhOiBQcm9wVHlwZXMuYXJyYXksXG5cbiAgICAvKipcbiAgICAgKiBEaWN0aW9uYXJ5IHNwZWNpZnlpbmcgb3B0aW9ucyB0byBnZW5lcmF0ZSBhbiBpbWFnZSBvZiB0aGUgY3VycmVudCBjeXRvc2NhcGUgZ3JhcGguXG4gICAgICogVmFsdWUgaXMgY2xlYXJlZCBhZnRlciBkYXRhIGlzIHJlY2VpdmVkIGFuZCBpbWFnZSBpcyBnZW5lcmF0ZWQuIFRoaXMgcHJvcGVydHkgd2lsbFxuICAgICAqIGJlIGlnbm9yZWQgb24gdGhlIGluaXRpYWwgY3JlYXRpb24gb2YgdGhlIGN5dG9zY2FwZSBvYmplY3QgYW5kIG11c3QgYmUgaW52b2tlZCB0aHJvdWdoXG4gICAgICogYSBjYWxsYmFjayBhZnRlciBpdCBoYXMgYmVlbiByZW5kZXJlZC5cbiAgICAgKlxuICAgICAqIElmIHRoZSBhcHAgZG9lcyBub3QgbmVlZCB0aGUgaW1hZ2UgZGF0YSBzZXJ2ZXIgc2lkZSBhbmQvb3IgaXQgd2lsbCBvbmx5IGJlIHVzZWQgdG8gZG93bmxvYWRcbiAgICAgKiB0aGUgaW1hZ2UsIGl0IG1heSBiZSBwcnVkZW50IHRvIGludm9rZSBgJ2Rvd25sb2FkJ2AgZm9yIGBhY3Rpb25gIGluc3RlYWQgb2ZcbiAgICAgKiBgJ3N0b3JlJ2AgdG8gaW1wcm92ZSBwZXJmb3JtYW5jZSBieSBwcmV2ZW50aW5nIHRyYW5zZmVyIG9mIGRhdGEgdG8gdGhlIHNlcnZlci5cbiAgICAgKi9cbiAgICBnZW5lcmF0ZUltYWdlOiBQcm9wVHlwZXMuc2hhcGUoe1xuICAgICAgICAvKiogRmlsZSB0eXBlIHRvIG91dHB1dCAgKi9cbiAgICAgICAgdHlwZTogUHJvcFR5cGVzLm9uZU9mKFsnc3ZnJywgJ3BuZycsICdqcGcnLCAnanBlZyddKSxcbiAgICAgICAgLyoqIERpY3Rpb25hcnkgb2Ygb3B0aW9ucyB0byBjeS5wbmcoKSAvIGN5LmpwZygpIG9yIGN5LnN2ZygpIGZvciBpbWFnZSBnZW5lcmF0aW9uLlxuICAgICAgICAgKiBTZWUgaHR0cHM6Ly9qcy5jeXRvc2NhcGUub3JnLyNjb3JlL2V4cG9ydCBmb3IgZGV0YWlscy4gRm9yIGAnb3V0cHV0J2AsIG9ubHkgJ2Jhc2U2NCdcbiAgICAgICAgICogYW5kICdiYXNlNjR1cmknIGFyZSBzdXBwb3J0ZWQuIERlZmF1bHQ6IGB7J291dHB1dCc6ICdiYXNlNjR1cmknfWAuKi9cbiAgICAgICAgb3B0aW9uczogUHJvcFR5cGVzLm9iamVjdCxcbiAgICAgICAgLyoqXG4gICAgICAgICAqIGAnc3RvcmUnYDogU3RvcmVzIHRoZSBpbWFnZSBkYXRhIChvbmx5IGpwZyBhbmQgcG5nIGFyZSBzdXBwb3J0ZWQpXG4gICAgICAgICAqIGluIGBpbWFnZURhdGFgIGFuZCBpbnZva2VzIHNlcnZlci1zaWRlIERhc2ggY2FsbGJhY2tzLiBgJ2Rvd25sb2FkJ2A6IERvd25sb2FkcyB0aGUgaW1hZ2VcbiAgICAgICAgICogYXMgYSBmaWxlIHdpdGggYWxsIGRhdGEgaGFuZGxpbmcgZG9uZSBjbGllbnQtc2lkZS4gTm8gYGltYWdlRGF0YWAgY2FsbGJhY2tzIGFyZSBmaXJlZC5cbiAgICAgICAgICogYCdib3RoJ2A6IFN0b3JlcyBpbWFnZSBkYXRhIGFuZCBkb3dubG9hZHMgaW1hZ2UgYXMgZmlsZS4gVGhlIGRlZmF1bHQgaXMgYCdzdG9yZSdgXG4gICAgICAgICAqL1xuICAgICAgICBhY3Rpb246IFByb3BUeXBlcy5vbmVPZihbJ3N0b3JlJywgJ2Rvd25sb2FkJywgJ2JvdGgnXSksXG4gICAgICAgIC8qKiBOYW1lIGZvciB0aGUgZmlsZSB0byBiZSBkb3dubG9hZGVkLiBEZWZhdWx0OiAnY3l0bycuKi9cbiAgICAgICAgZmlsZW5hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgfSksXG5cbiAgICAvKipcbiAgICAgKiBTdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhlIGltYWdlIHJlcXVlc3RlZCB3aXRoIGdlbmVyYXRlSW1hZ2UuIE51bGwgaWYgbm9cbiAgICAgKiBpbWFnZSB3YXMgcmVxdWVzdGVkIHlldCBvciB0aGUgcHJldmlvdXMgcmVxdWVzdCBmYWlsZWQuIFJlYWQtb25seS5cbiAgICAgKi9cbiAgICBpbWFnZURhdGE6IFByb3BUeXBlcy5zdHJpbmcsXG5cbiAgICAvKipcbiAgICAgKiBUb2dnbGVzIGludGVsbGlnZW50IHJlc3BvbnNpdmUgcmVzaXplIG9mIEN5dG9zY2FwZSBncmFwaCB3aXRoIHZpZXdwb3J0IHNpemUgY2hhbmdlXG4gICAgICovXG4gICAgcmVzcG9uc2l2ZTogUHJvcFR5cGVzLmJvb2wsXG5cbiAgICAvKipcbiAgICAgKiBFeHRlbnQgb2YgdGhlIHZpZXdwb3J0LCBhIGJvdW5kaW5nIGJveCBpbiBtb2RlbCBjby1vcmRpbmF0ZXMgdGhhdCBsZXRzIHlvdSBrbm93IHdoYXQgbW9kZWxcbiAgICAgKiBwb3NpdGlvbnMgYXJlIHZpc2libGUgaW4gdGhlIHZpZXdwb3J0LiBUaGlzIGZ1bmN0aW9uIHJldHVybnMgYSBwbGFpbiBvYmplY3QgYm91bmRpbmcgYm94XG4gICAgICogd2l0aCBmb3JtYXQgeyB4MSwgeTEsIHgyLCB5MiwgdywgaCB9LlxuICAgICAqL1xuICAgIGV4dGVudDogUHJvcFR5cGVzLm9iamVjdCxcblxuICAgIC8qKlxuICAgICAqIElmIHNldCB0byBUcnVlLCBtb3VzZW92ZXJOb2RlRGF0YSBhbmQgbW91c2VvdmVyRWRnZURhdGEgd2lsbCBiZSBjbGVhcmVkIG9uIHVuaG92ZXIuXG4gICAgICogSWYgc2V0IHRvIEZhbHNlLCB0aGUgdmFsdWUgb2YgbW91c2VvdmVyTm9kZURhdGEgYW5kIG1vdXNlb3ZlckVkZ2VEYXRhIHdpbGwgYmUgdGhlIGxhc3RcbiAgICAgKiBOb2RlIG9yIEVkZ2UgaG92ZXJlZCBvdmVyXG4gICAgICovXG4gICAgY2xlYXJPblVuaG92ZXI6IFByb3BUeXBlcy5ib29sLFxufTtcblxuQ3l0b3NjYXBlLmRlZmF1bHRQcm9wcyA9IHtcbiAgICBzdHlsZToge3dpZHRoOiAnNjAwcHgnLCBoZWlnaHQ6ICc2MDBweCd9LFxuICAgIGxheW91dDoge25hbWU6ICdncmlkJ30sXG4gICAgcGFuOiB7eDogMCwgeTogMH0sXG4gICAgem9vbTogMSxcbiAgICBtaW5ab29tOiAxZS01MCxcbiAgICBtYXhab29tOiAxZTUwLFxuICAgIHpvb21pbmdFbmFibGVkOiB0cnVlLFxuICAgIHVzZXJab29taW5nRW5hYmxlZDogdHJ1ZSxcbiAgICBwYW5uaW5nRW5hYmxlZDogdHJ1ZSxcbiAgICB1c2VyUGFubmluZ0VuYWJsZWQ6IHRydWUsXG4gICAgd2hlZWxTZW5zaXRpdml0eTogMSxcbiAgICBib3hTZWxlY3Rpb25FbmFibGVkOiBmYWxzZSxcbiAgICBhdXRvbG9jazogZmFsc2UsXG4gICAgYXV0b3VuZ3JhYmlmeTogZmFsc2UsXG4gICAgYXV0b3Vuc2VsZWN0aWZ5OiBmYWxzZSxcbiAgICBhdXRvUmVmcmVzaExheW91dDogdHJ1ZSxcbiAgICBnZW5lcmF0ZUltYWdlOiB7fSxcbiAgICBpbWFnZURhdGE6IG51bGwsXG4gICAgcmVzcG9uc2l2ZTogZmFsc2UsXG4gICAgY2xlYXJPblVuaG92ZXI6IGZhbHNlLFxuICAgIGVsZW1lbnRzOiBbXSxcbiAgICBjb250ZXh0TWVudTogW10sXG59O1xuXG5leHBvcnQgZGVmYXVsdCBDeXRvc2NhcGU7XG4iXSwibmFtZXMiOlsiUmVhY3QiLCJDb21wb25lbnQiLCJQcm9wVHlwZXMiLCJDeXRvc2NhcGVDb21wb25lbnQiLCJfIiwidjQiLCJ1dWlkdjQiLCJDeVJlc3BvbnNpdmUiLCJjeXRvc2NhcGUiLCJyZXF1aXJlIiwiY29udGV4dE1lbnVzIiwiQ3l0b3NjYXBlIiwiX0NvbXBvbmVudCIsIl9pbmhlcml0cyIsInByb3BzIiwiX3RoaXMiLCJfY2xhc3NDYWxsQ2hlY2siLCJfY2FsbFN1cGVyIiwiaGFuZGxlQ3kiLCJiaW5kIiwiX2Fzc2VydFRoaXNJbml0aWFsaXplZCIsIl9oYW5kbGVDeUNhbGxlZCIsImhhbmRsZUltYWdlR2VuZXJhdGlvbiIsImN5UmVzcG9uc2l2ZUNsYXNzIiwiX2NyZWF0ZUNsYXNzIiwia2V5IiwidmFsdWUiLCJnZW5lcmF0ZU5vZGUiLCJldmVudCIsImVsZSIsInRhcmdldCIsImlzUGFyZW50IiwiaXNDaGlsZGxlc3MiLCJpc0NoaWxkIiwiaXNPcnBoYW4iLCJyZW5kZXJlZFBvc2l0aW9uIiwicmVsYXRpdmVQb3NpdGlvbiIsInBhcmVudCIsInN0eWxlIiwiZWRnZXNEYXRhIiwiY29ubmVjdGVkRWRnZXMiLCJtYXAiLCJkYXRhIiwiY2hpbGRyZW5EYXRhIiwiY2hpbGRyZW4iLCJhbmNlc3RvcnNEYXRhIiwiYW5jZXN0b3JzIiwiZGVzY2VuZGFudHNEYXRhIiwiZGVzY2VuZGFudHMiLCJzaWJsaW5nc0RhdGEiLCJzaWJsaW5ncyIsInRpbWVTdGFtcCIsIl9lbGUkanNvbiIsImpzb24iLCJjbGFzc2VzIiwiZ3JhYmJhYmxlIiwiZ3JvdXAiLCJsb2NrZWQiLCJwb3NpdGlvbiIsInNlbGVjdGVkIiwic2VsZWN0YWJsZSIsInBhcmVudERhdGEiLCJub2RlT2JqZWN0IiwiZ2VuZXJhdGVFZGdlIiwibWlkcG9pbnQiLCJpc0xvb3AiLCJpc1NpbXBsZSIsInNvdXJjZURhdGEiLCJzb3VyY2UiLCJzb3VyY2VFbmRwb2ludCIsInRhcmdldERhdGEiLCJ0YXJnZXRFbmRwb2ludCIsIl9lbGUkanNvbjIiLCJlZGdlT2JqZWN0IiwiY3kiLCJfdGhpczIiLCJfY3kiLCJ3aW5kb3ciLCJTRUxFQ1RfVEhSRVNIT0xEIiwiRVhURU5UX1RIUkVTSE9MRCIsInNlbGVjdGVkTm9kZXMiLCJjb2xsZWN0aW9uIiwic2VsZWN0ZWRFZGdlcyIsInJlZnJlc2hMYXlvdXQiLCJkZWJvdW5jZSIsIl90aGlzMiRwcm9wcyIsImF1dG9SZWZyZXNoTGF5b3V0IiwibGF5b3V0IiwicnVuIiwic2VuZFNlbGVjdGVkTm9kZXNEYXRhIiwibm9kZURhdGEiLCJlbCIsInNldFByb3BzIiwic2VsZWN0ZWROb2RlRGF0YSIsInNlbmRTZWxlY3RlZEVkZ2VzRGF0YSIsImVkZ2VEYXRhIiwic2VsZWN0ZWRFZGdlRGF0YSIsInNldEV4dGVudCIsImN5RXh0ZW50IiwiZXh0ZW50Iiwib3JpZ2luYWxNYXhab29tRm4iLCJtYXhab29tIiwib3JpZ2luYWxNaW5ab29tRm4iLCJtaW5ab29tIiwiZSIsImN1cnJlbnRNYXhab29tIiwiY2FsbCIsIl9wcmV2aW91c01heFpvb20iLCJ0cmlnZ2VyIiwiY3VycmVudE1pblpvb20iLCJfcHJldmlvdXNNaW5ab29tIiwib24iLCJ0YXBOb2RlIiwidGFwTm9kZURhdGEiLCJPYmplY3QiLCJhc3NpZ24iLCJ0YXBFZGdlIiwidGFwRWRnZURhdGEiLCJtb3VzZW92ZXJOb2RlRGF0YSIsIm1vdXNlb3ZlckVkZ2VEYXRhIiwiY2xlYXJPblVuaG92ZXIiLCJtZXJnZSIsInVubWVyZ2UiLCJlbGVtZW50cyIsIml0ZW0iLCJ6b29tIiwiZml0IiwiY3JlYXRlTWVudUl0ZW1zIiwiY3R4TWVudSIsInVwZGF0ZUNvbnRleHRNZW51RGF0YSIsIm5ld0NvbnRleHQiLCJjb250ZXh0TWVudURhdGEiLCJjb250ZXh0TWVudURlZmF1bHRGdW5jdGlvbnMiLCJyZW1vdmUiLCJjeVRhcmdldCIsImFkZF9ub2RlIiwicG9zIiwiY3lQb3NpdGlvbiIsImFkZCIsIngiLCJ5IiwiYWRkX2VkZ2UiLCJzZWxlY3RlZE5vZGVJZHMiLCJub2RlIiwiaWQiLCJsZW5ndGgiLCJjb25zb2xlIiwiZXJyb3IiLCJuZXdNZW51SXRlbXMiLCJfaXRlcmF0b3IiLCJfY3JlYXRlRm9yT2ZJdGVyYXRvckhlbHBlciIsIl9zdGVwIiwiX2xvb3AiLCJvbkNsaWNrRnVuY3Rpb24iLCJtZW51SXRlbUlkIiwiZWxlbWVudElkIiwiZWRnZVNvdXJjZSIsImVkZ2VUYXJnZXQiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsIm9uQ2xpY2siLCJjb25jYXQiLCJkYXNoQ3l0b3NjYXBlRnVuY3Rpb25zIiwib25DbGlja0N1c3RvbSIsIm5ld19pdGVtIiwiY29udGVudCIsImxhYmVsIiwidG9vbHRpcFRleHQiLCJzZWxlY3RvciIsImNvcmVBc1dlbGwiLCJfaXRlcmF0b3IyIiwiYXZhaWxhYmxlT24iLCJfc3RlcDIiLCJzIiwibiIsImRvbmUiLCJlcnIiLCJmIiwicHVzaCIsInRvZ2dsZSIsInJlc3BvbnNpdmUiLCJpbWFnZVR5cGUiLCJpbWFnZU9wdGlvbnMiLCJhY3Rpb25zVG9QZXJmb3JtIiwiZmlsZU5hbWUiLCJfdGhpczMiLCJvcHRpb25zIiwiZGVzaXJlZE91dHB1dCIsIm91dHB1dCIsImRvd25sb2FkSW1hZ2UiLCJzdG9yZUltYWdlIiwicG5nIiwianBnIiwic3ZnIiwiZk5hbWUiLCJkb3dubG9hZEJsb2IiLCJibG9iIiwiQmxvYiIsInR5cGUiLCJyZWFkZXIiLCJGaWxlUmVhZGVyIiwib25sb2FkIiwiY2FsbGJhY2tEYXRhIiwicmVzdWx0IiwicmVwbGFjZSIsImltYWdlRGF0YSIsInJlYWRBc0RhdGFVUkwiLCJkb3dubG9hZExpbmsiLCJkb2N1bWVudCIsImNyZWF0ZUVsZW1lbnQiLCJib2R5IiwiYXBwZW5kQ2hpbGQiLCJ1cmwiLCJVUkwiLCJjcmVhdGVPYmplY3RVUkwiLCJocmVmIiwiZG93bmxvYWQiLCJjbGljayIsInJldm9rZU9iamVjdFVSTCIsInJlbW92ZUNoaWxkIiwidXBkYXRlQ29udGV4dE1lbnUiLCJjb250ZXh0TWVudSIsIm1lbnVJdGVtcyIsIm1lbnVJdGVtQ2xhc3NlcyIsImdyYXBoT3V0T2ZWaWV3IiwiY3lXaWR0aCIsIndpZHRoIiwiY3lIZWlnaHQiLCJoZWlnaHQiLCJlbEJveCIsInJlbmRlcmVkQm91bmRpbmdib3giLCJ4MSIsInkxIiwieDIiLCJ5MiIsImNvbXBvbmVudERpZFVwZGF0ZSIsInByZXZQcm9wcyIsIl90aGlzJHByb3BzIiwiaXNFcXVhbCIsImNvbXBvbmVudERpZE1vdW50IiwicmVuZGVyIiwiX3RoaXMkcHJvcHMyIiwiY2xhc3NOYW1lIiwic3R5bGVzaGVldCIsInBhbiIsInBhbm5pbmdFbmFibGVkIiwidXNlclBhbm5pbmdFbmFibGVkIiwiem9vbWluZ0VuYWJsZWQiLCJ1c2VyWm9vbWluZ0VuYWJsZWQiLCJ3aGVlbFNlbnNpdGl2aXR5IiwiYm94U2VsZWN0aW9uRW5hYmxlZCIsImF1dG91bmdyYWJpZnkiLCJhdXRvbG9jayIsImF1dG91bnNlbGVjdGlmeSIsImdlbmVyYXRlSW1hZ2UiLCJrZXlzIiwiYWN0aW9uIiwiZmlsZW5hbWUiLCJub3JtYWxpemVFbGVtZW50cyIsInByb3BUeXBlcyIsInN0cmluZyIsIm9iamVjdCIsImZ1bmMiLCJvbmVPZlR5cGUiLCJhcnJheU9mIiwic2hhcGUiLCJudW1iZXIiLCJib29sIiwiZXhhY3QiLCJub2RlcyIsImFycmF5IiwiZWRnZXMiLCJpc1JlcXVpcmVkIiwibmFtZSIsIm9uZU9mIiwicGFkZGluZyIsImFuaW1hdGUiLCJhbmltYXRpb25EdXJhdGlvbiIsImJvdW5kaW5nQm94IiwiZGVmYXVsdFByb3BzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/lib/components/Cytoscape.react.js\n"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _src_assets_contextmenu_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../src/assets/contextmenu.css */ \"./src/assets/contextmenu.css\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var react_cytoscapejs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-cytoscapejs */ \"./node_modules/react-cytoscapejs/dist/react-cytoscape.modern.js\");\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! lodash */ \"./node_modules/lodash/lodash.js\");\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var uuid__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! uuid */ \"./node_modules/uuid/dist/esm-browser/v4.js\");\n/* harmony import */ var _cyResponsive_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../cyResponsive.js */ \"./src/lib/cyResponsive.js\");\n/* harmony import */ var _ungap_custom_elements__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @ungap/custom-elements */ \"./node_modules/@ungap/custom-elements/index.js\");\n/* harmony import */ var _ungap_custom_elements__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_ungap_custom_elements__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _cyleaflet_clientside_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../cyleaflet_clientside.js */ \"./src/lib/cyleaflet_clientside.js\");\n/* harmony import */ var _cyleaflet_clientside_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_cyleaflet_clientside_js__WEBPACK_IMPORTED_MODULE_6__);\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : String(i); }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n/**\n * JavaScript Requirements: cytoscape, cytoscape-svg\n * React.js requirements: react-cytoscapejs\n */\n\n\n\n\n\n\n\n\n// Polyfill so that context menu extension works in Safari\n\nvar cytoscape = __webpack_require__(/*! cytoscape */ \"./node_modules/cytoscape/dist/cytoscape.cjs.js\");\nvar contextMenus = __webpack_require__(/*! cytoscape-context-menus */ \"./node_modules/cytoscape-context-menus/cytoscape-context-menus.js\");\n\n// Clientside callback functions for CyLeaflet AIO component\n\n\n// register extension\ncontextMenus(cytoscape);\n/**\n * A Component Library for Dash aimed at facilitating network visualization in\n * Python, wrapped around [Cytoscape.js](http://js.cytoscape.org/).\n */\nvar Cytoscape = /*#__PURE__*/function (_Component) {\n _inherits(Cytoscape, _Component);\n function Cytoscape(props) {\n var _this;\n _classCallCheck(this, Cytoscape);\n _this = _callSuper(this, Cytoscape, [props]);\n _this.handleCy = _this.handleCy.bind(_assertThisInitialized(_this));\n _this._handleCyCalled = false;\n _this.handleImageGeneration = _this.handleImageGeneration.bind(_assertThisInitialized(_this));\n _this.cyResponsiveClass = false;\n return _this;\n }\n _createClass(Cytoscape, [{\n key: \"generateNode\",\n value: function generateNode(event) {\n var ele = event.target;\n var isParent = ele.isParent(),\n isChildless = ele.isChildless(),\n isChild = ele.isChild(),\n isOrphan = ele.isOrphan(),\n renderedPosition = ele.renderedPosition(),\n relativePosition = ele.relativePosition(),\n parent = ele.parent(),\n style = ele.style();\n\n // Trim down the element objects to only the data contained\n var edgesData = ele.connectedEdges().map(function (ele) {\n return ele.data();\n });\n var childrenData = ele.children().map(function (ele) {\n return ele.data();\n });\n var ancestorsData = ele.ancestors().map(function (ele) {\n return ele.data();\n });\n var descendantsData = ele.descendants().map(function (ele) {\n return ele.data();\n });\n var siblingsData = ele.siblings().map(function (ele) {\n return ele.data();\n });\n var timeStamp = event.timeStamp;\n var _ele$json = ele.json(),\n classes = _ele$json.classes,\n data = _ele$json.data,\n grabbable = _ele$json.grabbable,\n group = _ele$json.group,\n locked = _ele$json.locked,\n position = _ele$json.position,\n selected = _ele$json.selected,\n selectable = _ele$json.selectable;\n var parentData;\n if (parent) {\n parentData = parent.data();\n } else {\n parentData = null;\n }\n var nodeObject = {\n // Nodes attributes\n edgesData: edgesData,\n renderedPosition: renderedPosition,\n timeStamp: timeStamp,\n // From ele.json()\n classes: classes,\n data: data,\n grabbable: grabbable,\n group: group,\n locked: locked,\n position: position,\n selectable: selectable,\n selected: selected,\n // Compound Nodes additional attributes\n ancestorsData: ancestorsData,\n childrenData: childrenData,\n descendantsData: descendantsData,\n parentData: parentData,\n siblingsData: siblingsData,\n isParent: isParent,\n isChildless: isChildless,\n isChild: isChild,\n isOrphan: isOrphan,\n relativePosition: relativePosition,\n // Styling\n style: style\n };\n return nodeObject;\n }\n }, {\n key: \"generateEdge\",\n value: function generateEdge(event) {\n var ele = event.target;\n var midpoint = ele.midpoint(),\n isLoop = ele.isLoop(),\n isSimple = ele.isSimple(),\n sourceData = ele.source().data(),\n sourceEndpoint = ele.sourceEndpoint(),\n style = ele.style(),\n targetData = ele.target().data(),\n targetEndpoint = ele.targetEndpoint();\n var timeStamp = event.timeStamp;\n var _ele$json2 = ele.json(),\n classes = _ele$json2.classes,\n data = _ele$json2.data,\n grabbable = _ele$json2.grabbable,\n group = _ele$json2.group,\n locked = _ele$json2.locked,\n selectable = _ele$json2.selectable,\n selected = _ele$json2.selected;\n var edgeObject = {\n // Edges attributes\n isLoop: isLoop,\n isSimple: isSimple,\n midpoint: midpoint,\n sourceData: sourceData,\n sourceEndpoint: sourceEndpoint,\n targetData: targetData,\n targetEndpoint: targetEndpoint,\n timeStamp: timeStamp,\n // From ele.json()\n classes: classes,\n data: data,\n grabbable: grabbable,\n group: group,\n locked: locked,\n selectable: selectable,\n selected: selected,\n // Styling\n style: style\n };\n return edgeObject;\n }\n }, {\n key: \"handleCy\",\n value: function handleCy(cy) {\n var _this2 = this;\n // If the cy pointer has not been modified, and handleCy has already\n // been called before, than we don't run this function.\n if (cy === this._cy && this._handleCyCalled) {\n return;\n }\n this._cy = cy;\n window.cy = cy;\n this._handleCyCalled = true;\n\n // ///////////////////////////////////// CONSTANTS /////////////////////////////////////////\n var SELECT_THRESHOLD = 100;\n var EXTENT_THRESHOLD = 5;\n var UPDATE_ELEMENTS_THRESHOLD = 100;\n var RESIZE_THRESHOLD = 50;\n var selectedNodes = cy.collection();\n var selectedEdges = cy.collection();\n\n // ///////////////////////////////////// FUNCTIONS /////////////////////////////////////////\n var refreshLayout = lodash__WEBPACK_IMPORTED_MODULE_3___default().debounce(function () {\n /**\n * Refresh Layout if needed\n */\n var _this2$props = _this2.props,\n autoRefreshLayout = _this2$props.autoRefreshLayout,\n layout = _this2$props.layout;\n if (autoRefreshLayout) {\n cy.layout(layout).run();\n }\n }, SELECT_THRESHOLD);\n var sendSelectedNodesData = lodash__WEBPACK_IMPORTED_MODULE_3___default().debounce(function () {\n /**\n This function is repetitively called every time a node is selected\n or unselected, but keeps being debounced if it is called again\n within 100 ms (given by SELECT_THRESHOLD). Effectively, it only\n runs when all the nodes have been correctly selected/unselected and\n added/removed from the selectedNodes collection, and then updates\n the selectedNodeData prop.\n */\n var nodeData = selectedNodes.map(function (el) {\n return el.data();\n });\n _this2.props.setProps({\n selectedNodeData: nodeData\n });\n }, SELECT_THRESHOLD);\n var sendSelectedEdgesData = lodash__WEBPACK_IMPORTED_MODULE_3___default().debounce(function () {\n var edgeData = selectedEdges.map(function (el) {\n return el.data();\n });\n _this2.props.setProps({\n selectedEdgeData: edgeData\n });\n }, SELECT_THRESHOLD);\n var setExtent = lodash__WEBPACK_IMPORTED_MODULE_3___default().debounce(function (cyExtent) {\n _this2.props.setProps({\n extent: cyExtent\n });\n }, EXTENT_THRESHOLD);\n var updateElements = lodash__WEBPACK_IMPORTED_MODULE_3___default().debounce(function () {\n _this2.props.setProps({\n elements: cy.elements('').map(function (item) {\n if (item.json().group === 'nodes') {\n return {\n data: item.json().data,\n position: item.json().position\n };\n }\n return {\n data: item.json().data,\n position: void 0\n };\n })\n });\n }, UPDATE_ELEMENTS_THRESHOLD);\n var resize = lodash__WEBPACK_IMPORTED_MODULE_3___default().debounce(function () {\n cy.resize();\n }, RESIZE_THRESHOLD);\n\n // Store the original maxZoom and minZoom functions\n var originalMaxZoomFn = cy.maxZoom;\n var originalMinZoomFn = cy.minZoom;\n\n // Override the maxZoom function to trigger maxZoomChange custom event\n cy.maxZoom = function (e) {\n var currentMaxZoom = originalMaxZoomFn.call(cy, e);\n\n // Trigger your custom event if the current max zoom level is different from the\n // previously stored max zoom level\n if (currentMaxZoom !== cy._previousMaxZoom) {\n cy._previousMaxZoom = currentMaxZoom;\n cy.trigger('minMaxZoomChange');\n }\n return currentMaxZoom;\n };\n\n // Override the minZoom function to trigger minZoomChange custom event\n cy.minZoom = function (e) {\n var currentMinZoom = originalMinZoomFn.call(cy, e);\n\n // Trigger your custom event if the current min zoom level is different from the\n // previously stored min zoom level\n if (currentMinZoom !== cy._previousMinZoom) {\n cy._previousMinZoom = currentMinZoom;\n cy.trigger('minMaxZoomChange');\n }\n return currentMinZoom;\n };\n\n // /////////////////////////////////////// EVENTS //////////////////////////////////////////\n\n cy.on('tap', 'node', function (event) {\n var nodeObject = _this2.generateNode(event);\n _this2.props.setProps({\n tapNode: nodeObject,\n tapNodeData: Object.assign({}, nodeObject.data, {\n timeStamp: nodeObject.timeStamp\n })\n });\n });\n cy.on('tap', 'edge', function (event) {\n var edgeObject = _this2.generateEdge(event);\n _this2.props.setProps({\n tapEdge: edgeObject,\n tapEdgeData: Object.assign({}, edgeObject.data, {\n timeStamp: edgeObject.timeStamp\n })\n });\n });\n cy.on('mouseover', 'node', function (event) {\n _this2.props.setProps({\n mouseoverNodeData: Object.assign({}, event.target.data(), {\n timeStamp: event.timeStamp\n })\n });\n });\n cy.on('mouseover', 'edge', function (event) {\n _this2.props.setProps({\n mouseoverEdgeData: Object.assign({}, event.target.data(), {\n timeStamp: event.timeStamp\n })\n });\n });\n cy.on('mouseout', 'node', function (_) {\n if (_this2.props.clearOnUnhover === true) {\n _this2.props.setProps({\n mouseoverNodeData: null\n });\n }\n });\n cy.on('mouseout', 'edge', function (_) {\n if (_this2.props.clearOnUnhover === true) {\n _this2.props.setProps({\n mouseoverEdgeData: null\n });\n }\n });\n cy.on('select', 'node', function (event) {\n var ele = event.target;\n selectedNodes.merge(ele);\n sendSelectedNodesData();\n });\n cy.on('unselect remove', 'node', function (event) {\n var ele = event.target;\n selectedNodes.unmerge(ele);\n sendSelectedNodesData();\n });\n cy.on('select', 'edge', function (event) {\n var ele = event.target;\n selectedEdges.merge(ele);\n sendSelectedEdgesData();\n });\n cy.on('unselect remove', 'edge', function (event) {\n var ele = event.target;\n selectedEdges.unmerge(ele);\n sendSelectedEdgesData();\n });\n cy.on('add remove', function () {\n refreshLayout();\n });\n cy.on('dragfree add remove', function (_) {\n updateElements();\n });\n cy.on('resize viewport', function () {\n setExtent(cy.extent());\n });\n cy.on('tapstart', function () {\n resize();\n });\n\n // Refresh layout if current zoom is out of boundaries\n cy.on('minMaxZoomChange', function () {\n var zoom = cy.zoom();\n if (zoom > cy.maxZoom() || zoom < cy.minZoom()) {\n cy.fit();\n }\n });\n this.createMenuItems = function (ctxMenu) {\n var updateContextMenuData = function updateContextMenuData(newContext) {\n _this2.props.setProps({\n contextMenuData: newContext\n });\n };\n var contextMenuDefaultFunctions = {\n remove: function remove(event) {\n var target = event.target || event.cyTarget;\n target.remove();\n },\n add_node: function add_node(event) {\n var pos = event.position || event.cyPosition;\n cy.add({\n data: {\n group: 'nodes'\n },\n position: {\n x: pos.x,\n y: pos.y\n }\n });\n },\n add_edge: function add_edge() {\n var selectedNodeIds = selectedNodes.map(function (node) {\n return node.id();\n });\n if (selectedNodes.length === 0) {\n console.error('Error: No nodes selected, cannot add edge');\n } else if (selectedNodes.length === 1) {\n cy.add({\n data: {\n id: (0,uuid__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(),\n group: 'edges',\n source: selectedNodeIds[0],\n target: selectedNodeIds[0]\n }\n });\n } else if (selectedNodes.length === 2) {\n cy.add({\n data: {\n id: (0,uuid__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(),\n group: 'edges',\n source: selectedNodeIds[0],\n target: selectedNodeIds[1]\n }\n });\n } else {\n console.error('Error: more than 2 nodes selected, cannot add edge');\n }\n }\n };\n var newMenuItems = [];\n var _iterator = _createForOfIteratorHelper(ctxMenu),\n _step;\n try {\n var _loop = function _loop() {\n var item = _step.value;\n var onClickFunction;\n // return data so a user can define a custom on click function in Python\n // if onClick or on onClickCustom are not specified\n onClickFunction = function onClickFunction(event) {\n updateContextMenuData({\n menuItemId: item.id,\n x: event.position.x,\n y: event.position.y,\n timeStamp: event.timeStamp,\n elementId: event.target.data().id,\n edgeSource: event.target.data().source,\n edgeTarget: event.target.data().target\n });\n };\n // use default javascript function as onClickFunction\n if (Object.prototype.hasOwnProperty.call(item, 'onClick')) {\n if (Object.prototype.hasOwnProperty.call(contextMenuDefaultFunctions, item.onClick)) {\n onClickFunction = contextMenuDefaultFunctions[item.onClick];\n } else {\n console.error(\"onClick function \".concat(item.onClick, \" is not defined\"));\n }\n }\n // use user-defined Javascript function in a namespace under assets/ as onClickFunction\n else if (Object.prototype.hasOwnProperty.call(item, 'onClickCustom')) {\n if (Object.prototype.hasOwnProperty.call(window, 'dashCytoscapeFunctions') && Object.prototype.hasOwnProperty.call(window.dashCytoscapeFunctions, item.onClickCustom)) {\n onClickFunction = window.dashCytoscapeFunctions[item.onClickCustom];\n } else {\n console.error(\"onClickCustom function \".concat(item.onClickCustom, \" is not defined\"));\n }\n }\n var new_item = {\n id: item.id,\n content: item.label,\n tooltipText: item.tooltipText,\n selector: '',\n onClickFunction: onClickFunction,\n coreAsWell: false\n };\n if (Object.prototype.hasOwnProperty.call(item, 'availableOn')) {\n var _iterator2 = _createForOfIteratorHelper(item.availableOn),\n _step2;\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var selector = _step2.value;\n if (selector === 'edge') {\n if (new_item.selector.length > 0) {\n new_item.selector = new_item.selector + ', ';\n }\n new_item.selector = new_item.selector + 'edge';\n } else if (selector === 'node') {\n if (new_item.selector.length > 0) {\n new_item.selector = new_item.selector + ', ';\n }\n new_item.selector = new_item.selector + 'node';\n } else if (selector === 'canvas') {\n new_item.coreAsWell = true;\n } else {\n console.error(\"Error: selector \".concat(selector, \" is not available. Choose one of 'node', 'edge' or 'canvas'.\"));\n }\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n }\n newMenuItems.push(new_item);\n };\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n _loop();\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n return newMenuItems;\n };\n this.cyResponsiveClass = new _cyResponsive_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"](cy);\n this.cyResponsiveClass.toggle(this.props.responsive);\n setExtent(cy.extent());\n }\n }, {\n key: \"handleImageGeneration\",\n value: function handleImageGeneration(imageType, imageOptions, actionsToPerform, fileName) {\n var _this3 = this;\n var options = {};\n if (imageOptions) {\n options = imageOptions;\n }\n var desiredOutput = options.output;\n options.output = 'blob';\n var downloadImage;\n var storeImage;\n switch (actionsToPerform) {\n case 'store':\n downloadImage = false;\n storeImage = true;\n break;\n case 'download':\n downloadImage = true;\n storeImage = false;\n break;\n case 'both':\n downloadImage = true;\n storeImage = true;\n break;\n default:\n downloadImage = false;\n storeImage = true;\n break;\n }\n var output;\n if (imageType === 'png') {\n output = this._cy.png(options);\n }\n if (imageType === 'jpg' || imageType === 'jpeg') {\n output = this._cy.jpg(options);\n }\n // only works when svg is imported (see lib/extra_index.js)\n if (imageType === 'svg') {\n output = this._cy.svg(options);\n }\n\n /*\n * If output is empty because of bad options or a cytoscape error,\n * skip any download or storage steps.\n */\n if (output && downloadImage) {\n /*\n * Downloading is initiated client-side because the image is generated at\n * the client. This avoids transferring a potentially large image\n * to the server and back again through a callback.\n */\n var fName = fileName;\n if (!fileName) {\n fName = 'cyto';\n }\n if (imageType !== 'svg') {\n this.downloadBlob(output, fName + '.' + imageType);\n } else {\n var blob = new Blob([output], {\n type: 'image/svg+xml;charset=utf-8'\n });\n this.downloadBlob(blob, fName + '.' + imageType);\n }\n }\n if (output && storeImage) {\n // Default output type if unspecified\n if (!desiredOutput) {\n desiredOutput = 'base64uri';\n }\n if (!(desiredOutput === 'base64uri' || desiredOutput === 'base64')) {\n return;\n }\n\n /*\n * Convert blob to base64uri or base64 string to store the image data.\n * Thank you, base64guru https://base64.guru/developers/javascript/examples/encode-blob\n */\n var reader = new FileReader();\n reader.onload = function () {\n /* FileReader is asynchronous, so the read function is non-blocking.\n * If this code block is placed after the read command, it\n * may result in empty output because the blob has not been loaded yet.\n */\n var callbackData = reader.result;\n if (desiredOutput === 'base64') {\n callbackData = callbackData.replace(/^data:.+;base64,/, '');\n }\n _this3.props.setProps({\n imageData: callbackData\n });\n };\n reader.readAsDataURL(output);\n }\n }\n }, {\n key: \"downloadBlob\",\n value: function downloadBlob(blob, fileName) {\n /*\n * Download blob as file by dynamically creating link.\n * Chrome does not open data URLs when JS opens a new tab directed\n * at the data URL, so this is an alternate implementation\n * that doesn't require extra packages. It may not behave in\n * exactly the same way across browsers (might display image in new tab\n * intead of downloading as a file).\n * Thank you, koldev https://jsfiddle.net/koldev/cW7W5/\n */\n var downloadLink = document.createElement('a');\n downloadLink.style = 'display: none';\n document.body.appendChild(downloadLink);\n var url = window.URL.createObjectURL(blob);\n downloadLink.href = url;\n downloadLink.download = fileName;\n downloadLink.click();\n window.URL.revokeObjectURL(url);\n document.body.removeChild(downloadLink);\n }\n }, {\n key: \"updateContextMenu\",\n value: function updateContextMenu(contextMenu) {\n this._cy.contextMenus({\n menuItems: this.createMenuItems(contextMenu),\n menuItemClasses: ['custom-menu-item']\n });\n }\n\n // Returns true if there is no overlap between the element bounding box\n // and the rendered area of the graph, meaning the graph is entirely outside the viewport;\n // returns false otherwise\n }, {\n key: \"graphOutOfView\",\n value: function graphOutOfView() {\n var cyWidth = this._cy.width();\n var cyHeight = this._cy.height();\n var elBox = this._cy.elements().renderedBoundingbox();\n return elBox.x1 > cyWidth || elBox.y1 > cyHeight || elBox.x2 < 0 || elBox.y2 < 0;\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n var _this$props = this.props,\n contextMenu = _this$props.contextMenu,\n elements = _this$props.elements;\n if (!lodash__WEBPACK_IMPORTED_MODULE_3___default().isEqual(prevProps.contextMenu, contextMenu) && this._cy) {\n this.updateContextMenu(contextMenu);\n }\n if (!lodash__WEBPACK_IMPORTED_MODULE_3___default().isEqual(prevProps.elements, elements) && this._cy) {\n // If elements were updated, and the new graph is *entirely* outside the viewport,\n // fit the viewport to the new elements\n if (this.graphOutOfView()) {\n this._cy.fit();\n }\n }\n }\n }, {\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var contextMenu = this.props.contextMenu;\n if (this._cy && contextMenu.length > 0) {\n this.updateContextMenu(contextMenu);\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props2 = this.props,\n id = _this$props2.id,\n style = _this$props2.style,\n className = _this$props2.className,\n elements = _this$props2.elements,\n stylesheet = _this$props2.stylesheet,\n layout = _this$props2.layout,\n contextMenu = _this$props2.contextMenu,\n contextMenuData = _this$props2.contextMenuData,\n pan = _this$props2.pan,\n zoom = _this$props2.zoom,\n panningEnabled = _this$props2.panningEnabled,\n userPanningEnabled = _this$props2.userPanningEnabled,\n minZoom = _this$props2.minZoom,\n maxZoom = _this$props2.maxZoom,\n zoomingEnabled = _this$props2.zoomingEnabled,\n userZoomingEnabled = _this$props2.userZoomingEnabled,\n wheelSensitivity = _this$props2.wheelSensitivity,\n boxSelectionEnabled = _this$props2.boxSelectionEnabled,\n autoungrabify = _this$props2.autoungrabify,\n autolock = _this$props2.autolock,\n autounselectify = _this$props2.autounselectify,\n generateImage = _this$props2.generateImage,\n responsive = _this$props2.responsive;\n if (Object.keys(generateImage).length > 0) {\n // If no cytoscape object has been created yet, an image cannot be generated,\n // so generateImage will be ignored and cleared.\n this.props.setProps({\n generateImage: {}\n });\n if (this._cy) {\n this.handleImageGeneration(generateImage.type, generateImage.options, generateImage.action, generateImage.filename);\n }\n }\n if (this.cyResponsiveClass) {\n this.cyResponsiveClass.toggle(responsive);\n }\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(react_cytoscapejs__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n id: id,\n cy: this.handleCy,\n className: className,\n style: style,\n elements: react_cytoscapejs__WEBPACK_IMPORTED_MODULE_2__[\"default\"].normalizeElements(elements),\n stylesheet: stylesheet,\n layout: layout,\n contextMenu: contextMenu,\n contextMenuData: contextMenuData,\n pan: pan,\n zoom: zoom,\n panningEnabled: panningEnabled,\n userPanningEnabled: userPanningEnabled,\n minZoom: minZoom,\n maxZoom: maxZoom,\n zoomingEnabled: zoomingEnabled,\n userZoomingEnabled: userZoomingEnabled,\n wheelSensitivity: wheelSensitivity,\n boxSelectionEnabled: boxSelectionEnabled,\n autoungrabify: autoungrabify,\n autolock: autolock,\n autounselectify: autounselectify\n });\n }\n }]);\n return Cytoscape;\n}(react__WEBPACK_IMPORTED_MODULE_1__.Component);\nCytoscape.propTypes = {\n // HTML attribute props\n\n /**\n * The ID used to identify this component in Dash callbacks.\n */\n id: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /**\n * Sets the class name of the element (the value of an element's html\n * class attribute).\n */\n className: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /**\n * Add inline styles to the root element.\n */\n style: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n // Dash specific props\n\n /**\n * Dash-assigned callback that should be called whenever any of the\n * properties change.\n */\n setProps: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().func),\n // Common props\n\n /**\n * A list of dictionaries representing the elements of the networks. Each dictionary describes an element, and\n * specifies its purpose. The [official Cytoscape.js documentation](https://js.cytoscape.org/#notation/elements-json)\n * offers an extensive overview and examples of element declaration.\n * Alternatively, a dictionary with the format { 'nodes': [], 'edges': [] } is allowed at initialization,\n * but arrays remain the recommended format.\n */\n elements: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_8___default().arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_8___default().shape({\n /**\n * Either 'nodes' or 'edges'. If not given, it's automatically inferred.\n */\n group: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** Element specific data.*/\n data: prop_types__WEBPACK_IMPORTED_MODULE_8___default().shape({\n /** Reference to the element, useful for selectors and edges. Randomly assigned if not given.*/\n id: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /**\n * Optional name for the element, useful when `data(label)` is given to a style's `content`\n * or `label`. It is only a convention. */\n label: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** Only for nodes. Optional reference to another node. Needed to create compound nodes. */\n parent: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** Only for edges. The id of the source node, which is where the edge starts. */\n source: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** Only for edges. The id of the target node, where the edge ends. */\n target: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string)\n }),\n /** Only for nodes. The position of the node. */\n position: prop_types__WEBPACK_IMPORTED_MODULE_8___default().shape({\n /** The x-coordinate of the node. */\n x: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /** The y-coordinate of the node. */\n y: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number)\n }),\n /** If the element is selected upon initialisation. */\n selected: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** If the element can be selected. */\n selectable: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Only for nodes. If the position is immutable. */\n locked: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Only for nodes. If the node can be grabbed and moved by the user. */\n grabbable: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * Space separated string of class names of the element. Those classes can be selected\n * by a style selector.\n */\n classes: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string)\n })), prop_types__WEBPACK_IMPORTED_MODULE_8___default().exact({\n nodes: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array),\n edges: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array)\n })]),\n /**\n * A list of dictionaries representing the styles of the elements.\n * Each dictionary requires the following keys: `selector` and `style`.\n *\n * Both the [selector](https://js.cytoscape.org/#selectors) and\n * the [style](https://js.cytoscape.org/#style/node-body) are\n * exhaustively documented in the Cytoscape.js docs. Although methods such\n * as `cy.elements(...)` and `cy.filter(...)` are not available, the selector\n * string syntax stays the same.\n */\n stylesheet: prop_types__WEBPACK_IMPORTED_MODULE_8___default().arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_8___default().exact({\n /**\n * Which elements you are styling. Generally, you select a group of elements (node, edges, both),\n * a class (that you declare in the element dictionary), or an element by ID.\n */\n selector: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string).isRequired,\n /**\n * What aspects of the elements you want to modify. This could be the size or\n * color of a node, the shape of an edge arrow, or many more.\n */\n style: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object).isRequired\n })),\n /**\n * A dictionary specifying how to set the position of the elements in your\n * graph. The `'name'` key is required, and indicates which layout (algorithm) to\n * use. The keys accepted by `layout` vary depending on the algorithm, but these\n * keys are accepted by all layouts: `fit`, `padding`, `animate`, `animationDuration`,\n * `boundingBox`.\n *\n * The complete list of layouts and their accepted options are available on the\n * [Cytoscape.js docs](https://js.cytoscape.org/#layouts) . For the external layouts,\n * the options are listed in the \"API\" section of the README.\n * Note that certain keys are not supported in Dash since the value is a JavaScript\n * function or a callback. Please visit this\n * [issue](https://github.com/plotly/dash-cytoscape/issues/25) for more information.\n */\n layout: prop_types__WEBPACK_IMPORTED_MODULE_8___default().shape({\n /**\n * The layouts available by default are:\n * `random`: Randomly assigns positions.\n * `preset`: Assigns position based on the `position` key in element dictionaries.\n * `circle`: Single-level circle, with optional radius.\n * `concentric`: Multi-level circle, with optional radius.\n * `grid`: Square grid, optionally with numbers of `rows` and `cols`.\n * `breadthfirst`: Tree structure built using BFS, with optional `roots`.\n * `cose`: Force-directed physics simulation.\n *\n * Some external layouts are also included. To use them, run\n * `dash_cytoscape.load_extra_layouts()` before creating your Dash app. Be careful about\n * using the extra layouts when not necessary, since they require supplementary bandwidth\n * for loading, which impacts the startup time of the app.\n * The external layouts are:\n * [cose-bilkent](https://github.com/cytoscape/cytoscape.js-cose-bilkent),\n * [fcose](https://github.com/iVis-at-Bilkent/cytoscape.js-fcose),\n * [cola](https://github.com/cytoscape/cytoscape.js-cola),\n * [euler](https://github.com/cytoscape/cytoscape.js-dagre),\n * [spread](https://github.com/cytoscape/cytoscape.js-spread),\n * [dagre](https://github.com/cytoscape/cytoscape.js-dagre),\n * [klay](https://github.com/cytoscape/cytoscape.js-klay),\n */\n name: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOf(['random', 'preset', 'circle', 'concentric', 'grid', 'breadthfirst', 'cose', 'cose-bilkent', 'fcose', 'cola', 'euler', 'spread', 'dagre', 'klay']).isRequired,\n /** Whether to render the nodes in order to fit the canvas. */\n fit: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Padding around the sides of the canvas, if fit is enabled. */\n padding: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /** Whether to animate change in position when the layout changes. */\n animate: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Duration of animation in milliseconds, if enabled. */\n animationDuration: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /**\n * How to constrain the layout in a specific area. Keys accepted are either\n * `x1, y1, x2, y2` or `x1, y1, w, h`, all of which receive a pixel value.\n */\n boundingBox: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object)\n }),\n /**\n * Define a custom context menu. The behaviour of each menu item can be defined in 1 of 3 ways.\n * 1. By passing a string to onClick that refers to one of the built-in Javascript functions.\n * 2. By passing a string to onClickCustom that refers to one of the user-defined functions in a namespace.\n * 3. By omitting both of these properties; this will update the contextMenuData property and trigger a Dash callback.\n */\n contextMenu: prop_types__WEBPACK_IMPORTED_MODULE_8___default().arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_8___default().exact({\n /** ID of the menu item in the context menu */\n id: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string).isRequired,\n /** The label on the context menu item*/\n label: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string).isRequired,\n /** The tooltip text when hovering on top of a context menu item */\n tooltipText: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** A list containing either 'node', 'edge',and/or 'canvas'. This will determine where the context\n * menu item will show up.\n */\n availableOn: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array),\n /** Specify which built-in JavaScript function to use as behaviour for the context\n * menu item. One of 'remove', 'add_node', or 'add_edge'\n */\n onClick: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** Specify which user-defined Javascript function to use in the dashCytoscapeFunctions\n * namespace as behaviour for the context menu item\n */\n onClickCustom: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string)\n })),\n /**\n * Retrieve relevant data when a context menu item is clicked. Read-only.\n */\n contextMenuData: prop_types__WEBPACK_IMPORTED_MODULE_8___default().exact({\n /** ID of the menu item in the context menu */\n menuItemId: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** x-position of the context click */\n x: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /** y-position of the context click */\n y: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /** Timestamp of context click*/\n timeStamp: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /** Element ID on context click if the context click was on an element.\n * If context click was on white space, this property is not returned\n */\n elementId: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** Node ID of the edge source if the clicked element is an edge,\n * or else this property is not returned*/\n edgeSource: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** Node ID of the edge target if the clicked element is an edge,\n * or else this property is not returned*/\n edgeTarget: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string)\n }),\n // Viewport Manipulation\n\n /**\n * Dictionary indicating the initial panning position of the graph. The\n * following keys are accepted:\n */\n pan: prop_types__WEBPACK_IMPORTED_MODULE_8___default().exact({\n /** The x-coordinate of the node */\n x: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /** The y-coordinate of the node */\n y: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number)\n }),\n /**\n * The initial zoom level of the graph. You can set `minZoom` and\n * `maxZoom` to set restrictions on the zoom level.\n */\n zoom: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n // Viewport Mutability and gesture Toggling\n /**\n * Whether panning the graph is enabled (i.e., the position of the graph is\n * mutable overall).\n */\n panningEnabled: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * Whether user events (e.g. dragging the graph background) are allowed to\n * pan the graph.\n */\n userPanningEnabled: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * A minimum bound on the zoom level of the graph. The viewport can not be\n * scaled smaller than this zoom level.\n */\n minZoom: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /**\n * A maximum bound on the zoom level of the graph. The viewport can not be\n * scaled larger than this zoom level.\n */\n maxZoom: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /**\n * Whether zooming the graph is enabled (i.e., the zoom level of the graph\n * is mutable overall).\n */\n zoomingEnabled: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * Whether user events (e.g. dragging the graph background) are allowed\n * to pan the graph.\n */\n userZoomingEnabled: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * Changes the scroll wheel sensitivity when zooming.\n */\n wheelSensitivity: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /**\n * Whether box selection (i.e. drag a box overlay around, and release it\n * to select) is enabled. If enabled, the user must taphold to pan the graph.\n */\n boxSelectionEnabled: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * Whether nodes should be ungrabified (not grabbable by user) by\n * default (if true, overrides individual node state).\n */\n autoungrabify: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * Whether nodes should be locked (not draggable at all) by default\n * (if true, overrides individual node state).\n */\n autolock: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * Whether nodes should be unselectified (immutable selection state) by\n * default (if true, overrides individual element state).\n */\n autounselectify: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * Whether the layout should be refreshed when elements are added or removed.\n */\n autoRefreshLayout: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n // User Events Props\n\n /**\n * The complete node dictionary returned when you tap or click it. Read-only.\n */\n tapNode: prop_types__WEBPACK_IMPORTED_MODULE_8___default().exact({\n /** node specific item */\n edgesData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array),\n /** node specific item */\n renderedPosition: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** node specific item */\n timeStamp: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /** General item (for all elements) */\n classes: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** General item (for all elements) */\n data: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** General item (for all elements) */\n grabbable: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** General item (for all elements) */\n group: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** General item (for all elements) */\n locked: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** General item (for all elements) */\n position: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** General item (for all elements) */\n selectable: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** General item (for all elements) */\n selected: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** General item (for all elements) */\n style: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** Item for compound nodes */\n ancestorsData: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_8___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array)]),\n /** Item for compound nodes */\n childrenData: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_8___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array)]),\n /** Item for compound nodes */\n descendantsData: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_8___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array)]),\n /** Item for compound nodes */\n parentData: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_8___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array)]),\n /** Item for compound nodes */\n siblingsData: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_8___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array)]),\n /** Item for compound nodes */\n isParent: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Item for compound nodes */\n isChildless: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Item for compound nodes */\n isChild: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Item for compound nodes */\n isOrphan: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Item for compound nodes */\n relativePosition: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object)\n }),\n /**\n * The data dictionary of a node returned when you tap or click it. Read-only.\n */\n tapNodeData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /**\n * The complete edge dictionary returned when you tap or click it. Read-only.\n */\n tapEdge: prop_types__WEBPACK_IMPORTED_MODULE_8___default().exact({\n /** Edge-specific item */\n isLoop: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Edge-specific item */\n isSimple: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Edge-specific item */\n midpoint: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** Edge-specific item */\n sourceData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** Edge-specific item */\n sourceEndpoint: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** Edge-specific item */\n targetData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** Edge-specific item */\n targetEndpoint: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** Edge-specific item */\n timeStamp: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /** General item (for all elements) */\n classes: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** General item (for all elements) */\n data: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** General item (for all elements) */\n grabbable: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** General item (for all elements) */\n group: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** General item (for all elements) */\n locked: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** General item (for all elements) */\n selectable: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** General item (for all elements) */\n selected: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** General item (for all elements) */\n style: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object)\n }),\n /**\n * The data dictionary of an edge returned when you tap or click it. Read-only.\n */\n tapEdgeData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /**\n * The data dictionary of a node returned when you hover over it. Read-only.\n */\n mouseoverNodeData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /**\n * The data dictionary of an edge returned when you hover over it. Read-only.\n */\n mouseoverEdgeData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /**\n * The list of data dictionaries of all selected nodes (e.g. using\n * Shift+Click to select multiple nodes, or Shift+Drag to use box selection). Read-only.\n */\n selectedNodeData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array),\n /**\n * The list of data dictionaries of all selected edges (e.g. using\n * Shift+Click to select multiple nodes, or Shift+Drag to use box selection). Read-only.\n */\n selectedEdgeData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array),\n /**\n * Dictionary specifying options to generate an image of the current cytoscape graph.\n * Value is cleared after data is received and image is generated. This property will\n * be ignored on the initial creation of the cytoscape object and must be invoked through\n * a callback after it has been rendered.\n *\n * If the app does not need the image data server side and/or it will only be used to download\n * the image, it may be prudent to invoke `'download'` for `action` instead of\n * `'store'` to improve performance by preventing transfer of data to the server.\n */\n generateImage: prop_types__WEBPACK_IMPORTED_MODULE_8___default().shape({\n /** File type to output */\n type: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOf(['svg', 'png', 'jpg', 'jpeg']),\n /** Dictionary of options to cy.png() / cy.jpg() or cy.svg() for image generation.\n * See https://js.cytoscape.org/#core/export for details. For `'output'`, only 'base64'\n * and 'base64uri' are supported. Default: `{'output': 'base64uri'}`.*/\n options: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /**\n * `'store'`: Stores the image data (only jpg and png are supported)\n * in `imageData` and invokes server-side Dash callbacks. `'download'`: Downloads the image\n * as a file with all data handling done client-side. No `imageData` callbacks are fired.\n * `'both'`: Stores image data and downloads image as file. The default is `'store'`\n */\n action: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOf(['store', 'download', 'both']),\n /** Name for the file to be downloaded. Default: 'cyto'.*/\n filename: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string)\n }),\n /**\n * String representation of the image requested with generateImage. Null if no\n * image was requested yet or the previous request failed. Read-only.\n */\n imageData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /**\n * Toggles intelligent responsive resize of Cytoscape graph with viewport size change\n */\n responsive: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * Extent of the viewport, a bounding box in model co-ordinates that lets you know what model\n * positions are visible in the viewport. This function returns a plain object bounding box\n * with format { x1, y1, x2, y2, w, h }.\n */\n extent: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /**\n * If set to True, mouseoverNodeData and mouseoverEdgeData will be cleared on unhover.\n * If set to False, the value of mouseoverNodeData and mouseoverEdgeData will be the last\n * Node or Edge hovered over\n */\n clearOnUnhover: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool)\n};\nCytoscape.defaultProps = {\n style: {\n width: '600px',\n height: '600px'\n },\n layout: {\n name: 'grid'\n },\n pan: {\n x: 0,\n y: 0\n },\n zoom: 1,\n minZoom: 1e-50,\n maxZoom: 1e50,\n zoomingEnabled: true,\n userZoomingEnabled: true,\n panningEnabled: true,\n userPanningEnabled: true,\n wheelSensitivity: 1,\n boxSelectionEnabled: false,\n autolock: false,\n autoungrabify: false,\n autounselectify: false,\n autoRefreshLayout: true,\n generateImage: {},\n imageData: null,\n responsive: false,\n clearOnUnhover: false,\n elements: [],\n contextMenu: []\n};\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Cytoscape);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvbGliL2NvbXBvbmVudHMvQ3l0b3NjYXBlLnJlYWN0LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNxQztBQUNFO0FBQ0o7QUFDZ0I7QUFDNUI7QUFDVztBQUNZOztBQUU5QztBQUNnQztBQUVoQyxJQUFNUSxTQUFTLEdBQUdDLG1CQUFPLENBQUMsaUVBQVcsQ0FBQztBQUN0QyxJQUFNQyxZQUFZLEdBQUdELG1CQUFPLENBQUMsa0dBQXlCLENBQUM7O0FBRXZEO0FBQ29DOztBQUVwQztBQUNBQyxZQUFZLENBQUNGLFNBQVMsQ0FBQztBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUhBLElBSU1HLFNBQVMsMEJBQUFDLFVBQUE7RUFBQUMsU0FBQSxDQUFBRixTQUFBLEVBQUFDLFVBQUE7RUFDWCxTQUFBRCxVQUFZRyxLQUFLLEVBQUU7SUFBQSxJQUFBQyxLQUFBO0lBQUFDLGVBQUEsT0FBQUwsU0FBQTtJQUNmSSxLQUFBLEdBQUFFLFVBQUEsT0FBQU4sU0FBQSxHQUFNRyxLQUFLO0lBRVhDLEtBQUEsQ0FBS0csUUFBUSxHQUFHSCxLQUFBLENBQUtHLFFBQVEsQ0FBQ0MsSUFBSSxDQUFBQyxzQkFBQSxDQUFBTCxLQUFBLENBQUssQ0FBQztJQUN4Q0EsS0FBQSxDQUFLTSxlQUFlLEdBQUcsS0FBSztJQUM1Qk4sS0FBQSxDQUFLTyxxQkFBcUIsR0FBR1AsS0FBQSxDQUFLTyxxQkFBcUIsQ0FBQ0gsSUFBSSxDQUFBQyxzQkFBQSxDQUFBTCxLQUFBLENBQUssQ0FBQztJQUNsRUEsS0FBQSxDQUFLUSxpQkFBaUIsR0FBRyxLQUFLO0lBQUMsT0FBQVIsS0FBQTtFQUNuQztFQUFDUyxZQUFBLENBQUFiLFNBQUE7SUFBQWMsR0FBQTtJQUFBQyxLQUFBLEVBRUQsU0FBQUMsYUFBYUMsS0FBSyxFQUFFO01BQ2hCLElBQU1DLEdBQUcsR0FBR0QsS0FBSyxDQUFDRSxNQUFNO01BRXhCLElBQU1D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QU8sQ0FBQztFQUN4Qy9JLE1BQU0sRUFBRTtJQUFDNEwsSUFBSSxFQUFFO0VBQU0sQ0FBQztFQUN0QjdCLEdBQUcsRUFBRTtJQUFDekcsQ0FBQyxFQUFFLENBQUM7SUFBRUMsQ0FBQyxFQUFFO0VBQUMsQ0FBQztFQUNqQmYsSUFBSSxFQUFFLENBQUM7RUFDUHBCLE9BQU8sRUFBRSxLQUFLO0VBQ2RGLE9BQU8sRUFBRSxJQUFJO0VBQ2JnSixjQUFjLEVBQUUsSUFBSTtFQUNwQkMsa0JBQWtCLEVBQUUsSUFBSTtFQUN4QkgsY0FBYyxFQUFFLElBQUk7RUFDcEJDLGtCQUFrQixFQUFFLElBQUk7RUFDeEJHLGdCQUFnQixFQUFFLENBQUM7RUFDbkJDLG1CQUFtQixFQUFFLEtBQUs7RUFDMUJFLFFBQVEsRUFBRSxLQUFLO0VBQ2ZELGFBQWEsRUFBRSxLQUFLO0VBQ3BCRSxlQUFlLEVBQUUsS0FBSztFQUN0QnpLLGlCQUFpQixFQUFFLElBQUk7RUFDdkIwSyxhQUFhLEVBQUUsQ0FBQyxDQUFDO0VBQ2pCakQsU0FBUyxFQUFFLElBQUk7RUFDZnpCLFVBQVUsRUFBRSxLQUFLO0VBQ2pCMUQsY0FBYyxFQUFFLEtBQUs7RUFDckJ2QixRQUFRLEVBQUUsRUFBRTtFQUNaMEgsV0FBVyxFQUFFO0FBQ2pCLENBQUM7QUFFRCxpRUFBZXROLFNBQVMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX2N5dG9zY2FwZS8uL3NyYy9saWIvY29tcG9uZW50cy9DeXRvc2NhcGUucmVhY3QuanM/NjQyYyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEphdmFTY3JpcHQgUmVxdWlyZW1lbnRzOiBjeXRvc2NhcGUsIGN5dG9zY2FwZS1zdmdcbiAqIFJlYWN0LmpzIHJlcXVpcmVtZW50czogcmVhY3QtY3l0b3NjYXBlanNcbiAqL1xuaW1wb3J0ICcvc3JjL2Fzc2V0cy9jb250ZXh0bWVudS5jc3MnO1xuaW1wb3J0IFJlYWN0LCB7Q29tcG9uZW50fSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IEN5dG9zY2FwZUNvbXBvbmVudCBmcm9tICdyZWFjdC1jeXRvc2NhcGVqcyc7XG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHt2NCBhcyB1dWlkdjR9IGZyb20gJ3V1aWQnO1xuaW1wb3J0IEN5UmVzcG9uc2l2ZSBmcm9tICcuLi9jeVJlc3BvbnNpdmUuanMnO1xuXG4vLyBQb2x5ZmlsbCBzbyB0aGF0IGNvbnRleHQgbWVudSBleHRlbnNpb24gd29ya3MgaW4gU2FmYXJpXG5pbXBvcnQgJ0B1bmdhcC9jdXN0b20tZWxlbWVudHMnO1xuXG5jb25zdCBjeXRvc2NhcGUgPSByZXF1aXJlKCdjeXRvc2NhcGUnKTtcbmNvbnN0IGNvbnRleHRNZW51cyA9IHJlcXVpcmUoJ2N5dG9zY2FwZS1jb250ZXh0LW1lbnVzJyk7XG5cbi8vIENsaWVudHNpZGUgY2FsbGJhY2sgZnVuY3Rpb25zIGZvciBDeUxlYWZsZXQgQUlPIGNvbXBvbmVudFxuaW1wb3J0ICcuLi9jeWxlYWZsZXRfY2xpZW50c2lkZS5qcyc7XG5cbi8vIHJlZ2lzdGVyIGV4dGVuc2lvblxuY29udGV4dE1lbnVzKGN5dG9zY2FwZSk7XG4vKipcbiAqIEEgQ29tcG9uZW50IExpYnJhcnkgZm9yIERhc2ggYWltZWQgYXQgZmFjaWxpdGF0aW5nIG5ldHdvcmsgdmlzdWFsaXphdGlvbiBpblxuICogUHl0aG9uLCB3cmFwcGVkIGFyb3VuZCBbQ3l0b3NjYXBlLmpzXShodHRwOi8vanMuY3l0b3NjYXBlLm9yZy8pLlxuICovXG5jbGFzcyBDeXRvc2NhcGUgZXh0ZW5kcyBDb21wb25lbnQge1xuICAgIGNvbnN0cnVjdG9yKHByb3BzKSB7XG4gICAgICAgIHN1cGVyKHByb3BzKTtcblxuICAgICAgICB0aGlzLmhhbmRsZUN5ID0gdGhpcy5oYW5kbGVDeS5iaW5kKHRoaXMpO1xuICAgICAgICB0aGlzLl9oYW5kbGVDeUNhbGxlZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLmhhbmRsZUltYWdlR2VuZXJhdGlvbiA9IHRoaXMuaGFuZGxlSW1hZ2VHZW5lcmF0aW9uLmJpbmQodGhpcyk7XG4gICAgICAgIHRoaXMuY3lSZXNwb25zaXZlQ2xhc3MgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBnZW5lcmF0ZU5vZGUoZXZlbnQpIHtcbiAgICAgICAgY29uc3QgZWxlID0gZXZlbnQudGFyZ2V0O1xuXG4gICAgICAgIGNvbnN0IGlzUGFyZW50ID0gZWxlLmlzUGFyZW50KCksXG4gICAgICAgICAgICBpc0NoaWxkbGVzcyA9IGVsZS5pc0NoaWxkbGVzcygpLFxuICAgICAgICAgICAgaXNDaGlsZCA9IGVsZS5pc0NoaWxkKCksXG4gICAgICAgICAgICBpc09ycGhhbiA9IGVsZS5pc09ycGhhbigpLFxuICAgICAgICAgICAgcmVuZGVyZWRQb3NpdGlvbiA9IGVsZS5yZW5kZXJlZFBvc2l0aW9uKCksXG4gICAgICAgICAgICByZWxhdGl2ZVBvc2l0aW9uID0gZWxlLnJlbGF0aXZlUG9zaXRpb24oKSxcbiAgICAgICAgICAgIHBhcmVudCA9IGVsZS5wYXJlbnQoKSxcbiAgICAgICAgICAgIHN0eWxlID0gZWxlLnN0eWxlKCk7XG5cbiAgICAgICAgLy8gVHJpbSBkb3duIHRoZSBlbGVtZW50IG9iamVjdHMgdG8gb25seSB0aGUgZGF0YSBjb250YWluZWRcbiAgICAgICAgY29uc3QgZWRnZXNEYXRhID0gZWxlLmNvbm5lY3RlZEVkZ2VzKCkubWFwKChlbGUpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBlbGUuZGF0YSgpO1xuICAgICAgICB9KTtcbiAgICAgICAgY29uc3QgY2hpbGRyZW5EYXRhID0gZWxlLmNoaWxkcmVuKCkubWFwKChlbGUpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBlbGUuZGF0YSgpO1xuICAgICAgICB9KTtcbiAgICAgICAgY29uc3QgYW5jZXN0b3JzRGF0YSA9IGVsZS5hbmNlc3RvcnMoKS5tYXAoKGVsZSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGVsZS5kYXRhKCk7XG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBkZXNjZW5kYW50c0RhdGEgPSBlbGUuZGVzY2VuZGFudHMoKS5tYXAoKGVsZSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGVsZS5kYXRhKCk7XG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBzaWJsaW5nc0RhdGEgPSBlbGUuc2libGluZ3MoKS5tYXAoKGVsZSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGVsZS5kYXRhKCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IHt0aW1lU3RhbXB9ID0gZXZlbnQ7XG4gICAgICAgIGNvbnN0IHtcbiAgICAgICAgICAgIGNsYXNzZXMsXG4gICAgICAgICAgICBkYXRhLFxuICAgICAgICAgICAgZ3JhYmJhYmxlLFxuICAgICAgICAgICAgZ3JvdXAsXG4gICAgICAgICAgICBsb2NrZWQsXG4gICAgICAgICAgICBwb3NpdGlvbixcbiAgICAgICAgICAgIHNlbGVjdGVkLFxuICAgICAgICAgICAgc2VsZWN0YWJsZSxcbiAgICAgICAgfSA9IGVsZS5qc29uKCk7XG5cbiAgICAgICAgbGV0IHBhcmVudERhdGE7XG4gICAgICAgIGlmIChwYXJlbnQpIHtcbiAgICAgICAgICAgIHBhcmVudERhdGEgPSBwYXJlbnQuZGF0YSgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcGFyZW50RGF0YSA9IG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBub2RlT2JqZWN0ID0ge1xuICAgICAgICAgICAgLy8gTm9kZXMgYXR0cmlidXRlc1xuICAgICAgICAgICAgZWRnZXNEYXRhLFxuICAgICAgICAgICAgcmVuZGVyZWRQb3NpdGlvbixcbiAgICAgICAgICAgIHRpbWVTdGFtcCxcbiAgICAgICAgICAgIC8vIEZyb20gZWxlLmpzb24oKVxuICAgICAgICAgICAgY2xhc3NlcyxcbiAgICAgICAgICAgIGRhdGEsXG4gICAgICAgICAgICBncmFiYmFibGUsXG4gICAgICAgICAgICBncm91cCxcbiAgICAgICAgICAgIGxvY2tlZCxcbiAgICAgICAgICAgIHBvc2l0aW9uLFxuICAgICAgICAgICAgc2VsZWN0YWJsZSxcbiAgICAgICAgICAgIHNlbGVjdGVkLFxuICAgICAgICAgICAgLy8gQ29tcG91bmQgTm9kZXMgYWRkaXRpb25hbCBhdHRyaWJ1dGVzXG4gICAgICAgICAgICBhbmNlc3RvcnNEYXRhLFxuICAgICAgICAgICAgY2hpbGRyZW5EYXRhLFxuICAgICAgICAgICAgZGVzY2VuZGFudHNEYXRhLFxuICAgICAgICAgICAgcGFyZW50RGF0YSxcbiAgICAgICAgICAgIHNpYmxpbmdzRGF0YSxcbiAgICAgICAgICAgIGlzUGFyZW50LFxuICAgICAgICAgICAgaXNDaGlsZGxlc3MsXG4gICAgICAgICAgICBpc0NoaWxkLFxuICAgICAgICAgICAgaXNPcnBoYW4sXG4gICAgICAgICAgICByZWxhdGl2ZVBvc2l0aW9uLFxuICAgICAgICAgICAgLy8gU3R5bGluZ1xuICAgICAgICAgICAgc3R5bGUsXG4gICAgICAgIH07XG4gICAgICAgIHJldHVybiBub2RlT2JqZWN0O1xuICAgIH1cblxuICAgIGdlbmVyYXRlRWRnZShldmVudCkge1xuICAgICAgICBjb25zdCBlbGUgPSBldmVudC50YXJnZXQ7XG5cbiAgICAgICAgY29uc3QgbWlkcG9pbnQgPSBlbGUubWlkcG9pbnQoKSxcbiAgICAgICAgICAgIGlzTG9vcCA9IGVsZS5pc0xvb3AoKSxcbiAgICAgICAgICAgIGlzU2ltcGxlID0gZWxlLmlzU2ltcGxlKCksXG4gICAgICAgICAgICBzb3VyY2VEYXRhID0gZWxlLnNvdXJjZSgpLmRhdGEoKSxcbiAgICAgICAgICAgIHNvdXJjZUVuZHBvaW50ID0gZWxlLnNvdXJjZUVuZHBvaW50KCksXG4gICAgICAgICAgICBzdHlsZSA9IGVsZS5zdHlsZSgpLFxuICAgICAgICAgICAgdGFyZ2V0RGF0YSA9IGVsZS50YXJnZXQoKS5kYXRhKCksXG4gICAgICAgICAgICB0YXJnZXRFbmRwb2ludCA9IGVsZS50YXJnZXRFbmRwb2ludCgpO1xuXG4gICAgICAgIGNvbnN0IHt0aW1lU3RhbXB9ID0gZXZlbnQ7XG4gICAgICAgIGNvbnN0IHtjbGFzc2VzLCBkYXRhLCBncmFiYmFibGUsIGdyb3VwLCBsb2NrZWQsIHNlbGVjdGFibGUsIHNlbGVjdGVkfSA9XG4gICAgICAgICAgICBlbGUuanNvbigpO1xuXG4gICAgICAgIGNvbnN0IGVkZ2VPYmplY3QgPSB7XG4gICAgICAgICAgICAvLyBFZGdlcyBhdHRyaWJ1dGVzXG4gICAgICAgICAgICBpc0xvb3AsXG4gICAgICAgICAgICBpc1NpbXBsZSxcbiAgICAgICAgICAgIG1pZHBvaW50LFxuICAgICAgICAgICAgc291cmNlRGF0YSxcbiAgICAgICAgICAgIHNvdXJjZUVuZHBvaW50LFxuICAgICAgICAgICAgdGFyZ2V0RGF0YSxcbiAgICAgICAgICAgIHRhcmdldEVuZHBvaW50LFxuICAgICAgICAgICAgdGltZVN0YW1wLFxuICAgICAgICAgICAgLy8gRnJvbSBlbGUuanNvbigpXG4gICAgICAgICAgICBjbGFzc2VzLFxuICAgICAgICAgICAgZGF0YSxcbiAgICAgICAgICAgIGdyYWJiYWJsZSxcbiAgICAgICAgICAgIGdyb3VwLFxuICAgICAgICAgICAgbG9ja2VkLFxuICAgICAgICAgICAgc2VsZWN0YWJsZSxcbiAgICAgICAgICAgIHNlbGVjdGVkLFxuICAgICAgICAgICAgLy8gU3R5bGluZ1xuICAgICAgICAgICAgc3R5bGUsXG4gICAgICAgIH07XG5cbiAgICAgICAgcmV0dXJuIGVkZ2VPYmplY3Q7XG4gICAgfVxuXG4gICAgaGFuZGxlQ3koY3kpIHtcbiAgICAgICAgLy8gSWYgdGhlIGN5IHBvaW50ZXIgaGFzIG5vdCBiZWVuIG1vZGlmaWVkLCBhbmQgaGFuZGxlQ3kgaGFzIGFscmVhZHlcbiAgICAgICAgLy8gYmVlbiBjYWxsZWQgYmVmb3JlLCB0aGFuIHdlIGRvbid0IHJ1biB0aGlzIGZ1bmN0aW9uLlxuICAgICAgICBpZiAoY3kgPT09IHRoaXMuX2N5ICYmIHRoaXMuX2hhbmRsZUN5Q2FsbGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fY3kgPSBjeTtcbiAgICAgICAgd2luZG93LmN5ID0gY3k7XG4gICAgICAgIHRoaXMuX2hhbmRsZUN5Q2FsbGVkID0gdHJ1ZTtcblxuICAgICAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vIENPTlNUQU5UUyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgICAgICBjb25zdCBTRUxFQ1RfVEhSRVNIT0xEID0gMTAwO1xuICAgICAgICBjb25zdCBFWFRFTlRfVEhSRVNIT0xEID0gNTtcbiAgICAgICAgY29uc3QgVVBEQVRFX0VMRU1FTlRTX1RIUkVTSE9MRCA9IDEwMDtcbiAgICAgICAgY29uc3QgUkVTSVpFX1RIUkVTSE9MRCA9IDUwO1xuXG4gICAgICAgIGNvbnN0IHNlbGVjdGVkTm9kZXMgPSBjeS5jb2xsZWN0aW9uKCk7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkRWRnZXMgPSBjeS5jb2xsZWN0aW9uKCk7XG5cbiAgICAgICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyBGVU5DVElPTlMgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAgICAgY29uc3QgcmVmcmVzaExheW91dCA9IF8uZGVib3VuY2UoKCkgPT4ge1xuICAgICAgICAgICAgLyoqXG4gICAgICAgICAgICAgKiBSZWZyZXNoIExheW91dCBpZiBuZWVkZWRcbiAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgY29uc3Qge2F1dG9SZWZyZXNoTGF5b3V0LCBsYXlvdXR9ID0gdGhpcy5wcm9wcztcblxuICAgICAgICAgICAgaWYgKGF1dG9SZWZyZXNoTGF5b3V0KSB7XG4gICAgICAgICAgICAgICAgY3kubGF5b3V0KGxheW91dCkucnVuKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sIFNFTEVDVF9USFJFU0hPTEQpO1xuXG4gICAgICAgIGNvbnN0IHNlbmRTZWxlY3RlZE5vZGVzRGF0YSA9IF8uZGVib3VuY2UoKCkgPT4ge1xuICAgICAgICAgICAgLyoqXG4gICAgICAgICAgICAgICBUaGlzIGZ1bmN0aW9uIGlzIHJlcGV0aXRpdmVseSBjYWxsZWQgZXZlcnkgdGltZSBhIG5vZGUgaXMgc2VsZWN0ZWRcbiAgICAgICAgICAgICAgIG9yIHVuc2VsZWN0ZWQsIGJ1dCBrZWVwcyBiZWluZyBkZWJvdW5jZWQgaWYgaXQgaXMgY2FsbGVkIGFnYWluXG4gICAgICAgICAgICAgICB3aXRoaW4gMTAwIG1zIChnaXZlbiBieSBTRUxFQ1RfVEhSRVNIT0xEKS4gRWZmZWN0aXZlbHksIGl0IG9ubHlcbiAgICAgICAgICAgICAgIHJ1bnMgd2hlbiBhbGwgdGhlIG5vZGVzIGhhdmUgYmVlbiBjb3JyZWN0bHkgc2VsZWN0ZWQvdW5zZWxlY3RlZCBhbmRcbiAgICAgICAgICAgICAgIGFkZGVkL3JlbW92ZWQgZnJvbSB0aGUgc2VsZWN0ZWROb2RlcyBjb2xsZWN0aW9uLCBhbmQgdGhlbiB1cGRhdGVzXG4gICAgICAgICAgICAgICB0aGUgc2VsZWN0ZWROb2RlRGF0YSBwcm9wLlxuICAgICAgICAgICAgICAgKi9cbiAgICAgICAgICAgIGNvbnN0IG5vZGVEYXRhID0gc2VsZWN0ZWROb2Rlcy5tYXAoKGVsKSA9PiBlbC5kYXRhKCkpO1xuXG4gICAgICAgICAgICB0aGlzLnByb3BzLnNldFByb3BzKHtcbiAgICAgICAgICAgICAgICBzZWxlY3RlZE5vZGVEYXRhOiBub2RlRGF0YSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9LCBTRUxFQ1RfVEhSRVNIT0xEKTtcblxuICAgICAgICBjb25zdCBzZW5kU2VsZWN0ZWRFZGdlc0RhdGEgPSBfLmRlYm91bmNlKCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGVkZ2VEYXRhID0gc2VsZWN0ZWRFZGdlcy5tYXAoKGVsKSA9PiBlbC5kYXRhKCkpO1xuXG4gICAgICAgICAgICB0aGlzLnByb3BzLnNldFByb3BzKHtcbiAgICAgICAgICAgICAgICBzZWxlY3RlZEVkZ2VEYXRhOiBlZGdlRGF0YSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9LCBTRUxFQ1RfVEhSRVNIT0xEKTtcblxuICAgICAgICBjb25zdCBzZXRFeHRlbnQgPSBfLmRlYm91bmNlKChjeUV4dGVudCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5wcm9wcy5zZXRQcm9wcyh7XG4gICAgICAgICAgICAgICAgZXh0ZW50OiBjeUV4dGVudCxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9LCBFWFRFTlRfVEhSRVNIT0xEKTtcblxuICAgICAgICBjb25zdCB1cGRhdGVFbGVtZW50cyA9IF8uZGVib3VuY2UoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5wcm9wcy5zZXRQcm9wcyh7XG4gICAgICAgICAgICAgICAgZWxlbWVudHM6IGN5LmVsZW1lbnRzKCcnKS5tYXAoKGl0ZW0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGl0ZW0uanNvbigpLmdyb3VwID09PSAnbm9kZXMnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE6IGl0ZW0uanNvbigpLmRhdGEsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGl0ZW0uanNvbigpLnBvc2l0aW9uLFxuICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGF0YTogaXRlbS5qc29uKCkuZGF0YSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiB2b2lkIDAsXG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSwgVVBEQVRFX0VMRU1FTlRTX1RIUkVTSE9MRCk7XG5cbiAgICAgICAgY29uc3QgcmVzaXplID0gXy5kZWJvdW5jZSgoKSA9PiB7XG4gICAgICAgICAgICBjeS5yZXNpemUoKTtcbiAgICAgICAgfSwgUkVTSVpFX1RIUkVTSE9MRCk7XG5cbiAgICAgICAgLy8gU3RvcmUgdGhlIG9yaWdpbmFsIG1heFpvb20gYW5kIG1pblpvb20gZnVuY3Rpb25zXG4gICAgICAgIGNvbnN0IG9yaWdpbmFsTWF4Wm9vbUZuID0gY3kubWF4Wm9vbTtcbiAgICAgICAgY29uc3Qgb3JpZ2luYWxNaW5ab29tRm4gPSBjeS5taW5ab29tO1xuXG4gICAgICAgIC8vIE92ZXJyaWRlIHRoZSBtYXhab29tIGZ1bmN0aW9uIHRvIHRyaWdnZXIgbWF4Wm9vbUNoYW5nZSBjdXN0b20gZXZlbnRcbiAgICAgICAgY3kubWF4Wm9vbSA9IGZ1bmN0aW9uIChlKSB7XG4gICAgICAgICAgICBjb25zdCBjdXJyZW50TWF4Wm9vbSA9IG9yaWdpbmFsTWF4Wm9vbUZuLmNhbGwoY3ksIGUpO1xuXG4gICAgICAgICAgICAvLyBUcmlnZ2VyIHlvdXIgY3VzdG9tIGV2ZW50IGlmIHRoZSBjdXJyZW50IG1heCB6b29tIGxldmVsIGlzIGRpZmZlcmVudCBmcm9tIHRoZVxuICAgICAgICAgICAgLy8gcHJldmlvdXNseSBzdG9yZWQgbWF4IHpvb20gbGV2ZWxcbiAgICAgICAgICAgIGlmIChjdXJyZW50TWF4Wm9vbSAhPT0gY3kuX3ByZXZpb3VzTWF4Wm9vbSkge1xuICAgICAgICAgICAgICAgIGN5Ll9wcmV2aW91c01heFpvb20gPSBjdXJyZW50TWF4Wm9vbTtcbiAgICAgICAgICAgICAgICBjeS50cmlnZ2VyKCdtaW5NYXhab29tQ2hhbmdlJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gY3VycmVudE1heFpvb207XG4gICAgICAgIH07XG5cbiAgICAgICAgLy8gT3ZlcnJpZGUgdGhlIG1pblpvb20gZnVuY3Rpb24gdG8gdHJpZ2dlciBtaW5ab29tQ2hhbmdlIGN1c3RvbSBldmVudFxuICAgICAgICBjeS5taW5ab29tID0gZnVuY3Rpb24gKGUpIHtcbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRNaW5ab29tID0gb3JpZ2luYWxNaW5ab29tRm4uY2FsbChjeSwgZSk7XG5cbiAgICAgICAgICAgIC8vIFRyaWdnZXIgeW91ciBjdXN0b20gZXZlbnQgaWYgdGhlIGN1cnJlbnQgbWluIHpvb20gbGV2ZWwgaXMgZGlmZmVyZW50IGZyb20gdGhlXG4gICAgICAgICAgICAvLyBwcmV2aW91c2x5IHN0b3JlZCBtaW4gem9vbSBsZXZlbFxuICAgICAgICAgICAgaWYgKGN1cnJlbnRNaW5ab29tICE9PSBjeS5fcHJldmlvdXNNaW5ab29tKSB7XG4gICAgICAgICAgICAgICAgY3kuX3ByZXZpb3VzTWluWm9vbSA9IGN1cnJlbnRNaW5ab29tO1xuICAgICAgICAgICAgICAgIGN5LnRyaWdnZXIoJ21pbk1heFpvb21DaGFuZ2UnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBjdXJyZW50TWluWm9vbTtcbiAgICAgICAgfTtcblxuICAgICAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gRVZFTlRTIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgICAgIGN5Lm9uKCd0YXAnLCAnbm9kZScsIChldmVudCkgPT4ge1xuICAgICAgICAgICAgY29uc3Qgbm9kZU9iamVjdCA9IHRoaXMuZ2VuZXJhdGVOb2RlKGV2ZW50KTtcblxuICAgICAgICAgICAgdGhpcy5wcm9wcy5zZXRQcm9wcyh7XG4gICAgICAgICAgICAgICAgdGFwTm9kZTogbm9kZU9iamVjdCxcbiAgICAgICAgICAgICAgICB0YXBOb2RlRGF0YTogT2JqZWN0LmFzc2lnbih7fSwgbm9kZU9iamVjdC5kYXRhLCB7XG4gICAgICAgICAgICAgICAgICAgIHRpbWVTdGFtcDogbm9kZU9iamVjdC50aW1lU3RhbXAsXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY3kub24oJ3RhcCcsICdlZGdlJywgKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBlZGdlT2JqZWN0ID0gdGhpcy5nZW5lcmF0ZUVkZ2UoZXZlbnQpO1xuXG4gICAgICAgICAgICB0aGlzLnByb3BzLnNldFByb3BzKHtcbiAgICAgICAgICAgICAgICB0YXBFZGdlOiBlZGdlT2JqZWN0LFxuICAgICAgICAgICAgICAgIHRhcEVkZ2VEYXRhOiBPYmplY3QuYXNzaWduKHt9LCBlZGdlT2JqZWN0LmRhdGEsIHtcbiAgICAgICAgICAgICAgICAgICAgdGltZVN0YW1wOiBlZGdlT2JqZWN0LnRpbWVTdGFtcCxcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcblxuICAgICAgICBjeS5vbignbW91c2VvdmVyJywgJ25vZGUnLCAoZXZlbnQpID0+IHtcbiAgICAgICAgICAgIHRoaXMucHJvcHMuc2V0UHJvcHMoe1xuICAgICAgICAgICAgICAgIG1vdXNlb3Zlck5vZGVEYXRhOiBPYmplY3QuYXNzaWduKHt9LCBldmVudC50YXJnZXQuZGF0YSgpLCB7XG4gICAgICAgICAgICAgICAgICAgIHRpbWVTdGFtcDogZXZlbnQudGltZVN0YW1wLFxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGN5Lm9uKCdtb3VzZW92ZXInLCAnZWRnZScsIChldmVudCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5wcm9wcy5zZXRQcm9wcyh7XG4gICAgICAgICAgICAgICAgbW91c2VvdmVyRWRnZURhdGE6IE9iamVjdC5hc3NpZ24oe30sIGV2ZW50LnRhcmdldC5kYXRhKCksIHtcbiAgICAgICAgICAgICAgICAgICAgdGltZVN0YW1wOiBldmVudC50aW1lU3RhbXAsXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY3kub24oJ21vdXNlb3V0JywgJ25vZGUnLCAoXykgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMucHJvcHMuY2xlYXJPblVuaG92ZXIgPT09IHRydWUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnByb3BzLnNldFByb3BzKHttb3VzZW92ZXJOb2RlRGF0YTogbnVsbH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICBjeS5vbignbW91c2VvdXQnLCAnZWRnZScsIChfKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5wcm9wcy5jbGVhck9uVW5ob3ZlciA9PT0gdHJ1ZSkge1xuICAgICAgICAgICAgICAgIHRoaXMucHJvcHMuc2V0UHJvcHMoe1xuICAgICAgICAgICAgICAgICAgICBtb3VzZW92ZXJFZGdlRGF0YTogbnVsbCxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgY3kub24oJ3NlbGVjdCcsICdub2RlJywgKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBlbGUgPSBldmVudC50YXJnZXQ7XG5cbiAgICAgICAgICAgIHNlbGVjdGVkTm9kZXMubWVyZ2UoZWxlKTtcbiAgICAgICAgICAgIHNlbmRTZWxlY3RlZE5vZGVzRGF0YSgpO1xuICAgICAgICB9KTtcblxuICAgICAgICBjeS5vbigndW5zZWxlY3QgcmVtb3ZlJywgJ25vZGUnLCAoZXZlbnQpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGVsZSA9IGV2ZW50LnRhcmdldDtcblxuICAgICAgICAgICAgc2VsZWN0ZWROb2Rlcy51bm1lcmdlKGVsZSk7XG4gICAgICAgICAgICBzZW5kU2VsZWN0ZWROb2Rlc0RhdGEoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY3kub24oJ3NlbGVjdCcsICdlZGdlJywgKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBlbGUgPSBldmVudC50YXJnZXQ7XG5cbiAgICAgICAgICAgIHNlbGVjdGVkRWRnZXMubWVyZ2UoZWxlKTtcbiAgICAgICAgICAgIHNlbmRTZWxlY3RlZEVkZ2VzRGF0YSgpO1xuICAgICAgICB9KTtcblxuICAgICAgICBjeS5vbigndW5zZWxlY3QgcmVtb3ZlJywgJ2VkZ2UnLCAoZXZlbnQpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGVsZSA9IGV2ZW50LnRhcmdldDtcblxuICAgICAgICAgICAgc2VsZWN0ZWRFZGdlcy51bm1lcmdlKGVsZSk7XG4gICAgICAgICAgICBzZW5kU2VsZWN0ZWRFZGdlc0RhdGEoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY3kub24oJ2FkZCByZW1vdmUnLCAoKSA9PiB7XG4gICAgICAgICAgICByZWZyZXNoTGF5b3V0KCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGN5Lm9uKCdkcmFnZnJlZSBhZGQgcmVtb3ZlJywgKF8pID0+IHtcbiAgICAgICAgICAgIHVwZGF0ZUVsZW1lbnRzKCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGN5Lm9uKCdyZXNpemUgdmlld3BvcnQnLCAoKSA9PiB7XG4gICAgICAgICAgICBzZXRFeHRlbnQoY3kuZXh0ZW50KCkpO1xuICAgICAgICB9KTtcblxuICAgICAgICBjeS5vbigndGFwc3RhcnQnLCAoKSA9PiB7XG4gICAgICAgICAgICByZXNpemUoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gUmVmcmVzaCBsYXlvdXQgaWYgY3VycmVudCB6b29tIGlzIG91dCBvZiBib3VuZGFyaWVzXG4gICAgICAgIGN5Lm9uKCdtaW5NYXhab29tQ2hhbmdlJywgZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgY29uc3Qgem9vbSA9IGN5Lnpvb20oKTtcbiAgICAgICAgICAgIGlmICh6b29tID4gY3kubWF4Wm9vbSgpIHx8IHpvb20gPCBjeS5taW5ab29tKCkpIHtcbiAgICAgICAgICAgICAgICBjeS5maXQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5jcmVhdGVNZW51SXRlbXMgPSAoY3R4TWVudSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgdXBkYXRlQ29udGV4dE1lbnVEYXRhID0gKG5ld0NvbnRleHQpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnByb3BzLnNldFByb3BzKHtjb250ZXh0TWVudURhdGE6IG5ld0NvbnRleHR9KTtcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBjb25zdCBjb250ZXh0TWVudURlZmF1bHRGdW5jdGlvbnMgPSB7XG4gICAgICAgICAgICAgICAgcmVtb3ZlOiBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IHx8IGV2ZW50LmN5VGFyZ2V0O1xuICAgICAgICAgICAgICAgICAgICB0YXJnZXQucmVtb3ZlKCk7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBhZGRfbm9kZTogZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHBvcyA9IGV2ZW50LnBvc2l0aW9uIHx8IGV2ZW50LmN5UG9zaXRpb247XG4gICAgICAgICAgICAgICAgICAgIGN5LmFkZCh7XG4gICAgICAgICAgICAgICAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JvdXA6ICdub2RlcycsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB4OiBwb3MueCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB5OiBwb3MueSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgYWRkX2VkZ2U6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWROb2RlSWRzID0gc2VsZWN0ZWROb2Rlcy5tYXAoKG5vZGUpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICBub2RlLmlkKClcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHNlbGVjdGVkTm9kZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFcnJvcjogTm8gbm9kZXMgc2VsZWN0ZWQsIGNhbm5vdCBhZGQgZWRnZSdcbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoc2VsZWN0ZWROb2Rlcy5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGN5LmFkZCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZDogdXVpZHY0KCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyb3VwOiAnZWRnZXMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzb3VyY2U6IHNlbGVjdGVkTm9kZUlkc1swXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0OiBzZWxlY3RlZE5vZGVJZHNbMF0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHNlbGVjdGVkTm9kZXMubGVuZ3RoID09PSAyKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjeS5hZGQoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IHV1aWR2NCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBncm91cDogJ2VkZ2VzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc291cmNlOiBzZWxlY3RlZE5vZGVJZHNbMF0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldDogc2VsZWN0ZWROb2RlSWRzWzFdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0Vycm9yOiBtb3JlIHRoYW4gMiBub2RlcyBzZWxlY3RlZCwgY2Fubm90IGFkZCBlZGdlJ1xuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgY29uc3QgbmV3TWVudUl0ZW1zID0gW107XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgY3R4TWVudSkge1xuICAgICAgICAgICAgICAgIGxldCBvbkNsaWNrRnVuY3Rpb247XG4gICAgICAgICAgICAgICAgLy8gcmV0dXJuIGRhdGEgc28gYSB1c2VyIGNhbiBkZWZpbmUgYSBjdXN0b20gb24gY2xpY2sgZnVuY3Rpb24gaW4gUHl0aG9uXG4gICAgICAgICAgICAgICAgLy8gaWYgb25DbGljayBvciBvbiBvbkNsaWNrQ3VzdG9tIGFyZSBub3Qgc3BlY2lmaWVkXG4gICAgICAgICAgICAgICAgb25DbGlja0Z1bmN0aW9uID0gZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIHVwZGF0ZUNvbnRleHRNZW51RGF0YSh7XG4gICAgICAgICAgICAgICAgICAgICAgICBtZW51SXRlbUlkOiBpdGVtLmlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgeDogZXZlbnQucG9zaXRpb24ueCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHk6IGV2ZW50LnBvc2l0aW9uLnksXG4gICAgICAgICAgICAgICAgICAgICAgICB0aW1lU3RhbXA6IGV2ZW50LnRpbWVTdGFtcCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnRJZDogZXZlbnQudGFyZ2V0LmRhdGEoKS5pZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGVkZ2VTb3VyY2U6IGV2ZW50LnRhcmdldC5kYXRhKCkuc291cmNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgZWRnZVRhcmdldDogZXZlbnQudGFyZ2V0LmRhdGEoKS50YXJnZXQsXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgLy8gdXNlIGRlZmF1bHQgamF2YXNjcmlwdCBmdW5jdGlvbiBhcyBvbkNsaWNrRnVuY3Rpb25cbiAgICAgICAgICAgICAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGl0ZW0sICdvbkNsaWNrJykpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHRNZW51RGVmYXVsdEZ1bmN0aW9ucyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtLm9uQ2xpY2tcbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrRnVuY3Rpb24gPVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHRNZW51RGVmYXVsdEZ1bmN0aW9uc1tpdGVtLm9uQ2xpY2tdO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBgb25DbGljayBmdW5jdGlvbiAke2l0ZW0ub25DbGlja30gaXMgbm90IGRlZmluZWRgXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8vIHVzZSB1c2VyLWRlZmluZWQgSmF2YXNjcmlwdCBmdW5jdGlvbiBpbiBhIG5hbWVzcGFjZSB1bmRlciBhc3NldHMvIGFzIG9uQ2xpY2tGdW5jdGlvblxuICAgICAgICAgICAgICAgIGVsc2UgaWYgKFxuICAgICAgICAgICAgICAgICAgICBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoaXRlbSwgJ29uQ2xpY2tDdXN0b20nKVxuICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2luZG93LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkYXNoQ3l0b3NjYXBlRnVuY3Rpb25zJ1xuICAgICAgICAgICAgICAgICAgICAgICAgKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpbmRvdy5kYXNoQ3l0b3NjYXBlRnVuY3Rpb25zLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0ub25DbGlja0N1c3RvbVxuICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2tGdW5jdGlvbiA9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2luZG93LmRhc2hDeXRvc2NhcGVGdW5jdGlvbnNbaXRlbS5vbkNsaWNrQ3VzdG9tXTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYG9uQ2xpY2tDdXN0b20gZnVuY3Rpb24gJHtpdGVtLm9uQ2xpY2tDdXN0b219IGlzIG5vdCBkZWZpbmVkYFxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjb25zdCBuZXdfaXRlbSA9IHtcbiAgICAgICAgICAgICAgICAgICAgaWQ6IGl0ZW0uaWQsXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IGl0ZW0ubGFiZWwsXG4gICAgICAgICAgICAgICAgICAgIHRvb2x0aXBUZXh0OiBpdGVtLnRvb2x0aXBUZXh0LFxuICAgICAgICAgICAgICAgICAgICBzZWxlY3RvcjogJycsXG4gICAgICAgICAgICAgICAgICAgIG9uQ2xpY2tGdW5jdGlvbjogb25DbGlja0Z1bmN0aW9uLFxuICAgICAgICAgICAgICAgICAgICBjb3JlQXNXZWxsOiBmYWxzZSxcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoaXRlbSwgJ2F2YWlsYWJsZU9uJykpIHtcbiAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCBzZWxlY3RvciBvZiBpdGVtLmF2YWlsYWJsZU9uKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoc2VsZWN0b3IgPT09ICdlZGdlJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChuZXdfaXRlbS5zZWxlY3Rvci5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld19pdGVtLnNlbGVjdG9yID0gbmV3X2l0ZW0uc2VsZWN0b3IgKyAnLCAnO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXdfaXRlbS5zZWxlY3RvciA9IG5ld19pdGVtLnNlbGVjdG9yICsgJ2VkZ2UnO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChzZWxlY3RvciA9PT0gJ25vZGUnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG5ld19pdGVtLnNlbGVjdG9yLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3X2l0ZW0uc2VsZWN0b3IgPSBuZXdfaXRlbS5zZWxlY3RvciArICcsICc7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld19pdGVtLnNlbGVjdG9yID0gbmV3X2l0ZW0uc2VsZWN0b3IgKyAnbm9kZSc7XG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHNlbGVjdG9yID09PSAnY2FudmFzJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld19pdGVtLmNvcmVBc1dlbGwgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgRXJyb3I6IHNlbGVjdG9yICR7c2VsZWN0b3J9IGlzIG5vdCBhdmFpbGFibGUuIENob29zZSBvbmUgb2YgJ25vZGUnLCAnZWRnZScgb3IgJ2NhbnZhcycuYFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgbmV3TWVudUl0ZW1zLnB1c2gobmV3X2l0ZW0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIG5ld01lbnVJdGVtcztcbiAgICAgICAgfTtcblxuICAgICAgICB0aGlzLmN5UmVzcG9uc2l2ZUNsYXNzID0gbmV3IEN5UmVzcG9uc2l2ZShjeSk7XG4gICAgICAgIHRoaXMuY3lSZXNwb25zaXZlQ2xhc3MudG9nZ2xlKHRoaXMucHJvcHMucmVzcG9uc2l2ZSk7XG5cbiAgICAgICAgc2V0RXh0ZW50KGN5LmV4dGVudCgpKTtcbiAgICB9XG5cbiAgICBoYW5kbGVJbWFnZUdlbmVyYXRpb24oaW1hZ2VUeXBlLCBpbWFnZU9wdGlvbnMsIGFjdGlvbnNUb1BlcmZvcm0sIGZpbGVOYW1lKSB7XG4gICAgICAgIGxldCBvcHRpb25zID0ge307XG4gICAgICAgIGlmIChpbWFnZU9wdGlvbnMpIHtcbiAgICAgICAgICAgIG9wdGlvbnMgPSBpbWFnZU9wdGlvbnM7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgZGVzaXJlZE91dHB1dCA9IG9wdGlvbnMub3V0cHV0O1xuICAgICAgICBvcHRpb25zLm91dHB1dCA9ICdibG9iJztcblxuICAgICAgICBsZXQgZG93bmxvYWRJbWFnZTtcbiAgICAgICAgbGV0IHN0b3JlSW1hZ2U7XG4gICAgICAgIHN3aXRjaCAoYWN0aW9uc1RvUGVyZm9ybSkge1xuICAgICAgICAgICAgY2FzZSAnc3RvcmUnOlxuICAgICAgICAgICAgICAgIGRvd25sb2FkSW1hZ2UgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICBzdG9yZUltYWdlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ2Rvd25sb2FkJzpcbiAgICAgICAgICAgICAgICBkb3dubG9hZEltYWdlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBzdG9yZUltYWdlID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdib3RoJzpcbiAgICAgICAgICAgICAgICBkb3dubG9hZEltYWdlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBzdG9yZUltYWdlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgZG93bmxvYWRJbWFnZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHN0b3JlSW1hZ2UgPSB0cnVlO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IG91dHB1dDtcbiAgICAgICAgaWYgKGltYWdlVHlwZSA9PT0gJ3BuZycpIHtcbiAgICAgICAgICAgIG91dHB1dCA9IHRoaXMuX2N5LnBuZyhvcHRpb25zKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaW1hZ2VUeXBlID09PSAnanBnJyB8fCBpbWFnZVR5cGUgPT09ICdqcGVnJykge1xuICAgICAgICAgICAgb3V0cHV0ID0gdGhpcy5fY3kuanBnKG9wdGlvbnMpO1xuICAgICAgICB9XG4gICAgICAgIC8vIG9ubHkgd29ya3Mgd2hlbiBzdmcgaXMgaW1wb3J0ZWQgKHNlZSBsaWIvZXh0cmFfaW5kZXguanMpXG4gICAgICAgIGlmIChpbWFnZVR5cGUgPT09ICdzdmcnKSB7XG4gICAgICAgICAgICBvdXRwdXQgPSB0aGlzLl9jeS5zdmcob3B0aW9ucyk7XG4gICAgICAgIH1cblxuICAgICAgICAvKlxuICAgICAgICAgKiBJZiBvdXRwdXQgaXMgZW1wdHkgYmVjYXVzZSBvZiBiYWQgb3B0aW9ucyBvciBhIGN5dG9zY2FwZSBlcnJvcixcbiAgICAgICAgICogc2tpcCBhbnkgZG93bmxvYWQgb3Igc3RvcmFnZSBzdGVwcy5cbiAgICAgICAgICovXG4gICAgICAgIGlmIChvdXRwdXQgJiYgZG93bmxvYWRJbWFnZSkge1xuICAgICAgICAgICAgLypcbiAgICAgICAgICAgICAqIERvd25sb2FkaW5nIGlzIGluaXRpYXRlZCBjbGllbnQtc2lkZSBiZWNhdXNlIHRoZSBpbWFnZSBpcyBnZW5lcmF0ZWQgYXRcbiAgICAgICAgICAgICAqIHRoZSBjbGllbnQuIFRoaXMgYXZvaWRzIHRyYW5zZmVycmluZyBhIHBvdGVudGlhbGx5IGxhcmdlIGltYWdlXG4gICAgICAgICAgICAgKiB0byB0aGUgc2VydmVyIGFuZCBiYWNrIGFnYWluIHRocm91Z2ggYSBjYWxsYmFjay5cbiAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgbGV0IGZOYW1lID0gZmlsZU5hbWU7XG4gICAgICAgICAgICBpZiAoIWZpbGVOYW1lKSB7XG4gICAgICAgICAgICAgICAgZk5hbWUgPSAnY3l0byc7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChpbWFnZVR5cGUgIT09ICdzdmcnKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5kb3dubG9hZEJsb2Iob3V0cHV0LCBmTmFtZSArICcuJyArIGltYWdlVHlwZSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnN0IGJsb2IgPSBuZXcgQmxvYihbb3V0cHV0XSwge1xuICAgICAgICAgICAgICAgICAgICB0eXBlOiAnaW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04JyxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB0aGlzLmRvd25sb2FkQmxvYihibG9iLCBmTmFtZSArICcuJyArIGltYWdlVHlwZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAob3V0cHV0ICYmIHN0b3JlSW1hZ2UpIHtcbiAgICAgICAgICAgIC8vIERlZmF1bHQgb3V0cHV0IHR5cGUgaWYgdW5zcGVjaWZpZWRcbiAgICAgICAgICAgIGlmICghZGVzaXJlZE91dHB1dCkge1xuICAgICAgICAgICAgICAgIGRlc2lyZWRPdXRwdXQgPSAnYmFzZTY0dXJpJztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICEoZGVzaXJlZE91dHB1dCA9PT0gJ2Jhc2U2NHVyaScgfHwgZGVzaXJlZE91dHB1dCA9PT0gJ2Jhc2U2NCcpXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8qXG4gICAgICAgICAgICAgKiBDb252ZXJ0IGJsb2IgdG8gYmFzZTY0dXJpIG9yIGJhc2U2NCBzdHJpbmcgdG8gc3RvcmUgdGhlIGltYWdlIGRhdGEuXG4gICAgICAgICAgICAgKiBUaGFuayB5b3UsIGJhc2U2NGd1cnUgaHR0cHM6Ly9iYXNlNjQuZ3VydS9kZXZlbG9wZXJzL2phdmFzY3JpcHQvZXhhbXBsZXMvZW5jb2RlLWJsb2JcbiAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgY29uc3QgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcbiAgICAgICAgICAgIHJlYWRlci5vbmxvYWQgPSAoKSA9PiB7XG4gICAgICAgICAgICAgICAgLyogRmlsZVJlYWRlciBpcyBhc3luY2hyb25vdXMsIHNvIHRoZSByZWFkIGZ1bmN0aW9uIGlzIG5vbi1ibG9ja2luZy5cbiAgICAgICAgICAgICAgICAgKiBJZiB0aGlzIGNvZGUgYmxvY2sgaXMgcGxhY2VkIGFmdGVyIHRoZSByZWFkIGNvbW1hbmQsIGl0XG4gICAgICAgICAgICAgICAgICogbWF5IHJlc3VsdCBpbiBlbXB0eSBvdXRwdXQgYmVjYXVzZSB0aGUgYmxvYiBoYXMgbm90IGJlZW4gbG9hZGVkIHlldC5cbiAgICAgICAgICAgICAgICAgKi9cbiAgICAgICAgICAgICAgICBsZXQgY2FsbGJhY2tEYXRhID0gcmVhZGVyLnJlc3VsdDtcbiAgICAgICAgICAgICAgICBpZiAoZGVzaXJlZE91dHB1dCA9PT0gJ2Jhc2U2NCcpIHtcbiAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2tEYXRhID0gY2FsbGJhY2tEYXRhLnJlcGxhY2UoL15kYXRhOi4rO2Jhc2U2NCwvLCAnJyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMucHJvcHMuc2V0UHJvcHMoe2ltYWdlRGF0YTogY2FsbGJhY2tEYXRhfSk7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgcmVhZGVyLnJlYWRBc0RhdGFVUkwob3V0cHV0KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGRvd25sb2FkQmxvYihibG9iLCBmaWxlTmFtZSkge1xuICAgICAgICAvKlxuICAgICAgICAgKiBEb3dubG9hZCBibG9iIGFzIGZpbGUgYnkgZHluYW1pY2FsbHkgY3JlYXRpbmcgbGluay5cbiAgICAgICAgICogQ2hyb21lIGRvZXMgbm90IG9wZW4gZGF0YSBVUkxzIHdoZW4gSlMgb3BlbnMgYSBuZXcgdGFiIGRpcmVjdGVkXG4gICAgICAgICAqIGF0IHRoZSBkYXRhIFVSTCwgc28gdGhpcyBpcyBhbiBhbHRlcm5hdGUgaW1wbGVtZW50YXRpb25cbiAgICAgICAgICogdGhhdCBkb2Vzbid0IHJlcXVpcmUgZXh0cmEgcGFja2FnZXMuIEl0IG1heSBub3QgYmVoYXZlIGluXG4gICAgICAgICAqIGV4YWN0bHkgdGhlIHNhbWUgd2F5IGFjcm9zcyBicm93c2VycyAobWlnaHQgZGlzcGxheSBpbWFnZSBpbiBuZXcgdGFiXG4gICAgICAgICAqIGludGVhZCBvZiBkb3dubG9hZGluZyBhcyBhIGZpbGUpLlxuICAgICAgICAgKiBUaGFuayB5b3UsIGtvbGRldiBodHRwczovL2pzZmlkZGxlLm5ldC9rb2xkZXYvY1c3VzUvXG4gICAgICAgICAqL1xuICAgICAgICBjb25zdCBkb3dubG9hZExpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XG4gICAgICAgIGRvd25sb2FkTGluay5zdHlsZSA9ICdkaXNwbGF5OiBub25lJztcbiAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkb3dubG9hZExpbmspO1xuXG4gICAgICAgIGNvbnN0IHVybCA9IHdpbmRvdy5VUkwuY3JlYXRlT2JqZWN0VVJMKGJsb2IpO1xuICAgICAgICBkb3dubG9hZExpbmsuaHJlZiA9IHVybDtcbiAgICAgICAgZG93bmxvYWRMaW5rLmRvd25sb2FkID0gZmlsZU5hbWU7XG4gICAgICAgIGRvd25sb2FkTGluay5jbGljaygpO1xuICAgICAgICB3aW5kb3cuVVJMLnJldm9rZU9iamVjdFVSTCh1cmwpO1xuXG4gICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoZG93bmxvYWRMaW5rKTtcbiAgICB9XG5cbiAgICB1cGRhdGVDb250ZXh0TWVudShjb250ZXh0TWVudSkge1xuICAgICAgICB0aGlzLl9jeS5jb250ZXh0TWVudXMoe1xuICAgICAgICAgICAgbWVudUl0ZW1zOiB0aGlzLmNyZWF0ZU1lbnVJdGVtcyhjb250ZXh0TWVudSksXG4gICAgICAgICAgICBtZW51SXRlbUNsYXNzZXM6IFsnY3VzdG9tLW1lbnUtaXRlbSddLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvLyBSZXR1cm5zIHRydWUgaWYgdGhlcmUgaXMgbm8gb3ZlcmxhcCBiZXR3ZWVuIHRoZSBlbGVtZW50IGJvdW5kaW5nIGJveFxuICAgIC8vIGFuZCB0aGUgcmVuZGVyZWQgYXJlYSBvZiB0aGUgZ3JhcGgsIG1lYW5pbmcgdGhlIGdyYXBoIGlzIGVudGlyZWx5IG91dHNpZGUgdGhlIHZpZXdwb3J0O1xuICAgIC8vIHJldHVybnMgZmFsc2Ugb3RoZXJ3aXNlXG4gICAgZ3JhcGhPdXRPZlZpZXcoKSB7XG4gICAgICAgIGNvbnN0IGN5V2lkdGggPSB0aGlzLl9jeS53aWR0aCgpO1xuICAgICAgICBjb25zdCBjeUhlaWdodCA9IHRoaXMuX2N5LmhlaWdodCgpO1xuICAgICAgICBjb25zdCBlbEJveCA9IHRoaXMuX2N5LmVsZW1lbnRzKCkucmVuZGVyZWRCb3VuZGluZ2JveCgpO1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgZWxCb3gueDEgPiBjeVdpZHRoIHx8XG4gICAgICAgICAgICBlbEJveC55MSA+IGN5SGVpZ2h0IHx8XG4gICAgICAgICAgICBlbEJveC54MiA8IDAgfHxcbiAgICAgICAgICAgIGVsQm94LnkyIDwgMFxuICAgICAgICApO1xuICAgIH1cblxuICAgIGNvbXBvbmVudERpZFVwZGF0ZShwcmV2UHJvcHMpIHtcbiAgICAgICAgY29uc3Qge2NvbnRleHRNZW51LCBlbGVtZW50c30gPSB0aGlzLnByb3BzO1xuICAgICAgICBpZiAoIV8uaXNFcXVhbChwcmV2UHJvcHMuY29udGV4dE1lbnUsIGNvbnRleHRNZW51KSAmJiB0aGlzLl9jeSkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVDb250ZXh0TWVudShjb250ZXh0TWVudSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFfLmlzRXF1YWwocHJldlByb3BzLmVsZW1lbnRzLCBlbGVtZW50cykgJiYgdGhpcy5fY3kpIHtcbiAgICAgICAgICAgIC8vIElmIGVsZW1lbnRzIHdlcmUgdXBkYXRlZCwgYW5kIHRoZSBuZXcgZ3JhcGggaXMgKmVudGlyZWx5KiBvdXRzaWRlIHRoZSB2aWV3cG9ydCxcbiAgICAgICAgICAgIC8vIGZpdCB0aGUgdmlld3BvcnQgdG8gdGhlIG5ldyBlbGVtZW50c1xuICAgICAgICAgICAgaWYgKHRoaXMuZ3JhcGhPdXRPZlZpZXcoKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuX2N5LmZpdCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgICAgICBjb25zdCB7Y29udGV4dE1lbnV9ID0gdGhpcy5wcm9wcztcbiAgICAgICAgaWYgKHRoaXMuX2N5ICYmIGNvbnRleHRNZW51Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlQ29udGV4dE1lbnUoY29udGV4dE1lbnUpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJlbmRlcigpIHtcbiAgICAgICAgY29uc3Qge1xuICAgICAgICAgICAgLy8gSFRNTCBhdHRyaWJ1dGUgcHJvcHNcbiAgICAgICAgICAgIGlkLFxuICAgICAgICAgICAgc3R5bGUsXG4gICAgICAgICAgICBjbGFzc05hbWUsXG4gICAgICAgICAgICAvLyBDb21tb24gcHJvcHNcbiAgICAgICAgICAgIGVsZW1lbnRzLFxuICAgICAgICAgICAgc3R5bGVzaGVldCxcbiAgICAgICAgICAgIGxheW91dCxcbiAgICAgICAgICAgIGNvbnRleHRNZW51LFxuICAgICAgICAgICAgY29udGV4dE1lbnVEYXRhLFxuICAgICAgICAgICAgLy8gVmlld3BvcnQgTWFuaXB1bGF0aW9uXG4gICAgICAgICAgICBwYW4sXG4gICAgICAgICAgICB6b29tLFxuICAgICAgICAgICAgLy8gVmlld3BvcnQgTXV0YWJpbGl0eSBhbmQgZ2VzdHVyZSBUb2dnbGluZ1xuICAgICAgICAgICAgcGFubmluZ0VuYWJsZWQsXG4gICAgICAgICAgICB1c2VyUGFubmluZ0VuYWJsZWQsXG4gICAgICAgICAgICBtaW5ab29tLFxuICAgICAgICAgICAgbWF4Wm9vbSxcbiAgICAgICAgICAgIHpvb21pbmdFbmFibGVkLFxuICAgICAgICAgICAgdXNlclpvb21pbmdFbmFibGVkLFxuICAgICAgICAgICAgd2hlZWxTZW5zaXRpdml0eSxcbiAgICAgICAgICAgIGJveFNlbGVjdGlvbkVuYWJsZWQsXG4gICAgICAgICAgICBhdXRvdW5ncmFiaWZ5LFxuICAgICAgICAgICAgYXV0b2xvY2ssXG4gICAgICAgICAgICBhdXRvdW5zZWxlY3RpZnksXG4gICAgICAgICAgICAvLyBJbWFnZSBoYW5kbGluZ1xuICAgICAgICAgICAgZ2VuZXJhdGVJbWFnZSxcbiAgICAgICAgICAgIC8vIFJlc3BvbnNpdmUgZ3JhcGhzXG4gICAgICAgICAgICByZXNwb25zaXZlLFxuICAgICAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgICAgICBpZiAoT2JqZWN0LmtleXMoZ2VuZXJhdGVJbWFnZSkubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgLy8gSWYgbm8gY3l0b3NjYXBlIG9iamVjdCBoYXMgYmVlbiBjcmVhdGVkIHlldCwgYW4gaW1hZ2UgY2Fubm90IGJlIGdlbmVyYXRlZCxcbiAgICAgICAgICAgIC8vIHNvIGdlbmVyYXRlSW1hZ2Ugd2lsbCBiZSBpZ25vcmVkIGFuZCBjbGVhcmVkLlxuICAgICAgICAgICAgdGhpcy5wcm9wcy5zZXRQcm9wcyh7Z2VuZXJhdGVJbWFnZToge319KTtcbiAgICAgICAgICAgIGlmICh0aGlzLl9jeSkge1xuICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlSW1hZ2VHZW5lcmF0aW9uKFxuICAgICAgICAgICAgICAgICAgICBnZW5lcmF0ZUltYWdlLnR5cGUsXG4gICAgICAgICAgICAgICAgICAgIGdlbmVyYXRlSW1hZ2Uub3B0aW9ucyxcbiAgICAgICAgICAgICAgICAgICAgZ2VuZXJhdGVJbWFnZS5hY3Rpb24sXG4gICAgICAgICAgICAgICAgICAgIGdlbmVyYXRlSW1hZ2UuZmlsZW5hbWVcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuY3lSZXNwb25zaXZlQ2xhc3MpIHtcbiAgICAgICAgICAgIHRoaXMuY3lSZXNwb25zaXZlQ2xhc3MudG9nZ2xlKHJlc3BvbnNpdmUpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDxDeXRvc2NhcGVDb21wb25lbnRcbiAgICAgICAgICAgICAgICBpZD17aWR9XG4gICAgICAgICAgICAgICAgY3k9e3RoaXMuaGFuZGxlQ3l9XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWV9XG4gICAgICAgICAgICAgICAgc3R5bGU9e3N0eWxlfVxuICAgICAgICAgICAgICAgIGVsZW1lbnRzPXtDeXRvc2NhcGVDb21wb25lbnQubm9ybWFsaXplRWxlbWVudHMoZWxlbWVudHMpfVxuICAgICAgICAgICAgICAgIHN0eWxlc2hlZXQ9e3N0eWxlc2hlZXR9XG4gICAgICAgICAgICAgICAgbGF5b3V0PXtsYXlvdXR9XG4gICAgICAgICAgICAgICAgY29udGV4dE1lbnU9e2NvbnRleHRNZW51fVxuICAgICAgICAgICAgICAgIGNvbnRleHRNZW51RGF0YT17Y29udGV4dE1lbnVEYXRhfVxuICAgICAgICAgICAgICAgIHBhbj17cGFufVxuICAgICAgICAgICAgICAgIHpvb209e3pvb219XG4gICAgICAgICAgICAgICAgcGFubmluZ0VuYWJsZWQ9e3Bhbm5pbmdFbmFibGVkfVxuICAgICAgICAgICAgICAgIHVzZXJQYW5uaW5nRW5hYmxlZD17dXNlclBhbm5pbmdFbmFibGVkfVxuICAgICAgICAgICAgICAgIG1pblpvb209e21pblpvb219XG4gICAgICAgICAgICAgICAgbWF4Wm9vbT17bWF4Wm9vbX1cbiAgICAgICAgICAgICAgICB6b29taW5nRW5hYmxlZD17em9vbWluZ0VuYWJsZWR9XG4gICAgICAgICAgICAgICAgdXNlclpvb21pbmdFbmFibGVkPXt1c2VyWm9vbWluZ0VuYWJsZWR9XG4gICAgICAgICAgICAgICAgd2hlZWxTZW5zaXRpdml0eT17d2hlZWxTZW5zaXRpdml0eX1cbiAgICAgICAgICAgICAgICBib3hTZWxlY3Rpb25FbmFibGVkPXtib3hTZWxlY3Rpb25FbmFibGVkfVxuICAgICAgICAgICAgICAgIGF1dG91bmdyYWJpZnk9e2F1dG91bmdyYWJpZnl9XG4gICAgICAgICAgICAgICAgYXV0b2xvY2s9e2F1dG9sb2NrfVxuICAgICAgICAgICAgICAgIGF1dG91bnNlbGVjdGlmeT17YXV0b3Vuc2VsZWN0aWZ5fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgKTtcbiAgICB9XG59XG5cbkN5dG9zY2FwZS5wcm9wVHlwZXMgPSB7XG4gICAgLy8gSFRNTCBhdHRyaWJ1dGUgcHJvcHNcblxuICAgIC8qKlxuICAgICAqIFRoZSBJRCB1c2VkIHRvIGlkZW50aWZ5IHRoaXMgY29tcG9uZW50IGluIERhc2ggY2FsbGJhY2tzLlxuICAgICAqL1xuICAgIGlkOiBQcm9wVHlwZXMuc3RyaW5nLFxuXG4gICAgLyoqXG4gICAgICogU2V0cyB0aGUgY2xhc3MgbmFtZSBvZiB0aGUgZWxlbWVudCAodGhlIHZhbHVlIG9mIGFuIGVsZW1lbnQncyBodG1sXG4gICAgICogY2xhc3MgYXR0cmlidXRlKS5cbiAgICAgKi9cbiAgICBjbGFzc05hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG5cbiAgICAvKipcbiAgICAgKiBBZGQgaW5saW5lIHN0eWxlcyB0byB0aGUgcm9vdCBlbGVtZW50LlxuICAgICAqL1xuICAgIHN0eWxlOiBQcm9wVHlwZXMub2JqZWN0LFxuXG4gICAgLy8gRGFzaCBzcGVjaWZpYyBwcm9wc1xuXG4gICAgLyoqXG4gICAgICogRGFzaC1hc3NpZ25lZCBjYWxsYmFjayB0aGF0IHNob3VsZCBiZSBjYWxsZWQgd2hlbmV2ZXIgYW55IG9mIHRoZVxuICAgICAqIHByb3BlcnRpZXMgY2hhbmdlLlxuICAgICAqL1xuICAgIHNldFByb3BzOiBQcm9wVHlwZXMuZnVuYyxcblxuICAgIC8vIENvbW1vbiBwcm9wc1xuXG4gICAgLyoqXG4gICAgICogQSBsaXN0IG9mIGRpY3Rpb25hcmllcyByZXByZXNlbnRpbmcgdGhlIGVsZW1lbnRzIG9mIHRoZSBuZXR3b3Jrcy4gRWFjaCBkaWN0aW9uYXJ5IGRlc2NyaWJlcyBhbiBlbGVtZW50LCBhbmRcbiAgICAgKiBzcGVjaWZpZXMgaXRzIHB1cnBvc2UuIFRoZSBbb2ZmaWNpYWwgQ3l0b3NjYXBlLmpzIGRvY3VtZW50YXRpb25dKGh0dHBzOi8vanMuY3l0b3NjYXBlLm9yZy8jbm90YXRpb24vZWxlbWVudHMtanNvbilcbiAgICAgKiBvZmZlcnMgYW4gZXh0ZW5zaXZlIG92ZXJ2aWV3IGFuZCBleGFtcGxlcyBvZiBlbGVtZW50IGRlY2xhcmF0aW9uLlxuICAgICAqIEFsdGVybmF0aXZlbHksIGEgZGljdGlvbmFyeSB3aXRoIHRoZSBmb3JtYXQgeyAnbm9kZXMnOiBbXSwgJ2VkZ2VzJzogW10gfSBpcyBhbGxvd2VkIGF0IGluaXRpYWxpemF0aW9uLFxuICAgICAqIGJ1dCBhcnJheXMgcmVtYWluIHRoZSByZWNvbW1lbmRlZCBmb3JtYXQuXG4gICAgICovXG4gICAgZWxlbWVudHM6IFByb3BUeXBlcy5vbmVPZlR5cGUoW1xuICAgICAgICBQcm9wVHlwZXMuYXJyYXlPZihcbiAgICAgICAgICAgIFByb3BUeXBlcy5zaGFwZSh7XG4gICAgICAgICAgICAgICAgLyoqXG4gICAgICAgICAgICAgICAgICogRWl0aGVyICdub2Rlcycgb3IgJ2VkZ2VzJy4gSWYgbm90IGdpdmVuLCBpdCdzIGF1dG9tYXRpY2FsbHkgaW5mZXJyZWQuXG4gICAgICAgICAgICAgICAgICovXG4gICAgICAgICAgICAgICAgZ3JvdXA6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICAgICAgICAgICAgLyoqIEVsZW1lbnQgc3BlY2lmaWMgZGF0YS4qL1xuICAgICAgICAgICAgICAgIGRhdGE6IFByb3BUeXBlcy5zaGFwZSh7XG4gICAgICAgICAgICAgICAgICAgIC8qKiAgUmVmZXJlbmNlIHRvIHRoZSBlbGVtZW50LCB1c2VmdWwgZm9yIHNlbGVjdG9ycyBhbmQgZWRnZXMuIFJhbmRvbWx5IGFzc2lnbmVkIGlmIG5vdCBnaXZlbi4qL1xuICAgICAgICAgICAgICAgICAgICBpZDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgICAgICAgICAgICAgICAgLyoqXG4gICAgICAgICAgICAgICAgICAgICAqIE9wdGlvbmFsIG5hbWUgZm9yIHRoZSBlbGVtZW50LCB1c2VmdWwgd2hlbiBgZGF0YShsYWJlbClgIGlzIGdpdmVuIHRvIGEgc3R5bGUncyBgY29udGVudGBcbiAgICAgICAgICAgICAgICAgICAgICogb3IgYGxhYmVsYC4gSXQgaXMgb25seSBhIGNvbnZlbnRpb24uICovXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICAgICAgICAgICAgICAvKiogT25seSBmb3Igbm9kZXMuIE9wdGlvbmFsIHJlZmVyZW5jZSB0byBhbm90aGVyIG5vZGUuIE5lZWRlZCB0byBjcmVhdGUgY29tcG91bmQgbm9kZXMuICovXG4gICAgICAgICAgICAgICAgICAgIHBhcmVudDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgICAgICAgICAgICAgICAgLyoqIE9ubHkgZm9yIGVkZ2VzLiBUaGUgaWQgb2YgdGhlIHNvdXJjZSBub2RlLCB3aGljaCBpcyB3aGVyZSB0aGUgZWRnZSBzdGFydHMuICovXG4gICAgICAgICAgICAgICAgICAgIHNvdXJjZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgICAgICAgICAgICAgICAgLyoqIE9ubHkgZm9yIGVkZ2VzLiBUaGUgaWQgb2YgdGhlIHRhcmdldCBub2RlLCB3aGVyZSB0aGUgZWRnZSBlbmRzLiAqL1xuICAgICAgICAgICAgICAgICAgICB0YXJnZXQ6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgLyoqIE9ubHkgZm9yIG5vZGVzLiBUaGUgcG9zaXRpb24gb2YgdGhlIG5vZGUuICovXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IFByb3BUeXBlcy5zaGFwZSh7XG4gICAgICAgICAgICAgICAgICAgIC8qKiBUaGUgeC1jb29yZGluYXRlIG9mIHRoZSBub2RlLiAqL1xuICAgICAgICAgICAgICAgICAgICB4OiBQcm9wVHlwZXMubnVtYmVyLFxuICAgICAgICAgICAgICAgICAgICAvKiogVGhlIHktY29vcmRpbmF0ZSBvZiB0aGUgbm9kZS4gKi9cbiAgICAgICAgICAgICAgICAgICAgeTogUHJvcFR5cGVzLm51bWJlcixcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAvKiogSWYgdGhlIGVsZW1lbnQgaXMgc2VsZWN0ZWQgdXBvbiBpbml0aWFsaXNhdGlvbi4gKi9cbiAgICAgICAgICAgICAgICBzZWxlY3RlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgICAgICAgICAgICAgLyoqIElmIHRoZSBlbGVtZW50IGNhbiBiZSBzZWxlY3RlZC4gKi9cbiAgICAgICAgICAgICAgICBzZWxlY3RhYmxlOiBQcm9wVHlwZXMuYm9vbCxcbiAgICAgICAgICAgICAgICAvKiogT25seSBmb3Igbm9kZXMuIElmIHRoZSBwb3NpdGlvbiBpcyBpbW11dGFibGUuICovXG4gICAgICAgICAgICAgICAgbG9ja2VkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICAgICAgICAgICAgICAvKiogT25seSBmb3Igbm9kZXMuIElmIHRoZSBub2RlIGNhbiBiZSBncmFiYmVkIGFuZCBtb3ZlZCBieSB0aGUgdXNlci4gKi9cbiAgICAgICAgICAgICAgICBncmFiYmFibGU6IFByb3BUeXBlcy5ib29sLFxuICAgICAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICAgICAqIFNwYWNlIHNlcGFyYXRlZCBzdHJpbmcgb2YgY2xhc3MgbmFtZXMgb2YgdGhlIGVsZW1lbnQuIFRob3NlIGNsYXNzZXMgY2FuIGJlIHNlbGVjdGVkXG4gICAgICAgICAgICAgICAgICogYnkgYSBzdHlsZSBzZWxlY3Rvci5cbiAgICAgICAgICAgICAgICAgKi9cbiAgICAgICAgICAgICAgICBjbGFzc2VzOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgKSxcbiAgICAgICAgUHJvcFR5cGVzLmV4YWN0KHtcbiAgICAgICAgICAgIG5vZGVzOiBQcm9wVHlwZXMuYXJyYXksXG4gICAgICAgICAgICBlZGdlczogUHJvcFR5cGVzLmFycmF5LFxuICAgICAgICB9KSxcbiAgICBdKSxcblxuICAgIC8qKlxuICAgICAqIEEgbGlzdCBvZiBkaWN0aW9uYXJpZXMgcmVwcmVzZW50aW5nIHRoZSBzdHlsZXMgb2YgdGhlIGVsZW1lbnRzLlxuICAgICAqIEVhY2ggZGljdGlvbmFyeSByZXF1aXJlcyB0aGUgZm9sbG93aW5nIGtleXM6IGBzZWxlY3RvcmAgYW5kIGBzdHlsZWAuXG4gICAgICpcbiAgICAgKiBCb3RoIHRoZSBbc2VsZWN0b3JdKGh0dHBzOi8vanMuY3l0b3NjYXBlLm9yZy8jc2VsZWN0b3JzKSBhbmRcbiAgICAgKiB0aGUgW3N0eWxlXShodHRwczovL2pzLmN5dG9zY2FwZS5vcmcvI3N0eWxlL25vZGUtYm9keSkgYXJlXG4gICAgICogZXhoYXVzdGl2ZWx5IGRvY3VtZW50ZWQgaW4gdGhlIEN5dG9zY2FwZS5qcyBkb2NzLiBBbHRob3VnaCBtZXRob2RzIHN1Y2hcbiAgICAgKiBhcyBgY3kuZWxlbWVudHMoLi4uKWAgYW5kIGBjeS5maWx0ZXIoLi4uKWAgYXJlIG5vdCBhdmFpbGFibGUsIHRoZSBzZWxlY3RvclxuICAgICAqIHN0cmluZyBzeW50YXggc3RheXMgdGhlIHNhbWUuXG4gICAgICovXG4gICAgc3R5bGVzaGVldDogUHJvcFR5cGVzLmFycmF5T2YoXG4gICAgICAgIFByb3BUeXBlcy5leGFjdCh7XG4gICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAqIFdoaWNoIGVsZW1lbnRzIHlvdSBhcmUgc3R5bGluZy4gR2VuZXJhbGx5LCB5b3Ugc2VsZWN0IGEgZ3JvdXAgb2YgZWxlbWVudHMgKG5vZGUsIGVkZ2VzLCBib3RoKSxcbiAgICAgICAgICAgICAqIGEgY2xhc3MgKHRoYXQgeW91IGRlY2xhcmUgaW4gdGhlIGVsZW1lbnQgZGljdGlvbmFyeSksIG9yIGFuIGVsZW1lbnQgYnkgSUQuXG4gICAgICAgICAgICAgKi9cbiAgICAgICAgICAgIHNlbGVjdG9yOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAqIFdoYXQgYXNwZWN0cyBvZiB0aGUgZWxlbWVudHMgeW91IHdhbnQgdG8gbW9kaWZ5LiBUaGlzIGNvdWxkIGJlIHRoZSBzaXplIG9yXG4gICAgICAgICAgICAgKiBjb2xvciBvZiBhIG5vZGUsIHRoZSBzaGFwZSBvZiBhbiBlZGdlIGFycm93LCBvciBtYW55IG1vcmUuXG4gICAgICAgICAgICAgKi9cbiAgICAgICAgICAgIHN0eWxlOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWQsXG4gICAgICAgIH0pXG4gICAgKSxcblxuICAgIC8qKlxuICAgICAqIEEgZGljdGlvbmFyeSBzcGVjaWZ5aW5nIGhvdyB0byBzZXQgdGhlIHBvc2l0aW9uIG9mIHRoZSBlbGVtZW50cyBpbiB5b3VyXG4gICAgICogZ3JhcGguIFRoZSBgJ25hbWUnYCBrZXkgaXMgcmVxdWlyZWQsIGFuZCBpbmRpY2F0ZXMgd2hpY2ggbGF5b3V0IChhbGdvcml0aG0pIHRvXG4gICAgICogdXNlLiBUaGUga2V5cyBhY2NlcHRlZCBieSBgbGF5b3V0YCB2YXJ5IGRlcGVuZGluZyBvbiB0aGUgYWxnb3JpdGhtLCBidXQgdGhlc2VcbiAgICAgKiBrZXlzIGFyZSBhY2NlcHRlZCBieSBhbGwgbGF5b3V0czogYGZpdGAsICBgcGFkZGluZ2AsIGBhbmltYXRlYCwgYGFuaW1hdGlvbkR1cmF0aW9uYCxcbiAgICAgKiBgYm91bmRpbmdCb3hgLlxuICAgICAqXG4gICAgICogIFRoZSBjb21wbGV0ZSBsaXN0IG9mIGxheW91dHMgYW5kIHRoZWlyIGFjY2VwdGVkIG9wdGlvbnMgYXJlIGF2YWlsYWJsZSBvbiB0aGVcbiAgICAgKiAgW0N5dG9zY2FwZS5qcyBkb2NzXShodHRwczovL2pzLmN5dG9zY2FwZS5vcmcvI2xheW91dHMpIC4gRm9yIHRoZSBleHRlcm5hbCBsYXlvdXRzLFxuICAgICAqIHRoZSBvcHRpb25zIGFyZSBsaXN0ZWQgaW4gdGhlIFwiQVBJXCIgc2VjdGlvbiBvZiB0aGUgIFJFQURNRS5cbiAgICAgKiAgTm90ZSB0aGF0IGNlcnRhaW4ga2V5cyBhcmUgbm90IHN1cHBvcnRlZCBpbiBEYXNoIHNpbmNlIHRoZSB2YWx1ZSBpcyBhIEphdmFTY3JpcHRcbiAgICAgKiAgZnVuY3Rpb24gb3IgYSBjYWxsYmFjay4gUGxlYXNlIHZpc2l0IHRoaXNcbiAgICAgKiBbaXNzdWVdKGh0dHBzOi8vZ2l0aHViLmNvbS9wbG90bHkvZGFzaC1jeXRvc2NhcGUvaXNzdWVzLzI1KSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiAgICAgKi9cbiAgICBsYXlvdXQ6IFByb3BUeXBlcy5zaGFwZSh7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBUaGUgbGF5b3V0cyBhdmFpbGFibGUgYnkgZGVmYXVsdCBhcmU6XG4gICAgICAgICAqICAgYHJhbmRvbWA6IFJhbmRvbWx5IGFzc2lnbnMgcG9zaXRpb25zLlxuICAgICAgICAgKiAgIGBwcmVzZXRgOiBBc3NpZ25zIHBvc2l0aW9uIGJhc2VkIG9uIHRoZSBgcG9zaXRpb25gIGtleSBpbiBlbGVtZW50IGRpY3Rpb25hcmllcy5cbiAgICAgICAgICogICBgY2lyY2xlYDogU2luZ2xlLWxldmVsIGNpcmNsZSwgd2l0aCBvcHRpb25hbCByYWRpdXMuXG4gICAgICAgICAqICAgYGNvbmNlbnRyaWNgOiBNdWx0aS1sZXZlbCBjaXJjbGUsIHdpdGggb3B0aW9uYWwgcmFkaXVzLlxuICAgICAgICAgKiAgIGBncmlkYDogU3F1YXJlIGdyaWQsIG9wdGlvbmFsbHkgd2l0aCBudW1iZXJzIG9mIGByb3dzYCBhbmQgYGNvbHNgLlxuICAgICAgICAgKiAgIGBicmVhZHRoZmlyc3RgOiBUcmVlIHN0cnVjdHVyZSBidWlsdCB1c2luZyBCRlMsIHdpdGggb3B0aW9uYWwgYHJvb3RzYC5cbiAgICAgICAgICogICBgY29zZWA6IEZvcmNlLWRpcmVjdGVkIHBoeXNpY3Mgc2ltdWxhdGlvbi5cbiAgICAgICAgICpcbiAgICAgICAgICogU29tZSBleHRlcm5hbCBsYXlvdXRzIGFyZSBhbHNvIGluY2x1ZGVkLiBUbyB1c2UgdGhlbSwgcnVuXG4gICAgICAgICAqICAgYGRhc2hfY3l0b3NjYXBlLmxvYWRfZXh0cmFfbGF5b3V0cygpYCBiZWZvcmUgY3JlYXRpbmcgeW91ciBEYXNoIGFwcC4gQmUgY2FyZWZ1bCBhYm91dFxuICAgICAgICAgKiAgIHVzaW5nIHRoZSBleHRyYSBsYXlvdXRzIHdoZW4gbm90IG5lY2Vzc2FyeSwgc2luY2UgdGhleSByZXF1aXJlIHN1cHBsZW1lbnRhcnkgYmFuZHdpZHRoXG4gICAgICAgICAqICAgZm9yIGxvYWRpbmcsIHdoaWNoIGltcGFjdHMgdGhlIHN0YXJ0dXAgdGltZSBvZiB0aGUgYXBwLlxuICAgICAgICAgKiAgIFRoZSBleHRlcm5hbCBsYXlvdXRzIGFyZTpcbiAgICAgICAgICogICBbY29zZS1iaWxrZW50XShodHRwczovL2dpdGh1Yi5jb20vY3l0b3NjYXBlL2N5dG9zY2FwZS5qcy1jb3NlLWJpbGtlbnQpLFxuICAgICAgICAgKiAgIFtmY29zZV0oaHR0cHM6Ly9naXRodWIuY29tL2lWaXMtYXQtQmlsa2VudC9jeXRvc2NhcGUuanMtZmNvc2UpLFxuICAgICAgICAgKiAgIFtjb2xhXShodHRwczovL2dpdGh1Yi5jb20vY3l0b3NjYXBlL2N5dG9zY2FwZS5qcy1jb2xhKSxcbiAgICAgICAgICogICBbZXVsZXJdKGh0dHBzOi8vZ2l0aHViLmNvbS9jeXRvc2NhcGUvY3l0b3NjYXBlLmpzLWRhZ3JlKSxcbiAgICAgICAgICogICBbc3ByZWFkXShodHRwczovL2dpdGh1Yi5jb20vY3l0b3NjYXBlL2N5dG9zY2FwZS5qcy1zcHJlYWQpLFxuICAgICAgICAgKiAgIFtkYWdyZV0oaHR0cHM6Ly9naXRodWIuY29tL2N5dG9zY2FwZS9jeXRvc2NhcGUuanMtZGFncmUpLFxuICAgICAgICAgKiAgIFtrbGF5XShodHRwczovL2dpdGh1Yi5jb20vY3l0b3NjYXBlL2N5dG9zY2FwZS5qcy1rbGF5KSxcbiAgICAgICAgICovXG4gICAgICAgIG5hbWU6IFByb3BUeXBlcy5vbmVPZihbXG4gICAgICAgICAgICAncmFuZG9tJyxcbiAgICAgICAgICAgICdwcmVzZXQnLFxuICAgICAgICAgICAgJ2NpcmNsZScsXG4gICAgICAgICAgICAnY29uY2VudHJpYycsXG4gICAgICAgICAgICAnZ3JpZCcsXG4gICAgICAgICAgICAnYnJlYWR0aGZpcnN0JyxcbiAgICAgICAgICAgICdjb3NlJyxcbiAgICAgICAgICAgICdjb3NlLWJpbGtlbnQnLFxuICAgICAgICAgICAgJ2Zjb3NlJyxcbiAgICAgICAgICAgICdjb2xhJyxcbiAgICAgICAgICAgICdldWxlcicsXG4gICAgICAgICAgICAnc3ByZWFkJyxcbiAgICAgICAgICAgICdkYWdyZScsXG4gICAgICAgICAgICAna2xheScsXG4gICAgICAgIF0pLmlzUmVxdWlyZWQsXG4gICAgICAgIC8qKiAgV2hldGhlciB0byByZW5kZXIgdGhlIG5vZGVzIGluIG9yZGVyIHRvIGZpdCB0aGUgY2FudmFzLiAqL1xuICAgICAgICBmaXQ6IFByb3BUeXBlcy5ib29sLFxuICAgICAgICAvKiogUGFkZGluZyBhcm91bmQgdGhlIHNpZGVzIG9mIHRoZSBjYW52YXMsIGlmIGZpdCBpcyBlbmFibGVkLiAqL1xuICAgICAgICBwYWRkaW5nOiBQcm9wVHlwZXMubnVtYmVyLFxuICAgICAgICAvKiogV2hldGhlciB0byBhbmltYXRlIGNoYW5nZSBpbiBwb3NpdGlvbiB3aGVuIHRoZSBsYXlvdXQgY2hhbmdlcy4gKi9cbiAgICAgICAgYW5pbWF0ZTogUHJvcFR5cGVzLmJvb2wsXG4gICAgICAgIC8qKiBEdXJhdGlvbiBvZiBhbmltYXRpb24gaW4gbWlsbGlzZWNvbmRzLCBpZiBlbmFibGVkLiAqL1xuICAgICAgICBhbmltYXRpb25EdXJhdGlvbjogUHJvcFR5cGVzLm51bWJlcixcbiAgICAgICAgLyoqXG4gICAgICAgICAqIEhvdyB0byBjb25zdHJhaW4gdGhlIGxheW91dCBpbiBhIHNwZWNpZmljIGFyZWEuIEtleXMgYWNjZXB0ZWQgYXJlIGVpdGhlclxuICAgICAgICAgKiBgeDEsIHkxLCB4MiwgeTJgIG9yIGB4MSwgeTEsIHcsIGhgLCBhbGwgb2Ygd2hpY2ggcmVjZWl2ZSBhIHBpeGVsIHZhbHVlLlxuICAgICAgICAgKi9cbiAgICAgICAgYm91bmRpbmdCb3g6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgfSksXG4gICAgLyoqXG4gICAgICogRGVmaW5lIGEgY3VzdG9tIGNvbnRleHQgbWVudS4gVGhlIGJlaGF2aW91ciBvZiBlYWNoIG1lbnUgaXRlbSBjYW4gYmUgZGVmaW5lZCBpbiAxIG9mIDMgd2F5cy5cbiAgICAgKiAxLiBCeSBwYXNzaW5nIGEgc3RyaW5nIHRvIG9uQ2xpY2sgdGhhdCByZWZlcnMgdG8gb25lIG9mIHRoZSBidWlsdC1pbiBKYXZhc2NyaXB0IGZ1bmN0aW9ucy5cbiAgICAgKiAyLiBCeSBwYXNzaW5nIGEgc3RyaW5nIHRvIG9uQ2xpY2tDdXN0b20gdGhhdCByZWZlcnMgdG8gb25lIG9mIHRoZSB1c2VyLWRlZmluZWQgZnVuY3Rpb25zIGluIGEgbmFtZXNwYWNlLlxuICAgICAqIDMuIEJ5IG9taXR0aW5nIGJvdGggb2YgdGhlc2UgcHJvcGVydGllczsgdGhpcyB3aWxsIHVwZGF0ZSB0aGUgY29udGV4dE1lbnVEYXRhIHByb3BlcnR5IGFuZCB0cmlnZ2VyIGEgRGFzaCBjYWxsYmFjay5cbiAgICAgKi9cbiAgICBjb250ZXh0TWVudTogUHJvcFR5cGVzLmFycmF5T2YoXG4gICAgICAgIFByb3BUeXBlcy5leGFjdCh7XG4gICAgICAgICAgICAvKiogSUQgb2YgdGhlIG1lbnUgaXRlbSBpbiB0aGUgY29udGV4dCBtZW51ICovXG4gICAgICAgICAgICBpZDogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICAgICAgICAgICAgLyoqIFRoZSBsYWJlbCBvbiB0aGUgY29udGV4dCBtZW51IGl0ZW0qL1xuICAgICAgICAgICAgbGFiZWw6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgICAgICAgICAgIC8qKiBUaGUgdG9vbHRpcCB0ZXh0IHdoZW4gaG92ZXJpbmcgb24gdG9wIG9mIGEgY29udGV4dCBtZW51IGl0ZW0gKi9cbiAgICAgICAgICAgIHRvb2x0aXBUZXh0OiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICAgICAgLyoqIEEgbGlzdCBjb250YWluaW5nIGVpdGhlciAnbm9kZScsICdlZGdlJyxhbmQvb3IgJ2NhbnZhcycuIFRoaXMgd2lsbCBkZXRlcm1pbmUgd2hlcmUgdGhlIGNvbnRleHRcbiAgICAgICAgICAgICAqICBtZW51IGl0ZW0gd2lsbCBzaG93IHVwLlxuICAgICAgICAgICAgICovXG4gICAgICAgICAgICBhdmFpbGFibGVPbjogUHJvcFR5cGVzLmFycmF5LFxuICAgICAgICAgICAgLyoqIFNwZWNpZnkgd2hpY2ggYnVpbHQtaW4gSmF2YVNjcmlwdCBmdW5jdGlvbiB0byB1c2UgYXMgYmVoYXZpb3VyIGZvciB0aGUgY29udGV4dFxuICAgICAgICAgICAgICogbWVudSBpdGVtLiBPbmUgb2YgJ3JlbW92ZScsICdhZGRfbm9kZScsIG9yICdhZGRfZWRnZSdcbiAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgb25DbGljazogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgICAgICAgIC8qKiBTcGVjaWZ5IHdoaWNoIHVzZXItZGVmaW5lZCBKYXZhc2NyaXB0IGZ1bmN0aW9uIHRvIHVzZSBpbiB0aGUgZGFzaEN5dG9zY2FwZUZ1bmN0aW9uc1xuICAgICAgICAgICAgICogbmFtZXNwYWNlIGFzIGJlaGF2aW91ciBmb3IgdGhlIGNvbnRleHQgbWVudSBpdGVtXG4gICAgICAgICAgICAgKi9cbiAgICAgICAgICAgIG9uQ2xpY2tDdXN0b206IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICAgIH0pXG4gICAgKSxcbiAgICAvKipcbiAgICAgKiBSZXRyaWV2ZSByZWxldmFudCBkYXRhIHdoZW4gYSBjb250ZXh0IG1lbnUgaXRlbSBpcyBjbGlja2VkLiAgUmVhZC1vbmx5LlxuICAgICAqL1xuICAgIGNvbnRleHRNZW51RGF0YTogUHJvcFR5cGVzLmV4YWN0KHtcbiAgICAgICAgLyoqIElEIG9mIHRoZSBtZW51IGl0ZW0gaW4gdGhlIGNvbnRleHQgbWVudSAqL1xuICAgICAgICBtZW51SXRlbUlkOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICAvKiogeC1wb3NpdGlvbiBvZiB0aGUgY29udGV4dCBjbGljayAqL1xuICAgICAgICB4OiBQcm9wVHlwZXMubnVtYmVyLFxuICAgICAgICAvKiogeS1wb3NpdGlvbiBvZiB0aGUgY29udGV4dCBjbGljayAqL1xuICAgICAgICB5OiBQcm9wVHlwZXMubnVtYmVyLFxuICAgICAgICAvKiogVGltZXN0YW1wIG9mIGNvbnRleHQgY2xpY2sqL1xuICAgICAgICB0aW1lU3RhbXA6IFByb3BUeXBlcy5udW1iZXIsXG4gICAgICAgIC8qKiBFbGVtZW50IElEIG9uIGNvbnRleHQgY2xpY2sgaWYgdGhlIGNvbnRleHQgY2xpY2sgd2FzIG9uIGFuIGVsZW1lbnQuXG4gICAgICAgICAqIElmIGNvbnRleHQgY2xpY2sgd2FzIG9uIHdoaXRlIHNwYWNlLCB0aGlzIHByb3BlcnR5IGlzIG5vdCByZXR1cm5lZFxuICAgICAgICAgKi9cbiAgICAgICAgZWxlbWVudElkOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICAvKiogTm9kZSBJRCBvZiB0aGUgZWRnZSBzb3VyY2UgaWYgdGhlIGNsaWNrZWQgZWxlbWVudCBpcyBhbiBlZGdlLFxuICAgICAgICAgKiBvciBlbHNlIHRoaXMgcHJvcGVydHkgaXMgbm90IHJldHVybmVkKi9cbiAgICAgICAgZWRnZVNvdXJjZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgICAgLyoqIE5vZGUgSUQgb2YgdGhlIGVkZ2UgdGFyZ2V0IGlmIHRoZSBjbGlja2VkIGVsZW1lbnQgaXMgYW4gZWRnZSxcbiAgICAgICAgICogb3IgZWxzZSB0aGlzIHByb3BlcnR5IGlzIG5vdCByZXR1cm5lZCovXG4gICAgICAgIGVkZ2VUYXJnZXQ6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgfSksXG4gICAgLy8gVmlld3BvcnQgTWFuaXB1bGF0aW9uXG5cbiAgICAvKipcbiAgICAgKiBEaWN0aW9uYXJ5IGluZGljYXRpbmcgdGhlIGluaXRpYWwgcGFubmluZyBwb3NpdGlvbiBvZiB0aGUgZ3JhcGguIFRoZVxuICAgICAqIGZvbGxvd2luZyBrZXlzIGFyZSBhY2NlcHRlZDpcbiAgICAgKi9cbiAgICBwYW46IFByb3BUeXBlcy5leGFjdCh7XG4gICAgICAgIC8qKiBUaGUgeC1jb29yZGluYXRlIG9mIHRoZSBub2RlICovXG4gICAgICAgIHg6IFByb3BUeXBlcy5udW1iZXIsXG4gICAgICAgIC8qKiBUaGUgeS1jb29yZGluYXRlIG9mIHRoZSBub2RlICAqL1xuICAgICAgICB5OiBQcm9wVHlwZXMubnVtYmVyLFxuICAgIH0pLFxuXG4gICAgLyoqXG4gICAgICogVGhlIGluaXRpYWwgem9vbSBsZXZlbCBvZiB0aGUgZ3JhcGguIFlvdSBjYW4gc2V0IGBtaW5ab29tYCBhbmRcbiAgICAgKiBgbWF4Wm9vbWAgdG8gc2V0IHJlc3RyaWN0aW9ucyBvbiB0aGUgem9vbSBsZXZlbC5cbiAgICAgKi9cbiAgICB6b29tOiBQcm9wVHlwZXMubnVtYmVyLFxuXG4gICAgLy8gVmlld3BvcnQgTXV0YWJpbGl0eSBhbmQgZ2VzdHVyZSBUb2dnbGluZ1xuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgcGFubmluZyB0aGUgZ3JhcGggaXMgZW5hYmxlZCAoaS5lLiwgdGhlIHBvc2l0aW9uIG9mIHRoZSBncmFwaCBpc1xuICAgICAqIG11dGFibGUgb3ZlcmFsbCkuXG4gICAgICovXG4gICAgcGFubmluZ0VuYWJsZWQ6IFByb3BUeXBlcy5ib29sLFxuXG4gICAgLyoqXG4gICAgICogV2hldGhlciB1c2VyIGV2ZW50cyAoZS5nLiBkcmFnZ2luZyB0aGUgZ3JhcGggYmFja2dyb3VuZCkgYXJlIGFsbG93ZWQgdG9cbiAgICAgKiBwYW4gdGhlIGdyYXBoLlxuICAgICAqL1xuICAgIHVzZXJQYW5uaW5nRW5hYmxlZDogUHJvcFR5cGVzLmJvb2wsXG5cbiAgICAvKipcbiAgICAgKiBBIG1pbmltdW0gYm91bmQgb24gdGhlIHpvb20gbGV2ZWwgb2YgdGhlIGdyYXBoLiBUaGUgdmlld3BvcnQgY2FuIG5vdCBiZVxuICAgICAqIHNjYWxlZCBzbWFsbGVyIHRoYW4gdGhpcyB6b29tIGxldmVsLlxuICAgICAqL1xuICAgIG1pblpvb206IFByb3BUeXBlcy5udW1iZXIsXG5cbiAgICAvKipcbiAgICAgKiBBIG1heGltdW0gYm91bmQgb24gdGhlIHpvb20gbGV2ZWwgb2YgdGhlIGdyYXBoLiBUaGUgdmlld3BvcnQgY2FuIG5vdCBiZVxuICAgICAqIHNjYWxlZCBsYXJnZXIgdGhhbiB0aGlzIHpvb20gbGV2ZWwuXG4gICAgICovXG4gICAgbWF4Wm9vbTogUHJvcFR5cGVzLm51bWJlcixcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgem9vbWluZyB0aGUgZ3JhcGggaXMgZW5hYmxlZCAoaS5lLiwgdGhlIHpvb20gbGV2ZWwgb2YgdGhlIGdyYXBoXG4gICAgICogaXMgbXV0YWJsZSBvdmVyYWxsKS5cbiAgICAgKi9cbiAgICB6b29taW5nRW5hYmxlZDogUHJvcFR5cGVzLmJvb2wsXG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHVzZXIgZXZlbnRzIChlLmcuIGRyYWdnaW5nIHRoZSBncmFwaCBiYWNrZ3JvdW5kKSBhcmUgYWxsb3dlZFxuICAgICAqIHRvIHBhbiB0aGUgZ3JhcGguXG4gICAgICovXG4gICAgdXNlclpvb21pbmdFbmFibGVkOiBQcm9wVHlwZXMuYm9vbCxcblxuICAgIC8qKlxuICAgICAqIENoYW5nZXMgdGhlIHNjcm9sbCB3aGVlbCBzZW5zaXRpdml0eSB3aGVuIHpvb21pbmcuXG4gICAgICovXG4gICAgd2hlZWxTZW5zaXRpdml0eTogUHJvcFR5cGVzLm51bWJlcixcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgYm94IHNlbGVjdGlvbiAoaS5lLiBkcmFnIGEgYm94IG92ZXJsYXkgYXJvdW5kLCBhbmQgcmVsZWFzZSBpdFxuICAgICAqIHRvIHNlbGVjdCkgaXMgZW5hYmxlZC4gSWYgZW5hYmxlZCwgdGhlIHVzZXIgbXVzdCB0YXBob2xkIHRvIHBhbiB0aGUgZ3JhcGguXG4gICAgICovXG4gICAgYm94U2VsZWN0aW9uRW5hYmxlZDogUHJvcFR5cGVzLmJvb2wsXG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIG5vZGVzIHNob3VsZCBiZSB1bmdyYWJpZmllZCAobm90IGdyYWJiYWJsZSBieSB1c2VyKSBieVxuICAgICAqIGRlZmF1bHQgKGlmIHRydWUsIG92ZXJyaWRlcyBpbmRpdmlkdWFsIG5vZGUgc3RhdGUpLlxuICAgICAqL1xuICAgIGF1dG91bmdyYWJpZnk6IFByb3BUeXBlcy5ib29sLFxuXG4gICAgLyoqXG4gICAgICogV2hldGhlciBub2RlcyBzaG91bGQgYmUgbG9ja2VkIChub3QgZHJhZ2dhYmxlIGF0IGFsbCkgYnkgZGVmYXVsdFxuICAgICAqIChpZiB0cnVlLCBvdmVycmlkZXMgaW5kaXZpZHVhbCBub2RlIHN0YXRlKS5cbiAgICAgKi9cbiAgICBhdXRvbG9jazogUHJvcFR5cGVzLmJvb2wsXG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIG5vZGVzIHNob3VsZCBiZSB1bnNlbGVjdGlmaWVkIChpbW11dGFibGUgc2VsZWN0aW9uIHN0YXRlKSBieVxuICAgICAqIGRlZmF1bHQgKGlmIHRydWUsIG92ZXJyaWRlcyBpbmRpdmlkdWFsIGVsZW1lbnQgc3RhdGUpLlxuICAgICAqL1xuICAgIGF1dG91bnNlbGVjdGlmeTogUHJvcFR5cGVzLmJvb2wsXG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRoZSBsYXlvdXQgc2hvdWxkIGJlIHJlZnJlc2hlZCB3aGVuIGVsZW1lbnRzIGFyZSBhZGRlZCBvciByZW1vdmVkLlxuICAgICAqL1xuICAgIGF1dG9SZWZyZXNoTGF5b3V0OiBQcm9wVHlwZXMuYm9vbCxcblxuICAgIC8vIFVzZXIgRXZlbnRzIFByb3BzXG5cbiAgICAvKipcbiAgICAgKiBUaGUgY29tcGxldGUgbm9kZSBkaWN0aW9uYXJ5IHJldHVybmVkIHdoZW4geW91IHRhcCBvciBjbGljayBpdC4gUmVhZC1vbmx5LlxuICAgICAqL1xuICAgIHRhcE5vZGU6IFByb3BUeXBlcy5leGFjdCh7XG4gICAgICAgIC8qKiBub2RlIHNwZWNpZmljIGl0ZW0gKi9cbiAgICAgICAgZWRnZXNEYXRhOiBQcm9wVHlwZXMuYXJyYXksXG4gICAgICAgIC8qKiBub2RlIHNwZWNpZmljIGl0ZW0gKi9cbiAgICAgICAgcmVuZGVyZWRQb3NpdGlvbjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICAgICAgLyoqIG5vZGUgc3BlY2lmaWMgaXRlbSAqL1xuICAgICAgICB0aW1lU3RhbXA6IFByb3BUeXBlcy5udW1iZXIsXG4gICAgICAgIC8qKiBHZW5lcmFsIGl0ZW0gKGZvciBhbGwgZWxlbWVudHMpICovXG4gICAgICAgIGNsYXNzZXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICAgIC8qKiBHZW5lcmFsIGl0ZW0gKGZvciBhbGwgZWxlbWVudHMpICovXG4gICAgICAgIGRhdGE6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgICAgIC8qKiBHZW5lcmFsIGl0ZW0gKGZvciBhbGwgZWxlbWVudHMpICovXG4gICAgICAgIGdyYWJiYWJsZTogUHJvcFR5cGVzLmJvb2wsXG4gICAgICAgIC8qKiBHZW5lcmFsIGl0ZW0gKGZvciBhbGwgZWxlbWVudHMpICovXG4gICAgICAgIGdyb3VwOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICAvKiogR2VuZXJhbCBpdGVtIChmb3IgYWxsIGVsZW1lbnRzKSAqL1xuICAgICAgICBsb2NrZWQ6IFByb3BUeXBlcy5ib29sLFxuICAgICAgICAvKiogR2VuZXJhbCBpdGVtIChmb3IgYWxsIGVsZW1lbnRzKSAqL1xuICAgICAgICBwb3NpdGlvbjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICAgICAgLyoqIEdlbmVyYWwgaXRlbSAoZm9yIGFsbCBlbGVtZW50cykgKi9cbiAgICAgICAgc2VsZWN0YWJsZTogUHJvcFR5cGVzLmJvb2wsXG4gICAgICAgIC8qKiBHZW5lcmFsIGl0ZW0gKGZvciBhbGwgZWxlbWVudHMpICovXG4gICAgICAgIHNlbGVjdGVkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICAgICAgLyoqIEdlbmVyYWwgaXRlbSAoZm9yIGFsbCBlbGVtZW50cykgKi9cbiAgICAgICAgc3R5bGU6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgICAgIC8qKiBJdGVtIGZvciBjb21wb3VuZCBub2RlcyAqL1xuICAgICAgICBhbmNlc3RvcnNEYXRhOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMub2JqZWN0LCBQcm9wVHlwZXMuYXJyYXldKSxcbiAgICAgICAgLyoqIEl0ZW0gZm9yIGNvbXBvdW5kIG5vZGVzICovXG4gICAgICAgIGNoaWxkcmVuRGF0YTogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLm9iamVjdCwgUHJvcFR5cGVzLmFycmF5XSksXG4gICAgICAgIC8qKiBJdGVtIGZvciBjb21wb3VuZCBub2RlcyAqL1xuICAgICAgICBkZXNjZW5kYW50c0RhdGE6IFByb3BUeXBlcy5vbmVPZlR5cGUoW1xuICAgICAgICAgICAgUHJvcFR5cGVzLm9iamVjdCxcbiAgICAgICAgICAgIFByb3BUeXBlcy5hcnJheSxcbiAgICAgICAgXSksXG4gICAgICAgIC8qKiBJdGVtIGZvciBjb21wb3VuZCBub2RlcyAqL1xuICAgICAgICBwYXJlbnREYXRhOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMub2JqZWN0LCBQcm9wVHlwZXMuYXJyYXldKSxcbiAgICAgICAgLyoqIEl0ZW0gZm9yIGNvbXBvdW5kIG5vZGVzICovXG4gICAgICAgIHNpYmxpbmdzRGF0YTogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLm9iamVjdCwgUHJvcFR5cGVzLmFycmF5XSksXG4gICAgICAgIC8qKiBJdGVtIGZvciBjb21wb3VuZCBub2RlcyAqL1xuICAgICAgICBpc1BhcmVudDogUHJvcFR5cGVzLmJvb2wsXG4gICAgICAgIC8qKiBJdGVtIGZvciBjb21wb3VuZCBub2RlcyAqL1xuICAgICAgICBpc0NoaWxkbGVzczogUHJvcFR5cGVzLmJvb2wsXG4gICAgICAgIC8qKiBJdGVtIGZvciBjb21wb3VuZCBub2RlcyAqL1xuICAgICAgICBpc0NoaWxkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICAgICAgLyoqIEl0ZW0gZm9yIGNvbXBvdW5kIG5vZGVzICovXG4gICAgICAgIGlzT3JwaGFuOiBQcm9wVHlwZXMuYm9vbCxcbiAgICAgICAgLyoqIEl0ZW0gZm9yIGNvbXBvdW5kIG5vZGVzICovXG4gICAgICAgIHJlbGF0aXZlUG9zaXRpb246IFByb3BUeXBlcy5vYmplY3QsXG4gICAgfSksXG5cbiAgICAvKipcbiAgICAgKiBUaGUgZGF0YSBkaWN0aW9uYXJ5IG9mIGEgbm9kZSByZXR1cm5lZCB3aGVuIHlvdSB0YXAgb3IgY2xpY2sgaXQuIFJlYWQtb25seS5cbiAgICAgKi9cbiAgICB0YXBOb2RlRGF0YTogUHJvcFR5cGVzLm9iamVjdCxcblxuICAgIC8qKlxuICAgICAqIFRoZSBjb21wbGV0ZSBlZGdlIGRpY3Rpb25hcnkgcmV0dXJuZWQgd2hlbiB5b3UgdGFwIG9yIGNsaWNrIGl0LiBSZWFkLW9ubHkuXG4gICAgICovXG4gICAgdGFwRWRnZTogUHJvcFR5cGVzLmV4YWN0KHtcbiAgICAgICAgLyoqIEVkZ2Utc3BlY2lmaWMgaXRlbSAqL1xuICAgICAgICBpc0xvb3A6IFByb3BUeXBlcy5ib29sLFxuICAgICAgICAvKiogRWRnZS1zcGVjaWZpYyBpdGVtICovXG4gICAgICAgIGlzU2ltcGxlOiBQcm9wVHlwZXMuYm9vbCxcbiAgICAgICAgLyoqIEVkZ2Utc3BlY2lmaWMgaXRlbSAqL1xuICAgICAgICBtaWRwb2ludDogUHJvcFR5cGVzLm9iamVjdCxcbiAgICAgICAgLyoqIEVkZ2Utc3BlY2lmaWMgaXRlbSAqL1xuICAgICAgICBzb3VyY2VEYXRhOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgICAgICAvKiogRWRnZS1zcGVjaWZpYyBpdGVtICovXG4gICAgICAgIHNvdXJjZUVuZHBvaW50OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgICAgICAvKiogRWRnZS1zcGVjaWZpYyBpdGVtICovXG4gICAgICAgIHRhcmdldERhdGE6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgICAgIC8qKiBFZGdlLXNwZWNpZmljIGl0ZW0gKi9cbiAgICAgICAgdGFyZ2V0RW5kcG9pbnQ6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgICAgIC8qKiBFZGdlLXNwZWNpZmljIGl0ZW0gKi9cbiAgICAgICAgdGltZVN0YW1wOiBQcm9wVHlwZXMubnVtYmVyLFxuICAgICAgICAvKiogR2VuZXJhbCBpdGVtIChmb3IgYWxsIGVsZW1lbnRzKSAqL1xuICAgICAgICBjbGFzc2VzOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICAvKiogR2VuZXJhbCBpdGVtIChmb3IgYWxsIGVsZW1lbnRzKSAqL1xuICAgICAgICBkYXRhOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgICAgICAvKiogR2VuZXJhbCBpdGVtIChmb3IgYWxsIGVsZW1lbnRzKSAqL1xuICAgICAgICBncmFiYmFibGU6IFByb3BUeXBlcy5ib29sLFxuICAgICAgICAvKiogR2VuZXJhbCBpdGVtIChmb3IgYWxsIGVsZW1lbnRzKSAqL1xuICAgICAgICBncm91cDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgICAgLyoqIEdlbmVyYWwgaXRlbSAoZm9yIGFsbCBlbGVtZW50cykgKi9cbiAgICAgICAgbG9ja2VkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICAgICAgLyoqIEdlbmVyYWwgaXRlbSAoZm9yIGFsbCBlbGVtZW50cykgKi9cbiAgICAgICAgc2VsZWN0YWJsZTogUHJvcFR5cGVzLmJvb2wsXG4gICAgICAgIC8qKiBHZW5lcmFsIGl0ZW0gKGZvciBhbGwgZWxlbWVudHMpICovXG4gICAgICAgIHNlbGVjdGVkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICAgICAgLyoqIEdlbmVyYWwgaXRlbSAoZm9yIGFsbCBlbGVtZW50cykgKi9cbiAgICAgICAgc3R5bGU6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgfSksXG5cbiAgICAvKipcbiAgICAgKiBUaGUgZGF0YSBkaWN0aW9uYXJ5IG9mIGFuIGVkZ2UgcmV0dXJuZWQgd2hlbiB5b3UgdGFwIG9yIGNsaWNrIGl0LiBSZWFkLW9ubHkuXG4gICAgICovXG4gICAgdGFwRWRnZURhdGE6IFByb3BUeXBlcy5vYmplY3QsXG5cbiAgICAvKipcbiAgICAgKiBUaGUgZGF0YSBkaWN0aW9uYXJ5IG9mIGEgbm9kZSByZXR1cm5lZCB3aGVuIHlvdSBob3ZlciBvdmVyIGl0LiBSZWFkLW9ubHkuXG4gICAgICovXG4gICAgbW91c2VvdmVyTm9kZURhdGE6IFByb3BUeXBlcy5vYmplY3QsXG5cbiAgICAvKipcbiAgICAgKiBUaGUgZGF0YSBkaWN0aW9uYXJ5IG9mIGFuIGVkZ2UgcmV0dXJuZWQgd2hlbiB5b3UgaG92ZXIgb3ZlciBpdC4gUmVhZC1vbmx5LlxuICAgICAqL1xuICAgIG1vdXNlb3ZlckVkZ2VEYXRhOiBQcm9wVHlwZXMub2JqZWN0LFxuXG4gICAgLyoqXG4gICAgICogVGhlIGxpc3Qgb2YgZGF0YSBkaWN0aW9uYXJpZXMgb2YgYWxsIHNlbGVjdGVkIG5vZGVzIChlLmcuIHVzaW5nXG4gICAgICogU2hpZnQrQ2xpY2sgdG8gc2VsZWN0IG11bHRpcGxlIG5vZGVzLCBvciBTaGlmdCtEcmFnIHRvIHVzZSBib3ggc2VsZWN0aW9uKS4gUmVhZC1vbmx5LlxuICAgICAqL1xuICAgIHNlbGVjdGVkTm9kZURhdGE6IFByb3BUeXBlcy5hcnJheSxcblxuICAgIC8qKlxuICAgICAqIFRoZSBsaXN0IG9mIGRhdGEgZGljdGlvbmFyaWVzIG9mIGFsbCBzZWxlY3RlZCBlZGdlcyAoZS5nLiB1c2luZ1xuICAgICAqIFNoaWZ0K0NsaWNrIHRvIHNlbGVjdCBtdWx0aXBsZSBub2Rlcywgb3IgU2hpZnQrRHJhZyB0byB1c2UgYm94IHNlbGVjdGlvbikuIFJlYWQtb25seS5cbiAgICAgKi9cbiAgICBzZWxlY3RlZEVkZ2VEYXRhOiBQcm9wVHlwZXMuYXJyYXksXG5cbiAgICAvKipcbiAgICAgKiBEaWN0aW9uYXJ5IHNwZWNpZnlpbmcgb3B0aW9ucyB0byBnZW5lcmF0ZSBhbiBpbWFnZSBvZiB0aGUgY3VycmVudCBjeXRvc2NhcGUgZ3JhcGguXG4gICAgICogVmFsdWUgaXMgY2xlYXJlZCBhZnRlciBkYXRhIGlzIHJlY2VpdmVkIGFuZCBpbWFnZSBpcyBnZW5lcmF0ZWQuIFRoaXMgcHJvcGVydHkgd2lsbFxuICAgICAqIGJlIGlnbm9yZWQgb24gdGhlIGluaXRpYWwgY3JlYXRpb24gb2YgdGhlIGN5dG9zY2FwZSBvYmplY3QgYW5kIG11c3QgYmUgaW52b2tlZCB0aHJvdWdoXG4gICAgICogYSBjYWxsYmFjayBhZnRlciBpdCBoYXMgYmVlbiByZW5kZXJlZC5cbiAgICAgKlxuICAgICAqIElmIHRoZSBhcHAgZG9lcyBub3QgbmVlZCB0aGUgaW1hZ2UgZGF0YSBzZXJ2ZXIgc2lkZSBhbmQvb3IgaXQgd2lsbCBvbmx5IGJlIHVzZWQgdG8gZG93bmxvYWRcbiAgICAgKiB0aGUgaW1hZ2UsIGl0IG1heSBiZSBwcnVkZW50IHRvIGludm9rZSBgJ2Rvd25sb2FkJ2AgZm9yIGBhY3Rpb25gIGluc3RlYWQgb2ZcbiAgICAgKiBgJ3N0b3JlJ2AgdG8gaW1wcm92ZSBwZXJmb3JtYW5jZSBieSBwcmV2ZW50aW5nIHRyYW5zZmVyIG9mIGRhdGEgdG8gdGhlIHNlcnZlci5cbiAgICAgKi9cbiAgICBnZW5lcmF0ZUltYWdlOiBQcm9wVHlwZXMuc2hhcGUoe1xuICAgICAgICAvKiogRmlsZSB0eXBlIHRvIG91dHB1dCAgKi9cbiAgICAgICAgdHlwZTogUHJvcFR5cGVzLm9uZU9mKFsnc3ZnJywgJ3BuZycsICdqcGcnLCAnanBlZyddKSxcbiAgICAgICAgLyoqIERpY3Rpb25hcnkgb2Ygb3B0aW9ucyB0byBjeS5wbmcoKSAvIGN5LmpwZygpIG9yIGN5LnN2ZygpIGZvciBpbWFnZSBnZW5lcmF0aW9uLlxuICAgICAgICAgKiBTZWUgaHR0cHM6Ly9qcy5jeXRvc2NhcGUub3JnLyNjb3JlL2V4cG9ydCBmb3IgZGV0YWlscy4gRm9yIGAnb3V0cHV0J2AsIG9ubHkgJ2Jhc2U2NCdcbiAgICAgICAgICogYW5kICdiYXNlNjR1cmknIGFyZSBzdXBwb3J0ZWQuIERlZmF1bHQ6IGB7J291dHB1dCc6ICdiYXNlNjR1cmknfWAuKi9cbiAgICAgICAgb3B0aW9uczogUHJvcFR5cGVzLm9iamVjdCxcbiAgICAgICAgLyoqXG4gICAgICAgICAqIGAnc3RvcmUnYDogU3RvcmVzIHRoZSBpbWFnZSBkYXRhIChvbmx5IGpwZyBhbmQgcG5nIGFyZSBzdXBwb3J0ZWQpXG4gICAgICAgICAqIGluIGBpbWFnZURhdGFgIGFuZCBpbnZva2VzIHNlcnZlci1zaWRlIERhc2ggY2FsbGJhY2tzLiBgJ2Rvd25sb2FkJ2A6IERvd25sb2FkcyB0aGUgaW1hZ2VcbiAgICAgICAgICogYXMgYSBmaWxlIHdpdGggYWxsIGRhdGEgaGFuZGxpbmcgZG9uZSBjbGllbnQtc2lkZS4gTm8gYGltYWdlRGF0YWAgY2FsbGJhY2tzIGFyZSBmaXJlZC5cbiAgICAgICAgICogYCdib3RoJ2A6IFN0b3JlcyBpbWFnZSBkYXRhIGFuZCBkb3dubG9hZHMgaW1hZ2UgYXMgZmlsZS4gVGhlIGRlZmF1bHQgaXMgYCdzdG9yZSdgXG4gICAgICAgICAqL1xuICAgICAgICBhY3Rpb246IFByb3BUeXBlcy5vbmVPZihbJ3N0b3JlJywgJ2Rvd25sb2FkJywgJ2JvdGgnXSksXG4gICAgICAgIC8qKiBOYW1lIGZvciB0aGUgZmlsZSB0byBiZSBkb3dubG9hZGVkLiBEZWZhdWx0OiAnY3l0bycuKi9cbiAgICAgICAgZmlsZW5hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgfSksXG5cbiAgICAvKipcbiAgICAgKiBTdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhlIGltYWdlIHJlcXVlc3RlZCB3aXRoIGdlbmVyYXRlSW1hZ2UuIE51bGwgaWYgbm9cbiAgICAgKiBpbWFnZSB3YXMgcmVxdWVzdGVkIHlldCBvciB0aGUgcHJldmlvdXMgcmVxdWVzdCBmYWlsZWQuIFJlYWQtb25seS5cbiAgICAgKi9cbiAgICBpbWFnZURhdGE6IFByb3BUeXBlcy5zdHJpbmcsXG5cbiAgICAvKipcbiAgICAgKiBUb2dnbGVzIGludGVsbGlnZW50IHJlc3BvbnNpdmUgcmVzaXplIG9mIEN5dG9zY2FwZSBncmFwaCB3aXRoIHZpZXdwb3J0IHNpemUgY2hhbmdlXG4gICAgICovXG4gICAgcmVzcG9uc2l2ZTogUHJvcFR5cGVzLmJvb2wsXG5cbiAgICAvKipcbiAgICAgKiBFeHRlbnQgb2YgdGhlIHZpZXdwb3J0LCBhIGJvdW5kaW5nIGJveCBpbiBtb2RlbCBjby1vcmRpbmF0ZXMgdGhhdCBsZXRzIHlvdSBrbm93IHdoYXQgbW9kZWxcbiAgICAgKiBwb3NpdGlvbnMgYXJlIHZpc2libGUgaW4gdGhlIHZpZXdwb3J0LiBUaGlzIGZ1bmN0aW9uIHJldHVybnMgYSBwbGFpbiBvYmplY3QgYm91bmRpbmcgYm94XG4gICAgICogd2l0aCBmb3JtYXQgeyB4MSwgeTEsIHgyLCB5MiwgdywgaCB9LlxuICAgICAqL1xuICAgIGV4dGVudDogUHJvcFR5cGVzLm9iamVjdCxcblxuICAgIC8qKlxuICAgICAqIElmIHNldCB0byBUcnVlLCBtb3VzZW92ZXJOb2RlRGF0YSBhbmQgbW91c2VvdmVyRWRnZURhdGEgd2lsbCBiZSBjbGVhcmVkIG9uIHVuaG92ZXIuXG4gICAgICogSWYgc2V0IHRvIEZhbHNlLCB0aGUgdmFsdWUgb2YgbW91c2VvdmVyTm9kZURhdGEgYW5kIG1vdXNlb3ZlckVkZ2VEYXRhIHdpbGwgYmUgdGhlIGxhc3RcbiAgICAgKiBOb2RlIG9yIEVkZ2UgaG92ZXJlZCBvdmVyXG4gICAgICovXG4gICAgY2xlYXJPblVuaG92ZXI6IFByb3BUeXBlcy5ib29sLFxufTtcblxuQ3l0b3NjYXBlLmRlZmF1bHRQcm9wcyA9IHtcbiAgICBzdHlsZToge3dpZHRoOiAnNjAwcHgnLCBoZWlnaHQ6ICc2MDBweCd9LFxuICAgIGxheW91dDoge25hbWU6ICdncmlkJ30sXG4gICAgcGFuOiB7eDogMCwgeTogMH0sXG4gICAgem9vbTogMSxcbiAgICBtaW5ab29tOiAxZS01MCxcbiAgICBtYXhab29tOiAxZTUwLFxuICAgIHpvb21pbmdFbmFibGVkOiB0cnVlLFxuICAgIHVzZXJab29taW5nRW5hYmxlZDogdHJ1ZSxcbiAgICBwYW5uaW5nRW5hYmxlZDogdHJ1ZSxcbiAgICB1c2VyUGFubmluZ0VuYWJsZWQ6IHRydWUsXG4gICAgd2hlZWxTZW5zaXRpdml0eTogMSxcbiAgICBib3hTZWxlY3Rpb25FbmFibGVkOiBmYWxzZSxcbiAgICBhdXRvbG9jazogZmFsc2UsXG4gICAgYXV0b3VuZ3JhYmlmeTogZmFsc2UsXG4gICAgYXV0b3Vuc2VsZWN0aWZ5OiBmYWxzZSxcbiAgICBhdXRvUmVmcmVzaExheW91dDogdHJ1ZSxcbiAgICBnZW5lcmF0ZUltYWdlOiB7fSxcbiAgICBpbWFnZURhdGE6IG51bGwsXG4gICAgcmVzcG9uc2l2ZTogZmFsc2UsXG4gICAgY2xlYXJPblVuaG92ZXI6IGZhbHNlLFxuICAgIGVsZW1lbnRzOiBbXSxcbiAgICBjb250ZXh0TWVudTogW10sXG59O1xuXG5leHBvcnQgZGVmYXVsdCBDeXRvc2NhcGU7XG4iXSwibmFtZXMiOlsiUmVhY3QiLCJDb21wb25lbnQiLCJQcm9wVHlwZXMiLCJDeXRvc2NhcGVDb21wb25lbnQiLCJfIiwidjQiLCJ1dWlkdjQiLCJDeVJlc3BvbnNpdmUiLCJjeXRvc2NhcGUiLCJyZXF1aXJlIiwiY29udGV4dE1lbnVzIiwiQ3l0b3NjYXBlIiwiX0NvbXBvbmVudCIsIl9pbmhlcml0cyIsInByb3BzIiwiX3RoaXMiLCJfY2xhc3NDYWxsQ2hlY2siLCJfY2FsbFN1cGVyIiwiaGFuZGxlQ3kiLCJiaW5kIiwiX2Fzc2VydFRoaXNJbml0aWFsaXplZCIsIl9oYW5kbGVDeUNhbGxlZCIsImhhbmRsZUltYWdlR2VuZXJhdGlvbiIsImN5UmVzcG9uc2l2ZUNsYXNzIiwiX2NyZWF0ZUNsYXNzIiwia2V5IiwidmFsdWUiLCJnZW5lcmF0ZU5vZGUiLCJldmVudCIsImVsZSIsInRhcmdldCIsImlzUGFyZW50IiwiaXNDaGlsZGxlc3MiLCJpc0NoaWxkIiwiaXNPcnBoYW4iLCJyZW5kZXJlZFBvc2l0aW9uIiwicmVsYXRpdmVQb3NpdGlvbiIsInBhcmVudCIsInN0eWxlIiwiZWRnZXNEYXRhIiwiY29ubmVjdGVkRWRnZXMiLCJtYXAiLCJkYXRhIiwiY2hpbGRyZW5EYXRhIiwiY2hpbGRyZW4iLCJhbmNlc3RvcnNEYXRhIiwiYW5jZXN0b3JzIiwiZGVzY2VuZGFudHNEYXRhIiwiZGVzY2VuZGFudHMiLCJzaWJsaW5nc0RhdGEiLCJzaWJsaW5ncyIsInRpbWVTdGFtcCIsIl9lbGUkanNvbiIsImpzb24iLCJjbGFzc2VzIiwiZ3JhYmJhYmxlIiwiZ3JvdXAiLCJsb2NrZWQiLCJwb3NpdGlvbiIsInNlbGVjdGVkIiwic2VsZWN0YWJsZSIsInBhcmVudERhdGEiLCJub2RlT2JqZWN0IiwiZ2VuZXJhdGVFZGdlIiwibWlkcG9pbnQiLCJpc0xvb3AiLCJpc1NpbXBsZSIsInNvdXJjZURhdGEiLCJzb3VyY2UiLCJzb3VyY2VFbmRwb2ludCIsInRhcmdldERhdGEiLCJ0YXJnZXRFbmRwb2ludCIsIl9lbGUkanNvbjIiLCJlZGdlT2JqZWN0IiwiY3kiLCJfdGhpczIiLCJfY3kiLCJ3aW5kb3ciLCJTRUxFQ1RfVEhSRVNIT0xEIiwiRVhURU5UX1RIUkVTSE9MRCIsIlVQREFURV9FTEVNRU5UU19USFJFU0hPTEQiLCJSRVNJWkVfVEhSRVNIT0xEIiwic2VsZWN0ZWROb2RlcyIsImNvbGxlY3Rpb24iLCJzZWxlY3RlZEVkZ2VzIiwicmVmcmVzaExheW91dCIsImRlYm91bmNlIiwiX3RoaXMyJHByb3BzIiwiYXV0b1JlZnJlc2hMYXlvdXQiLCJsYXlvdXQiLCJydW4iLCJzZW5kU2VsZWN0ZWROb2Rlc0RhdGEiLCJub2RlRGF0YSIsImVsIiwic2V0UHJvcHMiLCJzZWxlY3RlZE5vZGVEYXRhIiwic2VuZFNlbGVjdGVkRWRnZXNEYXRhIiwiZWRnZURhdGEiLCJzZWxlY3RlZEVkZ2VEYXRhIiwic2V0RXh0ZW50IiwiY3lFeHRlbnQiLCJleHRlbnQiLCJ1cGRhdGVFbGVtZW50cyIsImVsZW1lbnRzIiwiaXRlbSIsInJlc2l6ZSIsIm9yaWdpbmFsTWF4Wm9vbUZuIiwibWF4Wm9vbSIsIm9yaWdpbmFsTWluWm9vbUZuIiwibWluWm9vbSIsImUiLCJjdXJyZW50TWF4Wm9vbSIsImNhbGwiLCJfcHJldmlvdXNNYXhab29tIiwidHJpZ2dlciIsImN1cnJlbnRNaW5ab29tIiwiX3ByZXZpb3VzTWluWm9vbSIsIm9uIiwidGFwTm9kZSIsInRhcE5vZGVEYXRhIiwiT2JqZWN0IiwiYXNzaWduIiwidGFwRWRnZSIsInRhcEVkZ2VEYXRhIiwibW91c2VvdmVyTm9kZURhdGEiLCJtb3VzZW92ZXJFZGdlRGF0YSIsImNsZWFyT25VbmhvdmVyIiwibWVyZ2UiLCJ1bm1lcmdlIiwiem9vbSIsImZpdCIsImNyZWF0ZU1lbnVJdGVtcyIsImN0eE1lbnUiLCJ1cGRhdGVDb250ZXh0TWVudURhdGEiLCJuZXdDb250ZXh0IiwiY29udGV4dE1lbnVEYXRhIiwiY29udGV4dE1lbnVEZWZhdWx0RnVuY3Rpb25zIiwicmVtb3ZlIiwiY3lUYXJnZXQiLCJhZGRfbm9kZSIsInBvcyIsImN5UG9zaXRpb24iLCJhZGQiLCJ4IiwieSIsImFkZF9lZGdlIiwic2VsZWN0ZWROb2RlSWRzIiwibm9kZSIsImlkIiwibGVuZ3RoIiwiY29uc29sZSIsImVycm9yIiwibmV3TWVudUl0ZW1zIiwiX2l0ZXJhdG9yIiwiX2NyZWF0ZUZvck9mSXRlcmF0b3JIZWxwZXIiLCJfc3RlcCIsIl9sb29wIiwib25DbGlja0Z1bmN0aW9uIiwibWVudUl0ZW1JZCIsImVsZW1lbnRJZCIsImVkZ2VTb3VyY2UiLCJlZGdlVGFyZ2V0IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJvbkNsaWNrIiwiY29uY2F0IiwiZGFzaEN5dG9zY2FwZUZ1bmN0aW9ucyIsIm9uQ2xpY2tDdXN0b20iLCJuZXdfaXRlbSIsImNvbnRlbnQiLCJsYWJlbCIsInRvb2x0aXBUZXh0Iiwic2VsZWN0b3IiLCJjb3JlQXNXZWxsIiwiX2l0ZXJhdG9yMiIsImF2YWlsYWJsZU9uIiwiX3N0ZXAyIiwicyIsIm4iLCJkb25lIiwiZXJyIiwiZiIsInB1c2giLCJ0b2dnbGUiLCJyZXNwb25zaXZlIiwiaW1hZ2VUeXBlIiwiaW1hZ2VPcHRpb25zIiwiYWN0aW9uc1RvUGVyZm9ybSIsImZpbGVOYW1lIiwiX3RoaXMzIiwib3B0aW9ucyIsImRlc2lyZWRPdXRwdXQiLCJvdXRwdXQiLCJkb3dubG9hZEltYWdlIiwic3RvcmVJbWFnZSIsInBuZyIsImpwZyIsInN2ZyIsImZOYW1lIiwiZG93bmxvYWRCbG9iIiwiYmxvYiIsIkJsb2IiLCJ0eXBlIiwicmVhZGVyIiwiRmlsZVJlYWRlciIsIm9ubG9hZCIsImNhbGxiYWNrRGF0YSIsInJlc3VsdCIsInJlcGxhY2UiLCJpbWFnZURhdGEiLCJyZWFkQXNEYXRhVVJMIiwiZG93bmxvYWRMaW5rIiwiZG9jdW1lbnQiLCJjcmVhdGVFbGVtZW50IiwiYm9keSIsImFwcGVuZENoaWxkIiwidXJsIiwiVVJMIiwiY3JlYXRlT2JqZWN0VVJMIiwiaHJlZiIsImRvd25sb2FkIiwiY2xpY2siLCJyZXZva2VPYmplY3RVUkwiLCJyZW1vdmVDaGlsZCIsInVwZGF0ZUNvbnRleHRNZW51IiwiY29udGV4dE1lbnUiLCJtZW51SXRlbXMiLCJtZW51SXRlbUNsYXNzZXMiLCJncmFwaE91dE9mVmlldyIsImN5V2lkdGgiLCJ3aWR0aCIsImN5SGVpZ2h0IiwiaGVpZ2h0IiwiZWxCb3giLCJyZW5kZXJlZEJvdW5kaW5nYm94IiwieDEiLCJ5MSIsIngyIiwieTIiLCJjb21wb25lbnREaWRVcGRhdGUiLCJwcmV2UHJvcHMiLCJfdGhpcyRwcm9wcyIsImlzRXF1YWwiLCJjb21wb25lbnREaWRNb3VudCIsInJlbmRlciIsIl90aGlzJHByb3BzMiIsImNsYXNzTmFtZSIsInN0eWxlc2hlZXQiLCJwYW4iLCJwYW5uaW5nRW5hYmxlZCIsInVzZXJQYW5uaW5nRW5hYmxlZCIsInpvb21pbmdFbmFibGVkIiwidXNlclpvb21pbmdFbmFibGVkIiwid2hlZWxTZW5zaXRpdml0eSIsImJveFNlbGVjdGlvbkVuYWJsZWQiLCJhdXRvdW5ncmFiaWZ5IiwiYXV0b2xvY2siLCJhdXRvdW5zZWxlY3RpZnkiLCJnZW5lcmF0ZUltYWdlIiwia2V5cyIsImFjdGlvbiIsImZpbGVuYW1lIiwibm9ybWFsaXplRWxlbWVudHMiLCJwcm9wVHlwZXMiLCJzdHJpbmciLCJvYmplY3QiLCJmdW5jIiwib25lT2ZUeXBlIiwiYXJyYXlPZiIsInNoYXBlIiwibnVtYmVyIiwiYm9vbCIsImV4YWN0Iiwibm9kZXMiLCJhcnJheSIsImVkZ2VzIiwiaXNSZXF1aXJlZCIsIm5hbWUiLCJvbmVPZiIsInBhZGRpbmciLCJhbmltYXRlIiwiYW5pbWF0aW9uRHVyYXRpb24iLCJib3VuZGluZ0JveCIsImRlZmF1bHRQcm9wcyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/lib/components/Cytoscape.react.js\n"); /***/ }), diff --git a/deps/dash_cytoscape.min.js b/deps/dash_cytoscape.min.js index 8aedf0bc..0eaa47fd 100644 --- a/deps/dash_cytoscape.min.js +++ b/deps/dash_cytoscape.min.js @@ -1,2 +1,2 @@ /*! For license information please see dash_cytoscape.min.js.LICENSE.txt */ -(()=>{var e={1686:()=>{!function(){"use strict";var e=function(e,t){var n=function(e){for(var t=0,n=e.length;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(e){throw e},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,s=!0,u=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return s=e.done,e},e:function(e){u=!0,o=e},f:function(){try{s||null==r.return||r.return()}finally{if(u)throw o}}}}var r=!0,i=!1,a="querySelectorAll",o="querySelectorAll",s=self,u=s.document,l=s.Element,c=s.MutationObserver,d=s.Set,h=s.WeakMap,f=function(e){return o in e},p=[].filter,v=function(e){var t=new h,s=function(n,r){var i;if(r)for(var a,o=function(e){return e.matches||e.webkitMatchesSelector||e.msMatchesSelector}(n),s=0,u=g.length;s1&&void 0!==arguments[1])||arguments[1],n=0,r=e.length;n1&&void 0!==arguments[1]?arguments[1]:document,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:MutationObserver,s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:["*"],u=function t(i,o,s,u,l,c){var d,h=n(i);try{for(h.s();!(d=h.n()).done;){var f=d.value;(c||a in f)&&(l?s.has(f)||(s.add(f),u.delete(f),e(f,l)):u.has(f)||(u.add(f),s.delete(f),e(f,l)),c||t(f[a](o),o,s,u,l,r))}}catch(e){h.e(e)}finally{h.f()}},l=new o((function(e){if(s.length){var t,a=s.join(","),o=new Set,l=new Set,c=n(e);try{for(c.s();!(t=c.n()).done;){var d=t.value,h=d.addedNodes,f=d.removedNodes;u(f,a,o,l,i,i),u(h,a,o,l,r,i)}}catch(e){c.e(e)}finally{c.f()}}})),c=l.observe;return(l.observe=function(e){return c.call(l,e,{subtree:r,childList:r})})(t),l}(s,y,c,g),b=l.prototype.attachShadow;return b&&(l.prototype.attachShadow=function(e){var t=b.call(this,e);return m.observe(t),t}),g.length&&v(y[o](g)),{drop:function(e){for(var n=0,r=e.length;n{window.dash_clientside||(window.dash_clientside={});var e=20037508.34;function t(t,n){return[180*t/e,360*Math.atan(Math.exp(-n*Math.PI/e))/Math.PI-90]}window.dash_clientside.cyleaflet={updateLeafBounds:function(e,n,r){var i=e;if(!i){if(!r)return window.dash_clientside.no_update;i=r}var a=t(i.x1,i.y1),o=a[0],s=a[1],u=t(i.x2,i.y2),l=u[0],c=u[1],d=(new Date).getTime(),h=[[c,o],[s,l]];return s===c||o===l?window.dash_clientside.no_update:[d,{bounds:h,options:{animate:!0}},i]},transformElements:function(t){return t.map((function(t){if(Object.prototype.hasOwnProperty.call(t.data,"lat")){var n=(r=t.data.lon,i=t.data.lat,[r*e/180,-Math.log(Math.tan((90+i)*Math.PI/360))*e/Math.PI]);return{data:t.data,position:{y:n[1],x:n[0]}}}var r,i;return t}))},updateLonLat:function(e){return e.length>0?e.map((function(e){if(void 0!==e.position&&Object.prototype.hasOwnProperty.call(e.position,"x")&&0!==e.position.x&&0!==e.position.y){var n=t(e.position.x,e.position.y);return{position:e.position,data:Object.assign({},e.data,{lon:n[0],lat:n[1]})}}return e})):window.dash_clientside.no_update},updateCytoMaxZoom:function(e){var t=e;e.length>=1&&1===(t=e.filter((function(e){return"TileLayer"===e.type}))).length&&(t=t[0]);var n=18;return void 0!==t.props&&Object.prototype.hasOwnProperty.call(t.props,"maxZoom")&&(n=t.props.maxZoom),function(e){return.418*Math.pow(2,e-16)}(n)}}},372:(e,t,n)=>{"use strict";n.d(t,{Z:()=>s});var r=n(8081),i=n.n(r),a=n(3645),o=n.n(a)()(i());o.push([e.id,".cytoscape-reference p {\n display: inline;\n}\n\n.custom-menu-item {\n background-color: rgb(241, 241, 241);\n font-weight: bold !important;\n width: 170px;\n display: inline-block;\n height: 38px;\n padding: 0 30px;\n color: #555;\n text-align: center;\n font-size: 11px;\n font-weight: 600;\n line-height: 38px;\n letter-spacing: 0.1rem;\n text-decoration: none;\n white-space: nowrap;\n border-radius: 4px;\n border: 1px solid #bbb;\n cursor: pointer;\n box-sizing: border-box;\n}\n.custom-menu-item:hover {\n color: rgb(104, 104, 104);\n border-color: rgb(97, 97, 97);\n outline: 0;\n}\n\n.cy-context-menus-cxt-menu {\n display: none;\n}\n",""]);const s=o},3645:e=>{"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var n="",r=void 0!==t[5];return t[4]&&(n+="@supports (".concat(t[4],") {")),t[2]&&(n+="@media ".concat(t[2]," {")),r&&(n+="@layer".concat(t[5].length>0?" ".concat(t[5]):""," {")),n+=e(t),r&&(n+="}"),t[2]&&(n+="}"),t[4]&&(n+="}"),n})).join("")},t.i=function(e,n,r,i,a){"string"==typeof e&&(e=[[null,e,void 0]]);var o={};if(r)for(var s=0;s0?" ".concat(c[5]):""," {").concat(c[1],"}")),c[5]=a),n&&(c[2]?(c[1]="@media ".concat(c[2]," {").concat(c[1],"}"),c[2]=n):c[2]=n),i&&(c[4]?(c[1]="@supports (".concat(c[4],") {").concat(c[1],"}"),c[4]=i):c[4]="".concat(i)),t.push(c))}},t}},8081:e=>{"use strict";e.exports=function(e){return e[1]}},474:e=>{self,e.exports=(()=>{var e={621:(e,t,n)=>{"use strict";function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);nD});var s="cy-context-menus-divider",u={evtType:"cxttap",menuItems:[],menuItemClasses:["cy-context-menus-cxt-menuitem"],contextMenuClasses:["cy-context-menus-cxt-menu"],submenuIndicator:{src:"assets/submenu-indicator-default.svg",width:12,height:12}};function l(e){return(l="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function c(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return d(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?d(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,s=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return o=e.done,e},e:function(e){s=!0,a=e},f:function(){try{o||null==n.return||n.return()}finally{if(s)throw a}}}}function d(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n1&&void 0!==arguments[1]?arguments[1]:void 0;this.hasSubmenu()||this._createSubmenu(),this.submenu.appendMenuItem(e,t)}},{key:"isClickable",value:function(){return void 0!==this.onClickFunction}},{key:"display",value:function(){this.show=!0,this.style.display="block"}},{key:"isVisible",value:function(){return!0===this.show&&"none"!==this.style.display}},{key:"removeSubmenu",value:function(){this.hasSubmenu()&&(this.submenu.removeAllMenuItems(),this.detachSubmenu())}},{key:"detachSubmenu",value:function(){this.hasSubmenu()&&(this.removeChild(this.submenu),this.removeChild(this.indicator),this.removeEventListener("mouseenter",this.mouseEnterHandler),this.removeEventListener("mouseleave",this.mouseLeaveHandler),this.submenu=void 0,this.indicator=void 0)}},{key:"_onMouseEnter",value:function(e){var t=this.getBoundingClientRect(),r=function(e){e.style.opacity="0",e.style.display="block";var t=e.getBoundingClientRect();return e.style.opacity="1",e.style.display="none",t}(this.submenu),i=t.right+r.width>window.innerWidth,a=t.top+r.height>window.innerHeight;i||a?i&&!a?(this.submenu.style.right=this.clientWidth+"px",this.submenu.style.top="0px",this.submenu.style.left="auto",this.submenu.style.bottom="auto"):i&&a?(this.submenu.style.right=this.clientWidth+"px",this.submenu.style.bottom="0px",this.submenu.style.top="auto",this.submenu.style.left="auto"):(this.submenu.style.left=this.clientWidth+"px",this.submenu.style.bottom="0px",this.submenu.style.right="auto",this.submenu.style.top="auto"):(this.submenu.style.left=this.clientWidth+"px",this.submenu.style.top="0px",this.submenu.style.right="auto",this.submenu.style.bottom="auto"),this.submenu.display();var o=Array.from(this.submenu.children).filter((function(e){if(e instanceof n)return e.isVisible()})),u=o.length;o.forEach((function(e,t){e instanceof n&&(t=(a=n.getBoundingClientRect()).left&&r<=a.right&&i>=a.top&&i<=a.bottom||this.submenu.hide()}},{key:"_createSubmenu",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];this.indicator=this.scratchpad.submenuIndicatorGen(),this.submenu=new S(this.onMenuItemClick,this.scratchpad),this.appendChild(this.indicator),this.appendChild(this.submenu);var t,r=c(e);try{for(r.s();!(t=r.n()).done;){var i=new n(t.value,this.onMenuItemClick,this.scratchpad);this.submenu.appendMenuItem(i)}}catch(e){r.e(e)}finally{r.f()}this.mouseEnterHandler=this._onMouseEnter.bind(this),this.mouseLeaveHandler=this._onMouseLeave.bind(this),this.addEventListener("mouseenter",this.mouseEnterHandler),this.addEventListener("mouseleave",this.mouseLeaveHandler)}},{key:"_getMenuItemClassStr",value:function(e,t){return t?e+" "+s:e}}],[{key:"define",value:function(){o("ctx-menu-item",n,"button")}}]),n}(b(HTMLButtonElement)),S=function(e){v(n,e);var t=g(n);function n(e,r){var i,a;return h(this,n),m((i=y(a=t.call(this)),E(n.prototype)),"setAttribute",i).call(i,"class",r.cxtMenuClasses),a.style.position="absolute",a.onMenuItemClick=e,a.scratchpad=r,a}return p(n,[{key:"hide",value:function(){this.isVisible()&&(this.hideSubmenus(),this.style.display="none")}},{key:"display",value:function(){this.style.display="block"}},{key:"isVisible",value:function(){return"none"!==this.style.display}},{key:"hideMenuItems",value:function(){var e,t=c(this.children);try{for(t.s();!(e=t.n()).done;){var n=e.value;n instanceof HTMLElement?n.style.display="none":console.warn("".concat(n," is not a HTMLElement"))}}catch(e){t.e(e)}finally{t.f()}}},{key:"hideSubmenus",value:function(){var e,t=c(this.children);try{for(t.s();!(e=t.n()).done;){var n=e.value;n instanceof C&&n.submenu&&n.submenu.hide()}}catch(e){t.e(e)}finally{t.f()}}},{key:"appendMenuItem",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0;if(void 0!==t){if(t.parentNode!==this)throw new Error("The item with id='".concat(t.id,"' is not a child of the context menu"));this.insertBefore(e,t)}else this.appendChild(e);e.isClickable()&&this._performBindings(e)}},{key:"moveBefore",value:function(e,t){if(e.parentNode!==this)throw new Error("The item with id='".concat(e.id,"' is not a child of context menu"));if(t.parentNode!==this)throw new Error("The item with id='".concat(t.id,"' is not a child of context menu"));this.removeChild(e),this.insertBefore(e,t)}},{key:"removeAllMenuItems",value:function(){for(;this.firstChild;){var e=this.lastChild;e instanceof C?this._removeImmediateMenuItem(e):(console.warn("Found non menu item in the context menu: ",e),this.removeChild(e))}}},{key:"_removeImmediateMenuItem",value:function(e){if(!this._detachImmediateMenuItem(e))throw new Error("menu item(id=".concat(e.id,") is not in the context menu"));e.detachSubmenu(),e.unbindOnClickFunctions()}},{key:"_detachImmediateMenuItem",value:function(e){if(e.parentNode===this){if(this.removeChild(e),this.children.length<=0){var t=this.parentNode;t instanceof C&&t.detachSubmenu()}return!0}return!1}},{key:"_performBindings",value:function(e){var t=this._bindOnClick(e.onClickFunction);e.bindOnClickFunction(t),e.bindOnClickFunction(this.onMenuItemClick)}},{key:"_bindOnClick",value:function(e){var t=this;return function(){var n=t.scratchpad.currentCyEvent;e(n)}}}],[{key:"define",value:function(){o("menu-item-list",n,"div")}}]),n}(b(HTMLDivElement)),P=function(e){v(n,e);var t=g(n);function n(e,r){var i;return h(this,n),(i=t.call(this,e,r)).onMenuItemClick=function(t){k(t),i.hide(),e()},i}return p(n,[{key:"removeMenuItem",value:function(e){var t=e.parentElement;t instanceof S&&this.contains(t)&&t._removeImmediateMenuItem(e)}},{key:"appendMenuItem",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0;this.ensureDoesntContain(e.id),m(E(n.prototype),"appendMenuItem",this).call(this,e,t)}},{key:"insertMenuItem",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.before,r=t.parent;if(this.ensureDoesntContain(e.id),void 0!==n){if(!this.contains(n))throw new Error("before(id=".concat(n.id,") is not in the context menu"));var i=n.parentNode;if(!(i instanceof S))throw new Error("Parent of before(id=".concat(n.id,") is not a submenu"));i.appendMenuItem(e,n)}else if(void 0!==r){if(!this.contains(r))throw new Error("parent(id=".concat(r.id,") is not a descendant of the context menu"));r.appendSubmenuItem(e)}else this.appendMenuItem(e)}},{key:"moveBefore",value:function(e,t){var n=e.parentElement;if(!this.contains(n))throw new Error("parent(id=".concat(n.id,") is not in the contex menu"));if(!this.contains(t))throw new Error("before(id=".concat(t.id,") is not in the context menu"));n.removeChild(e),this.insertMenuItem(e,{before:t})}},{key:"moveToSubmenu",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,r=e.parentElement;if(!(r instanceof S))throw new Error("current parent(id=".concat(r.id,") is not a submenu"));if(!this.contains(r))throw new Error("parent of the menu item(id=".concat(r.id,") is not in the context menu"));if(null!==t){if(!this.contains(t))throw new Error("parent(id=".concat(t.id,") is not in the context menu"));r._detachImmediateMenuItem(e),t.appendSubmenuItem(e)}else null!==n&&(e.selector=n.selector,e.coreAsWell=n.coreAsWell),r._detachImmediateMenuItem(e),this.appendMenuItem(e)}},{key:"ensureDoesntContain",value:function(e){var t=document.getElementById(e);if(void 0!==t&&this.contains(t))throw new Error("There is already an element with id=".concat(e," in the context menu"))}}],[{key:"define",value:function(){o("ctx-menu",n,"div")}}]),n}(S);function T(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n1&&void 0!==arguments[1]?arguments[1]:void 0,n=p(e);if(void 0!==t){var r=g(t);d.insertMenuItem(n,{parent:r})}else d.insertMenuItem(n)},f=function(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,n=0;n0&&(s.top+=h,s.left+=h);var f=r.clientHeight,p=r.clientWidth,v=f/2,g=p/2;u.y>v&&u.x<=g?(d.style.left=u.x+"px",d.style.bottom=f-u.y+"px",d.style.right="auto",d.style.top="auto"):u.y>v&&u.x>g?(d.style.right=p-u.x+"px",d.style.bottom=f-u.y+"px",d.style.left="auto",d.style.top="auto"):u.y<=v&&u.x<=g?(d.style.left=u.x+"px",d.style.top=u.y+"px",d.style.right="auto",d.style.bottom="auto"):(d.style.right=p-u.x+"px",d.style.top=u.y+"px",d.style.left="auto",d.style.bottom="auto")}}(e);var n,r=e.target||e.cyTarget,i=function(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return T(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?T(e,t):void 0}}(e))){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,s=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return o=e.done,e},e:function(e){s=!0,a=e},f:function(){try{o||null==n.return||n.return()}finally{if(s)throw a}}}}(d.children);try{for(i.s();!(n=i.n()).done;){var a=n.value;a instanceof C&&(r===t?a.coreAsWell:r.is(a.selector))&&a.show&&(d.display(),l("anyVisibleChild",!0),a.display())}}catch(e){i.e(e)}finally{i.f()}var u=Array.from(d.children).filter((function(e){if(e instanceof C)return e.isVisible()})),c=u.length;u.forEach((function(e,t){e instanceof C&&(t=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(e){throw e},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,s=!0,u=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return s=e.done,e},e:function(e){u=!0,o=e},f:function(){try{s||null==n.return||n.return()}finally{if(u)throw o}}}}(document.getElementsByClassName("cy-context-menus-cxt-menu"));try{for(t.s();!(e=t.n()).done;)e.value.addEventListener("contextmenu",(function(e){return e.preventDefault()}))}catch(e){t.e(e)}finally{t.f()}}()}return function(e){return{isActive:function(){return o("active")},appendMenuItem:function(t){return h(t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0),e},appendMenuItems:function(t){return f(t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0),e},removeMenuItem:function(t){var n=g(t);return d.removeMenuItem(n),e},setTrailingDivider:function(t,n){var r=g(t);return r.setHasTrailingDivider(n),n?r.classList.add(s):r.classList.remove(s),e},insertBeforeMenuItem:function(t,n){var r=p(t),i=g(n);return d.insertMenuItem(r,{before:i}),e},moveToSubmenu:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=g(t);if(null===n)d.moveToSubmenu(r);else if("string"==typeof n){var i=g(n.toString());d.moveToSubmenu(r,i)}else void 0!==n.coreAsWell||void 0!==n.selector?d.moveToSubmenu(r,null,n):console.warn("options neither has coreAsWell nor selector property but it is an object. Are you sure that this is what you want to do?");return e},moveBeforeOtherMenuItem:function(t,n){var r=g(t),i=g(n);return d.moveBefore(r,i),e},disableMenuItem:function(t){return g(t).disable(),e},enableMenuItem:function(t){return g(t).enable(),e},hideMenuItem:function(t){return g(t).hide(),e},showMenuItem:function(t){return g(t).display(),e},destroy:function(){return v(),e}}}(this)}},579:(e,t,n)=>{var r=n(621).contextMenus,i=function(e){e&&e("core","contextMenus",r)};"undefined"!=typeof cytoscape&&i(cytoscape),e.exports=i}},t={};function n(r){var i=t[r];if(void 0!==i)return i.exports;var a=t[r]={exports:{}};return e[r](a,a.exports,n),a.exports}return n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n(579)})()},9058:(e,t,n)=>{"use strict";var r=n(3279),i=n(4485),a=n(7361),o=n(6968),s=n(84);function u(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var l=u(r),c=u(i),d=u(a),h=u(o),f=u(s);function p(e){return p="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},p(e)}function v(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function g(e,t){for(var n=0;ne.length)&&(t=e.length);for(var n=0,r=new Array(t);nt?1:0},Q=null!=Object.assign?Object.assign.bind(Object):function(e){for(var t=arguments,n=1;n1&&void 0!==arguments[1]?arguments[1]:se;!(t=e.next()).done;)n=65599*n+t.value|0;return n},ce=function(e){return 65599*(arguments.length>1&&void 0!==arguments[1]?arguments[1]:se)+e|0},de=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:ue;return(t<<5)+t+e|0},he=function(e){return 2097152*e[0]+e[1]},fe=function(e,t){return[ce(e[0],t[0]),de(e[1],t[1])]},pe=function(e,t){var n={value:0,done:!1},r=0,i=e.length;return le({next:function(){return r=0&&(e[r]!==t||(e.splice(r,1),!n));r--);},Ae=function(e){e.splice(0,e.length)},ze=function(e,t,n){return n&&(t=Y(n,t)),e[t]},Ne=function(e,t,n,r){n&&(t=Y(n,t)),e[t]=r},Le="undefined"!=typeof Map?Map:function(){function e(){v(this,e),this._obj={}}return y(e,[{key:"set",value:function(e,t){return this._obj[e]=t,this}},{key:"delete",value:function(e){return this._obj[e]=void 0,this}},{key:"clear",value:function(){this._obj={}}},{key:"has",value:function(e){return void 0!==this._obj[e]}},{key:"get",value:function(e){return this._obj[e]}}]),e}(),Re=function(){function e(t){if(v(this,e),this._obj=Object.create(null),this.size=0,null!=t){var n;n=null!=t.instanceString&&t.instanceString()===this.instanceString()?t.toArray():t;for(var r=0;r2&&void 0!==arguments[2])||arguments[2];if(void 0!==e&&void 0!==t&&L(e)){var r=t.group;if(null==r&&(r=t.data&&null!=t.data.source&&null!=t.data.target?"edges":"nodes"),"nodes"===r||"edges"===r){this.length=1,this[0]=this;var i=this._private={cy:e,single:!0,data:t.data||{},position:t.position||{x:0,y:0},autoWidth:void 0,autoHeight:void 0,autoPadding:void 0,compoundBoundsClean:!1,listeners:[],group:r,style:{},rstyle:{},styleCxts:[],styleKeys:{},removed:!0,selected:!!t.selected,selectable:void 0===t.selectable||!!t.selectable,locked:!!t.locked,grabbed:!1,grabbable:void 0===t.grabbable||!!t.grabbable,pannable:void 0===t.pannable?"edges"===r:!!t.pannable,active:!1,classes:new je,animation:{current:[],queue:[]},rscratch:{},scratch:t.scratch||{},edges:[],children:[],parent:t.parent&&t.parent.isNode()?t.parent:null,traversalCache:{},backgrounding:!1,bbCache:null,bbCacheShift:{x:0,y:0},bodyBounds:null,overlayBounds:null,labelBounds:{all:null,source:null,target:null,main:null},arrowBounds:{source:null,target:null,"mid-source":null,"mid-target":null}};if(null==i.position.x&&(i.position.x=0),null==i.position.y&&(i.position.y=0),t.renderedPosition){var a=t.renderedPosition,o=e.pan(),s=e.zoom();i.position={x:(a.x-o.x)/s,y:(a.y-o.y)/s}}var u=[];M(t.classes)?u=t.classes:T(t.classes)&&(u=t.classes.split(/\s+/));for(var l=0,c=u.length;l0;){var _=m.pop(),E=g(_),k=_.id();if(h[k]=E,E!==1/0)for(var C=_.neighborhood().intersect(p),S=0;S0)for(n.unshift(t);d[i];){var a=d[i];n.unshift(a.edge),n.unshift(a.node),i=(r=a.node).id()}return o.spawn(n)}}}},Xe={kruskal:function(e){e=e||function(e){return 1};for(var t=this.byGroup(),n=t.nodes,r=t.edges,i=n.length,a=new Array(i),o=n,s=function(e){for(var t=0;t0;){if(l=(u=g.pop()).id(),y.delete(l),_++,l===h){for(var E=[],k=i,C=h,S=b[C];E.unshift(k),null!=S&&E.unshift(S),null!=(k=m[C]);)S=b[C=k.id()];return{found:!0,distance:f[l],path:this.spawn(E),steps:_}}v[l]=!0;for(var P=u._private.edges,T=0;TS&&(f[C]=S,y[C]=k,m[C]=x),!i){var P=k*l+E;!i&&f[P]>S&&(f[P]=S,y[P]=E,m[P]=x)}}}for(var D=0;D1&&void 0!==arguments[1]?arguments[1]:a,r=[],i=m(e);;){if(null==i)return t.spawn();var o=y(i),u=o.edge,l=o.pred;if(r.unshift(i[0]),i.same(n)&&r.length>0)break;null!=u&&r.unshift(u),i=l}return s.spawn(r)},hasNegativeWeightCycle:p,negativeWeightCycles:v}}},Qe=Math.sqrt(2),Je=function(e,t,n){0===n.length&&Ce("Karger-Stein must be run on a connected (sub)graph");for(var r=n[e],i=r[1],a=r[2],o=t[i],s=t[a],u=n,l=u.length-1;l>=0;l--){var c=u[l],d=c[1],h=c[2];(t[d]===o&&t[h]===s||t[d]===s&&t[h]===o)&&u.splice(l,1)}for(var f=0;fr;){var i=Math.floor(Math.random()*t.length);t=Je(i,e,t),n--}return t},tt={kargerStein:function(){var e=this,t=this.byGroup(),n=t.nodes,r=t.edges;r.unmergeBy((function(e){return e.isLoop()}));var i=n.length,a=r.length,o=Math.ceil(Math.pow(Math.log(i)/Math.LN2,2)),s=Math.floor(i/Qe);if(!(i<2)){for(var u=[],l=0;l0?1:e<0?-1:0},ut=function(e,t){return Math.sqrt(lt(e,t))},lt=function(e,t){var n=t.x-e.x,r=t.y-e.y;return n*n+r*r},ct=function(e){for(var t=e.length,n=0,r=0;r=e.x1&&e.y2>=e.y1)return{x1:e.x1,y1:e.y1,x2:e.x2,y2:e.y2,w:e.x2-e.x1,h:e.y2-e.y1};if(null!=e.w&&null!=e.h&&e.w>=0&&e.h>=0)return{x1:e.x1,y1:e.y1,x2:e.x1+e.w,y2:e.y1+e.h,w:e.w,h:e.h}}},vt=function(e,t){e.x1=Math.min(e.x1,t.x1),e.x2=Math.max(e.x2,t.x2),e.w=e.x2-e.x1,e.y1=Math.min(e.y1,t.y1),e.y2=Math.max(e.y2,t.y2),e.h=e.y2-e.y1},gt=function(e,t,n){e.x1=Math.min(e.x1,t),e.x2=Math.max(e.x2,t),e.w=e.x2-e.x1,e.y1=Math.min(e.y1,n),e.y2=Math.max(e.y2,n),e.h=e.y2-e.y1},yt=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return e.x1-=t,e.x2+=t,e.y1-=t,e.y2+=t,e.w=e.x2-e.x1,e.h=e.y2-e.y1,e},mt=function(e){var t,n,r,i,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[0];if(1===a.length)t=n=r=i=a[0];else if(2===a.length)t=r=a[0],i=n=a[1];else if(4===a.length){var o=b(a,4);t=o[0],n=o[1],r=o[2],i=o[3]}return e.x1-=i,e.x2+=n,e.y1-=t,e.y2+=r,e.w=e.x2-e.x1,e.h=e.y2-e.y1,e},bt=function(e,t){e.x1=t.x1,e.y1=t.y1,e.x2=t.x2,e.y2=t.y2,e.w=e.x2-e.x1,e.h=e.y2-e.y1},xt=function(e,t){return!(e.x1>t.x2||t.x1>e.x2||e.x2t.y2||t.y1>e.y2)},wt=function(e,t,n){return e.x1<=t&&t<=e.x2&&e.y1<=n&&n<=e.y2},_t=function(e,t){return wt(e,t.x1,t.y1)&&wt(e,t.x2,t.y2)},Et=function(e,t,n,r,i,a,o){var s,u=Ft(i,a),l=i/2,c=a/2,d=r-c-o;if((s=zt(e,t,n,r,n-l+u-o,d,n+l-u+o,d,!1)).length>0)return s;var h=n+l+o;if((s=zt(e,t,n,r,h,r-c+u-o,h,r+c-u+o,!1)).length>0)return s;var f=r+c+o;if((s=zt(e,t,n,r,n-l+u-o,f,n+l-u+o,f,!1)).length>0)return s;var p,v=n-l-o;if((s=zt(e,t,n,r,v,r-c+u-o,v,r+c-u+o,!1)).length>0)return s;var g=n-l+u,y=r-c+u;if((p=Ot(e,t,n,r,g,y,u+o)).length>0&&p[0]<=g&&p[1]<=y)return[p[0],p[1]];var m=n+l-u,b=r-c+u;if((p=Ot(e,t,n,r,m,b,u+o)).length>0&&p[0]>=m&&p[1]<=b)return[p[0],p[1]];var x=n+l-u,w=r+c-u;if((p=Ot(e,t,n,r,x,w,u+o)).length>0&&p[0]>=x&&p[1]>=w)return[p[0],p[1]];var _=n-l+u,E=r+c-u;return(p=Ot(e,t,n,r,_,E,u+o)).length>0&&p[0]<=_&&p[1]>=E?[p[0],p[1]]:[]},kt=function(e,t,n,r,i,a,o){var s=o,u=Math.min(n,i),l=Math.max(n,i),c=Math.min(r,a),d=Math.max(r,a);return u-s<=e&&e<=l+s&&c-s<=t&&t<=d+s},Ct=function(e,t,n,r,i,a,o,s,u){var l=Math.min(n,o,i)-u,c=Math.max(n,o,i)+u,d=Math.min(r,s,a)-u,h=Math.max(r,s,a)+u;return!(ec||th)},St=function(e,t,n,r,i,a,o,s){var u,l,c,d,h,f,p,v,g,y,m,b,x,w=[];l=9*n*i-3*n*n-3*n*o-6*i*i+3*i*o+9*r*a-3*r*r-3*r*s-6*a*a+3*a*s,c=3*n*n-6*n*i+n*o-n*e+2*i*i+2*i*e-o*e+3*r*r-6*r*a+r*s-r*t+2*a*a+2*a*t-s*t,d=1*n*i-n*n+n*e-i*e+r*a-r*r+r*t-a*t,0===(u=1*n*n-4*n*i+2*n*o+4*i*i-4*i*o+o*o+r*r-4*r*a+2*r*s+4*a*a-4*a*s+s*s)&&(u=1e-5),v=-27*(d/=u)+(l/=u)*(9*(c/=u)-l*l*2),f=(p=(3*c-l*l)/9)*p*p+(v/=54)*v,(h=w)[1]=0,b=l/3,f>0?(y=(y=v+Math.sqrt(f))<0?-Math.pow(-y,1/3):Math.pow(y,1/3),m=(m=v-Math.sqrt(f))<0?-Math.pow(-m,1/3):Math.pow(m,1/3),h[0]=-b+y+m,b+=(y+m)/2,h[4]=h[2]=-b,b=Math.sqrt(3)*(-m+y)/2,h[3]=b,h[5]=-b):(h[5]=h[3]=0,0===f?(x=v<0?-Math.pow(-v,1/3):Math.pow(v,1/3),h[0]=2*x-b,h[4]=h[2]=-(x+b)):(g=(p=-p)*p*p,g=Math.acos(v/Math.sqrt(g)),x=2*Math.sqrt(p),h[0]=-b+x*Math.cos(g/3),h[2]=-b+x*Math.cos((g+2*Math.PI)/3),h[4]=-b+x*Math.cos((g+4*Math.PI)/3)));for(var _=[],E=0;E<6;E+=2)Math.abs(w[E+1])<1e-7&&w[E]>=0&&w[E]<=1&&_.push(w[E]);_.push(1),_.push(0);for(var k,C,S,P=-1,T=0;T<_.length;T++)k=Math.pow(1-_[T],2)*n+2*(1-_[T])*_[T]*i+_[T]*_[T]*o,C=Math.pow(1-_[T],2)*r+2*(1-_[T])*_[T]*a+_[T]*_[T]*s,S=Math.pow(k-e,2)+Math.pow(C-t,2),P>=0?Su?(e-i)*(e-i)+(t-a)*(t-a):l-d},Tt=function(e,t,n){for(var r,i,a,o,s=0,u=0;u=e&&e>=a||r<=e&&e<=a))continue;(e-r)/(a-r)*(o-i)+i>t&&s++}return s%2!=0},Dt=function(e,t,n,r,i,a,o,s,u){var l,c=new Array(n.length);null!=s[0]?(l=Math.atan(s[1]/s[0]),s[0]<0?l+=Math.PI/2:l=-l-Math.PI/2):l=s;for(var d,h=Math.cos(-l),f=Math.sin(-l),p=0;p0){var v=Bt(c,-u);d=Mt(v)}else d=c;return Tt(e,t,d)},Mt=function(e){for(var t,n,r,i,a,o,s,u,l=new Array(e.length/2),c=0;c=0&&p<=1&&g.push(p),v>=0&&v<=1&&g.push(v),0===g.length)return[];var y=g[0]*s[0]+e,m=g[0]*s[1]+t;return g.length>1?g[0]==g[1]?[y,m]:[y,m,g[1]*s[0]+e,g[1]*s[1]+t]:[y,m]},At=function(e,t,n){return t<=e&&e<=n||n<=e&&e<=t?e:e<=t&&t<=n||n<=t&&t<=e?t:n},zt=function(e,t,n,r,i,a,o,s,u){var l=e-i,c=n-e,d=o-i,h=t-a,f=r-t,p=s-a,v=d*h-p*l,g=c*h-f*l,y=p*c-d*f;if(0!==y){var m=v/y,b=g/y,x=-.001;return x<=m&&m<=1.001&&x<=b&&b<=1.001||u?[e+m*c,t+m*f]:[]}return 0===v||0===g?At(e,n,o)===o?[o,s]:At(e,n,i)===i?[i,a]:At(i,o,n)===n?[n,r]:[]:[]},Nt=function(e,t,n,r,i,a,o,s){var u,l,c,d,h,f,p=[],v=new Array(n.length),g=!0;if(null==a&&(g=!1),g){for(var y=0;y0){var m=Bt(v,-s);l=Mt(m)}else l=v}else l=n;for(var b=0;bl&&(l=t)},h=function(e){return u[e]},f=0;f0?w.edgesTo(x)[0]:x.edgesTo(w)[0];var _=r(b);x=x.id(),f[x]>f[y]+_&&(f[x]=f[y]+_,p.nodes.indexOf(x)<0?p.push(x):p.updateItem(x),l[x]=0,u[x]=[]),f[x]==f[y]+_&&(l[x]=l[x]+l[y],u[x].push(y))}else for(var E=0;E0;){for(var P=n.pop(),T=0;T0&&o.push(n[s]);0!==o.length&&i.push(r.collection(o))}return i}(c,u,t,r);return b=function(e){for(var t=0;t5&&void 0!==arguments[5]?arguments[5]:ln,o=r,s=0;s=2?vn(e,t,n,0,hn,fn):vn(e,t,n,0,dn)},squaredEuclidean:function(e,t,n){return vn(e,t,n,0,hn)},manhattan:function(e,t,n){return vn(e,t,n,0,dn)},max:function(e,t,n){return vn(e,t,n,-1/0,pn)}};function yn(e,t,n,r,i,a){var o;return o=D(e)?e:gn[e]||gn.euclidean,0===t&&D(e)?o(i,a):o(t,n,r,i,a)}gn["squared-euclidean"]=gn.squaredEuclidean,gn.squaredeuclidean=gn.squaredEuclidean;var mn=Ie({k:2,m:2,sensitivityThreshold:1e-4,distance:"euclidean",maxIterations:10,attributes:[],testMode:!1,testCentroids:null}),bn=function(e){return mn(e)},xn=function(e,t,n,r,i){var a="kMedoids"!==i?function(e){return n[e]}:function(e){return r[e](n)},o=n,s=t;return yn(e,r.length,a,(function(e){return r[e](t)}),o,s)},wn=function(e,t,n){for(var r=n.length,i=new Array(r),a=new Array(r),o=new Array(t),s=null,u=0;un)return!1;return!0},Cn=function(e,t,n){for(var r=0;ri&&(i=t[u][l],a=l);o[a].push(e[u])}for(var c=0;c=i.threshold||"dendrogram"===i.mode&&1===e.length)return!1;var f,p=t[o],v=t[r[o]];f="dendrogram"===i.mode?{left:p,right:v,key:p.key}:{value:p.value.concat(v.value),key:p.key},e[p.index]=f,e.splice(v.index,1),t[p.key]=f;for(var g=0;gn[v.key][y.key]&&(a=n[v.key][y.key])):"max"===i.linkage?(a=n[p.key][y.key],n[p.key][y.key]o&&(a=u,o=t[i*e+u])}a>0&&r.push(a)}for(var l=0;l1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.length,r=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],i=!(arguments.length>5&&void 0!==arguments[5])||arguments[5];arguments.length>3&&void 0!==arguments[3]&&!arguments[3]?(n0&&e.splice(0,t)):e=e.slice(t,n);for(var a=0,o=e.length-1;o>=0;o--){var s=e[o];i?isFinite(s)||(e[o]=-1/0,a++):e.splice(o,1)}r&&e.sort((function(e,t){return e-t}));var u=e.length,l=Math.floor(u/2);return u%2!=0?e[l+1+a]:(e[l-1+a]+e[l+a])/2}(e):"mean"===t?function(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.length,r=0,i=0,a=t;a1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.length,r=1/0,i=t;i1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.length,r=-1/0,i=t;i=S?(P=S,S=D,T=M):D>P&&(P=D);for(var B=0;B0?1:0;E[_%l.minIterations*t+R]=j,L+=j}if(L>0&&(_>=l.minIterations-1||_==l.maxIterations-1)){for(var V=0,F=0;F0&&r.push(i);return r}(t,a,o),Y=function(e,t,n){for(var r=qn(e,t,n),i=0;iu&&(s=l,u=c)}n[i]=a[s]}return qn(e,t,n)}(t,r,W),X={},H=0;H1)}}));var u=Object.keys(t).filter((function(e){return t[e].cutVertex})).map((function(t){return e.getElementById(t)}));return{cut:e.spawn(u),components:i}},Un=function(){var e=this,t={},n=0,r=[],i=[],a=e.spawn(e),o=function o(s){if(i.push(s),t[s]={index:n,low:n++,explored:!1},e.getElementById(s).connectedEdges().intersection(e).forEach((function(e){var n=e.target().id();n!==s&&(n in t||o(n),t[n].explored||(t[s].low=Math.min(t[s].low,t[n].low)))})),t[s].index===t[s].low){for(var u=e.spawn();;){var l=i.pop();if(u.merge(e.getElementById(l)),t[l].low=t[s].index,t[l].explored=!0,l===s)break}var c=u.edgesWith(u),d=u.merge(c);r.push(d),a=a.difference(d)}};return e.forEach((function(e){if(e.isNode()){var n=e.id();n in t||o(n)}})),{cut:a,components:r}},Zn={};[qe,Ye,Xe,Ue,Ke,$e,tt,Xt,Ut,Kt,$t,un,Bn,jn,Yn,{hierholzer:function(e){if(!B(e)){var t=arguments;e={root:t[0],directed:t[1]}}var n,r,i,a=Xn(e),o=a.root,s=a.directed,u=this,l=!1;o&&(i=T(o)?this.filter(o)[0].id():o[0].id());var c={},d={};s?u.forEach((function(e){var t=e.id();if(e.isNode()){var i=e.indegree(!0),a=e.outdegree(!0),o=i-a,s=a-i;1==o?n?l=!0:n=t:1==s?r?l=!0:r=t:(s>1||o>1)&&(l=!0),c[t]=[],e.outgoers().forEach((function(e){e.isEdge()&&c[t].push(e.id())}))}else d[t]=[void 0,e.target().id()]})):u.forEach((function(e){var t=e.id();e.isNode()?(e.degree(!0)%2&&(n?r?l=!0:r=t:n=t),c[t]=[],e.connectedEdges().forEach((function(e){return c[t].push(e.id())}))):d[t]=[e.source().id(),e.target().id()]}));var h={found:!1,trail:void 0};if(l)return h;if(r&&n)if(s){if(i&&r!=i)return h;i=r}else{if(i&&r!=i&&n!=i)return h;i||(i=r)}else i||(i=u[0].id());var f=function(e){for(var t,n,r,i=e,a=[e];c[i].length;)t=c[i].shift(),n=d[t][0],i!=(r=d[t][1])?(c[r]=c[r].filter((function(e){return e!=t})),i=r):s||i==n||(c[n]=c[n].filter((function(e){return e!=t})),i=n),a.unshift(t),a.unshift(i);return a},p=[],v=[];for(v=f(i);1!=v.length;)0==c[v[0]].length?(p.unshift(u.getElementById(v.shift())),p.unshift(u.getElementById(v.shift()))):v=f(v.shift()).concat(v);for(var g in p.unshift(u.getElementById(v.shift())),c)if(c[g].length)return h;return h.found=!0,h.trail=this.spawn(p,!0),h}},{hopcroftTarjanBiconnected:Hn,htbc:Hn,htb:Hn,hopcroftTarjanBiconnectedComponents:Hn},{tarjanStronglyConnected:Un,tsc:Un,tscc:Un,tarjanStronglyConnectedComponents:Un}].forEach((function(e){Q(Zn,e)}));var Kn=function e(t){if(!(this instanceof e))return new e(t);this.id="Thenable/1.0.7",this.state=0,this.fulfillValue=void 0,this.rejectReason=void 0,this.onFulfilled=[],this.onRejected=[],this.proxy={then:this.then.bind(this)},"function"==typeof t&&t.call(this,this.fulfill.bind(this),this.reject.bind(this))};Kn.prototype={fulfill:function(e){return Gn(this,1,"fulfillValue",e)},reject:function(e){return Gn(this,2,"rejectReason",e)},then:function(e,t){var n=this,r=new Kn;return n.onFulfilled.push(Jn(e,r,"fulfill")),n.onRejected.push(Jn(t,r,"reject")),$n(n),r.proxy}};var Gn=function(e,t,n,r){return 0===e.state&&(e.state=t,e[n]=r,$n(e)),e},$n=function(e){1===e.state?Qn(e,"onFulfilled",e.fulfillValue):2===e.state&&Qn(e,"onRejected",e.rejectReason)},Qn=function(e,t,n){if(0!==e[t].length){var r=e[t];e[t]=[];var i=function(){for(var e=0;e0:void 0}},clearQueue:function(){return function(){var e=this,t=void 0!==e.length?e:[e];if(!(this._private.cy||this).styleEnabled())return this;for(var n=0;n0&&this.spawn(r).updateStyle().emit("class"),t},addClass:function(e){return this.toggleClass(e,!0)},hasClass:function(e){var t=this[0];return null!=t&&t._private.classes.has(e)},toggleClass:function(e,t){M(e)||(e=e.match(/\S+/g)||[]);for(var n=this,r=void 0===t,i=[],a=0,o=n.length;a0&&this.spawn(i).updateStyle().emit("class"),n},removeClass:function(e){return this.toggleClass(e,!1)},flashClass:function(e,t){var n=this;if(null==t)t=250;else if(0===t)return n;return n.addClass(e),setTimeout((function(){n.removeClass(e)}),t),n}};lr.className=lr.classNames=lr.classes;var cr={metaChar:"[\\!\\\"\\#\\$\\%\\&\\'\\(\\)\\*\\+\\,\\.\\/\\:\\;\\<\\=\\>\\?\\@\\[\\]\\^\\`\\{\\|\\}\\~]",comparatorOp:"=|\\!=|>|>=|<|<=|\\$=|\\^=|\\*=",boolOp:"\\?|\\!|\\^",string:"\"(?:\\\\\"|[^\"])*\"|'(?:\\\\'|[^'])*'",number:H,meta:"degree|indegree|outdegree",separator:"\\s*,\\s*",descendant:"\\s+",child:"\\s+>\\s+",subject:"\\$",group:"node|edge|\\*",directedEdge:"\\s+->\\s+",undirectedEdge:"\\s+<->\\s+"};cr.variable="(?:[\\w-.]|(?:\\\\"+cr.metaChar+"))+",cr.className="(?:[\\w-]|(?:\\\\"+cr.metaChar+"))+",cr.value=cr.string+"|"+cr.number,cr.id=cr.variable,function(){var e,t,n;for(e=cr.comparatorOp.split("|"),n=0;n=0||"="!==t&&(cr.comparatorOp+="|\\!"+t)}();var dr=20,hr=[{selector:":selected",matches:function(e){return e.selected()}},{selector:":unselected",matches:function(e){return!e.selected()}},{selector:":selectable",matches:function(e){return e.selectable()}},{selector:":unselectable",matches:function(e){return!e.selectable()}},{selector:":locked",matches:function(e){return e.locked()}},{selector:":unlocked",matches:function(e){return!e.locked()}},{selector:":visible",matches:function(e){return e.visible()}},{selector:":hidden",matches:function(e){return!e.visible()}},{selector:":transparent",matches:function(e){return e.transparent()}},{selector:":grabbed",matches:function(e){return e.grabbed()}},{selector:":free",matches:function(e){return!e.grabbed()}},{selector:":removed",matches:function(e){return e.removed()}},{selector:":inside",matches:function(e){return!e.removed()}},{selector:":grabbable",matches:function(e){return e.grabbable()}},{selector:":ungrabbable",matches:function(e){return!e.grabbable()}},{selector:":animated",matches:function(e){return e.animated()}},{selector:":unanimated",matches:function(e){return!e.animated()}},{selector:":parent",matches:function(e){return e.isParent()}},{selector:":childless",matches:function(e){return e.isChildless()}},{selector:":child",matches:function(e){return e.isChild()}},{selector:":orphan",matches:function(e){return e.isOrphan()}},{selector:":nonorphan",matches:function(e){return e.isChild()}},{selector:":compound",matches:function(e){return e.isNode()?e.isParent():e.source().isParent()||e.target().isParent()}},{selector:":loop",matches:function(e){return e.isLoop()}},{selector:":simple",matches:function(e){return e.isSimple()}},{selector:":active",matches:function(e){return e.active()}},{selector:":inactive",matches:function(e){return!e.active()}},{selector:":backgrounding",matches:function(e){return e.backgrounding()}},{selector:":nonbackgrounding",matches:function(e){return!e.backgrounding()}}].sort((function(e,t){return function(e,t){return-1*$(e,t)}(e.selector,t.selector)})),fr=function(){for(var e,t={},n=0;n0&&l.edgeCount>0)return Pe("The selector `"+e+"` is invalid because it uses both a compound selector and an edge selector"),!1;if(l.edgeCount>1)return Pe("The selector `"+e+"` is invalid because it uses multiple edge selectors"),!1;1===l.edgeCount&&Pe("The selector `"+e+"` is deprecated. Edge selectors do not take effect on changes to source and target nodes after an edge is added, for performance reasons. Use a class or data selector on edges instead, updating the class or data of an edge when your app detects a change in source or target nodes.")}return!0},toString:function(){if(null!=this.toStringCache)return this.toStringCache;for(var e=function(e){return null==e?"":e},t=function(t){return T(t)?'"'+t+'"':e(t)},n=function(e){return" "+e+" "},r=function(i,a){return i.checks.reduce((function(o,s,u){return o+(a===i&&0===u?"$":"")+function(i,a){var o=i.type,s=i.value;switch(o){case 0:var u=e(s);return u.substring(0,u.length-1);case 3:var l=i.field,c=i.operator;return"["+l+n(e(c))+t(s)+"]";case 5:var d=i.operator,h=i.field;return"["+e(d)+h+"]";case 4:return"["+i.field+"]";case 6:var f=i.operator;return"[["+i.field+n(e(f))+t(s)+"]]";case 7:return s;case 8:return"#"+s;case 9:return"."+s;case 17:case 15:return r(i.parent,a)+n(">")+r(i.child,a);case 18:case 16:return r(i.ancestor,a)+" "+r(i.descendant,a);case 19:var p=r(i.left,a),v=r(i.subject,a),g=r(i.right,a);return p+(p.length>0?" ":"")+v+g;case dr:return""}}(s,a)}),"")},i="",a=0;a1&&a=0&&(t=t.replace("!",""),c=!0),t.indexOf("@")>=0&&(t=t.replace("@",""),l=!0),(o||u||l)&&(i=o||s?""+e:"",a=""+n),l&&(e=i=i.toLowerCase(),n=a=a.toLowerCase()),t){case"*=":r=i.indexOf(a)>=0;break;case"$=":r=i.indexOf(a,i.length-a.length)>=0;break;case"^=":r=0===i.indexOf(a);break;case"=":r=e===n;break;case">":d=!0,r=e>n;break;case">=":d=!0,r=e>=n;break;case"<":d=!0,r=e0;){var l=i.shift();t(l),a.add(l.id()),o&&r(i,a,l)}return e}function Or(e,t,n){if(n.isParent())for(var r=n._private.children,i=0;i1&&void 0!==arguments[1])||arguments[1],Or)},Br.forEachUp=function(e){return Ir(this,e,!(arguments.length>1&&void 0!==arguments[1])||arguments[1],Ar)},Br.forEachUpAndDown=function(e){return Ir(this,e,!(arguments.length>1&&void 0!==arguments[1])||arguments[1],zr)},Br.ancestors=Br.parents,(Tr=Dr={data:sr.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),removeData:sr.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),scratch:sr.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:sr.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),rscratch:sr.data({field:"rscratch",allowBinding:!1,allowSetting:!0,settingTriggersEvent:!1,allowGetting:!0}),removeRscratch:sr.removeData({field:"rscratch",triggerEvent:!1}),id:function(){var e=this[0];if(e)return e._private.data.id}}).attr=Tr.data,Tr.removeAttr=Tr.removeData;var Nr,Lr,Rr=Dr,jr={};function Vr(e){return function(t){var n=this;if(void 0===t&&(t=!0),0!==n.length&&n.isNode()&&!n.removed()){for(var r=0,i=n[0],a=i._private.edges,o=0;ot})),minIndegree:Fr("indegree",(function(e,t){return et})),minOutdegree:Fr("outdegree",(function(e,t){return et}))}),Q(jr,{totalDegree:function(e){for(var t=0,n=this.nodes(),r=0;r0,c=l;l&&(u=u[0]);var d=c?u.position():{x:0,y:0};return i={x:s.x-d.x,y:s.y-d.y},void 0===e?i:i[e]}for(var h=0;h0,g=v;v&&(p=p[0]);var y=g?p.position():{x:0,y:0};void 0!==t?f.position(e,t+y[e]):void 0!==i&&f.position({x:i.x+y.x,y:i.y+y.y})}}else if(!a)return;return this}},Nr.modelPosition=Nr.point=Nr.position,Nr.modelPositions=Nr.points=Nr.positions,Nr.renderedPoint=Nr.renderedPosition,Nr.relativePoint=Nr.relativePosition;var Yr,Xr,Hr=Lr;Yr=Xr={},Xr.renderedBoundingBox=function(e){var t=this.boundingBox(e),n=this.cy(),r=n.zoom(),i=n.pan(),a=t.x1*r+i.x,o=t.x2*r+i.x,s=t.y1*r+i.y,u=t.y2*r+i.y;return{x1:a,x2:o,y1:s,y2:u,w:o-a,h:u-s}},Xr.dirtyCompoundBoundsCache=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=this.cy();return t.styleEnabled()&&t.hasCompoundNodes()?(this.forEachUp((function(t){if(t.isParent()){var n=t._private;n.compoundBoundsClean=!1,n.bbCache=null,e||t.emitAndNotify("bounds")}})),this):this},Xr.updateCompoundBounds=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=this.cy();if(!t.styleEnabled()||!t.hasCompoundNodes())return this;if(!e&&t.batching())return this;function n(e){if(e.isParent()){var t=e._private,n=e.children(),r="include"===e.pstyle("compound-sizing-wrt-labels").value,i={width:{val:e.pstyle("min-width").pfValue,left:e.pstyle("min-width-bias-left"),right:e.pstyle("min-width-bias-right")},height:{val:e.pstyle("min-height").pfValue,top:e.pstyle("min-height-bias-top"),bottom:e.pstyle("min-height-bias-bottom")}},a=n.boundingBox({includeLabels:r,includeOverlays:!1,useCache:!1}),o=t.position;0!==a.w&&0!==a.h||((a={w:e.pstyle("width").pfValue,h:e.pstyle("height").pfValue}).x1=o.x-a.w/2,a.x2=o.x+a.w/2,a.y1=o.y-a.h/2,a.y2=o.y+a.h/2);var s=i.width.left.value;"px"===i.width.left.units&&i.width.val>0&&(s=100*s/i.width.val);var u=i.width.right.value;"px"===i.width.right.units&&i.width.val>0&&(u=100*u/i.width.val);var l=i.height.top.value;"px"===i.height.top.units&&i.height.val>0&&(l=100*l/i.height.val);var c=i.height.bottom.value;"px"===i.height.bottom.units&&i.height.val>0&&(c=100*c/i.height.val);var d=y(i.width.val-a.w,s,u),h=d.biasDiff,f=d.biasComplementDiff,p=y(i.height.val-a.h,l,c),v=p.biasDiff,g=p.biasComplementDiff;t.autoPadding=function(e,t,n,r){if("%"!==n.units)return"px"===n.units?n.pfValue:0;switch(r){case"width":return e>0?n.pfValue*e:0;case"height":return t>0?n.pfValue*t:0;case"average":return e>0&&t>0?n.pfValue*(e+t)/2:0;case"min":return e>0&&t>0?e>t?n.pfValue*t:n.pfValue*e:0;case"max":return e>0&&t>0?e>t?n.pfValue*e:n.pfValue*t:0;default:return 0}}(a.w,a.h,e.pstyle("padding"),e.pstyle("padding-relative-to").value),t.autoWidth=Math.max(a.w,i.width.val),o.x=(-h+a.x1+a.x2+f)/2,t.autoHeight=Math.max(a.h,i.height.val),o.y=(-v+a.y1+a.y2+g)/2}function y(e,t,n){var r=0,i=0,a=t+n;return e>0&&a>0&&(r=t/a*e,i=n/a*e),{biasDiff:r,biasComplementDiff:i}}}for(var r=0;re.x2?r:e.x2,e.y1=ne.y2?i:e.y2,e.w=e.x2-e.x1,e.h=e.y2-e.y1)},Kr=function(e,t){return null==t?e:Zr(e,t.x1,t.y1,t.x2,t.y2)},Gr=function(e,t,n){return ze(e,t,n)},$r=function(e,t,n){if(!t.cy().headless()){var r,i,a=t._private,o=a.rstyle,s=o.arrowWidth/2;if("none"!==t.pstyle(n+"-arrow-shape").value){"source"===n?(r=o.srcX,i=o.srcY):"target"===n?(r=o.tgtX,i=o.tgtY):(r=o.midX,i=o.midY);var u=a.arrowBounds=a.arrowBounds||{},l=u[n]=u[n]||{};l.x1=r-s,l.y1=i-s,l.x2=r+s,l.y2=i+s,l.w=l.x2-l.x1,l.h=l.y2-l.y1,yt(l,1),Zr(e,l.x1,l.y1,l.x2,l.y2)}}},Qr=function(e,t,n){if(!t.cy().headless()){var r;r=n?n+"-":"";var i=t._private,a=i.rstyle;if(t.pstyle(r+"label").strValue){var o,s,u,l,c=t.pstyle("text-halign"),d=t.pstyle("text-valign"),h=Gr(a,"labelWidth",n),f=Gr(a,"labelHeight",n),p=Gr(a,"labelX",n),v=Gr(a,"labelY",n),g=t.pstyle(r+"text-margin-x").pfValue,y=t.pstyle(r+"text-margin-y").pfValue,m=t.isEdge(),b=t.pstyle(r+"text-rotation"),x=t.pstyle("text-outline-width").pfValue,w=t.pstyle("text-border-width").pfValue/2,_=t.pstyle("text-background-padding").pfValue,E=f,k=h,C=k/2,S=E/2;if(m)o=p-C,s=p+C,u=v-S,l=v+S;else{switch(c.value){case"left":o=p-k,s=p;break;case"center":o=p-C,s=p+C;break;case"right":o=p,s=p+k}switch(d.value){case"top":u=v-E,l=v;break;case"center":u=v-S,l=v+S;break;case"bottom":u=v,l=v+E}}o+=g-Math.max(x,w)-_-2,s+=g+Math.max(x,w)+_+2,u+=y-Math.max(x,w)-_-2,l+=y+Math.max(x,w)+_+2;var P=n||"main",T=i.labelBounds,D=T[P]=T[P]||{};D.x1=o,D.y1=u,D.x2=s,D.y2=l,D.w=s-o,D.h=l-u;var M=m&&"autorotate"===b.strValue,B=null!=b.pfValue&&0!==b.pfValue;if(M||B){var I=M?Gr(i.rstyle,"labelAngle",n):b.pfValue,O=Math.cos(I),A=Math.sin(I),z=(o+s)/2,N=(u+l)/2;if(!m){switch(c.value){case"left":z=s;break;case"right":z=o}switch(d.value){case"top":N=l;break;case"bottom":N=u}}var L=function(e,t){return{x:(e-=z)*O-(t-=N)*A+z,y:e*A+t*O+N}},R=L(o,u),j=L(o,l),V=L(s,u),F=L(s,l);o=Math.min(R.x,j.x,V.x,F.x),s=Math.max(R.x,j.x,V.x,F.x),u=Math.min(R.y,j.y,V.y,F.y),l=Math.max(R.y,j.y,V.y,F.y)}var q=P+"Rot",W=T[q]=T[q]||{};W.x1=o,W.y1=u,W.x2=s,W.y2=l,W.w=s-o,W.h=l-u,Zr(e,o,u,s,l),Zr(i.labelBounds.all,o,u,s,l)}return e}},Jr=function(e){var t=0,n=function(e){return(e?1:0)<0&&a>0){var o=t.pstyle("outline-offset").value,s=t.pstyle("shape").value,u=a+o,l=(e.w+2*u)/e.w,c=(e.h+2*u)/e.h,d=0;["diamond","pentagon","round-triangle"].includes(s)?(l=(e.w+2.4*u)/e.w,d=-u/3.6):["concave-hexagon","rhomboid","right-rhomboid"].includes(s)?l=(e.w+2.4*u)/e.w:"star"===s?(l=(e.w+2.8*u)/e.w,c=(e.h+2.6*u)/e.h,d=-u/3.8):"triangle"===s?(l=(e.w+2.8*u)/e.w,c=(e.h+2.4*u)/e.h,d=-u/1.4):"vee"===s&&(l=(e.w+4.4*u)/e.w,c=(e.h+3.8*u)/e.h,d=.5*-u);var h=e.h*c-e.h,f=e.w*l-e.w;if(mt(e,[Math.ceil(h/2),Math.ceil(f/2)]),0!==d){var p=(r=d,{x1:(n=e).x1+0,x2:n.x2+0,y1:n.y1+r,y2:n.y2+r,w:n.w,h:n.h});vt(e,p)}}}}(h,e)}else if(v&&t.includeEdges)if(c&&!d){var P=e.pstyle("curve-style").strValue;if(n=Math.min(g.srcX,g.midX,g.tgtX),r=Math.max(g.srcX,g.midX,g.tgtX),i=Math.min(g.srcY,g.midY,g.tgtY),a=Math.max(g.srcY,g.midY,g.tgtY),Zr(h,n-=E,i-=E,r+=E,a+=E),"haystack"===P){var T=g.haystackPts;if(T&&2===T.length){if(n=T[0].x,i=T[0].y,n>(r=T[1].x)){var D=n;n=r,r=D}if(i>(a=T[1].y)){var M=i;i=a,a=M}Zr(h,n-E,i-E,r+E,a+E)}}else if("bezier"===P||"unbundled-bezier"===P||"segments"===P||"taxi"===P){var B;switch(P){case"bezier":case"unbundled-bezier":B=g.bezierPts;break;case"segments":case"taxi":B=g.linePts}if(null!=B)for(var I=0;I(r=z.x)){var N=n;n=r,r=N}if((i=A.y)>(a=z.y)){var L=i;i=a,a=L}Zr(h,n-=E,i-=E,r+=E,a+=E)}if(c&&t.includeEdges&&v&&($r(h,e,"mid-source"),$r(h,e,"mid-target"),$r(h,e,"source"),$r(h,e,"target")),c&&"yes"===e.pstyle("ghost").value){var R=e.pstyle("ghost-offset-x").pfValue,j=e.pstyle("ghost-offset-y").pfValue;Zr(h,h.x1+R,h.y1+j,h.x2+R,h.y2+j)}var V=f.bodyBounds=f.bodyBounds||{};bt(V,h),mt(V,y),yt(V,1),c&&(n=h.x1,r=h.x2,i=h.y1,a=h.y2,Zr(h,n-_,i-_,r+_,a+_));var F=f.overlayBounds=f.overlayBounds||{};bt(F,h),mt(F,y),yt(F,1);var q=f.labelBounds=f.labelBounds||{};null!=q.all?((u=q.all).x1=1/0,u.y1=1/0,u.x2=-1/0,u.y2=-1/0,u.w=0,u.h=0):q.all=pt(),c&&t.includeLabels&&(t.includeMainLabels&&Qr(h,e,null),v&&(t.includeSourceLabels&&Qr(h,e,"source"),t.includeTargetLabels&&Qr(h,e,"target")))}return h.x1=Ur(h.x1),h.y1=Ur(h.y1),h.x2=Ur(h.x2),h.y2=Ur(h.y2),h.w=Ur(h.x2-h.x1),h.h=Ur(h.y2-h.y1),h.w>0&&h.h>0&&b&&(mt(h,y),yt(h,1)),h}(e,ni),r.bbCache=n,r.bbCachePosKey=o):n=r.bbCache,!a){var c=e.isNode();n=pt(),(t.includeNodes&&c||t.includeEdges&&!c)&&(t.includeOverlays?Kr(n,r.overlayBounds):Kr(n,r.bodyBounds)),t.includeLabels&&(t.includeMainLabels&&(!i||t.includeSourceLabels&&t.includeTargetLabels)?Kr(n,r.labelBounds.all):(t.includeMainLabels&&Kr(n,r.labelBounds.mainRot),t.includeSourceLabels&&Kr(n,r.labelBounds.sourceRot),t.includeTargetLabels&&Kr(n,r.labelBounds.targetRot))),n.w=n.x2-n.x1,n.h=n.y2-n.y1}return n},ni={includeNodes:!0,includeEdges:!0,includeLabels:!0,includeMainLabels:!0,includeSourceLabels:!0,includeTargetLabels:!0,includeOverlays:!0,includeUnderlays:!0,includeOutlines:!0,useCache:!0},ri=Jr(ni),ii=Ie(ni);Xr.boundingBox=function(e){var t;if(1!==this.length||null==this[0]._private.bbCache||this[0]._private.styleDirty||void 0!==e&&void 0!==e.useCache&&!0!==e.useCache){t=pt();var n=ii(e=e||ni),r=this;if(r.cy().styleEnabled())for(var i=0;i0&&void 0!==arguments[0]?arguments[0]:bi,t=arguments.length>1?arguments[1]:void 0,n=0;n=0;s--)o(s);return this},wi.removeAllListeners=function(){return this.removeListener("*")},wi.emit=wi.trigger=function(e,t,n){var r=this.listeners,i=r.length;return this.emitting++,M(t)||(t=[t]),function(e,t,n){if("event"!==P(n))if(B(n))t(e,Ei(e,n));else for(var r=M(n)?n:n.split(/\s+/),i=0;i1&&!r){var i=this.length-1,a=this[i],o=a._private.data.id;this[i]=void 0,this[e]=a,n.set(o,{ele:a,index:e})}return this.length--,this},unmergeOne:function(e){e=e[0];var t=this._private,n=e._private.data.id,r=t.map.get(n);if(!r)return this;var i=r.index;return this.unmergeAt(i),this},unmerge:function(e){var t=this._private.cy;if(!e)return this;if(e&&T(e)){var n=e;e=t.mutableElements().filter(n)}for(var r=0;r=0;t--)e(this[t])&&this.unmergeAt(t);return this},map:function(e,t){for(var n=[],r=this,i=0;ir&&(r=s,n=o)}return{value:r,ele:n}},min:function(e,t){for(var n,r=1/0,i=this,a=0;a=0&&i1&&void 0!==arguments[1])||arguments[1],n=this[0],r=n.cy();if(r.styleEnabled()&&n){this.cleanStyle();var i=n._private.style[e];return null!=i?i:t?r.style().getDefaultProperty(e):null}},numericStyle:function(e){var t=this[0];if(t.cy().styleEnabled()&&t){var n=t.pstyle(e);return void 0!==n.pfValue?n.pfValue:n.value}},numericStyleUnits:function(e){var t=this[0];if(t.cy().styleEnabled())return t?t.pstyle(e).units:void 0},renderedStyle:function(e){var t=this.cy();if(!t.styleEnabled())return this;var n=this[0];return n?t.style().getRenderedStyle(n,e):void 0},style:function(e,t){var n=this.cy();if(!n.styleEnabled())return this;var r=n.style();if(B(e)){var i=e;r.applyBypass(this,i,!1),this.emitAndNotify("style")}else if(T(e)){if(void 0===t){var a=this[0];return a?r.getStylePropertyValue(a,e):void 0}r.applyBypass(this,e,t,!1),this.emitAndNotify("style")}else if(void 0===e){var o=this[0];return o?r.getRawStyle(o):void 0}return this},removeStyle:function(e){var t=this.cy();if(!t.styleEnabled())return this;var n=t.style(),r=this;if(void 0===e)for(var i=0;i0&&t.push(c[0]),t.push(s[0])}return this.spawn(t,!0).filter(e)}),"neighborhood"),closedNeighborhood:function(e){return this.neighborhood().add(this).filter(e)},openNeighborhood:function(e){return this.neighborhood(e)}}),Zi.neighbourhood=Zi.neighborhood,Zi.closedNeighbourhood=Zi.closedNeighborhood,Zi.openNeighbourhood=Zi.openNeighborhood,Q(Zi,{source:Mr((function(e){var t,n=this[0];return n&&(t=n._private.source||n.cy().collection()),t&&e?t.filter(e):t}),"source"),target:Mr((function(e){var t,n=this[0];return n&&(t=n._private.target||n.cy().collection()),t&&e?t.filter(e):t}),"target"),sources:Qi({attr:"source"}),targets:Qi({attr:"target"})}),Q(Zi,{edgesWith:Mr(Ji(),"edgesWith"),edgesTo:Mr(Ji({thisIsSrc:!0}),"edgesTo")}),Q(Zi,{connectedEdges:Mr((function(e){for(var t=[],n=0;n0);return a},component:function(){var e=this[0];return e.cy().mutableElements().components(e)[0]}}),Zi.componentsOf=Zi.components;var ta=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(void 0!==e){var i=new Le,a=!1;if(t){if(t.length>0&&B(t[0])&&!z(t[0])){a=!0;for(var o=[],s=new je,u=0,l=t.length;u0&&void 0!==arguments[0])||arguments[0],r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=this,a=i.cy(),o=a._private,s=[],u=[],l=0,c=i.length;l0){for(var N=e.length===i.length?i:new ta(a,e),L=0;L0&&void 0!==arguments[0])||arguments[0],t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=this,r=[],i={},a=n._private.cy;function o(e){var n=i[e.id()];t&&e.removed()||n||(i[e.id()]=!0,e.isNode()?(r.push(e),function(e){for(var t=e._private.edges,n=0;n0&&(e?E.emitAndNotify("remove"):t&&E.emit("remove"));for(var k=0;k=.001?function(t,r){for(var i=0;i<4;++i){var a=h(r,e,n);if(0===a)return r;r-=(d(r,e,n)-t)/a}return r}(t,o):0===u?o:function(t,r,i){var a,o,s=0;do{(a=d(o=r+(i-r)/2,e,n)-t)>0?i=o:r=o}while(Math.abs(a)>1e-7&&++s<10);return o}(t,r,r+i)}(a),t,r)};p.getControlPoints=function(){return[{x:e,y:t},{x:n,y:r}]};var v="generateBezier("+[e,t,n,r]+")";return p.toString=function(){return v},p}var aa=function(){function e(e){return-e.tension*e.x-e.friction*e.v}function t(t,n,r){var i={x:t.x+r.dx*n,v:t.v+r.dv*n,tension:t.tension,friction:t.friction};return{dx:i.v,dv:e(i)}}function n(n,r){var i={dx:n.v,dv:e(n)},a=t(n,.5*r,i),o=t(n,.5*r,a),s=t(n,r,o),u=1/6*(i.dx+2*(a.dx+o.dx)+s.dx),l=1/6*(i.dv+2*(a.dv+o.dv)+s.dv);return n.x=n.x+u*r,n.v=n.v+l*r,n}return function e(t,r,i){var a,o,s,u={x:-1,v:0,tension:null,friction:null},l=[0],c=0,d=1e-4;for(t=parseFloat(t)||500,r=parseFloat(r)||20,i=i||null,u.tension=t,u.friction=r,o=(a=null!==i)?(c=e(t,r))/i*.016:.016;s=n(s||u,o),l.push(1+s.x),c+=16,Math.abs(s.x)>d&&Math.abs(s.v)>d;);return a?function(e){return l[e*(l.length-1)|0]}:c}}(),oa=function(e,t,n,r){var i=ia(e,t,n,r);return function(e,t,n){return e+(t-e)*i(n)}},sa={linear:function(e,t,n){return e+(t-e)*n},ease:oa(.25,.1,.25,1),"ease-in":oa(.42,0,1,1),"ease-out":oa(0,0,.58,1),"ease-in-out":oa(.42,0,.58,1),"ease-in-sine":oa(.47,0,.745,.715),"ease-out-sine":oa(.39,.575,.565,1),"ease-in-out-sine":oa(.445,.05,.55,.95),"ease-in-quad":oa(.55,.085,.68,.53),"ease-out-quad":oa(.25,.46,.45,.94),"ease-in-out-quad":oa(.455,.03,.515,.955),"ease-in-cubic":oa(.55,.055,.675,.19),"ease-out-cubic":oa(.215,.61,.355,1),"ease-in-out-cubic":oa(.645,.045,.355,1),"ease-in-quart":oa(.895,.03,.685,.22),"ease-out-quart":oa(.165,.84,.44,1),"ease-in-out-quart":oa(.77,0,.175,1),"ease-in-quint":oa(.755,.05,.855,.06),"ease-out-quint":oa(.23,1,.32,1),"ease-in-out-quint":oa(.86,0,.07,1),"ease-in-expo":oa(.95,.05,.795,.035),"ease-out-expo":oa(.19,1,.22,1),"ease-in-out-expo":oa(1,0,0,1),"ease-in-circ":oa(.6,.04,.98,.335),"ease-out-circ":oa(.075,.82,.165,1),"ease-in-out-circ":oa(.785,.135,.15,.86),spring:function(e,t,n){if(0===n)return sa.linear;var r=aa(e,t,n);return function(e,t,n){return e+(t-e)*r(n)}},"cubic-bezier":oa};function ua(e,t,n,r,i){if(1===r)return n;if(t===n)return n;var a=i(t,n,r);return null==e||((e.roundValue||e.color)&&(a=Math.round(a)),void 0!==e.min&&(a=Math.max(a,e.min)),void 0!==e.max&&(a=Math.min(a,e.max))),a}function la(e,t){return null!=e.pfValue||null!=e.value?null==e.pfValue||null!=t&&"%"===t.type.units?e.value:e.pfValue:e}function ca(e,t,n,r,i){var a=null!=i?i.type:null;n<0?n=0:n>1&&(n=1);var o=la(e,i),s=la(t,i);if(I(o)&&I(s))return ua(a,o,s,n,r);if(M(o)&&M(s)){for(var u=[],l=0;l0?("spring"===d&&h.push(o.duration),o.easingImpl=sa[d].apply(null,h)):o.easingImpl=sa[d]}var f,p=o.easingImpl;if(f=0===o.duration?1:(n-u)/o.duration,o.applying&&(f=o.progress),f<0?f=0:f>1&&(f=1),null==o.delay){var v=o.startPosition,g=o.position;if(g&&i&&!e.locked()){var y={};ha(v.x,g.x)&&(y.x=ca(v.x,g.x,f,p)),ha(v.y,g.y)&&(y.y=ca(v.y,g.y,f,p)),e.position(y)}var m=o.startPan,b=o.pan,x=a.pan,w=null!=b&&r;w&&(ha(m.x,b.x)&&(x.x=ca(m.x,b.x,f,p)),ha(m.y,b.y)&&(x.y=ca(m.y,b.y,f,p)),e.emit("pan"));var _=o.startZoom,E=o.zoom,k=null!=E&&r;k&&(ha(_,E)&&(a.zoom=ft(a.minZoom,ca(_,E,f,p),a.maxZoom)),e.emit("zoom")),(w||k)&&e.emit("viewport");var C=o.style;if(C&&C.length>0&&i){for(var S=0;S=0;t--)(0,e[t])();e.splice(0,e.length)},c=a.length-1;c>=0;c--){var d=a[c],h=d._private;h.stopped?(a.splice(c,1),h.hooked=!1,h.playing=!1,h.started=!1,l(h.frames)):(h.playing||h.applying)&&(h.playing&&h.applying&&(h.applying=!1),h.started||fa(0,d,e),da(t,d,e,n),h.applying&&(h.applying=!1),l(h.frames),null!=h.step&&h.step(e),d.completed()&&(a.splice(c,1),h.hooked=!1,h.playing=!1,h.started=!1,l(h.completes)),s=!0)}return n||0!==a.length||0!==o.length||r.push(t),s}for(var a=!1,o=0;o0?t.notify("draw",n):t.notify("draw")),n.unmerge(r),t.emit("step")}var va={animate:sr.animate(),animation:sr.animation(),animated:sr.animated(),clearQueue:sr.clearQueue(),delay:sr.delay(),delayAnimation:sr.delayAnimation(),stop:sr.stop(),addToAnimationPool:function(e){this.styleEnabled()&&this._private.aniEles.merge(e)},stopAnimationLoop:function(){this._private.animationsRunning=!1},startAnimationLoop:function(){var e=this;if(e._private.animationsRunning=!0,e.styleEnabled()){var t=e.renderer();t&&t.beforeRender?t.beforeRender((function(t,n){pa(n,e)}),t.beforeRenderPriorities.animations):function t(){e._private.animationsRunning&&ae((function(n){pa(n,e),t()}))}()}}},ga={qualifierCompare:function(e,t){return null==e||null==t?null==e&&null==t:e.sameText(t)},eventMatches:function(e,t,n){var r=t.qualifier;return null==r||e!==n.target&&z(n.target)&&r.matches(n.target)},addEventFields:function(e,t){t.cy=e,t.target=e},callbackContext:function(e,t,n){return null!=t.qualifier?n.target:e}},ya=function(e){return T(e)?new Cr(e):e},ma={createEmitter:function(){var e=this._private;return e.emitter||(e.emitter=new xi(ga,this)),this},emitter:function(){return this._private.emitter},on:function(e,t,n){return this.emitter().on(e,ya(t),n),this},removeListener:function(e,t,n){return this.emitter().removeListener(e,ya(t),n),this},removeAllListeners:function(){return this.emitter().removeAllListeners(),this},one:function(e,t,n){return this.emitter().one(e,ya(t),n),this},once:function(e,t,n){return this.emitter().one(e,ya(t),n),this},emit:function(e,t){return this.emitter().emit(e,t),this},emitAndNotify:function(e,t){return this.emit(e),this.notify(e,t),this}};sr.eventAliasesOn(ma);var ba={png:function(e){return e=e||{},this._private.renderer.png(e)},jpg:function(e){var t=this._private.renderer;return(e=e||{}).bg=e.bg||"#fff",t.jpg(e)}};ba.jpeg=ba.jpg;var xa={layout:function(e){var t=this;if(null!=e)if(null!=e.name){var n,r=e.name,i=t.extension("layout",r);if(null!=i)return n=T(e.eles)?t.$(e.eles):null!=e.eles?e.eles:t.$(),new i(Q({},e,{cy:t,eles:n}));Ce("No such layout `"+r+"` found. Did you forget to import it and `cytoscape.use()` it?")}else Ce("A `name` must be specified to make a layout");else Ce("Layout options must be specified to make a layout")}};xa.createLayout=xa.makeLayout=xa.layout;var wa={notify:function(e,t){var n=this._private;if(this.batching()){n.batchNotifications=n.batchNotifications||{};var r=n.batchNotifications[e]=n.batchNotifications[e]||this.collection();null!=t&&r.merge(t)}else if(n.notificationsEnabled){var i=this.renderer();!this.destroyed()&&i&&i.notify(e,t)}},notifications:function(e){var t=this._private;return void 0===e?t.notificationsEnabled:(t.notificationsEnabled=!!e,this)},noNotifications:function(e){this.notifications(!1),e(),this.notifications(!0)},batching:function(){return this._private.batchCount>0},startBatch:function(){var e=this._private;return null==e.batchCount&&(e.batchCount=0),0===e.batchCount&&(e.batchStyleEles=this.collection(),e.batchNotifications={}),e.batchCount++,this},endBatch:function(){var e=this._private;if(0===e.batchCount)return this;if(e.batchCount--,0===e.batchCount){e.batchStyleEles.updateStyle();var t=this.renderer();Object.keys(e.batchNotifications).forEach((function(n){var r=e.batchNotifications[n];r.empty()?t.notify(n):t.notify(n,r)}))}return this},batch:function(e){return this.startBatch(),e(),this.endBatch(),this},batchData:function(e){var t=this;return this.batch((function(){for(var n=Object.keys(e),r=0;r0;)t.removeChild(t.childNodes[0]);e._private.renderer=null,e.mutableElements().forEach((function(e){var t=e._private;t.rscratch={},t.rstyle={},t.animation.current=[],t.animation.queue=[]}))},onRender:function(e){return this.on("render",e)},offRender:function(e){return this.off("render",e)}};Ea.invalidateDimensions=Ea.resize;var ka={collection:function(e,t){return T(e)?this.$(e):A(e)?e.collection():M(e)?(t||(t={}),new ta(this,e,t.unique,t.removed)):new ta(this)},nodes:function(e){var t=this.$((function(e){return e.isNode()}));return e?t.filter(e):t},edges:function(e){var t=this.$((function(e){return e.isEdge()}));return e?t.filter(e):t},$:function(e){var t=this._private.elements;return e?t.filter(e):t.spawnSelf()},mutableElements:function(){return this._private.elements}};ka.elements=ka.filter=ka.$;var Ca={},Sa="t";Ca.apply=function(e){for(var t=this,n=t._private.cy.collection(),r=0;r0;if(h||d&&f){var p=void 0;h&&f||h?p=l.properties:f&&(p=l.mappedProperties);for(var v=0;v1&&(g=1),s.color){var w=i.valueMin[0],_=i.valueMax[0],E=i.valueMin[1],k=i.valueMax[1],C=i.valueMin[2],S=i.valueMax[2],P=null==i.valueMin[3]?1:i.valueMin[3],T=null==i.valueMax[3]?1:i.valueMax[3],D=[Math.round(w+(_-w)*g),Math.round(E+(k-E)*g),Math.round(C+(S-C)*g),Math.round(P+(T-P)*g)];n={bypass:i.bypass,name:i.name,value:D,strValue:"rgb("+D[0]+", "+D[1]+", "+D[2]+")"}}else{if(!s.number)return!1;var M=i.valueMin+(i.valueMax-i.valueMin)*g;n=this.parse(i.name,M,i.bypass,h)}if(!n)return v(),!1;n.mapping=i,i=n;break;case o.data:for(var B=i.field.split("."),O=d.data,A=0;A0&&a>0){for(var s={},u=!1,l=0;l0?e.delayAnimation(o).play().promise().then(t):t()})).then((function(){return e.animation({style:s,duration:a,easing:e.pstyle("transition-timing-function").value,queue:!1}).play().promise()})).then((function(){n.removeBypasses(e,i),e.emitAndNotify("style"),r.transitioning=!1}))}else r.transitioning&&(this.removeBypasses(e,i),e.emitAndNotify("style"),r.transitioning=!1)},Ca.checkTrigger=function(e,t,n,r,i,a){var o=this.properties[t],s=i(o);null!=s&&s(n,r)&&a(o)},Ca.checkZOrderTrigger=function(e,t,n,r){var i=this;this.checkTrigger(e,t,n,r,(function(e){return e.triggersZOrder}),(function(){i._private.cy.notify("zorder",e)}))},Ca.checkBoundsTrigger=function(e,t,n,r){this.checkTrigger(e,t,n,r,(function(e){return e.triggersBounds}),(function(i){e.dirtyCompoundBoundsCache(),e.dirtyBoundingBoxCache(),!i.triggersBoundsOfParallelBeziers||"curve-style"!==t||"bezier"!==n&&"bezier"!==r||e.parallelEdges().forEach((function(e){e.isBundledBezier()&&e.dirtyBoundingBoxCache()})),!i.triggersBoundsOfConnectedEdges||"display"!==t||"none"!==n&&"none"!==r||e.connectedEdges().forEach((function(e){e.dirtyBoundingBoxCache()}))}))},Ca.checkTriggers=function(e,t,n,r){e.dirtyStyleCache(),this.checkZOrderTrigger(e,t,n,r),this.checkBoundsTrigger(e,t,n,r)};var Pa={applyBypass:function(e,t,n,r){var i=[];if("*"===t||"**"===t){if(void 0!==n)for(var a=0;at.length?a.substr(t.length):""}function s(){n=n.length>r.length?n.substr(r.length):""}for(a=a.replace(/[/][*](\s|.)+?[*][/]/g,"");!a.match(/^\s*$/);){var u=a.match(/^\s*((?:.|\s)+?)\s*\{((?:.|\s)+?)\}/);if(!u){Pe("Halting stylesheet parsing: String stylesheet contains more to parse but no selector and block found in: "+a);break}t=u[0];var l=u[1];if("core"!==l&&new Cr(l).invalid)Pe("Skipping parsing of block: Invalid selector found in string stylesheet: "+l),o();else{var c=u[2],d=!1;n=c;for(var h=[];!n.match(/^\s*$/);){var f=n.match(/^\s*(.+?)\s*:\s*(.+?)(?:\s*;|\s*$)/);if(!f){Pe("Skipping parsing of block: Invalid formatting of style property and value definitions found in:"+c),d=!0;break}r=f[0];var p=f[1],v=f[2];this.properties[p]?i.parse(p,v)?(h.push({name:p,val:v}),s()):(Pe("Skipping property: Invalid property definition in: "+r),s()):(Pe("Skipping property: Invalid property name in: "+r),s())}if(d){o();break}i.selector(l);for(var g=0;g=7&&"d"===t[0]&&(l=new RegExp(s.data.regex).exec(t))){if(n)return!1;var h=s.data;return{name:e,value:l,strValue:""+t,mapped:h,field:l[1],bypass:n}}if(t.length>=10&&"m"===t[0]&&(c=new RegExp(s.mapData.regex).exec(t))){if(n)return!1;if(d.multiple)return!1;var f=s.mapData;if(!d.color&&!d.number)return!1;var p=this.parse(e,c[4]);if(!p||p.mapped)return!1;var v=this.parse(e,c[5]);if(!v||v.mapped)return!1;if(p.pfValue===v.pfValue||p.strValue===v.strValue)return Pe("`"+e+": "+t+"` is not a valid mapper because the output range is zero; converting to `"+e+": "+p.strValue+"`"),this.parse(e,p.strValue);if(d.color){var g=p.value,y=v.value;if(!(g[0]!==y[0]||g[1]!==y[1]||g[2]!==y[2]||g[3]!==y[3]&&(null!=g[3]&&1!==g[3]||null!=y[3]&&1!==y[3])))return!1}return{name:e,value:c,strValue:""+t,mapped:f,field:c[1],fieldMin:parseFloat(c[2]),fieldMax:parseFloat(c[3]),valueMin:p.value,valueMax:v.value,bypass:n}}}if(d.multiple&&"multiple"!==r){var m;if(m=u?t.split(/\s+/):M(t)?t:[t],d.evenMultiple&&m.length%2!=0)return null;for(var b=[],x=[],w=[],_="",E=!1,k=0;k0?" ":"")+C.strValue}return d.validate&&!d.validate(b,x)?null:d.singleEnum&&E?1===b.length&&T(b[0])?{name:e,value:b[0],strValue:b[0],bypass:n}:null:{name:e,value:b,pfValue:w,strValue:_,bypass:n,units:x}}var S,P,B,O=function(){for(var r=0;rd.max||d.strictMax&&t===d.max))return null;var R={name:e,value:t,strValue:""+t+(A||""),units:A,bypass:n};return d.unitless||"px"!==A&&"em"!==A?R.pfValue=t:R.pfValue="px"!==A&&A?this.getEmSizeInPixels()*t:t,"ms"!==A&&"s"!==A||(R.pfValue="ms"===A?t:1e3*t),"deg"!==A&&"rad"!==A||(R.pfValue="rad"===A?t:(S=t,Math.PI*S/180)),"%"===A&&(R.pfValue=t/100),R}if(d.propList){var j=[],V=""+t;if("none"===V);else{for(var F=V.split(/\s*,\s*|\s+/),W=0;W255)return;t.push(Math.floor(a))}var o=r[1]||r[2]||r[3],s=r[1]&&r[2]&&r[3];if(o&&!s)return;var u=n[4];if(void 0!==u){if((u=parseFloat(u))<0||u>1)return;t.push(u)}}return t}(B)||function(e){var t,n,r,i,a,o,s,u;function l(e,t,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?e+6*(t-e)*n:n<.5?t:n<2/3?e+(t-e)*(2/3-n)*6:e}var c=new RegExp("^"+K+"$").exec(e);if(c){if((n=parseInt(c[1]))<0?n=(360- -1*n%360)%360:n>360&&(n%=360),n/=360,(r=parseFloat(c[2]))<0||r>100)return;if(r/=100,(i=parseFloat(c[3]))<0||i>100)return;if(i/=100,void 0!==(a=c[4])&&((a=parseFloat(a))<0||a>1))return;if(0===r)o=s=u=Math.round(255*i);else{var d=i<.5?i*(1+r):i+r-i*r,h=2*i-d;o=Math.round(255*l(h,d,n+1/3)),s=Math.round(255*l(h,d,n)),u=Math.round(255*l(h,d,n-1/3))}t=[o,s,u,a]}return t}(B);return X?{name:e,value:X,pfValue:X,strValue:"rgb("+X[0]+","+X[1]+","+X[2]+")",bypass:n}:null}if(d.regex||d.regexes){if(d.enums){var Z=O();if(Z)return Z}for(var G=d.regexes?d.regexes:[d.regex],$=0;$0&&u>0&&!isNaN(n.w)&&!isNaN(n.h)&&n.w>0&&n.h>0)return{zoom:o=(o=(o=Math.min((s-2*t)/n.w,(u-2*t)/n.h))>this._private.maxZoom?this._private.maxZoom:o)=n.minZoom&&(n.maxZoom=t),this},minZoom:function(e){return void 0===e?this._private.minZoom:this.zoomRange({min:e})},maxZoom:function(e){return void 0===e?this._private.maxZoom:this.zoomRange({max:e})},getZoomedViewport:function(e){var t,n,r=this._private,i=r.pan,a=r.zoom,o=!1;if(r.zoomingEnabled||(o=!0),I(e)?n=e:B(e)&&(n=e.level,null!=e.position?t=nt(e.position,a,i):null!=e.renderedPosition&&(t=e.renderedPosition),null==t||r.panningEnabled||(o=!0)),n=(n=n>r.maxZoom?r.maxZoom:n)t.maxZoom||!t.zoomingEnabled?a=!0:(t.zoom=s,i.push("zoom"))}if(r&&(!a||!e.cancelOnFailedZoom)&&t.panningEnabled){var u=e.pan;I(u.x)&&(t.pan.x=u.x,o=!1),I(u.y)&&(t.pan.y=u.y,o=!1),o||i.push("pan")}return i.length>0&&(i.push("viewport"),this.emit(i.join(" ")),this.notify("viewport")),this},center:function(e){var t=this.getCenterPan(e);return t&&(this._private.pan=t,this.emit("pan viewport"),this.notify("viewport")),this},getCenterPan:function(e,t){if(this._private.panningEnabled){if(T(e)){var n=e;e=this.mutableElements().filter(n)}else A(e)||(e=this.mutableElements());if(0!==e.length){var r=e.boundingBox(),i=this.width(),a=this.height();return{x:(i-(t=void 0===t?this._private.zoom:t)*(r.x1+r.x2))/2,y:(a-t*(r.y1+r.y2))/2}}}},reset:function(){return this._private.panningEnabled&&this._private.zoomingEnabled?(this.viewport({pan:{x:0,y:0},zoom:1}),this):this},invalidateSize:function(){this._private.sizeCache=null},size:function(){var e,t,n=this._private,r=n.container;return n.sizeCache=n.sizeCache||(r?(e=this.window().getComputedStyle(r),t=function(t){return parseFloat(e.getPropertyValue(t))},{width:r.clientWidth-t("padding-left")-t("padding-right"),height:r.clientHeight-t("padding-top")-t("padding-bottom")}):{width:1,height:1})},width:function(){return this.size().width},height:function(){return this.size().height},extent:function(){var e=this._private.pan,t=this._private.zoom,n=this.renderedExtent(),r={x1:(n.x1-e.x)/t,x2:(n.x2-e.x)/t,y1:(n.y1-e.y)/t,y2:(n.y2-e.y)/t};return r.w=r.x2-r.x1,r.h=r.y2-r.y1,r},renderedExtent:function(){var e=this.width(),t=this.height();return{x1:0,y1:0,x2:e,y2:t,w:e,h:t}},multiClickDebounceTime:function(e){return e?(this._private.multiClickDebounceTime=e,this):this._private.multiClickDebounceTime}};La.centre=La.center,La.autolockNodes=La.autolock,La.autoungrabifyNodes=La.autoungrabify;var Ra={data:sr.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeData:sr.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),scratch:sr.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:sr.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0})};Ra.attr=Ra.data,Ra.removeAttr=Ra.removeData;var ja=function(e){var t=this,n=(e=Q({},e)).container;n&&!O(n)&&O(n[0])&&(n=n[0]);var r=n?n._cyreg:null;(r=r||{})&&r.cy&&(r.cy.destroy(),r={});var i=r.readies=r.readies||[];n&&(n._cyreg=r),r.cy=t;var a=void 0!==w&&void 0!==n&&!e.headless,o=e;o.layout=Q({name:a?"grid":"null"},o.layout),o.renderer=Q({name:a?"canvas":"null"},o.renderer);var s=function(e,t,n){return void 0!==t?t:void 0!==n?n:e},u=this._private={container:n,ready:!1,options:o,elements:new ta(this),listeners:[],aniEles:new ta(this),data:o.data||{},scratch:{},layout:null,renderer:null,destroyed:!1,notificationsEnabled:!0,minZoom:1e-50,maxZoom:1e50,zoomingEnabled:s(!0,o.zoomingEnabled),userZoomingEnabled:s(!0,o.userZoomingEnabled),panningEnabled:s(!0,o.panningEnabled),userPanningEnabled:s(!0,o.userPanningEnabled),boxSelectionEnabled:s(!0,o.boxSelectionEnabled),autolock:s(!1,o.autolock,o.autolockNodes),autoungrabify:s(!1,o.autoungrabify,o.autoungrabifyNodes),autounselectify:s(!1,o.autounselectify),styleEnabled:void 0===o.styleEnabled?a:o.styleEnabled,zoom:I(o.zoom)?o.zoom:1,pan:{x:B(o.pan)&&I(o.pan.x)?o.pan.x:0,y:B(o.pan)&&I(o.pan.y)?o.pan.y:0},animation:{current:[],queue:[]},hasCompoundNodes:!1,multiClickDebounceTime:s(250,o.multiClickDebounceTime)};this.createEmitter(),this.selectionType(o.selectionType),this.zoomRange({min:o.minZoom,max:o.maxZoom}),u.styleEnabled&&t.setStyle([]);var l=Q({},o,o.renderer);t.initRenderer(l),function(e,t){if(e.some(V))return tr.all(e).then(t);t(e)}([o.style,o.elements],(function(e){var n=e[0],a=e[1];u.styleEnabled&&t.style().append(n),function(e,n,r){t.notifications(!1);var i=t.mutableElements();i.length>0&&i.remove(),null!=e&&(B(e)||M(e))&&t.add(e),t.one("layoutready",(function(e){t.notifications(!0),t.emit(e),t.one("load",n),t.emitAndNotify("load")})).one("layoutstop",(function(){t.one("done",r),t.emit("done")}));var a=Q({},t._private.options.layout);a.eles=t.elements(),t.layout(a).run()}(a,(function(){t.startAnimationLoop(),u.ready=!0,D(o.ready)&&t.on("ready",o.ready);for(var e=0;e0,l=pt(n.boundingBox?n.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()});if(A(n.roots))e=n.roots;else if(M(n.roots)){for(var c=[],d=0;d0;){var B=S.shift(),I=C(B,P);if(I)B.outgoers().filter((function(e){return e.isNode()&&i.has(e)})).forEach(D);else if(null===I){Pe("Detected double maximal shift for node `"+B.id()+"`. Bailing maximal adjustment due to cycle. Use `options.maximal: true` only on DAGs.");break}}}k();var O=0;if(n.avoidOverlap)for(var z=0;z0&&y[0].length<=3?u/2:0),d=2*Math.PI/y[r].length*i;return 0===r&&1===y[0].length&&(c=1),{x:U+c*Math.cos(d),y:Z+c*Math.sin(d)}}return{x:U+(i+1-(a+1)/2)*o,y:(r+1)*s}})),this};var Ha={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,radius:void 0,startAngle:1.5*Math.PI,sweep:void 0,clockwise:!0,sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,t){return!0},ready:void 0,stop:void 0,transform:function(e,t){return t}};function Ua(e){this.options=Q({},Ha,e)}Ua.prototype.run=function(){var e=this.options,t=e,n=e.cy,r=t.eles,i=void 0!==t.counterclockwise?!t.counterclockwise:t.clockwise,a=r.nodes().not(":parent");t.sort&&(a=a.sort(t.sort));for(var o,s=pt(t.boundingBox?t.boundingBox:{x1:0,y1:0,w:n.width(),h:n.height()}),u=s.x1+s.w/2,l=s.y1+s.h/2,c=(void 0===t.sweep?2*Math.PI-2*Math.PI/a.length:t.sweep)/Math.max(1,a.length-1),d=0,h=0;h1&&t.avoidOverlap){d*=1.75;var g=Math.cos(c)-Math.cos(0),y=Math.sin(c)-Math.sin(0),m=Math.sqrt(d*d/(g*g+y*y));o=Math.max(m,o)}return r.nodes().layoutPositions(this,t,(function(e,n){var r=t.startAngle+n*c*(i?1:-1),a=o*Math.cos(r),s=o*Math.sin(r);return{x:u+a,y:l+s}})),this};var Za,Ka={fit:!0,padding:30,startAngle:1.5*Math.PI,sweep:void 0,clockwise:!0,equidistant:!1,minNodeSpacing:10,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,height:void 0,width:void 0,spacingFactor:void 0,concentric:function(e){return e.degree()},levelWidth:function(e){return e.maxDegree()/4},animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,t){return!0},ready:void 0,stop:void 0,transform:function(e,t){return t}};function Ga(e){this.options=Q({},Ka,e)}Ga.prototype.run=function(){for(var e=this.options,t=e,n=void 0!==t.counterclockwise?!t.counterclockwise:t.clockwise,r=e.cy,i=t.eles,a=i.nodes().not(":parent"),o=pt(t.boundingBox?t.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()}),s=o.x1+o.w/2,u=o.y1+o.h/2,l=[],c=0,d=0;d0&&Math.abs(m[0].value-x.value)>=g&&(m=[],y.push(m)),m.push(x)}var w=c+t.minNodeSpacing;if(!t.avoidOverlap){var _=y.length>0&&y[0].length>1,E=(Math.min(o.w,o.h)/2-w)/(y.length+_?1:0);w=Math.min(w,E)}for(var k=0,C=0;C1&&t.avoidOverlap){var D=Math.cos(T)-Math.cos(0),M=Math.sin(T)-Math.sin(0),B=Math.sqrt(w*w/(D*D+M*M));k=Math.max(B,k)}S.r=k,k+=w}if(t.equidistant){for(var I=0,O=0,A=0;A=e.numIter||(ao(r,e),r.temperature=r.temperature*e.coolingFactor,r.temperature=e.animationThreshold&&a(),ae(t)):(mo(r,e),s())}();else{for(;l;)l=o(u),u++;mo(r,e),s()}return this},Qa.prototype.stop=function(){return this.stopped=!0,this.thread&&this.thread.stop(),this.emit("layoutstop"),this},Qa.prototype.destroy=function(){return this.thread&&this.thread.stop(),this};var Ja=function(e,t,n){for(var r=n.eles.edges(),i=n.eles.nodes(),a=pt(n.boundingBox?n.boundingBox:{x1:0,y1:0,w:e.width(),h:e.height()}),o={isCompound:e.hasCompoundNodes(),layoutNodes:[],idToIndex:{},nodeSize:i.size(),graphSet:[],indexToGraph:[],layoutEdges:[],edgeSize:r.size(),temperature:n.initialTemp,clientWidth:a.w,clientHeight:a.h,boundingBox:a},s=n.eles.components(),u={},l=0;l0)for(o.graphSet.push(w),l=0;lr.count?0:r.graph},to=function e(t,n,r,i){var a=i.graphSet[r];if(-10)var s=(l=r.nodeOverlap*o)*i/(v=Math.sqrt(i*i+a*a)),u=l*a/v;else{var l,c=co(e,i,a),d=co(t,-1*i,-1*a),h=d.x-c.x,f=d.y-c.y,p=h*h+f*f,v=Math.sqrt(p);s=(l=(e.nodeRepulsion+t.nodeRepulsion)/p)*h/v,u=l*f/v}e.isLocked||(e.offsetX-=s,e.offsetY-=u),t.isLocked||(t.offsetX+=s,t.offsetY+=u)}},lo=function(e,t,n,r){if(n>0)var i=e.maxX-t.minX;else i=t.maxX-e.minX;if(r>0)var a=e.maxY-t.minY;else a=t.maxY-e.minY;return i>=0&&a>=0?Math.sqrt(i*i+a*a):0},co=function(e,t,n){var r=e.positionX,i=e.positionY,a=e.height||1,o=e.width||1,s=n/t,u=a/o,l={};return 0===t&&0n?(l.x=r,l.y=i+a/2,l):0t&&-1*u<=s&&s<=u?(l.x=r-o/2,l.y=i-o*n/2/t,l):0=u)?(l.x=r+a*t/2/n,l.y=i+a/2,l):0>n&&(s<=-1*u||s>=u)?(l.x=r-a*t/2/n,l.y=i-a/2,l):l},ho=function(e,t){for(var n=0;n1){var p=t.gravity*d/f,v=t.gravity*h/f;c.offsetX+=p,c.offsetY+=v}}}}},po=function(e,t){var n=[],r=0,i=-1;for(n.push.apply(n,e.graphSet[0]),i+=e.graphSet[0].length;r<=i;){var a=n[r++],o=e.idToIndex[a],s=e.layoutNodes[o],u=s.children;if(0n)var i={x:n*e/r,y:n*t/r};else i={x:e,y:t};return i},yo=function e(t,n){var r=t.parentId;if(null!=r){var i=n.layoutNodes[n.idToIndex[r]],a=!1;return(null==i.maxX||t.maxX+i.padRight>i.maxX)&&(i.maxX=t.maxX+i.padRight,a=!0),(null==i.minX||t.minX-i.padLefti.maxY)&&(i.maxY=t.maxY+i.padBottom,a=!0),(null==i.minY||t.minY-i.padTopp&&(d+=f+t.componentSpacing,c=0,h=0,f=0)}}},bo={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,avoidOverlapPadding:10,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,condense:!1,rows:void 0,cols:void 0,position:function(e){},sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,t){return!0},ready:void 0,stop:void 0,transform:function(e,t){return t}};function xo(e){this.options=Q({},bo,e)}xo.prototype.run=function(){var e=this.options,t=e,n=e.cy,r=t.eles,i=r.nodes().not(":parent");t.sort&&(i=i.sort(t.sort));var a=pt(t.boundingBox?t.boundingBox:{x1:0,y1:0,w:n.width(),h:n.height()});if(0===a.h||0===a.w)r.nodes().layoutPositions(this,t,(function(e){return{x:a.x1,y:a.y1}}));else{var o=i.size(),s=Math.sqrt(o*a.h/a.w),u=Math.round(s),l=Math.round(a.w/a.h*s),c=function(e){if(null==e)return Math.min(u,l);Math.min(u,l)==u?u=e:l=e},d=function(e){if(null==e)return Math.max(u,l);Math.max(u,l)==u?u=e:l=e},h=t.rows,f=null!=t.cols?t.cols:t.columns;if(null!=h&&null!=f)u=h,l=f;else if(null!=h&&null==f)u=h,l=Math.ceil(o/u);else if(null==h&&null!=f)l=f,u=Math.ceil(o/l);else if(l*u>o){var p=c(),v=d();(p-1)*v>=o?c(p-1):(v-1)*p>=o&&d(v-1)}else for(;l*u=o?d(y+1):c(g+1)}var m=a.w/l,b=a.h/u;if(t.condense&&(m=0,b=0),t.avoidOverlap)for(var x=0;x=l&&(B=0,M++)},O={},A=0;A(r=Pt(e,t,x[w],x[w+1],x[w+2],x[w+3])))return g(n,r),!0}else if("bezier"===a.edgeType||"multibezier"===a.edgeType||"self"===a.edgeType||"compound"===a.edgeType)for(x=a.allpts,w=0;w+5(r=St(e,t,x[w],x[w+1],x[w+2],x[w+3],x[w+4],x[w+5])))return g(n,r),!0;m=m||i.source,b=b||i.target;var _=o.getArrowWidth(u,c),E=[{name:"source",x:a.arrowStartX,y:a.arrowStartY,angle:a.srcArrowAngle},{name:"target",x:a.arrowEndX,y:a.arrowEndY,angle:a.tgtArrowAngle},{name:"mid-source",x:a.midX,y:a.midY,angle:a.midsrcArrowAngle},{name:"mid-target",x:a.midX,y:a.midY,angle:a.midtgtArrowAngle}];for(w=0;w0&&(y(m),y(b))}function b(e,t,n){return ze(e,t,n)}function x(n,r){var i,a=n._private,o=p;i=r?r+"-":"",n.boundingBox();var s=a.labelBounds[r||"main"],u=n.pstyle(i+"label").value;if("yes"===n.pstyle("text-events").strValue&&u){var l=b(a.rscratch,"labelX",r),c=b(a.rscratch,"labelY",r),d=b(a.rscratch,"labelAngle",r),h=n.pstyle(i+"text-margin-x").pfValue,f=n.pstyle(i+"text-margin-y").pfValue,v=s.x1-o-h,y=s.x2+o-h,m=s.y1-o-f,x=s.y2+o-f;if(d){var w=Math.cos(d),_=Math.sin(d),E=function(e,t){return{x:(e-=l)*w-(t-=c)*_+l,y:e*_+t*w+c}},k=E(v,m),C=E(v,x),S=E(y,m),P=E(y,x),T=[k.x+h,k.y+f,S.x+h,S.y+f,P.x+h,P.y+f,C.x+h,C.y+f];if(Tt(e,t,T))return g(n),!0}else if(wt(s,e,t))return g(n),!0}}n&&(u=u.interactive);for(var w=u.length-1;w>=0;w--){var _=u[w];_.isNode()?y(_)||x(_):m(_)||x(_)||x(_,"source")||x(_,"target")}return l},getAllInBox:function(e,t,n,r){for(var i,a,o=this.getCachedZSortedEles().interactive,s=[],u=Math.min(e,n),l=Math.max(e,n),c=Math.min(t,r),d=Math.max(t,r),h=pt({x1:e=u,y1:t=c,x2:n=l,y2:r=d}),f=0;f0?Math.max(e-t,0):Math.min(e+t,0)},P=S(k,_),T=S(C,E),D=!1;"auto"===g?v=Math.abs(P)>Math.abs(T)?i:r:g===u||g===s?(v=r,D=!0):g!==a&&g!==o||(v=i,D=!0);var M,B=v===r,I=B?T:P,O=B?C:k,A=st(O),z=!1;D&&(m||x)||!(g===s&&O<0||g===u&&O>0||g===a&&O>0||g===o&&O<0)||(I=(A*=-1)*Math.abs(I),z=!0);var N=function(e){return Math.abs(e)=Math.abs(I)},L=N(M=m?(b<0?1+b:b)*I:(b<0?I:0)+b*A),R=N(Math.abs(I)-Math.abs(M));if(!L&&!R||z)if(B){var j=l.y1+M+(p?d/2*A:0),V=l.x1,F=l.x2;n.segpts=[V,j,F,j]}else{var q=l.x1+M+(p?c/2*A:0),W=l.y1,Y=l.y2;n.segpts=[q,W,q,Y]}else if(B){var X=Math.abs(O)<=d/2,H=Math.abs(k)<=h/2;if(X){var U=(l.x1+l.x2)/2,Z=l.y1,K=l.y2;n.segpts=[U,Z,U,K]}else if(H){var G=(l.y1+l.y2)/2,$=l.x1,Q=l.x2;n.segpts=[$,G,Q,G]}else n.segpts=[l.x1,l.y2]}else{var J=Math.abs(O)<=c/2,ee=Math.abs(C)<=f/2;if(J){var te=(l.y1+l.y2)/2,ne=l.x1,re=l.x2;n.segpts=[ne,te,re,te]}else if(ee){var ie=(l.x1+l.x2)/2,ae=l.y1,oe=l.y2;n.segpts=[ie,ae,ie,oe]}else n.segpts=[l.x2,l.y1]}},Ao.tryToCorrectInvalidPoints=function(e,t){var n=e._private.rscratch;if("bezier"===n.edgeType){var r=t.srcPos,i=t.tgtPos,a=t.srcW,o=t.srcH,s=t.tgtW,u=t.tgtH,l=t.srcShape,c=t.tgtShape,d=!I(n.startX)||!I(n.startY),h=!I(n.arrowStartX)||!I(n.arrowStartY),f=!I(n.endX)||!I(n.endY),p=!I(n.arrowEndX)||!I(n.arrowEndY),v=this.getArrowWidth(e.pstyle("width").pfValue,e.pstyle("arrow-scale").value)*this.arrowShapeWidth*3,g=ut({x:n.ctrlpts[0],y:n.ctrlpts[1]},{x:n.startX,y:n.startY}),y=gh.poolIndex()){var f=d;d=h,h=f}var p=s.srcPos=d.position(),v=s.tgtPos=h.position(),g=s.srcW=d.outerWidth(),y=s.srcH=d.outerHeight(),m=s.tgtW=h.outerWidth(),b=s.tgtH=h.outerHeight(),x=s.srcShape=n.nodeShapes[t.getNodeShape(d)],w=s.tgtShape=n.nodeShapes[t.getNodeShape(h)];s.dirCounts={north:0,west:0,south:0,east:0,northwest:0,southwest:0,northeast:0,southeast:0};for(var _=0;_0){var q=l,W=lt(q,it(t)),Y=lt(q,it(F)),X=W;Y2&<(q,{x:F[2],y:F[3]})0){var ie=c,ae=lt(ie,it(t)),oe=lt(ie,it(re)),se=ae;oe2&<(ie,{x:re[2],y:re[3]})=l||m){c={cp:v,segment:y};break}}if(c)break}var b=c.cp,x=c.segment,w=(l-h)/x.length,_=x.t1-x.t0,E=s?x.t0+_*w:x.t1-_*w;E=ft(0,E,1),t=ht(b.p0,b.p1,b.p2,E),i=function(e,t,n,r){var i=ft(0,r-.001,1),a=ft(0,r+.001,1),o=ht(e,t,n,i),s=ht(e,t,n,a);return Fo(o,s)}(b.p0,b.p1,b.p2,E);break;case"straight":case"segments":case"haystack":for(var k,C,S,P,T=0,D=r.allpts.length,M=0;M+3=l));M+=2);var B=(l-C)/k;B=ft(0,B,1),t=function(e,t,n,r){var i=t.x-e.x,a=t.y-e.y,o=ut(e,t),s=i/o,u=a/o;return n=null==n?0:n,r=null!=r?r:n*o,{x:e.x+s*r,y:e.y+u*r}}(S,P,B),i=Fo(S,P)}o("labelX",n,t.x),o("labelY",n,t.y),o("labelAutoAngle",n,i)}};l("source"),l("target"),this.applyLabelDimensions(e)}},jo.applyLabelDimensions=function(e){this.applyPrefixedLabelDimensions(e),e.isEdge()&&(this.applyPrefixedLabelDimensions(e,"source"),this.applyPrefixedLabelDimensions(e,"target"))},jo.applyPrefixedLabelDimensions=function(e,t){var n=e._private,r=this.getLabelText(e,t),i=this.calculateLabelDimensions(e,r),a=e.pstyle("line-height").pfValue,o=e.pstyle("text-wrap").strValue,s=ze(n.rscratch,"labelWrapCachedLines",t)||[],u="wrap"!==o?1:Math.max(s.length,1),l=i.height/u,c=l*a,d=i.width,h=i.height+(u-1)*(a-1)*l;Ne(n.rstyle,"labelWidth",t,d),Ne(n.rscratch,"labelWidth",t,d),Ne(n.rstyle,"labelHeight",t,h),Ne(n.rscratch,"labelHeight",t,h),Ne(n.rscratch,"labelLineHeight",t,c)},jo.getLabelText=function(e,t){var n=e._private,r=t?t+"-":"",i=e.pstyle(r+"label").strValue,a=e.pstyle("text-transform").value,o=function(e,r){return r?(Ne(n.rscratch,e,t,r),r):ze(n.rscratch,e,t)};if(!i)return"";"none"==a||("uppercase"==a?i=i.toUpperCase():"lowercase"==a&&(i=i.toLowerCase()));var s=e.pstyle("text-wrap").value;if("wrap"===s){var u=o("labelKey");if(null!=u&&o("labelWrapKey")===u)return o("labelWrapCachedText");for(var l=i.split("\n"),c=e.pstyle("text-max-width").pfValue,d="anywhere"===e.pstyle("text-overflow-wrap").value,h=[],f=/[\s\u200b]+/,p=d?"":" ",v=0;vc){for(var b=g.split(f),x="",w=0;wk);P++)C+=i[P],P===i.length-1&&(S=!0);return S||(C+="…"),C}return i},jo.getLabelJustification=function(e){var t=e.pstyle("text-justification").strValue,n=e.pstyle("text-halign").strValue;if("auto"!==t)return t;if(!e.isNode())return"center";switch(n){case"left":return"right";case"right":return"left";default:return"center"}},jo.calculateLabelDimensions=function(e,t){var n=pe(t,e._private.labelDimsKey),r=this.labelDimCache||(this.labelDimCache=[]),i=r[n];if(null!=i)return i;var a=e.pstyle("font-style").strValue,o=e.pstyle("font-size").pfValue,s=e.pstyle("font-family").strValue,u=e.pstyle("font-weight").strValue,l=this.labelCalcCanvas,c=this.labelCalcCanvasContext;if(!l){l=this.labelCalcCanvas=document.createElement("canvas"),c=this.labelCalcCanvasContext=l.getContext("2d");var d=l.style;d.position="absolute",d.left="-9999px",d.top="-9999px",d.zIndex="-1",d.visibility="hidden",d.pointerEvents="none"}c.font="".concat(a," ").concat(u," ").concat(o,"px ").concat(s);for(var h=0,f=0,p=t.split("\n"),v=0;v1&&void 0!==arguments[1])||arguments[1];if(t.merge(e),n)for(var r=0;r=e.desktopTapThreshold2}var S=i(t);g&&(e.hoverData.tapholdCancelled=!0),n=!0,r(v,["mousemove","vmousemove","tapdrag"],t,{x:l[0],y:l[1]});var P=function(){e.data.bgActivePosistion=void 0,e.hoverData.selecting||o.emit({originalEvent:t,type:"boxstart",position:{x:l[0],y:l[1]}}),p[4]=1,e.hoverData.selecting=!0,e.redrawHint("select",!0),e.redraw()};if(3===e.hoverData.which){if(g){var T={originalEvent:t,type:"cxtdrag",position:{x:l[0],y:l[1]}};m?m.emit(T):o.emit(T),e.hoverData.cxtDragged=!0,e.hoverData.cxtOver&&v===e.hoverData.cxtOver||(e.hoverData.cxtOver&&e.hoverData.cxtOver.emit({originalEvent:t,type:"cxtdragout",position:{x:l[0],y:l[1]}}),e.hoverData.cxtOver=v,v&&v.emit({originalEvent:t,type:"cxtdragover",position:{x:l[0],y:l[1]}}))}}else if(e.hoverData.dragging){if(n=!0,o.panningEnabled()&&o.userPanningEnabled()){var D;if(e.hoverData.justStartedPan){var M=e.hoverData.mdownPos;D={x:(l[0]-M[0])*s,y:(l[1]-M[1])*s},e.hoverData.justStartedPan=!1}else D={x:b[0]*s,y:b[1]*s};o.panBy(D),o.emit("dragpan"),e.hoverData.dragged=!0}l=e.projectIntoViewport(t.clientX,t.clientY)}else if(1!=p[4]||null!=m&&!m.pannable()){if(m&&m.pannable()&&m.active()&&m.unactivate(),m&&m.grabbed()||v==y||(y&&r(y,["mouseout","tapdragout"],t,{x:l[0],y:l[1]}),v&&r(v,["mouseover","tapdragover"],t,{x:l[0],y:l[1]}),e.hoverData.last=v),m)if(g){if(o.boxSelectionEnabled()&&S)m&&m.grabbed()&&(h(x),m.emit("freeon"),x.emit("free"),e.dragData.didDrag&&(m.emit("dragfreeon"),x.emit("dragfree"))),P();else if(m&&m.grabbed()&&e.nodeIsDraggable(m)){var B=!e.dragData.didDrag;B&&e.redrawHint("eles",!0),e.dragData.didDrag=!0,e.hoverData.draggingEles||c(x,{inDragLayer:!0});var O={x:0,y:0};if(I(b[0])&&I(b[1])&&(O.x+=b[0],O.y+=b[1],B)){var A=e.hoverData.dragDelta;A&&I(A[0])&&I(A[1])&&(O.x+=A[0],O.y+=A[1])}e.hoverData.draggingEles=!0,x.silentShift(O).emit("position drag"),e.redrawHint("drag",!0),e.redraw()}}else!function(){var t=e.hoverData.dragDelta=e.hoverData.dragDelta||[];0===t.length?(t.push(b[0]),t.push(b[1])):(t[0]+=b[0],t[1]+=b[1])}();n=!0}else g&&(e.hoverData.dragging||!o.boxSelectionEnabled()||!S&&o.panningEnabled()&&o.userPanningEnabled()?!e.hoverData.selecting&&o.panningEnabled()&&o.userPanningEnabled()&&a(m,e.hoverData.downs)&&(e.hoverData.dragging=!0,e.hoverData.justStartedPan=!0,p[4]=0,e.data.bgActivePosistion=it(d),e.redrawHint("select",!0),e.redraw()):P(),m&&m.pannable()&&m.active()&&m.unactivate());return p[2]=l[0],p[3]=l[1],n?(t.stopPropagation&&t.stopPropagation(),t.preventDefault&&t.preventDefault(),!1):void 0}}),!1),e.registerBinding(t,"mouseup",(function(t){if(e.hoverData.capture){e.hoverData.capture=!1;var a=e.cy,o=e.projectIntoViewport(t.clientX,t.clientY),s=e.selection,u=e.findNearestElement(o[0],o[1],!0,!1),l=e.dragData.possibleDragElements,c=e.hoverData.down,d=i(t);if(e.data.bgActivePosistion&&(e.redrawHint("select",!0),e.redraw()),e.hoverData.tapholdCancelled=!0,e.data.bgActivePosistion=void 0,c&&c.unactivate(),3===e.hoverData.which){var f={originalEvent:t,type:"cxttapend",position:{x:o[0],y:o[1]}};if(c?c.emit(f):a.emit(f),!e.hoverData.cxtDragged){var p={originalEvent:t,type:"cxttap",position:{x:o[0],y:o[1]}};c?c.emit(p):a.emit(p)}e.hoverData.cxtDragged=!1,e.hoverData.which=null}else if(1===e.hoverData.which){if(r(u,["mouseup","tapend","vmouseup"],t,{x:o[0],y:o[1]}),e.dragData.didDrag||e.hoverData.dragged||e.hoverData.selecting||e.hoverData.isOverThresholdDrag||(r(c,["click","tap","vclick"],t,{x:o[0],y:o[1]}),x=!1,t.timeStamp-w<=a.multiClickDebounceTime()?(b&&clearTimeout(b),x=!0,w=null,r(c,["dblclick","dbltap","vdblclick"],t,{x:o[0],y:o[1]})):(b=setTimeout((function(){x||r(c,["oneclick","onetap","voneclick"],t,{x:o[0],y:o[1]})}),a.multiClickDebounceTime()),w=t.timeStamp)),null!=c||e.dragData.didDrag||e.hoverData.selecting||e.hoverData.dragged||i(t)||(a.$(n).unselect(["tapunselect"]),l.length>0&&e.redrawHint("eles",!0),e.dragData.possibleDragElements=l=a.collection()),u!=c||e.dragData.didDrag||e.hoverData.selecting||null!=u&&u._private.selectable&&(e.hoverData.dragging||("additive"===a.selectionType()||d?u.selected()?u.unselect(["tapunselect"]):u.select(["tapselect"]):d||(a.$(n).unmerge(u).unselect(["tapunselect"]),u.select(["tapselect"]))),e.redrawHint("eles",!0)),e.hoverData.selecting){var v=a.collection(e.getAllInBox(s[0],s[1],s[2],s[3]));e.redrawHint("select",!0),v.length>0&&e.redrawHint("eles",!0),a.emit({type:"boxend",originalEvent:t,position:{x:o[0],y:o[1]}});"additive"===a.selectionType()||d||a.$(n).unmerge(v).unselect(),v.emit("box").stdFilter((function(e){return e.selectable()&&!e.selected()})).select().emit("boxselect"),e.redraw()}if(e.hoverData.dragging&&(e.hoverData.dragging=!1,e.redrawHint("select",!0),e.redrawHint("eles",!0),e.redraw()),!s[4]){e.redrawHint("drag",!0),e.redrawHint("eles",!0);var g=c&&c.grabbed();h(l),g&&(c.emit("freeon"),l.emit("free"),e.dragData.didDrag&&(c.emit("dragfreeon"),l.emit("dragfree")))}}s[4]=0,e.hoverData.down=null,e.hoverData.cxtStarted=!1,e.hoverData.draggingEles=!1,e.hoverData.selecting=!1,e.hoverData.isOverThresholdDrag=!1,e.dragData.didDrag=!1,e.hoverData.dragged=!1,e.hoverData.dragDelta=[],e.hoverData.mdownPos=null,e.hoverData.mdownGPos=null}}),!1);var E,k,C,S,P,T,D,M,B,O,A,z,N,L=function(t){if(!e.scrollingPage){var n=e.cy,r=n.zoom(),i=n.pan(),a=e.projectIntoViewport(t.clientX,t.clientY),o=[a[0]*r+i.x,a[1]*r+i.y];if(e.hoverData.draggingEles||e.hoverData.dragging||e.hoverData.cxtStarted||0!==e.selection[4])t.preventDefault();else if(n.panningEnabled()&&n.userPanningEnabled()&&n.zoomingEnabled()&&n.userZoomingEnabled()){var s;t.preventDefault(),e.data.wheelZooming=!0,clearTimeout(e.data.wheelTimeout),e.data.wheelTimeout=setTimeout((function(){e.data.wheelZooming=!1,e.redrawHint("eles",!0),e.redraw()}),150),s=null!=t.deltaY?t.deltaY/-250:null!=t.wheelDeltaY?t.wheelDeltaY/1e3:t.wheelDelta/1e3,s*=e.wheelSensitivity,1===t.deltaMode&&(s*=33);var u=n.zoom()*Math.pow(10,s);"gesturechange"===t.type&&(u=e.gestureStartZoom*t.scale),n.zoom({level:u,renderedPosition:{x:o[0],y:o[1]}}),n.emit("gesturechange"===t.type?"pinchzoom":"scrollzoom")}}};e.registerBinding(e.container,"wheel",L,!0),e.registerBinding(t,"scroll",(function(t){e.scrollingPage=!0,clearTimeout(e.scrollingPageTimeout),e.scrollingPageTimeout=setTimeout((function(){e.scrollingPage=!1}),250)}),!0),e.registerBinding(e.container,"gesturestart",(function(t){e.gestureStartZoom=e.cy.zoom(),e.hasTouchStarted||t.preventDefault()}),!0),e.registerBinding(e.container,"gesturechange",(function(t){e.hasTouchStarted||L(t)}),!0),e.registerBinding(e.container,"mouseout",(function(t){var n=e.projectIntoViewport(t.clientX,t.clientY);e.cy.emit({originalEvent:t,type:"mouseout",position:{x:n[0],y:n[1]}})}),!1),e.registerBinding(e.container,"mouseover",(function(t){var n=e.projectIntoViewport(t.clientX,t.clientY);e.cy.emit({originalEvent:t,type:"mouseover",position:{x:n[0],y:n[1]}})}),!1);var R,j,V,F,q,W,Y,X=function(e,t,n,r){return Math.sqrt((n-e)*(n-e)+(r-t)*(r-t))},H=function(e,t,n,r){return(n-e)*(n-e)+(r-t)*(r-t)};if(e.registerBinding(e.container,"touchstart",R=function(t){if(e.hasTouchStarted=!0,_(t)){p(),e.touchData.capture=!0,e.data.bgActivePosistion=void 0;var n=e.cy,i=e.touchData.now,a=e.touchData.earlier;if(t.touches[0]){var o=e.projectIntoViewport(t.touches[0].clientX,t.touches[0].clientY);i[0]=o[0],i[1]=o[1]}if(t.touches[1]&&(o=e.projectIntoViewport(t.touches[1].clientX,t.touches[1].clientY),i[2]=o[0],i[3]=o[1]),t.touches[2]&&(o=e.projectIntoViewport(t.touches[2].clientX,t.touches[2].clientY),i[4]=o[0],i[5]=o[1]),t.touches[1]){e.touchData.singleTouchMoved=!0,h(e.dragData.touchDragEles);var u=e.findContainerClientCoords();B=u[0],O=u[1],A=u[2],z=u[3],E=t.touches[0].clientX-B,k=t.touches[0].clientY-O,C=t.touches[1].clientX-B,S=t.touches[1].clientY-O,N=0<=E&&E<=A&&0<=C&&C<=A&&0<=k&&k<=z&&0<=S&&S<=z;var l=n.pan(),f=n.zoom();if(P=X(E,k,C,S),T=H(E,k,C,S),M=[((D=[(E+C)/2,(k+S)/2])[0]-l.x)/f,(D[1]-l.y)/f],T<4e4&&!t.touches[2]){var v=e.findNearestElement(i[0],i[1],!0,!0),g=e.findNearestElement(i[2],i[3],!0,!0);return v&&v.isNode()?(v.activate().emit({originalEvent:t,type:"cxttapstart",position:{x:i[0],y:i[1]}}),e.touchData.start=v):g&&g.isNode()?(g.activate().emit({originalEvent:t,type:"cxttapstart",position:{x:i[0],y:i[1]}}),e.touchData.start=g):n.emit({originalEvent:t,type:"cxttapstart",position:{x:i[0],y:i[1]}}),e.touchData.start&&(e.touchData.start._private.grabbed=!1),e.touchData.cxt=!0,e.touchData.cxtDragged=!1,e.data.bgActivePosistion=void 0,void e.redraw()}}if(t.touches[2])n.boxSelectionEnabled()&&t.preventDefault();else if(t.touches[1]);else if(t.touches[0]){var y=e.findNearestElements(i[0],i[1],!0,!0),m=y[0];if(null!=m&&(m.activate(),e.touchData.start=m,e.touchData.starts=y,e.nodeIsGrabbable(m))){var b=e.dragData.touchDragEles=n.collection(),x=null;e.redrawHint("eles",!0),e.redrawHint("drag",!0),m.selected()?(x=n.$((function(t){return t.selected()&&e.nodeIsGrabbable(t)})),c(x,{addToList:b})):d(m,{addToList:b}),s(m);var w=function(e){return{originalEvent:t,type:e,position:{x:i[0],y:i[1]}}};m.emit(w("grabon")),x?x.forEach((function(e){e.emit(w("grab"))})):m.emit(w("grab"))}r(m,["touchstart","tapstart","vmousedown"],t,{x:i[0],y:i[1]}),null==m&&(e.data.bgActivePosistion={x:o[0],y:o[1]},e.redrawHint("select",!0),e.redraw()),e.touchData.singleTouchMoved=!1,e.touchData.singleTouchStartTime=+new Date,clearTimeout(e.touchData.tapholdTimeout),e.touchData.tapholdTimeout=setTimeout((function(){!1!==e.touchData.singleTouchMoved||e.pinching||e.touchData.selecting||r(e.touchData.start,["taphold"],t,{x:i[0],y:i[1]})}),e.tapholdDuration)}if(t.touches.length>=1){for(var I=e.touchData.startPosition=[null,null,null,null,null,null],L=0;L=e.touchTapThreshold2}if(n&&e.touchData.cxt){t.preventDefault();var x=t.touches[0].clientX-B,w=t.touches[0].clientY-O,D=t.touches[1].clientX-B,A=t.touches[1].clientY-O,z=H(x,w,D,A);if(z/T>=2.25||z>=22500){e.touchData.cxt=!1,e.data.bgActivePosistion=void 0,e.redrawHint("select",!0);var L={originalEvent:t,type:"cxttapend",position:{x:s[0],y:s[1]}};e.touchData.start?(e.touchData.start.unactivate().emit(L),e.touchData.start=null):o.emit(L)}}if(n&&e.touchData.cxt){L={originalEvent:t,type:"cxtdrag",position:{x:s[0],y:s[1]}},e.data.bgActivePosistion=void 0,e.redrawHint("select",!0),e.touchData.start?e.touchData.start.emit(L):o.emit(L),e.touchData.start&&(e.touchData.start._private.grabbed=!1),e.touchData.cxtDragged=!0;var R=e.findNearestElement(s[0],s[1],!0,!0);e.touchData.cxtOver&&R===e.touchData.cxtOver||(e.touchData.cxtOver&&e.touchData.cxtOver.emit({originalEvent:t,type:"cxtdragout",position:{x:s[0],y:s[1]}}),e.touchData.cxtOver=R,R&&R.emit({originalEvent:t,type:"cxtdragover",position:{x:s[0],y:s[1]}}))}else if(n&&t.touches[2]&&o.boxSelectionEnabled())t.preventDefault(),e.data.bgActivePosistion=void 0,this.lastThreeTouch=+new Date,e.touchData.selecting||o.emit({originalEvent:t,type:"boxstart",position:{x:s[0],y:s[1]}}),e.touchData.selecting=!0,e.touchData.didSelect=!0,i[4]=1,i&&0!==i.length&&void 0!==i[0]?(i[2]=(s[0]+s[2]+s[4])/3,i[3]=(s[1]+s[3]+s[5])/3):(i[0]=(s[0]+s[2]+s[4])/3,i[1]=(s[1]+s[3]+s[5])/3,i[2]=(s[0]+s[2]+s[4])/3+1,i[3]=(s[1]+s[3]+s[5])/3+1),e.redrawHint("select",!0),e.redraw();else if(n&&t.touches[1]&&!e.touchData.didSelect&&o.zoomingEnabled()&&o.panningEnabled()&&o.userZoomingEnabled()&&o.userPanningEnabled()){if(t.preventDefault(),e.data.bgActivePosistion=void 0,e.redrawHint("select",!0),ee=e.dragData.touchDragEles){e.redrawHint("drag",!0);for(var j=0;j0&&!e.hoverData.draggingEles&&!e.swipePanning&&null!=e.data.bgActivePosistion&&(e.data.bgActivePosistion=void 0,e.redrawHint("select",!0),e.redraw())}},!1),e.registerBinding(t,"touchcancel",V=function(t){var n=e.touchData.start;e.touchData.capture=!1,n&&n.unactivate()}),e.registerBinding(t,"touchend",F=function(t){var i=e.touchData.start;if(e.touchData.capture){0===t.touches.length&&(e.touchData.capture=!1),t.preventDefault();var a=e.selection;e.swipePanning=!1,e.hoverData.draggingEles=!1;var o,s=e.cy,u=s.zoom(),l=e.touchData.now,c=e.touchData.earlier;if(t.touches[0]){var d=e.projectIntoViewport(t.touches[0].clientX,t.touches[0].clientY);l[0]=d[0],l[1]=d[1]}if(t.touches[1]&&(d=e.projectIntoViewport(t.touches[1].clientX,t.touches[1].clientY),l[2]=d[0],l[3]=d[1]),t.touches[2]&&(d=e.projectIntoViewport(t.touches[2].clientX,t.touches[2].clientY),l[4]=d[0],l[5]=d[1]),i&&i.unactivate(),e.touchData.cxt){if(o={originalEvent:t,type:"cxttapend",position:{x:l[0],y:l[1]}},i?i.emit(o):s.emit(o),!e.touchData.cxtDragged){var f={originalEvent:t,type:"cxttap",position:{x:l[0],y:l[1]}};i?i.emit(f):s.emit(f)}return e.touchData.start&&(e.touchData.start._private.grabbed=!1),e.touchData.cxt=!1,e.touchData.start=null,void e.redraw()}if(!t.touches[2]&&s.boxSelectionEnabled()&&e.touchData.selecting){e.touchData.selecting=!1;var p=s.collection(e.getAllInBox(a[0],a[1],a[2],a[3]));a[0]=void 0,a[1]=void 0,a[2]=void 0,a[3]=void 0,a[4]=0,e.redrawHint("select",!0),s.emit({type:"boxend",originalEvent:t,position:{x:l[0],y:l[1]}}),p.emit("box").stdFilter((function(e){return e.selectable()&&!e.selected()})).select().emit("boxselect"),p.nonempty()&&e.redrawHint("eles",!0),e.redraw()}if(null!=i&&i.unactivate(),t.touches[2])e.data.bgActivePosistion=void 0,e.redrawHint("select",!0);else if(t.touches[1]);else if(t.touches[0]);else if(!t.touches[0]){e.data.bgActivePosistion=void 0,e.redrawHint("select",!0);var v=e.dragData.touchDragEles;if(null!=i){var g=i._private.grabbed;h(v),e.redrawHint("drag",!0),e.redrawHint("eles",!0),g&&(i.emit("freeon"),v.emit("free"),e.dragData.didDrag&&(i.emit("dragfreeon"),v.emit("dragfree"))),r(i,["touchend","tapend","vmouseup","tapdragout"],t,{x:l[0],y:l[1]}),i.unactivate(),e.touchData.start=null}else{var y=e.findNearestElement(l[0],l[1],!0,!0);r(y,["touchend","tapend","vmouseup","tapdragout"],t,{x:l[0],y:l[1]})}var m=e.touchData.startPosition[0]-l[0],b=m*m,x=e.touchData.startPosition[1]-l[1],w=(b+x*x)*u*u;e.touchData.singleTouchMoved||(i||s.$(":selected").unselect(["tapunselect"]),r(i,["tap","vclick"],t,{x:l[0],y:l[1]}),q=!1,t.timeStamp-Y<=s.multiClickDebounceTime()?(W&&clearTimeout(W),q=!0,Y=null,r(i,["dbltap","vdblclick"],t,{x:l[0],y:l[1]})):(W=setTimeout((function(){q||r(i,["onetap","voneclick"],t,{x:l[0],y:l[1]})}),s.multiClickDebounceTime()),Y=t.timeStamp)),null!=i&&!e.dragData.didDrag&&i._private.selectable&&w2){for(var T=[l[0],l[1]],D=Math.pow(T[0]-e,2)+Math.pow(T[1]-t,2),M=1;M0)return v[0]}return null},h=Object.keys(c),f=0;f0?u:Et(i,a,e,t,n,r,o)},checkPoint:function(e,t,n,r,i,a,o){var s=Ft(r,i),u=2*s;if(Dt(e,t,this.points,a,o,r,i-u,[0,-1],n))return!0;if(Dt(e,t,this.points,a,o,r-u,i,[0,-1],n))return!0;var l=r/2+2*n,c=i/2+2*n;return!!Tt(e,t,[a-l,o-c,a-l,o,a+l,o,a+l,o-c])||!!It(e,t,u,u,a+r/2-s,o+i/2-s,n)||!!It(e,t,u,u,a-r/2+s,o+i/2-s,n)}}},registerNodeShapes:function(){var e=this.nodeShapes={},t=this;this.generateEllipse(),this.generatePolygon("triangle",Rt(3,0)),this.generateRoundPolygon("round-triangle",Rt(3,0)),this.generatePolygon("rectangle",Rt(4,0)),e.square=e.rectangle,this.generateRoundRectangle(),this.generateCutRectangle(),this.generateBarrel(),this.generateBottomRoundrectangle();var n=[0,1,1,0,0,-1,-1,0];this.generatePolygon("diamond",n),this.generateRoundPolygon("round-diamond",n),this.generatePolygon("pentagon",Rt(5,0)),this.generateRoundPolygon("round-pentagon",Rt(5,0)),this.generatePolygon("hexagon",Rt(6,0)),this.generateRoundPolygon("round-hexagon",Rt(6,0)),this.generatePolygon("heptagon",Rt(7,0)),this.generateRoundPolygon("round-heptagon",Rt(7,0)),this.generatePolygon("octagon",Rt(8,0)),this.generateRoundPolygon("round-octagon",Rt(8,0));var r=new Array(20),i=Vt(5,0),a=Vt(5,Math.PI/5),o=.5*(3-Math.sqrt(5));o*=1.57;for(var s=0;s=e.deqFastCost*v)break}else if(i){if(f>=e.deqCost*u||f>=e.deqAvgCost*s)break}else if(p>=e.deqNoDrawCost*Jo)break;var g=e.deq(t,d,c);if(!(g.length>0))break;for(var y=0;y0&&(e.onDeqd(t,l),!i&&e.shouldRedraw(t,l,d,c)&&r())}),i(t))}}},ts=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:_e;v(this,e),this.idsByKey=new Le,this.keyForId=new Le,this.cachesByLvl=new Le,this.lvls=[],this.getKey=t,this.doesEleInvalidateKey=n}return y(e,[{key:"getIdsFor",value:function(e){null==e&&Ce("Can not get id list for null key");var t=this.idsByKey,n=this.idsByKey.get(e);return n||(n=new je,t.set(e,n)),n}},{key:"addIdForKey",value:function(e,t){null!=e&&this.getIdsFor(e).add(t)}},{key:"deleteIdForKey",value:function(e,t){null!=e&&this.getIdsFor(e).delete(t)}},{key:"getNumberOfIdsForKey",value:function(e){return null==e?0:this.getIdsFor(e).size}},{key:"updateKeyMappingFor",value:function(e){var t=e.id(),n=this.keyForId.get(t),r=this.getKey(e);this.deleteIdForKey(n,t),this.addIdForKey(r,t),this.keyForId.set(t,r)}},{key:"deleteKeyMappingFor",value:function(e){var t=e.id(),n=this.keyForId.get(t);this.deleteIdForKey(n,t),this.keyForId.delete(t)}},{key:"keyHasChangedFor",value:function(e){var t=e.id();return this.keyForId.get(t)!==this.getKey(e)}},{key:"isInvalid",value:function(e){return this.keyHasChangedFor(e)||this.doesEleInvalidateKey(e)}},{key:"getCachesAt",value:function(e){var t=this.cachesByLvl,n=this.lvls,r=t.get(e);return r||(r=new Le,t.set(e,r),n.push(e)),r}},{key:"getCache",value:function(e,t){return this.getCachesAt(t).get(e)}},{key:"get",value:function(e,t){var n=this.getKey(e),r=this.getCache(n,t);return null!=r&&this.updateKeyMappingFor(e),r}},{key:"getForCachedKey",value:function(e,t){var n=this.keyForId.get(e.id());return this.getCache(n,t)}},{key:"hasCache",value:function(e,t){return this.getCachesAt(t).has(e)}},{key:"has",value:function(e,t){var n=this.getKey(e);return this.hasCache(n,t)}},{key:"setCache",value:function(e,t,n){n.key=e,this.getCachesAt(t).set(e,n)}},{key:"set",value:function(e,t,n){var r=this.getKey(e);this.setCache(r,t,n),this.updateKeyMappingFor(e)}},{key:"deleteCache",value:function(e,t){this.getCachesAt(t).delete(e)}},{key:"delete",value:function(e,t){var n=this.getKey(e);this.deleteCache(n,t)}},{key:"invalidateKey",value:function(e){var t=this;this.lvls.forEach((function(n){return t.deleteCache(e,n)}))}},{key:"invalidate",value:function(e){var t=e.id(),n=this.keyForId.get(t);this.deleteKeyMappingFor(e);var r=this.doesEleInvalidateKey(e);return r&&this.invalidateKey(n),r||0===this.getNumberOfIdsForKey(n)}}]),e}(),ns={dequeue:"dequeue",downscale:"downscale",highQuality:"highQuality"},rs=Ie({getKey:null,doesEleInvalidateKey:_e,drawElement:null,getBoundingBox:null,getRotationPoint:null,getRotationOffset:null,isVisible:we,allowEdgeTxrCaching:!0,allowParentTxrCaching:!0}),is=function(e,t){var n=this;n.renderer=e,n.onDequeues=[];var r=rs(t);Q(n,r),n.lookup=new ts(r.getKey,r.doesEleInvalidateKey),n.setupDequeueing()},as=is.prototype;as.reasons=ns,as.getTextureQueue=function(e){var t=this;return t.eleImgCaches=t.eleImgCaches||{},t.eleImgCaches[e]=t.eleImgCaches[e]||[]},as.getRetiredTextureQueue=function(e){var t=this.eleImgCaches.retired=this.eleImgCaches.retired||{};return t[e]=t[e]||[]},as.getElementQueue=function(){return this.eleCacheQueue=this.eleCacheQueue||new c.default((function(e,t){return t.reqs-e.reqs}))},as.getElementKeyToQueue=function(){return this.eleKeyToCacheQueue=this.eleKeyToCacheQueue||{}},as.getElement=function(e,t,n,r,i){var a=this,o=this.renderer,s=o.cy.zoom(),u=this.lookup;if(!t||0===t.w||0===t.h||isNaN(t.w)||isNaN(t.h)||!e.visible()||e.removed())return null;if(!a.allowEdgeTxrCaching&&e.isEdge()||!a.allowParentTxrCaching&&e.isParent())return null;if(null==r&&(r=Math.ceil(ot(s*n))),r<-4)r=-4;else if(s>=7.99||r>3)return null;var l=Math.pow(2,r),c=t.h*l,d=t.w*l,h=o.eleTextBiggerThanMin(e,l);if(!this.isVisible(e,h))return null;var f,p=u.get(e,r);if(p&&p.invalidated&&(p.invalidated=!1,p.texture.invalidatedWidth-=p.width),p)return p;if(f=c<=25?25:c<=50?50:50*Math.ceil(c/50),c>1024||d>1024)return null;var v=a.getTextureQueue(f),g=v[v.length-2],y=function(){return a.recycleTexture(f,d)||a.addTexture(f,d)};g||(g=v[v.length-1]),g||(g=y()),g.width-g.usedWidthr;P--)C=a.getElement(e,t,n,P,ns.downscale);S()}else{var T;if(!x&&!w&&!_)for(var D=r-1;D>=-4;D--){var M=u.get(e,D);if(M){T=M;break}}if(b(T))return a.queueElement(e,r),T;g.context.translate(g.usedWidth,0),g.context.scale(l,l),this.drawElement(g.context,e,t,h,!1),g.context.scale(1/l,1/l),g.context.translate(-g.usedWidth,0)}return p={x:g.usedWidth,texture:g,level:r,scale:l,width:d,height:c,scaledLabelShown:h},g.usedWidth+=Math.ceil(d+8),g.eleCaches.push(p),u.set(e,r,p),a.checkTextureFullness(g),p},as.invalidateElements=function(e){for(var t=0;t=.2*e.width&&this.retireTexture(e)},as.checkTextureFullness=function(e){var t=this.getTextureQueue(e.height);e.usedWidth/e.width>.8&&e.fullnessChecks>=10?Oe(t,e):e.fullnessChecks++},as.retireTexture=function(e){var t=e.height,n=this.getTextureQueue(t),r=this.lookup;Oe(n,e),e.retired=!0;for(var i=e.eleCaches,a=0;a=t)return a.retired=!1,a.usedWidth=0,a.invalidatedWidth=0,a.fullnessChecks=0,Ae(a.eleCaches),a.context.setTransform(1,0,0,1,0,0),a.context.clearRect(0,0,a.width,a.height),Oe(r,a),n.push(a),a}},as.queueElement=function(e,t){var n=this.getElementQueue(),r=this.getElementKeyToQueue(),i=this.getKey(e),a=r[i];if(a)a.level=Math.max(a.level,t),a.eles.merge(e),a.reqs++,n.updateItem(a);else{var o={eles:e.spawn().merge(e),level:t,reqs:1,key:i};n.push(o),r[i]=o}},as.dequeue=function(e){for(var t=this,n=t.getElementQueue(),r=t.getElementKeyToQueue(),i=[],a=t.lookup,o=0;o<1&&n.size()>0;o++){var s=n.pop(),u=s.key,l=s.eles[0],c=a.hasCache(l,s.level);if(r[u]=null,!c){i.push(s);var d=t.getBoundingBox(l);t.getElement(l,d,e,s.level,ns.dequeue)}}return i},as.removeFromQueue=function(e){var t=this.getElementQueue(),n=this.getElementKeyToQueue(),r=this.getKey(e),i=n[r];null!=i&&(1===i.eles.length?(i.reqs=xe,t.updateItem(i),t.pop(),n[r]=null):i.eles.unmerge(e))},as.onDequeue=function(e){this.onDequeues.push(e)},as.offDequeue=function(e){Oe(this.onDequeues,e)},as.setupDequeueing=es({deqRedrawThreshold:100,deqCost:.15,deqAvgCost:.1,deqNoDrawCost:.9,deqFastCost:.9,deq:function(e,t,n){return e.dequeue(t,n)},onDeqd:function(e,t){for(var n=0;n=3.99||n>2)return null;r.validateLayersElesOrdering(n,e);var o,s,u=r.layersByLevel,l=Math.pow(2,n),c=u[n]=u[n]||[];if(r.levelIsComplete(n,e))return c;!function(){var t=function(t){if(r.validateLayersElesOrdering(t,e),r.levelIsComplete(t,e))return s=u[t],!0},i=function(e){if(!s)for(var r=n+e;-4<=r&&r<=2&&!t(r);r+=e);};i(1),i(-1);for(var a=c.length-1;a>=0;a--){var o=c[a];o.invalid&&Oe(c,o)}}();var d=function(t){var i=(t=t||{}).after;if(function(){if(!o){o=pt();for(var t=0;t16e6)return null;var a=r.makeLayer(o,n);if(null!=i){var s=c.indexOf(i)+1;c.splice(s,0,a)}else(void 0===t.insert||t.insert)&&c.unshift(a);return a};if(r.skipping&&!a)return null;for(var h=null,f=e.length/1,p=!a,v=0;v=f||!_t(h.bb,g.boundingBox()))&&!(h=d({insert:!0,after:h})))return null;s||p?r.queueLayer(h,g):r.drawEleInLayer(h,g,n,t),h.eles.push(g),m[n]=h}}return s||(p?null:c)},ss.getEleLevelForLayerLevel=function(e,t){return e},ss.drawEleInLayer=function(e,t,n,r){var i=this.renderer,a=e.context,o=t.boundingBox();0!==o.w&&0!==o.h&&t.visible()&&(n=this.getEleLevelForLayerLevel(n,r),i.setImgSmoothing(a,!1),i.drawCachedElement(a,t,null,null,n,!0),i.setImgSmoothing(a,!0))},ss.levelIsComplete=function(e,t){var n=this.layersByLevel[e];if(!n||0===n.length)return!1;for(var r=0,i=0;i0)return!1;if(a.invalid)return!1;r+=a.eles.length}return r===t.length},ss.validateLayersElesOrdering=function(e,t){var n=this.layersByLevel[e];if(n)for(var r=0;r0){e=!0;break}}return e},ss.invalidateElements=function(e){var t=this;0!==e.length&&(t.lastInvalidationTime=oe(),0!==e.length&&t.haveLayers()&&t.updateElementsInLayers(e,(function(e,n,r){t.invalidateLayer(e)})))},ss.invalidateLayer=function(e){if(this.lastInvalidationTime=oe(),!e.invalid){var t=e.level,n=e.eles,r=this.layersByLevel[t];Oe(r,e),e.elesQueue=[],e.invalid=!0,e.replacement&&(e.replacement.invalid=!0);for(var i=0;i3&&void 0!==arguments[3])||arguments[3],i=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],a=!(arguments.length>5&&void 0!==arguments[5])||arguments[5],o=this,s=t._private.rscratch;if((!a||t.visible())&&!s.badLine&&null!=s.allpts&&!isNaN(s.allpts[0])){var u;n&&(u=n,e.translate(-u.x1,-u.y1));var l=a?t.pstyle("opacity").value:1,c=a?t.pstyle("line-opacity").value:1,d=t.pstyle("curve-style").value,h=t.pstyle("line-style").value,f=t.pstyle("width").pfValue,p=t.pstyle("line-cap").value,v=l*c,g=l*c,y=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:v;"straight-triangle"===d?(o.eleStrokeStyle(e,t,n),o.drawEdgeTrianglePath(t,e,s.allpts)):(e.lineWidth=f,e.lineCap=p,o.eleStrokeStyle(e,t,n),o.drawEdgePath(t,e,s.allpts,h),e.lineCap="butt")},m=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:g;o.drawArrowheads(e,t,n)};if(e.lineJoin="round","yes"===t.pstyle("ghost").value){var b=t.pstyle("ghost-offset-x").pfValue,x=t.pstyle("ghost-offset-y").pfValue,w=t.pstyle("ghost-opacity").value,_=v*w;e.translate(b,x),y(_),m(_),e.translate(-b,-x)}i&&o.drawEdgeUnderlay(e,t),y(),m(),i&&o.drawEdgeOverlay(e,t),o.drawElementText(e,t,null,r),n&&e.translate(u.x1,u.y1)}}},Cs=function(e){if(!["overlay","underlay"].includes(e))throw new Error("Invalid state");return function(t,n){if(n.visible()){var r=n.pstyle("".concat(e,"-opacity")).value;if(0!==r){var i=this,a=i.usePaths(),o=n._private.rscratch,s=2*n.pstyle("".concat(e,"-padding")).pfValue,u=n.pstyle("".concat(e,"-color")).value;t.lineWidth=s,"self"!==o.edgeType||a?t.lineCap="round":t.lineCap="butt",i.colorStrokeStyle(t,u[0],u[1],u[2],r),i.drawEdgePath(n,t,o.allpts,"solid")}}}};ks.drawEdgeOverlay=Cs("overlay"),ks.drawEdgeUnderlay=Cs("underlay"),ks.drawEdgePath=function(e,t,n,r){var i,a=e._private.rscratch,o=t,s=!1,u=this.usePaths(),l=e.pstyle("line-dash-pattern").pfValue,c=e.pstyle("line-dash-offset").pfValue;if(u){var d=n.join("$");a.pathCacheKey&&a.pathCacheKey===d?(i=t=a.pathCache,s=!0):(i=t=new Path2D,a.pathCacheKey=d,a.pathCache=i)}if(o.setLineDash)switch(r){case"dotted":o.setLineDash([1,1]);break;case"dashed":o.setLineDash(l),o.lineDashOffset=c;break;case"solid":o.setLineDash([])}if(!s&&!a.badLine)switch(t.beginPath&&t.beginPath(),t.moveTo(n[0],n[1]),a.edgeType){case"bezier":case"self":case"compound":case"multibezier":for(var h=2;h+35&&void 0!==arguments[5]?arguments[5]:5,o=arguments.length>6?arguments[6]:void 0;e.beginPath(),e.moveTo(t+a,n),e.lineTo(t+r-a,n),e.quadraticCurveTo(t+r,n,t+r,n+a),e.lineTo(t+r,n+i-a),e.quadraticCurveTo(t+r,n+i,t+r-a,n+i),e.lineTo(t+a,n+i),e.quadraticCurveTo(t,n+i,t,n+i-a),e.lineTo(t,n+a),e.quadraticCurveTo(t,n,t+a,n),e.closePath(),o?e.stroke():e.fill()}Ps.eleTextBiggerThanMin=function(e,t){if(!t){var n=e.cy().zoom(),r=this.getPixelRatio(),i=Math.ceil(ot(n*r));t=Math.pow(2,i)}return!(e.pstyle("font-size").pfValue*t5&&void 0!==arguments[5])||arguments[5],o=this;if(null==r){if(a&&!o.eleTextBiggerThanMin(t))return}else if(!1===r)return;if(t.isNode()){var s=t.pstyle("label");if(!s||!s.value)return;var u=o.getLabelJustification(t);e.textAlign=u,e.textBaseline="bottom"}else{var l=t.element()._private.rscratch.badLine,c=t.pstyle("label"),d=t.pstyle("source-label"),h=t.pstyle("target-label");if(l||(!c||!c.value)&&(!d||!d.value)&&(!h||!h.value))return;e.textAlign="center",e.textBaseline="bottom"}var f,p=!n;n&&(f=n,e.translate(-f.x1,-f.y1)),null==i?(o.drawText(e,t,null,p,a),t.isEdge()&&(o.drawText(e,t,"source",p,a),o.drawText(e,t,"target",p,a))):o.drawText(e,t,i,p,a),n&&e.translate(f.x1,f.y1)},Ps.getFontCache=function(e){var t;this.fontCaches=this.fontCaches||[];for(var n=0;n2&&void 0!==arguments[2])||arguments[2],r=t.pstyle("font-style").strValue,i=t.pstyle("font-size").pfValue+"px",a=t.pstyle("font-family").strValue,o=t.pstyle("font-weight").strValue,s=n?t.effectiveOpacity()*t.pstyle("text-opacity").value:1,u=t.pstyle("text-outline-opacity").value*s,l=t.pstyle("color").value,c=t.pstyle("text-outline-color").value;e.font=r+" "+o+" "+i+" "+a,e.lineJoin="round",this.colorFillStyle(e,l[0],l[1],l[2],s),this.colorStrokeStyle(e,c[0],c[1],c[2],u)},Ps.getTextAngle=function(e,t){var n=e._private.rscratch,r=t?t+"-":"",i=e.pstyle(r+"text-rotation"),a=ze(n,"labelAngle",t);return"autorotate"===i.strValue?e.isEdge()?a:0:"none"===i.strValue?0:i.pfValue},Ps.drawText=function(e,t,n){var r=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],i=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],a=t._private.rscratch,o=i?t.effectiveOpacity():1;if(!i||0!==o&&0!==t.pstyle("text-opacity").value){"main"===n&&(n=null);var s,u,l=ze(a,"labelX",n),c=ze(a,"labelY",n),d=this.getLabelText(t,n);if(null!=d&&""!==d&&!isNaN(l)&&!isNaN(c)){this.setupTextStyle(e,t,i);var h,f=n?n+"-":"",p=ze(a,"labelWidth",n),v=ze(a,"labelHeight",n),g=t.pstyle(f+"text-margin-x").pfValue,y=t.pstyle(f+"text-margin-y").pfValue,m=t.isEdge(),b=t.pstyle("text-halign").value,x=t.pstyle("text-valign").value;switch(m&&(b="center",x="center"),l+=g,c+=y,0!==(h=r?this.getTextAngle(t,n):0)&&(s=l,u=c,e.translate(s,u),e.rotate(h),l=0,c=0),x){case"top":break;case"center":c+=v/2;break;case"bottom":c+=v}var w=t.pstyle("text-background-opacity").value,_=t.pstyle("text-border-opacity").value,E=t.pstyle("text-border-width").pfValue,k=t.pstyle("text-background-padding").pfValue,C=0===t.pstyle("text-background-shape").strValue.indexOf("round");if(w>0||E>0&&_>0){var S=l-k;switch(b){case"left":S-=p;break;case"center":S-=p/2}var P=c-v-k,T=p+2*k,D=v+2*k;if(w>0){var M=e.fillStyle,B=t.pstyle("text-background-color").value;e.fillStyle="rgba("+B[0]+","+B[1]+","+B[2]+","+w*o+")",C?Ts(e,S,P,T,D,2):e.fillRect(S,P,T,D),e.fillStyle=M}if(E>0&&_>0){var I=e.strokeStyle,O=e.lineWidth,A=t.pstyle("text-border-color").value,z=t.pstyle("text-border-style").value;if(e.strokeStyle="rgba("+A[0]+","+A[1]+","+A[2]+","+_*o+")",e.lineWidth=E,e.setLineDash)switch(z){case"dotted":e.setLineDash([1,1]);break;case"dashed":e.setLineDash([4,2]);break;case"double":e.lineWidth=E/4,e.setLineDash([]);break;case"solid":e.setLineDash([])}if(C?Ts(e,S,P,T,D,2,"stroke"):e.strokeRect(S,P,T,D),"double"===z){var N=E/2;C?Ts(e,S+N,P+N,T-2*N,D-2*N,2,"stroke"):e.strokeRect(S+N,P+N,T-2*N,D-2*N)}e.setLineDash&&e.setLineDash([]),e.lineWidth=O,e.strokeStyle=I}}var L=2*t.pstyle("text-outline-width").pfValue;if(L>0&&(e.lineWidth=L),"wrap"===t.pstyle("text-wrap").value){var R=ze(a,"labelWrapCachedLines",n),j=ze(a,"labelLineHeight",n),V=p/2,F=this.getLabelJustification(t);switch("auto"===F||("left"===b?"left"===F?l+=-p:"center"===F&&(l+=-V):"center"===b?"left"===F?l+=-V:"right"===F&&(l+=V):"right"===b&&("center"===F?l+=V:"right"===F&&(l+=p))),x){case"top":case"center":case"bottom":c-=(R.length-1)*j}for(var q=0;q0&&e.strokeText(R[q],l,c),e.fillText(R[q],l,c),c+=j}else L>0&&e.strokeText(d,l,c),e.fillText(d,l,c);0!==h&&(e.rotate(-h),e.translate(-s,-u))}}};var Ds={drawNode:function(e,t,n){var r,i,a=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],o=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],s=!(arguments.length>5&&void 0!==arguments[5])||arguments[5],u=this,l=t._private,c=l.rscratch,d=t.position();if(I(d.x)&&I(d.y)&&(!s||t.visible())){var h,f,p=s?t.effectiveOpacity():1,v=u.usePaths(),g=!1,y=t.padding();r=t.width()+2*y,i=t.height()+2*y,n&&(f=n,e.translate(-f.x1,-f.y1));for(var m=t.pstyle("background-image").value,b=new Array(m.length),x=new Array(m.length),w=0,_=0;_0&&void 0!==arguments[0]?arguments[0]:P;u.eleFillStyle(e,t,n)},R=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:M;u.colorStrokeStyle(e,T[0],T[1],T[2],t)},j=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:z;u.colorStrokeStyle(e,O[0],O[1],O[2],t)},V=function(e,t,n,r){var i,a=u.nodePathCache=u.nodePathCache||[],o=ve("polygon"===n?n+","+r.join(","):n,""+t,""+e),s=a[o],l=!1;return null!=s?(i=s,l=!0,c.pathCache=i):(i=new Path2D,a[o]=c.pathCache=i),{path:i,cacheHit:l}},F=t.pstyle("shape").strValue,q=t.pstyle("shape-polygon-points").pfValue;if(v){e.translate(d.x,d.y);var W=V(r,i,F,q);h=W.path,g=W.cacheHit}var Y=function(){if(!g){var n=d;v&&(n={x:0,y:0}),u.nodeShapes[u.getNodeShape(t)].draw(h||e,n.x,n.y,r,i)}v?e.fill(h):e.fill()},X=function(){for(var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:p,r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=l.backgrounding,a=0,o=0;o0&&void 0!==arguments[0]&&arguments[0],a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:p;u.hasPie(t)&&(u.drawPie(e,t,a),n&&(v||u.nodeShapes[u.getNodeShape(t)].draw(e,d.x,d.y,r,i)))},U=function(){var t=(C>0?C:-C)*(arguments.length>0&&void 0!==arguments[0]?arguments[0]:p),n=C>0?0:255;0!==C&&(u.colorFillStyle(e,n,n,n,t),v?e.fill(h):e.fill())},Z=function(){if(S>0){if(e.lineWidth=S,e.lineCap="butt",e.setLineDash)switch(D){case"dotted":e.setLineDash([1,1]);break;case"dashed":e.setLineDash([4,2]);break;case"solid":case"double":e.setLineDash([])}if(v?e.stroke(h):e.stroke(),"double"===D){e.lineWidth=S/3;var t=e.globalCompositeOperation;e.globalCompositeOperation="destination-out",v?e.stroke(h):e.stroke(),e.globalCompositeOperation=t}e.setLineDash&&e.setLineDash([])}},K=function(){if(B>0){if(e.lineWidth=B,e.lineCap="butt",e.setLineDash)switch(A){case"dotted":e.setLineDash([1,1]);break;case"dashed":e.setLineDash([4,2]);break;case"solid":case"double":e.setLineDash([])}var n=d;v&&(n={x:0,y:0});var a,o=u.getNodeShape(t),s=(r+S+(B+N))/r,l=(i+S+(B+N))/i,c=r*s,h=i*l,f=u.nodeShapes[o].points;if(v&&(a=V(c,h,o,f).path),"ellipse"===o)u.drawEllipsePath(a||e,n.x,n.y,c,h);else if(["round-diamond","round-heptagon","round-hexagon","round-octagon","round-pentagon","round-polygon","round-triangle","round-tag"].includes(o)){var p=0,g=0,y=0;"round-diamond"===o?p=1.4*(S+N+B):"round-heptagon"===o?(p=1.075*(S+N+B),y=-(S/2+N+B)/35):"round-hexagon"===o?p=1.12*(S+N+B):"round-pentagon"===o?(p=1.13*(S+N+B),y=-(S/2+N+B)/15):"round-tag"===o?(p=1.12*(S+N+B),g=.07*(S/2+B+N)):"round-triangle"===o&&(p=(S+N+B)*(Math.PI/2),y=-(S+N/2+B)/Math.PI),0!==p&&(s=(r+p)/r,l=(i+p)/i),u.drawRoundPolygonPath(a||e,n.x+g,n.y+y,r*s,i*l,f)}else["roundrectangle","round-rectangle"].includes(o)?u.drawRoundRectanglePath(a||e,n.x,n.y,c,h):["cutrectangle","cut-rectangle"].includes(o)?u.drawCutRectanglePath(a||e,n.x,n.y,c,h):["bottomroundrectangle","bottom-round-rectangle"].includes(o)?u.drawBottomRoundRectanglePath(a||e,n.x,n.y,c,h):"barrel"===o?u.drawBarrelPath(a||e,n.x,n.y,c,h):o.startsWith("polygon")||["rhomboid","right-rhomboid","round-tag","tag","vee"].includes(o)?(f=Mt(Bt(f,(S+B+N)/r)),u.drawPolygonPath(a||e,n.x,n.y,r,i,f)):(f=Mt(Bt(f,-(S+B+N)/r)),u.drawPolygonPath(a||e,n.x,n.y,r,i,f));if(v?e.stroke(a):e.stroke(),"double"===A){e.lineWidth=S/3;var m=e.globalCompositeOperation;e.globalCompositeOperation="destination-out",v?e.stroke(a):e.stroke(),e.globalCompositeOperation=m}e.setLineDash&&e.setLineDash([])}};if("yes"===t.pstyle("ghost").value){var G=t.pstyle("ghost-offset-x").pfValue,$=t.pstyle("ghost-offset-y").pfValue,Q=t.pstyle("ghost-opacity").value,J=Q*p;e.translate(G,$),j(),K(),L(Q*P),Y(),X(J,!0),R(Q*M),Z(),H(0!==C||0!==S),X(J,!1),U(J),e.translate(-G,-$)}v&&e.translate(-d.x,-d.y),o&&u.drawNodeUnderlay(e,t,d,r,i),v&&e.translate(d.x,d.y),j(),K(),L(),Y(),X(p,!0),R(),Z(),H(0!==C||0!==S),X(p,!1),U(),v&&e.translate(-d.x,-d.y),u.drawElementText(e,t,null,a),o&&u.drawNodeOverlay(e,t,d,r,i),n&&e.translate(f.x1,f.y1)}}},Ms=function(e){if(!["overlay","underlay"].includes(e))throw new Error("Invalid state");return function(t,n,r,i,a){if(n.visible()){var o=n.pstyle("".concat(e,"-padding")).pfValue,s=n.pstyle("".concat(e,"-opacity")).value,u=n.pstyle("".concat(e,"-color")).value,l=n.pstyle("".concat(e,"-shape")).value;if(s>0){if(r=r||n.position(),null==i||null==a){var c=n.padding();i=n.width()+2*c,a=n.height()+2*c}this.colorFillStyle(t,u[0],u[1],u[2],s),this.nodeShapes[l].draw(t,r.x,r.y,i+2*o,a+2*o),t.fill()}}}};Ds.drawNodeOverlay=Ms("overlay"),Ds.drawNodeUnderlay=Ms("underlay"),Ds.hasPie=function(e){return(e=e[0])._private.hasPie},Ds.drawPie=function(e,t,n,r){t=t[0],r=r||t.position();var i=t.cy().style(),a=t.pstyle("pie-size"),o=r.x,s=r.y,u=t.width(),l=t.height(),c=Math.min(u,l)/2,d=0;this.usePaths()&&(o=0,s=0),"%"===a.units?c*=a.pfValue:void 0!==a.pfValue&&(c=a.pfValue/2);for(var h=1;h<=i.pieBackgroundN;h++){var f=t.pstyle("pie-"+h+"-background-size").value,p=t.pstyle("pie-"+h+"-background-color").value,v=t.pstyle("pie-"+h+"-background-opacity").value*n,g=f/100;g+d>1&&(g=1-d);var y=1.5*Math.PI+2*Math.PI*d,m=y+2*Math.PI*g;0===f||d>=1||d+g>1||(e.beginPath(),e.moveTo(o,s),e.arc(o,s,c,y,m),e.closePath(),this.colorFillStyle(e,p[0],p[1],p[2],v),e.fill(),d+=g)}};for(var Bs={getPixelRatio:function(){var e=this.data.contexts[0];if(null!=this.forcedPixelRatio)return this.forcedPixelRatio;var t=e.backingStorePixelRatio||e.webkitBackingStorePixelRatio||e.mozBackingStorePixelRatio||e.msBackingStorePixelRatio||e.oBackingStorePixelRatio||e.backingStorePixelRatio||1;return(window.devicePixelRatio||1)/t},paintCache:function(e){for(var t,n=this.paintCaches=this.paintCaches||[],r=!0,i=0;io.minMbLowQualFrames&&(o.motionBlurPxRatio=o.mbPxRBlurry)),o.clearingMotionBlur&&(o.motionBlurPxRatio=1),o.textureDrawLastFrame&&!d&&(c[o.NODE]=!0,c[o.SELECT_BOX]=!0);var m=u.style(),b=u.zoom(),x=void 0!==i?i:b,w=u.pan(),_={x:w.x,y:w.y},E={zoom:b,pan:{x:w.x,y:w.y}},k=o.prevViewport;void 0===k||E.zoom!==k.zoom||E.pan.x!==k.pan.x||E.pan.y!==k.pan.y||v&&!p||(o.motionBlurPxRatio=1),a&&(_=a),x*=s,_.x*=s,_.y*=s;var C=o.getCachedZSortedEles();function S(e,t,n,r,i){var a=e.globalCompositeOperation;e.globalCompositeOperation="destination-out",o.colorFillStyle(e,255,255,255,o.motionBlurTransparency),e.fillRect(t,n,r,i),e.globalCompositeOperation=a}function P(e,r){var s,u,c,d;o.clearingMotionBlur||e!==l.bufferContexts[o.MOTIONBLUR_BUFFER_NODE]&&e!==l.bufferContexts[o.MOTIONBLUR_BUFFER_DRAG]?(s=_,u=x,c=o.canvasWidth,d=o.canvasHeight):(s={x:w.x*f,y:w.y*f},u=b*f,c=o.canvasWidth*f,d=o.canvasHeight*f),e.setTransform(1,0,0,1,0,0),"motionBlur"===r?S(e,0,0,c,d):t||void 0!==r&&!r||e.clearRect(0,0,c,d),n||(e.translate(s.x,s.y),e.scale(u,u)),a&&e.translate(a.x,a.y),i&&e.scale(i,i)}if(d||(o.textureDrawLastFrame=!1),d){if(o.textureDrawLastFrame=!0,!o.textureCache){o.textureCache={},o.textureCache.bb=u.mutableElements().boundingBox(),o.textureCache.texture=o.data.bufferCanvases[o.TEXTURE_BUFFER];var T=o.data.bufferContexts[o.TEXTURE_BUFFER];T.setTransform(1,0,0,1,0,0),T.clearRect(0,0,o.canvasWidth*o.textureMult,o.canvasHeight*o.textureMult),o.render({forcedContext:T,drawOnlyNodeLayer:!0,forcedPxRatio:s*o.textureMult}),(E=o.textureCache.viewport={zoom:u.zoom(),pan:u.pan(),width:o.canvasWidth,height:o.canvasHeight}).mpan={x:(0-E.pan.x)/E.zoom,y:(0-E.pan.y)/E.zoom}}c[o.DRAG]=!1,c[o.NODE]=!1;var D=l.contexts[o.NODE],M=o.textureCache.texture;E=o.textureCache.viewport,D.setTransform(1,0,0,1,0,0),h?S(D,0,0,E.width,E.height):D.clearRect(0,0,E.width,E.height);var B=m.core("outside-texture-bg-color").value,I=m.core("outside-texture-bg-opacity").value;o.colorFillStyle(D,B[0],B[1],B[2],I),D.fillRect(0,0,E.width,E.height),b=u.zoom(),P(D,!1),D.clearRect(E.mpan.x,E.mpan.y,E.width/E.zoom/s,E.height/E.zoom/s),D.drawImage(M,E.mpan.x,E.mpan.y,E.width/E.zoom/s,E.height/E.zoom/s)}else o.textureOnViewport&&!t&&(o.textureCache=null);var O=u.extent(),A=o.pinching||o.hoverData.dragging||o.swipePanning||o.data.wheelZooming||o.hoverData.draggingEles||o.cy.animated(),z=o.hideEdgesOnViewport&&A,N=[];if(N[o.NODE]=!c[o.NODE]&&h&&!o.clearedForMotionBlur[o.NODE]||o.clearingMotionBlur,N[o.NODE]&&(o.clearedForMotionBlur[o.NODE]=!0),N[o.DRAG]=!c[o.DRAG]&&h&&!o.clearedForMotionBlur[o.DRAG]||o.clearingMotionBlur,N[o.DRAG]&&(o.clearedForMotionBlur[o.DRAG]=!0),c[o.NODE]||n||r||N[o.NODE]){var L=h&&!N[o.NODE]&&1!==f;P(D=t||(L?o.data.bufferContexts[o.MOTIONBLUR_BUFFER_NODE]:l.contexts[o.NODE]),h&&!L?"motionBlur":void 0),z?o.drawCachedNodes(D,C.nondrag,s,O):o.drawLayeredElements(D,C.nondrag,s,O),o.debug&&o.drawDebugPoints(D,C.nondrag),n||h||(c[o.NODE]=!1)}if(!r&&(c[o.DRAG]||n||N[o.DRAG])&&(L=h&&!N[o.DRAG]&&1!==f,P(D=t||(L?o.data.bufferContexts[o.MOTIONBLUR_BUFFER_DRAG]:l.contexts[o.DRAG]),h&&!L?"motionBlur":void 0),z?o.drawCachedNodes(D,C.drag,s,O):o.drawCachedElements(D,C.drag,s,O),o.debug&&o.drawDebugPoints(D,C.drag),n||h||(c[o.DRAG]=!1)),o.showFps||!r&&c[o.SELECT_BOX]&&!n){if(P(D=t||l.contexts[o.SELECT_BOX]),1==o.selection[4]&&(o.hoverData.selecting||o.touchData.selecting)){b=o.cy.zoom();var R=m.core("selection-box-border-width").value/b;D.lineWidth=R,D.fillStyle="rgba("+m.core("selection-box-color").value[0]+","+m.core("selection-box-color").value[1]+","+m.core("selection-box-color").value[2]+","+m.core("selection-box-opacity").value+")",D.fillRect(o.selection[0],o.selection[1],o.selection[2]-o.selection[0],o.selection[3]-o.selection[1]),R>0&&(D.strokeStyle="rgba("+m.core("selection-box-border-color").value[0]+","+m.core("selection-box-border-color").value[1]+","+m.core("selection-box-border-color").value[2]+","+m.core("selection-box-opacity").value+")",D.strokeRect(o.selection[0],o.selection[1],o.selection[2]-o.selection[0],o.selection[3]-o.selection[1]))}if(l.bgActivePosistion&&!o.hoverData.selecting){b=o.cy.zoom();var j=l.bgActivePosistion;D.fillStyle="rgba("+m.core("active-bg-color").value[0]+","+m.core("active-bg-color").value[1]+","+m.core("active-bg-color").value[2]+","+m.core("active-bg-opacity").value+")",D.beginPath(),D.arc(j.x,j.y,m.core("active-bg-size").pfValue/b,0,2*Math.PI),D.fill()}var V=o.lastRedrawTime;if(o.showFps&&V){V=Math.round(V);var F=Math.round(1e3/V);D.setTransform(1,0,0,1,0,0),D.fillStyle="rgba(255, 0, 0, 0.75)",D.strokeStyle="rgba(255, 0, 0, 0.75)",D.lineWidth=1,D.fillText("1 frame = "+V+" ms = "+F+" fps",0,20),D.strokeRect(0,30,250,20),D.fillRect(0,30,250*Math.min(F/60,1),20)}n||(c[o.SELECT_BOX]=!1)}if(h&&1!==f){var q=l.contexts[o.NODE],W=o.data.bufferCanvases[o.MOTIONBLUR_BUFFER_NODE],Y=l.contexts[o.DRAG],X=o.data.bufferCanvases[o.MOTIONBLUR_BUFFER_DRAG],H=function(e,t,n){e.setTransform(1,0,0,1,0,0),n||!y?e.clearRect(0,0,o.canvasWidth,o.canvasHeight):S(e,0,0,o.canvasWidth,o.canvasHeight);var r=f;e.drawImage(t,0,0,o.canvasWidth*r,o.canvasHeight*r,0,0,o.canvasWidth,o.canvasHeight)};(c[o.NODE]||N[o.NODE])&&(H(q,W,N[o.NODE]),c[o.NODE]=!1),(c[o.DRAG]||N[o.DRAG])&&(H(Y,X,N[o.DRAG]),c[o.DRAG]=!1)}o.prevViewport=E,o.clearingMotionBlur&&(o.clearingMotionBlur=!1,o.motionBlurCleared=!0,o.motionBlur=!0),h&&(o.motionBlurTimeout=setTimeout((function(){o.motionBlurTimeout=null,o.clearedForMotionBlur[o.NODE]=!1,o.clearedForMotionBlur[o.DRAG]=!1,o.motionBlur=!1,o.clearingMotionBlur=!d,o.mbFrames=0,c[o.NODE]=!0,c[o.DRAG]=!0,o.redraw()}),100)),t||u.emit("render")}},Is={drawPolygonPath:function(e,t,n,r,i,a){var o=r/2,s=i/2;e.beginPath&&e.beginPath(),e.moveTo(t+o*a[0],n+s*a[1]);for(var u=1;u0&&a>0){h.clearRect(0,0,i,a),h.globalCompositeOperation="source-over";var f=this.getCachedZSortedEles();if(e.full)h.translate(-n.x1*u,-n.y1*u),h.scale(u,u),this.drawElements(h,f),h.scale(1/u,1/u),h.translate(n.x1*u,n.y1*u);else{var p=t.pan(),v={x:p.x*u,y:p.y*u};u*=t.zoom(),h.translate(v.x,v.y),h.scale(u,u),this.drawElements(h,f),h.scale(1/u,1/u),h.translate(-v.x,-v.y)}e.bg&&(h.globalCompositeOperation="destination-over",h.fillStyle=e.bg,h.rect(0,0,i,a),h.fill())}return d},js.png=function(e){return Fs(e,this.bufferCanvasImage(e),"image/png")},js.jpg=function(e){return Fs(e,this.bufferCanvasImage(e),"image/jpeg")};var qs=Ys,Ws=Ys.prototype;function Ys(e){var t=this;t.data={canvases:new Array(Ws.CANVAS_LAYERS),contexts:new Array(Ws.CANVAS_LAYERS),canvasNeedsRedraw:new Array(Ws.CANVAS_LAYERS),bufferCanvases:new Array(Ws.BUFFER_COUNT),bufferContexts:new Array(Ws.CANVAS_LAYERS)};var n="-webkit-tap-highlight-color",r="rgba(0,0,0,0)";t.data.canvasContainer=document.createElement("div");var i=t.data.canvasContainer.style;t.data.canvasContainer.style[n]=r,i.position="relative",i.zIndex="0",i.overflow="hidden";var a=e.cy.container();a.appendChild(t.data.canvasContainer),a.style[n]=r;var o={"-webkit-user-select":"none","-moz-user-select":"-moz-none","user-select":"none","-webkit-tap-highlight-color":"rgba(0,0,0,0)","outline-style":"none"};_&&_.userAgent.match(/msie|trident|edge/i)&&(o["-ms-touch-action"]="none",o["touch-action"]="none");for(var s=0;s{e.exports=n(2894)},2894:function(e,t){var n,r,i;(function(){var a,o,s,u,l,c,d,h,f,p,v,g,y,m,b;s=Math.floor,p=Math.min,o=function(e,t){return et?1:0},f=function(e,t,n,r,i){var a;if(null==n&&(n=0),null==i&&(i=o),n<0)throw new Error("lo must be non-negative");for(null==r&&(r=e.length);nn;0<=n?t++:t--)l.push(t);return l}.apply(this).reverse()).length;rv;0<=v?++c:--c)g.push(l(e,n));return g},m=function(e,t,n,r){var i,a,s;for(null==r&&(r=o),i=e[n];n>t&&r(i,a=e[s=n-1>>1])<0;)e[n]=a,n=s;return e[n]=i},b=function(e,t,n){var r,i,a,s,u;for(null==n&&(n=o),i=e.length,u=t,a=e[t],r=2*t+1;r{var r=n(1789),i=n(401),a=n(7667),o=n(1327),s=n(1866);function u(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t{var r=n(7040),i=n(4125),a=n(2117),o=n(7518),s=n(4705);function u(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t{var r=n(852)(n(5639),"Map");e.exports=r},3369:(e,t,n)=>{var r=n(4785),i=n(1285),a=n(6e3),o=n(9916),s=n(5265);function u(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t{var r=n(5639).Symbol;e.exports=r},9932:e=>{e.exports=function(e,t){for(var n=-1,r=null==e?0:e.length,i=Array(r);++n{var r=n(9465),i=n(7813),a=Object.prototype.hasOwnProperty;e.exports=function(e,t,n){var o=e[t];a.call(e,t)&&i(o,n)&&(void 0!==n||t in e)||r(e,t,n)}},8470:(e,t,n)=>{var r=n(7813);e.exports=function(e,t){for(var n=e.length;n--;)if(r(e[n][0],t))return n;return-1}},9465:(e,t,n)=>{var r=n(8777);e.exports=function(e,t,n){"__proto__"==t&&r?r(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n}},7786:(e,t,n)=>{var r=n(1811),i=n(327);e.exports=function(e,t){for(var n=0,a=(t=r(t,e)).length;null!=e&&n{var r=n(2705),i=n(9607),a=n(2333),o=r?r.toStringTag:void 0;e.exports=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":o&&o in Object(e)?i(e):a(e)}},8458:(e,t,n)=>{var r=n(3560),i=n(5346),a=n(3218),o=n(346),s=/^\[object .+?Constructor\]$/,u=Function.prototype,l=Object.prototype,c=u.toString,d=l.hasOwnProperty,h=RegExp("^"+c.call(d).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");e.exports=function(e){return!(!a(e)||i(e))&&(r(e)?h:s).test(o(e))}},611:(e,t,n)=>{var r=n(4865),i=n(1811),a=n(5776),o=n(3218),s=n(327);e.exports=function(e,t,n,u){if(!o(e))return e;for(var l=-1,c=(t=i(t,e)).length,d=c-1,h=e;null!=h&&++l{var r=n(2705),i=n(9932),a=n(1469),o=n(3448),s=r?r.prototype:void 0,u=s?s.toString:void 0;e.exports=function e(t){if("string"==typeof t)return t;if(a(t))return i(t,e)+"";if(o(t))return u?u.call(t):"";var n=t+"";return"0"==n&&1/t==-1/0?"-0":n}},7561:(e,t,n)=>{var r=n(7990),i=/^\s+/;e.exports=function(e){return e?e.slice(0,r(e)+1).replace(i,""):e}},1811:(e,t,n)=>{var r=n(1469),i=n(5403),a=n(5514),o=n(9833);e.exports=function(e,t){return r(e)?e:i(e,t)?[e]:a(o(e))}},278:e=>{e.exports=function(e,t){var n=-1,r=e.length;for(t||(t=Array(r));++n{var r=n(5639)["__core-js_shared__"];e.exports=r},8777:(e,t,n)=>{var r=n(852),i=function(){try{var e=r(Object,"defineProperty");return e({},"",{}),e}catch(e){}}();e.exports=i},1957:(e,t,n)=>{var r="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g;e.exports=r},5050:(e,t,n)=>{var r=n(7019);e.exports=function(e,t){var n=e.__data__;return r(t)?n["string"==typeof t?"string":"hash"]:n.map}},852:(e,t,n)=>{var r=n(8458),i=n(7801);e.exports=function(e,t){var n=i(e,t);return r(n)?n:void 0}},9607:(e,t,n)=>{var r=n(2705),i=Object.prototype,a=i.hasOwnProperty,o=i.toString,s=r?r.toStringTag:void 0;e.exports=function(e){var t=a.call(e,s),n=e[s];try{e[s]=void 0;var r=!0}catch(e){}var i=o.call(e);return r&&(t?e[s]=n:delete e[s]),i}},7801:e=>{e.exports=function(e,t){return null==e?void 0:e[t]}},1789:(e,t,n)=>{var r=n(4536);e.exports=function(){this.__data__=r?r(null):{},this.size=0}},401:e=>{e.exports=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}},7667:(e,t,n)=>{var r=n(4536),i=Object.prototype.hasOwnProperty;e.exports=function(e){var t=this.__data__;if(r){var n=t[e];return"__lodash_hash_undefined__"===n?void 0:n}return i.call(t,e)?t[e]:void 0}},1327:(e,t,n)=>{var r=n(4536),i=Object.prototype.hasOwnProperty;e.exports=function(e){var t=this.__data__;return r?void 0!==t[e]:i.call(t,e)}},1866:(e,t,n)=>{var r=n(4536);e.exports=function(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=r&&void 0===t?"__lodash_hash_undefined__":t,this}},5776:e=>{var t=/^(?:0|[1-9]\d*)$/;e.exports=function(e,n){var r=typeof e;return!!(n=null==n?9007199254740991:n)&&("number"==r||"symbol"!=r&&t.test(e))&&e>-1&&e%1==0&&e{var r=n(1469),i=n(3448),a=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,o=/^\w*$/;e.exports=function(e,t){if(r(e))return!1;var n=typeof e;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=e&&!i(e))||o.test(e)||!a.test(e)||null!=t&&e in Object(t)}},7019:e=>{e.exports=function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}},5346:(e,t,n)=>{var r,i=n(4429),a=(r=/[^.]+$/.exec(i&&i.keys&&i.keys.IE_PROTO||""))?"Symbol(src)_1."+r:"";e.exports=function(e){return!!a&&a in e}},7040:e=>{e.exports=function(){this.__data__=[],this.size=0}},4125:(e,t,n)=>{var r=n(8470),i=Array.prototype.splice;e.exports=function(e){var t=this.__data__,n=r(t,e);return!(n<0||(n==t.length-1?t.pop():i.call(t,n,1),--this.size,0))}},2117:(e,t,n)=>{var r=n(8470);e.exports=function(e){var t=this.__data__,n=r(t,e);return n<0?void 0:t[n][1]}},7518:(e,t,n)=>{var r=n(8470);e.exports=function(e){return r(this.__data__,e)>-1}},4705:(e,t,n)=>{var r=n(8470);e.exports=function(e,t){var n=this.__data__,i=r(n,e);return i<0?(++this.size,n.push([e,t])):n[i][1]=t,this}},4785:(e,t,n)=>{var r=n(1989),i=n(8407),a=n(7071);e.exports=function(){this.size=0,this.__data__={hash:new r,map:new(a||i),string:new r}}},1285:(e,t,n)=>{var r=n(5050);e.exports=function(e){var t=r(this,e).delete(e);return this.size-=t?1:0,t}},6e3:(e,t,n)=>{var r=n(5050);e.exports=function(e){return r(this,e).get(e)}},9916:(e,t,n)=>{var r=n(5050);e.exports=function(e){return r(this,e).has(e)}},5265:(e,t,n)=>{var r=n(5050);e.exports=function(e,t){var n=r(this,e),i=n.size;return n.set(e,t),this.size+=n.size==i?0:1,this}},4523:(e,t,n)=>{var r=n(8306);e.exports=function(e){var t=r(e,(function(e){return 500===n.size&&n.clear(),e})),n=t.cache;return t}},4536:(e,t,n)=>{var r=n(852)(Object,"create");e.exports=r},2333:e=>{var t=Object.prototype.toString;e.exports=function(e){return t.call(e)}},5639:(e,t,n)=>{var r=n(1957),i="object"==typeof self&&self&&self.Object===Object&&self,a=r||i||Function("return this")();e.exports=a},5514:(e,t,n)=>{var r=n(4523),i=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,a=/\\(\\)?/g,o=r((function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(i,(function(e,n,r,i){t.push(r?i.replace(a,"$1"):n||e)})),t}));e.exports=o},327:(e,t,n)=>{var r=n(3448);e.exports=function(e){if("string"==typeof e||r(e))return e;var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}},346:e=>{var t=Function.prototype.toString;e.exports=function(e){if(null!=e){try{return t.call(e)}catch(e){}try{return e+""}catch(e){}}return""}},7990:e=>{var t=/\s/;e.exports=function(e){for(var n=e.length;n--&&t.test(e.charAt(n)););return n}},3279:(e,t,n)=>{var r=n(3218),i=n(7771),a=n(4841),o=Math.max,s=Math.min;e.exports=function(e,t,n){var u,l,c,d,h,f,p=0,v=!1,g=!1,y=!0;if("function"!=typeof e)throw new TypeError("Expected a function");function m(t){var n=u,r=l;return u=l=void 0,p=t,d=e.apply(r,n)}function b(e){var n=e-f;return void 0===f||n>=t||n<0||g&&e-p>=c}function x(){var e=i();if(b(e))return w(e);h=setTimeout(x,function(e){var n=t-(e-f);return g?s(n,c-(e-p)):n}(e))}function w(e){return h=void 0,y&&u?m(e):(u=l=void 0,d)}function _(){var e=i(),n=b(e);if(u=arguments,l=this,f=e,n){if(void 0===h)return function(e){return p=e,h=setTimeout(x,t),v?m(e):d}(f);if(g)return clearTimeout(h),h=setTimeout(x,t),m(f)}return void 0===h&&(h=setTimeout(x,t)),d}return t=a(t)||0,r(n)&&(v=!!n.leading,c=(g="maxWait"in n)?o(a(n.maxWait)||0,t):c,y="trailing"in n?!!n.trailing:y),_.cancel=function(){void 0!==h&&clearTimeout(h),p=0,u=f=l=h=void 0},_.flush=function(){return void 0===h?d:w(i())},_}},7813:e=>{e.exports=function(e,t){return e===t||e!=e&&t!=t}},7361:(e,t,n)=>{var r=n(7786);e.exports=function(e,t,n){var i=null==e?void 0:r(e,t);return void 0===i?n:i}},1469:e=>{var t=Array.isArray;e.exports=t},3560:(e,t,n)=>{var r=n(4239),i=n(3218);e.exports=function(e){if(!i(e))return!1;var t=r(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t}},3218:e=>{e.exports=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}},7005:e=>{e.exports=function(e){return null!=e&&"object"==typeof e}},3448:(e,t,n)=>{var r=n(4239),i=n(7005);e.exports=function(e){return"symbol"==typeof e||i(e)&&"[object Symbol]"==r(e)}},6486:function(e,t,n){var r;e=n.nmd(e),function(){var i,a="Expected a function",o="__lodash_hash_undefined__",s="__lodash_placeholder__",u=32,l=128,c=1/0,d=9007199254740991,h=NaN,f=4294967295,p=[["ary",l],["bind",1],["bindKey",2],["curry",8],["curryRight",16],["flip",512],["partial",u],["partialRight",64],["rearg",256]],v="[object Arguments]",g="[object Array]",y="[object Boolean]",m="[object Date]",b="[object Error]",x="[object Function]",w="[object GeneratorFunction]",_="[object Map]",E="[object Number]",k="[object Object]",C="[object Promise]",S="[object RegExp]",P="[object Set]",T="[object String]",D="[object Symbol]",M="[object WeakMap]",B="[object ArrayBuffer]",I="[object DataView]",O="[object Float32Array]",A="[object Float64Array]",z="[object Int8Array]",N="[object Int16Array]",L="[object Int32Array]",R="[object Uint8Array]",j="[object Uint8ClampedArray]",V="[object Uint16Array]",F="[object Uint32Array]",q=/\b__p \+= '';/g,W=/\b(__p \+=) '' \+/g,Y=/(__e\(.*?\)|\b__t\)) \+\n'';/g,X=/&(?:amp|lt|gt|quot|#39);/g,H=/[&<>"']/g,U=RegExp(X.source),Z=RegExp(H.source),K=/<%-([\s\S]+?)%>/g,G=/<%([\s\S]+?)%>/g,$=/<%=([\s\S]+?)%>/g,Q=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,J=/^\w*$/,ee=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,te=/[\\^$.*+?()[\]{}|]/g,ne=RegExp(te.source),re=/^\s+/,ie=/\s/,ae=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,oe=/\{\n\/\* \[wrapped with (.+)\] \*/,se=/,? & /,ue=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,le=/[()=,{}\[\]\/\s]/,ce=/\\(\\)?/g,de=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,he=/\w*$/,fe=/^[-+]0x[0-9a-f]+$/i,pe=/^0b[01]+$/i,ve=/^\[object .+?Constructor\]$/,ge=/^0o[0-7]+$/i,ye=/^(?:0|[1-9]\d*)$/,me=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,be=/($^)/,xe=/['\n\r\u2028\u2029\\]/g,we="\\ud800-\\udfff",_e="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",Ee="\\u2700-\\u27bf",ke="a-z\\xdf-\\xf6\\xf8-\\xff",Ce="A-Z\\xc0-\\xd6\\xd8-\\xde",Se="\\ufe0e\\ufe0f",Pe="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Te="["+we+"]",De="["+Pe+"]",Me="["+_e+"]",Be="\\d+",Ie="["+Ee+"]",Oe="["+ke+"]",Ae="[^"+we+Pe+Be+Ee+ke+Ce+"]",ze="\\ud83c[\\udffb-\\udfff]",Ne="[^"+we+"]",Le="(?:\\ud83c[\\udde6-\\uddff]){2}",Re="[\\ud800-\\udbff][\\udc00-\\udfff]",je="["+Ce+"]",Ve="\\u200d",Fe="(?:"+Oe+"|"+Ae+")",qe="(?:"+je+"|"+Ae+")",We="(?:['’](?:d|ll|m|re|s|t|ve))?",Ye="(?:['’](?:D|LL|M|RE|S|T|VE))?",Xe="(?:"+Me+"|"+ze+")?",He="["+Se+"]?",Ue=He+Xe+"(?:"+Ve+"(?:"+[Ne,Le,Re].join("|")+")"+He+Xe+")*",Ze="(?:"+[Ie,Le,Re].join("|")+")"+Ue,Ke="(?:"+[Ne+Me+"?",Me,Le,Re,Te].join("|")+")",Ge=RegExp("['’]","g"),$e=RegExp(Me,"g"),Qe=RegExp(ze+"(?="+ze+")|"+Ke+Ue,"g"),Je=RegExp([je+"?"+Oe+"+"+We+"(?="+[De,je,"$"].join("|")+")",qe+"+"+Ye+"(?="+[De,je+Fe,"$"].join("|")+")",je+"?"+Fe+"+"+We,je+"+"+Ye,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Be,Ze].join("|"),"g"),et=RegExp("["+Ve+we+_e+Se+"]"),tt=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,nt=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],rt=-1,it={};it[O]=it[A]=it[z]=it[N]=it[L]=it[R]=it[j]=it[V]=it[F]=!0,it[v]=it[g]=it[B]=it[y]=it[I]=it[m]=it[b]=it[x]=it[_]=it[E]=it[k]=it[S]=it[P]=it[T]=it[M]=!1;var at={};at[v]=at[g]=at[B]=at[I]=at[y]=at[m]=at[O]=at[A]=at[z]=at[N]=at[L]=at[_]=at[E]=at[k]=at[S]=at[P]=at[T]=at[D]=at[R]=at[j]=at[V]=at[F]=!0,at[b]=at[x]=at[M]=!1;var ot={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},st=parseFloat,ut=parseInt,lt="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g,ct="object"==typeof self&&self&&self.Object===Object&&self,dt=lt||ct||Function("return this")(),ht=t&&!t.nodeType&&t,ft=ht&&e&&!e.nodeType&&e,pt=ft&&ft.exports===ht,vt=pt&<.process,gt=function(){try{return ft&&ft.require&&ft.require("util").types||vt&&vt.binding&&vt.binding("util")}catch(e){}}(),yt=gt&>.isArrayBuffer,mt=gt&>.isDate,bt=gt&>.isMap,xt=gt&>.isRegExp,wt=gt&>.isSet,_t=gt&>.isTypedArray;function Et(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}function kt(e,t,n,r){for(var i=-1,a=null==e?0:e.length;++i-1}function Mt(e,t,n){for(var r=-1,i=null==e?0:e.length;++r-1;);return n}function Jt(e,t){for(var n=e.length;n--&&jt(t,e[n],0)>-1;);return n}var en=Yt({À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"}),tn=Yt({"&":"&","<":"<",">":">",'"':""","'":"'"});function nn(e){return"\\"+ot[e]}function rn(e){return et.test(e)}function an(e){var t=-1,n=Array(e.size);return e.forEach((function(e,r){n[++t]=[r,e]})),n}function on(e,t){return function(n){return e(t(n))}}function sn(e,t){for(var n=-1,r=e.length,i=0,a=[];++n",""":'"',"'":"'"}),pn=function e(t){var n,r=(t=null==t?dt:pn.defaults(dt.Object(),t,pn.pick(dt,nt))).Array,ie=t.Date,we=t.Error,_e=t.Function,Ee=t.Math,ke=t.Object,Ce=t.RegExp,Se=t.String,Pe=t.TypeError,Te=r.prototype,De=_e.prototype,Me=ke.prototype,Be=t["__core-js_shared__"],Ie=De.toString,Oe=Me.hasOwnProperty,Ae=0,ze=(n=/[^.]+$/.exec(Be&&Be.keys&&Be.keys.IE_PROTO||""))?"Symbol(src)_1."+n:"",Ne=Me.toString,Le=Ie.call(ke),Re=dt._,je=Ce("^"+Ie.call(Oe).replace(te,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Ve=pt?t.Buffer:i,Fe=t.Symbol,qe=t.Uint8Array,We=Ve?Ve.allocUnsafe:i,Ye=on(ke.getPrototypeOf,ke),Xe=ke.create,He=Me.propertyIsEnumerable,Ue=Te.splice,Ze=Fe?Fe.isConcatSpreadable:i,Ke=Fe?Fe.iterator:i,Qe=Fe?Fe.toStringTag:i,et=function(){try{var e=ua(ke,"defineProperty");return e({},"",{}),e}catch(e){}}(),ot=t.clearTimeout!==dt.clearTimeout&&t.clearTimeout,lt=ie&&ie.now!==dt.Date.now&&ie.now,ct=t.setTimeout!==dt.setTimeout&&t.setTimeout,ht=Ee.ceil,ft=Ee.floor,vt=ke.getOwnPropertySymbols,gt=Ve?Ve.isBuffer:i,Nt=t.isFinite,Yt=Te.join,vn=on(ke.keys,ke),gn=Ee.max,yn=Ee.min,mn=ie.now,bn=t.parseInt,xn=Ee.random,wn=Te.reverse,_n=ua(t,"DataView"),En=ua(t,"Map"),kn=ua(t,"Promise"),Cn=ua(t,"Set"),Sn=ua(t,"WeakMap"),Pn=ua(ke,"create"),Tn=Sn&&new Sn,Dn={},Mn=Na(_n),Bn=Na(En),In=Na(kn),On=Na(Cn),An=Na(Sn),zn=Fe?Fe.prototype:i,Nn=zn?zn.valueOf:i,Ln=zn?zn.toString:i;function Rn(e){if(es(e)&&!Wo(e)&&!(e instanceof qn)){if(e instanceof Fn)return e;if(Oe.call(e,"__wrapped__"))return La(e)}return new Fn(e)}var jn=function(){function e(){}return function(t){if(!Jo(t))return{};if(Xe)return Xe(t);e.prototype=t;var n=new e;return e.prototype=i,n}}();function Vn(){}function Fn(e,t){this.__wrapped__=e,this.__actions__=[],this.__chain__=!!t,this.__index__=0,this.__values__=i}function qn(e){this.__wrapped__=e,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=f,this.__views__=[]}function Wn(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t=t?e:t)),e}function or(e,t,n,r,a,o){var s,u=1&t,l=2&t,c=4&t;if(n&&(s=a?n(e,r,a,o):n(e)),s!==i)return s;if(!Jo(e))return e;var d=Wo(e);if(d){if(s=function(e){var t=e.length,n=new e.constructor(t);return t&&"string"==typeof e[0]&&Oe.call(e,"index")&&(n.index=e.index,n.input=e.input),n}(e),!u)return Si(e,s)}else{var h=da(e),f=h==x||h==w;if(Uo(e))return xi(e,u);if(h==k||h==v||f&&!a){if(s=l||f?{}:fa(e),!u)return l?function(e,t){return Pi(e,ca(e),t)}(e,function(e,t){return e&&Pi(t,Bs(t),e)}(s,e)):function(e,t){return Pi(e,la(e),t)}(e,nr(s,e))}else{if(!at[h])return a?e:{};s=function(e,t,n){var r,i=e.constructor;switch(t){case B:return wi(e);case y:case m:return new i(+e);case I:return function(e,t){var n=t?wi(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)}(e,n);case O:case A:case z:case N:case L:case R:case j:case V:case F:return _i(e,n);case _:return new i;case E:case T:return new i(e);case S:return function(e){var t=new e.constructor(e.source,he.exec(e));return t.lastIndex=e.lastIndex,t}(e);case P:return new i;case D:return r=e,Nn?ke(Nn.call(r)):{}}}(e,h,u)}}o||(o=new Un);var p=o.get(e);if(p)return p;o.set(e,s),as(e)?e.forEach((function(r){s.add(or(r,t,n,r,e,o))})):ts(e)&&e.forEach((function(r,i){s.set(i,or(r,t,n,i,e,o))}));var g=d?i:(c?l?ta:ea:l?Bs:Ms)(e);return Ct(g||e,(function(r,i){g&&(r=e[i=r]),Jn(s,i,or(r,t,n,i,e,o))})),s}function sr(e,t,n){var r=n.length;if(null==e)return!r;for(e=ke(e);r--;){var a=n[r],o=t[a],s=e[a];if(s===i&&!(a in e)||!o(s))return!1}return!0}function ur(e,t,n){if("function"!=typeof e)throw new Pe(a);return Pa((function(){e.apply(i,n)}),t)}function lr(e,t,n,r){var i=-1,a=Dt,o=!0,s=e.length,u=[],l=t.length;if(!s)return u;n&&(t=Bt(t,Kt(n))),r?(a=Mt,o=!1):t.length>=200&&(a=$t,o=!1,t=new Hn(t));e:for(;++i-1},Yn.prototype.set=function(e,t){var n=this.__data__,r=er(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this},Xn.prototype.clear=function(){this.size=0,this.__data__={hash:new Wn,map:new(En||Yn),string:new Wn}},Xn.prototype.delete=function(e){var t=oa(this,e).delete(e);return this.size-=t?1:0,t},Xn.prototype.get=function(e){return oa(this,e).get(e)},Xn.prototype.has=function(e){return oa(this,e).has(e)},Xn.prototype.set=function(e,t){var n=oa(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this},Hn.prototype.add=Hn.prototype.push=function(e){return this.__data__.set(e,o),this},Hn.prototype.has=function(e){return this.__data__.has(e)},Un.prototype.clear=function(){this.__data__=new Yn,this.size=0},Un.prototype.delete=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n},Un.prototype.get=function(e){return this.__data__.get(e)},Un.prototype.has=function(e){return this.__data__.has(e)},Un.prototype.set=function(e,t){var n=this.__data__;if(n instanceof Yn){var r=n.__data__;if(!En||r.length<199)return r.push([e,t]),this.size=++n.size,this;n=this.__data__=new Xn(r)}return n.set(e,t),this.size=n.size,this};var cr=Mi(mr),dr=Mi(br,!0);function hr(e,t){var n=!0;return cr(e,(function(e,r,i){return n=!!t(e,r,i)})),n}function fr(e,t,n){for(var r=-1,a=e.length;++r0&&n(s)?t>1?vr(s,t-1,n,r,i):It(i,s):r||(i[i.length]=s)}return i}var gr=Bi(),yr=Bi(!0);function mr(e,t){return e&&gr(e,t,Ms)}function br(e,t){return e&&yr(e,t,Ms)}function xr(e,t){return Tt(t,(function(t){return Go(e[t])}))}function wr(e,t){for(var n=0,r=(t=gi(t,e)).length;null!=e&&nt}function Cr(e,t){return null!=e&&Oe.call(e,t)}function Sr(e,t){return null!=e&&t in ke(e)}function Pr(e,t,n){for(var a=n?Mt:Dt,o=e[0].length,s=e.length,u=s,l=r(s),c=1/0,d=[];u--;){var h=e[u];u&&t&&(h=Bt(h,Kt(t))),c=yn(h.length,c),l[u]=!n&&(t||o>=120&&h.length>=120)?new Hn(u&&h):i}h=e[0];var f=-1,p=l[0];e:for(;++f=s?u:u*("desc"==n[r]?-1:1)}return e.index-t.index}(e,t,n)}));r--;)e[r]=e[r].value;return e}(i)}function qr(e,t,n){for(var r=-1,i=t.length,a={};++r-1;)s!==e&&Ue.call(s,u,1),Ue.call(e,u,1);return e}function Yr(e,t){for(var n=e?t.length:0,r=n-1;n--;){var i=t[n];if(n==r||i!==a){var a=i;va(i)?Ue.call(e,i,1):ui(e,i)}}return e}function Xr(e,t){return e+ft(xn()*(t-e+1))}function Hr(e,t){var n="";if(!e||t<1||t>d)return n;do{t%2&&(n+=e),(t=ft(t/2))&&(e+=e)}while(t);return n}function Ur(e,t){return Ta(Ea(e,t,nu),e+"")}function Zr(e){return Kn(js(e))}function Kr(e,t){var n=js(e);return Ba(n,ar(t,0,n.length))}function Gr(e,t,n,r){if(!Jo(e))return e;for(var a=-1,o=(t=gi(t,e)).length,s=o-1,u=e;null!=u&&++aa?0:a+t),(n=n>a?a:n)<0&&(n+=a),a=t>n?0:n-t>>>0,t>>>=0;for(var o=r(a);++i>>1,o=e[a];null!==o&&!ss(o)&&(n?o<=t:o=200){var l=t?null:Hi(e);if(l)return un(l);o=!1,i=$t,u=new Hn}else u=t?[]:s;e:for(;++r=r?e:ei(e,t,n)}var bi=ot||function(e){return dt.clearTimeout(e)};function xi(e,t){if(t)return e.slice();var n=e.length,r=We?We(n):new e.constructor(n);return e.copy(r),r}function wi(e){var t=new e.constructor(e.byteLength);return new qe(t).set(new qe(e)),t}function _i(e,t){var n=t?wi(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)}function Ei(e,t){if(e!==t){var n=e!==i,r=null===e,a=e==e,o=ss(e),s=t!==i,u=null===t,l=t==t,c=ss(t);if(!u&&!c&&!o&&e>t||o&&s&&l&&!u&&!c||r&&s&&l||!n&&l||!a)return 1;if(!r&&!o&&!c&&e1?n[a-1]:i,s=a>2?n[2]:i;for(o=e.length>3&&"function"==typeof o?(a--,o):i,s&&ga(n[0],n[1],s)&&(o=a<3?i:o,a=1),t=ke(t);++r-1?a[o?t[s]:s]:i}}function Ni(e){return Ji((function(t){var n=t.length,r=n,o=Fn.prototype.thru;for(e&&t.reverse();r--;){var s=t[r];if("function"!=typeof s)throw new Pe(a);if(o&&!u&&"wrapper"==ra(s))var u=new Fn([],!0)}for(r=u?r:n;++r1&&x.reverse(),f&&du))return!1;var c=o.get(e),d=o.get(t);if(c&&d)return c==t&&d==e;var h=-1,f=!0,p=2&n?new Hn:i;for(o.set(e,t),o.set(t,e);++h-1&&e%1==0&&e1?"& ":"")+t[r],t=t.join(n>2?", ":" "),e.replace(ae,"{\n/* [wrapped with "+t+"] */\n")}(r,function(e,t){return Ct(p,(function(n){var r="_."+n[0];t&n[1]&&!Dt(e,r)&&e.push(r)})),e.sort()}(function(e){var t=e.match(oe);return t?t[1].split(se):[]}(r),n)))}function Ma(e){var t=0,n=0;return function(){var r=mn(),a=16-(r-n);if(n=r,a>0){if(++t>=800)return arguments[0]}else t=0;return e.apply(i,arguments)}}function Ba(e,t){var n=-1,r=e.length,a=r-1;for(t=t===i?r:t;++n1?e[t-1]:i;return n="function"==typeof n?(e.pop(),n):i,ro(e,n)}));function co(e){var t=Rn(e);return t.__chain__=!0,t}function ho(e,t){return t(e)}var fo=Ji((function(e){var t=e.length,n=t?e[0]:0,r=this.__wrapped__,a=function(t){return ir(t,e)};return!(t>1||this.__actions__.length)&&r instanceof qn&&va(n)?((r=r.slice(n,+n+(t?1:0))).__actions__.push({func:ho,args:[a],thisArg:i}),new Fn(r,this.__chain__).thru((function(e){return t&&!e.length&&e.push(i),e}))):this.thru(a)})),po=Ti((function(e,t,n){Oe.call(e,n)?++e[n]:rr(e,n,1)})),vo=zi(Fa),go=zi(qa);function yo(e,t){return(Wo(e)?Ct:cr)(e,aa(t,3))}function mo(e,t){return(Wo(e)?St:dr)(e,aa(t,3))}var bo=Ti((function(e,t,n){Oe.call(e,n)?e[n].push(t):rr(e,n,[t])})),xo=Ur((function(e,t,n){var i=-1,a="function"==typeof t,o=Xo(e)?r(e.length):[];return cr(e,(function(e){o[++i]=a?Et(t,e,n):Tr(e,t,n)})),o})),wo=Ti((function(e,t,n){rr(e,n,t)}));function _o(e,t){return(Wo(e)?Bt:Nr)(e,aa(t,3))}var Eo=Ti((function(e,t,n){e[n?0:1].push(t)}),(function(){return[[],[]]})),ko=Ur((function(e,t){if(null==e)return[];var n=t.length;return n>1&&ga(e,t[0],t[1])?t=[]:n>2&&ga(t[0],t[1],t[2])&&(t=[t[0]]),Fr(e,vr(t,1),[])})),Co=lt||function(){return dt.Date.now()};function So(e,t,n){return t=n?i:t,t=e&&null==t?e.length:t,Zi(e,l,i,i,i,i,t)}function Po(e,t){var n;if("function"!=typeof t)throw new Pe(a);return e=fs(e),function(){return--e>0&&(n=t.apply(this,arguments)),e<=1&&(t=i),n}}var To=Ur((function(e,t,n){var r=1;if(n.length){var i=sn(n,ia(To));r|=u}return Zi(e,r,t,n,i)})),Do=Ur((function(e,t,n){var r=3;if(n.length){var i=sn(n,ia(Do));r|=u}return Zi(t,r,e,n,i)}));function Mo(e,t,n){var r,o,s,u,l,c,d=0,h=!1,f=!1,p=!0;if("function"!=typeof e)throw new Pe(a);function v(t){var n=r,a=o;return r=o=i,d=t,u=e.apply(a,n)}function g(e){var n=e-c;return c===i||n>=t||n<0||f&&e-d>=s}function y(){var e=Co();if(g(e))return m(e);l=Pa(y,function(e){var n=t-(e-c);return f?yn(n,s-(e-d)):n}(e))}function m(e){return l=i,p&&r?v(e):(r=o=i,u)}function b(){var e=Co(),n=g(e);if(r=arguments,o=this,c=e,n){if(l===i)return function(e){return d=e,l=Pa(y,t),h?v(e):u}(c);if(f)return bi(l),l=Pa(y,t),v(c)}return l===i&&(l=Pa(y,t)),u}return t=vs(t)||0,Jo(n)&&(h=!!n.leading,s=(f="maxWait"in n)?gn(vs(n.maxWait)||0,t):s,p="trailing"in n?!!n.trailing:p),b.cancel=function(){l!==i&&bi(l),d=0,r=c=o=l=i},b.flush=function(){return l===i?u:m(Co())},b}var Bo=Ur((function(e,t){return ur(e,1,t)})),Io=Ur((function(e,t,n){return ur(e,vs(t)||0,n)}));function Oo(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new Pe(a);var n=function(){var r=arguments,i=t?t.apply(this,r):r[0],a=n.cache;if(a.has(i))return a.get(i);var o=e.apply(this,r);return n.cache=a.set(i,o)||a,o};return n.cache=new(Oo.Cache||Xn),n}function Ao(e){if("function"!=typeof e)throw new Pe(a);return function(){var t=arguments;switch(t.length){case 0:return!e.call(this);case 1:return!e.call(this,t[0]);case 2:return!e.call(this,t[0],t[1]);case 3:return!e.call(this,t[0],t[1],t[2])}return!e.apply(this,t)}}Oo.Cache=Xn;var zo=yi((function(e,t){var n=(t=1==t.length&&Wo(t[0])?Bt(t[0],Kt(aa())):Bt(vr(t,1),Kt(aa()))).length;return Ur((function(r){for(var i=-1,a=yn(r.length,n);++i=t})),qo=Dr(function(){return arguments}())?Dr:function(e){return es(e)&&Oe.call(e,"callee")&&!He.call(e,"callee")},Wo=r.isArray,Yo=yt?Kt(yt):function(e){return es(e)&&Er(e)==B};function Xo(e){return null!=e&&Qo(e.length)&&!Go(e)}function Ho(e){return es(e)&&Xo(e)}var Uo=gt||vu,Zo=mt?Kt(mt):function(e){return es(e)&&Er(e)==m};function Ko(e){if(!es(e))return!1;var t=Er(e);return t==b||"[object DOMException]"==t||"string"==typeof e.message&&"string"==typeof e.name&&!rs(e)}function Go(e){if(!Jo(e))return!1;var t=Er(e);return t==x||t==w||"[object AsyncFunction]"==t||"[object Proxy]"==t}function $o(e){return"number"==typeof e&&e==fs(e)}function Qo(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=d}function Jo(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function es(e){return null!=e&&"object"==typeof e}var ts=bt?Kt(bt):function(e){return es(e)&&da(e)==_};function ns(e){return"number"==typeof e||es(e)&&Er(e)==E}function rs(e){if(!es(e)||Er(e)!=k)return!1;var t=Ye(e);if(null===t)return!0;var n=Oe.call(t,"constructor")&&t.constructor;return"function"==typeof n&&n instanceof n&&Ie.call(n)==Le}var is=xt?Kt(xt):function(e){return es(e)&&Er(e)==S},as=wt?Kt(wt):function(e){return es(e)&&da(e)==P};function os(e){return"string"==typeof e||!Wo(e)&&es(e)&&Er(e)==T}function ss(e){return"symbol"==typeof e||es(e)&&Er(e)==D}var us=_t?Kt(_t):function(e){return es(e)&&Qo(e.length)&&!!it[Er(e)]},ls=Wi(zr),cs=Wi((function(e,t){return e<=t}));function ds(e){if(!e)return[];if(Xo(e))return os(e)?dn(e):Si(e);if(Ke&&e[Ke])return function(e){for(var t,n=[];!(t=e.next()).done;)n.push(t.value);return n}(e[Ke]());var t=da(e);return(t==_?an:t==P?un:js)(e)}function hs(e){return e?(e=vs(e))===c||e===-1/0?17976931348623157e292*(e<0?-1:1):e==e?e:0:0===e?e:0}function fs(e){var t=hs(e),n=t%1;return t==t?n?t-n:t:0}function ps(e){return e?ar(fs(e),0,f):0}function vs(e){if("number"==typeof e)return e;if(ss(e))return h;if(Jo(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=Jo(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=Zt(e);var n=pe.test(e);return n||ge.test(e)?ut(e.slice(2),n?2:8):fe.test(e)?h:+e}function gs(e){return Pi(e,Bs(e))}function ys(e){return null==e?"":oi(e)}var ms=Di((function(e,t){if(xa(t)||Xo(t))Pi(t,Ms(t),e);else for(var n in t)Oe.call(t,n)&&Jn(e,n,t[n])})),bs=Di((function(e,t){Pi(t,Bs(t),e)})),xs=Di((function(e,t,n,r){Pi(t,Bs(t),e,r)})),ws=Di((function(e,t,n,r){Pi(t,Ms(t),e,r)})),_s=Ji(ir),Es=Ur((function(e,t){e=ke(e);var n=-1,r=t.length,a=r>2?t[2]:i;for(a&&ga(t[0],t[1],a)&&(r=1);++n1),t})),Pi(e,ta(e),n),r&&(n=or(n,7,$i));for(var i=t.length;i--;)ui(n,t[i]);return n})),zs=Ji((function(e,t){return null==e?{}:function(e,t){return qr(e,t,(function(t,n){return Ss(e,n)}))}(e,t)}));function Ns(e,t){if(null==e)return{};var n=Bt(ta(e),(function(e){return[e]}));return t=aa(t),qr(e,n,(function(e,n){return t(e,n[0])}))}var Ls=Ui(Ms),Rs=Ui(Bs);function js(e){return null==e?[]:Gt(e,Ms(e))}var Vs=Oi((function(e,t,n){return t=t.toLowerCase(),e+(n?Fs(t):t)}));function Fs(e){return Ks(ys(e).toLowerCase())}function qs(e){return(e=ys(e))&&e.replace(me,en).replace($e,"")}var Ws=Oi((function(e,t,n){return e+(n?"-":"")+t.toLowerCase()})),Ys=Oi((function(e,t,n){return e+(n?" ":"")+t.toLowerCase()})),Xs=Ii("toLowerCase"),Hs=Oi((function(e,t,n){return e+(n?"_":"")+t.toLowerCase()})),Us=Oi((function(e,t,n){return e+(n?" ":"")+Ks(t)})),Zs=Oi((function(e,t,n){return e+(n?" ":"")+t.toUpperCase()})),Ks=Ii("toUpperCase");function Gs(e,t,n){return e=ys(e),(t=n?i:t)===i?function(e){return tt.test(e)}(e)?function(e){return e.match(Je)||[]}(e):function(e){return e.match(ue)||[]}(e):e.match(t)||[]}var $s=Ur((function(e,t){try{return Et(e,i,t)}catch(e){return Ko(e)?e:new we(e)}})),Qs=Ji((function(e,t){return Ct(t,(function(t){t=za(t),rr(e,t,To(e[t],e))})),e}));function Js(e){return function(){return e}}var eu=Ni(),tu=Ni(!0);function nu(e){return e}function ru(e){return Or("function"==typeof e?e:or(e,1))}var iu=Ur((function(e,t){return function(n){return Tr(n,e,t)}})),au=Ur((function(e,t){return function(n){return Tr(e,n,t)}}));function ou(e,t,n){var r=Ms(t),i=xr(t,r);null!=n||Jo(t)&&(i.length||!r.length)||(n=t,t=e,e=this,i=xr(t,Ms(t)));var a=!(Jo(n)&&"chain"in n&&!n.chain),o=Go(e);return Ct(i,(function(n){var r=t[n];e[n]=r,o&&(e.prototype[n]=function(){var t=this.__chain__;if(a||t){var n=e(this.__wrapped__);return(n.__actions__=Si(this.__actions__)).push({func:r,args:arguments,thisArg:e}),n.__chain__=t,n}return r.apply(e,It([this.value()],arguments))})})),e}function su(){}var uu=Vi(Bt),lu=Vi(Pt),cu=Vi(zt);function du(e){return ya(e)?Wt(za(e)):function(e){return function(t){return wr(t,e)}}(e)}var hu=qi(),fu=qi(!0);function pu(){return[]}function vu(){return!1}var gu,yu=ji((function(e,t){return e+t}),0),mu=Xi("ceil"),bu=ji((function(e,t){return e/t}),1),xu=Xi("floor"),wu=ji((function(e,t){return e*t}),1),_u=Xi("round"),Eu=ji((function(e,t){return e-t}),0);return Rn.after=function(e,t){if("function"!=typeof t)throw new Pe(a);return e=fs(e),function(){if(--e<1)return t.apply(this,arguments)}},Rn.ary=So,Rn.assign=ms,Rn.assignIn=bs,Rn.assignInWith=xs,Rn.assignWith=ws,Rn.at=_s,Rn.before=Po,Rn.bind=To,Rn.bindAll=Qs,Rn.bindKey=Do,Rn.castArray=function(){if(!arguments.length)return[];var e=arguments[0];return Wo(e)?e:[e]},Rn.chain=co,Rn.chunk=function(e,t,n){t=(n?ga(e,t,n):t===i)?1:gn(fs(t),0);var a=null==e?0:e.length;if(!a||t<1)return[];for(var o=0,s=0,u=r(ht(a/t));oa?0:a+n),(r=r===i||r>a?a:fs(r))<0&&(r+=a),r=n>r?0:ps(r);n>>0)?(e=ys(e))&&("string"==typeof t||null!=t&&!is(t))&&!(t=oi(t))&&rn(e)?mi(dn(e),0,n):e.split(t,n):[]},Rn.spread=function(e,t){if("function"!=typeof e)throw new Pe(a);return t=null==t?0:gn(fs(t),0),Ur((function(n){var r=n[t],i=mi(n,0,t);return r&&It(i,r),Et(e,this,i)}))},Rn.tail=function(e){var t=null==e?0:e.length;return t?ei(e,1,t):[]},Rn.take=function(e,t,n){return e&&e.length?ei(e,0,(t=n||t===i?1:fs(t))<0?0:t):[]},Rn.takeRight=function(e,t,n){var r=null==e?0:e.length;return r?ei(e,(t=r-(t=n||t===i?1:fs(t)))<0?0:t,r):[]},Rn.takeRightWhile=function(e,t){return e&&e.length?ci(e,aa(t,3),!1,!0):[]},Rn.takeWhile=function(e,t){return e&&e.length?ci(e,aa(t,3)):[]},Rn.tap=function(e,t){return t(e),e},Rn.throttle=function(e,t,n){var r=!0,i=!0;if("function"!=typeof e)throw new Pe(a);return Jo(n)&&(r="leading"in n?!!n.leading:r,i="trailing"in n?!!n.trailing:i),Mo(e,t,{leading:r,maxWait:t,trailing:i})},Rn.thru=ho,Rn.toArray=ds,Rn.toPairs=Ls,Rn.toPairsIn=Rs,Rn.toPath=function(e){return Wo(e)?Bt(e,za):ss(e)?[e]:Si(Aa(ys(e)))},Rn.toPlainObject=gs,Rn.transform=function(e,t,n){var r=Wo(e),i=r||Uo(e)||us(e);if(t=aa(t,4),null==n){var a=e&&e.constructor;n=i?r?new a:[]:Jo(e)&&Go(a)?jn(Ye(e)):{}}return(i?Ct:mr)(e,(function(e,r,i){return t(n,e,r,i)})),n},Rn.unary=function(e){return So(e,1)},Rn.union=Ja,Rn.unionBy=eo,Rn.unionWith=to,Rn.uniq=function(e){return e&&e.length?si(e):[]},Rn.uniqBy=function(e,t){return e&&e.length?si(e,aa(t,2)):[]},Rn.uniqWith=function(e,t){return t="function"==typeof t?t:i,e&&e.length?si(e,i,t):[]},Rn.unset=function(e,t){return null==e||ui(e,t)},Rn.unzip=no,Rn.unzipWith=ro,Rn.update=function(e,t,n){return null==e?e:li(e,t,vi(n))},Rn.updateWith=function(e,t,n,r){return r="function"==typeof r?r:i,null==e?e:li(e,t,vi(n),r)},Rn.values=js,Rn.valuesIn=function(e){return null==e?[]:Gt(e,Bs(e))},Rn.without=io,Rn.words=Gs,Rn.wrap=function(e,t){return No(vi(t),e)},Rn.xor=ao,Rn.xorBy=oo,Rn.xorWith=so,Rn.zip=uo,Rn.zipObject=function(e,t){return fi(e||[],t||[],Jn)},Rn.zipObjectDeep=function(e,t){return fi(e||[],t||[],Gr)},Rn.zipWith=lo,Rn.entries=Ls,Rn.entriesIn=Rs,Rn.extend=bs,Rn.extendWith=xs,ou(Rn,Rn),Rn.add=yu,Rn.attempt=$s,Rn.camelCase=Vs,Rn.capitalize=Fs,Rn.ceil=mu,Rn.clamp=function(e,t,n){return n===i&&(n=t,t=i),n!==i&&(n=(n=vs(n))==n?n:0),t!==i&&(t=(t=vs(t))==t?t:0),ar(vs(e),t,n)},Rn.clone=function(e){return or(e,4)},Rn.cloneDeep=function(e){return or(e,5)},Rn.cloneDeepWith=function(e,t){return or(e,5,t="function"==typeof t?t:i)},Rn.cloneWith=function(e,t){return or(e,4,t="function"==typeof t?t:i)},Rn.conformsTo=function(e,t){return null==t||sr(e,t,Ms(t))},Rn.deburr=qs,Rn.defaultTo=function(e,t){return null==e||e!=e?t:e},Rn.divide=bu,Rn.endsWith=function(e,t,n){e=ys(e),t=oi(t);var r=e.length,a=n=n===i?r:ar(fs(n),0,r);return(n-=t.length)>=0&&e.slice(n,a)==t},Rn.eq=jo,Rn.escape=function(e){return(e=ys(e))&&Z.test(e)?e.replace(H,tn):e},Rn.escapeRegExp=function(e){return(e=ys(e))&&ne.test(e)?e.replace(te,"\\$&"):e},Rn.every=function(e,t,n){var r=Wo(e)?Pt:hr;return n&&ga(e,t,n)&&(t=i),r(e,aa(t,3))},Rn.find=vo,Rn.findIndex=Fa,Rn.findKey=function(e,t){return Lt(e,aa(t,3),mr)},Rn.findLast=go,Rn.findLastIndex=qa,Rn.findLastKey=function(e,t){return Lt(e,aa(t,3),br)},Rn.floor=xu,Rn.forEach=yo,Rn.forEachRight=mo,Rn.forIn=function(e,t){return null==e?e:gr(e,aa(t,3),Bs)},Rn.forInRight=function(e,t){return null==e?e:yr(e,aa(t,3),Bs)},Rn.forOwn=function(e,t){return e&&mr(e,aa(t,3))},Rn.forOwnRight=function(e,t){return e&&br(e,aa(t,3))},Rn.get=Cs,Rn.gt=Vo,Rn.gte=Fo,Rn.has=function(e,t){return null!=e&&ha(e,t,Cr)},Rn.hasIn=Ss,Rn.head=Ya,Rn.identity=nu,Rn.includes=function(e,t,n,r){e=Xo(e)?e:js(e),n=n&&!r?fs(n):0;var i=e.length;return n<0&&(n=gn(i+n,0)),os(e)?n<=i&&e.indexOf(t,n)>-1:!!i&&jt(e,t,n)>-1},Rn.indexOf=function(e,t,n){var r=null==e?0:e.length;if(!r)return-1;var i=null==n?0:fs(n);return i<0&&(i=gn(r+i,0)),jt(e,t,i)},Rn.inRange=function(e,t,n){return t=hs(t),n===i?(n=t,t=0):n=hs(n),function(e,t,n){return e>=yn(t,n)&&e=-9007199254740991&&e<=d},Rn.isSet=as,Rn.isString=os,Rn.isSymbol=ss,Rn.isTypedArray=us,Rn.isUndefined=function(e){return e===i},Rn.isWeakMap=function(e){return es(e)&&da(e)==M},Rn.isWeakSet=function(e){return es(e)&&"[object WeakSet]"==Er(e)},Rn.join=function(e,t){return null==e?"":Yt.call(e,t)},Rn.kebabCase=Ws,Rn.last=Za,Rn.lastIndexOf=function(e,t,n){var r=null==e?0:e.length;if(!r)return-1;var a=r;return n!==i&&(a=(a=fs(n))<0?gn(r+a,0):yn(a,r-1)),t==t?function(e,t,n){for(var r=n+1;r--;)if(e[r]===t)return r;return r}(e,t,a):Rt(e,Ft,a,!0)},Rn.lowerCase=Ys,Rn.lowerFirst=Xs,Rn.lt=ls,Rn.lte=cs,Rn.max=function(e){return e&&e.length?fr(e,nu,kr):i},Rn.maxBy=function(e,t){return e&&e.length?fr(e,aa(t,2),kr):i},Rn.mean=function(e){return qt(e,nu)},Rn.meanBy=function(e,t){return qt(e,aa(t,2))},Rn.min=function(e){return e&&e.length?fr(e,nu,zr):i},Rn.minBy=function(e,t){return e&&e.length?fr(e,aa(t,2),zr):i},Rn.stubArray=pu,Rn.stubFalse=vu,Rn.stubObject=function(){return{}},Rn.stubString=function(){return""},Rn.stubTrue=function(){return!0},Rn.multiply=wu,Rn.nth=function(e,t){return e&&e.length?Vr(e,fs(t)):i},Rn.noConflict=function(){return dt._===this&&(dt._=Re),this},Rn.noop=su,Rn.now=Co,Rn.pad=function(e,t,n){e=ys(e);var r=(t=fs(t))?cn(e):0;if(!t||r>=t)return e;var i=(t-r)/2;return Fi(ft(i),n)+e+Fi(ht(i),n)},Rn.padEnd=function(e,t,n){e=ys(e);var r=(t=fs(t))?cn(e):0;return t&&rt){var r=e;e=t,t=r}if(n||e%1||t%1){var a=xn();return yn(e+a*(t-e+st("1e-"+((a+"").length-1))),t)}return Xr(e,t)},Rn.reduce=function(e,t,n){var r=Wo(e)?Ot:Xt,i=arguments.length<3;return r(e,aa(t,4),n,i,cr)},Rn.reduceRight=function(e,t,n){var r=Wo(e)?At:Xt,i=arguments.length<3;return r(e,aa(t,4),n,i,dr)},Rn.repeat=function(e,t,n){return t=(n?ga(e,t,n):t===i)?1:fs(t),Hr(ys(e),t)},Rn.replace=function(){var e=arguments,t=ys(e[0]);return e.length<3?t:t.replace(e[1],e[2])},Rn.result=function(e,t,n){var r=-1,a=(t=gi(t,e)).length;for(a||(a=1,e=i);++rd)return[];var n=f,r=yn(e,f);t=aa(t),e-=f;for(var i=Ut(r,t);++n=o)return e;var u=n-cn(r);if(u<1)return r;var l=s?mi(s,0,u).join(""):e.slice(0,u);if(a===i)return l+r;if(s&&(u+=l.length-u),is(a)){if(e.slice(u).search(a)){var c,d=l;for(a.global||(a=Ce(a.source,ys(he.exec(a))+"g")),a.lastIndex=0;c=a.exec(d);)var h=c.index;l=l.slice(0,h===i?u:h)}}else if(e.indexOf(oi(a),u)!=u){var f=l.lastIndexOf(a);f>-1&&(l=l.slice(0,f))}return l+r},Rn.unescape=function(e){return(e=ys(e))&&U.test(e)?e.replace(X,fn):e},Rn.uniqueId=function(e){var t=++Ae;return ys(e)+t},Rn.upperCase=Zs,Rn.upperFirst=Ks,Rn.each=yo,Rn.eachRight=mo,Rn.first=Ya,ou(Rn,(gu={},mr(Rn,(function(e,t){Oe.call(Rn.prototype,t)||(gu[t]=e)})),gu),{chain:!1}),Rn.VERSION="4.17.21",Ct(["bind","bindKey","curry","curryRight","partial","partialRight"],(function(e){Rn[e].placeholder=Rn})),Ct(["drop","take"],(function(e,t){qn.prototype[e]=function(n){n=n===i?1:gn(fs(n),0);var r=this.__filtered__&&!t?new qn(this):this.clone();return r.__filtered__?r.__takeCount__=yn(n,r.__takeCount__):r.__views__.push({size:yn(n,f),type:e+(r.__dir__<0?"Right":"")}),r},qn.prototype[e+"Right"]=function(t){return this.reverse()[e](t).reverse()}})),Ct(["filter","map","takeWhile"],(function(e,t){var n=t+1,r=1==n||3==n;qn.prototype[e]=function(e){var t=this.clone();return t.__iteratees__.push({iteratee:aa(e,3),type:n}),t.__filtered__=t.__filtered__||r,t}})),Ct(["head","last"],(function(e,t){var n="take"+(t?"Right":"");qn.prototype[e]=function(){return this[n](1).value()[0]}})),Ct(["initial","tail"],(function(e,t){var n="drop"+(t?"":"Right");qn.prototype[e]=function(){return this.__filtered__?new qn(this):this[n](1)}})),qn.prototype.compact=function(){return this.filter(nu)},qn.prototype.find=function(e){return this.filter(e).head()},qn.prototype.findLast=function(e){return this.reverse().find(e)},qn.prototype.invokeMap=Ur((function(e,t){return"function"==typeof e?new qn(this):this.map((function(n){return Tr(n,e,t)}))})),qn.prototype.reject=function(e){return this.filter(Ao(aa(e)))},qn.prototype.slice=function(e,t){e=fs(e);var n=this;return n.__filtered__&&(e>0||t<0)?new qn(n):(e<0?n=n.takeRight(-e):e&&(n=n.drop(e)),t!==i&&(n=(t=fs(t))<0?n.dropRight(-t):n.take(t-e)),n)},qn.prototype.takeRightWhile=function(e){return this.reverse().takeWhile(e).reverse()},qn.prototype.toArray=function(){return this.take(f)},mr(qn.prototype,(function(e,t){var n=/^(?:filter|find|map|reject)|While$/.test(t),r=/^(?:head|last)$/.test(t),a=Rn[r?"take"+("last"==t?"Right":""):t],o=r||/^find/.test(t);a&&(Rn.prototype[t]=function(){var t=this.__wrapped__,s=r?[1]:arguments,u=t instanceof qn,l=s[0],c=u||Wo(t),d=function(e){var t=a.apply(Rn,It([e],s));return r&&h?t[0]:t};c&&n&&"function"==typeof l&&1!=l.length&&(u=c=!1);var h=this.__chain__,f=!!this.__actions__.length,p=o&&!h,v=u&&!f;if(!o&&c){t=v?t:new qn(this);var g=e.apply(t,s);return g.__actions__.push({func:ho,args:[d],thisArg:i}),new Fn(g,h)}return p&&v?e.apply(this,s):(g=this.thru(d),p?r?g.value()[0]:g.value():g)})})),Ct(["pop","push","shift","sort","splice","unshift"],(function(e){var t=Te[e],n=/^(?:push|sort|unshift)$/.test(e)?"tap":"thru",r=/^(?:pop|shift)$/.test(e);Rn.prototype[e]=function(){var e=arguments;if(r&&!this.__chain__){var i=this.value();return t.apply(Wo(i)?i:[],e)}return this[n]((function(n){return t.apply(Wo(n)?n:[],e)}))}})),mr(qn.prototype,(function(e,t){var n=Rn[t];if(n){var r=n.name+"";Oe.call(Dn,r)||(Dn[r]=[]),Dn[r].push({name:t,func:n})}})),Dn[Li(i,2).name]=[{name:"wrapper",func:i}],qn.prototype.clone=function(){var e=new qn(this.__wrapped__);return e.__actions__=Si(this.__actions__),e.__dir__=this.__dir__,e.__filtered__=this.__filtered__,e.__iteratees__=Si(this.__iteratees__),e.__takeCount__=this.__takeCount__,e.__views__=Si(this.__views__),e},qn.prototype.reverse=function(){if(this.__filtered__){var e=new qn(this);e.__dir__=-1,e.__filtered__=!0}else(e=this.clone()).__dir__*=-1;return e},qn.prototype.value=function(){var e=this.__wrapped__.value(),t=this.__dir__,n=Wo(e),r=t<0,i=n?e.length:0,a=function(e,t,n){for(var r=-1,i=n.length;++r=this.__values__.length;return{done:e,value:e?i:this.__values__[this.__index__++]}},Rn.prototype.plant=function(e){for(var t,n=this;n instanceof Vn;){var r=La(n);r.__index__=0,r.__values__=i,t?a.__wrapped__=r:t=r;var a=r;n=n.__wrapped__}return a.__wrapped__=e,t},Rn.prototype.reverse=function(){var e=this.__wrapped__;if(e instanceof qn){var t=e;return this.__actions__.length&&(t=new qn(this)),(t=t.reverse()).__actions__.push({func:ho,args:[Qa],thisArg:i}),new Fn(t,this.__chain__)}return this.thru(Qa)},Rn.prototype.toJSON=Rn.prototype.valueOf=Rn.prototype.value=function(){return di(this.__wrapped__,this.__actions__)},Rn.prototype.first=Rn.prototype.head,Ke&&(Rn.prototype[Ke]=function(){return this}),Rn}();dt._=pn,(r=function(){return pn}.call(t,n,t,e))===i||(e.exports=r)}.call(this)},8306:(e,t,n)=>{var r=n(3369);function i(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new TypeError("Expected a function");var n=function(){var r=arguments,i=t?t.apply(this,r):r[0],a=n.cache;if(a.has(i))return a.get(i);var o=e.apply(this,r);return n.cache=a.set(i,o)||a,o};return n.cache=new(i.Cache||r),n}i.Cache=r,e.exports=i},7771:(e,t,n)=>{var r=n(5639);e.exports=function(){return r.Date.now()}},6968:(e,t,n)=>{var r=n(611);e.exports=function(e,t,n){return null==e?e:r(e,t,n)}},4841:(e,t,n)=>{var r=n(7561),i=n(3218),a=n(3448),o=/^[-+]0x[0-9a-f]+$/i,s=/^0b[01]+$/i,u=/^0o[0-7]+$/i,l=parseInt;e.exports=function(e){if("number"==typeof e)return e;if(a(e))return NaN;if(i(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=i(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=r(e);var n=s.test(e);return n||u.test(e)?l(e.slice(2),n?2:8):o.test(e)?NaN:+e}},84:(e,t,n)=>{var r=n(9932),i=n(278),a=n(1469),o=n(3448),s=n(5514),u=n(327),l=n(9833);e.exports=function(e){return a(e)?r(e,u):o(e)?[e]:i(s(l(e)))}},9833:(e,t,n)=>{var r=n(531);e.exports=function(e){return null==e?"":r(e)}},2703:(e,t,n)=>{"use strict";var r=n(414);function i(){}function a(){}a.resetWarningCache=i,e.exports=function(){function e(e,t,n,i,a,o){if(o!==r){var s=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw s.name="Invariant Violation",s}}function t(){return e}e.isRequired=e;var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:a,resetWarningCache:i};return n.PropTypes=n,n}},5697:(e,t,n)=>{e.exports=n(2703)()},414:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},3379:e=>{"use strict";var t=[];function n(e){for(var n=-1,r=0;r{"use strict";var t={};e.exports=function(e,n){var r=function(e){if(void 0===t[e]){var n=document.querySelector(e);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(e){n=null}t[e]=n}return t[e]}(e);if(!r)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");r.appendChild(n)}},9216:e=>{"use strict";e.exports=function(e){var t=document.createElement("style");return e.setAttributes(t,e.attributes),e.insert(t,e.options),t}},3565:(e,t,n)=>{"use strict";e.exports=function(e){var t=n.nc;t&&e.setAttribute("nonce",t)}},7795:e=>{"use strict";e.exports=function(e){if("undefined"==typeof document)return{update:function(){},remove:function(){}};var t=e.insertStyleElement(e);return{update:function(n){!function(e,t,n){var r="";n.supports&&(r+="@supports (".concat(n.supports,") {")),n.media&&(r+="@media ".concat(n.media," {"));var i=void 0!==n.layer;i&&(r+="@layer".concat(n.layer.length>0?" ".concat(n.layer):""," {")),r+=n.css,i&&(r+="}"),n.media&&(r+="}"),n.supports&&(r+="}");var a=n.sourceMap;a&&"undefined"!=typeof btoa&&(r+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(a))))," */")),t.styleTagTransform(r,e,t.options)}(t,e,n)},remove:function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(t)}}}},4589:e=>{"use strict";e.exports=function(e,t){if(t.styleSheet)t.styleSheet.cssText=e;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(e))}}}},t={};function n(r){var i=t[r];if(void 0!==i)return i.exports;var a=t[r]={id:r,loaded:!1,exports:{}};return e[r].call(a.exports,a,a.exports,n),a.loaded=!0,a.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),n.nc=void 0;var r={};(()=>{"use strict";n.r(r),n.d(r,{Cytoscape:()=>se});var e=n(3379),t=n.n(e),i=n(7795),a=n.n(i),o=n(569),s=n.n(o),u=n(3565),l=n.n(u),c=n(9216),d=n.n(c),h=n(4589),f=n.n(h),p=n(372),v={};v.styleTagTransform=f(),v.setAttributes=l(),v.insert=s().bind(null,"head"),v.domAPI=a(),v.insertStyleElement=d(),t()(p.Z,v),p.Z&&p.Z.locals&&p.Z.locals;const g=window.React;var y=n.n(g),m=n(5697),b=n.n(m),x=n(9058),w=n.n(x);const{string:_,array:E,object:k,number:C,bool:S,oneOfType:P,any:T,func:D}=b(),M={id:_,className:_,style:P([_,k]),elements:P([E,T]),stylesheet:P([E,T]),layout:P([k,T]),pan:P([k,T]),zoom:C,panningEnabled:S,userPanningEnabled:S,minZoom:C,maxZoom:C,zoomingEnabled:S,userZoomingEnabled:S,boxSelectionEnabled:S,autoungrabify:S,autolock:S,autounselectify:S,get:D,toJson:D,diff:D,forEach:D,cy:D,headless:S,styleEnabled:S,hideEdgesOnViewport:S,textureOnViewport:S,motionBlur:S,motionBlurOpacity:C,wheelSensitivity:C,pixelRatio:P([_,k])},B=(e,t)=>{if(((e,t)=>null==e||null==t)(e,t)&&(null!=e||null!=t))return!0;if(e===t)return!1;if("object"!=typeof e||"object"!=typeof t)return e!==t;const n=Object.keys(e),r=Object.keys(t),i=n=>e[n]!==t[n];return n.length!==r.length||!(!n.some(i)&&!r.some(i))},I=(e,t)=>null!=e?e[t]:null,O={diff:B,get:I,toJson:e=>e,forEach:(e,t)=>e.forEach(t),elements:[{data:{id:"a",label:"Example node A"}},{data:{id:"b",label:"Example node B"}},{data:{id:"e",source:"a",target:"b"}}],stylesheet:[{selector:"node",style:{label:"data(label)"}}],zoom:1,pan:{x:0,y:0}},A=(e,t,n,r)=>n(I(e,r),I(t,r)),z=(e,t,n,r,i,a)=>{const o=i(i(n,"data"),"id"),s=e.getElementById(o),u={};["data","position","selected","selectable","locked","grabbable","classes"].forEach((e=>{const o=i(n,e);a(o,i(t,e))&&(u[e]=r(o))}));const l=i(n,"scratch");a(l,i(t,"scratch"))&&s.scratch(r(l)),Object.keys(u).length>0&&s.json(u)};class N extends y().Component{static get propTypes(){return M}static get defaultProps(){return O}static normalizeElements(e){if(null!=e.length)return e;{let{nodes:t,edges:n}=e;return null==t&&(t=[]),null==n&&(n=[]),t.concat(n)}}constructor(e){super(e),this.displayName="CytoscapeComponent",this.containerRef=y().createRef()}componentDidMount(){const e=this.containerRef.current,{global:t,headless:n,styleEnabled:r,hideEdgesOnViewport:i,textureOnViewport:a,motionBlur:o,motionBlurOpacity:s,wheelSensitivity:u,pixelRatio:l}=this.props,c=this._cy=new(w())({container:e,headless:n,styleEnabled:r,hideEdgesOnViewport:i,textureOnViewport:a,motionBlur:o,motionBlurOpacity:s,wheelSensitivity:u,pixelRatio:l});t&&(window[t]=c),this.updateCytoscape(null,this.props)}updateCytoscape(e,t){const n=this._cy,{diff:r,toJson:i,get:a,forEach:o}=t;((e,t,n,r,i,a,o)=>{e.batch((()=>{(r===B||A(t,n,r,"elements"))&&((e,t,n,r,i,a,o)=>{const s=[],u=e.collection(),l=[],c={},d={},h=e=>i(i(e,"data"),"id");a(n,(e=>{const t=h(e);d[t]=e})),null!=t&&a(t,(t=>{const n=h(t);c[n]=t,(e=>null!=d[e])(n)||u.merge(e.getElementById(n))})),a(n,(e=>{const t=h(e),n=(e=>c[e])(t);(e=>null!=c[e])(t)?l.push({ele1:n,ele2:e}):s.push(r(e))})),u.length>0&&e.remove(u),s.length>0&&e.add(s),l.forEach((({ele1:t,ele2:n})=>z(e,t,n,r,i,o)))})(e,I(t,"elements"),I(n,"elements"),i,a,o,r),A(t,n,r,"stylesheet")&&((e,t,n,r)=>{const i=e.style();null!=i&&i.fromJson(r(n)).update()})(e,I(t,"stylesheet"),I(n,"stylesheet"),i),["zoom","minZoom","maxZoom","zoomingEnabled","userZoomingEnabled","pan","panningEnabled","userPanningEnabled","boxSelectionEnabled","autoungrabify","autolock","autounselectify"].forEach((a=>{A(t,n,r,a)&&((e,t,n,r,i)=>{e[t](i(r))})(e,a,I(t,a),I(n,a),i)}))})),A(t,n,r,"layout")&&((e,t,n,r)=>{const i=r(n);null!=i&&e.layout(i).run()})(e,I(t,"layout"),I(n,"layout"),i)})(n,e,t,r,i,a,o),null!=t.cy&&t.cy(n)}componentDidUpdate(e){this.updateCytoscape(e,this.props)}componentWillUnmount(){this._cy.destroy()}render(){const{id:e,className:t,style:n}=this.props;return y().createElement("div",{ref:this.containerRef,id:e,className:t,style:n})}}var L=n(6486),R=n.n(L);const j={randomUUID:"undefined"!=typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};let V;const F=new Uint8Array(16);function q(){if(!V&&(V="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!V))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return V(F)}const W=[];for(let e=0;e<256;++e)W.push((e+256).toString(16).slice(1));const Y=function(e,t,n){if(j.randomUUID&&!t&&!e)return j.randomUUID();const r=(e=e||{}).random||(e.rng||q)();if(r[6]=15&r[6]|64,r[8]=63&r[8]|128,t){n=n||0;for(let e=0;e<16;++e)t[n+e]=r[e];return t}return function(e,t=0){return W[e[t+0]]+W[e[t+1]]+W[e[t+2]]+W[e[t+3]]+"-"+W[e[t+4]]+W[e[t+5]]+"-"+W[e[t+6]]+W[e[t+7]]+"-"+W[e[t+8]]+W[e[t+9]]+"-"+W[e[t+10]]+W[e[t+11]]+W[e[t+12]]+W[e[t+13]]+W[e[t+14]]+W[e[t+15]]}(r)};function X(e){return X="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},X(e)}function H(e,t){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:!this.shouldResize,t=this.cy;e!==this.shouldResize&&(e?(t.on("render",this.updateViewport),t.on("resize",this.resize),this.updateViewport(t)):(t.removeListener("render",this.updateViewport),t.removeListener("resize",this.resize)),this.shouldResize=e)}},{key:"getViewport",value:function(){var e=this.cy;return{position:e.pan(),zoom:e.zoom(),renderedBB:Object.assign({},e.elements().renderedBoundingBox()),height:e.height(),width:e.width()}}},{key:"updateViewport",value:function(){var e=this.cy;this.prev=this.getViewport(e)}},{key:"_xConstrainedZoom",value:function(e){var t=this.curr,n=this.prev,r=this.marginPercentage.left*t.width;t.position.x=r+(n.position.x-n.renderedBB.x1);var i=t.renderedBB.y1+t.renderedBB.h/2-t.renderedBB.h/n.zoom*e/2;i+=(t.height-n.height)/2,t.position.y=i+(n.position.y-n.renderedBB.y1)}},{key:"_xChangeMargin",value:function(e){var t=this.curr,n=this.prev,r=n.renderedBB.x1+n.renderedBB.w/2,i=r/n.width*e;t.position.x=t.position.x+(i-r)}},{key:"_yConstrainedZoom",value:function(e){var t=this.curr,n=this.prev,r=this.marginPercentage.top*t.height;t.position.y=r+(n.position.y-n.renderedBB.y1);var i=t.renderedBB.x1+t.renderedBB.w/2-t.renderedBB.w/n.zoom*e/2;i+=(t.width-n.width)/2,t.position.x=i+(n.position.x-n.renderedBB.x1)}},{key:"_yChangeMargin",value:function(){var e=this.curr,t=this.prev,n=t.renderedBB.y1+t.renderedBB.h/2,r=n/t.height*e.height;e.position.y=e.position.y+(r-n)}},{key:"resize",value:function(){var e=this.cy;this.curr=this.getViewport(e);var t=this.curr,n=this.prev,r=n.renderedBB.x1>=0&&n.renderedBB.y1>=0&&n.renderedBB.x2<=n.width&&n.renderedBB.y2<=n.height;if(this.marginPercentage={left:n.renderedBB.x1/n.width,top:n.renderedBB.y1/n.height},Math.abs(1-t.width/n.width)>Math.abs(1-t.height/n.height)){var i=n.zoom/n.width*t.width;if(r)for(var a=Math.min((t.renderedBB.y1+t.renderedBB.h/2)*n.zoom*2/t.renderedBB.h,-(t.renderedBB.y1+t.renderedBB.h/2-n.height)*n.zoom*2/t.renderedBB.h)-this.containedZoomMargin,o=n.width/n.zoom*a,s=t.zoom=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return o=e.done,e},e:function(e){s=!0,a=e},f:function(){try{o||null==n.return||n.return()}finally{if(s)throw a}}}}function $(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);ne.maxZoom()||t0&&(r.selector=r.selector+", "),r.selector=r.selector+"edge"):"node"===l?(r.selector.length>0&&(r.selector=r.selector+", "),r.selector=r.selector+"node"):"canvas"===l?r.coreAsWell=!0:console.error("Error: selector ".concat(l," is not available. Choose one of 'node', 'edge' or 'canvas'."))}}catch(e){u.e(e)}finally{u.f()}}o.push(r)};for(s.s();!(i=s.n()).done;)u()}catch(e){s.e(e)}finally{s.f()}return o},this.cyResponsiveClass=new Z(e),this.cyResponsiveClass.toggle(this.props.responsive),s(e.extent())}}},{key:"handleImageGeneration",value:function(e,t,n,r){var i=this,a={};t&&(a=t);var o,s,u,l=a.output;switch(a.output="blob",n){case"store":default:o=!1,s=!0;break;case"download":o=!0,s=!1;break;case"both":o=!0,s=!0}if("png"===e&&(u=this._cy.png(a)),"jpg"!==e&&"jpeg"!==e||(u=this._cy.jpg(a)),"svg"===e&&(u=this._cy.svg(a)),u&&o){var c=r;if(r||(c="cyto"),"svg"!==e)this.downloadBlob(u,c+"."+e);else{var d=new Blob([u],{type:"image/svg+xml;charset=utf-8"});this.downloadBlob(d,c+"."+e)}}if(u&&s){if(l||(l="base64uri"),"base64uri"!==l&&"base64"!==l)return;var h=new FileReader;h.onload=function(){var e=h.result;"base64"===l&&(e=e.replace(/^data:.+;base64,/,"")),i.props.setProps({imageData:e})},h.readAsDataURL(u)}}},{key:"downloadBlob",value:function(e,t){var n=document.createElement("a");n.style="display: none",document.body.appendChild(n);var r=window.URL.createObjectURL(e);n.href=r,n.download=t,n.click(),window.URL.revokeObjectURL(r),document.body.removeChild(n)}},{key:"updateContextMenu",value:function(e){this._cy.contextMenus({menuItems:this.createMenuItems(e),menuItemClasses:["custom-menu-item"]})}},{key:"graphOutOfView",value:function(){var e=this._cy.width(),t=this._cy.height(),n=this._cy.elements().renderedBoundingbox();return n.x1>e||n.y1>t||n.x2<0||n.y2<0}},{key:"componentDidUpdate",value:function(e){var t=this.props,n=t.contextMenu,r=t.elements;!R().isEqual(e.contextMenu,n)&&this._cy&&this.updateContextMenu(n),!R().isEqual(e.elements,r)&&this._cy&&this.graphOutOfView()&&this._cy.fit()}},{key:"componentDidMount",value:function(){var e=this.props.contextMenu;this._cy&&e.length>0&&this.updateContextMenu(e)}},{key:"render",value:function(){var e=this.props,t=e.id,n=e.style,r=e.className,i=e.elements,a=e.stylesheet,o=e.layout,s=e.contextMenu,u=e.contextMenuData,l=e.pan,c=e.zoom,d=e.panningEnabled,h=e.userPanningEnabled,f=e.minZoom,p=e.maxZoom,v=e.zoomingEnabled,g=e.userZoomingEnabled,m=e.wheelSensitivity,b=e.boxSelectionEnabled,x=e.autoungrabify,w=e.autolock,_=e.autounselectify,E=e.generateImage,k=e.responsive;return Object.keys(E).length>0&&(this.props.setProps({generateImage:{}}),this._cy&&this.handleImageGeneration(E.type,E.options,E.action,E.filename)),this.cyResponsiveClass&&this.cyResponsiveClass.toggle(k),y().createElement(N,{id:t,cy:this.handleCy,className:r,style:n,elements:N.normalizeElements(i),stylesheet:a,layout:o,contextMenu:s,contextMenuData:u,pan:l,zoom:c,panningEnabled:d,userPanningEnabled:h,minZoom:f,maxZoom:p,zoomingEnabled:v,userZoomingEnabled:g,wheelSensitivity:m,boxSelectionEnabled:b,autoungrabify:x,autolock:w,autounselectify:_})}}],r&&Q(n.prototype,r),Object.defineProperty(n,"prototype",{writable:!1}),t}(g.Component);oe.propTypes={id:b().string,className:b().string,style:b().object,setProps:b().func,elements:b().oneOfType([b().arrayOf(b().shape({group:b().string,data:b().shape({id:b().string,label:b().string,parent:b().string,source:b().string,target:b().string}),position:b().shape({x:b().number,y:b().number}),selected:b().bool,selectable:b().bool,locked:b().bool,grabbable:b().bool,classes:b().string})),b().exact({nodes:b().array,edges:b().array})]),stylesheet:b().arrayOf(b().exact({selector:b().string.isRequired,style:b().object.isRequired})),layout:b().shape({name:b().oneOf(["random","preset","circle","concentric","grid","breadthfirst","cose","cose-bilkent","fcose","cola","euler","spread","dagre","klay"]).isRequired,fit:b().bool,padding:b().number,animate:b().bool,animationDuration:b().number,boundingBox:b().object}),contextMenu:b().arrayOf(b().exact({id:b().string.isRequired,label:b().string.isRequired,tooltipText:b().string,availableOn:b().array,onClick:b().string,onClickCustom:b().string})),contextMenuData:b().exact({menuItemId:b().string,x:b().number,y:b().number,timeStamp:b().number,elementId:b().string,edgeSource:b().string,edgeTarget:b().string}),pan:b().exact({x:b().number,y:b().number}),zoom:b().number,panningEnabled:b().bool,userPanningEnabled:b().bool,minZoom:b().number,maxZoom:b().number,zoomingEnabled:b().bool,userZoomingEnabled:b().bool,wheelSensitivity:b().number,boxSelectionEnabled:b().bool,autoungrabify:b().bool,autolock:b().bool,autounselectify:b().bool,autoRefreshLayout:b().bool,tapNode:b().exact({edgesData:b().array,renderedPosition:b().object,timeStamp:b().number,classes:b().string,data:b().object,grabbable:b().bool,group:b().string,locked:b().bool,position:b().object,selectable:b().bool,selected:b().bool,style:b().object,ancestorsData:b().oneOfType([b().object,b().array]),childrenData:b().oneOfType([b().object,b().array]),descendantsData:b().oneOfType([b().object,b().array]),parentData:b().oneOfType([b().object,b().array]),siblingsData:b().oneOfType([b().object,b().array]),isParent:b().bool,isChildless:b().bool,isChild:b().bool,isOrphan:b().bool,relativePosition:b().object}),tapNodeData:b().object,tapEdge:b().exact({isLoop:b().bool,isSimple:b().bool,midpoint:b().object,sourceData:b().object,sourceEndpoint:b().object,targetData:b().object,targetEndpoint:b().object,timeStamp:b().number,classes:b().string,data:b().object,grabbable:b().bool,group:b().string,locked:b().bool,selectable:b().bool,selected:b().bool,style:b().object}),tapEdgeData:b().object,mouseoverNodeData:b().object,mouseoverEdgeData:b().object,selectedNodeData:b().array,selectedEdgeData:b().array,generateImage:b().shape({type:b().oneOf(["svg","png","jpg","jpeg"]),options:b().object,action:b().oneOf(["store","download","both"]),filename:b().string}),imageData:b().string,responsive:b().bool,extent:b().object,clearOnUnhover:b().bool},oe.defaultProps={style:{width:"600px",height:"600px"},layout:{name:"grid"},pan:{x:0,y:0},zoom:1,minZoom:1e-50,maxZoom:1e50,zoomingEnabled:!0,userZoomingEnabled:!0,panningEnabled:!0,userPanningEnabled:!0,wheelSensitivity:1,boxSelectionEnabled:!1,autolock:!1,autoungrabify:!1,autounselectify:!1,autoRefreshLayout:!0,generateImage:{},imageData:null,responsive:!1,clearOnUnhover:!1,elements:[],contextMenu:[]};const se=oe})(),window.dash_cytoscape=r})(); \ No newline at end of file +(()=>{var e={1686:()=>{!function(){"use strict";var e=function(e,t){var n=function(e){for(var t=0,n=e.length;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(e){throw e},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,s=!0,u=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return s=e.done,e},e:function(e){u=!0,o=e},f:function(){try{s||null==r.return||r.return()}finally{if(u)throw o}}}}var r=!0,i=!1,a="querySelectorAll",o="querySelectorAll",s=self,u=s.document,l=s.Element,c=s.MutationObserver,d=s.Set,h=s.WeakMap,f=function(e){return o in e},p=[].filter,v=function(e){var t=new h,s=function(n,r){var i;if(r)for(var a,o=function(e){return e.matches||e.webkitMatchesSelector||e.msMatchesSelector}(n),s=0,u=g.length;s1&&void 0!==arguments[1])||arguments[1],n=0,r=e.length;n1&&void 0!==arguments[1]?arguments[1]:document,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:MutationObserver,s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:["*"],u=function t(i,o,s,u,l,c){var d,h=n(i);try{for(h.s();!(d=h.n()).done;){var f=d.value;(c||a in f)&&(l?s.has(f)||(s.add(f),u.delete(f),e(f,l)):u.has(f)||(u.add(f),s.delete(f),e(f,l)),c||t(f[a](o),o,s,u,l,r))}}catch(e){h.e(e)}finally{h.f()}},l=new o((function(e){if(s.length){var t,a=s.join(","),o=new Set,l=new Set,c=n(e);try{for(c.s();!(t=c.n()).done;){var d=t.value,h=d.addedNodes,f=d.removedNodes;u(f,a,o,l,i,i),u(h,a,o,l,r,i)}}catch(e){c.e(e)}finally{c.f()}}})),c=l.observe;return(l.observe=function(e){return c.call(l,e,{subtree:r,childList:r})})(t),l}(s,y,c,g),b=l.prototype.attachShadow;return b&&(l.prototype.attachShadow=function(e){var t=b.call(this,e);return m.observe(t),t}),g.length&&v(y[o](g)),{drop:function(e){for(var n=0,r=e.length;n{window.dash_clientside||(window.dash_clientside={});var e=20037508.34;function t(t,n){return[180*t/e,360*Math.atan(Math.exp(-n*Math.PI/e))/Math.PI-90]}window.dash_clientside.cyleaflet={updateLeafBounds:function(e,n,r){var i=e;if(!i){if(!r)return window.dash_clientside.no_update;i=r}var a=t(i.x1,i.y1),o=a[0],s=a[1],u=t(i.x2,i.y2),l=u[0],c=u[1],d=(new Date).getTime(),h=[[c,o],[s,l]];return s===c||o===l?window.dash_clientside.no_update:[d,{bounds:h,options:{animate:!0}},i]},transformElements:function(t){return t.map((function(t){if(Object.prototype.hasOwnProperty.call(t.data,"lat")){var n=(r=t.data.lon,i=t.data.lat,[r*e/180,-Math.log(Math.tan((90+i)*Math.PI/360))*e/Math.PI]);return{data:t.data,position:{y:n[1],x:n[0]}}}var r,i;return t}))},updateLonLat:function(e){return e.length>0?e.map((function(e){if(void 0!==e.position&&Object.prototype.hasOwnProperty.call(e.position,"x")&&0!==e.position.x&&0!==e.position.y){var n=t(e.position.x,e.position.y);return{position:e.position,data:Object.assign({},e.data,{lon:n[0],lat:n[1]})}}return e})):window.dash_clientside.no_update},updateCytoMaxZoom:function(e){var t=e;e.length>=1&&1===(t=e.filter((function(e){return"TileLayer"===e.type}))).length&&(t=t[0]);var n=18;return void 0!==t.props&&Object.prototype.hasOwnProperty.call(t.props,"maxZoom")&&(n=t.props.maxZoom),function(e){return.418*Math.pow(2,e-16)}(n)}}},372:(e,t,n)=>{"use strict";n.d(t,{Z:()=>s});var r=n(8081),i=n.n(r),a=n(3645),o=n.n(a)()(i());o.push([e.id,".cytoscape-reference p {\n display: inline;\n}\n\n.custom-menu-item {\n background-color: rgb(241, 241, 241);\n font-weight: bold !important;\n width: 170px;\n display: inline-block;\n height: 38px;\n padding: 0 30px;\n color: #555;\n text-align: center;\n font-size: 11px;\n font-weight: 600;\n line-height: 38px;\n letter-spacing: 0.1rem;\n text-decoration: none;\n white-space: nowrap;\n border-radius: 4px;\n border: 1px solid #bbb;\n cursor: pointer;\n box-sizing: border-box;\n}\n.custom-menu-item:hover {\n color: rgb(104, 104, 104);\n border-color: rgb(97, 97, 97);\n outline: 0;\n}\n\n.cy-context-menus-cxt-menu {\n display: none;\n}\n",""]);const s=o},3645:e=>{"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var n="",r=void 0!==t[5];return t[4]&&(n+="@supports (".concat(t[4],") {")),t[2]&&(n+="@media ".concat(t[2]," {")),r&&(n+="@layer".concat(t[5].length>0?" ".concat(t[5]):""," {")),n+=e(t),r&&(n+="}"),t[2]&&(n+="}"),t[4]&&(n+="}"),n})).join("")},t.i=function(e,n,r,i,a){"string"==typeof e&&(e=[[null,e,void 0]]);var o={};if(r)for(var s=0;s0?" ".concat(c[5]):""," {").concat(c[1],"}")),c[5]=a),n&&(c[2]?(c[1]="@media ".concat(c[2]," {").concat(c[1],"}"),c[2]=n):c[2]=n),i&&(c[4]?(c[1]="@supports (".concat(c[4],") {").concat(c[1],"}"),c[4]=i):c[4]="".concat(i)),t.push(c))}},t}},8081:e=>{"use strict";e.exports=function(e){return e[1]}},474:e=>{self,e.exports=(()=>{var e={621:(e,t,n)=>{"use strict";function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);nD});var s="cy-context-menus-divider",u={evtType:"cxttap",menuItems:[],menuItemClasses:["cy-context-menus-cxt-menuitem"],contextMenuClasses:["cy-context-menus-cxt-menu"],submenuIndicator:{src:"assets/submenu-indicator-default.svg",width:12,height:12}};function l(e){return(l="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function c(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return d(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?d(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,s=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return o=e.done,e},e:function(e){s=!0,a=e},f:function(){try{o||null==n.return||n.return()}finally{if(s)throw a}}}}function d(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n1&&void 0!==arguments[1]?arguments[1]:void 0;this.hasSubmenu()||this._createSubmenu(),this.submenu.appendMenuItem(e,t)}},{key:"isClickable",value:function(){return void 0!==this.onClickFunction}},{key:"display",value:function(){this.show=!0,this.style.display="block"}},{key:"isVisible",value:function(){return!0===this.show&&"none"!==this.style.display}},{key:"removeSubmenu",value:function(){this.hasSubmenu()&&(this.submenu.removeAllMenuItems(),this.detachSubmenu())}},{key:"detachSubmenu",value:function(){this.hasSubmenu()&&(this.removeChild(this.submenu),this.removeChild(this.indicator),this.removeEventListener("mouseenter",this.mouseEnterHandler),this.removeEventListener("mouseleave",this.mouseLeaveHandler),this.submenu=void 0,this.indicator=void 0)}},{key:"_onMouseEnter",value:function(e){var t=this.getBoundingClientRect(),r=function(e){e.style.opacity="0",e.style.display="block";var t=e.getBoundingClientRect();return e.style.opacity="1",e.style.display="none",t}(this.submenu),i=t.right+r.width>window.innerWidth,a=t.top+r.height>window.innerHeight;i||a?i&&!a?(this.submenu.style.right=this.clientWidth+"px",this.submenu.style.top="0px",this.submenu.style.left="auto",this.submenu.style.bottom="auto"):i&&a?(this.submenu.style.right=this.clientWidth+"px",this.submenu.style.bottom="0px",this.submenu.style.top="auto",this.submenu.style.left="auto"):(this.submenu.style.left=this.clientWidth+"px",this.submenu.style.bottom="0px",this.submenu.style.right="auto",this.submenu.style.top="auto"):(this.submenu.style.left=this.clientWidth+"px",this.submenu.style.top="0px",this.submenu.style.right="auto",this.submenu.style.bottom="auto"),this.submenu.display();var o=Array.from(this.submenu.children).filter((function(e){if(e instanceof n)return e.isVisible()})),u=o.length;o.forEach((function(e,t){e instanceof n&&(t=(a=n.getBoundingClientRect()).left&&r<=a.right&&i>=a.top&&i<=a.bottom||this.submenu.hide()}},{key:"_createSubmenu",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];this.indicator=this.scratchpad.submenuIndicatorGen(),this.submenu=new S(this.onMenuItemClick,this.scratchpad),this.appendChild(this.indicator),this.appendChild(this.submenu);var t,r=c(e);try{for(r.s();!(t=r.n()).done;){var i=new n(t.value,this.onMenuItemClick,this.scratchpad);this.submenu.appendMenuItem(i)}}catch(e){r.e(e)}finally{r.f()}this.mouseEnterHandler=this._onMouseEnter.bind(this),this.mouseLeaveHandler=this._onMouseLeave.bind(this),this.addEventListener("mouseenter",this.mouseEnterHandler),this.addEventListener("mouseleave",this.mouseLeaveHandler)}},{key:"_getMenuItemClassStr",value:function(e,t){return t?e+" "+s:e}}],[{key:"define",value:function(){o("ctx-menu-item",n,"button")}}]),n}(b(HTMLButtonElement)),S=function(e){v(n,e);var t=g(n);function n(e,r){var i,a;return h(this,n),m((i=y(a=t.call(this)),E(n.prototype)),"setAttribute",i).call(i,"class",r.cxtMenuClasses),a.style.position="absolute",a.onMenuItemClick=e,a.scratchpad=r,a}return p(n,[{key:"hide",value:function(){this.isVisible()&&(this.hideSubmenus(),this.style.display="none")}},{key:"display",value:function(){this.style.display="block"}},{key:"isVisible",value:function(){return"none"!==this.style.display}},{key:"hideMenuItems",value:function(){var e,t=c(this.children);try{for(t.s();!(e=t.n()).done;){var n=e.value;n instanceof HTMLElement?n.style.display="none":console.warn("".concat(n," is not a HTMLElement"))}}catch(e){t.e(e)}finally{t.f()}}},{key:"hideSubmenus",value:function(){var e,t=c(this.children);try{for(t.s();!(e=t.n()).done;){var n=e.value;n instanceof C&&n.submenu&&n.submenu.hide()}}catch(e){t.e(e)}finally{t.f()}}},{key:"appendMenuItem",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0;if(void 0!==t){if(t.parentNode!==this)throw new Error("The item with id='".concat(t.id,"' is not a child of the context menu"));this.insertBefore(e,t)}else this.appendChild(e);e.isClickable()&&this._performBindings(e)}},{key:"moveBefore",value:function(e,t){if(e.parentNode!==this)throw new Error("The item with id='".concat(e.id,"' is not a child of context menu"));if(t.parentNode!==this)throw new Error("The item with id='".concat(t.id,"' is not a child of context menu"));this.removeChild(e),this.insertBefore(e,t)}},{key:"removeAllMenuItems",value:function(){for(;this.firstChild;){var e=this.lastChild;e instanceof C?this._removeImmediateMenuItem(e):(console.warn("Found non menu item in the context menu: ",e),this.removeChild(e))}}},{key:"_removeImmediateMenuItem",value:function(e){if(!this._detachImmediateMenuItem(e))throw new Error("menu item(id=".concat(e.id,") is not in the context menu"));e.detachSubmenu(),e.unbindOnClickFunctions()}},{key:"_detachImmediateMenuItem",value:function(e){if(e.parentNode===this){if(this.removeChild(e),this.children.length<=0){var t=this.parentNode;t instanceof C&&t.detachSubmenu()}return!0}return!1}},{key:"_performBindings",value:function(e){var t=this._bindOnClick(e.onClickFunction);e.bindOnClickFunction(t),e.bindOnClickFunction(this.onMenuItemClick)}},{key:"_bindOnClick",value:function(e){var t=this;return function(){var n=t.scratchpad.currentCyEvent;e(n)}}}],[{key:"define",value:function(){o("menu-item-list",n,"div")}}]),n}(b(HTMLDivElement)),P=function(e){v(n,e);var t=g(n);function n(e,r){var i;return h(this,n),(i=t.call(this,e,r)).onMenuItemClick=function(t){k(t),i.hide(),e()},i}return p(n,[{key:"removeMenuItem",value:function(e){var t=e.parentElement;t instanceof S&&this.contains(t)&&t._removeImmediateMenuItem(e)}},{key:"appendMenuItem",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0;this.ensureDoesntContain(e.id),m(E(n.prototype),"appendMenuItem",this).call(this,e,t)}},{key:"insertMenuItem",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.before,r=t.parent;if(this.ensureDoesntContain(e.id),void 0!==n){if(!this.contains(n))throw new Error("before(id=".concat(n.id,") is not in the context menu"));var i=n.parentNode;if(!(i instanceof S))throw new Error("Parent of before(id=".concat(n.id,") is not a submenu"));i.appendMenuItem(e,n)}else if(void 0!==r){if(!this.contains(r))throw new Error("parent(id=".concat(r.id,") is not a descendant of the context menu"));r.appendSubmenuItem(e)}else this.appendMenuItem(e)}},{key:"moveBefore",value:function(e,t){var n=e.parentElement;if(!this.contains(n))throw new Error("parent(id=".concat(n.id,") is not in the contex menu"));if(!this.contains(t))throw new Error("before(id=".concat(t.id,") is not in the context menu"));n.removeChild(e),this.insertMenuItem(e,{before:t})}},{key:"moveToSubmenu",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,r=e.parentElement;if(!(r instanceof S))throw new Error("current parent(id=".concat(r.id,") is not a submenu"));if(!this.contains(r))throw new Error("parent of the menu item(id=".concat(r.id,") is not in the context menu"));if(null!==t){if(!this.contains(t))throw new Error("parent(id=".concat(t.id,") is not in the context menu"));r._detachImmediateMenuItem(e),t.appendSubmenuItem(e)}else null!==n&&(e.selector=n.selector,e.coreAsWell=n.coreAsWell),r._detachImmediateMenuItem(e),this.appendMenuItem(e)}},{key:"ensureDoesntContain",value:function(e){var t=document.getElementById(e);if(void 0!==t&&this.contains(t))throw new Error("There is already an element with id=".concat(e," in the context menu"))}}],[{key:"define",value:function(){o("ctx-menu",n,"div")}}]),n}(S);function T(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n1&&void 0!==arguments[1]?arguments[1]:void 0,n=p(e);if(void 0!==t){var r=g(t);d.insertMenuItem(n,{parent:r})}else d.insertMenuItem(n)},f=function(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,n=0;n0&&(s.top+=h,s.left+=h);var f=r.clientHeight,p=r.clientWidth,v=f/2,g=p/2;u.y>v&&u.x<=g?(d.style.left=u.x+"px",d.style.bottom=f-u.y+"px",d.style.right="auto",d.style.top="auto"):u.y>v&&u.x>g?(d.style.right=p-u.x+"px",d.style.bottom=f-u.y+"px",d.style.left="auto",d.style.top="auto"):u.y<=v&&u.x<=g?(d.style.left=u.x+"px",d.style.top=u.y+"px",d.style.right="auto",d.style.bottom="auto"):(d.style.right=p-u.x+"px",d.style.top=u.y+"px",d.style.left="auto",d.style.bottom="auto")}}(e);var n,r=e.target||e.cyTarget,i=function(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return T(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?T(e,t):void 0}}(e))){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,s=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return o=e.done,e},e:function(e){s=!0,a=e},f:function(){try{o||null==n.return||n.return()}finally{if(s)throw a}}}}(d.children);try{for(i.s();!(n=i.n()).done;){var a=n.value;a instanceof C&&(r===t?a.coreAsWell:r.is(a.selector))&&a.show&&(d.display(),l("anyVisibleChild",!0),a.display())}}catch(e){i.e(e)}finally{i.f()}var u=Array.from(d.children).filter((function(e){if(e instanceof C)return e.isVisible()})),c=u.length;u.forEach((function(e,t){e instanceof C&&(t=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(e){throw e},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,s=!0,u=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return s=e.done,e},e:function(e){u=!0,o=e},f:function(){try{s||null==n.return||n.return()}finally{if(u)throw o}}}}(document.getElementsByClassName("cy-context-menus-cxt-menu"));try{for(t.s();!(e=t.n()).done;)e.value.addEventListener("contextmenu",(function(e){return e.preventDefault()}))}catch(e){t.e(e)}finally{t.f()}}()}return function(e){return{isActive:function(){return o("active")},appendMenuItem:function(t){return h(t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0),e},appendMenuItems:function(t){return f(t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0),e},removeMenuItem:function(t){var n=g(t);return d.removeMenuItem(n),e},setTrailingDivider:function(t,n){var r=g(t);return r.setHasTrailingDivider(n),n?r.classList.add(s):r.classList.remove(s),e},insertBeforeMenuItem:function(t,n){var r=p(t),i=g(n);return d.insertMenuItem(r,{before:i}),e},moveToSubmenu:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=g(t);if(null===n)d.moveToSubmenu(r);else if("string"==typeof n){var i=g(n.toString());d.moveToSubmenu(r,i)}else void 0!==n.coreAsWell||void 0!==n.selector?d.moveToSubmenu(r,null,n):console.warn("options neither has coreAsWell nor selector property but it is an object. Are you sure that this is what you want to do?");return e},moveBeforeOtherMenuItem:function(t,n){var r=g(t),i=g(n);return d.moveBefore(r,i),e},disableMenuItem:function(t){return g(t).disable(),e},enableMenuItem:function(t){return g(t).enable(),e},hideMenuItem:function(t){return g(t).hide(),e},showMenuItem:function(t){return g(t).display(),e},destroy:function(){return v(),e}}}(this)}},579:(e,t,n)=>{var r=n(621).contextMenus,i=function(e){e&&e("core","contextMenus",r)};"undefined"!=typeof cytoscape&&i(cytoscape),e.exports=i}},t={};function n(r){var i=t[r];if(void 0!==i)return i.exports;var a=t[r]={exports:{}};return e[r](a,a.exports,n),a.exports}return n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n(579)})()},9058:(e,t,n)=>{"use strict";var r=n(3279),i=n(4485),a=n(7361),o=n(6968),s=n(84);function u(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var l=u(r),c=u(i),d=u(a),h=u(o),f=u(s);function p(e){return p="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},p(e)}function v(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function g(e,t){for(var n=0;ne.length)&&(t=e.length);for(var n=0,r=new Array(t);nt?1:0},Q=null!=Object.assign?Object.assign.bind(Object):function(e){for(var t=arguments,n=1;n1&&void 0!==arguments[1]?arguments[1]:se;!(t=e.next()).done;)n=65599*n+t.value|0;return n},ce=function(e){return 65599*(arguments.length>1&&void 0!==arguments[1]?arguments[1]:se)+e|0},de=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:ue;return(t<<5)+t+e|0},he=function(e){return 2097152*e[0]+e[1]},fe=function(e,t){return[ce(e[0],t[0]),de(e[1],t[1])]},pe=function(e,t){var n={value:0,done:!1},r=0,i=e.length;return le({next:function(){return r=0&&(e[r]!==t||(e.splice(r,1),!n));r--);},Ae=function(e){e.splice(0,e.length)},ze=function(e,t,n){return n&&(t=Y(n,t)),e[t]},Ne=function(e,t,n,r){n&&(t=Y(n,t)),e[t]=r},Le="undefined"!=typeof Map?Map:function(){function e(){v(this,e),this._obj={}}return y(e,[{key:"set",value:function(e,t){return this._obj[e]=t,this}},{key:"delete",value:function(e){return this._obj[e]=void 0,this}},{key:"clear",value:function(){this._obj={}}},{key:"has",value:function(e){return void 0!==this._obj[e]}},{key:"get",value:function(e){return this._obj[e]}}]),e}(),Re=function(){function e(t){if(v(this,e),this._obj=Object.create(null),this.size=0,null!=t){var n;n=null!=t.instanceString&&t.instanceString()===this.instanceString()?t.toArray():t;for(var r=0;r2&&void 0!==arguments[2])||arguments[2];if(void 0!==e&&void 0!==t&&L(e)){var r=t.group;if(null==r&&(r=t.data&&null!=t.data.source&&null!=t.data.target?"edges":"nodes"),"nodes"===r||"edges"===r){this.length=1,this[0]=this;var i=this._private={cy:e,single:!0,data:t.data||{},position:t.position||{x:0,y:0},autoWidth:void 0,autoHeight:void 0,autoPadding:void 0,compoundBoundsClean:!1,listeners:[],group:r,style:{},rstyle:{},styleCxts:[],styleKeys:{},removed:!0,selected:!!t.selected,selectable:void 0===t.selectable||!!t.selectable,locked:!!t.locked,grabbed:!1,grabbable:void 0===t.grabbable||!!t.grabbable,pannable:void 0===t.pannable?"edges"===r:!!t.pannable,active:!1,classes:new je,animation:{current:[],queue:[]},rscratch:{},scratch:t.scratch||{},edges:[],children:[],parent:t.parent&&t.parent.isNode()?t.parent:null,traversalCache:{},backgrounding:!1,bbCache:null,bbCacheShift:{x:0,y:0},bodyBounds:null,overlayBounds:null,labelBounds:{all:null,source:null,target:null,main:null},arrowBounds:{source:null,target:null,"mid-source":null,"mid-target":null}};if(null==i.position.x&&(i.position.x=0),null==i.position.y&&(i.position.y=0),t.renderedPosition){var a=t.renderedPosition,o=e.pan(),s=e.zoom();i.position={x:(a.x-o.x)/s,y:(a.y-o.y)/s}}var u=[];M(t.classes)?u=t.classes:T(t.classes)&&(u=t.classes.split(/\s+/));for(var l=0,c=u.length;l0;){var _=m.pop(),E=g(_),k=_.id();if(h[k]=E,E!==1/0)for(var C=_.neighborhood().intersect(p),S=0;S0)for(n.unshift(t);d[i];){var a=d[i];n.unshift(a.edge),n.unshift(a.node),i=(r=a.node).id()}return o.spawn(n)}}}},Xe={kruskal:function(e){e=e||function(e){return 1};for(var t=this.byGroup(),n=t.nodes,r=t.edges,i=n.length,a=new Array(i),o=n,s=function(e){for(var t=0;t0;){if(l=(u=g.pop()).id(),y.delete(l),_++,l===h){for(var E=[],k=i,C=h,S=b[C];E.unshift(k),null!=S&&E.unshift(S),null!=(k=m[C]);)S=b[C=k.id()];return{found:!0,distance:f[l],path:this.spawn(E),steps:_}}v[l]=!0;for(var P=u._private.edges,T=0;TS&&(f[C]=S,y[C]=k,m[C]=x),!i){var P=k*l+E;!i&&f[P]>S&&(f[P]=S,y[P]=E,m[P]=x)}}}for(var D=0;D1&&void 0!==arguments[1]?arguments[1]:a,r=[],i=m(e);;){if(null==i)return t.spawn();var o=y(i),u=o.edge,l=o.pred;if(r.unshift(i[0]),i.same(n)&&r.length>0)break;null!=u&&r.unshift(u),i=l}return s.spawn(r)},hasNegativeWeightCycle:p,negativeWeightCycles:v}}},Qe=Math.sqrt(2),Je=function(e,t,n){0===n.length&&Ce("Karger-Stein must be run on a connected (sub)graph");for(var r=n[e],i=r[1],a=r[2],o=t[i],s=t[a],u=n,l=u.length-1;l>=0;l--){var c=u[l],d=c[1],h=c[2];(t[d]===o&&t[h]===s||t[d]===s&&t[h]===o)&&u.splice(l,1)}for(var f=0;fr;){var i=Math.floor(Math.random()*t.length);t=Je(i,e,t),n--}return t},tt={kargerStein:function(){var e=this,t=this.byGroup(),n=t.nodes,r=t.edges;r.unmergeBy((function(e){return e.isLoop()}));var i=n.length,a=r.length,o=Math.ceil(Math.pow(Math.log(i)/Math.LN2,2)),s=Math.floor(i/Qe);if(!(i<2)){for(var u=[],l=0;l0?1:e<0?-1:0},ut=function(e,t){return Math.sqrt(lt(e,t))},lt=function(e,t){var n=t.x-e.x,r=t.y-e.y;return n*n+r*r},ct=function(e){for(var t=e.length,n=0,r=0;r=e.x1&&e.y2>=e.y1)return{x1:e.x1,y1:e.y1,x2:e.x2,y2:e.y2,w:e.x2-e.x1,h:e.y2-e.y1};if(null!=e.w&&null!=e.h&&e.w>=0&&e.h>=0)return{x1:e.x1,y1:e.y1,x2:e.x1+e.w,y2:e.y1+e.h,w:e.w,h:e.h}}},vt=function(e,t){e.x1=Math.min(e.x1,t.x1),e.x2=Math.max(e.x2,t.x2),e.w=e.x2-e.x1,e.y1=Math.min(e.y1,t.y1),e.y2=Math.max(e.y2,t.y2),e.h=e.y2-e.y1},gt=function(e,t,n){e.x1=Math.min(e.x1,t),e.x2=Math.max(e.x2,t),e.w=e.x2-e.x1,e.y1=Math.min(e.y1,n),e.y2=Math.max(e.y2,n),e.h=e.y2-e.y1},yt=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return e.x1-=t,e.x2+=t,e.y1-=t,e.y2+=t,e.w=e.x2-e.x1,e.h=e.y2-e.y1,e},mt=function(e){var t,n,r,i,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[0];if(1===a.length)t=n=r=i=a[0];else if(2===a.length)t=r=a[0],i=n=a[1];else if(4===a.length){var o=b(a,4);t=o[0],n=o[1],r=o[2],i=o[3]}return e.x1-=i,e.x2+=n,e.y1-=t,e.y2+=r,e.w=e.x2-e.x1,e.h=e.y2-e.y1,e},bt=function(e,t){e.x1=t.x1,e.y1=t.y1,e.x2=t.x2,e.y2=t.y2,e.w=e.x2-e.x1,e.h=e.y2-e.y1},xt=function(e,t){return!(e.x1>t.x2||t.x1>e.x2||e.x2t.y2||t.y1>e.y2)},wt=function(e,t,n){return e.x1<=t&&t<=e.x2&&e.y1<=n&&n<=e.y2},_t=function(e,t){return wt(e,t.x1,t.y1)&&wt(e,t.x2,t.y2)},Et=function(e,t,n,r,i,a,o){var s,u=Ft(i,a),l=i/2,c=a/2,d=r-c-o;if((s=zt(e,t,n,r,n-l+u-o,d,n+l-u+o,d,!1)).length>0)return s;var h=n+l+o;if((s=zt(e,t,n,r,h,r-c+u-o,h,r+c-u+o,!1)).length>0)return s;var f=r+c+o;if((s=zt(e,t,n,r,n-l+u-o,f,n+l-u+o,f,!1)).length>0)return s;var p,v=n-l-o;if((s=zt(e,t,n,r,v,r-c+u-o,v,r+c-u+o,!1)).length>0)return s;var g=n-l+u,y=r-c+u;if((p=Ot(e,t,n,r,g,y,u+o)).length>0&&p[0]<=g&&p[1]<=y)return[p[0],p[1]];var m=n+l-u,b=r-c+u;if((p=Ot(e,t,n,r,m,b,u+o)).length>0&&p[0]>=m&&p[1]<=b)return[p[0],p[1]];var x=n+l-u,w=r+c-u;if((p=Ot(e,t,n,r,x,w,u+o)).length>0&&p[0]>=x&&p[1]>=w)return[p[0],p[1]];var _=n-l+u,E=r+c-u;return(p=Ot(e,t,n,r,_,E,u+o)).length>0&&p[0]<=_&&p[1]>=E?[p[0],p[1]]:[]},kt=function(e,t,n,r,i,a,o){var s=o,u=Math.min(n,i),l=Math.max(n,i),c=Math.min(r,a),d=Math.max(r,a);return u-s<=e&&e<=l+s&&c-s<=t&&t<=d+s},Ct=function(e,t,n,r,i,a,o,s,u){var l=Math.min(n,o,i)-u,c=Math.max(n,o,i)+u,d=Math.min(r,s,a)-u,h=Math.max(r,s,a)+u;return!(ec||th)},St=function(e,t,n,r,i,a,o,s){var u,l,c,d,h,f,p,v,g,y,m,b,x,w=[];l=9*n*i-3*n*n-3*n*o-6*i*i+3*i*o+9*r*a-3*r*r-3*r*s-6*a*a+3*a*s,c=3*n*n-6*n*i+n*o-n*e+2*i*i+2*i*e-o*e+3*r*r-6*r*a+r*s-r*t+2*a*a+2*a*t-s*t,d=1*n*i-n*n+n*e-i*e+r*a-r*r+r*t-a*t,0===(u=1*n*n-4*n*i+2*n*o+4*i*i-4*i*o+o*o+r*r-4*r*a+2*r*s+4*a*a-4*a*s+s*s)&&(u=1e-5),v=-27*(d/=u)+(l/=u)*(9*(c/=u)-l*l*2),f=(p=(3*c-l*l)/9)*p*p+(v/=54)*v,(h=w)[1]=0,b=l/3,f>0?(y=(y=v+Math.sqrt(f))<0?-Math.pow(-y,1/3):Math.pow(y,1/3),m=(m=v-Math.sqrt(f))<0?-Math.pow(-m,1/3):Math.pow(m,1/3),h[0]=-b+y+m,b+=(y+m)/2,h[4]=h[2]=-b,b=Math.sqrt(3)*(-m+y)/2,h[3]=b,h[5]=-b):(h[5]=h[3]=0,0===f?(x=v<0?-Math.pow(-v,1/3):Math.pow(v,1/3),h[0]=2*x-b,h[4]=h[2]=-(x+b)):(g=(p=-p)*p*p,g=Math.acos(v/Math.sqrt(g)),x=2*Math.sqrt(p),h[0]=-b+x*Math.cos(g/3),h[2]=-b+x*Math.cos((g+2*Math.PI)/3),h[4]=-b+x*Math.cos((g+4*Math.PI)/3)));for(var _=[],E=0;E<6;E+=2)Math.abs(w[E+1])<1e-7&&w[E]>=0&&w[E]<=1&&_.push(w[E]);_.push(1),_.push(0);for(var k,C,S,P=-1,T=0;T<_.length;T++)k=Math.pow(1-_[T],2)*n+2*(1-_[T])*_[T]*i+_[T]*_[T]*o,C=Math.pow(1-_[T],2)*r+2*(1-_[T])*_[T]*a+_[T]*_[T]*s,S=Math.pow(k-e,2)+Math.pow(C-t,2),P>=0?Su?(e-i)*(e-i)+(t-a)*(t-a):l-d},Tt=function(e,t,n){for(var r,i,a,o,s=0,u=0;u=e&&e>=a||r<=e&&e<=a))continue;(e-r)/(a-r)*(o-i)+i>t&&s++}return s%2!=0},Dt=function(e,t,n,r,i,a,o,s,u){var l,c=new Array(n.length);null!=s[0]?(l=Math.atan(s[1]/s[0]),s[0]<0?l+=Math.PI/2:l=-l-Math.PI/2):l=s;for(var d,h=Math.cos(-l),f=Math.sin(-l),p=0;p0){var v=Bt(c,-u);d=Mt(v)}else d=c;return Tt(e,t,d)},Mt=function(e){for(var t,n,r,i,a,o,s,u,l=new Array(e.length/2),c=0;c=0&&p<=1&&g.push(p),v>=0&&v<=1&&g.push(v),0===g.length)return[];var y=g[0]*s[0]+e,m=g[0]*s[1]+t;return g.length>1?g[0]==g[1]?[y,m]:[y,m,g[1]*s[0]+e,g[1]*s[1]+t]:[y,m]},At=function(e,t,n){return t<=e&&e<=n||n<=e&&e<=t?e:e<=t&&t<=n||n<=t&&t<=e?t:n},zt=function(e,t,n,r,i,a,o,s,u){var l=e-i,c=n-e,d=o-i,h=t-a,f=r-t,p=s-a,v=d*h-p*l,g=c*h-f*l,y=p*c-d*f;if(0!==y){var m=v/y,b=g/y,x=-.001;return x<=m&&m<=1.001&&x<=b&&b<=1.001||u?[e+m*c,t+m*f]:[]}return 0===v||0===g?At(e,n,o)===o?[o,s]:At(e,n,i)===i?[i,a]:At(i,o,n)===n?[n,r]:[]:[]},Nt=function(e,t,n,r,i,a,o,s){var u,l,c,d,h,f,p=[],v=new Array(n.length),g=!0;if(null==a&&(g=!1),g){for(var y=0;y0){var m=Bt(v,-s);l=Mt(m)}else l=v}else l=n;for(var b=0;bl&&(l=t)},h=function(e){return u[e]},f=0;f0?w.edgesTo(x)[0]:x.edgesTo(w)[0];var _=r(b);x=x.id(),f[x]>f[y]+_&&(f[x]=f[y]+_,p.nodes.indexOf(x)<0?p.push(x):p.updateItem(x),l[x]=0,u[x]=[]),f[x]==f[y]+_&&(l[x]=l[x]+l[y],u[x].push(y))}else for(var E=0;E0;){for(var P=n.pop(),T=0;T0&&o.push(n[s]);0!==o.length&&i.push(r.collection(o))}return i}(c,u,t,r);return b=function(e){for(var t=0;t5&&void 0!==arguments[5]?arguments[5]:ln,o=r,s=0;s=2?vn(e,t,n,0,hn,fn):vn(e,t,n,0,dn)},squaredEuclidean:function(e,t,n){return vn(e,t,n,0,hn)},manhattan:function(e,t,n){return vn(e,t,n,0,dn)},max:function(e,t,n){return vn(e,t,n,-1/0,pn)}};function yn(e,t,n,r,i,a){var o;return o=D(e)?e:gn[e]||gn.euclidean,0===t&&D(e)?o(i,a):o(t,n,r,i,a)}gn["squared-euclidean"]=gn.squaredEuclidean,gn.squaredeuclidean=gn.squaredEuclidean;var mn=Ie({k:2,m:2,sensitivityThreshold:1e-4,distance:"euclidean",maxIterations:10,attributes:[],testMode:!1,testCentroids:null}),bn=function(e){return mn(e)},xn=function(e,t,n,r,i){var a="kMedoids"!==i?function(e){return n[e]}:function(e){return r[e](n)},o=n,s=t;return yn(e,r.length,a,(function(e){return r[e](t)}),o,s)},wn=function(e,t,n){for(var r=n.length,i=new Array(r),a=new Array(r),o=new Array(t),s=null,u=0;un)return!1;return!0},Cn=function(e,t,n){for(var r=0;ri&&(i=t[u][l],a=l);o[a].push(e[u])}for(var c=0;c=i.threshold||"dendrogram"===i.mode&&1===e.length)return!1;var f,p=t[o],v=t[r[o]];f="dendrogram"===i.mode?{left:p,right:v,key:p.key}:{value:p.value.concat(v.value),key:p.key},e[p.index]=f,e.splice(v.index,1),t[p.key]=f;for(var g=0;gn[v.key][y.key]&&(a=n[v.key][y.key])):"max"===i.linkage?(a=n[p.key][y.key],n[p.key][y.key]o&&(a=u,o=t[i*e+u])}a>0&&r.push(a)}for(var l=0;l1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.length,r=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],i=!(arguments.length>5&&void 0!==arguments[5])||arguments[5];arguments.length>3&&void 0!==arguments[3]&&!arguments[3]?(n0&&e.splice(0,t)):e=e.slice(t,n);for(var a=0,o=e.length-1;o>=0;o--){var s=e[o];i?isFinite(s)||(e[o]=-1/0,a++):e.splice(o,1)}r&&e.sort((function(e,t){return e-t}));var u=e.length,l=Math.floor(u/2);return u%2!=0?e[l+1+a]:(e[l-1+a]+e[l+a])/2}(e):"mean"===t?function(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.length,r=0,i=0,a=t;a1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.length,r=1/0,i=t;i1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.length,r=-1/0,i=t;i=S?(P=S,S=D,T=M):D>P&&(P=D);for(var B=0;B0?1:0;E[_%l.minIterations*t+R]=j,L+=j}if(L>0&&(_>=l.minIterations-1||_==l.maxIterations-1)){for(var V=0,F=0;F0&&r.push(i);return r}(t,a,o),Y=function(e,t,n){for(var r=qn(e,t,n),i=0;iu&&(s=l,u=c)}n[i]=a[s]}return qn(e,t,n)}(t,r,W),X={},H=0;H1)}}));var u=Object.keys(t).filter((function(e){return t[e].cutVertex})).map((function(t){return e.getElementById(t)}));return{cut:e.spawn(u),components:i}},Un=function(){var e=this,t={},n=0,r=[],i=[],a=e.spawn(e),o=function o(s){if(i.push(s),t[s]={index:n,low:n++,explored:!1},e.getElementById(s).connectedEdges().intersection(e).forEach((function(e){var n=e.target().id();n!==s&&(n in t||o(n),t[n].explored||(t[s].low=Math.min(t[s].low,t[n].low)))})),t[s].index===t[s].low){for(var u=e.spawn();;){var l=i.pop();if(u.merge(e.getElementById(l)),t[l].low=t[s].index,t[l].explored=!0,l===s)break}var c=u.edgesWith(u),d=u.merge(c);r.push(d),a=a.difference(d)}};return e.forEach((function(e){if(e.isNode()){var n=e.id();n in t||o(n)}})),{cut:a,components:r}},Zn={};[qe,Ye,Xe,Ue,Ke,$e,tt,Xt,Ut,Kt,$t,un,Bn,jn,Yn,{hierholzer:function(e){if(!B(e)){var t=arguments;e={root:t[0],directed:t[1]}}var n,r,i,a=Xn(e),o=a.root,s=a.directed,u=this,l=!1;o&&(i=T(o)?this.filter(o)[0].id():o[0].id());var c={},d={};s?u.forEach((function(e){var t=e.id();if(e.isNode()){var i=e.indegree(!0),a=e.outdegree(!0),o=i-a,s=a-i;1==o?n?l=!0:n=t:1==s?r?l=!0:r=t:(s>1||o>1)&&(l=!0),c[t]=[],e.outgoers().forEach((function(e){e.isEdge()&&c[t].push(e.id())}))}else d[t]=[void 0,e.target().id()]})):u.forEach((function(e){var t=e.id();e.isNode()?(e.degree(!0)%2&&(n?r?l=!0:r=t:n=t),c[t]=[],e.connectedEdges().forEach((function(e){return c[t].push(e.id())}))):d[t]=[e.source().id(),e.target().id()]}));var h={found:!1,trail:void 0};if(l)return h;if(r&&n)if(s){if(i&&r!=i)return h;i=r}else{if(i&&r!=i&&n!=i)return h;i||(i=r)}else i||(i=u[0].id());var f=function(e){for(var t,n,r,i=e,a=[e];c[i].length;)t=c[i].shift(),n=d[t][0],i!=(r=d[t][1])?(c[r]=c[r].filter((function(e){return e!=t})),i=r):s||i==n||(c[n]=c[n].filter((function(e){return e!=t})),i=n),a.unshift(t),a.unshift(i);return a},p=[],v=[];for(v=f(i);1!=v.length;)0==c[v[0]].length?(p.unshift(u.getElementById(v.shift())),p.unshift(u.getElementById(v.shift()))):v=f(v.shift()).concat(v);for(var g in p.unshift(u.getElementById(v.shift())),c)if(c[g].length)return h;return h.found=!0,h.trail=this.spawn(p,!0),h}},{hopcroftTarjanBiconnected:Hn,htbc:Hn,htb:Hn,hopcroftTarjanBiconnectedComponents:Hn},{tarjanStronglyConnected:Un,tsc:Un,tscc:Un,tarjanStronglyConnectedComponents:Un}].forEach((function(e){Q(Zn,e)}));var Kn=function e(t){if(!(this instanceof e))return new e(t);this.id="Thenable/1.0.7",this.state=0,this.fulfillValue=void 0,this.rejectReason=void 0,this.onFulfilled=[],this.onRejected=[],this.proxy={then:this.then.bind(this)},"function"==typeof t&&t.call(this,this.fulfill.bind(this),this.reject.bind(this))};Kn.prototype={fulfill:function(e){return Gn(this,1,"fulfillValue",e)},reject:function(e){return Gn(this,2,"rejectReason",e)},then:function(e,t){var n=this,r=new Kn;return n.onFulfilled.push(Jn(e,r,"fulfill")),n.onRejected.push(Jn(t,r,"reject")),$n(n),r.proxy}};var Gn=function(e,t,n,r){return 0===e.state&&(e.state=t,e[n]=r,$n(e)),e},$n=function(e){1===e.state?Qn(e,"onFulfilled",e.fulfillValue):2===e.state&&Qn(e,"onRejected",e.rejectReason)},Qn=function(e,t,n){if(0!==e[t].length){var r=e[t];e[t]=[];var i=function(){for(var e=0;e0:void 0}},clearQueue:function(){return function(){var e=this,t=void 0!==e.length?e:[e];if(!(this._private.cy||this).styleEnabled())return this;for(var n=0;n0&&this.spawn(r).updateStyle().emit("class"),t},addClass:function(e){return this.toggleClass(e,!0)},hasClass:function(e){var t=this[0];return null!=t&&t._private.classes.has(e)},toggleClass:function(e,t){M(e)||(e=e.match(/\S+/g)||[]);for(var n=this,r=void 0===t,i=[],a=0,o=n.length;a0&&this.spawn(i).updateStyle().emit("class"),n},removeClass:function(e){return this.toggleClass(e,!1)},flashClass:function(e,t){var n=this;if(null==t)t=250;else if(0===t)return n;return n.addClass(e),setTimeout((function(){n.removeClass(e)}),t),n}};lr.className=lr.classNames=lr.classes;var cr={metaChar:"[\\!\\\"\\#\\$\\%\\&\\'\\(\\)\\*\\+\\,\\.\\/\\:\\;\\<\\=\\>\\?\\@\\[\\]\\^\\`\\{\\|\\}\\~]",comparatorOp:"=|\\!=|>|>=|<|<=|\\$=|\\^=|\\*=",boolOp:"\\?|\\!|\\^",string:"\"(?:\\\\\"|[^\"])*\"|'(?:\\\\'|[^'])*'",number:H,meta:"degree|indegree|outdegree",separator:"\\s*,\\s*",descendant:"\\s+",child:"\\s+>\\s+",subject:"\\$",group:"node|edge|\\*",directedEdge:"\\s+->\\s+",undirectedEdge:"\\s+<->\\s+"};cr.variable="(?:[\\w-.]|(?:\\\\"+cr.metaChar+"))+",cr.className="(?:[\\w-]|(?:\\\\"+cr.metaChar+"))+",cr.value=cr.string+"|"+cr.number,cr.id=cr.variable,function(){var e,t,n;for(e=cr.comparatorOp.split("|"),n=0;n=0||"="!==t&&(cr.comparatorOp+="|\\!"+t)}();var dr=20,hr=[{selector:":selected",matches:function(e){return e.selected()}},{selector:":unselected",matches:function(e){return!e.selected()}},{selector:":selectable",matches:function(e){return e.selectable()}},{selector:":unselectable",matches:function(e){return!e.selectable()}},{selector:":locked",matches:function(e){return e.locked()}},{selector:":unlocked",matches:function(e){return!e.locked()}},{selector:":visible",matches:function(e){return e.visible()}},{selector:":hidden",matches:function(e){return!e.visible()}},{selector:":transparent",matches:function(e){return e.transparent()}},{selector:":grabbed",matches:function(e){return e.grabbed()}},{selector:":free",matches:function(e){return!e.grabbed()}},{selector:":removed",matches:function(e){return e.removed()}},{selector:":inside",matches:function(e){return!e.removed()}},{selector:":grabbable",matches:function(e){return e.grabbable()}},{selector:":ungrabbable",matches:function(e){return!e.grabbable()}},{selector:":animated",matches:function(e){return e.animated()}},{selector:":unanimated",matches:function(e){return!e.animated()}},{selector:":parent",matches:function(e){return e.isParent()}},{selector:":childless",matches:function(e){return e.isChildless()}},{selector:":child",matches:function(e){return e.isChild()}},{selector:":orphan",matches:function(e){return e.isOrphan()}},{selector:":nonorphan",matches:function(e){return e.isChild()}},{selector:":compound",matches:function(e){return e.isNode()?e.isParent():e.source().isParent()||e.target().isParent()}},{selector:":loop",matches:function(e){return e.isLoop()}},{selector:":simple",matches:function(e){return e.isSimple()}},{selector:":active",matches:function(e){return e.active()}},{selector:":inactive",matches:function(e){return!e.active()}},{selector:":backgrounding",matches:function(e){return e.backgrounding()}},{selector:":nonbackgrounding",matches:function(e){return!e.backgrounding()}}].sort((function(e,t){return function(e,t){return-1*$(e,t)}(e.selector,t.selector)})),fr=function(){for(var e,t={},n=0;n0&&l.edgeCount>0)return Pe("The selector `"+e+"` is invalid because it uses both a compound selector and an edge selector"),!1;if(l.edgeCount>1)return Pe("The selector `"+e+"` is invalid because it uses multiple edge selectors"),!1;1===l.edgeCount&&Pe("The selector `"+e+"` is deprecated. Edge selectors do not take effect on changes to source and target nodes after an edge is added, for performance reasons. Use a class or data selector on edges instead, updating the class or data of an edge when your app detects a change in source or target nodes.")}return!0},toString:function(){if(null!=this.toStringCache)return this.toStringCache;for(var e=function(e){return null==e?"":e},t=function(t){return T(t)?'"'+t+'"':e(t)},n=function(e){return" "+e+" "},r=function(i,a){return i.checks.reduce((function(o,s,u){return o+(a===i&&0===u?"$":"")+function(i,a){var o=i.type,s=i.value;switch(o){case 0:var u=e(s);return u.substring(0,u.length-1);case 3:var l=i.field,c=i.operator;return"["+l+n(e(c))+t(s)+"]";case 5:var d=i.operator,h=i.field;return"["+e(d)+h+"]";case 4:return"["+i.field+"]";case 6:var f=i.operator;return"[["+i.field+n(e(f))+t(s)+"]]";case 7:return s;case 8:return"#"+s;case 9:return"."+s;case 17:case 15:return r(i.parent,a)+n(">")+r(i.child,a);case 18:case 16:return r(i.ancestor,a)+" "+r(i.descendant,a);case 19:var p=r(i.left,a),v=r(i.subject,a),g=r(i.right,a);return p+(p.length>0?" ":"")+v+g;case dr:return""}}(s,a)}),"")},i="",a=0;a1&&a=0&&(t=t.replace("!",""),c=!0),t.indexOf("@")>=0&&(t=t.replace("@",""),l=!0),(o||u||l)&&(i=o||s?""+e:"",a=""+n),l&&(e=i=i.toLowerCase(),n=a=a.toLowerCase()),t){case"*=":r=i.indexOf(a)>=0;break;case"$=":r=i.indexOf(a,i.length-a.length)>=0;break;case"^=":r=0===i.indexOf(a);break;case"=":r=e===n;break;case">":d=!0,r=e>n;break;case">=":d=!0,r=e>=n;break;case"<":d=!0,r=e0;){var l=i.shift();t(l),a.add(l.id()),o&&r(i,a,l)}return e}function Or(e,t,n){if(n.isParent())for(var r=n._private.children,i=0;i1&&void 0!==arguments[1])||arguments[1],Or)},Br.forEachUp=function(e){return Ir(this,e,!(arguments.length>1&&void 0!==arguments[1])||arguments[1],Ar)},Br.forEachUpAndDown=function(e){return Ir(this,e,!(arguments.length>1&&void 0!==arguments[1])||arguments[1],zr)},Br.ancestors=Br.parents,(Tr=Dr={data:sr.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),removeData:sr.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),scratch:sr.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:sr.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),rscratch:sr.data({field:"rscratch",allowBinding:!1,allowSetting:!0,settingTriggersEvent:!1,allowGetting:!0}),removeRscratch:sr.removeData({field:"rscratch",triggerEvent:!1}),id:function(){var e=this[0];if(e)return e._private.data.id}}).attr=Tr.data,Tr.removeAttr=Tr.removeData;var Nr,Lr,Rr=Dr,jr={};function Vr(e){return function(t){var n=this;if(void 0===t&&(t=!0),0!==n.length&&n.isNode()&&!n.removed()){for(var r=0,i=n[0],a=i._private.edges,o=0;ot})),minIndegree:Fr("indegree",(function(e,t){return et})),minOutdegree:Fr("outdegree",(function(e,t){return et}))}),Q(jr,{totalDegree:function(e){for(var t=0,n=this.nodes(),r=0;r0,c=l;l&&(u=u[0]);var d=c?u.position():{x:0,y:0};return i={x:s.x-d.x,y:s.y-d.y},void 0===e?i:i[e]}for(var h=0;h0,g=v;v&&(p=p[0]);var y=g?p.position():{x:0,y:0};void 0!==t?f.position(e,t+y[e]):void 0!==i&&f.position({x:i.x+y.x,y:i.y+y.y})}}else if(!a)return;return this}},Nr.modelPosition=Nr.point=Nr.position,Nr.modelPositions=Nr.points=Nr.positions,Nr.renderedPoint=Nr.renderedPosition,Nr.relativePoint=Nr.relativePosition;var Yr,Xr,Hr=Lr;Yr=Xr={},Xr.renderedBoundingBox=function(e){var t=this.boundingBox(e),n=this.cy(),r=n.zoom(),i=n.pan(),a=t.x1*r+i.x,o=t.x2*r+i.x,s=t.y1*r+i.y,u=t.y2*r+i.y;return{x1:a,x2:o,y1:s,y2:u,w:o-a,h:u-s}},Xr.dirtyCompoundBoundsCache=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=this.cy();return t.styleEnabled()&&t.hasCompoundNodes()?(this.forEachUp((function(t){if(t.isParent()){var n=t._private;n.compoundBoundsClean=!1,n.bbCache=null,e||t.emitAndNotify("bounds")}})),this):this},Xr.updateCompoundBounds=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=this.cy();if(!t.styleEnabled()||!t.hasCompoundNodes())return this;if(!e&&t.batching())return this;function n(e){if(e.isParent()){var t=e._private,n=e.children(),r="include"===e.pstyle("compound-sizing-wrt-labels").value,i={width:{val:e.pstyle("min-width").pfValue,left:e.pstyle("min-width-bias-left"),right:e.pstyle("min-width-bias-right")},height:{val:e.pstyle("min-height").pfValue,top:e.pstyle("min-height-bias-top"),bottom:e.pstyle("min-height-bias-bottom")}},a=n.boundingBox({includeLabels:r,includeOverlays:!1,useCache:!1}),o=t.position;0!==a.w&&0!==a.h||((a={w:e.pstyle("width").pfValue,h:e.pstyle("height").pfValue}).x1=o.x-a.w/2,a.x2=o.x+a.w/2,a.y1=o.y-a.h/2,a.y2=o.y+a.h/2);var s=i.width.left.value;"px"===i.width.left.units&&i.width.val>0&&(s=100*s/i.width.val);var u=i.width.right.value;"px"===i.width.right.units&&i.width.val>0&&(u=100*u/i.width.val);var l=i.height.top.value;"px"===i.height.top.units&&i.height.val>0&&(l=100*l/i.height.val);var c=i.height.bottom.value;"px"===i.height.bottom.units&&i.height.val>0&&(c=100*c/i.height.val);var d=y(i.width.val-a.w,s,u),h=d.biasDiff,f=d.biasComplementDiff,p=y(i.height.val-a.h,l,c),v=p.biasDiff,g=p.biasComplementDiff;t.autoPadding=function(e,t,n,r){if("%"!==n.units)return"px"===n.units?n.pfValue:0;switch(r){case"width":return e>0?n.pfValue*e:0;case"height":return t>0?n.pfValue*t:0;case"average":return e>0&&t>0?n.pfValue*(e+t)/2:0;case"min":return e>0&&t>0?e>t?n.pfValue*t:n.pfValue*e:0;case"max":return e>0&&t>0?e>t?n.pfValue*e:n.pfValue*t:0;default:return 0}}(a.w,a.h,e.pstyle("padding"),e.pstyle("padding-relative-to").value),t.autoWidth=Math.max(a.w,i.width.val),o.x=(-h+a.x1+a.x2+f)/2,t.autoHeight=Math.max(a.h,i.height.val),o.y=(-v+a.y1+a.y2+g)/2}function y(e,t,n){var r=0,i=0,a=t+n;return e>0&&a>0&&(r=t/a*e,i=n/a*e),{biasDiff:r,biasComplementDiff:i}}}for(var r=0;re.x2?r:e.x2,e.y1=ne.y2?i:e.y2,e.w=e.x2-e.x1,e.h=e.y2-e.y1)},Kr=function(e,t){return null==t?e:Zr(e,t.x1,t.y1,t.x2,t.y2)},Gr=function(e,t,n){return ze(e,t,n)},$r=function(e,t,n){if(!t.cy().headless()){var r,i,a=t._private,o=a.rstyle,s=o.arrowWidth/2;if("none"!==t.pstyle(n+"-arrow-shape").value){"source"===n?(r=o.srcX,i=o.srcY):"target"===n?(r=o.tgtX,i=o.tgtY):(r=o.midX,i=o.midY);var u=a.arrowBounds=a.arrowBounds||{},l=u[n]=u[n]||{};l.x1=r-s,l.y1=i-s,l.x2=r+s,l.y2=i+s,l.w=l.x2-l.x1,l.h=l.y2-l.y1,yt(l,1),Zr(e,l.x1,l.y1,l.x2,l.y2)}}},Qr=function(e,t,n){if(!t.cy().headless()){var r;r=n?n+"-":"";var i=t._private,a=i.rstyle;if(t.pstyle(r+"label").strValue){var o,s,u,l,c=t.pstyle("text-halign"),d=t.pstyle("text-valign"),h=Gr(a,"labelWidth",n),f=Gr(a,"labelHeight",n),p=Gr(a,"labelX",n),v=Gr(a,"labelY",n),g=t.pstyle(r+"text-margin-x").pfValue,y=t.pstyle(r+"text-margin-y").pfValue,m=t.isEdge(),b=t.pstyle(r+"text-rotation"),x=t.pstyle("text-outline-width").pfValue,w=t.pstyle("text-border-width").pfValue/2,_=t.pstyle("text-background-padding").pfValue,E=f,k=h,C=k/2,S=E/2;if(m)o=p-C,s=p+C,u=v-S,l=v+S;else{switch(c.value){case"left":o=p-k,s=p;break;case"center":o=p-C,s=p+C;break;case"right":o=p,s=p+k}switch(d.value){case"top":u=v-E,l=v;break;case"center":u=v-S,l=v+S;break;case"bottom":u=v,l=v+E}}o+=g-Math.max(x,w)-_-2,s+=g+Math.max(x,w)+_+2,u+=y-Math.max(x,w)-_-2,l+=y+Math.max(x,w)+_+2;var P=n||"main",T=i.labelBounds,D=T[P]=T[P]||{};D.x1=o,D.y1=u,D.x2=s,D.y2=l,D.w=s-o,D.h=l-u;var M=m&&"autorotate"===b.strValue,B=null!=b.pfValue&&0!==b.pfValue;if(M||B){var I=M?Gr(i.rstyle,"labelAngle",n):b.pfValue,O=Math.cos(I),A=Math.sin(I),z=(o+s)/2,N=(u+l)/2;if(!m){switch(c.value){case"left":z=s;break;case"right":z=o}switch(d.value){case"top":N=l;break;case"bottom":N=u}}var L=function(e,t){return{x:(e-=z)*O-(t-=N)*A+z,y:e*A+t*O+N}},R=L(o,u),j=L(o,l),V=L(s,u),F=L(s,l);o=Math.min(R.x,j.x,V.x,F.x),s=Math.max(R.x,j.x,V.x,F.x),u=Math.min(R.y,j.y,V.y,F.y),l=Math.max(R.y,j.y,V.y,F.y)}var q=P+"Rot",W=T[q]=T[q]||{};W.x1=o,W.y1=u,W.x2=s,W.y2=l,W.w=s-o,W.h=l-u,Zr(e,o,u,s,l),Zr(i.labelBounds.all,o,u,s,l)}return e}},Jr=function(e){var t=0,n=function(e){return(e?1:0)<0&&a>0){var o=t.pstyle("outline-offset").value,s=t.pstyle("shape").value,u=a+o,l=(e.w+2*u)/e.w,c=(e.h+2*u)/e.h,d=0;["diamond","pentagon","round-triangle"].includes(s)?(l=(e.w+2.4*u)/e.w,d=-u/3.6):["concave-hexagon","rhomboid","right-rhomboid"].includes(s)?l=(e.w+2.4*u)/e.w:"star"===s?(l=(e.w+2.8*u)/e.w,c=(e.h+2.6*u)/e.h,d=-u/3.8):"triangle"===s?(l=(e.w+2.8*u)/e.w,c=(e.h+2.4*u)/e.h,d=-u/1.4):"vee"===s&&(l=(e.w+4.4*u)/e.w,c=(e.h+3.8*u)/e.h,d=.5*-u);var h=e.h*c-e.h,f=e.w*l-e.w;if(mt(e,[Math.ceil(h/2),Math.ceil(f/2)]),0!==d){var p=(r=d,{x1:(n=e).x1+0,x2:n.x2+0,y1:n.y1+r,y2:n.y2+r,w:n.w,h:n.h});vt(e,p)}}}}(h,e)}else if(v&&t.includeEdges)if(c&&!d){var P=e.pstyle("curve-style").strValue;if(n=Math.min(g.srcX,g.midX,g.tgtX),r=Math.max(g.srcX,g.midX,g.tgtX),i=Math.min(g.srcY,g.midY,g.tgtY),a=Math.max(g.srcY,g.midY,g.tgtY),Zr(h,n-=E,i-=E,r+=E,a+=E),"haystack"===P){var T=g.haystackPts;if(T&&2===T.length){if(n=T[0].x,i=T[0].y,n>(r=T[1].x)){var D=n;n=r,r=D}if(i>(a=T[1].y)){var M=i;i=a,a=M}Zr(h,n-E,i-E,r+E,a+E)}}else if("bezier"===P||"unbundled-bezier"===P||"segments"===P||"taxi"===P){var B;switch(P){case"bezier":case"unbundled-bezier":B=g.bezierPts;break;case"segments":case"taxi":B=g.linePts}if(null!=B)for(var I=0;I(r=z.x)){var N=n;n=r,r=N}if((i=A.y)>(a=z.y)){var L=i;i=a,a=L}Zr(h,n-=E,i-=E,r+=E,a+=E)}if(c&&t.includeEdges&&v&&($r(h,e,"mid-source"),$r(h,e,"mid-target"),$r(h,e,"source"),$r(h,e,"target")),c&&"yes"===e.pstyle("ghost").value){var R=e.pstyle("ghost-offset-x").pfValue,j=e.pstyle("ghost-offset-y").pfValue;Zr(h,h.x1+R,h.y1+j,h.x2+R,h.y2+j)}var V=f.bodyBounds=f.bodyBounds||{};bt(V,h),mt(V,y),yt(V,1),c&&(n=h.x1,r=h.x2,i=h.y1,a=h.y2,Zr(h,n-_,i-_,r+_,a+_));var F=f.overlayBounds=f.overlayBounds||{};bt(F,h),mt(F,y),yt(F,1);var q=f.labelBounds=f.labelBounds||{};null!=q.all?((u=q.all).x1=1/0,u.y1=1/0,u.x2=-1/0,u.y2=-1/0,u.w=0,u.h=0):q.all=pt(),c&&t.includeLabels&&(t.includeMainLabels&&Qr(h,e,null),v&&(t.includeSourceLabels&&Qr(h,e,"source"),t.includeTargetLabels&&Qr(h,e,"target")))}return h.x1=Ur(h.x1),h.y1=Ur(h.y1),h.x2=Ur(h.x2),h.y2=Ur(h.y2),h.w=Ur(h.x2-h.x1),h.h=Ur(h.y2-h.y1),h.w>0&&h.h>0&&b&&(mt(h,y),yt(h,1)),h}(e,ni),r.bbCache=n,r.bbCachePosKey=o):n=r.bbCache,!a){var c=e.isNode();n=pt(),(t.includeNodes&&c||t.includeEdges&&!c)&&(t.includeOverlays?Kr(n,r.overlayBounds):Kr(n,r.bodyBounds)),t.includeLabels&&(t.includeMainLabels&&(!i||t.includeSourceLabels&&t.includeTargetLabels)?Kr(n,r.labelBounds.all):(t.includeMainLabels&&Kr(n,r.labelBounds.mainRot),t.includeSourceLabels&&Kr(n,r.labelBounds.sourceRot),t.includeTargetLabels&&Kr(n,r.labelBounds.targetRot))),n.w=n.x2-n.x1,n.h=n.y2-n.y1}return n},ni={includeNodes:!0,includeEdges:!0,includeLabels:!0,includeMainLabels:!0,includeSourceLabels:!0,includeTargetLabels:!0,includeOverlays:!0,includeUnderlays:!0,includeOutlines:!0,useCache:!0},ri=Jr(ni),ii=Ie(ni);Xr.boundingBox=function(e){var t;if(1!==this.length||null==this[0]._private.bbCache||this[0]._private.styleDirty||void 0!==e&&void 0!==e.useCache&&!0!==e.useCache){t=pt();var n=ii(e=e||ni),r=this;if(r.cy().styleEnabled())for(var i=0;i0&&void 0!==arguments[0]?arguments[0]:bi,t=arguments.length>1?arguments[1]:void 0,n=0;n=0;s--)o(s);return this},wi.removeAllListeners=function(){return this.removeListener("*")},wi.emit=wi.trigger=function(e,t,n){var r=this.listeners,i=r.length;return this.emitting++,M(t)||(t=[t]),function(e,t,n){if("event"!==P(n))if(B(n))t(e,Ei(e,n));else for(var r=M(n)?n:n.split(/\s+/),i=0;i1&&!r){var i=this.length-1,a=this[i],o=a._private.data.id;this[i]=void 0,this[e]=a,n.set(o,{ele:a,index:e})}return this.length--,this},unmergeOne:function(e){e=e[0];var t=this._private,n=e._private.data.id,r=t.map.get(n);if(!r)return this;var i=r.index;return this.unmergeAt(i),this},unmerge:function(e){var t=this._private.cy;if(!e)return this;if(e&&T(e)){var n=e;e=t.mutableElements().filter(n)}for(var r=0;r=0;t--)e(this[t])&&this.unmergeAt(t);return this},map:function(e,t){for(var n=[],r=this,i=0;ir&&(r=s,n=o)}return{value:r,ele:n}},min:function(e,t){for(var n,r=1/0,i=this,a=0;a=0&&i1&&void 0!==arguments[1])||arguments[1],n=this[0],r=n.cy();if(r.styleEnabled()&&n){this.cleanStyle();var i=n._private.style[e];return null!=i?i:t?r.style().getDefaultProperty(e):null}},numericStyle:function(e){var t=this[0];if(t.cy().styleEnabled()&&t){var n=t.pstyle(e);return void 0!==n.pfValue?n.pfValue:n.value}},numericStyleUnits:function(e){var t=this[0];if(t.cy().styleEnabled())return t?t.pstyle(e).units:void 0},renderedStyle:function(e){var t=this.cy();if(!t.styleEnabled())return this;var n=this[0];return n?t.style().getRenderedStyle(n,e):void 0},style:function(e,t){var n=this.cy();if(!n.styleEnabled())return this;var r=n.style();if(B(e)){var i=e;r.applyBypass(this,i,!1),this.emitAndNotify("style")}else if(T(e)){if(void 0===t){var a=this[0];return a?r.getStylePropertyValue(a,e):void 0}r.applyBypass(this,e,t,!1),this.emitAndNotify("style")}else if(void 0===e){var o=this[0];return o?r.getRawStyle(o):void 0}return this},removeStyle:function(e){var t=this.cy();if(!t.styleEnabled())return this;var n=t.style(),r=this;if(void 0===e)for(var i=0;i0&&t.push(c[0]),t.push(s[0])}return this.spawn(t,!0).filter(e)}),"neighborhood"),closedNeighborhood:function(e){return this.neighborhood().add(this).filter(e)},openNeighborhood:function(e){return this.neighborhood(e)}}),Zi.neighbourhood=Zi.neighborhood,Zi.closedNeighbourhood=Zi.closedNeighborhood,Zi.openNeighbourhood=Zi.openNeighborhood,Q(Zi,{source:Mr((function(e){var t,n=this[0];return n&&(t=n._private.source||n.cy().collection()),t&&e?t.filter(e):t}),"source"),target:Mr((function(e){var t,n=this[0];return n&&(t=n._private.target||n.cy().collection()),t&&e?t.filter(e):t}),"target"),sources:Qi({attr:"source"}),targets:Qi({attr:"target"})}),Q(Zi,{edgesWith:Mr(Ji(),"edgesWith"),edgesTo:Mr(Ji({thisIsSrc:!0}),"edgesTo")}),Q(Zi,{connectedEdges:Mr((function(e){for(var t=[],n=0;n0);return a},component:function(){var e=this[0];return e.cy().mutableElements().components(e)[0]}}),Zi.componentsOf=Zi.components;var ta=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(void 0!==e){var i=new Le,a=!1;if(t){if(t.length>0&&B(t[0])&&!z(t[0])){a=!0;for(var o=[],s=new je,u=0,l=t.length;u0&&void 0!==arguments[0])||arguments[0],r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=this,a=i.cy(),o=a._private,s=[],u=[],l=0,c=i.length;l0){for(var N=e.length===i.length?i:new ta(a,e),L=0;L0&&void 0!==arguments[0])||arguments[0],t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=this,r=[],i={},a=n._private.cy;function o(e){var n=i[e.id()];t&&e.removed()||n||(i[e.id()]=!0,e.isNode()?(r.push(e),function(e){for(var t=e._private.edges,n=0;n0&&(e?E.emitAndNotify("remove"):t&&E.emit("remove"));for(var k=0;k=.001?function(t,r){for(var i=0;i<4;++i){var a=h(r,e,n);if(0===a)return r;r-=(d(r,e,n)-t)/a}return r}(t,o):0===u?o:function(t,r,i){var a,o,s=0;do{(a=d(o=r+(i-r)/2,e,n)-t)>0?i=o:r=o}while(Math.abs(a)>1e-7&&++s<10);return o}(t,r,r+i)}(a),t,r)};p.getControlPoints=function(){return[{x:e,y:t},{x:n,y:r}]};var v="generateBezier("+[e,t,n,r]+")";return p.toString=function(){return v},p}var aa=function(){function e(e){return-e.tension*e.x-e.friction*e.v}function t(t,n,r){var i={x:t.x+r.dx*n,v:t.v+r.dv*n,tension:t.tension,friction:t.friction};return{dx:i.v,dv:e(i)}}function n(n,r){var i={dx:n.v,dv:e(n)},a=t(n,.5*r,i),o=t(n,.5*r,a),s=t(n,r,o),u=1/6*(i.dx+2*(a.dx+o.dx)+s.dx),l=1/6*(i.dv+2*(a.dv+o.dv)+s.dv);return n.x=n.x+u*r,n.v=n.v+l*r,n}return function e(t,r,i){var a,o,s,u={x:-1,v:0,tension:null,friction:null},l=[0],c=0,d=1e-4;for(t=parseFloat(t)||500,r=parseFloat(r)||20,i=i||null,u.tension=t,u.friction=r,o=(a=null!==i)?(c=e(t,r))/i*.016:.016;s=n(s||u,o),l.push(1+s.x),c+=16,Math.abs(s.x)>d&&Math.abs(s.v)>d;);return a?function(e){return l[e*(l.length-1)|0]}:c}}(),oa=function(e,t,n,r){var i=ia(e,t,n,r);return function(e,t,n){return e+(t-e)*i(n)}},sa={linear:function(e,t,n){return e+(t-e)*n},ease:oa(.25,.1,.25,1),"ease-in":oa(.42,0,1,1),"ease-out":oa(0,0,.58,1),"ease-in-out":oa(.42,0,.58,1),"ease-in-sine":oa(.47,0,.745,.715),"ease-out-sine":oa(.39,.575,.565,1),"ease-in-out-sine":oa(.445,.05,.55,.95),"ease-in-quad":oa(.55,.085,.68,.53),"ease-out-quad":oa(.25,.46,.45,.94),"ease-in-out-quad":oa(.455,.03,.515,.955),"ease-in-cubic":oa(.55,.055,.675,.19),"ease-out-cubic":oa(.215,.61,.355,1),"ease-in-out-cubic":oa(.645,.045,.355,1),"ease-in-quart":oa(.895,.03,.685,.22),"ease-out-quart":oa(.165,.84,.44,1),"ease-in-out-quart":oa(.77,0,.175,1),"ease-in-quint":oa(.755,.05,.855,.06),"ease-out-quint":oa(.23,1,.32,1),"ease-in-out-quint":oa(.86,0,.07,1),"ease-in-expo":oa(.95,.05,.795,.035),"ease-out-expo":oa(.19,1,.22,1),"ease-in-out-expo":oa(1,0,0,1),"ease-in-circ":oa(.6,.04,.98,.335),"ease-out-circ":oa(.075,.82,.165,1),"ease-in-out-circ":oa(.785,.135,.15,.86),spring:function(e,t,n){if(0===n)return sa.linear;var r=aa(e,t,n);return function(e,t,n){return e+(t-e)*r(n)}},"cubic-bezier":oa};function ua(e,t,n,r,i){if(1===r)return n;if(t===n)return n;var a=i(t,n,r);return null==e||((e.roundValue||e.color)&&(a=Math.round(a)),void 0!==e.min&&(a=Math.max(a,e.min)),void 0!==e.max&&(a=Math.min(a,e.max))),a}function la(e,t){return null!=e.pfValue||null!=e.value?null==e.pfValue||null!=t&&"%"===t.type.units?e.value:e.pfValue:e}function ca(e,t,n,r,i){var a=null!=i?i.type:null;n<0?n=0:n>1&&(n=1);var o=la(e,i),s=la(t,i);if(I(o)&&I(s))return ua(a,o,s,n,r);if(M(o)&&M(s)){for(var u=[],l=0;l0?("spring"===d&&h.push(o.duration),o.easingImpl=sa[d].apply(null,h)):o.easingImpl=sa[d]}var f,p=o.easingImpl;if(f=0===o.duration?1:(n-u)/o.duration,o.applying&&(f=o.progress),f<0?f=0:f>1&&(f=1),null==o.delay){var v=o.startPosition,g=o.position;if(g&&i&&!e.locked()){var y={};ha(v.x,g.x)&&(y.x=ca(v.x,g.x,f,p)),ha(v.y,g.y)&&(y.y=ca(v.y,g.y,f,p)),e.position(y)}var m=o.startPan,b=o.pan,x=a.pan,w=null!=b&&r;w&&(ha(m.x,b.x)&&(x.x=ca(m.x,b.x,f,p)),ha(m.y,b.y)&&(x.y=ca(m.y,b.y,f,p)),e.emit("pan"));var _=o.startZoom,E=o.zoom,k=null!=E&&r;k&&(ha(_,E)&&(a.zoom=ft(a.minZoom,ca(_,E,f,p),a.maxZoom)),e.emit("zoom")),(w||k)&&e.emit("viewport");var C=o.style;if(C&&C.length>0&&i){for(var S=0;S=0;t--)(0,e[t])();e.splice(0,e.length)},c=a.length-1;c>=0;c--){var d=a[c],h=d._private;h.stopped?(a.splice(c,1),h.hooked=!1,h.playing=!1,h.started=!1,l(h.frames)):(h.playing||h.applying)&&(h.playing&&h.applying&&(h.applying=!1),h.started||fa(0,d,e),da(t,d,e,n),h.applying&&(h.applying=!1),l(h.frames),null!=h.step&&h.step(e),d.completed()&&(a.splice(c,1),h.hooked=!1,h.playing=!1,h.started=!1,l(h.completes)),s=!0)}return n||0!==a.length||0!==o.length||r.push(t),s}for(var a=!1,o=0;o0?t.notify("draw",n):t.notify("draw")),n.unmerge(r),t.emit("step")}var va={animate:sr.animate(),animation:sr.animation(),animated:sr.animated(),clearQueue:sr.clearQueue(),delay:sr.delay(),delayAnimation:sr.delayAnimation(),stop:sr.stop(),addToAnimationPool:function(e){this.styleEnabled()&&this._private.aniEles.merge(e)},stopAnimationLoop:function(){this._private.animationsRunning=!1},startAnimationLoop:function(){var e=this;if(e._private.animationsRunning=!0,e.styleEnabled()){var t=e.renderer();t&&t.beforeRender?t.beforeRender((function(t,n){pa(n,e)}),t.beforeRenderPriorities.animations):function t(){e._private.animationsRunning&&ae((function(n){pa(n,e),t()}))}()}}},ga={qualifierCompare:function(e,t){return null==e||null==t?null==e&&null==t:e.sameText(t)},eventMatches:function(e,t,n){var r=t.qualifier;return null==r||e!==n.target&&z(n.target)&&r.matches(n.target)},addEventFields:function(e,t){t.cy=e,t.target=e},callbackContext:function(e,t,n){return null!=t.qualifier?n.target:e}},ya=function(e){return T(e)?new Cr(e):e},ma={createEmitter:function(){var e=this._private;return e.emitter||(e.emitter=new xi(ga,this)),this},emitter:function(){return this._private.emitter},on:function(e,t,n){return this.emitter().on(e,ya(t),n),this},removeListener:function(e,t,n){return this.emitter().removeListener(e,ya(t),n),this},removeAllListeners:function(){return this.emitter().removeAllListeners(),this},one:function(e,t,n){return this.emitter().one(e,ya(t),n),this},once:function(e,t,n){return this.emitter().one(e,ya(t),n),this},emit:function(e,t){return this.emitter().emit(e,t),this},emitAndNotify:function(e,t){return this.emit(e),this.notify(e,t),this}};sr.eventAliasesOn(ma);var ba={png:function(e){return e=e||{},this._private.renderer.png(e)},jpg:function(e){var t=this._private.renderer;return(e=e||{}).bg=e.bg||"#fff",t.jpg(e)}};ba.jpeg=ba.jpg;var xa={layout:function(e){var t=this;if(null!=e)if(null!=e.name){var n,r=e.name,i=t.extension("layout",r);if(null!=i)return n=T(e.eles)?t.$(e.eles):null!=e.eles?e.eles:t.$(),new i(Q({},e,{cy:t,eles:n}));Ce("No such layout `"+r+"` found. Did you forget to import it and `cytoscape.use()` it?")}else Ce("A `name` must be specified to make a layout");else Ce("Layout options must be specified to make a layout")}};xa.createLayout=xa.makeLayout=xa.layout;var wa={notify:function(e,t){var n=this._private;if(this.batching()){n.batchNotifications=n.batchNotifications||{};var r=n.batchNotifications[e]=n.batchNotifications[e]||this.collection();null!=t&&r.merge(t)}else if(n.notificationsEnabled){var i=this.renderer();!this.destroyed()&&i&&i.notify(e,t)}},notifications:function(e){var t=this._private;return void 0===e?t.notificationsEnabled:(t.notificationsEnabled=!!e,this)},noNotifications:function(e){this.notifications(!1),e(),this.notifications(!0)},batching:function(){return this._private.batchCount>0},startBatch:function(){var e=this._private;return null==e.batchCount&&(e.batchCount=0),0===e.batchCount&&(e.batchStyleEles=this.collection(),e.batchNotifications={}),e.batchCount++,this},endBatch:function(){var e=this._private;if(0===e.batchCount)return this;if(e.batchCount--,0===e.batchCount){e.batchStyleEles.updateStyle();var t=this.renderer();Object.keys(e.batchNotifications).forEach((function(n){var r=e.batchNotifications[n];r.empty()?t.notify(n):t.notify(n,r)}))}return this},batch:function(e){return this.startBatch(),e(),this.endBatch(),this},batchData:function(e){var t=this;return this.batch((function(){for(var n=Object.keys(e),r=0;r0;)t.removeChild(t.childNodes[0]);e._private.renderer=null,e.mutableElements().forEach((function(e){var t=e._private;t.rscratch={},t.rstyle={},t.animation.current=[],t.animation.queue=[]}))},onRender:function(e){return this.on("render",e)},offRender:function(e){return this.off("render",e)}};Ea.invalidateDimensions=Ea.resize;var ka={collection:function(e,t){return T(e)?this.$(e):A(e)?e.collection():M(e)?(t||(t={}),new ta(this,e,t.unique,t.removed)):new ta(this)},nodes:function(e){var t=this.$((function(e){return e.isNode()}));return e?t.filter(e):t},edges:function(e){var t=this.$((function(e){return e.isEdge()}));return e?t.filter(e):t},$:function(e){var t=this._private.elements;return e?t.filter(e):t.spawnSelf()},mutableElements:function(){return this._private.elements}};ka.elements=ka.filter=ka.$;var Ca={},Sa="t";Ca.apply=function(e){for(var t=this,n=t._private.cy.collection(),r=0;r0;if(h||d&&f){var p=void 0;h&&f||h?p=l.properties:f&&(p=l.mappedProperties);for(var v=0;v1&&(g=1),s.color){var w=i.valueMin[0],_=i.valueMax[0],E=i.valueMin[1],k=i.valueMax[1],C=i.valueMin[2],S=i.valueMax[2],P=null==i.valueMin[3]?1:i.valueMin[3],T=null==i.valueMax[3]?1:i.valueMax[3],D=[Math.round(w+(_-w)*g),Math.round(E+(k-E)*g),Math.round(C+(S-C)*g),Math.round(P+(T-P)*g)];n={bypass:i.bypass,name:i.name,value:D,strValue:"rgb("+D[0]+", "+D[1]+", "+D[2]+")"}}else{if(!s.number)return!1;var M=i.valueMin+(i.valueMax-i.valueMin)*g;n=this.parse(i.name,M,i.bypass,h)}if(!n)return v(),!1;n.mapping=i,i=n;break;case o.data:for(var B=i.field.split("."),O=d.data,A=0;A0&&a>0){for(var s={},u=!1,l=0;l0?e.delayAnimation(o).play().promise().then(t):t()})).then((function(){return e.animation({style:s,duration:a,easing:e.pstyle("transition-timing-function").value,queue:!1}).play().promise()})).then((function(){n.removeBypasses(e,i),e.emitAndNotify("style"),r.transitioning=!1}))}else r.transitioning&&(this.removeBypasses(e,i),e.emitAndNotify("style"),r.transitioning=!1)},Ca.checkTrigger=function(e,t,n,r,i,a){var o=this.properties[t],s=i(o);null!=s&&s(n,r)&&a(o)},Ca.checkZOrderTrigger=function(e,t,n,r){var i=this;this.checkTrigger(e,t,n,r,(function(e){return e.triggersZOrder}),(function(){i._private.cy.notify("zorder",e)}))},Ca.checkBoundsTrigger=function(e,t,n,r){this.checkTrigger(e,t,n,r,(function(e){return e.triggersBounds}),(function(i){e.dirtyCompoundBoundsCache(),e.dirtyBoundingBoxCache(),!i.triggersBoundsOfParallelBeziers||"curve-style"!==t||"bezier"!==n&&"bezier"!==r||e.parallelEdges().forEach((function(e){e.isBundledBezier()&&e.dirtyBoundingBoxCache()})),!i.triggersBoundsOfConnectedEdges||"display"!==t||"none"!==n&&"none"!==r||e.connectedEdges().forEach((function(e){e.dirtyBoundingBoxCache()}))}))},Ca.checkTriggers=function(e,t,n,r){e.dirtyStyleCache(),this.checkZOrderTrigger(e,t,n,r),this.checkBoundsTrigger(e,t,n,r)};var Pa={applyBypass:function(e,t,n,r){var i=[];if("*"===t||"**"===t){if(void 0!==n)for(var a=0;at.length?a.substr(t.length):""}function s(){n=n.length>r.length?n.substr(r.length):""}for(a=a.replace(/[/][*](\s|.)+?[*][/]/g,"");!a.match(/^\s*$/);){var u=a.match(/^\s*((?:.|\s)+?)\s*\{((?:.|\s)+?)\}/);if(!u){Pe("Halting stylesheet parsing: String stylesheet contains more to parse but no selector and block found in: "+a);break}t=u[0];var l=u[1];if("core"!==l&&new Cr(l).invalid)Pe("Skipping parsing of block: Invalid selector found in string stylesheet: "+l),o();else{var c=u[2],d=!1;n=c;for(var h=[];!n.match(/^\s*$/);){var f=n.match(/^\s*(.+?)\s*:\s*(.+?)(?:\s*;|\s*$)/);if(!f){Pe("Skipping parsing of block: Invalid formatting of style property and value definitions found in:"+c),d=!0;break}r=f[0];var p=f[1],v=f[2];this.properties[p]?i.parse(p,v)?(h.push({name:p,val:v}),s()):(Pe("Skipping property: Invalid property definition in: "+r),s()):(Pe("Skipping property: Invalid property name in: "+r),s())}if(d){o();break}i.selector(l);for(var g=0;g=7&&"d"===t[0]&&(l=new RegExp(s.data.regex).exec(t))){if(n)return!1;var h=s.data;return{name:e,value:l,strValue:""+t,mapped:h,field:l[1],bypass:n}}if(t.length>=10&&"m"===t[0]&&(c=new RegExp(s.mapData.regex).exec(t))){if(n)return!1;if(d.multiple)return!1;var f=s.mapData;if(!d.color&&!d.number)return!1;var p=this.parse(e,c[4]);if(!p||p.mapped)return!1;var v=this.parse(e,c[5]);if(!v||v.mapped)return!1;if(p.pfValue===v.pfValue||p.strValue===v.strValue)return Pe("`"+e+": "+t+"` is not a valid mapper because the output range is zero; converting to `"+e+": "+p.strValue+"`"),this.parse(e,p.strValue);if(d.color){var g=p.value,y=v.value;if(!(g[0]!==y[0]||g[1]!==y[1]||g[2]!==y[2]||g[3]!==y[3]&&(null!=g[3]&&1!==g[3]||null!=y[3]&&1!==y[3])))return!1}return{name:e,value:c,strValue:""+t,mapped:f,field:c[1],fieldMin:parseFloat(c[2]),fieldMax:parseFloat(c[3]),valueMin:p.value,valueMax:v.value,bypass:n}}}if(d.multiple&&"multiple"!==r){var m;if(m=u?t.split(/\s+/):M(t)?t:[t],d.evenMultiple&&m.length%2!=0)return null;for(var b=[],x=[],w=[],_="",E=!1,k=0;k0?" ":"")+C.strValue}return d.validate&&!d.validate(b,x)?null:d.singleEnum&&E?1===b.length&&T(b[0])?{name:e,value:b[0],strValue:b[0],bypass:n}:null:{name:e,value:b,pfValue:w,strValue:_,bypass:n,units:x}}var S,P,B,O=function(){for(var r=0;rd.max||d.strictMax&&t===d.max))return null;var R={name:e,value:t,strValue:""+t+(A||""),units:A,bypass:n};return d.unitless||"px"!==A&&"em"!==A?R.pfValue=t:R.pfValue="px"!==A&&A?this.getEmSizeInPixels()*t:t,"ms"!==A&&"s"!==A||(R.pfValue="ms"===A?t:1e3*t),"deg"!==A&&"rad"!==A||(R.pfValue="rad"===A?t:(S=t,Math.PI*S/180)),"%"===A&&(R.pfValue=t/100),R}if(d.propList){var j=[],V=""+t;if("none"===V);else{for(var F=V.split(/\s*,\s*|\s+/),W=0;W255)return;t.push(Math.floor(a))}var o=r[1]||r[2]||r[3],s=r[1]&&r[2]&&r[3];if(o&&!s)return;var u=n[4];if(void 0!==u){if((u=parseFloat(u))<0||u>1)return;t.push(u)}}return t}(B)||function(e){var t,n,r,i,a,o,s,u;function l(e,t,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?e+6*(t-e)*n:n<.5?t:n<2/3?e+(t-e)*(2/3-n)*6:e}var c=new RegExp("^"+K+"$").exec(e);if(c){if((n=parseInt(c[1]))<0?n=(360- -1*n%360)%360:n>360&&(n%=360),n/=360,(r=parseFloat(c[2]))<0||r>100)return;if(r/=100,(i=parseFloat(c[3]))<0||i>100)return;if(i/=100,void 0!==(a=c[4])&&((a=parseFloat(a))<0||a>1))return;if(0===r)o=s=u=Math.round(255*i);else{var d=i<.5?i*(1+r):i+r-i*r,h=2*i-d;o=Math.round(255*l(h,d,n+1/3)),s=Math.round(255*l(h,d,n)),u=Math.round(255*l(h,d,n-1/3))}t=[o,s,u,a]}return t}(B);return X?{name:e,value:X,pfValue:X,strValue:"rgb("+X[0]+","+X[1]+","+X[2]+")",bypass:n}:null}if(d.regex||d.regexes){if(d.enums){var Z=O();if(Z)return Z}for(var G=d.regexes?d.regexes:[d.regex],$=0;$0&&u>0&&!isNaN(n.w)&&!isNaN(n.h)&&n.w>0&&n.h>0)return{zoom:o=(o=(o=Math.min((s-2*t)/n.w,(u-2*t)/n.h))>this._private.maxZoom?this._private.maxZoom:o)=n.minZoom&&(n.maxZoom=t),this},minZoom:function(e){return void 0===e?this._private.minZoom:this.zoomRange({min:e})},maxZoom:function(e){return void 0===e?this._private.maxZoom:this.zoomRange({max:e})},getZoomedViewport:function(e){var t,n,r=this._private,i=r.pan,a=r.zoom,o=!1;if(r.zoomingEnabled||(o=!0),I(e)?n=e:B(e)&&(n=e.level,null!=e.position?t=nt(e.position,a,i):null!=e.renderedPosition&&(t=e.renderedPosition),null==t||r.panningEnabled||(o=!0)),n=(n=n>r.maxZoom?r.maxZoom:n)t.maxZoom||!t.zoomingEnabled?a=!0:(t.zoom=s,i.push("zoom"))}if(r&&(!a||!e.cancelOnFailedZoom)&&t.panningEnabled){var u=e.pan;I(u.x)&&(t.pan.x=u.x,o=!1),I(u.y)&&(t.pan.y=u.y,o=!1),o||i.push("pan")}return i.length>0&&(i.push("viewport"),this.emit(i.join(" ")),this.notify("viewport")),this},center:function(e){var t=this.getCenterPan(e);return t&&(this._private.pan=t,this.emit("pan viewport"),this.notify("viewport")),this},getCenterPan:function(e,t){if(this._private.panningEnabled){if(T(e)){var n=e;e=this.mutableElements().filter(n)}else A(e)||(e=this.mutableElements());if(0!==e.length){var r=e.boundingBox(),i=this.width(),a=this.height();return{x:(i-(t=void 0===t?this._private.zoom:t)*(r.x1+r.x2))/2,y:(a-t*(r.y1+r.y2))/2}}}},reset:function(){return this._private.panningEnabled&&this._private.zoomingEnabled?(this.viewport({pan:{x:0,y:0},zoom:1}),this):this},invalidateSize:function(){this._private.sizeCache=null},size:function(){var e,t,n=this._private,r=n.container;return n.sizeCache=n.sizeCache||(r?(e=this.window().getComputedStyle(r),t=function(t){return parseFloat(e.getPropertyValue(t))},{width:r.clientWidth-t("padding-left")-t("padding-right"),height:r.clientHeight-t("padding-top")-t("padding-bottom")}):{width:1,height:1})},width:function(){return this.size().width},height:function(){return this.size().height},extent:function(){var e=this._private.pan,t=this._private.zoom,n=this.renderedExtent(),r={x1:(n.x1-e.x)/t,x2:(n.x2-e.x)/t,y1:(n.y1-e.y)/t,y2:(n.y2-e.y)/t};return r.w=r.x2-r.x1,r.h=r.y2-r.y1,r},renderedExtent:function(){var e=this.width(),t=this.height();return{x1:0,y1:0,x2:e,y2:t,w:e,h:t}},multiClickDebounceTime:function(e){return e?(this._private.multiClickDebounceTime=e,this):this._private.multiClickDebounceTime}};La.centre=La.center,La.autolockNodes=La.autolock,La.autoungrabifyNodes=La.autoungrabify;var Ra={data:sr.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeData:sr.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),scratch:sr.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:sr.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0})};Ra.attr=Ra.data,Ra.removeAttr=Ra.removeData;var ja=function(e){var t=this,n=(e=Q({},e)).container;n&&!O(n)&&O(n[0])&&(n=n[0]);var r=n?n._cyreg:null;(r=r||{})&&r.cy&&(r.cy.destroy(),r={});var i=r.readies=r.readies||[];n&&(n._cyreg=r),r.cy=t;var a=void 0!==w&&void 0!==n&&!e.headless,o=e;o.layout=Q({name:a?"grid":"null"},o.layout),o.renderer=Q({name:a?"canvas":"null"},o.renderer);var s=function(e,t,n){return void 0!==t?t:void 0!==n?n:e},u=this._private={container:n,ready:!1,options:o,elements:new ta(this),listeners:[],aniEles:new ta(this),data:o.data||{},scratch:{},layout:null,renderer:null,destroyed:!1,notificationsEnabled:!0,minZoom:1e-50,maxZoom:1e50,zoomingEnabled:s(!0,o.zoomingEnabled),userZoomingEnabled:s(!0,o.userZoomingEnabled),panningEnabled:s(!0,o.panningEnabled),userPanningEnabled:s(!0,o.userPanningEnabled),boxSelectionEnabled:s(!0,o.boxSelectionEnabled),autolock:s(!1,o.autolock,o.autolockNodes),autoungrabify:s(!1,o.autoungrabify,o.autoungrabifyNodes),autounselectify:s(!1,o.autounselectify),styleEnabled:void 0===o.styleEnabled?a:o.styleEnabled,zoom:I(o.zoom)?o.zoom:1,pan:{x:B(o.pan)&&I(o.pan.x)?o.pan.x:0,y:B(o.pan)&&I(o.pan.y)?o.pan.y:0},animation:{current:[],queue:[]},hasCompoundNodes:!1,multiClickDebounceTime:s(250,o.multiClickDebounceTime)};this.createEmitter(),this.selectionType(o.selectionType),this.zoomRange({min:o.minZoom,max:o.maxZoom}),u.styleEnabled&&t.setStyle([]);var l=Q({},o,o.renderer);t.initRenderer(l),function(e,t){if(e.some(V))return tr.all(e).then(t);t(e)}([o.style,o.elements],(function(e){var n=e[0],a=e[1];u.styleEnabled&&t.style().append(n),function(e,n,r){t.notifications(!1);var i=t.mutableElements();i.length>0&&i.remove(),null!=e&&(B(e)||M(e))&&t.add(e),t.one("layoutready",(function(e){t.notifications(!0),t.emit(e),t.one("load",n),t.emitAndNotify("load")})).one("layoutstop",(function(){t.one("done",r),t.emit("done")}));var a=Q({},t._private.options.layout);a.eles=t.elements(),t.layout(a).run()}(a,(function(){t.startAnimationLoop(),u.ready=!0,D(o.ready)&&t.on("ready",o.ready);for(var e=0;e0,l=pt(n.boundingBox?n.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()});if(A(n.roots))e=n.roots;else if(M(n.roots)){for(var c=[],d=0;d0;){var B=S.shift(),I=C(B,P);if(I)B.outgoers().filter((function(e){return e.isNode()&&i.has(e)})).forEach(D);else if(null===I){Pe("Detected double maximal shift for node `"+B.id()+"`. Bailing maximal adjustment due to cycle. Use `options.maximal: true` only on DAGs.");break}}}k();var O=0;if(n.avoidOverlap)for(var z=0;z0&&y[0].length<=3?u/2:0),d=2*Math.PI/y[r].length*i;return 0===r&&1===y[0].length&&(c=1),{x:U+c*Math.cos(d),y:Z+c*Math.sin(d)}}return{x:U+(i+1-(a+1)/2)*o,y:(r+1)*s}})),this};var Ha={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,radius:void 0,startAngle:1.5*Math.PI,sweep:void 0,clockwise:!0,sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,t){return!0},ready:void 0,stop:void 0,transform:function(e,t){return t}};function Ua(e){this.options=Q({},Ha,e)}Ua.prototype.run=function(){var e=this.options,t=e,n=e.cy,r=t.eles,i=void 0!==t.counterclockwise?!t.counterclockwise:t.clockwise,a=r.nodes().not(":parent");t.sort&&(a=a.sort(t.sort));for(var o,s=pt(t.boundingBox?t.boundingBox:{x1:0,y1:0,w:n.width(),h:n.height()}),u=s.x1+s.w/2,l=s.y1+s.h/2,c=(void 0===t.sweep?2*Math.PI-2*Math.PI/a.length:t.sweep)/Math.max(1,a.length-1),d=0,h=0;h1&&t.avoidOverlap){d*=1.75;var g=Math.cos(c)-Math.cos(0),y=Math.sin(c)-Math.sin(0),m=Math.sqrt(d*d/(g*g+y*y));o=Math.max(m,o)}return r.nodes().layoutPositions(this,t,(function(e,n){var r=t.startAngle+n*c*(i?1:-1),a=o*Math.cos(r),s=o*Math.sin(r);return{x:u+a,y:l+s}})),this};var Za,Ka={fit:!0,padding:30,startAngle:1.5*Math.PI,sweep:void 0,clockwise:!0,equidistant:!1,minNodeSpacing:10,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,height:void 0,width:void 0,spacingFactor:void 0,concentric:function(e){return e.degree()},levelWidth:function(e){return e.maxDegree()/4},animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,t){return!0},ready:void 0,stop:void 0,transform:function(e,t){return t}};function Ga(e){this.options=Q({},Ka,e)}Ga.prototype.run=function(){for(var e=this.options,t=e,n=void 0!==t.counterclockwise?!t.counterclockwise:t.clockwise,r=e.cy,i=t.eles,a=i.nodes().not(":parent"),o=pt(t.boundingBox?t.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()}),s=o.x1+o.w/2,u=o.y1+o.h/2,l=[],c=0,d=0;d0&&Math.abs(m[0].value-x.value)>=g&&(m=[],y.push(m)),m.push(x)}var w=c+t.minNodeSpacing;if(!t.avoidOverlap){var _=y.length>0&&y[0].length>1,E=(Math.min(o.w,o.h)/2-w)/(y.length+_?1:0);w=Math.min(w,E)}for(var k=0,C=0;C1&&t.avoidOverlap){var D=Math.cos(T)-Math.cos(0),M=Math.sin(T)-Math.sin(0),B=Math.sqrt(w*w/(D*D+M*M));k=Math.max(B,k)}S.r=k,k+=w}if(t.equidistant){for(var I=0,O=0,A=0;A=e.numIter||(ao(r,e),r.temperature=r.temperature*e.coolingFactor,r.temperature=e.animationThreshold&&a(),ae(t)):(mo(r,e),s())}();else{for(;l;)l=o(u),u++;mo(r,e),s()}return this},Qa.prototype.stop=function(){return this.stopped=!0,this.thread&&this.thread.stop(),this.emit("layoutstop"),this},Qa.prototype.destroy=function(){return this.thread&&this.thread.stop(),this};var Ja=function(e,t,n){for(var r=n.eles.edges(),i=n.eles.nodes(),a=pt(n.boundingBox?n.boundingBox:{x1:0,y1:0,w:e.width(),h:e.height()}),o={isCompound:e.hasCompoundNodes(),layoutNodes:[],idToIndex:{},nodeSize:i.size(),graphSet:[],indexToGraph:[],layoutEdges:[],edgeSize:r.size(),temperature:n.initialTemp,clientWidth:a.w,clientHeight:a.h,boundingBox:a},s=n.eles.components(),u={},l=0;l0)for(o.graphSet.push(w),l=0;lr.count?0:r.graph},to=function e(t,n,r,i){var a=i.graphSet[r];if(-10)var s=(l=r.nodeOverlap*o)*i/(v=Math.sqrt(i*i+a*a)),u=l*a/v;else{var l,c=co(e,i,a),d=co(t,-1*i,-1*a),h=d.x-c.x,f=d.y-c.y,p=h*h+f*f,v=Math.sqrt(p);s=(l=(e.nodeRepulsion+t.nodeRepulsion)/p)*h/v,u=l*f/v}e.isLocked||(e.offsetX-=s,e.offsetY-=u),t.isLocked||(t.offsetX+=s,t.offsetY+=u)}},lo=function(e,t,n,r){if(n>0)var i=e.maxX-t.minX;else i=t.maxX-e.minX;if(r>0)var a=e.maxY-t.minY;else a=t.maxY-e.minY;return i>=0&&a>=0?Math.sqrt(i*i+a*a):0},co=function(e,t,n){var r=e.positionX,i=e.positionY,a=e.height||1,o=e.width||1,s=n/t,u=a/o,l={};return 0===t&&0n?(l.x=r,l.y=i+a/2,l):0t&&-1*u<=s&&s<=u?(l.x=r-o/2,l.y=i-o*n/2/t,l):0=u)?(l.x=r+a*t/2/n,l.y=i+a/2,l):0>n&&(s<=-1*u||s>=u)?(l.x=r-a*t/2/n,l.y=i-a/2,l):l},ho=function(e,t){for(var n=0;n1){var p=t.gravity*d/f,v=t.gravity*h/f;c.offsetX+=p,c.offsetY+=v}}}}},po=function(e,t){var n=[],r=0,i=-1;for(n.push.apply(n,e.graphSet[0]),i+=e.graphSet[0].length;r<=i;){var a=n[r++],o=e.idToIndex[a],s=e.layoutNodes[o],u=s.children;if(0n)var i={x:n*e/r,y:n*t/r};else i={x:e,y:t};return i},yo=function e(t,n){var r=t.parentId;if(null!=r){var i=n.layoutNodes[n.idToIndex[r]],a=!1;return(null==i.maxX||t.maxX+i.padRight>i.maxX)&&(i.maxX=t.maxX+i.padRight,a=!0),(null==i.minX||t.minX-i.padLefti.maxY)&&(i.maxY=t.maxY+i.padBottom,a=!0),(null==i.minY||t.minY-i.padTopp&&(d+=f+t.componentSpacing,c=0,h=0,f=0)}}},bo={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,avoidOverlapPadding:10,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,condense:!1,rows:void 0,cols:void 0,position:function(e){},sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,t){return!0},ready:void 0,stop:void 0,transform:function(e,t){return t}};function xo(e){this.options=Q({},bo,e)}xo.prototype.run=function(){var e=this.options,t=e,n=e.cy,r=t.eles,i=r.nodes().not(":parent");t.sort&&(i=i.sort(t.sort));var a=pt(t.boundingBox?t.boundingBox:{x1:0,y1:0,w:n.width(),h:n.height()});if(0===a.h||0===a.w)r.nodes().layoutPositions(this,t,(function(e){return{x:a.x1,y:a.y1}}));else{var o=i.size(),s=Math.sqrt(o*a.h/a.w),u=Math.round(s),l=Math.round(a.w/a.h*s),c=function(e){if(null==e)return Math.min(u,l);Math.min(u,l)==u?u=e:l=e},d=function(e){if(null==e)return Math.max(u,l);Math.max(u,l)==u?u=e:l=e},h=t.rows,f=null!=t.cols?t.cols:t.columns;if(null!=h&&null!=f)u=h,l=f;else if(null!=h&&null==f)u=h,l=Math.ceil(o/u);else if(null==h&&null!=f)l=f,u=Math.ceil(o/l);else if(l*u>o){var p=c(),v=d();(p-1)*v>=o?c(p-1):(v-1)*p>=o&&d(v-1)}else for(;l*u=o?d(y+1):c(g+1)}var m=a.w/l,b=a.h/u;if(t.condense&&(m=0,b=0),t.avoidOverlap)for(var x=0;x=l&&(B=0,M++)},O={},A=0;A(r=Pt(e,t,x[w],x[w+1],x[w+2],x[w+3])))return g(n,r),!0}else if("bezier"===a.edgeType||"multibezier"===a.edgeType||"self"===a.edgeType||"compound"===a.edgeType)for(x=a.allpts,w=0;w+5(r=St(e,t,x[w],x[w+1],x[w+2],x[w+3],x[w+4],x[w+5])))return g(n,r),!0;m=m||i.source,b=b||i.target;var _=o.getArrowWidth(u,c),E=[{name:"source",x:a.arrowStartX,y:a.arrowStartY,angle:a.srcArrowAngle},{name:"target",x:a.arrowEndX,y:a.arrowEndY,angle:a.tgtArrowAngle},{name:"mid-source",x:a.midX,y:a.midY,angle:a.midsrcArrowAngle},{name:"mid-target",x:a.midX,y:a.midY,angle:a.midtgtArrowAngle}];for(w=0;w0&&(y(m),y(b))}function b(e,t,n){return ze(e,t,n)}function x(n,r){var i,a=n._private,o=p;i=r?r+"-":"",n.boundingBox();var s=a.labelBounds[r||"main"],u=n.pstyle(i+"label").value;if("yes"===n.pstyle("text-events").strValue&&u){var l=b(a.rscratch,"labelX",r),c=b(a.rscratch,"labelY",r),d=b(a.rscratch,"labelAngle",r),h=n.pstyle(i+"text-margin-x").pfValue,f=n.pstyle(i+"text-margin-y").pfValue,v=s.x1-o-h,y=s.x2+o-h,m=s.y1-o-f,x=s.y2+o-f;if(d){var w=Math.cos(d),_=Math.sin(d),E=function(e,t){return{x:(e-=l)*w-(t-=c)*_+l,y:e*_+t*w+c}},k=E(v,m),C=E(v,x),S=E(y,m),P=E(y,x),T=[k.x+h,k.y+f,S.x+h,S.y+f,P.x+h,P.y+f,C.x+h,C.y+f];if(Tt(e,t,T))return g(n),!0}else if(wt(s,e,t))return g(n),!0}}n&&(u=u.interactive);for(var w=u.length-1;w>=0;w--){var _=u[w];_.isNode()?y(_)||x(_):m(_)||x(_)||x(_,"source")||x(_,"target")}return l},getAllInBox:function(e,t,n,r){for(var i,a,o=this.getCachedZSortedEles().interactive,s=[],u=Math.min(e,n),l=Math.max(e,n),c=Math.min(t,r),d=Math.max(t,r),h=pt({x1:e=u,y1:t=c,x2:n=l,y2:r=d}),f=0;f0?Math.max(e-t,0):Math.min(e+t,0)},P=S(k,_),T=S(C,E),D=!1;"auto"===g?v=Math.abs(P)>Math.abs(T)?i:r:g===u||g===s?(v=r,D=!0):g!==a&&g!==o||(v=i,D=!0);var M,B=v===r,I=B?T:P,O=B?C:k,A=st(O),z=!1;D&&(m||x)||!(g===s&&O<0||g===u&&O>0||g===a&&O>0||g===o&&O<0)||(I=(A*=-1)*Math.abs(I),z=!0);var N=function(e){return Math.abs(e)=Math.abs(I)},L=N(M=m?(b<0?1+b:b)*I:(b<0?I:0)+b*A),R=N(Math.abs(I)-Math.abs(M));if(!L&&!R||z)if(B){var j=l.y1+M+(p?d/2*A:0),V=l.x1,F=l.x2;n.segpts=[V,j,F,j]}else{var q=l.x1+M+(p?c/2*A:0),W=l.y1,Y=l.y2;n.segpts=[q,W,q,Y]}else if(B){var X=Math.abs(O)<=d/2,H=Math.abs(k)<=h/2;if(X){var U=(l.x1+l.x2)/2,Z=l.y1,K=l.y2;n.segpts=[U,Z,U,K]}else if(H){var G=(l.y1+l.y2)/2,$=l.x1,Q=l.x2;n.segpts=[$,G,Q,G]}else n.segpts=[l.x1,l.y2]}else{var J=Math.abs(O)<=c/2,ee=Math.abs(C)<=f/2;if(J){var te=(l.y1+l.y2)/2,ne=l.x1,re=l.x2;n.segpts=[ne,te,re,te]}else if(ee){var ie=(l.x1+l.x2)/2,ae=l.y1,oe=l.y2;n.segpts=[ie,ae,ie,oe]}else n.segpts=[l.x2,l.y1]}},Ao.tryToCorrectInvalidPoints=function(e,t){var n=e._private.rscratch;if("bezier"===n.edgeType){var r=t.srcPos,i=t.tgtPos,a=t.srcW,o=t.srcH,s=t.tgtW,u=t.tgtH,l=t.srcShape,c=t.tgtShape,d=!I(n.startX)||!I(n.startY),h=!I(n.arrowStartX)||!I(n.arrowStartY),f=!I(n.endX)||!I(n.endY),p=!I(n.arrowEndX)||!I(n.arrowEndY),v=this.getArrowWidth(e.pstyle("width").pfValue,e.pstyle("arrow-scale").value)*this.arrowShapeWidth*3,g=ut({x:n.ctrlpts[0],y:n.ctrlpts[1]},{x:n.startX,y:n.startY}),y=gh.poolIndex()){var f=d;d=h,h=f}var p=s.srcPos=d.position(),v=s.tgtPos=h.position(),g=s.srcW=d.outerWidth(),y=s.srcH=d.outerHeight(),m=s.tgtW=h.outerWidth(),b=s.tgtH=h.outerHeight(),x=s.srcShape=n.nodeShapes[t.getNodeShape(d)],w=s.tgtShape=n.nodeShapes[t.getNodeShape(h)];s.dirCounts={north:0,west:0,south:0,east:0,northwest:0,southwest:0,northeast:0,southeast:0};for(var _=0;_0){var q=l,W=lt(q,it(t)),Y=lt(q,it(F)),X=W;Y2&<(q,{x:F[2],y:F[3]})0){var ie=c,ae=lt(ie,it(t)),oe=lt(ie,it(re)),se=ae;oe2&<(ie,{x:re[2],y:re[3]})=l||m){c={cp:v,segment:y};break}}if(c)break}var b=c.cp,x=c.segment,w=(l-h)/x.length,_=x.t1-x.t0,E=s?x.t0+_*w:x.t1-_*w;E=ft(0,E,1),t=ht(b.p0,b.p1,b.p2,E),i=function(e,t,n,r){var i=ft(0,r-.001,1),a=ft(0,r+.001,1),o=ht(e,t,n,i),s=ht(e,t,n,a);return Fo(o,s)}(b.p0,b.p1,b.p2,E);break;case"straight":case"segments":case"haystack":for(var k,C,S,P,T=0,D=r.allpts.length,M=0;M+3=l));M+=2);var B=(l-C)/k;B=ft(0,B,1),t=function(e,t,n,r){var i=t.x-e.x,a=t.y-e.y,o=ut(e,t),s=i/o,u=a/o;return n=null==n?0:n,r=null!=r?r:n*o,{x:e.x+s*r,y:e.y+u*r}}(S,P,B),i=Fo(S,P)}o("labelX",n,t.x),o("labelY",n,t.y),o("labelAutoAngle",n,i)}};l("source"),l("target"),this.applyLabelDimensions(e)}},jo.applyLabelDimensions=function(e){this.applyPrefixedLabelDimensions(e),e.isEdge()&&(this.applyPrefixedLabelDimensions(e,"source"),this.applyPrefixedLabelDimensions(e,"target"))},jo.applyPrefixedLabelDimensions=function(e,t){var n=e._private,r=this.getLabelText(e,t),i=this.calculateLabelDimensions(e,r),a=e.pstyle("line-height").pfValue,o=e.pstyle("text-wrap").strValue,s=ze(n.rscratch,"labelWrapCachedLines",t)||[],u="wrap"!==o?1:Math.max(s.length,1),l=i.height/u,c=l*a,d=i.width,h=i.height+(u-1)*(a-1)*l;Ne(n.rstyle,"labelWidth",t,d),Ne(n.rscratch,"labelWidth",t,d),Ne(n.rstyle,"labelHeight",t,h),Ne(n.rscratch,"labelHeight",t,h),Ne(n.rscratch,"labelLineHeight",t,c)},jo.getLabelText=function(e,t){var n=e._private,r=t?t+"-":"",i=e.pstyle(r+"label").strValue,a=e.pstyle("text-transform").value,o=function(e,r){return r?(Ne(n.rscratch,e,t,r),r):ze(n.rscratch,e,t)};if(!i)return"";"none"==a||("uppercase"==a?i=i.toUpperCase():"lowercase"==a&&(i=i.toLowerCase()));var s=e.pstyle("text-wrap").value;if("wrap"===s){var u=o("labelKey");if(null!=u&&o("labelWrapKey")===u)return o("labelWrapCachedText");for(var l=i.split("\n"),c=e.pstyle("text-max-width").pfValue,d="anywhere"===e.pstyle("text-overflow-wrap").value,h=[],f=/[\s\u200b]+/,p=d?"":" ",v=0;vc){for(var b=g.split(f),x="",w=0;wk);P++)C+=i[P],P===i.length-1&&(S=!0);return S||(C+="…"),C}return i},jo.getLabelJustification=function(e){var t=e.pstyle("text-justification").strValue,n=e.pstyle("text-halign").strValue;if("auto"!==t)return t;if(!e.isNode())return"center";switch(n){case"left":return"right";case"right":return"left";default:return"center"}},jo.calculateLabelDimensions=function(e,t){var n=pe(t,e._private.labelDimsKey),r=this.labelDimCache||(this.labelDimCache=[]),i=r[n];if(null!=i)return i;var a=e.pstyle("font-style").strValue,o=e.pstyle("font-size").pfValue,s=e.pstyle("font-family").strValue,u=e.pstyle("font-weight").strValue,l=this.labelCalcCanvas,c=this.labelCalcCanvasContext;if(!l){l=this.labelCalcCanvas=document.createElement("canvas"),c=this.labelCalcCanvasContext=l.getContext("2d");var d=l.style;d.position="absolute",d.left="-9999px",d.top="-9999px",d.zIndex="-1",d.visibility="hidden",d.pointerEvents="none"}c.font="".concat(a," ").concat(u," ").concat(o,"px ").concat(s);for(var h=0,f=0,p=t.split("\n"),v=0;v1&&void 0!==arguments[1])||arguments[1];if(t.merge(e),n)for(var r=0;r=e.desktopTapThreshold2}var S=i(t);g&&(e.hoverData.tapholdCancelled=!0),n=!0,r(v,["mousemove","vmousemove","tapdrag"],t,{x:l[0],y:l[1]});var P=function(){e.data.bgActivePosistion=void 0,e.hoverData.selecting||o.emit({originalEvent:t,type:"boxstart",position:{x:l[0],y:l[1]}}),p[4]=1,e.hoverData.selecting=!0,e.redrawHint("select",!0),e.redraw()};if(3===e.hoverData.which){if(g){var T={originalEvent:t,type:"cxtdrag",position:{x:l[0],y:l[1]}};m?m.emit(T):o.emit(T),e.hoverData.cxtDragged=!0,e.hoverData.cxtOver&&v===e.hoverData.cxtOver||(e.hoverData.cxtOver&&e.hoverData.cxtOver.emit({originalEvent:t,type:"cxtdragout",position:{x:l[0],y:l[1]}}),e.hoverData.cxtOver=v,v&&v.emit({originalEvent:t,type:"cxtdragover",position:{x:l[0],y:l[1]}}))}}else if(e.hoverData.dragging){if(n=!0,o.panningEnabled()&&o.userPanningEnabled()){var D;if(e.hoverData.justStartedPan){var M=e.hoverData.mdownPos;D={x:(l[0]-M[0])*s,y:(l[1]-M[1])*s},e.hoverData.justStartedPan=!1}else D={x:b[0]*s,y:b[1]*s};o.panBy(D),o.emit("dragpan"),e.hoverData.dragged=!0}l=e.projectIntoViewport(t.clientX,t.clientY)}else if(1!=p[4]||null!=m&&!m.pannable()){if(m&&m.pannable()&&m.active()&&m.unactivate(),m&&m.grabbed()||v==y||(y&&r(y,["mouseout","tapdragout"],t,{x:l[0],y:l[1]}),v&&r(v,["mouseover","tapdragover"],t,{x:l[0],y:l[1]}),e.hoverData.last=v),m)if(g){if(o.boxSelectionEnabled()&&S)m&&m.grabbed()&&(h(x),m.emit("freeon"),x.emit("free"),e.dragData.didDrag&&(m.emit("dragfreeon"),x.emit("dragfree"))),P();else if(m&&m.grabbed()&&e.nodeIsDraggable(m)){var B=!e.dragData.didDrag;B&&e.redrawHint("eles",!0),e.dragData.didDrag=!0,e.hoverData.draggingEles||c(x,{inDragLayer:!0});var O={x:0,y:0};if(I(b[0])&&I(b[1])&&(O.x+=b[0],O.y+=b[1],B)){var A=e.hoverData.dragDelta;A&&I(A[0])&&I(A[1])&&(O.x+=A[0],O.y+=A[1])}e.hoverData.draggingEles=!0,x.silentShift(O).emit("position drag"),e.redrawHint("drag",!0),e.redraw()}}else!function(){var t=e.hoverData.dragDelta=e.hoverData.dragDelta||[];0===t.length?(t.push(b[0]),t.push(b[1])):(t[0]+=b[0],t[1]+=b[1])}();n=!0}else g&&(e.hoverData.dragging||!o.boxSelectionEnabled()||!S&&o.panningEnabled()&&o.userPanningEnabled()?!e.hoverData.selecting&&o.panningEnabled()&&o.userPanningEnabled()&&a(m,e.hoverData.downs)&&(e.hoverData.dragging=!0,e.hoverData.justStartedPan=!0,p[4]=0,e.data.bgActivePosistion=it(d),e.redrawHint("select",!0),e.redraw()):P(),m&&m.pannable()&&m.active()&&m.unactivate());return p[2]=l[0],p[3]=l[1],n?(t.stopPropagation&&t.stopPropagation(),t.preventDefault&&t.preventDefault(),!1):void 0}}),!1),e.registerBinding(t,"mouseup",(function(t){if(e.hoverData.capture){e.hoverData.capture=!1;var a=e.cy,o=e.projectIntoViewport(t.clientX,t.clientY),s=e.selection,u=e.findNearestElement(o[0],o[1],!0,!1),l=e.dragData.possibleDragElements,c=e.hoverData.down,d=i(t);if(e.data.bgActivePosistion&&(e.redrawHint("select",!0),e.redraw()),e.hoverData.tapholdCancelled=!0,e.data.bgActivePosistion=void 0,c&&c.unactivate(),3===e.hoverData.which){var f={originalEvent:t,type:"cxttapend",position:{x:o[0],y:o[1]}};if(c?c.emit(f):a.emit(f),!e.hoverData.cxtDragged){var p={originalEvent:t,type:"cxttap",position:{x:o[0],y:o[1]}};c?c.emit(p):a.emit(p)}e.hoverData.cxtDragged=!1,e.hoverData.which=null}else if(1===e.hoverData.which){if(r(u,["mouseup","tapend","vmouseup"],t,{x:o[0],y:o[1]}),e.dragData.didDrag||e.hoverData.dragged||e.hoverData.selecting||e.hoverData.isOverThresholdDrag||(r(c,["click","tap","vclick"],t,{x:o[0],y:o[1]}),x=!1,t.timeStamp-w<=a.multiClickDebounceTime()?(b&&clearTimeout(b),x=!0,w=null,r(c,["dblclick","dbltap","vdblclick"],t,{x:o[0],y:o[1]})):(b=setTimeout((function(){x||r(c,["oneclick","onetap","voneclick"],t,{x:o[0],y:o[1]})}),a.multiClickDebounceTime()),w=t.timeStamp)),null!=c||e.dragData.didDrag||e.hoverData.selecting||e.hoverData.dragged||i(t)||(a.$(n).unselect(["tapunselect"]),l.length>0&&e.redrawHint("eles",!0),e.dragData.possibleDragElements=l=a.collection()),u!=c||e.dragData.didDrag||e.hoverData.selecting||null!=u&&u._private.selectable&&(e.hoverData.dragging||("additive"===a.selectionType()||d?u.selected()?u.unselect(["tapunselect"]):u.select(["tapselect"]):d||(a.$(n).unmerge(u).unselect(["tapunselect"]),u.select(["tapselect"]))),e.redrawHint("eles",!0)),e.hoverData.selecting){var v=a.collection(e.getAllInBox(s[0],s[1],s[2],s[3]));e.redrawHint("select",!0),v.length>0&&e.redrawHint("eles",!0),a.emit({type:"boxend",originalEvent:t,position:{x:o[0],y:o[1]}});"additive"===a.selectionType()||d||a.$(n).unmerge(v).unselect(),v.emit("box").stdFilter((function(e){return e.selectable()&&!e.selected()})).select().emit("boxselect"),e.redraw()}if(e.hoverData.dragging&&(e.hoverData.dragging=!1,e.redrawHint("select",!0),e.redrawHint("eles",!0),e.redraw()),!s[4]){e.redrawHint("drag",!0),e.redrawHint("eles",!0);var g=c&&c.grabbed();h(l),g&&(c.emit("freeon"),l.emit("free"),e.dragData.didDrag&&(c.emit("dragfreeon"),l.emit("dragfree")))}}s[4]=0,e.hoverData.down=null,e.hoverData.cxtStarted=!1,e.hoverData.draggingEles=!1,e.hoverData.selecting=!1,e.hoverData.isOverThresholdDrag=!1,e.dragData.didDrag=!1,e.hoverData.dragged=!1,e.hoverData.dragDelta=[],e.hoverData.mdownPos=null,e.hoverData.mdownGPos=null}}),!1);var E,k,C,S,P,T,D,M,B,O,A,z,N,L=function(t){if(!e.scrollingPage){var n=e.cy,r=n.zoom(),i=n.pan(),a=e.projectIntoViewport(t.clientX,t.clientY),o=[a[0]*r+i.x,a[1]*r+i.y];if(e.hoverData.draggingEles||e.hoverData.dragging||e.hoverData.cxtStarted||0!==e.selection[4])t.preventDefault();else if(n.panningEnabled()&&n.userPanningEnabled()&&n.zoomingEnabled()&&n.userZoomingEnabled()){var s;t.preventDefault(),e.data.wheelZooming=!0,clearTimeout(e.data.wheelTimeout),e.data.wheelTimeout=setTimeout((function(){e.data.wheelZooming=!1,e.redrawHint("eles",!0),e.redraw()}),150),s=null!=t.deltaY?t.deltaY/-250:null!=t.wheelDeltaY?t.wheelDeltaY/1e3:t.wheelDelta/1e3,s*=e.wheelSensitivity,1===t.deltaMode&&(s*=33);var u=n.zoom()*Math.pow(10,s);"gesturechange"===t.type&&(u=e.gestureStartZoom*t.scale),n.zoom({level:u,renderedPosition:{x:o[0],y:o[1]}}),n.emit("gesturechange"===t.type?"pinchzoom":"scrollzoom")}}};e.registerBinding(e.container,"wheel",L,!0),e.registerBinding(t,"scroll",(function(t){e.scrollingPage=!0,clearTimeout(e.scrollingPageTimeout),e.scrollingPageTimeout=setTimeout((function(){e.scrollingPage=!1}),250)}),!0),e.registerBinding(e.container,"gesturestart",(function(t){e.gestureStartZoom=e.cy.zoom(),e.hasTouchStarted||t.preventDefault()}),!0),e.registerBinding(e.container,"gesturechange",(function(t){e.hasTouchStarted||L(t)}),!0),e.registerBinding(e.container,"mouseout",(function(t){var n=e.projectIntoViewport(t.clientX,t.clientY);e.cy.emit({originalEvent:t,type:"mouseout",position:{x:n[0],y:n[1]}})}),!1),e.registerBinding(e.container,"mouseover",(function(t){var n=e.projectIntoViewport(t.clientX,t.clientY);e.cy.emit({originalEvent:t,type:"mouseover",position:{x:n[0],y:n[1]}})}),!1);var R,j,V,F,q,W,Y,X=function(e,t,n,r){return Math.sqrt((n-e)*(n-e)+(r-t)*(r-t))},H=function(e,t,n,r){return(n-e)*(n-e)+(r-t)*(r-t)};if(e.registerBinding(e.container,"touchstart",R=function(t){if(e.hasTouchStarted=!0,_(t)){p(),e.touchData.capture=!0,e.data.bgActivePosistion=void 0;var n=e.cy,i=e.touchData.now,a=e.touchData.earlier;if(t.touches[0]){var o=e.projectIntoViewport(t.touches[0].clientX,t.touches[0].clientY);i[0]=o[0],i[1]=o[1]}if(t.touches[1]&&(o=e.projectIntoViewport(t.touches[1].clientX,t.touches[1].clientY),i[2]=o[0],i[3]=o[1]),t.touches[2]&&(o=e.projectIntoViewport(t.touches[2].clientX,t.touches[2].clientY),i[4]=o[0],i[5]=o[1]),t.touches[1]){e.touchData.singleTouchMoved=!0,h(e.dragData.touchDragEles);var u=e.findContainerClientCoords();B=u[0],O=u[1],A=u[2],z=u[3],E=t.touches[0].clientX-B,k=t.touches[0].clientY-O,C=t.touches[1].clientX-B,S=t.touches[1].clientY-O,N=0<=E&&E<=A&&0<=C&&C<=A&&0<=k&&k<=z&&0<=S&&S<=z;var l=n.pan(),f=n.zoom();if(P=X(E,k,C,S),T=H(E,k,C,S),M=[((D=[(E+C)/2,(k+S)/2])[0]-l.x)/f,(D[1]-l.y)/f],T<4e4&&!t.touches[2]){var v=e.findNearestElement(i[0],i[1],!0,!0),g=e.findNearestElement(i[2],i[3],!0,!0);return v&&v.isNode()?(v.activate().emit({originalEvent:t,type:"cxttapstart",position:{x:i[0],y:i[1]}}),e.touchData.start=v):g&&g.isNode()?(g.activate().emit({originalEvent:t,type:"cxttapstart",position:{x:i[0],y:i[1]}}),e.touchData.start=g):n.emit({originalEvent:t,type:"cxttapstart",position:{x:i[0],y:i[1]}}),e.touchData.start&&(e.touchData.start._private.grabbed=!1),e.touchData.cxt=!0,e.touchData.cxtDragged=!1,e.data.bgActivePosistion=void 0,void e.redraw()}}if(t.touches[2])n.boxSelectionEnabled()&&t.preventDefault();else if(t.touches[1]);else if(t.touches[0]){var y=e.findNearestElements(i[0],i[1],!0,!0),m=y[0];if(null!=m&&(m.activate(),e.touchData.start=m,e.touchData.starts=y,e.nodeIsGrabbable(m))){var b=e.dragData.touchDragEles=n.collection(),x=null;e.redrawHint("eles",!0),e.redrawHint("drag",!0),m.selected()?(x=n.$((function(t){return t.selected()&&e.nodeIsGrabbable(t)})),c(x,{addToList:b})):d(m,{addToList:b}),s(m);var w=function(e){return{originalEvent:t,type:e,position:{x:i[0],y:i[1]}}};m.emit(w("grabon")),x?x.forEach((function(e){e.emit(w("grab"))})):m.emit(w("grab"))}r(m,["touchstart","tapstart","vmousedown"],t,{x:i[0],y:i[1]}),null==m&&(e.data.bgActivePosistion={x:o[0],y:o[1]},e.redrawHint("select",!0),e.redraw()),e.touchData.singleTouchMoved=!1,e.touchData.singleTouchStartTime=+new Date,clearTimeout(e.touchData.tapholdTimeout),e.touchData.tapholdTimeout=setTimeout((function(){!1!==e.touchData.singleTouchMoved||e.pinching||e.touchData.selecting||r(e.touchData.start,["taphold"],t,{x:i[0],y:i[1]})}),e.tapholdDuration)}if(t.touches.length>=1){for(var I=e.touchData.startPosition=[null,null,null,null,null,null],L=0;L=e.touchTapThreshold2}if(n&&e.touchData.cxt){t.preventDefault();var x=t.touches[0].clientX-B,w=t.touches[0].clientY-O,D=t.touches[1].clientX-B,A=t.touches[1].clientY-O,z=H(x,w,D,A);if(z/T>=2.25||z>=22500){e.touchData.cxt=!1,e.data.bgActivePosistion=void 0,e.redrawHint("select",!0);var L={originalEvent:t,type:"cxttapend",position:{x:s[0],y:s[1]}};e.touchData.start?(e.touchData.start.unactivate().emit(L),e.touchData.start=null):o.emit(L)}}if(n&&e.touchData.cxt){L={originalEvent:t,type:"cxtdrag",position:{x:s[0],y:s[1]}},e.data.bgActivePosistion=void 0,e.redrawHint("select",!0),e.touchData.start?e.touchData.start.emit(L):o.emit(L),e.touchData.start&&(e.touchData.start._private.grabbed=!1),e.touchData.cxtDragged=!0;var R=e.findNearestElement(s[0],s[1],!0,!0);e.touchData.cxtOver&&R===e.touchData.cxtOver||(e.touchData.cxtOver&&e.touchData.cxtOver.emit({originalEvent:t,type:"cxtdragout",position:{x:s[0],y:s[1]}}),e.touchData.cxtOver=R,R&&R.emit({originalEvent:t,type:"cxtdragover",position:{x:s[0],y:s[1]}}))}else if(n&&t.touches[2]&&o.boxSelectionEnabled())t.preventDefault(),e.data.bgActivePosistion=void 0,this.lastThreeTouch=+new Date,e.touchData.selecting||o.emit({originalEvent:t,type:"boxstart",position:{x:s[0],y:s[1]}}),e.touchData.selecting=!0,e.touchData.didSelect=!0,i[4]=1,i&&0!==i.length&&void 0!==i[0]?(i[2]=(s[0]+s[2]+s[4])/3,i[3]=(s[1]+s[3]+s[5])/3):(i[0]=(s[0]+s[2]+s[4])/3,i[1]=(s[1]+s[3]+s[5])/3,i[2]=(s[0]+s[2]+s[4])/3+1,i[3]=(s[1]+s[3]+s[5])/3+1),e.redrawHint("select",!0),e.redraw();else if(n&&t.touches[1]&&!e.touchData.didSelect&&o.zoomingEnabled()&&o.panningEnabled()&&o.userZoomingEnabled()&&o.userPanningEnabled()){if(t.preventDefault(),e.data.bgActivePosistion=void 0,e.redrawHint("select",!0),ee=e.dragData.touchDragEles){e.redrawHint("drag",!0);for(var j=0;j0&&!e.hoverData.draggingEles&&!e.swipePanning&&null!=e.data.bgActivePosistion&&(e.data.bgActivePosistion=void 0,e.redrawHint("select",!0),e.redraw())}},!1),e.registerBinding(t,"touchcancel",V=function(t){var n=e.touchData.start;e.touchData.capture=!1,n&&n.unactivate()}),e.registerBinding(t,"touchend",F=function(t){var i=e.touchData.start;if(e.touchData.capture){0===t.touches.length&&(e.touchData.capture=!1),t.preventDefault();var a=e.selection;e.swipePanning=!1,e.hoverData.draggingEles=!1;var o,s=e.cy,u=s.zoom(),l=e.touchData.now,c=e.touchData.earlier;if(t.touches[0]){var d=e.projectIntoViewport(t.touches[0].clientX,t.touches[0].clientY);l[0]=d[0],l[1]=d[1]}if(t.touches[1]&&(d=e.projectIntoViewport(t.touches[1].clientX,t.touches[1].clientY),l[2]=d[0],l[3]=d[1]),t.touches[2]&&(d=e.projectIntoViewport(t.touches[2].clientX,t.touches[2].clientY),l[4]=d[0],l[5]=d[1]),i&&i.unactivate(),e.touchData.cxt){if(o={originalEvent:t,type:"cxttapend",position:{x:l[0],y:l[1]}},i?i.emit(o):s.emit(o),!e.touchData.cxtDragged){var f={originalEvent:t,type:"cxttap",position:{x:l[0],y:l[1]}};i?i.emit(f):s.emit(f)}return e.touchData.start&&(e.touchData.start._private.grabbed=!1),e.touchData.cxt=!1,e.touchData.start=null,void e.redraw()}if(!t.touches[2]&&s.boxSelectionEnabled()&&e.touchData.selecting){e.touchData.selecting=!1;var p=s.collection(e.getAllInBox(a[0],a[1],a[2],a[3]));a[0]=void 0,a[1]=void 0,a[2]=void 0,a[3]=void 0,a[4]=0,e.redrawHint("select",!0),s.emit({type:"boxend",originalEvent:t,position:{x:l[0],y:l[1]}}),p.emit("box").stdFilter((function(e){return e.selectable()&&!e.selected()})).select().emit("boxselect"),p.nonempty()&&e.redrawHint("eles",!0),e.redraw()}if(null!=i&&i.unactivate(),t.touches[2])e.data.bgActivePosistion=void 0,e.redrawHint("select",!0);else if(t.touches[1]);else if(t.touches[0]);else if(!t.touches[0]){e.data.bgActivePosistion=void 0,e.redrawHint("select",!0);var v=e.dragData.touchDragEles;if(null!=i){var g=i._private.grabbed;h(v),e.redrawHint("drag",!0),e.redrawHint("eles",!0),g&&(i.emit("freeon"),v.emit("free"),e.dragData.didDrag&&(i.emit("dragfreeon"),v.emit("dragfree"))),r(i,["touchend","tapend","vmouseup","tapdragout"],t,{x:l[0],y:l[1]}),i.unactivate(),e.touchData.start=null}else{var y=e.findNearestElement(l[0],l[1],!0,!0);r(y,["touchend","tapend","vmouseup","tapdragout"],t,{x:l[0],y:l[1]})}var m=e.touchData.startPosition[0]-l[0],b=m*m,x=e.touchData.startPosition[1]-l[1],w=(b+x*x)*u*u;e.touchData.singleTouchMoved||(i||s.$(":selected").unselect(["tapunselect"]),r(i,["tap","vclick"],t,{x:l[0],y:l[1]}),q=!1,t.timeStamp-Y<=s.multiClickDebounceTime()?(W&&clearTimeout(W),q=!0,Y=null,r(i,["dbltap","vdblclick"],t,{x:l[0],y:l[1]})):(W=setTimeout((function(){q||r(i,["onetap","voneclick"],t,{x:l[0],y:l[1]})}),s.multiClickDebounceTime()),Y=t.timeStamp)),null!=i&&!e.dragData.didDrag&&i._private.selectable&&w2){for(var T=[l[0],l[1]],D=Math.pow(T[0]-e,2)+Math.pow(T[1]-t,2),M=1;M0)return v[0]}return null},h=Object.keys(c),f=0;f0?u:Et(i,a,e,t,n,r,o)},checkPoint:function(e,t,n,r,i,a,o){var s=Ft(r,i),u=2*s;if(Dt(e,t,this.points,a,o,r,i-u,[0,-1],n))return!0;if(Dt(e,t,this.points,a,o,r-u,i,[0,-1],n))return!0;var l=r/2+2*n,c=i/2+2*n;return!!Tt(e,t,[a-l,o-c,a-l,o,a+l,o,a+l,o-c])||!!It(e,t,u,u,a+r/2-s,o+i/2-s,n)||!!It(e,t,u,u,a-r/2+s,o+i/2-s,n)}}},registerNodeShapes:function(){var e=this.nodeShapes={},t=this;this.generateEllipse(),this.generatePolygon("triangle",Rt(3,0)),this.generateRoundPolygon("round-triangle",Rt(3,0)),this.generatePolygon("rectangle",Rt(4,0)),e.square=e.rectangle,this.generateRoundRectangle(),this.generateCutRectangle(),this.generateBarrel(),this.generateBottomRoundrectangle();var n=[0,1,1,0,0,-1,-1,0];this.generatePolygon("diamond",n),this.generateRoundPolygon("round-diamond",n),this.generatePolygon("pentagon",Rt(5,0)),this.generateRoundPolygon("round-pentagon",Rt(5,0)),this.generatePolygon("hexagon",Rt(6,0)),this.generateRoundPolygon("round-hexagon",Rt(6,0)),this.generatePolygon("heptagon",Rt(7,0)),this.generateRoundPolygon("round-heptagon",Rt(7,0)),this.generatePolygon("octagon",Rt(8,0)),this.generateRoundPolygon("round-octagon",Rt(8,0));var r=new Array(20),i=Vt(5,0),a=Vt(5,Math.PI/5),o=.5*(3-Math.sqrt(5));o*=1.57;for(var s=0;s=e.deqFastCost*v)break}else if(i){if(f>=e.deqCost*u||f>=e.deqAvgCost*s)break}else if(p>=e.deqNoDrawCost*Jo)break;var g=e.deq(t,d,c);if(!(g.length>0))break;for(var y=0;y0&&(e.onDeqd(t,l),!i&&e.shouldRedraw(t,l,d,c)&&r())}),i(t))}}},ts=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:_e;v(this,e),this.idsByKey=new Le,this.keyForId=new Le,this.cachesByLvl=new Le,this.lvls=[],this.getKey=t,this.doesEleInvalidateKey=n}return y(e,[{key:"getIdsFor",value:function(e){null==e&&Ce("Can not get id list for null key");var t=this.idsByKey,n=this.idsByKey.get(e);return n||(n=new je,t.set(e,n)),n}},{key:"addIdForKey",value:function(e,t){null!=e&&this.getIdsFor(e).add(t)}},{key:"deleteIdForKey",value:function(e,t){null!=e&&this.getIdsFor(e).delete(t)}},{key:"getNumberOfIdsForKey",value:function(e){return null==e?0:this.getIdsFor(e).size}},{key:"updateKeyMappingFor",value:function(e){var t=e.id(),n=this.keyForId.get(t),r=this.getKey(e);this.deleteIdForKey(n,t),this.addIdForKey(r,t),this.keyForId.set(t,r)}},{key:"deleteKeyMappingFor",value:function(e){var t=e.id(),n=this.keyForId.get(t);this.deleteIdForKey(n,t),this.keyForId.delete(t)}},{key:"keyHasChangedFor",value:function(e){var t=e.id();return this.keyForId.get(t)!==this.getKey(e)}},{key:"isInvalid",value:function(e){return this.keyHasChangedFor(e)||this.doesEleInvalidateKey(e)}},{key:"getCachesAt",value:function(e){var t=this.cachesByLvl,n=this.lvls,r=t.get(e);return r||(r=new Le,t.set(e,r),n.push(e)),r}},{key:"getCache",value:function(e,t){return this.getCachesAt(t).get(e)}},{key:"get",value:function(e,t){var n=this.getKey(e),r=this.getCache(n,t);return null!=r&&this.updateKeyMappingFor(e),r}},{key:"getForCachedKey",value:function(e,t){var n=this.keyForId.get(e.id());return this.getCache(n,t)}},{key:"hasCache",value:function(e,t){return this.getCachesAt(t).has(e)}},{key:"has",value:function(e,t){var n=this.getKey(e);return this.hasCache(n,t)}},{key:"setCache",value:function(e,t,n){n.key=e,this.getCachesAt(t).set(e,n)}},{key:"set",value:function(e,t,n){var r=this.getKey(e);this.setCache(r,t,n),this.updateKeyMappingFor(e)}},{key:"deleteCache",value:function(e,t){this.getCachesAt(t).delete(e)}},{key:"delete",value:function(e,t){var n=this.getKey(e);this.deleteCache(n,t)}},{key:"invalidateKey",value:function(e){var t=this;this.lvls.forEach((function(n){return t.deleteCache(e,n)}))}},{key:"invalidate",value:function(e){var t=e.id(),n=this.keyForId.get(t);this.deleteKeyMappingFor(e);var r=this.doesEleInvalidateKey(e);return r&&this.invalidateKey(n),r||0===this.getNumberOfIdsForKey(n)}}]),e}(),ns={dequeue:"dequeue",downscale:"downscale",highQuality:"highQuality"},rs=Ie({getKey:null,doesEleInvalidateKey:_e,drawElement:null,getBoundingBox:null,getRotationPoint:null,getRotationOffset:null,isVisible:we,allowEdgeTxrCaching:!0,allowParentTxrCaching:!0}),is=function(e,t){var n=this;n.renderer=e,n.onDequeues=[];var r=rs(t);Q(n,r),n.lookup=new ts(r.getKey,r.doesEleInvalidateKey),n.setupDequeueing()},as=is.prototype;as.reasons=ns,as.getTextureQueue=function(e){var t=this;return t.eleImgCaches=t.eleImgCaches||{},t.eleImgCaches[e]=t.eleImgCaches[e]||[]},as.getRetiredTextureQueue=function(e){var t=this.eleImgCaches.retired=this.eleImgCaches.retired||{};return t[e]=t[e]||[]},as.getElementQueue=function(){return this.eleCacheQueue=this.eleCacheQueue||new c.default((function(e,t){return t.reqs-e.reqs}))},as.getElementKeyToQueue=function(){return this.eleKeyToCacheQueue=this.eleKeyToCacheQueue||{}},as.getElement=function(e,t,n,r,i){var a=this,o=this.renderer,s=o.cy.zoom(),u=this.lookup;if(!t||0===t.w||0===t.h||isNaN(t.w)||isNaN(t.h)||!e.visible()||e.removed())return null;if(!a.allowEdgeTxrCaching&&e.isEdge()||!a.allowParentTxrCaching&&e.isParent())return null;if(null==r&&(r=Math.ceil(ot(s*n))),r<-4)r=-4;else if(s>=7.99||r>3)return null;var l=Math.pow(2,r),c=t.h*l,d=t.w*l,h=o.eleTextBiggerThanMin(e,l);if(!this.isVisible(e,h))return null;var f,p=u.get(e,r);if(p&&p.invalidated&&(p.invalidated=!1,p.texture.invalidatedWidth-=p.width),p)return p;if(f=c<=25?25:c<=50?50:50*Math.ceil(c/50),c>1024||d>1024)return null;var v=a.getTextureQueue(f),g=v[v.length-2],y=function(){return a.recycleTexture(f,d)||a.addTexture(f,d)};g||(g=v[v.length-1]),g||(g=y()),g.width-g.usedWidthr;P--)C=a.getElement(e,t,n,P,ns.downscale);S()}else{var T;if(!x&&!w&&!_)for(var D=r-1;D>=-4;D--){var M=u.get(e,D);if(M){T=M;break}}if(b(T))return a.queueElement(e,r),T;g.context.translate(g.usedWidth,0),g.context.scale(l,l),this.drawElement(g.context,e,t,h,!1),g.context.scale(1/l,1/l),g.context.translate(-g.usedWidth,0)}return p={x:g.usedWidth,texture:g,level:r,scale:l,width:d,height:c,scaledLabelShown:h},g.usedWidth+=Math.ceil(d+8),g.eleCaches.push(p),u.set(e,r,p),a.checkTextureFullness(g),p},as.invalidateElements=function(e){for(var t=0;t=.2*e.width&&this.retireTexture(e)},as.checkTextureFullness=function(e){var t=this.getTextureQueue(e.height);e.usedWidth/e.width>.8&&e.fullnessChecks>=10?Oe(t,e):e.fullnessChecks++},as.retireTexture=function(e){var t=e.height,n=this.getTextureQueue(t),r=this.lookup;Oe(n,e),e.retired=!0;for(var i=e.eleCaches,a=0;a=t)return a.retired=!1,a.usedWidth=0,a.invalidatedWidth=0,a.fullnessChecks=0,Ae(a.eleCaches),a.context.setTransform(1,0,0,1,0,0),a.context.clearRect(0,0,a.width,a.height),Oe(r,a),n.push(a),a}},as.queueElement=function(e,t){var n=this.getElementQueue(),r=this.getElementKeyToQueue(),i=this.getKey(e),a=r[i];if(a)a.level=Math.max(a.level,t),a.eles.merge(e),a.reqs++,n.updateItem(a);else{var o={eles:e.spawn().merge(e),level:t,reqs:1,key:i};n.push(o),r[i]=o}},as.dequeue=function(e){for(var t=this,n=t.getElementQueue(),r=t.getElementKeyToQueue(),i=[],a=t.lookup,o=0;o<1&&n.size()>0;o++){var s=n.pop(),u=s.key,l=s.eles[0],c=a.hasCache(l,s.level);if(r[u]=null,!c){i.push(s);var d=t.getBoundingBox(l);t.getElement(l,d,e,s.level,ns.dequeue)}}return i},as.removeFromQueue=function(e){var t=this.getElementQueue(),n=this.getElementKeyToQueue(),r=this.getKey(e),i=n[r];null!=i&&(1===i.eles.length?(i.reqs=xe,t.updateItem(i),t.pop(),n[r]=null):i.eles.unmerge(e))},as.onDequeue=function(e){this.onDequeues.push(e)},as.offDequeue=function(e){Oe(this.onDequeues,e)},as.setupDequeueing=es({deqRedrawThreshold:100,deqCost:.15,deqAvgCost:.1,deqNoDrawCost:.9,deqFastCost:.9,deq:function(e,t,n){return e.dequeue(t,n)},onDeqd:function(e,t){for(var n=0;n=3.99||n>2)return null;r.validateLayersElesOrdering(n,e);var o,s,u=r.layersByLevel,l=Math.pow(2,n),c=u[n]=u[n]||[];if(r.levelIsComplete(n,e))return c;!function(){var t=function(t){if(r.validateLayersElesOrdering(t,e),r.levelIsComplete(t,e))return s=u[t],!0},i=function(e){if(!s)for(var r=n+e;-4<=r&&r<=2&&!t(r);r+=e);};i(1),i(-1);for(var a=c.length-1;a>=0;a--){var o=c[a];o.invalid&&Oe(c,o)}}();var d=function(t){var i=(t=t||{}).after;if(function(){if(!o){o=pt();for(var t=0;t16e6)return null;var a=r.makeLayer(o,n);if(null!=i){var s=c.indexOf(i)+1;c.splice(s,0,a)}else(void 0===t.insert||t.insert)&&c.unshift(a);return a};if(r.skipping&&!a)return null;for(var h=null,f=e.length/1,p=!a,v=0;v=f||!_t(h.bb,g.boundingBox()))&&!(h=d({insert:!0,after:h})))return null;s||p?r.queueLayer(h,g):r.drawEleInLayer(h,g,n,t),h.eles.push(g),m[n]=h}}return s||(p?null:c)},ss.getEleLevelForLayerLevel=function(e,t){return e},ss.drawEleInLayer=function(e,t,n,r){var i=this.renderer,a=e.context,o=t.boundingBox();0!==o.w&&0!==o.h&&t.visible()&&(n=this.getEleLevelForLayerLevel(n,r),i.setImgSmoothing(a,!1),i.drawCachedElement(a,t,null,null,n,!0),i.setImgSmoothing(a,!0))},ss.levelIsComplete=function(e,t){var n=this.layersByLevel[e];if(!n||0===n.length)return!1;for(var r=0,i=0;i0)return!1;if(a.invalid)return!1;r+=a.eles.length}return r===t.length},ss.validateLayersElesOrdering=function(e,t){var n=this.layersByLevel[e];if(n)for(var r=0;r0){e=!0;break}}return e},ss.invalidateElements=function(e){var t=this;0!==e.length&&(t.lastInvalidationTime=oe(),0!==e.length&&t.haveLayers()&&t.updateElementsInLayers(e,(function(e,n,r){t.invalidateLayer(e)})))},ss.invalidateLayer=function(e){if(this.lastInvalidationTime=oe(),!e.invalid){var t=e.level,n=e.eles,r=this.layersByLevel[t];Oe(r,e),e.elesQueue=[],e.invalid=!0,e.replacement&&(e.replacement.invalid=!0);for(var i=0;i3&&void 0!==arguments[3])||arguments[3],i=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],a=!(arguments.length>5&&void 0!==arguments[5])||arguments[5],o=this,s=t._private.rscratch;if((!a||t.visible())&&!s.badLine&&null!=s.allpts&&!isNaN(s.allpts[0])){var u;n&&(u=n,e.translate(-u.x1,-u.y1));var l=a?t.pstyle("opacity").value:1,c=a?t.pstyle("line-opacity").value:1,d=t.pstyle("curve-style").value,h=t.pstyle("line-style").value,f=t.pstyle("width").pfValue,p=t.pstyle("line-cap").value,v=l*c,g=l*c,y=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:v;"straight-triangle"===d?(o.eleStrokeStyle(e,t,n),o.drawEdgeTrianglePath(t,e,s.allpts)):(e.lineWidth=f,e.lineCap=p,o.eleStrokeStyle(e,t,n),o.drawEdgePath(t,e,s.allpts,h),e.lineCap="butt")},m=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:g;o.drawArrowheads(e,t,n)};if(e.lineJoin="round","yes"===t.pstyle("ghost").value){var b=t.pstyle("ghost-offset-x").pfValue,x=t.pstyle("ghost-offset-y").pfValue,w=t.pstyle("ghost-opacity").value,_=v*w;e.translate(b,x),y(_),m(_),e.translate(-b,-x)}i&&o.drawEdgeUnderlay(e,t),y(),m(),i&&o.drawEdgeOverlay(e,t),o.drawElementText(e,t,null,r),n&&e.translate(u.x1,u.y1)}}},Cs=function(e){if(!["overlay","underlay"].includes(e))throw new Error("Invalid state");return function(t,n){if(n.visible()){var r=n.pstyle("".concat(e,"-opacity")).value;if(0!==r){var i=this,a=i.usePaths(),o=n._private.rscratch,s=2*n.pstyle("".concat(e,"-padding")).pfValue,u=n.pstyle("".concat(e,"-color")).value;t.lineWidth=s,"self"!==o.edgeType||a?t.lineCap="round":t.lineCap="butt",i.colorStrokeStyle(t,u[0],u[1],u[2],r),i.drawEdgePath(n,t,o.allpts,"solid")}}}};ks.drawEdgeOverlay=Cs("overlay"),ks.drawEdgeUnderlay=Cs("underlay"),ks.drawEdgePath=function(e,t,n,r){var i,a=e._private.rscratch,o=t,s=!1,u=this.usePaths(),l=e.pstyle("line-dash-pattern").pfValue,c=e.pstyle("line-dash-offset").pfValue;if(u){var d=n.join("$");a.pathCacheKey&&a.pathCacheKey===d?(i=t=a.pathCache,s=!0):(i=t=new Path2D,a.pathCacheKey=d,a.pathCache=i)}if(o.setLineDash)switch(r){case"dotted":o.setLineDash([1,1]);break;case"dashed":o.setLineDash(l),o.lineDashOffset=c;break;case"solid":o.setLineDash([])}if(!s&&!a.badLine)switch(t.beginPath&&t.beginPath(),t.moveTo(n[0],n[1]),a.edgeType){case"bezier":case"self":case"compound":case"multibezier":for(var h=2;h+35&&void 0!==arguments[5]?arguments[5]:5,o=arguments.length>6?arguments[6]:void 0;e.beginPath(),e.moveTo(t+a,n),e.lineTo(t+r-a,n),e.quadraticCurveTo(t+r,n,t+r,n+a),e.lineTo(t+r,n+i-a),e.quadraticCurveTo(t+r,n+i,t+r-a,n+i),e.lineTo(t+a,n+i),e.quadraticCurveTo(t,n+i,t,n+i-a),e.lineTo(t,n+a),e.quadraticCurveTo(t,n,t+a,n),e.closePath(),o?e.stroke():e.fill()}Ps.eleTextBiggerThanMin=function(e,t){if(!t){var n=e.cy().zoom(),r=this.getPixelRatio(),i=Math.ceil(ot(n*r));t=Math.pow(2,i)}return!(e.pstyle("font-size").pfValue*t5&&void 0!==arguments[5])||arguments[5],o=this;if(null==r){if(a&&!o.eleTextBiggerThanMin(t))return}else if(!1===r)return;if(t.isNode()){var s=t.pstyle("label");if(!s||!s.value)return;var u=o.getLabelJustification(t);e.textAlign=u,e.textBaseline="bottom"}else{var l=t.element()._private.rscratch.badLine,c=t.pstyle("label"),d=t.pstyle("source-label"),h=t.pstyle("target-label");if(l||(!c||!c.value)&&(!d||!d.value)&&(!h||!h.value))return;e.textAlign="center",e.textBaseline="bottom"}var f,p=!n;n&&(f=n,e.translate(-f.x1,-f.y1)),null==i?(o.drawText(e,t,null,p,a),t.isEdge()&&(o.drawText(e,t,"source",p,a),o.drawText(e,t,"target",p,a))):o.drawText(e,t,i,p,a),n&&e.translate(f.x1,f.y1)},Ps.getFontCache=function(e){var t;this.fontCaches=this.fontCaches||[];for(var n=0;n2&&void 0!==arguments[2])||arguments[2],r=t.pstyle("font-style").strValue,i=t.pstyle("font-size").pfValue+"px",a=t.pstyle("font-family").strValue,o=t.pstyle("font-weight").strValue,s=n?t.effectiveOpacity()*t.pstyle("text-opacity").value:1,u=t.pstyle("text-outline-opacity").value*s,l=t.pstyle("color").value,c=t.pstyle("text-outline-color").value;e.font=r+" "+o+" "+i+" "+a,e.lineJoin="round",this.colorFillStyle(e,l[0],l[1],l[2],s),this.colorStrokeStyle(e,c[0],c[1],c[2],u)},Ps.getTextAngle=function(e,t){var n=e._private.rscratch,r=t?t+"-":"",i=e.pstyle(r+"text-rotation"),a=ze(n,"labelAngle",t);return"autorotate"===i.strValue?e.isEdge()?a:0:"none"===i.strValue?0:i.pfValue},Ps.drawText=function(e,t,n){var r=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],i=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],a=t._private.rscratch,o=i?t.effectiveOpacity():1;if(!i||0!==o&&0!==t.pstyle("text-opacity").value){"main"===n&&(n=null);var s,u,l=ze(a,"labelX",n),c=ze(a,"labelY",n),d=this.getLabelText(t,n);if(null!=d&&""!==d&&!isNaN(l)&&!isNaN(c)){this.setupTextStyle(e,t,i);var h,f=n?n+"-":"",p=ze(a,"labelWidth",n),v=ze(a,"labelHeight",n),g=t.pstyle(f+"text-margin-x").pfValue,y=t.pstyle(f+"text-margin-y").pfValue,m=t.isEdge(),b=t.pstyle("text-halign").value,x=t.pstyle("text-valign").value;switch(m&&(b="center",x="center"),l+=g,c+=y,0!==(h=r?this.getTextAngle(t,n):0)&&(s=l,u=c,e.translate(s,u),e.rotate(h),l=0,c=0),x){case"top":break;case"center":c+=v/2;break;case"bottom":c+=v}var w=t.pstyle("text-background-opacity").value,_=t.pstyle("text-border-opacity").value,E=t.pstyle("text-border-width").pfValue,k=t.pstyle("text-background-padding").pfValue,C=0===t.pstyle("text-background-shape").strValue.indexOf("round");if(w>0||E>0&&_>0){var S=l-k;switch(b){case"left":S-=p;break;case"center":S-=p/2}var P=c-v-k,T=p+2*k,D=v+2*k;if(w>0){var M=e.fillStyle,B=t.pstyle("text-background-color").value;e.fillStyle="rgba("+B[0]+","+B[1]+","+B[2]+","+w*o+")",C?Ts(e,S,P,T,D,2):e.fillRect(S,P,T,D),e.fillStyle=M}if(E>0&&_>0){var I=e.strokeStyle,O=e.lineWidth,A=t.pstyle("text-border-color").value,z=t.pstyle("text-border-style").value;if(e.strokeStyle="rgba("+A[0]+","+A[1]+","+A[2]+","+_*o+")",e.lineWidth=E,e.setLineDash)switch(z){case"dotted":e.setLineDash([1,1]);break;case"dashed":e.setLineDash([4,2]);break;case"double":e.lineWidth=E/4,e.setLineDash([]);break;case"solid":e.setLineDash([])}if(C?Ts(e,S,P,T,D,2,"stroke"):e.strokeRect(S,P,T,D),"double"===z){var N=E/2;C?Ts(e,S+N,P+N,T-2*N,D-2*N,2,"stroke"):e.strokeRect(S+N,P+N,T-2*N,D-2*N)}e.setLineDash&&e.setLineDash([]),e.lineWidth=O,e.strokeStyle=I}}var L=2*t.pstyle("text-outline-width").pfValue;if(L>0&&(e.lineWidth=L),"wrap"===t.pstyle("text-wrap").value){var R=ze(a,"labelWrapCachedLines",n),j=ze(a,"labelLineHeight",n),V=p/2,F=this.getLabelJustification(t);switch("auto"===F||("left"===b?"left"===F?l+=-p:"center"===F&&(l+=-V):"center"===b?"left"===F?l+=-V:"right"===F&&(l+=V):"right"===b&&("center"===F?l+=V:"right"===F&&(l+=p))),x){case"top":case"center":case"bottom":c-=(R.length-1)*j}for(var q=0;q0&&e.strokeText(R[q],l,c),e.fillText(R[q],l,c),c+=j}else L>0&&e.strokeText(d,l,c),e.fillText(d,l,c);0!==h&&(e.rotate(-h),e.translate(-s,-u))}}};var Ds={drawNode:function(e,t,n){var r,i,a=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],o=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],s=!(arguments.length>5&&void 0!==arguments[5])||arguments[5],u=this,l=t._private,c=l.rscratch,d=t.position();if(I(d.x)&&I(d.y)&&(!s||t.visible())){var h,f,p=s?t.effectiveOpacity():1,v=u.usePaths(),g=!1,y=t.padding();r=t.width()+2*y,i=t.height()+2*y,n&&(f=n,e.translate(-f.x1,-f.y1));for(var m=t.pstyle("background-image").value,b=new Array(m.length),x=new Array(m.length),w=0,_=0;_0&&void 0!==arguments[0]?arguments[0]:P;u.eleFillStyle(e,t,n)},R=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:M;u.colorStrokeStyle(e,T[0],T[1],T[2],t)},j=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:z;u.colorStrokeStyle(e,O[0],O[1],O[2],t)},V=function(e,t,n,r){var i,a=u.nodePathCache=u.nodePathCache||[],o=ve("polygon"===n?n+","+r.join(","):n,""+t,""+e),s=a[o],l=!1;return null!=s?(i=s,l=!0,c.pathCache=i):(i=new Path2D,a[o]=c.pathCache=i),{path:i,cacheHit:l}},F=t.pstyle("shape").strValue,q=t.pstyle("shape-polygon-points").pfValue;if(v){e.translate(d.x,d.y);var W=V(r,i,F,q);h=W.path,g=W.cacheHit}var Y=function(){if(!g){var n=d;v&&(n={x:0,y:0}),u.nodeShapes[u.getNodeShape(t)].draw(h||e,n.x,n.y,r,i)}v?e.fill(h):e.fill()},X=function(){for(var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:p,r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=l.backgrounding,a=0,o=0;o0&&void 0!==arguments[0]&&arguments[0],a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:p;u.hasPie(t)&&(u.drawPie(e,t,a),n&&(v||u.nodeShapes[u.getNodeShape(t)].draw(e,d.x,d.y,r,i)))},U=function(){var t=(C>0?C:-C)*(arguments.length>0&&void 0!==arguments[0]?arguments[0]:p),n=C>0?0:255;0!==C&&(u.colorFillStyle(e,n,n,n,t),v?e.fill(h):e.fill())},Z=function(){if(S>0){if(e.lineWidth=S,e.lineCap="butt",e.setLineDash)switch(D){case"dotted":e.setLineDash([1,1]);break;case"dashed":e.setLineDash([4,2]);break;case"solid":case"double":e.setLineDash([])}if(v?e.stroke(h):e.stroke(),"double"===D){e.lineWidth=S/3;var t=e.globalCompositeOperation;e.globalCompositeOperation="destination-out",v?e.stroke(h):e.stroke(),e.globalCompositeOperation=t}e.setLineDash&&e.setLineDash([])}},K=function(){if(B>0){if(e.lineWidth=B,e.lineCap="butt",e.setLineDash)switch(A){case"dotted":e.setLineDash([1,1]);break;case"dashed":e.setLineDash([4,2]);break;case"solid":case"double":e.setLineDash([])}var n=d;v&&(n={x:0,y:0});var a,o=u.getNodeShape(t),s=(r+S+(B+N))/r,l=(i+S+(B+N))/i,c=r*s,h=i*l,f=u.nodeShapes[o].points;if(v&&(a=V(c,h,o,f).path),"ellipse"===o)u.drawEllipsePath(a||e,n.x,n.y,c,h);else if(["round-diamond","round-heptagon","round-hexagon","round-octagon","round-pentagon","round-polygon","round-triangle","round-tag"].includes(o)){var p=0,g=0,y=0;"round-diamond"===o?p=1.4*(S+N+B):"round-heptagon"===o?(p=1.075*(S+N+B),y=-(S/2+N+B)/35):"round-hexagon"===o?p=1.12*(S+N+B):"round-pentagon"===o?(p=1.13*(S+N+B),y=-(S/2+N+B)/15):"round-tag"===o?(p=1.12*(S+N+B),g=.07*(S/2+B+N)):"round-triangle"===o&&(p=(S+N+B)*(Math.PI/2),y=-(S+N/2+B)/Math.PI),0!==p&&(s=(r+p)/r,l=(i+p)/i),u.drawRoundPolygonPath(a||e,n.x+g,n.y+y,r*s,i*l,f)}else["roundrectangle","round-rectangle"].includes(o)?u.drawRoundRectanglePath(a||e,n.x,n.y,c,h):["cutrectangle","cut-rectangle"].includes(o)?u.drawCutRectanglePath(a||e,n.x,n.y,c,h):["bottomroundrectangle","bottom-round-rectangle"].includes(o)?u.drawBottomRoundRectanglePath(a||e,n.x,n.y,c,h):"barrel"===o?u.drawBarrelPath(a||e,n.x,n.y,c,h):o.startsWith("polygon")||["rhomboid","right-rhomboid","round-tag","tag","vee"].includes(o)?(f=Mt(Bt(f,(S+B+N)/r)),u.drawPolygonPath(a||e,n.x,n.y,r,i,f)):(f=Mt(Bt(f,-(S+B+N)/r)),u.drawPolygonPath(a||e,n.x,n.y,r,i,f));if(v?e.stroke(a):e.stroke(),"double"===A){e.lineWidth=S/3;var m=e.globalCompositeOperation;e.globalCompositeOperation="destination-out",v?e.stroke(a):e.stroke(),e.globalCompositeOperation=m}e.setLineDash&&e.setLineDash([])}};if("yes"===t.pstyle("ghost").value){var G=t.pstyle("ghost-offset-x").pfValue,$=t.pstyle("ghost-offset-y").pfValue,Q=t.pstyle("ghost-opacity").value,J=Q*p;e.translate(G,$),j(),K(),L(Q*P),Y(),X(J,!0),R(Q*M),Z(),H(0!==C||0!==S),X(J,!1),U(J),e.translate(-G,-$)}v&&e.translate(-d.x,-d.y),o&&u.drawNodeUnderlay(e,t,d,r,i),v&&e.translate(d.x,d.y),j(),K(),L(),Y(),X(p,!0),R(),Z(),H(0!==C||0!==S),X(p,!1),U(),v&&e.translate(-d.x,-d.y),u.drawElementText(e,t,null,a),o&&u.drawNodeOverlay(e,t,d,r,i),n&&e.translate(f.x1,f.y1)}}},Ms=function(e){if(!["overlay","underlay"].includes(e))throw new Error("Invalid state");return function(t,n,r,i,a){if(n.visible()){var o=n.pstyle("".concat(e,"-padding")).pfValue,s=n.pstyle("".concat(e,"-opacity")).value,u=n.pstyle("".concat(e,"-color")).value,l=n.pstyle("".concat(e,"-shape")).value;if(s>0){if(r=r||n.position(),null==i||null==a){var c=n.padding();i=n.width()+2*c,a=n.height()+2*c}this.colorFillStyle(t,u[0],u[1],u[2],s),this.nodeShapes[l].draw(t,r.x,r.y,i+2*o,a+2*o),t.fill()}}}};Ds.drawNodeOverlay=Ms("overlay"),Ds.drawNodeUnderlay=Ms("underlay"),Ds.hasPie=function(e){return(e=e[0])._private.hasPie},Ds.drawPie=function(e,t,n,r){t=t[0],r=r||t.position();var i=t.cy().style(),a=t.pstyle("pie-size"),o=r.x,s=r.y,u=t.width(),l=t.height(),c=Math.min(u,l)/2,d=0;this.usePaths()&&(o=0,s=0),"%"===a.units?c*=a.pfValue:void 0!==a.pfValue&&(c=a.pfValue/2);for(var h=1;h<=i.pieBackgroundN;h++){var f=t.pstyle("pie-"+h+"-background-size").value,p=t.pstyle("pie-"+h+"-background-color").value,v=t.pstyle("pie-"+h+"-background-opacity").value*n,g=f/100;g+d>1&&(g=1-d);var y=1.5*Math.PI+2*Math.PI*d,m=y+2*Math.PI*g;0===f||d>=1||d+g>1||(e.beginPath(),e.moveTo(o,s),e.arc(o,s,c,y,m),e.closePath(),this.colorFillStyle(e,p[0],p[1],p[2],v),e.fill(),d+=g)}};for(var Bs={getPixelRatio:function(){var e=this.data.contexts[0];if(null!=this.forcedPixelRatio)return this.forcedPixelRatio;var t=e.backingStorePixelRatio||e.webkitBackingStorePixelRatio||e.mozBackingStorePixelRatio||e.msBackingStorePixelRatio||e.oBackingStorePixelRatio||e.backingStorePixelRatio||1;return(window.devicePixelRatio||1)/t},paintCache:function(e){for(var t,n=this.paintCaches=this.paintCaches||[],r=!0,i=0;io.minMbLowQualFrames&&(o.motionBlurPxRatio=o.mbPxRBlurry)),o.clearingMotionBlur&&(o.motionBlurPxRatio=1),o.textureDrawLastFrame&&!d&&(c[o.NODE]=!0,c[o.SELECT_BOX]=!0);var m=u.style(),b=u.zoom(),x=void 0!==i?i:b,w=u.pan(),_={x:w.x,y:w.y},E={zoom:b,pan:{x:w.x,y:w.y}},k=o.prevViewport;void 0===k||E.zoom!==k.zoom||E.pan.x!==k.pan.x||E.pan.y!==k.pan.y||v&&!p||(o.motionBlurPxRatio=1),a&&(_=a),x*=s,_.x*=s,_.y*=s;var C=o.getCachedZSortedEles();function S(e,t,n,r,i){var a=e.globalCompositeOperation;e.globalCompositeOperation="destination-out",o.colorFillStyle(e,255,255,255,o.motionBlurTransparency),e.fillRect(t,n,r,i),e.globalCompositeOperation=a}function P(e,r){var s,u,c,d;o.clearingMotionBlur||e!==l.bufferContexts[o.MOTIONBLUR_BUFFER_NODE]&&e!==l.bufferContexts[o.MOTIONBLUR_BUFFER_DRAG]?(s=_,u=x,c=o.canvasWidth,d=o.canvasHeight):(s={x:w.x*f,y:w.y*f},u=b*f,c=o.canvasWidth*f,d=o.canvasHeight*f),e.setTransform(1,0,0,1,0,0),"motionBlur"===r?S(e,0,0,c,d):t||void 0!==r&&!r||e.clearRect(0,0,c,d),n||(e.translate(s.x,s.y),e.scale(u,u)),a&&e.translate(a.x,a.y),i&&e.scale(i,i)}if(d||(o.textureDrawLastFrame=!1),d){if(o.textureDrawLastFrame=!0,!o.textureCache){o.textureCache={},o.textureCache.bb=u.mutableElements().boundingBox(),o.textureCache.texture=o.data.bufferCanvases[o.TEXTURE_BUFFER];var T=o.data.bufferContexts[o.TEXTURE_BUFFER];T.setTransform(1,0,0,1,0,0),T.clearRect(0,0,o.canvasWidth*o.textureMult,o.canvasHeight*o.textureMult),o.render({forcedContext:T,drawOnlyNodeLayer:!0,forcedPxRatio:s*o.textureMult}),(E=o.textureCache.viewport={zoom:u.zoom(),pan:u.pan(),width:o.canvasWidth,height:o.canvasHeight}).mpan={x:(0-E.pan.x)/E.zoom,y:(0-E.pan.y)/E.zoom}}c[o.DRAG]=!1,c[o.NODE]=!1;var D=l.contexts[o.NODE],M=o.textureCache.texture;E=o.textureCache.viewport,D.setTransform(1,0,0,1,0,0),h?S(D,0,0,E.width,E.height):D.clearRect(0,0,E.width,E.height);var B=m.core("outside-texture-bg-color").value,I=m.core("outside-texture-bg-opacity").value;o.colorFillStyle(D,B[0],B[1],B[2],I),D.fillRect(0,0,E.width,E.height),b=u.zoom(),P(D,!1),D.clearRect(E.mpan.x,E.mpan.y,E.width/E.zoom/s,E.height/E.zoom/s),D.drawImage(M,E.mpan.x,E.mpan.y,E.width/E.zoom/s,E.height/E.zoom/s)}else o.textureOnViewport&&!t&&(o.textureCache=null);var O=u.extent(),A=o.pinching||o.hoverData.dragging||o.swipePanning||o.data.wheelZooming||o.hoverData.draggingEles||o.cy.animated(),z=o.hideEdgesOnViewport&&A,N=[];if(N[o.NODE]=!c[o.NODE]&&h&&!o.clearedForMotionBlur[o.NODE]||o.clearingMotionBlur,N[o.NODE]&&(o.clearedForMotionBlur[o.NODE]=!0),N[o.DRAG]=!c[o.DRAG]&&h&&!o.clearedForMotionBlur[o.DRAG]||o.clearingMotionBlur,N[o.DRAG]&&(o.clearedForMotionBlur[o.DRAG]=!0),c[o.NODE]||n||r||N[o.NODE]){var L=h&&!N[o.NODE]&&1!==f;P(D=t||(L?o.data.bufferContexts[o.MOTIONBLUR_BUFFER_NODE]:l.contexts[o.NODE]),h&&!L?"motionBlur":void 0),z?o.drawCachedNodes(D,C.nondrag,s,O):o.drawLayeredElements(D,C.nondrag,s,O),o.debug&&o.drawDebugPoints(D,C.nondrag),n||h||(c[o.NODE]=!1)}if(!r&&(c[o.DRAG]||n||N[o.DRAG])&&(L=h&&!N[o.DRAG]&&1!==f,P(D=t||(L?o.data.bufferContexts[o.MOTIONBLUR_BUFFER_DRAG]:l.contexts[o.DRAG]),h&&!L?"motionBlur":void 0),z?o.drawCachedNodes(D,C.drag,s,O):o.drawCachedElements(D,C.drag,s,O),o.debug&&o.drawDebugPoints(D,C.drag),n||h||(c[o.DRAG]=!1)),o.showFps||!r&&c[o.SELECT_BOX]&&!n){if(P(D=t||l.contexts[o.SELECT_BOX]),1==o.selection[4]&&(o.hoverData.selecting||o.touchData.selecting)){b=o.cy.zoom();var R=m.core("selection-box-border-width").value/b;D.lineWidth=R,D.fillStyle="rgba("+m.core("selection-box-color").value[0]+","+m.core("selection-box-color").value[1]+","+m.core("selection-box-color").value[2]+","+m.core("selection-box-opacity").value+")",D.fillRect(o.selection[0],o.selection[1],o.selection[2]-o.selection[0],o.selection[3]-o.selection[1]),R>0&&(D.strokeStyle="rgba("+m.core("selection-box-border-color").value[0]+","+m.core("selection-box-border-color").value[1]+","+m.core("selection-box-border-color").value[2]+","+m.core("selection-box-opacity").value+")",D.strokeRect(o.selection[0],o.selection[1],o.selection[2]-o.selection[0],o.selection[3]-o.selection[1]))}if(l.bgActivePosistion&&!o.hoverData.selecting){b=o.cy.zoom();var j=l.bgActivePosistion;D.fillStyle="rgba("+m.core("active-bg-color").value[0]+","+m.core("active-bg-color").value[1]+","+m.core("active-bg-color").value[2]+","+m.core("active-bg-opacity").value+")",D.beginPath(),D.arc(j.x,j.y,m.core("active-bg-size").pfValue/b,0,2*Math.PI),D.fill()}var V=o.lastRedrawTime;if(o.showFps&&V){V=Math.round(V);var F=Math.round(1e3/V);D.setTransform(1,0,0,1,0,0),D.fillStyle="rgba(255, 0, 0, 0.75)",D.strokeStyle="rgba(255, 0, 0, 0.75)",D.lineWidth=1,D.fillText("1 frame = "+V+" ms = "+F+" fps",0,20),D.strokeRect(0,30,250,20),D.fillRect(0,30,250*Math.min(F/60,1),20)}n||(c[o.SELECT_BOX]=!1)}if(h&&1!==f){var q=l.contexts[o.NODE],W=o.data.bufferCanvases[o.MOTIONBLUR_BUFFER_NODE],Y=l.contexts[o.DRAG],X=o.data.bufferCanvases[o.MOTIONBLUR_BUFFER_DRAG],H=function(e,t,n){e.setTransform(1,0,0,1,0,0),n||!y?e.clearRect(0,0,o.canvasWidth,o.canvasHeight):S(e,0,0,o.canvasWidth,o.canvasHeight);var r=f;e.drawImage(t,0,0,o.canvasWidth*r,o.canvasHeight*r,0,0,o.canvasWidth,o.canvasHeight)};(c[o.NODE]||N[o.NODE])&&(H(q,W,N[o.NODE]),c[o.NODE]=!1),(c[o.DRAG]||N[o.DRAG])&&(H(Y,X,N[o.DRAG]),c[o.DRAG]=!1)}o.prevViewport=E,o.clearingMotionBlur&&(o.clearingMotionBlur=!1,o.motionBlurCleared=!0,o.motionBlur=!0),h&&(o.motionBlurTimeout=setTimeout((function(){o.motionBlurTimeout=null,o.clearedForMotionBlur[o.NODE]=!1,o.clearedForMotionBlur[o.DRAG]=!1,o.motionBlur=!1,o.clearingMotionBlur=!d,o.mbFrames=0,c[o.NODE]=!0,c[o.DRAG]=!0,o.redraw()}),100)),t||u.emit("render")}},Is={drawPolygonPath:function(e,t,n,r,i,a){var o=r/2,s=i/2;e.beginPath&&e.beginPath(),e.moveTo(t+o*a[0],n+s*a[1]);for(var u=1;u0&&a>0){h.clearRect(0,0,i,a),h.globalCompositeOperation="source-over";var f=this.getCachedZSortedEles();if(e.full)h.translate(-n.x1*u,-n.y1*u),h.scale(u,u),this.drawElements(h,f),h.scale(1/u,1/u),h.translate(n.x1*u,n.y1*u);else{var p=t.pan(),v={x:p.x*u,y:p.y*u};u*=t.zoom(),h.translate(v.x,v.y),h.scale(u,u),this.drawElements(h,f),h.scale(1/u,1/u),h.translate(-v.x,-v.y)}e.bg&&(h.globalCompositeOperation="destination-over",h.fillStyle=e.bg,h.rect(0,0,i,a),h.fill())}return d},js.png=function(e){return Fs(e,this.bufferCanvasImage(e),"image/png")},js.jpg=function(e){return Fs(e,this.bufferCanvasImage(e),"image/jpeg")};var qs=Ys,Ws=Ys.prototype;function Ys(e){var t=this;t.data={canvases:new Array(Ws.CANVAS_LAYERS),contexts:new Array(Ws.CANVAS_LAYERS),canvasNeedsRedraw:new Array(Ws.CANVAS_LAYERS),bufferCanvases:new Array(Ws.BUFFER_COUNT),bufferContexts:new Array(Ws.CANVAS_LAYERS)};var n="-webkit-tap-highlight-color",r="rgba(0,0,0,0)";t.data.canvasContainer=document.createElement("div");var i=t.data.canvasContainer.style;t.data.canvasContainer.style[n]=r,i.position="relative",i.zIndex="0",i.overflow="hidden";var a=e.cy.container();a.appendChild(t.data.canvasContainer),a.style[n]=r;var o={"-webkit-user-select":"none","-moz-user-select":"-moz-none","user-select":"none","-webkit-tap-highlight-color":"rgba(0,0,0,0)","outline-style":"none"};_&&_.userAgent.match(/msie|trident|edge/i)&&(o["-ms-touch-action"]="none",o["touch-action"]="none");for(var s=0;s{e.exports=n(2894)},2894:function(e,t){var n,r,i;(function(){var a,o,s,u,l,c,d,h,f,p,v,g,y,m,b;s=Math.floor,p=Math.min,o=function(e,t){return et?1:0},f=function(e,t,n,r,i){var a;if(null==n&&(n=0),null==i&&(i=o),n<0)throw new Error("lo must be non-negative");for(null==r&&(r=e.length);nn;0<=n?t++:t--)l.push(t);return l}.apply(this).reverse()).length;rv;0<=v?++c:--c)g.push(l(e,n));return g},m=function(e,t,n,r){var i,a,s;for(null==r&&(r=o),i=e[n];n>t&&r(i,a=e[s=n-1>>1])<0;)e[n]=a,n=s;return e[n]=i},b=function(e,t,n){var r,i,a,s,u;for(null==n&&(n=o),i=e.length,u=t,a=e[t],r=2*t+1;r{var r=n(1789),i=n(401),a=n(7667),o=n(1327),s=n(1866);function u(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t{var r=n(7040),i=n(4125),a=n(2117),o=n(7518),s=n(4705);function u(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t{var r=n(852)(n(5639),"Map");e.exports=r},3369:(e,t,n)=>{var r=n(4785),i=n(1285),a=n(6e3),o=n(9916),s=n(5265);function u(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t{var r=n(5639).Symbol;e.exports=r},9932:e=>{e.exports=function(e,t){for(var n=-1,r=null==e?0:e.length,i=Array(r);++n{var r=n(9465),i=n(7813),a=Object.prototype.hasOwnProperty;e.exports=function(e,t,n){var o=e[t];a.call(e,t)&&i(o,n)&&(void 0!==n||t in e)||r(e,t,n)}},8470:(e,t,n)=>{var r=n(7813);e.exports=function(e,t){for(var n=e.length;n--;)if(r(e[n][0],t))return n;return-1}},9465:(e,t,n)=>{var r=n(8777);e.exports=function(e,t,n){"__proto__"==t&&r?r(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n}},7786:(e,t,n)=>{var r=n(1811),i=n(327);e.exports=function(e,t){for(var n=0,a=(t=r(t,e)).length;null!=e&&n{var r=n(2705),i=n(9607),a=n(2333),o=r?r.toStringTag:void 0;e.exports=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":o&&o in Object(e)?i(e):a(e)}},8458:(e,t,n)=>{var r=n(3560),i=n(5346),a=n(3218),o=n(346),s=/^\[object .+?Constructor\]$/,u=Function.prototype,l=Object.prototype,c=u.toString,d=l.hasOwnProperty,h=RegExp("^"+c.call(d).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");e.exports=function(e){return!(!a(e)||i(e))&&(r(e)?h:s).test(o(e))}},611:(e,t,n)=>{var r=n(4865),i=n(1811),a=n(5776),o=n(3218),s=n(327);e.exports=function(e,t,n,u){if(!o(e))return e;for(var l=-1,c=(t=i(t,e)).length,d=c-1,h=e;null!=h&&++l{var r=n(2705),i=n(9932),a=n(1469),o=n(3448),s=r?r.prototype:void 0,u=s?s.toString:void 0;e.exports=function e(t){if("string"==typeof t)return t;if(a(t))return i(t,e)+"";if(o(t))return u?u.call(t):"";var n=t+"";return"0"==n&&1/t==-1/0?"-0":n}},7561:(e,t,n)=>{var r=n(7990),i=/^\s+/;e.exports=function(e){return e?e.slice(0,r(e)+1).replace(i,""):e}},1811:(e,t,n)=>{var r=n(1469),i=n(5403),a=n(5514),o=n(9833);e.exports=function(e,t){return r(e)?e:i(e,t)?[e]:a(o(e))}},278:e=>{e.exports=function(e,t){var n=-1,r=e.length;for(t||(t=Array(r));++n{var r=n(5639)["__core-js_shared__"];e.exports=r},8777:(e,t,n)=>{var r=n(852),i=function(){try{var e=r(Object,"defineProperty");return e({},"",{}),e}catch(e){}}();e.exports=i},1957:(e,t,n)=>{var r="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g;e.exports=r},5050:(e,t,n)=>{var r=n(7019);e.exports=function(e,t){var n=e.__data__;return r(t)?n["string"==typeof t?"string":"hash"]:n.map}},852:(e,t,n)=>{var r=n(8458),i=n(7801);e.exports=function(e,t){var n=i(e,t);return r(n)?n:void 0}},9607:(e,t,n)=>{var r=n(2705),i=Object.prototype,a=i.hasOwnProperty,o=i.toString,s=r?r.toStringTag:void 0;e.exports=function(e){var t=a.call(e,s),n=e[s];try{e[s]=void 0;var r=!0}catch(e){}var i=o.call(e);return r&&(t?e[s]=n:delete e[s]),i}},7801:e=>{e.exports=function(e,t){return null==e?void 0:e[t]}},1789:(e,t,n)=>{var r=n(4536);e.exports=function(){this.__data__=r?r(null):{},this.size=0}},401:e=>{e.exports=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}},7667:(e,t,n)=>{var r=n(4536),i=Object.prototype.hasOwnProperty;e.exports=function(e){var t=this.__data__;if(r){var n=t[e];return"__lodash_hash_undefined__"===n?void 0:n}return i.call(t,e)?t[e]:void 0}},1327:(e,t,n)=>{var r=n(4536),i=Object.prototype.hasOwnProperty;e.exports=function(e){var t=this.__data__;return r?void 0!==t[e]:i.call(t,e)}},1866:(e,t,n)=>{var r=n(4536);e.exports=function(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=r&&void 0===t?"__lodash_hash_undefined__":t,this}},5776:e=>{var t=/^(?:0|[1-9]\d*)$/;e.exports=function(e,n){var r=typeof e;return!!(n=null==n?9007199254740991:n)&&("number"==r||"symbol"!=r&&t.test(e))&&e>-1&&e%1==0&&e{var r=n(1469),i=n(3448),a=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,o=/^\w*$/;e.exports=function(e,t){if(r(e))return!1;var n=typeof e;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=e&&!i(e))||o.test(e)||!a.test(e)||null!=t&&e in Object(t)}},7019:e=>{e.exports=function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}},5346:(e,t,n)=>{var r,i=n(4429),a=(r=/[^.]+$/.exec(i&&i.keys&&i.keys.IE_PROTO||""))?"Symbol(src)_1."+r:"";e.exports=function(e){return!!a&&a in e}},7040:e=>{e.exports=function(){this.__data__=[],this.size=0}},4125:(e,t,n)=>{var r=n(8470),i=Array.prototype.splice;e.exports=function(e){var t=this.__data__,n=r(t,e);return!(n<0||(n==t.length-1?t.pop():i.call(t,n,1),--this.size,0))}},2117:(e,t,n)=>{var r=n(8470);e.exports=function(e){var t=this.__data__,n=r(t,e);return n<0?void 0:t[n][1]}},7518:(e,t,n)=>{var r=n(8470);e.exports=function(e){return r(this.__data__,e)>-1}},4705:(e,t,n)=>{var r=n(8470);e.exports=function(e,t){var n=this.__data__,i=r(n,e);return i<0?(++this.size,n.push([e,t])):n[i][1]=t,this}},4785:(e,t,n)=>{var r=n(1989),i=n(8407),a=n(7071);e.exports=function(){this.size=0,this.__data__={hash:new r,map:new(a||i),string:new r}}},1285:(e,t,n)=>{var r=n(5050);e.exports=function(e){var t=r(this,e).delete(e);return this.size-=t?1:0,t}},6e3:(e,t,n)=>{var r=n(5050);e.exports=function(e){return r(this,e).get(e)}},9916:(e,t,n)=>{var r=n(5050);e.exports=function(e){return r(this,e).has(e)}},5265:(e,t,n)=>{var r=n(5050);e.exports=function(e,t){var n=r(this,e),i=n.size;return n.set(e,t),this.size+=n.size==i?0:1,this}},4523:(e,t,n)=>{var r=n(8306);e.exports=function(e){var t=r(e,(function(e){return 500===n.size&&n.clear(),e})),n=t.cache;return t}},4536:(e,t,n)=>{var r=n(852)(Object,"create");e.exports=r},2333:e=>{var t=Object.prototype.toString;e.exports=function(e){return t.call(e)}},5639:(e,t,n)=>{var r=n(1957),i="object"==typeof self&&self&&self.Object===Object&&self,a=r||i||Function("return this")();e.exports=a},5514:(e,t,n)=>{var r=n(4523),i=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,a=/\\(\\)?/g,o=r((function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(i,(function(e,n,r,i){t.push(r?i.replace(a,"$1"):n||e)})),t}));e.exports=o},327:(e,t,n)=>{var r=n(3448);e.exports=function(e){if("string"==typeof e||r(e))return e;var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}},346:e=>{var t=Function.prototype.toString;e.exports=function(e){if(null!=e){try{return t.call(e)}catch(e){}try{return e+""}catch(e){}}return""}},7990:e=>{var t=/\s/;e.exports=function(e){for(var n=e.length;n--&&t.test(e.charAt(n)););return n}},3279:(e,t,n)=>{var r=n(3218),i=n(7771),a=n(4841),o=Math.max,s=Math.min;e.exports=function(e,t,n){var u,l,c,d,h,f,p=0,v=!1,g=!1,y=!0;if("function"!=typeof e)throw new TypeError("Expected a function");function m(t){var n=u,r=l;return u=l=void 0,p=t,d=e.apply(r,n)}function b(e){var n=e-f;return void 0===f||n>=t||n<0||g&&e-p>=c}function x(){var e=i();if(b(e))return w(e);h=setTimeout(x,function(e){var n=t-(e-f);return g?s(n,c-(e-p)):n}(e))}function w(e){return h=void 0,y&&u?m(e):(u=l=void 0,d)}function _(){var e=i(),n=b(e);if(u=arguments,l=this,f=e,n){if(void 0===h)return function(e){return p=e,h=setTimeout(x,t),v?m(e):d}(f);if(g)return clearTimeout(h),h=setTimeout(x,t),m(f)}return void 0===h&&(h=setTimeout(x,t)),d}return t=a(t)||0,r(n)&&(v=!!n.leading,c=(g="maxWait"in n)?o(a(n.maxWait)||0,t):c,y="trailing"in n?!!n.trailing:y),_.cancel=function(){void 0!==h&&clearTimeout(h),p=0,u=f=l=h=void 0},_.flush=function(){return void 0===h?d:w(i())},_}},7813:e=>{e.exports=function(e,t){return e===t||e!=e&&t!=t}},7361:(e,t,n)=>{var r=n(7786);e.exports=function(e,t,n){var i=null==e?void 0:r(e,t);return void 0===i?n:i}},1469:e=>{var t=Array.isArray;e.exports=t},3560:(e,t,n)=>{var r=n(4239),i=n(3218);e.exports=function(e){if(!i(e))return!1;var t=r(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t}},3218:e=>{e.exports=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}},7005:e=>{e.exports=function(e){return null!=e&&"object"==typeof e}},3448:(e,t,n)=>{var r=n(4239),i=n(7005);e.exports=function(e){return"symbol"==typeof e||i(e)&&"[object Symbol]"==r(e)}},6486:function(e,t,n){var r;e=n.nmd(e),function(){var i,a="Expected a function",o="__lodash_hash_undefined__",s="__lodash_placeholder__",u=32,l=128,c=1/0,d=9007199254740991,h=NaN,f=4294967295,p=[["ary",l],["bind",1],["bindKey",2],["curry",8],["curryRight",16],["flip",512],["partial",u],["partialRight",64],["rearg",256]],v="[object Arguments]",g="[object Array]",y="[object Boolean]",m="[object Date]",b="[object Error]",x="[object Function]",w="[object GeneratorFunction]",_="[object Map]",E="[object Number]",k="[object Object]",C="[object Promise]",S="[object RegExp]",P="[object Set]",T="[object String]",D="[object Symbol]",M="[object WeakMap]",B="[object ArrayBuffer]",I="[object DataView]",O="[object Float32Array]",A="[object Float64Array]",z="[object Int8Array]",N="[object Int16Array]",L="[object Int32Array]",R="[object Uint8Array]",j="[object Uint8ClampedArray]",V="[object Uint16Array]",F="[object Uint32Array]",q=/\b__p \+= '';/g,W=/\b(__p \+=) '' \+/g,Y=/(__e\(.*?\)|\b__t\)) \+\n'';/g,X=/&(?:amp|lt|gt|quot|#39);/g,H=/[&<>"']/g,U=RegExp(X.source),Z=RegExp(H.source),K=/<%-([\s\S]+?)%>/g,G=/<%([\s\S]+?)%>/g,$=/<%=([\s\S]+?)%>/g,Q=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,J=/^\w*$/,ee=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,te=/[\\^$.*+?()[\]{}|]/g,ne=RegExp(te.source),re=/^\s+/,ie=/\s/,ae=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,oe=/\{\n\/\* \[wrapped with (.+)\] \*/,se=/,? & /,ue=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,le=/[()=,{}\[\]\/\s]/,ce=/\\(\\)?/g,de=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,he=/\w*$/,fe=/^[-+]0x[0-9a-f]+$/i,pe=/^0b[01]+$/i,ve=/^\[object .+?Constructor\]$/,ge=/^0o[0-7]+$/i,ye=/^(?:0|[1-9]\d*)$/,me=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,be=/($^)/,xe=/['\n\r\u2028\u2029\\]/g,we="\\ud800-\\udfff",_e="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",Ee="\\u2700-\\u27bf",ke="a-z\\xdf-\\xf6\\xf8-\\xff",Ce="A-Z\\xc0-\\xd6\\xd8-\\xde",Se="\\ufe0e\\ufe0f",Pe="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Te="["+we+"]",De="["+Pe+"]",Me="["+_e+"]",Be="\\d+",Ie="["+Ee+"]",Oe="["+ke+"]",Ae="[^"+we+Pe+Be+Ee+ke+Ce+"]",ze="\\ud83c[\\udffb-\\udfff]",Ne="[^"+we+"]",Le="(?:\\ud83c[\\udde6-\\uddff]){2}",Re="[\\ud800-\\udbff][\\udc00-\\udfff]",je="["+Ce+"]",Ve="\\u200d",Fe="(?:"+Oe+"|"+Ae+")",qe="(?:"+je+"|"+Ae+")",We="(?:['’](?:d|ll|m|re|s|t|ve))?",Ye="(?:['’](?:D|LL|M|RE|S|T|VE))?",Xe="(?:"+Me+"|"+ze+")?",He="["+Se+"]?",Ue=He+Xe+"(?:"+Ve+"(?:"+[Ne,Le,Re].join("|")+")"+He+Xe+")*",Ze="(?:"+[Ie,Le,Re].join("|")+")"+Ue,Ke="(?:"+[Ne+Me+"?",Me,Le,Re,Te].join("|")+")",Ge=RegExp("['’]","g"),$e=RegExp(Me,"g"),Qe=RegExp(ze+"(?="+ze+")|"+Ke+Ue,"g"),Je=RegExp([je+"?"+Oe+"+"+We+"(?="+[De,je,"$"].join("|")+")",qe+"+"+Ye+"(?="+[De,je+Fe,"$"].join("|")+")",je+"?"+Fe+"+"+We,je+"+"+Ye,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Be,Ze].join("|"),"g"),et=RegExp("["+Ve+we+_e+Se+"]"),tt=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,nt=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],rt=-1,it={};it[O]=it[A]=it[z]=it[N]=it[L]=it[R]=it[j]=it[V]=it[F]=!0,it[v]=it[g]=it[B]=it[y]=it[I]=it[m]=it[b]=it[x]=it[_]=it[E]=it[k]=it[S]=it[P]=it[T]=it[M]=!1;var at={};at[v]=at[g]=at[B]=at[I]=at[y]=at[m]=at[O]=at[A]=at[z]=at[N]=at[L]=at[_]=at[E]=at[k]=at[S]=at[P]=at[T]=at[D]=at[R]=at[j]=at[V]=at[F]=!0,at[b]=at[x]=at[M]=!1;var ot={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},st=parseFloat,ut=parseInt,lt="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g,ct="object"==typeof self&&self&&self.Object===Object&&self,dt=lt||ct||Function("return this")(),ht=t&&!t.nodeType&&t,ft=ht&&e&&!e.nodeType&&e,pt=ft&&ft.exports===ht,vt=pt&<.process,gt=function(){try{return ft&&ft.require&&ft.require("util").types||vt&&vt.binding&&vt.binding("util")}catch(e){}}(),yt=gt&>.isArrayBuffer,mt=gt&>.isDate,bt=gt&>.isMap,xt=gt&>.isRegExp,wt=gt&>.isSet,_t=gt&>.isTypedArray;function Et(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}function kt(e,t,n,r){for(var i=-1,a=null==e?0:e.length;++i-1}function Mt(e,t,n){for(var r=-1,i=null==e?0:e.length;++r-1;);return n}function Jt(e,t){for(var n=e.length;n--&&jt(t,e[n],0)>-1;);return n}var en=Yt({À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"}),tn=Yt({"&":"&","<":"<",">":">",'"':""","'":"'"});function nn(e){return"\\"+ot[e]}function rn(e){return et.test(e)}function an(e){var t=-1,n=Array(e.size);return e.forEach((function(e,r){n[++t]=[r,e]})),n}function on(e,t){return function(n){return e(t(n))}}function sn(e,t){for(var n=-1,r=e.length,i=0,a=[];++n",""":'"',"'":"'"}),pn=function e(t){var n,r=(t=null==t?dt:pn.defaults(dt.Object(),t,pn.pick(dt,nt))).Array,ie=t.Date,we=t.Error,_e=t.Function,Ee=t.Math,ke=t.Object,Ce=t.RegExp,Se=t.String,Pe=t.TypeError,Te=r.prototype,De=_e.prototype,Me=ke.prototype,Be=t["__core-js_shared__"],Ie=De.toString,Oe=Me.hasOwnProperty,Ae=0,ze=(n=/[^.]+$/.exec(Be&&Be.keys&&Be.keys.IE_PROTO||""))?"Symbol(src)_1."+n:"",Ne=Me.toString,Le=Ie.call(ke),Re=dt._,je=Ce("^"+Ie.call(Oe).replace(te,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Ve=pt?t.Buffer:i,Fe=t.Symbol,qe=t.Uint8Array,We=Ve?Ve.allocUnsafe:i,Ye=on(ke.getPrototypeOf,ke),Xe=ke.create,He=Me.propertyIsEnumerable,Ue=Te.splice,Ze=Fe?Fe.isConcatSpreadable:i,Ke=Fe?Fe.iterator:i,Qe=Fe?Fe.toStringTag:i,et=function(){try{var e=ua(ke,"defineProperty");return e({},"",{}),e}catch(e){}}(),ot=t.clearTimeout!==dt.clearTimeout&&t.clearTimeout,lt=ie&&ie.now!==dt.Date.now&&ie.now,ct=t.setTimeout!==dt.setTimeout&&t.setTimeout,ht=Ee.ceil,ft=Ee.floor,vt=ke.getOwnPropertySymbols,gt=Ve?Ve.isBuffer:i,Nt=t.isFinite,Yt=Te.join,vn=on(ke.keys,ke),gn=Ee.max,yn=Ee.min,mn=ie.now,bn=t.parseInt,xn=Ee.random,wn=Te.reverse,_n=ua(t,"DataView"),En=ua(t,"Map"),kn=ua(t,"Promise"),Cn=ua(t,"Set"),Sn=ua(t,"WeakMap"),Pn=ua(ke,"create"),Tn=Sn&&new Sn,Dn={},Mn=Na(_n),Bn=Na(En),In=Na(kn),On=Na(Cn),An=Na(Sn),zn=Fe?Fe.prototype:i,Nn=zn?zn.valueOf:i,Ln=zn?zn.toString:i;function Rn(e){if(es(e)&&!Wo(e)&&!(e instanceof qn)){if(e instanceof Fn)return e;if(Oe.call(e,"__wrapped__"))return La(e)}return new Fn(e)}var jn=function(){function e(){}return function(t){if(!Jo(t))return{};if(Xe)return Xe(t);e.prototype=t;var n=new e;return e.prototype=i,n}}();function Vn(){}function Fn(e,t){this.__wrapped__=e,this.__actions__=[],this.__chain__=!!t,this.__index__=0,this.__values__=i}function qn(e){this.__wrapped__=e,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=f,this.__views__=[]}function Wn(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t=t?e:t)),e}function or(e,t,n,r,a,o){var s,u=1&t,l=2&t,c=4&t;if(n&&(s=a?n(e,r,a,o):n(e)),s!==i)return s;if(!Jo(e))return e;var d=Wo(e);if(d){if(s=function(e){var t=e.length,n=new e.constructor(t);return t&&"string"==typeof e[0]&&Oe.call(e,"index")&&(n.index=e.index,n.input=e.input),n}(e),!u)return Si(e,s)}else{var h=da(e),f=h==x||h==w;if(Uo(e))return xi(e,u);if(h==k||h==v||f&&!a){if(s=l||f?{}:fa(e),!u)return l?function(e,t){return Pi(e,ca(e),t)}(e,function(e,t){return e&&Pi(t,Bs(t),e)}(s,e)):function(e,t){return Pi(e,la(e),t)}(e,nr(s,e))}else{if(!at[h])return a?e:{};s=function(e,t,n){var r,i=e.constructor;switch(t){case B:return wi(e);case y:case m:return new i(+e);case I:return function(e,t){var n=t?wi(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)}(e,n);case O:case A:case z:case N:case L:case R:case j:case V:case F:return _i(e,n);case _:return new i;case E:case T:return new i(e);case S:return function(e){var t=new e.constructor(e.source,he.exec(e));return t.lastIndex=e.lastIndex,t}(e);case P:return new i;case D:return r=e,Nn?ke(Nn.call(r)):{}}}(e,h,u)}}o||(o=new Un);var p=o.get(e);if(p)return p;o.set(e,s),as(e)?e.forEach((function(r){s.add(or(r,t,n,r,e,o))})):ts(e)&&e.forEach((function(r,i){s.set(i,or(r,t,n,i,e,o))}));var g=d?i:(c?l?ta:ea:l?Bs:Ms)(e);return Ct(g||e,(function(r,i){g&&(r=e[i=r]),Jn(s,i,or(r,t,n,i,e,o))})),s}function sr(e,t,n){var r=n.length;if(null==e)return!r;for(e=ke(e);r--;){var a=n[r],o=t[a],s=e[a];if(s===i&&!(a in e)||!o(s))return!1}return!0}function ur(e,t,n){if("function"!=typeof e)throw new Pe(a);return Pa((function(){e.apply(i,n)}),t)}function lr(e,t,n,r){var i=-1,a=Dt,o=!0,s=e.length,u=[],l=t.length;if(!s)return u;n&&(t=Bt(t,Kt(n))),r?(a=Mt,o=!1):t.length>=200&&(a=$t,o=!1,t=new Hn(t));e:for(;++i-1},Yn.prototype.set=function(e,t){var n=this.__data__,r=er(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this},Xn.prototype.clear=function(){this.size=0,this.__data__={hash:new Wn,map:new(En||Yn),string:new Wn}},Xn.prototype.delete=function(e){var t=oa(this,e).delete(e);return this.size-=t?1:0,t},Xn.prototype.get=function(e){return oa(this,e).get(e)},Xn.prototype.has=function(e){return oa(this,e).has(e)},Xn.prototype.set=function(e,t){var n=oa(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this},Hn.prototype.add=Hn.prototype.push=function(e){return this.__data__.set(e,o),this},Hn.prototype.has=function(e){return this.__data__.has(e)},Un.prototype.clear=function(){this.__data__=new Yn,this.size=0},Un.prototype.delete=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n},Un.prototype.get=function(e){return this.__data__.get(e)},Un.prototype.has=function(e){return this.__data__.has(e)},Un.prototype.set=function(e,t){var n=this.__data__;if(n instanceof Yn){var r=n.__data__;if(!En||r.length<199)return r.push([e,t]),this.size=++n.size,this;n=this.__data__=new Xn(r)}return n.set(e,t),this.size=n.size,this};var cr=Mi(mr),dr=Mi(br,!0);function hr(e,t){var n=!0;return cr(e,(function(e,r,i){return n=!!t(e,r,i)})),n}function fr(e,t,n){for(var r=-1,a=e.length;++r0&&n(s)?t>1?vr(s,t-1,n,r,i):It(i,s):r||(i[i.length]=s)}return i}var gr=Bi(),yr=Bi(!0);function mr(e,t){return e&&gr(e,t,Ms)}function br(e,t){return e&&yr(e,t,Ms)}function xr(e,t){return Tt(t,(function(t){return Go(e[t])}))}function wr(e,t){for(var n=0,r=(t=gi(t,e)).length;null!=e&&nt}function Cr(e,t){return null!=e&&Oe.call(e,t)}function Sr(e,t){return null!=e&&t in ke(e)}function Pr(e,t,n){for(var a=n?Mt:Dt,o=e[0].length,s=e.length,u=s,l=r(s),c=1/0,d=[];u--;){var h=e[u];u&&t&&(h=Bt(h,Kt(t))),c=yn(h.length,c),l[u]=!n&&(t||o>=120&&h.length>=120)?new Hn(u&&h):i}h=e[0];var f=-1,p=l[0];e:for(;++f=s?u:u*("desc"==n[r]?-1:1)}return e.index-t.index}(e,t,n)}));r--;)e[r]=e[r].value;return e}(i)}function qr(e,t,n){for(var r=-1,i=t.length,a={};++r-1;)s!==e&&Ue.call(s,u,1),Ue.call(e,u,1);return e}function Yr(e,t){for(var n=e?t.length:0,r=n-1;n--;){var i=t[n];if(n==r||i!==a){var a=i;va(i)?Ue.call(e,i,1):ui(e,i)}}return e}function Xr(e,t){return e+ft(xn()*(t-e+1))}function Hr(e,t){var n="";if(!e||t<1||t>d)return n;do{t%2&&(n+=e),(t=ft(t/2))&&(e+=e)}while(t);return n}function Ur(e,t){return Ta(Ea(e,t,nu),e+"")}function Zr(e){return Kn(js(e))}function Kr(e,t){var n=js(e);return Ba(n,ar(t,0,n.length))}function Gr(e,t,n,r){if(!Jo(e))return e;for(var a=-1,o=(t=gi(t,e)).length,s=o-1,u=e;null!=u&&++aa?0:a+t),(n=n>a?a:n)<0&&(n+=a),a=t>n?0:n-t>>>0,t>>>=0;for(var o=r(a);++i>>1,o=e[a];null!==o&&!ss(o)&&(n?o<=t:o=200){var l=t?null:Hi(e);if(l)return un(l);o=!1,i=$t,u=new Hn}else u=t?[]:s;e:for(;++r=r?e:ei(e,t,n)}var bi=ot||function(e){return dt.clearTimeout(e)};function xi(e,t){if(t)return e.slice();var n=e.length,r=We?We(n):new e.constructor(n);return e.copy(r),r}function wi(e){var t=new e.constructor(e.byteLength);return new qe(t).set(new qe(e)),t}function _i(e,t){var n=t?wi(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)}function Ei(e,t){if(e!==t){var n=e!==i,r=null===e,a=e==e,o=ss(e),s=t!==i,u=null===t,l=t==t,c=ss(t);if(!u&&!c&&!o&&e>t||o&&s&&l&&!u&&!c||r&&s&&l||!n&&l||!a)return 1;if(!r&&!o&&!c&&e1?n[a-1]:i,s=a>2?n[2]:i;for(o=e.length>3&&"function"==typeof o?(a--,o):i,s&&ga(n[0],n[1],s)&&(o=a<3?i:o,a=1),t=ke(t);++r-1?a[o?t[s]:s]:i}}function Ni(e){return Ji((function(t){var n=t.length,r=n,o=Fn.prototype.thru;for(e&&t.reverse();r--;){var s=t[r];if("function"!=typeof s)throw new Pe(a);if(o&&!u&&"wrapper"==ra(s))var u=new Fn([],!0)}for(r=u?r:n;++r1&&x.reverse(),f&&du))return!1;var c=o.get(e),d=o.get(t);if(c&&d)return c==t&&d==e;var h=-1,f=!0,p=2&n?new Hn:i;for(o.set(e,t),o.set(t,e);++h-1&&e%1==0&&e1?"& ":"")+t[r],t=t.join(n>2?", ":" "),e.replace(ae,"{\n/* [wrapped with "+t+"] */\n")}(r,function(e,t){return Ct(p,(function(n){var r="_."+n[0];t&n[1]&&!Dt(e,r)&&e.push(r)})),e.sort()}(function(e){var t=e.match(oe);return t?t[1].split(se):[]}(r),n)))}function Ma(e){var t=0,n=0;return function(){var r=mn(),a=16-(r-n);if(n=r,a>0){if(++t>=800)return arguments[0]}else t=0;return e.apply(i,arguments)}}function Ba(e,t){var n=-1,r=e.length,a=r-1;for(t=t===i?r:t;++n1?e[t-1]:i;return n="function"==typeof n?(e.pop(),n):i,ro(e,n)}));function co(e){var t=Rn(e);return t.__chain__=!0,t}function ho(e,t){return t(e)}var fo=Ji((function(e){var t=e.length,n=t?e[0]:0,r=this.__wrapped__,a=function(t){return ir(t,e)};return!(t>1||this.__actions__.length)&&r instanceof qn&&va(n)?((r=r.slice(n,+n+(t?1:0))).__actions__.push({func:ho,args:[a],thisArg:i}),new Fn(r,this.__chain__).thru((function(e){return t&&!e.length&&e.push(i),e}))):this.thru(a)})),po=Ti((function(e,t,n){Oe.call(e,n)?++e[n]:rr(e,n,1)})),vo=zi(Fa),go=zi(qa);function yo(e,t){return(Wo(e)?Ct:cr)(e,aa(t,3))}function mo(e,t){return(Wo(e)?St:dr)(e,aa(t,3))}var bo=Ti((function(e,t,n){Oe.call(e,n)?e[n].push(t):rr(e,n,[t])})),xo=Ur((function(e,t,n){var i=-1,a="function"==typeof t,o=Xo(e)?r(e.length):[];return cr(e,(function(e){o[++i]=a?Et(t,e,n):Tr(e,t,n)})),o})),wo=Ti((function(e,t,n){rr(e,n,t)}));function _o(e,t){return(Wo(e)?Bt:Nr)(e,aa(t,3))}var Eo=Ti((function(e,t,n){e[n?0:1].push(t)}),(function(){return[[],[]]})),ko=Ur((function(e,t){if(null==e)return[];var n=t.length;return n>1&&ga(e,t[0],t[1])?t=[]:n>2&&ga(t[0],t[1],t[2])&&(t=[t[0]]),Fr(e,vr(t,1),[])})),Co=lt||function(){return dt.Date.now()};function So(e,t,n){return t=n?i:t,t=e&&null==t?e.length:t,Zi(e,l,i,i,i,i,t)}function Po(e,t){var n;if("function"!=typeof t)throw new Pe(a);return e=fs(e),function(){return--e>0&&(n=t.apply(this,arguments)),e<=1&&(t=i),n}}var To=Ur((function(e,t,n){var r=1;if(n.length){var i=sn(n,ia(To));r|=u}return Zi(e,r,t,n,i)})),Do=Ur((function(e,t,n){var r=3;if(n.length){var i=sn(n,ia(Do));r|=u}return Zi(t,r,e,n,i)}));function Mo(e,t,n){var r,o,s,u,l,c,d=0,h=!1,f=!1,p=!0;if("function"!=typeof e)throw new Pe(a);function v(t){var n=r,a=o;return r=o=i,d=t,u=e.apply(a,n)}function g(e){var n=e-c;return c===i||n>=t||n<0||f&&e-d>=s}function y(){var e=Co();if(g(e))return m(e);l=Pa(y,function(e){var n=t-(e-c);return f?yn(n,s-(e-d)):n}(e))}function m(e){return l=i,p&&r?v(e):(r=o=i,u)}function b(){var e=Co(),n=g(e);if(r=arguments,o=this,c=e,n){if(l===i)return function(e){return d=e,l=Pa(y,t),h?v(e):u}(c);if(f)return bi(l),l=Pa(y,t),v(c)}return l===i&&(l=Pa(y,t)),u}return t=vs(t)||0,Jo(n)&&(h=!!n.leading,s=(f="maxWait"in n)?gn(vs(n.maxWait)||0,t):s,p="trailing"in n?!!n.trailing:p),b.cancel=function(){l!==i&&bi(l),d=0,r=c=o=l=i},b.flush=function(){return l===i?u:m(Co())},b}var Bo=Ur((function(e,t){return ur(e,1,t)})),Io=Ur((function(e,t,n){return ur(e,vs(t)||0,n)}));function Oo(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new Pe(a);var n=function(){var r=arguments,i=t?t.apply(this,r):r[0],a=n.cache;if(a.has(i))return a.get(i);var o=e.apply(this,r);return n.cache=a.set(i,o)||a,o};return n.cache=new(Oo.Cache||Xn),n}function Ao(e){if("function"!=typeof e)throw new Pe(a);return function(){var t=arguments;switch(t.length){case 0:return!e.call(this);case 1:return!e.call(this,t[0]);case 2:return!e.call(this,t[0],t[1]);case 3:return!e.call(this,t[0],t[1],t[2])}return!e.apply(this,t)}}Oo.Cache=Xn;var zo=yi((function(e,t){var n=(t=1==t.length&&Wo(t[0])?Bt(t[0],Kt(aa())):Bt(vr(t,1),Kt(aa()))).length;return Ur((function(r){for(var i=-1,a=yn(r.length,n);++i=t})),qo=Dr(function(){return arguments}())?Dr:function(e){return es(e)&&Oe.call(e,"callee")&&!He.call(e,"callee")},Wo=r.isArray,Yo=yt?Kt(yt):function(e){return es(e)&&Er(e)==B};function Xo(e){return null!=e&&Qo(e.length)&&!Go(e)}function Ho(e){return es(e)&&Xo(e)}var Uo=gt||vu,Zo=mt?Kt(mt):function(e){return es(e)&&Er(e)==m};function Ko(e){if(!es(e))return!1;var t=Er(e);return t==b||"[object DOMException]"==t||"string"==typeof e.message&&"string"==typeof e.name&&!rs(e)}function Go(e){if(!Jo(e))return!1;var t=Er(e);return t==x||t==w||"[object AsyncFunction]"==t||"[object Proxy]"==t}function $o(e){return"number"==typeof e&&e==fs(e)}function Qo(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=d}function Jo(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function es(e){return null!=e&&"object"==typeof e}var ts=bt?Kt(bt):function(e){return es(e)&&da(e)==_};function ns(e){return"number"==typeof e||es(e)&&Er(e)==E}function rs(e){if(!es(e)||Er(e)!=k)return!1;var t=Ye(e);if(null===t)return!0;var n=Oe.call(t,"constructor")&&t.constructor;return"function"==typeof n&&n instanceof n&&Ie.call(n)==Le}var is=xt?Kt(xt):function(e){return es(e)&&Er(e)==S},as=wt?Kt(wt):function(e){return es(e)&&da(e)==P};function os(e){return"string"==typeof e||!Wo(e)&&es(e)&&Er(e)==T}function ss(e){return"symbol"==typeof e||es(e)&&Er(e)==D}var us=_t?Kt(_t):function(e){return es(e)&&Qo(e.length)&&!!it[Er(e)]},ls=Wi(zr),cs=Wi((function(e,t){return e<=t}));function ds(e){if(!e)return[];if(Xo(e))return os(e)?dn(e):Si(e);if(Ke&&e[Ke])return function(e){for(var t,n=[];!(t=e.next()).done;)n.push(t.value);return n}(e[Ke]());var t=da(e);return(t==_?an:t==P?un:js)(e)}function hs(e){return e?(e=vs(e))===c||e===-1/0?17976931348623157e292*(e<0?-1:1):e==e?e:0:0===e?e:0}function fs(e){var t=hs(e),n=t%1;return t==t?n?t-n:t:0}function ps(e){return e?ar(fs(e),0,f):0}function vs(e){if("number"==typeof e)return e;if(ss(e))return h;if(Jo(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=Jo(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=Zt(e);var n=pe.test(e);return n||ge.test(e)?ut(e.slice(2),n?2:8):fe.test(e)?h:+e}function gs(e){return Pi(e,Bs(e))}function ys(e){return null==e?"":oi(e)}var ms=Di((function(e,t){if(xa(t)||Xo(t))Pi(t,Ms(t),e);else for(var n in t)Oe.call(t,n)&&Jn(e,n,t[n])})),bs=Di((function(e,t){Pi(t,Bs(t),e)})),xs=Di((function(e,t,n,r){Pi(t,Bs(t),e,r)})),ws=Di((function(e,t,n,r){Pi(t,Ms(t),e,r)})),_s=Ji(ir),Es=Ur((function(e,t){e=ke(e);var n=-1,r=t.length,a=r>2?t[2]:i;for(a&&ga(t[0],t[1],a)&&(r=1);++n1),t})),Pi(e,ta(e),n),r&&(n=or(n,7,$i));for(var i=t.length;i--;)ui(n,t[i]);return n})),zs=Ji((function(e,t){return null==e?{}:function(e,t){return qr(e,t,(function(t,n){return Ss(e,n)}))}(e,t)}));function Ns(e,t){if(null==e)return{};var n=Bt(ta(e),(function(e){return[e]}));return t=aa(t),qr(e,n,(function(e,n){return t(e,n[0])}))}var Ls=Ui(Ms),Rs=Ui(Bs);function js(e){return null==e?[]:Gt(e,Ms(e))}var Vs=Oi((function(e,t,n){return t=t.toLowerCase(),e+(n?Fs(t):t)}));function Fs(e){return Ks(ys(e).toLowerCase())}function qs(e){return(e=ys(e))&&e.replace(me,en).replace($e,"")}var Ws=Oi((function(e,t,n){return e+(n?"-":"")+t.toLowerCase()})),Ys=Oi((function(e,t,n){return e+(n?" ":"")+t.toLowerCase()})),Xs=Ii("toLowerCase"),Hs=Oi((function(e,t,n){return e+(n?"_":"")+t.toLowerCase()})),Us=Oi((function(e,t,n){return e+(n?" ":"")+Ks(t)})),Zs=Oi((function(e,t,n){return e+(n?" ":"")+t.toUpperCase()})),Ks=Ii("toUpperCase");function Gs(e,t,n){return e=ys(e),(t=n?i:t)===i?function(e){return tt.test(e)}(e)?function(e){return e.match(Je)||[]}(e):function(e){return e.match(ue)||[]}(e):e.match(t)||[]}var $s=Ur((function(e,t){try{return Et(e,i,t)}catch(e){return Ko(e)?e:new we(e)}})),Qs=Ji((function(e,t){return Ct(t,(function(t){t=za(t),rr(e,t,To(e[t],e))})),e}));function Js(e){return function(){return e}}var eu=Ni(),tu=Ni(!0);function nu(e){return e}function ru(e){return Or("function"==typeof e?e:or(e,1))}var iu=Ur((function(e,t){return function(n){return Tr(n,e,t)}})),au=Ur((function(e,t){return function(n){return Tr(e,n,t)}}));function ou(e,t,n){var r=Ms(t),i=xr(t,r);null!=n||Jo(t)&&(i.length||!r.length)||(n=t,t=e,e=this,i=xr(t,Ms(t)));var a=!(Jo(n)&&"chain"in n&&!n.chain),o=Go(e);return Ct(i,(function(n){var r=t[n];e[n]=r,o&&(e.prototype[n]=function(){var t=this.__chain__;if(a||t){var n=e(this.__wrapped__);return(n.__actions__=Si(this.__actions__)).push({func:r,args:arguments,thisArg:e}),n.__chain__=t,n}return r.apply(e,It([this.value()],arguments))})})),e}function su(){}var uu=Vi(Bt),lu=Vi(Pt),cu=Vi(zt);function du(e){return ya(e)?Wt(za(e)):function(e){return function(t){return wr(t,e)}}(e)}var hu=qi(),fu=qi(!0);function pu(){return[]}function vu(){return!1}var gu,yu=ji((function(e,t){return e+t}),0),mu=Xi("ceil"),bu=ji((function(e,t){return e/t}),1),xu=Xi("floor"),wu=ji((function(e,t){return e*t}),1),_u=Xi("round"),Eu=ji((function(e,t){return e-t}),0);return Rn.after=function(e,t){if("function"!=typeof t)throw new Pe(a);return e=fs(e),function(){if(--e<1)return t.apply(this,arguments)}},Rn.ary=So,Rn.assign=ms,Rn.assignIn=bs,Rn.assignInWith=xs,Rn.assignWith=ws,Rn.at=_s,Rn.before=Po,Rn.bind=To,Rn.bindAll=Qs,Rn.bindKey=Do,Rn.castArray=function(){if(!arguments.length)return[];var e=arguments[0];return Wo(e)?e:[e]},Rn.chain=co,Rn.chunk=function(e,t,n){t=(n?ga(e,t,n):t===i)?1:gn(fs(t),0);var a=null==e?0:e.length;if(!a||t<1)return[];for(var o=0,s=0,u=r(ht(a/t));oa?0:a+n),(r=r===i||r>a?a:fs(r))<0&&(r+=a),r=n>r?0:ps(r);n>>0)?(e=ys(e))&&("string"==typeof t||null!=t&&!is(t))&&!(t=oi(t))&&rn(e)?mi(dn(e),0,n):e.split(t,n):[]},Rn.spread=function(e,t){if("function"!=typeof e)throw new Pe(a);return t=null==t?0:gn(fs(t),0),Ur((function(n){var r=n[t],i=mi(n,0,t);return r&&It(i,r),Et(e,this,i)}))},Rn.tail=function(e){var t=null==e?0:e.length;return t?ei(e,1,t):[]},Rn.take=function(e,t,n){return e&&e.length?ei(e,0,(t=n||t===i?1:fs(t))<0?0:t):[]},Rn.takeRight=function(e,t,n){var r=null==e?0:e.length;return r?ei(e,(t=r-(t=n||t===i?1:fs(t)))<0?0:t,r):[]},Rn.takeRightWhile=function(e,t){return e&&e.length?ci(e,aa(t,3),!1,!0):[]},Rn.takeWhile=function(e,t){return e&&e.length?ci(e,aa(t,3)):[]},Rn.tap=function(e,t){return t(e),e},Rn.throttle=function(e,t,n){var r=!0,i=!0;if("function"!=typeof e)throw new Pe(a);return Jo(n)&&(r="leading"in n?!!n.leading:r,i="trailing"in n?!!n.trailing:i),Mo(e,t,{leading:r,maxWait:t,trailing:i})},Rn.thru=ho,Rn.toArray=ds,Rn.toPairs=Ls,Rn.toPairsIn=Rs,Rn.toPath=function(e){return Wo(e)?Bt(e,za):ss(e)?[e]:Si(Aa(ys(e)))},Rn.toPlainObject=gs,Rn.transform=function(e,t,n){var r=Wo(e),i=r||Uo(e)||us(e);if(t=aa(t,4),null==n){var a=e&&e.constructor;n=i?r?new a:[]:Jo(e)&&Go(a)?jn(Ye(e)):{}}return(i?Ct:mr)(e,(function(e,r,i){return t(n,e,r,i)})),n},Rn.unary=function(e){return So(e,1)},Rn.union=Ja,Rn.unionBy=eo,Rn.unionWith=to,Rn.uniq=function(e){return e&&e.length?si(e):[]},Rn.uniqBy=function(e,t){return e&&e.length?si(e,aa(t,2)):[]},Rn.uniqWith=function(e,t){return t="function"==typeof t?t:i,e&&e.length?si(e,i,t):[]},Rn.unset=function(e,t){return null==e||ui(e,t)},Rn.unzip=no,Rn.unzipWith=ro,Rn.update=function(e,t,n){return null==e?e:li(e,t,vi(n))},Rn.updateWith=function(e,t,n,r){return r="function"==typeof r?r:i,null==e?e:li(e,t,vi(n),r)},Rn.values=js,Rn.valuesIn=function(e){return null==e?[]:Gt(e,Bs(e))},Rn.without=io,Rn.words=Gs,Rn.wrap=function(e,t){return No(vi(t),e)},Rn.xor=ao,Rn.xorBy=oo,Rn.xorWith=so,Rn.zip=uo,Rn.zipObject=function(e,t){return fi(e||[],t||[],Jn)},Rn.zipObjectDeep=function(e,t){return fi(e||[],t||[],Gr)},Rn.zipWith=lo,Rn.entries=Ls,Rn.entriesIn=Rs,Rn.extend=bs,Rn.extendWith=xs,ou(Rn,Rn),Rn.add=yu,Rn.attempt=$s,Rn.camelCase=Vs,Rn.capitalize=Fs,Rn.ceil=mu,Rn.clamp=function(e,t,n){return n===i&&(n=t,t=i),n!==i&&(n=(n=vs(n))==n?n:0),t!==i&&(t=(t=vs(t))==t?t:0),ar(vs(e),t,n)},Rn.clone=function(e){return or(e,4)},Rn.cloneDeep=function(e){return or(e,5)},Rn.cloneDeepWith=function(e,t){return or(e,5,t="function"==typeof t?t:i)},Rn.cloneWith=function(e,t){return or(e,4,t="function"==typeof t?t:i)},Rn.conformsTo=function(e,t){return null==t||sr(e,t,Ms(t))},Rn.deburr=qs,Rn.defaultTo=function(e,t){return null==e||e!=e?t:e},Rn.divide=bu,Rn.endsWith=function(e,t,n){e=ys(e),t=oi(t);var r=e.length,a=n=n===i?r:ar(fs(n),0,r);return(n-=t.length)>=0&&e.slice(n,a)==t},Rn.eq=jo,Rn.escape=function(e){return(e=ys(e))&&Z.test(e)?e.replace(H,tn):e},Rn.escapeRegExp=function(e){return(e=ys(e))&&ne.test(e)?e.replace(te,"\\$&"):e},Rn.every=function(e,t,n){var r=Wo(e)?Pt:hr;return n&&ga(e,t,n)&&(t=i),r(e,aa(t,3))},Rn.find=vo,Rn.findIndex=Fa,Rn.findKey=function(e,t){return Lt(e,aa(t,3),mr)},Rn.findLast=go,Rn.findLastIndex=qa,Rn.findLastKey=function(e,t){return Lt(e,aa(t,3),br)},Rn.floor=xu,Rn.forEach=yo,Rn.forEachRight=mo,Rn.forIn=function(e,t){return null==e?e:gr(e,aa(t,3),Bs)},Rn.forInRight=function(e,t){return null==e?e:yr(e,aa(t,3),Bs)},Rn.forOwn=function(e,t){return e&&mr(e,aa(t,3))},Rn.forOwnRight=function(e,t){return e&&br(e,aa(t,3))},Rn.get=Cs,Rn.gt=Vo,Rn.gte=Fo,Rn.has=function(e,t){return null!=e&&ha(e,t,Cr)},Rn.hasIn=Ss,Rn.head=Ya,Rn.identity=nu,Rn.includes=function(e,t,n,r){e=Xo(e)?e:js(e),n=n&&!r?fs(n):0;var i=e.length;return n<0&&(n=gn(i+n,0)),os(e)?n<=i&&e.indexOf(t,n)>-1:!!i&&jt(e,t,n)>-1},Rn.indexOf=function(e,t,n){var r=null==e?0:e.length;if(!r)return-1;var i=null==n?0:fs(n);return i<0&&(i=gn(r+i,0)),jt(e,t,i)},Rn.inRange=function(e,t,n){return t=hs(t),n===i?(n=t,t=0):n=hs(n),function(e,t,n){return e>=yn(t,n)&&e=-9007199254740991&&e<=d},Rn.isSet=as,Rn.isString=os,Rn.isSymbol=ss,Rn.isTypedArray=us,Rn.isUndefined=function(e){return e===i},Rn.isWeakMap=function(e){return es(e)&&da(e)==M},Rn.isWeakSet=function(e){return es(e)&&"[object WeakSet]"==Er(e)},Rn.join=function(e,t){return null==e?"":Yt.call(e,t)},Rn.kebabCase=Ws,Rn.last=Za,Rn.lastIndexOf=function(e,t,n){var r=null==e?0:e.length;if(!r)return-1;var a=r;return n!==i&&(a=(a=fs(n))<0?gn(r+a,0):yn(a,r-1)),t==t?function(e,t,n){for(var r=n+1;r--;)if(e[r]===t)return r;return r}(e,t,a):Rt(e,Ft,a,!0)},Rn.lowerCase=Ys,Rn.lowerFirst=Xs,Rn.lt=ls,Rn.lte=cs,Rn.max=function(e){return e&&e.length?fr(e,nu,kr):i},Rn.maxBy=function(e,t){return e&&e.length?fr(e,aa(t,2),kr):i},Rn.mean=function(e){return qt(e,nu)},Rn.meanBy=function(e,t){return qt(e,aa(t,2))},Rn.min=function(e){return e&&e.length?fr(e,nu,zr):i},Rn.minBy=function(e,t){return e&&e.length?fr(e,aa(t,2),zr):i},Rn.stubArray=pu,Rn.stubFalse=vu,Rn.stubObject=function(){return{}},Rn.stubString=function(){return""},Rn.stubTrue=function(){return!0},Rn.multiply=wu,Rn.nth=function(e,t){return e&&e.length?Vr(e,fs(t)):i},Rn.noConflict=function(){return dt._===this&&(dt._=Re),this},Rn.noop=su,Rn.now=Co,Rn.pad=function(e,t,n){e=ys(e);var r=(t=fs(t))?cn(e):0;if(!t||r>=t)return e;var i=(t-r)/2;return Fi(ft(i),n)+e+Fi(ht(i),n)},Rn.padEnd=function(e,t,n){e=ys(e);var r=(t=fs(t))?cn(e):0;return t&&rt){var r=e;e=t,t=r}if(n||e%1||t%1){var a=xn();return yn(e+a*(t-e+st("1e-"+((a+"").length-1))),t)}return Xr(e,t)},Rn.reduce=function(e,t,n){var r=Wo(e)?Ot:Xt,i=arguments.length<3;return r(e,aa(t,4),n,i,cr)},Rn.reduceRight=function(e,t,n){var r=Wo(e)?At:Xt,i=arguments.length<3;return r(e,aa(t,4),n,i,dr)},Rn.repeat=function(e,t,n){return t=(n?ga(e,t,n):t===i)?1:fs(t),Hr(ys(e),t)},Rn.replace=function(){var e=arguments,t=ys(e[0]);return e.length<3?t:t.replace(e[1],e[2])},Rn.result=function(e,t,n){var r=-1,a=(t=gi(t,e)).length;for(a||(a=1,e=i);++rd)return[];var n=f,r=yn(e,f);t=aa(t),e-=f;for(var i=Ut(r,t);++n=o)return e;var u=n-cn(r);if(u<1)return r;var l=s?mi(s,0,u).join(""):e.slice(0,u);if(a===i)return l+r;if(s&&(u+=l.length-u),is(a)){if(e.slice(u).search(a)){var c,d=l;for(a.global||(a=Ce(a.source,ys(he.exec(a))+"g")),a.lastIndex=0;c=a.exec(d);)var h=c.index;l=l.slice(0,h===i?u:h)}}else if(e.indexOf(oi(a),u)!=u){var f=l.lastIndexOf(a);f>-1&&(l=l.slice(0,f))}return l+r},Rn.unescape=function(e){return(e=ys(e))&&U.test(e)?e.replace(X,fn):e},Rn.uniqueId=function(e){var t=++Ae;return ys(e)+t},Rn.upperCase=Zs,Rn.upperFirst=Ks,Rn.each=yo,Rn.eachRight=mo,Rn.first=Ya,ou(Rn,(gu={},mr(Rn,(function(e,t){Oe.call(Rn.prototype,t)||(gu[t]=e)})),gu),{chain:!1}),Rn.VERSION="4.17.21",Ct(["bind","bindKey","curry","curryRight","partial","partialRight"],(function(e){Rn[e].placeholder=Rn})),Ct(["drop","take"],(function(e,t){qn.prototype[e]=function(n){n=n===i?1:gn(fs(n),0);var r=this.__filtered__&&!t?new qn(this):this.clone();return r.__filtered__?r.__takeCount__=yn(n,r.__takeCount__):r.__views__.push({size:yn(n,f),type:e+(r.__dir__<0?"Right":"")}),r},qn.prototype[e+"Right"]=function(t){return this.reverse()[e](t).reverse()}})),Ct(["filter","map","takeWhile"],(function(e,t){var n=t+1,r=1==n||3==n;qn.prototype[e]=function(e){var t=this.clone();return t.__iteratees__.push({iteratee:aa(e,3),type:n}),t.__filtered__=t.__filtered__||r,t}})),Ct(["head","last"],(function(e,t){var n="take"+(t?"Right":"");qn.prototype[e]=function(){return this[n](1).value()[0]}})),Ct(["initial","tail"],(function(e,t){var n="drop"+(t?"":"Right");qn.prototype[e]=function(){return this.__filtered__?new qn(this):this[n](1)}})),qn.prototype.compact=function(){return this.filter(nu)},qn.prototype.find=function(e){return this.filter(e).head()},qn.prototype.findLast=function(e){return this.reverse().find(e)},qn.prototype.invokeMap=Ur((function(e,t){return"function"==typeof e?new qn(this):this.map((function(n){return Tr(n,e,t)}))})),qn.prototype.reject=function(e){return this.filter(Ao(aa(e)))},qn.prototype.slice=function(e,t){e=fs(e);var n=this;return n.__filtered__&&(e>0||t<0)?new qn(n):(e<0?n=n.takeRight(-e):e&&(n=n.drop(e)),t!==i&&(n=(t=fs(t))<0?n.dropRight(-t):n.take(t-e)),n)},qn.prototype.takeRightWhile=function(e){return this.reverse().takeWhile(e).reverse()},qn.prototype.toArray=function(){return this.take(f)},mr(qn.prototype,(function(e,t){var n=/^(?:filter|find|map|reject)|While$/.test(t),r=/^(?:head|last)$/.test(t),a=Rn[r?"take"+("last"==t?"Right":""):t],o=r||/^find/.test(t);a&&(Rn.prototype[t]=function(){var t=this.__wrapped__,s=r?[1]:arguments,u=t instanceof qn,l=s[0],c=u||Wo(t),d=function(e){var t=a.apply(Rn,It([e],s));return r&&h?t[0]:t};c&&n&&"function"==typeof l&&1!=l.length&&(u=c=!1);var h=this.__chain__,f=!!this.__actions__.length,p=o&&!h,v=u&&!f;if(!o&&c){t=v?t:new qn(this);var g=e.apply(t,s);return g.__actions__.push({func:ho,args:[d],thisArg:i}),new Fn(g,h)}return p&&v?e.apply(this,s):(g=this.thru(d),p?r?g.value()[0]:g.value():g)})})),Ct(["pop","push","shift","sort","splice","unshift"],(function(e){var t=Te[e],n=/^(?:push|sort|unshift)$/.test(e)?"tap":"thru",r=/^(?:pop|shift)$/.test(e);Rn.prototype[e]=function(){var e=arguments;if(r&&!this.__chain__){var i=this.value();return t.apply(Wo(i)?i:[],e)}return this[n]((function(n){return t.apply(Wo(n)?n:[],e)}))}})),mr(qn.prototype,(function(e,t){var n=Rn[t];if(n){var r=n.name+"";Oe.call(Dn,r)||(Dn[r]=[]),Dn[r].push({name:t,func:n})}})),Dn[Li(i,2).name]=[{name:"wrapper",func:i}],qn.prototype.clone=function(){var e=new qn(this.__wrapped__);return e.__actions__=Si(this.__actions__),e.__dir__=this.__dir__,e.__filtered__=this.__filtered__,e.__iteratees__=Si(this.__iteratees__),e.__takeCount__=this.__takeCount__,e.__views__=Si(this.__views__),e},qn.prototype.reverse=function(){if(this.__filtered__){var e=new qn(this);e.__dir__=-1,e.__filtered__=!0}else(e=this.clone()).__dir__*=-1;return e},qn.prototype.value=function(){var e=this.__wrapped__.value(),t=this.__dir__,n=Wo(e),r=t<0,i=n?e.length:0,a=function(e,t,n){for(var r=-1,i=n.length;++r=this.__values__.length;return{done:e,value:e?i:this.__values__[this.__index__++]}},Rn.prototype.plant=function(e){for(var t,n=this;n instanceof Vn;){var r=La(n);r.__index__=0,r.__values__=i,t?a.__wrapped__=r:t=r;var a=r;n=n.__wrapped__}return a.__wrapped__=e,t},Rn.prototype.reverse=function(){var e=this.__wrapped__;if(e instanceof qn){var t=e;return this.__actions__.length&&(t=new qn(this)),(t=t.reverse()).__actions__.push({func:ho,args:[Qa],thisArg:i}),new Fn(t,this.__chain__)}return this.thru(Qa)},Rn.prototype.toJSON=Rn.prototype.valueOf=Rn.prototype.value=function(){return di(this.__wrapped__,this.__actions__)},Rn.prototype.first=Rn.prototype.head,Ke&&(Rn.prototype[Ke]=function(){return this}),Rn}();dt._=pn,(r=function(){return pn}.call(t,n,t,e))===i||(e.exports=r)}.call(this)},8306:(e,t,n)=>{var r=n(3369);function i(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new TypeError("Expected a function");var n=function(){var r=arguments,i=t?t.apply(this,r):r[0],a=n.cache;if(a.has(i))return a.get(i);var o=e.apply(this,r);return n.cache=a.set(i,o)||a,o};return n.cache=new(i.Cache||r),n}i.Cache=r,e.exports=i},7771:(e,t,n)=>{var r=n(5639);e.exports=function(){return r.Date.now()}},6968:(e,t,n)=>{var r=n(611);e.exports=function(e,t,n){return null==e?e:r(e,t,n)}},4841:(e,t,n)=>{var r=n(7561),i=n(3218),a=n(3448),o=/^[-+]0x[0-9a-f]+$/i,s=/^0b[01]+$/i,u=/^0o[0-7]+$/i,l=parseInt;e.exports=function(e){if("number"==typeof e)return e;if(a(e))return NaN;if(i(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=i(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=r(e);var n=s.test(e);return n||u.test(e)?l(e.slice(2),n?2:8):o.test(e)?NaN:+e}},84:(e,t,n)=>{var r=n(9932),i=n(278),a=n(1469),o=n(3448),s=n(5514),u=n(327),l=n(9833);e.exports=function(e){return a(e)?r(e,u):o(e)?[e]:i(s(l(e)))}},9833:(e,t,n)=>{var r=n(531);e.exports=function(e){return null==e?"":r(e)}},2703:(e,t,n)=>{"use strict";var r=n(414);function i(){}function a(){}a.resetWarningCache=i,e.exports=function(){function e(e,t,n,i,a,o){if(o!==r){var s=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw s.name="Invariant Violation",s}}function t(){return e}e.isRequired=e;var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:a,resetWarningCache:i};return n.PropTypes=n,n}},5697:(e,t,n)=>{e.exports=n(2703)()},414:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},3379:e=>{"use strict";var t=[];function n(e){for(var n=-1,r=0;r{"use strict";var t={};e.exports=function(e,n){var r=function(e){if(void 0===t[e]){var n=document.querySelector(e);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(e){n=null}t[e]=n}return t[e]}(e);if(!r)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");r.appendChild(n)}},9216:e=>{"use strict";e.exports=function(e){var t=document.createElement("style");return e.setAttributes(t,e.attributes),e.insert(t,e.options),t}},3565:(e,t,n)=>{"use strict";e.exports=function(e){var t=n.nc;t&&e.setAttribute("nonce",t)}},7795:e=>{"use strict";e.exports=function(e){if("undefined"==typeof document)return{update:function(){},remove:function(){}};var t=e.insertStyleElement(e);return{update:function(n){!function(e,t,n){var r="";n.supports&&(r+="@supports (".concat(n.supports,") {")),n.media&&(r+="@media ".concat(n.media," {"));var i=void 0!==n.layer;i&&(r+="@layer".concat(n.layer.length>0?" ".concat(n.layer):""," {")),r+=n.css,i&&(r+="}"),n.media&&(r+="}"),n.supports&&(r+="}");var a=n.sourceMap;a&&"undefined"!=typeof btoa&&(r+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(a))))," */")),t.styleTagTransform(r,e,t.options)}(t,e,n)},remove:function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(t)}}}},4589:e=>{"use strict";e.exports=function(e,t){if(t.styleSheet)t.styleSheet.cssText=e;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(e))}}}},t={};function n(r){var i=t[r];if(void 0!==i)return i.exports;var a=t[r]={id:r,loaded:!1,exports:{}};return e[r].call(a.exports,a,a.exports,n),a.loaded=!0,a.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),n.nc=void 0;var r={};(()=>{"use strict";n.r(r),n.d(r,{Cytoscape:()=>se});var e=n(3379),t=n.n(e),i=n(7795),a=n.n(i),o=n(569),s=n.n(o),u=n(3565),l=n.n(u),c=n(9216),d=n.n(c),h=n(4589),f=n.n(h),p=n(372),v={};v.styleTagTransform=f(),v.setAttributes=l(),v.insert=s().bind(null,"head"),v.domAPI=a(),v.insertStyleElement=d(),t()(p.Z,v),p.Z&&p.Z.locals&&p.Z.locals;const g=window.React;var y=n.n(g),m=n(5697),b=n.n(m),x=n(9058),w=n.n(x);const{string:_,array:E,object:k,number:C,bool:S,oneOfType:P,any:T,func:D}=b(),M={id:_,className:_,style:P([_,k]),elements:P([E,T]),stylesheet:P([E,T]),layout:P([k,T]),pan:P([k,T]),zoom:C,panningEnabled:S,userPanningEnabled:S,minZoom:C,maxZoom:C,zoomingEnabled:S,userZoomingEnabled:S,boxSelectionEnabled:S,autoungrabify:S,autolock:S,autounselectify:S,get:D,toJson:D,diff:D,forEach:D,cy:D,headless:S,styleEnabled:S,hideEdgesOnViewport:S,textureOnViewport:S,motionBlur:S,motionBlurOpacity:C,wheelSensitivity:C,pixelRatio:P([_,k])},B=(e,t)=>{if(((e,t)=>null==e||null==t)(e,t)&&(null!=e||null!=t))return!0;if(e===t)return!1;if("object"!=typeof e||"object"!=typeof t)return e!==t;const n=Object.keys(e),r=Object.keys(t),i=n=>e[n]!==t[n];return n.length!==r.length||!(!n.some(i)&&!r.some(i))},I=(e,t)=>null!=e?e[t]:null,O={diff:B,get:I,toJson:e=>e,forEach:(e,t)=>e.forEach(t),elements:[{data:{id:"a",label:"Example node A"}},{data:{id:"b",label:"Example node B"}},{data:{id:"e",source:"a",target:"b"}}],stylesheet:[{selector:"node",style:{label:"data(label)"}}],zoom:1,pan:{x:0,y:0}},A=(e,t,n,r)=>n(I(e,r),I(t,r)),z=(e,t,n,r,i,a)=>{const o=i(i(n,"data"),"id"),s=e.getElementById(o),u={};["data","position","selected","selectable","locked","grabbable","classes"].forEach((e=>{const o=i(n,e);a(o,i(t,e))&&(u[e]=r(o))}));const l=i(n,"scratch");a(l,i(t,"scratch"))&&s.scratch(r(l)),Object.keys(u).length>0&&s.json(u)};class N extends y().Component{static get propTypes(){return M}static get defaultProps(){return O}static normalizeElements(e){if(null!=e.length)return e;{let{nodes:t,edges:n}=e;return null==t&&(t=[]),null==n&&(n=[]),t.concat(n)}}constructor(e){super(e),this.displayName="CytoscapeComponent",this.containerRef=y().createRef()}componentDidMount(){const e=this.containerRef.current,{global:t,headless:n,styleEnabled:r,hideEdgesOnViewport:i,textureOnViewport:a,motionBlur:o,motionBlurOpacity:s,wheelSensitivity:u,pixelRatio:l}=this.props,c=this._cy=new(w())({container:e,headless:n,styleEnabled:r,hideEdgesOnViewport:i,textureOnViewport:a,motionBlur:o,motionBlurOpacity:s,wheelSensitivity:u,pixelRatio:l});t&&(window[t]=c),this.updateCytoscape(null,this.props)}updateCytoscape(e,t){const n=this._cy,{diff:r,toJson:i,get:a,forEach:o}=t;((e,t,n,r,i,a,o)=>{e.batch((()=>{(r===B||A(t,n,r,"elements"))&&((e,t,n,r,i,a,o)=>{const s=[],u=e.collection(),l=[],c={},d={},h=e=>i(i(e,"data"),"id");a(n,(e=>{const t=h(e);d[t]=e})),null!=t&&a(t,(t=>{const n=h(t);c[n]=t,(e=>null!=d[e])(n)||u.merge(e.getElementById(n))})),a(n,(e=>{const t=h(e),n=(e=>c[e])(t);(e=>null!=c[e])(t)?l.push({ele1:n,ele2:e}):s.push(r(e))})),u.length>0&&e.remove(u),s.length>0&&e.add(s),l.forEach((({ele1:t,ele2:n})=>z(e,t,n,r,i,o)))})(e,I(t,"elements"),I(n,"elements"),i,a,o,r),A(t,n,r,"stylesheet")&&((e,t,n,r)=>{const i=e.style();null!=i&&i.fromJson(r(n)).update()})(e,I(t,"stylesheet"),I(n,"stylesheet"),i),["zoom","minZoom","maxZoom","zoomingEnabled","userZoomingEnabled","pan","panningEnabled","userPanningEnabled","boxSelectionEnabled","autoungrabify","autolock","autounselectify"].forEach((a=>{A(t,n,r,a)&&((e,t,n,r,i)=>{e[t](i(r))})(e,a,I(t,a),I(n,a),i)}))})),A(t,n,r,"layout")&&((e,t,n,r)=>{const i=r(n);null!=i&&e.layout(i).run()})(e,I(t,"layout"),I(n,"layout"),i)})(n,e,t,r,i,a,o),null!=t.cy&&t.cy(n)}componentDidUpdate(e){this.updateCytoscape(e,this.props)}componentWillUnmount(){this._cy.destroy()}render(){const{id:e,className:t,style:n}=this.props;return y().createElement("div",{ref:this.containerRef,id:e,className:t,style:n})}}var L=n(6486),R=n.n(L);const j={randomUUID:"undefined"!=typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};let V;const F=new Uint8Array(16);function q(){if(!V&&(V="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!V))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return V(F)}const W=[];for(let e=0;e<256;++e)W.push((e+256).toString(16).slice(1));const Y=function(e,t,n){if(j.randomUUID&&!t&&!e)return j.randomUUID();const r=(e=e||{}).random||(e.rng||q)();if(r[6]=15&r[6]|64,r[8]=63&r[8]|128,t){n=n||0;for(let e=0;e<16;++e)t[n+e]=r[e];return t}return function(e,t=0){return W[e[t+0]]+W[e[t+1]]+W[e[t+2]]+W[e[t+3]]+"-"+W[e[t+4]]+W[e[t+5]]+"-"+W[e[t+6]]+W[e[t+7]]+"-"+W[e[t+8]]+W[e[t+9]]+"-"+W[e[t+10]]+W[e[t+11]]+W[e[t+12]]+W[e[t+13]]+W[e[t+14]]+W[e[t+15]]}(r)};function X(e){return X="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},X(e)}function H(e,t){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:!this.shouldResize,t=this.cy;e!==this.shouldResize&&(e?(t.on("render",this.updateViewport),t.on("resize",this.resize),this.updateViewport(t)):(t.removeListener("render",this.updateViewport),t.removeListener("resize",this.resize)),this.shouldResize=e)}},{key:"getViewport",value:function(){var e=this.cy;return{position:e.pan(),zoom:e.zoom(),renderedBB:Object.assign({},e.elements().renderedBoundingBox()),height:e.height(),width:e.width()}}},{key:"updateViewport",value:function(){var e=this.cy;this.prev=this.getViewport(e)}},{key:"_xConstrainedZoom",value:function(e){var t=this.curr,n=this.prev,r=this.marginPercentage.left*t.width;t.position.x=r+(n.position.x-n.renderedBB.x1);var i=t.renderedBB.y1+t.renderedBB.h/2-t.renderedBB.h/n.zoom*e/2;i+=(t.height-n.height)/2,t.position.y=i+(n.position.y-n.renderedBB.y1)}},{key:"_xChangeMargin",value:function(e){var t=this.curr,n=this.prev,r=n.renderedBB.x1+n.renderedBB.w/2,i=r/n.width*e;t.position.x=t.position.x+(i-r)}},{key:"_yConstrainedZoom",value:function(e){var t=this.curr,n=this.prev,r=this.marginPercentage.top*t.height;t.position.y=r+(n.position.y-n.renderedBB.y1);var i=t.renderedBB.x1+t.renderedBB.w/2-t.renderedBB.w/n.zoom*e/2;i+=(t.width-n.width)/2,t.position.x=i+(n.position.x-n.renderedBB.x1)}},{key:"_yChangeMargin",value:function(){var e=this.curr,t=this.prev,n=t.renderedBB.y1+t.renderedBB.h/2,r=n/t.height*e.height;e.position.y=e.position.y+(r-n)}},{key:"resize",value:function(){var e=this.cy;this.curr=this.getViewport(e);var t=this.curr,n=this.prev,r=n.renderedBB.x1>=0&&n.renderedBB.y1>=0&&n.renderedBB.x2<=n.width&&n.renderedBB.y2<=n.height;if(this.marginPercentage={left:n.renderedBB.x1/n.width,top:n.renderedBB.y1/n.height},Math.abs(1-t.width/n.width)>Math.abs(1-t.height/n.height)){var i=n.zoom/n.width*t.width;if(r)for(var a=Math.min((t.renderedBB.y1+t.renderedBB.h/2)*n.zoom*2/t.renderedBB.h,-(t.renderedBB.y1+t.renderedBB.h/2-n.height)*n.zoom*2/t.renderedBB.h)-this.containedZoomMargin,o=n.width/n.zoom*a,s=t.zoom=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return o=e.done,e},e:function(e){s=!0,a=e},f:function(){try{o||null==n.return||n.return()}finally{if(s)throw a}}}}function $(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);ne.maxZoom()||t0&&(r.selector=r.selector+", "),r.selector=r.selector+"edge"):"node"===l?(r.selector.length>0&&(r.selector=r.selector+", "),r.selector=r.selector+"node"):"canvas"===l?r.coreAsWell=!0:console.error("Error: selector ".concat(l," is not available. Choose one of 'node', 'edge' or 'canvas'."))}}catch(e){u.e(e)}finally{u.f()}}o.push(r)};for(s.s();!(i=s.n()).done;)u()}catch(e){s.e(e)}finally{s.f()}return o},this.cyResponsiveClass=new Z(e),this.cyResponsiveClass.toggle(this.props.responsive),s(e.extent())}}},{key:"handleImageGeneration",value:function(e,t,n,r){var i=this,a={};t&&(a=t);var o,s,u,l=a.output;switch(a.output="blob",n){case"store":default:o=!1,s=!0;break;case"download":o=!0,s=!1;break;case"both":o=!0,s=!0}if("png"===e&&(u=this._cy.png(a)),"jpg"!==e&&"jpeg"!==e||(u=this._cy.jpg(a)),"svg"===e&&(u=this._cy.svg(a)),u&&o){var c=r;if(r||(c="cyto"),"svg"!==e)this.downloadBlob(u,c+"."+e);else{var d=new Blob([u],{type:"image/svg+xml;charset=utf-8"});this.downloadBlob(d,c+"."+e)}}if(u&&s){if(l||(l="base64uri"),"base64uri"!==l&&"base64"!==l)return;var h=new FileReader;h.onload=function(){var e=h.result;"base64"===l&&(e=e.replace(/^data:.+;base64,/,"")),i.props.setProps({imageData:e})},h.readAsDataURL(u)}}},{key:"downloadBlob",value:function(e,t){var n=document.createElement("a");n.style="display: none",document.body.appendChild(n);var r=window.URL.createObjectURL(e);n.href=r,n.download=t,n.click(),window.URL.revokeObjectURL(r),document.body.removeChild(n)}},{key:"updateContextMenu",value:function(e){this._cy.contextMenus({menuItems:this.createMenuItems(e),menuItemClasses:["custom-menu-item"]})}},{key:"graphOutOfView",value:function(){var e=this._cy.width(),t=this._cy.height(),n=this._cy.elements().renderedBoundingbox();return n.x1>e||n.y1>t||n.x2<0||n.y2<0}},{key:"componentDidUpdate",value:function(e){var t=this.props,n=t.contextMenu,r=t.elements;!R().isEqual(e.contextMenu,n)&&this._cy&&this.updateContextMenu(n),!R().isEqual(e.elements,r)&&this._cy&&this.graphOutOfView()&&this._cy.fit()}},{key:"componentDidMount",value:function(){var e=this.props.contextMenu;this._cy&&e.length>0&&this.updateContextMenu(e)}},{key:"render",value:function(){var e=this.props,t=e.id,n=e.style,r=e.className,i=e.elements,a=e.stylesheet,o=e.layout,s=e.contextMenu,u=e.contextMenuData,l=e.pan,c=e.zoom,d=e.panningEnabled,h=e.userPanningEnabled,f=e.minZoom,p=e.maxZoom,v=e.zoomingEnabled,g=e.userZoomingEnabled,m=e.wheelSensitivity,b=e.boxSelectionEnabled,x=e.autoungrabify,w=e.autolock,_=e.autounselectify,E=e.generateImage,k=e.responsive;return Object.keys(E).length>0&&(this.props.setProps({generateImage:{}}),this._cy&&this.handleImageGeneration(E.type,E.options,E.action,E.filename)),this.cyResponsiveClass&&this.cyResponsiveClass.toggle(k),y().createElement(N,{id:t,cy:this.handleCy,className:r,style:n,elements:N.normalizeElements(i),stylesheet:a,layout:o,contextMenu:s,contextMenuData:u,pan:l,zoom:c,panningEnabled:d,userPanningEnabled:h,minZoom:f,maxZoom:p,zoomingEnabled:v,userZoomingEnabled:g,wheelSensitivity:m,boxSelectionEnabled:b,autoungrabify:x,autolock:w,autounselectify:_})}}],r&&Q(n.prototype,r),Object.defineProperty(n,"prototype",{writable:!1}),t}(g.Component);oe.propTypes={id:b().string,className:b().string,style:b().object,setProps:b().func,elements:b().oneOfType([b().arrayOf(b().shape({group:b().string,data:b().shape({id:b().string,label:b().string,parent:b().string,source:b().string,target:b().string}),position:b().shape({x:b().number,y:b().number}),selected:b().bool,selectable:b().bool,locked:b().bool,grabbable:b().bool,classes:b().string})),b().exact({nodes:b().array,edges:b().array})]),stylesheet:b().arrayOf(b().exact({selector:b().string.isRequired,style:b().object.isRequired})),layout:b().shape({name:b().oneOf(["random","preset","circle","concentric","grid","breadthfirst","cose","cose-bilkent","fcose","cola","euler","spread","dagre","klay"]).isRequired,fit:b().bool,padding:b().number,animate:b().bool,animationDuration:b().number,boundingBox:b().object}),contextMenu:b().arrayOf(b().exact({id:b().string.isRequired,label:b().string.isRequired,tooltipText:b().string,availableOn:b().array,onClick:b().string,onClickCustom:b().string})),contextMenuData:b().exact({menuItemId:b().string,x:b().number,y:b().number,timeStamp:b().number,elementId:b().string,edgeSource:b().string,edgeTarget:b().string}),pan:b().exact({x:b().number,y:b().number}),zoom:b().number,panningEnabled:b().bool,userPanningEnabled:b().bool,minZoom:b().number,maxZoom:b().number,zoomingEnabled:b().bool,userZoomingEnabled:b().bool,wheelSensitivity:b().number,boxSelectionEnabled:b().bool,autoungrabify:b().bool,autolock:b().bool,autounselectify:b().bool,autoRefreshLayout:b().bool,tapNode:b().exact({edgesData:b().array,renderedPosition:b().object,timeStamp:b().number,classes:b().string,data:b().object,grabbable:b().bool,group:b().string,locked:b().bool,position:b().object,selectable:b().bool,selected:b().bool,style:b().object,ancestorsData:b().oneOfType([b().object,b().array]),childrenData:b().oneOfType([b().object,b().array]),descendantsData:b().oneOfType([b().object,b().array]),parentData:b().oneOfType([b().object,b().array]),siblingsData:b().oneOfType([b().object,b().array]),isParent:b().bool,isChildless:b().bool,isChild:b().bool,isOrphan:b().bool,relativePosition:b().object}),tapNodeData:b().object,tapEdge:b().exact({isLoop:b().bool,isSimple:b().bool,midpoint:b().object,sourceData:b().object,sourceEndpoint:b().object,targetData:b().object,targetEndpoint:b().object,timeStamp:b().number,classes:b().string,data:b().object,grabbable:b().bool,group:b().string,locked:b().bool,selectable:b().bool,selected:b().bool,style:b().object}),tapEdgeData:b().object,mouseoverNodeData:b().object,mouseoverEdgeData:b().object,selectedNodeData:b().array,selectedEdgeData:b().array,generateImage:b().shape({type:b().oneOf(["svg","png","jpg","jpeg"]),options:b().object,action:b().oneOf(["store","download","both"]),filename:b().string}),imageData:b().string,responsive:b().bool,extent:b().object,clearOnUnhover:b().bool},oe.defaultProps={style:{width:"600px",height:"600px"},layout:{name:"grid"},pan:{x:0,y:0},zoom:1,minZoom:1e-50,maxZoom:1e50,zoomingEnabled:!0,userZoomingEnabled:!0,panningEnabled:!0,userPanningEnabled:!0,wheelSensitivity:1,boxSelectionEnabled:!1,autolock:!1,autoungrabify:!1,autounselectify:!1,autoRefreshLayout:!0,generateImage:{},imageData:null,responsive:!1,clearOnUnhover:!1,elements:[],contextMenu:[]};const se=oe})(),window.dash_cytoscape=r})(); \ No newline at end of file diff --git a/deps/dash_cytoscape_extra.dev.js b/deps/dash_cytoscape_extra.dev.js index e13ef6cc..92972691 100644 --- a/deps/dash_cytoscape_extra.dev.js +++ b/deps/dash_cytoscape_extra.dev.js @@ -26,7 +26,7 @@ eval("/*! (c) Andrea Giammarchi @webreflection ISC */\n(function () {\n 'use st /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _src_assets_contextmenu_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../src/assets/contextmenu.css */ \"./src/assets/contextmenu.css\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var react_cytoscapejs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-cytoscapejs */ \"./node_modules/react-cytoscapejs/dist/react-cytoscape.modern.js\");\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! lodash */ \"./node_modules/lodash/lodash.js\");\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var uuid__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! uuid */ \"./node_modules/uuid/dist/esm-browser/v4.js\");\n/* harmony import */ var _cyResponsive_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../cyResponsive.js */ \"./src/lib/cyResponsive.js\");\n/* harmony import */ var _ungap_custom_elements__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @ungap/custom-elements */ \"./node_modules/@ungap/custom-elements/index.js\");\n/* harmony import */ var _ungap_custom_elements__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_ungap_custom_elements__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _cyleaflet_clientside_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../cyleaflet_clientside.js */ \"./src/lib/cyleaflet_clientside.js\");\n/* harmony import */ var _cyleaflet_clientside_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_cyleaflet_clientside_js__WEBPACK_IMPORTED_MODULE_6__);\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : String(i); }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n/**\n * JavaScript Requirements: cytoscape, cytoscape-svg\n * React.js requirements: react-cytoscapejs\n */\n\n\n\n\n\n\n\n\n// Polyfill so that context menu extension works in Safari\n\nvar cytoscape = __webpack_require__(/*! cytoscape */ \"./node_modules/cytoscape/dist/cytoscape.cjs.js\");\nvar contextMenus = __webpack_require__(/*! cytoscape-context-menus */ \"./node_modules/cytoscape-context-menus/cytoscape-context-menus.js\");\n\n// Clientside callback functions for CyLeaflet AIO component\n\n\n// register extension\ncontextMenus(cytoscape);\n/**\n * A Component Library for Dash aimed at facilitating network visualization in\n * Python, wrapped around [Cytoscape.js](http://js.cytoscape.org/).\n */\nvar Cytoscape = /*#__PURE__*/function (_Component) {\n _inherits(Cytoscape, _Component);\n function Cytoscape(props) {\n var _this;\n _classCallCheck(this, Cytoscape);\n _this = _callSuper(this, Cytoscape, [props]);\n _this.handleCy = _this.handleCy.bind(_assertThisInitialized(_this));\n _this._handleCyCalled = false;\n _this.handleImageGeneration = _this.handleImageGeneration.bind(_assertThisInitialized(_this));\n _this.cyResponsiveClass = false;\n return _this;\n }\n _createClass(Cytoscape, [{\n key: \"generateNode\",\n value: function generateNode(event) {\n var ele = event.target;\n var isParent = ele.isParent(),\n isChildless = ele.isChildless(),\n isChild = ele.isChild(),\n isOrphan = ele.isOrphan(),\n renderedPosition = ele.renderedPosition(),\n relativePosition = ele.relativePosition(),\n parent = ele.parent(),\n style = ele.style();\n\n // Trim down the element objects to only the data contained\n var edgesData = ele.connectedEdges().map(function (ele) {\n return ele.data();\n });\n var childrenData = ele.children().map(function (ele) {\n return ele.data();\n });\n var ancestorsData = ele.ancestors().map(function (ele) {\n return ele.data();\n });\n var descendantsData = ele.descendants().map(function (ele) {\n return ele.data();\n });\n var siblingsData = ele.siblings().map(function (ele) {\n return ele.data();\n });\n var timeStamp = event.timeStamp;\n var _ele$json = ele.json(),\n classes = _ele$json.classes,\n data = _ele$json.data,\n grabbable = _ele$json.grabbable,\n group = _ele$json.group,\n locked = _ele$json.locked,\n position = _ele$json.position,\n selected = _ele$json.selected,\n selectable = _ele$json.selectable;\n var parentData;\n if (parent) {\n parentData = parent.data();\n } else {\n parentData = null;\n }\n var nodeObject = {\n // Nodes attributes\n edgesData: edgesData,\n renderedPosition: renderedPosition,\n timeStamp: timeStamp,\n // From ele.json()\n classes: classes,\n data: data,\n grabbable: grabbable,\n group: group,\n locked: locked,\n position: position,\n selectable: selectable,\n selected: selected,\n // Compound Nodes additional attributes\n ancestorsData: ancestorsData,\n childrenData: childrenData,\n descendantsData: descendantsData,\n parentData: parentData,\n siblingsData: siblingsData,\n isParent: isParent,\n isChildless: isChildless,\n isChild: isChild,\n isOrphan: isOrphan,\n relativePosition: relativePosition,\n // Styling\n style: style\n };\n return nodeObject;\n }\n }, {\n key: \"generateEdge\",\n value: function generateEdge(event) {\n var ele = event.target;\n var midpoint = ele.midpoint(),\n isLoop = ele.isLoop(),\n isSimple = ele.isSimple(),\n sourceData = ele.source().data(),\n sourceEndpoint = ele.sourceEndpoint(),\n style = ele.style(),\n targetData = ele.target().data(),\n targetEndpoint = ele.targetEndpoint();\n var timeStamp = event.timeStamp;\n var _ele$json2 = ele.json(),\n classes = _ele$json2.classes,\n data = _ele$json2.data,\n grabbable = _ele$json2.grabbable,\n group = _ele$json2.group,\n locked = _ele$json2.locked,\n selectable = _ele$json2.selectable,\n selected = _ele$json2.selected;\n var edgeObject = {\n // Edges attributes\n isLoop: isLoop,\n isSimple: isSimple,\n midpoint: midpoint,\n sourceData: sourceData,\n sourceEndpoint: sourceEndpoint,\n targetData: targetData,\n targetEndpoint: targetEndpoint,\n timeStamp: timeStamp,\n // From ele.json()\n classes: classes,\n data: data,\n grabbable: grabbable,\n group: group,\n locked: locked,\n selectable: selectable,\n selected: selected,\n // Styling\n style: style\n };\n return edgeObject;\n }\n }, {\n key: \"handleCy\",\n value: function handleCy(cy) {\n var _this2 = this;\n // If the cy pointer has not been modified, and handleCy has already\n // been called before, than we don't run this function.\n if (cy === this._cy && this._handleCyCalled) {\n return;\n }\n this._cy = cy;\n window.cy = cy;\n this._handleCyCalled = true;\n\n // ///////////////////////////////////// CONSTANTS /////////////////////////////////////////\n var SELECT_THRESHOLD = 100;\n var EXTENT_THRESHOLD = 5;\n var selectedNodes = cy.collection();\n var selectedEdges = cy.collection();\n\n // ///////////////////////////////////// FUNCTIONS /////////////////////////////////////////\n var refreshLayout = lodash__WEBPACK_IMPORTED_MODULE_3___default().debounce(function () {\n /**\n * Refresh Layout if needed\n */\n var _this2$props = _this2.props,\n autoRefreshLayout = _this2$props.autoRefreshLayout,\n layout = _this2$props.layout;\n if (autoRefreshLayout) {\n cy.layout(layout).run();\n }\n }, SELECT_THRESHOLD);\n var sendSelectedNodesData = lodash__WEBPACK_IMPORTED_MODULE_3___default().debounce(function () {\n /**\n This function is repetitively called every time a node is selected\n or unselected, but keeps being debounced if it is called again\n within 100 ms (given by SELECT_THRESHOLD). Effectively, it only\n runs when all the nodes have been correctly selected/unselected and\n added/removed from the selectedNodes collection, and then updates\n the selectedNodeData prop.\n */\n var nodeData = selectedNodes.map(function (el) {\n return el.data();\n });\n _this2.props.setProps({\n selectedNodeData: nodeData\n });\n }, SELECT_THRESHOLD);\n var sendSelectedEdgesData = lodash__WEBPACK_IMPORTED_MODULE_3___default().debounce(function () {\n var edgeData = selectedEdges.map(function (el) {\n return el.data();\n });\n _this2.props.setProps({\n selectedEdgeData: edgeData\n });\n }, SELECT_THRESHOLD);\n var setExtent = lodash__WEBPACK_IMPORTED_MODULE_3___default().debounce(function (cyExtent) {\n _this2.props.setProps({\n extent: cyExtent\n });\n }, EXTENT_THRESHOLD);\n\n // Store the original maxZoom and minZoom functions\n var originalMaxZoomFn = cy.maxZoom;\n var originalMinZoomFn = cy.minZoom;\n\n // Override the maxZoom function to trigger maxZoomChange custom event\n cy.maxZoom = function (e) {\n var currentMaxZoom = originalMaxZoomFn.call(cy, e);\n\n // Trigger your custom event if the current max zoom level is different from the \n // previously stored max zoom level\n if (currentMaxZoom !== cy._previousMaxZoom) {\n cy._previousMaxZoom = currentMaxZoom;\n cy.trigger('minMaxZoomChange');\n }\n return currentMaxZoom;\n };\n\n // Override the minZoom function to trigger minZoomChange custom event\n cy.minZoom = function (e) {\n var currentMinZoom = originalMinZoomFn.call(cy, e);\n\n // Trigger your custom event if the current min zoom level is different from the \n // previously stored min zoom level\n if (currentMinZoom !== cy._previousMinZoom) {\n cy._previousMinZoom = currentMinZoom;\n cy.trigger('minMaxZoomChange');\n }\n return currentMinZoom;\n };\n\n // /////////////////////////////////////// EVENTS //////////////////////////////////////////\n\n cy.on('tap', 'node', function (event) {\n var nodeObject = _this2.generateNode(event);\n _this2.props.setProps({\n tapNode: nodeObject,\n tapNodeData: Object.assign({}, nodeObject.data, {\n timeStamp: nodeObject.timeStamp\n })\n });\n });\n cy.on('tap', 'edge', function (event) {\n var edgeObject = _this2.generateEdge(event);\n _this2.props.setProps({\n tapEdge: edgeObject,\n tapEdgeData: Object.assign({}, edgeObject.data, {\n timeStamp: edgeObject.timeStamp\n })\n });\n });\n cy.on('mouseover', 'node', function (event) {\n _this2.props.setProps({\n mouseoverNodeData: Object.assign({}, event.target.data(), {\n timeStamp: event.timeStamp\n })\n });\n });\n cy.on('mouseover', 'edge', function (event) {\n _this2.props.setProps({\n mouseoverEdgeData: Object.assign({}, event.target.data(), {\n timeStamp: event.timeStamp\n })\n });\n });\n cy.on('mouseout', 'node', function (_) {\n if (_this2.props.clearOnUnhover === true) {\n _this2.props.setProps({\n mouseoverNodeData: null\n });\n }\n });\n cy.on('mouseout', 'edge', function (_) {\n if (_this2.props.clearOnUnhover === true) {\n _this2.props.setProps({\n mouseoverEdgeData: null\n });\n }\n });\n cy.on('select', 'node', function (event) {\n var ele = event.target;\n selectedNodes.merge(ele);\n sendSelectedNodesData();\n });\n cy.on('unselect remove', 'node', function (event) {\n var ele = event.target;\n selectedNodes.unmerge(ele);\n sendSelectedNodesData();\n });\n cy.on('select', 'edge', function (event) {\n var ele = event.target;\n selectedEdges.merge(ele);\n sendSelectedEdgesData();\n });\n cy.on('unselect remove', 'edge', function (event) {\n var ele = event.target;\n selectedEdges.unmerge(ele);\n sendSelectedEdgesData();\n });\n cy.on('add remove', function () {\n refreshLayout();\n });\n cy.on('dragfree add remove', function (_) {\n _this2.props.setProps({\n elements: cy.elements('').map(function (item) {\n if (item.json().group === 'nodes') {\n return {\n data: item.json().data,\n position: item.json().position\n };\n }\n return {\n data: item.json().data,\n position: void 0\n };\n })\n });\n });\n cy.on('viewport resize', function () {\n setExtent(cy.extent());\n });\n\n // Refresh layout if current zoom is out of boundaries\n cy.on('minMaxZoomChange', function () {\n var zoom = cy.zoom();\n if (zoom > cy.maxZoom() || zoom < cy.minZoom()) {\n cy.fit();\n }\n });\n this.createMenuItems = function (ctxMenu) {\n var updateContextMenuData = function updateContextMenuData(newContext) {\n _this2.props.setProps({\n contextMenuData: newContext\n });\n };\n var contextMenuDefaultFunctions = {\n remove: function remove(event) {\n var target = event.target || event.cyTarget;\n target.remove();\n },\n add_node: function add_node(event) {\n var pos = event.position || event.cyPosition;\n cy.add({\n data: {\n group: 'nodes'\n },\n position: {\n x: pos.x,\n y: pos.y\n }\n });\n },\n add_edge: function add_edge() {\n var selectedNodeIds = selectedNodes.map(function (node) {\n return node.id();\n });\n if (selectedNodes.length === 0) {\n console.error('Error: No nodes selected, cannot add edge');\n } else if (selectedNodes.length === 1) {\n cy.add({\n data: {\n id: (0,uuid__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(),\n group: 'edges',\n source: selectedNodeIds[0],\n target: selectedNodeIds[0]\n }\n });\n } else if (selectedNodes.length === 2) {\n cy.add({\n data: {\n id: (0,uuid__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(),\n group: 'edges',\n source: selectedNodeIds[0],\n target: selectedNodeIds[1]\n }\n });\n } else {\n console.error('Error: more than 2 nodes selected, cannot add edge');\n }\n }\n };\n var newMenuItems = [];\n var _iterator = _createForOfIteratorHelper(ctxMenu),\n _step;\n try {\n var _loop = function _loop() {\n var item = _step.value;\n var onClickFunction;\n // return data so a user can define a custom on click function in Python\n // if onClick or on onClickCustom are not specified\n onClickFunction = function onClickFunction(event) {\n updateContextMenuData({\n menuItemId: item.id,\n x: event.position.x,\n y: event.position.y,\n timeStamp: event.timeStamp,\n elementId: event.target.data().id,\n edgeSource: event.target.data().source,\n edgeTarget: event.target.data().target\n });\n };\n // use default javascript function as onClickFunction\n if (Object.prototype.hasOwnProperty.call(item, 'onClick')) {\n if (Object.prototype.hasOwnProperty.call(contextMenuDefaultFunctions, item.onClick)) {\n onClickFunction = contextMenuDefaultFunctions[item.onClick];\n } else {\n console.error(\"onClick function \".concat(item.onClick, \" is not defined\"));\n }\n }\n // use user-defined Javascript function in a namespace under assets/ as onClickFunction\n else if (Object.prototype.hasOwnProperty.call(item, 'onClickCustom')) {\n if (Object.prototype.hasOwnProperty.call(window, 'dashCytoscapeFunctions') && Object.prototype.hasOwnProperty.call(window.dashCytoscapeFunctions, item.onClickCustom)) {\n onClickFunction = window.dashCytoscapeFunctions[item.onClickCustom];\n } else {\n console.error(\"onClickCustom function \".concat(item.onClickCustom, \" is not defined\"));\n }\n }\n var new_item = {\n id: item.id,\n content: item.label,\n tooltipText: item.tooltipText,\n selector: '',\n onClickFunction: onClickFunction,\n coreAsWell: false\n };\n if (Object.prototype.hasOwnProperty.call(item, 'availableOn')) {\n var _iterator2 = _createForOfIteratorHelper(item.availableOn),\n _step2;\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var selector = _step2.value;\n if (selector === 'edge') {\n if (new_item.selector.length > 0) {\n new_item.selector = new_item.selector + ', ';\n }\n new_item.selector = new_item.selector + 'edge';\n } else if (selector === 'node') {\n if (new_item.selector.length > 0) {\n new_item.selector = new_item.selector + ', ';\n }\n new_item.selector = new_item.selector + 'node';\n } else if (selector === 'canvas') {\n new_item.coreAsWell = true;\n } else {\n console.error(\"Error: selector \".concat(selector, \" is not available. Choose one of 'node', 'edge' or 'canvas'.\"));\n }\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n }\n newMenuItems.push(new_item);\n };\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n _loop();\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n return newMenuItems;\n };\n this.cyResponsiveClass = new _cyResponsive_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"](cy);\n this.cyResponsiveClass.toggle(this.props.responsive);\n setExtent(cy.extent());\n }\n }, {\n key: \"handleImageGeneration\",\n value: function handleImageGeneration(imageType, imageOptions, actionsToPerform, fileName) {\n var _this3 = this;\n var options = {};\n if (imageOptions) {\n options = imageOptions;\n }\n var desiredOutput = options.output;\n options.output = 'blob';\n var downloadImage;\n var storeImage;\n switch (actionsToPerform) {\n case 'store':\n downloadImage = false;\n storeImage = true;\n break;\n case 'download':\n downloadImage = true;\n storeImage = false;\n break;\n case 'both':\n downloadImage = true;\n storeImage = true;\n break;\n default:\n downloadImage = false;\n storeImage = true;\n break;\n }\n var output;\n if (imageType === 'png') {\n output = this._cy.png(options);\n }\n if (imageType === 'jpg' || imageType === 'jpeg') {\n output = this._cy.jpg(options);\n }\n // only works when svg is imported (see lib/extra_index.js)\n if (imageType === 'svg') {\n output = this._cy.svg(options);\n }\n\n /*\n * If output is empty because of bad options or a cytoscape error,\n * skip any download or storage steps.\n */\n if (output && downloadImage) {\n /*\n * Downloading is initiated client-side because the image is generated at\n * the client. This avoids transferring a potentially large image\n * to the server and back again through a callback.\n */\n var fName = fileName;\n if (!fileName) {\n fName = 'cyto';\n }\n if (imageType !== 'svg') {\n this.downloadBlob(output, fName + '.' + imageType);\n } else {\n var blob = new Blob([output], {\n type: 'image/svg+xml;charset=utf-8'\n });\n this.downloadBlob(blob, fName + '.' + imageType);\n }\n }\n if (output && storeImage) {\n // Default output type if unspecified\n if (!desiredOutput) {\n desiredOutput = 'base64uri';\n }\n if (!(desiredOutput === 'base64uri' || desiredOutput === 'base64')) {\n return;\n }\n\n /*\n * Convert blob to base64uri or base64 string to store the image data.\n * Thank you, base64guru https://base64.guru/developers/javascript/examples/encode-blob\n */\n var reader = new FileReader();\n reader.onload = function () {\n /* FileReader is asynchronous, so the read function is non-blocking.\n * If this code block is placed after the read command, it\n * may result in empty output because the blob has not been loaded yet.\n */\n var callbackData = reader.result;\n if (desiredOutput === 'base64') {\n callbackData = callbackData.replace(/^data:.+;base64,/, '');\n }\n _this3.props.setProps({\n imageData: callbackData\n });\n };\n reader.readAsDataURL(output);\n }\n }\n }, {\n key: \"downloadBlob\",\n value: function downloadBlob(blob, fileName) {\n /*\n * Download blob as file by dynamically creating link.\n * Chrome does not open data URLs when JS opens a new tab directed\n * at the data URL, so this is an alternate implementation\n * that doesn't require extra packages. It may not behave in\n * exactly the same way across browsers (might display image in new tab\n * intead of downloading as a file).\n * Thank you, koldev https://jsfiddle.net/koldev/cW7W5/\n */\n var downloadLink = document.createElement('a');\n downloadLink.style = 'display: none';\n document.body.appendChild(downloadLink);\n var url = window.URL.createObjectURL(blob);\n downloadLink.href = url;\n downloadLink.download = fileName;\n downloadLink.click();\n window.URL.revokeObjectURL(url);\n document.body.removeChild(downloadLink);\n }\n }, {\n key: \"updateContextMenu\",\n value: function updateContextMenu(contextMenu) {\n this._cy.contextMenus({\n menuItems: this.createMenuItems(contextMenu),\n menuItemClasses: ['custom-menu-item']\n });\n }\n\n // Returns true if there is no overlap between the element bounding box\n // and the rendered area of the graph, meaning the graph is entirely outside the viewport;\n // returns false otherwise\n }, {\n key: \"graphOutOfView\",\n value: function graphOutOfView() {\n var cyWidth = this._cy.width();\n var cyHeight = this._cy.height();\n var elBox = this._cy.elements().renderedBoundingbox();\n return elBox.x1 > cyWidth || elBox.y1 > cyHeight || elBox.x2 < 0 || elBox.y2 < 0;\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n var _this$props = this.props,\n contextMenu = _this$props.contextMenu,\n elements = _this$props.elements;\n if (!lodash__WEBPACK_IMPORTED_MODULE_3___default().isEqual(prevProps.contextMenu, contextMenu) && this._cy) {\n this.updateContextMenu(contextMenu);\n }\n if (!lodash__WEBPACK_IMPORTED_MODULE_3___default().isEqual(prevProps.elements, elements) && this._cy) {\n // If elements were updated, and the new graph is *entirely* outside the viewport,\n // fit the viewport to the new elements\n if (this.graphOutOfView()) {\n this._cy.fit();\n }\n }\n }\n }, {\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var contextMenu = this.props.contextMenu;\n if (this._cy && contextMenu.length > 0) {\n this.updateContextMenu(contextMenu);\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props2 = this.props,\n id = _this$props2.id,\n style = _this$props2.style,\n className = _this$props2.className,\n elements = _this$props2.elements,\n stylesheet = _this$props2.stylesheet,\n layout = _this$props2.layout,\n contextMenu = _this$props2.contextMenu,\n contextMenuData = _this$props2.contextMenuData,\n pan = _this$props2.pan,\n zoom = _this$props2.zoom,\n panningEnabled = _this$props2.panningEnabled,\n userPanningEnabled = _this$props2.userPanningEnabled,\n minZoom = _this$props2.minZoom,\n maxZoom = _this$props2.maxZoom,\n zoomingEnabled = _this$props2.zoomingEnabled,\n userZoomingEnabled = _this$props2.userZoomingEnabled,\n wheelSensitivity = _this$props2.wheelSensitivity,\n boxSelectionEnabled = _this$props2.boxSelectionEnabled,\n autoungrabify = _this$props2.autoungrabify,\n autolock = _this$props2.autolock,\n autounselectify = _this$props2.autounselectify,\n generateImage = _this$props2.generateImage,\n responsive = _this$props2.responsive;\n if (Object.keys(generateImage).length > 0) {\n // If no cytoscape object has been created yet, an image cannot be generated,\n // so generateImage will be ignored and cleared.\n this.props.setProps({\n generateImage: {}\n });\n if (this._cy) {\n this.handleImageGeneration(generateImage.type, generateImage.options, generateImage.action, generateImage.filename);\n }\n }\n if (this.cyResponsiveClass) {\n this.cyResponsiveClass.toggle(responsive);\n }\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(react_cytoscapejs__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n id: id,\n cy: this.handleCy,\n className: className,\n style: style,\n elements: react_cytoscapejs__WEBPACK_IMPORTED_MODULE_2__[\"default\"].normalizeElements(elements),\n stylesheet: stylesheet,\n layout: layout,\n contextMenu: contextMenu,\n contextMenuData: contextMenuData,\n pan: pan,\n zoom: zoom,\n panningEnabled: panningEnabled,\n userPanningEnabled: userPanningEnabled,\n minZoom: minZoom,\n maxZoom: maxZoom,\n zoomingEnabled: zoomingEnabled,\n userZoomingEnabled: userZoomingEnabled,\n wheelSensitivity: wheelSensitivity,\n boxSelectionEnabled: boxSelectionEnabled,\n autoungrabify: autoungrabify,\n autolock: autolock,\n autounselectify: autounselectify\n });\n }\n }]);\n return Cytoscape;\n}(react__WEBPACK_IMPORTED_MODULE_1__.Component);\nCytoscape.propTypes = {\n // HTML attribute props\n\n /**\n * The ID used to identify this component in Dash callbacks.\n */\n id: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /**\n * Sets the class name of the element (the value of an element's html\n * class attribute).\n */\n className: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /**\n * Add inline styles to the root element.\n */\n style: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n // Dash specific props\n\n /**\n * Dash-assigned callback that should be called whenever any of the\n * properties change.\n */\n setProps: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().func),\n // Common props\n\n /**\n * A list of dictionaries representing the elements of the networks. Each dictionary describes an element, and\n * specifies its purpose. The [official Cytoscape.js documentation](https://js.cytoscape.org/#notation/elements-json)\n * offers an extensive overview and examples of element declaration.\n * Alternatively, a dictionary with the format { 'nodes': [], 'edges': [] } is allowed at initialization,\n * but arrays remain the recommended format.\n */\n elements: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_8___default().arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_8___default().shape({\n /**\n * Either 'nodes' or 'edges'. If not given, it's automatically inferred.\n */\n group: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** Element specific data.*/\n data: prop_types__WEBPACK_IMPORTED_MODULE_8___default().shape({\n /** Reference to the element, useful for selectors and edges. Randomly assigned if not given.*/\n id: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /**\n * Optional name for the element, useful when `data(label)` is given to a style's `content`\n * or `label`. It is only a convention. */\n label: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** Only for nodes. Optional reference to another node. Needed to create compound nodes. */\n parent: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** Only for edges. The id of the source node, which is where the edge starts. */\n source: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** Only for edges. The id of the target node, where the edge ends. */\n target: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string)\n }),\n /** Only for nodes. The position of the node. */\n position: prop_types__WEBPACK_IMPORTED_MODULE_8___default().shape({\n /** The x-coordinate of the node. */\n x: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /** The y-coordinate of the node. */\n y: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number)\n }),\n /** If the element is selected upon initialisation. */\n selected: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** If the element can be selected. */\n selectable: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Only for nodes. If the position is immutable. */\n locked: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Only for nodes. If the node can be grabbed and moved by the user. */\n grabbable: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * Space separated string of class names of the element. Those classes can be selected\n * by a style selector.\n */\n classes: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string)\n })), prop_types__WEBPACK_IMPORTED_MODULE_8___default().exact({\n nodes: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array),\n edges: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array)\n })]),\n /**\n * A list of dictionaries representing the styles of the elements.\n * Each dictionary requires the following keys: `selector` and `style`.\n *\n * Both the [selector](https://js.cytoscape.org/#selectors) and\n * the [style](https://js.cytoscape.org/#style/node-body) are\n * exhaustively documented in the Cytoscape.js docs. Although methods such\n * as `cy.elements(...)` and `cy.filter(...)` are not available, the selector\n * string syntax stays the same.\n */\n stylesheet: prop_types__WEBPACK_IMPORTED_MODULE_8___default().arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_8___default().exact({\n /**\n * Which elements you are styling. Generally, you select a group of elements (node, edges, both),\n * a class (that you declare in the element dictionary), or an element by ID.\n */\n selector: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string).isRequired,\n /**\n * What aspects of the elements you want to modify. This could be the size or\n * color of a node, the shape of an edge arrow, or many more.\n */\n style: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object).isRequired\n })),\n /**\n * A dictionary specifying how to set the position of the elements in your\n * graph. The `'name'` key is required, and indicates which layout (algorithm) to\n * use. The keys accepted by `layout` vary depending on the algorithm, but these\n * keys are accepted by all layouts: `fit`, `padding`, `animate`, `animationDuration`,\n * `boundingBox`.\n *\n * The complete list of layouts and their accepted options are available on the\n * [Cytoscape.js docs](https://js.cytoscape.org/#layouts) . For the external layouts,\n * the options are listed in the \"API\" section of the README.\n * Note that certain keys are not supported in Dash since the value is a JavaScript\n * function or a callback. Please visit this\n * [issue](https://github.com/plotly/dash-cytoscape/issues/25) for more information.\n */\n layout: prop_types__WEBPACK_IMPORTED_MODULE_8___default().shape({\n /**\n * The layouts available by default are:\n * `random`: Randomly assigns positions.\n * `preset`: Assigns position based on the `position` key in element dictionaries.\n * `circle`: Single-level circle, with optional radius.\n * `concentric`: Multi-level circle, with optional radius.\n * `grid`: Square grid, optionally with numbers of `rows` and `cols`.\n * `breadthfirst`: Tree structure built using BFS, with optional `roots`.\n * `cose`: Force-directed physics simulation.\n *\n * Some external layouts are also included. To use them, run\n * `dash_cytoscape.load_extra_layouts()` before creating your Dash app. Be careful about\n * using the extra layouts when not necessary, since they require supplementary bandwidth\n * for loading, which impacts the startup time of the app.\n * The external layouts are:\n * [cose-bilkent](https://github.com/cytoscape/cytoscape.js-cose-bilkent),\n * [fcose](https://github.com/iVis-at-Bilkent/cytoscape.js-fcose),\n * [cola](https://github.com/cytoscape/cytoscape.js-cola),\n * [euler](https://github.com/cytoscape/cytoscape.js-dagre),\n * [spread](https://github.com/cytoscape/cytoscape.js-spread),\n * [dagre](https://github.com/cytoscape/cytoscape.js-dagre),\n * [klay](https://github.com/cytoscape/cytoscape.js-klay),\n */\n name: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOf(['random', 'preset', 'circle', 'concentric', 'grid', 'breadthfirst', 'cose', 'cose-bilkent', 'fcose', 'cola', 'euler', 'spread', 'dagre', 'klay']).isRequired,\n /** Whether to render the nodes in order to fit the canvas. */\n fit: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Padding around the sides of the canvas, if fit is enabled. */\n padding: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /** Whether to animate change in position when the layout changes. */\n animate: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Duration of animation in milliseconds, if enabled. */\n animationDuration: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /**\n * How to constrain the layout in a specific area. Keys accepted are either\n * `x1, y1, x2, y2` or `x1, y1, w, h`, all of which receive a pixel value.\n */\n boundingBox: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object)\n }),\n /**\n * Define a custom context menu. The behaviour of each menu item can be defined in 1 of 3 ways.\n * 1. By passing a string to onClick that refers to one of the built-in Javascript functions.\n * 2. By passing a string to onClickCustom that refers to one of the user-defined functions in a namespace.\n * 3. By omitting both of these properties; this will update the contextMenuData property and trigger a Dash callback.\n */\n contextMenu: prop_types__WEBPACK_IMPORTED_MODULE_8___default().arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_8___default().exact({\n /** ID of the menu item in the context menu */\n id: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string).isRequired,\n /** The label on the context menu item*/\n label: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string).isRequired,\n /** The tooltip text when hovering on top of a context menu item */\n tooltipText: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** A list containing either 'node', 'edge',and/or 'canvas'. This will determine where the context\n * menu item will show up.\n */\n availableOn: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array),\n /** Specify which built-in JavaScript function to use as behaviour for the context\n * menu item. One of 'remove', 'add_node', or 'add_edge'\n */\n onClick: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** Specify which user-defined Javascript function to use in the dashCytoscapeFunctions\n * namespace as behaviour for the context menu item\n */\n onClickCustom: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string)\n })),\n /**\n * Retrieve relevant data when a context menu item is clicked. Read-only.\n */\n contextMenuData: prop_types__WEBPACK_IMPORTED_MODULE_8___default().exact({\n /** ID of the menu item in the context menu */\n menuItemId: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** x-position of the context click */\n x: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /** y-position of the context click */\n y: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /** Timestamp of context click*/\n timeStamp: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /** Element ID on context click if the context click was on an element.\n * If context click was on white space, this property is not returned\n */\n elementId: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** Node ID of the edge source if the clicked element is an edge,\n * or else this property is not returned*/\n edgeSource: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** Node ID of the edge target if the clicked element is an edge,\n * or else this property is not returned*/\n edgeTarget: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string)\n }),\n // Viewport Manipulation\n\n /**\n * Dictionary indicating the initial panning position of the graph. The\n * following keys are accepted:\n */\n pan: prop_types__WEBPACK_IMPORTED_MODULE_8___default().exact({\n /** The x-coordinate of the node */\n x: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /** The y-coordinate of the node */\n y: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number)\n }),\n /**\n * The initial zoom level of the graph. You can set `minZoom` and\n * `maxZoom` to set restrictions on the zoom level.\n */\n zoom: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n // Viewport Mutability and gesture Toggling\n /**\n * Whether panning the graph is enabled (i.e., the position of the graph is\n * mutable overall).\n */\n panningEnabled: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * Whether user events (e.g. dragging the graph background) are allowed to\n * pan the graph.\n */\n userPanningEnabled: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * A minimum bound on the zoom level of the graph. The viewport can not be\n * scaled smaller than this zoom level.\n */\n minZoom: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /**\n * A maximum bound on the zoom level of the graph. The viewport can not be\n * scaled larger than this zoom level.\n */\n maxZoom: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /**\n * Whether zooming the graph is enabled (i.e., the zoom level of the graph\n * is mutable overall).\n */\n zoomingEnabled: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * Whether user events (e.g. dragging the graph background) are allowed\n * to pan the graph.\n */\n userZoomingEnabled: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * Changes the scroll wheel sensitivity when zooming.\n */\n wheelSensitivity: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /**\n * Whether box selection (i.e. drag a box overlay around, and release it\n * to select) is enabled. If enabled, the user must taphold to pan the graph.\n */\n boxSelectionEnabled: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * Whether nodes should be ungrabified (not grabbable by user) by\n * default (if true, overrides individual node state).\n */\n autoungrabify: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * Whether nodes should be locked (not draggable at all) by default\n * (if true, overrides individual node state).\n */\n autolock: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * Whether nodes should be unselectified (immutable selection state) by\n * default (if true, overrides individual element state).\n */\n autounselectify: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * Whether the layout should be refreshed when elements are added or removed.\n */\n autoRefreshLayout: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n // User Events Props\n\n /**\n * The complete node dictionary returned when you tap or click it. Read-only.\n */\n tapNode: prop_types__WEBPACK_IMPORTED_MODULE_8___default().exact({\n /** node specific item */\n edgesData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array),\n /** node specific item */\n renderedPosition: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** node specific item */\n timeStamp: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /** General item (for all elements) */\n classes: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** General item (for all elements) */\n data: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** General item (for all elements) */\n grabbable: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** General item (for all elements) */\n group: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** General item (for all elements) */\n locked: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** General item (for all elements) */\n position: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** General item (for all elements) */\n selectable: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** General item (for all elements) */\n selected: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** General item (for all elements) */\n style: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** Item for compound nodes */\n ancestorsData: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_8___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array)]),\n /** Item for compound nodes */\n childrenData: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_8___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array)]),\n /** Item for compound nodes */\n descendantsData: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_8___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array)]),\n /** Item for compound nodes */\n parentData: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_8___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array)]),\n /** Item for compound nodes */\n siblingsData: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_8___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array)]),\n /** Item for compound nodes */\n isParent: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Item for compound nodes */\n isChildless: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Item for compound nodes */\n isChild: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Item for compound nodes */\n isOrphan: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Item for compound nodes */\n relativePosition: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object)\n }),\n /**\n * The data dictionary of a node returned when you tap or click it. Read-only.\n */\n tapNodeData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /**\n * The complete edge dictionary returned when you tap or click it. Read-only.\n */\n tapEdge: prop_types__WEBPACK_IMPORTED_MODULE_8___default().exact({\n /** Edge-specific item */\n isLoop: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Edge-specific item */\n isSimple: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Edge-specific item */\n midpoint: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** Edge-specific item */\n sourceData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** Edge-specific item */\n sourceEndpoint: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** Edge-specific item */\n targetData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** Edge-specific item */\n targetEndpoint: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** Edge-specific item */\n timeStamp: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /** General item (for all elements) */\n classes: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** General item (for all elements) */\n data: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** General item (for all elements) */\n grabbable: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** General item (for all elements) */\n group: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** General item (for all elements) */\n locked: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** General item (for all elements) */\n selectable: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** General item (for all elements) */\n selected: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** General item (for all elements) */\n style: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object)\n }),\n /**\n * The data dictionary of an edge returned when you tap or click it. Read-only.\n */\n tapEdgeData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /**\n * The data dictionary of a node returned when you hover over it. Read-only.\n */\n mouseoverNodeData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /**\n * The data dictionary of an edge returned when you hover over it. Read-only.\n */\n mouseoverEdgeData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /**\n * The list of data dictionaries of all selected nodes (e.g. using\n * Shift+Click to select multiple nodes, or Shift+Drag to use box selection). Read-only.\n */\n selectedNodeData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array),\n /**\n * The list of data dictionaries of all selected edges (e.g. using\n * Shift+Click to select multiple nodes, or Shift+Drag to use box selection). Read-only.\n */\n selectedEdgeData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array),\n /**\n * Dictionary specifying options to generate an image of the current cytoscape graph.\n * Value is cleared after data is received and image is generated. This property will\n * be ignored on the initial creation of the cytoscape object and must be invoked through\n * a callback after it has been rendered.\n *\n * If the app does not need the image data server side and/or it will only be used to download\n * the image, it may be prudent to invoke `'download'` for `action` instead of\n * `'store'` to improve performance by preventing transfer of data to the server.\n */\n generateImage: prop_types__WEBPACK_IMPORTED_MODULE_8___default().shape({\n /** File type to output */\n type: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOf(['svg', 'png', 'jpg', 'jpeg']),\n /** Dictionary of options to cy.png() / cy.jpg() or cy.svg() for image generation.\n * See https://js.cytoscape.org/#core/export for details. For `'output'`, only 'base64'\n * and 'base64uri' are supported. Default: `{'output': 'base64uri'}`.*/\n options: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /**\n * `'store'`: Stores the image data (only jpg and png are supported)\n * in `imageData` and invokes server-side Dash callbacks. `'download'`: Downloads the image\n * as a file with all data handling done client-side. No `imageData` callbacks are fired.\n * `'both'`: Stores image data and downloads image as file. The default is `'store'`\n */\n action: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOf(['store', 'download', 'both']),\n /** Name for the file to be downloaded. Default: 'cyto'.*/\n filename: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string)\n }),\n /**\n * String representation of the image requested with generateImage. Null if no\n * image was requested yet or the previous request failed. Read-only.\n */\n imageData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /**\n * Toggles intelligent responsive resize of Cytoscape graph with viewport size change\n */\n responsive: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * Extent of the viewport, a bounding box in model co-ordinates that lets you know what model\n * positions are visible in the viewport. This function returns a plain object bounding box\n * with format { x1, y1, x2, y2, w, h }.\n */\n extent: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /**\n * If set to True, mouseoverNodeData and mouseoverEdgeData will be cleared on unhover.\n * If set to False, the value of mouseoverNodeData and mouseoverEdgeData will be the last\n * Node or Edge hovered over\n */\n clearOnUnhover: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool)\n};\nCytoscape.defaultProps = {\n style: {\n width: '600px',\n height: '600px'\n },\n layout: {\n name: 'grid'\n },\n pan: {\n x: 0,\n y: 0\n },\n zoom: 1,\n minZoom: 1e-50,\n maxZoom: 1e50,\n zoomingEnabled: true,\n userZoomingEnabled: true,\n panningEnabled: true,\n userPanningEnabled: true,\n wheelSensitivity: 1,\n boxSelectionEnabled: false,\n autolock: false,\n autoungrabify: false,\n autounselectify: false,\n autoRefreshLayout: true,\n generateImage: {},\n imageData: null,\n responsive: false,\n clearOnUnhover: false,\n elements: [],\n contextMenu: []\n};\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Cytoscape);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvbGliL2NvbXBvbmVudHMvQ3l0b3NjYXBlLnJlYWN0LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNxQztBQUNFO0FBQ0o7QUFDZ0I7QUFDNUI7QUFDVztBQUNZOztBQUU5QztBQUNnQztBQUVoQyxJQUFNUSxTQUFTLEdBQUdDLG1CQUFPLENBQUMsaUVBQVcsQ0FBQztBQUN0QyxJQUFNQyxZQUFZLEdBQUdELG1CQUFPLENBQUMsa0dBQXlCLENBQUM7O0FBRXZEO0FBQ29DOztBQUVwQztBQUNBQyxZQUFZLENBQUNGLFNBQVMsQ0FBQztBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUhBLElBSU1HLFNBQVMsMEJBQUFDLFVBQUE7RUFBQUMsU0FBQSxDQUFBRixTQUFBLEVBQUFDLFVBQUE7RUFDWCxTQUFBRCxVQUFZRyxLQUFLLEVBQUU7SUFBQSxJQUFBQyxLQUFBO0lBQUFDLGVBQUEsT0FBQUwsU0FBQTtJQUNmSSxLQUFBLEdBQUFFLFVBQUEsT0FBQU4sU0FBQSxHQUFNRyxLQUFLO0lBRVhDLEtBQUEsQ0FBS0csUUFBUSxHQUFHSCxLQUFBLENBQUtHLFFBQVEsQ0FBQ0MsSUFBSSxDQUFBQyxzQkFBQSxDQUFBTCxLQUFBLENBQUssQ0FBQztJQUN4Q0EsS0FBQSxDQUFLTSxlQUFlLEdBQUcsS0FBSztJQUM1Qk4sS0FBQSxDQUFLTyxxQkFBcUIsR0FBR1AsS0FBQSxDQUFLTyxxQkFBcUIsQ0FBQ0gsSUFBSSxDQUFBQyxzQkFBQSxDQUFBTCxLQUFBLENBQUssQ0FBQztJQUNsRUEsS0FBQSxDQUFLUSxpQkFBaUIsR0FBRyxLQUFLO0lBQUMsT0FBQVIsS0FBQTtFQUNuQztFQUFDUyxZQUFBLENBQUFiLFNBQUE7SUFBQWMsR0FBQTtJQUFBQyxLQUFBLEVBRUQsU0FBQUMsYUFBYUMsS0FBSyxFQUFFO01BQ2hCLElBQU1DLEdBQUcsR0FBR0QsS0FBSyxDQUFDRSxNQUFNO01BRXhCLElBQU1D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S0FBSztFQUNmRCxhQUFhLEVBQUUsS0FBSztFQUNwQkUsZUFBZSxFQUFFLEtBQUs7RUFDdEJ2SyxpQkFBaUIsRUFBRSxJQUFJO0VBQ3ZCd0ssYUFBYSxFQUFFLENBQUMsQ0FBQztFQUNqQmpELFNBQVMsRUFBRSxJQUFJO0VBQ2Z6QixVQUFVLEVBQUUsS0FBSztFQUNqQjVELGNBQWMsRUFBRSxLQUFLO0VBQ3JCRyxRQUFRLEVBQUUsRUFBRTtFQUNaa0csV0FBVyxFQUFFO0FBQ2pCLENBQUM7QUFFRCxpRUFBZWxOLFNBQVMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX2N5dG9zY2FwZS8uL3NyYy9saWIvY29tcG9uZW50cy9DeXRvc2NhcGUucmVhY3QuanM/NjQyYyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEphdmFTY3JpcHQgUmVxdWlyZW1lbnRzOiBjeXRvc2NhcGUsIGN5dG9zY2FwZS1zdmdcbiAqIFJlYWN0LmpzIHJlcXVpcmVtZW50czogcmVhY3QtY3l0b3NjYXBlanNcbiAqL1xuaW1wb3J0ICcvc3JjL2Fzc2V0cy9jb250ZXh0bWVudS5jc3MnO1xuaW1wb3J0IFJlYWN0LCB7Q29tcG9uZW50fSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IEN5dG9zY2FwZUNvbXBvbmVudCBmcm9tICdyZWFjdC1jeXRvc2NhcGVqcyc7XG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHt2NCBhcyB1dWlkdjR9IGZyb20gJ3V1aWQnO1xuaW1wb3J0IEN5UmVzcG9uc2l2ZSBmcm9tICcuLi9jeVJlc3BvbnNpdmUuanMnO1xuXG4vLyBQb2x5ZmlsbCBzbyB0aGF0IGNvbnRleHQgbWVudSBleHRlbnNpb24gd29ya3MgaW4gU2FmYXJpXG5pbXBvcnQgJ0B1bmdhcC9jdXN0b20tZWxlbWVudHMnO1xuXG5jb25zdCBjeXRvc2NhcGUgPSByZXF1aXJlKCdjeXRvc2NhcGUnKTtcbmNvbnN0IGNvbnRleHRNZW51cyA9IHJlcXVpcmUoJ2N5dG9zY2FwZS1jb250ZXh0LW1lbnVzJyk7XG5cbi8vIENsaWVudHNpZGUgY2FsbGJhY2sgZnVuY3Rpb25zIGZvciBDeUxlYWZsZXQgQUlPIGNvbXBvbmVudFxuaW1wb3J0ICcuLi9jeWxlYWZsZXRfY2xpZW50c2lkZS5qcyc7XG5cbi8vIHJlZ2lzdGVyIGV4dGVuc2lvblxuY29udGV4dE1lbnVzKGN5dG9zY2FwZSk7XG4vKipcbiAqIEEgQ29tcG9uZW50IExpYnJhcnkgZm9yIERhc2ggYWltZWQgYXQgZmFjaWxpdGF0aW5nIG5ldHdvcmsgdmlzdWFsaXphdGlvbiBpblxuICogUHl0aG9uLCB3cmFwcGVkIGFyb3VuZCBbQ3l0b3NjYXBlLmpzXShodHRwOi8vanMuY3l0b3NjYXBlLm9yZy8pLlxuICovXG5jbGFzcyBDeXRvc2NhcGUgZXh0ZW5kcyBDb21wb25lbnQge1xuICAgIGNvbnN0cnVjdG9yKHByb3BzKSB7XG4gICAgICAgIHN1cGVyKHByb3BzKTtcblxuICAgICAgICB0aGlzLmhhbmRsZUN5ID0gdGhpcy5oYW5kbGVDeS5iaW5kKHRoaXMpO1xuICAgICAgICB0aGlzLl9oYW5kbGVDeUNhbGxlZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLmhhbmRsZUltYWdlR2VuZXJhdGlvbiA9IHRoaXMuaGFuZGxlSW1hZ2VHZW5lcmF0aW9uLmJpbmQodGhpcyk7XG4gICAgICAgIHRoaXMuY3lSZXNwb25zaXZlQ2xhc3MgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBnZW5lcmF0ZU5vZGUoZXZlbnQpIHtcbiAgICAgICAgY29uc3QgZWxlID0gZXZlbnQudGFyZ2V0O1xuXG4gICAgICAgIGNvbnN0IGlzUGFyZW50ID0gZWxlLmlzUGFyZW50KCksXG4gICAgICAgICAgICBpc0NoaWxkbGVzcyA9IGVsZS5pc0NoaWxkbGVzcygpLFxuICAgICAgICAgICAgaXNDaGlsZCA9IGVsZS5pc0NoaWxkKCksXG4gICAgICAgICAgICBpc09ycGhhbiA9IGVsZS5pc09ycGhhbigpLFxuICAgICAgICAgICAgcmVuZGVyZWRQb3NpdGlvbiA9IGVsZS5yZW5kZXJlZFBvc2l0aW9uKCksXG4gICAgICAgICAgICByZWxhdGl2ZVBvc2l0aW9uID0gZWxlLnJlbGF0aXZlUG9zaXRpb24oKSxcbiAgICAgICAgICAgIHBhcmVudCA9IGVsZS5wYXJlbnQoKSxcbiAgICAgICAgICAgIHN0eWxlID0gZWxlLnN0eWxlKCk7XG5cbiAgICAgICAgLy8gVHJpbSBkb3duIHRoZSBlbGVtZW50IG9iamVjdHMgdG8gb25seSB0aGUgZGF0YSBjb250YWluZWRcbiAgICAgICAgY29uc3QgZWRnZXNEYXRhID0gZWxlLmNvbm5lY3RlZEVkZ2VzKCkubWFwKChlbGUpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBlbGUuZGF0YSgpO1xuICAgICAgICB9KTtcbiAgICAgICAgY29uc3QgY2hpbGRyZW5EYXRhID0gZWxlLmNoaWxkcmVuKCkubWFwKChlbGUpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBlbGUuZGF0YSgpO1xuICAgICAgICB9KTtcbiAgICAgICAgY29uc3QgYW5jZXN0b3JzRGF0YSA9IGVsZS5hbmNlc3RvcnMoKS5tYXAoKGVsZSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGVsZS5kYXRhKCk7XG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBkZXNjZW5kYW50c0RhdGEgPSBlbGUuZGVzY2VuZGFudHMoKS5tYXAoKGVsZSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGVsZS5kYXRhKCk7XG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBzaWJsaW5nc0RhdGEgPSBlbGUuc2libGluZ3MoKS5tYXAoKGVsZSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGVsZS5kYXRhKCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IHt0aW1lU3RhbXB9ID0gZXZlbnQ7XG4gICAgICAgIGNvbnN0IHtcbiAgICAgICAgICAgIGNsYXNzZXMsXG4gICAgICAgICAgICBkYXRhLFxuICAgICAgICAgICAgZ3JhYmJhYmxlLFxuICAgICAgICAgICAgZ3JvdXAsXG4gICAgICAgICAgICBsb2NrZWQsXG4gICAgICAgICAgICBwb3NpdGlvbixcbiAgICAgICAgICAgIHNlbGVjdGVkLFxuICAgICAgICAgICAgc2VsZWN0YWJsZSxcbiAgICAgICAgfSA9IGVsZS5qc29uKCk7XG5cbiAgICAgICAgbGV0IHBhcmVudERhdGE7XG4gICAgICAgIGlmIChwYXJlbnQpIHtcbiAgICAgICAgICAgIHBhcmVudERhdGEgPSBwYXJlbnQuZGF0YSgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcGFyZW50RGF0YSA9IG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBub2RlT2JqZWN0ID0ge1xuICAgICAgICAgICAgLy8gTm9kZXMgYXR0cmlidXRlc1xuICAgICAgICAgICAgZWRnZXNEYXRhLFxuICAgICAgICAgICAgcmVuZGVyZWRQb3NpdGlvbixcbiAgICAgICAgICAgIHRpbWVTdGFtcCxcbiAgICAgICAgICAgIC8vIEZyb20gZWxlLmpzb24oKVxuICAgICAgICAgICAgY2xhc3NlcyxcbiAgICAgICAgICAgIGRhdGEsXG4gICAgICAgICAgICBncmFiYmFibGUsXG4gICAgICAgICAgICBncm91cCxcbiAgICAgICAgICAgIGxvY2tlZCxcbiAgICAgICAgICAgIHBvc2l0aW9uLFxuICAgICAgICAgICAgc2VsZWN0YWJsZSxcbiAgICAgICAgICAgIHNlbGVjdGVkLFxuICAgICAgICAgICAgLy8gQ29tcG91bmQgTm9kZXMgYWRkaXRpb25hbCBhdHRyaWJ1dGVzXG4gICAgICAgICAgICBhbmNlc3RvcnNEYXRhLFxuICAgICAgICAgICAgY2hpbGRyZW5EYXRhLFxuICAgICAgICAgICAgZGVzY2VuZGFudHNEYXRhLFxuICAgICAgICAgICAgcGFyZW50RGF0YSxcbiAgICAgICAgICAgIHNpYmxpbmdzRGF0YSxcbiAgICAgICAgICAgIGlzUGFyZW50LFxuICAgICAgICAgICAgaXNDaGlsZGxlc3MsXG4gICAgICAgICAgICBpc0NoaWxkLFxuICAgICAgICAgICAgaXNPcnBoYW4sXG4gICAgICAgICAgICByZWxhdGl2ZVBvc2l0aW9uLFxuICAgICAgICAgICAgLy8gU3R5bGluZ1xuICAgICAgICAgICAgc3R5bGUsXG4gICAgICAgIH07XG4gICAgICAgIHJldHVybiBub2RlT2JqZWN0O1xuICAgIH1cblxuICAgIGdlbmVyYXRlRWRnZShldmVudCkge1xuICAgICAgICBjb25zdCBlbGUgPSBldmVudC50YXJnZXQ7XG5cbiAgICAgICAgY29uc3QgbWlkcG9pbnQgPSBlbGUubWlkcG9pbnQoKSxcbiAgICAgICAgICAgIGlzTG9vcCA9IGVsZS5pc0xvb3AoKSxcbiAgICAgICAgICAgIGlzU2ltcGxlID0gZWxlLmlzU2ltcGxlKCksXG4gICAgICAgICAgICBzb3VyY2VEYXRhID0gZWxlLnNvdXJjZSgpLmRhdGEoKSxcbiAgICAgICAgICAgIHNvdXJjZUVuZHBvaW50ID0gZWxlLnNvdXJjZUVuZHBvaW50KCksXG4gICAgICAgICAgICBzdHlsZSA9IGVsZS5zdHlsZSgpLFxuICAgICAgICAgICAgdGFyZ2V0RGF0YSA9IGVsZS50YXJnZXQoKS5kYXRhKCksXG4gICAgICAgICAgICB0YXJnZXRFbmRwb2ludCA9IGVsZS50YXJnZXRFbmRwb2ludCgpO1xuXG4gICAgICAgIGNvbnN0IHt0aW1lU3RhbXB9ID0gZXZlbnQ7XG4gICAgICAgIGNvbnN0IHtjbGFzc2VzLCBkYXRhLCBncmFiYmFibGUsIGdyb3VwLCBsb2NrZWQsIHNlbGVjdGFibGUsIHNlbGVjdGVkfSA9XG4gICAgICAgICAgICBlbGUuanNvbigpO1xuXG4gICAgICAgIGNvbnN0IGVkZ2VPYmplY3QgPSB7XG4gICAgICAgICAgICAvLyBFZGdlcyBhdHRyaWJ1dGVzXG4gICAgICAgICAgICBpc0xvb3AsXG4gICAgICAgICAgICBpc1NpbXBsZSxcbiAgICAgICAgICAgIG1pZHBvaW50LFxuICAgICAgICAgICAgc291cmNlRGF0YSxcbiAgICAgICAgICAgIHNvdXJjZUVuZHBvaW50LFxuICAgICAgICAgICAgdGFyZ2V0RGF0YSxcbiAgICAgICAgICAgIHRhcmdldEVuZHBvaW50LFxuICAgICAgICAgICAgdGltZVN0YW1wLFxuICAgICAgICAgICAgLy8gRnJvbSBlbGUuanNvbigpXG4gICAgICAgICAgICBjbGFzc2VzLFxuICAgICAgICAgICAgZGF0YSxcbiAgICAgICAgICAgIGdyYWJiYWJsZSxcbiAgICAgICAgICAgIGdyb3VwLFxuICAgICAgICAgICAgbG9ja2VkLFxuICAgICAgICAgICAgc2VsZWN0YWJsZSxcbiAgICAgICAgICAgIHNlbGVjdGVkLFxuICAgICAgICAgICAgLy8gU3R5bGluZ1xuICAgICAgICAgICAgc3R5bGUsXG4gICAgICAgIH07XG5cbiAgICAgICAgcmV0dXJuIGVkZ2VPYmplY3Q7XG4gICAgfVxuXG4gICAgaGFuZGxlQ3koY3kpIHtcbiAgICAgICAgLy8gSWYgdGhlIGN5IHBvaW50ZXIgaGFzIG5vdCBiZWVuIG1vZGlmaWVkLCBhbmQgaGFuZGxlQ3kgaGFzIGFscmVhZHlcbiAgICAgICAgLy8gYmVlbiBjYWxsZWQgYmVmb3JlLCB0aGFuIHdlIGRvbid0IHJ1biB0aGlzIGZ1bmN0aW9uLlxuICAgICAgICBpZiAoY3kgPT09IHRoaXMuX2N5ICYmIHRoaXMuX2hhbmRsZUN5Q2FsbGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fY3kgPSBjeTtcbiAgICAgICAgd2luZG93LmN5ID0gY3k7XG4gICAgICAgIHRoaXMuX2hhbmRsZUN5Q2FsbGVkID0gdHJ1ZTtcblxuICAgICAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vIENPTlNUQU5UUyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgICAgICBjb25zdCBTRUxFQ1RfVEhSRVNIT0xEID0gMTAwO1xuICAgICAgICBjb25zdCBFWFRFTlRfVEhSRVNIT0xEID0gNTtcblxuICAgICAgICBjb25zdCBzZWxlY3RlZE5vZGVzID0gY3kuY29sbGVjdGlvbigpO1xuICAgICAgICBjb25zdCBzZWxlY3RlZEVkZ2VzID0gY3kuY29sbGVjdGlvbigpO1xuXG4gICAgICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gRlVOQ1RJT05TIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgICAgIGNvbnN0IHJlZnJlc2hMYXlvdXQgPSBfLmRlYm91bmNlKCgpID0+IHtcbiAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICogUmVmcmVzaCBMYXlvdXQgaWYgbmVlZGVkXG4gICAgICAgICAgICAgKi9cbiAgICAgICAgICAgIGNvbnN0IHthdXRvUmVmcmVzaExheW91dCwgbGF5b3V0fSA9IHRoaXMucHJvcHM7XG5cbiAgICAgICAgICAgIGlmIChhdXRvUmVmcmVzaExheW91dCkge1xuICAgICAgICAgICAgICAgIGN5LmxheW91dChsYXlvdXQpLnJ1bigpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LCBTRUxFQ1RfVEhSRVNIT0xEKTtcblxuICAgICAgICBjb25zdCBzZW5kU2VsZWN0ZWROb2Rlc0RhdGEgPSBfLmRlYm91bmNlKCgpID0+IHtcbiAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICAgVGhpcyBmdW5jdGlvbiBpcyByZXBldGl0aXZlbHkgY2FsbGVkIGV2ZXJ5IHRpbWUgYSBub2RlIGlzIHNlbGVjdGVkXG4gICAgICAgICAgICAgICBvciB1bnNlbGVjdGVkLCBidXQga2VlcHMgYmVpbmcgZGVib3VuY2VkIGlmIGl0IGlzIGNhbGxlZCBhZ2FpblxuICAgICAgICAgICAgICAgd2l0aGluIDEwMCBtcyAoZ2l2ZW4gYnkgU0VMRUNUX1RIUkVTSE9MRCkuIEVmZmVjdGl2ZWx5LCBpdCBvbmx5XG4gICAgICAgICAgICAgICBydW5zIHdoZW4gYWxsIHRoZSBub2RlcyBoYXZlIGJlZW4gY29ycmVjdGx5IHNlbGVjdGVkL3Vuc2VsZWN0ZWQgYW5kXG4gICAgICAgICAgICAgICBhZGRlZC9yZW1vdmVkIGZyb20gdGhlIHNlbGVjdGVkTm9kZXMgY29sbGVjdGlvbiwgYW5kIHRoZW4gdXBkYXRlc1xuICAgICAgICAgICAgICAgdGhlIHNlbGVjdGVkTm9kZURhdGEgcHJvcC5cbiAgICAgICAgICAgICAgICovXG4gICAgICAgICAgICBjb25zdCBub2RlRGF0YSA9IHNlbGVjdGVkTm9kZXMubWFwKChlbCkgPT4gZWwuZGF0YSgpKTtcblxuICAgICAgICAgICAgdGhpcy5wcm9wcy5zZXRQcm9wcyh7XG4gICAgICAgICAgICAgICAgc2VsZWN0ZWROb2RlRGF0YTogbm9kZURhdGEsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSwgU0VMRUNUX1RIUkVTSE9MRCk7XG5cbiAgICAgICAgY29uc3Qgc2VuZFNlbGVjdGVkRWRnZXNEYXRhID0gXy5kZWJvdW5jZSgoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBlZGdlRGF0YSA9IHNlbGVjdGVkRWRnZXMubWFwKChlbCkgPT4gZWwuZGF0YSgpKTtcblxuICAgICAgICAgICAgdGhpcy5wcm9wcy5zZXRQcm9wcyh7XG4gICAgICAgICAgICAgICAgc2VsZWN0ZWRFZGdlRGF0YTogZWRnZURhdGEsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSwgU0VMRUNUX1RIUkVTSE9MRCk7XG5cbiAgICAgICAgY29uc3Qgc2V0RXh0ZW50ID0gXy5kZWJvdW5jZSgoY3lFeHRlbnQpID0+IHtcbiAgICAgICAgICAgIHRoaXMucHJvcHMuc2V0UHJvcHMoe1xuICAgICAgICAgICAgICAgIGV4dGVudDogY3lFeHRlbnQsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSwgRVhURU5UX1RIUkVTSE9MRCk7XG5cbiAgICAgICAgLy8gU3RvcmUgdGhlIG9yaWdpbmFsIG1heFpvb20gYW5kIG1pblpvb20gZnVuY3Rpb25zXG4gICAgICAgIGNvbnN0IG9yaWdpbmFsTWF4Wm9vbUZuID0gY3kubWF4Wm9vbTtcbiAgICAgICAgY29uc3Qgb3JpZ2luYWxNaW5ab29tRm4gPSBjeS5taW5ab29tO1xuXG4gICAgICAgIC8vIE92ZXJyaWRlIHRoZSBtYXhab29tIGZ1bmN0aW9uIHRvIHRyaWdnZXIgbWF4Wm9vbUNoYW5nZSBjdXN0b20gZXZlbnRcbiAgICAgICAgY3kubWF4Wm9vbSA9IGZ1bmN0aW9uKGUpIHtcbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRNYXhab29tID0gb3JpZ2luYWxNYXhab29tRm4uY2FsbChjeSwgZSk7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIC8vIFRyaWdnZXIgeW91ciBjdXN0b20gZXZlbnQgaWYgdGhlIGN1cnJlbnQgbWF4IHpvb20gbGV2ZWwgaXMgZGlmZmVyZW50IGZyb20gdGhlIFxuICAgICAgICAgICAgLy8gcHJldmlvdXNseSBzdG9yZWQgbWF4IHpvb20gbGV2ZWxcbiAgICAgICAgICAgIGlmIChjdXJyZW50TWF4Wm9vbSAhPT0gY3kuX3ByZXZpb3VzTWF4Wm9vbSkge1xuICAgICAgICAgICAgICAgIGN5Ll9wcmV2aW91c01heFpvb20gPSBjdXJyZW50TWF4Wm9vbTtcbiAgICAgICAgICAgICAgICBjeS50cmlnZ2VyKCdtaW5NYXhab29tQ2hhbmdlJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gY3VycmVudE1heFpvb207XG4gICAgICAgIH07XG5cbiAgICAgICAgLy8gT3ZlcnJpZGUgdGhlIG1pblpvb20gZnVuY3Rpb24gdG8gdHJpZ2dlciBtaW5ab29tQ2hhbmdlIGN1c3RvbSBldmVudFxuICAgICAgICBjeS5taW5ab29tID0gZnVuY3Rpb24oZSkge1xuICAgICAgICAgICAgY29uc3QgY3VycmVudE1pblpvb20gPSBvcmlnaW5hbE1pblpvb21Gbi5jYWxsKGN5LCBlKTtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgLy8gVHJpZ2dlciB5b3VyIGN1c3RvbSBldmVudCBpZiB0aGUgY3VycmVudCBtaW4gem9vbSBsZXZlbCBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgXG4gICAgICAgICAgICAvLyBwcmV2aW91c2x5IHN0b3JlZCBtaW4gem9vbSBsZXZlbFxuICAgICAgICAgICAgaWYgKGN1cnJlbnRNaW5ab29tICE9PSBjeS5fcHJldmlvdXNNaW5ab29tKSB7XG4gICAgICAgICAgICAgICAgY3kuX3ByZXZpb3VzTWluWm9vbSA9IGN1cnJlbnRNaW5ab29tO1xuICAgICAgICAgICAgICAgIGN5LnRyaWdnZXIoJ21pbk1heFpvb21DaGFuZ2UnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBjdXJyZW50TWluWm9vbTtcbiAgICAgICAgfTtcblxuICAgICAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gRVZFTlRTIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgICAgIGN5Lm9uKCd0YXAnLCAnbm9kZScsIChldmVudCkgPT4ge1xuICAgICAgICAgICAgY29uc3Qgbm9kZU9iamVjdCA9IHRoaXMuZ2VuZXJhdGVOb2RlKGV2ZW50KTtcblxuICAgICAgICAgICAgdGhpcy5wcm9wcy5zZXRQcm9wcyh7XG4gICAgICAgICAgICAgICAgdGFwTm9kZTogbm9kZU9iamVjdCxcbiAgICAgICAgICAgICAgICB0YXBOb2RlRGF0YTogT2JqZWN0LmFzc2lnbih7fSwgbm9kZU9iamVjdC5kYXRhLCB7XG4gICAgICAgICAgICAgICAgICAgIHRpbWVTdGFtcDogbm9kZU9iamVjdC50aW1lU3RhbXAsXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY3kub24oJ3RhcCcsICdlZGdlJywgKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBlZGdlT2JqZWN0ID0gdGhpcy5nZW5lcmF0ZUVkZ2UoZXZlbnQpO1xuXG4gICAgICAgICAgICB0aGlzLnByb3BzLnNldFByb3BzKHtcbiAgICAgICAgICAgICAgICB0YXBFZGdlOiBlZGdlT2JqZWN0LFxuICAgICAgICAgICAgICAgIHRhcEVkZ2VEYXRhOiBPYmplY3QuYXNzaWduKHt9LCBlZGdlT2JqZWN0LmRhdGEsIHtcbiAgICAgICAgICAgICAgICAgICAgdGltZVN0YW1wOiBlZGdlT2JqZWN0LnRpbWVTdGFtcCxcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcblxuICAgICAgICBjeS5vbignbW91c2VvdmVyJywgJ25vZGUnLCAoZXZlbnQpID0+IHtcbiAgICAgICAgICAgIHRoaXMucHJvcHMuc2V0UHJvcHMoe1xuICAgICAgICAgICAgICAgIG1vdXNlb3Zlck5vZGVEYXRhOiBPYmplY3QuYXNzaWduKHt9LCBldmVudC50YXJnZXQuZGF0YSgpLCB7XG4gICAgICAgICAgICAgICAgICAgIHRpbWVTdGFtcDogZXZlbnQudGltZVN0YW1wLFxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGN5Lm9uKCdtb3VzZW92ZXInLCAnZWRnZScsIChldmVudCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5wcm9wcy5zZXRQcm9wcyh7XG4gICAgICAgICAgICAgICAgbW91c2VvdmVyRWRnZURhdGE6IE9iamVjdC5hc3NpZ24oe30sIGV2ZW50LnRhcmdldC5kYXRhKCksIHtcbiAgICAgICAgICAgICAgICAgICAgdGltZVN0YW1wOiBldmVudC50aW1lU3RhbXAsXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY3kub24oJ21vdXNlb3V0JywgJ25vZGUnLCAoXykgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMucHJvcHMuY2xlYXJPblVuaG92ZXIgPT09IHRydWUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnByb3BzLnNldFByb3BzKHttb3VzZW92ZXJOb2RlRGF0YTogbnVsbH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICBjeS5vbignbW91c2VvdXQnLCAnZWRnZScsIChfKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5wcm9wcy5jbGVhck9uVW5ob3ZlciA9PT0gdHJ1ZSkge1xuICAgICAgICAgICAgICAgIHRoaXMucHJvcHMuc2V0UHJvcHMoe1xuICAgICAgICAgICAgICAgICAgICBtb3VzZW92ZXJFZGdlRGF0YTogbnVsbCxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgY3kub24oJ3NlbGVjdCcsICdub2RlJywgKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBlbGUgPSBldmVudC50YXJnZXQ7XG5cbiAgICAgICAgICAgIHNlbGVjdGVkTm9kZXMubWVyZ2UoZWxlKTtcbiAgICAgICAgICAgIHNlbmRTZWxlY3RlZE5vZGVzRGF0YSgpO1xuICAgICAgICB9KTtcblxuICAgICAgICBjeS5vbigndW5zZWxlY3QgcmVtb3ZlJywgJ25vZGUnLCAoZXZlbnQpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGVsZSA9IGV2ZW50LnRhcmdldDtcblxuICAgICAgICAgICAgc2VsZWN0ZWROb2Rlcy51bm1lcmdlKGVsZSk7XG4gICAgICAgICAgICBzZW5kU2VsZWN0ZWROb2Rlc0RhdGEoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY3kub24oJ3NlbGVjdCcsICdlZGdlJywgKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBlbGUgPSBldmVudC50YXJnZXQ7XG5cbiAgICAgICAgICAgIHNlbGVjdGVkRWRnZXMubWVyZ2UoZWxlKTtcbiAgICAgICAgICAgIHNlbmRTZWxlY3RlZEVkZ2VzRGF0YSgpO1xuICAgICAgICB9KTtcblxuICAgICAgICBjeS5vbigndW5zZWxlY3QgcmVtb3ZlJywgJ2VkZ2UnLCAoZXZlbnQpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGVsZSA9IGV2ZW50LnRhcmdldDtcblxuICAgICAgICAgICAgc2VsZWN0ZWRFZGdlcy51bm1lcmdlKGVsZSk7XG4gICAgICAgICAgICBzZW5kU2VsZWN0ZWRFZGdlc0RhdGEoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY3kub24oJ2FkZCByZW1vdmUnLCAoKSA9PiB7XG4gICAgICAgICAgICByZWZyZXNoTGF5b3V0KCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGN5Lm9uKCdkcmFnZnJlZSBhZGQgcmVtb3ZlJywgKF8pID0+IHtcbiAgICAgICAgICAgIHRoaXMucHJvcHMuc2V0UHJvcHMoe1xuICAgICAgICAgICAgICAgIGVsZW1lbnRzOiBjeS5lbGVtZW50cygnJykubWFwKChpdGVtKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChpdGVtLmpzb24oKS5ncm91cCA9PT0gJ25vZGVzJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhOiBpdGVtLmpzb24oKS5kYXRhLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBpdGVtLmpzb24oKS5wb3NpdGlvbixcbiAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE6IGl0ZW0uanNvbigpLmRhdGEsXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogdm9pZCAwLFxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGN5Lm9uKCd2aWV3cG9ydCByZXNpemUnLCAoKSA9PiB7XG4gICAgICAgICAgICBzZXRFeHRlbnQoY3kuZXh0ZW50KCkpO1xuICAgICAgICB9KTtcblxuICAgICAgICAvLyBSZWZyZXNoIGxheW91dCBpZiBjdXJyZW50IHpvb20gaXMgb3V0IG9mIGJvdW5kYXJpZXNcbiAgICAgICAgY3kub24oJ21pbk1heFpvb21DaGFuZ2UnLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICB2YXIgem9vbSA9IGN5Lnpvb20oKTtcbiAgICAgICAgICAgIGlmICh6b29tID4gY3kubWF4Wm9vbSgpIHx8IHpvb20gPCBjeS5taW5ab29tKCkpIHtcbiAgICAgICAgICAgICAgICBjeS5maXQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5jcmVhdGVNZW51SXRlbXMgPSAoY3R4TWVudSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgdXBkYXRlQ29udGV4dE1lbnVEYXRhID0gKG5ld0NvbnRleHQpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnByb3BzLnNldFByb3BzKHtjb250ZXh0TWVudURhdGE6IG5ld0NvbnRleHR9KTtcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBjb25zdCBjb250ZXh0TWVudURlZmF1bHRGdW5jdGlvbnMgPSB7XG4gICAgICAgICAgICAgICAgcmVtb3ZlOiBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IHx8IGV2ZW50LmN5VGFyZ2V0O1xuICAgICAgICAgICAgICAgICAgICB0YXJnZXQucmVtb3ZlKCk7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBhZGRfbm9kZTogZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHBvcyA9IGV2ZW50LnBvc2l0aW9uIHx8IGV2ZW50LmN5UG9zaXRpb247XG4gICAgICAgICAgICAgICAgICAgIGN5LmFkZCh7XG4gICAgICAgICAgICAgICAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JvdXA6ICdub2RlcycsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB4OiBwb3MueCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB5OiBwb3MueSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgYWRkX2VkZ2U6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWROb2RlSWRzID0gc2VsZWN0ZWROb2Rlcy5tYXAoKG5vZGUpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICBub2RlLmlkKClcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHNlbGVjdGVkTm9kZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFcnJvcjogTm8gbm9kZXMgc2VsZWN0ZWQsIGNhbm5vdCBhZGQgZWRnZSdcbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoc2VsZWN0ZWROb2Rlcy5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGN5LmFkZCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZDogdXVpZHY0KCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyb3VwOiAnZWRnZXMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzb3VyY2U6IHNlbGVjdGVkTm9kZUlkc1swXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0OiBzZWxlY3RlZE5vZGVJZHNbMF0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHNlbGVjdGVkTm9kZXMubGVuZ3RoID09PSAyKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjeS5hZGQoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IHV1aWR2NCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBncm91cDogJ2VkZ2VzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc291cmNlOiBzZWxlY3RlZE5vZGVJZHNbMF0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldDogc2VsZWN0ZWROb2RlSWRzWzFdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0Vycm9yOiBtb3JlIHRoYW4gMiBub2RlcyBzZWxlY3RlZCwgY2Fubm90IGFkZCBlZGdlJ1xuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgY29uc3QgbmV3TWVudUl0ZW1zID0gW107XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgY3R4TWVudSkge1xuICAgICAgICAgICAgICAgIGxldCBvbkNsaWNrRnVuY3Rpb247XG4gICAgICAgICAgICAgICAgLy8gcmV0dXJuIGRhdGEgc28gYSB1c2VyIGNhbiBkZWZpbmUgYSBjdXN0b20gb24gY2xpY2sgZnVuY3Rpb24gaW4gUHl0aG9uXG4gICAgICAgICAgICAgICAgLy8gaWYgb25DbGljayBvciBvbiBvbkNsaWNrQ3VzdG9tIGFyZSBub3Qgc3BlY2lmaWVkXG4gICAgICAgICAgICAgICAgb25DbGlja0Z1bmN0aW9uID0gZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIHVwZGF0ZUNvbnRleHRNZW51RGF0YSh7XG4gICAgICAgICAgICAgICAgICAgICAgICBtZW51SXRlbUlkOiBpdGVtLmlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgeDogZXZlbnQucG9zaXRpb24ueCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHk6IGV2ZW50LnBvc2l0aW9uLnksXG4gICAgICAgICAgICAgICAgICAgICAgICB0aW1lU3RhbXA6IGV2ZW50LnRpbWVTdGFtcCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnRJZDogZXZlbnQudGFyZ2V0LmRhdGEoKS5pZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGVkZ2VTb3VyY2U6IGV2ZW50LnRhcmdldC5kYXRhKCkuc291cmNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgZWRnZVRhcmdldDogZXZlbnQudGFyZ2V0LmRhdGEoKS50YXJnZXQsXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgLy8gdXNlIGRlZmF1bHQgamF2YXNjcmlwdCBmdW5jdGlvbiBhcyBvbkNsaWNrRnVuY3Rpb25cbiAgICAgICAgICAgICAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGl0ZW0sICdvbkNsaWNrJykpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHRNZW51RGVmYXVsdEZ1bmN0aW9ucyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtLm9uQ2xpY2tcbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrRnVuY3Rpb24gPVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHRNZW51RGVmYXVsdEZ1bmN0aW9uc1tpdGVtLm9uQ2xpY2tdO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBgb25DbGljayBmdW5jdGlvbiAke2l0ZW0ub25DbGlja30gaXMgbm90IGRlZmluZWRgXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8vIHVzZSB1c2VyLWRlZmluZWQgSmF2YXNjcmlwdCBmdW5jdGlvbiBpbiBhIG5hbWVzcGFjZSB1bmRlciBhc3NldHMvIGFzIG9uQ2xpY2tGdW5jdGlvblxuICAgICAgICAgICAgICAgIGVsc2UgaWYgKFxuICAgICAgICAgICAgICAgICAgICBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoaXRlbSwgJ29uQ2xpY2tDdXN0b20nKVxuICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2luZG93LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkYXNoQ3l0b3NjYXBlRnVuY3Rpb25zJ1xuICAgICAgICAgICAgICAgICAgICAgICAgKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpbmRvdy5kYXNoQ3l0b3NjYXBlRnVuY3Rpb25zLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0ub25DbGlja0N1c3RvbVxuICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2tGdW5jdGlvbiA9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2luZG93LmRhc2hDeXRvc2NhcGVGdW5jdGlvbnNbaXRlbS5vbkNsaWNrQ3VzdG9tXTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYG9uQ2xpY2tDdXN0b20gZnVuY3Rpb24gJHtpdGVtLm9uQ2xpY2tDdXN0b219IGlzIG5vdCBkZWZpbmVkYFxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjb25zdCBuZXdfaXRlbSA9IHtcbiAgICAgICAgICAgICAgICAgICAgaWQ6IGl0ZW0uaWQsXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IGl0ZW0ubGFiZWwsXG4gICAgICAgICAgICAgICAgICAgIHRvb2x0aXBUZXh0OiBpdGVtLnRvb2x0aXBUZXh0LFxuICAgICAgICAgICAgICAgICAgICBzZWxlY3RvcjogJycsXG4gICAgICAgICAgICAgICAgICAgIG9uQ2xpY2tGdW5jdGlvbjogb25DbGlja0Z1bmN0aW9uLFxuICAgICAgICAgICAgICAgICAgICBjb3JlQXNXZWxsOiBmYWxzZSxcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoaXRlbSwgJ2F2YWlsYWJsZU9uJykpIHtcbiAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCBzZWxlY3RvciBvZiBpdGVtLmF2YWlsYWJsZU9uKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoc2VsZWN0b3IgPT09ICdlZGdlJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChuZXdfaXRlbS5zZWxlY3Rvci5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld19pdGVtLnNlbGVjdG9yID0gbmV3X2l0ZW0uc2VsZWN0b3IgKyAnLCAnO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXdfaXRlbS5zZWxlY3RvciA9IG5ld19pdGVtLnNlbGVjdG9yICsgJ2VkZ2UnO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChzZWxlY3RvciA9PT0gJ25vZGUnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG5ld19pdGVtLnNlbGVjdG9yLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3X2l0ZW0uc2VsZWN0b3IgPSBuZXdfaXRlbS5zZWxlY3RvciArICcsICc7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld19pdGVtLnNlbGVjdG9yID0gbmV3X2l0ZW0uc2VsZWN0b3IgKyAnbm9kZSc7XG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHNlbGVjdG9yID09PSAnY2FudmFzJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld19pdGVtLmNvcmVBc1dlbGwgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgRXJyb3I6IHNlbGVjdG9yICR7c2VsZWN0b3J9IGlzIG5vdCBhdmFpbGFibGUuIENob29zZSBvbmUgb2YgJ25vZGUnLCAnZWRnZScgb3IgJ2NhbnZhcycuYFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgbmV3TWVudUl0ZW1zLnB1c2gobmV3X2l0ZW0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIG5ld01lbnVJdGVtcztcbiAgICAgICAgfTtcblxuICAgICAgICB0aGlzLmN5UmVzcG9uc2l2ZUNsYXNzID0gbmV3IEN5UmVzcG9uc2l2ZShjeSk7XG4gICAgICAgIHRoaXMuY3lSZXNwb25zaXZlQ2xhc3MudG9nZ2xlKHRoaXMucHJvcHMucmVzcG9uc2l2ZSk7XG5cbiAgICAgICAgc2V0RXh0ZW50KGN5LmV4dGVudCgpKTtcbiAgICB9XG5cbiAgICBoYW5kbGVJbWFnZUdlbmVyYXRpb24oaW1hZ2VUeXBlLCBpbWFnZU9wdGlvbnMsIGFjdGlvbnNUb1BlcmZvcm0sIGZpbGVOYW1lKSB7XG4gICAgICAgIGxldCBvcHRpb25zID0ge307XG4gICAgICAgIGlmIChpbWFnZU9wdGlvbnMpIHtcbiAgICAgICAgICAgIG9wdGlvbnMgPSBpbWFnZU9wdGlvbnM7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgZGVzaXJlZE91dHB1dCA9IG9wdGlvbnMub3V0cHV0O1xuICAgICAgICBvcHRpb25zLm91dHB1dCA9ICdibG9iJztcblxuICAgICAgICBsZXQgZG93bmxvYWRJbWFnZTtcbiAgICAgICAgbGV0IHN0b3JlSW1hZ2U7XG4gICAgICAgIHN3aXRjaCAoYWN0aW9uc1RvUGVyZm9ybSkge1xuICAgICAgICAgICAgY2FzZSAnc3RvcmUnOlxuICAgICAgICAgICAgICAgIGRvd25sb2FkSW1hZ2UgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICBzdG9yZUltYWdlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ2Rvd25sb2FkJzpcbiAgICAgICAgICAgICAgICBkb3dubG9hZEltYWdlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBzdG9yZUltYWdlID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdib3RoJzpcbiAgICAgICAgICAgICAgICBkb3dubG9hZEltYWdlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBzdG9yZUltYWdlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgZG93bmxvYWRJbWFnZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHN0b3JlSW1hZ2UgPSB0cnVlO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IG91dHB1dDtcbiAgICAgICAgaWYgKGltYWdlVHlwZSA9PT0gJ3BuZycpIHtcbiAgICAgICAgICAgIG91dHB1dCA9IHRoaXMuX2N5LnBuZyhvcHRpb25zKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaW1hZ2VUeXBlID09PSAnanBnJyB8fCBpbWFnZVR5cGUgPT09ICdqcGVnJykge1xuICAgICAgICAgICAgb3V0cHV0ID0gdGhpcy5fY3kuanBnKG9wdGlvbnMpO1xuICAgICAgICB9XG4gICAgICAgIC8vIG9ubHkgd29ya3Mgd2hlbiBzdmcgaXMgaW1wb3J0ZWQgKHNlZSBsaWIvZXh0cmFfaW5kZXguanMpXG4gICAgICAgIGlmIChpbWFnZVR5cGUgPT09ICdzdmcnKSB7XG4gICAgICAgICAgICBvdXRwdXQgPSB0aGlzLl9jeS5zdmcob3B0aW9ucyk7XG4gICAgICAgIH1cblxuICAgICAgICAvKlxuICAgICAgICAgKiBJZiBvdXRwdXQgaXMgZW1wdHkgYmVjYXVzZSBvZiBiYWQgb3B0aW9ucyBvciBhIGN5dG9zY2FwZSBlcnJvcixcbiAgICAgICAgICogc2tpcCBhbnkgZG93bmxvYWQgb3Igc3RvcmFnZSBzdGVwcy5cbiAgICAgICAgICovXG4gICAgICAgIGlmIChvdXRwdXQgJiYgZG93bmxvYWRJbWFnZSkge1xuICAgICAgICAgICAgLypcbiAgICAgICAgICAgICAqIERvd25sb2FkaW5nIGlzIGluaXRpYXRlZCBjbGllbnQtc2lkZSBiZWNhdXNlIHRoZSBpbWFnZSBpcyBnZW5lcmF0ZWQgYXRcbiAgICAgICAgICAgICAqIHRoZSBjbGllbnQuIFRoaXMgYXZvaWRzIHRyYW5zZmVycmluZyBhIHBvdGVudGlhbGx5IGxhcmdlIGltYWdlXG4gICAgICAgICAgICAgKiB0byB0aGUgc2VydmVyIGFuZCBiYWNrIGFnYWluIHRocm91Z2ggYSBjYWxsYmFjay5cbiAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgbGV0IGZOYW1lID0gZmlsZU5hbWU7XG4gICAgICAgICAgICBpZiAoIWZpbGVOYW1lKSB7XG4gICAgICAgICAgICAgICAgZk5hbWUgPSAnY3l0byc7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChpbWFnZVR5cGUgIT09ICdzdmcnKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5kb3dubG9hZEJsb2Iob3V0cHV0LCBmTmFtZSArICcuJyArIGltYWdlVHlwZSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnN0IGJsb2IgPSBuZXcgQmxvYihbb3V0cHV0XSwge1xuICAgICAgICAgICAgICAgICAgICB0eXBlOiAnaW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04JyxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB0aGlzLmRvd25sb2FkQmxvYihibG9iLCBmTmFtZSArICcuJyArIGltYWdlVHlwZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAob3V0cHV0ICYmIHN0b3JlSW1hZ2UpIHtcbiAgICAgICAgICAgIC8vIERlZmF1bHQgb3V0cHV0IHR5cGUgaWYgdW5zcGVjaWZpZWRcbiAgICAgICAgICAgIGlmICghZGVzaXJlZE91dHB1dCkge1xuICAgICAgICAgICAgICAgIGRlc2lyZWRPdXRwdXQgPSAnYmFzZTY0dXJpJztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICEoZGVzaXJlZE91dHB1dCA9PT0gJ2Jhc2U2NHVyaScgfHwgZGVzaXJlZE91dHB1dCA9PT0gJ2Jhc2U2NCcpXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8qXG4gICAgICAgICAgICAgKiBDb252ZXJ0IGJsb2IgdG8gYmFzZTY0dXJpIG9yIGJhc2U2NCBzdHJpbmcgdG8gc3RvcmUgdGhlIGltYWdlIGRhdGEuXG4gICAgICAgICAgICAgKiBUaGFuayB5b3UsIGJhc2U2NGd1cnUgaHR0cHM6Ly9iYXNlNjQuZ3VydS9kZXZlbG9wZXJzL2phdmFzY3JpcHQvZXhhbXBsZXMvZW5jb2RlLWJsb2JcbiAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgY29uc3QgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcbiAgICAgICAgICAgIHJlYWRlci5vbmxvYWQgPSAoKSA9PiB7XG4gICAgICAgICAgICAgICAgLyogRmlsZVJlYWRlciBpcyBhc3luY2hyb25vdXMsIHNvIHRoZSByZWFkIGZ1bmN0aW9uIGlzIG5vbi1ibG9ja2luZy5cbiAgICAgICAgICAgICAgICAgKiBJZiB0aGlzIGNvZGUgYmxvY2sgaXMgcGxhY2VkIGFmdGVyIHRoZSByZWFkIGNvbW1hbmQsIGl0XG4gICAgICAgICAgICAgICAgICogbWF5IHJlc3VsdCBpbiBlbXB0eSBvdXRwdXQgYmVjYXVzZSB0aGUgYmxvYiBoYXMgbm90IGJlZW4gbG9hZGVkIHlldC5cbiAgICAgICAgICAgICAgICAgKi9cbiAgICAgICAgICAgICAgICBsZXQgY2FsbGJhY2tEYXRhID0gcmVhZGVyLnJlc3VsdDtcbiAgICAgICAgICAgICAgICBpZiAoZGVzaXJlZE91dHB1dCA9PT0gJ2Jhc2U2NCcpIHtcbiAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2tEYXRhID0gY2FsbGJhY2tEYXRhLnJlcGxhY2UoL15kYXRhOi4rO2Jhc2U2NCwvLCAnJyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMucHJvcHMuc2V0UHJvcHMoe2ltYWdlRGF0YTogY2FsbGJhY2tEYXRhfSk7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgcmVhZGVyLnJlYWRBc0RhdGFVUkwob3V0cHV0KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGRvd25sb2FkQmxvYihibG9iLCBmaWxlTmFtZSkge1xuICAgICAgICAvKlxuICAgICAgICAgKiBEb3dubG9hZCBibG9iIGFzIGZpbGUgYnkgZHluYW1pY2FsbHkgY3JlYXRpbmcgbGluay5cbiAgICAgICAgICogQ2hyb21lIGRvZXMgbm90IG9wZW4gZGF0YSBVUkxzIHdoZW4gSlMgb3BlbnMgYSBuZXcgdGFiIGRpcmVjdGVkXG4gICAgICAgICAqIGF0IHRoZSBkYXRhIFVSTCwgc28gdGhpcyBpcyBhbiBhbHRlcm5hdGUgaW1wbGVtZW50YXRpb25cbiAgICAgICAgICogdGhhdCBkb2Vzbid0IHJlcXVpcmUgZXh0cmEgcGFja2FnZXMuIEl0IG1heSBub3QgYmVoYXZlIGluXG4gICAgICAgICAqIGV4YWN0bHkgdGhlIHNhbWUgd2F5IGFjcm9zcyBicm93c2VycyAobWlnaHQgZGlzcGxheSBpbWFnZSBpbiBuZXcgdGFiXG4gICAgICAgICAqIGludGVhZCBvZiBkb3dubG9hZGluZyBhcyBhIGZpbGUpLlxuICAgICAgICAgKiBUaGFuayB5b3UsIGtvbGRldiBodHRwczovL2pzZmlkZGxlLm5ldC9rb2xkZXYvY1c3VzUvXG4gICAgICAgICAqL1xuICAgICAgICBjb25zdCBkb3dubG9hZExpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XG4gICAgICAgIGRvd25sb2FkTGluay5zdHlsZSA9ICdkaXNwbGF5OiBub25lJztcbiAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkb3dubG9hZExpbmspO1xuXG4gICAgICAgIGNvbnN0IHVybCA9IHdpbmRvdy5VUkwuY3JlYXRlT2JqZWN0VVJMKGJsb2IpO1xuICAgICAgICBkb3dubG9hZExpbmsuaHJlZiA9IHVybDtcbiAgICAgICAgZG93bmxvYWRMaW5rLmRvd25sb2FkID0gZmlsZU5hbWU7XG4gICAgICAgIGRvd25sb2FkTGluay5jbGljaygpO1xuICAgICAgICB3aW5kb3cuVVJMLnJldm9rZU9iamVjdFVSTCh1cmwpO1xuXG4gICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoZG93bmxvYWRMaW5rKTtcbiAgICB9XG5cbiAgICB1cGRhdGVDb250ZXh0TWVudShjb250ZXh0TWVudSkge1xuICAgICAgICB0aGlzLl9jeS5jb250ZXh0TWVudXMoe1xuICAgICAgICAgICAgbWVudUl0ZW1zOiB0aGlzLmNyZWF0ZU1lbnVJdGVtcyhjb250ZXh0TWVudSksXG4gICAgICAgICAgICBtZW51SXRlbUNsYXNzZXM6IFsnY3VzdG9tLW1lbnUtaXRlbSddLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvLyBSZXR1cm5zIHRydWUgaWYgdGhlcmUgaXMgbm8gb3ZlcmxhcCBiZXR3ZWVuIHRoZSBlbGVtZW50IGJvdW5kaW5nIGJveFxuICAgIC8vIGFuZCB0aGUgcmVuZGVyZWQgYXJlYSBvZiB0aGUgZ3JhcGgsIG1lYW5pbmcgdGhlIGdyYXBoIGlzIGVudGlyZWx5IG91dHNpZGUgdGhlIHZpZXdwb3J0O1xuICAgIC8vIHJldHVybnMgZmFsc2Ugb3RoZXJ3aXNlXG4gICAgZ3JhcGhPdXRPZlZpZXcoKSB7XG4gICAgICAgIGNvbnN0IGN5V2lkdGggPSB0aGlzLl9jeS53aWR0aCgpO1xuICAgICAgICBjb25zdCBjeUhlaWdodCA9IHRoaXMuX2N5LmhlaWdodCgpO1xuICAgICAgICBjb25zdCBlbEJveCA9IHRoaXMuX2N5LmVsZW1lbnRzKCkucmVuZGVyZWRCb3VuZGluZ2JveCgpO1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgZWxCb3gueDEgPiBjeVdpZHRoIHx8XG4gICAgICAgICAgICBlbEJveC55MSA+IGN5SGVpZ2h0IHx8XG4gICAgICAgICAgICBlbEJveC54MiA8IDAgfHxcbiAgICAgICAgICAgIGVsQm94LnkyIDwgMFxuICAgICAgICApO1xuICAgIH1cblxuICAgIGNvbXBvbmVudERpZFVwZGF0ZShwcmV2UHJvcHMpIHtcbiAgICAgICAgY29uc3Qge2NvbnRleHRNZW51LCBlbGVtZW50c30gPSB0aGlzLnByb3BzO1xuICAgICAgICBpZiAoIV8uaXNFcXVhbChwcmV2UHJvcHMuY29udGV4dE1lbnUsIGNvbnRleHRNZW51KSAmJiB0aGlzLl9jeSkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVDb250ZXh0TWVudShjb250ZXh0TWVudSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFfLmlzRXF1YWwocHJldlByb3BzLmVsZW1lbnRzLCBlbGVtZW50cykgJiYgdGhpcy5fY3kpIHtcbiAgICAgICAgICAgIC8vIElmIGVsZW1lbnRzIHdlcmUgdXBkYXRlZCwgYW5kIHRoZSBuZXcgZ3JhcGggaXMgKmVudGlyZWx5KiBvdXRzaWRlIHRoZSB2aWV3cG9ydCxcbiAgICAgICAgICAgIC8vIGZpdCB0aGUgdmlld3BvcnQgdG8gdGhlIG5ldyBlbGVtZW50c1xuICAgICAgICAgICAgaWYgKHRoaXMuZ3JhcGhPdXRPZlZpZXcoKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuX2N5LmZpdCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgICAgICBjb25zdCB7Y29udGV4dE1lbnV9ID0gdGhpcy5wcm9wcztcbiAgICAgICAgaWYgKHRoaXMuX2N5ICYmIGNvbnRleHRNZW51Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlQ29udGV4dE1lbnUoY29udGV4dE1lbnUpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJlbmRlcigpIHtcbiAgICAgICAgY29uc3Qge1xuICAgICAgICAgICAgLy8gSFRNTCBhdHRyaWJ1dGUgcHJvcHNcbiAgICAgICAgICAgIGlkLFxuICAgICAgICAgICAgc3R5bGUsXG4gICAgICAgICAgICBjbGFzc05hbWUsXG4gICAgICAgICAgICAvLyBDb21tb24gcHJvcHNcbiAgICAgICAgICAgIGVsZW1lbnRzLFxuICAgICAgICAgICAgc3R5bGVzaGVldCxcbiAgICAgICAgICAgIGxheW91dCxcbiAgICAgICAgICAgIGNvbnRleHRNZW51LFxuICAgICAgICAgICAgY29udGV4dE1lbnVEYXRhLFxuICAgICAgICAgICAgLy8gVmlld3BvcnQgTWFuaXB1bGF0aW9uXG4gICAgICAgICAgICBwYW4sXG4gICAgICAgICAgICB6b29tLFxuICAgICAgICAgICAgLy8gVmlld3BvcnQgTXV0YWJpbGl0eSBhbmQgZ2VzdHVyZSBUb2dnbGluZ1xuICAgICAgICAgICAgcGFubmluZ0VuYWJsZWQsXG4gICAgICAgICAgICB1c2VyUGFubmluZ0VuYWJsZWQsXG4gICAgICAgICAgICBtaW5ab29tLFxuICAgICAgICAgICAgbWF4Wm9vbSxcbiAgICAgICAgICAgIHpvb21pbmdFbmFibGVkLFxuICAgICAgICAgICAgdXNlclpvb21pbmdFbmFibGVkLFxuICAgICAgICAgICAgd2hlZWxTZW5zaXRpdml0eSxcbiAgICAgICAgICAgIGJveFNlbGVjdGlvbkVuYWJsZWQsXG4gICAgICAgICAgICBhdXRvdW5ncmFiaWZ5LFxuICAgICAgICAgICAgYXV0b2xvY2ssXG4gICAgICAgICAgICBhdXRvdW5zZWxlY3RpZnksXG4gICAgICAgICAgICAvLyBJbWFnZSBoYW5kbGluZ1xuICAgICAgICAgICAgZ2VuZXJhdGVJbWFnZSxcbiAgICAgICAgICAgIC8vIFJlc3BvbnNpdmUgZ3JhcGhzXG4gICAgICAgICAgICByZXNwb25zaXZlLFxuICAgICAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgICAgICBpZiAoT2JqZWN0LmtleXMoZ2VuZXJhdGVJbWFnZSkubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgLy8gSWYgbm8gY3l0b3NjYXBlIG9iamVjdCBoYXMgYmVlbiBjcmVhdGVkIHlldCwgYW4gaW1hZ2UgY2Fubm90IGJlIGdlbmVyYXRlZCxcbiAgICAgICAgICAgIC8vIHNvIGdlbmVyYXRlSW1hZ2Ugd2lsbCBiZSBpZ25vcmVkIGFuZCBjbGVhcmVkLlxuICAgICAgICAgICAgdGhpcy5wcm9wcy5zZXRQcm9wcyh7Z2VuZXJhdGVJbWFnZToge319KTtcbiAgICAgICAgICAgIGlmICh0aGlzLl9jeSkge1xuICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlSW1hZ2VHZW5lcmF0aW9uKFxuICAgICAgICAgICAgICAgICAgICBnZW5lcmF0ZUltYWdlLnR5cGUsXG4gICAgICAgICAgICAgICAgICAgIGdlbmVyYXRlSW1hZ2Uub3B0aW9ucyxcbiAgICAgICAgICAgICAgICAgICAgZ2VuZXJhdGVJbWFnZS5hY3Rpb24sXG4gICAgICAgICAgICAgICAgICAgIGdlbmVyYXRlSW1hZ2UuZmlsZW5hbWVcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuY3lSZXNwb25zaXZlQ2xhc3MpIHtcbiAgICAgICAgICAgIHRoaXMuY3lSZXNwb25zaXZlQ2xhc3MudG9nZ2xlKHJlc3BvbnNpdmUpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDxDeXRvc2NhcGVDb21wb25lbnRcbiAgICAgICAgICAgICAgICBpZD17aWR9XG4gICAgICAgICAgICAgICAgY3k9e3RoaXMuaGFuZGxlQ3l9XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWV9XG4gICAgICAgICAgICAgICAgc3R5bGU9e3N0eWxlfVxuICAgICAgICAgICAgICAgIGVsZW1lbnRzPXtDeXRvc2NhcGVDb21wb25lbnQubm9ybWFsaXplRWxlbWVudHMoZWxlbWVudHMpfVxuICAgICAgICAgICAgICAgIHN0eWxlc2hlZXQ9e3N0eWxlc2hlZXR9XG4gICAgICAgICAgICAgICAgbGF5b3V0PXtsYXlvdXR9XG4gICAgICAgICAgICAgICAgY29udGV4dE1lbnU9e2NvbnRleHRNZW51fVxuICAgICAgICAgICAgICAgIGNvbnRleHRNZW51RGF0YT17Y29udGV4dE1lbnVEYXRhfVxuICAgICAgICAgICAgICAgIHBhbj17cGFufVxuICAgICAgICAgICAgICAgIHpvb209e3pvb219XG4gICAgICAgICAgICAgICAgcGFubmluZ0VuYWJsZWQ9e3Bhbm5pbmdFbmFibGVkfVxuICAgICAgICAgICAgICAgIHVzZXJQYW5uaW5nRW5hYmxlZD17dXNlclBhbm5pbmdFbmFibGVkfVxuICAgICAgICAgICAgICAgIG1pblpvb209e21pblpvb219XG4gICAgICAgICAgICAgICAgbWF4Wm9vbT17bWF4Wm9vbX1cbiAgICAgICAgICAgICAgICB6b29taW5nRW5hYmxlZD17em9vbWluZ0VuYWJsZWR9XG4gICAgICAgICAgICAgICAgdXNlclpvb21pbmdFbmFibGVkPXt1c2VyWm9vbWluZ0VuYWJsZWR9XG4gICAgICAgICAgICAgICAgd2hlZWxTZW5zaXRpdml0eT17d2hlZWxTZW5zaXRpdml0eX1cbiAgICAgICAgICAgICAgICBib3hTZWxlY3Rpb25FbmFibGVkPXtib3hTZWxlY3Rpb25FbmFibGVkfVxuICAgICAgICAgICAgICAgIGF1dG91bmdyYWJpZnk9e2F1dG91bmdyYWJpZnl9XG4gICAgICAgICAgICAgICAgYXV0b2xvY2s9e2F1dG9sb2NrfVxuICAgICAgICAgICAgICAgIGF1dG91bnNlbGVjdGlmeT17YXV0b3Vuc2VsZWN0aWZ5fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgKTtcbiAgICB9XG59XG5cbkN5dG9zY2FwZS5wcm9wVHlwZXMgPSB7XG4gICAgLy8gSFRNTCBhdHRyaWJ1dGUgcHJvcHNcblxuICAgIC8qKlxuICAgICAqIFRoZSBJRCB1c2VkIHRvIGlkZW50aWZ5IHRoaXMgY29tcG9uZW50IGluIERhc2ggY2FsbGJhY2tzLlxuICAgICAqL1xuICAgIGlkOiBQcm9wVHlwZXMuc3RyaW5nLFxuXG4gICAgLyoqXG4gICAgICogU2V0cyB0aGUgY2xhc3MgbmFtZSBvZiB0aGUgZWxlbWVudCAodGhlIHZhbHVlIG9mIGFuIGVsZW1lbnQncyBodG1sXG4gICAgICogY2xhc3MgYXR0cmlidXRlKS5cbiAgICAgKi9cbiAgICBjbGFzc05hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG5cbiAgICAvKipcbiAgICAgKiBBZGQgaW5saW5lIHN0eWxlcyB0byB0aGUgcm9vdCBlbGVtZW50LlxuICAgICAqL1xuICAgIHN0eWxlOiBQcm9wVHlwZXMub2JqZWN0LFxuXG4gICAgLy8gRGFzaCBzcGVjaWZpYyBwcm9wc1xuXG4gICAgLyoqXG4gICAgICogRGFzaC1hc3NpZ25lZCBjYWxsYmFjayB0aGF0IHNob3VsZCBiZSBjYWxsZWQgd2hlbmV2ZXIgYW55IG9mIHRoZVxuICAgICAqIHByb3BlcnRpZXMgY2hhbmdlLlxuICAgICAqL1xuICAgIHNldFByb3BzOiBQcm9wVHlwZXMuZnVuYyxcblxuICAgIC8vIENvbW1vbiBwcm9wc1xuXG4gICAgLyoqXG4gICAgICogQSBsaXN0IG9mIGRpY3Rpb25hcmllcyByZXByZXNlbnRpbmcgdGhlIGVsZW1lbnRzIG9mIHRoZSBuZXR3b3Jrcy4gRWFjaCBkaWN0aW9uYXJ5IGRlc2NyaWJlcyBhbiBlbGVtZW50LCBhbmRcbiAgICAgKiBzcGVjaWZpZXMgaXRzIHB1cnBvc2UuIFRoZSBbb2ZmaWNpYWwgQ3l0b3NjYXBlLmpzIGRvY3VtZW50YXRpb25dKGh0dHBzOi8vanMuY3l0b3NjYXBlLm9yZy8jbm90YXRpb24vZWxlbWVudHMtanNvbilcbiAgICAgKiBvZmZlcnMgYW4gZXh0ZW5zaXZlIG92ZXJ2aWV3IGFuZCBleGFtcGxlcyBvZiBlbGVtZW50IGRlY2xhcmF0aW9uLlxuICAgICAqIEFsdGVybmF0aXZlbHksIGEgZGljdGlvbmFyeSB3aXRoIHRoZSBmb3JtYXQgeyAnbm9kZXMnOiBbXSwgJ2VkZ2VzJzogW10gfSBpcyBhbGxvd2VkIGF0IGluaXRpYWxpemF0aW9uLFxuICAgICAqIGJ1dCBhcnJheXMgcmVtYWluIHRoZSByZWNvbW1lbmRlZCBmb3JtYXQuXG4gICAgICovXG4gICAgZWxlbWVudHM6IFByb3BUeXBlcy5vbmVPZlR5cGUoW1xuICAgICAgICBQcm9wVHlwZXMuYXJyYXlPZihcbiAgICAgICAgICAgIFByb3BUeXBlcy5zaGFwZSh7XG4gICAgICAgICAgICAgICAgLyoqXG4gICAgICAgICAgICAgICAgICogRWl0aGVyICdub2Rlcycgb3IgJ2VkZ2VzJy4gSWYgbm90IGdpdmVuLCBpdCdzIGF1dG9tYXRpY2FsbHkgaW5mZXJyZWQuXG4gICAgICAgICAgICAgICAgICovXG4gICAgICAgICAgICAgICAgZ3JvdXA6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICAgICAgICAgICAgLyoqIEVsZW1lbnQgc3BlY2lmaWMgZGF0YS4qL1xuICAgICAgICAgICAgICAgIGRhdGE6IFByb3BUeXBlcy5zaGFwZSh7XG4gICAgICAgICAgICAgICAgICAgIC8qKiAgUmVmZXJlbmNlIHRvIHRoZSBlbGVtZW50LCB1c2VmdWwgZm9yIHNlbGVjdG9ycyBhbmQgZWRnZXMuIFJhbmRvbWx5IGFzc2lnbmVkIGlmIG5vdCBnaXZlbi4qL1xuICAgICAgICAgICAgICAgICAgICBpZDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgICAgICAgICAgICAgICAgLyoqXG4gICAgICAgICAgICAgICAgICAgICAqIE9wdGlvbmFsIG5hbWUgZm9yIHRoZSBlbGVtZW50LCB1c2VmdWwgd2hlbiBgZGF0YShsYWJlbClgIGlzIGdpdmVuIHRvIGEgc3R5bGUncyBgY29udGVudGBcbiAgICAgICAgICAgICAgICAgICAgICogb3IgYGxhYmVsYC4gSXQgaXMgb25seSBhIGNvbnZlbnRpb24uICovXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICAgICAgICAgICAgICAvKiogT25seSBmb3Igbm9kZXMuIE9wdGlvbmFsIHJlZmVyZW5jZSB0byBhbm90aGVyIG5vZGUuIE5lZWRlZCB0byBjcmVhdGUgY29tcG91bmQgbm9kZXMuICovXG4gICAgICAgICAgICAgICAgICAgIHBhcmVudDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgICAgICAgICAgICAgICAgLyoqIE9ubHkgZm9yIGVkZ2VzLiBUaGUgaWQgb2YgdGhlIHNvdXJjZSBub2RlLCB3aGljaCBpcyB3aGVyZSB0aGUgZWRnZSBzdGFydHMuICovXG4gICAgICAgICAgICAgICAgICAgIHNvdXJjZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgICAgICAgICAgICAgICAgLyoqIE9ubHkgZm9yIGVkZ2VzLiBUaGUgaWQgb2YgdGhlIHRhcmdldCBub2RlLCB3aGVyZSB0aGUgZWRnZSBlbmRzLiAqL1xuICAgICAgICAgICAgICAgICAgICB0YXJnZXQ6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgLyoqIE9ubHkgZm9yIG5vZGVzLiBUaGUgcG9zaXRpb24gb2YgdGhlIG5vZGUuICovXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IFByb3BUeXBlcy5zaGFwZSh7XG4gICAgICAgICAgICAgICAgICAgIC8qKiBUaGUgeC1jb29yZGluYXRlIG9mIHRoZSBub2RlLiAqL1xuICAgICAgICAgICAgICAgICAgICB4OiBQcm9wVHlwZXMubnVtYmVyLFxuICAgICAgICAgICAgICAgICAgICAvKiogVGhlIHktY29vcmRpbmF0ZSBvZiB0aGUgbm9kZS4gKi9cbiAgICAgICAgICAgICAgICAgICAgeTogUHJvcFR5cGVzLm51bWJlcixcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAvKiogSWYgdGhlIGVsZW1lbnQgaXMgc2VsZWN0ZWQgdXBvbiBpbml0aWFsaXNhdGlvbi4gKi9cbiAgICAgICAgICAgICAgICBzZWxlY3RlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgICAgICAgICAgICAgLyoqIElmIHRoZSBlbGVtZW50IGNhbiBiZSBzZWxlY3RlZC4gKi9cbiAgICAgICAgICAgICAgICBzZWxlY3RhYmxlOiBQcm9wVHlwZXMuYm9vbCxcbiAgICAgICAgICAgICAgICAvKiogT25seSBmb3Igbm9kZXMuIElmIHRoZSBwb3NpdGlvbiBpcyBpbW11dGFibGUuICovXG4gICAgICAgICAgICAgICAgbG9ja2VkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICAgICAgICAgICAgICAvKiogT25seSBmb3Igbm9kZXMuIElmIHRoZSBub2RlIGNhbiBiZSBncmFiYmVkIGFuZCBtb3ZlZCBieSB0aGUgdXNlci4gKi9cbiAgICAgICAgICAgICAgICBncmFiYmFibGU6IFByb3BUeXBlcy5ib29sLFxuICAgICAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICAgICAqIFNwYWNlIHNlcGFyYXRlZCBzdHJpbmcgb2YgY2xhc3MgbmFtZXMgb2YgdGhlIGVsZW1lbnQuIFRob3NlIGNsYXNzZXMgY2FuIGJlIHNlbGVjdGVkXG4gICAgICAgICAgICAgICAgICogYnkgYSBzdHlsZSBzZWxlY3Rvci5cbiAgICAgICAgICAgICAgICAgKi9cbiAgICAgICAgICAgICAgICBjbGFzc2VzOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgKSxcbiAgICAgICAgUHJvcFR5cGVzLmV4YWN0KHtcbiAgICAgICAgICAgIG5vZGVzOiBQcm9wVHlwZXMuYXJyYXksXG4gICAgICAgICAgICBlZGdlczogUHJvcFR5cGVzLmFycmF5LFxuICAgICAgICB9KSxcbiAgICBdKSxcblxuICAgIC8qKlxuICAgICAqIEEgbGlzdCBvZiBkaWN0aW9uYXJpZXMgcmVwcmVzZW50aW5nIHRoZSBzdHlsZXMgb2YgdGhlIGVsZW1lbnRzLlxuICAgICAqIEVhY2ggZGljdGlvbmFyeSByZXF1aXJlcyB0aGUgZm9sbG93aW5nIGtleXM6IGBzZWxlY3RvcmAgYW5kIGBzdHlsZWAuXG4gICAgICpcbiAgICAgKiBCb3RoIHRoZSBbc2VsZWN0b3JdKGh0dHBzOi8vanMuY3l0b3NjYXBlLm9yZy8jc2VsZWN0b3JzKSBhbmRcbiAgICAgKiB0aGUgW3N0eWxlXShodHRwczovL2pzLmN5dG9zY2FwZS5vcmcvI3N0eWxlL25vZGUtYm9keSkgYXJlXG4gICAgICogZXhoYXVzdGl2ZWx5IGRvY3VtZW50ZWQgaW4gdGhlIEN5dG9zY2FwZS5qcyBkb2NzLiBBbHRob3VnaCBtZXRob2RzIHN1Y2hcbiAgICAgKiBhcyBgY3kuZWxlbWVudHMoLi4uKWAgYW5kIGBjeS5maWx0ZXIoLi4uKWAgYXJlIG5vdCBhdmFpbGFibGUsIHRoZSBzZWxlY3RvclxuICAgICAqIHN0cmluZyBzeW50YXggc3RheXMgdGhlIHNhbWUuXG4gICAgICovXG4gICAgc3R5bGVzaGVldDogUHJvcFR5cGVzLmFycmF5T2YoXG4gICAgICAgIFByb3BUeXBlcy5leGFjdCh7XG4gICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAqIFdoaWNoIGVsZW1lbnRzIHlvdSBhcmUgc3R5bGluZy4gR2VuZXJhbGx5LCB5b3Ugc2VsZWN0IGEgZ3JvdXAgb2YgZWxlbWVudHMgKG5vZGUsIGVkZ2VzLCBib3RoKSxcbiAgICAgICAgICAgICAqIGEgY2xhc3MgKHRoYXQgeW91IGRlY2xhcmUgaW4gdGhlIGVsZW1lbnQgZGljdGlvbmFyeSksIG9yIGFuIGVsZW1lbnQgYnkgSUQuXG4gICAgICAgICAgICAgKi9cbiAgICAgICAgICAgIHNlbGVjdG9yOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAqIFdoYXQgYXNwZWN0cyBvZiB0aGUgZWxlbWVudHMgeW91IHdhbnQgdG8gbW9kaWZ5LiBUaGlzIGNvdWxkIGJlIHRoZSBzaXplIG9yXG4gICAgICAgICAgICAgKiBjb2xvciBvZiBhIG5vZGUsIHRoZSBzaGFwZSBvZiBhbiBlZGdlIGFycm93LCBvciBtYW55IG1vcmUuXG4gICAgICAgICAgICAgKi9cbiAgICAgICAgICAgIHN0eWxlOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWQsXG4gICAgICAgIH0pXG4gICAgKSxcblxuICAgIC8qKlxuICAgICAqIEEgZGljdGlvbmFyeSBzcGVjaWZ5aW5nIGhvdyB0byBzZXQgdGhlIHBvc2l0aW9uIG9mIHRoZSBlbGVtZW50cyBpbiB5b3VyXG4gICAgICogZ3JhcGguIFRoZSBgJ25hbWUnYCBrZXkgaXMgcmVxdWlyZWQsIGFuZCBpbmRpY2F0ZXMgd2hpY2ggbGF5b3V0IChhbGdvcml0aG0pIHRvXG4gICAgICogdXNlLiBUaGUga2V5cyBhY2NlcHRlZCBieSBgbGF5b3V0YCB2YXJ5IGRlcGVuZGluZyBvbiB0aGUgYWxnb3JpdGhtLCBidXQgdGhlc2VcbiAgICAgKiBrZXlzIGFyZSBhY2NlcHRlZCBieSBhbGwgbGF5b3V0czogYGZpdGAsICBgcGFkZGluZ2AsIGBhbmltYXRlYCwgYGFuaW1hdGlvbkR1cmF0aW9uYCxcbiAgICAgKiBgYm91bmRpbmdCb3hgLlxuICAgICAqXG4gICAgICogIFRoZSBjb21wbGV0ZSBsaXN0IG9mIGxheW91dHMgYW5kIHRoZWlyIGFjY2VwdGVkIG9wdGlvbnMgYXJlIGF2YWlsYWJsZSBvbiB0aGVcbiAgICAgKiAgW0N5dG9zY2FwZS5qcyBkb2NzXShodHRwczovL2pzLmN5dG9zY2FwZS5vcmcvI2xheW91dHMpIC4gRm9yIHRoZSBleHRlcm5hbCBsYXlvdXRzLFxuICAgICAqIHRoZSBvcHRpb25zIGFyZSBsaXN0ZWQgaW4gdGhlIFwiQVBJXCIgc2VjdGlvbiBvZiB0aGUgIFJFQURNRS5cbiAgICAgKiAgTm90ZSB0aGF0IGNlcnRhaW4ga2V5cyBhcmUgbm90IHN1cHBvcnRlZCBpbiBEYXNoIHNpbmNlIHRoZSB2YWx1ZSBpcyBhIEphdmFTY3JpcHRcbiAgICAgKiAgZnVuY3Rpb24gb3IgYSBjYWxsYmFjay4gUGxlYXNlIHZpc2l0IHRoaXNcbiAgICAgKiBbaXNzdWVdKGh0dHBzOi8vZ2l0aHViLmNvbS9wbG90bHkvZGFzaC1jeXRvc2NhcGUvaXNzdWVzLzI1KSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiAgICAgKi9cbiAgICBsYXlvdXQ6IFByb3BUeXBlcy5zaGFwZSh7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBUaGUgbGF5b3V0cyBhdmFpbGFibGUgYnkgZGVmYXVsdCBhcmU6XG4gICAgICAgICAqICAgYHJhbmRvbWA6IFJhbmRvbWx5IGFzc2lnbnMgcG9zaXRpb25zLlxuICAgICAgICAgKiAgIGBwcmVzZXRgOiBBc3NpZ25zIHBvc2l0aW9uIGJhc2VkIG9uIHRoZSBgcG9zaXRpb25gIGtleSBpbiBlbGVtZW50IGRpY3Rpb25hcmllcy5cbiAgICAgICAgICogICBgY2lyY2xlYDogU2luZ2xlLWxldmVsIGNpcmNsZSwgd2l0aCBvcHRpb25hbCByYWRpdXMuXG4gICAgICAgICAqICAgYGNvbmNlbnRyaWNgOiBNdWx0aS1sZXZlbCBjaXJjbGUsIHdpdGggb3B0aW9uYWwgcmFkaXVzLlxuICAgICAgICAgKiAgIGBncmlkYDogU3F1YXJlIGdyaWQsIG9wdGlvbmFsbHkgd2l0aCBudW1iZXJzIG9mIGByb3dzYCBhbmQgYGNvbHNgLlxuICAgICAgICAgKiAgIGBicmVhZHRoZmlyc3RgOiBUcmVlIHN0cnVjdHVyZSBidWlsdCB1c2luZyBCRlMsIHdpdGggb3B0aW9uYWwgYHJvb3RzYC5cbiAgICAgICAgICogICBgY29zZWA6IEZvcmNlLWRpcmVjdGVkIHBoeXNpY3Mgc2ltdWxhdGlvbi5cbiAgICAgICAgICpcbiAgICAgICAgICogU29tZSBleHRlcm5hbCBsYXlvdXRzIGFyZSBhbHNvIGluY2x1ZGVkLiBUbyB1c2UgdGhlbSwgcnVuXG4gICAgICAgICAqICAgYGRhc2hfY3l0b3NjYXBlLmxvYWRfZXh0cmFfbGF5b3V0cygpYCBiZWZvcmUgY3JlYXRpbmcgeW91ciBEYXNoIGFwcC4gQmUgY2FyZWZ1bCBhYm91dFxuICAgICAgICAgKiAgIHVzaW5nIHRoZSBleHRyYSBsYXlvdXRzIHdoZW4gbm90IG5lY2Vzc2FyeSwgc2luY2UgdGhleSByZXF1aXJlIHN1cHBsZW1lbnRhcnkgYmFuZHdpZHRoXG4gICAgICAgICAqICAgZm9yIGxvYWRpbmcsIHdoaWNoIGltcGFjdHMgdGhlIHN0YXJ0dXAgdGltZSBvZiB0aGUgYXBwLlxuICAgICAgICAgKiAgIFRoZSBleHRlcm5hbCBsYXlvdXRzIGFyZTpcbiAgICAgICAgICogICBbY29zZS1iaWxrZW50XShodHRwczovL2dpdGh1Yi5jb20vY3l0b3NjYXBlL2N5dG9zY2FwZS5qcy1jb3NlLWJpbGtlbnQpLFxuICAgICAgICAgKiAgIFtmY29zZV0oaHR0cHM6Ly9naXRodWIuY29tL2lWaXMtYXQtQmlsa2VudC9jeXRvc2NhcGUuanMtZmNvc2UpLFxuICAgICAgICAgKiAgIFtjb2xhXShodHRwczovL2dpdGh1Yi5jb20vY3l0b3NjYXBlL2N5dG9zY2FwZS5qcy1jb2xhKSxcbiAgICAgICAgICogICBbZXVsZXJdKGh0dHBzOi8vZ2l0aHViLmNvbS9jeXRvc2NhcGUvY3l0b3NjYXBlLmpzLWRhZ3JlKSxcbiAgICAgICAgICogICBbc3ByZWFkXShodHRwczovL2dpdGh1Yi5jb20vY3l0b3NjYXBlL2N5dG9zY2FwZS5qcy1zcHJlYWQpLFxuICAgICAgICAgKiAgIFtkYWdyZV0oaHR0cHM6Ly9naXRodWIuY29tL2N5dG9zY2FwZS9jeXRvc2NhcGUuanMtZGFncmUpLFxuICAgICAgICAgKiAgIFtrbGF5XShodHRwczovL2dpdGh1Yi5jb20vY3l0b3NjYXBlL2N5dG9zY2FwZS5qcy1rbGF5KSxcbiAgICAgICAgICovXG4gICAgICAgIG5hbWU6IFByb3BUeXBlcy5vbmVPZihbXG4gICAgICAgICAgICAncmFuZG9tJyxcbiAgICAgICAgICAgICdwcmVzZXQnLFxuICAgICAgICAgICAgJ2NpcmNsZScsXG4gICAgICAgICAgICAnY29uY2VudHJpYycsXG4gICAgICAgICAgICAnZ3JpZCcsXG4gICAgICAgICAgICAnYnJlYWR0aGZpcnN0JyxcbiAgICAgICAgICAgICdjb3NlJyxcbiAgICAgICAgICAgICdjb3NlLWJpbGtlbnQnLFxuICAgICAgICAgICAgJ2Zjb3NlJyxcbiAgICAgICAgICAgICdjb2xhJyxcbiAgICAgICAgICAgICdldWxlcicsXG4gICAgICAgICAgICAnc3ByZWFkJyxcbiAgICAgICAgICAgICdkYWdyZScsXG4gICAgICAgICAgICAna2xheScsXG4gICAgICAgIF0pLmlzUmVxdWlyZWQsXG4gICAgICAgIC8qKiAgV2hldGhlciB0byByZW5kZXIgdGhlIG5vZGVzIGluIG9yZGVyIHRvIGZpdCB0aGUgY2FudmFzLiAqL1xuICAgICAgICBmaXQ6IFByb3BUeXBlcy5ib29sLFxuICAgICAgICAvKiogUGFkZGluZyBhcm91bmQgdGhlIHNpZGVzIG9mIHRoZSBjYW52YXMsIGlmIGZpdCBpcyBlbmFibGVkLiAqL1xuICAgICAgICBwYWRkaW5nOiBQcm9wVHlwZXMubnVtYmVyLFxuICAgICAgICAvKiogV2hldGhlciB0byBhbmltYXRlIGNoYW5nZSBpbiBwb3NpdGlvbiB3aGVuIHRoZSBsYXlvdXQgY2hhbmdlcy4gKi9cbiAgICAgICAgYW5pbWF0ZTogUHJvcFR5cGVzLmJvb2wsXG4gICAgICAgIC8qKiBEdXJhdGlvbiBvZiBhbmltYXRpb24gaW4gbWlsbGlzZWNvbmRzLCBpZiBlbmFibGVkLiAqL1xuICAgICAgICBhbmltYXRpb25EdXJhdGlvbjogUHJvcFR5cGVzLm51bWJlcixcbiAgICAgICAgLyoqXG4gICAgICAgICAqIEhvdyB0byBjb25zdHJhaW4gdGhlIGxheW91dCBpbiBhIHNwZWNpZmljIGFyZWEuIEtleXMgYWNjZXB0ZWQgYXJlIGVpdGhlclxuICAgICAgICAgKiBgeDEsIHkxLCB4MiwgeTJgIG9yIGB4MSwgeTEsIHcsIGhgLCBhbGwgb2Ygd2hpY2ggcmVjZWl2ZSBhIHBpeGVsIHZhbHVlLlxuICAgICAgICAgKi9cbiAgICAgICAgYm91bmRpbmdCb3g6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgfSksXG4gICAgLyoqXG4gICAgICogRGVmaW5lIGEgY3VzdG9tIGNvbnRleHQgbWVudS4gVGhlIGJlaGF2aW91ciBvZiBlYWNoIG1lbnUgaXRlbSBjYW4gYmUgZGVmaW5lZCBpbiAxIG9mIDMgd2F5cy5cbiAgICAgKiAxLiBCeSBwYXNzaW5nIGEgc3RyaW5nIHRvIG9uQ2xpY2sgdGhhdCByZWZlcnMgdG8gb25lIG9mIHRoZSBidWlsdC1pbiBKYXZhc2NyaXB0IGZ1bmN0aW9ucy5cbiAgICAgKiAyLiBCeSBwYXNzaW5nIGEgc3RyaW5nIHRvIG9uQ2xpY2tDdXN0b20gdGhhdCByZWZlcnMgdG8gb25lIG9mIHRoZSB1c2VyLWRlZmluZWQgZnVuY3Rpb25zIGluIGEgbmFtZXNwYWNlLlxuICAgICAqIDMuIEJ5IG9taXR0aW5nIGJvdGggb2YgdGhlc2UgcHJvcGVydGllczsgdGhpcyB3aWxsIHVwZGF0ZSB0aGUgY29udGV4dE1lbnVEYXRhIHByb3BlcnR5IGFuZCB0cmlnZ2VyIGEgRGFzaCBjYWxsYmFjay5cbiAgICAgKi9cbiAgICBjb250ZXh0TWVudTogUHJvcFR5cGVzLmFycmF5T2YoXG4gICAgICAgIFByb3BUeXBlcy5leGFjdCh7XG4gICAgICAgICAgICAvKiogSUQgb2YgdGhlIG1lbnUgaXRlbSBpbiB0aGUgY29udGV4dCBtZW51ICovXG4gICAgICAgICAgICBpZDogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICAgICAgICAgICAgLyoqIFRoZSBsYWJlbCBvbiB0aGUgY29udGV4dCBtZW51IGl0ZW0qL1xuICAgICAgICAgICAgbGFiZWw6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgICAgICAgICAgIC8qKiBUaGUgdG9vbHRpcCB0ZXh0IHdoZW4gaG92ZXJpbmcgb24gdG9wIG9mIGEgY29udGV4dCBtZW51IGl0ZW0gKi9cbiAgICAgICAgICAgIHRvb2x0aXBUZXh0OiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICAgICAgLyoqIEEgbGlzdCBjb250YWluaW5nIGVpdGhlciAnbm9kZScsICdlZGdlJyxhbmQvb3IgJ2NhbnZhcycuIFRoaXMgd2lsbCBkZXRlcm1pbmUgd2hlcmUgdGhlIGNvbnRleHRcbiAgICAgICAgICAgICAqICBtZW51IGl0ZW0gd2lsbCBzaG93IHVwLlxuICAgICAgICAgICAgICovXG4gICAgICAgICAgICBhdmFpbGFibGVPbjogUHJvcFR5cGVzLmFycmF5LFxuICAgICAgICAgICAgLyoqIFNwZWNpZnkgd2hpY2ggYnVpbHQtaW4gSmF2YVNjcmlwdCBmdW5jdGlvbiB0byB1c2UgYXMgYmVoYXZpb3VyIGZvciB0aGUgY29udGV4dFxuICAgICAgICAgICAgICogbWVudSBpdGVtLiBPbmUgb2YgJ3JlbW92ZScsICdhZGRfbm9kZScsIG9yICdhZGRfZWRnZSdcbiAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgb25DbGljazogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgICAgICAgIC8qKiBTcGVjaWZ5IHdoaWNoIHVzZXItZGVmaW5lZCBKYXZhc2NyaXB0IGZ1bmN0aW9uIHRvIHVzZSBpbiB0aGUgZGFzaEN5dG9zY2FwZUZ1bmN0aW9uc1xuICAgICAgICAgICAgICogbmFtZXNwYWNlIGFzIGJlaGF2aW91ciBmb3IgdGhlIGNvbnRleHQgbWVudSBpdGVtXG4gICAgICAgICAgICAgKi9cbiAgICAgICAgICAgIG9uQ2xpY2tDdXN0b206IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICAgIH0pXG4gICAgKSxcbiAgICAvKipcbiAgICAgKiBSZXRyaWV2ZSByZWxldmFudCBkYXRhIHdoZW4gYSBjb250ZXh0IG1lbnUgaXRlbSBpcyBjbGlja2VkLiAgUmVhZC1vbmx5LlxuICAgICAqL1xuICAgIGNvbnRleHRNZW51RGF0YTogUHJvcFR5cGVzLmV4YWN0KHtcbiAgICAgICAgLyoqIElEIG9mIHRoZSBtZW51IGl0ZW0gaW4gdGhlIGNvbnRleHQgbWVudSAqL1xuICAgICAgICBtZW51SXRlbUlkOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICAvKiogeC1wb3NpdGlvbiBvZiB0aGUgY29udGV4dCBjbGljayAqL1xuICAgICAgICB4OiBQcm9wVHlwZXMubnVtYmVyLFxuICAgICAgICAvKiogeS1wb3NpdGlvbiBvZiB0aGUgY29udGV4dCBjbGljayAqL1xuICAgICAgICB5OiBQcm9wVHlwZXMubnVtYmVyLFxuICAgICAgICAvKiogVGltZXN0YW1wIG9mIGNvbnRleHQgY2xpY2sqL1xuICAgICAgICB0aW1lU3RhbXA6IFByb3BUeXBlcy5udW1iZXIsXG4gICAgICAgIC8qKiBFbGVtZW50IElEIG9uIGNvbnRleHQgY2xpY2sgaWYgdGhlIGNvbnRleHQgY2xpY2sgd2FzIG9uIGFuIGVsZW1lbnQuXG4gICAgICAgICAqIElmIGNvbnRleHQgY2xpY2sgd2FzIG9uIHdoaXRlIHNwYWNlLCB0aGlzIHByb3BlcnR5IGlzIG5vdCByZXR1cm5lZFxuICAgICAgICAgKi9cbiAgICAgICAgZWxlbWVudElkOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICAvKiogTm9kZSBJRCBvZiB0aGUgZWRnZSBzb3VyY2UgaWYgdGhlIGNsaWNrZWQgZWxlbWVudCBpcyBhbiBlZGdlLFxuICAgICAgICAgKiBvciBlbHNlIHRoaXMgcHJvcGVydHkgaXMgbm90IHJldHVybmVkKi9cbiAgICAgICAgZWRnZVNvdXJjZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgICAgLyoqIE5vZGUgSUQgb2YgdGhlIGVkZ2UgdGFyZ2V0IGlmIHRoZSBjbGlja2VkIGVsZW1lbnQgaXMgYW4gZWRnZSxcbiAgICAgICAgICogb3IgZWxzZSB0aGlzIHByb3BlcnR5IGlzIG5vdCByZXR1cm5lZCovXG4gICAgICAgIGVkZ2VUYXJnZXQ6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgfSksXG4gICAgLy8gVmlld3BvcnQgTWFuaXB1bGF0aW9uXG5cbiAgICAvKipcbiAgICAgKiBEaWN0aW9uYXJ5IGluZGljYXRpbmcgdGhlIGluaXRpYWwgcGFubmluZyBwb3NpdGlvbiBvZiB0aGUgZ3JhcGguIFRoZVxuICAgICAqIGZvbGxvd2luZyBrZXlzIGFyZSBhY2NlcHRlZDpcbiAgICAgKi9cbiAgICBwYW46IFByb3BUeXBlcy5leGFjdCh7XG4gICAgICAgIC8qKiBUaGUgeC1jb29yZGluYXRlIG9mIHRoZSBub2RlICovXG4gICAgICAgIHg6IFByb3BUeXBlcy5udW1iZXIsXG4gICAgICAgIC8qKiBUaGUgeS1jb29yZGluYXRlIG9mIHRoZSBub2RlICAqL1xuICAgICAgICB5OiBQcm9wVHlwZXMubnVtYmVyLFxuICAgIH0pLFxuXG4gICAgLyoqXG4gICAgICogVGhlIGluaXRpYWwgem9vbSBsZXZlbCBvZiB0aGUgZ3JhcGguIFlvdSBjYW4gc2V0IGBtaW5ab29tYCBhbmRcbiAgICAgKiBgbWF4Wm9vbWAgdG8gc2V0IHJlc3RyaWN0aW9ucyBvbiB0aGUgem9vbSBsZXZlbC5cbiAgICAgKi9cbiAgICB6b29tOiBQcm9wVHlwZXMubnVtYmVyLFxuXG4gICAgLy8gVmlld3BvcnQgTXV0YWJpbGl0eSBhbmQgZ2VzdHVyZSBUb2dnbGluZ1xuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgcGFubmluZyB0aGUgZ3JhcGggaXMgZW5hYmxlZCAoaS5lLiwgdGhlIHBvc2l0aW9uIG9mIHRoZSBncmFwaCBpc1xuICAgICAqIG11dGFibGUgb3ZlcmFsbCkuXG4gICAgICovXG4gICAgcGFubmluZ0VuYWJsZWQ6IFByb3BUeXBlcy5ib29sLFxuXG4gICAgLyoqXG4gICAgICogV2hldGhlciB1c2VyIGV2ZW50cyAoZS5nLiBkcmFnZ2luZyB0aGUgZ3JhcGggYmFja2dyb3VuZCkgYXJlIGFsbG93ZWQgdG9cbiAgICAgKiBwYW4gdGhlIGdyYXBoLlxuICAgICAqL1xuICAgIHVzZXJQYW5uaW5nRW5hYmxlZDogUHJvcFR5cGVzLmJvb2wsXG5cbiAgICAvKipcbiAgICAgKiBBIG1pbmltdW0gYm91bmQgb24gdGhlIHpvb20gbGV2ZWwgb2YgdGhlIGdyYXBoLiBUaGUgdmlld3BvcnQgY2FuIG5vdCBiZVxuICAgICAqIHNjYWxlZCBzbWFsbGVyIHRoYW4gdGhpcyB6b29tIGxldmVsLlxuICAgICAqL1xuICAgIG1pblpvb206IFByb3BUeXBlcy5udW1iZXIsXG5cbiAgICAvKipcbiAgICAgKiBBIG1heGltdW0gYm91bmQgb24gdGhlIHpvb20gbGV2ZWwgb2YgdGhlIGdyYXBoLiBUaGUgdmlld3BvcnQgY2FuIG5vdCBiZVxuICAgICAqIHNjYWxlZCBsYXJnZXIgdGhhbiB0aGlzIHpvb20gbGV2ZWwuXG4gICAgICovXG4gICAgbWF4Wm9vbTogUHJvcFR5cGVzLm51bWJlcixcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgem9vbWluZyB0aGUgZ3JhcGggaXMgZW5hYmxlZCAoaS5lLiwgdGhlIHpvb20gbGV2ZWwgb2YgdGhlIGdyYXBoXG4gICAgICogaXMgbXV0YWJsZSBvdmVyYWxsKS5cbiAgICAgKi9cbiAgICB6b29taW5nRW5hYmxlZDogUHJvcFR5cGVzLmJvb2wsXG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHVzZXIgZXZlbnRzIChlLmcuIGRyYWdnaW5nIHRoZSBncmFwaCBiYWNrZ3JvdW5kKSBhcmUgYWxsb3dlZFxuICAgICAqIHRvIHBhbiB0aGUgZ3JhcGguXG4gICAgICovXG4gICAgdXNlclpvb21pbmdFbmFibGVkOiBQcm9wVHlwZXMuYm9vbCxcblxuICAgIC8qKlxuICAgICAqIENoYW5nZXMgdGhlIHNjcm9sbCB3aGVlbCBzZW5zaXRpdml0eSB3aGVuIHpvb21pbmcuXG4gICAgICovXG4gICAgd2hlZWxTZW5zaXRpdml0eTogUHJvcFR5cGVzLm51bWJlcixcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgYm94IHNlbGVjdGlvbiAoaS5lLiBkcmFnIGEgYm94IG92ZXJsYXkgYXJvdW5kLCBhbmQgcmVsZWFzZSBpdFxuICAgICAqIHRvIHNlbGVjdCkgaXMgZW5hYmxlZC4gSWYgZW5hYmxlZCwgdGhlIHVzZXIgbXVzdCB0YXBob2xkIHRvIHBhbiB0aGUgZ3JhcGguXG4gICAgICovXG4gICAgYm94U2VsZWN0aW9uRW5hYmxlZDogUHJvcFR5cGVzLmJvb2wsXG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIG5vZGVzIHNob3VsZCBiZSB1bmdyYWJpZmllZCAobm90IGdyYWJiYWJsZSBieSB1c2VyKSBieVxuICAgICAqIGRlZmF1bHQgKGlmIHRydWUsIG92ZXJyaWRlcyBpbmRpdmlkdWFsIG5vZGUgc3RhdGUpLlxuICAgICAqL1xuICAgIGF1dG91bmdyYWJpZnk6IFByb3BUeXBlcy5ib29sLFxuXG4gICAgLyoqXG4gICAgICogV2hldGhlciBub2RlcyBzaG91bGQgYmUgbG9ja2VkIChub3QgZHJhZ2dhYmxlIGF0IGFsbCkgYnkgZGVmYXVsdFxuICAgICAqIChpZiB0cnVlLCBvdmVycmlkZXMgaW5kaXZpZHVhbCBub2RlIHN0YXRlKS5cbiAgICAgKi9cbiAgICBhdXRvbG9jazogUHJvcFR5cGVzLmJvb2wsXG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIG5vZGVzIHNob3VsZCBiZSB1bnNlbGVjdGlmaWVkIChpbW11dGFibGUgc2VsZWN0aW9uIHN0YXRlKSBieVxuICAgICAqIGRlZmF1bHQgKGlmIHRydWUsIG92ZXJyaWRlcyBpbmRpdmlkdWFsIGVsZW1lbnQgc3RhdGUpLlxuICAgICAqL1xuICAgIGF1dG91bnNlbGVjdGlmeTogUHJvcFR5cGVzLmJvb2wsXG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRoZSBsYXlvdXQgc2hvdWxkIGJlIHJlZnJlc2hlZCB3aGVuIGVsZW1lbnRzIGFyZSBhZGRlZCBvciByZW1vdmVkLlxuICAgICAqL1xuICAgIGF1dG9SZWZyZXNoTGF5b3V0OiBQcm9wVHlwZXMuYm9vbCxcblxuICAgIC8vIFVzZXIgRXZlbnRzIFByb3BzXG5cbiAgICAvKipcbiAgICAgKiBUaGUgY29tcGxldGUgbm9kZSBkaWN0aW9uYXJ5IHJldHVybmVkIHdoZW4geW91IHRhcCBvciBjbGljayBpdC4gUmVhZC1vbmx5LlxuICAgICAqL1xuICAgIHRhcE5vZGU6IFByb3BUeXBlcy5leGFjdCh7XG4gICAgICAgIC8qKiBub2RlIHNwZWNpZmljIGl0ZW0gKi9cbiAgICAgICAgZWRnZXNEYXRhOiBQcm9wVHlwZXMuYXJyYXksXG4gICAgICAgIC8qKiBub2RlIHNwZWNpZmljIGl0ZW0gKi9cbiAgICAgICAgcmVuZGVyZWRQb3NpdGlvbjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICAgICAgLyoqIG5vZGUgc3BlY2lmaWMgaXRlbSAqL1xuICAgICAgICB0aW1lU3RhbXA6IFByb3BUeXBlcy5udW1iZXIsXG4gICAgICAgIC8qKiBHZW5lcmFsIGl0ZW0gKGZvciBhbGwgZWxlbWVudHMpICovXG4gICAgICAgIGNsYXNzZXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICAgIC8qKiBHZW5lcmFsIGl0ZW0gKGZvciBhbGwgZWxlbWVudHMpICovXG4gICAgICAgIGRhdGE6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgICAgIC8qKiBHZW5lcmFsIGl0ZW0gKGZvciBhbGwgZWxlbWVudHMpICovXG4gICAgICAgIGdyYWJiYWJsZTogUHJvcFR5cGVzLmJvb2wsXG4gICAgICAgIC8qKiBHZW5lcmFsIGl0ZW0gKGZvciBhbGwgZWxlbWVudHMpICovXG4gICAgICAgIGdyb3VwOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICAvKiogR2VuZXJhbCBpdGVtIChmb3IgYWxsIGVsZW1lbnRzKSAqL1xuICAgICAgICBsb2NrZWQ6IFByb3BUeXBlcy5ib29sLFxuICAgICAgICAvKiogR2VuZXJhbCBpdGVtIChmb3IgYWxsIGVsZW1lbnRzKSAqL1xuICAgICAgICBwb3NpdGlvbjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICAgICAgLyoqIEdlbmVyYWwgaXRlbSAoZm9yIGFsbCBlbGVtZW50cykgKi9cbiAgICAgICAgc2VsZWN0YWJsZTogUHJvcFR5cGVzLmJvb2wsXG4gICAgICAgIC8qKiBHZW5lcmFsIGl0ZW0gKGZvciBhbGwgZWxlbWVudHMpICovXG4gICAgICAgIHNlbGVjdGVkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICAgICAgLyoqIEdlbmVyYWwgaXRlbSAoZm9yIGFsbCBlbGVtZW50cykgKi9cbiAgICAgICAgc3R5bGU6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgICAgIC8qKiBJdGVtIGZvciBjb21wb3VuZCBub2RlcyAqL1xuICAgICAgICBhbmNlc3RvcnNEYXRhOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMub2JqZWN0LCBQcm9wVHlwZXMuYXJyYXldKSxcbiAgICAgICAgLyoqIEl0ZW0gZm9yIGNvbXBvdW5kIG5vZGVzICovXG4gICAgICAgIGNoaWxkcmVuRGF0YTogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLm9iamVjdCwgUHJvcFR5cGVzLmFycmF5XSksXG4gICAgICAgIC8qKiBJdGVtIGZvciBjb21wb3VuZCBub2RlcyAqL1xuICAgICAgICBkZXNjZW5kYW50c0RhdGE6IFByb3BUeXBlcy5vbmVPZlR5cGUoW1xuICAgICAgICAgICAgUHJvcFR5cGVzLm9iamVjdCxcbiAgICAgICAgICAgIFByb3BUeXBlcy5hcnJheSxcbiAgICAgICAgXSksXG4gICAgICAgIC8qKiBJdGVtIGZvciBjb21wb3VuZCBub2RlcyAqL1xuICAgICAgICBwYXJlbnREYXRhOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMub2JqZWN0LCBQcm9wVHlwZXMuYXJyYXldKSxcbiAgICAgICAgLyoqIEl0ZW0gZm9yIGNvbXBvdW5kIG5vZGVzICovXG4gICAgICAgIHNpYmxpbmdzRGF0YTogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLm9iamVjdCwgUHJvcFR5cGVzLmFycmF5XSksXG4gICAgICAgIC8qKiBJdGVtIGZvciBjb21wb3VuZCBub2RlcyAqL1xuICAgICAgICBpc1BhcmVudDogUHJvcFR5cGVzLmJvb2wsXG4gICAgICAgIC8qKiBJdGVtIGZvciBjb21wb3VuZCBub2RlcyAqL1xuICAgICAgICBpc0NoaWxkbGVzczogUHJvcFR5cGVzLmJvb2wsXG4gICAgICAgIC8qKiBJdGVtIGZvciBjb21wb3VuZCBub2RlcyAqL1xuICAgICAgICBpc0NoaWxkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICAgICAgLyoqIEl0ZW0gZm9yIGNvbXBvdW5kIG5vZGVzICovXG4gICAgICAgIGlzT3JwaGFuOiBQcm9wVHlwZXMuYm9vbCxcbiAgICAgICAgLyoqIEl0ZW0gZm9yIGNvbXBvdW5kIG5vZGVzICovXG4gICAgICAgIHJlbGF0aXZlUG9zaXRpb246IFByb3BUeXBlcy5vYmplY3QsXG4gICAgfSksXG5cbiAgICAvKipcbiAgICAgKiBUaGUgZGF0YSBkaWN0aW9uYXJ5IG9mIGEgbm9kZSByZXR1cm5lZCB3aGVuIHlvdSB0YXAgb3IgY2xpY2sgaXQuIFJlYWQtb25seS5cbiAgICAgKi9cbiAgICB0YXBOb2RlRGF0YTogUHJvcFR5cGVzLm9iamVjdCxcblxuICAgIC8qKlxuICAgICAqIFRoZSBjb21wbGV0ZSBlZGdlIGRpY3Rpb25hcnkgcmV0dXJuZWQgd2hlbiB5b3UgdGFwIG9yIGNsaWNrIGl0LiBSZWFkLW9ubHkuXG4gICAgICovXG4gICAgdGFwRWRnZTogUHJvcFR5cGVzLmV4YWN0KHtcbiAgICAgICAgLyoqIEVkZ2Utc3BlY2lmaWMgaXRlbSAqL1xuICAgICAgICBpc0xvb3A6IFByb3BUeXBlcy5ib29sLFxuICAgICAgICAvKiogRWRnZS1zcGVjaWZpYyBpdGVtICovXG4gICAgICAgIGlzU2ltcGxlOiBQcm9wVHlwZXMuYm9vbCxcbiAgICAgICAgLyoqIEVkZ2Utc3BlY2lmaWMgaXRlbSAqL1xuICAgICAgICBtaWRwb2ludDogUHJvcFR5cGVzLm9iamVjdCxcbiAgICAgICAgLyoqIEVkZ2Utc3BlY2lmaWMgaXRlbSAqL1xuICAgICAgICBzb3VyY2VEYXRhOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgICAgICAvKiogRWRnZS1zcGVjaWZpYyBpdGVtICovXG4gICAgICAgIHNvdXJjZUVuZHBvaW50OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgICAgICAvKiogRWRnZS1zcGVjaWZpYyBpdGVtICovXG4gICAgICAgIHRhcmdldERhdGE6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgICAgIC8qKiBFZGdlLXNwZWNpZmljIGl0ZW0gKi9cbiAgICAgICAgdGFyZ2V0RW5kcG9pbnQ6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgICAgIC8qKiBFZGdlLXNwZWNpZmljIGl0ZW0gKi9cbiAgICAgICAgdGltZVN0YW1wOiBQcm9wVHlwZXMubnVtYmVyLFxuICAgICAgICAvKiogR2VuZXJhbCBpdGVtIChmb3IgYWxsIGVsZW1lbnRzKSAqL1xuICAgICAgICBjbGFzc2VzOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICAvKiogR2VuZXJhbCBpdGVtIChmb3IgYWxsIGVsZW1lbnRzKSAqL1xuICAgICAgICBkYXRhOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgICAgICAvKiogR2VuZXJhbCBpdGVtIChmb3IgYWxsIGVsZW1lbnRzKSAqL1xuICAgICAgICBncmFiYmFibGU6IFByb3BUeXBlcy5ib29sLFxuICAgICAgICAvKiogR2VuZXJhbCBpdGVtIChmb3IgYWxsIGVsZW1lbnRzKSAqL1xuICAgICAgICBncm91cDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgICAgLyoqIEdlbmVyYWwgaXRlbSAoZm9yIGFsbCBlbGVtZW50cykgKi9cbiAgICAgICAgbG9ja2VkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICAgICAgLyoqIEdlbmVyYWwgaXRlbSAoZm9yIGFsbCBlbGVtZW50cykgKi9cbiAgICAgICAgc2VsZWN0YWJsZTogUHJvcFR5cGVzLmJvb2wsXG4gICAgICAgIC8qKiBHZW5lcmFsIGl0ZW0gKGZvciBhbGwgZWxlbWVudHMpICovXG4gICAgICAgIHNlbGVjdGVkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICAgICAgLyoqIEdlbmVyYWwgaXRlbSAoZm9yIGFsbCBlbGVtZW50cykgKi9cbiAgICAgICAgc3R5bGU6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgfSksXG5cbiAgICAvKipcbiAgICAgKiBUaGUgZGF0YSBkaWN0aW9uYXJ5IG9mIGFuIGVkZ2UgcmV0dXJuZWQgd2hlbiB5b3UgdGFwIG9yIGNsaWNrIGl0LiBSZWFkLW9ubHkuXG4gICAgICovXG4gICAgdGFwRWRnZURhdGE6IFByb3BUeXBlcy5vYmplY3QsXG5cbiAgICAvKipcbiAgICAgKiBUaGUgZGF0YSBkaWN0aW9uYXJ5IG9mIGEgbm9kZSByZXR1cm5lZCB3aGVuIHlvdSBob3ZlciBvdmVyIGl0LiBSZWFkLW9ubHkuXG4gICAgICovXG4gICAgbW91c2VvdmVyTm9kZURhdGE6IFByb3BUeXBlcy5vYmplY3QsXG5cbiAgICAvKipcbiAgICAgKiBUaGUgZGF0YSBkaWN0aW9uYXJ5IG9mIGFuIGVkZ2UgcmV0dXJuZWQgd2hlbiB5b3UgaG92ZXIgb3ZlciBpdC4gUmVhZC1vbmx5LlxuICAgICAqL1xuICAgIG1vdXNlb3ZlckVkZ2VEYXRhOiBQcm9wVHlwZXMub2JqZWN0LFxuXG4gICAgLyoqXG4gICAgICogVGhlIGxpc3Qgb2YgZGF0YSBkaWN0aW9uYXJpZXMgb2YgYWxsIHNlbGVjdGVkIG5vZGVzIChlLmcuIHVzaW5nXG4gICAgICogU2hpZnQrQ2xpY2sgdG8gc2VsZWN0IG11bHRpcGxlIG5vZGVzLCBvciBTaGlmdCtEcmFnIHRvIHVzZSBib3ggc2VsZWN0aW9uKS4gUmVhZC1vbmx5LlxuICAgICAqL1xuICAgIHNlbGVjdGVkTm9kZURhdGE6IFByb3BUeXBlcy5hcnJheSxcblxuICAgIC8qKlxuICAgICAqIFRoZSBsaXN0IG9mIGRhdGEgZGljdGlvbmFyaWVzIG9mIGFsbCBzZWxlY3RlZCBlZGdlcyAoZS5nLiB1c2luZ1xuICAgICAqIFNoaWZ0K0NsaWNrIHRvIHNlbGVjdCBtdWx0aXBsZSBub2Rlcywgb3IgU2hpZnQrRHJhZyB0byB1c2UgYm94IHNlbGVjdGlvbikuIFJlYWQtb25seS5cbiAgICAgKi9cbiAgICBzZWxlY3RlZEVkZ2VEYXRhOiBQcm9wVHlwZXMuYXJyYXksXG5cbiAgICAvKipcbiAgICAgKiBEaWN0aW9uYXJ5IHNwZWNpZnlpbmcgb3B0aW9ucyB0byBnZW5lcmF0ZSBhbiBpbWFnZSBvZiB0aGUgY3VycmVudCBjeXRvc2NhcGUgZ3JhcGguXG4gICAgICogVmFsdWUgaXMgY2xlYXJlZCBhZnRlciBkYXRhIGlzIHJlY2VpdmVkIGFuZCBpbWFnZSBpcyBnZW5lcmF0ZWQuIFRoaXMgcHJvcGVydHkgd2lsbFxuICAgICAqIGJlIGlnbm9yZWQgb24gdGhlIGluaXRpYWwgY3JlYXRpb24gb2YgdGhlIGN5dG9zY2FwZSBvYmplY3QgYW5kIG11c3QgYmUgaW52b2tlZCB0aHJvdWdoXG4gICAgICogYSBjYWxsYmFjayBhZnRlciBpdCBoYXMgYmVlbiByZW5kZXJlZC5cbiAgICAgKlxuICAgICAqIElmIHRoZSBhcHAgZG9lcyBub3QgbmVlZCB0aGUgaW1hZ2UgZGF0YSBzZXJ2ZXIgc2lkZSBhbmQvb3IgaXQgd2lsbCBvbmx5IGJlIHVzZWQgdG8gZG93bmxvYWRcbiAgICAgKiB0aGUgaW1hZ2UsIGl0IG1heSBiZSBwcnVkZW50IHRvIGludm9rZSBgJ2Rvd25sb2FkJ2AgZm9yIGBhY3Rpb25gIGluc3RlYWQgb2ZcbiAgICAgKiBgJ3N0b3JlJ2AgdG8gaW1wcm92ZSBwZXJmb3JtYW5jZSBieSBwcmV2ZW50aW5nIHRyYW5zZmVyIG9mIGRhdGEgdG8gdGhlIHNlcnZlci5cbiAgICAgKi9cbiAgICBnZW5lcmF0ZUltYWdlOiBQcm9wVHlwZXMuc2hhcGUoe1xuICAgICAgICAvKiogRmlsZSB0eXBlIHRvIG91dHB1dCAgKi9cbiAgICAgICAgdHlwZTogUHJvcFR5cGVzLm9uZU9mKFsnc3ZnJywgJ3BuZycsICdqcGcnLCAnanBlZyddKSxcbiAgICAgICAgLyoqIERpY3Rpb25hcnkgb2Ygb3B0aW9ucyB0byBjeS5wbmcoKSAvIGN5LmpwZygpIG9yIGN5LnN2ZygpIGZvciBpbWFnZSBnZW5lcmF0aW9uLlxuICAgICAgICAgKiBTZWUgaHR0cHM6Ly9qcy5jeXRvc2NhcGUub3JnLyNjb3JlL2V4cG9ydCBmb3IgZGV0YWlscy4gRm9yIGAnb3V0cHV0J2AsIG9ubHkgJ2Jhc2U2NCdcbiAgICAgICAgICogYW5kICdiYXNlNjR1cmknIGFyZSBzdXBwb3J0ZWQuIERlZmF1bHQ6IGB7J291dHB1dCc6ICdiYXNlNjR1cmknfWAuKi9cbiAgICAgICAgb3B0aW9uczogUHJvcFR5cGVzLm9iamVjdCxcbiAgICAgICAgLyoqXG4gICAgICAgICAqIGAnc3RvcmUnYDogU3RvcmVzIHRoZSBpbWFnZSBkYXRhIChvbmx5IGpwZyBhbmQgcG5nIGFyZSBzdXBwb3J0ZWQpXG4gICAgICAgICAqIGluIGBpbWFnZURhdGFgIGFuZCBpbnZva2VzIHNlcnZlci1zaWRlIERhc2ggY2FsbGJhY2tzLiBgJ2Rvd25sb2FkJ2A6IERvd25sb2FkcyB0aGUgaW1hZ2VcbiAgICAgICAgICogYXMgYSBmaWxlIHdpdGggYWxsIGRhdGEgaGFuZGxpbmcgZG9uZSBjbGllbnQtc2lkZS4gTm8gYGltYWdlRGF0YWAgY2FsbGJhY2tzIGFyZSBmaXJlZC5cbiAgICAgICAgICogYCdib3RoJ2A6IFN0b3JlcyBpbWFnZSBkYXRhIGFuZCBkb3dubG9hZHMgaW1hZ2UgYXMgZmlsZS4gVGhlIGRlZmF1bHQgaXMgYCdzdG9yZSdgXG4gICAgICAgICAqL1xuICAgICAgICBhY3Rpb246IFByb3BUeXBlcy5vbmVPZihbJ3N0b3JlJywgJ2Rvd25sb2FkJywgJ2JvdGgnXSksXG4gICAgICAgIC8qKiBOYW1lIGZvciB0aGUgZmlsZSB0byBiZSBkb3dubG9hZGVkLiBEZWZhdWx0OiAnY3l0bycuKi9cbiAgICAgICAgZmlsZW5hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgfSksXG5cbiAgICAvKipcbiAgICAgKiBTdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhlIGltYWdlIHJlcXVlc3RlZCB3aXRoIGdlbmVyYXRlSW1hZ2UuIE51bGwgaWYgbm9cbiAgICAgKiBpbWFnZSB3YXMgcmVxdWVzdGVkIHlldCBvciB0aGUgcHJldmlvdXMgcmVxdWVzdCBmYWlsZWQuIFJlYWQtb25seS5cbiAgICAgKi9cbiAgICBpbWFnZURhdGE6IFByb3BUeXBlcy5zdHJpbmcsXG5cbiAgICAvKipcbiAgICAgKiBUb2dnbGVzIGludGVsbGlnZW50IHJlc3BvbnNpdmUgcmVzaXplIG9mIEN5dG9zY2FwZSBncmFwaCB3aXRoIHZpZXdwb3J0IHNpemUgY2hhbmdlXG4gICAgICovXG4gICAgcmVzcG9uc2l2ZTogUHJvcFR5cGVzLmJvb2wsXG5cbiAgICAvKipcbiAgICAgKiBFeHRlbnQgb2YgdGhlIHZpZXdwb3J0LCBhIGJvdW5kaW5nIGJveCBpbiBtb2RlbCBjby1vcmRpbmF0ZXMgdGhhdCBsZXRzIHlvdSBrbm93IHdoYXQgbW9kZWxcbiAgICAgKiBwb3NpdGlvbnMgYXJlIHZpc2libGUgaW4gdGhlIHZpZXdwb3J0LiBUaGlzIGZ1bmN0aW9uIHJldHVybnMgYSBwbGFpbiBvYmplY3QgYm91bmRpbmcgYm94XG4gICAgICogd2l0aCBmb3JtYXQgeyB4MSwgeTEsIHgyLCB5MiwgdywgaCB9LlxuICAgICAqL1xuICAgIGV4dGVudDogUHJvcFR5cGVzLm9iamVjdCxcblxuICAgIC8qKlxuICAgICAqIElmIHNldCB0byBUcnVlLCBtb3VzZW92ZXJOb2RlRGF0YSBhbmQgbW91c2VvdmVyRWRnZURhdGEgd2lsbCBiZSBjbGVhcmVkIG9uIHVuaG92ZXIuXG4gICAgICogSWYgc2V0IHRvIEZhbHNlLCB0aGUgdmFsdWUgb2YgbW91c2VvdmVyTm9kZURhdGEgYW5kIG1vdXNlb3ZlckVkZ2VEYXRhIHdpbGwgYmUgdGhlIGxhc3RcbiAgICAgKiBOb2RlIG9yIEVkZ2UgaG92ZXJlZCBvdmVyXG4gICAgICovXG4gICAgY2xlYXJPblVuaG92ZXI6IFByb3BUeXBlcy5ib29sLFxufTtcblxuQ3l0b3NjYXBlLmRlZmF1bHRQcm9wcyA9IHtcbiAgICBzdHlsZToge3dpZHRoOiAnNjAwcHgnLCBoZWlnaHQ6ICc2MDBweCd9LFxuICAgIGxheW91dDoge25hbWU6ICdncmlkJ30sXG4gICAgcGFuOiB7eDogMCwgeTogMH0sXG4gICAgem9vbTogMSxcbiAgICBtaW5ab29tOiAxZS01MCxcbiAgICBtYXhab29tOiAxZTUwLFxuICAgIHpvb21pbmdFbmFibGVkOiB0cnVlLFxuICAgIHVzZXJab29taW5nRW5hYmxlZDogdHJ1ZSxcbiAgICBwYW5uaW5nRW5hYmxlZDogdHJ1ZSxcbiAgICB1c2VyUGFubmluZ0VuYWJsZWQ6IHRydWUsXG4gICAgd2hlZWxTZW5zaXRpdml0eTogMSxcbiAgICBib3hTZWxlY3Rpb25FbmFibGVkOiBmYWxzZSxcbiAgICBhdXRvbG9jazogZmFsc2UsXG4gICAgYXV0b3VuZ3JhYmlmeTogZmFsc2UsXG4gICAgYXV0b3Vuc2VsZWN0aWZ5OiBmYWxzZSxcbiAgICBhdXRvUmVmcmVzaExheW91dDogdHJ1ZSxcbiAgICBnZW5lcmF0ZUltYWdlOiB7fSxcbiAgICBpbWFnZURhdGE6IG51bGwsXG4gICAgcmVzcG9uc2l2ZTogZmFsc2UsXG4gICAgY2xlYXJPblVuaG92ZXI6IGZhbHNlLFxuICAgIGVsZW1lbnRzOiBbXSxcbiAgICBjb250ZXh0TWVudTogW10sXG59O1xuXG5leHBvcnQgZGVmYXVsdCBDeXRvc2NhcGU7XG4iXSwibmFtZXMiOlsiUmVhY3QiLCJDb21wb25lbnQiLCJQcm9wVHlwZXMiLCJDeXRvc2NhcGVDb21wb25lbnQiLCJfIiwidjQiLCJ1dWlkdjQiLCJDeVJlc3BvbnNpdmUiLCJjeXRvc2NhcGUiLCJyZXF1aXJlIiwiY29udGV4dE1lbnVzIiwiQ3l0b3NjYXBlIiwiX0NvbXBvbmVudCIsIl9pbmhlcml0cyIsInByb3BzIiwiX3RoaXMiLCJfY2xhc3NDYWxsQ2hlY2siLCJfY2FsbFN1cGVyIiwiaGFuZGxlQ3kiLCJiaW5kIiwiX2Fzc2VydFRoaXNJbml0aWFsaXplZCIsIl9oYW5kbGVDeUNhbGxlZCIsImhhbmRsZUltYWdlR2VuZXJhdGlvbiIsImN5UmVzcG9uc2l2ZUNsYXNzIiwiX2NyZWF0ZUNsYXNzIiwia2V5IiwidmFsdWUiLCJnZW5lcmF0ZU5vZGUiLCJldmVudCIsImVsZSIsInRhcmdldCIsImlzUGFyZW50IiwiaXNDaGlsZGxlc3MiLCJpc0NoaWxkIiwiaXNPcnBoYW4iLCJyZW5kZXJlZFBvc2l0aW9uIiwicmVsYXRpdmVQb3NpdGlvbiIsInBhcmVudCIsInN0eWxlIiwiZWRnZXNEYXRhIiwiY29ubmVjdGVkRWRnZXMiLCJtYXAiLCJkYXRhIiwiY2hpbGRyZW5EYXRhIiwiY2hpbGRyZW4iLCJhbmNlc3RvcnNEYXRhIiwiYW5jZXN0b3JzIiwiZGVzY2VuZGFudHNEYXRhIiwiZGVzY2VuZGFudHMiLCJzaWJsaW5nc0RhdGEiLCJzaWJsaW5ncyIsInRpbWVTdGFtcCIsIl9lbGUkanNvbiIsImpzb24iLCJjbGFzc2VzIiwiZ3JhYmJhYmxlIiwiZ3JvdXAiLCJsb2NrZWQiLCJwb3NpdGlvbiIsInNlbGVjdGVkIiwic2VsZWN0YWJsZSIsInBhcmVudERhdGEiLCJub2RlT2JqZWN0IiwiZ2VuZXJhdGVFZGdlIiwibWlkcG9pbnQiLCJpc0xvb3AiLCJpc1NpbXBsZSIsInNvdXJjZURhdGEiLCJzb3VyY2UiLCJzb3VyY2VFbmRwb2ludCIsInRhcmdldERhdGEiLCJ0YXJnZXRFbmRwb2ludCIsIl9lbGUkanNvbjIiLCJlZGdlT2JqZWN0IiwiY3kiLCJfdGhpczIiLCJfY3kiLCJ3aW5kb3ciLCJTRUxFQ1RfVEhSRVNIT0xEIiwiRVhURU5UX1RIUkVTSE9MRCIsInNlbGVjdGVkTm9kZXMiLCJjb2xsZWN0aW9uIiwic2VsZWN0ZWRFZGdlcyIsInJlZnJlc2hMYXlvdXQiLCJkZWJvdW5jZSIsIl90aGlzMiRwcm9wcyIsImF1dG9SZWZyZXNoTGF5b3V0IiwibGF5b3V0IiwicnVuIiwic2VuZFNlbGVjdGVkTm9kZXNEYXRhIiwibm9kZURhdGEiLCJlbCIsInNldFByb3BzIiwic2VsZWN0ZWROb2RlRGF0YSIsInNlbmRTZWxlY3RlZEVkZ2VzRGF0YSIsImVkZ2VEYXRhIiwic2VsZWN0ZWRFZGdlRGF0YSIsInNldEV4dGVudCIsImN5RXh0ZW50IiwiZXh0ZW50Iiwib3JpZ2luYWxNYXhab29tRm4iLCJtYXhab29tIiwib3JpZ2luYWxNaW5ab29tRm4iLCJtaW5ab29tIiwiZSIsImN1cnJlbnRNYXhab29tIiwiY2FsbCIsIl9wcmV2aW91c01heFpvb20iLCJ0cmlnZ2VyIiwiY3VycmVudE1pblpvb20iLCJfcHJldmlvdXNNaW5ab29tIiwib24iLCJ0YXBOb2RlIiwidGFwTm9kZURhdGEiLCJPYmplY3QiLCJhc3NpZ24iLCJ0YXBFZGdlIiwidGFwRWRnZURhdGEiLCJtb3VzZW92ZXJOb2RlRGF0YSIsIm1vdXNlb3ZlckVkZ2VEYXRhIiwiY2xlYXJPblVuaG92ZXIiLCJtZXJnZSIsInVubWVyZ2UiLCJlbGVtZW50cyIsIml0ZW0iLCJ6b29tIiwiZml0IiwiY3JlYXRlTWVudUl0ZW1zIiwiY3R4TWVudSIsInVwZGF0ZUNvbnRleHRNZW51RGF0YSIsIm5ld0NvbnRleHQiLCJjb250ZXh0TWVudURhdGEiLCJjb250ZXh0TWVudURlZmF1bHRGdW5jdGlvbnMiLCJyZW1vdmUiLCJjeVRhcmdldCIsImFkZF9ub2RlIiwicG9zIiwiY3lQb3NpdGlvbiIsImFkZCIsIngiLCJ5IiwiYWRkX2VkZ2UiLCJzZWxlY3RlZE5vZGVJZHMiLCJub2RlIiwiaWQiLCJsZW5ndGgiLCJjb25zb2xlIiwiZXJyb3IiLCJuZXdNZW51SXRlbXMiLCJfaXRlcmF0b3IiLCJfY3JlYXRlRm9yT2ZJdGVyYXRvckhlbHBlciIsIl9zdGVwIiwiX2xvb3AiLCJvbkNsaWNrRnVuY3Rpb24iLCJtZW51SXRlbUlkIiwiZWxlbWVudElkIiwiZWRnZVNvdXJjZSIsImVkZ2VUYXJnZXQiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsIm9uQ2xpY2siLCJjb25jYXQiLCJkYXNoQ3l0b3NjYXBlRnVuY3Rpb25zIiwib25DbGlja0N1c3RvbSIsIm5ld19pdGVtIiwiY29udGVudCIsImxhYmVsIiwidG9vbHRpcFRleHQiLCJzZWxlY3RvciIsImNvcmVBc1dlbGwiLCJfaXRlcmF0b3IyIiwiYXZhaWxhYmxlT24iLCJfc3RlcDIiLCJzIiwibiIsImRvbmUiLCJlcnIiLCJmIiwicHVzaCIsInRvZ2dsZSIsInJlc3BvbnNpdmUiLCJpbWFnZVR5cGUiLCJpbWFnZU9wdGlvbnMiLCJhY3Rpb25zVG9QZXJmb3JtIiwiZmlsZU5hbWUiLCJfdGhpczMiLCJvcHRpb25zIiwiZGVzaXJlZE91dHB1dCIsIm91dHB1dCIsImRvd25sb2FkSW1hZ2UiLCJzdG9yZUltYWdlIiwicG5nIiwianBnIiwic3ZnIiwiZk5hbWUiLCJkb3dubG9hZEJsb2IiLCJibG9iIiwiQmxvYiIsInR5cGUiLCJyZWFkZXIiLCJGaWxlUmVhZGVyIiwib25sb2FkIiwiY2FsbGJhY2tEYXRhIiwicmVzdWx0IiwicmVwbGFjZSIsImltYWdlRGF0YSIsInJlYWRBc0RhdGFVUkwiLCJkb3dubG9hZExpbmsiLCJkb2N1bWVudCIsImNyZWF0ZUVsZW1lbnQiLCJib2R5IiwiYXBwZW5kQ2hpbGQiLCJ1cmwiLCJVUkwiLCJjcmVhdGVPYmplY3RVUkwiLCJocmVmIiwiZG93bmxvYWQiLCJjbGljayIsInJldm9rZU9iamVjdFVSTCIsInJlbW92ZUNoaWxkIiwidXBkYXRlQ29udGV4dE1lbnUiLCJjb250ZXh0TWVudSIsIm1lbnVJdGVtcyIsIm1lbnVJdGVtQ2xhc3NlcyIsImdyYXBoT3V0T2ZWaWV3IiwiY3lXaWR0aCIsIndpZHRoIiwiY3lIZWlnaHQiLCJoZWlnaHQiLCJlbEJveCIsInJlbmRlcmVkQm91bmRpbmdib3giLCJ4MSIsInkxIiwieDIiLCJ5MiIsImNvbXBvbmVudERpZFVwZGF0ZSIsInByZXZQcm9wcyIsIl90aGlzJHByb3BzIiwiaXNFcXVhbCIsImNvbXBvbmVudERpZE1vdW50IiwicmVuZGVyIiwiX3RoaXMkcHJvcHMyIiwiY2xhc3NOYW1lIiwic3R5bGVzaGVldCIsInBhbiIsInBhbm5pbmdFbmFibGVkIiwidXNlclBhbm5pbmdFbmFibGVkIiwiem9vbWluZ0VuYWJsZWQiLCJ1c2VyWm9vbWluZ0VuYWJsZWQiLCJ3aGVlbFNlbnNpdGl2aXR5IiwiYm94U2VsZWN0aW9uRW5hYmxlZCIsImF1dG91bmdyYWJpZnkiLCJhdXRvbG9jayIsImF1dG91bnNlbGVjdGlmeSIsImdlbmVyYXRlSW1hZ2UiLCJrZXlzIiwiYWN0aW9uIiwiZmlsZW5hbWUiLCJub3JtYWxpemVFbGVtZW50cyIsInByb3BUeXBlcyIsInN0cmluZyIsIm9iamVjdCIsImZ1bmMiLCJvbmVPZlR5cGUiLCJhcnJheU9mIiwic2hhcGUiLCJudW1iZXIiLCJib29sIiwiZXhhY3QiLCJub2RlcyIsImFycmF5IiwiZWRnZXMiLCJpc1JlcXVpcmVkIiwibmFtZSIsIm9uZU9mIiwicGFkZGluZyIsImFuaW1hdGUiLCJhbmltYXRpb25EdXJhdGlvbiIsImJvdW5kaW5nQm94IiwiZGVmYXVsdFByb3BzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/lib/components/Cytoscape.react.js\n"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _src_assets_contextmenu_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../src/assets/contextmenu.css */ \"./src/assets/contextmenu.css\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var react_cytoscapejs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-cytoscapejs */ \"./node_modules/react-cytoscapejs/dist/react-cytoscape.modern.js\");\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! lodash */ \"./node_modules/lodash/lodash.js\");\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var uuid__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! uuid */ \"./node_modules/uuid/dist/esm-browser/v4.js\");\n/* harmony import */ var _cyResponsive_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../cyResponsive.js */ \"./src/lib/cyResponsive.js\");\n/* harmony import */ var _ungap_custom_elements__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @ungap/custom-elements */ \"./node_modules/@ungap/custom-elements/index.js\");\n/* harmony import */ var _ungap_custom_elements__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_ungap_custom_elements__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _cyleaflet_clientside_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../cyleaflet_clientside.js */ \"./src/lib/cyleaflet_clientside.js\");\n/* harmony import */ var _cyleaflet_clientside_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_cyleaflet_clientside_js__WEBPACK_IMPORTED_MODULE_6__);\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : String(i); }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n/**\n * JavaScript Requirements: cytoscape, cytoscape-svg\n * React.js requirements: react-cytoscapejs\n */\n\n\n\n\n\n\n\n\n// Polyfill so that context menu extension works in Safari\n\nvar cytoscape = __webpack_require__(/*! cytoscape */ \"./node_modules/cytoscape/dist/cytoscape.cjs.js\");\nvar contextMenus = __webpack_require__(/*! cytoscape-context-menus */ \"./node_modules/cytoscape-context-menus/cytoscape-context-menus.js\");\n\n// Clientside callback functions for CyLeaflet AIO component\n\n\n// register extension\ncontextMenus(cytoscape);\n/**\n * A Component Library for Dash aimed at facilitating network visualization in\n * Python, wrapped around [Cytoscape.js](http://js.cytoscape.org/).\n */\nvar Cytoscape = /*#__PURE__*/function (_Component) {\n _inherits(Cytoscape, _Component);\n function Cytoscape(props) {\n var _this;\n _classCallCheck(this, Cytoscape);\n _this = _callSuper(this, Cytoscape, [props]);\n _this.handleCy = _this.handleCy.bind(_assertThisInitialized(_this));\n _this._handleCyCalled = false;\n _this.handleImageGeneration = _this.handleImageGeneration.bind(_assertThisInitialized(_this));\n _this.cyResponsiveClass = false;\n return _this;\n }\n _createClass(Cytoscape, [{\n key: \"generateNode\",\n value: function generateNode(event) {\n var ele = event.target;\n var isParent = ele.isParent(),\n isChildless = ele.isChildless(),\n isChild = ele.isChild(),\n isOrphan = ele.isOrphan(),\n renderedPosition = ele.renderedPosition(),\n relativePosition = ele.relativePosition(),\n parent = ele.parent(),\n style = ele.style();\n\n // Trim down the element objects to only the data contained\n var edgesData = ele.connectedEdges().map(function (ele) {\n return ele.data();\n });\n var childrenData = ele.children().map(function (ele) {\n return ele.data();\n });\n var ancestorsData = ele.ancestors().map(function (ele) {\n return ele.data();\n });\n var descendantsData = ele.descendants().map(function (ele) {\n return ele.data();\n });\n var siblingsData = ele.siblings().map(function (ele) {\n return ele.data();\n });\n var timeStamp = event.timeStamp;\n var _ele$json = ele.json(),\n classes = _ele$json.classes,\n data = _ele$json.data,\n grabbable = _ele$json.grabbable,\n group = _ele$json.group,\n locked = _ele$json.locked,\n position = _ele$json.position,\n selected = _ele$json.selected,\n selectable = _ele$json.selectable;\n var parentData;\n if (parent) {\n parentData = parent.data();\n } else {\n parentData = null;\n }\n var nodeObject = {\n // Nodes attributes\n edgesData: edgesData,\n renderedPosition: renderedPosition,\n timeStamp: timeStamp,\n // From ele.json()\n classes: classes,\n data: data,\n grabbable: grabbable,\n group: group,\n locked: locked,\n position: position,\n selectable: selectable,\n selected: selected,\n // Compound Nodes additional attributes\n ancestorsData: ancestorsData,\n childrenData: childrenData,\n descendantsData: descendantsData,\n parentData: parentData,\n siblingsData: siblingsData,\n isParent: isParent,\n isChildless: isChildless,\n isChild: isChild,\n isOrphan: isOrphan,\n relativePosition: relativePosition,\n // Styling\n style: style\n };\n return nodeObject;\n }\n }, {\n key: \"generateEdge\",\n value: function generateEdge(event) {\n var ele = event.target;\n var midpoint = ele.midpoint(),\n isLoop = ele.isLoop(),\n isSimple = ele.isSimple(),\n sourceData = ele.source().data(),\n sourceEndpoint = ele.sourceEndpoint(),\n style = ele.style(),\n targetData = ele.target().data(),\n targetEndpoint = ele.targetEndpoint();\n var timeStamp = event.timeStamp;\n var _ele$json2 = ele.json(),\n classes = _ele$json2.classes,\n data = _ele$json2.data,\n grabbable = _ele$json2.grabbable,\n group = _ele$json2.group,\n locked = _ele$json2.locked,\n selectable = _ele$json2.selectable,\n selected = _ele$json2.selected;\n var edgeObject = {\n // Edges attributes\n isLoop: isLoop,\n isSimple: isSimple,\n midpoint: midpoint,\n sourceData: sourceData,\n sourceEndpoint: sourceEndpoint,\n targetData: targetData,\n targetEndpoint: targetEndpoint,\n timeStamp: timeStamp,\n // From ele.json()\n classes: classes,\n data: data,\n grabbable: grabbable,\n group: group,\n locked: locked,\n selectable: selectable,\n selected: selected,\n // Styling\n style: style\n };\n return edgeObject;\n }\n }, {\n key: \"handleCy\",\n value: function handleCy(cy) {\n var _this2 = this;\n // If the cy pointer has not been modified, and handleCy has already\n // been called before, than we don't run this function.\n if (cy === this._cy && this._handleCyCalled) {\n return;\n }\n this._cy = cy;\n window.cy = cy;\n this._handleCyCalled = true;\n\n // ///////////////////////////////////// CONSTANTS /////////////////////////////////////////\n var SELECT_THRESHOLD = 100;\n var EXTENT_THRESHOLD = 5;\n var UPDATE_ELEMENTS_THRESHOLD = 100;\n var RESIZE_THRESHOLD = 50;\n var selectedNodes = cy.collection();\n var selectedEdges = cy.collection();\n\n // ///////////////////////////////////// FUNCTIONS /////////////////////////////////////////\n var refreshLayout = lodash__WEBPACK_IMPORTED_MODULE_3___default().debounce(function () {\n /**\n * Refresh Layout if needed\n */\n var _this2$props = _this2.props,\n autoRefreshLayout = _this2$props.autoRefreshLayout,\n layout = _this2$props.layout;\n if (autoRefreshLayout) {\n cy.layout(layout).run();\n }\n }, SELECT_THRESHOLD);\n var sendSelectedNodesData = lodash__WEBPACK_IMPORTED_MODULE_3___default().debounce(function () {\n /**\n This function is repetitively called every time a node is selected\n or unselected, but keeps being debounced if it is called again\n within 100 ms (given by SELECT_THRESHOLD). Effectively, it only\n runs when all the nodes have been correctly selected/unselected and\n added/removed from the selectedNodes collection, and then updates\n the selectedNodeData prop.\n */\n var nodeData = selectedNodes.map(function (el) {\n return el.data();\n });\n _this2.props.setProps({\n selectedNodeData: nodeData\n });\n }, SELECT_THRESHOLD);\n var sendSelectedEdgesData = lodash__WEBPACK_IMPORTED_MODULE_3___default().debounce(function () {\n var edgeData = selectedEdges.map(function (el) {\n return el.data();\n });\n _this2.props.setProps({\n selectedEdgeData: edgeData\n });\n }, SELECT_THRESHOLD);\n var setExtent = lodash__WEBPACK_IMPORTED_MODULE_3___default().debounce(function (cyExtent) {\n _this2.props.setProps({\n extent: cyExtent\n });\n }, EXTENT_THRESHOLD);\n var updateElements = lodash__WEBPACK_IMPORTED_MODULE_3___default().debounce(function () {\n _this2.props.setProps({\n elements: cy.elements('').map(function (item) {\n if (item.json().group === 'nodes') {\n return {\n data: item.json().data,\n position: item.json().position\n };\n }\n return {\n data: item.json().data,\n position: void 0\n };\n })\n });\n }, UPDATE_ELEMENTS_THRESHOLD);\n var resize = lodash__WEBPACK_IMPORTED_MODULE_3___default().debounce(function () {\n cy.resize();\n }, RESIZE_THRESHOLD);\n\n // Store the original maxZoom and minZoom functions\n var originalMaxZoomFn = cy.maxZoom;\n var originalMinZoomFn = cy.minZoom;\n\n // Override the maxZoom function to trigger maxZoomChange custom event\n cy.maxZoom = function (e) {\n var currentMaxZoom = originalMaxZoomFn.call(cy, e);\n\n // Trigger your custom event if the current max zoom level is different from the\n // previously stored max zoom level\n if (currentMaxZoom !== cy._previousMaxZoom) {\n cy._previousMaxZoom = currentMaxZoom;\n cy.trigger('minMaxZoomChange');\n }\n return currentMaxZoom;\n };\n\n // Override the minZoom function to trigger minZoomChange custom event\n cy.minZoom = function (e) {\n var currentMinZoom = originalMinZoomFn.call(cy, e);\n\n // Trigger your custom event if the current min zoom level is different from the\n // previously stored min zoom level\n if (currentMinZoom !== cy._previousMinZoom) {\n cy._previousMinZoom = currentMinZoom;\n cy.trigger('minMaxZoomChange');\n }\n return currentMinZoom;\n };\n\n // /////////////////////////////////////// EVENTS //////////////////////////////////////////\n\n cy.on('tap', 'node', function (event) {\n var nodeObject = _this2.generateNode(event);\n _this2.props.setProps({\n tapNode: nodeObject,\n tapNodeData: Object.assign({}, nodeObject.data, {\n timeStamp: nodeObject.timeStamp\n })\n });\n });\n cy.on('tap', 'edge', function (event) {\n var edgeObject = _this2.generateEdge(event);\n _this2.props.setProps({\n tapEdge: edgeObject,\n tapEdgeData: Object.assign({}, edgeObject.data, {\n timeStamp: edgeObject.timeStamp\n })\n });\n });\n cy.on('mouseover', 'node', function (event) {\n _this2.props.setProps({\n mouseoverNodeData: Object.assign({}, event.target.data(), {\n timeStamp: event.timeStamp\n })\n });\n });\n cy.on('mouseover', 'edge', function (event) {\n _this2.props.setProps({\n mouseoverEdgeData: Object.assign({}, event.target.data(), {\n timeStamp: event.timeStamp\n })\n });\n });\n cy.on('mouseout', 'node', function (_) {\n if (_this2.props.clearOnUnhover === true) {\n _this2.props.setProps({\n mouseoverNodeData: null\n });\n }\n });\n cy.on('mouseout', 'edge', function (_) {\n if (_this2.props.clearOnUnhover === true) {\n _this2.props.setProps({\n mouseoverEdgeData: null\n });\n }\n });\n cy.on('select', 'node', function (event) {\n var ele = event.target;\n selectedNodes.merge(ele);\n sendSelectedNodesData();\n });\n cy.on('unselect remove', 'node', function (event) {\n var ele = event.target;\n selectedNodes.unmerge(ele);\n sendSelectedNodesData();\n });\n cy.on('select', 'edge', function (event) {\n var ele = event.target;\n selectedEdges.merge(ele);\n sendSelectedEdgesData();\n });\n cy.on('unselect remove', 'edge', function (event) {\n var ele = event.target;\n selectedEdges.unmerge(ele);\n sendSelectedEdgesData();\n });\n cy.on('add remove', function () {\n refreshLayout();\n });\n cy.on('dragfree add remove', function (_) {\n updateElements();\n });\n cy.on('resize viewport', function () {\n setExtent(cy.extent());\n });\n cy.on('tapstart', function () {\n resize();\n });\n\n // Refresh layout if current zoom is out of boundaries\n cy.on('minMaxZoomChange', function () {\n var zoom = cy.zoom();\n if (zoom > cy.maxZoom() || zoom < cy.minZoom()) {\n cy.fit();\n }\n });\n this.createMenuItems = function (ctxMenu) {\n var updateContextMenuData = function updateContextMenuData(newContext) {\n _this2.props.setProps({\n contextMenuData: newContext\n });\n };\n var contextMenuDefaultFunctions = {\n remove: function remove(event) {\n var target = event.target || event.cyTarget;\n target.remove();\n },\n add_node: function add_node(event) {\n var pos = event.position || event.cyPosition;\n cy.add({\n data: {\n group: 'nodes'\n },\n position: {\n x: pos.x,\n y: pos.y\n }\n });\n },\n add_edge: function add_edge() {\n var selectedNodeIds = selectedNodes.map(function (node) {\n return node.id();\n });\n if (selectedNodes.length === 0) {\n console.error('Error: No nodes selected, cannot add edge');\n } else if (selectedNodes.length === 1) {\n cy.add({\n data: {\n id: (0,uuid__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(),\n group: 'edges',\n source: selectedNodeIds[0],\n target: selectedNodeIds[0]\n }\n });\n } else if (selectedNodes.length === 2) {\n cy.add({\n data: {\n id: (0,uuid__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(),\n group: 'edges',\n source: selectedNodeIds[0],\n target: selectedNodeIds[1]\n }\n });\n } else {\n console.error('Error: more than 2 nodes selected, cannot add edge');\n }\n }\n };\n var newMenuItems = [];\n var _iterator = _createForOfIteratorHelper(ctxMenu),\n _step;\n try {\n var _loop = function _loop() {\n var item = _step.value;\n var onClickFunction;\n // return data so a user can define a custom on click function in Python\n // if onClick or on onClickCustom are not specified\n onClickFunction = function onClickFunction(event) {\n updateContextMenuData({\n menuItemId: item.id,\n x: event.position.x,\n y: event.position.y,\n timeStamp: event.timeStamp,\n elementId: event.target.data().id,\n edgeSource: event.target.data().source,\n edgeTarget: event.target.data().target\n });\n };\n // use default javascript function as onClickFunction\n if (Object.prototype.hasOwnProperty.call(item, 'onClick')) {\n if (Object.prototype.hasOwnProperty.call(contextMenuDefaultFunctions, item.onClick)) {\n onClickFunction = contextMenuDefaultFunctions[item.onClick];\n } else {\n console.error(\"onClick function \".concat(item.onClick, \" is not defined\"));\n }\n }\n // use user-defined Javascript function in a namespace under assets/ as onClickFunction\n else if (Object.prototype.hasOwnProperty.call(item, 'onClickCustom')) {\n if (Object.prototype.hasOwnProperty.call(window, 'dashCytoscapeFunctions') && Object.prototype.hasOwnProperty.call(window.dashCytoscapeFunctions, item.onClickCustom)) {\n onClickFunction = window.dashCytoscapeFunctions[item.onClickCustom];\n } else {\n console.error(\"onClickCustom function \".concat(item.onClickCustom, \" is not defined\"));\n }\n }\n var new_item = {\n id: item.id,\n content: item.label,\n tooltipText: item.tooltipText,\n selector: '',\n onClickFunction: onClickFunction,\n coreAsWell: false\n };\n if (Object.prototype.hasOwnProperty.call(item, 'availableOn')) {\n var _iterator2 = _createForOfIteratorHelper(item.availableOn),\n _step2;\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var selector = _step2.value;\n if (selector === 'edge') {\n if (new_item.selector.length > 0) {\n new_item.selector = new_item.selector + ', ';\n }\n new_item.selector = new_item.selector + 'edge';\n } else if (selector === 'node') {\n if (new_item.selector.length > 0) {\n new_item.selector = new_item.selector + ', ';\n }\n new_item.selector = new_item.selector + 'node';\n } else if (selector === 'canvas') {\n new_item.coreAsWell = true;\n } else {\n console.error(\"Error: selector \".concat(selector, \" is not available. Choose one of 'node', 'edge' or 'canvas'.\"));\n }\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n }\n newMenuItems.push(new_item);\n };\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n _loop();\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n return newMenuItems;\n };\n this.cyResponsiveClass = new _cyResponsive_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"](cy);\n this.cyResponsiveClass.toggle(this.props.responsive);\n setExtent(cy.extent());\n }\n }, {\n key: \"handleImageGeneration\",\n value: function handleImageGeneration(imageType, imageOptions, actionsToPerform, fileName) {\n var _this3 = this;\n var options = {};\n if (imageOptions) {\n options = imageOptions;\n }\n var desiredOutput = options.output;\n options.output = 'blob';\n var downloadImage;\n var storeImage;\n switch (actionsToPerform) {\n case 'store':\n downloadImage = false;\n storeImage = true;\n break;\n case 'download':\n downloadImage = true;\n storeImage = false;\n break;\n case 'both':\n downloadImage = true;\n storeImage = true;\n break;\n default:\n downloadImage = false;\n storeImage = true;\n break;\n }\n var output;\n if (imageType === 'png') {\n output = this._cy.png(options);\n }\n if (imageType === 'jpg' || imageType === 'jpeg') {\n output = this._cy.jpg(options);\n }\n // only works when svg is imported (see lib/extra_index.js)\n if (imageType === 'svg') {\n output = this._cy.svg(options);\n }\n\n /*\n * If output is empty because of bad options or a cytoscape error,\n * skip any download or storage steps.\n */\n if (output && downloadImage) {\n /*\n * Downloading is initiated client-side because the image is generated at\n * the client. This avoids transferring a potentially large image\n * to the server and back again through a callback.\n */\n var fName = fileName;\n if (!fileName) {\n fName = 'cyto';\n }\n if (imageType !== 'svg') {\n this.downloadBlob(output, fName + '.' + imageType);\n } else {\n var blob = new Blob([output], {\n type: 'image/svg+xml;charset=utf-8'\n });\n this.downloadBlob(blob, fName + '.' + imageType);\n }\n }\n if (output && storeImage) {\n // Default output type if unspecified\n if (!desiredOutput) {\n desiredOutput = 'base64uri';\n }\n if (!(desiredOutput === 'base64uri' || desiredOutput === 'base64')) {\n return;\n }\n\n /*\n * Convert blob to base64uri or base64 string to store the image data.\n * Thank you, base64guru https://base64.guru/developers/javascript/examples/encode-blob\n */\n var reader = new FileReader();\n reader.onload = function () {\n /* FileReader is asynchronous, so the read function is non-blocking.\n * If this code block is placed after the read command, it\n * may result in empty output because the blob has not been loaded yet.\n */\n var callbackData = reader.result;\n if (desiredOutput === 'base64') {\n callbackData = callbackData.replace(/^data:.+;base64,/, '');\n }\n _this3.props.setProps({\n imageData: callbackData\n });\n };\n reader.readAsDataURL(output);\n }\n }\n }, {\n key: \"downloadBlob\",\n value: function downloadBlob(blob, fileName) {\n /*\n * Download blob as file by dynamically creating link.\n * Chrome does not open data URLs when JS opens a new tab directed\n * at the data URL, so this is an alternate implementation\n * that doesn't require extra packages. It may not behave in\n * exactly the same way across browsers (might display image in new tab\n * intead of downloading as a file).\n * Thank you, koldev https://jsfiddle.net/koldev/cW7W5/\n */\n var downloadLink = document.createElement('a');\n downloadLink.style = 'display: none';\n document.body.appendChild(downloadLink);\n var url = window.URL.createObjectURL(blob);\n downloadLink.href = url;\n downloadLink.download = fileName;\n downloadLink.click();\n window.URL.revokeObjectURL(url);\n document.body.removeChild(downloadLink);\n }\n }, {\n key: \"updateContextMenu\",\n value: function updateContextMenu(contextMenu) {\n this._cy.contextMenus({\n menuItems: this.createMenuItems(contextMenu),\n menuItemClasses: ['custom-menu-item']\n });\n }\n\n // Returns true if there is no overlap between the element bounding box\n // and the rendered area of the graph, meaning the graph is entirely outside the viewport;\n // returns false otherwise\n }, {\n key: \"graphOutOfView\",\n value: function graphOutOfView() {\n var cyWidth = this._cy.width();\n var cyHeight = this._cy.height();\n var elBox = this._cy.elements().renderedBoundingbox();\n return elBox.x1 > cyWidth || elBox.y1 > cyHeight || elBox.x2 < 0 || elBox.y2 < 0;\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n var _this$props = this.props,\n contextMenu = _this$props.contextMenu,\n elements = _this$props.elements;\n if (!lodash__WEBPACK_IMPORTED_MODULE_3___default().isEqual(prevProps.contextMenu, contextMenu) && this._cy) {\n this.updateContextMenu(contextMenu);\n }\n if (!lodash__WEBPACK_IMPORTED_MODULE_3___default().isEqual(prevProps.elements, elements) && this._cy) {\n // If elements were updated, and the new graph is *entirely* outside the viewport,\n // fit the viewport to the new elements\n if (this.graphOutOfView()) {\n this._cy.fit();\n }\n }\n }\n }, {\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var contextMenu = this.props.contextMenu;\n if (this._cy && contextMenu.length > 0) {\n this.updateContextMenu(contextMenu);\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props2 = this.props,\n id = _this$props2.id,\n style = _this$props2.style,\n className = _this$props2.className,\n elements = _this$props2.elements,\n stylesheet = _this$props2.stylesheet,\n layout = _this$props2.layout,\n contextMenu = _this$props2.contextMenu,\n contextMenuData = _this$props2.contextMenuData,\n pan = _this$props2.pan,\n zoom = _this$props2.zoom,\n panningEnabled = _this$props2.panningEnabled,\n userPanningEnabled = _this$props2.userPanningEnabled,\n minZoom = _this$props2.minZoom,\n maxZoom = _this$props2.maxZoom,\n zoomingEnabled = _this$props2.zoomingEnabled,\n userZoomingEnabled = _this$props2.userZoomingEnabled,\n wheelSensitivity = _this$props2.wheelSensitivity,\n boxSelectionEnabled = _this$props2.boxSelectionEnabled,\n autoungrabify = _this$props2.autoungrabify,\n autolock = _this$props2.autolock,\n autounselectify = _this$props2.autounselectify,\n generateImage = _this$props2.generateImage,\n responsive = _this$props2.responsive;\n if (Object.keys(generateImage).length > 0) {\n // If no cytoscape object has been created yet, an image cannot be generated,\n // so generateImage will be ignored and cleared.\n this.props.setProps({\n generateImage: {}\n });\n if (this._cy) {\n this.handleImageGeneration(generateImage.type, generateImage.options, generateImage.action, generateImage.filename);\n }\n }\n if (this.cyResponsiveClass) {\n this.cyResponsiveClass.toggle(responsive);\n }\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(react_cytoscapejs__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n id: id,\n cy: this.handleCy,\n className: className,\n style: style,\n elements: react_cytoscapejs__WEBPACK_IMPORTED_MODULE_2__[\"default\"].normalizeElements(elements),\n stylesheet: stylesheet,\n layout: layout,\n contextMenu: contextMenu,\n contextMenuData: contextMenuData,\n pan: pan,\n zoom: zoom,\n panningEnabled: panningEnabled,\n userPanningEnabled: userPanningEnabled,\n minZoom: minZoom,\n maxZoom: maxZoom,\n zoomingEnabled: zoomingEnabled,\n userZoomingEnabled: userZoomingEnabled,\n wheelSensitivity: wheelSensitivity,\n boxSelectionEnabled: boxSelectionEnabled,\n autoungrabify: autoungrabify,\n autolock: autolock,\n autounselectify: autounselectify\n });\n }\n }]);\n return Cytoscape;\n}(react__WEBPACK_IMPORTED_MODULE_1__.Component);\nCytoscape.propTypes = {\n // HTML attribute props\n\n /**\n * The ID used to identify this component in Dash callbacks.\n */\n id: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /**\n * Sets the class name of the element (the value of an element's html\n * class attribute).\n */\n className: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /**\n * Add inline styles to the root element.\n */\n style: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n // Dash specific props\n\n /**\n * Dash-assigned callback that should be called whenever any of the\n * properties change.\n */\n setProps: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().func),\n // Common props\n\n /**\n * A list of dictionaries representing the elements of the networks. Each dictionary describes an element, and\n * specifies its purpose. The [official Cytoscape.js documentation](https://js.cytoscape.org/#notation/elements-json)\n * offers an extensive overview and examples of element declaration.\n * Alternatively, a dictionary with the format { 'nodes': [], 'edges': [] } is allowed at initialization,\n * but arrays remain the recommended format.\n */\n elements: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_8___default().arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_8___default().shape({\n /**\n * Either 'nodes' or 'edges'. If not given, it's automatically inferred.\n */\n group: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** Element specific data.*/\n data: prop_types__WEBPACK_IMPORTED_MODULE_8___default().shape({\n /** Reference to the element, useful for selectors and edges. Randomly assigned if not given.*/\n id: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /**\n * Optional name for the element, useful when `data(label)` is given to a style's `content`\n * or `label`. It is only a convention. */\n label: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** Only for nodes. Optional reference to another node. Needed to create compound nodes. */\n parent: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** Only for edges. The id of the source node, which is where the edge starts. */\n source: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** Only for edges. The id of the target node, where the edge ends. */\n target: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string)\n }),\n /** Only for nodes. The position of the node. */\n position: prop_types__WEBPACK_IMPORTED_MODULE_8___default().shape({\n /** The x-coordinate of the node. */\n x: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /** The y-coordinate of the node. */\n y: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number)\n }),\n /** If the element is selected upon initialisation. */\n selected: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** If the element can be selected. */\n selectable: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Only for nodes. If the position is immutable. */\n locked: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Only for nodes. If the node can be grabbed and moved by the user. */\n grabbable: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * Space separated string of class names of the element. Those classes can be selected\n * by a style selector.\n */\n classes: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string)\n })), prop_types__WEBPACK_IMPORTED_MODULE_8___default().exact({\n nodes: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array),\n edges: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array)\n })]),\n /**\n * A list of dictionaries representing the styles of the elements.\n * Each dictionary requires the following keys: `selector` and `style`.\n *\n * Both the [selector](https://js.cytoscape.org/#selectors) and\n * the [style](https://js.cytoscape.org/#style/node-body) are\n * exhaustively documented in the Cytoscape.js docs. Although methods such\n * as `cy.elements(...)` and `cy.filter(...)` are not available, the selector\n * string syntax stays the same.\n */\n stylesheet: prop_types__WEBPACK_IMPORTED_MODULE_8___default().arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_8___default().exact({\n /**\n * Which elements you are styling. Generally, you select a group of elements (node, edges, both),\n * a class (that you declare in the element dictionary), or an element by ID.\n */\n selector: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string).isRequired,\n /**\n * What aspects of the elements you want to modify. This could be the size or\n * color of a node, the shape of an edge arrow, or many more.\n */\n style: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object).isRequired\n })),\n /**\n * A dictionary specifying how to set the position of the elements in your\n * graph. The `'name'` key is required, and indicates which layout (algorithm) to\n * use. The keys accepted by `layout` vary depending on the algorithm, but these\n * keys are accepted by all layouts: `fit`, `padding`, `animate`, `animationDuration`,\n * `boundingBox`.\n *\n * The complete list of layouts and their accepted options are available on the\n * [Cytoscape.js docs](https://js.cytoscape.org/#layouts) . For the external layouts,\n * the options are listed in the \"API\" section of the README.\n * Note that certain keys are not supported in Dash since the value is a JavaScript\n * function or a callback. Please visit this\n * [issue](https://github.com/plotly/dash-cytoscape/issues/25) for more information.\n */\n layout: prop_types__WEBPACK_IMPORTED_MODULE_8___default().shape({\n /**\n * The layouts available by default are:\n * `random`: Randomly assigns positions.\n * `preset`: Assigns position based on the `position` key in element dictionaries.\n * `circle`: Single-level circle, with optional radius.\n * `concentric`: Multi-level circle, with optional radius.\n * `grid`: Square grid, optionally with numbers of `rows` and `cols`.\n * `breadthfirst`: Tree structure built using BFS, with optional `roots`.\n * `cose`: Force-directed physics simulation.\n *\n * Some external layouts are also included. To use them, run\n * `dash_cytoscape.load_extra_layouts()` before creating your Dash app. Be careful about\n * using the extra layouts when not necessary, since they require supplementary bandwidth\n * for loading, which impacts the startup time of the app.\n * The external layouts are:\n * [cose-bilkent](https://github.com/cytoscape/cytoscape.js-cose-bilkent),\n * [fcose](https://github.com/iVis-at-Bilkent/cytoscape.js-fcose),\n * [cola](https://github.com/cytoscape/cytoscape.js-cola),\n * [euler](https://github.com/cytoscape/cytoscape.js-dagre),\n * [spread](https://github.com/cytoscape/cytoscape.js-spread),\n * [dagre](https://github.com/cytoscape/cytoscape.js-dagre),\n * [klay](https://github.com/cytoscape/cytoscape.js-klay),\n */\n name: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOf(['random', 'preset', 'circle', 'concentric', 'grid', 'breadthfirst', 'cose', 'cose-bilkent', 'fcose', 'cola', 'euler', 'spread', 'dagre', 'klay']).isRequired,\n /** Whether to render the nodes in order to fit the canvas. */\n fit: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Padding around the sides of the canvas, if fit is enabled. */\n padding: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /** Whether to animate change in position when the layout changes. */\n animate: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Duration of animation in milliseconds, if enabled. */\n animationDuration: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /**\n * How to constrain the layout in a specific area. Keys accepted are either\n * `x1, y1, x2, y2` or `x1, y1, w, h`, all of which receive a pixel value.\n */\n boundingBox: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object)\n }),\n /**\n * Define a custom context menu. The behaviour of each menu item can be defined in 1 of 3 ways.\n * 1. By passing a string to onClick that refers to one of the built-in Javascript functions.\n * 2. By passing a string to onClickCustom that refers to one of the user-defined functions in a namespace.\n * 3. By omitting both of these properties; this will update the contextMenuData property and trigger a Dash callback.\n */\n contextMenu: prop_types__WEBPACK_IMPORTED_MODULE_8___default().arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_8___default().exact({\n /** ID of the menu item in the context menu */\n id: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string).isRequired,\n /** The label on the context menu item*/\n label: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string).isRequired,\n /** The tooltip text when hovering on top of a context menu item */\n tooltipText: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** A list containing either 'node', 'edge',and/or 'canvas'. This will determine where the context\n * menu item will show up.\n */\n availableOn: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array),\n /** Specify which built-in JavaScript function to use as behaviour for the context\n * menu item. One of 'remove', 'add_node', or 'add_edge'\n */\n onClick: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** Specify which user-defined Javascript function to use in the dashCytoscapeFunctions\n * namespace as behaviour for the context menu item\n */\n onClickCustom: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string)\n })),\n /**\n * Retrieve relevant data when a context menu item is clicked. Read-only.\n */\n contextMenuData: prop_types__WEBPACK_IMPORTED_MODULE_8___default().exact({\n /** ID of the menu item in the context menu */\n menuItemId: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** x-position of the context click */\n x: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /** y-position of the context click */\n y: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /** Timestamp of context click*/\n timeStamp: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /** Element ID on context click if the context click was on an element.\n * If context click was on white space, this property is not returned\n */\n elementId: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** Node ID of the edge source if the clicked element is an edge,\n * or else this property is not returned*/\n edgeSource: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** Node ID of the edge target if the clicked element is an edge,\n * or else this property is not returned*/\n edgeTarget: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string)\n }),\n // Viewport Manipulation\n\n /**\n * Dictionary indicating the initial panning position of the graph. The\n * following keys are accepted:\n */\n pan: prop_types__WEBPACK_IMPORTED_MODULE_8___default().exact({\n /** The x-coordinate of the node */\n x: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /** The y-coordinate of the node */\n y: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number)\n }),\n /**\n * The initial zoom level of the graph. You can set `minZoom` and\n * `maxZoom` to set restrictions on the zoom level.\n */\n zoom: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n // Viewport Mutability and gesture Toggling\n /**\n * Whether panning the graph is enabled (i.e., the position of the graph is\n * mutable overall).\n */\n panningEnabled: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * Whether user events (e.g. dragging the graph background) are allowed to\n * pan the graph.\n */\n userPanningEnabled: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * A minimum bound on the zoom level of the graph. The viewport can not be\n * scaled smaller than this zoom level.\n */\n minZoom: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /**\n * A maximum bound on the zoom level of the graph. The viewport can not be\n * scaled larger than this zoom level.\n */\n maxZoom: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /**\n * Whether zooming the graph is enabled (i.e., the zoom level of the graph\n * is mutable overall).\n */\n zoomingEnabled: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * Whether user events (e.g. dragging the graph background) are allowed\n * to pan the graph.\n */\n userZoomingEnabled: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * Changes the scroll wheel sensitivity when zooming.\n */\n wheelSensitivity: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /**\n * Whether box selection (i.e. drag a box overlay around, and release it\n * to select) is enabled. If enabled, the user must taphold to pan the graph.\n */\n boxSelectionEnabled: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * Whether nodes should be ungrabified (not grabbable by user) by\n * default (if true, overrides individual node state).\n */\n autoungrabify: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * Whether nodes should be locked (not draggable at all) by default\n * (if true, overrides individual node state).\n */\n autolock: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * Whether nodes should be unselectified (immutable selection state) by\n * default (if true, overrides individual element state).\n */\n autounselectify: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * Whether the layout should be refreshed when elements are added or removed.\n */\n autoRefreshLayout: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n // User Events Props\n\n /**\n * The complete node dictionary returned when you tap or click it. Read-only.\n */\n tapNode: prop_types__WEBPACK_IMPORTED_MODULE_8___default().exact({\n /** node specific item */\n edgesData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array),\n /** node specific item */\n renderedPosition: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** node specific item */\n timeStamp: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /** General item (for all elements) */\n classes: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** General item (for all elements) */\n data: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** General item (for all elements) */\n grabbable: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** General item (for all elements) */\n group: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** General item (for all elements) */\n locked: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** General item (for all elements) */\n position: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** General item (for all elements) */\n selectable: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** General item (for all elements) */\n selected: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** General item (for all elements) */\n style: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** Item for compound nodes */\n ancestorsData: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_8___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array)]),\n /** Item for compound nodes */\n childrenData: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_8___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array)]),\n /** Item for compound nodes */\n descendantsData: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_8___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array)]),\n /** Item for compound nodes */\n parentData: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_8___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array)]),\n /** Item for compound nodes */\n siblingsData: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_8___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array)]),\n /** Item for compound nodes */\n isParent: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Item for compound nodes */\n isChildless: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Item for compound nodes */\n isChild: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Item for compound nodes */\n isOrphan: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Item for compound nodes */\n relativePosition: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object)\n }),\n /**\n * The data dictionary of a node returned when you tap or click it. Read-only.\n */\n tapNodeData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /**\n * The complete edge dictionary returned when you tap or click it. Read-only.\n */\n tapEdge: prop_types__WEBPACK_IMPORTED_MODULE_8___default().exact({\n /** Edge-specific item */\n isLoop: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Edge-specific item */\n isSimple: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Edge-specific item */\n midpoint: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** Edge-specific item */\n sourceData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** Edge-specific item */\n sourceEndpoint: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** Edge-specific item */\n targetData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** Edge-specific item */\n targetEndpoint: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** Edge-specific item */\n timeStamp: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /** General item (for all elements) */\n classes: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** General item (for all elements) */\n data: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** General item (for all elements) */\n grabbable: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** General item (for all elements) */\n group: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** General item (for all elements) */\n locked: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** General item (for all elements) */\n selectable: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** General item (for all elements) */\n selected: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** General item (for all elements) */\n style: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object)\n }),\n /**\n * The data dictionary of an edge returned when you tap or click it. Read-only.\n */\n tapEdgeData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /**\n * The data dictionary of a node returned when you hover over it. Read-only.\n */\n mouseoverNodeData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /**\n * The data dictionary of an edge returned when you hover over it. Read-only.\n */\n mouseoverEdgeData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /**\n * The list of data dictionaries of all selected nodes (e.g. using\n * Shift+Click to select multiple nodes, or Shift+Drag to use box selection). Read-only.\n */\n selectedNodeData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array),\n /**\n * The list of data dictionaries of all selected edges (e.g. using\n * Shift+Click to select multiple nodes, or Shift+Drag to use box selection). Read-only.\n */\n selectedEdgeData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array),\n /**\n * Dictionary specifying options to generate an image of the current cytoscape graph.\n * Value is cleared after data is received and image is generated. This property will\n * be ignored on the initial creation of the cytoscape object and must be invoked through\n * a callback after it has been rendered.\n *\n * If the app does not need the image data server side and/or it will only be used to download\n * the image, it may be prudent to invoke `'download'` for `action` instead of\n * `'store'` to improve performance by preventing transfer of data to the server.\n */\n generateImage: prop_types__WEBPACK_IMPORTED_MODULE_8___default().shape({\n /** File type to output */\n type: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOf(['svg', 'png', 'jpg', 'jpeg']),\n /** Dictionary of options to cy.png() / cy.jpg() or cy.svg() for image generation.\n * See https://js.cytoscape.org/#core/export for details. For `'output'`, only 'base64'\n * and 'base64uri' are supported. Default: `{'output': 'base64uri'}`.*/\n options: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /**\n * `'store'`: Stores the image data (only jpg and png are supported)\n * in `imageData` and invokes server-side Dash callbacks. `'download'`: Downloads the image\n * as a file with all data handling done client-side. No `imageData` callbacks are fired.\n * `'both'`: Stores image data and downloads image as file. The default is `'store'`\n */\n action: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOf(['store', 'download', 'both']),\n /** Name for the file to be downloaded. Default: 'cyto'.*/\n filename: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string)\n }),\n /**\n * String representation of the image requested with generateImage. Null if no\n * image was requested yet or the previous request failed. Read-only.\n */\n imageData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /**\n * Toggles intelligent responsive resize of Cytoscape graph with viewport size change\n */\n responsive: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * Extent of the viewport, a bounding box in model co-ordinates that lets you know what model\n * positions are visible in the viewport. This function returns a plain object bounding box\n * with format { x1, y1, x2, y2, w, h }.\n */\n extent: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /**\n * If set to True, mouseoverNodeData and mouseoverEdgeData will be cleared on unhover.\n * If set to False, the value of mouseoverNodeData and mouseoverEdgeData will be the last\n * Node or Edge hovered over\n */\n clearOnUnhover: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool)\n};\nCytoscape.defaultProps = {\n style: {\n width: '600px',\n height: '600px'\n },\n layout: {\n name: 'grid'\n },\n pan: {\n x: 0,\n y: 0\n },\n zoom: 1,\n minZoom: 1e-50,\n maxZoom: 1e50,\n zoomingEnabled: true,\n userZoomingEnabled: true,\n panningEnabled: true,\n userPanningEnabled: true,\n wheelSensitivity: 1,\n boxSelectionEnabled: false,\n autolock: false,\n autoungrabify: false,\n autounselectify: false,\n autoRefreshLayout: true,\n generateImage: {},\n imageData: null,\n responsive: false,\n clearOnUnhover: false,\n elements: [],\n contextMenu: []\n};\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Cytoscape);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvbGliL2NvbXBvbmVudHMvQ3l0b3NjYXBlLnJlYWN0LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNxQztBQUNFO0FBQ0o7QUFDZ0I7QUFDNUI7QUFDVztBQUNZOztBQUU5QztBQUNnQztBQUVoQyxJQUFNUSxTQUFTLEdBQUdDLG1CQUFPLENBQUMsaUVBQVcsQ0FBQztBQUN0QyxJQUFNQyxZQUFZLEdBQUdELG1CQUFPLENBQUMsa0dBQXlCLENBQUM7O0FBRXZEO0FBQ29DOztBQUVwQztBQUNBQyxZQUFZLENBQUNGLFNBQVMsQ0FBQztBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUhBLElBSU1HLFNBQVMsMEJBQUFDLFVBQUE7RUFBQUMsU0FBQSxDQUFBRixTQUFBLEVBQUFDLFVBQUE7RUFDWCxTQUFBRCxVQUFZRyxLQUFLLEVBQUU7SUFBQSxJQUFBQyxLQUFBO0lBQUFDLGVBQUEsT0FBQUwsU0FBQTtJQUNmSSxLQUFBLEdBQUFFLFVBQUEsT0FBQU4sU0FBQSxHQUFNRyxLQUFLO0lBRVhDLEtBQUEsQ0FBS0csUUFBUSxHQUFHSCxLQUFBLENBQUtHLFFBQVEsQ0FBQ0MsSUFBSSxDQUFBQyxzQkFBQSxDQUFBTCxLQUFBLENBQUssQ0FBQztJQUN4Q0EsS0FBQSxDQUFLTSxlQUFlLEdBQUcsS0FBSztJQUM1Qk4sS0FBQSxDQUFLTyxxQkFBcUIsR0FBR1AsS0FBQSxDQUFLTyxxQkFBcUIsQ0FBQ0gsSUFBSSxDQUFBQyxzQkFBQSxDQUFBTCxLQUFBLENBQUssQ0FBQztJQUNsRUEsS0FBQSxDQUFLUSxpQkFBaUIsR0FBRyxLQUFLO0lBQUMsT0FBQVIsS0FBQTtFQUNuQztFQUFDUyxZQUFBLENBQUFiLFNBQUE7SUFBQWMsR0FBQTtJQUFBQyxLQUFBLEVBRUQsU0FBQUMsYUFBYUMsS0FBSyxFQUFFO01BQ2hCLElBQU1DLEdBQUcsR0FBR0QsS0FBSyxDQUFDRSxNQUFNO01BRXhCLElBQU1D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QU8sQ0FBQztFQUN4Qy9JLE1BQU0sRUFBRTtJQUFDNEwsSUFBSSxFQUFFO0VBQU0sQ0FBQztFQUN0QjdCLEdBQUcsRUFBRTtJQUFDekcsQ0FBQyxFQUFFLENBQUM7SUFBRUMsQ0FBQyxFQUFFO0VBQUMsQ0FBQztFQUNqQmYsSUFBSSxFQUFFLENBQUM7RUFDUHBCLE9BQU8sRUFBRSxLQUFLO0VBQ2RGLE9BQU8sRUFBRSxJQUFJO0VBQ2JnSixjQUFjLEVBQUUsSUFBSTtFQUNwQkMsa0JBQWtCLEVBQUUsSUFBSTtFQUN4QkgsY0FBYyxFQUFFLElBQUk7RUFDcEJDLGtCQUFrQixFQUFFLElBQUk7RUFDeEJHLGdCQUFnQixFQUFFLENBQUM7RUFDbkJDLG1CQUFtQixFQUFFLEtBQUs7RUFDMUJFLFFBQVEsRUFBRSxLQUFLO0VBQ2ZELGFBQWEsRUFBRSxLQUFLO0VBQ3BCRSxlQUFlLEVBQUUsS0FBSztFQUN0QnpLLGlCQUFpQixFQUFFLElBQUk7RUFDdkIwSyxhQUFhLEVBQUUsQ0FBQyxDQUFDO0VBQ2pCakQsU0FBUyxFQUFFLElBQUk7RUFDZnpCLFVBQVUsRUFBRSxLQUFLO0VBQ2pCMUQsY0FBYyxFQUFFLEtBQUs7RUFDckJ2QixRQUFRLEVBQUUsRUFBRTtFQUNaMEgsV0FBVyxFQUFFO0FBQ2pCLENBQUM7QUFFRCxpRUFBZXROLFNBQVMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX2N5dG9zY2FwZS8uL3NyYy9saWIvY29tcG9uZW50cy9DeXRvc2NhcGUucmVhY3QuanM/NjQyYyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEphdmFTY3JpcHQgUmVxdWlyZW1lbnRzOiBjeXRvc2NhcGUsIGN5dG9zY2FwZS1zdmdcbiAqIFJlYWN0LmpzIHJlcXVpcmVtZW50czogcmVhY3QtY3l0b3NjYXBlanNcbiAqL1xuaW1wb3J0ICcvc3JjL2Fzc2V0cy9jb250ZXh0bWVudS5jc3MnO1xuaW1wb3J0IFJlYWN0LCB7Q29tcG9uZW50fSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IEN5dG9zY2FwZUNvbXBvbmVudCBmcm9tICdyZWFjdC1jeXRvc2NhcGVqcyc7XG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHt2NCBhcyB1dWlkdjR9IGZyb20gJ3V1aWQnO1xuaW1wb3J0IEN5UmVzcG9uc2l2ZSBmcm9tICcuLi9jeVJlc3BvbnNpdmUuanMnO1xuXG4vLyBQb2x5ZmlsbCBzbyB0aGF0IGNvbnRleHQgbWVudSBleHRlbnNpb24gd29ya3MgaW4gU2FmYXJpXG5pbXBvcnQgJ0B1bmdhcC9jdXN0b20tZWxlbWVudHMnO1xuXG5jb25zdCBjeXRvc2NhcGUgPSByZXF1aXJlKCdjeXRvc2NhcGUnKTtcbmNvbnN0IGNvbnRleHRNZW51cyA9IHJlcXVpcmUoJ2N5dG9zY2FwZS1jb250ZXh0LW1lbnVzJyk7XG5cbi8vIENsaWVudHNpZGUgY2FsbGJhY2sgZnVuY3Rpb25zIGZvciBDeUxlYWZsZXQgQUlPIGNvbXBvbmVudFxuaW1wb3J0ICcuLi9jeWxlYWZsZXRfY2xpZW50c2lkZS5qcyc7XG5cbi8vIHJlZ2lzdGVyIGV4dGVuc2lvblxuY29udGV4dE1lbnVzKGN5dG9zY2FwZSk7XG4vKipcbiAqIEEgQ29tcG9uZW50IExpYnJhcnkgZm9yIERhc2ggYWltZWQgYXQgZmFjaWxpdGF0aW5nIG5ldHdvcmsgdmlzdWFsaXphdGlvbiBpblxuICogUHl0aG9uLCB3cmFwcGVkIGFyb3VuZCBbQ3l0b3NjYXBlLmpzXShodHRwOi8vanMuY3l0b3NjYXBlLm9yZy8pLlxuICovXG5jbGFzcyBDeXRvc2NhcGUgZXh0ZW5kcyBDb21wb25lbnQge1xuICAgIGNvbnN0cnVjdG9yKHByb3BzKSB7XG4gICAgICAgIHN1cGVyKHByb3BzKTtcblxuICAgICAgICB0aGlzLmhhbmRsZUN5ID0gdGhpcy5oYW5kbGVDeS5iaW5kKHRoaXMpO1xuICAgICAgICB0aGlzLl9oYW5kbGVDeUNhbGxlZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLmhhbmRsZUltYWdlR2VuZXJhdGlvbiA9IHRoaXMuaGFuZGxlSW1hZ2VHZW5lcmF0aW9uLmJpbmQodGhpcyk7XG4gICAgICAgIHRoaXMuY3lSZXNwb25zaXZlQ2xhc3MgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBnZW5lcmF0ZU5vZGUoZXZlbnQpIHtcbiAgICAgICAgY29uc3QgZWxlID0gZXZlbnQudGFyZ2V0O1xuXG4gICAgICAgIGNvbnN0IGlzUGFyZW50ID0gZWxlLmlzUGFyZW50KCksXG4gICAgICAgICAgICBpc0NoaWxkbGVzcyA9IGVsZS5pc0NoaWxkbGVzcygpLFxuICAgICAgICAgICAgaXNDaGlsZCA9IGVsZS5pc0NoaWxkKCksXG4gICAgICAgICAgICBpc09ycGhhbiA9IGVsZS5pc09ycGhhbigpLFxuICAgICAgICAgICAgcmVuZGVyZWRQb3NpdGlvbiA9IGVsZS5yZW5kZXJlZFBvc2l0aW9uKCksXG4gICAgICAgICAgICByZWxhdGl2ZVBvc2l0aW9uID0gZWxlLnJlbGF0aXZlUG9zaXRpb24oKSxcbiAgICAgICAgICAgIHBhcmVudCA9IGVsZS5wYXJlbnQoKSxcbiAgICAgICAgICAgIHN0eWxlID0gZWxlLnN0eWxlKCk7XG5cbiAgICAgICAgLy8gVHJpbSBkb3duIHRoZSBlbGVtZW50IG9iamVjdHMgdG8gb25seSB0aGUgZGF0YSBjb250YWluZWRcbiAgICAgICAgY29uc3QgZWRnZXNEYXRhID0gZWxlLmNvbm5lY3RlZEVkZ2VzKCkubWFwKChlbGUpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBlbGUuZGF0YSgpO1xuICAgICAgICB9KTtcbiAgICAgICAgY29uc3QgY2hpbGRyZW5EYXRhID0gZWxlLmNoaWxkcmVuKCkubWFwKChlbGUpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBlbGUuZGF0YSgpO1xuICAgICAgICB9KTtcbiAgICAgICAgY29uc3QgYW5jZXN0b3JzRGF0YSA9IGVsZS5hbmNlc3RvcnMoKS5tYXAoKGVsZSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGVsZS5kYXRhKCk7XG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBkZXNjZW5kYW50c0RhdGEgPSBlbGUuZGVzY2VuZGFudHMoKS5tYXAoKGVsZSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGVsZS5kYXRhKCk7XG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBzaWJsaW5nc0RhdGEgPSBlbGUuc2libGluZ3MoKS5tYXAoKGVsZSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGVsZS5kYXRhKCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IHt0aW1lU3RhbXB9ID0gZXZlbnQ7XG4gICAgICAgIGNvbnN0IHtcbiAgICAgICAgICAgIGNsYXNzZXMsXG4gICAgICAgICAgICBkYXRhLFxuICAgICAgICAgICAgZ3JhYmJhYmxlLFxuICAgICAgICAgICAgZ3JvdXAsXG4gICAgICAgICAgICBsb2NrZWQsXG4gICAgICAgICAgICBwb3NpdGlvbixcbiAgICAgICAgICAgIHNlbGVjdGVkLFxuICAgICAgICAgICAgc2VsZWN0YWJsZSxcbiAgICAgICAgfSA9IGVsZS5qc29uKCk7XG5cbiAgICAgICAgbGV0IHBhcmVudERhdGE7XG4gICAgICAgIGlmIChwYXJlbnQpIHtcbiAgICAgICAgICAgIHBhcmVudERhdGEgPSBwYXJlbnQuZGF0YSgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcGFyZW50RGF0YSA9IG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBub2RlT2JqZWN0ID0ge1xuICAgICAgICAgICAgLy8gTm9kZXMgYXR0cmlidXRlc1xuICAgICAgICAgICAgZWRnZXNEYXRhLFxuICAgICAgICAgICAgcmVuZGVyZWRQb3NpdGlvbixcbiAgICAgICAgICAgIHRpbWVTdGFtcCxcbiAgICAgICAgICAgIC8vIEZyb20gZWxlLmpzb24oKVxuICAgICAgICAgICAgY2xhc3NlcyxcbiAgICAgICAgICAgIGRhdGEsXG4gICAgICAgICAgICBncmFiYmFibGUsXG4gICAgICAgICAgICBncm91cCxcbiAgICAgICAgICAgIGxvY2tlZCxcbiAgICAgICAgICAgIHBvc2l0aW9uLFxuICAgICAgICAgICAgc2VsZWN0YWJsZSxcbiAgICAgICAgICAgIHNlbGVjdGVkLFxuICAgICAgICAgICAgLy8gQ29tcG91bmQgTm9kZXMgYWRkaXRpb25hbCBhdHRyaWJ1dGVzXG4gICAgICAgICAgICBhbmNlc3RvcnNEYXRhLFxuICAgICAgICAgICAgY2hpbGRyZW5EYXRhLFxuICAgICAgICAgICAgZGVzY2VuZGFudHNEYXRhLFxuICAgICAgICAgICAgcGFyZW50RGF0YSxcbiAgICAgICAgICAgIHNpYmxpbmdzRGF0YSxcbiAgICAgICAgICAgIGlzUGFyZW50LFxuICAgICAgICAgICAgaXNDaGlsZGxlc3MsXG4gICAgICAgICAgICBpc0NoaWxkLFxuICAgICAgICAgICAgaXNPcnBoYW4sXG4gICAgICAgICAgICByZWxhdGl2ZVBvc2l0aW9uLFxuICAgICAgICAgICAgLy8gU3R5bGluZ1xuICAgICAgICAgICAgc3R5bGUsXG4gICAgICAgIH07XG4gICAgICAgIHJldHVybiBub2RlT2JqZWN0O1xuICAgIH1cblxuICAgIGdlbmVyYXRlRWRnZShldmVudCkge1xuICAgICAgICBjb25zdCBlbGUgPSBldmVudC50YXJnZXQ7XG5cbiAgICAgICAgY29uc3QgbWlkcG9pbnQgPSBlbGUubWlkcG9pbnQoKSxcbiAgICAgICAgICAgIGlzTG9vcCA9IGVsZS5pc0xvb3AoKSxcbiAgICAgICAgICAgIGlzU2ltcGxlID0gZWxlLmlzU2ltcGxlKCksXG4gICAgICAgICAgICBzb3VyY2VEYXRhID0gZWxlLnNvdXJjZSgpLmRhdGEoKSxcbiAgICAgICAgICAgIHNvdXJjZUVuZHBvaW50ID0gZWxlLnNvdXJjZUVuZHBvaW50KCksXG4gICAgICAgICAgICBzdHlsZSA9IGVsZS5zdHlsZSgpLFxuICAgICAgICAgICAgdGFyZ2V0RGF0YSA9IGVsZS50YXJnZXQoKS5kYXRhKCksXG4gICAgICAgICAgICB0YXJnZXRFbmRwb2ludCA9IGVsZS50YXJnZXRFbmRwb2ludCgpO1xuXG4gICAgICAgIGNvbnN0IHt0aW1lU3RhbXB9ID0gZXZlbnQ7XG4gICAgICAgIGNvbnN0IHtjbGFzc2VzLCBkYXRhLCBncmFiYmFibGUsIGdyb3VwLCBsb2NrZWQsIHNlbGVjdGFibGUsIHNlbGVjdGVkfSA9XG4gICAgICAgICAgICBlbGUuanNvbigpO1xuXG4gICAgICAgIGNvbnN0IGVkZ2VPYmplY3QgPSB7XG4gICAgICAgICAgICAvLyBFZGdlcyBhdHRyaWJ1dGVzXG4gICAgICAgICAgICBpc0xvb3AsXG4gICAgICAgICAgICBpc1NpbXBsZSxcbiAgICAgICAgICAgIG1pZHBvaW50LFxuICAgICAgICAgICAgc291cmNlRGF0YSxcbiAgICAgICAgICAgIHNvdXJjZUVuZHBvaW50LFxuICAgICAgICAgICAgdGFyZ2V0RGF0YSxcbiAgICAgICAgICAgIHRhcmdldEVuZHBvaW50LFxuICAgICAgICAgICAgdGltZVN0YW1wLFxuICAgICAgICAgICAgLy8gRnJvbSBlbGUuanNvbigpXG4gICAgICAgICAgICBjbGFzc2VzLFxuICAgICAgICAgICAgZGF0YSxcbiAgICAgICAgICAgIGdyYWJiYWJsZSxcbiAgICAgICAgICAgIGdyb3VwLFxuICAgICAgICAgICAgbG9ja2VkLFxuICAgICAgICAgICAgc2VsZWN0YWJsZSxcbiAgICAgICAgICAgIHNlbGVjdGVkLFxuICAgICAgICAgICAgLy8gU3R5bGluZ1xuICAgICAgICAgICAgc3R5bGUsXG4gICAgICAgIH07XG5cbiAgICAgICAgcmV0dXJuIGVkZ2VPYmplY3Q7XG4gICAgfVxuXG4gICAgaGFuZGxlQ3koY3kpIHtcbiAgICAgICAgLy8gSWYgdGhlIGN5IHBvaW50ZXIgaGFzIG5vdCBiZWVuIG1vZGlmaWVkLCBhbmQgaGFuZGxlQ3kgaGFzIGFscmVhZHlcbiAgICAgICAgLy8gYmVlbiBjYWxsZWQgYmVmb3JlLCB0aGFuIHdlIGRvbid0IHJ1biB0aGlzIGZ1bmN0aW9uLlxuICAgICAgICBpZiAoY3kgPT09IHRoaXMuX2N5ICYmIHRoaXMuX2hhbmRsZUN5Q2FsbGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fY3kgPSBjeTtcbiAgICAgICAgd2luZG93LmN5ID0gY3k7XG4gICAgICAgIHRoaXMuX2hhbmRsZUN5Q2FsbGVkID0gdHJ1ZTtcblxuICAgICAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vIENPTlNUQU5UUyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgICAgICBjb25zdCBTRUxFQ1RfVEhSRVNIT0xEID0gMTAwO1xuICAgICAgICBjb25zdCBFWFRFTlRfVEhSRVNIT0xEID0gNTtcbiAgICAgICAgY29uc3QgVVBEQVRFX0VMRU1FTlRTX1RIUkVTSE9MRCA9IDEwMDtcbiAgICAgICAgY29uc3QgUkVTSVpFX1RIUkVTSE9MRCA9IDUwO1xuXG4gICAgICAgIGNvbnN0IHNlbGVjdGVkTm9kZXMgPSBjeS5jb2xsZWN0aW9uKCk7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkRWRnZXMgPSBjeS5jb2xsZWN0aW9uKCk7XG5cbiAgICAgICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyBGVU5DVElPTlMgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAgICAgY29uc3QgcmVmcmVzaExheW91dCA9IF8uZGVib3VuY2UoKCkgPT4ge1xuICAgICAgICAgICAgLyoqXG4gICAgICAgICAgICAgKiBSZWZyZXNoIExheW91dCBpZiBuZWVkZWRcbiAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgY29uc3Qge2F1dG9SZWZyZXNoTGF5b3V0LCBsYXlvdXR9ID0gdGhpcy5wcm9wcztcblxuICAgICAgICAgICAgaWYgKGF1dG9SZWZyZXNoTGF5b3V0KSB7XG4gICAgICAgICAgICAgICAgY3kubGF5b3V0KGxheW91dCkucnVuKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sIFNFTEVDVF9USFJFU0hPTEQpO1xuXG4gICAgICAgIGNvbnN0IHNlbmRTZWxlY3RlZE5vZGVzRGF0YSA9IF8uZGVib3VuY2UoKCkgPT4ge1xuICAgICAgICAgICAgLyoqXG4gICAgICAgICAgICAgICBUaGlzIGZ1bmN0aW9uIGlzIHJlcGV0aXRpdmVseSBjYWxsZWQgZXZlcnkgdGltZSBhIG5vZGUgaXMgc2VsZWN0ZWRcbiAgICAgICAgICAgICAgIG9yIHVuc2VsZWN0ZWQsIGJ1dCBrZWVwcyBiZWluZyBkZWJvdW5jZWQgaWYgaXQgaXMgY2FsbGVkIGFnYWluXG4gICAgICAgICAgICAgICB3aXRoaW4gMTAwIG1zIChnaXZlbiBieSBTRUxFQ1RfVEhSRVNIT0xEKS4gRWZmZWN0aXZlbHksIGl0IG9ubHlcbiAgICAgICAgICAgICAgIHJ1bnMgd2hlbiBhbGwgdGhlIG5vZGVzIGhhdmUgYmVlbiBjb3JyZWN0bHkgc2VsZWN0ZWQvdW5zZWxlY3RlZCBhbmRcbiAgICAgICAgICAgICAgIGFkZGVkL3JlbW92ZWQgZnJvbSB0aGUgc2VsZWN0ZWROb2RlcyBjb2xsZWN0aW9uLCBhbmQgdGhlbiB1cGRhdGVzXG4gICAgICAgICAgICAgICB0aGUgc2VsZWN0ZWROb2RlRGF0YSBwcm9wLlxuICAgICAgICAgICAgICAgKi9cbiAgICAgICAgICAgIGNvbnN0IG5vZGVEYXRhID0gc2VsZWN0ZWROb2Rlcy5tYXAoKGVsKSA9PiBlbC5kYXRhKCkpO1xuXG4gICAgICAgICAgICB0aGlzLnByb3BzLnNldFByb3BzKHtcbiAgICAgICAgICAgICAgICBzZWxlY3RlZE5vZGVEYXRhOiBub2RlRGF0YSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9LCBTRUxFQ1RfVEhSRVNIT0xEKTtcblxuICAgICAgICBjb25zdCBzZW5kU2VsZWN0ZWRFZGdlc0RhdGEgPSBfLmRlYm91bmNlKCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGVkZ2VEYXRhID0gc2VsZWN0ZWRFZGdlcy5tYXAoKGVsKSA9PiBlbC5kYXRhKCkpO1xuXG4gICAgICAgICAgICB0aGlzLnByb3BzLnNldFByb3BzKHtcbiAgICAgICAgICAgICAgICBzZWxlY3RlZEVkZ2VEYXRhOiBlZGdlRGF0YSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9LCBTRUxFQ1RfVEhSRVNIT0xEKTtcblxuICAgICAgICBjb25zdCBzZXRFeHRlbnQgPSBfLmRlYm91bmNlKChjeUV4dGVudCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5wcm9wcy5zZXRQcm9wcyh7XG4gICAgICAgICAgICAgICAgZXh0ZW50OiBjeUV4dGVudCxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9LCBFWFRFTlRfVEhSRVNIT0xEKTtcblxuICAgICAgICBjb25zdCB1cGRhdGVFbGVtZW50cyA9IF8uZGVib3VuY2UoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5wcm9wcy5zZXRQcm9wcyh7XG4gICAgICAgICAgICAgICAgZWxlbWVudHM6IGN5LmVsZW1lbnRzKCcnKS5tYXAoKGl0ZW0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGl0ZW0uanNvbigpLmdyb3VwID09PSAnbm9kZXMnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE6IGl0ZW0uanNvbigpLmRhdGEsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGl0ZW0uanNvbigpLnBvc2l0aW9uLFxuICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGF0YTogaXRlbS5qc29uKCkuZGF0YSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiB2b2lkIDAsXG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSwgVVBEQVRFX0VMRU1FTlRTX1RIUkVTSE9MRCk7XG5cbiAgICAgICAgY29uc3QgcmVzaXplID0gXy5kZWJvdW5jZSgoKSA9PiB7XG4gICAgICAgICAgICBjeS5yZXNpemUoKTtcbiAgICAgICAgfSwgUkVTSVpFX1RIUkVTSE9MRCk7XG5cbiAgICAgICAgLy8gU3RvcmUgdGhlIG9yaWdpbmFsIG1heFpvb20gYW5kIG1pblpvb20gZnVuY3Rpb25zXG4gICAgICAgIGNvbnN0IG9yaWdpbmFsTWF4Wm9vbUZuID0gY3kubWF4Wm9vbTtcbiAgICAgICAgY29uc3Qgb3JpZ2luYWxNaW5ab29tRm4gPSBjeS5taW5ab29tO1xuXG4gICAgICAgIC8vIE92ZXJyaWRlIHRoZSBtYXhab29tIGZ1bmN0aW9uIHRvIHRyaWdnZXIgbWF4Wm9vbUNoYW5nZSBjdXN0b20gZXZlbnRcbiAgICAgICAgY3kubWF4Wm9vbSA9IGZ1bmN0aW9uIChlKSB7XG4gICAgICAgICAgICBjb25zdCBjdXJyZW50TWF4Wm9vbSA9IG9yaWdpbmFsTWF4Wm9vbUZuLmNhbGwoY3ksIGUpO1xuXG4gICAgICAgICAgICAvLyBUcmlnZ2VyIHlvdXIgY3VzdG9tIGV2ZW50IGlmIHRoZSBjdXJyZW50IG1heCB6b29tIGxldmVsIGlzIGRpZmZlcmVudCBmcm9tIHRoZVxuICAgICAgICAgICAgLy8gcHJldmlvdXNseSBzdG9yZWQgbWF4IHpvb20gbGV2ZWxcbiAgICAgICAgICAgIGlmIChjdXJyZW50TWF4Wm9vbSAhPT0gY3kuX3ByZXZpb3VzTWF4Wm9vbSkge1xuICAgICAgICAgICAgICAgIGN5Ll9wcmV2aW91c01heFpvb20gPSBjdXJyZW50TWF4Wm9vbTtcbiAgICAgICAgICAgICAgICBjeS50cmlnZ2VyKCdtaW5NYXhab29tQ2hhbmdlJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gY3VycmVudE1heFpvb207XG4gICAgICAgIH07XG5cbiAgICAgICAgLy8gT3ZlcnJpZGUgdGhlIG1pblpvb20gZnVuY3Rpb24gdG8gdHJpZ2dlciBtaW5ab29tQ2hhbmdlIGN1c3RvbSBldmVudFxuICAgICAgICBjeS5taW5ab29tID0gZnVuY3Rpb24gKGUpIHtcbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRNaW5ab29tID0gb3JpZ2luYWxNaW5ab29tRm4uY2FsbChjeSwgZSk7XG5cbiAgICAgICAgICAgIC8vIFRyaWdnZXIgeW91ciBjdXN0b20gZXZlbnQgaWYgdGhlIGN1cnJlbnQgbWluIHpvb20gbGV2ZWwgaXMgZGlmZmVyZW50IGZyb20gdGhlXG4gICAgICAgICAgICAvLyBwcmV2aW91c2x5IHN0b3JlZCBtaW4gem9vbSBsZXZlbFxuICAgICAgICAgICAgaWYgKGN1cnJlbnRNaW5ab29tICE9PSBjeS5fcHJldmlvdXNNaW5ab29tKSB7XG4gICAgICAgICAgICAgICAgY3kuX3ByZXZpb3VzTWluWm9vbSA9IGN1cnJlbnRNaW5ab29tO1xuICAgICAgICAgICAgICAgIGN5LnRyaWdnZXIoJ21pbk1heFpvb21DaGFuZ2UnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBjdXJyZW50TWluWm9vbTtcbiAgICAgICAgfTtcblxuICAgICAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gRVZFTlRTIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgICAgIGN5Lm9uKCd0YXAnLCAnbm9kZScsIChldmVudCkgPT4ge1xuICAgICAgICAgICAgY29uc3Qgbm9kZU9iamVjdCA9IHRoaXMuZ2VuZXJhdGVOb2RlKGV2ZW50KTtcblxuICAgICAgICAgICAgdGhpcy5wcm9wcy5zZXRQcm9wcyh7XG4gICAgICAgICAgICAgICAgdGFwTm9kZTogbm9kZU9iamVjdCxcbiAgICAgICAgICAgICAgICB0YXBOb2RlRGF0YTogT2JqZWN0LmFzc2lnbih7fSwgbm9kZU9iamVjdC5kYXRhLCB7XG4gICAgICAgICAgICAgICAgICAgIHRpbWVTdGFtcDogbm9kZU9iamVjdC50aW1lU3RhbXAsXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY3kub24oJ3RhcCcsICdlZGdlJywgKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBlZGdlT2JqZWN0ID0gdGhpcy5nZW5lcmF0ZUVkZ2UoZXZlbnQpO1xuXG4gICAgICAgICAgICB0aGlzLnByb3BzLnNldFByb3BzKHtcbiAgICAgICAgICAgICAgICB0YXBFZGdlOiBlZGdlT2JqZWN0LFxuICAgICAgICAgICAgICAgIHRhcEVkZ2VEYXRhOiBPYmplY3QuYXNzaWduKHt9LCBlZGdlT2JqZWN0LmRhdGEsIHtcbiAgICAgICAgICAgICAgICAgICAgdGltZVN0YW1wOiBlZGdlT2JqZWN0LnRpbWVTdGFtcCxcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcblxuICAgICAgICBjeS5vbignbW91c2VvdmVyJywgJ25vZGUnLCAoZXZlbnQpID0+IHtcbiAgICAgICAgICAgIHRoaXMucHJvcHMuc2V0UHJvcHMoe1xuICAgICAgICAgICAgICAgIG1vdXNlb3Zlck5vZGVEYXRhOiBPYmplY3QuYXNzaWduKHt9LCBldmVudC50YXJnZXQuZGF0YSgpLCB7XG4gICAgICAgICAgICAgICAgICAgIHRpbWVTdGFtcDogZXZlbnQudGltZVN0YW1wLFxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGN5Lm9uKCdtb3VzZW92ZXInLCAnZWRnZScsIChldmVudCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5wcm9wcy5zZXRQcm9wcyh7XG4gICAgICAgICAgICAgICAgbW91c2VvdmVyRWRnZURhdGE6IE9iamVjdC5hc3NpZ24oe30sIGV2ZW50LnRhcmdldC5kYXRhKCksIHtcbiAgICAgICAgICAgICAgICAgICAgdGltZVN0YW1wOiBldmVudC50aW1lU3RhbXAsXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY3kub24oJ21vdXNlb3V0JywgJ25vZGUnLCAoXykgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMucHJvcHMuY2xlYXJPblVuaG92ZXIgPT09IHRydWUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnByb3BzLnNldFByb3BzKHttb3VzZW92ZXJOb2RlRGF0YTogbnVsbH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICBjeS5vbignbW91c2VvdXQnLCAnZWRnZScsIChfKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5wcm9wcy5jbGVhck9uVW5ob3ZlciA9PT0gdHJ1ZSkge1xuICAgICAgICAgICAgICAgIHRoaXMucHJvcHMuc2V0UHJvcHMoe1xuICAgICAgICAgICAgICAgICAgICBtb3VzZW92ZXJFZGdlRGF0YTogbnVsbCxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgY3kub24oJ3NlbGVjdCcsICdub2RlJywgKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBlbGUgPSBldmVudC50YXJnZXQ7XG5cbiAgICAgICAgICAgIHNlbGVjdGVkTm9kZXMubWVyZ2UoZWxlKTtcbiAgICAgICAgICAgIHNlbmRTZWxlY3RlZE5vZGVzRGF0YSgpO1xuICAgICAgICB9KTtcblxuICAgICAgICBjeS5vbigndW5zZWxlY3QgcmVtb3ZlJywgJ25vZGUnLCAoZXZlbnQpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGVsZSA9IGV2ZW50LnRhcmdldDtcblxuICAgICAgICAgICAgc2VsZWN0ZWROb2Rlcy51bm1lcmdlKGVsZSk7XG4gICAgICAgICAgICBzZW5kU2VsZWN0ZWROb2Rlc0RhdGEoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY3kub24oJ3NlbGVjdCcsICdlZGdlJywgKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBlbGUgPSBldmVudC50YXJnZXQ7XG5cbiAgICAgICAgICAgIHNlbGVjdGVkRWRnZXMubWVyZ2UoZWxlKTtcbiAgICAgICAgICAgIHNlbmRTZWxlY3RlZEVkZ2VzRGF0YSgpO1xuICAgICAgICB9KTtcblxuICAgICAgICBjeS5vbigndW5zZWxlY3QgcmVtb3ZlJywgJ2VkZ2UnLCAoZXZlbnQpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGVsZSA9IGV2ZW50LnRhcmdldDtcblxuICAgICAgICAgICAgc2VsZWN0ZWRFZGdlcy51bm1lcmdlKGVsZSk7XG4gICAgICAgICAgICBzZW5kU2VsZWN0ZWRFZGdlc0RhdGEoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY3kub24oJ2FkZCByZW1vdmUnLCAoKSA9PiB7XG4gICAgICAgICAgICByZWZyZXNoTGF5b3V0KCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGN5Lm9uKCdkcmFnZnJlZSBhZGQgcmVtb3ZlJywgKF8pID0+IHtcbiAgICAgICAgICAgIHVwZGF0ZUVsZW1lbnRzKCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGN5Lm9uKCdyZXNpemUgdmlld3BvcnQnLCAoKSA9PiB7XG4gICAgICAgICAgICBzZXRFeHRlbnQoY3kuZXh0ZW50KCkpO1xuICAgICAgICB9KTtcblxuICAgICAgICBjeS5vbigndGFwc3RhcnQnLCAoKSA9PiB7XG4gICAgICAgICAgICByZXNpemUoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gUmVmcmVzaCBsYXlvdXQgaWYgY3VycmVudCB6b29tIGlzIG91dCBvZiBib3VuZGFyaWVzXG4gICAgICAgIGN5Lm9uKCdtaW5NYXhab29tQ2hhbmdlJywgZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgY29uc3Qgem9vbSA9IGN5Lnpvb20oKTtcbiAgICAgICAgICAgIGlmICh6b29tID4gY3kubWF4Wm9vbSgpIHx8IHpvb20gPCBjeS5taW5ab29tKCkpIHtcbiAgICAgICAgICAgICAgICBjeS5maXQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5jcmVhdGVNZW51SXRlbXMgPSAoY3R4TWVudSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgdXBkYXRlQ29udGV4dE1lbnVEYXRhID0gKG5ld0NvbnRleHQpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnByb3BzLnNldFByb3BzKHtjb250ZXh0TWVudURhdGE6IG5ld0NvbnRleHR9KTtcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBjb25zdCBjb250ZXh0TWVudURlZmF1bHRGdW5jdGlvbnMgPSB7XG4gICAgICAgICAgICAgICAgcmVtb3ZlOiBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IHx8IGV2ZW50LmN5VGFyZ2V0O1xuICAgICAgICAgICAgICAgICAgICB0YXJnZXQucmVtb3ZlKCk7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBhZGRfbm9kZTogZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHBvcyA9IGV2ZW50LnBvc2l0aW9uIHx8IGV2ZW50LmN5UG9zaXRpb247XG4gICAgICAgICAgICAgICAgICAgIGN5LmFkZCh7XG4gICAgICAgICAgICAgICAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JvdXA6ICdub2RlcycsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB4OiBwb3MueCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB5OiBwb3MueSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgYWRkX2VkZ2U6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWROb2RlSWRzID0gc2VsZWN0ZWROb2Rlcy5tYXAoKG5vZGUpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICBub2RlLmlkKClcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHNlbGVjdGVkTm9kZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFcnJvcjogTm8gbm9kZXMgc2VsZWN0ZWQsIGNhbm5vdCBhZGQgZWRnZSdcbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoc2VsZWN0ZWROb2Rlcy5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGN5LmFkZCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZDogdXVpZHY0KCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyb3VwOiAnZWRnZXMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzb3VyY2U6IHNlbGVjdGVkTm9kZUlkc1swXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0OiBzZWxlY3RlZE5vZGVJZHNbMF0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHNlbGVjdGVkTm9kZXMubGVuZ3RoID09PSAyKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjeS5hZGQoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IHV1aWR2NCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBncm91cDogJ2VkZ2VzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc291cmNlOiBzZWxlY3RlZE5vZGVJZHNbMF0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldDogc2VsZWN0ZWROb2RlSWRzWzFdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0Vycm9yOiBtb3JlIHRoYW4gMiBub2RlcyBzZWxlY3RlZCwgY2Fubm90IGFkZCBlZGdlJ1xuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgY29uc3QgbmV3TWVudUl0ZW1zID0gW107XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgY3R4TWVudSkge1xuICAgICAgICAgICAgICAgIGxldCBvbkNsaWNrRnVuY3Rpb247XG4gICAgICAgICAgICAgICAgLy8gcmV0dXJuIGRhdGEgc28gYSB1c2VyIGNhbiBkZWZpbmUgYSBjdXN0b20gb24gY2xpY2sgZnVuY3Rpb24gaW4gUHl0aG9uXG4gICAgICAgICAgICAgICAgLy8gaWYgb25DbGljayBvciBvbiBvbkNsaWNrQ3VzdG9tIGFyZSBub3Qgc3BlY2lmaWVkXG4gICAgICAgICAgICAgICAgb25DbGlja0Z1bmN0aW9uID0gZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIHVwZGF0ZUNvbnRleHRNZW51RGF0YSh7XG4gICAgICAgICAgICAgICAgICAgICAgICBtZW51SXRlbUlkOiBpdGVtLmlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgeDogZXZlbnQucG9zaXRpb24ueCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHk6IGV2ZW50LnBvc2l0aW9uLnksXG4gICAgICAgICAgICAgICAgICAgICAgICB0aW1lU3RhbXA6IGV2ZW50LnRpbWVTdGFtcCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnRJZDogZXZlbnQudGFyZ2V0LmRhdGEoKS5pZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGVkZ2VTb3VyY2U6IGV2ZW50LnRhcmdldC5kYXRhKCkuc291cmNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgZWRnZVRhcmdldDogZXZlbnQudGFyZ2V0LmRhdGEoKS50YXJnZXQsXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgLy8gdXNlIGRlZmF1bHQgamF2YXNjcmlwdCBmdW5jdGlvbiBhcyBvbkNsaWNrRnVuY3Rpb25cbiAgICAgICAgICAgICAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGl0ZW0sICdvbkNsaWNrJykpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHRNZW51RGVmYXVsdEZ1bmN0aW9ucyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtLm9uQ2xpY2tcbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrRnVuY3Rpb24gPVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHRNZW51RGVmYXVsdEZ1bmN0aW9uc1tpdGVtLm9uQ2xpY2tdO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBgb25DbGljayBmdW5jdGlvbiAke2l0ZW0ub25DbGlja30gaXMgbm90IGRlZmluZWRgXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8vIHVzZSB1c2VyLWRlZmluZWQgSmF2YXNjcmlwdCBmdW5jdGlvbiBpbiBhIG5hbWVzcGFjZSB1bmRlciBhc3NldHMvIGFzIG9uQ2xpY2tGdW5jdGlvblxuICAgICAgICAgICAgICAgIGVsc2UgaWYgKFxuICAgICAgICAgICAgICAgICAgICBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoaXRlbSwgJ29uQ2xpY2tDdXN0b20nKVxuICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2luZG93LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkYXNoQ3l0b3NjYXBlRnVuY3Rpb25zJ1xuICAgICAgICAgICAgICAgICAgICAgICAgKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpbmRvdy5kYXNoQ3l0b3NjYXBlRnVuY3Rpb25zLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0ub25DbGlja0N1c3RvbVxuICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2tGdW5jdGlvbiA9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2luZG93LmRhc2hDeXRvc2NhcGVGdW5jdGlvbnNbaXRlbS5vbkNsaWNrQ3VzdG9tXTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYG9uQ2xpY2tDdXN0b20gZnVuY3Rpb24gJHtpdGVtLm9uQ2xpY2tDdXN0b219IGlzIG5vdCBkZWZpbmVkYFxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjb25zdCBuZXdfaXRlbSA9IHtcbiAgICAgICAgICAgICAgICAgICAgaWQ6IGl0ZW0uaWQsXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IGl0ZW0ubGFiZWwsXG4gICAgICAgICAgICAgICAgICAgIHRvb2x0aXBUZXh0OiBpdGVtLnRvb2x0aXBUZXh0LFxuICAgICAgICAgICAgICAgICAgICBzZWxlY3RvcjogJycsXG4gICAgICAgICAgICAgICAgICAgIG9uQ2xpY2tGdW5jdGlvbjogb25DbGlja0Z1bmN0aW9uLFxuICAgICAgICAgICAgICAgICAgICBjb3JlQXNXZWxsOiBmYWxzZSxcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoaXRlbSwgJ2F2YWlsYWJsZU9uJykpIHtcbiAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCBzZWxlY3RvciBvZiBpdGVtLmF2YWlsYWJsZU9uKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoc2VsZWN0b3IgPT09ICdlZGdlJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChuZXdfaXRlbS5zZWxlY3Rvci5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld19pdGVtLnNlbGVjdG9yID0gbmV3X2l0ZW0uc2VsZWN0b3IgKyAnLCAnO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXdfaXRlbS5zZWxlY3RvciA9IG5ld19pdGVtLnNlbGVjdG9yICsgJ2VkZ2UnO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChzZWxlY3RvciA9PT0gJ25vZGUnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG5ld19pdGVtLnNlbGVjdG9yLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3X2l0ZW0uc2VsZWN0b3IgPSBuZXdfaXRlbS5zZWxlY3RvciArICcsICc7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld19pdGVtLnNlbGVjdG9yID0gbmV3X2l0ZW0uc2VsZWN0b3IgKyAnbm9kZSc7XG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHNlbGVjdG9yID09PSAnY2FudmFzJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld19pdGVtLmNvcmVBc1dlbGwgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgRXJyb3I6IHNlbGVjdG9yICR7c2VsZWN0b3J9IGlzIG5vdCBhdmFpbGFibGUuIENob29zZSBvbmUgb2YgJ25vZGUnLCAnZWRnZScgb3IgJ2NhbnZhcycuYFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgbmV3TWVudUl0ZW1zLnB1c2gobmV3X2l0ZW0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIG5ld01lbnVJdGVtcztcbiAgICAgICAgfTtcblxuICAgICAgICB0aGlzLmN5UmVzcG9uc2l2ZUNsYXNzID0gbmV3IEN5UmVzcG9uc2l2ZShjeSk7XG4gICAgICAgIHRoaXMuY3lSZXNwb25zaXZlQ2xhc3MudG9nZ2xlKHRoaXMucHJvcHMucmVzcG9uc2l2ZSk7XG5cbiAgICAgICAgc2V0RXh0ZW50KGN5LmV4dGVudCgpKTtcbiAgICB9XG5cbiAgICBoYW5kbGVJbWFnZUdlbmVyYXRpb24oaW1hZ2VUeXBlLCBpbWFnZU9wdGlvbnMsIGFjdGlvbnNUb1BlcmZvcm0sIGZpbGVOYW1lKSB7XG4gICAgICAgIGxldCBvcHRpb25zID0ge307XG4gICAgICAgIGlmIChpbWFnZU9wdGlvbnMpIHtcbiAgICAgICAgICAgIG9wdGlvbnMgPSBpbWFnZU9wdGlvbnM7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgZGVzaXJlZE91dHB1dCA9IG9wdGlvbnMub3V0cHV0O1xuICAgICAgICBvcHRpb25zLm91dHB1dCA9ICdibG9iJztcblxuICAgICAgICBsZXQgZG93bmxvYWRJbWFnZTtcbiAgICAgICAgbGV0IHN0b3JlSW1hZ2U7XG4gICAgICAgIHN3aXRjaCAoYWN0aW9uc1RvUGVyZm9ybSkge1xuICAgICAgICAgICAgY2FzZSAnc3RvcmUnOlxuICAgICAgICAgICAgICAgIGRvd25sb2FkSW1hZ2UgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICBzdG9yZUltYWdlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ2Rvd25sb2FkJzpcbiAgICAgICAgICAgICAgICBkb3dubG9hZEltYWdlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBzdG9yZUltYWdlID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdib3RoJzpcbiAgICAgICAgICAgICAgICBkb3dubG9hZEltYWdlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBzdG9yZUltYWdlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgZG93bmxvYWRJbWFnZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHN0b3JlSW1hZ2UgPSB0cnVlO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IG91dHB1dDtcbiAgICAgICAgaWYgKGltYWdlVHlwZSA9PT0gJ3BuZycpIHtcbiAgICAgICAgICAgIG91dHB1dCA9IHRoaXMuX2N5LnBuZyhvcHRpb25zKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaW1hZ2VUeXBlID09PSAnanBnJyB8fCBpbWFnZVR5cGUgPT09ICdqcGVnJykge1xuICAgICAgICAgICAgb3V0cHV0ID0gdGhpcy5fY3kuanBnKG9wdGlvbnMpO1xuICAgICAgICB9XG4gICAgICAgIC8vIG9ubHkgd29ya3Mgd2hlbiBzdmcgaXMgaW1wb3J0ZWQgKHNlZSBsaWIvZXh0cmFfaW5kZXguanMpXG4gICAgICAgIGlmIChpbWFnZVR5cGUgPT09ICdzdmcnKSB7XG4gICAgICAgICAgICBvdXRwdXQgPSB0aGlzLl9jeS5zdmcob3B0aW9ucyk7XG4gICAgICAgIH1cblxuICAgICAgICAvKlxuICAgICAgICAgKiBJZiBvdXRwdXQgaXMgZW1wdHkgYmVjYXVzZSBvZiBiYWQgb3B0aW9ucyBvciBhIGN5dG9zY2FwZSBlcnJvcixcbiAgICAgICAgICogc2tpcCBhbnkgZG93bmxvYWQgb3Igc3RvcmFnZSBzdGVwcy5cbiAgICAgICAgICovXG4gICAgICAgIGlmIChvdXRwdXQgJiYgZG93bmxvYWRJbWFnZSkge1xuICAgICAgICAgICAgLypcbiAgICAgICAgICAgICAqIERvd25sb2FkaW5nIGlzIGluaXRpYXRlZCBjbGllbnQtc2lkZSBiZWNhdXNlIHRoZSBpbWFnZSBpcyBnZW5lcmF0ZWQgYXRcbiAgICAgICAgICAgICAqIHRoZSBjbGllbnQuIFRoaXMgYXZvaWRzIHRyYW5zZmVycmluZyBhIHBvdGVudGlhbGx5IGxhcmdlIGltYWdlXG4gICAgICAgICAgICAgKiB0byB0aGUgc2VydmVyIGFuZCBiYWNrIGFnYWluIHRocm91Z2ggYSBjYWxsYmFjay5cbiAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgbGV0IGZOYW1lID0gZmlsZU5hbWU7XG4gICAgICAgICAgICBpZiAoIWZpbGVOYW1lKSB7XG4gICAgICAgICAgICAgICAgZk5hbWUgPSAnY3l0byc7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChpbWFnZVR5cGUgIT09ICdzdmcnKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5kb3dubG9hZEJsb2Iob3V0cHV0LCBmTmFtZSArICcuJyArIGltYWdlVHlwZSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnN0IGJsb2IgPSBuZXcgQmxvYihbb3V0cHV0XSwge1xuICAgICAgICAgICAgICAgICAgICB0eXBlOiAnaW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04JyxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB0aGlzLmRvd25sb2FkQmxvYihibG9iLCBmTmFtZSArICcuJyArIGltYWdlVHlwZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAob3V0cHV0ICYmIHN0b3JlSW1hZ2UpIHtcbiAgICAgICAgICAgIC8vIERlZmF1bHQgb3V0cHV0IHR5cGUgaWYgdW5zcGVjaWZpZWRcbiAgICAgICAgICAgIGlmICghZGVzaXJlZE91dHB1dCkge1xuICAgICAgICAgICAgICAgIGRlc2lyZWRPdXRwdXQgPSAnYmFzZTY0dXJpJztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICEoZGVzaXJlZE91dHB1dCA9PT0gJ2Jhc2U2NHVyaScgfHwgZGVzaXJlZE91dHB1dCA9PT0gJ2Jhc2U2NCcpXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8qXG4gICAgICAgICAgICAgKiBDb252ZXJ0IGJsb2IgdG8gYmFzZTY0dXJpIG9yIGJhc2U2NCBzdHJpbmcgdG8gc3RvcmUgdGhlIGltYWdlIGRhdGEuXG4gICAgICAgICAgICAgKiBUaGFuayB5b3UsIGJhc2U2NGd1cnUgaHR0cHM6Ly9iYXNlNjQuZ3VydS9kZXZlbG9wZXJzL2phdmFzY3JpcHQvZXhhbXBsZXMvZW5jb2RlLWJsb2JcbiAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgY29uc3QgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcbiAgICAgICAgICAgIHJlYWRlci5vbmxvYWQgPSAoKSA9PiB7XG4gICAgICAgICAgICAgICAgLyogRmlsZVJlYWRlciBpcyBhc3luY2hyb25vdXMsIHNvIHRoZSByZWFkIGZ1bmN0aW9uIGlzIG5vbi1ibG9ja2luZy5cbiAgICAgICAgICAgICAgICAgKiBJZiB0aGlzIGNvZGUgYmxvY2sgaXMgcGxhY2VkIGFmdGVyIHRoZSByZWFkIGNvbW1hbmQsIGl0XG4gICAgICAgICAgICAgICAgICogbWF5IHJlc3VsdCBpbiBlbXB0eSBvdXRwdXQgYmVjYXVzZSB0aGUgYmxvYiBoYXMgbm90IGJlZW4gbG9hZGVkIHlldC5cbiAgICAgICAgICAgICAgICAgKi9cbiAgICAgICAgICAgICAgICBsZXQgY2FsbGJhY2tEYXRhID0gcmVhZGVyLnJlc3VsdDtcbiAgICAgICAgICAgICAgICBpZiAoZGVzaXJlZE91dHB1dCA9PT0gJ2Jhc2U2NCcpIHtcbiAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2tEYXRhID0gY2FsbGJhY2tEYXRhLnJlcGxhY2UoL15kYXRhOi4rO2Jhc2U2NCwvLCAnJyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMucHJvcHMuc2V0UHJvcHMoe2ltYWdlRGF0YTogY2FsbGJhY2tEYXRhfSk7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgcmVhZGVyLnJlYWRBc0RhdGFVUkwob3V0cHV0KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGRvd25sb2FkQmxvYihibG9iLCBmaWxlTmFtZSkge1xuICAgICAgICAvKlxuICAgICAgICAgKiBEb3dubG9hZCBibG9iIGFzIGZpbGUgYnkgZHluYW1pY2FsbHkgY3JlYXRpbmcgbGluay5cbiAgICAgICAgICogQ2hyb21lIGRvZXMgbm90IG9wZW4gZGF0YSBVUkxzIHdoZW4gSlMgb3BlbnMgYSBuZXcgdGFiIGRpcmVjdGVkXG4gICAgICAgICAqIGF0IHRoZSBkYXRhIFVSTCwgc28gdGhpcyBpcyBhbiBhbHRlcm5hdGUgaW1wbGVtZW50YXRpb25cbiAgICAgICAgICogdGhhdCBkb2Vzbid0IHJlcXVpcmUgZXh0cmEgcGFja2FnZXMuIEl0IG1heSBub3QgYmVoYXZlIGluXG4gICAgICAgICAqIGV4YWN0bHkgdGhlIHNhbWUgd2F5IGFjcm9zcyBicm93c2VycyAobWlnaHQgZGlzcGxheSBpbWFnZSBpbiBuZXcgdGFiXG4gICAgICAgICAqIGludGVhZCBvZiBkb3dubG9hZGluZyBhcyBhIGZpbGUpLlxuICAgICAgICAgKiBUaGFuayB5b3UsIGtvbGRldiBodHRwczovL2pzZmlkZGxlLm5ldC9rb2xkZXYvY1c3VzUvXG4gICAgICAgICAqL1xuICAgICAgICBjb25zdCBkb3dubG9hZExpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XG4gICAgICAgIGRvd25sb2FkTGluay5zdHlsZSA9ICdkaXNwbGF5OiBub25lJztcbiAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkb3dubG9hZExpbmspO1xuXG4gICAgICAgIGNvbnN0IHVybCA9IHdpbmRvdy5VUkwuY3JlYXRlT2JqZWN0VVJMKGJsb2IpO1xuICAgICAgICBkb3dubG9hZExpbmsuaHJlZiA9IHVybDtcbiAgICAgICAgZG93bmxvYWRMaW5rLmRvd25sb2FkID0gZmlsZU5hbWU7XG4gICAgICAgIGRvd25sb2FkTGluay5jbGljaygpO1xuICAgICAgICB3aW5kb3cuVVJMLnJldm9rZU9iamVjdFVSTCh1cmwpO1xuXG4gICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoZG93bmxvYWRMaW5rKTtcbiAgICB9XG5cbiAgICB1cGRhdGVDb250ZXh0TWVudShjb250ZXh0TWVudSkge1xuICAgICAgICB0aGlzLl9jeS5jb250ZXh0TWVudXMoe1xuICAgICAgICAgICAgbWVudUl0ZW1zOiB0aGlzLmNyZWF0ZU1lbnVJdGVtcyhjb250ZXh0TWVudSksXG4gICAgICAgICAgICBtZW51SXRlbUNsYXNzZXM6IFsnY3VzdG9tLW1lbnUtaXRlbSddLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvLyBSZXR1cm5zIHRydWUgaWYgdGhlcmUgaXMgbm8gb3ZlcmxhcCBiZXR3ZWVuIHRoZSBlbGVtZW50IGJvdW5kaW5nIGJveFxuICAgIC8vIGFuZCB0aGUgcmVuZGVyZWQgYXJlYSBvZiB0aGUgZ3JhcGgsIG1lYW5pbmcgdGhlIGdyYXBoIGlzIGVudGlyZWx5IG91dHNpZGUgdGhlIHZpZXdwb3J0O1xuICAgIC8vIHJldHVybnMgZmFsc2Ugb3RoZXJ3aXNlXG4gICAgZ3JhcGhPdXRPZlZpZXcoKSB7XG4gICAgICAgIGNvbnN0IGN5V2lkdGggPSB0aGlzLl9jeS53aWR0aCgpO1xuICAgICAgICBjb25zdCBjeUhlaWdodCA9IHRoaXMuX2N5LmhlaWdodCgpO1xuICAgICAgICBjb25zdCBlbEJveCA9IHRoaXMuX2N5LmVsZW1lbnRzKCkucmVuZGVyZWRCb3VuZGluZ2JveCgpO1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgZWxCb3gueDEgPiBjeVdpZHRoIHx8XG4gICAgICAgICAgICBlbEJveC55MSA+IGN5SGVpZ2h0IHx8XG4gICAgICAgICAgICBlbEJveC54MiA8IDAgfHxcbiAgICAgICAgICAgIGVsQm94LnkyIDwgMFxuICAgICAgICApO1xuICAgIH1cblxuICAgIGNvbXBvbmVudERpZFVwZGF0ZShwcmV2UHJvcHMpIHtcbiAgICAgICAgY29uc3Qge2NvbnRleHRNZW51LCBlbGVtZW50c30gPSB0aGlzLnByb3BzO1xuICAgICAgICBpZiAoIV8uaXNFcXVhbChwcmV2UHJvcHMuY29udGV4dE1lbnUsIGNvbnRleHRNZW51KSAmJiB0aGlzLl9jeSkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVDb250ZXh0TWVudShjb250ZXh0TWVudSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFfLmlzRXF1YWwocHJldlByb3BzLmVsZW1lbnRzLCBlbGVtZW50cykgJiYgdGhpcy5fY3kpIHtcbiAgICAgICAgICAgIC8vIElmIGVsZW1lbnRzIHdlcmUgdXBkYXRlZCwgYW5kIHRoZSBuZXcgZ3JhcGggaXMgKmVudGlyZWx5KiBvdXRzaWRlIHRoZSB2aWV3cG9ydCxcbiAgICAgICAgICAgIC8vIGZpdCB0aGUgdmlld3BvcnQgdG8gdGhlIG5ldyBlbGVtZW50c1xuICAgICAgICAgICAgaWYgKHRoaXMuZ3JhcGhPdXRPZlZpZXcoKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuX2N5LmZpdCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgICAgICBjb25zdCB7Y29udGV4dE1lbnV9ID0gdGhpcy5wcm9wcztcbiAgICAgICAgaWYgKHRoaXMuX2N5ICYmIGNvbnRleHRNZW51Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlQ29udGV4dE1lbnUoY29udGV4dE1lbnUpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJlbmRlcigpIHtcbiAgICAgICAgY29uc3Qge1xuICAgICAgICAgICAgLy8gSFRNTCBhdHRyaWJ1dGUgcHJvcHNcbiAgICAgICAgICAgIGlkLFxuICAgICAgICAgICAgc3R5bGUsXG4gICAgICAgICAgICBjbGFzc05hbWUsXG4gICAgICAgICAgICAvLyBDb21tb24gcHJvcHNcbiAgICAgICAgICAgIGVsZW1lbnRzLFxuICAgICAgICAgICAgc3R5bGVzaGVldCxcbiAgICAgICAgICAgIGxheW91dCxcbiAgICAgICAgICAgIGNvbnRleHRNZW51LFxuICAgICAgICAgICAgY29udGV4dE1lbnVEYXRhLFxuICAgICAgICAgICAgLy8gVmlld3BvcnQgTWFuaXB1bGF0aW9uXG4gICAgICAgICAgICBwYW4sXG4gICAgICAgICAgICB6b29tLFxuICAgICAgICAgICAgLy8gVmlld3BvcnQgTXV0YWJpbGl0eSBhbmQgZ2VzdHVyZSBUb2dnbGluZ1xuICAgICAgICAgICAgcGFubmluZ0VuYWJsZWQsXG4gICAgICAgICAgICB1c2VyUGFubmluZ0VuYWJsZWQsXG4gICAgICAgICAgICBtaW5ab29tLFxuICAgICAgICAgICAgbWF4Wm9vbSxcbiAgICAgICAgICAgIHpvb21pbmdFbmFibGVkLFxuICAgICAgICAgICAgdXNlclpvb21pbmdFbmFibGVkLFxuICAgICAgICAgICAgd2hlZWxTZW5zaXRpdml0eSxcbiAgICAgICAgICAgIGJveFNlbGVjdGlvbkVuYWJsZWQsXG4gICAgICAgICAgICBhdXRvdW5ncmFiaWZ5LFxuICAgICAgICAgICAgYXV0b2xvY2ssXG4gICAgICAgICAgICBhdXRvdW5zZWxlY3RpZnksXG4gICAgICAgICAgICAvLyBJbWFnZSBoYW5kbGluZ1xuICAgICAgICAgICAgZ2VuZXJhdGVJbWFnZSxcbiAgICAgICAgICAgIC8vIFJlc3BvbnNpdmUgZ3JhcGhzXG4gICAgICAgICAgICByZXNwb25zaXZlLFxuICAgICAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgICAgICBpZiAoT2JqZWN0LmtleXMoZ2VuZXJhdGVJbWFnZSkubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgLy8gSWYgbm8gY3l0b3NjYXBlIG9iamVjdCBoYXMgYmVlbiBjcmVhdGVkIHlldCwgYW4gaW1hZ2UgY2Fubm90IGJlIGdlbmVyYXRlZCxcbiAgICAgICAgICAgIC8vIHNvIGdlbmVyYXRlSW1hZ2Ugd2lsbCBiZSBpZ25vcmVkIGFuZCBjbGVhcmVkLlxuICAgICAgICAgICAgdGhpcy5wcm9wcy5zZXRQcm9wcyh7Z2VuZXJhdGVJbWFnZToge319KTtcbiAgICAgICAgICAgIGlmICh0aGlzLl9jeSkge1xuICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlSW1hZ2VHZW5lcmF0aW9uKFxuICAgICAgICAgICAgICAgICAgICBnZW5lcmF0ZUltYWdlLnR5cGUsXG4gICAgICAgICAgICAgICAgICAgIGdlbmVyYXRlSW1hZ2Uub3B0aW9ucyxcbiAgICAgICAgICAgICAgICAgICAgZ2VuZXJhdGVJbWFnZS5hY3Rpb24sXG4gICAgICAgICAgICAgICAgICAgIGdlbmVyYXRlSW1hZ2UuZmlsZW5hbWVcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuY3lSZXNwb25zaXZlQ2xhc3MpIHtcbiAgICAgICAgICAgIHRoaXMuY3lSZXNwb25zaXZlQ2xhc3MudG9nZ2xlKHJlc3BvbnNpdmUpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDxDeXRvc2NhcGVDb21wb25lbnRcbiAgICAgICAgICAgICAgICBpZD17aWR9XG4gICAgICAgICAgICAgICAgY3k9e3RoaXMuaGFuZGxlQ3l9XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWV9XG4gICAgICAgICAgICAgICAgc3R5bGU9e3N0eWxlfVxuICAgICAgICAgICAgICAgIGVsZW1lbnRzPXtDeXRvc2NhcGVDb21wb25lbnQubm9ybWFsaXplRWxlbWVudHMoZWxlbWVudHMpfVxuICAgICAgICAgICAgICAgIHN0eWxlc2hlZXQ9e3N0eWxlc2hlZXR9XG4gICAgICAgICAgICAgICAgbGF5b3V0PXtsYXlvdXR9XG4gICAgICAgICAgICAgICAgY29udGV4dE1lbnU9e2NvbnRleHRNZW51fVxuICAgICAgICAgICAgICAgIGNvbnRleHRNZW51RGF0YT17Y29udGV4dE1lbnVEYXRhfVxuICAgICAgICAgICAgICAgIHBhbj17cGFufVxuICAgICAgICAgICAgICAgIHpvb209e3pvb219XG4gICAgICAgICAgICAgICAgcGFubmluZ0VuYWJsZWQ9e3Bhbm5pbmdFbmFibGVkfVxuICAgICAgICAgICAgICAgIHVzZXJQYW5uaW5nRW5hYmxlZD17dXNlclBhbm5pbmdFbmFibGVkfVxuICAgICAgICAgICAgICAgIG1pblpvb209e21pblpvb219XG4gICAgICAgICAgICAgICAgbWF4Wm9vbT17bWF4Wm9vbX1cbiAgICAgICAgICAgICAgICB6b29taW5nRW5hYmxlZD17em9vbWluZ0VuYWJsZWR9XG4gICAgICAgICAgICAgICAgdXNlclpvb21pbmdFbmFibGVkPXt1c2VyWm9vbWluZ0VuYWJsZWR9XG4gICAgICAgICAgICAgICAgd2hlZWxTZW5zaXRpdml0eT17d2hlZWxTZW5zaXRpdml0eX1cbiAgICAgICAgICAgICAgICBib3hTZWxlY3Rpb25FbmFibGVkPXtib3hTZWxlY3Rpb25FbmFibGVkfVxuICAgICAgICAgICAgICAgIGF1dG91bmdyYWJpZnk9e2F1dG91bmdyYWJpZnl9XG4gICAgICAgICAgICAgICAgYXV0b2xvY2s9e2F1dG9sb2NrfVxuICAgICAgICAgICAgICAgIGF1dG91bnNlbGVjdGlmeT17YXV0b3Vuc2VsZWN0aWZ5fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgKTtcbiAgICB9XG59XG5cbkN5dG9zY2FwZS5wcm9wVHlwZXMgPSB7XG4gICAgLy8gSFRNTCBhdHRyaWJ1dGUgcHJvcHNcblxuICAgIC8qKlxuICAgICAqIFRoZSBJRCB1c2VkIHRvIGlkZW50aWZ5IHRoaXMgY29tcG9uZW50IGluIERhc2ggY2FsbGJhY2tzLlxuICAgICAqL1xuICAgIGlkOiBQcm9wVHlwZXMuc3RyaW5nLFxuXG4gICAgLyoqXG4gICAgICogU2V0cyB0aGUgY2xhc3MgbmFtZSBvZiB0aGUgZWxlbWVudCAodGhlIHZhbHVlIG9mIGFuIGVsZW1lbnQncyBodG1sXG4gICAgICogY2xhc3MgYXR0cmlidXRlKS5cbiAgICAgKi9cbiAgICBjbGFzc05hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG5cbiAgICAvKipcbiAgICAgKiBBZGQgaW5saW5lIHN0eWxlcyB0byB0aGUgcm9vdCBlbGVtZW50LlxuICAgICAqL1xuICAgIHN0eWxlOiBQcm9wVHlwZXMub2JqZWN0LFxuXG4gICAgLy8gRGFzaCBzcGVjaWZpYyBwcm9wc1xuXG4gICAgLyoqXG4gICAgICogRGFzaC1hc3NpZ25lZCBjYWxsYmFjayB0aGF0IHNob3VsZCBiZSBjYWxsZWQgd2hlbmV2ZXIgYW55IG9mIHRoZVxuICAgICAqIHByb3BlcnRpZXMgY2hhbmdlLlxuICAgICAqL1xuICAgIHNldFByb3BzOiBQcm9wVHlwZXMuZnVuYyxcblxuICAgIC8vIENvbW1vbiBwcm9wc1xuXG4gICAgLyoqXG4gICAgICogQSBsaXN0IG9mIGRpY3Rpb25hcmllcyByZXByZXNlbnRpbmcgdGhlIGVsZW1lbnRzIG9mIHRoZSBuZXR3b3Jrcy4gRWFjaCBkaWN0aW9uYXJ5IGRlc2NyaWJlcyBhbiBlbGVtZW50LCBhbmRcbiAgICAgKiBzcGVjaWZpZXMgaXRzIHB1cnBvc2UuIFRoZSBbb2ZmaWNpYWwgQ3l0b3NjYXBlLmpzIGRvY3VtZW50YXRpb25dKGh0dHBzOi8vanMuY3l0b3NjYXBlLm9yZy8jbm90YXRpb24vZWxlbWVudHMtanNvbilcbiAgICAgKiBvZmZlcnMgYW4gZXh0ZW5zaXZlIG92ZXJ2aWV3IGFuZCBleGFtcGxlcyBvZiBlbGVtZW50IGRlY2xhcmF0aW9uLlxuICAgICAqIEFsdGVybmF0aXZlbHksIGEgZGljdGlvbmFyeSB3aXRoIHRoZSBmb3JtYXQgeyAnbm9kZXMnOiBbXSwgJ2VkZ2VzJzogW10gfSBpcyBhbGxvd2VkIGF0IGluaXRpYWxpemF0aW9uLFxuICAgICAqIGJ1dCBhcnJheXMgcmVtYWluIHRoZSByZWNvbW1lbmRlZCBmb3JtYXQuXG4gICAgICovXG4gICAgZWxlbWVudHM6IFByb3BUeXBlcy5vbmVPZlR5cGUoW1xuICAgICAgICBQcm9wVHlwZXMuYXJyYXlPZihcbiAgICAgICAgICAgIFByb3BUeXBlcy5zaGFwZSh7XG4gICAgICAgICAgICAgICAgLyoqXG4gICAgICAgICAgICAgICAgICogRWl0aGVyICdub2Rlcycgb3IgJ2VkZ2VzJy4gSWYgbm90IGdpdmVuLCBpdCdzIGF1dG9tYXRpY2FsbHkgaW5mZXJyZWQuXG4gICAgICAgICAgICAgICAgICovXG4gICAgICAgICAgICAgICAgZ3JvdXA6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICAgICAgICAgICAgLyoqIEVsZW1lbnQgc3BlY2lmaWMgZGF0YS4qL1xuICAgICAgICAgICAgICAgIGRhdGE6IFByb3BUeXBlcy5zaGFwZSh7XG4gICAgICAgICAgICAgICAgICAgIC8qKiAgUmVmZXJlbmNlIHRvIHRoZSBlbGVtZW50LCB1c2VmdWwgZm9yIHNlbGVjdG9ycyBhbmQgZWRnZXMuIFJhbmRvbWx5IGFzc2lnbmVkIGlmIG5vdCBnaXZlbi4qL1xuICAgICAgICAgICAgICAgICAgICBpZDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgICAgICAgICAgICAgICAgLyoqXG4gICAgICAgICAgICAgICAgICAgICAqIE9wdGlvbmFsIG5hbWUgZm9yIHRoZSBlbGVtZW50LCB1c2VmdWwgd2hlbiBgZGF0YShsYWJlbClgIGlzIGdpdmVuIHRvIGEgc3R5bGUncyBgY29udGVudGBcbiAgICAgICAgICAgICAgICAgICAgICogb3IgYGxhYmVsYC4gSXQgaXMgb25seSBhIGNvbnZlbnRpb24uICovXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICAgICAgICAgICAgICAvKiogT25seSBmb3Igbm9kZXMuIE9wdGlvbmFsIHJlZmVyZW5jZSB0byBhbm90aGVyIG5vZGUuIE5lZWRlZCB0byBjcmVhdGUgY29tcG91bmQgbm9kZXMuICovXG4gICAgICAgICAgICAgICAgICAgIHBhcmVudDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgICAgICAgICAgICAgICAgLyoqIE9ubHkgZm9yIGVkZ2VzLiBUaGUgaWQgb2YgdGhlIHNvdXJjZSBub2RlLCB3aGljaCBpcyB3aGVyZSB0aGUgZWRnZSBzdGFydHMuICovXG4gICAgICAgICAgICAgICAgICAgIHNvdXJjZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgICAgICAgICAgICAgICAgLyoqIE9ubHkgZm9yIGVkZ2VzLiBUaGUgaWQgb2YgdGhlIHRhcmdldCBub2RlLCB3aGVyZSB0aGUgZWRnZSBlbmRzLiAqL1xuICAgICAgICAgICAgICAgICAgICB0YXJnZXQ6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgLyoqIE9ubHkgZm9yIG5vZGVzLiBUaGUgcG9zaXRpb24gb2YgdGhlIG5vZGUuICovXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IFByb3BUeXBlcy5zaGFwZSh7XG4gICAgICAgICAgICAgICAgICAgIC8qKiBUaGUgeC1jb29yZGluYXRlIG9mIHRoZSBub2RlLiAqL1xuICAgICAgICAgICAgICAgICAgICB4OiBQcm9wVHlwZXMubnVtYmVyLFxuICAgICAgICAgICAgICAgICAgICAvKiogVGhlIHktY29vcmRpbmF0ZSBvZiB0aGUgbm9kZS4gKi9cbiAgICAgICAgICAgICAgICAgICAgeTogUHJvcFR5cGVzLm51bWJlcixcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAvKiogSWYgdGhlIGVsZW1lbnQgaXMgc2VsZWN0ZWQgdXBvbiBpbml0aWFsaXNhdGlvbi4gKi9cbiAgICAgICAgICAgICAgICBzZWxlY3RlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgICAgICAgICAgICAgLyoqIElmIHRoZSBlbGVtZW50IGNhbiBiZSBzZWxlY3RlZC4gKi9cbiAgICAgICAgICAgICAgICBzZWxlY3RhYmxlOiBQcm9wVHlwZXMuYm9vbCxcbiAgICAgICAgICAgICAgICAvKiogT25seSBmb3Igbm9kZXMuIElmIHRoZSBwb3NpdGlvbiBpcyBpbW11dGFibGUuICovXG4gICAgICAgICAgICAgICAgbG9ja2VkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICAgICAgICAgICAgICAvKiogT25seSBmb3Igbm9kZXMuIElmIHRoZSBub2RlIGNhbiBiZSBncmFiYmVkIGFuZCBtb3ZlZCBieSB0aGUgdXNlci4gKi9cbiAgICAgICAgICAgICAgICBncmFiYmFibGU6IFByb3BUeXBlcy5ib29sLFxuICAgICAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICAgICAqIFNwYWNlIHNlcGFyYXRlZCBzdHJpbmcgb2YgY2xhc3MgbmFtZXMgb2YgdGhlIGVsZW1lbnQuIFRob3NlIGNsYXNzZXMgY2FuIGJlIHNlbGVjdGVkXG4gICAgICAgICAgICAgICAgICogYnkgYSBzdHlsZSBzZWxlY3Rvci5cbiAgICAgICAgICAgICAgICAgKi9cbiAgICAgICAgICAgICAgICBjbGFzc2VzOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgKSxcbiAgICAgICAgUHJvcFR5cGVzLmV4YWN0KHtcbiAgICAgICAgICAgIG5vZGVzOiBQcm9wVHlwZXMuYXJyYXksXG4gICAgICAgICAgICBlZGdlczogUHJvcFR5cGVzLmFycmF5LFxuICAgICAgICB9KSxcbiAgICBdKSxcblxuICAgIC8qKlxuICAgICAqIEEgbGlzdCBvZiBkaWN0aW9uYXJpZXMgcmVwcmVzZW50aW5nIHRoZSBzdHlsZXMgb2YgdGhlIGVsZW1lbnRzLlxuICAgICAqIEVhY2ggZGljdGlvbmFyeSByZXF1aXJlcyB0aGUgZm9sbG93aW5nIGtleXM6IGBzZWxlY3RvcmAgYW5kIGBzdHlsZWAuXG4gICAgICpcbiAgICAgKiBCb3RoIHRoZSBbc2VsZWN0b3JdKGh0dHBzOi8vanMuY3l0b3NjYXBlLm9yZy8jc2VsZWN0b3JzKSBhbmRcbiAgICAgKiB0aGUgW3N0eWxlXShodHRwczovL2pzLmN5dG9zY2FwZS5vcmcvI3N0eWxlL25vZGUtYm9keSkgYXJlXG4gICAgICogZXhoYXVzdGl2ZWx5IGRvY3VtZW50ZWQgaW4gdGhlIEN5dG9zY2FwZS5qcyBkb2NzLiBBbHRob3VnaCBtZXRob2RzIHN1Y2hcbiAgICAgKiBhcyBgY3kuZWxlbWVudHMoLi4uKWAgYW5kIGBjeS5maWx0ZXIoLi4uKWAgYXJlIG5vdCBhdmFpbGFibGUsIHRoZSBzZWxlY3RvclxuICAgICAqIHN0cmluZyBzeW50YXggc3RheXMgdGhlIHNhbWUuXG4gICAgICovXG4gICAgc3R5bGVzaGVldDogUHJvcFR5cGVzLmFycmF5T2YoXG4gICAgICAgIFByb3BUeXBlcy5leGFjdCh7XG4gICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAqIFdoaWNoIGVsZW1lbnRzIHlvdSBhcmUgc3R5bGluZy4gR2VuZXJhbGx5LCB5b3Ugc2VsZWN0IGEgZ3JvdXAgb2YgZWxlbWVudHMgKG5vZGUsIGVkZ2VzLCBib3RoKSxcbiAgICAgICAgICAgICAqIGEgY2xhc3MgKHRoYXQgeW91IGRlY2xhcmUgaW4gdGhlIGVsZW1lbnQgZGljdGlvbmFyeSksIG9yIGFuIGVsZW1lbnQgYnkgSUQuXG4gICAgICAgICAgICAgKi9cbiAgICAgICAgICAgIHNlbGVjdG9yOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAqIFdoYXQgYXNwZWN0cyBvZiB0aGUgZWxlbWVudHMgeW91IHdhbnQgdG8gbW9kaWZ5LiBUaGlzIGNvdWxkIGJlIHRoZSBzaXplIG9yXG4gICAgICAgICAgICAgKiBjb2xvciBvZiBhIG5vZGUsIHRoZSBzaGFwZSBvZiBhbiBlZGdlIGFycm93LCBvciBtYW55IG1vcmUuXG4gICAgICAgICAgICAgKi9cbiAgICAgICAgICAgIHN0eWxlOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWQsXG4gICAgICAgIH0pXG4gICAgKSxcblxuICAgIC8qKlxuICAgICAqIEEgZGljdGlvbmFyeSBzcGVjaWZ5aW5nIGhvdyB0byBzZXQgdGhlIHBvc2l0aW9uIG9mIHRoZSBlbGVtZW50cyBpbiB5b3VyXG4gICAgICogZ3JhcGguIFRoZSBgJ25hbWUnYCBrZXkgaXMgcmVxdWlyZWQsIGFuZCBpbmRpY2F0ZXMgd2hpY2ggbGF5b3V0IChhbGdvcml0aG0pIHRvXG4gICAgICogdXNlLiBUaGUga2V5cyBhY2NlcHRlZCBieSBgbGF5b3V0YCB2YXJ5IGRlcGVuZGluZyBvbiB0aGUgYWxnb3JpdGhtLCBidXQgdGhlc2VcbiAgICAgKiBrZXlzIGFyZSBhY2NlcHRlZCBieSBhbGwgbGF5b3V0czogYGZpdGAsICBgcGFkZGluZ2AsIGBhbmltYXRlYCwgYGFuaW1hdGlvbkR1cmF0aW9uYCxcbiAgICAgKiBgYm91bmRpbmdCb3hgLlxuICAgICAqXG4gICAgICogIFRoZSBjb21wbGV0ZSBsaXN0IG9mIGxheW91dHMgYW5kIHRoZWlyIGFjY2VwdGVkIG9wdGlvbnMgYXJlIGF2YWlsYWJsZSBvbiB0aGVcbiAgICAgKiAgW0N5dG9zY2FwZS5qcyBkb2NzXShodHRwczovL2pzLmN5dG9zY2FwZS5vcmcvI2xheW91dHMpIC4gRm9yIHRoZSBleHRlcm5hbCBsYXlvdXRzLFxuICAgICAqIHRoZSBvcHRpb25zIGFyZSBsaXN0ZWQgaW4gdGhlIFwiQVBJXCIgc2VjdGlvbiBvZiB0aGUgIFJFQURNRS5cbiAgICAgKiAgTm90ZSB0aGF0IGNlcnRhaW4ga2V5cyBhcmUgbm90IHN1cHBvcnRlZCBpbiBEYXNoIHNpbmNlIHRoZSB2YWx1ZSBpcyBhIEphdmFTY3JpcHRcbiAgICAgKiAgZnVuY3Rpb24gb3IgYSBjYWxsYmFjay4gUGxlYXNlIHZpc2l0IHRoaXNcbiAgICAgKiBbaXNzdWVdKGh0dHBzOi8vZ2l0aHViLmNvbS9wbG90bHkvZGFzaC1jeXRvc2NhcGUvaXNzdWVzLzI1KSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiAgICAgKi9cbiAgICBsYXlvdXQ6IFByb3BUeXBlcy5zaGFwZSh7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBUaGUgbGF5b3V0cyBhdmFpbGFibGUgYnkgZGVmYXVsdCBhcmU6XG4gICAgICAgICAqICAgYHJhbmRvbWA6IFJhbmRvbWx5IGFzc2lnbnMgcG9zaXRpb25zLlxuICAgICAgICAgKiAgIGBwcmVzZXRgOiBBc3NpZ25zIHBvc2l0aW9uIGJhc2VkIG9uIHRoZSBgcG9zaXRpb25gIGtleSBpbiBlbGVtZW50IGRpY3Rpb25hcmllcy5cbiAgICAgICAgICogICBgY2lyY2xlYDogU2luZ2xlLWxldmVsIGNpcmNsZSwgd2l0aCBvcHRpb25hbCByYWRpdXMuXG4gICAgICAgICAqICAgYGNvbmNlbnRyaWNgOiBNdWx0aS1sZXZlbCBjaXJjbGUsIHdpdGggb3B0aW9uYWwgcmFkaXVzLlxuICAgICAgICAgKiAgIGBncmlkYDogU3F1YXJlIGdyaWQsIG9wdGlvbmFsbHkgd2l0aCBudW1iZXJzIG9mIGByb3dzYCBhbmQgYGNvbHNgLlxuICAgICAgICAgKiAgIGBicmVhZHRoZmlyc3RgOiBUcmVlIHN0cnVjdHVyZSBidWlsdCB1c2luZyBCRlMsIHdpdGggb3B0aW9uYWwgYHJvb3RzYC5cbiAgICAgICAgICogICBgY29zZWA6IEZvcmNlLWRpcmVjdGVkIHBoeXNpY3Mgc2ltdWxhdGlvbi5cbiAgICAgICAgICpcbiAgICAgICAgICogU29tZSBleHRlcm5hbCBsYXlvdXRzIGFyZSBhbHNvIGluY2x1ZGVkLiBUbyB1c2UgdGhlbSwgcnVuXG4gICAgICAgICAqICAgYGRhc2hfY3l0b3NjYXBlLmxvYWRfZXh0cmFfbGF5b3V0cygpYCBiZWZvcmUgY3JlYXRpbmcgeW91ciBEYXNoIGFwcC4gQmUgY2FyZWZ1bCBhYm91dFxuICAgICAgICAgKiAgIHVzaW5nIHRoZSBleHRyYSBsYXlvdXRzIHdoZW4gbm90IG5lY2Vzc2FyeSwgc2luY2UgdGhleSByZXF1aXJlIHN1cHBsZW1lbnRhcnkgYmFuZHdpZHRoXG4gICAgICAgICAqICAgZm9yIGxvYWRpbmcsIHdoaWNoIGltcGFjdHMgdGhlIHN0YXJ0dXAgdGltZSBvZiB0aGUgYXBwLlxuICAgICAgICAgKiAgIFRoZSBleHRlcm5hbCBsYXlvdXRzIGFyZTpcbiAgICAgICAgICogICBbY29zZS1iaWxrZW50XShodHRwczovL2dpdGh1Yi5jb20vY3l0b3NjYXBlL2N5dG9zY2FwZS5qcy1jb3NlLWJpbGtlbnQpLFxuICAgICAgICAgKiAgIFtmY29zZV0oaHR0cHM6Ly9naXRodWIuY29tL2lWaXMtYXQtQmlsa2VudC9jeXRvc2NhcGUuanMtZmNvc2UpLFxuICAgICAgICAgKiAgIFtjb2xhXShodHRwczovL2dpdGh1Yi5jb20vY3l0b3NjYXBlL2N5dG9zY2FwZS5qcy1jb2xhKSxcbiAgICAgICAgICogICBbZXVsZXJdKGh0dHBzOi8vZ2l0aHViLmNvbS9jeXRvc2NhcGUvY3l0b3NjYXBlLmpzLWRhZ3JlKSxcbiAgICAgICAgICogICBbc3ByZWFkXShodHRwczovL2dpdGh1Yi5jb20vY3l0b3NjYXBlL2N5dG9zY2FwZS5qcy1zcHJlYWQpLFxuICAgICAgICAgKiAgIFtkYWdyZV0oaHR0cHM6Ly9naXRodWIuY29tL2N5dG9zY2FwZS9jeXRvc2NhcGUuanMtZGFncmUpLFxuICAgICAgICAgKiAgIFtrbGF5XShodHRwczovL2dpdGh1Yi5jb20vY3l0b3NjYXBlL2N5dG9zY2FwZS5qcy1rbGF5KSxcbiAgICAgICAgICovXG4gICAgICAgIG5hbWU6IFByb3BUeXBlcy5vbmVPZihbXG4gICAgICAgICAgICAncmFuZG9tJyxcbiAgICAgICAgICAgICdwcmVzZXQnLFxuICAgICAgICAgICAgJ2NpcmNsZScsXG4gICAgICAgICAgICAnY29uY2VudHJpYycsXG4gICAgICAgICAgICAnZ3JpZCcsXG4gICAgICAgICAgICAnYnJlYWR0aGZpcnN0JyxcbiAgICAgICAgICAgICdjb3NlJyxcbiAgICAgICAgICAgICdjb3NlLWJpbGtlbnQnLFxuICAgICAgICAgICAgJ2Zjb3NlJyxcbiAgICAgICAgICAgICdjb2xhJyxcbiAgICAgICAgICAgICdldWxlcicsXG4gICAgICAgICAgICAnc3ByZWFkJyxcbiAgICAgICAgICAgICdkYWdyZScsXG4gICAgICAgICAgICAna2xheScsXG4gICAgICAgIF0pLmlzUmVxdWlyZWQsXG4gICAgICAgIC8qKiAgV2hldGhlciB0byByZW5kZXIgdGhlIG5vZGVzIGluIG9yZGVyIHRvIGZpdCB0aGUgY2FudmFzLiAqL1xuICAgICAgICBmaXQ6IFByb3BUeXBlcy5ib29sLFxuICAgICAgICAvKiogUGFkZGluZyBhcm91bmQgdGhlIHNpZGVzIG9mIHRoZSBjYW52YXMsIGlmIGZpdCBpcyBlbmFibGVkLiAqL1xuICAgICAgICBwYWRkaW5nOiBQcm9wVHlwZXMubnVtYmVyLFxuICAgICAgICAvKiogV2hldGhlciB0byBhbmltYXRlIGNoYW5nZSBpbiBwb3NpdGlvbiB3aGVuIHRoZSBsYXlvdXQgY2hhbmdlcy4gKi9cbiAgICAgICAgYW5pbWF0ZTogUHJvcFR5cGVzLmJvb2wsXG4gICAgICAgIC8qKiBEdXJhdGlvbiBvZiBhbmltYXRpb24gaW4gbWlsbGlzZWNvbmRzLCBpZiBlbmFibGVkLiAqL1xuICAgICAgICBhbmltYXRpb25EdXJhdGlvbjogUHJvcFR5cGVzLm51bWJlcixcbiAgICAgICAgLyoqXG4gICAgICAgICAqIEhvdyB0byBjb25zdHJhaW4gdGhlIGxheW91dCBpbiBhIHNwZWNpZmljIGFyZWEuIEtleXMgYWNjZXB0ZWQgYXJlIGVpdGhlclxuICAgICAgICAgKiBgeDEsIHkxLCB4MiwgeTJgIG9yIGB4MSwgeTEsIHcsIGhgLCBhbGwgb2Ygd2hpY2ggcmVjZWl2ZSBhIHBpeGVsIHZhbHVlLlxuICAgICAgICAgKi9cbiAgICAgICAgYm91bmRpbmdCb3g6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgfSksXG4gICAgLyoqXG4gICAgICogRGVmaW5lIGEgY3VzdG9tIGNvbnRleHQgbWVudS4gVGhlIGJlaGF2aW91ciBvZiBlYWNoIG1lbnUgaXRlbSBjYW4gYmUgZGVmaW5lZCBpbiAxIG9mIDMgd2F5cy5cbiAgICAgKiAxLiBCeSBwYXNzaW5nIGEgc3RyaW5nIHRvIG9uQ2xpY2sgdGhhdCByZWZlcnMgdG8gb25lIG9mIHRoZSBidWlsdC1pbiBKYXZhc2NyaXB0IGZ1bmN0aW9ucy5cbiAgICAgKiAyLiBCeSBwYXNzaW5nIGEgc3RyaW5nIHRvIG9uQ2xpY2tDdXN0b20gdGhhdCByZWZlcnMgdG8gb25lIG9mIHRoZSB1c2VyLWRlZmluZWQgZnVuY3Rpb25zIGluIGEgbmFtZXNwYWNlLlxuICAgICAqIDMuIEJ5IG9taXR0aW5nIGJvdGggb2YgdGhlc2UgcHJvcGVydGllczsgdGhpcyB3aWxsIHVwZGF0ZSB0aGUgY29udGV4dE1lbnVEYXRhIHByb3BlcnR5IGFuZCB0cmlnZ2VyIGEgRGFzaCBjYWxsYmFjay5cbiAgICAgKi9cbiAgICBjb250ZXh0TWVudTogUHJvcFR5cGVzLmFycmF5T2YoXG4gICAgICAgIFByb3BUeXBlcy5leGFjdCh7XG4gICAgICAgICAgICAvKiogSUQgb2YgdGhlIG1lbnUgaXRlbSBpbiB0aGUgY29udGV4dCBtZW51ICovXG4gICAgICAgICAgICBpZDogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICAgICAgICAgICAgLyoqIFRoZSBsYWJlbCBvbiB0aGUgY29udGV4dCBtZW51IGl0ZW0qL1xuICAgICAgICAgICAgbGFiZWw6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgICAgICAgICAgIC8qKiBUaGUgdG9vbHRpcCB0ZXh0IHdoZW4gaG92ZXJpbmcgb24gdG9wIG9mIGEgY29udGV4dCBtZW51IGl0ZW0gKi9cbiAgICAgICAgICAgIHRvb2x0aXBUZXh0OiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICAgICAgLyoqIEEgbGlzdCBjb250YWluaW5nIGVpdGhlciAnbm9kZScsICdlZGdlJyxhbmQvb3IgJ2NhbnZhcycuIFRoaXMgd2lsbCBkZXRlcm1pbmUgd2hlcmUgdGhlIGNvbnRleHRcbiAgICAgICAgICAgICAqICBtZW51IGl0ZW0gd2lsbCBzaG93IHVwLlxuICAgICAgICAgICAgICovXG4gICAgICAgICAgICBhdmFpbGFibGVPbjogUHJvcFR5cGVzLmFycmF5LFxuICAgICAgICAgICAgLyoqIFNwZWNpZnkgd2hpY2ggYnVpbHQtaW4gSmF2YVNjcmlwdCBmdW5jdGlvbiB0byB1c2UgYXMgYmVoYXZpb3VyIGZvciB0aGUgY29udGV4dFxuICAgICAgICAgICAgICogbWVudSBpdGVtLiBPbmUgb2YgJ3JlbW92ZScsICdhZGRfbm9kZScsIG9yICdhZGRfZWRnZSdcbiAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgb25DbGljazogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgICAgICAgIC8qKiBTcGVjaWZ5IHdoaWNoIHVzZXItZGVmaW5lZCBKYXZhc2NyaXB0IGZ1bmN0aW9uIHRvIHVzZSBpbiB0aGUgZGFzaEN5dG9zY2FwZUZ1bmN0aW9uc1xuICAgICAgICAgICAgICogbmFtZXNwYWNlIGFzIGJlaGF2aW91ciBmb3IgdGhlIGNvbnRleHQgbWVudSBpdGVtXG4gICAgICAgICAgICAgKi9cbiAgICAgICAgICAgIG9uQ2xpY2tDdXN0b206IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICAgIH0pXG4gICAgKSxcbiAgICAvKipcbiAgICAgKiBSZXRyaWV2ZSByZWxldmFudCBkYXRhIHdoZW4gYSBjb250ZXh0IG1lbnUgaXRlbSBpcyBjbGlja2VkLiAgUmVhZC1vbmx5LlxuICAgICAqL1xuICAgIGNvbnRleHRNZW51RGF0YTogUHJvcFR5cGVzLmV4YWN0KHtcbiAgICAgICAgLyoqIElEIG9mIHRoZSBtZW51IGl0ZW0gaW4gdGhlIGNvbnRleHQgbWVudSAqL1xuICAgICAgICBtZW51SXRlbUlkOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICAvKiogeC1wb3NpdGlvbiBvZiB0aGUgY29udGV4dCBjbGljayAqL1xuICAgICAgICB4OiBQcm9wVHlwZXMubnVtYmVyLFxuICAgICAgICAvKiogeS1wb3NpdGlvbiBvZiB0aGUgY29udGV4dCBjbGljayAqL1xuICAgICAgICB5OiBQcm9wVHlwZXMubnVtYmVyLFxuICAgICAgICAvKiogVGltZXN0YW1wIG9mIGNvbnRleHQgY2xpY2sqL1xuICAgICAgICB0aW1lU3RhbXA6IFByb3BUeXBlcy5udW1iZXIsXG4gICAgICAgIC8qKiBFbGVtZW50IElEIG9uIGNvbnRleHQgY2xpY2sgaWYgdGhlIGNvbnRleHQgY2xpY2sgd2FzIG9uIGFuIGVsZW1lbnQuXG4gICAgICAgICAqIElmIGNvbnRleHQgY2xpY2sgd2FzIG9uIHdoaXRlIHNwYWNlLCB0aGlzIHByb3BlcnR5IGlzIG5vdCByZXR1cm5lZFxuICAgICAgICAgKi9cbiAgICAgICAgZWxlbWVudElkOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICAvKiogTm9kZSBJRCBvZiB0aGUgZWRnZSBzb3VyY2UgaWYgdGhlIGNsaWNrZWQgZWxlbWVudCBpcyBhbiBlZGdlLFxuICAgICAgICAgKiBvciBlbHNlIHRoaXMgcHJvcGVydHkgaXMgbm90IHJldHVybmVkKi9cbiAgICAgICAgZWRnZVNvdXJjZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgICAgLyoqIE5vZGUgSUQgb2YgdGhlIGVkZ2UgdGFyZ2V0IGlmIHRoZSBjbGlja2VkIGVsZW1lbnQgaXMgYW4gZWRnZSxcbiAgICAgICAgICogb3IgZWxzZSB0aGlzIHByb3BlcnR5IGlzIG5vdCByZXR1cm5lZCovXG4gICAgICAgIGVkZ2VUYXJnZXQ6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgfSksXG4gICAgLy8gVmlld3BvcnQgTWFuaXB1bGF0aW9uXG5cbiAgICAvKipcbiAgICAgKiBEaWN0aW9uYXJ5IGluZGljYXRpbmcgdGhlIGluaXRpYWwgcGFubmluZyBwb3NpdGlvbiBvZiB0aGUgZ3JhcGguIFRoZVxuICAgICAqIGZvbGxvd2luZyBrZXlzIGFyZSBhY2NlcHRlZDpcbiAgICAgKi9cbiAgICBwYW46IFByb3BUeXBlcy5leGFjdCh7XG4gICAgICAgIC8qKiBUaGUgeC1jb29yZGluYXRlIG9mIHRoZSBub2RlICovXG4gICAgICAgIHg6IFByb3BUeXBlcy5udW1iZXIsXG4gICAgICAgIC8qKiBUaGUgeS1jb29yZGluYXRlIG9mIHRoZSBub2RlICAqL1xuICAgICAgICB5OiBQcm9wVHlwZXMubnVtYmVyLFxuICAgIH0pLFxuXG4gICAgLyoqXG4gICAgICogVGhlIGluaXRpYWwgem9vbSBsZXZlbCBvZiB0aGUgZ3JhcGguIFlvdSBjYW4gc2V0IGBtaW5ab29tYCBhbmRcbiAgICAgKiBgbWF4Wm9vbWAgdG8gc2V0IHJlc3RyaWN0aW9ucyBvbiB0aGUgem9vbSBsZXZlbC5cbiAgICAgKi9cbiAgICB6b29tOiBQcm9wVHlwZXMubnVtYmVyLFxuXG4gICAgLy8gVmlld3BvcnQgTXV0YWJpbGl0eSBhbmQgZ2VzdHVyZSBUb2dnbGluZ1xuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgcGFubmluZyB0aGUgZ3JhcGggaXMgZW5hYmxlZCAoaS5lLiwgdGhlIHBvc2l0aW9uIG9mIHRoZSBncmFwaCBpc1xuICAgICAqIG11dGFibGUgb3ZlcmFsbCkuXG4gICAgICovXG4gICAgcGFubmluZ0VuYWJsZWQ6IFByb3BUeXBlcy5ib29sLFxuXG4gICAgLyoqXG4gICAgICogV2hldGhlciB1c2VyIGV2ZW50cyAoZS5nLiBkcmFnZ2luZyB0aGUgZ3JhcGggYmFja2dyb3VuZCkgYXJlIGFsbG93ZWQgdG9cbiAgICAgKiBwYW4gdGhlIGdyYXBoLlxuICAgICAqL1xuICAgIHVzZXJQYW5uaW5nRW5hYmxlZDogUHJvcFR5cGVzLmJvb2wsXG5cbiAgICAvKipcbiAgICAgKiBBIG1pbmltdW0gYm91bmQgb24gdGhlIHpvb20gbGV2ZWwgb2YgdGhlIGdyYXBoLiBUaGUgdmlld3BvcnQgY2FuIG5vdCBiZVxuICAgICAqIHNjYWxlZCBzbWFsbGVyIHRoYW4gdGhpcyB6b29tIGxldmVsLlxuICAgICAqL1xuICAgIG1pblpvb206IFByb3BUeXBlcy5udW1iZXIsXG5cbiAgICAvKipcbiAgICAgKiBBIG1heGltdW0gYm91bmQgb24gdGhlIHpvb20gbGV2ZWwgb2YgdGhlIGdyYXBoLiBUaGUgdmlld3BvcnQgY2FuIG5vdCBiZVxuICAgICAqIHNjYWxlZCBsYXJnZXIgdGhhbiB0aGlzIHpvb20gbGV2ZWwuXG4gICAgICovXG4gICAgbWF4Wm9vbTogUHJvcFR5cGVzLm51bWJlcixcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgem9vbWluZyB0aGUgZ3JhcGggaXMgZW5hYmxlZCAoaS5lLiwgdGhlIHpvb20gbGV2ZWwgb2YgdGhlIGdyYXBoXG4gICAgICogaXMgbXV0YWJsZSBvdmVyYWxsKS5cbiAgICAgKi9cbiAgICB6b29taW5nRW5hYmxlZDogUHJvcFR5cGVzLmJvb2wsXG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHVzZXIgZXZlbnRzIChlLmcuIGRyYWdnaW5nIHRoZSBncmFwaCBiYWNrZ3JvdW5kKSBhcmUgYWxsb3dlZFxuICAgICAqIHRvIHBhbiB0aGUgZ3JhcGguXG4gICAgICovXG4gICAgdXNlclpvb21pbmdFbmFibGVkOiBQcm9wVHlwZXMuYm9vbCxcblxuICAgIC8qKlxuICAgICAqIENoYW5nZXMgdGhlIHNjcm9sbCB3aGVlbCBzZW5zaXRpdml0eSB3aGVuIHpvb21pbmcuXG4gICAgICovXG4gICAgd2hlZWxTZW5zaXRpdml0eTogUHJvcFR5cGVzLm51bWJlcixcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgYm94IHNlbGVjdGlvbiAoaS5lLiBkcmFnIGEgYm94IG92ZXJsYXkgYXJvdW5kLCBhbmQgcmVsZWFzZSBpdFxuICAgICAqIHRvIHNlbGVjdCkgaXMgZW5hYmxlZC4gSWYgZW5hYmxlZCwgdGhlIHVzZXIgbXVzdCB0YXBob2xkIHRvIHBhbiB0aGUgZ3JhcGguXG4gICAgICovXG4gICAgYm94U2VsZWN0aW9uRW5hYmxlZDogUHJvcFR5cGVzLmJvb2wsXG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIG5vZGVzIHNob3VsZCBiZSB1bmdyYWJpZmllZCAobm90IGdyYWJiYWJsZSBieSB1c2VyKSBieVxuICAgICAqIGRlZmF1bHQgKGlmIHRydWUsIG92ZXJyaWRlcyBpbmRpdmlkdWFsIG5vZGUgc3RhdGUpLlxuICAgICAqL1xuICAgIGF1dG91bmdyYWJpZnk6IFByb3BUeXBlcy5ib29sLFxuXG4gICAgLyoqXG4gICAgICogV2hldGhlciBub2RlcyBzaG91bGQgYmUgbG9ja2VkIChub3QgZHJhZ2dhYmxlIGF0IGFsbCkgYnkgZGVmYXVsdFxuICAgICAqIChpZiB0cnVlLCBvdmVycmlkZXMgaW5kaXZpZHVhbCBub2RlIHN0YXRlKS5cbiAgICAgKi9cbiAgICBhdXRvbG9jazogUHJvcFR5cGVzLmJvb2wsXG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIG5vZGVzIHNob3VsZCBiZSB1bnNlbGVjdGlmaWVkIChpbW11dGFibGUgc2VsZWN0aW9uIHN0YXRlKSBieVxuICAgICAqIGRlZmF1bHQgKGlmIHRydWUsIG92ZXJyaWRlcyBpbmRpdmlkdWFsIGVsZW1lbnQgc3RhdGUpLlxuICAgICAqL1xuICAgIGF1dG91bnNlbGVjdGlmeTogUHJvcFR5cGVzLmJvb2wsXG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRoZSBsYXlvdXQgc2hvdWxkIGJlIHJlZnJlc2hlZCB3aGVuIGVsZW1lbnRzIGFyZSBhZGRlZCBvciByZW1vdmVkLlxuICAgICAqL1xuICAgIGF1dG9SZWZyZXNoTGF5b3V0OiBQcm9wVHlwZXMuYm9vbCxcblxuICAgIC8vIFVzZXIgRXZlbnRzIFByb3BzXG5cbiAgICAvKipcbiAgICAgKiBUaGUgY29tcGxldGUgbm9kZSBkaWN0aW9uYXJ5IHJldHVybmVkIHdoZW4geW91IHRhcCBvciBjbGljayBpdC4gUmVhZC1vbmx5LlxuICAgICAqL1xuICAgIHRhcE5vZGU6IFByb3BUeXBlcy5leGFjdCh7XG4gICAgICAgIC8qKiBub2RlIHNwZWNpZmljIGl0ZW0gKi9cbiAgICAgICAgZWRnZXNEYXRhOiBQcm9wVHlwZXMuYXJyYXksXG4gICAgICAgIC8qKiBub2RlIHNwZWNpZmljIGl0ZW0gKi9cbiAgICAgICAgcmVuZGVyZWRQb3NpdGlvbjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICAgICAgLyoqIG5vZGUgc3BlY2lmaWMgaXRlbSAqL1xuICAgICAgICB0aW1lU3RhbXA6IFByb3BUeXBlcy5udW1iZXIsXG4gICAgICAgIC8qKiBHZW5lcmFsIGl0ZW0gKGZvciBhbGwgZWxlbWVudHMpICovXG4gICAgICAgIGNsYXNzZXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICAgIC8qKiBHZW5lcmFsIGl0ZW0gKGZvciBhbGwgZWxlbWVudHMpICovXG4gICAgICAgIGRhdGE6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgICAgIC8qKiBHZW5lcmFsIGl0ZW0gKGZvciBhbGwgZWxlbWVudHMpICovXG4gICAgICAgIGdyYWJiYWJsZTogUHJvcFR5cGVzLmJvb2wsXG4gICAgICAgIC8qKiBHZW5lcmFsIGl0ZW0gKGZvciBhbGwgZWxlbWVudHMpICovXG4gICAgICAgIGdyb3VwOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICAvKiogR2VuZXJhbCBpdGVtIChmb3IgYWxsIGVsZW1lbnRzKSAqL1xuICAgICAgICBsb2NrZWQ6IFByb3BUeXBlcy5ib29sLFxuICAgICAgICAvKiogR2VuZXJhbCBpdGVtIChmb3IgYWxsIGVsZW1lbnRzKSAqL1xuICAgICAgICBwb3NpdGlvbjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICAgICAgLyoqIEdlbmVyYWwgaXRlbSAoZm9yIGFsbCBlbGVtZW50cykgKi9cbiAgICAgICAgc2VsZWN0YWJsZTogUHJvcFR5cGVzLmJvb2wsXG4gICAgICAgIC8qKiBHZW5lcmFsIGl0ZW0gKGZvciBhbGwgZWxlbWVudHMpICovXG4gICAgICAgIHNlbGVjdGVkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICAgICAgLyoqIEdlbmVyYWwgaXRlbSAoZm9yIGFsbCBlbGVtZW50cykgKi9cbiAgICAgICAgc3R5bGU6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgICAgIC8qKiBJdGVtIGZvciBjb21wb3VuZCBub2RlcyAqL1xuICAgICAgICBhbmNlc3RvcnNEYXRhOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMub2JqZWN0LCBQcm9wVHlwZXMuYXJyYXldKSxcbiAgICAgICAgLyoqIEl0ZW0gZm9yIGNvbXBvdW5kIG5vZGVzICovXG4gICAgICAgIGNoaWxkcmVuRGF0YTogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLm9iamVjdCwgUHJvcFR5cGVzLmFycmF5XSksXG4gICAgICAgIC8qKiBJdGVtIGZvciBjb21wb3VuZCBub2RlcyAqL1xuICAgICAgICBkZXNjZW5kYW50c0RhdGE6IFByb3BUeXBlcy5vbmVPZlR5cGUoW1xuICAgICAgICAgICAgUHJvcFR5cGVzLm9iamVjdCxcbiAgICAgICAgICAgIFByb3BUeXBlcy5hcnJheSxcbiAgICAgICAgXSksXG4gICAgICAgIC8qKiBJdGVtIGZvciBjb21wb3VuZCBub2RlcyAqL1xuICAgICAgICBwYXJlbnREYXRhOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMub2JqZWN0LCBQcm9wVHlwZXMuYXJyYXldKSxcbiAgICAgICAgLyoqIEl0ZW0gZm9yIGNvbXBvdW5kIG5vZGVzICovXG4gICAgICAgIHNpYmxpbmdzRGF0YTogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLm9iamVjdCwgUHJvcFR5cGVzLmFycmF5XSksXG4gICAgICAgIC8qKiBJdGVtIGZvciBjb21wb3VuZCBub2RlcyAqL1xuICAgICAgICBpc1BhcmVudDogUHJvcFR5cGVzLmJvb2wsXG4gICAgICAgIC8qKiBJdGVtIGZvciBjb21wb3VuZCBub2RlcyAqL1xuICAgICAgICBpc0NoaWxkbGVzczogUHJvcFR5cGVzLmJvb2wsXG4gICAgICAgIC8qKiBJdGVtIGZvciBjb21wb3VuZCBub2RlcyAqL1xuICAgICAgICBpc0NoaWxkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICAgICAgLyoqIEl0ZW0gZm9yIGNvbXBvdW5kIG5vZGVzICovXG4gICAgICAgIGlzT3JwaGFuOiBQcm9wVHlwZXMuYm9vbCxcbiAgICAgICAgLyoqIEl0ZW0gZm9yIGNvbXBvdW5kIG5vZGVzICovXG4gICAgICAgIHJlbGF0aXZlUG9zaXRpb246IFByb3BUeXBlcy5vYmplY3QsXG4gICAgfSksXG5cbiAgICAvKipcbiAgICAgKiBUaGUgZGF0YSBkaWN0aW9uYXJ5IG9mIGEgbm9kZSByZXR1cm5lZCB3aGVuIHlvdSB0YXAgb3IgY2xpY2sgaXQuIFJlYWQtb25seS5cbiAgICAgKi9cbiAgICB0YXBOb2RlRGF0YTogUHJvcFR5cGVzLm9iamVjdCxcblxuICAgIC8qKlxuICAgICAqIFRoZSBjb21wbGV0ZSBlZGdlIGRpY3Rpb25hcnkgcmV0dXJuZWQgd2hlbiB5b3UgdGFwIG9yIGNsaWNrIGl0LiBSZWFkLW9ubHkuXG4gICAgICovXG4gICAgdGFwRWRnZTogUHJvcFR5cGVzLmV4YWN0KHtcbiAgICAgICAgLyoqIEVkZ2Utc3BlY2lmaWMgaXRlbSAqL1xuICAgICAgICBpc0xvb3A6IFByb3BUeXBlcy5ib29sLFxuICAgICAgICAvKiogRWRnZS1zcGVjaWZpYyBpdGVtICovXG4gICAgICAgIGlzU2ltcGxlOiBQcm9wVHlwZXMuYm9vbCxcbiAgICAgICAgLyoqIEVkZ2Utc3BlY2lmaWMgaXRlbSAqL1xuICAgICAgICBtaWRwb2ludDogUHJvcFR5cGVzLm9iamVjdCxcbiAgICAgICAgLyoqIEVkZ2Utc3BlY2lmaWMgaXRlbSAqL1xuICAgICAgICBzb3VyY2VEYXRhOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgICAgICAvKiogRWRnZS1zcGVjaWZpYyBpdGVtICovXG4gICAgICAgIHNvdXJjZUVuZHBvaW50OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgICAgICAvKiogRWRnZS1zcGVjaWZpYyBpdGVtICovXG4gICAgICAgIHRhcmdldERhdGE6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgICAgIC8qKiBFZGdlLXNwZWNpZmljIGl0ZW0gKi9cbiAgICAgICAgdGFyZ2V0RW5kcG9pbnQ6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgICAgIC8qKiBFZGdlLXNwZWNpZmljIGl0ZW0gKi9cbiAgICAgICAgdGltZVN0YW1wOiBQcm9wVHlwZXMubnVtYmVyLFxuICAgICAgICAvKiogR2VuZXJhbCBpdGVtIChmb3IgYWxsIGVsZW1lbnRzKSAqL1xuICAgICAgICBjbGFzc2VzOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICAvKiogR2VuZXJhbCBpdGVtIChmb3IgYWxsIGVsZW1lbnRzKSAqL1xuICAgICAgICBkYXRhOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgICAgICAvKiogR2VuZXJhbCBpdGVtIChmb3IgYWxsIGVsZW1lbnRzKSAqL1xuICAgICAgICBncmFiYmFibGU6IFByb3BUeXBlcy5ib29sLFxuICAgICAgICAvKiogR2VuZXJhbCBpdGVtIChmb3IgYWxsIGVsZW1lbnRzKSAqL1xuICAgICAgICBncm91cDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgICAgLyoqIEdlbmVyYWwgaXRlbSAoZm9yIGFsbCBlbGVtZW50cykgKi9cbiAgICAgICAgbG9ja2VkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICAgICAgLyoqIEdlbmVyYWwgaXRlbSAoZm9yIGFsbCBlbGVtZW50cykgKi9cbiAgICAgICAgc2VsZWN0YWJsZTogUHJvcFR5cGVzLmJvb2wsXG4gICAgICAgIC8qKiBHZW5lcmFsIGl0ZW0gKGZvciBhbGwgZWxlbWVudHMpICovXG4gICAgICAgIHNlbGVjdGVkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICAgICAgLyoqIEdlbmVyYWwgaXRlbSAoZm9yIGFsbCBlbGVtZW50cykgKi9cbiAgICAgICAgc3R5bGU6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgfSksXG5cbiAgICAvKipcbiAgICAgKiBUaGUgZGF0YSBkaWN0aW9uYXJ5IG9mIGFuIGVkZ2UgcmV0dXJuZWQgd2hlbiB5b3UgdGFwIG9yIGNsaWNrIGl0LiBSZWFkLW9ubHkuXG4gICAgICovXG4gICAgdGFwRWRnZURhdGE6IFByb3BUeXBlcy5vYmplY3QsXG5cbiAgICAvKipcbiAgICAgKiBUaGUgZGF0YSBkaWN0aW9uYXJ5IG9mIGEgbm9kZSByZXR1cm5lZCB3aGVuIHlvdSBob3ZlciBvdmVyIGl0LiBSZWFkLW9ubHkuXG4gICAgICovXG4gICAgbW91c2VvdmVyTm9kZURhdGE6IFByb3BUeXBlcy5vYmplY3QsXG5cbiAgICAvKipcbiAgICAgKiBUaGUgZGF0YSBkaWN0aW9uYXJ5IG9mIGFuIGVkZ2UgcmV0dXJuZWQgd2hlbiB5b3UgaG92ZXIgb3ZlciBpdC4gUmVhZC1vbmx5LlxuICAgICAqL1xuICAgIG1vdXNlb3ZlckVkZ2VEYXRhOiBQcm9wVHlwZXMub2JqZWN0LFxuXG4gICAgLyoqXG4gICAgICogVGhlIGxpc3Qgb2YgZGF0YSBkaWN0aW9uYXJpZXMgb2YgYWxsIHNlbGVjdGVkIG5vZGVzIChlLmcuIHVzaW5nXG4gICAgICogU2hpZnQrQ2xpY2sgdG8gc2VsZWN0IG11bHRpcGxlIG5vZGVzLCBvciBTaGlmdCtEcmFnIHRvIHVzZSBib3ggc2VsZWN0aW9uKS4gUmVhZC1vbmx5LlxuICAgICAqL1xuICAgIHNlbGVjdGVkTm9kZURhdGE6IFByb3BUeXBlcy5hcnJheSxcblxuICAgIC8qKlxuICAgICAqIFRoZSBsaXN0IG9mIGRhdGEgZGljdGlvbmFyaWVzIG9mIGFsbCBzZWxlY3RlZCBlZGdlcyAoZS5nLiB1c2luZ1xuICAgICAqIFNoaWZ0K0NsaWNrIHRvIHNlbGVjdCBtdWx0aXBsZSBub2Rlcywgb3IgU2hpZnQrRHJhZyB0byB1c2UgYm94IHNlbGVjdGlvbikuIFJlYWQtb25seS5cbiAgICAgKi9cbiAgICBzZWxlY3RlZEVkZ2VEYXRhOiBQcm9wVHlwZXMuYXJyYXksXG5cbiAgICAvKipcbiAgICAgKiBEaWN0aW9uYXJ5IHNwZWNpZnlpbmcgb3B0aW9ucyB0byBnZW5lcmF0ZSBhbiBpbWFnZSBvZiB0aGUgY3VycmVudCBjeXRvc2NhcGUgZ3JhcGguXG4gICAgICogVmFsdWUgaXMgY2xlYXJlZCBhZnRlciBkYXRhIGlzIHJlY2VpdmVkIGFuZCBpbWFnZSBpcyBnZW5lcmF0ZWQuIFRoaXMgcHJvcGVydHkgd2lsbFxuICAgICAqIGJlIGlnbm9yZWQgb24gdGhlIGluaXRpYWwgY3JlYXRpb24gb2YgdGhlIGN5dG9zY2FwZSBvYmplY3QgYW5kIG11c3QgYmUgaW52b2tlZCB0aHJvdWdoXG4gICAgICogYSBjYWxsYmFjayBhZnRlciBpdCBoYXMgYmVlbiByZW5kZXJlZC5cbiAgICAgKlxuICAgICAqIElmIHRoZSBhcHAgZG9lcyBub3QgbmVlZCB0aGUgaW1hZ2UgZGF0YSBzZXJ2ZXIgc2lkZSBhbmQvb3IgaXQgd2lsbCBvbmx5IGJlIHVzZWQgdG8gZG93bmxvYWRcbiAgICAgKiB0aGUgaW1hZ2UsIGl0IG1heSBiZSBwcnVkZW50IHRvIGludm9rZSBgJ2Rvd25sb2FkJ2AgZm9yIGBhY3Rpb25gIGluc3RlYWQgb2ZcbiAgICAgKiBgJ3N0b3JlJ2AgdG8gaW1wcm92ZSBwZXJmb3JtYW5jZSBieSBwcmV2ZW50aW5nIHRyYW5zZmVyIG9mIGRhdGEgdG8gdGhlIHNlcnZlci5cbiAgICAgKi9cbiAgICBnZW5lcmF0ZUltYWdlOiBQcm9wVHlwZXMuc2hhcGUoe1xuICAgICAgICAvKiogRmlsZSB0eXBlIHRvIG91dHB1dCAgKi9cbiAgICAgICAgdHlwZTogUHJvcFR5cGVzLm9uZU9mKFsnc3ZnJywgJ3BuZycsICdqcGcnLCAnanBlZyddKSxcbiAgICAgICAgLyoqIERpY3Rpb25hcnkgb2Ygb3B0aW9ucyB0byBjeS5wbmcoKSAvIGN5LmpwZygpIG9yIGN5LnN2ZygpIGZvciBpbWFnZSBnZW5lcmF0aW9uLlxuICAgICAgICAgKiBTZWUgaHR0cHM6Ly9qcy5jeXRvc2NhcGUub3JnLyNjb3JlL2V4cG9ydCBmb3IgZGV0YWlscy4gRm9yIGAnb3V0cHV0J2AsIG9ubHkgJ2Jhc2U2NCdcbiAgICAgICAgICogYW5kICdiYXNlNjR1cmknIGFyZSBzdXBwb3J0ZWQuIERlZmF1bHQ6IGB7J291dHB1dCc6ICdiYXNlNjR1cmknfWAuKi9cbiAgICAgICAgb3B0aW9uczogUHJvcFR5cGVzLm9iamVjdCxcbiAgICAgICAgLyoqXG4gICAgICAgICAqIGAnc3RvcmUnYDogU3RvcmVzIHRoZSBpbWFnZSBkYXRhIChvbmx5IGpwZyBhbmQgcG5nIGFyZSBzdXBwb3J0ZWQpXG4gICAgICAgICAqIGluIGBpbWFnZURhdGFgIGFuZCBpbnZva2VzIHNlcnZlci1zaWRlIERhc2ggY2FsbGJhY2tzLiBgJ2Rvd25sb2FkJ2A6IERvd25sb2FkcyB0aGUgaW1hZ2VcbiAgICAgICAgICogYXMgYSBmaWxlIHdpdGggYWxsIGRhdGEgaGFuZGxpbmcgZG9uZSBjbGllbnQtc2lkZS4gTm8gYGltYWdlRGF0YWAgY2FsbGJhY2tzIGFyZSBmaXJlZC5cbiAgICAgICAgICogYCdib3RoJ2A6IFN0b3JlcyBpbWFnZSBkYXRhIGFuZCBkb3dubG9hZHMgaW1hZ2UgYXMgZmlsZS4gVGhlIGRlZmF1bHQgaXMgYCdzdG9yZSdgXG4gICAgICAgICAqL1xuICAgICAgICBhY3Rpb246IFByb3BUeXBlcy5vbmVPZihbJ3N0b3JlJywgJ2Rvd25sb2FkJywgJ2JvdGgnXSksXG4gICAgICAgIC8qKiBOYW1lIGZvciB0aGUgZmlsZSB0byBiZSBkb3dubG9hZGVkLiBEZWZhdWx0OiAnY3l0bycuKi9cbiAgICAgICAgZmlsZW5hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgfSksXG5cbiAgICAvKipcbiAgICAgKiBTdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhlIGltYWdlIHJlcXVlc3RlZCB3aXRoIGdlbmVyYXRlSW1hZ2UuIE51bGwgaWYgbm9cbiAgICAgKiBpbWFnZSB3YXMgcmVxdWVzdGVkIHlldCBvciB0aGUgcHJldmlvdXMgcmVxdWVzdCBmYWlsZWQuIFJlYWQtb25seS5cbiAgICAgKi9cbiAgICBpbWFnZURhdGE6IFByb3BUeXBlcy5zdHJpbmcsXG5cbiAgICAvKipcbiAgICAgKiBUb2dnbGVzIGludGVsbGlnZW50IHJlc3BvbnNpdmUgcmVzaXplIG9mIEN5dG9zY2FwZSBncmFwaCB3aXRoIHZpZXdwb3J0IHNpemUgY2hhbmdlXG4gICAgICovXG4gICAgcmVzcG9uc2l2ZTogUHJvcFR5cGVzLmJvb2wsXG5cbiAgICAvKipcbiAgICAgKiBFeHRlbnQgb2YgdGhlIHZpZXdwb3J0LCBhIGJvdW5kaW5nIGJveCBpbiBtb2RlbCBjby1vcmRpbmF0ZXMgdGhhdCBsZXRzIHlvdSBrbm93IHdoYXQgbW9kZWxcbiAgICAgKiBwb3NpdGlvbnMgYXJlIHZpc2libGUgaW4gdGhlIHZpZXdwb3J0LiBUaGlzIGZ1bmN0aW9uIHJldHVybnMgYSBwbGFpbiBvYmplY3QgYm91bmRpbmcgYm94XG4gICAgICogd2l0aCBmb3JtYXQgeyB4MSwgeTEsIHgyLCB5MiwgdywgaCB9LlxuICAgICAqL1xuICAgIGV4dGVudDogUHJvcFR5cGVzLm9iamVjdCxcblxuICAgIC8qKlxuICAgICAqIElmIHNldCB0byBUcnVlLCBtb3VzZW92ZXJOb2RlRGF0YSBhbmQgbW91c2VvdmVyRWRnZURhdGEgd2lsbCBiZSBjbGVhcmVkIG9uIHVuaG92ZXIuXG4gICAgICogSWYgc2V0IHRvIEZhbHNlLCB0aGUgdmFsdWUgb2YgbW91c2VvdmVyTm9kZURhdGEgYW5kIG1vdXNlb3ZlckVkZ2VEYXRhIHdpbGwgYmUgdGhlIGxhc3RcbiAgICAgKiBOb2RlIG9yIEVkZ2UgaG92ZXJlZCBvdmVyXG4gICAgICovXG4gICAgY2xlYXJPblVuaG92ZXI6IFByb3BUeXBlcy5ib29sLFxufTtcblxuQ3l0b3NjYXBlLmRlZmF1bHRQcm9wcyA9IHtcbiAgICBzdHlsZToge3dpZHRoOiAnNjAwcHgnLCBoZWlnaHQ6ICc2MDBweCd9LFxuICAgIGxheW91dDoge25hbWU6ICdncmlkJ30sXG4gICAgcGFuOiB7eDogMCwgeTogMH0sXG4gICAgem9vbTogMSxcbiAgICBtaW5ab29tOiAxZS01MCxcbiAgICBtYXhab29tOiAxZTUwLFxuICAgIHpvb21pbmdFbmFibGVkOiB0cnVlLFxuICAgIHVzZXJab29taW5nRW5hYmxlZDogdHJ1ZSxcbiAgICBwYW5uaW5nRW5hYmxlZDogdHJ1ZSxcbiAgICB1c2VyUGFubmluZ0VuYWJsZWQ6IHRydWUsXG4gICAgd2hlZWxTZW5zaXRpdml0eTogMSxcbiAgICBib3hTZWxlY3Rpb25FbmFibGVkOiBmYWxzZSxcbiAgICBhdXRvbG9jazogZmFsc2UsXG4gICAgYXV0b3VuZ3JhYmlmeTogZmFsc2UsXG4gICAgYXV0b3Vuc2VsZWN0aWZ5OiBmYWxzZSxcbiAgICBhdXRvUmVmcmVzaExheW91dDogdHJ1ZSxcbiAgICBnZW5lcmF0ZUltYWdlOiB7fSxcbiAgICBpbWFnZURhdGE6IG51bGwsXG4gICAgcmVzcG9uc2l2ZTogZmFsc2UsXG4gICAgY2xlYXJPblVuaG92ZXI6IGZhbHNlLFxuICAgIGVsZW1lbnRzOiBbXSxcbiAgICBjb250ZXh0TWVudTogW10sXG59O1xuXG5leHBvcnQgZGVmYXVsdCBDeXRvc2NhcGU7XG4iXSwibmFtZXMiOlsiUmVhY3QiLCJDb21wb25lbnQiLCJQcm9wVHlwZXMiLCJDeXRvc2NhcGVDb21wb25lbnQiLCJfIiwidjQiLCJ1dWlkdjQiLCJDeVJlc3BvbnNpdmUiLCJjeXRvc2NhcGUiLCJyZXF1aXJlIiwiY29udGV4dE1lbnVzIiwiQ3l0b3NjYXBlIiwiX0NvbXBvbmVudCIsIl9pbmhlcml0cyIsInByb3BzIiwiX3RoaXMiLCJfY2xhc3NDYWxsQ2hlY2siLCJfY2FsbFN1cGVyIiwiaGFuZGxlQ3kiLCJiaW5kIiwiX2Fzc2VydFRoaXNJbml0aWFsaXplZCIsIl9oYW5kbGVDeUNhbGxlZCIsImhhbmRsZUltYWdlR2VuZXJhdGlvbiIsImN5UmVzcG9uc2l2ZUNsYXNzIiwiX2NyZWF0ZUNsYXNzIiwia2V5IiwidmFsdWUiLCJnZW5lcmF0ZU5vZGUiLCJldmVudCIsImVsZSIsInRhcmdldCIsImlzUGFyZW50IiwiaXNDaGlsZGxlc3MiLCJpc0NoaWxkIiwiaXNPcnBoYW4iLCJyZW5kZXJlZFBvc2l0aW9uIiwicmVsYXRpdmVQb3NpdGlvbiIsInBhcmVudCIsInN0eWxlIiwiZWRnZXNEYXRhIiwiY29ubmVjdGVkRWRnZXMiLCJtYXAiLCJkYXRhIiwiY2hpbGRyZW5EYXRhIiwiY2hpbGRyZW4iLCJhbmNlc3RvcnNEYXRhIiwiYW5jZXN0b3JzIiwiZGVzY2VuZGFudHNEYXRhIiwiZGVzY2VuZGFudHMiLCJzaWJsaW5nc0RhdGEiLCJzaWJsaW5ncyIsInRpbWVTdGFtcCIsIl9lbGUkanNvbiIsImpzb24iLCJjbGFzc2VzIiwiZ3JhYmJhYmxlIiwiZ3JvdXAiLCJsb2NrZWQiLCJwb3NpdGlvbiIsInNlbGVjdGVkIiwic2VsZWN0YWJsZSIsInBhcmVudERhdGEiLCJub2RlT2JqZWN0IiwiZ2VuZXJhdGVFZGdlIiwibWlkcG9pbnQiLCJpc0xvb3AiLCJpc1NpbXBsZSIsInNvdXJjZURhdGEiLCJzb3VyY2UiLCJzb3VyY2VFbmRwb2ludCIsInRhcmdldERhdGEiLCJ0YXJnZXRFbmRwb2ludCIsIl9lbGUkanNvbjIiLCJlZGdlT2JqZWN0IiwiY3kiLCJfdGhpczIiLCJfY3kiLCJ3aW5kb3ciLCJTRUxFQ1RfVEhSRVNIT0xEIiwiRVhURU5UX1RIUkVTSE9MRCIsIlVQREFURV9FTEVNRU5UU19USFJFU0hPTEQiLCJSRVNJWkVfVEhSRVNIT0xEIiwic2VsZWN0ZWROb2RlcyIsImNvbGxlY3Rpb24iLCJzZWxlY3RlZEVkZ2VzIiwicmVmcmVzaExheW91dCIsImRlYm91bmNlIiwiX3RoaXMyJHByb3BzIiwiYXV0b1JlZnJlc2hMYXlvdXQiLCJsYXlvdXQiLCJydW4iLCJzZW5kU2VsZWN0ZWROb2Rlc0RhdGEiLCJub2RlRGF0YSIsImVsIiwic2V0UHJvcHMiLCJzZWxlY3RlZE5vZGVEYXRhIiwic2VuZFNlbGVjdGVkRWRnZXNEYXRhIiwiZWRnZURhdGEiLCJzZWxlY3RlZEVkZ2VEYXRhIiwic2V0RXh0ZW50IiwiY3lFeHRlbnQiLCJleHRlbnQiLCJ1cGRhdGVFbGVtZW50cyIsImVsZW1lbnRzIiwiaXRlbSIsInJlc2l6ZSIsIm9yaWdpbmFsTWF4Wm9vbUZuIiwibWF4Wm9vbSIsIm9yaWdpbmFsTWluWm9vbUZuIiwibWluWm9vbSIsImUiLCJjdXJyZW50TWF4Wm9vbSIsImNhbGwiLCJfcHJldmlvdXNNYXhab29tIiwidHJpZ2dlciIsImN1cnJlbnRNaW5ab29tIiwiX3ByZXZpb3VzTWluWm9vbSIsIm9uIiwidGFwTm9kZSIsInRhcE5vZGVEYXRhIiwiT2JqZWN0IiwiYXNzaWduIiwidGFwRWRnZSIsInRhcEVkZ2VEYXRhIiwibW91c2VvdmVyTm9kZURhdGEiLCJtb3VzZW92ZXJFZGdlRGF0YSIsImNsZWFyT25VbmhvdmVyIiwibWVyZ2UiLCJ1bm1lcmdlIiwiem9vbSIsImZpdCIsImNyZWF0ZU1lbnVJdGVtcyIsImN0eE1lbnUiLCJ1cGRhdGVDb250ZXh0TWVudURhdGEiLCJuZXdDb250ZXh0IiwiY29udGV4dE1lbnVEYXRhIiwiY29udGV4dE1lbnVEZWZhdWx0RnVuY3Rpb25zIiwicmVtb3ZlIiwiY3lUYXJnZXQiLCJhZGRfbm9kZSIsInBvcyIsImN5UG9zaXRpb24iLCJhZGQiLCJ4IiwieSIsImFkZF9lZGdlIiwic2VsZWN0ZWROb2RlSWRzIiwibm9kZSIsImlkIiwibGVuZ3RoIiwiY29uc29sZSIsImVycm9yIiwibmV3TWVudUl0ZW1zIiwiX2l0ZXJhdG9yIiwiX2NyZWF0ZUZvck9mSXRlcmF0b3JIZWxwZXIiLCJfc3RlcCIsIl9sb29wIiwib25DbGlja0Z1bmN0aW9uIiwibWVudUl0ZW1JZCIsImVsZW1lbnRJZCIsImVkZ2VTb3VyY2UiLCJlZGdlVGFyZ2V0IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJvbkNsaWNrIiwiY29uY2F0IiwiZGFzaEN5dG9zY2FwZUZ1bmN0aW9ucyIsIm9uQ2xpY2tDdXN0b20iLCJuZXdfaXRlbSIsImNvbnRlbnQiLCJsYWJlbCIsInRvb2x0aXBUZXh0Iiwic2VsZWN0b3IiLCJjb3JlQXNXZWxsIiwiX2l0ZXJhdG9yMiIsImF2YWlsYWJsZU9uIiwiX3N0ZXAyIiwicyIsIm4iLCJkb25lIiwiZXJyIiwiZiIsInB1c2giLCJ0b2dnbGUiLCJyZXNwb25zaXZlIiwiaW1hZ2VUeXBlIiwiaW1hZ2VPcHRpb25zIiwiYWN0aW9uc1RvUGVyZm9ybSIsImZpbGVOYW1lIiwiX3RoaXMzIiwib3B0aW9ucyIsImRlc2lyZWRPdXRwdXQiLCJvdXRwdXQiLCJkb3dubG9hZEltYWdlIiwic3RvcmVJbWFnZSIsInBuZyIsImpwZyIsInN2ZyIsImZOYW1lIiwiZG93bmxvYWRCbG9iIiwiYmxvYiIsIkJsb2IiLCJ0eXBlIiwicmVhZGVyIiwiRmlsZVJlYWRlciIsIm9ubG9hZCIsImNhbGxiYWNrRGF0YSIsInJlc3VsdCIsInJlcGxhY2UiLCJpbWFnZURhdGEiLCJyZWFkQXNEYXRhVVJMIiwiZG93bmxvYWRMaW5rIiwiZG9jdW1lbnQiLCJjcmVhdGVFbGVtZW50IiwiYm9keSIsImFwcGVuZENoaWxkIiwidXJsIiwiVVJMIiwiY3JlYXRlT2JqZWN0VVJMIiwiaHJlZiIsImRvd25sb2FkIiwiY2xpY2siLCJyZXZva2VPYmplY3RVUkwiLCJyZW1vdmVDaGlsZCIsInVwZGF0ZUNvbnRleHRNZW51IiwiY29udGV4dE1lbnUiLCJtZW51SXRlbXMiLCJtZW51SXRlbUNsYXNzZXMiLCJncmFwaE91dE9mVmlldyIsImN5V2lkdGgiLCJ3aWR0aCIsImN5SGVpZ2h0IiwiaGVpZ2h0IiwiZWxCb3giLCJyZW5kZXJlZEJvdW5kaW5nYm94IiwieDEiLCJ5MSIsIngyIiwieTIiLCJjb21wb25lbnREaWRVcGRhdGUiLCJwcmV2UHJvcHMiLCJfdGhpcyRwcm9wcyIsImlzRXF1YWwiLCJjb21wb25lbnREaWRNb3VudCIsInJlbmRlciIsIl90aGlzJHByb3BzMiIsImNsYXNzTmFtZSIsInN0eWxlc2hlZXQiLCJwYW4iLCJwYW5uaW5nRW5hYmxlZCIsInVzZXJQYW5uaW5nRW5hYmxlZCIsInpvb21pbmdFbmFibGVkIiwidXNlclpvb21pbmdFbmFibGVkIiwid2hlZWxTZW5zaXRpdml0eSIsImJveFNlbGVjdGlvbkVuYWJsZWQiLCJhdXRvdW5ncmFiaWZ5IiwiYXV0b2xvY2siLCJhdXRvdW5zZWxlY3RpZnkiLCJnZW5lcmF0ZUltYWdlIiwia2V5cyIsImFjdGlvbiIsImZpbGVuYW1lIiwibm9ybWFsaXplRWxlbWVudHMiLCJwcm9wVHlwZXMiLCJzdHJpbmciLCJvYmplY3QiLCJmdW5jIiwib25lT2ZUeXBlIiwiYXJyYXlPZiIsInNoYXBlIiwibnVtYmVyIiwiYm9vbCIsImV4YWN0Iiwibm9kZXMiLCJhcnJheSIsImVkZ2VzIiwiaXNSZXF1aXJlZCIsIm5hbWUiLCJvbmVPZiIsInBhZGRpbmciLCJhbmltYXRlIiwiYW5pbWF0aW9uRHVyYXRpb24iLCJib3VuZGluZ0JveCIsImRlZmF1bHRQcm9wcyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/lib/components/Cytoscape.react.js\n"); /***/ }), diff --git a/deps/dash_cytoscape_extra.min.js b/deps/dash_cytoscape_extra.min.js index c58a0069..f9a3fb2f 100644 --- a/deps/dash_cytoscape_extra.min.js +++ b/deps/dash_cytoscape_extra.min.js @@ -1,2 +1,2 @@ /*! For license information please see dash_cytoscape_extra.min.js.LICENSE.txt */ -(()=>{var __webpack_modules__={1686:()=>{!function(){"use strict";var t=function(t,e){var n=function(t){for(var e=0,n=t.length;et.length)&&(e=t.length);for(var n=0,r=new Array(e);n=t.length?{done:!0}:{done:!1,value:t[i++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,s=!0,c=!1;return{s:function(){r=r.call(t)},n:function(){var t=r.next();return s=t.done,t},e:function(t){c=!0,a=t},f:function(){try{s||null==r.return||r.return()}finally{if(c)throw a}}}}var r=!0,i=!1,o="querySelectorAll",a="querySelectorAll",s=self,c=s.document,u=s.Element,l=s.MutationObserver,h=s.Set,f=s.WeakMap,d=function(t){return a in t},p=[].filter,g=function(t){var e=new f,s=function(n,r){var i;if(r)for(var o,a=function(t){return t.matches||t.webkitMatchesSelector||t.msMatchesSelector}(n),s=0,c=v.length;s1&&void 0!==arguments[1])||arguments[1],n=0,r=t.length;n1&&void 0!==arguments[1]?arguments[1]:document,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:MutationObserver,s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:["*"],c=function e(i,a,s,c,u,l){var h,f=n(i);try{for(f.s();!(h=f.n()).done;){var d=h.value;(l||o in d)&&(u?s.has(d)||(s.add(d),c.delete(d),t(d,u)):c.has(d)||(c.add(d),s.delete(d),t(d,u)),l||e(d[o](a),a,s,c,u,r))}}catch(t){f.e(t)}finally{f.f()}},u=new a((function(t){if(s.length){var e,o=s.join(","),a=new Set,u=new Set,l=n(t);try{for(l.s();!(e=l.n()).done;){var h=e.value,f=h.addedNodes,d=h.removedNodes;c(d,o,a,u,i,i),c(f,o,a,u,r,i)}}catch(t){l.e(t)}finally{l.f()}}})),l=u.observe;return(u.observe=function(t){return l.call(u,t,{subtree:r,childList:r})})(e),u}(s,b,l,v),m=u.prototype.attachShadow;return m&&(u.prototype.attachShadow=function(t){var e=m.call(this,t);return y.observe(e),e}),v.length&&g(b[a](v)),{drop:function(t){for(var n=0,r=t.length;n{window.dash_clientside||(window.dash_clientside={});var t=20037508.34;function e(e,n){return[180*e/t,360*Math.atan(Math.exp(-n*Math.PI/t))/Math.PI-90]}window.dash_clientside.cyleaflet={updateLeafBounds:function(t,n,r){var i=t;if(!i){if(!r)return window.dash_clientside.no_update;i=r}var o=e(i.x1,i.y1),a=o[0],s=o[1],c=e(i.x2,i.y2),u=c[0],l=c[1],h=(new Date).getTime(),f=[[l,a],[s,u]];return s===l||a===u?window.dash_clientside.no_update:[h,{bounds:f,options:{animate:!0}},i]},transformElements:function(e){return e.map((function(e){if(Object.prototype.hasOwnProperty.call(e.data,"lat")){var n=(r=e.data.lon,i=e.data.lat,[r*t/180,-Math.log(Math.tan((90+i)*Math.PI/360))*t/Math.PI]);return{data:e.data,position:{y:n[1],x:n[0]}}}var r,i;return e}))},updateLonLat:function(t){return t.length>0?t.map((function(t){if(void 0!==t.position&&Object.prototype.hasOwnProperty.call(t.position,"x")&&0!==t.position.x&&0!==t.position.y){var n=e(t.position.x,t.position.y);return{position:t.position,data:Object.assign({},t.data,{lon:n[0],lat:n[1]})}}return t})):window.dash_clientside.no_update},updateCytoMaxZoom:function(t){var e=t;t.length>=1&&1===(e=t.filter((function(t){return"TileLayer"===t.type}))).length&&(e=e[0]);var n=18;return void 0!==e.props&&Object.prototype.hasOwnProperty.call(e.props,"maxZoom")&&(n=e.props.maxZoom),function(t){return.418*Math.pow(2,t-16)}(n)}}},4182:function(t,e,n){var r;r=function(t){return function(t){var e={};function n(r){if(e[r])return e[r].exports;var i=e[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=t,n.c=e,n.i=function(t){return t},n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:r})},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=7)}([function(e,n){e.exports=t},function(t,e,n){"use strict";var r=n(0).FDLayoutConstants;function i(){}for(var o in r)i[o]=r[o];i.DEFAULT_USE_MULTI_LEVEL_SCALING=!1,i.DEFAULT_RADIAL_SEPARATION=r.DEFAULT_EDGE_LENGTH,i.DEFAULT_COMPONENT_SEPERATION=60,i.TILE=!0,i.TILING_PADDING_VERTICAL=10,i.TILING_PADDING_HORIZONTAL=10,i.TREE_REDUCTION_ON_INCREMENTAL=!1,t.exports=i},function(t,e,n){"use strict";var r=n(0).FDLayoutEdge;function i(t,e,n){r.call(this,t,e,n)}for(var o in i.prototype=Object.create(r.prototype),r)i[o]=r[o];t.exports=i},function(t,e,n){"use strict";var r=n(0).LGraph;function i(t,e,n){r.call(this,t,e,n)}for(var o in i.prototype=Object.create(r.prototype),r)i[o]=r[o];t.exports=i},function(t,e,n){"use strict";var r=n(0).LGraphManager;function i(t){r.call(this,t)}for(var o in i.prototype=Object.create(r.prototype),r)i[o]=r[o];t.exports=i},function(t,e,n){"use strict";var r=n(0).FDLayoutNode,i=n(0).IMath;function o(t,e,n,i){r.call(this,t,e,n,i)}for(var a in o.prototype=Object.create(r.prototype),r)o[a]=r[a];o.prototype.move=function(){var t=this.graphManager.getLayout();this.displacementX=t.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.noOfChildren,this.displacementY=t.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.noOfChildren,Math.abs(this.displacementX)>t.coolingFactor*t.maxNodeDisplacement&&(this.displacementX=t.coolingFactor*t.maxNodeDisplacement*i.sign(this.displacementX)),Math.abs(this.displacementY)>t.coolingFactor*t.maxNodeDisplacement&&(this.displacementY=t.coolingFactor*t.maxNodeDisplacement*i.sign(this.displacementY)),null==this.child||0==this.child.getNodes().length?this.moveBy(this.displacementX,this.displacementY):this.propogateDisplacementToChildren(this.displacementX,this.displacementY),t.totalDisplacement+=Math.abs(this.displacementX)+Math.abs(this.displacementY),this.springForceX=0,this.springForceY=0,this.repulsionForceX=0,this.repulsionForceY=0,this.gravitationForceX=0,this.gravitationForceY=0,this.displacementX=0,this.displacementY=0},o.prototype.propogateDisplacementToChildren=function(t,e){for(var n,r=this.getChild().getNodes(),i=0;i0)this.positionNodesRadially(t);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var e=new Set(this.getAllNodes()),n=this.nodesWithGravity.filter((function(t){return e.has(t)}));this.graphManager.setAllNodesToApplyGravitation(n),this.positionNodesRandomly()}}return this.initSpringEmbedder(),this.runSpringEmbedder(),!0},y.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished){if(!(this.prunedNodesAll.length>0))return!0;this.isTreeGrowing=!0}if(this.totalIterations%u.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged()){if(!(this.prunedNodesAll.length>0))return!0;this.isTreeGrowing=!0}this.coolingCycle++,0==this.layoutQuality?this.coolingAdjuster=this.coolingCycle:1==this.layoutQuality&&(this.coolingAdjuster=this.coolingCycle/3),this.coolingFactor=Math.max(this.initialCoolingFactor-Math.pow(this.coolingCycle,Math.log(100*(this.initialCoolingFactor-this.finalTemperature))/Math.log(this.maxCoolingCycle))/100*this.coolingAdjuster,this.finalTemperature),this.animationPeriod=Math.ceil(this.initialAnimationPeriod*Math.sqrt(this.coolingFactor))}if(this.isTreeGrowing){if(this.growTreeIterations%10==0)if(this.prunedNodesAll.length>0){this.graphManager.updateBounds(),this.updateGrid(),this.growTree(this.prunedNodesAll),this.graphManager.resetAllNodesToApplyGravitation();var t=new Set(this.getAllNodes()),e=this.nodesWithGravity.filter((function(e){return t.has(e)}));this.graphManager.setAllNodesToApplyGravitation(e),this.graphManager.updateBounds(),this.updateGrid(),this.coolingFactor=u.DEFAULT_COOLING_FACTOR_INCREMENTAL}else this.isTreeGrowing=!1,this.isGrowthFinished=!0;this.growTreeIterations++}if(this.isGrowthFinished){if(this.isConverged())return!0;this.afterGrowthIterations%10==0&&(this.graphManager.updateBounds(),this.updateGrid()),this.coolingFactor=u.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var n=!this.isTreeGrowing&&!this.isGrowthFinished,r=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(n,r),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},y.prototype.getPositionsData=function(){for(var t=this.graphManager.getAllNodes(),e={},n=0;n1)for(s=0;sr&&(r=Math.floor(a.y)),o=Math.floor(a.x+c.DEFAULT_COMPONENT_SEPERATION)}this.transform(new f(l.WORLD_CENTER_X-a.x/2,l.WORLD_CENTER_Y-a.y/2))},y.radialLayout=function(t,e,n){var r=Math.max(this.maxDiagonalInTree(t),c.DEFAULT_RADIAL_SEPARATION);y.branchRadialLayout(e,null,0,359,0,r);var i=v.calculateBounds(t),o=new b;o.setDeviceOrgX(i.getMinX()),o.setDeviceOrgY(i.getMinY()),o.setWorldOrgX(n.x),o.setWorldOrgY(n.y);for(var a=0;a1;){var b=v[0];v.splice(0,1);var m=l.indexOf(b);m>=0&&l.splice(m,1),p--,h--}f=null!=e?(l.indexOf(v[0])+1)%p:0;for(var w=Math.abs(r-n)/h,x=f;d!=h;x=++x%p){var _=l[x].getOtherEnd(t);if(_!=e){var E=(n+d*w)%360,k=(E+w)%360;y.branchRadialLayout(_,t,E,k,i+o,o),d++}}},y.maxDiagonalInTree=function(t){for(var e=p.MIN_VALUE,n=0;ne&&(e=r)}return e},y.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},y.prototype.groupZeroDegreeMembers=function(){var t=this,e={};this.memberGroups={},this.idToDummyNode={};for(var n=[],r=this.graphManager.getAllNodes(),i=0;i1){var r="DummyCompound_"+n;t.memberGroups[r]=e[n];var i=e[n][0].getParent(),o=new a(t.graphManager);o.id=r,o.paddingLeft=i.paddingLeft||0,o.paddingRight=i.paddingRight||0,o.paddingBottom=i.paddingBottom||0,o.paddingTop=i.paddingTop||0,t.idToDummyNode[r]=o;var s=t.getGraphManager().add(t.newGraph(),o),c=i.getChild();c.add(o);for(var u=0;u=0;t--){var e=this.compoundOrder[t],n=e.id,r=e.paddingLeft,i=e.paddingTop;this.adjustLocations(this.tiledMemberPack[n],e.rect.x,e.rect.y,r,i)}},y.prototype.repopulateZeroDegreeMembers=function(){var t=this,e=this.tiledZeroDegreePack;Object.keys(e).forEach((function(n){var r=t.idToDummyNode[n],i=r.paddingLeft,o=r.paddingTop;t.adjustLocations(e[n],r.rect.x,r.rect.y,i,o)}))},y.prototype.getToBeTiled=function(t){var e=t.id;if(null!=this.toBeTiled[e])return this.toBeTiled[e];var n=t.getChild();if(null==n)return this.toBeTiled[e]=!1,!1;for(var r=n.getNodes(),i=0;i0)return this.toBeTiled[e]=!1,!1;if(null!=o.getChild()){if(!this.getToBeTiled(o))return this.toBeTiled[e]=!1,!1}else this.toBeTiled[o.id]=!1}return this.toBeTiled[e]=!0,!0},y.prototype.getNodeDegree=function(t){t.id;for(var e=t.getEdges(),n=0,r=0;rc&&(c=l.rect.height)}n+=c+t.verticalPadding}},y.prototype.tileCompoundMembers=function(t,e){var n=this;this.tiledMemberPack=[],Object.keys(t).forEach((function(r){var i=e[r];n.tiledMemberPack[r]=n.tileNodes(t[r],i.paddingLeft+i.paddingRight),i.rect.width=n.tiledMemberPack[r].width,i.rect.height=n.tiledMemberPack[r].height}))},y.prototype.tileNodes=function(t,e){var n={rows:[],rowWidth:[],rowHeight:[],width:0,height:e,verticalPadding:c.TILING_PADDING_VERTICAL,horizontalPadding:c.TILING_PADDING_HORIZONTAL};t.sort((function(t,e){return t.rect.width*t.rect.height>e.rect.width*e.rect.height?-1:t.rect.width*t.rect.height0&&(o+=t.horizontalPadding),t.rowWidth[n]=o,t.width0&&(a+=t.verticalPadding);var s=0;a>t.rowHeight[n]&&(s=t.rowHeight[n],t.rowHeight[n]=a,s=t.rowHeight[n]-s),t.height+=s,t.rows[n].push(e)},y.prototype.getShortestRowIndex=function(t){for(var e=-1,n=Number.MAX_VALUE,r=0;rn&&(e=r,n=t.rowWidth[r]);return e},y.prototype.canAddHorizontal=function(t,e,n){var r=this.getShortestRowIndex(t);if(r<0)return!0;var i=t.rowWidth[r];if(i+t.horizontalPadding+e<=t.width)return!0;var o,a,s=0;return t.rowHeight[r]0&&(s=n+t.verticalPadding-t.rowHeight[r]),o=t.width-i>=e+t.horizontalPadding?(t.height+s)/(i+e+t.horizontalPadding):(t.height+s)/t.width,s=n+t.verticalPadding,(a=t.widtho&&e!=n){r.splice(-1,1),t.rows[n].push(i),t.rowWidth[e]=t.rowWidth[e]-o,t.rowWidth[n]=t.rowWidth[n]+o,t.width=t.rowWidth[instance.getLongestRowIndex(t)];for(var a=Number.MIN_VALUE,s=0;sa&&(a=r[s].height);e>0&&(a+=t.verticalPadding);var c=t.rowHeight[e]+t.rowHeight[n];t.rowHeight[e]=a,t.rowHeight[n]0)for(var l=i;l<=o;l++)c[0]+=this.grid[l][a-1].length+this.grid[l][a].length-1;if(o0)for(l=a;l<=s;l++)c[3]+=this.grid[i-1][l].length+this.grid[i][l].length-1;for(var h,f,d=p.MAX_VALUE,g=0;g{"use strict";n.d(e,{Z:()=>s});var r=n(8081),i=n.n(r),o=n(3645),a=n.n(o)()(i());a.push([t.id,".cytoscape-reference p {\n display: inline;\n}\n\n.custom-menu-item {\n background-color: rgb(241, 241, 241);\n font-weight: bold !important;\n width: 170px;\n display: inline-block;\n height: 38px;\n padding: 0 30px;\n color: #555;\n text-align: center;\n font-size: 11px;\n font-weight: 600;\n line-height: 38px;\n letter-spacing: 0.1rem;\n text-decoration: none;\n white-space: nowrap;\n border-radius: 4px;\n border: 1px solid #bbb;\n cursor: pointer;\n box-sizing: border-box;\n}\n.custom-menu-item:hover {\n color: rgb(104, 104, 104);\n border-color: rgb(97, 97, 97);\n outline: 0;\n}\n\n.cy-context-menus-cxt-menu {\n display: none;\n}\n",""]);const s=a},3645:t=>{"use strict";t.exports=function(t){var e=[];return e.toString=function(){return this.map((function(e){var n="",r=void 0!==e[5];return e[4]&&(n+="@supports (".concat(e[4],") {")),e[2]&&(n+="@media ".concat(e[2]," {")),r&&(n+="@layer".concat(e[5].length>0?" ".concat(e[5]):""," {")),n+=t(e),r&&(n+="}"),e[2]&&(n+="}"),e[4]&&(n+="}"),n})).join("")},e.i=function(t,n,r,i,o){"string"==typeof t&&(t=[[null,t,void 0]]);var a={};if(r)for(var s=0;s0?" ".concat(l[5]):""," {").concat(l[1],"}")),l[5]=o),n&&(l[2]?(l[1]="@media ".concat(l[2]," {").concat(l[1],"}"),l[2]=n):l[2]=n),i&&(l[4]?(l[1]="@supports (".concat(l[4],") {").concat(l[1],"}"),l[4]=i):l[4]="".concat(i)),e.push(l))}},e}},8081:t=>{"use strict";t.exports=function(t){return t[1]}},703:function(t,e,n){var r;r=function(t){return function(t){var e={};function n(r){if(e[r])return e[r].exports;var i=e[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=t,n.c=e,n.i=function(t){return t},n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:r})},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=3)}([function(t,e,n){"use strict";var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i=n(1),o=n(2),a=n(5)||("undefined"!=typeof window?window.cola:null),s=n(4),c=function(t){return(void 0===t?"undefined":r(t))===r(0)},u=function(){},l=function(t,e){return function(t){return null!=t&&(void 0===t?"undefined":r(t))===r((function(){}))}(t)?t.apply(e,[e]):t};function h(t){this.options=i({},o,t)}h.prototype.run=function(){var t=this,e=this.options;t.manuallyStopped=!1;var n=e.cy,i=e.eles,o=i.nodes(),h=i.edges(),f=!1,d=o.filter((function(t){return t.isParent()})),p=o.subtract(d),g=e.boundingBox||{x1:0,y1:0,w:n.width(),h:n.height()};void 0===g.x2&&(g.x2=g.x1+g.w),void 0===g.w&&(g.w=g.x2-g.x1),void 0===g.y2&&(g.y2=g.y1+g.h),void 0===g.h&&(g.h=g.y2-g.y1);var v=function(){for(var t=0;t0&&w.constraints(T),w.groups(d.map((function(t,n){var r=l(e.nodeSpacing,t),i=function(e){return parseFloat(t.style("padding-"+e))},o=i("left")+r,a=i("right")+r,s=i("top")+r,c=i("bottom")+r;return t.scratch().cola={index:n,padding:Math.max(o,a,s,c),leaves:t.children().intersection(p).map((function(t){return t[0].scratch().cola.index})),fixed:t.locked()},t})).map((function(t){return t.scratch().cola.groups=t.children().intersection(d).map((function(t){return t.scratch().cola.index})),t.scratch().cola})));var C=void 0,N=void 0;if(null!=e.edgeLength?(C=e.edgeLength,N="linkDistance"):null!=e.edgeSymDiffLength?(C=e.edgeSymDiffLength,N="symmetricDiffLinkLengths"):null!=e.edgeJaccardLength?(C=e.edgeJaccardLength,N="jaccardLinkLengths"):(C=100,N="linkDistance"),w.links(h.stdFilter((function(t){return p.contains(t.source())&&p.contains(t.target())})).map((function(t){var e=t.scratch().cola={source:t.source()[0].scratch().cola.index,target:t.target()[0].scratch().cola.index};return null!=C&&(e.calcLength=l(C,t)),e}))),w.size([g.w,g.h]),null!=C&&w[N]((function(t){return t.calcLength})),e.flow){var A=void 0;!function(t){return(void 0===t?"undefined":r(t))===r("")}(e.flow)?c(e.flow)?A={axis:"y",minSeparation:e.flow}:function(t){return null!=t&&(void 0===t?"undefined":r(t))===r({})}(e.flow)?((A=e.flow).axis=A.axis||"y",A.minSeparation=null!=A.minSeparation?A.minSeparation:50):A={axis:"y",minSeparation:50}:A={axis:e.flow,minSeparation:50},w.flowLayout(A.axis,A.minSeparation)}return t.trigger({type:"layoutstart",layout:t}),w.avoidOverlaps(e.avoidOverlap).handleDisconnected(e.handleDisconnected).start(e.unconstrIter,e.userConstIter,e.allConstIter,void 0,void 0,e.centerGraph),e.infinite||setTimeout((function(){t.manuallyStopped||w.stop()}),e.maxSimulationTime),this},h.prototype.stop=function(){return this.adaptor&&(this.manuallyStopped=!0,this.adaptor.stop()),this},t.exports=h},function(t,e,n){"use strict";t.exports=null!=Object.assign?Object.assign.bind(Object):function(t){for(var e=arguments.length,n=Array(e>1?e-1:0),r=1;r{self,t.exports=(()=>{var t={621:(t,e,n)=>{"use strict";function r(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);nS});var s="cy-context-menus-divider",c={evtType:"cxttap",menuItems:[],menuItemClasses:["cy-context-menus-cxt-menuitem"],contextMenuClasses:["cy-context-menus-cxt-menu"],submenuIndicator:{src:"assets/submenu-indicator-default.svg",width:12,height:12}};function u(t){return(u="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function l(t,e){var n;if("undefined"==typeof Symbol||null==t[Symbol.iterator]){if(Array.isArray(t)||(n=function(t,e){if(t){if("string"==typeof t)return h(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?h(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var r=0,i=function(){};return{s:i,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=t[Symbol.iterator]()},n:function(){var t=n.next();return a=t.done,t},e:function(t){s=!0,o=t},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function h(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n1&&void 0!==arguments[1]?arguments[1]:void 0;this.hasSubmenu()||this._createSubmenu(),this.submenu.appendMenuItem(t,e)}},{key:"isClickable",value:function(){return void 0!==this.onClickFunction}},{key:"display",value:function(){this.show=!0,this.style.display="block"}},{key:"isVisible",value:function(){return!0===this.show&&"none"!==this.style.display}},{key:"removeSubmenu",value:function(){this.hasSubmenu()&&(this.submenu.removeAllMenuItems(),this.detachSubmenu())}},{key:"detachSubmenu",value:function(){this.hasSubmenu()&&(this.removeChild(this.submenu),this.removeChild(this.indicator),this.removeEventListener("mouseenter",this.mouseEnterHandler),this.removeEventListener("mouseleave",this.mouseLeaveHandler),this.submenu=void 0,this.indicator=void 0)}},{key:"_onMouseEnter",value:function(t){var e=this.getBoundingClientRect(),r=function(t){t.style.opacity="0",t.style.display="block";var e=t.getBoundingClientRect();return t.style.opacity="1",t.style.display="none",e}(this.submenu),i=e.right+r.width>window.innerWidth,o=e.top+r.height>window.innerHeight;i||o?i&&!o?(this.submenu.style.right=this.clientWidth+"px",this.submenu.style.top="0px",this.submenu.style.left="auto",this.submenu.style.bottom="auto"):i&&o?(this.submenu.style.right=this.clientWidth+"px",this.submenu.style.bottom="0px",this.submenu.style.top="auto",this.submenu.style.left="auto"):(this.submenu.style.left=this.clientWidth+"px",this.submenu.style.bottom="0px",this.submenu.style.right="auto",this.submenu.style.top="auto"):(this.submenu.style.left=this.clientWidth+"px",this.submenu.style.top="0px",this.submenu.style.right="auto",this.submenu.style.bottom="auto"),this.submenu.display();var a=Array.from(this.submenu.children).filter((function(t){if(t instanceof n)return t.isVisible()})),c=a.length;a.forEach((function(t,e){t instanceof n&&(e=(o=n.getBoundingClientRect()).left&&r<=o.right&&i>=o.top&&i<=o.bottom||this.submenu.hide()}},{key:"_createSubmenu",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];this.indicator=this.scratchpad.submenuIndicatorGen(),this.submenu=new C(this.onMenuItemClick,this.scratchpad),this.appendChild(this.indicator),this.appendChild(this.submenu);var e,r=l(t);try{for(r.s();!(e=r.n()).done;){var i=new n(e.value,this.onMenuItemClick,this.scratchpad);this.submenu.appendMenuItem(i)}}catch(t){r.e(t)}finally{r.f()}this.mouseEnterHandler=this._onMouseEnter.bind(this),this.mouseLeaveHandler=this._onMouseLeave.bind(this),this.addEventListener("mouseenter",this.mouseEnterHandler),this.addEventListener("mouseleave",this.mouseLeaveHandler)}},{key:"_getMenuItemClassStr",value:function(t,e){return e?t+" "+s:t}}],[{key:"define",value:function(){a("ctx-menu-item",n,"button")}}]),n}(m(HTMLButtonElement)),C=function(t){g(n,t);var e=v(n);function n(t,r){var i,o;return f(this,n),y((i=b(o=e.call(this)),E(n.prototype)),"setAttribute",i).call(i,"class",r.cxtMenuClasses),o.style.position="absolute",o.onMenuItemClick=t,o.scratchpad=r,o}return p(n,[{key:"hide",value:function(){this.isVisible()&&(this.hideSubmenus(),this.style.display="none")}},{key:"display",value:function(){this.style.display="block"}},{key:"isVisible",value:function(){return"none"!==this.style.display}},{key:"hideMenuItems",value:function(){var t,e=l(this.children);try{for(e.s();!(t=e.n()).done;){var n=t.value;n instanceof HTMLElement?n.style.display="none":console.warn("".concat(n," is not a HTMLElement"))}}catch(t){e.e(t)}finally{e.f()}}},{key:"hideSubmenus",value:function(){var t,e=l(this.children);try{for(e.s();!(t=e.n()).done;){var n=t.value;n instanceof T&&n.submenu&&n.submenu.hide()}}catch(t){e.e(t)}finally{e.f()}}},{key:"appendMenuItem",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0;if(void 0!==e){if(e.parentNode!==this)throw new Error("The item with id='".concat(e.id,"' is not a child of the context menu"));this.insertBefore(t,e)}else this.appendChild(t);t.isClickable()&&this._performBindings(t)}},{key:"moveBefore",value:function(t,e){if(t.parentNode!==this)throw new Error("The item with id='".concat(t.id,"' is not a child of context menu"));if(e.parentNode!==this)throw new Error("The item with id='".concat(e.id,"' is not a child of context menu"));this.removeChild(t),this.insertBefore(t,e)}},{key:"removeAllMenuItems",value:function(){for(;this.firstChild;){var t=this.lastChild;t instanceof T?this._removeImmediateMenuItem(t):(console.warn("Found non menu item in the context menu: ",t),this.removeChild(t))}}},{key:"_removeImmediateMenuItem",value:function(t){if(!this._detachImmediateMenuItem(t))throw new Error("menu item(id=".concat(t.id,") is not in the context menu"));t.detachSubmenu(),t.unbindOnClickFunctions()}},{key:"_detachImmediateMenuItem",value:function(t){if(t.parentNode===this){if(this.removeChild(t),this.children.length<=0){var e=this.parentNode;e instanceof T&&e.detachSubmenu()}return!0}return!1}},{key:"_performBindings",value:function(t){var e=this._bindOnClick(t.onClickFunction);t.bindOnClickFunction(e),t.bindOnClickFunction(this.onMenuItemClick)}},{key:"_bindOnClick",value:function(t){var e=this;return function(){var n=e.scratchpad.currentCyEvent;t(n)}}}],[{key:"define",value:function(){a("menu-item-list",n,"div")}}]),n}(m(HTMLDivElement)),N=function(t){g(n,t);var e=v(n);function n(t,r){var i;return f(this,n),(i=e.call(this,t,r)).onMenuItemClick=function(e){k(e),i.hide(),t()},i}return p(n,[{key:"removeMenuItem",value:function(t){var e=t.parentElement;e instanceof C&&this.contains(e)&&e._removeImmediateMenuItem(t)}},{key:"appendMenuItem",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0;this.ensureDoesntContain(t.id),y(E(n.prototype),"appendMenuItem",this).call(this,t,e)}},{key:"insertMenuItem",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=e.before,r=e.parent;if(this.ensureDoesntContain(t.id),void 0!==n){if(!this.contains(n))throw new Error("before(id=".concat(n.id,") is not in the context menu"));var i=n.parentNode;if(!(i instanceof C))throw new Error("Parent of before(id=".concat(n.id,") is not a submenu"));i.appendMenuItem(t,n)}else if(void 0!==r){if(!this.contains(r))throw new Error("parent(id=".concat(r.id,") is not a descendant of the context menu"));r.appendSubmenuItem(t)}else this.appendMenuItem(t)}},{key:"moveBefore",value:function(t,e){var n=t.parentElement;if(!this.contains(n))throw new Error("parent(id=".concat(n.id,") is not in the contex menu"));if(!this.contains(e))throw new Error("before(id=".concat(e.id,") is not in the context menu"));n.removeChild(t),this.insertMenuItem(t,{before:e})}},{key:"moveToSubmenu",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,r=t.parentElement;if(!(r instanceof C))throw new Error("current parent(id=".concat(r.id,") is not a submenu"));if(!this.contains(r))throw new Error("parent of the menu item(id=".concat(r.id,") is not in the context menu"));if(null!==e){if(!this.contains(e))throw new Error("parent(id=".concat(e.id,") is not in the context menu"));r._detachImmediateMenuItem(t),e.appendSubmenuItem(t)}else null!==n&&(t.selector=n.selector,t.coreAsWell=n.coreAsWell),r._detachImmediateMenuItem(t),this.appendMenuItem(t)}},{key:"ensureDoesntContain",value:function(t){var e=document.getElementById(t);if(void 0!==e&&this.contains(e))throw new Error("There is already an element with id=".concat(t," in the context menu"))}}],[{key:"define",value:function(){a("ctx-menu",n,"div")}}]),n}(C);function A(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n1&&void 0!==arguments[1]?arguments[1]:void 0,n=p(t);if(void 0!==e){var r=v(e);h.insertMenuItem(n,{parent:r})}else h.insertMenuItem(n)},d=function(t){for(var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,n=0;n0&&(s.top+=f,s.left+=f);var d=r.clientHeight,p=r.clientWidth,g=d/2,v=p/2;c.y>g&&c.x<=v?(h.style.left=c.x+"px",h.style.bottom=d-c.y+"px",h.style.right="auto",h.style.top="auto"):c.y>g&&c.x>v?(h.style.right=p-c.x+"px",h.style.bottom=d-c.y+"px",h.style.left="auto",h.style.top="auto"):c.y<=g&&c.x<=v?(h.style.left=c.x+"px",h.style.top=c.y+"px",h.style.right="auto",h.style.bottom="auto"):(h.style.right=p-c.x+"px",h.style.top=c.y+"px",h.style.left="auto",h.style.bottom="auto")}}(t);var n,r=t.target||t.cyTarget,i=function(t,e){var n;if("undefined"==typeof Symbol||null==t[Symbol.iterator]){if(Array.isArray(t)||(n=function(t,e){if(t){if("string"==typeof t)return A(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?A(t,e):void 0}}(t))){n&&(t=n);var r=0,i=function(){};return{s:i,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=t[Symbol.iterator]()},n:function(){var t=n.next();return a=t.done,t},e:function(t){s=!0,o=t},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}(h.children);try{for(i.s();!(n=i.n()).done;){var o=n.value;o instanceof T&&(r===e?o.coreAsWell:r.is(o.selector))&&o.show&&(h.display(),u("anyVisibleChild",!0),o.display())}}catch(t){i.e(t)}finally{i.f()}var c=Array.from(h.children).filter((function(t){if(t instanceof T)return t.isVisible()})),l=c.length;c.forEach((function(t,e){t instanceof T&&(e=t.length?{done:!0}:{done:!1,value:t[i++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,s=!0,c=!1;return{s:function(){n=t[Symbol.iterator]()},n:function(){var t=n.next();return s=t.done,t},e:function(t){c=!0,a=t},f:function(){try{s||null==n.return||n.return()}finally{if(c)throw a}}}}(document.getElementsByClassName("cy-context-menus-cxt-menu"));try{for(e.s();!(t=e.n()).done;)t.value.addEventListener("contextmenu",(function(t){return t.preventDefault()}))}catch(t){e.e(t)}finally{e.f()}}()}return function(t){return{isActive:function(){return a("active")},appendMenuItem:function(e){return f(e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0),t},appendMenuItems:function(e){return d(e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0),t},removeMenuItem:function(e){var n=v(e);return h.removeMenuItem(n),t},setTrailingDivider:function(e,n){var r=v(e);return r.setHasTrailingDivider(n),n?r.classList.add(s):r.classList.remove(s),t},insertBeforeMenuItem:function(e,n){var r=p(e),i=v(n);return h.insertMenuItem(r,{before:i}),t},moveToSubmenu:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=v(e);if(null===n)h.moveToSubmenu(r);else if("string"==typeof n){var i=v(n.toString());h.moveToSubmenu(r,i)}else void 0!==n.coreAsWell||void 0!==n.selector?h.moveToSubmenu(r,null,n):console.warn("options neither has coreAsWell nor selector property but it is an object. Are you sure that this is what you want to do?");return t},moveBeforeOtherMenuItem:function(e,n){var r=v(e),i=v(n);return h.moveBefore(r,i),t},disableMenuItem:function(e){return v(e).disable(),t},enableMenuItem:function(e){return v(e).enable(),t},hideMenuItem:function(e){return v(e).hide(),t},showMenuItem:function(e){return v(e).display(),t},destroy:function(){return g(),t}}}(this)}},579:(t,e,n)=>{var r=n(621).contextMenus,i=function(t){t&&t("core","contextMenus",r)};"undefined"!=typeof cytoscape&&i(cytoscape),t.exports=i}},e={};function n(r){var i=e[r];if(void 0!==i)return i.exports;var o=e[r]={exports:{}};return t[r](o,o.exports,n),o.exports}return n.d=(t,e)=>{for(var r in e)n.o(e,r)&&!n.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),n.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n(579)})()},4607:function(t,e,n){var r;r=function(t){return function(t){var e={};function n(r){if(e[r])return e[r].exports;var i=e[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=t,n.c=e,n.i=function(t){return t},n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:r})},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=1)}([function(e,n){e.exports=t},function(t,e,n){"use strict";var r=n(0).layoutBase.LayoutConstants,i=n(0).layoutBase.FDLayoutConstants,o=n(0).CoSEConstants,a=n(0).CoSELayout,s=n(0).CoSENode,c=n(0).layoutBase.PointD,u=n(0).layoutBase.DimensionD,l={ready:function(){},stop:function(){},quality:"default",nodeDimensionsIncludeLabels:!1,refresh:30,fit:!0,padding:10,randomize:!0,nodeRepulsion:4500,idealEdgeLength:50,edgeElasticity:.45,nestingFactor:.1,gravity:.25,numIter:2500,tile:!0,animate:"end",animationDuration:500,tilingPaddingVertical:10,tilingPaddingHorizontal:10,gravityRangeCompound:1.5,gravityCompound:1,gravityRange:3.8,initialEnergyOnIncremental:.5};function h(t){this.options=function(t,e){var n={};for(var r in t)n[r]=t[r];for(var r in e)n[r]=e[r];return n}(l,t),f(this.options)}var f=function(t){null!=t.nodeRepulsion&&(o.DEFAULT_REPULSION_STRENGTH=i.DEFAULT_REPULSION_STRENGTH=t.nodeRepulsion),null!=t.idealEdgeLength&&(o.DEFAULT_EDGE_LENGTH=i.DEFAULT_EDGE_LENGTH=t.idealEdgeLength),null!=t.edgeElasticity&&(o.DEFAULT_SPRING_STRENGTH=i.DEFAULT_SPRING_STRENGTH=t.edgeElasticity),null!=t.nestingFactor&&(o.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=i.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=t.nestingFactor),null!=t.gravity&&(o.DEFAULT_GRAVITY_STRENGTH=i.DEFAULT_GRAVITY_STRENGTH=t.gravity),null!=t.numIter&&(o.MAX_ITERATIONS=i.MAX_ITERATIONS=t.numIter),null!=t.gravityRange&&(o.DEFAULT_GRAVITY_RANGE_FACTOR=i.DEFAULT_GRAVITY_RANGE_FACTOR=t.gravityRange),null!=t.gravityCompound&&(o.DEFAULT_COMPOUND_GRAVITY_STRENGTH=i.DEFAULT_COMPOUND_GRAVITY_STRENGTH=t.gravityCompound),null!=t.gravityRangeCompound&&(o.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=i.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=t.gravityRangeCompound),null!=t.initialEnergyOnIncremental&&(o.DEFAULT_COOLING_FACTOR_INCREMENTAL=i.DEFAULT_COOLING_FACTOR_INCREMENTAL=t.initialEnergyOnIncremental),"draft"==t.quality?r.QUALITY=0:"proof"==t.quality?r.QUALITY=2:r.QUALITY=1,o.NODE_DIMENSIONS_INCLUDE_LABELS=i.NODE_DIMENSIONS_INCLUDE_LABELS=r.NODE_DIMENSIONS_INCLUDE_LABELS=t.nodeDimensionsIncludeLabels,o.DEFAULT_INCREMENTAL=i.DEFAULT_INCREMENTAL=r.DEFAULT_INCREMENTAL=!t.randomize,o.ANIMATE=i.ANIMATE=r.ANIMATE=t.animate,o.TILE=t.tile,o.TILING_PADDING_VERTICAL="function"==typeof t.tilingPaddingVertical?t.tilingPaddingVertical.call():t.tilingPaddingVertical,o.TILING_PADDING_HORIZONTAL="function"==typeof t.tilingPaddingHorizontal?t.tilingPaddingHorizontal.call():t.tilingPaddingHorizontal};h.prototype.run=function(){var t,e,n=this.options,r=(this.idToLNode={},this.layout=new a),i=this;i.stopped=!1,this.cy=this.options.cy,this.cy.trigger({type:"layoutstart",layout:this});var o=r.newGraphManager();this.gm=o;var s=this.options.eles.nodes(),c=this.options.eles.edges();this.root=o.addRoot(),this.processChildrenList(this.root,this.getTopMostNodes(s),r);for(var u=0;u0&&(a=n.getGraphManager().add(n.newGraph(),o),this.processChildrenList(a,h,n))}},h.prototype.stop=function(){return this.stopped=!0,this};var d=function(t){t("layout","cose-bilkent",h)};"undefined"!=typeof cytoscape&&d(cytoscape),t.exports=d}])},t.exports=r(n(4182))},9142:function(t,e,n){var r;r=function(t){return function(t){var e={};function n(r){if(e[r])return e[r].exports;var i=e[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)n.d(r,i,function(e){return t[e]}.bind(null,i));return r},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=0)}([function(t,e,n){var r=n(1),i=function(t){t&&t("layout","dagre",r)};"undefined"!=typeof cytoscape&&i(cytoscape),t.exports=i},function(t,e,n){function r(t){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},r(t)}var i=function(t){return"function"==typeof t},o=n(2),a=n(3),s=n(4);function c(t){this.options=a({},o,t)}c.prototype.run=function(){var t=this.options,e=t.cy,n=t.eles,o=function(t,e){return i(e)?e.apply(t,[t]):e},a=t.boundingBox||{x1:0,y1:0,w:e.width(),h:e.height()};void 0===a.x2&&(a.x2=a.x1+a.w),void 0===a.w&&(a.w=a.x2-a.x1),void 0===a.y2&&(a.y2=a.y1+a.h),void 0===a.h&&(a.h=a.y2-a.y1);var c=new s.graphlib.Graph({multigraph:!0,compound:!0}),u={},l=function(t,e){null!=e&&(u[t]=e)};l("nodesep",t.nodeSep),l("edgesep",t.edgeSep),l("ranksep",t.rankSep),l("rankdir",t.rankDir),l("align",t.align),l("ranker",t.ranker),l("acyclicer",t.acyclicer),c.setGraph(u),c.setDefaultEdgeLabel((function(){return{}})),c.setDefaultNodeLabel((function(){return{}}));var h=n.nodes();i(t.sort)&&(h=h.sort(t.sort));for(var f=0;f1?e-1:0),r=1;r1?e-1:0),r=1;r1&&(c.velocity.x=l/f,c.velocity.y=h/f),r=e*c.velocity.x,o=e*c.velocity.y,c.pos.x+=r,c.pos.y+=o,i+=Math.abs(r),a+=Math.abs(o)}}return(i*i+a*a)/s}}},function(t,e,n){"use strict";var r=n(9),i=n(8),o=function(t,e){var n=Math.abs(t.x-e.x),r=Math.abs(t.y-e.y);return n<1e-8&&r<1e-8};function a(t,e){return 0===e?t.quad0:1===e?t.quad1:2===e?t.quad2:3===e?t.quad3:null}function s(t,e,n){0===e?t.quad0=n:1===e?t.quad1=n:2===e?t.quad2=n:3===e&&(t.quad3=n)}t.exports={makeQuadtree:function(){var t=[],e=new i,n=[],c=0,u=l();function l(){var t=n[c];return t?(t.quad0=null,t.quad1=null,t.quad2=null,t.quad3=null,t.body=null,t.mass=t.massX=t.massY=0,t.left=t.right=t.top=t.bottom=0):(t=new r,n[c]=t),++c,t}function h(t){for(e.reset(),e.push(u,t);!e.isEmpty();){var n=e.pop(),r=n.node,i=n.body;if(r.body){var c=r.body;if(r.body=null,o(c.pos,i.pos)){var h=3;do{var f=Math.random(),d=(r.right-r.left)*f,p=(r.bottom-r.top)*f;c.pos.x=r.left+d,c.pos.y=r.top+p,h-=1}while(h>0&&o(c.pos,i.pos));if(0===h&&o(c.pos,i.pos))return}e.push(r,c),e.push(r,i)}else{var g=i.pos.x,v=i.pos.y;r.mass=r.mass+i.mass,r.massX=r.massX+i.mass*g,r.massY=r.massY+i.mass*v;var b=0,y=r.left,m=(r.right+y)/2,w=r.top,x=(r.bottom+w)/2;g>m&&(b+=1,y=m,m=r.right),v>x&&(b+=2,w=x,x=r.bottom);var _=a(r,b);_?e.push(_,i):((_=l()).left=y,_.top=w,_.right=m,_.bottom=x,_.body=i,s(r,b,_))}}}return{insertBodies:function(t){if(0!==t.length){var e=Number.MAX_VALUE,n=Number.MAX_VALUE,r=Number.MIN_VALUE,i=Number.MIN_VALUE,o=void 0,a=t.length;for(o=a;o--;){var s=t[o].pos.x,f=t[o].pos.y;sr&&(r=s),fi&&(i=f)}var d=r-e,p=i-n;for(d>p?i=n+d:r=e+p,c=0,(u=l()).left=e,u.right=r,u.top=n,u.bottom=i,(o=a-1)>=0&&(u.body=t[o]);o--;)h(t[o])}},updateBodyForce:function(e,n,r,i){var o=t,a=void 0,s=void 0,c=void 0,l=void 0,h=0,f=0,d=1,p=0,g=1;o[0]=u,function(t){t.x=0,t.y=0}(e.force);var v=-e.pos.x,b=-e.pos.y,y=Math.sqrt(v*v+b*b),m=e.mass*i/y;for(h+=m*v,f+=m*b;d;){var w=o[p],x=w.body;d-=1,p+=1;var _=x!==e;x&&_?(s=x.pos.x-e.pos.x,c=x.pos.y-e.pos.y,0===(l=Math.sqrt(s*s+c*c))&&(s=(Math.random()-.5)/50,c=(Math.random()-.5)/50,l=Math.sqrt(s*s+c*c)),h+=(a=n*x.mass*e.mass/(l*l*l))*s,f+=a*c):_&&(s=w.massX/w.mass-e.pos.x,c=w.massY/w.mass-e.pos.y,0===(l=Math.sqrt(s*s+c*c))&&(s=(Math.random()-.5)/50,c=(Math.random()-.5)/50,l=Math.sqrt(s*s+c*c)),(w.right-w.left)/l0)return this.stack[--this.popIdx]},reset:function(){this.popIdx=0}}},function(t,e,n){"use strict";t.exports=function(){this.body=null,this.quad0=null,this.quad1=null,this.quad2=null,this.quad3=null,this.mass=0,this.massX=0,this.massY=0,this.left=0,this.top=0,this.bottom=0,this.right=0}},function(t,e,n){"use strict";var r=n(6).integrate,i=n(5).applyDrag,o=n(1).applySpring;t.exports={tick:function(t){var e=t.bodies,n=t.springs,a=t.quadtree,s=t.timeStep,c=t.gravity,u=t.theta,l=t.dragCoeff,h=t.pull;e.forEach((function(t){var e=t._scratch;e&&(t.locked=e.locked,t.grabbed=e.grabbed,t.pos.x=e.x,t.pos.y=e.y)})),a.insertBodies(e);for(var f=0;f=e.maxIterations||r>=e.maxSimulationTime)};t.exports={tick:i,multitick:function(t){for(var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:r,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:r,o=!1,a=t,s=0;s{"use strict";var e={658:t=>{t.exports=null!=Object.assign?Object.assign.bind(Object):function(t){for(var e=arguments.length,n=Array(e>1?e-1:0),r=1;r{var r=function(t,e){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return function(t,e){var n=[],r=!0,i=!1,o=void 0;try{for(var a,s=t[Symbol.iterator]();!(r=(a=s.next()).done)&&(n.push(a.value),!e||n.length!==e);r=!0);}catch(t){i=!0,o=t}finally{try{!r&&s.return&&s.return()}finally{if(i)throw o}}return n}(t,e);throw new TypeError("Invalid attempt to destructure non-iterable instance")},i=n(140).layoutBase.LinkedList,o={getTopMostNodes:function(t){for(var e={},n=0;n0&&u.merge(t)}));for(var l=0;l1){u=s[0],l=u.connectedEdges().length,s.forEach((function(t){t.connectedEdges().length0&&r.set("dummy"+(r.size+1),d),p},relocateComponent:function(t,e,n){if(!n.fixedNodeConstraint){var i=Number.POSITIVE_INFINITY,o=Number.NEGATIVE_INFINITY,a=Number.POSITIVE_INFINITY,s=Number.NEGATIVE_INFINITY;if("draft"==n.quality){var c=!0,u=!1,l=void 0;try{for(var h,f=e.nodeIndexes[Symbol.iterator]();!(c=(h=f.next()).done);c=!0){var d=h.value,p=r(d,2),g=p[0],v=p[1],b=n.cy.getElementById(g);if(b){var y=b.boundingBox(),m=e.xCoords[v]-y.w/2,w=e.xCoords[v]+y.w/2,x=e.yCoords[v]-y.h/2,_=e.yCoords[v]+y.h/2;mo&&(o=w),xs&&(s=_)}}}catch(t){u=!0,l=t}finally{try{!c&&f.return&&f.return()}finally{if(u)throw l}}var E=t.x-(o+i)/2,k=t.y-(s+a)/2;e.xCoords=e.xCoords.map((function(t){return t+E})),e.yCoords=e.yCoords.map((function(t){return t+k}))}else{Object.keys(e).forEach((function(t){var n=e[t],r=n.getRect().x,c=n.getRect().x+n.getRect().width,u=n.getRect().y,l=n.getRect().y+n.getRect().height;ro&&(o=c),us&&(s=l)}));var T=t.x-(o+i)/2,C=t.y-(s+a)/2;Object.keys(e).forEach((function(t){var n=e[t];n.setCenter(n.getCenterX()+T,n.getCenterY()+C)}))}}},calcBoundingBox:function(t,e,n,r){for(var i=Number.MAX_SAFE_INTEGER,o=Number.MIN_SAFE_INTEGER,a=Number.MAX_SAFE_INTEGER,s=Number.MIN_SAFE_INTEGER,c=void 0,u=void 0,l=void 0,h=void 0,f=t.descendants().not(":parent"),d=f.length,p=0;p(c=e[r.get(g.id())]-g.width()/2)&&(i=c),o<(u=e[r.get(g.id())]+g.width()/2)&&(o=u),a>(l=n[r.get(g.id())]-g.height()/2)&&(a=l),s<(h=n[r.get(g.id())]+g.height()/2)&&(s=h)}var v={};return v.topLeftX=i,v.topLeftY=a,v.width=o-i,v.height=s-a,v},calcParentsWithoutChildren:function(t,e){var n=t.collection();return e.nodes(":parent").forEach((function(t){var e=!1;t.children().forEach((function(t){"none"!=t.css("display")&&(e=!0)})),e||n.merge(t)})),n}};t.exports=o},816:(t,e,n)=>{var r=n(548),i=n(140).CoSELayout,o=n(140).CoSENode,a=n(140).layoutBase.PointD,s=n(140).layoutBase.DimensionD,c=n(140).layoutBase.LayoutConstants,u=n(140).layoutBase.FDLayoutConstants,l=n(140).CoSEConstants;t.exports={coseLayout:function(t,e){var n=t.cy,h=t.eles,f=h.nodes(),d=h.edges(),p=void 0,g=void 0,v=void 0,b={};t.randomize&&(p=e.nodeIndexes,g=e.xCoords,v=e.yCoords);var y=function(t){return"function"==typeof t},m=function(t,e){return y(t)?t(e):t},w=r.calcParentsWithoutChildren(n,h);null!=t.nestingFactor&&(l.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=u.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=t.nestingFactor),null!=t.gravity&&(l.DEFAULT_GRAVITY_STRENGTH=u.DEFAULT_GRAVITY_STRENGTH=t.gravity),null!=t.numIter&&(l.MAX_ITERATIONS=u.MAX_ITERATIONS=t.numIter),null!=t.gravityRange&&(l.DEFAULT_GRAVITY_RANGE_FACTOR=u.DEFAULT_GRAVITY_RANGE_FACTOR=t.gravityRange),null!=t.gravityCompound&&(l.DEFAULT_COMPOUND_GRAVITY_STRENGTH=u.DEFAULT_COMPOUND_GRAVITY_STRENGTH=t.gravityCompound),null!=t.gravityRangeCompound&&(l.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=u.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=t.gravityRangeCompound),null!=t.initialEnergyOnIncremental&&(l.DEFAULT_COOLING_FACTOR_INCREMENTAL=u.DEFAULT_COOLING_FACTOR_INCREMENTAL=t.initialEnergyOnIncremental),null!=t.tilingCompareBy&&(l.TILING_COMPARE_BY=t.tilingCompareBy),"proof"==t.quality?c.QUALITY=2:c.QUALITY=0,l.NODE_DIMENSIONS_INCLUDE_LABELS=u.NODE_DIMENSIONS_INCLUDE_LABELS=c.NODE_DIMENSIONS_INCLUDE_LABELS=t.nodeDimensionsIncludeLabels,l.DEFAULT_INCREMENTAL=u.DEFAULT_INCREMENTAL=c.DEFAULT_INCREMENTAL=!t.randomize,l.ANIMATE=u.ANIMATE=c.ANIMATE=t.animate,l.TILE=t.tile,l.TILING_PADDING_VERTICAL="function"==typeof t.tilingPaddingVertical?t.tilingPaddingVertical.call():t.tilingPaddingVertical,l.TILING_PADDING_HORIZONTAL="function"==typeof t.tilingPaddingHorizontal?t.tilingPaddingHorizontal.call():t.tilingPaddingHorizontal,l.DEFAULT_INCREMENTAL=u.DEFAULT_INCREMENTAL=c.DEFAULT_INCREMENTAL=!0,l.PURE_INCREMENTAL=!t.randomize,c.DEFAULT_UNIFORM_LEAF_NODE_SIZES=t.uniformNodeDimensions,"transformed"==t.step&&(l.TRANSFORM_ON_CONSTRAINT_HANDLING=!0,l.ENFORCE_CONSTRAINTS=!1,l.APPLY_LAYOUT=!1),"enforced"==t.step&&(l.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,l.ENFORCE_CONSTRAINTS=!0,l.APPLY_LAYOUT=!1),"cose"==t.step&&(l.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,l.ENFORCE_CONSTRAINTS=!1,l.APPLY_LAYOUT=!0),"all"==t.step&&(t.randomize?l.TRANSFORM_ON_CONSTRAINT_HANDLING=!0:l.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,l.ENFORCE_CONSTRAINTS=!0,l.APPLY_LAYOUT=!0),t.fixedNodeConstraint||t.alignmentConstraint||t.relativePlacementConstraint?l.TREE_REDUCTION_ON_INCREMENTAL=!1:l.TREE_REDUCTION_ON_INCREMENTAL=!0;var x=new i,_=x.newGraphManager();return function t(e,n,i,c){for(var u=n.length,l=0;l0&&t(i.getGraphManager().add(i.newGraph(),d),f,i,c)}}(_.addRoot(),r.getTopMostNodes(f),x,t),function(e,n,r){for(var i=0,o=0,a=0;a0?l.DEFAULT_EDGE_LENGTH=u.DEFAULT_EDGE_LENGTH=i/o:y(t.idealEdgeLength)?l.DEFAULT_EDGE_LENGTH=u.DEFAULT_EDGE_LENGTH=50:l.DEFAULT_EDGE_LENGTH=u.DEFAULT_EDGE_LENGTH=t.idealEdgeLength,l.MIN_REPULSION_DIST=u.MIN_REPULSION_DIST=u.DEFAULT_EDGE_LENGTH/10,l.DEFAULT_RADIAL_SEPARATION=u.DEFAULT_EDGE_LENGTH)}(x,_,d),function(t,e){e.fixedNodeConstraint&&(t.constraints.fixedNodeConstraint=e.fixedNodeConstraint),e.alignmentConstraint&&(t.constraints.alignmentConstraint=e.alignmentConstraint),e.relativePlacementConstraint&&(t.constraints.relativePlacementConstraint=e.relativePlacementConstraint)}(x,t),x.runLayout(),b}}},212:(t,e,n)=>{var r=function(){function t(t,e){for(var n=0;n0)if(h){var f=o.getTopMostNodes(t.eles.nodes());if((c=o.connectComponents(e,t.eles,f)).forEach((function(t){var e=t.boundingBox();u.push({x:e.x1+e.w/2,y:e.y1+e.h/2})})),t.randomize&&c.forEach((function(e){t.eles=e,r.push(a(t))})),"default"==t.quality||"proof"==t.quality){var d=e.collection();if(t.tile){var p=new Map,g=0,v={nodeIndexes:p,xCoords:[],yCoords:[]},b=[];if(c.forEach((function(t,e){0==t.edges().length&&(t.nodes().forEach((function(e,n){d.merge(t.nodes()[n]),e.isParent()||(v.nodeIndexes.set(t.nodes()[n].id(),g++),v.xCoords.push(t.nodes()[0].position().x),v.yCoords.push(t.nodes()[0].position().y))})),b.push(e))})),d.length>1){var y=d.boundingBox();u.push({x:y.x1+y.w/2,y:y.y1+y.h/2}),c.push(d),r.push(v);for(var m=b.length-1;m>=0;m--)c.splice(b[m],1),r.splice(b[m],1),u.splice(b[m],1)}}c.forEach((function(e,n){t.eles=e,i.push(s(t,r[n])),o.relocateComponent(u[n],i[n],t)}))}else c.forEach((function(e,n){o.relocateComponent(u[n],r[n],t)}));var w=new Set;if(c.length>1){var x=[],_=n.filter((function(t){return"none"==t.css("display")}));c.forEach((function(e,n){var a=void 0;if("draft"==t.quality&&(a=r[n].nodeIndexes),e.nodes().not(_).length>0){var s={edges:[],nodes:[]},c=void 0;e.nodes().not(_).forEach((function(e){if("draft"==t.quality)if(e.isParent()){var u=o.calcBoundingBox(e,r[n].xCoords,r[n].yCoords,a);s.nodes.push({x:u.topLeftX,y:u.topLeftY,width:u.width,height:u.height})}else c=a.get(e.id()),s.nodes.push({x:r[n].xCoords[c]-e.boundingbox().w/2,y:r[n].yCoords[c]-e.boundingbox().h/2,width:e.boundingbox().w,height:e.boundingbox().h});else i[n][e.id()]&&s.nodes.push({x:i[n][e.id()].getLeft(),y:i[n][e.id()].getTop(),width:i[n][e.id()].getWidth(),height:i[n][e.id()].getHeight()})})),e.edges().forEach((function(e){var c=e.source(),u=e.target();if("none"!=c.css("display")&&"none"!=u.css("display"))if("draft"==t.quality){var l=a.get(c.id()),h=a.get(u.id()),f=[],d=[];if(c.isParent()){var p=o.calcBoundingBox(c,r[n].xCoords,r[n].yCoords,a);f.push(p.topLeftX+p.width/2),f.push(p.topLeftY+p.height/2)}else f.push(r[n].xCoords[l]),f.push(r[n].yCoords[l]);if(u.isParent()){var g=o.calcBoundingBox(u,r[n].xCoords,r[n].yCoords,a);d.push(g.topLeftX+g.width/2),d.push(g.topLeftY+g.height/2)}else d.push(r[n].xCoords[h]),d.push(r[n].yCoords[h]);s.edges.push({startX:f[0],startY:f[1],endX:d[0],endY:d[1]})}else i[n][c.id()]&&i[n][u.id()]&&s.edges.push({startX:i[n][c.id()].getCenterX(),startY:i[n][c.id()].getCenterY(),endX:i[n][u.id()].getCenterX(),endY:i[n][u.id()].getCenterY()})})),s.nodes.length>0&&(x.push(s),w.add(n))}}));var E=l.packComponents(x,t.randomize).shifts;if("draft"==t.quality)r.forEach((function(t,e){var n=t.xCoords.map((function(t){return t+E[e].dx})),r=t.yCoords.map((function(t){return t+E[e].dy}));t.xCoords=n,t.yCoords=r}));else{var k=0;w.forEach((function(t){Object.keys(i[t]).forEach((function(e){var n=i[t][e];n.setCenter(n.getCenterX()+E[k].dx,n.getCenterY()+E[k].dy)})),k++}))}}}else{var T=t.eles.boundingBox();if(u.push({x:T.x1+T.w/2,y:T.y1+T.h/2}),t.randomize){var C=a(t);r.push(C)}"default"==t.quality||"proof"==t.quality?(i.push(s(t,r[0])),o.relocateComponent(u[0],i[0],t)):o.relocateComponent(u[0],r[0],t)}var N=function(e,n){if("default"==t.quality||"proof"==t.quality){"number"==typeof e&&(e=n);var o=void 0,a=void 0,s=e.data("id");return i.forEach((function(t){s in t&&(o={x:t[s].getRect().getCenterX(),y:t[s].getRect().getCenterY()},a=t[s])})),t.nodeDimensionsIncludeLabels&&(a.labelWidth&&("left"==a.labelPosHorizontal?o.x+=a.labelWidth/2:"right"==a.labelPosHorizontal&&(o.x-=a.labelWidth/2)),a.labelHeight&&("top"==a.labelPosVertical?o.y+=a.labelHeight/2:"bottom"==a.labelPosVertical&&(o.y-=a.labelHeight/2))),null==o&&(o={x:e.position("x"),y:e.position("y")}),{x:o.x,y:o.y}}var c=void 0;return r.forEach((function(t){var n=t.nodeIndexes.get(e.id());null!=n&&(c={x:t.xCoords[n],y:t.yCoords[n]})})),null==c&&(c={x:e.position("x"),y:e.position("y")}),{x:c.x,y:c.y}};if("default"==t.quality||"proof"==t.quality||t.randomize){var A=o.calcParentsWithoutChildren(e,n),S=n.filter((function(t){return"none"==t.css("display")}));t.eles=n.not(S),n.nodes().not(":parent").not(S).layoutPositions(this,t,N),A.length>0&&A.forEach((function(t){t.position(N(t))}))}else console.log("If randomize option is set to false, then quality option must be 'default' or 'proof'.")}}]),t}();t.exports=u},657:(t,e,n)=>{var r=n(548),i=n(140).layoutBase.Matrix,o=n(140).layoutBase.SVD;t.exports={spectralLayout:function(t){var e=t.cy,n=t.eles,a=n.nodes(),s=n.nodes(":parent"),c=new Map,u=new Map,l=new Map,h=[],f=[],d=[],p=[],g=[],v=[],b=[],y=[],m=void 0,w=1e8,x=1e-9,_=t.piTol,E=t.samplingType,k=t.nodeSeparation,T=void 0,C=function(t,e,n){for(var r=[],i=0,o=0,a=0,s=void 0,c=[],l=0,f=1,d=0;d=i;){a=r[i++];for(var p=h[a],b=0;bl&&(l=g[x],f=x)}return f};r.connectComponents(e,n,r.getTopMostNodes(a),c),s.forEach((function(t){r.connectComponents(e,n,r.getTopMostNodes(t.descendants().intersection(n)),c)}));for(var N=0,A=0;A0&&(r.isParent()?h[e].push(l.get(r.id())):h[e].push(r.id()))}))}));var R=function(t){var n=u.get(t),r=void 0;c.get(t).forEach((function(i){r=e.getElementById(i).isParent()?l.get(i):i,h[n].push(r),h[u.get(r)].push(t)}))},j=!0,G=!1,B=void 0;try{for(var F,H=c.keys()[Symbol.iterator]();!(j=(F=H.next()).done);j=!0)R(F.value)}catch(t){G=!0,B=t}finally{try{!j&&H.return&&H.return()}finally{if(G)throw B}}var Y=void 0;if((m=u.size)>2){T=m=1)break;u=c}for(var p=0;p=1)break;u=c}for(var b=0;b{var r=n(212),i=function(t){t&&t("layout","fcose",r)};"undefined"!=typeof cytoscape&&i(cytoscape),t.exports=i},140:e=>{e.exports=t}},n={},r=function t(r){var i=n[r];if(void 0!==i)return i.exports;var o=n[r]={exports:{}};return e[r](o,o.exports,t),o.exports}(579);return r})()},t.exports=r(n(6914))},6914:function(t,e,n){var r;r=function(t){return(()=>{"use strict";var e={45:(t,e,n)=>{var r={};r.layoutBase=n(551),r.CoSEConstants=n(806),r.CoSEEdge=n(767),r.CoSEGraph=n(880),r.CoSEGraphManager=n(578),r.CoSELayout=n(765),r.CoSENode=n(991),r.ConstraintHandler=n(902),t.exports=r},806:(t,e,n)=>{var r=n(551).FDLayoutConstants;function i(){}for(var o in r)i[o]=r[o];i.DEFAULT_USE_MULTI_LEVEL_SCALING=!1,i.DEFAULT_RADIAL_SEPARATION=r.DEFAULT_EDGE_LENGTH,i.DEFAULT_COMPONENT_SEPERATION=60,i.TILE=!0,i.TILING_PADDING_VERTICAL=10,i.TILING_PADDING_HORIZONTAL=10,i.TRANSFORM_ON_CONSTRAINT_HANDLING=!0,i.ENFORCE_CONSTRAINTS=!0,i.APPLY_LAYOUT=!0,i.RELAX_MOVEMENT_ON_CONSTRAINTS=!0,i.TREE_REDUCTION_ON_INCREMENTAL=!0,i.PURE_INCREMENTAL=i.DEFAULT_INCREMENTAL,t.exports=i},767:(t,e,n)=>{var r=n(551).FDLayoutEdge;function i(t,e,n){r.call(this,t,e,n)}for(var o in i.prototype=Object.create(r.prototype),r)i[o]=r[o];t.exports=i},880:(t,e,n)=>{var r=n(551).LGraph;function i(t,e,n){r.call(this,t,e,n)}for(var o in i.prototype=Object.create(r.prototype),r)i[o]=r[o];t.exports=i},578:(t,e,n)=>{var r=n(551).LGraphManager;function i(t){r.call(this,t)}for(var o in i.prototype=Object.create(r.prototype),r)i[o]=r[o];t.exports=i},765:(t,e,n)=>{var r=n(551).FDLayout,i=n(578),o=n(880),a=n(991),s=n(767),c=n(806),u=n(902),l=n(551).FDLayoutConstants,h=n(551).LayoutConstants,f=n(551).Point,d=n(551).PointD,p=n(551).DimensionD,g=n(551).Layout,v=n(551).Integer,b=n(551).IGeometry,y=n(551).LGraph,m=n(551).Transform,w=n(551).LinkedList;function x(){r.call(this),this.toBeTiled={},this.constraints={}}for(var _ in x.prototype=Object.create(r.prototype),r)x[_]=r[_];x.prototype.newGraphManager=function(){var t=new i(this);return this.graphManager=t,t},x.prototype.newGraph=function(t){return new o(null,this.graphManager,t)},x.prototype.newNode=function(t){return new a(this.graphManager,t)},x.prototype.newEdge=function(t){return new s(null,null,t)},x.prototype.initParameters=function(){r.prototype.initParameters.call(this,arguments),this.isSubLayout||(c.DEFAULT_EDGE_LENGTH<10?this.idealEdgeLength=10:this.idealEdgeLength=c.DEFAULT_EDGE_LENGTH,this.useSmartIdealEdgeLengthCalculation=c.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION,this.gravityConstant=l.DEFAULT_GRAVITY_STRENGTH,this.compoundGravityConstant=l.DEFAULT_COMPOUND_GRAVITY_STRENGTH,this.gravityRangeFactor=l.DEFAULT_GRAVITY_RANGE_FACTOR,this.compoundGravityRangeFactor=l.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR,this.prunedNodesAll=[],this.growTreeIterations=0,this.afterGrowthIterations=0,this.isTreeGrowing=!1,this.isGrowthFinished=!1)},x.prototype.initSpringEmbedder=function(){r.prototype.initSpringEmbedder.call(this),this.coolingCycle=0,this.maxCoolingCycle=this.maxIterations/l.CONVERGENCE_CHECK_PERIOD,this.finalTemperature=.04,this.coolingAdjuster=1},x.prototype.layout=function(){return h.DEFAULT_CREATE_BENDS_AS_NEEDED&&(this.createBendpoints(),this.graphManager.resetAllEdges()),this.level=0,this.classicLayout()},x.prototype.classicLayout=function(){if(this.nodesWithGravity=this.calculateNodesToApplyGravitationTo(),this.graphManager.setAllNodesToApplyGravitation(this.nodesWithGravity),this.calcNoOfChildrenForAllNodes(),this.graphManager.calcLowestCommonAncestors(),this.graphManager.calcInclusionTreeDepths(),this.graphManager.getRoot().calcEstimatedSize(),this.calcIdealEdgeLengths(),this.incremental)c.TREE_REDUCTION_ON_INCREMENTAL&&(this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation(),e=new Set(this.getAllNodes()),n=this.nodesWithGravity.filter((function(t){return e.has(t)})),this.graphManager.setAllNodesToApplyGravitation(n));else{var t=this.getFlatForest();if(t.length>0)this.positionNodesRadially(t);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var e=new Set(this.getAllNodes()),n=this.nodesWithGravity.filter((function(t){return e.has(t)}));this.graphManager.setAllNodesToApplyGravitation(n),this.positionNodesRandomly()}}return Object.keys(this.constraints).length>0&&(u.handleConstraints(this),this.initConstraintVariables()),this.initSpringEmbedder(),c.APPLY_LAYOUT&&this.runSpringEmbedder(),!0},x.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished){if(!(this.prunedNodesAll.length>0))return!0;this.isTreeGrowing=!0}if(this.totalIterations%l.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged()){if(!(this.prunedNodesAll.length>0))return!0;this.isTreeGrowing=!0}this.coolingCycle++,0==this.layoutQuality?this.coolingAdjuster=this.coolingCycle:1==this.layoutQuality&&(this.coolingAdjuster=this.coolingCycle/3),this.coolingFactor=Math.max(this.initialCoolingFactor-Math.pow(this.coolingCycle,Math.log(100*(this.initialCoolingFactor-this.finalTemperature))/Math.log(this.maxCoolingCycle))/100*this.coolingAdjuster,this.finalTemperature),this.animationPeriod=Math.ceil(this.initialAnimationPeriod*Math.sqrt(this.coolingFactor))}if(this.isTreeGrowing){if(this.growTreeIterations%10==0)if(this.prunedNodesAll.length>0){this.graphManager.updateBounds(),this.updateGrid(),this.growTree(this.prunedNodesAll),this.graphManager.resetAllNodesToApplyGravitation();var t=new Set(this.getAllNodes()),e=this.nodesWithGravity.filter((function(e){return t.has(e)}));this.graphManager.setAllNodesToApplyGravitation(e),this.graphManager.updateBounds(),this.updateGrid(),c.PURE_INCREMENTAL?this.coolingFactor=l.DEFAULT_COOLING_FACTOR_INCREMENTAL/2:this.coolingFactor=l.DEFAULT_COOLING_FACTOR_INCREMENTAL}else this.isTreeGrowing=!1,this.isGrowthFinished=!0;this.growTreeIterations++}if(this.isGrowthFinished){if(this.isConverged())return!0;this.afterGrowthIterations%10==0&&(this.graphManager.updateBounds(),this.updateGrid()),c.PURE_INCREMENTAL?this.coolingFactor=l.DEFAULT_COOLING_FACTOR_INCREMENTAL/2*((100-this.afterGrowthIterations)/100):this.coolingFactor=l.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var n=!this.isTreeGrowing&&!this.isGrowthFinished,r=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(n,r),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},x.prototype.getPositionsData=function(){for(var t=this.graphManager.getAllNodes(),e={},n=0;n0&&this.updateDisplacements(),e=0;e0&&(r.fixedNodeWeight=o)}if(this.constraints.relativePlacementConstraint){var a=new Map,s=new Map;if(this.dummyToNodeForVerticalAlignment=new Map,this.dummyToNodeForHorizontalAlignment=new Map,this.fixedNodesOnHorizontal=new Set,this.fixedNodesOnVertical=new Set,this.fixedNodeSet.forEach((function(e){t.fixedNodesOnHorizontal.add(e),t.fixedNodesOnVertical.add(e)})),this.constraints.alignmentConstraint){if(this.constraints.alignmentConstraint.vertical){var u=this.constraints.alignmentConstraint.vertical;for(n=0;n=2*t.length/3;r--)e=Math.floor(Math.random()*(r+1)),n=t[r],t[r]=t[e],t[e]=n;return t},this.nodesInRelativeHorizontal=[],this.nodesInRelativeVertical=[],this.nodeToRelativeConstraintMapHorizontal=new Map,this.nodeToRelativeConstraintMapVertical=new Map,this.nodeToTempPositionMapHorizontal=new Map,this.nodeToTempPositionMapVertical=new Map,this.constraints.relativePlacementConstraint.forEach((function(e){if(e.left){var n=a.has(e.left)?a.get(e.left):e.left,r=a.has(e.right)?a.get(e.right):e.right;t.nodesInRelativeHorizontal.includes(n)||(t.nodesInRelativeHorizontal.push(n),t.nodeToRelativeConstraintMapHorizontal.set(n,[]),t.dummyToNodeForVerticalAlignment.has(n)?t.nodeToTempPositionMapHorizontal.set(n,t.idToNodeMap.get(t.dummyToNodeForVerticalAlignment.get(n)[0]).getCenterX()):t.nodeToTempPositionMapHorizontal.set(n,t.idToNodeMap.get(n).getCenterX())),t.nodesInRelativeHorizontal.includes(r)||(t.nodesInRelativeHorizontal.push(r),t.nodeToRelativeConstraintMapHorizontal.set(r,[]),t.dummyToNodeForVerticalAlignment.has(r)?t.nodeToTempPositionMapHorizontal.set(r,t.idToNodeMap.get(t.dummyToNodeForVerticalAlignment.get(r)[0]).getCenterX()):t.nodeToTempPositionMapHorizontal.set(r,t.idToNodeMap.get(r).getCenterX())),t.nodeToRelativeConstraintMapHorizontal.get(n).push({right:r,gap:e.gap}),t.nodeToRelativeConstraintMapHorizontal.get(r).push({left:n,gap:e.gap})}else{var i=s.has(e.top)?s.get(e.top):e.top,o=s.has(e.bottom)?s.get(e.bottom):e.bottom;t.nodesInRelativeVertical.includes(i)||(t.nodesInRelativeVertical.push(i),t.nodeToRelativeConstraintMapVertical.set(i,[]),t.dummyToNodeForHorizontalAlignment.has(i)?t.nodeToTempPositionMapVertical.set(i,t.idToNodeMap.get(t.dummyToNodeForHorizontalAlignment.get(i)[0]).getCenterY()):t.nodeToTempPositionMapVertical.set(i,t.idToNodeMap.get(i).getCenterY())),t.nodesInRelativeVertical.includes(o)||(t.nodesInRelativeVertical.push(o),t.nodeToRelativeConstraintMapVertical.set(o,[]),t.dummyToNodeForHorizontalAlignment.has(o)?t.nodeToTempPositionMapVertical.set(o,t.idToNodeMap.get(t.dummyToNodeForHorizontalAlignment.get(o)[0]).getCenterY()):t.nodeToTempPositionMapVertical.set(o,t.idToNodeMap.get(o).getCenterY())),t.nodeToRelativeConstraintMapVertical.get(i).push({bottom:o,gap:e.gap}),t.nodeToRelativeConstraintMapVertical.get(o).push({top:i,gap:e.gap})}}));else{var h=new Map,f=new Map;this.constraints.relativePlacementConstraint.forEach((function(t){if(t.left){var e=a.has(t.left)?a.get(t.left):t.left,n=a.has(t.right)?a.get(t.right):t.right;h.has(e)?h.get(e).push(n):h.set(e,[n]),h.has(n)?h.get(n).push(e):h.set(n,[e])}else{var r=s.has(t.top)?s.get(t.top):t.top,i=s.has(t.bottom)?s.get(t.bottom):t.bottom;f.has(r)?f.get(r).push(i):f.set(r,[i]),f.has(i)?f.get(i).push(r):f.set(i,[r])}}));var d=function(t,e){var n=[],r=[],i=new w,o=new Set,a=0;return t.forEach((function(s,c){if(!o.has(c)){n[a]=[],r[a]=!1;var u=c;for(i.push(u),o.add(u),n[a].push(u);0!=i.length;)u=i.shift(),e.has(u)&&(r[a]=!0),t.get(u).forEach((function(t){o.has(t)||(i.push(t),o.add(t),n[a].push(t))}));a++}})),{components:n,isFixed:r}},p=d(h,t.fixedNodesOnHorizontal);this.componentsOnHorizontal=p.components,this.fixedComponentsOnHorizontal=p.isFixed;var g=d(f,t.fixedNodesOnVertical);this.componentsOnVertical=g.components,this.fixedComponentsOnVertical=g.isFixed}}},x.prototype.updateDisplacements=function(){var t=this;if(this.constraints.fixedNodeConstraint&&this.constraints.fixedNodeConstraint.forEach((function(e){var n=t.idToNodeMap.get(e.nodeId);n.displacementX=0,n.displacementY=0})),this.constraints.alignmentConstraint){if(this.constraints.alignmentConstraint.vertical)for(var e=this.constraints.alignmentConstraint.vertical,n=0;n1)for(s=0;sr&&(r=Math.floor(a.y)),o=Math.floor(a.x+c.DEFAULT_COMPONENT_SEPERATION)}this.transform(new d(h.WORLD_CENTER_X-a.x/2,h.WORLD_CENTER_Y-a.y/2))},x.radialLayout=function(t,e,n){var r=Math.max(this.maxDiagonalInTree(t),c.DEFAULT_RADIAL_SEPARATION);x.branchRadialLayout(e,null,0,359,0,r);var i=y.calculateBounds(t),o=new m;o.setDeviceOrgX(i.getMinX()),o.setDeviceOrgY(i.getMinY()),o.setWorldOrgX(n.x),o.setWorldOrgY(n.y);for(var a=0;a1;){var v=g[0];g.splice(0,1);var y=l.indexOf(v);y>=0&&l.splice(y,1),p--,h--}f=null!=e?(l.indexOf(g[0])+1)%p:0;for(var m=Math.abs(r-n)/h,w=f;d!=h;w=++w%p){var _=l[w].getOtherEnd(t);if(_!=e){var E=(n+d*m)%360,k=(E+m)%360;x.branchRadialLayout(_,t,E,k,i+o,o),d++}}},x.maxDiagonalInTree=function(t){for(var e=v.MIN_VALUE,n=0;ne&&(e=r)}return e},x.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},x.prototype.groupZeroDegreeMembers=function(){var t=this,e={};this.memberGroups={},this.idToDummyNode={};for(var n=[],r=this.graphManager.getAllNodes(),i=0;i1){var r="DummyCompound_"+n;t.memberGroups[r]=e[n];var i=e[n][0].getParent(),o=new a(t.graphManager);o.id=r,o.paddingLeft=i.paddingLeft||0,o.paddingRight=i.paddingRight||0,o.paddingBottom=i.paddingBottom||0,o.paddingTop=i.paddingTop||0,t.idToDummyNode[r]=o;var s=t.getGraphManager().add(t.newGraph(),o),c=i.getChild();c.add(o);for(var u=0;ui?(r.rect.x-=(r.labelWidth-i)/2,r.setWidth(r.labelWidth),r.labelMarginLeft=(r.labelWidth-i)/2):"right"==r.labelPosHorizontal&&r.setWidth(i+r.labelWidth)),r.labelHeight&&("top"==r.labelPosVertical?(r.rect.y-=r.labelHeight,r.setHeight(o+r.labelHeight),r.labelMarginTop=r.labelHeight):"center"==r.labelPosVertical&&r.labelHeight>o?(r.rect.y-=(r.labelHeight-o)/2,r.setHeight(r.labelHeight),r.labelMarginTop=(r.labelHeight-o)/2):"bottom"==r.labelPosVertical&&r.setHeight(o+r.labelHeight))}}))},x.prototype.repopulateCompounds=function(){for(var t=this.compoundOrder.length-1;t>=0;t--){var e=this.compoundOrder[t],n=e.id,r=e.paddingLeft,i=e.paddingTop,o=e.labelMarginLeft,a=e.labelMarginTop;this.adjustLocations(this.tiledMemberPack[n],e.rect.x,e.rect.y,r,i,o,a)}},x.prototype.repopulateZeroDegreeMembers=function(){var t=this,e=this.tiledZeroDegreePack;Object.keys(e).forEach((function(n){var r=t.idToDummyNode[n],i=r.paddingLeft,o=r.paddingTop,a=r.labelMarginLeft,s=r.labelMarginTop;t.adjustLocations(e[n],r.rect.x,r.rect.y,i,o,a,s)}))},x.prototype.getToBeTiled=function(t){var e=t.id;if(null!=this.toBeTiled[e])return this.toBeTiled[e];var n=t.getChild();if(null==n)return this.toBeTiled[e]=!1,!1;for(var r=n.getNodes(),i=0;i0)return this.toBeTiled[e]=!1,!1;if(null!=o.getChild()){if(!this.getToBeTiled(o))return this.toBeTiled[e]=!1,!1}else this.toBeTiled[o.id]=!1}return this.toBeTiled[e]=!0,!0},x.prototype.getNodeDegree=function(t){t.id;for(var e=t.getEdges(),n=0,r=0;rl&&(l=f.rect.height)}n+=l+t.verticalPadding}},x.prototype.tileCompoundMembers=function(t,e){var n=this;this.tiledMemberPack=[],Object.keys(t).forEach((function(r){var i=e[r];if(n.tiledMemberPack[r]=n.tileNodes(t[r],i.paddingLeft+i.paddingRight),i.rect.width=n.tiledMemberPack[r].width,i.rect.height=n.tiledMemberPack[r].height,i.setCenter(n.tiledMemberPack[r].centerX,n.tiledMemberPack[r].centerY),i.labelMarginLeft=0,i.labelMarginTop=0,c.NODE_DIMENSIONS_INCLUDE_LABELS){var o=i.rect.width,a=i.rect.height;i.labelWidth&&("left"==i.labelPosHorizontal?(i.rect.x-=i.labelWidth,i.setWidth(o+i.labelWidth),i.labelMarginLeft=i.labelWidth):"center"==i.labelPosHorizontal&&i.labelWidth>o?(i.rect.x-=(i.labelWidth-o)/2,i.setWidth(i.labelWidth),i.labelMarginLeft=(i.labelWidth-o)/2):"right"==i.labelPosHorizontal&&i.setWidth(o+i.labelWidth)),i.labelHeight&&("top"==i.labelPosVertical?(i.rect.y-=i.labelHeight,i.setHeight(a+i.labelHeight),i.labelMarginTop=i.labelHeight):"center"==i.labelPosVertical&&i.labelHeight>a?(i.rect.y-=(i.labelHeight-a)/2,i.setHeight(i.labelHeight),i.labelMarginTop=(i.labelHeight-a)/2):"bottom"==i.labelPosVertical&&i.setHeight(a+i.labelHeight))}}))},x.prototype.tileNodes=function(t,e){var n=this.tileNodesByFavoringDim(t,e,!0),r=this.tileNodesByFavoringDim(t,e,!1),i=this.getOrgRatio(n);return this.getOrgRatio(r)s&&(s=t.getWidth())}));var u,l=o/i,h=a/i,f=Math.pow(n-r,2)+4*(l+r)*(h+n)*i,d=(r-n+Math.sqrt(f))/(2*(l+r));e?(u=Math.ceil(d))==d&&u++:u=Math.floor(d);var p=u*(l+r)-r;return s>p&&(p=s),p+2*r},x.prototype.tileNodesByFavoringDim=function(t,e,n){var r=c.TILING_PADDING_VERTICAL,i=c.TILING_PADDING_HORIZONTAL,o=c.TILING_COMPARE_BY,a={rows:[],rowWidth:[],rowHeight:[],width:0,height:e,verticalPadding:r,horizontalPadding:i,centerX:0,centerY:0};o&&(a.idealRowWidth=this.calcIdealRowWidth(t,n));var s=function(t){return t.rect.width*t.rect.height},u=function(t,e){return s(e)-s(t)};t.sort((function(t,e){var n=u;return a.idealRowWidth?(n=o)(t.id,e.id):n(t,e)}));for(var l=0,h=0,f=0;f0&&(o+=t.horizontalPadding),t.rowWidth[n]=o,t.width0&&(a+=t.verticalPadding);var s=0;a>t.rowHeight[n]&&(s=t.rowHeight[n],t.rowHeight[n]=a,s=t.rowHeight[n]-s),t.height+=s,t.rows[n].push(e)},x.prototype.getShortestRowIndex=function(t){for(var e=-1,n=Number.MAX_VALUE,r=0;rn&&(e=r,n=t.rowWidth[r]);return e},x.prototype.canAddHorizontal=function(t,e,n){if(t.idealRowWidth){var r=t.rows.length-1;return t.rowWidth[r]+e+t.horizontalPadding<=t.idealRowWidth}var i=this.getShortestRowIndex(t);if(i<0)return!0;var o=t.rowWidth[i];if(o+t.horizontalPadding+e<=t.width)return!0;var a,s,c=0;return t.rowHeight[i]0&&(c=n+t.verticalPadding-t.rowHeight[i]),a=t.width-o>=e+t.horizontalPadding?(t.height+c)/(o+e+t.horizontalPadding):(t.height+c)/t.width,c=n+t.verticalPadding,(s=t.widtho&&e!=n){r.splice(-1,1),t.rows[n].push(i),t.rowWidth[e]=t.rowWidth[e]-o,t.rowWidth[n]=t.rowWidth[n]+o,t.width=t.rowWidth[instance.getLongestRowIndex(t)];for(var a=Number.MIN_VALUE,s=0;sa&&(a=r[s].height);e>0&&(a+=t.verticalPadding);var c=t.rowHeight[e]+t.rowHeight[n];t.rowHeight[e]=a,t.rowHeight[n]0)for(var h=i;h<=o;h++)u[0]+=this.grid[h][a-1].length+this.grid[h][a].length-1;if(o0)for(h=a;h<=s;h++)u[3]+=this.grid[i-1][h].length+this.grid[i][h].length-1;for(var f,d,p=v.MAX_VALUE,g=0;g{var r=n(551).FDLayoutNode,i=n(551).IMath;function o(t,e,n,i){r.call(this,t,e,n,i)}for(var a in o.prototype=Object.create(r.prototype),r)o[a]=r[a];o.prototype.calculateDisplacement=function(){var t=this.graphManager.getLayout();null!=this.getChild()&&this.fixedNodeWeight?(this.displacementX+=t.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.fixedNodeWeight,this.displacementY+=t.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.fixedNodeWeight):(this.displacementX+=t.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.noOfChildren,this.displacementY+=t.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.noOfChildren),Math.abs(this.displacementX)>t.coolingFactor*t.maxNodeDisplacement&&(this.displacementX=t.coolingFactor*t.maxNodeDisplacement*i.sign(this.displacementX)),Math.abs(this.displacementY)>t.coolingFactor*t.maxNodeDisplacement&&(this.displacementY=t.coolingFactor*t.maxNodeDisplacement*i.sign(this.displacementY)),this.child&&this.child.getNodes().length>0&&this.propogateDisplacementToChildren(this.displacementX,this.displacementY)},o.prototype.propogateDisplacementToChildren=function(t,e){for(var n,r=this.getChild().getNodes(),i=0;i{function r(t){if(Array.isArray(t)){for(var e=0,n=Array(t.length);e0){var o=0;r.forEach((function(t){"horizontal"==e?(h.set(t,c.has(t)?u[c.get(t)]:i.get(t)),o+=h.get(t)):(h.set(t,c.has(t)?l[c.get(t)]:i.get(t)),o+=h.get(t))})),o/=r.length,t.forEach((function(t){n.has(t)||h.set(t,o)}))}else{var a=0;t.forEach((function(t){a+="horizontal"==e?c.has(t)?u[c.get(t)]:i.get(t):c.has(t)?l[c.get(t)]:i.get(t)})),a/=t.length,t.forEach((function(t){h.set(t,a)}))}}));for(var p=function(){var r=d.shift();t.get(r).forEach((function(t){if(h.get(t.id)a&&(a=b),ms&&(s=m)}}catch(t){d=!0,p=t}finally{try{!f&&v.return&&v.return()}finally{if(d)throw p}}var w=(r+a)/2-(o+s)/2,x=!0,_=!1,E=void 0;try{for(var k,T=t[Symbol.iterator]();!(x=(k=T.next()).done);x=!0){var C=k.value;h.set(C,h.get(C)+w)}}catch(t){_=!0,E=t}finally{try{!x&&T.return&&T.return()}finally{if(_)throw E}}}))}return h},b=function(t){var e=0,n=0,r=0,i=0;if(t.forEach((function(t){t.left?u[c.get(t.left)]-u[c.get(t.right)]>=0?e++:n++:l[c.get(t.top)]-l[c.get(t.bottom)]>=0?r++:i++})),e>n&&r>i)for(var o=0;on)for(var a=0;ai)for(var s=0;s1)e.fixedNodeConstraint.forEach((function(t,e){x[e]=[t.position.x,t.position.y],_[e]=[u[c.get(t.nodeId)],l[c.get(t.nodeId)]]})),E=!0;else if(e.alignmentConstraint)!function(){var t=0;if(e.alignmentConstraint.vertical){for(var n=e.alignmentConstraint.vertical,i=function(e){var i=new Set;n[e].forEach((function(t){i.add(t)}));var o,a=new Set([].concat(r(i)).filter((function(t){return T.has(t)})));o=a.size>0?u[c.get(a.values().next().value)]:g(i).x,n[e].forEach((function(e){x[t]=[o,l[c.get(e)]],_[t]=[u[c.get(e)],l[c.get(e)]],t++}))},o=0;o0?u[c.get(o.values().next().value)]:g(n).y,a[e].forEach((function(e){x[t]=[u[c.get(e)],i],_[t]=[u[c.get(e)],l[c.get(e)]],t++}))},h=0;hS&&(S=A[L].length,O=L);if(S0){var X={x:0,y:0};e.fixedNodeConstraint.forEach((function(t,e){var n,r,i=(r={x:u[c.get(t.nodeId)],y:l[c.get(t.nodeId)]},{x:(n=t.position).x-r.x,y:n.y-r.y});X.x+=i.x,X.y+=i.y})),X.x/=e.fixedNodeConstraint.length,X.y/=e.fixedNodeConstraint.length,u.forEach((function(t,e){u[e]+=X.x})),l.forEach((function(t,e){l[e]+=X.y})),e.fixedNodeConstraint.forEach((function(t){u[c.get(t.nodeId)]=t.position.x,l[c.get(t.nodeId)]=t.position.y}))}if(e.alignmentConstraint){if(e.alignmentConstraint.vertical)for(var W=e.alignmentConstraint.vertical,$=function(t){var e=new Set;W[t].forEach((function(t){e.add(t)}));var n,i=new Set([].concat(r(e)).filter((function(t){return T.has(t)})));n=i.size>0?u[c.get(i.values().next().value)]:g(e).x,e.forEach((function(t){T.has(t)||(u[c.get(t)]=n)}))},Z=0;Z0?l[c.get(i.values().next().value)]:g(e).y,e.forEach((function(t){T.has(t)||(l[c.get(t)]=n)}))},J=0;J{e.exports=t}},n={},r=function t(r){var i=n[r];if(void 0!==i)return i.exports;var o=n[r]={exports:{}};return e[r](o,o.exports,t),o.exports}(45);return r})()},t.exports=r(n(3035))},3035:function(t){var e;e=function(){return function(t){var e={};function n(r){if(e[r])return e[r].exports;var i=e[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=t,n.c=e,n.i=function(t){return t},n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:r})},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=28)}([function(t,e,n){"use strict";function r(){}r.QUALITY=1,r.DEFAULT_CREATE_BENDS_AS_NEEDED=!1,r.DEFAULT_INCREMENTAL=!1,r.DEFAULT_ANIMATION_ON_LAYOUT=!0,r.DEFAULT_ANIMATION_DURING_LAYOUT=!1,r.DEFAULT_ANIMATION_PERIOD=50,r.DEFAULT_UNIFORM_LEAF_NODE_SIZES=!1,r.DEFAULT_GRAPH_MARGIN=15,r.NODE_DIMENSIONS_INCLUDE_LABELS=!1,r.SIMPLE_NODE_SIZE=40,r.SIMPLE_NODE_HALF_SIZE=r.SIMPLE_NODE_SIZE/2,r.EMPTY_COMPOUND_NODE_SIZE=40,r.MIN_EDGE_LENGTH=1,r.WORLD_BOUNDARY=1e6,r.INITIAL_WORLD_BOUNDARY=r.WORLD_BOUNDARY/1e3,r.WORLD_CENTER_X=1200,r.WORLD_CENTER_Y=900,t.exports=r},function(t,e,n){"use strict";var r=n(2),i=n(8),o=n(9);function a(t,e,n){r.call(this,n),this.isOverlapingSourceAndTarget=!1,this.vGraphObject=n,this.bendpoints=[],this.source=t,this.target=e}for(var s in a.prototype=Object.create(r.prototype),r)a[s]=r[s];a.prototype.getSource=function(){return this.source},a.prototype.getTarget=function(){return this.target},a.prototype.isInterGraph=function(){return this.isInterGraph},a.prototype.getLength=function(){return this.length},a.prototype.isOverlapingSourceAndTarget=function(){return this.isOverlapingSourceAndTarget},a.prototype.getBendpoints=function(){return this.bendpoints},a.prototype.getLca=function(){return this.lca},a.prototype.getSourceInLca=function(){return this.sourceInLca},a.prototype.getTargetInLca=function(){return this.targetInLca},a.prototype.getOtherEnd=function(t){if(this.source===t)return this.target;if(this.target===t)return this.source;throw"Node is not incident with this edge"},a.prototype.getOtherEndInGraph=function(t,e){for(var n=this.getOtherEnd(t),r=e.getGraphManager().getRoot();;){if(n.getOwner()==e)return n;if(n.getOwner()==r)break;n=n.getOwner().getParent()}return null},a.prototype.updateLength=function(){var t=new Array(4);this.isOverlapingSourceAndTarget=i.getIntersection(this.target.getRect(),this.source.getRect(),t),this.isOverlapingSourceAndTarget||(this.lengthX=t[0]-t[2],this.lengthY=t[1]-t[3],Math.abs(this.lengthX)<1&&(this.lengthX=o.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=o.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY))},a.prototype.updateLengthSimple=function(){this.lengthX=this.target.getCenterX()-this.source.getCenterX(),this.lengthY=this.target.getCenterY()-this.source.getCenterY(),Math.abs(this.lengthX)<1&&(this.lengthX=o.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=o.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY)},t.exports=a},function(t,e,n){"use strict";t.exports=function(t){this.vGraphObject=t}},function(t,e,n){"use strict";var r=n(2),i=n(10),o=n(13),a=n(0),s=n(16),c=n(5);function u(t,e,n,a){null==n&&null==a&&(a=e),r.call(this,a),null!=t.graphManager&&(t=t.graphManager),this.estimatedSize=i.MIN_VALUE,this.inclusionTreeDepth=i.MAX_VALUE,this.vGraphObject=a,this.edges=[],this.graphManager=t,this.rect=null!=n&&null!=e?new o(e.x,e.y,n.width,n.height):new o}for(var l in u.prototype=Object.create(r.prototype),r)u[l]=r[l];u.prototype.getEdges=function(){return this.edges},u.prototype.getChild=function(){return this.child},u.prototype.getOwner=function(){return this.owner},u.prototype.getWidth=function(){return this.rect.width},u.prototype.setWidth=function(t){this.rect.width=t},u.prototype.getHeight=function(){return this.rect.height},u.prototype.setHeight=function(t){this.rect.height=t},u.prototype.getCenterX=function(){return this.rect.x+this.rect.width/2},u.prototype.getCenterY=function(){return this.rect.y+this.rect.height/2},u.prototype.getCenter=function(){return new c(this.rect.x+this.rect.width/2,this.rect.y+this.rect.height/2)},u.prototype.getLocation=function(){return new c(this.rect.x,this.rect.y)},u.prototype.getRect=function(){return this.rect},u.prototype.getDiagonal=function(){return Math.sqrt(this.rect.width*this.rect.width+this.rect.height*this.rect.height)},u.prototype.getHalfTheDiagonal=function(){return Math.sqrt(this.rect.height*this.rect.height+this.rect.width*this.rect.width)/2},u.prototype.setRect=function(t,e){this.rect.x=t.x,this.rect.y=t.y,this.rect.width=e.width,this.rect.height=e.height},u.prototype.setCenter=function(t,e){this.rect.x=t-this.rect.width/2,this.rect.y=e-this.rect.height/2},u.prototype.setLocation=function(t,e){this.rect.x=t,this.rect.y=e},u.prototype.moveBy=function(t,e){this.rect.x+=t,this.rect.y+=e},u.prototype.getEdgeListToNode=function(t){var e=[],n=this;return n.edges.forEach((function(r){if(r.target==t){if(r.source!=n)throw"Incorrect edge source!";e.push(r)}})),e},u.prototype.getEdgesBetween=function(t){var e=[],n=this;return n.edges.forEach((function(r){if(r.source!=n&&r.target!=n)throw"Incorrect edge source and/or target";r.target!=t&&r.source!=t||e.push(r)})),e},u.prototype.getNeighborsList=function(){var t=new Set,e=this;return e.edges.forEach((function(n){if(n.source==e)t.add(n.target);else{if(n.target!=e)throw"Incorrect incidency!";t.add(n.source)}})),t},u.prototype.withChildren=function(){var t=new Set;if(t.add(this),null!=this.child)for(var e=this.child.getNodes(),n=0;ne?(this.rect.x-=(this.labelWidth-e)/2,this.setWidth(this.labelWidth)):"right"==this.labelPosHorizontal&&this.setWidth(e+this.labelWidth)),this.labelHeight&&("top"==this.labelPosVertical?(this.rect.y-=this.labelHeight,this.setHeight(n+this.labelHeight)):"center"==this.labelPosVertical&&this.labelHeight>n?(this.rect.y-=(this.labelHeight-n)/2,this.setHeight(this.labelHeight)):"bottom"==this.labelPosVertical&&this.setHeight(n+this.labelHeight))}}},u.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==i.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},u.prototype.transform=function(t){var e=this.rect.x;e>a.WORLD_BOUNDARY?e=a.WORLD_BOUNDARY:e<-a.WORLD_BOUNDARY&&(e=-a.WORLD_BOUNDARY);var n=this.rect.y;n>a.WORLD_BOUNDARY?n=a.WORLD_BOUNDARY:n<-a.WORLD_BOUNDARY&&(n=-a.WORLD_BOUNDARY);var r=new c(e,n),i=t.inverseTransformPoint(r);this.setLocation(i.x,i.y)},u.prototype.getLeft=function(){return this.rect.x},u.prototype.getRight=function(){return this.rect.x+this.rect.width},u.prototype.getTop=function(){return this.rect.y},u.prototype.getBottom=function(){return this.rect.y+this.rect.height},u.prototype.getParent=function(){return null==this.owner?null:this.owner.getParent()},t.exports=u},function(t,e,n){"use strict";var r=n(0);function i(){}for(var o in r)i[o]=r[o];i.MAX_ITERATIONS=2500,i.DEFAULT_EDGE_LENGTH=50,i.DEFAULT_SPRING_STRENGTH=.45,i.DEFAULT_REPULSION_STRENGTH=4500,i.DEFAULT_GRAVITY_STRENGTH=.4,i.DEFAULT_COMPOUND_GRAVITY_STRENGTH=1,i.DEFAULT_GRAVITY_RANGE_FACTOR=3.8,i.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=1.5,i.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION=!0,i.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION=!0,i.DEFAULT_COOLING_FACTOR_INCREMENTAL=.3,i.COOLING_ADAPTATION_FACTOR=.33,i.ADAPTATION_LOWER_NODE_LIMIT=1e3,i.ADAPTATION_UPPER_NODE_LIMIT=5e3,i.MAX_NODE_DISPLACEMENT_INCREMENTAL=100,i.MAX_NODE_DISPLACEMENT=3*i.MAX_NODE_DISPLACEMENT_INCREMENTAL,i.MIN_REPULSION_DIST=i.DEFAULT_EDGE_LENGTH/10,i.CONVERGENCE_CHECK_PERIOD=100,i.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=.1,i.MIN_EDGE_LENGTH=1,i.GRID_CALCULATION_CHECK_PERIOD=10,t.exports=i},function(t,e,n){"use strict";function r(t,e){null==t&&null==e?(this.x=0,this.y=0):(this.x=t,this.y=e)}r.prototype.getX=function(){return this.x},r.prototype.getY=function(){return this.y},r.prototype.setX=function(t){this.x=t},r.prototype.setY=function(t){this.y=t},r.prototype.getDifference=function(t){return new DimensionD(this.x-t.x,this.y-t.y)},r.prototype.getCopy=function(){return new r(this.x,this.y)},r.prototype.translate=function(t){return this.x+=t.width,this.y+=t.height,this},t.exports=r},function(t,e,n){"use strict";var r=n(2),i=n(10),o=n(0),a=n(7),s=n(3),c=n(1),u=n(13),l=n(12),h=n(11);function f(t,e,n){r.call(this,n),this.estimatedSize=i.MIN_VALUE,this.margin=o.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=t,null!=e&&e instanceof a?this.graphManager=e:null!=e&&e instanceof Layout&&(this.graphManager=e.graphManager)}for(var d in f.prototype=Object.create(r.prototype),r)f[d]=r[d];f.prototype.getNodes=function(){return this.nodes},f.prototype.getEdges=function(){return this.edges},f.prototype.getGraphManager=function(){return this.graphManager},f.prototype.getParent=function(){return this.parent},f.prototype.getLeft=function(){return this.left},f.prototype.getRight=function(){return this.right},f.prototype.getTop=function(){return this.top},f.prototype.getBottom=function(){return this.bottom},f.prototype.isConnected=function(){return this.isConnected},f.prototype.add=function(t,e,n){if(null==e&&null==n){var r=t;if(null==this.graphManager)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(r)>-1)throw"Node already in graph!";return r.owner=this,this.getNodes().push(r),r}var i=t;if(!(this.getNodes().indexOf(e)>-1&&this.getNodes().indexOf(n)>-1))throw"Source or target not in graph!";if(e.owner!=n.owner||e.owner!=this)throw"Both owners must be this graph!";return e.owner!=n.owner?null:(i.source=e,i.target=n,i.isInterGraph=!1,this.getEdges().push(i),e.edges.push(i),n!=e&&n.edges.push(i),i)},f.prototype.remove=function(t){var e=t;if(t instanceof s){if(null==e)throw"Node is null!";if(null==e.owner||e.owner!=this)throw"Owner graph is invalid!";if(null==this.graphManager)throw"Owner graph manager is invalid!";for(var n=e.edges.slice(),r=n.length,i=0;i-1&&l>-1))throw"Source and/or target doesn't know this edge!";if(o.source.edges.splice(u,1),o.target!=o.source&&o.target.edges.splice(l,1),-1==(a=o.source.owner.getEdges().indexOf(o)))throw"Not in owner's edge list!";o.source.owner.getEdges().splice(a,1)}},f.prototype.updateLeftTop=function(){for(var t,e,n,r=i.MAX_VALUE,o=i.MAX_VALUE,a=this.getNodes(),s=a.length,c=0;c(t=u.getTop())&&(r=t),o>(e=u.getLeft())&&(o=e)}return r==i.MAX_VALUE?null:(n=null!=a[0].getParent().paddingLeft?a[0].getParent().paddingLeft:this.margin,this.left=o-n,this.top=r-n,new l(this.left,this.top))},f.prototype.updateBounds=function(t){for(var e,n,r,o,a,s=i.MAX_VALUE,c=-i.MAX_VALUE,l=i.MAX_VALUE,h=-i.MAX_VALUE,f=this.nodes,d=f.length,p=0;p(e=g.getLeft())&&(s=e),c<(n=g.getRight())&&(c=n),l>(r=g.getTop())&&(l=r),h<(o=g.getBottom())&&(h=o)}var v=new u(s,l,c-s,h-l);s==i.MAX_VALUE&&(this.left=this.parent.getLeft(),this.right=this.parent.getRight(),this.top=this.parent.getTop(),this.bottom=this.parent.getBottom()),a=null!=f[0].getParent().paddingLeft?f[0].getParent().paddingLeft:this.margin,this.left=v.x-a,this.right=v.x+v.width+a,this.top=v.y-a,this.bottom=v.y+v.height+a},f.calculateBounds=function(t){for(var e,n,r,o,a=i.MAX_VALUE,s=-i.MAX_VALUE,c=i.MAX_VALUE,l=-i.MAX_VALUE,h=t.length,f=0;f(e=d.getLeft())&&(a=e),s<(n=d.getRight())&&(s=n),c>(r=d.getTop())&&(c=r),l<(o=d.getBottom())&&(l=o)}return new u(a,c,s-a,l-c)},f.prototype.getInclusionTreeDepth=function(){return this==this.graphManager.getRoot()?1:this.parent.getInclusionTreeDepth()},f.prototype.getEstimatedSize=function(){if(this.estimatedSize==i.MIN_VALUE)throw"assert failed";return this.estimatedSize},f.prototype.calcEstimatedSize=function(){for(var t=0,e=this.nodes,n=e.length,r=0;r=this.nodes.length){var c=0;i.forEach((function(e){e.owner==t&&c++})),c==this.nodes.length&&(this.isConnected=!0)}}else this.isConnected=!0},t.exports=f},function(t,e,n){"use strict";var r,i=n(1);function o(t){r=n(6),this.layout=t,this.graphs=[],this.edges=[]}o.prototype.addRoot=function(){var t=this.layout.newGraph(),e=this.layout.newNode(null),n=this.add(t,e);return this.setRootGraph(n),this.rootGraph},o.prototype.add=function(t,e,n,r,i){if(null==n&&null==r&&null==i){if(null==t)throw"Graph is null!";if(null==e)throw"Parent node is null!";if(this.graphs.indexOf(t)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(t),null!=t.parent)throw"Already has a parent!";if(null!=e.child)throw"Already has a child!";return t.parent=e,e.child=t,t}i=n,n=t;var o=(r=e).getOwner(),a=i.getOwner();if(null==o||o.getGraphManager()!=this)throw"Source not in this graph mgr!";if(null==a||a.getGraphManager()!=this)throw"Target not in this graph mgr!";if(o==a)return n.isInterGraph=!1,o.add(n,r,i);if(n.isInterGraph=!0,n.source=r,n.target=i,this.edges.indexOf(n)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(n),null==n.source||null==n.target)throw"Edge source and/or target is null!";if(-1!=n.source.edges.indexOf(n)||-1!=n.target.edges.indexOf(n))throw"Edge already in source and/or target incidency list!";return n.source.edges.push(n),n.target.edges.push(n),n},o.prototype.remove=function(t){if(t instanceof r){var e=t;if(e.getGraphManager()!=this)throw"Graph not in this graph mgr";if(e!=this.rootGraph&&(null==e.parent||e.parent.graphManager!=this))throw"Invalid parent node!";for(var n,o=[],a=(o=o.concat(e.getEdges())).length,s=0;s=e.getRight()?n[0]+=Math.min(e.getX()-t.getX(),t.getRight()-e.getRight()):e.getX()<=t.getX()&&e.getRight()>=t.getRight()&&(n[0]+=Math.min(t.getX()-e.getX(),e.getRight()-t.getRight())),t.getY()<=e.getY()&&t.getBottom()>=e.getBottom()?n[1]+=Math.min(e.getY()-t.getY(),t.getBottom()-e.getBottom()):e.getY()<=t.getY()&&e.getBottom()>=t.getBottom()&&(n[1]+=Math.min(t.getY()-e.getY(),e.getBottom()-t.getBottom()));var o=Math.abs((e.getCenterY()-t.getCenterY())/(e.getCenterX()-t.getCenterX()));e.getCenterY()===t.getCenterY()&&e.getCenterX()===t.getCenterX()&&(o=1);var a=o*n[0],s=n[1]/o;n[0]a)return n[0]=r,n[1]=c,n[2]=o,n[3]=m,!1;if(io)return n[0]=s,n[1]=i,n[2]=b,n[3]=a,!1;if(ro?(n[0]=l,n[1]=h,E=!0):(n[0]=u,n[1]=c,E=!0):T===N&&(r>o?(n[0]=s,n[1]=c,E=!0):(n[0]=f,n[1]=h,E=!0)),-C===N?o>r?(n[2]=y,n[3]=m,k=!0):(n[2]=b,n[3]=v,k=!0):C===N&&(o>r?(n[2]=g,n[3]=v,k=!0):(n[2]=w,n[3]=m,k=!0)),E&&k)return!1;if(r>o?i>a?(A=this.getCardinalDirection(T,N,4),S=this.getCardinalDirection(C,N,2)):(A=this.getCardinalDirection(-T,N,3),S=this.getCardinalDirection(-C,N,1)):i>a?(A=this.getCardinalDirection(-T,N,1),S=this.getCardinalDirection(-C,N,3)):(A=this.getCardinalDirection(T,N,2),S=this.getCardinalDirection(C,N,4)),!E)switch(A){case 1:L=c,O=r+-p/N,n[0]=O,n[1]=L;break;case 2:O=f,L=i+d*N,n[0]=O,n[1]=L;break;case 3:L=h,O=r+p/N,n[0]=O,n[1]=L;break;case 4:O=l,L=i+-d*N,n[0]=O,n[1]=L}if(!k)switch(S){case 1:M=v,I=o+-_/N,n[2]=I,n[3]=M;break;case 2:I=w,M=a+x*N,n[2]=I,n[3]=M;break;case 3:M=m,I=o+_/N,n[2]=I,n[3]=M;break;case 4:I=y,M=a+-x*N,n[2]=I,n[3]=M}}return!1},i.getCardinalDirection=function(t,e,n){return t>e?n:1+n%4},i.getIntersection=function(t,e,n,i){if(null==i)return this.getIntersection2(t,e,n);var o,a,s,c,u,l,h,f=t.x,d=t.y,p=e.x,g=e.y,v=n.x,b=n.y,y=i.x,m=i.y;return 0==(h=(o=g-d)*(c=v-y)-(a=m-b)*(s=f-p))?null:new r((s*(l=y*b-v*m)-c*(u=p*d-f*g))/h,(a*u-o*l)/h)},i.angleOfVector=function(t,e,n,r){var i=void 0;return t!==n?(i=Math.atan((r-e)/(n-t)),n=0){var l=(-c+Math.sqrt(c*c-4*s*u))/(2*s),h=(-c-Math.sqrt(c*c-4*s*u))/(2*s);return l>=0&&l<=1?[l]:h>=0&&h<=1?[h]:null}return null},i.HALF_PI=.5*Math.PI,i.ONE_AND_HALF_PI=1.5*Math.PI,i.TWO_PI=2*Math.PI,i.THREE_PI=3*Math.PI,t.exports=i},function(t,e,n){"use strict";function r(){}r.sign=function(t){return t>0?1:t<0?-1:0},r.floor=function(t){return t<0?Math.ceil(t):Math.floor(t)},r.ceil=function(t){return t<0?Math.floor(t):Math.ceil(t)},t.exports=r},function(t,e,n){"use strict";function r(){}r.MAX_VALUE=2147483647,r.MIN_VALUE=-2147483648,t.exports=r},function(t,e,n){"use strict";var r=function(){function t(t,e){for(var n=0;n0&&e;){for(s.push(u[0]);s.length>0&&e;){var l=s[0];s.splice(0,1),a.add(l);var h=l.getEdges();for(o=0;o-1&&u.splice(g,1)}a=new Set,c=new Map}else t=[]}return t},f.prototype.createDummyNodesForBendpoints=function(t){for(var e=[],n=t.source,r=this.graphManager.calcLowestCommonAncestor(t.source,t.target),i=0;i0){for(var i=this.edgeToDummyNodes.get(n),o=0;o=0&&e.splice(h,1),l.getNeighborsList().forEach((function(t){if(n.indexOf(t)<0){var e=r.get(t)-1;1==e&&c.push(t),r.set(t,e)}}))}n=n.concat(c),1!=e.length&&2!=e.length||(i=!0,o=e[0])}return o},f.prototype.setGraphManager=function(t){this.graphManager=t},t.exports=f},function(t,e,n){"use strict";function r(){}r.seed=1,r.x=0,r.nextDouble=function(){return r.x=1e4*Math.sin(r.seed++),r.x-Math.floor(r.x)},t.exports=r},function(t,e,n){"use strict";var r=n(5);function i(t,e){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}i.prototype.getWorldOrgX=function(){return this.lworldOrgX},i.prototype.setWorldOrgX=function(t){this.lworldOrgX=t},i.prototype.getWorldOrgY=function(){return this.lworldOrgY},i.prototype.setWorldOrgY=function(t){this.lworldOrgY=t},i.prototype.getWorldExtX=function(){return this.lworldExtX},i.prototype.setWorldExtX=function(t){this.lworldExtX=t},i.prototype.getWorldExtY=function(){return this.lworldExtY},i.prototype.setWorldExtY=function(t){this.lworldExtY=t},i.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},i.prototype.setDeviceOrgX=function(t){this.ldeviceOrgX=t},i.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},i.prototype.setDeviceOrgY=function(t){this.ldeviceOrgY=t},i.prototype.getDeviceExtX=function(){return this.ldeviceExtX},i.prototype.setDeviceExtX=function(t){this.ldeviceExtX=t},i.prototype.getDeviceExtY=function(){return this.ldeviceExtY},i.prototype.setDeviceExtY=function(t){this.ldeviceExtY=t},i.prototype.transformX=function(t){var e=0,n=this.lworldExtX;return 0!=n&&(e=this.ldeviceOrgX+(t-this.lworldOrgX)*this.ldeviceExtX/n),e},i.prototype.transformY=function(t){var e=0,n=this.lworldExtY;return 0!=n&&(e=this.ldeviceOrgY+(t-this.lworldOrgY)*this.ldeviceExtY/n),e},i.prototype.inverseTransformX=function(t){var e=0,n=this.ldeviceExtX;return 0!=n&&(e=this.lworldOrgX+(t-this.ldeviceOrgX)*this.lworldExtX/n),e},i.prototype.inverseTransformY=function(t){var e=0,n=this.ldeviceExtY;return 0!=n&&(e=this.lworldOrgY+(t-this.ldeviceOrgY)*this.lworldExtY/n),e},i.prototype.inverseTransformPoint=function(t){return new r(this.inverseTransformX(t.x),this.inverseTransformY(t.y))},t.exports=i},function(t,e,n){"use strict";var r=n(15),i=n(4),o=n(0),a=n(8),s=n(9);function c(){r.call(this),this.useSmartIdealEdgeLengthCalculation=i.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION,this.gravityConstant=i.DEFAULT_GRAVITY_STRENGTH,this.compoundGravityConstant=i.DEFAULT_COMPOUND_GRAVITY_STRENGTH,this.gravityRangeFactor=i.DEFAULT_GRAVITY_RANGE_FACTOR,this.compoundGravityRangeFactor=i.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR,this.displacementThresholdPerNode=3*i.DEFAULT_EDGE_LENGTH/100,this.coolingFactor=i.DEFAULT_COOLING_FACTOR_INCREMENTAL,this.initialCoolingFactor=i.DEFAULT_COOLING_FACTOR_INCREMENTAL,this.totalDisplacement=0,this.oldTotalDisplacement=0,this.maxIterations=i.MAX_ITERATIONS}for(var u in c.prototype=Object.create(r.prototype),r)c[u]=r[u];c.prototype.initParameters=function(){r.prototype.initParameters.call(this,arguments),this.totalIterations=0,this.notAnimatedIterations=0,this.useFRGridVariant=i.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION,this.grid=[]},c.prototype.calcIdealEdgeLengths=function(){for(var t,e,n,r,a,s,c,u=this.getGraphManager().getAllEdges(),l=0;li.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*i.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(t-i.ADAPTATION_LOWER_NODE_LIMIT)/(i.ADAPTATION_UPPER_NODE_LIMIT-i.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-i.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=i.MAX_NODE_DISPLACEMENT_INCREMENTAL):(t>i.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(i.COOLING_ADAPTATION_FACTOR,1-(t-i.ADAPTATION_LOWER_NODE_LIMIT)/(i.ADAPTATION_UPPER_NODE_LIMIT-i.ADAPTATION_LOWER_NODE_LIMIT)*(1-i.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=i.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(5*this.getAllNodes().length,this.maxIterations),this.displacementThresholdPerNode=3*i.DEFAULT_EDGE_LENGTH/100,this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},c.prototype.calcSpringForces=function(){for(var t,e=this.getAllEdges(),n=0;n0&&void 0!==arguments[0])||arguments[0],s=arguments.length>1&&void 0!==arguments[1]&&arguments[1],c=this.getAllNodes();if(this.useFRGridVariant)for(this.totalIterations%i.GRID_CALCULATION_CHECK_PERIOD==1&&a&&this.updateGrid(),o=new Set,t=0;t(c=e.getEstimatedSize()*this.gravityRangeFactor)||s>c)&&(t.gravitationForceX=-this.gravityConstant*i,t.gravitationForceY=-this.gravityConstant*o):(a>(c=e.getEstimatedSize()*this.compoundGravityRangeFactor)||s>c)&&(t.gravitationForceX=-this.gravityConstant*i*this.compoundGravityConstant,t.gravitationForceY=-this.gravityConstant*o*this.compoundGravityConstant)},c.prototype.isConverged=function(){var t,e=!1;return this.totalIterations>this.maxIterations/3&&(e=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2),t=this.totalDisplacement=s.length||u>=s[0].length))for(var l=0;lt}}]),t}();t.exports=o},function(t,e,n){"use strict";function r(){}r.svd=function(t){this.U=null,this.V=null,this.s=null,this.m=0,this.n=0,this.m=t.length,this.n=t[0].length;var e=Math.min(this.m,this.n);this.s=function(t){for(var e=[];t-- >0;)e.push(0);return e}(Math.min(this.m+1,this.n)),this.U=function t(e){if(0==e.length)return 0;for(var n=[],r=0;r0;)e.push(0);return e}(this.n),a=function(t){for(var e=[];t-- >0;)e.push(0);return e}(this.m),s=Math.min(this.m-1,this.n),c=Math.max(0,Math.min(this.n-2,this.m)),u=0;u=0;S--)if(0!==this.s[S]){for(var O=S+1;O=0;j--){if(function(t,e){return t&&e}(j0;){var q=void 0,X=void 0;for(q=C-2;q>=-1&&-1!==q;q--)if(Math.abs(o[q])<=V+U*(Math.abs(this.s[q])+Math.abs(this.s[q+1]))){o[q]=0;break}if(q===C-2)X=4;else{var W=void 0;for(W=C-1;W>=q&&W!==q;W--){var $=(W!==C?Math.abs(o[W]):0)+(W!==q+1?Math.abs(o[W-1]):0);if(Math.abs(this.s[W])<=V+U*$){this.s[W]=0;break}}W===q?X=3:W===C-1?X=1:(X=2,q=W)}switch(q++,X){case 1:var Z=o[C-2];o[C-2]=0;for(var K=C-2;K>=q;K--){var Q=r.hypot(this.s[K],Z),J=this.s[K]/Q,tt=Z/Q;this.s[K]=Q,K!==q&&(Z=-tt*o[K-1],o[K-1]=J*o[K-1]);for(var et=0;et=this.s[q+1]);){var Ct=this.s[q];if(this.s[q]=this.s[q+1],this.s[q+1]=Ct,qMath.abs(e)?(n=e/t,n=Math.abs(t)*Math.sqrt(1+n*n)):0!=e?(n=t/e,n=Math.abs(e)*Math.sqrt(1+n*n)):n=0,n},t.exports=r},function(t,e,n){"use strict";var r=function(){function t(t,e){for(var n=0;n2&&void 0!==arguments[2]?arguments[2]:1,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:-1,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:-1;!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.sequence1=e,this.sequence2=n,this.match_score=r,this.mismatch_penalty=i,this.gap_penalty=o,this.iMax=e.length+1,this.jMax=n.length+1,this.grid=new Array(this.iMax);for(var a=0;a=0;n--){var r=this.listeners[n];r.event===t&&r.callback===e&&this.listeners.splice(n,1)}},i.emit=function(t,e){for(var n=0;n1?e-1:0),r=1;r=0;m--){var w=a[m].id(),x=a[m].position();e.randomize&&(x={x:Math.round(d.x1+(d.x2-d.x1)*Math.random()),y:Math.round(d.y1+(d.y2-d.y1)*Math.random())}),y.vertices.push({id:w,x:x.x,y:x.y})}for(m=s.length-1;m>=0;m--){var _=s[m].source().id(),E=s[m].target().id();y.edges.push({src:_,tgt:E})}var k=t.thread;function T(t){for(var r=t.vertices,i=[],o=0;o=C||A>=4)&&(S>=s?N=!0:(y={xl:0,xr:n+=n*a,yt:0,yb:r+=r*a},++S,A=0)),C=M,c(),u()}return c(),t})).then((function(n){var r=n.vertices;T(n);var i=n.startTime,o=new Date;console.info("Layout on "+r.length+" nodes took "+(o-i)+" ms"),t.one("layoutstop",e.stop),e.animate||t.trigger("layoutready"),t.trigger("layoutstop"),k.stop()}))}return this},a.prototype.stop=function(){this.thread&&this.thread.stop(),this.trigger("layoutstop")},a.prototype.destroy=function(){this.thread&&this.thread.stop()},t.exports=a},function(t,e,n){"use strict";var r=n(0),i=function(t){t("layout","spread",r)};"undefined"!=typeof cytoscape&&i(cytoscape),t.exports=i},function(t,e){function n(){this.vertices=null,this.edges=null,this.cells=null,this.toRecycle=null,this.beachsectionJunkyard=[],this.circleEventJunkyard=[],this.vertexJunkyard=[],this.edgeJunkyard=[],this.cellJunkyard=[]}n.prototype.reset=function(){if(this.beachline||(this.beachline=new this.RBTree),this.beachline.root)for(var t=this.beachline.getFirst(this.beachline.root);t;)this.beachsectionJunkyard.push(t),t=t.rbNext;this.beachline.root=null,this.circleEvents||(this.circleEvents=new this.RBTree),this.circleEvents.root=this.firstCircleEvent=null,this.vertices=[],this.edges=[],this.cells=[]},n.prototype.sqrt=function(t){return Math.sqrt(t)},n.prototype.abs=function(t){return Math.abs(t)},n.prototype.ε=n.ε=1e-9,n.prototype.invε=n.invε=1/n.ε,n.prototype.equalWithEpsilon=function(t,e){return this.abs(t-e)<1e-9},n.prototype.greaterThanWithEpsilon=function(t,e){return t-e>1e-9},n.prototype.greaterThanOrEqualWithEpsilon=function(t,e){return e-t<1e-9},n.prototype.lessThanWithEpsilon=function(t,e){return e-t>1e-9},n.prototype.lessThanOrEqualWithEpsilon=function(t,e){return t-e<1e-9},n.prototype.RBTree=function(){this.root=null},n.prototype.RBTree.prototype.rbInsertSuccessor=function(t,e){var n,r,i;if(t){if(e.rbPrevious=t,e.rbNext=t.rbNext,t.rbNext&&(t.rbNext.rbPrevious=e),t.rbNext=e,t.rbRight){for(t=t.rbRight;t.rbLeft;)t=t.rbLeft;t.rbLeft=e}else t.rbRight=e;n=t}else this.root?(t=this.getFirst(this.root),e.rbPrevious=null,e.rbNext=t,t.rbPrevious=e,t.rbLeft=e,n=t):(e.rbPrevious=e.rbNext=null,this.root=e,n=null);for(e.rbLeft=e.rbRight=null,e.rbParent=n,e.rbRed=!0,t=e;n&&n.rbRed;)n===(r=n.rbParent).rbLeft?(i=r.rbRight)&&i.rbRed?(n.rbRed=i.rbRed=!1,r.rbRed=!0,t=r):(t===n.rbRight&&(this.rbRotateLeft(n),n=(t=n).rbParent),n.rbRed=!1,r.rbRed=!0,this.rbRotateRight(r)):(i=r.rbLeft)&&i.rbRed?(n.rbRed=i.rbRed=!1,r.rbRed=!0,t=r):(t===n.rbLeft&&(this.rbRotateRight(n),n=(t=n).rbParent),n.rbRed=!1,r.rbRed=!0,this.rbRotateLeft(r)),n=t.rbParent;this.root.rbRed=!1},n.prototype.RBTree.prototype.rbRemoveNode=function(t){t.rbNext&&(t.rbNext.rbPrevious=t.rbPrevious),t.rbPrevious&&(t.rbPrevious.rbNext=t.rbNext),t.rbNext=t.rbPrevious=null;var e,n,r=t.rbParent,i=t.rbLeft,o=t.rbRight;if(e=i?o?this.getFirst(o):i:o,r?r.rbLeft===t?r.rbLeft=e:r.rbRight=e:this.root=e,i&&o?(n=e.rbRed,e.rbRed=t.rbRed,e.rbLeft=i,i.rbParent=e,e!==o?(r=e.rbParent,e.rbParent=t.rbParent,t=e.rbRight,r.rbLeft=t,e.rbRight=o,o.rbParent=e):(e.rbParent=r,r=e,t=e.rbRight)):(n=t.rbRed,t=e),t&&(t.rbParent=r),!n)if(t&&t.rbRed)t.rbRed=!1;else{var a;do{if(t===this.root)break;if(t===r.rbLeft){if((a=r.rbRight).rbRed&&(a.rbRed=!1,r.rbRed=!0,this.rbRotateLeft(r),a=r.rbRight),a.rbLeft&&a.rbLeft.rbRed||a.rbRight&&a.rbRight.rbRed){a.rbRight&&a.rbRight.rbRed||(a.rbLeft.rbRed=!1,a.rbRed=!0,this.rbRotateRight(a),a=r.rbRight),a.rbRed=r.rbRed,r.rbRed=a.rbRight.rbRed=!1,this.rbRotateLeft(r),t=this.root;break}}else if((a=r.rbLeft).rbRed&&(a.rbRed=!1,r.rbRed=!0,this.rbRotateRight(r),a=r.rbLeft),a.rbLeft&&a.rbLeft.rbRed||a.rbRight&&a.rbRight.rbRed){a.rbLeft&&a.rbLeft.rbRed||(a.rbRight.rbRed=!1,a.rbRed=!0,this.rbRotateLeft(a),a=r.rbLeft),a.rbRed=r.rbRed,r.rbRed=a.rbLeft.rbRed=!1,this.rbRotateRight(r),t=this.root;break}a.rbRed=!0,t=r,r=r.rbParent}while(!t.rbRed);t&&(t.rbRed=!1)}},n.prototype.RBTree.prototype.rbRotateLeft=function(t){var e=t,n=t.rbRight,r=e.rbParent;r?r.rbLeft===e?r.rbLeft=n:r.rbRight=n:this.root=n,n.rbParent=r,e.rbParent=n,e.rbRight=n.rbLeft,e.rbRight&&(e.rbRight.rbParent=e),n.rbLeft=e},n.prototype.RBTree.prototype.rbRotateRight=function(t){var e=t,n=t.rbLeft,r=e.rbParent;r?r.rbLeft===e?r.rbLeft=n:r.rbRight=n:this.root=n,n.rbParent=r,e.rbParent=n,e.rbLeft=n.rbRight,e.rbLeft&&(e.rbLeft.rbParent=e),n.rbRight=e},n.prototype.RBTree.prototype.getFirst=function(t){for(;t.rbLeft;)t=t.rbLeft;return t},n.prototype.RBTree.prototype.getLast=function(t){for(;t.rbRight;)t=t.rbRight;return t},n.prototype.Diagram=function(t){this.site=t},n.prototype.Cell=function(t){this.site=t,this.halfedges=[],this.closeMe=!1},n.prototype.Cell.prototype.init=function(t){return this.site=t,this.halfedges=[],this.closeMe=!1,this},n.prototype.createCell=function(t){var e=this.cellJunkyard.pop();return e?e.init(t):new this.Cell(t)},n.prototype.Cell.prototype.prepareHalfedges=function(){for(var t,e=this.halfedges,n=e.length;n--;)(t=e[n].edge).vb&&t.va||e.splice(n,1);return e.sort((function(t,e){return e.angle-t.angle})),e.length},n.prototype.Cell.prototype.getNeighborIds=function(){for(var t,e=[],n=this.halfedges.length;n--;)null!==(t=this.halfedges[n].edge).lSite&&t.lSite.voronoiId!=this.site.voronoiId?e.push(t.lSite.voronoiId):null!==t.rSite&&t.rSite.voronoiId!=this.site.voronoiId&&e.push(t.rSite.voronoiId);return e},n.prototype.Cell.prototype.getBbox=function(){for(var t,e,n,r=this.halfedges,i=r.length,o=1/0,a=1/0,s=-1/0,c=-1/0;i--;)(e=(t=r[i].getStartpoint()).x)s&&(s=e),n>c&&(c=n);return{x:o,y:a,width:s-o,height:c-a}},n.prototype.Cell.prototype.pointIntersection=function(t,e){for(var n,r,i,o,a=this.halfedges,s=a.length;s--;){if(r=(n=a[s]).getStartpoint(),i=n.getEndpoint(),!(o=(e-r.y)*(i.x-r.x)-(t-r.x)*(i.y-r.y)))return 0;if(o>0)return-1}return 1},n.prototype.Vertex=function(t,e){this.x=t,this.y=e},n.prototype.Edge=function(t,e){this.lSite=t,this.rSite=e,this.va=this.vb=null},n.prototype.Halfedge=function(t,e,n){if(this.site=e,this.edge=t,n)this.angle=Math.atan2(n.y-e.y,n.x-e.x);else{var r=t.va,i=t.vb;this.angle=t.lSite===e?Math.atan2(i.x-r.x,r.y-i.y):Math.atan2(r.x-i.x,i.y-r.y)}},n.prototype.createHalfedge=function(t,e,n){return new this.Halfedge(t,e,n)},n.prototype.Halfedge.prototype.getStartpoint=function(){return this.edge.lSite===this.site?this.edge.va:this.edge.vb},n.prototype.Halfedge.prototype.getEndpoint=function(){return this.edge.lSite===this.site?this.edge.vb:this.edge.va},n.prototype.createVertex=function(t,e){var n=this.vertexJunkyard.pop();return n?(n.x=t,n.y=e):n=new this.Vertex(t,e),this.vertices.push(n),n},n.prototype.createEdge=function(t,e,n,r){var i=this.edgeJunkyard.pop();return i?(i.lSite=t,i.rSite=e,i.va=i.vb=null):i=new this.Edge(t,e),this.edges.push(i),n&&this.setEdgeStartpoint(i,t,e,n),r&&this.setEdgeEndpoint(i,t,e,r),this.cells[t.voronoiId].halfedges.push(this.createHalfedge(i,t,e)),this.cells[e.voronoiId].halfedges.push(this.createHalfedge(i,e,t)),i},n.prototype.createBorderEdge=function(t,e,n){var r=this.edgeJunkyard.pop();return r?(r.lSite=t,r.rSite=null):r=new this.Edge(t,null),r.va=e,r.vb=n,this.edges.push(r),r},n.prototype.setEdgeStartpoint=function(t,e,n,r){t.va||t.vb?t.lSite===n?t.vb=r:t.va=r:(t.va=r,t.lSite=e,t.rSite=n)},n.prototype.setEdgeEndpoint=function(t,e,n,r){this.setEdgeStartpoint(t,n,e,r)},n.prototype.Beachsection=function(){},n.prototype.createBeachsection=function(t){var e=this.beachsectionJunkyard.pop();return e||(e=new this.Beachsection),e.site=t,e},n.prototype.leftBreakPoint=function(t,e){var n=t.site,r=n.x,i=n.y,o=i-e;if(!o)return r;var a=t.rbPrevious;if(!a)return-1/0;var s=(n=a.site).x,c=n.y,u=c-e;if(!u)return s;var l=s-r,h=1/o-1/u,f=l/u;return h?(-f+this.sqrt(f*f-2*h*(l*l/(-2*u)-c+u/2+i-o/2)))/h+r:(r+s)/2},n.prototype.rightBreakPoint=function(t,e){var n=t.rbNext;if(n)return this.leftBreakPoint(n,e);var r=t.site;return r.y===e?r.x:1/0},n.prototype.detachBeachsection=function(t){this.detachCircleEvent(t),this.beachline.rbRemoveNode(t),this.beachsectionJunkyard.push(t)},n.prototype.removeBeachsection=function(t){var e=t.circleEvent,n=e.x,r=e.ycenter,i=this.createVertex(n,r),o=t.rbPrevious,a=t.rbNext,s=[t],c=Math.abs;this.detachBeachsection(t);for(var u=o;u.circleEvent&&c(n-u.circleEvent.x)<1e-9&&c(r-u.circleEvent.ycenter)<1e-9;)o=u.rbPrevious,s.unshift(u),this.detachBeachsection(u),u=o;s.unshift(u),this.detachCircleEvent(u);for(var l=a;l.circleEvent&&c(n-l.circleEvent.x)<1e-9&&c(r-l.circleEvent.ycenter)<1e-9;)a=l.rbNext,s.push(l),this.detachBeachsection(l),l=a;s.push(l),this.detachCircleEvent(l);var h,f=s.length;for(h=1;h1e-9)s=s.rbLeft;else{if(!((i=o-this.rightBreakPoint(s,a))>1e-9)){r>-1e-9?(e=s.rbPrevious,n=s):i>-1e-9?(e=s,n=s.rbNext):e=n=s;break}if(!s.rbRight){e=s;break}s=s.rbRight}var c=this.createBeachsection(t);if(this.beachline.rbInsertSuccessor(e,c),e||n){if(e===n)return this.detachCircleEvent(e),n=this.createBeachsection(e.site),this.beachline.rbInsertSuccessor(c,n),c.edge=n.edge=this.createEdge(e.site,c.site),this.attachCircleEvent(e),void this.attachCircleEvent(n);if(!e||n){if(e!==n){this.detachCircleEvent(e),this.detachCircleEvent(n);var u=e.site,l=u.x,h=u.y,f=t.x-l,d=t.y-h,p=n.site,g=p.x-l,v=p.y-h,b=2*(f*v-d*g),y=f*f+d*d,m=g*g+v*v,w=this.createVertex((v*y-d*m)/b+l,(f*m-g*y)/b+h);return this.setEdgeStartpoint(n.edge,u,p,w),c.edge=this.createEdge(u,t,void 0,w),n.edge=this.createEdge(t,p,void 0,w),this.attachCircleEvent(e),void this.attachCircleEvent(n)}}else c.edge=this.createEdge(e.site,c.site)}},n.prototype.CircleEvent=function(){this.arc=null,this.rbLeft=null,this.rbNext=null,this.rbParent=null,this.rbPrevious=null,this.rbRed=!1,this.rbRight=null,this.site=null,this.x=this.y=this.ycenter=0},n.prototype.attachCircleEvent=function(t){var e=t.rbPrevious,n=t.rbNext;if(e&&n){var r=e.site,i=t.site,o=n.site;if(r!==o){var a=i.x,s=i.y,c=r.x-a,u=r.y-s,l=o.x-a,h=o.y-s,f=2*(c*h-u*l);if(!(f>=-2e-12)){var d=c*c+u*u,p=l*l+h*h,g=(h*d-u*p)/f,v=(c*p-l*d)/f,b=v+s,y=this.circleEventJunkyard.pop();y||(y=new this.CircleEvent),y.arc=t,y.site=i,y.x=g+a,y.y=b+this.sqrt(g*g+v*v),y.ycenter=b,t.circleEvent=y;for(var m=null,w=this.circleEvents.root;w;)if(y.y=s)return!1;if(f>p){if(!o||o.y=u)return!1;n=this.createVertex(v,u)}else{if(!o||o.y>u)o=this.createVertex(v,u);else if(o.y1)if(f>p){if(!o||o.y=u)return!1;n=this.createVertex((u-i)/r,u)}else{if(!o||o.y>u)o=this.createVertex((u-i)/r,u);else if(o.y=s)return!1;n=this.createVertex(s,r*s+i)}else{if(!o||o.x>s)o=this.createVertex(s,r*s+i);else if(o.x0){if(u>o)return!1;u>i&&(i=u)}if(c=e.xr-n,0===a&&c<0)return!1;if(u=c/a,a<0){if(u>o)return!1;u>i&&(i=u)}else if(a>0){if(u0){if(u>o)return!1;u>i&&(i=u)}if(c=e.yb-r,0===s&&c<0)return!1;if(u=c/s,s<0){if(u>o)return!1;u>i&&(i=u)}else if(s>0){if(u0&&(t.va=this.createVertex(n+i*a,r+i*s)),o<1&&(t.vb=this.createVertex(n+o*a,r+o*s)),(i>0||o<1)&&(this.cells[t.lSite.voronoiId].closeMe=!0,this.cells[t.rSite.voronoiId].closeMe=!0),!0},n.prototype.clipEdges=function(t){for(var e,n=this.edges,r=n.length,i=Math.abs;r--;)e=n[r],(!this.connectEdge(e,t)||!this.clipEdge(e,t)||i(e.va.x-e.vb.x)<1e-9&&i(e.va.y-e.vb.y)<1e-9)&&(e.va=e.vb=null,n.splice(r,1))},n.prototype.closeCells=function(t){for(var e,n,r,i,o,a,s,c,u,l=t.xl,h=t.xr,f=t.yt,d=t.yb,p=this.cells,g=p.length,v=Math.abs;g--;)if((e=p[g]).prepareHalfedges()&&e.closeMe){for(i=(r=e.halfedges).length,n=0;n=1e-9||v(a.y-c.y)>=1e-9)switch(!0){case this.equalWithEpsilon(a.x,l)&&this.lessThanWithEpsilon(a.y,d):if(u=this.equalWithEpsilon(c.x,l),s=this.createVertex(l,u?c.y:d),o=this.createBorderEdge(e.site,a,s),n++,r.splice(n,0,this.createHalfedge(o,e.site,null)),i++,u)break;a=s;case this.equalWithEpsilon(a.y,d)&&this.lessThanWithEpsilon(a.x,h):if(u=this.equalWithEpsilon(c.y,d),s=this.createVertex(u?c.x:h,d),o=this.createBorderEdge(e.site,a,s),n++,r.splice(n,0,this.createHalfedge(o,e.site,null)),i++,u)break;a=s;case this.equalWithEpsilon(a.x,h)&&this.greaterThanWithEpsilon(a.y,f):if(u=this.equalWithEpsilon(c.x,h),s=this.createVertex(h,u?c.y:f),o=this.createBorderEdge(e.site,a,s),n++,r.splice(n,0,this.createHalfedge(o,e.site,null)),i++,u)break;a=s;case this.equalWithEpsilon(a.y,f)&&this.greaterThanWithEpsilon(a.x,l):if(u=this.equalWithEpsilon(c.y,f),s=this.createVertex(u?c.x:l,f),o=this.createBorderEdge(e.site,a,s),n++,r.splice(n,0,this.createHalfedge(o,e.site,null)),i++,u)break;if(a=s,u=this.equalWithEpsilon(c.x,l),s=this.createVertex(l,u?c.y:d),o=this.createBorderEdge(e.site,a,s),n++,r.splice(n,0,this.createHalfedge(o,e.site,null)),i++,u)break;if(a=s,u=this.equalWithEpsilon(c.y,d),s=this.createVertex(u?c.x:h,d),o=this.createBorderEdge(e.site,a,s),n++,r.splice(n,0,this.createHalfedge(o,e.site,null)),i++,u)break;if(a=s,u=this.equalWithEpsilon(c.x,h),s=this.createVertex(h,u?c.y:f),o=this.createBorderEdge(e.site,a,s),n++,r.splice(n,0,this.createHalfedge(o,e.site,null)),i++,u)break;default:throw"Voronoi.closeCells() > this makes no sense!"}n++}e.closeMe=!1}},n.prototype.quantizeSites=function(t){for(var e,n=this.ε,r=t.length;r--;)(e=t[r]).x=Math.floor(e.x/n)*n,e.y=Math.floor(e.y/n)*n},n.prototype.recycle=function(t){if(t){if(!(t instanceof this.Diagram))throw"Voronoi.recycleDiagram() > Need a Diagram object.";this.toRecycle=t}},n.prototype.compute=function(t,e){var n=new Date;this.reset(),this.toRecycle&&(this.vertexJunkyard=this.vertexJunkyard.concat(this.toRecycle.vertices),this.edgeJunkyard=this.edgeJunkyard.concat(this.toRecycle.edges),this.cellJunkyard=this.cellJunkyard.concat(this.toRecycle.cells),this.toRecycle=null);var r=t.slice(0);r.sort((function(t,e){return e.y-t.y||e.x-t.x}));for(var i,o,a,s=r.pop(),c=0,u=this.cells;;)if(a=this.firstCircleEvent,s&&(!a||s.y{window,t.exports=function(t){var e={};function n(r){if(e[r])return e[r].exports;var i=e[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)n.d(r,i,function(e){return t[e]}.bind(null,i));return r},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=0)}([function(t,e,n){"use strict";var r=n(1),i=function(t){t&&t("core","svg",r.svg)};"undefined"!=typeof cytoscape&&i(cytoscape),t.exports=i},function(t,e,n){"use strict";var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i=n(2),o={},a=function(t){return null!=t&&(void 0===t?"undefined":r(t))===r(1)&&!isNaN(t)};o.bufferCanvasImage=function(t,e){var n=e.renderer().usePaths;e.renderer().usePaths=function(){return!1},e.elements().forEach((function(t){t._private.rscratch.pathCacheKey=null,t._private.rscratch.pathCache=null}));var r=e.renderer(),o=e.mutableElements().boundingBox(),s=r.findContainerClientCoords(),c=t.full?Math.ceil(o.w):s[2],u=t.full?Math.ceil(o.h):s[3],l=a(t.maxWidth)||a(t.maxHeight),h=r.getPixelRatio(),f=1;if(void 0!==t.scale)c*=t.scale,u*=t.scale,f=t.scale;else if(l){var d=1/0,p=1/0;a(t.maxWidth)&&(d=f*t.maxWidth/c),a(t.maxHeight)&&(p=f*t.maxHeight/u),c*=f=Math.min(d,p),u*=f}l||(c*=h,u*=h,f*=h);var g=null,v=g=new i(c,u);if(c>0&&u>0){g.clearRect(0,0,c,u),t.bg&&(g.globalCompositeOperation="destination-over",g.fillStyle=t.bg,g.fillRect(0,0,c,u)),g.globalCompositeOperation="source-over";var b=r.getCachedZSortedEles();if(t.full)g.translate(-o.x1*f,-o.y1*f),g.scale(f,f),r.drawElements(g,b),g.scale(1/f,1/f),g.translate(o.x1*f,o.y1*f);else{var y=e.pan(),m={x:y.x*f,y:y.y*f};f*=e.zoom(),g.translate(m.x,m.y),g.scale(f,f),r.drawElements(g,b),g.scale(1/f,1/f),g.translate(-m.x,-m.y)}}return e.renderer().usePaths=n,v},o.svg=function(t){return o.bufferCanvasImage(t||{},this).getSerializedSvg()},t.exports=o},function(t,e,n){!function(){"use strict";var e,n,r,i,o;function a(t,e){var n,r=Object.keys(e);for(n=0;n1?((e=r).width=arguments[0],e.height=arguments[1]):e=t||r,!(this instanceof n))return new n(e);this.width=e.width||r.width,this.height=e.height||r.height,this.enableMirroring=void 0!==e.enableMirroring?e.enableMirroring:r.enableMirroring,this.canvas=this,this.__document=e.document||document,e.ctx?this.__ctx=e.ctx:(this.__canvas=this.__document.createElement("canvas"),this.__ctx=this.__canvas.getContext("2d")),this.__setDefaultStyles(),this.__stack=[this.__getStyleState()],this.__groupStack=[],this.__root=this.__document.createElementNS("http://www.w3.org/2000/svg","svg"),this.__root.setAttribute("version",1.1),this.__root.setAttribute("xmlns","http://www.w3.org/2000/svg"),this.__root.setAttributeNS("http://www.w3.org/2000/xmlns/","xmlns:xlink","http://www.w3.org/1999/xlink"),this.__root.setAttribute("width",this.width),this.__root.setAttribute("height",this.height),this.__ids={},this.__defs=this.__document.createElementNS("http://www.w3.org/2000/svg","defs"),this.__root.appendChild(this.__defs),this.__currentElement=this.__document.createElementNS("http://www.w3.org/2000/svg","g"),this.__root.appendChild(this.__currentElement)}).prototype.__createElement=function(t,e,n){void 0===e&&(e={});var r,i,o=this.__document.createElementNS("http://www.w3.org/2000/svg",t),a=Object.keys(e);for(n&&(o.setAttribute("fill","none"),o.setAttribute("stroke","none")),r=0;r0){"path"===this.__currentElement.nodeName&&(this.__currentElementsToStyle||(this.__currentElementsToStyle={element:e,children:[]}),this.__currentElementsToStyle.children.push(this.__currentElement),this.__applyCurrentDefaultPath());var n=this.__createElement("g");e.appendChild(n),this.__currentElement=n}var r=this.__currentElement.getAttribute("transform");r?r+=" ":r="",r+=t,this.__currentElement.setAttribute("transform",r)},n.prototype.scale=function(t,e){void 0===e&&(e=t),this.__addTransform(a("scale({x},{y})",{x:t,y:e}))},n.prototype.rotate=function(t){var e=180*t/Math.PI;this.__addTransform(a("rotate({angle},{cx},{cy})",{angle:e,cx:0,cy:0}))},n.prototype.translate=function(t,e){this.__addTransform(a("translate({x},{y})",{x:t,y:e}))},n.prototype.transform=function(t,e,n,r,i,o){this.__addTransform(a("matrix({a},{b},{c},{d},{e},{f})",{a:t,b:e,c:n,d:r,e:i,f:o}))},n.prototype.beginPath=function(){var t;this.__currentDefaultPath="",this.__currentPosition={},t=this.__createElement("path",{},!0),this.__closestGroupOrSvg().appendChild(t),this.__currentElement=t},n.prototype.__applyCurrentDefaultPath=function(){var t=this.__currentElement;"path"===t.nodeName?t.setAttribute("d",this.__currentDefaultPath):console.error("Attempted to apply path command to node",t.nodeName)},n.prototype.__addPathCommand=function(t){this.__currentDefaultPath+=" ",this.__currentDefaultPath+=t},n.prototype.moveTo=function(t,e){"path"!==this.__currentElement.nodeName&&this.beginPath(),this.__currentPosition={x:t,y:e},this.__addPathCommand(a("M {x} {y}",{x:t,y:e}))},n.prototype.closePath=function(){this.__currentDefaultPath&&this.__addPathCommand("Z")},n.prototype.lineTo=function(t,e){this.__currentPosition={x:t,y:e},this.__currentDefaultPath.indexOf("M")>-1?this.__addPathCommand(a("L {x} {y}",{x:t,y:e})):this.__addPathCommand(a("M {x} {y}",{x:t,y:e}))},n.prototype.bezierCurveTo=function(t,e,n,r,i,o){this.__currentPosition={x:i,y:o},this.__addPathCommand(a("C {cp1x} {cp1y} {cp2x} {cp2y} {x} {y}",{cp1x:t,cp1y:e,cp2x:n,cp2y:r,x:i,y:o}))},n.prototype.quadraticCurveTo=function(t,e,n,r){this.__currentPosition={x:n,y:r},this.__addPathCommand(a("Q {cpx} {cpy} {x} {y}",{cpx:t,cpy:e,x:n,y:r}))};var u=function(t){var e=Math.sqrt(t[0]*t[0]+t[1]*t[1]);return[t[0]/e,t[1]/e]};n.prototype.arcTo=function(t,e,n,r,i){var o=this.__currentPosition&&this.__currentPosition.x,a=this.__currentPosition&&this.__currentPosition.y;if(void 0!==o&&void 0!==a){if(i<0)throw new Error("IndexSizeError: The radius provided ("+i+") is negative.");if(o===t&&a===e||t===n&&e===r||0===i)this.lineTo(t,e);else{var s=u([o-t,a-e]),c=u([n-t,r-e]);if(s[0]*c[1]!=s[1]*c[0]){var l=s[0]*c[0]+s[1]*c[1],h=Math.acos(Math.abs(l)),f=u([s[0]+c[0],s[1]+c[1]]),d=i/Math.sin(h/2),p=t+d*f[0],g=e+d*f[1],v=[-s[1],s[0]],b=[c[1],-c[0]],y=function(t){var e=t[0];return t[1]>=0?Math.acos(e):-Math.acos(e)},m=y(v),w=y(b);this.lineTo(p+v[0]*i,g+v[1]*i),this.arc(p,g,i,m,w)}else this.lineTo(t,e)}}},n.prototype.stroke=function(){"path"===this.__currentElement.nodeName&&this.__currentElement.setAttribute("paint-order","fill stroke markers"),this.__applyCurrentDefaultPath(),this.__applyStyleToCurrentElement("stroke")},n.prototype.fill=function(){"path"===this.__currentElement.nodeName&&this.__currentElement.setAttribute("paint-order","stroke fill markers"),this.__applyCurrentDefaultPath(),this.__applyStyleToCurrentElement("fill")},n.prototype.rect=function(t,e,n,r){"path"!==this.__currentElement.nodeName&&this.beginPath(),this.moveTo(t,e),this.lineTo(t+n,e),this.lineTo(t+n,e+r),this.lineTo(t,e+r),this.lineTo(t,e),this.closePath()},n.prototype.fillRect=function(t,e,n,r){var i;i=this.__createElement("rect",{x:t,y:e,width:n,height:r},!0),this.__closestGroupOrSvg().appendChild(i),this.__currentElement=i,this.__applyStyleToCurrentElement("fill")},n.prototype.strokeRect=function(t,e,n,r){var i;i=this.__createElement("rect",{x:t,y:e,width:n,height:r},!0),this.__closestGroupOrSvg().appendChild(i),this.__currentElement=i,this.__applyStyleToCurrentElement("stroke")},n.prototype.__clearCanvas=function(){for(var t=this.__closestGroupOrSvg().getAttribute("transform"),e=this.__root.childNodes[1],n=e.childNodes,r=n.length-1;r>=0;r--)n[r]&&e.removeChild(n[r]);this.__currentElement=e,this.__groupStack=[],t&&this.__addTransform(t)},n.prototype.clearRect=function(t,e,n,r){if(0!==t||0!==e||n!==this.width||r!==this.height){var i,o=this.__closestGroupOrSvg();i=this.__createElement("rect",{x:t,y:e,width:n,height:r,fill:"#FFFFFF"},!0),o.appendChild(i)}else this.__clearCanvas()},n.prototype.createLinearGradient=function(t,e,n,i){var o=this.__createElement("linearGradient",{id:s(this.__ids),x1:t+"px",x2:n+"px",y1:e+"px",y2:i+"px",gradientUnits:"userSpaceOnUse"},!1);return this.__defs.appendChild(o),new r(o,this)},n.prototype.createRadialGradient=function(t,e,n,i,o,a){var c=this.__createElement("radialGradient",{id:s(this.__ids),cx:i+"px",cy:o+"px",r:a+"px",fx:t+"px",fy:e+"px",gradientUnits:"userSpaceOnUse"},!1);return this.__defs.appendChild(c),new r(c,this)},n.prototype.__parseFont=function(){var t=/^\s*(?=(?:(?:[-a-z]+\s*){0,2}(italic|oblique))?)(?=(?:(?:[-a-z]+\s*){0,2}(small-caps))?)(?=(?:(?:[-a-z]+\s*){0,2}(bold(?:er)?|lighter|[1-9]00))?)(?:(?:normal|\1|\2|\3)\s*){0,3}((?:xx?-)?(?:small|large)|medium|smaller|larger|[.\d]+(?:\%|in|[cem]m|ex|p[ctx]))(?:\s*\/\s*(normal|[.\d]+(?:\%|in|[cem]m|ex|p[ctx])))?\s*([-,\'\"\sa-z0-9]+?)\s*$/i.exec(this.font),e={style:t[1]||"normal",size:t[4]||"10px",family:t[6]||"sans-serif",weight:t[3]||"normal",decoration:t[2]||"normal",href:null};return"underline"===this.__fontUnderline&&(e.decoration="underline"),this.__fontHref&&(e.href=this.__fontHref),e},n.prototype.__wrapTextLink=function(t,e){if(t.href){var n=this.__createElement("a");return n.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",t.href),n.appendChild(e),n}return e},n.prototype.__applyText=function(t,e,n,r){var i,o,a=this.__parseFont(),s=this.__closestGroupOrSvg(),u=this.__createElement("text",{"font-family":a.family,"font-size":a.size,"font-style":a.style,"font-weight":a.weight,"text-decoration":a.decoration,x:e,y:n,"text-anchor":(i=this.textAlign,o={left:"start",right:"end",center:"middle",start:"start",end:"end"},o[i]||o.start),"dominant-baseline":c(this.textBaseline)},!0);u.appendChild(this.__document.createTextNode(t)),this.__currentElement=u,this.__applyStyleToCurrentElement(r),s.appendChild(this.__wrapTextLink(a,u))},n.prototype.fillText=function(t,e,n){this.__applyText(t,e,n,"fill")},n.prototype.strokeText=function(t,e,n){this.__applyText(t,e,n,"stroke")},n.prototype.measureText=function(t){return this.__ctx.font=this.font,this.__ctx.measureText(t)},n.prototype.arc=function(t,e,n,r,i,o){if(r!==i){(r%=2*Math.PI)==(i%=2*Math.PI)&&(i=(i+2*Math.PI-.001*(o?-1:1))%(2*Math.PI));var s,c=t+n*Math.cos(i),u=e+n*Math.sin(i),l=t+n*Math.cos(r),h=e+n*Math.sin(r),f=o?0:1,d=i-r;d<0&&(d+=2*Math.PI),s=o?d>Math.PI?0:1:d>Math.PI?1:0,this.lineTo(l,h),this.__addPathCommand(a("A {rx} {ry} {xAxisRotation} {largeArcFlag} {sweepFlag} {endX} {endY}",{rx:n,ry:n,xAxisRotation:0,largeArcFlag:s,sweepFlag:f,endX:c,endY:u})),this.__currentPosition={x:c,y:u}}},n.prototype.clip=function(){var t=this.__closestGroupOrSvg(),e=this.__createElement("clipPath"),n=s(this.__ids),r=this.__createElement("g");this.__applyCurrentDefaultPath(),t.removeChild(this.__currentElement),e.setAttribute("id",n),e.appendChild(this.__currentElement),this.__defs.appendChild(e),t.setAttribute("clip-path",a("url(#{id})",{id:n})),t.appendChild(r),this.__currentElement=r},n.prototype.drawImage=function(){var t,e,r,i,o,a,s,c,u,l,h,f,d,p=Array.prototype.slice.call(arguments),g=p[0],v=0,b=0;if(3===p.length)t=p[1],e=p[2],r=o=g.width,i=a=g.height;else if(5===p.length)t=p[1],e=p[2],r=p[3],i=p[4],o=g.width,a=g.height;else{if(9!==p.length)throw new Error("Inavlid number of arguments passed to drawImage: "+arguments.length);v=p[1],b=p[2],o=p[3],a=p[4],t=p[5],e=p[6],r=p[7],i=p[8]}s=this.__closestGroupOrSvg(),this.__currentElement;var y="translate("+t+", "+e+")";if(g instanceof n){if((c=g.getSvg().cloneNode(!0)).childNodes&&c.childNodes.length>1){for(u=c.childNodes[0];u.childNodes.length;)d=u.childNodes[0].getAttribute("id"),this.__ids[d]=d,this.__defs.appendChild(u.childNodes[0]);if(l=c.childNodes[1]){var m,w=l.getAttribute("transform");m=w?w+" "+y:y,l.setAttribute("transform",m),s.appendChild(l)}}}else"CANVAS"!==g.nodeName&&"IMG"!==g.nodeName||((h=this.__createElement("image")).setAttribute("width",r),h.setAttribute("height",i),h.setAttribute("opacity",this.globalAlpha),h.setAttribute("preserveAspectRatio","none"),(f=this.__document.createElement("canvas")).width=r,f.height=i,f.getContext("2d").drawImage(g,v,b,o,a,0,0,r,i),g=f,h.setAttribute("transform",y),h.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href","CANVAS"===g.nodeName?g.toDataURL():g.getAttribute("src")),s.appendChild(h))},n.prototype.createPattern=function(t,e){var r,o=this.__document.createElementNS("http://www.w3.org/2000/svg","pattern"),a=s(this.__ids);return o.setAttribute("id",a),o.setAttribute("width",t.width),o.setAttribute("height",t.height),"CANVAS"===t.nodeName||"IMG"===t.nodeName?((r=this.__document.createElementNS("http://www.w3.org/2000/svg","image")).setAttribute("width",t.width),r.setAttribute("height",t.height),r.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href","CANVAS"===t.nodeName?t.toDataURL():t.getAttribute("src")),o.appendChild(r),this.__defs.appendChild(o)):t instanceof n&&(o.appendChild(t.__root.childNodes[1]),this.__defs.appendChild(o)),new i(o,this)},n.prototype.setLineDash=function(t){t&&t.length>0?this.lineDash=t.join(","):this.lineDash=null},n.prototype.drawFocusRing=function(){},n.prototype.createImageData=function(){},n.prototype.getImageData=function(){},n.prototype.putImageData=function(){},n.prototype.globalCompositeOperation=function(){},n.prototype.setTransform=function(){},"object"==typeof window&&(window.C2S=n),"object"==typeof t.exports&&(t.exports=n)}()}])},9058:(t,e,n)=>{"use strict";var r=n(3279),i=n(4485),o=n(7361),a=n(6968),s=n(84);function c(t){return t&&"object"==typeof t&&"default"in t?t:{default:t}}var u=c(r),l=c(i),h=c(o),f=c(a),d=c(s);function p(t){return p="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},p(t)}function g(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function v(t,e){for(var n=0;nt.length)&&(e=t.length);for(var n=0,r=new Array(e);ne?1:0},Q=null!=Object.assign?Object.assign.bind(Object):function(t){for(var e=arguments,n=1;n1&&void 0!==arguments[1]?arguments[1]:st;!(e=t.next()).done;)n=65599*n+e.value|0;return n},lt=function(t){return 65599*(arguments.length>1&&void 0!==arguments[1]?arguments[1]:st)+t|0},ht=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:ct;return(e<<5)+e+t|0},ft=function(t){return 2097152*t[0]+t[1]},dt=function(t,e){return[lt(t[0],e[0]),ht(t[1],e[1])]},pt=function(t,e){var n={value:0,done:!1},r=0,i=t.length;return ut({next:function(){return r=0&&(t[r]!==e||(t.splice(r,1),!n));r--);},Pt=function(t){t.splice(0,t.length)},Dt=function(t,e,n){return n&&(e=U(n,e)),t[e]},Rt=function(t,e,n,r){n&&(e=U(n,e)),t[e]=r},jt="undefined"!=typeof Map?Map:function(){function t(){g(this,t),this._obj={}}return b(t,[{key:"set",value:function(t,e){return this._obj[t]=e,this}},{key:"delete",value:function(t){return this._obj[t]=void 0,this}},{key:"clear",value:function(){this._obj={}}},{key:"has",value:function(t){return void 0!==this._obj[t]}},{key:"get",value:function(t){return this._obj[t]}}]),t}(),Gt=function(){function t(e){if(g(this,t),this._obj=Object.create(null),this.size=0,null!=e){var n;n=null!=e.instanceString&&e.instanceString()===this.instanceString()?e.toArray():e;for(var r=0;r2&&void 0!==arguments[2])||arguments[2];if(void 0!==t&&void 0!==e&&j(t)){var r=e.group;if(null==r&&(r=e.data&&null!=e.data.source&&null!=e.data.target?"edges":"nodes"),"nodes"===r||"edges"===r){this.length=1,this[0]=this;var i=this._private={cy:t,single:!0,data:e.data||{},position:e.position||{x:0,y:0},autoWidth:void 0,autoHeight:void 0,autoPadding:void 0,compoundBoundsClean:!1,listeners:[],group:r,style:{},rstyle:{},styleCxts:[],styleKeys:{},removed:!0,selected:!!e.selected,selectable:void 0===e.selectable||!!e.selectable,locked:!!e.locked,grabbed:!1,grabbable:void 0===e.grabbable||!!e.grabbable,pannable:void 0===e.pannable?"edges"===r:!!e.pannable,active:!1,classes:new Bt,animation:{current:[],queue:[]},rscratch:{},scratch:e.scratch||{},edges:[],children:[],parent:e.parent&&e.parent.isNode()?e.parent:null,traversalCache:{},backgrounding:!1,bbCache:null,bbCacheShift:{x:0,y:0},bodyBounds:null,overlayBounds:null,labelBounds:{all:null,source:null,target:null,main:null},arrowBounds:{source:null,target:null,"mid-source":null,"mid-target":null}};if(null==i.position.x&&(i.position.x=0),null==i.position.y&&(i.position.y=0),e.renderedPosition){var o=e.renderedPosition,a=t.pan(),s=t.zoom();i.position={x:(o.x-a.x)/s,y:(o.y-a.y)/s}}var c=[];O(e.classes)?c=e.classes:A(e.classes)&&(c=e.classes.split(/\s+/));for(var u=0,l=c.length;u0;){var _=y.pop(),E=v(_),k=_.id();if(f[k]=E,E!==1/0)for(var T=_.neighborhood().intersect(p),C=0;C0)for(n.unshift(e);h[i];){var o=h[i];n.unshift(o.edge),n.unshift(o.node),i=(r=o.node).id()}return a.spawn(n)}}}},Vt={kruskal:function(t){t=t||function(t){return 1};for(var e=this.byGroup(),n=e.nodes,r=e.edges,i=n.length,o=new Array(i),a=n,s=function(t){for(var e=0;e0;){if(u=(c=v.pop()).id(),b.delete(u),_++,u===f){for(var E=[],k=i,T=f,C=m[T];E.unshift(k),null!=C&&E.unshift(C),null!=(k=y[T]);)C=m[T=k.id()];return{found:!0,distance:d[u],path:this.spawn(E),steps:_}}g[u]=!0;for(var N=c._private.edges,A=0;AC&&(d[T]=C,b[T]=k,y[T]=w),!i){var N=k*u+E;!i&&d[N]>C&&(d[N]=C,b[N]=E,y[N]=w)}}}for(var S=0;S1&&void 0!==arguments[1]?arguments[1]:o,r=[],i=y(t);;){if(null==i)return e.spawn();var a=b(i),c=a.edge,u=a.pred;if(r.unshift(i[0]),i.same(n)&&r.length>0)break;null!=c&&r.unshift(c),i=u}return s.spawn(r)},hasNegativeWeightCycle:p,negativeWeightCycles:g}}},Qt=Math.sqrt(2),Jt=function(t,e,n){0===n.length&&Tt("Karger-Stein must be run on a connected (sub)graph");for(var r=n[t],i=r[1],o=r[2],a=e[i],s=e[o],c=n,u=c.length-1;u>=0;u--){var l=c[u],h=l[1],f=l[2];(e[h]===a&&e[f]===s||e[h]===s&&e[f]===a)&&c.splice(u,1)}for(var d=0;dr;){var i=Math.floor(Math.random()*e.length);e=Jt(i,t,e),n--}return e},ee={kargerStein:function(){var t=this,e=this.byGroup(),n=e.nodes,r=e.edges;r.unmergeBy((function(t){return t.isLoop()}));var i=n.length,o=r.length,a=Math.ceil(Math.pow(Math.log(i)/Math.LN2,2)),s=Math.floor(i/Qt);if(!(i<2)){for(var c=[],u=0;u0?1:t<0?-1:0},ce=function(t,e){return Math.sqrt(ue(t,e))},ue=function(t,e){var n=e.x-t.x,r=e.y-t.y;return n*n+r*r},le=function(t){for(var e=t.length,n=0,r=0;r=t.x1&&t.y2>=t.y1)return{x1:t.x1,y1:t.y1,x2:t.x2,y2:t.y2,w:t.x2-t.x1,h:t.y2-t.y1};if(null!=t.w&&null!=t.h&&t.w>=0&&t.h>=0)return{x1:t.x1,y1:t.y1,x2:t.x1+t.w,y2:t.y1+t.h,w:t.w,h:t.h}}},ge=function(t,e){t.x1=Math.min(t.x1,e.x1),t.x2=Math.max(t.x2,e.x2),t.w=t.x2-t.x1,t.y1=Math.min(t.y1,e.y1),t.y2=Math.max(t.y2,e.y2),t.h=t.y2-t.y1},ve=function(t,e,n){t.x1=Math.min(t.x1,e),t.x2=Math.max(t.x2,e),t.w=t.x2-t.x1,t.y1=Math.min(t.y1,n),t.y2=Math.max(t.y2,n),t.h=t.y2-t.y1},be=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return t.x1-=e,t.x2+=e,t.y1-=e,t.y2+=e,t.w=t.x2-t.x1,t.h=t.y2-t.y1,t},ye=function(t){var e,n,r,i,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[0];if(1===o.length)e=n=r=i=o[0];else if(2===o.length)e=r=o[0],i=n=o[1];else if(4===o.length){var a=m(o,4);e=a[0],n=a[1],r=a[2],i=a[3]}return t.x1-=i,t.x2+=n,t.y1-=e,t.y2+=r,t.w=t.x2-t.x1,t.h=t.y2-t.y1,t},me=function(t,e){t.x1=e.x1,t.y1=e.y1,t.x2=e.x2,t.y2=e.y2,t.w=t.x2-t.x1,t.h=t.y2-t.y1},we=function(t,e){return!(t.x1>e.x2||e.x1>t.x2||t.x2e.y2||e.y1>t.y2)},xe=function(t,e,n){return t.x1<=e&&e<=t.x2&&t.y1<=n&&n<=t.y2},_e=function(t,e){return xe(t,e.x1,e.y1)&&xe(t,e.x2,e.y2)},Ee=function(t,e,n,r,i,o,a){var s,c=He(i,o),u=i/2,l=o/2,h=r-l-a;if((s=De(t,e,n,r,n-u+c-a,h,n+u-c+a,h,!1)).length>0)return s;var f=n+u+a;if((s=De(t,e,n,r,f,r-l+c-a,f,r+l-c+a,!1)).length>0)return s;var d=r+l+a;if((s=De(t,e,n,r,n-u+c-a,d,n+u-c+a,d,!1)).length>0)return s;var p,g=n-u-a;if((s=De(t,e,n,r,g,r-l+c-a,g,r+l-c+a,!1)).length>0)return s;var v=n-u+c,b=r-l+c;if((p=Me(t,e,n,r,v,b,c+a)).length>0&&p[0]<=v&&p[1]<=b)return[p[0],p[1]];var y=n+u-c,m=r-l+c;if((p=Me(t,e,n,r,y,m,c+a)).length>0&&p[0]>=y&&p[1]<=m)return[p[0],p[1]];var w=n+u-c,x=r+l-c;if((p=Me(t,e,n,r,w,x,c+a)).length>0&&p[0]>=w&&p[1]>=x)return[p[0],p[1]];var _=n-u+c,E=r+l-c;return(p=Me(t,e,n,r,_,E,c+a)).length>0&&p[0]<=_&&p[1]>=E?[p[0],p[1]]:[]},ke=function(t,e,n,r,i,o,a){var s=a,c=Math.min(n,i),u=Math.max(n,i),l=Math.min(r,o),h=Math.max(r,o);return c-s<=t&&t<=u+s&&l-s<=e&&e<=h+s},Te=function(t,e,n,r,i,o,a,s,c){var u=Math.min(n,a,i)-c,l=Math.max(n,a,i)+c,h=Math.min(r,s,o)-c,f=Math.max(r,s,o)+c;return!(tl||ef)},Ce=function(t,e,n,r,i,o,a,s){var c,u,l,h,f,d,p,g,v,b,y,m,w,x=[];u=9*n*i-3*n*n-3*n*a-6*i*i+3*i*a+9*r*o-3*r*r-3*r*s-6*o*o+3*o*s,l=3*n*n-6*n*i+n*a-n*t+2*i*i+2*i*t-a*t+3*r*r-6*r*o+r*s-r*e+2*o*o+2*o*e-s*e,h=1*n*i-n*n+n*t-i*t+r*o-r*r+r*e-o*e,0===(c=1*n*n-4*n*i+2*n*a+4*i*i-4*i*a+a*a+r*r-4*r*o+2*r*s+4*o*o-4*o*s+s*s)&&(c=1e-5),g=-27*(h/=c)+(u/=c)*(9*(l/=c)-u*u*2),d=(p=(3*l-u*u)/9)*p*p+(g/=54)*g,(f=x)[1]=0,m=u/3,d>0?(b=(b=g+Math.sqrt(d))<0?-Math.pow(-b,1/3):Math.pow(b,1/3),y=(y=g-Math.sqrt(d))<0?-Math.pow(-y,1/3):Math.pow(y,1/3),f[0]=-m+b+y,m+=(b+y)/2,f[4]=f[2]=-m,m=Math.sqrt(3)*(-y+b)/2,f[3]=m,f[5]=-m):(f[5]=f[3]=0,0===d?(w=g<0?-Math.pow(-g,1/3):Math.pow(g,1/3),f[0]=2*w-m,f[4]=f[2]=-(w+m)):(v=(p=-p)*p*p,v=Math.acos(g/Math.sqrt(v)),w=2*Math.sqrt(p),f[0]=-m+w*Math.cos(v/3),f[2]=-m+w*Math.cos((v+2*Math.PI)/3),f[4]=-m+w*Math.cos((v+4*Math.PI)/3)));for(var _=[],E=0;E<6;E+=2)Math.abs(x[E+1])<1e-7&&x[E]>=0&&x[E]<=1&&_.push(x[E]);_.push(1),_.push(0);for(var k,T,C,N=-1,A=0;A<_.length;A++)k=Math.pow(1-_[A],2)*n+2*(1-_[A])*_[A]*i+_[A]*_[A]*a,T=Math.pow(1-_[A],2)*r+2*(1-_[A])*_[A]*o+_[A]*_[A]*s,C=Math.pow(k-t,2)+Math.pow(T-e,2),N>=0?Cc?(t-i)*(t-i)+(e-o)*(e-o):u-h},Ae=function(t,e,n){for(var r,i,o,a,s=0,c=0;c=t&&t>=o||r<=t&&t<=o))continue;(t-r)/(o-r)*(a-i)+i>e&&s++}return s%2!=0},Se=function(t,e,n,r,i,o,a,s,c){var u,l=new Array(n.length);null!=s[0]?(u=Math.atan(s[1]/s[0]),s[0]<0?u+=Math.PI/2:u=-u-Math.PI/2):u=s;for(var h,f=Math.cos(-u),d=Math.sin(-u),p=0;p0){var g=Le(l,-c);h=Oe(g)}else h=l;return Ae(t,e,h)},Oe=function(t){for(var e,n,r,i,o,a,s,c,u=new Array(t.length/2),l=0;l=0&&p<=1&&v.push(p),g>=0&&g<=1&&v.push(g),0===v.length)return[];var b=v[0]*s[0]+t,y=v[0]*s[1]+e;return v.length>1?v[0]==v[1]?[b,y]:[b,y,v[1]*s[0]+t,v[1]*s[1]+e]:[b,y]},Pe=function(t,e,n){return e<=t&&t<=n||n<=t&&t<=e?t:t<=e&&e<=n||n<=e&&e<=t?e:n},De=function(t,e,n,r,i,o,a,s,c){var u=t-i,l=n-t,h=a-i,f=e-o,d=r-e,p=s-o,g=h*f-p*u,v=l*f-d*u,b=p*l-h*d;if(0!==b){var y=g/b,m=v/b,w=-.001;return w<=y&&y<=1.001&&w<=m&&m<=1.001||c?[t+y*l,e+y*d]:[]}return 0===g||0===v?Pe(t,n,a)===a?[a,s]:Pe(t,n,i)===i?[i,o]:Pe(i,a,n)===n?[n,r]:[]:[]},Re=function(t,e,n,r,i,o,a,s){var c,u,l,h,f,d,p=[],g=new Array(n.length),v=!0;if(null==o&&(v=!1),v){for(var b=0;b0){var y=Le(g,-s);u=Oe(y)}else u=g}else u=n;for(var m=0;mu&&(u=e)},f=function(t){return c[t]},d=0;d0?x.edgesTo(w)[0]:w.edgesTo(x)[0];var _=r(m);w=w.id(),d[w]>d[b]+_&&(d[w]=d[b]+_,p.nodes.indexOf(w)<0?p.push(w):p.updateItem(w),u[w]=0,c[w]=[]),d[w]==d[b]+_&&(u[w]=u[w]+u[b],c[w].push(b))}else for(var E=0;E0;){for(var N=n.pop(),A=0;A0&&a.push(n[s]);0!==a.length&&i.push(r.collection(a))}return i}(l,c,e,r);return m=function(t){for(var e=0;e5&&void 0!==arguments[5]?arguments[5]:un,a=r,s=0;s=2?gn(t,e,n,0,fn,dn):gn(t,e,n,0,hn)},squaredEuclidean:function(t,e,n){return gn(t,e,n,0,fn)},manhattan:function(t,e,n){return gn(t,e,n,0,hn)},max:function(t,e,n){return gn(t,e,n,-1/0,pn)}};function bn(t,e,n,r,i,o){var a;return a=S(t)?t:vn[t]||vn.euclidean,0===e&&S(t)?a(i,o):a(e,n,r,i,o)}vn["squared-euclidean"]=vn.squaredEuclidean,vn.squaredeuclidean=vn.squaredEuclidean;var yn=It({k:2,m:2,sensitivityThreshold:1e-4,distance:"euclidean",maxIterations:10,attributes:[],testMode:!1,testCentroids:null}),mn=function(t){return yn(t)},wn=function(t,e,n,r,i){var o="kMedoids"!==i?function(t){return n[t]}:function(t){return r[t](n)},a=n,s=e;return bn(t,r.length,o,(function(t){return r[t](e)}),a,s)},xn=function(t,e,n){for(var r=n.length,i=new Array(r),o=new Array(r),a=new Array(e),s=null,c=0;cn)return!1;return!0},Tn=function(t,e,n){for(var r=0;ri&&(i=e[c][u],o=u);a[o].push(t[c])}for(var l=0;l=i.threshold||"dendrogram"===i.mode&&1===t.length)return!1;var d,p=e[a],g=e[r[a]];d="dendrogram"===i.mode?{left:p,right:g,key:p.key}:{value:p.value.concat(g.value),key:p.key},t[p.index]=d,t.splice(g.index,1),e[p.key]=d;for(var v=0;vn[g.key][b.key]&&(o=n[g.key][b.key])):"max"===i.linkage?(o=n[p.key][b.key],n[p.key][b.key]a&&(o=c,a=e[i*t+c])}o>0&&r.push(o)}for(var u=0;u1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t.length,r=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],i=!(arguments.length>5&&void 0!==arguments[5])||arguments[5];arguments.length>3&&void 0!==arguments[3]&&!arguments[3]?(n0&&t.splice(0,e)):t=t.slice(e,n);for(var o=0,a=t.length-1;a>=0;a--){var s=t[a];i?isFinite(s)||(t[a]=-1/0,o++):t.splice(a,1)}r&&t.sort((function(t,e){return t-e}));var c=t.length,u=Math.floor(c/2);return c%2!=0?t[u+1+o]:(t[u-1+o]+t[u+o])/2}(t):"mean"===e?function(t){for(var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t.length,r=0,i=0,o=e;o1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t.length,r=1/0,i=e;i1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t.length,r=-1/0,i=e;i=C?(N=C,C=S,A=O):S>N&&(N=S);for(var L=0;L0?1:0;E[_%u.minIterations*e+G]=B,j+=B}if(j>0&&(_>=u.minIterations-1||_==u.maxIterations-1)){for(var F=0,H=0;H0&&r.push(i);return r}(e,o,a),U=function(t,e,n){for(var r=Yn(t,e,n),i=0;ic&&(s=u,c=l)}n[i]=o[s]}return Yn(t,e,n)}(e,r,z),V={},q=0;q1)}}));var c=Object.keys(e).filter((function(t){return e[t].cutVertex})).map((function(e){return t.getElementById(e)}));return{cut:t.spawn(c),components:i}},Xn=function(){var t=this,e={},n=0,r=[],i=[],o=t.spawn(t),a=function a(s){if(i.push(s),e[s]={index:n,low:n++,explored:!1},t.getElementById(s).connectedEdges().intersection(t).forEach((function(t){var n=t.target().id();n!==s&&(n in e||a(n),e[n].explored||(e[s].low=Math.min(e[s].low,e[n].low)))})),e[s].index===e[s].low){for(var c=t.spawn();;){var u=i.pop();if(c.merge(t.getElementById(u)),e[u].low=e[s].index,e[u].explored=!0,u===s)break}var l=c.edgesWith(c),h=c.merge(l);r.push(h),o=o.difference(h)}};return t.forEach((function(t){if(t.isNode()){var n=t.id();n in e||a(n)}})),{cut:o,components:r}},Wn={};[Yt,Ut,Vt,Xt,$t,Kt,ee,Ve,Xe,$e,Ke,cn,Ln,Bn,Un,{hierholzer:function(t){if(!L(t)){var e=arguments;t={root:e[0],directed:e[1]}}var n,r,i,o=Vn(t),a=o.root,s=o.directed,c=this,u=!1;a&&(i=A(a)?this.filter(a)[0].id():a[0].id());var l={},h={};s?c.forEach((function(t){var e=t.id();if(t.isNode()){var i=t.indegree(!0),o=t.outdegree(!0),a=i-o,s=o-i;1==a?n?u=!0:n=e:1==s?r?u=!0:r=e:(s>1||a>1)&&(u=!0),l[e]=[],t.outgoers().forEach((function(t){t.isEdge()&&l[e].push(t.id())}))}else h[e]=[void 0,t.target().id()]})):c.forEach((function(t){var e=t.id();t.isNode()?(t.degree(!0)%2&&(n?r?u=!0:r=e:n=e),l[e]=[],t.connectedEdges().forEach((function(t){return l[e].push(t.id())}))):h[e]=[t.source().id(),t.target().id()]}));var f={found:!1,trail:void 0};if(u)return f;if(r&&n)if(s){if(i&&r!=i)return f;i=r}else{if(i&&r!=i&&n!=i)return f;i||(i=r)}else i||(i=c[0].id());var d=function(t){for(var e,n,r,i=t,o=[t];l[i].length;)e=l[i].shift(),n=h[e][0],i!=(r=h[e][1])?(l[r]=l[r].filter((function(t){return t!=e})),i=r):s||i==n||(l[n]=l[n].filter((function(t){return t!=e})),i=n),o.unshift(e),o.unshift(i);return o},p=[],g=[];for(g=d(i);1!=g.length;)0==l[g[0]].length?(p.unshift(c.getElementById(g.shift())),p.unshift(c.getElementById(g.shift()))):g=d(g.shift()).concat(g);for(var v in p.unshift(c.getElementById(g.shift())),l)if(l[v].length)return f;return f.found=!0,f.trail=this.spawn(p,!0),f}},{hopcroftTarjanBiconnected:qn,htbc:qn,htb:qn,hopcroftTarjanBiconnectedComponents:qn},{tarjanStronglyConnected:Xn,tsc:Xn,tscc:Xn,tarjanStronglyConnectedComponents:Xn}].forEach((function(t){Q(Wn,t)}));var $n=function t(e){if(!(this instanceof t))return new t(e);this.id="Thenable/1.0.7",this.state=0,this.fulfillValue=void 0,this.rejectReason=void 0,this.onFulfilled=[],this.onRejected=[],this.proxy={then:this.then.bind(this)},"function"==typeof e&&e.call(this,this.fulfill.bind(this),this.reject.bind(this))};$n.prototype={fulfill:function(t){return Zn(this,1,"fulfillValue",t)},reject:function(t){return Zn(this,2,"rejectReason",t)},then:function(t,e){var n=this,r=new $n;return n.onFulfilled.push(Jn(t,r,"fulfill")),n.onRejected.push(Jn(e,r,"reject")),Kn(n),r.proxy}};var Zn=function(t,e,n,r){return 0===t.state&&(t.state=e,t[n]=r,Kn(t)),t},Kn=function(t){1===t.state?Qn(t,"onFulfilled",t.fulfillValue):2===t.state&&Qn(t,"onRejected",t.rejectReason)},Qn=function(t,e,n){if(0!==t[e].length){var r=t[e];t[e]=[];var i=function(){for(var t=0;t0:void 0}},clearQueue:function(){return function(){var t=this,e=void 0!==t.length?t:[t];if(!(this._private.cy||this).styleEnabled())return this;for(var n=0;n0&&this.spawn(r).updateStyle().emit("class"),e},addClass:function(t){return this.toggleClass(t,!0)},hasClass:function(t){var e=this[0];return null!=e&&e._private.classes.has(t)},toggleClass:function(t,e){O(t)||(t=t.match(/\S+/g)||[]);for(var n=this,r=void 0===e,i=[],o=0,a=n.length;o0&&this.spawn(i).updateStyle().emit("class"),n},removeClass:function(t){return this.toggleClass(t,!1)},flashClass:function(t,e){var n=this;if(null==e)e=250;else if(0===e)return n;return n.addClass(t),setTimeout((function(){n.removeClass(t)}),e),n}};ur.className=ur.classNames=ur.classes;var lr={metaChar:"[\\!\\\"\\#\\$\\%\\&\\'\\(\\)\\*\\+\\,\\.\\/\\:\\;\\<\\=\\>\\?\\@\\[\\]\\^\\`\\{\\|\\}\\~]",comparatorOp:"=|\\!=|>|>=|<|<=|\\$=|\\^=|\\*=",boolOp:"\\?|\\!|\\^",string:"\"(?:\\\\\"|[^\"])*\"|'(?:\\\\'|[^'])*'",number:q,meta:"degree|indegree|outdegree",separator:"\\s*,\\s*",descendant:"\\s+",child:"\\s+>\\s+",subject:"\\$",group:"node|edge|\\*",directedEdge:"\\s+->\\s+",undirectedEdge:"\\s+<->\\s+"};lr.variable="(?:[\\w-.]|(?:\\\\"+lr.metaChar+"))+",lr.className="(?:[\\w-]|(?:\\\\"+lr.metaChar+"))+",lr.value=lr.string+"|"+lr.number,lr.id=lr.variable,function(){var t,e,n;for(t=lr.comparatorOp.split("|"),n=0;n=0||"="!==e&&(lr.comparatorOp+="|\\!"+e)}();var hr=20,fr=[{selector:":selected",matches:function(t){return t.selected()}},{selector:":unselected",matches:function(t){return!t.selected()}},{selector:":selectable",matches:function(t){return t.selectable()}},{selector:":unselectable",matches:function(t){return!t.selectable()}},{selector:":locked",matches:function(t){return t.locked()}},{selector:":unlocked",matches:function(t){return!t.locked()}},{selector:":visible",matches:function(t){return t.visible()}},{selector:":hidden",matches:function(t){return!t.visible()}},{selector:":transparent",matches:function(t){return t.transparent()}},{selector:":grabbed",matches:function(t){return t.grabbed()}},{selector:":free",matches:function(t){return!t.grabbed()}},{selector:":removed",matches:function(t){return t.removed()}},{selector:":inside",matches:function(t){return!t.removed()}},{selector:":grabbable",matches:function(t){return t.grabbable()}},{selector:":ungrabbable",matches:function(t){return!t.grabbable()}},{selector:":animated",matches:function(t){return t.animated()}},{selector:":unanimated",matches:function(t){return!t.animated()}},{selector:":parent",matches:function(t){return t.isParent()}},{selector:":childless",matches:function(t){return t.isChildless()}},{selector:":child",matches:function(t){return t.isChild()}},{selector:":orphan",matches:function(t){return t.isOrphan()}},{selector:":nonorphan",matches:function(t){return t.isChild()}},{selector:":compound",matches:function(t){return t.isNode()?t.isParent():t.source().isParent()||t.target().isParent()}},{selector:":loop",matches:function(t){return t.isLoop()}},{selector:":simple",matches:function(t){return t.isSimple()}},{selector:":active",matches:function(t){return t.active()}},{selector:":inactive",matches:function(t){return!t.active()}},{selector:":backgrounding",matches:function(t){return t.backgrounding()}},{selector:":nonbackgrounding",matches:function(t){return!t.backgrounding()}}].sort((function(t,e){return function(t,e){return-1*K(t,e)}(t.selector,e.selector)})),dr=function(){for(var t,e={},n=0;n0&&u.edgeCount>0)return Nt("The selector `"+t+"` is invalid because it uses both a compound selector and an edge selector"),!1;if(u.edgeCount>1)return Nt("The selector `"+t+"` is invalid because it uses multiple edge selectors"),!1;1===u.edgeCount&&Nt("The selector `"+t+"` is deprecated. Edge selectors do not take effect on changes to source and target nodes after an edge is added, for performance reasons. Use a class or data selector on edges instead, updating the class or data of an edge when your app detects a change in source or target nodes.")}return!0},toString:function(){if(null!=this.toStringCache)return this.toStringCache;for(var t=function(t){return null==t?"":t},e=function(e){return A(e)?'"'+e+'"':t(e)},n=function(t){return" "+t+" "},r=function(i,o){return i.checks.reduce((function(a,s,c){return a+(o===i&&0===c?"$":"")+function(i,o){var a=i.type,s=i.value;switch(a){case 0:var c=t(s);return c.substring(0,c.length-1);case 3:var u=i.field,l=i.operator;return"["+u+n(t(l))+e(s)+"]";case 5:var h=i.operator,f=i.field;return"["+t(h)+f+"]";case 4:return"["+i.field+"]";case 6:var d=i.operator;return"[["+i.field+n(t(d))+e(s)+"]]";case 7:return s;case 8:return"#"+s;case 9:return"."+s;case 17:case 15:return r(i.parent,o)+n(">")+r(i.child,o);case 18:case 16:return r(i.ancestor,o)+" "+r(i.descendant,o);case 19:var p=r(i.left,o),g=r(i.subject,o),v=r(i.right,o);return p+(p.length>0?" ":"")+g+v;case hr:return""}}(s,o)}),"")},i="",o=0;o1&&o=0&&(e=e.replace("!",""),l=!0),e.indexOf("@")>=0&&(e=e.replace("@",""),u=!0),(a||c||u)&&(i=a||s?""+t:"",o=""+n),u&&(t=i=i.toLowerCase(),n=o=o.toLowerCase()),e){case"*=":r=i.indexOf(o)>=0;break;case"$=":r=i.indexOf(o,i.length-o.length)>=0;break;case"^=":r=0===i.indexOf(o);break;case"=":r=t===n;break;case">":h=!0,r=t>n;break;case">=":h=!0,r=t>=n;break;case"<":h=!0,r=t0;){var u=i.shift();e(u),o.add(u.id()),a&&r(i,o,u)}return t}function Mr(t,e,n){if(n.isParent())for(var r=n._private.children,i=0;i1&&void 0!==arguments[1])||arguments[1],Mr)},Lr.forEachUp=function(t){return Ir(this,t,!(arguments.length>1&&void 0!==arguments[1])||arguments[1],Pr)},Lr.forEachUpAndDown=function(t){return Ir(this,t,!(arguments.length>1&&void 0!==arguments[1])||arguments[1],Dr)},Lr.ancestors=Lr.parents,(Ar=Sr={data:sr.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),removeData:sr.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),scratch:sr.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:sr.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),rscratch:sr.data({field:"rscratch",allowBinding:!1,allowSetting:!0,settingTriggersEvent:!1,allowGetting:!0}),removeRscratch:sr.removeData({field:"rscratch",triggerEvent:!1}),id:function(){var t=this[0];if(t)return t._private.data.id}}).attr=Ar.data,Ar.removeAttr=Ar.removeData;var Rr,jr,Gr=Sr,Br={};function Fr(t){return function(e){var n=this;if(void 0===e&&(e=!0),0!==n.length&&n.isNode()&&!n.removed()){for(var r=0,i=n[0],o=i._private.edges,a=0;ae})),minIndegree:Hr("indegree",(function(t,e){return te})),minOutdegree:Hr("outdegree",(function(t,e){return te}))}),Q(Br,{totalDegree:function(t){for(var e=0,n=this.nodes(),r=0;r0,l=u;u&&(c=c[0]);var h=l?c.position():{x:0,y:0};return i={x:s.x-h.x,y:s.y-h.y},void 0===t?i:i[t]}for(var f=0;f0,v=g;g&&(p=p[0]);var b=v?p.position():{x:0,y:0};void 0!==e?d.position(t,e+b[t]):void 0!==i&&d.position({x:i.x+b.x,y:i.y+b.y})}}else if(!o)return;return this}},Rr.modelPosition=Rr.point=Rr.position,Rr.modelPositions=Rr.points=Rr.positions,Rr.renderedPoint=Rr.renderedPosition,Rr.relativePoint=Rr.relativePosition;var Ur,Vr,qr=jr;Ur=Vr={},Vr.renderedBoundingBox=function(t){var e=this.boundingBox(t),n=this.cy(),r=n.zoom(),i=n.pan(),o=e.x1*r+i.x,a=e.x2*r+i.x,s=e.y1*r+i.y,c=e.y2*r+i.y;return{x1:o,x2:a,y1:s,y2:c,w:a-o,h:c-s}},Vr.dirtyCompoundBoundsCache=function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0],e=this.cy();return e.styleEnabled()&&e.hasCompoundNodes()?(this.forEachUp((function(e){if(e.isParent()){var n=e._private;n.compoundBoundsClean=!1,n.bbCache=null,t||e.emitAndNotify("bounds")}})),this):this},Vr.updateCompoundBounds=function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0],e=this.cy();if(!e.styleEnabled()||!e.hasCompoundNodes())return this;if(!t&&e.batching())return this;function n(t){if(t.isParent()){var e=t._private,n=t.children(),r="include"===t.pstyle("compound-sizing-wrt-labels").value,i={width:{val:t.pstyle("min-width").pfValue,left:t.pstyle("min-width-bias-left"),right:t.pstyle("min-width-bias-right")},height:{val:t.pstyle("min-height").pfValue,top:t.pstyle("min-height-bias-top"),bottom:t.pstyle("min-height-bias-bottom")}},o=n.boundingBox({includeLabels:r,includeOverlays:!1,useCache:!1}),a=e.position;0!==o.w&&0!==o.h||((o={w:t.pstyle("width").pfValue,h:t.pstyle("height").pfValue}).x1=a.x-o.w/2,o.x2=a.x+o.w/2,o.y1=a.y-o.h/2,o.y2=a.y+o.h/2);var s=i.width.left.value;"px"===i.width.left.units&&i.width.val>0&&(s=100*s/i.width.val);var c=i.width.right.value;"px"===i.width.right.units&&i.width.val>0&&(c=100*c/i.width.val);var u=i.height.top.value;"px"===i.height.top.units&&i.height.val>0&&(u=100*u/i.height.val);var l=i.height.bottom.value;"px"===i.height.bottom.units&&i.height.val>0&&(l=100*l/i.height.val);var h=b(i.width.val-o.w,s,c),f=h.biasDiff,d=h.biasComplementDiff,p=b(i.height.val-o.h,u,l),g=p.biasDiff,v=p.biasComplementDiff;e.autoPadding=function(t,e,n,r){if("%"!==n.units)return"px"===n.units?n.pfValue:0;switch(r){case"width":return t>0?n.pfValue*t:0;case"height":return e>0?n.pfValue*e:0;case"average":return t>0&&e>0?n.pfValue*(t+e)/2:0;case"min":return t>0&&e>0?t>e?n.pfValue*e:n.pfValue*t:0;case"max":return t>0&&e>0?t>e?n.pfValue*t:n.pfValue*e:0;default:return 0}}(o.w,o.h,t.pstyle("padding"),t.pstyle("padding-relative-to").value),e.autoWidth=Math.max(o.w,i.width.val),a.x=(-f+o.x1+o.x2+d)/2,e.autoHeight=Math.max(o.h,i.height.val),a.y=(-g+o.y1+o.y2+v)/2}function b(t,e,n){var r=0,i=0,o=e+n;return t>0&&o>0&&(r=e/o*t,i=n/o*t),{biasDiff:r,biasComplementDiff:i}}}for(var r=0;rt.x2?r:t.x2,t.y1=nt.y2?i:t.y2,t.w=t.x2-t.x1,t.h=t.y2-t.y1)},$r=function(t,e){return null==e?t:Wr(t,e.x1,e.y1,e.x2,e.y2)},Zr=function(t,e,n){return Dt(t,e,n)},Kr=function(t,e,n){if(!e.cy().headless()){var r,i,o=e._private,a=o.rstyle,s=a.arrowWidth/2;if("none"!==e.pstyle(n+"-arrow-shape").value){"source"===n?(r=a.srcX,i=a.srcY):"target"===n?(r=a.tgtX,i=a.tgtY):(r=a.midX,i=a.midY);var c=o.arrowBounds=o.arrowBounds||{},u=c[n]=c[n]||{};u.x1=r-s,u.y1=i-s,u.x2=r+s,u.y2=i+s,u.w=u.x2-u.x1,u.h=u.y2-u.y1,be(u,1),Wr(t,u.x1,u.y1,u.x2,u.y2)}}},Qr=function(t,e,n){if(!e.cy().headless()){var r;r=n?n+"-":"";var i=e._private,o=i.rstyle;if(e.pstyle(r+"label").strValue){var a,s,c,u,l=e.pstyle("text-halign"),h=e.pstyle("text-valign"),f=Zr(o,"labelWidth",n),d=Zr(o,"labelHeight",n),p=Zr(o,"labelX",n),g=Zr(o,"labelY",n),v=e.pstyle(r+"text-margin-x").pfValue,b=e.pstyle(r+"text-margin-y").pfValue,y=e.isEdge(),m=e.pstyle(r+"text-rotation"),w=e.pstyle("text-outline-width").pfValue,x=e.pstyle("text-border-width").pfValue/2,_=e.pstyle("text-background-padding").pfValue,E=d,k=f,T=k/2,C=E/2;if(y)a=p-T,s=p+T,c=g-C,u=g+C;else{switch(l.value){case"left":a=p-k,s=p;break;case"center":a=p-T,s=p+T;break;case"right":a=p,s=p+k}switch(h.value){case"top":c=g-E,u=g;break;case"center":c=g-C,u=g+C;break;case"bottom":c=g,u=g+E}}a+=v-Math.max(w,x)-_-2,s+=v+Math.max(w,x)+_+2,c+=b-Math.max(w,x)-_-2,u+=b+Math.max(w,x)+_+2;var N=n||"main",A=i.labelBounds,S=A[N]=A[N]||{};S.x1=a,S.y1=c,S.x2=s,S.y2=u,S.w=s-a,S.h=u-c;var O=y&&"autorotate"===m.strValue,L=null!=m.pfValue&&0!==m.pfValue;if(O||L){var I=O?Zr(i.rstyle,"labelAngle",n):m.pfValue,M=Math.cos(I),P=Math.sin(I),D=(a+s)/2,R=(c+u)/2;if(!y){switch(l.value){case"left":D=s;break;case"right":D=a}switch(h.value){case"top":R=u;break;case"bottom":R=c}}var j=function(t,e){return{x:(t-=D)*M-(e-=R)*P+D,y:t*P+e*M+R}},G=j(a,c),B=j(a,u),F=j(s,c),H=j(s,u);a=Math.min(G.x,B.x,F.x,H.x),s=Math.max(G.x,B.x,F.x,H.x),c=Math.min(G.y,B.y,F.y,H.y),u=Math.max(G.y,B.y,F.y,H.y)}var Y=N+"Rot",z=A[Y]=A[Y]||{};z.x1=a,z.y1=c,z.x2=s,z.y2=u,z.w=s-a,z.h=u-c,Wr(t,a,c,s,u),Wr(i.labelBounds.all,a,c,s,u)}return t}},Jr=function(t){var e=0,n=function(t){return(t?1:0)<0&&o>0){var a=e.pstyle("outline-offset").value,s=e.pstyle("shape").value,c=o+a,u=(t.w+2*c)/t.w,l=(t.h+2*c)/t.h,h=0;["diamond","pentagon","round-triangle"].includes(s)?(u=(t.w+2.4*c)/t.w,h=-c/3.6):["concave-hexagon","rhomboid","right-rhomboid"].includes(s)?u=(t.w+2.4*c)/t.w:"star"===s?(u=(t.w+2.8*c)/t.w,l=(t.h+2.6*c)/t.h,h=-c/3.8):"triangle"===s?(u=(t.w+2.8*c)/t.w,l=(t.h+2.4*c)/t.h,h=-c/1.4):"vee"===s&&(u=(t.w+4.4*c)/t.w,l=(t.h+3.8*c)/t.h,h=.5*-c);var f=t.h*l-t.h,d=t.w*u-t.w;if(ye(t,[Math.ceil(f/2),Math.ceil(d/2)]),0!==h){var p=(r=h,{x1:(n=t).x1+0,x2:n.x2+0,y1:n.y1+r,y2:n.y2+r,w:n.w,h:n.h});ge(t,p)}}}}(f,t)}else if(g&&e.includeEdges)if(l&&!h){var N=t.pstyle("curve-style").strValue;if(n=Math.min(v.srcX,v.midX,v.tgtX),r=Math.max(v.srcX,v.midX,v.tgtX),i=Math.min(v.srcY,v.midY,v.tgtY),o=Math.max(v.srcY,v.midY,v.tgtY),Wr(f,n-=E,i-=E,r+=E,o+=E),"haystack"===N){var A=v.haystackPts;if(A&&2===A.length){if(n=A[0].x,i=A[0].y,n>(r=A[1].x)){var S=n;n=r,r=S}if(i>(o=A[1].y)){var O=i;i=o,o=O}Wr(f,n-E,i-E,r+E,o+E)}}else if("bezier"===N||"unbundled-bezier"===N||"segments"===N||"taxi"===N){var L;switch(N){case"bezier":case"unbundled-bezier":L=v.bezierPts;break;case"segments":case"taxi":L=v.linePts}if(null!=L)for(var I=0;I(r=D.x)){var R=n;n=r,r=R}if((i=P.y)>(o=D.y)){var j=i;i=o,o=j}Wr(f,n-=E,i-=E,r+=E,o+=E)}if(l&&e.includeEdges&&g&&(Kr(f,t,"mid-source"),Kr(f,t,"mid-target"),Kr(f,t,"source"),Kr(f,t,"target")),l&&"yes"===t.pstyle("ghost").value){var G=t.pstyle("ghost-offset-x").pfValue,B=t.pstyle("ghost-offset-y").pfValue;Wr(f,f.x1+G,f.y1+B,f.x2+G,f.y2+B)}var F=d.bodyBounds=d.bodyBounds||{};me(F,f),ye(F,b),be(F,1),l&&(n=f.x1,r=f.x2,i=f.y1,o=f.y2,Wr(f,n-_,i-_,r+_,o+_));var H=d.overlayBounds=d.overlayBounds||{};me(H,f),ye(H,b),be(H,1);var Y=d.labelBounds=d.labelBounds||{};null!=Y.all?((c=Y.all).x1=1/0,c.y1=1/0,c.x2=-1/0,c.y2=-1/0,c.w=0,c.h=0):Y.all=pe(),l&&e.includeLabels&&(e.includeMainLabels&&Qr(f,t,null),g&&(e.includeSourceLabels&&Qr(f,t,"source"),e.includeTargetLabels&&Qr(f,t,"target")))}return f.x1=Xr(f.x1),f.y1=Xr(f.y1),f.x2=Xr(f.x2),f.y2=Xr(f.y2),f.w=Xr(f.x2-f.x1),f.h=Xr(f.y2-f.y1),f.w>0&&f.h>0&&m&&(ye(f,b),be(f,1)),f}(t,ni),r.bbCache=n,r.bbCachePosKey=a):n=r.bbCache,!o){var l=t.isNode();n=pe(),(e.includeNodes&&l||e.includeEdges&&!l)&&(e.includeOverlays?$r(n,r.overlayBounds):$r(n,r.bodyBounds)),e.includeLabels&&(e.includeMainLabels&&(!i||e.includeSourceLabels&&e.includeTargetLabels)?$r(n,r.labelBounds.all):(e.includeMainLabels&&$r(n,r.labelBounds.mainRot),e.includeSourceLabels&&$r(n,r.labelBounds.sourceRot),e.includeTargetLabels&&$r(n,r.labelBounds.targetRot))),n.w=n.x2-n.x1,n.h=n.y2-n.y1}return n},ni={includeNodes:!0,includeEdges:!0,includeLabels:!0,includeMainLabels:!0,includeSourceLabels:!0,includeTargetLabels:!0,includeOverlays:!0,includeUnderlays:!0,includeOutlines:!0,useCache:!0},ri=Jr(ni),ii=It(ni);Vr.boundingBox=function(t){var e;if(1!==this.length||null==this[0]._private.bbCache||this[0]._private.styleDirty||void 0!==t&&void 0!==t.useCache&&!0!==t.useCache){e=pe();var n=ii(t=t||ni),r=this;if(r.cy().styleEnabled())for(var i=0;i0&&void 0!==arguments[0]?arguments[0]:mi,e=arguments.length>1?arguments[1]:void 0,n=0;n=0;s--)a(s);return this},xi.removeAllListeners=function(){return this.removeListener("*")},xi.emit=xi.trigger=function(t,e,n){var r=this.listeners,i=r.length;return this.emitting++,O(e)||(e=[e]),function(t,e,n){if("event"!==N(n))if(L(n))e(t,Ei(t,n));else for(var r=O(n)?n:n.split(/\s+/),i=0;i1&&!r){var i=this.length-1,o=this[i],a=o._private.data.id;this[i]=void 0,this[t]=o,n.set(a,{ele:o,index:t})}return this.length--,this},unmergeOne:function(t){t=t[0];var e=this._private,n=t._private.data.id,r=e.map.get(n);if(!r)return this;var i=r.index;return this.unmergeAt(i),this},unmerge:function(t){var e=this._private.cy;if(!t)return this;if(t&&A(t)){var n=t;t=e.mutableElements().filter(n)}for(var r=0;r=0;e--)t(this[e])&&this.unmergeAt(e);return this},map:function(t,e){for(var n=[],r=this,i=0;ir&&(r=s,n=a)}return{value:r,ele:n}},min:function(t,e){for(var n,r=1/0,i=this,o=0;o=0&&i1&&void 0!==arguments[1])||arguments[1],n=this[0],r=n.cy();if(r.styleEnabled()&&n){this.cleanStyle();var i=n._private.style[t];return null!=i?i:e?r.style().getDefaultProperty(t):null}},numericStyle:function(t){var e=this[0];if(e.cy().styleEnabled()&&e){var n=e.pstyle(t);return void 0!==n.pfValue?n.pfValue:n.value}},numericStyleUnits:function(t){var e=this[0];if(e.cy().styleEnabled())return e?e.pstyle(t).units:void 0},renderedStyle:function(t){var e=this.cy();if(!e.styleEnabled())return this;var n=this[0];return n?e.style().getRenderedStyle(n,t):void 0},style:function(t,e){var n=this.cy();if(!n.styleEnabled())return this;var r=n.style();if(L(t)){var i=t;r.applyBypass(this,i,!1),this.emitAndNotify("style")}else if(A(t)){if(void 0===e){var o=this[0];return o?r.getStylePropertyValue(o,t):void 0}r.applyBypass(this,t,e,!1),this.emitAndNotify("style")}else if(void 0===t){var a=this[0];return a?r.getRawStyle(a):void 0}return this},removeStyle:function(t){var e=this.cy();if(!e.styleEnabled())return this;var n=e.style(),r=this;if(void 0===t)for(var i=0;i0&&e.push(l[0]),e.push(s[0])}return this.spawn(e,!0).filter(t)}),"neighborhood"),closedNeighborhood:function(t){return this.neighborhood().add(this).filter(t)},openNeighborhood:function(t){return this.neighborhood(t)}}),Wi.neighbourhood=Wi.neighborhood,Wi.closedNeighbourhood=Wi.closedNeighborhood,Wi.openNeighbourhood=Wi.openNeighborhood,Q(Wi,{source:Or((function(t){var e,n=this[0];return n&&(e=n._private.source||n.cy().collection()),e&&t?e.filter(t):e}),"source"),target:Or((function(t){var e,n=this[0];return n&&(e=n._private.target||n.cy().collection()),e&&t?e.filter(t):e}),"target"),sources:Qi({attr:"source"}),targets:Qi({attr:"target"})}),Q(Wi,{edgesWith:Or(Ji(),"edgesWith"),edgesTo:Or(Ji({thisIsSrc:!0}),"edgesTo")}),Q(Wi,{connectedEdges:Or((function(t){for(var e=[],n=0;n0);return o},component:function(){var t=this[0];return t.cy().mutableElements().components(t)[0]}}),Wi.componentsOf=Wi.components;var eo=function(t,e){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(void 0!==t){var i=new jt,o=!1;if(e){if(e.length>0&&L(e[0])&&!D(e[0])){o=!0;for(var a=[],s=new Bt,c=0,u=e.length;c0&&void 0!==arguments[0])||arguments[0],r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=this,o=i.cy(),a=o._private,s=[],c=[],u=0,l=i.length;u0){for(var R=t.length===i.length?i:new eo(o,t),j=0;j0&&void 0!==arguments[0])||arguments[0],e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=this,r=[],i={},o=n._private.cy;function a(t){var n=i[t.id()];e&&t.removed()||n||(i[t.id()]=!0,t.isNode()?(r.push(t),function(t){for(var e=t._private.edges,n=0;n0&&(t?E.emitAndNotify("remove"):e&&E.emit("remove"));for(var k=0;k=.001?function(e,r){for(var i=0;i<4;++i){var o=f(r,t,n);if(0===o)return r;r-=(h(r,t,n)-e)/o}return r}(e,a):0===c?a:function(e,r,i){var o,a,s=0;do{(o=h(a=r+(i-r)/2,t,n)-e)>0?i=a:r=a}while(Math.abs(o)>1e-7&&++s<10);return a}(e,r,r+i)}(o),e,r)};p.getControlPoints=function(){return[{x:t,y:e},{x:n,y:r}]};var g="generateBezier("+[t,e,n,r]+")";return p.toString=function(){return g},p}var oo=function(){function t(t){return-t.tension*t.x-t.friction*t.v}function e(e,n,r){var i={x:e.x+r.dx*n,v:e.v+r.dv*n,tension:e.tension,friction:e.friction};return{dx:i.v,dv:t(i)}}function n(n,r){var i={dx:n.v,dv:t(n)},o=e(n,.5*r,i),a=e(n,.5*r,o),s=e(n,r,a),c=1/6*(i.dx+2*(o.dx+a.dx)+s.dx),u=1/6*(i.dv+2*(o.dv+a.dv)+s.dv);return n.x=n.x+c*r,n.v=n.v+u*r,n}return function t(e,r,i){var o,a,s,c={x:-1,v:0,tension:null,friction:null},u=[0],l=0,h=1e-4;for(e=parseFloat(e)||500,r=parseFloat(r)||20,i=i||null,c.tension=e,c.friction=r,a=(o=null!==i)?(l=t(e,r))/i*.016:.016;s=n(s||c,a),u.push(1+s.x),l+=16,Math.abs(s.x)>h&&Math.abs(s.v)>h;);return o?function(t){return u[t*(u.length-1)|0]}:l}}(),ao=function(t,e,n,r){var i=io(t,e,n,r);return function(t,e,n){return t+(e-t)*i(n)}},so={linear:function(t,e,n){return t+(e-t)*n},ease:ao(.25,.1,.25,1),"ease-in":ao(.42,0,1,1),"ease-out":ao(0,0,.58,1),"ease-in-out":ao(.42,0,.58,1),"ease-in-sine":ao(.47,0,.745,.715),"ease-out-sine":ao(.39,.575,.565,1),"ease-in-out-sine":ao(.445,.05,.55,.95),"ease-in-quad":ao(.55,.085,.68,.53),"ease-out-quad":ao(.25,.46,.45,.94),"ease-in-out-quad":ao(.455,.03,.515,.955),"ease-in-cubic":ao(.55,.055,.675,.19),"ease-out-cubic":ao(.215,.61,.355,1),"ease-in-out-cubic":ao(.645,.045,.355,1),"ease-in-quart":ao(.895,.03,.685,.22),"ease-out-quart":ao(.165,.84,.44,1),"ease-in-out-quart":ao(.77,0,.175,1),"ease-in-quint":ao(.755,.05,.855,.06),"ease-out-quint":ao(.23,1,.32,1),"ease-in-out-quint":ao(.86,0,.07,1),"ease-in-expo":ao(.95,.05,.795,.035),"ease-out-expo":ao(.19,1,.22,1),"ease-in-out-expo":ao(1,0,0,1),"ease-in-circ":ao(.6,.04,.98,.335),"ease-out-circ":ao(.075,.82,.165,1),"ease-in-out-circ":ao(.785,.135,.15,.86),spring:function(t,e,n){if(0===n)return so.linear;var r=oo(t,e,n);return function(t,e,n){return t+(e-t)*r(n)}},"cubic-bezier":ao};function co(t,e,n,r,i){if(1===r)return n;if(e===n)return n;var o=i(e,n,r);return null==t||((t.roundValue||t.color)&&(o=Math.round(o)),void 0!==t.min&&(o=Math.max(o,t.min)),void 0!==t.max&&(o=Math.min(o,t.max))),o}function uo(t,e){return null!=t.pfValue||null!=t.value?null==t.pfValue||null!=e&&"%"===e.type.units?t.value:t.pfValue:t}function lo(t,e,n,r,i){var o=null!=i?i.type:null;n<0?n=0:n>1&&(n=1);var a=uo(t,i),s=uo(e,i);if(I(a)&&I(s))return co(o,a,s,n,r);if(O(a)&&O(s)){for(var c=[],u=0;u0?("spring"===h&&f.push(a.duration),a.easingImpl=so[h].apply(null,f)):a.easingImpl=so[h]}var d,p=a.easingImpl;if(d=0===a.duration?1:(n-c)/a.duration,a.applying&&(d=a.progress),d<0?d=0:d>1&&(d=1),null==a.delay){var g=a.startPosition,v=a.position;if(v&&i&&!t.locked()){var b={};fo(g.x,v.x)&&(b.x=lo(g.x,v.x,d,p)),fo(g.y,v.y)&&(b.y=lo(g.y,v.y,d,p)),t.position(b)}var y=a.startPan,m=a.pan,w=o.pan,x=null!=m&&r;x&&(fo(y.x,m.x)&&(w.x=lo(y.x,m.x,d,p)),fo(y.y,m.y)&&(w.y=lo(y.y,m.y,d,p)),t.emit("pan"));var _=a.startZoom,E=a.zoom,k=null!=E&&r;k&&(fo(_,E)&&(o.zoom=de(o.minZoom,lo(_,E,d,p),o.maxZoom)),t.emit("zoom")),(x||k)&&t.emit("viewport");var T=a.style;if(T&&T.length>0&&i){for(var C=0;C=0;e--)(0,t[e])();t.splice(0,t.length)},l=o.length-1;l>=0;l--){var h=o[l],f=h._private;f.stopped?(o.splice(l,1),f.hooked=!1,f.playing=!1,f.started=!1,u(f.frames)):(f.playing||f.applying)&&(f.playing&&f.applying&&(f.applying=!1),f.started||po(0,h,t),ho(e,h,t,n),f.applying&&(f.applying=!1),u(f.frames),null!=f.step&&f.step(t),h.completed()&&(o.splice(l,1),f.hooked=!1,f.playing=!1,f.started=!1,u(f.completes)),s=!0)}return n||0!==o.length||0!==a.length||r.push(e),s}for(var o=!1,a=0;a0?e.notify("draw",n):e.notify("draw")),n.unmerge(r),e.emit("step")}var vo={animate:sr.animate(),animation:sr.animation(),animated:sr.animated(),clearQueue:sr.clearQueue(),delay:sr.delay(),delayAnimation:sr.delayAnimation(),stop:sr.stop(),addToAnimationPool:function(t){this.styleEnabled()&&this._private.aniEles.merge(t)},stopAnimationLoop:function(){this._private.animationsRunning=!1},startAnimationLoop:function(){var t=this;if(t._private.animationsRunning=!0,t.styleEnabled()){var e=t.renderer();e&&e.beforeRender?e.beforeRender((function(e,n){go(n,t)}),e.beforeRenderPriorities.animations):function e(){t._private.animationsRunning&&ot((function(n){go(n,t),e()}))}()}}},bo={qualifierCompare:function(t,e){return null==t||null==e?null==t&&null==e:t.sameText(e)},eventMatches:function(t,e,n){var r=e.qualifier;return null==r||t!==n.target&&D(n.target)&&r.matches(n.target)},addEventFields:function(t,e){e.cy=t,e.target=t},callbackContext:function(t,e,n){return null!=e.qualifier?n.target:t}},yo=function(t){return A(t)?new Tr(t):t},mo={createEmitter:function(){var t=this._private;return t.emitter||(t.emitter=new wi(bo,this)),this},emitter:function(){return this._private.emitter},on:function(t,e,n){return this.emitter().on(t,yo(e),n),this},removeListener:function(t,e,n){return this.emitter().removeListener(t,yo(e),n),this},removeAllListeners:function(){return this.emitter().removeAllListeners(),this},one:function(t,e,n){return this.emitter().one(t,yo(e),n),this},once:function(t,e,n){return this.emitter().one(t,yo(e),n),this},emit:function(t,e){return this.emitter().emit(t,e),this},emitAndNotify:function(t,e){return this.emit(t),this.notify(t,e),this}};sr.eventAliasesOn(mo);var wo={png:function(t){return t=t||{},this._private.renderer.png(t)},jpg:function(t){var e=this._private.renderer;return(t=t||{}).bg=t.bg||"#fff",e.jpg(t)}};wo.jpeg=wo.jpg;var xo={layout:function(t){var e=this;if(null!=t)if(null!=t.name){var n,r=t.name,i=e.extension("layout",r);if(null!=i)return n=A(t.eles)?e.$(t.eles):null!=t.eles?t.eles:e.$(),new i(Q({},t,{cy:e,eles:n}));Tt("No such layout `"+r+"` found. Did you forget to import it and `cytoscape.use()` it?")}else Tt("A `name` must be specified to make a layout");else Tt("Layout options must be specified to make a layout")}};xo.createLayout=xo.makeLayout=xo.layout;var _o={notify:function(t,e){var n=this._private;if(this.batching()){n.batchNotifications=n.batchNotifications||{};var r=n.batchNotifications[t]=n.batchNotifications[t]||this.collection();null!=e&&r.merge(e)}else if(n.notificationsEnabled){var i=this.renderer();!this.destroyed()&&i&&i.notify(t,e)}},notifications:function(t){var e=this._private;return void 0===t?e.notificationsEnabled:(e.notificationsEnabled=!!t,this)},noNotifications:function(t){this.notifications(!1),t(),this.notifications(!0)},batching:function(){return this._private.batchCount>0},startBatch:function(){var t=this._private;return null==t.batchCount&&(t.batchCount=0),0===t.batchCount&&(t.batchStyleEles=this.collection(),t.batchNotifications={}),t.batchCount++,this},endBatch:function(){var t=this._private;if(0===t.batchCount)return this;if(t.batchCount--,0===t.batchCount){t.batchStyleEles.updateStyle();var e=this.renderer();Object.keys(t.batchNotifications).forEach((function(n){var r=t.batchNotifications[n];r.empty()?e.notify(n):e.notify(n,r)}))}return this},batch:function(t){return this.startBatch(),t(),this.endBatch(),this},batchData:function(t){var e=this;return this.batch((function(){for(var n=Object.keys(t),r=0;r0;)e.removeChild(e.childNodes[0]);t._private.renderer=null,t.mutableElements().forEach((function(t){var e=t._private;e.rscratch={},e.rstyle={},e.animation.current=[],e.animation.queue=[]}))},onRender:function(t){return this.on("render",t)},offRender:function(t){return this.off("render",t)}};ko.invalidateDimensions=ko.resize;var To={collection:function(t,e){return A(t)?this.$(t):P(t)?t.collection():O(t)?(e||(e={}),new eo(this,t,e.unique,e.removed)):new eo(this)},nodes:function(t){var e=this.$((function(t){return t.isNode()}));return t?e.filter(t):e},edges:function(t){var e=this.$((function(t){return t.isEdge()}));return t?e.filter(t):e},$:function(t){var e=this._private.elements;return t?e.filter(t):e.spawnSelf()},mutableElements:function(){return this._private.elements}};To.elements=To.filter=To.$;var Co={},No="t";Co.apply=function(t){for(var e=this,n=e._private.cy.collection(),r=0;r0;if(f||h&&d){var p=void 0;f&&d||f?p=u.properties:d&&(p=u.mappedProperties);for(var g=0;g1&&(v=1),s.color){var x=i.valueMin[0],_=i.valueMax[0],E=i.valueMin[1],k=i.valueMax[1],T=i.valueMin[2],C=i.valueMax[2],N=null==i.valueMin[3]?1:i.valueMin[3],A=null==i.valueMax[3]?1:i.valueMax[3],S=[Math.round(x+(_-x)*v),Math.round(E+(k-E)*v),Math.round(T+(C-T)*v),Math.round(N+(A-N)*v)];n={bypass:i.bypass,name:i.name,value:S,strValue:"rgb("+S[0]+", "+S[1]+", "+S[2]+")"}}else{if(!s.number)return!1;var O=i.valueMin+(i.valueMax-i.valueMin)*v;n=this.parse(i.name,O,i.bypass,f)}if(!n)return g(),!1;n.mapping=i,i=n;break;case a.data:for(var L=i.field.split("."),M=h.data,P=0;P0&&o>0){for(var s={},c=!1,u=0;u0?t.delayAnimation(a).play().promise().then(e):e()})).then((function(){return t.animation({style:s,duration:o,easing:t.pstyle("transition-timing-function").value,queue:!1}).play().promise()})).then((function(){n.removeBypasses(t,i),t.emitAndNotify("style"),r.transitioning=!1}))}else r.transitioning&&(this.removeBypasses(t,i),t.emitAndNotify("style"),r.transitioning=!1)},Co.checkTrigger=function(t,e,n,r,i,o){var a=this.properties[e],s=i(a);null!=s&&s(n,r)&&o(a)},Co.checkZOrderTrigger=function(t,e,n,r){var i=this;this.checkTrigger(t,e,n,r,(function(t){return t.triggersZOrder}),(function(){i._private.cy.notify("zorder",t)}))},Co.checkBoundsTrigger=function(t,e,n,r){this.checkTrigger(t,e,n,r,(function(t){return t.triggersBounds}),(function(i){t.dirtyCompoundBoundsCache(),t.dirtyBoundingBoxCache(),!i.triggersBoundsOfParallelBeziers||"curve-style"!==e||"bezier"!==n&&"bezier"!==r||t.parallelEdges().forEach((function(t){t.isBundledBezier()&&t.dirtyBoundingBoxCache()})),!i.triggersBoundsOfConnectedEdges||"display"!==e||"none"!==n&&"none"!==r||t.connectedEdges().forEach((function(t){t.dirtyBoundingBoxCache()}))}))},Co.checkTriggers=function(t,e,n,r){t.dirtyStyleCache(),this.checkZOrderTrigger(t,e,n,r),this.checkBoundsTrigger(t,e,n,r)};var Ao={applyBypass:function(t,e,n,r){var i=[];if("*"===e||"**"===e){if(void 0!==n)for(var o=0;oe.length?o.substr(e.length):""}function s(){n=n.length>r.length?n.substr(r.length):""}for(o=o.replace(/[/][*](\s|.)+?[*][/]/g,"");!o.match(/^\s*$/);){var c=o.match(/^\s*((?:.|\s)+?)\s*\{((?:.|\s)+?)\}/);if(!c){Nt("Halting stylesheet parsing: String stylesheet contains more to parse but no selector and block found in: "+o);break}e=c[0];var u=c[1];if("core"!==u&&new Tr(u).invalid)Nt("Skipping parsing of block: Invalid selector found in string stylesheet: "+u),a();else{var l=c[2],h=!1;n=l;for(var f=[];!n.match(/^\s*$/);){var d=n.match(/^\s*(.+?)\s*:\s*(.+?)(?:\s*;|\s*$)/);if(!d){Nt("Skipping parsing of block: Invalid formatting of style property and value definitions found in:"+l),h=!0;break}r=d[0];var p=d[1],g=d[2];this.properties[p]?i.parse(p,g)?(f.push({name:p,val:g}),s()):(Nt("Skipping property: Invalid property definition in: "+r),s()):(Nt("Skipping property: Invalid property name in: "+r),s())}if(h){a();break}i.selector(u);for(var v=0;v=7&&"d"===e[0]&&(u=new RegExp(s.data.regex).exec(e))){if(n)return!1;var f=s.data;return{name:t,value:u,strValue:""+e,mapped:f,field:u[1],bypass:n}}if(e.length>=10&&"m"===e[0]&&(l=new RegExp(s.mapData.regex).exec(e))){if(n)return!1;if(h.multiple)return!1;var d=s.mapData;if(!h.color&&!h.number)return!1;var p=this.parse(t,l[4]);if(!p||p.mapped)return!1;var g=this.parse(t,l[5]);if(!g||g.mapped)return!1;if(p.pfValue===g.pfValue||p.strValue===g.strValue)return Nt("`"+t+": "+e+"` is not a valid mapper because the output range is zero; converting to `"+t+": "+p.strValue+"`"),this.parse(t,p.strValue);if(h.color){var v=p.value,b=g.value;if(!(v[0]!==b[0]||v[1]!==b[1]||v[2]!==b[2]||v[3]!==b[3]&&(null!=v[3]&&1!==v[3]||null!=b[3]&&1!==b[3])))return!1}return{name:t,value:l,strValue:""+e,mapped:d,field:l[1],fieldMin:parseFloat(l[2]),fieldMax:parseFloat(l[3]),valueMin:p.value,valueMax:g.value,bypass:n}}}if(h.multiple&&"multiple"!==r){var y;if(y=c?e.split(/\s+/):O(e)?e:[e],h.evenMultiple&&y.length%2!=0)return null;for(var m=[],w=[],x=[],_="",E=!1,k=0;k0?" ":"")+T.strValue}return h.validate&&!h.validate(m,w)?null:h.singleEnum&&E?1===m.length&&A(m[0])?{name:t,value:m[0],strValue:m[0],bypass:n}:null:{name:t,value:m,pfValue:x,strValue:_,bypass:n,units:w}}var C,N,L,M=function(){for(var r=0;rh.max||h.strictMax&&e===h.max))return null;var G={name:t,value:e,strValue:""+e+(P||""),units:P,bypass:n};return h.unitless||"px"!==P&&"em"!==P?G.pfValue=e:G.pfValue="px"!==P&&P?this.getEmSizeInPixels()*e:e,"ms"!==P&&"s"!==P||(G.pfValue="ms"===P?e:1e3*e),"deg"!==P&&"rad"!==P||(G.pfValue="rad"===P?e:(C=e,Math.PI*C/180)),"%"===P&&(G.pfValue=e/100),G}if(h.propList){var B=[],F=""+e;if("none"===F);else{for(var H=F.split(/\s*,\s*|\s+/),z=0;z255)return;e.push(Math.floor(o))}var a=r[1]||r[2]||r[3],s=r[1]&&r[2]&&r[3];if(a&&!s)return;var c=n[4];if(void 0!==c){if((c=parseFloat(c))<0||c>1)return;e.push(c)}}return e}(L)||function(t){var e,n,r,i,o,a,s,c;function u(t,e,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?t+6*(e-t)*n:n<.5?e:n<2/3?t+(e-t)*(2/3-n)*6:t}var l=new RegExp("^"+$+"$").exec(t);if(l){if((n=parseInt(l[1]))<0?n=(360- -1*n%360)%360:n>360&&(n%=360),n/=360,(r=parseFloat(l[2]))<0||r>100)return;if(r/=100,(i=parseFloat(l[3]))<0||i>100)return;if(i/=100,void 0!==(o=l[4])&&((o=parseFloat(o))<0||o>1))return;if(0===r)a=s=c=Math.round(255*i);else{var h=i<.5?i*(1+r):i+r-i*r,f=2*i-h;a=Math.round(255*u(f,h,n+1/3)),s=Math.round(255*u(f,h,n)),c=Math.round(255*u(f,h,n-1/3))}e=[a,s,c,o]}return e}(L);return V?{name:t,value:V,pfValue:V,strValue:"rgb("+V[0]+","+V[1]+","+V[2]+")",bypass:n}:null}if(h.regex||h.regexes){if(h.enums){var W=M();if(W)return W}for(var Z=h.regexes?h.regexes:[h.regex],K=0;K0&&c>0&&!isNaN(n.w)&&!isNaN(n.h)&&n.w>0&&n.h>0)return{zoom:a=(a=(a=Math.min((s-2*e)/n.w,(c-2*e)/n.h))>this._private.maxZoom?this._private.maxZoom:a)=n.minZoom&&(n.maxZoom=e),this},minZoom:function(t){return void 0===t?this._private.minZoom:this.zoomRange({min:t})},maxZoom:function(t){return void 0===t?this._private.maxZoom:this.zoomRange({max:t})},getZoomedViewport:function(t){var e,n,r=this._private,i=r.pan,o=r.zoom,a=!1;if(r.zoomingEnabled||(a=!0),I(t)?n=t:L(t)&&(n=t.level,null!=t.position?e=ne(t.position,o,i):null!=t.renderedPosition&&(e=t.renderedPosition),null==e||r.panningEnabled||(a=!0)),n=(n=n>r.maxZoom?r.maxZoom:n)e.maxZoom||!e.zoomingEnabled?o=!0:(e.zoom=s,i.push("zoom"))}if(r&&(!o||!t.cancelOnFailedZoom)&&e.panningEnabled){var c=t.pan;I(c.x)&&(e.pan.x=c.x,a=!1),I(c.y)&&(e.pan.y=c.y,a=!1),a||i.push("pan")}return i.length>0&&(i.push("viewport"),this.emit(i.join(" ")),this.notify("viewport")),this},center:function(t){var e=this.getCenterPan(t);return e&&(this._private.pan=e,this.emit("pan viewport"),this.notify("viewport")),this},getCenterPan:function(t,e){if(this._private.panningEnabled){if(A(t)){var n=t;t=this.mutableElements().filter(n)}else P(t)||(t=this.mutableElements());if(0!==t.length){var r=t.boundingBox(),i=this.width(),o=this.height();return{x:(i-(e=void 0===e?this._private.zoom:e)*(r.x1+r.x2))/2,y:(o-e*(r.y1+r.y2))/2}}}},reset:function(){return this._private.panningEnabled&&this._private.zoomingEnabled?(this.viewport({pan:{x:0,y:0},zoom:1}),this):this},invalidateSize:function(){this._private.sizeCache=null},size:function(){var t,e,n=this._private,r=n.container;return n.sizeCache=n.sizeCache||(r?(t=this.window().getComputedStyle(r),e=function(e){return parseFloat(t.getPropertyValue(e))},{width:r.clientWidth-e("padding-left")-e("padding-right"),height:r.clientHeight-e("padding-top")-e("padding-bottom")}):{width:1,height:1})},width:function(){return this.size().width},height:function(){return this.size().height},extent:function(){var t=this._private.pan,e=this._private.zoom,n=this.renderedExtent(),r={x1:(n.x1-t.x)/e,x2:(n.x2-t.x)/e,y1:(n.y1-t.y)/e,y2:(n.y2-t.y)/e};return r.w=r.x2-r.x1,r.h=r.y2-r.y1,r},renderedExtent:function(){var t=this.width(),e=this.height();return{x1:0,y1:0,x2:t,y2:e,w:t,h:e}},multiClickDebounceTime:function(t){return t?(this._private.multiClickDebounceTime=t,this):this._private.multiClickDebounceTime}};Go.centre=Go.center,Go.autolockNodes=Go.autolock,Go.autoungrabifyNodes=Go.autoungrabify;var Bo={data:sr.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeData:sr.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),scratch:sr.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:sr.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0})};Bo.attr=Bo.data,Bo.removeAttr=Bo.removeData;var Fo=function(t){var e=this,n=(t=Q({},t)).container;n&&!M(n)&&M(n[0])&&(n=n[0]);var r=n?n._cyreg:null;(r=r||{})&&r.cy&&(r.cy.destroy(),r={});var i=r.readies=r.readies||[];n&&(n._cyreg=r),r.cy=e;var o=void 0!==x&&void 0!==n&&!t.headless,a=t;a.layout=Q({name:o?"grid":"null"},a.layout),a.renderer=Q({name:o?"canvas":"null"},a.renderer);var s=function(t,e,n){return void 0!==e?e:void 0!==n?n:t},c=this._private={container:n,ready:!1,options:a,elements:new eo(this),listeners:[],aniEles:new eo(this),data:a.data||{},scratch:{},layout:null,renderer:null,destroyed:!1,notificationsEnabled:!0,minZoom:1e-50,maxZoom:1e50,zoomingEnabled:s(!0,a.zoomingEnabled),userZoomingEnabled:s(!0,a.userZoomingEnabled),panningEnabled:s(!0,a.panningEnabled),userPanningEnabled:s(!0,a.userPanningEnabled),boxSelectionEnabled:s(!0,a.boxSelectionEnabled),autolock:s(!1,a.autolock,a.autolockNodes),autoungrabify:s(!1,a.autoungrabify,a.autoungrabifyNodes),autounselectify:s(!1,a.autounselectify),styleEnabled:void 0===a.styleEnabled?o:a.styleEnabled,zoom:I(a.zoom)?a.zoom:1,pan:{x:L(a.pan)&&I(a.pan.x)?a.pan.x:0,y:L(a.pan)&&I(a.pan.y)?a.pan.y:0},animation:{current:[],queue:[]},hasCompoundNodes:!1,multiClickDebounceTime:s(250,a.multiClickDebounceTime)};this.createEmitter(),this.selectionType(a.selectionType),this.zoomRange({min:a.minZoom,max:a.maxZoom}),c.styleEnabled&&e.setStyle([]);var u=Q({},a,a.renderer);e.initRenderer(u),function(t,e){if(t.some(F))return er.all(t).then(e);e(t)}([a.style,a.elements],(function(t){var n=t[0],o=t[1];c.styleEnabled&&e.style().append(n),function(t,n,r){e.notifications(!1);var i=e.mutableElements();i.length>0&&i.remove(),null!=t&&(L(t)||O(t))&&e.add(t),e.one("layoutready",(function(t){e.notifications(!0),e.emit(t),e.one("load",n),e.emitAndNotify("load")})).one("layoutstop",(function(){e.one("done",r),e.emit("done")}));var o=Q({},e._private.options.layout);o.eles=e.elements(),e.layout(o).run()}(o,(function(){e.startAnimationLoop(),c.ready=!0,S(a.ready)&&e.on("ready",a.ready);for(var t=0;t0,u=pe(n.boundingBox?n.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()});if(P(n.roots))t=n.roots;else if(O(n.roots)){for(var l=[],h=0;h0;){var L=C.shift(),I=T(L,N);if(I)L.outgoers().filter((function(t){return t.isNode()&&i.has(t)})).forEach(S);else if(null===I){Nt("Detected double maximal shift for node `"+L.id()+"`. Bailing maximal adjustment due to cycle. Use `options.maximal: true` only on DAGs.");break}}}k();var M=0;if(n.avoidOverlap)for(var D=0;D0&&b[0].length<=3?c/2:0),h=2*Math.PI/b[r].length*i;return 0===r&&1===b[0].length&&(l=1),{x:X+l*Math.cos(h),y:W+l*Math.sin(h)}}return{x:X+(i+1-(o+1)/2)*a,y:(r+1)*s}})),this};var Xo={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,radius:void 0,startAngle:1.5*Math.PI,sweep:void 0,clockwise:!0,sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(t,e){return!0},ready:void 0,stop:void 0,transform:function(t,e){return e}};function Wo(t){this.options=Q({},Xo,t)}Wo.prototype.run=function(){var t=this.options,e=t,n=t.cy,r=e.eles,i=void 0!==e.counterclockwise?!e.counterclockwise:e.clockwise,o=r.nodes().not(":parent");e.sort&&(o=o.sort(e.sort));for(var a,s=pe(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:n.width(),h:n.height()}),c=s.x1+s.w/2,u=s.y1+s.h/2,l=(void 0===e.sweep?2*Math.PI-2*Math.PI/o.length:e.sweep)/Math.max(1,o.length-1),h=0,f=0;f1&&e.avoidOverlap){h*=1.75;var v=Math.cos(l)-Math.cos(0),b=Math.sin(l)-Math.sin(0),y=Math.sqrt(h*h/(v*v+b*b));a=Math.max(y,a)}return r.nodes().layoutPositions(this,e,(function(t,n){var r=e.startAngle+n*l*(i?1:-1),o=a*Math.cos(r),s=a*Math.sin(r);return{x:c+o,y:u+s}})),this};var $o,Zo={fit:!0,padding:30,startAngle:1.5*Math.PI,sweep:void 0,clockwise:!0,equidistant:!1,minNodeSpacing:10,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,height:void 0,width:void 0,spacingFactor:void 0,concentric:function(t){return t.degree()},levelWidth:function(t){return t.maxDegree()/4},animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(t,e){return!0},ready:void 0,stop:void 0,transform:function(t,e){return e}};function Ko(t){this.options=Q({},Zo,t)}Ko.prototype.run=function(){for(var t=this.options,e=t,n=void 0!==e.counterclockwise?!e.counterclockwise:e.clockwise,r=t.cy,i=e.eles,o=i.nodes().not(":parent"),a=pe(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()}),s=a.x1+a.w/2,c=a.y1+a.h/2,u=[],l=0,h=0;h0&&Math.abs(y[0].value-w.value)>=v&&(y=[],b.push(y)),y.push(w)}var x=l+e.minNodeSpacing;if(!e.avoidOverlap){var _=b.length>0&&b[0].length>1,E=(Math.min(a.w,a.h)/2-x)/(b.length+_?1:0);x=Math.min(x,E)}for(var k=0,T=0;T1&&e.avoidOverlap){var S=Math.cos(A)-Math.cos(0),O=Math.sin(A)-Math.sin(0),L=Math.sqrt(x*x/(S*S+O*O));k=Math.max(L,k)}C.r=k,k+=x}if(e.equidistant){for(var I=0,M=0,P=0;P=t.numIter||(aa(r,t),r.temperature=r.temperature*t.coolingFactor,r.temperature=t.animationThreshold&&o(),ot(e)):(ya(r,t),s())}();else{for(;u;)u=a(c),c++;ya(r,t),s()}return this},Jo.prototype.stop=function(){return this.stopped=!0,this.thread&&this.thread.stop(),this.emit("layoutstop"),this},Jo.prototype.destroy=function(){return this.thread&&this.thread.stop(),this};var ta=function(t,e,n){for(var r=n.eles.edges(),i=n.eles.nodes(),o=pe(n.boundingBox?n.boundingBox:{x1:0,y1:0,w:t.width(),h:t.height()}),a={isCompound:t.hasCompoundNodes(),layoutNodes:[],idToIndex:{},nodeSize:i.size(),graphSet:[],indexToGraph:[],layoutEdges:[],edgeSize:r.size(),temperature:n.initialTemp,clientWidth:o.w,clientHeight:o.h,boundingBox:o},s=n.eles.components(),c={},u=0;u0)for(a.graphSet.push(x),u=0;ur.count?0:r.graph},na=function t(e,n,r,i){var o=i.graphSet[r];if(-10)var s=(u=r.nodeOverlap*a)*i/(g=Math.sqrt(i*i+o*o)),c=u*o/g;else{var u,l=ha(t,i,o),h=ha(e,-1*i,-1*o),f=h.x-l.x,d=h.y-l.y,p=f*f+d*d,g=Math.sqrt(p);s=(u=(t.nodeRepulsion+e.nodeRepulsion)/p)*f/g,c=u*d/g}t.isLocked||(t.offsetX-=s,t.offsetY-=c),e.isLocked||(e.offsetX+=s,e.offsetY+=c)}},la=function(t,e,n,r){if(n>0)var i=t.maxX-e.minX;else i=e.maxX-t.minX;if(r>0)var o=t.maxY-e.minY;else o=e.maxY-t.minY;return i>=0&&o>=0?Math.sqrt(i*i+o*o):0},ha=function(t,e,n){var r=t.positionX,i=t.positionY,o=t.height||1,a=t.width||1,s=n/e,c=o/a,u={};return 0===e&&0n?(u.x=r,u.y=i+o/2,u):0e&&-1*c<=s&&s<=c?(u.x=r-a/2,u.y=i-a*n/2/e,u):0=c)?(u.x=r+o*e/2/n,u.y=i+o/2,u):0>n&&(s<=-1*c||s>=c)?(u.x=r-o*e/2/n,u.y=i-o/2,u):u},fa=function(t,e){for(var n=0;n1){var p=e.gravity*h/d,g=e.gravity*f/d;l.offsetX+=p,l.offsetY+=g}}}}},pa=function(t,e){var n=[],r=0,i=-1;for(n.push.apply(n,t.graphSet[0]),i+=t.graphSet[0].length;r<=i;){var o=n[r++],a=t.idToIndex[o],s=t.layoutNodes[a],c=s.children;if(0n)var i={x:n*t/r,y:n*e/r};else i={x:t,y:e};return i},ba=function t(e,n){var r=e.parentId;if(null!=r){var i=n.layoutNodes[n.idToIndex[r]],o=!1;return(null==i.maxX||e.maxX+i.padRight>i.maxX)&&(i.maxX=e.maxX+i.padRight,o=!0),(null==i.minX||e.minX-i.padLefti.maxY)&&(i.maxY=e.maxY+i.padBottom,o=!0),(null==i.minY||e.minY-i.padTopp&&(h+=d+e.componentSpacing,l=0,f=0,d=0)}}},ma={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,avoidOverlapPadding:10,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,condense:!1,rows:void 0,cols:void 0,position:function(t){},sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(t,e){return!0},ready:void 0,stop:void 0,transform:function(t,e){return e}};function wa(t){this.options=Q({},ma,t)}wa.prototype.run=function(){var t=this.options,e=t,n=t.cy,r=e.eles,i=r.nodes().not(":parent");e.sort&&(i=i.sort(e.sort));var o=pe(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:n.width(),h:n.height()});if(0===o.h||0===o.w)r.nodes().layoutPositions(this,e,(function(t){return{x:o.x1,y:o.y1}}));else{var a=i.size(),s=Math.sqrt(a*o.h/o.w),c=Math.round(s),u=Math.round(o.w/o.h*s),l=function(t){if(null==t)return Math.min(c,u);Math.min(c,u)==c?c=t:u=t},h=function(t){if(null==t)return Math.max(c,u);Math.max(c,u)==c?c=t:u=t},f=e.rows,d=null!=e.cols?e.cols:e.columns;if(null!=f&&null!=d)c=f,u=d;else if(null!=f&&null==d)c=f,u=Math.ceil(a/c);else if(null==f&&null!=d)u=d,c=Math.ceil(a/u);else if(u*c>a){var p=l(),g=h();(p-1)*g>=a?l(p-1):(g-1)*p>=a&&h(g-1)}else for(;u*c=a?h(b+1):l(v+1)}var y=o.w/u,m=o.h/c;if(e.condense&&(y=0,m=0),e.avoidOverlap)for(var w=0;w=u&&(L=0,O++)},M={},P=0;P(r=Ne(t,e,w[x],w[x+1],w[x+2],w[x+3])))return v(n,r),!0}else if("bezier"===o.edgeType||"multibezier"===o.edgeType||"self"===o.edgeType||"compound"===o.edgeType)for(w=o.allpts,x=0;x+5(r=Ce(t,e,w[x],w[x+1],w[x+2],w[x+3],w[x+4],w[x+5])))return v(n,r),!0;y=y||i.source,m=m||i.target;var _=a.getArrowWidth(c,l),E=[{name:"source",x:o.arrowStartX,y:o.arrowStartY,angle:o.srcArrowAngle},{name:"target",x:o.arrowEndX,y:o.arrowEndY,angle:o.tgtArrowAngle},{name:"mid-source",x:o.midX,y:o.midY,angle:o.midsrcArrowAngle},{name:"mid-target",x:o.midX,y:o.midY,angle:o.midtgtArrowAngle}];for(x=0;x0&&(b(y),b(m))}function m(t,e,n){return Dt(t,e,n)}function w(n,r){var i,o=n._private,a=p;i=r?r+"-":"",n.boundingBox();var s=o.labelBounds[r||"main"],c=n.pstyle(i+"label").value;if("yes"===n.pstyle("text-events").strValue&&c){var u=m(o.rscratch,"labelX",r),l=m(o.rscratch,"labelY",r),h=m(o.rscratch,"labelAngle",r),f=n.pstyle(i+"text-margin-x").pfValue,d=n.pstyle(i+"text-margin-y").pfValue,g=s.x1-a-f,b=s.x2+a-f,y=s.y1-a-d,w=s.y2+a-d;if(h){var x=Math.cos(h),_=Math.sin(h),E=function(t,e){return{x:(t-=u)*x-(e-=l)*_+u,y:t*_+e*x+l}},k=E(g,y),T=E(g,w),C=E(b,y),N=E(b,w),A=[k.x+f,k.y+d,C.x+f,C.y+d,N.x+f,N.y+d,T.x+f,T.y+d];if(Ae(t,e,A))return v(n),!0}else if(xe(s,t,e))return v(n),!0}}n&&(c=c.interactive);for(var x=c.length-1;x>=0;x--){var _=c[x];_.isNode()?b(_)||w(_):y(_)||w(_)||w(_,"source")||w(_,"target")}return u},getAllInBox:function(t,e,n,r){for(var i,o,a=this.getCachedZSortedEles().interactive,s=[],c=Math.min(t,n),u=Math.max(t,n),l=Math.min(e,r),h=Math.max(e,r),f=pe({x1:t=c,y1:e=l,x2:n=u,y2:r=h}),d=0;d0?Math.max(t-e,0):Math.min(t+e,0)},N=C(k,_),A=C(T,E),S=!1;"auto"===v?g=Math.abs(N)>Math.abs(A)?i:r:v===c||v===s?(g=r,S=!0):v!==o&&v!==a||(g=i,S=!0);var O,L=g===r,I=L?A:N,M=L?T:k,P=se(M),D=!1;S&&(y||w)||!(v===s&&M<0||v===c&&M>0||v===o&&M>0||v===a&&M<0)||(I=(P*=-1)*Math.abs(I),D=!0);var R=function(t){return Math.abs(t)=Math.abs(I)},j=R(O=y?(m<0?1+m:m)*I:(m<0?I:0)+m*P),G=R(Math.abs(I)-Math.abs(O));if(!j&&!G||D)if(L){var B=u.y1+O+(p?h/2*P:0),F=u.x1,H=u.x2;n.segpts=[F,B,H,B]}else{var Y=u.x1+O+(p?l/2*P:0),z=u.y1,U=u.y2;n.segpts=[Y,z,Y,U]}else if(L){var V=Math.abs(M)<=h/2,q=Math.abs(k)<=f/2;if(V){var X=(u.x1+u.x2)/2,W=u.y1,$=u.y2;n.segpts=[X,W,X,$]}else if(q){var Z=(u.y1+u.y2)/2,K=u.x1,Q=u.x2;n.segpts=[K,Z,Q,Z]}else n.segpts=[u.x1,u.y2]}else{var J=Math.abs(M)<=l/2,tt=Math.abs(T)<=d/2;if(J){var et=(u.y1+u.y2)/2,nt=u.x1,rt=u.x2;n.segpts=[nt,et,rt,et]}else if(tt){var it=(u.x1+u.x2)/2,ot=u.y1,at=u.y2;n.segpts=[it,ot,it,at]}else n.segpts=[u.x2,u.y1]}},Pa.tryToCorrectInvalidPoints=function(t,e){var n=t._private.rscratch;if("bezier"===n.edgeType){var r=e.srcPos,i=e.tgtPos,o=e.srcW,a=e.srcH,s=e.tgtW,c=e.tgtH,u=e.srcShape,l=e.tgtShape,h=!I(n.startX)||!I(n.startY),f=!I(n.arrowStartX)||!I(n.arrowStartY),d=!I(n.endX)||!I(n.endY),p=!I(n.arrowEndX)||!I(n.arrowEndY),g=this.getArrowWidth(t.pstyle("width").pfValue,t.pstyle("arrow-scale").value)*this.arrowShapeWidth*3,v=ce({x:n.ctrlpts[0],y:n.ctrlpts[1]},{x:n.startX,y:n.startY}),b=vf.poolIndex()){var d=h;h=f,f=d}var p=s.srcPos=h.position(),g=s.tgtPos=f.position(),v=s.srcW=h.outerWidth(),b=s.srcH=h.outerHeight(),y=s.tgtW=f.outerWidth(),m=s.tgtH=f.outerHeight(),w=s.srcShape=n.nodeShapes[e.getNodeShape(h)],x=s.tgtShape=n.nodeShapes[e.getNodeShape(f)];s.dirCounts={north:0,west:0,south:0,east:0,northwest:0,southwest:0,northeast:0,southeast:0};for(var _=0;_0){var Y=u,z=ue(Y,ie(e)),U=ue(Y,ie(H)),V=z;U2&&ue(Y,{x:H[2],y:H[3]})0){var it=l,ot=ue(it,ie(e)),at=ue(it,ie(rt)),st=ot;at2&&ue(it,{x:rt[2],y:rt[3]})=u||y){l={cp:g,segment:b};break}}if(l)break}var m=l.cp,w=l.segment,x=(u-f)/w.length,_=w.t1-w.t0,E=s?w.t0+_*x:w.t1-_*x;E=de(0,E,1),e=fe(m.p0,m.p1,m.p2,E),i=function(t,e,n,r){var i=de(0,r-.001,1),o=de(0,r+.001,1),a=fe(t,e,n,i),s=fe(t,e,n,o);return Ha(a,s)}(m.p0,m.p1,m.p2,E);break;case"straight":case"segments":case"haystack":for(var k,T,C,N,A=0,S=r.allpts.length,O=0;O+3=u));O+=2);var L=(u-T)/k;L=de(0,L,1),e=function(t,e,n,r){var i=e.x-t.x,o=e.y-t.y,a=ce(t,e),s=i/a,c=o/a;return n=null==n?0:n,r=null!=r?r:n*a,{x:t.x+s*r,y:t.y+c*r}}(C,N,L),i=Ha(C,N)}a("labelX",n,e.x),a("labelY",n,e.y),a("labelAutoAngle",n,i)}};u("source"),u("target"),this.applyLabelDimensions(t)}},Ba.applyLabelDimensions=function(t){this.applyPrefixedLabelDimensions(t),t.isEdge()&&(this.applyPrefixedLabelDimensions(t,"source"),this.applyPrefixedLabelDimensions(t,"target"))},Ba.applyPrefixedLabelDimensions=function(t,e){var n=t._private,r=this.getLabelText(t,e),i=this.calculateLabelDimensions(t,r),o=t.pstyle("line-height").pfValue,a=t.pstyle("text-wrap").strValue,s=Dt(n.rscratch,"labelWrapCachedLines",e)||[],c="wrap"!==a?1:Math.max(s.length,1),u=i.height/c,l=u*o,h=i.width,f=i.height+(c-1)*(o-1)*u;Rt(n.rstyle,"labelWidth",e,h),Rt(n.rscratch,"labelWidth",e,h),Rt(n.rstyle,"labelHeight",e,f),Rt(n.rscratch,"labelHeight",e,f),Rt(n.rscratch,"labelLineHeight",e,l)},Ba.getLabelText=function(t,e){var n=t._private,r=e?e+"-":"",i=t.pstyle(r+"label").strValue,o=t.pstyle("text-transform").value,a=function(t,r){return r?(Rt(n.rscratch,t,e,r),r):Dt(n.rscratch,t,e)};if(!i)return"";"none"==o||("uppercase"==o?i=i.toUpperCase():"lowercase"==o&&(i=i.toLowerCase()));var s=t.pstyle("text-wrap").value;if("wrap"===s){var c=a("labelKey");if(null!=c&&a("labelWrapKey")===c)return a("labelWrapCachedText");for(var u=i.split("\n"),l=t.pstyle("text-max-width").pfValue,h="anywhere"===t.pstyle("text-overflow-wrap").value,f=[],d=/[\s\u200b]+/,p=h?"":" ",g=0;gl){for(var m=v.split(d),w="",x=0;xk);N++)T+=i[N],N===i.length-1&&(C=!0);return C||(T+="…"),T}return i},Ba.getLabelJustification=function(t){var e=t.pstyle("text-justification").strValue,n=t.pstyle("text-halign").strValue;if("auto"!==e)return e;if(!t.isNode())return"center";switch(n){case"left":return"right";case"right":return"left";default:return"center"}},Ba.calculateLabelDimensions=function(t,e){var n=pt(e,t._private.labelDimsKey),r=this.labelDimCache||(this.labelDimCache=[]),i=r[n];if(null!=i)return i;var o=t.pstyle("font-style").strValue,a=t.pstyle("font-size").pfValue,s=t.pstyle("font-family").strValue,c=t.pstyle("font-weight").strValue,u=this.labelCalcCanvas,l=this.labelCalcCanvasContext;if(!u){u=this.labelCalcCanvas=document.createElement("canvas"),l=this.labelCalcCanvasContext=u.getContext("2d");var h=u.style;h.position="absolute",h.left="-9999px",h.top="-9999px",h.zIndex="-1",h.visibility="hidden",h.pointerEvents="none"}l.font="".concat(o," ").concat(c," ").concat(a,"px ").concat(s);for(var f=0,d=0,p=e.split("\n"),g=0;g1&&void 0!==arguments[1])||arguments[1];if(e.merge(t),n)for(var r=0;r=t.desktopTapThreshold2}var C=i(e);v&&(t.hoverData.tapholdCancelled=!0),n=!0,r(g,["mousemove","vmousemove","tapdrag"],e,{x:u[0],y:u[1]});var N=function(){t.data.bgActivePosistion=void 0,t.hoverData.selecting||a.emit({originalEvent:e,type:"boxstart",position:{x:u[0],y:u[1]}}),p[4]=1,t.hoverData.selecting=!0,t.redrawHint("select",!0),t.redraw()};if(3===t.hoverData.which){if(v){var A={originalEvent:e,type:"cxtdrag",position:{x:u[0],y:u[1]}};y?y.emit(A):a.emit(A),t.hoverData.cxtDragged=!0,t.hoverData.cxtOver&&g===t.hoverData.cxtOver||(t.hoverData.cxtOver&&t.hoverData.cxtOver.emit({originalEvent:e,type:"cxtdragout",position:{x:u[0],y:u[1]}}),t.hoverData.cxtOver=g,g&&g.emit({originalEvent:e,type:"cxtdragover",position:{x:u[0],y:u[1]}}))}}else if(t.hoverData.dragging){if(n=!0,a.panningEnabled()&&a.userPanningEnabled()){var S;if(t.hoverData.justStartedPan){var O=t.hoverData.mdownPos;S={x:(u[0]-O[0])*s,y:(u[1]-O[1])*s},t.hoverData.justStartedPan=!1}else S={x:m[0]*s,y:m[1]*s};a.panBy(S),a.emit("dragpan"),t.hoverData.dragged=!0}u=t.projectIntoViewport(e.clientX,e.clientY)}else if(1!=p[4]||null!=y&&!y.pannable()){if(y&&y.pannable()&&y.active()&&y.unactivate(),y&&y.grabbed()||g==b||(b&&r(b,["mouseout","tapdragout"],e,{x:u[0],y:u[1]}),g&&r(g,["mouseover","tapdragover"],e,{x:u[0],y:u[1]}),t.hoverData.last=g),y)if(v){if(a.boxSelectionEnabled()&&C)y&&y.grabbed()&&(f(w),y.emit("freeon"),w.emit("free"),t.dragData.didDrag&&(y.emit("dragfreeon"),w.emit("dragfree"))),N();else if(y&&y.grabbed()&&t.nodeIsDraggable(y)){var L=!t.dragData.didDrag;L&&t.redrawHint("eles",!0),t.dragData.didDrag=!0,t.hoverData.draggingEles||l(w,{inDragLayer:!0});var M={x:0,y:0};if(I(m[0])&&I(m[1])&&(M.x+=m[0],M.y+=m[1],L)){var P=t.hoverData.dragDelta;P&&I(P[0])&&I(P[1])&&(M.x+=P[0],M.y+=P[1])}t.hoverData.draggingEles=!0,w.silentShift(M).emit("position drag"),t.redrawHint("drag",!0),t.redraw()}}else!function(){var e=t.hoverData.dragDelta=t.hoverData.dragDelta||[];0===e.length?(e.push(m[0]),e.push(m[1])):(e[0]+=m[0],e[1]+=m[1])}();n=!0}else v&&(t.hoverData.dragging||!a.boxSelectionEnabled()||!C&&a.panningEnabled()&&a.userPanningEnabled()?!t.hoverData.selecting&&a.panningEnabled()&&a.userPanningEnabled()&&o(y,t.hoverData.downs)&&(t.hoverData.dragging=!0,t.hoverData.justStartedPan=!0,p[4]=0,t.data.bgActivePosistion=ie(h),t.redrawHint("select",!0),t.redraw()):N(),y&&y.pannable()&&y.active()&&y.unactivate());return p[2]=u[0],p[3]=u[1],n?(e.stopPropagation&&e.stopPropagation(),e.preventDefault&&e.preventDefault(),!1):void 0}}),!1),t.registerBinding(e,"mouseup",(function(e){if(t.hoverData.capture){t.hoverData.capture=!1;var o=t.cy,a=t.projectIntoViewport(e.clientX,e.clientY),s=t.selection,c=t.findNearestElement(a[0],a[1],!0,!1),u=t.dragData.possibleDragElements,l=t.hoverData.down,h=i(e);if(t.data.bgActivePosistion&&(t.redrawHint("select",!0),t.redraw()),t.hoverData.tapholdCancelled=!0,t.data.bgActivePosistion=void 0,l&&l.unactivate(),3===t.hoverData.which){var d={originalEvent:e,type:"cxttapend",position:{x:a[0],y:a[1]}};if(l?l.emit(d):o.emit(d),!t.hoverData.cxtDragged){var p={originalEvent:e,type:"cxttap",position:{x:a[0],y:a[1]}};l?l.emit(p):o.emit(p)}t.hoverData.cxtDragged=!1,t.hoverData.which=null}else if(1===t.hoverData.which){if(r(c,["mouseup","tapend","vmouseup"],e,{x:a[0],y:a[1]}),t.dragData.didDrag||t.hoverData.dragged||t.hoverData.selecting||t.hoverData.isOverThresholdDrag||(r(l,["click","tap","vclick"],e,{x:a[0],y:a[1]}),w=!1,e.timeStamp-x<=o.multiClickDebounceTime()?(m&&clearTimeout(m),w=!0,x=null,r(l,["dblclick","dbltap","vdblclick"],e,{x:a[0],y:a[1]})):(m=setTimeout((function(){w||r(l,["oneclick","onetap","voneclick"],e,{x:a[0],y:a[1]})}),o.multiClickDebounceTime()),x=e.timeStamp)),null!=l||t.dragData.didDrag||t.hoverData.selecting||t.hoverData.dragged||i(e)||(o.$(n).unselect(["tapunselect"]),u.length>0&&t.redrawHint("eles",!0),t.dragData.possibleDragElements=u=o.collection()),c!=l||t.dragData.didDrag||t.hoverData.selecting||null!=c&&c._private.selectable&&(t.hoverData.dragging||("additive"===o.selectionType()||h?c.selected()?c.unselect(["tapunselect"]):c.select(["tapselect"]):h||(o.$(n).unmerge(c).unselect(["tapunselect"]),c.select(["tapselect"]))),t.redrawHint("eles",!0)),t.hoverData.selecting){var g=o.collection(t.getAllInBox(s[0],s[1],s[2],s[3]));t.redrawHint("select",!0),g.length>0&&t.redrawHint("eles",!0),o.emit({type:"boxend",originalEvent:e,position:{x:a[0],y:a[1]}});"additive"===o.selectionType()||h||o.$(n).unmerge(g).unselect(),g.emit("box").stdFilter((function(t){return t.selectable()&&!t.selected()})).select().emit("boxselect"),t.redraw()}if(t.hoverData.dragging&&(t.hoverData.dragging=!1,t.redrawHint("select",!0),t.redrawHint("eles",!0),t.redraw()),!s[4]){t.redrawHint("drag",!0),t.redrawHint("eles",!0);var v=l&&l.grabbed();f(u),v&&(l.emit("freeon"),u.emit("free"),t.dragData.didDrag&&(l.emit("dragfreeon"),u.emit("dragfree")))}}s[4]=0,t.hoverData.down=null,t.hoverData.cxtStarted=!1,t.hoverData.draggingEles=!1,t.hoverData.selecting=!1,t.hoverData.isOverThresholdDrag=!1,t.dragData.didDrag=!1,t.hoverData.dragged=!1,t.hoverData.dragDelta=[],t.hoverData.mdownPos=null,t.hoverData.mdownGPos=null}}),!1);var E,k,T,C,N,A,S,O,L,M,P,D,R,j=function(e){if(!t.scrollingPage){var n=t.cy,r=n.zoom(),i=n.pan(),o=t.projectIntoViewport(e.clientX,e.clientY),a=[o[0]*r+i.x,o[1]*r+i.y];if(t.hoverData.draggingEles||t.hoverData.dragging||t.hoverData.cxtStarted||0!==t.selection[4])e.preventDefault();else if(n.panningEnabled()&&n.userPanningEnabled()&&n.zoomingEnabled()&&n.userZoomingEnabled()){var s;e.preventDefault(),t.data.wheelZooming=!0,clearTimeout(t.data.wheelTimeout),t.data.wheelTimeout=setTimeout((function(){t.data.wheelZooming=!1,t.redrawHint("eles",!0),t.redraw()}),150),s=null!=e.deltaY?e.deltaY/-250:null!=e.wheelDeltaY?e.wheelDeltaY/1e3:e.wheelDelta/1e3,s*=t.wheelSensitivity,1===e.deltaMode&&(s*=33);var c=n.zoom()*Math.pow(10,s);"gesturechange"===e.type&&(c=t.gestureStartZoom*e.scale),n.zoom({level:c,renderedPosition:{x:a[0],y:a[1]}}),n.emit("gesturechange"===e.type?"pinchzoom":"scrollzoom")}}};t.registerBinding(t.container,"wheel",j,!0),t.registerBinding(e,"scroll",(function(e){t.scrollingPage=!0,clearTimeout(t.scrollingPageTimeout),t.scrollingPageTimeout=setTimeout((function(){t.scrollingPage=!1}),250)}),!0),t.registerBinding(t.container,"gesturestart",(function(e){t.gestureStartZoom=t.cy.zoom(),t.hasTouchStarted||e.preventDefault()}),!0),t.registerBinding(t.container,"gesturechange",(function(e){t.hasTouchStarted||j(e)}),!0),t.registerBinding(t.container,"mouseout",(function(e){var n=t.projectIntoViewport(e.clientX,e.clientY);t.cy.emit({originalEvent:e,type:"mouseout",position:{x:n[0],y:n[1]}})}),!1),t.registerBinding(t.container,"mouseover",(function(e){var n=t.projectIntoViewport(e.clientX,e.clientY);t.cy.emit({originalEvent:e,type:"mouseover",position:{x:n[0],y:n[1]}})}),!1);var G,B,F,H,Y,z,U,V=function(t,e,n,r){return Math.sqrt((n-t)*(n-t)+(r-e)*(r-e))},q=function(t,e,n,r){return(n-t)*(n-t)+(r-e)*(r-e)};if(t.registerBinding(t.container,"touchstart",G=function(e){if(t.hasTouchStarted=!0,_(e)){p(),t.touchData.capture=!0,t.data.bgActivePosistion=void 0;var n=t.cy,i=t.touchData.now,o=t.touchData.earlier;if(e.touches[0]){var a=t.projectIntoViewport(e.touches[0].clientX,e.touches[0].clientY);i[0]=a[0],i[1]=a[1]}if(e.touches[1]&&(a=t.projectIntoViewport(e.touches[1].clientX,e.touches[1].clientY),i[2]=a[0],i[3]=a[1]),e.touches[2]&&(a=t.projectIntoViewport(e.touches[2].clientX,e.touches[2].clientY),i[4]=a[0],i[5]=a[1]),e.touches[1]){t.touchData.singleTouchMoved=!0,f(t.dragData.touchDragEles);var c=t.findContainerClientCoords();L=c[0],M=c[1],P=c[2],D=c[3],E=e.touches[0].clientX-L,k=e.touches[0].clientY-M,T=e.touches[1].clientX-L,C=e.touches[1].clientY-M,R=0<=E&&E<=P&&0<=T&&T<=P&&0<=k&&k<=D&&0<=C&&C<=D;var u=n.pan(),d=n.zoom();if(N=V(E,k,T,C),A=q(E,k,T,C),O=[((S=[(E+T)/2,(k+C)/2])[0]-u.x)/d,(S[1]-u.y)/d],A<4e4&&!e.touches[2]){var g=t.findNearestElement(i[0],i[1],!0,!0),v=t.findNearestElement(i[2],i[3],!0,!0);return g&&g.isNode()?(g.activate().emit({originalEvent:e,type:"cxttapstart",position:{x:i[0],y:i[1]}}),t.touchData.start=g):v&&v.isNode()?(v.activate().emit({originalEvent:e,type:"cxttapstart",position:{x:i[0],y:i[1]}}),t.touchData.start=v):n.emit({originalEvent:e,type:"cxttapstart",position:{x:i[0],y:i[1]}}),t.touchData.start&&(t.touchData.start._private.grabbed=!1),t.touchData.cxt=!0,t.touchData.cxtDragged=!1,t.data.bgActivePosistion=void 0,void t.redraw()}}if(e.touches[2])n.boxSelectionEnabled()&&e.preventDefault();else if(e.touches[1]);else if(e.touches[0]){var b=t.findNearestElements(i[0],i[1],!0,!0),y=b[0];if(null!=y&&(y.activate(),t.touchData.start=y,t.touchData.starts=b,t.nodeIsGrabbable(y))){var m=t.dragData.touchDragEles=n.collection(),w=null;t.redrawHint("eles",!0),t.redrawHint("drag",!0),y.selected()?(w=n.$((function(e){return e.selected()&&t.nodeIsGrabbable(e)})),l(w,{addToList:m})):h(y,{addToList:m}),s(y);var x=function(t){return{originalEvent:e,type:t,position:{x:i[0],y:i[1]}}};y.emit(x("grabon")),w?w.forEach((function(t){t.emit(x("grab"))})):y.emit(x("grab"))}r(y,["touchstart","tapstart","vmousedown"],e,{x:i[0],y:i[1]}),null==y&&(t.data.bgActivePosistion={x:a[0],y:a[1]},t.redrawHint("select",!0),t.redraw()),t.touchData.singleTouchMoved=!1,t.touchData.singleTouchStartTime=+new Date,clearTimeout(t.touchData.tapholdTimeout),t.touchData.tapholdTimeout=setTimeout((function(){!1!==t.touchData.singleTouchMoved||t.pinching||t.touchData.selecting||r(t.touchData.start,["taphold"],e,{x:i[0],y:i[1]})}),t.tapholdDuration)}if(e.touches.length>=1){for(var I=t.touchData.startPosition=[null,null,null,null,null,null],j=0;j=t.touchTapThreshold2}if(n&&t.touchData.cxt){e.preventDefault();var w=e.touches[0].clientX-L,x=e.touches[0].clientY-M,S=e.touches[1].clientX-L,P=e.touches[1].clientY-M,D=q(w,x,S,P);if(D/A>=2.25||D>=22500){t.touchData.cxt=!1,t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var j={originalEvent:e,type:"cxttapend",position:{x:s[0],y:s[1]}};t.touchData.start?(t.touchData.start.unactivate().emit(j),t.touchData.start=null):a.emit(j)}}if(n&&t.touchData.cxt){j={originalEvent:e,type:"cxtdrag",position:{x:s[0],y:s[1]}},t.data.bgActivePosistion=void 0,t.redrawHint("select",!0),t.touchData.start?t.touchData.start.emit(j):a.emit(j),t.touchData.start&&(t.touchData.start._private.grabbed=!1),t.touchData.cxtDragged=!0;var G=t.findNearestElement(s[0],s[1],!0,!0);t.touchData.cxtOver&&G===t.touchData.cxtOver||(t.touchData.cxtOver&&t.touchData.cxtOver.emit({originalEvent:e,type:"cxtdragout",position:{x:s[0],y:s[1]}}),t.touchData.cxtOver=G,G&&G.emit({originalEvent:e,type:"cxtdragover",position:{x:s[0],y:s[1]}}))}else if(n&&e.touches[2]&&a.boxSelectionEnabled())e.preventDefault(),t.data.bgActivePosistion=void 0,this.lastThreeTouch=+new Date,t.touchData.selecting||a.emit({originalEvent:e,type:"boxstart",position:{x:s[0],y:s[1]}}),t.touchData.selecting=!0,t.touchData.didSelect=!0,i[4]=1,i&&0!==i.length&&void 0!==i[0]?(i[2]=(s[0]+s[2]+s[4])/3,i[3]=(s[1]+s[3]+s[5])/3):(i[0]=(s[0]+s[2]+s[4])/3,i[1]=(s[1]+s[3]+s[5])/3,i[2]=(s[0]+s[2]+s[4])/3+1,i[3]=(s[1]+s[3]+s[5])/3+1),t.redrawHint("select",!0),t.redraw();else if(n&&e.touches[1]&&!t.touchData.didSelect&&a.zoomingEnabled()&&a.panningEnabled()&&a.userZoomingEnabled()&&a.userPanningEnabled()){if(e.preventDefault(),t.data.bgActivePosistion=void 0,t.redrawHint("select",!0),tt=t.dragData.touchDragEles){t.redrawHint("drag",!0);for(var B=0;B0&&!t.hoverData.draggingEles&&!t.swipePanning&&null!=t.data.bgActivePosistion&&(t.data.bgActivePosistion=void 0,t.redrawHint("select",!0),t.redraw())}},!1),t.registerBinding(e,"touchcancel",F=function(e){var n=t.touchData.start;t.touchData.capture=!1,n&&n.unactivate()}),t.registerBinding(e,"touchend",H=function(e){var i=t.touchData.start;if(t.touchData.capture){0===e.touches.length&&(t.touchData.capture=!1),e.preventDefault();var o=t.selection;t.swipePanning=!1,t.hoverData.draggingEles=!1;var a,s=t.cy,c=s.zoom(),u=t.touchData.now,l=t.touchData.earlier;if(e.touches[0]){var h=t.projectIntoViewport(e.touches[0].clientX,e.touches[0].clientY);u[0]=h[0],u[1]=h[1]}if(e.touches[1]&&(h=t.projectIntoViewport(e.touches[1].clientX,e.touches[1].clientY),u[2]=h[0],u[3]=h[1]),e.touches[2]&&(h=t.projectIntoViewport(e.touches[2].clientX,e.touches[2].clientY),u[4]=h[0],u[5]=h[1]),i&&i.unactivate(),t.touchData.cxt){if(a={originalEvent:e,type:"cxttapend",position:{x:u[0],y:u[1]}},i?i.emit(a):s.emit(a),!t.touchData.cxtDragged){var d={originalEvent:e,type:"cxttap",position:{x:u[0],y:u[1]}};i?i.emit(d):s.emit(d)}return t.touchData.start&&(t.touchData.start._private.grabbed=!1),t.touchData.cxt=!1,t.touchData.start=null,void t.redraw()}if(!e.touches[2]&&s.boxSelectionEnabled()&&t.touchData.selecting){t.touchData.selecting=!1;var p=s.collection(t.getAllInBox(o[0],o[1],o[2],o[3]));o[0]=void 0,o[1]=void 0,o[2]=void 0,o[3]=void 0,o[4]=0,t.redrawHint("select",!0),s.emit({type:"boxend",originalEvent:e,position:{x:u[0],y:u[1]}}),p.emit("box").stdFilter((function(t){return t.selectable()&&!t.selected()})).select().emit("boxselect"),p.nonempty()&&t.redrawHint("eles",!0),t.redraw()}if(null!=i&&i.unactivate(),e.touches[2])t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);else if(e.touches[1]);else if(e.touches[0]);else if(!e.touches[0]){t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var g=t.dragData.touchDragEles;if(null!=i){var v=i._private.grabbed;f(g),t.redrawHint("drag",!0),t.redrawHint("eles",!0),v&&(i.emit("freeon"),g.emit("free"),t.dragData.didDrag&&(i.emit("dragfreeon"),g.emit("dragfree"))),r(i,["touchend","tapend","vmouseup","tapdragout"],e,{x:u[0],y:u[1]}),i.unactivate(),t.touchData.start=null}else{var b=t.findNearestElement(u[0],u[1],!0,!0);r(b,["touchend","tapend","vmouseup","tapdragout"],e,{x:u[0],y:u[1]})}var y=t.touchData.startPosition[0]-u[0],m=y*y,w=t.touchData.startPosition[1]-u[1],x=(m+w*w)*c*c;t.touchData.singleTouchMoved||(i||s.$(":selected").unselect(["tapunselect"]),r(i,["tap","vclick"],e,{x:u[0],y:u[1]}),Y=!1,e.timeStamp-U<=s.multiClickDebounceTime()?(z&&clearTimeout(z),Y=!0,U=null,r(i,["dbltap","vdblclick"],e,{x:u[0],y:u[1]})):(z=setTimeout((function(){Y||r(i,["onetap","voneclick"],e,{x:u[0],y:u[1]})}),s.multiClickDebounceTime()),U=e.timeStamp)),null!=i&&!t.dragData.didDrag&&i._private.selectable&&x2){for(var A=[u[0],u[1]],S=Math.pow(A[0]-t,2)+Math.pow(A[1]-e,2),O=1;O0)return g[0]}return null},f=Object.keys(l),d=0;d0?c:Ee(i,o,t,e,n,r,a)},checkPoint:function(t,e,n,r,i,o,a){var s=He(r,i),c=2*s;if(Se(t,e,this.points,o,a,r,i-c,[0,-1],n))return!0;if(Se(t,e,this.points,o,a,r-c,i,[0,-1],n))return!0;var u=r/2+2*n,l=i/2+2*n;return!!Ae(t,e,[o-u,a-l,o-u,a,o+u,a,o+u,a-l])||!!Ie(t,e,c,c,o+r/2-s,a+i/2-s,n)||!!Ie(t,e,c,c,o-r/2+s,a+i/2-s,n)}}},registerNodeShapes:function(){var t=this.nodeShapes={},e=this;this.generateEllipse(),this.generatePolygon("triangle",Ge(3,0)),this.generateRoundPolygon("round-triangle",Ge(3,0)),this.generatePolygon("rectangle",Ge(4,0)),t.square=t.rectangle,this.generateRoundRectangle(),this.generateCutRectangle(),this.generateBarrel(),this.generateBottomRoundrectangle();var n=[0,1,1,0,0,-1,-1,0];this.generatePolygon("diamond",n),this.generateRoundPolygon("round-diamond",n),this.generatePolygon("pentagon",Ge(5,0)),this.generateRoundPolygon("round-pentagon",Ge(5,0)),this.generatePolygon("hexagon",Ge(6,0)),this.generateRoundPolygon("round-hexagon",Ge(6,0)),this.generatePolygon("heptagon",Ge(7,0)),this.generateRoundPolygon("round-heptagon",Ge(7,0)),this.generatePolygon("octagon",Ge(8,0)),this.generateRoundPolygon("round-octagon",Ge(8,0));var r=new Array(20),i=Fe(5,0),o=Fe(5,Math.PI/5),a=.5*(3-Math.sqrt(5));a*=1.57;for(var s=0;s=t.deqFastCost*g)break}else if(i){if(d>=t.deqCost*c||d>=t.deqAvgCost*s)break}else if(p>=t.deqNoDrawCost*Ja)break;var v=t.deq(e,h,l);if(!(v.length>0))break;for(var b=0;b0&&(t.onDeqd(e,u),!i&&t.shouldRedraw(e,u,h,l)&&r())}),i(e))}}},es=function(){function t(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:_t;g(this,t),this.idsByKey=new jt,this.keyForId=new jt,this.cachesByLvl=new jt,this.lvls=[],this.getKey=e,this.doesEleInvalidateKey=n}return b(t,[{key:"getIdsFor",value:function(t){null==t&&Tt("Can not get id list for null key");var e=this.idsByKey,n=this.idsByKey.get(t);return n||(n=new Bt,e.set(t,n)),n}},{key:"addIdForKey",value:function(t,e){null!=t&&this.getIdsFor(t).add(e)}},{key:"deleteIdForKey",value:function(t,e){null!=t&&this.getIdsFor(t).delete(e)}},{key:"getNumberOfIdsForKey",value:function(t){return null==t?0:this.getIdsFor(t).size}},{key:"updateKeyMappingFor",value:function(t){var e=t.id(),n=this.keyForId.get(e),r=this.getKey(t);this.deleteIdForKey(n,e),this.addIdForKey(r,e),this.keyForId.set(e,r)}},{key:"deleteKeyMappingFor",value:function(t){var e=t.id(),n=this.keyForId.get(e);this.deleteIdForKey(n,e),this.keyForId.delete(e)}},{key:"keyHasChangedFor",value:function(t){var e=t.id();return this.keyForId.get(e)!==this.getKey(t)}},{key:"isInvalid",value:function(t){return this.keyHasChangedFor(t)||this.doesEleInvalidateKey(t)}},{key:"getCachesAt",value:function(t){var e=this.cachesByLvl,n=this.lvls,r=e.get(t);return r||(r=new jt,e.set(t,r),n.push(t)),r}},{key:"getCache",value:function(t,e){return this.getCachesAt(e).get(t)}},{key:"get",value:function(t,e){var n=this.getKey(t),r=this.getCache(n,e);return null!=r&&this.updateKeyMappingFor(t),r}},{key:"getForCachedKey",value:function(t,e){var n=this.keyForId.get(t.id());return this.getCache(n,e)}},{key:"hasCache",value:function(t,e){return this.getCachesAt(e).has(t)}},{key:"has",value:function(t,e){var n=this.getKey(t);return this.hasCache(n,e)}},{key:"setCache",value:function(t,e,n){n.key=t,this.getCachesAt(e).set(t,n)}},{key:"set",value:function(t,e,n){var r=this.getKey(t);this.setCache(r,e,n),this.updateKeyMappingFor(t)}},{key:"deleteCache",value:function(t,e){this.getCachesAt(e).delete(t)}},{key:"delete",value:function(t,e){var n=this.getKey(t);this.deleteCache(n,e)}},{key:"invalidateKey",value:function(t){var e=this;this.lvls.forEach((function(n){return e.deleteCache(t,n)}))}},{key:"invalidate",value:function(t){var e=t.id(),n=this.keyForId.get(e);this.deleteKeyMappingFor(t);var r=this.doesEleInvalidateKey(t);return r&&this.invalidateKey(n),r||0===this.getNumberOfIdsForKey(n)}}]),t}(),ns={dequeue:"dequeue",downscale:"downscale",highQuality:"highQuality"},rs=It({getKey:null,doesEleInvalidateKey:_t,drawElement:null,getBoundingBox:null,getRotationPoint:null,getRotationOffset:null,isVisible:xt,allowEdgeTxrCaching:!0,allowParentTxrCaching:!0}),is=function(t,e){var n=this;n.renderer=t,n.onDequeues=[];var r=rs(e);Q(n,r),n.lookup=new es(r.getKey,r.doesEleInvalidateKey),n.setupDequeueing()},os=is.prototype;os.reasons=ns,os.getTextureQueue=function(t){var e=this;return e.eleImgCaches=e.eleImgCaches||{},e.eleImgCaches[t]=e.eleImgCaches[t]||[]},os.getRetiredTextureQueue=function(t){var e=this.eleImgCaches.retired=this.eleImgCaches.retired||{};return e[t]=e[t]||[]},os.getElementQueue=function(){return this.eleCacheQueue=this.eleCacheQueue||new l.default((function(t,e){return e.reqs-t.reqs}))},os.getElementKeyToQueue=function(){return this.eleKeyToCacheQueue=this.eleKeyToCacheQueue||{}},os.getElement=function(t,e,n,r,i){var o=this,a=this.renderer,s=a.cy.zoom(),c=this.lookup;if(!e||0===e.w||0===e.h||isNaN(e.w)||isNaN(e.h)||!t.visible()||t.removed())return null;if(!o.allowEdgeTxrCaching&&t.isEdge()||!o.allowParentTxrCaching&&t.isParent())return null;if(null==r&&(r=Math.ceil(ae(s*n))),r<-4)r=-4;else if(s>=7.99||r>3)return null;var u=Math.pow(2,r),l=e.h*u,h=e.w*u,f=a.eleTextBiggerThanMin(t,u);if(!this.isVisible(t,f))return null;var d,p=c.get(t,r);if(p&&p.invalidated&&(p.invalidated=!1,p.texture.invalidatedWidth-=p.width),p)return p;if(d=l<=25?25:l<=50?50:50*Math.ceil(l/50),l>1024||h>1024)return null;var g=o.getTextureQueue(d),v=g[g.length-2],b=function(){return o.recycleTexture(d,h)||o.addTexture(d,h)};v||(v=g[g.length-1]),v||(v=b()),v.width-v.usedWidthr;N--)T=o.getElement(t,e,n,N,ns.downscale);C()}else{var A;if(!w&&!x&&!_)for(var S=r-1;S>=-4;S--){var O=c.get(t,S);if(O){A=O;break}}if(m(A))return o.queueElement(t,r),A;v.context.translate(v.usedWidth,0),v.context.scale(u,u),this.drawElement(v.context,t,e,f,!1),v.context.scale(1/u,1/u),v.context.translate(-v.usedWidth,0)}return p={x:v.usedWidth,texture:v,level:r,scale:u,width:h,height:l,scaledLabelShown:f},v.usedWidth+=Math.ceil(h+8),v.eleCaches.push(p),c.set(t,r,p),o.checkTextureFullness(v),p},os.invalidateElements=function(t){for(var e=0;e=.2*t.width&&this.retireTexture(t)},os.checkTextureFullness=function(t){var e=this.getTextureQueue(t.height);t.usedWidth/t.width>.8&&t.fullnessChecks>=10?Mt(e,t):t.fullnessChecks++},os.retireTexture=function(t){var e=t.height,n=this.getTextureQueue(e),r=this.lookup;Mt(n,t),t.retired=!0;for(var i=t.eleCaches,o=0;o=e)return o.retired=!1,o.usedWidth=0,o.invalidatedWidth=0,o.fullnessChecks=0,Pt(o.eleCaches),o.context.setTransform(1,0,0,1,0,0),o.context.clearRect(0,0,o.width,o.height),Mt(r,o),n.push(o),o}},os.queueElement=function(t,e){var n=this.getElementQueue(),r=this.getElementKeyToQueue(),i=this.getKey(t),o=r[i];if(o)o.level=Math.max(o.level,e),o.eles.merge(t),o.reqs++,n.updateItem(o);else{var a={eles:t.spawn().merge(t),level:e,reqs:1,key:i};n.push(a),r[i]=a}},os.dequeue=function(t){for(var e=this,n=e.getElementQueue(),r=e.getElementKeyToQueue(),i=[],o=e.lookup,a=0;a<1&&n.size()>0;a++){var s=n.pop(),c=s.key,u=s.eles[0],l=o.hasCache(u,s.level);if(r[c]=null,!l){i.push(s);var h=e.getBoundingBox(u);e.getElement(u,h,t,s.level,ns.dequeue)}}return i},os.removeFromQueue=function(t){var e=this.getElementQueue(),n=this.getElementKeyToQueue(),r=this.getKey(t),i=n[r];null!=i&&(1===i.eles.length?(i.reqs=wt,e.updateItem(i),e.pop(),n[r]=null):i.eles.unmerge(t))},os.onDequeue=function(t){this.onDequeues.push(t)},os.offDequeue=function(t){Mt(this.onDequeues,t)},os.setupDequeueing=ts({deqRedrawThreshold:100,deqCost:.15,deqAvgCost:.1,deqNoDrawCost:.9,deqFastCost:.9,deq:function(t,e,n){return t.dequeue(e,n)},onDeqd:function(t,e){for(var n=0;n=3.99||n>2)return null;r.validateLayersElesOrdering(n,t);var a,s,c=r.layersByLevel,u=Math.pow(2,n),l=c[n]=c[n]||[];if(r.levelIsComplete(n,t))return l;!function(){var e=function(e){if(r.validateLayersElesOrdering(e,t),r.levelIsComplete(e,t))return s=c[e],!0},i=function(t){if(!s)for(var r=n+t;-4<=r&&r<=2&&!e(r);r+=t);};i(1),i(-1);for(var o=l.length-1;o>=0;o--){var a=l[o];a.invalid&&Mt(l,a)}}();var h=function(e){var i=(e=e||{}).after;if(function(){if(!a){a=pe();for(var e=0;e16e6)return null;var o=r.makeLayer(a,n);if(null!=i){var s=l.indexOf(i)+1;l.splice(s,0,o)}else(void 0===e.insert||e.insert)&&l.unshift(o);return o};if(r.skipping&&!o)return null;for(var f=null,d=t.length/1,p=!o,g=0;g=d||!_e(f.bb,v.boundingBox()))&&!(f=h({insert:!0,after:f})))return null;s||p?r.queueLayer(f,v):r.drawEleInLayer(f,v,n,e),f.eles.push(v),y[n]=f}}return s||(p?null:l)},ss.getEleLevelForLayerLevel=function(t,e){return t},ss.drawEleInLayer=function(t,e,n,r){var i=this.renderer,o=t.context,a=e.boundingBox();0!==a.w&&0!==a.h&&e.visible()&&(n=this.getEleLevelForLayerLevel(n,r),i.setImgSmoothing(o,!1),i.drawCachedElement(o,e,null,null,n,!0),i.setImgSmoothing(o,!0))},ss.levelIsComplete=function(t,e){var n=this.layersByLevel[t];if(!n||0===n.length)return!1;for(var r=0,i=0;i0)return!1;if(o.invalid)return!1;r+=o.eles.length}return r===e.length},ss.validateLayersElesOrdering=function(t,e){var n=this.layersByLevel[t];if(n)for(var r=0;r0){t=!0;break}}return t},ss.invalidateElements=function(t){var e=this;0!==t.length&&(e.lastInvalidationTime=at(),0!==t.length&&e.haveLayers()&&e.updateElementsInLayers(t,(function(t,n,r){e.invalidateLayer(t)})))},ss.invalidateLayer=function(t){if(this.lastInvalidationTime=at(),!t.invalid){var e=t.level,n=t.eles,r=this.layersByLevel[e];Mt(r,t),t.elesQueue=[],t.invalid=!0,t.replacement&&(t.replacement.invalid=!0);for(var i=0;i3&&void 0!==arguments[3])||arguments[3],i=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],o=!(arguments.length>5&&void 0!==arguments[5])||arguments[5],a=this,s=e._private.rscratch;if((!o||e.visible())&&!s.badLine&&null!=s.allpts&&!isNaN(s.allpts[0])){var c;n&&(c=n,t.translate(-c.x1,-c.y1));var u=o?e.pstyle("opacity").value:1,l=o?e.pstyle("line-opacity").value:1,h=e.pstyle("curve-style").value,f=e.pstyle("line-style").value,d=e.pstyle("width").pfValue,p=e.pstyle("line-cap").value,g=u*l,v=u*l,b=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:g;"straight-triangle"===h?(a.eleStrokeStyle(t,e,n),a.drawEdgeTrianglePath(e,t,s.allpts)):(t.lineWidth=d,t.lineCap=p,a.eleStrokeStyle(t,e,n),a.drawEdgePath(e,t,s.allpts,f),t.lineCap="butt")},y=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:v;a.drawArrowheads(t,e,n)};if(t.lineJoin="round","yes"===e.pstyle("ghost").value){var m=e.pstyle("ghost-offset-x").pfValue,w=e.pstyle("ghost-offset-y").pfValue,x=e.pstyle("ghost-opacity").value,_=g*x;t.translate(m,w),b(_),y(_),t.translate(-m,-w)}i&&a.drawEdgeUnderlay(t,e),b(),y(),i&&a.drawEdgeOverlay(t,e),a.drawElementText(t,e,null,r),n&&t.translate(c.x1,c.y1)}}},Ts=function(t){if(!["overlay","underlay"].includes(t))throw new Error("Invalid state");return function(e,n){if(n.visible()){var r=n.pstyle("".concat(t,"-opacity")).value;if(0!==r){var i=this,o=i.usePaths(),a=n._private.rscratch,s=2*n.pstyle("".concat(t,"-padding")).pfValue,c=n.pstyle("".concat(t,"-color")).value;e.lineWidth=s,"self"!==a.edgeType||o?e.lineCap="round":e.lineCap="butt",i.colorStrokeStyle(e,c[0],c[1],c[2],r),i.drawEdgePath(n,e,a.allpts,"solid")}}}};ks.drawEdgeOverlay=Ts("overlay"),ks.drawEdgeUnderlay=Ts("underlay"),ks.drawEdgePath=function(t,e,n,r){var i,o=t._private.rscratch,a=e,s=!1,c=this.usePaths(),u=t.pstyle("line-dash-pattern").pfValue,l=t.pstyle("line-dash-offset").pfValue;if(c){var h=n.join("$");o.pathCacheKey&&o.pathCacheKey===h?(i=e=o.pathCache,s=!0):(i=e=new Path2D,o.pathCacheKey=h,o.pathCache=i)}if(a.setLineDash)switch(r){case"dotted":a.setLineDash([1,1]);break;case"dashed":a.setLineDash(u),a.lineDashOffset=l;break;case"solid":a.setLineDash([])}if(!s&&!o.badLine)switch(e.beginPath&&e.beginPath(),e.moveTo(n[0],n[1]),o.edgeType){case"bezier":case"self":case"compound":case"multibezier":for(var f=2;f+35&&void 0!==arguments[5]?arguments[5]:5,a=arguments.length>6?arguments[6]:void 0;t.beginPath(),t.moveTo(e+o,n),t.lineTo(e+r-o,n),t.quadraticCurveTo(e+r,n,e+r,n+o),t.lineTo(e+r,n+i-o),t.quadraticCurveTo(e+r,n+i,e+r-o,n+i),t.lineTo(e+o,n+i),t.quadraticCurveTo(e,n+i,e,n+i-o),t.lineTo(e,n+o),t.quadraticCurveTo(e,n,e+o,n),t.closePath(),a?t.stroke():t.fill()}Ns.eleTextBiggerThanMin=function(t,e){if(!e){var n=t.cy().zoom(),r=this.getPixelRatio(),i=Math.ceil(ae(n*r));e=Math.pow(2,i)}return!(t.pstyle("font-size").pfValue*e5&&void 0!==arguments[5])||arguments[5],a=this;if(null==r){if(o&&!a.eleTextBiggerThanMin(e))return}else if(!1===r)return;if(e.isNode()){var s=e.pstyle("label");if(!s||!s.value)return;var c=a.getLabelJustification(e);t.textAlign=c,t.textBaseline="bottom"}else{var u=e.element()._private.rscratch.badLine,l=e.pstyle("label"),h=e.pstyle("source-label"),f=e.pstyle("target-label");if(u||(!l||!l.value)&&(!h||!h.value)&&(!f||!f.value))return;t.textAlign="center",t.textBaseline="bottom"}var d,p=!n;n&&(d=n,t.translate(-d.x1,-d.y1)),null==i?(a.drawText(t,e,null,p,o),e.isEdge()&&(a.drawText(t,e,"source",p,o),a.drawText(t,e,"target",p,o))):a.drawText(t,e,i,p,o),n&&t.translate(d.x1,d.y1)},Ns.getFontCache=function(t){var e;this.fontCaches=this.fontCaches||[];for(var n=0;n2&&void 0!==arguments[2])||arguments[2],r=e.pstyle("font-style").strValue,i=e.pstyle("font-size").pfValue+"px",o=e.pstyle("font-family").strValue,a=e.pstyle("font-weight").strValue,s=n?e.effectiveOpacity()*e.pstyle("text-opacity").value:1,c=e.pstyle("text-outline-opacity").value*s,u=e.pstyle("color").value,l=e.pstyle("text-outline-color").value;t.font=r+" "+a+" "+i+" "+o,t.lineJoin="round",this.colorFillStyle(t,u[0],u[1],u[2],s),this.colorStrokeStyle(t,l[0],l[1],l[2],c)},Ns.getTextAngle=function(t,e){var n=t._private.rscratch,r=e?e+"-":"",i=t.pstyle(r+"text-rotation"),o=Dt(n,"labelAngle",e);return"autorotate"===i.strValue?t.isEdge()?o:0:"none"===i.strValue?0:i.pfValue},Ns.drawText=function(t,e,n){var r=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],i=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],o=e._private.rscratch,a=i?e.effectiveOpacity():1;if(!i||0!==a&&0!==e.pstyle("text-opacity").value){"main"===n&&(n=null);var s,c,u=Dt(o,"labelX",n),l=Dt(o,"labelY",n),h=this.getLabelText(e,n);if(null!=h&&""!==h&&!isNaN(u)&&!isNaN(l)){this.setupTextStyle(t,e,i);var f,d=n?n+"-":"",p=Dt(o,"labelWidth",n),g=Dt(o,"labelHeight",n),v=e.pstyle(d+"text-margin-x").pfValue,b=e.pstyle(d+"text-margin-y").pfValue,y=e.isEdge(),m=e.pstyle("text-halign").value,w=e.pstyle("text-valign").value;switch(y&&(m="center",w="center"),u+=v,l+=b,0!==(f=r?this.getTextAngle(e,n):0)&&(s=u,c=l,t.translate(s,c),t.rotate(f),u=0,l=0),w){case"top":break;case"center":l+=g/2;break;case"bottom":l+=g}var x=e.pstyle("text-background-opacity").value,_=e.pstyle("text-border-opacity").value,E=e.pstyle("text-border-width").pfValue,k=e.pstyle("text-background-padding").pfValue,T=0===e.pstyle("text-background-shape").strValue.indexOf("round");if(x>0||E>0&&_>0){var C=u-k;switch(m){case"left":C-=p;break;case"center":C-=p/2}var N=l-g-k,A=p+2*k,S=g+2*k;if(x>0){var O=t.fillStyle,L=e.pstyle("text-background-color").value;t.fillStyle="rgba("+L[0]+","+L[1]+","+L[2]+","+x*a+")",T?As(t,C,N,A,S,2):t.fillRect(C,N,A,S),t.fillStyle=O}if(E>0&&_>0){var I=t.strokeStyle,M=t.lineWidth,P=e.pstyle("text-border-color").value,D=e.pstyle("text-border-style").value;if(t.strokeStyle="rgba("+P[0]+","+P[1]+","+P[2]+","+_*a+")",t.lineWidth=E,t.setLineDash)switch(D){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash([4,2]);break;case"double":t.lineWidth=E/4,t.setLineDash([]);break;case"solid":t.setLineDash([])}if(T?As(t,C,N,A,S,2,"stroke"):t.strokeRect(C,N,A,S),"double"===D){var R=E/2;T?As(t,C+R,N+R,A-2*R,S-2*R,2,"stroke"):t.strokeRect(C+R,N+R,A-2*R,S-2*R)}t.setLineDash&&t.setLineDash([]),t.lineWidth=M,t.strokeStyle=I}}var j=2*e.pstyle("text-outline-width").pfValue;if(j>0&&(t.lineWidth=j),"wrap"===e.pstyle("text-wrap").value){var G=Dt(o,"labelWrapCachedLines",n),B=Dt(o,"labelLineHeight",n),F=p/2,H=this.getLabelJustification(e);switch("auto"===H||("left"===m?"left"===H?u+=-p:"center"===H&&(u+=-F):"center"===m?"left"===H?u+=-F:"right"===H&&(u+=F):"right"===m&&("center"===H?u+=F:"right"===H&&(u+=p))),w){case"top":case"center":case"bottom":l-=(G.length-1)*B}for(var Y=0;Y0&&t.strokeText(G[Y],u,l),t.fillText(G[Y],u,l),l+=B}else j>0&&t.strokeText(h,u,l),t.fillText(h,u,l);0!==f&&(t.rotate(-f),t.translate(-s,-c))}}};var Ss={drawNode:function(t,e,n){var r,i,o=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],a=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],s=!(arguments.length>5&&void 0!==arguments[5])||arguments[5],c=this,u=e._private,l=u.rscratch,h=e.position();if(I(h.x)&&I(h.y)&&(!s||e.visible())){var f,d,p=s?e.effectiveOpacity():1,g=c.usePaths(),v=!1,b=e.padding();r=e.width()+2*b,i=e.height()+2*b,n&&(d=n,t.translate(-d.x1,-d.y1));for(var y=e.pstyle("background-image").value,m=new Array(y.length),w=new Array(y.length),x=0,_=0;_0&&void 0!==arguments[0]?arguments[0]:N;c.eleFillStyle(t,e,n)},G=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:O;c.colorStrokeStyle(t,A[0],A[1],A[2],e)},B=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:D;c.colorStrokeStyle(t,M[0],M[1],M[2],e)},F=function(t,e,n,r){var i,o=c.nodePathCache=c.nodePathCache||[],a=gt("polygon"===n?n+","+r.join(","):n,""+e,""+t),s=o[a],u=!1;return null!=s?(i=s,u=!0,l.pathCache=i):(i=new Path2D,o[a]=l.pathCache=i),{path:i,cacheHit:u}},H=e.pstyle("shape").strValue,Y=e.pstyle("shape-polygon-points").pfValue;if(g){t.translate(h.x,h.y);var z=F(r,i,H,Y);f=z.path,v=z.cacheHit}var U=function(){if(!v){var n=h;g&&(n={x:0,y:0}),c.nodeShapes[c.getNodeShape(e)].draw(f||t,n.x,n.y,r,i)}g?t.fill(f):t.fill()},V=function(){for(var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:p,r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=u.backgrounding,o=0,a=0;a0&&void 0!==arguments[0]&&arguments[0],o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:p;c.hasPie(e)&&(c.drawPie(t,e,o),n&&(g||c.nodeShapes[c.getNodeShape(e)].draw(t,h.x,h.y,r,i)))},X=function(){var e=(T>0?T:-T)*(arguments.length>0&&void 0!==arguments[0]?arguments[0]:p),n=T>0?0:255;0!==T&&(c.colorFillStyle(t,n,n,n,e),g?t.fill(f):t.fill())},W=function(){if(C>0){if(t.lineWidth=C,t.lineCap="butt",t.setLineDash)switch(S){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash([4,2]);break;case"solid":case"double":t.setLineDash([])}if(g?t.stroke(f):t.stroke(),"double"===S){t.lineWidth=C/3;var e=t.globalCompositeOperation;t.globalCompositeOperation="destination-out",g?t.stroke(f):t.stroke(),t.globalCompositeOperation=e}t.setLineDash&&t.setLineDash([])}},$=function(){if(L>0){if(t.lineWidth=L,t.lineCap="butt",t.setLineDash)switch(P){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash([4,2]);break;case"solid":case"double":t.setLineDash([])}var n=h;g&&(n={x:0,y:0});var o,a=c.getNodeShape(e),s=(r+C+(L+R))/r,u=(i+C+(L+R))/i,l=r*s,f=i*u,d=c.nodeShapes[a].points;if(g&&(o=F(l,f,a,d).path),"ellipse"===a)c.drawEllipsePath(o||t,n.x,n.y,l,f);else if(["round-diamond","round-heptagon","round-hexagon","round-octagon","round-pentagon","round-polygon","round-triangle","round-tag"].includes(a)){var p=0,v=0,b=0;"round-diamond"===a?p=1.4*(C+R+L):"round-heptagon"===a?(p=1.075*(C+R+L),b=-(C/2+R+L)/35):"round-hexagon"===a?p=1.12*(C+R+L):"round-pentagon"===a?(p=1.13*(C+R+L),b=-(C/2+R+L)/15):"round-tag"===a?(p=1.12*(C+R+L),v=.07*(C/2+L+R)):"round-triangle"===a&&(p=(C+R+L)*(Math.PI/2),b=-(C+R/2+L)/Math.PI),0!==p&&(s=(r+p)/r,u=(i+p)/i),c.drawRoundPolygonPath(o||t,n.x+v,n.y+b,r*s,i*u,d)}else["roundrectangle","round-rectangle"].includes(a)?c.drawRoundRectanglePath(o||t,n.x,n.y,l,f):["cutrectangle","cut-rectangle"].includes(a)?c.drawCutRectanglePath(o||t,n.x,n.y,l,f):["bottomroundrectangle","bottom-round-rectangle"].includes(a)?c.drawBottomRoundRectanglePath(o||t,n.x,n.y,l,f):"barrel"===a?c.drawBarrelPath(o||t,n.x,n.y,l,f):a.startsWith("polygon")||["rhomboid","right-rhomboid","round-tag","tag","vee"].includes(a)?(d=Oe(Le(d,(C+L+R)/r)),c.drawPolygonPath(o||t,n.x,n.y,r,i,d)):(d=Oe(Le(d,-(C+L+R)/r)),c.drawPolygonPath(o||t,n.x,n.y,r,i,d));if(g?t.stroke(o):t.stroke(),"double"===P){t.lineWidth=C/3;var y=t.globalCompositeOperation;t.globalCompositeOperation="destination-out",g?t.stroke(o):t.stroke(),t.globalCompositeOperation=y}t.setLineDash&&t.setLineDash([])}};if("yes"===e.pstyle("ghost").value){var Z=e.pstyle("ghost-offset-x").pfValue,K=e.pstyle("ghost-offset-y").pfValue,Q=e.pstyle("ghost-opacity").value,J=Q*p;t.translate(Z,K),B(),$(),j(Q*N),U(),V(J,!0),G(Q*O),W(),q(0!==T||0!==C),V(J,!1),X(J),t.translate(-Z,-K)}g&&t.translate(-h.x,-h.y),a&&c.drawNodeUnderlay(t,e,h,r,i),g&&t.translate(h.x,h.y),B(),$(),j(),U(),V(p,!0),G(),W(),q(0!==T||0!==C),V(p,!1),X(),g&&t.translate(-h.x,-h.y),c.drawElementText(t,e,null,o),a&&c.drawNodeOverlay(t,e,h,r,i),n&&t.translate(d.x1,d.y1)}}},Os=function(t){if(!["overlay","underlay"].includes(t))throw new Error("Invalid state");return function(e,n,r,i,o){if(n.visible()){var a=n.pstyle("".concat(t,"-padding")).pfValue,s=n.pstyle("".concat(t,"-opacity")).value,c=n.pstyle("".concat(t,"-color")).value,u=n.pstyle("".concat(t,"-shape")).value;if(s>0){if(r=r||n.position(),null==i||null==o){var l=n.padding();i=n.width()+2*l,o=n.height()+2*l}this.colorFillStyle(e,c[0],c[1],c[2],s),this.nodeShapes[u].draw(e,r.x,r.y,i+2*a,o+2*a),e.fill()}}}};Ss.drawNodeOverlay=Os("overlay"),Ss.drawNodeUnderlay=Os("underlay"),Ss.hasPie=function(t){return(t=t[0])._private.hasPie},Ss.drawPie=function(t,e,n,r){e=e[0],r=r||e.position();var i=e.cy().style(),o=e.pstyle("pie-size"),a=r.x,s=r.y,c=e.width(),u=e.height(),l=Math.min(c,u)/2,h=0;this.usePaths()&&(a=0,s=0),"%"===o.units?l*=o.pfValue:void 0!==o.pfValue&&(l=o.pfValue/2);for(var f=1;f<=i.pieBackgroundN;f++){var d=e.pstyle("pie-"+f+"-background-size").value,p=e.pstyle("pie-"+f+"-background-color").value,g=e.pstyle("pie-"+f+"-background-opacity").value*n,v=d/100;v+h>1&&(v=1-h);var b=1.5*Math.PI+2*Math.PI*h,y=b+2*Math.PI*v;0===d||h>=1||h+v>1||(t.beginPath(),t.moveTo(a,s),t.arc(a,s,l,b,y),t.closePath(),this.colorFillStyle(t,p[0],p[1],p[2],g),t.fill(),h+=v)}};for(var Ls={getPixelRatio:function(){var t=this.data.contexts[0];if(null!=this.forcedPixelRatio)return this.forcedPixelRatio;var e=t.backingStorePixelRatio||t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1;return(window.devicePixelRatio||1)/e},paintCache:function(t){for(var e,n=this.paintCaches=this.paintCaches||[],r=!0,i=0;ia.minMbLowQualFrames&&(a.motionBlurPxRatio=a.mbPxRBlurry)),a.clearingMotionBlur&&(a.motionBlurPxRatio=1),a.textureDrawLastFrame&&!h&&(l[a.NODE]=!0,l[a.SELECT_BOX]=!0);var y=c.style(),m=c.zoom(),w=void 0!==i?i:m,x=c.pan(),_={x:x.x,y:x.y},E={zoom:m,pan:{x:x.x,y:x.y}},k=a.prevViewport;void 0===k||E.zoom!==k.zoom||E.pan.x!==k.pan.x||E.pan.y!==k.pan.y||g&&!p||(a.motionBlurPxRatio=1),o&&(_=o),w*=s,_.x*=s,_.y*=s;var T=a.getCachedZSortedEles();function C(t,e,n,r,i){var o=t.globalCompositeOperation;t.globalCompositeOperation="destination-out",a.colorFillStyle(t,255,255,255,a.motionBlurTransparency),t.fillRect(e,n,r,i),t.globalCompositeOperation=o}function N(t,r){var s,c,l,h;a.clearingMotionBlur||t!==u.bufferContexts[a.MOTIONBLUR_BUFFER_NODE]&&t!==u.bufferContexts[a.MOTIONBLUR_BUFFER_DRAG]?(s=_,c=w,l=a.canvasWidth,h=a.canvasHeight):(s={x:x.x*d,y:x.y*d},c=m*d,l=a.canvasWidth*d,h=a.canvasHeight*d),t.setTransform(1,0,0,1,0,0),"motionBlur"===r?C(t,0,0,l,h):e||void 0!==r&&!r||t.clearRect(0,0,l,h),n||(t.translate(s.x,s.y),t.scale(c,c)),o&&t.translate(o.x,o.y),i&&t.scale(i,i)}if(h||(a.textureDrawLastFrame=!1),h){if(a.textureDrawLastFrame=!0,!a.textureCache){a.textureCache={},a.textureCache.bb=c.mutableElements().boundingBox(),a.textureCache.texture=a.data.bufferCanvases[a.TEXTURE_BUFFER];var A=a.data.bufferContexts[a.TEXTURE_BUFFER];A.setTransform(1,0,0,1,0,0),A.clearRect(0,0,a.canvasWidth*a.textureMult,a.canvasHeight*a.textureMult),a.render({forcedContext:A,drawOnlyNodeLayer:!0,forcedPxRatio:s*a.textureMult}),(E=a.textureCache.viewport={zoom:c.zoom(),pan:c.pan(),width:a.canvasWidth,height:a.canvasHeight}).mpan={x:(0-E.pan.x)/E.zoom,y:(0-E.pan.y)/E.zoom}}l[a.DRAG]=!1,l[a.NODE]=!1;var S=u.contexts[a.NODE],O=a.textureCache.texture;E=a.textureCache.viewport,S.setTransform(1,0,0,1,0,0),f?C(S,0,0,E.width,E.height):S.clearRect(0,0,E.width,E.height);var L=y.core("outside-texture-bg-color").value,I=y.core("outside-texture-bg-opacity").value;a.colorFillStyle(S,L[0],L[1],L[2],I),S.fillRect(0,0,E.width,E.height),m=c.zoom(),N(S,!1),S.clearRect(E.mpan.x,E.mpan.y,E.width/E.zoom/s,E.height/E.zoom/s),S.drawImage(O,E.mpan.x,E.mpan.y,E.width/E.zoom/s,E.height/E.zoom/s)}else a.textureOnViewport&&!e&&(a.textureCache=null);var M=c.extent(),P=a.pinching||a.hoverData.dragging||a.swipePanning||a.data.wheelZooming||a.hoverData.draggingEles||a.cy.animated(),D=a.hideEdgesOnViewport&&P,R=[];if(R[a.NODE]=!l[a.NODE]&&f&&!a.clearedForMotionBlur[a.NODE]||a.clearingMotionBlur,R[a.NODE]&&(a.clearedForMotionBlur[a.NODE]=!0),R[a.DRAG]=!l[a.DRAG]&&f&&!a.clearedForMotionBlur[a.DRAG]||a.clearingMotionBlur,R[a.DRAG]&&(a.clearedForMotionBlur[a.DRAG]=!0),l[a.NODE]||n||r||R[a.NODE]){var j=f&&!R[a.NODE]&&1!==d;N(S=e||(j?a.data.bufferContexts[a.MOTIONBLUR_BUFFER_NODE]:u.contexts[a.NODE]),f&&!j?"motionBlur":void 0),D?a.drawCachedNodes(S,T.nondrag,s,M):a.drawLayeredElements(S,T.nondrag,s,M),a.debug&&a.drawDebugPoints(S,T.nondrag),n||f||(l[a.NODE]=!1)}if(!r&&(l[a.DRAG]||n||R[a.DRAG])&&(j=f&&!R[a.DRAG]&&1!==d,N(S=e||(j?a.data.bufferContexts[a.MOTIONBLUR_BUFFER_DRAG]:u.contexts[a.DRAG]),f&&!j?"motionBlur":void 0),D?a.drawCachedNodes(S,T.drag,s,M):a.drawCachedElements(S,T.drag,s,M),a.debug&&a.drawDebugPoints(S,T.drag),n||f||(l[a.DRAG]=!1)),a.showFps||!r&&l[a.SELECT_BOX]&&!n){if(N(S=e||u.contexts[a.SELECT_BOX]),1==a.selection[4]&&(a.hoverData.selecting||a.touchData.selecting)){m=a.cy.zoom();var G=y.core("selection-box-border-width").value/m;S.lineWidth=G,S.fillStyle="rgba("+y.core("selection-box-color").value[0]+","+y.core("selection-box-color").value[1]+","+y.core("selection-box-color").value[2]+","+y.core("selection-box-opacity").value+")",S.fillRect(a.selection[0],a.selection[1],a.selection[2]-a.selection[0],a.selection[3]-a.selection[1]),G>0&&(S.strokeStyle="rgba("+y.core("selection-box-border-color").value[0]+","+y.core("selection-box-border-color").value[1]+","+y.core("selection-box-border-color").value[2]+","+y.core("selection-box-opacity").value+")",S.strokeRect(a.selection[0],a.selection[1],a.selection[2]-a.selection[0],a.selection[3]-a.selection[1]))}if(u.bgActivePosistion&&!a.hoverData.selecting){m=a.cy.zoom();var B=u.bgActivePosistion;S.fillStyle="rgba("+y.core("active-bg-color").value[0]+","+y.core("active-bg-color").value[1]+","+y.core("active-bg-color").value[2]+","+y.core("active-bg-opacity").value+")",S.beginPath(),S.arc(B.x,B.y,y.core("active-bg-size").pfValue/m,0,2*Math.PI),S.fill()}var F=a.lastRedrawTime;if(a.showFps&&F){F=Math.round(F);var H=Math.round(1e3/F);S.setTransform(1,0,0,1,0,0),S.fillStyle="rgba(255, 0, 0, 0.75)",S.strokeStyle="rgba(255, 0, 0, 0.75)",S.lineWidth=1,S.fillText("1 frame = "+F+" ms = "+H+" fps",0,20),S.strokeRect(0,30,250,20),S.fillRect(0,30,250*Math.min(H/60,1),20)}n||(l[a.SELECT_BOX]=!1)}if(f&&1!==d){var Y=u.contexts[a.NODE],z=a.data.bufferCanvases[a.MOTIONBLUR_BUFFER_NODE],U=u.contexts[a.DRAG],V=a.data.bufferCanvases[a.MOTIONBLUR_BUFFER_DRAG],q=function(t,e,n){t.setTransform(1,0,0,1,0,0),n||!b?t.clearRect(0,0,a.canvasWidth,a.canvasHeight):C(t,0,0,a.canvasWidth,a.canvasHeight);var r=d;t.drawImage(e,0,0,a.canvasWidth*r,a.canvasHeight*r,0,0,a.canvasWidth,a.canvasHeight)};(l[a.NODE]||R[a.NODE])&&(q(Y,z,R[a.NODE]),l[a.NODE]=!1),(l[a.DRAG]||R[a.DRAG])&&(q(U,V,R[a.DRAG]),l[a.DRAG]=!1)}a.prevViewport=E,a.clearingMotionBlur&&(a.clearingMotionBlur=!1,a.motionBlurCleared=!0,a.motionBlur=!0),f&&(a.motionBlurTimeout=setTimeout((function(){a.motionBlurTimeout=null,a.clearedForMotionBlur[a.NODE]=!1,a.clearedForMotionBlur[a.DRAG]=!1,a.motionBlur=!1,a.clearingMotionBlur=!h,a.mbFrames=0,l[a.NODE]=!0,l[a.DRAG]=!0,a.redraw()}),100)),e||c.emit("render")}},Is={drawPolygonPath:function(t,e,n,r,i,o){var a=r/2,s=i/2;t.beginPath&&t.beginPath(),t.moveTo(e+a*o[0],n+s*o[1]);for(var c=1;c0&&o>0){f.clearRect(0,0,i,o),f.globalCompositeOperation="source-over";var d=this.getCachedZSortedEles();if(t.full)f.translate(-n.x1*c,-n.y1*c),f.scale(c,c),this.drawElements(f,d),f.scale(1/c,1/c),f.translate(n.x1*c,n.y1*c);else{var p=e.pan(),g={x:p.x*c,y:p.y*c};c*=e.zoom(),f.translate(g.x,g.y),f.scale(c,c),this.drawElements(f,d),f.scale(1/c,1/c),f.translate(-g.x,-g.y)}t.bg&&(f.globalCompositeOperation="destination-over",f.fillStyle=t.bg,f.rect(0,0,i,o),f.fill())}return h},Bs.png=function(t){return Hs(t,this.bufferCanvasImage(t),"image/png")},Bs.jpg=function(t){return Hs(t,this.bufferCanvasImage(t),"image/jpeg")};var Ys=Us,zs=Us.prototype;function Us(t){var e=this;e.data={canvases:new Array(zs.CANVAS_LAYERS),contexts:new Array(zs.CANVAS_LAYERS),canvasNeedsRedraw:new Array(zs.CANVAS_LAYERS),bufferCanvases:new Array(zs.BUFFER_COUNT),bufferContexts:new Array(zs.CANVAS_LAYERS)};var n="-webkit-tap-highlight-color",r="rgba(0,0,0,0)";e.data.canvasContainer=document.createElement("div");var i=e.data.canvasContainer.style;e.data.canvasContainer.style[n]=r,i.position="relative",i.zIndex="0",i.overflow="hidden";var o=t.cy.container();o.appendChild(e.data.canvasContainer),o.style[n]=r;var a={"-webkit-user-select":"none","-moz-user-select":"-moz-none","user-select":"none","-webkit-tap-highlight-color":"rgba(0,0,0,0)","outline-style":"none"};_&&_.userAgent.match(/msie|trident|edge/i)&&(a["-ms-touch-action"]="none",a["touch-action"]="none");for(var s=0;s{t.exports={graphlib:n(574),layout:n(8123),debug:n(7570),util:{time:n(7266).time,notime:n(7266).notime},version:n(8177)}},2188:(t,e,n)=>{"use strict";var r=n(8436),i=n(4079);t.exports={run:function(t){var e="greedy"===t.graph().acyclicer?i(t,function(t){return function(e){return t.edge(e).weight}}(t)):function(t){var e=[],n={},i={};return r.forEach(t.nodes(),(function o(a){r.has(i,a)||(i[a]=!0,n[a]=!0,r.forEach(t.outEdges(a),(function(t){r.has(n,t.w)?e.push(t):o(t.w)})),delete n[a])})),e}(t);r.forEach(e,(function(e){var n=t.edge(e);t.removeEdge(e),n.forwardName=e.name,n.reversed=!0,t.setEdge(e.w,e.v,n,r.uniqueId("rev"))}))},undo:function(t){r.forEach(t.edges(),(function(e){var n=t.edge(e);if(n.reversed){t.removeEdge(e);var r=n.forwardName;delete n.reversed,delete n.forwardName,t.setEdge(e.w,e.v,n,r)}}))}}},1133:(t,e,n)=>{var r=n(8436),i=n(7266);function o(t,e,n,r,o,a){var s={width:0,height:0,rank:a,borderType:e},c=o[e][a-1],u=i.addDummyNode(t,"border",s,n);o[e][a]=u,t.setParent(u,r),c&&t.setEdge(c,u,{weight:1})}t.exports=function(t){r.forEach(t.children(),(function e(n){var i=t.children(n),a=t.node(n);if(i.length&&r.forEach(i,e),r.has(a,"minRank")){a.borderLeft=[],a.borderRight=[];for(var s=a.minRank,c=a.maxRank+1;s{"use strict";var r=n(8436);function i(t){r.forEach(t.nodes(),(function(e){o(t.node(e))})),r.forEach(t.edges(),(function(e){o(t.edge(e))}))}function o(t){var e=t.width;t.width=t.height,t.height=e}function a(t){t.y=-t.y}function s(t){var e=t.x;t.x=t.y,t.y=e}t.exports={adjust:function(t){var e=t.graph().rankdir.toLowerCase();"lr"!==e&&"rl"!==e||i(t)},undo:function(t){var e=t.graph().rankdir.toLowerCase();"bt"!==e&&"rl"!==e||function(t){r.forEach(t.nodes(),(function(e){a(t.node(e))})),r.forEach(t.edges(),(function(e){var n=t.edge(e);r.forEach(n.points,a),r.has(n,"y")&&a(n)}))}(t),"lr"!==e&&"rl"!==e||(function(t){r.forEach(t.nodes(),(function(e){s(t.node(e))})),r.forEach(t.edges(),(function(e){var n=t.edge(e);r.forEach(n.points,s),r.has(n,"x")&&s(n)}))}(t),i(t))}}},7822:t=>{function e(){var t={};t._next=t._prev=t,this._sentinel=t}function n(t){t._prev._next=t._next,t._next._prev=t._prev,delete t._next,delete t._prev}function r(t,e){if("_next"!==t&&"_prev"!==t)return e}t.exports=e,e.prototype.dequeue=function(){var t=this._sentinel,e=t._prev;if(e!==t)return n(e),e},e.prototype.enqueue=function(t){var e=this._sentinel;t._prev&&t._next&&n(t),t._next=e._next,e._next._prev=t,e._next=t,t._prev=e},e.prototype.toString=function(){for(var t=[],e=this._sentinel,n=e._prev;n!==e;)t.push(JSON.stringify(n,r)),n=n._prev;return"["+t.join(", ")+"]"}},7570:(t,e,n)=>{var r=n(8436),i=n(7266),o=n(574).Graph;t.exports={debugOrdering:function(t){var e=i.buildLayerMatrix(t),n=new o({compound:!0,multigraph:!0}).setGraph({});return r.forEach(t.nodes(),(function(e){n.setNode(e,{label:e}),n.setParent(e,"layer"+t.node(e).rank)})),r.forEach(t.edges(),(function(t){n.setEdge(t.v,t.w,{},t.name)})),r.forEach(e,(function(t,e){var i="layer"+e;n.setNode(i,{rank:"same"}),r.reduce(t,(function(t,e){return n.setEdge(t,e,{style:"invis"}),e}))})),n}}},574:(t,e,n)=>{var r;try{r=n(8282)}catch(t){}r||(r=window.graphlib),t.exports=r},4079:(t,e,n)=>{var r=n(8436),i=n(574).Graph,o=n(7822);t.exports=function(t,e){if(t.nodeCount()<=1)return[];var n=function(t,e){var n=new i,a=0,s=0;r.forEach(t.nodes(),(function(t){n.setNode(t,{v:t,in:0,out:0})})),r.forEach(t.edges(),(function(t){var r=n.edge(t.v,t.w)||0,i=e(t),o=r+i;n.setEdge(t.v,t.w,o),s=Math.max(s,n.node(t.v).out+=i),a=Math.max(a,n.node(t.w).in+=i)}));var u=r.range(s+a+3).map((function(){return new o})),l=a+1;return r.forEach(n.nodes(),(function(t){c(u,l,n.node(t))})),{graph:n,buckets:u,zeroIdx:l}}(t,e||a),u=function(t,e,n){for(var r,i=[],o=e[e.length-1],a=e[0];t.nodeCount();){for(;r=a.dequeue();)s(t,e,n,r);for(;r=o.dequeue();)s(t,e,n,r);if(t.nodeCount())for(var c=e.length-2;c>0;--c)if(r=e[c].dequeue()){i=i.concat(s(t,e,n,r,!0));break}}return i}(n.graph,n.buckets,n.zeroIdx);return r.flatten(r.map(u,(function(e){return t.outEdges(e.v,e.w)})),!0)};var a=r.constant(1);function s(t,e,n,i,o){var a=o?[]:void 0;return r.forEach(t.inEdges(i.v),(function(r){var i=t.edge(r),s=t.node(r.v);o&&a.push({v:r.v,w:r.w}),s.out-=i,c(e,n,s)})),r.forEach(t.outEdges(i.v),(function(r){var i=t.edge(r),o=r.w,a=t.node(o);a.in-=i,c(e,n,a)})),t.removeNode(i.v),a}function c(t,e,n){n.out?n.in?t[n.out-n.in+e].enqueue(n):t[t.length-1].enqueue(n):t[0].enqueue(n)}},8123:(t,e,n)=>{"use strict";var r=n(8436),i=n(2188),o=n(5995),a=n(8093),s=n(7266).normalizeRanks,c=n(4219),u=n(7266).removeEmptyRanks,l=n(2981),h=n(1133),f=n(3258),d=n(3408),p=n(7873),g=n(7266),v=n(574).Graph;t.exports=function(t,e){var n=e&&e.debugTiming?g.time:g.notime;n("layout",(function(){var e=n(" buildLayoutGraph",(function(){return function(t){var e=new v({multigraph:!0,compound:!0}),n=C(t.graph());return e.setGraph(r.merge({},y,T(n,b),r.pick(n,m))),r.forEach(t.nodes(),(function(n){var i=C(t.node(n));e.setNode(n,r.defaults(T(i,w),x)),e.setParent(n,t.parent(n))})),r.forEach(t.edges(),(function(n){var i=C(t.edge(n));e.setEdge(n,r.merge({},E,T(i,_),r.pick(i,k)))})),e}(t)}));n(" runLayout",(function(){!function(t,e){e(" makeSpaceForEdgeLabels",(function(){!function(t){var e=t.graph();e.ranksep/=2,r.forEach(t.edges(),(function(n){var r=t.edge(n);r.minlen*=2,"c"!==r.labelpos.toLowerCase()&&("TB"===e.rankdir||"BT"===e.rankdir?r.width+=r.labeloffset:r.height+=r.labeloffset)}))}(t)})),e(" removeSelfEdges",(function(){!function(t){r.forEach(t.edges(),(function(e){if(e.v===e.w){var n=t.node(e.v);n.selfEdges||(n.selfEdges=[]),n.selfEdges.push({e,label:t.edge(e)}),t.removeEdge(e)}}))}(t)})),e(" acyclic",(function(){i.run(t)})),e(" nestingGraph.run",(function(){l.run(t)})),e(" rank",(function(){a(g.asNonCompoundGraph(t))})),e(" injectEdgeLabelProxies",(function(){!function(t){r.forEach(t.edges(),(function(e){var n=t.edge(e);if(n.width&&n.height){var r=t.node(e.v),i={rank:(t.node(e.w).rank-r.rank)/2+r.rank,e};g.addDummyNode(t,"edge-proxy",i,"_ep")}}))}(t)})),e(" removeEmptyRanks",(function(){u(t)})),e(" nestingGraph.cleanup",(function(){l.cleanup(t)})),e(" normalizeRanks",(function(){s(t)})),e(" assignRankMinMax",(function(){!function(t){var e=0;r.forEach(t.nodes(),(function(n){var i=t.node(n);i.borderTop&&(i.minRank=t.node(i.borderTop).rank,i.maxRank=t.node(i.borderBottom).rank,e=r.max(e,i.maxRank))})),t.graph().maxRank=e}(t)})),e(" removeEdgeLabelProxies",(function(){!function(t){r.forEach(t.nodes(),(function(e){var n=t.node(e);"edge-proxy"===n.dummy&&(t.edge(n.e).labelRank=n.rank,t.removeNode(e))}))}(t)})),e(" normalize.run",(function(){o.run(t)})),e(" parentDummyChains",(function(){c(t)})),e(" addBorderSegments",(function(){h(t)})),e(" order",(function(){d(t)})),e(" insertSelfEdges",(function(){!function(t){var e=g.buildLayerMatrix(t);r.forEach(e,(function(e){var n=0;r.forEach(e,(function(e,i){var o=t.node(e);o.order=i+n,r.forEach(o.selfEdges,(function(e){g.addDummyNode(t,"selfedge",{width:e.label.width,height:e.label.height,rank:o.rank,order:i+ ++n,e:e.e,label:e.label},"_se")})),delete o.selfEdges}))}))}(t)})),e(" adjustCoordinateSystem",(function(){f.adjust(t)})),e(" position",(function(){p(t)})),e(" positionSelfEdges",(function(){!function(t){r.forEach(t.nodes(),(function(e){var n=t.node(e);if("selfedge"===n.dummy){var r=t.node(n.e.v),i=r.x+r.width/2,o=r.y,a=n.x-i,s=r.height/2;t.setEdge(n.e,n.label),t.removeNode(e),n.label.points=[{x:i+2*a/3,y:o-s},{x:i+5*a/6,y:o-s},{x:i+a,y:o},{x:i+5*a/6,y:o+s},{x:i+2*a/3,y:o+s}],n.label.x=n.x,n.label.y=n.y}}))}(t)})),e(" removeBorderNodes",(function(){!function(t){r.forEach(t.nodes(),(function(e){if(t.children(e).length){var n=t.node(e),i=t.node(n.borderTop),o=t.node(n.borderBottom),a=t.node(r.last(n.borderLeft)),s=t.node(r.last(n.borderRight));n.width=Math.abs(s.x-a.x),n.height=Math.abs(o.y-i.y),n.x=a.x+n.width/2,n.y=i.y+n.height/2}})),r.forEach(t.nodes(),(function(e){"border"===t.node(e).dummy&&t.removeNode(e)}))}(t)})),e(" normalize.undo",(function(){o.undo(t)})),e(" fixupEdgeLabelCoords",(function(){!function(t){r.forEach(t.edges(),(function(e){var n=t.edge(e);if(r.has(n,"x"))switch("l"!==n.labelpos&&"r"!==n.labelpos||(n.width-=n.labeloffset),n.labelpos){case"l":n.x-=n.width/2+n.labeloffset;break;case"r":n.x+=n.width/2+n.labeloffset}}))}(t)})),e(" undoCoordinateSystem",(function(){f.undo(t)})),e(" translateGraph",(function(){!function(t){var e=Number.POSITIVE_INFINITY,n=0,i=Number.POSITIVE_INFINITY,o=0,a=t.graph(),s=a.marginx||0,c=a.marginy||0;function u(t){var r=t.x,a=t.y,s=t.width,c=t.height;e=Math.min(e,r-s/2),n=Math.max(n,r+s/2),i=Math.min(i,a-c/2),o=Math.max(o,a+c/2)}r.forEach(t.nodes(),(function(e){u(t.node(e))})),r.forEach(t.edges(),(function(e){var n=t.edge(e);r.has(n,"x")&&u(n)})),e-=s,i-=c,r.forEach(t.nodes(),(function(n){var r=t.node(n);r.x-=e,r.y-=i})),r.forEach(t.edges(),(function(n){var o=t.edge(n);r.forEach(o.points,(function(t){t.x-=e,t.y-=i})),r.has(o,"x")&&(o.x-=e),r.has(o,"y")&&(o.y-=i)})),a.width=n-e+s,a.height=o-i+c}(t)})),e(" assignNodeIntersects",(function(){!function(t){r.forEach(t.edges(),(function(e){var n,r,i=t.edge(e),o=t.node(e.v),a=t.node(e.w);i.points?(n=i.points[0],r=i.points[i.points.length-1]):(i.points=[],n=a,r=o),i.points.unshift(g.intersectRect(o,n)),i.points.push(g.intersectRect(a,r))}))}(t)})),e(" reversePoints",(function(){!function(t){r.forEach(t.edges(),(function(e){var n=t.edge(e);n.reversed&&n.points.reverse()}))}(t)})),e(" acyclic.undo",(function(){i.undo(t)}))}(e,n)})),n(" updateInputGraph",(function(){!function(t,e){r.forEach(t.nodes(),(function(n){var r=t.node(n),i=e.node(n);r&&(r.x=i.x,r.y=i.y,e.children(n).length&&(r.width=i.width,r.height=i.height))})),r.forEach(t.edges(),(function(n){var i=t.edge(n),o=e.edge(n);i.points=o.points,r.has(o,"x")&&(i.x=o.x,i.y=o.y)})),t.graph().width=e.graph().width,t.graph().height=e.graph().height}(t,e)}))}))};var b=["nodesep","edgesep","ranksep","marginx","marginy"],y={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},m=["acyclicer","ranker","rankdir","align"],w=["width","height"],x={width:0,height:0},_=["minlen","weight","width","height","labeloffset"],E={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},k=["labelpos"];function T(t,e){return r.mapValues(r.pick(t,e),Number)}function C(t){var e={};return r.forEach(t,(function(t,n){e[n.toLowerCase()]=t})),e}},8436:(t,e,n)=>{var r;try{r={cloneDeep:n(361),constant:n(5703),defaults:n(1747),each:n(6073),filter:n(3105),find:n(3311),flatten:n(5564),forEach:n(4486),forIn:n(2620),has:n(8721),isUndefined:n(2353),last:n(928),map:n(5161),mapValues:n(6604),max:n(6162),merge:n(3857),min:n(3632),minBy:n(2762),now:n(7771),pick:n(9722),range:n(6026),reduce:n(4061),sortBy:n(9734),uniqueId:n(3955),values:n(2628),zipObject:n(7287)}}catch(t){}r||(r=window._),t.exports=r},2981:(t,e,n)=>{var r=n(8436),i=n(7266);function o(t,e,n,a,s,c,u){var l=t.children(u);if(l.length){var h=i.addBorderNode(t,"_bt"),f=i.addBorderNode(t,"_bb"),d=t.node(u);t.setParent(h,u),d.borderTop=h,t.setParent(f,u),d.borderBottom=f,r.forEach(l,(function(r){o(t,e,n,a,s,c,r);var i=t.node(r),l=i.borderTop?i.borderTop:r,d=i.borderBottom?i.borderBottom:r,p=i.borderTop?a:2*a,g=l!==d?1:s-c[u]+1;t.setEdge(h,l,{weight:p,minlen:g,nestingEdge:!0}),t.setEdge(d,f,{weight:p,minlen:g,nestingEdge:!0})})),t.parent(u)||t.setEdge(e,h,{weight:0,minlen:s+c[u]})}else u!==e&&t.setEdge(e,u,{weight:0,minlen:n})}t.exports={run:function(t){var e=i.addDummyNode(t,"root",{},"_root"),n=function(t){var e={};function n(i,o){var a=t.children(i);a&&a.length&&r.forEach(a,(function(t){n(t,o+1)})),e[i]=o}return r.forEach(t.children(),(function(t){n(t,1)})),e}(t),a=r.max(r.values(n))-1,s=2*a+1;t.graph().nestingRoot=e,r.forEach(t.edges(),(function(e){t.edge(e).minlen*=s}));var c=function(t){return r.reduce(t.edges(),(function(e,n){return e+t.edge(n).weight}),0)}(t)+1;r.forEach(t.children(),(function(r){o(t,e,s,c,a,n,r)})),t.graph().nodeRankFactor=s},cleanup:function(t){var e=t.graph();t.removeNode(e.nestingRoot),delete e.nestingRoot,r.forEach(t.edges(),(function(e){t.edge(e).nestingEdge&&t.removeEdge(e)}))}}},5995:(t,e,n)=>{"use strict";var r=n(8436),i=n(7266);t.exports={run:function(t){t.graph().dummyChains=[],r.forEach(t.edges(),(function(e){!function(t,e){var n,r,o,a=e.v,s=t.node(a).rank,c=e.w,u=t.node(c).rank,l=e.name,h=t.edge(e),f=h.labelRank;if(u!==s+1){for(t.removeEdge(e),o=0,++s;s{var r=n(8436);t.exports=function(t,e,n){var i,o={};r.forEach(n,(function(n){for(var r,a,s=t.parent(n);s;){if((r=t.parent(s))?(a=o[r],o[r]=s):(a=i,i=s),a&&a!==s)return void e.setEdge(a,s);s=r}}))}},5439:(t,e,n)=>{var r=n(8436);t.exports=function(t,e){return r.map(e,(function(e){var n=t.inEdges(e);if(n.length){var i=r.reduce(n,(function(e,n){var r=t.edge(n),i=t.node(n.v);return{sum:e.sum+r.weight*i.order,weight:e.weight+r.weight}}),{sum:0,weight:0});return{v:e,barycenter:i.sum/i.weight,weight:i.weight}}return{v:e}}))}},3128:(t,e,n)=>{var r=n(8436),i=n(574).Graph;t.exports=function(t,e,n){var o=function(t){for(var e;t.hasNode(e=r.uniqueId("_root")););return e}(t),a=new i({compound:!0}).setGraph({root:o}).setDefaultNodeLabel((function(e){return t.node(e)}));return r.forEach(t.nodes(),(function(i){var s=t.node(i),c=t.parent(i);(s.rank===e||s.minRank<=e&&e<=s.maxRank)&&(a.setNode(i),a.setParent(i,c||o),r.forEach(t[n](i),(function(e){var n=e.v===i?e.w:e.v,o=a.edge(n,i),s=r.isUndefined(o)?0:o.weight;a.setEdge(n,i,{weight:t.edge(e).weight+s})})),r.has(s,"minRank")&&a.setNode(i,{borderLeft:s.borderLeft[e],borderRight:s.borderRight[e]}))})),a}},6630:(t,e,n)=>{"use strict";var r=n(8436);function i(t,e,n){for(var i=r.zipObject(n,r.map(n,(function(t,e){return e}))),o=r.flatten(r.map(e,(function(e){return r.sortBy(r.map(t.outEdges(e),(function(e){return{pos:i[e.w],weight:t.edge(e).weight}})),"pos")})),!0),a=1;a0;)e%2&&(n+=c[e+1]),c[e=e-1>>1]+=t.weight;u+=t.weight*n}))),u}t.exports=function(t,e){for(var n=0,r=1;r{"use strict";var r=n(8436),i=n(2588),o=n(6630),a=n(1026),s=n(3128),c=n(5093),u=n(574).Graph,l=n(7266);function h(t,e,n){return r.map(e,(function(e){return s(t,e,n)}))}function f(t,e){var n=new u;r.forEach(t,(function(t){var i=t.graph().root,o=a(t,i,n,e);r.forEach(o.vs,(function(e,n){t.node(e).order=n})),c(t,n,o.vs)}))}function d(t,e){r.forEach(e,(function(e){r.forEach(e,(function(e,n){t.node(e).order=n}))}))}t.exports=function(t){var e=l.maxRank(t),n=h(t,r.range(1,e+1),"inEdges"),a=h(t,r.range(e-1,-1,-1),"outEdges"),s=i(t);d(t,s);for(var c,u=Number.POSITIVE_INFINITY,p=0,g=0;g<4;++p,++g){f(p%2?n:a,p%4>=2),s=l.buildLayerMatrix(t);var v=o(t,s);v{"use strict";var r=n(8436);t.exports=function(t){var e={},n=r.filter(t.nodes(),(function(e){return!t.children(e).length})),i=r.max(r.map(n,(function(e){return t.node(e).rank}))),o=r.map(r.range(i+1),(function(){return[]})),a=r.sortBy(n,(function(e){return t.node(e).rank}));return r.forEach(a,(function n(i){if(!r.has(e,i)){e[i]=!0;var a=t.node(i);o[a.rank].push(i),r.forEach(t.successors(i),n)}})),o}},9567:(t,e,n)=>{"use strict";var r=n(8436);t.exports=function(t,e){var n={};return r.forEach(t,(function(t,e){var i=n[t.v]={indegree:0,in:[],out:[],vs:[t.v],i:e};r.isUndefined(t.barycenter)||(i.barycenter=t.barycenter,i.weight=t.weight)})),r.forEach(e.edges(),(function(t){var e=n[t.v],i=n[t.w];r.isUndefined(e)||r.isUndefined(i)||(i.indegree++,e.out.push(n[t.w]))})),function(t){var e=[];function n(t){return function(e){var n,i,o,a;e.merged||(r.isUndefined(e.barycenter)||r.isUndefined(t.barycenter)||e.barycenter>=t.barycenter)&&(i=e,o=0,a=0,(n=t).weight&&(o+=n.barycenter*n.weight,a+=n.weight),i.weight&&(o+=i.barycenter*i.weight,a+=i.weight),n.vs=i.vs.concat(n.vs),n.barycenter=o/a,n.weight=a,n.i=Math.min(i.i,n.i),i.merged=!0)}}function i(e){return function(n){n.in.push(e),0==--n.indegree&&t.push(n)}}for(;t.length;){var o=t.pop();e.push(o),r.forEach(o.in.reverse(),n(o)),r.forEach(o.out,i(o))}return r.map(r.filter(e,(function(t){return!t.merged})),(function(t){return r.pick(t,["vs","i","barycenter","weight"])}))}(r.filter(n,(function(t){return!t.indegree})))}},1026:(t,e,n)=>{var r=n(8436),i=n(5439),o=n(9567),a=n(7304);t.exports=function t(e,n,s,c){var u=e.children(n),l=e.node(n),h=l?l.borderLeft:void 0,f=l?l.borderRight:void 0,d={};h&&(u=r.filter(u,(function(t){return t!==h&&t!==f})));var p=i(e,u);r.forEach(p,(function(n){if(e.children(n.v).length){var i=t(e,n.v,s,c);d[n.v]=i,r.has(i,"barycenter")&&(o=n,a=i,r.isUndefined(o.barycenter)?(o.barycenter=a.barycenter,o.weight=a.weight):(o.barycenter=(o.barycenter*o.weight+a.barycenter*a.weight)/(o.weight+a.weight),o.weight+=a.weight))}var o,a}));var g=o(p,s);!function(t,e){r.forEach(t,(function(t){t.vs=r.flatten(t.vs.map((function(t){return e[t]?e[t].vs:t})),!0)}))}(g,d);var v=a(g,c);if(h&&(v.vs=r.flatten([h,v.vs,f],!0),e.predecessors(h).length)){var b=e.node(e.predecessors(h)[0]),y=e.node(e.predecessors(f)[0]);r.has(v,"barycenter")||(v.barycenter=0,v.weight=0),v.barycenter=(v.barycenter*v.weight+b.order+y.order)/(v.weight+2),v.weight+=2}return v}},7304:(t,e,n)=>{var r=n(8436),i=n(7266);function o(t,e,n){for(var i;e.length&&(i=r.last(e)).i<=n;)e.pop(),t.push(i.vs),n++;return n}t.exports=function(t,e){var n,a=i.partition(t,(function(t){return r.has(t,"barycenter")})),s=a.lhs,c=r.sortBy(a.rhs,(function(t){return-t.i})),u=[],l=0,h=0,f=0;s.sort((n=!!e,function(t,e){return t.barycentere.barycenter?1:n?e.i-t.i:t.i-e.i})),f=o(u,c,f),r.forEach(s,(function(t){f+=t.vs.length,u.push(t.vs),l+=t.barycenter*t.weight,h+=t.weight,f=o(u,c,f)}));var d={vs:r.flatten(u,!0)};return h&&(d.barycenter=l/h,d.weight=h),d}},4219:(t,e,n)=>{var r=n(8436);t.exports=function(t){var e=function(t){var e={},n=0;return r.forEach(t.children(),(function i(o){var a=n;r.forEach(t.children(o),i),e[o]={low:a,lim:n++}})),e}(t);r.forEach(t.graph().dummyChains,(function(n){for(var r=t.node(n),i=r.edgeObj,o=function(t,e,n,r){var i,o,a=[],s=[],c=Math.min(e[n].low,e[r].low),u=Math.max(e[n].lim,e[r].lim);i=n;do{i=t.parent(i),a.push(i)}while(i&&(e[i].low>c||u>e[i].lim));for(o=i,i=r;(i=t.parent(i))!==o;)s.push(i);return{path:a.concat(s.reverse()),lca:o}}(t,e,i.v,i.w),a=o.path,s=o.lca,c=0,u=a[c],l=!0;n!==i.w;){if(r=t.node(n),l){for(;(u=a[c])!==s&&t.node(u).maxRank{"use strict";var r=n(8436),i=n(574).Graph,o=n(7266);function a(t,e){var n={};return r.reduce(e,(function(e,i){var o=0,a=0,s=e.length,u=r.last(i);return r.forEach(i,(function(e,l){var h=function(t,e){if(t.node(e).dummy)return r.find(t.predecessors(e),(function(e){return t.node(e).dummy}))}(t,e),f=h?t.node(h).order:s;(h||e===u)&&(r.forEach(i.slice(a,l+1),(function(e){r.forEach(t.predecessors(e),(function(r){var i=t.node(r),a=i.order;!(as)&&c(n,e,u)}))}))}return r.reduce(e,(function(e,n){var o,a=-1,s=0;return r.forEach(n,(function(r,c){if("border"===t.node(r).dummy){var u=t.predecessors(r);u.length&&(o=t.node(u[0]).order,i(n,s,c,a,o),s=c,a=o)}i(n,s,n.length,o,e.length)})),n})),n}function c(t,e,n){if(e>n){var r=e;e=n,n=r}var i=t[e];i||(t[e]=i={}),i[n]=!0}function u(t,e,n){if(e>n){var i=e;e=n,n=i}return r.has(t[e],n)}function l(t,e,n,i){var o={},a={},s={};return r.forEach(e,(function(t){r.forEach(t,(function(t,e){o[t]=t,a[t]=t,s[t]=e}))})),r.forEach(e,(function(t){var e=-1;r.forEach(t,(function(t){var c=i(t);if(c.length){c=r.sortBy(c,(function(t){return s[t]}));for(var l=(c.length-1)/2,h=Math.floor(l),f=Math.ceil(l);h<=f;++h){var d=c[h];a[t]===t&&e{"use strict";var r=n(8436),i=n(7266),o=n(3573).positionX;t.exports=function(t){(function(t){var e=i.buildLayerMatrix(t),n=t.graph().ranksep,o=0;r.forEach(e,(function(e){var i=r.max(r.map(e,(function(e){return t.node(e).height})));r.forEach(e,(function(e){t.node(e).y=o+i/2})),o+=i+n}))})(t=i.asNonCompoundGraph(t)),r.forEach(o(t),(function(e,n){t.node(n).x=e}))}},300:(t,e,n)=>{"use strict";var r=n(8436),i=n(574).Graph,o=n(6681).slack;function a(t,e){return r.forEach(t.nodes(),(function n(i){r.forEach(e.nodeEdges(i),(function(r){var a=r.v,s=i===a?r.w:a;t.hasNode(s)||o(e,r)||(t.setNode(s,{}),t.setEdge(i,s,{}),n(s))}))})),t.nodeCount()}function s(t,e){return r.minBy(e.edges(),(function(n){if(t.hasNode(n.v)!==t.hasNode(n.w))return o(e,n)}))}function c(t,e,n){r.forEach(t.nodes(),(function(t){e.node(t).rank+=n}))}t.exports=function(t){var e,n,r=new i({directed:!1}),u=t.nodes()[0],l=t.nodeCount();for(r.setNode(u,{});a(r,t){"use strict";var r=n(6681).longestPath,i=n(300),o=n(2472);t.exports=function(t){switch(t.graph().ranker){case"network-simplex":default:!function(t){o(t)}(t);break;case"tight-tree":!function(t){r(t),i(t)}(t);break;case"longest-path":a(t)}};var a=r},2472:(t,e,n)=>{"use strict";var r=n(8436),i=n(300),o=n(6681).slack,a=n(6681).longestPath,s=n(574).alg.preorder,c=n(574).alg.postorder,u=n(7266).simplify;function l(t){t=u(t),a(t);var e,n=i(t);for(d(n),h(n,t);e=g(n);)b(n,t,e,v(n,t,e))}function h(t,e){var n=c(t,t.nodes());n=n.slice(0,n.length-1),r.forEach(n,(function(n){!function(t,e,n){var r=t.node(n).parent;t.edge(n,r).cutvalue=f(t,e,n)}(t,e,n)}))}function f(t,e,n){var i=t.node(n).parent,o=!0,a=e.edge(n,i),s=0;return a||(o=!1,a=e.edge(i,n)),s=a.weight,r.forEach(e.nodeEdges(n),(function(r){var a,c,u=r.v===n,l=u?r.w:r.v;if(l!==i){var h=u===o,f=e.edge(r).weight;if(s+=h?f:-f,a=n,c=l,t.hasEdge(a,c)){var d=t.edge(n,l).cutvalue;s+=h?-d:d}}})),s}function d(t,e){arguments.length<2&&(e=t.nodes()[0]),p(t,{},1,e)}function p(t,e,n,i,o){var a=n,s=t.node(i);return e[i]=!0,r.forEach(t.neighbors(i),(function(o){r.has(e,o)||(n=p(t,e,n,o,i))})),s.low=a,s.lim=n++,o?s.parent=o:delete s.parent,n}function g(t){return r.find(t.edges(),(function(e){return t.edge(e).cutvalue<0}))}function v(t,e,n){var i=n.v,a=n.w;e.hasEdge(i,a)||(i=n.w,a=n.v);var s=t.node(i),c=t.node(a),u=s,l=!1;s.lim>c.lim&&(u=c,l=!0);var h=r.filter(e.edges(),(function(e){return l===y(0,t.node(e.v),u)&&l!==y(0,t.node(e.w),u)}));return r.minBy(h,(function(t){return o(e,t)}))}function b(t,e,n,i){var o=n.v,a=n.w;t.removeEdge(o,a),t.setEdge(i.v,i.w,{}),d(t),h(t,e),function(t,e){var n=r.find(t.nodes(),(function(t){return!e.node(t).parent})),i=s(t,n);i=i.slice(1),r.forEach(i,(function(n){var r=t.node(n).parent,i=e.edge(n,r),o=!1;i||(i=e.edge(r,n),o=!0),e.node(n).rank=e.node(r).rank+(o?i.minlen:-i.minlen)}))}(t,e)}function y(t,e,n){return n.low<=e.lim&&e.lim<=n.lim}t.exports=l,l.initLowLimValues=d,l.initCutValues=h,l.calcCutValue=f,l.leaveEdge=g,l.enterEdge=v,l.exchangeEdges=b},6681:(t,e,n)=>{"use strict";var r=n(8436);t.exports={longestPath:function(t){var e={};r.forEach(t.sources(),(function n(i){var o=t.node(i);if(r.has(e,i))return o.rank;e[i]=!0;var a=r.min(r.map(t.outEdges(i),(function(e){return n(e.w)-t.edge(e).minlen})));return a!==Number.POSITIVE_INFINITY&&null!=a||(a=0),o.rank=a}))},slack:function(t,e){return t.node(e.w).rank-t.node(e.v).rank-t.edge(e).minlen}}},7266:(t,e,n)=>{"use strict";var r=n(8436),i=n(574).Graph;function o(t,e,n,i){var o;do{o=r.uniqueId(i)}while(t.hasNode(o));return n.dummy=e,t.setNode(o,n),o}function a(t){return r.max(r.map(t.nodes(),(function(e){var n=t.node(e).rank;if(!r.isUndefined(n))return n})))}t.exports={addDummyNode:o,simplify:function(t){var e=(new i).setGraph(t.graph());return r.forEach(t.nodes(),(function(n){e.setNode(n,t.node(n))})),r.forEach(t.edges(),(function(n){var r=e.edge(n.v,n.w)||{weight:0,minlen:1},i=t.edge(n);e.setEdge(n.v,n.w,{weight:r.weight+i.weight,minlen:Math.max(r.minlen,i.minlen)})})),e},asNonCompoundGraph:function(t){var e=new i({multigraph:t.isMultigraph()}).setGraph(t.graph());return r.forEach(t.nodes(),(function(n){t.children(n).length||e.setNode(n,t.node(n))})),r.forEach(t.edges(),(function(n){e.setEdge(n,t.edge(n))})),e},successorWeights:function(t){var e=r.map(t.nodes(),(function(e){var n={};return r.forEach(t.outEdges(e),(function(e){n[e.w]=(n[e.w]||0)+t.edge(e).weight})),n}));return r.zipObject(t.nodes(),e)},predecessorWeights:function(t){var e=r.map(t.nodes(),(function(e){var n={};return r.forEach(t.inEdges(e),(function(e){n[e.v]=(n[e.v]||0)+t.edge(e).weight})),n}));return r.zipObject(t.nodes(),e)},intersectRect:function(t,e){var n,r,i=t.x,o=t.y,a=e.x-i,s=e.y-o,c=t.width/2,u=t.height/2;if(!a&&!s)throw new Error("Not possible to find intersection inside of the rectangle");return Math.abs(s)*c>Math.abs(a)*u?(s<0&&(u=-u),n=u*a/s,r=u):(a<0&&(c=-c),n=c,r=c*s/a),{x:i+n,y:o+r}},buildLayerMatrix:function(t){var e=r.map(r.range(a(t)+1),(function(){return[]}));return r.forEach(t.nodes(),(function(n){var i=t.node(n),o=i.rank;r.isUndefined(o)||(e[o][i.order]=n)})),e},normalizeRanks:function(t){var e=r.min(r.map(t.nodes(),(function(e){return t.node(e).rank})));r.forEach(t.nodes(),(function(n){var i=t.node(n);r.has(i,"rank")&&(i.rank-=e)}))},removeEmptyRanks:function(t){var e=r.min(r.map(t.nodes(),(function(e){return t.node(e).rank}))),n=[];r.forEach(t.nodes(),(function(r){var i=t.node(r).rank-e;n[i]||(n[i]=[]),n[i].push(r)}));var i=0,o=t.graph().nodeRankFactor;r.forEach(n,(function(e,n){r.isUndefined(e)&&n%o!=0?--i:i&&r.forEach(e,(function(e){t.node(e).rank+=i}))}))},addBorderNode:function(t,e,n,r){var i={width:0,height:0};return arguments.length>=4&&(i.rank=n,i.order=r),o(t,"border",i,e)},maxRank:a,partition:function(t,e){var n={lhs:[],rhs:[]};return r.forEach(t,(function(t){e(t)?n.lhs.push(t):n.rhs.push(t)})),n},time:function(t,e){var n=r.now();try{return e()}finally{console.log(t+" time: "+(r.now()-n)+"ms")}},notime:function(t,e){return e()}}},8177:t=>{t.exports="0.8.5"},8282:(t,e,n)=>{var r=n(2354);t.exports={Graph:r.Graph,json:n(8974),alg:n(2440),version:r.version}},2842:(t,e,n)=>{var r=n(9126);t.exports=function(t){var e,n={},i=[];function o(i){r.has(n,i)||(n[i]=!0,e.push(i),r.each(t.successors(i),o),r.each(t.predecessors(i),o))}return r.each(t.nodes(),(function(t){e=[],o(t),e.length&&i.push(e)})),i}},3984:(t,e,n)=>{var r=n(9126);function i(t,e,n,o,a,s){r.has(o,e)||(o[e]=!0,n||s.push(e),r.each(a(e),(function(e){i(t,e,n,o,a,s)})),n&&s.push(e))}t.exports=function(t,e,n){r.isArray(e)||(e=[e]);var o=(t.isDirected()?t.successors:t.neighbors).bind(t),a=[],s={};return r.each(e,(function(e){if(!t.hasNode(e))throw new Error("Graph does not have node: "+e);i(t,e,"post"===n,s,o,a)})),a}},4847:(t,e,n)=>{var r=n(3763),i=n(9126);t.exports=function(t,e,n){return i.transform(t.nodes(),(function(i,o){i[o]=r(t,o,e,n)}),{})}},3763:(t,e,n)=>{var r=n(9126),i=n(9675);t.exports=function(t,e,n,r){return function(t,e,n,r){var o,a,s={},c=new i,u=function(t){var e=t.v!==o?t.v:t.w,r=s[e],i=n(t),u=a.distance+i;if(i<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+t+" Weight: "+i);u0&&(o=c.removeMin(),(a=s[o]).distance!==Number.POSITIVE_INFINITY);)r(o).forEach(u);return s}(t,String(e),n||o,r||function(e){return t.outEdges(e)})};var o=r.constant(1)},9096:(t,e,n)=>{var r=n(9126),i=n(5023);t.exports=function(t){return r.filter(i(t),(function(e){return e.length>1||1===e.length&&t.hasEdge(e[0],e[0])}))}},8924:(t,e,n)=>{var r=n(9126);t.exports=function(t,e,n){return function(t,e,n){var r={},i=t.nodes();return i.forEach((function(t){r[t]={},r[t][t]={distance:0},i.forEach((function(e){t!==e&&(r[t][e]={distance:Number.POSITIVE_INFINITY})})),n(t).forEach((function(n){var i=n.v===t?n.w:n.v,o=e(n);r[t][i]={distance:o,predecessor:t}}))})),i.forEach((function(t){var e=r[t];i.forEach((function(n){var o=r[n];i.forEach((function(n){var r=o[t],i=e[n],a=o[n],s=r.distance+i.distance;s{t.exports={components:n(2842),dijkstra:n(3763),dijkstraAll:n(4847),findCycles:n(9096),floydWarshall:n(8924),isAcyclic:n(2707),postorder:n(8828),preorder:n(2648),prim:n(514),tarjan:n(5023),topsort:n(2166)}},2707:(t,e,n)=>{var r=n(2166);t.exports=function(t){try{r(t)}catch(t){if(t instanceof r.CycleException)return!1;throw t}return!0}},8828:(t,e,n)=>{var r=n(3984);t.exports=function(t,e){return r(t,e,"post")}},2648:(t,e,n)=>{var r=n(3984);t.exports=function(t,e){return r(t,e,"pre")}},514:(t,e,n)=>{var r=n(9126),i=n(771),o=n(9675);t.exports=function(t,e){var n,a=new i,s={},c=new o;function u(t){var r=t.v===n?t.w:t.v,i=c.priority(r);if(void 0!==i){var o=e(t);o0;){if(n=c.removeMin(),r.has(s,n))a.setEdge(n,s[n]);else{if(l)throw new Error("Input graph is not connected: "+t);l=!0}t.nodeEdges(n).forEach(u)}return a}},5023:(t,e,n)=>{var r=n(9126);t.exports=function(t){var e=0,n=[],i={},o=[];function a(s){var c=i[s]={onStack:!0,lowlink:e,index:e++};if(n.push(s),t.successors(s).forEach((function(t){r.has(i,t)?i[t].onStack&&(c.lowlink=Math.min(c.lowlink,i[t].index)):(a(t),c.lowlink=Math.min(c.lowlink,i[t].lowlink))})),c.lowlink===c.index){var u,l=[];do{u=n.pop(),i[u].onStack=!1,l.push(u)}while(s!==u);o.push(l)}}return t.nodes().forEach((function(t){r.has(i,t)||a(t)})),o}},2166:(t,e,n)=>{var r=n(9126);function i(t){var e={},n={},i=[];if(r.each(t.sinks(),(function a(s){if(r.has(n,s))throw new o;r.has(e,s)||(n[s]=!0,e[s]=!0,r.each(t.predecessors(s),a),delete n[s],i.push(s))})),r.size(e)!==t.nodeCount())throw new o;return i}function o(){}t.exports=i,i.CycleException=o,o.prototype=new Error},9675:(t,e,n)=>{var r=n(9126);function i(){this._arr=[],this._keyIndices={}}t.exports=i,i.prototype.size=function(){return this._arr.length},i.prototype.keys=function(){return this._arr.map((function(t){return t.key}))},i.prototype.has=function(t){return r.has(this._keyIndices,t)},i.prototype.priority=function(t){var e=this._keyIndices[t];if(void 0!==e)return this._arr[e].priority},i.prototype.min=function(){if(0===this.size())throw new Error("Queue underflow");return this._arr[0].key},i.prototype.add=function(t,e){var n=this._keyIndices;if(t=String(t),!r.has(n,t)){var i=this._arr,o=i.length;return n[t]=o,i.push({key:t,priority:e}),this._decrease(o),!0}return!1},i.prototype.removeMin=function(){this._swap(0,this._arr.length-1);var t=this._arr.pop();return delete this._keyIndices[t.key],this._heapify(0),t.key},i.prototype.decrease=function(t,e){var n=this._keyIndices[t];if(e>this._arr[n].priority)throw new Error("New priority is greater than current priority. Key: "+t+" Old: "+this._arr[n].priority+" New: "+e);this._arr[n].priority=e,this._decrease(n)},i.prototype._heapify=function(t){var e=this._arr,n=2*t,r=n+1,i=t;n>1].priority{"use strict";var r=n(9126);t.exports=s;var i="\0",o="\0",a="";function s(t){this._isDirected=!r.has(t,"directed")||t.directed,this._isMultigraph=!!r.has(t,"multigraph")&&t.multigraph,this._isCompound=!!r.has(t,"compound")&&t.compound,this._label=void 0,this._defaultNodeLabelFn=r.constant(void 0),this._defaultEdgeLabelFn=r.constant(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[o]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}function c(t,e){t[e]?t[e]++:t[e]=1}function u(t,e){--t[e]||delete t[e]}function l(t,e,n,o){var s=""+e,c=""+n;if(!t&&s>c){var u=s;s=c,c=u}return s+a+c+a+(r.isUndefined(o)?i:o)}function h(t,e){return l(t,e.v,e.w,e.name)}s.prototype._nodeCount=0,s.prototype._edgeCount=0,s.prototype.isDirected=function(){return this._isDirected},s.prototype.isMultigraph=function(){return this._isMultigraph},s.prototype.isCompound=function(){return this._isCompound},s.prototype.setGraph=function(t){return this._label=t,this},s.prototype.graph=function(){return this._label},s.prototype.setDefaultNodeLabel=function(t){return r.isFunction(t)||(t=r.constant(t)),this._defaultNodeLabelFn=t,this},s.prototype.nodeCount=function(){return this._nodeCount},s.prototype.nodes=function(){return r.keys(this._nodes)},s.prototype.sources=function(){var t=this;return r.filter(this.nodes(),(function(e){return r.isEmpty(t._in[e])}))},s.prototype.sinks=function(){var t=this;return r.filter(this.nodes(),(function(e){return r.isEmpty(t._out[e])}))},s.prototype.setNodes=function(t,e){var n=arguments,i=this;return r.each(t,(function(t){n.length>1?i.setNode(t,e):i.setNode(t)})),this},s.prototype.setNode=function(t,e){return r.has(this._nodes,t)?(arguments.length>1&&(this._nodes[t]=e),this):(this._nodes[t]=arguments.length>1?e:this._defaultNodeLabelFn(t),this._isCompound&&(this._parent[t]=o,this._children[t]={},this._children[o][t]=!0),this._in[t]={},this._preds[t]={},this._out[t]={},this._sucs[t]={},++this._nodeCount,this)},s.prototype.node=function(t){return this._nodes[t]},s.prototype.hasNode=function(t){return r.has(this._nodes,t)},s.prototype.removeNode=function(t){var e=this;if(r.has(this._nodes,t)){var n=function(t){e.removeEdge(e._edgeObjs[t])};delete this._nodes[t],this._isCompound&&(this._removeFromParentsChildList(t),delete this._parent[t],r.each(this.children(t),(function(t){e.setParent(t)})),delete this._children[t]),r.each(r.keys(this._in[t]),n),delete this._in[t],delete this._preds[t],r.each(r.keys(this._out[t]),n),delete this._out[t],delete this._sucs[t],--this._nodeCount}return this},s.prototype.setParent=function(t,e){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(r.isUndefined(e))e=o;else{for(var n=e+="";!r.isUndefined(n);n=this.parent(n))if(n===t)throw new Error("Setting "+e+" as parent of "+t+" would create a cycle");this.setNode(e)}return this.setNode(t),this._removeFromParentsChildList(t),this._parent[t]=e,this._children[e][t]=!0,this},s.prototype._removeFromParentsChildList=function(t){delete this._children[this._parent[t]][t]},s.prototype.parent=function(t){if(this._isCompound){var e=this._parent[t];if(e!==o)return e}},s.prototype.children=function(t){if(r.isUndefined(t)&&(t=o),this._isCompound){var e=this._children[t];if(e)return r.keys(e)}else{if(t===o)return this.nodes();if(this.hasNode(t))return[]}},s.prototype.predecessors=function(t){var e=this._preds[t];if(e)return r.keys(e)},s.prototype.successors=function(t){var e=this._sucs[t];if(e)return r.keys(e)},s.prototype.neighbors=function(t){var e=this.predecessors(t);if(e)return r.union(e,this.successors(t))},s.prototype.isLeaf=function(t){return 0===(this.isDirected()?this.successors(t):this.neighbors(t)).length},s.prototype.filterNodes=function(t){var e=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});e.setGraph(this.graph());var n=this;r.each(this._nodes,(function(n,r){t(r)&&e.setNode(r,n)})),r.each(this._edgeObjs,(function(t){e.hasNode(t.v)&&e.hasNode(t.w)&&e.setEdge(t,n.edge(t))}));var i={};function o(t){var r=n.parent(t);return void 0===r||e.hasNode(r)?(i[t]=r,r):r in i?i[r]:o(r)}return this._isCompound&&r.each(e.nodes(),(function(t){e.setParent(t,o(t))})),e},s.prototype.setDefaultEdgeLabel=function(t){return r.isFunction(t)||(t=r.constant(t)),this._defaultEdgeLabelFn=t,this},s.prototype.edgeCount=function(){return this._edgeCount},s.prototype.edges=function(){return r.values(this._edgeObjs)},s.prototype.setPath=function(t,e){var n=this,i=arguments;return r.reduce(t,(function(t,r){return i.length>1?n.setEdge(t,r,e):n.setEdge(t,r),r})),this},s.prototype.setEdge=function(){var t,e,n,i,o=!1,a=arguments[0];"object"==typeof a&&null!==a&&"v"in a?(t=a.v,e=a.w,n=a.name,2===arguments.length&&(i=arguments[1],o=!0)):(t=a,e=arguments[1],n=arguments[3],arguments.length>2&&(i=arguments[2],o=!0)),t=""+t,e=""+e,r.isUndefined(n)||(n=""+n);var s=l(this._isDirected,t,e,n);if(r.has(this._edgeLabels,s))return o&&(this._edgeLabels[s]=i),this;if(!r.isUndefined(n)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(t),this.setNode(e),this._edgeLabels[s]=o?i:this._defaultEdgeLabelFn(t,e,n);var u=function(t,e,n,r){var i=""+e,o=""+n;if(!t&&i>o){var a=i;i=o,o=a}var s={v:i,w:o};return r&&(s.name=r),s}(this._isDirected,t,e,n);return t=u.v,e=u.w,Object.freeze(u),this._edgeObjs[s]=u,c(this._preds[e],t),c(this._sucs[t],e),this._in[e][s]=u,this._out[t][s]=u,this._edgeCount++,this},s.prototype.edge=function(t,e,n){var r=1===arguments.length?h(this._isDirected,arguments[0]):l(this._isDirected,t,e,n);return this._edgeLabels[r]},s.prototype.hasEdge=function(t,e,n){var i=1===arguments.length?h(this._isDirected,arguments[0]):l(this._isDirected,t,e,n);return r.has(this._edgeLabels,i)},s.prototype.removeEdge=function(t,e,n){var r=1===arguments.length?h(this._isDirected,arguments[0]):l(this._isDirected,t,e,n),i=this._edgeObjs[r];return i&&(t=i.v,e=i.w,delete this._edgeLabels[r],delete this._edgeObjs[r],u(this._preds[e],t),u(this._sucs[t],e),delete this._in[e][r],delete this._out[t][r],this._edgeCount--),this},s.prototype.inEdges=function(t,e){var n=this._in[t];if(n){var i=r.values(n);return e?r.filter(i,(function(t){return t.v===e})):i}},s.prototype.outEdges=function(t,e){var n=this._out[t];if(n){var i=r.values(n);return e?r.filter(i,(function(t){return t.w===e})):i}},s.prototype.nodeEdges=function(t,e){var n=this.inEdges(t,e);if(n)return n.concat(this.outEdges(t,e))}},2354:(t,e,n)=>{t.exports={Graph:n(771),version:n(9631)}},8974:(t,e,n)=>{var r=n(9126),i=n(771);function o(t){return r.map(t.nodes(),(function(e){var n=t.node(e),i=t.parent(e),o={v:e};return r.isUndefined(n)||(o.value=n),r.isUndefined(i)||(o.parent=i),o}))}function a(t){return r.map(t.edges(),(function(e){var n=t.edge(e),i={v:e.v,w:e.w};return r.isUndefined(e.name)||(i.name=e.name),r.isUndefined(n)||(i.value=n),i}))}t.exports={write:function(t){var e={options:{directed:t.isDirected(),multigraph:t.isMultigraph(),compound:t.isCompound()},nodes:o(t),edges:a(t)};return r.isUndefined(t.graph())||(e.value=r.clone(t.graph())),e},read:function(t){var e=new i(t.options).setGraph(t.value);return r.each(t.nodes,(function(t){e.setNode(t.v,t.value),t.parent&&e.setParent(t.v,t.parent)})),r.each(t.edges,(function(t){e.setEdge({v:t.v,w:t.w,name:t.name},t.value)})),e}}},9126:(t,e,n)=>{var r;try{r={clone:n(6678),constant:n(5703),each:n(6073),filter:n(3105),has:n(8721),isArray:n(1469),isEmpty:n(1609),isFunction:n(3560),isUndefined:n(2353),keys:n(3674),map:n(5161),reduce:n(4061),size:n(4238),transform:n(8718),union:n(3386),values:n(2628)}}catch(t){}r||(r=window._),t.exports=r},9631:t=>{t.exports="2.1.8"},4485:(t,e,n)=>{t.exports=n(2894)},2894:function(t,e){var n,r,i;(function(){var o,a,s,c,u,l,h,f,d,p,g,v,b,y,m;s=Math.floor,p=Math.min,a=function(t,e){return te?1:0},d=function(t,e,n,r,i){var o;if(null==n&&(n=0),null==i&&(i=a),n<0)throw new Error("lo must be non-negative");for(null==r&&(r=t.length);nn;0<=n?e++:e--)u.push(e);return u}.apply(this).reverse()).length;rg;0<=g?++l:--l)v.push(u(t,n));return v},y=function(t,e,n,r){var i,o,s;for(null==r&&(r=a),i=t[n];n>e&&r(i,o=t[s=n-1>>1])<0;)t[n]=o,n=s;return t[n]=i},m=function(t,e,n){var r,i,o,s,c;for(null==n&&(n=a),i=t.length,c=e,o=t[e],r=2*e+1;r{var e,n;!function(){var r;function i(){}function a(){}function s(){}function c(){}function u(){}function l(){}function h(){}function f(){}function d(){}function p(){}function g(){}function v(){}function b(){}function y(){}function m(){}function w(){}function x(){}function _(){}function E(){}function k(){}function T(){}function C(){}function N(){}function A(){}function S(){}function O(){}function L(){}function I(){}function M(){}function P(){}function D(){}function R(){}function j(){}function G(){}function B(){}function F(){}function H(){}function Y(){}function z(){}function U(){}function V(){}function q(){}function X(){}function W(){}function $(){}function Z(){}function K(){}function Q(){}function J(){}function tt(){}function et(){}function nt(){}function rt(){}function it(){}function ot(){}function at(){}function st(){}function ct(){}function ut(){}function lt(){}function ht(){}function ft(){}function dt(){}function pt(){}function gt(){}function vt(){}function bt(){}function yt(){}function mt(){}function wt(){}function xt(){}function _t(){}function Et(){}function kt(){}function Tt(){}function Ct(){}function Nt(){}function At(){}function St(){}function Ot(){}function Lt(){}function It(){}function Mt(){}function Pt(){}function Dt(){}function Rt(){}function jt(){}function Gt(){}function Bt(){}function Ft(){}function Ht(){}function Yt(){}function zt(){}function Ut(){}function Vt(){}function qt(){}function Xt(){}function Wt(){}function $t(){}function Zt(){}function Kt(){}function Qt(){}function Jt(){}function te(){}function ee(){}function ne(){}function re(){}function ie(){}function oe(){}function ae(){}function se(){}function ce(){}function ue(){}function le(){}function he(){}function fe(){}function de(){}function pe(){}function ge(){}function ve(){}function be(){}function ye(){}function me(){}function we(){Bf()}function xe(){C_()}function _e(){Xd()}function Ee(){qg()}function ke(){no()}function Te(){ro()}function Ce(){fa()}function Ne(){Xg()}function Ae(){Df()}function Se(){Nk()}function Oe(){Rf()}function Le(){jf()}function Ie(){lN()}function Me(){LT()}function Pe(){sh(this)}function De(){}function Re(){xu(this)}function je(){}function Ge(t){this.a=t}function Be(t){this.a=t}function Fe(t){this.a=t}function He(t){this.a=t}function Ye(t){this.a=t}function ze(t){this.a=t}function Ue(t){this.a=t}function Ve(t){this.a=t}function qe(t){this.a=t}function Xe(t){this.b=t}function We(t){this.a=t}function $e(t){this.a=t}function Ze(t){this.a=t}function Ke(t){this.a=t}function Qe(t){this.a=t}function Je(t){this.a=t}function tn(t){this.a=t}function en(t){this.a=t}function nn(t){this.a=t}function rn(t){this.a=t}function on(t){this.a=t}function an(t){this.a=t}function sn(t){this.a=t}function cn(t){this.a=t}function un(t){this.a=t}function ln(t){this.e=t}function hn(t){this.a=t}function fn(t){this.a=t}function dn(t){this.a=t}function pn(t){this.a=t}function gn(t){this.a=t}function vn(t){this.a=t}function bn(t){this.a=t}function yn(t){this.a=t}function mn(t){this.a=t}function wn(t){this.a=t}function xn(t){this.a=t}function _n(t){this.a=t}function En(t){this.a=t}function kn(t){this.a=t}function Tn(t){this.a=t}function Cn(t){this.a=t}function Nn(t){this.a=t}function An(t){this.a=t}function Sn(t){this.a=t}function On(t){this.a=t}function Ln(t){this.a=t}function In(t){this.c=t}function Mn(t){this.a=t}function Pn(t){this.a=t}function Dn(t){this.a=t}function Rn(t){this.a=t}function jn(t){this.a=t}function Gn(t){this.a=t}function Bn(t){this.a=t}function Fn(t){this.a=t}function Hn(t){this.a=t}function Yn(t){this.a=t}function zn(t){this.d=t}function Un(t){this.a=t}function Vn(t){this.a=t}function qn(t){this.a=t}function Xn(t){this.a=t}function Wn(t){this.b=t}function $n(t){this.a=t}function Zn(t){this.a=t}function Kn(t){this.c=t}function Qn(t){this.a=t}function Jn(t){this.a=t}function tr(t){this.a=t}function er(t){this.b=t}function nr(t){this.b=t}function rr(t){this.c=t}function ir(t){this.a=t}function or(t){this.a=t}function ar(t){this.a=t}function sr(){this.a=[]}function cr(t){this.a=t}function ur(t){this.a=t}function lr(t){t.b=t.a}function hr(t){t.c=t.d.d}function fr(t,e){t.g=e}function dr(t,e){t.k=e}function pr(t,e){t.e.k=e}function gr(t){return t.a}function vr(t){return t.a}function br(t){return t.a}function yr(t){return t.a}function mr(t){return t.a}function wr(){return null}function xr(){return null}function _r(){this.c=this}function Er(){sh(this)}function kr(){my(this)}function Tr(t){!function(t,e){var n,r,i,o,a,s,c;for(c=0,r=0,i=e.length;r=t.length)return{done:!0};var r=t[n++];return{value:[r,e.get(r)],done:!1}}}},function(){if(!Object.create||!Object.getOwnPropertyNames)return!1;var t="__proto__",e=Object.create(null);return void 0===e[t]&&0==Object.getOwnPropertyNames(e).length&&(e[t]=42,42===e[t]&&0!=Object.getOwnPropertyNames(e).length)}()||(t.prototype.createObject=function(){return{}},t.prototype.get=function(t){return this.obj[":"+t]},t.prototype.set=function(t,e){this.obj[":"+t]=e},t.prototype[yD]=function(t){delete this.obj[":"+t]},t.prototype.keys=function(){var t=[];for(var e in this.obj)58==e.charCodeAt(0)&&t.push(e.substring(1));return t}),t}()}function Io(t,e){Ix(),oI.dc(t,e)}function Mo(t,e){return Mv(t,e)}function Po(t,e){return t.a.B(e)}function Do(t,e){return t.g[e.e]}function Ro(t,e){return t.i[e.e]}function jo(t,e){return t.j[e.e]}function Go(t,e){return t.n[e.e]}function Bo(t,e){return t.o[e.e]}function Fo(t,e){return t>e?t:e}function Ho(t,e){return t>e?t:e}function Yo(t,e){return t>e?t:e}function zo(t,e){return te?1:0}function Fu(t){return null!=t?K_(t):0}function Hu(t){this.a=zc(),this.b=t}function Yu(t){this.a=zc(),this.b=t}function zu(t){this.a=t,td.call(this,t)}function Uu(){Ju(),this.b=new Tn(this)}function Vu(){var t;Vu=a,t=new co(", "),Dd(pI),HD=new Qf(t,t)}function qu(){qu=a,BD=new fu,GD=new Mu}function Xu(){Xu=a,zD=new g,UD=new v}function Wu(){Wu=a,qD=new Zs,XD=new _u}function $u(){$u=a,JD=new du,QD=new wl}function Zu(){Zu=a,vR=new m,bR=new w}function Ku(t){t.g=new Re,t.b=new Re}function Qu(t){t.a=new ye,t.c=new ye}function Ju(){Ju=a,EY=new Zt,_Y=new ed}function tl(){Ha.call(this,"IS_NULL",2)}function el(){Gc.call(this,"Head",1)}function nl(){Gc.call(this,"Tail",3)}function rl(t,e){ow.call(this,t,e,null)}function il(t,e){Hk(t,0,t.length,e)}function ol(t,e){return Lf(e.a,t.a),t.a}function al(t,e){return t.a*=e,t.b*=e,t}function sl(t,e){og(),this.a=t,this.b=e}function cl(t,e){return t.a[e.d.k][e.k]}function ul(t,e){return t.a[e.d.k][e.k]}function ll(t,e){return ua(function(t,e){var n,r;for(n=null,r=t.b;r;)t.a.$b(e,r.d)>=0?r=r.a[1]:(n=r,r=r.a[0]);return n}(t.a,e))}function hl(t,e){return ua(function(t,e){var n,r;for(n=null,r=t.b;r;)t.a.$b(e,r.d)<=0?r=r.a[0]:(n=r,r=r.a[1]);return n}(t.a,e))}function fl(t,e){return Uf(WT(t.a,e),20)}function dl(t,e){return null!=t&&Pk(t,e)}function pl(t){return t.a=e)throw new Ci}function qf(t,e){return Dd(t),Dd(e),new cd(t,e)}function Xf(t,e){return Dd(t),Dd(e),new ud(t,e)}function Wf(t,e,n){return t=e+1&&t.splice(0,e+1);break}return t}(oI.ec(t))}function Ed(t,e){var n;return(n=Fp(t,e)).g=2,n}function kd(t,e){t.b=e.b,t.c=e.c,t.d=e.d,t.a=e.a}function Td(t){t.a.b=t.b,t.b.a=t.a,t.a=t.b=null}function Cd(t){return t.b.c.length+t.e.c.length}function Nd(t){return Array.isArray(t)&&t.ad===i}function Ad(t,e){return Xu(),-1!=Bx(new Kn(t),e)}function Sd(t,e,n,r,i,o){return jT(t,e,n,r,i,0,o)}function Od(t,e,n){Zu(),Qv.call(this,t.b,e,n,t.d)}function Ld(t,e){Zu(),Qv.call(this,t.b,e,t.c,t.d)}function Id(t,e,n){xy(e,t.c.length),Ac(t.c,e,n)}function Md(t,e){return _y(e,t.a.length),t.a[e]}function Pd(t){t.sort((function(t,e){return t-e}))}function Dd(t){if(null==t)throw new Zr;return t}function Rd(t){if(null==t)throw new Zr;this.a=t}function jd(t,e,n){if(t.a!=e)throw new xi;t.a=n}function Gd(t,e){if(!t)throw new so((si(),e))}function Bd(t,e){if(!t)throw new Eo((si(),e))}function Fd(t){if(null==t)throw new Zr;return t}function Hd(t){cr.call(this,new ry),gw(this,t)}function Yd(t){this.a=new Xs(t.Y()),gw(this,t)}function zd(t){this.c=t,this.a=new qs(this.c.a)}function Ud(t){og(),this.a=(zg(),new tr(Dd(t)))}function Vd(){(Vd=a)(),NX=!1,AX=!0}function qd(){qd=a,IX=Ty(ND,hI,24,256,0,1)}function Xd(){Xd=a,MY=vd(bd(new iE,(WL(),yH)),YH)}function Wd(){Wd=a,fF=new E,pF=new nd,dF=new k}function $d(t){return null!=t&&Mp(t)&&!(t.ad===i)}function Zd(t){return!Array.isArray(t)&&t.ad===i}function Kd(t,e){return Nl(e)?Pg(t,e):AN(t.d,e)}function Qd(t,e){return dl(e,17)&&Xl(t,Uf(e,17))}function Jd(t,e){return dl(e,17)&&function(t,e){return!(!e||t.b[e.e]!=e)&&(Yp(t.b,e.e,null),--t.c,!0)}(t,Uf(e,17))}function tp(t,e){var n;return sx(n=gE(t),e),n}function ep(t,e){return!t&&(t=[]),t[t.length]=e,t}function np(t,e,n){if(!t)throw new so(function(t,e){var n,r,i,o;for(si(),(t=null==t?pI:t).length,e.length,n=new ea,o=0,r=0;r0),t.a.sb(t.c=--t.b)}function pp(t){t.b?pp(t.b):t.d.V()&&Kd(t.f.b,t.e)}function gp(t){if(nE(t.d),t.d.d!=t.c)throw new xi}function vp(t,e){if(e[pD]!=t[pD])throw new xi}function bp(t,e){return Xu(),Dd(t),Dd(e),new Ra(t,e)}function yp(t,e){og(),qa.call(this,t,Lx(new Qn(e)))}function mp(t,e,n,r){this.a=t,Ny.call(this,t,e,n,r)}function wp(t){this.a=Math.cos(t),this.b=Math.sin(t)}function xp(t,e,n){zi.call(this,t),this.b=e,this.a=n}function _p(t){this.b=new Re,this.a=new Re,this.c=t}function Ep(t){this.c=new uo,this.a=new Re,this.b=t}function kp(){kp=a,oR=new nn(!1),aR=new nn(!0)}function Tp(t,e){return++t.d,t.c[t.c.length]=e,!0}function Cp(t,e){Mb(t.d,e,t.b.b,t.b),++t.a,t.c=null}function Np(t,e){return null==t.a.db(e,t)}function Ap(t,e){return By(t.slice(0,e),t)}function Sp(t,e){return By(new Array(e),t)}function Op(t,e,n){var r;return r=t.b[e],t.b[e]=n,r}function Lp(t){return _l(),_f(function(t){return Uf(t.g||(t.g=new We(t)),20)}(t.a).mb(),(Wu(),qD))}function Ip(t){return Xu(),new Pu(ju(Xf(t.a,new p)))}function Mp(t){return typeof t===lI||typeof t===bI}function Pp(t){r.setTimeout((function(){throw t}),0)}function Dp(t){return Dd(t),dl(t,345)?Uf(t,345):Uk(t)}function Rp(t,e){return null==Hx(t.a,e,(Vd(),NX))}function jp(t,e){var n;return function(t,e){if(t<0||t>=e)throw new ao(function(t,e){if(t<0)return DA(jI,Nx(Mo(TD,1),GI,1,4,["index",W_(t)]));if(e<0)throw new so(BI+e);return DA("%s (%s) must be less than size (%s)",Nx(Mo(TD,1),GI,1,4,["index",W_(t),W_(e)]))}(t,e))}(e,n=t.a.Y()),n-1-e}function Gp(t,e,n){var r;return r=Sm(t,e),function(t,e,n){if(n){var r=n.gc();n=r(n)}else n=void 0;t.a[e]=n}(t,e,n),r}function Bp(t,e,n){var r;return Wm(n,r=Fp(t,e)),r}function Fp(t,e){var n;return(n=new Wx).i=t,n.d=e,n}function Hp(t,e,n){this.a=t,Ob(n,e),this.c=e,this.b=n}function Yp(t,e,n){return function(t){if(!t)throw new Wr}(null==n||function(t,e){switch(wm(t)){case 5:return Nl(e);case 6:return Cl(e);case 7:return vh(e);case 0:return Pk(e,t.__elementTypeId$);case 2:return Mp(e)&&!(e.ad===i);case 1:return Mp(e)&&!(e.ad===i)||Pk(e,t.__elementTypeId$);default:return!0}}(t,n)),t[e]=n}function zp(t){t.a=null,t.e=null,my(t.b),t.d=0,++t.c}function Up(t){return t.f||(t.f=new Js(t))}function Vp(t){return t.k||(t.k=new Ye(t))}function qp(t){return t.e||(t.e=new Qa(t))}function Xp(t){var e;return!(e=t.e)&&(t.e=e=t.gb()),e}function Wp(t){return t.c.f.d==t.d.f.d}function $p(t,e){var n;return Hm(n=new Db(t),e),n}function Zp(t,e){return t.a+=String.fromCharCode(e),t}function Kp(t){return!t.a&&t.d?t.d.b:t.a}function Qp(t){return ql(t)?0|t:t.l|t.m<<22}function Jp(t,e){return Nl(e)?mv(t,e):Kc(vv(t.d,e))}function tg(t){return dl(t,19)?Uf(t,19).Y():Jb(t.mb())}function eg(t){return t?new Yd((Vu(),t)):function(t){var e;return zm(e=new Ji,t),e}(null.mb())}function ng(t,e){return Zc(t)===Zc(e)||null!=t&&s_(t,e)}function rg(t,e){return eo(),Ox(oo(Oh(t)),oo(Oh(e)))}function ig(t){return _l(),_f(t.a.bb().mb(),(Wu(),XD))}function og(){og=a,lf(),YD=new sb((zg(),zg(),RX))}function ag(){ag=a,lf(),KD=new Ks((zg(),zg(),GX))}function sg(t,e){if(null==t)throw new Co((si(),e))}function cg(t,e,n,r){t.g[e.e][n.e]=r,t.g[n.e][e.e]=r}function ug(t){Au(-1!=t.c),t.d.vb(t.c),t.b=t.c,t.c=-1}function lg(t){this.c=t,this.b=t.a.b.a,Wl(t.a.c,this)}function hg(t){JS.call(this,new Qn(t)),this.a=new uo}function fg(){Li.call(this,new Ri(new kr)),this.a=this}function dg(){um(),this.b=(_l(),new kr),this.a=new kr}function pg(t){yg(t.a),t.b=Ty(TD,GI,1,t.b.length,4,1)}function gg(t){return!t.b&&(t.b=new Ko(t.c.W())),t.b}function vg(t,e){var n;return nL(t,e,n=new me),n.d}function bg(t,e){var n;return(n=Fp("",t)).k=e,n.g=1,n}function yg(t){var e;for(e=t.mb();e.G();)e.H(),e.I()}function mg(t,e){return dl(e,79)&&ji(t.b,Uf(e,79).mc())}function wg(t,e,n){return Nl(e)?Yv(t,e,n):YC(t.d,e,n)}function xg(t,e,n,r){this.d=t,this.b=e,this.a=n,this.c=r}function _g(t,e,n,r){this.d=t,this.e=e,this.c=n,this.b=r}function Eg(t,e,n,r){this.a=t,this.c=e,this.b=n,this.d=r}function kg(t,e,n,r){Pa.call(this,t,e),this.a=n,this.b=r}function Tg(t,e){return si(),t==e?0:t0?1:0}function Qg(t,e){return Uw(function(t,e){return Cf(t.l&e.l,t.m&e.m,t.h&e.h)}(ql(t)?Jw(t):t,ql(e)?Jw(e):e))}function Jg(t){return 0==t.b?null:(Lu(0!=t.b),Ym(t,t.a.a))}function tv(t){t.d=t.d-15,t.b=t.b-15,t.c=t.c+15,t.a=t.a+15}function ev(t){this.b=t,this.c=t,t.e=null,t.c=null,this.a=1}function nv(t,e,n){this.d=t,this.b=new Re,this.c=e,this.a=n}function rv(t,e){!function(t,e){t.a=e}(this,new ts(t.a,t.b)),function(t,e){t.b=e}(this,Yf(e))}function iv(t){pl(new Kn(Qk(t.e)))&&(function(t){var e,n,r;for(r=new zd(new ar(t.c).a);gl(r.a);)switch(r.b=Qb(r.a),e=Uf((n=new Bc(r.c,r.b)).b.b[n.a.e],62),Uf(n.a,67).e){case 0:e.d=0,e.e=-(e.b+t.d);break;case 1:e.d=(t.e.e.j.a-e.c)/2,e.e=-(e.b+t.d);break;case 2:e.d=t.e.e.j.a-e.c,e.e=-(e.b+t.d);break;case 3:e.d=0,e.e=t.e.e.j.b+t.d;break;case 4:e.d=(t.e.e.j.a-e.c)/2,e.e=t.e.e.j.b+t.d;break;case 5:e.d=t.e.e.j.a-e.c,e.e=t.e.e.j.b+t.d;break;case 6:e.d=-(e.c+t.d),e.e=0;break;case 7:e.d=-(e.c+t.d),e.e=(t.e.e.j.b-e.b)/2;break;case 8:e.d=-(e.c+t.d),e.e=t.e.e.j.b-e.b;break;case 9:e.d=t.e.e.j.a+t.d,e.e=0;break;case 10:e.d=t.e.e.j.a+t.d,e.e=(t.e.e.j.b-e.b)/2;break;case 11:e.d=t.e.e.j.a+t.d,e.e=t.e.e.j.b-e.b;break;case 12:e.d=t.q.b+t.d,e.e=t.q.d+t.d;break;case 13:e.d=(t.e.e.j.a-e.c)/2,e.e=t.q.d+t.d;break;case 14:e.d=t.e.e.j.a-t.q.c-e.c-t.d,e.e=t.q.d+t.d;break;case 15:e.d=t.q.b+t.d,e.e=(t.e.e.j.b-e.b)/2;break;case 16:e.d=(t.e.e.j.a-e.c)/2,e.e=(t.e.e.j.b-e.b)/2;break;case 17:e.d=t.e.e.j.a-t.q.c-e.c-t.d,e.e=(t.e.e.j.b-e.b)/2;break;case 18:e.d=t.q.b+t.d,e.e=t.e.e.j.b-t.q.a-e.b-t.d;break;case 19:e.d=(t.e.e.j.a-e.c)/2,e.e=t.e.e.j.b-t.q.a-e.b-t.d;break;case 20:e.d=t.e.e.j.a-t.q.c-e.c-t.d,e.e=t.e.e.j.b-t.q.a-e.b-t.d}}(t),function(t){var e,n,r,i,o;for(r=new Kn(Qk(t.e));r.a>>0).toString(16)}function mv(t,e){return null==e?Kc(vv(t.d,null)):Dc(t.e,e)}function wv(t){return 0|Math.max(Math.min(t,yI),-2147483648)}function xv(t){this.e=t,this.b=this.e.a.entries(),this.a=[]}function _v(t){this.c=t,this.b=new Xx(new Yn(this.c.a).a)}function Ev(t){this.b=(Xu(),Xu(),Xu(),zD),this.a=Uf(Dd(t),35)}function kv(t,e,n){Zu(),If.call(this,t,e),null!=n&&(this.c=n)}function Tv(t,e,n){if(t<0||en)throw new ao(function(t,e,n){return t<0||t>n?zC(t,n,"start index"):e<0||e>n?zC(e,n,"end index"):DA("end index (%s) must not be less than start index (%s)",Nx(Mo(TD,1),GI,1,4,[W_(e),W_(t)]))}(t,e,n))}function Cv(t,e){if(null==t)throw new Co((si(),e));return t}function Nv(t){if(!tE(t))throw new Ei;return t.c=t.b,t.b.H()}function Av(t){var e;return sx(e=new Sa(cx(t.length)),t),e}function Sv(t){var e;e=t.c.b.b,t.b=e,t.a=t.c.b,e.a=t.c.b.b=t}function Ov(t){this.b=null,!t&&(ec(),ec(),t=HX),this.a=t}function Lv(t){this.b=t,this.a=new Kv(this.b,this.b.c.length)}function Iv(t){return og(),Dd(t),function(t){var e;switch((e=Ap(t.c,t.c.length)).length){case 0:return YD;case 1:return new Ud(e[0]);default:return new sb(B_(e))}}(t||Hf(new Kn(null)))}function Mv(t,e){var n=t.a=t.a||[];return n[e]||(n[e]=t.Oc(e))}function Pv(t,e,n){var r;sT(e,n,t.c.length),r=n-e,xa(t.c,e,r)}function Dv(t,e,n){Ma.call(this,e.a),this.c=t,this.b=e,this.a=n}function Rv(t){return qc(t.c),t.e=t.a=t.c,t.c=t.c.c,++t.d,t.a.f}function jv(t){return qc(t.e),t.c=t.a=t.e,t.e=t.e.e,--t.d,t.a.f}function Gv(t){return Vw(Nx(Mo(gR,1),KM,10,0,[t.f.i,t.i,t.a]))}function Bv(){Bv=a,LY=Zx((Vg(),Nx(Mo(jY,1),FI,193,0,[AY,SY])))}function Fv(){Fv=a,dY=Zx((Nb(),Nx(Mo(wY,1),FI,175,0,[lY,hY])))}function Hv(){Hv=a,$Y=Zx((lb(),Nx(Mo(QY,1),FI,192,0,[XY,qY])))}function Yv(t,e,n){return null==e?YC(t.d,null,n):sE(t.e,e,n)}function zv(t,e){return Jd(t.a,e)?Op(t,Uf(e,17).e,null):null}function Uv(t){return Dd(t),nT((Xu(),new Pu(ju(Xf(t.a,new p)))))}function Vv(t,e){var n,r;return r=rp(t,e),n=t.a.ub(r),new Ua(t,n)}function qv(t,e,n){var r;(r=new se).b=e,r.a=n,++e.b,Lf(t.d,r)}function Xv(t,e,n){t.d&&Gy(t.d.b,t),t.d=e,t.d&&Id(t.d.b,n,t)}function Wv(t,e,n){sT(e,n,t.Y()),this.c=t,this.a=e,this.b=n-e}function $v(t,e,n,r){this.d=t,this.b=e,this.a=n,this.c=r}function Zv(t,e){Li.call(this,fw(Dd(t),Dd(e))),this.b=t,this.c=e}function Kv(t,e){this.a=t,zn.call(this,t),xy(e,t.Y()),this.b=e}function Qv(t,e,n,r){Zu(),kv.call(this,t,e,n),null!=r&&(this.d=r)}function Jv(t){return Lu(t.ae)throw new ao(zC(t,e,"index"));return t}function Lb(t,e,n){Dd(t),function(t){var e,n,r;for(xb(t.c,t.a),r=new Kn(t.c);r.a>22&wM,t<0?xM:0)}function hy(){hy=a,MR=Zx((E_(),Nx(Mo(GR,1),FI,59,0,[OR,SR,AR,NR,LR])))}function fy(){fy=a,JG=Zx((mL(),Nx(Mo(iB,1),FI,32,0,[ZG,IG,LG,$G,KG])))}function dy(){dy=a,bG=Zx((OE(),Nx(Mo(kG,1),FI,100,0,[gG,pG,hG,fG,dG])))}function py(){py=a,KY=vd(wd(wd(wd(md(new iE,(WL(),IH)),BH),lH),wH),LH)}function gy(t,e){var n;for(n=e.mb();n.G();)gS(t,Uf(n.H(),55),0,0)}function vy(t,e,n){var r;for(r=t.mb();r.G();)iS(Uf(r.H(),55),e,n)}function by(t,e,n){var r,i;for(r=0,i=0;ie)throw new ao("Index: "+t+", Size: "+e)}function _y(t,e){if(t<0||t>=e)throw new ao("Index: "+t+", Size: "+e)}function Ey(t,e){var n;return!!(n=t_(t,e.yb()))&&Ag(n.e,e.zb())}function ky(t,e){var n;return n=t.d,e>0?Uf(gd(n.a,e-1),9):null}function Ty(t,e,n,r,i,o){var a;return a=hT(i,r),9!=i&&Nx(Mo(t,o),e,n,i,a),a}function Cy(t){var e;if(!uw(t))throw new Ei;return t.d=1,e=t.c,t.c=null,e}function Ny(t,e,n,r){this.f=t,this.e=e,this.d=n,this.b=r,this.c=r?r.d:null}function Ay(t){var e;return e=Uf(gd(t.f,0),7),Uf(kx(e,($L(),oq)),7)}function Sy(t){var e;return e=Uf(gd(t.f,0),7),Uf(kx(e,($L(),oq)),7)}function Oy(){Oy=a,xX=Zx((ME(),Nx(Mo(TX,1),FI,153,0,[bX,mX,yX])))}function Ly(){Ly=a,CX=Zx((Bw(),Nx(Mo(SX,1),FI,172,0,[_X,EX,kX])))}function Iy(){Iy=a,CR=Zx((fk(),Nx(Mo(IR,1),FI,103,0,[mR,_R,ER,kR,wR,xR])))}function My(){My=a,JR=Zx((DT(),Nx(Mo(rj,1),FI,133,0,[ZR,WR,KR,qR,$R,XR])))}function Py(){Py=a,TG=Zx((bT(),Nx(Mo(SG,1),FI,28,0,[EG,_G,xG,yG,wG,mG])))}function Dy(){Dy=a,xY=Zx((pC(),Nx(Mo(kY,1),FI,125,0,[yY,gY,mY,bY,vY,pY])))}function Ry(){Ry=a,yR=new If("de.cau.cs.kieler.labels.labelManager",null)}function jy(t,e){var n;return(n=new me).c=!0,n.d=e.zb(),nL(t,e.yb(),n)}function Gy(t,e){var n;return-1!=(n=Qy(t,e,0))&&(t.vb(n),!0)}function By(t,e){return 9!=wm(e)&&Nx(mm(e),e._c,e.__elementTypeId$,wm(e),t),t}function Fy(t){return vp(t.c.a.c,t),Lu(t.b!=t.c.a.b),t.a=t.b,t.b=t.b.a,t.a}function Hy(t){Au(!!t.c),vp(t.e,t),t.c.I(),t.c=null,t.b=ix(t),Wl(t.e,t)}function Yy(t,e,n){Li.call(this,fw(Dd(t),Dd(e))),this.b=t,this.c=e,this.a=n}function zy(t,e,n,r){this.b=new On(this),this.a=t,this.c=e,this.e=n,this.d=r}function Uy(t){qx.call(this,t,0),bh(this),this.b.b=this.b,this.b.a=this.b}function Vy(t,e){Fc.call(this,t,e),this.a=Ty(KX,GI,183,2,0,1),this.b=!0}function qy(t,e){return Nl(e)?null==e?!!vv(t.d,null):function(t,e){return!(void 0===Ca(t.a,e))}(t.e,e):!!vv(t.d,e)}function Xy(t,e){return Oo(),(t-e>0?t-e:-(t-e))<=yM||t==e||isNaN(t)&&isNaN(e)}function Wy(t,e){return Oo(),(t-e>0?t-e:-(t-e))<=yM||t==e||isNaN(t)&&isNaN(e)}function $y(t){var e,n;e=!0;do{n=e?oE(t):EE(t),e=!e}while(n);ax(t,t.d)}function Zy(t,e,n){var r;if(null==e)throw new Zr;return r=Sg(t,e),function(t,e,n){if(n){var r=n.gc();t.a[e]=r(n)}else delete t.a[e]}(t,e,n),r}function Ky(t,e,n){return!t.n&&(t.n=new kr),null==n?Kd(t.n,e):wg(t.n,e,n),t}function Qy(t,e,n){for(;n=t.a.c.length;)Lf(t.a,new lo);return Uf(gd(t.a,e),20)}function tm(t,e,n,r,i){var o;return Wm(n,o=Fp(t,e)),o.g=i?8:0,o.f=r,o.e=i,o}function em(t,e){var n;this.f=t,this.b=e,n=Uf(Jp(t.b,e),126),this.c=n?n.b:null}function nm(t,e){var n,r;for(n=0,r=e.length;n0&&(r+=function(t){var e,n,r,i,o,a,s,c,u,l,h,f,d,p,g,v,b,y,m,w,x,_,E;for(i=0,y=0,_l(),b=new kr,r=new kr,function(t,e,n){var r,i,o,a,s,c,u,l,h,f,d;for(r=0,i=0,l=0;l0&&wg(e,o,W_(r+=o.b.c.length+o.e.c.length));else{for(s=mC(c,(mL(),LG)).mb();s.G();)r+=(o=Uf(s.H(),7)).b.c.length+o.e.c.length;for(a=mC(c,LG).mb();a.G();)(o=Uf(a.H(),7)).b.c.length+o.e.c.length>0&&wg(e,o,W_(r))}for(u=t.length-1;u>=0;u--)if(Vl(Uf(kx(c=t[u],(JL(),Hj)),28)))for(f=mC(c,(mL(),KG)).mb();f.G();)(h=Uf(f.H(),7)).b.c.length+h.e.c.length>0&&wg(n,h,W_(i+=h.b.c.length+h.e.c.length));else{for(d=mC(c,(mL(),KG)).mb();d.G();)i+=(h=Uf(d.H(),7)).b.c.length+h.e.c.length;for(f=mC(c,KG).mb();f.G();)(h=Uf(f.H(),7)).b.c.length+h.e.c.length>0&&wg(n,h,W_(i))}}(t,o=new kr,E=new kr),e=null,v=0,_=0,m=!0,c=!0,f=0,p=t.length;fu.k&&(++e,d=!0),p&&u&&p.k>u.k&&(++e,g=!0),f&&s&&f.ks.k&&(++e,c=!0),f&&s&&f.ku.k&&(++e,l=!0),c&&l&&s==u&&--e)}}return e}(e)),r}function om(t,e){var n;return(n=Uf(Kd(t.c,e),176))?(Td(n),n.e):null}function am(t){return n_(t,yI)>0?yI:n_(t,kI)<0?kI:Qp(t)}function sm(t){sf.call(this,(si(),null==t?pI:Uk(t)),dl(t,46)?Uf(t,46):null)}function cm(t){xu(this),Gd(t>=0,"Initial capacity must not be negative")}function um(){um=a,oF=xd(wd(wd(new iE,(WL(),MH)),xH),AH),aF=md(new iE,TH)}function lm(){lm=a,UF=new U,YF=new V,zF=new q,HF=new X,VF=new W,qF=new $}function hm(){hm=a,XX=new Gc("All",0),WX=new el,$X=new ml,ZX=new nl}function fm(){fm=a,RY=new Gs($P,0),DY=new Gs("LONGEST_PATH",1),PY=new Gs(VP,2)}function dm(){dm=a,uR=Cf(wM,wM,524287),lR=Cf(0,0,524288),ly(1),ly(2),hR=ly(0)}function pm(){pm=a,cY=Zx((nA(),Nx(Mo(fY,1),FI,109,0,[oY,tY,rY,eY,nY,JH,iY,aY])))}function gm(){gm=a,vz=Zx((Vk(),Nx(Mo(wz,1),FI,141,0,[pz,hz,fz,lz,dz])))}function vm(){vm=a,UU=Zx((mT(),Nx(Mo(KU,1),FI,115,0,[BU,GU,HU,FU,YU])))}function bm(){bm=a,Pq=Zx((qk(),Nx(Mo(Gq,1),FI,85,0,[Iq,Aq,Sq,Oq,Lq])))}function ym(t){tC(),function(t,e,n){t.a=1502^e,t.b=n^mD}(this,Qp(Qg(Uw(function(t,e){var n,r,i,o;return 63,(r=0!=(524288&(n=t.h)))&&(n|=-1048576),o=r?xM:0,i=n>>2,Cf((t.m>>2|n<<20)&wM,i&wM,o&xM)}(ql(t)?Jw(t):t)),xD)),Qp(Qg(t,xD)))}function mm(t){return Nl(t)?AD:Cl(t)?LX:vh(t)?OX:Zd(t)||Nd(t)?t.$c:t.$c||rR}function wm(t){return null==t.__elementTypeCategory$?9:t.__elementTypeCategory$}function xm(t){var e,n;for(oc(),n=SM,e=0;en&&(n=t[e]);return n}function _m(t,e){var n;return(n=Uf(Jp(t.b,e),106))||(n=e.rc(),wg(t.b,e,n)),n}function Em(t,e){var n;return(n=Uf(Jp(t.c,e),176))?(Hl(t,n),n.e):null}function km(t,e,n,r){var i;(i=Uf(Em(t.e,e),116)).b+=n,i.a+=r,Ik(t.e,e,i),t.d=!0}function Tm(t){var e;for(++t.a,e=t.c.a.length;t.a"+t.d.f+"("+t.d+")":"e_"+fh(t)}function Dm(){Dm=a,lG=Zx((yN(),Nx(Mo(vG,1),FI,41,0,[eG,tG,rG,cG,sG,aG,iG,oG,nG])))}function Rm(){Rm=a,AG=new bs("OUTSIDE",0),NG=new bs("INSIDE",1),CG=new bs("FIXED",2)}function jm(){jm=a,xV=new _c(BM,0),_V=new _c("TOP",1),wV=new _c("BOTTOM",2)}function Gm(){Gm=a,Tz=new fc("CLASSIC",0),Cz=new fc("IMPROVE_STRAIGHTNESS",1)}function Bm(){this.e=new uo,this.a=new Hg,this.d=new uo,this.b=new Re,this.c=new Re}function Fm(t,e,n){this.b=e,this.a=t,this.c=n,Lf(this.a.e,this),Lf(this.b.b,this)}function Hm(t,e){t.d=zo(t.d,e.d),t.c=Fo(t.c,e.c),t.a=Fo(t.a,e.a),t.b=zo(t.b,e.b)}function Ym(t,e){var n;return n=e.c,e.a.b=e.b,e.b.a=e.a,e.a=e.b=null,e.c=null,--t.b,n}function zm(t,e){var n;for(Xu(),Dd(t),Dd(e),n=!1;e.G();)n|=t.ib(e.H());return n}function Um(t){var e;return vp(t.e,t),Lu(t.b),t.c=t.a,e=Uf(t.a.H(),21),t.b=ix(t),e}function Vm(t){return kM=0x8000000000000000?(dm(),uR):(r=!1,t<0&&(r=!0,t=-t),n=0,t>=EM&&(t-=(n=wv(t/EM))*EM),e=0,t>=_M&&(t-=(e=wv(t/_M))*_M),i=Cf(wv(t),e,n),r&&(o=1+~i.l&wM,a=~i.m+(0==o?1:0)&wM,s=~i.h+(0==o&&0==a?1:0)&xM,i.l=o,i.m=a,i.h=s),i)}(t))}function qm(t){if(t){if(t.V())throw new Ei;return t.sb(t.Y()-1)}return function(t){var e;for(Xu();;)if(e=t.H(),!t.G())return e}(null.mb())}function Xm(t,e){var n;return e<(n=t.d).a.c.length-1?Uf(gd(n.a,e+1),9):null}function Wm(t,e){if(t){e.k=t;var n=function(t){if(t.Tc())return null;var e=t.k;return nI[e]}(e);n?n.$c=e:nI[t]=[e]}}function $m(t,e){var n,r;r=!1;do{r|=n=t.i?xx(t,e):wx(t,e)}while(n);return r}function Zm(t,e,n){var r,i;r=e;do{i=oo(t.n[r.k])+n,t.n[r.k]=i,r=t.a[r.k]}while(r!=e)}function Km(t,e){return Cv(t,"set1"),Cv(e,"set2"),ic(),new pf(t,new La(e),e)}function Qm(t){var e=/function(?:\s+([\w$]+))?\s*\(/.exec(t);return e&&e[1]||gI}function Jm(){Jm=a,MU=Zx((PT(),Nx(Mo(jU,1),FI,123,0,[LU,OU,SU,NU,CU,AU])))}function tw(){tw=a,QU=Zx((MT(),Nx(Mo(uV,1),FI,124,0,[WU,XU,ZU,qU,$U,VU])))}function ew(){ew=a,MX=Nx(Mo(iW,1),vM,26,12,[0,8,4,12,2,10,6,14,1,9,5,13,3,11,7,15])}function nw(){nw=a,jq=new Tc(GM,0),Dq=new Tc("INPUT",1),Rq=new Tc("OUTPUT",2)}function rw(t){this.c=t,this.b=new Xx(new Yn(t.b).a),this.a=null,this.d=(Xu(),Xu(),UD)}function iw(t){this.e=t,this.d=new Sa(cx(ip(this.e).Y())),this.c=this.e.a,this.b=this.e.c}function ow(t,e,n){this.c=t,Gb.call(this),this.b=e,this.j=new _g(e.d,e.e,e.c,e.b),this.a=n}function aw(t,e){t.j>0&&t.c0&&0!=t.e&&aw(t.g,e/t.j*t.g.d))}function sw(t){return t.b.d.f.g==(RT(),DF)?Uf(kx(t.b.d.f,($L(),oq)),7):t.b.d}function cw(t){return t.b.c.f.g==(RT(),DF)?Uf(kx(t.b.c.f,($L(),oq)),7):t.b.c}function uw(t){switch(Vc(3!=t.d),t.d){case 2:return!1;case 0:return!0}return function(t){return t.d=3,t.c=function(t){for(var e;t.b.G();)if(e=t.b.H(),t.a.D(e))return e;return t.d=2,null}(t),2!=t.d&&(t.d=0,!0)}(t)}function lw(t){switch(t.e){case 2:return mL(),KG;case 4:return mL(),LG;default:return t}}function hw(t){switch(t.e){case 1:return mL(),$G;case 3:return mL(),IG;default:return t}}function fw(t,e){var n;return zg(),n=new Xs(1),Nl(t)?Yv(n,t,e):YC(n.d,t,e),new rr(n)}function dw(t,e){return t.g?(t.g=dw(t.g,e),--t.a,t.j=__(t.j,e.c),$T(t)):t.e}function pw(t,e){return t.e?(t.e=pw(t.e,e),--t.a,t.j=__(t.j,e.c),$T(t)):t.g}function gw(t,e){var n,r,i;for(Fd(e),n=!1,i=e.mb();i.G();)r=i.H(),n|=t.ib(r);return n}function vw(t){var e,n;for(n=new Fr,e=t.b.mb();e.G();)Of(n,Uf(e.H(),92).a);return n}function bw(t){var e,n,r;for(e=0,r=t.mb();r.G();)e+=(Fd(n=Oh(r.H())),n);return e/t.Y()}function yw(t,e){var n;return(n=Uf(Jp(t.c,e),200))||((n=new Jr).c=e,wg(t.c,n.c,n)),n}function mw(t,e){var n;return Fd(e),n=e.e,!t.b[n]&&(Yp(t.b,n,e),++t.c,!0)}function ww(t,e){var n,r;return n=1-e,r=t.a[n],t.a[n]=r.a[e],r.a[e]=t,t.b=!0,r.b=!1,r}function xw(t,e){var n;return!!dl(e,10)&&(n=Uf(e,10),t.a==n.a&&t.b==n.b)}function _w(t,e,n){return t.g=new Nw(e,n),Th(t,t.g,t.i),t.d=Yo(2,t.d),++t.a,t.j=w_(t.j,n),t}function Ew(t,e,n){return t.e=new Nw(e,n),Th(t.f,t.e,t),t.d=Yo(2,t.d),++t.a,t.j=w_(t.j,n),t}function kw(t,e){var n=t.a,r=0;for(var i in n)n.hasOwnProperty(i)&&(e[r++]=i);return e}function Tw(t,e){var n,r;for(Fd(e),r=e.bb().mb();r.G();)n=Uf(r.H(),21),t.db(n.yb(),n.zb())}function Cw(t,e,n){this.g=t,this.d=e,this.e=n,this.a=new Re,function(t){var e,n,r,i;for(i=bA(new zh(t.d,t.e));i.G();)for(r=Uf(i.H(),7),n=new Kn(t.e==(mL(),KG)?r.b:r.e);n.a0),this.b=t,this.c=e,this.j=e,this.a=1,this.d=1,this.e=null,this.g=null}function Aw(t){return 1.4901161193847656e-8*LN(t,26)+11102230246251565e-32*LN(t,27)}function Sw(t){return dl(t,87)?rb(Uf(t,87)):dl(t,88)?Uf(t,88).a:dl(t,63)?new Di(t):new Ka(t)}function Ow(t){var e;return e=Uf(kx(t,($L(),qV)),32),t.g==(RT(),DF)&&(e==(mL(),KG)||e==LG)}function Lw(t,e){return!!function(t,e){var n,r,i;for(n=Uf(kx(e,($L(),UV)),18),i=Uf(WT(SF,n),18).mb();i.G();)if(r=Uf(i.H(),18),!Uf(WT(t.a,r),20).V())return!1;return!0}(t,e)&&(dN(t.a,Uf(kx(e,($L(),UV)),18),e),!0)}function Iw(t,e){var n;if(e)for(n=0;n<6;n++)Uf(gd(t.a,n),18).jb(Uf(gd(e.a,n),19));return t}function Mw(t,e){var n;return t.b?null:(n=function(t,e){return new Ch(t>0?t-1:t,e)}(t.e,t.f),Of(t.a,n),n.g=t,t.d=e,n)}function Pw(t,e){var n,r;for(r=Sk(t,0);r.b!=r.d.c;)(n=Uf(Sb(r),10)).a+=e.a,n.b+=e.b;return t}function Dw(t,e){var n,r;for(n=0;n0?t.g?Yw(t.g,e,n):0:t.c}function zw(t,e){var n,r;return!!t.c&&(r=t.g,(n=t.a.$b(e,r))>0|0==n&t.f==(qu(),BD))}function Uw(t){var e;return 0==(e=t.h)?t.l+t.m*_M:e==xM?t.l+t.m*_M-EM:t}function Vw(t){var e,n,r,i;for(e=new uo,r=0,i=t.length;r=i;o--)t[o+1]=t[o];t[i]=r}function Kw(t,e,n,r){var i,o;for(i=function(t,e,n,r){var i,o,a,s;for(o=e,i=n-1;o<=i;)if((s=t[a=o+i>>>1])r))return a;i=a-1}return-(o+1)}(t,e,n,r),i<0&&(i=-i-1),o=n-1;o>=i;o--)t[o+1]=t[o];t[i]=r}function Qw(t,e){var n,r;for(Fd(e),r=e.mb();r.G();)if(n=r.H(),!t.kb(n))return!1;return!0}function Jw(t){var e,n,r;return n=0,(r=t)<0&&(r+=EM,n=xM),e=wv(r/_M),Cf(wv(r-e*_M),e,n)}function tx(t,e){return t.c.c=Ty(TD,GI,1,0,4,1),vC(t,t.e,e),vC(t,t.a,e),zg(),xb(t.c,null),function(t){var e,n,r;for(e=0,r=new Kn(t.c);r.a0;r--)n|=VE(t,e,r-1,r);return n}function xx(t,e){var n,r,i;for(n=!1,r=t.d[e].length,i=0;ie?1:t==e?0:isNaN(t)?isNaN(e)?0:1:-1}function Lx(t){switch(t.Y()){case 0:return YD;case 1:return new Ud(t.mb().H());default:return new sb(t)}}function Ix(){var t,e;Ix=a,e=!(Error.stackTraceLimit||"stack"in new Error),t=new we,oI=e?new u:t}function Mx(){Mx=a,VB=new If("intCoordinates",(Vd(),Vd(),NX)),qB=new fd("jsonObject"),XB=new ts(0,0)}function Px(){Px=a,ZF=new Is("MIRROR_X",0),KF=new Is("TRANSPOSE",1),$F=new Is("MIRROR_AND_TRANSPOSE",2)}function Dx(){Dx=a,DU=new yc(BM,0),PU=new yc("INCOMING_ONLY",1),RU=new yc("OUTGOING_ONLY",2)}function Rx(){return CL(),Nx(Mo(TU,1),FI,60,0,[$z,qz,Vz,Qz,Kz,vU,gU,Zz,Xz,Wz,Jz,dU,pU])}function jx(){var t,e,n,r;for(jx=a,uY=new TE(TU),n=0,r=(e=Rx()).length;n0)return Vf(e-1,t.a.c.length),yy(t.a,e-1);throw new _i}function Vx(t){t.b.c.length-t.e.c.length<0?(Fh(t,(mL(),LG)),t.a.a=t.j.a):(Fh(t,(mL(),KG)),t.a.a=0)}function qx(t,e){Gd(t>=0,"Negative initial capacity"),Gd(e>=0,"Non-positive load factor"),my(this)}function Xx(t){var e;this.e=t,this.d=new ty(this.e.e),this.a=this.d,this.b=ix(this),e=t[pD],this[pD]=e}function Wx(){this.n=null,this.j=null,this.i=null,this.d=null,this.b=null,this.k=null,this.a=null}function $x(t){var e,n,r,i;for(i=1,n=0,r=t.length;n=48&&t<58?t-48:t>=97&&t<97?t-97+10:t>=65&&t<65?t-65+10:-1}function m_(t){switch(lf(),t.Y()){case 0:return ag(),KD;case 1:return new la(t.mb().H());default:return new Ks(t)}}function w_(t,e){var n;return ql(t)&&ql(e)&&kM<(n=t+e)&&n>22),i=t.h+e.h+(r>>22),Cf(n&wM,r&wM,i&xM)}(ql(t)?Jw(t):t,ql(e)?Jw(e):e))}function x_(t,e){var n;return ql(t)&&ql(e)&&kM<(n=t*e)&&n>13|(15&t.m)<<9,i=t.m>>4&8191,o=t.m>>17|(255&t.h)<<5,a=(1048320&t.h)>>8,v=r*(s=8191&e.l),b=i*s,y=o*s,m=a*s,0!=(c=e.l>>13|(15&e.m)<<9)&&(v+=n*c,b+=r*c,y+=i*c,m+=o*c),0!=(u=e.m>>4&8191)&&(b+=n*u,y+=r*u,m+=i*u),0!=(l=e.m>>17|(255&e.h)<<5)&&(y+=n*l,m+=r*l),0!=(h=(1048320&e.h)>>8)&&(m+=n*h),d=((g=n*s)>>22)+(v>>9)+((262143&b)<<4)+((31&y)<<17),p=(b>>18)+(y>>5)+((4095&m)<<8),p+=(d+=(f=(g&wM)+((511&v)<<13))>>22)>>22,Cf(f&=wM,d&=wM,p&=xM)}(ql(t)?Jw(t):t,ql(e)?Jw(e):e))}function __(t,e){var n;return ql(t)&&ql(e)&&kM<(n=t-e)&&n>22),i=t.h-e.h+(r>>22),Cf(n&wM,r&wM,i&xM)}(ql(t)?Jw(t):t,ql(e)?Jw(e):e))}function E_(){E_=a,OR=new us(GM,0),SR=new us(DM,1),AR=new us(PM,2),NR=new us("DOWN",3),LR=new us("UP",4)}function k_(){k_=a,zR=new hs(GM,0),HR=new hs("POLYLINE",1),FR=new hs("ORTHOGONAL",2),YR=new hs("SPLINES",3)}function T_(){T_=a,ej=new ds("INHERIT",0),tj=new ds("INCLUDE_CHILDREN",1),nj=new ds("SEPARATE_CHILDREN",2)}function C_(){C_=a,BY=md(bd(new iE,(WL(),cH)),NH),FY=vd(md(yd(new iE,nH),tH),eH),HY=vd(wd(new iE,rH),eH)}function N_(){N_=a,YY=md(bd(new iE,(WL(),cH)),NH),zY=vd(md(yd(new iE,nH),tH),eH),UY=vd(wd(new iE,rH),eH)}function A_(t){this.a=new Iu,this.d=new Iu,this.b=new Iu,this.c=new Iu,this.g=new Iu,this.i=new Iu,this.f=t}function S_(t,e,n,r,i,o){this.e=new Re,this.f=(nw(),jq),Lf(this.e,t),this.d=e,this.a=n,this.b=r,this.f=i,this.c=o}function O_(t,e,n,r,i){var o,a;for(a=t.mb();a.G();)(o=Uf(a.H(),33)).i.a=e.a,o.i.b=i?e.b:e.b+r.b-o.j.b,e.a+=o.j.a+n}function L_(t,e){var n,r;for(Gf(),r=Ip(GT(t));tE(r);)if((n=Uf(Nv(r),12)).d.f==e||n.c.f==e)return n;return null}function I_(t,e,n){var r,i,o;for(r=0,o=Sk(t,0);o.b!=o.d.c&&!((i=oo(Oh(Sb(o))))>n);)i>=e&&++r;return r}function M_(t,e){var n;return e?((n=e.n?e.n:(zg(),zg(),jX)).V()||(t.n?Tw(t.n,n):t.n=new lu(n)),t):t}function P_(t,e,n){try{!function(t,e,n){if(Dd(e),n.G())for(nu(e,t.C(n.H()));n.G();)nu(e,t.c),nu(e,t.C(n.H()))}(t,e,n)}catch(t){throw dl(t=r_(t),181)?new sm(t):D_(t)}return e}function D_(t){var e;return dl(t,164)&&Zc((e=Uf(t,164)).b)!==Zc((ai(),iI))?Zc(e.b)===Zc(iI)?null:e.b:t}function R_(t,e){var n;for(n=Uf(kx(Kp(t),($L(),lq)),9);n;){if(n==e)return!0;n=Uf(kx(Kp(n),lq),9)}return!1}function j_(t){switch(Uf(kx(t,($L(),KV)),140).e){case 1:Ky(t,KV,(jm(),wV));break;case 2:Ky(t,KV,(jm(),_V))}}function G_(t){switch(lf(),t.c){case 0:return ag(),KD;case 1:return new la(PC(new qs(t)));default:return new Ii(t)}}function B_(t){var e,n;for(og(),e=0,n=t.length;e-129&&t<128?(e=t+128,!(n=(qd(),IX)[e])&&(n=IX[e]=new Mn(t)),n):new Mn(t)}function $_(t){var e,n;for(e=NT(t.b,t.d),n=yI;n>e;){if(ax(t,t.d),0==e){n=0;break}oE(t),EE(t),n=e,e=NT(t.b,t.d)}t.c=n}function Z_(){var t,e,n;tC(),n=qX+++(Date.now?Date.now():(new Date).getTime()),t=wv(Math.floor(n*KP))&xD,e=wv(n-t*wD),this.a=1502^t,this.b=e^mD}function K_(t){return Nl(t)?dk(t):Cl(t)?wv((Fd(t),t)):vh(t)?io((Fd(t),t))?1231:1237:Zd(t)?t.v():(Nd(t),fh(t))}function Q_(t,e,n,r){var i,o,a;for(a=0,o=bA(new zh(e,r));o.G();)i=Uf(o.H(),7),wg(t.i,i,W_(a++));wg(n,e,W_(a))}function J_(t){var e;return(e=Uf(kx(t,(JL(),pj)),59))==(E_(),OR)?Uf(kx(t,($L(),AV)),15).a>=1?SR:NR:e}function tE(t){if(Dd(t.b),t.b.G())return!0;for(;t.a.G();)if(Dd(t.b=t.Wb(t.a.H())),t.b.G())return!0;return!1}function eE(t){return t.d==t.c.d&&t.i==t.g.d||(t.a.c=Ty(TD,GI,1,0,4,1),ox(t.a,t.c),ox(t.a,t.g),t.d=t.c.d,t.i=t.g.d),t.a}function nE(t){var e;if(t.b){if(nE(t.b),t.b.d!=t.c)throw new xi}else t.d.V()&&(e=Uf(Jp(t.f.b,t.e),19))&&(t.d=e)}function rE(t,e,n,r,i){var o,a,s,c;for(function(t,e,n,r,i){r?function(t,e){var n,r;for(r=new Kn(e);r.a1&&(xb(e,t.b),function(t,e){var n,r,i,o,a,s,c,u,l;for(i=new Re,c=new Kn(e);c.ae){tb(n);break}}Cp(n,e)}function sE(t,e,n){var r;return r=Ca(t.a,e),function(t,e,n){t.set(e,n)}(t.a,e,void 0===n?null:n),void 0===r?(++t.c,tf(t.b)):++t.d,r}function cE(t,e,n){return(e-t<=0?0-(e-t):e-t)FP?t-n>FP:n-t>FP)}function uE(t){switch(t.e){case 0:return GU;case 1:return BU;case 2:return FU;case 3:return HU;default:return YU}}function lE(t,e){switch(e.e){case 2:return t.b;case 1:return t.c;case 4:return t.d;case 3:return t.a;default:return!1}}function hE(t){switch(mL(),t.e){case 4:return IG;case 1:return LG;case 3:return $G;case 2:return KG;default:return ZG}}function fE(t,e){if(e==t.c)return t.d;if(e==t.d)return t.c;throw new so("Node "+e+" not part of edge "+t)}function dE(t,e){var n;return Xl(t.a,e)?Uf(Xl(t.a,e)?t.b[e.e]:null,62):(n=new Hr,mw(t.a,e),Op(t,e.e,n),n)}function pE(t,e){var n,r,i;for(i=t.g.tb(),n=0;i.G();){if((r=oo(Oh(i.H()))-e)>uD)return n;r>lD&&++n}return n}function gE(t){var e,n,r,i;return mw(n=new Zf(e=Uf(ia((i=(r=t.$c).f)==RD?r:i),11),Uf(Sp(e,e.length),11),0),t),n}function vE(t,e){var n,r;for(r=new Kn(e);r.a %s",Nx(Mo(TD,1),GI,1,4,[W_(e),W_(n)])),sT(e,n=n<(r=t.length)?n:r,r),n-e}function _E(t,e){var n,r,i;for(n=t,i=0;;){if(n==e)return i;if(!(r=Uf(kx(n,($L(),lq)),9)))throw new qr;n=Kp(r),++i}}function EE(t){var e,n,r;for(r=!1,n=t.d.length-1;n>=0;n--)t.j=(e=new gC(t.e,t.d,n,1),new BT(n,t.d,e)),r|=$m(t,n);return r}function kE(t){this.f=(_l(),new kr),this.n=new kr,this.k=new kr,this.g=new Ji,this.i=new lk((ui(),$D)),this.j=t,function(t,e){var n,r,i,o,a;for(n=0,a=0,i=0,o=e.length;i0?t-e:-(t-e))<=yM||t==e||isNaN(t)&&isNaN(e)?0:te?1:yu(isNaN(t),isNaN(e)))>0}function DE(t,e){return Oo(),Oo(),((t-e>0?t-e:-(t-e))<=yM||t==e||isNaN(t)&&isNaN(e)?0:te?1:yu(isNaN(t),isNaN(e)))<0}function RE(t){var e,n;for(t.d||function(t){var e,n,r,i,o,a;if(i=t.g.tb(),r=t.b.tb(),t.e)for(n=0;nuD;){for(o=e,a=0;(e-o<=0?0-(e-o):e-o)o_(t.a,r,i)+t.c.b+t.d.b)}(t.j,n,r)&&(function(t,e,n){!function(t,e,n){$N(t,e,n,(mL(),LG),t.f),$N(t,e,n,KG,t.n)}(t.c,e,n)}(t.j,t.d[e][n],t.d[e][r]),a=(o=t.d[e])[r],o[r]=o[n],o[n]=a,i=!0),i}function qE(t,e,n){var r,i,o,a,s;i=(s=Kp(t)).a,r=Uf(kx(s,($L(),PV)),15).a,o=s.d,a=t.i,e&&(a.a=a.a-i.b-r-o.a),n&&(a.b=a.b-i.d-r-o.b)}function XE(t,e){var n,r,i;for(r=Ip(GT(t));tE(r);)return n=Uf(Nv(r),12),new Fe(Dd((i=Uf(e.B(n),9)).i.b+i.j.b/2));return ci(),ci(),kD}function WE(t){var e,n,r,i;for(n=vO(t),e=jP,i=0,r=0;e>.5&&i<50;)e=Na(XT(n,r=fA(n),!0).b),++i;return XT(t,r,!1)}function $E(t){var e,n,r,i;for(n=vO(t),e=jP,i=0,r=0;e>.5&&i<50;)e=Na(XT(n,r=hA(n),!0).a),++i;return XT(t,r,!1)}function ZE(t){var e,n,r;for(this.a=new Iu,this.e=new Ji,this.f=0,n=0,r=t.length;n0),e.a.sb(e.c=--e.b))}function ik(t,e,n){HE(n,"Compound graph preprocessor",1),t.a=new $s,oO(t,e,null),function(t,e){var n,r,i,o,a,s,c;for(a=ip(t.a).mb();a.G();){if((o=Uf(a.H(),12)).b.c.length>0)for(xb(r=new df(Uf(WT(t.a,o),18)),new cn(e)),i=new Kv(o.b,0);i.b=t.b>>1)for(r=t.c,n=t.b;n>e;--n)r=r.b;else for(r=t.a.a,n=0;n0&&(i.b+=e),i}function Lk(t,e){var n,r,i;for(i=new uo,r=t.mb();r.G();)iS(n=Uf(r.H(),55),0,i.b),i.b+=n.e.b+e,i.a=Fo(i.a,n.e.a);return i.a>0&&(i.a+=e),i}function Ik(t,e,n){var r,i,o;return(i=Uf(Jp(t.c,e),176))?(o=bf(i,n),Hl(t,i),o):(r=new sd(t,e,n),wg(t.c,e,r),Sv(r),null)}function Mk(t){switch(t.e){case 8:return mL(),IG;case 9:return mL(),$G;case 10:return mL(),LG;case 11:return mL(),KG;default:return mL(),ZG}}function Pk(t,e){return Nl(t)?!!cI[e]:t._c?!!t._c[e]:Cl(t)?!!sI[e]:!!vh(t)&&!!aI[e]}function Dk(){Mx(),this.i=(_l(),new kr),this.a=new kr,this.k=new kr,this.j=new kr,this.b=new kr,this.n=new kr,this.f=new kr,this.e=new kr}function Rk(t,e){var n,r;e.a.R(t)||(r=Uf(kx(t,($L(),qV)),32),n=Uf(gd(t.f,0),7),r==(mL(),IG)?Fh(n,$G):r==$G&&Fh(n,IG),e.a.db(t,e))}function jk(t){return Yo(1,Uf(kx(t,($L(),gq)),24).a)*(t.c.f.g==(RT(),GF)&&t.d.f.g==GF?1:t.c.f.g==GF||t.d.f.g==GF?2:8)}function Gk(t){var e,n,r,i;for(i=Uf(kx(t,($L(),oq)),7),n=0,r=(e=Uf(Yk(t.b,Ty(IF,CP,12,t.b.c.length,0,1)),47)).length;nr&&Yp(e,r,null),e}function zk(t,e){var n,r;for(r=t.a.length,e.lengthr&&Yp(e,r,null),e}function Uk(t){return Nl(t)?t:Cl(t)?Aa((Fd(t),t)):vh(t)?yl(io((Fd(t),t))):Zd(t)?t.w():Nd(t)?yv(t):t.toString?t.toString():"[JavaScriptObject]"}function Vk(){Vk=a,pz=new cc("SIMPLE",0),hz=new cc(VP,1),fz=new cc("LINEAR_SEGMENTS",2),lz=new cc("BRANDES_KOEPF",3),dz=new cc($P,4)}function qk(){qk=a,Iq=new kc(BM,0),Aq=new kc("FIRST",1),Sq=new kc("FIRST_SEPARATE",2),Oq=new kc("LAST",3),Lq=new kc("LAST_SEPARATE",4)}function Xk(){Xk=a,Hz=new le,Bz=md(new iE,(WL(),mH)),Fz=vd(md(new iE,RH),DH),jz=vd(wd(md(yd(new iE,_H),kH),CH),EH),Gz=vd(wd(new iE,CH),uH)}function Wk(t){var e,n,r;for(n=new Vn(new Un(t.d.a).a.bb().mb());n.a.G();)r=Uf(n.a.H(),21),Lf((e=Uf(r.yb(),12)).c.e,e),Lf(e.d.b,e)}function $k(t,e){var n,r;if(Su(e>0),(e&-e)==e)return wv(e*LN(t,31)*4.656612873077393e-10);do{r=(n=LN(t,31))%e}while(n-r+(e-1)<0);return wv(r)}function Zk(t,e){if(t.c.f==e)return t.d.f;if(t.d.f==e)return t.c.f;throw new so("Node "+e+" is neither source nor target of edge "+t)}function Kk(t,e,n){return Su(t>=0&&t<=1114111),t>=wI?(e[n++]=55296+(t-wI>>10&1023)&xI,e[n]=56320+(t-wI&1023)&xI,2):(e[n]=t&xI,1)}function Qk(t){var e,n;if(!t.a)for(t.a=Ol(Uf(t.e,9).c.c.length),n=new Kn(Uf(t.e,9).c);n.ai&&Yp(e,i,null),e}function oT(t,e,n){if(n&&(e<0||e>n.a.c.length))throw new so("index must be >= 0 and <= layer node count");t.d&&Gy(t.d.a,t),t.d=n,n&&Id(n.a,e,t)}function aT(t,e,n,r,i,o,a,s){var c,u;r&&((c=r.a[0])&&aT(t,e,n,c,i,o,a,s),function(t,e,n,r,i,o,a){var s,c;return!(e.Xc()&&(c=t.a.$b(n,r),c<0||!i&&0==c))&&!(e.Yc()&&(s=t.a.$b(n,o),s>0||!a&&0==s))}(t,n,r.d,i,o,a,s)&&e.ib(r),(u=r.a[1])&&aT(t,e,n,u,i,o,a,s))}function sT(t,e,n){if(t<0)throw new ao(SI+t+" < 0");if(e>n)throw new ao("toIndex: "+e+" > size "+n);if(t>e)throw new so(SI+t+" > toIndex: "+e)}function cT(t,e){var n,r,i;return n=e.yb(),i=e.zb(),r=t.cb(n),!(!(Zc(i)===Zc(r)||null!=i&&s_(i,r))||null==r&&!t.R(n))}function uT(t,e,n){var r;(r=e.c.f).g==(RT(),jF)?(Ky(t,($L(),eq),Uf(kx(r,eq),7)),Ky(t,nq,Uf(kx(r,nq),7))):(Ky(t,($L(),eq),e.c),Ky(t,nq,n.d))}function lT(t,e,n){var r,i,o,a;for(function(t){var e,n;for(null==t.g&&(t.g=_d(t)),e=0,n=t.g.length;er&&t.charCodeAt(e-1)<=32;)--e;return r>0||e>19)!=(s=e.h>>19)?s-a:(r=t.h)!=(o=e.h)?r-o:(n=t.m)!=(i=e.m)?n-i:t.l-e.l}function xT(t){var e,n,r;for(n=new Vn(new Un(t.p.a).a.bb().mb());n.a.G();)if(r=Uf(n.a.H(),21),(e=Uf(r.yb(),89)).e&&t.b[e.b]<0)return e;return null}function _T(t,e){var n,r,i,o,a;r=zo(t.d,e.d),o=zo(t.e,e.e),(i=Fo(t.d+t.c,e.d+e.c))=e.length)throw new ao("Greedy SwitchDecider: Free layer layer not in graph.");this.b=e[t],this.c=new Wh(this.b),this.d=new qw(this.b)}function FT(t,e){var n;if(this.f=t,this.b=this.f.c,Ob(e,n=t.d),e>=(n/2|0))for(this.e=t.e,this.d=n;e++0;)ib(this);this.a=null}function HT(t){var e,n,r;for(n=new Kn(t.a.b);n.a0&&(t.g=oC(t.g)),iC(t);case 2:return mu(t.e)<0&&(t.e=iC(t.e)),oC(t);default:return t.d=1+Yo(Bi(t.e),Bi(t.g)),t}}function ZT(t,e){this.f=(_l(),new kr),this.b=new kr,this.j=new kr,this.a=t,this.c=e,this.c>0&&rN(this,this.c-1,(mL(),LG)),this.c0&&hN(t,e,n),0):(Uc(0==n),0)}function JT(t,e){var n,r,i,o,a;for(i=Uf(kx(e,($L(),wq)),15).a*Uf(kx(e,(ZL(),$q)),15).a,a=t[0].i.a+t[0].j.a,o=1;o=0;e--)VX[e]=r,r*=.5;for(n=1,t=24;t>=0;t--)UX[t]=n,n*=.5}function eC(t){for(;0!=t.g.c&&0!=t.d.c;)zl(t.g).c>zl(t.d).c?(t.i+=t.g.c,zE(t.d)):zl(t.d).c>zl(t.g).c?(t.e+=t.d.c,zE(t.g)):(t.i+=id(t.g),t.e+=id(t.d),zE(t.g),zE(t.d))}function nC(t){var e,n,r,i;for(i=new $o("["),e=!1,r=t.mb();r.G();)n=r.H(),e?i.a+=", ":e=!0,iu(i,n===t?"(this Collection)":(si(),null==n?pI:Uk(n)));return i.a+="]",i.a}function rC(t){var e,n,r,i;for(i=new $o("{"),e=!1,r=t.bb().mb();r.G();)n=Uf(r.H(),21),e?i.a+=", ":e=!0,iu(i,vb(t,n.yb())),i.a+="=",iu(i,vb(t,n.zb()));return i.a+="}",i.a}function iC(t){var e;return Vc(!!t.g),e=t.g,t.g=e.e,e.e=t,e.j=t.j,e.a=t.a,t.a=1+Gi(t.e)+Gi(t.g),t.j=w_(w_(t.c,Fi(t.e)),Fi(t.g)),t.d=1+Yo(Bi(t.e),Bi(t.g)),e.d=1+Yo(Bi(e.e),Bi(e.g)),e}function oC(t){var e;return Vc(!!t.e),e=t.e,t.e=e.g,e.g=t,e.j=t.j,e.a=t.a,t.a=1+Gi(t.e)+Gi(t.g),t.j=w_(w_(t.c,Fi(t.e)),Fi(t.g)),t.d=1+Yo(Bi(t.e),Bi(t.g)),e.d=1+Yo(Bi(e.e),Bi(e.g)),e}function aC(t){var e;pl(new Kn(fT(t.e)))&&((e=Uf(mE(t.e,(JL(),Hj)),28))==(bT(),mG)?function(t){var e,n,r,i,o;for(e=t.e.j,r=new Kn(fT(t));r.a=wI?(e=55296+(t-wI>>10&1023)&xI,n=56320+(t-wI&1023)&xI,String.fromCharCode(e)+""+String.fromCharCode(n)):String.fromCharCode(t&xI)}function kC(t,e,n,r){var i;Lf(t.c,new xg(t,n,r,Uf(Jp(t.k,n),24).a)),Wp(r)&&(e==t.e?r.d.f!=t.a&&r.c.f!=t.a:r.d.f!=t.e&&r.c.f!=t.e)&&(i=n==r.c?r.d:r.c,Lf(t.c,new xg(t,i,r,Uf(Jp(t.k,i),24).a)))}function TC(t,e){var n,r,i;if(e===t)return!0;if(!dl(e,57))return!1;if(i=Uf(e,57),t.Y()!=i.Y())return!1;for(r=i.bb().mb();r.G();)if(n=Uf(r.H(),21),!t._(n))return!1;return!0}function CC(t,e){var n,r,i;return M_(r=new Tk(t),e),Ky(r,($L(),VV),e),Ky(r,(JL(),Hj),(bT(),mG)),Ky(r,sj,(fk(),xR)),fr(r,(RT(),DF)),cv(n=new TT,r),Fh(n,(mL(),KG)),cv(i=new TT,r),Fh(i,LG),r}function NC(t,e){var n,r,i;for(i=yI,r=new Kn(eE(e));r.a0&&LC(t,o,n));e.k=0}function IC(t,e){if(0>e)throw new so("Top must be smaller or equal to bottom.");if(0>t)throw new so("Left must be smaller or equal to right.");this.d=0,this.c=t,this.a=e,this.b=0}function MC(t){var e,n,r;if(0==t.length)throw new so(hD);for(n=0,r=t.length;n1)throw new so("In straight hyperEdges there may be only one edge.");Of((i=new Un(n.a).a.bb().mb(),r=Uf(new Vn(i).a.H(),21),Uf(r.yb(),12)).a,new ts(e,t.b))}function WC(t,e,n){var r,i;if(this.f=t,Ob(n,i=(r=Uf(Jp(t.b,e),126))?r.a:0),n>=(i/2|0))for(this.e=r?r.c:null,this.d=i;n++0;)Rv(this);this.b=e,this.a=null}function $C(e,r){typeof n===bI?n(r):((typeof document!==WM||"object"===lI&&t.exports)&&uW(e(r)),typeof document===WM&&typeof self!==WM&&self.postMessage(r))}function ZC(t,e){var n,r,i,o;"x"in t.a&&(i=Uf(Sg(t,"x"),104),e.i.a=i.a),"y"in t.a&&(o=Uf(Sg(t,"y"),104),e.i.b=o.a),eP in t.a&&(r=Uf(Sg(t,eP),104),e.j.a=r.a),nP in t.a&&(n=Uf(Sg(t,nP),104),e.j.b=n.a)}function KC(t,e,n){var r;wy(this),e==(pv(),EU)?Np(this.g,t.c):Np(this.o,t.c),Np(n==EU?this.g:this.o,t.d),Np(this.c,t),uk(this,Gv(t.c).b,r=Gv(t.d).b,r),this.f=function(t,e){return LT(),(t-e<=0?0-(t-e):t-e)<.2}(Gv(t.c).b,Gv(t.d).b)}function QC(t,e,n){var r,i,o,a,s;for(zg(),s=new cm((a=new Ko(Uf(gd(e.a,n),18))).b.Y()),i=new nr(a.b.mb());i.b.G();)r=Uf(i.b.H(),37),(o=Uf(Jp(t.a,r),31))||(o=YL(r),wg(t.a,r,o)),s.c[s.c.length]=o;return s}function JC(t){var e,n;if(Vs(Uf(kx(t,(JL(),Hj)),28)))for(n=new Kn(t.f);n.ae&&r.$b(t[o-1],t[o])>0;--o)a=t[o],Yp(t,o,t[o-1]),Yp(t,o-1,a)}(e,n,r,o);else if(tN(e,t,s=n+i,c=s+((a=r+i)-s>>1),-i,o),tN(e,t,c,a,-i,o),o.$b(t[c-1],t[c])<=0)for(;n=r||e upperEndpoint (%s)",Nx(Mo(TD,1),GI,1,4,[e,n])))}((s=t.$b(n,o))<=0,n,o),0==s&&Uc(r!=(qu(),BD)|a!=BD))}function uN(t){if(this.a=t,t.c.f.g==(RT(),DF))this.c=t.c,this.d=Uf(kx(t.c.f,($L(),qV)),32);else{if(t.d.f.g!=DF)throw new so("Edge "+t+" is not an external edge.");this.c=t.d,this.d=Uf(kx(t.d.f,($L(),qV)),32)}}function lN(){lN=a,Iz=wd(new iE,(WL(),vH)),Pz=md(new iE,mH),Dz=vd(md(new iE,RH),DH),Lz=vd(wd(md(new iE,hH),fH),dH),Rz=md(new iE,UH),Mz=vd(new iE,bH),Sz=vd(wd(md(yd(new iE,_H),kH),CH),EH),Oz=vd(wd(new iE,CH),uH)}function hN(t,e,n){var r,i,o,a;return Cm(n,gM),0==n?ST(t,e):(Uc(hh(t.b,e)),(a=t.c.a)?(o=Ty(iW,vM,26,1,12,1),r=ES(a,t.d,e,n,o),jd(t.c,a,r),o[0]):(t.d.$b(e,e),i=new Nw(e,n),Th(t.a,i,t.a),jd(t.c,null,i),0))}function fN(t,e,n){var r,i,o,a,s;for(r=0,s=n,e||(r=n*(t.c.length-1),s*=-1),o=new Kn(t);o.a0&&((!os(t.b.d)||!r.q.d)&&(!as(t.b.d)||!r.q.b)&&(r.j.e-=0>o/2-.5?0:o/2-.5),(!os(t.b.d)||!r.q.a)&&(!as(t.b.d)||!r.q.c)&&(r.j.b+=0>o-1?0:o-1))}(t,e,n),o=new Re,i=new Kn(t.b.a.b);i.a0&&((!os(t.b.d)||!r.q.d)&&(!as(t.b.d)||!r.q.b)&&(r.j.e+=0>o/2-.5?0:o/2-.5),(!os(t.b.d)||!r.q.a)&&(!as(t.b.d)||!r.q.c)&&(r.j.b-=o-1))}(t,e,n)}function gN(t,e){var n,r,i,o;for(t.c[e.k]=!0,Lf(t.a,e),o=new Kn(e.f);o.a(a=s+oo(t.b[t.f[i.k].k]))?n:a;return n-r}function _N(t){var e;return Zy(e=new Vi,"type",new Rd((Bh(uF),uF.n))),Zy(e,$M,new Rd(t.f)),t.b&&Zy(e,"value",t.b),t.a&&Zy(e,"context",t.a),Zy(e,ZM,new Rd(kl(new co("\n"),new zn(new Qn((null==t.g&&(t.g=_d(t)),t.g)))))),e}function EN(t,e){var n,r,i,o,a;if(e===t)return!0;if(!dl(e,20))return!1;if(a=Uf(e,20),t.Y()!=a.Y())return!1;for(o=a.mb(),r=t.mb();r.G();)if(n=r.H(),i=o.H(),!(Zc(n)===Zc(i)||null!=n&&s_(n,i)))return!1;return!0}function kN(t){!nR&&((e=["\\u0000","\\u0001","\\u0002","\\u0003","\\u0004","\\u0005","\\u0006","\\u0007","\\b","\\t","\\n","\\u000B","\\f","\\r","\\u000E","\\u000F","\\u0010","\\u0011","\\u0012","\\u0013","\\u0014","\\u0015","\\u0016","\\u0017","\\u0018","\\u0019","\\u001A","\\u001B","\\u001C","\\u001D","\\u001E","\\u001F"])[34]='\\"',e[92]="\\\\",e[173]="\\u00ad",e[1536]="\\u0600",e[1537]="\\u0601",e[1538]="\\u0602",e[1539]="\\u0603",e[1757]="\\u06dd",e[1807]="\\u070f",e[6068]="\\u17b4",e[6069]="\\u17b5",e[8203]="\\u200b",e[8204]="\\u200c",e[8205]="\\u200d",e[8206]="\\u200e",e[8207]="\\u200f",e[8232]="\\u2028",e[8233]="\\u2029",e[8234]="\\u202a",e[8235]="\\u202b",e[8236]="\\u202c",e[8237]="\\u202d",e[8238]="\\u202e",e[8288]="\\u2060",e[8289]="\\u2061",e[8290]="\\u2062",e[8291]="\\u2063",e[8292]="\\u2064",e[8298]="\\u206a",e[8299]="\\u206b",e[8300]="\\u206c",e[8301]="\\u206d",e[8302]="\\u206e",e[8303]="\\u206f",e[65279]="\\ufeff",e[65529]="\\ufff9",e[65530]="\\ufffa",e[65531]="\\ufffb",nR=e);var e,n=t.replace(/[\x00-\x1f\xad\u0600-\u0603\u06dd\u070f\u17b4\u17b5\u200b-\u200f\u2028-\u202e\u2060-\u2064\u206a-\u206f\ufeff\ufff9-\ufffb"\\]/g,(function(t){return function(t,e){var n=nR[t.charCodeAt(0)];return null==n?t:n}(t)}));return'"'+n+'"'}function TN(t,e){var n,r,i,o,a;for(r=new Vn(new Un((1==e?hF:lF).a).a.bb().mb());r.a.G();)for(i=Uf(r.a.H(),21),n=Uf(i.yb(),59),a=Uf(WT(t.f.c,n),18).mb();a.G();)o=Uf(a.H(),27),Gy(t.b.b,o.b),Gy(t.b.a,Uf(o.b,25).f)}function CN(t,e,n){var r,i,o,a;if(HE(n,"Recursive layout",2),0!=e.b.c.length){for(a=1/e.b.c.length,o=new Kn(e.b);o.a=2147483648&&(r-=4294967296),r)}function IN(t,e,n){var r,i,o;if(e!=n){r=e;do{Ih(t,r.d),(o=Uf(kx(r,($L(),lq)),9))&&(Rl(t,(i=r.a).b,i.d),Ih(t,o.i),r=Kp(o))}while(o);r=n;do{Mh(t,r.d),(o=Uf(kx(r,($L(),lq)),9))&&(jl(t,(i=r.a).b,i.d),Mh(t,o.i),r=Kp(o))}while(o)}}function MN(t,e){var n,r,i,o,a;for(n=new Re,a=new tc,i=new Vn(new Un(t.a).a.bb().mb());i.a.G();)o=Uf(i.a.H(),21),mS(a,(r=Uf(o.yb(),12)).c,r,null),mS(a,r.d,r,null);for(;a.a;)Lf(n,GS(a,e,Vl(Uf(kx(e,(JL(),Hj)),28))));return n}function PN(t,e){var n,r,i,o,a;for(r=new Vn(new Un((1==e?hF:lF).a).a.bb().mb());r.a.G();)for(i=Uf(r.a.H(),21),n=Uf(i.yb(),59),a=Uf(WT(t.f.c,n),18).mb();a.G();)o=Uf(a.H(),27),Lf(t.b.b,Uf(o.b,25)),Lf(t.b.a,Uf(o.b,25).f)}function DN(t){var e,n,r,i,o,a;for(Gf(),_l(),n=new ry,r=new Kn(t.e.c);r.a0&&i0):i<0&&-i0)}function BN(t,e,n,r,i){var o,a;xw(Vw(Nx(Mo(gR,1),KM,10,0,[i.f.i,i.i,i.a])),n)||(e.c==i?Yl(e.a,0,new $c(n)):Of(e.a,new $c(n)),r&&!ka(t.a,n)&&((a=Uf(kx(e,(JL(),kj)),44))||(a=new Fr,Ky(e,kj,a)),Mb(a,o=new $c(n),a.c.b,a.c),Np(t.a,o)))}function FN(t){var e,n,r,i,o,a;for(e=0,n=new Kn(t.a);n.a((a=Gv(r.d).b)-o<=0?0-(a-o):a-o)?e:a-o<=0?0-(a-o):a-o);return e}function HN(t,e){var n,r,i,o,a,s;if((r=t.b[e.k])>=0)return r;for(i=1,o=new Kn(e.f);o.a(a=HN(t,s))+1?i:a+1);return function(t,e,n){var r,i;for(r=(i=t.a.c).c.length;rc-n&&s=t.g.d?((e=t.f).e=dw(t.e,e),e.g=t.g,e.a=t.a-1,e.j=__(t.j,n),$T(e)):((e=t.i).g=pw(t.g,e),e.e=t.e,e.a=t.a-1,e.j=__(t.j,n),$T(e)):t.e:t.g}function qN(t){var e,n,r,i,o,a;for(i=new Kn(t.a);i.ao.k?Fh(a,$G):a.g==$G&&o.k>r.k&&Fh(a,IG))}function XN(t,e,n){var r,i,o;if(Cm(n,gM),0==n)return ST(t,e);o=t.c.a,i=Ty(iW,vM,26,1,12,1);try{if(!hh(t.b,e)||!o)return 0;r=YS(o,t.d,e,n,i)}catch(t){if(dl(t=r_(t),119))return 0;if(dl(t,76))return 0;throw D_(t)}return jd(t.c,o,r),i[0]}function WN(t){var e,n,r,i,o,a;for(il(a=Uf(Yk(t.a,Ty(FF,oP,9,t.a.c.length,0,1)),51),new ot),n=null,i=0,o=a.length;i0)return KN(t,e,n.g);if(0!=r)return w_(w_(e.ac(n.g),e._b(n)),KN(t,e,n.e));switch(t.b.f.e){case 0:return w_(e._b(n),e.ac(n.g));case 1:return e.ac(n.g);default:throw new Er}}function QN(t,e,n){var r;if(!n)return 0;if((r=t.d.$b(t.b.e,n.b))<0)return QN(t,e,n.e);if(0!=r)return w_(w_(e.ac(n.e),e._b(n)),QN(t,e,n.g));switch(t.b.d.e){case 0:return w_(e._b(n),e.ac(n.e));case 1:return e.ac(n.e);default:throw new Er}}function JN(t,e,n,r){var i,o,a,s;return fr(a=new Tk(t),(RT(),jF)),Ky(a,($L(),oq),e),Ky(a,(JL(),Hj),(bT(),mG)),Ky(a,eq,n),Ky(a,nq,r),Fh(o=new TT,(mL(),KG)),cv(o,a),Fh(s=new TT,LG),cv(s,a),lv(e,o),M_(i=new jg,e),Ky(i,kj,null),hv(i,s),lv(i,r),a}function tA(t,e){var n,r,i,o,a,s,c,u;for(n=0,a=0,s=(o=t.j).length;an.a&&(o=Yo(o,a.a-n.a-1));return o}function iA(t){var e,n;switch(e=Uf(kx(t,(JL(),Sj)),15).a,n=Uf(kx(t,Oj),15).a,Ky(t,Oj,new Hn(e)),Ky(t,Sj,new Hn(n)),Uf(kx(t,sj),103).e){case 1:Ky(t,sj,(fk(),kR));break;case 2:Ky(t,sj,(fk(),wR));break;case 3:Ky(t,sj,(fk(),_R));break;case 4:Ky(t,sj,(fk(),ER))}}function oA(t,e,n){var r,i,o;for(o=new Kn(t.e);o.a0&&(r.b.c-=r.c,r.b.c<=0&&r.b.f>0&&Of(e,r.b));for(i=new Kn(t.b);i.a0&&(r.a.f-=r.c,r.a.f<=0&&r.a.c>0&&Of(n,r.a))}function aA(t,e,n){var r,i,o;for(o=new Kn(t.j);o.a0&&(r.b.e-=r.c,r.b.e<=0&&r.b.k>0&&Of(e,r.b));for(i=new Kn(t.d);i.a0&&(r.a.k-=r.c,r.a.k<=0&&r.a.e>0&&Of(n,r.a))}function sA(t,e){switch(t.e){case 1:switch(e.e){case 1:return JP;case 4:return.5;case 3:return tD;case 2:return eD}break;case 2:switch(e.e){case 1:return JP;case 2:return.5;case 3:return tD;case 4:return eD}break;default:throw new so(QP)}return 0}function cA(t,e){var n,r,i,o;for(Lu((o=new Kv(t,0)).b0),o.a.sb(o.c=--o.b),ef(o,i),Lu(o.b1)&&(++o,++a);return!Vl(Uf(kx(n,(JL(),Hj)),28))&&s&&(++o,++a),wg(i,n,W_(o)),a}function hA(t){var e,n,r,i,o,a,s,c,u,l;for(u=(l=(s=Uf((a=t.b.mb()).H(),92)).a.a)>uD,c=luD)&&!c)return bw(s.b);if(i&&c||r&&u)return(e=o/(o-l))*bw(n.b)+(1-e)*bw(s.b)}return 0}function fA(t){var e,n,r,i,o,a,s,c,u,l;for(u=(l=(s=Uf((a=t.b.mb()).H(),92)).a.b)>uD,c=luD)&&!c)return bw(s.b);if(i&&c||r&&u)return(e=o/(o-l))*bw(n.b)+(1-e)*bw(s.b)}return 0}function dA(t,e,n){var r,i;return r=0,Wp(e)?ka(t.g,e)?(XN(t.i,W_(Ph(t,e.c)),1),XN(t.i,W_(Ph(t,e.d)),1),vl(t.g,e),r+=vk(t,e,t.i)):(Np(t.g,e),hN(t.i,W_(Ph(t,e.c)),1),hN(t.i,W_(Ph(t,e.d)),1)):(i=ST(t.i,W_(Uf(Jp(t.k,n),24).a)),r+=t.g.a.Y()-i),r}function pA(t){switch(t.e){case 0:return Zz;case 1:return $z;case 2:return qz;case 3:return Vz;case 4:return Qz;case 5:return Kz;case 6:return vU;case 7:return gU;case 8:return Wz;case 9:return Xz;case 10:return dU;case 11:return Jz;default:return pU}}function gA(t){switch(t.e){case 0:return Kz;case 1:return vU;case 2:return gU;case 3:return Zz;case 4:return $z;case 5:return qz;case 6:return Vz;case 7:return Qz;case 8:return Wz;case 9:return Xz;case 10:return dU;case 11:return Jz;default:return pU}}function vA(t){switch(t.e){case 0:return qz;case 1:return Vz;case 2:return Qz;case 3:return Kz;case 4:return vU;case 5:return gU;case 6:return Zz;case 7:return $z;case 8:return Wz;case 9:return Xz;case 10:return dU;case 11:return Jz;default:return pU}}function bA(t){var e;switch(e=t.a.f,t.b){case 0:return new Kn(t.a.f);case 1:return bp(new Lv(e),AT(t));case 2:switch(t.c.e){case 2:case 1:return bp(new Kn(e),AT(t));case 3:case 4:return bp(new Lv(e),AT(t))}}throw new No("PortOrder not implemented.")}function yA(t,e,n,r){this.e=t,this.j=Uf(kx(t,($L(),xq)),134),this.f=Ty(FF,oP,9,e,0,1),this.b=Ty(LX,hI,184,e,6,1),this.a=Ty(FF,oP,9,e,0,1),this.d=Ty(LX,hI,184,e,6,1),this.i=Ty(FF,oP,9,e,0,1),this.g=Ty(LX,hI,184,e,6,1),this.n=Ty(LX,hI,184,e,6,1),this.k=n,this.c=r}function mA(t){if(!t.a.c||!t.a.d)throw new ko((Bh(NY),NY.j+" must have a source and target "+(Bh(OY),OY.j+" specified.")));if(t.a.c==t.a.d)throw new ko("Network simplex does not support self-loops: "+t.a+" "+t.a.c+" "+t.a.d);return Tp(t.a.c.g,t.a),Tp(t.a.d.c,t.a),t.a}function wA(t,e,n,r,i){r==(mL(),LG)&&i==LG?Wg(t,e)>Wg(t,n)?t.d=_k(t,n):t.b=_k(t,e):r==KG&&i==KG?Wg(t,e)Wg(t,n)&&(t.d=_k(t,n),t.b=_k(t,e)):Wg(t,e)0&&o>0?e++:r>0?n++:o>0?i++:n++}xb(t.f,new Rt)}function _A(t,e,n,r){var i,o,a,s,c;n.d.f!=e.f&&(fr(i=new Tk(t),(RT(),jF)),Ky(i,($L(),oq),n),Ky(i,(JL(),Hj),(bT(),mG)),r.c[r.c.length]=i,cv(a=new TT,i),Fh(a,(mL(),KG)),cv(s=new TT,i),Fh(s,LG),c=n.d,lv(n,a),M_(o=new jg,n),Ky(o,kj,null),hv(o,s),lv(o,c),bN(i,a,s))}function EA(t){var e,n,r,i,o,a,s;for(i=jP,a=jP,o=null,n=new lg(new ur(t.e));n.b!=n.c.a.b;)if(1==Uf((e=Fy(n)).d,60).c&&(r=Uf(e.e,116).a,s=Uf(e.e,116).b,(i-r>FP||r-iFP)&&(a=Uf(e.e,116).b,i=Uf(e.e,116).a,o=Uf(e.d,60),0==a&&0==i)))return o;return o}function kA(t,e){var n,r,i,o,a,s;return o=t.d,(s=Uf(kx(t,(JL(),Jj)),15).a)<0&&Ky(t,Jj,new Hn(s=0)),e.j.b=s,a=Math.floor(s/2),Fh(r=new TT,(mL(),KG)),cv(r,e),r.i.b=a,Fh(i=new TT,LG),cv(i,e),i.i.b=a,lv(t,r),M_(n=new jg,t),Ky(n,kj,null),hv(n,i),lv(n,o),function(t,e,n){var r;(r=e.c.f).g==(RT(),jF)?(Ky(t,($L(),eq),Uf(kx(r,eq),7)),Ky(t,nq,Uf(kx(r,nq),7))):(Ky(t,($L(),eq),e.c),Ky(t,nq,n.d))}(e,t,n),function(t,e){var n,r;for(r=new Kv(t.b,0);r.buD&&(this.b.ib(n),s=!1),this.b.ib(c);s&&this.b.ib(n)}function AA(t,e){var n,r,i,o,a,s,c;for(n=dP,RT(),s=GF,i=new Kn(e.a);i.a0?n:0,r.i.b=n+rf(t.a,o,s)):r.i.b=(Fd(a),a)),c=rf(t.a,o,s),r.i.bo?0:o)o?0:o:s,(0>(co?0:o)o?0:o:s)),o=c,c+=a,r=Uf(gd(t.c,i),9),(n=new Eu(u)).j.b=e.j.b,dN(t.b,e,n),Lf(r.c,n);Gy(t.g.c,e),Lf(t.i,new Ls(t,e))}function GA(t,e,n){var r,i,o,a,s,c;for(e.k=1,i=e.d,c=yE(e,(nw(),Rq)).mb();c.G();)for(r=new Kn(Uf(c.H(),7).e);r.ah+s&&r.I();for(a=new Kn(f);a.aFP||r-iFP)&&(a=Uf(e.e,116).b,i=Uf(e.e,116).a,o=Uf(e.d,60),0==a&&0==i)))return o;return o}function qA(){var t,e,n,r,i;for(this.e=(_l(),new ry),this.b=new Zf(n=Uf(ia(TU),11),Uf(Sp(n,n.length),11),0),this.c=new Zf(r=Uf(ia(TU),11),Uf(Sp(r,r.length),11),0),this.a=new Zf(i=Uf(ia(TU),11),Uf(Sp(i,i.length),11),0),e=(CL(),CL(),Yz).mb();e.G();)t=Uf(e.H(),60),Ik(this.e,t,new So)}function XA(t,e,n){var r,i,o,a;Na(t.k-t.a)a?new Fm(e,t,o-a):o>0&&a>0&&(new Fm(t,e,0),new Fm(e,t,0)))}function WA(t,e){var n,r,i,o,a,s,c,u;for(c=new Re,u=null,r=Uf(Ng(uY,t),20).mb();r.G();){for(s=new Vn(new Un((n=Uf(r.H(),75)).c.a).a.bb().mb());s.a.G();)i=Uf(s.a.H(),21),ef(e,o=Uf(i.yb(),7)),ON(o,t.b);ox(c,n.b),u=t.a}for(jC(c),Om(c,u),a=new Kn(c);a.an.k&&s1&&(o=n?Ic(e.d)+1:Ic(a.d)-1,uv(a,Uf(gd(t.a.c,o),16))),JA(t,a,n));return e}function tS(t,e){var n,r,i,o;for(i=e.d?t.a.c==(dv(),mz)?q_(e.b):X_(e.b):t.a.c==(dv(),yz)?q_(e.b):X_(e.b),o=!1,Xu(),r=new Pu(ju(Xf(i.a,new p)));tE(r);)if(n=Uf(Nv(r),12),t.c.a[n.c.f.d.k]!==t.c.a[n.d.f.d.k]&&(o=!0,ka(t.b,t.a.f[Zk(n,e.b).k])))return e.c=!0,e.a=n,e;return e.c=o,e.a=null,e}function eS(t){var e,n,r,i,o,a,s;for(o=new Kn(t.a.a);o.a0&&Ax(this.n,!0,(E_(),SR)),t.g==(RT(),DF)&&Sf(this.n,!1,!1,!1,!1)}function iS(t,e,n){var r,i,o,a,s,c,u,l;for(o=new ts(e,n),u=new Kn(t.b);u.ar?h:r)>t.j.a&&(u=(s-t.j.a)/2,a.b=Fo(a.b,u),a.c=Fo(a.c,u))}function gS(t,e,n,r){var i,o,a,s,c,u,l,h;for(a=Rl(e.d,n,r),l=new Kn(e.b);l.a=40)&&function(t){var e,n,r,i,o,a,s;for(t.o=new oi,r=new lo,a=new Kn(t.e.a);a.a0,s=fE(e,o),Du(n?s.c:s.g,e),1==eE(s).c.length&&Mb(r,s,r.c.b,r.c),i=new es(o,e),uu(t.o,i),Gy(t.e.a,o))}(t),function(t){var e,n,r,i,o,a,s,c,u,l;for(u=t.e.a.c.length,o=new Kn(t.e.a);o.a0){for(Wo(t.c);wN(t,Uf(Jv(new Kn(t.e.a)),61))0?(c=t.g)?(a=c.d,t.g=ES(c,e,n,r,i),0==i[0]&&++t.a,t.j=w_(t.j,r),t.g.d==a?t:$T(t)):(i[0]=0,_w(t,n,r)):(i[0]=t.c,Uc(n_(w_(t.c,r),yI)<=0),t.c+=r,t.j=w_(t.j,r),t)}function kS(t,e,n){var r,i,o,a,s,c,u,l;for(i=!0,a=new Kn(e.c);a.au&&r>u)){i=!1,t.a&&Pf();break}u=oo(n.n[s.k])+oo(n.d[s.k])+s.j.b+s.e.a}if(!i)break}return t.a&&Pf(),i}function TS(t){var e,n,r,i,o,a;if(pl(new Kn(r=Jk(t)))){for(a=new _g(0,0,t.e.j.a,t.e.j.b),n=new Kn(r);n.aa.i.b-a.e.d+u.a+h&&(f=c.i+u.i,u.a=(u.i*u.a+c.i*c.a)/f,u.i=f,c.g=u,n=!0)),o=a,c=u;return n}function LS(t){var e,n,r,i,o;if(Zc(kx(t,(JL(),Hj)))===Zc((bT(),wG))||Zc(kx(t,Hj))===Zc(mG))for(o=new Kn(t.f);o.aa)return mL(),LG;break;case 4:case 3:if(l<0)return mL(),IG;if(l+n>o)return mL(),$G}return(c=(u+s/2)/a)+(r=(l+n/2)/o)<=1&&c-r<=0?(mL(),KG):c+r>=1&&c-r>=0?(mL(),LG):r<.5?(mL(),IG):(mL(),$G)}function MS(t,e,n,r,i,o,a){var s,c,u,l,h;for(h=new ac,c=e.mb();c.G();)for(l=new Kn(xk(Uf(c.H(),627)));l.a0&&Of(t.e,o)):(t.c[a]-=u+1,t.c[a]<=0&&t.a[a]>0&&Of(t.d,o))))}function DS(t){var e,n,r,i,o,a,s,c;for(jx(),this.b=new Kt,this.c=new Re,this.a=new Re,s=0,c=(a=Rx()).length;s0){for(i=s.length;i>0&&""==s[i-1];)--i;i0&&0==i[0]&&++t.a,t.j=w_(t.j,r-i[0]),$T(t)):(i[0]=0,r>0?Ew(t,n,r):t):o>0?(s=t.g)?(t.g=HS(s,e,n,r,i),0==r&&0!=i[0]?--t.a:r>0&&0==i[0]&&++t.a,t.j=w_(t.j,r-i[0]),$T(t)):(i[0]=0,r>0?_w(t,n,r):t):(i[0]=t.c,0==r?VN(t):(t.j=w_(t.j,r-t.c),t.c=r,t))}function YS(t,e,n,r,i){var o,a,s;return(o=e.$b(n,t.b))<0?(a=t.e)?(t.e=YS(a,e,n,r,i),i[0]>0&&(r>=i[0]?(--t.a,t.j=__(t.j,i[0])):t.j=__(t.j,r)),0==i[0]?t:$T(t)):(i[0]=0,t):o>0?(s=t.g)?(t.g=YS(s,e,n,r,i),i[0]>0&&(r>=i[0]?(--t.a,t.j=__(t.j,i[0])):t.j=__(t.j,r)),$T(t)):(i[0]=0,t):(i[0]=t.c,r>=t.c?VN(t):(t.c-=r,t.j=__(t.j,r),t))}function zS(t,e,n){var r,i,o,a,s,c,u,l;for(c=new Kn(n.b);c.a0&&u>0&&qO(b,new ts(T,u),!0))),g=Fo(g,b.i.a+b.j.a),v=Fo(v,b.i.b+b.j.b),d=new Kn(b.c);d.ae.a&&(r.kb((PT(),CU))?t.d.a+=(n.a-e.a)/2:r.kb(AU)&&(t.d.a+=n.a-e.a)),n.b>e.b&&(r.kb((PT(),OU))?t.d.b+=(n.b-e.b)/2:r.kb(SU)&&(t.d.b+=n.b-e.b)),Uf(kx(t,($L(),WV)),18).kb((KA(),nV))&&(n.a>e.a||n.b>e.b))for(s=new Kn(t.b);s.a0||0==n&&e.f==(qu(),BD))&&(s=e.g,c=e.f):(i=e.c,s=e.g,c=e.f),r&&i&&((n=t.a.$b(o,s))>0||0==n&&a==(qu(),BD)&&c==(qu(),BD))&&(o=s,qu(),a=BD,c=GD),new cN(t.a,r,o,a,i,s,c)}function ZS(t,e,n,r){var i,o,a,s,c,u;if(n.c.f!=e.f)for(fr(i=new Tk(t),(RT(),jF)),Ky(i,($L(),oq),n),Ky(i,(JL(),Hj),(bT(),mG)),r.c[r.c.length]=i,cv(a=new TT,i),Fh(a,(mL(),KG)),cv(s=new TT,i),Fh(s,LG),lv(n,a),M_(o=new jg,n),Ky(o,kj,null),hv(o,s),lv(o,e),bN(i,a,s),u=new Kv(n.b,0);u.b=r&&u.a>=r&&(l.a=r),f.a<=n&&u.a<=n&&(d.a=n-10),1==e.c.a.Y()?nm(a.a,Nx(Mo(gR,1),KM,10,0,[l,h,p,d])):nm(a.a,Nx(Mo(gR,1),KM,10,0,[l,h,i,p,d]))}function QS(t,e){var n,r,i,o,a,s;for(o=t.c,a=t.d,hv(t,null),lv(t,null),e&&io(oo(Sh(kx(a,($L(),$V)))))?hv(t,WS(a.f,(nw(),Rq),(mL(),LG))):hv(t,a),e&&io(oo(Sh(kx(o,($L(),uq)))))?lv(t,WS(o.f,(nw(),Dq),(mL(),KG))):lv(t,o),r=new Kn(t.b);r.aoo(ul(a.g,a.d[0]).a)?(Lu(c.b>0),c.a.sb(c.c=--c.b),ef(c,a),i=!0):s.e&&s.e.Y()>0&&(o=(!s.e&&(s.e=new Re),s.e).nb(e),u=(!s.e&&(s.e=new Re),s.e).nb(n),(o||u)&&((!s.e&&(s.e=new Re),s.e).ib(a),++a.c));i||(r.c[r.c.length]=a)}function nO(t,e,n,r){var i,o,a,s,c,u,l,h,f,d,p;n.d.f!=e.f&&(fr(i=new Tk(t),(RT(),jF)),Ky(i,($L(),oq),n),Ky(i,(JL(),Hj),(bT(),mG)),r.c[r.c.length]=i,cv(a=new TT,i),Fh(a,(mL(),KG)),cv(s=new TT,i),Fh(s,LG),c=n.d,lv(n,a),M_(o=new jg,n),Ky(o,kj,null),hv(o,s),lv(o,c),h=(l=(u=Uf(gd(a.b,0),12).c).f).g,p=(d=(f=Uf(gd(s.e,0),12).d).f).g,Ky(i,eq,h==jF?Uf(kx(l,eq),7):u),Ky(i,nq,p==jF?Uf(kx(d,nq),7):f))}function rO(t,e){var n,r,i,o,a,s,c,u,l,h,f,d,p;for(a=e,h=e.d,u=e.c.f,f=e.d.f,l=Ic(u.d),d=Ic(f.d),s=l;se&&(t.a=e),t.b<0?t.b=0:t.b>n&&(t.b=n)}(u,t.j.a,t.j.b),Fh(s,IS(s,o)),a=Uf(kx(r,($L(),WV)),18),c=s.g,o.e){case 2:case 1:(c==(mL(),IG)||c==$G)&&a.ib((KA(),aV));break;case 4:case 3:(c==(mL(),LG)||c==KG)&&a.ib((KA(),aV))}else i=hE(o),s=WS(t,n,n==(nw(),Rq)?i:v_(i));return s}function uO(t){var e,n,r,i,o,a,s,c;for(r=ch(Wb(t.a)),i=new Zf(e=Uf(ia(TU),11),Uf(Sp(e,e.length),11),0);r.a.G()||r.b.mb().G();)s=(n=Uf(Nm(r),12)).c.g,c=n.d.g,s==(mL(),ZG)?c!=ZG&&(a=NE(c),Ky(n,($L(),Eq),a),Fh(n.c,c),mw(i,a),r.a.I()):c==ZG?(a=NE(s),Ky(n,($L(),Eq),a),Fh(n.d,s),mw(i,a),r.a.I()):(a=iO(s,c),Ky(n,($L(),Eq),a),mw(i,a),r.a.I());return 1==i.c?o=Uf(Qb(new qs(i)),60):(CL(),o=pU),dC(t,o,!1),o}function lO(t,e,n){var r,i,o,a,s,c,u,l,h;for(c=n+e.d.c.a,h=new Kn(e.f);h.a1,s=Ip(vu((og(),new sb(B_(Nx(Mo(TD,1),GI,1,4,[l.b,l.e]))))));tE(s);)u=(a=Uf(Nv(s),12)).c==l?a.d:a.c,Na(Vw(Nx(Mo(gR,1),KM,10,0,[u.f.i,u.i,u.a])).b-o.b)>1&&BN(t,a,o,i,l)}}function hO(t,e){var n,r,i,o,a;for(a=new Xx(new Yn(t.f.b).a);a.b;){if(i=Uf((o=Um(a)).yb(),251),1==e){if(i.yc()!=(E_(),LR)&&i.yc()!=NR)continue}else if(i.yc()!=(E_(),AR)&&i.yc()!=SR)continue;switch(r=Uf(Uf(o.zb(),27).b,25),n=Uf(Uf(o.zb(),27).a,78).c,i.yc().e){case 2:r.j.d=t.e.a,r.j.c=Fo(1,r.j.c+n);break;case 1:r.j.d=r.j.d+n,r.j.c=Fo(1,r.j.c-n);break;case 4:r.j.e=t.e.b,r.j.b=Fo(1,r.j.b+n);break;case 3:r.j.e=r.j.e+n,r.j.b=Fo(1,r.j.b-n)}}}function fO(t,e,n,r,i){var o,a,s,c,u,l,h,f;for(_l(),h=new kr,a=new Re,qC(t,n,t.d.Mc(),a,h),qC(t,r,t.d.Nc(),a,h),s=new Kv(a,0);s.b=l&&(y>l&&(u.c=Ty(TD,GI,1,0,4,1),l=y),u.c[u.c.length]=p);0!=u.c.length&&(c=Uf(gd(u,$k(e,u.c.length)),80),vg(N.a,c),c.d=h++,oA(c,T,_),u.c=Ty(TD,GI,1,0,4,1))}for(w=t.c.length+1,g=new Kn(t);g.aC.d&&(ug(n),Gy(C.b,r),r.c>0&&(r.a=C,Lf(C.e,r),r.b=E,Lf(E.b,r)))}(a,Uf(kx(e,($L(),bq)),154)),function(t){var e,n,r,i,o,a,s,c,u;for(c=new Re,a=new Re,o=new Kn(t);o.a-1){for(i=new Kn(a);i.a0||(s.i=Vo(s.i,r.i-1),--s.f,0==s.f&&(a.c[a.c.length]=s))}}(a),f=-1,l=new Kn(a);l.ah||r+i>c)throw new Xr;if(0!=(1&u.g)&&0==(4&u.g)||l==s)i>0&&vT(t,e,n,r,i,!0);else if(t===n&&er;)n[a]=t[--e];else for(a=r+i;r0&&0==o[0]&&++t.a,t.j=w_(t.j,i-o[0])),$T(t)):(o[0]=0,0==r&&i>0?Ew(t,n,i):t);if(a>0)return(c=t.g)?(t.g=gO(c,e,n,r,i,o),o[0]==r&&(0==i&&0!=o[0]?--t.a:i>0&&0==o[0]&&++t.a,t.j=w_(t.j,i-o[0])),$T(t)):(o[0]=0,0==r&&i>0?_w(t,n,i):t);if(o[0]=t.c,r==t.c){if(0==i)return VN(t);t.j=w_(t.j,i-t.c),t.c=i}return t}function vO(t){var e,n,r,i,o,a,s,c,u,l,h,f,d,p,g,v;for(c=t.e,d=t.f,a=t.d,l=(p=t.c)-1,g=t.g,h=Yf(t.g.xb(1,t.g.Y()-1)),u=new Re,n=0;n0&&(c=t.i.a/o);break;case 2:case 4:(i=t.f.j.b)>0&&(c=t.i.b/i)}Ky(t,($L(),dq),c)}if(s=t.j,r)t.a.a=r.a,t.a.b=r.b;else if(e!=_G&&e!=EG&&a!=ZG)switch(a.e){case 1:t.a.a=s.a/2;break;case 2:t.a.a=s.a,t.a.b=s.b/2;break;case 3:t.a.a=s.a/2,t.a.b=s.b;break;case 4:t.a.b=s.b/2}else t.a.a=s.a/2,t.a.b=s.b/2}(c,u,i,Uf(kx(c,Fj),10)),i.e){case 2:case 1:(c.g==(mL(),IG)||c.g==$G)&&o.ib((KA(),aV));break;case 4:case 3:(c.g==(mL(),LG)||c.g==KG)&&o.ib((KA(),aV))}}function wO(t){var e,n,r,i,o;for(r=new Re,o=new Kn(t.c.f);o.a=(g=t.d.c.c.c.length)-1)return null;for((i=new Re).c[i.c.length]=e,b=e,a=n,d=-1,s=Uf(gd(t.d.c.c,n),16),f=0;f1&&a1&&a>1;)u=jS(t,y),s=Uf(gd(t.d.c.c,a),16),l=Uf(gd(t.d.c.c,a-1),16),oT(y,g=Vo(Uf(p.sb(h++),24).a,l.a.c.length),l),oT(u,b,s),b=g,y&&(i.c[i.c.length]=y),y=u,--m,++o,--a;for(v=(r-(i.c.length-1)*t.d.d)/i.c.length,c=new Kn(i);c.a=0)return!1;if(n.e&&r==(RT(),PF)&&r!=n.e)return!1;if(e.k=n.b,Lf(n.f,e),n.e=r,r==(RT(),jF)||r==BF||r==PF)for(i=new Kn(e.f);i.a0&&(Ax(t.n,!1,(E_(),AR)),Ax(t.n,!0,SR))}function EO(t,e,n){var r,i,o,a;switch(o=t.i,i=Vw(Nx(Mo(gR,1),KM,10,0,[e.i,e.f.i])),r=Vw(Nx(Mo(gR,1),KM,10,0,[e.f.i,e.i,e.a])),a=e.d,e.g.e){case 4:o.a=zo(i.a,r.a)-a.b-t.j.a-n,o.b=Vw(Nx(Mo(gR,1),KM,10,0,[e.f.i,e.i,e.a])).b+n;break;case 2:o.a=Fo(i.a+e.j.a,r.a)+a.c+n,o.b=Vw(Nx(Mo(gR,1),KM,10,0,[e.f.i,e.i,e.a])).b+n;break;case 1:o.a=Vw(Nx(Mo(gR,1),KM,10,0,[e.f.i,e.i,e.a])).a+n,o.b=zo(i.b,r.b)-a.d-t.j.b-n;break;case 3:o.a=Vw(Nx(Mo(gR,1),KM,10,0,[e.f.i,e.i,e.a])).a+n,o.b=Fo(i.b+e.j.b,r.b)+a.a+n}}function kO(t,e,n){var r,i,o,a;switch(o=t.i,i=Vw(Nx(Mo(gR,1),KM,10,0,[e.i,e.f.i])),r=Vw(Nx(Mo(gR,1),KM,10,0,[e.f.i,e.i,e.a])),a=e.d,e.g.e){case 4:o.a=zo(i.a,r.a)-a.b-t.j.a-n,o.b=Vw(Nx(Mo(gR,1),KM,10,0,[e.f.i,e.i,e.a])).b-t.j.b-n;break;case 2:o.a=Fo(i.a+e.j.a,r.a)+a.c+n,o.b=Vw(Nx(Mo(gR,1),KM,10,0,[e.f.i,e.i,e.a])).b-t.j.b-n;break;case 1:o.a=Vw(Nx(Mo(gR,1),KM,10,0,[e.f.i,e.i,e.a])).a+n,o.b=zo(i.b,r.b)-a.d-t.j.b-n;break;case 3:o.a=Vw(Nx(Mo(gR,1),KM,10,0,[e.f.i,e.i,e.a])).a+n,o.b=Fo(i.b+e.j.b,r.b)+a.a+n}}function TO(){TO=a,hV=new kb("ONE_SIDED",0,!0,!1,!1),gV=new kb("TWO_SIDED",1,!1,!1,!1),fV=new kb("ONE_SIDED_BEST_OF_UP_OR_DOWN",2,!0,!0,!1),vV=new kb("TWO_SIDED_BEST_OF_UP_OR_DOWN",3,!1,!0,!1),dV=new kb("ONE_SIDED_BEST_OF_UP_OR_DOWN_ORTHOGONAL_HYPEREDGES",4,!0,!0,!0),bV=new kb("TWO_SIDED_BEST_OF_UP_OR_DOWN_ORTHOGONAL_HYPEREDGES",5,!1,!0,!0),pV=new kb("ONE_SIDED_ORTHOGONAL_HYPEREDGES",6,!0,!1,!0),lV=new kb("OFF",7,!1,!1,!1)}function CO(t,e,n,r,i,o,a){var s,c,u,l,h,f,d;return h=io(oo(Sh(kx(e,(ZL(),rX))))),f=null,o==(nw(),Dq)&&r.c.f==n?f=r.c:o==Rq&&r.d.f==n&&(f=r.d),u=a,a&&h&&!f?(Lf(a.e,r),d=Ho(Uf(kx(a.d,(JL(),Jj)),15).a,Uf(kx(r,Jj),15).a),Ky(a.d,Jj,new Hn(d))):(mL(),l=ZG,f?l=f.g:Vs(Uf(kx(n,(JL(),Hj)),28))&&(l=o==Dq?KG:LG),c=function(t,e,n,r,i,o){var a,s,c,u,l,h,f;return u=r==(nw(),Dq)?o.c:o.d,c=J_(e),u.f==n?(a=Uf(Jp(t.b,u),9))||(Ky(a=bL(u,Uf(kx(n,(JL(),Hj)),28),i,r==Dq?-1:1,u.j,c,e),($L(),oq),u),wg(t.b,u,a)):(l=Uf(kx(o,(JL(),Jj)),15).a,s=function(t,e,n,r){var i,o;switch(i=J_(Kp(n)),cv(o=new TT,n),r.e){case 1:Fh(o,v_(hE(i)));break;case 2:Fh(o,hE(i))}return Ky(o,($L(),iq),Uf(kx(e,iq),15)),Ky(e,oq,o),wg(t.b,o,e),o}(t,a=bL((h=new y,f=Uf(kx(e,($L(),wq)),15).a*Uf(kx(e,(ZL(),$q)),15).a/2,Ky(h,iq,new Hn(f)),h),Uf(kx(n,Hj),28),i,r==Dq?-1:1,new ts(l,l),c,e),n,r),Ky(a,oq,s),wg(t.b,s,a)),Uf(kx(e,($L(),WV)),18).ib((KA(),nV)),Vs(Uf(kx(e,(JL(),Hj)),28))?Ky(e,Hj,(bT(),xG)):Ky(e,Hj,(bT(),_G)),a}(t,e,n,o,l,r),s=gb((Kp(n),r)),o==Dq?(hv(s,Uf(gd(c.f,0),7)),lv(s,i)):(hv(s,i),lv(s,Uf(gd(c.f,0),7))),u=new S_(r,s,c,Uf(kx(c,($L(),oq)),7),o,!f)),dN(t.a,r,new vf(u.d,e,o)),u}function NO(t,e,n,r){var i,o,a,s,c,u,l;if(fr(o=new Tk(t),(RT(),BF)),Ky(o,(JL(),Hj),(bT(),mG)),i=0,e){for(Ky(a=new TT,($L(),oq),e),Ky(o,oq,e.f),Fh(a,(mL(),KG)),cv(a,o),c=0,u=(l=Uf(Yk(e.b,Ty(IF,CP,12,e.b.c.length,0,1)),47)).length;cf?l:f;for(uk(this,Vw(Nx(Mo(gR,1),KM,10,0,[t.f.i,t.i,t.a])).b,h,l),a=new Vn(new Un(e.a).a.bb().mb());a.a.G();)i=Uf(a.a.H(),21),o=Uf(i.yb(),27),Np(this.c,Uf(o.b,12));this.f=!1}function PO(t,e,n,r){var i,o,a,s,c;if(!((s=(JL(),Ij).b)in e.a)||!Sg(e,s).ic().a){if(!(c=Sg(e,$M)))throw new xp("Labels must have a property 'text'.",null,e);if(!c.lc())throw new xp("A label's 'text' property must be a string.",c,e);if(Ky(o=new Eu(c.lc().a),($L(),oq),e),wg(t.f,o,e),ZC(e,o),ET(e,o),dl(n,9)?Lf(Uf(n,9).c,o):dl(n,12)?Lf(Uf(n,12).b,o):dl(n,7)&&Lf(Uf(n,7).c,o),dl(n,12))switch(a=Uf(kx(o,gj),107),ZC(e,o),Ky(o,gj,a),i=Uf(kx(r,WV),18),a.e){case 2:case 3:i.ib((KA(),eV));case 1:case 0:i.ib((KA(),JU)),Ky(o,gj,(Gw(),PR))}}}function DO(t,e){var n,r,i,o,a,s,c,u,l,h,f,d,p,g,v;for(i=0,o=0,c=new Kn(t.a);c.a.5?v-=2*o*(d-.5):d<.5&&(v+=2*i*(.5-d)),v<(r=a.e.b)&&(v=r),p=a.e.c,v>g.a-p-u&&(v=g.a-p-u),a.i.a=e+v}}function RO(){RO=a,nF=new Ji,eF=bS(Nx(Mo(TR,1),GI,79,0,[(JL(),aj),mj])),QB=bS(Nx(Mo(TR,1),GI,79,0,[Pj,Yj,(ZL(),fX),wj,($L(),gq),gX,sX])),WB=bS(Nx(Mo(TR,1),GI,79,0,[cj,fj,Ij,yj,Ej,Cj,Nj,Wj,$j,_j,Bq,Vq,qq,nX,Zq,rX,dX,cX,Hq])),KB=bS(Nx(Mo(TR,1),GI,79,0,[Oj,Sj,Tj,Jj,Mj,pq,PV,AV,wq,uX,$q,eX])),ZB=bS(Nx(Mo(TR,1),GI,79,0,[Uj,sj,pj,vj,gj,bj,xj,Dj,Rj,jj,Gj,Bj,Hj,zj,Fq,Uq,iX,Xq,zq,oX,aX,Kq,Qq,tX,lX,hX,pX,vX,Jq])),$B=bS(Nx(Mo(TR,1),GI,79,0,[Lj,Zj,Kj,Yq])),tF=bS(Nx(Mo(TR,1),GI,79,0,[oj,lj,kj,Aj,Fj,qj])),JB=bS(Nx(Mo(TR,1),GI,79,0,[(Mx(),VB)]))}function jO(t){var e,n,r,i,o,a,s;for(e=0,o=new Kn(t.b.a);o.a0;){for(_y(0,s.c.length),d=Uf(s.c[0],12),_y(0,h.c.length),i=Qy((r=Uf(h.c[0],12)).d.b,r,0),Xv(d,r.d,i),hv(r,null),lv(r,null),f=d.a,e&&Of(f,new $c(v)),n=Sk(r.a,0);n.b!=n.d.c;)Of(f,new $c(Uf(Sb(n),10)));for(g=d.b,l=new Kn(r.b);l.a0?Lm(this,this.f/this.a):null!=ul(e.g,e.d[0]).a&&null!=ul(n.g,n.d[0]).a?Lm(this,(oo(ul(e.g,e.d[0]).a)+oo(ul(n.g,n.d[0]).a))/2):null!=ul(e.g,e.d[0]).a?Lm(this,ul(e.g,e.d[0]).a):null!=ul(n.g,n.d[0]).a&&Lm(this,ul(n.g,n.d[0]).a)}function HO(t,e){var n,r,i,o,a,s,c,u,l,h,f;switch(t.g.e){case 1:if(r=Uf(kx(t,($L(),oq)),12),(n=Uf(kx(r,aq),44))?io(oo(Sh(kx(r,mq))))&&(n=Tx(n)):n=new Fr,u=Uf(kx(t,eq),7),e<=(l=Vw(Nx(Mo(gR,1),KM,10,0,[u.f.i,u.i,u.a]))).a)return l.b;if(Mb(n,l,n.a,n.a.a),h=Uf(kx(t,nq),7),(f=Vw(Nx(Mo(gR,1),KM,10,0,[h.f.i,h.i,h.a]))).a<=e)return f.b;for(Mb(n,f,n.c.b,n.c),a=Uf(Sb(c=Sk(n,0)),10),s=Uf(Sb(c),10);s.a=2)for(Mg(t.a),r=0,f=Sk(n,0);f.b!=f.d.c;)h=Uf(Sb(f),10),0==r?(e=Mh(Mh(new ts(h.a,h.b),t.c.i),t.c.f.i),t.c.a.a=e.a,t.c.a.b=e.b):r==n.b-1?(e=Mh(Mh(new ts(h.a,h.b),t.d.i),t.d.f.i),t.d.a.a=e.a,t.d.a.b=e.b):Of(t.a,h),++r;if(l)for(c=Sk(t.a,0);c.b!=c.d.c;)s=Uf(Sb(c),10),a.a=Fo(a.a,s.a),a.b=Fo(a.b,s.b);for(o=new Kn(t.b);o.a0&&Ky(a,jV,(Vd(),Vd(),AX)),(s=Uf(kx(a,(JL(),Hj)),28))==(bT(),EG)||s!=_G&&r.ib((KA(),oV)),io(oo(Sh(kx(a,fj))))&&r.ib((KA(),tV)),io(oo(Sh(kx(a,_j))))&&(r.ib((KA(),iV)),r.ib(rV),Ky(a,Hj,_G)),a}function UO(t,e){e.V()&&Sf(t.n,!0,!0,!0,!0),e.t((mL(),GG))&&Sf(t.n,!0,!0,!0,!1),e.t(MG)&&Sf(t.n,!1,!0,!0,!0),e.t(qG)&&Sf(t.n,!0,!0,!1,!0),e.t(WG)&&Sf(t.n,!0,!1,!0,!0),e.t(BG)&&Sf(t.n,!1,!0,!0,!1),e.t(PG)&&Sf(t.n,!1,!0,!1,!0),e.t(XG)&&Sf(t.n,!0,!1,!1,!0),e.t(VG)&&Sf(t.n,!0,!1,!0,!1),e.t(zG)&&Sf(t.n,!0,!0,!0,!0),e.t(RG)&&Sf(t.n,!0,!0,!0,!0),e.t(zG)&&Sf(t.n,!0,!0,!0,!0),e.t(DG)&&Sf(t.n,!0,!0,!0,!0),e.t(UG)&&Sf(t.n,!0,!0,!0,!0),e.t(YG)&&Sf(t.n,!0,!0,!0,!0),e.t(HG)&&Sf(t.n,!0,!0,!0,!0)}function VO(t,e){var n,r,i,o,a,s,c,u,l;for(s=!0,i=0,c=t.f[e.k],u=e.j.b+t.n,n=t.c[e.k][2],Kb(t.a,c,W_(Uf(gd(t.a,c),24).a-1+n)),Kb(t.b,c,oo(Oh(gd(t.b,c)))-u+n*t.e),++c>=t.i?(++t.i,Lf(t.a,W_(1)),Lf(t.b,u)):(r=t.c[e.k][1],Kb(t.a,c,W_(Uf(gd(t.a,c),24).a+1-r)),Kb(t.b,c,oo(Oh(gd(t.b,c)))+u-r*t.e)),(t.q==(nA(),tY)&&(Uf(gd(t.a,c),24).a>t.j||Uf(gd(t.a,c-1),24).a>t.j)||t.q==rY&&(oo(Oh(gd(t.b,c)))>t.k||oo(Oh(gd(t.b,c-1)))>t.k))&&(s=!1),o=Ip(q_(e));tE(o);)a=Uf(Nv(o),12).c.f,t.f[a.k]==c&&(i+=Uf((l=VO(t,a)).a,24).a,s=s&&io(oo(Sh(l.b))));return t.f[e.k]=c,new es(W_(i+=t.c[e.k][0]),(Vd(),s?AX:NX))}function qO(t,e,n){var r,i,o,a,s,c,u,l,h,f,d,p,g,v,b;if(f=new $c(t.j),b=e.a/f.a,s=e.b/f.b,g=e.a-f.a,o=e.b-f.b,n)for(i=Zc(kx(t,(JL(),Hj)))===Zc((bT(),mG)),p=new Kn(t.f);p.a=1&&(v-a>0&&h>=0?(c.i.a+=g,c.i.b+=o*a):v-a<0&&l>=0&&(c.i.a+=g*v,c.i.b+=o));t.j.a=e.a,t.j.b=e.b,Ky(t,(JL(),Zj),(LE(),new Zf(r=Uf(ia(lB),11),Uf(Sp(r,r.length),11),0)))}function XO(t){var e,n,r,i,o,a,s,c,u,l;for(r=new Re,a=new Kn(t.e.a);a.a-1){for(r=Sk(a,0);r.b!=r.d.c;)(n=Uf(Sb(r),77)).n=o;for(;0!=a.b;)for(e=new Kn((n=Uf(rT(a,0),77)).d);e.a0),o.a.sb(o.c=--o.b),ef(o,n),Cp(c,n),ON(n,s.g),tb(c),tb(c),r.a.eb(n)}}function JO(t){var e,n,r,i,o,a,s,c;for(e=null,r=new Kn(t);r.a0&&0==n.c&&(!e&&(e=new Re),e.c[e.c.length]=n);if(e)for(;0!=e.c.length;){if((n=Uf(yy(e,0),102)).b&&n.b.c.length>0)for(!n.b&&(n.b=new Re),o=new Kn(n.b);o.aQy(t,n,0))return new es(i,n)}else if(oo(ul(i.g,i.d[0]).a)>oo(ul(n.g,n.d[0]).a))return new es(i,n);for(s=(!n.e&&(n.e=new Re),n.e).mb();s.G();)!(a=Uf(s.H(),102)).b&&(a.b=new Re),xy(0,(c=a.b).c.length),Ac(c.c,0,n),a.c==c.c.length&&(e.c[e.c.length]=a)}return null}function tL(t,e){var n,r,i,o,a,s,c,u,l;if(1!=tg(X_(e))||Uf(Uv(X_(e)),12).d.f.g!=(RT(),jF))return null;for(fr(n=(o=Uf(Uv(X_(e)),12)).d.f,(RT(),PF)),Ky(n,($L(),eq),null),Ky(n,nq,null),Ky(n,(JL(),Hj),Uf(kx(e,Hj),28)),Ky(n,Lj,Uf(kx(e,Lj),86)),i=kx(o.c,oq),a=null,u=mC(n,(mL(),LG)).mb();u.G();)if(0!=(s=Uf(u.H(),7)).e.c.length){Ky(s,oq,i),l=o.c,s.j.a=l.j.a,s.j.b=l.j.b,s.a.a=l.a.a,s.a.b=l.a.b,ox(s.c,l.c),l.c.c=Ty(TD,GI,1,0,4,1),a=s;break}if(Ky(o.c,oq,null),!ab(mC(e,LG)))for(c=new Kn(Wb(mC(e,LG)));c.a0?i+t.i[1]*e+t.n[1]:0,t.o[3]>0?i+t.i[3]*e+t.n[3]:0),Fo(t.o[4]>0?n+t.i[4]*e+t.n[4]:0,t.o[2]>0?n+t.i[2]*e+t.n[2]:0))}(t,t.k);break;case 4:r=new $c(a);break;case 5:r=function(t,e){var n,r,i,o,a;for(a=new uo,o=new Kn(fT(t));o.a0&&(o.a=Fo(o.a,i+t.q.b+t.q.c)),n>0&&(o.b=Fo(o.b,n+t.q.d+t.q.a))):(i>0&&(o.a=Fo(o.a,i)),n>0&&(o.b=Fo(o.b,n)))),function(t,e){t.e.j.a=e.a,t.e.j.b=e.b}(t.e,o)}}function nL(t,e,n){var r,i,o,a,s,c,u,l,h,f,d;if(!t.b)return!1;for(a=null,f=null,i=1,(c=new Vy(null,null)).a[1]=t.b,h=c;h.a[i];)u=i,s=f,f=h,h=h.a[i],i=(r=t.a.$b(e,h.d))<0?0:1,0==r&&(!n.c||Ag(h.e,n.d))&&(a=h),h&&h.b||qo(h.a[i])||(qo(h.a[1-i])?f=f.a[u]=ww(h,i):qo(h.a[1-i])||(d=f.a[1-u])&&(qo(d.a[1-u])||qo(d.a[u])?(o=s.a[1]==f?1:0,qo(d.a[u])?s.a[o]=eb(f,u):qo(d.a[1-u])&&(s.a[o]=ww(f,u)),h.b=s.a[o].b=!0,s.a[o].a[0].b=!1,s.a[o].a[1].b=!1):(f.b=!1,d.b=!0,h.b=!0)));return a&&(n.b=!0,n.d=a.e,h!=a&&(function(t,e,n,r){var i,o;for(i=null==(o=e).d||t.a.$b(n.d,o.d)>0?1:0;o.a[i]!=n;)o=o.a[i],i=t.a.$b(n.d,o.d)>0?1:0;o.a[i]=r,r.b=n.b,r.a[0]=n.a[0],r.a[1]=n.a[1],n.a[0]=null,n.a[1]=null}(t,c,a,l=new Vy(h.d,h.e)),f==a&&(f=l)),f.a[f.a[1]==h?1:0]=h.a[h.a[0]?0:1],--t.c),t.b=c.a[1],t.b&&(t.b.b=!1),n.b}function rL(t){var e,n,r,i,o,a,s,c,u,l,h,f,d,p;for(f=new Kn(t);f.a(b=r?Uf(kx(l,sz),24).a:kI)?c:b,m=new Kn(l.f);m.a=u&&x>=v&&(f+=p.i.b+g.i.b+g.a.b-w,++s));if(n)for(a=new Kn(y.b);a.a=u&&x>=v&&(f+=p.i.b+g.i.b+g.a.b-w,++s))}s>0&&(_+=f/s,++d)}d>0?(e.a=i*_/d,e.i=d):(e.a=0,e.i=0)}function sL(t,e){var n;if(t.e)throw new ko((Bh(vF),"The "+vF.j+vP));if(!function(t,e){return Xl(t.c,e)}(t.a,e))throw new Ai("The direction "+e+" is not supported by the CGraph instance.");if(e==t.d)return t;switch(n=t.d,t.d=e,n.e){case 0:switch(e.e){case 2:yx(t);break;case 1:nk(t),yx(t);break;case 4:HT(t),yx(t);break;case 3:HT(t),nk(t),yx(t)}break;case 2:switch(e.e){case 1:nk(t),uS(t);break;case 4:HT(t),yx(t);break;case 3:HT(t),nk(t),yx(t)}break;case 1:switch(e.e){case 2:nk(t),uS(t);break;case 4:nk(t),HT(t),yx(t);break;case 3:nk(t),HT(t),nk(t),yx(t)}break;case 4:switch(e.e){case 2:HT(t),yx(t);break;case 1:HT(t),nk(t),yx(t);break;case 3:nk(t),uS(t)}break;case 3:switch(e.e){case 2:nk(t),HT(t),yx(t);break;case 1:nk(t),HT(t),nk(t),yx(t);break;case 4:nk(t),uS(t)}}return t}function cL(t,e,n){var r,i,o,a,s,c,u,l;if(!t.a[e.d.k][e.k].e){for(t.a[e.d.k][e.k].e=!0,t.a[e.d.k][e.k].b=0,t.a[e.d.k][e.k].d=0,t.a[e.d.k][e.k].a=null,l=new Kn(e.f);l.a0&&(t.a[e.d.k][e.k].d+=LN(t.e,24)*KP*.07000000029802322-.03500000014901161,t.a[e.d.k][e.k].a=t.a[e.d.k][e.k].d/t.a[e.d.k][e.k].b)}}function uL(t,e){var n,r,i,o,a,s,c,u,l,h;for(r=new Kn(t.a.c);r.adP||e.k==xz&&uv?u:v}for(n.e.b+=u-s.b,h=new Kn(t.a);h.a1;)e=zo(i,t.c),fr(l=new Tk(t.e.c),(RT(),PF)),Ky(l,(JL(),Hj),Uf(kx(c,Hj),28)),Ky(l,Lj,Uf(kx(c,Lj),86)),l.k=t.e.b++,Lf(t.b,l),l.j.b=c.j.b,l.j.a=e,Fh(h=new TT,(mL(),LG)),cv(h,c),h.i.a=l.j.a,h.i.b=l.j.b/2,Fh(f=new TT,KG),cv(f,l),f.i.b=l.j.b/2,f.i.a=-f.j.a,hv(d=new jg,h),lv(d,f),c=l,Lf(t.e.c.b,c),--u,i-=t.c+t.e.d;for(new yT(t.d,t.b,t.c),a=new Kn(r);a.ae.a||e.p>t.a)){for(n=0,r=0,s=new Vn(new Un(t.o.a).a.bb().mb());s.a.G();)i=Uf(s.a.H(),21),o=Uf(i.yb(),7),cE(Vw(Nx(Mo(gR,1),KM,10,0,[o.f.i,o.i,o.a])).b,e.p,e.a)&&++n;for(c=new Vn(new Un(t.g.a).a.bb().mb());c.a.G();)i=Uf(c.a.H(),21),o=Uf(i.yb(),7),cE(Vw(Nx(Mo(gR,1),KM,10,0,[o.f.i,o.i,o.a])).b,e.p,e.a)&&--n;for(u=new Vn(new Un(e.o.a).a.bb().mb());u.a.G();)i=Uf(u.a.H(),21),o=Uf(i.yb(),7),cE(Vw(Nx(Mo(gR,1),KM,10,0,[o.f.i,o.i,o.a])).b,t.p,t.a)&&++r;for(a=new Vn(new Un(e.g.a).a.bb().mb());a.a.G();)i=Uf(a.a.H(),21),o=Uf(i.yb(),7),cE(Vw(Nx(Mo(gR,1),KM,10,0,[o.f.i,o.i,o.a])).b,t.p,t.a)&&--r;n1)for(c=Sk(Yf(mC(e,KG)),0);c.b!=c.d.c;)0==(s=Uf(Sb(c),7)).b.c.length?(Fh(i=new TT,KG),i.j.a=s.j.a,i.j.b=s.j.b,cv(i,r),Ky(i,oq,kx(s,oq)),cv(s,null)):cv(a,r);return Ky(e,oq,null),Ky(e,IV,NX),fr(e,PF),Ky(r,(JL(),Hj),Uf(kx(e,Hj),28)),Ky(r,Lj,Uf(kx(e,Lj),86)),Id(t.b,0,r),r}function bL(t,e,n,r,i,o,a){var s,c,u,l,h,f;switch(h=n,fr(u=new Tk(a),(RT(),DF)),Ky(u,($L(),XV),i),Ky(u,(JL(),Hj),(bT(),mG)),Ky(u,iq,Uf(kx(t,Mj),15)),!(c=Uf(kx(t,Fj),10))&&(c=new ts(i.a/2,i.b/2)),Ky(u,Fj,c),cv(l=new TT,u),e!=_G&&e!=EG||(s=o!=(E_(),OR)?o:SR,h=r>0?hE(s):v_(hE(s)),Ky(t,Uj,h)),h.e){case 4:Ky(u,(ZL(),tX),(qk(),Sq)),Ky(u,YV,(Dx(),RU)),u.j.b=i.b,Fh(l,(mL(),LG)),l.i.b=c.b;break;case 2:Ky(u,(ZL(),tX),(qk(),Lq)),Ky(u,YV,(Dx(),PU)),u.j.b=i.b,Fh(l,(mL(),KG)),l.i.b=c.b;break;case 1:Ky(u,KV,(jm(),_V)),u.j.a=i.a,Fh(l,(mL(),$G)),l.i.a=c.a;break;case 3:Ky(u,KV,(jm(),wV)),u.j.a=i.a,Fh(l,(mL(),IG)),l.i.a=c.a}if(e==yG||e==wG||e==mG){switch(f=0,h.e){case 4:case 2:case 1:case 3:f=null.cd,e==wG&&(f/=null.cd)}Ky(u,dq,f)}return Ky(u,qV,h),u}function yL(t){var e,n,r,i,o,a,s,c,u,l,h,f,d,p,g,v,b,y,m;for(u=new Fr,_l(),wg(b=new kr,t,UT(t)),Cm(2,dM),r=new cm(2),t.c&&Lf(r,t.c),t.d&&Lf(r,t.d),d=new Kn(r);d.a1&&Mb(u,p,u.c.b,u.c),Mm(n)));p=g}return u}function mL(){var t;mL=a,ZG=new ys(GM,0),IG=new ys("NORTH",1),LG=new ys("EAST",2),$G=new ys("SOUTH",3),KG=new ys("WEST",4),zg(),jG=new Ko(new Zf(t=Uf(ia(iB),11),Uf(Sp(t,t.length),11),0)),GG=G_(tp(IG,Nx(Mo(iB,1),FI,32,0,[]))),MG=G_(tp(LG,Nx(Mo(iB,1),FI,32,0,[]))),qG=G_(tp($G,Nx(Mo(iB,1),FI,32,0,[]))),WG=G_(tp(KG,Nx(Mo(iB,1),FI,32,0,[]))),zG=G_(tp(IG,Nx(Mo(iB,1),FI,32,0,[$G]))),RG=G_(tp(LG,Nx(Mo(iB,1),FI,32,0,[KG]))),VG=G_(tp(IG,Nx(Mo(iB,1),FI,32,0,[KG]))),BG=G_(tp(IG,Nx(Mo(iB,1),FI,32,0,[LG]))),XG=G_(tp($G,Nx(Mo(iB,1),FI,32,0,[KG]))),PG=G_(tp(LG,Nx(Mo(iB,1),FI,32,0,[$G]))),YG=G_(tp(IG,Nx(Mo(iB,1),FI,32,0,[LG,KG]))),DG=G_(tp(LG,Nx(Mo(iB,1),FI,32,0,[$G,KG]))),UG=G_(tp(IG,Nx(Mo(iB,1),FI,32,0,[$G,KG]))),FG=G_(tp(IG,Nx(Mo(iB,1),FI,32,0,[LG,$G]))),HG=G_(tp(IG,Nx(Mo(iB,1),FI,32,0,[LG,$G,KG])))}function wL(t,e,n){var r,i,o,a,s,c,u,l,h,f,d,p,g,v,b,y,m,w;if(Ky(l=new Bm,qB,e),wg(t.e,e,l),Ky(l,($L(),lq),n),t.d&&fC(t.d,l,!1),ET(e,l),rP in e.a&&(v=l.a,b=Uf(Sg(e,rP),69),(g=Uf(Sg(b,"left"),104))&&(v.b=g.a),(m=Uf(Sg(b,"top"),104))&&(v.d=m.a),(y=Uf(Sg(b,"right"),104))&&(v.c=y.a),(i=Uf(Sg(b,qM),104))&&(v.a=i.a)),h=new Zf(r=Uf(ia(yV),11),Uf(Sp(r,r.length),11),0),Ky(l,WV,h),null==t.g&&(t.g=Sh(kx(l,(qg(),rF)))),iP in e.a){if(!(w=Sg(e,iP)).hc())throw new xp("The 'children' property of nodes must be an array.",w,e);if((u=w.hc()).a.length>0){for(n&&Ky(n,rq,l),s=Ty(FF,oP,9,u.a.length,0,1),d=0;d1)for(Lf(o,new MO(d,y,n)),h=new Vn(new Un(y.a).a.bb().mb());h.a.G();)u=Uf(h.a.H(),21),Gy(i,Uf(u.yb(),27).b);if(a.a.Y()>1)for(Lf(o,new MO(d,a,n)),h=new Vn(new Un(a.a).a.bb().mb());h.a.G();)u=Uf(h.a.H(),21),Gy(i,Uf(u.yb(),27).b)}}function kL(t,e){var n,r,i,o,a,s,c,u,l;switch(xb(o=Wb(qf(e,new Jf(t))),new te),(i=t.b).c){case 2:Np(e,new VC(r=function(t,e,n,r){var i,o,a,s,c;for(c=0,o=new Kn(t.a.b);o.a.5&&i<50;)e=Na(XT(n,r=hA(n),!0).a),++i;return XT(t,(Fd(o=Oh(sk(Yf(t.g),Yf(t.g).b-1))),o-r),!1)}(h);break;case 2:case 4:h.a=m,y=function(t){var e,n,r,i,o;for(n=_S(vO(t)),e=jP,i=0,r=0;e>.5&&i<50;)e=Na(XT(n,r=fA(n),!0).b),++i;return XT(t,(Fd(o=Oh(sk(Yf(t.g),Yf(t.g).b-1))),o-r),!1)}(h);break;default:return null}return dr(h,new MC(Nx(Mo(gR,1),KM,10,0,[c,m,y,p,v]))),h}(t.a.c,e,t.a.d,r,Mk(t.b),n),gw(t.a.a,RE(s)),a=sC(t.a.b,s.a,t.b),tv(i=new Db((!s.k&&(s.k=new yC(vw(s))),s.k))),a?$p(i,a):i}(t,a=uw(n=Ru(qf(o,new kn(i.a))))?Uf(Cy(n),91).b:15,uw(n=Ru(qf(o,new kn(Mk(i)))))?Uf(Cy(n),91).b:15,uw(n=Ru(qf(o,new kn(i.b))))?Uf(Cy(n),91).b:15),t.c,t.e,t.a.c.f,i.a)),Np(e,new VC(r,t.c,t.e,t.a.c.f,Mk(i))),Np(e,new VC(r,t.c,t.e,t.a.c.f,i.b));break;case 1:Np(e,new VC(r=function(t,e,n){var r,i,o,a,s,c;for(c=t.b,o=0,i=new Kn(t.a.b);i.a0)if(r=l.Y(),c=wv(Math.floor((r+1)/2))-1,i=wv(Math.ceil((r+1)/2))-1,e.k==_z)for(u=i;u>=c;u--)e.a[m.k]==m&&(p=Uf(l.sb(u),27),d=Uf(p.a,9),!ka(n,p.b)&&f>t.b.e[d.k]&&(e.a[d.k]=m,e.f[m.k]=e.f[d.k],e.a[m.k]=e.f[m.k],f=t.b.e[d.k]));else for(u=c;u<=i;u++)e.a[m.k]==m&&(v=Uf(l.sb(u),27),g=Uf(v.a,9),!ka(n,v.b)&&f0||n.k==_z&&iv?d:v):n.n[e.k]=r>(d>v?d:v)?r:d>v?d:v)):(g=t.d.f,p=yw(t,n.i[e.k]),f=yw(t,n.i[h.k]),n.k==_z?qv(p,f,oo(n.n[e.k])+oo(n.d[a.k])+a.j.b+a.e.a+g-(oo(n.n[h.k])+oo(n.d[u.k])-u.e.d)):qv(p,f,oo(n.n[e.k])+oo(n.d[a.k])-a.e.d-oo(n.n[h.k])-oo(n.d[u.k])-u.j.b-u.e.a-g))):v=t.e.Ic(v,e,a),a=n.a[a.k]}while(a!=e);!function(t,e){Np(t.b,e)}(t.e,e)}}function LL(t,e,n,r){var i,o,a,s,c,u,l,h,f,d,p,g,v,b;if(f=!1,h=!1,Vs(Uf(kx(r,(JL(),Hj)),28))){a=!1,s=!1;t:for(p=new Kn(r.f);p.a=r.j.b/2}b?(v=Uf(kx(r,($L(),Nq)),20))?f?o=v:(i=Uf(kx(r,DV),20))?o=v.Y()<=i.Y()?v:i:(o=new Re,Ky(r,DV,o)):(o=new Re,Ky(r,Nq,o)):(i=Uf(kx(r,($L(),DV)),20))?h?o=i:(v=Uf(kx(r,Nq),20))?o=i.Y()<=v.Y()?i:v:(o=new Re,Ky(r,Nq,o)):(o=new Re,Ky(r,DV,o)),o.ib(t),Ky(t,($L(),RV),n),e.d==n?(lv(e,null),n.b.c.length+n.e.c.length==0&&cv(n,null)):(hv(e,null),n.b.c.length+n.e.c.length==0&&cv(n,null)),Mg(e.a)}function IL(t,e){var n,r,i,o,a,s,c,u,l,h,f,d,p,g,v,b,y;for((n=new kk(e)).a||function(t){var e,n,r,i,o;switch(i=Uf(gd(t.b,0),9),e=new Tk(t),Lf(t.b,e),e.j.a=Fo(1,i.j.a),e.j.b=Fo(1,i.j.b),e.i.a=i.i.a,e.i.b=i.i.b,Uf(kx(i,($L(),qV)),32).e){case 4:e.i.a+=2;break;case 1:e.i.b+=2;break;case 2:e.i.a-=2;break;case 3:e.i.b-=2}cv(r=new TT,e),hv(n=new jg,o=Uf(gd(i.f,0),7)),lv(n,r),Ih(Lc(r.i),o.i),Ih(Lc(r.a),o.a)}(e),u=function(t){var e,n,r,i,o,a,s;for(s=new Cb,a=new Kn(t.b);a.a=s.b.c)&&(s.b=e),(!s.c||e.c<=s.c.c)&&(s.d=s.c,s.c=e),(!s.e||e.d>=s.e.d)&&(s.e=e),(!s.f||e.d<=s.f.d)&&(s.f=e);return r=new hk((jw(),yF)),Lb(t,CF,new Qn(Nx(Mo(bF,1),GI,160,0,[r]))),a=new hk(xF),Lb(t,TF,new Qn(Nx(Mo(bF,1),GI,160,0,[a]))),i=new hk(mF),Lb(t,kF,new Qn(Nx(Mo(bF,1),GI,160,0,[i]))),o=new hk(wF),Lb(t,EF,new Qn(Nx(Mo(bF,1),GI,160,0,[o]))),cA(r.c,yF),cA(i.c,mF),cA(o.c,wF),cA(a.c,xF),s.a.c=Ty(TD,GI,1,0,4,1),ox(s.a,r.c),ox(s.a,Sw(i.c)),ox(s.a,o.c),ox(s.a,Sw(a.c)),s}(u)),n}function ML(t,e){var n,r,i,o,a,s,c,u,l,h,f,d,p,g,v,b,y,m,w,x,_,E,k,T,C;return h=function(t,e){var n,r,i,o,a,s,c,u,l,h,f;if(t.V())return new uo;for(c=0,l=0,r=t.mb();r.G();)c=Fo(c,(i=Uf(r.H(),55).e).a),l+=i.a*i.b;for(c=Fo(c,Math.sqrt(l)*Uf(kx(Uf(t.mb().H(),55),($L(),AV)),15).a),h=0,f=0,s=0,n=e,a=t.mb();a.G();)h+(u=(o=Uf(a.H(),55)).e).a>c&&(h=0,f+=s+e,s=0),iS(o,h,f),n=Fo(n,h+u.a),s=Fo(s,u.b),h+=u.a+e;return new ts(n+e,f+s+e)}(fl(t,(mL(),jG)),e),p=Ok(fl(t,GG),e),w=Ok(fl(t,qG),e),k=Lk(fl(t,WG),e),f=Lk(fl(t,MG),e),y=Ok(fl(t,VG),e),g=Ok(fl(t,BG),e),_=Ok(fl(t,XG),e),x=Ok(fl(t,PG),e),T=Lk(fl(t,RG),e),b=Ok(fl(t,zG),e),m=Ok(fl(t,YG),e),E=Ok(fl(t,DG),e),C=Lk(fl(t,UG),e),d=Lk(fl(t,FG),e),v=Ok(fl(t,HG),e),n=xm(Nx(Mo(sW,1),NI,26,12,[y.a,k.a,_.a,C.a])),r=xm(Nx(Mo(sW,1),NI,26,12,[p.a,h.a,w.a,v.a])),i=b.a,o=xm(Nx(Mo(sW,1),NI,26,12,[g.a,f.a,x.a,d.a])),u=xm(Nx(Mo(sW,1),NI,26,12,[y.b,p.b,g.b,m.b])),c=xm(Nx(Mo(sW,1),NI,26,12,[k.b,h.b,f.b,v.b])),l=T.b,s=xm(Nx(Mo(sW,1),NI,26,12,[_.b,w.b,x.b,E.b])),vy(fl(t,jG),n+i,u+l),vy(fl(t,HG),n+i,u+l),vy(fl(t,GG),n+i,0),vy(fl(t,qG),n+i,u+l+c),vy(fl(t,WG),0,u+l),vy(fl(t,MG),n+i+r,u+l),vy(fl(t,BG),n+i+r,0),vy(fl(t,XG),0,u+l+c),vy(fl(t,PG),n+i+r,u+l+c),vy(fl(t,RG),0,u),vy(fl(t,zG),n,0),vy(fl(t,DG),0,u+l+c),vy(fl(t,FG),n+i+r,0),(a=new uo).a=xm(Nx(Mo(sW,1),NI,26,12,[n+r+i+o,T.a,m.a,E.a])),a.b=xm(Nx(Mo(sW,1),NI,26,12,[u+c+l+s,b.b,C.b,d.b])),a}function PL(t,e){var n,r,i,o,a,s,c,u,l,h,f,d,p,g;if(r=new Fr,u=null,(d=(p=t.c).f.g)!=(RT(),GF)&&d!=BF)throw new so("The target node of the edge must be a normal node or a northSouthPort.");for(d==BF&&(f=Uf(kx(p,($L(),oq)),7),u=new ts(Vw(Nx(Mo(gR,1),KM,10,0,[f.f.i,f.i,f.a])).a,Vw(Nx(Mo(gR,1),KM,10,0,[p.f.i,p.i,p.a])).b),p=f),cs(r,Vw(Nx(Mo(gR,1),KM,10,0,[p.f.i,p.i,p.a]))),a=Fo(5,AE(p.f,p.g)),(h=new wp(eT(p.g))).a*=a,h.b*=a,Of(r,Ih(h,Vw(Nx(Mo(gR,1),KM,10,0,[p.f.i,p.i,p.a])))),u&&Mb(r,u,r.c.b,r.c),o=t,c=t,s=null,n=!1;o;)0!=(i=o.a).b&&(n?(Of(r,al(Ih(s,(Lu(0!=i.b),Uf(i.a.a.c,10))),.5)),n=!1):n=!0,s=wu((Lu(0!=i.b),Uf(i.c.b.c,10))),gw(r,i),Mg(i)),c=o,o=Uf(Kc(vv(e.d,o)),12);(g=c.d).f.g==BF&&(f=Uf(kx(g,($L(),oq)),7),Of(r,new ts(Vw(Nx(Mo(gR,1),KM,10,0,[f.f.i,f.i,f.a])).a,Vw(Nx(Mo(gR,1),KM,10,0,[g.f.i,g.i,g.a])).b)),g=f),a=Fo(5,AE(g.f,g.g)),al(h=new wp(eT(g.g)),a),Of(r,Ih(h,Vw(Nx(Mo(gR,1),KM,10,0,[g.f.i,g.i,g.a])))),cs(r,Vw(Nx(Mo(gR,1),KM,10,0,[g.f.i,g.i,g.a]))),l=new JS(r),gw(t.a,RE(l))}function DL(t){var e,n,r,i,o,a,s,c,u,l,h,f,d,g;if(Zc(kx(t.c,(JL(),Hj)))===Zc((bT(),wG))||Zc(kx(t.c,Hj))===Zc(mG))for(l=new Kn(t.c.f);l.a1&&(a=zo(a,Na(Uf(sk(s.a,1),10).b-l.b)))));else for(p=new Kn(e.f);p.ai&&(o=f.a-i,a=yI,r.c=Ty(TD,GI,1,0,4,1),i=f.a),f.a>=i&&(r.c[r.c.length]=s,s.a.b>1&&(a=zo(a,Na(Uf(sk(s.a,s.a.b-2),10).b-f.b)))));if(0!=r.c.length&&o>e.j.a/2&&a>e.j.b/2){for(cv(d=new TT,e),Fh(d,(mL(),IG)),d.i.a=e.j.a/2,cv(g=new TT,e),Fh(g,$G),g.i.a=e.j.a/2,g.i.b=e.j.b,c=new Kn(r);c.a=u.b?hv(s,g):hv(s,d)):(u=Uf(xf(s.a),10),(0==s.a.b?Gv(s.c):Uf(Fl(s.a),10)).b>=u.b?lv(s,g):lv(s,d)),(h=Uf(kx(s,(JL(),kj)),44))&&wE(h,u,!0);e.i.a=i-e.j.a/2}}function jL(t,e){var n,r,i,o,a,s,c,u,l,h,f,d,p,g,v,b,y,m;for(b=new Re,y=new Re,m=new Re,o=new Kn(e);o.a50?b.c[b.c.length]=i:i.k>0?y.c[y.c.length]=i:m.c[m.c.length]=i;if(1==y.c.length&&0==b.c.length&&(ox(b,y),y.c=Ty(TD,GI,1,0,4,1)),0!=b.c.length&&Xl(su(t.a),(CL(),$z))&&Xl(su(t.a),(CL(),Kz))?function(t,e){var n,r,i;for(r=new Kn(e);r.a1&&(dC(i,g=Uf(Nm(c),60),!0),fp(l),ov(t.a,g))}for(f=m.c.length,r=function(t){var e,n,r,i;switch(cu(t.a).c){case 4:return CL(),Kz;case 3:return Uf(function(t){var e;return CL(),CL(),e=Uz,t.d&&FC(t),function(){throw new Kr}(),e}(t.a).mb().H(),60);case 2:return e=Uf(Qb(n=new qs(r=cu(t.a))),60),i=Uf(Qb(n),60),gA(e)==i?Xl(r,(CL(),Kz))?Vz:Kz:pA(pA(e))==i?pA(e):vA(e);case 1:return gA(Uf(Qb(new qs(r=cu(t.a))),60));case 0:return CL(),Qz;default:return null}}(t),d=new Re,a=f/au(t.a).c|0,s=0;s3&&(ox(d,(CL(),CL(),zz)),p-=4),p){case 3:Lf(d,gA(r));case 2:v=pA(gA(r));do{v=pA(v)}while(!Xl(su(t.a),v));d.c[d.c.length]=v,v=vA(gA(r));do{v=vA(v)}while(!Xl(su(t.a),v));d.c[d.c.length]=v;break;case 1:Lf(d,gA(r))}for(h=new Kn(d),u=new Kn(m);h.ayM)&&s<10);go(t.c,new L),jO(t),function(t){sL(t,(E_(),AR)),t.e=!0}(t.c),function(t){var e,n,r,i,o,a,s;for(i=new Kn(t.a.b);i.a0,v=m.e.c.length>0,u&&v?f.c[f.c.length]=m:u?p.c[p.c.length]=m:v&&(y.c[y.c.length]=m);for(d=new Kn(p);d.a=g&&(m>g&&(p.c=Ty(TD,GI,1,0,4,1),g=m),p.c[p.c.length]=a);0!=p.c.length&&(d=Uf(gd(p,$k(e,p.c.length)),77),A.a.eb(d),d.i=v++,aA(d,C,E),p.c=Ty(TD,GI,1,0,4,1))}for(x=t.c.length+1,s=new Kn(t);s.aN.i&&(ug(n),Gy(N.d,r),r.c>0&&(r.a=N,Lf(N.j,r),r.b=k,Lf(k.d,r)))}function YL(t){switch(t.e){case 14:return new Z;case 37:return new Q;case 8:return new Ki;case 30:return new Qi;case 38:return new tt;case 3:return new et;case 47:case 1:return new bn((Px(),KF));case 4:return new nt;case 49:return new rt;case 23:return new ne;case 13:return new it;case 34:return new at;case 40:return new st;case 35:return new lt;case 44:return new Uu;case 28:return new ht;case 39:return new ft;case 27:return new dt;case 6:return new pt;case 31:return new yt;case 9:return new Te;case 43:return new wt;case 17:return new xt;case 18:return new kt;case 29:return new Ce;case 11:return new It;case 12:return new Ct;case 36:return new Nt;case 46:case 0:return new bn((Px(),ZF));case 41:return new St;case 15:return new Ot;case 33:return new Lt;case 42:return new Pt;case 22:return new Dt;case 19:return new bt;case 10:return new At;case 7:return new jt;case 24:return new Gt;case 21:return new Bt;case 16:return new Ht;case 45:return new Yt;case 26:return new zt;case 20:return new Ut;case 25:return new Vt;case 5:return new Qt;case 32:return new Jt;case 48:case 2:return new bn((Px(),$F));default:throw new so("No implementation is available for the layout processor "+(null!=t.d?t.d:""+t.e))}}function zL(t,e,n){var r,i,o,a,s,c,u,l,h,f,d,p,g,v,b,y,m,w,x,_,E,k,T,C,N,A,S;for(N=0,o=0,l=e[0].d,E=n[0].d,d=0,g=n.length;d0;){for(Lu(_.b>0),x=0,i=new Kn((m=Uf(_.a.sb(_.c=--_.b),7)).b);i.a0&&(m.g==(mL(),IG)?(t.a[m.k]=N,++N):(t.a[m.k]=N+b+y,++y),o+=x)}N+=y}else{for(v=0,w=new Kn(h.f);w.a0&&(++N,o+=v)}for(k=Ty(iW,vM,26,o,12,1),s=0,f=0,p=e.length;f0;)c%2>0&&(r+=A[c+1]),++A[c=(c-1)/2|0];return r}function UL(t,e){var n,r,i,o,a,s,c,u,l,h,f,d,p,g,v,b,y,m,w,x,_,E,k,T,C,N,A,S,O;for(HE(e,"Compound graph postprocessor",1),n=io(oo(Sh(kx(t,(ZL(),Bq))))),s=Uf(kx(t,($L(),FV)),144),h=new Ji,_=s.W().mb();_.G();){for(x=Uf(_.H(),12),xb(a=new df(s.U(x)),new cn(t)),C=cw((_y(0,a.c.length),Uf(a.c[0],114))),A=sw(Uf(gd(a,a.c.length-1),114)),Mg(x.a),k=C.f,E=R_(A.f,k)?Uf(kx(k,rq),55):Kp(k),p=Uf(kx(x,(JL(),kj)),44),Ad(a,OF)?p?Mg(p):(p=new Fr,Ky(x,kj,p)):p&&Ky(x,kj,null),v=null,o=new Kn(a);o.aEP,O=Na(v.b-m.b)>EP,(!n&&S&&O||n&&(S||O))&&Of(x.a,T)),gw(x.a,r),0==r.b?v=T:(Lu(0!=r.b),v=Uf(r.c.b.c,10)),(y=Uf(kx(b,kj),44))&&(Yx(d=new Fr,0,y),Pw(d,w),gw(p,d)),sw(i)==A&&(Kp(A.f)!=i.a&&IN(w=new uo,Kp(A.f),E),Ky(x,Cq,w)),g=new Kv(b.b,0);g.b1){x=Ty(PX,hI,15,t.a.length,0,1),u=Ol(t.a.length),p=0,d=0,n=2*e.d.a.c.length+1;t:for(w=new Kn(e.f);w.a0?(x[m.k]=new Hn(C/(m.b.c.length+m.e.c.length)),p=Uo(p,x[m.k].a),d=Ho(d,x[m.k].a)):v&&(x[m.k]=new Hn(C))}for(g=(e.d?Qy(e.d.a,e,0):-1)+1,f=e.d.a.c.length+1,c=new Kn(u);c.an&&g.a.db(m,g);for(A=new Ji,v=new Ji,x=new Vn(new Un(N.a).a.bb().mb());x.a.G();)for(h=Uf(x.a.H(),21),m=Uf(h.yb(),9),a=1==e?X_(m):q_(m),Xu(),u=new Pu(ju(Xf(a.a,new p)));tE(u);)c=Uf(Nv(u),12),Ic(m.d)!=Ic(c.d.f.d)&&Np(A,c.d.f);for(_=new Vn(new Un(g.a).a.bb().mb());_.a.G();)for(h=Uf(_.a.H(),21),m=Uf(h.yb(),9),a=1==e?X_(m):q_(m),Xu(),u=new Pu(ju(Xf(a.a,new p)));tE(u);)c=Uf(Nv(u),12),Ic(m.d)!=Ic(c.d.f.d)&&Np(v,c.d.f);for(QF&&Pf(),T=Uf(gd(t.d.c.c,r+(1==e?1:-1)),16),b=kI,y=yI,f=0;ff?b:f:v.a.R(m)&&(y=y1||tg(vu(new sb(B_(Nx(Mo(TD,1),GI,1,4,[y.b,y.e])))))>1)&&i.ib((KA(),rV)),Zc(kx(p,(ZL(),zq)))===Zc((lb(),qY))&&!(JM in e.a)){n=new Fr;try{for(s=Sg(e,JM).hc(),o=0;o0&&(t.a[B.k]=W++)}else{for(M=0,F=new Kn(C.f);F.a0&&++W}for(J=0,S=0,I=n.length;S0;){for(Lu(z.b>0),Y=0,s=new Kn((B=Uf(z.a.sb(z.c=--z.b),7)).b);s.a0&&(B.g==(mL(),IG)?(t.a[B.k]=J,++J):(t.a[B.k]=J+P+R,++R))}J+=R}else{for(M=0,F=new Kn(C.f);F.a0&&++J}for(_l(),H=new kr,d=new Iu,N=0,O=e.length;Nu.b&&(u.b=U)):B.f.d==X&&(Uu.c&&(u.c=U));for(Hk(p,0,p.length,(ec(),ec(),HX)),Q=Ty(iW,vM,26,p.length,12,1),r=Ty(iW,vM,26,J+1,12,1),v=0;v0;)_%2>0&&(i+=nt[_+1]),++nt[_=(_-1)/2|0];for(k=Ty(rz,GI,156,2*p.length,0,1),m=0;m0&&(45==t.charCodeAt(0)||43==t.charCodeAt(0))?1:0;eyI)throw new Zo(EI+t+'"');return i}((si(),""+n.jc().a))),void Ky(t,f,g)}catch(t){throw dl(t=r_(t),130)?new zi("Invalid integer format for property '"+e+cP+n+")."):D_(t)}else{if(Uf(WB.a,18).kb(e)){if(!n.ic())throw new zi(sP+e+cP+n+").");return f=Uf(Uf(WB.b,57).cb(e),79),Vd(),void Ky(t,f,g=n.ic().a?AX:NX)}if(Uf(KB.a,18).kb(e)){if(!n.jc())throw new zi("Invalid float format for property '"+e+cP+n+").");return void Ky(t,f=Uf(Uf(KB.b,57).cb(e),79),g=new Fn(n.jc().a))}if(Uf(ZB.a,18).kb(e)){if(!n.lc())throw new zi(uP+e+cP+n+").");u=n.lc().a,l=null;try{c_((JL(),Uj),e)?(mL(),l=Uf(p_((fy(),JG),u),32)):c_(sj,e)?(fk(),l=Uf(p_((Iy(),CR),u),103)):c_(pj,e)?(E_(),l=Uf(p_((hy(),MR),u),59)):c_(vj,e)?(k_(),l=Uf(p_((zb(),VR),u),122)):c_(xj,e)?(T_(),l=Uf(p_((mb(),ij),u),166)):c_(Dj,e)||c_(Rj,e)||c_(jj,e)||c_(Gj,e)||c_(Bj,e)?(OE(),l=Uf(p_((dy(),bG),u),100)):c_(Hj,e)?(bT(),l=Uf(p_((Py(),TG),u),28)):c_(zj,e)?(Rm(),l=Uf(p_((yb(),OG),u),149)):c_(bj,e)?(DT(),l=Uf(p_((My(),JR),u),133)):c_(gj,e)?(Gw(),l=Uf(p_((Yb(),BR),u),107)):c_((ZL(),Uq),e)?(Vg(),l=Uf(p_((Bv(),LY),u),193)):c_(iX,e)?(fm(),l=Uf(p_((wb(),GY),u),173)):c_(Xq,e)?(mT(),l=Uf(p_((vm(),UU),u),115)):c_(Fq,e)?(Gm(),l=Uf(p_((qb(),Az),u),194)):c_(zq,e)?(lb(),l=Uf(p_((Hv(),$Y),u),192)):c_(aX,e)?(nA(),l=Uf(p_((pm(),cY),u),109)):c_(oX,e)?(Vk(),l=Uf(p_((gm(),vz),u),141)):c_(lX,e)?(pC(),l=Uf(p_((Dy(),xY),u),125)):c_(hX,e)?(Nb(),l=Uf(p_((Fv(),dY),u),175)):c_(Kq,e)?(MT(),l=Uf(p_((tw(),QU),u),124)):c_(Qq,e)?(TO(),l=Uf(p_((Fw(),mV),u),110)):c_(tX,e)?(qk(),l=Uf(p_((bm(),Pq),u),85)):c_(pX,e)?(ME(),l=Uf(p_((Oy(),xX),u),153)):c_(vX,e)?(Bw(),l=Uf(p_((Ly(),CX),u),172)):c_(Jq,e)&&(cb(),l=Uf(p_((Xb(),NV),u),174))}catch(t){throw dl(t=r_(t),54)?new zi(uP+e+cP+n+")."):D_(t)}return void Ky(t,f=Uf(Uf(ZB.b,57).cb(e),79),l)}if(Uf($B.a,18).kb(e)){if(!n.lc())throw new zi(uP+e+cP+n+").");for(d=null,a=0,s=(c=BS(n.lc().a,"[\\[\\]\\s,]+")).length;a0&&_x(e.charCodeAt(n-1),CM);)--n;if(r>=n)throw new so("The given string does not contain any numbers.");if(2!=(i=BS(e.substr(r,n-r),",|;|\r|\n")).length)throw new so("Exactly two numbers are expected, "+i.length+" were found.");try{t.a=IT(gT(i[0])),t.b=IT(gT(i[1]))}catch(t){throw dl(t=r_(t),130)?new so(NM+t):D_(t)}}(p=new uo,n.lc().a),void Ky(t,f=Uf(Uf(tF.b,57).cb(e),79),p)}catch(t){throw dl(t=r_(t),29)?new zi("Invalid KVector format for property '"+e+"' "+n+"."):D_(t)}else if(c_(lj,e)||c_(kj,e))try{return function(t,e){var n,r,i,o,a;r=BS(e,",|;|\\(|\\)|\\[|\\]|\\{|\\}| |\t|\n"),Mg(t);try{for(n=0,o=0,i=0,a=0;n0&&(o%2==0?i=IT(r[n]):a=IT(r[n]),o>0&&o%2!=0&&Of(t,new ts(i,a)),++o),++n}catch(t){throw dl(t=r_(t),130)?new so("The given string does not match the expected format for vectors."+t):D_(t)}}(v=new Fr,n.lc().a),void Ky(t,f=Uf(Uf(tF.b,57).cb(e),79),v)}catch(t){throw dl(t=r_(t),29)?new zi("Invalid KVectorChain format for property '"+e+"' "+n+"."):D_(t)}else if(c_(Aj,e)||c_(oj,e))try{return function(t,e){var n,r,i,o,a,s,c,u;for(o=0;o<(si(),e.length)&&Ex(e.charCodeAt(o),TM);)++o;for(n=e.length;n>0&&Ex(e.charCodeAt(n-1),CM);)--n;if(o1?Mv(this,t-1):this,e},eI.Pc=function(){return Bh(this),this.b},eI.Qc=function(){return na(this)},eI.Rc=function(){return ra(this)},eI.Sc=function(){return 0!=(4&this.g)},eI.Tc=function(){return 0!=(1&this.g)},eI.w=function(){return(0!=(2&this.g)?"interface ":0!=(1&this.g)?"":"class ")+(Bh(this),this.n)},eI.g=0,ZN(119,72,{3:1,119:1,54:1,46:1},Vr),ZN(29,72,_I,qr,so),ZN(95,72,dI,Xr,ao),ZN(231,1,{3:1,231:1}),ZN(24,231,{3:1,23:1,24:1,231:1},Mn),eI.F=function(t){return function(t,e){return Bu(t.a,e.a)}(this,Uf(t,24))},eI.t=function(t){return dl(t,24)&&Uf(t,24).a==this.a},eI.v=function(){return this.a},eI.w=function(){return ca(this.a)},eI.a=0,cI={3:1,345:1,23:1,2:1},ZN(350,1,TI,ae),eI.$b=function(t,e){return function(t,e){return Tg((si(),t.toLowerCase()),e.toLowerCase())}(Lh(t),Lh(e))},ZN(257,95,dI,(function(t){ao.call(this,t)})),ZN(145,1,{23:1,145:1}),eI.F=function(t){return function(t,e){return function(t,e){return Tg((si(),t.toLowerCase()),e.toLowerCase())}(t.a,e.a)}(this,Uf(t,145))},eI.t=function(t){var e;return t===this||!!dl(t,145)&&(e=Uf(t,145),ji(this.a,e.a))},eI.v=function(){return dk(this.a)},eI.w=function(){return this.a},ZN(358,29,_I,(function(t){so.call(this,(si(),null==t?pI:t))})),ZN(256,29,{3:1,54:1,29:1,46:1,256:1},(function(t){so.call(this,(si(),null==t?pI:t))})),ZN(185,145,CI),ZN(289,185,CI,(function(t){Pn.call(this,t)})),eI.Zc=function(t,e,n){var r,i;for(r=Ty(aW,NI,26,n,12,1),i=0;in)throw new ao(AI)}for(a=Ty(aW,NI,26,o,12,1),l=0,s=0,c=0;c0;){if(128!=(192&(r=t[e+c++])))throw new so("Invalid UTF8 sequence at "+(e+c-1)+", byte="+(r>>>0).toString(16));i=i<<6|63&r}l+=Kk(i,a,l)}return a};var kD,TD=Bp(OI,"Object",1),CD=Bp(OI,"Throwable",46),ND=(Bp(OI,"Exception",54),Bp(OI,"RuntimeException",72),Bp(LI,"JavaScriptException",164),Bp(II,"StackTraceCreator/Collector",642),Bp(II,"StackTraceCreator/CollectorLegacy",356),Bp(II,"StackTraceCreator/CollectorModern",643),Bp(II,"StackTraceCreator/CollectorModernNoSourceMap",357),Bp(MI,"IOException",181),Bp(MI,"UnsupportedEncodingException",351),Bp(OI,"Class",288),Bp(OI,"ClassCastException",119),Bp(OI,"IllegalArgumentException",29),Bp(OI,"IndexOutOfBoundsException",95),Bp(OI,"Number",231),Bp(OI,"Integer",24)),AD=Bp(OI,"String",2);Bp(OI,"String/1",350),Bp(OI,"StringIndexOutOfBoundsException",257),Bp(PI,"Charset",145),Bp(PI,"IllegalCharsetNameException",358),Bp(PI,"UnsupportedCharsetException",256),Bp(DI,"EmulatedCharset",185),Bp(DI,"EmulatedCharset/LatinCharset",289),Bp(DI,"EmulatedCharset/UtfCharset",355),ZN(669,1,{3:1}),Bp(RI,"Optional",669),ZN(601,669,{3:1},c),eI.t=function(t){return t===this},eI.v=function(){return 2040732332},eI.w=function(){return"Optional.absent()"},eI.A=function(t){return Dd(t),ci(),kD},Bp(RI,"Absent",601);var SD=Ed(RI,"Function");ZN(208,1,{},co),eI.C=function(t){return Dp(t)},Bp(RI,"Joiner",208),ZN(363,208,{},Qf),eI.C=function(t){return Tl(this,t)},Bp(RI,"Joiner/1",363),ZN(362,1,{},nh),Bp(RI,"Joiner/MapJoiner",362);var OD,LD=Ed(RI,"Predicate");ZN(244,1,{68:1,244:1,3:1},Ge),eI.D=function(t){var e;for(e=0;e0},eI.H=function(){if(this.b>=this.c)throw new Ei;return oa(this,this.b++)},eI.L=function(){return this.b},eI.M=function(){if(this.b<=0)throw new Ei;return oa(this,--this.b)},eI.N=function(){return this.b-1},eI.b=0,eI.c=0,Bp(zI,"AbstractIndexedListIterator",378),ZN(428,108,YI),eI.G=function(){return uw(this)},eI.H=function(){return Cy(this)},eI.d=1,Bp(zI,"AbstractIterator",428),ZN(653,1,{144:1}),eI.P=function(){return this.f||(this.f=this.S())},eI.T=function(){return new Ia(this.P())},eI.t=function(t){return zx(this,t)},eI.v=function(){return this.P().v()},eI.V=function(){return 0==this.Y()},eI.W=function(){return ip(this)},eI.w=function(){return this.P().w()},Bp(zI,"AbstractMultimap",653),ZN(294,653,VI),eI.Q=function(){Ak(this)},eI.R=function(t){return qy(this.b,t)},eI.S=function(){return new Da(this,this.b)},eI.T=function(){return new Ml(this,this.b)},eI.$=function(){return dl(t=this.Z(),137)?(zg(),new Ql(Uf(t,137))):dl(t,18)?(zg(),new Ko(Uf(t,18))):dl(t,20)?gv(Uf(t,20)):(zg(),new er(t));var t},eI.U=function(t){return WT(this,t)},eI.X=function(t){return iN(this,t)},eI.Y=function(){return this.c},eI.c=0,Bp(zI,"AbstractMapBasedMultimap",294),ZN(600,294,VI),eI.Z=function(){return new cm(this.a)},eI.$=function(){return og(),og(),YD},eI.U=function(t){return Uf(WT(this,t),20)},eI.X=function(t){return Uf(iN(this,t),20)},eI.P=function(){return this.f||(this.f=new Da(this,this.b))},eI.t=function(t){return zx(this,t)},Bp(zI,"AbstractListMultimap",600),ZN(388,1,qI),eI.G=function(){return this.b.b||this.d.G()},eI.H=function(){var t;return this.d.G()||((t=Um(this.b)).yb(),this.a=Uf(t.zb(),19),this.d=this.a.mb()),this.d.H()},eI.I=function(){this.d.I(),this.a.V()&&Hy(this.b),--this.c.c},Bp(zI,"AbstractMapBasedMultimap/Itr",388),ZN(389,388,qI,rw),Bp(zI,"AbstractMapBasedMultimap/1",389),ZN(638,1,XI),eI.Q=function(){this.bb().Q()},eI._=function(t){return cT(this,t)},eI.R=function(t){return!!VT(this,t,!1)},eI.ab=function(t){var e,n;for(e=this.bb().mb();e.G();)if(n=Uf(e.H(),21).zb(),Zc(t)===Zc(n)||null!=t&&s_(t,n))return!0;return!1},eI.t=function(t){return TC(this,t)},eI.cb=function(t){return Kc(VT(this,t,!1))},eI.v=function(){return bx(this.bb())},eI.V=function(){return 0==this.Y()},eI.W=function(){return new Un(this)},eI.db=function(t,e){throw new No("Put not supported on this map")},eI.eb=function(t){return Kc(VT(this,t,!0))},eI.Y=function(){return this.bb().Y()},eI.w=function(){return rC(this)},eI.fb=function(){return new qn(this)},Bp(WI,"AbstractMap",638),ZN(654,638,XI),eI.bb=function(){return op(this)},eI.W=function(){return this.d||(this.d=new Ia(this))},eI.fb=function(){return qp(this)},Bp(zI,"Maps/ViewCachingAbstractMap",654),ZN(262,654,XI,Da),eI.cb=function(t){return function(t,e){var n;return(n=Uf(ck(t.a,e),19))?ak(t.b,e,n):null}(this,t)},eI.eb=function(t){return function(t,e){var n,r;return(n=Uf(Kd(t.a,e),19))?((r=t.b.Z()).jb(n),t.b.c-=n.Y(),n.Q(),r):null}(this,t)},eI.Q=function(){this.a==this.b.b?Ak(this.b):lp(new _v(this))},eI.R=function(t){return bk(this.a,t)},eI.hb=function(){return new He(this)},eI.gb=function(){return this.hb()},eI.t=function(t){return this===t||TC(this.a,t)},eI.v=function(){return bx(new Yn(this.a))},eI.W=function(){return ip(this.b)},eI.Y=function(){return Hs(this.a)},eI.w=function(){return rC(this.a)},Bp(zI,"AbstractMapBasedMultimap/AsMap",262),ZN(640,1,$I),eI.ib=function(t){return function(){throw new No("Add not supported on this collection")}()},eI.jb=function(t){return gw(this,t)},eI.Q=function(){yg(this)},eI.kb=function(t){return wE(this,t,!1)},eI.lb=function(t){return Qw(this,t)},eI.V=function(){return 0==this.Y()},eI.nb=function(t){return wE(this,t,!0)},eI.ob=function(){return this.pb(Ty(TD,GI,1,this.Y(),4,1))},eI.pb=function(t){return iT(this,t)},eI.w=function(){return nC(this)},Bp(WI,"AbstractCollection",640),ZN(641,640,ZI),eI.t=function(t){return CE(this,t)},eI.v=function(){return bx(this)},Bp(WI,"AbstractSet",641),ZN(649,641,ZI),Bp(zI,"Sets/ImprovedAbstractSet",649),ZN(655,649,ZI),eI.Q=function(){this.qb().Q()},eI.kb=function(t){return GE(this,t)},eI.V=function(){return this.qb().V()},eI.nb=function(t){var e;return!!this.kb(t)&&(e=Uf(t,21),this.qb().W().nb(e.yb()))},eI.Y=function(){return this.qb().Y()},Bp(zI,"Maps/EntrySet",655),ZN(387,655,ZI,He),eI.kb=function(t){return yk(new Yn(this.a.a),t)},eI.mb=function(){return new _v(this.a)},eI.qb=function(){return this.a},eI.nb=function(t){var e;return!!yk(new Yn(this.a.a),t)&&(e=Uf(t,21),function(t,e){var n,r;n=Uf(function(t,e){_l(),Dd(t);try{return Nl(e)?Pg(t,e):AN(t.d,e)}catch(t){if(dl(t=r_(t),119))return null;if(dl(t,76))return null;throw D_(t)}}(t.b,e),19),n&&(r=n.Y(),n.Q(),t.c-=r)}(this.a.b,e.yb()),!0)},Bp(zI,"AbstractMapBasedMultimap/AsMap/AsMapEntries",387),ZN(299,1,qI,_v),eI.H=function(){var t;return t=Um(this.b),this.a=Uf(t.zb(),19),function(t,e){var n;return n=e.yb(),_l(),new Ga(n,ak(t.b,n,Uf(e.zb(),19)))}(this.c,t)},eI.G=function(){return this.b.b},eI.I=function(){Hy(this.b),this.c.b.c-=this.a.Y(),this.a.Q()},Bp(zI,"AbstractMapBasedMultimap/AsMap/AsMapIterator",299),ZN(260,649,ZI,Ia),eI.Q=function(){this.b.Q()},eI.kb=function(t){return this.b.R(t)},eI.V=function(){return this.b.V()},eI.mb=function(){return _l(),_f(this.b.bb().mb(),(Wu(),qD))},eI.nb=function(t){return!!this.b.R(t)&&(this.b.eb(t),!0)},eI.Y=function(){return this.b.Y()},Bp(zI,"Maps/KeySet",260),ZN(386,260,ZI,Ml),eI.Q=function(){lp(new ja(this,this.b.bb().mb()))},eI.lb=function(t){return this.b.W().lb(t)},eI.t=function(t){return this===t||this.b.W().t(t)},eI.v=function(){return this.b.W().v()},eI.mb=function(){return new ja(this,this.b.bb().mb())},eI.nb=function(t){var e,n;return n=0,(e=Uf(this.b.eb(t),19))&&(n=e.Y(),e.Q(),this.a.c-=n),n>0},Bp(zI,"AbstractMapBasedMultimap/KeySet",386),ZN(300,1,qI,ja),eI.G=function(){return this.c.G()},eI.H=function(){return this.a=Uf(this.c.H(),21),this.a.yb()},eI.I=function(){var t;px(!!this.a),t=Uf(this.a.zb(),19),this.c.I(),this.b.a.c-=t.Y(),t.Q()},Bp(zI,"AbstractMapBasedMultimap/KeySet/1",300),ZN(216,640,$I,Ny),eI.ib=function(t){return function(t,e){var n,r;return nE(t),r=t.d.V(),(n=t.d.ib(e))&&(++t.f.c,r&&mf(t)),n}(this,t)},eI.jb=function(t){return function(t,e){var n,r,i;return!e.V()&&(i=t.Y(),(n=t.d.jb(e))&&(r=t.d.Y(),t.f.c+=r-i,0==i&&mf(t)),n)}(this,t)},eI.Q=function(){var t,e;0!=(e=(t=this).Y())&&(t.d.Q(),t.f.c-=e,pp(t))},eI.kb=function(t){return nE(this),this.d.kb(t)},eI.lb=function(t){return nE(this),this.d.lb(t)},eI.t=function(t){return function(t,e){return e===t||(nE(t),t.d.t(e))}(this,t)},eI.v=function(){return nE(this),this.d.v()},eI.mb=function(){return nE(this),new td(this)},eI.nb=function(t){return function(t,e){var n;return nE(t),(n=t.d.nb(e))&&(--t.f.c,pp(t)),n}(this,t)},eI.Y=function(){return nE(this),this.d.Y()},eI.w=function(){return nE(this),Uk(this.d)},Bp(zI,"AbstractMapBasedMultimap/WrappedCollection",216);var GD,BD,FD=Ed(WI,"List");ZN(297,216,KI,mp),eI.rb=function(t,e){var n;nE(this),n=this.d.V(),Uf(this.d,20).rb(t,e),++this.a.c,n&&mf(this)},eI.sb=function(t){return nE(this),Uf(this.d,20).sb(t)},eI.tb=function(){return nE(this),new zu(this)},eI.ub=function(t){return nE(this),new Gg(this,t)},eI.vb=function(t){var e;return nE(this),e=Uf(this.d,20).vb(t),--this.a.c,pp(this),e},eI.wb=function(t,e){return nE(this),Uf(this.d,20).wb(t,e)},eI.xb=function(t,e){return nE(this),bb(this.a,this.e,Uf(this.d,20).xb(t,e),this.b?this.b:this)},Bp(zI,"AbstractMapBasedMultimap/WrappedList",297),ZN(385,297,QI,wh),Bp(zI,"AbstractMapBasedMultimap/RandomAccessWrappedList",385),ZN(189,1,qI,td),eI.G=function(){return gp(this),this.b.G()},eI.H=function(){return gp(this),this.b.H()},eI.I=function(){this.b.I(),--this.d.f.c,pp(this.d)},Bp(zI,"AbstractMapBasedMultimap/WrappedCollection/WrappedIterator",189),ZN(298,189,JI,zu,Gg),eI.J=function(t){var e;e=0==function(t){return nE(t),t.d.Y()}(this.a),(gp(this),Uf(this.b,96)).J(t),++this.a.a.c,e&&mf(this.a)},eI.K=function(){return(gp(this),Uf(this.b,96)).K()},eI.L=function(){return(gp(this),Uf(this.b,96)).L()},eI.M=function(){return(gp(this),Uf(this.b,96)).M()},eI.N=function(){return(gp(this),Uf(this.b,96)).N()},eI.O=function(t){(gp(this),Uf(this.b,96)).O(t)},Bp(zI,"AbstractMapBasedMultimap/WrappedList/WrappedListIterator",298),ZN(295,216,ZI,Eh),Bp(zI,"AbstractMapBasedMultimap/WrappedSet",295),ZN(296,216,tM,kh),Bp(zI,"AbstractMapBasedMultimap/WrappedSortedSet",296),ZN(668,1,eM),eI.t=function(t){var e;return!!dl(t,21)&&(e=Uf(t,21),ng(this.yb(),e.yb())&&ng(this.zb(),e.zb()))},eI.v=function(){var t,e;return t=this.yb(),e=this.zb(),(null==t?0:K_(t))^(null==e?0:K_(e))},eI.Ab=function(t){throw new Kr},eI.w=function(){return this.yb()+"="+this.zb()},Bp(zI,nM,668),ZN(390,640,$I,Ye),eI.Q=function(){Ak(this.a)},eI.kb=function(t){return function(t,e){var n;for(n=ig(qp(t.P()));n.b.G();)if(Uf(Po(n,n.b.H()),19).kb(e))return!0;return!1}(this.a,t)},eI.mb=function(){return new rw(this.a)},eI.Y=function(){return this.a.c},Bp(zI,"AbstractMultimap/Values",390),ZN(656,640,rM),eI.ib=function(t){return this.Bb(t,1),!0},eI.Bb=function(t,e){throw new Kr},eI.jb=function(t){return function(t,e){var n,r;if(Or(),e.V())return!1;if(dl(e,207))for(r=Uf(e,207).bb().mb();r.G();)n=Uf(r.H(),83),t.Bb(n.Zb(),n.Yb());else zm(t,e.mb());return!0}(this,t)},eI.Q=function(){lp(this.Eb())},eI.kb=function(t){return this.Cb(t)>0},eI.Cb=function(t){var e,n;for(n=Xp(this).mb();n.G();)if(ng((e=Uf(n.H(),83)).Zb(),t))return e.Yb();return 0},eI.gb=function(){return new ze(this)},eI.bb=function(){return Xp(this)},eI.t=function(t){return function(t,e){var n,r,i;if(Or(),e===t)return!0;if(dl(e,207)){if(i=Uf(e,207),t.Y()!=i.Y()||Xp(t).Y()!=i.bb().Y())return!1;for(r=i.bb().mb();r.G();)if(n=Uf(r.H(),83),t.Cb(n.Zb())!=n.Yb())return!1;return!0}return!1}(this,t)},eI.v=function(){return Xp(this).v()},eI.V=function(){return Xp(this).V()},eI.mb=function(){return Or(),new Va(this,Xp(this).mb())},eI.nb=function(t){return this.Fb(t,1)>0},eI.Fb=function(t,e){throw new Kr},eI.Gb=function(t,e){var n,r;return Or(),Cm(e,"count"),(r=e-(n=this.Cb(t)))>0?this.Bb(t,r):r<0&&this.Fb(t,-r),n},eI.Hb=function(t,e,n){return function(t,e,n,r){return Or(),Cm(n,"oldCount"),Cm(r,"newCount"),t.Cb(e)==n&&(t.Gb(e,r),!0)}(this,t,e,n)},eI.Y=function(){return function(t){var e,n;for(Or(),n=0,e=Xp(t).mb();e.G();)n=w_(n,Uf(e.H(),83).Yb());return am(n)}(this)},eI.w=function(){return Uk(Xp(this))},Bp(zI,"AbstractMultiset",656),ZN(657,649,ZI),eI.Q=function(){this.Ib().Q()},eI.kb=function(t){var e;return!(!dl(t,83)||(e=Uf(t,83)).Yb()<=0||this.Ib().Cb(e.Zb())!=e.Yb())},eI.nb=function(t){var e,n,r;return!(!dl(t,83)||(e=(n=Uf(t,83)).Zb(),0==(r=n.Yb())))&&this.Ib().Hb(e,r,0)},Bp(zI,"Multisets/EntrySet",657),ZN(396,657,ZI,ze),eI.mb=function(){return this.a.Eb()},eI.Ib=function(){return this.a},eI.Y=function(){return this.a.Db()},Bp(zI,"AbstractMultiset/EntrySet",396),ZN(384,294,VI),eI.Z=function(){return new Sa(cx(this.a))},eI.$=function(){return lf(),ag(),KD},eI.U=function(t){return Uf(WT(this,t),18)},eI.X=function(t){return Uf(iN(this,t),18)},eI.P=function(){return this.f||(this.f=new Da(this,this.b))},eI.t=function(t){return zx(this,t)},Bp(zI,"AbstractSetMultimap",384),ZN(342,656,rM),Bp(zI,"AbstractSortedMultiset",342),ZN(280,600,VI,Vh),eI.a=0,Bp(zI,"ArrayListMultimap",280),ZN(159,17,iM);var HD,YD,zD,UD,VD,qD,XD,WD=tm(zI,"BoundType",159,RD,(function(){return qu(),Nx(Mo(WD,1),FI,159,0,[BD,GD])}));ZN(623,159,iM,fu),tm(zI,"BoundType/1",623,WD,null),ZN(624,159,iM,Mu),tm(zI,"BoundType/2",624,WD,null),ZN(234,1,aM),eI.w=function(){return t=this.c.mb(),Xu(),Zp(P_((Vu(),HD),Zp(new ta,91),t),93).a;var t},Bp(zI,"FluentIterable",234),ZN(170,234,aM,Tu),eI.mb=function(){return Ip(this)},Bp(zI,"FluentIterable/2",170),ZN(664,1,{}),eI.w=function(){return Uk(Lg(this.a.d).b)},Bp(zI,"ForwardingObject",664),ZN(665,664,$I),eI.ib=function(t){return Lg(this.a.d),ei()},eI.jb=function(t){return Lg(this.a.d),ni()},eI.Q=function(){Lg(this.a.d),ri()},eI.kb=function(t){return zs(Lg(this.a.d),t)},eI.lb=function(t){return Us(Lg(this.a.d),t)},eI.V=function(){return Lg(this.a.d).b.V()},eI.mb=function(){return new ir(Lg(this.a.d).b.mb())},eI.nb=function(t){return Lg(this.a.d),ii()},eI.Y=function(){return Lg(this.a.d).b.Y()},eI.ob=function(){return Zg(Lg(this.a.d))},eI.pb=function(t){return av(Lg(this.a.d),t)},Bp(zI,"ForwardingCollection",665),ZN(660,640,sM),eI.mb=function(){return this.Kb()},eI.ib=function(t){return function(){throw new Kr}()},eI.jb=function(t){return function(){throw new Kr}()},eI.Q=function(){!function(){throw new Kr}()},eI.kb=function(t){return null!=t&&wE(this,t,!1)},eI.Jb=function(){switch(this.Y()){case 0:return og(),og(),YD;case 1:return og(),new Ud(this.Kb().H());default:return new yp(this,this.ob())}},eI.nb=function(t){return function(){throw new Kr}()},Bp(zI,"ImmutableCollection",660),ZN(316,660,sM,bi),eI.mb=function(){return Am(this.a.mb())},eI.kb=function(t){return null!=t&&this.a.kb(t)},eI.lb=function(t){return this.a.lb(t)},eI.V=function(){return this.a.V()},eI.Kb=function(){return Am(this.a.mb())},eI.Y=function(){return this.a.Y()},eI.ob=function(){return this.a.ob()},eI.pb=function(t){return this.a.pb(t)},eI.w=function(){return Uk(this.a)},Bp(zI,"ForwardingImmutableCollection",316),ZN(87,660,cM),eI.mb=function(){return this.Kb()},eI.tb=function(){return this.Lb(0)},eI.ub=function(t){return this.Lb(t)},eI.xb=function(t,e){return this.Mb(t,e)},eI.rb=function(t,e){throw new Kr},eI.t=function(t){return function(t,e){var n,r,i;if(Zc(e)===Zc(Dd(t)))return!0;if(!dl(e,20))return!1;if(r=Uf(e,20),(i=t.Y())!=r.Y())return!1;if(dl(r,63)){for(n=0;n=(i=o.Y()))o.Q();else for(r=o.mb(),n=0;ne?1:0}(e.Yb(),t.Yb())}(Uf(t,83),Uf(e,83))},Bp(zI,"Multisets/1",398),ZN(397,658,{83:1,3:1},ld),eI.Yb=function(){return this.a},eI.Zb=function(){return this.b},eI.a=0,Bp(zI,"Multisets/ImmutableEntry",397),ZN(303,1,qI,Va),eI.G=function(){return this.d>0||this.c.G()},eI.H=function(){if(!(this.d>0||this.c.G()))throw new Ei;return 0==this.d&&(this.b=Uf(this.c.H(),83),this.f=this.d=this.b.Yb()),--this.d,this.a=!0,this.b.Zb()},eI.I=function(){px(this.a),1==this.f?this.c.I():this.e.Fb(this.b.Zb(),1),--this.f,this.a=!1},eI.a=!1,eI.d=0,eI.f=0,Bp(zI,"Multisets/MultisetIteratorImpl",303),ZN(622,659,{3:1,56:1},f),eI.$b=function(t,e){return function(t,e){return Dd(t),Dd(e),Hw(t,e)}(Uf(t,23),Uf(e,23))},eI.w=function(){return"Ordering.natural()"},Bp(zI,"NaturalOrdering",622),ZN(343,661,cM,yp),eI.ub=function(t){return Al(this.b,t)},eI.Sb=function(){return this.a},eI.sb=function(t){return Qc(this.b,t)},eI.Lb=function(t){return Al(this.b,t)},Bp(zI,"RegularImmutableAsList",343),ZN(559,275,uM,fg),eI.Tb=function(){return this.a},Bp(zI,"RegularImmutableBiMap",559),ZN(53,667,cM,sb),eI.Nb=function(){return this.a},Bp(zI,"RegularImmutableList",53),ZN(321,320,uM,Ri),Bp(zI,"RegularImmutableMap",321),ZN(265,315,lM,Ks),Bp(zI,"RegularImmutableSet",265),ZN(650,641,ZI),Bp(zI,"Sets/SetView",650),ZN(377,650,ZI,pf),eI.kb=function(t){return ka(this.b,t)&&ka(this.c,t)},eI.lb=function(t){return Qw(this.b,t)&&Qw(this.c,t)},eI.V=function(){return Im(this)},eI.mb=function(){return bp(new Vn(new Un(this.b.a).a.bb().mb()),this.a)},eI.Y=function(){return Jb(bp(new Vn(new Un(this.b.a).a.bb().mb()),this.a))},Bp(zI,"Sets/2",377),ZN(328,275,uM,Zv,Yy),eI.fb=function(){return lf(),new la(this.c)},eI.Tb=function(){return this.a||(this.a=new Yy(this.c,this.b,this))},eI.Ub=function(){return lf(),new la(this.c)},Bp(zI,"SingletonImmutableBiMap",328),ZN(127,667,cM,Ud),eI.Nb=function(){return this.a},Bp(zI,"SingletonImmutableList",127),ZN(135,663,lM,la),eI.mb=function(){return Xu(),new Xe(this.a)},eI.kb=function(t){return s_(this.a,t)},eI.Kb=function(){return Xu(),new Xe(this.a)},eI.Y=function(){return 1},Bp(zI,"SingletonImmutableSet",135),ZN(285,342,{207:1,3:1,22:1,19:1},Dv,lk),eI.Bb=function(t,e){return hN(this,t,e)},eI.Cb=function(t){return ST(this,t)},eI.Db=function(){return am(Fx(this,($u(),QD)))},eI.Eb=function(){return new Pl(this)},eI.Fb=function(t,e){return XN(this,t,e)},eI.Gb=function(t,e){return QT(this,t,e)},eI.Hb=function(t,e,n){var r,i,o;return Cm(n,"newCount"),Cm(e,"oldCount"),Uc(hh(this.b,t)),(o=this.c.a)?(i=Ty(iW,vM,26,1,12,1),r=gO(o,this.d,t,e,n,i),jd(this.c,o,r),i[0]==e):0==e&&(n>0&&hN(this,t,n),!0)},eI.Y=function(){return am(Fx(this,($u(),JD)))},Bp(zI,"TreeMultiset",285),ZN(619,658,{83:1},Xa),eI.Yb=function(){var t;return 0==(t=this.b.c)?ST(this.a,this.b.b):t},eI.Zb=function(){return this.b.b},Bp(zI,"TreeMultiset/1",619),ZN(620,1,qI,Pl),eI.H=function(){return function(t){var e;if(!dx(t))throw new Ei;return e=new Xa(t.c,t.a),t.b=e,t.a.i==t.c.a?t.a=null:t.a=t.a.i,e}(this)},eI.G=function(){return dx(this)},eI.I=function(){px(!!this.b),QT(this.c,this.b.b.b,0),this.b=null},Bp(zI,"TreeMultiset/2",620),ZN(205,17,bM);var eR=tm(zI,"TreeMultiset/Aggregate",205,RD,(function(){return $u(),Nx(Mo(eR,1),FI,205,0,[JD,QD])}));ZN(617,205,bM,du),eI._b=function(t){return t.c},eI.ac=function(t){return t?t.j:0},tm(zI,"TreeMultiset/Aggregate/1",617,eR,null),ZN(618,205,bM,wl),eI._b=function(t){return 1},eI.ac=function(t){return t?t.a:0},tm(zI,"TreeMultiset/Aggregate/2",618,eR,null),ZN(206,658,{83:1,206:1},Nw),eI.Yb=function(){return this.c},eI.Zb=function(){return this.b},eI.w=function(){return Or(),Ab(new ld(this.b,this.c))},eI.a=0,eI.c=0,eI.d=0,eI.j=0,Bp(zI,"TreeMultiset/AvlNode",206),ZN(616,1,{},d),Bp(zI,"TreeMultiset/Reference",616);var nR,rR=Bp(LI,"JavaScriptObject$",0);ZN(628,1,{}),Bp(LI,"Scheduler",628);var iR,oR,aR,sR,cR,uR,lR,hR,fR=0,dR=0,pR=-1;ZN(360,628,{},l),Bp(II,"SchedulerImpl",360),ZN(646,1,{}),eI.hc=function(){return null},eI.ic=function(){return null},eI.jc=function(){return null},eI.kc=function(){return null},eI.lc=function(){return null},Bp(mM,"JSONValue",646),ZN(214,646,{214:1},sr,en),eI.t=function(t){return!!dl(t,214)&&this.a==Uf(t,214).a},eI.gc=function(){return gr},eI.v=function(){return fh(this.a)},eI.hc=function(){return this},eI.w=function(){var t,e,n;for(n=new $o("["),e=0,t=this.a.length;e0&&(n.a+=","),ru(n,Sm(this,e));return n.a+="]",n.a},Bp(mM,"JSONArray",214),ZN(292,646,{},nn),eI.gc=function(){return vr},eI.ic=function(){return this},eI.w=function(){return yl(this.a)},eI.a=!1,Bp(mM,"JSONBoolean",292),ZN(371,72,dI,Hi),Bp(mM,"JSONException",371),ZN(435,646,{},b),eI.gc=function(){return xr},eI.w=function(){return pI},Bp(mM,"JSONNull",435),ZN(104,646,{104:1},rn),eI.t=function(t){return!!dl(t,104)&&this.a==Uf(t,104).a},eI.gc=function(){return br},eI.v=function(){return wv(oo(this.a))},eI.jc=function(){return this},eI.w=function(){return this.a+""},eI.a=0,Bp(mM,"JSONNumber",104),ZN(69,646,{69:1},Vi,on),eI.t=function(t){return!!dl(t,69)&&this.a==Uf(t,69).a},eI.gc=function(){return yr},eI.v=function(){return fh(this.a)},eI.kc=function(){return this},eI.w=function(){var t,e,n,r,i,o;for(o=new $o("{"),t=!0,n=0,r=(i=kw(this,Ty(AD,hI,2,0,5,1))).length;n>>28]|e[t>>24&15]<<4|e[t>>20&15]<<8|e[t>>16&15]<<12|e[t>>12&15]<<16|e[t>>8&15]<<20|e[t>>4&15]<<24|e[15&t]<<28);var t,e},eI.w=function(){return"("+this.a+","+this.b+")"},eI.a=0,eI.b=0;var gR=Bp(AM,"KVector",10);ZN(58,648,{3:1,5:1,22:1,19:1,58:1,20:1},lo),eI.ib=function(t){return Of(this,t)},eI.Q=function(){Mg(this)},eI.ub=function(t){return Sk(this,t)},eI.Y=function(){return this.b},eI.b=0,Bp(WI,"LinkedList",58),ZN(44,58,{44:1,286:1,3:1,5:1,22:1,19:1,58:1,20:1},Fr,Ah),eI.w=function(){var t,e,n;for(t=new $o("("),e=Sk(this,0);e.b!=e.d.c;)iu(t,(n=Uf(Sb(e),10)).a+","+n.b),e.b!=e.d.c&&(t.a+="; ");return t.a+=")",t.a},Bp(AM,"KVectorChain",44);var vR,bR,yR,mR,wR,xR,_R,ER,kR,TR=Ed(OM,"IProperty");ZN(131,1,{179:1,131:1,3:1},y),Bp(OM,"MapPropertyHolder",131),ZN(14,1,LM,Ld,Od,fd,If,kv,Qv),eI.F=function(t){return function(t,e){return Tg(t.b,e.mc())}(this,Uf(t,79))},eI.t=function(t){return mg(this,t)},eI.mc=function(){return this.b},eI.nc=function(){return this.c},eI.oc=function(){return this.d},eI.v=function(){return dk(this.b)},eI.w=function(){return this.b},Bp(OM,"Property",14),ZN(366,1,{23:1},m),eI.F=function(t){return-1},Bp(OM,"Property/1",366),ZN(367,1,{23:1},w),eI.F=function(t){return 1},Bp(OM,"Property/2",367),ZN(27,1,{27:1,22:1},es),eI.t=function(t){var e,n,r;return!!dl(t,27)&&(n=Uf(t,27),e=null==this.a?null==n.a:s_(this.a,n.a),r=null==this.b?null==n.b:s_(this.b,n.b),e&&r)},eI.v=function(){var t,e,n;return t=-65536&(e=null==this.a?0:K_(this.a)),e&xI^(-65536&(n=null==this.b?0:K_(this.b)))>>16&xI|t^(n&xI)<<16},eI.mb=function(){return new an(this)},eI.w=function(){return null==this.a&&null==this.b?"pair(null,null)":null==this.a?"pair(null,"+Uk(this.b)+")":null==this.b?"pair("+Uk(this.a)+",null)":"pair("+Uk(this.a)+","+Uk(this.b)+")"},Bp(IM,"Pair",27),ZN(431,1,qI,an),eI.G=function(){return!this.c&&(!this.b&&null!=this.a.a||null!=this.a.b)},eI.H=function(){if(!this.c&&!this.b&&null!=this.a.a)return this.b=!0,this.a.a;if(!this.c&&null!=this.a.b)return this.c=!0,this.a.b;throw new Ei},eI.I=function(){throw this.c&&null!=this.a.b?this.a.b=null:this.b&&null!=this.a.a&&(this.a.a=null),new $r},eI.b=!1,eI.c=!1,Bp(IM,"Pair/1",431),ZN(228,72,dI,Yi),Bp(MM,"UnsupportedConfigurationException",228),ZN(99,72,dI,zi),Bp(MM,"UnsupportedGraphException",99),ZN(103,17,{103:1,3:1,23:1,17:1},ns);var CR,NR,AR,SR,OR,LR,IR=tm(jM,"Alignment",103,RD,(function(){return fk(),Nx(Mo(IR,1),FI,103,0,[mR,_R,ER,kR,wR,xR])}));ZN(59,17,{59:1,3:1,23:1,17:1},us);var MR,PR,DR,RR,jR,GR=tm(jM,"Direction",59,RD,(function(){return E_(),Nx(Mo(GR,1),FI,59,0,[OR,SR,AR,NR,LR])}));ZN(107,17,{107:1,3:1,23:1,17:1},ls);var BR,FR,HR,YR,zR,UR=tm(jM,"EdgeLabelPlacement",107,RD,(function(){return Gw(),Nx(Mo(UR,1),FI,107,0,[jR,PR,DR,RR])}));ZN(122,17,{122:1,3:1,23:1,17:1},hs);var VR,qR,XR,WR,$R,ZR,KR,QR=tm(jM,"EdgeRouting",122,RD,(function(){return k_(),Nx(Mo(QR,1),FI,122,0,[zR,HR,FR,YR])}));ZN(133,17,{133:1,3:1,23:1,17:1},fs);var JR,tj,ej,nj,rj=tm(jM,"EdgeType",133,RD,(function(){return DT(),Nx(Mo(rj,1),FI,133,0,[ZR,WR,KR,qR,$R,XR])}));ZN(166,17,{166:1,3:1,23:1,17:1},ds);var ij,oj,aj,sj,cj,uj,lj,hj,fj,dj,pj,gj,vj,bj,yj,mj,wj,xj,_j,Ej,kj,Tj,Cj,Nj,Aj,Sj,Oj,Lj,Ij,Mj,Pj,Dj,Rj,jj,Gj,Bj,Fj,Hj,Yj,zj,Uj,Vj,qj,Xj,Wj,$j,Zj,Kj,Qj,Jj,tG,eG,nG,rG,iG,oG,aG,sG,cG,uG=tm(jM,"HierarchyHandling",166,RD,(function(){return T_(),Nx(Mo(uG,1),FI,166,0,[ej,tj,nj])}));ZN(41,17,{41:1,3:1,23:1,17:1},ps);var lG,hG,fG,dG,pG,gG,vG=tm(jM,"NodeLabelPlacement",41,RD,(function(){return yN(),Nx(Mo(vG,1),FI,41,0,[eG,tG,rG,cG,sG,aG,iG,oG,nG])}));ZN(100,17,{100:1,3:1,23:1,17:1},gs);var bG,yG,mG,wG,xG,_G,EG,kG=tm(jM,"PortAlignment",100,RD,(function(){return OE(),Nx(Mo(kG,1),FI,100,0,[gG,pG,hG,fG,dG])}));ZN(28,17,{28:1,3:1,23:1,17:1},vs);var TG,CG,NG,AG,SG=tm(jM,"PortConstraints",28,RD,(function(){return bT(),Nx(Mo(SG,1),FI,28,0,[EG,_G,xG,yG,wG,mG])}));ZN(149,17,{149:1,3:1,23:1,17:1},bs);var OG,LG,IG,MG,PG,DG,RG,jG,GG,BG,FG,HG,YG,zG,UG,VG,qG,XG,WG,$G,ZG,KG,QG=tm(jM,"PortLabelPlacement",149,RD,(function(){return Rm(),Nx(Mo(QG,1),FI,149,0,[AG,NG,CG])}));ZN(32,17,{32:1,3:1,23:1,17:1},ys);var JG,tB,eB,nB,rB,iB=tm(jM,"PortSide",32,RD,(function(){return mL(),Nx(Mo(iB,1),FI,32,0,[ZG,IG,LG,$G,KG])}));ZN(150,17,{150:1,3:1,23:1,17:1},ms);var oB,aB,sB,cB,uB,lB=tm(jM,"SizeConstraint",150,RD,(function(){return LE(),Nx(Mo(lB,1),FI,150,0,[nB,rB,eB,tB])}));ZN(139,17,{139:1,3:1,23:1,17:1},ws);var hB,fB,dB,pB,gB,vB,bB,yB,mB,wB,xB,_B,EB,kB,TB,CB,NB,AB,SB,OB,LB,IB,MB,PB=tm(jM,"SizeOptions",139,RD,(function(){return zT(),Nx(Mo(PB,1),FI,139,0,[cB,uB,sB,aB])}));ZN(62,1,{62:1},ac,_g),eI.t=function(t){var e;return!(null==t||!dl(t,62))&&(e=Uf(t,62),Ag(this.d,e.d)&&Ag(this.e,e.e)&&Ag(this.c,e.c)&&Ag(this.b,e.b))},eI.v=function(){return $x(Nx(Mo(TD,1),GI,1,4,[this.d,this.e,this.c,this.b]))},eI.w=function(){return"Rect[x="+this.d+",y="+this.e+",w="+this.c+",h="+this.b+"]"},eI.b=0,eI.c=0,eI.d=0,eI.e=0,Bp(YM,"Rectangle",62),ZN(283,62,{283:1,62:1},Hr),eI.a=0,Bp(zM,"LabelGroup",283),ZN(67,17,{67:1,3:1,23:1,17:1},kg);var DB,RB,jB,GB=tm(zM,"LabelLocation",67,RD,SE);ZN(225,17,{225:1,3:1,23:1,17:1},xs);var BB,FB,HB,YB,zB,UB=tm(zM,"TextAlignment",225,RD,(function(){return Hb(),Nx(Mo(UB,1),FI,225,0,[RB,DB,jB])}));ZN(589,1,{},bO),eI.a=0,eI.b=!1,eI.d=0,eI.f=0,eI.k=0,eI.r=0,eI.s=0,Bp(YM,"LabelAndNodeSizeProcessor/NodeData",589),ZN(171,17,{171:1,3:1,23:1,17:1},_s);var VB,qB,XB,WB,$B,ZB,KB,QB,JB,tF,eF,nF,rF,iF=tm(YM,"LabelSide",171,RD,(function(){return IE(),Nx(Mo(iF,1),FI,171,0,[zB,FB,HB])}));ZN(590,1,{},sn),eI.b=!0,eI.c=!0,eI.d=!0,eI.e=!0,Bp(YM,VM,590),ZN(121,1,XM),eI.t=function(t){var e;return!!dl(t,121)&&(e=Uf(t,121),this.d==e.d&&this.a==e.a&&this.b==e.b&&this.c==e.c)},eI.v=function(){var t;return t=wv(oo(this.b))<<16,(t|=wv(oo(this.a))&xI)^(wv(oo(this.c))<<16|wv(oo(this.d))&xI)},eI.w=function(){return"[top="+this.d+",left="+this.b+",bottom="+this.a+",right="+this.c+"]"},eI.a=0,eI.b=0,eI.c=0,eI.d=0,Bp(YM,"Spacing",121),ZN(232,121,XM,Yr,xh,qh),Bp(YM,"Spacing/Insets",232),ZN(65,121,{286:1,121:1,65:1,3:1,5:1},zr,_h,Xh),Bp(YM,"Spacing/Margins",65),ZN(364,1,{},Dk),eI.c=!1,eI.d=null,eI.g=null,Bp(aP,"JsonGraphImporter",364),ZN(417,14,LM,hc),Bp(aP,"LayoutOptionResolver/DummyProperty",417),ZN(348,1,{},Ee),Bp(aP,"RecursiveLGraphLayout",348),ZN(73,99,{73:1,3:1,54:1,46:1},Ui,$l,xp);var oF,aF,sF,cF,uF=Bp(aP,"UnsupportedJsonGraphException",73);ZN(380,1,{},dg),Bp(lP,"GraphConfigurator",380),ZN(49,1,{},iE),Bp(lP,"IntermediateProcessingConfiguration",49),ZN(365,1,{},jb),Bp(lP,"KlayLayered",365),ZN(577,1,{},Xw),eI.i=0,Bp(pP,"ComponentsToCGraphTransformer",577),ZN(578,1,{},A),eI.tc=function(t,e){return zo(t.wc(),e.wc())},eI.uc=function(t,e){return zo(t.xc(),e.xc())},Bp(pP,"ComponentsToCGraphTransformer/1",578),ZN(25,1,{25:1}),eI.k=0,eI.o=null,eI.p=!0,eI.r=dP;var lF,hF,fF,dF,pF,gF=Bp(gP,"CNode",25);ZN(198,25,{198:1,25:1},rl,ow),eI.vc=function(){this.b.d=this.j.d,this.b.e=this.j.e},eI.wc=function(){return null!=this.a?oo(this.a):this.c.i},eI.xc=function(){return null!=this.a?oo(this.a):this.c.i},eI.w=function(){return""},Bp(pP,"ComponentsToCGraphTransformer/CRectNode",198),ZN(549,1,{},S),Bp(pP,"OneDimensionalComponentsCompaction",549),ZN(550,1,hM,O),eI.B=function(t){return vx(),Vd(),0!=Uf(Uf(t,27).a,25).f.f?AX:NX},Bp(pP,"OneDimensionalComponentsCompaction/lambda$0$Type",550),ZN(551,1,hM,L),eI.B=function(t){return vx(),Vd(),lE(Uf(Uf(t,27).a,25).n,Uf(Uf(t,27).b,59))||0!=Uf(Uf(t,27).a,25).f.f&&lE(Uf(Uf(t,27).a,25).n,Uf(Uf(t,27).b,59))?AX:NX},Bp(pP,"OneDimensionalComponentsCompaction/lambda$1$Type",551),ZN(324,1,{},_p),Bp(gP,"CGraph",324),ZN(78,1,{78:1},ZE),eI.b=0,eI.c=0,eI.d=0,eI.f=0,eI.i=!0,eI.j=dP,Bp(gP,"CGroup",78),ZN(470,1,{},I),eI.tc=function(t,e){return Fo(t.wc(),e.wc())},eI.uc=function(t,e){return Fo(t.xc(),e.xc())},Bp(gP,"ISpacingsHandler/1",470),ZN(323,1,{},mN),eI.e=!1;var vF=Bp(gP,"OneDimensionalCompactor",323);ZN(554,1,hM,_),eI.B=function(t){return Wd(),Vd(),0!=Uf(Uf(t,27).a,25).f.f?AX:NX},Bp(gP,"OneDimensionalCompactor/lambda$0$Type",554),ZN(335,1,{},Ff),eI.a=!1,eI.b=!1,eI.c=!1,eI.d=!1,Bp(gP,"Quadruplet",335),ZN(587,1,{},E),eI.Cc=function(t){var e,n,r,i,o,a,s,c,u,l,h,f,d,p,g,v;for(l=fP,r=new Kn(t.a.b);r.an.j.d||n.j.d==i.j.d&&n.j.c0&&(Lf(t.c,new gf(e.c,e.d,t.d)),t.b=e.d)}(this,Uf(t,48))},eI.b=0,Bp(yP,"RectilinearConvexHull/MaximalElementsEventHandler",243),ZN(571,1,TI,M),eI.$b=function(t,e){return rg(t,e)},Bp(yP,"RectilinearConvexHull/MaximalElementsEventHandler/lambda$0$Type",571),ZN(570,1,{160:1},ey),eI.Ec=function(t){!function(t,e){var n;t.d&&(e.c!=t.e.c||function(t,e){return jw(),t==yF&&e==mF||t==yF&&e==wF||t==xF&&e==wF||t==xF&&e==mF}(t.e.b,e.b))&&(Lf(t.f,t.d),t.a=t.d.d+t.d.c,t.d=null,t.e=null),function(t){return t==yF||t==mF}(e.b)?t.c=e:t.b=e,(e.b==(jw(),yF)&&!e.a||e.b==mF&&e.a||e.b==wF&&e.a||e.b==xF&&!e.a)&&t.c&&t.b&&(n=new _g(t.a,t.c.d,e.c-t.a,t.b.d-t.c.d),t.d=n,t.e=e)}(this,Uf(t,48))},eI.a=0,eI.b=null,eI.c=null,eI.d=null,eI.e=null,Bp(yP,"RectilinearConvexHull/RectangleEventHandler",570),ZN(572,1,TI,P),eI.$b=function(t,e){return Fb(),Uf(t,48).c==Uf(e,48).c?Ox(Uf(e,48).d,Uf(t,48).d):Ox(Uf(t,48).c,Uf(e,48).c)},Bp(yP,"RectilinearConvexHull/lambda$0$Type",572),ZN(573,1,TI,D),eI.$b=function(t,e){return Fb(),Uf(t,48).c==Uf(e,48).c?Ox(Uf(t,48).d,Uf(e,48).d):Ox(Uf(t,48).c,Uf(e,48).c)},Bp(yP,"RectilinearConvexHull/lambda$1$Type",573),ZN(574,1,TI,R),eI.$b=function(t,e){return Fb(),Uf(t,48).c==Uf(e,48).c?Ox(Uf(e,48).d,Uf(t,48).d):Ox(Uf(e,48).c,Uf(t,48).c)},Bp(yP,"RectilinearConvexHull/lambda$2$Type",574),ZN(575,1,TI,j),eI.$b=function(t,e){return Fb(),Uf(t,48).c==Uf(e,48).c?Ox(Uf(t,48).d,Uf(e,48).d):Ox(Uf(e,48).c,Uf(t,48).c)},Bp(yP,"RectilinearConvexHull/lambda$3$Type",575),ZN(576,1,TI,G),eI.$b=function(t,e){return function(t,e){var n;if(Fb(),t.c==e.c){if(t.b==e.b||function(t,e){return jw(),t==yF&&e==xF||t==xF&&e==yF||t==wF&&e==mF||t==mF&&e==wF}(t.b,e.b)){if(n=function(t){return t==yF||t==xF}(t.b)?1:-1,t.a&&!e.a)return n;if(!t.a&&e.a)return-n}return Bu(t.b.e,e.b.e)}return Ox(t.c,e.c)}(t,e)},Bp(yP,"RectilinearConvexHull/lambda$4$Type",576),ZN(469,1,{},Tb),Bp(yP,"Scanline",469),ZN(662,1,{}),Bp(wP,"AbstractGraphPlacer",662),ZN(222,1,{222:1},Kh),Bp(wP,"ComponentGroup",222),ZN(434,662,{},Mr),eI.Fc=function(t,e){var n,r,i,o,a,s,c,u,l,h,f,d;if(this.a.c=Ty(TD,GI,1,0,4,1),e.b.c=Ty(TD,GI,1,0,4,1),t.V())return e.e.a=0,void(e.e.b=0);for(M_(e,i=Uf(t.sb(0),55)),r=t.mb();r.G();)z_(this,Uf(r.H(),55));for(f=new uo,d=2*Uf(kx(i,($L(),wq)),15).a,s=new Kn(this.a);s.ah&&(x=0,_+=l+m,l=0),iS(o,x+(p=o.d).a,_+p.b),p.a=0,p.b=0,n=Fo(n,x+b.a),l=Fo(l,b.b),x+=b.a+m;if(e.e.a=n,e.e.b=_+l,v=Uf(kx(e,wq),15).a,io(oo(Sh(kx(i,(ZL(),Hq)))))){for(GL(r=new B,t,v),u=t.mb();u.G();)Ih(Lc(Uf(u.H(),55).d),r.e);Ih(Lc(e.e),r.a)}gy(e,t)}else(y=Uf(t.sb(0),55))!=e&&(e.b.c=Ty(TD,GI,1,0,4,1),gS(e,y,0,0),M_(e,y),kd(e.a,y.a),e.e.a=y.e.a,e.e.b=y.e.b)},Bp(wP,"SimpleRowGraphPlacer",432),ZN(433,1,TI,H),eI.$b=function(t,e){return function(t,e){var n;return 0==(n=e.k-t.k)?Ox(t.e.a*t.e.b,e.e.a*e.e.b):n}(Uf(t,55),Uf(e,55))},Bp(wP,"SimpleRowGraphPlacer/1",433),ZN(369,1,kP,ke),eI.sc=function(t,e){UL(t,e)},Bp(TP,"CompoundGraphPostprocessor",369),ZN(370,1,mP,Y),eI.D=function(t){var e;return!!(e=Uf(kx(Uf(t,114).b,(JL(),kj)),44))&&0!=e.b},Bp(TP,"CompoundGraphPostprocessor/1",370),ZN(368,1,kP,Xc),eI.sc=function(t,e){ik(this,t,e)},Bp(TP,"CompoundGraphPreprocessor",368),ZN(187,1,{187:1},S_),eI.c=!1,Bp(TP,"CompoundGraphPreprocessor/ExternalPort",187),ZN(114,1,{114:1},vf),eI.w=function(){return ph(this.c)+":"+Pm(this.b)},Bp(TP,"CrossHierarchyEdge",114),ZN(310,1,TI,cn),eI.$b=function(t,e){return function(t,e,n){var r,i;return e.c==(nw(),Rq)&&n.c==Dq?-1:e.c==Dq&&n.c==Rq?1:(r=_E(e.a,t.a),i=_E(n.a,t.a),e.c==Rq?i-r:r-i)}(this,Uf(t,114),Uf(e,114))},Bp(TP,"CrossHierarchyEdgeComparator",310),ZN(147,131,{179:1,131:1,147:1,3:1}),eI.k=0,Bp(NP,"LGraphElement",147),ZN(12,147,{179:1,131:1,12:1,147:1,3:1},jg),eI.w=function(){return Pm(this)};var IF=Bp(NP,"LEdge",12);ZN(55,147,{179:1,131:1,55:1,147:1,3:1,22:1},Bm),eI.mb=function(){return new Kn(this.c)},eI.w=function(){return 0==this.c.c.length?"G-unlayered"+nC(this.b):0==this.b.c.length?"G-layered"+nC(this.c):"G[layerless"+nC(this.b)+", layers"+nC(this.c)+"]"};var MF=Bp(NP,"LGraph",55);ZN(273,1,{}),eI.pc=function(){return this.e.j},Bp(NP,"LGraphAdapters/AbstractLShapeAdapter",273),ZN(240,1,{627:1},un),eI.b=null,Bp(NP,"LGraphAdapters/LEdgeAdapter",240),ZN(325,1,{},Ts),eI.pc=function(){return this.a.e},eI.b=null,eI.c=!1,Bp(NP,"LGraphAdapters/LGraphAdapter",325),ZN(224,273,{129:1,224:1},ln),Bp(NP,"LGraphAdapters/LLabelAdapter",224),ZN(555,273,{626:1},Cs),eI.a=null,eI.b=null,eI.c=!1,Bp(NP,"LGraphAdapters/LNodeAdapter",555),ZN(556,273,{161:1},Ns),eI.a=null,eI.b=null,eI.c=null,eI.d=!1,Bp(NP,"LGraphAdapters/LPortAdapter",556),ZN(557,1,TI,z),eI.$b=function(t,e){return function(t,e){var n,r,i,o;if(0!=(o=t.g.e-e.g.e))return o;if(n=Uf(kx(t,(JL(),Yj)),24),r=Uf(kx(e,Yj),24),n&&r&&0!=(i=n.a-r.a))return i;switch(t.g.e){case 1:return Ox(t.i.a,e.i.a);case 2:return Ox(t.i.b,e.i.b);case 3:return Ox(e.i.a,t.i.a);case 4:return Ox(e.i.b,t.i.b);default:throw new ko(AP)}}(Uf(t,7),Uf(e,7))},Bp(NP,"LGraphAdapters/PortComparator",557),ZN(168,1,{168:1},je,Hg),eI.t=function(t){var e;return!!dl(t,168)&&(e=Uf(t,168),this.d==e.d&&this.a==e.a&&this.b==e.b&&this.c==e.c)},eI.v=function(){var t;return t=wv(oo(this.b))<<16,(t|=wv(oo(this.a))&xI)^(wv(oo(this.c))<<16|wv(oo(this.d))&xI)},eI.w=function(){return"Insets[top="+this.d+",left="+this.b+",bottom="+this.a+",right="+this.c+"]"},eI.a=0,eI.b=0,eI.c=0,eI.d=0,Bp(NP,"LInsets",168),ZN(165,147,{179:1,131:1,147:1,165:1,3:1}),Bp(NP,"LShape",165),ZN(33,165,{179:1,131:1,147:1,33:1,165:1,3:1},Eu),eI.w=function(){return null==this.a?"l_"+this.k:"l_"+this.a},Bp(NP,"LLabel",33),ZN(9,165,{179:1,131:1,147:1,9:1,165:1,3:1},Tk),eI.w=function(){return bv(this)};var PF,DF,RF,jF,GF,BF,FF=Bp(NP,"LNode",9);ZN(132,17,{132:1,3:1,23:1,17:1},Ss);var HF,YF,zF,UF,VF,qF,XF=tm(NP,"LNode/NodeType",132,RD,(function(){return RT(),Nx(Mo(XF,1),FI,132,0,[GF,jF,DF,BF,RF,PF])}));ZN(7,165,{179:1,131:1,147:1,7:1,165:1,3:1},TT),eI.w=function(){var t;return null==(t=ay(this))?"p_"+this.k:"p_"+t};var WF=Bp(NP,"LPort",7);ZN(399,1,mP,U),eI.D=function(t){return jh(t)},Bp(NP,"LPort/1",399),ZN(400,1,mP,V),eI.D=function(t){return Rh(t)},Bp(NP,"LPort/2",400),ZN(401,1,mP,q),eI.D=function(t){return Uf(t,7).g==(mL(),IG)},Bp(NP,"LPort/3",401),ZN(402,1,mP,X),eI.D=function(t){return Uf(t,7).g==(mL(),LG)},Bp(NP,"LPort/4",402),ZN(403,1,mP,W),eI.D=function(t){return Uf(t,7).g==(mL(),$G)},Bp(NP,"LPort/5",403),ZN(404,1,mP,$),eI.D=function(t){return Uf(t,7).g==(mL(),KG)},Bp(NP,"LPort/6",404),ZN(190,1,aM,hn),eI.mb=function(){return new fn(new Kn(this.a.b))},Bp(NP,"LPort/7",190),ZN(405,1,qI,fn),eI.H=function(){return Uf(Jv(this.a),12).c},eI.G=function(){return pl(this.a)},eI.I=function(){fp(this.a)},Bp(NP,"LPort/7/1",405),ZN(169,1,aM,dn),eI.mb=function(){return new pn(new Kn(this.a.e))},Bp(NP,"LPort/8",169),ZN(304,1,qI,pn),eI.H=function(){return Uf(Jv(this.a),12).d},eI.G=function(){return pl(this.a)},eI.I=function(){fp(this.a)},Bp(NP,"LPort/8/1",304),ZN(16,147,{179:1,131:1,147:1,16:1,3:1,22:1},Ep),eI.mb=function(){return new Kn(this.a)},eI.w=function(){return"L_"+Qy(this.b.c,this,0)+nC(this.a)},Bp(NP,"Layer",16),ZN(437,1,kP,Z),eI.sc=function(t,e){var n,r,i,o;for(HE(e,"Big nodes intermediate-processing",1),this.a=t,r=new Kn(this.a.c);r.ao?50:o,n=new Re,d=o+this.d,l=new Kn(h);l.ad){for(f=1,r=a.j.a;r>o;)++f,r=(a.j.a-(f-1)*this.d)/f;Lf(n,new Bb(this,a,f,r))}for(s=new Kn(n);s.aa?50:a,n=new Re,p=a+this.d,h=new Kn(f);h.ap){for(d=1,r=s.j.a;r>a;)++d,r=(s.j.a-(d-1)*this.d)/d;Lf(n,new nv(this,s,d))}for(c=new Kn(n);c.a0||l.g==KG&&l.b.c.length-l.e.c.length<0)){n=!1;break}if(l.g==KG)for(i=new Kn(l.e);i.a0&&(t.a=c+(f-1)*i,e.d.b+=t.a,e.e.b+=t.a),0!=d.a.Y()&&(f=fO(new wC(1,i),e,d,p,e.e.b+c-e.d.b))>0&&(e.e.b+=c+(f-1)*i)}(this,t,n),function(t){var e,n,r,i,o,a,s,c,u,l,h,f,d,p,g,v,b,y,m,w,x,_,E;for(y=new Re,l=new Kn(t.c);l.a0&&RS((_y(0,n.c.length),Uf(n.c[0],16)),t),n.c.length>1&&RS(Uf(gd(n,n.c.length-1),16),t),H_(e)},Bp(SP,"HierarchicalPortPositionProcessor",454),ZN(471,1,kP,ht),eI.sc=function(t,e){var n,r,i,o,a,s,c,u,l,h,f;for(HE(e,"Hyperedge merging",1),l=new Kv(t.c,0);l.b(d=f.c.length)+1?Lf(l,new es(c,(_y(h=(s+d)/2|0,a.c.length),Uf(a.c[h],9)))):d>s+1&&Lf(l,new es(c,(_y(h=((d-s)/2|0)-1,f.c.length),Uf(f.c[h],9))))}for(v=new Kn(l);v.a=2){for(c=!0,_y(1,s.c.length),p=Uf(s.c[1],16),h=new Kn(r.a);h.a=2){for(c=!0,g=Uf(gd(s,s.c.length-2),16),h=new Kn(i.a);h.an?c:n}t.e.b=c-u,t.d.b-=u,H_(e)},Bp(SP,"LayerSizeAndGraphHeightCalculator",496),ZN(497,1,kP,St),eI.sc=function(t,e){var n,r,i,o;for(HE(e,"Edge joining",1),n=io(oo(Sh(kx(t,(ZL(),Bq))))),r=new Kn(t.c);r.a0&&Lf(t.p,l),Lf(t.o,l);d=c+(e-=r),u+=e*t.e,Kb(t.a,s,W_(d)),Kb(t.b,s,u),t.j=Yo(t.j,d),t.k=Fo(t.k,u),t.d+=e,e+=g}}(this),this.q=Uf(kx(t,(ZL(),aX)),109),c=Uf(kx(this.g,sX),24).a,i=new Mt,this.q.e){case 2:case 1:default:LO(this,i);break;case 3:for(this.q=(nA(),aY),LO(this,i),a=0,o=new Kn(this.a);o.athis.j&&(this.q=tY,LO(this,i));break;case 4:for(this.q=(nA(),aY),LO(this,i),s=0,r=new Kn(this.b);r.athis.k&&(this.q=rY,LO(this,i));break;case 6:LO(this,new _n(wv(Mc(this.f.length*c/100))));break;case 5:LO(this,new En(wv(Mc(this.d*c/100))))}!function(t,e){var n,r,i,o,a,s;for(i=new Re,n=0;n<=t.i;n++)(r=new Ep(e)).k=t.i-n,i.c[i.c.length]=r;for(s=new Kn(t.o);s.a=2){for(p=!0,n=Uf(Jv(h=new Kn(o.f)),7);h.a(r-=t.a)?i:r}return i}(this,t),d=t.c.c.length,g=function(t,e){var n,r,i,o,a;for(r=0,n=new Kn(e.c);n.a(a=(i=Uf(Jv(o),9)).j.a+i.e.c+i.e.b+t.b)?r:a;return r}(this,t),N=d*g,(r=(i=Uf(kx(t,(JL(),pj)),59))==(E_(),AR)||i==SR||i==OR?Uf(kx(t,AV),15).a:1/Uf(kx(t,AV),15).a)>(n=N/p))H_(e);else{T=0,o=jP;do{f=o,o=(n=N/++T/(p*T))-r<=0?0-(n-r):n-r}while(n>r);for(fT?1:T)|0,w=E,O=!0;u=E&&(O=!0),++w,++u}for(l=new Kv(t.c,0);l.b "+this.a+" "+ph(this.c)},eI.a=0,eI.b=0,eI.d=0,Bp(SP,"SplineSelfLoopRouter/LoopPadding",91),ZN(521,1,mP,Jf),eI.D=function(t){return function(t,e){return!!function(t){switch(t.e){case 0:return iU;case 1:return eU;case 2:return tU;case 3:return sU;case 4:return aU;case 5:return fU;case 6:return hU;case 7:return oU;case 8:return nU;case 9:return rU;case 11:return uU;case 10:return cU;default:return lU}}(t.b).kb(e.c)&&(function(t){return t==Zz||t==Xz}(t.b)?!(Wf(e.d,t.c,t.a)&&Wf(e.a,t.c,t.a)):Wf(e.d,t.c,t.a)&&Wf(e.a,t.c,t.a))}(this,Uf(t,91))},eI.a=0,eI.c=0,Bp(SP,"SplineSelfLoopRouter/LoopPadding/EnclosingPredicate",521),ZN(520,1,TI,te),eI.$b=function(t,e){return function(t,e){return Ox(e.b,t.b)}(Uf(t,91),Uf(e,91))},Bp(SP,"SplineSelfLoopRouter/LoopPadding/MarginComparator",520),ZN(196,1,mP,kn),eI.D=function(t){return Uf(t,91).c==this.a},Bp(SP,"SplineSelfLoopRouter/LoopPadding/PortSidePredicate",196),ZN(195,1,{195:1},_b),eI.c=0,eI.d=0,eI.e=0,Bp(SP,"SplineSelfLoopRouter/SelfLoopEdge",195),ZN(519,1,TI,ee),eI.$b=function(t,e){return function(t,e){return t.d-e.d}(Uf(t,195),Uf(e,195))},Bp(SP,"SplineSelfLoopRouter/SelfLoopEdge/StepSizeComparator",519),ZN(82,25,{25:1,82:1},NN),eI.vc=function(){var t,e;for(t=Sk(this.a,0);t.b!=t.d.c;)Uf(Sb(t),10).a=this.j.d;for(e=Sk(this.c,0);e.b!=e.d.c;)Uf(Sb(e),10).a=this.j.d},eI.wc=function(){return this.b},eI.xc=function(){return this.e},eI.w=function(){return nC(new Un(this.d.a))},eI.b=0,eI.e=0,Bp(HP,"CLEdge",82),ZN(93,25,{25:1,93:1},rS),eI.vc=function(){this.b.i.a=this.j.d+this.b.e.b},eI.wc=function(){return this.b.g==(RT(),DF)?0:this.a},eI.xc=function(){return this.b.g==(RT(),DF)?0:this.c},eI.w=function(){return Uk(kx(this.b,($L(),oq)))},eI.a=0,eI.c=0,Bp(HP,"CLNode",93),ZN(175,17,{175:1,3:1,23:1,17:1},Ds);var dY,pY,gY,vY,bY,yY,mY,wY=tm(HP,"ConstraintCalculationStrategy",175,RD,(function(){return Nb(),Nx(Mo(wY,1),FI,175,0,[lY,hY])}));ZN(125,17,{125:1,3:1,23:1,17:1},Rs);var xY,_Y,EY,kY=tm(HP,"GraphCompactionStrategy",125,RD,(function(){return pC(),Nx(Mo(kY,1),FI,125,0,[yY,gY,mY,bY,vY,pY])}));ZN(455,1,kP,Uu),eI.sc=function(t,e){var n,r,i;if((r=Uf(kx(t,(ZL(),lX)),125))!=(pC(),yY)){switch(HE(e,"Horizontal Compaction",1),this.a=t,vo(n=new mN(function(t,e){var n,r,i;t.d=e,my(t.b),t.c=!1;t:for(n=new Kn(t.d.c);n.ao.j.e+o.j.b?d.d=!0:(d.d=!0,d.c=!0))),r.b!=r.d.c&&(e=n);d&&(a=Uf(Jp(y,c.d.f),25),e.ba.j.e+a.j.b?d.d=!0:(d.d=!0,d.c=!0))}for(u=Ip(q_(v));tE(u);)0!=(c=Uf(Nv(u),12)).a.b&&(e=Uf(Fl(c.a),10),c.d.g==(mL(),IG)&&((E=new LA(e,new ts(e.a,o.j.e),o,c)).c=!0,_.c[_.c.length]=E),c.d.g==$G&&((E=new LA(e,new ts(e.a,o.j.e+o.j.b),o,c)).d=!0,_.c[_.c.length]=E))}if(0!=_.c.length){for(zg(),xb(_,null),_y(0,_.c.length),i=new NN(Uf(_.c[0],142),t.d),f=1;f<_.c.length;f++)_y(f,_.c.length),x=Uf(_.c[f],142),!Xy(i.j.d,x.j)||DE(i.j.e+i.j.b,x.k)||DE(x.n,i.j.e)?(Lf(t.a.b,i),i=new NN(x,t.d)):_O(i,x);Lf(t.a.b,i)}_.c=Ty(TD,GI,1,0,4,1),function(t){var e,n,r,i;for(t.a.a.c=Ty(TD,GI,1,0,4,1),r=new Kn(t.a.b);r.a(r=Math.ceil(r))?0:r,e.o&&o.o&&dl(e,82)&&dl(o,82)&&!Im(Km(Uf(e,82).d,Uf(o,82).d))?(i=ol(new Gr,t.d),s=wv(Mc(o.g.a-e.g.a)),mA(ga(ba(ya(va(new jr,0>s?0:s),1),i),t.c[e.f.d])),mA(ga(ba(ya(va(new jr,0>-s?0:-s),1),i),t.c[o.f.d]))):(u=1,(dl(e,82)&&dl(o,93)||dl(o,82)&&dl(e,93))&&(u=2),mA(ga(ba(ya(va(new jr,wv(r)),u),t.c[e.f.d]),t.c[o.f.d]))))}(this),function(t){var e,n,r,i,o,a,s,c,u,l,h,f,d,p,g,v,b;for(_l(),l=new kr,c=new $s,r=new Kn(t.a.a.b);r.ae.j.d){if((d=t.c[e.f.d])==(v=t.c[h.f.d]))continue;mA(ga(ba(ya(va(new jr,1),100),d),v))}}}(this),function(t){var e,n,r,i,o,a;for(i=new lo,r=new Kn(t.d.a);r.a1)for(e=ol(wa(new Gr,t.b++),t.d),a=Sk(i,0);a.b!=a.d.c;)o=Uf(Sb(a),61),mA(ga(ba(ya(va(new jr,1),0),e),o))}(this),vS(Jh(this.d),new Uh),i=new Kn(this.a.a.b);i.a0&&(this.a[B.k]=Z++)}else{for(M=0,F=new Kn(C.f);F.a0&&++Z}for(et=0,S=0,I=e.length;S0;){for(Lu(z.b>0),Y=0,a=new Kn((B=Uf(z.a.sb(z.c=--z.b),7)).b);a.a0&&(B.g==(mL(),IG)?(this.a[B.k]=et,++et):(this.a[B.k]=et+P+R,++R))}et+=R}else{for(M=0,F=new Kn(C.f);F.a0&&++et}for(H=new kr,p=new Ji,N=0,O=t.length;Nl.c&&(l.c=U)):B.f.d==$&&(Ul.d&&(l.d=U));for(Hk(g,0,g.length,(ec(),ec(),HX)),tt=Ty(iW,vM,26,g.length,12,1),n=Ty(iW,vM,26,et+1,12,1),b=0;b0;)x%2>0&&(r+=it[x+1]),++it[x=(x-1)/2|0];for(k=Ty(CY,GI,158,2*g.length,0,1),w=0;we.f?1:t.ge.g?1:t.b-e.b}(this,Uf(t,204))},eI.b=0,eI.c=0,eI.d=0,eI.f=0,eI.g=0;var TY=Bp(YP,"BetweenLayerHyperedgeAllCrossingsCounter/Hyperedge",204);ZN(158,1,{158:1,23:1},Eg),eI.F=function(t){return function(t,e){return t.ce.c?1:t.be.b?1:t.a!=e.a?t.a.b-e.a.b:0==t.d&&1==e.d?-1:1==t.d&&0==e.d?1:0}(this,Uf(t,158))},eI.b=0,eI.c=0,eI.d=0;var CY=Bp(YP,"BetweenLayerHyperedgeAllCrossingsCounter/HyperedgeCorner",158);ZN(611,339,{},Xi),eI.Gc=function(t,e){var n,r,i,o,a,s,c,u,l,h,f,d,p,g,v,b,y,m,w,x,_,E;for(E=0,i=0,a=t[0].d,m=e[0].d,u=0,h=e.length;u0;){for(Lu(y.b>0),b=0,r=new Kn((g=Uf(y.a.sb(y.c=--y.b),7)).b);r.a0&&(g.g==(mL(),IG)?(this.a[g.k]=E,++E):(this.a[g.k]=E+d+p,++p),i+=b)}E+=p}else{for(f=0,v=new Kn(s.f);v.a0&&(++E,i+=f)}for(w=Ty(iW,vM,26,i,12,1),o=0,c=0,l=t.length;c0;)o%2>0&&(r+=s[o+1]),++s[o=(o-1)/2|0];return r}(E,i,w),n},Bp(YP,"BetweenLayerStraightEdgeAllCrossingsCounter",611),ZN(338,1,{},gC),eI.b=0,eI.e=!1,Bp(YP,"CrossingMatrixFiller",338),ZN(447,1,kP,ne),eI.sc=function(t,e){var n,r;HE(e,"Greedy switch crossing reduction",1),this.e=Uf(kx(t,(ZL(),Qq)),110),t.c.c.length<2||this.e==(TO(),lV)||(function(t,e){var n,r,i,o,a,s,c,u;for(t.f=e,i=e.c.c.length,t.a=Ty(FF,hI,51,i,0,2),t.d=Ty(FF,hI,51,i,0,2),t.g=Ty(FF,hI,51,i,0,2),a=new Kv(e.c,0);a.bPh(t.d,Gu(e.a,e.b))?-1:t.c==e.c&&Gu(t.a,t.b)==Gu(t.a,t.b)?0:1}(this,Uf(t,226))},eI.w=function(){return"ComparableEdgeAndPort [port="+this.b+", edge="+this.a+", portPosition="+this.c+"]"},eI.c=0,Bp(YP,"InLayerEdgeTwoNodeCrossingCounter/ComparableEdgeAndPort",226),ZN(612,1,{},tT),eI.e=!0,eI.f=0,eI.g=0,eI.k=!1,Bp(YP,"NorthSouthEdgeAllCrossingsCounter",612),ZN(615,1,{},qw),eI.b=0,eI.d=0,eI.e=!1,Bp(YP,"NorthSouthEdgeNeighbouringNodeCrossingsCounter",615),ZN(143,1,aM,zh),eI.mb=function(){return bA(this)},eI.b=0,Bp(YP,"PortIterable",143),ZN(344,1,qI,Lv),eI.H=function(){return Uf(dp(this.a),7)},eI.G=function(){return this.a.b>0},eI.I=function(){throw new Kr},Bp(YP,"PortIterable/1",344),ZN(336,1,{},BT),Bp(YP,"SwitchDecider",336),ZN(89,1,{89:1},re),eI.w=function(){return"NEdge[id="+this.b+" w="+this.f+" d="+this.a+"]"},eI.a=1,eI.b=0,eI.e=!1,eI.f=0;var NY=Bp(UP,"NEdge",89);ZN(157,1,{},jr),Bp(UP,"NEdge/NEdgeBuilder",157),ZN(278,1,{},Rr),Bp(UP,"NGraph",278),ZN(61,1,{61:1},Rb),eI.b=0,eI.d=-1,eI.e=0,eI.i=-1,eI.j=!1;var AY,SY,OY=Bp(UP,"NNode",61);ZN(333,13,xP,Ur),eI.rb=function(t,e){++this.d,xy(t,this.c.length),Ac(this.c,t,e)},eI.ib=function(t){return Tp(this,t)},eI.jb=function(t){return++this.d,ox(this,t)},eI.Q=function(){++this.d,this.c=Ty(TD,GI,1,0,4,1)},eI.vb=function(t){return++this.d,yy(this,t)},eI.nb=function(t){return Du(this,t)},Bp(UP,"NNode/ChangeAwareArrayList",333),ZN(199,1,{},Gr),Bp(UP,"NNode/NNodeBuilder",199),ZN(595,1,{},ie),eI.a=!1,eI.f=yI,eI.j=0,Bp(UP,"NetworkSimplex",595),ZN(193,17,{180:1,193:1,3:1,23:1,17:1},js),eI.rc=function(){switch(this.e){case 0:return new Mf;case 1:return new _e;default:throw new so("No implementation is available for the cycle breaker "+(null!=this.d?this.d:""+this.e))}};var LY,IY,MY,PY,DY,RY,jY=tm(qP,"CycleBreakingStrategy",193,RD,(function(){return Vg(),Nx(Mo(jY,1),FI,193,0,[AY,SY])}));ZN(539,1,XP,Mf),eI.qc=function(t){return IY},eI.sc=function(t,e){var n,r,i,o,a,s,c,u,l,h,f,d,p,g,v,b,y,m,w,x,_,E,k,T,C,N,A,S,O,L;for(HE(e,"Greedy cycle removal",1),L=(b=t.b).c.length,this.a=Ty(iW,vM,26,L,12,1),this.c=Ty(iW,vM,26,L,12,1),this.b=Ty(iW,vM,26,L,12,1),s=0,g=new Kn(b);g.a0?T+1:1);for(i=new Kn(w.e);i.a0?T+1:1)}0==this.c[s]?Of(this.d,d):0==this.a[s]&&Of(this.e,d),++s}for(f=-1,h=1,u=new Re,C=Uf(kx(t,($L(),bq)),154);L>0;){for(;0!=this.d.b;)A=Uf(wf(this.d),9),this.b[A.k]=f--,PS(this,A),--L;for(;0!=this.e.b;)S=Uf(wf(this.e),9),this.b[S.k]=h++,PS(this,S),--L;if(L>0){for(l=kI,v=new Kn(b);v.a=l&&(y>l&&(u.c=Ty(TD,GI,1,0,4,1),l=y),u.c[u.c.length]=d);c=Uf(gd(u,$k(C,u.c.length)),9),this.b[c.k]=h++,PS(this,c),--L}}for(N=b.c.length+1,s=0;sthis.b[O]&&(QS(n,!0),Ky(t,HV,(Vd(),Vd(),AX)));this.a=null,this.c=null,this.b=null,Mg(this.e),Mg(this.d),H_(e)},Bp(qP,"GreedyCycleBreaker",539),ZN(540,1,XP,_e),eI.qc=function(t){return MY},eI.sc=function(t,e){var n,r,i,o,a,s,c,u,l,h,f,d;for(HE(e,"Interactive cycle breaking",1),u=new Re,h=new Kn(t.b);h.a0&&LC(this,a,u);for(r=new Kn(u);r.a(a=s+u.j.a)?s+1:a,g=new Kv(n,0),r=null;g.b=a){Lu(g.b>0),g.a.sb(g.c=--g.b);break}d.a>s&&(r?(ox(r.b,d.b),r.a=Fo(r.a,d.a),ug(g)):(Lf(d.b,u),d.c=zo(d.c,s),d.a=Fo(d.a,a),r=d))}r||((r=new Br).c=s,r.a=a,ef(g,r),Lf(r.b,u))}for(o=t.c,c=0,p=new Kn(n);p.a0&&(n+=a.i.a+a.j.a/2,++u),l=new Kn(a.f);l.a1&&(t.c[l]=!0):y.g==KG&&y.e.c.length+y.b.c.length>1&&(t.d[l]=!0)}g.g==(RT(),BF)&&(++s[l],o[l]=!0)}for(n=!0,p=!0,a=0;a0;N++){c=(u=0!=LN(C,1))?0:g-1,s=this.b[c],k=0!=LN(C,1)?_:y,rE(s,i,u,!1,!0),o=yI,a=!0;do{if(Dw(this.b,this.k),T=o,o=0,o+=im(this.f,s,c),u){for(v=1;v=0;v--)l=this.b[v],by(k,s,(nw(),Dq)),rE(l,i,!1,!a,!1),o+=im(this.f,l,v),this.c[v]||this.d[v+1]?o+=QL(this.e,l,s):o+=zL(this.i,l,s),s=l;c=0}a=!1,u=!u}while(o0);(or?o:r;if(o>a){for(l=yE(t,n).mb();l.G();)f[(u=Uf(l.H(),7)).k]=e+zN(n,u.g)-a;return o-a}return 0}switch(n.e){case 1:for(i=0,s=0,h=new Kn(t.f);h.a"),te.e?1:t.fe.f?1:fh(t)-fh(e)}(this,Uf(t,197))},eI.b=0,eI.c=0,eI.e=0,eI.f=0;var tz=Bp(rD,"HyperedgeCrossingsCounter/Hyperedge",197);ZN(156,1,{156:1,23:1},Bg),eI.F=function(t){return function(t,e){return t.ce.c?1:t.be.b?1:t.a!=e.a?fh(t.a)-fh(e.a):t.d==(hb(),nz)&&e.d==ez?-1:t.d==ez&&e.d==nz?1:0}(this,Uf(t,156))},eI.b=0,eI.c=0;var ez,nz,rz=Bp(rD,"HyperedgeCrossingsCounter/HyperedgeCorner",156);ZN(242,17,{242:1,3:1,23:1,17:1},sc);var iz,oz,az,sz,cz=tm(rD,"HyperedgeCrossingsCounter/HyperedgeCorner/Type",242,RD,(function(){return hb(),Nx(Mo(cz,1),FI,242,0,[nz,ez])}));ZN(545,1,XP,Ae),eI.qc=function(t){return Uf(kx(t,($L(),WV)),18).kb((KA(),nV))?iz:null},eI.sc=function(t,e){var n;for(HE(e,"Interactive node placement",1),this.a=Uf(kx(t,($L(),xq)),134),n=new Kn(t.c);n.a(C=Uf(kx(n,($L(),gq)),24).a)?h:C;for(r=new Kn(k.e);r.a(C=Uf(kx(n,($L(),gq)),24).a)?E:C}Ky(m,az,W_(h)),Ky(m,sz,W_(E))}for(v=0,f=new Kn(e.c);f.a=0){for(c=null,s=new Kv(l.a,u+1);s.b0&&u[r]&&(p=rf(t.b,u[r],c)),g=Fo(g,i.d.c.b+p);for(o=new Kn(l.f);o.aw)?(c=2,a=yI):0==c?(c=1,a=_):(c=0,a=_):(f=_>=a||a-_0?(l=Uf(gd(h.d.a,o-1),9),E=Tf(t.b,h,l),g=h.i.b-h.e.d-(l.i.b+l.j.b+l.e.a+E)):g=h.i.b-h.e.d,c=g0?E:0,d.c=n,d.d=Uf(Jp(m,u.c.f),61),Tp(d.c.g,d),Tp(d.d.c,d),(C=new re).f=jk(u),C.a=E<0?-E:0,C.c=n,C.d=Uf(Jp(m,u.d.f),61),Tp(C.c.g,C),Tp(C.d.c,C));for(i=Uf(kx(t,(ZL(),gX)),24).a*wv(Math.sqrt(y)),vS(bo(yo(Jh(r),i),!1),Mw(e,1)),g=new Kn(r.a);g.aa&&(a=Uf(kx(n,gq),24).a);for(r=Ip(q_(s));tE(r);)n=Uf(Nv(r),12),s.d!=n.c.f.d&&Uf(kx(n,($L(),gq)),24).a==a&&Lf(u,new es(n.c.f,n));xb(u,t.c),Id(t.b,s.k,u)}}(h,t),h.f=Ol(h.d),function(t,e){var n,r,i,o,a,s,c,u;for(o=new Kn(e.c);o.aa&&(a=Uf(kx(n,gq),24).a);for(r=Ip(X_(s));tE(r);)n=Uf(Nv(r),12),s.d!=n.d.f.d&&Uf(kx(n,($L(),gq)),24).a==a&&Lf(u,new es(n.d.f,n));xb(u,t.c),Id(t.f,s.k,u)}}(h,t),h}(t),this.a=io(oo(Sh(kx(t,(ZL(),Vq))))),this.e=Zc(kx(t,Kq))===Zc((MT(),VU)),function(t,e){var n,r,i,o,a,s,c,u,l,h,f,d,p,g,v,b,y,m;if(!((g=e.c.c.length)<3)){for(d=Ty(iW,vM,26,g,12,1),h=0,l=new Kn(e.c);l.aa)&&Np(t.c,Uf(v.b,12));++s}o=a}}}(this,t),Cm(4,dM),f=new cm(4),Uf(kx(t,Kq),124).e){case 3:d=new yA(t,this.d.d,(ub(),xz),(dv(),yz)),f.c[f.c.length]=d;break;case 1:p=new yA(t,this.d.d,(ub(),_z),(dv(),yz)),f.c[f.c.length]=p;break;case 4:b=new yA(t,this.d.d,(ub(),xz),(dv(),mz)),f.c[f.c.length]=b;break;case 2:y=new yA(t,this.d.d,(ub(),_z),(dv(),mz)),f.c[f.c.length]=y;break;default:d=new yA(t,this.d.d,(ub(),xz),(dv(),yz)),p=new yA(t,this.d.d,_z,yz),b=new yA(t,this.d.d,xz,mz),y=new yA(t,this.d.d,_z,mz),f.c[f.c.length]=b,f.c[f.c.length]=y,f.c[f.c.length]=d,f.c[f.c.length]=p}for(n=new pc(t,this.d),o=new Kn(f);o.a_[c]&&(p=c),l=new Kn(t.b.c);l.axN(r))&&(u=r);for(!u&&(_y(0,f.c.length),u=Uf(f.c[0],81)),h=new Kn(t.c);h.a0?1:r<0?-1:0)}(this,Uf(t,27),Uf(e,27))},Bp(aD,"NeighborhoodInformation/NeighborComparator",598),ZN(334,1,{}),Bp(aD,"ThresholdStrategy",334),ZN(602,334,{},ki),eI.Ic=function(t,e,n){return this.a.k==(ub(),_z)?fP:dP},eI.Jc=function(){},Bp(aD,"ThresholdStrategy/NullThresholdStrategy",602),ZN(249,1,{249:1},gc),eI.c=!1,eI.d=!1,Bp(aD,"ThresholdStrategy/Postprocessable",249),ZN(603,334,{},Ti),eI.Ic=function(t,e,n){var r,i,o;return i=e==n,r=this.a.a[n.k]==e,i||r?(o=t,this.a.c,dv(),i&&(o=sO(this,e,!0)),(o==1/0||o==-1/0)&&r&&(o=sO(this,n,!1)),o):t},eI.Jc=function(){for(var t,e,n;0!=this.d.b;)(e=tS(this,n=Uf(Jg(this.d),249))).a&&(t=e.a,this.c.a[t.c.f.d.k]!==this.c.a[t.d.f.d.k]&&(GN(this,n)||uu(this.e,n)));for(;0!=this.e.a.c.length;)GN(this,Uf(Ux(this.e),249))},Bp(aD,"ThresholdStrategy/SimpleThresholdStrategy",603),ZN(423,1,{180:1},ue),eI.rc=function(){switch(this.a.e){case 1:return new Yc;case 3:return new Me;default:return new Ie}},Bp(sD,"EdgeRouterFactory",423),ZN(538,1,XP,Ie),eI.qc=function(t){var e,n;return n=Uf(kx(t,($L(),WV)),18),e=new iE,n.kb((KA(),rV))&&(Iw(e,Iz),Iw(e,Pz)),(n.kb(oV)||io(oo(Sh(kx(t,(ZL(),Zq))))))&&(Iw(e,Pz),n.kb(aV)&&Iw(e,Dz)),n.kb(nV)&&Iw(e,Lz),n.kb(cV)&&Iw(e,Rz),n.kb(iV)&&Iw(e,Mz),n.kb(JU)&&Iw(e,Sz),n.kb(eV)&&Iw(e,Oz),e},eI.sc=function(t,e){var n,r,i,o,a,s,c,u,l,h,f,d;HE(e,"Orthogonal edge routing",1),f=Uf(kx(t,($L(),xq)),134),io(oo(Sh(kx(t,(JL(),dj))))),l=new wC(0,f.a),d=0,o=new Kv(t.c,0),a=null,s=null;do{u=(c=o.b0?(n=f.b+(h-1)*f.a,c&&(n+=f.b),n"+this.b},eI.c=0,Bp(sD,"OrthogonalRoutingGenerator/Dependency",118),ZN(80,1,{80:1,23:1},Ww),eI.F=function(t){return function(t,e){return t.d-e.d}(this,Uf(t,80))},eI.t=function(t){var e;return!!dl(t,80)&&(e=Uf(t,80),this.d==e.d)},eI.v=function(){return this.d},eI.w=function(){var t,e,n,r;for(t=new $o("{"),r=new Kn(this.g);r.aEP&&(i=new ts(c,h),Of(n.a,i),$A(this.a,n,t,i,!1),o=new ts(l,h),Of(n.a,o),$A(this.a,n,t,o,!1))},eI.Lc=function(t){return t.f.i.a+t.i.a+t.a.a},eI.Mc=function(){return mL(),$G},eI.Nc=function(){return mL(),IG},Bp(sD,"OrthogonalRoutingGenerator/NorthToSouthRoutingStrategy",580),ZN(581,1,{},jn),eI.Kc=function(t,e){var n,r,i,o,a,s,c,u,l,h;for(h=e-t.i*this.a.c,s=new Kn(t.g);s.aEP&&(i=new ts(c,h),Of(n.a,i),$A(this.a,n,t,i,!1),o=new ts(l,h),Of(n.a,o),$A(this.a,n,t,o,!1))},eI.Lc=function(t){return t.f.i.a+t.i.a+t.a.a},eI.Mc=function(){return mL(),IG},eI.Nc=function(){return mL(),$G},Bp(sD,"OrthogonalRoutingGenerator/SouthToNorthRoutingStrategy",581),ZN(579,1,{},Gn),eI.Kc=function(t,e){var n,r,i,o,a,s,c,u,l,h;for(h=e+t.i*this.a.c,s=new Kn(t.g);s.aEP&&(i=new ts(h,c),Of(n.a,i),$A(this.a,n,t,i,!0),o=new ts(h,l),Of(n.a,o),$A(this.a,n,t,o,!0))},eI.Lc=function(t){return t.f.i.b+t.i.b+t.a.b},eI.Mc=function(){return mL(),LG},eI.Nc=function(){return mL(),KG},Bp(sD,"OrthogonalRoutingGenerator/WestToEastRoutingStrategy",579),ZN(535,1,XP,Yc),eI.qc=function(t){var e,n;return n=Uf(kx(t,($L(),WV)),18),e=new iE,(n.kb((KA(),oV))||io(oo(Sh(kx(t,(ZL(),Zq))))))&&(Iw(e,Bz),n.kb(aV)&&Iw(e,Fz)),n.kb(JU)&&Iw(e,jz),n.kb(eV)&&Iw(e,Gz),e},eI.sc=function(t,e){var n,r,i,o,a,s,c,u,l,h,f,d,p,g,v,b,y,m,w,x;for(HE(e,"Polyline edge routing",1),h=Uf(kx(t,($L(),wq)),15).a,n=Uf(kx(t,(ZL(),$q)),15).a,v=0,0!=t.c.c.length&&(v=.4*n*(b=FN(Uf(gd(t.c,0),16)))),o=new Kv(t.c,0);o.b0&&(v-=h),DO(i,v),c=0,l=new Kn(i.a);l.a(g-p<=0?0-(g-p):g-p)?s:g-p<=0?0-(g-p):g-p;switch(u.g.e){case 0:case 4:case 1:case 3:lO(this,u,v)}c=c>s?c:s}o.b(b=FN((Lu(o.b0),o.a.sb(o.c=--o.b)),a=.4*n*c,!r&&o.b0?((f=(b+1)*this.a)=0&&(O+=(b+2)*this.a)}g=w,c=u}while(w);for(r=new Kn(N);r.a("+this.c+") "+this.b},eI.c=0,Bp(cD,"SplineEdgeRouter/Dependency",117),ZN(223,17,{223:1,3:1,23:1,17:1},vc);var CU,NU,AU,SU,OU,LU,IU=tm(cD,"SplineEdgeRouter/SideToProcess",223,RD,(function(){return pv(),Nx(Mo(IU,1),FI,223,0,[EU,kU])}));ZN(77,1,{77:1,23:1},KC,MO),eI.F=function(t){return function(t,e){return t.i-e.i}(this,Uf(t,77))},eI.a=0,eI.b=0,eI.e=0,eI.f=!1,eI.i=0,eI.k=0,eI.n=0,eI.p=0,Bp(cD,"SplineEdgeRouter/SplineHyperEdge",77),ZN(123,17,{123:1,3:1,23:1,17:1},bc);var MU,PU,DU,RU,jU=tm(dD,"ContentAlignment",123,RD,(function(){return PT(),Nx(Mo(jU,1),FI,123,0,[LU,OU,SU,NU,CU,AU])}));ZN(218,17,{218:1,3:1,23:1,17:1},yc);var GU,BU,FU,HU,YU,zU=tm(dD,"EdgeConstraint",218,RD,(function(){return Dx(),Nx(Mo(zU,1),FI,218,0,[DU,PU,RU])}));ZN(115,17,{115:1,3:1,23:1,17:1},mc);var UU,VU,qU,XU,WU,$U,ZU,KU=tm(dD,"EdgeLabelSideSelection",115,RD,(function(){return mT(),Nx(Mo(KU,1),FI,115,0,[BU,GU,HU,FU,YU])}));ZN(124,17,{124:1,3:1,23:1,17:1},wc);var QU,JU,tV,eV,nV,rV,iV,oV,aV,sV,cV,uV=tm(dD,"FixedAlignment",124,RD,(function(){return MT(),Nx(Mo(uV,1),FI,124,0,[WU,XU,ZU,qU,$U,VU])}));ZN(113,17,{113:1,3:1,23:1,17:1},xc);var lV,hV,fV,dV,pV,gV,vV,bV,yV=tm(dD,"GraphProperties",113,RD,(function(){return KA(),Nx(Mo(yV,1),FI,113,0,[tV,nV,rV,iV,oV,aV,cV,JU,eV,sV])}));ZN(110,17,{110:1,3:1,23:1,17:1},kb),eI.a=!1,eI.b=!1,eI.c=!1;var mV,wV,xV,_V,EV=tm(dD,"GreedySwitchType",110,RD,(function(){return TO(),Nx(Mo(EV,1),FI,110,0,[hV,gV,fV,vV,dV,bV,pV,lV])}));ZN(140,17,{140:1,3:1,23:1,17:1},_c);var kV,TV,CV=tm(dD,"InLayerConstraint",140,RD,(function(){return jm(),Nx(Mo(CV,1),FI,140,0,[xV,_V,wV])}));ZN(174,17,{174:1,3:1,23:1,17:1},Ec);var NV,AV,SV,OV,LV,IV,MV,PV,DV,RV,jV,GV,BV,FV,HV,YV,zV,UV,VV,qV,XV,WV,$V,ZV,KV,QV,JV,tq,eq,nq,rq,iq,oq,aq,sq,cq,uq,lq,hq,fq,dq,pq,gq,vq,bq,yq,mq,wq,xq,_q,Eq,kq,Tq,Cq,Nq,Aq,Sq,Oq,Lq,Iq,Mq=tm(dD,"InteractiveReferencePoint",174,RD,(function(){return cb(),Nx(Mo(Mq,1),FI,174,0,[kV,TV])}));ZN(85,17,{85:1,3:1,23:1,17:1},kc);var Pq,Dq,Rq,jq,Gq=tm(dD,"LayerConstraint",85,RD,(function(){return qk(),Nx(Mo(Gq,1),FI,85,0,[Iq,Aq,Sq,Oq,Lq])}));ZN(219,17,{219:1,3:1,23:1,17:1},Tc);var Bq,Fq,Hq,Yq,zq,Uq,Vq,qq,Xq,Wq,$q,Zq,Kq,Qq,Jq,tX,eX,nX,rX,iX,oX,aX,sX,cX,uX,lX,hX,fX,dX,pX,gX,vX,bX,yX,mX,wX=tm(dD,"PortType",219,RD,(function(){return nw(),Nx(Mo(wX,1),FI,219,0,[jq,Dq,Rq])}));ZN(153,17,{153:1,3:1,23:1,17:1},Cc);var xX,_X,EX,kX,TX=tm(dD,"SelfLoopPlacement",153,RD,(function(){return ME(),Nx(Mo(TX,1),FI,153,0,[bX,mX,yX])}));ZN(134,1,{134:1},gL),eI.a=0,eI.b=0,eI.c=0,eI.d=0,eI.e=0,eI.f=0,Bp(dD,"Spacings",134),ZN(172,17,{172:1,3:1,23:1,17:1},Nc);var CX,NX,AX,SX=tm(dD,"WideNodesStrategy",172,RD,(function(){return Bw(),Nx(Mo(SX,1),FI,172,0,[_X,EX,kX])}));ZN(644,1,{}),Bp(MI,"OutputStream",644),ZN(645,644,{}),Bp(MI,"FilterOutputStream",645),ZN(291,645,{},he),Bp(MI,"PrintStream",291),ZN(255,1,{}),eI.w=function(){return this.a},Bp(OI,"AbstractStringBuilder",255),ZN(621,95,dI,Ci),Bp(OI,"ArrayIndexOutOfBoundsException",621),ZN(290,72,dI,Wr,Eo),Bp(OI,"ArrayStoreException",290),ZN(252,46,fI),Bp(OI,"Error",252),ZN(84,252,fI,Er,sm),Bp(OI,"AssertionError",84),aI={3:1,349:1,23:1};var OX=Bp(OI,"Boolean",349);sI={3:1,23:1,184:1,231:1};var LX=Bp(OI,"Double",184);ZN(15,231,{3:1,23:1,15:1,231:1},Fn,Hn),eI.F=function(t){return function(t,e){return Ox(t.a,e.a)}(this,Uf(t,15))},eI.t=function(t){return dl(t,15)&&Uf(t,15).a==this.a},eI.v=function(){return wv(this.a)},eI.w=function(){return t=this.a,si(),""+t;var t},eI.a=0;var IX,MX,PX=Bp(OI,"Float",15);ZN(101,72,dI,$r,ko),Bp(OI,"IllegalStateException",101),ZN(608,72,dI,To),Bp(OI,"NegativeArraySizeException",608),ZN(76,72,{3:1,54:1,76:1,46:1},Zr,Co),Bp(OI,"NullPointerException",76),ZN(130,29,{3:1,54:1,29:1,130:1,46:1},Ni,Zo),Bp(OI,"NumberFormatException",130),ZN(146,1,{3:1,146:1},Fg),eI.t=function(t){var e;return!!dl(t,146)&&(e=Uf(t,146),this.c==e.c&&Ag(this.d,e.d)&&Ag(this.a,e.a)&&Ag(this.b,e.b))},eI.v=function(){return $x(Nx(Mo(TD,1),GI,1,4,[W_(this.c),this.a,this.d,this.b]))},eI.w=function(){return this.a+"."+this.d+"("+(null!=this.b?this.b:"Unknown Source")+(this.c>=0?":"+this.c:"")+")"},eI.c=0;var DX,RX,jX,GX,BX,FX,HX,YX,zX=Bp(OI,"StackTraceElement",146);ZN(98,255,{345:1},ta,ea,$o),Bp(OI,"StringBuilder",98),ZN(45,72,{3:1,54:1,46:1,45:1},Kr,No),Bp(OI,"UnsupportedOperationException",45),ZN(213,638,XI),eI.Q=function(){my(this)},eI.R=function(t){return qy(this,t)},eI.ab=function(t){return Jx(this,t,this.e)||Jx(this,t,this.d)},eI.bb=function(){return new Yn(this)},eI.cb=function(t){return Jp(this,t)},eI.db=function(t,e){return wg(this,t,e)},eI.eb=function(t){return Kd(this,t)},eI.Y=function(){return Hs(this)},Bp(WI,"AbstractHashMap",213),ZN(120,641,ZI,Yn),eI.Q=function(){this.a.Q()},eI.kb=function(t){return fb(this,t)},eI.mb=function(){return new Xx(this.a)},eI.nb=function(t){var e;return!!fb(this,t)&&(e=Uf(t,21).yb(),this.a.eb(e),!0)},eI.Y=function(){return this.a.Y()},Bp(WI,"AbstractHashMap/EntrySet",120),ZN(148,1,qI,Xx),eI.H=function(){return Um(this)},eI.G=function(){return this.b},eI.I=function(){Hy(this)},eI.b=!1,Bp(WI,"AbstractHashMap/EntrySetIterator",148),ZN(162,1,qI,zn),eI.G=function(){return this.b0},eI.L=function(){return this.b},eI.M=function(){return dp(this)},eI.N=function(){return this.b-1},eI.O=function(t){nf(this,t)},Bp(WI,"AbstractList/ListIteratorImpl",43),ZN(258,647,KI,Wv),eI.rb=function(t,e){xy(t,this.b),this.c.rb(this.a+t,e),++this.b},eI.sb=function(t){return _y(t,this.b),this.c.sb(this.a+t)},eI.vb=function(t){var e;return _y(t,this.b),e=this.c.vb(this.a+t),--this.b,e},eI.wb=function(t,e){return _y(t,this.b),this.c.wb(this.a+t,e)},eI.Y=function(){return this.b},eI.a=0,eI.b=0,Bp(WI,"AbstractList/SubList",258),ZN(36,641,ZI,Un),eI.Q=function(){this.a.Q()},eI.kb=function(t){return this.a.R(t)},eI.mb=function(){return new Vn(this.a.bb().mb())},eI.nb=function(t){return!!this.a.R(t)&&(this.a.eb(t),!0)},eI.Y=function(){return this.a.Y()},Bp(WI,"AbstractMap/1",36),ZN(40,1,qI,Vn),eI.G=function(){return this.a.G()},eI.H=function(){return Uf(this.a.H(),21).yb()},eI.I=function(){this.a.I()},Bp(WI,"AbstractMap/1/1",40),ZN(211,640,$I,qn),eI.Q=function(){this.a.Q()},eI.kb=function(t){return this.a.ab(t)},eI.mb=function(){return new Xn(this.a.bb().mb())},eI.Y=function(){return this.a.Y()},Bp(WI,"AbstractMap/2",211),ZN(212,1,qI,Xn),eI.G=function(){return this.a.G()},eI.H=function(){return Uf(this.a.H(),21).zb()},eI.I=function(){this.a.I()},Bp(WI,"AbstractMap/2/1",212),ZN(210,1,{210:1,21:1}),eI.t=function(t){var e;return!!dl(t,21)&&(e=Uf(t,21),Ag(this.d,e.yb())&&Ag(this.e,e.zb()))},eI.yb=function(){return this.d},eI.zb=function(){return this.e},eI.v=function(){return Fu(this.d)^Fu(this.e)},eI.Ab=function(t){return bf(this,t)},eI.w=function(){return this.d+"="+this.e},Bp(WI,"AbstractMap/AbstractEntry",210),ZN(163,210,{210:1,163:1,21:1},Fc),Bp(WI,"AbstractMap/SimpleEntry",163),ZN(652,1,eM),eI.t=function(t){var e;return!!dl(t,21)&&(e=Uf(t,21),Ag(this.yb(),e.yb())&&Ag(this.zb(),e.zb()))},eI.v=function(){return Fu(this.yb())^Fu(this.zb())},eI.w=function(){return this.yb()+"="+this.zb()},Bp(WI,nM,652),ZN(639,638,XI),eI._=function(t){return Ey(this,t)},eI.R=function(t){return Rc(this,t)},eI.bb=function(){return new Wn(this)},eI.cb=function(t){return Kc(t_(this,t))},eI.W=function(){return new $n(this)},Bp(WI,"AbstractNavigableMap",639),ZN(287,641,ZI,Wn),eI.kb=function(t){return dl(t,21)&&Ey(this.b,Uf(t,21))},eI.mb=function(){return new ff(this.b)},eI.nb=function(t){var e;return!!dl(t,21)&&(e=Uf(t,21),jy(this.b,e))},eI.Y=function(){return this.b.c},Bp(WI,"AbstractNavigableMap/EntrySet",287),ZN(229,641,tM,$n),eI.Q=function(){fo(this.a)},eI.kb=function(t){return Rc(this.a,t)},eI.mb=function(){return new Zn(new ff(new th(this.a).b))},eI.nb=function(t){return!!Rc(this.a,t)&&(vg(this.a,t),!0)},eI.Y=function(){return this.a.c},Bp(WI,"AbstractNavigableMap/NavigableKeySet",229),ZN(230,1,qI,Zn),eI.G=function(){return Fs(this.a.a)},eI.H=function(){return gh(this.a).yb()},eI.I=function(){rd(this.a)},Bp(WI,"AbstractNavigableMap/NavigableKeySet/1",230),ZN(4,1,qI,Kn),eI.G=function(){return pl(this)},eI.H=function(){return Jv(this)},eI.I=function(){fp(this)},eI.a=0,eI.b=-1,Bp(WI,"ArrayList/1",4),ZN(94,647,gD,Qn),eI.kb=function(t){return-1!=function(t,e){var n,r;for(n=0,r=t.Y();n2e3&&(dR=t,pR=r.setTimeout(da,10)),0==fR++&&(function(t){var e,n;if(t.a){n=null;do{e=t.a,t.a=null,n=SC(e,n)}while(t.a);t.a=n}}((hi(),iR)),!0)}();try{return function(t,e,n){return t.apply(e,n)}(t,e,n)}finally{!function(t){t&&function(t){var e,n;if(t.b){n=null;do{e=t.b,t.b=null,n=SC(e,n)}while(t.b);t.b=n}}((hi(),iR)),--fR,t&&-1!=pR&&(function(t){r.clearTimeout(t)}(pR),pR=-1)}(i)}}(t,this,arguments)}},lW=lW=function(t,e,n,r){ho();var i=rI;function o(){for(var t=0;te&&(this.rect.x-=(this.labelWidth-e)/2,this.setWidth(this.labelWidth)),this.labelHeight>n&&("center"==this.labelPos?this.rect.y-=(this.labelHeight-n)/2:"top"==this.labelPos&&(this.rect.y-=this.labelHeight-n),this.setHeight(this.labelHeight))}}},u.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==i.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},u.prototype.transform=function(t){var e=this.rect.x;e>a.WORLD_BOUNDARY?e=a.WORLD_BOUNDARY:e<-a.WORLD_BOUNDARY&&(e=-a.WORLD_BOUNDARY);var n=this.rect.y;n>a.WORLD_BOUNDARY?n=a.WORLD_BOUNDARY:n<-a.WORLD_BOUNDARY&&(n=-a.WORLD_BOUNDARY);var r=new c(e,n),i=t.inverseTransformPoint(r);this.setLocation(i.x,i.y)},u.prototype.getLeft=function(){return this.rect.x},u.prototype.getRight=function(){return this.rect.x+this.rect.width},u.prototype.getTop=function(){return this.rect.y},u.prototype.getBottom=function(){return this.rect.y+this.rect.height},u.prototype.getParent=function(){return null==this.owner?null:this.owner.getParent()},t.exports=u},function(t,e,n){"use strict";function r(t,e){null==t&&null==e?(this.x=0,this.y=0):(this.x=t,this.y=e)}r.prototype.getX=function(){return this.x},r.prototype.getY=function(){return this.y},r.prototype.setX=function(t){this.x=t},r.prototype.setY=function(t){this.y=t},r.prototype.getDifference=function(t){return new DimensionD(this.x-t.x,this.y-t.y)},r.prototype.getCopy=function(){return new r(this.x,this.y)},r.prototype.translate=function(t){return this.x+=t.width,this.y+=t.height,this},t.exports=r},function(t,e,n){"use strict";var r=n(2),i=n(10),o=n(0),a=n(6),s=n(3),c=n(1),u=n(13),l=n(12),h=n(11);function f(t,e,n){r.call(this,n),this.estimatedSize=i.MIN_VALUE,this.margin=o.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=t,null!=e&&e instanceof a?this.graphManager=e:null!=e&&e instanceof Layout&&(this.graphManager=e.graphManager)}for(var d in f.prototype=Object.create(r.prototype),r)f[d]=r[d];f.prototype.getNodes=function(){return this.nodes},f.prototype.getEdges=function(){return this.edges},f.prototype.getGraphManager=function(){return this.graphManager},f.prototype.getParent=function(){return this.parent},f.prototype.getLeft=function(){return this.left},f.prototype.getRight=function(){return this.right},f.prototype.getTop=function(){return this.top},f.prototype.getBottom=function(){return this.bottom},f.prototype.isConnected=function(){return this.isConnected},f.prototype.add=function(t,e,n){if(null==e&&null==n){var r=t;if(null==this.graphManager)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(r)>-1)throw"Node already in graph!";return r.owner=this,this.getNodes().push(r),r}var i=t;if(!(this.getNodes().indexOf(e)>-1&&this.getNodes().indexOf(n)>-1))throw"Source or target not in graph!";if(e.owner!=n.owner||e.owner!=this)throw"Both owners must be this graph!";return e.owner!=n.owner?null:(i.source=e,i.target=n,i.isInterGraph=!1,this.getEdges().push(i),e.edges.push(i),n!=e&&n.edges.push(i),i)},f.prototype.remove=function(t){var e=t;if(t instanceof s){if(null==e)throw"Node is null!";if(null==e.owner||e.owner!=this)throw"Owner graph is invalid!";if(null==this.graphManager)throw"Owner graph manager is invalid!";for(var n=e.edges.slice(),r=n.length,i=0;i-1&&l>-1))throw"Source and/or target doesn't know this edge!";if(o.source.edges.splice(u,1),o.target!=o.source&&o.target.edges.splice(l,1),-1==(a=o.source.owner.getEdges().indexOf(o)))throw"Not in owner's edge list!";o.source.owner.getEdges().splice(a,1)}},f.prototype.updateLeftTop=function(){for(var t,e,n,r=i.MAX_VALUE,o=i.MAX_VALUE,a=this.getNodes(),s=a.length,c=0;c(t=u.getTop())&&(r=t),o>(e=u.getLeft())&&(o=e)}return r==i.MAX_VALUE?null:(n=null!=a[0].getParent().paddingLeft?a[0].getParent().paddingLeft:this.margin,this.left=o-n,this.top=r-n,new l(this.left,this.top))},f.prototype.updateBounds=function(t){for(var e,n,r,o,a,s=i.MAX_VALUE,c=-i.MAX_VALUE,l=i.MAX_VALUE,h=-i.MAX_VALUE,f=this.nodes,d=f.length,p=0;p(e=g.getLeft())&&(s=e),c<(n=g.getRight())&&(c=n),l>(r=g.getTop())&&(l=r),h<(o=g.getBottom())&&(h=o)}var v=new u(s,l,c-s,h-l);s==i.MAX_VALUE&&(this.left=this.parent.getLeft(),this.right=this.parent.getRight(),this.top=this.parent.getTop(),this.bottom=this.parent.getBottom()),a=null!=f[0].getParent().paddingLeft?f[0].getParent().paddingLeft:this.margin,this.left=v.x-a,this.right=v.x+v.width+a,this.top=v.y-a,this.bottom=v.y+v.height+a},f.calculateBounds=function(t){for(var e,n,r,o,a=i.MAX_VALUE,s=-i.MAX_VALUE,c=i.MAX_VALUE,l=-i.MAX_VALUE,h=t.length,f=0;f(e=d.getLeft())&&(a=e),s<(n=d.getRight())&&(s=n),c>(r=d.getTop())&&(c=r),l<(o=d.getBottom())&&(l=o)}return new u(a,c,s-a,l-c)},f.prototype.getInclusionTreeDepth=function(){return this==this.graphManager.getRoot()?1:this.parent.getInclusionTreeDepth()},f.prototype.getEstimatedSize=function(){if(this.estimatedSize==i.MIN_VALUE)throw"assert failed";return this.estimatedSize},f.prototype.calcEstimatedSize=function(){for(var t=0,e=this.nodes,n=e.length,r=0;r=this.nodes.length){var c=0;i.forEach((function(e){e.owner==t&&c++})),c==this.nodes.length&&(this.isConnected=!0)}}else this.isConnected=!0},t.exports=f},function(t,e,n){"use strict";var r,i=n(1);function o(t){r=n(5),this.layout=t,this.graphs=[],this.edges=[]}o.prototype.addRoot=function(){var t=this.layout.newGraph(),e=this.layout.newNode(null),n=this.add(t,e);return this.setRootGraph(n),this.rootGraph},o.prototype.add=function(t,e,n,r,i){if(null==n&&null==r&&null==i){if(null==t)throw"Graph is null!";if(null==e)throw"Parent node is null!";if(this.graphs.indexOf(t)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(t),null!=t.parent)throw"Already has a parent!";if(null!=e.child)throw"Already has a child!";return t.parent=e,e.child=t,t}i=n,n=t;var o=(r=e).getOwner(),a=i.getOwner();if(null==o||o.getGraphManager()!=this)throw"Source not in this graph mgr!";if(null==a||a.getGraphManager()!=this)throw"Target not in this graph mgr!";if(o==a)return n.isInterGraph=!1,o.add(n,r,i);if(n.isInterGraph=!0,n.source=r,n.target=i,this.edges.indexOf(n)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(n),null==n.source||null==n.target)throw"Edge source and/or target is null!";if(-1!=n.source.edges.indexOf(n)||-1!=n.target.edges.indexOf(n))throw"Edge already in source and/or target incidency list!";return n.source.edges.push(n),n.target.edges.push(n),n},o.prototype.remove=function(t){if(t instanceof r){var e=t;if(e.getGraphManager()!=this)throw"Graph not in this graph mgr";if(e!=this.rootGraph&&(null==e.parent||e.parent.graphManager!=this))throw"Invalid parent node!";for(var n,o=[],a=(o=o.concat(e.getEdges())).length,s=0;s=e.getRight()?n[0]+=Math.min(e.getX()-t.getX(),t.getRight()-e.getRight()):e.getX()<=t.getX()&&e.getRight()>=t.getRight()&&(n[0]+=Math.min(t.getX()-e.getX(),e.getRight()-t.getRight())),t.getY()<=e.getY()&&t.getBottom()>=e.getBottom()?n[1]+=Math.min(e.getY()-t.getY(),t.getBottom()-e.getBottom()):e.getY()<=t.getY()&&e.getBottom()>=t.getBottom()&&(n[1]+=Math.min(t.getY()-e.getY(),e.getBottom()-t.getBottom()));var o=Math.abs((e.getCenterY()-t.getCenterY())/(e.getCenterX()-t.getCenterX()));e.getCenterY()===t.getCenterY()&&e.getCenterX()===t.getCenterX()&&(o=1);var a=o*n[0],s=n[1]/o;n[0]a)return n[0]=r,n[1]=c,n[2]=o,n[3]=m,!1;if(io)return n[0]=s,n[1]=i,n[2]=b,n[3]=a,!1;if(ro?(n[0]=l,n[1]=h,E=!0):(n[0]=u,n[1]=c,E=!0):T===N&&(r>o?(n[0]=s,n[1]=c,E=!0):(n[0]=f,n[1]=h,E=!0)),-C===N?o>r?(n[2]=y,n[3]=m,k=!0):(n[2]=b,n[3]=v,k=!0):C===N&&(o>r?(n[2]=g,n[3]=v,k=!0):(n[2]=w,n[3]=m,k=!0)),E&&k)return!1;if(r>o?i>a?(A=this.getCardinalDirection(T,N,4),S=this.getCardinalDirection(C,N,2)):(A=this.getCardinalDirection(-T,N,3),S=this.getCardinalDirection(-C,N,1)):i>a?(A=this.getCardinalDirection(-T,N,1),S=this.getCardinalDirection(-C,N,3)):(A=this.getCardinalDirection(T,N,2),S=this.getCardinalDirection(C,N,4)),!E)switch(A){case 1:L=c,O=r+-p/N,n[0]=O,n[1]=L;break;case 2:O=f,L=i+d*N,n[0]=O,n[1]=L;break;case 3:L=h,O=r+p/N,n[0]=O,n[1]=L;break;case 4:O=l,L=i+-d*N,n[0]=O,n[1]=L}if(!k)switch(S){case 1:M=v,I=o+-_/N,n[2]=I,n[3]=M;break;case 2:I=w,M=a+x*N,n[2]=I,n[3]=M;break;case 3:M=m,I=o+_/N,n[2]=I,n[3]=M;break;case 4:I=y,M=a+-x*N,n[2]=I,n[3]=M}}return!1},i.getCardinalDirection=function(t,e,n){return t>e?n:1+n%4},i.getIntersection=function(t,e,n,i){if(null==i)return this.getIntersection2(t,e,n);var o,a,s,c,u,l,h,f=t.x,d=t.y,p=e.x,g=e.y,v=n.x,b=n.y,y=i.x,m=i.y;return 0==(h=(o=g-d)*(c=v-y)-(a=m-b)*(s=f-p))?null:new r((s*(l=y*b-v*m)-c*(u=p*d-f*g))/h,(a*u-o*l)/h)},i.angleOfVector=function(t,e,n,r){var i=void 0;return t!==n?(i=Math.atan((r-e)/(n-t)),n0?1:t<0?-1:0},r.floor=function(t){return t<0?Math.ceil(t):Math.floor(t)},r.ceil=function(t){return t<0?Math.floor(t):Math.ceil(t)},t.exports=r},function(t,e,n){"use strict";function r(){}r.MAX_VALUE=2147483647,r.MIN_VALUE=-2147483648,t.exports=r},function(t,e,n){"use strict";var r=function(){function t(t,e){for(var n=0;n0&&e;){for(s.push(u[0]);s.length>0&&e;){var l=s[0];s.splice(0,1),a.add(l);var h=l.getEdges();for(o=0;o-1&&u.splice(g,1)}a=new Set,c=new Map}else t=[]}return t},f.prototype.createDummyNodesForBendpoints=function(t){for(var e=[],n=t.source,r=this.graphManager.calcLowestCommonAncestor(t.source,t.target),i=0;i0){for(var i=this.edgeToDummyNodes.get(n),o=0;o=0&&e.splice(h,1),l.getNeighborsList().forEach((function(t){if(n.indexOf(t)<0){var e=r.get(t)-1;1==e&&c.push(t),r.set(t,e)}}))}n=n.concat(c),1!=e.length&&2!=e.length||(i=!0,o=e[0])}return o},f.prototype.setGraphManager=function(t){this.graphManager=t},t.exports=f},function(t,e,n){"use strict";function r(){}r.seed=1,r.x=0,r.nextDouble=function(){return r.x=1e4*Math.sin(r.seed++),r.x-Math.floor(r.x)},t.exports=r},function(t,e,n){"use strict";var r=n(4);function i(t,e){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}i.prototype.getWorldOrgX=function(){return this.lworldOrgX},i.prototype.setWorldOrgX=function(t){this.lworldOrgX=t},i.prototype.getWorldOrgY=function(){return this.lworldOrgY},i.prototype.setWorldOrgY=function(t){this.lworldOrgY=t},i.prototype.getWorldExtX=function(){return this.lworldExtX},i.prototype.setWorldExtX=function(t){this.lworldExtX=t},i.prototype.getWorldExtY=function(){return this.lworldExtY},i.prototype.setWorldExtY=function(t){this.lworldExtY=t},i.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},i.prototype.setDeviceOrgX=function(t){this.ldeviceOrgX=t},i.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},i.prototype.setDeviceOrgY=function(t){this.ldeviceOrgY=t},i.prototype.getDeviceExtX=function(){return this.ldeviceExtX},i.prototype.setDeviceExtX=function(t){this.ldeviceExtX=t},i.prototype.getDeviceExtY=function(){return this.ldeviceExtY},i.prototype.setDeviceExtY=function(t){this.ldeviceExtY=t},i.prototype.transformX=function(t){var e=0,n=this.lworldExtX;return 0!=n&&(e=this.ldeviceOrgX+(t-this.lworldOrgX)*this.ldeviceExtX/n),e},i.prototype.transformY=function(t){var e=0,n=this.lworldExtY;return 0!=n&&(e=this.ldeviceOrgY+(t-this.lworldOrgY)*this.ldeviceExtY/n),e},i.prototype.inverseTransformX=function(t){var e=0,n=this.ldeviceExtX;return 0!=n&&(e=this.lworldOrgX+(t-this.ldeviceOrgX)*this.lworldExtX/n),e},i.prototype.inverseTransformY=function(t){var e=0,n=this.ldeviceExtY;return 0!=n&&(e=this.lworldOrgY+(t-this.ldeviceOrgY)*this.lworldExtY/n),e},i.prototype.inverseTransformPoint=function(t){return new r(this.inverseTransformX(t.x),this.inverseTransformY(t.y))},t.exports=i},function(t,e,n){"use strict";var r=n(15),i=n(7),o=n(0),a=n(8),s=n(9);function c(){r.call(this),this.useSmartIdealEdgeLengthCalculation=i.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION,this.idealEdgeLength=i.DEFAULT_EDGE_LENGTH,this.springConstant=i.DEFAULT_SPRING_STRENGTH,this.repulsionConstant=i.DEFAULT_REPULSION_STRENGTH,this.gravityConstant=i.DEFAULT_GRAVITY_STRENGTH,this.compoundGravityConstant=i.DEFAULT_COMPOUND_GRAVITY_STRENGTH,this.gravityRangeFactor=i.DEFAULT_GRAVITY_RANGE_FACTOR,this.compoundGravityRangeFactor=i.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR,this.displacementThresholdPerNode=3*i.DEFAULT_EDGE_LENGTH/100,this.coolingFactor=i.DEFAULT_COOLING_FACTOR_INCREMENTAL,this.initialCoolingFactor=i.DEFAULT_COOLING_FACTOR_INCREMENTAL,this.totalDisplacement=0,this.oldTotalDisplacement=0,this.maxIterations=i.MAX_ITERATIONS}for(var u in c.prototype=Object.create(r.prototype),r)c[u]=r[u];c.prototype.initParameters=function(){r.prototype.initParameters.call(this,arguments),this.totalIterations=0,this.notAnimatedIterations=0,this.useFRGridVariant=i.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION,this.grid=[]},c.prototype.calcIdealEdgeLengths=function(){for(var t,e,n,r,a,s,c=this.getGraphManager().getAllEdges(),u=0;ui.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*i.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(t-i.ADAPTATION_LOWER_NODE_LIMIT)/(i.ADAPTATION_UPPER_NODE_LIMIT-i.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-i.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=i.MAX_NODE_DISPLACEMENT_INCREMENTAL):(t>i.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(i.COOLING_ADAPTATION_FACTOR,1-(t-i.ADAPTATION_LOWER_NODE_LIMIT)/(i.ADAPTATION_UPPER_NODE_LIMIT-i.ADAPTATION_LOWER_NODE_LIMIT)*(1-i.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=i.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(5*this.getAllNodes().length,this.maxIterations),this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},c.prototype.calcSpringForces=function(){for(var t,e=this.getAllEdges(),n=0;n0&&void 0!==arguments[0])||arguments[0],s=arguments.length>1&&void 0!==arguments[1]&&arguments[1],c=this.getAllNodes();if(this.useFRGridVariant)for(this.totalIterations%i.GRID_CALCULATION_CHECK_PERIOD==1&&a&&this.updateGrid(),o=new Set,t=0;t(c=e.getEstimatedSize()*this.gravityRangeFactor)||s>c)&&(t.gravitationForceX=-this.gravityConstant*i,t.gravitationForceY=-this.gravityConstant*o):(a>(c=e.getEstimatedSize()*this.compoundGravityRangeFactor)||s>c)&&(t.gravitationForceX=-this.gravityConstant*i*this.compoundGravityConstant,t.gravitationForceY=-this.gravityConstant*o*this.compoundGravityConstant)},c.prototype.isConverged=function(){var t,e=!1;return this.totalIterations>this.maxIterations/3&&(e=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2),t=this.totalDisplacement=s.length||u>=s[0].length))for(var l=0;lt}}]),t}();t.exports=o},function(t,e,n){"use strict";var r=function(){function t(t,e){for(var n=0;n2&&void 0!==arguments[2]?arguments[2]:1,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:-1,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:-1;!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.sequence1=e,this.sequence2=n,this.match_score=r,this.mismatch_penalty=i,this.gap_penalty=o,this.iMax=e.length+1,this.jMax=n.length+1,this.grid=new Array(this.iMax);for(var a=0;a=0;n--){var r=this.listeners[n];r.event===t&&r.callback===e&&this.listeners.splice(n,1)}},i.emit=function(t,e){for(var n=0;n{var r=n(852)(n(5639),"DataView");t.exports=r},1989:(t,e,n)=>{var r=n(1789),i=n(401),o=n(7667),a=n(1327),s=n(1866);function c(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e{var r=n(7040),i=n(4125),o=n(2117),a=n(7518),s=n(4705);function c(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e{var r=n(852)(n(5639),"Map");t.exports=r},3369:(t,e,n)=>{var r=n(4785),i=n(1285),o=n(6e3),a=n(9916),s=n(5265);function c(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e{var r=n(852)(n(5639),"Promise");t.exports=r},8525:(t,e,n)=>{var r=n(852)(n(5639),"Set");t.exports=r},8668:(t,e,n)=>{var r=n(3369),i=n(619),o=n(2385);function a(t){var e=-1,n=null==t?0:t.length;for(this.__data__=new r;++e{var r=n(8407),i=n(7465),o=n(3779),a=n(7599),s=n(4758),c=n(4309);function u(t){var e=this.__data__=new r(t);this.size=e.size}u.prototype.clear=i,u.prototype.delete=o,u.prototype.get=a,u.prototype.has=s,u.prototype.set=c,t.exports=u},2705:(t,e,n)=>{var r=n(5639).Symbol;t.exports=r},1149:(t,e,n)=>{var r=n(5639).Uint8Array;t.exports=r},577:(t,e,n)=>{var r=n(852)(n(5639),"WeakMap");t.exports=r},6874:t=>{t.exports=function(t,e,n){switch(n.length){case 0:return t.call(e);case 1:return t.call(e,n[0]);case 2:return t.call(e,n[0],n[1]);case 3:return t.call(e,n[0],n[1],n[2])}return t.apply(e,n)}},7412:t=>{t.exports=function(t,e){for(var n=-1,r=null==t?0:t.length;++n{t.exports=function(t,e){for(var n=-1,r=null==t?0:t.length,i=0,o=[];++n{var r=n(2118);t.exports=function(t,e){return!(null==t||!t.length)&&r(t,e,0)>-1}},1196:t=>{t.exports=function(t,e,n){for(var r=-1,i=null==t?0:t.length;++r{var r=n(2545),i=n(5694),o=n(1469),a=n(4144),s=n(5776),c=n(6719),u=Object.prototype.hasOwnProperty;t.exports=function(t,e){var n=o(t),l=!n&&i(t),h=!n&&!l&&a(t),f=!n&&!l&&!h&&c(t),d=n||l||h||f,p=d?r(t.length,String):[],g=p.length;for(var v in t)!e&&!u.call(t,v)||d&&("length"==v||h&&("offset"==v||"parent"==v)||f&&("buffer"==v||"byteLength"==v||"byteOffset"==v)||s(v,g))||p.push(v);return p}},9932:t=>{t.exports=function(t,e){for(var n=-1,r=null==t?0:t.length,i=Array(r);++n{t.exports=function(t,e){for(var n=-1,r=e.length,i=t.length;++n{t.exports=function(t,e,n,r){var i=-1,o=null==t?0:t.length;for(r&&o&&(n=t[++i]);++i{t.exports=function(t,e){for(var n=-1,r=null==t?0:t.length;++n{var r=n(371)("length");t.exports=r},6556:(t,e,n)=>{var r=n(9465),i=n(7813);t.exports=function(t,e,n){(void 0!==n&&!i(t[e],n)||void 0===n&&!(e in t))&&r(t,e,n)}},4865:(t,e,n)=>{var r=n(9465),i=n(7813),o=Object.prototype.hasOwnProperty;t.exports=function(t,e,n){var a=t[e];o.call(t,e)&&i(a,n)&&(void 0!==n||e in t)||r(t,e,n)}},8470:(t,e,n)=>{var r=n(7813);t.exports=function(t,e){for(var n=t.length;n--;)if(r(t[n][0],e))return n;return-1}},4037:(t,e,n)=>{var r=n(8363),i=n(3674);t.exports=function(t,e){return t&&r(e,i(e),t)}},3886:(t,e,n)=>{var r=n(8363),i=n(1704);t.exports=function(t,e){return t&&r(e,i(e),t)}},9465:(t,e,n)=>{var r=n(8777);t.exports=function(t,e,n){"__proto__"==e&&r?r(t,e,{configurable:!0,enumerable:!0,value:n,writable:!0}):t[e]=n}},5990:(t,e,n)=>{var r=n(6384),i=n(7412),o=n(4865),a=n(4037),s=n(3886),c=n(4626),u=n(278),l=n(8805),h=n(1911),f=n(8234),d=n(6904),p=n(4160),g=n(3824),v=n(9148),b=n(8517),y=n(1469),m=n(4144),w=n(6688),x=n(3218),_=n(2928),E=n(3674),k=n(1704),T="[object Arguments]",C="[object Function]",N="[object Object]",A={};A[T]=A["[object Array]"]=A["[object ArrayBuffer]"]=A["[object DataView]"]=A["[object Boolean]"]=A["[object Date]"]=A["[object Float32Array]"]=A["[object Float64Array]"]=A["[object Int8Array]"]=A["[object Int16Array]"]=A["[object Int32Array]"]=A["[object Map]"]=A["[object Number]"]=A[N]=A["[object RegExp]"]=A["[object Set]"]=A["[object String]"]=A["[object Symbol]"]=A["[object Uint8Array]"]=A["[object Uint8ClampedArray]"]=A["[object Uint16Array]"]=A["[object Uint32Array]"]=!0,A["[object Error]"]=A[C]=A["[object WeakMap]"]=!1,t.exports=function t(e,n,S,O,L,I){var M,P=1&n,D=2&n,R=4&n;if(S&&(M=L?S(e,O,L,I):S(e)),void 0!==M)return M;if(!x(e))return e;var j=y(e);if(j){if(M=g(e),!P)return u(e,M)}else{var G=p(e),B=G==C||"[object GeneratorFunction]"==G;if(m(e))return c(e,P);if(G==N||G==T||B&&!L){if(M=D||B?{}:b(e),!P)return D?h(e,s(M,e)):l(e,a(M,e))}else{if(!A[G])return L?e:{};M=v(e,G,P)}}I||(I=new r);var F=I.get(e);if(F)return F;I.set(e,M),_(e)?e.forEach((function(r){M.add(t(r,n,S,r,e,I))})):w(e)&&e.forEach((function(r,i){M.set(i,t(r,n,S,i,e,I))}));var H=j?void 0:(R?D?d:f:D?k:E)(e);return i(H||e,(function(r,i){H&&(r=e[i=r]),o(M,i,t(r,n,S,i,e,I))})),M}},3118:(t,e,n)=>{var r=n(3218),i=Object.create,o=function(){function t(){}return function(e){if(!r(e))return{};if(i)return i(e);t.prototype=e;var n=new t;return t.prototype=void 0,n}}();t.exports=o},9881:(t,e,n)=>{var r=n(7816),i=n(9291)(r);t.exports=i},6029:(t,e,n)=>{var r=n(3448);t.exports=function(t,e,n){for(var i=-1,o=t.length;++i{var r=n(9881);t.exports=function(t,e){var n=[];return r(t,(function(t,r,i){e(t,r,i)&&n.push(t)})),n}},1848:t=>{t.exports=function(t,e,n,r){for(var i=t.length,o=n+(r?1:-1);r?o--:++o{var r=n(2488),i=n(7285);t.exports=function t(e,n,o,a,s){var c=-1,u=e.length;for(o||(o=i),s||(s=[]);++c0&&o(l)?n>1?t(l,n-1,o,a,s):r(s,l):a||(s[s.length]=l)}return s}},8483:(t,e,n)=>{var r=n(5063)();t.exports=r},7816:(t,e,n)=>{var r=n(8483),i=n(3674);t.exports=function(t,e){return t&&r(t,e,i)}},7786:(t,e,n)=>{var r=n(1811),i=n(327);t.exports=function(t,e){for(var n=0,o=(e=r(e,t)).length;null!=t&&n{var r=n(2488),i=n(1469);t.exports=function(t,e,n){var o=e(t);return i(t)?o:r(o,n(t))}},4239:(t,e,n)=>{var r=n(2705),i=n(9607),o=n(2333),a=r?r.toStringTag:void 0;t.exports=function(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":a&&a in Object(t)?i(t):o(t)}},3325:t=>{t.exports=function(t,e){return t>e}},8565:t=>{var e=Object.prototype.hasOwnProperty;t.exports=function(t,n){return null!=t&&e.call(t,n)}},13:t=>{t.exports=function(t,e){return null!=t&&e in Object(t)}},2118:(t,e,n)=>{var r=n(1848),i=n(2722),o=n(2351);t.exports=function(t,e,n){return e==e?o(t,e,n):r(t,i,n)}},9454:(t,e,n)=>{var r=n(4239),i=n(7005);t.exports=function(t){return i(t)&&"[object Arguments]"==r(t)}},939:(t,e,n)=>{var r=n(2492),i=n(7005);t.exports=function t(e,n,o,a,s){return e===n||(null==e||null==n||!i(e)&&!i(n)?e!=e&&n!=n:r(e,n,o,a,t,s))}},2492:(t,e,n)=>{var r=n(6384),i=n(7114),o=n(8351),a=n(6096),s=n(4160),c=n(1469),u=n(4144),l=n(6719),h="[object Arguments]",f="[object Array]",d="[object Object]",p=Object.prototype.hasOwnProperty;t.exports=function(t,e,n,g,v,b){var y=c(t),m=c(e),w=y?f:s(t),x=m?f:s(e),_=(w=w==h?d:w)==d,E=(x=x==h?d:x)==d,k=w==x;if(k&&u(t)){if(!u(e))return!1;y=!0,_=!1}if(k&&!_)return b||(b=new r),y||l(t)?i(t,e,n,g,v,b):o(t,e,w,n,g,v,b);if(!(1&n)){var T=_&&p.call(t,"__wrapped__"),C=E&&p.call(e,"__wrapped__");if(T||C){var N=T?t.value():t,A=C?e.value():e;return b||(b=new r),v(N,A,n,g,b)}}return!!k&&(b||(b=new r),a(t,e,n,g,v,b))}},5588:(t,e,n)=>{var r=n(4160),i=n(7005);t.exports=function(t){return i(t)&&"[object Map]"==r(t)}},2958:(t,e,n)=>{var r=n(6384),i=n(939);t.exports=function(t,e,n,o){var a=n.length,s=a,c=!o;if(null==t)return!s;for(t=Object(t);a--;){var u=n[a];if(c&&u[2]?u[1]!==t[u[0]]:!(u[0]in t))return!1}for(;++a{t.exports=function(t){return t!=t}},8458:(t,e,n)=>{var r=n(3560),i=n(5346),o=n(3218),a=n(346),s=/^\[object .+?Constructor\]$/,c=Function.prototype,u=Object.prototype,l=c.toString,h=u.hasOwnProperty,f=RegExp("^"+l.call(h).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");t.exports=function(t){return!(!o(t)||i(t))&&(r(t)?f:s).test(a(t))}},9221:(t,e,n)=>{var r=n(4160),i=n(7005);t.exports=function(t){return i(t)&&"[object Set]"==r(t)}},8749:(t,e,n)=>{var r=n(4239),i=n(1780),o=n(7005),a={};a["[object Float32Array]"]=a["[object Float64Array]"]=a["[object Int8Array]"]=a["[object Int16Array]"]=a["[object Int32Array]"]=a["[object Uint8Array]"]=a["[object Uint8ClampedArray]"]=a["[object Uint16Array]"]=a["[object Uint32Array]"]=!0,a["[object Arguments]"]=a["[object Array]"]=a["[object ArrayBuffer]"]=a["[object Boolean]"]=a["[object DataView]"]=a["[object Date]"]=a["[object Error]"]=a["[object Function]"]=a["[object Map]"]=a["[object Number]"]=a["[object Object]"]=a["[object RegExp]"]=a["[object Set]"]=a["[object String]"]=a["[object WeakMap]"]=!1,t.exports=function(t){return o(t)&&i(t.length)&&!!a[r(t)]}},7206:(t,e,n)=>{var r=n(1573),i=n(6432),o=n(6557),a=n(1469),s=n(9601);t.exports=function(t){return"function"==typeof t?t:null==t?o:"object"==typeof t?a(t)?i(t[0],t[1]):r(t):s(t)}},280:(t,e,n)=>{var r=n(5726),i=n(6916),o=Object.prototype.hasOwnProperty;t.exports=function(t){if(!r(t))return i(t);var e=[];for(var n in Object(t))o.call(t,n)&&"constructor"!=n&&e.push(n);return e}},313:(t,e,n)=>{var r=n(3218),i=n(5726),o=n(3498),a=Object.prototype.hasOwnProperty;t.exports=function(t){if(!r(t))return o(t);var e=i(t),n=[];for(var s in t)("constructor"!=s||!e&&a.call(t,s))&&n.push(s);return n}},433:t=>{t.exports=function(t,e){return t{var r=n(9881),i=n(8612);t.exports=function(t,e){var n=-1,o=i(t)?Array(t.length):[];return r(t,(function(t,r,i){o[++n]=e(t,r,i)})),o}},1573:(t,e,n)=>{var r=n(2958),i=n(1499),o=n(2634);t.exports=function(t){var e=i(t);return 1==e.length&&e[0][2]?o(e[0][0],e[0][1]):function(n){return n===t||r(n,t,e)}}},6432:(t,e,n)=>{var r=n(939),i=n(7361),o=n(9095),a=n(5403),s=n(9162),c=n(2634),u=n(327);t.exports=function(t,e){return a(t)&&s(e)?c(u(t),e):function(n){var a=i(n,t);return void 0===a&&a===e?o(n,t):r(e,a,3)}}},2980:(t,e,n)=>{var r=n(6384),i=n(6556),o=n(8483),a=n(9783),s=n(3218),c=n(1704),u=n(6390);t.exports=function t(e,n,l,h,f){e!==n&&o(n,(function(o,c){if(f||(f=new r),s(o))a(e,n,c,l,t,h,f);else{var d=h?h(u(e,c),o,c+"",e,n,f):void 0;void 0===d&&(d=o),i(e,c,d)}}),c)}},9783:(t,e,n)=>{var r=n(6556),i=n(4626),o=n(7133),a=n(278),s=n(8517),c=n(5694),u=n(1469),l=n(9246),h=n(4144),f=n(3560),d=n(3218),p=n(8630),g=n(6719),v=n(6390),b=n(3678);t.exports=function(t,e,n,y,m,w,x){var _=v(t,n),E=v(e,n),k=x.get(E);if(k)r(t,n,k);else{var T=w?w(_,E,n+"",t,e,x):void 0,C=void 0===T;if(C){var N=u(E),A=!N&&h(E),S=!N&&!A&&g(E);T=E,N||A||S?u(_)?T=_:l(_)?T=a(_):A?(C=!1,T=i(E,!0)):S?(C=!1,T=o(E,!0)):T=[]:p(E)||c(E)?(T=_,c(_)?T=b(_):d(_)&&!f(_)||(T=s(E))):C=!1}C&&(x.set(E,T),m(T,E,y,w,x),x.delete(E)),r(t,n,T)}}},9556:(t,e,n)=>{var r=n(9932),i=n(7786),o=n(7206),a=n(9199),s=n(1131),c=n(1717),u=n(5022),l=n(6557),h=n(1469);t.exports=function(t,e,n){e=e.length?r(e,(function(t){return h(t)?function(e){return i(e,1===t.length?t[0]:t)}:t})):[l];var f=-1;e=r(e,c(o));var d=a(t,(function(t,n,i){return{criteria:r(e,(function(e){return e(t)})),index:++f,value:t}}));return s(d,(function(t,e){return u(t,e,n)}))}},5970:(t,e,n)=>{var r=n(3012),i=n(9095);t.exports=function(t,e){return r(t,e,(function(e,n){return i(t,n)}))}},3012:(t,e,n)=>{var r=n(7786),i=n(611),o=n(1811);t.exports=function(t,e,n){for(var a=-1,s=e.length,c={};++a{t.exports=function(t){return function(e){return null==e?void 0:e[t]}}},9152:(t,e,n)=>{var r=n(7786);t.exports=function(t){return function(e){return r(e,t)}}},98:t=>{var e=Math.ceil,n=Math.max;t.exports=function(t,r,i,o){for(var a=-1,s=n(e((r-t)/(i||1)),0),c=Array(s);s--;)c[o?s:++a]=t,t+=i;return c}},107:t=>{t.exports=function(t,e,n,r,i){return i(t,(function(t,i,o){n=r?(r=!1,t):e(n,t,i,o)})),n}},5976:(t,e,n)=>{var r=n(6557),i=n(5357),o=n(61);t.exports=function(t,e){return o(i(t,e,r),t+"")}},611:(t,e,n)=>{var r=n(4865),i=n(1811),o=n(5776),a=n(3218),s=n(327);t.exports=function(t,e,n,c){if(!a(t))return t;for(var u=-1,l=(e=i(e,t)).length,h=l-1,f=t;null!=f&&++u{var r=n(5703),i=n(8777),o=n(6557),a=i?function(t,e){return i(t,"toString",{configurable:!0,enumerable:!1,value:r(e),writable:!0})}:o;t.exports=a},1131:t=>{t.exports=function(t,e){var n=t.length;for(t.sort(e);n--;)t[n]=t[n].value;return t}},2545:t=>{t.exports=function(t,e){for(var n=-1,r=Array(t);++n{var r=n(2705),i=n(9932),o=n(1469),a=n(3448),s=r?r.prototype:void 0,c=s?s.toString:void 0;t.exports=function t(e){if("string"==typeof e)return e;if(o(e))return i(e,t)+"";if(a(e))return c?c.call(e):"";var n=e+"";return"0"==n&&1/e==-1/0?"-0":n}},7561:(t,e,n)=>{var r=n(7990),i=/^\s+/;t.exports=function(t){return t?t.slice(0,r(t)+1).replace(i,""):t}},1717:t=>{t.exports=function(t){return function(e){return t(e)}}},5652:(t,e,n)=>{var r=n(8668),i=n(7443),o=n(1196),a=n(4757),s=n(3593),c=n(1814);t.exports=function(t,e,n){var u=-1,l=i,h=t.length,f=!0,d=[],p=d;if(n)f=!1,l=o;else if(h>=200){var g=e?null:s(t);if(g)return c(g);f=!1,l=a,p=new r}else p=e?[]:d;t:for(;++u{var r=n(9932);t.exports=function(t,e){return r(e,(function(e){return t[e]}))}},1757:t=>{t.exports=function(t,e,n){for(var r=-1,i=t.length,o=e.length,a={};++r{t.exports=function(t,e){return t.has(e)}},4290:(t,e,n)=>{var r=n(6557);t.exports=function(t){return"function"==typeof t?t:r}},1811:(t,e,n)=>{var r=n(1469),i=n(5403),o=n(5514),a=n(9833);t.exports=function(t,e){return r(t)?t:i(t,e)?[t]:o(a(t))}},4318:(t,e,n)=>{var r=n(1149);t.exports=function(t){var e=new t.constructor(t.byteLength);return new r(e).set(new r(t)),e}},4626:(t,e,n)=>{t=n.nmd(t);var r=n(5639),i=e&&!e.nodeType&&e,o=i&&t&&!t.nodeType&&t,a=o&&o.exports===i?r.Buffer:void 0,s=a?a.allocUnsafe:void 0;t.exports=function(t,e){if(e)return t.slice();var n=t.length,r=s?s(n):new t.constructor(n);return t.copy(r),r}},7157:(t,e,n)=>{var r=n(4318);t.exports=function(t,e){var n=e?r(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.byteLength)}},3147:t=>{var e=/\w*$/;t.exports=function(t){var n=new t.constructor(t.source,e.exec(t));return n.lastIndex=t.lastIndex,n}},419:(t,e,n)=>{var r=n(2705),i=r?r.prototype:void 0,o=i?i.valueOf:void 0;t.exports=function(t){return o?Object(o.call(t)):{}}},7133:(t,e,n)=>{var r=n(4318);t.exports=function(t,e){var n=e?r(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.length)}},6393:(t,e,n)=>{var r=n(3448);t.exports=function(t,e){if(t!==e){var n=void 0!==t,i=null===t,o=t==t,a=r(t),s=void 0!==e,c=null===e,u=e==e,l=r(e);if(!c&&!l&&!a&&t>e||a&&s&&u&&!c&&!l||i&&s&&u||!n&&u||!o)return 1;if(!i&&!a&&!l&&t{var r=n(6393);t.exports=function(t,e,n){for(var i=-1,o=t.criteria,a=e.criteria,s=o.length,c=n.length;++i=c?u:u*("desc"==n[i]?-1:1)}return t.index-e.index}},278:t=>{t.exports=function(t,e){var n=-1,r=t.length;for(e||(e=Array(r));++n{var r=n(4865),i=n(9465);t.exports=function(t,e,n,o){var a=!n;n||(n={});for(var s=-1,c=e.length;++s{var r=n(8363),i=n(9551);t.exports=function(t,e){return r(t,i(t),e)}},1911:(t,e,n)=>{var r=n(8363),i=n(1442);t.exports=function(t,e){return r(t,i(t),e)}},4429:(t,e,n)=>{var r=n(5639)["__core-js_shared__"];t.exports=r},1463:(t,e,n)=>{var r=n(5976),i=n(6612);t.exports=function(t){return r((function(e,n){var r=-1,o=n.length,a=o>1?n[o-1]:void 0,s=o>2?n[2]:void 0;for(a=t.length>3&&"function"==typeof a?(o--,a):void 0,s&&i(n[0],n[1],s)&&(a=o<3?void 0:a,o=1),e=Object(e);++r{var r=n(8612);t.exports=function(t,e){return function(n,i){if(null==n)return n;if(!r(n))return t(n,i);for(var o=n.length,a=e?o:-1,s=Object(n);(e?a--:++a{t.exports=function(t){return function(e,n,r){for(var i=-1,o=Object(e),a=r(e),s=a.length;s--;){var c=a[t?s:++i];if(!1===n(o[c],c,o))break}return e}}},7740:(t,e,n)=>{var r=n(7206),i=n(8612),o=n(3674);t.exports=function(t){return function(e,n,a){var s=Object(e);if(!i(e)){var c=r(n,3);e=o(e),n=function(t){return c(s[t],t,s)}}var u=t(e,n,a);return u>-1?s[c?e[u]:u]:void 0}}},7445:(t,e,n)=>{var r=n(98),i=n(6612),o=n(8601);t.exports=function(t){return function(e,n,a){return a&&"number"!=typeof a&&i(e,n,a)&&(n=a=void 0),e=o(e),void 0===n?(n=e,e=0):n=o(n),a=void 0===a?e{var r=n(8525),i=n(308),o=n(1814),a=r&&1/o(new r([,-0]))[1]==1/0?function(t){return new r(t)}:i;t.exports=a},8777:(t,e,n)=>{var r=n(852),i=function(){try{var t=r(Object,"defineProperty");return t({},"",{}),t}catch(t){}}();t.exports=i},7114:(t,e,n)=>{var r=n(8668),i=n(2908),o=n(4757);t.exports=function(t,e,n,a,s,c){var u=1&n,l=t.length,h=e.length;if(l!=h&&!(u&&h>l))return!1;var f=c.get(t),d=c.get(e);if(f&&d)return f==e&&d==t;var p=-1,g=!0,v=2&n?new r:void 0;for(c.set(t,e),c.set(e,t);++p{var r=n(2705),i=n(1149),o=n(7813),a=n(7114),s=n(8776),c=n(1814),u=r?r.prototype:void 0,l=u?u.valueOf:void 0;t.exports=function(t,e,n,r,u,h,f){switch(n){case"[object DataView]":if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case"[object ArrayBuffer]":return!(t.byteLength!=e.byteLength||!h(new i(t),new i(e)));case"[object Boolean]":case"[object Date]":case"[object Number]":return o(+t,+e);case"[object Error]":return t.name==e.name&&t.message==e.message;case"[object RegExp]":case"[object String]":return t==e+"";case"[object Map]":var d=s;case"[object Set]":var p=1&r;if(d||(d=c),t.size!=e.size&&!p)return!1;var g=f.get(t);if(g)return g==e;r|=2,f.set(t,e);var v=a(d(t),d(e),r,u,h,f);return f.delete(t),v;case"[object Symbol]":if(l)return l.call(t)==l.call(e)}return!1}},6096:(t,e,n)=>{var r=n(8234),i=Object.prototype.hasOwnProperty;t.exports=function(t,e,n,o,a,s){var c=1&n,u=r(t),l=u.length;if(l!=r(e).length&&!c)return!1;for(var h=l;h--;){var f=u[h];if(!(c?f in e:i.call(e,f)))return!1}var d=s.get(t),p=s.get(e);if(d&&p)return d==e&&p==t;var g=!0;s.set(t,e),s.set(e,t);for(var v=c;++h{var r=n(5564),i=n(5357),o=n(61);t.exports=function(t){return o(i(t,void 0,r),t+"")}},1957:(t,e,n)=>{var r="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g;t.exports=r},8234:(t,e,n)=>{var r=n(8866),i=n(9551),o=n(3674);t.exports=function(t){return r(t,o,i)}},6904:(t,e,n)=>{var r=n(8866),i=n(1442),o=n(1704);t.exports=function(t){return r(t,o,i)}},5050:(t,e,n)=>{var r=n(7019);t.exports=function(t,e){var n=t.__data__;return r(e)?n["string"==typeof e?"string":"hash"]:n.map}},1499:(t,e,n)=>{var r=n(9162),i=n(3674);t.exports=function(t){for(var e=i(t),n=e.length;n--;){var o=e[n],a=t[o];e[n]=[o,a,r(a)]}return e}},852:(t,e,n)=>{var r=n(8458),i=n(7801);t.exports=function(t,e){var n=i(t,e);return r(n)?n:void 0}},5924:(t,e,n)=>{var r=n(5569)(Object.getPrototypeOf,Object);t.exports=r},9607:(t,e,n)=>{var r=n(2705),i=Object.prototype,o=i.hasOwnProperty,a=i.toString,s=r?r.toStringTag:void 0;t.exports=function(t){var e=o.call(t,s),n=t[s];try{t[s]=void 0;var r=!0}catch(t){}var i=a.call(t);return r&&(e?t[s]=n:delete t[s]),i}},9551:(t,e,n)=>{var r=n(4963),i=n(479),o=Object.prototype.propertyIsEnumerable,a=Object.getOwnPropertySymbols,s=a?function(t){return null==t?[]:(t=Object(t),r(a(t),(function(e){return o.call(t,e)})))}:i;t.exports=s},1442:(t,e,n)=>{var r=n(2488),i=n(5924),o=n(9551),a=n(479),s=Object.getOwnPropertySymbols?function(t){for(var e=[];t;)r(e,o(t)),t=i(t);return e}:a;t.exports=s},4160:(t,e,n)=>{var r=n(8552),i=n(7071),o=n(3818),a=n(8525),s=n(577),c=n(4239),u=n(346),l="[object Map]",h="[object Promise]",f="[object Set]",d="[object WeakMap]",p="[object DataView]",g=u(r),v=u(i),b=u(o),y=u(a),m=u(s),w=c;(r&&w(new r(new ArrayBuffer(1)))!=p||i&&w(new i)!=l||o&&w(o.resolve())!=h||a&&w(new a)!=f||s&&w(new s)!=d)&&(w=function(t){var e=c(t),n="[object Object]"==e?t.constructor:void 0,r=n?u(n):"";if(r)switch(r){case g:return p;case v:return l;case b:return h;case y:return f;case m:return d}return e}),t.exports=w},7801:t=>{t.exports=function(t,e){return null==t?void 0:t[e]}},222:(t,e,n)=>{var r=n(1811),i=n(5694),o=n(1469),a=n(5776),s=n(1780),c=n(327);t.exports=function(t,e,n){for(var u=-1,l=(e=r(e,t)).length,h=!1;++u{var e=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]");t.exports=function(t){return e.test(t)}},1789:(t,e,n)=>{var r=n(4536);t.exports=function(){this.__data__=r?r(null):{},this.size=0}},401:t=>{t.exports=function(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}},7667:(t,e,n)=>{var r=n(4536),i=Object.prototype.hasOwnProperty;t.exports=function(t){var e=this.__data__;if(r){var n=e[t];return"__lodash_hash_undefined__"===n?void 0:n}return i.call(e,t)?e[t]:void 0}},1327:(t,e,n)=>{var r=n(4536),i=Object.prototype.hasOwnProperty;t.exports=function(t){var e=this.__data__;return r?void 0!==e[t]:i.call(e,t)}},1866:(t,e,n)=>{var r=n(4536);t.exports=function(t,e){var n=this.__data__;return this.size+=this.has(t)?0:1,n[t]=r&&void 0===e?"__lodash_hash_undefined__":e,this}},3824:t=>{var e=Object.prototype.hasOwnProperty;t.exports=function(t){var n=t.length,r=new t.constructor(n);return n&&"string"==typeof t[0]&&e.call(t,"index")&&(r.index=t.index,r.input=t.input),r}},9148:(t,e,n)=>{var r=n(4318),i=n(7157),o=n(3147),a=n(419),s=n(7133);t.exports=function(t,e,n){var c=t.constructor;switch(e){case"[object ArrayBuffer]":return r(t);case"[object Boolean]":case"[object Date]":return new c(+t);case"[object DataView]":return i(t,n);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return s(t,n);case"[object Map]":case"[object Set]":return new c;case"[object Number]":case"[object String]":return new c(t);case"[object RegExp]":return o(t);case"[object Symbol]":return a(t)}}},8517:(t,e,n)=>{var r=n(3118),i=n(5924),o=n(5726);t.exports=function(t){return"function"!=typeof t.constructor||o(t)?{}:r(i(t))}},7285:(t,e,n)=>{var r=n(2705),i=n(5694),o=n(1469),a=r?r.isConcatSpreadable:void 0;t.exports=function(t){return o(t)||i(t)||!!(a&&t&&t[a])}},5776:t=>{var e=/^(?:0|[1-9]\d*)$/;t.exports=function(t,n){var r=typeof t;return!!(n=null==n?9007199254740991:n)&&("number"==r||"symbol"!=r&&e.test(t))&&t>-1&&t%1==0&&t{var r=n(7813),i=n(8612),o=n(5776),a=n(3218);t.exports=function(t,e,n){if(!a(n))return!1;var s=typeof e;return!!("number"==s?i(n)&&o(e,n.length):"string"==s&&e in n)&&r(n[e],t)}},5403:(t,e,n)=>{var r=n(1469),i=n(3448),o=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,a=/^\w*$/;t.exports=function(t,e){if(r(t))return!1;var n=typeof t;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=t&&!i(t))||a.test(t)||!o.test(t)||null!=e&&t in Object(e)}},7019:t=>{t.exports=function(t){var e=typeof t;return"string"==e||"number"==e||"symbol"==e||"boolean"==e?"__proto__"!==t:null===t}},5346:(t,e,n)=>{var r,i=n(4429),o=(r=/[^.]+$/.exec(i&&i.keys&&i.keys.IE_PROTO||""))?"Symbol(src)_1."+r:"";t.exports=function(t){return!!o&&o in t}},5726:t=>{var e=Object.prototype;t.exports=function(t){var n=t&&t.constructor;return t===("function"==typeof n&&n.prototype||e)}},9162:(t,e,n)=>{var r=n(3218);t.exports=function(t){return t==t&&!r(t)}},7040:t=>{t.exports=function(){this.__data__=[],this.size=0}},4125:(t,e,n)=>{var r=n(8470),i=Array.prototype.splice;t.exports=function(t){var e=this.__data__,n=r(e,t);return!(n<0||(n==e.length-1?e.pop():i.call(e,n,1),--this.size,0))}},2117:(t,e,n)=>{var r=n(8470);t.exports=function(t){var e=this.__data__,n=r(e,t);return n<0?void 0:e[n][1]}},7518:(t,e,n)=>{var r=n(8470);t.exports=function(t){return r(this.__data__,t)>-1}},4705:(t,e,n)=>{var r=n(8470);t.exports=function(t,e){var n=this.__data__,i=r(n,t);return i<0?(++this.size,n.push([t,e])):n[i][1]=e,this}},4785:(t,e,n)=>{var r=n(1989),i=n(8407),o=n(7071);t.exports=function(){this.size=0,this.__data__={hash:new r,map:new(o||i),string:new r}}},1285:(t,e,n)=>{var r=n(5050);t.exports=function(t){var e=r(this,t).delete(t);return this.size-=e?1:0,e}},6e3:(t,e,n)=>{var r=n(5050);t.exports=function(t){return r(this,t).get(t)}},9916:(t,e,n)=>{var r=n(5050);t.exports=function(t){return r(this,t).has(t)}},5265:(t,e,n)=>{var r=n(5050);t.exports=function(t,e){var n=r(this,t),i=n.size;return n.set(t,e),this.size+=n.size==i?0:1,this}},8776:t=>{t.exports=function(t){var e=-1,n=Array(t.size);return t.forEach((function(t,r){n[++e]=[r,t]})),n}},2634:t=>{t.exports=function(t,e){return function(n){return null!=n&&n[t]===e&&(void 0!==e||t in Object(n))}}},4523:(t,e,n)=>{var r=n(8306);t.exports=function(t){var e=r(t,(function(t){return 500===n.size&&n.clear(),t})),n=e.cache;return e}},4536:(t,e,n)=>{var r=n(852)(Object,"create");t.exports=r},6916:(t,e,n)=>{var r=n(5569)(Object.keys,Object);t.exports=r},3498:t=>{t.exports=function(t){var e=[];if(null!=t)for(var n in Object(t))e.push(n);return e}},1167:(t,e,n)=>{t=n.nmd(t);var r=n(1957),i=e&&!e.nodeType&&e,o=i&&t&&!t.nodeType&&t,a=o&&o.exports===i&&r.process,s=function(){try{return o&&o.require&&o.require("util").types||a&&a.binding&&a.binding("util")}catch(t){}}();t.exports=s},2333:t=>{var e=Object.prototype.toString;t.exports=function(t){return e.call(t)}},5569:t=>{t.exports=function(t,e){return function(n){return t(e(n))}}},5357:(t,e,n)=>{var r=n(6874),i=Math.max;t.exports=function(t,e,n){return e=i(void 0===e?t.length-1:e,0),function(){for(var o=arguments,a=-1,s=i(o.length-e,0),c=Array(s);++a{var r=n(1957),i="object"==typeof self&&self&&self.Object===Object&&self,o=r||i||Function("return this")();t.exports=o},6390:t=>{t.exports=function(t,e){if(("constructor"!==e||"function"!=typeof t[e])&&"__proto__"!=e)return t[e]}},619:t=>{t.exports=function(t){return this.__data__.set(t,"__lodash_hash_undefined__"),this}},2385:t=>{t.exports=function(t){return this.__data__.has(t)}},1814:t=>{t.exports=function(t){var e=-1,n=Array(t.size);return t.forEach((function(t){n[++e]=t})),n}},61:(t,e,n)=>{var r=n(6560),i=n(1275)(r);t.exports=i},1275:t=>{var e=Date.now;t.exports=function(t){var n=0,r=0;return function(){var i=e(),o=16-(i-r);if(r=i,o>0){if(++n>=800)return arguments[0]}else n=0;return t.apply(void 0,arguments)}}},7465:(t,e,n)=>{var r=n(8407);t.exports=function(){this.__data__=new r,this.size=0}},3779:t=>{t.exports=function(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n}},7599:t=>{t.exports=function(t){return this.__data__.get(t)}},4758:t=>{t.exports=function(t){return this.__data__.has(t)}},4309:(t,e,n)=>{var r=n(8407),i=n(7071),o=n(3369);t.exports=function(t,e){var n=this.__data__;if(n instanceof r){var a=n.__data__;if(!i||a.length<199)return a.push([t,e]),this.size=++n.size,this;n=this.__data__=new o(a)}return n.set(t,e),this.size=n.size,this}},2351:t=>{t.exports=function(t,e,n){for(var r=n-1,i=t.length;++r{var r=n(8983),i=n(2689),o=n(1903);t.exports=function(t){return i(t)?o(t):r(t)}},5514:(t,e,n)=>{var r=n(4523),i=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,o=/\\(\\)?/g,a=r((function(t){var e=[];return 46===t.charCodeAt(0)&&e.push(""),t.replace(i,(function(t,n,r,i){e.push(r?i.replace(o,"$1"):n||t)})),e}));t.exports=a},327:(t,e,n)=>{var r=n(3448);t.exports=function(t){if("string"==typeof t||r(t))return t;var e=t+"";return"0"==e&&1/t==-1/0?"-0":e}},346:t=>{var e=Function.prototype.toString;t.exports=function(t){if(null!=t){try{return e.call(t)}catch(t){}try{return t+""}catch(t){}}return""}},7990:t=>{var e=/\s/;t.exports=function(t){for(var n=t.length;n--&&e.test(t.charAt(n)););return n}},1903:t=>{var e="\\ud800-\\udfff",n="["+e+"]",r="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",i="\\ud83c[\\udffb-\\udfff]",o="[^"+e+"]",a="(?:\\ud83c[\\udde6-\\uddff]){2}",s="[\\ud800-\\udbff][\\udc00-\\udfff]",c="(?:"+r+"|"+i+")?",u="[\\ufe0e\\ufe0f]?",l=u+c+"(?:\\u200d(?:"+[o,a,s].join("|")+")"+u+c+")*",h="(?:"+[o+r+"?",r,a,s,n].join("|")+")",f=RegExp(i+"(?="+i+")|"+h+l,"g");t.exports=function(t){for(var e=f.lastIndex=0;f.test(t);)++e;return e}},6678:(t,e,n)=>{var r=n(5990);t.exports=function(t){return r(t,4)}},361:(t,e,n)=>{var r=n(5990);t.exports=function(t){return r(t,5)}},5703:t=>{t.exports=function(t){return function(){return t}}},3279:(t,e,n)=>{var r=n(3218),i=n(7771),o=n(4841),a=Math.max,s=Math.min;t.exports=function(t,e,n){var c,u,l,h,f,d,p=0,g=!1,v=!1,b=!0;if("function"!=typeof t)throw new TypeError("Expected a function");function y(e){var n=c,r=u;return c=u=void 0,p=e,h=t.apply(r,n)}function m(t){var n=t-d;return void 0===d||n>=e||n<0||v&&t-p>=l}function w(){var t=i();if(m(t))return x(t);f=setTimeout(w,function(t){var n=e-(t-d);return v?s(n,l-(t-p)):n}(t))}function x(t){return f=void 0,b&&c?y(t):(c=u=void 0,h)}function _(){var t=i(),n=m(t);if(c=arguments,u=this,d=t,n){if(void 0===f)return function(t){return p=t,f=setTimeout(w,e),g?y(t):h}(d);if(v)return clearTimeout(f),f=setTimeout(w,e),y(d)}return void 0===f&&(f=setTimeout(w,e)),h}return e=o(e)||0,r(n)&&(g=!!n.leading,l=(v="maxWait"in n)?a(o(n.maxWait)||0,e):l,b="trailing"in n?!!n.trailing:b),_.cancel=function(){void 0!==f&&clearTimeout(f),p=0,c=d=u=f=void 0},_.flush=function(){return void 0===f?h:x(i())},_}},1747:(t,e,n)=>{var r=n(5976),i=n(7813),o=n(6612),a=n(1704),s=Object.prototype,c=s.hasOwnProperty,u=r((function(t,e){t=Object(t);var n=-1,r=e.length,u=r>2?e[2]:void 0;for(u&&o(e[0],e[1],u)&&(r=1);++n{t.exports=n(4486)},7813:t=>{t.exports=function(t,e){return t===e||t!=t&&e!=e}},3105:(t,e,n)=>{var r=n(4963),i=n(760),o=n(7206),a=n(1469);t.exports=function(t,e){return(a(t)?r:i)(t,o(e,3))}},3311:(t,e,n)=>{var r=n(7740)(n(998));t.exports=r},998:(t,e,n)=>{var r=n(1848),i=n(7206),o=n(554),a=Math.max;t.exports=function(t,e,n){var s=null==t?0:t.length;if(!s)return-1;var c=null==n?0:o(n);return c<0&&(c=a(s+c,0)),r(t,i(e,3),c)}},5564:(t,e,n)=>{var r=n(1078);t.exports=function(t){return null!=t&&t.length?r(t,1):[]}},4486:(t,e,n)=>{var r=n(7412),i=n(9881),o=n(4290),a=n(1469);t.exports=function(t,e){return(a(t)?r:i)(t,o(e))}},2620:(t,e,n)=>{var r=n(8483),i=n(4290),o=n(1704);t.exports=function(t,e){return null==t?t:r(t,i(e),o)}},7361:(t,e,n)=>{var r=n(7786);t.exports=function(t,e,n){var i=null==t?void 0:r(t,e);return void 0===i?n:i}},8721:(t,e,n)=>{var r=n(8565),i=n(222);t.exports=function(t,e){return null!=t&&i(t,e,r)}},9095:(t,e,n)=>{var r=n(13),i=n(222);t.exports=function(t,e){return null!=t&&i(t,e,r)}},6557:t=>{t.exports=function(t){return t}},5694:(t,e,n)=>{var r=n(9454),i=n(7005),o=Object.prototype,a=o.hasOwnProperty,s=o.propertyIsEnumerable,c=r(function(){return arguments}())?r:function(t){return i(t)&&a.call(t,"callee")&&!s.call(t,"callee")};t.exports=c},1469:t=>{var e=Array.isArray;t.exports=e},8612:(t,e,n)=>{var r=n(3560),i=n(1780);t.exports=function(t){return null!=t&&i(t.length)&&!r(t)}},9246:(t,e,n)=>{var r=n(8612),i=n(7005);t.exports=function(t){return i(t)&&r(t)}},4144:(t,e,n)=>{t=n.nmd(t);var r=n(5639),i=n(5062),o=e&&!e.nodeType&&e,a=o&&t&&!t.nodeType&&t,s=a&&a.exports===o?r.Buffer:void 0,c=(s?s.isBuffer:void 0)||i;t.exports=c},1609:(t,e,n)=>{var r=n(280),i=n(4160),o=n(5694),a=n(1469),s=n(8612),c=n(4144),u=n(5726),l=n(6719),h=Object.prototype.hasOwnProperty;t.exports=function(t){if(null==t)return!0;if(s(t)&&(a(t)||"string"==typeof t||"function"==typeof t.splice||c(t)||l(t)||o(t)))return!t.length;var e=i(t);if("[object Map]"==e||"[object Set]"==e)return!t.size;if(u(t))return!r(t).length;for(var n in t)if(h.call(t,n))return!1;return!0}},3560:(t,e,n)=>{var r=n(4239),i=n(3218);t.exports=function(t){if(!i(t))return!1;var e=r(t);return"[object Function]"==e||"[object GeneratorFunction]"==e||"[object AsyncFunction]"==e||"[object Proxy]"==e}},1780:t=>{t.exports=function(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=9007199254740991}},6688:(t,e,n)=>{var r=n(5588),i=n(1717),o=n(1167),a=o&&o.isMap,s=a?i(a):r;t.exports=s},3218:t=>{t.exports=function(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}},7005:t=>{t.exports=function(t){return null!=t&&"object"==typeof t}},8630:(t,e,n)=>{var r=n(4239),i=n(5924),o=n(7005),a=Function.prototype,s=Object.prototype,c=a.toString,u=s.hasOwnProperty,l=c.call(Object);t.exports=function(t){if(!o(t)||"[object Object]"!=r(t))return!1;var e=i(t);if(null===e)return!0;var n=u.call(e,"constructor")&&e.constructor;return"function"==typeof n&&n instanceof n&&c.call(n)==l}},2928:(t,e,n)=>{var r=n(9221),i=n(1717),o=n(1167),a=o&&o.isSet,s=a?i(a):r;t.exports=s},7037:(t,e,n)=>{var r=n(4239),i=n(1469),o=n(7005);t.exports=function(t){return"string"==typeof t||!i(t)&&o(t)&&"[object String]"==r(t)}},3448:(t,e,n)=>{var r=n(4239),i=n(7005);t.exports=function(t){return"symbol"==typeof t||i(t)&&"[object Symbol]"==r(t)}},6719:(t,e,n)=>{var r=n(8749),i=n(1717),o=n(1167),a=o&&o.isTypedArray,s=a?i(a):r;t.exports=s},2353:t=>{t.exports=function(t){return void 0===t}},3674:(t,e,n)=>{var r=n(4636),i=n(280),o=n(8612);t.exports=function(t){return o(t)?r(t):i(t)}},1704:(t,e,n)=>{var r=n(4636),i=n(313),o=n(8612);t.exports=function(t){return o(t)?r(t,!0):i(t)}},928:t=>{t.exports=function(t){var e=null==t?0:t.length;return e?t[e-1]:void 0}},6486:function(t,e,n){var r;t=n.nmd(t),function(){var i,o="Expected a function",a="__lodash_hash_undefined__",s="__lodash_placeholder__",c=32,u=128,l=1/0,h=9007199254740991,f=NaN,d=4294967295,p=[["ary",u],["bind",1],["bindKey",2],["curry",8],["curryRight",16],["flip",512],["partial",c],["partialRight",64],["rearg",256]],g="[object Arguments]",v="[object Array]",b="[object Boolean]",y="[object Date]",m="[object Error]",w="[object Function]",x="[object GeneratorFunction]",_="[object Map]",E="[object Number]",k="[object Object]",T="[object Promise]",C="[object RegExp]",N="[object Set]",A="[object String]",S="[object Symbol]",O="[object WeakMap]",L="[object ArrayBuffer]",I="[object DataView]",M="[object Float32Array]",P="[object Float64Array]",D="[object Int8Array]",R="[object Int16Array]",j="[object Int32Array]",G="[object Uint8Array]",B="[object Uint8ClampedArray]",F="[object Uint16Array]",H="[object Uint32Array]",Y=/\b__p \+= '';/g,z=/\b(__p \+=) '' \+/g,U=/(__e\(.*?\)|\b__t\)) \+\n'';/g,V=/&(?:amp|lt|gt|quot|#39);/g,q=/[&<>"']/g,X=RegExp(V.source),W=RegExp(q.source),$=/<%-([\s\S]+?)%>/g,Z=/<%([\s\S]+?)%>/g,K=/<%=([\s\S]+?)%>/g,Q=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,J=/^\w*$/,tt=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,et=/[\\^$.*+?()[\]{}|]/g,nt=RegExp(et.source),rt=/^\s+/,it=/\s/,ot=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,at=/\{\n\/\* \[wrapped with (.+)\] \*/,st=/,? & /,ct=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,ut=/[()=,{}\[\]\/\s]/,lt=/\\(\\)?/g,ht=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,ft=/\w*$/,dt=/^[-+]0x[0-9a-f]+$/i,pt=/^0b[01]+$/i,gt=/^\[object .+?Constructor\]$/,vt=/^0o[0-7]+$/i,bt=/^(?:0|[1-9]\d*)$/,yt=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,mt=/($^)/,wt=/['\n\r\u2028\u2029\\]/g,xt="\\ud800-\\udfff",_t="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",Et="\\u2700-\\u27bf",kt="a-z\\xdf-\\xf6\\xf8-\\xff",Tt="A-Z\\xc0-\\xd6\\xd8-\\xde",Ct="\\ufe0e\\ufe0f",Nt="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",At="["+xt+"]",St="["+Nt+"]",Ot="["+_t+"]",Lt="\\d+",It="["+Et+"]",Mt="["+kt+"]",Pt="[^"+xt+Nt+Lt+Et+kt+Tt+"]",Dt="\\ud83c[\\udffb-\\udfff]",Rt="[^"+xt+"]",jt="(?:\\ud83c[\\udde6-\\uddff]){2}",Gt="[\\ud800-\\udbff][\\udc00-\\udfff]",Bt="["+Tt+"]",Ft="\\u200d",Ht="(?:"+Mt+"|"+Pt+")",Yt="(?:"+Bt+"|"+Pt+")",zt="(?:['’](?:d|ll|m|re|s|t|ve))?",Ut="(?:['’](?:D|LL|M|RE|S|T|VE))?",Vt="(?:"+Ot+"|"+Dt+")?",qt="["+Ct+"]?",Xt=qt+Vt+"(?:"+Ft+"(?:"+[Rt,jt,Gt].join("|")+")"+qt+Vt+")*",Wt="(?:"+[It,jt,Gt].join("|")+")"+Xt,$t="(?:"+[Rt+Ot+"?",Ot,jt,Gt,At].join("|")+")",Zt=RegExp("['’]","g"),Kt=RegExp(Ot,"g"),Qt=RegExp(Dt+"(?="+Dt+")|"+$t+Xt,"g"),Jt=RegExp([Bt+"?"+Mt+"+"+zt+"(?="+[St,Bt,"$"].join("|")+")",Yt+"+"+Ut+"(?="+[St,Bt+Ht,"$"].join("|")+")",Bt+"?"+Ht+"+"+zt,Bt+"+"+Ut,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Lt,Wt].join("|"),"g"),te=RegExp("["+Ft+xt+_t+Ct+"]"),ee=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,ne=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],re=-1,ie={};ie[M]=ie[P]=ie[D]=ie[R]=ie[j]=ie[G]=ie[B]=ie[F]=ie[H]=!0,ie[g]=ie[v]=ie[L]=ie[b]=ie[I]=ie[y]=ie[m]=ie[w]=ie[_]=ie[E]=ie[k]=ie[C]=ie[N]=ie[A]=ie[O]=!1;var oe={};oe[g]=oe[v]=oe[L]=oe[I]=oe[b]=oe[y]=oe[M]=oe[P]=oe[D]=oe[R]=oe[j]=oe[_]=oe[E]=oe[k]=oe[C]=oe[N]=oe[A]=oe[S]=oe[G]=oe[B]=oe[F]=oe[H]=!0,oe[m]=oe[w]=oe[O]=!1;var ae={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},se=parseFloat,ce=parseInt,ue="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g,le="object"==typeof self&&self&&self.Object===Object&&self,he=ue||le||Function("return this")(),fe=e&&!e.nodeType&&e,de=fe&&t&&!t.nodeType&&t,pe=de&&de.exports===fe,ge=pe&&ue.process,ve=function(){try{return de&&de.require&&de.require("util").types||ge&&ge.binding&&ge.binding("util")}catch(t){}}(),be=ve&&ve.isArrayBuffer,ye=ve&&ve.isDate,me=ve&&ve.isMap,we=ve&&ve.isRegExp,xe=ve&&ve.isSet,_e=ve&&ve.isTypedArray;function Ee(t,e,n){switch(n.length){case 0:return t.call(e);case 1:return t.call(e,n[0]);case 2:return t.call(e,n[0],n[1]);case 3:return t.call(e,n[0],n[1],n[2])}return t.apply(e,n)}function ke(t,e,n,r){for(var i=-1,o=null==t?0:t.length;++i-1}function Oe(t,e,n){for(var r=-1,i=null==t?0:t.length;++r-1;);return n}function Je(t,e){for(var n=t.length;n--&&Be(e,t[n],0)>-1;);return n}var tn=Ue({À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"}),en=Ue({"&":"&","<":"<",">":">",'"':""","'":"'"});function nn(t){return"\\"+ae[t]}function rn(t){return te.test(t)}function on(t){var e=-1,n=Array(t.size);return t.forEach((function(t,r){n[++e]=[r,t]})),n}function an(t,e){return function(n){return t(e(n))}}function sn(t,e){for(var n=-1,r=t.length,i=0,o=[];++n",""":'"',"'":"'"}),pn=function t(e){var n,r=(e=null==e?he:pn.defaults(he.Object(),e,pn.pick(he,ne))).Array,it=e.Date,xt=e.Error,_t=e.Function,Et=e.Math,kt=e.Object,Tt=e.RegExp,Ct=e.String,Nt=e.TypeError,At=r.prototype,St=_t.prototype,Ot=kt.prototype,Lt=e["__core-js_shared__"],It=St.toString,Mt=Ot.hasOwnProperty,Pt=0,Dt=(n=/[^.]+$/.exec(Lt&&Lt.keys&&Lt.keys.IE_PROTO||""))?"Symbol(src)_1."+n:"",Rt=Ot.toString,jt=It.call(kt),Gt=he._,Bt=Tt("^"+It.call(Mt).replace(et,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Ft=pe?e.Buffer:i,Ht=e.Symbol,Yt=e.Uint8Array,zt=Ft?Ft.allocUnsafe:i,Ut=an(kt.getPrototypeOf,kt),Vt=kt.create,qt=Ot.propertyIsEnumerable,Xt=At.splice,Wt=Ht?Ht.isConcatSpreadable:i,$t=Ht?Ht.iterator:i,Qt=Ht?Ht.toStringTag:i,te=function(){try{var t=co(kt,"defineProperty");return t({},"",{}),t}catch(t){}}(),ae=e.clearTimeout!==he.clearTimeout&&e.clearTimeout,ue=it&&it.now!==he.Date.now&&it.now,le=e.setTimeout!==he.setTimeout&&e.setTimeout,fe=Et.ceil,de=Et.floor,ge=kt.getOwnPropertySymbols,ve=Ft?Ft.isBuffer:i,Re=e.isFinite,Ue=At.join,gn=an(kt.keys,kt),vn=Et.max,bn=Et.min,yn=it.now,mn=e.parseInt,wn=Et.random,xn=At.reverse,_n=co(e,"DataView"),En=co(e,"Map"),kn=co(e,"Promise"),Tn=co(e,"Set"),Cn=co(e,"WeakMap"),Nn=co(kt,"create"),An=Cn&&new Cn,Sn={},On=jo(_n),Ln=jo(En),In=jo(kn),Mn=jo(Tn),Pn=jo(Cn),Dn=Ht?Ht.prototype:i,Rn=Dn?Dn.valueOf:i,jn=Dn?Dn.toString:i;function Gn(t){if(ts(t)&&!za(t)&&!(t instanceof Yn)){if(t instanceof Hn)return t;if(Mt.call(t,"__wrapped__"))return Go(t)}return new Hn(t)}var Bn=function(){function t(){}return function(e){if(!Ja(e))return{};if(Vt)return Vt(e);t.prototype=e;var n=new t;return t.prototype=i,n}}();function Fn(){}function Hn(t,e){this.__wrapped__=t,this.__actions__=[],this.__chain__=!!e,this.__index__=0,this.__values__=i}function Yn(t){this.__wrapped__=t,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=d,this.__views__=[]}function zn(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e=e?t:e)),t}function ar(t,e,n,r,o,a){var s,c=1&e,u=2&e,l=4&e;if(n&&(s=o?n(t,r,o,a):n(t)),s!==i)return s;if(!Ja(t))return t;var h=za(t);if(h){if(s=function(t){var e=t.length,n=new t.constructor(e);return e&&"string"==typeof t[0]&&Mt.call(t,"index")&&(n.index=t.index,n.input=t.input),n}(t),!c)return Ci(t,s)}else{var f=ho(t),d=f==w||f==x;if(Xa(t))return wi(t,c);if(f==k||f==g||d&&!o){if(s=u||d?{}:po(t),!c)return u?function(t,e){return Ni(t,lo(t),e)}(t,function(t,e){return t&&Ni(e,Ls(e),t)}(s,t)):function(t,e){return Ni(t,uo(t),e)}(t,nr(s,t))}else{if(!oe[f])return o?t:{};s=function(t,e,n){var r,i=t.constructor;switch(e){case L:return xi(t);case b:case y:return new i(+t);case I:return function(t,e){var n=e?xi(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.byteLength)}(t,n);case M:case P:case D:case R:case j:case G:case B:case F:case H:return _i(t,n);case _:return new i;case E:case A:return new i(t);case C:return function(t){var e=new t.constructor(t.source,ft.exec(t));return e.lastIndex=t.lastIndex,e}(t);case N:return new i;case S:return r=t,Rn?kt(Rn.call(r)):{}}}(t,f,c)}}a||(a=new Xn);var p=a.get(t);if(p)return p;a.set(t,s),os(t)?t.forEach((function(r){s.add(ar(r,e,n,r,t,a))})):es(t)&&t.forEach((function(r,i){s.set(i,ar(r,e,n,i,t,a))}));var v=h?i:(l?u?eo:to:u?Ls:Os)(t);return Te(v||t,(function(r,i){v&&(r=t[i=r]),Jn(s,i,ar(r,e,n,i,t,a))})),s}function sr(t,e,n){var r=n.length;if(null==t)return!r;for(t=kt(t);r--;){var o=n[r],a=e[o],s=t[o];if(s===i&&!(o in t)||!a(s))return!1}return!0}function cr(t,e,n){if("function"!=typeof t)throw new Nt(o);return Ao((function(){t.apply(i,n)}),e)}function ur(t,e,n,r){var i=-1,o=Se,a=!0,s=t.length,c=[],u=e.length;if(!s)return c;n&&(e=Le(e,$e(n))),r?(o=Oe,a=!1):e.length>=200&&(o=Ke,a=!1,e=new qn(e));t:for(;++i-1},Un.prototype.set=function(t,e){var n=this.__data__,r=tr(n,t);return r<0?(++this.size,n.push([t,e])):n[r][1]=e,this},Vn.prototype.clear=function(){this.size=0,this.__data__={hash:new zn,map:new(En||Un),string:new zn}},Vn.prototype.delete=function(t){var e=ao(this,t).delete(t);return this.size-=e?1:0,e},Vn.prototype.get=function(t){return ao(this,t).get(t)},Vn.prototype.has=function(t){return ao(this,t).has(t)},Vn.prototype.set=function(t,e){var n=ao(this,t),r=n.size;return n.set(t,e),this.size+=n.size==r?0:1,this},qn.prototype.add=qn.prototype.push=function(t){return this.__data__.set(t,a),this},qn.prototype.has=function(t){return this.__data__.has(t)},Xn.prototype.clear=function(){this.__data__=new Un,this.size=0},Xn.prototype.delete=function(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n},Xn.prototype.get=function(t){return this.__data__.get(t)},Xn.prototype.has=function(t){return this.__data__.has(t)},Xn.prototype.set=function(t,e){var n=this.__data__;if(n instanceof Un){var r=n.__data__;if(!En||r.length<199)return r.push([t,e]),this.size=++n.size,this;n=this.__data__=new Vn(r)}return n.set(t,e),this.size=n.size,this};var lr=Oi(yr),hr=Oi(mr,!0);function fr(t,e){var n=!0;return lr(t,(function(t,r,i){return n=!!e(t,r,i)})),n}function dr(t,e,n){for(var r=-1,o=t.length;++r0&&n(s)?e>1?gr(s,e-1,n,r,i):Ie(i,s):r||(i[i.length]=s)}return i}var vr=Li(),br=Li(!0);function yr(t,e){return t&&vr(t,e,Os)}function mr(t,e){return t&&br(t,e,Os)}function wr(t,e){return Ae(e,(function(e){return Za(t[e])}))}function xr(t,e){for(var n=0,r=(e=vi(e,t)).length;null!=t&&ne}function Tr(t,e){return null!=t&&Mt.call(t,e)}function Cr(t,e){return null!=t&&e in kt(t)}function Nr(t,e,n){for(var o=n?Oe:Se,a=t[0].length,s=t.length,c=s,u=r(s),l=1/0,h=[];c--;){var f=t[c];c&&e&&(f=Le(f,$e(e))),l=bn(f.length,l),u[c]=!n&&(e||a>=120&&f.length>=120)?new qn(c&&f):i}f=t[0];var d=-1,p=u[0];t:for(;++d=s?c:c*("desc"==n[r]?-1:1)}return t.index-e.index}(t,e,n)}));r--;)t[r]=t[r].value;return t}(i)}function Yr(t,e,n){for(var r=-1,i=e.length,o={};++r-1;)s!==t&&Xt.call(s,c,1),Xt.call(t,c,1);return t}function Ur(t,e){for(var n=t?e.length:0,r=n-1;n--;){var i=e[n];if(n==r||i!==o){var o=i;vo(i)?Xt.call(t,i,1):ci(t,i)}}return t}function Vr(t,e){return t+de(wn()*(e-t+1))}function qr(t,e){var n="";if(!t||e<1||e>h)return n;do{e%2&&(n+=t),(e=de(e/2))&&(t+=t)}while(e);return n}function Xr(t,e){return So(ko(t,e,nc),t+"")}function Wr(t){return $n(Bs(t))}function $r(t,e){var n=Bs(t);return Io(n,or(e,0,n.length))}function Zr(t,e,n,r){if(!Ja(t))return t;for(var o=-1,a=(e=vi(e,t)).length,s=a-1,c=t;null!=c&&++oo?0:o+e),(n=n>o?o:n)<0&&(n+=o),o=e>n?0:n-e>>>0,e>>>=0;for(var a=r(o);++i>>1,a=t[o];null!==a&&!ss(a)&&(n?a<=e:a=200){var u=e?null:qi(t);if(u)return cn(u);a=!1,i=Ke,c=new qn}else c=e?[]:s;t:for(;++r=r?t:ti(t,e,n)}var mi=ae||function(t){return he.clearTimeout(t)};function wi(t,e){if(e)return t.slice();var n=t.length,r=zt?zt(n):new t.constructor(n);return t.copy(r),r}function xi(t){var e=new t.constructor(t.byteLength);return new Yt(e).set(new Yt(t)),e}function _i(t,e){var n=e?xi(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.length)}function Ei(t,e){if(t!==e){var n=t!==i,r=null===t,o=t==t,a=ss(t),s=e!==i,c=null===e,u=e==e,l=ss(e);if(!c&&!l&&!a&&t>e||a&&s&&u&&!c&&!l||r&&s&&u||!n&&u||!o)return 1;if(!r&&!a&&!l&&t1?n[o-1]:i,s=o>2?n[2]:i;for(a=t.length>3&&"function"==typeof a?(o--,a):i,s&&bo(n[0],n[1],s)&&(a=o<3?i:a,o=1),e=kt(e);++r-1?o[a?e[s]:s]:i}}function Ri(t){return Ji((function(e){var n=e.length,r=n,a=Hn.prototype.thru;for(t&&e.reverse();r--;){var s=e[r];if("function"!=typeof s)throw new Nt(o);if(a&&!c&&"wrapper"==ro(s))var c=new Hn([],!0)}for(r=c?r:n;++r1&&w.reverse(),d&&hc))return!1;var l=a.get(t),h=a.get(e);if(l&&h)return l==e&&h==t;var f=-1,d=!0,p=2&n?new qn:i;for(a.set(t,e),a.set(e,t);++f-1&&t%1==0&&t1?"& ":"")+e[r],e=e.join(n>2?", ":" "),t.replace(ot,"{\n/* [wrapped with "+e+"] */\n")}(r,function(t,e){return Te(p,(function(n){var r="_."+n[0];e&n[1]&&!Se(t,r)&&t.push(r)})),t.sort()}(function(t){var e=t.match(at);return e?e[1].split(st):[]}(r),n)))}function Lo(t){var e=0,n=0;return function(){var r=yn(),o=16-(r-n);if(n=r,o>0){if(++e>=800)return arguments[0]}else e=0;return t.apply(i,arguments)}}function Io(t,e){var n=-1,r=t.length,o=r-1;for(e=e===i?r:e;++n1?t[e-1]:i;return n="function"==typeof n?(t.pop(),n):i,ia(t,n)}));function ha(t){var e=Gn(t);return e.__chain__=!0,e}function fa(t,e){return e(t)}var da=Ji((function(t){var e=t.length,n=e?t[0]:0,r=this.__wrapped__,o=function(e){return ir(e,t)};return!(e>1||this.__actions__.length)&&r instanceof Yn&&vo(n)?((r=r.slice(n,+n+(e?1:0))).__actions__.push({func:fa,args:[o],thisArg:i}),new Hn(r,this.__chain__).thru((function(t){return e&&!t.length&&t.push(i),t}))):this.thru(o)})),pa=Ai((function(t,e,n){Mt.call(t,n)?++t[n]:rr(t,n,1)})),ga=Di(Yo),va=Di(zo);function ba(t,e){return(za(t)?Te:lr)(t,oo(e,3))}function ya(t,e){return(za(t)?Ce:hr)(t,oo(e,3))}var ma=Ai((function(t,e,n){Mt.call(t,n)?t[n].push(e):rr(t,n,[e])})),wa=Xr((function(t,e,n){var i=-1,o="function"==typeof e,a=Va(t)?r(t.length):[];return lr(t,(function(t){a[++i]=o?Ee(e,t,n):Ar(t,e,n)})),a})),xa=Ai((function(t,e,n){rr(t,n,e)}));function _a(t,e){return(za(t)?Le:Rr)(t,oo(e,3))}var Ea=Ai((function(t,e,n){t[n?0:1].push(e)}),(function(){return[[],[]]})),ka=Xr((function(t,e){if(null==t)return[];var n=e.length;return n>1&&bo(t,e[0],e[1])?e=[]:n>2&&bo(e[0],e[1],e[2])&&(e=[e[0]]),Hr(t,gr(e,1),[])})),Ta=ue||function(){return he.Date.now()};function Ca(t,e,n){return e=n?i:e,e=t&&null==e?t.length:e,Wi(t,u,i,i,i,i,e)}function Na(t,e){var n;if("function"!=typeof e)throw new Nt(o);return t=ds(t),function(){return--t>0&&(n=e.apply(this,arguments)),t<=1&&(e=i),n}}var Aa=Xr((function(t,e,n){var r=1;if(n.length){var i=sn(n,io(Aa));r|=c}return Wi(t,r,e,n,i)})),Sa=Xr((function(t,e,n){var r=3;if(n.length){var i=sn(n,io(Sa));r|=c}return Wi(e,r,t,n,i)}));function Oa(t,e,n){var r,a,s,c,u,l,h=0,f=!1,d=!1,p=!0;if("function"!=typeof t)throw new Nt(o);function g(e){var n=r,o=a;return r=a=i,h=e,c=t.apply(o,n)}function v(t){var n=t-l;return l===i||n>=e||n<0||d&&t-h>=s}function b(){var t=Ta();if(v(t))return y(t);u=Ao(b,function(t){var n=e-(t-l);return d?bn(n,s-(t-h)):n}(t))}function y(t){return u=i,p&&r?g(t):(r=a=i,c)}function m(){var t=Ta(),n=v(t);if(r=arguments,a=this,l=t,n){if(u===i)return function(t){return h=t,u=Ao(b,e),f?g(t):c}(l);if(d)return mi(u),u=Ao(b,e),g(l)}return u===i&&(u=Ao(b,e)),c}return e=gs(e)||0,Ja(n)&&(f=!!n.leading,s=(d="maxWait"in n)?vn(gs(n.maxWait)||0,e):s,p="trailing"in n?!!n.trailing:p),m.cancel=function(){u!==i&&mi(u),h=0,r=l=a=u=i},m.flush=function(){return u===i?c:y(Ta())},m}var La=Xr((function(t,e){return cr(t,1,e)})),Ia=Xr((function(t,e,n){return cr(t,gs(e)||0,n)}));function Ma(t,e){if("function"!=typeof t||null!=e&&"function"!=typeof e)throw new Nt(o);var n=function(){var r=arguments,i=e?e.apply(this,r):r[0],o=n.cache;if(o.has(i))return o.get(i);var a=t.apply(this,r);return n.cache=o.set(i,a)||o,a};return n.cache=new(Ma.Cache||Vn),n}function Pa(t){if("function"!=typeof t)throw new Nt(o);return function(){var e=arguments;switch(e.length){case 0:return!t.call(this);case 1:return!t.call(this,e[0]);case 2:return!t.call(this,e[0],e[1]);case 3:return!t.call(this,e[0],e[1],e[2])}return!t.apply(this,e)}}Ma.Cache=Vn;var Da=bi((function(t,e){var n=(e=1==e.length&&za(e[0])?Le(e[0],$e(oo())):Le(gr(e,1),$e(oo()))).length;return Xr((function(r){for(var i=-1,o=bn(r.length,n);++i=e})),Ya=Sr(function(){return arguments}())?Sr:function(t){return ts(t)&&Mt.call(t,"callee")&&!qt.call(t,"callee")},za=r.isArray,Ua=be?$e(be):function(t){return ts(t)&&Er(t)==L};function Va(t){return null!=t&&Qa(t.length)&&!Za(t)}function qa(t){return ts(t)&&Va(t)}var Xa=ve||gc,Wa=ye?$e(ye):function(t){return ts(t)&&Er(t)==y};function $a(t){if(!ts(t))return!1;var e=Er(t);return e==m||"[object DOMException]"==e||"string"==typeof t.message&&"string"==typeof t.name&&!rs(t)}function Za(t){if(!Ja(t))return!1;var e=Er(t);return e==w||e==x||"[object AsyncFunction]"==e||"[object Proxy]"==e}function Ka(t){return"number"==typeof t&&t==ds(t)}function Qa(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=h}function Ja(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}function ts(t){return null!=t&&"object"==typeof t}var es=me?$e(me):function(t){return ts(t)&&ho(t)==_};function ns(t){return"number"==typeof t||ts(t)&&Er(t)==E}function rs(t){if(!ts(t)||Er(t)!=k)return!1;var e=Ut(t);if(null===e)return!0;var n=Mt.call(e,"constructor")&&e.constructor;return"function"==typeof n&&n instanceof n&&It.call(n)==jt}var is=we?$e(we):function(t){return ts(t)&&Er(t)==C},os=xe?$e(xe):function(t){return ts(t)&&ho(t)==N};function as(t){return"string"==typeof t||!za(t)&&ts(t)&&Er(t)==A}function ss(t){return"symbol"==typeof t||ts(t)&&Er(t)==S}var cs=_e?$e(_e):function(t){return ts(t)&&Qa(t.length)&&!!ie[Er(t)]},us=zi(Dr),ls=zi((function(t,e){return t<=e}));function hs(t){if(!t)return[];if(Va(t))return as(t)?hn(t):Ci(t);if($t&&t[$t])return function(t){for(var e,n=[];!(e=t.next()).done;)n.push(e.value);return n}(t[$t]());var e=ho(t);return(e==_?on:e==N?cn:Bs)(t)}function fs(t){return t?(t=gs(t))===l||t===-1/0?17976931348623157e292*(t<0?-1:1):t==t?t:0:0===t?t:0}function ds(t){var e=fs(t),n=e%1;return e==e?n?e-n:e:0}function ps(t){return t?or(ds(t),0,d):0}function gs(t){if("number"==typeof t)return t;if(ss(t))return f;if(Ja(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=Ja(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=We(t);var n=pt.test(t);return n||vt.test(t)?ce(t.slice(2),n?2:8):dt.test(t)?f:+t}function vs(t){return Ni(t,Ls(t))}function bs(t){return null==t?"":ai(t)}var ys=Si((function(t,e){if(xo(e)||Va(e))Ni(e,Os(e),t);else for(var n in e)Mt.call(e,n)&&Jn(t,n,e[n])})),ms=Si((function(t,e){Ni(e,Ls(e),t)})),ws=Si((function(t,e,n,r){Ni(e,Ls(e),t,r)})),xs=Si((function(t,e,n,r){Ni(e,Os(e),t,r)})),_s=Ji(ir),Es=Xr((function(t,e){t=kt(t);var n=-1,r=e.length,o=r>2?e[2]:i;for(o&&bo(e[0],e[1],o)&&(r=1);++n1),e})),Ni(t,eo(t),n),r&&(n=ar(n,7,Ki));for(var i=e.length;i--;)ci(n,e[i]);return n})),Ds=Ji((function(t,e){return null==t?{}:function(t,e){return Yr(t,e,(function(e,n){return Cs(t,n)}))}(t,e)}));function Rs(t,e){if(null==t)return{};var n=Le(eo(t),(function(t){return[t]}));return e=oo(e),Yr(t,n,(function(t,n){return e(t,n[0])}))}var js=Xi(Os),Gs=Xi(Ls);function Bs(t){return null==t?[]:Ze(t,Os(t))}var Fs=Mi((function(t,e,n){return e=e.toLowerCase(),t+(n?Hs(e):e)}));function Hs(t){return $s(bs(t).toLowerCase())}function Ys(t){return(t=bs(t))&&t.replace(yt,tn).replace(Kt,"")}var zs=Mi((function(t,e,n){return t+(n?"-":"")+e.toLowerCase()})),Us=Mi((function(t,e,n){return t+(n?" ":"")+e.toLowerCase()})),Vs=Ii("toLowerCase"),qs=Mi((function(t,e,n){return t+(n?"_":"")+e.toLowerCase()})),Xs=Mi((function(t,e,n){return t+(n?" ":"")+$s(e)})),Ws=Mi((function(t,e,n){return t+(n?" ":"")+e.toUpperCase()})),$s=Ii("toUpperCase");function Zs(t,e,n){return t=bs(t),(e=n?i:e)===i?function(t){return ee.test(t)}(t)?function(t){return t.match(Jt)||[]}(t):function(t){return t.match(ct)||[]}(t):t.match(e)||[]}var Ks=Xr((function(t,e){try{return Ee(t,i,e)}catch(t){return $a(t)?t:new xt(t)}})),Qs=Ji((function(t,e){return Te(e,(function(e){e=Ro(e),rr(t,e,Aa(t[e],t))})),t}));function Js(t){return function(){return t}}var tc=Ri(),ec=Ri(!0);function nc(t){return t}function rc(t){return Mr("function"==typeof t?t:ar(t,1))}var ic=Xr((function(t,e){return function(n){return Ar(n,t,e)}})),oc=Xr((function(t,e){return function(n){return Ar(t,n,e)}}));function ac(t,e,n){var r=Os(e),i=wr(e,r);null!=n||Ja(e)&&(i.length||!r.length)||(n=e,e=t,t=this,i=wr(e,Os(e)));var o=!(Ja(n)&&"chain"in n&&!n.chain),a=Za(t);return Te(i,(function(n){var r=e[n];t[n]=r,a&&(t.prototype[n]=function(){var e=this.__chain__;if(o||e){var n=t(this.__wrapped__);return(n.__actions__=Ci(this.__actions__)).push({func:r,args:arguments,thisArg:t}),n.__chain__=e,n}return r.apply(t,Ie([this.value()],arguments))})})),t}function sc(){}var cc=Fi(Le),uc=Fi(Ne),lc=Fi(De);function hc(t){return yo(t)?ze(Ro(t)):function(t){return function(e){return xr(e,t)}}(t)}var fc=Yi(),dc=Yi(!0);function pc(){return[]}function gc(){return!1}var vc,bc=Bi((function(t,e){return t+e}),0),yc=Vi("ceil"),mc=Bi((function(t,e){return t/e}),1),wc=Vi("floor"),xc=Bi((function(t,e){return t*e}),1),_c=Vi("round"),Ec=Bi((function(t,e){return t-e}),0);return Gn.after=function(t,e){if("function"!=typeof e)throw new Nt(o);return t=ds(t),function(){if(--t<1)return e.apply(this,arguments)}},Gn.ary=Ca,Gn.assign=ys,Gn.assignIn=ms,Gn.assignInWith=ws,Gn.assignWith=xs,Gn.at=_s,Gn.before=Na,Gn.bind=Aa,Gn.bindAll=Qs,Gn.bindKey=Sa,Gn.castArray=function(){if(!arguments.length)return[];var t=arguments[0];return za(t)?t:[t]},Gn.chain=ha,Gn.chunk=function(t,e,n){e=(n?bo(t,e,n):e===i)?1:vn(ds(e),0);var o=null==t?0:t.length;if(!o||e<1)return[];for(var a=0,s=0,c=r(fe(o/e));ao?0:o+n),(r=r===i||r>o?o:ds(r))<0&&(r+=o),r=n>r?0:ps(r);n>>0)?(t=bs(t))&&("string"==typeof e||null!=e&&!is(e))&&!(e=ai(e))&&rn(t)?yi(hn(t),0,n):t.split(e,n):[]},Gn.spread=function(t,e){if("function"!=typeof t)throw new Nt(o);return e=null==e?0:vn(ds(e),0),Xr((function(n){var r=n[e],i=yi(n,0,e);return r&&Ie(i,r),Ee(t,this,i)}))},Gn.tail=function(t){var e=null==t?0:t.length;return e?ti(t,1,e):[]},Gn.take=function(t,e,n){return t&&t.length?ti(t,0,(e=n||e===i?1:ds(e))<0?0:e):[]},Gn.takeRight=function(t,e,n){var r=null==t?0:t.length;return r?ti(t,(e=r-(e=n||e===i?1:ds(e)))<0?0:e,r):[]},Gn.takeRightWhile=function(t,e){return t&&t.length?li(t,oo(e,3),!1,!0):[]},Gn.takeWhile=function(t,e){return t&&t.length?li(t,oo(e,3)):[]},Gn.tap=function(t,e){return e(t),t},Gn.throttle=function(t,e,n){var r=!0,i=!0;if("function"!=typeof t)throw new Nt(o);return Ja(n)&&(r="leading"in n?!!n.leading:r,i="trailing"in n?!!n.trailing:i),Oa(t,e,{leading:r,maxWait:e,trailing:i})},Gn.thru=fa,Gn.toArray=hs,Gn.toPairs=js,Gn.toPairsIn=Gs,Gn.toPath=function(t){return za(t)?Le(t,Ro):ss(t)?[t]:Ci(Do(bs(t)))},Gn.toPlainObject=vs,Gn.transform=function(t,e,n){var r=za(t),i=r||Xa(t)||cs(t);if(e=oo(e,4),null==n){var o=t&&t.constructor;n=i?r?new o:[]:Ja(t)&&Za(o)?Bn(Ut(t)):{}}return(i?Te:yr)(t,(function(t,r,i){return e(n,t,r,i)})),n},Gn.unary=function(t){return Ca(t,1)},Gn.union=ta,Gn.unionBy=ea,Gn.unionWith=na,Gn.uniq=function(t){return t&&t.length?si(t):[]},Gn.uniqBy=function(t,e){return t&&t.length?si(t,oo(e,2)):[]},Gn.uniqWith=function(t,e){return e="function"==typeof e?e:i,t&&t.length?si(t,i,e):[]},Gn.unset=function(t,e){return null==t||ci(t,e)},Gn.unzip=ra,Gn.unzipWith=ia,Gn.update=function(t,e,n){return null==t?t:ui(t,e,gi(n))},Gn.updateWith=function(t,e,n,r){return r="function"==typeof r?r:i,null==t?t:ui(t,e,gi(n),r)},Gn.values=Bs,Gn.valuesIn=function(t){return null==t?[]:Ze(t,Ls(t))},Gn.without=oa,Gn.words=Zs,Gn.wrap=function(t,e){return Ra(gi(e),t)},Gn.xor=aa,Gn.xorBy=sa,Gn.xorWith=ca,Gn.zip=ua,Gn.zipObject=function(t,e){return di(t||[],e||[],Jn)},Gn.zipObjectDeep=function(t,e){return di(t||[],e||[],Zr)},Gn.zipWith=la,Gn.entries=js,Gn.entriesIn=Gs,Gn.extend=ms,Gn.extendWith=ws,ac(Gn,Gn),Gn.add=bc,Gn.attempt=Ks,Gn.camelCase=Fs,Gn.capitalize=Hs,Gn.ceil=yc,Gn.clamp=function(t,e,n){return n===i&&(n=e,e=i),n!==i&&(n=(n=gs(n))==n?n:0),e!==i&&(e=(e=gs(e))==e?e:0),or(gs(t),e,n)},Gn.clone=function(t){return ar(t,4)},Gn.cloneDeep=function(t){return ar(t,5)},Gn.cloneDeepWith=function(t,e){return ar(t,5,e="function"==typeof e?e:i)},Gn.cloneWith=function(t,e){return ar(t,4,e="function"==typeof e?e:i)},Gn.conformsTo=function(t,e){return null==e||sr(t,e,Os(e))},Gn.deburr=Ys,Gn.defaultTo=function(t,e){return null==t||t!=t?e:t},Gn.divide=mc,Gn.endsWith=function(t,e,n){t=bs(t),e=ai(e);var r=t.length,o=n=n===i?r:or(ds(n),0,r);return(n-=e.length)>=0&&t.slice(n,o)==e},Gn.eq=Ba,Gn.escape=function(t){return(t=bs(t))&&W.test(t)?t.replace(q,en):t},Gn.escapeRegExp=function(t){return(t=bs(t))&&nt.test(t)?t.replace(et,"\\$&"):t},Gn.every=function(t,e,n){var r=za(t)?Ne:fr;return n&&bo(t,e,n)&&(e=i),r(t,oo(e,3))},Gn.find=ga,Gn.findIndex=Yo,Gn.findKey=function(t,e){return je(t,oo(e,3),yr)},Gn.findLast=va,Gn.findLastIndex=zo,Gn.findLastKey=function(t,e){return je(t,oo(e,3),mr)},Gn.floor=wc,Gn.forEach=ba,Gn.forEachRight=ya,Gn.forIn=function(t,e){return null==t?t:vr(t,oo(e,3),Ls)},Gn.forInRight=function(t,e){return null==t?t:br(t,oo(e,3),Ls)},Gn.forOwn=function(t,e){return t&&yr(t,oo(e,3))},Gn.forOwnRight=function(t,e){return t&&mr(t,oo(e,3))},Gn.get=Ts,Gn.gt=Fa,Gn.gte=Ha,Gn.has=function(t,e){return null!=t&&fo(t,e,Tr)},Gn.hasIn=Cs,Gn.head=Vo,Gn.identity=nc,Gn.includes=function(t,e,n,r){t=Va(t)?t:Bs(t),n=n&&!r?ds(n):0;var i=t.length;return n<0&&(n=vn(i+n,0)),as(t)?n<=i&&t.indexOf(e,n)>-1:!!i&&Be(t,e,n)>-1},Gn.indexOf=function(t,e,n){var r=null==t?0:t.length;if(!r)return-1;var i=null==n?0:ds(n);return i<0&&(i=vn(r+i,0)),Be(t,e,i)},Gn.inRange=function(t,e,n){return e=fs(e),n===i?(n=e,e=0):n=fs(n),function(t,e,n){return t>=bn(e,n)&&t=-9007199254740991&&t<=h},Gn.isSet=os,Gn.isString=as,Gn.isSymbol=ss,Gn.isTypedArray=cs,Gn.isUndefined=function(t){return t===i},Gn.isWeakMap=function(t){return ts(t)&&ho(t)==O},Gn.isWeakSet=function(t){return ts(t)&&"[object WeakSet]"==Er(t)},Gn.join=function(t,e){return null==t?"":Ue.call(t,e)},Gn.kebabCase=zs,Gn.last=$o,Gn.lastIndexOf=function(t,e,n){var r=null==t?0:t.length;if(!r)return-1;var o=r;return n!==i&&(o=(o=ds(n))<0?vn(r+o,0):bn(o,r-1)),e==e?function(t,e,n){for(var r=n+1;r--;)if(t[r]===e)return r;return r}(t,e,o):Ge(t,He,o,!0)},Gn.lowerCase=Us,Gn.lowerFirst=Vs,Gn.lt=us,Gn.lte=ls,Gn.max=function(t){return t&&t.length?dr(t,nc,kr):i},Gn.maxBy=function(t,e){return t&&t.length?dr(t,oo(e,2),kr):i},Gn.mean=function(t){return Ye(t,nc)},Gn.meanBy=function(t,e){return Ye(t,oo(e,2))},Gn.min=function(t){return t&&t.length?dr(t,nc,Dr):i},Gn.minBy=function(t,e){return t&&t.length?dr(t,oo(e,2),Dr):i},Gn.stubArray=pc,Gn.stubFalse=gc,Gn.stubObject=function(){return{}},Gn.stubString=function(){return""},Gn.stubTrue=function(){return!0},Gn.multiply=xc,Gn.nth=function(t,e){return t&&t.length?Fr(t,ds(e)):i},Gn.noConflict=function(){return he._===this&&(he._=Gt),this},Gn.noop=sc,Gn.now=Ta,Gn.pad=function(t,e,n){t=bs(t);var r=(e=ds(e))?ln(t):0;if(!e||r>=e)return t;var i=(e-r)/2;return Hi(de(i),n)+t+Hi(fe(i),n)},Gn.padEnd=function(t,e,n){t=bs(t);var r=(e=ds(e))?ln(t):0;return e&&re){var r=t;t=e,e=r}if(n||t%1||e%1){var o=wn();return bn(t+o*(e-t+se("1e-"+((o+"").length-1))),e)}return Vr(t,e)},Gn.reduce=function(t,e,n){var r=za(t)?Me:Ve,i=arguments.length<3;return r(t,oo(e,4),n,i,lr)},Gn.reduceRight=function(t,e,n){var r=za(t)?Pe:Ve,i=arguments.length<3;return r(t,oo(e,4),n,i,hr)},Gn.repeat=function(t,e,n){return e=(n?bo(t,e,n):e===i)?1:ds(e),qr(bs(t),e)},Gn.replace=function(){var t=arguments,e=bs(t[0]);return t.length<3?e:e.replace(t[1],t[2])},Gn.result=function(t,e,n){var r=-1,o=(e=vi(e,t)).length;for(o||(o=1,t=i);++rh)return[];var n=d,r=bn(t,d);e=oo(e),t-=d;for(var i=Xe(r,e);++n=a)return t;var c=n-ln(r);if(c<1)return r;var u=s?yi(s,0,c).join(""):t.slice(0,c);if(o===i)return u+r;if(s&&(c+=u.length-c),is(o)){if(t.slice(c).search(o)){var l,h=u;for(o.global||(o=Tt(o.source,bs(ft.exec(o))+"g")),o.lastIndex=0;l=o.exec(h);)var f=l.index;u=u.slice(0,f===i?c:f)}}else if(t.indexOf(ai(o),c)!=c){var d=u.lastIndexOf(o);d>-1&&(u=u.slice(0,d))}return u+r},Gn.unescape=function(t){return(t=bs(t))&&X.test(t)?t.replace(V,dn):t},Gn.uniqueId=function(t){var e=++Pt;return bs(t)+e},Gn.upperCase=Ws,Gn.upperFirst=$s,Gn.each=ba,Gn.eachRight=ya,Gn.first=Vo,ac(Gn,(vc={},yr(Gn,(function(t,e){Mt.call(Gn.prototype,e)||(vc[e]=t)})),vc),{chain:!1}),Gn.VERSION="4.17.21",Te(["bind","bindKey","curry","curryRight","partial","partialRight"],(function(t){Gn[t].placeholder=Gn})),Te(["drop","take"],(function(t,e){Yn.prototype[t]=function(n){n=n===i?1:vn(ds(n),0);var r=this.__filtered__&&!e?new Yn(this):this.clone();return r.__filtered__?r.__takeCount__=bn(n,r.__takeCount__):r.__views__.push({size:bn(n,d),type:t+(r.__dir__<0?"Right":"")}),r},Yn.prototype[t+"Right"]=function(e){return this.reverse()[t](e).reverse()}})),Te(["filter","map","takeWhile"],(function(t,e){var n=e+1,r=1==n||3==n;Yn.prototype[t]=function(t){var e=this.clone();return e.__iteratees__.push({iteratee:oo(t,3),type:n}),e.__filtered__=e.__filtered__||r,e}})),Te(["head","last"],(function(t,e){var n="take"+(e?"Right":"");Yn.prototype[t]=function(){return this[n](1).value()[0]}})),Te(["initial","tail"],(function(t,e){var n="drop"+(e?"":"Right");Yn.prototype[t]=function(){return this.__filtered__?new Yn(this):this[n](1)}})),Yn.prototype.compact=function(){return this.filter(nc)},Yn.prototype.find=function(t){return this.filter(t).head()},Yn.prototype.findLast=function(t){return this.reverse().find(t)},Yn.prototype.invokeMap=Xr((function(t,e){return"function"==typeof t?new Yn(this):this.map((function(n){return Ar(n,t,e)}))})),Yn.prototype.reject=function(t){return this.filter(Pa(oo(t)))},Yn.prototype.slice=function(t,e){t=ds(t);var n=this;return n.__filtered__&&(t>0||e<0)?new Yn(n):(t<0?n=n.takeRight(-t):t&&(n=n.drop(t)),e!==i&&(n=(e=ds(e))<0?n.dropRight(-e):n.take(e-t)),n)},Yn.prototype.takeRightWhile=function(t){return this.reverse().takeWhile(t).reverse()},Yn.prototype.toArray=function(){return this.take(d)},yr(Yn.prototype,(function(t,e){var n=/^(?:filter|find|map|reject)|While$/.test(e),r=/^(?:head|last)$/.test(e),o=Gn[r?"take"+("last"==e?"Right":""):e],a=r||/^find/.test(e);o&&(Gn.prototype[e]=function(){var e=this.__wrapped__,s=r?[1]:arguments,c=e instanceof Yn,u=s[0],l=c||za(e),h=function(t){var e=o.apply(Gn,Ie([t],s));return r&&f?e[0]:e};l&&n&&"function"==typeof u&&1!=u.length&&(c=l=!1);var f=this.__chain__,d=!!this.__actions__.length,p=a&&!f,g=c&&!d;if(!a&&l){e=g?e:new Yn(this);var v=t.apply(e,s);return v.__actions__.push({func:fa,args:[h],thisArg:i}),new Hn(v,f)}return p&&g?t.apply(this,s):(v=this.thru(h),p?r?v.value()[0]:v.value():v)})})),Te(["pop","push","shift","sort","splice","unshift"],(function(t){var e=At[t],n=/^(?:push|sort|unshift)$/.test(t)?"tap":"thru",r=/^(?:pop|shift)$/.test(t);Gn.prototype[t]=function(){var t=arguments;if(r&&!this.__chain__){var i=this.value();return e.apply(za(i)?i:[],t)}return this[n]((function(n){return e.apply(za(n)?n:[],t)}))}})),yr(Yn.prototype,(function(t,e){var n=Gn[e];if(n){var r=n.name+"";Mt.call(Sn,r)||(Sn[r]=[]),Sn[r].push({name:e,func:n})}})),Sn[ji(i,2).name]=[{name:"wrapper",func:i}],Yn.prototype.clone=function(){var t=new Yn(this.__wrapped__);return t.__actions__=Ci(this.__actions__),t.__dir__=this.__dir__,t.__filtered__=this.__filtered__,t.__iteratees__=Ci(this.__iteratees__),t.__takeCount__=this.__takeCount__,t.__views__=Ci(this.__views__),t},Yn.prototype.reverse=function(){if(this.__filtered__){var t=new Yn(this);t.__dir__=-1,t.__filtered__=!0}else(t=this.clone()).__dir__*=-1;return t},Yn.prototype.value=function(){var t=this.__wrapped__.value(),e=this.__dir__,n=za(t),r=e<0,i=n?t.length:0,o=function(t,e,n){for(var r=-1,i=n.length;++r=this.__values__.length;return{done:t,value:t?i:this.__values__[this.__index__++]}},Gn.prototype.plant=function(t){for(var e,n=this;n instanceof Fn;){var r=Go(n);r.__index__=0,r.__values__=i,e?o.__wrapped__=r:e=r;var o=r;n=n.__wrapped__}return o.__wrapped__=t,e},Gn.prototype.reverse=function(){var t=this.__wrapped__;if(t instanceof Yn){var e=t;return this.__actions__.length&&(e=new Yn(this)),(e=e.reverse()).__actions__.push({func:fa,args:[Jo],thisArg:i}),new Hn(e,this.__chain__)}return this.thru(Jo)},Gn.prototype.toJSON=Gn.prototype.valueOf=Gn.prototype.value=function(){return hi(this.__wrapped__,this.__actions__)},Gn.prototype.first=Gn.prototype.head,$t&&(Gn.prototype[$t]=function(){return this}),Gn}();he._=pn,(r=function(){return pn}.call(e,n,e,t))===i||(t.exports=r)}.call(this)},5161:(t,e,n)=>{var r=n(9932),i=n(7206),o=n(9199),a=n(1469);t.exports=function(t,e){return(a(t)?r:o)(t,i(e,3))}},6604:(t,e,n)=>{var r=n(9465),i=n(7816),o=n(7206);t.exports=function(t,e){var n={};return e=o(e,3),i(t,(function(t,i,o){r(n,i,e(t,i,o))})),n}},6162:(t,e,n)=>{var r=n(6029),i=n(3325),o=n(6557);t.exports=function(t){return t&&t.length?r(t,o,i):void 0}},8306:(t,e,n)=>{var r=n(3369);function i(t,e){if("function"!=typeof t||null!=e&&"function"!=typeof e)throw new TypeError("Expected a function");var n=function(){var r=arguments,i=e?e.apply(this,r):r[0],o=n.cache;if(o.has(i))return o.get(i);var a=t.apply(this,r);return n.cache=o.set(i,a)||o,a};return n.cache=new(i.Cache||r),n}i.Cache=r,t.exports=i},3857:(t,e,n)=>{var r=n(2980),i=n(1463)((function(t,e,n){r(t,e,n)}));t.exports=i},3632:(t,e,n)=>{var r=n(6029),i=n(433),o=n(6557);t.exports=function(t){return t&&t.length?r(t,o,i):void 0}},2762:(t,e,n)=>{var r=n(6029),i=n(7206),o=n(433);t.exports=function(t,e){return t&&t.length?r(t,i(e,2),o):void 0}},308:t=>{t.exports=function(){}},7771:(t,e,n)=>{var r=n(5639);t.exports=function(){return r.Date.now()}},9722:(t,e,n)=>{var r=n(5970),i=n(9021)((function(t,e){return null==t?{}:r(t,e)}));t.exports=i},9601:(t,e,n)=>{var r=n(371),i=n(9152),o=n(5403),a=n(327);t.exports=function(t){return o(t)?r(a(t)):i(t)}},6026:(t,e,n)=>{var r=n(7445)();t.exports=r},4061:(t,e,n)=>{var r=n(2663),i=n(9881),o=n(7206),a=n(107),s=n(1469);t.exports=function(t,e,n){var c=s(t)?r:a,u=arguments.length<3;return c(t,o(e,4),n,u,i)}},6968:(t,e,n)=>{var r=n(611);t.exports=function(t,e,n){return null==t?t:r(t,e,n)}},4238:(t,e,n)=>{var r=n(280),i=n(4160),o=n(8612),a=n(7037),s=n(8016);t.exports=function(t){if(null==t)return 0;if(o(t))return a(t)?s(t):t.length;var e=i(t);return"[object Map]"==e||"[object Set]"==e?t.size:r(t).length}},9734:(t,e,n)=>{var r=n(1078),i=n(9556),o=n(5976),a=n(6612),s=o((function(t,e){if(null==t)return[];var n=e.length;return n>1&&a(t,e[0],e[1])?e=[]:n>2&&a(e[0],e[1],e[2])&&(e=[e[0]]),i(t,r(e,1),[])}));t.exports=s},479:t=>{t.exports=function(){return[]}},5062:t=>{t.exports=function(){return!1}},8601:(t,e,n)=>{var r=n(4841);t.exports=function(t){return t?Infinity===(t=r(t))||t===-1/0?17976931348623157e292*(t<0?-1:1):t==t?t:0:0===t?t:0}},554:(t,e,n)=>{var r=n(8601);t.exports=function(t){var e=r(t),n=e%1;return e==e?n?e-n:e:0}},4841:(t,e,n)=>{var r=n(7561),i=n(3218),o=n(3448),a=/^[-+]0x[0-9a-f]+$/i,s=/^0b[01]+$/i,c=/^0o[0-7]+$/i,u=parseInt;t.exports=function(t){if("number"==typeof t)return t;if(o(t))return NaN;if(i(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=i(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=r(t);var n=s.test(t);return n||c.test(t)?u(t.slice(2),n?2:8):a.test(t)?NaN:+t}},84:(t,e,n)=>{var r=n(9932),i=n(278),o=n(1469),a=n(3448),s=n(5514),c=n(327),u=n(9833);t.exports=function(t){return o(t)?r(t,c):a(t)?[t]:i(s(u(t)))}},3678:(t,e,n)=>{var r=n(8363),i=n(1704);t.exports=function(t){return r(t,i(t))}},9833:(t,e,n)=>{var r=n(531);t.exports=function(t){return null==t?"":r(t)}},8718:(t,e,n)=>{var r=n(7412),i=n(3118),o=n(7816),a=n(7206),s=n(5924),c=n(1469),u=n(4144),l=n(3560),h=n(3218),f=n(6719);t.exports=function(t,e,n){var d=c(t),p=d||u(t)||f(t);if(e=a(e,4),null==n){var g=t&&t.constructor;n=p?d?new g:[]:h(t)&&l(g)?i(s(t)):{}}return(p?r:o)(t,(function(t,r,i){return e(n,t,r,i)})),n}},3386:(t,e,n)=>{var r=n(1078),i=n(5976),o=n(5652),a=n(9246),s=i((function(t){return o(r(t,1,a,!0))}));t.exports=s},3955:(t,e,n)=>{var r=n(9833),i=0;t.exports=function(t){var e=++i;return r(t)+e}},2628:(t,e,n)=>{var r=n(7415),i=n(3674);t.exports=function(t){return null==t?[]:r(t,i(t))}},7287:(t,e,n)=>{var r=n(4865),i=n(1757);t.exports=function(t,e){return i(t||[],e||[],r)}},2703:(t,e,n)=>{"use strict";var r=n(414);function i(){}function o(){}o.resetWarningCache=i,t.exports=function(){function t(t,e,n,i,o,a){if(a!==r){var s=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw s.name="Invariant Violation",s}}function e(){return t}t.isRequired=t;var n={array:t,bigint:t,bool:t,func:t,number:t,object:t,string:t,symbol:t,any:t,arrayOf:e,element:t,elementType:t,instanceOf:e,node:t,objectOf:e,oneOf:e,oneOfType:e,shape:e,exact:e,checkPropTypes:o,resetWarningCache:i};return n.PropTypes=n,n}},5697:(t,e,n)=>{t.exports=n(2703)()},414:t=>{"use strict";t.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},3379:t=>{"use strict";var e=[];function n(t){for(var n=-1,r=0;r{"use strict";var e={};t.exports=function(t,n){var r=function(t){if(void 0===e[t]){var n=document.querySelector(t);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(t){n=null}e[t]=n}return e[t]}(t);if(!r)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");r.appendChild(n)}},9216:t=>{"use strict";t.exports=function(t){var e=document.createElement("style");return t.setAttributes(e,t.attributes),t.insert(e,t.options),e}},3565:(t,e,n)=>{"use strict";t.exports=function(t){var e=n.nc;e&&t.setAttribute("nonce",e)}},7795:t=>{"use strict";t.exports=function(t){if("undefined"==typeof document)return{update:function(){},remove:function(){}};var e=t.insertStyleElement(t);return{update:function(n){!function(t,e,n){var r="";n.supports&&(r+="@supports (".concat(n.supports,") {")),n.media&&(r+="@media ".concat(n.media," {"));var i=void 0!==n.layer;i&&(r+="@layer".concat(n.layer.length>0?" ".concat(n.layer):""," {")),r+=n.css,i&&(r+="}"),n.media&&(r+="}"),n.supports&&(r+="}");var o=n.sourceMap;o&&"undefined"!=typeof btoa&&(r+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(o))))," */")),e.styleTagTransform(r,t,e.options)}(e,t,n)},remove:function(){!function(t){if(null===t.parentNode)return!1;t.parentNode.removeChild(t)}(e)}}}},4589:t=>{"use strict";t.exports=function(t,e){if(e.styleSheet)e.styleSheet.cssText=t;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(t))}}},5295:module=>{var __dirname="/",f;f=function(){var define,module,exports;return function t(e,n,r){function i(a,s){if(!n[a]){if(!e[a]){if(o)return o(a,!0);var c=new Error("Cannot find module '"+a+"'");throw c.code="MODULE_NOT_FOUND",c}var u=n[a]={exports:{}};e[a][0].call(u.exports,(function(t){return i(e[a][1][t]||t)}),u,u.exports,t,e,n,r)}return n[a].exports}for(var o=void 0,a=0;ae?1:0},this.require(t,"_$_$_cmp"),this.spread((function(t){var e=t.sort(_$_$_cmp);resolve(e)})).then((function(r){for(var i=function(n,i,o){i=Math.min(i,e),o=Math.min(o,e);for(var a=n,s=i,c=[],u=a;u=o||t(l,h)<=0)?(c.push(l),n++):(c.push(h),i++)}for(u=0;u1?", "+JSON.stringify(n):"")+" );"," "," resolve = origResolve;"," resolve( res.length > 0 ? res : ret );","}"].join("\n"))}};util.extend(thdfn,{reduce:defineFnal({name:"reduce"}),reduceRight:defineFnal({name:"reduceRight"}),map:defineFnal({name:"map"})});var fn=thdfn;fn.promise=fn.run,fn.terminate=fn.halt=fn.stop,fn.include=fn.require,util.extend(thdfn,{on:define.on(),one:define.on({unbindSelfOnTrigger:!0}),off:define.off(),trigger:define.trigger()}),define.eventAliasesOn(thdfn),module.exports=Thread},{"./define":1,"./event":2,"./is":5,"./promise":6,"./util":8,"./window":9,child_process:void 0,path:void 0}],8:[function(t,e,n){"use strict";var r,i=t("./is");r={extend:function(){var t,e,n,o,a,s,c=arguments[0]||{},u=1,l=arguments.length,h=!1;for("boolean"==typeof c&&(h=c,c=arguments[1]||{},u=2),"object"==typeof c||i.fn(c)||(c={}),l===u&&(c=this,--u);u{"use strict";function r(t){for(var n in t)e.hasOwnProperty(n)||(e[n]=t[n])}Object.defineProperty(e,"__esModule",{value:!0}),r(n(89)),r(n(2845)),r(n(7069)),r(n(6085)),r(n(7598)),r(n(7384)),r(n(7426)),r(n(6749)),r(n(9427)),r(n(8793)),r(n(7421)),r(n(1138)),r(n(31)),r(n(2867)),r(n(4926)),r(n(7565))},89:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},r(t,e)},function(t,e){function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,"__esModule",{value:!0});var o=n(7426),a=function(t){function e(e){var n=t.call(this)||this,r=e;return r.trigger&&(n.trigger=r.trigger),r.kick&&(n.kick=r.kick),r.drag&&(n.drag=r.drag),r.on&&(n.on=r.on),n.dragstart=n.dragStart=o.Layout.dragStart,n.dragend=n.dragEnd=o.Layout.dragEnd,n}return i(e,t),e.prototype.trigger=function(t){},e.prototype.kick=function(){},e.prototype.drag=function(){},e.prototype.on=function(t,e){return this},e}(o.Layout);e.LayoutAdaptor=a,e.adaptor=function(t){return new a(t)}},7565:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(7426),i=n(7598);e.gridify=function(t,e,n,r){return t.cola.start(0,0,0,10,!1),function(t,e,n,r){t.forEach((function(t){t.routerNode={name:t.name,bounds:t.bounds.inflate(-n)}})),e.forEach((function(e){e.routerNode={bounds:e.bounds.inflate(-r),children:(void 0!==e.groups?e.groups.map((function(e){return t.length+e.id})):[]).concat(void 0!==e.leaves?e.leaves.map((function(t){return t.index})):[])}}));var o=t.concat(e).map((function(t,e){return t.routerNode.id=e,t.routerNode}));return new i.GridRouter(o,{getChildren:function(t){return t.children},getBounds:function(t){return t.bounds}},n-r)}(t.cola.nodes(),t.cola.groups(),n,r).routeEdges(t.powerGraph.powerEdges,e,(function(t){return t.source.routerNode.id}),(function(t){return t.target.routerNode.id}))},e.powerGraphGridLayout=function(t,e,n){var i;t.nodes.forEach((function(t,e){return t.index=e})),(new r.Layout).avoidOverlaps(!1).nodes(t.nodes).links(t.links).powerGraphGroups((function(t){(i=t).groups.forEach((function(t){return t.padding=n}))}));var o=t.nodes.length,a=[],s=t.nodes.slice(0);return s.forEach((function(t,e){return t.index=e})),i.groups.forEach((function(t){var e=t.index=t.id+o;s.push(t),void 0!==t.leaves&&t.leaves.forEach((function(t){return a.push({source:e,target:t.index})})),void 0!==t.groups&&t.groups.forEach((function(t){return a.push({source:e,target:t.id+o})}))})),i.powerEdges.forEach((function(t){a.push({source:t.source.index,target:t.target.index})})),(new r.Layout).size(e).nodes(s).links(a).avoidOverlaps(!1).linkDistance(30).symmetricDiffLinkLengths(5).convergenceThreshold(1e-4).start(100,0,0,0,!1),{cola:(new r.Layout).convergenceThreshold(.001).size(e).avoidOverlaps(!0).nodes(t.nodes).links(t.links).groupCompactness(1e-4).linkDistance(30).symmetricDiffLinkLengths(5).powerGraphGroups((function(t){(i=t).groups.forEach((function(t){t.padding=n}))})).start(50,0,100,0,!1),powerGraph:i}}},2845:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(1509),i=n(1374);e.d3adaptor=function(t){return!t||function(t){return t.version&&null!==t.version.match(/^3\./)}(t)?new r.D3StyleLayoutAdaptor:new i.D3StyleLayoutAdaptor(t)}},1509:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},r(t,e)},function(t,e){function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,"__esModule",{value:!0});var o=n(7426),a=function(t){function e(){var e=t.call(this)||this;e.event=d3.dispatch(o.EventType[o.EventType.start],o.EventType[o.EventType.tick],o.EventType[o.EventType.end]);var n=e;return e.drag=function(){if(!t)var t=d3.behavior.drag().origin(o.Layout.dragOrigin).on("dragstart.d3adaptor",o.Layout.dragStart).on("drag.d3adaptor",(function(t){o.Layout.drag(t,d3.event),n.resume()})).on("dragend.d3adaptor",o.Layout.dragEnd);if(!arguments.length)return t;this.call(t)},e}return i(e,t),e.prototype.trigger=function(t){var e={type:o.EventType[t.type],alpha:t.alpha,stress:t.stress};this.event[e.type](e)},e.prototype.kick=function(){var e=this;d3.timer((function(){return t.prototype.tick.call(e)}))},e.prototype.on=function(t,e){return"string"==typeof t?this.event.on(t,e):this.event.on(o.EventType[t],e),this},e}(o.Layout);e.D3StyleLayoutAdaptor=a,e.d3adaptor=function(){return new a}},1374:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},r(t,e)},function(t,e){function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,"__esModule",{value:!0});var o=n(7426),a=function(t){function e(e){var n=t.call(this)||this;n.d3Context=e,n.event=e.dispatch(o.EventType[o.EventType.start],o.EventType[o.EventType.tick],o.EventType[o.EventType.end]);var r=n;return n.drag=function(){if(!t)var t=e.drag().subject(o.Layout.dragOrigin).on("start.d3adaptor",o.Layout.dragStart).on("drag.d3adaptor",(function(t){o.Layout.drag(t,e.event),r.resume()})).on("end.d3adaptor",o.Layout.dragEnd);if(!arguments.length)return t;arguments[0].call(t)},n}return i(e,t),e.prototype.trigger=function(t){var e={type:o.EventType[t.type],alpha:t.alpha,stress:t.stress};this.event.call(e.type,e)},e.prototype.kick=function(){var e=this,n=this.d3Context.timer((function(){return t.prototype.tick.call(e)&&n.stop()}))},e.prototype.on=function(t,e){return"string"==typeof t?this.event.on(t,e):this.event.on(o.EventType[t],e),this},e}(o.Layout);e.D3StyleLayoutAdaptor=a},7069:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(){this.locks={}}return t.prototype.add=function(t,e){this.locks[t]=e},t.prototype.clear=function(){this.locks={}},t.prototype.isEmpty=function(){for(var t in this.locks)return!1;return!0},t.prototype.apply=function(t){for(var e in this.locks)t(Number(e),this.locks[e])},t}();e.Locks=n;var r=function(){function t(t,e,r){void 0===r&&(r=null),this.D=e,this.G=r,this.threshold=1e-4,this.numGridSnapNodes=0,this.snapGridSize=100,this.snapStrength=1e3,this.scaleSnapByMaxH=!1,this.random=new i,this.project=null,this.x=t,this.k=t.length;var o=this.n=t[0].length;this.H=new Array(this.k),this.g=new Array(this.k),this.Hd=new Array(this.k),this.a=new Array(this.k),this.b=new Array(this.k),this.c=new Array(this.k),this.d=new Array(this.k),this.e=new Array(this.k),this.ia=new Array(this.k),this.ib=new Array(this.k),this.xtmp=new Array(this.k),this.locks=new n,this.minD=Number.MAX_VALUE;for(var a,s=o;s--;)for(a=o;--a>s;){var c=e[s][a];c>0&&c1e-9)break;var d=this.offsetDir();for(r=0;r1&&p>g||!isFinite(g))for(r=0;r1&&(v=1);var b=g*g,y=2*v*(p-g)/(b*p),m=p*p*p,w=2*-v/(b*m);for(isFinite(y)||console.log(y),r=0;r0?T-(A+1)*_:T-(A-1)*_)&&f<=x&&(this.scaleSnapByMaxH?(this.g[r][c]+=s*E*f,this.H[r][c][c]+=s*E):(this.g[r][c]+=E*f,this.H[r][c][c]+=E))}this.locks.isEmpty()||this.locks.apply((function(n,i){for(r=0;r0;)for(var i=e;i-- >0;)n(r,i)},t.prototype.matrixApply=function(e){t.mApply(this.k,this.n,e)},t.prototype.computeNextPosition=function(t,e){var n=this;this.computeDerivatives(t);var r=this.computeStepSize(this.g);if(this.stepAndProject(t,e,this.g,r),this.project){this.matrixApply((function(r,i){return n.e[r][i]=t[r][i]-e[r][i]}));var i=this.computeStepSize(this.e);i=Math.max(.2,Math.min(i,1)),this.stepAndProject(t,e,this.e,i)}},t.prototype.run=function(t){for(var e=Number.MAX_VALUE,n=!1;!n&&t-- >0;){var r=this.rungeKutta();n=Math.abs(e/r-1)>16)/this.range},t.prototype.getNextBetween=function(t,e){return t+this.getNext()*(e-t)},t}();e.PseudoRandom=i},6085:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},r(t,e)},function(t,e){function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,"__esModule",{value:!0});var o=n(31),a=function(){};e.Point=a;var s=function(t,e,n,r){this.x1=t,this.y1=e,this.x2=n,this.y2=r};e.LineSegment=s;var c=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e}(a);function u(t,e,n){return(e.x-t.x)*(n.y-t.y)-(n.x-t.x)*(e.y-t.y)}function l(t,e,n){return u(t,e,n)>0}function h(t,e,n){return u(t,e,n)<0}function f(t,e){var n,r,i,o,a=e.length-1;if(h(t,e[1],e[0])&&!l(t,e[a-1],e[0]))return 0;for(n=0,r=a;;){if(r-n==1)return l(t,e[n],e[r])?n:r;if((o=h(t,e[(i=Math.floor((n+r)/2))+1],e[i]))&&!l(t,e[i-1],e[i]))return i;l(t,e[n+1],e[n])?o||l(t,e[n],e[i])?r=i:n=i:o&&h(t,e[n],e[i])?r=i:n=i}}function d(t,e){var n,r,i,o,a=e.length-1;if(l(t,e[a-1],e[0])&&!h(t,e[1],e[0]))return 0;for(n=0,r=a;;){if(r-n==1)return h(t,e[n],e[r])?n:r;if(o=h(t,e[(i=Math.floor((n+r)/2))+1],e[i]),l(t,e[i-1],e[i])&&!o)return i;h(t,e[n+1],e[n])?o?h(t,e[n],e[i])?r=i:n=i:r=i:o?n=i:l(t,e[n],e[i])?r=i:n=i}}function p(t,e,n,r,i,o){var a,s;s=r(t[a=n(e[0],t)],e);for(var c=!1;!c;){for(c=!0;a===t.length-1&&(a=0),!i(e[s],t[a],t[a+1]);)++a;for(;0===s&&(s=e.length-1),!o(t[a],e[s],e[s-1]);)--s,c=!1}return{t1:a,t2:s}}function g(t,e){return p(t,e,f,d,l,h)}e.PolyPoint=c,e.isLeft=u,e.ConvexHull=function(t){var e,n=t.slice(0).sort((function(t,e){return t.x!==e.x?e.x-t.x:e.y-t.y})),r=t.length,i=n[0].x;for(e=1;e=0&&n[e].x===l;e--);for(s=e+1,e=o;++e<=s;)if(!(u(n[0],n[s],n[e])>=0&&e1&&!(u(a[a.length-2],a[a.length-1],n[e])>0);)a.length-=1;0!=e&&a.push(n[e])}c!=s&&a.push(n[c]);var h=a.length;for(e=s;--e>=o;)if(!(u(n[c],n[o],n[e])>=0&&e>o)){for(;a.length>h&&!(u(a[a.length-2],a[a.length-1],n[e])>0);)a.length-=1;0!=e&&a.push(n[e])}}return a},e.clockwiseRadialSweep=function(t,e,n){e.slice(0).sort((function(e,n){return Math.atan2(e.y-t.y,e.x-t.x)-Math.atan2(n.y-t.y,n.x-t.x)})).forEach(n)},e.tangent_PolyPolyC=p,e.LRtangent_PolyPolyC=function(t,e){var n=g(e,t);return{t1:n.t2,t2:n.t1}},e.RLtangent_PolyPolyC=g,e.LLtangent_PolyPolyC=function(t,e){return p(t,e,d,d,h,h)},e.RRtangent_PolyPolyC=function(t,e){return p(t,e,f,f,l,l)};var v=function(t,e){this.t1=t,this.t2=e};e.BiTangent=v;var b=function(){};e.BiTangents=b;var y=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e}(a);e.TVGPoint=y;var m=function(t,e,n,r){this.id=t,this.polyid=e,this.polyvertid=n,this.p=r,r.vv=this};e.VisibilityVertex=m;var w=function(){function t(t,e){this.source=t,this.target=e}return t.prototype.length=function(){var t=this.source.p.x-this.target.p.x,e=this.source.p.y-this.target.p.y;return Math.sqrt(t*t+e*e)},t}();e.VisibilityEdge=w;var x=function(){function t(t,e){if(this.P=t,this.V=[],this.E=[],e)this.V=e.V.slice(0),this.E=e.E.slice(0);else{for(var n=t.length,r=0;r0&&this.E.push(new w(i[o-1].vv,s))}i.length>1&&this.E.push(new w(i[0].vv,i[i.length-1].vv))}for(r=0;r0)return!0;return!1},t}();function _(t,e){for(var n=[],r=1,i=e.length;r=0&&g>=0&&y<0&&m>=0&&w>=0&&x<0?i.ll=new v(o,a):p<=0&&g<=0&&y>0&&m<=0&&w<=0&&x>0?i.rr=new v(o,a):p<=0&&g>0&&y<=0&&m>=0&&w<0&&x>=0?i.rl=new v(o,a):p>=0&&g<0&&y>=0&&m<=0&&w>0&&x<=0&&(i.lr=new v(o,a))}return i}function k(t,e){return!t.every((function(t){return!function(t,e){for(var n=1,r=e.length;n0)return!0}return!1}},7598:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(31),i=n(4926),o=n(2867),a=function(t,e,n){this.id=t,this.rect=e,this.children=n,this.leaf=void 0===n||0===n.length};e.NodeWrapper=a;var s=function(t,e,n,r,i){void 0===r&&(r=null),void 0===i&&(i=null),this.id=t,this.x=e,this.y=n,this.node=r,this.line=i};e.Vert=s;var c=function(){function t(e,n){this.s=e,this.t=n;var r=t.findMatch(e,n),i=n.slice(0).reverse(),o=t.findMatch(e,i);r.length>=o.length?(this.length=r.length,this.si=r.si,this.ti=r.ti,this.reversed=!1):(this.length=o.length,this.si=o.si,this.ti=n.length-o.ti-o.length,this.reversed=!0)}return t.findMatch=function(t,e){for(var n=t.length,r=e.length,i={length:0,si:-1,ti:-1},o=new Array(n),a=0;ai.length&&(i.length=c,i.si=a-c+1,i.ti=s-c+1)}else o[a][s]=0}return i},t.prototype.getSequence=function(){return this.length>=0?this.s.slice(this.si,this.si+this.length):[]},t}();e.LongestCommonSubsequence=c;var u=function(){function t(t,e,n){var i=this;void 0===n&&(n=12),this.originalnodes=t,this.groupPadding=n,this.leaves=null,this.nodes=t.map((function(t,n){return new a(n,e.getBounds(t),e.getChildren(t))})),this.leaves=this.nodes.filter((function(t){return t.leaf})),this.groups=this.nodes.filter((function(t){return!t.leaf})),this.cols=this.getGridLines("x"),this.rows=this.getGridLines("y"),this.groups.forEach((function(t){return t.children.forEach((function(e){return i.nodes[e].parent=t}))})),this.root={children:[]},this.nodes.forEach((function(t){void 0===t.parent&&(t.parent=i.root,i.root.children.push(t.id)),t.ports=[]})),this.backToFront=this.nodes.slice(0),this.backToFront.sort((function(t,e){return i.getDepth(t)-i.getDepth(e)})),this.backToFront.slice(0).reverse().filter((function(t){return!t.leaf})).forEach((function(t){var e=r.Rectangle.empty();t.children.forEach((function(t){return e=e.union(i.nodes[t].rect)})),t.rect=e.inflate(i.groupPadding)}));var o=this.midPoints(this.cols.map((function(t){return t.pos}))),c=this.midPoints(this.rows.map((function(t){return t.pos}))),u=o[0],l=o[o.length-1],h=c[0],f=c[c.length-1],d=this.rows.map((function(t){return{x1:u,x2:l,y1:t.pos,y2:t.pos}})).concat(c.map((function(t){return{x1:u,x2:l,y1:t,y2:t}}))),p=this.cols.map((function(t){return{x1:t.pos,x2:t.pos,y1:h,y2:f}})).concat(o.map((function(t){return{x1:t,x2:t,y1:h,y2:f}}))),g=d.concat(p);g.forEach((function(t){return t.verts=[]})),this.verts=[],this.edges=[],d.forEach((function(t){return p.forEach((function(e){var n=new s(i.verts.length,e.x1,t.y1);t.verts.push(n),e.verts.push(n),i.verts.push(n);for(var r=i.backToFront.length;r-- >0;){var o=i.backToFront[r],a=o.rect,c=Math.abs(n.x-a.cx()),u=Math.abs(n.y-a.cy());if(c0;){var r=n.filter((function(e){return e.rect["overlap"+t.toUpperCase()](n[0].rect)})),i={nodes:r,pos:this.avg(r.map((function(e){return e.rect["c"+t]()})))};e.push(i),i.nodes.forEach((function(t){return n.splice(n.indexOf(t),1)}))}return e.sort((function(t,e){return t.pos-e.pos})),e},t.prototype.getDepth=function(t){for(var e=0;t.parent!==this.root;)e++,t=t.parent;return e},t.prototype.midPoints=function(t){for(var e=t[1]-t[0],n=[t[0]-e/2],r=1;r.1)&&(u={pos:h[0][e],segments:[]},c.push(u)),u.segments.push(h)}return c},t.nudgeSegs=function(t,e,n,r,o,a){var s=r.length;if(!(s<=1)){for(var c=r.map((function(e){return new i.Variable(e[0][t])})),u=[],l=0;l=0&&u.push(new i.Constraint(c[v],c[b],a))}new i.Solver(c,u).solve(),c.forEach((function(e,i){var o=r[i],a=e.position();o[0][t]=o[1][t]=a;var s=n[o.edgeid];o.i>0&&(s[o.i-1][1][t]=a),o.iMath.PI||i<-Math.PI)&&(i=r-n),i},t.isLeft=function(t,e,n){return(e.x-t.x)*(n.y-t.y)-(e.y-t.y)*(n.x-t.x)<=0},t.getOrder=function(t){for(var e={},n=0;n=u.length||h.ti+h.length>=l.length)?n.push({l:r,r:i}):(h.si+h.length>=u.length||h.ti+h.length>=l.length?(o=u[h.si+1],s=u[h.si-1],a=l[h.ti-1]):(o=u[h.si+h.length-2],a=u[h.si+h.length],s=l[h.ti+h.length]),t.isLeft(o,a,s)?n.push({l:i,r}):n.push({l:r,r:i})))}return t.getOrder(n)},t.makeSegments=function(t){function e(t){return{x:t.x,y:t.y}}for(var n=function(t,e,n){return Math.abs((e.x-t.x)*(n.y-t.y)-(e.y-t.y)*(n.x-t.x))<.001},r=[],i=e(t[0]),o=1;o1&&l>1?1e3:0})),h=l.reverse().map((function(t){return n.verts[t]}));return h.push(this.nodes[i.id].ports[0]),h.filter((function(t,e){return!(e0&&t.node===i&&h[e-1].node===i)}))},t.getRoutePath=function(e,n,r,i){var o,a,s,c={routepath:"M "+e[0][0].x+" "+e[0][0].y+" ",arrowpath:""};if(e.length>1)for(var u=0;u0?l-=f/Math.abs(f)*n:h-=d/Math.abs(d)*n,c.routepath+="L "+l+" "+h+" ";var p=e[u+1],g=p[0].x,v=p[0].y;f=p[1].x-g,d=p[1].y-v;var b,y,m=t.angleBetween2Lines(o,p)<0?1:0;Math.abs(f)>0?(b=g+f/Math.abs(f)*n,y=v):(b=g,y=v+d/Math.abs(d)*n);var w=Math.abs(b-l),x=Math.abs(y-h);c.routepath+="A "+w+" "+x+" 0 0 "+m+" "+b+" "+y+" "}else{var _=[l,h];Math.abs(f)>0?(a=[l-=f/Math.abs(f)*i,h+r],s=[l,h-r]):(a=[l+r,h-=d/Math.abs(d)*i],s=[l-r,h]),c.routepath+="L "+l+" "+h+" ",i>0&&(c.arrowpath="M "+_[0]+" "+_[1]+" L "+a[0]+" "+a[1]+" L "+s[0]+" "+s[1])}}else l=(o=e[0])[1].x,h=o[1].y,f=l-o[0].x,d=h-o[0].y,_=[l,h],Math.abs(f)>0?(a=[l-=f/Math.abs(f)*i,h+r],s=[l,h-r]):(a=[l+r,h-=d/Math.abs(d)*i],s=[l-r,h]),c.routepath+="L "+l+" "+h+" ",i>0&&(c.arrowpath="M "+_[0]+" "+_[1]+" L "+a[0]+" "+a[1]+" L "+s[0]+" "+s[1]);return c},t}();e.GridRouter=u},7384:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=10,r=(1+Math.sqrt(5))/2,i=1e-4;e.applyPacking=function(t,e,o,a,s,c){void 0===s&&(s=1),void 0===c&&(c=!0);var u=0,l=0,h=e,f=o,d=(s=void 0!==s?s:1,a=void 0!==a?a:0,0),p=0,g=0,v=0,b=[];function y(t,e){b=[],d=0,p=0,v=l;for(var n=0;n=t.height&&b[o].x+b[o].width+t.width+n-e<=i){r=b[o];break}b.push(t),void 0!==r?(t.x=r.x+r.width+n,t.y=r.bottom,t.space_left=t.height,t.bottom=t.y,r.space_left-=t.height+n,r.bottom+=t.height+n):(t.y=v,v+=t.height+n,t.x=u,t.bottom=t.y,t.space_left=t.height),t.y+t.height-p>-1e-4&&(p=t.y+t.height-l),t.x+t.width-d>-1e-4&&(d=t.x+t.width-u)}0!=t.length&&(function(t){t.forEach((function(t){var e,n,r,i,o;e=t,n=Number.MAX_VALUE,r=Number.MAX_VALUE,i=0,o=0,e.array.forEach((function(t){var e=void 0!==t.width?t.width:a,s=void 0!==t.height?t.height:a;e/=2,s/=2,i=Math.max(t.x+e,i),n=Math.min(t.x-e,n),o=Math.max(t.y+s,o),r=Math.min(t.y-s,r)})),e.width=i-n,e.height=o-r}))}(t),function(t,e){var o=Number.POSITIVE_INFINITY,a=0;t.sort((function(t,e){return e.height-t.height}));for(var s=v=g=t.reduce((function(t,e){return t.widthg||p>i;){if(1!=f){var v=c-(c-s)/r;l=y(t,v)}if(0!=f){var b=s+(c-s)/r;h=y(t,b)}if(d=Math.abs(v-b),p=Math.abs(l-h),lh?(s=v,v=b,l=h,f=1):(c=b,b=v,h=l,f=0),u++>100)break}y(t,a)}(t),c&&function(t){t.forEach((function(t){var e={x:0,y:0};t.array.forEach((function(t){e.x+=t.x,e.y+=t.y})),e.x/=t.array.length,e.y/=t.array.length;var n=e.x-t.width/2,r=e.y-t.height/2,i=t.x-n+h/2-d/2,o=t.y-r+f/2-p/2;t.array.forEach((function(t){t.x+=i,t.y+=o}))}))}(t))},e.separateGraphs=function(t,e){for(var n={},r={},i=[],o=0,a=0;a{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r,i=n(8793),o=n(9427),a=n(7069),s=n(31),c=n(2867),u=n(6085),l=n(7384);function h(t){return void 0!==t.leaves||void 0!==t.groups}!function(t){t[t.start=0]="start",t[t.tick=1]="tick",t[t.end=2]="end"}(r=e.EventType||(e.EventType={}));var f=function(){function t(){var e=this;this._canvasSize=[1,1],this._linkDistance=20,this._defaultNodeSize=10,this._linkLengthCalculator=null,this._linkType=null,this._avoidOverlaps=!1,this._handleDisconnected=!0,this._running=!1,this._nodes=[],this._groups=[],this._rootGroup=null,this._links=[],this._constraints=[],this._distanceMatrix=null,this._descent=null,this._directedLinkConstraints=null,this._threshold=.01,this._visibilityGraph=null,this._groupCompactness=1e-6,this.event=null,this.linkAccessor={getSourceIndex:t.getSourceIndex,getTargetIndex:t.getTargetIndex,setLength:t.setLinkLength,getType:function(t){return"function"==typeof e._linkType?e._linkType(t):0}}}return t.prototype.on=function(t,e){return this.event||(this.event={}),"string"==typeof t?this.event[r[t]]=e:this.event[t]=e,this},t.prototype.trigger=function(t){this.event&&void 0!==this.event[t.type]&&this.event[t.type](t)},t.prototype.kick=function(){for(;!this.tick(););},t.prototype.tick=function(){if(this._alpha0){var e=0;this._links.forEach((function(t){e=Math.max(e,t.source,t.target)})),this._nodes=new Array(++e);for(var n=0;n0?t:0:t>0&&(this._running||(this._running=!0,this.trigger({type:r.start,alpha:this._alpha=t}),this.kick())),this):this._alpha},t.prototype.getLinkLength=function(t){return"function"==typeof this._linkDistance?+this._linkDistance(t):this._linkDistance},t.setLinkLength=function(t,e){t.length=e},t.prototype.getLinkType=function(t){return"function"==typeof this._linkType?this._linkType(t):0},t.prototype.symmetricDiffLinkLengths=function(t,e){var n=this;return void 0===e&&(e=1),this.linkDistance((function(e){return t*e.length})),this._linkLengthCalculator=function(){return o.symmetricDiffLinkLengths(n._links,n.linkAccessor,e)},this},t.prototype.jaccardLinkLengths=function(t,e){var n=this;return void 0===e&&(e=1),this.linkDistance((function(e){return t*e.length})),this._linkLengthCalculator=function(){return o.jaccardLinkLengths(n._links,n.linkAccessor,e)},this},t.prototype.start=function(e,n,r,i,u,l){var h=this;void 0===e&&(e=0),void 0===n&&(n=0),void 0===r&&(r=0),void 0===i&&(i=0),void 0===u&&(u=!0),void 0===l&&(l=!0);var f,d=this.nodes().length,p=d+2*this._groups.length,g=(this._links.length,this._canvasSize[0]),v=this._canvasSize[1],b=new Array(p),y=new Array(p),m=null,w=this._avoidOverlaps;this._nodes.forEach((function(t,e){t.index=e,void 0===t.x&&(t.x=g/2,t.y=v/2),b[e]=t.x,y[e]=t.y})),this._linkLengthCalculator&&this._linkLengthCalculator(),this._distanceMatrix?f=this._distanceMatrix:(f=new c.Calculator(p,this._links,t.getSourceIndex,t.getTargetIndex,(function(t){return h.getLinkLength(t)})).DistanceMatrix(),m=a.Descent.createSquareMatrix(p,(function(){return 2})),this._links.forEach((function(t){"number"==typeof t.source&&(t.source=h._nodes[t.source]),"number"==typeof t.target&&(t.target=h._nodes[t.target])})),this._links.forEach((function(e){var n=t.getSourceIndex(e),r=t.getTargetIndex(e);m[n][r]=m[r][n]=e.weight||1})));var x=a.Descent.createSquareMatrix(p,(function(t,e){return f[t][e]}));if(this._rootGroup&&void 0!==this._rootGroup.groups){var _=d;this._groups.forEach((function(t){!function(t,e,n,r){m[t][e]=m[e][t]=n,x[t][e]=x[e][t]=.1}(_,_+1,h._groupCompactness),b[_]=0,y[_++]=0,b[_]=0,y[_++]=0}))}else this._rootGroup={leaves:this._nodes,groups:[]};var E=this._constraints||[];for(this._directedLinkConstraints&&(this.linkAccessor.getMinSeparation=this._directedLinkConstraints.getMinSeparation,E=E.concat(o.generateDirectedEdgeConstraints(d,this._links,this._directedLinkConstraints.axis,this.linkAccessor))),this.avoidOverlaps(!1),this._descent=new a.Descent([b,y],x),this._descent.locks.clear(),_=0;_0&&(this._descent.project=new s.Projection(this._nodes,this._groups,this._rootGroup,E).projectFunctions()),this._descent.run(n),this.separateOverlappingComponents(g,v,l),this.avoidOverlaps(w),w&&(this._nodes.forEach((function(t,e){t.x=b[e],t.y=y[e]})),this._descent.project=new s.Projection(this._nodes,this._groups,this._rootGroup,E,!0).projectFunctions(),this._nodes.forEach((function(t,e){b[e]=t.x,y[e]=t.y}))),this._descent.G=m,this._descent.run(r),i){this._descent.snapStrength=1e3,this._descent.snapGridSize=this._nodes[0].width,this._descent.numGridSnapNodes=d,this._descent.scaleSnapByMaxH=d!=p;var C=a.Descent.createSquareMatrix(p,(function(t,e){return t>=d||e>=d?m[t][e]:0}));this._descent.G=C,this._descent.run(i)}return this.updateNodePositions(),this.separateOverlappingComponents(g,v,l),u?this.resume():this},t.prototype.initialLayout=function(e,n,r){if(this._groups.length>0&&e>0){var i=this._nodes.length,o=this._links.map((function(t){return{source:t.source.index,target:t.target.index}})),a=this._nodes.map((function(t){return{index:t.index}}));this._groups.forEach((function(t,e){a.push({index:t.index=i+e})})),this._groups.forEach((function(t,e){void 0!==t.leaves&&t.leaves.forEach((function(e){return o.push({source:t.index,target:e.index})})),void 0!==t.groups&&t.groups.forEach((function(e){return o.push({source:t.index,target:e.index})}))})),(new t).size(this.size()).nodes(a).links(o).avoidOverlaps(!1).linkDistance(this.linkDistance()).symmetricDiffLinkLengths(5).convergenceThreshold(1e-4).start(e,0,0,0,!1),this._nodes.forEach((function(t){n[t.index]=a[t.index].x,r[t.index]=a[t.index].y}))}else this._descent.run(e)},t.prototype.separateOverlappingComponents=function(t,e,n){var r=this;if(void 0===n&&(n=!0),!this._distanceMatrix&&this._handleDisconnected){var i=this._descent.x[0],o=this._descent.x[1];this._nodes.forEach((function(t,e){t.x=i[e],t.y=o[e]}));var a=l.separateGraphs(this._nodes,this._links);l.applyPacking(a,t,e,this._defaultNodeSize,1,n),this._nodes.forEach((function(t,e){r._descent.x[0][e]=t.x,r._descent.x[1][e]=t.y,t.bounds&&(t.bounds.setXCentre(t.x),t.bounds.setYCentre(t.y))}))}},t.prototype.resume=function(){return this.alpha(.1)},t.prototype.stop=function(){return this.alpha(0)},t.prototype.prepareEdgeRouting=function(t){void 0===t&&(t=0),this._visibilityGraph=new u.TangentVisibilityGraph(this._nodes.map((function(e){return e.bounds.inflate(-t).vertices()})))},t.prototype.routeEdge=function(t,e,n){void 0===e&&(e=5);var r=[],i=new u.TangentVisibilityGraph(this._visibilityGraph.P,{V:this._visibilityGraph.V,E:this._visibilityGraph.E}),o={x:t.source.x,y:t.source.y},a={x:t.target.x,y:t.target.y},l=i.addPoint(o,t.source.index),h=i.addPoint(a,t.target.index);i.addEdgeIfVisible(o,a,t.source.index,t.target.index),void 0!==n&&n(i);var f=new c.Calculator(i.V.length,i.E,(function(t){return t.source.id}),(function(t){return t.target.id}),(function(t){return t.length()})).PathFromNodeToNode(l.id,h.id);if(1===f.length||f.length===i.V.length){var d=s.makeEdgeBetween(t.source.innerBounds,t.target.innerBounds,e);r=[d.sourceIntersection,d.arrowStart]}else{for(var p=f.length-2,g=i.V[f[p]].p,v=i.V[f[0]].p,b=(r=[t.source.innerBounds.rayIntersection(g.x,g.y)],p);b>=0;--b)r.push(i.V[f[b]].p);r.push(s.makeEdgeTo(v,t.target.innerBounds,e))}return r},t.getSourceIndex=function(t){return"number"==typeof t.source?t.source:t.source.index},t.getTargetIndex=function(t){return"number"==typeof t.target?t.target:t.target.index},t.linkId=function(e){return t.getSourceIndex(e)+"-"+t.getTargetIndex(e)},t.dragStart=function(e){h(e)?t.storeOffset(e,t.dragOrigin(e)):(t.stopNode(e),e.fixed|=2)},t.stopNode=function(t){t.px=t.x,t.py=t.y},t.storeOffset=function(e,n){void 0!==e.leaves&&e.leaves.forEach((function(e){e.fixed|=2,t.stopNode(e),e._dragGroupOffsetX=e.x-n.x,e._dragGroupOffsetY=e.y-n.y})),void 0!==e.groups&&e.groups.forEach((function(e){return t.storeOffset(e,n)}))},t.dragOrigin=function(t){return h(t)?{x:t.bounds.cx(),y:t.bounds.cy()}:t},t.drag=function(e,n){h(e)?(void 0!==e.leaves&&e.leaves.forEach((function(t){e.bounds.setXCentre(n.x),e.bounds.setYCentre(n.y),t.px=t._dragGroupOffsetX+n.x,t.py=t._dragGroupOffsetY+n.y})),void 0!==e.groups&&e.groups.forEach((function(e){return t.drag(e,n)}))):(e.px=n.x,e.py=n.y)},t.dragEnd=function(e){h(e)?(void 0!==e.leaves&&e.leaves.forEach((function(e){t.dragEnd(e),delete e._dragGroupOffsetX,delete e._dragGroupOffsetY})),void 0!==e.groups&&e.groups.forEach(t.dragEnd)):e.fixed&=-7},t.mouseOver=function(t){t.fixed|=4,t.px=t.x,t.py=t.y},t.mouseOut=function(t){t.fixed&=-5},t}();e.Layout=f},6749:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(2867),i=n(7069),o=n(31),a=n(9427),s=function(){function t(t,e){this.source=t,this.target=e}return t.prototype.actualLength=function(t){var e=this;return Math.sqrt(t.reduce((function(t,n){var r=n[e.target]-n[e.source];return t+r*r}),0))},t}();e.Link3D=s;e.Node3D=function(t,e,n){void 0===t&&(t=0),void 0===e&&(e=0),void 0===n&&(n=0),this.x=t,this.y=e,this.z=n};var c=function(){function t(e,n,r){var i=this;void 0===r&&(r=1),this.nodes=e,this.links=n,this.idealLinkLength=r,this.constraints=null,this.useJaccardLinkLengths=!0,this.result=new Array(t.k);for(var o=0;o{"use strict";function n(t,e){var n={};for(var r in t)n[r]={};for(var r in e)n[r]={};return Object.keys(n).length}function r(t,e){var n=0;for(var r in t)void 0!==e[r]&&++n;return n}function i(t,e,n,r){var i=function(t,e){var n={},r=function(t,e){void 0===n[t]&&(n[t]={}),n[t][e]={}};return t.forEach((function(t){var n=e.getSourceIndex(t),i=e.getTargetIndex(t);r(n,i),r(i,n)})),n}(t,r);t.forEach((function(t){var o=i[r.getSourceIndex(t)],a=i[r.getTargetIndex(t)];r.setLength(t,1+e*n(o,a))}))}function o(t,e,n){var r=[],i=0,o=[],a=[];function s(t){t.index=t.lowlink=i++,o.push(t),t.onStack=!0;for(var e=0,n=t.out;e{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(t,e,n){this.source=t,this.target=e,this.type=n};e.PowerEdge=n;var r=function(){function t(t,e,n,r){var i=this;if(this.linkAccessor=n,this.modules=new Array(t),this.roots=[],r)this.initModulesFromGroup(r);else{this.roots.push(new a);for(var s=0;s=this.R))return this.merge(e.a,e.b,t),!0}},t.prototype.nEdges=function(t,e){var n=t.incoming.intersection(e.incoming),r=t.outgoing.intersection(e.outgoing);return this.R-n.count()-r.count()},t.prototype.getGroupHierarchy=function(t){var e=this,r=[];return i(this.roots[0],{},r),this.allEdges().forEach((function(i){var o=e.modules[i.source],a=e.modules[i.target];t.push(new n(void 0===o.gid?i.source:r[o.gid],void 0===a.gid?i.target:r[a.gid],i.type))})),r},t.prototype.allEdges=function(){var e=[];return t.getEdges(this.roots[0],e),e},t.getEdges=function(e,n){e.forAll((function(e){e.getEdges(n),t.getEdges(e.children,n)}))},t}();function i(t,e,n){t.forAll((function(t){if(t.isLeaf())e.leaves||(e.leaves=[]),e.leaves.push(t.id);else{var r=e;if(t.gid=n.length,!t.isIsland()||t.isPredefined()){if(r={id:t.gid},t.isPredefined())for(var o in t.definition)r[o]=t.definition[o];e.groups||(e.groups=[]),e.groups.push(t.gid),n.push(r)}i(t.children,r,n)}}))}e.Configuration=r;var o=function(){function t(t,e,n,r,i){void 0===e&&(e=new s),void 0===n&&(n=new s),void 0===r&&(r=new a),this.id=t,this.outgoing=e,this.incoming=n,this.children=r,this.definition=i}return t.prototype.getEdges=function(t){var e=this;this.outgoing.forAll((function(r,i){r.forAll((function(r){t.push(new n(e.id,r.id,i))}))}))},t.prototype.isLeaf=function(){return 0===this.children.count()},t.prototype.isIsland=function(){return 0===this.outgoing.count()&&0===this.incoming.count()},t.prototype.isPredefined=function(){return void 0!==this.definition},t}();e.Module=o;var a=function(){function t(){this.table={}}return t.prototype.count=function(){return Object.keys(this.table).length},t.prototype.intersection=function(e){var n=new t;return n.table=function(t,e){var n={};for(var r in t)r in e&&(n[r]=t[r]);return n}(this.table,e.table),n},t.prototype.intersectionCount=function(t){return this.intersection(t).count()},t.prototype.contains=function(t){return t in this.table},t.prototype.add=function(t){this.table[t.id]=t},t.prototype.remove=function(t){delete this.table[t.id]},t.prototype.forAll=function(t){for(var e in this.table)t(this.table[e])},t.prototype.modules=function(){var t=[];return this.forAll((function(e){e.isPredefined()||t.push(e)})),t},t}();e.ModuleSet=a;var s=function(){function t(){this.sets={},this.n=0}return t.prototype.count=function(){return this.n},t.prototype.contains=function(t){var e=!1;return this.forAllModules((function(n){e||n.id!=t||(e=!0)})),e},t.prototype.add=function(t,e){(t in this.sets?this.sets[t]:this.sets[t]=new a).add(e),++this.n},t.prototype.remove=function(t,e){var n=this.sets[t];n.remove(e),0===n.count()&&delete this.sets[t],--this.n},t.prototype.forAll=function(t){for(var e in this.sets)t(this.sets[e],Number(e))},t.prototype.forAllModules=function(t){this.forAll((function(e,n){return e.forAll(t)}))},t.prototype.intersection=function(e){var n=new t;return this.forAll((function(t,r){if(r in e.sets){var i=t.intersection(e.sets[r]),o=i.count();o>0&&(n.sets[r]=i,n.n+=o)}})),n},t}();e.LinkSets=s,e.getGroups=function(t,e,n,i){for(var o=t.length,a=new r(o,e,n,i);a.greedyMerge(););var s=[],c=a.getGroupHierarchy(s);return s.forEach((function(e){var n=function(n){var r=e[n];"number"==typeof r&&(e[n]=t[r])};n("source"),n("target")})),{groups:c,powerEdges:s}}},7421:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t){this.elem=t,this.subheaps=[]}return t.prototype.toString=function(t){for(var e="",n=!1,r=0;r0)}return null}}return t.prototype.clear=function(){this._root=null,this.size=0},t.prototype.find=function(t){for(var e=this._root;null!==e;){var n=this._comparator(t,e.data);if(0===n)return e.data;e=e.get_child(n>0)}return null},t.prototype.lowerBound=function(t){return this._bound(t,this._comparator)},t.prototype.upperBound=function(t){var e=this._comparator;return this._bound(t,(function(t,n){return e(n,t)}))},t.prototype.min=function(){var t=this._root;if(null===t)return null;for(;null!==t.left;)t=t.left;return t.data},t.prototype.max=function(){var t=this._root;if(null===t)return null;for(;null!==t.right;)t=t.right;return t.data},t.prototype.iterator=function(){return new o(this)},t.prototype.each=function(t){for(var e,n=this.iterator();null!==(e=n.next());)t(e)},t.prototype.reach=function(t){for(var e,n=this.iterator();null!==(e=n.prev());)t(e)},t.prototype._bound=function(t,e){for(var n=this._root,r=this.iterator();null!==n;){var i=this._comparator(t,n.data);if(0===i)return r._cursor=n,r;r._ancestors.push(n),n=n.get_child(i>0)}for(var o=r._ancestors.length-1;o>=0;--o)if(e(t,(n=r._ancestors[o]).data)>0)return r._cursor=n,r._ancestors.length=o,r;return r._ancestors.length=0,r},t}();e.TreeBase=i;var o=function(){function t(t){this._tree=t,this._ancestors=[],this._cursor=null}return t.prototype.data=function(){return null!==this._cursor?this._cursor.data:null},t.prototype.next=function(){if(null===this._cursor){var t=this._tree._root;null!==t&&this._minNode(t)}else{var e;if(null===this._cursor.right)do{if(e=this._cursor,!this._ancestors.length){this._cursor=null;break}this._cursor=this._ancestors.pop()}while(this._cursor.right===e);else this._ancestors.push(this._cursor),this._minNode(this._cursor.right)}return null!==this._cursor?this._cursor.data:null},t.prototype.prev=function(){if(null===this._cursor){var t=this._tree._root;null!==t&&this._maxNode(t)}else{var e;if(null===this._cursor.left)do{if(e=this._cursor,!this._ancestors.length){this._cursor=null;break}this._cursor=this._ancestors.pop()}while(this._cursor.left===e);else this._ancestors.push(this._cursor),this._maxNode(this._cursor.left)}return null!==this._cursor?this._cursor.data:null},t.prototype._minNode=function(t){for(;null!==t.left;)this._ancestors.push(t),t=t.left;this._cursor=t},t.prototype._maxNode=function(t){for(;null!==t.right;)this._ancestors.push(t),t=t.right;this._cursor=t},t}();e.Iterator=o;var a=function(){function t(t){this.data=t,this.left=null,this.right=null,this.red=!0}return t.prototype.get_child=function(t){return t?this.right:this.left},t.prototype.set_child=function(t,e){t?this.right=e:this.left=e},t}(),s=function(t){function e(e){var n=t.call(this)||this;return n._root=null,n._comparator=e,n.size=0,n}return r(e,t),e.prototype.insert=function(t){var n=!1;if(null===this._root)this._root=new a(t),n=!0,this.size++;else{var r=new a(void 0),i=!1,o=!1,s=null,c=r,u=null,l=this._root;for(c.right=this._root;;){if(null===l?(l=new a(t),u.set_child(i,l),n=!0,this.size++):e.is_red(l.left)&&e.is_red(l.right)&&(l.red=!0,l.left.red=!1,l.right.red=!1),e.is_red(l)&&e.is_red(u)){var h=c.right===s;l===u.get_child(o)?c.set_child(h,e.single_rotate(s,!o)):c.set_child(h,e.double_rotate(s,!o))}var f=this._comparator(l.data,t);if(0===f)break;o=i,i=f<0,null!==s&&(c=s),s=u,u=l,l=l.get_child(i)}this._root=r.right}return this._root.red=!1,n},e.prototype.remove=function(t){if(null===this._root)return!1;var n=new a(void 0),r=n;r.right=this._root;for(var i=null,o=null,s=null,c=!0;null!==r.get_child(c);){var u=c;o=i,i=r,r=r.get_child(c);var l=this._comparator(t,r.data);if(c=l>0,0===l&&(s=r),!e.is_red(r)&&!e.is_red(r.get_child(c)))if(e.is_red(r.get_child(!c))){var h=e.single_rotate(r,c);i.set_child(u,h),i=h}else if(!e.is_red(r.get_child(!c))){var f=i.get_child(!u);if(null!==f)if(e.is_red(f.get_child(!u))||e.is_red(f.get_child(u))){var d=o.right===i;e.is_red(f.get_child(u))?o.set_child(d,e.double_rotate(i,u)):e.is_red(f.get_child(!u))&&o.set_child(d,e.single_rotate(i,u));var p=o.get_child(d);p.red=!0,r.red=!0,p.left.red=!1,p.right.red=!1}else i.red=!1,f.red=!0,r.red=!0}}return null!==s&&(s.data=r.data,i.set_child(i.right===r,r.get_child(null===r.left)),this.size--),this._root=n.right,null!==this._root&&(this._root.red=!1),null!==s},e.is_red=function(t){return null!==t&&t.red},e.single_rotate=function(t,e){var n=t.get_child(!e);return t.set_child(!e,n.get_child(e)),n.set_child(e,t),t.red=!0,n.red=!1,n},e.double_rotate=function(t,n){return t.set_child(!n,e.single_rotate(t.get_child(!n),!n)),e.single_rotate(t,n)},e}(i);e.RBTree=s},31:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},r(t,e)},function(t,e){function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,"__esModule",{value:!0});var o=n(4926),a=n(1138);function s(t){return t.bounds=void 0!==t.leaves?t.leaves.reduce((function(t,e){return e.bounds.union(t)}),c.empty()):c.empty(),void 0!==t.groups&&(t.bounds=t.groups.reduce((function(t,e){return s(e).union(t)}),t.bounds)),t.bounds=t.bounds.inflate(t.padding),t.bounds}e.computeGroupBounds=s;var c=function(){function t(t,e,n,r){this.x=t,this.X=e,this.y=n,this.Y=r}return t.empty=function(){return new t(Number.POSITIVE_INFINITY,Number.NEGATIVE_INFINITY,Number.POSITIVE_INFINITY,Number.NEGATIVE_INFINITY)},t.prototype.cx=function(){return(this.x+this.X)/2},t.prototype.cy=function(){return(this.y+this.Y)/2},t.prototype.overlapX=function(t){var e=this.cx(),n=t.cx();return e<=n&&t.x0?n[0]:null},t.prototype.vertices=function(){return[{x:this.x,y:this.y},{x:this.X,y:this.y},{x:this.X,y:this.Y},{x:this.x,y:this.Y}]},t.lineIntersection=function(t,e,n,r,i,o,a,s){var c=n-t,u=a-i,l=r-e,h=s-o,f=h*c-u*l;if(0==f)return null;var d=t-i,p=e-o,g=(u*p-h*d)/f,v=(c*p-l*d)/f;return g>=0&&g<=1&&v>=0&&v<=1?{x:t+g*c,y:e+g*l}:null},t.prototype.inflate=function(e){return new t(this.x-e,this.X+e,this.y-e,this.Y+e)},t}();e.Rectangle=c,e.makeEdgeBetween=function(t,e,n){var r=t.rayIntersection(e.cx(),e.cy())||{x:t.cx(),y:t.cy()},i=e.rayIntersection(t.cx(),t.cy())||{x:e.cx(),y:e.cy()},o=i.x-r.x,a=i.y-r.y,s=Math.sqrt(o*o+a*a),c=s-n;return{sourceIntersection:r,targetIntersection:i,arrowStart:{x:r.x+c*o/s,y:r.y+c*a/s}}},e.makeEdgeTo=function(t,e,n){var r=e.rayIntersection(t.x,t.y);r||(r={x:e.cx(),y:e.cy()});var i=r.x-t.x,o=r.y-t.y,a=Math.sqrt(i*i+o*o);return{x:r.x-n*i/a,y:r.y-n*o/a}};var u=function(t,e,n){this.v=t,this.r=e,this.pos=n,this.prev=f(),this.next=f()},l=function(t,e,n){this.isOpen=t,this.v=e,this.pos=n};function h(t,e){return t.pos>e.pos?1:t.pos0&&(t[n].insert(i),i[r].insert(t))};n("next","prev"),n("prev","next")}};function g(t,e,n,r){void 0===r&&(r=!1);var i=t.padding,o=void 0!==t.groups?t.groups.length:0,a=void 0!==t.leaves?t.leaves.length:0,s=o?t.groups.reduce((function(t,r){return t.concat(g(r,e,n,!0))}),[]):[],c=(r?2:0)+a+o,u=new Array(c),l=new Array(c),h=0,f=function(t,e){l[h]=t,u[h++]=e};if(r){var d=t.bounds,p=e.getCentre(d),b=e.getSize(d)/2,y=e.getOpen(d),m=e.getClose(d),w=p-b+i/2,x=p+b-i/2;t.minVar.desiredPosition=w,f(e.makeRect(y,m,w,i),t.minVar),t.maxVar.desiredPosition=x,f(e.makeRect(y,m,x,i),t.maxVar)}a&&t.leaves.forEach((function(t){return f(t.bounds,t.variable)})),o&&t.groups.forEach((function(t){var n=t.bounds;f(e.makeRect(e.getOpen(n),e.getClose(n),e.getCentre(n),e.getSize(n)),t.minVar)}));var _=v(l,u,e,n);return o&&(u.forEach((function(t){t.cOut=[],t.cIn=[]})),_.forEach((function(t){t.left.cOut.push(t),t.right.cIn.push(t)})),t.groups.forEach((function(t){var n=(t.padding-e.getSize(t.bounds))/2;t.minVar.cIn.forEach((function(t){return t.gap+=n})),t.minVar.cOut.forEach((function(e){e.left=t.maxVar,e.gap+=n}))}))),s.concat(_)}function v(t,e,n,r){var i,a=t.length,s=2*a;console.assert(e.length>=a);var c=new Array(s);for(i=0;it[n]&&(t[n]=e)}o=t}))}},t.prototype.createAlignment=function(t){var e=this,n=this.nodes[t.offsets[0].node].variable;this.makeFeasible(t);var r="x"===t.axis?this.xConstraints:this.yConstraints;t.offsets.slice(1).forEach((function(t){var i=e.nodes[t.node].variable;r.push(new o.Constraint(n,i,t.offset,!0))}))},t.prototype.createConstraints=function(t){var e=this,n=function(t){return void 0===t.type||"separation"===t.type};this.xConstraints=t.filter((function(t){return"x"===t.axis&&n(t)})).map((function(t){return e.createSeparation(t)})),this.yConstraints=t.filter((function(t){return"y"===t.axis&&n(t)})).map((function(t){return e.createSeparation(t)})),t.filter((function(t){return"alignment"===t.type})).forEach((function(t){return e.createAlignment(t)}))},t.prototype.setupVariablesAndBounds=function(t,e,n,r){this.nodes.forEach((function(i,o){i.fixed?(i.variable.weight=i.fixedWeight?i.fixedWeight:1e3,n[o]=r(i)):i.variable.weight=1;var a=(i.width||0)/2,s=(i.height||0)/2,u=t[o],l=e[o];i.bounds=new c(u-a,u+a,l-s,l+s)}))},t.prototype.xProject=function(t,e,n){(this.rootGroup||this.avoidOverlaps||this.xConstraints)&&this.project(t,e,t,n,(function(t){return t.px}),this.xConstraints,m,(function(t){return t.bounds.setXCentre(n[t.variable.index]=t.variable.position())}),(function(t){var e=n[t.minVar.index]=t.minVar.position(),r=n[t.maxVar.index]=t.maxVar.position(),i=t.padding/2;t.bounds.x=e-i,t.bounds.X=r+i}))},t.prototype.yProject=function(t,e,n){(this.rootGroup||this.yConstraints)&&this.project(t,e,e,n,(function(t){return t.py}),this.yConstraints,w,(function(t){return t.bounds.setYCentre(n[t.variable.index]=t.variable.position())}),(function(t){var e=n[t.minVar.index]=t.minVar.position(),r=n[t.maxVar.index]=t.maxVar.position(),i=t.padding/2;t.bounds.y=e-i,t.bounds.Y=r+i}))},t.prototype.projectFunctions=function(){var t=this;return[function(e,n,r){return t.xProject(e,n,r)},function(e,n,r){return t.yProject(e,n,r)}]},t.prototype.project=function(t,e,n,r,i,o,a,c,u){this.setupVariablesAndBounds(t,e,r,i),this.rootGroup&&this.avoidOverlaps&&(s(this.rootGroup),o=o.concat(a(this.rootGroup))),this.solve(this.variables,o,n,r),this.nodes.forEach(c),this.rootGroup&&this.avoidOverlaps&&(this.groups.forEach(u),s(this.rootGroup))},t.prototype.solve=function(t,e,n,r){var i=new o.Solver(t,e);i.setStartingPositions(n),i.setDesiredPositions(r),i.solve()},t}();e.Projection=_},2867:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(7421),i=function(t,e){this.id=t,this.distance=e},o=function(t){this.id=t,this.neighbours=[]},a=function(t,e,n){this.node=t,this.prev=e,this.d=n},s=function(){function t(t,e,n,r,a){this.n=t,this.es=e,this.neighbours=new Array(this.n);for(var s=this.n;s--;)this.neighbours[s]=new o(s);for(s=this.es.length;s--;){var c=this.es[s],u=n(c),l=r(c),h=a(c);this.neighbours[u].neighbours.push(new i(l,h)),this.neighbours[l].neighbours.push(new i(u,h))}}return t.prototype.DistanceMatrix=function(){for(var t=new Array(this.n),e=0;eh&&(u.d=h,u.prev=s,n.reduceKey(u.q,u,(function(t,e){return t.q=e})))}}return o},t}();e.Calculator=s},4926:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t){this.scale=t,this.AB=0,this.AD=0,this.A2=0}return t.prototype.addVariable=function(t){var e=this.scale/t.scale,n=t.offset/t.scale,r=t.weight;this.AB+=r*e*n,this.AD+=r*e*t.desiredPosition,this.A2+=r*e*e},t.prototype.getPosn=function(){return(this.AD-this.AB)/this.A2},t}();e.PositionStats=n;var r=function(){function t(t,e,n,r){void 0===r&&(r=!1),this.left=t,this.right=e,this.gap=n,this.equality=r,this.active=!1,this.unsatisfiable=!1,this.left=t,this.right=e,this.gap=n,this.equality=r}return t.prototype.slack=function(){return this.unsatisfiable?Number.MAX_VALUE:this.right.scale*this.right.position()-this.gap-this.left.scale*this.left.position()},t}();e.Constraint=r;var i=function(){function t(t,e,n){void 0===e&&(e=1),void 0===n&&(n=1),this.desiredPosition=t,this.weight=e,this.scale=n,this.offset=0}return t.prototype.dfdv=function(){return 2*this.weight*(this.position()-this.desiredPosition)},t.prototype.position=function(){return(this.block.ps.scale*this.block.posn+this.offset)/this.scale},t.prototype.visitNeighbours=function(t,e){var n=function(n,r){return n.active&&t!==r&&e(n,r)};this.cOut.forEach((function(t){return n(t,t.right)})),this.cIn.forEach((function(t){return n(t,t.left)}))},t}();e.Variable=i;var o=function(){function t(t){this.vars=[],t.offset=0,this.ps=new n(t.scale),this.addVariable(t)}return t.prototype.addVariable=function(t){t.block=this,this.vars.push(t),this.ps.addVariable(t),this.posn=this.ps.getPosn()},t.prototype.updateWeightedPosition=function(){this.ps.AB=this.ps.AD=this.ps.A2=0;for(var t=0,e=this.vars.length;t=0?this.inactive.push(e):this.bs.merge(e)}}},t.prototype.solve=function(){this.satisfy();for(var t=Number.MAX_VALUE,e=this.bs.cost();Math.abs(t-e)>1e-4;)this.satisfy(),t=e,e=this.bs.cost();return e},t.LAGRANGIAN_TOLERANCE=-1e-4,t.ZERO_UPPERBOUND=-1e-10,t}();e.Solver=s,e.removeOverlapInOneDimension=function(t,e,n){for(var o=t.map((function(t){return new i(t.desiredCenter)})),a=[],c=t.length,u=0;u{var e=t&&t.__esModule?()=>t.default:()=>t;return __webpack_require__.d(e,{a:e}),e},__webpack_require__.d=(t,e)=>{for(var n in e)__webpack_require__.o(e,n)&&!__webpack_require__.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},__webpack_require__.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),__webpack_require__.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),__webpack_require__.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},__webpack_require__.nmd=t=>(t.paths=[],t.children||(t.children=[]),t),__webpack_require__.nc=void 0;var __webpack_exports__={};(()=>{"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{Cytoscape:()=>ot});var t=__webpack_require__(3379),e=__webpack_require__.n(t),n=__webpack_require__(7795),r=__webpack_require__.n(n),i=__webpack_require__(569),o=__webpack_require__.n(i),a=__webpack_require__(3565),s=__webpack_require__.n(a),c=__webpack_require__(9216),u=__webpack_require__.n(c),l=__webpack_require__(4589),h=__webpack_require__.n(l),f=__webpack_require__(372),d={};d.styleTagTransform=h(),d.setAttributes=s(),d.insert=o().bind(null,"head"),d.domAPI=r(),d.insertStyleElement=u(),e()(f.Z,d),f.Z&&f.Z.locals&&f.Z.locals;const p=window.React;var g=__webpack_require__.n(p),v=__webpack_require__(5697),b=__webpack_require__.n(v),y=__webpack_require__(9058),m=__webpack_require__.n(y);const{string:w,array:x,object:_,number:E,bool:k,oneOfType:T,any:C,func:N}=b(),A={id:w,className:w,style:T([w,_]),elements:T([x,C]),stylesheet:T([x,C]),layout:T([_,C]),pan:T([_,C]),zoom:E,panningEnabled:k,userPanningEnabled:k,minZoom:E,maxZoom:E,zoomingEnabled:k,userZoomingEnabled:k,boxSelectionEnabled:k,autoungrabify:k,autolock:k,autounselectify:k,get:N,toJson:N,diff:N,forEach:N,cy:N,headless:k,styleEnabled:k,hideEdgesOnViewport:k,textureOnViewport:k,motionBlur:k,motionBlurOpacity:E,wheelSensitivity:E,pixelRatio:T([w,_])},S=(t,e)=>{if(((t,e)=>null==t||null==e)(t,e)&&(null!=t||null!=e))return!0;if(t===e)return!1;if("object"!=typeof t||"object"!=typeof e)return t!==e;const n=Object.keys(t),r=Object.keys(e),i=n=>t[n]!==e[n];return n.length!==r.length||!(!n.some(i)&&!r.some(i))},O=(t,e)=>null!=t?t[e]:null,L={diff:S,get:O,toJson:t=>t,forEach:(t,e)=>t.forEach(e),elements:[{data:{id:"a",label:"Example node A"}},{data:{id:"b",label:"Example node B"}},{data:{id:"e",source:"a",target:"b"}}],stylesheet:[{selector:"node",style:{label:"data(label)"}}],zoom:1,pan:{x:0,y:0}},I=(t,e,n,r)=>n(O(t,r),O(e,r)),M=(t,e,n,r,i,o)=>{const a=i(i(n,"data"),"id"),s=t.getElementById(a),c={};["data","position","selected","selectable","locked","grabbable","classes"].forEach((t=>{const a=i(n,t);o(a,i(e,t))&&(c[t]=r(a))}));const u=i(n,"scratch");o(u,i(e,"scratch"))&&s.scratch(r(u)),Object.keys(c).length>0&&s.json(c)};class P extends g().Component{static get propTypes(){return A}static get defaultProps(){return L}static normalizeElements(t){if(null!=t.length)return t;{let{nodes:e,edges:n}=t;return null==e&&(e=[]),null==n&&(n=[]),e.concat(n)}}constructor(t){super(t),this.displayName="CytoscapeComponent",this.containerRef=g().createRef()}componentDidMount(){const t=this.containerRef.current,{global:e,headless:n,styleEnabled:r,hideEdgesOnViewport:i,textureOnViewport:o,motionBlur:a,motionBlurOpacity:s,wheelSensitivity:c,pixelRatio:u}=this.props,l=this._cy=new(m())({container:t,headless:n,styleEnabled:r,hideEdgesOnViewport:i,textureOnViewport:o,motionBlur:a,motionBlurOpacity:s,wheelSensitivity:c,pixelRatio:u});e&&(window[e]=l),this.updateCytoscape(null,this.props)}updateCytoscape(t,e){const n=this._cy,{diff:r,toJson:i,get:o,forEach:a}=e;((t,e,n,r,i,o,a)=>{t.batch((()=>{(r===S||I(e,n,r,"elements"))&&((t,e,n,r,i,o,a)=>{const s=[],c=t.collection(),u=[],l={},h={},f=t=>i(i(t,"data"),"id");o(n,(t=>{const e=f(t);h[e]=t})),null!=e&&o(e,(e=>{const n=f(e);l[n]=e,(t=>null!=h[t])(n)||c.merge(t.getElementById(n))})),o(n,(t=>{const e=f(t),n=(t=>l[t])(e);(t=>null!=l[t])(e)?u.push({ele1:n,ele2:t}):s.push(r(t))})),c.length>0&&t.remove(c),s.length>0&&t.add(s),u.forEach((({ele1:e,ele2:n})=>M(t,e,n,r,i,a)))})(t,O(e,"elements"),O(n,"elements"),i,o,a,r),I(e,n,r,"stylesheet")&&((t,e,n,r)=>{const i=t.style();null!=i&&i.fromJson(r(n)).update()})(t,O(e,"stylesheet"),O(n,"stylesheet"),i),["zoom","minZoom","maxZoom","zoomingEnabled","userZoomingEnabled","pan","panningEnabled","userPanningEnabled","boxSelectionEnabled","autoungrabify","autolock","autounselectify"].forEach((o=>{I(e,n,r,o)&&((t,e,n,r,i)=>{t[e](i(r))})(t,o,O(e,o),O(n,o),i)}))})),I(e,n,r,"layout")&&((t,e,n,r)=>{const i=r(n);null!=i&&t.layout(i).run()})(t,O(e,"layout"),O(n,"layout"),i)})(n,t,e,r,i,o,a),null!=e.cy&&e.cy(n)}componentDidUpdate(t){this.updateCytoscape(t,this.props)}componentWillUnmount(){this._cy.destroy()}render(){const{id:t,className:e,style:n}=this.props;return g().createElement("div",{ref:this.containerRef,id:t,className:e,style:n})}}var D=__webpack_require__(6486),R=__webpack_require__.n(D);const j={randomUUID:"undefined"!=typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};let G;const B=new Uint8Array(16);function F(){if(!G&&(G="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!G))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return G(B)}const H=[];for(let t=0;t<256;++t)H.push((t+256).toString(16).slice(1));const Y=function(t,e,n){if(j.randomUUID&&!e&&!t)return j.randomUUID();const r=(t=t||{}).random||(t.rng||F)();if(r[6]=15&r[6]|64,r[8]=63&r[8]|128,e){n=n||0;for(let t=0;t<16;++t)e[n+t]=r[t];return e}return function(t,e=0){return H[t[e+0]]+H[t[e+1]]+H[t[e+2]]+H[t[e+3]]+"-"+H[t[e+4]]+H[t[e+5]]+"-"+H[t[e+6]]+H[t[e+7]]+"-"+H[t[e+8]]+H[t[e+9]]+"-"+H[t[e+10]]+H[t[e+11]]+H[t[e+12]]+H[t[e+13]]+H[t[e+14]]+H[t[e+15]]}(r)};function z(t){return z="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},z(t)}function U(t,e){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:!this.shouldResize,e=this.cy;t!==this.shouldResize&&(t?(e.on("render",this.updateViewport),e.on("resize",this.resize),this.updateViewport(e)):(e.removeListener("render",this.updateViewport),e.removeListener("resize",this.resize)),this.shouldResize=t)}},{key:"getViewport",value:function(){var t=this.cy;return{position:t.pan(),zoom:t.zoom(),renderedBB:Object.assign({},t.elements().renderedBoundingBox()),height:t.height(),width:t.width()}}},{key:"updateViewport",value:function(){var t=this.cy;this.prev=this.getViewport(t)}},{key:"_xConstrainedZoom",value:function(t){var e=this.curr,n=this.prev,r=this.marginPercentage.left*e.width;e.position.x=r+(n.position.x-n.renderedBB.x1);var i=e.renderedBB.y1+e.renderedBB.h/2-e.renderedBB.h/n.zoom*t/2;i+=(e.height-n.height)/2,e.position.y=i+(n.position.y-n.renderedBB.y1)}},{key:"_xChangeMargin",value:function(t){var e=this.curr,n=this.prev,r=n.renderedBB.x1+n.renderedBB.w/2,i=r/n.width*t;e.position.x=e.position.x+(i-r)}},{key:"_yConstrainedZoom",value:function(t){var e=this.curr,n=this.prev,r=this.marginPercentage.top*e.height;e.position.y=r+(n.position.y-n.renderedBB.y1);var i=e.renderedBB.x1+e.renderedBB.w/2-e.renderedBB.w/n.zoom*t/2;i+=(e.width-n.width)/2,e.position.x=i+(n.position.x-n.renderedBB.x1)}},{key:"_yChangeMargin",value:function(){var t=this.curr,e=this.prev,n=e.renderedBB.y1+e.renderedBB.h/2,r=n/e.height*t.height;t.position.y=t.position.y+(r-n)}},{key:"resize",value:function(){var t=this.cy;this.curr=this.getViewport(t);var e=this.curr,n=this.prev,r=n.renderedBB.x1>=0&&n.renderedBB.y1>=0&&n.renderedBB.x2<=n.width&&n.renderedBB.y2<=n.height;if(this.marginPercentage={left:n.renderedBB.x1/n.width,top:n.renderedBB.y1/n.height},Math.abs(1-e.width/n.width)>Math.abs(1-e.height/n.height)){var i=n.zoom/n.width*e.width;if(r)for(var o=Math.min((e.renderedBB.y1+e.renderedBB.h/2)*n.zoom*2/e.renderedBB.h,-(e.renderedBB.y1+e.renderedBB.h/2-n.height)*n.zoom*2/e.renderedBB.h)-this.containedZoomMargin,a=n.width/n.zoom*o,s=e.zoom=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return a=t.done,t},e:function(t){s=!0,o=t},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function $(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);nt.maxZoom()||e0&&(r.selector=r.selector+", "),r.selector=r.selector+"edge"):"node"===u?(r.selector.length>0&&(r.selector=r.selector+", "),r.selector=r.selector+"node"):"canvas"===u?r.coreAsWell=!0:console.error("Error: selector ".concat(u," is not available. Choose one of 'node', 'edge' or 'canvas'."))}}catch(t){c.e(t)}finally{c.f()}}a.push(r)};for(s.s();!(i=s.n()).done;)c()}catch(t){s.e(t)}finally{s.f()}return a},this.cyResponsiveClass=new q(t),this.cyResponsiveClass.toggle(this.props.responsive),s(t.extent())}}},{key:"handleImageGeneration",value:function(t,e,n,r){var i=this,o={};e&&(o=e);var a,s,c,u=o.output;switch(o.output="blob",n){case"store":default:a=!1,s=!0;break;case"download":a=!0,s=!1;break;case"both":a=!0,s=!0}if("png"===t&&(c=this._cy.png(o)),"jpg"!==t&&"jpeg"!==t||(c=this._cy.jpg(o)),"svg"===t&&(c=this._cy.svg(o)),c&&a){var l=r;if(r||(l="cyto"),"svg"!==t)this.downloadBlob(c,l+"."+t);else{var h=new Blob([c],{type:"image/svg+xml;charset=utf-8"});this.downloadBlob(h,l+"."+t)}}if(c&&s){if(u||(u="base64uri"),"base64uri"!==u&&"base64"!==u)return;var f=new FileReader;f.onload=function(){var t=f.result;"base64"===u&&(t=t.replace(/^data:.+;base64,/,"")),i.props.setProps({imageData:t})},f.readAsDataURL(c)}}},{key:"downloadBlob",value:function(t,e){var n=document.createElement("a");n.style="display: none",document.body.appendChild(n);var r=window.URL.createObjectURL(t);n.href=r,n.download=e,n.click(),window.URL.revokeObjectURL(r),document.body.removeChild(n)}},{key:"updateContextMenu",value:function(t){this._cy.contextMenus({menuItems:this.createMenuItems(t),menuItemClasses:["custom-menu-item"]})}},{key:"graphOutOfView",value:function(){var t=this._cy.width(),e=this._cy.height(),n=this._cy.elements().renderedBoundingbox();return n.x1>t||n.y1>e||n.x2<0||n.y2<0}},{key:"componentDidUpdate",value:function(t){var e=this.props,n=e.contextMenu,r=e.elements;!R().isEqual(t.contextMenu,n)&&this._cy&&this.updateContextMenu(n),!R().isEqual(t.elements,r)&&this._cy&&this.graphOutOfView()&&this._cy.fit()}},{key:"componentDidMount",value:function(){var t=this.props.contextMenu;this._cy&&t.length>0&&this.updateContextMenu(t)}},{key:"render",value:function(){var t=this.props,e=t.id,n=t.style,r=t.className,i=t.elements,o=t.stylesheet,a=t.layout,s=t.contextMenu,c=t.contextMenuData,u=t.pan,l=t.zoom,h=t.panningEnabled,f=t.userPanningEnabled,d=t.minZoom,p=t.maxZoom,v=t.zoomingEnabled,b=t.userZoomingEnabled,y=t.wheelSensitivity,m=t.boxSelectionEnabled,w=t.autoungrabify,x=t.autolock,_=t.autounselectify,E=t.generateImage,k=t.responsive;return Object.keys(E).length>0&&(this.props.setProps({generateImage:{}}),this._cy&&this.handleImageGeneration(E.type,E.options,E.action,E.filename)),this.cyResponsiveClass&&this.cyResponsiveClass.toggle(k),g().createElement(P,{id:e,cy:this.handleCy,className:r,style:n,elements:P.normalizeElements(i),stylesheet:o,layout:a,contextMenu:s,contextMenuData:c,pan:u,zoom:l,panningEnabled:h,userPanningEnabled:f,minZoom:d,maxZoom:p,zoomingEnabled:v,userZoomingEnabled:b,wheelSensitivity:y,boxSelectionEnabled:m,autoungrabify:w,autolock:x,autounselectify:_})}}],r&&Z(n.prototype,r),Object.defineProperty(n,"prototype",{writable:!1}),e}(p.Component);it.propTypes={id:b().string,className:b().string,style:b().object,setProps:b().func,elements:b().oneOfType([b().arrayOf(b().shape({group:b().string,data:b().shape({id:b().string,label:b().string,parent:b().string,source:b().string,target:b().string}),position:b().shape({x:b().number,y:b().number}),selected:b().bool,selectable:b().bool,locked:b().bool,grabbable:b().bool,classes:b().string})),b().exact({nodes:b().array,edges:b().array})]),stylesheet:b().arrayOf(b().exact({selector:b().string.isRequired,style:b().object.isRequired})),layout:b().shape({name:b().oneOf(["random","preset","circle","concentric","grid","breadthfirst","cose","cose-bilkent","fcose","cola","euler","spread","dagre","klay"]).isRequired,fit:b().bool,padding:b().number,animate:b().bool,animationDuration:b().number,boundingBox:b().object}),contextMenu:b().arrayOf(b().exact({id:b().string.isRequired,label:b().string.isRequired,tooltipText:b().string,availableOn:b().array,onClick:b().string,onClickCustom:b().string})),contextMenuData:b().exact({menuItemId:b().string,x:b().number,y:b().number,timeStamp:b().number,elementId:b().string,edgeSource:b().string,edgeTarget:b().string}),pan:b().exact({x:b().number,y:b().number}),zoom:b().number,panningEnabled:b().bool,userPanningEnabled:b().bool,minZoom:b().number,maxZoom:b().number,zoomingEnabled:b().bool,userZoomingEnabled:b().bool,wheelSensitivity:b().number,boxSelectionEnabled:b().bool,autoungrabify:b().bool,autolock:b().bool,autounselectify:b().bool,autoRefreshLayout:b().bool,tapNode:b().exact({edgesData:b().array,renderedPosition:b().object,timeStamp:b().number,classes:b().string,data:b().object,grabbable:b().bool,group:b().string,locked:b().bool,position:b().object,selectable:b().bool,selected:b().bool,style:b().object,ancestorsData:b().oneOfType([b().object,b().array]),childrenData:b().oneOfType([b().object,b().array]),descendantsData:b().oneOfType([b().object,b().array]),parentData:b().oneOfType([b().object,b().array]),siblingsData:b().oneOfType([b().object,b().array]),isParent:b().bool,isChildless:b().bool,isChild:b().bool,isOrphan:b().bool,relativePosition:b().object}),tapNodeData:b().object,tapEdge:b().exact({isLoop:b().bool,isSimple:b().bool,midpoint:b().object,sourceData:b().object,sourceEndpoint:b().object,targetData:b().object,targetEndpoint:b().object,timeStamp:b().number,classes:b().string,data:b().object,grabbable:b().bool,group:b().string,locked:b().bool,selectable:b().bool,selected:b().bool,style:b().object}),tapEdgeData:b().object,mouseoverNodeData:b().object,mouseoverEdgeData:b().object,selectedNodeData:b().array,selectedEdgeData:b().array,generateImage:b().shape({type:b().oneOf(["svg","png","jpg","jpeg"]),options:b().object,action:b().oneOf(["store","download","both"]),filename:b().string}),imageData:b().string,responsive:b().bool,extent:b().object,clearOnUnhover:b().bool},it.defaultProps={style:{width:"600px",height:"600px"},layout:{name:"grid"},pan:{x:0,y:0},zoom:1,minZoom:1e-50,maxZoom:1e50,zoomingEnabled:!0,userZoomingEnabled:!0,panningEnabled:!0,userPanningEnabled:!0,wheelSensitivity:1,boxSelectionEnabled:!1,autolock:!1,autoungrabify:!1,autounselectify:!1,autoRefreshLayout:!0,generateImage:{},imageData:null,responsive:!1,clearOnUnhover:!1,elements:[],contextMenu:[]};const ot=it;var at=__webpack_require__(4607),st=__webpack_require__.n(at),ct=__webpack_require__(4867),ut=__webpack_require__.n(ct),lt=__webpack_require__(703),ht=__webpack_require__.n(lt),ft=__webpack_require__(9142),dt=__webpack_require__.n(ft),pt=__webpack_require__(3840),gt=__webpack_require__.n(pt),vt=__webpack_require__(3878),bt=__webpack_require__.n(vt),yt=__webpack_require__(6611),mt=__webpack_require__.n(yt),wt=__webpack_require__(3595),xt=__webpack_require__.n(wt);m().use(st()),m().use(ut()),m().use(ht()),m().use(dt()),m().use(gt()),m().use(bt()),m().use(mt()),m().use(xt())})(),window.dash_cytoscape=__webpack_exports__})(); \ No newline at end of file +(()=>{var __webpack_modules__={1686:()=>{!function(){"use strict";var t=function(t,e){var n=function(t){for(var e=0,n=t.length;et.length)&&(e=t.length);for(var n=0,r=new Array(e);n=t.length?{done:!0}:{done:!1,value:t[i++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,s=!0,c=!1;return{s:function(){r=r.call(t)},n:function(){var t=r.next();return s=t.done,t},e:function(t){c=!0,a=t},f:function(){try{s||null==r.return||r.return()}finally{if(c)throw a}}}}var r=!0,i=!1,o="querySelectorAll",a="querySelectorAll",s=self,c=s.document,u=s.Element,l=s.MutationObserver,h=s.Set,f=s.WeakMap,d=function(t){return a in t},p=[].filter,g=function(t){var e=new f,s=function(n,r){var i;if(r)for(var o,a=function(t){return t.matches||t.webkitMatchesSelector||t.msMatchesSelector}(n),s=0,c=v.length;s1&&void 0!==arguments[1])||arguments[1],n=0,r=t.length;n1&&void 0!==arguments[1]?arguments[1]:document,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:MutationObserver,s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:["*"],c=function e(i,a,s,c,u,l){var h,f=n(i);try{for(f.s();!(h=f.n()).done;){var d=h.value;(l||o in d)&&(u?s.has(d)||(s.add(d),c.delete(d),t(d,u)):c.has(d)||(c.add(d),s.delete(d),t(d,u)),l||e(d[o](a),a,s,c,u,r))}}catch(t){f.e(t)}finally{f.f()}},u=new a((function(t){if(s.length){var e,o=s.join(","),a=new Set,u=new Set,l=n(t);try{for(l.s();!(e=l.n()).done;){var h=e.value,f=h.addedNodes,d=h.removedNodes;c(d,o,a,u,i,i),c(f,o,a,u,r,i)}}catch(t){l.e(t)}finally{l.f()}}})),l=u.observe;return(u.observe=function(t){return l.call(u,t,{subtree:r,childList:r})})(e),u}(s,b,l,v),m=u.prototype.attachShadow;return m&&(u.prototype.attachShadow=function(t){var e=m.call(this,t);return y.observe(e),e}),v.length&&g(b[a](v)),{drop:function(t){for(var n=0,r=t.length;n{window.dash_clientside||(window.dash_clientside={});var t=20037508.34;function e(e,n){return[180*e/t,360*Math.atan(Math.exp(-n*Math.PI/t))/Math.PI-90]}window.dash_clientside.cyleaflet={updateLeafBounds:function(t,n,r){var i=t;if(!i){if(!r)return window.dash_clientside.no_update;i=r}var o=e(i.x1,i.y1),a=o[0],s=o[1],c=e(i.x2,i.y2),u=c[0],l=c[1],h=(new Date).getTime(),f=[[l,a],[s,u]];return s===l||a===u?window.dash_clientside.no_update:[h,{bounds:f,options:{animate:!0}},i]},transformElements:function(e){return e.map((function(e){if(Object.prototype.hasOwnProperty.call(e.data,"lat")){var n=(r=e.data.lon,i=e.data.lat,[r*t/180,-Math.log(Math.tan((90+i)*Math.PI/360))*t/Math.PI]);return{data:e.data,position:{y:n[1],x:n[0]}}}var r,i;return e}))},updateLonLat:function(t){return t.length>0?t.map((function(t){if(void 0!==t.position&&Object.prototype.hasOwnProperty.call(t.position,"x")&&0!==t.position.x&&0!==t.position.y){var n=e(t.position.x,t.position.y);return{position:t.position,data:Object.assign({},t.data,{lon:n[0],lat:n[1]})}}return t})):window.dash_clientside.no_update},updateCytoMaxZoom:function(t){var e=t;t.length>=1&&1===(e=t.filter((function(t){return"TileLayer"===t.type}))).length&&(e=e[0]);var n=18;return void 0!==e.props&&Object.prototype.hasOwnProperty.call(e.props,"maxZoom")&&(n=e.props.maxZoom),function(t){return.418*Math.pow(2,t-16)}(n)}}},4182:function(t,e,n){var r;r=function(t){return function(t){var e={};function n(r){if(e[r])return e[r].exports;var i=e[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=t,n.c=e,n.i=function(t){return t},n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:r})},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=7)}([function(e,n){e.exports=t},function(t,e,n){"use strict";var r=n(0).FDLayoutConstants;function i(){}for(var o in r)i[o]=r[o];i.DEFAULT_USE_MULTI_LEVEL_SCALING=!1,i.DEFAULT_RADIAL_SEPARATION=r.DEFAULT_EDGE_LENGTH,i.DEFAULT_COMPONENT_SEPERATION=60,i.TILE=!0,i.TILING_PADDING_VERTICAL=10,i.TILING_PADDING_HORIZONTAL=10,i.TREE_REDUCTION_ON_INCREMENTAL=!1,t.exports=i},function(t,e,n){"use strict";var r=n(0).FDLayoutEdge;function i(t,e,n){r.call(this,t,e,n)}for(var o in i.prototype=Object.create(r.prototype),r)i[o]=r[o];t.exports=i},function(t,e,n){"use strict";var r=n(0).LGraph;function i(t,e,n){r.call(this,t,e,n)}for(var o in i.prototype=Object.create(r.prototype),r)i[o]=r[o];t.exports=i},function(t,e,n){"use strict";var r=n(0).LGraphManager;function i(t){r.call(this,t)}for(var o in i.prototype=Object.create(r.prototype),r)i[o]=r[o];t.exports=i},function(t,e,n){"use strict";var r=n(0).FDLayoutNode,i=n(0).IMath;function o(t,e,n,i){r.call(this,t,e,n,i)}for(var a in o.prototype=Object.create(r.prototype),r)o[a]=r[a];o.prototype.move=function(){var t=this.graphManager.getLayout();this.displacementX=t.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.noOfChildren,this.displacementY=t.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.noOfChildren,Math.abs(this.displacementX)>t.coolingFactor*t.maxNodeDisplacement&&(this.displacementX=t.coolingFactor*t.maxNodeDisplacement*i.sign(this.displacementX)),Math.abs(this.displacementY)>t.coolingFactor*t.maxNodeDisplacement&&(this.displacementY=t.coolingFactor*t.maxNodeDisplacement*i.sign(this.displacementY)),null==this.child||0==this.child.getNodes().length?this.moveBy(this.displacementX,this.displacementY):this.propogateDisplacementToChildren(this.displacementX,this.displacementY),t.totalDisplacement+=Math.abs(this.displacementX)+Math.abs(this.displacementY),this.springForceX=0,this.springForceY=0,this.repulsionForceX=0,this.repulsionForceY=0,this.gravitationForceX=0,this.gravitationForceY=0,this.displacementX=0,this.displacementY=0},o.prototype.propogateDisplacementToChildren=function(t,e){for(var n,r=this.getChild().getNodes(),i=0;i0)this.positionNodesRadially(t);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var e=new Set(this.getAllNodes()),n=this.nodesWithGravity.filter((function(t){return e.has(t)}));this.graphManager.setAllNodesToApplyGravitation(n),this.positionNodesRandomly()}}return this.initSpringEmbedder(),this.runSpringEmbedder(),!0},y.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished){if(!(this.prunedNodesAll.length>0))return!0;this.isTreeGrowing=!0}if(this.totalIterations%u.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged()){if(!(this.prunedNodesAll.length>0))return!0;this.isTreeGrowing=!0}this.coolingCycle++,0==this.layoutQuality?this.coolingAdjuster=this.coolingCycle:1==this.layoutQuality&&(this.coolingAdjuster=this.coolingCycle/3),this.coolingFactor=Math.max(this.initialCoolingFactor-Math.pow(this.coolingCycle,Math.log(100*(this.initialCoolingFactor-this.finalTemperature))/Math.log(this.maxCoolingCycle))/100*this.coolingAdjuster,this.finalTemperature),this.animationPeriod=Math.ceil(this.initialAnimationPeriod*Math.sqrt(this.coolingFactor))}if(this.isTreeGrowing){if(this.growTreeIterations%10==0)if(this.prunedNodesAll.length>0){this.graphManager.updateBounds(),this.updateGrid(),this.growTree(this.prunedNodesAll),this.graphManager.resetAllNodesToApplyGravitation();var t=new Set(this.getAllNodes()),e=this.nodesWithGravity.filter((function(e){return t.has(e)}));this.graphManager.setAllNodesToApplyGravitation(e),this.graphManager.updateBounds(),this.updateGrid(),this.coolingFactor=u.DEFAULT_COOLING_FACTOR_INCREMENTAL}else this.isTreeGrowing=!1,this.isGrowthFinished=!0;this.growTreeIterations++}if(this.isGrowthFinished){if(this.isConverged())return!0;this.afterGrowthIterations%10==0&&(this.graphManager.updateBounds(),this.updateGrid()),this.coolingFactor=u.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var n=!this.isTreeGrowing&&!this.isGrowthFinished,r=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(n,r),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},y.prototype.getPositionsData=function(){for(var t=this.graphManager.getAllNodes(),e={},n=0;n1)for(s=0;sr&&(r=Math.floor(a.y)),o=Math.floor(a.x+c.DEFAULT_COMPONENT_SEPERATION)}this.transform(new f(l.WORLD_CENTER_X-a.x/2,l.WORLD_CENTER_Y-a.y/2))},y.radialLayout=function(t,e,n){var r=Math.max(this.maxDiagonalInTree(t),c.DEFAULT_RADIAL_SEPARATION);y.branchRadialLayout(e,null,0,359,0,r);var i=v.calculateBounds(t),o=new b;o.setDeviceOrgX(i.getMinX()),o.setDeviceOrgY(i.getMinY()),o.setWorldOrgX(n.x),o.setWorldOrgY(n.y);for(var a=0;a1;){var b=v[0];v.splice(0,1);var m=l.indexOf(b);m>=0&&l.splice(m,1),p--,h--}f=null!=e?(l.indexOf(v[0])+1)%p:0;for(var w=Math.abs(r-n)/h,x=f;d!=h;x=++x%p){var _=l[x].getOtherEnd(t);if(_!=e){var E=(n+d*w)%360,k=(E+w)%360;y.branchRadialLayout(_,t,E,k,i+o,o),d++}}},y.maxDiagonalInTree=function(t){for(var e=p.MIN_VALUE,n=0;ne&&(e=r)}return e},y.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},y.prototype.groupZeroDegreeMembers=function(){var t=this,e={};this.memberGroups={},this.idToDummyNode={};for(var n=[],r=this.graphManager.getAllNodes(),i=0;i1){var r="DummyCompound_"+n;t.memberGroups[r]=e[n];var i=e[n][0].getParent(),o=new a(t.graphManager);o.id=r,o.paddingLeft=i.paddingLeft||0,o.paddingRight=i.paddingRight||0,o.paddingBottom=i.paddingBottom||0,o.paddingTop=i.paddingTop||0,t.idToDummyNode[r]=o;var s=t.getGraphManager().add(t.newGraph(),o),c=i.getChild();c.add(o);for(var u=0;u=0;t--){var e=this.compoundOrder[t],n=e.id,r=e.paddingLeft,i=e.paddingTop;this.adjustLocations(this.tiledMemberPack[n],e.rect.x,e.rect.y,r,i)}},y.prototype.repopulateZeroDegreeMembers=function(){var t=this,e=this.tiledZeroDegreePack;Object.keys(e).forEach((function(n){var r=t.idToDummyNode[n],i=r.paddingLeft,o=r.paddingTop;t.adjustLocations(e[n],r.rect.x,r.rect.y,i,o)}))},y.prototype.getToBeTiled=function(t){var e=t.id;if(null!=this.toBeTiled[e])return this.toBeTiled[e];var n=t.getChild();if(null==n)return this.toBeTiled[e]=!1,!1;for(var r=n.getNodes(),i=0;i0)return this.toBeTiled[e]=!1,!1;if(null!=o.getChild()){if(!this.getToBeTiled(o))return this.toBeTiled[e]=!1,!1}else this.toBeTiled[o.id]=!1}return this.toBeTiled[e]=!0,!0},y.prototype.getNodeDegree=function(t){t.id;for(var e=t.getEdges(),n=0,r=0;rc&&(c=l.rect.height)}n+=c+t.verticalPadding}},y.prototype.tileCompoundMembers=function(t,e){var n=this;this.tiledMemberPack=[],Object.keys(t).forEach((function(r){var i=e[r];n.tiledMemberPack[r]=n.tileNodes(t[r],i.paddingLeft+i.paddingRight),i.rect.width=n.tiledMemberPack[r].width,i.rect.height=n.tiledMemberPack[r].height}))},y.prototype.tileNodes=function(t,e){var n={rows:[],rowWidth:[],rowHeight:[],width:0,height:e,verticalPadding:c.TILING_PADDING_VERTICAL,horizontalPadding:c.TILING_PADDING_HORIZONTAL};t.sort((function(t,e){return t.rect.width*t.rect.height>e.rect.width*e.rect.height?-1:t.rect.width*t.rect.height0&&(o+=t.horizontalPadding),t.rowWidth[n]=o,t.width0&&(a+=t.verticalPadding);var s=0;a>t.rowHeight[n]&&(s=t.rowHeight[n],t.rowHeight[n]=a,s=t.rowHeight[n]-s),t.height+=s,t.rows[n].push(e)},y.prototype.getShortestRowIndex=function(t){for(var e=-1,n=Number.MAX_VALUE,r=0;rn&&(e=r,n=t.rowWidth[r]);return e},y.prototype.canAddHorizontal=function(t,e,n){var r=this.getShortestRowIndex(t);if(r<0)return!0;var i=t.rowWidth[r];if(i+t.horizontalPadding+e<=t.width)return!0;var o,a,s=0;return t.rowHeight[r]0&&(s=n+t.verticalPadding-t.rowHeight[r]),o=t.width-i>=e+t.horizontalPadding?(t.height+s)/(i+e+t.horizontalPadding):(t.height+s)/t.width,s=n+t.verticalPadding,(a=t.widtho&&e!=n){r.splice(-1,1),t.rows[n].push(i),t.rowWidth[e]=t.rowWidth[e]-o,t.rowWidth[n]=t.rowWidth[n]+o,t.width=t.rowWidth[instance.getLongestRowIndex(t)];for(var a=Number.MIN_VALUE,s=0;sa&&(a=r[s].height);e>0&&(a+=t.verticalPadding);var c=t.rowHeight[e]+t.rowHeight[n];t.rowHeight[e]=a,t.rowHeight[n]0)for(var l=i;l<=o;l++)c[0]+=this.grid[l][a-1].length+this.grid[l][a].length-1;if(o0)for(l=a;l<=s;l++)c[3]+=this.grid[i-1][l].length+this.grid[i][l].length-1;for(var h,f,d=p.MAX_VALUE,g=0;g{"use strict";n.d(e,{Z:()=>s});var r=n(8081),i=n.n(r),o=n(3645),a=n.n(o)()(i());a.push([t.id,".cytoscape-reference p {\n display: inline;\n}\n\n.custom-menu-item {\n background-color: rgb(241, 241, 241);\n font-weight: bold !important;\n width: 170px;\n display: inline-block;\n height: 38px;\n padding: 0 30px;\n color: #555;\n text-align: center;\n font-size: 11px;\n font-weight: 600;\n line-height: 38px;\n letter-spacing: 0.1rem;\n text-decoration: none;\n white-space: nowrap;\n border-radius: 4px;\n border: 1px solid #bbb;\n cursor: pointer;\n box-sizing: border-box;\n}\n.custom-menu-item:hover {\n color: rgb(104, 104, 104);\n border-color: rgb(97, 97, 97);\n outline: 0;\n}\n\n.cy-context-menus-cxt-menu {\n display: none;\n}\n",""]);const s=a},3645:t=>{"use strict";t.exports=function(t){var e=[];return e.toString=function(){return this.map((function(e){var n="",r=void 0!==e[5];return e[4]&&(n+="@supports (".concat(e[4],") {")),e[2]&&(n+="@media ".concat(e[2]," {")),r&&(n+="@layer".concat(e[5].length>0?" ".concat(e[5]):""," {")),n+=t(e),r&&(n+="}"),e[2]&&(n+="}"),e[4]&&(n+="}"),n})).join("")},e.i=function(t,n,r,i,o){"string"==typeof t&&(t=[[null,t,void 0]]);var a={};if(r)for(var s=0;s0?" ".concat(l[5]):""," {").concat(l[1],"}")),l[5]=o),n&&(l[2]?(l[1]="@media ".concat(l[2]," {").concat(l[1],"}"),l[2]=n):l[2]=n),i&&(l[4]?(l[1]="@supports (".concat(l[4],") {").concat(l[1],"}"),l[4]=i):l[4]="".concat(i)),e.push(l))}},e}},8081:t=>{"use strict";t.exports=function(t){return t[1]}},703:function(t,e,n){var r;r=function(t){return function(t){var e={};function n(r){if(e[r])return e[r].exports;var i=e[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=t,n.c=e,n.i=function(t){return t},n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:r})},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=3)}([function(t,e,n){"use strict";var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i=n(1),o=n(2),a=n(5)||("undefined"!=typeof window?window.cola:null),s=n(4),c=function(t){return(void 0===t?"undefined":r(t))===r(0)},u=function(){},l=function(t,e){return function(t){return null!=t&&(void 0===t?"undefined":r(t))===r((function(){}))}(t)?t.apply(e,[e]):t};function h(t){this.options=i({},o,t)}h.prototype.run=function(){var t=this,e=this.options;t.manuallyStopped=!1;var n=e.cy,i=e.eles,o=i.nodes(),h=i.edges(),f=!1,d=o.filter((function(t){return t.isParent()})),p=o.subtract(d),g=e.boundingBox||{x1:0,y1:0,w:n.width(),h:n.height()};void 0===g.x2&&(g.x2=g.x1+g.w),void 0===g.w&&(g.w=g.x2-g.x1),void 0===g.y2&&(g.y2=g.y1+g.h),void 0===g.h&&(g.h=g.y2-g.y1);var v=function(){for(var t=0;t0&&w.constraints(T),w.groups(d.map((function(t,n){var r=l(e.nodeSpacing,t),i=function(e){return parseFloat(t.style("padding-"+e))},o=i("left")+r,a=i("right")+r,s=i("top")+r,c=i("bottom")+r;return t.scratch().cola={index:n,padding:Math.max(o,a,s,c),leaves:t.children().intersection(p).map((function(t){return t[0].scratch().cola.index})),fixed:t.locked()},t})).map((function(t){return t.scratch().cola.groups=t.children().intersection(d).map((function(t){return t.scratch().cola.index})),t.scratch().cola})));var C=void 0,N=void 0;if(null!=e.edgeLength?(C=e.edgeLength,N="linkDistance"):null!=e.edgeSymDiffLength?(C=e.edgeSymDiffLength,N="symmetricDiffLinkLengths"):null!=e.edgeJaccardLength?(C=e.edgeJaccardLength,N="jaccardLinkLengths"):(C=100,N="linkDistance"),w.links(h.stdFilter((function(t){return p.contains(t.source())&&p.contains(t.target())})).map((function(t){var e=t.scratch().cola={source:t.source()[0].scratch().cola.index,target:t.target()[0].scratch().cola.index};return null!=C&&(e.calcLength=l(C,t)),e}))),w.size([g.w,g.h]),null!=C&&w[N]((function(t){return t.calcLength})),e.flow){var A=void 0;!function(t){return(void 0===t?"undefined":r(t))===r("")}(e.flow)?c(e.flow)?A={axis:"y",minSeparation:e.flow}:function(t){return null!=t&&(void 0===t?"undefined":r(t))===r({})}(e.flow)?((A=e.flow).axis=A.axis||"y",A.minSeparation=null!=A.minSeparation?A.minSeparation:50):A={axis:"y",minSeparation:50}:A={axis:e.flow,minSeparation:50},w.flowLayout(A.axis,A.minSeparation)}return t.trigger({type:"layoutstart",layout:t}),w.avoidOverlaps(e.avoidOverlap).handleDisconnected(e.handleDisconnected).start(e.unconstrIter,e.userConstIter,e.allConstIter,void 0,void 0,e.centerGraph),e.infinite||setTimeout((function(){t.manuallyStopped||w.stop()}),e.maxSimulationTime),this},h.prototype.stop=function(){return this.adaptor&&(this.manuallyStopped=!0,this.adaptor.stop()),this},t.exports=h},function(t,e,n){"use strict";t.exports=null!=Object.assign?Object.assign.bind(Object):function(t){for(var e=arguments.length,n=Array(e>1?e-1:0),r=1;r{self,t.exports=(()=>{var t={621:(t,e,n)=>{"use strict";function r(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);nS});var s="cy-context-menus-divider",c={evtType:"cxttap",menuItems:[],menuItemClasses:["cy-context-menus-cxt-menuitem"],contextMenuClasses:["cy-context-menus-cxt-menu"],submenuIndicator:{src:"assets/submenu-indicator-default.svg",width:12,height:12}};function u(t){return(u="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function l(t,e){var n;if("undefined"==typeof Symbol||null==t[Symbol.iterator]){if(Array.isArray(t)||(n=function(t,e){if(t){if("string"==typeof t)return h(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?h(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var r=0,i=function(){};return{s:i,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=t[Symbol.iterator]()},n:function(){var t=n.next();return a=t.done,t},e:function(t){s=!0,o=t},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function h(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n1&&void 0!==arguments[1]?arguments[1]:void 0;this.hasSubmenu()||this._createSubmenu(),this.submenu.appendMenuItem(t,e)}},{key:"isClickable",value:function(){return void 0!==this.onClickFunction}},{key:"display",value:function(){this.show=!0,this.style.display="block"}},{key:"isVisible",value:function(){return!0===this.show&&"none"!==this.style.display}},{key:"removeSubmenu",value:function(){this.hasSubmenu()&&(this.submenu.removeAllMenuItems(),this.detachSubmenu())}},{key:"detachSubmenu",value:function(){this.hasSubmenu()&&(this.removeChild(this.submenu),this.removeChild(this.indicator),this.removeEventListener("mouseenter",this.mouseEnterHandler),this.removeEventListener("mouseleave",this.mouseLeaveHandler),this.submenu=void 0,this.indicator=void 0)}},{key:"_onMouseEnter",value:function(t){var e=this.getBoundingClientRect(),r=function(t){t.style.opacity="0",t.style.display="block";var e=t.getBoundingClientRect();return t.style.opacity="1",t.style.display="none",e}(this.submenu),i=e.right+r.width>window.innerWidth,o=e.top+r.height>window.innerHeight;i||o?i&&!o?(this.submenu.style.right=this.clientWidth+"px",this.submenu.style.top="0px",this.submenu.style.left="auto",this.submenu.style.bottom="auto"):i&&o?(this.submenu.style.right=this.clientWidth+"px",this.submenu.style.bottom="0px",this.submenu.style.top="auto",this.submenu.style.left="auto"):(this.submenu.style.left=this.clientWidth+"px",this.submenu.style.bottom="0px",this.submenu.style.right="auto",this.submenu.style.top="auto"):(this.submenu.style.left=this.clientWidth+"px",this.submenu.style.top="0px",this.submenu.style.right="auto",this.submenu.style.bottom="auto"),this.submenu.display();var a=Array.from(this.submenu.children).filter((function(t){if(t instanceof n)return t.isVisible()})),c=a.length;a.forEach((function(t,e){t instanceof n&&(e=(o=n.getBoundingClientRect()).left&&r<=o.right&&i>=o.top&&i<=o.bottom||this.submenu.hide()}},{key:"_createSubmenu",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];this.indicator=this.scratchpad.submenuIndicatorGen(),this.submenu=new C(this.onMenuItemClick,this.scratchpad),this.appendChild(this.indicator),this.appendChild(this.submenu);var e,r=l(t);try{for(r.s();!(e=r.n()).done;){var i=new n(e.value,this.onMenuItemClick,this.scratchpad);this.submenu.appendMenuItem(i)}}catch(t){r.e(t)}finally{r.f()}this.mouseEnterHandler=this._onMouseEnter.bind(this),this.mouseLeaveHandler=this._onMouseLeave.bind(this),this.addEventListener("mouseenter",this.mouseEnterHandler),this.addEventListener("mouseleave",this.mouseLeaveHandler)}},{key:"_getMenuItemClassStr",value:function(t,e){return e?t+" "+s:t}}],[{key:"define",value:function(){a("ctx-menu-item",n,"button")}}]),n}(m(HTMLButtonElement)),C=function(t){g(n,t);var e=v(n);function n(t,r){var i,o;return f(this,n),y((i=b(o=e.call(this)),E(n.prototype)),"setAttribute",i).call(i,"class",r.cxtMenuClasses),o.style.position="absolute",o.onMenuItemClick=t,o.scratchpad=r,o}return p(n,[{key:"hide",value:function(){this.isVisible()&&(this.hideSubmenus(),this.style.display="none")}},{key:"display",value:function(){this.style.display="block"}},{key:"isVisible",value:function(){return"none"!==this.style.display}},{key:"hideMenuItems",value:function(){var t,e=l(this.children);try{for(e.s();!(t=e.n()).done;){var n=t.value;n instanceof HTMLElement?n.style.display="none":console.warn("".concat(n," is not a HTMLElement"))}}catch(t){e.e(t)}finally{e.f()}}},{key:"hideSubmenus",value:function(){var t,e=l(this.children);try{for(e.s();!(t=e.n()).done;){var n=t.value;n instanceof T&&n.submenu&&n.submenu.hide()}}catch(t){e.e(t)}finally{e.f()}}},{key:"appendMenuItem",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0;if(void 0!==e){if(e.parentNode!==this)throw new Error("The item with id='".concat(e.id,"' is not a child of the context menu"));this.insertBefore(t,e)}else this.appendChild(t);t.isClickable()&&this._performBindings(t)}},{key:"moveBefore",value:function(t,e){if(t.parentNode!==this)throw new Error("The item with id='".concat(t.id,"' is not a child of context menu"));if(e.parentNode!==this)throw new Error("The item with id='".concat(e.id,"' is not a child of context menu"));this.removeChild(t),this.insertBefore(t,e)}},{key:"removeAllMenuItems",value:function(){for(;this.firstChild;){var t=this.lastChild;t instanceof T?this._removeImmediateMenuItem(t):(console.warn("Found non menu item in the context menu: ",t),this.removeChild(t))}}},{key:"_removeImmediateMenuItem",value:function(t){if(!this._detachImmediateMenuItem(t))throw new Error("menu item(id=".concat(t.id,") is not in the context menu"));t.detachSubmenu(),t.unbindOnClickFunctions()}},{key:"_detachImmediateMenuItem",value:function(t){if(t.parentNode===this){if(this.removeChild(t),this.children.length<=0){var e=this.parentNode;e instanceof T&&e.detachSubmenu()}return!0}return!1}},{key:"_performBindings",value:function(t){var e=this._bindOnClick(t.onClickFunction);t.bindOnClickFunction(e),t.bindOnClickFunction(this.onMenuItemClick)}},{key:"_bindOnClick",value:function(t){var e=this;return function(){var n=e.scratchpad.currentCyEvent;t(n)}}}],[{key:"define",value:function(){a("menu-item-list",n,"div")}}]),n}(m(HTMLDivElement)),N=function(t){g(n,t);var e=v(n);function n(t,r){var i;return f(this,n),(i=e.call(this,t,r)).onMenuItemClick=function(e){k(e),i.hide(),t()},i}return p(n,[{key:"removeMenuItem",value:function(t){var e=t.parentElement;e instanceof C&&this.contains(e)&&e._removeImmediateMenuItem(t)}},{key:"appendMenuItem",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0;this.ensureDoesntContain(t.id),y(E(n.prototype),"appendMenuItem",this).call(this,t,e)}},{key:"insertMenuItem",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=e.before,r=e.parent;if(this.ensureDoesntContain(t.id),void 0!==n){if(!this.contains(n))throw new Error("before(id=".concat(n.id,") is not in the context menu"));var i=n.parentNode;if(!(i instanceof C))throw new Error("Parent of before(id=".concat(n.id,") is not a submenu"));i.appendMenuItem(t,n)}else if(void 0!==r){if(!this.contains(r))throw new Error("parent(id=".concat(r.id,") is not a descendant of the context menu"));r.appendSubmenuItem(t)}else this.appendMenuItem(t)}},{key:"moveBefore",value:function(t,e){var n=t.parentElement;if(!this.contains(n))throw new Error("parent(id=".concat(n.id,") is not in the contex menu"));if(!this.contains(e))throw new Error("before(id=".concat(e.id,") is not in the context menu"));n.removeChild(t),this.insertMenuItem(t,{before:e})}},{key:"moveToSubmenu",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,r=t.parentElement;if(!(r instanceof C))throw new Error("current parent(id=".concat(r.id,") is not a submenu"));if(!this.contains(r))throw new Error("parent of the menu item(id=".concat(r.id,") is not in the context menu"));if(null!==e){if(!this.contains(e))throw new Error("parent(id=".concat(e.id,") is not in the context menu"));r._detachImmediateMenuItem(t),e.appendSubmenuItem(t)}else null!==n&&(t.selector=n.selector,t.coreAsWell=n.coreAsWell),r._detachImmediateMenuItem(t),this.appendMenuItem(t)}},{key:"ensureDoesntContain",value:function(t){var e=document.getElementById(t);if(void 0!==e&&this.contains(e))throw new Error("There is already an element with id=".concat(t," in the context menu"))}}],[{key:"define",value:function(){a("ctx-menu",n,"div")}}]),n}(C);function A(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n1&&void 0!==arguments[1]?arguments[1]:void 0,n=p(t);if(void 0!==e){var r=v(e);h.insertMenuItem(n,{parent:r})}else h.insertMenuItem(n)},d=function(t){for(var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,n=0;n0&&(s.top+=f,s.left+=f);var d=r.clientHeight,p=r.clientWidth,g=d/2,v=p/2;c.y>g&&c.x<=v?(h.style.left=c.x+"px",h.style.bottom=d-c.y+"px",h.style.right="auto",h.style.top="auto"):c.y>g&&c.x>v?(h.style.right=p-c.x+"px",h.style.bottom=d-c.y+"px",h.style.left="auto",h.style.top="auto"):c.y<=g&&c.x<=v?(h.style.left=c.x+"px",h.style.top=c.y+"px",h.style.right="auto",h.style.bottom="auto"):(h.style.right=p-c.x+"px",h.style.top=c.y+"px",h.style.left="auto",h.style.bottom="auto")}}(t);var n,r=t.target||t.cyTarget,i=function(t,e){var n;if("undefined"==typeof Symbol||null==t[Symbol.iterator]){if(Array.isArray(t)||(n=function(t,e){if(t){if("string"==typeof t)return A(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?A(t,e):void 0}}(t))){n&&(t=n);var r=0,i=function(){};return{s:i,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=t[Symbol.iterator]()},n:function(){var t=n.next();return a=t.done,t},e:function(t){s=!0,o=t},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}(h.children);try{for(i.s();!(n=i.n()).done;){var o=n.value;o instanceof T&&(r===e?o.coreAsWell:r.is(o.selector))&&o.show&&(h.display(),u("anyVisibleChild",!0),o.display())}}catch(t){i.e(t)}finally{i.f()}var c=Array.from(h.children).filter((function(t){if(t instanceof T)return t.isVisible()})),l=c.length;c.forEach((function(t,e){t instanceof T&&(e=t.length?{done:!0}:{done:!1,value:t[i++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,s=!0,c=!1;return{s:function(){n=t[Symbol.iterator]()},n:function(){var t=n.next();return s=t.done,t},e:function(t){c=!0,a=t},f:function(){try{s||null==n.return||n.return()}finally{if(c)throw a}}}}(document.getElementsByClassName("cy-context-menus-cxt-menu"));try{for(e.s();!(t=e.n()).done;)t.value.addEventListener("contextmenu",(function(t){return t.preventDefault()}))}catch(t){e.e(t)}finally{e.f()}}()}return function(t){return{isActive:function(){return a("active")},appendMenuItem:function(e){return f(e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0),t},appendMenuItems:function(e){return d(e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0),t},removeMenuItem:function(e){var n=v(e);return h.removeMenuItem(n),t},setTrailingDivider:function(e,n){var r=v(e);return r.setHasTrailingDivider(n),n?r.classList.add(s):r.classList.remove(s),t},insertBeforeMenuItem:function(e,n){var r=p(e),i=v(n);return h.insertMenuItem(r,{before:i}),t},moveToSubmenu:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=v(e);if(null===n)h.moveToSubmenu(r);else if("string"==typeof n){var i=v(n.toString());h.moveToSubmenu(r,i)}else void 0!==n.coreAsWell||void 0!==n.selector?h.moveToSubmenu(r,null,n):console.warn("options neither has coreAsWell nor selector property but it is an object. Are you sure that this is what you want to do?");return t},moveBeforeOtherMenuItem:function(e,n){var r=v(e),i=v(n);return h.moveBefore(r,i),t},disableMenuItem:function(e){return v(e).disable(),t},enableMenuItem:function(e){return v(e).enable(),t},hideMenuItem:function(e){return v(e).hide(),t},showMenuItem:function(e){return v(e).display(),t},destroy:function(){return g(),t}}}(this)}},579:(t,e,n)=>{var r=n(621).contextMenus,i=function(t){t&&t("core","contextMenus",r)};"undefined"!=typeof cytoscape&&i(cytoscape),t.exports=i}},e={};function n(r){var i=e[r];if(void 0!==i)return i.exports;var o=e[r]={exports:{}};return t[r](o,o.exports,n),o.exports}return n.d=(t,e)=>{for(var r in e)n.o(e,r)&&!n.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),n.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n(579)})()},4607:function(t,e,n){var r;r=function(t){return function(t){var e={};function n(r){if(e[r])return e[r].exports;var i=e[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=t,n.c=e,n.i=function(t){return t},n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:r})},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=1)}([function(e,n){e.exports=t},function(t,e,n){"use strict";var r=n(0).layoutBase.LayoutConstants,i=n(0).layoutBase.FDLayoutConstants,o=n(0).CoSEConstants,a=n(0).CoSELayout,s=n(0).CoSENode,c=n(0).layoutBase.PointD,u=n(0).layoutBase.DimensionD,l={ready:function(){},stop:function(){},quality:"default",nodeDimensionsIncludeLabels:!1,refresh:30,fit:!0,padding:10,randomize:!0,nodeRepulsion:4500,idealEdgeLength:50,edgeElasticity:.45,nestingFactor:.1,gravity:.25,numIter:2500,tile:!0,animate:"end",animationDuration:500,tilingPaddingVertical:10,tilingPaddingHorizontal:10,gravityRangeCompound:1.5,gravityCompound:1,gravityRange:3.8,initialEnergyOnIncremental:.5};function h(t){this.options=function(t,e){var n={};for(var r in t)n[r]=t[r];for(var r in e)n[r]=e[r];return n}(l,t),f(this.options)}var f=function(t){null!=t.nodeRepulsion&&(o.DEFAULT_REPULSION_STRENGTH=i.DEFAULT_REPULSION_STRENGTH=t.nodeRepulsion),null!=t.idealEdgeLength&&(o.DEFAULT_EDGE_LENGTH=i.DEFAULT_EDGE_LENGTH=t.idealEdgeLength),null!=t.edgeElasticity&&(o.DEFAULT_SPRING_STRENGTH=i.DEFAULT_SPRING_STRENGTH=t.edgeElasticity),null!=t.nestingFactor&&(o.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=i.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=t.nestingFactor),null!=t.gravity&&(o.DEFAULT_GRAVITY_STRENGTH=i.DEFAULT_GRAVITY_STRENGTH=t.gravity),null!=t.numIter&&(o.MAX_ITERATIONS=i.MAX_ITERATIONS=t.numIter),null!=t.gravityRange&&(o.DEFAULT_GRAVITY_RANGE_FACTOR=i.DEFAULT_GRAVITY_RANGE_FACTOR=t.gravityRange),null!=t.gravityCompound&&(o.DEFAULT_COMPOUND_GRAVITY_STRENGTH=i.DEFAULT_COMPOUND_GRAVITY_STRENGTH=t.gravityCompound),null!=t.gravityRangeCompound&&(o.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=i.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=t.gravityRangeCompound),null!=t.initialEnergyOnIncremental&&(o.DEFAULT_COOLING_FACTOR_INCREMENTAL=i.DEFAULT_COOLING_FACTOR_INCREMENTAL=t.initialEnergyOnIncremental),"draft"==t.quality?r.QUALITY=0:"proof"==t.quality?r.QUALITY=2:r.QUALITY=1,o.NODE_DIMENSIONS_INCLUDE_LABELS=i.NODE_DIMENSIONS_INCLUDE_LABELS=r.NODE_DIMENSIONS_INCLUDE_LABELS=t.nodeDimensionsIncludeLabels,o.DEFAULT_INCREMENTAL=i.DEFAULT_INCREMENTAL=r.DEFAULT_INCREMENTAL=!t.randomize,o.ANIMATE=i.ANIMATE=r.ANIMATE=t.animate,o.TILE=t.tile,o.TILING_PADDING_VERTICAL="function"==typeof t.tilingPaddingVertical?t.tilingPaddingVertical.call():t.tilingPaddingVertical,o.TILING_PADDING_HORIZONTAL="function"==typeof t.tilingPaddingHorizontal?t.tilingPaddingHorizontal.call():t.tilingPaddingHorizontal};h.prototype.run=function(){var t,e,n=this.options,r=(this.idToLNode={},this.layout=new a),i=this;i.stopped=!1,this.cy=this.options.cy,this.cy.trigger({type:"layoutstart",layout:this});var o=r.newGraphManager();this.gm=o;var s=this.options.eles.nodes(),c=this.options.eles.edges();this.root=o.addRoot(),this.processChildrenList(this.root,this.getTopMostNodes(s),r);for(var u=0;u0&&(a=n.getGraphManager().add(n.newGraph(),o),this.processChildrenList(a,h,n))}},h.prototype.stop=function(){return this.stopped=!0,this};var d=function(t){t("layout","cose-bilkent",h)};"undefined"!=typeof cytoscape&&d(cytoscape),t.exports=d}])},t.exports=r(n(4182))},9142:function(t,e,n){var r;r=function(t){return function(t){var e={};function n(r){if(e[r])return e[r].exports;var i=e[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)n.d(r,i,function(e){return t[e]}.bind(null,i));return r},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=0)}([function(t,e,n){var r=n(1),i=function(t){t&&t("layout","dagre",r)};"undefined"!=typeof cytoscape&&i(cytoscape),t.exports=i},function(t,e,n){function r(t){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},r(t)}var i=function(t){return"function"==typeof t},o=n(2),a=n(3),s=n(4);function c(t){this.options=a({},o,t)}c.prototype.run=function(){var t=this.options,e=t.cy,n=t.eles,o=function(t,e){return i(e)?e.apply(t,[t]):e},a=t.boundingBox||{x1:0,y1:0,w:e.width(),h:e.height()};void 0===a.x2&&(a.x2=a.x1+a.w),void 0===a.w&&(a.w=a.x2-a.x1),void 0===a.y2&&(a.y2=a.y1+a.h),void 0===a.h&&(a.h=a.y2-a.y1);var c=new s.graphlib.Graph({multigraph:!0,compound:!0}),u={},l=function(t,e){null!=e&&(u[t]=e)};l("nodesep",t.nodeSep),l("edgesep",t.edgeSep),l("ranksep",t.rankSep),l("rankdir",t.rankDir),l("align",t.align),l("ranker",t.ranker),l("acyclicer",t.acyclicer),c.setGraph(u),c.setDefaultEdgeLabel((function(){return{}})),c.setDefaultNodeLabel((function(){return{}}));var h=n.nodes();i(t.sort)&&(h=h.sort(t.sort));for(var f=0;f1?e-1:0),r=1;r1?e-1:0),r=1;r1&&(c.velocity.x=l/f,c.velocity.y=h/f),r=e*c.velocity.x,o=e*c.velocity.y,c.pos.x+=r,c.pos.y+=o,i+=Math.abs(r),a+=Math.abs(o)}}return(i*i+a*a)/s}}},function(t,e,n){"use strict";var r=n(9),i=n(8),o=function(t,e){var n=Math.abs(t.x-e.x),r=Math.abs(t.y-e.y);return n<1e-8&&r<1e-8};function a(t,e){return 0===e?t.quad0:1===e?t.quad1:2===e?t.quad2:3===e?t.quad3:null}function s(t,e,n){0===e?t.quad0=n:1===e?t.quad1=n:2===e?t.quad2=n:3===e&&(t.quad3=n)}t.exports={makeQuadtree:function(){var t=[],e=new i,n=[],c=0,u=l();function l(){var t=n[c];return t?(t.quad0=null,t.quad1=null,t.quad2=null,t.quad3=null,t.body=null,t.mass=t.massX=t.massY=0,t.left=t.right=t.top=t.bottom=0):(t=new r,n[c]=t),++c,t}function h(t){for(e.reset(),e.push(u,t);!e.isEmpty();){var n=e.pop(),r=n.node,i=n.body;if(r.body){var c=r.body;if(r.body=null,o(c.pos,i.pos)){var h=3;do{var f=Math.random(),d=(r.right-r.left)*f,p=(r.bottom-r.top)*f;c.pos.x=r.left+d,c.pos.y=r.top+p,h-=1}while(h>0&&o(c.pos,i.pos));if(0===h&&o(c.pos,i.pos))return}e.push(r,c),e.push(r,i)}else{var g=i.pos.x,v=i.pos.y;r.mass=r.mass+i.mass,r.massX=r.massX+i.mass*g,r.massY=r.massY+i.mass*v;var b=0,y=r.left,m=(r.right+y)/2,w=r.top,x=(r.bottom+w)/2;g>m&&(b+=1,y=m,m=r.right),v>x&&(b+=2,w=x,x=r.bottom);var _=a(r,b);_?e.push(_,i):((_=l()).left=y,_.top=w,_.right=m,_.bottom=x,_.body=i,s(r,b,_))}}}return{insertBodies:function(t){if(0!==t.length){var e=Number.MAX_VALUE,n=Number.MAX_VALUE,r=Number.MIN_VALUE,i=Number.MIN_VALUE,o=void 0,a=t.length;for(o=a;o--;){var s=t[o].pos.x,f=t[o].pos.y;sr&&(r=s),fi&&(i=f)}var d=r-e,p=i-n;for(d>p?i=n+d:r=e+p,c=0,(u=l()).left=e,u.right=r,u.top=n,u.bottom=i,(o=a-1)>=0&&(u.body=t[o]);o--;)h(t[o])}},updateBodyForce:function(e,n,r,i){var o=t,a=void 0,s=void 0,c=void 0,l=void 0,h=0,f=0,d=1,p=0,g=1;o[0]=u,function(t){t.x=0,t.y=0}(e.force);var v=-e.pos.x,b=-e.pos.y,y=Math.sqrt(v*v+b*b),m=e.mass*i/y;for(h+=m*v,f+=m*b;d;){var w=o[p],x=w.body;d-=1,p+=1;var _=x!==e;x&&_?(s=x.pos.x-e.pos.x,c=x.pos.y-e.pos.y,0===(l=Math.sqrt(s*s+c*c))&&(s=(Math.random()-.5)/50,c=(Math.random()-.5)/50,l=Math.sqrt(s*s+c*c)),h+=(a=n*x.mass*e.mass/(l*l*l))*s,f+=a*c):_&&(s=w.massX/w.mass-e.pos.x,c=w.massY/w.mass-e.pos.y,0===(l=Math.sqrt(s*s+c*c))&&(s=(Math.random()-.5)/50,c=(Math.random()-.5)/50,l=Math.sqrt(s*s+c*c)),(w.right-w.left)/l0)return this.stack[--this.popIdx]},reset:function(){this.popIdx=0}}},function(t,e,n){"use strict";t.exports=function(){this.body=null,this.quad0=null,this.quad1=null,this.quad2=null,this.quad3=null,this.mass=0,this.massX=0,this.massY=0,this.left=0,this.top=0,this.bottom=0,this.right=0}},function(t,e,n){"use strict";var r=n(6).integrate,i=n(5).applyDrag,o=n(1).applySpring;t.exports={tick:function(t){var e=t.bodies,n=t.springs,a=t.quadtree,s=t.timeStep,c=t.gravity,u=t.theta,l=t.dragCoeff,h=t.pull;e.forEach((function(t){var e=t._scratch;e&&(t.locked=e.locked,t.grabbed=e.grabbed,t.pos.x=e.x,t.pos.y=e.y)})),a.insertBodies(e);for(var f=0;f=e.maxIterations||r>=e.maxSimulationTime)};t.exports={tick:i,multitick:function(t){for(var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:r,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:r,o=!1,a=t,s=0;s{"use strict";var e={658:t=>{t.exports=null!=Object.assign?Object.assign.bind(Object):function(t){for(var e=arguments.length,n=Array(e>1?e-1:0),r=1;r{var r=function(t,e){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return function(t,e){var n=[],r=!0,i=!1,o=void 0;try{for(var a,s=t[Symbol.iterator]();!(r=(a=s.next()).done)&&(n.push(a.value),!e||n.length!==e);r=!0);}catch(t){i=!0,o=t}finally{try{!r&&s.return&&s.return()}finally{if(i)throw o}}return n}(t,e);throw new TypeError("Invalid attempt to destructure non-iterable instance")},i=n(140).layoutBase.LinkedList,o={getTopMostNodes:function(t){for(var e={},n=0;n0&&u.merge(t)}));for(var l=0;l1){u=s[0],l=u.connectedEdges().length,s.forEach((function(t){t.connectedEdges().length0&&r.set("dummy"+(r.size+1),d),p},relocateComponent:function(t,e,n){if(!n.fixedNodeConstraint){var i=Number.POSITIVE_INFINITY,o=Number.NEGATIVE_INFINITY,a=Number.POSITIVE_INFINITY,s=Number.NEGATIVE_INFINITY;if("draft"==n.quality){var c=!0,u=!1,l=void 0;try{for(var h,f=e.nodeIndexes[Symbol.iterator]();!(c=(h=f.next()).done);c=!0){var d=h.value,p=r(d,2),g=p[0],v=p[1],b=n.cy.getElementById(g);if(b){var y=b.boundingBox(),m=e.xCoords[v]-y.w/2,w=e.xCoords[v]+y.w/2,x=e.yCoords[v]-y.h/2,_=e.yCoords[v]+y.h/2;mo&&(o=w),xs&&(s=_)}}}catch(t){u=!0,l=t}finally{try{!c&&f.return&&f.return()}finally{if(u)throw l}}var E=t.x-(o+i)/2,k=t.y-(s+a)/2;e.xCoords=e.xCoords.map((function(t){return t+E})),e.yCoords=e.yCoords.map((function(t){return t+k}))}else{Object.keys(e).forEach((function(t){var n=e[t],r=n.getRect().x,c=n.getRect().x+n.getRect().width,u=n.getRect().y,l=n.getRect().y+n.getRect().height;ro&&(o=c),us&&(s=l)}));var T=t.x-(o+i)/2,C=t.y-(s+a)/2;Object.keys(e).forEach((function(t){var n=e[t];n.setCenter(n.getCenterX()+T,n.getCenterY()+C)}))}}},calcBoundingBox:function(t,e,n,r){for(var i=Number.MAX_SAFE_INTEGER,o=Number.MIN_SAFE_INTEGER,a=Number.MAX_SAFE_INTEGER,s=Number.MIN_SAFE_INTEGER,c=void 0,u=void 0,l=void 0,h=void 0,f=t.descendants().not(":parent"),d=f.length,p=0;p(c=e[r.get(g.id())]-g.width()/2)&&(i=c),o<(u=e[r.get(g.id())]+g.width()/2)&&(o=u),a>(l=n[r.get(g.id())]-g.height()/2)&&(a=l),s<(h=n[r.get(g.id())]+g.height()/2)&&(s=h)}var v={};return v.topLeftX=i,v.topLeftY=a,v.width=o-i,v.height=s-a,v},calcParentsWithoutChildren:function(t,e){var n=t.collection();return e.nodes(":parent").forEach((function(t){var e=!1;t.children().forEach((function(t){"none"!=t.css("display")&&(e=!0)})),e||n.merge(t)})),n}};t.exports=o},816:(t,e,n)=>{var r=n(548),i=n(140).CoSELayout,o=n(140).CoSENode,a=n(140).layoutBase.PointD,s=n(140).layoutBase.DimensionD,c=n(140).layoutBase.LayoutConstants,u=n(140).layoutBase.FDLayoutConstants,l=n(140).CoSEConstants;t.exports={coseLayout:function(t,e){var n=t.cy,h=t.eles,f=h.nodes(),d=h.edges(),p=void 0,g=void 0,v=void 0,b={};t.randomize&&(p=e.nodeIndexes,g=e.xCoords,v=e.yCoords);var y=function(t){return"function"==typeof t},m=function(t,e){return y(t)?t(e):t},w=r.calcParentsWithoutChildren(n,h);null!=t.nestingFactor&&(l.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=u.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=t.nestingFactor),null!=t.gravity&&(l.DEFAULT_GRAVITY_STRENGTH=u.DEFAULT_GRAVITY_STRENGTH=t.gravity),null!=t.numIter&&(l.MAX_ITERATIONS=u.MAX_ITERATIONS=t.numIter),null!=t.gravityRange&&(l.DEFAULT_GRAVITY_RANGE_FACTOR=u.DEFAULT_GRAVITY_RANGE_FACTOR=t.gravityRange),null!=t.gravityCompound&&(l.DEFAULT_COMPOUND_GRAVITY_STRENGTH=u.DEFAULT_COMPOUND_GRAVITY_STRENGTH=t.gravityCompound),null!=t.gravityRangeCompound&&(l.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=u.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=t.gravityRangeCompound),null!=t.initialEnergyOnIncremental&&(l.DEFAULT_COOLING_FACTOR_INCREMENTAL=u.DEFAULT_COOLING_FACTOR_INCREMENTAL=t.initialEnergyOnIncremental),null!=t.tilingCompareBy&&(l.TILING_COMPARE_BY=t.tilingCompareBy),"proof"==t.quality?c.QUALITY=2:c.QUALITY=0,l.NODE_DIMENSIONS_INCLUDE_LABELS=u.NODE_DIMENSIONS_INCLUDE_LABELS=c.NODE_DIMENSIONS_INCLUDE_LABELS=t.nodeDimensionsIncludeLabels,l.DEFAULT_INCREMENTAL=u.DEFAULT_INCREMENTAL=c.DEFAULT_INCREMENTAL=!t.randomize,l.ANIMATE=u.ANIMATE=c.ANIMATE=t.animate,l.TILE=t.tile,l.TILING_PADDING_VERTICAL="function"==typeof t.tilingPaddingVertical?t.tilingPaddingVertical.call():t.tilingPaddingVertical,l.TILING_PADDING_HORIZONTAL="function"==typeof t.tilingPaddingHorizontal?t.tilingPaddingHorizontal.call():t.tilingPaddingHorizontal,l.DEFAULT_INCREMENTAL=u.DEFAULT_INCREMENTAL=c.DEFAULT_INCREMENTAL=!0,l.PURE_INCREMENTAL=!t.randomize,c.DEFAULT_UNIFORM_LEAF_NODE_SIZES=t.uniformNodeDimensions,"transformed"==t.step&&(l.TRANSFORM_ON_CONSTRAINT_HANDLING=!0,l.ENFORCE_CONSTRAINTS=!1,l.APPLY_LAYOUT=!1),"enforced"==t.step&&(l.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,l.ENFORCE_CONSTRAINTS=!0,l.APPLY_LAYOUT=!1),"cose"==t.step&&(l.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,l.ENFORCE_CONSTRAINTS=!1,l.APPLY_LAYOUT=!0),"all"==t.step&&(t.randomize?l.TRANSFORM_ON_CONSTRAINT_HANDLING=!0:l.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,l.ENFORCE_CONSTRAINTS=!0,l.APPLY_LAYOUT=!0),t.fixedNodeConstraint||t.alignmentConstraint||t.relativePlacementConstraint?l.TREE_REDUCTION_ON_INCREMENTAL=!1:l.TREE_REDUCTION_ON_INCREMENTAL=!0;var x=new i,_=x.newGraphManager();return function t(e,n,i,c){for(var u=n.length,l=0;l0&&t(i.getGraphManager().add(i.newGraph(),d),f,i,c)}}(_.addRoot(),r.getTopMostNodes(f),x,t),function(e,n,r){for(var i=0,o=0,a=0;a0?l.DEFAULT_EDGE_LENGTH=u.DEFAULT_EDGE_LENGTH=i/o:y(t.idealEdgeLength)?l.DEFAULT_EDGE_LENGTH=u.DEFAULT_EDGE_LENGTH=50:l.DEFAULT_EDGE_LENGTH=u.DEFAULT_EDGE_LENGTH=t.idealEdgeLength,l.MIN_REPULSION_DIST=u.MIN_REPULSION_DIST=u.DEFAULT_EDGE_LENGTH/10,l.DEFAULT_RADIAL_SEPARATION=u.DEFAULT_EDGE_LENGTH)}(x,_,d),function(t,e){e.fixedNodeConstraint&&(t.constraints.fixedNodeConstraint=e.fixedNodeConstraint),e.alignmentConstraint&&(t.constraints.alignmentConstraint=e.alignmentConstraint),e.relativePlacementConstraint&&(t.constraints.relativePlacementConstraint=e.relativePlacementConstraint)}(x,t),x.runLayout(),b}}},212:(t,e,n)=>{var r=function(){function t(t,e){for(var n=0;n0)if(h){var f=o.getTopMostNodes(t.eles.nodes());if((c=o.connectComponents(e,t.eles,f)).forEach((function(t){var e=t.boundingBox();u.push({x:e.x1+e.w/2,y:e.y1+e.h/2})})),t.randomize&&c.forEach((function(e){t.eles=e,r.push(a(t))})),"default"==t.quality||"proof"==t.quality){var d=e.collection();if(t.tile){var p=new Map,g=0,v={nodeIndexes:p,xCoords:[],yCoords:[]},b=[];if(c.forEach((function(t,e){0==t.edges().length&&(t.nodes().forEach((function(e,n){d.merge(t.nodes()[n]),e.isParent()||(v.nodeIndexes.set(t.nodes()[n].id(),g++),v.xCoords.push(t.nodes()[0].position().x),v.yCoords.push(t.nodes()[0].position().y))})),b.push(e))})),d.length>1){var y=d.boundingBox();u.push({x:y.x1+y.w/2,y:y.y1+y.h/2}),c.push(d),r.push(v);for(var m=b.length-1;m>=0;m--)c.splice(b[m],1),r.splice(b[m],1),u.splice(b[m],1)}}c.forEach((function(e,n){t.eles=e,i.push(s(t,r[n])),o.relocateComponent(u[n],i[n],t)}))}else c.forEach((function(e,n){o.relocateComponent(u[n],r[n],t)}));var w=new Set;if(c.length>1){var x=[],_=n.filter((function(t){return"none"==t.css("display")}));c.forEach((function(e,n){var a=void 0;if("draft"==t.quality&&(a=r[n].nodeIndexes),e.nodes().not(_).length>0){var s={edges:[],nodes:[]},c=void 0;e.nodes().not(_).forEach((function(e){if("draft"==t.quality)if(e.isParent()){var u=o.calcBoundingBox(e,r[n].xCoords,r[n].yCoords,a);s.nodes.push({x:u.topLeftX,y:u.topLeftY,width:u.width,height:u.height})}else c=a.get(e.id()),s.nodes.push({x:r[n].xCoords[c]-e.boundingbox().w/2,y:r[n].yCoords[c]-e.boundingbox().h/2,width:e.boundingbox().w,height:e.boundingbox().h});else i[n][e.id()]&&s.nodes.push({x:i[n][e.id()].getLeft(),y:i[n][e.id()].getTop(),width:i[n][e.id()].getWidth(),height:i[n][e.id()].getHeight()})})),e.edges().forEach((function(e){var c=e.source(),u=e.target();if("none"!=c.css("display")&&"none"!=u.css("display"))if("draft"==t.quality){var l=a.get(c.id()),h=a.get(u.id()),f=[],d=[];if(c.isParent()){var p=o.calcBoundingBox(c,r[n].xCoords,r[n].yCoords,a);f.push(p.topLeftX+p.width/2),f.push(p.topLeftY+p.height/2)}else f.push(r[n].xCoords[l]),f.push(r[n].yCoords[l]);if(u.isParent()){var g=o.calcBoundingBox(u,r[n].xCoords,r[n].yCoords,a);d.push(g.topLeftX+g.width/2),d.push(g.topLeftY+g.height/2)}else d.push(r[n].xCoords[h]),d.push(r[n].yCoords[h]);s.edges.push({startX:f[0],startY:f[1],endX:d[0],endY:d[1]})}else i[n][c.id()]&&i[n][u.id()]&&s.edges.push({startX:i[n][c.id()].getCenterX(),startY:i[n][c.id()].getCenterY(),endX:i[n][u.id()].getCenterX(),endY:i[n][u.id()].getCenterY()})})),s.nodes.length>0&&(x.push(s),w.add(n))}}));var E=l.packComponents(x,t.randomize).shifts;if("draft"==t.quality)r.forEach((function(t,e){var n=t.xCoords.map((function(t){return t+E[e].dx})),r=t.yCoords.map((function(t){return t+E[e].dy}));t.xCoords=n,t.yCoords=r}));else{var k=0;w.forEach((function(t){Object.keys(i[t]).forEach((function(e){var n=i[t][e];n.setCenter(n.getCenterX()+E[k].dx,n.getCenterY()+E[k].dy)})),k++}))}}}else{var T=t.eles.boundingBox();if(u.push({x:T.x1+T.w/2,y:T.y1+T.h/2}),t.randomize){var C=a(t);r.push(C)}"default"==t.quality||"proof"==t.quality?(i.push(s(t,r[0])),o.relocateComponent(u[0],i[0],t)):o.relocateComponent(u[0],r[0],t)}var N=function(e,n){if("default"==t.quality||"proof"==t.quality){"number"==typeof e&&(e=n);var o=void 0,a=void 0,s=e.data("id");return i.forEach((function(t){s in t&&(o={x:t[s].getRect().getCenterX(),y:t[s].getRect().getCenterY()},a=t[s])})),t.nodeDimensionsIncludeLabels&&(a.labelWidth&&("left"==a.labelPosHorizontal?o.x+=a.labelWidth/2:"right"==a.labelPosHorizontal&&(o.x-=a.labelWidth/2)),a.labelHeight&&("top"==a.labelPosVertical?o.y+=a.labelHeight/2:"bottom"==a.labelPosVertical&&(o.y-=a.labelHeight/2))),null==o&&(o={x:e.position("x"),y:e.position("y")}),{x:o.x,y:o.y}}var c=void 0;return r.forEach((function(t){var n=t.nodeIndexes.get(e.id());null!=n&&(c={x:t.xCoords[n],y:t.yCoords[n]})})),null==c&&(c={x:e.position("x"),y:e.position("y")}),{x:c.x,y:c.y}};if("default"==t.quality||"proof"==t.quality||t.randomize){var A=o.calcParentsWithoutChildren(e,n),S=n.filter((function(t){return"none"==t.css("display")}));t.eles=n.not(S),n.nodes().not(":parent").not(S).layoutPositions(this,t,N),A.length>0&&A.forEach((function(t){t.position(N(t))}))}else console.log("If randomize option is set to false, then quality option must be 'default' or 'proof'.")}}]),t}();t.exports=u},657:(t,e,n)=>{var r=n(548),i=n(140).layoutBase.Matrix,o=n(140).layoutBase.SVD;t.exports={spectralLayout:function(t){var e=t.cy,n=t.eles,a=n.nodes(),s=n.nodes(":parent"),c=new Map,u=new Map,l=new Map,h=[],f=[],d=[],p=[],g=[],v=[],b=[],y=[],m=void 0,w=1e8,x=1e-9,_=t.piTol,E=t.samplingType,k=t.nodeSeparation,T=void 0,C=function(t,e,n){for(var r=[],i=0,o=0,a=0,s=void 0,c=[],l=0,f=1,d=0;d=i;){a=r[i++];for(var p=h[a],b=0;bl&&(l=g[x],f=x)}return f};r.connectComponents(e,n,r.getTopMostNodes(a),c),s.forEach((function(t){r.connectComponents(e,n,r.getTopMostNodes(t.descendants().intersection(n)),c)}));for(var N=0,A=0;A0&&(r.isParent()?h[e].push(l.get(r.id())):h[e].push(r.id()))}))}));var R=function(t){var n=u.get(t),r=void 0;c.get(t).forEach((function(i){r=e.getElementById(i).isParent()?l.get(i):i,h[n].push(r),h[u.get(r)].push(t)}))},j=!0,G=!1,B=void 0;try{for(var F,H=c.keys()[Symbol.iterator]();!(j=(F=H.next()).done);j=!0)R(F.value)}catch(t){G=!0,B=t}finally{try{!j&&H.return&&H.return()}finally{if(G)throw B}}var Y=void 0;if((m=u.size)>2){T=m=1)break;u=c}for(var p=0;p=1)break;u=c}for(var b=0;b{var r=n(212),i=function(t){t&&t("layout","fcose",r)};"undefined"!=typeof cytoscape&&i(cytoscape),t.exports=i},140:e=>{e.exports=t}},n={},r=function t(r){var i=n[r];if(void 0!==i)return i.exports;var o=n[r]={exports:{}};return e[r](o,o.exports,t),o.exports}(579);return r})()},t.exports=r(n(6914))},6914:function(t,e,n){var r;r=function(t){return(()=>{"use strict";var e={45:(t,e,n)=>{var r={};r.layoutBase=n(551),r.CoSEConstants=n(806),r.CoSEEdge=n(767),r.CoSEGraph=n(880),r.CoSEGraphManager=n(578),r.CoSELayout=n(765),r.CoSENode=n(991),r.ConstraintHandler=n(902),t.exports=r},806:(t,e,n)=>{var r=n(551).FDLayoutConstants;function i(){}for(var o in r)i[o]=r[o];i.DEFAULT_USE_MULTI_LEVEL_SCALING=!1,i.DEFAULT_RADIAL_SEPARATION=r.DEFAULT_EDGE_LENGTH,i.DEFAULT_COMPONENT_SEPERATION=60,i.TILE=!0,i.TILING_PADDING_VERTICAL=10,i.TILING_PADDING_HORIZONTAL=10,i.TRANSFORM_ON_CONSTRAINT_HANDLING=!0,i.ENFORCE_CONSTRAINTS=!0,i.APPLY_LAYOUT=!0,i.RELAX_MOVEMENT_ON_CONSTRAINTS=!0,i.TREE_REDUCTION_ON_INCREMENTAL=!0,i.PURE_INCREMENTAL=i.DEFAULT_INCREMENTAL,t.exports=i},767:(t,e,n)=>{var r=n(551).FDLayoutEdge;function i(t,e,n){r.call(this,t,e,n)}for(var o in i.prototype=Object.create(r.prototype),r)i[o]=r[o];t.exports=i},880:(t,e,n)=>{var r=n(551).LGraph;function i(t,e,n){r.call(this,t,e,n)}for(var o in i.prototype=Object.create(r.prototype),r)i[o]=r[o];t.exports=i},578:(t,e,n)=>{var r=n(551).LGraphManager;function i(t){r.call(this,t)}for(var o in i.prototype=Object.create(r.prototype),r)i[o]=r[o];t.exports=i},765:(t,e,n)=>{var r=n(551).FDLayout,i=n(578),o=n(880),a=n(991),s=n(767),c=n(806),u=n(902),l=n(551).FDLayoutConstants,h=n(551).LayoutConstants,f=n(551).Point,d=n(551).PointD,p=n(551).DimensionD,g=n(551).Layout,v=n(551).Integer,b=n(551).IGeometry,y=n(551).LGraph,m=n(551).Transform,w=n(551).LinkedList;function x(){r.call(this),this.toBeTiled={},this.constraints={}}for(var _ in x.prototype=Object.create(r.prototype),r)x[_]=r[_];x.prototype.newGraphManager=function(){var t=new i(this);return this.graphManager=t,t},x.prototype.newGraph=function(t){return new o(null,this.graphManager,t)},x.prototype.newNode=function(t){return new a(this.graphManager,t)},x.prototype.newEdge=function(t){return new s(null,null,t)},x.prototype.initParameters=function(){r.prototype.initParameters.call(this,arguments),this.isSubLayout||(c.DEFAULT_EDGE_LENGTH<10?this.idealEdgeLength=10:this.idealEdgeLength=c.DEFAULT_EDGE_LENGTH,this.useSmartIdealEdgeLengthCalculation=c.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION,this.gravityConstant=l.DEFAULT_GRAVITY_STRENGTH,this.compoundGravityConstant=l.DEFAULT_COMPOUND_GRAVITY_STRENGTH,this.gravityRangeFactor=l.DEFAULT_GRAVITY_RANGE_FACTOR,this.compoundGravityRangeFactor=l.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR,this.prunedNodesAll=[],this.growTreeIterations=0,this.afterGrowthIterations=0,this.isTreeGrowing=!1,this.isGrowthFinished=!1)},x.prototype.initSpringEmbedder=function(){r.prototype.initSpringEmbedder.call(this),this.coolingCycle=0,this.maxCoolingCycle=this.maxIterations/l.CONVERGENCE_CHECK_PERIOD,this.finalTemperature=.04,this.coolingAdjuster=1},x.prototype.layout=function(){return h.DEFAULT_CREATE_BENDS_AS_NEEDED&&(this.createBendpoints(),this.graphManager.resetAllEdges()),this.level=0,this.classicLayout()},x.prototype.classicLayout=function(){if(this.nodesWithGravity=this.calculateNodesToApplyGravitationTo(),this.graphManager.setAllNodesToApplyGravitation(this.nodesWithGravity),this.calcNoOfChildrenForAllNodes(),this.graphManager.calcLowestCommonAncestors(),this.graphManager.calcInclusionTreeDepths(),this.graphManager.getRoot().calcEstimatedSize(),this.calcIdealEdgeLengths(),this.incremental)c.TREE_REDUCTION_ON_INCREMENTAL&&(this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation(),e=new Set(this.getAllNodes()),n=this.nodesWithGravity.filter((function(t){return e.has(t)})),this.graphManager.setAllNodesToApplyGravitation(n));else{var t=this.getFlatForest();if(t.length>0)this.positionNodesRadially(t);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var e=new Set(this.getAllNodes()),n=this.nodesWithGravity.filter((function(t){return e.has(t)}));this.graphManager.setAllNodesToApplyGravitation(n),this.positionNodesRandomly()}}return Object.keys(this.constraints).length>0&&(u.handleConstraints(this),this.initConstraintVariables()),this.initSpringEmbedder(),c.APPLY_LAYOUT&&this.runSpringEmbedder(),!0},x.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished){if(!(this.prunedNodesAll.length>0))return!0;this.isTreeGrowing=!0}if(this.totalIterations%l.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged()){if(!(this.prunedNodesAll.length>0))return!0;this.isTreeGrowing=!0}this.coolingCycle++,0==this.layoutQuality?this.coolingAdjuster=this.coolingCycle:1==this.layoutQuality&&(this.coolingAdjuster=this.coolingCycle/3),this.coolingFactor=Math.max(this.initialCoolingFactor-Math.pow(this.coolingCycle,Math.log(100*(this.initialCoolingFactor-this.finalTemperature))/Math.log(this.maxCoolingCycle))/100*this.coolingAdjuster,this.finalTemperature),this.animationPeriod=Math.ceil(this.initialAnimationPeriod*Math.sqrt(this.coolingFactor))}if(this.isTreeGrowing){if(this.growTreeIterations%10==0)if(this.prunedNodesAll.length>0){this.graphManager.updateBounds(),this.updateGrid(),this.growTree(this.prunedNodesAll),this.graphManager.resetAllNodesToApplyGravitation();var t=new Set(this.getAllNodes()),e=this.nodesWithGravity.filter((function(e){return t.has(e)}));this.graphManager.setAllNodesToApplyGravitation(e),this.graphManager.updateBounds(),this.updateGrid(),c.PURE_INCREMENTAL?this.coolingFactor=l.DEFAULT_COOLING_FACTOR_INCREMENTAL/2:this.coolingFactor=l.DEFAULT_COOLING_FACTOR_INCREMENTAL}else this.isTreeGrowing=!1,this.isGrowthFinished=!0;this.growTreeIterations++}if(this.isGrowthFinished){if(this.isConverged())return!0;this.afterGrowthIterations%10==0&&(this.graphManager.updateBounds(),this.updateGrid()),c.PURE_INCREMENTAL?this.coolingFactor=l.DEFAULT_COOLING_FACTOR_INCREMENTAL/2*((100-this.afterGrowthIterations)/100):this.coolingFactor=l.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var n=!this.isTreeGrowing&&!this.isGrowthFinished,r=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(n,r),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},x.prototype.getPositionsData=function(){for(var t=this.graphManager.getAllNodes(),e={},n=0;n0&&this.updateDisplacements(),e=0;e0&&(r.fixedNodeWeight=o)}if(this.constraints.relativePlacementConstraint){var a=new Map,s=new Map;if(this.dummyToNodeForVerticalAlignment=new Map,this.dummyToNodeForHorizontalAlignment=new Map,this.fixedNodesOnHorizontal=new Set,this.fixedNodesOnVertical=new Set,this.fixedNodeSet.forEach((function(e){t.fixedNodesOnHorizontal.add(e),t.fixedNodesOnVertical.add(e)})),this.constraints.alignmentConstraint){if(this.constraints.alignmentConstraint.vertical){var u=this.constraints.alignmentConstraint.vertical;for(n=0;n=2*t.length/3;r--)e=Math.floor(Math.random()*(r+1)),n=t[r],t[r]=t[e],t[e]=n;return t},this.nodesInRelativeHorizontal=[],this.nodesInRelativeVertical=[],this.nodeToRelativeConstraintMapHorizontal=new Map,this.nodeToRelativeConstraintMapVertical=new Map,this.nodeToTempPositionMapHorizontal=new Map,this.nodeToTempPositionMapVertical=new Map,this.constraints.relativePlacementConstraint.forEach((function(e){if(e.left){var n=a.has(e.left)?a.get(e.left):e.left,r=a.has(e.right)?a.get(e.right):e.right;t.nodesInRelativeHorizontal.includes(n)||(t.nodesInRelativeHorizontal.push(n),t.nodeToRelativeConstraintMapHorizontal.set(n,[]),t.dummyToNodeForVerticalAlignment.has(n)?t.nodeToTempPositionMapHorizontal.set(n,t.idToNodeMap.get(t.dummyToNodeForVerticalAlignment.get(n)[0]).getCenterX()):t.nodeToTempPositionMapHorizontal.set(n,t.idToNodeMap.get(n).getCenterX())),t.nodesInRelativeHorizontal.includes(r)||(t.nodesInRelativeHorizontal.push(r),t.nodeToRelativeConstraintMapHorizontal.set(r,[]),t.dummyToNodeForVerticalAlignment.has(r)?t.nodeToTempPositionMapHorizontal.set(r,t.idToNodeMap.get(t.dummyToNodeForVerticalAlignment.get(r)[0]).getCenterX()):t.nodeToTempPositionMapHorizontal.set(r,t.idToNodeMap.get(r).getCenterX())),t.nodeToRelativeConstraintMapHorizontal.get(n).push({right:r,gap:e.gap}),t.nodeToRelativeConstraintMapHorizontal.get(r).push({left:n,gap:e.gap})}else{var i=s.has(e.top)?s.get(e.top):e.top,o=s.has(e.bottom)?s.get(e.bottom):e.bottom;t.nodesInRelativeVertical.includes(i)||(t.nodesInRelativeVertical.push(i),t.nodeToRelativeConstraintMapVertical.set(i,[]),t.dummyToNodeForHorizontalAlignment.has(i)?t.nodeToTempPositionMapVertical.set(i,t.idToNodeMap.get(t.dummyToNodeForHorizontalAlignment.get(i)[0]).getCenterY()):t.nodeToTempPositionMapVertical.set(i,t.idToNodeMap.get(i).getCenterY())),t.nodesInRelativeVertical.includes(o)||(t.nodesInRelativeVertical.push(o),t.nodeToRelativeConstraintMapVertical.set(o,[]),t.dummyToNodeForHorizontalAlignment.has(o)?t.nodeToTempPositionMapVertical.set(o,t.idToNodeMap.get(t.dummyToNodeForHorizontalAlignment.get(o)[0]).getCenterY()):t.nodeToTempPositionMapVertical.set(o,t.idToNodeMap.get(o).getCenterY())),t.nodeToRelativeConstraintMapVertical.get(i).push({bottom:o,gap:e.gap}),t.nodeToRelativeConstraintMapVertical.get(o).push({top:i,gap:e.gap})}}));else{var h=new Map,f=new Map;this.constraints.relativePlacementConstraint.forEach((function(t){if(t.left){var e=a.has(t.left)?a.get(t.left):t.left,n=a.has(t.right)?a.get(t.right):t.right;h.has(e)?h.get(e).push(n):h.set(e,[n]),h.has(n)?h.get(n).push(e):h.set(n,[e])}else{var r=s.has(t.top)?s.get(t.top):t.top,i=s.has(t.bottom)?s.get(t.bottom):t.bottom;f.has(r)?f.get(r).push(i):f.set(r,[i]),f.has(i)?f.get(i).push(r):f.set(i,[r])}}));var d=function(t,e){var n=[],r=[],i=new w,o=new Set,a=0;return t.forEach((function(s,c){if(!o.has(c)){n[a]=[],r[a]=!1;var u=c;for(i.push(u),o.add(u),n[a].push(u);0!=i.length;)u=i.shift(),e.has(u)&&(r[a]=!0),t.get(u).forEach((function(t){o.has(t)||(i.push(t),o.add(t),n[a].push(t))}));a++}})),{components:n,isFixed:r}},p=d(h,t.fixedNodesOnHorizontal);this.componentsOnHorizontal=p.components,this.fixedComponentsOnHorizontal=p.isFixed;var g=d(f,t.fixedNodesOnVertical);this.componentsOnVertical=g.components,this.fixedComponentsOnVertical=g.isFixed}}},x.prototype.updateDisplacements=function(){var t=this;if(this.constraints.fixedNodeConstraint&&this.constraints.fixedNodeConstraint.forEach((function(e){var n=t.idToNodeMap.get(e.nodeId);n.displacementX=0,n.displacementY=0})),this.constraints.alignmentConstraint){if(this.constraints.alignmentConstraint.vertical)for(var e=this.constraints.alignmentConstraint.vertical,n=0;n1)for(s=0;sr&&(r=Math.floor(a.y)),o=Math.floor(a.x+c.DEFAULT_COMPONENT_SEPERATION)}this.transform(new d(h.WORLD_CENTER_X-a.x/2,h.WORLD_CENTER_Y-a.y/2))},x.radialLayout=function(t,e,n){var r=Math.max(this.maxDiagonalInTree(t),c.DEFAULT_RADIAL_SEPARATION);x.branchRadialLayout(e,null,0,359,0,r);var i=y.calculateBounds(t),o=new m;o.setDeviceOrgX(i.getMinX()),o.setDeviceOrgY(i.getMinY()),o.setWorldOrgX(n.x),o.setWorldOrgY(n.y);for(var a=0;a1;){var v=g[0];g.splice(0,1);var y=l.indexOf(v);y>=0&&l.splice(y,1),p--,h--}f=null!=e?(l.indexOf(g[0])+1)%p:0;for(var m=Math.abs(r-n)/h,w=f;d!=h;w=++w%p){var _=l[w].getOtherEnd(t);if(_!=e){var E=(n+d*m)%360,k=(E+m)%360;x.branchRadialLayout(_,t,E,k,i+o,o),d++}}},x.maxDiagonalInTree=function(t){for(var e=v.MIN_VALUE,n=0;ne&&(e=r)}return e},x.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},x.prototype.groupZeroDegreeMembers=function(){var t=this,e={};this.memberGroups={},this.idToDummyNode={};for(var n=[],r=this.graphManager.getAllNodes(),i=0;i1){var r="DummyCompound_"+n;t.memberGroups[r]=e[n];var i=e[n][0].getParent(),o=new a(t.graphManager);o.id=r,o.paddingLeft=i.paddingLeft||0,o.paddingRight=i.paddingRight||0,o.paddingBottom=i.paddingBottom||0,o.paddingTop=i.paddingTop||0,t.idToDummyNode[r]=o;var s=t.getGraphManager().add(t.newGraph(),o),c=i.getChild();c.add(o);for(var u=0;ui?(r.rect.x-=(r.labelWidth-i)/2,r.setWidth(r.labelWidth),r.labelMarginLeft=(r.labelWidth-i)/2):"right"==r.labelPosHorizontal&&r.setWidth(i+r.labelWidth)),r.labelHeight&&("top"==r.labelPosVertical?(r.rect.y-=r.labelHeight,r.setHeight(o+r.labelHeight),r.labelMarginTop=r.labelHeight):"center"==r.labelPosVertical&&r.labelHeight>o?(r.rect.y-=(r.labelHeight-o)/2,r.setHeight(r.labelHeight),r.labelMarginTop=(r.labelHeight-o)/2):"bottom"==r.labelPosVertical&&r.setHeight(o+r.labelHeight))}}))},x.prototype.repopulateCompounds=function(){for(var t=this.compoundOrder.length-1;t>=0;t--){var e=this.compoundOrder[t],n=e.id,r=e.paddingLeft,i=e.paddingTop,o=e.labelMarginLeft,a=e.labelMarginTop;this.adjustLocations(this.tiledMemberPack[n],e.rect.x,e.rect.y,r,i,o,a)}},x.prototype.repopulateZeroDegreeMembers=function(){var t=this,e=this.tiledZeroDegreePack;Object.keys(e).forEach((function(n){var r=t.idToDummyNode[n],i=r.paddingLeft,o=r.paddingTop,a=r.labelMarginLeft,s=r.labelMarginTop;t.adjustLocations(e[n],r.rect.x,r.rect.y,i,o,a,s)}))},x.prototype.getToBeTiled=function(t){var e=t.id;if(null!=this.toBeTiled[e])return this.toBeTiled[e];var n=t.getChild();if(null==n)return this.toBeTiled[e]=!1,!1;for(var r=n.getNodes(),i=0;i0)return this.toBeTiled[e]=!1,!1;if(null!=o.getChild()){if(!this.getToBeTiled(o))return this.toBeTiled[e]=!1,!1}else this.toBeTiled[o.id]=!1}return this.toBeTiled[e]=!0,!0},x.prototype.getNodeDegree=function(t){t.id;for(var e=t.getEdges(),n=0,r=0;rl&&(l=f.rect.height)}n+=l+t.verticalPadding}},x.prototype.tileCompoundMembers=function(t,e){var n=this;this.tiledMemberPack=[],Object.keys(t).forEach((function(r){var i=e[r];if(n.tiledMemberPack[r]=n.tileNodes(t[r],i.paddingLeft+i.paddingRight),i.rect.width=n.tiledMemberPack[r].width,i.rect.height=n.tiledMemberPack[r].height,i.setCenter(n.tiledMemberPack[r].centerX,n.tiledMemberPack[r].centerY),i.labelMarginLeft=0,i.labelMarginTop=0,c.NODE_DIMENSIONS_INCLUDE_LABELS){var o=i.rect.width,a=i.rect.height;i.labelWidth&&("left"==i.labelPosHorizontal?(i.rect.x-=i.labelWidth,i.setWidth(o+i.labelWidth),i.labelMarginLeft=i.labelWidth):"center"==i.labelPosHorizontal&&i.labelWidth>o?(i.rect.x-=(i.labelWidth-o)/2,i.setWidth(i.labelWidth),i.labelMarginLeft=(i.labelWidth-o)/2):"right"==i.labelPosHorizontal&&i.setWidth(o+i.labelWidth)),i.labelHeight&&("top"==i.labelPosVertical?(i.rect.y-=i.labelHeight,i.setHeight(a+i.labelHeight),i.labelMarginTop=i.labelHeight):"center"==i.labelPosVertical&&i.labelHeight>a?(i.rect.y-=(i.labelHeight-a)/2,i.setHeight(i.labelHeight),i.labelMarginTop=(i.labelHeight-a)/2):"bottom"==i.labelPosVertical&&i.setHeight(a+i.labelHeight))}}))},x.prototype.tileNodes=function(t,e){var n=this.tileNodesByFavoringDim(t,e,!0),r=this.tileNodesByFavoringDim(t,e,!1),i=this.getOrgRatio(n);return this.getOrgRatio(r)s&&(s=t.getWidth())}));var u,l=o/i,h=a/i,f=Math.pow(n-r,2)+4*(l+r)*(h+n)*i,d=(r-n+Math.sqrt(f))/(2*(l+r));e?(u=Math.ceil(d))==d&&u++:u=Math.floor(d);var p=u*(l+r)-r;return s>p&&(p=s),p+2*r},x.prototype.tileNodesByFavoringDim=function(t,e,n){var r=c.TILING_PADDING_VERTICAL,i=c.TILING_PADDING_HORIZONTAL,o=c.TILING_COMPARE_BY,a={rows:[],rowWidth:[],rowHeight:[],width:0,height:e,verticalPadding:r,horizontalPadding:i,centerX:0,centerY:0};o&&(a.idealRowWidth=this.calcIdealRowWidth(t,n));var s=function(t){return t.rect.width*t.rect.height},u=function(t,e){return s(e)-s(t)};t.sort((function(t,e){var n=u;return a.idealRowWidth?(n=o)(t.id,e.id):n(t,e)}));for(var l=0,h=0,f=0;f0&&(o+=t.horizontalPadding),t.rowWidth[n]=o,t.width0&&(a+=t.verticalPadding);var s=0;a>t.rowHeight[n]&&(s=t.rowHeight[n],t.rowHeight[n]=a,s=t.rowHeight[n]-s),t.height+=s,t.rows[n].push(e)},x.prototype.getShortestRowIndex=function(t){for(var e=-1,n=Number.MAX_VALUE,r=0;rn&&(e=r,n=t.rowWidth[r]);return e},x.prototype.canAddHorizontal=function(t,e,n){if(t.idealRowWidth){var r=t.rows.length-1;return t.rowWidth[r]+e+t.horizontalPadding<=t.idealRowWidth}var i=this.getShortestRowIndex(t);if(i<0)return!0;var o=t.rowWidth[i];if(o+t.horizontalPadding+e<=t.width)return!0;var a,s,c=0;return t.rowHeight[i]0&&(c=n+t.verticalPadding-t.rowHeight[i]),a=t.width-o>=e+t.horizontalPadding?(t.height+c)/(o+e+t.horizontalPadding):(t.height+c)/t.width,c=n+t.verticalPadding,(s=t.widtho&&e!=n){r.splice(-1,1),t.rows[n].push(i),t.rowWidth[e]=t.rowWidth[e]-o,t.rowWidth[n]=t.rowWidth[n]+o,t.width=t.rowWidth[instance.getLongestRowIndex(t)];for(var a=Number.MIN_VALUE,s=0;sa&&(a=r[s].height);e>0&&(a+=t.verticalPadding);var c=t.rowHeight[e]+t.rowHeight[n];t.rowHeight[e]=a,t.rowHeight[n]0)for(var h=i;h<=o;h++)u[0]+=this.grid[h][a-1].length+this.grid[h][a].length-1;if(o0)for(h=a;h<=s;h++)u[3]+=this.grid[i-1][h].length+this.grid[i][h].length-1;for(var f,d,p=v.MAX_VALUE,g=0;g{var r=n(551).FDLayoutNode,i=n(551).IMath;function o(t,e,n,i){r.call(this,t,e,n,i)}for(var a in o.prototype=Object.create(r.prototype),r)o[a]=r[a];o.prototype.calculateDisplacement=function(){var t=this.graphManager.getLayout();null!=this.getChild()&&this.fixedNodeWeight?(this.displacementX+=t.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.fixedNodeWeight,this.displacementY+=t.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.fixedNodeWeight):(this.displacementX+=t.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.noOfChildren,this.displacementY+=t.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.noOfChildren),Math.abs(this.displacementX)>t.coolingFactor*t.maxNodeDisplacement&&(this.displacementX=t.coolingFactor*t.maxNodeDisplacement*i.sign(this.displacementX)),Math.abs(this.displacementY)>t.coolingFactor*t.maxNodeDisplacement&&(this.displacementY=t.coolingFactor*t.maxNodeDisplacement*i.sign(this.displacementY)),this.child&&this.child.getNodes().length>0&&this.propogateDisplacementToChildren(this.displacementX,this.displacementY)},o.prototype.propogateDisplacementToChildren=function(t,e){for(var n,r=this.getChild().getNodes(),i=0;i{function r(t){if(Array.isArray(t)){for(var e=0,n=Array(t.length);e0){var o=0;r.forEach((function(t){"horizontal"==e?(h.set(t,c.has(t)?u[c.get(t)]:i.get(t)),o+=h.get(t)):(h.set(t,c.has(t)?l[c.get(t)]:i.get(t)),o+=h.get(t))})),o/=r.length,t.forEach((function(t){n.has(t)||h.set(t,o)}))}else{var a=0;t.forEach((function(t){a+="horizontal"==e?c.has(t)?u[c.get(t)]:i.get(t):c.has(t)?l[c.get(t)]:i.get(t)})),a/=t.length,t.forEach((function(t){h.set(t,a)}))}}));for(var p=function(){var r=d.shift();t.get(r).forEach((function(t){if(h.get(t.id)a&&(a=b),ms&&(s=m)}}catch(t){d=!0,p=t}finally{try{!f&&v.return&&v.return()}finally{if(d)throw p}}var w=(r+a)/2-(o+s)/2,x=!0,_=!1,E=void 0;try{for(var k,T=t[Symbol.iterator]();!(x=(k=T.next()).done);x=!0){var C=k.value;h.set(C,h.get(C)+w)}}catch(t){_=!0,E=t}finally{try{!x&&T.return&&T.return()}finally{if(_)throw E}}}))}return h},b=function(t){var e=0,n=0,r=0,i=0;if(t.forEach((function(t){t.left?u[c.get(t.left)]-u[c.get(t.right)]>=0?e++:n++:l[c.get(t.top)]-l[c.get(t.bottom)]>=0?r++:i++})),e>n&&r>i)for(var o=0;on)for(var a=0;ai)for(var s=0;s1)e.fixedNodeConstraint.forEach((function(t,e){x[e]=[t.position.x,t.position.y],_[e]=[u[c.get(t.nodeId)],l[c.get(t.nodeId)]]})),E=!0;else if(e.alignmentConstraint)!function(){var t=0;if(e.alignmentConstraint.vertical){for(var n=e.alignmentConstraint.vertical,i=function(e){var i=new Set;n[e].forEach((function(t){i.add(t)}));var o,a=new Set([].concat(r(i)).filter((function(t){return T.has(t)})));o=a.size>0?u[c.get(a.values().next().value)]:g(i).x,n[e].forEach((function(e){x[t]=[o,l[c.get(e)]],_[t]=[u[c.get(e)],l[c.get(e)]],t++}))},o=0;o0?u[c.get(o.values().next().value)]:g(n).y,a[e].forEach((function(e){x[t]=[u[c.get(e)],i],_[t]=[u[c.get(e)],l[c.get(e)]],t++}))},h=0;hS&&(S=A[L].length,O=L);if(S0){var X={x:0,y:0};e.fixedNodeConstraint.forEach((function(t,e){var n,r,i=(r={x:u[c.get(t.nodeId)],y:l[c.get(t.nodeId)]},{x:(n=t.position).x-r.x,y:n.y-r.y});X.x+=i.x,X.y+=i.y})),X.x/=e.fixedNodeConstraint.length,X.y/=e.fixedNodeConstraint.length,u.forEach((function(t,e){u[e]+=X.x})),l.forEach((function(t,e){l[e]+=X.y})),e.fixedNodeConstraint.forEach((function(t){u[c.get(t.nodeId)]=t.position.x,l[c.get(t.nodeId)]=t.position.y}))}if(e.alignmentConstraint){if(e.alignmentConstraint.vertical)for(var W=e.alignmentConstraint.vertical,$=function(t){var e=new Set;W[t].forEach((function(t){e.add(t)}));var n,i=new Set([].concat(r(e)).filter((function(t){return T.has(t)})));n=i.size>0?u[c.get(i.values().next().value)]:g(e).x,e.forEach((function(t){T.has(t)||(u[c.get(t)]=n)}))},Z=0;Z0?l[c.get(i.values().next().value)]:g(e).y,e.forEach((function(t){T.has(t)||(l[c.get(t)]=n)}))},J=0;J{e.exports=t}},n={},r=function t(r){var i=n[r];if(void 0!==i)return i.exports;var o=n[r]={exports:{}};return e[r](o,o.exports,t),o.exports}(45);return r})()},t.exports=r(n(3035))},3035:function(t){var e;e=function(){return function(t){var e={};function n(r){if(e[r])return e[r].exports;var i=e[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=t,n.c=e,n.i=function(t){return t},n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:r})},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=28)}([function(t,e,n){"use strict";function r(){}r.QUALITY=1,r.DEFAULT_CREATE_BENDS_AS_NEEDED=!1,r.DEFAULT_INCREMENTAL=!1,r.DEFAULT_ANIMATION_ON_LAYOUT=!0,r.DEFAULT_ANIMATION_DURING_LAYOUT=!1,r.DEFAULT_ANIMATION_PERIOD=50,r.DEFAULT_UNIFORM_LEAF_NODE_SIZES=!1,r.DEFAULT_GRAPH_MARGIN=15,r.NODE_DIMENSIONS_INCLUDE_LABELS=!1,r.SIMPLE_NODE_SIZE=40,r.SIMPLE_NODE_HALF_SIZE=r.SIMPLE_NODE_SIZE/2,r.EMPTY_COMPOUND_NODE_SIZE=40,r.MIN_EDGE_LENGTH=1,r.WORLD_BOUNDARY=1e6,r.INITIAL_WORLD_BOUNDARY=r.WORLD_BOUNDARY/1e3,r.WORLD_CENTER_X=1200,r.WORLD_CENTER_Y=900,t.exports=r},function(t,e,n){"use strict";var r=n(2),i=n(8),o=n(9);function a(t,e,n){r.call(this,n),this.isOverlapingSourceAndTarget=!1,this.vGraphObject=n,this.bendpoints=[],this.source=t,this.target=e}for(var s in a.prototype=Object.create(r.prototype),r)a[s]=r[s];a.prototype.getSource=function(){return this.source},a.prototype.getTarget=function(){return this.target},a.prototype.isInterGraph=function(){return this.isInterGraph},a.prototype.getLength=function(){return this.length},a.prototype.isOverlapingSourceAndTarget=function(){return this.isOverlapingSourceAndTarget},a.prototype.getBendpoints=function(){return this.bendpoints},a.prototype.getLca=function(){return this.lca},a.prototype.getSourceInLca=function(){return this.sourceInLca},a.prototype.getTargetInLca=function(){return this.targetInLca},a.prototype.getOtherEnd=function(t){if(this.source===t)return this.target;if(this.target===t)return this.source;throw"Node is not incident with this edge"},a.prototype.getOtherEndInGraph=function(t,e){for(var n=this.getOtherEnd(t),r=e.getGraphManager().getRoot();;){if(n.getOwner()==e)return n;if(n.getOwner()==r)break;n=n.getOwner().getParent()}return null},a.prototype.updateLength=function(){var t=new Array(4);this.isOverlapingSourceAndTarget=i.getIntersection(this.target.getRect(),this.source.getRect(),t),this.isOverlapingSourceAndTarget||(this.lengthX=t[0]-t[2],this.lengthY=t[1]-t[3],Math.abs(this.lengthX)<1&&(this.lengthX=o.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=o.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY))},a.prototype.updateLengthSimple=function(){this.lengthX=this.target.getCenterX()-this.source.getCenterX(),this.lengthY=this.target.getCenterY()-this.source.getCenterY(),Math.abs(this.lengthX)<1&&(this.lengthX=o.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=o.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY)},t.exports=a},function(t,e,n){"use strict";t.exports=function(t){this.vGraphObject=t}},function(t,e,n){"use strict";var r=n(2),i=n(10),o=n(13),a=n(0),s=n(16),c=n(5);function u(t,e,n,a){null==n&&null==a&&(a=e),r.call(this,a),null!=t.graphManager&&(t=t.graphManager),this.estimatedSize=i.MIN_VALUE,this.inclusionTreeDepth=i.MAX_VALUE,this.vGraphObject=a,this.edges=[],this.graphManager=t,this.rect=null!=n&&null!=e?new o(e.x,e.y,n.width,n.height):new o}for(var l in u.prototype=Object.create(r.prototype),r)u[l]=r[l];u.prototype.getEdges=function(){return this.edges},u.prototype.getChild=function(){return this.child},u.prototype.getOwner=function(){return this.owner},u.prototype.getWidth=function(){return this.rect.width},u.prototype.setWidth=function(t){this.rect.width=t},u.prototype.getHeight=function(){return this.rect.height},u.prototype.setHeight=function(t){this.rect.height=t},u.prototype.getCenterX=function(){return this.rect.x+this.rect.width/2},u.prototype.getCenterY=function(){return this.rect.y+this.rect.height/2},u.prototype.getCenter=function(){return new c(this.rect.x+this.rect.width/2,this.rect.y+this.rect.height/2)},u.prototype.getLocation=function(){return new c(this.rect.x,this.rect.y)},u.prototype.getRect=function(){return this.rect},u.prototype.getDiagonal=function(){return Math.sqrt(this.rect.width*this.rect.width+this.rect.height*this.rect.height)},u.prototype.getHalfTheDiagonal=function(){return Math.sqrt(this.rect.height*this.rect.height+this.rect.width*this.rect.width)/2},u.prototype.setRect=function(t,e){this.rect.x=t.x,this.rect.y=t.y,this.rect.width=e.width,this.rect.height=e.height},u.prototype.setCenter=function(t,e){this.rect.x=t-this.rect.width/2,this.rect.y=e-this.rect.height/2},u.prototype.setLocation=function(t,e){this.rect.x=t,this.rect.y=e},u.prototype.moveBy=function(t,e){this.rect.x+=t,this.rect.y+=e},u.prototype.getEdgeListToNode=function(t){var e=[],n=this;return n.edges.forEach((function(r){if(r.target==t){if(r.source!=n)throw"Incorrect edge source!";e.push(r)}})),e},u.prototype.getEdgesBetween=function(t){var e=[],n=this;return n.edges.forEach((function(r){if(r.source!=n&&r.target!=n)throw"Incorrect edge source and/or target";r.target!=t&&r.source!=t||e.push(r)})),e},u.prototype.getNeighborsList=function(){var t=new Set,e=this;return e.edges.forEach((function(n){if(n.source==e)t.add(n.target);else{if(n.target!=e)throw"Incorrect incidency!";t.add(n.source)}})),t},u.prototype.withChildren=function(){var t=new Set;if(t.add(this),null!=this.child)for(var e=this.child.getNodes(),n=0;ne?(this.rect.x-=(this.labelWidth-e)/2,this.setWidth(this.labelWidth)):"right"==this.labelPosHorizontal&&this.setWidth(e+this.labelWidth)),this.labelHeight&&("top"==this.labelPosVertical?(this.rect.y-=this.labelHeight,this.setHeight(n+this.labelHeight)):"center"==this.labelPosVertical&&this.labelHeight>n?(this.rect.y-=(this.labelHeight-n)/2,this.setHeight(this.labelHeight)):"bottom"==this.labelPosVertical&&this.setHeight(n+this.labelHeight))}}},u.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==i.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},u.prototype.transform=function(t){var e=this.rect.x;e>a.WORLD_BOUNDARY?e=a.WORLD_BOUNDARY:e<-a.WORLD_BOUNDARY&&(e=-a.WORLD_BOUNDARY);var n=this.rect.y;n>a.WORLD_BOUNDARY?n=a.WORLD_BOUNDARY:n<-a.WORLD_BOUNDARY&&(n=-a.WORLD_BOUNDARY);var r=new c(e,n),i=t.inverseTransformPoint(r);this.setLocation(i.x,i.y)},u.prototype.getLeft=function(){return this.rect.x},u.prototype.getRight=function(){return this.rect.x+this.rect.width},u.prototype.getTop=function(){return this.rect.y},u.prototype.getBottom=function(){return this.rect.y+this.rect.height},u.prototype.getParent=function(){return null==this.owner?null:this.owner.getParent()},t.exports=u},function(t,e,n){"use strict";var r=n(0);function i(){}for(var o in r)i[o]=r[o];i.MAX_ITERATIONS=2500,i.DEFAULT_EDGE_LENGTH=50,i.DEFAULT_SPRING_STRENGTH=.45,i.DEFAULT_REPULSION_STRENGTH=4500,i.DEFAULT_GRAVITY_STRENGTH=.4,i.DEFAULT_COMPOUND_GRAVITY_STRENGTH=1,i.DEFAULT_GRAVITY_RANGE_FACTOR=3.8,i.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=1.5,i.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION=!0,i.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION=!0,i.DEFAULT_COOLING_FACTOR_INCREMENTAL=.3,i.COOLING_ADAPTATION_FACTOR=.33,i.ADAPTATION_LOWER_NODE_LIMIT=1e3,i.ADAPTATION_UPPER_NODE_LIMIT=5e3,i.MAX_NODE_DISPLACEMENT_INCREMENTAL=100,i.MAX_NODE_DISPLACEMENT=3*i.MAX_NODE_DISPLACEMENT_INCREMENTAL,i.MIN_REPULSION_DIST=i.DEFAULT_EDGE_LENGTH/10,i.CONVERGENCE_CHECK_PERIOD=100,i.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=.1,i.MIN_EDGE_LENGTH=1,i.GRID_CALCULATION_CHECK_PERIOD=10,t.exports=i},function(t,e,n){"use strict";function r(t,e){null==t&&null==e?(this.x=0,this.y=0):(this.x=t,this.y=e)}r.prototype.getX=function(){return this.x},r.prototype.getY=function(){return this.y},r.prototype.setX=function(t){this.x=t},r.prototype.setY=function(t){this.y=t},r.prototype.getDifference=function(t){return new DimensionD(this.x-t.x,this.y-t.y)},r.prototype.getCopy=function(){return new r(this.x,this.y)},r.prototype.translate=function(t){return this.x+=t.width,this.y+=t.height,this},t.exports=r},function(t,e,n){"use strict";var r=n(2),i=n(10),o=n(0),a=n(7),s=n(3),c=n(1),u=n(13),l=n(12),h=n(11);function f(t,e,n){r.call(this,n),this.estimatedSize=i.MIN_VALUE,this.margin=o.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=t,null!=e&&e instanceof a?this.graphManager=e:null!=e&&e instanceof Layout&&(this.graphManager=e.graphManager)}for(var d in f.prototype=Object.create(r.prototype),r)f[d]=r[d];f.prototype.getNodes=function(){return this.nodes},f.prototype.getEdges=function(){return this.edges},f.prototype.getGraphManager=function(){return this.graphManager},f.prototype.getParent=function(){return this.parent},f.prototype.getLeft=function(){return this.left},f.prototype.getRight=function(){return this.right},f.prototype.getTop=function(){return this.top},f.prototype.getBottom=function(){return this.bottom},f.prototype.isConnected=function(){return this.isConnected},f.prototype.add=function(t,e,n){if(null==e&&null==n){var r=t;if(null==this.graphManager)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(r)>-1)throw"Node already in graph!";return r.owner=this,this.getNodes().push(r),r}var i=t;if(!(this.getNodes().indexOf(e)>-1&&this.getNodes().indexOf(n)>-1))throw"Source or target not in graph!";if(e.owner!=n.owner||e.owner!=this)throw"Both owners must be this graph!";return e.owner!=n.owner?null:(i.source=e,i.target=n,i.isInterGraph=!1,this.getEdges().push(i),e.edges.push(i),n!=e&&n.edges.push(i),i)},f.prototype.remove=function(t){var e=t;if(t instanceof s){if(null==e)throw"Node is null!";if(null==e.owner||e.owner!=this)throw"Owner graph is invalid!";if(null==this.graphManager)throw"Owner graph manager is invalid!";for(var n=e.edges.slice(),r=n.length,i=0;i-1&&l>-1))throw"Source and/or target doesn't know this edge!";if(o.source.edges.splice(u,1),o.target!=o.source&&o.target.edges.splice(l,1),-1==(a=o.source.owner.getEdges().indexOf(o)))throw"Not in owner's edge list!";o.source.owner.getEdges().splice(a,1)}},f.prototype.updateLeftTop=function(){for(var t,e,n,r=i.MAX_VALUE,o=i.MAX_VALUE,a=this.getNodes(),s=a.length,c=0;c(t=u.getTop())&&(r=t),o>(e=u.getLeft())&&(o=e)}return r==i.MAX_VALUE?null:(n=null!=a[0].getParent().paddingLeft?a[0].getParent().paddingLeft:this.margin,this.left=o-n,this.top=r-n,new l(this.left,this.top))},f.prototype.updateBounds=function(t){for(var e,n,r,o,a,s=i.MAX_VALUE,c=-i.MAX_VALUE,l=i.MAX_VALUE,h=-i.MAX_VALUE,f=this.nodes,d=f.length,p=0;p(e=g.getLeft())&&(s=e),c<(n=g.getRight())&&(c=n),l>(r=g.getTop())&&(l=r),h<(o=g.getBottom())&&(h=o)}var v=new u(s,l,c-s,h-l);s==i.MAX_VALUE&&(this.left=this.parent.getLeft(),this.right=this.parent.getRight(),this.top=this.parent.getTop(),this.bottom=this.parent.getBottom()),a=null!=f[0].getParent().paddingLeft?f[0].getParent().paddingLeft:this.margin,this.left=v.x-a,this.right=v.x+v.width+a,this.top=v.y-a,this.bottom=v.y+v.height+a},f.calculateBounds=function(t){for(var e,n,r,o,a=i.MAX_VALUE,s=-i.MAX_VALUE,c=i.MAX_VALUE,l=-i.MAX_VALUE,h=t.length,f=0;f(e=d.getLeft())&&(a=e),s<(n=d.getRight())&&(s=n),c>(r=d.getTop())&&(c=r),l<(o=d.getBottom())&&(l=o)}return new u(a,c,s-a,l-c)},f.prototype.getInclusionTreeDepth=function(){return this==this.graphManager.getRoot()?1:this.parent.getInclusionTreeDepth()},f.prototype.getEstimatedSize=function(){if(this.estimatedSize==i.MIN_VALUE)throw"assert failed";return this.estimatedSize},f.prototype.calcEstimatedSize=function(){for(var t=0,e=this.nodes,n=e.length,r=0;r=this.nodes.length){var c=0;i.forEach((function(e){e.owner==t&&c++})),c==this.nodes.length&&(this.isConnected=!0)}}else this.isConnected=!0},t.exports=f},function(t,e,n){"use strict";var r,i=n(1);function o(t){r=n(6),this.layout=t,this.graphs=[],this.edges=[]}o.prototype.addRoot=function(){var t=this.layout.newGraph(),e=this.layout.newNode(null),n=this.add(t,e);return this.setRootGraph(n),this.rootGraph},o.prototype.add=function(t,e,n,r,i){if(null==n&&null==r&&null==i){if(null==t)throw"Graph is null!";if(null==e)throw"Parent node is null!";if(this.graphs.indexOf(t)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(t),null!=t.parent)throw"Already has a parent!";if(null!=e.child)throw"Already has a child!";return t.parent=e,e.child=t,t}i=n,n=t;var o=(r=e).getOwner(),a=i.getOwner();if(null==o||o.getGraphManager()!=this)throw"Source not in this graph mgr!";if(null==a||a.getGraphManager()!=this)throw"Target not in this graph mgr!";if(o==a)return n.isInterGraph=!1,o.add(n,r,i);if(n.isInterGraph=!0,n.source=r,n.target=i,this.edges.indexOf(n)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(n),null==n.source||null==n.target)throw"Edge source and/or target is null!";if(-1!=n.source.edges.indexOf(n)||-1!=n.target.edges.indexOf(n))throw"Edge already in source and/or target incidency list!";return n.source.edges.push(n),n.target.edges.push(n),n},o.prototype.remove=function(t){if(t instanceof r){var e=t;if(e.getGraphManager()!=this)throw"Graph not in this graph mgr";if(e!=this.rootGraph&&(null==e.parent||e.parent.graphManager!=this))throw"Invalid parent node!";for(var n,o=[],a=(o=o.concat(e.getEdges())).length,s=0;s=e.getRight()?n[0]+=Math.min(e.getX()-t.getX(),t.getRight()-e.getRight()):e.getX()<=t.getX()&&e.getRight()>=t.getRight()&&(n[0]+=Math.min(t.getX()-e.getX(),e.getRight()-t.getRight())),t.getY()<=e.getY()&&t.getBottom()>=e.getBottom()?n[1]+=Math.min(e.getY()-t.getY(),t.getBottom()-e.getBottom()):e.getY()<=t.getY()&&e.getBottom()>=t.getBottom()&&(n[1]+=Math.min(t.getY()-e.getY(),e.getBottom()-t.getBottom()));var o=Math.abs((e.getCenterY()-t.getCenterY())/(e.getCenterX()-t.getCenterX()));e.getCenterY()===t.getCenterY()&&e.getCenterX()===t.getCenterX()&&(o=1);var a=o*n[0],s=n[1]/o;n[0]a)return n[0]=r,n[1]=c,n[2]=o,n[3]=m,!1;if(io)return n[0]=s,n[1]=i,n[2]=b,n[3]=a,!1;if(ro?(n[0]=l,n[1]=h,E=!0):(n[0]=u,n[1]=c,E=!0):T===N&&(r>o?(n[0]=s,n[1]=c,E=!0):(n[0]=f,n[1]=h,E=!0)),-C===N?o>r?(n[2]=y,n[3]=m,k=!0):(n[2]=b,n[3]=v,k=!0):C===N&&(o>r?(n[2]=g,n[3]=v,k=!0):(n[2]=w,n[3]=m,k=!0)),E&&k)return!1;if(r>o?i>a?(A=this.getCardinalDirection(T,N,4),S=this.getCardinalDirection(C,N,2)):(A=this.getCardinalDirection(-T,N,3),S=this.getCardinalDirection(-C,N,1)):i>a?(A=this.getCardinalDirection(-T,N,1),S=this.getCardinalDirection(-C,N,3)):(A=this.getCardinalDirection(T,N,2),S=this.getCardinalDirection(C,N,4)),!E)switch(A){case 1:L=c,O=r+-p/N,n[0]=O,n[1]=L;break;case 2:O=f,L=i+d*N,n[0]=O,n[1]=L;break;case 3:L=h,O=r+p/N,n[0]=O,n[1]=L;break;case 4:O=l,L=i+-d*N,n[0]=O,n[1]=L}if(!k)switch(S){case 1:M=v,I=o+-_/N,n[2]=I,n[3]=M;break;case 2:I=w,M=a+x*N,n[2]=I,n[3]=M;break;case 3:M=m,I=o+_/N,n[2]=I,n[3]=M;break;case 4:I=y,M=a+-x*N,n[2]=I,n[3]=M}}return!1},i.getCardinalDirection=function(t,e,n){return t>e?n:1+n%4},i.getIntersection=function(t,e,n,i){if(null==i)return this.getIntersection2(t,e,n);var o,a,s,c,u,l,h,f=t.x,d=t.y,p=e.x,g=e.y,v=n.x,b=n.y,y=i.x,m=i.y;return 0==(h=(o=g-d)*(c=v-y)-(a=m-b)*(s=f-p))?null:new r((s*(l=y*b-v*m)-c*(u=p*d-f*g))/h,(a*u-o*l)/h)},i.angleOfVector=function(t,e,n,r){var i=void 0;return t!==n?(i=Math.atan((r-e)/(n-t)),n=0){var l=(-c+Math.sqrt(c*c-4*s*u))/(2*s),h=(-c-Math.sqrt(c*c-4*s*u))/(2*s);return l>=0&&l<=1?[l]:h>=0&&h<=1?[h]:null}return null},i.HALF_PI=.5*Math.PI,i.ONE_AND_HALF_PI=1.5*Math.PI,i.TWO_PI=2*Math.PI,i.THREE_PI=3*Math.PI,t.exports=i},function(t,e,n){"use strict";function r(){}r.sign=function(t){return t>0?1:t<0?-1:0},r.floor=function(t){return t<0?Math.ceil(t):Math.floor(t)},r.ceil=function(t){return t<0?Math.floor(t):Math.ceil(t)},t.exports=r},function(t,e,n){"use strict";function r(){}r.MAX_VALUE=2147483647,r.MIN_VALUE=-2147483648,t.exports=r},function(t,e,n){"use strict";var r=function(){function t(t,e){for(var n=0;n0&&e;){for(s.push(u[0]);s.length>0&&e;){var l=s[0];s.splice(0,1),a.add(l);var h=l.getEdges();for(o=0;o-1&&u.splice(g,1)}a=new Set,c=new Map}else t=[]}return t},f.prototype.createDummyNodesForBendpoints=function(t){for(var e=[],n=t.source,r=this.graphManager.calcLowestCommonAncestor(t.source,t.target),i=0;i0){for(var i=this.edgeToDummyNodes.get(n),o=0;o=0&&e.splice(h,1),l.getNeighborsList().forEach((function(t){if(n.indexOf(t)<0){var e=r.get(t)-1;1==e&&c.push(t),r.set(t,e)}}))}n=n.concat(c),1!=e.length&&2!=e.length||(i=!0,o=e[0])}return o},f.prototype.setGraphManager=function(t){this.graphManager=t},t.exports=f},function(t,e,n){"use strict";function r(){}r.seed=1,r.x=0,r.nextDouble=function(){return r.x=1e4*Math.sin(r.seed++),r.x-Math.floor(r.x)},t.exports=r},function(t,e,n){"use strict";var r=n(5);function i(t,e){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}i.prototype.getWorldOrgX=function(){return this.lworldOrgX},i.prototype.setWorldOrgX=function(t){this.lworldOrgX=t},i.prototype.getWorldOrgY=function(){return this.lworldOrgY},i.prototype.setWorldOrgY=function(t){this.lworldOrgY=t},i.prototype.getWorldExtX=function(){return this.lworldExtX},i.prototype.setWorldExtX=function(t){this.lworldExtX=t},i.prototype.getWorldExtY=function(){return this.lworldExtY},i.prototype.setWorldExtY=function(t){this.lworldExtY=t},i.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},i.prototype.setDeviceOrgX=function(t){this.ldeviceOrgX=t},i.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},i.prototype.setDeviceOrgY=function(t){this.ldeviceOrgY=t},i.prototype.getDeviceExtX=function(){return this.ldeviceExtX},i.prototype.setDeviceExtX=function(t){this.ldeviceExtX=t},i.prototype.getDeviceExtY=function(){return this.ldeviceExtY},i.prototype.setDeviceExtY=function(t){this.ldeviceExtY=t},i.prototype.transformX=function(t){var e=0,n=this.lworldExtX;return 0!=n&&(e=this.ldeviceOrgX+(t-this.lworldOrgX)*this.ldeviceExtX/n),e},i.prototype.transformY=function(t){var e=0,n=this.lworldExtY;return 0!=n&&(e=this.ldeviceOrgY+(t-this.lworldOrgY)*this.ldeviceExtY/n),e},i.prototype.inverseTransformX=function(t){var e=0,n=this.ldeviceExtX;return 0!=n&&(e=this.lworldOrgX+(t-this.ldeviceOrgX)*this.lworldExtX/n),e},i.prototype.inverseTransformY=function(t){var e=0,n=this.ldeviceExtY;return 0!=n&&(e=this.lworldOrgY+(t-this.ldeviceOrgY)*this.lworldExtY/n),e},i.prototype.inverseTransformPoint=function(t){return new r(this.inverseTransformX(t.x),this.inverseTransformY(t.y))},t.exports=i},function(t,e,n){"use strict";var r=n(15),i=n(4),o=n(0),a=n(8),s=n(9);function c(){r.call(this),this.useSmartIdealEdgeLengthCalculation=i.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION,this.gravityConstant=i.DEFAULT_GRAVITY_STRENGTH,this.compoundGravityConstant=i.DEFAULT_COMPOUND_GRAVITY_STRENGTH,this.gravityRangeFactor=i.DEFAULT_GRAVITY_RANGE_FACTOR,this.compoundGravityRangeFactor=i.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR,this.displacementThresholdPerNode=3*i.DEFAULT_EDGE_LENGTH/100,this.coolingFactor=i.DEFAULT_COOLING_FACTOR_INCREMENTAL,this.initialCoolingFactor=i.DEFAULT_COOLING_FACTOR_INCREMENTAL,this.totalDisplacement=0,this.oldTotalDisplacement=0,this.maxIterations=i.MAX_ITERATIONS}for(var u in c.prototype=Object.create(r.prototype),r)c[u]=r[u];c.prototype.initParameters=function(){r.prototype.initParameters.call(this,arguments),this.totalIterations=0,this.notAnimatedIterations=0,this.useFRGridVariant=i.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION,this.grid=[]},c.prototype.calcIdealEdgeLengths=function(){for(var t,e,n,r,a,s,c,u=this.getGraphManager().getAllEdges(),l=0;li.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*i.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(t-i.ADAPTATION_LOWER_NODE_LIMIT)/(i.ADAPTATION_UPPER_NODE_LIMIT-i.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-i.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=i.MAX_NODE_DISPLACEMENT_INCREMENTAL):(t>i.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(i.COOLING_ADAPTATION_FACTOR,1-(t-i.ADAPTATION_LOWER_NODE_LIMIT)/(i.ADAPTATION_UPPER_NODE_LIMIT-i.ADAPTATION_LOWER_NODE_LIMIT)*(1-i.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=i.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(5*this.getAllNodes().length,this.maxIterations),this.displacementThresholdPerNode=3*i.DEFAULT_EDGE_LENGTH/100,this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},c.prototype.calcSpringForces=function(){for(var t,e=this.getAllEdges(),n=0;n0&&void 0!==arguments[0])||arguments[0],s=arguments.length>1&&void 0!==arguments[1]&&arguments[1],c=this.getAllNodes();if(this.useFRGridVariant)for(this.totalIterations%i.GRID_CALCULATION_CHECK_PERIOD==1&&a&&this.updateGrid(),o=new Set,t=0;t(c=e.getEstimatedSize()*this.gravityRangeFactor)||s>c)&&(t.gravitationForceX=-this.gravityConstant*i,t.gravitationForceY=-this.gravityConstant*o):(a>(c=e.getEstimatedSize()*this.compoundGravityRangeFactor)||s>c)&&(t.gravitationForceX=-this.gravityConstant*i*this.compoundGravityConstant,t.gravitationForceY=-this.gravityConstant*o*this.compoundGravityConstant)},c.prototype.isConverged=function(){var t,e=!1;return this.totalIterations>this.maxIterations/3&&(e=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2),t=this.totalDisplacement=s.length||u>=s[0].length))for(var l=0;lt}}]),t}();t.exports=o},function(t,e,n){"use strict";function r(){}r.svd=function(t){this.U=null,this.V=null,this.s=null,this.m=0,this.n=0,this.m=t.length,this.n=t[0].length;var e=Math.min(this.m,this.n);this.s=function(t){for(var e=[];t-- >0;)e.push(0);return e}(Math.min(this.m+1,this.n)),this.U=function t(e){if(0==e.length)return 0;for(var n=[],r=0;r0;)e.push(0);return e}(this.n),a=function(t){for(var e=[];t-- >0;)e.push(0);return e}(this.m),s=Math.min(this.m-1,this.n),c=Math.max(0,Math.min(this.n-2,this.m)),u=0;u=0;S--)if(0!==this.s[S]){for(var O=S+1;O=0;j--){if(function(t,e){return t&&e}(j0;){var q=void 0,X=void 0;for(q=C-2;q>=-1&&-1!==q;q--)if(Math.abs(o[q])<=V+U*(Math.abs(this.s[q])+Math.abs(this.s[q+1]))){o[q]=0;break}if(q===C-2)X=4;else{var W=void 0;for(W=C-1;W>=q&&W!==q;W--){var $=(W!==C?Math.abs(o[W]):0)+(W!==q+1?Math.abs(o[W-1]):0);if(Math.abs(this.s[W])<=V+U*$){this.s[W]=0;break}}W===q?X=3:W===C-1?X=1:(X=2,q=W)}switch(q++,X){case 1:var Z=o[C-2];o[C-2]=0;for(var K=C-2;K>=q;K--){var Q=r.hypot(this.s[K],Z),J=this.s[K]/Q,tt=Z/Q;this.s[K]=Q,K!==q&&(Z=-tt*o[K-1],o[K-1]=J*o[K-1]);for(var et=0;et=this.s[q+1]);){var Ct=this.s[q];if(this.s[q]=this.s[q+1],this.s[q+1]=Ct,qMath.abs(e)?(n=e/t,n=Math.abs(t)*Math.sqrt(1+n*n)):0!=e?(n=t/e,n=Math.abs(e)*Math.sqrt(1+n*n)):n=0,n},t.exports=r},function(t,e,n){"use strict";var r=function(){function t(t,e){for(var n=0;n2&&void 0!==arguments[2]?arguments[2]:1,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:-1,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:-1;!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.sequence1=e,this.sequence2=n,this.match_score=r,this.mismatch_penalty=i,this.gap_penalty=o,this.iMax=e.length+1,this.jMax=n.length+1,this.grid=new Array(this.iMax);for(var a=0;a=0;n--){var r=this.listeners[n];r.event===t&&r.callback===e&&this.listeners.splice(n,1)}},i.emit=function(t,e){for(var n=0;n1?e-1:0),r=1;r=0;m--){var w=a[m].id(),x=a[m].position();e.randomize&&(x={x:Math.round(d.x1+(d.x2-d.x1)*Math.random()),y:Math.round(d.y1+(d.y2-d.y1)*Math.random())}),y.vertices.push({id:w,x:x.x,y:x.y})}for(m=s.length-1;m>=0;m--){var _=s[m].source().id(),E=s[m].target().id();y.edges.push({src:_,tgt:E})}var k=t.thread;function T(t){for(var r=t.vertices,i=[],o=0;o=C||A>=4)&&(S>=s?N=!0:(y={xl:0,xr:n+=n*a,yt:0,yb:r+=r*a},++S,A=0)),C=M,c(),u()}return c(),t})).then((function(n){var r=n.vertices;T(n);var i=n.startTime,o=new Date;console.info("Layout on "+r.length+" nodes took "+(o-i)+" ms"),t.one("layoutstop",e.stop),e.animate||t.trigger("layoutready"),t.trigger("layoutstop"),k.stop()}))}return this},a.prototype.stop=function(){this.thread&&this.thread.stop(),this.trigger("layoutstop")},a.prototype.destroy=function(){this.thread&&this.thread.stop()},t.exports=a},function(t,e,n){"use strict";var r=n(0),i=function(t){t("layout","spread",r)};"undefined"!=typeof cytoscape&&i(cytoscape),t.exports=i},function(t,e){function n(){this.vertices=null,this.edges=null,this.cells=null,this.toRecycle=null,this.beachsectionJunkyard=[],this.circleEventJunkyard=[],this.vertexJunkyard=[],this.edgeJunkyard=[],this.cellJunkyard=[]}n.prototype.reset=function(){if(this.beachline||(this.beachline=new this.RBTree),this.beachline.root)for(var t=this.beachline.getFirst(this.beachline.root);t;)this.beachsectionJunkyard.push(t),t=t.rbNext;this.beachline.root=null,this.circleEvents||(this.circleEvents=new this.RBTree),this.circleEvents.root=this.firstCircleEvent=null,this.vertices=[],this.edges=[],this.cells=[]},n.prototype.sqrt=function(t){return Math.sqrt(t)},n.prototype.abs=function(t){return Math.abs(t)},n.prototype.ε=n.ε=1e-9,n.prototype.invε=n.invε=1/n.ε,n.prototype.equalWithEpsilon=function(t,e){return this.abs(t-e)<1e-9},n.prototype.greaterThanWithEpsilon=function(t,e){return t-e>1e-9},n.prototype.greaterThanOrEqualWithEpsilon=function(t,e){return e-t<1e-9},n.prototype.lessThanWithEpsilon=function(t,e){return e-t>1e-9},n.prototype.lessThanOrEqualWithEpsilon=function(t,e){return t-e<1e-9},n.prototype.RBTree=function(){this.root=null},n.prototype.RBTree.prototype.rbInsertSuccessor=function(t,e){var n,r,i;if(t){if(e.rbPrevious=t,e.rbNext=t.rbNext,t.rbNext&&(t.rbNext.rbPrevious=e),t.rbNext=e,t.rbRight){for(t=t.rbRight;t.rbLeft;)t=t.rbLeft;t.rbLeft=e}else t.rbRight=e;n=t}else this.root?(t=this.getFirst(this.root),e.rbPrevious=null,e.rbNext=t,t.rbPrevious=e,t.rbLeft=e,n=t):(e.rbPrevious=e.rbNext=null,this.root=e,n=null);for(e.rbLeft=e.rbRight=null,e.rbParent=n,e.rbRed=!0,t=e;n&&n.rbRed;)n===(r=n.rbParent).rbLeft?(i=r.rbRight)&&i.rbRed?(n.rbRed=i.rbRed=!1,r.rbRed=!0,t=r):(t===n.rbRight&&(this.rbRotateLeft(n),n=(t=n).rbParent),n.rbRed=!1,r.rbRed=!0,this.rbRotateRight(r)):(i=r.rbLeft)&&i.rbRed?(n.rbRed=i.rbRed=!1,r.rbRed=!0,t=r):(t===n.rbLeft&&(this.rbRotateRight(n),n=(t=n).rbParent),n.rbRed=!1,r.rbRed=!0,this.rbRotateLeft(r)),n=t.rbParent;this.root.rbRed=!1},n.prototype.RBTree.prototype.rbRemoveNode=function(t){t.rbNext&&(t.rbNext.rbPrevious=t.rbPrevious),t.rbPrevious&&(t.rbPrevious.rbNext=t.rbNext),t.rbNext=t.rbPrevious=null;var e,n,r=t.rbParent,i=t.rbLeft,o=t.rbRight;if(e=i?o?this.getFirst(o):i:o,r?r.rbLeft===t?r.rbLeft=e:r.rbRight=e:this.root=e,i&&o?(n=e.rbRed,e.rbRed=t.rbRed,e.rbLeft=i,i.rbParent=e,e!==o?(r=e.rbParent,e.rbParent=t.rbParent,t=e.rbRight,r.rbLeft=t,e.rbRight=o,o.rbParent=e):(e.rbParent=r,r=e,t=e.rbRight)):(n=t.rbRed,t=e),t&&(t.rbParent=r),!n)if(t&&t.rbRed)t.rbRed=!1;else{var a;do{if(t===this.root)break;if(t===r.rbLeft){if((a=r.rbRight).rbRed&&(a.rbRed=!1,r.rbRed=!0,this.rbRotateLeft(r),a=r.rbRight),a.rbLeft&&a.rbLeft.rbRed||a.rbRight&&a.rbRight.rbRed){a.rbRight&&a.rbRight.rbRed||(a.rbLeft.rbRed=!1,a.rbRed=!0,this.rbRotateRight(a),a=r.rbRight),a.rbRed=r.rbRed,r.rbRed=a.rbRight.rbRed=!1,this.rbRotateLeft(r),t=this.root;break}}else if((a=r.rbLeft).rbRed&&(a.rbRed=!1,r.rbRed=!0,this.rbRotateRight(r),a=r.rbLeft),a.rbLeft&&a.rbLeft.rbRed||a.rbRight&&a.rbRight.rbRed){a.rbLeft&&a.rbLeft.rbRed||(a.rbRight.rbRed=!1,a.rbRed=!0,this.rbRotateLeft(a),a=r.rbLeft),a.rbRed=r.rbRed,r.rbRed=a.rbLeft.rbRed=!1,this.rbRotateRight(r),t=this.root;break}a.rbRed=!0,t=r,r=r.rbParent}while(!t.rbRed);t&&(t.rbRed=!1)}},n.prototype.RBTree.prototype.rbRotateLeft=function(t){var e=t,n=t.rbRight,r=e.rbParent;r?r.rbLeft===e?r.rbLeft=n:r.rbRight=n:this.root=n,n.rbParent=r,e.rbParent=n,e.rbRight=n.rbLeft,e.rbRight&&(e.rbRight.rbParent=e),n.rbLeft=e},n.prototype.RBTree.prototype.rbRotateRight=function(t){var e=t,n=t.rbLeft,r=e.rbParent;r?r.rbLeft===e?r.rbLeft=n:r.rbRight=n:this.root=n,n.rbParent=r,e.rbParent=n,e.rbLeft=n.rbRight,e.rbLeft&&(e.rbLeft.rbParent=e),n.rbRight=e},n.prototype.RBTree.prototype.getFirst=function(t){for(;t.rbLeft;)t=t.rbLeft;return t},n.prototype.RBTree.prototype.getLast=function(t){for(;t.rbRight;)t=t.rbRight;return t},n.prototype.Diagram=function(t){this.site=t},n.prototype.Cell=function(t){this.site=t,this.halfedges=[],this.closeMe=!1},n.prototype.Cell.prototype.init=function(t){return this.site=t,this.halfedges=[],this.closeMe=!1,this},n.prototype.createCell=function(t){var e=this.cellJunkyard.pop();return e?e.init(t):new this.Cell(t)},n.prototype.Cell.prototype.prepareHalfedges=function(){for(var t,e=this.halfedges,n=e.length;n--;)(t=e[n].edge).vb&&t.va||e.splice(n,1);return e.sort((function(t,e){return e.angle-t.angle})),e.length},n.prototype.Cell.prototype.getNeighborIds=function(){for(var t,e=[],n=this.halfedges.length;n--;)null!==(t=this.halfedges[n].edge).lSite&&t.lSite.voronoiId!=this.site.voronoiId?e.push(t.lSite.voronoiId):null!==t.rSite&&t.rSite.voronoiId!=this.site.voronoiId&&e.push(t.rSite.voronoiId);return e},n.prototype.Cell.prototype.getBbox=function(){for(var t,e,n,r=this.halfedges,i=r.length,o=1/0,a=1/0,s=-1/0,c=-1/0;i--;)(e=(t=r[i].getStartpoint()).x)s&&(s=e),n>c&&(c=n);return{x:o,y:a,width:s-o,height:c-a}},n.prototype.Cell.prototype.pointIntersection=function(t,e){for(var n,r,i,o,a=this.halfedges,s=a.length;s--;){if(r=(n=a[s]).getStartpoint(),i=n.getEndpoint(),!(o=(e-r.y)*(i.x-r.x)-(t-r.x)*(i.y-r.y)))return 0;if(o>0)return-1}return 1},n.prototype.Vertex=function(t,e){this.x=t,this.y=e},n.prototype.Edge=function(t,e){this.lSite=t,this.rSite=e,this.va=this.vb=null},n.prototype.Halfedge=function(t,e,n){if(this.site=e,this.edge=t,n)this.angle=Math.atan2(n.y-e.y,n.x-e.x);else{var r=t.va,i=t.vb;this.angle=t.lSite===e?Math.atan2(i.x-r.x,r.y-i.y):Math.atan2(r.x-i.x,i.y-r.y)}},n.prototype.createHalfedge=function(t,e,n){return new this.Halfedge(t,e,n)},n.prototype.Halfedge.prototype.getStartpoint=function(){return this.edge.lSite===this.site?this.edge.va:this.edge.vb},n.prototype.Halfedge.prototype.getEndpoint=function(){return this.edge.lSite===this.site?this.edge.vb:this.edge.va},n.prototype.createVertex=function(t,e){var n=this.vertexJunkyard.pop();return n?(n.x=t,n.y=e):n=new this.Vertex(t,e),this.vertices.push(n),n},n.prototype.createEdge=function(t,e,n,r){var i=this.edgeJunkyard.pop();return i?(i.lSite=t,i.rSite=e,i.va=i.vb=null):i=new this.Edge(t,e),this.edges.push(i),n&&this.setEdgeStartpoint(i,t,e,n),r&&this.setEdgeEndpoint(i,t,e,r),this.cells[t.voronoiId].halfedges.push(this.createHalfedge(i,t,e)),this.cells[e.voronoiId].halfedges.push(this.createHalfedge(i,e,t)),i},n.prototype.createBorderEdge=function(t,e,n){var r=this.edgeJunkyard.pop();return r?(r.lSite=t,r.rSite=null):r=new this.Edge(t,null),r.va=e,r.vb=n,this.edges.push(r),r},n.prototype.setEdgeStartpoint=function(t,e,n,r){t.va||t.vb?t.lSite===n?t.vb=r:t.va=r:(t.va=r,t.lSite=e,t.rSite=n)},n.prototype.setEdgeEndpoint=function(t,e,n,r){this.setEdgeStartpoint(t,n,e,r)},n.prototype.Beachsection=function(){},n.prototype.createBeachsection=function(t){var e=this.beachsectionJunkyard.pop();return e||(e=new this.Beachsection),e.site=t,e},n.prototype.leftBreakPoint=function(t,e){var n=t.site,r=n.x,i=n.y,o=i-e;if(!o)return r;var a=t.rbPrevious;if(!a)return-1/0;var s=(n=a.site).x,c=n.y,u=c-e;if(!u)return s;var l=s-r,h=1/o-1/u,f=l/u;return h?(-f+this.sqrt(f*f-2*h*(l*l/(-2*u)-c+u/2+i-o/2)))/h+r:(r+s)/2},n.prototype.rightBreakPoint=function(t,e){var n=t.rbNext;if(n)return this.leftBreakPoint(n,e);var r=t.site;return r.y===e?r.x:1/0},n.prototype.detachBeachsection=function(t){this.detachCircleEvent(t),this.beachline.rbRemoveNode(t),this.beachsectionJunkyard.push(t)},n.prototype.removeBeachsection=function(t){var e=t.circleEvent,n=e.x,r=e.ycenter,i=this.createVertex(n,r),o=t.rbPrevious,a=t.rbNext,s=[t],c=Math.abs;this.detachBeachsection(t);for(var u=o;u.circleEvent&&c(n-u.circleEvent.x)<1e-9&&c(r-u.circleEvent.ycenter)<1e-9;)o=u.rbPrevious,s.unshift(u),this.detachBeachsection(u),u=o;s.unshift(u),this.detachCircleEvent(u);for(var l=a;l.circleEvent&&c(n-l.circleEvent.x)<1e-9&&c(r-l.circleEvent.ycenter)<1e-9;)a=l.rbNext,s.push(l),this.detachBeachsection(l),l=a;s.push(l),this.detachCircleEvent(l);var h,f=s.length;for(h=1;h1e-9)s=s.rbLeft;else{if(!((i=o-this.rightBreakPoint(s,a))>1e-9)){r>-1e-9?(e=s.rbPrevious,n=s):i>-1e-9?(e=s,n=s.rbNext):e=n=s;break}if(!s.rbRight){e=s;break}s=s.rbRight}var c=this.createBeachsection(t);if(this.beachline.rbInsertSuccessor(e,c),e||n){if(e===n)return this.detachCircleEvent(e),n=this.createBeachsection(e.site),this.beachline.rbInsertSuccessor(c,n),c.edge=n.edge=this.createEdge(e.site,c.site),this.attachCircleEvent(e),void this.attachCircleEvent(n);if(!e||n){if(e!==n){this.detachCircleEvent(e),this.detachCircleEvent(n);var u=e.site,l=u.x,h=u.y,f=t.x-l,d=t.y-h,p=n.site,g=p.x-l,v=p.y-h,b=2*(f*v-d*g),y=f*f+d*d,m=g*g+v*v,w=this.createVertex((v*y-d*m)/b+l,(f*m-g*y)/b+h);return this.setEdgeStartpoint(n.edge,u,p,w),c.edge=this.createEdge(u,t,void 0,w),n.edge=this.createEdge(t,p,void 0,w),this.attachCircleEvent(e),void this.attachCircleEvent(n)}}else c.edge=this.createEdge(e.site,c.site)}},n.prototype.CircleEvent=function(){this.arc=null,this.rbLeft=null,this.rbNext=null,this.rbParent=null,this.rbPrevious=null,this.rbRed=!1,this.rbRight=null,this.site=null,this.x=this.y=this.ycenter=0},n.prototype.attachCircleEvent=function(t){var e=t.rbPrevious,n=t.rbNext;if(e&&n){var r=e.site,i=t.site,o=n.site;if(r!==o){var a=i.x,s=i.y,c=r.x-a,u=r.y-s,l=o.x-a,h=o.y-s,f=2*(c*h-u*l);if(!(f>=-2e-12)){var d=c*c+u*u,p=l*l+h*h,g=(h*d-u*p)/f,v=(c*p-l*d)/f,b=v+s,y=this.circleEventJunkyard.pop();y||(y=new this.CircleEvent),y.arc=t,y.site=i,y.x=g+a,y.y=b+this.sqrt(g*g+v*v),y.ycenter=b,t.circleEvent=y;for(var m=null,w=this.circleEvents.root;w;)if(y.y=s)return!1;if(f>p){if(!o||o.y=u)return!1;n=this.createVertex(v,u)}else{if(!o||o.y>u)o=this.createVertex(v,u);else if(o.y1)if(f>p){if(!o||o.y=u)return!1;n=this.createVertex((u-i)/r,u)}else{if(!o||o.y>u)o=this.createVertex((u-i)/r,u);else if(o.y=s)return!1;n=this.createVertex(s,r*s+i)}else{if(!o||o.x>s)o=this.createVertex(s,r*s+i);else if(o.x0){if(u>o)return!1;u>i&&(i=u)}if(c=e.xr-n,0===a&&c<0)return!1;if(u=c/a,a<0){if(u>o)return!1;u>i&&(i=u)}else if(a>0){if(u0){if(u>o)return!1;u>i&&(i=u)}if(c=e.yb-r,0===s&&c<0)return!1;if(u=c/s,s<0){if(u>o)return!1;u>i&&(i=u)}else if(s>0){if(u0&&(t.va=this.createVertex(n+i*a,r+i*s)),o<1&&(t.vb=this.createVertex(n+o*a,r+o*s)),(i>0||o<1)&&(this.cells[t.lSite.voronoiId].closeMe=!0,this.cells[t.rSite.voronoiId].closeMe=!0),!0},n.prototype.clipEdges=function(t){for(var e,n=this.edges,r=n.length,i=Math.abs;r--;)e=n[r],(!this.connectEdge(e,t)||!this.clipEdge(e,t)||i(e.va.x-e.vb.x)<1e-9&&i(e.va.y-e.vb.y)<1e-9)&&(e.va=e.vb=null,n.splice(r,1))},n.prototype.closeCells=function(t){for(var e,n,r,i,o,a,s,c,u,l=t.xl,h=t.xr,f=t.yt,d=t.yb,p=this.cells,g=p.length,v=Math.abs;g--;)if((e=p[g]).prepareHalfedges()&&e.closeMe){for(i=(r=e.halfedges).length,n=0;n=1e-9||v(a.y-c.y)>=1e-9)switch(!0){case this.equalWithEpsilon(a.x,l)&&this.lessThanWithEpsilon(a.y,d):if(u=this.equalWithEpsilon(c.x,l),s=this.createVertex(l,u?c.y:d),o=this.createBorderEdge(e.site,a,s),n++,r.splice(n,0,this.createHalfedge(o,e.site,null)),i++,u)break;a=s;case this.equalWithEpsilon(a.y,d)&&this.lessThanWithEpsilon(a.x,h):if(u=this.equalWithEpsilon(c.y,d),s=this.createVertex(u?c.x:h,d),o=this.createBorderEdge(e.site,a,s),n++,r.splice(n,0,this.createHalfedge(o,e.site,null)),i++,u)break;a=s;case this.equalWithEpsilon(a.x,h)&&this.greaterThanWithEpsilon(a.y,f):if(u=this.equalWithEpsilon(c.x,h),s=this.createVertex(h,u?c.y:f),o=this.createBorderEdge(e.site,a,s),n++,r.splice(n,0,this.createHalfedge(o,e.site,null)),i++,u)break;a=s;case this.equalWithEpsilon(a.y,f)&&this.greaterThanWithEpsilon(a.x,l):if(u=this.equalWithEpsilon(c.y,f),s=this.createVertex(u?c.x:l,f),o=this.createBorderEdge(e.site,a,s),n++,r.splice(n,0,this.createHalfedge(o,e.site,null)),i++,u)break;if(a=s,u=this.equalWithEpsilon(c.x,l),s=this.createVertex(l,u?c.y:d),o=this.createBorderEdge(e.site,a,s),n++,r.splice(n,0,this.createHalfedge(o,e.site,null)),i++,u)break;if(a=s,u=this.equalWithEpsilon(c.y,d),s=this.createVertex(u?c.x:h,d),o=this.createBorderEdge(e.site,a,s),n++,r.splice(n,0,this.createHalfedge(o,e.site,null)),i++,u)break;if(a=s,u=this.equalWithEpsilon(c.x,h),s=this.createVertex(h,u?c.y:f),o=this.createBorderEdge(e.site,a,s),n++,r.splice(n,0,this.createHalfedge(o,e.site,null)),i++,u)break;default:throw"Voronoi.closeCells() > this makes no sense!"}n++}e.closeMe=!1}},n.prototype.quantizeSites=function(t){for(var e,n=this.ε,r=t.length;r--;)(e=t[r]).x=Math.floor(e.x/n)*n,e.y=Math.floor(e.y/n)*n},n.prototype.recycle=function(t){if(t){if(!(t instanceof this.Diagram))throw"Voronoi.recycleDiagram() > Need a Diagram object.";this.toRecycle=t}},n.prototype.compute=function(t,e){var n=new Date;this.reset(),this.toRecycle&&(this.vertexJunkyard=this.vertexJunkyard.concat(this.toRecycle.vertices),this.edgeJunkyard=this.edgeJunkyard.concat(this.toRecycle.edges),this.cellJunkyard=this.cellJunkyard.concat(this.toRecycle.cells),this.toRecycle=null);var r=t.slice(0);r.sort((function(t,e){return e.y-t.y||e.x-t.x}));for(var i,o,a,s=r.pop(),c=0,u=this.cells;;)if(a=this.firstCircleEvent,s&&(!a||s.y{window,t.exports=function(t){var e={};function n(r){if(e[r])return e[r].exports;var i=e[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)n.d(r,i,function(e){return t[e]}.bind(null,i));return r},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=0)}([function(t,e,n){"use strict";var r=n(1),i=function(t){t&&t("core","svg",r.svg)};"undefined"!=typeof cytoscape&&i(cytoscape),t.exports=i},function(t,e,n){"use strict";var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i=n(2),o={},a=function(t){return null!=t&&(void 0===t?"undefined":r(t))===r(1)&&!isNaN(t)};o.bufferCanvasImage=function(t,e){var n=e.renderer().usePaths;e.renderer().usePaths=function(){return!1},e.elements().forEach((function(t){t._private.rscratch.pathCacheKey=null,t._private.rscratch.pathCache=null}));var r=e.renderer(),o=e.mutableElements().boundingBox(),s=r.findContainerClientCoords(),c=t.full?Math.ceil(o.w):s[2],u=t.full?Math.ceil(o.h):s[3],l=a(t.maxWidth)||a(t.maxHeight),h=r.getPixelRatio(),f=1;if(void 0!==t.scale)c*=t.scale,u*=t.scale,f=t.scale;else if(l){var d=1/0,p=1/0;a(t.maxWidth)&&(d=f*t.maxWidth/c),a(t.maxHeight)&&(p=f*t.maxHeight/u),c*=f=Math.min(d,p),u*=f}l||(c*=h,u*=h,f*=h);var g=null,v=g=new i(c,u);if(c>0&&u>0){g.clearRect(0,0,c,u),t.bg&&(g.globalCompositeOperation="destination-over",g.fillStyle=t.bg,g.fillRect(0,0,c,u)),g.globalCompositeOperation="source-over";var b=r.getCachedZSortedEles();if(t.full)g.translate(-o.x1*f,-o.y1*f),g.scale(f,f),r.drawElements(g,b),g.scale(1/f,1/f),g.translate(o.x1*f,o.y1*f);else{var y=e.pan(),m={x:y.x*f,y:y.y*f};f*=e.zoom(),g.translate(m.x,m.y),g.scale(f,f),r.drawElements(g,b),g.scale(1/f,1/f),g.translate(-m.x,-m.y)}}return e.renderer().usePaths=n,v},o.svg=function(t){return o.bufferCanvasImage(t||{},this).getSerializedSvg()},t.exports=o},function(t,e,n){!function(){"use strict";var e,n,r,i,o;function a(t,e){var n,r=Object.keys(e);for(n=0;n1?((e=r).width=arguments[0],e.height=arguments[1]):e=t||r,!(this instanceof n))return new n(e);this.width=e.width||r.width,this.height=e.height||r.height,this.enableMirroring=void 0!==e.enableMirroring?e.enableMirroring:r.enableMirroring,this.canvas=this,this.__document=e.document||document,e.ctx?this.__ctx=e.ctx:(this.__canvas=this.__document.createElement("canvas"),this.__ctx=this.__canvas.getContext("2d")),this.__setDefaultStyles(),this.__stack=[this.__getStyleState()],this.__groupStack=[],this.__root=this.__document.createElementNS("http://www.w3.org/2000/svg","svg"),this.__root.setAttribute("version",1.1),this.__root.setAttribute("xmlns","http://www.w3.org/2000/svg"),this.__root.setAttributeNS("http://www.w3.org/2000/xmlns/","xmlns:xlink","http://www.w3.org/1999/xlink"),this.__root.setAttribute("width",this.width),this.__root.setAttribute("height",this.height),this.__ids={},this.__defs=this.__document.createElementNS("http://www.w3.org/2000/svg","defs"),this.__root.appendChild(this.__defs),this.__currentElement=this.__document.createElementNS("http://www.w3.org/2000/svg","g"),this.__root.appendChild(this.__currentElement)}).prototype.__createElement=function(t,e,n){void 0===e&&(e={});var r,i,o=this.__document.createElementNS("http://www.w3.org/2000/svg",t),a=Object.keys(e);for(n&&(o.setAttribute("fill","none"),o.setAttribute("stroke","none")),r=0;r0){"path"===this.__currentElement.nodeName&&(this.__currentElementsToStyle||(this.__currentElementsToStyle={element:e,children:[]}),this.__currentElementsToStyle.children.push(this.__currentElement),this.__applyCurrentDefaultPath());var n=this.__createElement("g");e.appendChild(n),this.__currentElement=n}var r=this.__currentElement.getAttribute("transform");r?r+=" ":r="",r+=t,this.__currentElement.setAttribute("transform",r)},n.prototype.scale=function(t,e){void 0===e&&(e=t),this.__addTransform(a("scale({x},{y})",{x:t,y:e}))},n.prototype.rotate=function(t){var e=180*t/Math.PI;this.__addTransform(a("rotate({angle},{cx},{cy})",{angle:e,cx:0,cy:0}))},n.prototype.translate=function(t,e){this.__addTransform(a("translate({x},{y})",{x:t,y:e}))},n.prototype.transform=function(t,e,n,r,i,o){this.__addTransform(a("matrix({a},{b},{c},{d},{e},{f})",{a:t,b:e,c:n,d:r,e:i,f:o}))},n.prototype.beginPath=function(){var t;this.__currentDefaultPath="",this.__currentPosition={},t=this.__createElement("path",{},!0),this.__closestGroupOrSvg().appendChild(t),this.__currentElement=t},n.prototype.__applyCurrentDefaultPath=function(){var t=this.__currentElement;"path"===t.nodeName?t.setAttribute("d",this.__currentDefaultPath):console.error("Attempted to apply path command to node",t.nodeName)},n.prototype.__addPathCommand=function(t){this.__currentDefaultPath+=" ",this.__currentDefaultPath+=t},n.prototype.moveTo=function(t,e){"path"!==this.__currentElement.nodeName&&this.beginPath(),this.__currentPosition={x:t,y:e},this.__addPathCommand(a("M {x} {y}",{x:t,y:e}))},n.prototype.closePath=function(){this.__currentDefaultPath&&this.__addPathCommand("Z")},n.prototype.lineTo=function(t,e){this.__currentPosition={x:t,y:e},this.__currentDefaultPath.indexOf("M")>-1?this.__addPathCommand(a("L {x} {y}",{x:t,y:e})):this.__addPathCommand(a("M {x} {y}",{x:t,y:e}))},n.prototype.bezierCurveTo=function(t,e,n,r,i,o){this.__currentPosition={x:i,y:o},this.__addPathCommand(a("C {cp1x} {cp1y} {cp2x} {cp2y} {x} {y}",{cp1x:t,cp1y:e,cp2x:n,cp2y:r,x:i,y:o}))},n.prototype.quadraticCurveTo=function(t,e,n,r){this.__currentPosition={x:n,y:r},this.__addPathCommand(a("Q {cpx} {cpy} {x} {y}",{cpx:t,cpy:e,x:n,y:r}))};var u=function(t){var e=Math.sqrt(t[0]*t[0]+t[1]*t[1]);return[t[0]/e,t[1]/e]};n.prototype.arcTo=function(t,e,n,r,i){var o=this.__currentPosition&&this.__currentPosition.x,a=this.__currentPosition&&this.__currentPosition.y;if(void 0!==o&&void 0!==a){if(i<0)throw new Error("IndexSizeError: The radius provided ("+i+") is negative.");if(o===t&&a===e||t===n&&e===r||0===i)this.lineTo(t,e);else{var s=u([o-t,a-e]),c=u([n-t,r-e]);if(s[0]*c[1]!=s[1]*c[0]){var l=s[0]*c[0]+s[1]*c[1],h=Math.acos(Math.abs(l)),f=u([s[0]+c[0],s[1]+c[1]]),d=i/Math.sin(h/2),p=t+d*f[0],g=e+d*f[1],v=[-s[1],s[0]],b=[c[1],-c[0]],y=function(t){var e=t[0];return t[1]>=0?Math.acos(e):-Math.acos(e)},m=y(v),w=y(b);this.lineTo(p+v[0]*i,g+v[1]*i),this.arc(p,g,i,m,w)}else this.lineTo(t,e)}}},n.prototype.stroke=function(){"path"===this.__currentElement.nodeName&&this.__currentElement.setAttribute("paint-order","fill stroke markers"),this.__applyCurrentDefaultPath(),this.__applyStyleToCurrentElement("stroke")},n.prototype.fill=function(){"path"===this.__currentElement.nodeName&&this.__currentElement.setAttribute("paint-order","stroke fill markers"),this.__applyCurrentDefaultPath(),this.__applyStyleToCurrentElement("fill")},n.prototype.rect=function(t,e,n,r){"path"!==this.__currentElement.nodeName&&this.beginPath(),this.moveTo(t,e),this.lineTo(t+n,e),this.lineTo(t+n,e+r),this.lineTo(t,e+r),this.lineTo(t,e),this.closePath()},n.prototype.fillRect=function(t,e,n,r){var i;i=this.__createElement("rect",{x:t,y:e,width:n,height:r},!0),this.__closestGroupOrSvg().appendChild(i),this.__currentElement=i,this.__applyStyleToCurrentElement("fill")},n.prototype.strokeRect=function(t,e,n,r){var i;i=this.__createElement("rect",{x:t,y:e,width:n,height:r},!0),this.__closestGroupOrSvg().appendChild(i),this.__currentElement=i,this.__applyStyleToCurrentElement("stroke")},n.prototype.__clearCanvas=function(){for(var t=this.__closestGroupOrSvg().getAttribute("transform"),e=this.__root.childNodes[1],n=e.childNodes,r=n.length-1;r>=0;r--)n[r]&&e.removeChild(n[r]);this.__currentElement=e,this.__groupStack=[],t&&this.__addTransform(t)},n.prototype.clearRect=function(t,e,n,r){if(0!==t||0!==e||n!==this.width||r!==this.height){var i,o=this.__closestGroupOrSvg();i=this.__createElement("rect",{x:t,y:e,width:n,height:r,fill:"#FFFFFF"},!0),o.appendChild(i)}else this.__clearCanvas()},n.prototype.createLinearGradient=function(t,e,n,i){var o=this.__createElement("linearGradient",{id:s(this.__ids),x1:t+"px",x2:n+"px",y1:e+"px",y2:i+"px",gradientUnits:"userSpaceOnUse"},!1);return this.__defs.appendChild(o),new r(o,this)},n.prototype.createRadialGradient=function(t,e,n,i,o,a){var c=this.__createElement("radialGradient",{id:s(this.__ids),cx:i+"px",cy:o+"px",r:a+"px",fx:t+"px",fy:e+"px",gradientUnits:"userSpaceOnUse"},!1);return this.__defs.appendChild(c),new r(c,this)},n.prototype.__parseFont=function(){var t=/^\s*(?=(?:(?:[-a-z]+\s*){0,2}(italic|oblique))?)(?=(?:(?:[-a-z]+\s*){0,2}(small-caps))?)(?=(?:(?:[-a-z]+\s*){0,2}(bold(?:er)?|lighter|[1-9]00))?)(?:(?:normal|\1|\2|\3)\s*){0,3}((?:xx?-)?(?:small|large)|medium|smaller|larger|[.\d]+(?:\%|in|[cem]m|ex|p[ctx]))(?:\s*\/\s*(normal|[.\d]+(?:\%|in|[cem]m|ex|p[ctx])))?\s*([-,\'\"\sa-z0-9]+?)\s*$/i.exec(this.font),e={style:t[1]||"normal",size:t[4]||"10px",family:t[6]||"sans-serif",weight:t[3]||"normal",decoration:t[2]||"normal",href:null};return"underline"===this.__fontUnderline&&(e.decoration="underline"),this.__fontHref&&(e.href=this.__fontHref),e},n.prototype.__wrapTextLink=function(t,e){if(t.href){var n=this.__createElement("a");return n.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",t.href),n.appendChild(e),n}return e},n.prototype.__applyText=function(t,e,n,r){var i,o,a=this.__parseFont(),s=this.__closestGroupOrSvg(),u=this.__createElement("text",{"font-family":a.family,"font-size":a.size,"font-style":a.style,"font-weight":a.weight,"text-decoration":a.decoration,x:e,y:n,"text-anchor":(i=this.textAlign,o={left:"start",right:"end",center:"middle",start:"start",end:"end"},o[i]||o.start),"dominant-baseline":c(this.textBaseline)},!0);u.appendChild(this.__document.createTextNode(t)),this.__currentElement=u,this.__applyStyleToCurrentElement(r),s.appendChild(this.__wrapTextLink(a,u))},n.prototype.fillText=function(t,e,n){this.__applyText(t,e,n,"fill")},n.prototype.strokeText=function(t,e,n){this.__applyText(t,e,n,"stroke")},n.prototype.measureText=function(t){return this.__ctx.font=this.font,this.__ctx.measureText(t)},n.prototype.arc=function(t,e,n,r,i,o){if(r!==i){(r%=2*Math.PI)==(i%=2*Math.PI)&&(i=(i+2*Math.PI-.001*(o?-1:1))%(2*Math.PI));var s,c=t+n*Math.cos(i),u=e+n*Math.sin(i),l=t+n*Math.cos(r),h=e+n*Math.sin(r),f=o?0:1,d=i-r;d<0&&(d+=2*Math.PI),s=o?d>Math.PI?0:1:d>Math.PI?1:0,this.lineTo(l,h),this.__addPathCommand(a("A {rx} {ry} {xAxisRotation} {largeArcFlag} {sweepFlag} {endX} {endY}",{rx:n,ry:n,xAxisRotation:0,largeArcFlag:s,sweepFlag:f,endX:c,endY:u})),this.__currentPosition={x:c,y:u}}},n.prototype.clip=function(){var t=this.__closestGroupOrSvg(),e=this.__createElement("clipPath"),n=s(this.__ids),r=this.__createElement("g");this.__applyCurrentDefaultPath(),t.removeChild(this.__currentElement),e.setAttribute("id",n),e.appendChild(this.__currentElement),this.__defs.appendChild(e),t.setAttribute("clip-path",a("url(#{id})",{id:n})),t.appendChild(r),this.__currentElement=r},n.prototype.drawImage=function(){var t,e,r,i,o,a,s,c,u,l,h,f,d,p=Array.prototype.slice.call(arguments),g=p[0],v=0,b=0;if(3===p.length)t=p[1],e=p[2],r=o=g.width,i=a=g.height;else if(5===p.length)t=p[1],e=p[2],r=p[3],i=p[4],o=g.width,a=g.height;else{if(9!==p.length)throw new Error("Inavlid number of arguments passed to drawImage: "+arguments.length);v=p[1],b=p[2],o=p[3],a=p[4],t=p[5],e=p[6],r=p[7],i=p[8]}s=this.__closestGroupOrSvg(),this.__currentElement;var y="translate("+t+", "+e+")";if(g instanceof n){if((c=g.getSvg().cloneNode(!0)).childNodes&&c.childNodes.length>1){for(u=c.childNodes[0];u.childNodes.length;)d=u.childNodes[0].getAttribute("id"),this.__ids[d]=d,this.__defs.appendChild(u.childNodes[0]);if(l=c.childNodes[1]){var m,w=l.getAttribute("transform");m=w?w+" "+y:y,l.setAttribute("transform",m),s.appendChild(l)}}}else"CANVAS"!==g.nodeName&&"IMG"!==g.nodeName||((h=this.__createElement("image")).setAttribute("width",r),h.setAttribute("height",i),h.setAttribute("opacity",this.globalAlpha),h.setAttribute("preserveAspectRatio","none"),(f=this.__document.createElement("canvas")).width=r,f.height=i,f.getContext("2d").drawImage(g,v,b,o,a,0,0,r,i),g=f,h.setAttribute("transform",y),h.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href","CANVAS"===g.nodeName?g.toDataURL():g.getAttribute("src")),s.appendChild(h))},n.prototype.createPattern=function(t,e){var r,o=this.__document.createElementNS("http://www.w3.org/2000/svg","pattern"),a=s(this.__ids);return o.setAttribute("id",a),o.setAttribute("width",t.width),o.setAttribute("height",t.height),"CANVAS"===t.nodeName||"IMG"===t.nodeName?((r=this.__document.createElementNS("http://www.w3.org/2000/svg","image")).setAttribute("width",t.width),r.setAttribute("height",t.height),r.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href","CANVAS"===t.nodeName?t.toDataURL():t.getAttribute("src")),o.appendChild(r),this.__defs.appendChild(o)):t instanceof n&&(o.appendChild(t.__root.childNodes[1]),this.__defs.appendChild(o)),new i(o,this)},n.prototype.setLineDash=function(t){t&&t.length>0?this.lineDash=t.join(","):this.lineDash=null},n.prototype.drawFocusRing=function(){},n.prototype.createImageData=function(){},n.prototype.getImageData=function(){},n.prototype.putImageData=function(){},n.prototype.globalCompositeOperation=function(){},n.prototype.setTransform=function(){},"object"==typeof window&&(window.C2S=n),"object"==typeof t.exports&&(t.exports=n)}()}])},9058:(t,e,n)=>{"use strict";var r=n(3279),i=n(4485),o=n(7361),a=n(6968),s=n(84);function c(t){return t&&"object"==typeof t&&"default"in t?t:{default:t}}var u=c(r),l=c(i),h=c(o),f=c(a),d=c(s);function p(t){return p="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},p(t)}function g(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function v(t,e){for(var n=0;nt.length)&&(e=t.length);for(var n=0,r=new Array(e);ne?1:0},Q=null!=Object.assign?Object.assign.bind(Object):function(t){for(var e=arguments,n=1;n1&&void 0!==arguments[1]?arguments[1]:st;!(e=t.next()).done;)n=65599*n+e.value|0;return n},lt=function(t){return 65599*(arguments.length>1&&void 0!==arguments[1]?arguments[1]:st)+t|0},ht=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:ct;return(e<<5)+e+t|0},ft=function(t){return 2097152*t[0]+t[1]},dt=function(t,e){return[lt(t[0],e[0]),ht(t[1],e[1])]},pt=function(t,e){var n={value:0,done:!1},r=0,i=t.length;return ut({next:function(){return r=0&&(t[r]!==e||(t.splice(r,1),!n));r--);},Pt=function(t){t.splice(0,t.length)},Dt=function(t,e,n){return n&&(e=U(n,e)),t[e]},Rt=function(t,e,n,r){n&&(e=U(n,e)),t[e]=r},jt="undefined"!=typeof Map?Map:function(){function t(){g(this,t),this._obj={}}return b(t,[{key:"set",value:function(t,e){return this._obj[t]=e,this}},{key:"delete",value:function(t){return this._obj[t]=void 0,this}},{key:"clear",value:function(){this._obj={}}},{key:"has",value:function(t){return void 0!==this._obj[t]}},{key:"get",value:function(t){return this._obj[t]}}]),t}(),Gt=function(){function t(e){if(g(this,t),this._obj=Object.create(null),this.size=0,null!=e){var n;n=null!=e.instanceString&&e.instanceString()===this.instanceString()?e.toArray():e;for(var r=0;r2&&void 0!==arguments[2])||arguments[2];if(void 0!==t&&void 0!==e&&j(t)){var r=e.group;if(null==r&&(r=e.data&&null!=e.data.source&&null!=e.data.target?"edges":"nodes"),"nodes"===r||"edges"===r){this.length=1,this[0]=this;var i=this._private={cy:t,single:!0,data:e.data||{},position:e.position||{x:0,y:0},autoWidth:void 0,autoHeight:void 0,autoPadding:void 0,compoundBoundsClean:!1,listeners:[],group:r,style:{},rstyle:{},styleCxts:[],styleKeys:{},removed:!0,selected:!!e.selected,selectable:void 0===e.selectable||!!e.selectable,locked:!!e.locked,grabbed:!1,grabbable:void 0===e.grabbable||!!e.grabbable,pannable:void 0===e.pannable?"edges"===r:!!e.pannable,active:!1,classes:new Bt,animation:{current:[],queue:[]},rscratch:{},scratch:e.scratch||{},edges:[],children:[],parent:e.parent&&e.parent.isNode()?e.parent:null,traversalCache:{},backgrounding:!1,bbCache:null,bbCacheShift:{x:0,y:0},bodyBounds:null,overlayBounds:null,labelBounds:{all:null,source:null,target:null,main:null},arrowBounds:{source:null,target:null,"mid-source":null,"mid-target":null}};if(null==i.position.x&&(i.position.x=0),null==i.position.y&&(i.position.y=0),e.renderedPosition){var o=e.renderedPosition,a=t.pan(),s=t.zoom();i.position={x:(o.x-a.x)/s,y:(o.y-a.y)/s}}var c=[];O(e.classes)?c=e.classes:A(e.classes)&&(c=e.classes.split(/\s+/));for(var u=0,l=c.length;u0;){var _=y.pop(),E=v(_),k=_.id();if(f[k]=E,E!==1/0)for(var T=_.neighborhood().intersect(p),C=0;C0)for(n.unshift(e);h[i];){var o=h[i];n.unshift(o.edge),n.unshift(o.node),i=(r=o.node).id()}return a.spawn(n)}}}},Vt={kruskal:function(t){t=t||function(t){return 1};for(var e=this.byGroup(),n=e.nodes,r=e.edges,i=n.length,o=new Array(i),a=n,s=function(t){for(var e=0;e0;){if(u=(c=v.pop()).id(),b.delete(u),_++,u===f){for(var E=[],k=i,T=f,C=m[T];E.unshift(k),null!=C&&E.unshift(C),null!=(k=y[T]);)C=m[T=k.id()];return{found:!0,distance:d[u],path:this.spawn(E),steps:_}}g[u]=!0;for(var N=c._private.edges,A=0;AC&&(d[T]=C,b[T]=k,y[T]=w),!i){var N=k*u+E;!i&&d[N]>C&&(d[N]=C,b[N]=E,y[N]=w)}}}for(var S=0;S1&&void 0!==arguments[1]?arguments[1]:o,r=[],i=y(t);;){if(null==i)return e.spawn();var a=b(i),c=a.edge,u=a.pred;if(r.unshift(i[0]),i.same(n)&&r.length>0)break;null!=c&&r.unshift(c),i=u}return s.spawn(r)},hasNegativeWeightCycle:p,negativeWeightCycles:g}}},Qt=Math.sqrt(2),Jt=function(t,e,n){0===n.length&&Tt("Karger-Stein must be run on a connected (sub)graph");for(var r=n[t],i=r[1],o=r[2],a=e[i],s=e[o],c=n,u=c.length-1;u>=0;u--){var l=c[u],h=l[1],f=l[2];(e[h]===a&&e[f]===s||e[h]===s&&e[f]===a)&&c.splice(u,1)}for(var d=0;dr;){var i=Math.floor(Math.random()*e.length);e=Jt(i,t,e),n--}return e},ee={kargerStein:function(){var t=this,e=this.byGroup(),n=e.nodes,r=e.edges;r.unmergeBy((function(t){return t.isLoop()}));var i=n.length,o=r.length,a=Math.ceil(Math.pow(Math.log(i)/Math.LN2,2)),s=Math.floor(i/Qt);if(!(i<2)){for(var c=[],u=0;u0?1:t<0?-1:0},ce=function(t,e){return Math.sqrt(ue(t,e))},ue=function(t,e){var n=e.x-t.x,r=e.y-t.y;return n*n+r*r},le=function(t){for(var e=t.length,n=0,r=0;r=t.x1&&t.y2>=t.y1)return{x1:t.x1,y1:t.y1,x2:t.x2,y2:t.y2,w:t.x2-t.x1,h:t.y2-t.y1};if(null!=t.w&&null!=t.h&&t.w>=0&&t.h>=0)return{x1:t.x1,y1:t.y1,x2:t.x1+t.w,y2:t.y1+t.h,w:t.w,h:t.h}}},ge=function(t,e){t.x1=Math.min(t.x1,e.x1),t.x2=Math.max(t.x2,e.x2),t.w=t.x2-t.x1,t.y1=Math.min(t.y1,e.y1),t.y2=Math.max(t.y2,e.y2),t.h=t.y2-t.y1},ve=function(t,e,n){t.x1=Math.min(t.x1,e),t.x2=Math.max(t.x2,e),t.w=t.x2-t.x1,t.y1=Math.min(t.y1,n),t.y2=Math.max(t.y2,n),t.h=t.y2-t.y1},be=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return t.x1-=e,t.x2+=e,t.y1-=e,t.y2+=e,t.w=t.x2-t.x1,t.h=t.y2-t.y1,t},ye=function(t){var e,n,r,i,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[0];if(1===o.length)e=n=r=i=o[0];else if(2===o.length)e=r=o[0],i=n=o[1];else if(4===o.length){var a=m(o,4);e=a[0],n=a[1],r=a[2],i=a[3]}return t.x1-=i,t.x2+=n,t.y1-=e,t.y2+=r,t.w=t.x2-t.x1,t.h=t.y2-t.y1,t},me=function(t,e){t.x1=e.x1,t.y1=e.y1,t.x2=e.x2,t.y2=e.y2,t.w=t.x2-t.x1,t.h=t.y2-t.y1},we=function(t,e){return!(t.x1>e.x2||e.x1>t.x2||t.x2e.y2||e.y1>t.y2)},xe=function(t,e,n){return t.x1<=e&&e<=t.x2&&t.y1<=n&&n<=t.y2},_e=function(t,e){return xe(t,e.x1,e.y1)&&xe(t,e.x2,e.y2)},Ee=function(t,e,n,r,i,o,a){var s,c=He(i,o),u=i/2,l=o/2,h=r-l-a;if((s=De(t,e,n,r,n-u+c-a,h,n+u-c+a,h,!1)).length>0)return s;var f=n+u+a;if((s=De(t,e,n,r,f,r-l+c-a,f,r+l-c+a,!1)).length>0)return s;var d=r+l+a;if((s=De(t,e,n,r,n-u+c-a,d,n+u-c+a,d,!1)).length>0)return s;var p,g=n-u-a;if((s=De(t,e,n,r,g,r-l+c-a,g,r+l-c+a,!1)).length>0)return s;var v=n-u+c,b=r-l+c;if((p=Me(t,e,n,r,v,b,c+a)).length>0&&p[0]<=v&&p[1]<=b)return[p[0],p[1]];var y=n+u-c,m=r-l+c;if((p=Me(t,e,n,r,y,m,c+a)).length>0&&p[0]>=y&&p[1]<=m)return[p[0],p[1]];var w=n+u-c,x=r+l-c;if((p=Me(t,e,n,r,w,x,c+a)).length>0&&p[0]>=w&&p[1]>=x)return[p[0],p[1]];var _=n-u+c,E=r+l-c;return(p=Me(t,e,n,r,_,E,c+a)).length>0&&p[0]<=_&&p[1]>=E?[p[0],p[1]]:[]},ke=function(t,e,n,r,i,o,a){var s=a,c=Math.min(n,i),u=Math.max(n,i),l=Math.min(r,o),h=Math.max(r,o);return c-s<=t&&t<=u+s&&l-s<=e&&e<=h+s},Te=function(t,e,n,r,i,o,a,s,c){var u=Math.min(n,a,i)-c,l=Math.max(n,a,i)+c,h=Math.min(r,s,o)-c,f=Math.max(r,s,o)+c;return!(tl||ef)},Ce=function(t,e,n,r,i,o,a,s){var c,u,l,h,f,d,p,g,v,b,y,m,w,x=[];u=9*n*i-3*n*n-3*n*a-6*i*i+3*i*a+9*r*o-3*r*r-3*r*s-6*o*o+3*o*s,l=3*n*n-6*n*i+n*a-n*t+2*i*i+2*i*t-a*t+3*r*r-6*r*o+r*s-r*e+2*o*o+2*o*e-s*e,h=1*n*i-n*n+n*t-i*t+r*o-r*r+r*e-o*e,0===(c=1*n*n-4*n*i+2*n*a+4*i*i-4*i*a+a*a+r*r-4*r*o+2*r*s+4*o*o-4*o*s+s*s)&&(c=1e-5),g=-27*(h/=c)+(u/=c)*(9*(l/=c)-u*u*2),d=(p=(3*l-u*u)/9)*p*p+(g/=54)*g,(f=x)[1]=0,m=u/3,d>0?(b=(b=g+Math.sqrt(d))<0?-Math.pow(-b,1/3):Math.pow(b,1/3),y=(y=g-Math.sqrt(d))<0?-Math.pow(-y,1/3):Math.pow(y,1/3),f[0]=-m+b+y,m+=(b+y)/2,f[4]=f[2]=-m,m=Math.sqrt(3)*(-y+b)/2,f[3]=m,f[5]=-m):(f[5]=f[3]=0,0===d?(w=g<0?-Math.pow(-g,1/3):Math.pow(g,1/3),f[0]=2*w-m,f[4]=f[2]=-(w+m)):(v=(p=-p)*p*p,v=Math.acos(g/Math.sqrt(v)),w=2*Math.sqrt(p),f[0]=-m+w*Math.cos(v/3),f[2]=-m+w*Math.cos((v+2*Math.PI)/3),f[4]=-m+w*Math.cos((v+4*Math.PI)/3)));for(var _=[],E=0;E<6;E+=2)Math.abs(x[E+1])<1e-7&&x[E]>=0&&x[E]<=1&&_.push(x[E]);_.push(1),_.push(0);for(var k,T,C,N=-1,A=0;A<_.length;A++)k=Math.pow(1-_[A],2)*n+2*(1-_[A])*_[A]*i+_[A]*_[A]*a,T=Math.pow(1-_[A],2)*r+2*(1-_[A])*_[A]*o+_[A]*_[A]*s,C=Math.pow(k-t,2)+Math.pow(T-e,2),N>=0?Cc?(t-i)*(t-i)+(e-o)*(e-o):u-h},Ae=function(t,e,n){for(var r,i,o,a,s=0,c=0;c=t&&t>=o||r<=t&&t<=o))continue;(t-r)/(o-r)*(a-i)+i>e&&s++}return s%2!=0},Se=function(t,e,n,r,i,o,a,s,c){var u,l=new Array(n.length);null!=s[0]?(u=Math.atan(s[1]/s[0]),s[0]<0?u+=Math.PI/2:u=-u-Math.PI/2):u=s;for(var h,f=Math.cos(-u),d=Math.sin(-u),p=0;p0){var g=Le(l,-c);h=Oe(g)}else h=l;return Ae(t,e,h)},Oe=function(t){for(var e,n,r,i,o,a,s,c,u=new Array(t.length/2),l=0;l=0&&p<=1&&v.push(p),g>=0&&g<=1&&v.push(g),0===v.length)return[];var b=v[0]*s[0]+t,y=v[0]*s[1]+e;return v.length>1?v[0]==v[1]?[b,y]:[b,y,v[1]*s[0]+t,v[1]*s[1]+e]:[b,y]},Pe=function(t,e,n){return e<=t&&t<=n||n<=t&&t<=e?t:t<=e&&e<=n||n<=e&&e<=t?e:n},De=function(t,e,n,r,i,o,a,s,c){var u=t-i,l=n-t,h=a-i,f=e-o,d=r-e,p=s-o,g=h*f-p*u,v=l*f-d*u,b=p*l-h*d;if(0!==b){var y=g/b,m=v/b,w=-.001;return w<=y&&y<=1.001&&w<=m&&m<=1.001||c?[t+y*l,e+y*d]:[]}return 0===g||0===v?Pe(t,n,a)===a?[a,s]:Pe(t,n,i)===i?[i,o]:Pe(i,a,n)===n?[n,r]:[]:[]},Re=function(t,e,n,r,i,o,a,s){var c,u,l,h,f,d,p=[],g=new Array(n.length),v=!0;if(null==o&&(v=!1),v){for(var b=0;b0){var y=Le(g,-s);u=Oe(y)}else u=g}else u=n;for(var m=0;mu&&(u=e)},f=function(t){return c[t]},d=0;d0?x.edgesTo(w)[0]:w.edgesTo(x)[0];var _=r(m);w=w.id(),d[w]>d[b]+_&&(d[w]=d[b]+_,p.nodes.indexOf(w)<0?p.push(w):p.updateItem(w),u[w]=0,c[w]=[]),d[w]==d[b]+_&&(u[w]=u[w]+u[b],c[w].push(b))}else for(var E=0;E0;){for(var N=n.pop(),A=0;A0&&a.push(n[s]);0!==a.length&&i.push(r.collection(a))}return i}(l,c,e,r);return m=function(t){for(var e=0;e5&&void 0!==arguments[5]?arguments[5]:un,a=r,s=0;s=2?gn(t,e,n,0,fn,dn):gn(t,e,n,0,hn)},squaredEuclidean:function(t,e,n){return gn(t,e,n,0,fn)},manhattan:function(t,e,n){return gn(t,e,n,0,hn)},max:function(t,e,n){return gn(t,e,n,-1/0,pn)}};function bn(t,e,n,r,i,o){var a;return a=S(t)?t:vn[t]||vn.euclidean,0===e&&S(t)?a(i,o):a(e,n,r,i,o)}vn["squared-euclidean"]=vn.squaredEuclidean,vn.squaredeuclidean=vn.squaredEuclidean;var yn=It({k:2,m:2,sensitivityThreshold:1e-4,distance:"euclidean",maxIterations:10,attributes:[],testMode:!1,testCentroids:null}),mn=function(t){return yn(t)},wn=function(t,e,n,r,i){var o="kMedoids"!==i?function(t){return n[t]}:function(t){return r[t](n)},a=n,s=e;return bn(t,r.length,o,(function(t){return r[t](e)}),a,s)},xn=function(t,e,n){for(var r=n.length,i=new Array(r),o=new Array(r),a=new Array(e),s=null,c=0;cn)return!1;return!0},Tn=function(t,e,n){for(var r=0;ri&&(i=e[c][u],o=u);a[o].push(t[c])}for(var l=0;l=i.threshold||"dendrogram"===i.mode&&1===t.length)return!1;var d,p=e[a],g=e[r[a]];d="dendrogram"===i.mode?{left:p,right:g,key:p.key}:{value:p.value.concat(g.value),key:p.key},t[p.index]=d,t.splice(g.index,1),e[p.key]=d;for(var v=0;vn[g.key][b.key]&&(o=n[g.key][b.key])):"max"===i.linkage?(o=n[p.key][b.key],n[p.key][b.key]a&&(o=c,a=e[i*t+c])}o>0&&r.push(o)}for(var u=0;u1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t.length,r=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],i=!(arguments.length>5&&void 0!==arguments[5])||arguments[5];arguments.length>3&&void 0!==arguments[3]&&!arguments[3]?(n0&&t.splice(0,e)):t=t.slice(e,n);for(var o=0,a=t.length-1;a>=0;a--){var s=t[a];i?isFinite(s)||(t[a]=-1/0,o++):t.splice(a,1)}r&&t.sort((function(t,e){return t-e}));var c=t.length,u=Math.floor(c/2);return c%2!=0?t[u+1+o]:(t[u-1+o]+t[u+o])/2}(t):"mean"===e?function(t){for(var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t.length,r=0,i=0,o=e;o1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t.length,r=1/0,i=e;i1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t.length,r=-1/0,i=e;i=C?(N=C,C=S,A=O):S>N&&(N=S);for(var L=0;L0?1:0;E[_%u.minIterations*e+G]=B,j+=B}if(j>0&&(_>=u.minIterations-1||_==u.maxIterations-1)){for(var F=0,H=0;H0&&r.push(i);return r}(e,o,a),U=function(t,e,n){for(var r=Yn(t,e,n),i=0;ic&&(s=u,c=l)}n[i]=o[s]}return Yn(t,e,n)}(e,r,z),V={},q=0;q1)}}));var c=Object.keys(e).filter((function(t){return e[t].cutVertex})).map((function(e){return t.getElementById(e)}));return{cut:t.spawn(c),components:i}},Xn=function(){var t=this,e={},n=0,r=[],i=[],o=t.spawn(t),a=function a(s){if(i.push(s),e[s]={index:n,low:n++,explored:!1},t.getElementById(s).connectedEdges().intersection(t).forEach((function(t){var n=t.target().id();n!==s&&(n in e||a(n),e[n].explored||(e[s].low=Math.min(e[s].low,e[n].low)))})),e[s].index===e[s].low){for(var c=t.spawn();;){var u=i.pop();if(c.merge(t.getElementById(u)),e[u].low=e[s].index,e[u].explored=!0,u===s)break}var l=c.edgesWith(c),h=c.merge(l);r.push(h),o=o.difference(h)}};return t.forEach((function(t){if(t.isNode()){var n=t.id();n in e||a(n)}})),{cut:o,components:r}},Wn={};[Yt,Ut,Vt,Xt,$t,Kt,ee,Ve,Xe,$e,Ke,cn,Ln,Bn,Un,{hierholzer:function(t){if(!L(t)){var e=arguments;t={root:e[0],directed:e[1]}}var n,r,i,o=Vn(t),a=o.root,s=o.directed,c=this,u=!1;a&&(i=A(a)?this.filter(a)[0].id():a[0].id());var l={},h={};s?c.forEach((function(t){var e=t.id();if(t.isNode()){var i=t.indegree(!0),o=t.outdegree(!0),a=i-o,s=o-i;1==a?n?u=!0:n=e:1==s?r?u=!0:r=e:(s>1||a>1)&&(u=!0),l[e]=[],t.outgoers().forEach((function(t){t.isEdge()&&l[e].push(t.id())}))}else h[e]=[void 0,t.target().id()]})):c.forEach((function(t){var e=t.id();t.isNode()?(t.degree(!0)%2&&(n?r?u=!0:r=e:n=e),l[e]=[],t.connectedEdges().forEach((function(t){return l[e].push(t.id())}))):h[e]=[t.source().id(),t.target().id()]}));var f={found:!1,trail:void 0};if(u)return f;if(r&&n)if(s){if(i&&r!=i)return f;i=r}else{if(i&&r!=i&&n!=i)return f;i||(i=r)}else i||(i=c[0].id());var d=function(t){for(var e,n,r,i=t,o=[t];l[i].length;)e=l[i].shift(),n=h[e][0],i!=(r=h[e][1])?(l[r]=l[r].filter((function(t){return t!=e})),i=r):s||i==n||(l[n]=l[n].filter((function(t){return t!=e})),i=n),o.unshift(e),o.unshift(i);return o},p=[],g=[];for(g=d(i);1!=g.length;)0==l[g[0]].length?(p.unshift(c.getElementById(g.shift())),p.unshift(c.getElementById(g.shift()))):g=d(g.shift()).concat(g);for(var v in p.unshift(c.getElementById(g.shift())),l)if(l[v].length)return f;return f.found=!0,f.trail=this.spawn(p,!0),f}},{hopcroftTarjanBiconnected:qn,htbc:qn,htb:qn,hopcroftTarjanBiconnectedComponents:qn},{tarjanStronglyConnected:Xn,tsc:Xn,tscc:Xn,tarjanStronglyConnectedComponents:Xn}].forEach((function(t){Q(Wn,t)}));var $n=function t(e){if(!(this instanceof t))return new t(e);this.id="Thenable/1.0.7",this.state=0,this.fulfillValue=void 0,this.rejectReason=void 0,this.onFulfilled=[],this.onRejected=[],this.proxy={then:this.then.bind(this)},"function"==typeof e&&e.call(this,this.fulfill.bind(this),this.reject.bind(this))};$n.prototype={fulfill:function(t){return Zn(this,1,"fulfillValue",t)},reject:function(t){return Zn(this,2,"rejectReason",t)},then:function(t,e){var n=this,r=new $n;return n.onFulfilled.push(Jn(t,r,"fulfill")),n.onRejected.push(Jn(e,r,"reject")),Kn(n),r.proxy}};var Zn=function(t,e,n,r){return 0===t.state&&(t.state=e,t[n]=r,Kn(t)),t},Kn=function(t){1===t.state?Qn(t,"onFulfilled",t.fulfillValue):2===t.state&&Qn(t,"onRejected",t.rejectReason)},Qn=function(t,e,n){if(0!==t[e].length){var r=t[e];t[e]=[];var i=function(){for(var t=0;t0:void 0}},clearQueue:function(){return function(){var t=this,e=void 0!==t.length?t:[t];if(!(this._private.cy||this).styleEnabled())return this;for(var n=0;n0&&this.spawn(r).updateStyle().emit("class"),e},addClass:function(t){return this.toggleClass(t,!0)},hasClass:function(t){var e=this[0];return null!=e&&e._private.classes.has(t)},toggleClass:function(t,e){O(t)||(t=t.match(/\S+/g)||[]);for(var n=this,r=void 0===e,i=[],o=0,a=n.length;o0&&this.spawn(i).updateStyle().emit("class"),n},removeClass:function(t){return this.toggleClass(t,!1)},flashClass:function(t,e){var n=this;if(null==e)e=250;else if(0===e)return n;return n.addClass(t),setTimeout((function(){n.removeClass(t)}),e),n}};ur.className=ur.classNames=ur.classes;var lr={metaChar:"[\\!\\\"\\#\\$\\%\\&\\'\\(\\)\\*\\+\\,\\.\\/\\:\\;\\<\\=\\>\\?\\@\\[\\]\\^\\`\\{\\|\\}\\~]",comparatorOp:"=|\\!=|>|>=|<|<=|\\$=|\\^=|\\*=",boolOp:"\\?|\\!|\\^",string:"\"(?:\\\\\"|[^\"])*\"|'(?:\\\\'|[^'])*'",number:q,meta:"degree|indegree|outdegree",separator:"\\s*,\\s*",descendant:"\\s+",child:"\\s+>\\s+",subject:"\\$",group:"node|edge|\\*",directedEdge:"\\s+->\\s+",undirectedEdge:"\\s+<->\\s+"};lr.variable="(?:[\\w-.]|(?:\\\\"+lr.metaChar+"))+",lr.className="(?:[\\w-]|(?:\\\\"+lr.metaChar+"))+",lr.value=lr.string+"|"+lr.number,lr.id=lr.variable,function(){var t,e,n;for(t=lr.comparatorOp.split("|"),n=0;n=0||"="!==e&&(lr.comparatorOp+="|\\!"+e)}();var hr=20,fr=[{selector:":selected",matches:function(t){return t.selected()}},{selector:":unselected",matches:function(t){return!t.selected()}},{selector:":selectable",matches:function(t){return t.selectable()}},{selector:":unselectable",matches:function(t){return!t.selectable()}},{selector:":locked",matches:function(t){return t.locked()}},{selector:":unlocked",matches:function(t){return!t.locked()}},{selector:":visible",matches:function(t){return t.visible()}},{selector:":hidden",matches:function(t){return!t.visible()}},{selector:":transparent",matches:function(t){return t.transparent()}},{selector:":grabbed",matches:function(t){return t.grabbed()}},{selector:":free",matches:function(t){return!t.grabbed()}},{selector:":removed",matches:function(t){return t.removed()}},{selector:":inside",matches:function(t){return!t.removed()}},{selector:":grabbable",matches:function(t){return t.grabbable()}},{selector:":ungrabbable",matches:function(t){return!t.grabbable()}},{selector:":animated",matches:function(t){return t.animated()}},{selector:":unanimated",matches:function(t){return!t.animated()}},{selector:":parent",matches:function(t){return t.isParent()}},{selector:":childless",matches:function(t){return t.isChildless()}},{selector:":child",matches:function(t){return t.isChild()}},{selector:":orphan",matches:function(t){return t.isOrphan()}},{selector:":nonorphan",matches:function(t){return t.isChild()}},{selector:":compound",matches:function(t){return t.isNode()?t.isParent():t.source().isParent()||t.target().isParent()}},{selector:":loop",matches:function(t){return t.isLoop()}},{selector:":simple",matches:function(t){return t.isSimple()}},{selector:":active",matches:function(t){return t.active()}},{selector:":inactive",matches:function(t){return!t.active()}},{selector:":backgrounding",matches:function(t){return t.backgrounding()}},{selector:":nonbackgrounding",matches:function(t){return!t.backgrounding()}}].sort((function(t,e){return function(t,e){return-1*K(t,e)}(t.selector,e.selector)})),dr=function(){for(var t,e={},n=0;n0&&u.edgeCount>0)return Nt("The selector `"+t+"` is invalid because it uses both a compound selector and an edge selector"),!1;if(u.edgeCount>1)return Nt("The selector `"+t+"` is invalid because it uses multiple edge selectors"),!1;1===u.edgeCount&&Nt("The selector `"+t+"` is deprecated. Edge selectors do not take effect on changes to source and target nodes after an edge is added, for performance reasons. Use a class or data selector on edges instead, updating the class or data of an edge when your app detects a change in source or target nodes.")}return!0},toString:function(){if(null!=this.toStringCache)return this.toStringCache;for(var t=function(t){return null==t?"":t},e=function(e){return A(e)?'"'+e+'"':t(e)},n=function(t){return" "+t+" "},r=function(i,o){return i.checks.reduce((function(a,s,c){return a+(o===i&&0===c?"$":"")+function(i,o){var a=i.type,s=i.value;switch(a){case 0:var c=t(s);return c.substring(0,c.length-1);case 3:var u=i.field,l=i.operator;return"["+u+n(t(l))+e(s)+"]";case 5:var h=i.operator,f=i.field;return"["+t(h)+f+"]";case 4:return"["+i.field+"]";case 6:var d=i.operator;return"[["+i.field+n(t(d))+e(s)+"]]";case 7:return s;case 8:return"#"+s;case 9:return"."+s;case 17:case 15:return r(i.parent,o)+n(">")+r(i.child,o);case 18:case 16:return r(i.ancestor,o)+" "+r(i.descendant,o);case 19:var p=r(i.left,o),g=r(i.subject,o),v=r(i.right,o);return p+(p.length>0?" ":"")+g+v;case hr:return""}}(s,o)}),"")},i="",o=0;o1&&o=0&&(e=e.replace("!",""),l=!0),e.indexOf("@")>=0&&(e=e.replace("@",""),u=!0),(a||c||u)&&(i=a||s?""+t:"",o=""+n),u&&(t=i=i.toLowerCase(),n=o=o.toLowerCase()),e){case"*=":r=i.indexOf(o)>=0;break;case"$=":r=i.indexOf(o,i.length-o.length)>=0;break;case"^=":r=0===i.indexOf(o);break;case"=":r=t===n;break;case">":h=!0,r=t>n;break;case">=":h=!0,r=t>=n;break;case"<":h=!0,r=t0;){var u=i.shift();e(u),o.add(u.id()),a&&r(i,o,u)}return t}function Mr(t,e,n){if(n.isParent())for(var r=n._private.children,i=0;i1&&void 0!==arguments[1])||arguments[1],Mr)},Lr.forEachUp=function(t){return Ir(this,t,!(arguments.length>1&&void 0!==arguments[1])||arguments[1],Pr)},Lr.forEachUpAndDown=function(t){return Ir(this,t,!(arguments.length>1&&void 0!==arguments[1])||arguments[1],Dr)},Lr.ancestors=Lr.parents,(Ar=Sr={data:sr.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),removeData:sr.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),scratch:sr.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:sr.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),rscratch:sr.data({field:"rscratch",allowBinding:!1,allowSetting:!0,settingTriggersEvent:!1,allowGetting:!0}),removeRscratch:sr.removeData({field:"rscratch",triggerEvent:!1}),id:function(){var t=this[0];if(t)return t._private.data.id}}).attr=Ar.data,Ar.removeAttr=Ar.removeData;var Rr,jr,Gr=Sr,Br={};function Fr(t){return function(e){var n=this;if(void 0===e&&(e=!0),0!==n.length&&n.isNode()&&!n.removed()){for(var r=0,i=n[0],o=i._private.edges,a=0;ae})),minIndegree:Hr("indegree",(function(t,e){return te})),minOutdegree:Hr("outdegree",(function(t,e){return te}))}),Q(Br,{totalDegree:function(t){for(var e=0,n=this.nodes(),r=0;r0,l=u;u&&(c=c[0]);var h=l?c.position():{x:0,y:0};return i={x:s.x-h.x,y:s.y-h.y},void 0===t?i:i[t]}for(var f=0;f0,v=g;g&&(p=p[0]);var b=v?p.position():{x:0,y:0};void 0!==e?d.position(t,e+b[t]):void 0!==i&&d.position({x:i.x+b.x,y:i.y+b.y})}}else if(!o)return;return this}},Rr.modelPosition=Rr.point=Rr.position,Rr.modelPositions=Rr.points=Rr.positions,Rr.renderedPoint=Rr.renderedPosition,Rr.relativePoint=Rr.relativePosition;var Ur,Vr,qr=jr;Ur=Vr={},Vr.renderedBoundingBox=function(t){var e=this.boundingBox(t),n=this.cy(),r=n.zoom(),i=n.pan(),o=e.x1*r+i.x,a=e.x2*r+i.x,s=e.y1*r+i.y,c=e.y2*r+i.y;return{x1:o,x2:a,y1:s,y2:c,w:a-o,h:c-s}},Vr.dirtyCompoundBoundsCache=function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0],e=this.cy();return e.styleEnabled()&&e.hasCompoundNodes()?(this.forEachUp((function(e){if(e.isParent()){var n=e._private;n.compoundBoundsClean=!1,n.bbCache=null,t||e.emitAndNotify("bounds")}})),this):this},Vr.updateCompoundBounds=function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0],e=this.cy();if(!e.styleEnabled()||!e.hasCompoundNodes())return this;if(!t&&e.batching())return this;function n(t){if(t.isParent()){var e=t._private,n=t.children(),r="include"===t.pstyle("compound-sizing-wrt-labels").value,i={width:{val:t.pstyle("min-width").pfValue,left:t.pstyle("min-width-bias-left"),right:t.pstyle("min-width-bias-right")},height:{val:t.pstyle("min-height").pfValue,top:t.pstyle("min-height-bias-top"),bottom:t.pstyle("min-height-bias-bottom")}},o=n.boundingBox({includeLabels:r,includeOverlays:!1,useCache:!1}),a=e.position;0!==o.w&&0!==o.h||((o={w:t.pstyle("width").pfValue,h:t.pstyle("height").pfValue}).x1=a.x-o.w/2,o.x2=a.x+o.w/2,o.y1=a.y-o.h/2,o.y2=a.y+o.h/2);var s=i.width.left.value;"px"===i.width.left.units&&i.width.val>0&&(s=100*s/i.width.val);var c=i.width.right.value;"px"===i.width.right.units&&i.width.val>0&&(c=100*c/i.width.val);var u=i.height.top.value;"px"===i.height.top.units&&i.height.val>0&&(u=100*u/i.height.val);var l=i.height.bottom.value;"px"===i.height.bottom.units&&i.height.val>0&&(l=100*l/i.height.val);var h=b(i.width.val-o.w,s,c),f=h.biasDiff,d=h.biasComplementDiff,p=b(i.height.val-o.h,u,l),g=p.biasDiff,v=p.biasComplementDiff;e.autoPadding=function(t,e,n,r){if("%"!==n.units)return"px"===n.units?n.pfValue:0;switch(r){case"width":return t>0?n.pfValue*t:0;case"height":return e>0?n.pfValue*e:0;case"average":return t>0&&e>0?n.pfValue*(t+e)/2:0;case"min":return t>0&&e>0?t>e?n.pfValue*e:n.pfValue*t:0;case"max":return t>0&&e>0?t>e?n.pfValue*t:n.pfValue*e:0;default:return 0}}(o.w,o.h,t.pstyle("padding"),t.pstyle("padding-relative-to").value),e.autoWidth=Math.max(o.w,i.width.val),a.x=(-f+o.x1+o.x2+d)/2,e.autoHeight=Math.max(o.h,i.height.val),a.y=(-g+o.y1+o.y2+v)/2}function b(t,e,n){var r=0,i=0,o=e+n;return t>0&&o>0&&(r=e/o*t,i=n/o*t),{biasDiff:r,biasComplementDiff:i}}}for(var r=0;rt.x2?r:t.x2,t.y1=nt.y2?i:t.y2,t.w=t.x2-t.x1,t.h=t.y2-t.y1)},$r=function(t,e){return null==e?t:Wr(t,e.x1,e.y1,e.x2,e.y2)},Zr=function(t,e,n){return Dt(t,e,n)},Kr=function(t,e,n){if(!e.cy().headless()){var r,i,o=e._private,a=o.rstyle,s=a.arrowWidth/2;if("none"!==e.pstyle(n+"-arrow-shape").value){"source"===n?(r=a.srcX,i=a.srcY):"target"===n?(r=a.tgtX,i=a.tgtY):(r=a.midX,i=a.midY);var c=o.arrowBounds=o.arrowBounds||{},u=c[n]=c[n]||{};u.x1=r-s,u.y1=i-s,u.x2=r+s,u.y2=i+s,u.w=u.x2-u.x1,u.h=u.y2-u.y1,be(u,1),Wr(t,u.x1,u.y1,u.x2,u.y2)}}},Qr=function(t,e,n){if(!e.cy().headless()){var r;r=n?n+"-":"";var i=e._private,o=i.rstyle;if(e.pstyle(r+"label").strValue){var a,s,c,u,l=e.pstyle("text-halign"),h=e.pstyle("text-valign"),f=Zr(o,"labelWidth",n),d=Zr(o,"labelHeight",n),p=Zr(o,"labelX",n),g=Zr(o,"labelY",n),v=e.pstyle(r+"text-margin-x").pfValue,b=e.pstyle(r+"text-margin-y").pfValue,y=e.isEdge(),m=e.pstyle(r+"text-rotation"),w=e.pstyle("text-outline-width").pfValue,x=e.pstyle("text-border-width").pfValue/2,_=e.pstyle("text-background-padding").pfValue,E=d,k=f,T=k/2,C=E/2;if(y)a=p-T,s=p+T,c=g-C,u=g+C;else{switch(l.value){case"left":a=p-k,s=p;break;case"center":a=p-T,s=p+T;break;case"right":a=p,s=p+k}switch(h.value){case"top":c=g-E,u=g;break;case"center":c=g-C,u=g+C;break;case"bottom":c=g,u=g+E}}a+=v-Math.max(w,x)-_-2,s+=v+Math.max(w,x)+_+2,c+=b-Math.max(w,x)-_-2,u+=b+Math.max(w,x)+_+2;var N=n||"main",A=i.labelBounds,S=A[N]=A[N]||{};S.x1=a,S.y1=c,S.x2=s,S.y2=u,S.w=s-a,S.h=u-c;var O=y&&"autorotate"===m.strValue,L=null!=m.pfValue&&0!==m.pfValue;if(O||L){var I=O?Zr(i.rstyle,"labelAngle",n):m.pfValue,M=Math.cos(I),P=Math.sin(I),D=(a+s)/2,R=(c+u)/2;if(!y){switch(l.value){case"left":D=s;break;case"right":D=a}switch(h.value){case"top":R=u;break;case"bottom":R=c}}var j=function(t,e){return{x:(t-=D)*M-(e-=R)*P+D,y:t*P+e*M+R}},G=j(a,c),B=j(a,u),F=j(s,c),H=j(s,u);a=Math.min(G.x,B.x,F.x,H.x),s=Math.max(G.x,B.x,F.x,H.x),c=Math.min(G.y,B.y,F.y,H.y),u=Math.max(G.y,B.y,F.y,H.y)}var Y=N+"Rot",z=A[Y]=A[Y]||{};z.x1=a,z.y1=c,z.x2=s,z.y2=u,z.w=s-a,z.h=u-c,Wr(t,a,c,s,u),Wr(i.labelBounds.all,a,c,s,u)}return t}},Jr=function(t){var e=0,n=function(t){return(t?1:0)<0&&o>0){var a=e.pstyle("outline-offset").value,s=e.pstyle("shape").value,c=o+a,u=(t.w+2*c)/t.w,l=(t.h+2*c)/t.h,h=0;["diamond","pentagon","round-triangle"].includes(s)?(u=(t.w+2.4*c)/t.w,h=-c/3.6):["concave-hexagon","rhomboid","right-rhomboid"].includes(s)?u=(t.w+2.4*c)/t.w:"star"===s?(u=(t.w+2.8*c)/t.w,l=(t.h+2.6*c)/t.h,h=-c/3.8):"triangle"===s?(u=(t.w+2.8*c)/t.w,l=(t.h+2.4*c)/t.h,h=-c/1.4):"vee"===s&&(u=(t.w+4.4*c)/t.w,l=(t.h+3.8*c)/t.h,h=.5*-c);var f=t.h*l-t.h,d=t.w*u-t.w;if(ye(t,[Math.ceil(f/2),Math.ceil(d/2)]),0!==h){var p=(r=h,{x1:(n=t).x1+0,x2:n.x2+0,y1:n.y1+r,y2:n.y2+r,w:n.w,h:n.h});ge(t,p)}}}}(f,t)}else if(g&&e.includeEdges)if(l&&!h){var N=t.pstyle("curve-style").strValue;if(n=Math.min(v.srcX,v.midX,v.tgtX),r=Math.max(v.srcX,v.midX,v.tgtX),i=Math.min(v.srcY,v.midY,v.tgtY),o=Math.max(v.srcY,v.midY,v.tgtY),Wr(f,n-=E,i-=E,r+=E,o+=E),"haystack"===N){var A=v.haystackPts;if(A&&2===A.length){if(n=A[0].x,i=A[0].y,n>(r=A[1].x)){var S=n;n=r,r=S}if(i>(o=A[1].y)){var O=i;i=o,o=O}Wr(f,n-E,i-E,r+E,o+E)}}else if("bezier"===N||"unbundled-bezier"===N||"segments"===N||"taxi"===N){var L;switch(N){case"bezier":case"unbundled-bezier":L=v.bezierPts;break;case"segments":case"taxi":L=v.linePts}if(null!=L)for(var I=0;I(r=D.x)){var R=n;n=r,r=R}if((i=P.y)>(o=D.y)){var j=i;i=o,o=j}Wr(f,n-=E,i-=E,r+=E,o+=E)}if(l&&e.includeEdges&&g&&(Kr(f,t,"mid-source"),Kr(f,t,"mid-target"),Kr(f,t,"source"),Kr(f,t,"target")),l&&"yes"===t.pstyle("ghost").value){var G=t.pstyle("ghost-offset-x").pfValue,B=t.pstyle("ghost-offset-y").pfValue;Wr(f,f.x1+G,f.y1+B,f.x2+G,f.y2+B)}var F=d.bodyBounds=d.bodyBounds||{};me(F,f),ye(F,b),be(F,1),l&&(n=f.x1,r=f.x2,i=f.y1,o=f.y2,Wr(f,n-_,i-_,r+_,o+_));var H=d.overlayBounds=d.overlayBounds||{};me(H,f),ye(H,b),be(H,1);var Y=d.labelBounds=d.labelBounds||{};null!=Y.all?((c=Y.all).x1=1/0,c.y1=1/0,c.x2=-1/0,c.y2=-1/0,c.w=0,c.h=0):Y.all=pe(),l&&e.includeLabels&&(e.includeMainLabels&&Qr(f,t,null),g&&(e.includeSourceLabels&&Qr(f,t,"source"),e.includeTargetLabels&&Qr(f,t,"target")))}return f.x1=Xr(f.x1),f.y1=Xr(f.y1),f.x2=Xr(f.x2),f.y2=Xr(f.y2),f.w=Xr(f.x2-f.x1),f.h=Xr(f.y2-f.y1),f.w>0&&f.h>0&&m&&(ye(f,b),be(f,1)),f}(t,ni),r.bbCache=n,r.bbCachePosKey=a):n=r.bbCache,!o){var l=t.isNode();n=pe(),(e.includeNodes&&l||e.includeEdges&&!l)&&(e.includeOverlays?$r(n,r.overlayBounds):$r(n,r.bodyBounds)),e.includeLabels&&(e.includeMainLabels&&(!i||e.includeSourceLabels&&e.includeTargetLabels)?$r(n,r.labelBounds.all):(e.includeMainLabels&&$r(n,r.labelBounds.mainRot),e.includeSourceLabels&&$r(n,r.labelBounds.sourceRot),e.includeTargetLabels&&$r(n,r.labelBounds.targetRot))),n.w=n.x2-n.x1,n.h=n.y2-n.y1}return n},ni={includeNodes:!0,includeEdges:!0,includeLabels:!0,includeMainLabels:!0,includeSourceLabels:!0,includeTargetLabels:!0,includeOverlays:!0,includeUnderlays:!0,includeOutlines:!0,useCache:!0},ri=Jr(ni),ii=It(ni);Vr.boundingBox=function(t){var e;if(1!==this.length||null==this[0]._private.bbCache||this[0]._private.styleDirty||void 0!==t&&void 0!==t.useCache&&!0!==t.useCache){e=pe();var n=ii(t=t||ni),r=this;if(r.cy().styleEnabled())for(var i=0;i0&&void 0!==arguments[0]?arguments[0]:mi,e=arguments.length>1?arguments[1]:void 0,n=0;n=0;s--)a(s);return this},xi.removeAllListeners=function(){return this.removeListener("*")},xi.emit=xi.trigger=function(t,e,n){var r=this.listeners,i=r.length;return this.emitting++,O(e)||(e=[e]),function(t,e,n){if("event"!==N(n))if(L(n))e(t,Ei(t,n));else for(var r=O(n)?n:n.split(/\s+/),i=0;i1&&!r){var i=this.length-1,o=this[i],a=o._private.data.id;this[i]=void 0,this[t]=o,n.set(a,{ele:o,index:t})}return this.length--,this},unmergeOne:function(t){t=t[0];var e=this._private,n=t._private.data.id,r=e.map.get(n);if(!r)return this;var i=r.index;return this.unmergeAt(i),this},unmerge:function(t){var e=this._private.cy;if(!t)return this;if(t&&A(t)){var n=t;t=e.mutableElements().filter(n)}for(var r=0;r=0;e--)t(this[e])&&this.unmergeAt(e);return this},map:function(t,e){for(var n=[],r=this,i=0;ir&&(r=s,n=a)}return{value:r,ele:n}},min:function(t,e){for(var n,r=1/0,i=this,o=0;o=0&&i1&&void 0!==arguments[1])||arguments[1],n=this[0],r=n.cy();if(r.styleEnabled()&&n){this.cleanStyle();var i=n._private.style[t];return null!=i?i:e?r.style().getDefaultProperty(t):null}},numericStyle:function(t){var e=this[0];if(e.cy().styleEnabled()&&e){var n=e.pstyle(t);return void 0!==n.pfValue?n.pfValue:n.value}},numericStyleUnits:function(t){var e=this[0];if(e.cy().styleEnabled())return e?e.pstyle(t).units:void 0},renderedStyle:function(t){var e=this.cy();if(!e.styleEnabled())return this;var n=this[0];return n?e.style().getRenderedStyle(n,t):void 0},style:function(t,e){var n=this.cy();if(!n.styleEnabled())return this;var r=n.style();if(L(t)){var i=t;r.applyBypass(this,i,!1),this.emitAndNotify("style")}else if(A(t)){if(void 0===e){var o=this[0];return o?r.getStylePropertyValue(o,t):void 0}r.applyBypass(this,t,e,!1),this.emitAndNotify("style")}else if(void 0===t){var a=this[0];return a?r.getRawStyle(a):void 0}return this},removeStyle:function(t){var e=this.cy();if(!e.styleEnabled())return this;var n=e.style(),r=this;if(void 0===t)for(var i=0;i0&&e.push(l[0]),e.push(s[0])}return this.spawn(e,!0).filter(t)}),"neighborhood"),closedNeighborhood:function(t){return this.neighborhood().add(this).filter(t)},openNeighborhood:function(t){return this.neighborhood(t)}}),Wi.neighbourhood=Wi.neighborhood,Wi.closedNeighbourhood=Wi.closedNeighborhood,Wi.openNeighbourhood=Wi.openNeighborhood,Q(Wi,{source:Or((function(t){var e,n=this[0];return n&&(e=n._private.source||n.cy().collection()),e&&t?e.filter(t):e}),"source"),target:Or((function(t){var e,n=this[0];return n&&(e=n._private.target||n.cy().collection()),e&&t?e.filter(t):e}),"target"),sources:Qi({attr:"source"}),targets:Qi({attr:"target"})}),Q(Wi,{edgesWith:Or(Ji(),"edgesWith"),edgesTo:Or(Ji({thisIsSrc:!0}),"edgesTo")}),Q(Wi,{connectedEdges:Or((function(t){for(var e=[],n=0;n0);return o},component:function(){var t=this[0];return t.cy().mutableElements().components(t)[0]}}),Wi.componentsOf=Wi.components;var eo=function(t,e){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(void 0!==t){var i=new jt,o=!1;if(e){if(e.length>0&&L(e[0])&&!D(e[0])){o=!0;for(var a=[],s=new Bt,c=0,u=e.length;c0&&void 0!==arguments[0])||arguments[0],r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=this,o=i.cy(),a=o._private,s=[],c=[],u=0,l=i.length;u0){for(var R=t.length===i.length?i:new eo(o,t),j=0;j0&&void 0!==arguments[0])||arguments[0],e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=this,r=[],i={},o=n._private.cy;function a(t){var n=i[t.id()];e&&t.removed()||n||(i[t.id()]=!0,t.isNode()?(r.push(t),function(t){for(var e=t._private.edges,n=0;n0&&(t?E.emitAndNotify("remove"):e&&E.emit("remove"));for(var k=0;k=.001?function(e,r){for(var i=0;i<4;++i){var o=f(r,t,n);if(0===o)return r;r-=(h(r,t,n)-e)/o}return r}(e,a):0===c?a:function(e,r,i){var o,a,s=0;do{(o=h(a=r+(i-r)/2,t,n)-e)>0?i=a:r=a}while(Math.abs(o)>1e-7&&++s<10);return a}(e,r,r+i)}(o),e,r)};p.getControlPoints=function(){return[{x:t,y:e},{x:n,y:r}]};var g="generateBezier("+[t,e,n,r]+")";return p.toString=function(){return g},p}var oo=function(){function t(t){return-t.tension*t.x-t.friction*t.v}function e(e,n,r){var i={x:e.x+r.dx*n,v:e.v+r.dv*n,tension:e.tension,friction:e.friction};return{dx:i.v,dv:t(i)}}function n(n,r){var i={dx:n.v,dv:t(n)},o=e(n,.5*r,i),a=e(n,.5*r,o),s=e(n,r,a),c=1/6*(i.dx+2*(o.dx+a.dx)+s.dx),u=1/6*(i.dv+2*(o.dv+a.dv)+s.dv);return n.x=n.x+c*r,n.v=n.v+u*r,n}return function t(e,r,i){var o,a,s,c={x:-1,v:0,tension:null,friction:null},u=[0],l=0,h=1e-4;for(e=parseFloat(e)||500,r=parseFloat(r)||20,i=i||null,c.tension=e,c.friction=r,a=(o=null!==i)?(l=t(e,r))/i*.016:.016;s=n(s||c,a),u.push(1+s.x),l+=16,Math.abs(s.x)>h&&Math.abs(s.v)>h;);return o?function(t){return u[t*(u.length-1)|0]}:l}}(),ao=function(t,e,n,r){var i=io(t,e,n,r);return function(t,e,n){return t+(e-t)*i(n)}},so={linear:function(t,e,n){return t+(e-t)*n},ease:ao(.25,.1,.25,1),"ease-in":ao(.42,0,1,1),"ease-out":ao(0,0,.58,1),"ease-in-out":ao(.42,0,.58,1),"ease-in-sine":ao(.47,0,.745,.715),"ease-out-sine":ao(.39,.575,.565,1),"ease-in-out-sine":ao(.445,.05,.55,.95),"ease-in-quad":ao(.55,.085,.68,.53),"ease-out-quad":ao(.25,.46,.45,.94),"ease-in-out-quad":ao(.455,.03,.515,.955),"ease-in-cubic":ao(.55,.055,.675,.19),"ease-out-cubic":ao(.215,.61,.355,1),"ease-in-out-cubic":ao(.645,.045,.355,1),"ease-in-quart":ao(.895,.03,.685,.22),"ease-out-quart":ao(.165,.84,.44,1),"ease-in-out-quart":ao(.77,0,.175,1),"ease-in-quint":ao(.755,.05,.855,.06),"ease-out-quint":ao(.23,1,.32,1),"ease-in-out-quint":ao(.86,0,.07,1),"ease-in-expo":ao(.95,.05,.795,.035),"ease-out-expo":ao(.19,1,.22,1),"ease-in-out-expo":ao(1,0,0,1),"ease-in-circ":ao(.6,.04,.98,.335),"ease-out-circ":ao(.075,.82,.165,1),"ease-in-out-circ":ao(.785,.135,.15,.86),spring:function(t,e,n){if(0===n)return so.linear;var r=oo(t,e,n);return function(t,e,n){return t+(e-t)*r(n)}},"cubic-bezier":ao};function co(t,e,n,r,i){if(1===r)return n;if(e===n)return n;var o=i(e,n,r);return null==t||((t.roundValue||t.color)&&(o=Math.round(o)),void 0!==t.min&&(o=Math.max(o,t.min)),void 0!==t.max&&(o=Math.min(o,t.max))),o}function uo(t,e){return null!=t.pfValue||null!=t.value?null==t.pfValue||null!=e&&"%"===e.type.units?t.value:t.pfValue:t}function lo(t,e,n,r,i){var o=null!=i?i.type:null;n<0?n=0:n>1&&(n=1);var a=uo(t,i),s=uo(e,i);if(I(a)&&I(s))return co(o,a,s,n,r);if(O(a)&&O(s)){for(var c=[],u=0;u0?("spring"===h&&f.push(a.duration),a.easingImpl=so[h].apply(null,f)):a.easingImpl=so[h]}var d,p=a.easingImpl;if(d=0===a.duration?1:(n-c)/a.duration,a.applying&&(d=a.progress),d<0?d=0:d>1&&(d=1),null==a.delay){var g=a.startPosition,v=a.position;if(v&&i&&!t.locked()){var b={};fo(g.x,v.x)&&(b.x=lo(g.x,v.x,d,p)),fo(g.y,v.y)&&(b.y=lo(g.y,v.y,d,p)),t.position(b)}var y=a.startPan,m=a.pan,w=o.pan,x=null!=m&&r;x&&(fo(y.x,m.x)&&(w.x=lo(y.x,m.x,d,p)),fo(y.y,m.y)&&(w.y=lo(y.y,m.y,d,p)),t.emit("pan"));var _=a.startZoom,E=a.zoom,k=null!=E&&r;k&&(fo(_,E)&&(o.zoom=de(o.minZoom,lo(_,E,d,p),o.maxZoom)),t.emit("zoom")),(x||k)&&t.emit("viewport");var T=a.style;if(T&&T.length>0&&i){for(var C=0;C=0;e--)(0,t[e])();t.splice(0,t.length)},l=o.length-1;l>=0;l--){var h=o[l],f=h._private;f.stopped?(o.splice(l,1),f.hooked=!1,f.playing=!1,f.started=!1,u(f.frames)):(f.playing||f.applying)&&(f.playing&&f.applying&&(f.applying=!1),f.started||po(0,h,t),ho(e,h,t,n),f.applying&&(f.applying=!1),u(f.frames),null!=f.step&&f.step(t),h.completed()&&(o.splice(l,1),f.hooked=!1,f.playing=!1,f.started=!1,u(f.completes)),s=!0)}return n||0!==o.length||0!==a.length||r.push(e),s}for(var o=!1,a=0;a0?e.notify("draw",n):e.notify("draw")),n.unmerge(r),e.emit("step")}var vo={animate:sr.animate(),animation:sr.animation(),animated:sr.animated(),clearQueue:sr.clearQueue(),delay:sr.delay(),delayAnimation:sr.delayAnimation(),stop:sr.stop(),addToAnimationPool:function(t){this.styleEnabled()&&this._private.aniEles.merge(t)},stopAnimationLoop:function(){this._private.animationsRunning=!1},startAnimationLoop:function(){var t=this;if(t._private.animationsRunning=!0,t.styleEnabled()){var e=t.renderer();e&&e.beforeRender?e.beforeRender((function(e,n){go(n,t)}),e.beforeRenderPriorities.animations):function e(){t._private.animationsRunning&&ot((function(n){go(n,t),e()}))}()}}},bo={qualifierCompare:function(t,e){return null==t||null==e?null==t&&null==e:t.sameText(e)},eventMatches:function(t,e,n){var r=e.qualifier;return null==r||t!==n.target&&D(n.target)&&r.matches(n.target)},addEventFields:function(t,e){e.cy=t,e.target=t},callbackContext:function(t,e,n){return null!=e.qualifier?n.target:t}},yo=function(t){return A(t)?new Tr(t):t},mo={createEmitter:function(){var t=this._private;return t.emitter||(t.emitter=new wi(bo,this)),this},emitter:function(){return this._private.emitter},on:function(t,e,n){return this.emitter().on(t,yo(e),n),this},removeListener:function(t,e,n){return this.emitter().removeListener(t,yo(e),n),this},removeAllListeners:function(){return this.emitter().removeAllListeners(),this},one:function(t,e,n){return this.emitter().one(t,yo(e),n),this},once:function(t,e,n){return this.emitter().one(t,yo(e),n),this},emit:function(t,e){return this.emitter().emit(t,e),this},emitAndNotify:function(t,e){return this.emit(t),this.notify(t,e),this}};sr.eventAliasesOn(mo);var wo={png:function(t){return t=t||{},this._private.renderer.png(t)},jpg:function(t){var e=this._private.renderer;return(t=t||{}).bg=t.bg||"#fff",e.jpg(t)}};wo.jpeg=wo.jpg;var xo={layout:function(t){var e=this;if(null!=t)if(null!=t.name){var n,r=t.name,i=e.extension("layout",r);if(null!=i)return n=A(t.eles)?e.$(t.eles):null!=t.eles?t.eles:e.$(),new i(Q({},t,{cy:e,eles:n}));Tt("No such layout `"+r+"` found. Did you forget to import it and `cytoscape.use()` it?")}else Tt("A `name` must be specified to make a layout");else Tt("Layout options must be specified to make a layout")}};xo.createLayout=xo.makeLayout=xo.layout;var _o={notify:function(t,e){var n=this._private;if(this.batching()){n.batchNotifications=n.batchNotifications||{};var r=n.batchNotifications[t]=n.batchNotifications[t]||this.collection();null!=e&&r.merge(e)}else if(n.notificationsEnabled){var i=this.renderer();!this.destroyed()&&i&&i.notify(t,e)}},notifications:function(t){var e=this._private;return void 0===t?e.notificationsEnabled:(e.notificationsEnabled=!!t,this)},noNotifications:function(t){this.notifications(!1),t(),this.notifications(!0)},batching:function(){return this._private.batchCount>0},startBatch:function(){var t=this._private;return null==t.batchCount&&(t.batchCount=0),0===t.batchCount&&(t.batchStyleEles=this.collection(),t.batchNotifications={}),t.batchCount++,this},endBatch:function(){var t=this._private;if(0===t.batchCount)return this;if(t.batchCount--,0===t.batchCount){t.batchStyleEles.updateStyle();var e=this.renderer();Object.keys(t.batchNotifications).forEach((function(n){var r=t.batchNotifications[n];r.empty()?e.notify(n):e.notify(n,r)}))}return this},batch:function(t){return this.startBatch(),t(),this.endBatch(),this},batchData:function(t){var e=this;return this.batch((function(){for(var n=Object.keys(t),r=0;r0;)e.removeChild(e.childNodes[0]);t._private.renderer=null,t.mutableElements().forEach((function(t){var e=t._private;e.rscratch={},e.rstyle={},e.animation.current=[],e.animation.queue=[]}))},onRender:function(t){return this.on("render",t)},offRender:function(t){return this.off("render",t)}};ko.invalidateDimensions=ko.resize;var To={collection:function(t,e){return A(t)?this.$(t):P(t)?t.collection():O(t)?(e||(e={}),new eo(this,t,e.unique,e.removed)):new eo(this)},nodes:function(t){var e=this.$((function(t){return t.isNode()}));return t?e.filter(t):e},edges:function(t){var e=this.$((function(t){return t.isEdge()}));return t?e.filter(t):e},$:function(t){var e=this._private.elements;return t?e.filter(t):e.spawnSelf()},mutableElements:function(){return this._private.elements}};To.elements=To.filter=To.$;var Co={},No="t";Co.apply=function(t){for(var e=this,n=e._private.cy.collection(),r=0;r0;if(f||h&&d){var p=void 0;f&&d||f?p=u.properties:d&&(p=u.mappedProperties);for(var g=0;g1&&(v=1),s.color){var x=i.valueMin[0],_=i.valueMax[0],E=i.valueMin[1],k=i.valueMax[1],T=i.valueMin[2],C=i.valueMax[2],N=null==i.valueMin[3]?1:i.valueMin[3],A=null==i.valueMax[3]?1:i.valueMax[3],S=[Math.round(x+(_-x)*v),Math.round(E+(k-E)*v),Math.round(T+(C-T)*v),Math.round(N+(A-N)*v)];n={bypass:i.bypass,name:i.name,value:S,strValue:"rgb("+S[0]+", "+S[1]+", "+S[2]+")"}}else{if(!s.number)return!1;var O=i.valueMin+(i.valueMax-i.valueMin)*v;n=this.parse(i.name,O,i.bypass,f)}if(!n)return g(),!1;n.mapping=i,i=n;break;case a.data:for(var L=i.field.split("."),M=h.data,P=0;P0&&o>0){for(var s={},c=!1,u=0;u0?t.delayAnimation(a).play().promise().then(e):e()})).then((function(){return t.animation({style:s,duration:o,easing:t.pstyle("transition-timing-function").value,queue:!1}).play().promise()})).then((function(){n.removeBypasses(t,i),t.emitAndNotify("style"),r.transitioning=!1}))}else r.transitioning&&(this.removeBypasses(t,i),t.emitAndNotify("style"),r.transitioning=!1)},Co.checkTrigger=function(t,e,n,r,i,o){var a=this.properties[e],s=i(a);null!=s&&s(n,r)&&o(a)},Co.checkZOrderTrigger=function(t,e,n,r){var i=this;this.checkTrigger(t,e,n,r,(function(t){return t.triggersZOrder}),(function(){i._private.cy.notify("zorder",t)}))},Co.checkBoundsTrigger=function(t,e,n,r){this.checkTrigger(t,e,n,r,(function(t){return t.triggersBounds}),(function(i){t.dirtyCompoundBoundsCache(),t.dirtyBoundingBoxCache(),!i.triggersBoundsOfParallelBeziers||"curve-style"!==e||"bezier"!==n&&"bezier"!==r||t.parallelEdges().forEach((function(t){t.isBundledBezier()&&t.dirtyBoundingBoxCache()})),!i.triggersBoundsOfConnectedEdges||"display"!==e||"none"!==n&&"none"!==r||t.connectedEdges().forEach((function(t){t.dirtyBoundingBoxCache()}))}))},Co.checkTriggers=function(t,e,n,r){t.dirtyStyleCache(),this.checkZOrderTrigger(t,e,n,r),this.checkBoundsTrigger(t,e,n,r)};var Ao={applyBypass:function(t,e,n,r){var i=[];if("*"===e||"**"===e){if(void 0!==n)for(var o=0;oe.length?o.substr(e.length):""}function s(){n=n.length>r.length?n.substr(r.length):""}for(o=o.replace(/[/][*](\s|.)+?[*][/]/g,"");!o.match(/^\s*$/);){var c=o.match(/^\s*((?:.|\s)+?)\s*\{((?:.|\s)+?)\}/);if(!c){Nt("Halting stylesheet parsing: String stylesheet contains more to parse but no selector and block found in: "+o);break}e=c[0];var u=c[1];if("core"!==u&&new Tr(u).invalid)Nt("Skipping parsing of block: Invalid selector found in string stylesheet: "+u),a();else{var l=c[2],h=!1;n=l;for(var f=[];!n.match(/^\s*$/);){var d=n.match(/^\s*(.+?)\s*:\s*(.+?)(?:\s*;|\s*$)/);if(!d){Nt("Skipping parsing of block: Invalid formatting of style property and value definitions found in:"+l),h=!0;break}r=d[0];var p=d[1],g=d[2];this.properties[p]?i.parse(p,g)?(f.push({name:p,val:g}),s()):(Nt("Skipping property: Invalid property definition in: "+r),s()):(Nt("Skipping property: Invalid property name in: "+r),s())}if(h){a();break}i.selector(u);for(var v=0;v=7&&"d"===e[0]&&(u=new RegExp(s.data.regex).exec(e))){if(n)return!1;var f=s.data;return{name:t,value:u,strValue:""+e,mapped:f,field:u[1],bypass:n}}if(e.length>=10&&"m"===e[0]&&(l=new RegExp(s.mapData.regex).exec(e))){if(n)return!1;if(h.multiple)return!1;var d=s.mapData;if(!h.color&&!h.number)return!1;var p=this.parse(t,l[4]);if(!p||p.mapped)return!1;var g=this.parse(t,l[5]);if(!g||g.mapped)return!1;if(p.pfValue===g.pfValue||p.strValue===g.strValue)return Nt("`"+t+": "+e+"` is not a valid mapper because the output range is zero; converting to `"+t+": "+p.strValue+"`"),this.parse(t,p.strValue);if(h.color){var v=p.value,b=g.value;if(!(v[0]!==b[0]||v[1]!==b[1]||v[2]!==b[2]||v[3]!==b[3]&&(null!=v[3]&&1!==v[3]||null!=b[3]&&1!==b[3])))return!1}return{name:t,value:l,strValue:""+e,mapped:d,field:l[1],fieldMin:parseFloat(l[2]),fieldMax:parseFloat(l[3]),valueMin:p.value,valueMax:g.value,bypass:n}}}if(h.multiple&&"multiple"!==r){var y;if(y=c?e.split(/\s+/):O(e)?e:[e],h.evenMultiple&&y.length%2!=0)return null;for(var m=[],w=[],x=[],_="",E=!1,k=0;k0?" ":"")+T.strValue}return h.validate&&!h.validate(m,w)?null:h.singleEnum&&E?1===m.length&&A(m[0])?{name:t,value:m[0],strValue:m[0],bypass:n}:null:{name:t,value:m,pfValue:x,strValue:_,bypass:n,units:w}}var C,N,L,M=function(){for(var r=0;rh.max||h.strictMax&&e===h.max))return null;var G={name:t,value:e,strValue:""+e+(P||""),units:P,bypass:n};return h.unitless||"px"!==P&&"em"!==P?G.pfValue=e:G.pfValue="px"!==P&&P?this.getEmSizeInPixels()*e:e,"ms"!==P&&"s"!==P||(G.pfValue="ms"===P?e:1e3*e),"deg"!==P&&"rad"!==P||(G.pfValue="rad"===P?e:(C=e,Math.PI*C/180)),"%"===P&&(G.pfValue=e/100),G}if(h.propList){var B=[],F=""+e;if("none"===F);else{for(var H=F.split(/\s*,\s*|\s+/),z=0;z255)return;e.push(Math.floor(o))}var a=r[1]||r[2]||r[3],s=r[1]&&r[2]&&r[3];if(a&&!s)return;var c=n[4];if(void 0!==c){if((c=parseFloat(c))<0||c>1)return;e.push(c)}}return e}(L)||function(t){var e,n,r,i,o,a,s,c;function u(t,e,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?t+6*(e-t)*n:n<.5?e:n<2/3?t+(e-t)*(2/3-n)*6:t}var l=new RegExp("^"+$+"$").exec(t);if(l){if((n=parseInt(l[1]))<0?n=(360- -1*n%360)%360:n>360&&(n%=360),n/=360,(r=parseFloat(l[2]))<0||r>100)return;if(r/=100,(i=parseFloat(l[3]))<0||i>100)return;if(i/=100,void 0!==(o=l[4])&&((o=parseFloat(o))<0||o>1))return;if(0===r)a=s=c=Math.round(255*i);else{var h=i<.5?i*(1+r):i+r-i*r,f=2*i-h;a=Math.round(255*u(f,h,n+1/3)),s=Math.round(255*u(f,h,n)),c=Math.round(255*u(f,h,n-1/3))}e=[a,s,c,o]}return e}(L);return V?{name:t,value:V,pfValue:V,strValue:"rgb("+V[0]+","+V[1]+","+V[2]+")",bypass:n}:null}if(h.regex||h.regexes){if(h.enums){var W=M();if(W)return W}for(var Z=h.regexes?h.regexes:[h.regex],K=0;K0&&c>0&&!isNaN(n.w)&&!isNaN(n.h)&&n.w>0&&n.h>0)return{zoom:a=(a=(a=Math.min((s-2*e)/n.w,(c-2*e)/n.h))>this._private.maxZoom?this._private.maxZoom:a)=n.minZoom&&(n.maxZoom=e),this},minZoom:function(t){return void 0===t?this._private.minZoom:this.zoomRange({min:t})},maxZoom:function(t){return void 0===t?this._private.maxZoom:this.zoomRange({max:t})},getZoomedViewport:function(t){var e,n,r=this._private,i=r.pan,o=r.zoom,a=!1;if(r.zoomingEnabled||(a=!0),I(t)?n=t:L(t)&&(n=t.level,null!=t.position?e=ne(t.position,o,i):null!=t.renderedPosition&&(e=t.renderedPosition),null==e||r.panningEnabled||(a=!0)),n=(n=n>r.maxZoom?r.maxZoom:n)e.maxZoom||!e.zoomingEnabled?o=!0:(e.zoom=s,i.push("zoom"))}if(r&&(!o||!t.cancelOnFailedZoom)&&e.panningEnabled){var c=t.pan;I(c.x)&&(e.pan.x=c.x,a=!1),I(c.y)&&(e.pan.y=c.y,a=!1),a||i.push("pan")}return i.length>0&&(i.push("viewport"),this.emit(i.join(" ")),this.notify("viewport")),this},center:function(t){var e=this.getCenterPan(t);return e&&(this._private.pan=e,this.emit("pan viewport"),this.notify("viewport")),this},getCenterPan:function(t,e){if(this._private.panningEnabled){if(A(t)){var n=t;t=this.mutableElements().filter(n)}else P(t)||(t=this.mutableElements());if(0!==t.length){var r=t.boundingBox(),i=this.width(),o=this.height();return{x:(i-(e=void 0===e?this._private.zoom:e)*(r.x1+r.x2))/2,y:(o-e*(r.y1+r.y2))/2}}}},reset:function(){return this._private.panningEnabled&&this._private.zoomingEnabled?(this.viewport({pan:{x:0,y:0},zoom:1}),this):this},invalidateSize:function(){this._private.sizeCache=null},size:function(){var t,e,n=this._private,r=n.container;return n.sizeCache=n.sizeCache||(r?(t=this.window().getComputedStyle(r),e=function(e){return parseFloat(t.getPropertyValue(e))},{width:r.clientWidth-e("padding-left")-e("padding-right"),height:r.clientHeight-e("padding-top")-e("padding-bottom")}):{width:1,height:1})},width:function(){return this.size().width},height:function(){return this.size().height},extent:function(){var t=this._private.pan,e=this._private.zoom,n=this.renderedExtent(),r={x1:(n.x1-t.x)/e,x2:(n.x2-t.x)/e,y1:(n.y1-t.y)/e,y2:(n.y2-t.y)/e};return r.w=r.x2-r.x1,r.h=r.y2-r.y1,r},renderedExtent:function(){var t=this.width(),e=this.height();return{x1:0,y1:0,x2:t,y2:e,w:t,h:e}},multiClickDebounceTime:function(t){return t?(this._private.multiClickDebounceTime=t,this):this._private.multiClickDebounceTime}};Go.centre=Go.center,Go.autolockNodes=Go.autolock,Go.autoungrabifyNodes=Go.autoungrabify;var Bo={data:sr.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeData:sr.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),scratch:sr.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:sr.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0})};Bo.attr=Bo.data,Bo.removeAttr=Bo.removeData;var Fo=function(t){var e=this,n=(t=Q({},t)).container;n&&!M(n)&&M(n[0])&&(n=n[0]);var r=n?n._cyreg:null;(r=r||{})&&r.cy&&(r.cy.destroy(),r={});var i=r.readies=r.readies||[];n&&(n._cyreg=r),r.cy=e;var o=void 0!==x&&void 0!==n&&!t.headless,a=t;a.layout=Q({name:o?"grid":"null"},a.layout),a.renderer=Q({name:o?"canvas":"null"},a.renderer);var s=function(t,e,n){return void 0!==e?e:void 0!==n?n:t},c=this._private={container:n,ready:!1,options:a,elements:new eo(this),listeners:[],aniEles:new eo(this),data:a.data||{},scratch:{},layout:null,renderer:null,destroyed:!1,notificationsEnabled:!0,minZoom:1e-50,maxZoom:1e50,zoomingEnabled:s(!0,a.zoomingEnabled),userZoomingEnabled:s(!0,a.userZoomingEnabled),panningEnabled:s(!0,a.panningEnabled),userPanningEnabled:s(!0,a.userPanningEnabled),boxSelectionEnabled:s(!0,a.boxSelectionEnabled),autolock:s(!1,a.autolock,a.autolockNodes),autoungrabify:s(!1,a.autoungrabify,a.autoungrabifyNodes),autounselectify:s(!1,a.autounselectify),styleEnabled:void 0===a.styleEnabled?o:a.styleEnabled,zoom:I(a.zoom)?a.zoom:1,pan:{x:L(a.pan)&&I(a.pan.x)?a.pan.x:0,y:L(a.pan)&&I(a.pan.y)?a.pan.y:0},animation:{current:[],queue:[]},hasCompoundNodes:!1,multiClickDebounceTime:s(250,a.multiClickDebounceTime)};this.createEmitter(),this.selectionType(a.selectionType),this.zoomRange({min:a.minZoom,max:a.maxZoom}),c.styleEnabled&&e.setStyle([]);var u=Q({},a,a.renderer);e.initRenderer(u),function(t,e){if(t.some(F))return er.all(t).then(e);e(t)}([a.style,a.elements],(function(t){var n=t[0],o=t[1];c.styleEnabled&&e.style().append(n),function(t,n,r){e.notifications(!1);var i=e.mutableElements();i.length>0&&i.remove(),null!=t&&(L(t)||O(t))&&e.add(t),e.one("layoutready",(function(t){e.notifications(!0),e.emit(t),e.one("load",n),e.emitAndNotify("load")})).one("layoutstop",(function(){e.one("done",r),e.emit("done")}));var o=Q({},e._private.options.layout);o.eles=e.elements(),e.layout(o).run()}(o,(function(){e.startAnimationLoop(),c.ready=!0,S(a.ready)&&e.on("ready",a.ready);for(var t=0;t0,u=pe(n.boundingBox?n.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()});if(P(n.roots))t=n.roots;else if(O(n.roots)){for(var l=[],h=0;h0;){var L=C.shift(),I=T(L,N);if(I)L.outgoers().filter((function(t){return t.isNode()&&i.has(t)})).forEach(S);else if(null===I){Nt("Detected double maximal shift for node `"+L.id()+"`. Bailing maximal adjustment due to cycle. Use `options.maximal: true` only on DAGs.");break}}}k();var M=0;if(n.avoidOverlap)for(var D=0;D0&&b[0].length<=3?c/2:0),h=2*Math.PI/b[r].length*i;return 0===r&&1===b[0].length&&(l=1),{x:X+l*Math.cos(h),y:W+l*Math.sin(h)}}return{x:X+(i+1-(o+1)/2)*a,y:(r+1)*s}})),this};var Xo={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,radius:void 0,startAngle:1.5*Math.PI,sweep:void 0,clockwise:!0,sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(t,e){return!0},ready:void 0,stop:void 0,transform:function(t,e){return e}};function Wo(t){this.options=Q({},Xo,t)}Wo.prototype.run=function(){var t=this.options,e=t,n=t.cy,r=e.eles,i=void 0!==e.counterclockwise?!e.counterclockwise:e.clockwise,o=r.nodes().not(":parent");e.sort&&(o=o.sort(e.sort));for(var a,s=pe(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:n.width(),h:n.height()}),c=s.x1+s.w/2,u=s.y1+s.h/2,l=(void 0===e.sweep?2*Math.PI-2*Math.PI/o.length:e.sweep)/Math.max(1,o.length-1),h=0,f=0;f1&&e.avoidOverlap){h*=1.75;var v=Math.cos(l)-Math.cos(0),b=Math.sin(l)-Math.sin(0),y=Math.sqrt(h*h/(v*v+b*b));a=Math.max(y,a)}return r.nodes().layoutPositions(this,e,(function(t,n){var r=e.startAngle+n*l*(i?1:-1),o=a*Math.cos(r),s=a*Math.sin(r);return{x:c+o,y:u+s}})),this};var $o,Zo={fit:!0,padding:30,startAngle:1.5*Math.PI,sweep:void 0,clockwise:!0,equidistant:!1,minNodeSpacing:10,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,height:void 0,width:void 0,spacingFactor:void 0,concentric:function(t){return t.degree()},levelWidth:function(t){return t.maxDegree()/4},animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(t,e){return!0},ready:void 0,stop:void 0,transform:function(t,e){return e}};function Ko(t){this.options=Q({},Zo,t)}Ko.prototype.run=function(){for(var t=this.options,e=t,n=void 0!==e.counterclockwise?!e.counterclockwise:e.clockwise,r=t.cy,i=e.eles,o=i.nodes().not(":parent"),a=pe(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()}),s=a.x1+a.w/2,c=a.y1+a.h/2,u=[],l=0,h=0;h0&&Math.abs(y[0].value-w.value)>=v&&(y=[],b.push(y)),y.push(w)}var x=l+e.minNodeSpacing;if(!e.avoidOverlap){var _=b.length>0&&b[0].length>1,E=(Math.min(a.w,a.h)/2-x)/(b.length+_?1:0);x=Math.min(x,E)}for(var k=0,T=0;T1&&e.avoidOverlap){var S=Math.cos(A)-Math.cos(0),O=Math.sin(A)-Math.sin(0),L=Math.sqrt(x*x/(S*S+O*O));k=Math.max(L,k)}C.r=k,k+=x}if(e.equidistant){for(var I=0,M=0,P=0;P=t.numIter||(aa(r,t),r.temperature=r.temperature*t.coolingFactor,r.temperature=t.animationThreshold&&o(),ot(e)):(ya(r,t),s())}();else{for(;u;)u=a(c),c++;ya(r,t),s()}return this},Jo.prototype.stop=function(){return this.stopped=!0,this.thread&&this.thread.stop(),this.emit("layoutstop"),this},Jo.prototype.destroy=function(){return this.thread&&this.thread.stop(),this};var ta=function(t,e,n){for(var r=n.eles.edges(),i=n.eles.nodes(),o=pe(n.boundingBox?n.boundingBox:{x1:0,y1:0,w:t.width(),h:t.height()}),a={isCompound:t.hasCompoundNodes(),layoutNodes:[],idToIndex:{},nodeSize:i.size(),graphSet:[],indexToGraph:[],layoutEdges:[],edgeSize:r.size(),temperature:n.initialTemp,clientWidth:o.w,clientHeight:o.h,boundingBox:o},s=n.eles.components(),c={},u=0;u0)for(a.graphSet.push(x),u=0;ur.count?0:r.graph},na=function t(e,n,r,i){var o=i.graphSet[r];if(-10)var s=(u=r.nodeOverlap*a)*i/(g=Math.sqrt(i*i+o*o)),c=u*o/g;else{var u,l=ha(t,i,o),h=ha(e,-1*i,-1*o),f=h.x-l.x,d=h.y-l.y,p=f*f+d*d,g=Math.sqrt(p);s=(u=(t.nodeRepulsion+e.nodeRepulsion)/p)*f/g,c=u*d/g}t.isLocked||(t.offsetX-=s,t.offsetY-=c),e.isLocked||(e.offsetX+=s,e.offsetY+=c)}},la=function(t,e,n,r){if(n>0)var i=t.maxX-e.minX;else i=e.maxX-t.minX;if(r>0)var o=t.maxY-e.minY;else o=e.maxY-t.minY;return i>=0&&o>=0?Math.sqrt(i*i+o*o):0},ha=function(t,e,n){var r=t.positionX,i=t.positionY,o=t.height||1,a=t.width||1,s=n/e,c=o/a,u={};return 0===e&&0n?(u.x=r,u.y=i+o/2,u):0e&&-1*c<=s&&s<=c?(u.x=r-a/2,u.y=i-a*n/2/e,u):0=c)?(u.x=r+o*e/2/n,u.y=i+o/2,u):0>n&&(s<=-1*c||s>=c)?(u.x=r-o*e/2/n,u.y=i-o/2,u):u},fa=function(t,e){for(var n=0;n1){var p=e.gravity*h/d,g=e.gravity*f/d;l.offsetX+=p,l.offsetY+=g}}}}},pa=function(t,e){var n=[],r=0,i=-1;for(n.push.apply(n,t.graphSet[0]),i+=t.graphSet[0].length;r<=i;){var o=n[r++],a=t.idToIndex[o],s=t.layoutNodes[a],c=s.children;if(0n)var i={x:n*t/r,y:n*e/r};else i={x:t,y:e};return i},ba=function t(e,n){var r=e.parentId;if(null!=r){var i=n.layoutNodes[n.idToIndex[r]],o=!1;return(null==i.maxX||e.maxX+i.padRight>i.maxX)&&(i.maxX=e.maxX+i.padRight,o=!0),(null==i.minX||e.minX-i.padLefti.maxY)&&(i.maxY=e.maxY+i.padBottom,o=!0),(null==i.minY||e.minY-i.padTopp&&(h+=d+e.componentSpacing,l=0,f=0,d=0)}}},ma={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,avoidOverlapPadding:10,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,condense:!1,rows:void 0,cols:void 0,position:function(t){},sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(t,e){return!0},ready:void 0,stop:void 0,transform:function(t,e){return e}};function wa(t){this.options=Q({},ma,t)}wa.prototype.run=function(){var t=this.options,e=t,n=t.cy,r=e.eles,i=r.nodes().not(":parent");e.sort&&(i=i.sort(e.sort));var o=pe(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:n.width(),h:n.height()});if(0===o.h||0===o.w)r.nodes().layoutPositions(this,e,(function(t){return{x:o.x1,y:o.y1}}));else{var a=i.size(),s=Math.sqrt(a*o.h/o.w),c=Math.round(s),u=Math.round(o.w/o.h*s),l=function(t){if(null==t)return Math.min(c,u);Math.min(c,u)==c?c=t:u=t},h=function(t){if(null==t)return Math.max(c,u);Math.max(c,u)==c?c=t:u=t},f=e.rows,d=null!=e.cols?e.cols:e.columns;if(null!=f&&null!=d)c=f,u=d;else if(null!=f&&null==d)c=f,u=Math.ceil(a/c);else if(null==f&&null!=d)u=d,c=Math.ceil(a/u);else if(u*c>a){var p=l(),g=h();(p-1)*g>=a?l(p-1):(g-1)*p>=a&&h(g-1)}else for(;u*c=a?h(b+1):l(v+1)}var y=o.w/u,m=o.h/c;if(e.condense&&(y=0,m=0),e.avoidOverlap)for(var w=0;w=u&&(L=0,O++)},M={},P=0;P(r=Ne(t,e,w[x],w[x+1],w[x+2],w[x+3])))return v(n,r),!0}else if("bezier"===o.edgeType||"multibezier"===o.edgeType||"self"===o.edgeType||"compound"===o.edgeType)for(w=o.allpts,x=0;x+5(r=Ce(t,e,w[x],w[x+1],w[x+2],w[x+3],w[x+4],w[x+5])))return v(n,r),!0;y=y||i.source,m=m||i.target;var _=a.getArrowWidth(c,l),E=[{name:"source",x:o.arrowStartX,y:o.arrowStartY,angle:o.srcArrowAngle},{name:"target",x:o.arrowEndX,y:o.arrowEndY,angle:o.tgtArrowAngle},{name:"mid-source",x:o.midX,y:o.midY,angle:o.midsrcArrowAngle},{name:"mid-target",x:o.midX,y:o.midY,angle:o.midtgtArrowAngle}];for(x=0;x0&&(b(y),b(m))}function m(t,e,n){return Dt(t,e,n)}function w(n,r){var i,o=n._private,a=p;i=r?r+"-":"",n.boundingBox();var s=o.labelBounds[r||"main"],c=n.pstyle(i+"label").value;if("yes"===n.pstyle("text-events").strValue&&c){var u=m(o.rscratch,"labelX",r),l=m(o.rscratch,"labelY",r),h=m(o.rscratch,"labelAngle",r),f=n.pstyle(i+"text-margin-x").pfValue,d=n.pstyle(i+"text-margin-y").pfValue,g=s.x1-a-f,b=s.x2+a-f,y=s.y1-a-d,w=s.y2+a-d;if(h){var x=Math.cos(h),_=Math.sin(h),E=function(t,e){return{x:(t-=u)*x-(e-=l)*_+u,y:t*_+e*x+l}},k=E(g,y),T=E(g,w),C=E(b,y),N=E(b,w),A=[k.x+f,k.y+d,C.x+f,C.y+d,N.x+f,N.y+d,T.x+f,T.y+d];if(Ae(t,e,A))return v(n),!0}else if(xe(s,t,e))return v(n),!0}}n&&(c=c.interactive);for(var x=c.length-1;x>=0;x--){var _=c[x];_.isNode()?b(_)||w(_):y(_)||w(_)||w(_,"source")||w(_,"target")}return u},getAllInBox:function(t,e,n,r){for(var i,o,a=this.getCachedZSortedEles().interactive,s=[],c=Math.min(t,n),u=Math.max(t,n),l=Math.min(e,r),h=Math.max(e,r),f=pe({x1:t=c,y1:e=l,x2:n=u,y2:r=h}),d=0;d0?Math.max(t-e,0):Math.min(t+e,0)},N=C(k,_),A=C(T,E),S=!1;"auto"===v?g=Math.abs(N)>Math.abs(A)?i:r:v===c||v===s?(g=r,S=!0):v!==o&&v!==a||(g=i,S=!0);var O,L=g===r,I=L?A:N,M=L?T:k,P=se(M),D=!1;S&&(y||w)||!(v===s&&M<0||v===c&&M>0||v===o&&M>0||v===a&&M<0)||(I=(P*=-1)*Math.abs(I),D=!0);var R=function(t){return Math.abs(t)=Math.abs(I)},j=R(O=y?(m<0?1+m:m)*I:(m<0?I:0)+m*P),G=R(Math.abs(I)-Math.abs(O));if(!j&&!G||D)if(L){var B=u.y1+O+(p?h/2*P:0),F=u.x1,H=u.x2;n.segpts=[F,B,H,B]}else{var Y=u.x1+O+(p?l/2*P:0),z=u.y1,U=u.y2;n.segpts=[Y,z,Y,U]}else if(L){var V=Math.abs(M)<=h/2,q=Math.abs(k)<=f/2;if(V){var X=(u.x1+u.x2)/2,W=u.y1,$=u.y2;n.segpts=[X,W,X,$]}else if(q){var Z=(u.y1+u.y2)/2,K=u.x1,Q=u.x2;n.segpts=[K,Z,Q,Z]}else n.segpts=[u.x1,u.y2]}else{var J=Math.abs(M)<=l/2,tt=Math.abs(T)<=d/2;if(J){var et=(u.y1+u.y2)/2,nt=u.x1,rt=u.x2;n.segpts=[nt,et,rt,et]}else if(tt){var it=(u.x1+u.x2)/2,ot=u.y1,at=u.y2;n.segpts=[it,ot,it,at]}else n.segpts=[u.x2,u.y1]}},Pa.tryToCorrectInvalidPoints=function(t,e){var n=t._private.rscratch;if("bezier"===n.edgeType){var r=e.srcPos,i=e.tgtPos,o=e.srcW,a=e.srcH,s=e.tgtW,c=e.tgtH,u=e.srcShape,l=e.tgtShape,h=!I(n.startX)||!I(n.startY),f=!I(n.arrowStartX)||!I(n.arrowStartY),d=!I(n.endX)||!I(n.endY),p=!I(n.arrowEndX)||!I(n.arrowEndY),g=this.getArrowWidth(t.pstyle("width").pfValue,t.pstyle("arrow-scale").value)*this.arrowShapeWidth*3,v=ce({x:n.ctrlpts[0],y:n.ctrlpts[1]},{x:n.startX,y:n.startY}),b=vf.poolIndex()){var d=h;h=f,f=d}var p=s.srcPos=h.position(),g=s.tgtPos=f.position(),v=s.srcW=h.outerWidth(),b=s.srcH=h.outerHeight(),y=s.tgtW=f.outerWidth(),m=s.tgtH=f.outerHeight(),w=s.srcShape=n.nodeShapes[e.getNodeShape(h)],x=s.tgtShape=n.nodeShapes[e.getNodeShape(f)];s.dirCounts={north:0,west:0,south:0,east:0,northwest:0,southwest:0,northeast:0,southeast:0};for(var _=0;_0){var Y=u,z=ue(Y,ie(e)),U=ue(Y,ie(H)),V=z;U2&&ue(Y,{x:H[2],y:H[3]})0){var it=l,ot=ue(it,ie(e)),at=ue(it,ie(rt)),st=ot;at2&&ue(it,{x:rt[2],y:rt[3]})=u||y){l={cp:g,segment:b};break}}if(l)break}var m=l.cp,w=l.segment,x=(u-f)/w.length,_=w.t1-w.t0,E=s?w.t0+_*x:w.t1-_*x;E=de(0,E,1),e=fe(m.p0,m.p1,m.p2,E),i=function(t,e,n,r){var i=de(0,r-.001,1),o=de(0,r+.001,1),a=fe(t,e,n,i),s=fe(t,e,n,o);return Ha(a,s)}(m.p0,m.p1,m.p2,E);break;case"straight":case"segments":case"haystack":for(var k,T,C,N,A=0,S=r.allpts.length,O=0;O+3=u));O+=2);var L=(u-T)/k;L=de(0,L,1),e=function(t,e,n,r){var i=e.x-t.x,o=e.y-t.y,a=ce(t,e),s=i/a,c=o/a;return n=null==n?0:n,r=null!=r?r:n*a,{x:t.x+s*r,y:t.y+c*r}}(C,N,L),i=Ha(C,N)}a("labelX",n,e.x),a("labelY",n,e.y),a("labelAutoAngle",n,i)}};u("source"),u("target"),this.applyLabelDimensions(t)}},Ba.applyLabelDimensions=function(t){this.applyPrefixedLabelDimensions(t),t.isEdge()&&(this.applyPrefixedLabelDimensions(t,"source"),this.applyPrefixedLabelDimensions(t,"target"))},Ba.applyPrefixedLabelDimensions=function(t,e){var n=t._private,r=this.getLabelText(t,e),i=this.calculateLabelDimensions(t,r),o=t.pstyle("line-height").pfValue,a=t.pstyle("text-wrap").strValue,s=Dt(n.rscratch,"labelWrapCachedLines",e)||[],c="wrap"!==a?1:Math.max(s.length,1),u=i.height/c,l=u*o,h=i.width,f=i.height+(c-1)*(o-1)*u;Rt(n.rstyle,"labelWidth",e,h),Rt(n.rscratch,"labelWidth",e,h),Rt(n.rstyle,"labelHeight",e,f),Rt(n.rscratch,"labelHeight",e,f),Rt(n.rscratch,"labelLineHeight",e,l)},Ba.getLabelText=function(t,e){var n=t._private,r=e?e+"-":"",i=t.pstyle(r+"label").strValue,o=t.pstyle("text-transform").value,a=function(t,r){return r?(Rt(n.rscratch,t,e,r),r):Dt(n.rscratch,t,e)};if(!i)return"";"none"==o||("uppercase"==o?i=i.toUpperCase():"lowercase"==o&&(i=i.toLowerCase()));var s=t.pstyle("text-wrap").value;if("wrap"===s){var c=a("labelKey");if(null!=c&&a("labelWrapKey")===c)return a("labelWrapCachedText");for(var u=i.split("\n"),l=t.pstyle("text-max-width").pfValue,h="anywhere"===t.pstyle("text-overflow-wrap").value,f=[],d=/[\s\u200b]+/,p=h?"":" ",g=0;gl){for(var m=v.split(d),w="",x=0;xk);N++)T+=i[N],N===i.length-1&&(C=!0);return C||(T+="…"),T}return i},Ba.getLabelJustification=function(t){var e=t.pstyle("text-justification").strValue,n=t.pstyle("text-halign").strValue;if("auto"!==e)return e;if(!t.isNode())return"center";switch(n){case"left":return"right";case"right":return"left";default:return"center"}},Ba.calculateLabelDimensions=function(t,e){var n=pt(e,t._private.labelDimsKey),r=this.labelDimCache||(this.labelDimCache=[]),i=r[n];if(null!=i)return i;var o=t.pstyle("font-style").strValue,a=t.pstyle("font-size").pfValue,s=t.pstyle("font-family").strValue,c=t.pstyle("font-weight").strValue,u=this.labelCalcCanvas,l=this.labelCalcCanvasContext;if(!u){u=this.labelCalcCanvas=document.createElement("canvas"),l=this.labelCalcCanvasContext=u.getContext("2d");var h=u.style;h.position="absolute",h.left="-9999px",h.top="-9999px",h.zIndex="-1",h.visibility="hidden",h.pointerEvents="none"}l.font="".concat(o," ").concat(c," ").concat(a,"px ").concat(s);for(var f=0,d=0,p=e.split("\n"),g=0;g1&&void 0!==arguments[1])||arguments[1];if(e.merge(t),n)for(var r=0;r=t.desktopTapThreshold2}var C=i(e);v&&(t.hoverData.tapholdCancelled=!0),n=!0,r(g,["mousemove","vmousemove","tapdrag"],e,{x:u[0],y:u[1]});var N=function(){t.data.bgActivePosistion=void 0,t.hoverData.selecting||a.emit({originalEvent:e,type:"boxstart",position:{x:u[0],y:u[1]}}),p[4]=1,t.hoverData.selecting=!0,t.redrawHint("select",!0),t.redraw()};if(3===t.hoverData.which){if(v){var A={originalEvent:e,type:"cxtdrag",position:{x:u[0],y:u[1]}};y?y.emit(A):a.emit(A),t.hoverData.cxtDragged=!0,t.hoverData.cxtOver&&g===t.hoverData.cxtOver||(t.hoverData.cxtOver&&t.hoverData.cxtOver.emit({originalEvent:e,type:"cxtdragout",position:{x:u[0],y:u[1]}}),t.hoverData.cxtOver=g,g&&g.emit({originalEvent:e,type:"cxtdragover",position:{x:u[0],y:u[1]}}))}}else if(t.hoverData.dragging){if(n=!0,a.panningEnabled()&&a.userPanningEnabled()){var S;if(t.hoverData.justStartedPan){var O=t.hoverData.mdownPos;S={x:(u[0]-O[0])*s,y:(u[1]-O[1])*s},t.hoverData.justStartedPan=!1}else S={x:m[0]*s,y:m[1]*s};a.panBy(S),a.emit("dragpan"),t.hoverData.dragged=!0}u=t.projectIntoViewport(e.clientX,e.clientY)}else if(1!=p[4]||null!=y&&!y.pannable()){if(y&&y.pannable()&&y.active()&&y.unactivate(),y&&y.grabbed()||g==b||(b&&r(b,["mouseout","tapdragout"],e,{x:u[0],y:u[1]}),g&&r(g,["mouseover","tapdragover"],e,{x:u[0],y:u[1]}),t.hoverData.last=g),y)if(v){if(a.boxSelectionEnabled()&&C)y&&y.grabbed()&&(f(w),y.emit("freeon"),w.emit("free"),t.dragData.didDrag&&(y.emit("dragfreeon"),w.emit("dragfree"))),N();else if(y&&y.grabbed()&&t.nodeIsDraggable(y)){var L=!t.dragData.didDrag;L&&t.redrawHint("eles",!0),t.dragData.didDrag=!0,t.hoverData.draggingEles||l(w,{inDragLayer:!0});var M={x:0,y:0};if(I(m[0])&&I(m[1])&&(M.x+=m[0],M.y+=m[1],L)){var P=t.hoverData.dragDelta;P&&I(P[0])&&I(P[1])&&(M.x+=P[0],M.y+=P[1])}t.hoverData.draggingEles=!0,w.silentShift(M).emit("position drag"),t.redrawHint("drag",!0),t.redraw()}}else!function(){var e=t.hoverData.dragDelta=t.hoverData.dragDelta||[];0===e.length?(e.push(m[0]),e.push(m[1])):(e[0]+=m[0],e[1]+=m[1])}();n=!0}else v&&(t.hoverData.dragging||!a.boxSelectionEnabled()||!C&&a.panningEnabled()&&a.userPanningEnabled()?!t.hoverData.selecting&&a.panningEnabled()&&a.userPanningEnabled()&&o(y,t.hoverData.downs)&&(t.hoverData.dragging=!0,t.hoverData.justStartedPan=!0,p[4]=0,t.data.bgActivePosistion=ie(h),t.redrawHint("select",!0),t.redraw()):N(),y&&y.pannable()&&y.active()&&y.unactivate());return p[2]=u[0],p[3]=u[1],n?(e.stopPropagation&&e.stopPropagation(),e.preventDefault&&e.preventDefault(),!1):void 0}}),!1),t.registerBinding(e,"mouseup",(function(e){if(t.hoverData.capture){t.hoverData.capture=!1;var o=t.cy,a=t.projectIntoViewport(e.clientX,e.clientY),s=t.selection,c=t.findNearestElement(a[0],a[1],!0,!1),u=t.dragData.possibleDragElements,l=t.hoverData.down,h=i(e);if(t.data.bgActivePosistion&&(t.redrawHint("select",!0),t.redraw()),t.hoverData.tapholdCancelled=!0,t.data.bgActivePosistion=void 0,l&&l.unactivate(),3===t.hoverData.which){var d={originalEvent:e,type:"cxttapend",position:{x:a[0],y:a[1]}};if(l?l.emit(d):o.emit(d),!t.hoverData.cxtDragged){var p={originalEvent:e,type:"cxttap",position:{x:a[0],y:a[1]}};l?l.emit(p):o.emit(p)}t.hoverData.cxtDragged=!1,t.hoverData.which=null}else if(1===t.hoverData.which){if(r(c,["mouseup","tapend","vmouseup"],e,{x:a[0],y:a[1]}),t.dragData.didDrag||t.hoverData.dragged||t.hoverData.selecting||t.hoverData.isOverThresholdDrag||(r(l,["click","tap","vclick"],e,{x:a[0],y:a[1]}),w=!1,e.timeStamp-x<=o.multiClickDebounceTime()?(m&&clearTimeout(m),w=!0,x=null,r(l,["dblclick","dbltap","vdblclick"],e,{x:a[0],y:a[1]})):(m=setTimeout((function(){w||r(l,["oneclick","onetap","voneclick"],e,{x:a[0],y:a[1]})}),o.multiClickDebounceTime()),x=e.timeStamp)),null!=l||t.dragData.didDrag||t.hoverData.selecting||t.hoverData.dragged||i(e)||(o.$(n).unselect(["tapunselect"]),u.length>0&&t.redrawHint("eles",!0),t.dragData.possibleDragElements=u=o.collection()),c!=l||t.dragData.didDrag||t.hoverData.selecting||null!=c&&c._private.selectable&&(t.hoverData.dragging||("additive"===o.selectionType()||h?c.selected()?c.unselect(["tapunselect"]):c.select(["tapselect"]):h||(o.$(n).unmerge(c).unselect(["tapunselect"]),c.select(["tapselect"]))),t.redrawHint("eles",!0)),t.hoverData.selecting){var g=o.collection(t.getAllInBox(s[0],s[1],s[2],s[3]));t.redrawHint("select",!0),g.length>0&&t.redrawHint("eles",!0),o.emit({type:"boxend",originalEvent:e,position:{x:a[0],y:a[1]}});"additive"===o.selectionType()||h||o.$(n).unmerge(g).unselect(),g.emit("box").stdFilter((function(t){return t.selectable()&&!t.selected()})).select().emit("boxselect"),t.redraw()}if(t.hoverData.dragging&&(t.hoverData.dragging=!1,t.redrawHint("select",!0),t.redrawHint("eles",!0),t.redraw()),!s[4]){t.redrawHint("drag",!0),t.redrawHint("eles",!0);var v=l&&l.grabbed();f(u),v&&(l.emit("freeon"),u.emit("free"),t.dragData.didDrag&&(l.emit("dragfreeon"),u.emit("dragfree")))}}s[4]=0,t.hoverData.down=null,t.hoverData.cxtStarted=!1,t.hoverData.draggingEles=!1,t.hoverData.selecting=!1,t.hoverData.isOverThresholdDrag=!1,t.dragData.didDrag=!1,t.hoverData.dragged=!1,t.hoverData.dragDelta=[],t.hoverData.mdownPos=null,t.hoverData.mdownGPos=null}}),!1);var E,k,T,C,N,A,S,O,L,M,P,D,R,j=function(e){if(!t.scrollingPage){var n=t.cy,r=n.zoom(),i=n.pan(),o=t.projectIntoViewport(e.clientX,e.clientY),a=[o[0]*r+i.x,o[1]*r+i.y];if(t.hoverData.draggingEles||t.hoverData.dragging||t.hoverData.cxtStarted||0!==t.selection[4])e.preventDefault();else if(n.panningEnabled()&&n.userPanningEnabled()&&n.zoomingEnabled()&&n.userZoomingEnabled()){var s;e.preventDefault(),t.data.wheelZooming=!0,clearTimeout(t.data.wheelTimeout),t.data.wheelTimeout=setTimeout((function(){t.data.wheelZooming=!1,t.redrawHint("eles",!0),t.redraw()}),150),s=null!=e.deltaY?e.deltaY/-250:null!=e.wheelDeltaY?e.wheelDeltaY/1e3:e.wheelDelta/1e3,s*=t.wheelSensitivity,1===e.deltaMode&&(s*=33);var c=n.zoom()*Math.pow(10,s);"gesturechange"===e.type&&(c=t.gestureStartZoom*e.scale),n.zoom({level:c,renderedPosition:{x:a[0],y:a[1]}}),n.emit("gesturechange"===e.type?"pinchzoom":"scrollzoom")}}};t.registerBinding(t.container,"wheel",j,!0),t.registerBinding(e,"scroll",(function(e){t.scrollingPage=!0,clearTimeout(t.scrollingPageTimeout),t.scrollingPageTimeout=setTimeout((function(){t.scrollingPage=!1}),250)}),!0),t.registerBinding(t.container,"gesturestart",(function(e){t.gestureStartZoom=t.cy.zoom(),t.hasTouchStarted||e.preventDefault()}),!0),t.registerBinding(t.container,"gesturechange",(function(e){t.hasTouchStarted||j(e)}),!0),t.registerBinding(t.container,"mouseout",(function(e){var n=t.projectIntoViewport(e.clientX,e.clientY);t.cy.emit({originalEvent:e,type:"mouseout",position:{x:n[0],y:n[1]}})}),!1),t.registerBinding(t.container,"mouseover",(function(e){var n=t.projectIntoViewport(e.clientX,e.clientY);t.cy.emit({originalEvent:e,type:"mouseover",position:{x:n[0],y:n[1]}})}),!1);var G,B,F,H,Y,z,U,V=function(t,e,n,r){return Math.sqrt((n-t)*(n-t)+(r-e)*(r-e))},q=function(t,e,n,r){return(n-t)*(n-t)+(r-e)*(r-e)};if(t.registerBinding(t.container,"touchstart",G=function(e){if(t.hasTouchStarted=!0,_(e)){p(),t.touchData.capture=!0,t.data.bgActivePosistion=void 0;var n=t.cy,i=t.touchData.now,o=t.touchData.earlier;if(e.touches[0]){var a=t.projectIntoViewport(e.touches[0].clientX,e.touches[0].clientY);i[0]=a[0],i[1]=a[1]}if(e.touches[1]&&(a=t.projectIntoViewport(e.touches[1].clientX,e.touches[1].clientY),i[2]=a[0],i[3]=a[1]),e.touches[2]&&(a=t.projectIntoViewport(e.touches[2].clientX,e.touches[2].clientY),i[4]=a[0],i[5]=a[1]),e.touches[1]){t.touchData.singleTouchMoved=!0,f(t.dragData.touchDragEles);var c=t.findContainerClientCoords();L=c[0],M=c[1],P=c[2],D=c[3],E=e.touches[0].clientX-L,k=e.touches[0].clientY-M,T=e.touches[1].clientX-L,C=e.touches[1].clientY-M,R=0<=E&&E<=P&&0<=T&&T<=P&&0<=k&&k<=D&&0<=C&&C<=D;var u=n.pan(),d=n.zoom();if(N=V(E,k,T,C),A=q(E,k,T,C),O=[((S=[(E+T)/2,(k+C)/2])[0]-u.x)/d,(S[1]-u.y)/d],A<4e4&&!e.touches[2]){var g=t.findNearestElement(i[0],i[1],!0,!0),v=t.findNearestElement(i[2],i[3],!0,!0);return g&&g.isNode()?(g.activate().emit({originalEvent:e,type:"cxttapstart",position:{x:i[0],y:i[1]}}),t.touchData.start=g):v&&v.isNode()?(v.activate().emit({originalEvent:e,type:"cxttapstart",position:{x:i[0],y:i[1]}}),t.touchData.start=v):n.emit({originalEvent:e,type:"cxttapstart",position:{x:i[0],y:i[1]}}),t.touchData.start&&(t.touchData.start._private.grabbed=!1),t.touchData.cxt=!0,t.touchData.cxtDragged=!1,t.data.bgActivePosistion=void 0,void t.redraw()}}if(e.touches[2])n.boxSelectionEnabled()&&e.preventDefault();else if(e.touches[1]);else if(e.touches[0]){var b=t.findNearestElements(i[0],i[1],!0,!0),y=b[0];if(null!=y&&(y.activate(),t.touchData.start=y,t.touchData.starts=b,t.nodeIsGrabbable(y))){var m=t.dragData.touchDragEles=n.collection(),w=null;t.redrawHint("eles",!0),t.redrawHint("drag",!0),y.selected()?(w=n.$((function(e){return e.selected()&&t.nodeIsGrabbable(e)})),l(w,{addToList:m})):h(y,{addToList:m}),s(y);var x=function(t){return{originalEvent:e,type:t,position:{x:i[0],y:i[1]}}};y.emit(x("grabon")),w?w.forEach((function(t){t.emit(x("grab"))})):y.emit(x("grab"))}r(y,["touchstart","tapstart","vmousedown"],e,{x:i[0],y:i[1]}),null==y&&(t.data.bgActivePosistion={x:a[0],y:a[1]},t.redrawHint("select",!0),t.redraw()),t.touchData.singleTouchMoved=!1,t.touchData.singleTouchStartTime=+new Date,clearTimeout(t.touchData.tapholdTimeout),t.touchData.tapholdTimeout=setTimeout((function(){!1!==t.touchData.singleTouchMoved||t.pinching||t.touchData.selecting||r(t.touchData.start,["taphold"],e,{x:i[0],y:i[1]})}),t.tapholdDuration)}if(e.touches.length>=1){for(var I=t.touchData.startPosition=[null,null,null,null,null,null],j=0;j=t.touchTapThreshold2}if(n&&t.touchData.cxt){e.preventDefault();var w=e.touches[0].clientX-L,x=e.touches[0].clientY-M,S=e.touches[1].clientX-L,P=e.touches[1].clientY-M,D=q(w,x,S,P);if(D/A>=2.25||D>=22500){t.touchData.cxt=!1,t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var j={originalEvent:e,type:"cxttapend",position:{x:s[0],y:s[1]}};t.touchData.start?(t.touchData.start.unactivate().emit(j),t.touchData.start=null):a.emit(j)}}if(n&&t.touchData.cxt){j={originalEvent:e,type:"cxtdrag",position:{x:s[0],y:s[1]}},t.data.bgActivePosistion=void 0,t.redrawHint("select",!0),t.touchData.start?t.touchData.start.emit(j):a.emit(j),t.touchData.start&&(t.touchData.start._private.grabbed=!1),t.touchData.cxtDragged=!0;var G=t.findNearestElement(s[0],s[1],!0,!0);t.touchData.cxtOver&&G===t.touchData.cxtOver||(t.touchData.cxtOver&&t.touchData.cxtOver.emit({originalEvent:e,type:"cxtdragout",position:{x:s[0],y:s[1]}}),t.touchData.cxtOver=G,G&&G.emit({originalEvent:e,type:"cxtdragover",position:{x:s[0],y:s[1]}}))}else if(n&&e.touches[2]&&a.boxSelectionEnabled())e.preventDefault(),t.data.bgActivePosistion=void 0,this.lastThreeTouch=+new Date,t.touchData.selecting||a.emit({originalEvent:e,type:"boxstart",position:{x:s[0],y:s[1]}}),t.touchData.selecting=!0,t.touchData.didSelect=!0,i[4]=1,i&&0!==i.length&&void 0!==i[0]?(i[2]=(s[0]+s[2]+s[4])/3,i[3]=(s[1]+s[3]+s[5])/3):(i[0]=(s[0]+s[2]+s[4])/3,i[1]=(s[1]+s[3]+s[5])/3,i[2]=(s[0]+s[2]+s[4])/3+1,i[3]=(s[1]+s[3]+s[5])/3+1),t.redrawHint("select",!0),t.redraw();else if(n&&e.touches[1]&&!t.touchData.didSelect&&a.zoomingEnabled()&&a.panningEnabled()&&a.userZoomingEnabled()&&a.userPanningEnabled()){if(e.preventDefault(),t.data.bgActivePosistion=void 0,t.redrawHint("select",!0),tt=t.dragData.touchDragEles){t.redrawHint("drag",!0);for(var B=0;B0&&!t.hoverData.draggingEles&&!t.swipePanning&&null!=t.data.bgActivePosistion&&(t.data.bgActivePosistion=void 0,t.redrawHint("select",!0),t.redraw())}},!1),t.registerBinding(e,"touchcancel",F=function(e){var n=t.touchData.start;t.touchData.capture=!1,n&&n.unactivate()}),t.registerBinding(e,"touchend",H=function(e){var i=t.touchData.start;if(t.touchData.capture){0===e.touches.length&&(t.touchData.capture=!1),e.preventDefault();var o=t.selection;t.swipePanning=!1,t.hoverData.draggingEles=!1;var a,s=t.cy,c=s.zoom(),u=t.touchData.now,l=t.touchData.earlier;if(e.touches[0]){var h=t.projectIntoViewport(e.touches[0].clientX,e.touches[0].clientY);u[0]=h[0],u[1]=h[1]}if(e.touches[1]&&(h=t.projectIntoViewport(e.touches[1].clientX,e.touches[1].clientY),u[2]=h[0],u[3]=h[1]),e.touches[2]&&(h=t.projectIntoViewport(e.touches[2].clientX,e.touches[2].clientY),u[4]=h[0],u[5]=h[1]),i&&i.unactivate(),t.touchData.cxt){if(a={originalEvent:e,type:"cxttapend",position:{x:u[0],y:u[1]}},i?i.emit(a):s.emit(a),!t.touchData.cxtDragged){var d={originalEvent:e,type:"cxttap",position:{x:u[0],y:u[1]}};i?i.emit(d):s.emit(d)}return t.touchData.start&&(t.touchData.start._private.grabbed=!1),t.touchData.cxt=!1,t.touchData.start=null,void t.redraw()}if(!e.touches[2]&&s.boxSelectionEnabled()&&t.touchData.selecting){t.touchData.selecting=!1;var p=s.collection(t.getAllInBox(o[0],o[1],o[2],o[3]));o[0]=void 0,o[1]=void 0,o[2]=void 0,o[3]=void 0,o[4]=0,t.redrawHint("select",!0),s.emit({type:"boxend",originalEvent:e,position:{x:u[0],y:u[1]}}),p.emit("box").stdFilter((function(t){return t.selectable()&&!t.selected()})).select().emit("boxselect"),p.nonempty()&&t.redrawHint("eles",!0),t.redraw()}if(null!=i&&i.unactivate(),e.touches[2])t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);else if(e.touches[1]);else if(e.touches[0]);else if(!e.touches[0]){t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var g=t.dragData.touchDragEles;if(null!=i){var v=i._private.grabbed;f(g),t.redrawHint("drag",!0),t.redrawHint("eles",!0),v&&(i.emit("freeon"),g.emit("free"),t.dragData.didDrag&&(i.emit("dragfreeon"),g.emit("dragfree"))),r(i,["touchend","tapend","vmouseup","tapdragout"],e,{x:u[0],y:u[1]}),i.unactivate(),t.touchData.start=null}else{var b=t.findNearestElement(u[0],u[1],!0,!0);r(b,["touchend","tapend","vmouseup","tapdragout"],e,{x:u[0],y:u[1]})}var y=t.touchData.startPosition[0]-u[0],m=y*y,w=t.touchData.startPosition[1]-u[1],x=(m+w*w)*c*c;t.touchData.singleTouchMoved||(i||s.$(":selected").unselect(["tapunselect"]),r(i,["tap","vclick"],e,{x:u[0],y:u[1]}),Y=!1,e.timeStamp-U<=s.multiClickDebounceTime()?(z&&clearTimeout(z),Y=!0,U=null,r(i,["dbltap","vdblclick"],e,{x:u[0],y:u[1]})):(z=setTimeout((function(){Y||r(i,["onetap","voneclick"],e,{x:u[0],y:u[1]})}),s.multiClickDebounceTime()),U=e.timeStamp)),null!=i&&!t.dragData.didDrag&&i._private.selectable&&x2){for(var A=[u[0],u[1]],S=Math.pow(A[0]-t,2)+Math.pow(A[1]-e,2),O=1;O0)return g[0]}return null},f=Object.keys(l),d=0;d0?c:Ee(i,o,t,e,n,r,a)},checkPoint:function(t,e,n,r,i,o,a){var s=He(r,i),c=2*s;if(Se(t,e,this.points,o,a,r,i-c,[0,-1],n))return!0;if(Se(t,e,this.points,o,a,r-c,i,[0,-1],n))return!0;var u=r/2+2*n,l=i/2+2*n;return!!Ae(t,e,[o-u,a-l,o-u,a,o+u,a,o+u,a-l])||!!Ie(t,e,c,c,o+r/2-s,a+i/2-s,n)||!!Ie(t,e,c,c,o-r/2+s,a+i/2-s,n)}}},registerNodeShapes:function(){var t=this.nodeShapes={},e=this;this.generateEllipse(),this.generatePolygon("triangle",Ge(3,0)),this.generateRoundPolygon("round-triangle",Ge(3,0)),this.generatePolygon("rectangle",Ge(4,0)),t.square=t.rectangle,this.generateRoundRectangle(),this.generateCutRectangle(),this.generateBarrel(),this.generateBottomRoundrectangle();var n=[0,1,1,0,0,-1,-1,0];this.generatePolygon("diamond",n),this.generateRoundPolygon("round-diamond",n),this.generatePolygon("pentagon",Ge(5,0)),this.generateRoundPolygon("round-pentagon",Ge(5,0)),this.generatePolygon("hexagon",Ge(6,0)),this.generateRoundPolygon("round-hexagon",Ge(6,0)),this.generatePolygon("heptagon",Ge(7,0)),this.generateRoundPolygon("round-heptagon",Ge(7,0)),this.generatePolygon("octagon",Ge(8,0)),this.generateRoundPolygon("round-octagon",Ge(8,0));var r=new Array(20),i=Fe(5,0),o=Fe(5,Math.PI/5),a=.5*(3-Math.sqrt(5));a*=1.57;for(var s=0;s=t.deqFastCost*g)break}else if(i){if(d>=t.deqCost*c||d>=t.deqAvgCost*s)break}else if(p>=t.deqNoDrawCost*Ja)break;var v=t.deq(e,h,l);if(!(v.length>0))break;for(var b=0;b0&&(t.onDeqd(e,u),!i&&t.shouldRedraw(e,u,h,l)&&r())}),i(e))}}},es=function(){function t(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:_t;g(this,t),this.idsByKey=new jt,this.keyForId=new jt,this.cachesByLvl=new jt,this.lvls=[],this.getKey=e,this.doesEleInvalidateKey=n}return b(t,[{key:"getIdsFor",value:function(t){null==t&&Tt("Can not get id list for null key");var e=this.idsByKey,n=this.idsByKey.get(t);return n||(n=new Bt,e.set(t,n)),n}},{key:"addIdForKey",value:function(t,e){null!=t&&this.getIdsFor(t).add(e)}},{key:"deleteIdForKey",value:function(t,e){null!=t&&this.getIdsFor(t).delete(e)}},{key:"getNumberOfIdsForKey",value:function(t){return null==t?0:this.getIdsFor(t).size}},{key:"updateKeyMappingFor",value:function(t){var e=t.id(),n=this.keyForId.get(e),r=this.getKey(t);this.deleteIdForKey(n,e),this.addIdForKey(r,e),this.keyForId.set(e,r)}},{key:"deleteKeyMappingFor",value:function(t){var e=t.id(),n=this.keyForId.get(e);this.deleteIdForKey(n,e),this.keyForId.delete(e)}},{key:"keyHasChangedFor",value:function(t){var e=t.id();return this.keyForId.get(e)!==this.getKey(t)}},{key:"isInvalid",value:function(t){return this.keyHasChangedFor(t)||this.doesEleInvalidateKey(t)}},{key:"getCachesAt",value:function(t){var e=this.cachesByLvl,n=this.lvls,r=e.get(t);return r||(r=new jt,e.set(t,r),n.push(t)),r}},{key:"getCache",value:function(t,e){return this.getCachesAt(e).get(t)}},{key:"get",value:function(t,e){var n=this.getKey(t),r=this.getCache(n,e);return null!=r&&this.updateKeyMappingFor(t),r}},{key:"getForCachedKey",value:function(t,e){var n=this.keyForId.get(t.id());return this.getCache(n,e)}},{key:"hasCache",value:function(t,e){return this.getCachesAt(e).has(t)}},{key:"has",value:function(t,e){var n=this.getKey(t);return this.hasCache(n,e)}},{key:"setCache",value:function(t,e,n){n.key=t,this.getCachesAt(e).set(t,n)}},{key:"set",value:function(t,e,n){var r=this.getKey(t);this.setCache(r,e,n),this.updateKeyMappingFor(t)}},{key:"deleteCache",value:function(t,e){this.getCachesAt(e).delete(t)}},{key:"delete",value:function(t,e){var n=this.getKey(t);this.deleteCache(n,e)}},{key:"invalidateKey",value:function(t){var e=this;this.lvls.forEach((function(n){return e.deleteCache(t,n)}))}},{key:"invalidate",value:function(t){var e=t.id(),n=this.keyForId.get(e);this.deleteKeyMappingFor(t);var r=this.doesEleInvalidateKey(t);return r&&this.invalidateKey(n),r||0===this.getNumberOfIdsForKey(n)}}]),t}(),ns={dequeue:"dequeue",downscale:"downscale",highQuality:"highQuality"},rs=It({getKey:null,doesEleInvalidateKey:_t,drawElement:null,getBoundingBox:null,getRotationPoint:null,getRotationOffset:null,isVisible:xt,allowEdgeTxrCaching:!0,allowParentTxrCaching:!0}),is=function(t,e){var n=this;n.renderer=t,n.onDequeues=[];var r=rs(e);Q(n,r),n.lookup=new es(r.getKey,r.doesEleInvalidateKey),n.setupDequeueing()},os=is.prototype;os.reasons=ns,os.getTextureQueue=function(t){var e=this;return e.eleImgCaches=e.eleImgCaches||{},e.eleImgCaches[t]=e.eleImgCaches[t]||[]},os.getRetiredTextureQueue=function(t){var e=this.eleImgCaches.retired=this.eleImgCaches.retired||{};return e[t]=e[t]||[]},os.getElementQueue=function(){return this.eleCacheQueue=this.eleCacheQueue||new l.default((function(t,e){return e.reqs-t.reqs}))},os.getElementKeyToQueue=function(){return this.eleKeyToCacheQueue=this.eleKeyToCacheQueue||{}},os.getElement=function(t,e,n,r,i){var o=this,a=this.renderer,s=a.cy.zoom(),c=this.lookup;if(!e||0===e.w||0===e.h||isNaN(e.w)||isNaN(e.h)||!t.visible()||t.removed())return null;if(!o.allowEdgeTxrCaching&&t.isEdge()||!o.allowParentTxrCaching&&t.isParent())return null;if(null==r&&(r=Math.ceil(ae(s*n))),r<-4)r=-4;else if(s>=7.99||r>3)return null;var u=Math.pow(2,r),l=e.h*u,h=e.w*u,f=a.eleTextBiggerThanMin(t,u);if(!this.isVisible(t,f))return null;var d,p=c.get(t,r);if(p&&p.invalidated&&(p.invalidated=!1,p.texture.invalidatedWidth-=p.width),p)return p;if(d=l<=25?25:l<=50?50:50*Math.ceil(l/50),l>1024||h>1024)return null;var g=o.getTextureQueue(d),v=g[g.length-2],b=function(){return o.recycleTexture(d,h)||o.addTexture(d,h)};v||(v=g[g.length-1]),v||(v=b()),v.width-v.usedWidthr;N--)T=o.getElement(t,e,n,N,ns.downscale);C()}else{var A;if(!w&&!x&&!_)for(var S=r-1;S>=-4;S--){var O=c.get(t,S);if(O){A=O;break}}if(m(A))return o.queueElement(t,r),A;v.context.translate(v.usedWidth,0),v.context.scale(u,u),this.drawElement(v.context,t,e,f,!1),v.context.scale(1/u,1/u),v.context.translate(-v.usedWidth,0)}return p={x:v.usedWidth,texture:v,level:r,scale:u,width:h,height:l,scaledLabelShown:f},v.usedWidth+=Math.ceil(h+8),v.eleCaches.push(p),c.set(t,r,p),o.checkTextureFullness(v),p},os.invalidateElements=function(t){for(var e=0;e=.2*t.width&&this.retireTexture(t)},os.checkTextureFullness=function(t){var e=this.getTextureQueue(t.height);t.usedWidth/t.width>.8&&t.fullnessChecks>=10?Mt(e,t):t.fullnessChecks++},os.retireTexture=function(t){var e=t.height,n=this.getTextureQueue(e),r=this.lookup;Mt(n,t),t.retired=!0;for(var i=t.eleCaches,o=0;o=e)return o.retired=!1,o.usedWidth=0,o.invalidatedWidth=0,o.fullnessChecks=0,Pt(o.eleCaches),o.context.setTransform(1,0,0,1,0,0),o.context.clearRect(0,0,o.width,o.height),Mt(r,o),n.push(o),o}},os.queueElement=function(t,e){var n=this.getElementQueue(),r=this.getElementKeyToQueue(),i=this.getKey(t),o=r[i];if(o)o.level=Math.max(o.level,e),o.eles.merge(t),o.reqs++,n.updateItem(o);else{var a={eles:t.spawn().merge(t),level:e,reqs:1,key:i};n.push(a),r[i]=a}},os.dequeue=function(t){for(var e=this,n=e.getElementQueue(),r=e.getElementKeyToQueue(),i=[],o=e.lookup,a=0;a<1&&n.size()>0;a++){var s=n.pop(),c=s.key,u=s.eles[0],l=o.hasCache(u,s.level);if(r[c]=null,!l){i.push(s);var h=e.getBoundingBox(u);e.getElement(u,h,t,s.level,ns.dequeue)}}return i},os.removeFromQueue=function(t){var e=this.getElementQueue(),n=this.getElementKeyToQueue(),r=this.getKey(t),i=n[r];null!=i&&(1===i.eles.length?(i.reqs=wt,e.updateItem(i),e.pop(),n[r]=null):i.eles.unmerge(t))},os.onDequeue=function(t){this.onDequeues.push(t)},os.offDequeue=function(t){Mt(this.onDequeues,t)},os.setupDequeueing=ts({deqRedrawThreshold:100,deqCost:.15,deqAvgCost:.1,deqNoDrawCost:.9,deqFastCost:.9,deq:function(t,e,n){return t.dequeue(e,n)},onDeqd:function(t,e){for(var n=0;n=3.99||n>2)return null;r.validateLayersElesOrdering(n,t);var a,s,c=r.layersByLevel,u=Math.pow(2,n),l=c[n]=c[n]||[];if(r.levelIsComplete(n,t))return l;!function(){var e=function(e){if(r.validateLayersElesOrdering(e,t),r.levelIsComplete(e,t))return s=c[e],!0},i=function(t){if(!s)for(var r=n+t;-4<=r&&r<=2&&!e(r);r+=t);};i(1),i(-1);for(var o=l.length-1;o>=0;o--){var a=l[o];a.invalid&&Mt(l,a)}}();var h=function(e){var i=(e=e||{}).after;if(function(){if(!a){a=pe();for(var e=0;e16e6)return null;var o=r.makeLayer(a,n);if(null!=i){var s=l.indexOf(i)+1;l.splice(s,0,o)}else(void 0===e.insert||e.insert)&&l.unshift(o);return o};if(r.skipping&&!o)return null;for(var f=null,d=t.length/1,p=!o,g=0;g=d||!_e(f.bb,v.boundingBox()))&&!(f=h({insert:!0,after:f})))return null;s||p?r.queueLayer(f,v):r.drawEleInLayer(f,v,n,e),f.eles.push(v),y[n]=f}}return s||(p?null:l)},ss.getEleLevelForLayerLevel=function(t,e){return t},ss.drawEleInLayer=function(t,e,n,r){var i=this.renderer,o=t.context,a=e.boundingBox();0!==a.w&&0!==a.h&&e.visible()&&(n=this.getEleLevelForLayerLevel(n,r),i.setImgSmoothing(o,!1),i.drawCachedElement(o,e,null,null,n,!0),i.setImgSmoothing(o,!0))},ss.levelIsComplete=function(t,e){var n=this.layersByLevel[t];if(!n||0===n.length)return!1;for(var r=0,i=0;i0)return!1;if(o.invalid)return!1;r+=o.eles.length}return r===e.length},ss.validateLayersElesOrdering=function(t,e){var n=this.layersByLevel[t];if(n)for(var r=0;r0){t=!0;break}}return t},ss.invalidateElements=function(t){var e=this;0!==t.length&&(e.lastInvalidationTime=at(),0!==t.length&&e.haveLayers()&&e.updateElementsInLayers(t,(function(t,n,r){e.invalidateLayer(t)})))},ss.invalidateLayer=function(t){if(this.lastInvalidationTime=at(),!t.invalid){var e=t.level,n=t.eles,r=this.layersByLevel[e];Mt(r,t),t.elesQueue=[],t.invalid=!0,t.replacement&&(t.replacement.invalid=!0);for(var i=0;i3&&void 0!==arguments[3])||arguments[3],i=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],o=!(arguments.length>5&&void 0!==arguments[5])||arguments[5],a=this,s=e._private.rscratch;if((!o||e.visible())&&!s.badLine&&null!=s.allpts&&!isNaN(s.allpts[0])){var c;n&&(c=n,t.translate(-c.x1,-c.y1));var u=o?e.pstyle("opacity").value:1,l=o?e.pstyle("line-opacity").value:1,h=e.pstyle("curve-style").value,f=e.pstyle("line-style").value,d=e.pstyle("width").pfValue,p=e.pstyle("line-cap").value,g=u*l,v=u*l,b=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:g;"straight-triangle"===h?(a.eleStrokeStyle(t,e,n),a.drawEdgeTrianglePath(e,t,s.allpts)):(t.lineWidth=d,t.lineCap=p,a.eleStrokeStyle(t,e,n),a.drawEdgePath(e,t,s.allpts,f),t.lineCap="butt")},y=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:v;a.drawArrowheads(t,e,n)};if(t.lineJoin="round","yes"===e.pstyle("ghost").value){var m=e.pstyle("ghost-offset-x").pfValue,w=e.pstyle("ghost-offset-y").pfValue,x=e.pstyle("ghost-opacity").value,_=g*x;t.translate(m,w),b(_),y(_),t.translate(-m,-w)}i&&a.drawEdgeUnderlay(t,e),b(),y(),i&&a.drawEdgeOverlay(t,e),a.drawElementText(t,e,null,r),n&&t.translate(c.x1,c.y1)}}},Ts=function(t){if(!["overlay","underlay"].includes(t))throw new Error("Invalid state");return function(e,n){if(n.visible()){var r=n.pstyle("".concat(t,"-opacity")).value;if(0!==r){var i=this,o=i.usePaths(),a=n._private.rscratch,s=2*n.pstyle("".concat(t,"-padding")).pfValue,c=n.pstyle("".concat(t,"-color")).value;e.lineWidth=s,"self"!==a.edgeType||o?e.lineCap="round":e.lineCap="butt",i.colorStrokeStyle(e,c[0],c[1],c[2],r),i.drawEdgePath(n,e,a.allpts,"solid")}}}};ks.drawEdgeOverlay=Ts("overlay"),ks.drawEdgeUnderlay=Ts("underlay"),ks.drawEdgePath=function(t,e,n,r){var i,o=t._private.rscratch,a=e,s=!1,c=this.usePaths(),u=t.pstyle("line-dash-pattern").pfValue,l=t.pstyle("line-dash-offset").pfValue;if(c){var h=n.join("$");o.pathCacheKey&&o.pathCacheKey===h?(i=e=o.pathCache,s=!0):(i=e=new Path2D,o.pathCacheKey=h,o.pathCache=i)}if(a.setLineDash)switch(r){case"dotted":a.setLineDash([1,1]);break;case"dashed":a.setLineDash(u),a.lineDashOffset=l;break;case"solid":a.setLineDash([])}if(!s&&!o.badLine)switch(e.beginPath&&e.beginPath(),e.moveTo(n[0],n[1]),o.edgeType){case"bezier":case"self":case"compound":case"multibezier":for(var f=2;f+35&&void 0!==arguments[5]?arguments[5]:5,a=arguments.length>6?arguments[6]:void 0;t.beginPath(),t.moveTo(e+o,n),t.lineTo(e+r-o,n),t.quadraticCurveTo(e+r,n,e+r,n+o),t.lineTo(e+r,n+i-o),t.quadraticCurveTo(e+r,n+i,e+r-o,n+i),t.lineTo(e+o,n+i),t.quadraticCurveTo(e,n+i,e,n+i-o),t.lineTo(e,n+o),t.quadraticCurveTo(e,n,e+o,n),t.closePath(),a?t.stroke():t.fill()}Ns.eleTextBiggerThanMin=function(t,e){if(!e){var n=t.cy().zoom(),r=this.getPixelRatio(),i=Math.ceil(ae(n*r));e=Math.pow(2,i)}return!(t.pstyle("font-size").pfValue*e5&&void 0!==arguments[5])||arguments[5],a=this;if(null==r){if(o&&!a.eleTextBiggerThanMin(e))return}else if(!1===r)return;if(e.isNode()){var s=e.pstyle("label");if(!s||!s.value)return;var c=a.getLabelJustification(e);t.textAlign=c,t.textBaseline="bottom"}else{var u=e.element()._private.rscratch.badLine,l=e.pstyle("label"),h=e.pstyle("source-label"),f=e.pstyle("target-label");if(u||(!l||!l.value)&&(!h||!h.value)&&(!f||!f.value))return;t.textAlign="center",t.textBaseline="bottom"}var d,p=!n;n&&(d=n,t.translate(-d.x1,-d.y1)),null==i?(a.drawText(t,e,null,p,o),e.isEdge()&&(a.drawText(t,e,"source",p,o),a.drawText(t,e,"target",p,o))):a.drawText(t,e,i,p,o),n&&t.translate(d.x1,d.y1)},Ns.getFontCache=function(t){var e;this.fontCaches=this.fontCaches||[];for(var n=0;n2&&void 0!==arguments[2])||arguments[2],r=e.pstyle("font-style").strValue,i=e.pstyle("font-size").pfValue+"px",o=e.pstyle("font-family").strValue,a=e.pstyle("font-weight").strValue,s=n?e.effectiveOpacity()*e.pstyle("text-opacity").value:1,c=e.pstyle("text-outline-opacity").value*s,u=e.pstyle("color").value,l=e.pstyle("text-outline-color").value;t.font=r+" "+a+" "+i+" "+o,t.lineJoin="round",this.colorFillStyle(t,u[0],u[1],u[2],s),this.colorStrokeStyle(t,l[0],l[1],l[2],c)},Ns.getTextAngle=function(t,e){var n=t._private.rscratch,r=e?e+"-":"",i=t.pstyle(r+"text-rotation"),o=Dt(n,"labelAngle",e);return"autorotate"===i.strValue?t.isEdge()?o:0:"none"===i.strValue?0:i.pfValue},Ns.drawText=function(t,e,n){var r=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],i=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],o=e._private.rscratch,a=i?e.effectiveOpacity():1;if(!i||0!==a&&0!==e.pstyle("text-opacity").value){"main"===n&&(n=null);var s,c,u=Dt(o,"labelX",n),l=Dt(o,"labelY",n),h=this.getLabelText(e,n);if(null!=h&&""!==h&&!isNaN(u)&&!isNaN(l)){this.setupTextStyle(t,e,i);var f,d=n?n+"-":"",p=Dt(o,"labelWidth",n),g=Dt(o,"labelHeight",n),v=e.pstyle(d+"text-margin-x").pfValue,b=e.pstyle(d+"text-margin-y").pfValue,y=e.isEdge(),m=e.pstyle("text-halign").value,w=e.pstyle("text-valign").value;switch(y&&(m="center",w="center"),u+=v,l+=b,0!==(f=r?this.getTextAngle(e,n):0)&&(s=u,c=l,t.translate(s,c),t.rotate(f),u=0,l=0),w){case"top":break;case"center":l+=g/2;break;case"bottom":l+=g}var x=e.pstyle("text-background-opacity").value,_=e.pstyle("text-border-opacity").value,E=e.pstyle("text-border-width").pfValue,k=e.pstyle("text-background-padding").pfValue,T=0===e.pstyle("text-background-shape").strValue.indexOf("round");if(x>0||E>0&&_>0){var C=u-k;switch(m){case"left":C-=p;break;case"center":C-=p/2}var N=l-g-k,A=p+2*k,S=g+2*k;if(x>0){var O=t.fillStyle,L=e.pstyle("text-background-color").value;t.fillStyle="rgba("+L[0]+","+L[1]+","+L[2]+","+x*a+")",T?As(t,C,N,A,S,2):t.fillRect(C,N,A,S),t.fillStyle=O}if(E>0&&_>0){var I=t.strokeStyle,M=t.lineWidth,P=e.pstyle("text-border-color").value,D=e.pstyle("text-border-style").value;if(t.strokeStyle="rgba("+P[0]+","+P[1]+","+P[2]+","+_*a+")",t.lineWidth=E,t.setLineDash)switch(D){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash([4,2]);break;case"double":t.lineWidth=E/4,t.setLineDash([]);break;case"solid":t.setLineDash([])}if(T?As(t,C,N,A,S,2,"stroke"):t.strokeRect(C,N,A,S),"double"===D){var R=E/2;T?As(t,C+R,N+R,A-2*R,S-2*R,2,"stroke"):t.strokeRect(C+R,N+R,A-2*R,S-2*R)}t.setLineDash&&t.setLineDash([]),t.lineWidth=M,t.strokeStyle=I}}var j=2*e.pstyle("text-outline-width").pfValue;if(j>0&&(t.lineWidth=j),"wrap"===e.pstyle("text-wrap").value){var G=Dt(o,"labelWrapCachedLines",n),B=Dt(o,"labelLineHeight",n),F=p/2,H=this.getLabelJustification(e);switch("auto"===H||("left"===m?"left"===H?u+=-p:"center"===H&&(u+=-F):"center"===m?"left"===H?u+=-F:"right"===H&&(u+=F):"right"===m&&("center"===H?u+=F:"right"===H&&(u+=p))),w){case"top":case"center":case"bottom":l-=(G.length-1)*B}for(var Y=0;Y0&&t.strokeText(G[Y],u,l),t.fillText(G[Y],u,l),l+=B}else j>0&&t.strokeText(h,u,l),t.fillText(h,u,l);0!==f&&(t.rotate(-f),t.translate(-s,-c))}}};var Ss={drawNode:function(t,e,n){var r,i,o=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],a=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],s=!(arguments.length>5&&void 0!==arguments[5])||arguments[5],c=this,u=e._private,l=u.rscratch,h=e.position();if(I(h.x)&&I(h.y)&&(!s||e.visible())){var f,d,p=s?e.effectiveOpacity():1,g=c.usePaths(),v=!1,b=e.padding();r=e.width()+2*b,i=e.height()+2*b,n&&(d=n,t.translate(-d.x1,-d.y1));for(var y=e.pstyle("background-image").value,m=new Array(y.length),w=new Array(y.length),x=0,_=0;_0&&void 0!==arguments[0]?arguments[0]:N;c.eleFillStyle(t,e,n)},G=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:O;c.colorStrokeStyle(t,A[0],A[1],A[2],e)},B=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:D;c.colorStrokeStyle(t,M[0],M[1],M[2],e)},F=function(t,e,n,r){var i,o=c.nodePathCache=c.nodePathCache||[],a=gt("polygon"===n?n+","+r.join(","):n,""+e,""+t),s=o[a],u=!1;return null!=s?(i=s,u=!0,l.pathCache=i):(i=new Path2D,o[a]=l.pathCache=i),{path:i,cacheHit:u}},H=e.pstyle("shape").strValue,Y=e.pstyle("shape-polygon-points").pfValue;if(g){t.translate(h.x,h.y);var z=F(r,i,H,Y);f=z.path,v=z.cacheHit}var U=function(){if(!v){var n=h;g&&(n={x:0,y:0}),c.nodeShapes[c.getNodeShape(e)].draw(f||t,n.x,n.y,r,i)}g?t.fill(f):t.fill()},V=function(){for(var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:p,r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=u.backgrounding,o=0,a=0;a0&&void 0!==arguments[0]&&arguments[0],o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:p;c.hasPie(e)&&(c.drawPie(t,e,o),n&&(g||c.nodeShapes[c.getNodeShape(e)].draw(t,h.x,h.y,r,i)))},X=function(){var e=(T>0?T:-T)*(arguments.length>0&&void 0!==arguments[0]?arguments[0]:p),n=T>0?0:255;0!==T&&(c.colorFillStyle(t,n,n,n,e),g?t.fill(f):t.fill())},W=function(){if(C>0){if(t.lineWidth=C,t.lineCap="butt",t.setLineDash)switch(S){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash([4,2]);break;case"solid":case"double":t.setLineDash([])}if(g?t.stroke(f):t.stroke(),"double"===S){t.lineWidth=C/3;var e=t.globalCompositeOperation;t.globalCompositeOperation="destination-out",g?t.stroke(f):t.stroke(),t.globalCompositeOperation=e}t.setLineDash&&t.setLineDash([])}},$=function(){if(L>0){if(t.lineWidth=L,t.lineCap="butt",t.setLineDash)switch(P){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash([4,2]);break;case"solid":case"double":t.setLineDash([])}var n=h;g&&(n={x:0,y:0});var o,a=c.getNodeShape(e),s=(r+C+(L+R))/r,u=(i+C+(L+R))/i,l=r*s,f=i*u,d=c.nodeShapes[a].points;if(g&&(o=F(l,f,a,d).path),"ellipse"===a)c.drawEllipsePath(o||t,n.x,n.y,l,f);else if(["round-diamond","round-heptagon","round-hexagon","round-octagon","round-pentagon","round-polygon","round-triangle","round-tag"].includes(a)){var p=0,v=0,b=0;"round-diamond"===a?p=1.4*(C+R+L):"round-heptagon"===a?(p=1.075*(C+R+L),b=-(C/2+R+L)/35):"round-hexagon"===a?p=1.12*(C+R+L):"round-pentagon"===a?(p=1.13*(C+R+L),b=-(C/2+R+L)/15):"round-tag"===a?(p=1.12*(C+R+L),v=.07*(C/2+L+R)):"round-triangle"===a&&(p=(C+R+L)*(Math.PI/2),b=-(C+R/2+L)/Math.PI),0!==p&&(s=(r+p)/r,u=(i+p)/i),c.drawRoundPolygonPath(o||t,n.x+v,n.y+b,r*s,i*u,d)}else["roundrectangle","round-rectangle"].includes(a)?c.drawRoundRectanglePath(o||t,n.x,n.y,l,f):["cutrectangle","cut-rectangle"].includes(a)?c.drawCutRectanglePath(o||t,n.x,n.y,l,f):["bottomroundrectangle","bottom-round-rectangle"].includes(a)?c.drawBottomRoundRectanglePath(o||t,n.x,n.y,l,f):"barrel"===a?c.drawBarrelPath(o||t,n.x,n.y,l,f):a.startsWith("polygon")||["rhomboid","right-rhomboid","round-tag","tag","vee"].includes(a)?(d=Oe(Le(d,(C+L+R)/r)),c.drawPolygonPath(o||t,n.x,n.y,r,i,d)):(d=Oe(Le(d,-(C+L+R)/r)),c.drawPolygonPath(o||t,n.x,n.y,r,i,d));if(g?t.stroke(o):t.stroke(),"double"===P){t.lineWidth=C/3;var y=t.globalCompositeOperation;t.globalCompositeOperation="destination-out",g?t.stroke(o):t.stroke(),t.globalCompositeOperation=y}t.setLineDash&&t.setLineDash([])}};if("yes"===e.pstyle("ghost").value){var Z=e.pstyle("ghost-offset-x").pfValue,K=e.pstyle("ghost-offset-y").pfValue,Q=e.pstyle("ghost-opacity").value,J=Q*p;t.translate(Z,K),B(),$(),j(Q*N),U(),V(J,!0),G(Q*O),W(),q(0!==T||0!==C),V(J,!1),X(J),t.translate(-Z,-K)}g&&t.translate(-h.x,-h.y),a&&c.drawNodeUnderlay(t,e,h,r,i),g&&t.translate(h.x,h.y),B(),$(),j(),U(),V(p,!0),G(),W(),q(0!==T||0!==C),V(p,!1),X(),g&&t.translate(-h.x,-h.y),c.drawElementText(t,e,null,o),a&&c.drawNodeOverlay(t,e,h,r,i),n&&t.translate(d.x1,d.y1)}}},Os=function(t){if(!["overlay","underlay"].includes(t))throw new Error("Invalid state");return function(e,n,r,i,o){if(n.visible()){var a=n.pstyle("".concat(t,"-padding")).pfValue,s=n.pstyle("".concat(t,"-opacity")).value,c=n.pstyle("".concat(t,"-color")).value,u=n.pstyle("".concat(t,"-shape")).value;if(s>0){if(r=r||n.position(),null==i||null==o){var l=n.padding();i=n.width()+2*l,o=n.height()+2*l}this.colorFillStyle(e,c[0],c[1],c[2],s),this.nodeShapes[u].draw(e,r.x,r.y,i+2*a,o+2*a),e.fill()}}}};Ss.drawNodeOverlay=Os("overlay"),Ss.drawNodeUnderlay=Os("underlay"),Ss.hasPie=function(t){return(t=t[0])._private.hasPie},Ss.drawPie=function(t,e,n,r){e=e[0],r=r||e.position();var i=e.cy().style(),o=e.pstyle("pie-size"),a=r.x,s=r.y,c=e.width(),u=e.height(),l=Math.min(c,u)/2,h=0;this.usePaths()&&(a=0,s=0),"%"===o.units?l*=o.pfValue:void 0!==o.pfValue&&(l=o.pfValue/2);for(var f=1;f<=i.pieBackgroundN;f++){var d=e.pstyle("pie-"+f+"-background-size").value,p=e.pstyle("pie-"+f+"-background-color").value,g=e.pstyle("pie-"+f+"-background-opacity").value*n,v=d/100;v+h>1&&(v=1-h);var b=1.5*Math.PI+2*Math.PI*h,y=b+2*Math.PI*v;0===d||h>=1||h+v>1||(t.beginPath(),t.moveTo(a,s),t.arc(a,s,l,b,y),t.closePath(),this.colorFillStyle(t,p[0],p[1],p[2],g),t.fill(),h+=v)}};for(var Ls={getPixelRatio:function(){var t=this.data.contexts[0];if(null!=this.forcedPixelRatio)return this.forcedPixelRatio;var e=t.backingStorePixelRatio||t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1;return(window.devicePixelRatio||1)/e},paintCache:function(t){for(var e,n=this.paintCaches=this.paintCaches||[],r=!0,i=0;ia.minMbLowQualFrames&&(a.motionBlurPxRatio=a.mbPxRBlurry)),a.clearingMotionBlur&&(a.motionBlurPxRatio=1),a.textureDrawLastFrame&&!h&&(l[a.NODE]=!0,l[a.SELECT_BOX]=!0);var y=c.style(),m=c.zoom(),w=void 0!==i?i:m,x=c.pan(),_={x:x.x,y:x.y},E={zoom:m,pan:{x:x.x,y:x.y}},k=a.prevViewport;void 0===k||E.zoom!==k.zoom||E.pan.x!==k.pan.x||E.pan.y!==k.pan.y||g&&!p||(a.motionBlurPxRatio=1),o&&(_=o),w*=s,_.x*=s,_.y*=s;var T=a.getCachedZSortedEles();function C(t,e,n,r,i){var o=t.globalCompositeOperation;t.globalCompositeOperation="destination-out",a.colorFillStyle(t,255,255,255,a.motionBlurTransparency),t.fillRect(e,n,r,i),t.globalCompositeOperation=o}function N(t,r){var s,c,l,h;a.clearingMotionBlur||t!==u.bufferContexts[a.MOTIONBLUR_BUFFER_NODE]&&t!==u.bufferContexts[a.MOTIONBLUR_BUFFER_DRAG]?(s=_,c=w,l=a.canvasWidth,h=a.canvasHeight):(s={x:x.x*d,y:x.y*d},c=m*d,l=a.canvasWidth*d,h=a.canvasHeight*d),t.setTransform(1,0,0,1,0,0),"motionBlur"===r?C(t,0,0,l,h):e||void 0!==r&&!r||t.clearRect(0,0,l,h),n||(t.translate(s.x,s.y),t.scale(c,c)),o&&t.translate(o.x,o.y),i&&t.scale(i,i)}if(h||(a.textureDrawLastFrame=!1),h){if(a.textureDrawLastFrame=!0,!a.textureCache){a.textureCache={},a.textureCache.bb=c.mutableElements().boundingBox(),a.textureCache.texture=a.data.bufferCanvases[a.TEXTURE_BUFFER];var A=a.data.bufferContexts[a.TEXTURE_BUFFER];A.setTransform(1,0,0,1,0,0),A.clearRect(0,0,a.canvasWidth*a.textureMult,a.canvasHeight*a.textureMult),a.render({forcedContext:A,drawOnlyNodeLayer:!0,forcedPxRatio:s*a.textureMult}),(E=a.textureCache.viewport={zoom:c.zoom(),pan:c.pan(),width:a.canvasWidth,height:a.canvasHeight}).mpan={x:(0-E.pan.x)/E.zoom,y:(0-E.pan.y)/E.zoom}}l[a.DRAG]=!1,l[a.NODE]=!1;var S=u.contexts[a.NODE],O=a.textureCache.texture;E=a.textureCache.viewport,S.setTransform(1,0,0,1,0,0),f?C(S,0,0,E.width,E.height):S.clearRect(0,0,E.width,E.height);var L=y.core("outside-texture-bg-color").value,I=y.core("outside-texture-bg-opacity").value;a.colorFillStyle(S,L[0],L[1],L[2],I),S.fillRect(0,0,E.width,E.height),m=c.zoom(),N(S,!1),S.clearRect(E.mpan.x,E.mpan.y,E.width/E.zoom/s,E.height/E.zoom/s),S.drawImage(O,E.mpan.x,E.mpan.y,E.width/E.zoom/s,E.height/E.zoom/s)}else a.textureOnViewport&&!e&&(a.textureCache=null);var M=c.extent(),P=a.pinching||a.hoverData.dragging||a.swipePanning||a.data.wheelZooming||a.hoverData.draggingEles||a.cy.animated(),D=a.hideEdgesOnViewport&&P,R=[];if(R[a.NODE]=!l[a.NODE]&&f&&!a.clearedForMotionBlur[a.NODE]||a.clearingMotionBlur,R[a.NODE]&&(a.clearedForMotionBlur[a.NODE]=!0),R[a.DRAG]=!l[a.DRAG]&&f&&!a.clearedForMotionBlur[a.DRAG]||a.clearingMotionBlur,R[a.DRAG]&&(a.clearedForMotionBlur[a.DRAG]=!0),l[a.NODE]||n||r||R[a.NODE]){var j=f&&!R[a.NODE]&&1!==d;N(S=e||(j?a.data.bufferContexts[a.MOTIONBLUR_BUFFER_NODE]:u.contexts[a.NODE]),f&&!j?"motionBlur":void 0),D?a.drawCachedNodes(S,T.nondrag,s,M):a.drawLayeredElements(S,T.nondrag,s,M),a.debug&&a.drawDebugPoints(S,T.nondrag),n||f||(l[a.NODE]=!1)}if(!r&&(l[a.DRAG]||n||R[a.DRAG])&&(j=f&&!R[a.DRAG]&&1!==d,N(S=e||(j?a.data.bufferContexts[a.MOTIONBLUR_BUFFER_DRAG]:u.contexts[a.DRAG]),f&&!j?"motionBlur":void 0),D?a.drawCachedNodes(S,T.drag,s,M):a.drawCachedElements(S,T.drag,s,M),a.debug&&a.drawDebugPoints(S,T.drag),n||f||(l[a.DRAG]=!1)),a.showFps||!r&&l[a.SELECT_BOX]&&!n){if(N(S=e||u.contexts[a.SELECT_BOX]),1==a.selection[4]&&(a.hoverData.selecting||a.touchData.selecting)){m=a.cy.zoom();var G=y.core("selection-box-border-width").value/m;S.lineWidth=G,S.fillStyle="rgba("+y.core("selection-box-color").value[0]+","+y.core("selection-box-color").value[1]+","+y.core("selection-box-color").value[2]+","+y.core("selection-box-opacity").value+")",S.fillRect(a.selection[0],a.selection[1],a.selection[2]-a.selection[0],a.selection[3]-a.selection[1]),G>0&&(S.strokeStyle="rgba("+y.core("selection-box-border-color").value[0]+","+y.core("selection-box-border-color").value[1]+","+y.core("selection-box-border-color").value[2]+","+y.core("selection-box-opacity").value+")",S.strokeRect(a.selection[0],a.selection[1],a.selection[2]-a.selection[0],a.selection[3]-a.selection[1]))}if(u.bgActivePosistion&&!a.hoverData.selecting){m=a.cy.zoom();var B=u.bgActivePosistion;S.fillStyle="rgba("+y.core("active-bg-color").value[0]+","+y.core("active-bg-color").value[1]+","+y.core("active-bg-color").value[2]+","+y.core("active-bg-opacity").value+")",S.beginPath(),S.arc(B.x,B.y,y.core("active-bg-size").pfValue/m,0,2*Math.PI),S.fill()}var F=a.lastRedrawTime;if(a.showFps&&F){F=Math.round(F);var H=Math.round(1e3/F);S.setTransform(1,0,0,1,0,0),S.fillStyle="rgba(255, 0, 0, 0.75)",S.strokeStyle="rgba(255, 0, 0, 0.75)",S.lineWidth=1,S.fillText("1 frame = "+F+" ms = "+H+" fps",0,20),S.strokeRect(0,30,250,20),S.fillRect(0,30,250*Math.min(H/60,1),20)}n||(l[a.SELECT_BOX]=!1)}if(f&&1!==d){var Y=u.contexts[a.NODE],z=a.data.bufferCanvases[a.MOTIONBLUR_BUFFER_NODE],U=u.contexts[a.DRAG],V=a.data.bufferCanvases[a.MOTIONBLUR_BUFFER_DRAG],q=function(t,e,n){t.setTransform(1,0,0,1,0,0),n||!b?t.clearRect(0,0,a.canvasWidth,a.canvasHeight):C(t,0,0,a.canvasWidth,a.canvasHeight);var r=d;t.drawImage(e,0,0,a.canvasWidth*r,a.canvasHeight*r,0,0,a.canvasWidth,a.canvasHeight)};(l[a.NODE]||R[a.NODE])&&(q(Y,z,R[a.NODE]),l[a.NODE]=!1),(l[a.DRAG]||R[a.DRAG])&&(q(U,V,R[a.DRAG]),l[a.DRAG]=!1)}a.prevViewport=E,a.clearingMotionBlur&&(a.clearingMotionBlur=!1,a.motionBlurCleared=!0,a.motionBlur=!0),f&&(a.motionBlurTimeout=setTimeout((function(){a.motionBlurTimeout=null,a.clearedForMotionBlur[a.NODE]=!1,a.clearedForMotionBlur[a.DRAG]=!1,a.motionBlur=!1,a.clearingMotionBlur=!h,a.mbFrames=0,l[a.NODE]=!0,l[a.DRAG]=!0,a.redraw()}),100)),e||c.emit("render")}},Is={drawPolygonPath:function(t,e,n,r,i,o){var a=r/2,s=i/2;t.beginPath&&t.beginPath(),t.moveTo(e+a*o[0],n+s*o[1]);for(var c=1;c0&&o>0){f.clearRect(0,0,i,o),f.globalCompositeOperation="source-over";var d=this.getCachedZSortedEles();if(t.full)f.translate(-n.x1*c,-n.y1*c),f.scale(c,c),this.drawElements(f,d),f.scale(1/c,1/c),f.translate(n.x1*c,n.y1*c);else{var p=e.pan(),g={x:p.x*c,y:p.y*c};c*=e.zoom(),f.translate(g.x,g.y),f.scale(c,c),this.drawElements(f,d),f.scale(1/c,1/c),f.translate(-g.x,-g.y)}t.bg&&(f.globalCompositeOperation="destination-over",f.fillStyle=t.bg,f.rect(0,0,i,o),f.fill())}return h},Bs.png=function(t){return Hs(t,this.bufferCanvasImage(t),"image/png")},Bs.jpg=function(t){return Hs(t,this.bufferCanvasImage(t),"image/jpeg")};var Ys=Us,zs=Us.prototype;function Us(t){var e=this;e.data={canvases:new Array(zs.CANVAS_LAYERS),contexts:new Array(zs.CANVAS_LAYERS),canvasNeedsRedraw:new Array(zs.CANVAS_LAYERS),bufferCanvases:new Array(zs.BUFFER_COUNT),bufferContexts:new Array(zs.CANVAS_LAYERS)};var n="-webkit-tap-highlight-color",r="rgba(0,0,0,0)";e.data.canvasContainer=document.createElement("div");var i=e.data.canvasContainer.style;e.data.canvasContainer.style[n]=r,i.position="relative",i.zIndex="0",i.overflow="hidden";var o=t.cy.container();o.appendChild(e.data.canvasContainer),o.style[n]=r;var a={"-webkit-user-select":"none","-moz-user-select":"-moz-none","user-select":"none","-webkit-tap-highlight-color":"rgba(0,0,0,0)","outline-style":"none"};_&&_.userAgent.match(/msie|trident|edge/i)&&(a["-ms-touch-action"]="none",a["touch-action"]="none");for(var s=0;s{t.exports={graphlib:n(574),layout:n(8123),debug:n(7570),util:{time:n(7266).time,notime:n(7266).notime},version:n(8177)}},2188:(t,e,n)=>{"use strict";var r=n(8436),i=n(4079);t.exports={run:function(t){var e="greedy"===t.graph().acyclicer?i(t,function(t){return function(e){return t.edge(e).weight}}(t)):function(t){var e=[],n={},i={};return r.forEach(t.nodes(),(function o(a){r.has(i,a)||(i[a]=!0,n[a]=!0,r.forEach(t.outEdges(a),(function(t){r.has(n,t.w)?e.push(t):o(t.w)})),delete n[a])})),e}(t);r.forEach(e,(function(e){var n=t.edge(e);t.removeEdge(e),n.forwardName=e.name,n.reversed=!0,t.setEdge(e.w,e.v,n,r.uniqueId("rev"))}))},undo:function(t){r.forEach(t.edges(),(function(e){var n=t.edge(e);if(n.reversed){t.removeEdge(e);var r=n.forwardName;delete n.reversed,delete n.forwardName,t.setEdge(e.w,e.v,n,r)}}))}}},1133:(t,e,n)=>{var r=n(8436),i=n(7266);function o(t,e,n,r,o,a){var s={width:0,height:0,rank:a,borderType:e},c=o[e][a-1],u=i.addDummyNode(t,"border",s,n);o[e][a]=u,t.setParent(u,r),c&&t.setEdge(c,u,{weight:1})}t.exports=function(t){r.forEach(t.children(),(function e(n){var i=t.children(n),a=t.node(n);if(i.length&&r.forEach(i,e),r.has(a,"minRank")){a.borderLeft=[],a.borderRight=[];for(var s=a.minRank,c=a.maxRank+1;s{"use strict";var r=n(8436);function i(t){r.forEach(t.nodes(),(function(e){o(t.node(e))})),r.forEach(t.edges(),(function(e){o(t.edge(e))}))}function o(t){var e=t.width;t.width=t.height,t.height=e}function a(t){t.y=-t.y}function s(t){var e=t.x;t.x=t.y,t.y=e}t.exports={adjust:function(t){var e=t.graph().rankdir.toLowerCase();"lr"!==e&&"rl"!==e||i(t)},undo:function(t){var e=t.graph().rankdir.toLowerCase();"bt"!==e&&"rl"!==e||function(t){r.forEach(t.nodes(),(function(e){a(t.node(e))})),r.forEach(t.edges(),(function(e){var n=t.edge(e);r.forEach(n.points,a),r.has(n,"y")&&a(n)}))}(t),"lr"!==e&&"rl"!==e||(function(t){r.forEach(t.nodes(),(function(e){s(t.node(e))})),r.forEach(t.edges(),(function(e){var n=t.edge(e);r.forEach(n.points,s),r.has(n,"x")&&s(n)}))}(t),i(t))}}},7822:t=>{function e(){var t={};t._next=t._prev=t,this._sentinel=t}function n(t){t._prev._next=t._next,t._next._prev=t._prev,delete t._next,delete t._prev}function r(t,e){if("_next"!==t&&"_prev"!==t)return e}t.exports=e,e.prototype.dequeue=function(){var t=this._sentinel,e=t._prev;if(e!==t)return n(e),e},e.prototype.enqueue=function(t){var e=this._sentinel;t._prev&&t._next&&n(t),t._next=e._next,e._next._prev=t,e._next=t,t._prev=e},e.prototype.toString=function(){for(var t=[],e=this._sentinel,n=e._prev;n!==e;)t.push(JSON.stringify(n,r)),n=n._prev;return"["+t.join(", ")+"]"}},7570:(t,e,n)=>{var r=n(8436),i=n(7266),o=n(574).Graph;t.exports={debugOrdering:function(t){var e=i.buildLayerMatrix(t),n=new o({compound:!0,multigraph:!0}).setGraph({});return r.forEach(t.nodes(),(function(e){n.setNode(e,{label:e}),n.setParent(e,"layer"+t.node(e).rank)})),r.forEach(t.edges(),(function(t){n.setEdge(t.v,t.w,{},t.name)})),r.forEach(e,(function(t,e){var i="layer"+e;n.setNode(i,{rank:"same"}),r.reduce(t,(function(t,e){return n.setEdge(t,e,{style:"invis"}),e}))})),n}}},574:(t,e,n)=>{var r;try{r=n(8282)}catch(t){}r||(r=window.graphlib),t.exports=r},4079:(t,e,n)=>{var r=n(8436),i=n(574).Graph,o=n(7822);t.exports=function(t,e){if(t.nodeCount()<=1)return[];var n=function(t,e){var n=new i,a=0,s=0;r.forEach(t.nodes(),(function(t){n.setNode(t,{v:t,in:0,out:0})})),r.forEach(t.edges(),(function(t){var r=n.edge(t.v,t.w)||0,i=e(t),o=r+i;n.setEdge(t.v,t.w,o),s=Math.max(s,n.node(t.v).out+=i),a=Math.max(a,n.node(t.w).in+=i)}));var u=r.range(s+a+3).map((function(){return new o})),l=a+1;return r.forEach(n.nodes(),(function(t){c(u,l,n.node(t))})),{graph:n,buckets:u,zeroIdx:l}}(t,e||a),u=function(t,e,n){for(var r,i=[],o=e[e.length-1],a=e[0];t.nodeCount();){for(;r=a.dequeue();)s(t,e,n,r);for(;r=o.dequeue();)s(t,e,n,r);if(t.nodeCount())for(var c=e.length-2;c>0;--c)if(r=e[c].dequeue()){i=i.concat(s(t,e,n,r,!0));break}}return i}(n.graph,n.buckets,n.zeroIdx);return r.flatten(r.map(u,(function(e){return t.outEdges(e.v,e.w)})),!0)};var a=r.constant(1);function s(t,e,n,i,o){var a=o?[]:void 0;return r.forEach(t.inEdges(i.v),(function(r){var i=t.edge(r),s=t.node(r.v);o&&a.push({v:r.v,w:r.w}),s.out-=i,c(e,n,s)})),r.forEach(t.outEdges(i.v),(function(r){var i=t.edge(r),o=r.w,a=t.node(o);a.in-=i,c(e,n,a)})),t.removeNode(i.v),a}function c(t,e,n){n.out?n.in?t[n.out-n.in+e].enqueue(n):t[t.length-1].enqueue(n):t[0].enqueue(n)}},8123:(t,e,n)=>{"use strict";var r=n(8436),i=n(2188),o=n(5995),a=n(8093),s=n(7266).normalizeRanks,c=n(4219),u=n(7266).removeEmptyRanks,l=n(2981),h=n(1133),f=n(3258),d=n(3408),p=n(7873),g=n(7266),v=n(574).Graph;t.exports=function(t,e){var n=e&&e.debugTiming?g.time:g.notime;n("layout",(function(){var e=n(" buildLayoutGraph",(function(){return function(t){var e=new v({multigraph:!0,compound:!0}),n=C(t.graph());return e.setGraph(r.merge({},y,T(n,b),r.pick(n,m))),r.forEach(t.nodes(),(function(n){var i=C(t.node(n));e.setNode(n,r.defaults(T(i,w),x)),e.setParent(n,t.parent(n))})),r.forEach(t.edges(),(function(n){var i=C(t.edge(n));e.setEdge(n,r.merge({},E,T(i,_),r.pick(i,k)))})),e}(t)}));n(" runLayout",(function(){!function(t,e){e(" makeSpaceForEdgeLabels",(function(){!function(t){var e=t.graph();e.ranksep/=2,r.forEach(t.edges(),(function(n){var r=t.edge(n);r.minlen*=2,"c"!==r.labelpos.toLowerCase()&&("TB"===e.rankdir||"BT"===e.rankdir?r.width+=r.labeloffset:r.height+=r.labeloffset)}))}(t)})),e(" removeSelfEdges",(function(){!function(t){r.forEach(t.edges(),(function(e){if(e.v===e.w){var n=t.node(e.v);n.selfEdges||(n.selfEdges=[]),n.selfEdges.push({e,label:t.edge(e)}),t.removeEdge(e)}}))}(t)})),e(" acyclic",(function(){i.run(t)})),e(" nestingGraph.run",(function(){l.run(t)})),e(" rank",(function(){a(g.asNonCompoundGraph(t))})),e(" injectEdgeLabelProxies",(function(){!function(t){r.forEach(t.edges(),(function(e){var n=t.edge(e);if(n.width&&n.height){var r=t.node(e.v),i={rank:(t.node(e.w).rank-r.rank)/2+r.rank,e};g.addDummyNode(t,"edge-proxy",i,"_ep")}}))}(t)})),e(" removeEmptyRanks",(function(){u(t)})),e(" nestingGraph.cleanup",(function(){l.cleanup(t)})),e(" normalizeRanks",(function(){s(t)})),e(" assignRankMinMax",(function(){!function(t){var e=0;r.forEach(t.nodes(),(function(n){var i=t.node(n);i.borderTop&&(i.minRank=t.node(i.borderTop).rank,i.maxRank=t.node(i.borderBottom).rank,e=r.max(e,i.maxRank))})),t.graph().maxRank=e}(t)})),e(" removeEdgeLabelProxies",(function(){!function(t){r.forEach(t.nodes(),(function(e){var n=t.node(e);"edge-proxy"===n.dummy&&(t.edge(n.e).labelRank=n.rank,t.removeNode(e))}))}(t)})),e(" normalize.run",(function(){o.run(t)})),e(" parentDummyChains",(function(){c(t)})),e(" addBorderSegments",(function(){h(t)})),e(" order",(function(){d(t)})),e(" insertSelfEdges",(function(){!function(t){var e=g.buildLayerMatrix(t);r.forEach(e,(function(e){var n=0;r.forEach(e,(function(e,i){var o=t.node(e);o.order=i+n,r.forEach(o.selfEdges,(function(e){g.addDummyNode(t,"selfedge",{width:e.label.width,height:e.label.height,rank:o.rank,order:i+ ++n,e:e.e,label:e.label},"_se")})),delete o.selfEdges}))}))}(t)})),e(" adjustCoordinateSystem",(function(){f.adjust(t)})),e(" position",(function(){p(t)})),e(" positionSelfEdges",(function(){!function(t){r.forEach(t.nodes(),(function(e){var n=t.node(e);if("selfedge"===n.dummy){var r=t.node(n.e.v),i=r.x+r.width/2,o=r.y,a=n.x-i,s=r.height/2;t.setEdge(n.e,n.label),t.removeNode(e),n.label.points=[{x:i+2*a/3,y:o-s},{x:i+5*a/6,y:o-s},{x:i+a,y:o},{x:i+5*a/6,y:o+s},{x:i+2*a/3,y:o+s}],n.label.x=n.x,n.label.y=n.y}}))}(t)})),e(" removeBorderNodes",(function(){!function(t){r.forEach(t.nodes(),(function(e){if(t.children(e).length){var n=t.node(e),i=t.node(n.borderTop),o=t.node(n.borderBottom),a=t.node(r.last(n.borderLeft)),s=t.node(r.last(n.borderRight));n.width=Math.abs(s.x-a.x),n.height=Math.abs(o.y-i.y),n.x=a.x+n.width/2,n.y=i.y+n.height/2}})),r.forEach(t.nodes(),(function(e){"border"===t.node(e).dummy&&t.removeNode(e)}))}(t)})),e(" normalize.undo",(function(){o.undo(t)})),e(" fixupEdgeLabelCoords",(function(){!function(t){r.forEach(t.edges(),(function(e){var n=t.edge(e);if(r.has(n,"x"))switch("l"!==n.labelpos&&"r"!==n.labelpos||(n.width-=n.labeloffset),n.labelpos){case"l":n.x-=n.width/2+n.labeloffset;break;case"r":n.x+=n.width/2+n.labeloffset}}))}(t)})),e(" undoCoordinateSystem",(function(){f.undo(t)})),e(" translateGraph",(function(){!function(t){var e=Number.POSITIVE_INFINITY,n=0,i=Number.POSITIVE_INFINITY,o=0,a=t.graph(),s=a.marginx||0,c=a.marginy||0;function u(t){var r=t.x,a=t.y,s=t.width,c=t.height;e=Math.min(e,r-s/2),n=Math.max(n,r+s/2),i=Math.min(i,a-c/2),o=Math.max(o,a+c/2)}r.forEach(t.nodes(),(function(e){u(t.node(e))})),r.forEach(t.edges(),(function(e){var n=t.edge(e);r.has(n,"x")&&u(n)})),e-=s,i-=c,r.forEach(t.nodes(),(function(n){var r=t.node(n);r.x-=e,r.y-=i})),r.forEach(t.edges(),(function(n){var o=t.edge(n);r.forEach(o.points,(function(t){t.x-=e,t.y-=i})),r.has(o,"x")&&(o.x-=e),r.has(o,"y")&&(o.y-=i)})),a.width=n-e+s,a.height=o-i+c}(t)})),e(" assignNodeIntersects",(function(){!function(t){r.forEach(t.edges(),(function(e){var n,r,i=t.edge(e),o=t.node(e.v),a=t.node(e.w);i.points?(n=i.points[0],r=i.points[i.points.length-1]):(i.points=[],n=a,r=o),i.points.unshift(g.intersectRect(o,n)),i.points.push(g.intersectRect(a,r))}))}(t)})),e(" reversePoints",(function(){!function(t){r.forEach(t.edges(),(function(e){var n=t.edge(e);n.reversed&&n.points.reverse()}))}(t)})),e(" acyclic.undo",(function(){i.undo(t)}))}(e,n)})),n(" updateInputGraph",(function(){!function(t,e){r.forEach(t.nodes(),(function(n){var r=t.node(n),i=e.node(n);r&&(r.x=i.x,r.y=i.y,e.children(n).length&&(r.width=i.width,r.height=i.height))})),r.forEach(t.edges(),(function(n){var i=t.edge(n),o=e.edge(n);i.points=o.points,r.has(o,"x")&&(i.x=o.x,i.y=o.y)})),t.graph().width=e.graph().width,t.graph().height=e.graph().height}(t,e)}))}))};var b=["nodesep","edgesep","ranksep","marginx","marginy"],y={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},m=["acyclicer","ranker","rankdir","align"],w=["width","height"],x={width:0,height:0},_=["minlen","weight","width","height","labeloffset"],E={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},k=["labelpos"];function T(t,e){return r.mapValues(r.pick(t,e),Number)}function C(t){var e={};return r.forEach(t,(function(t,n){e[n.toLowerCase()]=t})),e}},8436:(t,e,n)=>{var r;try{r={cloneDeep:n(361),constant:n(5703),defaults:n(1747),each:n(6073),filter:n(3105),find:n(3311),flatten:n(5564),forEach:n(4486),forIn:n(2620),has:n(8721),isUndefined:n(2353),last:n(928),map:n(5161),mapValues:n(6604),max:n(6162),merge:n(3857),min:n(3632),minBy:n(2762),now:n(7771),pick:n(9722),range:n(6026),reduce:n(4061),sortBy:n(9734),uniqueId:n(3955),values:n(2628),zipObject:n(7287)}}catch(t){}r||(r=window._),t.exports=r},2981:(t,e,n)=>{var r=n(8436),i=n(7266);function o(t,e,n,a,s,c,u){var l=t.children(u);if(l.length){var h=i.addBorderNode(t,"_bt"),f=i.addBorderNode(t,"_bb"),d=t.node(u);t.setParent(h,u),d.borderTop=h,t.setParent(f,u),d.borderBottom=f,r.forEach(l,(function(r){o(t,e,n,a,s,c,r);var i=t.node(r),l=i.borderTop?i.borderTop:r,d=i.borderBottom?i.borderBottom:r,p=i.borderTop?a:2*a,g=l!==d?1:s-c[u]+1;t.setEdge(h,l,{weight:p,minlen:g,nestingEdge:!0}),t.setEdge(d,f,{weight:p,minlen:g,nestingEdge:!0})})),t.parent(u)||t.setEdge(e,h,{weight:0,minlen:s+c[u]})}else u!==e&&t.setEdge(e,u,{weight:0,minlen:n})}t.exports={run:function(t){var e=i.addDummyNode(t,"root",{},"_root"),n=function(t){var e={};function n(i,o){var a=t.children(i);a&&a.length&&r.forEach(a,(function(t){n(t,o+1)})),e[i]=o}return r.forEach(t.children(),(function(t){n(t,1)})),e}(t),a=r.max(r.values(n))-1,s=2*a+1;t.graph().nestingRoot=e,r.forEach(t.edges(),(function(e){t.edge(e).minlen*=s}));var c=function(t){return r.reduce(t.edges(),(function(e,n){return e+t.edge(n).weight}),0)}(t)+1;r.forEach(t.children(),(function(r){o(t,e,s,c,a,n,r)})),t.graph().nodeRankFactor=s},cleanup:function(t){var e=t.graph();t.removeNode(e.nestingRoot),delete e.nestingRoot,r.forEach(t.edges(),(function(e){t.edge(e).nestingEdge&&t.removeEdge(e)}))}}},5995:(t,e,n)=>{"use strict";var r=n(8436),i=n(7266);t.exports={run:function(t){t.graph().dummyChains=[],r.forEach(t.edges(),(function(e){!function(t,e){var n,r,o,a=e.v,s=t.node(a).rank,c=e.w,u=t.node(c).rank,l=e.name,h=t.edge(e),f=h.labelRank;if(u!==s+1){for(t.removeEdge(e),o=0,++s;s{var r=n(8436);t.exports=function(t,e,n){var i,o={};r.forEach(n,(function(n){for(var r,a,s=t.parent(n);s;){if((r=t.parent(s))?(a=o[r],o[r]=s):(a=i,i=s),a&&a!==s)return void e.setEdge(a,s);s=r}}))}},5439:(t,e,n)=>{var r=n(8436);t.exports=function(t,e){return r.map(e,(function(e){var n=t.inEdges(e);if(n.length){var i=r.reduce(n,(function(e,n){var r=t.edge(n),i=t.node(n.v);return{sum:e.sum+r.weight*i.order,weight:e.weight+r.weight}}),{sum:0,weight:0});return{v:e,barycenter:i.sum/i.weight,weight:i.weight}}return{v:e}}))}},3128:(t,e,n)=>{var r=n(8436),i=n(574).Graph;t.exports=function(t,e,n){var o=function(t){for(var e;t.hasNode(e=r.uniqueId("_root")););return e}(t),a=new i({compound:!0}).setGraph({root:o}).setDefaultNodeLabel((function(e){return t.node(e)}));return r.forEach(t.nodes(),(function(i){var s=t.node(i),c=t.parent(i);(s.rank===e||s.minRank<=e&&e<=s.maxRank)&&(a.setNode(i),a.setParent(i,c||o),r.forEach(t[n](i),(function(e){var n=e.v===i?e.w:e.v,o=a.edge(n,i),s=r.isUndefined(o)?0:o.weight;a.setEdge(n,i,{weight:t.edge(e).weight+s})})),r.has(s,"minRank")&&a.setNode(i,{borderLeft:s.borderLeft[e],borderRight:s.borderRight[e]}))})),a}},6630:(t,e,n)=>{"use strict";var r=n(8436);function i(t,e,n){for(var i=r.zipObject(n,r.map(n,(function(t,e){return e}))),o=r.flatten(r.map(e,(function(e){return r.sortBy(r.map(t.outEdges(e),(function(e){return{pos:i[e.w],weight:t.edge(e).weight}})),"pos")})),!0),a=1;a0;)e%2&&(n+=c[e+1]),c[e=e-1>>1]+=t.weight;u+=t.weight*n}))),u}t.exports=function(t,e){for(var n=0,r=1;r{"use strict";var r=n(8436),i=n(2588),o=n(6630),a=n(1026),s=n(3128),c=n(5093),u=n(574).Graph,l=n(7266);function h(t,e,n){return r.map(e,(function(e){return s(t,e,n)}))}function f(t,e){var n=new u;r.forEach(t,(function(t){var i=t.graph().root,o=a(t,i,n,e);r.forEach(o.vs,(function(e,n){t.node(e).order=n})),c(t,n,o.vs)}))}function d(t,e){r.forEach(e,(function(e){r.forEach(e,(function(e,n){t.node(e).order=n}))}))}t.exports=function(t){var e=l.maxRank(t),n=h(t,r.range(1,e+1),"inEdges"),a=h(t,r.range(e-1,-1,-1),"outEdges"),s=i(t);d(t,s);for(var c,u=Number.POSITIVE_INFINITY,p=0,g=0;g<4;++p,++g){f(p%2?n:a,p%4>=2),s=l.buildLayerMatrix(t);var v=o(t,s);v{"use strict";var r=n(8436);t.exports=function(t){var e={},n=r.filter(t.nodes(),(function(e){return!t.children(e).length})),i=r.max(r.map(n,(function(e){return t.node(e).rank}))),o=r.map(r.range(i+1),(function(){return[]})),a=r.sortBy(n,(function(e){return t.node(e).rank}));return r.forEach(a,(function n(i){if(!r.has(e,i)){e[i]=!0;var a=t.node(i);o[a.rank].push(i),r.forEach(t.successors(i),n)}})),o}},9567:(t,e,n)=>{"use strict";var r=n(8436);t.exports=function(t,e){var n={};return r.forEach(t,(function(t,e){var i=n[t.v]={indegree:0,in:[],out:[],vs:[t.v],i:e};r.isUndefined(t.barycenter)||(i.barycenter=t.barycenter,i.weight=t.weight)})),r.forEach(e.edges(),(function(t){var e=n[t.v],i=n[t.w];r.isUndefined(e)||r.isUndefined(i)||(i.indegree++,e.out.push(n[t.w]))})),function(t){var e=[];function n(t){return function(e){var n,i,o,a;e.merged||(r.isUndefined(e.barycenter)||r.isUndefined(t.barycenter)||e.barycenter>=t.barycenter)&&(i=e,o=0,a=0,(n=t).weight&&(o+=n.barycenter*n.weight,a+=n.weight),i.weight&&(o+=i.barycenter*i.weight,a+=i.weight),n.vs=i.vs.concat(n.vs),n.barycenter=o/a,n.weight=a,n.i=Math.min(i.i,n.i),i.merged=!0)}}function i(e){return function(n){n.in.push(e),0==--n.indegree&&t.push(n)}}for(;t.length;){var o=t.pop();e.push(o),r.forEach(o.in.reverse(),n(o)),r.forEach(o.out,i(o))}return r.map(r.filter(e,(function(t){return!t.merged})),(function(t){return r.pick(t,["vs","i","barycenter","weight"])}))}(r.filter(n,(function(t){return!t.indegree})))}},1026:(t,e,n)=>{var r=n(8436),i=n(5439),o=n(9567),a=n(7304);t.exports=function t(e,n,s,c){var u=e.children(n),l=e.node(n),h=l?l.borderLeft:void 0,f=l?l.borderRight:void 0,d={};h&&(u=r.filter(u,(function(t){return t!==h&&t!==f})));var p=i(e,u);r.forEach(p,(function(n){if(e.children(n.v).length){var i=t(e,n.v,s,c);d[n.v]=i,r.has(i,"barycenter")&&(o=n,a=i,r.isUndefined(o.barycenter)?(o.barycenter=a.barycenter,o.weight=a.weight):(o.barycenter=(o.barycenter*o.weight+a.barycenter*a.weight)/(o.weight+a.weight),o.weight+=a.weight))}var o,a}));var g=o(p,s);!function(t,e){r.forEach(t,(function(t){t.vs=r.flatten(t.vs.map((function(t){return e[t]?e[t].vs:t})),!0)}))}(g,d);var v=a(g,c);if(h&&(v.vs=r.flatten([h,v.vs,f],!0),e.predecessors(h).length)){var b=e.node(e.predecessors(h)[0]),y=e.node(e.predecessors(f)[0]);r.has(v,"barycenter")||(v.barycenter=0,v.weight=0),v.barycenter=(v.barycenter*v.weight+b.order+y.order)/(v.weight+2),v.weight+=2}return v}},7304:(t,e,n)=>{var r=n(8436),i=n(7266);function o(t,e,n){for(var i;e.length&&(i=r.last(e)).i<=n;)e.pop(),t.push(i.vs),n++;return n}t.exports=function(t,e){var n,a=i.partition(t,(function(t){return r.has(t,"barycenter")})),s=a.lhs,c=r.sortBy(a.rhs,(function(t){return-t.i})),u=[],l=0,h=0,f=0;s.sort((n=!!e,function(t,e){return t.barycentere.barycenter?1:n?e.i-t.i:t.i-e.i})),f=o(u,c,f),r.forEach(s,(function(t){f+=t.vs.length,u.push(t.vs),l+=t.barycenter*t.weight,h+=t.weight,f=o(u,c,f)}));var d={vs:r.flatten(u,!0)};return h&&(d.barycenter=l/h,d.weight=h),d}},4219:(t,e,n)=>{var r=n(8436);t.exports=function(t){var e=function(t){var e={},n=0;return r.forEach(t.children(),(function i(o){var a=n;r.forEach(t.children(o),i),e[o]={low:a,lim:n++}})),e}(t);r.forEach(t.graph().dummyChains,(function(n){for(var r=t.node(n),i=r.edgeObj,o=function(t,e,n,r){var i,o,a=[],s=[],c=Math.min(e[n].low,e[r].low),u=Math.max(e[n].lim,e[r].lim);i=n;do{i=t.parent(i),a.push(i)}while(i&&(e[i].low>c||u>e[i].lim));for(o=i,i=r;(i=t.parent(i))!==o;)s.push(i);return{path:a.concat(s.reverse()),lca:o}}(t,e,i.v,i.w),a=o.path,s=o.lca,c=0,u=a[c],l=!0;n!==i.w;){if(r=t.node(n),l){for(;(u=a[c])!==s&&t.node(u).maxRank{"use strict";var r=n(8436),i=n(574).Graph,o=n(7266);function a(t,e){var n={};return r.reduce(e,(function(e,i){var o=0,a=0,s=e.length,u=r.last(i);return r.forEach(i,(function(e,l){var h=function(t,e){if(t.node(e).dummy)return r.find(t.predecessors(e),(function(e){return t.node(e).dummy}))}(t,e),f=h?t.node(h).order:s;(h||e===u)&&(r.forEach(i.slice(a,l+1),(function(e){r.forEach(t.predecessors(e),(function(r){var i=t.node(r),a=i.order;!(as)&&c(n,e,u)}))}))}return r.reduce(e,(function(e,n){var o,a=-1,s=0;return r.forEach(n,(function(r,c){if("border"===t.node(r).dummy){var u=t.predecessors(r);u.length&&(o=t.node(u[0]).order,i(n,s,c,a,o),s=c,a=o)}i(n,s,n.length,o,e.length)})),n})),n}function c(t,e,n){if(e>n){var r=e;e=n,n=r}var i=t[e];i||(t[e]=i={}),i[n]=!0}function u(t,e,n){if(e>n){var i=e;e=n,n=i}return r.has(t[e],n)}function l(t,e,n,i){var o={},a={},s={};return r.forEach(e,(function(t){r.forEach(t,(function(t,e){o[t]=t,a[t]=t,s[t]=e}))})),r.forEach(e,(function(t){var e=-1;r.forEach(t,(function(t){var c=i(t);if(c.length){c=r.sortBy(c,(function(t){return s[t]}));for(var l=(c.length-1)/2,h=Math.floor(l),f=Math.ceil(l);h<=f;++h){var d=c[h];a[t]===t&&e{"use strict";var r=n(8436),i=n(7266),o=n(3573).positionX;t.exports=function(t){(function(t){var e=i.buildLayerMatrix(t),n=t.graph().ranksep,o=0;r.forEach(e,(function(e){var i=r.max(r.map(e,(function(e){return t.node(e).height})));r.forEach(e,(function(e){t.node(e).y=o+i/2})),o+=i+n}))})(t=i.asNonCompoundGraph(t)),r.forEach(o(t),(function(e,n){t.node(n).x=e}))}},300:(t,e,n)=>{"use strict";var r=n(8436),i=n(574).Graph,o=n(6681).slack;function a(t,e){return r.forEach(t.nodes(),(function n(i){r.forEach(e.nodeEdges(i),(function(r){var a=r.v,s=i===a?r.w:a;t.hasNode(s)||o(e,r)||(t.setNode(s,{}),t.setEdge(i,s,{}),n(s))}))})),t.nodeCount()}function s(t,e){return r.minBy(e.edges(),(function(n){if(t.hasNode(n.v)!==t.hasNode(n.w))return o(e,n)}))}function c(t,e,n){r.forEach(t.nodes(),(function(t){e.node(t).rank+=n}))}t.exports=function(t){var e,n,r=new i({directed:!1}),u=t.nodes()[0],l=t.nodeCount();for(r.setNode(u,{});a(r,t){"use strict";var r=n(6681).longestPath,i=n(300),o=n(2472);t.exports=function(t){switch(t.graph().ranker){case"network-simplex":default:!function(t){o(t)}(t);break;case"tight-tree":!function(t){r(t),i(t)}(t);break;case"longest-path":a(t)}};var a=r},2472:(t,e,n)=>{"use strict";var r=n(8436),i=n(300),o=n(6681).slack,a=n(6681).longestPath,s=n(574).alg.preorder,c=n(574).alg.postorder,u=n(7266).simplify;function l(t){t=u(t),a(t);var e,n=i(t);for(d(n),h(n,t);e=g(n);)b(n,t,e,v(n,t,e))}function h(t,e){var n=c(t,t.nodes());n=n.slice(0,n.length-1),r.forEach(n,(function(n){!function(t,e,n){var r=t.node(n).parent;t.edge(n,r).cutvalue=f(t,e,n)}(t,e,n)}))}function f(t,e,n){var i=t.node(n).parent,o=!0,a=e.edge(n,i),s=0;return a||(o=!1,a=e.edge(i,n)),s=a.weight,r.forEach(e.nodeEdges(n),(function(r){var a,c,u=r.v===n,l=u?r.w:r.v;if(l!==i){var h=u===o,f=e.edge(r).weight;if(s+=h?f:-f,a=n,c=l,t.hasEdge(a,c)){var d=t.edge(n,l).cutvalue;s+=h?-d:d}}})),s}function d(t,e){arguments.length<2&&(e=t.nodes()[0]),p(t,{},1,e)}function p(t,e,n,i,o){var a=n,s=t.node(i);return e[i]=!0,r.forEach(t.neighbors(i),(function(o){r.has(e,o)||(n=p(t,e,n,o,i))})),s.low=a,s.lim=n++,o?s.parent=o:delete s.parent,n}function g(t){return r.find(t.edges(),(function(e){return t.edge(e).cutvalue<0}))}function v(t,e,n){var i=n.v,a=n.w;e.hasEdge(i,a)||(i=n.w,a=n.v);var s=t.node(i),c=t.node(a),u=s,l=!1;s.lim>c.lim&&(u=c,l=!0);var h=r.filter(e.edges(),(function(e){return l===y(0,t.node(e.v),u)&&l!==y(0,t.node(e.w),u)}));return r.minBy(h,(function(t){return o(e,t)}))}function b(t,e,n,i){var o=n.v,a=n.w;t.removeEdge(o,a),t.setEdge(i.v,i.w,{}),d(t),h(t,e),function(t,e){var n=r.find(t.nodes(),(function(t){return!e.node(t).parent})),i=s(t,n);i=i.slice(1),r.forEach(i,(function(n){var r=t.node(n).parent,i=e.edge(n,r),o=!1;i||(i=e.edge(r,n),o=!0),e.node(n).rank=e.node(r).rank+(o?i.minlen:-i.minlen)}))}(t,e)}function y(t,e,n){return n.low<=e.lim&&e.lim<=n.lim}t.exports=l,l.initLowLimValues=d,l.initCutValues=h,l.calcCutValue=f,l.leaveEdge=g,l.enterEdge=v,l.exchangeEdges=b},6681:(t,e,n)=>{"use strict";var r=n(8436);t.exports={longestPath:function(t){var e={};r.forEach(t.sources(),(function n(i){var o=t.node(i);if(r.has(e,i))return o.rank;e[i]=!0;var a=r.min(r.map(t.outEdges(i),(function(e){return n(e.w)-t.edge(e).minlen})));return a!==Number.POSITIVE_INFINITY&&null!=a||(a=0),o.rank=a}))},slack:function(t,e){return t.node(e.w).rank-t.node(e.v).rank-t.edge(e).minlen}}},7266:(t,e,n)=>{"use strict";var r=n(8436),i=n(574).Graph;function o(t,e,n,i){var o;do{o=r.uniqueId(i)}while(t.hasNode(o));return n.dummy=e,t.setNode(o,n),o}function a(t){return r.max(r.map(t.nodes(),(function(e){var n=t.node(e).rank;if(!r.isUndefined(n))return n})))}t.exports={addDummyNode:o,simplify:function(t){var e=(new i).setGraph(t.graph());return r.forEach(t.nodes(),(function(n){e.setNode(n,t.node(n))})),r.forEach(t.edges(),(function(n){var r=e.edge(n.v,n.w)||{weight:0,minlen:1},i=t.edge(n);e.setEdge(n.v,n.w,{weight:r.weight+i.weight,minlen:Math.max(r.minlen,i.minlen)})})),e},asNonCompoundGraph:function(t){var e=new i({multigraph:t.isMultigraph()}).setGraph(t.graph());return r.forEach(t.nodes(),(function(n){t.children(n).length||e.setNode(n,t.node(n))})),r.forEach(t.edges(),(function(n){e.setEdge(n,t.edge(n))})),e},successorWeights:function(t){var e=r.map(t.nodes(),(function(e){var n={};return r.forEach(t.outEdges(e),(function(e){n[e.w]=(n[e.w]||0)+t.edge(e).weight})),n}));return r.zipObject(t.nodes(),e)},predecessorWeights:function(t){var e=r.map(t.nodes(),(function(e){var n={};return r.forEach(t.inEdges(e),(function(e){n[e.v]=(n[e.v]||0)+t.edge(e).weight})),n}));return r.zipObject(t.nodes(),e)},intersectRect:function(t,e){var n,r,i=t.x,o=t.y,a=e.x-i,s=e.y-o,c=t.width/2,u=t.height/2;if(!a&&!s)throw new Error("Not possible to find intersection inside of the rectangle");return Math.abs(s)*c>Math.abs(a)*u?(s<0&&(u=-u),n=u*a/s,r=u):(a<0&&(c=-c),n=c,r=c*s/a),{x:i+n,y:o+r}},buildLayerMatrix:function(t){var e=r.map(r.range(a(t)+1),(function(){return[]}));return r.forEach(t.nodes(),(function(n){var i=t.node(n),o=i.rank;r.isUndefined(o)||(e[o][i.order]=n)})),e},normalizeRanks:function(t){var e=r.min(r.map(t.nodes(),(function(e){return t.node(e).rank})));r.forEach(t.nodes(),(function(n){var i=t.node(n);r.has(i,"rank")&&(i.rank-=e)}))},removeEmptyRanks:function(t){var e=r.min(r.map(t.nodes(),(function(e){return t.node(e).rank}))),n=[];r.forEach(t.nodes(),(function(r){var i=t.node(r).rank-e;n[i]||(n[i]=[]),n[i].push(r)}));var i=0,o=t.graph().nodeRankFactor;r.forEach(n,(function(e,n){r.isUndefined(e)&&n%o!=0?--i:i&&r.forEach(e,(function(e){t.node(e).rank+=i}))}))},addBorderNode:function(t,e,n,r){var i={width:0,height:0};return arguments.length>=4&&(i.rank=n,i.order=r),o(t,"border",i,e)},maxRank:a,partition:function(t,e){var n={lhs:[],rhs:[]};return r.forEach(t,(function(t){e(t)?n.lhs.push(t):n.rhs.push(t)})),n},time:function(t,e){var n=r.now();try{return e()}finally{console.log(t+" time: "+(r.now()-n)+"ms")}},notime:function(t,e){return e()}}},8177:t=>{t.exports="0.8.5"},8282:(t,e,n)=>{var r=n(2354);t.exports={Graph:r.Graph,json:n(8974),alg:n(2440),version:r.version}},2842:(t,e,n)=>{var r=n(9126);t.exports=function(t){var e,n={},i=[];function o(i){r.has(n,i)||(n[i]=!0,e.push(i),r.each(t.successors(i),o),r.each(t.predecessors(i),o))}return r.each(t.nodes(),(function(t){e=[],o(t),e.length&&i.push(e)})),i}},3984:(t,e,n)=>{var r=n(9126);function i(t,e,n,o,a,s){r.has(o,e)||(o[e]=!0,n||s.push(e),r.each(a(e),(function(e){i(t,e,n,o,a,s)})),n&&s.push(e))}t.exports=function(t,e,n){r.isArray(e)||(e=[e]);var o=(t.isDirected()?t.successors:t.neighbors).bind(t),a=[],s={};return r.each(e,(function(e){if(!t.hasNode(e))throw new Error("Graph does not have node: "+e);i(t,e,"post"===n,s,o,a)})),a}},4847:(t,e,n)=>{var r=n(3763),i=n(9126);t.exports=function(t,e,n){return i.transform(t.nodes(),(function(i,o){i[o]=r(t,o,e,n)}),{})}},3763:(t,e,n)=>{var r=n(9126),i=n(9675);t.exports=function(t,e,n,r){return function(t,e,n,r){var o,a,s={},c=new i,u=function(t){var e=t.v!==o?t.v:t.w,r=s[e],i=n(t),u=a.distance+i;if(i<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+t+" Weight: "+i);u0&&(o=c.removeMin(),(a=s[o]).distance!==Number.POSITIVE_INFINITY);)r(o).forEach(u);return s}(t,String(e),n||o,r||function(e){return t.outEdges(e)})};var o=r.constant(1)},9096:(t,e,n)=>{var r=n(9126),i=n(5023);t.exports=function(t){return r.filter(i(t),(function(e){return e.length>1||1===e.length&&t.hasEdge(e[0],e[0])}))}},8924:(t,e,n)=>{var r=n(9126);t.exports=function(t,e,n){return function(t,e,n){var r={},i=t.nodes();return i.forEach((function(t){r[t]={},r[t][t]={distance:0},i.forEach((function(e){t!==e&&(r[t][e]={distance:Number.POSITIVE_INFINITY})})),n(t).forEach((function(n){var i=n.v===t?n.w:n.v,o=e(n);r[t][i]={distance:o,predecessor:t}}))})),i.forEach((function(t){var e=r[t];i.forEach((function(n){var o=r[n];i.forEach((function(n){var r=o[t],i=e[n],a=o[n],s=r.distance+i.distance;s{t.exports={components:n(2842),dijkstra:n(3763),dijkstraAll:n(4847),findCycles:n(9096),floydWarshall:n(8924),isAcyclic:n(2707),postorder:n(8828),preorder:n(2648),prim:n(514),tarjan:n(5023),topsort:n(2166)}},2707:(t,e,n)=>{var r=n(2166);t.exports=function(t){try{r(t)}catch(t){if(t instanceof r.CycleException)return!1;throw t}return!0}},8828:(t,e,n)=>{var r=n(3984);t.exports=function(t,e){return r(t,e,"post")}},2648:(t,e,n)=>{var r=n(3984);t.exports=function(t,e){return r(t,e,"pre")}},514:(t,e,n)=>{var r=n(9126),i=n(771),o=n(9675);t.exports=function(t,e){var n,a=new i,s={},c=new o;function u(t){var r=t.v===n?t.w:t.v,i=c.priority(r);if(void 0!==i){var o=e(t);o0;){if(n=c.removeMin(),r.has(s,n))a.setEdge(n,s[n]);else{if(l)throw new Error("Input graph is not connected: "+t);l=!0}t.nodeEdges(n).forEach(u)}return a}},5023:(t,e,n)=>{var r=n(9126);t.exports=function(t){var e=0,n=[],i={},o=[];function a(s){var c=i[s]={onStack:!0,lowlink:e,index:e++};if(n.push(s),t.successors(s).forEach((function(t){r.has(i,t)?i[t].onStack&&(c.lowlink=Math.min(c.lowlink,i[t].index)):(a(t),c.lowlink=Math.min(c.lowlink,i[t].lowlink))})),c.lowlink===c.index){var u,l=[];do{u=n.pop(),i[u].onStack=!1,l.push(u)}while(s!==u);o.push(l)}}return t.nodes().forEach((function(t){r.has(i,t)||a(t)})),o}},2166:(t,e,n)=>{var r=n(9126);function i(t){var e={},n={},i=[];if(r.each(t.sinks(),(function a(s){if(r.has(n,s))throw new o;r.has(e,s)||(n[s]=!0,e[s]=!0,r.each(t.predecessors(s),a),delete n[s],i.push(s))})),r.size(e)!==t.nodeCount())throw new o;return i}function o(){}t.exports=i,i.CycleException=o,o.prototype=new Error},9675:(t,e,n)=>{var r=n(9126);function i(){this._arr=[],this._keyIndices={}}t.exports=i,i.prototype.size=function(){return this._arr.length},i.prototype.keys=function(){return this._arr.map((function(t){return t.key}))},i.prototype.has=function(t){return r.has(this._keyIndices,t)},i.prototype.priority=function(t){var e=this._keyIndices[t];if(void 0!==e)return this._arr[e].priority},i.prototype.min=function(){if(0===this.size())throw new Error("Queue underflow");return this._arr[0].key},i.prototype.add=function(t,e){var n=this._keyIndices;if(t=String(t),!r.has(n,t)){var i=this._arr,o=i.length;return n[t]=o,i.push({key:t,priority:e}),this._decrease(o),!0}return!1},i.prototype.removeMin=function(){this._swap(0,this._arr.length-1);var t=this._arr.pop();return delete this._keyIndices[t.key],this._heapify(0),t.key},i.prototype.decrease=function(t,e){var n=this._keyIndices[t];if(e>this._arr[n].priority)throw new Error("New priority is greater than current priority. Key: "+t+" Old: "+this._arr[n].priority+" New: "+e);this._arr[n].priority=e,this._decrease(n)},i.prototype._heapify=function(t){var e=this._arr,n=2*t,r=n+1,i=t;n>1].priority{"use strict";var r=n(9126);t.exports=s;var i="\0",o="\0",a="";function s(t){this._isDirected=!r.has(t,"directed")||t.directed,this._isMultigraph=!!r.has(t,"multigraph")&&t.multigraph,this._isCompound=!!r.has(t,"compound")&&t.compound,this._label=void 0,this._defaultNodeLabelFn=r.constant(void 0),this._defaultEdgeLabelFn=r.constant(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[o]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}function c(t,e){t[e]?t[e]++:t[e]=1}function u(t,e){--t[e]||delete t[e]}function l(t,e,n,o){var s=""+e,c=""+n;if(!t&&s>c){var u=s;s=c,c=u}return s+a+c+a+(r.isUndefined(o)?i:o)}function h(t,e){return l(t,e.v,e.w,e.name)}s.prototype._nodeCount=0,s.prototype._edgeCount=0,s.prototype.isDirected=function(){return this._isDirected},s.prototype.isMultigraph=function(){return this._isMultigraph},s.prototype.isCompound=function(){return this._isCompound},s.prototype.setGraph=function(t){return this._label=t,this},s.prototype.graph=function(){return this._label},s.prototype.setDefaultNodeLabel=function(t){return r.isFunction(t)||(t=r.constant(t)),this._defaultNodeLabelFn=t,this},s.prototype.nodeCount=function(){return this._nodeCount},s.prototype.nodes=function(){return r.keys(this._nodes)},s.prototype.sources=function(){var t=this;return r.filter(this.nodes(),(function(e){return r.isEmpty(t._in[e])}))},s.prototype.sinks=function(){var t=this;return r.filter(this.nodes(),(function(e){return r.isEmpty(t._out[e])}))},s.prototype.setNodes=function(t,e){var n=arguments,i=this;return r.each(t,(function(t){n.length>1?i.setNode(t,e):i.setNode(t)})),this},s.prototype.setNode=function(t,e){return r.has(this._nodes,t)?(arguments.length>1&&(this._nodes[t]=e),this):(this._nodes[t]=arguments.length>1?e:this._defaultNodeLabelFn(t),this._isCompound&&(this._parent[t]=o,this._children[t]={},this._children[o][t]=!0),this._in[t]={},this._preds[t]={},this._out[t]={},this._sucs[t]={},++this._nodeCount,this)},s.prototype.node=function(t){return this._nodes[t]},s.prototype.hasNode=function(t){return r.has(this._nodes,t)},s.prototype.removeNode=function(t){var e=this;if(r.has(this._nodes,t)){var n=function(t){e.removeEdge(e._edgeObjs[t])};delete this._nodes[t],this._isCompound&&(this._removeFromParentsChildList(t),delete this._parent[t],r.each(this.children(t),(function(t){e.setParent(t)})),delete this._children[t]),r.each(r.keys(this._in[t]),n),delete this._in[t],delete this._preds[t],r.each(r.keys(this._out[t]),n),delete this._out[t],delete this._sucs[t],--this._nodeCount}return this},s.prototype.setParent=function(t,e){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(r.isUndefined(e))e=o;else{for(var n=e+="";!r.isUndefined(n);n=this.parent(n))if(n===t)throw new Error("Setting "+e+" as parent of "+t+" would create a cycle");this.setNode(e)}return this.setNode(t),this._removeFromParentsChildList(t),this._parent[t]=e,this._children[e][t]=!0,this},s.prototype._removeFromParentsChildList=function(t){delete this._children[this._parent[t]][t]},s.prototype.parent=function(t){if(this._isCompound){var e=this._parent[t];if(e!==o)return e}},s.prototype.children=function(t){if(r.isUndefined(t)&&(t=o),this._isCompound){var e=this._children[t];if(e)return r.keys(e)}else{if(t===o)return this.nodes();if(this.hasNode(t))return[]}},s.prototype.predecessors=function(t){var e=this._preds[t];if(e)return r.keys(e)},s.prototype.successors=function(t){var e=this._sucs[t];if(e)return r.keys(e)},s.prototype.neighbors=function(t){var e=this.predecessors(t);if(e)return r.union(e,this.successors(t))},s.prototype.isLeaf=function(t){return 0===(this.isDirected()?this.successors(t):this.neighbors(t)).length},s.prototype.filterNodes=function(t){var e=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});e.setGraph(this.graph());var n=this;r.each(this._nodes,(function(n,r){t(r)&&e.setNode(r,n)})),r.each(this._edgeObjs,(function(t){e.hasNode(t.v)&&e.hasNode(t.w)&&e.setEdge(t,n.edge(t))}));var i={};function o(t){var r=n.parent(t);return void 0===r||e.hasNode(r)?(i[t]=r,r):r in i?i[r]:o(r)}return this._isCompound&&r.each(e.nodes(),(function(t){e.setParent(t,o(t))})),e},s.prototype.setDefaultEdgeLabel=function(t){return r.isFunction(t)||(t=r.constant(t)),this._defaultEdgeLabelFn=t,this},s.prototype.edgeCount=function(){return this._edgeCount},s.prototype.edges=function(){return r.values(this._edgeObjs)},s.prototype.setPath=function(t,e){var n=this,i=arguments;return r.reduce(t,(function(t,r){return i.length>1?n.setEdge(t,r,e):n.setEdge(t,r),r})),this},s.prototype.setEdge=function(){var t,e,n,i,o=!1,a=arguments[0];"object"==typeof a&&null!==a&&"v"in a?(t=a.v,e=a.w,n=a.name,2===arguments.length&&(i=arguments[1],o=!0)):(t=a,e=arguments[1],n=arguments[3],arguments.length>2&&(i=arguments[2],o=!0)),t=""+t,e=""+e,r.isUndefined(n)||(n=""+n);var s=l(this._isDirected,t,e,n);if(r.has(this._edgeLabels,s))return o&&(this._edgeLabels[s]=i),this;if(!r.isUndefined(n)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(t),this.setNode(e),this._edgeLabels[s]=o?i:this._defaultEdgeLabelFn(t,e,n);var u=function(t,e,n,r){var i=""+e,o=""+n;if(!t&&i>o){var a=i;i=o,o=a}var s={v:i,w:o};return r&&(s.name=r),s}(this._isDirected,t,e,n);return t=u.v,e=u.w,Object.freeze(u),this._edgeObjs[s]=u,c(this._preds[e],t),c(this._sucs[t],e),this._in[e][s]=u,this._out[t][s]=u,this._edgeCount++,this},s.prototype.edge=function(t,e,n){var r=1===arguments.length?h(this._isDirected,arguments[0]):l(this._isDirected,t,e,n);return this._edgeLabels[r]},s.prototype.hasEdge=function(t,e,n){var i=1===arguments.length?h(this._isDirected,arguments[0]):l(this._isDirected,t,e,n);return r.has(this._edgeLabels,i)},s.prototype.removeEdge=function(t,e,n){var r=1===arguments.length?h(this._isDirected,arguments[0]):l(this._isDirected,t,e,n),i=this._edgeObjs[r];return i&&(t=i.v,e=i.w,delete this._edgeLabels[r],delete this._edgeObjs[r],u(this._preds[e],t),u(this._sucs[t],e),delete this._in[e][r],delete this._out[t][r],this._edgeCount--),this},s.prototype.inEdges=function(t,e){var n=this._in[t];if(n){var i=r.values(n);return e?r.filter(i,(function(t){return t.v===e})):i}},s.prototype.outEdges=function(t,e){var n=this._out[t];if(n){var i=r.values(n);return e?r.filter(i,(function(t){return t.w===e})):i}},s.prototype.nodeEdges=function(t,e){var n=this.inEdges(t,e);if(n)return n.concat(this.outEdges(t,e))}},2354:(t,e,n)=>{t.exports={Graph:n(771),version:n(9631)}},8974:(t,e,n)=>{var r=n(9126),i=n(771);function o(t){return r.map(t.nodes(),(function(e){var n=t.node(e),i=t.parent(e),o={v:e};return r.isUndefined(n)||(o.value=n),r.isUndefined(i)||(o.parent=i),o}))}function a(t){return r.map(t.edges(),(function(e){var n=t.edge(e),i={v:e.v,w:e.w};return r.isUndefined(e.name)||(i.name=e.name),r.isUndefined(n)||(i.value=n),i}))}t.exports={write:function(t){var e={options:{directed:t.isDirected(),multigraph:t.isMultigraph(),compound:t.isCompound()},nodes:o(t),edges:a(t)};return r.isUndefined(t.graph())||(e.value=r.clone(t.graph())),e},read:function(t){var e=new i(t.options).setGraph(t.value);return r.each(t.nodes,(function(t){e.setNode(t.v,t.value),t.parent&&e.setParent(t.v,t.parent)})),r.each(t.edges,(function(t){e.setEdge({v:t.v,w:t.w,name:t.name},t.value)})),e}}},9126:(t,e,n)=>{var r;try{r={clone:n(6678),constant:n(5703),each:n(6073),filter:n(3105),has:n(8721),isArray:n(1469),isEmpty:n(1609),isFunction:n(3560),isUndefined:n(2353),keys:n(3674),map:n(5161),reduce:n(4061),size:n(4238),transform:n(8718),union:n(3386),values:n(2628)}}catch(t){}r||(r=window._),t.exports=r},9631:t=>{t.exports="2.1.8"},4485:(t,e,n)=>{t.exports=n(2894)},2894:function(t,e){var n,r,i;(function(){var o,a,s,c,u,l,h,f,d,p,g,v,b,y,m;s=Math.floor,p=Math.min,a=function(t,e){return te?1:0},d=function(t,e,n,r,i){var o;if(null==n&&(n=0),null==i&&(i=a),n<0)throw new Error("lo must be non-negative");for(null==r&&(r=t.length);nn;0<=n?e++:e--)u.push(e);return u}.apply(this).reverse()).length;rg;0<=g?++l:--l)v.push(u(t,n));return v},y=function(t,e,n,r){var i,o,s;for(null==r&&(r=a),i=t[n];n>e&&r(i,o=t[s=n-1>>1])<0;)t[n]=o,n=s;return t[n]=i},m=function(t,e,n){var r,i,o,s,c;for(null==n&&(n=a),i=t.length,c=e,o=t[e],r=2*e+1;r{var e,n;!function(){var r;function i(){}function a(){}function s(){}function c(){}function u(){}function l(){}function h(){}function f(){}function d(){}function p(){}function g(){}function v(){}function b(){}function y(){}function m(){}function w(){}function x(){}function _(){}function E(){}function k(){}function T(){}function C(){}function N(){}function A(){}function S(){}function O(){}function L(){}function I(){}function M(){}function P(){}function D(){}function R(){}function j(){}function G(){}function B(){}function F(){}function H(){}function Y(){}function z(){}function U(){}function V(){}function q(){}function X(){}function W(){}function $(){}function Z(){}function K(){}function Q(){}function J(){}function tt(){}function et(){}function nt(){}function rt(){}function it(){}function ot(){}function at(){}function st(){}function ct(){}function ut(){}function lt(){}function ht(){}function ft(){}function dt(){}function pt(){}function gt(){}function vt(){}function bt(){}function yt(){}function mt(){}function wt(){}function xt(){}function _t(){}function Et(){}function kt(){}function Tt(){}function Ct(){}function Nt(){}function At(){}function St(){}function Ot(){}function Lt(){}function It(){}function Mt(){}function Pt(){}function Dt(){}function Rt(){}function jt(){}function Gt(){}function Bt(){}function Ft(){}function Ht(){}function Yt(){}function zt(){}function Ut(){}function Vt(){}function qt(){}function Xt(){}function Wt(){}function $t(){}function Zt(){}function Kt(){}function Qt(){}function Jt(){}function te(){}function ee(){}function ne(){}function re(){}function ie(){}function oe(){}function ae(){}function se(){}function ce(){}function ue(){}function le(){}function he(){}function fe(){}function de(){}function pe(){}function ge(){}function ve(){}function be(){}function ye(){}function me(){}function we(){Bf()}function xe(){C_()}function _e(){Xd()}function Ee(){qg()}function ke(){no()}function Te(){ro()}function Ce(){fa()}function Ne(){Xg()}function Ae(){Df()}function Se(){Nk()}function Oe(){Rf()}function Le(){jf()}function Ie(){lN()}function Me(){LT()}function Pe(){sh(this)}function De(){}function Re(){xu(this)}function je(){}function Ge(t){this.a=t}function Be(t){this.a=t}function Fe(t){this.a=t}function He(t){this.a=t}function Ye(t){this.a=t}function ze(t){this.a=t}function Ue(t){this.a=t}function Ve(t){this.a=t}function qe(t){this.a=t}function Xe(t){this.b=t}function We(t){this.a=t}function $e(t){this.a=t}function Ze(t){this.a=t}function Ke(t){this.a=t}function Qe(t){this.a=t}function Je(t){this.a=t}function tn(t){this.a=t}function en(t){this.a=t}function nn(t){this.a=t}function rn(t){this.a=t}function on(t){this.a=t}function an(t){this.a=t}function sn(t){this.a=t}function cn(t){this.a=t}function un(t){this.a=t}function ln(t){this.e=t}function hn(t){this.a=t}function fn(t){this.a=t}function dn(t){this.a=t}function pn(t){this.a=t}function gn(t){this.a=t}function vn(t){this.a=t}function bn(t){this.a=t}function yn(t){this.a=t}function mn(t){this.a=t}function wn(t){this.a=t}function xn(t){this.a=t}function _n(t){this.a=t}function En(t){this.a=t}function kn(t){this.a=t}function Tn(t){this.a=t}function Cn(t){this.a=t}function Nn(t){this.a=t}function An(t){this.a=t}function Sn(t){this.a=t}function On(t){this.a=t}function Ln(t){this.a=t}function In(t){this.c=t}function Mn(t){this.a=t}function Pn(t){this.a=t}function Dn(t){this.a=t}function Rn(t){this.a=t}function jn(t){this.a=t}function Gn(t){this.a=t}function Bn(t){this.a=t}function Fn(t){this.a=t}function Hn(t){this.a=t}function Yn(t){this.a=t}function zn(t){this.d=t}function Un(t){this.a=t}function Vn(t){this.a=t}function qn(t){this.a=t}function Xn(t){this.a=t}function Wn(t){this.b=t}function $n(t){this.a=t}function Zn(t){this.a=t}function Kn(t){this.c=t}function Qn(t){this.a=t}function Jn(t){this.a=t}function tr(t){this.a=t}function er(t){this.b=t}function nr(t){this.b=t}function rr(t){this.c=t}function ir(t){this.a=t}function or(t){this.a=t}function ar(t){this.a=t}function sr(){this.a=[]}function cr(t){this.a=t}function ur(t){this.a=t}function lr(t){t.b=t.a}function hr(t){t.c=t.d.d}function fr(t,e){t.g=e}function dr(t,e){t.k=e}function pr(t,e){t.e.k=e}function gr(t){return t.a}function vr(t){return t.a}function br(t){return t.a}function yr(t){return t.a}function mr(t){return t.a}function wr(){return null}function xr(){return null}function _r(){this.c=this}function Er(){sh(this)}function kr(){my(this)}function Tr(t){!function(t,e){var n,r,i,o,a,s,c;for(c=0,r=0,i=e.length;r=t.length)return{done:!0};var r=t[n++];return{value:[r,e.get(r)],done:!1}}}},function(){if(!Object.create||!Object.getOwnPropertyNames)return!1;var t="__proto__",e=Object.create(null);return void 0===e[t]&&0==Object.getOwnPropertyNames(e).length&&(e[t]=42,42===e[t]&&0!=Object.getOwnPropertyNames(e).length)}()||(t.prototype.createObject=function(){return{}},t.prototype.get=function(t){return this.obj[":"+t]},t.prototype.set=function(t,e){this.obj[":"+t]=e},t.prototype[yD]=function(t){delete this.obj[":"+t]},t.prototype.keys=function(){var t=[];for(var e in this.obj)58==e.charCodeAt(0)&&t.push(e.substring(1));return t}),t}()}function Io(t,e){Ix(),oI.dc(t,e)}function Mo(t,e){return Mv(t,e)}function Po(t,e){return t.a.B(e)}function Do(t,e){return t.g[e.e]}function Ro(t,e){return t.i[e.e]}function jo(t,e){return t.j[e.e]}function Go(t,e){return t.n[e.e]}function Bo(t,e){return t.o[e.e]}function Fo(t,e){return t>e?t:e}function Ho(t,e){return t>e?t:e}function Yo(t,e){return t>e?t:e}function zo(t,e){return te?1:0}function Fu(t){return null!=t?K_(t):0}function Hu(t){this.a=zc(),this.b=t}function Yu(t){this.a=zc(),this.b=t}function zu(t){this.a=t,td.call(this,t)}function Uu(){Ju(),this.b=new Tn(this)}function Vu(){var t;Vu=a,t=new co(", "),Dd(pI),HD=new Qf(t,t)}function qu(){qu=a,BD=new fu,GD=new Mu}function Xu(){Xu=a,zD=new g,UD=new v}function Wu(){Wu=a,qD=new Zs,XD=new _u}function $u(){$u=a,JD=new du,QD=new wl}function Zu(){Zu=a,vR=new m,bR=new w}function Ku(t){t.g=new Re,t.b=new Re}function Qu(t){t.a=new ye,t.c=new ye}function Ju(){Ju=a,EY=new Zt,_Y=new ed}function tl(){Ha.call(this,"IS_NULL",2)}function el(){Gc.call(this,"Head",1)}function nl(){Gc.call(this,"Tail",3)}function rl(t,e){ow.call(this,t,e,null)}function il(t,e){Hk(t,0,t.length,e)}function ol(t,e){return Lf(e.a,t.a),t.a}function al(t,e){return t.a*=e,t.b*=e,t}function sl(t,e){og(),this.a=t,this.b=e}function cl(t,e){return t.a[e.d.k][e.k]}function ul(t,e){return t.a[e.d.k][e.k]}function ll(t,e){return ua(function(t,e){var n,r;for(n=null,r=t.b;r;)t.a.$b(e,r.d)>=0?r=r.a[1]:(n=r,r=r.a[0]);return n}(t.a,e))}function hl(t,e){return ua(function(t,e){var n,r;for(n=null,r=t.b;r;)t.a.$b(e,r.d)<=0?r=r.a[0]:(n=r,r=r.a[1]);return n}(t.a,e))}function fl(t,e){return Uf(WT(t.a,e),20)}function dl(t,e){return null!=t&&Pk(t,e)}function pl(t){return t.a=e)throw new Ci}function qf(t,e){return Dd(t),Dd(e),new cd(t,e)}function Xf(t,e){return Dd(t),Dd(e),new ud(t,e)}function Wf(t,e,n){return t=e+1&&t.splice(0,e+1);break}return t}(oI.ec(t))}function Ed(t,e){var n;return(n=Fp(t,e)).g=2,n}function kd(t,e){t.b=e.b,t.c=e.c,t.d=e.d,t.a=e.a}function Td(t){t.a.b=t.b,t.b.a=t.a,t.a=t.b=null}function Cd(t){return t.b.c.length+t.e.c.length}function Nd(t){return Array.isArray(t)&&t.ad===i}function Ad(t,e){return Xu(),-1!=Bx(new Kn(t),e)}function Sd(t,e,n,r,i,o){return jT(t,e,n,r,i,0,o)}function Od(t,e,n){Zu(),Qv.call(this,t.b,e,n,t.d)}function Ld(t,e){Zu(),Qv.call(this,t.b,e,t.c,t.d)}function Id(t,e,n){xy(e,t.c.length),Ac(t.c,e,n)}function Md(t,e){return _y(e,t.a.length),t.a[e]}function Pd(t){t.sort((function(t,e){return t-e}))}function Dd(t){if(null==t)throw new Zr;return t}function Rd(t){if(null==t)throw new Zr;this.a=t}function jd(t,e,n){if(t.a!=e)throw new xi;t.a=n}function Gd(t,e){if(!t)throw new so((si(),e))}function Bd(t,e){if(!t)throw new Eo((si(),e))}function Fd(t){if(null==t)throw new Zr;return t}function Hd(t){cr.call(this,new ry),gw(this,t)}function Yd(t){this.a=new Xs(t.Y()),gw(this,t)}function zd(t){this.c=t,this.a=new qs(this.c.a)}function Ud(t){og(),this.a=(zg(),new tr(Dd(t)))}function Vd(){(Vd=a)(),NX=!1,AX=!0}function qd(){qd=a,IX=Ty(ND,hI,24,256,0,1)}function Xd(){Xd=a,MY=vd(bd(new iE,(WL(),yH)),YH)}function Wd(){Wd=a,fF=new E,pF=new nd,dF=new k}function $d(t){return null!=t&&Mp(t)&&!(t.ad===i)}function Zd(t){return!Array.isArray(t)&&t.ad===i}function Kd(t,e){return Nl(e)?Pg(t,e):AN(t.d,e)}function Qd(t,e){return dl(e,17)&&Xl(t,Uf(e,17))}function Jd(t,e){return dl(e,17)&&function(t,e){return!(!e||t.b[e.e]!=e)&&(Yp(t.b,e.e,null),--t.c,!0)}(t,Uf(e,17))}function tp(t,e){var n;return sx(n=gE(t),e),n}function ep(t,e){return!t&&(t=[]),t[t.length]=e,t}function np(t,e,n){if(!t)throw new so(function(t,e){var n,r,i,o;for(si(),(t=null==t?pI:t).length,e.length,n=new ea,o=0,r=0;r0),t.a.sb(t.c=--t.b)}function pp(t){t.b?pp(t.b):t.d.V()&&Kd(t.f.b,t.e)}function gp(t){if(nE(t.d),t.d.d!=t.c)throw new xi}function vp(t,e){if(e[pD]!=t[pD])throw new xi}function bp(t,e){return Xu(),Dd(t),Dd(e),new Ra(t,e)}function yp(t,e){og(),qa.call(this,t,Lx(new Qn(e)))}function mp(t,e,n,r){this.a=t,Ny.call(this,t,e,n,r)}function wp(t){this.a=Math.cos(t),this.b=Math.sin(t)}function xp(t,e,n){zi.call(this,t),this.b=e,this.a=n}function _p(t){this.b=new Re,this.a=new Re,this.c=t}function Ep(t){this.c=new uo,this.a=new Re,this.b=t}function kp(){kp=a,oR=new nn(!1),aR=new nn(!0)}function Tp(t,e){return++t.d,t.c[t.c.length]=e,!0}function Cp(t,e){Mb(t.d,e,t.b.b,t.b),++t.a,t.c=null}function Np(t,e){return null==t.a.db(e,t)}function Ap(t,e){return By(t.slice(0,e),t)}function Sp(t,e){return By(new Array(e),t)}function Op(t,e,n){var r;return r=t.b[e],t.b[e]=n,r}function Lp(t){return _l(),_f(function(t){return Uf(t.g||(t.g=new We(t)),20)}(t.a).mb(),(Wu(),qD))}function Ip(t){return Xu(),new Pu(ju(Xf(t.a,new p)))}function Mp(t){return typeof t===lI||typeof t===bI}function Pp(t){r.setTimeout((function(){throw t}),0)}function Dp(t){return Dd(t),dl(t,345)?Uf(t,345):Uk(t)}function Rp(t,e){return null==Hx(t.a,e,(Vd(),NX))}function jp(t,e){var n;return function(t,e){if(t<0||t>=e)throw new ao(function(t,e){if(t<0)return DA(jI,Nx(Mo(TD,1),GI,1,4,["index",W_(t)]));if(e<0)throw new so(BI+e);return DA("%s (%s) must be less than size (%s)",Nx(Mo(TD,1),GI,1,4,["index",W_(t),W_(e)]))}(t,e))}(e,n=t.a.Y()),n-1-e}function Gp(t,e,n){var r;return r=Sm(t,e),function(t,e,n){if(n){var r=n.gc();n=r(n)}else n=void 0;t.a[e]=n}(t,e,n),r}function Bp(t,e,n){var r;return Wm(n,r=Fp(t,e)),r}function Fp(t,e){var n;return(n=new Wx).i=t,n.d=e,n}function Hp(t,e,n){this.a=t,Ob(n,e),this.c=e,this.b=n}function Yp(t,e,n){return function(t){if(!t)throw new Wr}(null==n||function(t,e){switch(wm(t)){case 5:return Nl(e);case 6:return Cl(e);case 7:return vh(e);case 0:return Pk(e,t.__elementTypeId$);case 2:return Mp(e)&&!(e.ad===i);case 1:return Mp(e)&&!(e.ad===i)||Pk(e,t.__elementTypeId$);default:return!0}}(t,n)),t[e]=n}function zp(t){t.a=null,t.e=null,my(t.b),t.d=0,++t.c}function Up(t){return t.f||(t.f=new Js(t))}function Vp(t){return t.k||(t.k=new Ye(t))}function qp(t){return t.e||(t.e=new Qa(t))}function Xp(t){var e;return!(e=t.e)&&(t.e=e=t.gb()),e}function Wp(t){return t.c.f.d==t.d.f.d}function $p(t,e){var n;return Hm(n=new Db(t),e),n}function Zp(t,e){return t.a+=String.fromCharCode(e),t}function Kp(t){return!t.a&&t.d?t.d.b:t.a}function Qp(t){return ql(t)?0|t:t.l|t.m<<22}function Jp(t,e){return Nl(e)?mv(t,e):Kc(vv(t.d,e))}function tg(t){return dl(t,19)?Uf(t,19).Y():Jb(t.mb())}function eg(t){return t?new Yd((Vu(),t)):function(t){var e;return zm(e=new Ji,t),e}(null.mb())}function ng(t,e){return Zc(t)===Zc(e)||null!=t&&s_(t,e)}function rg(t,e){return eo(),Ox(oo(Oh(t)),oo(Oh(e)))}function ig(t){return _l(),_f(t.a.bb().mb(),(Wu(),XD))}function og(){og=a,lf(),YD=new sb((zg(),zg(),RX))}function ag(){ag=a,lf(),KD=new Ks((zg(),zg(),GX))}function sg(t,e){if(null==t)throw new Co((si(),e))}function cg(t,e,n,r){t.g[e.e][n.e]=r,t.g[n.e][e.e]=r}function ug(t){Au(-1!=t.c),t.d.vb(t.c),t.b=t.c,t.c=-1}function lg(t){this.c=t,this.b=t.a.b.a,Wl(t.a.c,this)}function hg(t){JS.call(this,new Qn(t)),this.a=new uo}function fg(){Li.call(this,new Ri(new kr)),this.a=this}function dg(){um(),this.b=(_l(),new kr),this.a=new kr}function pg(t){yg(t.a),t.b=Ty(TD,GI,1,t.b.length,4,1)}function gg(t){return!t.b&&(t.b=new Ko(t.c.W())),t.b}function vg(t,e){var n;return nL(t,e,n=new me),n.d}function bg(t,e){var n;return(n=Fp("",t)).k=e,n.g=1,n}function yg(t){var e;for(e=t.mb();e.G();)e.H(),e.I()}function mg(t,e){return dl(e,79)&&ji(t.b,Uf(e,79).mc())}function wg(t,e,n){return Nl(e)?Yv(t,e,n):YC(t.d,e,n)}function xg(t,e,n,r){this.d=t,this.b=e,this.a=n,this.c=r}function _g(t,e,n,r){this.d=t,this.e=e,this.c=n,this.b=r}function Eg(t,e,n,r){this.a=t,this.c=e,this.b=n,this.d=r}function kg(t,e,n,r){Pa.call(this,t,e),this.a=n,this.b=r}function Tg(t,e){return si(),t==e?0:t0?1:0}function Qg(t,e){return Uw(function(t,e){return Cf(t.l&e.l,t.m&e.m,t.h&e.h)}(ql(t)?Jw(t):t,ql(e)?Jw(e):e))}function Jg(t){return 0==t.b?null:(Lu(0!=t.b),Ym(t,t.a.a))}function tv(t){t.d=t.d-15,t.b=t.b-15,t.c=t.c+15,t.a=t.a+15}function ev(t){this.b=t,this.c=t,t.e=null,t.c=null,this.a=1}function nv(t,e,n){this.d=t,this.b=new Re,this.c=e,this.a=n}function rv(t,e){!function(t,e){t.a=e}(this,new ts(t.a,t.b)),function(t,e){t.b=e}(this,Yf(e))}function iv(t){pl(new Kn(Qk(t.e)))&&(function(t){var e,n,r;for(r=new zd(new ar(t.c).a);gl(r.a);)switch(r.b=Qb(r.a),e=Uf((n=new Bc(r.c,r.b)).b.b[n.a.e],62),Uf(n.a,67).e){case 0:e.d=0,e.e=-(e.b+t.d);break;case 1:e.d=(t.e.e.j.a-e.c)/2,e.e=-(e.b+t.d);break;case 2:e.d=t.e.e.j.a-e.c,e.e=-(e.b+t.d);break;case 3:e.d=0,e.e=t.e.e.j.b+t.d;break;case 4:e.d=(t.e.e.j.a-e.c)/2,e.e=t.e.e.j.b+t.d;break;case 5:e.d=t.e.e.j.a-e.c,e.e=t.e.e.j.b+t.d;break;case 6:e.d=-(e.c+t.d),e.e=0;break;case 7:e.d=-(e.c+t.d),e.e=(t.e.e.j.b-e.b)/2;break;case 8:e.d=-(e.c+t.d),e.e=t.e.e.j.b-e.b;break;case 9:e.d=t.e.e.j.a+t.d,e.e=0;break;case 10:e.d=t.e.e.j.a+t.d,e.e=(t.e.e.j.b-e.b)/2;break;case 11:e.d=t.e.e.j.a+t.d,e.e=t.e.e.j.b-e.b;break;case 12:e.d=t.q.b+t.d,e.e=t.q.d+t.d;break;case 13:e.d=(t.e.e.j.a-e.c)/2,e.e=t.q.d+t.d;break;case 14:e.d=t.e.e.j.a-t.q.c-e.c-t.d,e.e=t.q.d+t.d;break;case 15:e.d=t.q.b+t.d,e.e=(t.e.e.j.b-e.b)/2;break;case 16:e.d=(t.e.e.j.a-e.c)/2,e.e=(t.e.e.j.b-e.b)/2;break;case 17:e.d=t.e.e.j.a-t.q.c-e.c-t.d,e.e=(t.e.e.j.b-e.b)/2;break;case 18:e.d=t.q.b+t.d,e.e=t.e.e.j.b-t.q.a-e.b-t.d;break;case 19:e.d=(t.e.e.j.a-e.c)/2,e.e=t.e.e.j.b-t.q.a-e.b-t.d;break;case 20:e.d=t.e.e.j.a-t.q.c-e.c-t.d,e.e=t.e.e.j.b-t.q.a-e.b-t.d}}(t),function(t){var e,n,r,i,o;for(r=new Kn(Qk(t.e));r.a>>0).toString(16)}function mv(t,e){return null==e?Kc(vv(t.d,null)):Dc(t.e,e)}function wv(t){return 0|Math.max(Math.min(t,yI),-2147483648)}function xv(t){this.e=t,this.b=this.e.a.entries(),this.a=[]}function _v(t){this.c=t,this.b=new Xx(new Yn(this.c.a).a)}function Ev(t){this.b=(Xu(),Xu(),Xu(),zD),this.a=Uf(Dd(t),35)}function kv(t,e,n){Zu(),If.call(this,t,e),null!=n&&(this.c=n)}function Tv(t,e,n){if(t<0||en)throw new ao(function(t,e,n){return t<0||t>n?zC(t,n,"start index"):e<0||e>n?zC(e,n,"end index"):DA("end index (%s) must not be less than start index (%s)",Nx(Mo(TD,1),GI,1,4,[W_(e),W_(t)]))}(t,e,n))}function Cv(t,e){if(null==t)throw new Co((si(),e));return t}function Nv(t){if(!tE(t))throw new Ei;return t.c=t.b,t.b.H()}function Av(t){var e;return sx(e=new Sa(cx(t.length)),t),e}function Sv(t){var e;e=t.c.b.b,t.b=e,t.a=t.c.b,e.a=t.c.b.b=t}function Ov(t){this.b=null,!t&&(ec(),ec(),t=HX),this.a=t}function Lv(t){this.b=t,this.a=new Kv(this.b,this.b.c.length)}function Iv(t){return og(),Dd(t),function(t){var e;switch((e=Ap(t.c,t.c.length)).length){case 0:return YD;case 1:return new Ud(e[0]);default:return new sb(B_(e))}}(t||Hf(new Kn(null)))}function Mv(t,e){var n=t.a=t.a||[];return n[e]||(n[e]=t.Oc(e))}function Pv(t,e,n){var r;sT(e,n,t.c.length),r=n-e,xa(t.c,e,r)}function Dv(t,e,n){Ma.call(this,e.a),this.c=t,this.b=e,this.a=n}function Rv(t){return qc(t.c),t.e=t.a=t.c,t.c=t.c.c,++t.d,t.a.f}function jv(t){return qc(t.e),t.c=t.a=t.e,t.e=t.e.e,--t.d,t.a.f}function Gv(t){return Vw(Nx(Mo(gR,1),KM,10,0,[t.f.i,t.i,t.a]))}function Bv(){Bv=a,LY=Zx((Vg(),Nx(Mo(jY,1),FI,193,0,[AY,SY])))}function Fv(){Fv=a,dY=Zx((Nb(),Nx(Mo(wY,1),FI,175,0,[lY,hY])))}function Hv(){Hv=a,$Y=Zx((lb(),Nx(Mo(QY,1),FI,192,0,[XY,qY])))}function Yv(t,e,n){return null==e?YC(t.d,null,n):sE(t.e,e,n)}function zv(t,e){return Jd(t.a,e)?Op(t,Uf(e,17).e,null):null}function Uv(t){return Dd(t),nT((Xu(),new Pu(ju(Xf(t.a,new p)))))}function Vv(t,e){var n,r;return r=rp(t,e),n=t.a.ub(r),new Ua(t,n)}function qv(t,e,n){var r;(r=new se).b=e,r.a=n,++e.b,Lf(t.d,r)}function Xv(t,e,n){t.d&&Gy(t.d.b,t),t.d=e,t.d&&Id(t.d.b,n,t)}function Wv(t,e,n){sT(e,n,t.Y()),this.c=t,this.a=e,this.b=n-e}function $v(t,e,n,r){this.d=t,this.b=e,this.a=n,this.c=r}function Zv(t,e){Li.call(this,fw(Dd(t),Dd(e))),this.b=t,this.c=e}function Kv(t,e){this.a=t,zn.call(this,t),xy(e,t.Y()),this.b=e}function Qv(t,e,n,r){Zu(),kv.call(this,t,e,n),null!=r&&(this.d=r)}function Jv(t){return Lu(t.ae)throw new ao(zC(t,e,"index"));return t}function Lb(t,e,n){Dd(t),function(t){var e,n,r;for(xb(t.c,t.a),r=new Kn(t.c);r.a>22&wM,t<0?xM:0)}function hy(){hy=a,MR=Zx((E_(),Nx(Mo(GR,1),FI,59,0,[OR,SR,AR,NR,LR])))}function fy(){fy=a,JG=Zx((mL(),Nx(Mo(iB,1),FI,32,0,[ZG,IG,LG,$G,KG])))}function dy(){dy=a,bG=Zx((OE(),Nx(Mo(kG,1),FI,100,0,[gG,pG,hG,fG,dG])))}function py(){py=a,KY=vd(wd(wd(wd(md(new iE,(WL(),IH)),BH),lH),wH),LH)}function gy(t,e){var n;for(n=e.mb();n.G();)gS(t,Uf(n.H(),55),0,0)}function vy(t,e,n){var r;for(r=t.mb();r.G();)iS(Uf(r.H(),55),e,n)}function by(t,e,n){var r,i;for(r=0,i=0;ie)throw new ao("Index: "+t+", Size: "+e)}function _y(t,e){if(t<0||t>=e)throw new ao("Index: "+t+", Size: "+e)}function Ey(t,e){var n;return!!(n=t_(t,e.yb()))&&Ag(n.e,e.zb())}function ky(t,e){var n;return n=t.d,e>0?Uf(gd(n.a,e-1),9):null}function Ty(t,e,n,r,i,o){var a;return a=hT(i,r),9!=i&&Nx(Mo(t,o),e,n,i,a),a}function Cy(t){var e;if(!uw(t))throw new Ei;return t.d=1,e=t.c,t.c=null,e}function Ny(t,e,n,r){this.f=t,this.e=e,this.d=n,this.b=r,this.c=r?r.d:null}function Ay(t){var e;return e=Uf(gd(t.f,0),7),Uf(kx(e,($L(),oq)),7)}function Sy(t){var e;return e=Uf(gd(t.f,0),7),Uf(kx(e,($L(),oq)),7)}function Oy(){Oy=a,xX=Zx((ME(),Nx(Mo(TX,1),FI,153,0,[bX,mX,yX])))}function Ly(){Ly=a,CX=Zx((Bw(),Nx(Mo(SX,1),FI,172,0,[_X,EX,kX])))}function Iy(){Iy=a,CR=Zx((fk(),Nx(Mo(IR,1),FI,103,0,[mR,_R,ER,kR,wR,xR])))}function My(){My=a,JR=Zx((DT(),Nx(Mo(rj,1),FI,133,0,[ZR,WR,KR,qR,$R,XR])))}function Py(){Py=a,TG=Zx((bT(),Nx(Mo(SG,1),FI,28,0,[EG,_G,xG,yG,wG,mG])))}function Dy(){Dy=a,xY=Zx((pC(),Nx(Mo(kY,1),FI,125,0,[yY,gY,mY,bY,vY,pY])))}function Ry(){Ry=a,yR=new If("de.cau.cs.kieler.labels.labelManager",null)}function jy(t,e){var n;return(n=new me).c=!0,n.d=e.zb(),nL(t,e.yb(),n)}function Gy(t,e){var n;return-1!=(n=Qy(t,e,0))&&(t.vb(n),!0)}function By(t,e){return 9!=wm(e)&&Nx(mm(e),e._c,e.__elementTypeId$,wm(e),t),t}function Fy(t){return vp(t.c.a.c,t),Lu(t.b!=t.c.a.b),t.a=t.b,t.b=t.b.a,t.a}function Hy(t){Au(!!t.c),vp(t.e,t),t.c.I(),t.c=null,t.b=ix(t),Wl(t.e,t)}function Yy(t,e,n){Li.call(this,fw(Dd(t),Dd(e))),this.b=t,this.c=e,this.a=n}function zy(t,e,n,r){this.b=new On(this),this.a=t,this.c=e,this.e=n,this.d=r}function Uy(t){qx.call(this,t,0),bh(this),this.b.b=this.b,this.b.a=this.b}function Vy(t,e){Fc.call(this,t,e),this.a=Ty(KX,GI,183,2,0,1),this.b=!0}function qy(t,e){return Nl(e)?null==e?!!vv(t.d,null):function(t,e){return!(void 0===Ca(t.a,e))}(t.e,e):!!vv(t.d,e)}function Xy(t,e){return Oo(),(t-e>0?t-e:-(t-e))<=yM||t==e||isNaN(t)&&isNaN(e)}function Wy(t,e){return Oo(),(t-e>0?t-e:-(t-e))<=yM||t==e||isNaN(t)&&isNaN(e)}function $y(t){var e,n;e=!0;do{n=e?oE(t):EE(t),e=!e}while(n);ax(t,t.d)}function Zy(t,e,n){var r;if(null==e)throw new Zr;return r=Sg(t,e),function(t,e,n){if(n){var r=n.gc();t.a[e]=r(n)}else delete t.a[e]}(t,e,n),r}function Ky(t,e,n){return!t.n&&(t.n=new kr),null==n?Kd(t.n,e):wg(t.n,e,n),t}function Qy(t,e,n){for(;n=t.a.c.length;)Lf(t.a,new lo);return Uf(gd(t.a,e),20)}function tm(t,e,n,r,i){var o;return Wm(n,o=Fp(t,e)),o.g=i?8:0,o.f=r,o.e=i,o}function em(t,e){var n;this.f=t,this.b=e,n=Uf(Jp(t.b,e),126),this.c=n?n.b:null}function nm(t,e){var n,r;for(n=0,r=e.length;n0&&(r+=function(t){var e,n,r,i,o,a,s,c,u,l,h,f,d,p,g,v,b,y,m,w,x,_,E;for(i=0,y=0,_l(),b=new kr,r=new kr,function(t,e,n){var r,i,o,a,s,c,u,l,h,f,d;for(r=0,i=0,l=0;l0&&wg(e,o,W_(r+=o.b.c.length+o.e.c.length));else{for(s=mC(c,(mL(),LG)).mb();s.G();)r+=(o=Uf(s.H(),7)).b.c.length+o.e.c.length;for(a=mC(c,LG).mb();a.G();)(o=Uf(a.H(),7)).b.c.length+o.e.c.length>0&&wg(e,o,W_(r))}for(u=t.length-1;u>=0;u--)if(Vl(Uf(kx(c=t[u],(JL(),Hj)),28)))for(f=mC(c,(mL(),KG)).mb();f.G();)(h=Uf(f.H(),7)).b.c.length+h.e.c.length>0&&wg(n,h,W_(i+=h.b.c.length+h.e.c.length));else{for(d=mC(c,(mL(),KG)).mb();d.G();)i+=(h=Uf(d.H(),7)).b.c.length+h.e.c.length;for(f=mC(c,KG).mb();f.G();)(h=Uf(f.H(),7)).b.c.length+h.e.c.length>0&&wg(n,h,W_(i))}}(t,o=new kr,E=new kr),e=null,v=0,_=0,m=!0,c=!0,f=0,p=t.length;fu.k&&(++e,d=!0),p&&u&&p.k>u.k&&(++e,g=!0),f&&s&&f.ks.k&&(++e,c=!0),f&&s&&f.ku.k&&(++e,l=!0),c&&l&&s==u&&--e)}}return e}(e)),r}function om(t,e){var n;return(n=Uf(Kd(t.c,e),176))?(Td(n),n.e):null}function am(t){return n_(t,yI)>0?yI:n_(t,kI)<0?kI:Qp(t)}function sm(t){sf.call(this,(si(),null==t?pI:Uk(t)),dl(t,46)?Uf(t,46):null)}function cm(t){xu(this),Gd(t>=0,"Initial capacity must not be negative")}function um(){um=a,oF=xd(wd(wd(new iE,(WL(),MH)),xH),AH),aF=md(new iE,TH)}function lm(){lm=a,UF=new U,YF=new V,zF=new q,HF=new X,VF=new W,qF=new $}function hm(){hm=a,XX=new Gc("All",0),WX=new el,$X=new ml,ZX=new nl}function fm(){fm=a,RY=new Gs($P,0),DY=new Gs("LONGEST_PATH",1),PY=new Gs(VP,2)}function dm(){dm=a,uR=Cf(wM,wM,524287),lR=Cf(0,0,524288),ly(1),ly(2),hR=ly(0)}function pm(){pm=a,cY=Zx((nA(),Nx(Mo(fY,1),FI,109,0,[oY,tY,rY,eY,nY,JH,iY,aY])))}function gm(){gm=a,vz=Zx((Vk(),Nx(Mo(wz,1),FI,141,0,[pz,hz,fz,lz,dz])))}function vm(){vm=a,UU=Zx((mT(),Nx(Mo(KU,1),FI,115,0,[BU,GU,HU,FU,YU])))}function bm(){bm=a,Pq=Zx((qk(),Nx(Mo(Gq,1),FI,85,0,[Iq,Aq,Sq,Oq,Lq])))}function ym(t){tC(),function(t,e,n){t.a=1502^e,t.b=n^mD}(this,Qp(Qg(Uw(function(t,e){var n,r,i,o;return 63,(r=0!=(524288&(n=t.h)))&&(n|=-1048576),o=r?xM:0,i=n>>2,Cf((t.m>>2|n<<20)&wM,i&wM,o&xM)}(ql(t)?Jw(t):t)),xD)),Qp(Qg(t,xD)))}function mm(t){return Nl(t)?AD:Cl(t)?LX:vh(t)?OX:Zd(t)||Nd(t)?t.$c:t.$c||rR}function wm(t){return null==t.__elementTypeCategory$?9:t.__elementTypeCategory$}function xm(t){var e,n;for(oc(),n=SM,e=0;en&&(n=t[e]);return n}function _m(t,e){var n;return(n=Uf(Jp(t.b,e),106))||(n=e.rc(),wg(t.b,e,n)),n}function Em(t,e){var n;return(n=Uf(Jp(t.c,e),176))?(Hl(t,n),n.e):null}function km(t,e,n,r){var i;(i=Uf(Em(t.e,e),116)).b+=n,i.a+=r,Ik(t.e,e,i),t.d=!0}function Tm(t){var e;for(++t.a,e=t.c.a.length;t.a"+t.d.f+"("+t.d+")":"e_"+fh(t)}function Dm(){Dm=a,lG=Zx((yN(),Nx(Mo(vG,1),FI,41,0,[eG,tG,rG,cG,sG,aG,iG,oG,nG])))}function Rm(){Rm=a,AG=new bs("OUTSIDE",0),NG=new bs("INSIDE",1),CG=new bs("FIXED",2)}function jm(){jm=a,xV=new _c(BM,0),_V=new _c("TOP",1),wV=new _c("BOTTOM",2)}function Gm(){Gm=a,Tz=new fc("CLASSIC",0),Cz=new fc("IMPROVE_STRAIGHTNESS",1)}function Bm(){this.e=new uo,this.a=new Hg,this.d=new uo,this.b=new Re,this.c=new Re}function Fm(t,e,n){this.b=e,this.a=t,this.c=n,Lf(this.a.e,this),Lf(this.b.b,this)}function Hm(t,e){t.d=zo(t.d,e.d),t.c=Fo(t.c,e.c),t.a=Fo(t.a,e.a),t.b=zo(t.b,e.b)}function Ym(t,e){var n;return n=e.c,e.a.b=e.b,e.b.a=e.a,e.a=e.b=null,e.c=null,--t.b,n}function zm(t,e){var n;for(Xu(),Dd(t),Dd(e),n=!1;e.G();)n|=t.ib(e.H());return n}function Um(t){var e;return vp(t.e,t),Lu(t.b),t.c=t.a,e=Uf(t.a.H(),21),t.b=ix(t),e}function Vm(t){return kM=0x8000000000000000?(dm(),uR):(r=!1,t<0&&(r=!0,t=-t),n=0,t>=EM&&(t-=(n=wv(t/EM))*EM),e=0,t>=_M&&(t-=(e=wv(t/_M))*_M),i=Cf(wv(t),e,n),r&&(o=1+~i.l&wM,a=~i.m+(0==o?1:0)&wM,s=~i.h+(0==o&&0==a?1:0)&xM,i.l=o,i.m=a,i.h=s),i)}(t))}function qm(t){if(t){if(t.V())throw new Ei;return t.sb(t.Y()-1)}return function(t){var e;for(Xu();;)if(e=t.H(),!t.G())return e}(null.mb())}function Xm(t,e){var n;return e<(n=t.d).a.c.length-1?Uf(gd(n.a,e+1),9):null}function Wm(t,e){if(t){e.k=t;var n=function(t){if(t.Tc())return null;var e=t.k;return nI[e]}(e);n?n.$c=e:nI[t]=[e]}}function $m(t,e){var n,r;r=!1;do{r|=n=t.i?xx(t,e):wx(t,e)}while(n);return r}function Zm(t,e,n){var r,i;r=e;do{i=oo(t.n[r.k])+n,t.n[r.k]=i,r=t.a[r.k]}while(r!=e)}function Km(t,e){return Cv(t,"set1"),Cv(e,"set2"),ic(),new pf(t,new La(e),e)}function Qm(t){var e=/function(?:\s+([\w$]+))?\s*\(/.exec(t);return e&&e[1]||gI}function Jm(){Jm=a,MU=Zx((PT(),Nx(Mo(jU,1),FI,123,0,[LU,OU,SU,NU,CU,AU])))}function tw(){tw=a,QU=Zx((MT(),Nx(Mo(uV,1),FI,124,0,[WU,XU,ZU,qU,$U,VU])))}function ew(){ew=a,MX=Nx(Mo(iW,1),vM,26,12,[0,8,4,12,2,10,6,14,1,9,5,13,3,11,7,15])}function nw(){nw=a,jq=new Tc(GM,0),Dq=new Tc("INPUT",1),Rq=new Tc("OUTPUT",2)}function rw(t){this.c=t,this.b=new Xx(new Yn(t.b).a),this.a=null,this.d=(Xu(),Xu(),UD)}function iw(t){this.e=t,this.d=new Sa(cx(ip(this.e).Y())),this.c=this.e.a,this.b=this.e.c}function ow(t,e,n){this.c=t,Gb.call(this),this.b=e,this.j=new _g(e.d,e.e,e.c,e.b),this.a=n}function aw(t,e){t.j>0&&t.c0&&0!=t.e&&aw(t.g,e/t.j*t.g.d))}function sw(t){return t.b.d.f.g==(RT(),DF)?Uf(kx(t.b.d.f,($L(),oq)),7):t.b.d}function cw(t){return t.b.c.f.g==(RT(),DF)?Uf(kx(t.b.c.f,($L(),oq)),7):t.b.c}function uw(t){switch(Vc(3!=t.d),t.d){case 2:return!1;case 0:return!0}return function(t){return t.d=3,t.c=function(t){for(var e;t.b.G();)if(e=t.b.H(),t.a.D(e))return e;return t.d=2,null}(t),2!=t.d&&(t.d=0,!0)}(t)}function lw(t){switch(t.e){case 2:return mL(),KG;case 4:return mL(),LG;default:return t}}function hw(t){switch(t.e){case 1:return mL(),$G;case 3:return mL(),IG;default:return t}}function fw(t,e){var n;return zg(),n=new Xs(1),Nl(t)?Yv(n,t,e):YC(n.d,t,e),new rr(n)}function dw(t,e){return t.g?(t.g=dw(t.g,e),--t.a,t.j=__(t.j,e.c),$T(t)):t.e}function pw(t,e){return t.e?(t.e=pw(t.e,e),--t.a,t.j=__(t.j,e.c),$T(t)):t.g}function gw(t,e){var n,r,i;for(Fd(e),n=!1,i=e.mb();i.G();)r=i.H(),n|=t.ib(r);return n}function vw(t){var e,n;for(n=new Fr,e=t.b.mb();e.G();)Of(n,Uf(e.H(),92).a);return n}function bw(t){var e,n,r;for(e=0,r=t.mb();r.G();)e+=(Fd(n=Oh(r.H())),n);return e/t.Y()}function yw(t,e){var n;return(n=Uf(Jp(t.c,e),200))||((n=new Jr).c=e,wg(t.c,n.c,n)),n}function mw(t,e){var n;return Fd(e),n=e.e,!t.b[n]&&(Yp(t.b,n,e),++t.c,!0)}function ww(t,e){var n,r;return n=1-e,r=t.a[n],t.a[n]=r.a[e],r.a[e]=t,t.b=!0,r.b=!1,r}function xw(t,e){var n;return!!dl(e,10)&&(n=Uf(e,10),t.a==n.a&&t.b==n.b)}function _w(t,e,n){return t.g=new Nw(e,n),Th(t,t.g,t.i),t.d=Yo(2,t.d),++t.a,t.j=w_(t.j,n),t}function Ew(t,e,n){return t.e=new Nw(e,n),Th(t.f,t.e,t),t.d=Yo(2,t.d),++t.a,t.j=w_(t.j,n),t}function kw(t,e){var n=t.a,r=0;for(var i in n)n.hasOwnProperty(i)&&(e[r++]=i);return e}function Tw(t,e){var n,r;for(Fd(e),r=e.bb().mb();r.G();)n=Uf(r.H(),21),t.db(n.yb(),n.zb())}function Cw(t,e,n){this.g=t,this.d=e,this.e=n,this.a=new Re,function(t){var e,n,r,i;for(i=bA(new zh(t.d,t.e));i.G();)for(r=Uf(i.H(),7),n=new Kn(t.e==(mL(),KG)?r.b:r.e);n.a0),this.b=t,this.c=e,this.j=e,this.a=1,this.d=1,this.e=null,this.g=null}function Aw(t){return 1.4901161193847656e-8*LN(t,26)+11102230246251565e-32*LN(t,27)}function Sw(t){return dl(t,87)?rb(Uf(t,87)):dl(t,88)?Uf(t,88).a:dl(t,63)?new Di(t):new Ka(t)}function Ow(t){var e;return e=Uf(kx(t,($L(),qV)),32),t.g==(RT(),DF)&&(e==(mL(),KG)||e==LG)}function Lw(t,e){return!!function(t,e){var n,r,i;for(n=Uf(kx(e,($L(),UV)),18),i=Uf(WT(SF,n),18).mb();i.G();)if(r=Uf(i.H(),18),!Uf(WT(t.a,r),20).V())return!1;return!0}(t,e)&&(dN(t.a,Uf(kx(e,($L(),UV)),18),e),!0)}function Iw(t,e){var n;if(e)for(n=0;n<6;n++)Uf(gd(t.a,n),18).jb(Uf(gd(e.a,n),19));return t}function Mw(t,e){var n;return t.b?null:(n=function(t,e){return new Ch(t>0?t-1:t,e)}(t.e,t.f),Of(t.a,n),n.g=t,t.d=e,n)}function Pw(t,e){var n,r;for(r=Sk(t,0);r.b!=r.d.c;)(n=Uf(Sb(r),10)).a+=e.a,n.b+=e.b;return t}function Dw(t,e){var n,r;for(n=0;n0?t.g?Yw(t.g,e,n):0:t.c}function zw(t,e){var n,r;return!!t.c&&(r=t.g,(n=t.a.$b(e,r))>0|0==n&t.f==(qu(),BD))}function Uw(t){var e;return 0==(e=t.h)?t.l+t.m*_M:e==xM?t.l+t.m*_M-EM:t}function Vw(t){var e,n,r,i;for(e=new uo,r=0,i=t.length;r=i;o--)t[o+1]=t[o];t[i]=r}function Kw(t,e,n,r){var i,o;for(i=function(t,e,n,r){var i,o,a,s;for(o=e,i=n-1;o<=i;)if((s=t[a=o+i>>>1])r))return a;i=a-1}return-(o+1)}(t,e,n,r),i<0&&(i=-i-1),o=n-1;o>=i;o--)t[o+1]=t[o];t[i]=r}function Qw(t,e){var n,r;for(Fd(e),r=e.mb();r.G();)if(n=r.H(),!t.kb(n))return!1;return!0}function Jw(t){var e,n,r;return n=0,(r=t)<0&&(r+=EM,n=xM),e=wv(r/_M),Cf(wv(r-e*_M),e,n)}function tx(t,e){return t.c.c=Ty(TD,GI,1,0,4,1),vC(t,t.e,e),vC(t,t.a,e),zg(),xb(t.c,null),function(t){var e,n,r;for(e=0,r=new Kn(t.c);r.a0;r--)n|=VE(t,e,r-1,r);return n}function xx(t,e){var n,r,i;for(n=!1,r=t.d[e].length,i=0;ie?1:t==e?0:isNaN(t)?isNaN(e)?0:1:-1}function Lx(t){switch(t.Y()){case 0:return YD;case 1:return new Ud(t.mb().H());default:return new sb(t)}}function Ix(){var t,e;Ix=a,e=!(Error.stackTraceLimit||"stack"in new Error),t=new we,oI=e?new u:t}function Mx(){Mx=a,VB=new If("intCoordinates",(Vd(),Vd(),NX)),qB=new fd("jsonObject"),XB=new ts(0,0)}function Px(){Px=a,ZF=new Is("MIRROR_X",0),KF=new Is("TRANSPOSE",1),$F=new Is("MIRROR_AND_TRANSPOSE",2)}function Dx(){Dx=a,DU=new yc(BM,0),PU=new yc("INCOMING_ONLY",1),RU=new yc("OUTGOING_ONLY",2)}function Rx(){return CL(),Nx(Mo(TU,1),FI,60,0,[$z,qz,Vz,Qz,Kz,vU,gU,Zz,Xz,Wz,Jz,dU,pU])}function jx(){var t,e,n,r;for(jx=a,uY=new TE(TU),n=0,r=(e=Rx()).length;n0)return Vf(e-1,t.a.c.length),yy(t.a,e-1);throw new _i}function Vx(t){t.b.c.length-t.e.c.length<0?(Fh(t,(mL(),LG)),t.a.a=t.j.a):(Fh(t,(mL(),KG)),t.a.a=0)}function qx(t,e){Gd(t>=0,"Negative initial capacity"),Gd(e>=0,"Non-positive load factor"),my(this)}function Xx(t){var e;this.e=t,this.d=new ty(this.e.e),this.a=this.d,this.b=ix(this),e=t[pD],this[pD]=e}function Wx(){this.n=null,this.j=null,this.i=null,this.d=null,this.b=null,this.k=null,this.a=null}function $x(t){var e,n,r,i;for(i=1,n=0,r=t.length;n=48&&t<58?t-48:t>=97&&t<97?t-97+10:t>=65&&t<65?t-65+10:-1}function m_(t){switch(lf(),t.Y()){case 0:return ag(),KD;case 1:return new la(t.mb().H());default:return new Ks(t)}}function w_(t,e){var n;return ql(t)&&ql(e)&&kM<(n=t+e)&&n>22),i=t.h+e.h+(r>>22),Cf(n&wM,r&wM,i&xM)}(ql(t)?Jw(t):t,ql(e)?Jw(e):e))}function x_(t,e){var n;return ql(t)&&ql(e)&&kM<(n=t*e)&&n>13|(15&t.m)<<9,i=t.m>>4&8191,o=t.m>>17|(255&t.h)<<5,a=(1048320&t.h)>>8,v=r*(s=8191&e.l),b=i*s,y=o*s,m=a*s,0!=(c=e.l>>13|(15&e.m)<<9)&&(v+=n*c,b+=r*c,y+=i*c,m+=o*c),0!=(u=e.m>>4&8191)&&(b+=n*u,y+=r*u,m+=i*u),0!=(l=e.m>>17|(255&e.h)<<5)&&(y+=n*l,m+=r*l),0!=(h=(1048320&e.h)>>8)&&(m+=n*h),d=((g=n*s)>>22)+(v>>9)+((262143&b)<<4)+((31&y)<<17),p=(b>>18)+(y>>5)+((4095&m)<<8),p+=(d+=(f=(g&wM)+((511&v)<<13))>>22)>>22,Cf(f&=wM,d&=wM,p&=xM)}(ql(t)?Jw(t):t,ql(e)?Jw(e):e))}function __(t,e){var n;return ql(t)&&ql(e)&&kM<(n=t-e)&&n>22),i=t.h-e.h+(r>>22),Cf(n&wM,r&wM,i&xM)}(ql(t)?Jw(t):t,ql(e)?Jw(e):e))}function E_(){E_=a,OR=new us(GM,0),SR=new us(DM,1),AR=new us(PM,2),NR=new us("DOWN",3),LR=new us("UP",4)}function k_(){k_=a,zR=new hs(GM,0),HR=new hs("POLYLINE",1),FR=new hs("ORTHOGONAL",2),YR=new hs("SPLINES",3)}function T_(){T_=a,ej=new ds("INHERIT",0),tj=new ds("INCLUDE_CHILDREN",1),nj=new ds("SEPARATE_CHILDREN",2)}function C_(){C_=a,BY=md(bd(new iE,(WL(),cH)),NH),FY=vd(md(yd(new iE,nH),tH),eH),HY=vd(wd(new iE,rH),eH)}function N_(){N_=a,YY=md(bd(new iE,(WL(),cH)),NH),zY=vd(md(yd(new iE,nH),tH),eH),UY=vd(wd(new iE,rH),eH)}function A_(t){this.a=new Iu,this.d=new Iu,this.b=new Iu,this.c=new Iu,this.g=new Iu,this.i=new Iu,this.f=t}function S_(t,e,n,r,i,o){this.e=new Re,this.f=(nw(),jq),Lf(this.e,t),this.d=e,this.a=n,this.b=r,this.f=i,this.c=o}function O_(t,e,n,r,i){var o,a;for(a=t.mb();a.G();)(o=Uf(a.H(),33)).i.a=e.a,o.i.b=i?e.b:e.b+r.b-o.j.b,e.a+=o.j.a+n}function L_(t,e){var n,r;for(Gf(),r=Ip(GT(t));tE(r);)if((n=Uf(Nv(r),12)).d.f==e||n.c.f==e)return n;return null}function I_(t,e,n){var r,i,o;for(r=0,o=Sk(t,0);o.b!=o.d.c&&!((i=oo(Oh(Sb(o))))>n);)i>=e&&++r;return r}function M_(t,e){var n;return e?((n=e.n?e.n:(zg(),zg(),jX)).V()||(t.n?Tw(t.n,n):t.n=new lu(n)),t):t}function P_(t,e,n){try{!function(t,e,n){if(Dd(e),n.G())for(nu(e,t.C(n.H()));n.G();)nu(e,t.c),nu(e,t.C(n.H()))}(t,e,n)}catch(t){throw dl(t=r_(t),181)?new sm(t):D_(t)}return e}function D_(t){var e;return dl(t,164)&&Zc((e=Uf(t,164)).b)!==Zc((ai(),iI))?Zc(e.b)===Zc(iI)?null:e.b:t}function R_(t,e){var n;for(n=Uf(kx(Kp(t),($L(),lq)),9);n;){if(n==e)return!0;n=Uf(kx(Kp(n),lq),9)}return!1}function j_(t){switch(Uf(kx(t,($L(),KV)),140).e){case 1:Ky(t,KV,(jm(),wV));break;case 2:Ky(t,KV,(jm(),_V))}}function G_(t){switch(lf(),t.c){case 0:return ag(),KD;case 1:return new la(PC(new qs(t)));default:return new Ii(t)}}function B_(t){var e,n;for(og(),e=0,n=t.length;e-129&&t<128?(e=t+128,!(n=(qd(),IX)[e])&&(n=IX[e]=new Mn(t)),n):new Mn(t)}function $_(t){var e,n;for(e=NT(t.b,t.d),n=yI;n>e;){if(ax(t,t.d),0==e){n=0;break}oE(t),EE(t),n=e,e=NT(t.b,t.d)}t.c=n}function Z_(){var t,e,n;tC(),n=qX+++(Date.now?Date.now():(new Date).getTime()),t=wv(Math.floor(n*KP))&xD,e=wv(n-t*wD),this.a=1502^t,this.b=e^mD}function K_(t){return Nl(t)?dk(t):Cl(t)?wv((Fd(t),t)):vh(t)?io((Fd(t),t))?1231:1237:Zd(t)?t.v():(Nd(t),fh(t))}function Q_(t,e,n,r){var i,o,a;for(a=0,o=bA(new zh(e,r));o.G();)i=Uf(o.H(),7),wg(t.i,i,W_(a++));wg(n,e,W_(a))}function J_(t){var e;return(e=Uf(kx(t,(JL(),pj)),59))==(E_(),OR)?Uf(kx(t,($L(),AV)),15).a>=1?SR:NR:e}function tE(t){if(Dd(t.b),t.b.G())return!0;for(;t.a.G();)if(Dd(t.b=t.Wb(t.a.H())),t.b.G())return!0;return!1}function eE(t){return t.d==t.c.d&&t.i==t.g.d||(t.a.c=Ty(TD,GI,1,0,4,1),ox(t.a,t.c),ox(t.a,t.g),t.d=t.c.d,t.i=t.g.d),t.a}function nE(t){var e;if(t.b){if(nE(t.b),t.b.d!=t.c)throw new xi}else t.d.V()&&(e=Uf(Jp(t.f.b,t.e),19))&&(t.d=e)}function rE(t,e,n,r,i){var o,a,s,c;for(function(t,e,n,r,i){r?function(t,e){var n,r;for(r=new Kn(e);r.a1&&(xb(e,t.b),function(t,e){var n,r,i,o,a,s,c,u,l;for(i=new Re,c=new Kn(e);c.ae){tb(n);break}}Cp(n,e)}function sE(t,e,n){var r;return r=Ca(t.a,e),function(t,e,n){t.set(e,n)}(t.a,e,void 0===n?null:n),void 0===r?(++t.c,tf(t.b)):++t.d,r}function cE(t,e,n){return(e-t<=0?0-(e-t):e-t)FP?t-n>FP:n-t>FP)}function uE(t){switch(t.e){case 0:return GU;case 1:return BU;case 2:return FU;case 3:return HU;default:return YU}}function lE(t,e){switch(e.e){case 2:return t.b;case 1:return t.c;case 4:return t.d;case 3:return t.a;default:return!1}}function hE(t){switch(mL(),t.e){case 4:return IG;case 1:return LG;case 3:return $G;case 2:return KG;default:return ZG}}function fE(t,e){if(e==t.c)return t.d;if(e==t.d)return t.c;throw new so("Node "+e+" not part of edge "+t)}function dE(t,e){var n;return Xl(t.a,e)?Uf(Xl(t.a,e)?t.b[e.e]:null,62):(n=new Hr,mw(t.a,e),Op(t,e.e,n),n)}function pE(t,e){var n,r,i;for(i=t.g.tb(),n=0;i.G();){if((r=oo(Oh(i.H()))-e)>uD)return n;r>lD&&++n}return n}function gE(t){var e,n,r,i;return mw(n=new Zf(e=Uf(ia((i=(r=t.$c).f)==RD?r:i),11),Uf(Sp(e,e.length),11),0),t),n}function vE(t,e){var n,r;for(r=new Kn(e);r.a %s",Nx(Mo(TD,1),GI,1,4,[W_(e),W_(n)])),sT(e,n=n<(r=t.length)?n:r,r),n-e}function _E(t,e){var n,r,i;for(n=t,i=0;;){if(n==e)return i;if(!(r=Uf(kx(n,($L(),lq)),9)))throw new qr;n=Kp(r),++i}}function EE(t){var e,n,r;for(r=!1,n=t.d.length-1;n>=0;n--)t.j=(e=new gC(t.e,t.d,n,1),new BT(n,t.d,e)),r|=$m(t,n);return r}function kE(t){this.f=(_l(),new kr),this.n=new kr,this.k=new kr,this.g=new Ji,this.i=new lk((ui(),$D)),this.j=t,function(t,e){var n,r,i,o,a;for(n=0,a=0,i=0,o=e.length;i0?t-e:-(t-e))<=yM||t==e||isNaN(t)&&isNaN(e)?0:te?1:yu(isNaN(t),isNaN(e)))>0}function DE(t,e){return Oo(),Oo(),((t-e>0?t-e:-(t-e))<=yM||t==e||isNaN(t)&&isNaN(e)?0:te?1:yu(isNaN(t),isNaN(e)))<0}function RE(t){var e,n;for(t.d||function(t){var e,n,r,i,o,a;if(i=t.g.tb(),r=t.b.tb(),t.e)for(n=0;nuD;){for(o=e,a=0;(e-o<=0?0-(e-o):e-o)o_(t.a,r,i)+t.c.b+t.d.b)}(t.j,n,r)&&(function(t,e,n){!function(t,e,n){$N(t,e,n,(mL(),LG),t.f),$N(t,e,n,KG,t.n)}(t.c,e,n)}(t.j,t.d[e][n],t.d[e][r]),a=(o=t.d[e])[r],o[r]=o[n],o[n]=a,i=!0),i}function qE(t,e,n){var r,i,o,a,s;i=(s=Kp(t)).a,r=Uf(kx(s,($L(),PV)),15).a,o=s.d,a=t.i,e&&(a.a=a.a-i.b-r-o.a),n&&(a.b=a.b-i.d-r-o.b)}function XE(t,e){var n,r,i;for(r=Ip(GT(t));tE(r);)return n=Uf(Nv(r),12),new Fe(Dd((i=Uf(e.B(n),9)).i.b+i.j.b/2));return ci(),ci(),kD}function WE(t){var e,n,r,i;for(n=vO(t),e=jP,i=0,r=0;e>.5&&i<50;)e=Na(XT(n,r=fA(n),!0).b),++i;return XT(t,r,!1)}function $E(t){var e,n,r,i;for(n=vO(t),e=jP,i=0,r=0;e>.5&&i<50;)e=Na(XT(n,r=hA(n),!0).a),++i;return XT(t,r,!1)}function ZE(t){var e,n,r;for(this.a=new Iu,this.e=new Ji,this.f=0,n=0,r=t.length;n0),e.a.sb(e.c=--e.b))}function ik(t,e,n){HE(n,"Compound graph preprocessor",1),t.a=new $s,oO(t,e,null),function(t,e){var n,r,i,o,a,s,c;for(a=ip(t.a).mb();a.G();){if((o=Uf(a.H(),12)).b.c.length>0)for(xb(r=new df(Uf(WT(t.a,o),18)),new cn(e)),i=new Kv(o.b,0);i.b=t.b>>1)for(r=t.c,n=t.b;n>e;--n)r=r.b;else for(r=t.a.a,n=0;n0&&(i.b+=e),i}function Lk(t,e){var n,r,i;for(i=new uo,r=t.mb();r.G();)iS(n=Uf(r.H(),55),0,i.b),i.b+=n.e.b+e,i.a=Fo(i.a,n.e.a);return i.a>0&&(i.a+=e),i}function Ik(t,e,n){var r,i,o;return(i=Uf(Jp(t.c,e),176))?(o=bf(i,n),Hl(t,i),o):(r=new sd(t,e,n),wg(t.c,e,r),Sv(r),null)}function Mk(t){switch(t.e){case 8:return mL(),IG;case 9:return mL(),$G;case 10:return mL(),LG;case 11:return mL(),KG;default:return mL(),ZG}}function Pk(t,e){return Nl(t)?!!cI[e]:t._c?!!t._c[e]:Cl(t)?!!sI[e]:!!vh(t)&&!!aI[e]}function Dk(){Mx(),this.i=(_l(),new kr),this.a=new kr,this.k=new kr,this.j=new kr,this.b=new kr,this.n=new kr,this.f=new kr,this.e=new kr}function Rk(t,e){var n,r;e.a.R(t)||(r=Uf(kx(t,($L(),qV)),32),n=Uf(gd(t.f,0),7),r==(mL(),IG)?Fh(n,$G):r==$G&&Fh(n,IG),e.a.db(t,e))}function jk(t){return Yo(1,Uf(kx(t,($L(),gq)),24).a)*(t.c.f.g==(RT(),GF)&&t.d.f.g==GF?1:t.c.f.g==GF||t.d.f.g==GF?2:8)}function Gk(t){var e,n,r,i;for(i=Uf(kx(t,($L(),oq)),7),n=0,r=(e=Uf(Yk(t.b,Ty(IF,CP,12,t.b.c.length,0,1)),47)).length;nr&&Yp(e,r,null),e}function zk(t,e){var n,r;for(r=t.a.length,e.lengthr&&Yp(e,r,null),e}function Uk(t){return Nl(t)?t:Cl(t)?Aa((Fd(t),t)):vh(t)?yl(io((Fd(t),t))):Zd(t)?t.w():Nd(t)?yv(t):t.toString?t.toString():"[JavaScriptObject]"}function Vk(){Vk=a,pz=new cc("SIMPLE",0),hz=new cc(VP,1),fz=new cc("LINEAR_SEGMENTS",2),lz=new cc("BRANDES_KOEPF",3),dz=new cc($P,4)}function qk(){qk=a,Iq=new kc(BM,0),Aq=new kc("FIRST",1),Sq=new kc("FIRST_SEPARATE",2),Oq=new kc("LAST",3),Lq=new kc("LAST_SEPARATE",4)}function Xk(){Xk=a,Hz=new le,Bz=md(new iE,(WL(),mH)),Fz=vd(md(new iE,RH),DH),jz=vd(wd(md(yd(new iE,_H),kH),CH),EH),Gz=vd(wd(new iE,CH),uH)}function Wk(t){var e,n,r;for(n=new Vn(new Un(t.d.a).a.bb().mb());n.a.G();)r=Uf(n.a.H(),21),Lf((e=Uf(r.yb(),12)).c.e,e),Lf(e.d.b,e)}function $k(t,e){var n,r;if(Su(e>0),(e&-e)==e)return wv(e*LN(t,31)*4.656612873077393e-10);do{r=(n=LN(t,31))%e}while(n-r+(e-1)<0);return wv(r)}function Zk(t,e){if(t.c.f==e)return t.d.f;if(t.d.f==e)return t.c.f;throw new so("Node "+e+" is neither source nor target of edge "+t)}function Kk(t,e,n){return Su(t>=0&&t<=1114111),t>=wI?(e[n++]=55296+(t-wI>>10&1023)&xI,e[n]=56320+(t-wI&1023)&xI,2):(e[n]=t&xI,1)}function Qk(t){var e,n;if(!t.a)for(t.a=Ol(Uf(t.e,9).c.c.length),n=new Kn(Uf(t.e,9).c);n.ai&&Yp(e,i,null),e}function oT(t,e,n){if(n&&(e<0||e>n.a.c.length))throw new so("index must be >= 0 and <= layer node count");t.d&&Gy(t.d.a,t),t.d=n,n&&Id(n.a,e,t)}function aT(t,e,n,r,i,o,a,s){var c,u;r&&((c=r.a[0])&&aT(t,e,n,c,i,o,a,s),function(t,e,n,r,i,o,a){var s,c;return!(e.Xc()&&(c=t.a.$b(n,r),c<0||!i&&0==c))&&!(e.Yc()&&(s=t.a.$b(n,o),s>0||!a&&0==s))}(t,n,r.d,i,o,a,s)&&e.ib(r),(u=r.a[1])&&aT(t,e,n,u,i,o,a,s))}function sT(t,e,n){if(t<0)throw new ao(SI+t+" < 0");if(e>n)throw new ao("toIndex: "+e+" > size "+n);if(t>e)throw new so(SI+t+" > toIndex: "+e)}function cT(t,e){var n,r,i;return n=e.yb(),i=e.zb(),r=t.cb(n),!(!(Zc(i)===Zc(r)||null!=i&&s_(i,r))||null==r&&!t.R(n))}function uT(t,e,n){var r;(r=e.c.f).g==(RT(),jF)?(Ky(t,($L(),eq),Uf(kx(r,eq),7)),Ky(t,nq,Uf(kx(r,nq),7))):(Ky(t,($L(),eq),e.c),Ky(t,nq,n.d))}function lT(t,e,n){var r,i,o,a;for(function(t){var e,n;for(null==t.g&&(t.g=_d(t)),e=0,n=t.g.length;er&&t.charCodeAt(e-1)<=32;)--e;return r>0||e>19)!=(s=e.h>>19)?s-a:(r=t.h)!=(o=e.h)?r-o:(n=t.m)!=(i=e.m)?n-i:t.l-e.l}function xT(t){var e,n,r;for(n=new Vn(new Un(t.p.a).a.bb().mb());n.a.G();)if(r=Uf(n.a.H(),21),(e=Uf(r.yb(),89)).e&&t.b[e.b]<0)return e;return null}function _T(t,e){var n,r,i,o,a;r=zo(t.d,e.d),o=zo(t.e,e.e),(i=Fo(t.d+t.c,e.d+e.c))=e.length)throw new ao("Greedy SwitchDecider: Free layer layer not in graph.");this.b=e[t],this.c=new Wh(this.b),this.d=new qw(this.b)}function FT(t,e){var n;if(this.f=t,this.b=this.f.c,Ob(e,n=t.d),e>=(n/2|0))for(this.e=t.e,this.d=n;e++0;)ib(this);this.a=null}function HT(t){var e,n,r;for(n=new Kn(t.a.b);n.a0&&(t.g=oC(t.g)),iC(t);case 2:return mu(t.e)<0&&(t.e=iC(t.e)),oC(t);default:return t.d=1+Yo(Bi(t.e),Bi(t.g)),t}}function ZT(t,e){this.f=(_l(),new kr),this.b=new kr,this.j=new kr,this.a=t,this.c=e,this.c>0&&rN(this,this.c-1,(mL(),LG)),this.c0&&hN(t,e,n),0):(Uc(0==n),0)}function JT(t,e){var n,r,i,o,a;for(i=Uf(kx(e,($L(),wq)),15).a*Uf(kx(e,(ZL(),$q)),15).a,a=t[0].i.a+t[0].j.a,o=1;o=0;e--)VX[e]=r,r*=.5;for(n=1,t=24;t>=0;t--)UX[t]=n,n*=.5}function eC(t){for(;0!=t.g.c&&0!=t.d.c;)zl(t.g).c>zl(t.d).c?(t.i+=t.g.c,zE(t.d)):zl(t.d).c>zl(t.g).c?(t.e+=t.d.c,zE(t.g)):(t.i+=id(t.g),t.e+=id(t.d),zE(t.g),zE(t.d))}function nC(t){var e,n,r,i;for(i=new $o("["),e=!1,r=t.mb();r.G();)n=r.H(),e?i.a+=", ":e=!0,iu(i,n===t?"(this Collection)":(si(),null==n?pI:Uk(n)));return i.a+="]",i.a}function rC(t){var e,n,r,i;for(i=new $o("{"),e=!1,r=t.bb().mb();r.G();)n=Uf(r.H(),21),e?i.a+=", ":e=!0,iu(i,vb(t,n.yb())),i.a+="=",iu(i,vb(t,n.zb()));return i.a+="}",i.a}function iC(t){var e;return Vc(!!t.g),e=t.g,t.g=e.e,e.e=t,e.j=t.j,e.a=t.a,t.a=1+Gi(t.e)+Gi(t.g),t.j=w_(w_(t.c,Fi(t.e)),Fi(t.g)),t.d=1+Yo(Bi(t.e),Bi(t.g)),e.d=1+Yo(Bi(e.e),Bi(e.g)),e}function oC(t){var e;return Vc(!!t.e),e=t.e,t.e=e.g,e.g=t,e.j=t.j,e.a=t.a,t.a=1+Gi(t.e)+Gi(t.g),t.j=w_(w_(t.c,Fi(t.e)),Fi(t.g)),t.d=1+Yo(Bi(t.e),Bi(t.g)),e.d=1+Yo(Bi(e.e),Bi(e.g)),e}function aC(t){var e;pl(new Kn(fT(t.e)))&&((e=Uf(mE(t.e,(JL(),Hj)),28))==(bT(),mG)?function(t){var e,n,r,i,o;for(e=t.e.j,r=new Kn(fT(t));r.a=wI?(e=55296+(t-wI>>10&1023)&xI,n=56320+(t-wI&1023)&xI,String.fromCharCode(e)+""+String.fromCharCode(n)):String.fromCharCode(t&xI)}function kC(t,e,n,r){var i;Lf(t.c,new xg(t,n,r,Uf(Jp(t.k,n),24).a)),Wp(r)&&(e==t.e?r.d.f!=t.a&&r.c.f!=t.a:r.d.f!=t.e&&r.c.f!=t.e)&&(i=n==r.c?r.d:r.c,Lf(t.c,new xg(t,i,r,Uf(Jp(t.k,i),24).a)))}function TC(t,e){var n,r,i;if(e===t)return!0;if(!dl(e,57))return!1;if(i=Uf(e,57),t.Y()!=i.Y())return!1;for(r=i.bb().mb();r.G();)if(n=Uf(r.H(),21),!t._(n))return!1;return!0}function CC(t,e){var n,r,i;return M_(r=new Tk(t),e),Ky(r,($L(),VV),e),Ky(r,(JL(),Hj),(bT(),mG)),Ky(r,sj,(fk(),xR)),fr(r,(RT(),DF)),cv(n=new TT,r),Fh(n,(mL(),KG)),cv(i=new TT,r),Fh(i,LG),r}function NC(t,e){var n,r,i;for(i=yI,r=new Kn(eE(e));r.a0&&LC(t,o,n));e.k=0}function IC(t,e){if(0>e)throw new so("Top must be smaller or equal to bottom.");if(0>t)throw new so("Left must be smaller or equal to right.");this.d=0,this.c=t,this.a=e,this.b=0}function MC(t){var e,n,r;if(0==t.length)throw new so(hD);for(n=0,r=t.length;n1)throw new so("In straight hyperEdges there may be only one edge.");Of((i=new Un(n.a).a.bb().mb(),r=Uf(new Vn(i).a.H(),21),Uf(r.yb(),12)).a,new ts(e,t.b))}function WC(t,e,n){var r,i;if(this.f=t,Ob(n,i=(r=Uf(Jp(t.b,e),126))?r.a:0),n>=(i/2|0))for(this.e=r?r.c:null,this.d=i;n++0;)Rv(this);this.b=e,this.a=null}function $C(e,r){typeof n===bI?n(r):((typeof document!==WM||"object"===lI&&t.exports)&&uW(e(r)),typeof document===WM&&typeof self!==WM&&self.postMessage(r))}function ZC(t,e){var n,r,i,o;"x"in t.a&&(i=Uf(Sg(t,"x"),104),e.i.a=i.a),"y"in t.a&&(o=Uf(Sg(t,"y"),104),e.i.b=o.a),eP in t.a&&(r=Uf(Sg(t,eP),104),e.j.a=r.a),nP in t.a&&(n=Uf(Sg(t,nP),104),e.j.b=n.a)}function KC(t,e,n){var r;wy(this),e==(pv(),EU)?Np(this.g,t.c):Np(this.o,t.c),Np(n==EU?this.g:this.o,t.d),Np(this.c,t),uk(this,Gv(t.c).b,r=Gv(t.d).b,r),this.f=function(t,e){return LT(),(t-e<=0?0-(t-e):t-e)<.2}(Gv(t.c).b,Gv(t.d).b)}function QC(t,e,n){var r,i,o,a,s;for(zg(),s=new cm((a=new Ko(Uf(gd(e.a,n),18))).b.Y()),i=new nr(a.b.mb());i.b.G();)r=Uf(i.b.H(),37),(o=Uf(Jp(t.a,r),31))||(o=YL(r),wg(t.a,r,o)),s.c[s.c.length]=o;return s}function JC(t){var e,n;if(Vs(Uf(kx(t,(JL(),Hj)),28)))for(n=new Kn(t.f);n.ae&&r.$b(t[o-1],t[o])>0;--o)a=t[o],Yp(t,o,t[o-1]),Yp(t,o-1,a)}(e,n,r,o);else if(tN(e,t,s=n+i,c=s+((a=r+i)-s>>1),-i,o),tN(e,t,c,a,-i,o),o.$b(t[c-1],t[c])<=0)for(;n=r||e upperEndpoint (%s)",Nx(Mo(TD,1),GI,1,4,[e,n])))}((s=t.$b(n,o))<=0,n,o),0==s&&Uc(r!=(qu(),BD)|a!=BD))}function uN(t){if(this.a=t,t.c.f.g==(RT(),DF))this.c=t.c,this.d=Uf(kx(t.c.f,($L(),qV)),32);else{if(t.d.f.g!=DF)throw new so("Edge "+t+" is not an external edge.");this.c=t.d,this.d=Uf(kx(t.d.f,($L(),qV)),32)}}function lN(){lN=a,Iz=wd(new iE,(WL(),vH)),Pz=md(new iE,mH),Dz=vd(md(new iE,RH),DH),Lz=vd(wd(md(new iE,hH),fH),dH),Rz=md(new iE,UH),Mz=vd(new iE,bH),Sz=vd(wd(md(yd(new iE,_H),kH),CH),EH),Oz=vd(wd(new iE,CH),uH)}function hN(t,e,n){var r,i,o,a;return Cm(n,gM),0==n?ST(t,e):(Uc(hh(t.b,e)),(a=t.c.a)?(o=Ty(iW,vM,26,1,12,1),r=ES(a,t.d,e,n,o),jd(t.c,a,r),o[0]):(t.d.$b(e,e),i=new Nw(e,n),Th(t.a,i,t.a),jd(t.c,null,i),0))}function fN(t,e,n){var r,i,o,a,s;for(r=0,s=n,e||(r=n*(t.c.length-1),s*=-1),o=new Kn(t);o.a0&&((!os(t.b.d)||!r.q.d)&&(!as(t.b.d)||!r.q.b)&&(r.j.e-=0>o/2-.5?0:o/2-.5),(!os(t.b.d)||!r.q.a)&&(!as(t.b.d)||!r.q.c)&&(r.j.b+=0>o-1?0:o-1))}(t,e,n),o=new Re,i=new Kn(t.b.a.b);i.a0&&((!os(t.b.d)||!r.q.d)&&(!as(t.b.d)||!r.q.b)&&(r.j.e+=0>o/2-.5?0:o/2-.5),(!os(t.b.d)||!r.q.a)&&(!as(t.b.d)||!r.q.c)&&(r.j.b-=o-1))}(t,e,n)}function gN(t,e){var n,r,i,o;for(t.c[e.k]=!0,Lf(t.a,e),o=new Kn(e.f);o.a(a=s+oo(t.b[t.f[i.k].k]))?n:a;return n-r}function _N(t){var e;return Zy(e=new Vi,"type",new Rd((Bh(uF),uF.n))),Zy(e,$M,new Rd(t.f)),t.b&&Zy(e,"value",t.b),t.a&&Zy(e,"context",t.a),Zy(e,ZM,new Rd(kl(new co("\n"),new zn(new Qn((null==t.g&&(t.g=_d(t)),t.g)))))),e}function EN(t,e){var n,r,i,o,a;if(e===t)return!0;if(!dl(e,20))return!1;if(a=Uf(e,20),t.Y()!=a.Y())return!1;for(o=a.mb(),r=t.mb();r.G();)if(n=r.H(),i=o.H(),!(Zc(n)===Zc(i)||null!=n&&s_(n,i)))return!1;return!0}function kN(t){!nR&&((e=["\\u0000","\\u0001","\\u0002","\\u0003","\\u0004","\\u0005","\\u0006","\\u0007","\\b","\\t","\\n","\\u000B","\\f","\\r","\\u000E","\\u000F","\\u0010","\\u0011","\\u0012","\\u0013","\\u0014","\\u0015","\\u0016","\\u0017","\\u0018","\\u0019","\\u001A","\\u001B","\\u001C","\\u001D","\\u001E","\\u001F"])[34]='\\"',e[92]="\\\\",e[173]="\\u00ad",e[1536]="\\u0600",e[1537]="\\u0601",e[1538]="\\u0602",e[1539]="\\u0603",e[1757]="\\u06dd",e[1807]="\\u070f",e[6068]="\\u17b4",e[6069]="\\u17b5",e[8203]="\\u200b",e[8204]="\\u200c",e[8205]="\\u200d",e[8206]="\\u200e",e[8207]="\\u200f",e[8232]="\\u2028",e[8233]="\\u2029",e[8234]="\\u202a",e[8235]="\\u202b",e[8236]="\\u202c",e[8237]="\\u202d",e[8238]="\\u202e",e[8288]="\\u2060",e[8289]="\\u2061",e[8290]="\\u2062",e[8291]="\\u2063",e[8292]="\\u2064",e[8298]="\\u206a",e[8299]="\\u206b",e[8300]="\\u206c",e[8301]="\\u206d",e[8302]="\\u206e",e[8303]="\\u206f",e[65279]="\\ufeff",e[65529]="\\ufff9",e[65530]="\\ufffa",e[65531]="\\ufffb",nR=e);var e,n=t.replace(/[\x00-\x1f\xad\u0600-\u0603\u06dd\u070f\u17b4\u17b5\u200b-\u200f\u2028-\u202e\u2060-\u2064\u206a-\u206f\ufeff\ufff9-\ufffb"\\]/g,(function(t){return function(t,e){var n=nR[t.charCodeAt(0)];return null==n?t:n}(t)}));return'"'+n+'"'}function TN(t,e){var n,r,i,o,a;for(r=new Vn(new Un((1==e?hF:lF).a).a.bb().mb());r.a.G();)for(i=Uf(r.a.H(),21),n=Uf(i.yb(),59),a=Uf(WT(t.f.c,n),18).mb();a.G();)o=Uf(a.H(),27),Gy(t.b.b,o.b),Gy(t.b.a,Uf(o.b,25).f)}function CN(t,e,n){var r,i,o,a;if(HE(n,"Recursive layout",2),0!=e.b.c.length){for(a=1/e.b.c.length,o=new Kn(e.b);o.a=2147483648&&(r-=4294967296),r)}function IN(t,e,n){var r,i,o;if(e!=n){r=e;do{Ih(t,r.d),(o=Uf(kx(r,($L(),lq)),9))&&(Rl(t,(i=r.a).b,i.d),Ih(t,o.i),r=Kp(o))}while(o);r=n;do{Mh(t,r.d),(o=Uf(kx(r,($L(),lq)),9))&&(jl(t,(i=r.a).b,i.d),Mh(t,o.i),r=Kp(o))}while(o)}}function MN(t,e){var n,r,i,o,a;for(n=new Re,a=new tc,i=new Vn(new Un(t.a).a.bb().mb());i.a.G();)o=Uf(i.a.H(),21),mS(a,(r=Uf(o.yb(),12)).c,r,null),mS(a,r.d,r,null);for(;a.a;)Lf(n,GS(a,e,Vl(Uf(kx(e,(JL(),Hj)),28))));return n}function PN(t,e){var n,r,i,o,a;for(r=new Vn(new Un((1==e?hF:lF).a).a.bb().mb());r.a.G();)for(i=Uf(r.a.H(),21),n=Uf(i.yb(),59),a=Uf(WT(t.f.c,n),18).mb();a.G();)o=Uf(a.H(),27),Lf(t.b.b,Uf(o.b,25)),Lf(t.b.a,Uf(o.b,25).f)}function DN(t){var e,n,r,i,o,a;for(Gf(),_l(),n=new ry,r=new Kn(t.e.c);r.a0&&i0):i<0&&-i0)}function BN(t,e,n,r,i){var o,a;xw(Vw(Nx(Mo(gR,1),KM,10,0,[i.f.i,i.i,i.a])),n)||(e.c==i?Yl(e.a,0,new $c(n)):Of(e.a,new $c(n)),r&&!ka(t.a,n)&&((a=Uf(kx(e,(JL(),kj)),44))||(a=new Fr,Ky(e,kj,a)),Mb(a,o=new $c(n),a.c.b,a.c),Np(t.a,o)))}function FN(t){var e,n,r,i,o,a;for(e=0,n=new Kn(t.a);n.a((a=Gv(r.d).b)-o<=0?0-(a-o):a-o)?e:a-o<=0?0-(a-o):a-o);return e}function HN(t,e){var n,r,i,o,a,s;if((r=t.b[e.k])>=0)return r;for(i=1,o=new Kn(e.f);o.a(a=HN(t,s))+1?i:a+1);return function(t,e,n){var r,i;for(r=(i=t.a.c).c.length;rc-n&&s=t.g.d?((e=t.f).e=dw(t.e,e),e.g=t.g,e.a=t.a-1,e.j=__(t.j,n),$T(e)):((e=t.i).g=pw(t.g,e),e.e=t.e,e.a=t.a-1,e.j=__(t.j,n),$T(e)):t.e:t.g}function qN(t){var e,n,r,i,o,a;for(i=new Kn(t.a);i.ao.k?Fh(a,$G):a.g==$G&&o.k>r.k&&Fh(a,IG))}function XN(t,e,n){var r,i,o;if(Cm(n,gM),0==n)return ST(t,e);o=t.c.a,i=Ty(iW,vM,26,1,12,1);try{if(!hh(t.b,e)||!o)return 0;r=YS(o,t.d,e,n,i)}catch(t){if(dl(t=r_(t),119))return 0;if(dl(t,76))return 0;throw D_(t)}return jd(t.c,o,r),i[0]}function WN(t){var e,n,r,i,o,a;for(il(a=Uf(Yk(t.a,Ty(FF,oP,9,t.a.c.length,0,1)),51),new ot),n=null,i=0,o=a.length;i0)return KN(t,e,n.g);if(0!=r)return w_(w_(e.ac(n.g),e._b(n)),KN(t,e,n.e));switch(t.b.f.e){case 0:return w_(e._b(n),e.ac(n.g));case 1:return e.ac(n.g);default:throw new Er}}function QN(t,e,n){var r;if(!n)return 0;if((r=t.d.$b(t.b.e,n.b))<0)return QN(t,e,n.e);if(0!=r)return w_(w_(e.ac(n.e),e._b(n)),QN(t,e,n.g));switch(t.b.d.e){case 0:return w_(e._b(n),e.ac(n.e));case 1:return e.ac(n.e);default:throw new Er}}function JN(t,e,n,r){var i,o,a,s;return fr(a=new Tk(t),(RT(),jF)),Ky(a,($L(),oq),e),Ky(a,(JL(),Hj),(bT(),mG)),Ky(a,eq,n),Ky(a,nq,r),Fh(o=new TT,(mL(),KG)),cv(o,a),Fh(s=new TT,LG),cv(s,a),lv(e,o),M_(i=new jg,e),Ky(i,kj,null),hv(i,s),lv(i,r),a}function tA(t,e){var n,r,i,o,a,s,c,u;for(n=0,a=0,s=(o=t.j).length;an.a&&(o=Yo(o,a.a-n.a-1));return o}function iA(t){var e,n;switch(e=Uf(kx(t,(JL(),Sj)),15).a,n=Uf(kx(t,Oj),15).a,Ky(t,Oj,new Hn(e)),Ky(t,Sj,new Hn(n)),Uf(kx(t,sj),103).e){case 1:Ky(t,sj,(fk(),kR));break;case 2:Ky(t,sj,(fk(),wR));break;case 3:Ky(t,sj,(fk(),_R));break;case 4:Ky(t,sj,(fk(),ER))}}function oA(t,e,n){var r,i,o;for(o=new Kn(t.e);o.a0&&(r.b.c-=r.c,r.b.c<=0&&r.b.f>0&&Of(e,r.b));for(i=new Kn(t.b);i.a0&&(r.a.f-=r.c,r.a.f<=0&&r.a.c>0&&Of(n,r.a))}function aA(t,e,n){var r,i,o;for(o=new Kn(t.j);o.a0&&(r.b.e-=r.c,r.b.e<=0&&r.b.k>0&&Of(e,r.b));for(i=new Kn(t.d);i.a0&&(r.a.k-=r.c,r.a.k<=0&&r.a.e>0&&Of(n,r.a))}function sA(t,e){switch(t.e){case 1:switch(e.e){case 1:return JP;case 4:return.5;case 3:return tD;case 2:return eD}break;case 2:switch(e.e){case 1:return JP;case 2:return.5;case 3:return tD;case 4:return eD}break;default:throw new so(QP)}return 0}function cA(t,e){var n,r,i,o;for(Lu((o=new Kv(t,0)).b0),o.a.sb(o.c=--o.b),ef(o,i),Lu(o.b1)&&(++o,++a);return!Vl(Uf(kx(n,(JL(),Hj)),28))&&s&&(++o,++a),wg(i,n,W_(o)),a}function hA(t){var e,n,r,i,o,a,s,c,u,l;for(u=(l=(s=Uf((a=t.b.mb()).H(),92)).a.a)>uD,c=luD)&&!c)return bw(s.b);if(i&&c||r&&u)return(e=o/(o-l))*bw(n.b)+(1-e)*bw(s.b)}return 0}function fA(t){var e,n,r,i,o,a,s,c,u,l;for(u=(l=(s=Uf((a=t.b.mb()).H(),92)).a.b)>uD,c=luD)&&!c)return bw(s.b);if(i&&c||r&&u)return(e=o/(o-l))*bw(n.b)+(1-e)*bw(s.b)}return 0}function dA(t,e,n){var r,i;return r=0,Wp(e)?ka(t.g,e)?(XN(t.i,W_(Ph(t,e.c)),1),XN(t.i,W_(Ph(t,e.d)),1),vl(t.g,e),r+=vk(t,e,t.i)):(Np(t.g,e),hN(t.i,W_(Ph(t,e.c)),1),hN(t.i,W_(Ph(t,e.d)),1)):(i=ST(t.i,W_(Uf(Jp(t.k,n),24).a)),r+=t.g.a.Y()-i),r}function pA(t){switch(t.e){case 0:return Zz;case 1:return $z;case 2:return qz;case 3:return Vz;case 4:return Qz;case 5:return Kz;case 6:return vU;case 7:return gU;case 8:return Wz;case 9:return Xz;case 10:return dU;case 11:return Jz;default:return pU}}function gA(t){switch(t.e){case 0:return Kz;case 1:return vU;case 2:return gU;case 3:return Zz;case 4:return $z;case 5:return qz;case 6:return Vz;case 7:return Qz;case 8:return Wz;case 9:return Xz;case 10:return dU;case 11:return Jz;default:return pU}}function vA(t){switch(t.e){case 0:return qz;case 1:return Vz;case 2:return Qz;case 3:return Kz;case 4:return vU;case 5:return gU;case 6:return Zz;case 7:return $z;case 8:return Wz;case 9:return Xz;case 10:return dU;case 11:return Jz;default:return pU}}function bA(t){var e;switch(e=t.a.f,t.b){case 0:return new Kn(t.a.f);case 1:return bp(new Lv(e),AT(t));case 2:switch(t.c.e){case 2:case 1:return bp(new Kn(e),AT(t));case 3:case 4:return bp(new Lv(e),AT(t))}}throw new No("PortOrder not implemented.")}function yA(t,e,n,r){this.e=t,this.j=Uf(kx(t,($L(),xq)),134),this.f=Ty(FF,oP,9,e,0,1),this.b=Ty(LX,hI,184,e,6,1),this.a=Ty(FF,oP,9,e,0,1),this.d=Ty(LX,hI,184,e,6,1),this.i=Ty(FF,oP,9,e,0,1),this.g=Ty(LX,hI,184,e,6,1),this.n=Ty(LX,hI,184,e,6,1),this.k=n,this.c=r}function mA(t){if(!t.a.c||!t.a.d)throw new ko((Bh(NY),NY.j+" must have a source and target "+(Bh(OY),OY.j+" specified.")));if(t.a.c==t.a.d)throw new ko("Network simplex does not support self-loops: "+t.a+" "+t.a.c+" "+t.a.d);return Tp(t.a.c.g,t.a),Tp(t.a.d.c,t.a),t.a}function wA(t,e,n,r,i){r==(mL(),LG)&&i==LG?Wg(t,e)>Wg(t,n)?t.d=_k(t,n):t.b=_k(t,e):r==KG&&i==KG?Wg(t,e)Wg(t,n)&&(t.d=_k(t,n),t.b=_k(t,e)):Wg(t,e)0&&o>0?e++:r>0?n++:o>0?i++:n++}xb(t.f,new Rt)}function _A(t,e,n,r){var i,o,a,s,c;n.d.f!=e.f&&(fr(i=new Tk(t),(RT(),jF)),Ky(i,($L(),oq),n),Ky(i,(JL(),Hj),(bT(),mG)),r.c[r.c.length]=i,cv(a=new TT,i),Fh(a,(mL(),KG)),cv(s=new TT,i),Fh(s,LG),c=n.d,lv(n,a),M_(o=new jg,n),Ky(o,kj,null),hv(o,s),lv(o,c),bN(i,a,s))}function EA(t){var e,n,r,i,o,a,s;for(i=jP,a=jP,o=null,n=new lg(new ur(t.e));n.b!=n.c.a.b;)if(1==Uf((e=Fy(n)).d,60).c&&(r=Uf(e.e,116).a,s=Uf(e.e,116).b,(i-r>FP||r-iFP)&&(a=Uf(e.e,116).b,i=Uf(e.e,116).a,o=Uf(e.d,60),0==a&&0==i)))return o;return o}function kA(t,e){var n,r,i,o,a,s;return o=t.d,(s=Uf(kx(t,(JL(),Jj)),15).a)<0&&Ky(t,Jj,new Hn(s=0)),e.j.b=s,a=Math.floor(s/2),Fh(r=new TT,(mL(),KG)),cv(r,e),r.i.b=a,Fh(i=new TT,LG),cv(i,e),i.i.b=a,lv(t,r),M_(n=new jg,t),Ky(n,kj,null),hv(n,i),lv(n,o),function(t,e,n){var r;(r=e.c.f).g==(RT(),jF)?(Ky(t,($L(),eq),Uf(kx(r,eq),7)),Ky(t,nq,Uf(kx(r,nq),7))):(Ky(t,($L(),eq),e.c),Ky(t,nq,n.d))}(e,t,n),function(t,e){var n,r;for(r=new Kv(t.b,0);r.buD&&(this.b.ib(n),s=!1),this.b.ib(c);s&&this.b.ib(n)}function AA(t,e){var n,r,i,o,a,s,c;for(n=dP,RT(),s=GF,i=new Kn(e.a);i.a0?n:0,r.i.b=n+rf(t.a,o,s)):r.i.b=(Fd(a),a)),c=rf(t.a,o,s),r.i.bo?0:o)o?0:o:s,(0>(co?0:o)o?0:o:s)),o=c,c+=a,r=Uf(gd(t.c,i),9),(n=new Eu(u)).j.b=e.j.b,dN(t.b,e,n),Lf(r.c,n);Gy(t.g.c,e),Lf(t.i,new Ls(t,e))}function GA(t,e,n){var r,i,o,a,s,c;for(e.k=1,i=e.d,c=yE(e,(nw(),Rq)).mb();c.G();)for(r=new Kn(Uf(c.H(),7).e);r.ah+s&&r.I();for(a=new Kn(f);a.aFP||r-iFP)&&(a=Uf(e.e,116).b,i=Uf(e.e,116).a,o=Uf(e.d,60),0==a&&0==i)))return o;return o}function qA(){var t,e,n,r,i;for(this.e=(_l(),new ry),this.b=new Zf(n=Uf(ia(TU),11),Uf(Sp(n,n.length),11),0),this.c=new Zf(r=Uf(ia(TU),11),Uf(Sp(r,r.length),11),0),this.a=new Zf(i=Uf(ia(TU),11),Uf(Sp(i,i.length),11),0),e=(CL(),CL(),Yz).mb();e.G();)t=Uf(e.H(),60),Ik(this.e,t,new So)}function XA(t,e,n){var r,i,o,a;Na(t.k-t.a)a?new Fm(e,t,o-a):o>0&&a>0&&(new Fm(t,e,0),new Fm(e,t,0)))}function WA(t,e){var n,r,i,o,a,s,c,u;for(c=new Re,u=null,r=Uf(Ng(uY,t),20).mb();r.G();){for(s=new Vn(new Un((n=Uf(r.H(),75)).c.a).a.bb().mb());s.a.G();)i=Uf(s.a.H(),21),ef(e,o=Uf(i.yb(),7)),ON(o,t.b);ox(c,n.b),u=t.a}for(jC(c),Om(c,u),a=new Kn(c);a.an.k&&s1&&(o=n?Ic(e.d)+1:Ic(a.d)-1,uv(a,Uf(gd(t.a.c,o),16))),JA(t,a,n));return e}function tS(t,e){var n,r,i,o;for(i=e.d?t.a.c==(dv(),mz)?q_(e.b):X_(e.b):t.a.c==(dv(),yz)?q_(e.b):X_(e.b),o=!1,Xu(),r=new Pu(ju(Xf(i.a,new p)));tE(r);)if(n=Uf(Nv(r),12),t.c.a[n.c.f.d.k]!==t.c.a[n.d.f.d.k]&&(o=!0,ka(t.b,t.a.f[Zk(n,e.b).k])))return e.c=!0,e.a=n,e;return e.c=o,e.a=null,e}function eS(t){var e,n,r,i,o,a,s;for(o=new Kn(t.a.a);o.a0&&Ax(this.n,!0,(E_(),SR)),t.g==(RT(),DF)&&Sf(this.n,!1,!1,!1,!1)}function iS(t,e,n){var r,i,o,a,s,c,u,l;for(o=new ts(e,n),u=new Kn(t.b);u.ar?h:r)>t.j.a&&(u=(s-t.j.a)/2,a.b=Fo(a.b,u),a.c=Fo(a.c,u))}function gS(t,e,n,r){var i,o,a,s,c,u,l,h;for(a=Rl(e.d,n,r),l=new Kn(e.b);l.a=40)&&function(t){var e,n,r,i,o,a,s;for(t.o=new oi,r=new lo,a=new Kn(t.e.a);a.a0,s=fE(e,o),Du(n?s.c:s.g,e),1==eE(s).c.length&&Mb(r,s,r.c.b,r.c),i=new es(o,e),uu(t.o,i),Gy(t.e.a,o))}(t),function(t){var e,n,r,i,o,a,s,c,u,l;for(u=t.e.a.c.length,o=new Kn(t.e.a);o.a0){for(Wo(t.c);wN(t,Uf(Jv(new Kn(t.e.a)),61))0?(c=t.g)?(a=c.d,t.g=ES(c,e,n,r,i),0==i[0]&&++t.a,t.j=w_(t.j,r),t.g.d==a?t:$T(t)):(i[0]=0,_w(t,n,r)):(i[0]=t.c,Uc(n_(w_(t.c,r),yI)<=0),t.c+=r,t.j=w_(t.j,r),t)}function kS(t,e,n){var r,i,o,a,s,c,u,l;for(i=!0,a=new Kn(e.c);a.au&&r>u)){i=!1,t.a&&Pf();break}u=oo(n.n[s.k])+oo(n.d[s.k])+s.j.b+s.e.a}if(!i)break}return t.a&&Pf(),i}function TS(t){var e,n,r,i,o,a;if(pl(new Kn(r=Jk(t)))){for(a=new _g(0,0,t.e.j.a,t.e.j.b),n=new Kn(r);n.aa.i.b-a.e.d+u.a+h&&(f=c.i+u.i,u.a=(u.i*u.a+c.i*c.a)/f,u.i=f,c.g=u,n=!0)),o=a,c=u;return n}function LS(t){var e,n,r,i,o;if(Zc(kx(t,(JL(),Hj)))===Zc((bT(),wG))||Zc(kx(t,Hj))===Zc(mG))for(o=new Kn(t.f);o.aa)return mL(),LG;break;case 4:case 3:if(l<0)return mL(),IG;if(l+n>o)return mL(),$G}return(c=(u+s/2)/a)+(r=(l+n/2)/o)<=1&&c-r<=0?(mL(),KG):c+r>=1&&c-r>=0?(mL(),LG):r<.5?(mL(),IG):(mL(),$G)}function MS(t,e,n,r,i,o,a){var s,c,u,l,h;for(h=new ac,c=e.mb();c.G();)for(l=new Kn(xk(Uf(c.H(),627)));l.a0&&Of(t.e,o)):(t.c[a]-=u+1,t.c[a]<=0&&t.a[a]>0&&Of(t.d,o))))}function DS(t){var e,n,r,i,o,a,s,c;for(jx(),this.b=new Kt,this.c=new Re,this.a=new Re,s=0,c=(a=Rx()).length;s0){for(i=s.length;i>0&&""==s[i-1];)--i;i0&&0==i[0]&&++t.a,t.j=w_(t.j,r-i[0]),$T(t)):(i[0]=0,r>0?Ew(t,n,r):t):o>0?(s=t.g)?(t.g=HS(s,e,n,r,i),0==r&&0!=i[0]?--t.a:r>0&&0==i[0]&&++t.a,t.j=w_(t.j,r-i[0]),$T(t)):(i[0]=0,r>0?_w(t,n,r):t):(i[0]=t.c,0==r?VN(t):(t.j=w_(t.j,r-t.c),t.c=r,t))}function YS(t,e,n,r,i){var o,a,s;return(o=e.$b(n,t.b))<0?(a=t.e)?(t.e=YS(a,e,n,r,i),i[0]>0&&(r>=i[0]?(--t.a,t.j=__(t.j,i[0])):t.j=__(t.j,r)),0==i[0]?t:$T(t)):(i[0]=0,t):o>0?(s=t.g)?(t.g=YS(s,e,n,r,i),i[0]>0&&(r>=i[0]?(--t.a,t.j=__(t.j,i[0])):t.j=__(t.j,r)),$T(t)):(i[0]=0,t):(i[0]=t.c,r>=t.c?VN(t):(t.c-=r,t.j=__(t.j,r),t))}function zS(t,e,n){var r,i,o,a,s,c,u,l;for(c=new Kn(n.b);c.a0&&u>0&&qO(b,new ts(T,u),!0))),g=Fo(g,b.i.a+b.j.a),v=Fo(v,b.i.b+b.j.b),d=new Kn(b.c);d.ae.a&&(r.kb((PT(),CU))?t.d.a+=(n.a-e.a)/2:r.kb(AU)&&(t.d.a+=n.a-e.a)),n.b>e.b&&(r.kb((PT(),OU))?t.d.b+=(n.b-e.b)/2:r.kb(SU)&&(t.d.b+=n.b-e.b)),Uf(kx(t,($L(),WV)),18).kb((KA(),nV))&&(n.a>e.a||n.b>e.b))for(s=new Kn(t.b);s.a0||0==n&&e.f==(qu(),BD))&&(s=e.g,c=e.f):(i=e.c,s=e.g,c=e.f),r&&i&&((n=t.a.$b(o,s))>0||0==n&&a==(qu(),BD)&&c==(qu(),BD))&&(o=s,qu(),a=BD,c=GD),new cN(t.a,r,o,a,i,s,c)}function ZS(t,e,n,r){var i,o,a,s,c,u;if(n.c.f!=e.f)for(fr(i=new Tk(t),(RT(),jF)),Ky(i,($L(),oq),n),Ky(i,(JL(),Hj),(bT(),mG)),r.c[r.c.length]=i,cv(a=new TT,i),Fh(a,(mL(),KG)),cv(s=new TT,i),Fh(s,LG),lv(n,a),M_(o=new jg,n),Ky(o,kj,null),hv(o,s),lv(o,e),bN(i,a,s),u=new Kv(n.b,0);u.b=r&&u.a>=r&&(l.a=r),f.a<=n&&u.a<=n&&(d.a=n-10),1==e.c.a.Y()?nm(a.a,Nx(Mo(gR,1),KM,10,0,[l,h,p,d])):nm(a.a,Nx(Mo(gR,1),KM,10,0,[l,h,i,p,d]))}function QS(t,e){var n,r,i,o,a,s;for(o=t.c,a=t.d,hv(t,null),lv(t,null),e&&io(oo(Sh(kx(a,($L(),$V)))))?hv(t,WS(a.f,(nw(),Rq),(mL(),LG))):hv(t,a),e&&io(oo(Sh(kx(o,($L(),uq)))))?lv(t,WS(o.f,(nw(),Dq),(mL(),KG))):lv(t,o),r=new Kn(t.b);r.aoo(ul(a.g,a.d[0]).a)?(Lu(c.b>0),c.a.sb(c.c=--c.b),ef(c,a),i=!0):s.e&&s.e.Y()>0&&(o=(!s.e&&(s.e=new Re),s.e).nb(e),u=(!s.e&&(s.e=new Re),s.e).nb(n),(o||u)&&((!s.e&&(s.e=new Re),s.e).ib(a),++a.c));i||(r.c[r.c.length]=a)}function nO(t,e,n,r){var i,o,a,s,c,u,l,h,f,d,p;n.d.f!=e.f&&(fr(i=new Tk(t),(RT(),jF)),Ky(i,($L(),oq),n),Ky(i,(JL(),Hj),(bT(),mG)),r.c[r.c.length]=i,cv(a=new TT,i),Fh(a,(mL(),KG)),cv(s=new TT,i),Fh(s,LG),c=n.d,lv(n,a),M_(o=new jg,n),Ky(o,kj,null),hv(o,s),lv(o,c),h=(l=(u=Uf(gd(a.b,0),12).c).f).g,p=(d=(f=Uf(gd(s.e,0),12).d).f).g,Ky(i,eq,h==jF?Uf(kx(l,eq),7):u),Ky(i,nq,p==jF?Uf(kx(d,nq),7):f))}function rO(t,e){var n,r,i,o,a,s,c,u,l,h,f,d,p;for(a=e,h=e.d,u=e.c.f,f=e.d.f,l=Ic(u.d),d=Ic(f.d),s=l;se&&(t.a=e),t.b<0?t.b=0:t.b>n&&(t.b=n)}(u,t.j.a,t.j.b),Fh(s,IS(s,o)),a=Uf(kx(r,($L(),WV)),18),c=s.g,o.e){case 2:case 1:(c==(mL(),IG)||c==$G)&&a.ib((KA(),aV));break;case 4:case 3:(c==(mL(),LG)||c==KG)&&a.ib((KA(),aV))}else i=hE(o),s=WS(t,n,n==(nw(),Rq)?i:v_(i));return s}function uO(t){var e,n,r,i,o,a,s,c;for(r=ch(Wb(t.a)),i=new Zf(e=Uf(ia(TU),11),Uf(Sp(e,e.length),11),0);r.a.G()||r.b.mb().G();)s=(n=Uf(Nm(r),12)).c.g,c=n.d.g,s==(mL(),ZG)?c!=ZG&&(a=NE(c),Ky(n,($L(),Eq),a),Fh(n.c,c),mw(i,a),r.a.I()):c==ZG?(a=NE(s),Ky(n,($L(),Eq),a),Fh(n.d,s),mw(i,a),r.a.I()):(a=iO(s,c),Ky(n,($L(),Eq),a),mw(i,a),r.a.I());return 1==i.c?o=Uf(Qb(new qs(i)),60):(CL(),o=pU),dC(t,o,!1),o}function lO(t,e,n){var r,i,o,a,s,c,u,l,h;for(c=n+e.d.c.a,h=new Kn(e.f);h.a1,s=Ip(vu((og(),new sb(B_(Nx(Mo(TD,1),GI,1,4,[l.b,l.e]))))));tE(s);)u=(a=Uf(Nv(s),12)).c==l?a.d:a.c,Na(Vw(Nx(Mo(gR,1),KM,10,0,[u.f.i,u.i,u.a])).b-o.b)>1&&BN(t,a,o,i,l)}}function hO(t,e){var n,r,i,o,a;for(a=new Xx(new Yn(t.f.b).a);a.b;){if(i=Uf((o=Um(a)).yb(),251),1==e){if(i.yc()!=(E_(),LR)&&i.yc()!=NR)continue}else if(i.yc()!=(E_(),AR)&&i.yc()!=SR)continue;switch(r=Uf(Uf(o.zb(),27).b,25),n=Uf(Uf(o.zb(),27).a,78).c,i.yc().e){case 2:r.j.d=t.e.a,r.j.c=Fo(1,r.j.c+n);break;case 1:r.j.d=r.j.d+n,r.j.c=Fo(1,r.j.c-n);break;case 4:r.j.e=t.e.b,r.j.b=Fo(1,r.j.b+n);break;case 3:r.j.e=r.j.e+n,r.j.b=Fo(1,r.j.b-n)}}}function fO(t,e,n,r,i){var o,a,s,c,u,l,h,f;for(_l(),h=new kr,a=new Re,qC(t,n,t.d.Mc(),a,h),qC(t,r,t.d.Nc(),a,h),s=new Kv(a,0);s.b=l&&(y>l&&(u.c=Ty(TD,GI,1,0,4,1),l=y),u.c[u.c.length]=p);0!=u.c.length&&(c=Uf(gd(u,$k(e,u.c.length)),80),vg(N.a,c),c.d=h++,oA(c,T,_),u.c=Ty(TD,GI,1,0,4,1))}for(w=t.c.length+1,g=new Kn(t);g.aC.d&&(ug(n),Gy(C.b,r),r.c>0&&(r.a=C,Lf(C.e,r),r.b=E,Lf(E.b,r)))}(a,Uf(kx(e,($L(),bq)),154)),function(t){var e,n,r,i,o,a,s,c,u;for(c=new Re,a=new Re,o=new Kn(t);o.a-1){for(i=new Kn(a);i.a0||(s.i=Vo(s.i,r.i-1),--s.f,0==s.f&&(a.c[a.c.length]=s))}}(a),f=-1,l=new Kn(a);l.ah||r+i>c)throw new Xr;if(0!=(1&u.g)&&0==(4&u.g)||l==s)i>0&&vT(t,e,n,r,i,!0);else if(t===n&&er;)n[a]=t[--e];else for(a=r+i;r0&&0==o[0]&&++t.a,t.j=w_(t.j,i-o[0])),$T(t)):(o[0]=0,0==r&&i>0?Ew(t,n,i):t);if(a>0)return(c=t.g)?(t.g=gO(c,e,n,r,i,o),o[0]==r&&(0==i&&0!=o[0]?--t.a:i>0&&0==o[0]&&++t.a,t.j=w_(t.j,i-o[0])),$T(t)):(o[0]=0,0==r&&i>0?_w(t,n,i):t);if(o[0]=t.c,r==t.c){if(0==i)return VN(t);t.j=w_(t.j,i-t.c),t.c=i}return t}function vO(t){var e,n,r,i,o,a,s,c,u,l,h,f,d,p,g,v;for(c=t.e,d=t.f,a=t.d,l=(p=t.c)-1,g=t.g,h=Yf(t.g.xb(1,t.g.Y()-1)),u=new Re,n=0;n0&&(c=t.i.a/o);break;case 2:case 4:(i=t.f.j.b)>0&&(c=t.i.b/i)}Ky(t,($L(),dq),c)}if(s=t.j,r)t.a.a=r.a,t.a.b=r.b;else if(e!=_G&&e!=EG&&a!=ZG)switch(a.e){case 1:t.a.a=s.a/2;break;case 2:t.a.a=s.a,t.a.b=s.b/2;break;case 3:t.a.a=s.a/2,t.a.b=s.b;break;case 4:t.a.b=s.b/2}else t.a.a=s.a/2,t.a.b=s.b/2}(c,u,i,Uf(kx(c,Fj),10)),i.e){case 2:case 1:(c.g==(mL(),IG)||c.g==$G)&&o.ib((KA(),aV));break;case 4:case 3:(c.g==(mL(),LG)||c.g==KG)&&o.ib((KA(),aV))}}function wO(t){var e,n,r,i,o;for(r=new Re,o=new Kn(t.c.f);o.a=(g=t.d.c.c.c.length)-1)return null;for((i=new Re).c[i.c.length]=e,b=e,a=n,d=-1,s=Uf(gd(t.d.c.c,n),16),f=0;f1&&a1&&a>1;)u=jS(t,y),s=Uf(gd(t.d.c.c,a),16),l=Uf(gd(t.d.c.c,a-1),16),oT(y,g=Vo(Uf(p.sb(h++),24).a,l.a.c.length),l),oT(u,b,s),b=g,y&&(i.c[i.c.length]=y),y=u,--m,++o,--a;for(v=(r-(i.c.length-1)*t.d.d)/i.c.length,c=new Kn(i);c.a=0)return!1;if(n.e&&r==(RT(),PF)&&r!=n.e)return!1;if(e.k=n.b,Lf(n.f,e),n.e=r,r==(RT(),jF)||r==BF||r==PF)for(i=new Kn(e.f);i.a0&&(Ax(t.n,!1,(E_(),AR)),Ax(t.n,!0,SR))}function EO(t,e,n){var r,i,o,a;switch(o=t.i,i=Vw(Nx(Mo(gR,1),KM,10,0,[e.i,e.f.i])),r=Vw(Nx(Mo(gR,1),KM,10,0,[e.f.i,e.i,e.a])),a=e.d,e.g.e){case 4:o.a=zo(i.a,r.a)-a.b-t.j.a-n,o.b=Vw(Nx(Mo(gR,1),KM,10,0,[e.f.i,e.i,e.a])).b+n;break;case 2:o.a=Fo(i.a+e.j.a,r.a)+a.c+n,o.b=Vw(Nx(Mo(gR,1),KM,10,0,[e.f.i,e.i,e.a])).b+n;break;case 1:o.a=Vw(Nx(Mo(gR,1),KM,10,0,[e.f.i,e.i,e.a])).a+n,o.b=zo(i.b,r.b)-a.d-t.j.b-n;break;case 3:o.a=Vw(Nx(Mo(gR,1),KM,10,0,[e.f.i,e.i,e.a])).a+n,o.b=Fo(i.b+e.j.b,r.b)+a.a+n}}function kO(t,e,n){var r,i,o,a;switch(o=t.i,i=Vw(Nx(Mo(gR,1),KM,10,0,[e.i,e.f.i])),r=Vw(Nx(Mo(gR,1),KM,10,0,[e.f.i,e.i,e.a])),a=e.d,e.g.e){case 4:o.a=zo(i.a,r.a)-a.b-t.j.a-n,o.b=Vw(Nx(Mo(gR,1),KM,10,0,[e.f.i,e.i,e.a])).b-t.j.b-n;break;case 2:o.a=Fo(i.a+e.j.a,r.a)+a.c+n,o.b=Vw(Nx(Mo(gR,1),KM,10,0,[e.f.i,e.i,e.a])).b-t.j.b-n;break;case 1:o.a=Vw(Nx(Mo(gR,1),KM,10,0,[e.f.i,e.i,e.a])).a+n,o.b=zo(i.b,r.b)-a.d-t.j.b-n;break;case 3:o.a=Vw(Nx(Mo(gR,1),KM,10,0,[e.f.i,e.i,e.a])).a+n,o.b=Fo(i.b+e.j.b,r.b)+a.a+n}}function TO(){TO=a,hV=new kb("ONE_SIDED",0,!0,!1,!1),gV=new kb("TWO_SIDED",1,!1,!1,!1),fV=new kb("ONE_SIDED_BEST_OF_UP_OR_DOWN",2,!0,!0,!1),vV=new kb("TWO_SIDED_BEST_OF_UP_OR_DOWN",3,!1,!0,!1),dV=new kb("ONE_SIDED_BEST_OF_UP_OR_DOWN_ORTHOGONAL_HYPEREDGES",4,!0,!0,!0),bV=new kb("TWO_SIDED_BEST_OF_UP_OR_DOWN_ORTHOGONAL_HYPEREDGES",5,!1,!0,!0),pV=new kb("ONE_SIDED_ORTHOGONAL_HYPEREDGES",6,!0,!1,!0),lV=new kb("OFF",7,!1,!1,!1)}function CO(t,e,n,r,i,o,a){var s,c,u,l,h,f,d;return h=io(oo(Sh(kx(e,(ZL(),rX))))),f=null,o==(nw(),Dq)&&r.c.f==n?f=r.c:o==Rq&&r.d.f==n&&(f=r.d),u=a,a&&h&&!f?(Lf(a.e,r),d=Ho(Uf(kx(a.d,(JL(),Jj)),15).a,Uf(kx(r,Jj),15).a),Ky(a.d,Jj,new Hn(d))):(mL(),l=ZG,f?l=f.g:Vs(Uf(kx(n,(JL(),Hj)),28))&&(l=o==Dq?KG:LG),c=function(t,e,n,r,i,o){var a,s,c,u,l,h,f;return u=r==(nw(),Dq)?o.c:o.d,c=J_(e),u.f==n?(a=Uf(Jp(t.b,u),9))||(Ky(a=bL(u,Uf(kx(n,(JL(),Hj)),28),i,r==Dq?-1:1,u.j,c,e),($L(),oq),u),wg(t.b,u,a)):(l=Uf(kx(o,(JL(),Jj)),15).a,s=function(t,e,n,r){var i,o;switch(i=J_(Kp(n)),cv(o=new TT,n),r.e){case 1:Fh(o,v_(hE(i)));break;case 2:Fh(o,hE(i))}return Ky(o,($L(),iq),Uf(kx(e,iq),15)),Ky(e,oq,o),wg(t.b,o,e),o}(t,a=bL((h=new y,f=Uf(kx(e,($L(),wq)),15).a*Uf(kx(e,(ZL(),$q)),15).a/2,Ky(h,iq,new Hn(f)),h),Uf(kx(n,Hj),28),i,r==Dq?-1:1,new ts(l,l),c,e),n,r),Ky(a,oq,s),wg(t.b,s,a)),Uf(kx(e,($L(),WV)),18).ib((KA(),nV)),Vs(Uf(kx(e,(JL(),Hj)),28))?Ky(e,Hj,(bT(),xG)):Ky(e,Hj,(bT(),_G)),a}(t,e,n,o,l,r),s=gb((Kp(n),r)),o==Dq?(hv(s,Uf(gd(c.f,0),7)),lv(s,i)):(hv(s,i),lv(s,Uf(gd(c.f,0),7))),u=new S_(r,s,c,Uf(kx(c,($L(),oq)),7),o,!f)),dN(t.a,r,new vf(u.d,e,o)),u}function NO(t,e,n,r){var i,o,a,s,c,u,l;if(fr(o=new Tk(t),(RT(),BF)),Ky(o,(JL(),Hj),(bT(),mG)),i=0,e){for(Ky(a=new TT,($L(),oq),e),Ky(o,oq,e.f),Fh(a,(mL(),KG)),cv(a,o),c=0,u=(l=Uf(Yk(e.b,Ty(IF,CP,12,e.b.c.length,0,1)),47)).length;cf?l:f;for(uk(this,Vw(Nx(Mo(gR,1),KM,10,0,[t.f.i,t.i,t.a])).b,h,l),a=new Vn(new Un(e.a).a.bb().mb());a.a.G();)i=Uf(a.a.H(),21),o=Uf(i.yb(),27),Np(this.c,Uf(o.b,12));this.f=!1}function PO(t,e,n,r){var i,o,a,s,c;if(!((s=(JL(),Ij).b)in e.a)||!Sg(e,s).ic().a){if(!(c=Sg(e,$M)))throw new xp("Labels must have a property 'text'.",null,e);if(!c.lc())throw new xp("A label's 'text' property must be a string.",c,e);if(Ky(o=new Eu(c.lc().a),($L(),oq),e),wg(t.f,o,e),ZC(e,o),ET(e,o),dl(n,9)?Lf(Uf(n,9).c,o):dl(n,12)?Lf(Uf(n,12).b,o):dl(n,7)&&Lf(Uf(n,7).c,o),dl(n,12))switch(a=Uf(kx(o,gj),107),ZC(e,o),Ky(o,gj,a),i=Uf(kx(r,WV),18),a.e){case 2:case 3:i.ib((KA(),eV));case 1:case 0:i.ib((KA(),JU)),Ky(o,gj,(Gw(),PR))}}}function DO(t,e){var n,r,i,o,a,s,c,u,l,h,f,d,p,g,v;for(i=0,o=0,c=new Kn(t.a);c.a.5?v-=2*o*(d-.5):d<.5&&(v+=2*i*(.5-d)),v<(r=a.e.b)&&(v=r),p=a.e.c,v>g.a-p-u&&(v=g.a-p-u),a.i.a=e+v}}function RO(){RO=a,nF=new Ji,eF=bS(Nx(Mo(TR,1),GI,79,0,[(JL(),aj),mj])),QB=bS(Nx(Mo(TR,1),GI,79,0,[Pj,Yj,(ZL(),fX),wj,($L(),gq),gX,sX])),WB=bS(Nx(Mo(TR,1),GI,79,0,[cj,fj,Ij,yj,Ej,Cj,Nj,Wj,$j,_j,Bq,Vq,qq,nX,Zq,rX,dX,cX,Hq])),KB=bS(Nx(Mo(TR,1),GI,79,0,[Oj,Sj,Tj,Jj,Mj,pq,PV,AV,wq,uX,$q,eX])),ZB=bS(Nx(Mo(TR,1),GI,79,0,[Uj,sj,pj,vj,gj,bj,xj,Dj,Rj,jj,Gj,Bj,Hj,zj,Fq,Uq,iX,Xq,zq,oX,aX,Kq,Qq,tX,lX,hX,pX,vX,Jq])),$B=bS(Nx(Mo(TR,1),GI,79,0,[Lj,Zj,Kj,Yq])),tF=bS(Nx(Mo(TR,1),GI,79,0,[oj,lj,kj,Aj,Fj,qj])),JB=bS(Nx(Mo(TR,1),GI,79,0,[(Mx(),VB)]))}function jO(t){var e,n,r,i,o,a,s;for(e=0,o=new Kn(t.b.a);o.a0;){for(_y(0,s.c.length),d=Uf(s.c[0],12),_y(0,h.c.length),i=Qy((r=Uf(h.c[0],12)).d.b,r,0),Xv(d,r.d,i),hv(r,null),lv(r,null),f=d.a,e&&Of(f,new $c(v)),n=Sk(r.a,0);n.b!=n.d.c;)Of(f,new $c(Uf(Sb(n),10)));for(g=d.b,l=new Kn(r.b);l.a0?Lm(this,this.f/this.a):null!=ul(e.g,e.d[0]).a&&null!=ul(n.g,n.d[0]).a?Lm(this,(oo(ul(e.g,e.d[0]).a)+oo(ul(n.g,n.d[0]).a))/2):null!=ul(e.g,e.d[0]).a?Lm(this,ul(e.g,e.d[0]).a):null!=ul(n.g,n.d[0]).a&&Lm(this,ul(n.g,n.d[0]).a)}function HO(t,e){var n,r,i,o,a,s,c,u,l,h,f;switch(t.g.e){case 1:if(r=Uf(kx(t,($L(),oq)),12),(n=Uf(kx(r,aq),44))?io(oo(Sh(kx(r,mq))))&&(n=Tx(n)):n=new Fr,u=Uf(kx(t,eq),7),e<=(l=Vw(Nx(Mo(gR,1),KM,10,0,[u.f.i,u.i,u.a]))).a)return l.b;if(Mb(n,l,n.a,n.a.a),h=Uf(kx(t,nq),7),(f=Vw(Nx(Mo(gR,1),KM,10,0,[h.f.i,h.i,h.a]))).a<=e)return f.b;for(Mb(n,f,n.c.b,n.c),a=Uf(Sb(c=Sk(n,0)),10),s=Uf(Sb(c),10);s.a=2)for(Mg(t.a),r=0,f=Sk(n,0);f.b!=f.d.c;)h=Uf(Sb(f),10),0==r?(e=Mh(Mh(new ts(h.a,h.b),t.c.i),t.c.f.i),t.c.a.a=e.a,t.c.a.b=e.b):r==n.b-1?(e=Mh(Mh(new ts(h.a,h.b),t.d.i),t.d.f.i),t.d.a.a=e.a,t.d.a.b=e.b):Of(t.a,h),++r;if(l)for(c=Sk(t.a,0);c.b!=c.d.c;)s=Uf(Sb(c),10),a.a=Fo(a.a,s.a),a.b=Fo(a.b,s.b);for(o=new Kn(t.b);o.a0&&Ky(a,jV,(Vd(),Vd(),AX)),(s=Uf(kx(a,(JL(),Hj)),28))==(bT(),EG)||s!=_G&&r.ib((KA(),oV)),io(oo(Sh(kx(a,fj))))&&r.ib((KA(),tV)),io(oo(Sh(kx(a,_j))))&&(r.ib((KA(),iV)),r.ib(rV),Ky(a,Hj,_G)),a}function UO(t,e){e.V()&&Sf(t.n,!0,!0,!0,!0),e.t((mL(),GG))&&Sf(t.n,!0,!0,!0,!1),e.t(MG)&&Sf(t.n,!1,!0,!0,!0),e.t(qG)&&Sf(t.n,!0,!0,!1,!0),e.t(WG)&&Sf(t.n,!0,!1,!0,!0),e.t(BG)&&Sf(t.n,!1,!0,!0,!1),e.t(PG)&&Sf(t.n,!1,!0,!1,!0),e.t(XG)&&Sf(t.n,!0,!1,!1,!0),e.t(VG)&&Sf(t.n,!0,!1,!0,!1),e.t(zG)&&Sf(t.n,!0,!0,!0,!0),e.t(RG)&&Sf(t.n,!0,!0,!0,!0),e.t(zG)&&Sf(t.n,!0,!0,!0,!0),e.t(DG)&&Sf(t.n,!0,!0,!0,!0),e.t(UG)&&Sf(t.n,!0,!0,!0,!0),e.t(YG)&&Sf(t.n,!0,!0,!0,!0),e.t(HG)&&Sf(t.n,!0,!0,!0,!0)}function VO(t,e){var n,r,i,o,a,s,c,u,l;for(s=!0,i=0,c=t.f[e.k],u=e.j.b+t.n,n=t.c[e.k][2],Kb(t.a,c,W_(Uf(gd(t.a,c),24).a-1+n)),Kb(t.b,c,oo(Oh(gd(t.b,c)))-u+n*t.e),++c>=t.i?(++t.i,Lf(t.a,W_(1)),Lf(t.b,u)):(r=t.c[e.k][1],Kb(t.a,c,W_(Uf(gd(t.a,c),24).a+1-r)),Kb(t.b,c,oo(Oh(gd(t.b,c)))+u-r*t.e)),(t.q==(nA(),tY)&&(Uf(gd(t.a,c),24).a>t.j||Uf(gd(t.a,c-1),24).a>t.j)||t.q==rY&&(oo(Oh(gd(t.b,c)))>t.k||oo(Oh(gd(t.b,c-1)))>t.k))&&(s=!1),o=Ip(q_(e));tE(o);)a=Uf(Nv(o),12).c.f,t.f[a.k]==c&&(i+=Uf((l=VO(t,a)).a,24).a,s=s&&io(oo(Sh(l.b))));return t.f[e.k]=c,new es(W_(i+=t.c[e.k][0]),(Vd(),s?AX:NX))}function qO(t,e,n){var r,i,o,a,s,c,u,l,h,f,d,p,g,v,b;if(f=new $c(t.j),b=e.a/f.a,s=e.b/f.b,g=e.a-f.a,o=e.b-f.b,n)for(i=Zc(kx(t,(JL(),Hj)))===Zc((bT(),mG)),p=new Kn(t.f);p.a=1&&(v-a>0&&h>=0?(c.i.a+=g,c.i.b+=o*a):v-a<0&&l>=0&&(c.i.a+=g*v,c.i.b+=o));t.j.a=e.a,t.j.b=e.b,Ky(t,(JL(),Zj),(LE(),new Zf(r=Uf(ia(lB),11),Uf(Sp(r,r.length),11),0)))}function XO(t){var e,n,r,i,o,a,s,c,u,l;for(r=new Re,a=new Kn(t.e.a);a.a-1){for(r=Sk(a,0);r.b!=r.d.c;)(n=Uf(Sb(r),77)).n=o;for(;0!=a.b;)for(e=new Kn((n=Uf(rT(a,0),77)).d);e.a0),o.a.sb(o.c=--o.b),ef(o,n),Cp(c,n),ON(n,s.g),tb(c),tb(c),r.a.eb(n)}}function JO(t){var e,n,r,i,o,a,s,c;for(e=null,r=new Kn(t);r.a0&&0==n.c&&(!e&&(e=new Re),e.c[e.c.length]=n);if(e)for(;0!=e.c.length;){if((n=Uf(yy(e,0),102)).b&&n.b.c.length>0)for(!n.b&&(n.b=new Re),o=new Kn(n.b);o.aQy(t,n,0))return new es(i,n)}else if(oo(ul(i.g,i.d[0]).a)>oo(ul(n.g,n.d[0]).a))return new es(i,n);for(s=(!n.e&&(n.e=new Re),n.e).mb();s.G();)!(a=Uf(s.H(),102)).b&&(a.b=new Re),xy(0,(c=a.b).c.length),Ac(c.c,0,n),a.c==c.c.length&&(e.c[e.c.length]=a)}return null}function tL(t,e){var n,r,i,o,a,s,c,u,l;if(1!=tg(X_(e))||Uf(Uv(X_(e)),12).d.f.g!=(RT(),jF))return null;for(fr(n=(o=Uf(Uv(X_(e)),12)).d.f,(RT(),PF)),Ky(n,($L(),eq),null),Ky(n,nq,null),Ky(n,(JL(),Hj),Uf(kx(e,Hj),28)),Ky(n,Lj,Uf(kx(e,Lj),86)),i=kx(o.c,oq),a=null,u=mC(n,(mL(),LG)).mb();u.G();)if(0!=(s=Uf(u.H(),7)).e.c.length){Ky(s,oq,i),l=o.c,s.j.a=l.j.a,s.j.b=l.j.b,s.a.a=l.a.a,s.a.b=l.a.b,ox(s.c,l.c),l.c.c=Ty(TD,GI,1,0,4,1),a=s;break}if(Ky(o.c,oq,null),!ab(mC(e,LG)))for(c=new Kn(Wb(mC(e,LG)));c.a0?i+t.i[1]*e+t.n[1]:0,t.o[3]>0?i+t.i[3]*e+t.n[3]:0),Fo(t.o[4]>0?n+t.i[4]*e+t.n[4]:0,t.o[2]>0?n+t.i[2]*e+t.n[2]:0))}(t,t.k);break;case 4:r=new $c(a);break;case 5:r=function(t,e){var n,r,i,o,a;for(a=new uo,o=new Kn(fT(t));o.a0&&(o.a=Fo(o.a,i+t.q.b+t.q.c)),n>0&&(o.b=Fo(o.b,n+t.q.d+t.q.a))):(i>0&&(o.a=Fo(o.a,i)),n>0&&(o.b=Fo(o.b,n)))),function(t,e){t.e.j.a=e.a,t.e.j.b=e.b}(t.e,o)}}function nL(t,e,n){var r,i,o,a,s,c,u,l,h,f,d;if(!t.b)return!1;for(a=null,f=null,i=1,(c=new Vy(null,null)).a[1]=t.b,h=c;h.a[i];)u=i,s=f,f=h,h=h.a[i],i=(r=t.a.$b(e,h.d))<0?0:1,0==r&&(!n.c||Ag(h.e,n.d))&&(a=h),h&&h.b||qo(h.a[i])||(qo(h.a[1-i])?f=f.a[u]=ww(h,i):qo(h.a[1-i])||(d=f.a[1-u])&&(qo(d.a[1-u])||qo(d.a[u])?(o=s.a[1]==f?1:0,qo(d.a[u])?s.a[o]=eb(f,u):qo(d.a[1-u])&&(s.a[o]=ww(f,u)),h.b=s.a[o].b=!0,s.a[o].a[0].b=!1,s.a[o].a[1].b=!1):(f.b=!1,d.b=!0,h.b=!0)));return a&&(n.b=!0,n.d=a.e,h!=a&&(function(t,e,n,r){var i,o;for(i=null==(o=e).d||t.a.$b(n.d,o.d)>0?1:0;o.a[i]!=n;)o=o.a[i],i=t.a.$b(n.d,o.d)>0?1:0;o.a[i]=r,r.b=n.b,r.a[0]=n.a[0],r.a[1]=n.a[1],n.a[0]=null,n.a[1]=null}(t,c,a,l=new Vy(h.d,h.e)),f==a&&(f=l)),f.a[f.a[1]==h?1:0]=h.a[h.a[0]?0:1],--t.c),t.b=c.a[1],t.b&&(t.b.b=!1),n.b}function rL(t){var e,n,r,i,o,a,s,c,u,l,h,f,d,p;for(f=new Kn(t);f.a(b=r?Uf(kx(l,sz),24).a:kI)?c:b,m=new Kn(l.f);m.a=u&&x>=v&&(f+=p.i.b+g.i.b+g.a.b-w,++s));if(n)for(a=new Kn(y.b);a.a=u&&x>=v&&(f+=p.i.b+g.i.b+g.a.b-w,++s))}s>0&&(_+=f/s,++d)}d>0?(e.a=i*_/d,e.i=d):(e.a=0,e.i=0)}function sL(t,e){var n;if(t.e)throw new ko((Bh(vF),"The "+vF.j+vP));if(!function(t,e){return Xl(t.c,e)}(t.a,e))throw new Ai("The direction "+e+" is not supported by the CGraph instance.");if(e==t.d)return t;switch(n=t.d,t.d=e,n.e){case 0:switch(e.e){case 2:yx(t);break;case 1:nk(t),yx(t);break;case 4:HT(t),yx(t);break;case 3:HT(t),nk(t),yx(t)}break;case 2:switch(e.e){case 1:nk(t),uS(t);break;case 4:HT(t),yx(t);break;case 3:HT(t),nk(t),yx(t)}break;case 1:switch(e.e){case 2:nk(t),uS(t);break;case 4:nk(t),HT(t),yx(t);break;case 3:nk(t),HT(t),nk(t),yx(t)}break;case 4:switch(e.e){case 2:HT(t),yx(t);break;case 1:HT(t),nk(t),yx(t);break;case 3:nk(t),uS(t)}break;case 3:switch(e.e){case 2:nk(t),HT(t),yx(t);break;case 1:nk(t),HT(t),nk(t),yx(t);break;case 4:nk(t),uS(t)}}return t}function cL(t,e,n){var r,i,o,a,s,c,u,l;if(!t.a[e.d.k][e.k].e){for(t.a[e.d.k][e.k].e=!0,t.a[e.d.k][e.k].b=0,t.a[e.d.k][e.k].d=0,t.a[e.d.k][e.k].a=null,l=new Kn(e.f);l.a0&&(t.a[e.d.k][e.k].d+=LN(t.e,24)*KP*.07000000029802322-.03500000014901161,t.a[e.d.k][e.k].a=t.a[e.d.k][e.k].d/t.a[e.d.k][e.k].b)}}function uL(t,e){var n,r,i,o,a,s,c,u,l,h;for(r=new Kn(t.a.c);r.adP||e.k==xz&&uv?u:v}for(n.e.b+=u-s.b,h=new Kn(t.a);h.a1;)e=zo(i,t.c),fr(l=new Tk(t.e.c),(RT(),PF)),Ky(l,(JL(),Hj),Uf(kx(c,Hj),28)),Ky(l,Lj,Uf(kx(c,Lj),86)),l.k=t.e.b++,Lf(t.b,l),l.j.b=c.j.b,l.j.a=e,Fh(h=new TT,(mL(),LG)),cv(h,c),h.i.a=l.j.a,h.i.b=l.j.b/2,Fh(f=new TT,KG),cv(f,l),f.i.b=l.j.b/2,f.i.a=-f.j.a,hv(d=new jg,h),lv(d,f),c=l,Lf(t.e.c.b,c),--u,i-=t.c+t.e.d;for(new yT(t.d,t.b,t.c),a=new Kn(r);a.ae.a||e.p>t.a)){for(n=0,r=0,s=new Vn(new Un(t.o.a).a.bb().mb());s.a.G();)i=Uf(s.a.H(),21),o=Uf(i.yb(),7),cE(Vw(Nx(Mo(gR,1),KM,10,0,[o.f.i,o.i,o.a])).b,e.p,e.a)&&++n;for(c=new Vn(new Un(t.g.a).a.bb().mb());c.a.G();)i=Uf(c.a.H(),21),o=Uf(i.yb(),7),cE(Vw(Nx(Mo(gR,1),KM,10,0,[o.f.i,o.i,o.a])).b,e.p,e.a)&&--n;for(u=new Vn(new Un(e.o.a).a.bb().mb());u.a.G();)i=Uf(u.a.H(),21),o=Uf(i.yb(),7),cE(Vw(Nx(Mo(gR,1),KM,10,0,[o.f.i,o.i,o.a])).b,t.p,t.a)&&++r;for(a=new Vn(new Un(e.g.a).a.bb().mb());a.a.G();)i=Uf(a.a.H(),21),o=Uf(i.yb(),7),cE(Vw(Nx(Mo(gR,1),KM,10,0,[o.f.i,o.i,o.a])).b,t.p,t.a)&&--r;n1)for(c=Sk(Yf(mC(e,KG)),0);c.b!=c.d.c;)0==(s=Uf(Sb(c),7)).b.c.length?(Fh(i=new TT,KG),i.j.a=s.j.a,i.j.b=s.j.b,cv(i,r),Ky(i,oq,kx(s,oq)),cv(s,null)):cv(a,r);return Ky(e,oq,null),Ky(e,IV,NX),fr(e,PF),Ky(r,(JL(),Hj),Uf(kx(e,Hj),28)),Ky(r,Lj,Uf(kx(e,Lj),86)),Id(t.b,0,r),r}function bL(t,e,n,r,i,o,a){var s,c,u,l,h,f;switch(h=n,fr(u=new Tk(a),(RT(),DF)),Ky(u,($L(),XV),i),Ky(u,(JL(),Hj),(bT(),mG)),Ky(u,iq,Uf(kx(t,Mj),15)),!(c=Uf(kx(t,Fj),10))&&(c=new ts(i.a/2,i.b/2)),Ky(u,Fj,c),cv(l=new TT,u),e!=_G&&e!=EG||(s=o!=(E_(),OR)?o:SR,h=r>0?hE(s):v_(hE(s)),Ky(t,Uj,h)),h.e){case 4:Ky(u,(ZL(),tX),(qk(),Sq)),Ky(u,YV,(Dx(),RU)),u.j.b=i.b,Fh(l,(mL(),LG)),l.i.b=c.b;break;case 2:Ky(u,(ZL(),tX),(qk(),Lq)),Ky(u,YV,(Dx(),PU)),u.j.b=i.b,Fh(l,(mL(),KG)),l.i.b=c.b;break;case 1:Ky(u,KV,(jm(),_V)),u.j.a=i.a,Fh(l,(mL(),$G)),l.i.a=c.a;break;case 3:Ky(u,KV,(jm(),wV)),u.j.a=i.a,Fh(l,(mL(),IG)),l.i.a=c.a}if(e==yG||e==wG||e==mG){switch(f=0,h.e){case 4:case 2:case 1:case 3:f=null.cd,e==wG&&(f/=null.cd)}Ky(u,dq,f)}return Ky(u,qV,h),u}function yL(t){var e,n,r,i,o,a,s,c,u,l,h,f,d,p,g,v,b,y,m;for(u=new Fr,_l(),wg(b=new kr,t,UT(t)),Cm(2,dM),r=new cm(2),t.c&&Lf(r,t.c),t.d&&Lf(r,t.d),d=new Kn(r);d.a1&&Mb(u,p,u.c.b,u.c),Mm(n)));p=g}return u}function mL(){var t;mL=a,ZG=new ys(GM,0),IG=new ys("NORTH",1),LG=new ys("EAST",2),$G=new ys("SOUTH",3),KG=new ys("WEST",4),zg(),jG=new Ko(new Zf(t=Uf(ia(iB),11),Uf(Sp(t,t.length),11),0)),GG=G_(tp(IG,Nx(Mo(iB,1),FI,32,0,[]))),MG=G_(tp(LG,Nx(Mo(iB,1),FI,32,0,[]))),qG=G_(tp($G,Nx(Mo(iB,1),FI,32,0,[]))),WG=G_(tp(KG,Nx(Mo(iB,1),FI,32,0,[]))),zG=G_(tp(IG,Nx(Mo(iB,1),FI,32,0,[$G]))),RG=G_(tp(LG,Nx(Mo(iB,1),FI,32,0,[KG]))),VG=G_(tp(IG,Nx(Mo(iB,1),FI,32,0,[KG]))),BG=G_(tp(IG,Nx(Mo(iB,1),FI,32,0,[LG]))),XG=G_(tp($G,Nx(Mo(iB,1),FI,32,0,[KG]))),PG=G_(tp(LG,Nx(Mo(iB,1),FI,32,0,[$G]))),YG=G_(tp(IG,Nx(Mo(iB,1),FI,32,0,[LG,KG]))),DG=G_(tp(LG,Nx(Mo(iB,1),FI,32,0,[$G,KG]))),UG=G_(tp(IG,Nx(Mo(iB,1),FI,32,0,[$G,KG]))),FG=G_(tp(IG,Nx(Mo(iB,1),FI,32,0,[LG,$G]))),HG=G_(tp(IG,Nx(Mo(iB,1),FI,32,0,[LG,$G,KG])))}function wL(t,e,n){var r,i,o,a,s,c,u,l,h,f,d,p,g,v,b,y,m,w;if(Ky(l=new Bm,qB,e),wg(t.e,e,l),Ky(l,($L(),lq),n),t.d&&fC(t.d,l,!1),ET(e,l),rP in e.a&&(v=l.a,b=Uf(Sg(e,rP),69),(g=Uf(Sg(b,"left"),104))&&(v.b=g.a),(m=Uf(Sg(b,"top"),104))&&(v.d=m.a),(y=Uf(Sg(b,"right"),104))&&(v.c=y.a),(i=Uf(Sg(b,qM),104))&&(v.a=i.a)),h=new Zf(r=Uf(ia(yV),11),Uf(Sp(r,r.length),11),0),Ky(l,WV,h),null==t.g&&(t.g=Sh(kx(l,(qg(),rF)))),iP in e.a){if(!(w=Sg(e,iP)).hc())throw new xp("The 'children' property of nodes must be an array.",w,e);if((u=w.hc()).a.length>0){for(n&&Ky(n,rq,l),s=Ty(FF,oP,9,u.a.length,0,1),d=0;d1)for(Lf(o,new MO(d,y,n)),h=new Vn(new Un(y.a).a.bb().mb());h.a.G();)u=Uf(h.a.H(),21),Gy(i,Uf(u.yb(),27).b);if(a.a.Y()>1)for(Lf(o,new MO(d,a,n)),h=new Vn(new Un(a.a).a.bb().mb());h.a.G();)u=Uf(h.a.H(),21),Gy(i,Uf(u.yb(),27).b)}}function kL(t,e){var n,r,i,o,a,s,c,u,l;switch(xb(o=Wb(qf(e,new Jf(t))),new te),(i=t.b).c){case 2:Np(e,new VC(r=function(t,e,n,r){var i,o,a,s,c;for(c=0,o=new Kn(t.a.b);o.a.5&&i<50;)e=Na(XT(n,r=hA(n),!0).a),++i;return XT(t,(Fd(o=Oh(sk(Yf(t.g),Yf(t.g).b-1))),o-r),!1)}(h);break;case 2:case 4:h.a=m,y=function(t){var e,n,r,i,o;for(n=_S(vO(t)),e=jP,i=0,r=0;e>.5&&i<50;)e=Na(XT(n,r=fA(n),!0).b),++i;return XT(t,(Fd(o=Oh(sk(Yf(t.g),Yf(t.g).b-1))),o-r),!1)}(h);break;default:return null}return dr(h,new MC(Nx(Mo(gR,1),KM,10,0,[c,m,y,p,v]))),h}(t.a.c,e,t.a.d,r,Mk(t.b),n),gw(t.a.a,RE(s)),a=sC(t.a.b,s.a,t.b),tv(i=new Db((!s.k&&(s.k=new yC(vw(s))),s.k))),a?$p(i,a):i}(t,a=uw(n=Ru(qf(o,new kn(i.a))))?Uf(Cy(n),91).b:15,uw(n=Ru(qf(o,new kn(Mk(i)))))?Uf(Cy(n),91).b:15,uw(n=Ru(qf(o,new kn(i.b))))?Uf(Cy(n),91).b:15),t.c,t.e,t.a.c.f,i.a)),Np(e,new VC(r,t.c,t.e,t.a.c.f,Mk(i))),Np(e,new VC(r,t.c,t.e,t.a.c.f,i.b));break;case 1:Np(e,new VC(r=function(t,e,n){var r,i,o,a,s,c;for(c=t.b,o=0,i=new Kn(t.a.b);i.a0)if(r=l.Y(),c=wv(Math.floor((r+1)/2))-1,i=wv(Math.ceil((r+1)/2))-1,e.k==_z)for(u=i;u>=c;u--)e.a[m.k]==m&&(p=Uf(l.sb(u),27),d=Uf(p.a,9),!ka(n,p.b)&&f>t.b.e[d.k]&&(e.a[d.k]=m,e.f[m.k]=e.f[d.k],e.a[m.k]=e.f[m.k],f=t.b.e[d.k]));else for(u=c;u<=i;u++)e.a[m.k]==m&&(v=Uf(l.sb(u),27),g=Uf(v.a,9),!ka(n,v.b)&&f0||n.k==_z&&iv?d:v):n.n[e.k]=r>(d>v?d:v)?r:d>v?d:v)):(g=t.d.f,p=yw(t,n.i[e.k]),f=yw(t,n.i[h.k]),n.k==_z?qv(p,f,oo(n.n[e.k])+oo(n.d[a.k])+a.j.b+a.e.a+g-(oo(n.n[h.k])+oo(n.d[u.k])-u.e.d)):qv(p,f,oo(n.n[e.k])+oo(n.d[a.k])-a.e.d-oo(n.n[h.k])-oo(n.d[u.k])-u.j.b-u.e.a-g))):v=t.e.Ic(v,e,a),a=n.a[a.k]}while(a!=e);!function(t,e){Np(t.b,e)}(t.e,e)}}function LL(t,e,n,r){var i,o,a,s,c,u,l,h,f,d,p,g,v,b;if(f=!1,h=!1,Vs(Uf(kx(r,(JL(),Hj)),28))){a=!1,s=!1;t:for(p=new Kn(r.f);p.a=r.j.b/2}b?(v=Uf(kx(r,($L(),Nq)),20))?f?o=v:(i=Uf(kx(r,DV),20))?o=v.Y()<=i.Y()?v:i:(o=new Re,Ky(r,DV,o)):(o=new Re,Ky(r,Nq,o)):(i=Uf(kx(r,($L(),DV)),20))?h?o=i:(v=Uf(kx(r,Nq),20))?o=i.Y()<=v.Y()?i:v:(o=new Re,Ky(r,Nq,o)):(o=new Re,Ky(r,DV,o)),o.ib(t),Ky(t,($L(),RV),n),e.d==n?(lv(e,null),n.b.c.length+n.e.c.length==0&&cv(n,null)):(hv(e,null),n.b.c.length+n.e.c.length==0&&cv(n,null)),Mg(e.a)}function IL(t,e){var n,r,i,o,a,s,c,u,l,h,f,d,p,g,v,b,y;for((n=new kk(e)).a||function(t){var e,n,r,i,o;switch(i=Uf(gd(t.b,0),9),e=new Tk(t),Lf(t.b,e),e.j.a=Fo(1,i.j.a),e.j.b=Fo(1,i.j.b),e.i.a=i.i.a,e.i.b=i.i.b,Uf(kx(i,($L(),qV)),32).e){case 4:e.i.a+=2;break;case 1:e.i.b+=2;break;case 2:e.i.a-=2;break;case 3:e.i.b-=2}cv(r=new TT,e),hv(n=new jg,o=Uf(gd(i.f,0),7)),lv(n,r),Ih(Lc(r.i),o.i),Ih(Lc(r.a),o.a)}(e),u=function(t){var e,n,r,i,o,a,s;for(s=new Cb,a=new Kn(t.b);a.a=s.b.c)&&(s.b=e),(!s.c||e.c<=s.c.c)&&(s.d=s.c,s.c=e),(!s.e||e.d>=s.e.d)&&(s.e=e),(!s.f||e.d<=s.f.d)&&(s.f=e);return r=new hk((jw(),yF)),Lb(t,CF,new Qn(Nx(Mo(bF,1),GI,160,0,[r]))),a=new hk(xF),Lb(t,TF,new Qn(Nx(Mo(bF,1),GI,160,0,[a]))),i=new hk(mF),Lb(t,kF,new Qn(Nx(Mo(bF,1),GI,160,0,[i]))),o=new hk(wF),Lb(t,EF,new Qn(Nx(Mo(bF,1),GI,160,0,[o]))),cA(r.c,yF),cA(i.c,mF),cA(o.c,wF),cA(a.c,xF),s.a.c=Ty(TD,GI,1,0,4,1),ox(s.a,r.c),ox(s.a,Sw(i.c)),ox(s.a,o.c),ox(s.a,Sw(a.c)),s}(u)),n}function ML(t,e){var n,r,i,o,a,s,c,u,l,h,f,d,p,g,v,b,y,m,w,x,_,E,k,T,C;return h=function(t,e){var n,r,i,o,a,s,c,u,l,h,f;if(t.V())return new uo;for(c=0,l=0,r=t.mb();r.G();)c=Fo(c,(i=Uf(r.H(),55).e).a),l+=i.a*i.b;for(c=Fo(c,Math.sqrt(l)*Uf(kx(Uf(t.mb().H(),55),($L(),AV)),15).a),h=0,f=0,s=0,n=e,a=t.mb();a.G();)h+(u=(o=Uf(a.H(),55)).e).a>c&&(h=0,f+=s+e,s=0),iS(o,h,f),n=Fo(n,h+u.a),s=Fo(s,u.b),h+=u.a+e;return new ts(n+e,f+s+e)}(fl(t,(mL(),jG)),e),p=Ok(fl(t,GG),e),w=Ok(fl(t,qG),e),k=Lk(fl(t,WG),e),f=Lk(fl(t,MG),e),y=Ok(fl(t,VG),e),g=Ok(fl(t,BG),e),_=Ok(fl(t,XG),e),x=Ok(fl(t,PG),e),T=Lk(fl(t,RG),e),b=Ok(fl(t,zG),e),m=Ok(fl(t,YG),e),E=Ok(fl(t,DG),e),C=Lk(fl(t,UG),e),d=Lk(fl(t,FG),e),v=Ok(fl(t,HG),e),n=xm(Nx(Mo(sW,1),NI,26,12,[y.a,k.a,_.a,C.a])),r=xm(Nx(Mo(sW,1),NI,26,12,[p.a,h.a,w.a,v.a])),i=b.a,o=xm(Nx(Mo(sW,1),NI,26,12,[g.a,f.a,x.a,d.a])),u=xm(Nx(Mo(sW,1),NI,26,12,[y.b,p.b,g.b,m.b])),c=xm(Nx(Mo(sW,1),NI,26,12,[k.b,h.b,f.b,v.b])),l=T.b,s=xm(Nx(Mo(sW,1),NI,26,12,[_.b,w.b,x.b,E.b])),vy(fl(t,jG),n+i,u+l),vy(fl(t,HG),n+i,u+l),vy(fl(t,GG),n+i,0),vy(fl(t,qG),n+i,u+l+c),vy(fl(t,WG),0,u+l),vy(fl(t,MG),n+i+r,u+l),vy(fl(t,BG),n+i+r,0),vy(fl(t,XG),0,u+l+c),vy(fl(t,PG),n+i+r,u+l+c),vy(fl(t,RG),0,u),vy(fl(t,zG),n,0),vy(fl(t,DG),0,u+l+c),vy(fl(t,FG),n+i+r,0),(a=new uo).a=xm(Nx(Mo(sW,1),NI,26,12,[n+r+i+o,T.a,m.a,E.a])),a.b=xm(Nx(Mo(sW,1),NI,26,12,[u+c+l+s,b.b,C.b,d.b])),a}function PL(t,e){var n,r,i,o,a,s,c,u,l,h,f,d,p,g;if(r=new Fr,u=null,(d=(p=t.c).f.g)!=(RT(),GF)&&d!=BF)throw new so("The target node of the edge must be a normal node or a northSouthPort.");for(d==BF&&(f=Uf(kx(p,($L(),oq)),7),u=new ts(Vw(Nx(Mo(gR,1),KM,10,0,[f.f.i,f.i,f.a])).a,Vw(Nx(Mo(gR,1),KM,10,0,[p.f.i,p.i,p.a])).b),p=f),cs(r,Vw(Nx(Mo(gR,1),KM,10,0,[p.f.i,p.i,p.a]))),a=Fo(5,AE(p.f,p.g)),(h=new wp(eT(p.g))).a*=a,h.b*=a,Of(r,Ih(h,Vw(Nx(Mo(gR,1),KM,10,0,[p.f.i,p.i,p.a])))),u&&Mb(r,u,r.c.b,r.c),o=t,c=t,s=null,n=!1;o;)0!=(i=o.a).b&&(n?(Of(r,al(Ih(s,(Lu(0!=i.b),Uf(i.a.a.c,10))),.5)),n=!1):n=!0,s=wu((Lu(0!=i.b),Uf(i.c.b.c,10))),gw(r,i),Mg(i)),c=o,o=Uf(Kc(vv(e.d,o)),12);(g=c.d).f.g==BF&&(f=Uf(kx(g,($L(),oq)),7),Of(r,new ts(Vw(Nx(Mo(gR,1),KM,10,0,[f.f.i,f.i,f.a])).a,Vw(Nx(Mo(gR,1),KM,10,0,[g.f.i,g.i,g.a])).b)),g=f),a=Fo(5,AE(g.f,g.g)),al(h=new wp(eT(g.g)),a),Of(r,Ih(h,Vw(Nx(Mo(gR,1),KM,10,0,[g.f.i,g.i,g.a])))),cs(r,Vw(Nx(Mo(gR,1),KM,10,0,[g.f.i,g.i,g.a]))),l=new JS(r),gw(t.a,RE(l))}function DL(t){var e,n,r,i,o,a,s,c,u,l,h,f,d,g;if(Zc(kx(t.c,(JL(),Hj)))===Zc((bT(),wG))||Zc(kx(t.c,Hj))===Zc(mG))for(l=new Kn(t.c.f);l.a1&&(a=zo(a,Na(Uf(sk(s.a,1),10).b-l.b)))));else for(p=new Kn(e.f);p.ai&&(o=f.a-i,a=yI,r.c=Ty(TD,GI,1,0,4,1),i=f.a),f.a>=i&&(r.c[r.c.length]=s,s.a.b>1&&(a=zo(a,Na(Uf(sk(s.a,s.a.b-2),10).b-f.b)))));if(0!=r.c.length&&o>e.j.a/2&&a>e.j.b/2){for(cv(d=new TT,e),Fh(d,(mL(),IG)),d.i.a=e.j.a/2,cv(g=new TT,e),Fh(g,$G),g.i.a=e.j.a/2,g.i.b=e.j.b,c=new Kn(r);c.a=u.b?hv(s,g):hv(s,d)):(u=Uf(xf(s.a),10),(0==s.a.b?Gv(s.c):Uf(Fl(s.a),10)).b>=u.b?lv(s,g):lv(s,d)),(h=Uf(kx(s,(JL(),kj)),44))&&wE(h,u,!0);e.i.a=i-e.j.a/2}}function jL(t,e){var n,r,i,o,a,s,c,u,l,h,f,d,p,g,v,b,y,m;for(b=new Re,y=new Re,m=new Re,o=new Kn(e);o.a50?b.c[b.c.length]=i:i.k>0?y.c[y.c.length]=i:m.c[m.c.length]=i;if(1==y.c.length&&0==b.c.length&&(ox(b,y),y.c=Ty(TD,GI,1,0,4,1)),0!=b.c.length&&Xl(su(t.a),(CL(),$z))&&Xl(su(t.a),(CL(),Kz))?function(t,e){var n,r,i;for(r=new Kn(e);r.a1&&(dC(i,g=Uf(Nm(c),60),!0),fp(l),ov(t.a,g))}for(f=m.c.length,r=function(t){var e,n,r,i;switch(cu(t.a).c){case 4:return CL(),Kz;case 3:return Uf(function(t){var e;return CL(),CL(),e=Uz,t.d&&FC(t),function(){throw new Kr}(),e}(t.a).mb().H(),60);case 2:return e=Uf(Qb(n=new qs(r=cu(t.a))),60),i=Uf(Qb(n),60),gA(e)==i?Xl(r,(CL(),Kz))?Vz:Kz:pA(pA(e))==i?pA(e):vA(e);case 1:return gA(Uf(Qb(new qs(r=cu(t.a))),60));case 0:return CL(),Qz;default:return null}}(t),d=new Re,a=f/au(t.a).c|0,s=0;s3&&(ox(d,(CL(),CL(),zz)),p-=4),p){case 3:Lf(d,gA(r));case 2:v=pA(gA(r));do{v=pA(v)}while(!Xl(su(t.a),v));d.c[d.c.length]=v,v=vA(gA(r));do{v=vA(v)}while(!Xl(su(t.a),v));d.c[d.c.length]=v;break;case 1:Lf(d,gA(r))}for(h=new Kn(d),u=new Kn(m);h.ayM)&&s<10);go(t.c,new L),jO(t),function(t){sL(t,(E_(),AR)),t.e=!0}(t.c),function(t){var e,n,r,i,o,a,s;for(i=new Kn(t.a.b);i.a0,v=m.e.c.length>0,u&&v?f.c[f.c.length]=m:u?p.c[p.c.length]=m:v&&(y.c[y.c.length]=m);for(d=new Kn(p);d.a=g&&(m>g&&(p.c=Ty(TD,GI,1,0,4,1),g=m),p.c[p.c.length]=a);0!=p.c.length&&(d=Uf(gd(p,$k(e,p.c.length)),77),A.a.eb(d),d.i=v++,aA(d,C,E),p.c=Ty(TD,GI,1,0,4,1))}for(x=t.c.length+1,s=new Kn(t);s.aN.i&&(ug(n),Gy(N.d,r),r.c>0&&(r.a=N,Lf(N.j,r),r.b=k,Lf(k.d,r)))}function YL(t){switch(t.e){case 14:return new Z;case 37:return new Q;case 8:return new Ki;case 30:return new Qi;case 38:return new tt;case 3:return new et;case 47:case 1:return new bn((Px(),KF));case 4:return new nt;case 49:return new rt;case 23:return new ne;case 13:return new it;case 34:return new at;case 40:return new st;case 35:return new lt;case 44:return new Uu;case 28:return new ht;case 39:return new ft;case 27:return new dt;case 6:return new pt;case 31:return new yt;case 9:return new Te;case 43:return new wt;case 17:return new xt;case 18:return new kt;case 29:return new Ce;case 11:return new It;case 12:return new Ct;case 36:return new Nt;case 46:case 0:return new bn((Px(),ZF));case 41:return new St;case 15:return new Ot;case 33:return new Lt;case 42:return new Pt;case 22:return new Dt;case 19:return new bt;case 10:return new At;case 7:return new jt;case 24:return new Gt;case 21:return new Bt;case 16:return new Ht;case 45:return new Yt;case 26:return new zt;case 20:return new Ut;case 25:return new Vt;case 5:return new Qt;case 32:return new Jt;case 48:case 2:return new bn((Px(),$F));default:throw new so("No implementation is available for the layout processor "+(null!=t.d?t.d:""+t.e))}}function zL(t,e,n){var r,i,o,a,s,c,u,l,h,f,d,p,g,v,b,y,m,w,x,_,E,k,T,C,N,A,S;for(N=0,o=0,l=e[0].d,E=n[0].d,d=0,g=n.length;d0;){for(Lu(_.b>0),x=0,i=new Kn((m=Uf(_.a.sb(_.c=--_.b),7)).b);i.a0&&(m.g==(mL(),IG)?(t.a[m.k]=N,++N):(t.a[m.k]=N+b+y,++y),o+=x)}N+=y}else{for(v=0,w=new Kn(h.f);w.a0&&(++N,o+=v)}for(k=Ty(iW,vM,26,o,12,1),s=0,f=0,p=e.length;f0;)c%2>0&&(r+=A[c+1]),++A[c=(c-1)/2|0];return r}function UL(t,e){var n,r,i,o,a,s,c,u,l,h,f,d,p,g,v,b,y,m,w,x,_,E,k,T,C,N,A,S,O;for(HE(e,"Compound graph postprocessor",1),n=io(oo(Sh(kx(t,(ZL(),Bq))))),s=Uf(kx(t,($L(),FV)),144),h=new Ji,_=s.W().mb();_.G();){for(x=Uf(_.H(),12),xb(a=new df(s.U(x)),new cn(t)),C=cw((_y(0,a.c.length),Uf(a.c[0],114))),A=sw(Uf(gd(a,a.c.length-1),114)),Mg(x.a),k=C.f,E=R_(A.f,k)?Uf(kx(k,rq),55):Kp(k),p=Uf(kx(x,(JL(),kj)),44),Ad(a,OF)?p?Mg(p):(p=new Fr,Ky(x,kj,p)):p&&Ky(x,kj,null),v=null,o=new Kn(a);o.aEP,O=Na(v.b-m.b)>EP,(!n&&S&&O||n&&(S||O))&&Of(x.a,T)),gw(x.a,r),0==r.b?v=T:(Lu(0!=r.b),v=Uf(r.c.b.c,10)),(y=Uf(kx(b,kj),44))&&(Yx(d=new Fr,0,y),Pw(d,w),gw(p,d)),sw(i)==A&&(Kp(A.f)!=i.a&&IN(w=new uo,Kp(A.f),E),Ky(x,Cq,w)),g=new Kv(b.b,0);g.b1){x=Ty(PX,hI,15,t.a.length,0,1),u=Ol(t.a.length),p=0,d=0,n=2*e.d.a.c.length+1;t:for(w=new Kn(e.f);w.a0?(x[m.k]=new Hn(C/(m.b.c.length+m.e.c.length)),p=Uo(p,x[m.k].a),d=Ho(d,x[m.k].a)):v&&(x[m.k]=new Hn(C))}for(g=(e.d?Qy(e.d.a,e,0):-1)+1,f=e.d.a.c.length+1,c=new Kn(u);c.an&&g.a.db(m,g);for(A=new Ji,v=new Ji,x=new Vn(new Un(N.a).a.bb().mb());x.a.G();)for(h=Uf(x.a.H(),21),m=Uf(h.yb(),9),a=1==e?X_(m):q_(m),Xu(),u=new Pu(ju(Xf(a.a,new p)));tE(u);)c=Uf(Nv(u),12),Ic(m.d)!=Ic(c.d.f.d)&&Np(A,c.d.f);for(_=new Vn(new Un(g.a).a.bb().mb());_.a.G();)for(h=Uf(_.a.H(),21),m=Uf(h.yb(),9),a=1==e?X_(m):q_(m),Xu(),u=new Pu(ju(Xf(a.a,new p)));tE(u);)c=Uf(Nv(u),12),Ic(m.d)!=Ic(c.d.f.d)&&Np(v,c.d.f);for(QF&&Pf(),T=Uf(gd(t.d.c.c,r+(1==e?1:-1)),16),b=kI,y=yI,f=0;ff?b:f:v.a.R(m)&&(y=y1||tg(vu(new sb(B_(Nx(Mo(TD,1),GI,1,4,[y.b,y.e])))))>1)&&i.ib((KA(),rV)),Zc(kx(p,(ZL(),zq)))===Zc((lb(),qY))&&!(JM in e.a)){n=new Fr;try{for(s=Sg(e,JM).hc(),o=0;o0&&(t.a[B.k]=W++)}else{for(M=0,F=new Kn(C.f);F.a0&&++W}for(J=0,S=0,I=n.length;S0;){for(Lu(z.b>0),Y=0,s=new Kn((B=Uf(z.a.sb(z.c=--z.b),7)).b);s.a0&&(B.g==(mL(),IG)?(t.a[B.k]=J,++J):(t.a[B.k]=J+P+R,++R))}J+=R}else{for(M=0,F=new Kn(C.f);F.a0&&++J}for(_l(),H=new kr,d=new Iu,N=0,O=e.length;Nu.b&&(u.b=U)):B.f.d==X&&(Uu.c&&(u.c=U));for(Hk(p,0,p.length,(ec(),ec(),HX)),Q=Ty(iW,vM,26,p.length,12,1),r=Ty(iW,vM,26,J+1,12,1),v=0;v0;)_%2>0&&(i+=nt[_+1]),++nt[_=(_-1)/2|0];for(k=Ty(rz,GI,156,2*p.length,0,1),m=0;m0&&(45==t.charCodeAt(0)||43==t.charCodeAt(0))?1:0;eyI)throw new Zo(EI+t+'"');return i}((si(),""+n.jc().a))),void Ky(t,f,g)}catch(t){throw dl(t=r_(t),130)?new zi("Invalid integer format for property '"+e+cP+n+")."):D_(t)}else{if(Uf(WB.a,18).kb(e)){if(!n.ic())throw new zi(sP+e+cP+n+").");return f=Uf(Uf(WB.b,57).cb(e),79),Vd(),void Ky(t,f,g=n.ic().a?AX:NX)}if(Uf(KB.a,18).kb(e)){if(!n.jc())throw new zi("Invalid float format for property '"+e+cP+n+").");return void Ky(t,f=Uf(Uf(KB.b,57).cb(e),79),g=new Fn(n.jc().a))}if(Uf(ZB.a,18).kb(e)){if(!n.lc())throw new zi(uP+e+cP+n+").");u=n.lc().a,l=null;try{c_((JL(),Uj),e)?(mL(),l=Uf(p_((fy(),JG),u),32)):c_(sj,e)?(fk(),l=Uf(p_((Iy(),CR),u),103)):c_(pj,e)?(E_(),l=Uf(p_((hy(),MR),u),59)):c_(vj,e)?(k_(),l=Uf(p_((zb(),VR),u),122)):c_(xj,e)?(T_(),l=Uf(p_((mb(),ij),u),166)):c_(Dj,e)||c_(Rj,e)||c_(jj,e)||c_(Gj,e)||c_(Bj,e)?(OE(),l=Uf(p_((dy(),bG),u),100)):c_(Hj,e)?(bT(),l=Uf(p_((Py(),TG),u),28)):c_(zj,e)?(Rm(),l=Uf(p_((yb(),OG),u),149)):c_(bj,e)?(DT(),l=Uf(p_((My(),JR),u),133)):c_(gj,e)?(Gw(),l=Uf(p_((Yb(),BR),u),107)):c_((ZL(),Uq),e)?(Vg(),l=Uf(p_((Bv(),LY),u),193)):c_(iX,e)?(fm(),l=Uf(p_((wb(),GY),u),173)):c_(Xq,e)?(mT(),l=Uf(p_((vm(),UU),u),115)):c_(Fq,e)?(Gm(),l=Uf(p_((qb(),Az),u),194)):c_(zq,e)?(lb(),l=Uf(p_((Hv(),$Y),u),192)):c_(aX,e)?(nA(),l=Uf(p_((pm(),cY),u),109)):c_(oX,e)?(Vk(),l=Uf(p_((gm(),vz),u),141)):c_(lX,e)?(pC(),l=Uf(p_((Dy(),xY),u),125)):c_(hX,e)?(Nb(),l=Uf(p_((Fv(),dY),u),175)):c_(Kq,e)?(MT(),l=Uf(p_((tw(),QU),u),124)):c_(Qq,e)?(TO(),l=Uf(p_((Fw(),mV),u),110)):c_(tX,e)?(qk(),l=Uf(p_((bm(),Pq),u),85)):c_(pX,e)?(ME(),l=Uf(p_((Oy(),xX),u),153)):c_(vX,e)?(Bw(),l=Uf(p_((Ly(),CX),u),172)):c_(Jq,e)&&(cb(),l=Uf(p_((Xb(),NV),u),174))}catch(t){throw dl(t=r_(t),54)?new zi(uP+e+cP+n+")."):D_(t)}return void Ky(t,f=Uf(Uf(ZB.b,57).cb(e),79),l)}if(Uf($B.a,18).kb(e)){if(!n.lc())throw new zi(uP+e+cP+n+").");for(d=null,a=0,s=(c=BS(n.lc().a,"[\\[\\]\\s,]+")).length;a0&&_x(e.charCodeAt(n-1),CM);)--n;if(r>=n)throw new so("The given string does not contain any numbers.");if(2!=(i=BS(e.substr(r,n-r),",|;|\r|\n")).length)throw new so("Exactly two numbers are expected, "+i.length+" were found.");try{t.a=IT(gT(i[0])),t.b=IT(gT(i[1]))}catch(t){throw dl(t=r_(t),130)?new so(NM+t):D_(t)}}(p=new uo,n.lc().a),void Ky(t,f=Uf(Uf(tF.b,57).cb(e),79),p)}catch(t){throw dl(t=r_(t),29)?new zi("Invalid KVector format for property '"+e+"' "+n+"."):D_(t)}else if(c_(lj,e)||c_(kj,e))try{return function(t,e){var n,r,i,o,a;r=BS(e,",|;|\\(|\\)|\\[|\\]|\\{|\\}| |\t|\n"),Mg(t);try{for(n=0,o=0,i=0,a=0;n0&&(o%2==0?i=IT(r[n]):a=IT(r[n]),o>0&&o%2!=0&&Of(t,new ts(i,a)),++o),++n}catch(t){throw dl(t=r_(t),130)?new so("The given string does not match the expected format for vectors."+t):D_(t)}}(v=new Fr,n.lc().a),void Ky(t,f=Uf(Uf(tF.b,57).cb(e),79),v)}catch(t){throw dl(t=r_(t),29)?new zi("Invalid KVectorChain format for property '"+e+"' "+n+"."):D_(t)}else if(c_(Aj,e)||c_(oj,e))try{return function(t,e){var n,r,i,o,a,s,c,u;for(o=0;o<(si(),e.length)&&Ex(e.charCodeAt(o),TM);)++o;for(n=e.length;n>0&&Ex(e.charCodeAt(n-1),CM);)--n;if(o1?Mv(this,t-1):this,e},eI.Pc=function(){return Bh(this),this.b},eI.Qc=function(){return na(this)},eI.Rc=function(){return ra(this)},eI.Sc=function(){return 0!=(4&this.g)},eI.Tc=function(){return 0!=(1&this.g)},eI.w=function(){return(0!=(2&this.g)?"interface ":0!=(1&this.g)?"":"class ")+(Bh(this),this.n)},eI.g=0,ZN(119,72,{3:1,119:1,54:1,46:1},Vr),ZN(29,72,_I,qr,so),ZN(95,72,dI,Xr,ao),ZN(231,1,{3:1,231:1}),ZN(24,231,{3:1,23:1,24:1,231:1},Mn),eI.F=function(t){return function(t,e){return Bu(t.a,e.a)}(this,Uf(t,24))},eI.t=function(t){return dl(t,24)&&Uf(t,24).a==this.a},eI.v=function(){return this.a},eI.w=function(){return ca(this.a)},eI.a=0,cI={3:1,345:1,23:1,2:1},ZN(350,1,TI,ae),eI.$b=function(t,e){return function(t,e){return Tg((si(),t.toLowerCase()),e.toLowerCase())}(Lh(t),Lh(e))},ZN(257,95,dI,(function(t){ao.call(this,t)})),ZN(145,1,{23:1,145:1}),eI.F=function(t){return function(t,e){return function(t,e){return Tg((si(),t.toLowerCase()),e.toLowerCase())}(t.a,e.a)}(this,Uf(t,145))},eI.t=function(t){var e;return t===this||!!dl(t,145)&&(e=Uf(t,145),ji(this.a,e.a))},eI.v=function(){return dk(this.a)},eI.w=function(){return this.a},ZN(358,29,_I,(function(t){so.call(this,(si(),null==t?pI:t))})),ZN(256,29,{3:1,54:1,29:1,46:1,256:1},(function(t){so.call(this,(si(),null==t?pI:t))})),ZN(185,145,CI),ZN(289,185,CI,(function(t){Pn.call(this,t)})),eI.Zc=function(t,e,n){var r,i;for(r=Ty(aW,NI,26,n,12,1),i=0;in)throw new ao(AI)}for(a=Ty(aW,NI,26,o,12,1),l=0,s=0,c=0;c0;){if(128!=(192&(r=t[e+c++])))throw new so("Invalid UTF8 sequence at "+(e+c-1)+", byte="+(r>>>0).toString(16));i=i<<6|63&r}l+=Kk(i,a,l)}return a};var kD,TD=Bp(OI,"Object",1),CD=Bp(OI,"Throwable",46),ND=(Bp(OI,"Exception",54),Bp(OI,"RuntimeException",72),Bp(LI,"JavaScriptException",164),Bp(II,"StackTraceCreator/Collector",642),Bp(II,"StackTraceCreator/CollectorLegacy",356),Bp(II,"StackTraceCreator/CollectorModern",643),Bp(II,"StackTraceCreator/CollectorModernNoSourceMap",357),Bp(MI,"IOException",181),Bp(MI,"UnsupportedEncodingException",351),Bp(OI,"Class",288),Bp(OI,"ClassCastException",119),Bp(OI,"IllegalArgumentException",29),Bp(OI,"IndexOutOfBoundsException",95),Bp(OI,"Number",231),Bp(OI,"Integer",24)),AD=Bp(OI,"String",2);Bp(OI,"String/1",350),Bp(OI,"StringIndexOutOfBoundsException",257),Bp(PI,"Charset",145),Bp(PI,"IllegalCharsetNameException",358),Bp(PI,"UnsupportedCharsetException",256),Bp(DI,"EmulatedCharset",185),Bp(DI,"EmulatedCharset/LatinCharset",289),Bp(DI,"EmulatedCharset/UtfCharset",355),ZN(669,1,{3:1}),Bp(RI,"Optional",669),ZN(601,669,{3:1},c),eI.t=function(t){return t===this},eI.v=function(){return 2040732332},eI.w=function(){return"Optional.absent()"},eI.A=function(t){return Dd(t),ci(),kD},Bp(RI,"Absent",601);var SD=Ed(RI,"Function");ZN(208,1,{},co),eI.C=function(t){return Dp(t)},Bp(RI,"Joiner",208),ZN(363,208,{},Qf),eI.C=function(t){return Tl(this,t)},Bp(RI,"Joiner/1",363),ZN(362,1,{},nh),Bp(RI,"Joiner/MapJoiner",362);var OD,LD=Ed(RI,"Predicate");ZN(244,1,{68:1,244:1,3:1},Ge),eI.D=function(t){var e;for(e=0;e0},eI.H=function(){if(this.b>=this.c)throw new Ei;return oa(this,this.b++)},eI.L=function(){return this.b},eI.M=function(){if(this.b<=0)throw new Ei;return oa(this,--this.b)},eI.N=function(){return this.b-1},eI.b=0,eI.c=0,Bp(zI,"AbstractIndexedListIterator",378),ZN(428,108,YI),eI.G=function(){return uw(this)},eI.H=function(){return Cy(this)},eI.d=1,Bp(zI,"AbstractIterator",428),ZN(653,1,{144:1}),eI.P=function(){return this.f||(this.f=this.S())},eI.T=function(){return new Ia(this.P())},eI.t=function(t){return zx(this,t)},eI.v=function(){return this.P().v()},eI.V=function(){return 0==this.Y()},eI.W=function(){return ip(this)},eI.w=function(){return this.P().w()},Bp(zI,"AbstractMultimap",653),ZN(294,653,VI),eI.Q=function(){Ak(this)},eI.R=function(t){return qy(this.b,t)},eI.S=function(){return new Da(this,this.b)},eI.T=function(){return new Ml(this,this.b)},eI.$=function(){return dl(t=this.Z(),137)?(zg(),new Ql(Uf(t,137))):dl(t,18)?(zg(),new Ko(Uf(t,18))):dl(t,20)?gv(Uf(t,20)):(zg(),new er(t));var t},eI.U=function(t){return WT(this,t)},eI.X=function(t){return iN(this,t)},eI.Y=function(){return this.c},eI.c=0,Bp(zI,"AbstractMapBasedMultimap",294),ZN(600,294,VI),eI.Z=function(){return new cm(this.a)},eI.$=function(){return og(),og(),YD},eI.U=function(t){return Uf(WT(this,t),20)},eI.X=function(t){return Uf(iN(this,t),20)},eI.P=function(){return this.f||(this.f=new Da(this,this.b))},eI.t=function(t){return zx(this,t)},Bp(zI,"AbstractListMultimap",600),ZN(388,1,qI),eI.G=function(){return this.b.b||this.d.G()},eI.H=function(){var t;return this.d.G()||((t=Um(this.b)).yb(),this.a=Uf(t.zb(),19),this.d=this.a.mb()),this.d.H()},eI.I=function(){this.d.I(),this.a.V()&&Hy(this.b),--this.c.c},Bp(zI,"AbstractMapBasedMultimap/Itr",388),ZN(389,388,qI,rw),Bp(zI,"AbstractMapBasedMultimap/1",389),ZN(638,1,XI),eI.Q=function(){this.bb().Q()},eI._=function(t){return cT(this,t)},eI.R=function(t){return!!VT(this,t,!1)},eI.ab=function(t){var e,n;for(e=this.bb().mb();e.G();)if(n=Uf(e.H(),21).zb(),Zc(t)===Zc(n)||null!=t&&s_(t,n))return!0;return!1},eI.t=function(t){return TC(this,t)},eI.cb=function(t){return Kc(VT(this,t,!1))},eI.v=function(){return bx(this.bb())},eI.V=function(){return 0==this.Y()},eI.W=function(){return new Un(this)},eI.db=function(t,e){throw new No("Put not supported on this map")},eI.eb=function(t){return Kc(VT(this,t,!0))},eI.Y=function(){return this.bb().Y()},eI.w=function(){return rC(this)},eI.fb=function(){return new qn(this)},Bp(WI,"AbstractMap",638),ZN(654,638,XI),eI.bb=function(){return op(this)},eI.W=function(){return this.d||(this.d=new Ia(this))},eI.fb=function(){return qp(this)},Bp(zI,"Maps/ViewCachingAbstractMap",654),ZN(262,654,XI,Da),eI.cb=function(t){return function(t,e){var n;return(n=Uf(ck(t.a,e),19))?ak(t.b,e,n):null}(this,t)},eI.eb=function(t){return function(t,e){var n,r;return(n=Uf(Kd(t.a,e),19))?((r=t.b.Z()).jb(n),t.b.c-=n.Y(),n.Q(),r):null}(this,t)},eI.Q=function(){this.a==this.b.b?Ak(this.b):lp(new _v(this))},eI.R=function(t){return bk(this.a,t)},eI.hb=function(){return new He(this)},eI.gb=function(){return this.hb()},eI.t=function(t){return this===t||TC(this.a,t)},eI.v=function(){return bx(new Yn(this.a))},eI.W=function(){return ip(this.b)},eI.Y=function(){return Hs(this.a)},eI.w=function(){return rC(this.a)},Bp(zI,"AbstractMapBasedMultimap/AsMap",262),ZN(640,1,$I),eI.ib=function(t){return function(){throw new No("Add not supported on this collection")}()},eI.jb=function(t){return gw(this,t)},eI.Q=function(){yg(this)},eI.kb=function(t){return wE(this,t,!1)},eI.lb=function(t){return Qw(this,t)},eI.V=function(){return 0==this.Y()},eI.nb=function(t){return wE(this,t,!0)},eI.ob=function(){return this.pb(Ty(TD,GI,1,this.Y(),4,1))},eI.pb=function(t){return iT(this,t)},eI.w=function(){return nC(this)},Bp(WI,"AbstractCollection",640),ZN(641,640,ZI),eI.t=function(t){return CE(this,t)},eI.v=function(){return bx(this)},Bp(WI,"AbstractSet",641),ZN(649,641,ZI),Bp(zI,"Sets/ImprovedAbstractSet",649),ZN(655,649,ZI),eI.Q=function(){this.qb().Q()},eI.kb=function(t){return GE(this,t)},eI.V=function(){return this.qb().V()},eI.nb=function(t){var e;return!!this.kb(t)&&(e=Uf(t,21),this.qb().W().nb(e.yb()))},eI.Y=function(){return this.qb().Y()},Bp(zI,"Maps/EntrySet",655),ZN(387,655,ZI,He),eI.kb=function(t){return yk(new Yn(this.a.a),t)},eI.mb=function(){return new _v(this.a)},eI.qb=function(){return this.a},eI.nb=function(t){var e;return!!yk(new Yn(this.a.a),t)&&(e=Uf(t,21),function(t,e){var n,r;n=Uf(function(t,e){_l(),Dd(t);try{return Nl(e)?Pg(t,e):AN(t.d,e)}catch(t){if(dl(t=r_(t),119))return null;if(dl(t,76))return null;throw D_(t)}}(t.b,e),19),n&&(r=n.Y(),n.Q(),t.c-=r)}(this.a.b,e.yb()),!0)},Bp(zI,"AbstractMapBasedMultimap/AsMap/AsMapEntries",387),ZN(299,1,qI,_v),eI.H=function(){var t;return t=Um(this.b),this.a=Uf(t.zb(),19),function(t,e){var n;return n=e.yb(),_l(),new Ga(n,ak(t.b,n,Uf(e.zb(),19)))}(this.c,t)},eI.G=function(){return this.b.b},eI.I=function(){Hy(this.b),this.c.b.c-=this.a.Y(),this.a.Q()},Bp(zI,"AbstractMapBasedMultimap/AsMap/AsMapIterator",299),ZN(260,649,ZI,Ia),eI.Q=function(){this.b.Q()},eI.kb=function(t){return this.b.R(t)},eI.V=function(){return this.b.V()},eI.mb=function(){return _l(),_f(this.b.bb().mb(),(Wu(),qD))},eI.nb=function(t){return!!this.b.R(t)&&(this.b.eb(t),!0)},eI.Y=function(){return this.b.Y()},Bp(zI,"Maps/KeySet",260),ZN(386,260,ZI,Ml),eI.Q=function(){lp(new ja(this,this.b.bb().mb()))},eI.lb=function(t){return this.b.W().lb(t)},eI.t=function(t){return this===t||this.b.W().t(t)},eI.v=function(){return this.b.W().v()},eI.mb=function(){return new ja(this,this.b.bb().mb())},eI.nb=function(t){var e,n;return n=0,(e=Uf(this.b.eb(t),19))&&(n=e.Y(),e.Q(),this.a.c-=n),n>0},Bp(zI,"AbstractMapBasedMultimap/KeySet",386),ZN(300,1,qI,ja),eI.G=function(){return this.c.G()},eI.H=function(){return this.a=Uf(this.c.H(),21),this.a.yb()},eI.I=function(){var t;px(!!this.a),t=Uf(this.a.zb(),19),this.c.I(),this.b.a.c-=t.Y(),t.Q()},Bp(zI,"AbstractMapBasedMultimap/KeySet/1",300),ZN(216,640,$I,Ny),eI.ib=function(t){return function(t,e){var n,r;return nE(t),r=t.d.V(),(n=t.d.ib(e))&&(++t.f.c,r&&mf(t)),n}(this,t)},eI.jb=function(t){return function(t,e){var n,r,i;return!e.V()&&(i=t.Y(),(n=t.d.jb(e))&&(r=t.d.Y(),t.f.c+=r-i,0==i&&mf(t)),n)}(this,t)},eI.Q=function(){var t,e;0!=(e=(t=this).Y())&&(t.d.Q(),t.f.c-=e,pp(t))},eI.kb=function(t){return nE(this),this.d.kb(t)},eI.lb=function(t){return nE(this),this.d.lb(t)},eI.t=function(t){return function(t,e){return e===t||(nE(t),t.d.t(e))}(this,t)},eI.v=function(){return nE(this),this.d.v()},eI.mb=function(){return nE(this),new td(this)},eI.nb=function(t){return function(t,e){var n;return nE(t),(n=t.d.nb(e))&&(--t.f.c,pp(t)),n}(this,t)},eI.Y=function(){return nE(this),this.d.Y()},eI.w=function(){return nE(this),Uk(this.d)},Bp(zI,"AbstractMapBasedMultimap/WrappedCollection",216);var GD,BD,FD=Ed(WI,"List");ZN(297,216,KI,mp),eI.rb=function(t,e){var n;nE(this),n=this.d.V(),Uf(this.d,20).rb(t,e),++this.a.c,n&&mf(this)},eI.sb=function(t){return nE(this),Uf(this.d,20).sb(t)},eI.tb=function(){return nE(this),new zu(this)},eI.ub=function(t){return nE(this),new Gg(this,t)},eI.vb=function(t){var e;return nE(this),e=Uf(this.d,20).vb(t),--this.a.c,pp(this),e},eI.wb=function(t,e){return nE(this),Uf(this.d,20).wb(t,e)},eI.xb=function(t,e){return nE(this),bb(this.a,this.e,Uf(this.d,20).xb(t,e),this.b?this.b:this)},Bp(zI,"AbstractMapBasedMultimap/WrappedList",297),ZN(385,297,QI,wh),Bp(zI,"AbstractMapBasedMultimap/RandomAccessWrappedList",385),ZN(189,1,qI,td),eI.G=function(){return gp(this),this.b.G()},eI.H=function(){return gp(this),this.b.H()},eI.I=function(){this.b.I(),--this.d.f.c,pp(this.d)},Bp(zI,"AbstractMapBasedMultimap/WrappedCollection/WrappedIterator",189),ZN(298,189,JI,zu,Gg),eI.J=function(t){var e;e=0==function(t){return nE(t),t.d.Y()}(this.a),(gp(this),Uf(this.b,96)).J(t),++this.a.a.c,e&&mf(this.a)},eI.K=function(){return(gp(this),Uf(this.b,96)).K()},eI.L=function(){return(gp(this),Uf(this.b,96)).L()},eI.M=function(){return(gp(this),Uf(this.b,96)).M()},eI.N=function(){return(gp(this),Uf(this.b,96)).N()},eI.O=function(t){(gp(this),Uf(this.b,96)).O(t)},Bp(zI,"AbstractMapBasedMultimap/WrappedList/WrappedListIterator",298),ZN(295,216,ZI,Eh),Bp(zI,"AbstractMapBasedMultimap/WrappedSet",295),ZN(296,216,tM,kh),Bp(zI,"AbstractMapBasedMultimap/WrappedSortedSet",296),ZN(668,1,eM),eI.t=function(t){var e;return!!dl(t,21)&&(e=Uf(t,21),ng(this.yb(),e.yb())&&ng(this.zb(),e.zb()))},eI.v=function(){var t,e;return t=this.yb(),e=this.zb(),(null==t?0:K_(t))^(null==e?0:K_(e))},eI.Ab=function(t){throw new Kr},eI.w=function(){return this.yb()+"="+this.zb()},Bp(zI,nM,668),ZN(390,640,$I,Ye),eI.Q=function(){Ak(this.a)},eI.kb=function(t){return function(t,e){var n;for(n=ig(qp(t.P()));n.b.G();)if(Uf(Po(n,n.b.H()),19).kb(e))return!0;return!1}(this.a,t)},eI.mb=function(){return new rw(this.a)},eI.Y=function(){return this.a.c},Bp(zI,"AbstractMultimap/Values",390),ZN(656,640,rM),eI.ib=function(t){return this.Bb(t,1),!0},eI.Bb=function(t,e){throw new Kr},eI.jb=function(t){return function(t,e){var n,r;if(Or(),e.V())return!1;if(dl(e,207))for(r=Uf(e,207).bb().mb();r.G();)n=Uf(r.H(),83),t.Bb(n.Zb(),n.Yb());else zm(t,e.mb());return!0}(this,t)},eI.Q=function(){lp(this.Eb())},eI.kb=function(t){return this.Cb(t)>0},eI.Cb=function(t){var e,n;for(n=Xp(this).mb();n.G();)if(ng((e=Uf(n.H(),83)).Zb(),t))return e.Yb();return 0},eI.gb=function(){return new ze(this)},eI.bb=function(){return Xp(this)},eI.t=function(t){return function(t,e){var n,r,i;if(Or(),e===t)return!0;if(dl(e,207)){if(i=Uf(e,207),t.Y()!=i.Y()||Xp(t).Y()!=i.bb().Y())return!1;for(r=i.bb().mb();r.G();)if(n=Uf(r.H(),83),t.Cb(n.Zb())!=n.Yb())return!1;return!0}return!1}(this,t)},eI.v=function(){return Xp(this).v()},eI.V=function(){return Xp(this).V()},eI.mb=function(){return Or(),new Va(this,Xp(this).mb())},eI.nb=function(t){return this.Fb(t,1)>0},eI.Fb=function(t,e){throw new Kr},eI.Gb=function(t,e){var n,r;return Or(),Cm(e,"count"),(r=e-(n=this.Cb(t)))>0?this.Bb(t,r):r<0&&this.Fb(t,-r),n},eI.Hb=function(t,e,n){return function(t,e,n,r){return Or(),Cm(n,"oldCount"),Cm(r,"newCount"),t.Cb(e)==n&&(t.Gb(e,r),!0)}(this,t,e,n)},eI.Y=function(){return function(t){var e,n;for(Or(),n=0,e=Xp(t).mb();e.G();)n=w_(n,Uf(e.H(),83).Yb());return am(n)}(this)},eI.w=function(){return Uk(Xp(this))},Bp(zI,"AbstractMultiset",656),ZN(657,649,ZI),eI.Q=function(){this.Ib().Q()},eI.kb=function(t){var e;return!(!dl(t,83)||(e=Uf(t,83)).Yb()<=0||this.Ib().Cb(e.Zb())!=e.Yb())},eI.nb=function(t){var e,n,r;return!(!dl(t,83)||(e=(n=Uf(t,83)).Zb(),0==(r=n.Yb())))&&this.Ib().Hb(e,r,0)},Bp(zI,"Multisets/EntrySet",657),ZN(396,657,ZI,ze),eI.mb=function(){return this.a.Eb()},eI.Ib=function(){return this.a},eI.Y=function(){return this.a.Db()},Bp(zI,"AbstractMultiset/EntrySet",396),ZN(384,294,VI),eI.Z=function(){return new Sa(cx(this.a))},eI.$=function(){return lf(),ag(),KD},eI.U=function(t){return Uf(WT(this,t),18)},eI.X=function(t){return Uf(iN(this,t),18)},eI.P=function(){return this.f||(this.f=new Da(this,this.b))},eI.t=function(t){return zx(this,t)},Bp(zI,"AbstractSetMultimap",384),ZN(342,656,rM),Bp(zI,"AbstractSortedMultiset",342),ZN(280,600,VI,Vh),eI.a=0,Bp(zI,"ArrayListMultimap",280),ZN(159,17,iM);var HD,YD,zD,UD,VD,qD,XD,WD=tm(zI,"BoundType",159,RD,(function(){return qu(),Nx(Mo(WD,1),FI,159,0,[BD,GD])}));ZN(623,159,iM,fu),tm(zI,"BoundType/1",623,WD,null),ZN(624,159,iM,Mu),tm(zI,"BoundType/2",624,WD,null),ZN(234,1,aM),eI.w=function(){return t=this.c.mb(),Xu(),Zp(P_((Vu(),HD),Zp(new ta,91),t),93).a;var t},Bp(zI,"FluentIterable",234),ZN(170,234,aM,Tu),eI.mb=function(){return Ip(this)},Bp(zI,"FluentIterable/2",170),ZN(664,1,{}),eI.w=function(){return Uk(Lg(this.a.d).b)},Bp(zI,"ForwardingObject",664),ZN(665,664,$I),eI.ib=function(t){return Lg(this.a.d),ei()},eI.jb=function(t){return Lg(this.a.d),ni()},eI.Q=function(){Lg(this.a.d),ri()},eI.kb=function(t){return zs(Lg(this.a.d),t)},eI.lb=function(t){return Us(Lg(this.a.d),t)},eI.V=function(){return Lg(this.a.d).b.V()},eI.mb=function(){return new ir(Lg(this.a.d).b.mb())},eI.nb=function(t){return Lg(this.a.d),ii()},eI.Y=function(){return Lg(this.a.d).b.Y()},eI.ob=function(){return Zg(Lg(this.a.d))},eI.pb=function(t){return av(Lg(this.a.d),t)},Bp(zI,"ForwardingCollection",665),ZN(660,640,sM),eI.mb=function(){return this.Kb()},eI.ib=function(t){return function(){throw new Kr}()},eI.jb=function(t){return function(){throw new Kr}()},eI.Q=function(){!function(){throw new Kr}()},eI.kb=function(t){return null!=t&&wE(this,t,!1)},eI.Jb=function(){switch(this.Y()){case 0:return og(),og(),YD;case 1:return og(),new Ud(this.Kb().H());default:return new yp(this,this.ob())}},eI.nb=function(t){return function(){throw new Kr}()},Bp(zI,"ImmutableCollection",660),ZN(316,660,sM,bi),eI.mb=function(){return Am(this.a.mb())},eI.kb=function(t){return null!=t&&this.a.kb(t)},eI.lb=function(t){return this.a.lb(t)},eI.V=function(){return this.a.V()},eI.Kb=function(){return Am(this.a.mb())},eI.Y=function(){return this.a.Y()},eI.ob=function(){return this.a.ob()},eI.pb=function(t){return this.a.pb(t)},eI.w=function(){return Uk(this.a)},Bp(zI,"ForwardingImmutableCollection",316),ZN(87,660,cM),eI.mb=function(){return this.Kb()},eI.tb=function(){return this.Lb(0)},eI.ub=function(t){return this.Lb(t)},eI.xb=function(t,e){return this.Mb(t,e)},eI.rb=function(t,e){throw new Kr},eI.t=function(t){return function(t,e){var n,r,i;if(Zc(e)===Zc(Dd(t)))return!0;if(!dl(e,20))return!1;if(r=Uf(e,20),(i=t.Y())!=r.Y())return!1;if(dl(r,63)){for(n=0;n=(i=o.Y()))o.Q();else for(r=o.mb(),n=0;ne?1:0}(e.Yb(),t.Yb())}(Uf(t,83),Uf(e,83))},Bp(zI,"Multisets/1",398),ZN(397,658,{83:1,3:1},ld),eI.Yb=function(){return this.a},eI.Zb=function(){return this.b},eI.a=0,Bp(zI,"Multisets/ImmutableEntry",397),ZN(303,1,qI,Va),eI.G=function(){return this.d>0||this.c.G()},eI.H=function(){if(!(this.d>0||this.c.G()))throw new Ei;return 0==this.d&&(this.b=Uf(this.c.H(),83),this.f=this.d=this.b.Yb()),--this.d,this.a=!0,this.b.Zb()},eI.I=function(){px(this.a),1==this.f?this.c.I():this.e.Fb(this.b.Zb(),1),--this.f,this.a=!1},eI.a=!1,eI.d=0,eI.f=0,Bp(zI,"Multisets/MultisetIteratorImpl",303),ZN(622,659,{3:1,56:1},f),eI.$b=function(t,e){return function(t,e){return Dd(t),Dd(e),Hw(t,e)}(Uf(t,23),Uf(e,23))},eI.w=function(){return"Ordering.natural()"},Bp(zI,"NaturalOrdering",622),ZN(343,661,cM,yp),eI.ub=function(t){return Al(this.b,t)},eI.Sb=function(){return this.a},eI.sb=function(t){return Qc(this.b,t)},eI.Lb=function(t){return Al(this.b,t)},Bp(zI,"RegularImmutableAsList",343),ZN(559,275,uM,fg),eI.Tb=function(){return this.a},Bp(zI,"RegularImmutableBiMap",559),ZN(53,667,cM,sb),eI.Nb=function(){return this.a},Bp(zI,"RegularImmutableList",53),ZN(321,320,uM,Ri),Bp(zI,"RegularImmutableMap",321),ZN(265,315,lM,Ks),Bp(zI,"RegularImmutableSet",265),ZN(650,641,ZI),Bp(zI,"Sets/SetView",650),ZN(377,650,ZI,pf),eI.kb=function(t){return ka(this.b,t)&&ka(this.c,t)},eI.lb=function(t){return Qw(this.b,t)&&Qw(this.c,t)},eI.V=function(){return Im(this)},eI.mb=function(){return bp(new Vn(new Un(this.b.a).a.bb().mb()),this.a)},eI.Y=function(){return Jb(bp(new Vn(new Un(this.b.a).a.bb().mb()),this.a))},Bp(zI,"Sets/2",377),ZN(328,275,uM,Zv,Yy),eI.fb=function(){return lf(),new la(this.c)},eI.Tb=function(){return this.a||(this.a=new Yy(this.c,this.b,this))},eI.Ub=function(){return lf(),new la(this.c)},Bp(zI,"SingletonImmutableBiMap",328),ZN(127,667,cM,Ud),eI.Nb=function(){return this.a},Bp(zI,"SingletonImmutableList",127),ZN(135,663,lM,la),eI.mb=function(){return Xu(),new Xe(this.a)},eI.kb=function(t){return s_(this.a,t)},eI.Kb=function(){return Xu(),new Xe(this.a)},eI.Y=function(){return 1},Bp(zI,"SingletonImmutableSet",135),ZN(285,342,{207:1,3:1,22:1,19:1},Dv,lk),eI.Bb=function(t,e){return hN(this,t,e)},eI.Cb=function(t){return ST(this,t)},eI.Db=function(){return am(Fx(this,($u(),QD)))},eI.Eb=function(){return new Pl(this)},eI.Fb=function(t,e){return XN(this,t,e)},eI.Gb=function(t,e){return QT(this,t,e)},eI.Hb=function(t,e,n){var r,i,o;return Cm(n,"newCount"),Cm(e,"oldCount"),Uc(hh(this.b,t)),(o=this.c.a)?(i=Ty(iW,vM,26,1,12,1),r=gO(o,this.d,t,e,n,i),jd(this.c,o,r),i[0]==e):0==e&&(n>0&&hN(this,t,n),!0)},eI.Y=function(){return am(Fx(this,($u(),JD)))},Bp(zI,"TreeMultiset",285),ZN(619,658,{83:1},Xa),eI.Yb=function(){var t;return 0==(t=this.b.c)?ST(this.a,this.b.b):t},eI.Zb=function(){return this.b.b},Bp(zI,"TreeMultiset/1",619),ZN(620,1,qI,Pl),eI.H=function(){return function(t){var e;if(!dx(t))throw new Ei;return e=new Xa(t.c,t.a),t.b=e,t.a.i==t.c.a?t.a=null:t.a=t.a.i,e}(this)},eI.G=function(){return dx(this)},eI.I=function(){px(!!this.b),QT(this.c,this.b.b.b,0),this.b=null},Bp(zI,"TreeMultiset/2",620),ZN(205,17,bM);var eR=tm(zI,"TreeMultiset/Aggregate",205,RD,(function(){return $u(),Nx(Mo(eR,1),FI,205,0,[JD,QD])}));ZN(617,205,bM,du),eI._b=function(t){return t.c},eI.ac=function(t){return t?t.j:0},tm(zI,"TreeMultiset/Aggregate/1",617,eR,null),ZN(618,205,bM,wl),eI._b=function(t){return 1},eI.ac=function(t){return t?t.a:0},tm(zI,"TreeMultiset/Aggregate/2",618,eR,null),ZN(206,658,{83:1,206:1},Nw),eI.Yb=function(){return this.c},eI.Zb=function(){return this.b},eI.w=function(){return Or(),Ab(new ld(this.b,this.c))},eI.a=0,eI.c=0,eI.d=0,eI.j=0,Bp(zI,"TreeMultiset/AvlNode",206),ZN(616,1,{},d),Bp(zI,"TreeMultiset/Reference",616);var nR,rR=Bp(LI,"JavaScriptObject$",0);ZN(628,1,{}),Bp(LI,"Scheduler",628);var iR,oR,aR,sR,cR,uR,lR,hR,fR=0,dR=0,pR=-1;ZN(360,628,{},l),Bp(II,"SchedulerImpl",360),ZN(646,1,{}),eI.hc=function(){return null},eI.ic=function(){return null},eI.jc=function(){return null},eI.kc=function(){return null},eI.lc=function(){return null},Bp(mM,"JSONValue",646),ZN(214,646,{214:1},sr,en),eI.t=function(t){return!!dl(t,214)&&this.a==Uf(t,214).a},eI.gc=function(){return gr},eI.v=function(){return fh(this.a)},eI.hc=function(){return this},eI.w=function(){var t,e,n;for(n=new $o("["),e=0,t=this.a.length;e0&&(n.a+=","),ru(n,Sm(this,e));return n.a+="]",n.a},Bp(mM,"JSONArray",214),ZN(292,646,{},nn),eI.gc=function(){return vr},eI.ic=function(){return this},eI.w=function(){return yl(this.a)},eI.a=!1,Bp(mM,"JSONBoolean",292),ZN(371,72,dI,Hi),Bp(mM,"JSONException",371),ZN(435,646,{},b),eI.gc=function(){return xr},eI.w=function(){return pI},Bp(mM,"JSONNull",435),ZN(104,646,{104:1},rn),eI.t=function(t){return!!dl(t,104)&&this.a==Uf(t,104).a},eI.gc=function(){return br},eI.v=function(){return wv(oo(this.a))},eI.jc=function(){return this},eI.w=function(){return this.a+""},eI.a=0,Bp(mM,"JSONNumber",104),ZN(69,646,{69:1},Vi,on),eI.t=function(t){return!!dl(t,69)&&this.a==Uf(t,69).a},eI.gc=function(){return yr},eI.v=function(){return fh(this.a)},eI.kc=function(){return this},eI.w=function(){var t,e,n,r,i,o;for(o=new $o("{"),t=!0,n=0,r=(i=kw(this,Ty(AD,hI,2,0,5,1))).length;n>>28]|e[t>>24&15]<<4|e[t>>20&15]<<8|e[t>>16&15]<<12|e[t>>12&15]<<16|e[t>>8&15]<<20|e[t>>4&15]<<24|e[15&t]<<28);var t,e},eI.w=function(){return"("+this.a+","+this.b+")"},eI.a=0,eI.b=0;var gR=Bp(AM,"KVector",10);ZN(58,648,{3:1,5:1,22:1,19:1,58:1,20:1},lo),eI.ib=function(t){return Of(this,t)},eI.Q=function(){Mg(this)},eI.ub=function(t){return Sk(this,t)},eI.Y=function(){return this.b},eI.b=0,Bp(WI,"LinkedList",58),ZN(44,58,{44:1,286:1,3:1,5:1,22:1,19:1,58:1,20:1},Fr,Ah),eI.w=function(){var t,e,n;for(t=new $o("("),e=Sk(this,0);e.b!=e.d.c;)iu(t,(n=Uf(Sb(e),10)).a+","+n.b),e.b!=e.d.c&&(t.a+="; ");return t.a+=")",t.a},Bp(AM,"KVectorChain",44);var vR,bR,yR,mR,wR,xR,_R,ER,kR,TR=Ed(OM,"IProperty");ZN(131,1,{179:1,131:1,3:1},y),Bp(OM,"MapPropertyHolder",131),ZN(14,1,LM,Ld,Od,fd,If,kv,Qv),eI.F=function(t){return function(t,e){return Tg(t.b,e.mc())}(this,Uf(t,79))},eI.t=function(t){return mg(this,t)},eI.mc=function(){return this.b},eI.nc=function(){return this.c},eI.oc=function(){return this.d},eI.v=function(){return dk(this.b)},eI.w=function(){return this.b},Bp(OM,"Property",14),ZN(366,1,{23:1},m),eI.F=function(t){return-1},Bp(OM,"Property/1",366),ZN(367,1,{23:1},w),eI.F=function(t){return 1},Bp(OM,"Property/2",367),ZN(27,1,{27:1,22:1},es),eI.t=function(t){var e,n,r;return!!dl(t,27)&&(n=Uf(t,27),e=null==this.a?null==n.a:s_(this.a,n.a),r=null==this.b?null==n.b:s_(this.b,n.b),e&&r)},eI.v=function(){var t,e,n;return t=-65536&(e=null==this.a?0:K_(this.a)),e&xI^(-65536&(n=null==this.b?0:K_(this.b)))>>16&xI|t^(n&xI)<<16},eI.mb=function(){return new an(this)},eI.w=function(){return null==this.a&&null==this.b?"pair(null,null)":null==this.a?"pair(null,"+Uk(this.b)+")":null==this.b?"pair("+Uk(this.a)+",null)":"pair("+Uk(this.a)+","+Uk(this.b)+")"},Bp(IM,"Pair",27),ZN(431,1,qI,an),eI.G=function(){return!this.c&&(!this.b&&null!=this.a.a||null!=this.a.b)},eI.H=function(){if(!this.c&&!this.b&&null!=this.a.a)return this.b=!0,this.a.a;if(!this.c&&null!=this.a.b)return this.c=!0,this.a.b;throw new Ei},eI.I=function(){throw this.c&&null!=this.a.b?this.a.b=null:this.b&&null!=this.a.a&&(this.a.a=null),new $r},eI.b=!1,eI.c=!1,Bp(IM,"Pair/1",431),ZN(228,72,dI,Yi),Bp(MM,"UnsupportedConfigurationException",228),ZN(99,72,dI,zi),Bp(MM,"UnsupportedGraphException",99),ZN(103,17,{103:1,3:1,23:1,17:1},ns);var CR,NR,AR,SR,OR,LR,IR=tm(jM,"Alignment",103,RD,(function(){return fk(),Nx(Mo(IR,1),FI,103,0,[mR,_R,ER,kR,wR,xR])}));ZN(59,17,{59:1,3:1,23:1,17:1},us);var MR,PR,DR,RR,jR,GR=tm(jM,"Direction",59,RD,(function(){return E_(),Nx(Mo(GR,1),FI,59,0,[OR,SR,AR,NR,LR])}));ZN(107,17,{107:1,3:1,23:1,17:1},ls);var BR,FR,HR,YR,zR,UR=tm(jM,"EdgeLabelPlacement",107,RD,(function(){return Gw(),Nx(Mo(UR,1),FI,107,0,[jR,PR,DR,RR])}));ZN(122,17,{122:1,3:1,23:1,17:1},hs);var VR,qR,XR,WR,$R,ZR,KR,QR=tm(jM,"EdgeRouting",122,RD,(function(){return k_(),Nx(Mo(QR,1),FI,122,0,[zR,HR,FR,YR])}));ZN(133,17,{133:1,3:1,23:1,17:1},fs);var JR,tj,ej,nj,rj=tm(jM,"EdgeType",133,RD,(function(){return DT(),Nx(Mo(rj,1),FI,133,0,[ZR,WR,KR,qR,$R,XR])}));ZN(166,17,{166:1,3:1,23:1,17:1},ds);var ij,oj,aj,sj,cj,uj,lj,hj,fj,dj,pj,gj,vj,bj,yj,mj,wj,xj,_j,Ej,kj,Tj,Cj,Nj,Aj,Sj,Oj,Lj,Ij,Mj,Pj,Dj,Rj,jj,Gj,Bj,Fj,Hj,Yj,zj,Uj,Vj,qj,Xj,Wj,$j,Zj,Kj,Qj,Jj,tG,eG,nG,rG,iG,oG,aG,sG,cG,uG=tm(jM,"HierarchyHandling",166,RD,(function(){return T_(),Nx(Mo(uG,1),FI,166,0,[ej,tj,nj])}));ZN(41,17,{41:1,3:1,23:1,17:1},ps);var lG,hG,fG,dG,pG,gG,vG=tm(jM,"NodeLabelPlacement",41,RD,(function(){return yN(),Nx(Mo(vG,1),FI,41,0,[eG,tG,rG,cG,sG,aG,iG,oG,nG])}));ZN(100,17,{100:1,3:1,23:1,17:1},gs);var bG,yG,mG,wG,xG,_G,EG,kG=tm(jM,"PortAlignment",100,RD,(function(){return OE(),Nx(Mo(kG,1),FI,100,0,[gG,pG,hG,fG,dG])}));ZN(28,17,{28:1,3:1,23:1,17:1},vs);var TG,CG,NG,AG,SG=tm(jM,"PortConstraints",28,RD,(function(){return bT(),Nx(Mo(SG,1),FI,28,0,[EG,_G,xG,yG,wG,mG])}));ZN(149,17,{149:1,3:1,23:1,17:1},bs);var OG,LG,IG,MG,PG,DG,RG,jG,GG,BG,FG,HG,YG,zG,UG,VG,qG,XG,WG,$G,ZG,KG,QG=tm(jM,"PortLabelPlacement",149,RD,(function(){return Rm(),Nx(Mo(QG,1),FI,149,0,[AG,NG,CG])}));ZN(32,17,{32:1,3:1,23:1,17:1},ys);var JG,tB,eB,nB,rB,iB=tm(jM,"PortSide",32,RD,(function(){return mL(),Nx(Mo(iB,1),FI,32,0,[ZG,IG,LG,$G,KG])}));ZN(150,17,{150:1,3:1,23:1,17:1},ms);var oB,aB,sB,cB,uB,lB=tm(jM,"SizeConstraint",150,RD,(function(){return LE(),Nx(Mo(lB,1),FI,150,0,[nB,rB,eB,tB])}));ZN(139,17,{139:1,3:1,23:1,17:1},ws);var hB,fB,dB,pB,gB,vB,bB,yB,mB,wB,xB,_B,EB,kB,TB,CB,NB,AB,SB,OB,LB,IB,MB,PB=tm(jM,"SizeOptions",139,RD,(function(){return zT(),Nx(Mo(PB,1),FI,139,0,[cB,uB,sB,aB])}));ZN(62,1,{62:1},ac,_g),eI.t=function(t){var e;return!(null==t||!dl(t,62))&&(e=Uf(t,62),Ag(this.d,e.d)&&Ag(this.e,e.e)&&Ag(this.c,e.c)&&Ag(this.b,e.b))},eI.v=function(){return $x(Nx(Mo(TD,1),GI,1,4,[this.d,this.e,this.c,this.b]))},eI.w=function(){return"Rect[x="+this.d+",y="+this.e+",w="+this.c+",h="+this.b+"]"},eI.b=0,eI.c=0,eI.d=0,eI.e=0,Bp(YM,"Rectangle",62),ZN(283,62,{283:1,62:1},Hr),eI.a=0,Bp(zM,"LabelGroup",283),ZN(67,17,{67:1,3:1,23:1,17:1},kg);var DB,RB,jB,GB=tm(zM,"LabelLocation",67,RD,SE);ZN(225,17,{225:1,3:1,23:1,17:1},xs);var BB,FB,HB,YB,zB,UB=tm(zM,"TextAlignment",225,RD,(function(){return Hb(),Nx(Mo(UB,1),FI,225,0,[RB,DB,jB])}));ZN(589,1,{},bO),eI.a=0,eI.b=!1,eI.d=0,eI.f=0,eI.k=0,eI.r=0,eI.s=0,Bp(YM,"LabelAndNodeSizeProcessor/NodeData",589),ZN(171,17,{171:1,3:1,23:1,17:1},_s);var VB,qB,XB,WB,$B,ZB,KB,QB,JB,tF,eF,nF,rF,iF=tm(YM,"LabelSide",171,RD,(function(){return IE(),Nx(Mo(iF,1),FI,171,0,[zB,FB,HB])}));ZN(590,1,{},sn),eI.b=!0,eI.c=!0,eI.d=!0,eI.e=!0,Bp(YM,VM,590),ZN(121,1,XM),eI.t=function(t){var e;return!!dl(t,121)&&(e=Uf(t,121),this.d==e.d&&this.a==e.a&&this.b==e.b&&this.c==e.c)},eI.v=function(){var t;return t=wv(oo(this.b))<<16,(t|=wv(oo(this.a))&xI)^(wv(oo(this.c))<<16|wv(oo(this.d))&xI)},eI.w=function(){return"[top="+this.d+",left="+this.b+",bottom="+this.a+",right="+this.c+"]"},eI.a=0,eI.b=0,eI.c=0,eI.d=0,Bp(YM,"Spacing",121),ZN(232,121,XM,Yr,xh,qh),Bp(YM,"Spacing/Insets",232),ZN(65,121,{286:1,121:1,65:1,3:1,5:1},zr,_h,Xh),Bp(YM,"Spacing/Margins",65),ZN(364,1,{},Dk),eI.c=!1,eI.d=null,eI.g=null,Bp(aP,"JsonGraphImporter",364),ZN(417,14,LM,hc),Bp(aP,"LayoutOptionResolver/DummyProperty",417),ZN(348,1,{},Ee),Bp(aP,"RecursiveLGraphLayout",348),ZN(73,99,{73:1,3:1,54:1,46:1},Ui,$l,xp);var oF,aF,sF,cF,uF=Bp(aP,"UnsupportedJsonGraphException",73);ZN(380,1,{},dg),Bp(lP,"GraphConfigurator",380),ZN(49,1,{},iE),Bp(lP,"IntermediateProcessingConfiguration",49),ZN(365,1,{},jb),Bp(lP,"KlayLayered",365),ZN(577,1,{},Xw),eI.i=0,Bp(pP,"ComponentsToCGraphTransformer",577),ZN(578,1,{},A),eI.tc=function(t,e){return zo(t.wc(),e.wc())},eI.uc=function(t,e){return zo(t.xc(),e.xc())},Bp(pP,"ComponentsToCGraphTransformer/1",578),ZN(25,1,{25:1}),eI.k=0,eI.o=null,eI.p=!0,eI.r=dP;var lF,hF,fF,dF,pF,gF=Bp(gP,"CNode",25);ZN(198,25,{198:1,25:1},rl,ow),eI.vc=function(){this.b.d=this.j.d,this.b.e=this.j.e},eI.wc=function(){return null!=this.a?oo(this.a):this.c.i},eI.xc=function(){return null!=this.a?oo(this.a):this.c.i},eI.w=function(){return""},Bp(pP,"ComponentsToCGraphTransformer/CRectNode",198),ZN(549,1,{},S),Bp(pP,"OneDimensionalComponentsCompaction",549),ZN(550,1,hM,O),eI.B=function(t){return vx(),Vd(),0!=Uf(Uf(t,27).a,25).f.f?AX:NX},Bp(pP,"OneDimensionalComponentsCompaction/lambda$0$Type",550),ZN(551,1,hM,L),eI.B=function(t){return vx(),Vd(),lE(Uf(Uf(t,27).a,25).n,Uf(Uf(t,27).b,59))||0!=Uf(Uf(t,27).a,25).f.f&&lE(Uf(Uf(t,27).a,25).n,Uf(Uf(t,27).b,59))?AX:NX},Bp(pP,"OneDimensionalComponentsCompaction/lambda$1$Type",551),ZN(324,1,{},_p),Bp(gP,"CGraph",324),ZN(78,1,{78:1},ZE),eI.b=0,eI.c=0,eI.d=0,eI.f=0,eI.i=!0,eI.j=dP,Bp(gP,"CGroup",78),ZN(470,1,{},I),eI.tc=function(t,e){return Fo(t.wc(),e.wc())},eI.uc=function(t,e){return Fo(t.xc(),e.xc())},Bp(gP,"ISpacingsHandler/1",470),ZN(323,1,{},mN),eI.e=!1;var vF=Bp(gP,"OneDimensionalCompactor",323);ZN(554,1,hM,_),eI.B=function(t){return Wd(),Vd(),0!=Uf(Uf(t,27).a,25).f.f?AX:NX},Bp(gP,"OneDimensionalCompactor/lambda$0$Type",554),ZN(335,1,{},Ff),eI.a=!1,eI.b=!1,eI.c=!1,eI.d=!1,Bp(gP,"Quadruplet",335),ZN(587,1,{},E),eI.Cc=function(t){var e,n,r,i,o,a,s,c,u,l,h,f,d,p,g,v;for(l=fP,r=new Kn(t.a.b);r.an.j.d||n.j.d==i.j.d&&n.j.c0&&(Lf(t.c,new gf(e.c,e.d,t.d)),t.b=e.d)}(this,Uf(t,48))},eI.b=0,Bp(yP,"RectilinearConvexHull/MaximalElementsEventHandler",243),ZN(571,1,TI,M),eI.$b=function(t,e){return rg(t,e)},Bp(yP,"RectilinearConvexHull/MaximalElementsEventHandler/lambda$0$Type",571),ZN(570,1,{160:1},ey),eI.Ec=function(t){!function(t,e){var n;t.d&&(e.c!=t.e.c||function(t,e){return jw(),t==yF&&e==mF||t==yF&&e==wF||t==xF&&e==wF||t==xF&&e==mF}(t.e.b,e.b))&&(Lf(t.f,t.d),t.a=t.d.d+t.d.c,t.d=null,t.e=null),function(t){return t==yF||t==mF}(e.b)?t.c=e:t.b=e,(e.b==(jw(),yF)&&!e.a||e.b==mF&&e.a||e.b==wF&&e.a||e.b==xF&&!e.a)&&t.c&&t.b&&(n=new _g(t.a,t.c.d,e.c-t.a,t.b.d-t.c.d),t.d=n,t.e=e)}(this,Uf(t,48))},eI.a=0,eI.b=null,eI.c=null,eI.d=null,eI.e=null,Bp(yP,"RectilinearConvexHull/RectangleEventHandler",570),ZN(572,1,TI,P),eI.$b=function(t,e){return Fb(),Uf(t,48).c==Uf(e,48).c?Ox(Uf(e,48).d,Uf(t,48).d):Ox(Uf(t,48).c,Uf(e,48).c)},Bp(yP,"RectilinearConvexHull/lambda$0$Type",572),ZN(573,1,TI,D),eI.$b=function(t,e){return Fb(),Uf(t,48).c==Uf(e,48).c?Ox(Uf(t,48).d,Uf(e,48).d):Ox(Uf(t,48).c,Uf(e,48).c)},Bp(yP,"RectilinearConvexHull/lambda$1$Type",573),ZN(574,1,TI,R),eI.$b=function(t,e){return Fb(),Uf(t,48).c==Uf(e,48).c?Ox(Uf(e,48).d,Uf(t,48).d):Ox(Uf(e,48).c,Uf(t,48).c)},Bp(yP,"RectilinearConvexHull/lambda$2$Type",574),ZN(575,1,TI,j),eI.$b=function(t,e){return Fb(),Uf(t,48).c==Uf(e,48).c?Ox(Uf(t,48).d,Uf(e,48).d):Ox(Uf(e,48).c,Uf(t,48).c)},Bp(yP,"RectilinearConvexHull/lambda$3$Type",575),ZN(576,1,TI,G),eI.$b=function(t,e){return function(t,e){var n;if(Fb(),t.c==e.c){if(t.b==e.b||function(t,e){return jw(),t==yF&&e==xF||t==xF&&e==yF||t==wF&&e==mF||t==mF&&e==wF}(t.b,e.b)){if(n=function(t){return t==yF||t==xF}(t.b)?1:-1,t.a&&!e.a)return n;if(!t.a&&e.a)return-n}return Bu(t.b.e,e.b.e)}return Ox(t.c,e.c)}(t,e)},Bp(yP,"RectilinearConvexHull/lambda$4$Type",576),ZN(469,1,{},Tb),Bp(yP,"Scanline",469),ZN(662,1,{}),Bp(wP,"AbstractGraphPlacer",662),ZN(222,1,{222:1},Kh),Bp(wP,"ComponentGroup",222),ZN(434,662,{},Mr),eI.Fc=function(t,e){var n,r,i,o,a,s,c,u,l,h,f,d;if(this.a.c=Ty(TD,GI,1,0,4,1),e.b.c=Ty(TD,GI,1,0,4,1),t.V())return e.e.a=0,void(e.e.b=0);for(M_(e,i=Uf(t.sb(0),55)),r=t.mb();r.G();)z_(this,Uf(r.H(),55));for(f=new uo,d=2*Uf(kx(i,($L(),wq)),15).a,s=new Kn(this.a);s.ah&&(x=0,_+=l+m,l=0),iS(o,x+(p=o.d).a,_+p.b),p.a=0,p.b=0,n=Fo(n,x+b.a),l=Fo(l,b.b),x+=b.a+m;if(e.e.a=n,e.e.b=_+l,v=Uf(kx(e,wq),15).a,io(oo(Sh(kx(i,(ZL(),Hq)))))){for(GL(r=new B,t,v),u=t.mb();u.G();)Ih(Lc(Uf(u.H(),55).d),r.e);Ih(Lc(e.e),r.a)}gy(e,t)}else(y=Uf(t.sb(0),55))!=e&&(e.b.c=Ty(TD,GI,1,0,4,1),gS(e,y,0,0),M_(e,y),kd(e.a,y.a),e.e.a=y.e.a,e.e.b=y.e.b)},Bp(wP,"SimpleRowGraphPlacer",432),ZN(433,1,TI,H),eI.$b=function(t,e){return function(t,e){var n;return 0==(n=e.k-t.k)?Ox(t.e.a*t.e.b,e.e.a*e.e.b):n}(Uf(t,55),Uf(e,55))},Bp(wP,"SimpleRowGraphPlacer/1",433),ZN(369,1,kP,ke),eI.sc=function(t,e){UL(t,e)},Bp(TP,"CompoundGraphPostprocessor",369),ZN(370,1,mP,Y),eI.D=function(t){var e;return!!(e=Uf(kx(Uf(t,114).b,(JL(),kj)),44))&&0!=e.b},Bp(TP,"CompoundGraphPostprocessor/1",370),ZN(368,1,kP,Xc),eI.sc=function(t,e){ik(this,t,e)},Bp(TP,"CompoundGraphPreprocessor",368),ZN(187,1,{187:1},S_),eI.c=!1,Bp(TP,"CompoundGraphPreprocessor/ExternalPort",187),ZN(114,1,{114:1},vf),eI.w=function(){return ph(this.c)+":"+Pm(this.b)},Bp(TP,"CrossHierarchyEdge",114),ZN(310,1,TI,cn),eI.$b=function(t,e){return function(t,e,n){var r,i;return e.c==(nw(),Rq)&&n.c==Dq?-1:e.c==Dq&&n.c==Rq?1:(r=_E(e.a,t.a),i=_E(n.a,t.a),e.c==Rq?i-r:r-i)}(this,Uf(t,114),Uf(e,114))},Bp(TP,"CrossHierarchyEdgeComparator",310),ZN(147,131,{179:1,131:1,147:1,3:1}),eI.k=0,Bp(NP,"LGraphElement",147),ZN(12,147,{179:1,131:1,12:1,147:1,3:1},jg),eI.w=function(){return Pm(this)};var IF=Bp(NP,"LEdge",12);ZN(55,147,{179:1,131:1,55:1,147:1,3:1,22:1},Bm),eI.mb=function(){return new Kn(this.c)},eI.w=function(){return 0==this.c.c.length?"G-unlayered"+nC(this.b):0==this.b.c.length?"G-layered"+nC(this.c):"G[layerless"+nC(this.b)+", layers"+nC(this.c)+"]"};var MF=Bp(NP,"LGraph",55);ZN(273,1,{}),eI.pc=function(){return this.e.j},Bp(NP,"LGraphAdapters/AbstractLShapeAdapter",273),ZN(240,1,{627:1},un),eI.b=null,Bp(NP,"LGraphAdapters/LEdgeAdapter",240),ZN(325,1,{},Ts),eI.pc=function(){return this.a.e},eI.b=null,eI.c=!1,Bp(NP,"LGraphAdapters/LGraphAdapter",325),ZN(224,273,{129:1,224:1},ln),Bp(NP,"LGraphAdapters/LLabelAdapter",224),ZN(555,273,{626:1},Cs),eI.a=null,eI.b=null,eI.c=!1,Bp(NP,"LGraphAdapters/LNodeAdapter",555),ZN(556,273,{161:1},Ns),eI.a=null,eI.b=null,eI.c=null,eI.d=!1,Bp(NP,"LGraphAdapters/LPortAdapter",556),ZN(557,1,TI,z),eI.$b=function(t,e){return function(t,e){var n,r,i,o;if(0!=(o=t.g.e-e.g.e))return o;if(n=Uf(kx(t,(JL(),Yj)),24),r=Uf(kx(e,Yj),24),n&&r&&0!=(i=n.a-r.a))return i;switch(t.g.e){case 1:return Ox(t.i.a,e.i.a);case 2:return Ox(t.i.b,e.i.b);case 3:return Ox(e.i.a,t.i.a);case 4:return Ox(e.i.b,t.i.b);default:throw new ko(AP)}}(Uf(t,7),Uf(e,7))},Bp(NP,"LGraphAdapters/PortComparator",557),ZN(168,1,{168:1},je,Hg),eI.t=function(t){var e;return!!dl(t,168)&&(e=Uf(t,168),this.d==e.d&&this.a==e.a&&this.b==e.b&&this.c==e.c)},eI.v=function(){var t;return t=wv(oo(this.b))<<16,(t|=wv(oo(this.a))&xI)^(wv(oo(this.c))<<16|wv(oo(this.d))&xI)},eI.w=function(){return"Insets[top="+this.d+",left="+this.b+",bottom="+this.a+",right="+this.c+"]"},eI.a=0,eI.b=0,eI.c=0,eI.d=0,Bp(NP,"LInsets",168),ZN(165,147,{179:1,131:1,147:1,165:1,3:1}),Bp(NP,"LShape",165),ZN(33,165,{179:1,131:1,147:1,33:1,165:1,3:1},Eu),eI.w=function(){return null==this.a?"l_"+this.k:"l_"+this.a},Bp(NP,"LLabel",33),ZN(9,165,{179:1,131:1,147:1,9:1,165:1,3:1},Tk),eI.w=function(){return bv(this)};var PF,DF,RF,jF,GF,BF,FF=Bp(NP,"LNode",9);ZN(132,17,{132:1,3:1,23:1,17:1},Ss);var HF,YF,zF,UF,VF,qF,XF=tm(NP,"LNode/NodeType",132,RD,(function(){return RT(),Nx(Mo(XF,1),FI,132,0,[GF,jF,DF,BF,RF,PF])}));ZN(7,165,{179:1,131:1,147:1,7:1,165:1,3:1},TT),eI.w=function(){var t;return null==(t=ay(this))?"p_"+this.k:"p_"+t};var WF=Bp(NP,"LPort",7);ZN(399,1,mP,U),eI.D=function(t){return jh(t)},Bp(NP,"LPort/1",399),ZN(400,1,mP,V),eI.D=function(t){return Rh(t)},Bp(NP,"LPort/2",400),ZN(401,1,mP,q),eI.D=function(t){return Uf(t,7).g==(mL(),IG)},Bp(NP,"LPort/3",401),ZN(402,1,mP,X),eI.D=function(t){return Uf(t,7).g==(mL(),LG)},Bp(NP,"LPort/4",402),ZN(403,1,mP,W),eI.D=function(t){return Uf(t,7).g==(mL(),$G)},Bp(NP,"LPort/5",403),ZN(404,1,mP,$),eI.D=function(t){return Uf(t,7).g==(mL(),KG)},Bp(NP,"LPort/6",404),ZN(190,1,aM,hn),eI.mb=function(){return new fn(new Kn(this.a.b))},Bp(NP,"LPort/7",190),ZN(405,1,qI,fn),eI.H=function(){return Uf(Jv(this.a),12).c},eI.G=function(){return pl(this.a)},eI.I=function(){fp(this.a)},Bp(NP,"LPort/7/1",405),ZN(169,1,aM,dn),eI.mb=function(){return new pn(new Kn(this.a.e))},Bp(NP,"LPort/8",169),ZN(304,1,qI,pn),eI.H=function(){return Uf(Jv(this.a),12).d},eI.G=function(){return pl(this.a)},eI.I=function(){fp(this.a)},Bp(NP,"LPort/8/1",304),ZN(16,147,{179:1,131:1,147:1,16:1,3:1,22:1},Ep),eI.mb=function(){return new Kn(this.a)},eI.w=function(){return"L_"+Qy(this.b.c,this,0)+nC(this.a)},Bp(NP,"Layer",16),ZN(437,1,kP,Z),eI.sc=function(t,e){var n,r,i,o;for(HE(e,"Big nodes intermediate-processing",1),this.a=t,r=new Kn(this.a.c);r.ao?50:o,n=new Re,d=o+this.d,l=new Kn(h);l.ad){for(f=1,r=a.j.a;r>o;)++f,r=(a.j.a-(f-1)*this.d)/f;Lf(n,new Bb(this,a,f,r))}for(s=new Kn(n);s.aa?50:a,n=new Re,p=a+this.d,h=new Kn(f);h.ap){for(d=1,r=s.j.a;r>a;)++d,r=(s.j.a-(d-1)*this.d)/d;Lf(n,new nv(this,s,d))}for(c=new Kn(n);c.a0||l.g==KG&&l.b.c.length-l.e.c.length<0)){n=!1;break}if(l.g==KG)for(i=new Kn(l.e);i.a0&&(t.a=c+(f-1)*i,e.d.b+=t.a,e.e.b+=t.a),0!=d.a.Y()&&(f=fO(new wC(1,i),e,d,p,e.e.b+c-e.d.b))>0&&(e.e.b+=c+(f-1)*i)}(this,t,n),function(t){var e,n,r,i,o,a,s,c,u,l,h,f,d,p,g,v,b,y,m,w,x,_,E;for(y=new Re,l=new Kn(t.c);l.a0&&RS((_y(0,n.c.length),Uf(n.c[0],16)),t),n.c.length>1&&RS(Uf(gd(n,n.c.length-1),16),t),H_(e)},Bp(SP,"HierarchicalPortPositionProcessor",454),ZN(471,1,kP,ht),eI.sc=function(t,e){var n,r,i,o,a,s,c,u,l,h,f;for(HE(e,"Hyperedge merging",1),l=new Kv(t.c,0);l.b(d=f.c.length)+1?Lf(l,new es(c,(_y(h=(s+d)/2|0,a.c.length),Uf(a.c[h],9)))):d>s+1&&Lf(l,new es(c,(_y(h=((d-s)/2|0)-1,f.c.length),Uf(f.c[h],9))))}for(v=new Kn(l);v.a=2){for(c=!0,_y(1,s.c.length),p=Uf(s.c[1],16),h=new Kn(r.a);h.a=2){for(c=!0,g=Uf(gd(s,s.c.length-2),16),h=new Kn(i.a);h.an?c:n}t.e.b=c-u,t.d.b-=u,H_(e)},Bp(SP,"LayerSizeAndGraphHeightCalculator",496),ZN(497,1,kP,St),eI.sc=function(t,e){var n,r,i,o;for(HE(e,"Edge joining",1),n=io(oo(Sh(kx(t,(ZL(),Bq))))),r=new Kn(t.c);r.a0&&Lf(t.p,l),Lf(t.o,l);d=c+(e-=r),u+=e*t.e,Kb(t.a,s,W_(d)),Kb(t.b,s,u),t.j=Yo(t.j,d),t.k=Fo(t.k,u),t.d+=e,e+=g}}(this),this.q=Uf(kx(t,(ZL(),aX)),109),c=Uf(kx(this.g,sX),24).a,i=new Mt,this.q.e){case 2:case 1:default:LO(this,i);break;case 3:for(this.q=(nA(),aY),LO(this,i),a=0,o=new Kn(this.a);o.athis.j&&(this.q=tY,LO(this,i));break;case 4:for(this.q=(nA(),aY),LO(this,i),s=0,r=new Kn(this.b);r.athis.k&&(this.q=rY,LO(this,i));break;case 6:LO(this,new _n(wv(Mc(this.f.length*c/100))));break;case 5:LO(this,new En(wv(Mc(this.d*c/100))))}!function(t,e){var n,r,i,o,a,s;for(i=new Re,n=0;n<=t.i;n++)(r=new Ep(e)).k=t.i-n,i.c[i.c.length]=r;for(s=new Kn(t.o);s.a=2){for(p=!0,n=Uf(Jv(h=new Kn(o.f)),7);h.a(r-=t.a)?i:r}return i}(this,t),d=t.c.c.length,g=function(t,e){var n,r,i,o,a;for(r=0,n=new Kn(e.c);n.a(a=(i=Uf(Jv(o),9)).j.a+i.e.c+i.e.b+t.b)?r:a;return r}(this,t),N=d*g,(r=(i=Uf(kx(t,(JL(),pj)),59))==(E_(),AR)||i==SR||i==OR?Uf(kx(t,AV),15).a:1/Uf(kx(t,AV),15).a)>(n=N/p))H_(e);else{T=0,o=jP;do{f=o,o=(n=N/++T/(p*T))-r<=0?0-(n-r):n-r}while(n>r);for(fT?1:T)|0,w=E,O=!0;u=E&&(O=!0),++w,++u}for(l=new Kv(t.c,0);l.b "+this.a+" "+ph(this.c)},eI.a=0,eI.b=0,eI.d=0,Bp(SP,"SplineSelfLoopRouter/LoopPadding",91),ZN(521,1,mP,Jf),eI.D=function(t){return function(t,e){return!!function(t){switch(t.e){case 0:return iU;case 1:return eU;case 2:return tU;case 3:return sU;case 4:return aU;case 5:return fU;case 6:return hU;case 7:return oU;case 8:return nU;case 9:return rU;case 11:return uU;case 10:return cU;default:return lU}}(t.b).kb(e.c)&&(function(t){return t==Zz||t==Xz}(t.b)?!(Wf(e.d,t.c,t.a)&&Wf(e.a,t.c,t.a)):Wf(e.d,t.c,t.a)&&Wf(e.a,t.c,t.a))}(this,Uf(t,91))},eI.a=0,eI.c=0,Bp(SP,"SplineSelfLoopRouter/LoopPadding/EnclosingPredicate",521),ZN(520,1,TI,te),eI.$b=function(t,e){return function(t,e){return Ox(e.b,t.b)}(Uf(t,91),Uf(e,91))},Bp(SP,"SplineSelfLoopRouter/LoopPadding/MarginComparator",520),ZN(196,1,mP,kn),eI.D=function(t){return Uf(t,91).c==this.a},Bp(SP,"SplineSelfLoopRouter/LoopPadding/PortSidePredicate",196),ZN(195,1,{195:1},_b),eI.c=0,eI.d=0,eI.e=0,Bp(SP,"SplineSelfLoopRouter/SelfLoopEdge",195),ZN(519,1,TI,ee),eI.$b=function(t,e){return function(t,e){return t.d-e.d}(Uf(t,195),Uf(e,195))},Bp(SP,"SplineSelfLoopRouter/SelfLoopEdge/StepSizeComparator",519),ZN(82,25,{25:1,82:1},NN),eI.vc=function(){var t,e;for(t=Sk(this.a,0);t.b!=t.d.c;)Uf(Sb(t),10).a=this.j.d;for(e=Sk(this.c,0);e.b!=e.d.c;)Uf(Sb(e),10).a=this.j.d},eI.wc=function(){return this.b},eI.xc=function(){return this.e},eI.w=function(){return nC(new Un(this.d.a))},eI.b=0,eI.e=0,Bp(HP,"CLEdge",82),ZN(93,25,{25:1,93:1},rS),eI.vc=function(){this.b.i.a=this.j.d+this.b.e.b},eI.wc=function(){return this.b.g==(RT(),DF)?0:this.a},eI.xc=function(){return this.b.g==(RT(),DF)?0:this.c},eI.w=function(){return Uk(kx(this.b,($L(),oq)))},eI.a=0,eI.c=0,Bp(HP,"CLNode",93),ZN(175,17,{175:1,3:1,23:1,17:1},Ds);var dY,pY,gY,vY,bY,yY,mY,wY=tm(HP,"ConstraintCalculationStrategy",175,RD,(function(){return Nb(),Nx(Mo(wY,1),FI,175,0,[lY,hY])}));ZN(125,17,{125:1,3:1,23:1,17:1},Rs);var xY,_Y,EY,kY=tm(HP,"GraphCompactionStrategy",125,RD,(function(){return pC(),Nx(Mo(kY,1),FI,125,0,[yY,gY,mY,bY,vY,pY])}));ZN(455,1,kP,Uu),eI.sc=function(t,e){var n,r,i;if((r=Uf(kx(t,(ZL(),lX)),125))!=(pC(),yY)){switch(HE(e,"Horizontal Compaction",1),this.a=t,vo(n=new mN(function(t,e){var n,r,i;t.d=e,my(t.b),t.c=!1;t:for(n=new Kn(t.d.c);n.ao.j.e+o.j.b?d.d=!0:(d.d=!0,d.c=!0))),r.b!=r.d.c&&(e=n);d&&(a=Uf(Jp(y,c.d.f),25),e.ba.j.e+a.j.b?d.d=!0:(d.d=!0,d.c=!0))}for(u=Ip(q_(v));tE(u);)0!=(c=Uf(Nv(u),12)).a.b&&(e=Uf(Fl(c.a),10),c.d.g==(mL(),IG)&&((E=new LA(e,new ts(e.a,o.j.e),o,c)).c=!0,_.c[_.c.length]=E),c.d.g==$G&&((E=new LA(e,new ts(e.a,o.j.e+o.j.b),o,c)).d=!0,_.c[_.c.length]=E))}if(0!=_.c.length){for(zg(),xb(_,null),_y(0,_.c.length),i=new NN(Uf(_.c[0],142),t.d),f=1;f<_.c.length;f++)_y(f,_.c.length),x=Uf(_.c[f],142),!Xy(i.j.d,x.j)||DE(i.j.e+i.j.b,x.k)||DE(x.n,i.j.e)?(Lf(t.a.b,i),i=new NN(x,t.d)):_O(i,x);Lf(t.a.b,i)}_.c=Ty(TD,GI,1,0,4,1),function(t){var e,n,r,i;for(t.a.a.c=Ty(TD,GI,1,0,4,1),r=new Kn(t.a.b);r.a(r=Math.ceil(r))?0:r,e.o&&o.o&&dl(e,82)&&dl(o,82)&&!Im(Km(Uf(e,82).d,Uf(o,82).d))?(i=ol(new Gr,t.d),s=wv(Mc(o.g.a-e.g.a)),mA(ga(ba(ya(va(new jr,0>s?0:s),1),i),t.c[e.f.d])),mA(ga(ba(ya(va(new jr,0>-s?0:-s),1),i),t.c[o.f.d]))):(u=1,(dl(e,82)&&dl(o,93)||dl(o,82)&&dl(e,93))&&(u=2),mA(ga(ba(ya(va(new jr,wv(r)),u),t.c[e.f.d]),t.c[o.f.d]))))}(this),function(t){var e,n,r,i,o,a,s,c,u,l,h,f,d,p,g,v,b;for(_l(),l=new kr,c=new $s,r=new Kn(t.a.a.b);r.ae.j.d){if((d=t.c[e.f.d])==(v=t.c[h.f.d]))continue;mA(ga(ba(ya(va(new jr,1),100),d),v))}}}(this),function(t){var e,n,r,i,o,a;for(i=new lo,r=new Kn(t.d.a);r.a1)for(e=ol(wa(new Gr,t.b++),t.d),a=Sk(i,0);a.b!=a.d.c;)o=Uf(Sb(a),61),mA(ga(ba(ya(va(new jr,1),0),e),o))}(this),vS(Jh(this.d),new Uh),i=new Kn(this.a.a.b);i.a0&&(this.a[B.k]=Z++)}else{for(M=0,F=new Kn(C.f);F.a0&&++Z}for(et=0,S=0,I=e.length;S0;){for(Lu(z.b>0),Y=0,a=new Kn((B=Uf(z.a.sb(z.c=--z.b),7)).b);a.a0&&(B.g==(mL(),IG)?(this.a[B.k]=et,++et):(this.a[B.k]=et+P+R,++R))}et+=R}else{for(M=0,F=new Kn(C.f);F.a0&&++et}for(H=new kr,p=new Ji,N=0,O=t.length;Nl.c&&(l.c=U)):B.f.d==$&&(Ul.d&&(l.d=U));for(Hk(g,0,g.length,(ec(),ec(),HX)),tt=Ty(iW,vM,26,g.length,12,1),n=Ty(iW,vM,26,et+1,12,1),b=0;b0;)x%2>0&&(r+=it[x+1]),++it[x=(x-1)/2|0];for(k=Ty(CY,GI,158,2*g.length,0,1),w=0;we.f?1:t.ge.g?1:t.b-e.b}(this,Uf(t,204))},eI.b=0,eI.c=0,eI.d=0,eI.f=0,eI.g=0;var TY=Bp(YP,"BetweenLayerHyperedgeAllCrossingsCounter/Hyperedge",204);ZN(158,1,{158:1,23:1},Eg),eI.F=function(t){return function(t,e){return t.ce.c?1:t.be.b?1:t.a!=e.a?t.a.b-e.a.b:0==t.d&&1==e.d?-1:1==t.d&&0==e.d?1:0}(this,Uf(t,158))},eI.b=0,eI.c=0,eI.d=0;var CY=Bp(YP,"BetweenLayerHyperedgeAllCrossingsCounter/HyperedgeCorner",158);ZN(611,339,{},Xi),eI.Gc=function(t,e){var n,r,i,o,a,s,c,u,l,h,f,d,p,g,v,b,y,m,w,x,_,E;for(E=0,i=0,a=t[0].d,m=e[0].d,u=0,h=e.length;u0;){for(Lu(y.b>0),b=0,r=new Kn((g=Uf(y.a.sb(y.c=--y.b),7)).b);r.a0&&(g.g==(mL(),IG)?(this.a[g.k]=E,++E):(this.a[g.k]=E+d+p,++p),i+=b)}E+=p}else{for(f=0,v=new Kn(s.f);v.a0&&(++E,i+=f)}for(w=Ty(iW,vM,26,i,12,1),o=0,c=0,l=t.length;c0;)o%2>0&&(r+=s[o+1]),++s[o=(o-1)/2|0];return r}(E,i,w),n},Bp(YP,"BetweenLayerStraightEdgeAllCrossingsCounter",611),ZN(338,1,{},gC),eI.b=0,eI.e=!1,Bp(YP,"CrossingMatrixFiller",338),ZN(447,1,kP,ne),eI.sc=function(t,e){var n,r;HE(e,"Greedy switch crossing reduction",1),this.e=Uf(kx(t,(ZL(),Qq)),110),t.c.c.length<2||this.e==(TO(),lV)||(function(t,e){var n,r,i,o,a,s,c,u;for(t.f=e,i=e.c.c.length,t.a=Ty(FF,hI,51,i,0,2),t.d=Ty(FF,hI,51,i,0,2),t.g=Ty(FF,hI,51,i,0,2),a=new Kv(e.c,0);a.bPh(t.d,Gu(e.a,e.b))?-1:t.c==e.c&&Gu(t.a,t.b)==Gu(t.a,t.b)?0:1}(this,Uf(t,226))},eI.w=function(){return"ComparableEdgeAndPort [port="+this.b+", edge="+this.a+", portPosition="+this.c+"]"},eI.c=0,Bp(YP,"InLayerEdgeTwoNodeCrossingCounter/ComparableEdgeAndPort",226),ZN(612,1,{},tT),eI.e=!0,eI.f=0,eI.g=0,eI.k=!1,Bp(YP,"NorthSouthEdgeAllCrossingsCounter",612),ZN(615,1,{},qw),eI.b=0,eI.d=0,eI.e=!1,Bp(YP,"NorthSouthEdgeNeighbouringNodeCrossingsCounter",615),ZN(143,1,aM,zh),eI.mb=function(){return bA(this)},eI.b=0,Bp(YP,"PortIterable",143),ZN(344,1,qI,Lv),eI.H=function(){return Uf(dp(this.a),7)},eI.G=function(){return this.a.b>0},eI.I=function(){throw new Kr},Bp(YP,"PortIterable/1",344),ZN(336,1,{},BT),Bp(YP,"SwitchDecider",336),ZN(89,1,{89:1},re),eI.w=function(){return"NEdge[id="+this.b+" w="+this.f+" d="+this.a+"]"},eI.a=1,eI.b=0,eI.e=!1,eI.f=0;var NY=Bp(UP,"NEdge",89);ZN(157,1,{},jr),Bp(UP,"NEdge/NEdgeBuilder",157),ZN(278,1,{},Rr),Bp(UP,"NGraph",278),ZN(61,1,{61:1},Rb),eI.b=0,eI.d=-1,eI.e=0,eI.i=-1,eI.j=!1;var AY,SY,OY=Bp(UP,"NNode",61);ZN(333,13,xP,Ur),eI.rb=function(t,e){++this.d,xy(t,this.c.length),Ac(this.c,t,e)},eI.ib=function(t){return Tp(this,t)},eI.jb=function(t){return++this.d,ox(this,t)},eI.Q=function(){++this.d,this.c=Ty(TD,GI,1,0,4,1)},eI.vb=function(t){return++this.d,yy(this,t)},eI.nb=function(t){return Du(this,t)},Bp(UP,"NNode/ChangeAwareArrayList",333),ZN(199,1,{},Gr),Bp(UP,"NNode/NNodeBuilder",199),ZN(595,1,{},ie),eI.a=!1,eI.f=yI,eI.j=0,Bp(UP,"NetworkSimplex",595),ZN(193,17,{180:1,193:1,3:1,23:1,17:1},js),eI.rc=function(){switch(this.e){case 0:return new Mf;case 1:return new _e;default:throw new so("No implementation is available for the cycle breaker "+(null!=this.d?this.d:""+this.e))}};var LY,IY,MY,PY,DY,RY,jY=tm(qP,"CycleBreakingStrategy",193,RD,(function(){return Vg(),Nx(Mo(jY,1),FI,193,0,[AY,SY])}));ZN(539,1,XP,Mf),eI.qc=function(t){return IY},eI.sc=function(t,e){var n,r,i,o,a,s,c,u,l,h,f,d,p,g,v,b,y,m,w,x,_,E,k,T,C,N,A,S,O,L;for(HE(e,"Greedy cycle removal",1),L=(b=t.b).c.length,this.a=Ty(iW,vM,26,L,12,1),this.c=Ty(iW,vM,26,L,12,1),this.b=Ty(iW,vM,26,L,12,1),s=0,g=new Kn(b);g.a0?T+1:1);for(i=new Kn(w.e);i.a0?T+1:1)}0==this.c[s]?Of(this.d,d):0==this.a[s]&&Of(this.e,d),++s}for(f=-1,h=1,u=new Re,C=Uf(kx(t,($L(),bq)),154);L>0;){for(;0!=this.d.b;)A=Uf(wf(this.d),9),this.b[A.k]=f--,PS(this,A),--L;for(;0!=this.e.b;)S=Uf(wf(this.e),9),this.b[S.k]=h++,PS(this,S),--L;if(L>0){for(l=kI,v=new Kn(b);v.a=l&&(y>l&&(u.c=Ty(TD,GI,1,0,4,1),l=y),u.c[u.c.length]=d);c=Uf(gd(u,$k(C,u.c.length)),9),this.b[c.k]=h++,PS(this,c),--L}}for(N=b.c.length+1,s=0;sthis.b[O]&&(QS(n,!0),Ky(t,HV,(Vd(),Vd(),AX)));this.a=null,this.c=null,this.b=null,Mg(this.e),Mg(this.d),H_(e)},Bp(qP,"GreedyCycleBreaker",539),ZN(540,1,XP,_e),eI.qc=function(t){return MY},eI.sc=function(t,e){var n,r,i,o,a,s,c,u,l,h,f,d;for(HE(e,"Interactive cycle breaking",1),u=new Re,h=new Kn(t.b);h.a0&&LC(this,a,u);for(r=new Kn(u);r.a(a=s+u.j.a)?s+1:a,g=new Kv(n,0),r=null;g.b=a){Lu(g.b>0),g.a.sb(g.c=--g.b);break}d.a>s&&(r?(ox(r.b,d.b),r.a=Fo(r.a,d.a),ug(g)):(Lf(d.b,u),d.c=zo(d.c,s),d.a=Fo(d.a,a),r=d))}r||((r=new Br).c=s,r.a=a,ef(g,r),Lf(r.b,u))}for(o=t.c,c=0,p=new Kn(n);p.a0&&(n+=a.i.a+a.j.a/2,++u),l=new Kn(a.f);l.a1&&(t.c[l]=!0):y.g==KG&&y.e.c.length+y.b.c.length>1&&(t.d[l]=!0)}g.g==(RT(),BF)&&(++s[l],o[l]=!0)}for(n=!0,p=!0,a=0;a0;N++){c=(u=0!=LN(C,1))?0:g-1,s=this.b[c],k=0!=LN(C,1)?_:y,rE(s,i,u,!1,!0),o=yI,a=!0;do{if(Dw(this.b,this.k),T=o,o=0,o+=im(this.f,s,c),u){for(v=1;v=0;v--)l=this.b[v],by(k,s,(nw(),Dq)),rE(l,i,!1,!a,!1),o+=im(this.f,l,v),this.c[v]||this.d[v+1]?o+=QL(this.e,l,s):o+=zL(this.i,l,s),s=l;c=0}a=!1,u=!u}while(o0);(or?o:r;if(o>a){for(l=yE(t,n).mb();l.G();)f[(u=Uf(l.H(),7)).k]=e+zN(n,u.g)-a;return o-a}return 0}switch(n.e){case 1:for(i=0,s=0,h=new Kn(t.f);h.a"),te.e?1:t.fe.f?1:fh(t)-fh(e)}(this,Uf(t,197))},eI.b=0,eI.c=0,eI.e=0,eI.f=0;var tz=Bp(rD,"HyperedgeCrossingsCounter/Hyperedge",197);ZN(156,1,{156:1,23:1},Bg),eI.F=function(t){return function(t,e){return t.ce.c?1:t.be.b?1:t.a!=e.a?fh(t.a)-fh(e.a):t.d==(hb(),nz)&&e.d==ez?-1:t.d==ez&&e.d==nz?1:0}(this,Uf(t,156))},eI.b=0,eI.c=0;var ez,nz,rz=Bp(rD,"HyperedgeCrossingsCounter/HyperedgeCorner",156);ZN(242,17,{242:1,3:1,23:1,17:1},sc);var iz,oz,az,sz,cz=tm(rD,"HyperedgeCrossingsCounter/HyperedgeCorner/Type",242,RD,(function(){return hb(),Nx(Mo(cz,1),FI,242,0,[nz,ez])}));ZN(545,1,XP,Ae),eI.qc=function(t){return Uf(kx(t,($L(),WV)),18).kb((KA(),nV))?iz:null},eI.sc=function(t,e){var n;for(HE(e,"Interactive node placement",1),this.a=Uf(kx(t,($L(),xq)),134),n=new Kn(t.c);n.a(C=Uf(kx(n,($L(),gq)),24).a)?h:C;for(r=new Kn(k.e);r.a(C=Uf(kx(n,($L(),gq)),24).a)?E:C}Ky(m,az,W_(h)),Ky(m,sz,W_(E))}for(v=0,f=new Kn(e.c);f.a=0){for(c=null,s=new Kv(l.a,u+1);s.b0&&u[r]&&(p=rf(t.b,u[r],c)),g=Fo(g,i.d.c.b+p);for(o=new Kn(l.f);o.aw)?(c=2,a=yI):0==c?(c=1,a=_):(c=0,a=_):(f=_>=a||a-_0?(l=Uf(gd(h.d.a,o-1),9),E=Tf(t.b,h,l),g=h.i.b-h.e.d-(l.i.b+l.j.b+l.e.a+E)):g=h.i.b-h.e.d,c=g0?E:0,d.c=n,d.d=Uf(Jp(m,u.c.f),61),Tp(d.c.g,d),Tp(d.d.c,d),(C=new re).f=jk(u),C.a=E<0?-E:0,C.c=n,C.d=Uf(Jp(m,u.d.f),61),Tp(C.c.g,C),Tp(C.d.c,C));for(i=Uf(kx(t,(ZL(),gX)),24).a*wv(Math.sqrt(y)),vS(bo(yo(Jh(r),i),!1),Mw(e,1)),g=new Kn(r.a);g.aa&&(a=Uf(kx(n,gq),24).a);for(r=Ip(q_(s));tE(r);)n=Uf(Nv(r),12),s.d!=n.c.f.d&&Uf(kx(n,($L(),gq)),24).a==a&&Lf(u,new es(n.c.f,n));xb(u,t.c),Id(t.b,s.k,u)}}(h,t),h.f=Ol(h.d),function(t,e){var n,r,i,o,a,s,c,u;for(o=new Kn(e.c);o.aa&&(a=Uf(kx(n,gq),24).a);for(r=Ip(X_(s));tE(r);)n=Uf(Nv(r),12),s.d!=n.d.f.d&&Uf(kx(n,($L(),gq)),24).a==a&&Lf(u,new es(n.d.f,n));xb(u,t.c),Id(t.f,s.k,u)}}(h,t),h}(t),this.a=io(oo(Sh(kx(t,(ZL(),Vq))))),this.e=Zc(kx(t,Kq))===Zc((MT(),VU)),function(t,e){var n,r,i,o,a,s,c,u,l,h,f,d,p,g,v,b,y,m;if(!((g=e.c.c.length)<3)){for(d=Ty(iW,vM,26,g,12,1),h=0,l=new Kn(e.c);l.aa)&&Np(t.c,Uf(v.b,12));++s}o=a}}}(this,t),Cm(4,dM),f=new cm(4),Uf(kx(t,Kq),124).e){case 3:d=new yA(t,this.d.d,(ub(),xz),(dv(),yz)),f.c[f.c.length]=d;break;case 1:p=new yA(t,this.d.d,(ub(),_z),(dv(),yz)),f.c[f.c.length]=p;break;case 4:b=new yA(t,this.d.d,(ub(),xz),(dv(),mz)),f.c[f.c.length]=b;break;case 2:y=new yA(t,this.d.d,(ub(),_z),(dv(),mz)),f.c[f.c.length]=y;break;default:d=new yA(t,this.d.d,(ub(),xz),(dv(),yz)),p=new yA(t,this.d.d,_z,yz),b=new yA(t,this.d.d,xz,mz),y=new yA(t,this.d.d,_z,mz),f.c[f.c.length]=b,f.c[f.c.length]=y,f.c[f.c.length]=d,f.c[f.c.length]=p}for(n=new pc(t,this.d),o=new Kn(f);o.a_[c]&&(p=c),l=new Kn(t.b.c);l.axN(r))&&(u=r);for(!u&&(_y(0,f.c.length),u=Uf(f.c[0],81)),h=new Kn(t.c);h.a0?1:r<0?-1:0)}(this,Uf(t,27),Uf(e,27))},Bp(aD,"NeighborhoodInformation/NeighborComparator",598),ZN(334,1,{}),Bp(aD,"ThresholdStrategy",334),ZN(602,334,{},ki),eI.Ic=function(t,e,n){return this.a.k==(ub(),_z)?fP:dP},eI.Jc=function(){},Bp(aD,"ThresholdStrategy/NullThresholdStrategy",602),ZN(249,1,{249:1},gc),eI.c=!1,eI.d=!1,Bp(aD,"ThresholdStrategy/Postprocessable",249),ZN(603,334,{},Ti),eI.Ic=function(t,e,n){var r,i,o;return i=e==n,r=this.a.a[n.k]==e,i||r?(o=t,this.a.c,dv(),i&&(o=sO(this,e,!0)),(o==1/0||o==-1/0)&&r&&(o=sO(this,n,!1)),o):t},eI.Jc=function(){for(var t,e,n;0!=this.d.b;)(e=tS(this,n=Uf(Jg(this.d),249))).a&&(t=e.a,this.c.a[t.c.f.d.k]!==this.c.a[t.d.f.d.k]&&(GN(this,n)||uu(this.e,n)));for(;0!=this.e.a.c.length;)GN(this,Uf(Ux(this.e),249))},Bp(aD,"ThresholdStrategy/SimpleThresholdStrategy",603),ZN(423,1,{180:1},ue),eI.rc=function(){switch(this.a.e){case 1:return new Yc;case 3:return new Me;default:return new Ie}},Bp(sD,"EdgeRouterFactory",423),ZN(538,1,XP,Ie),eI.qc=function(t){var e,n;return n=Uf(kx(t,($L(),WV)),18),e=new iE,n.kb((KA(),rV))&&(Iw(e,Iz),Iw(e,Pz)),(n.kb(oV)||io(oo(Sh(kx(t,(ZL(),Zq))))))&&(Iw(e,Pz),n.kb(aV)&&Iw(e,Dz)),n.kb(nV)&&Iw(e,Lz),n.kb(cV)&&Iw(e,Rz),n.kb(iV)&&Iw(e,Mz),n.kb(JU)&&Iw(e,Sz),n.kb(eV)&&Iw(e,Oz),e},eI.sc=function(t,e){var n,r,i,o,a,s,c,u,l,h,f,d;HE(e,"Orthogonal edge routing",1),f=Uf(kx(t,($L(),xq)),134),io(oo(Sh(kx(t,(JL(),dj))))),l=new wC(0,f.a),d=0,o=new Kv(t.c,0),a=null,s=null;do{u=(c=o.b0?(n=f.b+(h-1)*f.a,c&&(n+=f.b),n"+this.b},eI.c=0,Bp(sD,"OrthogonalRoutingGenerator/Dependency",118),ZN(80,1,{80:1,23:1},Ww),eI.F=function(t){return function(t,e){return t.d-e.d}(this,Uf(t,80))},eI.t=function(t){var e;return!!dl(t,80)&&(e=Uf(t,80),this.d==e.d)},eI.v=function(){return this.d},eI.w=function(){var t,e,n,r;for(t=new $o("{"),r=new Kn(this.g);r.aEP&&(i=new ts(c,h),Of(n.a,i),$A(this.a,n,t,i,!1),o=new ts(l,h),Of(n.a,o),$A(this.a,n,t,o,!1))},eI.Lc=function(t){return t.f.i.a+t.i.a+t.a.a},eI.Mc=function(){return mL(),$G},eI.Nc=function(){return mL(),IG},Bp(sD,"OrthogonalRoutingGenerator/NorthToSouthRoutingStrategy",580),ZN(581,1,{},jn),eI.Kc=function(t,e){var n,r,i,o,a,s,c,u,l,h;for(h=e-t.i*this.a.c,s=new Kn(t.g);s.aEP&&(i=new ts(c,h),Of(n.a,i),$A(this.a,n,t,i,!1),o=new ts(l,h),Of(n.a,o),$A(this.a,n,t,o,!1))},eI.Lc=function(t){return t.f.i.a+t.i.a+t.a.a},eI.Mc=function(){return mL(),IG},eI.Nc=function(){return mL(),$G},Bp(sD,"OrthogonalRoutingGenerator/SouthToNorthRoutingStrategy",581),ZN(579,1,{},Gn),eI.Kc=function(t,e){var n,r,i,o,a,s,c,u,l,h;for(h=e+t.i*this.a.c,s=new Kn(t.g);s.aEP&&(i=new ts(h,c),Of(n.a,i),$A(this.a,n,t,i,!0),o=new ts(h,l),Of(n.a,o),$A(this.a,n,t,o,!0))},eI.Lc=function(t){return t.f.i.b+t.i.b+t.a.b},eI.Mc=function(){return mL(),LG},eI.Nc=function(){return mL(),KG},Bp(sD,"OrthogonalRoutingGenerator/WestToEastRoutingStrategy",579),ZN(535,1,XP,Yc),eI.qc=function(t){var e,n;return n=Uf(kx(t,($L(),WV)),18),e=new iE,(n.kb((KA(),oV))||io(oo(Sh(kx(t,(ZL(),Zq))))))&&(Iw(e,Bz),n.kb(aV)&&Iw(e,Fz)),n.kb(JU)&&Iw(e,jz),n.kb(eV)&&Iw(e,Gz),e},eI.sc=function(t,e){var n,r,i,o,a,s,c,u,l,h,f,d,p,g,v,b,y,m,w,x;for(HE(e,"Polyline edge routing",1),h=Uf(kx(t,($L(),wq)),15).a,n=Uf(kx(t,(ZL(),$q)),15).a,v=0,0!=t.c.c.length&&(v=.4*n*(b=FN(Uf(gd(t.c,0),16)))),o=new Kv(t.c,0);o.b0&&(v-=h),DO(i,v),c=0,l=new Kn(i.a);l.a(g-p<=0?0-(g-p):g-p)?s:g-p<=0?0-(g-p):g-p;switch(u.g.e){case 0:case 4:case 1:case 3:lO(this,u,v)}c=c>s?c:s}o.b(b=FN((Lu(o.b0),o.a.sb(o.c=--o.b)),a=.4*n*c,!r&&o.b0?((f=(b+1)*this.a)=0&&(O+=(b+2)*this.a)}g=w,c=u}while(w);for(r=new Kn(N);r.a("+this.c+") "+this.b},eI.c=0,Bp(cD,"SplineEdgeRouter/Dependency",117),ZN(223,17,{223:1,3:1,23:1,17:1},vc);var CU,NU,AU,SU,OU,LU,IU=tm(cD,"SplineEdgeRouter/SideToProcess",223,RD,(function(){return pv(),Nx(Mo(IU,1),FI,223,0,[EU,kU])}));ZN(77,1,{77:1,23:1},KC,MO),eI.F=function(t){return function(t,e){return t.i-e.i}(this,Uf(t,77))},eI.a=0,eI.b=0,eI.e=0,eI.f=!1,eI.i=0,eI.k=0,eI.n=0,eI.p=0,Bp(cD,"SplineEdgeRouter/SplineHyperEdge",77),ZN(123,17,{123:1,3:1,23:1,17:1},bc);var MU,PU,DU,RU,jU=tm(dD,"ContentAlignment",123,RD,(function(){return PT(),Nx(Mo(jU,1),FI,123,0,[LU,OU,SU,NU,CU,AU])}));ZN(218,17,{218:1,3:1,23:1,17:1},yc);var GU,BU,FU,HU,YU,zU=tm(dD,"EdgeConstraint",218,RD,(function(){return Dx(),Nx(Mo(zU,1),FI,218,0,[DU,PU,RU])}));ZN(115,17,{115:1,3:1,23:1,17:1},mc);var UU,VU,qU,XU,WU,$U,ZU,KU=tm(dD,"EdgeLabelSideSelection",115,RD,(function(){return mT(),Nx(Mo(KU,1),FI,115,0,[BU,GU,HU,FU,YU])}));ZN(124,17,{124:1,3:1,23:1,17:1},wc);var QU,JU,tV,eV,nV,rV,iV,oV,aV,sV,cV,uV=tm(dD,"FixedAlignment",124,RD,(function(){return MT(),Nx(Mo(uV,1),FI,124,0,[WU,XU,ZU,qU,$U,VU])}));ZN(113,17,{113:1,3:1,23:1,17:1},xc);var lV,hV,fV,dV,pV,gV,vV,bV,yV=tm(dD,"GraphProperties",113,RD,(function(){return KA(),Nx(Mo(yV,1),FI,113,0,[tV,nV,rV,iV,oV,aV,cV,JU,eV,sV])}));ZN(110,17,{110:1,3:1,23:1,17:1},kb),eI.a=!1,eI.b=!1,eI.c=!1;var mV,wV,xV,_V,EV=tm(dD,"GreedySwitchType",110,RD,(function(){return TO(),Nx(Mo(EV,1),FI,110,0,[hV,gV,fV,vV,dV,bV,pV,lV])}));ZN(140,17,{140:1,3:1,23:1,17:1},_c);var kV,TV,CV=tm(dD,"InLayerConstraint",140,RD,(function(){return jm(),Nx(Mo(CV,1),FI,140,0,[xV,_V,wV])}));ZN(174,17,{174:1,3:1,23:1,17:1},Ec);var NV,AV,SV,OV,LV,IV,MV,PV,DV,RV,jV,GV,BV,FV,HV,YV,zV,UV,VV,qV,XV,WV,$V,ZV,KV,QV,JV,tq,eq,nq,rq,iq,oq,aq,sq,cq,uq,lq,hq,fq,dq,pq,gq,vq,bq,yq,mq,wq,xq,_q,Eq,kq,Tq,Cq,Nq,Aq,Sq,Oq,Lq,Iq,Mq=tm(dD,"InteractiveReferencePoint",174,RD,(function(){return cb(),Nx(Mo(Mq,1),FI,174,0,[kV,TV])}));ZN(85,17,{85:1,3:1,23:1,17:1},kc);var Pq,Dq,Rq,jq,Gq=tm(dD,"LayerConstraint",85,RD,(function(){return qk(),Nx(Mo(Gq,1),FI,85,0,[Iq,Aq,Sq,Oq,Lq])}));ZN(219,17,{219:1,3:1,23:1,17:1},Tc);var Bq,Fq,Hq,Yq,zq,Uq,Vq,qq,Xq,Wq,$q,Zq,Kq,Qq,Jq,tX,eX,nX,rX,iX,oX,aX,sX,cX,uX,lX,hX,fX,dX,pX,gX,vX,bX,yX,mX,wX=tm(dD,"PortType",219,RD,(function(){return nw(),Nx(Mo(wX,1),FI,219,0,[jq,Dq,Rq])}));ZN(153,17,{153:1,3:1,23:1,17:1},Cc);var xX,_X,EX,kX,TX=tm(dD,"SelfLoopPlacement",153,RD,(function(){return ME(),Nx(Mo(TX,1),FI,153,0,[bX,mX,yX])}));ZN(134,1,{134:1},gL),eI.a=0,eI.b=0,eI.c=0,eI.d=0,eI.e=0,eI.f=0,Bp(dD,"Spacings",134),ZN(172,17,{172:1,3:1,23:1,17:1},Nc);var CX,NX,AX,SX=tm(dD,"WideNodesStrategy",172,RD,(function(){return Bw(),Nx(Mo(SX,1),FI,172,0,[_X,EX,kX])}));ZN(644,1,{}),Bp(MI,"OutputStream",644),ZN(645,644,{}),Bp(MI,"FilterOutputStream",645),ZN(291,645,{},he),Bp(MI,"PrintStream",291),ZN(255,1,{}),eI.w=function(){return this.a},Bp(OI,"AbstractStringBuilder",255),ZN(621,95,dI,Ci),Bp(OI,"ArrayIndexOutOfBoundsException",621),ZN(290,72,dI,Wr,Eo),Bp(OI,"ArrayStoreException",290),ZN(252,46,fI),Bp(OI,"Error",252),ZN(84,252,fI,Er,sm),Bp(OI,"AssertionError",84),aI={3:1,349:1,23:1};var OX=Bp(OI,"Boolean",349);sI={3:1,23:1,184:1,231:1};var LX=Bp(OI,"Double",184);ZN(15,231,{3:1,23:1,15:1,231:1},Fn,Hn),eI.F=function(t){return function(t,e){return Ox(t.a,e.a)}(this,Uf(t,15))},eI.t=function(t){return dl(t,15)&&Uf(t,15).a==this.a},eI.v=function(){return wv(this.a)},eI.w=function(){return t=this.a,si(),""+t;var t},eI.a=0;var IX,MX,PX=Bp(OI,"Float",15);ZN(101,72,dI,$r,ko),Bp(OI,"IllegalStateException",101),ZN(608,72,dI,To),Bp(OI,"NegativeArraySizeException",608),ZN(76,72,{3:1,54:1,76:1,46:1},Zr,Co),Bp(OI,"NullPointerException",76),ZN(130,29,{3:1,54:1,29:1,130:1,46:1},Ni,Zo),Bp(OI,"NumberFormatException",130),ZN(146,1,{3:1,146:1},Fg),eI.t=function(t){var e;return!!dl(t,146)&&(e=Uf(t,146),this.c==e.c&&Ag(this.d,e.d)&&Ag(this.a,e.a)&&Ag(this.b,e.b))},eI.v=function(){return $x(Nx(Mo(TD,1),GI,1,4,[W_(this.c),this.a,this.d,this.b]))},eI.w=function(){return this.a+"."+this.d+"("+(null!=this.b?this.b:"Unknown Source")+(this.c>=0?":"+this.c:"")+")"},eI.c=0;var DX,RX,jX,GX,BX,FX,HX,YX,zX=Bp(OI,"StackTraceElement",146);ZN(98,255,{345:1},ta,ea,$o),Bp(OI,"StringBuilder",98),ZN(45,72,{3:1,54:1,46:1,45:1},Kr,No),Bp(OI,"UnsupportedOperationException",45),ZN(213,638,XI),eI.Q=function(){my(this)},eI.R=function(t){return qy(this,t)},eI.ab=function(t){return Jx(this,t,this.e)||Jx(this,t,this.d)},eI.bb=function(){return new Yn(this)},eI.cb=function(t){return Jp(this,t)},eI.db=function(t,e){return wg(this,t,e)},eI.eb=function(t){return Kd(this,t)},eI.Y=function(){return Hs(this)},Bp(WI,"AbstractHashMap",213),ZN(120,641,ZI,Yn),eI.Q=function(){this.a.Q()},eI.kb=function(t){return fb(this,t)},eI.mb=function(){return new Xx(this.a)},eI.nb=function(t){var e;return!!fb(this,t)&&(e=Uf(t,21).yb(),this.a.eb(e),!0)},eI.Y=function(){return this.a.Y()},Bp(WI,"AbstractHashMap/EntrySet",120),ZN(148,1,qI,Xx),eI.H=function(){return Um(this)},eI.G=function(){return this.b},eI.I=function(){Hy(this)},eI.b=!1,Bp(WI,"AbstractHashMap/EntrySetIterator",148),ZN(162,1,qI,zn),eI.G=function(){return this.b0},eI.L=function(){return this.b},eI.M=function(){return dp(this)},eI.N=function(){return this.b-1},eI.O=function(t){nf(this,t)},Bp(WI,"AbstractList/ListIteratorImpl",43),ZN(258,647,KI,Wv),eI.rb=function(t,e){xy(t,this.b),this.c.rb(this.a+t,e),++this.b},eI.sb=function(t){return _y(t,this.b),this.c.sb(this.a+t)},eI.vb=function(t){var e;return _y(t,this.b),e=this.c.vb(this.a+t),--this.b,e},eI.wb=function(t,e){return _y(t,this.b),this.c.wb(this.a+t,e)},eI.Y=function(){return this.b},eI.a=0,eI.b=0,Bp(WI,"AbstractList/SubList",258),ZN(36,641,ZI,Un),eI.Q=function(){this.a.Q()},eI.kb=function(t){return this.a.R(t)},eI.mb=function(){return new Vn(this.a.bb().mb())},eI.nb=function(t){return!!this.a.R(t)&&(this.a.eb(t),!0)},eI.Y=function(){return this.a.Y()},Bp(WI,"AbstractMap/1",36),ZN(40,1,qI,Vn),eI.G=function(){return this.a.G()},eI.H=function(){return Uf(this.a.H(),21).yb()},eI.I=function(){this.a.I()},Bp(WI,"AbstractMap/1/1",40),ZN(211,640,$I,qn),eI.Q=function(){this.a.Q()},eI.kb=function(t){return this.a.ab(t)},eI.mb=function(){return new Xn(this.a.bb().mb())},eI.Y=function(){return this.a.Y()},Bp(WI,"AbstractMap/2",211),ZN(212,1,qI,Xn),eI.G=function(){return this.a.G()},eI.H=function(){return Uf(this.a.H(),21).zb()},eI.I=function(){this.a.I()},Bp(WI,"AbstractMap/2/1",212),ZN(210,1,{210:1,21:1}),eI.t=function(t){var e;return!!dl(t,21)&&(e=Uf(t,21),Ag(this.d,e.yb())&&Ag(this.e,e.zb()))},eI.yb=function(){return this.d},eI.zb=function(){return this.e},eI.v=function(){return Fu(this.d)^Fu(this.e)},eI.Ab=function(t){return bf(this,t)},eI.w=function(){return this.d+"="+this.e},Bp(WI,"AbstractMap/AbstractEntry",210),ZN(163,210,{210:1,163:1,21:1},Fc),Bp(WI,"AbstractMap/SimpleEntry",163),ZN(652,1,eM),eI.t=function(t){var e;return!!dl(t,21)&&(e=Uf(t,21),Ag(this.yb(),e.yb())&&Ag(this.zb(),e.zb()))},eI.v=function(){return Fu(this.yb())^Fu(this.zb())},eI.w=function(){return this.yb()+"="+this.zb()},Bp(WI,nM,652),ZN(639,638,XI),eI._=function(t){return Ey(this,t)},eI.R=function(t){return Rc(this,t)},eI.bb=function(){return new Wn(this)},eI.cb=function(t){return Kc(t_(this,t))},eI.W=function(){return new $n(this)},Bp(WI,"AbstractNavigableMap",639),ZN(287,641,ZI,Wn),eI.kb=function(t){return dl(t,21)&&Ey(this.b,Uf(t,21))},eI.mb=function(){return new ff(this.b)},eI.nb=function(t){var e;return!!dl(t,21)&&(e=Uf(t,21),jy(this.b,e))},eI.Y=function(){return this.b.c},Bp(WI,"AbstractNavigableMap/EntrySet",287),ZN(229,641,tM,$n),eI.Q=function(){fo(this.a)},eI.kb=function(t){return Rc(this.a,t)},eI.mb=function(){return new Zn(new ff(new th(this.a).b))},eI.nb=function(t){return!!Rc(this.a,t)&&(vg(this.a,t),!0)},eI.Y=function(){return this.a.c},Bp(WI,"AbstractNavigableMap/NavigableKeySet",229),ZN(230,1,qI,Zn),eI.G=function(){return Fs(this.a.a)},eI.H=function(){return gh(this.a).yb()},eI.I=function(){rd(this.a)},Bp(WI,"AbstractNavigableMap/NavigableKeySet/1",230),ZN(4,1,qI,Kn),eI.G=function(){return pl(this)},eI.H=function(){return Jv(this)},eI.I=function(){fp(this)},eI.a=0,eI.b=-1,Bp(WI,"ArrayList/1",4),ZN(94,647,gD,Qn),eI.kb=function(t){return-1!=function(t,e){var n,r;for(n=0,r=t.Y();n2e3&&(dR=t,pR=r.setTimeout(da,10)),0==fR++&&(function(t){var e,n;if(t.a){n=null;do{e=t.a,t.a=null,n=SC(e,n)}while(t.a);t.a=n}}((hi(),iR)),!0)}();try{return function(t,e,n){return t.apply(e,n)}(t,e,n)}finally{!function(t){t&&function(t){var e,n;if(t.b){n=null;do{e=t.b,t.b=null,n=SC(e,n)}while(t.b);t.b=n}}((hi(),iR)),--fR,t&&-1!=pR&&(function(t){r.clearTimeout(t)}(pR),pR=-1)}(i)}}(t,this,arguments)}},lW=lW=function(t,e,n,r){ho();var i=rI;function o(){for(var t=0;te&&(this.rect.x-=(this.labelWidth-e)/2,this.setWidth(this.labelWidth)),this.labelHeight>n&&("center"==this.labelPos?this.rect.y-=(this.labelHeight-n)/2:"top"==this.labelPos&&(this.rect.y-=this.labelHeight-n),this.setHeight(this.labelHeight))}}},u.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==i.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},u.prototype.transform=function(t){var e=this.rect.x;e>a.WORLD_BOUNDARY?e=a.WORLD_BOUNDARY:e<-a.WORLD_BOUNDARY&&(e=-a.WORLD_BOUNDARY);var n=this.rect.y;n>a.WORLD_BOUNDARY?n=a.WORLD_BOUNDARY:n<-a.WORLD_BOUNDARY&&(n=-a.WORLD_BOUNDARY);var r=new c(e,n),i=t.inverseTransformPoint(r);this.setLocation(i.x,i.y)},u.prototype.getLeft=function(){return this.rect.x},u.prototype.getRight=function(){return this.rect.x+this.rect.width},u.prototype.getTop=function(){return this.rect.y},u.prototype.getBottom=function(){return this.rect.y+this.rect.height},u.prototype.getParent=function(){return null==this.owner?null:this.owner.getParent()},t.exports=u},function(t,e,n){"use strict";function r(t,e){null==t&&null==e?(this.x=0,this.y=0):(this.x=t,this.y=e)}r.prototype.getX=function(){return this.x},r.prototype.getY=function(){return this.y},r.prototype.setX=function(t){this.x=t},r.prototype.setY=function(t){this.y=t},r.prototype.getDifference=function(t){return new DimensionD(this.x-t.x,this.y-t.y)},r.prototype.getCopy=function(){return new r(this.x,this.y)},r.prototype.translate=function(t){return this.x+=t.width,this.y+=t.height,this},t.exports=r},function(t,e,n){"use strict";var r=n(2),i=n(10),o=n(0),a=n(6),s=n(3),c=n(1),u=n(13),l=n(12),h=n(11);function f(t,e,n){r.call(this,n),this.estimatedSize=i.MIN_VALUE,this.margin=o.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=t,null!=e&&e instanceof a?this.graphManager=e:null!=e&&e instanceof Layout&&(this.graphManager=e.graphManager)}for(var d in f.prototype=Object.create(r.prototype),r)f[d]=r[d];f.prototype.getNodes=function(){return this.nodes},f.prototype.getEdges=function(){return this.edges},f.prototype.getGraphManager=function(){return this.graphManager},f.prototype.getParent=function(){return this.parent},f.prototype.getLeft=function(){return this.left},f.prototype.getRight=function(){return this.right},f.prototype.getTop=function(){return this.top},f.prototype.getBottom=function(){return this.bottom},f.prototype.isConnected=function(){return this.isConnected},f.prototype.add=function(t,e,n){if(null==e&&null==n){var r=t;if(null==this.graphManager)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(r)>-1)throw"Node already in graph!";return r.owner=this,this.getNodes().push(r),r}var i=t;if(!(this.getNodes().indexOf(e)>-1&&this.getNodes().indexOf(n)>-1))throw"Source or target not in graph!";if(e.owner!=n.owner||e.owner!=this)throw"Both owners must be this graph!";return e.owner!=n.owner?null:(i.source=e,i.target=n,i.isInterGraph=!1,this.getEdges().push(i),e.edges.push(i),n!=e&&n.edges.push(i),i)},f.prototype.remove=function(t){var e=t;if(t instanceof s){if(null==e)throw"Node is null!";if(null==e.owner||e.owner!=this)throw"Owner graph is invalid!";if(null==this.graphManager)throw"Owner graph manager is invalid!";for(var n=e.edges.slice(),r=n.length,i=0;i-1&&l>-1))throw"Source and/or target doesn't know this edge!";if(o.source.edges.splice(u,1),o.target!=o.source&&o.target.edges.splice(l,1),-1==(a=o.source.owner.getEdges().indexOf(o)))throw"Not in owner's edge list!";o.source.owner.getEdges().splice(a,1)}},f.prototype.updateLeftTop=function(){for(var t,e,n,r=i.MAX_VALUE,o=i.MAX_VALUE,a=this.getNodes(),s=a.length,c=0;c(t=u.getTop())&&(r=t),o>(e=u.getLeft())&&(o=e)}return r==i.MAX_VALUE?null:(n=null!=a[0].getParent().paddingLeft?a[0].getParent().paddingLeft:this.margin,this.left=o-n,this.top=r-n,new l(this.left,this.top))},f.prototype.updateBounds=function(t){for(var e,n,r,o,a,s=i.MAX_VALUE,c=-i.MAX_VALUE,l=i.MAX_VALUE,h=-i.MAX_VALUE,f=this.nodes,d=f.length,p=0;p(e=g.getLeft())&&(s=e),c<(n=g.getRight())&&(c=n),l>(r=g.getTop())&&(l=r),h<(o=g.getBottom())&&(h=o)}var v=new u(s,l,c-s,h-l);s==i.MAX_VALUE&&(this.left=this.parent.getLeft(),this.right=this.parent.getRight(),this.top=this.parent.getTop(),this.bottom=this.parent.getBottom()),a=null!=f[0].getParent().paddingLeft?f[0].getParent().paddingLeft:this.margin,this.left=v.x-a,this.right=v.x+v.width+a,this.top=v.y-a,this.bottom=v.y+v.height+a},f.calculateBounds=function(t){for(var e,n,r,o,a=i.MAX_VALUE,s=-i.MAX_VALUE,c=i.MAX_VALUE,l=-i.MAX_VALUE,h=t.length,f=0;f(e=d.getLeft())&&(a=e),s<(n=d.getRight())&&(s=n),c>(r=d.getTop())&&(c=r),l<(o=d.getBottom())&&(l=o)}return new u(a,c,s-a,l-c)},f.prototype.getInclusionTreeDepth=function(){return this==this.graphManager.getRoot()?1:this.parent.getInclusionTreeDepth()},f.prototype.getEstimatedSize=function(){if(this.estimatedSize==i.MIN_VALUE)throw"assert failed";return this.estimatedSize},f.prototype.calcEstimatedSize=function(){for(var t=0,e=this.nodes,n=e.length,r=0;r=this.nodes.length){var c=0;i.forEach((function(e){e.owner==t&&c++})),c==this.nodes.length&&(this.isConnected=!0)}}else this.isConnected=!0},t.exports=f},function(t,e,n){"use strict";var r,i=n(1);function o(t){r=n(5),this.layout=t,this.graphs=[],this.edges=[]}o.prototype.addRoot=function(){var t=this.layout.newGraph(),e=this.layout.newNode(null),n=this.add(t,e);return this.setRootGraph(n),this.rootGraph},o.prototype.add=function(t,e,n,r,i){if(null==n&&null==r&&null==i){if(null==t)throw"Graph is null!";if(null==e)throw"Parent node is null!";if(this.graphs.indexOf(t)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(t),null!=t.parent)throw"Already has a parent!";if(null!=e.child)throw"Already has a child!";return t.parent=e,e.child=t,t}i=n,n=t;var o=(r=e).getOwner(),a=i.getOwner();if(null==o||o.getGraphManager()!=this)throw"Source not in this graph mgr!";if(null==a||a.getGraphManager()!=this)throw"Target not in this graph mgr!";if(o==a)return n.isInterGraph=!1,o.add(n,r,i);if(n.isInterGraph=!0,n.source=r,n.target=i,this.edges.indexOf(n)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(n),null==n.source||null==n.target)throw"Edge source and/or target is null!";if(-1!=n.source.edges.indexOf(n)||-1!=n.target.edges.indexOf(n))throw"Edge already in source and/or target incidency list!";return n.source.edges.push(n),n.target.edges.push(n),n},o.prototype.remove=function(t){if(t instanceof r){var e=t;if(e.getGraphManager()!=this)throw"Graph not in this graph mgr";if(e!=this.rootGraph&&(null==e.parent||e.parent.graphManager!=this))throw"Invalid parent node!";for(var n,o=[],a=(o=o.concat(e.getEdges())).length,s=0;s=e.getRight()?n[0]+=Math.min(e.getX()-t.getX(),t.getRight()-e.getRight()):e.getX()<=t.getX()&&e.getRight()>=t.getRight()&&(n[0]+=Math.min(t.getX()-e.getX(),e.getRight()-t.getRight())),t.getY()<=e.getY()&&t.getBottom()>=e.getBottom()?n[1]+=Math.min(e.getY()-t.getY(),t.getBottom()-e.getBottom()):e.getY()<=t.getY()&&e.getBottom()>=t.getBottom()&&(n[1]+=Math.min(t.getY()-e.getY(),e.getBottom()-t.getBottom()));var o=Math.abs((e.getCenterY()-t.getCenterY())/(e.getCenterX()-t.getCenterX()));e.getCenterY()===t.getCenterY()&&e.getCenterX()===t.getCenterX()&&(o=1);var a=o*n[0],s=n[1]/o;n[0]a)return n[0]=r,n[1]=c,n[2]=o,n[3]=m,!1;if(io)return n[0]=s,n[1]=i,n[2]=b,n[3]=a,!1;if(ro?(n[0]=l,n[1]=h,E=!0):(n[0]=u,n[1]=c,E=!0):T===N&&(r>o?(n[0]=s,n[1]=c,E=!0):(n[0]=f,n[1]=h,E=!0)),-C===N?o>r?(n[2]=y,n[3]=m,k=!0):(n[2]=b,n[3]=v,k=!0):C===N&&(o>r?(n[2]=g,n[3]=v,k=!0):(n[2]=w,n[3]=m,k=!0)),E&&k)return!1;if(r>o?i>a?(A=this.getCardinalDirection(T,N,4),S=this.getCardinalDirection(C,N,2)):(A=this.getCardinalDirection(-T,N,3),S=this.getCardinalDirection(-C,N,1)):i>a?(A=this.getCardinalDirection(-T,N,1),S=this.getCardinalDirection(-C,N,3)):(A=this.getCardinalDirection(T,N,2),S=this.getCardinalDirection(C,N,4)),!E)switch(A){case 1:L=c,O=r+-p/N,n[0]=O,n[1]=L;break;case 2:O=f,L=i+d*N,n[0]=O,n[1]=L;break;case 3:L=h,O=r+p/N,n[0]=O,n[1]=L;break;case 4:O=l,L=i+-d*N,n[0]=O,n[1]=L}if(!k)switch(S){case 1:M=v,I=o+-_/N,n[2]=I,n[3]=M;break;case 2:I=w,M=a+x*N,n[2]=I,n[3]=M;break;case 3:M=m,I=o+_/N,n[2]=I,n[3]=M;break;case 4:I=y,M=a+-x*N,n[2]=I,n[3]=M}}return!1},i.getCardinalDirection=function(t,e,n){return t>e?n:1+n%4},i.getIntersection=function(t,e,n,i){if(null==i)return this.getIntersection2(t,e,n);var o,a,s,c,u,l,h,f=t.x,d=t.y,p=e.x,g=e.y,v=n.x,b=n.y,y=i.x,m=i.y;return 0==(h=(o=g-d)*(c=v-y)-(a=m-b)*(s=f-p))?null:new r((s*(l=y*b-v*m)-c*(u=p*d-f*g))/h,(a*u-o*l)/h)},i.angleOfVector=function(t,e,n,r){var i=void 0;return t!==n?(i=Math.atan((r-e)/(n-t)),n0?1:t<0?-1:0},r.floor=function(t){return t<0?Math.ceil(t):Math.floor(t)},r.ceil=function(t){return t<0?Math.floor(t):Math.ceil(t)},t.exports=r},function(t,e,n){"use strict";function r(){}r.MAX_VALUE=2147483647,r.MIN_VALUE=-2147483648,t.exports=r},function(t,e,n){"use strict";var r=function(){function t(t,e){for(var n=0;n0&&e;){for(s.push(u[0]);s.length>0&&e;){var l=s[0];s.splice(0,1),a.add(l);var h=l.getEdges();for(o=0;o-1&&u.splice(g,1)}a=new Set,c=new Map}else t=[]}return t},f.prototype.createDummyNodesForBendpoints=function(t){for(var e=[],n=t.source,r=this.graphManager.calcLowestCommonAncestor(t.source,t.target),i=0;i0){for(var i=this.edgeToDummyNodes.get(n),o=0;o=0&&e.splice(h,1),l.getNeighborsList().forEach((function(t){if(n.indexOf(t)<0){var e=r.get(t)-1;1==e&&c.push(t),r.set(t,e)}}))}n=n.concat(c),1!=e.length&&2!=e.length||(i=!0,o=e[0])}return o},f.prototype.setGraphManager=function(t){this.graphManager=t},t.exports=f},function(t,e,n){"use strict";function r(){}r.seed=1,r.x=0,r.nextDouble=function(){return r.x=1e4*Math.sin(r.seed++),r.x-Math.floor(r.x)},t.exports=r},function(t,e,n){"use strict";var r=n(4);function i(t,e){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}i.prototype.getWorldOrgX=function(){return this.lworldOrgX},i.prototype.setWorldOrgX=function(t){this.lworldOrgX=t},i.prototype.getWorldOrgY=function(){return this.lworldOrgY},i.prototype.setWorldOrgY=function(t){this.lworldOrgY=t},i.prototype.getWorldExtX=function(){return this.lworldExtX},i.prototype.setWorldExtX=function(t){this.lworldExtX=t},i.prototype.getWorldExtY=function(){return this.lworldExtY},i.prototype.setWorldExtY=function(t){this.lworldExtY=t},i.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},i.prototype.setDeviceOrgX=function(t){this.ldeviceOrgX=t},i.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},i.prototype.setDeviceOrgY=function(t){this.ldeviceOrgY=t},i.prototype.getDeviceExtX=function(){return this.ldeviceExtX},i.prototype.setDeviceExtX=function(t){this.ldeviceExtX=t},i.prototype.getDeviceExtY=function(){return this.ldeviceExtY},i.prototype.setDeviceExtY=function(t){this.ldeviceExtY=t},i.prototype.transformX=function(t){var e=0,n=this.lworldExtX;return 0!=n&&(e=this.ldeviceOrgX+(t-this.lworldOrgX)*this.ldeviceExtX/n),e},i.prototype.transformY=function(t){var e=0,n=this.lworldExtY;return 0!=n&&(e=this.ldeviceOrgY+(t-this.lworldOrgY)*this.ldeviceExtY/n),e},i.prototype.inverseTransformX=function(t){var e=0,n=this.ldeviceExtX;return 0!=n&&(e=this.lworldOrgX+(t-this.ldeviceOrgX)*this.lworldExtX/n),e},i.prototype.inverseTransformY=function(t){var e=0,n=this.ldeviceExtY;return 0!=n&&(e=this.lworldOrgY+(t-this.ldeviceOrgY)*this.lworldExtY/n),e},i.prototype.inverseTransformPoint=function(t){return new r(this.inverseTransformX(t.x),this.inverseTransformY(t.y))},t.exports=i},function(t,e,n){"use strict";var r=n(15),i=n(7),o=n(0),a=n(8),s=n(9);function c(){r.call(this),this.useSmartIdealEdgeLengthCalculation=i.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION,this.idealEdgeLength=i.DEFAULT_EDGE_LENGTH,this.springConstant=i.DEFAULT_SPRING_STRENGTH,this.repulsionConstant=i.DEFAULT_REPULSION_STRENGTH,this.gravityConstant=i.DEFAULT_GRAVITY_STRENGTH,this.compoundGravityConstant=i.DEFAULT_COMPOUND_GRAVITY_STRENGTH,this.gravityRangeFactor=i.DEFAULT_GRAVITY_RANGE_FACTOR,this.compoundGravityRangeFactor=i.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR,this.displacementThresholdPerNode=3*i.DEFAULT_EDGE_LENGTH/100,this.coolingFactor=i.DEFAULT_COOLING_FACTOR_INCREMENTAL,this.initialCoolingFactor=i.DEFAULT_COOLING_FACTOR_INCREMENTAL,this.totalDisplacement=0,this.oldTotalDisplacement=0,this.maxIterations=i.MAX_ITERATIONS}for(var u in c.prototype=Object.create(r.prototype),r)c[u]=r[u];c.prototype.initParameters=function(){r.prototype.initParameters.call(this,arguments),this.totalIterations=0,this.notAnimatedIterations=0,this.useFRGridVariant=i.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION,this.grid=[]},c.prototype.calcIdealEdgeLengths=function(){for(var t,e,n,r,a,s,c=this.getGraphManager().getAllEdges(),u=0;ui.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*i.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(t-i.ADAPTATION_LOWER_NODE_LIMIT)/(i.ADAPTATION_UPPER_NODE_LIMIT-i.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-i.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=i.MAX_NODE_DISPLACEMENT_INCREMENTAL):(t>i.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(i.COOLING_ADAPTATION_FACTOR,1-(t-i.ADAPTATION_LOWER_NODE_LIMIT)/(i.ADAPTATION_UPPER_NODE_LIMIT-i.ADAPTATION_LOWER_NODE_LIMIT)*(1-i.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=i.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(5*this.getAllNodes().length,this.maxIterations),this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},c.prototype.calcSpringForces=function(){for(var t,e=this.getAllEdges(),n=0;n0&&void 0!==arguments[0])||arguments[0],s=arguments.length>1&&void 0!==arguments[1]&&arguments[1],c=this.getAllNodes();if(this.useFRGridVariant)for(this.totalIterations%i.GRID_CALCULATION_CHECK_PERIOD==1&&a&&this.updateGrid(),o=new Set,t=0;t(c=e.getEstimatedSize()*this.gravityRangeFactor)||s>c)&&(t.gravitationForceX=-this.gravityConstant*i,t.gravitationForceY=-this.gravityConstant*o):(a>(c=e.getEstimatedSize()*this.compoundGravityRangeFactor)||s>c)&&(t.gravitationForceX=-this.gravityConstant*i*this.compoundGravityConstant,t.gravitationForceY=-this.gravityConstant*o*this.compoundGravityConstant)},c.prototype.isConverged=function(){var t,e=!1;return this.totalIterations>this.maxIterations/3&&(e=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2),t=this.totalDisplacement=s.length||u>=s[0].length))for(var l=0;lt}}]),t}();t.exports=o},function(t,e,n){"use strict";var r=function(){function t(t,e){for(var n=0;n2&&void 0!==arguments[2]?arguments[2]:1,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:-1,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:-1;!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.sequence1=e,this.sequence2=n,this.match_score=r,this.mismatch_penalty=i,this.gap_penalty=o,this.iMax=e.length+1,this.jMax=n.length+1,this.grid=new Array(this.iMax);for(var a=0;a=0;n--){var r=this.listeners[n];r.event===t&&r.callback===e&&this.listeners.splice(n,1)}},i.emit=function(t,e){for(var n=0;n{var r=n(852)(n(5639),"DataView");t.exports=r},1989:(t,e,n)=>{var r=n(1789),i=n(401),o=n(7667),a=n(1327),s=n(1866);function c(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e{var r=n(7040),i=n(4125),o=n(2117),a=n(7518),s=n(4705);function c(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e{var r=n(852)(n(5639),"Map");t.exports=r},3369:(t,e,n)=>{var r=n(4785),i=n(1285),o=n(6e3),a=n(9916),s=n(5265);function c(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e{var r=n(852)(n(5639),"Promise");t.exports=r},8525:(t,e,n)=>{var r=n(852)(n(5639),"Set");t.exports=r},8668:(t,e,n)=>{var r=n(3369),i=n(619),o=n(2385);function a(t){var e=-1,n=null==t?0:t.length;for(this.__data__=new r;++e{var r=n(8407),i=n(7465),o=n(3779),a=n(7599),s=n(4758),c=n(4309);function u(t){var e=this.__data__=new r(t);this.size=e.size}u.prototype.clear=i,u.prototype.delete=o,u.prototype.get=a,u.prototype.has=s,u.prototype.set=c,t.exports=u},2705:(t,e,n)=>{var r=n(5639).Symbol;t.exports=r},1149:(t,e,n)=>{var r=n(5639).Uint8Array;t.exports=r},577:(t,e,n)=>{var r=n(852)(n(5639),"WeakMap");t.exports=r},6874:t=>{t.exports=function(t,e,n){switch(n.length){case 0:return t.call(e);case 1:return t.call(e,n[0]);case 2:return t.call(e,n[0],n[1]);case 3:return t.call(e,n[0],n[1],n[2])}return t.apply(e,n)}},7412:t=>{t.exports=function(t,e){for(var n=-1,r=null==t?0:t.length;++n{t.exports=function(t,e){for(var n=-1,r=null==t?0:t.length,i=0,o=[];++n{var r=n(2118);t.exports=function(t,e){return!(null==t||!t.length)&&r(t,e,0)>-1}},1196:t=>{t.exports=function(t,e,n){for(var r=-1,i=null==t?0:t.length;++r{var r=n(2545),i=n(5694),o=n(1469),a=n(4144),s=n(5776),c=n(6719),u=Object.prototype.hasOwnProperty;t.exports=function(t,e){var n=o(t),l=!n&&i(t),h=!n&&!l&&a(t),f=!n&&!l&&!h&&c(t),d=n||l||h||f,p=d?r(t.length,String):[],g=p.length;for(var v in t)!e&&!u.call(t,v)||d&&("length"==v||h&&("offset"==v||"parent"==v)||f&&("buffer"==v||"byteLength"==v||"byteOffset"==v)||s(v,g))||p.push(v);return p}},9932:t=>{t.exports=function(t,e){for(var n=-1,r=null==t?0:t.length,i=Array(r);++n{t.exports=function(t,e){for(var n=-1,r=e.length,i=t.length;++n{t.exports=function(t,e,n,r){var i=-1,o=null==t?0:t.length;for(r&&o&&(n=t[++i]);++i{t.exports=function(t,e){for(var n=-1,r=null==t?0:t.length;++n{var r=n(371)("length");t.exports=r},6556:(t,e,n)=>{var r=n(9465),i=n(7813);t.exports=function(t,e,n){(void 0!==n&&!i(t[e],n)||void 0===n&&!(e in t))&&r(t,e,n)}},4865:(t,e,n)=>{var r=n(9465),i=n(7813),o=Object.prototype.hasOwnProperty;t.exports=function(t,e,n){var a=t[e];o.call(t,e)&&i(a,n)&&(void 0!==n||e in t)||r(t,e,n)}},8470:(t,e,n)=>{var r=n(7813);t.exports=function(t,e){for(var n=t.length;n--;)if(r(t[n][0],e))return n;return-1}},4037:(t,e,n)=>{var r=n(8363),i=n(3674);t.exports=function(t,e){return t&&r(e,i(e),t)}},3886:(t,e,n)=>{var r=n(8363),i=n(1704);t.exports=function(t,e){return t&&r(e,i(e),t)}},9465:(t,e,n)=>{var r=n(8777);t.exports=function(t,e,n){"__proto__"==e&&r?r(t,e,{configurable:!0,enumerable:!0,value:n,writable:!0}):t[e]=n}},5990:(t,e,n)=>{var r=n(6384),i=n(7412),o=n(4865),a=n(4037),s=n(3886),c=n(4626),u=n(278),l=n(8805),h=n(1911),f=n(8234),d=n(6904),p=n(4160),g=n(3824),v=n(9148),b=n(8517),y=n(1469),m=n(4144),w=n(6688),x=n(3218),_=n(2928),E=n(3674),k=n(1704),T="[object Arguments]",C="[object Function]",N="[object Object]",A={};A[T]=A["[object Array]"]=A["[object ArrayBuffer]"]=A["[object DataView]"]=A["[object Boolean]"]=A["[object Date]"]=A["[object Float32Array]"]=A["[object Float64Array]"]=A["[object Int8Array]"]=A["[object Int16Array]"]=A["[object Int32Array]"]=A["[object Map]"]=A["[object Number]"]=A[N]=A["[object RegExp]"]=A["[object Set]"]=A["[object String]"]=A["[object Symbol]"]=A["[object Uint8Array]"]=A["[object Uint8ClampedArray]"]=A["[object Uint16Array]"]=A["[object Uint32Array]"]=!0,A["[object Error]"]=A[C]=A["[object WeakMap]"]=!1,t.exports=function t(e,n,S,O,L,I){var M,P=1&n,D=2&n,R=4&n;if(S&&(M=L?S(e,O,L,I):S(e)),void 0!==M)return M;if(!x(e))return e;var j=y(e);if(j){if(M=g(e),!P)return u(e,M)}else{var G=p(e),B=G==C||"[object GeneratorFunction]"==G;if(m(e))return c(e,P);if(G==N||G==T||B&&!L){if(M=D||B?{}:b(e),!P)return D?h(e,s(M,e)):l(e,a(M,e))}else{if(!A[G])return L?e:{};M=v(e,G,P)}}I||(I=new r);var F=I.get(e);if(F)return F;I.set(e,M),_(e)?e.forEach((function(r){M.add(t(r,n,S,r,e,I))})):w(e)&&e.forEach((function(r,i){M.set(i,t(r,n,S,i,e,I))}));var H=j?void 0:(R?D?d:f:D?k:E)(e);return i(H||e,(function(r,i){H&&(r=e[i=r]),o(M,i,t(r,n,S,i,e,I))})),M}},3118:(t,e,n)=>{var r=n(3218),i=Object.create,o=function(){function t(){}return function(e){if(!r(e))return{};if(i)return i(e);t.prototype=e;var n=new t;return t.prototype=void 0,n}}();t.exports=o},9881:(t,e,n)=>{var r=n(7816),i=n(9291)(r);t.exports=i},6029:(t,e,n)=>{var r=n(3448);t.exports=function(t,e,n){for(var i=-1,o=t.length;++i{var r=n(9881);t.exports=function(t,e){var n=[];return r(t,(function(t,r,i){e(t,r,i)&&n.push(t)})),n}},1848:t=>{t.exports=function(t,e,n,r){for(var i=t.length,o=n+(r?1:-1);r?o--:++o{var r=n(2488),i=n(7285);t.exports=function t(e,n,o,a,s){var c=-1,u=e.length;for(o||(o=i),s||(s=[]);++c0&&o(l)?n>1?t(l,n-1,o,a,s):r(s,l):a||(s[s.length]=l)}return s}},8483:(t,e,n)=>{var r=n(5063)();t.exports=r},7816:(t,e,n)=>{var r=n(8483),i=n(3674);t.exports=function(t,e){return t&&r(t,e,i)}},7786:(t,e,n)=>{var r=n(1811),i=n(327);t.exports=function(t,e){for(var n=0,o=(e=r(e,t)).length;null!=t&&n{var r=n(2488),i=n(1469);t.exports=function(t,e,n){var o=e(t);return i(t)?o:r(o,n(t))}},4239:(t,e,n)=>{var r=n(2705),i=n(9607),o=n(2333),a=r?r.toStringTag:void 0;t.exports=function(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":a&&a in Object(t)?i(t):o(t)}},3325:t=>{t.exports=function(t,e){return t>e}},8565:t=>{var e=Object.prototype.hasOwnProperty;t.exports=function(t,n){return null!=t&&e.call(t,n)}},13:t=>{t.exports=function(t,e){return null!=t&&e in Object(t)}},2118:(t,e,n)=>{var r=n(1848),i=n(2722),o=n(2351);t.exports=function(t,e,n){return e==e?o(t,e,n):r(t,i,n)}},9454:(t,e,n)=>{var r=n(4239),i=n(7005);t.exports=function(t){return i(t)&&"[object Arguments]"==r(t)}},939:(t,e,n)=>{var r=n(2492),i=n(7005);t.exports=function t(e,n,o,a,s){return e===n||(null==e||null==n||!i(e)&&!i(n)?e!=e&&n!=n:r(e,n,o,a,t,s))}},2492:(t,e,n)=>{var r=n(6384),i=n(7114),o=n(8351),a=n(6096),s=n(4160),c=n(1469),u=n(4144),l=n(6719),h="[object Arguments]",f="[object Array]",d="[object Object]",p=Object.prototype.hasOwnProperty;t.exports=function(t,e,n,g,v,b){var y=c(t),m=c(e),w=y?f:s(t),x=m?f:s(e),_=(w=w==h?d:w)==d,E=(x=x==h?d:x)==d,k=w==x;if(k&&u(t)){if(!u(e))return!1;y=!0,_=!1}if(k&&!_)return b||(b=new r),y||l(t)?i(t,e,n,g,v,b):o(t,e,w,n,g,v,b);if(!(1&n)){var T=_&&p.call(t,"__wrapped__"),C=E&&p.call(e,"__wrapped__");if(T||C){var N=T?t.value():t,A=C?e.value():e;return b||(b=new r),v(N,A,n,g,b)}}return!!k&&(b||(b=new r),a(t,e,n,g,v,b))}},5588:(t,e,n)=>{var r=n(4160),i=n(7005);t.exports=function(t){return i(t)&&"[object Map]"==r(t)}},2958:(t,e,n)=>{var r=n(6384),i=n(939);t.exports=function(t,e,n,o){var a=n.length,s=a,c=!o;if(null==t)return!s;for(t=Object(t);a--;){var u=n[a];if(c&&u[2]?u[1]!==t[u[0]]:!(u[0]in t))return!1}for(;++a{t.exports=function(t){return t!=t}},8458:(t,e,n)=>{var r=n(3560),i=n(5346),o=n(3218),a=n(346),s=/^\[object .+?Constructor\]$/,c=Function.prototype,u=Object.prototype,l=c.toString,h=u.hasOwnProperty,f=RegExp("^"+l.call(h).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");t.exports=function(t){return!(!o(t)||i(t))&&(r(t)?f:s).test(a(t))}},9221:(t,e,n)=>{var r=n(4160),i=n(7005);t.exports=function(t){return i(t)&&"[object Set]"==r(t)}},8749:(t,e,n)=>{var r=n(4239),i=n(1780),o=n(7005),a={};a["[object Float32Array]"]=a["[object Float64Array]"]=a["[object Int8Array]"]=a["[object Int16Array]"]=a["[object Int32Array]"]=a["[object Uint8Array]"]=a["[object Uint8ClampedArray]"]=a["[object Uint16Array]"]=a["[object Uint32Array]"]=!0,a["[object Arguments]"]=a["[object Array]"]=a["[object ArrayBuffer]"]=a["[object Boolean]"]=a["[object DataView]"]=a["[object Date]"]=a["[object Error]"]=a["[object Function]"]=a["[object Map]"]=a["[object Number]"]=a["[object Object]"]=a["[object RegExp]"]=a["[object Set]"]=a["[object String]"]=a["[object WeakMap]"]=!1,t.exports=function(t){return o(t)&&i(t.length)&&!!a[r(t)]}},7206:(t,e,n)=>{var r=n(1573),i=n(6432),o=n(6557),a=n(1469),s=n(9601);t.exports=function(t){return"function"==typeof t?t:null==t?o:"object"==typeof t?a(t)?i(t[0],t[1]):r(t):s(t)}},280:(t,e,n)=>{var r=n(5726),i=n(6916),o=Object.prototype.hasOwnProperty;t.exports=function(t){if(!r(t))return i(t);var e=[];for(var n in Object(t))o.call(t,n)&&"constructor"!=n&&e.push(n);return e}},313:(t,e,n)=>{var r=n(3218),i=n(5726),o=n(3498),a=Object.prototype.hasOwnProperty;t.exports=function(t){if(!r(t))return o(t);var e=i(t),n=[];for(var s in t)("constructor"!=s||!e&&a.call(t,s))&&n.push(s);return n}},433:t=>{t.exports=function(t,e){return t{var r=n(9881),i=n(8612);t.exports=function(t,e){var n=-1,o=i(t)?Array(t.length):[];return r(t,(function(t,r,i){o[++n]=e(t,r,i)})),o}},1573:(t,e,n)=>{var r=n(2958),i=n(1499),o=n(2634);t.exports=function(t){var e=i(t);return 1==e.length&&e[0][2]?o(e[0][0],e[0][1]):function(n){return n===t||r(n,t,e)}}},6432:(t,e,n)=>{var r=n(939),i=n(7361),o=n(9095),a=n(5403),s=n(9162),c=n(2634),u=n(327);t.exports=function(t,e){return a(t)&&s(e)?c(u(t),e):function(n){var a=i(n,t);return void 0===a&&a===e?o(n,t):r(e,a,3)}}},2980:(t,e,n)=>{var r=n(6384),i=n(6556),o=n(8483),a=n(9783),s=n(3218),c=n(1704),u=n(6390);t.exports=function t(e,n,l,h,f){e!==n&&o(n,(function(o,c){if(f||(f=new r),s(o))a(e,n,c,l,t,h,f);else{var d=h?h(u(e,c),o,c+"",e,n,f):void 0;void 0===d&&(d=o),i(e,c,d)}}),c)}},9783:(t,e,n)=>{var r=n(6556),i=n(4626),o=n(7133),a=n(278),s=n(8517),c=n(5694),u=n(1469),l=n(9246),h=n(4144),f=n(3560),d=n(3218),p=n(8630),g=n(6719),v=n(6390),b=n(3678);t.exports=function(t,e,n,y,m,w,x){var _=v(t,n),E=v(e,n),k=x.get(E);if(k)r(t,n,k);else{var T=w?w(_,E,n+"",t,e,x):void 0,C=void 0===T;if(C){var N=u(E),A=!N&&h(E),S=!N&&!A&&g(E);T=E,N||A||S?u(_)?T=_:l(_)?T=a(_):A?(C=!1,T=i(E,!0)):S?(C=!1,T=o(E,!0)):T=[]:p(E)||c(E)?(T=_,c(_)?T=b(_):d(_)&&!f(_)||(T=s(E))):C=!1}C&&(x.set(E,T),m(T,E,y,w,x),x.delete(E)),r(t,n,T)}}},9556:(t,e,n)=>{var r=n(9932),i=n(7786),o=n(7206),a=n(9199),s=n(1131),c=n(1717),u=n(5022),l=n(6557),h=n(1469);t.exports=function(t,e,n){e=e.length?r(e,(function(t){return h(t)?function(e){return i(e,1===t.length?t[0]:t)}:t})):[l];var f=-1;e=r(e,c(o));var d=a(t,(function(t,n,i){return{criteria:r(e,(function(e){return e(t)})),index:++f,value:t}}));return s(d,(function(t,e){return u(t,e,n)}))}},5970:(t,e,n)=>{var r=n(3012),i=n(9095);t.exports=function(t,e){return r(t,e,(function(e,n){return i(t,n)}))}},3012:(t,e,n)=>{var r=n(7786),i=n(611),o=n(1811);t.exports=function(t,e,n){for(var a=-1,s=e.length,c={};++a{t.exports=function(t){return function(e){return null==e?void 0:e[t]}}},9152:(t,e,n)=>{var r=n(7786);t.exports=function(t){return function(e){return r(e,t)}}},98:t=>{var e=Math.ceil,n=Math.max;t.exports=function(t,r,i,o){for(var a=-1,s=n(e((r-t)/(i||1)),0),c=Array(s);s--;)c[o?s:++a]=t,t+=i;return c}},107:t=>{t.exports=function(t,e,n,r,i){return i(t,(function(t,i,o){n=r?(r=!1,t):e(n,t,i,o)})),n}},5976:(t,e,n)=>{var r=n(6557),i=n(5357),o=n(61);t.exports=function(t,e){return o(i(t,e,r),t+"")}},611:(t,e,n)=>{var r=n(4865),i=n(1811),o=n(5776),a=n(3218),s=n(327);t.exports=function(t,e,n,c){if(!a(t))return t;for(var u=-1,l=(e=i(e,t)).length,h=l-1,f=t;null!=f&&++u{var r=n(5703),i=n(8777),o=n(6557),a=i?function(t,e){return i(t,"toString",{configurable:!0,enumerable:!1,value:r(e),writable:!0})}:o;t.exports=a},1131:t=>{t.exports=function(t,e){var n=t.length;for(t.sort(e);n--;)t[n]=t[n].value;return t}},2545:t=>{t.exports=function(t,e){for(var n=-1,r=Array(t);++n{var r=n(2705),i=n(9932),o=n(1469),a=n(3448),s=r?r.prototype:void 0,c=s?s.toString:void 0;t.exports=function t(e){if("string"==typeof e)return e;if(o(e))return i(e,t)+"";if(a(e))return c?c.call(e):"";var n=e+"";return"0"==n&&1/e==-1/0?"-0":n}},7561:(t,e,n)=>{var r=n(7990),i=/^\s+/;t.exports=function(t){return t?t.slice(0,r(t)+1).replace(i,""):t}},1717:t=>{t.exports=function(t){return function(e){return t(e)}}},5652:(t,e,n)=>{var r=n(8668),i=n(7443),o=n(1196),a=n(4757),s=n(3593),c=n(1814);t.exports=function(t,e,n){var u=-1,l=i,h=t.length,f=!0,d=[],p=d;if(n)f=!1,l=o;else if(h>=200){var g=e?null:s(t);if(g)return c(g);f=!1,l=a,p=new r}else p=e?[]:d;t:for(;++u{var r=n(9932);t.exports=function(t,e){return r(e,(function(e){return t[e]}))}},1757:t=>{t.exports=function(t,e,n){for(var r=-1,i=t.length,o=e.length,a={};++r{t.exports=function(t,e){return t.has(e)}},4290:(t,e,n)=>{var r=n(6557);t.exports=function(t){return"function"==typeof t?t:r}},1811:(t,e,n)=>{var r=n(1469),i=n(5403),o=n(5514),a=n(9833);t.exports=function(t,e){return r(t)?t:i(t,e)?[t]:o(a(t))}},4318:(t,e,n)=>{var r=n(1149);t.exports=function(t){var e=new t.constructor(t.byteLength);return new r(e).set(new r(t)),e}},4626:(t,e,n)=>{t=n.nmd(t);var r=n(5639),i=e&&!e.nodeType&&e,o=i&&t&&!t.nodeType&&t,a=o&&o.exports===i?r.Buffer:void 0,s=a?a.allocUnsafe:void 0;t.exports=function(t,e){if(e)return t.slice();var n=t.length,r=s?s(n):new t.constructor(n);return t.copy(r),r}},7157:(t,e,n)=>{var r=n(4318);t.exports=function(t,e){var n=e?r(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.byteLength)}},3147:t=>{var e=/\w*$/;t.exports=function(t){var n=new t.constructor(t.source,e.exec(t));return n.lastIndex=t.lastIndex,n}},419:(t,e,n)=>{var r=n(2705),i=r?r.prototype:void 0,o=i?i.valueOf:void 0;t.exports=function(t){return o?Object(o.call(t)):{}}},7133:(t,e,n)=>{var r=n(4318);t.exports=function(t,e){var n=e?r(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.length)}},6393:(t,e,n)=>{var r=n(3448);t.exports=function(t,e){if(t!==e){var n=void 0!==t,i=null===t,o=t==t,a=r(t),s=void 0!==e,c=null===e,u=e==e,l=r(e);if(!c&&!l&&!a&&t>e||a&&s&&u&&!c&&!l||i&&s&&u||!n&&u||!o)return 1;if(!i&&!a&&!l&&t{var r=n(6393);t.exports=function(t,e,n){for(var i=-1,o=t.criteria,a=e.criteria,s=o.length,c=n.length;++i=c?u:u*("desc"==n[i]?-1:1)}return t.index-e.index}},278:t=>{t.exports=function(t,e){var n=-1,r=t.length;for(e||(e=Array(r));++n{var r=n(4865),i=n(9465);t.exports=function(t,e,n,o){var a=!n;n||(n={});for(var s=-1,c=e.length;++s{var r=n(8363),i=n(9551);t.exports=function(t,e){return r(t,i(t),e)}},1911:(t,e,n)=>{var r=n(8363),i=n(1442);t.exports=function(t,e){return r(t,i(t),e)}},4429:(t,e,n)=>{var r=n(5639)["__core-js_shared__"];t.exports=r},1463:(t,e,n)=>{var r=n(5976),i=n(6612);t.exports=function(t){return r((function(e,n){var r=-1,o=n.length,a=o>1?n[o-1]:void 0,s=o>2?n[2]:void 0;for(a=t.length>3&&"function"==typeof a?(o--,a):void 0,s&&i(n[0],n[1],s)&&(a=o<3?void 0:a,o=1),e=Object(e);++r{var r=n(8612);t.exports=function(t,e){return function(n,i){if(null==n)return n;if(!r(n))return t(n,i);for(var o=n.length,a=e?o:-1,s=Object(n);(e?a--:++a{t.exports=function(t){return function(e,n,r){for(var i=-1,o=Object(e),a=r(e),s=a.length;s--;){var c=a[t?s:++i];if(!1===n(o[c],c,o))break}return e}}},7740:(t,e,n)=>{var r=n(7206),i=n(8612),o=n(3674);t.exports=function(t){return function(e,n,a){var s=Object(e);if(!i(e)){var c=r(n,3);e=o(e),n=function(t){return c(s[t],t,s)}}var u=t(e,n,a);return u>-1?s[c?e[u]:u]:void 0}}},7445:(t,e,n)=>{var r=n(98),i=n(6612),o=n(8601);t.exports=function(t){return function(e,n,a){return a&&"number"!=typeof a&&i(e,n,a)&&(n=a=void 0),e=o(e),void 0===n?(n=e,e=0):n=o(n),a=void 0===a?e{var r=n(8525),i=n(308),o=n(1814),a=r&&1/o(new r([,-0]))[1]==1/0?function(t){return new r(t)}:i;t.exports=a},8777:(t,e,n)=>{var r=n(852),i=function(){try{var t=r(Object,"defineProperty");return t({},"",{}),t}catch(t){}}();t.exports=i},7114:(t,e,n)=>{var r=n(8668),i=n(2908),o=n(4757);t.exports=function(t,e,n,a,s,c){var u=1&n,l=t.length,h=e.length;if(l!=h&&!(u&&h>l))return!1;var f=c.get(t),d=c.get(e);if(f&&d)return f==e&&d==t;var p=-1,g=!0,v=2&n?new r:void 0;for(c.set(t,e),c.set(e,t);++p{var r=n(2705),i=n(1149),o=n(7813),a=n(7114),s=n(8776),c=n(1814),u=r?r.prototype:void 0,l=u?u.valueOf:void 0;t.exports=function(t,e,n,r,u,h,f){switch(n){case"[object DataView]":if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case"[object ArrayBuffer]":return!(t.byteLength!=e.byteLength||!h(new i(t),new i(e)));case"[object Boolean]":case"[object Date]":case"[object Number]":return o(+t,+e);case"[object Error]":return t.name==e.name&&t.message==e.message;case"[object RegExp]":case"[object String]":return t==e+"";case"[object Map]":var d=s;case"[object Set]":var p=1&r;if(d||(d=c),t.size!=e.size&&!p)return!1;var g=f.get(t);if(g)return g==e;r|=2,f.set(t,e);var v=a(d(t),d(e),r,u,h,f);return f.delete(t),v;case"[object Symbol]":if(l)return l.call(t)==l.call(e)}return!1}},6096:(t,e,n)=>{var r=n(8234),i=Object.prototype.hasOwnProperty;t.exports=function(t,e,n,o,a,s){var c=1&n,u=r(t),l=u.length;if(l!=r(e).length&&!c)return!1;for(var h=l;h--;){var f=u[h];if(!(c?f in e:i.call(e,f)))return!1}var d=s.get(t),p=s.get(e);if(d&&p)return d==e&&p==t;var g=!0;s.set(t,e),s.set(e,t);for(var v=c;++h{var r=n(5564),i=n(5357),o=n(61);t.exports=function(t){return o(i(t,void 0,r),t+"")}},1957:(t,e,n)=>{var r="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g;t.exports=r},8234:(t,e,n)=>{var r=n(8866),i=n(9551),o=n(3674);t.exports=function(t){return r(t,o,i)}},6904:(t,e,n)=>{var r=n(8866),i=n(1442),o=n(1704);t.exports=function(t){return r(t,o,i)}},5050:(t,e,n)=>{var r=n(7019);t.exports=function(t,e){var n=t.__data__;return r(e)?n["string"==typeof e?"string":"hash"]:n.map}},1499:(t,e,n)=>{var r=n(9162),i=n(3674);t.exports=function(t){for(var e=i(t),n=e.length;n--;){var o=e[n],a=t[o];e[n]=[o,a,r(a)]}return e}},852:(t,e,n)=>{var r=n(8458),i=n(7801);t.exports=function(t,e){var n=i(t,e);return r(n)?n:void 0}},5924:(t,e,n)=>{var r=n(5569)(Object.getPrototypeOf,Object);t.exports=r},9607:(t,e,n)=>{var r=n(2705),i=Object.prototype,o=i.hasOwnProperty,a=i.toString,s=r?r.toStringTag:void 0;t.exports=function(t){var e=o.call(t,s),n=t[s];try{t[s]=void 0;var r=!0}catch(t){}var i=a.call(t);return r&&(e?t[s]=n:delete t[s]),i}},9551:(t,e,n)=>{var r=n(4963),i=n(479),o=Object.prototype.propertyIsEnumerable,a=Object.getOwnPropertySymbols,s=a?function(t){return null==t?[]:(t=Object(t),r(a(t),(function(e){return o.call(t,e)})))}:i;t.exports=s},1442:(t,e,n)=>{var r=n(2488),i=n(5924),o=n(9551),a=n(479),s=Object.getOwnPropertySymbols?function(t){for(var e=[];t;)r(e,o(t)),t=i(t);return e}:a;t.exports=s},4160:(t,e,n)=>{var r=n(8552),i=n(7071),o=n(3818),a=n(8525),s=n(577),c=n(4239),u=n(346),l="[object Map]",h="[object Promise]",f="[object Set]",d="[object WeakMap]",p="[object DataView]",g=u(r),v=u(i),b=u(o),y=u(a),m=u(s),w=c;(r&&w(new r(new ArrayBuffer(1)))!=p||i&&w(new i)!=l||o&&w(o.resolve())!=h||a&&w(new a)!=f||s&&w(new s)!=d)&&(w=function(t){var e=c(t),n="[object Object]"==e?t.constructor:void 0,r=n?u(n):"";if(r)switch(r){case g:return p;case v:return l;case b:return h;case y:return f;case m:return d}return e}),t.exports=w},7801:t=>{t.exports=function(t,e){return null==t?void 0:t[e]}},222:(t,e,n)=>{var r=n(1811),i=n(5694),o=n(1469),a=n(5776),s=n(1780),c=n(327);t.exports=function(t,e,n){for(var u=-1,l=(e=r(e,t)).length,h=!1;++u{var e=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]");t.exports=function(t){return e.test(t)}},1789:(t,e,n)=>{var r=n(4536);t.exports=function(){this.__data__=r?r(null):{},this.size=0}},401:t=>{t.exports=function(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}},7667:(t,e,n)=>{var r=n(4536),i=Object.prototype.hasOwnProperty;t.exports=function(t){var e=this.__data__;if(r){var n=e[t];return"__lodash_hash_undefined__"===n?void 0:n}return i.call(e,t)?e[t]:void 0}},1327:(t,e,n)=>{var r=n(4536),i=Object.prototype.hasOwnProperty;t.exports=function(t){var e=this.__data__;return r?void 0!==e[t]:i.call(e,t)}},1866:(t,e,n)=>{var r=n(4536);t.exports=function(t,e){var n=this.__data__;return this.size+=this.has(t)?0:1,n[t]=r&&void 0===e?"__lodash_hash_undefined__":e,this}},3824:t=>{var e=Object.prototype.hasOwnProperty;t.exports=function(t){var n=t.length,r=new t.constructor(n);return n&&"string"==typeof t[0]&&e.call(t,"index")&&(r.index=t.index,r.input=t.input),r}},9148:(t,e,n)=>{var r=n(4318),i=n(7157),o=n(3147),a=n(419),s=n(7133);t.exports=function(t,e,n){var c=t.constructor;switch(e){case"[object ArrayBuffer]":return r(t);case"[object Boolean]":case"[object Date]":return new c(+t);case"[object DataView]":return i(t,n);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return s(t,n);case"[object Map]":case"[object Set]":return new c;case"[object Number]":case"[object String]":return new c(t);case"[object RegExp]":return o(t);case"[object Symbol]":return a(t)}}},8517:(t,e,n)=>{var r=n(3118),i=n(5924),o=n(5726);t.exports=function(t){return"function"!=typeof t.constructor||o(t)?{}:r(i(t))}},7285:(t,e,n)=>{var r=n(2705),i=n(5694),o=n(1469),a=r?r.isConcatSpreadable:void 0;t.exports=function(t){return o(t)||i(t)||!!(a&&t&&t[a])}},5776:t=>{var e=/^(?:0|[1-9]\d*)$/;t.exports=function(t,n){var r=typeof t;return!!(n=null==n?9007199254740991:n)&&("number"==r||"symbol"!=r&&e.test(t))&&t>-1&&t%1==0&&t{var r=n(7813),i=n(8612),o=n(5776),a=n(3218);t.exports=function(t,e,n){if(!a(n))return!1;var s=typeof e;return!!("number"==s?i(n)&&o(e,n.length):"string"==s&&e in n)&&r(n[e],t)}},5403:(t,e,n)=>{var r=n(1469),i=n(3448),o=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,a=/^\w*$/;t.exports=function(t,e){if(r(t))return!1;var n=typeof t;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=t&&!i(t))||a.test(t)||!o.test(t)||null!=e&&t in Object(e)}},7019:t=>{t.exports=function(t){var e=typeof t;return"string"==e||"number"==e||"symbol"==e||"boolean"==e?"__proto__"!==t:null===t}},5346:(t,e,n)=>{var r,i=n(4429),o=(r=/[^.]+$/.exec(i&&i.keys&&i.keys.IE_PROTO||""))?"Symbol(src)_1."+r:"";t.exports=function(t){return!!o&&o in t}},5726:t=>{var e=Object.prototype;t.exports=function(t){var n=t&&t.constructor;return t===("function"==typeof n&&n.prototype||e)}},9162:(t,e,n)=>{var r=n(3218);t.exports=function(t){return t==t&&!r(t)}},7040:t=>{t.exports=function(){this.__data__=[],this.size=0}},4125:(t,e,n)=>{var r=n(8470),i=Array.prototype.splice;t.exports=function(t){var e=this.__data__,n=r(e,t);return!(n<0||(n==e.length-1?e.pop():i.call(e,n,1),--this.size,0))}},2117:(t,e,n)=>{var r=n(8470);t.exports=function(t){var e=this.__data__,n=r(e,t);return n<0?void 0:e[n][1]}},7518:(t,e,n)=>{var r=n(8470);t.exports=function(t){return r(this.__data__,t)>-1}},4705:(t,e,n)=>{var r=n(8470);t.exports=function(t,e){var n=this.__data__,i=r(n,t);return i<0?(++this.size,n.push([t,e])):n[i][1]=e,this}},4785:(t,e,n)=>{var r=n(1989),i=n(8407),o=n(7071);t.exports=function(){this.size=0,this.__data__={hash:new r,map:new(o||i),string:new r}}},1285:(t,e,n)=>{var r=n(5050);t.exports=function(t){var e=r(this,t).delete(t);return this.size-=e?1:0,e}},6e3:(t,e,n)=>{var r=n(5050);t.exports=function(t){return r(this,t).get(t)}},9916:(t,e,n)=>{var r=n(5050);t.exports=function(t){return r(this,t).has(t)}},5265:(t,e,n)=>{var r=n(5050);t.exports=function(t,e){var n=r(this,t),i=n.size;return n.set(t,e),this.size+=n.size==i?0:1,this}},8776:t=>{t.exports=function(t){var e=-1,n=Array(t.size);return t.forEach((function(t,r){n[++e]=[r,t]})),n}},2634:t=>{t.exports=function(t,e){return function(n){return null!=n&&n[t]===e&&(void 0!==e||t in Object(n))}}},4523:(t,e,n)=>{var r=n(8306);t.exports=function(t){var e=r(t,(function(t){return 500===n.size&&n.clear(),t})),n=e.cache;return e}},4536:(t,e,n)=>{var r=n(852)(Object,"create");t.exports=r},6916:(t,e,n)=>{var r=n(5569)(Object.keys,Object);t.exports=r},3498:t=>{t.exports=function(t){var e=[];if(null!=t)for(var n in Object(t))e.push(n);return e}},1167:(t,e,n)=>{t=n.nmd(t);var r=n(1957),i=e&&!e.nodeType&&e,o=i&&t&&!t.nodeType&&t,a=o&&o.exports===i&&r.process,s=function(){try{return o&&o.require&&o.require("util").types||a&&a.binding&&a.binding("util")}catch(t){}}();t.exports=s},2333:t=>{var e=Object.prototype.toString;t.exports=function(t){return e.call(t)}},5569:t=>{t.exports=function(t,e){return function(n){return t(e(n))}}},5357:(t,e,n)=>{var r=n(6874),i=Math.max;t.exports=function(t,e,n){return e=i(void 0===e?t.length-1:e,0),function(){for(var o=arguments,a=-1,s=i(o.length-e,0),c=Array(s);++a{var r=n(1957),i="object"==typeof self&&self&&self.Object===Object&&self,o=r||i||Function("return this")();t.exports=o},6390:t=>{t.exports=function(t,e){if(("constructor"!==e||"function"!=typeof t[e])&&"__proto__"!=e)return t[e]}},619:t=>{t.exports=function(t){return this.__data__.set(t,"__lodash_hash_undefined__"),this}},2385:t=>{t.exports=function(t){return this.__data__.has(t)}},1814:t=>{t.exports=function(t){var e=-1,n=Array(t.size);return t.forEach((function(t){n[++e]=t})),n}},61:(t,e,n)=>{var r=n(6560),i=n(1275)(r);t.exports=i},1275:t=>{var e=Date.now;t.exports=function(t){var n=0,r=0;return function(){var i=e(),o=16-(i-r);if(r=i,o>0){if(++n>=800)return arguments[0]}else n=0;return t.apply(void 0,arguments)}}},7465:(t,e,n)=>{var r=n(8407);t.exports=function(){this.__data__=new r,this.size=0}},3779:t=>{t.exports=function(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n}},7599:t=>{t.exports=function(t){return this.__data__.get(t)}},4758:t=>{t.exports=function(t){return this.__data__.has(t)}},4309:(t,e,n)=>{var r=n(8407),i=n(7071),o=n(3369);t.exports=function(t,e){var n=this.__data__;if(n instanceof r){var a=n.__data__;if(!i||a.length<199)return a.push([t,e]),this.size=++n.size,this;n=this.__data__=new o(a)}return n.set(t,e),this.size=n.size,this}},2351:t=>{t.exports=function(t,e,n){for(var r=n-1,i=t.length;++r{var r=n(8983),i=n(2689),o=n(1903);t.exports=function(t){return i(t)?o(t):r(t)}},5514:(t,e,n)=>{var r=n(4523),i=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,o=/\\(\\)?/g,a=r((function(t){var e=[];return 46===t.charCodeAt(0)&&e.push(""),t.replace(i,(function(t,n,r,i){e.push(r?i.replace(o,"$1"):n||t)})),e}));t.exports=a},327:(t,e,n)=>{var r=n(3448);t.exports=function(t){if("string"==typeof t||r(t))return t;var e=t+"";return"0"==e&&1/t==-1/0?"-0":e}},346:t=>{var e=Function.prototype.toString;t.exports=function(t){if(null!=t){try{return e.call(t)}catch(t){}try{return t+""}catch(t){}}return""}},7990:t=>{var e=/\s/;t.exports=function(t){for(var n=t.length;n--&&e.test(t.charAt(n)););return n}},1903:t=>{var e="\\ud800-\\udfff",n="["+e+"]",r="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",i="\\ud83c[\\udffb-\\udfff]",o="[^"+e+"]",a="(?:\\ud83c[\\udde6-\\uddff]){2}",s="[\\ud800-\\udbff][\\udc00-\\udfff]",c="(?:"+r+"|"+i+")?",u="[\\ufe0e\\ufe0f]?",l=u+c+"(?:\\u200d(?:"+[o,a,s].join("|")+")"+u+c+")*",h="(?:"+[o+r+"?",r,a,s,n].join("|")+")",f=RegExp(i+"(?="+i+")|"+h+l,"g");t.exports=function(t){for(var e=f.lastIndex=0;f.test(t);)++e;return e}},6678:(t,e,n)=>{var r=n(5990);t.exports=function(t){return r(t,4)}},361:(t,e,n)=>{var r=n(5990);t.exports=function(t){return r(t,5)}},5703:t=>{t.exports=function(t){return function(){return t}}},3279:(t,e,n)=>{var r=n(3218),i=n(7771),o=n(4841),a=Math.max,s=Math.min;t.exports=function(t,e,n){var c,u,l,h,f,d,p=0,g=!1,v=!1,b=!0;if("function"!=typeof t)throw new TypeError("Expected a function");function y(e){var n=c,r=u;return c=u=void 0,p=e,h=t.apply(r,n)}function m(t){var n=t-d;return void 0===d||n>=e||n<0||v&&t-p>=l}function w(){var t=i();if(m(t))return x(t);f=setTimeout(w,function(t){var n=e-(t-d);return v?s(n,l-(t-p)):n}(t))}function x(t){return f=void 0,b&&c?y(t):(c=u=void 0,h)}function _(){var t=i(),n=m(t);if(c=arguments,u=this,d=t,n){if(void 0===f)return function(t){return p=t,f=setTimeout(w,e),g?y(t):h}(d);if(v)return clearTimeout(f),f=setTimeout(w,e),y(d)}return void 0===f&&(f=setTimeout(w,e)),h}return e=o(e)||0,r(n)&&(g=!!n.leading,l=(v="maxWait"in n)?a(o(n.maxWait)||0,e):l,b="trailing"in n?!!n.trailing:b),_.cancel=function(){void 0!==f&&clearTimeout(f),p=0,c=d=u=f=void 0},_.flush=function(){return void 0===f?h:x(i())},_}},1747:(t,e,n)=>{var r=n(5976),i=n(7813),o=n(6612),a=n(1704),s=Object.prototype,c=s.hasOwnProperty,u=r((function(t,e){t=Object(t);var n=-1,r=e.length,u=r>2?e[2]:void 0;for(u&&o(e[0],e[1],u)&&(r=1);++n{t.exports=n(4486)},7813:t=>{t.exports=function(t,e){return t===e||t!=t&&e!=e}},3105:(t,e,n)=>{var r=n(4963),i=n(760),o=n(7206),a=n(1469);t.exports=function(t,e){return(a(t)?r:i)(t,o(e,3))}},3311:(t,e,n)=>{var r=n(7740)(n(998));t.exports=r},998:(t,e,n)=>{var r=n(1848),i=n(7206),o=n(554),a=Math.max;t.exports=function(t,e,n){var s=null==t?0:t.length;if(!s)return-1;var c=null==n?0:o(n);return c<0&&(c=a(s+c,0)),r(t,i(e,3),c)}},5564:(t,e,n)=>{var r=n(1078);t.exports=function(t){return null!=t&&t.length?r(t,1):[]}},4486:(t,e,n)=>{var r=n(7412),i=n(9881),o=n(4290),a=n(1469);t.exports=function(t,e){return(a(t)?r:i)(t,o(e))}},2620:(t,e,n)=>{var r=n(8483),i=n(4290),o=n(1704);t.exports=function(t,e){return null==t?t:r(t,i(e),o)}},7361:(t,e,n)=>{var r=n(7786);t.exports=function(t,e,n){var i=null==t?void 0:r(t,e);return void 0===i?n:i}},8721:(t,e,n)=>{var r=n(8565),i=n(222);t.exports=function(t,e){return null!=t&&i(t,e,r)}},9095:(t,e,n)=>{var r=n(13),i=n(222);t.exports=function(t,e){return null!=t&&i(t,e,r)}},6557:t=>{t.exports=function(t){return t}},5694:(t,e,n)=>{var r=n(9454),i=n(7005),o=Object.prototype,a=o.hasOwnProperty,s=o.propertyIsEnumerable,c=r(function(){return arguments}())?r:function(t){return i(t)&&a.call(t,"callee")&&!s.call(t,"callee")};t.exports=c},1469:t=>{var e=Array.isArray;t.exports=e},8612:(t,e,n)=>{var r=n(3560),i=n(1780);t.exports=function(t){return null!=t&&i(t.length)&&!r(t)}},9246:(t,e,n)=>{var r=n(8612),i=n(7005);t.exports=function(t){return i(t)&&r(t)}},4144:(t,e,n)=>{t=n.nmd(t);var r=n(5639),i=n(5062),o=e&&!e.nodeType&&e,a=o&&t&&!t.nodeType&&t,s=a&&a.exports===o?r.Buffer:void 0,c=(s?s.isBuffer:void 0)||i;t.exports=c},1609:(t,e,n)=>{var r=n(280),i=n(4160),o=n(5694),a=n(1469),s=n(8612),c=n(4144),u=n(5726),l=n(6719),h=Object.prototype.hasOwnProperty;t.exports=function(t){if(null==t)return!0;if(s(t)&&(a(t)||"string"==typeof t||"function"==typeof t.splice||c(t)||l(t)||o(t)))return!t.length;var e=i(t);if("[object Map]"==e||"[object Set]"==e)return!t.size;if(u(t))return!r(t).length;for(var n in t)if(h.call(t,n))return!1;return!0}},3560:(t,e,n)=>{var r=n(4239),i=n(3218);t.exports=function(t){if(!i(t))return!1;var e=r(t);return"[object Function]"==e||"[object GeneratorFunction]"==e||"[object AsyncFunction]"==e||"[object Proxy]"==e}},1780:t=>{t.exports=function(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=9007199254740991}},6688:(t,e,n)=>{var r=n(5588),i=n(1717),o=n(1167),a=o&&o.isMap,s=a?i(a):r;t.exports=s},3218:t=>{t.exports=function(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}},7005:t=>{t.exports=function(t){return null!=t&&"object"==typeof t}},8630:(t,e,n)=>{var r=n(4239),i=n(5924),o=n(7005),a=Function.prototype,s=Object.prototype,c=a.toString,u=s.hasOwnProperty,l=c.call(Object);t.exports=function(t){if(!o(t)||"[object Object]"!=r(t))return!1;var e=i(t);if(null===e)return!0;var n=u.call(e,"constructor")&&e.constructor;return"function"==typeof n&&n instanceof n&&c.call(n)==l}},2928:(t,e,n)=>{var r=n(9221),i=n(1717),o=n(1167),a=o&&o.isSet,s=a?i(a):r;t.exports=s},7037:(t,e,n)=>{var r=n(4239),i=n(1469),o=n(7005);t.exports=function(t){return"string"==typeof t||!i(t)&&o(t)&&"[object String]"==r(t)}},3448:(t,e,n)=>{var r=n(4239),i=n(7005);t.exports=function(t){return"symbol"==typeof t||i(t)&&"[object Symbol]"==r(t)}},6719:(t,e,n)=>{var r=n(8749),i=n(1717),o=n(1167),a=o&&o.isTypedArray,s=a?i(a):r;t.exports=s},2353:t=>{t.exports=function(t){return void 0===t}},3674:(t,e,n)=>{var r=n(4636),i=n(280),o=n(8612);t.exports=function(t){return o(t)?r(t):i(t)}},1704:(t,e,n)=>{var r=n(4636),i=n(313),o=n(8612);t.exports=function(t){return o(t)?r(t,!0):i(t)}},928:t=>{t.exports=function(t){var e=null==t?0:t.length;return e?t[e-1]:void 0}},6486:function(t,e,n){var r;t=n.nmd(t),function(){var i,o="Expected a function",a="__lodash_hash_undefined__",s="__lodash_placeholder__",c=32,u=128,l=1/0,h=9007199254740991,f=NaN,d=4294967295,p=[["ary",u],["bind",1],["bindKey",2],["curry",8],["curryRight",16],["flip",512],["partial",c],["partialRight",64],["rearg",256]],g="[object Arguments]",v="[object Array]",b="[object Boolean]",y="[object Date]",m="[object Error]",w="[object Function]",x="[object GeneratorFunction]",_="[object Map]",E="[object Number]",k="[object Object]",T="[object Promise]",C="[object RegExp]",N="[object Set]",A="[object String]",S="[object Symbol]",O="[object WeakMap]",L="[object ArrayBuffer]",I="[object DataView]",M="[object Float32Array]",P="[object Float64Array]",D="[object Int8Array]",R="[object Int16Array]",j="[object Int32Array]",G="[object Uint8Array]",B="[object Uint8ClampedArray]",F="[object Uint16Array]",H="[object Uint32Array]",Y=/\b__p \+= '';/g,z=/\b(__p \+=) '' \+/g,U=/(__e\(.*?\)|\b__t\)) \+\n'';/g,V=/&(?:amp|lt|gt|quot|#39);/g,q=/[&<>"']/g,X=RegExp(V.source),W=RegExp(q.source),$=/<%-([\s\S]+?)%>/g,Z=/<%([\s\S]+?)%>/g,K=/<%=([\s\S]+?)%>/g,Q=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,J=/^\w*$/,tt=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,et=/[\\^$.*+?()[\]{}|]/g,nt=RegExp(et.source),rt=/^\s+/,it=/\s/,ot=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,at=/\{\n\/\* \[wrapped with (.+)\] \*/,st=/,? & /,ct=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,ut=/[()=,{}\[\]\/\s]/,lt=/\\(\\)?/g,ht=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,ft=/\w*$/,dt=/^[-+]0x[0-9a-f]+$/i,pt=/^0b[01]+$/i,gt=/^\[object .+?Constructor\]$/,vt=/^0o[0-7]+$/i,bt=/^(?:0|[1-9]\d*)$/,yt=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,mt=/($^)/,wt=/['\n\r\u2028\u2029\\]/g,xt="\\ud800-\\udfff",_t="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",Et="\\u2700-\\u27bf",kt="a-z\\xdf-\\xf6\\xf8-\\xff",Tt="A-Z\\xc0-\\xd6\\xd8-\\xde",Ct="\\ufe0e\\ufe0f",Nt="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",At="["+xt+"]",St="["+Nt+"]",Ot="["+_t+"]",Lt="\\d+",It="["+Et+"]",Mt="["+kt+"]",Pt="[^"+xt+Nt+Lt+Et+kt+Tt+"]",Dt="\\ud83c[\\udffb-\\udfff]",Rt="[^"+xt+"]",jt="(?:\\ud83c[\\udde6-\\uddff]){2}",Gt="[\\ud800-\\udbff][\\udc00-\\udfff]",Bt="["+Tt+"]",Ft="\\u200d",Ht="(?:"+Mt+"|"+Pt+")",Yt="(?:"+Bt+"|"+Pt+")",zt="(?:['’](?:d|ll|m|re|s|t|ve))?",Ut="(?:['’](?:D|LL|M|RE|S|T|VE))?",Vt="(?:"+Ot+"|"+Dt+")?",qt="["+Ct+"]?",Xt=qt+Vt+"(?:"+Ft+"(?:"+[Rt,jt,Gt].join("|")+")"+qt+Vt+")*",Wt="(?:"+[It,jt,Gt].join("|")+")"+Xt,$t="(?:"+[Rt+Ot+"?",Ot,jt,Gt,At].join("|")+")",Zt=RegExp("['’]","g"),Kt=RegExp(Ot,"g"),Qt=RegExp(Dt+"(?="+Dt+")|"+$t+Xt,"g"),Jt=RegExp([Bt+"?"+Mt+"+"+zt+"(?="+[St,Bt,"$"].join("|")+")",Yt+"+"+Ut+"(?="+[St,Bt+Ht,"$"].join("|")+")",Bt+"?"+Ht+"+"+zt,Bt+"+"+Ut,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Lt,Wt].join("|"),"g"),te=RegExp("["+Ft+xt+_t+Ct+"]"),ee=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,ne=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],re=-1,ie={};ie[M]=ie[P]=ie[D]=ie[R]=ie[j]=ie[G]=ie[B]=ie[F]=ie[H]=!0,ie[g]=ie[v]=ie[L]=ie[b]=ie[I]=ie[y]=ie[m]=ie[w]=ie[_]=ie[E]=ie[k]=ie[C]=ie[N]=ie[A]=ie[O]=!1;var oe={};oe[g]=oe[v]=oe[L]=oe[I]=oe[b]=oe[y]=oe[M]=oe[P]=oe[D]=oe[R]=oe[j]=oe[_]=oe[E]=oe[k]=oe[C]=oe[N]=oe[A]=oe[S]=oe[G]=oe[B]=oe[F]=oe[H]=!0,oe[m]=oe[w]=oe[O]=!1;var ae={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},se=parseFloat,ce=parseInt,ue="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g,le="object"==typeof self&&self&&self.Object===Object&&self,he=ue||le||Function("return this")(),fe=e&&!e.nodeType&&e,de=fe&&t&&!t.nodeType&&t,pe=de&&de.exports===fe,ge=pe&&ue.process,ve=function(){try{return de&&de.require&&de.require("util").types||ge&&ge.binding&&ge.binding("util")}catch(t){}}(),be=ve&&ve.isArrayBuffer,ye=ve&&ve.isDate,me=ve&&ve.isMap,we=ve&&ve.isRegExp,xe=ve&&ve.isSet,_e=ve&&ve.isTypedArray;function Ee(t,e,n){switch(n.length){case 0:return t.call(e);case 1:return t.call(e,n[0]);case 2:return t.call(e,n[0],n[1]);case 3:return t.call(e,n[0],n[1],n[2])}return t.apply(e,n)}function ke(t,e,n,r){for(var i=-1,o=null==t?0:t.length;++i-1}function Oe(t,e,n){for(var r=-1,i=null==t?0:t.length;++r-1;);return n}function Je(t,e){for(var n=t.length;n--&&Be(e,t[n],0)>-1;);return n}var tn=Ue({À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"}),en=Ue({"&":"&","<":"<",">":">",'"':""","'":"'"});function nn(t){return"\\"+ae[t]}function rn(t){return te.test(t)}function on(t){var e=-1,n=Array(t.size);return t.forEach((function(t,r){n[++e]=[r,t]})),n}function an(t,e){return function(n){return t(e(n))}}function sn(t,e){for(var n=-1,r=t.length,i=0,o=[];++n",""":'"',"'":"'"}),pn=function t(e){var n,r=(e=null==e?he:pn.defaults(he.Object(),e,pn.pick(he,ne))).Array,it=e.Date,xt=e.Error,_t=e.Function,Et=e.Math,kt=e.Object,Tt=e.RegExp,Ct=e.String,Nt=e.TypeError,At=r.prototype,St=_t.prototype,Ot=kt.prototype,Lt=e["__core-js_shared__"],It=St.toString,Mt=Ot.hasOwnProperty,Pt=0,Dt=(n=/[^.]+$/.exec(Lt&&Lt.keys&&Lt.keys.IE_PROTO||""))?"Symbol(src)_1."+n:"",Rt=Ot.toString,jt=It.call(kt),Gt=he._,Bt=Tt("^"+It.call(Mt).replace(et,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Ft=pe?e.Buffer:i,Ht=e.Symbol,Yt=e.Uint8Array,zt=Ft?Ft.allocUnsafe:i,Ut=an(kt.getPrototypeOf,kt),Vt=kt.create,qt=Ot.propertyIsEnumerable,Xt=At.splice,Wt=Ht?Ht.isConcatSpreadable:i,$t=Ht?Ht.iterator:i,Qt=Ht?Ht.toStringTag:i,te=function(){try{var t=co(kt,"defineProperty");return t({},"",{}),t}catch(t){}}(),ae=e.clearTimeout!==he.clearTimeout&&e.clearTimeout,ue=it&&it.now!==he.Date.now&&it.now,le=e.setTimeout!==he.setTimeout&&e.setTimeout,fe=Et.ceil,de=Et.floor,ge=kt.getOwnPropertySymbols,ve=Ft?Ft.isBuffer:i,Re=e.isFinite,Ue=At.join,gn=an(kt.keys,kt),vn=Et.max,bn=Et.min,yn=it.now,mn=e.parseInt,wn=Et.random,xn=At.reverse,_n=co(e,"DataView"),En=co(e,"Map"),kn=co(e,"Promise"),Tn=co(e,"Set"),Cn=co(e,"WeakMap"),Nn=co(kt,"create"),An=Cn&&new Cn,Sn={},On=jo(_n),Ln=jo(En),In=jo(kn),Mn=jo(Tn),Pn=jo(Cn),Dn=Ht?Ht.prototype:i,Rn=Dn?Dn.valueOf:i,jn=Dn?Dn.toString:i;function Gn(t){if(ts(t)&&!za(t)&&!(t instanceof Yn)){if(t instanceof Hn)return t;if(Mt.call(t,"__wrapped__"))return Go(t)}return new Hn(t)}var Bn=function(){function t(){}return function(e){if(!Ja(e))return{};if(Vt)return Vt(e);t.prototype=e;var n=new t;return t.prototype=i,n}}();function Fn(){}function Hn(t,e){this.__wrapped__=t,this.__actions__=[],this.__chain__=!!e,this.__index__=0,this.__values__=i}function Yn(t){this.__wrapped__=t,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=d,this.__views__=[]}function zn(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e=e?t:e)),t}function ar(t,e,n,r,o,a){var s,c=1&e,u=2&e,l=4&e;if(n&&(s=o?n(t,r,o,a):n(t)),s!==i)return s;if(!Ja(t))return t;var h=za(t);if(h){if(s=function(t){var e=t.length,n=new t.constructor(e);return e&&"string"==typeof t[0]&&Mt.call(t,"index")&&(n.index=t.index,n.input=t.input),n}(t),!c)return Ci(t,s)}else{var f=ho(t),d=f==w||f==x;if(Xa(t))return wi(t,c);if(f==k||f==g||d&&!o){if(s=u||d?{}:po(t),!c)return u?function(t,e){return Ni(t,lo(t),e)}(t,function(t,e){return t&&Ni(e,Ls(e),t)}(s,t)):function(t,e){return Ni(t,uo(t),e)}(t,nr(s,t))}else{if(!oe[f])return o?t:{};s=function(t,e,n){var r,i=t.constructor;switch(e){case L:return xi(t);case b:case y:return new i(+t);case I:return function(t,e){var n=e?xi(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.byteLength)}(t,n);case M:case P:case D:case R:case j:case G:case B:case F:case H:return _i(t,n);case _:return new i;case E:case A:return new i(t);case C:return function(t){var e=new t.constructor(t.source,ft.exec(t));return e.lastIndex=t.lastIndex,e}(t);case N:return new i;case S:return r=t,Rn?kt(Rn.call(r)):{}}}(t,f,c)}}a||(a=new Xn);var p=a.get(t);if(p)return p;a.set(t,s),os(t)?t.forEach((function(r){s.add(ar(r,e,n,r,t,a))})):es(t)&&t.forEach((function(r,i){s.set(i,ar(r,e,n,i,t,a))}));var v=h?i:(l?u?eo:to:u?Ls:Os)(t);return Te(v||t,(function(r,i){v&&(r=t[i=r]),Jn(s,i,ar(r,e,n,i,t,a))})),s}function sr(t,e,n){var r=n.length;if(null==t)return!r;for(t=kt(t);r--;){var o=n[r],a=e[o],s=t[o];if(s===i&&!(o in t)||!a(s))return!1}return!0}function cr(t,e,n){if("function"!=typeof t)throw new Nt(o);return Ao((function(){t.apply(i,n)}),e)}function ur(t,e,n,r){var i=-1,o=Se,a=!0,s=t.length,c=[],u=e.length;if(!s)return c;n&&(e=Le(e,$e(n))),r?(o=Oe,a=!1):e.length>=200&&(o=Ke,a=!1,e=new qn(e));t:for(;++i-1},Un.prototype.set=function(t,e){var n=this.__data__,r=tr(n,t);return r<0?(++this.size,n.push([t,e])):n[r][1]=e,this},Vn.prototype.clear=function(){this.size=0,this.__data__={hash:new zn,map:new(En||Un),string:new zn}},Vn.prototype.delete=function(t){var e=ao(this,t).delete(t);return this.size-=e?1:0,e},Vn.prototype.get=function(t){return ao(this,t).get(t)},Vn.prototype.has=function(t){return ao(this,t).has(t)},Vn.prototype.set=function(t,e){var n=ao(this,t),r=n.size;return n.set(t,e),this.size+=n.size==r?0:1,this},qn.prototype.add=qn.prototype.push=function(t){return this.__data__.set(t,a),this},qn.prototype.has=function(t){return this.__data__.has(t)},Xn.prototype.clear=function(){this.__data__=new Un,this.size=0},Xn.prototype.delete=function(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n},Xn.prototype.get=function(t){return this.__data__.get(t)},Xn.prototype.has=function(t){return this.__data__.has(t)},Xn.prototype.set=function(t,e){var n=this.__data__;if(n instanceof Un){var r=n.__data__;if(!En||r.length<199)return r.push([t,e]),this.size=++n.size,this;n=this.__data__=new Vn(r)}return n.set(t,e),this.size=n.size,this};var lr=Oi(yr),hr=Oi(mr,!0);function fr(t,e){var n=!0;return lr(t,(function(t,r,i){return n=!!e(t,r,i)})),n}function dr(t,e,n){for(var r=-1,o=t.length;++r0&&n(s)?e>1?gr(s,e-1,n,r,i):Ie(i,s):r||(i[i.length]=s)}return i}var vr=Li(),br=Li(!0);function yr(t,e){return t&&vr(t,e,Os)}function mr(t,e){return t&&br(t,e,Os)}function wr(t,e){return Ae(e,(function(e){return Za(t[e])}))}function xr(t,e){for(var n=0,r=(e=vi(e,t)).length;null!=t&&ne}function Tr(t,e){return null!=t&&Mt.call(t,e)}function Cr(t,e){return null!=t&&e in kt(t)}function Nr(t,e,n){for(var o=n?Oe:Se,a=t[0].length,s=t.length,c=s,u=r(s),l=1/0,h=[];c--;){var f=t[c];c&&e&&(f=Le(f,$e(e))),l=bn(f.length,l),u[c]=!n&&(e||a>=120&&f.length>=120)?new qn(c&&f):i}f=t[0];var d=-1,p=u[0];t:for(;++d=s?c:c*("desc"==n[r]?-1:1)}return t.index-e.index}(t,e,n)}));r--;)t[r]=t[r].value;return t}(i)}function Yr(t,e,n){for(var r=-1,i=e.length,o={};++r-1;)s!==t&&Xt.call(s,c,1),Xt.call(t,c,1);return t}function Ur(t,e){for(var n=t?e.length:0,r=n-1;n--;){var i=e[n];if(n==r||i!==o){var o=i;vo(i)?Xt.call(t,i,1):ci(t,i)}}return t}function Vr(t,e){return t+de(wn()*(e-t+1))}function qr(t,e){var n="";if(!t||e<1||e>h)return n;do{e%2&&(n+=t),(e=de(e/2))&&(t+=t)}while(e);return n}function Xr(t,e){return So(ko(t,e,nc),t+"")}function Wr(t){return $n(Bs(t))}function $r(t,e){var n=Bs(t);return Io(n,or(e,0,n.length))}function Zr(t,e,n,r){if(!Ja(t))return t;for(var o=-1,a=(e=vi(e,t)).length,s=a-1,c=t;null!=c&&++oo?0:o+e),(n=n>o?o:n)<0&&(n+=o),o=e>n?0:n-e>>>0,e>>>=0;for(var a=r(o);++i>>1,a=t[o];null!==a&&!ss(a)&&(n?a<=e:a=200){var u=e?null:qi(t);if(u)return cn(u);a=!1,i=Ke,c=new qn}else c=e?[]:s;t:for(;++r=r?t:ti(t,e,n)}var mi=ae||function(t){return he.clearTimeout(t)};function wi(t,e){if(e)return t.slice();var n=t.length,r=zt?zt(n):new t.constructor(n);return t.copy(r),r}function xi(t){var e=new t.constructor(t.byteLength);return new Yt(e).set(new Yt(t)),e}function _i(t,e){var n=e?xi(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.length)}function Ei(t,e){if(t!==e){var n=t!==i,r=null===t,o=t==t,a=ss(t),s=e!==i,c=null===e,u=e==e,l=ss(e);if(!c&&!l&&!a&&t>e||a&&s&&u&&!c&&!l||r&&s&&u||!n&&u||!o)return 1;if(!r&&!a&&!l&&t1?n[o-1]:i,s=o>2?n[2]:i;for(a=t.length>3&&"function"==typeof a?(o--,a):i,s&&bo(n[0],n[1],s)&&(a=o<3?i:a,o=1),e=kt(e);++r-1?o[a?e[s]:s]:i}}function Ri(t){return Ji((function(e){var n=e.length,r=n,a=Hn.prototype.thru;for(t&&e.reverse();r--;){var s=e[r];if("function"!=typeof s)throw new Nt(o);if(a&&!c&&"wrapper"==ro(s))var c=new Hn([],!0)}for(r=c?r:n;++r1&&w.reverse(),d&&hc))return!1;var l=a.get(t),h=a.get(e);if(l&&h)return l==e&&h==t;var f=-1,d=!0,p=2&n?new qn:i;for(a.set(t,e),a.set(e,t);++f-1&&t%1==0&&t1?"& ":"")+e[r],e=e.join(n>2?", ":" "),t.replace(ot,"{\n/* [wrapped with "+e+"] */\n")}(r,function(t,e){return Te(p,(function(n){var r="_."+n[0];e&n[1]&&!Se(t,r)&&t.push(r)})),t.sort()}(function(t){var e=t.match(at);return e?e[1].split(st):[]}(r),n)))}function Lo(t){var e=0,n=0;return function(){var r=yn(),o=16-(r-n);if(n=r,o>0){if(++e>=800)return arguments[0]}else e=0;return t.apply(i,arguments)}}function Io(t,e){var n=-1,r=t.length,o=r-1;for(e=e===i?r:e;++n1?t[e-1]:i;return n="function"==typeof n?(t.pop(),n):i,ia(t,n)}));function ha(t){var e=Gn(t);return e.__chain__=!0,e}function fa(t,e){return e(t)}var da=Ji((function(t){var e=t.length,n=e?t[0]:0,r=this.__wrapped__,o=function(e){return ir(e,t)};return!(e>1||this.__actions__.length)&&r instanceof Yn&&vo(n)?((r=r.slice(n,+n+(e?1:0))).__actions__.push({func:fa,args:[o],thisArg:i}),new Hn(r,this.__chain__).thru((function(t){return e&&!t.length&&t.push(i),t}))):this.thru(o)})),pa=Ai((function(t,e,n){Mt.call(t,n)?++t[n]:rr(t,n,1)})),ga=Di(Yo),va=Di(zo);function ba(t,e){return(za(t)?Te:lr)(t,oo(e,3))}function ya(t,e){return(za(t)?Ce:hr)(t,oo(e,3))}var ma=Ai((function(t,e,n){Mt.call(t,n)?t[n].push(e):rr(t,n,[e])})),wa=Xr((function(t,e,n){var i=-1,o="function"==typeof e,a=Va(t)?r(t.length):[];return lr(t,(function(t){a[++i]=o?Ee(e,t,n):Ar(t,e,n)})),a})),xa=Ai((function(t,e,n){rr(t,n,e)}));function _a(t,e){return(za(t)?Le:Rr)(t,oo(e,3))}var Ea=Ai((function(t,e,n){t[n?0:1].push(e)}),(function(){return[[],[]]})),ka=Xr((function(t,e){if(null==t)return[];var n=e.length;return n>1&&bo(t,e[0],e[1])?e=[]:n>2&&bo(e[0],e[1],e[2])&&(e=[e[0]]),Hr(t,gr(e,1),[])})),Ta=ue||function(){return he.Date.now()};function Ca(t,e,n){return e=n?i:e,e=t&&null==e?t.length:e,Wi(t,u,i,i,i,i,e)}function Na(t,e){var n;if("function"!=typeof e)throw new Nt(o);return t=ds(t),function(){return--t>0&&(n=e.apply(this,arguments)),t<=1&&(e=i),n}}var Aa=Xr((function(t,e,n){var r=1;if(n.length){var i=sn(n,io(Aa));r|=c}return Wi(t,r,e,n,i)})),Sa=Xr((function(t,e,n){var r=3;if(n.length){var i=sn(n,io(Sa));r|=c}return Wi(e,r,t,n,i)}));function Oa(t,e,n){var r,a,s,c,u,l,h=0,f=!1,d=!1,p=!0;if("function"!=typeof t)throw new Nt(o);function g(e){var n=r,o=a;return r=a=i,h=e,c=t.apply(o,n)}function v(t){var n=t-l;return l===i||n>=e||n<0||d&&t-h>=s}function b(){var t=Ta();if(v(t))return y(t);u=Ao(b,function(t){var n=e-(t-l);return d?bn(n,s-(t-h)):n}(t))}function y(t){return u=i,p&&r?g(t):(r=a=i,c)}function m(){var t=Ta(),n=v(t);if(r=arguments,a=this,l=t,n){if(u===i)return function(t){return h=t,u=Ao(b,e),f?g(t):c}(l);if(d)return mi(u),u=Ao(b,e),g(l)}return u===i&&(u=Ao(b,e)),c}return e=gs(e)||0,Ja(n)&&(f=!!n.leading,s=(d="maxWait"in n)?vn(gs(n.maxWait)||0,e):s,p="trailing"in n?!!n.trailing:p),m.cancel=function(){u!==i&&mi(u),h=0,r=l=a=u=i},m.flush=function(){return u===i?c:y(Ta())},m}var La=Xr((function(t,e){return cr(t,1,e)})),Ia=Xr((function(t,e,n){return cr(t,gs(e)||0,n)}));function Ma(t,e){if("function"!=typeof t||null!=e&&"function"!=typeof e)throw new Nt(o);var n=function(){var r=arguments,i=e?e.apply(this,r):r[0],o=n.cache;if(o.has(i))return o.get(i);var a=t.apply(this,r);return n.cache=o.set(i,a)||o,a};return n.cache=new(Ma.Cache||Vn),n}function Pa(t){if("function"!=typeof t)throw new Nt(o);return function(){var e=arguments;switch(e.length){case 0:return!t.call(this);case 1:return!t.call(this,e[0]);case 2:return!t.call(this,e[0],e[1]);case 3:return!t.call(this,e[0],e[1],e[2])}return!t.apply(this,e)}}Ma.Cache=Vn;var Da=bi((function(t,e){var n=(e=1==e.length&&za(e[0])?Le(e[0],$e(oo())):Le(gr(e,1),$e(oo()))).length;return Xr((function(r){for(var i=-1,o=bn(r.length,n);++i=e})),Ya=Sr(function(){return arguments}())?Sr:function(t){return ts(t)&&Mt.call(t,"callee")&&!qt.call(t,"callee")},za=r.isArray,Ua=be?$e(be):function(t){return ts(t)&&Er(t)==L};function Va(t){return null!=t&&Qa(t.length)&&!Za(t)}function qa(t){return ts(t)&&Va(t)}var Xa=ve||gc,Wa=ye?$e(ye):function(t){return ts(t)&&Er(t)==y};function $a(t){if(!ts(t))return!1;var e=Er(t);return e==m||"[object DOMException]"==e||"string"==typeof t.message&&"string"==typeof t.name&&!rs(t)}function Za(t){if(!Ja(t))return!1;var e=Er(t);return e==w||e==x||"[object AsyncFunction]"==e||"[object Proxy]"==e}function Ka(t){return"number"==typeof t&&t==ds(t)}function Qa(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=h}function Ja(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}function ts(t){return null!=t&&"object"==typeof t}var es=me?$e(me):function(t){return ts(t)&&ho(t)==_};function ns(t){return"number"==typeof t||ts(t)&&Er(t)==E}function rs(t){if(!ts(t)||Er(t)!=k)return!1;var e=Ut(t);if(null===e)return!0;var n=Mt.call(e,"constructor")&&e.constructor;return"function"==typeof n&&n instanceof n&&It.call(n)==jt}var is=we?$e(we):function(t){return ts(t)&&Er(t)==C},os=xe?$e(xe):function(t){return ts(t)&&ho(t)==N};function as(t){return"string"==typeof t||!za(t)&&ts(t)&&Er(t)==A}function ss(t){return"symbol"==typeof t||ts(t)&&Er(t)==S}var cs=_e?$e(_e):function(t){return ts(t)&&Qa(t.length)&&!!ie[Er(t)]},us=zi(Dr),ls=zi((function(t,e){return t<=e}));function hs(t){if(!t)return[];if(Va(t))return as(t)?hn(t):Ci(t);if($t&&t[$t])return function(t){for(var e,n=[];!(e=t.next()).done;)n.push(e.value);return n}(t[$t]());var e=ho(t);return(e==_?on:e==N?cn:Bs)(t)}function fs(t){return t?(t=gs(t))===l||t===-1/0?17976931348623157e292*(t<0?-1:1):t==t?t:0:0===t?t:0}function ds(t){var e=fs(t),n=e%1;return e==e?n?e-n:e:0}function ps(t){return t?or(ds(t),0,d):0}function gs(t){if("number"==typeof t)return t;if(ss(t))return f;if(Ja(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=Ja(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=We(t);var n=pt.test(t);return n||vt.test(t)?ce(t.slice(2),n?2:8):dt.test(t)?f:+t}function vs(t){return Ni(t,Ls(t))}function bs(t){return null==t?"":ai(t)}var ys=Si((function(t,e){if(xo(e)||Va(e))Ni(e,Os(e),t);else for(var n in e)Mt.call(e,n)&&Jn(t,n,e[n])})),ms=Si((function(t,e){Ni(e,Ls(e),t)})),ws=Si((function(t,e,n,r){Ni(e,Ls(e),t,r)})),xs=Si((function(t,e,n,r){Ni(e,Os(e),t,r)})),_s=Ji(ir),Es=Xr((function(t,e){t=kt(t);var n=-1,r=e.length,o=r>2?e[2]:i;for(o&&bo(e[0],e[1],o)&&(r=1);++n1),e})),Ni(t,eo(t),n),r&&(n=ar(n,7,Ki));for(var i=e.length;i--;)ci(n,e[i]);return n})),Ds=Ji((function(t,e){return null==t?{}:function(t,e){return Yr(t,e,(function(e,n){return Cs(t,n)}))}(t,e)}));function Rs(t,e){if(null==t)return{};var n=Le(eo(t),(function(t){return[t]}));return e=oo(e),Yr(t,n,(function(t,n){return e(t,n[0])}))}var js=Xi(Os),Gs=Xi(Ls);function Bs(t){return null==t?[]:Ze(t,Os(t))}var Fs=Mi((function(t,e,n){return e=e.toLowerCase(),t+(n?Hs(e):e)}));function Hs(t){return $s(bs(t).toLowerCase())}function Ys(t){return(t=bs(t))&&t.replace(yt,tn).replace(Kt,"")}var zs=Mi((function(t,e,n){return t+(n?"-":"")+e.toLowerCase()})),Us=Mi((function(t,e,n){return t+(n?" ":"")+e.toLowerCase()})),Vs=Ii("toLowerCase"),qs=Mi((function(t,e,n){return t+(n?"_":"")+e.toLowerCase()})),Xs=Mi((function(t,e,n){return t+(n?" ":"")+$s(e)})),Ws=Mi((function(t,e,n){return t+(n?" ":"")+e.toUpperCase()})),$s=Ii("toUpperCase");function Zs(t,e,n){return t=bs(t),(e=n?i:e)===i?function(t){return ee.test(t)}(t)?function(t){return t.match(Jt)||[]}(t):function(t){return t.match(ct)||[]}(t):t.match(e)||[]}var Ks=Xr((function(t,e){try{return Ee(t,i,e)}catch(t){return $a(t)?t:new xt(t)}})),Qs=Ji((function(t,e){return Te(e,(function(e){e=Ro(e),rr(t,e,Aa(t[e],t))})),t}));function Js(t){return function(){return t}}var tc=Ri(),ec=Ri(!0);function nc(t){return t}function rc(t){return Mr("function"==typeof t?t:ar(t,1))}var ic=Xr((function(t,e){return function(n){return Ar(n,t,e)}})),oc=Xr((function(t,e){return function(n){return Ar(t,n,e)}}));function ac(t,e,n){var r=Os(e),i=wr(e,r);null!=n||Ja(e)&&(i.length||!r.length)||(n=e,e=t,t=this,i=wr(e,Os(e)));var o=!(Ja(n)&&"chain"in n&&!n.chain),a=Za(t);return Te(i,(function(n){var r=e[n];t[n]=r,a&&(t.prototype[n]=function(){var e=this.__chain__;if(o||e){var n=t(this.__wrapped__);return(n.__actions__=Ci(this.__actions__)).push({func:r,args:arguments,thisArg:t}),n.__chain__=e,n}return r.apply(t,Ie([this.value()],arguments))})})),t}function sc(){}var cc=Fi(Le),uc=Fi(Ne),lc=Fi(De);function hc(t){return yo(t)?ze(Ro(t)):function(t){return function(e){return xr(e,t)}}(t)}var fc=Yi(),dc=Yi(!0);function pc(){return[]}function gc(){return!1}var vc,bc=Bi((function(t,e){return t+e}),0),yc=Vi("ceil"),mc=Bi((function(t,e){return t/e}),1),wc=Vi("floor"),xc=Bi((function(t,e){return t*e}),1),_c=Vi("round"),Ec=Bi((function(t,e){return t-e}),0);return Gn.after=function(t,e){if("function"!=typeof e)throw new Nt(o);return t=ds(t),function(){if(--t<1)return e.apply(this,arguments)}},Gn.ary=Ca,Gn.assign=ys,Gn.assignIn=ms,Gn.assignInWith=ws,Gn.assignWith=xs,Gn.at=_s,Gn.before=Na,Gn.bind=Aa,Gn.bindAll=Qs,Gn.bindKey=Sa,Gn.castArray=function(){if(!arguments.length)return[];var t=arguments[0];return za(t)?t:[t]},Gn.chain=ha,Gn.chunk=function(t,e,n){e=(n?bo(t,e,n):e===i)?1:vn(ds(e),0);var o=null==t?0:t.length;if(!o||e<1)return[];for(var a=0,s=0,c=r(fe(o/e));ao?0:o+n),(r=r===i||r>o?o:ds(r))<0&&(r+=o),r=n>r?0:ps(r);n>>0)?(t=bs(t))&&("string"==typeof e||null!=e&&!is(e))&&!(e=ai(e))&&rn(t)?yi(hn(t),0,n):t.split(e,n):[]},Gn.spread=function(t,e){if("function"!=typeof t)throw new Nt(o);return e=null==e?0:vn(ds(e),0),Xr((function(n){var r=n[e],i=yi(n,0,e);return r&&Ie(i,r),Ee(t,this,i)}))},Gn.tail=function(t){var e=null==t?0:t.length;return e?ti(t,1,e):[]},Gn.take=function(t,e,n){return t&&t.length?ti(t,0,(e=n||e===i?1:ds(e))<0?0:e):[]},Gn.takeRight=function(t,e,n){var r=null==t?0:t.length;return r?ti(t,(e=r-(e=n||e===i?1:ds(e)))<0?0:e,r):[]},Gn.takeRightWhile=function(t,e){return t&&t.length?li(t,oo(e,3),!1,!0):[]},Gn.takeWhile=function(t,e){return t&&t.length?li(t,oo(e,3)):[]},Gn.tap=function(t,e){return e(t),t},Gn.throttle=function(t,e,n){var r=!0,i=!0;if("function"!=typeof t)throw new Nt(o);return Ja(n)&&(r="leading"in n?!!n.leading:r,i="trailing"in n?!!n.trailing:i),Oa(t,e,{leading:r,maxWait:e,trailing:i})},Gn.thru=fa,Gn.toArray=hs,Gn.toPairs=js,Gn.toPairsIn=Gs,Gn.toPath=function(t){return za(t)?Le(t,Ro):ss(t)?[t]:Ci(Do(bs(t)))},Gn.toPlainObject=vs,Gn.transform=function(t,e,n){var r=za(t),i=r||Xa(t)||cs(t);if(e=oo(e,4),null==n){var o=t&&t.constructor;n=i?r?new o:[]:Ja(t)&&Za(o)?Bn(Ut(t)):{}}return(i?Te:yr)(t,(function(t,r,i){return e(n,t,r,i)})),n},Gn.unary=function(t){return Ca(t,1)},Gn.union=ta,Gn.unionBy=ea,Gn.unionWith=na,Gn.uniq=function(t){return t&&t.length?si(t):[]},Gn.uniqBy=function(t,e){return t&&t.length?si(t,oo(e,2)):[]},Gn.uniqWith=function(t,e){return e="function"==typeof e?e:i,t&&t.length?si(t,i,e):[]},Gn.unset=function(t,e){return null==t||ci(t,e)},Gn.unzip=ra,Gn.unzipWith=ia,Gn.update=function(t,e,n){return null==t?t:ui(t,e,gi(n))},Gn.updateWith=function(t,e,n,r){return r="function"==typeof r?r:i,null==t?t:ui(t,e,gi(n),r)},Gn.values=Bs,Gn.valuesIn=function(t){return null==t?[]:Ze(t,Ls(t))},Gn.without=oa,Gn.words=Zs,Gn.wrap=function(t,e){return Ra(gi(e),t)},Gn.xor=aa,Gn.xorBy=sa,Gn.xorWith=ca,Gn.zip=ua,Gn.zipObject=function(t,e){return di(t||[],e||[],Jn)},Gn.zipObjectDeep=function(t,e){return di(t||[],e||[],Zr)},Gn.zipWith=la,Gn.entries=js,Gn.entriesIn=Gs,Gn.extend=ms,Gn.extendWith=ws,ac(Gn,Gn),Gn.add=bc,Gn.attempt=Ks,Gn.camelCase=Fs,Gn.capitalize=Hs,Gn.ceil=yc,Gn.clamp=function(t,e,n){return n===i&&(n=e,e=i),n!==i&&(n=(n=gs(n))==n?n:0),e!==i&&(e=(e=gs(e))==e?e:0),or(gs(t),e,n)},Gn.clone=function(t){return ar(t,4)},Gn.cloneDeep=function(t){return ar(t,5)},Gn.cloneDeepWith=function(t,e){return ar(t,5,e="function"==typeof e?e:i)},Gn.cloneWith=function(t,e){return ar(t,4,e="function"==typeof e?e:i)},Gn.conformsTo=function(t,e){return null==e||sr(t,e,Os(e))},Gn.deburr=Ys,Gn.defaultTo=function(t,e){return null==t||t!=t?e:t},Gn.divide=mc,Gn.endsWith=function(t,e,n){t=bs(t),e=ai(e);var r=t.length,o=n=n===i?r:or(ds(n),0,r);return(n-=e.length)>=0&&t.slice(n,o)==e},Gn.eq=Ba,Gn.escape=function(t){return(t=bs(t))&&W.test(t)?t.replace(q,en):t},Gn.escapeRegExp=function(t){return(t=bs(t))&&nt.test(t)?t.replace(et,"\\$&"):t},Gn.every=function(t,e,n){var r=za(t)?Ne:fr;return n&&bo(t,e,n)&&(e=i),r(t,oo(e,3))},Gn.find=ga,Gn.findIndex=Yo,Gn.findKey=function(t,e){return je(t,oo(e,3),yr)},Gn.findLast=va,Gn.findLastIndex=zo,Gn.findLastKey=function(t,e){return je(t,oo(e,3),mr)},Gn.floor=wc,Gn.forEach=ba,Gn.forEachRight=ya,Gn.forIn=function(t,e){return null==t?t:vr(t,oo(e,3),Ls)},Gn.forInRight=function(t,e){return null==t?t:br(t,oo(e,3),Ls)},Gn.forOwn=function(t,e){return t&&yr(t,oo(e,3))},Gn.forOwnRight=function(t,e){return t&&mr(t,oo(e,3))},Gn.get=Ts,Gn.gt=Fa,Gn.gte=Ha,Gn.has=function(t,e){return null!=t&&fo(t,e,Tr)},Gn.hasIn=Cs,Gn.head=Vo,Gn.identity=nc,Gn.includes=function(t,e,n,r){t=Va(t)?t:Bs(t),n=n&&!r?ds(n):0;var i=t.length;return n<0&&(n=vn(i+n,0)),as(t)?n<=i&&t.indexOf(e,n)>-1:!!i&&Be(t,e,n)>-1},Gn.indexOf=function(t,e,n){var r=null==t?0:t.length;if(!r)return-1;var i=null==n?0:ds(n);return i<0&&(i=vn(r+i,0)),Be(t,e,i)},Gn.inRange=function(t,e,n){return e=fs(e),n===i?(n=e,e=0):n=fs(n),function(t,e,n){return t>=bn(e,n)&&t=-9007199254740991&&t<=h},Gn.isSet=os,Gn.isString=as,Gn.isSymbol=ss,Gn.isTypedArray=cs,Gn.isUndefined=function(t){return t===i},Gn.isWeakMap=function(t){return ts(t)&&ho(t)==O},Gn.isWeakSet=function(t){return ts(t)&&"[object WeakSet]"==Er(t)},Gn.join=function(t,e){return null==t?"":Ue.call(t,e)},Gn.kebabCase=zs,Gn.last=$o,Gn.lastIndexOf=function(t,e,n){var r=null==t?0:t.length;if(!r)return-1;var o=r;return n!==i&&(o=(o=ds(n))<0?vn(r+o,0):bn(o,r-1)),e==e?function(t,e,n){for(var r=n+1;r--;)if(t[r]===e)return r;return r}(t,e,o):Ge(t,He,o,!0)},Gn.lowerCase=Us,Gn.lowerFirst=Vs,Gn.lt=us,Gn.lte=ls,Gn.max=function(t){return t&&t.length?dr(t,nc,kr):i},Gn.maxBy=function(t,e){return t&&t.length?dr(t,oo(e,2),kr):i},Gn.mean=function(t){return Ye(t,nc)},Gn.meanBy=function(t,e){return Ye(t,oo(e,2))},Gn.min=function(t){return t&&t.length?dr(t,nc,Dr):i},Gn.minBy=function(t,e){return t&&t.length?dr(t,oo(e,2),Dr):i},Gn.stubArray=pc,Gn.stubFalse=gc,Gn.stubObject=function(){return{}},Gn.stubString=function(){return""},Gn.stubTrue=function(){return!0},Gn.multiply=xc,Gn.nth=function(t,e){return t&&t.length?Fr(t,ds(e)):i},Gn.noConflict=function(){return he._===this&&(he._=Gt),this},Gn.noop=sc,Gn.now=Ta,Gn.pad=function(t,e,n){t=bs(t);var r=(e=ds(e))?ln(t):0;if(!e||r>=e)return t;var i=(e-r)/2;return Hi(de(i),n)+t+Hi(fe(i),n)},Gn.padEnd=function(t,e,n){t=bs(t);var r=(e=ds(e))?ln(t):0;return e&&re){var r=t;t=e,e=r}if(n||t%1||e%1){var o=wn();return bn(t+o*(e-t+se("1e-"+((o+"").length-1))),e)}return Vr(t,e)},Gn.reduce=function(t,e,n){var r=za(t)?Me:Ve,i=arguments.length<3;return r(t,oo(e,4),n,i,lr)},Gn.reduceRight=function(t,e,n){var r=za(t)?Pe:Ve,i=arguments.length<3;return r(t,oo(e,4),n,i,hr)},Gn.repeat=function(t,e,n){return e=(n?bo(t,e,n):e===i)?1:ds(e),qr(bs(t),e)},Gn.replace=function(){var t=arguments,e=bs(t[0]);return t.length<3?e:e.replace(t[1],t[2])},Gn.result=function(t,e,n){var r=-1,o=(e=vi(e,t)).length;for(o||(o=1,t=i);++rh)return[];var n=d,r=bn(t,d);e=oo(e),t-=d;for(var i=Xe(r,e);++n=a)return t;var c=n-ln(r);if(c<1)return r;var u=s?yi(s,0,c).join(""):t.slice(0,c);if(o===i)return u+r;if(s&&(c+=u.length-c),is(o)){if(t.slice(c).search(o)){var l,h=u;for(o.global||(o=Tt(o.source,bs(ft.exec(o))+"g")),o.lastIndex=0;l=o.exec(h);)var f=l.index;u=u.slice(0,f===i?c:f)}}else if(t.indexOf(ai(o),c)!=c){var d=u.lastIndexOf(o);d>-1&&(u=u.slice(0,d))}return u+r},Gn.unescape=function(t){return(t=bs(t))&&X.test(t)?t.replace(V,dn):t},Gn.uniqueId=function(t){var e=++Pt;return bs(t)+e},Gn.upperCase=Ws,Gn.upperFirst=$s,Gn.each=ba,Gn.eachRight=ya,Gn.first=Vo,ac(Gn,(vc={},yr(Gn,(function(t,e){Mt.call(Gn.prototype,e)||(vc[e]=t)})),vc),{chain:!1}),Gn.VERSION="4.17.21",Te(["bind","bindKey","curry","curryRight","partial","partialRight"],(function(t){Gn[t].placeholder=Gn})),Te(["drop","take"],(function(t,e){Yn.prototype[t]=function(n){n=n===i?1:vn(ds(n),0);var r=this.__filtered__&&!e?new Yn(this):this.clone();return r.__filtered__?r.__takeCount__=bn(n,r.__takeCount__):r.__views__.push({size:bn(n,d),type:t+(r.__dir__<0?"Right":"")}),r},Yn.prototype[t+"Right"]=function(e){return this.reverse()[t](e).reverse()}})),Te(["filter","map","takeWhile"],(function(t,e){var n=e+1,r=1==n||3==n;Yn.prototype[t]=function(t){var e=this.clone();return e.__iteratees__.push({iteratee:oo(t,3),type:n}),e.__filtered__=e.__filtered__||r,e}})),Te(["head","last"],(function(t,e){var n="take"+(e?"Right":"");Yn.prototype[t]=function(){return this[n](1).value()[0]}})),Te(["initial","tail"],(function(t,e){var n="drop"+(e?"":"Right");Yn.prototype[t]=function(){return this.__filtered__?new Yn(this):this[n](1)}})),Yn.prototype.compact=function(){return this.filter(nc)},Yn.prototype.find=function(t){return this.filter(t).head()},Yn.prototype.findLast=function(t){return this.reverse().find(t)},Yn.prototype.invokeMap=Xr((function(t,e){return"function"==typeof t?new Yn(this):this.map((function(n){return Ar(n,t,e)}))})),Yn.prototype.reject=function(t){return this.filter(Pa(oo(t)))},Yn.prototype.slice=function(t,e){t=ds(t);var n=this;return n.__filtered__&&(t>0||e<0)?new Yn(n):(t<0?n=n.takeRight(-t):t&&(n=n.drop(t)),e!==i&&(n=(e=ds(e))<0?n.dropRight(-e):n.take(e-t)),n)},Yn.prototype.takeRightWhile=function(t){return this.reverse().takeWhile(t).reverse()},Yn.prototype.toArray=function(){return this.take(d)},yr(Yn.prototype,(function(t,e){var n=/^(?:filter|find|map|reject)|While$/.test(e),r=/^(?:head|last)$/.test(e),o=Gn[r?"take"+("last"==e?"Right":""):e],a=r||/^find/.test(e);o&&(Gn.prototype[e]=function(){var e=this.__wrapped__,s=r?[1]:arguments,c=e instanceof Yn,u=s[0],l=c||za(e),h=function(t){var e=o.apply(Gn,Ie([t],s));return r&&f?e[0]:e};l&&n&&"function"==typeof u&&1!=u.length&&(c=l=!1);var f=this.__chain__,d=!!this.__actions__.length,p=a&&!f,g=c&&!d;if(!a&&l){e=g?e:new Yn(this);var v=t.apply(e,s);return v.__actions__.push({func:fa,args:[h],thisArg:i}),new Hn(v,f)}return p&&g?t.apply(this,s):(v=this.thru(h),p?r?v.value()[0]:v.value():v)})})),Te(["pop","push","shift","sort","splice","unshift"],(function(t){var e=At[t],n=/^(?:push|sort|unshift)$/.test(t)?"tap":"thru",r=/^(?:pop|shift)$/.test(t);Gn.prototype[t]=function(){var t=arguments;if(r&&!this.__chain__){var i=this.value();return e.apply(za(i)?i:[],t)}return this[n]((function(n){return e.apply(za(n)?n:[],t)}))}})),yr(Yn.prototype,(function(t,e){var n=Gn[e];if(n){var r=n.name+"";Mt.call(Sn,r)||(Sn[r]=[]),Sn[r].push({name:e,func:n})}})),Sn[ji(i,2).name]=[{name:"wrapper",func:i}],Yn.prototype.clone=function(){var t=new Yn(this.__wrapped__);return t.__actions__=Ci(this.__actions__),t.__dir__=this.__dir__,t.__filtered__=this.__filtered__,t.__iteratees__=Ci(this.__iteratees__),t.__takeCount__=this.__takeCount__,t.__views__=Ci(this.__views__),t},Yn.prototype.reverse=function(){if(this.__filtered__){var t=new Yn(this);t.__dir__=-1,t.__filtered__=!0}else(t=this.clone()).__dir__*=-1;return t},Yn.prototype.value=function(){var t=this.__wrapped__.value(),e=this.__dir__,n=za(t),r=e<0,i=n?t.length:0,o=function(t,e,n){for(var r=-1,i=n.length;++r=this.__values__.length;return{done:t,value:t?i:this.__values__[this.__index__++]}},Gn.prototype.plant=function(t){for(var e,n=this;n instanceof Fn;){var r=Go(n);r.__index__=0,r.__values__=i,e?o.__wrapped__=r:e=r;var o=r;n=n.__wrapped__}return o.__wrapped__=t,e},Gn.prototype.reverse=function(){var t=this.__wrapped__;if(t instanceof Yn){var e=t;return this.__actions__.length&&(e=new Yn(this)),(e=e.reverse()).__actions__.push({func:fa,args:[Jo],thisArg:i}),new Hn(e,this.__chain__)}return this.thru(Jo)},Gn.prototype.toJSON=Gn.prototype.valueOf=Gn.prototype.value=function(){return hi(this.__wrapped__,this.__actions__)},Gn.prototype.first=Gn.prototype.head,$t&&(Gn.prototype[$t]=function(){return this}),Gn}();he._=pn,(r=function(){return pn}.call(e,n,e,t))===i||(t.exports=r)}.call(this)},5161:(t,e,n)=>{var r=n(9932),i=n(7206),o=n(9199),a=n(1469);t.exports=function(t,e){return(a(t)?r:o)(t,i(e,3))}},6604:(t,e,n)=>{var r=n(9465),i=n(7816),o=n(7206);t.exports=function(t,e){var n={};return e=o(e,3),i(t,(function(t,i,o){r(n,i,e(t,i,o))})),n}},6162:(t,e,n)=>{var r=n(6029),i=n(3325),o=n(6557);t.exports=function(t){return t&&t.length?r(t,o,i):void 0}},8306:(t,e,n)=>{var r=n(3369);function i(t,e){if("function"!=typeof t||null!=e&&"function"!=typeof e)throw new TypeError("Expected a function");var n=function(){var r=arguments,i=e?e.apply(this,r):r[0],o=n.cache;if(o.has(i))return o.get(i);var a=t.apply(this,r);return n.cache=o.set(i,a)||o,a};return n.cache=new(i.Cache||r),n}i.Cache=r,t.exports=i},3857:(t,e,n)=>{var r=n(2980),i=n(1463)((function(t,e,n){r(t,e,n)}));t.exports=i},3632:(t,e,n)=>{var r=n(6029),i=n(433),o=n(6557);t.exports=function(t){return t&&t.length?r(t,o,i):void 0}},2762:(t,e,n)=>{var r=n(6029),i=n(7206),o=n(433);t.exports=function(t,e){return t&&t.length?r(t,i(e,2),o):void 0}},308:t=>{t.exports=function(){}},7771:(t,e,n)=>{var r=n(5639);t.exports=function(){return r.Date.now()}},9722:(t,e,n)=>{var r=n(5970),i=n(9021)((function(t,e){return null==t?{}:r(t,e)}));t.exports=i},9601:(t,e,n)=>{var r=n(371),i=n(9152),o=n(5403),a=n(327);t.exports=function(t){return o(t)?r(a(t)):i(t)}},6026:(t,e,n)=>{var r=n(7445)();t.exports=r},4061:(t,e,n)=>{var r=n(2663),i=n(9881),o=n(7206),a=n(107),s=n(1469);t.exports=function(t,e,n){var c=s(t)?r:a,u=arguments.length<3;return c(t,o(e,4),n,u,i)}},6968:(t,e,n)=>{var r=n(611);t.exports=function(t,e,n){return null==t?t:r(t,e,n)}},4238:(t,e,n)=>{var r=n(280),i=n(4160),o=n(8612),a=n(7037),s=n(8016);t.exports=function(t){if(null==t)return 0;if(o(t))return a(t)?s(t):t.length;var e=i(t);return"[object Map]"==e||"[object Set]"==e?t.size:r(t).length}},9734:(t,e,n)=>{var r=n(1078),i=n(9556),o=n(5976),a=n(6612),s=o((function(t,e){if(null==t)return[];var n=e.length;return n>1&&a(t,e[0],e[1])?e=[]:n>2&&a(e[0],e[1],e[2])&&(e=[e[0]]),i(t,r(e,1),[])}));t.exports=s},479:t=>{t.exports=function(){return[]}},5062:t=>{t.exports=function(){return!1}},8601:(t,e,n)=>{var r=n(4841);t.exports=function(t){return t?Infinity===(t=r(t))||t===-1/0?17976931348623157e292*(t<0?-1:1):t==t?t:0:0===t?t:0}},554:(t,e,n)=>{var r=n(8601);t.exports=function(t){var e=r(t),n=e%1;return e==e?n?e-n:e:0}},4841:(t,e,n)=>{var r=n(7561),i=n(3218),o=n(3448),a=/^[-+]0x[0-9a-f]+$/i,s=/^0b[01]+$/i,c=/^0o[0-7]+$/i,u=parseInt;t.exports=function(t){if("number"==typeof t)return t;if(o(t))return NaN;if(i(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=i(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=r(t);var n=s.test(t);return n||c.test(t)?u(t.slice(2),n?2:8):a.test(t)?NaN:+t}},84:(t,e,n)=>{var r=n(9932),i=n(278),o=n(1469),a=n(3448),s=n(5514),c=n(327),u=n(9833);t.exports=function(t){return o(t)?r(t,c):a(t)?[t]:i(s(u(t)))}},3678:(t,e,n)=>{var r=n(8363),i=n(1704);t.exports=function(t){return r(t,i(t))}},9833:(t,e,n)=>{var r=n(531);t.exports=function(t){return null==t?"":r(t)}},8718:(t,e,n)=>{var r=n(7412),i=n(3118),o=n(7816),a=n(7206),s=n(5924),c=n(1469),u=n(4144),l=n(3560),h=n(3218),f=n(6719);t.exports=function(t,e,n){var d=c(t),p=d||u(t)||f(t);if(e=a(e,4),null==n){var g=t&&t.constructor;n=p?d?new g:[]:h(t)&&l(g)?i(s(t)):{}}return(p?r:o)(t,(function(t,r,i){return e(n,t,r,i)})),n}},3386:(t,e,n)=>{var r=n(1078),i=n(5976),o=n(5652),a=n(9246),s=i((function(t){return o(r(t,1,a,!0))}));t.exports=s},3955:(t,e,n)=>{var r=n(9833),i=0;t.exports=function(t){var e=++i;return r(t)+e}},2628:(t,e,n)=>{var r=n(7415),i=n(3674);t.exports=function(t){return null==t?[]:r(t,i(t))}},7287:(t,e,n)=>{var r=n(4865),i=n(1757);t.exports=function(t,e){return i(t||[],e||[],r)}},2703:(t,e,n)=>{"use strict";var r=n(414);function i(){}function o(){}o.resetWarningCache=i,t.exports=function(){function t(t,e,n,i,o,a){if(a!==r){var s=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw s.name="Invariant Violation",s}}function e(){return t}t.isRequired=t;var n={array:t,bigint:t,bool:t,func:t,number:t,object:t,string:t,symbol:t,any:t,arrayOf:e,element:t,elementType:t,instanceOf:e,node:t,objectOf:e,oneOf:e,oneOfType:e,shape:e,exact:e,checkPropTypes:o,resetWarningCache:i};return n.PropTypes=n,n}},5697:(t,e,n)=>{t.exports=n(2703)()},414:t=>{"use strict";t.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},3379:t=>{"use strict";var e=[];function n(t){for(var n=-1,r=0;r{"use strict";var e={};t.exports=function(t,n){var r=function(t){if(void 0===e[t]){var n=document.querySelector(t);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(t){n=null}e[t]=n}return e[t]}(t);if(!r)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");r.appendChild(n)}},9216:t=>{"use strict";t.exports=function(t){var e=document.createElement("style");return t.setAttributes(e,t.attributes),t.insert(e,t.options),e}},3565:(t,e,n)=>{"use strict";t.exports=function(t){var e=n.nc;e&&t.setAttribute("nonce",e)}},7795:t=>{"use strict";t.exports=function(t){if("undefined"==typeof document)return{update:function(){},remove:function(){}};var e=t.insertStyleElement(t);return{update:function(n){!function(t,e,n){var r="";n.supports&&(r+="@supports (".concat(n.supports,") {")),n.media&&(r+="@media ".concat(n.media," {"));var i=void 0!==n.layer;i&&(r+="@layer".concat(n.layer.length>0?" ".concat(n.layer):""," {")),r+=n.css,i&&(r+="}"),n.media&&(r+="}"),n.supports&&(r+="}");var o=n.sourceMap;o&&"undefined"!=typeof btoa&&(r+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(o))))," */")),e.styleTagTransform(r,t,e.options)}(e,t,n)},remove:function(){!function(t){if(null===t.parentNode)return!1;t.parentNode.removeChild(t)}(e)}}}},4589:t=>{"use strict";t.exports=function(t,e){if(e.styleSheet)e.styleSheet.cssText=t;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(t))}}},5295:module=>{var __dirname="/",f;f=function(){var define,module,exports;return function t(e,n,r){function i(a,s){if(!n[a]){if(!e[a]){if(o)return o(a,!0);var c=new Error("Cannot find module '"+a+"'");throw c.code="MODULE_NOT_FOUND",c}var u=n[a]={exports:{}};e[a][0].call(u.exports,(function(t){return i(e[a][1][t]||t)}),u,u.exports,t,e,n,r)}return n[a].exports}for(var o=void 0,a=0;ae?1:0},this.require(t,"_$_$_cmp"),this.spread((function(t){var e=t.sort(_$_$_cmp);resolve(e)})).then((function(r){for(var i=function(n,i,o){i=Math.min(i,e),o=Math.min(o,e);for(var a=n,s=i,c=[],u=a;u=o||t(l,h)<=0)?(c.push(l),n++):(c.push(h),i++)}for(u=0;u1?", "+JSON.stringify(n):"")+" );"," "," resolve = origResolve;"," resolve( res.length > 0 ? res : ret );","}"].join("\n"))}};util.extend(thdfn,{reduce:defineFnal({name:"reduce"}),reduceRight:defineFnal({name:"reduceRight"}),map:defineFnal({name:"map"})});var fn=thdfn;fn.promise=fn.run,fn.terminate=fn.halt=fn.stop,fn.include=fn.require,util.extend(thdfn,{on:define.on(),one:define.on({unbindSelfOnTrigger:!0}),off:define.off(),trigger:define.trigger()}),define.eventAliasesOn(thdfn),module.exports=Thread},{"./define":1,"./event":2,"./is":5,"./promise":6,"./util":8,"./window":9,child_process:void 0,path:void 0}],8:[function(t,e,n){"use strict";var r,i=t("./is");r={extend:function(){var t,e,n,o,a,s,c=arguments[0]||{},u=1,l=arguments.length,h=!1;for("boolean"==typeof c&&(h=c,c=arguments[1]||{},u=2),"object"==typeof c||i.fn(c)||(c={}),l===u&&(c=this,--u);u{"use strict";function r(t){for(var n in t)e.hasOwnProperty(n)||(e[n]=t[n])}Object.defineProperty(e,"__esModule",{value:!0}),r(n(89)),r(n(2845)),r(n(7069)),r(n(6085)),r(n(7598)),r(n(7384)),r(n(7426)),r(n(6749)),r(n(9427)),r(n(8793)),r(n(7421)),r(n(1138)),r(n(31)),r(n(2867)),r(n(4926)),r(n(7565))},89:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},r(t,e)},function(t,e){function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,"__esModule",{value:!0});var o=n(7426),a=function(t){function e(e){var n=t.call(this)||this,r=e;return r.trigger&&(n.trigger=r.trigger),r.kick&&(n.kick=r.kick),r.drag&&(n.drag=r.drag),r.on&&(n.on=r.on),n.dragstart=n.dragStart=o.Layout.dragStart,n.dragend=n.dragEnd=o.Layout.dragEnd,n}return i(e,t),e.prototype.trigger=function(t){},e.prototype.kick=function(){},e.prototype.drag=function(){},e.prototype.on=function(t,e){return this},e}(o.Layout);e.LayoutAdaptor=a,e.adaptor=function(t){return new a(t)}},7565:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(7426),i=n(7598);e.gridify=function(t,e,n,r){return t.cola.start(0,0,0,10,!1),function(t,e,n,r){t.forEach((function(t){t.routerNode={name:t.name,bounds:t.bounds.inflate(-n)}})),e.forEach((function(e){e.routerNode={bounds:e.bounds.inflate(-r),children:(void 0!==e.groups?e.groups.map((function(e){return t.length+e.id})):[]).concat(void 0!==e.leaves?e.leaves.map((function(t){return t.index})):[])}}));var o=t.concat(e).map((function(t,e){return t.routerNode.id=e,t.routerNode}));return new i.GridRouter(o,{getChildren:function(t){return t.children},getBounds:function(t){return t.bounds}},n-r)}(t.cola.nodes(),t.cola.groups(),n,r).routeEdges(t.powerGraph.powerEdges,e,(function(t){return t.source.routerNode.id}),(function(t){return t.target.routerNode.id}))},e.powerGraphGridLayout=function(t,e,n){var i;t.nodes.forEach((function(t,e){return t.index=e})),(new r.Layout).avoidOverlaps(!1).nodes(t.nodes).links(t.links).powerGraphGroups((function(t){(i=t).groups.forEach((function(t){return t.padding=n}))}));var o=t.nodes.length,a=[],s=t.nodes.slice(0);return s.forEach((function(t,e){return t.index=e})),i.groups.forEach((function(t){var e=t.index=t.id+o;s.push(t),void 0!==t.leaves&&t.leaves.forEach((function(t){return a.push({source:e,target:t.index})})),void 0!==t.groups&&t.groups.forEach((function(t){return a.push({source:e,target:t.id+o})}))})),i.powerEdges.forEach((function(t){a.push({source:t.source.index,target:t.target.index})})),(new r.Layout).size(e).nodes(s).links(a).avoidOverlaps(!1).linkDistance(30).symmetricDiffLinkLengths(5).convergenceThreshold(1e-4).start(100,0,0,0,!1),{cola:(new r.Layout).convergenceThreshold(.001).size(e).avoidOverlaps(!0).nodes(t.nodes).links(t.links).groupCompactness(1e-4).linkDistance(30).symmetricDiffLinkLengths(5).powerGraphGroups((function(t){(i=t).groups.forEach((function(t){t.padding=n}))})).start(50,0,100,0,!1),powerGraph:i}}},2845:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(1509),i=n(1374);e.d3adaptor=function(t){return!t||function(t){return t.version&&null!==t.version.match(/^3\./)}(t)?new r.D3StyleLayoutAdaptor:new i.D3StyleLayoutAdaptor(t)}},1509:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},r(t,e)},function(t,e){function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,"__esModule",{value:!0});var o=n(7426),a=function(t){function e(){var e=t.call(this)||this;e.event=d3.dispatch(o.EventType[o.EventType.start],o.EventType[o.EventType.tick],o.EventType[o.EventType.end]);var n=e;return e.drag=function(){if(!t)var t=d3.behavior.drag().origin(o.Layout.dragOrigin).on("dragstart.d3adaptor",o.Layout.dragStart).on("drag.d3adaptor",(function(t){o.Layout.drag(t,d3.event),n.resume()})).on("dragend.d3adaptor",o.Layout.dragEnd);if(!arguments.length)return t;this.call(t)},e}return i(e,t),e.prototype.trigger=function(t){var e={type:o.EventType[t.type],alpha:t.alpha,stress:t.stress};this.event[e.type](e)},e.prototype.kick=function(){var e=this;d3.timer((function(){return t.prototype.tick.call(e)}))},e.prototype.on=function(t,e){return"string"==typeof t?this.event.on(t,e):this.event.on(o.EventType[t],e),this},e}(o.Layout);e.D3StyleLayoutAdaptor=a,e.d3adaptor=function(){return new a}},1374:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},r(t,e)},function(t,e){function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,"__esModule",{value:!0});var o=n(7426),a=function(t){function e(e){var n=t.call(this)||this;n.d3Context=e,n.event=e.dispatch(o.EventType[o.EventType.start],o.EventType[o.EventType.tick],o.EventType[o.EventType.end]);var r=n;return n.drag=function(){if(!t)var t=e.drag().subject(o.Layout.dragOrigin).on("start.d3adaptor",o.Layout.dragStart).on("drag.d3adaptor",(function(t){o.Layout.drag(t,e.event),r.resume()})).on("end.d3adaptor",o.Layout.dragEnd);if(!arguments.length)return t;arguments[0].call(t)},n}return i(e,t),e.prototype.trigger=function(t){var e={type:o.EventType[t.type],alpha:t.alpha,stress:t.stress};this.event.call(e.type,e)},e.prototype.kick=function(){var e=this,n=this.d3Context.timer((function(){return t.prototype.tick.call(e)&&n.stop()}))},e.prototype.on=function(t,e){return"string"==typeof t?this.event.on(t,e):this.event.on(o.EventType[t],e),this},e}(o.Layout);e.D3StyleLayoutAdaptor=a},7069:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(){this.locks={}}return t.prototype.add=function(t,e){this.locks[t]=e},t.prototype.clear=function(){this.locks={}},t.prototype.isEmpty=function(){for(var t in this.locks)return!1;return!0},t.prototype.apply=function(t){for(var e in this.locks)t(Number(e),this.locks[e])},t}();e.Locks=n;var r=function(){function t(t,e,r){void 0===r&&(r=null),this.D=e,this.G=r,this.threshold=1e-4,this.numGridSnapNodes=0,this.snapGridSize=100,this.snapStrength=1e3,this.scaleSnapByMaxH=!1,this.random=new i,this.project=null,this.x=t,this.k=t.length;var o=this.n=t[0].length;this.H=new Array(this.k),this.g=new Array(this.k),this.Hd=new Array(this.k),this.a=new Array(this.k),this.b=new Array(this.k),this.c=new Array(this.k),this.d=new Array(this.k),this.e=new Array(this.k),this.ia=new Array(this.k),this.ib=new Array(this.k),this.xtmp=new Array(this.k),this.locks=new n,this.minD=Number.MAX_VALUE;for(var a,s=o;s--;)for(a=o;--a>s;){var c=e[s][a];c>0&&c1e-9)break;var d=this.offsetDir();for(r=0;r1&&p>g||!isFinite(g))for(r=0;r1&&(v=1);var b=g*g,y=2*v*(p-g)/(b*p),m=p*p*p,w=2*-v/(b*m);for(isFinite(y)||console.log(y),r=0;r0?T-(A+1)*_:T-(A-1)*_)&&f<=x&&(this.scaleSnapByMaxH?(this.g[r][c]+=s*E*f,this.H[r][c][c]+=s*E):(this.g[r][c]+=E*f,this.H[r][c][c]+=E))}this.locks.isEmpty()||this.locks.apply((function(n,i){for(r=0;r0;)for(var i=e;i-- >0;)n(r,i)},t.prototype.matrixApply=function(e){t.mApply(this.k,this.n,e)},t.prototype.computeNextPosition=function(t,e){var n=this;this.computeDerivatives(t);var r=this.computeStepSize(this.g);if(this.stepAndProject(t,e,this.g,r),this.project){this.matrixApply((function(r,i){return n.e[r][i]=t[r][i]-e[r][i]}));var i=this.computeStepSize(this.e);i=Math.max(.2,Math.min(i,1)),this.stepAndProject(t,e,this.e,i)}},t.prototype.run=function(t){for(var e=Number.MAX_VALUE,n=!1;!n&&t-- >0;){var r=this.rungeKutta();n=Math.abs(e/r-1)>16)/this.range},t.prototype.getNextBetween=function(t,e){return t+this.getNext()*(e-t)},t}();e.PseudoRandom=i},6085:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},r(t,e)},function(t,e){function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,"__esModule",{value:!0});var o=n(31),a=function(){};e.Point=a;var s=function(t,e,n,r){this.x1=t,this.y1=e,this.x2=n,this.y2=r};e.LineSegment=s;var c=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e}(a);function u(t,e,n){return(e.x-t.x)*(n.y-t.y)-(n.x-t.x)*(e.y-t.y)}function l(t,e,n){return u(t,e,n)>0}function h(t,e,n){return u(t,e,n)<0}function f(t,e){var n,r,i,o,a=e.length-1;if(h(t,e[1],e[0])&&!l(t,e[a-1],e[0]))return 0;for(n=0,r=a;;){if(r-n==1)return l(t,e[n],e[r])?n:r;if((o=h(t,e[(i=Math.floor((n+r)/2))+1],e[i]))&&!l(t,e[i-1],e[i]))return i;l(t,e[n+1],e[n])?o||l(t,e[n],e[i])?r=i:n=i:o&&h(t,e[n],e[i])?r=i:n=i}}function d(t,e){var n,r,i,o,a=e.length-1;if(l(t,e[a-1],e[0])&&!h(t,e[1],e[0]))return 0;for(n=0,r=a;;){if(r-n==1)return h(t,e[n],e[r])?n:r;if(o=h(t,e[(i=Math.floor((n+r)/2))+1],e[i]),l(t,e[i-1],e[i])&&!o)return i;h(t,e[n+1],e[n])?o?h(t,e[n],e[i])?r=i:n=i:r=i:o?n=i:l(t,e[n],e[i])?r=i:n=i}}function p(t,e,n,r,i,o){var a,s;s=r(t[a=n(e[0],t)],e);for(var c=!1;!c;){for(c=!0;a===t.length-1&&(a=0),!i(e[s],t[a],t[a+1]);)++a;for(;0===s&&(s=e.length-1),!o(t[a],e[s],e[s-1]);)--s,c=!1}return{t1:a,t2:s}}function g(t,e){return p(t,e,f,d,l,h)}e.PolyPoint=c,e.isLeft=u,e.ConvexHull=function(t){var e,n=t.slice(0).sort((function(t,e){return t.x!==e.x?e.x-t.x:e.y-t.y})),r=t.length,i=n[0].x;for(e=1;e=0&&n[e].x===l;e--);for(s=e+1,e=o;++e<=s;)if(!(u(n[0],n[s],n[e])>=0&&e1&&!(u(a[a.length-2],a[a.length-1],n[e])>0);)a.length-=1;0!=e&&a.push(n[e])}c!=s&&a.push(n[c]);var h=a.length;for(e=s;--e>=o;)if(!(u(n[c],n[o],n[e])>=0&&e>o)){for(;a.length>h&&!(u(a[a.length-2],a[a.length-1],n[e])>0);)a.length-=1;0!=e&&a.push(n[e])}}return a},e.clockwiseRadialSweep=function(t,e,n){e.slice(0).sort((function(e,n){return Math.atan2(e.y-t.y,e.x-t.x)-Math.atan2(n.y-t.y,n.x-t.x)})).forEach(n)},e.tangent_PolyPolyC=p,e.LRtangent_PolyPolyC=function(t,e){var n=g(e,t);return{t1:n.t2,t2:n.t1}},e.RLtangent_PolyPolyC=g,e.LLtangent_PolyPolyC=function(t,e){return p(t,e,d,d,h,h)},e.RRtangent_PolyPolyC=function(t,e){return p(t,e,f,f,l,l)};var v=function(t,e){this.t1=t,this.t2=e};e.BiTangent=v;var b=function(){};e.BiTangents=b;var y=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e}(a);e.TVGPoint=y;var m=function(t,e,n,r){this.id=t,this.polyid=e,this.polyvertid=n,this.p=r,r.vv=this};e.VisibilityVertex=m;var w=function(){function t(t,e){this.source=t,this.target=e}return t.prototype.length=function(){var t=this.source.p.x-this.target.p.x,e=this.source.p.y-this.target.p.y;return Math.sqrt(t*t+e*e)},t}();e.VisibilityEdge=w;var x=function(){function t(t,e){if(this.P=t,this.V=[],this.E=[],e)this.V=e.V.slice(0),this.E=e.E.slice(0);else{for(var n=t.length,r=0;r0&&this.E.push(new w(i[o-1].vv,s))}i.length>1&&this.E.push(new w(i[0].vv,i[i.length-1].vv))}for(r=0;r0)return!0;return!1},t}();function _(t,e){for(var n=[],r=1,i=e.length;r=0&&g>=0&&y<0&&m>=0&&w>=0&&x<0?i.ll=new v(o,a):p<=0&&g<=0&&y>0&&m<=0&&w<=0&&x>0?i.rr=new v(o,a):p<=0&&g>0&&y<=0&&m>=0&&w<0&&x>=0?i.rl=new v(o,a):p>=0&&g<0&&y>=0&&m<=0&&w>0&&x<=0&&(i.lr=new v(o,a))}return i}function k(t,e){return!t.every((function(t){return!function(t,e){for(var n=1,r=e.length;n0)return!0}return!1}},7598:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(31),i=n(4926),o=n(2867),a=function(t,e,n){this.id=t,this.rect=e,this.children=n,this.leaf=void 0===n||0===n.length};e.NodeWrapper=a;var s=function(t,e,n,r,i){void 0===r&&(r=null),void 0===i&&(i=null),this.id=t,this.x=e,this.y=n,this.node=r,this.line=i};e.Vert=s;var c=function(){function t(e,n){this.s=e,this.t=n;var r=t.findMatch(e,n),i=n.slice(0).reverse(),o=t.findMatch(e,i);r.length>=o.length?(this.length=r.length,this.si=r.si,this.ti=r.ti,this.reversed=!1):(this.length=o.length,this.si=o.si,this.ti=n.length-o.ti-o.length,this.reversed=!0)}return t.findMatch=function(t,e){for(var n=t.length,r=e.length,i={length:0,si:-1,ti:-1},o=new Array(n),a=0;ai.length&&(i.length=c,i.si=a-c+1,i.ti=s-c+1)}else o[a][s]=0}return i},t.prototype.getSequence=function(){return this.length>=0?this.s.slice(this.si,this.si+this.length):[]},t}();e.LongestCommonSubsequence=c;var u=function(){function t(t,e,n){var i=this;void 0===n&&(n=12),this.originalnodes=t,this.groupPadding=n,this.leaves=null,this.nodes=t.map((function(t,n){return new a(n,e.getBounds(t),e.getChildren(t))})),this.leaves=this.nodes.filter((function(t){return t.leaf})),this.groups=this.nodes.filter((function(t){return!t.leaf})),this.cols=this.getGridLines("x"),this.rows=this.getGridLines("y"),this.groups.forEach((function(t){return t.children.forEach((function(e){return i.nodes[e].parent=t}))})),this.root={children:[]},this.nodes.forEach((function(t){void 0===t.parent&&(t.parent=i.root,i.root.children.push(t.id)),t.ports=[]})),this.backToFront=this.nodes.slice(0),this.backToFront.sort((function(t,e){return i.getDepth(t)-i.getDepth(e)})),this.backToFront.slice(0).reverse().filter((function(t){return!t.leaf})).forEach((function(t){var e=r.Rectangle.empty();t.children.forEach((function(t){return e=e.union(i.nodes[t].rect)})),t.rect=e.inflate(i.groupPadding)}));var o=this.midPoints(this.cols.map((function(t){return t.pos}))),c=this.midPoints(this.rows.map((function(t){return t.pos}))),u=o[0],l=o[o.length-1],h=c[0],f=c[c.length-1],d=this.rows.map((function(t){return{x1:u,x2:l,y1:t.pos,y2:t.pos}})).concat(c.map((function(t){return{x1:u,x2:l,y1:t,y2:t}}))),p=this.cols.map((function(t){return{x1:t.pos,x2:t.pos,y1:h,y2:f}})).concat(o.map((function(t){return{x1:t,x2:t,y1:h,y2:f}}))),g=d.concat(p);g.forEach((function(t){return t.verts=[]})),this.verts=[],this.edges=[],d.forEach((function(t){return p.forEach((function(e){var n=new s(i.verts.length,e.x1,t.y1);t.verts.push(n),e.verts.push(n),i.verts.push(n);for(var r=i.backToFront.length;r-- >0;){var o=i.backToFront[r],a=o.rect,c=Math.abs(n.x-a.cx()),u=Math.abs(n.y-a.cy());if(c0;){var r=n.filter((function(e){return e.rect["overlap"+t.toUpperCase()](n[0].rect)})),i={nodes:r,pos:this.avg(r.map((function(e){return e.rect["c"+t]()})))};e.push(i),i.nodes.forEach((function(t){return n.splice(n.indexOf(t),1)}))}return e.sort((function(t,e){return t.pos-e.pos})),e},t.prototype.getDepth=function(t){for(var e=0;t.parent!==this.root;)e++,t=t.parent;return e},t.prototype.midPoints=function(t){for(var e=t[1]-t[0],n=[t[0]-e/2],r=1;r.1)&&(u={pos:h[0][e],segments:[]},c.push(u)),u.segments.push(h)}return c},t.nudgeSegs=function(t,e,n,r,o,a){var s=r.length;if(!(s<=1)){for(var c=r.map((function(e){return new i.Variable(e[0][t])})),u=[],l=0;l=0&&u.push(new i.Constraint(c[v],c[b],a))}new i.Solver(c,u).solve(),c.forEach((function(e,i){var o=r[i],a=e.position();o[0][t]=o[1][t]=a;var s=n[o.edgeid];o.i>0&&(s[o.i-1][1][t]=a),o.iMath.PI||i<-Math.PI)&&(i=r-n),i},t.isLeft=function(t,e,n){return(e.x-t.x)*(n.y-t.y)-(e.y-t.y)*(n.x-t.x)<=0},t.getOrder=function(t){for(var e={},n=0;n=u.length||h.ti+h.length>=l.length)?n.push({l:r,r:i}):(h.si+h.length>=u.length||h.ti+h.length>=l.length?(o=u[h.si+1],s=u[h.si-1],a=l[h.ti-1]):(o=u[h.si+h.length-2],a=u[h.si+h.length],s=l[h.ti+h.length]),t.isLeft(o,a,s)?n.push({l:i,r}):n.push({l:r,r:i})))}return t.getOrder(n)},t.makeSegments=function(t){function e(t){return{x:t.x,y:t.y}}for(var n=function(t,e,n){return Math.abs((e.x-t.x)*(n.y-t.y)-(e.y-t.y)*(n.x-t.x))<.001},r=[],i=e(t[0]),o=1;o1&&l>1?1e3:0})),h=l.reverse().map((function(t){return n.verts[t]}));return h.push(this.nodes[i.id].ports[0]),h.filter((function(t,e){return!(e0&&t.node===i&&h[e-1].node===i)}))},t.getRoutePath=function(e,n,r,i){var o,a,s,c={routepath:"M "+e[0][0].x+" "+e[0][0].y+" ",arrowpath:""};if(e.length>1)for(var u=0;u0?l-=f/Math.abs(f)*n:h-=d/Math.abs(d)*n,c.routepath+="L "+l+" "+h+" ";var p=e[u+1],g=p[0].x,v=p[0].y;f=p[1].x-g,d=p[1].y-v;var b,y,m=t.angleBetween2Lines(o,p)<0?1:0;Math.abs(f)>0?(b=g+f/Math.abs(f)*n,y=v):(b=g,y=v+d/Math.abs(d)*n);var w=Math.abs(b-l),x=Math.abs(y-h);c.routepath+="A "+w+" "+x+" 0 0 "+m+" "+b+" "+y+" "}else{var _=[l,h];Math.abs(f)>0?(a=[l-=f/Math.abs(f)*i,h+r],s=[l,h-r]):(a=[l+r,h-=d/Math.abs(d)*i],s=[l-r,h]),c.routepath+="L "+l+" "+h+" ",i>0&&(c.arrowpath="M "+_[0]+" "+_[1]+" L "+a[0]+" "+a[1]+" L "+s[0]+" "+s[1])}}else l=(o=e[0])[1].x,h=o[1].y,f=l-o[0].x,d=h-o[0].y,_=[l,h],Math.abs(f)>0?(a=[l-=f/Math.abs(f)*i,h+r],s=[l,h-r]):(a=[l+r,h-=d/Math.abs(d)*i],s=[l-r,h]),c.routepath+="L "+l+" "+h+" ",i>0&&(c.arrowpath="M "+_[0]+" "+_[1]+" L "+a[0]+" "+a[1]+" L "+s[0]+" "+s[1]);return c},t}();e.GridRouter=u},7384:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=10,r=(1+Math.sqrt(5))/2,i=1e-4;e.applyPacking=function(t,e,o,a,s,c){void 0===s&&(s=1),void 0===c&&(c=!0);var u=0,l=0,h=e,f=o,d=(s=void 0!==s?s:1,a=void 0!==a?a:0,0),p=0,g=0,v=0,b=[];function y(t,e){b=[],d=0,p=0,v=l;for(var n=0;n=t.height&&b[o].x+b[o].width+t.width+n-e<=i){r=b[o];break}b.push(t),void 0!==r?(t.x=r.x+r.width+n,t.y=r.bottom,t.space_left=t.height,t.bottom=t.y,r.space_left-=t.height+n,r.bottom+=t.height+n):(t.y=v,v+=t.height+n,t.x=u,t.bottom=t.y,t.space_left=t.height),t.y+t.height-p>-1e-4&&(p=t.y+t.height-l),t.x+t.width-d>-1e-4&&(d=t.x+t.width-u)}0!=t.length&&(function(t){t.forEach((function(t){var e,n,r,i,o;e=t,n=Number.MAX_VALUE,r=Number.MAX_VALUE,i=0,o=0,e.array.forEach((function(t){var e=void 0!==t.width?t.width:a,s=void 0!==t.height?t.height:a;e/=2,s/=2,i=Math.max(t.x+e,i),n=Math.min(t.x-e,n),o=Math.max(t.y+s,o),r=Math.min(t.y-s,r)})),e.width=i-n,e.height=o-r}))}(t),function(t,e){var o=Number.POSITIVE_INFINITY,a=0;t.sort((function(t,e){return e.height-t.height}));for(var s=v=g=t.reduce((function(t,e){return t.widthg||p>i;){if(1!=f){var v=c-(c-s)/r;l=y(t,v)}if(0!=f){var b=s+(c-s)/r;h=y(t,b)}if(d=Math.abs(v-b),p=Math.abs(l-h),lh?(s=v,v=b,l=h,f=1):(c=b,b=v,h=l,f=0),u++>100)break}y(t,a)}(t),c&&function(t){t.forEach((function(t){var e={x:0,y:0};t.array.forEach((function(t){e.x+=t.x,e.y+=t.y})),e.x/=t.array.length,e.y/=t.array.length;var n=e.x-t.width/2,r=e.y-t.height/2,i=t.x-n+h/2-d/2,o=t.y-r+f/2-p/2;t.array.forEach((function(t){t.x+=i,t.y+=o}))}))}(t))},e.separateGraphs=function(t,e){for(var n={},r={},i=[],o=0,a=0;a{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r,i=n(8793),o=n(9427),a=n(7069),s=n(31),c=n(2867),u=n(6085),l=n(7384);function h(t){return void 0!==t.leaves||void 0!==t.groups}!function(t){t[t.start=0]="start",t[t.tick=1]="tick",t[t.end=2]="end"}(r=e.EventType||(e.EventType={}));var f=function(){function t(){var e=this;this._canvasSize=[1,1],this._linkDistance=20,this._defaultNodeSize=10,this._linkLengthCalculator=null,this._linkType=null,this._avoidOverlaps=!1,this._handleDisconnected=!0,this._running=!1,this._nodes=[],this._groups=[],this._rootGroup=null,this._links=[],this._constraints=[],this._distanceMatrix=null,this._descent=null,this._directedLinkConstraints=null,this._threshold=.01,this._visibilityGraph=null,this._groupCompactness=1e-6,this.event=null,this.linkAccessor={getSourceIndex:t.getSourceIndex,getTargetIndex:t.getTargetIndex,setLength:t.setLinkLength,getType:function(t){return"function"==typeof e._linkType?e._linkType(t):0}}}return t.prototype.on=function(t,e){return this.event||(this.event={}),"string"==typeof t?this.event[r[t]]=e:this.event[t]=e,this},t.prototype.trigger=function(t){this.event&&void 0!==this.event[t.type]&&this.event[t.type](t)},t.prototype.kick=function(){for(;!this.tick(););},t.prototype.tick=function(){if(this._alpha0){var e=0;this._links.forEach((function(t){e=Math.max(e,t.source,t.target)})),this._nodes=new Array(++e);for(var n=0;n0?t:0:t>0&&(this._running||(this._running=!0,this.trigger({type:r.start,alpha:this._alpha=t}),this.kick())),this):this._alpha},t.prototype.getLinkLength=function(t){return"function"==typeof this._linkDistance?+this._linkDistance(t):this._linkDistance},t.setLinkLength=function(t,e){t.length=e},t.prototype.getLinkType=function(t){return"function"==typeof this._linkType?this._linkType(t):0},t.prototype.symmetricDiffLinkLengths=function(t,e){var n=this;return void 0===e&&(e=1),this.linkDistance((function(e){return t*e.length})),this._linkLengthCalculator=function(){return o.symmetricDiffLinkLengths(n._links,n.linkAccessor,e)},this},t.prototype.jaccardLinkLengths=function(t,e){var n=this;return void 0===e&&(e=1),this.linkDistance((function(e){return t*e.length})),this._linkLengthCalculator=function(){return o.jaccardLinkLengths(n._links,n.linkAccessor,e)},this},t.prototype.start=function(e,n,r,i,u,l){var h=this;void 0===e&&(e=0),void 0===n&&(n=0),void 0===r&&(r=0),void 0===i&&(i=0),void 0===u&&(u=!0),void 0===l&&(l=!0);var f,d=this.nodes().length,p=d+2*this._groups.length,g=(this._links.length,this._canvasSize[0]),v=this._canvasSize[1],b=new Array(p),y=new Array(p),m=null,w=this._avoidOverlaps;this._nodes.forEach((function(t,e){t.index=e,void 0===t.x&&(t.x=g/2,t.y=v/2),b[e]=t.x,y[e]=t.y})),this._linkLengthCalculator&&this._linkLengthCalculator(),this._distanceMatrix?f=this._distanceMatrix:(f=new c.Calculator(p,this._links,t.getSourceIndex,t.getTargetIndex,(function(t){return h.getLinkLength(t)})).DistanceMatrix(),m=a.Descent.createSquareMatrix(p,(function(){return 2})),this._links.forEach((function(t){"number"==typeof t.source&&(t.source=h._nodes[t.source]),"number"==typeof t.target&&(t.target=h._nodes[t.target])})),this._links.forEach((function(e){var n=t.getSourceIndex(e),r=t.getTargetIndex(e);m[n][r]=m[r][n]=e.weight||1})));var x=a.Descent.createSquareMatrix(p,(function(t,e){return f[t][e]}));if(this._rootGroup&&void 0!==this._rootGroup.groups){var _=d;this._groups.forEach((function(t){!function(t,e,n,r){m[t][e]=m[e][t]=n,x[t][e]=x[e][t]=.1}(_,_+1,h._groupCompactness),b[_]=0,y[_++]=0,b[_]=0,y[_++]=0}))}else this._rootGroup={leaves:this._nodes,groups:[]};var E=this._constraints||[];for(this._directedLinkConstraints&&(this.linkAccessor.getMinSeparation=this._directedLinkConstraints.getMinSeparation,E=E.concat(o.generateDirectedEdgeConstraints(d,this._links,this._directedLinkConstraints.axis,this.linkAccessor))),this.avoidOverlaps(!1),this._descent=new a.Descent([b,y],x),this._descent.locks.clear(),_=0;_0&&(this._descent.project=new s.Projection(this._nodes,this._groups,this._rootGroup,E).projectFunctions()),this._descent.run(n),this.separateOverlappingComponents(g,v,l),this.avoidOverlaps(w),w&&(this._nodes.forEach((function(t,e){t.x=b[e],t.y=y[e]})),this._descent.project=new s.Projection(this._nodes,this._groups,this._rootGroup,E,!0).projectFunctions(),this._nodes.forEach((function(t,e){b[e]=t.x,y[e]=t.y}))),this._descent.G=m,this._descent.run(r),i){this._descent.snapStrength=1e3,this._descent.snapGridSize=this._nodes[0].width,this._descent.numGridSnapNodes=d,this._descent.scaleSnapByMaxH=d!=p;var C=a.Descent.createSquareMatrix(p,(function(t,e){return t>=d||e>=d?m[t][e]:0}));this._descent.G=C,this._descent.run(i)}return this.updateNodePositions(),this.separateOverlappingComponents(g,v,l),u?this.resume():this},t.prototype.initialLayout=function(e,n,r){if(this._groups.length>0&&e>0){var i=this._nodes.length,o=this._links.map((function(t){return{source:t.source.index,target:t.target.index}})),a=this._nodes.map((function(t){return{index:t.index}}));this._groups.forEach((function(t,e){a.push({index:t.index=i+e})})),this._groups.forEach((function(t,e){void 0!==t.leaves&&t.leaves.forEach((function(e){return o.push({source:t.index,target:e.index})})),void 0!==t.groups&&t.groups.forEach((function(e){return o.push({source:t.index,target:e.index})}))})),(new t).size(this.size()).nodes(a).links(o).avoidOverlaps(!1).linkDistance(this.linkDistance()).symmetricDiffLinkLengths(5).convergenceThreshold(1e-4).start(e,0,0,0,!1),this._nodes.forEach((function(t){n[t.index]=a[t.index].x,r[t.index]=a[t.index].y}))}else this._descent.run(e)},t.prototype.separateOverlappingComponents=function(t,e,n){var r=this;if(void 0===n&&(n=!0),!this._distanceMatrix&&this._handleDisconnected){var i=this._descent.x[0],o=this._descent.x[1];this._nodes.forEach((function(t,e){t.x=i[e],t.y=o[e]}));var a=l.separateGraphs(this._nodes,this._links);l.applyPacking(a,t,e,this._defaultNodeSize,1,n),this._nodes.forEach((function(t,e){r._descent.x[0][e]=t.x,r._descent.x[1][e]=t.y,t.bounds&&(t.bounds.setXCentre(t.x),t.bounds.setYCentre(t.y))}))}},t.prototype.resume=function(){return this.alpha(.1)},t.prototype.stop=function(){return this.alpha(0)},t.prototype.prepareEdgeRouting=function(t){void 0===t&&(t=0),this._visibilityGraph=new u.TangentVisibilityGraph(this._nodes.map((function(e){return e.bounds.inflate(-t).vertices()})))},t.prototype.routeEdge=function(t,e,n){void 0===e&&(e=5);var r=[],i=new u.TangentVisibilityGraph(this._visibilityGraph.P,{V:this._visibilityGraph.V,E:this._visibilityGraph.E}),o={x:t.source.x,y:t.source.y},a={x:t.target.x,y:t.target.y},l=i.addPoint(o,t.source.index),h=i.addPoint(a,t.target.index);i.addEdgeIfVisible(o,a,t.source.index,t.target.index),void 0!==n&&n(i);var f=new c.Calculator(i.V.length,i.E,(function(t){return t.source.id}),(function(t){return t.target.id}),(function(t){return t.length()})).PathFromNodeToNode(l.id,h.id);if(1===f.length||f.length===i.V.length){var d=s.makeEdgeBetween(t.source.innerBounds,t.target.innerBounds,e);r=[d.sourceIntersection,d.arrowStart]}else{for(var p=f.length-2,g=i.V[f[p]].p,v=i.V[f[0]].p,b=(r=[t.source.innerBounds.rayIntersection(g.x,g.y)],p);b>=0;--b)r.push(i.V[f[b]].p);r.push(s.makeEdgeTo(v,t.target.innerBounds,e))}return r},t.getSourceIndex=function(t){return"number"==typeof t.source?t.source:t.source.index},t.getTargetIndex=function(t){return"number"==typeof t.target?t.target:t.target.index},t.linkId=function(e){return t.getSourceIndex(e)+"-"+t.getTargetIndex(e)},t.dragStart=function(e){h(e)?t.storeOffset(e,t.dragOrigin(e)):(t.stopNode(e),e.fixed|=2)},t.stopNode=function(t){t.px=t.x,t.py=t.y},t.storeOffset=function(e,n){void 0!==e.leaves&&e.leaves.forEach((function(e){e.fixed|=2,t.stopNode(e),e._dragGroupOffsetX=e.x-n.x,e._dragGroupOffsetY=e.y-n.y})),void 0!==e.groups&&e.groups.forEach((function(e){return t.storeOffset(e,n)}))},t.dragOrigin=function(t){return h(t)?{x:t.bounds.cx(),y:t.bounds.cy()}:t},t.drag=function(e,n){h(e)?(void 0!==e.leaves&&e.leaves.forEach((function(t){e.bounds.setXCentre(n.x),e.bounds.setYCentre(n.y),t.px=t._dragGroupOffsetX+n.x,t.py=t._dragGroupOffsetY+n.y})),void 0!==e.groups&&e.groups.forEach((function(e){return t.drag(e,n)}))):(e.px=n.x,e.py=n.y)},t.dragEnd=function(e){h(e)?(void 0!==e.leaves&&e.leaves.forEach((function(e){t.dragEnd(e),delete e._dragGroupOffsetX,delete e._dragGroupOffsetY})),void 0!==e.groups&&e.groups.forEach(t.dragEnd)):e.fixed&=-7},t.mouseOver=function(t){t.fixed|=4,t.px=t.x,t.py=t.y},t.mouseOut=function(t){t.fixed&=-5},t}();e.Layout=f},6749:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(2867),i=n(7069),o=n(31),a=n(9427),s=function(){function t(t,e){this.source=t,this.target=e}return t.prototype.actualLength=function(t){var e=this;return Math.sqrt(t.reduce((function(t,n){var r=n[e.target]-n[e.source];return t+r*r}),0))},t}();e.Link3D=s;e.Node3D=function(t,e,n){void 0===t&&(t=0),void 0===e&&(e=0),void 0===n&&(n=0),this.x=t,this.y=e,this.z=n};var c=function(){function t(e,n,r){var i=this;void 0===r&&(r=1),this.nodes=e,this.links=n,this.idealLinkLength=r,this.constraints=null,this.useJaccardLinkLengths=!0,this.result=new Array(t.k);for(var o=0;o{"use strict";function n(t,e){var n={};for(var r in t)n[r]={};for(var r in e)n[r]={};return Object.keys(n).length}function r(t,e){var n=0;for(var r in t)void 0!==e[r]&&++n;return n}function i(t,e,n,r){var i=function(t,e){var n={},r=function(t,e){void 0===n[t]&&(n[t]={}),n[t][e]={}};return t.forEach((function(t){var n=e.getSourceIndex(t),i=e.getTargetIndex(t);r(n,i),r(i,n)})),n}(t,r);t.forEach((function(t){var o=i[r.getSourceIndex(t)],a=i[r.getTargetIndex(t)];r.setLength(t,1+e*n(o,a))}))}function o(t,e,n){var r=[],i=0,o=[],a=[];function s(t){t.index=t.lowlink=i++,o.push(t),t.onStack=!0;for(var e=0,n=t.out;e{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(t,e,n){this.source=t,this.target=e,this.type=n};e.PowerEdge=n;var r=function(){function t(t,e,n,r){var i=this;if(this.linkAccessor=n,this.modules=new Array(t),this.roots=[],r)this.initModulesFromGroup(r);else{this.roots.push(new a);for(var s=0;s=this.R))return this.merge(e.a,e.b,t),!0}},t.prototype.nEdges=function(t,e){var n=t.incoming.intersection(e.incoming),r=t.outgoing.intersection(e.outgoing);return this.R-n.count()-r.count()},t.prototype.getGroupHierarchy=function(t){var e=this,r=[];return i(this.roots[0],{},r),this.allEdges().forEach((function(i){var o=e.modules[i.source],a=e.modules[i.target];t.push(new n(void 0===o.gid?i.source:r[o.gid],void 0===a.gid?i.target:r[a.gid],i.type))})),r},t.prototype.allEdges=function(){var e=[];return t.getEdges(this.roots[0],e),e},t.getEdges=function(e,n){e.forAll((function(e){e.getEdges(n),t.getEdges(e.children,n)}))},t}();function i(t,e,n){t.forAll((function(t){if(t.isLeaf())e.leaves||(e.leaves=[]),e.leaves.push(t.id);else{var r=e;if(t.gid=n.length,!t.isIsland()||t.isPredefined()){if(r={id:t.gid},t.isPredefined())for(var o in t.definition)r[o]=t.definition[o];e.groups||(e.groups=[]),e.groups.push(t.gid),n.push(r)}i(t.children,r,n)}}))}e.Configuration=r;var o=function(){function t(t,e,n,r,i){void 0===e&&(e=new s),void 0===n&&(n=new s),void 0===r&&(r=new a),this.id=t,this.outgoing=e,this.incoming=n,this.children=r,this.definition=i}return t.prototype.getEdges=function(t){var e=this;this.outgoing.forAll((function(r,i){r.forAll((function(r){t.push(new n(e.id,r.id,i))}))}))},t.prototype.isLeaf=function(){return 0===this.children.count()},t.prototype.isIsland=function(){return 0===this.outgoing.count()&&0===this.incoming.count()},t.prototype.isPredefined=function(){return void 0!==this.definition},t}();e.Module=o;var a=function(){function t(){this.table={}}return t.prototype.count=function(){return Object.keys(this.table).length},t.prototype.intersection=function(e){var n=new t;return n.table=function(t,e){var n={};for(var r in t)r in e&&(n[r]=t[r]);return n}(this.table,e.table),n},t.prototype.intersectionCount=function(t){return this.intersection(t).count()},t.prototype.contains=function(t){return t in this.table},t.prototype.add=function(t){this.table[t.id]=t},t.prototype.remove=function(t){delete this.table[t.id]},t.prototype.forAll=function(t){for(var e in this.table)t(this.table[e])},t.prototype.modules=function(){var t=[];return this.forAll((function(e){e.isPredefined()||t.push(e)})),t},t}();e.ModuleSet=a;var s=function(){function t(){this.sets={},this.n=0}return t.prototype.count=function(){return this.n},t.prototype.contains=function(t){var e=!1;return this.forAllModules((function(n){e||n.id!=t||(e=!0)})),e},t.prototype.add=function(t,e){(t in this.sets?this.sets[t]:this.sets[t]=new a).add(e),++this.n},t.prototype.remove=function(t,e){var n=this.sets[t];n.remove(e),0===n.count()&&delete this.sets[t],--this.n},t.prototype.forAll=function(t){for(var e in this.sets)t(this.sets[e],Number(e))},t.prototype.forAllModules=function(t){this.forAll((function(e,n){return e.forAll(t)}))},t.prototype.intersection=function(e){var n=new t;return this.forAll((function(t,r){if(r in e.sets){var i=t.intersection(e.sets[r]),o=i.count();o>0&&(n.sets[r]=i,n.n+=o)}})),n},t}();e.LinkSets=s,e.getGroups=function(t,e,n,i){for(var o=t.length,a=new r(o,e,n,i);a.greedyMerge(););var s=[],c=a.getGroupHierarchy(s);return s.forEach((function(e){var n=function(n){var r=e[n];"number"==typeof r&&(e[n]=t[r])};n("source"),n("target")})),{groups:c,powerEdges:s}}},7421:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t){this.elem=t,this.subheaps=[]}return t.prototype.toString=function(t){for(var e="",n=!1,r=0;r0)}return null}}return t.prototype.clear=function(){this._root=null,this.size=0},t.prototype.find=function(t){for(var e=this._root;null!==e;){var n=this._comparator(t,e.data);if(0===n)return e.data;e=e.get_child(n>0)}return null},t.prototype.lowerBound=function(t){return this._bound(t,this._comparator)},t.prototype.upperBound=function(t){var e=this._comparator;return this._bound(t,(function(t,n){return e(n,t)}))},t.prototype.min=function(){var t=this._root;if(null===t)return null;for(;null!==t.left;)t=t.left;return t.data},t.prototype.max=function(){var t=this._root;if(null===t)return null;for(;null!==t.right;)t=t.right;return t.data},t.prototype.iterator=function(){return new o(this)},t.prototype.each=function(t){for(var e,n=this.iterator();null!==(e=n.next());)t(e)},t.prototype.reach=function(t){for(var e,n=this.iterator();null!==(e=n.prev());)t(e)},t.prototype._bound=function(t,e){for(var n=this._root,r=this.iterator();null!==n;){var i=this._comparator(t,n.data);if(0===i)return r._cursor=n,r;r._ancestors.push(n),n=n.get_child(i>0)}for(var o=r._ancestors.length-1;o>=0;--o)if(e(t,(n=r._ancestors[o]).data)>0)return r._cursor=n,r._ancestors.length=o,r;return r._ancestors.length=0,r},t}();e.TreeBase=i;var o=function(){function t(t){this._tree=t,this._ancestors=[],this._cursor=null}return t.prototype.data=function(){return null!==this._cursor?this._cursor.data:null},t.prototype.next=function(){if(null===this._cursor){var t=this._tree._root;null!==t&&this._minNode(t)}else{var e;if(null===this._cursor.right)do{if(e=this._cursor,!this._ancestors.length){this._cursor=null;break}this._cursor=this._ancestors.pop()}while(this._cursor.right===e);else this._ancestors.push(this._cursor),this._minNode(this._cursor.right)}return null!==this._cursor?this._cursor.data:null},t.prototype.prev=function(){if(null===this._cursor){var t=this._tree._root;null!==t&&this._maxNode(t)}else{var e;if(null===this._cursor.left)do{if(e=this._cursor,!this._ancestors.length){this._cursor=null;break}this._cursor=this._ancestors.pop()}while(this._cursor.left===e);else this._ancestors.push(this._cursor),this._maxNode(this._cursor.left)}return null!==this._cursor?this._cursor.data:null},t.prototype._minNode=function(t){for(;null!==t.left;)this._ancestors.push(t),t=t.left;this._cursor=t},t.prototype._maxNode=function(t){for(;null!==t.right;)this._ancestors.push(t),t=t.right;this._cursor=t},t}();e.Iterator=o;var a=function(){function t(t){this.data=t,this.left=null,this.right=null,this.red=!0}return t.prototype.get_child=function(t){return t?this.right:this.left},t.prototype.set_child=function(t,e){t?this.right=e:this.left=e},t}(),s=function(t){function e(e){var n=t.call(this)||this;return n._root=null,n._comparator=e,n.size=0,n}return r(e,t),e.prototype.insert=function(t){var n=!1;if(null===this._root)this._root=new a(t),n=!0,this.size++;else{var r=new a(void 0),i=!1,o=!1,s=null,c=r,u=null,l=this._root;for(c.right=this._root;;){if(null===l?(l=new a(t),u.set_child(i,l),n=!0,this.size++):e.is_red(l.left)&&e.is_red(l.right)&&(l.red=!0,l.left.red=!1,l.right.red=!1),e.is_red(l)&&e.is_red(u)){var h=c.right===s;l===u.get_child(o)?c.set_child(h,e.single_rotate(s,!o)):c.set_child(h,e.double_rotate(s,!o))}var f=this._comparator(l.data,t);if(0===f)break;o=i,i=f<0,null!==s&&(c=s),s=u,u=l,l=l.get_child(i)}this._root=r.right}return this._root.red=!1,n},e.prototype.remove=function(t){if(null===this._root)return!1;var n=new a(void 0),r=n;r.right=this._root;for(var i=null,o=null,s=null,c=!0;null!==r.get_child(c);){var u=c;o=i,i=r,r=r.get_child(c);var l=this._comparator(t,r.data);if(c=l>0,0===l&&(s=r),!e.is_red(r)&&!e.is_red(r.get_child(c)))if(e.is_red(r.get_child(!c))){var h=e.single_rotate(r,c);i.set_child(u,h),i=h}else if(!e.is_red(r.get_child(!c))){var f=i.get_child(!u);if(null!==f)if(e.is_red(f.get_child(!u))||e.is_red(f.get_child(u))){var d=o.right===i;e.is_red(f.get_child(u))?o.set_child(d,e.double_rotate(i,u)):e.is_red(f.get_child(!u))&&o.set_child(d,e.single_rotate(i,u));var p=o.get_child(d);p.red=!0,r.red=!0,p.left.red=!1,p.right.red=!1}else i.red=!1,f.red=!0,r.red=!0}}return null!==s&&(s.data=r.data,i.set_child(i.right===r,r.get_child(null===r.left)),this.size--),this._root=n.right,null!==this._root&&(this._root.red=!1),null!==s},e.is_red=function(t){return null!==t&&t.red},e.single_rotate=function(t,e){var n=t.get_child(!e);return t.set_child(!e,n.get_child(e)),n.set_child(e,t),t.red=!0,n.red=!1,n},e.double_rotate=function(t,n){return t.set_child(!n,e.single_rotate(t.get_child(!n),!n)),e.single_rotate(t,n)},e}(i);e.RBTree=s},31:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},r(t,e)},function(t,e){function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,"__esModule",{value:!0});var o=n(4926),a=n(1138);function s(t){return t.bounds=void 0!==t.leaves?t.leaves.reduce((function(t,e){return e.bounds.union(t)}),c.empty()):c.empty(),void 0!==t.groups&&(t.bounds=t.groups.reduce((function(t,e){return s(e).union(t)}),t.bounds)),t.bounds=t.bounds.inflate(t.padding),t.bounds}e.computeGroupBounds=s;var c=function(){function t(t,e,n,r){this.x=t,this.X=e,this.y=n,this.Y=r}return t.empty=function(){return new t(Number.POSITIVE_INFINITY,Number.NEGATIVE_INFINITY,Number.POSITIVE_INFINITY,Number.NEGATIVE_INFINITY)},t.prototype.cx=function(){return(this.x+this.X)/2},t.prototype.cy=function(){return(this.y+this.Y)/2},t.prototype.overlapX=function(t){var e=this.cx(),n=t.cx();return e<=n&&t.x0?n[0]:null},t.prototype.vertices=function(){return[{x:this.x,y:this.y},{x:this.X,y:this.y},{x:this.X,y:this.Y},{x:this.x,y:this.Y}]},t.lineIntersection=function(t,e,n,r,i,o,a,s){var c=n-t,u=a-i,l=r-e,h=s-o,f=h*c-u*l;if(0==f)return null;var d=t-i,p=e-o,g=(u*p-h*d)/f,v=(c*p-l*d)/f;return g>=0&&g<=1&&v>=0&&v<=1?{x:t+g*c,y:e+g*l}:null},t.prototype.inflate=function(e){return new t(this.x-e,this.X+e,this.y-e,this.Y+e)},t}();e.Rectangle=c,e.makeEdgeBetween=function(t,e,n){var r=t.rayIntersection(e.cx(),e.cy())||{x:t.cx(),y:t.cy()},i=e.rayIntersection(t.cx(),t.cy())||{x:e.cx(),y:e.cy()},o=i.x-r.x,a=i.y-r.y,s=Math.sqrt(o*o+a*a),c=s-n;return{sourceIntersection:r,targetIntersection:i,arrowStart:{x:r.x+c*o/s,y:r.y+c*a/s}}},e.makeEdgeTo=function(t,e,n){var r=e.rayIntersection(t.x,t.y);r||(r={x:e.cx(),y:e.cy()});var i=r.x-t.x,o=r.y-t.y,a=Math.sqrt(i*i+o*o);return{x:r.x-n*i/a,y:r.y-n*o/a}};var u=function(t,e,n){this.v=t,this.r=e,this.pos=n,this.prev=f(),this.next=f()},l=function(t,e,n){this.isOpen=t,this.v=e,this.pos=n};function h(t,e){return t.pos>e.pos?1:t.pos0&&(t[n].insert(i),i[r].insert(t))};n("next","prev"),n("prev","next")}};function g(t,e,n,r){void 0===r&&(r=!1);var i=t.padding,o=void 0!==t.groups?t.groups.length:0,a=void 0!==t.leaves?t.leaves.length:0,s=o?t.groups.reduce((function(t,r){return t.concat(g(r,e,n,!0))}),[]):[],c=(r?2:0)+a+o,u=new Array(c),l=new Array(c),h=0,f=function(t,e){l[h]=t,u[h++]=e};if(r){var d=t.bounds,p=e.getCentre(d),b=e.getSize(d)/2,y=e.getOpen(d),m=e.getClose(d),w=p-b+i/2,x=p+b-i/2;t.minVar.desiredPosition=w,f(e.makeRect(y,m,w,i),t.minVar),t.maxVar.desiredPosition=x,f(e.makeRect(y,m,x,i),t.maxVar)}a&&t.leaves.forEach((function(t){return f(t.bounds,t.variable)})),o&&t.groups.forEach((function(t){var n=t.bounds;f(e.makeRect(e.getOpen(n),e.getClose(n),e.getCentre(n),e.getSize(n)),t.minVar)}));var _=v(l,u,e,n);return o&&(u.forEach((function(t){t.cOut=[],t.cIn=[]})),_.forEach((function(t){t.left.cOut.push(t),t.right.cIn.push(t)})),t.groups.forEach((function(t){var n=(t.padding-e.getSize(t.bounds))/2;t.minVar.cIn.forEach((function(t){return t.gap+=n})),t.minVar.cOut.forEach((function(e){e.left=t.maxVar,e.gap+=n}))}))),s.concat(_)}function v(t,e,n,r){var i,a=t.length,s=2*a;console.assert(e.length>=a);var c=new Array(s);for(i=0;it[n]&&(t[n]=e)}o=t}))}},t.prototype.createAlignment=function(t){var e=this,n=this.nodes[t.offsets[0].node].variable;this.makeFeasible(t);var r="x"===t.axis?this.xConstraints:this.yConstraints;t.offsets.slice(1).forEach((function(t){var i=e.nodes[t.node].variable;r.push(new o.Constraint(n,i,t.offset,!0))}))},t.prototype.createConstraints=function(t){var e=this,n=function(t){return void 0===t.type||"separation"===t.type};this.xConstraints=t.filter((function(t){return"x"===t.axis&&n(t)})).map((function(t){return e.createSeparation(t)})),this.yConstraints=t.filter((function(t){return"y"===t.axis&&n(t)})).map((function(t){return e.createSeparation(t)})),t.filter((function(t){return"alignment"===t.type})).forEach((function(t){return e.createAlignment(t)}))},t.prototype.setupVariablesAndBounds=function(t,e,n,r){this.nodes.forEach((function(i,o){i.fixed?(i.variable.weight=i.fixedWeight?i.fixedWeight:1e3,n[o]=r(i)):i.variable.weight=1;var a=(i.width||0)/2,s=(i.height||0)/2,u=t[o],l=e[o];i.bounds=new c(u-a,u+a,l-s,l+s)}))},t.prototype.xProject=function(t,e,n){(this.rootGroup||this.avoidOverlaps||this.xConstraints)&&this.project(t,e,t,n,(function(t){return t.px}),this.xConstraints,m,(function(t){return t.bounds.setXCentre(n[t.variable.index]=t.variable.position())}),(function(t){var e=n[t.minVar.index]=t.minVar.position(),r=n[t.maxVar.index]=t.maxVar.position(),i=t.padding/2;t.bounds.x=e-i,t.bounds.X=r+i}))},t.prototype.yProject=function(t,e,n){(this.rootGroup||this.yConstraints)&&this.project(t,e,e,n,(function(t){return t.py}),this.yConstraints,w,(function(t){return t.bounds.setYCentre(n[t.variable.index]=t.variable.position())}),(function(t){var e=n[t.minVar.index]=t.minVar.position(),r=n[t.maxVar.index]=t.maxVar.position(),i=t.padding/2;t.bounds.y=e-i,t.bounds.Y=r+i}))},t.prototype.projectFunctions=function(){var t=this;return[function(e,n,r){return t.xProject(e,n,r)},function(e,n,r){return t.yProject(e,n,r)}]},t.prototype.project=function(t,e,n,r,i,o,a,c,u){this.setupVariablesAndBounds(t,e,r,i),this.rootGroup&&this.avoidOverlaps&&(s(this.rootGroup),o=o.concat(a(this.rootGroup))),this.solve(this.variables,o,n,r),this.nodes.forEach(c),this.rootGroup&&this.avoidOverlaps&&(this.groups.forEach(u),s(this.rootGroup))},t.prototype.solve=function(t,e,n,r){var i=new o.Solver(t,e);i.setStartingPositions(n),i.setDesiredPositions(r),i.solve()},t}();e.Projection=_},2867:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(7421),i=function(t,e){this.id=t,this.distance=e},o=function(t){this.id=t,this.neighbours=[]},a=function(t,e,n){this.node=t,this.prev=e,this.d=n},s=function(){function t(t,e,n,r,a){this.n=t,this.es=e,this.neighbours=new Array(this.n);for(var s=this.n;s--;)this.neighbours[s]=new o(s);for(s=this.es.length;s--;){var c=this.es[s],u=n(c),l=r(c),h=a(c);this.neighbours[u].neighbours.push(new i(l,h)),this.neighbours[l].neighbours.push(new i(u,h))}}return t.prototype.DistanceMatrix=function(){for(var t=new Array(this.n),e=0;eh&&(u.d=h,u.prev=s,n.reduceKey(u.q,u,(function(t,e){return t.q=e})))}}return o},t}();e.Calculator=s},4926:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t){this.scale=t,this.AB=0,this.AD=0,this.A2=0}return t.prototype.addVariable=function(t){var e=this.scale/t.scale,n=t.offset/t.scale,r=t.weight;this.AB+=r*e*n,this.AD+=r*e*t.desiredPosition,this.A2+=r*e*e},t.prototype.getPosn=function(){return(this.AD-this.AB)/this.A2},t}();e.PositionStats=n;var r=function(){function t(t,e,n,r){void 0===r&&(r=!1),this.left=t,this.right=e,this.gap=n,this.equality=r,this.active=!1,this.unsatisfiable=!1,this.left=t,this.right=e,this.gap=n,this.equality=r}return t.prototype.slack=function(){return this.unsatisfiable?Number.MAX_VALUE:this.right.scale*this.right.position()-this.gap-this.left.scale*this.left.position()},t}();e.Constraint=r;var i=function(){function t(t,e,n){void 0===e&&(e=1),void 0===n&&(n=1),this.desiredPosition=t,this.weight=e,this.scale=n,this.offset=0}return t.prototype.dfdv=function(){return 2*this.weight*(this.position()-this.desiredPosition)},t.prototype.position=function(){return(this.block.ps.scale*this.block.posn+this.offset)/this.scale},t.prototype.visitNeighbours=function(t,e){var n=function(n,r){return n.active&&t!==r&&e(n,r)};this.cOut.forEach((function(t){return n(t,t.right)})),this.cIn.forEach((function(t){return n(t,t.left)}))},t}();e.Variable=i;var o=function(){function t(t){this.vars=[],t.offset=0,this.ps=new n(t.scale),this.addVariable(t)}return t.prototype.addVariable=function(t){t.block=this,this.vars.push(t),this.ps.addVariable(t),this.posn=this.ps.getPosn()},t.prototype.updateWeightedPosition=function(){this.ps.AB=this.ps.AD=this.ps.A2=0;for(var t=0,e=this.vars.length;t=0?this.inactive.push(e):this.bs.merge(e)}}},t.prototype.solve=function(){this.satisfy();for(var t=Number.MAX_VALUE,e=this.bs.cost();Math.abs(t-e)>1e-4;)this.satisfy(),t=e,e=this.bs.cost();return e},t.LAGRANGIAN_TOLERANCE=-1e-4,t.ZERO_UPPERBOUND=-1e-10,t}();e.Solver=s,e.removeOverlapInOneDimension=function(t,e,n){for(var o=t.map((function(t){return new i(t.desiredCenter)})),a=[],c=t.length,u=0;u{var e=t&&t.__esModule?()=>t.default:()=>t;return __webpack_require__.d(e,{a:e}),e},__webpack_require__.d=(t,e)=>{for(var n in e)__webpack_require__.o(e,n)&&!__webpack_require__.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},__webpack_require__.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),__webpack_require__.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),__webpack_require__.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},__webpack_require__.nmd=t=>(t.paths=[],t.children||(t.children=[]),t),__webpack_require__.nc=void 0;var __webpack_exports__={};(()=>{"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{Cytoscape:()=>ot});var t=__webpack_require__(3379),e=__webpack_require__.n(t),n=__webpack_require__(7795),r=__webpack_require__.n(n),i=__webpack_require__(569),o=__webpack_require__.n(i),a=__webpack_require__(3565),s=__webpack_require__.n(a),c=__webpack_require__(9216),u=__webpack_require__.n(c),l=__webpack_require__(4589),h=__webpack_require__.n(l),f=__webpack_require__(372),d={};d.styleTagTransform=h(),d.setAttributes=s(),d.insert=o().bind(null,"head"),d.domAPI=r(),d.insertStyleElement=u(),e()(f.Z,d),f.Z&&f.Z.locals&&f.Z.locals;const p=window.React;var g=__webpack_require__.n(p),v=__webpack_require__(5697),b=__webpack_require__.n(v),y=__webpack_require__(9058),m=__webpack_require__.n(y);const{string:w,array:x,object:_,number:E,bool:k,oneOfType:T,any:C,func:N}=b(),A={id:w,className:w,style:T([w,_]),elements:T([x,C]),stylesheet:T([x,C]),layout:T([_,C]),pan:T([_,C]),zoom:E,panningEnabled:k,userPanningEnabled:k,minZoom:E,maxZoom:E,zoomingEnabled:k,userZoomingEnabled:k,boxSelectionEnabled:k,autoungrabify:k,autolock:k,autounselectify:k,get:N,toJson:N,diff:N,forEach:N,cy:N,headless:k,styleEnabled:k,hideEdgesOnViewport:k,textureOnViewport:k,motionBlur:k,motionBlurOpacity:E,wheelSensitivity:E,pixelRatio:T([w,_])},S=(t,e)=>{if(((t,e)=>null==t||null==e)(t,e)&&(null!=t||null!=e))return!0;if(t===e)return!1;if("object"!=typeof t||"object"!=typeof e)return t!==e;const n=Object.keys(t),r=Object.keys(e),i=n=>t[n]!==e[n];return n.length!==r.length||!(!n.some(i)&&!r.some(i))},O=(t,e)=>null!=t?t[e]:null,L={diff:S,get:O,toJson:t=>t,forEach:(t,e)=>t.forEach(e),elements:[{data:{id:"a",label:"Example node A"}},{data:{id:"b",label:"Example node B"}},{data:{id:"e",source:"a",target:"b"}}],stylesheet:[{selector:"node",style:{label:"data(label)"}}],zoom:1,pan:{x:0,y:0}},I=(t,e,n,r)=>n(O(t,r),O(e,r)),M=(t,e,n,r,i,o)=>{const a=i(i(n,"data"),"id"),s=t.getElementById(a),c={};["data","position","selected","selectable","locked","grabbable","classes"].forEach((t=>{const a=i(n,t);o(a,i(e,t))&&(c[t]=r(a))}));const u=i(n,"scratch");o(u,i(e,"scratch"))&&s.scratch(r(u)),Object.keys(c).length>0&&s.json(c)};class P extends g().Component{static get propTypes(){return A}static get defaultProps(){return L}static normalizeElements(t){if(null!=t.length)return t;{let{nodes:e,edges:n}=t;return null==e&&(e=[]),null==n&&(n=[]),e.concat(n)}}constructor(t){super(t),this.displayName="CytoscapeComponent",this.containerRef=g().createRef()}componentDidMount(){const t=this.containerRef.current,{global:e,headless:n,styleEnabled:r,hideEdgesOnViewport:i,textureOnViewport:o,motionBlur:a,motionBlurOpacity:s,wheelSensitivity:c,pixelRatio:u}=this.props,l=this._cy=new(m())({container:t,headless:n,styleEnabled:r,hideEdgesOnViewport:i,textureOnViewport:o,motionBlur:a,motionBlurOpacity:s,wheelSensitivity:c,pixelRatio:u});e&&(window[e]=l),this.updateCytoscape(null,this.props)}updateCytoscape(t,e){const n=this._cy,{diff:r,toJson:i,get:o,forEach:a}=e;((t,e,n,r,i,o,a)=>{t.batch((()=>{(r===S||I(e,n,r,"elements"))&&((t,e,n,r,i,o,a)=>{const s=[],c=t.collection(),u=[],l={},h={},f=t=>i(i(t,"data"),"id");o(n,(t=>{const e=f(t);h[e]=t})),null!=e&&o(e,(e=>{const n=f(e);l[n]=e,(t=>null!=h[t])(n)||c.merge(t.getElementById(n))})),o(n,(t=>{const e=f(t),n=(t=>l[t])(e);(t=>null!=l[t])(e)?u.push({ele1:n,ele2:t}):s.push(r(t))})),c.length>0&&t.remove(c),s.length>0&&t.add(s),u.forEach((({ele1:e,ele2:n})=>M(t,e,n,r,i,a)))})(t,O(e,"elements"),O(n,"elements"),i,o,a,r),I(e,n,r,"stylesheet")&&((t,e,n,r)=>{const i=t.style();null!=i&&i.fromJson(r(n)).update()})(t,O(e,"stylesheet"),O(n,"stylesheet"),i),["zoom","minZoom","maxZoom","zoomingEnabled","userZoomingEnabled","pan","panningEnabled","userPanningEnabled","boxSelectionEnabled","autoungrabify","autolock","autounselectify"].forEach((o=>{I(e,n,r,o)&&((t,e,n,r,i)=>{t[e](i(r))})(t,o,O(e,o),O(n,o),i)}))})),I(e,n,r,"layout")&&((t,e,n,r)=>{const i=r(n);null!=i&&t.layout(i).run()})(t,O(e,"layout"),O(n,"layout"),i)})(n,t,e,r,i,o,a),null!=e.cy&&e.cy(n)}componentDidUpdate(t){this.updateCytoscape(t,this.props)}componentWillUnmount(){this._cy.destroy()}render(){const{id:t,className:e,style:n}=this.props;return g().createElement("div",{ref:this.containerRef,id:t,className:e,style:n})}}var D=__webpack_require__(6486),R=__webpack_require__.n(D);const j={randomUUID:"undefined"!=typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};let G;const B=new Uint8Array(16);function F(){if(!G&&(G="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!G))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return G(B)}const H=[];for(let t=0;t<256;++t)H.push((t+256).toString(16).slice(1));const Y=function(t,e,n){if(j.randomUUID&&!e&&!t)return j.randomUUID();const r=(t=t||{}).random||(t.rng||F)();if(r[6]=15&r[6]|64,r[8]=63&r[8]|128,e){n=n||0;for(let t=0;t<16;++t)e[n+t]=r[t];return e}return function(t,e=0){return H[t[e+0]]+H[t[e+1]]+H[t[e+2]]+H[t[e+3]]+"-"+H[t[e+4]]+H[t[e+5]]+"-"+H[t[e+6]]+H[t[e+7]]+"-"+H[t[e+8]]+H[t[e+9]]+"-"+H[t[e+10]]+H[t[e+11]]+H[t[e+12]]+H[t[e+13]]+H[t[e+14]]+H[t[e+15]]}(r)};function z(t){return z="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},z(t)}function U(t,e){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:!this.shouldResize,e=this.cy;t!==this.shouldResize&&(t?(e.on("render",this.updateViewport),e.on("resize",this.resize),this.updateViewport(e)):(e.removeListener("render",this.updateViewport),e.removeListener("resize",this.resize)),this.shouldResize=t)}},{key:"getViewport",value:function(){var t=this.cy;return{position:t.pan(),zoom:t.zoom(),renderedBB:Object.assign({},t.elements().renderedBoundingBox()),height:t.height(),width:t.width()}}},{key:"updateViewport",value:function(){var t=this.cy;this.prev=this.getViewport(t)}},{key:"_xConstrainedZoom",value:function(t){var e=this.curr,n=this.prev,r=this.marginPercentage.left*e.width;e.position.x=r+(n.position.x-n.renderedBB.x1);var i=e.renderedBB.y1+e.renderedBB.h/2-e.renderedBB.h/n.zoom*t/2;i+=(e.height-n.height)/2,e.position.y=i+(n.position.y-n.renderedBB.y1)}},{key:"_xChangeMargin",value:function(t){var e=this.curr,n=this.prev,r=n.renderedBB.x1+n.renderedBB.w/2,i=r/n.width*t;e.position.x=e.position.x+(i-r)}},{key:"_yConstrainedZoom",value:function(t){var e=this.curr,n=this.prev,r=this.marginPercentage.top*e.height;e.position.y=r+(n.position.y-n.renderedBB.y1);var i=e.renderedBB.x1+e.renderedBB.w/2-e.renderedBB.w/n.zoom*t/2;i+=(e.width-n.width)/2,e.position.x=i+(n.position.x-n.renderedBB.x1)}},{key:"_yChangeMargin",value:function(){var t=this.curr,e=this.prev,n=e.renderedBB.y1+e.renderedBB.h/2,r=n/e.height*t.height;t.position.y=t.position.y+(r-n)}},{key:"resize",value:function(){var t=this.cy;this.curr=this.getViewport(t);var e=this.curr,n=this.prev,r=n.renderedBB.x1>=0&&n.renderedBB.y1>=0&&n.renderedBB.x2<=n.width&&n.renderedBB.y2<=n.height;if(this.marginPercentage={left:n.renderedBB.x1/n.width,top:n.renderedBB.y1/n.height},Math.abs(1-e.width/n.width)>Math.abs(1-e.height/n.height)){var i=n.zoom/n.width*e.width;if(r)for(var o=Math.min((e.renderedBB.y1+e.renderedBB.h/2)*n.zoom*2/e.renderedBB.h,-(e.renderedBB.y1+e.renderedBB.h/2-n.height)*n.zoom*2/e.renderedBB.h)-this.containedZoomMargin,a=n.width/n.zoom*o,s=e.zoom=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return a=t.done,t},e:function(t){s=!0,o=t},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function $(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);nt.maxZoom()||e0&&(r.selector=r.selector+", "),r.selector=r.selector+"edge"):"node"===u?(r.selector.length>0&&(r.selector=r.selector+", "),r.selector=r.selector+"node"):"canvas"===u?r.coreAsWell=!0:console.error("Error: selector ".concat(u," is not available. Choose one of 'node', 'edge' or 'canvas'."))}}catch(t){c.e(t)}finally{c.f()}}a.push(r)};for(s.s();!(i=s.n()).done;)c()}catch(t){s.e(t)}finally{s.f()}return a},this.cyResponsiveClass=new q(t),this.cyResponsiveClass.toggle(this.props.responsive),s(t.extent())}}},{key:"handleImageGeneration",value:function(t,e,n,r){var i=this,o={};e&&(o=e);var a,s,c,u=o.output;switch(o.output="blob",n){case"store":default:a=!1,s=!0;break;case"download":a=!0,s=!1;break;case"both":a=!0,s=!0}if("png"===t&&(c=this._cy.png(o)),"jpg"!==t&&"jpeg"!==t||(c=this._cy.jpg(o)),"svg"===t&&(c=this._cy.svg(o)),c&&a){var l=r;if(r||(l="cyto"),"svg"!==t)this.downloadBlob(c,l+"."+t);else{var h=new Blob([c],{type:"image/svg+xml;charset=utf-8"});this.downloadBlob(h,l+"."+t)}}if(c&&s){if(u||(u="base64uri"),"base64uri"!==u&&"base64"!==u)return;var f=new FileReader;f.onload=function(){var t=f.result;"base64"===u&&(t=t.replace(/^data:.+;base64,/,"")),i.props.setProps({imageData:t})},f.readAsDataURL(c)}}},{key:"downloadBlob",value:function(t,e){var n=document.createElement("a");n.style="display: none",document.body.appendChild(n);var r=window.URL.createObjectURL(t);n.href=r,n.download=e,n.click(),window.URL.revokeObjectURL(r),document.body.removeChild(n)}},{key:"updateContextMenu",value:function(t){this._cy.contextMenus({menuItems:this.createMenuItems(t),menuItemClasses:["custom-menu-item"]})}},{key:"graphOutOfView",value:function(){var t=this._cy.width(),e=this._cy.height(),n=this._cy.elements().renderedBoundingbox();return n.x1>t||n.y1>e||n.x2<0||n.y2<0}},{key:"componentDidUpdate",value:function(t){var e=this.props,n=e.contextMenu,r=e.elements;!R().isEqual(t.contextMenu,n)&&this._cy&&this.updateContextMenu(n),!R().isEqual(t.elements,r)&&this._cy&&this.graphOutOfView()&&this._cy.fit()}},{key:"componentDidMount",value:function(){var t=this.props.contextMenu;this._cy&&t.length>0&&this.updateContextMenu(t)}},{key:"render",value:function(){var t=this.props,e=t.id,n=t.style,r=t.className,i=t.elements,o=t.stylesheet,a=t.layout,s=t.contextMenu,c=t.contextMenuData,u=t.pan,l=t.zoom,h=t.panningEnabled,f=t.userPanningEnabled,d=t.minZoom,p=t.maxZoom,v=t.zoomingEnabled,b=t.userZoomingEnabled,y=t.wheelSensitivity,m=t.boxSelectionEnabled,w=t.autoungrabify,x=t.autolock,_=t.autounselectify,E=t.generateImage,k=t.responsive;return Object.keys(E).length>0&&(this.props.setProps({generateImage:{}}),this._cy&&this.handleImageGeneration(E.type,E.options,E.action,E.filename)),this.cyResponsiveClass&&this.cyResponsiveClass.toggle(k),g().createElement(P,{id:e,cy:this.handleCy,className:r,style:n,elements:P.normalizeElements(i),stylesheet:o,layout:a,contextMenu:s,contextMenuData:c,pan:u,zoom:l,panningEnabled:h,userPanningEnabled:f,minZoom:d,maxZoom:p,zoomingEnabled:v,userZoomingEnabled:b,wheelSensitivity:y,boxSelectionEnabled:m,autoungrabify:w,autolock:x,autounselectify:_})}}],r&&Z(n.prototype,r),Object.defineProperty(n,"prototype",{writable:!1}),e}(p.Component);it.propTypes={id:b().string,className:b().string,style:b().object,setProps:b().func,elements:b().oneOfType([b().arrayOf(b().shape({group:b().string,data:b().shape({id:b().string,label:b().string,parent:b().string,source:b().string,target:b().string}),position:b().shape({x:b().number,y:b().number}),selected:b().bool,selectable:b().bool,locked:b().bool,grabbable:b().bool,classes:b().string})),b().exact({nodes:b().array,edges:b().array})]),stylesheet:b().arrayOf(b().exact({selector:b().string.isRequired,style:b().object.isRequired})),layout:b().shape({name:b().oneOf(["random","preset","circle","concentric","grid","breadthfirst","cose","cose-bilkent","fcose","cola","euler","spread","dagre","klay"]).isRequired,fit:b().bool,padding:b().number,animate:b().bool,animationDuration:b().number,boundingBox:b().object}),contextMenu:b().arrayOf(b().exact({id:b().string.isRequired,label:b().string.isRequired,tooltipText:b().string,availableOn:b().array,onClick:b().string,onClickCustom:b().string})),contextMenuData:b().exact({menuItemId:b().string,x:b().number,y:b().number,timeStamp:b().number,elementId:b().string,edgeSource:b().string,edgeTarget:b().string}),pan:b().exact({x:b().number,y:b().number}),zoom:b().number,panningEnabled:b().bool,userPanningEnabled:b().bool,minZoom:b().number,maxZoom:b().number,zoomingEnabled:b().bool,userZoomingEnabled:b().bool,wheelSensitivity:b().number,boxSelectionEnabled:b().bool,autoungrabify:b().bool,autolock:b().bool,autounselectify:b().bool,autoRefreshLayout:b().bool,tapNode:b().exact({edgesData:b().array,renderedPosition:b().object,timeStamp:b().number,classes:b().string,data:b().object,grabbable:b().bool,group:b().string,locked:b().bool,position:b().object,selectable:b().bool,selected:b().bool,style:b().object,ancestorsData:b().oneOfType([b().object,b().array]),childrenData:b().oneOfType([b().object,b().array]),descendantsData:b().oneOfType([b().object,b().array]),parentData:b().oneOfType([b().object,b().array]),siblingsData:b().oneOfType([b().object,b().array]),isParent:b().bool,isChildless:b().bool,isChild:b().bool,isOrphan:b().bool,relativePosition:b().object}),tapNodeData:b().object,tapEdge:b().exact({isLoop:b().bool,isSimple:b().bool,midpoint:b().object,sourceData:b().object,sourceEndpoint:b().object,targetData:b().object,targetEndpoint:b().object,timeStamp:b().number,classes:b().string,data:b().object,grabbable:b().bool,group:b().string,locked:b().bool,selectable:b().bool,selected:b().bool,style:b().object}),tapEdgeData:b().object,mouseoverNodeData:b().object,mouseoverEdgeData:b().object,selectedNodeData:b().array,selectedEdgeData:b().array,generateImage:b().shape({type:b().oneOf(["svg","png","jpg","jpeg"]),options:b().object,action:b().oneOf(["store","download","both"]),filename:b().string}),imageData:b().string,responsive:b().bool,extent:b().object,clearOnUnhover:b().bool},it.defaultProps={style:{width:"600px",height:"600px"},layout:{name:"grid"},pan:{x:0,y:0},zoom:1,minZoom:1e-50,maxZoom:1e50,zoomingEnabled:!0,userZoomingEnabled:!0,panningEnabled:!0,userPanningEnabled:!0,wheelSensitivity:1,boxSelectionEnabled:!1,autolock:!1,autoungrabify:!1,autounselectify:!1,autoRefreshLayout:!0,generateImage:{},imageData:null,responsive:!1,clearOnUnhover:!1,elements:[],contextMenu:[]};const ot=it;var at=__webpack_require__(4607),st=__webpack_require__.n(at),ct=__webpack_require__(4867),ut=__webpack_require__.n(ct),lt=__webpack_require__(703),ht=__webpack_require__.n(lt),ft=__webpack_require__(9142),dt=__webpack_require__.n(ft),pt=__webpack_require__(3840),gt=__webpack_require__.n(pt),vt=__webpack_require__(3878),bt=__webpack_require__.n(vt),yt=__webpack_require__(6611),mt=__webpack_require__.n(yt),wt=__webpack_require__(3595),xt=__webpack_require__.n(wt);m().use(st()),m().use(ut()),m().use(ht()),m().use(dt()),m().use(gt()),m().use(bt()),m().use(mt()),m().use(xt())})(),window.dash_cytoscape=__webpack_exports__})(); \ No newline at end of file diff --git a/inst/deps/dash_cytoscape.dev.js b/inst/deps/dash_cytoscape.dev.js index 56808566..07af815c 100644 --- a/inst/deps/dash_cytoscape.dev.js +++ b/inst/deps/dash_cytoscape.dev.js @@ -26,7 +26,7 @@ eval("/*! (c) Andrea Giammarchi @webreflection ISC */\n(function () {\n 'use st /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _src_assets_contextmenu_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../src/assets/contextmenu.css */ \"./src/assets/contextmenu.css\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var react_cytoscapejs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-cytoscapejs */ \"./node_modules/react-cytoscapejs/dist/react-cytoscape.modern.js\");\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! lodash */ \"./node_modules/lodash/lodash.js\");\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var uuid__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! uuid */ \"./node_modules/uuid/dist/esm-browser/v4.js\");\n/* harmony import */ var _cyResponsive_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../cyResponsive.js */ \"./src/lib/cyResponsive.js\");\n/* harmony import */ var _ungap_custom_elements__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @ungap/custom-elements */ \"./node_modules/@ungap/custom-elements/index.js\");\n/* harmony import */ var _ungap_custom_elements__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_ungap_custom_elements__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _cyleaflet_clientside_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../cyleaflet_clientside.js */ \"./src/lib/cyleaflet_clientside.js\");\n/* harmony import */ var _cyleaflet_clientside_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_cyleaflet_clientside_js__WEBPACK_IMPORTED_MODULE_6__);\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : String(i); }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n/**\n * JavaScript Requirements: cytoscape, cytoscape-svg\n * React.js requirements: react-cytoscapejs\n */\n\n\n\n\n\n\n\n\n// Polyfill so that context menu extension works in Safari\n\nvar cytoscape = __webpack_require__(/*! cytoscape */ \"./node_modules/cytoscape/dist/cytoscape.cjs.js\");\nvar contextMenus = __webpack_require__(/*! cytoscape-context-menus */ \"./node_modules/cytoscape-context-menus/cytoscape-context-menus.js\");\n\n// Clientside callback functions for CyLeaflet AIO component\n\n\n// register extension\ncontextMenus(cytoscape);\n/**\n * A Component Library for Dash aimed at facilitating network visualization in\n * Python, wrapped around [Cytoscape.js](http://js.cytoscape.org/).\n */\nvar Cytoscape = /*#__PURE__*/function (_Component) {\n _inherits(Cytoscape, _Component);\n function Cytoscape(props) {\n var _this;\n _classCallCheck(this, Cytoscape);\n _this = _callSuper(this, Cytoscape, [props]);\n _this.handleCy = _this.handleCy.bind(_assertThisInitialized(_this));\n _this._handleCyCalled = false;\n _this.handleImageGeneration = _this.handleImageGeneration.bind(_assertThisInitialized(_this));\n _this.cyResponsiveClass = false;\n return _this;\n }\n _createClass(Cytoscape, [{\n key: \"generateNode\",\n value: function generateNode(event) {\n var ele = event.target;\n var isParent = ele.isParent(),\n isChildless = ele.isChildless(),\n isChild = ele.isChild(),\n isOrphan = ele.isOrphan(),\n renderedPosition = ele.renderedPosition(),\n relativePosition = ele.relativePosition(),\n parent = ele.parent(),\n style = ele.style();\n\n // Trim down the element objects to only the data contained\n var edgesData = ele.connectedEdges().map(function (ele) {\n return ele.data();\n });\n var childrenData = ele.children().map(function (ele) {\n return ele.data();\n });\n var ancestorsData = ele.ancestors().map(function (ele) {\n return ele.data();\n });\n var descendantsData = ele.descendants().map(function (ele) {\n return ele.data();\n });\n var siblingsData = ele.siblings().map(function (ele) {\n return ele.data();\n });\n var timeStamp = event.timeStamp;\n var _ele$json = ele.json(),\n classes = _ele$json.classes,\n data = _ele$json.data,\n grabbable = _ele$json.grabbable,\n group = _ele$json.group,\n locked = _ele$json.locked,\n position = _ele$json.position,\n selected = _ele$json.selected,\n selectable = _ele$json.selectable;\n var parentData;\n if (parent) {\n parentData = parent.data();\n } else {\n parentData = null;\n }\n var nodeObject = {\n // Nodes attributes\n edgesData: edgesData,\n renderedPosition: renderedPosition,\n timeStamp: timeStamp,\n // From ele.json()\n classes: classes,\n data: data,\n grabbable: grabbable,\n group: group,\n locked: locked,\n position: position,\n selectable: selectable,\n selected: selected,\n // Compound Nodes additional attributes\n ancestorsData: ancestorsData,\n childrenData: childrenData,\n descendantsData: descendantsData,\n parentData: parentData,\n siblingsData: siblingsData,\n isParent: isParent,\n isChildless: isChildless,\n isChild: isChild,\n isOrphan: isOrphan,\n relativePosition: relativePosition,\n // Styling\n style: style\n };\n return nodeObject;\n }\n }, {\n key: \"generateEdge\",\n value: function generateEdge(event) {\n var ele = event.target;\n var midpoint = ele.midpoint(),\n isLoop = ele.isLoop(),\n isSimple = ele.isSimple(),\n sourceData = ele.source().data(),\n sourceEndpoint = ele.sourceEndpoint(),\n style = ele.style(),\n targetData = ele.target().data(),\n targetEndpoint = ele.targetEndpoint();\n var timeStamp = event.timeStamp;\n var _ele$json2 = ele.json(),\n classes = _ele$json2.classes,\n data = _ele$json2.data,\n grabbable = _ele$json2.grabbable,\n group = _ele$json2.group,\n locked = _ele$json2.locked,\n selectable = _ele$json2.selectable,\n selected = _ele$json2.selected;\n var edgeObject = {\n // Edges attributes\n isLoop: isLoop,\n isSimple: isSimple,\n midpoint: midpoint,\n sourceData: sourceData,\n sourceEndpoint: sourceEndpoint,\n targetData: targetData,\n targetEndpoint: targetEndpoint,\n timeStamp: timeStamp,\n // From ele.json()\n classes: classes,\n data: data,\n grabbable: grabbable,\n group: group,\n locked: locked,\n selectable: selectable,\n selected: selected,\n // Styling\n style: style\n };\n return edgeObject;\n }\n }, {\n key: \"handleCy\",\n value: function handleCy(cy) {\n var _this2 = this;\n // If the cy pointer has not been modified, and handleCy has already\n // been called before, than we don't run this function.\n if (cy === this._cy && this._handleCyCalled) {\n return;\n }\n this._cy = cy;\n window.cy = cy;\n this._handleCyCalled = true;\n\n // ///////////////////////////////////// CONSTANTS /////////////////////////////////////////\n var SELECT_THRESHOLD = 100;\n var EXTENT_THRESHOLD = 5;\n var selectedNodes = cy.collection();\n var selectedEdges = cy.collection();\n\n // ///////////////////////////////////// FUNCTIONS /////////////////////////////////////////\n var refreshLayout = lodash__WEBPACK_IMPORTED_MODULE_3___default().debounce(function () {\n /**\n * Refresh Layout if needed\n */\n var _this2$props = _this2.props,\n autoRefreshLayout = _this2$props.autoRefreshLayout,\n layout = _this2$props.layout;\n if (autoRefreshLayout) {\n cy.layout(layout).run();\n }\n }, SELECT_THRESHOLD);\n var sendSelectedNodesData = lodash__WEBPACK_IMPORTED_MODULE_3___default().debounce(function () {\n /**\n This function is repetitively called every time a node is selected\n or unselected, but keeps being debounced if it is called again\n within 100 ms (given by SELECT_THRESHOLD). Effectively, it only\n runs when all the nodes have been correctly selected/unselected and\n added/removed from the selectedNodes collection, and then updates\n the selectedNodeData prop.\n */\n var nodeData = selectedNodes.map(function (el) {\n return el.data();\n });\n _this2.props.setProps({\n selectedNodeData: nodeData\n });\n }, SELECT_THRESHOLD);\n var sendSelectedEdgesData = lodash__WEBPACK_IMPORTED_MODULE_3___default().debounce(function () {\n var edgeData = selectedEdges.map(function (el) {\n return el.data();\n });\n _this2.props.setProps({\n selectedEdgeData: edgeData\n });\n }, SELECT_THRESHOLD);\n var setExtent = lodash__WEBPACK_IMPORTED_MODULE_3___default().debounce(function (cyExtent) {\n _this2.props.setProps({\n extent: cyExtent\n });\n }, EXTENT_THRESHOLD);\n\n // Store the original maxZoom and minZoom functions\n var originalMaxZoomFn = cy.maxZoom;\n var originalMinZoomFn = cy.minZoom;\n\n // Override the maxZoom function to trigger maxZoomChange custom event\n cy.maxZoom = function (e) {\n var currentMaxZoom = originalMaxZoomFn.call(cy, e);\n\n // Trigger your custom event if the current max zoom level is different from the \n // previously stored max zoom level\n if (currentMaxZoom !== cy._previousMaxZoom) {\n cy._previousMaxZoom = currentMaxZoom;\n cy.trigger('minMaxZoomChange');\n }\n return currentMaxZoom;\n };\n\n // Override the minZoom function to trigger minZoomChange custom event\n cy.minZoom = function (e) {\n var currentMinZoom = originalMinZoomFn.call(cy, e);\n\n // Trigger your custom event if the current min zoom level is different from the \n // previously stored min zoom level\n if (currentMinZoom !== cy._previousMinZoom) {\n cy._previousMinZoom = currentMinZoom;\n cy.trigger('minMaxZoomChange');\n }\n return currentMinZoom;\n };\n\n // /////////////////////////////////////// EVENTS //////////////////////////////////////////\n\n cy.on('tap', 'node', function (event) {\n var nodeObject = _this2.generateNode(event);\n _this2.props.setProps({\n tapNode: nodeObject,\n tapNodeData: Object.assign({}, nodeObject.data, {\n timeStamp: nodeObject.timeStamp\n })\n });\n });\n cy.on('tap', 'edge', function (event) {\n var edgeObject = _this2.generateEdge(event);\n _this2.props.setProps({\n tapEdge: edgeObject,\n tapEdgeData: Object.assign({}, edgeObject.data, {\n timeStamp: edgeObject.timeStamp\n })\n });\n });\n cy.on('mouseover', 'node', function (event) {\n _this2.props.setProps({\n mouseoverNodeData: Object.assign({}, event.target.data(), {\n timeStamp: event.timeStamp\n })\n });\n });\n cy.on('mouseover', 'edge', function (event) {\n _this2.props.setProps({\n mouseoverEdgeData: Object.assign({}, event.target.data(), {\n timeStamp: event.timeStamp\n })\n });\n });\n cy.on('mouseout', 'node', function (_) {\n if (_this2.props.clearOnUnhover === true) {\n _this2.props.setProps({\n mouseoverNodeData: null\n });\n }\n });\n cy.on('mouseout', 'edge', function (_) {\n if (_this2.props.clearOnUnhover === true) {\n _this2.props.setProps({\n mouseoverEdgeData: null\n });\n }\n });\n cy.on('select', 'node', function (event) {\n var ele = event.target;\n selectedNodes.merge(ele);\n sendSelectedNodesData();\n });\n cy.on('unselect remove', 'node', function (event) {\n var ele = event.target;\n selectedNodes.unmerge(ele);\n sendSelectedNodesData();\n });\n cy.on('select', 'edge', function (event) {\n var ele = event.target;\n selectedEdges.merge(ele);\n sendSelectedEdgesData();\n });\n cy.on('unselect remove', 'edge', function (event) {\n var ele = event.target;\n selectedEdges.unmerge(ele);\n sendSelectedEdgesData();\n });\n cy.on('add remove', function () {\n refreshLayout();\n });\n cy.on('dragfree add remove', function (_) {\n _this2.props.setProps({\n elements: cy.elements('').map(function (item) {\n if (item.json().group === 'nodes') {\n return {\n data: item.json().data,\n position: item.json().position\n };\n }\n return {\n data: item.json().data,\n position: void 0\n };\n })\n });\n });\n cy.on('viewport resize', function () {\n setExtent(cy.extent());\n });\n\n // Refresh layout if current zoom is out of boundaries\n cy.on('minMaxZoomChange', function () {\n var zoom = cy.zoom();\n if (zoom > cy.maxZoom() || zoom < cy.minZoom()) {\n cy.fit();\n }\n });\n this.createMenuItems = function (ctxMenu) {\n var updateContextMenuData = function updateContextMenuData(newContext) {\n _this2.props.setProps({\n contextMenuData: newContext\n });\n };\n var contextMenuDefaultFunctions = {\n remove: function remove(event) {\n var target = event.target || event.cyTarget;\n target.remove();\n },\n add_node: function add_node(event) {\n var pos = event.position || event.cyPosition;\n cy.add({\n data: {\n group: 'nodes'\n },\n position: {\n x: pos.x,\n y: pos.y\n }\n });\n },\n add_edge: function add_edge() {\n var selectedNodeIds = selectedNodes.map(function (node) {\n return node.id();\n });\n if (selectedNodes.length === 0) {\n console.error('Error: No nodes selected, cannot add edge');\n } else if (selectedNodes.length === 1) {\n cy.add({\n data: {\n id: (0,uuid__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(),\n group: 'edges',\n source: selectedNodeIds[0],\n target: selectedNodeIds[0]\n }\n });\n } else if (selectedNodes.length === 2) {\n cy.add({\n data: {\n id: (0,uuid__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(),\n group: 'edges',\n source: selectedNodeIds[0],\n target: selectedNodeIds[1]\n }\n });\n } else {\n console.error('Error: more than 2 nodes selected, cannot add edge');\n }\n }\n };\n var newMenuItems = [];\n var _iterator = _createForOfIteratorHelper(ctxMenu),\n _step;\n try {\n var _loop = function _loop() {\n var item = _step.value;\n var onClickFunction;\n // return data so a user can define a custom on click function in Python\n // if onClick or on onClickCustom are not specified\n onClickFunction = function onClickFunction(event) {\n updateContextMenuData({\n menuItemId: item.id,\n x: event.position.x,\n y: event.position.y,\n timeStamp: event.timeStamp,\n elementId: event.target.data().id,\n edgeSource: event.target.data().source,\n edgeTarget: event.target.data().target\n });\n };\n // use default javascript function as onClickFunction\n if (Object.prototype.hasOwnProperty.call(item, 'onClick')) {\n if (Object.prototype.hasOwnProperty.call(contextMenuDefaultFunctions, item.onClick)) {\n onClickFunction = contextMenuDefaultFunctions[item.onClick];\n } else {\n console.error(\"onClick function \".concat(item.onClick, \" is not defined\"));\n }\n }\n // use user-defined Javascript function in a namespace under assets/ as onClickFunction\n else if (Object.prototype.hasOwnProperty.call(item, 'onClickCustom')) {\n if (Object.prototype.hasOwnProperty.call(window, 'dashCytoscapeFunctions') && Object.prototype.hasOwnProperty.call(window.dashCytoscapeFunctions, item.onClickCustom)) {\n onClickFunction = window.dashCytoscapeFunctions[item.onClickCustom];\n } else {\n console.error(\"onClickCustom function \".concat(item.onClickCustom, \" is not defined\"));\n }\n }\n var new_item = {\n id: item.id,\n content: item.label,\n tooltipText: item.tooltipText,\n selector: '',\n onClickFunction: onClickFunction,\n coreAsWell: false\n };\n if (Object.prototype.hasOwnProperty.call(item, 'availableOn')) {\n var _iterator2 = _createForOfIteratorHelper(item.availableOn),\n _step2;\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var selector = _step2.value;\n if (selector === 'edge') {\n if (new_item.selector.length > 0) {\n new_item.selector = new_item.selector + ', ';\n }\n new_item.selector = new_item.selector + 'edge';\n } else if (selector === 'node') {\n if (new_item.selector.length > 0) {\n new_item.selector = new_item.selector + ', ';\n }\n new_item.selector = new_item.selector + 'node';\n } else if (selector === 'canvas') {\n new_item.coreAsWell = true;\n } else {\n console.error(\"Error: selector \".concat(selector, \" is not available. Choose one of 'node', 'edge' or 'canvas'.\"));\n }\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n }\n newMenuItems.push(new_item);\n };\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n _loop();\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n return newMenuItems;\n };\n this.cyResponsiveClass = new _cyResponsive_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"](cy);\n this.cyResponsiveClass.toggle(this.props.responsive);\n setExtent(cy.extent());\n }\n }, {\n key: \"handleImageGeneration\",\n value: function handleImageGeneration(imageType, imageOptions, actionsToPerform, fileName) {\n var _this3 = this;\n var options = {};\n if (imageOptions) {\n options = imageOptions;\n }\n var desiredOutput = options.output;\n options.output = 'blob';\n var downloadImage;\n var storeImage;\n switch (actionsToPerform) {\n case 'store':\n downloadImage = false;\n storeImage = true;\n break;\n case 'download':\n downloadImage = true;\n storeImage = false;\n break;\n case 'both':\n downloadImage = true;\n storeImage = true;\n break;\n default:\n downloadImage = false;\n storeImage = true;\n break;\n }\n var output;\n if (imageType === 'png') {\n output = this._cy.png(options);\n }\n if (imageType === 'jpg' || imageType === 'jpeg') {\n output = this._cy.jpg(options);\n }\n // only works when svg is imported (see lib/extra_index.js)\n if (imageType === 'svg') {\n output = this._cy.svg(options);\n }\n\n /*\n * If output is empty because of bad options or a cytoscape error,\n * skip any download or storage steps.\n */\n if (output && downloadImage) {\n /*\n * Downloading is initiated client-side because the image is generated at\n * the client. This avoids transferring a potentially large image\n * to the server and back again through a callback.\n */\n var fName = fileName;\n if (!fileName) {\n fName = 'cyto';\n }\n if (imageType !== 'svg') {\n this.downloadBlob(output, fName + '.' + imageType);\n } else {\n var blob = new Blob([output], {\n type: 'image/svg+xml;charset=utf-8'\n });\n this.downloadBlob(blob, fName + '.' + imageType);\n }\n }\n if (output && storeImage) {\n // Default output type if unspecified\n if (!desiredOutput) {\n desiredOutput = 'base64uri';\n }\n if (!(desiredOutput === 'base64uri' || desiredOutput === 'base64')) {\n return;\n }\n\n /*\n * Convert blob to base64uri or base64 string to store the image data.\n * Thank you, base64guru https://base64.guru/developers/javascript/examples/encode-blob\n */\n var reader = new FileReader();\n reader.onload = function () {\n /* FileReader is asynchronous, so the read function is non-blocking.\n * If this code block is placed after the read command, it\n * may result in empty output because the blob has not been loaded yet.\n */\n var callbackData = reader.result;\n if (desiredOutput === 'base64') {\n callbackData = callbackData.replace(/^data:.+;base64,/, '');\n }\n _this3.props.setProps({\n imageData: callbackData\n });\n };\n reader.readAsDataURL(output);\n }\n }\n }, {\n key: \"downloadBlob\",\n value: function downloadBlob(blob, fileName) {\n /*\n * Download blob as file by dynamically creating link.\n * Chrome does not open data URLs when JS opens a new tab directed\n * at the data URL, so this is an alternate implementation\n * that doesn't require extra packages. It may not behave in\n * exactly the same way across browsers (might display image in new tab\n * intead of downloading as a file).\n * Thank you, koldev https://jsfiddle.net/koldev/cW7W5/\n */\n var downloadLink = document.createElement('a');\n downloadLink.style = 'display: none';\n document.body.appendChild(downloadLink);\n var url = window.URL.createObjectURL(blob);\n downloadLink.href = url;\n downloadLink.download = fileName;\n downloadLink.click();\n window.URL.revokeObjectURL(url);\n document.body.removeChild(downloadLink);\n }\n }, {\n key: \"updateContextMenu\",\n value: function updateContextMenu(contextMenu) {\n this._cy.contextMenus({\n menuItems: this.createMenuItems(contextMenu),\n menuItemClasses: ['custom-menu-item']\n });\n }\n\n // Returns true if there is no overlap between the element bounding box\n // and the rendered area of the graph, meaning the graph is entirely outside the viewport;\n // returns false otherwise\n }, {\n key: \"graphOutOfView\",\n value: function graphOutOfView() {\n var cyWidth = this._cy.width();\n var cyHeight = this._cy.height();\n var elBox = this._cy.elements().renderedBoundingbox();\n return elBox.x1 > cyWidth || elBox.y1 > cyHeight || elBox.x2 < 0 || elBox.y2 < 0;\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n var _this$props = this.props,\n contextMenu = _this$props.contextMenu,\n elements = _this$props.elements;\n if (!lodash__WEBPACK_IMPORTED_MODULE_3___default().isEqual(prevProps.contextMenu, contextMenu) && this._cy) {\n this.updateContextMenu(contextMenu);\n }\n if (!lodash__WEBPACK_IMPORTED_MODULE_3___default().isEqual(prevProps.elements, elements) && this._cy) {\n // If elements were updated, and the new graph is *entirely* outside the viewport,\n // fit the viewport to the new elements\n if (this.graphOutOfView()) {\n this._cy.fit();\n }\n }\n }\n }, {\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var contextMenu = this.props.contextMenu;\n if (this._cy && contextMenu.length > 0) {\n this.updateContextMenu(contextMenu);\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props2 = this.props,\n id = _this$props2.id,\n style = _this$props2.style,\n className = _this$props2.className,\n elements = _this$props2.elements,\n stylesheet = _this$props2.stylesheet,\n layout = _this$props2.layout,\n contextMenu = _this$props2.contextMenu,\n contextMenuData = _this$props2.contextMenuData,\n pan = _this$props2.pan,\n zoom = _this$props2.zoom,\n panningEnabled = _this$props2.panningEnabled,\n userPanningEnabled = _this$props2.userPanningEnabled,\n minZoom = _this$props2.minZoom,\n maxZoom = _this$props2.maxZoom,\n zoomingEnabled = _this$props2.zoomingEnabled,\n userZoomingEnabled = _this$props2.userZoomingEnabled,\n wheelSensitivity = _this$props2.wheelSensitivity,\n boxSelectionEnabled = _this$props2.boxSelectionEnabled,\n autoungrabify = _this$props2.autoungrabify,\n autolock = _this$props2.autolock,\n autounselectify = _this$props2.autounselectify,\n generateImage = _this$props2.generateImage,\n responsive = _this$props2.responsive;\n if (Object.keys(generateImage).length > 0) {\n // If no cytoscape object has been created yet, an image cannot be generated,\n // so generateImage will be ignored and cleared.\n this.props.setProps({\n generateImage: {}\n });\n if (this._cy) {\n this.handleImageGeneration(generateImage.type, generateImage.options, generateImage.action, generateImage.filename);\n }\n }\n if (this.cyResponsiveClass) {\n this.cyResponsiveClass.toggle(responsive);\n }\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(react_cytoscapejs__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n id: id,\n cy: this.handleCy,\n className: className,\n style: style,\n elements: react_cytoscapejs__WEBPACK_IMPORTED_MODULE_2__[\"default\"].normalizeElements(elements),\n stylesheet: stylesheet,\n layout: layout,\n contextMenu: contextMenu,\n contextMenuData: contextMenuData,\n pan: pan,\n zoom: zoom,\n panningEnabled: panningEnabled,\n userPanningEnabled: userPanningEnabled,\n minZoom: minZoom,\n maxZoom: maxZoom,\n zoomingEnabled: zoomingEnabled,\n userZoomingEnabled: userZoomingEnabled,\n wheelSensitivity: wheelSensitivity,\n boxSelectionEnabled: boxSelectionEnabled,\n autoungrabify: autoungrabify,\n autolock: autolock,\n autounselectify: autounselectify\n });\n }\n }]);\n return Cytoscape;\n}(react__WEBPACK_IMPORTED_MODULE_1__.Component);\nCytoscape.propTypes = {\n // HTML attribute props\n\n /**\n * The ID used to identify this component in Dash callbacks.\n */\n id: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /**\n * Sets the class name of the element (the value of an element's html\n * class attribute).\n */\n className: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /**\n * Add inline styles to the root element.\n */\n style: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n // Dash specific props\n\n /**\n * Dash-assigned callback that should be called whenever any of the\n * properties change.\n */\n setProps: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().func),\n // Common props\n\n /**\n * A list of dictionaries representing the elements of the networks. Each dictionary describes an element, and\n * specifies its purpose. The [official Cytoscape.js documentation](https://js.cytoscape.org/#notation/elements-json)\n * offers an extensive overview and examples of element declaration.\n * Alternatively, a dictionary with the format { 'nodes': [], 'edges': [] } is allowed at initialization,\n * but arrays remain the recommended format.\n */\n elements: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_8___default().arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_8___default().shape({\n /**\n * Either 'nodes' or 'edges'. If not given, it's automatically inferred.\n */\n group: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** Element specific data.*/\n data: prop_types__WEBPACK_IMPORTED_MODULE_8___default().shape({\n /** Reference to the element, useful for selectors and edges. Randomly assigned if not given.*/\n id: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /**\n * Optional name for the element, useful when `data(label)` is given to a style's `content`\n * or `label`. It is only a convention. */\n label: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** Only for nodes. Optional reference to another node. Needed to create compound nodes. */\n parent: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** Only for edges. The id of the source node, which is where the edge starts. */\n source: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** Only for edges. The id of the target node, where the edge ends. */\n target: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string)\n }),\n /** Only for nodes. The position of the node. */\n position: prop_types__WEBPACK_IMPORTED_MODULE_8___default().shape({\n /** The x-coordinate of the node. */\n x: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /** The y-coordinate of the node. */\n y: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number)\n }),\n /** If the element is selected upon initialisation. */\n selected: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** If the element can be selected. */\n selectable: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Only for nodes. If the position is immutable. */\n locked: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Only for nodes. If the node can be grabbed and moved by the user. */\n grabbable: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * Space separated string of class names of the element. Those classes can be selected\n * by a style selector.\n */\n classes: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string)\n })), prop_types__WEBPACK_IMPORTED_MODULE_8___default().exact({\n nodes: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array),\n edges: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array)\n })]),\n /**\n * A list of dictionaries representing the styles of the elements.\n * Each dictionary requires the following keys: `selector` and `style`.\n *\n * Both the [selector](https://js.cytoscape.org/#selectors) and\n * the [style](https://js.cytoscape.org/#style/node-body) are\n * exhaustively documented in the Cytoscape.js docs. Although methods such\n * as `cy.elements(...)` and `cy.filter(...)` are not available, the selector\n * string syntax stays the same.\n */\n stylesheet: prop_types__WEBPACK_IMPORTED_MODULE_8___default().arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_8___default().exact({\n /**\n * Which elements you are styling. Generally, you select a group of elements (node, edges, both),\n * a class (that you declare in the element dictionary), or an element by ID.\n */\n selector: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string).isRequired,\n /**\n * What aspects of the elements you want to modify. This could be the size or\n * color of a node, the shape of an edge arrow, or many more.\n */\n style: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object).isRequired\n })),\n /**\n * A dictionary specifying how to set the position of the elements in your\n * graph. The `'name'` key is required, and indicates which layout (algorithm) to\n * use. The keys accepted by `layout` vary depending on the algorithm, but these\n * keys are accepted by all layouts: `fit`, `padding`, `animate`, `animationDuration`,\n * `boundingBox`.\n *\n * The complete list of layouts and their accepted options are available on the\n * [Cytoscape.js docs](https://js.cytoscape.org/#layouts) . For the external layouts,\n * the options are listed in the \"API\" section of the README.\n * Note that certain keys are not supported in Dash since the value is a JavaScript\n * function or a callback. Please visit this\n * [issue](https://github.com/plotly/dash-cytoscape/issues/25) for more information.\n */\n layout: prop_types__WEBPACK_IMPORTED_MODULE_8___default().shape({\n /**\n * The layouts available by default are:\n * `random`: Randomly assigns positions.\n * `preset`: Assigns position based on the `position` key in element dictionaries.\n * `circle`: Single-level circle, with optional radius.\n * `concentric`: Multi-level circle, with optional radius.\n * `grid`: Square grid, optionally with numbers of `rows` and `cols`.\n * `breadthfirst`: Tree structure built using BFS, with optional `roots`.\n * `cose`: Force-directed physics simulation.\n *\n * Some external layouts are also included. To use them, run\n * `dash_cytoscape.load_extra_layouts()` before creating your Dash app. Be careful about\n * using the extra layouts when not necessary, since they require supplementary bandwidth\n * for loading, which impacts the startup time of the app.\n * The external layouts are:\n * [cose-bilkent](https://github.com/cytoscape/cytoscape.js-cose-bilkent),\n * [fcose](https://github.com/iVis-at-Bilkent/cytoscape.js-fcose),\n * [cola](https://github.com/cytoscape/cytoscape.js-cola),\n * [euler](https://github.com/cytoscape/cytoscape.js-dagre),\n * [spread](https://github.com/cytoscape/cytoscape.js-spread),\n * [dagre](https://github.com/cytoscape/cytoscape.js-dagre),\n * [klay](https://github.com/cytoscape/cytoscape.js-klay),\n */\n name: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOf(['random', 'preset', 'circle', 'concentric', 'grid', 'breadthfirst', 'cose', 'cose-bilkent', 'fcose', 'cola', 'euler', 'spread', 'dagre', 'klay']).isRequired,\n /** Whether to render the nodes in order to fit the canvas. */\n fit: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Padding around the sides of the canvas, if fit is enabled. */\n padding: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /** Whether to animate change in position when the layout changes. */\n animate: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Duration of animation in milliseconds, if enabled. */\n animationDuration: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /**\n * How to constrain the layout in a specific area. Keys accepted are either\n * `x1, y1, x2, y2` or `x1, y1, w, h`, all of which receive a pixel value.\n */\n boundingBox: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object)\n }),\n /**\n * Define a custom context menu. The behaviour of each menu item can be defined in 1 of 3 ways.\n * 1. By passing a string to onClick that refers to one of the built-in Javascript functions.\n * 2. By passing a string to onClickCustom that refers to one of the user-defined functions in a namespace.\n * 3. By omitting both of these properties; this will update the contextMenuData property and trigger a Dash callback.\n */\n contextMenu: prop_types__WEBPACK_IMPORTED_MODULE_8___default().arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_8___default().exact({\n /** ID of the menu item in the context menu */\n id: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string).isRequired,\n /** The label on the context menu item*/\n label: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string).isRequired,\n /** The tooltip text when hovering on top of a context menu item */\n tooltipText: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** A list containing either 'node', 'edge',and/or 'canvas'. This will determine where the context\n * menu item will show up.\n */\n availableOn: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array),\n /** Specify which built-in JavaScript function to use as behaviour for the context\n * menu item. One of 'remove', 'add_node', or 'add_edge'\n */\n onClick: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** Specify which user-defined Javascript function to use in the dashCytoscapeFunctions\n * namespace as behaviour for the context menu item\n */\n onClickCustom: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string)\n })),\n /**\n * Retrieve relevant data when a context menu item is clicked. Read-only.\n */\n contextMenuData: prop_types__WEBPACK_IMPORTED_MODULE_8___default().exact({\n /** ID of the menu item in the context menu */\n menuItemId: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** x-position of the context click */\n x: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /** y-position of the context click */\n y: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /** Timestamp of context click*/\n timeStamp: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /** Element ID on context click if the context click was on an element.\n * If context click was on white space, this property is not returned\n */\n elementId: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** Node ID of the edge source if the clicked element is an edge,\n * or else this property is not returned*/\n edgeSource: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** Node ID of the edge target if the clicked element is an edge,\n * or else this property is not returned*/\n edgeTarget: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string)\n }),\n // Viewport Manipulation\n\n /**\n * Dictionary indicating the initial panning position of the graph. The\n * following keys are accepted:\n */\n pan: prop_types__WEBPACK_IMPORTED_MODULE_8___default().exact({\n /** The x-coordinate of the node */\n x: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /** The y-coordinate of the node */\n y: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number)\n }),\n /**\n * The initial zoom level of the graph. You can set `minZoom` and\n * `maxZoom` to set restrictions on the zoom level.\n */\n zoom: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n // Viewport Mutability and gesture Toggling\n /**\n * Whether panning the graph is enabled (i.e., the position of the graph is\n * mutable overall).\n */\n panningEnabled: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * Whether user events (e.g. dragging the graph background) are allowed to\n * pan the graph.\n */\n userPanningEnabled: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * A minimum bound on the zoom level of the graph. The viewport can not be\n * scaled smaller than this zoom level.\n */\n minZoom: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /**\n * A maximum bound on the zoom level of the graph. The viewport can not be\n * scaled larger than this zoom level.\n */\n maxZoom: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /**\n * Whether zooming the graph is enabled (i.e., the zoom level of the graph\n * is mutable overall).\n */\n zoomingEnabled: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * Whether user events (e.g. dragging the graph background) are allowed\n * to pan the graph.\n */\n userZoomingEnabled: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * Changes the scroll wheel sensitivity when zooming.\n */\n wheelSensitivity: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /**\n * Whether box selection (i.e. drag a box overlay around, and release it\n * to select) is enabled. If enabled, the user must taphold to pan the graph.\n */\n boxSelectionEnabled: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * Whether nodes should be ungrabified (not grabbable by user) by\n * default (if true, overrides individual node state).\n */\n autoungrabify: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * Whether nodes should be locked (not draggable at all) by default\n * (if true, overrides individual node state).\n */\n autolock: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * Whether nodes should be unselectified (immutable selection state) by\n * default (if true, overrides individual element state).\n */\n autounselectify: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * Whether the layout should be refreshed when elements are added or removed.\n */\n autoRefreshLayout: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n // User Events Props\n\n /**\n * The complete node dictionary returned when you tap or click it. Read-only.\n */\n tapNode: prop_types__WEBPACK_IMPORTED_MODULE_8___default().exact({\n /** node specific item */\n edgesData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array),\n /** node specific item */\n renderedPosition: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** node specific item */\n timeStamp: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /** General item (for all elements) */\n classes: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** General item (for all elements) */\n data: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** General item (for all elements) */\n grabbable: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** General item (for all elements) */\n group: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** General item (for all elements) */\n locked: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** General item (for all elements) */\n position: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** General item (for all elements) */\n selectable: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** General item (for all elements) */\n selected: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** General item (for all elements) */\n style: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** Item for compound nodes */\n ancestorsData: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_8___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array)]),\n /** Item for compound nodes */\n childrenData: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_8___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array)]),\n /** Item for compound nodes */\n descendantsData: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_8___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array)]),\n /** Item for compound nodes */\n parentData: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_8___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array)]),\n /** Item for compound nodes */\n siblingsData: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_8___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array)]),\n /** Item for compound nodes */\n isParent: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Item for compound nodes */\n isChildless: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Item for compound nodes */\n isChild: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Item for compound nodes */\n isOrphan: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Item for compound nodes */\n relativePosition: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object)\n }),\n /**\n * The data dictionary of a node returned when you tap or click it. Read-only.\n */\n tapNodeData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /**\n * The complete edge dictionary returned when you tap or click it. Read-only.\n */\n tapEdge: prop_types__WEBPACK_IMPORTED_MODULE_8___default().exact({\n /** Edge-specific item */\n isLoop: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Edge-specific item */\n isSimple: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Edge-specific item */\n midpoint: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** Edge-specific item */\n sourceData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** Edge-specific item */\n sourceEndpoint: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** Edge-specific item */\n targetData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** Edge-specific item */\n targetEndpoint: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** Edge-specific item */\n timeStamp: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /** General item (for all elements) */\n classes: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** General item (for all elements) */\n data: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** General item (for all elements) */\n grabbable: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** General item (for all elements) */\n group: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** General item (for all elements) */\n locked: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** General item (for all elements) */\n selectable: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** General item (for all elements) */\n selected: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** General item (for all elements) */\n style: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object)\n }),\n /**\n * The data dictionary of an edge returned when you tap or click it. Read-only.\n */\n tapEdgeData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /**\n * The data dictionary of a node returned when you hover over it. Read-only.\n */\n mouseoverNodeData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /**\n * The data dictionary of an edge returned when you hover over it. Read-only.\n */\n mouseoverEdgeData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /**\n * The list of data dictionaries of all selected nodes (e.g. using\n * Shift+Click to select multiple nodes, or Shift+Drag to use box selection). Read-only.\n */\n selectedNodeData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array),\n /**\n * The list of data dictionaries of all selected edges (e.g. using\n * Shift+Click to select multiple nodes, or Shift+Drag to use box selection). Read-only.\n */\n selectedEdgeData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array),\n /**\n * Dictionary specifying options to generate an image of the current cytoscape graph.\n * Value is cleared after data is received and image is generated. This property will\n * be ignored on the initial creation of the cytoscape object and must be invoked through\n * a callback after it has been rendered.\n *\n * If the app does not need the image data server side and/or it will only be used to download\n * the image, it may be prudent to invoke `'download'` for `action` instead of\n * `'store'` to improve performance by preventing transfer of data to the server.\n */\n generateImage: prop_types__WEBPACK_IMPORTED_MODULE_8___default().shape({\n /** File type to output */\n type: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOf(['svg', 'png', 'jpg', 'jpeg']),\n /** Dictionary of options to cy.png() / cy.jpg() or cy.svg() for image generation.\n * See https://js.cytoscape.org/#core/export for details. For `'output'`, only 'base64'\n * and 'base64uri' are supported. Default: `{'output': 'base64uri'}`.*/\n options: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /**\n * `'store'`: Stores the image data (only jpg and png are supported)\n * in `imageData` and invokes server-side Dash callbacks. `'download'`: Downloads the image\n * as a file with all data handling done client-side. No `imageData` callbacks are fired.\n * `'both'`: Stores image data and downloads image as file. The default is `'store'`\n */\n action: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOf(['store', 'download', 'both']),\n /** Name for the file to be downloaded. Default: 'cyto'.*/\n filename: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string)\n }),\n /**\n * String representation of the image requested with generateImage. Null if no\n * image was requested yet or the previous request failed. Read-only.\n */\n imageData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /**\n * Toggles intelligent responsive resize of Cytoscape graph with viewport size change\n */\n responsive: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * Extent of the viewport, a bounding box in model co-ordinates that lets you know what model\n * positions are visible in the viewport. This function returns a plain object bounding box\n * with format { x1, y1, x2, y2, w, h }.\n */\n extent: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /**\n * If set to True, mouseoverNodeData and mouseoverEdgeData will be cleared on unhover.\n * If set to False, the value of mouseoverNodeData and mouseoverEdgeData will be the last\n * Node or Edge hovered over\n */\n clearOnUnhover: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool)\n};\nCytoscape.defaultProps = {\n style: {\n width: '600px',\n height: '600px'\n },\n layout: {\n name: 'grid'\n },\n pan: {\n x: 0,\n y: 0\n },\n zoom: 1,\n minZoom: 1e-50,\n maxZoom: 1e50,\n zoomingEnabled: true,\n userZoomingEnabled: true,\n panningEnabled: true,\n userPanningEnabled: true,\n wheelSensitivity: 1,\n boxSelectionEnabled: false,\n autolock: false,\n autoungrabify: false,\n autounselectify: false,\n autoRefreshLayout: true,\n generateImage: {},\n imageData: null,\n responsive: false,\n clearOnUnhover: false,\n elements: [],\n contextMenu: []\n};\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Cytoscape);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvbGliL2NvbXBvbmVudHMvQ3l0b3NjYXBlLnJlYWN0LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNxQztBQUNFO0FBQ0o7QUFDZ0I7QUFDNUI7QUFDVztBQUNZOztBQUU5QztBQUNnQztBQUVoQyxJQUFNUSxTQUFTLEdBQUdDLG1CQUFPLENBQUMsaUVBQVcsQ0FBQztBQUN0QyxJQUFNQyxZQUFZLEdBQUdELG1CQUFPLENBQUMsa0dBQXlCLENBQUM7O0FBRXZEO0FBQ29DOztBQUVwQztBQUNBQyxZQUFZLENBQUNGLFNBQVMsQ0FBQztBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUhBLElBSU1HLFNBQVMsMEJBQUFDLFVBQUE7RUFBQUMsU0FBQSxDQUFBRixTQUFBLEVBQUFDLFVBQUE7RUFDWCxTQUFBRCxVQUFZRyxLQUFLLEVBQUU7SUFBQSxJQUFBQyxLQUFBO0lBQUFDLGVBQUEsT0FBQUwsU0FBQTtJQUNmSSxLQUFBLEdBQUFFLFVBQUEsT0FBQU4sU0FBQSxHQUFNRyxLQUFLO0lBRVhDLEtBQUEsQ0FBS0csUUFBUSxHQUFHSCxLQUFBLENBQUtHLFFBQVEsQ0FBQ0MsSUFBSSxDQUFBQyxzQkFBQSxDQUFBTCxLQUFBLENBQUssQ0FBQztJQUN4Q0EsS0FBQSxDQUFLTSxlQUFlLEdBQUcsS0FBSztJQUM1Qk4sS0FBQSxDQUFLTyxxQkFBcUIsR0FBR1AsS0FBQSxDQUFLTyxxQkFBcUIsQ0FBQ0gsSUFBSSxDQUFBQyxzQkFBQSxDQUFBTCxLQUFBLENBQUssQ0FBQztJQUNsRUEsS0FBQSxDQUFLUSxpQkFBaUIsR0FBRyxLQUFLO0lBQUMsT0FBQVIsS0FBQTtFQUNuQztFQUFDUyxZQUFBLENBQUFiLFNBQUE7SUFBQWMsR0FBQTtJQUFBQyxLQUFBLEVBRUQsU0FBQUMsYUFBYUMsS0FBSyxFQUFFO01BQ2hCLElBQU1DLEdBQUcsR0FBR0QsS0FBSyxDQUFDRSxNQUFNO01BRXhCLElBQU1D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S0FBSztFQUNmRCxhQUFhLEVBQUUsS0FBSztFQUNwQkUsZUFBZSxFQUFFLEtBQUs7RUFDdEJ2SyxpQkFBaUIsRUFBRSxJQUFJO0VBQ3ZCd0ssYUFBYSxFQUFFLENBQUMsQ0FBQztFQUNqQmpELFNBQVMsRUFBRSxJQUFJO0VBQ2Z6QixVQUFVLEVBQUUsS0FBSztFQUNqQjVELGNBQWMsRUFBRSxLQUFLO0VBQ3JCRyxRQUFRLEVBQUUsRUFBRTtFQUNaa0csV0FBVyxFQUFFO0FBQ2pCLENBQUM7QUFFRCxpRUFBZWxOLFNBQVMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX2N5dG9zY2FwZS8uL3NyYy9saWIvY29tcG9uZW50cy9DeXRvc2NhcGUucmVhY3QuanM/NjQyYyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEphdmFTY3JpcHQgUmVxdWlyZW1lbnRzOiBjeXRvc2NhcGUsIGN5dG9zY2FwZS1zdmdcbiAqIFJlYWN0LmpzIHJlcXVpcmVtZW50czogcmVhY3QtY3l0b3NjYXBlanNcbiAqL1xuaW1wb3J0ICcvc3JjL2Fzc2V0cy9jb250ZXh0bWVudS5jc3MnO1xuaW1wb3J0IFJlYWN0LCB7Q29tcG9uZW50fSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IEN5dG9zY2FwZUNvbXBvbmVudCBmcm9tICdyZWFjdC1jeXRvc2NhcGVqcyc7XG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHt2NCBhcyB1dWlkdjR9IGZyb20gJ3V1aWQnO1xuaW1wb3J0IEN5UmVzcG9uc2l2ZSBmcm9tICcuLi9jeVJlc3BvbnNpdmUuanMnO1xuXG4vLyBQb2x5ZmlsbCBzbyB0aGF0IGNvbnRleHQgbWVudSBleHRlbnNpb24gd29ya3MgaW4gU2FmYXJpXG5pbXBvcnQgJ0B1bmdhcC9jdXN0b20tZWxlbWVudHMnO1xuXG5jb25zdCBjeXRvc2NhcGUgPSByZXF1aXJlKCdjeXRvc2NhcGUnKTtcbmNvbnN0IGNvbnRleHRNZW51cyA9IHJlcXVpcmUoJ2N5dG9zY2FwZS1jb250ZXh0LW1lbnVzJyk7XG5cbi8vIENsaWVudHNpZGUgY2FsbGJhY2sgZnVuY3Rpb25zIGZvciBDeUxlYWZsZXQgQUlPIGNvbXBvbmVudFxuaW1wb3J0ICcuLi9jeWxlYWZsZXRfY2xpZW50c2lkZS5qcyc7XG5cbi8vIHJlZ2lzdGVyIGV4dGVuc2lvblxuY29udGV4dE1lbnVzKGN5dG9zY2FwZSk7XG4vKipcbiAqIEEgQ29tcG9uZW50IExpYnJhcnkgZm9yIERhc2ggYWltZWQgYXQgZmFjaWxpdGF0aW5nIG5ldHdvcmsgdmlzdWFsaXphdGlvbiBpblxuICogUHl0aG9uLCB3cmFwcGVkIGFyb3VuZCBbQ3l0b3NjYXBlLmpzXShodHRwOi8vanMuY3l0b3NjYXBlLm9yZy8pLlxuICovXG5jbGFzcyBDeXRvc2NhcGUgZXh0ZW5kcyBDb21wb25lbnQge1xuICAgIGNvbnN0cnVjdG9yKHByb3BzKSB7XG4gICAgICAgIHN1cGVyKHByb3BzKTtcblxuICAgICAgICB0aGlzLmhhbmRsZUN5ID0gdGhpcy5oYW5kbGVDeS5iaW5kKHRoaXMpO1xuICAgICAgICB0aGlzLl9oYW5kbGVDeUNhbGxlZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLmhhbmRsZUltYWdlR2VuZXJhdGlvbiA9IHRoaXMuaGFuZGxlSW1hZ2VHZW5lcmF0aW9uLmJpbmQodGhpcyk7XG4gICAgICAgIHRoaXMuY3lSZXNwb25zaXZlQ2xhc3MgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBnZW5lcmF0ZU5vZGUoZXZlbnQpIHtcbiAgICAgICAgY29uc3QgZWxlID0gZXZlbnQudGFyZ2V0O1xuXG4gICAgICAgIGNvbnN0IGlzUGFyZW50ID0gZWxlLmlzUGFyZW50KCksXG4gICAgICAgICAgICBpc0NoaWxkbGVzcyA9IGVsZS5pc0NoaWxkbGVzcygpLFxuICAgICAgICAgICAgaXNDaGlsZCA9IGVsZS5pc0NoaWxkKCksXG4gICAgICAgICAgICBpc09ycGhhbiA9IGVsZS5pc09ycGhhbigpLFxuICAgICAgICAgICAgcmVuZGVyZWRQb3NpdGlvbiA9IGVsZS5yZW5kZXJlZFBvc2l0aW9uKCksXG4gICAgICAgICAgICByZWxhdGl2ZVBvc2l0aW9uID0gZWxlLnJlbGF0aXZlUG9zaXRpb24oKSxcbiAgICAgICAgICAgIHBhcmVudCA9IGVsZS5wYXJlbnQoKSxcbiAgICAgICAgICAgIHN0eWxlID0gZWxlLnN0eWxlKCk7XG5cbiAgICAgICAgLy8gVHJpbSBkb3duIHRoZSBlbGVtZW50IG9iamVjdHMgdG8gb25seSB0aGUgZGF0YSBjb250YWluZWRcbiAgICAgICAgY29uc3QgZWRnZXNEYXRhID0gZWxlLmNvbm5lY3RlZEVkZ2VzKCkubWFwKChlbGUpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBlbGUuZGF0YSgpO1xuICAgICAgICB9KTtcbiAgICAgICAgY29uc3QgY2hpbGRyZW5EYXRhID0gZWxlLmNoaWxkcmVuKCkubWFwKChlbGUpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBlbGUuZGF0YSgpO1xuICAgICAgICB9KTtcbiAgICAgICAgY29uc3QgYW5jZXN0b3JzRGF0YSA9IGVsZS5hbmNlc3RvcnMoKS5tYXAoKGVsZSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGVsZS5kYXRhKCk7XG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBkZXNjZW5kYW50c0RhdGEgPSBlbGUuZGVzY2VuZGFudHMoKS5tYXAoKGVsZSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGVsZS5kYXRhKCk7XG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBzaWJsaW5nc0RhdGEgPSBlbGUuc2libGluZ3MoKS5tYXAoKGVsZSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGVsZS5kYXRhKCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IHt0aW1lU3RhbXB9ID0gZXZlbnQ7XG4gICAgICAgIGNvbnN0IHtcbiAgICAgICAgICAgIGNsYXNzZXMsXG4gICAgICAgICAgICBkYXRhLFxuICAgICAgICAgICAgZ3JhYmJhYmxlLFxuICAgICAgICAgICAgZ3JvdXAsXG4gICAgICAgICAgICBsb2NrZWQsXG4gICAgICAgICAgICBwb3NpdGlvbixcbiAgICAgICAgICAgIHNlbGVjdGVkLFxuICAgICAgICAgICAgc2VsZWN0YWJsZSxcbiAgICAgICAgfSA9IGVsZS5qc29uKCk7XG5cbiAgICAgICAgbGV0IHBhcmVudERhdGE7XG4gICAgICAgIGlmIChwYXJlbnQpIHtcbiAgICAgICAgICAgIHBhcmVudERhdGEgPSBwYXJlbnQuZGF0YSgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcGFyZW50RGF0YSA9IG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBub2RlT2JqZWN0ID0ge1xuICAgICAgICAgICAgLy8gTm9kZXMgYXR0cmlidXRlc1xuICAgICAgICAgICAgZWRnZXNEYXRhLFxuICAgICAgICAgICAgcmVuZGVyZWRQb3NpdGlvbixcbiAgICAgICAgICAgIHRpbWVTdGFtcCxcbiAgICAgICAgICAgIC8vIEZyb20gZWxlLmpzb24oKVxuICAgICAgICAgICAgY2xhc3NlcyxcbiAgICAgICAgICAgIGRhdGEsXG4gICAgICAgICAgICBncmFiYmFibGUsXG4gICAgICAgICAgICBncm91cCxcbiAgICAgICAgICAgIGxvY2tlZCxcbiAgICAgICAgICAgIHBvc2l0aW9uLFxuICAgICAgICAgICAgc2VsZWN0YWJsZSxcbiAgICAgICAgICAgIHNlbGVjdGVkLFxuICAgICAgICAgICAgLy8gQ29tcG91bmQgTm9kZXMgYWRkaXRpb25hbCBhdHRyaWJ1dGVzXG4gICAgICAgICAgICBhbmNlc3RvcnNEYXRhLFxuICAgICAgICAgICAgY2hpbGRyZW5EYXRhLFxuICAgICAgICAgICAgZGVzY2VuZGFudHNEYXRhLFxuICAgICAgICAgICAgcGFyZW50RGF0YSxcbiAgICAgICAgICAgIHNpYmxpbmdzRGF0YSxcbiAgICAgICAgICAgIGlzUGFyZW50LFxuICAgICAgICAgICAgaXNDaGlsZGxlc3MsXG4gICAgICAgICAgICBpc0NoaWxkLFxuICAgICAgICAgICAgaXNPcnBoYW4sXG4gICAgICAgICAgICByZWxhdGl2ZVBvc2l0aW9uLFxuICAgICAgICAgICAgLy8gU3R5bGluZ1xuICAgICAgICAgICAgc3R5bGUsXG4gICAgICAgIH07XG4gICAgICAgIHJldHVybiBub2RlT2JqZWN0O1xuICAgIH1cblxuICAgIGdlbmVyYXRlRWRnZShldmVudCkge1xuICAgICAgICBjb25zdCBlbGUgPSBldmVudC50YXJnZXQ7XG5cbiAgICAgICAgY29uc3QgbWlkcG9pbnQgPSBlbGUubWlkcG9pbnQoKSxcbiAgICAgICAgICAgIGlzTG9vcCA9IGVsZS5pc0xvb3AoKSxcbiAgICAgICAgICAgIGlzU2ltcGxlID0gZWxlLmlzU2ltcGxlKCksXG4gICAgICAgICAgICBzb3VyY2VEYXRhID0gZWxlLnNvdXJjZSgpLmRhdGEoKSxcbiAgICAgICAgICAgIHNvdXJjZUVuZHBvaW50ID0gZWxlLnNvdXJjZUVuZHBvaW50KCksXG4gICAgICAgICAgICBzdHlsZSA9IGVsZS5zdHlsZSgpLFxuICAgICAgICAgICAgdGFyZ2V0RGF0YSA9IGVsZS50YXJnZXQoKS5kYXRhKCksXG4gICAgICAgICAgICB0YXJnZXRFbmRwb2ludCA9IGVsZS50YXJnZXRFbmRwb2ludCgpO1xuXG4gICAgICAgIGNvbnN0IHt0aW1lU3RhbXB9ID0gZXZlbnQ7XG4gICAgICAgIGNvbnN0IHtjbGFzc2VzLCBkYXRhLCBncmFiYmFibGUsIGdyb3VwLCBsb2NrZWQsIHNlbGVjdGFibGUsIHNlbGVjdGVkfSA9XG4gICAgICAgICAgICBlbGUuanNvbigpO1xuXG4gICAgICAgIGNvbnN0IGVkZ2VPYmplY3QgPSB7XG4gICAgICAgICAgICAvLyBFZGdlcyBhdHRyaWJ1dGVzXG4gICAgICAgICAgICBpc0xvb3AsXG4gICAgICAgICAgICBpc1NpbXBsZSxcbiAgICAgICAgICAgIG1pZHBvaW50LFxuICAgICAgICAgICAgc291cmNlRGF0YSxcbiAgICAgICAgICAgIHNvdXJjZUVuZHBvaW50LFxuICAgICAgICAgICAgdGFyZ2V0RGF0YSxcbiAgICAgICAgICAgIHRhcmdldEVuZHBvaW50LFxuICAgICAgICAgICAgdGltZVN0YW1wLFxuICAgICAgICAgICAgLy8gRnJvbSBlbGUuanNvbigpXG4gICAgICAgICAgICBjbGFzc2VzLFxuICAgICAgICAgICAgZGF0YSxcbiAgICAgICAgICAgIGdyYWJiYWJsZSxcbiAgICAgICAgICAgIGdyb3VwLFxuICAgICAgICAgICAgbG9ja2VkLFxuICAgICAgICAgICAgc2VsZWN0YWJsZSxcbiAgICAgICAgICAgIHNlbGVjdGVkLFxuICAgICAgICAgICAgLy8gU3R5bGluZ1xuICAgICAgICAgICAgc3R5bGUsXG4gICAgICAgIH07XG5cbiAgICAgICAgcmV0dXJuIGVkZ2VPYmplY3Q7XG4gICAgfVxuXG4gICAgaGFuZGxlQ3koY3kpIHtcbiAgICAgICAgLy8gSWYgdGhlIGN5IHBvaW50ZXIgaGFzIG5vdCBiZWVuIG1vZGlmaWVkLCBhbmQgaGFuZGxlQ3kgaGFzIGFscmVhZHlcbiAgICAgICAgLy8gYmVlbiBjYWxsZWQgYmVmb3JlLCB0aGFuIHdlIGRvbid0IHJ1biB0aGlzIGZ1bmN0aW9uLlxuICAgICAgICBpZiAoY3kgPT09IHRoaXMuX2N5ICYmIHRoaXMuX2hhbmRsZUN5Q2FsbGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fY3kgPSBjeTtcbiAgICAgICAgd2luZG93LmN5ID0gY3k7XG4gICAgICAgIHRoaXMuX2hhbmRsZUN5Q2FsbGVkID0gdHJ1ZTtcblxuICAgICAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vIENPTlNUQU5UUyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgICAgICBjb25zdCBTRUxFQ1RfVEhSRVNIT0xEID0gMTAwO1xuICAgICAgICBjb25zdCBFWFRFTlRfVEhSRVNIT0xEID0gNTtcblxuICAgICAgICBjb25zdCBzZWxlY3RlZE5vZGVzID0gY3kuY29sbGVjdGlvbigpO1xuICAgICAgICBjb25zdCBzZWxlY3RlZEVkZ2VzID0gY3kuY29sbGVjdGlvbigpO1xuXG4gICAgICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gRlVOQ1RJT05TIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgICAgIGNvbnN0IHJlZnJlc2hMYXlvdXQgPSBfLmRlYm91bmNlKCgpID0+IHtcbiAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICogUmVmcmVzaCBMYXlvdXQgaWYgbmVlZGVkXG4gICAgICAgICAgICAgKi9cbiAgICAgICAgICAgIGNvbnN0IHthdXRvUmVmcmVzaExheW91dCwgbGF5b3V0fSA9IHRoaXMucHJvcHM7XG5cbiAgICAgICAgICAgIGlmIChhdXRvUmVmcmVzaExheW91dCkge1xuICAgICAgICAgICAgICAgIGN5LmxheW91dChsYXlvdXQpLnJ1bigpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LCBTRUxFQ1RfVEhSRVNIT0xEKTtcblxuICAgICAgICBjb25zdCBzZW5kU2VsZWN0ZWROb2Rlc0RhdGEgPSBfLmRlYm91bmNlKCgpID0+IHtcbiAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICAgVGhpcyBmdW5jdGlvbiBpcyByZXBldGl0aXZlbHkgY2FsbGVkIGV2ZXJ5IHRpbWUgYSBub2RlIGlzIHNlbGVjdGVkXG4gICAgICAgICAgICAgICBvciB1bnNlbGVjdGVkLCBidXQga2VlcHMgYmVpbmcgZGVib3VuY2VkIGlmIGl0IGlzIGNhbGxlZCBhZ2FpblxuICAgICAgICAgICAgICAgd2l0aGluIDEwMCBtcyAoZ2l2ZW4gYnkgU0VMRUNUX1RIUkVTSE9MRCkuIEVmZmVjdGl2ZWx5LCBpdCBvbmx5XG4gICAgICAgICAgICAgICBydW5zIHdoZW4gYWxsIHRoZSBub2RlcyBoYXZlIGJlZW4gY29ycmVjdGx5IHNlbGVjdGVkL3Vuc2VsZWN0ZWQgYW5kXG4gICAgICAgICAgICAgICBhZGRlZC9yZW1vdmVkIGZyb20gdGhlIHNlbGVjdGVkTm9kZXMgY29sbGVjdGlvbiwgYW5kIHRoZW4gdXBkYXRlc1xuICAgICAgICAgICAgICAgdGhlIHNlbGVjdGVkTm9kZURhdGEgcHJvcC5cbiAgICAgICAgICAgICAgICovXG4gICAgICAgICAgICBjb25zdCBub2RlRGF0YSA9IHNlbGVjdGVkTm9kZXMubWFwKChlbCkgPT4gZWwuZGF0YSgpKTtcblxuICAgICAgICAgICAgdGhpcy5wcm9wcy5zZXRQcm9wcyh7XG4gICAgICAgICAgICAgICAgc2VsZWN0ZWROb2RlRGF0YTogbm9kZURhdGEsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSwgU0VMRUNUX1RIUkVTSE9MRCk7XG5cbiAgICAgICAgY29uc3Qgc2VuZFNlbGVjdGVkRWRnZXNEYXRhID0gXy5kZWJvdW5jZSgoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBlZGdlRGF0YSA9IHNlbGVjdGVkRWRnZXMubWFwKChlbCkgPT4gZWwuZGF0YSgpKTtcblxuICAgICAgICAgICAgdGhpcy5wcm9wcy5zZXRQcm9wcyh7XG4gICAgICAgICAgICAgICAgc2VsZWN0ZWRFZGdlRGF0YTogZWRnZURhdGEsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSwgU0VMRUNUX1RIUkVTSE9MRCk7XG5cbiAgICAgICAgY29uc3Qgc2V0RXh0ZW50ID0gXy5kZWJvdW5jZSgoY3lFeHRlbnQpID0+IHtcbiAgICAgICAgICAgIHRoaXMucHJvcHMuc2V0UHJvcHMoe1xuICAgICAgICAgICAgICAgIGV4dGVudDogY3lFeHRlbnQsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSwgRVhURU5UX1RIUkVTSE9MRCk7XG5cbiAgICAgICAgLy8gU3RvcmUgdGhlIG9yaWdpbmFsIG1heFpvb20gYW5kIG1pblpvb20gZnVuY3Rpb25zXG4gICAgICAgIGNvbnN0IG9yaWdpbmFsTWF4Wm9vbUZuID0gY3kubWF4Wm9vbTtcbiAgICAgICAgY29uc3Qgb3JpZ2luYWxNaW5ab29tRm4gPSBjeS5taW5ab29tO1xuXG4gICAgICAgIC8vIE92ZXJyaWRlIHRoZSBtYXhab29tIGZ1bmN0aW9uIHRvIHRyaWdnZXIgbWF4Wm9vbUNoYW5nZSBjdXN0b20gZXZlbnRcbiAgICAgICAgY3kubWF4Wm9vbSA9IGZ1bmN0aW9uKGUpIHtcbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRNYXhab29tID0gb3JpZ2luYWxNYXhab29tRm4uY2FsbChjeSwgZSk7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIC8vIFRyaWdnZXIgeW91ciBjdXN0b20gZXZlbnQgaWYgdGhlIGN1cnJlbnQgbWF4IHpvb20gbGV2ZWwgaXMgZGlmZmVyZW50IGZyb20gdGhlIFxuICAgICAgICAgICAgLy8gcHJldmlvdXNseSBzdG9yZWQgbWF4IHpvb20gbGV2ZWxcbiAgICAgICAgICAgIGlmIChjdXJyZW50TWF4Wm9vbSAhPT0gY3kuX3ByZXZpb3VzTWF4Wm9vbSkge1xuICAgICAgICAgICAgICAgIGN5Ll9wcmV2aW91c01heFpvb20gPSBjdXJyZW50TWF4Wm9vbTtcbiAgICAgICAgICAgICAgICBjeS50cmlnZ2VyKCdtaW5NYXhab29tQ2hhbmdlJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gY3VycmVudE1heFpvb207XG4gICAgICAgIH07XG5cbiAgICAgICAgLy8gT3ZlcnJpZGUgdGhlIG1pblpvb20gZnVuY3Rpb24gdG8gdHJpZ2dlciBtaW5ab29tQ2hhbmdlIGN1c3RvbSBldmVudFxuICAgICAgICBjeS5taW5ab29tID0gZnVuY3Rpb24oZSkge1xuICAgICAgICAgICAgY29uc3QgY3VycmVudE1pblpvb20gPSBvcmlnaW5hbE1pblpvb21Gbi5jYWxsKGN5LCBlKTtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgLy8gVHJpZ2dlciB5b3VyIGN1c3RvbSBldmVudCBpZiB0aGUgY3VycmVudCBtaW4gem9vbSBsZXZlbCBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgXG4gICAgICAgICAgICAvLyBwcmV2aW91c2x5IHN0b3JlZCBtaW4gem9vbSBsZXZlbFxuICAgICAgICAgICAgaWYgKGN1cnJlbnRNaW5ab29tICE9PSBjeS5fcHJldmlvdXNNaW5ab29tKSB7XG4gICAgICAgICAgICAgICAgY3kuX3ByZXZpb3VzTWluWm9vbSA9IGN1cnJlbnRNaW5ab29tO1xuICAgICAgICAgICAgICAgIGN5LnRyaWdnZXIoJ21pbk1heFpvb21DaGFuZ2UnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBjdXJyZW50TWluWm9vbTtcbiAgICAgICAgfTtcblxuICAgICAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gRVZFTlRTIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgICAgIGN5Lm9uKCd0YXAnLCAnbm9kZScsIChldmVudCkgPT4ge1xuICAgICAgICAgICAgY29uc3Qgbm9kZU9iamVjdCA9IHRoaXMuZ2VuZXJhdGVOb2RlKGV2ZW50KTtcblxuICAgICAgICAgICAgdGhpcy5wcm9wcy5zZXRQcm9wcyh7XG4gICAgICAgICAgICAgICAgdGFwTm9kZTogbm9kZU9iamVjdCxcbiAgICAgICAgICAgICAgICB0YXBOb2RlRGF0YTogT2JqZWN0LmFzc2lnbih7fSwgbm9kZU9iamVjdC5kYXRhLCB7XG4gICAgICAgICAgICAgICAgICAgIHRpbWVTdGFtcDogbm9kZU9iamVjdC50aW1lU3RhbXAsXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY3kub24oJ3RhcCcsICdlZGdlJywgKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBlZGdlT2JqZWN0ID0gdGhpcy5nZW5lcmF0ZUVkZ2UoZXZlbnQpO1xuXG4gICAgICAgICAgICB0aGlzLnByb3BzLnNldFByb3BzKHtcbiAgICAgICAgICAgICAgICB0YXBFZGdlOiBlZGdlT2JqZWN0LFxuICAgICAgICAgICAgICAgIHRhcEVkZ2VEYXRhOiBPYmplY3QuYXNzaWduKHt9LCBlZGdlT2JqZWN0LmRhdGEsIHtcbiAgICAgICAgICAgICAgICAgICAgdGltZVN0YW1wOiBlZGdlT2JqZWN0LnRpbWVTdGFtcCxcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcblxuICAgICAgICBjeS5vbignbW91c2VvdmVyJywgJ25vZGUnLCAoZXZlbnQpID0+IHtcbiAgICAgICAgICAgIHRoaXMucHJvcHMuc2V0UHJvcHMoe1xuICAgICAgICAgICAgICAgIG1vdXNlb3Zlck5vZGVEYXRhOiBPYmplY3QuYXNzaWduKHt9LCBldmVudC50YXJnZXQuZGF0YSgpLCB7XG4gICAgICAgICAgICAgICAgICAgIHRpbWVTdGFtcDogZXZlbnQudGltZVN0YW1wLFxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGN5Lm9uKCdtb3VzZW92ZXInLCAnZWRnZScsIChldmVudCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5wcm9wcy5zZXRQcm9wcyh7XG4gICAgICAgICAgICAgICAgbW91c2VvdmVyRWRnZURhdGE6IE9iamVjdC5hc3NpZ24oe30sIGV2ZW50LnRhcmdldC5kYXRhKCksIHtcbiAgICAgICAgICAgICAgICAgICAgdGltZVN0YW1wOiBldmVudC50aW1lU3RhbXAsXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY3kub24oJ21vdXNlb3V0JywgJ25vZGUnLCAoXykgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMucHJvcHMuY2xlYXJPblVuaG92ZXIgPT09IHRydWUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnByb3BzLnNldFByb3BzKHttb3VzZW92ZXJOb2RlRGF0YTogbnVsbH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICBjeS5vbignbW91c2VvdXQnLCAnZWRnZScsIChfKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5wcm9wcy5jbGVhck9uVW5ob3ZlciA9PT0gdHJ1ZSkge1xuICAgICAgICAgICAgICAgIHRoaXMucHJvcHMuc2V0UHJvcHMoe1xuICAgICAgICAgICAgICAgICAgICBtb3VzZW92ZXJFZGdlRGF0YTogbnVsbCxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgY3kub24oJ3NlbGVjdCcsICdub2RlJywgKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBlbGUgPSBldmVudC50YXJnZXQ7XG5cbiAgICAgICAgICAgIHNlbGVjdGVkTm9kZXMubWVyZ2UoZWxlKTtcbiAgICAgICAgICAgIHNlbmRTZWxlY3RlZE5vZGVzRGF0YSgpO1xuICAgICAgICB9KTtcblxuICAgICAgICBjeS5vbigndW5zZWxlY3QgcmVtb3ZlJywgJ25vZGUnLCAoZXZlbnQpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGVsZSA9IGV2ZW50LnRhcmdldDtcblxuICAgICAgICAgICAgc2VsZWN0ZWROb2Rlcy51bm1lcmdlKGVsZSk7XG4gICAgICAgICAgICBzZW5kU2VsZWN0ZWROb2Rlc0RhdGEoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY3kub24oJ3NlbGVjdCcsICdlZGdlJywgKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBlbGUgPSBldmVudC50YXJnZXQ7XG5cbiAgICAgICAgICAgIHNlbGVjdGVkRWRnZXMubWVyZ2UoZWxlKTtcbiAgICAgICAgICAgIHNlbmRTZWxlY3RlZEVkZ2VzRGF0YSgpO1xuICAgICAgICB9KTtcblxuICAgICAgICBjeS5vbigndW5zZWxlY3QgcmVtb3ZlJywgJ2VkZ2UnLCAoZXZlbnQpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGVsZSA9IGV2ZW50LnRhcmdldDtcblxuICAgICAgICAgICAgc2VsZWN0ZWRFZGdlcy51bm1lcmdlKGVsZSk7XG4gICAgICAgICAgICBzZW5kU2VsZWN0ZWRFZGdlc0RhdGEoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY3kub24oJ2FkZCByZW1vdmUnLCAoKSA9PiB7XG4gICAgICAgICAgICByZWZyZXNoTGF5b3V0KCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGN5Lm9uKCdkcmFnZnJlZSBhZGQgcmVtb3ZlJywgKF8pID0+IHtcbiAgICAgICAgICAgIHRoaXMucHJvcHMuc2V0UHJvcHMoe1xuICAgICAgICAgICAgICAgIGVsZW1lbnRzOiBjeS5lbGVtZW50cygnJykubWFwKChpdGVtKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChpdGVtLmpzb24oKS5ncm91cCA9PT0gJ25vZGVzJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhOiBpdGVtLmpzb24oKS5kYXRhLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBpdGVtLmpzb24oKS5wb3NpdGlvbixcbiAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE6IGl0ZW0uanNvbigpLmRhdGEsXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogdm9pZCAwLFxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGN5Lm9uKCd2aWV3cG9ydCByZXNpemUnLCAoKSA9PiB7XG4gICAgICAgICAgICBzZXRFeHRlbnQoY3kuZXh0ZW50KCkpO1xuICAgICAgICB9KTtcblxuICAgICAgICAvLyBSZWZyZXNoIGxheW91dCBpZiBjdXJyZW50IHpvb20gaXMgb3V0IG9mIGJvdW5kYXJpZXNcbiAgICAgICAgY3kub24oJ21pbk1heFpvb21DaGFuZ2UnLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICB2YXIgem9vbSA9IGN5Lnpvb20oKTtcbiAgICAgICAgICAgIGlmICh6b29tID4gY3kubWF4Wm9vbSgpIHx8IHpvb20gPCBjeS5taW5ab29tKCkpIHtcbiAgICAgICAgICAgICAgICBjeS5maXQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5jcmVhdGVNZW51SXRlbXMgPSAoY3R4TWVudSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgdXBkYXRlQ29udGV4dE1lbnVEYXRhID0gKG5ld0NvbnRleHQpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnByb3BzLnNldFByb3BzKHtjb250ZXh0TWVudURhdGE6IG5ld0NvbnRleHR9KTtcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBjb25zdCBjb250ZXh0TWVudURlZmF1bHRGdW5jdGlvbnMgPSB7XG4gICAgICAgICAgICAgICAgcmVtb3ZlOiBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IHx8IGV2ZW50LmN5VGFyZ2V0O1xuICAgICAgICAgICAgICAgICAgICB0YXJnZXQucmVtb3ZlKCk7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBhZGRfbm9kZTogZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHBvcyA9IGV2ZW50LnBvc2l0aW9uIHx8IGV2ZW50LmN5UG9zaXRpb247XG4gICAgICAgICAgICAgICAgICAgIGN5LmFkZCh7XG4gICAgICAgICAgICAgICAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JvdXA6ICdub2RlcycsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB4OiBwb3MueCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB5OiBwb3MueSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgYWRkX2VkZ2U6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWROb2RlSWRzID0gc2VsZWN0ZWROb2Rlcy5tYXAoKG5vZGUpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICBub2RlLmlkKClcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHNlbGVjdGVkTm9kZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFcnJvcjogTm8gbm9kZXMgc2VsZWN0ZWQsIGNhbm5vdCBhZGQgZWRnZSdcbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoc2VsZWN0ZWROb2Rlcy5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGN5LmFkZCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZDogdXVpZHY0KCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyb3VwOiAnZWRnZXMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzb3VyY2U6IHNlbGVjdGVkTm9kZUlkc1swXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0OiBzZWxlY3RlZE5vZGVJZHNbMF0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHNlbGVjdGVkTm9kZXMubGVuZ3RoID09PSAyKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjeS5hZGQoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IHV1aWR2NCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBncm91cDogJ2VkZ2VzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc291cmNlOiBzZWxlY3RlZE5vZGVJZHNbMF0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldDogc2VsZWN0ZWROb2RlSWRzWzFdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0Vycm9yOiBtb3JlIHRoYW4gMiBub2RlcyBzZWxlY3RlZCwgY2Fubm90IGFkZCBlZGdlJ1xuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgY29uc3QgbmV3TWVudUl0ZW1zID0gW107XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgY3R4TWVudSkge1xuICAgICAgICAgICAgICAgIGxldCBvbkNsaWNrRnVuY3Rpb247XG4gICAgICAgICAgICAgICAgLy8gcmV0dXJuIGRhdGEgc28gYSB1c2VyIGNhbiBkZWZpbmUgYSBjdXN0b20gb24gY2xpY2sgZnVuY3Rpb24gaW4gUHl0aG9uXG4gICAgICAgICAgICAgICAgLy8gaWYgb25DbGljayBvciBvbiBvbkNsaWNrQ3VzdG9tIGFyZSBub3Qgc3BlY2lmaWVkXG4gICAgICAgICAgICAgICAgb25DbGlja0Z1bmN0aW9uID0gZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIHVwZGF0ZUNvbnRleHRNZW51RGF0YSh7XG4gICAgICAgICAgICAgICAgICAgICAgICBtZW51SXRlbUlkOiBpdGVtLmlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgeDogZXZlbnQucG9zaXRpb24ueCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHk6IGV2ZW50LnBvc2l0aW9uLnksXG4gICAgICAgICAgICAgICAgICAgICAgICB0aW1lU3RhbXA6IGV2ZW50LnRpbWVTdGFtcCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnRJZDogZXZlbnQudGFyZ2V0LmRhdGEoKS5pZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGVkZ2VTb3VyY2U6IGV2ZW50LnRhcmdldC5kYXRhKCkuc291cmNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgZWRnZVRhcmdldDogZXZlbnQudGFyZ2V0LmRhdGEoKS50YXJnZXQsXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgLy8gdXNlIGRlZmF1bHQgamF2YXNjcmlwdCBmdW5jdGlvbiBhcyBvbkNsaWNrRnVuY3Rpb25cbiAgICAgICAgICAgICAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGl0ZW0sICdvbkNsaWNrJykpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHRNZW51RGVmYXVsdEZ1bmN0aW9ucyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtLm9uQ2xpY2tcbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrRnVuY3Rpb24gPVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHRNZW51RGVmYXVsdEZ1bmN0aW9uc1tpdGVtLm9uQ2xpY2tdO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBgb25DbGljayBmdW5jdGlvbiAke2l0ZW0ub25DbGlja30gaXMgbm90IGRlZmluZWRgXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8vIHVzZSB1c2VyLWRlZmluZWQgSmF2YXNjcmlwdCBmdW5jdGlvbiBpbiBhIG5hbWVzcGFjZSB1bmRlciBhc3NldHMvIGFzIG9uQ2xpY2tGdW5jdGlvblxuICAgICAgICAgICAgICAgIGVsc2UgaWYgKFxuICAgICAgICAgICAgICAgICAgICBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoaXRlbSwgJ29uQ2xpY2tDdXN0b20nKVxuICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2luZG93LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkYXNoQ3l0b3NjYXBlRnVuY3Rpb25zJ1xuICAgICAgICAgICAgICAgICAgICAgICAgKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpbmRvdy5kYXNoQ3l0b3NjYXBlRnVuY3Rpb25zLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0ub25DbGlja0N1c3RvbVxuICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2tGdW5jdGlvbiA9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2luZG93LmRhc2hDeXRvc2NhcGVGdW5jdGlvbnNbaXRlbS5vbkNsaWNrQ3VzdG9tXTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYG9uQ2xpY2tDdXN0b20gZnVuY3Rpb24gJHtpdGVtLm9uQ2xpY2tDdXN0b219IGlzIG5vdCBkZWZpbmVkYFxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjb25zdCBuZXdfaXRlbSA9IHtcbiAgICAgICAgICAgICAgICAgICAgaWQ6IGl0ZW0uaWQsXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IGl0ZW0ubGFiZWwsXG4gICAgICAgICAgICAgICAgICAgIHRvb2x0aXBUZXh0OiBpdGVtLnRvb2x0aXBUZXh0LFxuICAgICAgICAgICAgICAgICAgICBzZWxlY3RvcjogJycsXG4gICAgICAgICAgICAgICAgICAgIG9uQ2xpY2tGdW5jdGlvbjogb25DbGlja0Z1bmN0aW9uLFxuICAgICAgICAgICAgICAgICAgICBjb3JlQXNXZWxsOiBmYWxzZSxcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoaXRlbSwgJ2F2YWlsYWJsZU9uJykpIHtcbiAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCBzZWxlY3RvciBvZiBpdGVtLmF2YWlsYWJsZU9uKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoc2VsZWN0b3IgPT09ICdlZGdlJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChuZXdfaXRlbS5zZWxlY3Rvci5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld19pdGVtLnNlbGVjdG9yID0gbmV3X2l0ZW0uc2VsZWN0b3IgKyAnLCAnO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXdfaXRlbS5zZWxlY3RvciA9IG5ld19pdGVtLnNlbGVjdG9yICsgJ2VkZ2UnO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChzZWxlY3RvciA9PT0gJ25vZGUnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG5ld19pdGVtLnNlbGVjdG9yLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3X2l0ZW0uc2VsZWN0b3IgPSBuZXdfaXRlbS5zZWxlY3RvciArICcsICc7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld19pdGVtLnNlbGVjdG9yID0gbmV3X2l0ZW0uc2VsZWN0b3IgKyAnbm9kZSc7XG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHNlbGVjdG9yID09PSAnY2FudmFzJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld19pdGVtLmNvcmVBc1dlbGwgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgRXJyb3I6IHNlbGVjdG9yICR7c2VsZWN0b3J9IGlzIG5vdCBhdmFpbGFibGUuIENob29zZSBvbmUgb2YgJ25vZGUnLCAnZWRnZScgb3IgJ2NhbnZhcycuYFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgbmV3TWVudUl0ZW1zLnB1c2gobmV3X2l0ZW0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIG5ld01lbnVJdGVtcztcbiAgICAgICAgfTtcblxuICAgICAgICB0aGlzLmN5UmVzcG9uc2l2ZUNsYXNzID0gbmV3IEN5UmVzcG9uc2l2ZShjeSk7XG4gICAgICAgIHRoaXMuY3lSZXNwb25zaXZlQ2xhc3MudG9nZ2xlKHRoaXMucHJvcHMucmVzcG9uc2l2ZSk7XG5cbiAgICAgICAgc2V0RXh0ZW50KGN5LmV4dGVudCgpKTtcbiAgICB9XG5cbiAgICBoYW5kbGVJbWFnZUdlbmVyYXRpb24oaW1hZ2VUeXBlLCBpbWFnZU9wdGlvbnMsIGFjdGlvbnNUb1BlcmZvcm0sIGZpbGVOYW1lKSB7XG4gICAgICAgIGxldCBvcHRpb25zID0ge307XG4gICAgICAgIGlmIChpbWFnZU9wdGlvbnMpIHtcbiAgICAgICAgICAgIG9wdGlvbnMgPSBpbWFnZU9wdGlvbnM7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgZGVzaXJlZE91dHB1dCA9IG9wdGlvbnMub3V0cHV0O1xuICAgICAgICBvcHRpb25zLm91dHB1dCA9ICdibG9iJztcblxuICAgICAgICBsZXQgZG93bmxvYWRJbWFnZTtcbiAgICAgICAgbGV0IHN0b3JlSW1hZ2U7XG4gICAgICAgIHN3aXRjaCAoYWN0aW9uc1RvUGVyZm9ybSkge1xuICAgICAgICAgICAgY2FzZSAnc3RvcmUnOlxuICAgICAgICAgICAgICAgIGRvd25sb2FkSW1hZ2UgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICBzdG9yZUltYWdlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ2Rvd25sb2FkJzpcbiAgICAgICAgICAgICAgICBkb3dubG9hZEltYWdlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBzdG9yZUltYWdlID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdib3RoJzpcbiAgICAgICAgICAgICAgICBkb3dubG9hZEltYWdlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBzdG9yZUltYWdlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgZG93bmxvYWRJbWFnZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHN0b3JlSW1hZ2UgPSB0cnVlO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IG91dHB1dDtcbiAgICAgICAgaWYgKGltYWdlVHlwZSA9PT0gJ3BuZycpIHtcbiAgICAgICAgICAgIG91dHB1dCA9IHRoaXMuX2N5LnBuZyhvcHRpb25zKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaW1hZ2VUeXBlID09PSAnanBnJyB8fCBpbWFnZVR5cGUgPT09ICdqcGVnJykge1xuICAgICAgICAgICAgb3V0cHV0ID0gdGhpcy5fY3kuanBnKG9wdGlvbnMpO1xuICAgICAgICB9XG4gICAgICAgIC8vIG9ubHkgd29ya3Mgd2hlbiBzdmcgaXMgaW1wb3J0ZWQgKHNlZSBsaWIvZXh0cmFfaW5kZXguanMpXG4gICAgICAgIGlmIChpbWFnZVR5cGUgPT09ICdzdmcnKSB7XG4gICAgICAgICAgICBvdXRwdXQgPSB0aGlzLl9jeS5zdmcob3B0aW9ucyk7XG4gICAgICAgIH1cblxuICAgICAgICAvKlxuICAgICAgICAgKiBJZiBvdXRwdXQgaXMgZW1wdHkgYmVjYXVzZSBvZiBiYWQgb3B0aW9ucyBvciBhIGN5dG9zY2FwZSBlcnJvcixcbiAgICAgICAgICogc2tpcCBhbnkgZG93bmxvYWQgb3Igc3RvcmFnZSBzdGVwcy5cbiAgICAgICAgICovXG4gICAgICAgIGlmIChvdXRwdXQgJiYgZG93bmxvYWRJbWFnZSkge1xuICAgICAgICAgICAgLypcbiAgICAgICAgICAgICAqIERvd25sb2FkaW5nIGlzIGluaXRpYXRlZCBjbGllbnQtc2lkZSBiZWNhdXNlIHRoZSBpbWFnZSBpcyBnZW5lcmF0ZWQgYXRcbiAgICAgICAgICAgICAqIHRoZSBjbGllbnQuIFRoaXMgYXZvaWRzIHRyYW5zZmVycmluZyBhIHBvdGVudGlhbGx5IGxhcmdlIGltYWdlXG4gICAgICAgICAgICAgKiB0byB0aGUgc2VydmVyIGFuZCBiYWNrIGFnYWluIHRocm91Z2ggYSBjYWxsYmFjay5cbiAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgbGV0IGZOYW1lID0gZmlsZU5hbWU7XG4gICAgICAgICAgICBpZiAoIWZpbGVOYW1lKSB7XG4gICAgICAgICAgICAgICAgZk5hbWUgPSAnY3l0byc7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChpbWFnZVR5cGUgIT09ICdzdmcnKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5kb3dubG9hZEJsb2Iob3V0cHV0LCBmTmFtZSArICcuJyArIGltYWdlVHlwZSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnN0IGJsb2IgPSBuZXcgQmxvYihbb3V0cHV0XSwge1xuICAgICAgICAgICAgICAgICAgICB0eXBlOiAnaW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04JyxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB0aGlzLmRvd25sb2FkQmxvYihibG9iLCBmTmFtZSArICcuJyArIGltYWdlVHlwZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAob3V0cHV0ICYmIHN0b3JlSW1hZ2UpIHtcbiAgICAgICAgICAgIC8vIERlZmF1bHQgb3V0cHV0IHR5cGUgaWYgdW5zcGVjaWZpZWRcbiAgICAgICAgICAgIGlmICghZGVzaXJlZE91dHB1dCkge1xuICAgICAgICAgICAgICAgIGRlc2lyZWRPdXRwdXQgPSAnYmFzZTY0dXJpJztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICEoZGVzaXJlZE91dHB1dCA9PT0gJ2Jhc2U2NHVyaScgfHwgZGVzaXJlZE91dHB1dCA9PT0gJ2Jhc2U2NCcpXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8qXG4gICAgICAgICAgICAgKiBDb252ZXJ0IGJsb2IgdG8gYmFzZTY0dXJpIG9yIGJhc2U2NCBzdHJpbmcgdG8gc3RvcmUgdGhlIGltYWdlIGRhdGEuXG4gICAgICAgICAgICAgKiBUaGFuayB5b3UsIGJhc2U2NGd1cnUgaHR0cHM6Ly9iYXNlNjQuZ3VydS9kZXZlbG9wZXJzL2phdmFzY3JpcHQvZXhhbXBsZXMvZW5jb2RlLWJsb2JcbiAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgY29uc3QgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcbiAgICAgICAgICAgIHJlYWRlci5vbmxvYWQgPSAoKSA9PiB7XG4gICAgICAgICAgICAgICAgLyogRmlsZVJlYWRlciBpcyBhc3luY2hyb25vdXMsIHNvIHRoZSByZWFkIGZ1bmN0aW9uIGlzIG5vbi1ibG9ja2luZy5cbiAgICAgICAgICAgICAgICAgKiBJZiB0aGlzIGNvZGUgYmxvY2sgaXMgcGxhY2VkIGFmdGVyIHRoZSByZWFkIGNvbW1hbmQsIGl0XG4gICAgICAgICAgICAgICAgICogbWF5IHJlc3VsdCBpbiBlbXB0eSBvdXRwdXQgYmVjYXVzZSB0aGUgYmxvYiBoYXMgbm90IGJlZW4gbG9hZGVkIHlldC5cbiAgICAgICAgICAgICAgICAgKi9cbiAgICAgICAgICAgICAgICBsZXQgY2FsbGJhY2tEYXRhID0gcmVhZGVyLnJlc3VsdDtcbiAgICAgICAgICAgICAgICBpZiAoZGVzaXJlZE91dHB1dCA9PT0gJ2Jhc2U2NCcpIHtcbiAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2tEYXRhID0gY2FsbGJhY2tEYXRhLnJlcGxhY2UoL15kYXRhOi4rO2Jhc2U2NCwvLCAnJyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMucHJvcHMuc2V0UHJvcHMoe2ltYWdlRGF0YTogY2FsbGJhY2tEYXRhfSk7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgcmVhZGVyLnJlYWRBc0RhdGFVUkwob3V0cHV0KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGRvd25sb2FkQmxvYihibG9iLCBmaWxlTmFtZSkge1xuICAgICAgICAvKlxuICAgICAgICAgKiBEb3dubG9hZCBibG9iIGFzIGZpbGUgYnkgZHluYW1pY2FsbHkgY3JlYXRpbmcgbGluay5cbiAgICAgICAgICogQ2hyb21lIGRvZXMgbm90IG9wZW4gZGF0YSBVUkxzIHdoZW4gSlMgb3BlbnMgYSBuZXcgdGFiIGRpcmVjdGVkXG4gICAgICAgICAqIGF0IHRoZSBkYXRhIFVSTCwgc28gdGhpcyBpcyBhbiBhbHRlcm5hdGUgaW1wbGVtZW50YXRpb25cbiAgICAgICAgICogdGhhdCBkb2Vzbid0IHJlcXVpcmUgZXh0cmEgcGFja2FnZXMuIEl0IG1heSBub3QgYmVoYXZlIGluXG4gICAgICAgICAqIGV4YWN0bHkgdGhlIHNhbWUgd2F5IGFjcm9zcyBicm93c2VycyAobWlnaHQgZGlzcGxheSBpbWFnZSBpbiBuZXcgdGFiXG4gICAgICAgICAqIGludGVhZCBvZiBkb3dubG9hZGluZyBhcyBhIGZpbGUpLlxuICAgICAgICAgKiBUaGFuayB5b3UsIGtvbGRldiBodHRwczovL2pzZmlkZGxlLm5ldC9rb2xkZXYvY1c3VzUvXG4gICAgICAgICAqL1xuICAgICAgICBjb25zdCBkb3dubG9hZExpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XG4gICAgICAgIGRvd25sb2FkTGluay5zdHlsZSA9ICdkaXNwbGF5OiBub25lJztcbiAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkb3dubG9hZExpbmspO1xuXG4gICAgICAgIGNvbnN0IHVybCA9IHdpbmRvdy5VUkwuY3JlYXRlT2JqZWN0VVJMKGJsb2IpO1xuICAgICAgICBkb3dubG9hZExpbmsuaHJlZiA9IHVybDtcbiAgICAgICAgZG93bmxvYWRMaW5rLmRvd25sb2FkID0gZmlsZU5hbWU7XG4gICAgICAgIGRvd25sb2FkTGluay5jbGljaygpO1xuICAgICAgICB3aW5kb3cuVVJMLnJldm9rZU9iamVjdFVSTCh1cmwpO1xuXG4gICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoZG93bmxvYWRMaW5rKTtcbiAgICB9XG5cbiAgICB1cGRhdGVDb250ZXh0TWVudShjb250ZXh0TWVudSkge1xuICAgICAgICB0aGlzLl9jeS5jb250ZXh0TWVudXMoe1xuICAgICAgICAgICAgbWVudUl0ZW1zOiB0aGlzLmNyZWF0ZU1lbnVJdGVtcyhjb250ZXh0TWVudSksXG4gICAgICAgICAgICBtZW51SXRlbUNsYXNzZXM6IFsnY3VzdG9tLW1lbnUtaXRlbSddLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvLyBSZXR1cm5zIHRydWUgaWYgdGhlcmUgaXMgbm8gb3ZlcmxhcCBiZXR3ZWVuIHRoZSBlbGVtZW50IGJvdW5kaW5nIGJveFxuICAgIC8vIGFuZCB0aGUgcmVuZGVyZWQgYXJlYSBvZiB0aGUgZ3JhcGgsIG1lYW5pbmcgdGhlIGdyYXBoIGlzIGVudGlyZWx5IG91dHNpZGUgdGhlIHZpZXdwb3J0O1xuICAgIC8vIHJldHVybnMgZmFsc2Ugb3RoZXJ3aXNlXG4gICAgZ3JhcGhPdXRPZlZpZXcoKSB7XG4gICAgICAgIGNvbnN0IGN5V2lkdGggPSB0aGlzLl9jeS53aWR0aCgpO1xuICAgICAgICBjb25zdCBjeUhlaWdodCA9IHRoaXMuX2N5LmhlaWdodCgpO1xuICAgICAgICBjb25zdCBlbEJveCA9IHRoaXMuX2N5LmVsZW1lbnRzKCkucmVuZGVyZWRCb3VuZGluZ2JveCgpO1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgZWxCb3gueDEgPiBjeVdpZHRoIHx8XG4gICAgICAgICAgICBlbEJveC55MSA+IGN5SGVpZ2h0IHx8XG4gICAgICAgICAgICBlbEJveC54MiA8IDAgfHxcbiAgICAgICAgICAgIGVsQm94LnkyIDwgMFxuICAgICAgICApO1xuICAgIH1cblxuICAgIGNvbXBvbmVudERpZFVwZGF0ZShwcmV2UHJvcHMpIHtcbiAgICAgICAgY29uc3Qge2NvbnRleHRNZW51LCBlbGVtZW50c30gPSB0aGlzLnByb3BzO1xuICAgICAgICBpZiAoIV8uaXNFcXVhbChwcmV2UHJvcHMuY29udGV4dE1lbnUsIGNvbnRleHRNZW51KSAmJiB0aGlzLl9jeSkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVDb250ZXh0TWVudShjb250ZXh0TWVudSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFfLmlzRXF1YWwocHJldlByb3BzLmVsZW1lbnRzLCBlbGVtZW50cykgJiYgdGhpcy5fY3kpIHtcbiAgICAgICAgICAgIC8vIElmIGVsZW1lbnRzIHdlcmUgdXBkYXRlZCwgYW5kIHRoZSBuZXcgZ3JhcGggaXMgKmVudGlyZWx5KiBvdXRzaWRlIHRoZSB2aWV3cG9ydCxcbiAgICAgICAgICAgIC8vIGZpdCB0aGUgdmlld3BvcnQgdG8gdGhlIG5ldyBlbGVtZW50c1xuICAgICAgICAgICAgaWYgKHRoaXMuZ3JhcGhPdXRPZlZpZXcoKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuX2N5LmZpdCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgICAgICBjb25zdCB7Y29udGV4dE1lbnV9ID0gdGhpcy5wcm9wcztcbiAgICAgICAgaWYgKHRoaXMuX2N5ICYmIGNvbnRleHRNZW51Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlQ29udGV4dE1lbnUoY29udGV4dE1lbnUpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJlbmRlcigpIHtcbiAgICAgICAgY29uc3Qge1xuICAgICAgICAgICAgLy8gSFRNTCBhdHRyaWJ1dGUgcHJvcHNcbiAgICAgICAgICAgIGlkLFxuICAgICAgICAgICAgc3R5bGUsXG4gICAgICAgICAgICBjbGFzc05hbWUsXG4gICAgICAgICAgICAvLyBDb21tb24gcHJvcHNcbiAgICAgICAgICAgIGVsZW1lbnRzLFxuICAgICAgICAgICAgc3R5bGVzaGVldCxcbiAgICAgICAgICAgIGxheW91dCxcbiAgICAgICAgICAgIGNvbnRleHRNZW51LFxuICAgICAgICAgICAgY29udGV4dE1lbnVEYXRhLFxuICAgICAgICAgICAgLy8gVmlld3BvcnQgTWFuaXB1bGF0aW9uXG4gICAgICAgICAgICBwYW4sXG4gICAgICAgICAgICB6b29tLFxuICAgICAgICAgICAgLy8gVmlld3BvcnQgTXV0YWJpbGl0eSBhbmQgZ2VzdHVyZSBUb2dnbGluZ1xuICAgICAgICAgICAgcGFubmluZ0VuYWJsZWQsXG4gICAgICAgICAgICB1c2VyUGFubmluZ0VuYWJsZWQsXG4gICAgICAgICAgICBtaW5ab29tLFxuICAgICAgICAgICAgbWF4Wm9vbSxcbiAgICAgICAgICAgIHpvb21pbmdFbmFibGVkLFxuICAgICAgICAgICAgdXNlclpvb21pbmdFbmFibGVkLFxuICAgICAgICAgICAgd2hlZWxTZW5zaXRpdml0eSxcbiAgICAgICAgICAgIGJveFNlbGVjdGlvbkVuYWJsZWQsXG4gICAgICAgICAgICBhdXRvdW5ncmFiaWZ5LFxuICAgICAgICAgICAgYXV0b2xvY2ssXG4gICAgICAgICAgICBhdXRvdW5zZWxlY3RpZnksXG4gICAgICAgICAgICAvLyBJbWFnZSBoYW5kbGluZ1xuICAgICAgICAgICAgZ2VuZXJhdGVJbWFnZSxcbiAgICAgICAgICAgIC8vIFJlc3BvbnNpdmUgZ3JhcGhzXG4gICAgICAgICAgICByZXNwb25zaXZlLFxuICAgICAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgICAgICBpZiAoT2JqZWN0LmtleXMoZ2VuZXJhdGVJbWFnZSkubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgLy8gSWYgbm8gY3l0b3NjYXBlIG9iamVjdCBoYXMgYmVlbiBjcmVhdGVkIHlldCwgYW4gaW1hZ2UgY2Fubm90IGJlIGdlbmVyYXRlZCxcbiAgICAgICAgICAgIC8vIHNvIGdlbmVyYXRlSW1hZ2Ugd2lsbCBiZSBpZ25vcmVkIGFuZCBjbGVhcmVkLlxuICAgICAgICAgICAgdGhpcy5wcm9wcy5zZXRQcm9wcyh7Z2VuZXJhdGVJbWFnZToge319KTtcbiAgICAgICAgICAgIGlmICh0aGlzLl9jeSkge1xuICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlSW1hZ2VHZW5lcmF0aW9uKFxuICAgICAgICAgICAgICAgICAgICBnZW5lcmF0ZUltYWdlLnR5cGUsXG4gICAgICAgICAgICAgICAgICAgIGdlbmVyYXRlSW1hZ2Uub3B0aW9ucyxcbiAgICAgICAgICAgICAgICAgICAgZ2VuZXJhdGVJbWFnZS5hY3Rpb24sXG4gICAgICAgICAgICAgICAgICAgIGdlbmVyYXRlSW1hZ2UuZmlsZW5hbWVcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuY3lSZXNwb25zaXZlQ2xhc3MpIHtcbiAgICAgICAgICAgIHRoaXMuY3lSZXNwb25zaXZlQ2xhc3MudG9nZ2xlKHJlc3BvbnNpdmUpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDxDeXRvc2NhcGVDb21wb25lbnRcbiAgICAgICAgICAgICAgICBpZD17aWR9XG4gICAgICAgICAgICAgICAgY3k9e3RoaXMuaGFuZGxlQ3l9XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWV9XG4gICAgICAgICAgICAgICAgc3R5bGU9e3N0eWxlfVxuICAgICAgICAgICAgICAgIGVsZW1lbnRzPXtDeXRvc2NhcGVDb21wb25lbnQubm9ybWFsaXplRWxlbWVudHMoZWxlbWVudHMpfVxuICAgICAgICAgICAgICAgIHN0eWxlc2hlZXQ9e3N0eWxlc2hlZXR9XG4gICAgICAgICAgICAgICAgbGF5b3V0PXtsYXlvdXR9XG4gICAgICAgICAgICAgICAgY29udGV4dE1lbnU9e2NvbnRleHRNZW51fVxuICAgICAgICAgICAgICAgIGNvbnRleHRNZW51RGF0YT17Y29udGV4dE1lbnVEYXRhfVxuICAgICAgICAgICAgICAgIHBhbj17cGFufVxuICAgICAgICAgICAgICAgIHpvb209e3pvb219XG4gICAgICAgICAgICAgICAgcGFubmluZ0VuYWJsZWQ9e3Bhbm5pbmdFbmFibGVkfVxuICAgICAgICAgICAgICAgIHVzZXJQYW5uaW5nRW5hYmxlZD17dXNlclBhbm5pbmdFbmFibGVkfVxuICAgICAgICAgICAgICAgIG1pblpvb209e21pblpvb219XG4gICAgICAgICAgICAgICAgbWF4Wm9vbT17bWF4Wm9vbX1cbiAgICAgICAgICAgICAgICB6b29taW5nRW5hYmxlZD17em9vbWluZ0VuYWJsZWR9XG4gICAgICAgICAgICAgICAgdXNlclpvb21pbmdFbmFibGVkPXt1c2VyWm9vbWluZ0VuYWJsZWR9XG4gICAgICAgICAgICAgICAgd2hlZWxTZW5zaXRpdml0eT17d2hlZWxTZW5zaXRpdml0eX1cbiAgICAgICAgICAgICAgICBib3hTZWxlY3Rpb25FbmFibGVkPXtib3hTZWxlY3Rpb25FbmFibGVkfVxuICAgICAgICAgICAgICAgIGF1dG91bmdyYWJpZnk9e2F1dG91bmdyYWJpZnl9XG4gICAgICAgICAgICAgICAgYXV0b2xvY2s9e2F1dG9sb2NrfVxuICAgICAgICAgICAgICAgIGF1dG91bnNlbGVjdGlmeT17YXV0b3Vuc2VsZWN0aWZ5fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgKTtcbiAgICB9XG59XG5cbkN5dG9zY2FwZS5wcm9wVHlwZXMgPSB7XG4gICAgLy8gSFRNTCBhdHRyaWJ1dGUgcHJvcHNcblxuICAgIC8qKlxuICAgICAqIFRoZSBJRCB1c2VkIHRvIGlkZW50aWZ5IHRoaXMgY29tcG9uZW50IGluIERhc2ggY2FsbGJhY2tzLlxuICAgICAqL1xuICAgIGlkOiBQcm9wVHlwZXMuc3RyaW5nLFxuXG4gICAgLyoqXG4gICAgICogU2V0cyB0aGUgY2xhc3MgbmFtZSBvZiB0aGUgZWxlbWVudCAodGhlIHZhbHVlIG9mIGFuIGVsZW1lbnQncyBodG1sXG4gICAgICogY2xhc3MgYXR0cmlidXRlKS5cbiAgICAgKi9cbiAgICBjbGFzc05hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG5cbiAgICAvKipcbiAgICAgKiBBZGQgaW5saW5lIHN0eWxlcyB0byB0aGUgcm9vdCBlbGVtZW50LlxuICAgICAqL1xuICAgIHN0eWxlOiBQcm9wVHlwZXMub2JqZWN0LFxuXG4gICAgLy8gRGFzaCBzcGVjaWZpYyBwcm9wc1xuXG4gICAgLyoqXG4gICAgICogRGFzaC1hc3NpZ25lZCBjYWxsYmFjayB0aGF0IHNob3VsZCBiZSBjYWxsZWQgd2hlbmV2ZXIgYW55IG9mIHRoZVxuICAgICAqIHByb3BlcnRpZXMgY2hhbmdlLlxuICAgICAqL1xuICAgIHNldFByb3BzOiBQcm9wVHlwZXMuZnVuYyxcblxuICAgIC8vIENvbW1vbiBwcm9wc1xuXG4gICAgLyoqXG4gICAgICogQSBsaXN0IG9mIGRpY3Rpb25hcmllcyByZXByZXNlbnRpbmcgdGhlIGVsZW1lbnRzIG9mIHRoZSBuZXR3b3Jrcy4gRWFjaCBkaWN0aW9uYXJ5IGRlc2NyaWJlcyBhbiBlbGVtZW50LCBhbmRcbiAgICAgKiBzcGVjaWZpZXMgaXRzIHB1cnBvc2UuIFRoZSBbb2ZmaWNpYWwgQ3l0b3NjYXBlLmpzIGRvY3VtZW50YXRpb25dKGh0dHBzOi8vanMuY3l0b3NjYXBlLm9yZy8jbm90YXRpb24vZWxlbWVudHMtanNvbilcbiAgICAgKiBvZmZlcnMgYW4gZXh0ZW5zaXZlIG92ZXJ2aWV3IGFuZCBleGFtcGxlcyBvZiBlbGVtZW50IGRlY2xhcmF0aW9uLlxuICAgICAqIEFsdGVybmF0aXZlbHksIGEgZGljdGlvbmFyeSB3aXRoIHRoZSBmb3JtYXQgeyAnbm9kZXMnOiBbXSwgJ2VkZ2VzJzogW10gfSBpcyBhbGxvd2VkIGF0IGluaXRpYWxpemF0aW9uLFxuICAgICAqIGJ1dCBhcnJheXMgcmVtYWluIHRoZSByZWNvbW1lbmRlZCBmb3JtYXQuXG4gICAgICovXG4gICAgZWxlbWVudHM6IFByb3BUeXBlcy5vbmVPZlR5cGUoW1xuICAgICAgICBQcm9wVHlwZXMuYXJyYXlPZihcbiAgICAgICAgICAgIFByb3BUeXBlcy5zaGFwZSh7XG4gICAgICAgICAgICAgICAgLyoqXG4gICAgICAgICAgICAgICAgICogRWl0aGVyICdub2Rlcycgb3IgJ2VkZ2VzJy4gSWYgbm90IGdpdmVuLCBpdCdzIGF1dG9tYXRpY2FsbHkgaW5mZXJyZWQuXG4gICAgICAgICAgICAgICAgICovXG4gICAgICAgICAgICAgICAgZ3JvdXA6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICAgICAgICAgICAgLyoqIEVsZW1lbnQgc3BlY2lmaWMgZGF0YS4qL1xuICAgICAgICAgICAgICAgIGRhdGE6IFByb3BUeXBlcy5zaGFwZSh7XG4gICAgICAgICAgICAgICAgICAgIC8qKiAgUmVmZXJlbmNlIHRvIHRoZSBlbGVtZW50LCB1c2VmdWwgZm9yIHNlbGVjdG9ycyBhbmQgZWRnZXMuIFJhbmRvbWx5IGFzc2lnbmVkIGlmIG5vdCBnaXZlbi4qL1xuICAgICAgICAgICAgICAgICAgICBpZDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgICAgICAgICAgICAgICAgLyoqXG4gICAgICAgICAgICAgICAgICAgICAqIE9wdGlvbmFsIG5hbWUgZm9yIHRoZSBlbGVtZW50LCB1c2VmdWwgd2hlbiBgZGF0YShsYWJlbClgIGlzIGdpdmVuIHRvIGEgc3R5bGUncyBgY29udGVudGBcbiAgICAgICAgICAgICAgICAgICAgICogb3IgYGxhYmVsYC4gSXQgaXMgb25seSBhIGNvbnZlbnRpb24uICovXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICAgICAgICAgICAgICAvKiogT25seSBmb3Igbm9kZXMuIE9wdGlvbmFsIHJlZmVyZW5jZSB0byBhbm90aGVyIG5vZGUuIE5lZWRlZCB0byBjcmVhdGUgY29tcG91bmQgbm9kZXMuICovXG4gICAgICAgICAgICAgICAgICAgIHBhcmVudDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgICAgICAgICAgICAgICAgLyoqIE9ubHkgZm9yIGVkZ2VzLiBUaGUgaWQgb2YgdGhlIHNvdXJjZSBub2RlLCB3aGljaCBpcyB3aGVyZSB0aGUgZWRnZSBzdGFydHMuICovXG4gICAgICAgICAgICAgICAgICAgIHNvdXJjZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgICAgICAgICAgICAgICAgLyoqIE9ubHkgZm9yIGVkZ2VzLiBUaGUgaWQgb2YgdGhlIHRhcmdldCBub2RlLCB3aGVyZSB0aGUgZWRnZSBlbmRzLiAqL1xuICAgICAgICAgICAgICAgICAgICB0YXJnZXQ6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgLyoqIE9ubHkgZm9yIG5vZGVzLiBUaGUgcG9zaXRpb24gb2YgdGhlIG5vZGUuICovXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IFByb3BUeXBlcy5zaGFwZSh7XG4gICAgICAgICAgICAgICAgICAgIC8qKiBUaGUgeC1jb29yZGluYXRlIG9mIHRoZSBub2RlLiAqL1xuICAgICAgICAgICAgICAgICAgICB4OiBQcm9wVHlwZXMubnVtYmVyLFxuICAgICAgICAgICAgICAgICAgICAvKiogVGhlIHktY29vcmRpbmF0ZSBvZiB0aGUgbm9kZS4gKi9cbiAgICAgICAgICAgICAgICAgICAgeTogUHJvcFR5cGVzLm51bWJlcixcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAvKiogSWYgdGhlIGVsZW1lbnQgaXMgc2VsZWN0ZWQgdXBvbiBpbml0aWFsaXNhdGlvbi4gKi9cbiAgICAgICAgICAgICAgICBzZWxlY3RlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgICAgICAgICAgICAgLyoqIElmIHRoZSBlbGVtZW50IGNhbiBiZSBzZWxlY3RlZC4gKi9cbiAgICAgICAgICAgICAgICBzZWxlY3RhYmxlOiBQcm9wVHlwZXMuYm9vbCxcbiAgICAgICAgICAgICAgICAvKiogT25seSBmb3Igbm9kZXMuIElmIHRoZSBwb3NpdGlvbiBpcyBpbW11dGFibGUuICovXG4gICAgICAgICAgICAgICAgbG9ja2VkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICAgICAgICAgICAgICAvKiogT25seSBmb3Igbm9kZXMuIElmIHRoZSBub2RlIGNhbiBiZSBncmFiYmVkIGFuZCBtb3ZlZCBieSB0aGUgdXNlci4gKi9cbiAgICAgICAgICAgICAgICBncmFiYmFibGU6IFByb3BUeXBlcy5ib29sLFxuICAgICAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICAgICAqIFNwYWNlIHNlcGFyYXRlZCBzdHJpbmcgb2YgY2xhc3MgbmFtZXMgb2YgdGhlIGVsZW1lbnQuIFRob3NlIGNsYXNzZXMgY2FuIGJlIHNlbGVjdGVkXG4gICAgICAgICAgICAgICAgICogYnkgYSBzdHlsZSBzZWxlY3Rvci5cbiAgICAgICAgICAgICAgICAgKi9cbiAgICAgICAgICAgICAgICBjbGFzc2VzOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgKSxcbiAgICAgICAgUHJvcFR5cGVzLmV4YWN0KHtcbiAgICAgICAgICAgIG5vZGVzOiBQcm9wVHlwZXMuYXJyYXksXG4gICAgICAgICAgICBlZGdlczogUHJvcFR5cGVzLmFycmF5LFxuICAgICAgICB9KSxcbiAgICBdKSxcblxuICAgIC8qKlxuICAgICAqIEEgbGlzdCBvZiBkaWN0aW9uYXJpZXMgcmVwcmVzZW50aW5nIHRoZSBzdHlsZXMgb2YgdGhlIGVsZW1lbnRzLlxuICAgICAqIEVhY2ggZGljdGlvbmFyeSByZXF1aXJlcyB0aGUgZm9sbG93aW5nIGtleXM6IGBzZWxlY3RvcmAgYW5kIGBzdHlsZWAuXG4gICAgICpcbiAgICAgKiBCb3RoIHRoZSBbc2VsZWN0b3JdKGh0dHBzOi8vanMuY3l0b3NjYXBlLm9yZy8jc2VsZWN0b3JzKSBhbmRcbiAgICAgKiB0aGUgW3N0eWxlXShodHRwczovL2pzLmN5dG9zY2FwZS5vcmcvI3N0eWxlL25vZGUtYm9keSkgYXJlXG4gICAgICogZXhoYXVzdGl2ZWx5IGRvY3VtZW50ZWQgaW4gdGhlIEN5dG9zY2FwZS5qcyBkb2NzLiBBbHRob3VnaCBtZXRob2RzIHN1Y2hcbiAgICAgKiBhcyBgY3kuZWxlbWVudHMoLi4uKWAgYW5kIGBjeS5maWx0ZXIoLi4uKWAgYXJlIG5vdCBhdmFpbGFibGUsIHRoZSBzZWxlY3RvclxuICAgICAqIHN0cmluZyBzeW50YXggc3RheXMgdGhlIHNhbWUuXG4gICAgICovXG4gICAgc3R5bGVzaGVldDogUHJvcFR5cGVzLmFycmF5T2YoXG4gICAgICAgIFByb3BUeXBlcy5leGFjdCh7XG4gICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAqIFdoaWNoIGVsZW1lbnRzIHlvdSBhcmUgc3R5bGluZy4gR2VuZXJhbGx5LCB5b3Ugc2VsZWN0IGEgZ3JvdXAgb2YgZWxlbWVudHMgKG5vZGUsIGVkZ2VzLCBib3RoKSxcbiAgICAgICAgICAgICAqIGEgY2xhc3MgKHRoYXQgeW91IGRlY2xhcmUgaW4gdGhlIGVsZW1lbnQgZGljdGlvbmFyeSksIG9yIGFuIGVsZW1lbnQgYnkgSUQuXG4gICAgICAgICAgICAgKi9cbiAgICAgICAgICAgIHNlbGVjdG9yOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAqIFdoYXQgYXNwZWN0cyBvZiB0aGUgZWxlbWVudHMgeW91IHdhbnQgdG8gbW9kaWZ5LiBUaGlzIGNvdWxkIGJlIHRoZSBzaXplIG9yXG4gICAgICAgICAgICAgKiBjb2xvciBvZiBhIG5vZGUsIHRoZSBzaGFwZSBvZiBhbiBlZGdlIGFycm93LCBvciBtYW55IG1vcmUuXG4gICAgICAgICAgICAgKi9cbiAgICAgICAgICAgIHN0eWxlOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWQsXG4gICAgICAgIH0pXG4gICAgKSxcblxuICAgIC8qKlxuICAgICAqIEEgZGljdGlvbmFyeSBzcGVjaWZ5aW5nIGhvdyB0byBzZXQgdGhlIHBvc2l0aW9uIG9mIHRoZSBlbGVtZW50cyBpbiB5b3VyXG4gICAgICogZ3JhcGguIFRoZSBgJ25hbWUnYCBrZXkgaXMgcmVxdWlyZWQsIGFuZCBpbmRpY2F0ZXMgd2hpY2ggbGF5b3V0IChhbGdvcml0aG0pIHRvXG4gICAgICogdXNlLiBUaGUga2V5cyBhY2NlcHRlZCBieSBgbGF5b3V0YCB2YXJ5IGRlcGVuZGluZyBvbiB0aGUgYWxnb3JpdGhtLCBidXQgdGhlc2VcbiAgICAgKiBrZXlzIGFyZSBhY2NlcHRlZCBieSBhbGwgbGF5b3V0czogYGZpdGAsICBgcGFkZGluZ2AsIGBhbmltYXRlYCwgYGFuaW1hdGlvbkR1cmF0aW9uYCxcbiAgICAgKiBgYm91bmRpbmdCb3hgLlxuICAgICAqXG4gICAgICogIFRoZSBjb21wbGV0ZSBsaXN0IG9mIGxheW91dHMgYW5kIHRoZWlyIGFjY2VwdGVkIG9wdGlvbnMgYXJlIGF2YWlsYWJsZSBvbiB0aGVcbiAgICAgKiAgW0N5dG9zY2FwZS5qcyBkb2NzXShodHRwczovL2pzLmN5dG9zY2FwZS5vcmcvI2xheW91dHMpIC4gRm9yIHRoZSBleHRlcm5hbCBsYXlvdXRzLFxuICAgICAqIHRoZSBvcHRpb25zIGFyZSBsaXN0ZWQgaW4gdGhlIFwiQVBJXCIgc2VjdGlvbiBvZiB0aGUgIFJFQURNRS5cbiAgICAgKiAgTm90ZSB0aGF0IGNlcnRhaW4ga2V5cyBhcmUgbm90IHN1cHBvcnRlZCBpbiBEYXNoIHNpbmNlIHRoZSB2YWx1ZSBpcyBhIEphdmFTY3JpcHRcbiAgICAgKiAgZnVuY3Rpb24gb3IgYSBjYWxsYmFjay4gUGxlYXNlIHZpc2l0IHRoaXNcbiAgICAgKiBbaXNzdWVdKGh0dHBzOi8vZ2l0aHViLmNvbS9wbG90bHkvZGFzaC1jeXRvc2NhcGUvaXNzdWVzLzI1KSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiAgICAgKi9cbiAgICBsYXlvdXQ6IFByb3BUeXBlcy5zaGFwZSh7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBUaGUgbGF5b3V0cyBhdmFpbGFibGUgYnkgZGVmYXVsdCBhcmU6XG4gICAgICAgICAqICAgYHJhbmRvbWA6IFJhbmRvbWx5IGFzc2lnbnMgcG9zaXRpb25zLlxuICAgICAgICAgKiAgIGBwcmVzZXRgOiBBc3NpZ25zIHBvc2l0aW9uIGJhc2VkIG9uIHRoZSBgcG9zaXRpb25gIGtleSBpbiBlbGVtZW50IGRpY3Rpb25hcmllcy5cbiAgICAgICAgICogICBgY2lyY2xlYDogU2luZ2xlLWxldmVsIGNpcmNsZSwgd2l0aCBvcHRpb25hbCByYWRpdXMuXG4gICAgICAgICAqICAgYGNvbmNlbnRyaWNgOiBNdWx0aS1sZXZlbCBjaXJjbGUsIHdpdGggb3B0aW9uYWwgcmFkaXVzLlxuICAgICAgICAgKiAgIGBncmlkYDogU3F1YXJlIGdyaWQsIG9wdGlvbmFsbHkgd2l0aCBudW1iZXJzIG9mIGByb3dzYCBhbmQgYGNvbHNgLlxuICAgICAgICAgKiAgIGBicmVhZHRoZmlyc3RgOiBUcmVlIHN0cnVjdHVyZSBidWlsdCB1c2luZyBCRlMsIHdpdGggb3B0aW9uYWwgYHJvb3RzYC5cbiAgICAgICAgICogICBgY29zZWA6IEZvcmNlLWRpcmVjdGVkIHBoeXNpY3Mgc2ltdWxhdGlvbi5cbiAgICAgICAgICpcbiAgICAgICAgICogU29tZSBleHRlcm5hbCBsYXlvdXRzIGFyZSBhbHNvIGluY2x1ZGVkLiBUbyB1c2UgdGhlbSwgcnVuXG4gICAgICAgICAqICAgYGRhc2hfY3l0b3NjYXBlLmxvYWRfZXh0cmFfbGF5b3V0cygpYCBiZWZvcmUgY3JlYXRpbmcgeW91ciBEYXNoIGFwcC4gQmUgY2FyZWZ1bCBhYm91dFxuICAgICAgICAgKiAgIHVzaW5nIHRoZSBleHRyYSBsYXlvdXRzIHdoZW4gbm90IG5lY2Vzc2FyeSwgc2luY2UgdGhleSByZXF1aXJlIHN1cHBsZW1lbnRhcnkgYmFuZHdpZHRoXG4gICAgICAgICAqICAgZm9yIGxvYWRpbmcsIHdoaWNoIGltcGFjdHMgdGhlIHN0YXJ0dXAgdGltZSBvZiB0aGUgYXBwLlxuICAgICAgICAgKiAgIFRoZSBleHRlcm5hbCBsYXlvdXRzIGFyZTpcbiAgICAgICAgICogICBbY29zZS1iaWxrZW50XShodHRwczovL2dpdGh1Yi5jb20vY3l0b3NjYXBlL2N5dG9zY2FwZS5qcy1jb3NlLWJpbGtlbnQpLFxuICAgICAgICAgKiAgIFtmY29zZV0oaHR0cHM6Ly9naXRodWIuY29tL2lWaXMtYXQtQmlsa2VudC9jeXRvc2NhcGUuanMtZmNvc2UpLFxuICAgICAgICAgKiAgIFtjb2xhXShodHRwczovL2dpdGh1Yi5jb20vY3l0b3NjYXBlL2N5dG9zY2FwZS5qcy1jb2xhKSxcbiAgICAgICAgICogICBbZXVsZXJdKGh0dHBzOi8vZ2l0aHViLmNvbS9jeXRvc2NhcGUvY3l0b3NjYXBlLmpzLWRhZ3JlKSxcbiAgICAgICAgICogICBbc3ByZWFkXShodHRwczovL2dpdGh1Yi5jb20vY3l0b3NjYXBlL2N5dG9zY2FwZS5qcy1zcHJlYWQpLFxuICAgICAgICAgKiAgIFtkYWdyZV0oaHR0cHM6Ly9naXRodWIuY29tL2N5dG9zY2FwZS9jeXRvc2NhcGUuanMtZGFncmUpLFxuICAgICAgICAgKiAgIFtrbGF5XShodHRwczovL2dpdGh1Yi5jb20vY3l0b3NjYXBlL2N5dG9zY2FwZS5qcy1rbGF5KSxcbiAgICAgICAgICovXG4gICAgICAgIG5hbWU6IFByb3BUeXBlcy5vbmVPZihbXG4gICAgICAgICAgICAncmFuZG9tJyxcbiAgICAgICAgICAgICdwcmVzZXQnLFxuICAgICAgICAgICAgJ2NpcmNsZScsXG4gICAgICAgICAgICAnY29uY2VudHJpYycsXG4gICAgICAgICAgICAnZ3JpZCcsXG4gICAgICAgICAgICAnYnJlYWR0aGZpcnN0JyxcbiAgICAgICAgICAgICdjb3NlJyxcbiAgICAgICAgICAgICdjb3NlLWJpbGtlbnQnLFxuICAgICAgICAgICAgJ2Zjb3NlJyxcbiAgICAgICAgICAgICdjb2xhJyxcbiAgICAgICAgICAgICdldWxlcicsXG4gICAgICAgICAgICAnc3ByZWFkJyxcbiAgICAgICAgICAgICdkYWdyZScsXG4gICAgICAgICAgICAna2xheScsXG4gICAgICAgIF0pLmlzUmVxdWlyZWQsXG4gICAgICAgIC8qKiAgV2hldGhlciB0byByZW5kZXIgdGhlIG5vZGVzIGluIG9yZGVyIHRvIGZpdCB0aGUgY2FudmFzLiAqL1xuICAgICAgICBmaXQ6IFByb3BUeXBlcy5ib29sLFxuICAgICAgICAvKiogUGFkZGluZyBhcm91bmQgdGhlIHNpZGVzIG9mIHRoZSBjYW52YXMsIGlmIGZpdCBpcyBlbmFibGVkLiAqL1xuICAgICAgICBwYWRkaW5nOiBQcm9wVHlwZXMubnVtYmVyLFxuICAgICAgICAvKiogV2hldGhlciB0byBhbmltYXRlIGNoYW5nZSBpbiBwb3NpdGlvbiB3aGVuIHRoZSBsYXlvdXQgY2hhbmdlcy4gKi9cbiAgICAgICAgYW5pbWF0ZTogUHJvcFR5cGVzLmJvb2wsXG4gICAgICAgIC8qKiBEdXJhdGlvbiBvZiBhbmltYXRpb24gaW4gbWlsbGlzZWNvbmRzLCBpZiBlbmFibGVkLiAqL1xuICAgICAgICBhbmltYXRpb25EdXJhdGlvbjogUHJvcFR5cGVzLm51bWJlcixcbiAgICAgICAgLyoqXG4gICAgICAgICAqIEhvdyB0byBjb25zdHJhaW4gdGhlIGxheW91dCBpbiBhIHNwZWNpZmljIGFyZWEuIEtleXMgYWNjZXB0ZWQgYXJlIGVpdGhlclxuICAgICAgICAgKiBgeDEsIHkxLCB4MiwgeTJgIG9yIGB4MSwgeTEsIHcsIGhgLCBhbGwgb2Ygd2hpY2ggcmVjZWl2ZSBhIHBpeGVsIHZhbHVlLlxuICAgICAgICAgKi9cbiAgICAgICAgYm91bmRpbmdCb3g6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgfSksXG4gICAgLyoqXG4gICAgICogRGVmaW5lIGEgY3VzdG9tIGNvbnRleHQgbWVudS4gVGhlIGJlaGF2aW91ciBvZiBlYWNoIG1lbnUgaXRlbSBjYW4gYmUgZGVmaW5lZCBpbiAxIG9mIDMgd2F5cy5cbiAgICAgKiAxLiBCeSBwYXNzaW5nIGEgc3RyaW5nIHRvIG9uQ2xpY2sgdGhhdCByZWZlcnMgdG8gb25lIG9mIHRoZSBidWlsdC1pbiBKYXZhc2NyaXB0IGZ1bmN0aW9ucy5cbiAgICAgKiAyLiBCeSBwYXNzaW5nIGEgc3RyaW5nIHRvIG9uQ2xpY2tDdXN0b20gdGhhdCByZWZlcnMgdG8gb25lIG9mIHRoZSB1c2VyLWRlZmluZWQgZnVuY3Rpb25zIGluIGEgbmFtZXNwYWNlLlxuICAgICAqIDMuIEJ5IG9taXR0aW5nIGJvdGggb2YgdGhlc2UgcHJvcGVydGllczsgdGhpcyB3aWxsIHVwZGF0ZSB0aGUgY29udGV4dE1lbnVEYXRhIHByb3BlcnR5IGFuZCB0cmlnZ2VyIGEgRGFzaCBjYWxsYmFjay5cbiAgICAgKi9cbiAgICBjb250ZXh0TWVudTogUHJvcFR5cGVzLmFycmF5T2YoXG4gICAgICAgIFByb3BUeXBlcy5leGFjdCh7XG4gICAgICAgICAgICAvKiogSUQgb2YgdGhlIG1lbnUgaXRlbSBpbiB0aGUgY29udGV4dCBtZW51ICovXG4gICAgICAgICAgICBpZDogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICAgICAgICAgICAgLyoqIFRoZSBsYWJlbCBvbiB0aGUgY29udGV4dCBtZW51IGl0ZW0qL1xuICAgICAgICAgICAgbGFiZWw6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgICAgICAgICAgIC8qKiBUaGUgdG9vbHRpcCB0ZXh0IHdoZW4gaG92ZXJpbmcgb24gdG9wIG9mIGEgY29udGV4dCBtZW51IGl0ZW0gKi9cbiAgICAgICAgICAgIHRvb2x0aXBUZXh0OiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICAgICAgLyoqIEEgbGlzdCBjb250YWluaW5nIGVpdGhlciAnbm9kZScsICdlZGdlJyxhbmQvb3IgJ2NhbnZhcycuIFRoaXMgd2lsbCBkZXRlcm1pbmUgd2hlcmUgdGhlIGNvbnRleHRcbiAgICAgICAgICAgICAqICBtZW51IGl0ZW0gd2lsbCBzaG93IHVwLlxuICAgICAgICAgICAgICovXG4gICAgICAgICAgICBhdmFpbGFibGVPbjogUHJvcFR5cGVzLmFycmF5LFxuICAgICAgICAgICAgLyoqIFNwZWNpZnkgd2hpY2ggYnVpbHQtaW4gSmF2YVNjcmlwdCBmdW5jdGlvbiB0byB1c2UgYXMgYmVoYXZpb3VyIGZvciB0aGUgY29udGV4dFxuICAgICAgICAgICAgICogbWVudSBpdGVtLiBPbmUgb2YgJ3JlbW92ZScsICdhZGRfbm9kZScsIG9yICdhZGRfZWRnZSdcbiAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgb25DbGljazogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgICAgICAgIC8qKiBTcGVjaWZ5IHdoaWNoIHVzZXItZGVmaW5lZCBKYXZhc2NyaXB0IGZ1bmN0aW9uIHRvIHVzZSBpbiB0aGUgZGFzaEN5dG9zY2FwZUZ1bmN0aW9uc1xuICAgICAgICAgICAgICogbmFtZXNwYWNlIGFzIGJlaGF2aW91ciBmb3IgdGhlIGNvbnRleHQgbWVudSBpdGVtXG4gICAgICAgICAgICAgKi9cbiAgICAgICAgICAgIG9uQ2xpY2tDdXN0b206IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICAgIH0pXG4gICAgKSxcbiAgICAvKipcbiAgICAgKiBSZXRyaWV2ZSByZWxldmFudCBkYXRhIHdoZW4gYSBjb250ZXh0IG1lbnUgaXRlbSBpcyBjbGlja2VkLiAgUmVhZC1vbmx5LlxuICAgICAqL1xuICAgIGNvbnRleHRNZW51RGF0YTogUHJvcFR5cGVzLmV4YWN0KHtcbiAgICAgICAgLyoqIElEIG9mIHRoZSBtZW51IGl0ZW0gaW4gdGhlIGNvbnRleHQgbWVudSAqL1xuICAgICAgICBtZW51SXRlbUlkOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICAvKiogeC1wb3NpdGlvbiBvZiB0aGUgY29udGV4dCBjbGljayAqL1xuICAgICAgICB4OiBQcm9wVHlwZXMubnVtYmVyLFxuICAgICAgICAvKiogeS1wb3NpdGlvbiBvZiB0aGUgY29udGV4dCBjbGljayAqL1xuICAgICAgICB5OiBQcm9wVHlwZXMubnVtYmVyLFxuICAgICAgICAvKiogVGltZXN0YW1wIG9mIGNvbnRleHQgY2xpY2sqL1xuICAgICAgICB0aW1lU3RhbXA6IFByb3BUeXBlcy5udW1iZXIsXG4gICAgICAgIC8qKiBFbGVtZW50IElEIG9uIGNvbnRleHQgY2xpY2sgaWYgdGhlIGNvbnRleHQgY2xpY2sgd2FzIG9uIGFuIGVsZW1lbnQuXG4gICAgICAgICAqIElmIGNvbnRleHQgY2xpY2sgd2FzIG9uIHdoaXRlIHNwYWNlLCB0aGlzIHByb3BlcnR5IGlzIG5vdCByZXR1cm5lZFxuICAgICAgICAgKi9cbiAgICAgICAgZWxlbWVudElkOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICAvKiogTm9kZSBJRCBvZiB0aGUgZWRnZSBzb3VyY2UgaWYgdGhlIGNsaWNrZWQgZWxlbWVudCBpcyBhbiBlZGdlLFxuICAgICAgICAgKiBvciBlbHNlIHRoaXMgcHJvcGVydHkgaXMgbm90IHJldHVybmVkKi9cbiAgICAgICAgZWRnZVNvdXJjZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgICAgLyoqIE5vZGUgSUQgb2YgdGhlIGVkZ2UgdGFyZ2V0IGlmIHRoZSBjbGlja2VkIGVsZW1lbnQgaXMgYW4gZWRnZSxcbiAgICAgICAgICogb3IgZWxzZSB0aGlzIHByb3BlcnR5IGlzIG5vdCByZXR1cm5lZCovXG4gICAgICAgIGVkZ2VUYXJnZXQ6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgfSksXG4gICAgLy8gVmlld3BvcnQgTWFuaXB1bGF0aW9uXG5cbiAgICAvKipcbiAgICAgKiBEaWN0aW9uYXJ5IGluZGljYXRpbmcgdGhlIGluaXRpYWwgcGFubmluZyBwb3NpdGlvbiBvZiB0aGUgZ3JhcGguIFRoZVxuICAgICAqIGZvbGxvd2luZyBrZXlzIGFyZSBhY2NlcHRlZDpcbiAgICAgKi9cbiAgICBwYW46IFByb3BUeXBlcy5leGFjdCh7XG4gICAgICAgIC8qKiBUaGUgeC1jb29yZGluYXRlIG9mIHRoZSBub2RlICovXG4gICAgICAgIHg6IFByb3BUeXBlcy5udW1iZXIsXG4gICAgICAgIC8qKiBUaGUgeS1jb29yZGluYXRlIG9mIHRoZSBub2RlICAqL1xuICAgICAgICB5OiBQcm9wVHlwZXMubnVtYmVyLFxuICAgIH0pLFxuXG4gICAgLyoqXG4gICAgICogVGhlIGluaXRpYWwgem9vbSBsZXZlbCBvZiB0aGUgZ3JhcGguIFlvdSBjYW4gc2V0IGBtaW5ab29tYCBhbmRcbiAgICAgKiBgbWF4Wm9vbWAgdG8gc2V0IHJlc3RyaWN0aW9ucyBvbiB0aGUgem9vbSBsZXZlbC5cbiAgICAgKi9cbiAgICB6b29tOiBQcm9wVHlwZXMubnVtYmVyLFxuXG4gICAgLy8gVmlld3BvcnQgTXV0YWJpbGl0eSBhbmQgZ2VzdHVyZSBUb2dnbGluZ1xuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgcGFubmluZyB0aGUgZ3JhcGggaXMgZW5hYmxlZCAoaS5lLiwgdGhlIHBvc2l0aW9uIG9mIHRoZSBncmFwaCBpc1xuICAgICAqIG11dGFibGUgb3ZlcmFsbCkuXG4gICAgICovXG4gICAgcGFubmluZ0VuYWJsZWQ6IFByb3BUeXBlcy5ib29sLFxuXG4gICAgLyoqXG4gICAgICogV2hldGhlciB1c2VyIGV2ZW50cyAoZS5nLiBkcmFnZ2luZyB0aGUgZ3JhcGggYmFja2dyb3VuZCkgYXJlIGFsbG93ZWQgdG9cbiAgICAgKiBwYW4gdGhlIGdyYXBoLlxuICAgICAqL1xuICAgIHVzZXJQYW5uaW5nRW5hYmxlZDogUHJvcFR5cGVzLmJvb2wsXG5cbiAgICAvKipcbiAgICAgKiBBIG1pbmltdW0gYm91bmQgb24gdGhlIHpvb20gbGV2ZWwgb2YgdGhlIGdyYXBoLiBUaGUgdmlld3BvcnQgY2FuIG5vdCBiZVxuICAgICAqIHNjYWxlZCBzbWFsbGVyIHRoYW4gdGhpcyB6b29tIGxldmVsLlxuICAgICAqL1xuICAgIG1pblpvb206IFByb3BUeXBlcy5udW1iZXIsXG5cbiAgICAvKipcbiAgICAgKiBBIG1heGltdW0gYm91bmQgb24gdGhlIHpvb20gbGV2ZWwgb2YgdGhlIGdyYXBoLiBUaGUgdmlld3BvcnQgY2FuIG5vdCBiZVxuICAgICAqIHNjYWxlZCBsYXJnZXIgdGhhbiB0aGlzIHpvb20gbGV2ZWwuXG4gICAgICovXG4gICAgbWF4Wm9vbTogUHJvcFR5cGVzLm51bWJlcixcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgem9vbWluZyB0aGUgZ3JhcGggaXMgZW5hYmxlZCAoaS5lLiwgdGhlIHpvb20gbGV2ZWwgb2YgdGhlIGdyYXBoXG4gICAgICogaXMgbXV0YWJsZSBvdmVyYWxsKS5cbiAgICAgKi9cbiAgICB6b29taW5nRW5hYmxlZDogUHJvcFR5cGVzLmJvb2wsXG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHVzZXIgZXZlbnRzIChlLmcuIGRyYWdnaW5nIHRoZSBncmFwaCBiYWNrZ3JvdW5kKSBhcmUgYWxsb3dlZFxuICAgICAqIHRvIHBhbiB0aGUgZ3JhcGguXG4gICAgICovXG4gICAgdXNlclpvb21pbmdFbmFibGVkOiBQcm9wVHlwZXMuYm9vbCxcblxuICAgIC8qKlxuICAgICAqIENoYW5nZXMgdGhlIHNjcm9sbCB3aGVlbCBzZW5zaXRpdml0eSB3aGVuIHpvb21pbmcuXG4gICAgICovXG4gICAgd2hlZWxTZW5zaXRpdml0eTogUHJvcFR5cGVzLm51bWJlcixcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgYm94IHNlbGVjdGlvbiAoaS5lLiBkcmFnIGEgYm94IG92ZXJsYXkgYXJvdW5kLCBhbmQgcmVsZWFzZSBpdFxuICAgICAqIHRvIHNlbGVjdCkgaXMgZW5hYmxlZC4gSWYgZW5hYmxlZCwgdGhlIHVzZXIgbXVzdCB0YXBob2xkIHRvIHBhbiB0aGUgZ3JhcGguXG4gICAgICovXG4gICAgYm94U2VsZWN0aW9uRW5hYmxlZDogUHJvcFR5cGVzLmJvb2wsXG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIG5vZGVzIHNob3VsZCBiZSB1bmdyYWJpZmllZCAobm90IGdyYWJiYWJsZSBieSB1c2VyKSBieVxuICAgICAqIGRlZmF1bHQgKGlmIHRydWUsIG92ZXJyaWRlcyBpbmRpdmlkdWFsIG5vZGUgc3RhdGUpLlxuICAgICAqL1xuICAgIGF1dG91bmdyYWJpZnk6IFByb3BUeXBlcy5ib29sLFxuXG4gICAgLyoqXG4gICAgICogV2hldGhlciBub2RlcyBzaG91bGQgYmUgbG9ja2VkIChub3QgZHJhZ2dhYmxlIGF0IGFsbCkgYnkgZGVmYXVsdFxuICAgICAqIChpZiB0cnVlLCBvdmVycmlkZXMgaW5kaXZpZHVhbCBub2RlIHN0YXRlKS5cbiAgICAgKi9cbiAgICBhdXRvbG9jazogUHJvcFR5cGVzLmJvb2wsXG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIG5vZGVzIHNob3VsZCBiZSB1bnNlbGVjdGlmaWVkIChpbW11dGFibGUgc2VsZWN0aW9uIHN0YXRlKSBieVxuICAgICAqIGRlZmF1bHQgKGlmIHRydWUsIG92ZXJyaWRlcyBpbmRpdmlkdWFsIGVsZW1lbnQgc3RhdGUpLlxuICAgICAqL1xuICAgIGF1dG91bnNlbGVjdGlmeTogUHJvcFR5cGVzLmJvb2wsXG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRoZSBsYXlvdXQgc2hvdWxkIGJlIHJlZnJlc2hlZCB3aGVuIGVsZW1lbnRzIGFyZSBhZGRlZCBvciByZW1vdmVkLlxuICAgICAqL1xuICAgIGF1dG9SZWZyZXNoTGF5b3V0OiBQcm9wVHlwZXMuYm9vbCxcblxuICAgIC8vIFVzZXIgRXZlbnRzIFByb3BzXG5cbiAgICAvKipcbiAgICAgKiBUaGUgY29tcGxldGUgbm9kZSBkaWN0aW9uYXJ5IHJldHVybmVkIHdoZW4geW91IHRhcCBvciBjbGljayBpdC4gUmVhZC1vbmx5LlxuICAgICAqL1xuICAgIHRhcE5vZGU6IFByb3BUeXBlcy5leGFjdCh7XG4gICAgICAgIC8qKiBub2RlIHNwZWNpZmljIGl0ZW0gKi9cbiAgICAgICAgZWRnZXNEYXRhOiBQcm9wVHlwZXMuYXJyYXksXG4gICAgICAgIC8qKiBub2RlIHNwZWNpZmljIGl0ZW0gKi9cbiAgICAgICAgcmVuZGVyZWRQb3NpdGlvbjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICAgICAgLyoqIG5vZGUgc3BlY2lmaWMgaXRlbSAqL1xuICAgICAgICB0aW1lU3RhbXA6IFByb3BUeXBlcy5udW1iZXIsXG4gICAgICAgIC8qKiBHZW5lcmFsIGl0ZW0gKGZvciBhbGwgZWxlbWVudHMpICovXG4gICAgICAgIGNsYXNzZXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICAgIC8qKiBHZW5lcmFsIGl0ZW0gKGZvciBhbGwgZWxlbWVudHMpICovXG4gICAgICAgIGRhdGE6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgICAgIC8qKiBHZW5lcmFsIGl0ZW0gKGZvciBhbGwgZWxlbWVudHMpICovXG4gICAgICAgIGdyYWJiYWJsZTogUHJvcFR5cGVzLmJvb2wsXG4gICAgICAgIC8qKiBHZW5lcmFsIGl0ZW0gKGZvciBhbGwgZWxlbWVudHMpICovXG4gICAgICAgIGdyb3VwOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICAvKiogR2VuZXJhbCBpdGVtIChmb3IgYWxsIGVsZW1lbnRzKSAqL1xuICAgICAgICBsb2NrZWQ6IFByb3BUeXBlcy5ib29sLFxuICAgICAgICAvKiogR2VuZXJhbCBpdGVtIChmb3IgYWxsIGVsZW1lbnRzKSAqL1xuICAgICAgICBwb3NpdGlvbjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICAgICAgLyoqIEdlbmVyYWwgaXRlbSAoZm9yIGFsbCBlbGVtZW50cykgKi9cbiAgICAgICAgc2VsZWN0YWJsZTogUHJvcFR5cGVzLmJvb2wsXG4gICAgICAgIC8qKiBHZW5lcmFsIGl0ZW0gKGZvciBhbGwgZWxlbWVudHMpICovXG4gICAgICAgIHNlbGVjdGVkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICAgICAgLyoqIEdlbmVyYWwgaXRlbSAoZm9yIGFsbCBlbGVtZW50cykgKi9cbiAgICAgICAgc3R5bGU6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgICAgIC8qKiBJdGVtIGZvciBjb21wb3VuZCBub2RlcyAqL1xuICAgICAgICBhbmNlc3RvcnNEYXRhOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMub2JqZWN0LCBQcm9wVHlwZXMuYXJyYXldKSxcbiAgICAgICAgLyoqIEl0ZW0gZm9yIGNvbXBvdW5kIG5vZGVzICovXG4gICAgICAgIGNoaWxkcmVuRGF0YTogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLm9iamVjdCwgUHJvcFR5cGVzLmFycmF5XSksXG4gICAgICAgIC8qKiBJdGVtIGZvciBjb21wb3VuZCBub2RlcyAqL1xuICAgICAgICBkZXNjZW5kYW50c0RhdGE6IFByb3BUeXBlcy5vbmVPZlR5cGUoW1xuICAgICAgICAgICAgUHJvcFR5cGVzLm9iamVjdCxcbiAgICAgICAgICAgIFByb3BUeXBlcy5hcnJheSxcbiAgICAgICAgXSksXG4gICAgICAgIC8qKiBJdGVtIGZvciBjb21wb3VuZCBub2RlcyAqL1xuICAgICAgICBwYXJlbnREYXRhOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMub2JqZWN0LCBQcm9wVHlwZXMuYXJyYXldKSxcbiAgICAgICAgLyoqIEl0ZW0gZm9yIGNvbXBvdW5kIG5vZGVzICovXG4gICAgICAgIHNpYmxpbmdzRGF0YTogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLm9iamVjdCwgUHJvcFR5cGVzLmFycmF5XSksXG4gICAgICAgIC8qKiBJdGVtIGZvciBjb21wb3VuZCBub2RlcyAqL1xuICAgICAgICBpc1BhcmVudDogUHJvcFR5cGVzLmJvb2wsXG4gICAgICAgIC8qKiBJdGVtIGZvciBjb21wb3VuZCBub2RlcyAqL1xuICAgICAgICBpc0NoaWxkbGVzczogUHJvcFR5cGVzLmJvb2wsXG4gICAgICAgIC8qKiBJdGVtIGZvciBjb21wb3VuZCBub2RlcyAqL1xuICAgICAgICBpc0NoaWxkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICAgICAgLyoqIEl0ZW0gZm9yIGNvbXBvdW5kIG5vZGVzICovXG4gICAgICAgIGlzT3JwaGFuOiBQcm9wVHlwZXMuYm9vbCxcbiAgICAgICAgLyoqIEl0ZW0gZm9yIGNvbXBvdW5kIG5vZGVzICovXG4gICAgICAgIHJlbGF0aXZlUG9zaXRpb246IFByb3BUeXBlcy5vYmplY3QsXG4gICAgfSksXG5cbiAgICAvKipcbiAgICAgKiBUaGUgZGF0YSBkaWN0aW9uYXJ5IG9mIGEgbm9kZSByZXR1cm5lZCB3aGVuIHlvdSB0YXAgb3IgY2xpY2sgaXQuIFJlYWQtb25seS5cbiAgICAgKi9cbiAgICB0YXBOb2RlRGF0YTogUHJvcFR5cGVzLm9iamVjdCxcblxuICAgIC8qKlxuICAgICAqIFRoZSBjb21wbGV0ZSBlZGdlIGRpY3Rpb25hcnkgcmV0dXJuZWQgd2hlbiB5b3UgdGFwIG9yIGNsaWNrIGl0LiBSZWFkLW9ubHkuXG4gICAgICovXG4gICAgdGFwRWRnZTogUHJvcFR5cGVzLmV4YWN0KHtcbiAgICAgICAgLyoqIEVkZ2Utc3BlY2lmaWMgaXRlbSAqL1xuICAgICAgICBpc0xvb3A6IFByb3BUeXBlcy5ib29sLFxuICAgICAgICAvKiogRWRnZS1zcGVjaWZpYyBpdGVtICovXG4gICAgICAgIGlzU2ltcGxlOiBQcm9wVHlwZXMuYm9vbCxcbiAgICAgICAgLyoqIEVkZ2Utc3BlY2lmaWMgaXRlbSAqL1xuICAgICAgICBtaWRwb2ludDogUHJvcFR5cGVzLm9iamVjdCxcbiAgICAgICAgLyoqIEVkZ2Utc3BlY2lmaWMgaXRlbSAqL1xuICAgICAgICBzb3VyY2VEYXRhOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgICAgICAvKiogRWRnZS1zcGVjaWZpYyBpdGVtICovXG4gICAgICAgIHNvdXJjZUVuZHBvaW50OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgICAgICAvKiogRWRnZS1zcGVjaWZpYyBpdGVtICovXG4gICAgICAgIHRhcmdldERhdGE6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgICAgIC8qKiBFZGdlLXNwZWNpZmljIGl0ZW0gKi9cbiAgICAgICAgdGFyZ2V0RW5kcG9pbnQ6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgICAgIC8qKiBFZGdlLXNwZWNpZmljIGl0ZW0gKi9cbiAgICAgICAgdGltZVN0YW1wOiBQcm9wVHlwZXMubnVtYmVyLFxuICAgICAgICAvKiogR2VuZXJhbCBpdGVtIChmb3IgYWxsIGVsZW1lbnRzKSAqL1xuICAgICAgICBjbGFzc2VzOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICAvKiogR2VuZXJhbCBpdGVtIChmb3IgYWxsIGVsZW1lbnRzKSAqL1xuICAgICAgICBkYXRhOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgICAgICAvKiogR2VuZXJhbCBpdGVtIChmb3IgYWxsIGVsZW1lbnRzKSAqL1xuICAgICAgICBncmFiYmFibGU6IFByb3BUeXBlcy5ib29sLFxuICAgICAgICAvKiogR2VuZXJhbCBpdGVtIChmb3IgYWxsIGVsZW1lbnRzKSAqL1xuICAgICAgICBncm91cDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgICAgLyoqIEdlbmVyYWwgaXRlbSAoZm9yIGFsbCBlbGVtZW50cykgKi9cbiAgICAgICAgbG9ja2VkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICAgICAgLyoqIEdlbmVyYWwgaXRlbSAoZm9yIGFsbCBlbGVtZW50cykgKi9cbiAgICAgICAgc2VsZWN0YWJsZTogUHJvcFR5cGVzLmJvb2wsXG4gICAgICAgIC8qKiBHZW5lcmFsIGl0ZW0gKGZvciBhbGwgZWxlbWVudHMpICovXG4gICAgICAgIHNlbGVjdGVkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICAgICAgLyoqIEdlbmVyYWwgaXRlbSAoZm9yIGFsbCBlbGVtZW50cykgKi9cbiAgICAgICAgc3R5bGU6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgfSksXG5cbiAgICAvKipcbiAgICAgKiBUaGUgZGF0YSBkaWN0aW9uYXJ5IG9mIGFuIGVkZ2UgcmV0dXJuZWQgd2hlbiB5b3UgdGFwIG9yIGNsaWNrIGl0LiBSZWFkLW9ubHkuXG4gICAgICovXG4gICAgdGFwRWRnZURhdGE6IFByb3BUeXBlcy5vYmplY3QsXG5cbiAgICAvKipcbiAgICAgKiBUaGUgZGF0YSBkaWN0aW9uYXJ5IG9mIGEgbm9kZSByZXR1cm5lZCB3aGVuIHlvdSBob3ZlciBvdmVyIGl0LiBSZWFkLW9ubHkuXG4gICAgICovXG4gICAgbW91c2VvdmVyTm9kZURhdGE6IFByb3BUeXBlcy5vYmplY3QsXG5cbiAgICAvKipcbiAgICAgKiBUaGUgZGF0YSBkaWN0aW9uYXJ5IG9mIGFuIGVkZ2UgcmV0dXJuZWQgd2hlbiB5b3UgaG92ZXIgb3ZlciBpdC4gUmVhZC1vbmx5LlxuICAgICAqL1xuICAgIG1vdXNlb3ZlckVkZ2VEYXRhOiBQcm9wVHlwZXMub2JqZWN0LFxuXG4gICAgLyoqXG4gICAgICogVGhlIGxpc3Qgb2YgZGF0YSBkaWN0aW9uYXJpZXMgb2YgYWxsIHNlbGVjdGVkIG5vZGVzIChlLmcuIHVzaW5nXG4gICAgICogU2hpZnQrQ2xpY2sgdG8gc2VsZWN0IG11bHRpcGxlIG5vZGVzLCBvciBTaGlmdCtEcmFnIHRvIHVzZSBib3ggc2VsZWN0aW9uKS4gUmVhZC1vbmx5LlxuICAgICAqL1xuICAgIHNlbGVjdGVkTm9kZURhdGE6IFByb3BUeXBlcy5hcnJheSxcblxuICAgIC8qKlxuICAgICAqIFRoZSBsaXN0IG9mIGRhdGEgZGljdGlvbmFyaWVzIG9mIGFsbCBzZWxlY3RlZCBlZGdlcyAoZS5nLiB1c2luZ1xuICAgICAqIFNoaWZ0K0NsaWNrIHRvIHNlbGVjdCBtdWx0aXBsZSBub2Rlcywgb3IgU2hpZnQrRHJhZyB0byB1c2UgYm94IHNlbGVjdGlvbikuIFJlYWQtb25seS5cbiAgICAgKi9cbiAgICBzZWxlY3RlZEVkZ2VEYXRhOiBQcm9wVHlwZXMuYXJyYXksXG5cbiAgICAvKipcbiAgICAgKiBEaWN0aW9uYXJ5IHNwZWNpZnlpbmcgb3B0aW9ucyB0byBnZW5lcmF0ZSBhbiBpbWFnZSBvZiB0aGUgY3VycmVudCBjeXRvc2NhcGUgZ3JhcGguXG4gICAgICogVmFsdWUgaXMgY2xlYXJlZCBhZnRlciBkYXRhIGlzIHJlY2VpdmVkIGFuZCBpbWFnZSBpcyBnZW5lcmF0ZWQuIFRoaXMgcHJvcGVydHkgd2lsbFxuICAgICAqIGJlIGlnbm9yZWQgb24gdGhlIGluaXRpYWwgY3JlYXRpb24gb2YgdGhlIGN5dG9zY2FwZSBvYmplY3QgYW5kIG11c3QgYmUgaW52b2tlZCB0aHJvdWdoXG4gICAgICogYSBjYWxsYmFjayBhZnRlciBpdCBoYXMgYmVlbiByZW5kZXJlZC5cbiAgICAgKlxuICAgICAqIElmIHRoZSBhcHAgZG9lcyBub3QgbmVlZCB0aGUgaW1hZ2UgZGF0YSBzZXJ2ZXIgc2lkZSBhbmQvb3IgaXQgd2lsbCBvbmx5IGJlIHVzZWQgdG8gZG93bmxvYWRcbiAgICAgKiB0aGUgaW1hZ2UsIGl0IG1heSBiZSBwcnVkZW50IHRvIGludm9rZSBgJ2Rvd25sb2FkJ2AgZm9yIGBhY3Rpb25gIGluc3RlYWQgb2ZcbiAgICAgKiBgJ3N0b3JlJ2AgdG8gaW1wcm92ZSBwZXJmb3JtYW5jZSBieSBwcmV2ZW50aW5nIHRyYW5zZmVyIG9mIGRhdGEgdG8gdGhlIHNlcnZlci5cbiAgICAgKi9cbiAgICBnZW5lcmF0ZUltYWdlOiBQcm9wVHlwZXMuc2hhcGUoe1xuICAgICAgICAvKiogRmlsZSB0eXBlIHRvIG91dHB1dCAgKi9cbiAgICAgICAgdHlwZTogUHJvcFR5cGVzLm9uZU9mKFsnc3ZnJywgJ3BuZycsICdqcGcnLCAnanBlZyddKSxcbiAgICAgICAgLyoqIERpY3Rpb25hcnkgb2Ygb3B0aW9ucyB0byBjeS5wbmcoKSAvIGN5LmpwZygpIG9yIGN5LnN2ZygpIGZvciBpbWFnZSBnZW5lcmF0aW9uLlxuICAgICAgICAgKiBTZWUgaHR0cHM6Ly9qcy5jeXRvc2NhcGUub3JnLyNjb3JlL2V4cG9ydCBmb3IgZGV0YWlscy4gRm9yIGAnb3V0cHV0J2AsIG9ubHkgJ2Jhc2U2NCdcbiAgICAgICAgICogYW5kICdiYXNlNjR1cmknIGFyZSBzdXBwb3J0ZWQuIERlZmF1bHQ6IGB7J291dHB1dCc6ICdiYXNlNjR1cmknfWAuKi9cbiAgICAgICAgb3B0aW9uczogUHJvcFR5cGVzLm9iamVjdCxcbiAgICAgICAgLyoqXG4gICAgICAgICAqIGAnc3RvcmUnYDogU3RvcmVzIHRoZSBpbWFnZSBkYXRhIChvbmx5IGpwZyBhbmQgcG5nIGFyZSBzdXBwb3J0ZWQpXG4gICAgICAgICAqIGluIGBpbWFnZURhdGFgIGFuZCBpbnZva2VzIHNlcnZlci1zaWRlIERhc2ggY2FsbGJhY2tzLiBgJ2Rvd25sb2FkJ2A6IERvd25sb2FkcyB0aGUgaW1hZ2VcbiAgICAgICAgICogYXMgYSBmaWxlIHdpdGggYWxsIGRhdGEgaGFuZGxpbmcgZG9uZSBjbGllbnQtc2lkZS4gTm8gYGltYWdlRGF0YWAgY2FsbGJhY2tzIGFyZSBmaXJlZC5cbiAgICAgICAgICogYCdib3RoJ2A6IFN0b3JlcyBpbWFnZSBkYXRhIGFuZCBkb3dubG9hZHMgaW1hZ2UgYXMgZmlsZS4gVGhlIGRlZmF1bHQgaXMgYCdzdG9yZSdgXG4gICAgICAgICAqL1xuICAgICAgICBhY3Rpb246IFByb3BUeXBlcy5vbmVPZihbJ3N0b3JlJywgJ2Rvd25sb2FkJywgJ2JvdGgnXSksXG4gICAgICAgIC8qKiBOYW1lIGZvciB0aGUgZmlsZSB0byBiZSBkb3dubG9hZGVkLiBEZWZhdWx0OiAnY3l0bycuKi9cbiAgICAgICAgZmlsZW5hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgfSksXG5cbiAgICAvKipcbiAgICAgKiBTdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhlIGltYWdlIHJlcXVlc3RlZCB3aXRoIGdlbmVyYXRlSW1hZ2UuIE51bGwgaWYgbm9cbiAgICAgKiBpbWFnZSB3YXMgcmVxdWVzdGVkIHlldCBvciB0aGUgcHJldmlvdXMgcmVxdWVzdCBmYWlsZWQuIFJlYWQtb25seS5cbiAgICAgKi9cbiAgICBpbWFnZURhdGE6IFByb3BUeXBlcy5zdHJpbmcsXG5cbiAgICAvKipcbiAgICAgKiBUb2dnbGVzIGludGVsbGlnZW50IHJlc3BvbnNpdmUgcmVzaXplIG9mIEN5dG9zY2FwZSBncmFwaCB3aXRoIHZpZXdwb3J0IHNpemUgY2hhbmdlXG4gICAgICovXG4gICAgcmVzcG9uc2l2ZTogUHJvcFR5cGVzLmJvb2wsXG5cbiAgICAvKipcbiAgICAgKiBFeHRlbnQgb2YgdGhlIHZpZXdwb3J0LCBhIGJvdW5kaW5nIGJveCBpbiBtb2RlbCBjby1vcmRpbmF0ZXMgdGhhdCBsZXRzIHlvdSBrbm93IHdoYXQgbW9kZWxcbiAgICAgKiBwb3NpdGlvbnMgYXJlIHZpc2libGUgaW4gdGhlIHZpZXdwb3J0LiBUaGlzIGZ1bmN0aW9uIHJldHVybnMgYSBwbGFpbiBvYmplY3QgYm91bmRpbmcgYm94XG4gICAgICogd2l0aCBmb3JtYXQgeyB4MSwgeTEsIHgyLCB5MiwgdywgaCB9LlxuICAgICAqL1xuICAgIGV4dGVudDogUHJvcFR5cGVzLm9iamVjdCxcblxuICAgIC8qKlxuICAgICAqIElmIHNldCB0byBUcnVlLCBtb3VzZW92ZXJOb2RlRGF0YSBhbmQgbW91c2VvdmVyRWRnZURhdGEgd2lsbCBiZSBjbGVhcmVkIG9uIHVuaG92ZXIuXG4gICAgICogSWYgc2V0IHRvIEZhbHNlLCB0aGUgdmFsdWUgb2YgbW91c2VvdmVyTm9kZURhdGEgYW5kIG1vdXNlb3ZlckVkZ2VEYXRhIHdpbGwgYmUgdGhlIGxhc3RcbiAgICAgKiBOb2RlIG9yIEVkZ2UgaG92ZXJlZCBvdmVyXG4gICAgICovXG4gICAgY2xlYXJPblVuaG92ZXI6IFByb3BUeXBlcy5ib29sLFxufTtcblxuQ3l0b3NjYXBlLmRlZmF1bHRQcm9wcyA9IHtcbiAgICBzdHlsZToge3dpZHRoOiAnNjAwcHgnLCBoZWlnaHQ6ICc2MDBweCd9LFxuICAgIGxheW91dDoge25hbWU6ICdncmlkJ30sXG4gICAgcGFuOiB7eDogMCwgeTogMH0sXG4gICAgem9vbTogMSxcbiAgICBtaW5ab29tOiAxZS01MCxcbiAgICBtYXhab29tOiAxZTUwLFxuICAgIHpvb21pbmdFbmFibGVkOiB0cnVlLFxuICAgIHVzZXJab29taW5nRW5hYmxlZDogdHJ1ZSxcbiAgICBwYW5uaW5nRW5hYmxlZDogdHJ1ZSxcbiAgICB1c2VyUGFubmluZ0VuYWJsZWQ6IHRydWUsXG4gICAgd2hlZWxTZW5zaXRpdml0eTogMSxcbiAgICBib3hTZWxlY3Rpb25FbmFibGVkOiBmYWxzZSxcbiAgICBhdXRvbG9jazogZmFsc2UsXG4gICAgYXV0b3VuZ3JhYmlmeTogZmFsc2UsXG4gICAgYXV0b3Vuc2VsZWN0aWZ5OiBmYWxzZSxcbiAgICBhdXRvUmVmcmVzaExheW91dDogdHJ1ZSxcbiAgICBnZW5lcmF0ZUltYWdlOiB7fSxcbiAgICBpbWFnZURhdGE6IG51bGwsXG4gICAgcmVzcG9uc2l2ZTogZmFsc2UsXG4gICAgY2xlYXJPblVuaG92ZXI6IGZhbHNlLFxuICAgIGVsZW1lbnRzOiBbXSxcbiAgICBjb250ZXh0TWVudTogW10sXG59O1xuXG5leHBvcnQgZGVmYXVsdCBDeXRvc2NhcGU7XG4iXSwibmFtZXMiOlsiUmVhY3QiLCJDb21wb25lbnQiLCJQcm9wVHlwZXMiLCJDeXRvc2NhcGVDb21wb25lbnQiLCJfIiwidjQiLCJ1dWlkdjQiLCJDeVJlc3BvbnNpdmUiLCJjeXRvc2NhcGUiLCJyZXF1aXJlIiwiY29udGV4dE1lbnVzIiwiQ3l0b3NjYXBlIiwiX0NvbXBvbmVudCIsIl9pbmhlcml0cyIsInByb3BzIiwiX3RoaXMiLCJfY2xhc3NDYWxsQ2hlY2siLCJfY2FsbFN1cGVyIiwiaGFuZGxlQ3kiLCJiaW5kIiwiX2Fzc2VydFRoaXNJbml0aWFsaXplZCIsIl9oYW5kbGVDeUNhbGxlZCIsImhhbmRsZUltYWdlR2VuZXJhdGlvbiIsImN5UmVzcG9uc2l2ZUNsYXNzIiwiX2NyZWF0ZUNsYXNzIiwia2V5IiwidmFsdWUiLCJnZW5lcmF0ZU5vZGUiLCJldmVudCIsImVsZSIsInRhcmdldCIsImlzUGFyZW50IiwiaXNDaGlsZGxlc3MiLCJpc0NoaWxkIiwiaXNPcnBoYW4iLCJyZW5kZXJlZFBvc2l0aW9uIiwicmVsYXRpdmVQb3NpdGlvbiIsInBhcmVudCIsInN0eWxlIiwiZWRnZXNEYXRhIiwiY29ubmVjdGVkRWRnZXMiLCJtYXAiLCJkYXRhIiwiY2hpbGRyZW5EYXRhIiwiY2hpbGRyZW4iLCJhbmNlc3RvcnNEYXRhIiwiYW5jZXN0b3JzIiwiZGVzY2VuZGFudHNEYXRhIiwiZGVzY2VuZGFudHMiLCJzaWJsaW5nc0RhdGEiLCJzaWJsaW5ncyIsInRpbWVTdGFtcCIsIl9lbGUkanNvbiIsImpzb24iLCJjbGFzc2VzIiwiZ3JhYmJhYmxlIiwiZ3JvdXAiLCJsb2NrZWQiLCJwb3NpdGlvbiIsInNlbGVjdGVkIiwic2VsZWN0YWJsZSIsInBhcmVudERhdGEiLCJub2RlT2JqZWN0IiwiZ2VuZXJhdGVFZGdlIiwibWlkcG9pbnQiLCJpc0xvb3AiLCJpc1NpbXBsZSIsInNvdXJjZURhdGEiLCJzb3VyY2UiLCJzb3VyY2VFbmRwb2ludCIsInRhcmdldERhdGEiLCJ0YXJnZXRFbmRwb2ludCIsIl9lbGUkanNvbjIiLCJlZGdlT2JqZWN0IiwiY3kiLCJfdGhpczIiLCJfY3kiLCJ3aW5kb3ciLCJTRUxFQ1RfVEhSRVNIT0xEIiwiRVhURU5UX1RIUkVTSE9MRCIsInNlbGVjdGVkTm9kZXMiLCJjb2xsZWN0aW9uIiwic2VsZWN0ZWRFZGdlcyIsInJlZnJlc2hMYXlvdXQiLCJkZWJvdW5jZSIsIl90aGlzMiRwcm9wcyIsImF1dG9SZWZyZXNoTGF5b3V0IiwibGF5b3V0IiwicnVuIiwic2VuZFNlbGVjdGVkTm9kZXNEYXRhIiwibm9kZURhdGEiLCJlbCIsInNldFByb3BzIiwic2VsZWN0ZWROb2RlRGF0YSIsInNlbmRTZWxlY3RlZEVkZ2VzRGF0YSIsImVkZ2VEYXRhIiwic2VsZWN0ZWRFZGdlRGF0YSIsInNldEV4dGVudCIsImN5RXh0ZW50IiwiZXh0ZW50Iiwib3JpZ2luYWxNYXhab29tRm4iLCJtYXhab29tIiwib3JpZ2luYWxNaW5ab29tRm4iLCJtaW5ab29tIiwiZSIsImN1cnJlbnRNYXhab29tIiwiY2FsbCIsIl9wcmV2aW91c01heFpvb20iLCJ0cmlnZ2VyIiwiY3VycmVudE1pblpvb20iLCJfcHJldmlvdXNNaW5ab29tIiwib24iLCJ0YXBOb2RlIiwidGFwTm9kZURhdGEiLCJPYmplY3QiLCJhc3NpZ24iLCJ0YXBFZGdlIiwidGFwRWRnZURhdGEiLCJtb3VzZW92ZXJOb2RlRGF0YSIsIm1vdXNlb3ZlckVkZ2VEYXRhIiwiY2xlYXJPblVuaG92ZXIiLCJtZXJnZSIsInVubWVyZ2UiLCJlbGVtZW50cyIsIml0ZW0iLCJ6b29tIiwiZml0IiwiY3JlYXRlTWVudUl0ZW1zIiwiY3R4TWVudSIsInVwZGF0ZUNvbnRleHRNZW51RGF0YSIsIm5ld0NvbnRleHQiLCJjb250ZXh0TWVudURhdGEiLCJjb250ZXh0TWVudURlZmF1bHRGdW5jdGlvbnMiLCJyZW1vdmUiLCJjeVRhcmdldCIsImFkZF9ub2RlIiwicG9zIiwiY3lQb3NpdGlvbiIsImFkZCIsIngiLCJ5IiwiYWRkX2VkZ2UiLCJzZWxlY3RlZE5vZGVJZHMiLCJub2RlIiwiaWQiLCJsZW5ndGgiLCJjb25zb2xlIiwiZXJyb3IiLCJuZXdNZW51SXRlbXMiLCJfaXRlcmF0b3IiLCJfY3JlYXRlRm9yT2ZJdGVyYXRvckhlbHBlciIsIl9zdGVwIiwiX2xvb3AiLCJvbkNsaWNrRnVuY3Rpb24iLCJtZW51SXRlbUlkIiwiZWxlbWVudElkIiwiZWRnZVNvdXJjZSIsImVkZ2VUYXJnZXQiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsIm9uQ2xpY2siLCJjb25jYXQiLCJkYXNoQ3l0b3NjYXBlRnVuY3Rpb25zIiwib25DbGlja0N1c3RvbSIsIm5ld19pdGVtIiwiY29udGVudCIsImxhYmVsIiwidG9vbHRpcFRleHQiLCJzZWxlY3RvciIsImNvcmVBc1dlbGwiLCJfaXRlcmF0b3IyIiwiYXZhaWxhYmxlT24iLCJfc3RlcDIiLCJzIiwibiIsImRvbmUiLCJlcnIiLCJmIiwicHVzaCIsInRvZ2dsZSIsInJlc3BvbnNpdmUiLCJpbWFnZVR5cGUiLCJpbWFnZU9wdGlvbnMiLCJhY3Rpb25zVG9QZXJmb3JtIiwiZmlsZU5hbWUiLCJfdGhpczMiLCJvcHRpb25zIiwiZGVzaXJlZE91dHB1dCIsIm91dHB1dCIsImRvd25sb2FkSW1hZ2UiLCJzdG9yZUltYWdlIiwicG5nIiwianBnIiwic3ZnIiwiZk5hbWUiLCJkb3dubG9hZEJsb2IiLCJibG9iIiwiQmxvYiIsInR5cGUiLCJyZWFkZXIiLCJGaWxlUmVhZGVyIiwib25sb2FkIiwiY2FsbGJhY2tEYXRhIiwicmVzdWx0IiwicmVwbGFjZSIsImltYWdlRGF0YSIsInJlYWRBc0RhdGFVUkwiLCJkb3dubG9hZExpbmsiLCJkb2N1bWVudCIsImNyZWF0ZUVsZW1lbnQiLCJib2R5IiwiYXBwZW5kQ2hpbGQiLCJ1cmwiLCJVUkwiLCJjcmVhdGVPYmplY3RVUkwiLCJocmVmIiwiZG93bmxvYWQiLCJjbGljayIsInJldm9rZU9iamVjdFVSTCIsInJlbW92ZUNoaWxkIiwidXBkYXRlQ29udGV4dE1lbnUiLCJjb250ZXh0TWVudSIsIm1lbnVJdGVtcyIsIm1lbnVJdGVtQ2xhc3NlcyIsImdyYXBoT3V0T2ZWaWV3IiwiY3lXaWR0aCIsIndpZHRoIiwiY3lIZWlnaHQiLCJoZWlnaHQiLCJlbEJveCIsInJlbmRlcmVkQm91bmRpbmdib3giLCJ4MSIsInkxIiwieDIiLCJ5MiIsImNvbXBvbmVudERpZFVwZGF0ZSIsInByZXZQcm9wcyIsIl90aGlzJHByb3BzIiwiaXNFcXVhbCIsImNvbXBvbmVudERpZE1vdW50IiwicmVuZGVyIiwiX3RoaXMkcHJvcHMyIiwiY2xhc3NOYW1lIiwic3R5bGVzaGVldCIsInBhbiIsInBhbm5pbmdFbmFibGVkIiwidXNlclBhbm5pbmdFbmFibGVkIiwiem9vbWluZ0VuYWJsZWQiLCJ1c2VyWm9vbWluZ0VuYWJsZWQiLCJ3aGVlbFNlbnNpdGl2aXR5IiwiYm94U2VsZWN0aW9uRW5hYmxlZCIsImF1dG91bmdyYWJpZnkiLCJhdXRvbG9jayIsImF1dG91bnNlbGVjdGlmeSIsImdlbmVyYXRlSW1hZ2UiLCJrZXlzIiwiYWN0aW9uIiwiZmlsZW5hbWUiLCJub3JtYWxpemVFbGVtZW50cyIsInByb3BUeXBlcyIsInN0cmluZyIsIm9iamVjdCIsImZ1bmMiLCJvbmVPZlR5cGUiLCJhcnJheU9mIiwic2hhcGUiLCJudW1iZXIiLCJib29sIiwiZXhhY3QiLCJub2RlcyIsImFycmF5IiwiZWRnZXMiLCJpc1JlcXVpcmVkIiwibmFtZSIsIm9uZU9mIiwicGFkZGluZyIsImFuaW1hdGUiLCJhbmltYXRpb25EdXJhdGlvbiIsImJvdW5kaW5nQm94IiwiZGVmYXVsdFByb3BzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/lib/components/Cytoscape.react.js\n"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _src_assets_contextmenu_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../src/assets/contextmenu.css */ \"./src/assets/contextmenu.css\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var react_cytoscapejs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-cytoscapejs */ \"./node_modules/react-cytoscapejs/dist/react-cytoscape.modern.js\");\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! lodash */ \"./node_modules/lodash/lodash.js\");\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var uuid__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! uuid */ \"./node_modules/uuid/dist/esm-browser/v4.js\");\n/* harmony import */ var _cyResponsive_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../cyResponsive.js */ \"./src/lib/cyResponsive.js\");\n/* harmony import */ var _ungap_custom_elements__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @ungap/custom-elements */ \"./node_modules/@ungap/custom-elements/index.js\");\n/* harmony import */ var _ungap_custom_elements__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_ungap_custom_elements__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _cyleaflet_clientside_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../cyleaflet_clientside.js */ \"./src/lib/cyleaflet_clientside.js\");\n/* harmony import */ var _cyleaflet_clientside_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_cyleaflet_clientside_js__WEBPACK_IMPORTED_MODULE_6__);\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : String(i); }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n/**\n * JavaScript Requirements: cytoscape, cytoscape-svg\n * React.js requirements: react-cytoscapejs\n */\n\n\n\n\n\n\n\n\n// Polyfill so that context menu extension works in Safari\n\nvar cytoscape = __webpack_require__(/*! cytoscape */ \"./node_modules/cytoscape/dist/cytoscape.cjs.js\");\nvar contextMenus = __webpack_require__(/*! cytoscape-context-menus */ \"./node_modules/cytoscape-context-menus/cytoscape-context-menus.js\");\n\n// Clientside callback functions for CyLeaflet AIO component\n\n\n// register extension\ncontextMenus(cytoscape);\n/**\n * A Component Library for Dash aimed at facilitating network visualization in\n * Python, wrapped around [Cytoscape.js](http://js.cytoscape.org/).\n */\nvar Cytoscape = /*#__PURE__*/function (_Component) {\n _inherits(Cytoscape, _Component);\n function Cytoscape(props) {\n var _this;\n _classCallCheck(this, Cytoscape);\n _this = _callSuper(this, Cytoscape, [props]);\n _this.handleCy = _this.handleCy.bind(_assertThisInitialized(_this));\n _this._handleCyCalled = false;\n _this.handleImageGeneration = _this.handleImageGeneration.bind(_assertThisInitialized(_this));\n _this.cyResponsiveClass = false;\n return _this;\n }\n _createClass(Cytoscape, [{\n key: \"generateNode\",\n value: function generateNode(event) {\n var ele = event.target;\n var isParent = ele.isParent(),\n isChildless = ele.isChildless(),\n isChild = ele.isChild(),\n isOrphan = ele.isOrphan(),\n renderedPosition = ele.renderedPosition(),\n relativePosition = ele.relativePosition(),\n parent = ele.parent(),\n style = ele.style();\n\n // Trim down the element objects to only the data contained\n var edgesData = ele.connectedEdges().map(function (ele) {\n return ele.data();\n });\n var childrenData = ele.children().map(function (ele) {\n return ele.data();\n });\n var ancestorsData = ele.ancestors().map(function (ele) {\n return ele.data();\n });\n var descendantsData = ele.descendants().map(function (ele) {\n return ele.data();\n });\n var siblingsData = ele.siblings().map(function (ele) {\n return ele.data();\n });\n var timeStamp = event.timeStamp;\n var _ele$json = ele.json(),\n classes = _ele$json.classes,\n data = _ele$json.data,\n grabbable = _ele$json.grabbable,\n group = _ele$json.group,\n locked = _ele$json.locked,\n position = _ele$json.position,\n selected = _ele$json.selected,\n selectable = _ele$json.selectable;\n var parentData;\n if (parent) {\n parentData = parent.data();\n } else {\n parentData = null;\n }\n var nodeObject = {\n // Nodes attributes\n edgesData: edgesData,\n renderedPosition: renderedPosition,\n timeStamp: timeStamp,\n // From ele.json()\n classes: classes,\n data: data,\n grabbable: grabbable,\n group: group,\n locked: locked,\n position: position,\n selectable: selectable,\n selected: selected,\n // Compound Nodes additional attributes\n ancestorsData: ancestorsData,\n childrenData: childrenData,\n descendantsData: descendantsData,\n parentData: parentData,\n siblingsData: siblingsData,\n isParent: isParent,\n isChildless: isChildless,\n isChild: isChild,\n isOrphan: isOrphan,\n relativePosition: relativePosition,\n // Styling\n style: style\n };\n return nodeObject;\n }\n }, {\n key: \"generateEdge\",\n value: function generateEdge(event) {\n var ele = event.target;\n var midpoint = ele.midpoint(),\n isLoop = ele.isLoop(),\n isSimple = ele.isSimple(),\n sourceData = ele.source().data(),\n sourceEndpoint = ele.sourceEndpoint(),\n style = ele.style(),\n targetData = ele.target().data(),\n targetEndpoint = ele.targetEndpoint();\n var timeStamp = event.timeStamp;\n var _ele$json2 = ele.json(),\n classes = _ele$json2.classes,\n data = _ele$json2.data,\n grabbable = _ele$json2.grabbable,\n group = _ele$json2.group,\n locked = _ele$json2.locked,\n selectable = _ele$json2.selectable,\n selected = _ele$json2.selected;\n var edgeObject = {\n // Edges attributes\n isLoop: isLoop,\n isSimple: isSimple,\n midpoint: midpoint,\n sourceData: sourceData,\n sourceEndpoint: sourceEndpoint,\n targetData: targetData,\n targetEndpoint: targetEndpoint,\n timeStamp: timeStamp,\n // From ele.json()\n classes: classes,\n data: data,\n grabbable: grabbable,\n group: group,\n locked: locked,\n selectable: selectable,\n selected: selected,\n // Styling\n style: style\n };\n return edgeObject;\n }\n }, {\n key: \"handleCy\",\n value: function handleCy(cy) {\n var _this2 = this;\n // If the cy pointer has not been modified, and handleCy has already\n // been called before, than we don't run this function.\n if (cy === this._cy && this._handleCyCalled) {\n return;\n }\n this._cy = cy;\n window.cy = cy;\n this._handleCyCalled = true;\n\n // ///////////////////////////////////// CONSTANTS /////////////////////////////////////////\n var SELECT_THRESHOLD = 100;\n var EXTENT_THRESHOLD = 5;\n var UPDATE_ELEMENTS_THRESHOLD = 100;\n var RESIZE_THRESHOLD = 50;\n var selectedNodes = cy.collection();\n var selectedEdges = cy.collection();\n\n // ///////////////////////////////////// FUNCTIONS /////////////////////////////////////////\n var refreshLayout = lodash__WEBPACK_IMPORTED_MODULE_3___default().debounce(function () {\n /**\n * Refresh Layout if needed\n */\n var _this2$props = _this2.props,\n autoRefreshLayout = _this2$props.autoRefreshLayout,\n layout = _this2$props.layout;\n if (autoRefreshLayout) {\n cy.layout(layout).run();\n }\n }, SELECT_THRESHOLD);\n var sendSelectedNodesData = lodash__WEBPACK_IMPORTED_MODULE_3___default().debounce(function () {\n /**\n This function is repetitively called every time a node is selected\n or unselected, but keeps being debounced if it is called again\n within 100 ms (given by SELECT_THRESHOLD). Effectively, it only\n runs when all the nodes have been correctly selected/unselected and\n added/removed from the selectedNodes collection, and then updates\n the selectedNodeData prop.\n */\n var nodeData = selectedNodes.map(function (el) {\n return el.data();\n });\n _this2.props.setProps({\n selectedNodeData: nodeData\n });\n }, SELECT_THRESHOLD);\n var sendSelectedEdgesData = lodash__WEBPACK_IMPORTED_MODULE_3___default().debounce(function () {\n var edgeData = selectedEdges.map(function (el) {\n return el.data();\n });\n _this2.props.setProps({\n selectedEdgeData: edgeData\n });\n }, SELECT_THRESHOLD);\n var setExtent = lodash__WEBPACK_IMPORTED_MODULE_3___default().debounce(function (cyExtent) {\n _this2.props.setProps({\n extent: cyExtent\n });\n }, EXTENT_THRESHOLD);\n var updateElements = lodash__WEBPACK_IMPORTED_MODULE_3___default().debounce(function () {\n _this2.props.setProps({\n elements: cy.elements('').map(function (item) {\n if (item.json().group === 'nodes') {\n return {\n data: item.json().data,\n position: item.json().position\n };\n }\n return {\n data: item.json().data,\n position: void 0\n };\n })\n });\n }, UPDATE_ELEMENTS_THRESHOLD);\n var resize = lodash__WEBPACK_IMPORTED_MODULE_3___default().debounce(function () {\n cy.resize();\n }, RESIZE_THRESHOLD);\n\n // Store the original maxZoom and minZoom functions\n var originalMaxZoomFn = cy.maxZoom;\n var originalMinZoomFn = cy.minZoom;\n\n // Override the maxZoom function to trigger maxZoomChange custom event\n cy.maxZoom = function (e) {\n var currentMaxZoom = originalMaxZoomFn.call(cy, e);\n\n // Trigger your custom event if the current max zoom level is different from the\n // previously stored max zoom level\n if (currentMaxZoom !== cy._previousMaxZoom) {\n cy._previousMaxZoom = currentMaxZoom;\n cy.trigger('minMaxZoomChange');\n }\n return currentMaxZoom;\n };\n\n // Override the minZoom function to trigger minZoomChange custom event\n cy.minZoom = function (e) {\n var currentMinZoom = originalMinZoomFn.call(cy, e);\n\n // Trigger your custom event if the current min zoom level is different from the\n // previously stored min zoom level\n if (currentMinZoom !== cy._previousMinZoom) {\n cy._previousMinZoom = currentMinZoom;\n cy.trigger('minMaxZoomChange');\n }\n return currentMinZoom;\n };\n\n // /////////////////////////////////////// EVENTS //////////////////////////////////////////\n\n cy.on('tap', 'node', function (event) {\n var nodeObject = _this2.generateNode(event);\n _this2.props.setProps({\n tapNode: nodeObject,\n tapNodeData: Object.assign({}, nodeObject.data, {\n timeStamp: nodeObject.timeStamp\n })\n });\n });\n cy.on('tap', 'edge', function (event) {\n var edgeObject = _this2.generateEdge(event);\n _this2.props.setProps({\n tapEdge: edgeObject,\n tapEdgeData: Object.assign({}, edgeObject.data, {\n timeStamp: edgeObject.timeStamp\n })\n });\n });\n cy.on('mouseover', 'node', function (event) {\n _this2.props.setProps({\n mouseoverNodeData: Object.assign({}, event.target.data(), {\n timeStamp: event.timeStamp\n })\n });\n });\n cy.on('mouseover', 'edge', function (event) {\n _this2.props.setProps({\n mouseoverEdgeData: Object.assign({}, event.target.data(), {\n timeStamp: event.timeStamp\n })\n });\n });\n cy.on('mouseout', 'node', function (_) {\n if (_this2.props.clearOnUnhover === true) {\n _this2.props.setProps({\n mouseoverNodeData: null\n });\n }\n });\n cy.on('mouseout', 'edge', function (_) {\n if (_this2.props.clearOnUnhover === true) {\n _this2.props.setProps({\n mouseoverEdgeData: null\n });\n }\n });\n cy.on('select', 'node', function (event) {\n var ele = event.target;\n selectedNodes.merge(ele);\n sendSelectedNodesData();\n });\n cy.on('unselect remove', 'node', function (event) {\n var ele = event.target;\n selectedNodes.unmerge(ele);\n sendSelectedNodesData();\n });\n cy.on('select', 'edge', function (event) {\n var ele = event.target;\n selectedEdges.merge(ele);\n sendSelectedEdgesData();\n });\n cy.on('unselect remove', 'edge', function (event) {\n var ele = event.target;\n selectedEdges.unmerge(ele);\n sendSelectedEdgesData();\n });\n cy.on('add remove', function () {\n refreshLayout();\n });\n cy.on('dragfree add remove', function (_) {\n updateElements();\n });\n cy.on('resize viewport', function () {\n setExtent(cy.extent());\n });\n cy.on('tapstart', function () {\n resize();\n });\n\n // Refresh layout if current zoom is out of boundaries\n cy.on('minMaxZoomChange', function () {\n var zoom = cy.zoom();\n if (zoom > cy.maxZoom() || zoom < cy.minZoom()) {\n cy.fit();\n }\n });\n this.createMenuItems = function (ctxMenu) {\n var updateContextMenuData = function updateContextMenuData(newContext) {\n _this2.props.setProps({\n contextMenuData: newContext\n });\n };\n var contextMenuDefaultFunctions = {\n remove: function remove(event) {\n var target = event.target || event.cyTarget;\n target.remove();\n },\n add_node: function add_node(event) {\n var pos = event.position || event.cyPosition;\n cy.add({\n data: {\n group: 'nodes'\n },\n position: {\n x: pos.x,\n y: pos.y\n }\n });\n },\n add_edge: function add_edge() {\n var selectedNodeIds = selectedNodes.map(function (node) {\n return node.id();\n });\n if (selectedNodes.length === 0) {\n console.error('Error: No nodes selected, cannot add edge');\n } else if (selectedNodes.length === 1) {\n cy.add({\n data: {\n id: (0,uuid__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(),\n group: 'edges',\n source: selectedNodeIds[0],\n target: selectedNodeIds[0]\n }\n });\n } else if (selectedNodes.length === 2) {\n cy.add({\n data: {\n id: (0,uuid__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(),\n group: 'edges',\n source: selectedNodeIds[0],\n target: selectedNodeIds[1]\n }\n });\n } else {\n console.error('Error: more than 2 nodes selected, cannot add edge');\n }\n }\n };\n var newMenuItems = [];\n var _iterator = _createForOfIteratorHelper(ctxMenu),\n _step;\n try {\n var _loop = function _loop() {\n var item = _step.value;\n var onClickFunction;\n // return data so a user can define a custom on click function in Python\n // if onClick or on onClickCustom are not specified\n onClickFunction = function onClickFunction(event) {\n updateContextMenuData({\n menuItemId: item.id,\n x: event.position.x,\n y: event.position.y,\n timeStamp: event.timeStamp,\n elementId: event.target.data().id,\n edgeSource: event.target.data().source,\n edgeTarget: event.target.data().target\n });\n };\n // use default javascript function as onClickFunction\n if (Object.prototype.hasOwnProperty.call(item, 'onClick')) {\n if (Object.prototype.hasOwnProperty.call(contextMenuDefaultFunctions, item.onClick)) {\n onClickFunction = contextMenuDefaultFunctions[item.onClick];\n } else {\n console.error(\"onClick function \".concat(item.onClick, \" is not defined\"));\n }\n }\n // use user-defined Javascript function in a namespace under assets/ as onClickFunction\n else if (Object.prototype.hasOwnProperty.call(item, 'onClickCustom')) {\n if (Object.prototype.hasOwnProperty.call(window, 'dashCytoscapeFunctions') && Object.prototype.hasOwnProperty.call(window.dashCytoscapeFunctions, item.onClickCustom)) {\n onClickFunction = window.dashCytoscapeFunctions[item.onClickCustom];\n } else {\n console.error(\"onClickCustom function \".concat(item.onClickCustom, \" is not defined\"));\n }\n }\n var new_item = {\n id: item.id,\n content: item.label,\n tooltipText: item.tooltipText,\n selector: '',\n onClickFunction: onClickFunction,\n coreAsWell: false\n };\n if (Object.prototype.hasOwnProperty.call(item, 'availableOn')) {\n var _iterator2 = _createForOfIteratorHelper(item.availableOn),\n _step2;\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var selector = _step2.value;\n if (selector === 'edge') {\n if (new_item.selector.length > 0) {\n new_item.selector = new_item.selector + ', ';\n }\n new_item.selector = new_item.selector + 'edge';\n } else if (selector === 'node') {\n if (new_item.selector.length > 0) {\n new_item.selector = new_item.selector + ', ';\n }\n new_item.selector = new_item.selector + 'node';\n } else if (selector === 'canvas') {\n new_item.coreAsWell = true;\n } else {\n console.error(\"Error: selector \".concat(selector, \" is not available. Choose one of 'node', 'edge' or 'canvas'.\"));\n }\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n }\n newMenuItems.push(new_item);\n };\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n _loop();\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n return newMenuItems;\n };\n this.cyResponsiveClass = new _cyResponsive_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"](cy);\n this.cyResponsiveClass.toggle(this.props.responsive);\n setExtent(cy.extent());\n }\n }, {\n key: \"handleImageGeneration\",\n value: function handleImageGeneration(imageType, imageOptions, actionsToPerform, fileName) {\n var _this3 = this;\n var options = {};\n if (imageOptions) {\n options = imageOptions;\n }\n var desiredOutput = options.output;\n options.output = 'blob';\n var downloadImage;\n var storeImage;\n switch (actionsToPerform) {\n case 'store':\n downloadImage = false;\n storeImage = true;\n break;\n case 'download':\n downloadImage = true;\n storeImage = false;\n break;\n case 'both':\n downloadImage = true;\n storeImage = true;\n break;\n default:\n downloadImage = false;\n storeImage = true;\n break;\n }\n var output;\n if (imageType === 'png') {\n output = this._cy.png(options);\n }\n if (imageType === 'jpg' || imageType === 'jpeg') {\n output = this._cy.jpg(options);\n }\n // only works when svg is imported (see lib/extra_index.js)\n if (imageType === 'svg') {\n output = this._cy.svg(options);\n }\n\n /*\n * If output is empty because of bad options or a cytoscape error,\n * skip any download or storage steps.\n */\n if (output && downloadImage) {\n /*\n * Downloading is initiated client-side because the image is generated at\n * the client. This avoids transferring a potentially large image\n * to the server and back again through a callback.\n */\n var fName = fileName;\n if (!fileName) {\n fName = 'cyto';\n }\n if (imageType !== 'svg') {\n this.downloadBlob(output, fName + '.' + imageType);\n } else {\n var blob = new Blob([output], {\n type: 'image/svg+xml;charset=utf-8'\n });\n this.downloadBlob(blob, fName + '.' + imageType);\n }\n }\n if (output && storeImage) {\n // Default output type if unspecified\n if (!desiredOutput) {\n desiredOutput = 'base64uri';\n }\n if (!(desiredOutput === 'base64uri' || desiredOutput === 'base64')) {\n return;\n }\n\n /*\n * Convert blob to base64uri or base64 string to store the image data.\n * Thank you, base64guru https://base64.guru/developers/javascript/examples/encode-blob\n */\n var reader = new FileReader();\n reader.onload = function () {\n /* FileReader is asynchronous, so the read function is non-blocking.\n * If this code block is placed after the read command, it\n * may result in empty output because the blob has not been loaded yet.\n */\n var callbackData = reader.result;\n if (desiredOutput === 'base64') {\n callbackData = callbackData.replace(/^data:.+;base64,/, '');\n }\n _this3.props.setProps({\n imageData: callbackData\n });\n };\n reader.readAsDataURL(output);\n }\n }\n }, {\n key: \"downloadBlob\",\n value: function downloadBlob(blob, fileName) {\n /*\n * Download blob as file by dynamically creating link.\n * Chrome does not open data URLs when JS opens a new tab directed\n * at the data URL, so this is an alternate implementation\n * that doesn't require extra packages. It may not behave in\n * exactly the same way across browsers (might display image in new tab\n * intead of downloading as a file).\n * Thank you, koldev https://jsfiddle.net/koldev/cW7W5/\n */\n var downloadLink = document.createElement('a');\n downloadLink.style = 'display: none';\n document.body.appendChild(downloadLink);\n var url = window.URL.createObjectURL(blob);\n downloadLink.href = url;\n downloadLink.download = fileName;\n downloadLink.click();\n window.URL.revokeObjectURL(url);\n document.body.removeChild(downloadLink);\n }\n }, {\n key: \"updateContextMenu\",\n value: function updateContextMenu(contextMenu) {\n this._cy.contextMenus({\n menuItems: this.createMenuItems(contextMenu),\n menuItemClasses: ['custom-menu-item']\n });\n }\n\n // Returns true if there is no overlap between the element bounding box\n // and the rendered area of the graph, meaning the graph is entirely outside the viewport;\n // returns false otherwise\n }, {\n key: \"graphOutOfView\",\n value: function graphOutOfView() {\n var cyWidth = this._cy.width();\n var cyHeight = this._cy.height();\n var elBox = this._cy.elements().renderedBoundingbox();\n return elBox.x1 > cyWidth || elBox.y1 > cyHeight || elBox.x2 < 0 || elBox.y2 < 0;\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n var _this$props = this.props,\n contextMenu = _this$props.contextMenu,\n elements = _this$props.elements;\n if (!lodash__WEBPACK_IMPORTED_MODULE_3___default().isEqual(prevProps.contextMenu, contextMenu) && this._cy) {\n this.updateContextMenu(contextMenu);\n }\n if (!lodash__WEBPACK_IMPORTED_MODULE_3___default().isEqual(prevProps.elements, elements) && this._cy) {\n // If elements were updated, and the new graph is *entirely* outside the viewport,\n // fit the viewport to the new elements\n if (this.graphOutOfView()) {\n this._cy.fit();\n }\n }\n }\n }, {\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var contextMenu = this.props.contextMenu;\n if (this._cy && contextMenu.length > 0) {\n this.updateContextMenu(contextMenu);\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props2 = this.props,\n id = _this$props2.id,\n style = _this$props2.style,\n className = _this$props2.className,\n elements = _this$props2.elements,\n stylesheet = _this$props2.stylesheet,\n layout = _this$props2.layout,\n contextMenu = _this$props2.contextMenu,\n contextMenuData = _this$props2.contextMenuData,\n pan = _this$props2.pan,\n zoom = _this$props2.zoom,\n panningEnabled = _this$props2.panningEnabled,\n userPanningEnabled = _this$props2.userPanningEnabled,\n minZoom = _this$props2.minZoom,\n maxZoom = _this$props2.maxZoom,\n zoomingEnabled = _this$props2.zoomingEnabled,\n userZoomingEnabled = _this$props2.userZoomingEnabled,\n wheelSensitivity = _this$props2.wheelSensitivity,\n boxSelectionEnabled = _this$props2.boxSelectionEnabled,\n autoungrabify = _this$props2.autoungrabify,\n autolock = _this$props2.autolock,\n autounselectify = _this$props2.autounselectify,\n generateImage = _this$props2.generateImage,\n responsive = _this$props2.responsive;\n if (Object.keys(generateImage).length > 0) {\n // If no cytoscape object has been created yet, an image cannot be generated,\n // so generateImage will be ignored and cleared.\n this.props.setProps({\n generateImage: {}\n });\n if (this._cy) {\n this.handleImageGeneration(generateImage.type, generateImage.options, generateImage.action, generateImage.filename);\n }\n }\n if (this.cyResponsiveClass) {\n this.cyResponsiveClass.toggle(responsive);\n }\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(react_cytoscapejs__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n id: id,\n cy: this.handleCy,\n className: className,\n style: style,\n elements: react_cytoscapejs__WEBPACK_IMPORTED_MODULE_2__[\"default\"].normalizeElements(elements),\n stylesheet: stylesheet,\n layout: layout,\n contextMenu: contextMenu,\n contextMenuData: contextMenuData,\n pan: pan,\n zoom: zoom,\n panningEnabled: panningEnabled,\n userPanningEnabled: userPanningEnabled,\n minZoom: minZoom,\n maxZoom: maxZoom,\n zoomingEnabled: zoomingEnabled,\n userZoomingEnabled: userZoomingEnabled,\n wheelSensitivity: wheelSensitivity,\n boxSelectionEnabled: boxSelectionEnabled,\n autoungrabify: autoungrabify,\n autolock: autolock,\n autounselectify: autounselectify\n });\n }\n }]);\n return Cytoscape;\n}(react__WEBPACK_IMPORTED_MODULE_1__.Component);\nCytoscape.propTypes = {\n // HTML attribute props\n\n /**\n * The ID used to identify this component in Dash callbacks.\n */\n id: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /**\n * Sets the class name of the element (the value of an element's html\n * class attribute).\n */\n className: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /**\n * Add inline styles to the root element.\n */\n style: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n // Dash specific props\n\n /**\n * Dash-assigned callback that should be called whenever any of the\n * properties change.\n */\n setProps: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().func),\n // Common props\n\n /**\n * A list of dictionaries representing the elements of the networks. Each dictionary describes an element, and\n * specifies its purpose. The [official Cytoscape.js documentation](https://js.cytoscape.org/#notation/elements-json)\n * offers an extensive overview and examples of element declaration.\n * Alternatively, a dictionary with the format { 'nodes': [], 'edges': [] } is allowed at initialization,\n * but arrays remain the recommended format.\n */\n elements: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_8___default().arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_8___default().shape({\n /**\n * Either 'nodes' or 'edges'. If not given, it's automatically inferred.\n */\n group: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** Element specific data.*/\n data: prop_types__WEBPACK_IMPORTED_MODULE_8___default().shape({\n /** Reference to the element, useful for selectors and edges. Randomly assigned if not given.*/\n id: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /**\n * Optional name for the element, useful when `data(label)` is given to a style's `content`\n * or `label`. It is only a convention. */\n label: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** Only for nodes. Optional reference to another node. Needed to create compound nodes. */\n parent: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** Only for edges. The id of the source node, which is where the edge starts. */\n source: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** Only for edges. The id of the target node, where the edge ends. */\n target: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string)\n }),\n /** Only for nodes. The position of the node. */\n position: prop_types__WEBPACK_IMPORTED_MODULE_8___default().shape({\n /** The x-coordinate of the node. */\n x: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /** The y-coordinate of the node. */\n y: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number)\n }),\n /** If the element is selected upon initialisation. */\n selected: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** If the element can be selected. */\n selectable: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Only for nodes. If the position is immutable. */\n locked: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Only for nodes. If the node can be grabbed and moved by the user. */\n grabbable: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * Space separated string of class names of the element. Those classes can be selected\n * by a style selector.\n */\n classes: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string)\n })), prop_types__WEBPACK_IMPORTED_MODULE_8___default().exact({\n nodes: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array),\n edges: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array)\n })]),\n /**\n * A list of dictionaries representing the styles of the elements.\n * Each dictionary requires the following keys: `selector` and `style`.\n *\n * Both the [selector](https://js.cytoscape.org/#selectors) and\n * the [style](https://js.cytoscape.org/#style/node-body) are\n * exhaustively documented in the Cytoscape.js docs. Although methods such\n * as `cy.elements(...)` and `cy.filter(...)` are not available, the selector\n * string syntax stays the same.\n */\n stylesheet: prop_types__WEBPACK_IMPORTED_MODULE_8___default().arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_8___default().exact({\n /**\n * Which elements you are styling. Generally, you select a group of elements (node, edges, both),\n * a class (that you declare in the element dictionary), or an element by ID.\n */\n selector: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string).isRequired,\n /**\n * What aspects of the elements you want to modify. This could be the size or\n * color of a node, the shape of an edge arrow, or many more.\n */\n style: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object).isRequired\n })),\n /**\n * A dictionary specifying how to set the position of the elements in your\n * graph. The `'name'` key is required, and indicates which layout (algorithm) to\n * use. The keys accepted by `layout` vary depending on the algorithm, but these\n * keys are accepted by all layouts: `fit`, `padding`, `animate`, `animationDuration`,\n * `boundingBox`.\n *\n * The complete list of layouts and their accepted options are available on the\n * [Cytoscape.js docs](https://js.cytoscape.org/#layouts) . For the external layouts,\n * the options are listed in the \"API\" section of the README.\n * Note that certain keys are not supported in Dash since the value is a JavaScript\n * function or a callback. Please visit this\n * [issue](https://github.com/plotly/dash-cytoscape/issues/25) for more information.\n */\n layout: prop_types__WEBPACK_IMPORTED_MODULE_8___default().shape({\n /**\n * The layouts available by default are:\n * `random`: Randomly assigns positions.\n * `preset`: Assigns position based on the `position` key in element dictionaries.\n * `circle`: Single-level circle, with optional radius.\n * `concentric`: Multi-level circle, with optional radius.\n * `grid`: Square grid, optionally with numbers of `rows` and `cols`.\n * `breadthfirst`: Tree structure built using BFS, with optional `roots`.\n * `cose`: Force-directed physics simulation.\n *\n * Some external layouts are also included. To use them, run\n * `dash_cytoscape.load_extra_layouts()` before creating your Dash app. Be careful about\n * using the extra layouts when not necessary, since they require supplementary bandwidth\n * for loading, which impacts the startup time of the app.\n * The external layouts are:\n * [cose-bilkent](https://github.com/cytoscape/cytoscape.js-cose-bilkent),\n * [fcose](https://github.com/iVis-at-Bilkent/cytoscape.js-fcose),\n * [cola](https://github.com/cytoscape/cytoscape.js-cola),\n * [euler](https://github.com/cytoscape/cytoscape.js-dagre),\n * [spread](https://github.com/cytoscape/cytoscape.js-spread),\n * [dagre](https://github.com/cytoscape/cytoscape.js-dagre),\n * [klay](https://github.com/cytoscape/cytoscape.js-klay),\n */\n name: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOf(['random', 'preset', 'circle', 'concentric', 'grid', 'breadthfirst', 'cose', 'cose-bilkent', 'fcose', 'cola', 'euler', 'spread', 'dagre', 'klay']).isRequired,\n /** Whether to render the nodes in order to fit the canvas. */\n fit: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Padding around the sides of the canvas, if fit is enabled. */\n padding: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /** Whether to animate change in position when the layout changes. */\n animate: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Duration of animation in milliseconds, if enabled. */\n animationDuration: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /**\n * How to constrain the layout in a specific area. Keys accepted are either\n * `x1, y1, x2, y2` or `x1, y1, w, h`, all of which receive a pixel value.\n */\n boundingBox: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object)\n }),\n /**\n * Define a custom context menu. The behaviour of each menu item can be defined in 1 of 3 ways.\n * 1. By passing a string to onClick that refers to one of the built-in Javascript functions.\n * 2. By passing a string to onClickCustom that refers to one of the user-defined functions in a namespace.\n * 3. By omitting both of these properties; this will update the contextMenuData property and trigger a Dash callback.\n */\n contextMenu: prop_types__WEBPACK_IMPORTED_MODULE_8___default().arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_8___default().exact({\n /** ID of the menu item in the context menu */\n id: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string).isRequired,\n /** The label on the context menu item*/\n label: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string).isRequired,\n /** The tooltip text when hovering on top of a context menu item */\n tooltipText: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** A list containing either 'node', 'edge',and/or 'canvas'. This will determine where the context\n * menu item will show up.\n */\n availableOn: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array),\n /** Specify which built-in JavaScript function to use as behaviour for the context\n * menu item. One of 'remove', 'add_node', or 'add_edge'\n */\n onClick: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** Specify which user-defined Javascript function to use in the dashCytoscapeFunctions\n * namespace as behaviour for the context menu item\n */\n onClickCustom: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string)\n })),\n /**\n * Retrieve relevant data when a context menu item is clicked. Read-only.\n */\n contextMenuData: prop_types__WEBPACK_IMPORTED_MODULE_8___default().exact({\n /** ID of the menu item in the context menu */\n menuItemId: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** x-position of the context click */\n x: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /** y-position of the context click */\n y: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /** Timestamp of context click*/\n timeStamp: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /** Element ID on context click if the context click was on an element.\n * If context click was on white space, this property is not returned\n */\n elementId: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** Node ID of the edge source if the clicked element is an edge,\n * or else this property is not returned*/\n edgeSource: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** Node ID of the edge target if the clicked element is an edge,\n * or else this property is not returned*/\n edgeTarget: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string)\n }),\n // Viewport Manipulation\n\n /**\n * Dictionary indicating the initial panning position of the graph. The\n * following keys are accepted:\n */\n pan: prop_types__WEBPACK_IMPORTED_MODULE_8___default().exact({\n /** The x-coordinate of the node */\n x: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /** The y-coordinate of the node */\n y: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number)\n }),\n /**\n * The initial zoom level of the graph. You can set `minZoom` and\n * `maxZoom` to set restrictions on the zoom level.\n */\n zoom: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n // Viewport Mutability and gesture Toggling\n /**\n * Whether panning the graph is enabled (i.e., the position of the graph is\n * mutable overall).\n */\n panningEnabled: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * Whether user events (e.g. dragging the graph background) are allowed to\n * pan the graph.\n */\n userPanningEnabled: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * A minimum bound on the zoom level of the graph. The viewport can not be\n * scaled smaller than this zoom level.\n */\n minZoom: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /**\n * A maximum bound on the zoom level of the graph. The viewport can not be\n * scaled larger than this zoom level.\n */\n maxZoom: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /**\n * Whether zooming the graph is enabled (i.e., the zoom level of the graph\n * is mutable overall).\n */\n zoomingEnabled: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * Whether user events (e.g. dragging the graph background) are allowed\n * to pan the graph.\n */\n userZoomingEnabled: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * Changes the scroll wheel sensitivity when zooming.\n */\n wheelSensitivity: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /**\n * Whether box selection (i.e. drag a box overlay around, and release it\n * to select) is enabled. If enabled, the user must taphold to pan the graph.\n */\n boxSelectionEnabled: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * Whether nodes should be ungrabified (not grabbable by user) by\n * default (if true, overrides individual node state).\n */\n autoungrabify: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * Whether nodes should be locked (not draggable at all) by default\n * (if true, overrides individual node state).\n */\n autolock: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * Whether nodes should be unselectified (immutable selection state) by\n * default (if true, overrides individual element state).\n */\n autounselectify: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * Whether the layout should be refreshed when elements are added or removed.\n */\n autoRefreshLayout: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n // User Events Props\n\n /**\n * The complete node dictionary returned when you tap or click it. Read-only.\n */\n tapNode: prop_types__WEBPACK_IMPORTED_MODULE_8___default().exact({\n /** node specific item */\n edgesData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array),\n /** node specific item */\n renderedPosition: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** node specific item */\n timeStamp: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /** General item (for all elements) */\n classes: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** General item (for all elements) */\n data: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** General item (for all elements) */\n grabbable: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** General item (for all elements) */\n group: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** General item (for all elements) */\n locked: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** General item (for all elements) */\n position: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** General item (for all elements) */\n selectable: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** General item (for all elements) */\n selected: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** General item (for all elements) */\n style: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** Item for compound nodes */\n ancestorsData: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_8___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array)]),\n /** Item for compound nodes */\n childrenData: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_8___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array)]),\n /** Item for compound nodes */\n descendantsData: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_8___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array)]),\n /** Item for compound nodes */\n parentData: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_8___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array)]),\n /** Item for compound nodes */\n siblingsData: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_8___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array)]),\n /** Item for compound nodes */\n isParent: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Item for compound nodes */\n isChildless: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Item for compound nodes */\n isChild: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Item for compound nodes */\n isOrphan: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Item for compound nodes */\n relativePosition: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object)\n }),\n /**\n * The data dictionary of a node returned when you tap or click it. Read-only.\n */\n tapNodeData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /**\n * The complete edge dictionary returned when you tap or click it. Read-only.\n */\n tapEdge: prop_types__WEBPACK_IMPORTED_MODULE_8___default().exact({\n /** Edge-specific item */\n isLoop: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Edge-specific item */\n isSimple: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Edge-specific item */\n midpoint: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** Edge-specific item */\n sourceData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** Edge-specific item */\n sourceEndpoint: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** Edge-specific item */\n targetData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** Edge-specific item */\n targetEndpoint: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** Edge-specific item */\n timeStamp: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /** General item (for all elements) */\n classes: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** General item (for all elements) */\n data: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** General item (for all elements) */\n grabbable: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** General item (for all elements) */\n group: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** General item (for all elements) */\n locked: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** General item (for all elements) */\n selectable: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** General item (for all elements) */\n selected: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** General item (for all elements) */\n style: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object)\n }),\n /**\n * The data dictionary of an edge returned when you tap or click it. Read-only.\n */\n tapEdgeData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /**\n * The data dictionary of a node returned when you hover over it. Read-only.\n */\n mouseoverNodeData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /**\n * The data dictionary of an edge returned when you hover over it. Read-only.\n */\n mouseoverEdgeData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /**\n * The list of data dictionaries of all selected nodes (e.g. using\n * Shift+Click to select multiple nodes, or Shift+Drag to use box selection). Read-only.\n */\n selectedNodeData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array),\n /**\n * The list of data dictionaries of all selected edges (e.g. using\n * Shift+Click to select multiple nodes, or Shift+Drag to use box selection). Read-only.\n */\n selectedEdgeData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array),\n /**\n * Dictionary specifying options to generate an image of the current cytoscape graph.\n * Value is cleared after data is received and image is generated. This property will\n * be ignored on the initial creation of the cytoscape object and must be invoked through\n * a callback after it has been rendered.\n *\n * If the app does not need the image data server side and/or it will only be used to download\n * the image, it may be prudent to invoke `'download'` for `action` instead of\n * `'store'` to improve performance by preventing transfer of data to the server.\n */\n generateImage: prop_types__WEBPACK_IMPORTED_MODULE_8___default().shape({\n /** File type to output */\n type: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOf(['svg', 'png', 'jpg', 'jpeg']),\n /** Dictionary of options to cy.png() / cy.jpg() or cy.svg() for image generation.\n * See https://js.cytoscape.org/#core/export for details. For `'output'`, only 'base64'\n * and 'base64uri' are supported. Default: `{'output': 'base64uri'}`.*/\n options: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /**\n * `'store'`: Stores the image data (only jpg and png are supported)\n * in `imageData` and invokes server-side Dash callbacks. `'download'`: Downloads the image\n * as a file with all data handling done client-side. No `imageData` callbacks are fired.\n * `'both'`: Stores image data and downloads image as file. The default is `'store'`\n */\n action: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOf(['store', 'download', 'both']),\n /** Name for the file to be downloaded. Default: 'cyto'.*/\n filename: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string)\n }),\n /**\n * String representation of the image requested with generateImage. Null if no\n * image was requested yet or the previous request failed. Read-only.\n */\n imageData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /**\n * Toggles intelligent responsive resize of Cytoscape graph with viewport size change\n */\n responsive: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * Extent of the viewport, a bounding box in model co-ordinates that lets you know what model\n * positions are visible in the viewport. This function returns a plain object bounding box\n * with format { x1, y1, x2, y2, w, h }.\n */\n extent: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /**\n * If set to True, mouseoverNodeData and mouseoverEdgeData will be cleared on unhover.\n * If set to False, the value of mouseoverNodeData and mouseoverEdgeData will be the last\n * Node or Edge hovered over\n */\n clearOnUnhover: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool)\n};\nCytoscape.defaultProps = {\n style: {\n width: '600px',\n height: '600px'\n },\n layout: {\n name: 'grid'\n },\n pan: {\n x: 0,\n y: 0\n },\n zoom: 1,\n minZoom: 1e-50,\n maxZoom: 1e50,\n zoomingEnabled: true,\n userZoomingEnabled: true,\n panningEnabled: true,\n userPanningEnabled: true,\n wheelSensitivity: 1,\n boxSelectionEnabled: false,\n autolock: false,\n autoungrabify: false,\n autounselectify: false,\n autoRefreshLayout: true,\n generateImage: {},\n imageData: null,\n responsive: false,\n clearOnUnhover: false,\n elements: [],\n contextMenu: []\n};\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Cytoscape);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvbGliL2NvbXBvbmVudHMvQ3l0b3NjYXBlLnJlYWN0LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNxQztBQUNFO0FBQ0o7QUFDZ0I7QUFDNUI7QUFDVztBQUNZOztBQUU5QztBQUNnQztBQUVoQyxJQUFNUSxTQUFTLEdBQUdDLG1CQUFPLENBQUMsaUVBQVcsQ0FBQztBQUN0QyxJQUFNQyxZQUFZLEdBQUdELG1CQUFPLENBQUMsa0dBQXlCLENBQUM7O0FBRXZEO0FBQ29DOztBQUVwQztBQUNBQyxZQUFZLENBQUNGLFNBQVMsQ0FBQztBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUhBLElBSU1HLFNBQVMsMEJBQUFDLFVBQUE7RUFBQUMsU0FBQSxDQUFBRixTQUFBLEVBQUFDLFVBQUE7RUFDWCxTQUFBRCxVQUFZRyxLQUFLLEVBQUU7SUFBQSxJQUFBQyxLQUFBO0lBQUFDLGVBQUEsT0FBQUwsU0FBQTtJQUNmSSxLQUFBLEdBQUFFLFVBQUEsT0FBQU4sU0FBQSxHQUFNRyxLQUFLO0lBRVhDLEtBQUEsQ0FBS0csUUFBUSxHQUFHSCxLQUFBLENBQUtHLFFBQVEsQ0FBQ0MsSUFBSSxDQUFBQyxzQkFBQSxDQUFBTCxLQUFBLENBQUssQ0FBQztJQUN4Q0EsS0FBQSxDQUFLTSxlQUFlLEdBQUcsS0FBSztJQUM1Qk4sS0FBQSxDQUFLTyxxQkFBcUIsR0FBR1AsS0FBQSxDQUFLTyxxQkFBcUIsQ0FBQ0gsSUFBSSxDQUFBQyxzQkFBQSxDQUFBTCxLQUFBLENBQUssQ0FBQztJQUNsRUEsS0FBQSxDQUFLUSxpQkFBaUIsR0FBRyxLQUFLO0lBQUMsT0FBQVIsS0FBQTtFQUNuQztFQUFDUyxZQUFBLENBQUFiLFNBQUE7SUFBQWMsR0FBQTtJQUFBQyxLQUFBLEVBRUQsU0FBQUMsYUFBYUMsS0FBSyxFQUFFO01BQ2hCLElBQU1DLEdBQUcsR0FBR0QsS0FBSyxDQUFDRSxNQUFNO01BRXhCLElBQU1D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QU8sQ0FBQztFQUN4Qy9JLE1BQU0sRUFBRTtJQUFDNEwsSUFBSSxFQUFFO0VBQU0sQ0FBQztFQUN0QjdCLEdBQUcsRUFBRTtJQUFDekcsQ0FBQyxFQUFFLENBQUM7SUFBRUMsQ0FBQyxFQUFFO0VBQUMsQ0FBQztFQUNqQmYsSUFBSSxFQUFFLENBQUM7RUFDUHBCLE9BQU8sRUFBRSxLQUFLO0VBQ2RGLE9BQU8sRUFBRSxJQUFJO0VBQ2JnSixjQUFjLEVBQUUsSUFBSTtFQUNwQkMsa0JBQWtCLEVBQUUsSUFBSTtFQUN4QkgsY0FBYyxFQUFFLElBQUk7RUFDcEJDLGtCQUFrQixFQUFFLElBQUk7RUFDeEJHLGdCQUFnQixFQUFFLENBQUM7RUFDbkJDLG1CQUFtQixFQUFFLEtBQUs7RUFDMUJFLFFBQVEsRUFBRSxLQUFLO0VBQ2ZELGFBQWEsRUFBRSxLQUFLO0VBQ3BCRSxlQUFlLEVBQUUsS0FBSztFQUN0QnpLLGlCQUFpQixFQUFFLElBQUk7RUFDdkIwSyxhQUFhLEVBQUUsQ0FBQyxDQUFDO0VBQ2pCakQsU0FBUyxFQUFFLElBQUk7RUFDZnpCLFVBQVUsRUFBRSxLQUFLO0VBQ2pCMUQsY0FBYyxFQUFFLEtBQUs7RUFDckJ2QixRQUFRLEVBQUUsRUFBRTtFQUNaMEgsV0FBVyxFQUFFO0FBQ2pCLENBQUM7QUFFRCxpRUFBZXROLFNBQVMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX2N5dG9zY2FwZS8uL3NyYy9saWIvY29tcG9uZW50cy9DeXRvc2NhcGUucmVhY3QuanM/NjQyYyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEphdmFTY3JpcHQgUmVxdWlyZW1lbnRzOiBjeXRvc2NhcGUsIGN5dG9zY2FwZS1zdmdcbiAqIFJlYWN0LmpzIHJlcXVpcmVtZW50czogcmVhY3QtY3l0b3NjYXBlanNcbiAqL1xuaW1wb3J0ICcvc3JjL2Fzc2V0cy9jb250ZXh0bWVudS5jc3MnO1xuaW1wb3J0IFJlYWN0LCB7Q29tcG9uZW50fSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IEN5dG9zY2FwZUNvbXBvbmVudCBmcm9tICdyZWFjdC1jeXRvc2NhcGVqcyc7XG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHt2NCBhcyB1dWlkdjR9IGZyb20gJ3V1aWQnO1xuaW1wb3J0IEN5UmVzcG9uc2l2ZSBmcm9tICcuLi9jeVJlc3BvbnNpdmUuanMnO1xuXG4vLyBQb2x5ZmlsbCBzbyB0aGF0IGNvbnRleHQgbWVudSBleHRlbnNpb24gd29ya3MgaW4gU2FmYXJpXG5pbXBvcnQgJ0B1bmdhcC9jdXN0b20tZWxlbWVudHMnO1xuXG5jb25zdCBjeXRvc2NhcGUgPSByZXF1aXJlKCdjeXRvc2NhcGUnKTtcbmNvbnN0IGNvbnRleHRNZW51cyA9IHJlcXVpcmUoJ2N5dG9zY2FwZS1jb250ZXh0LW1lbnVzJyk7XG5cbi8vIENsaWVudHNpZGUgY2FsbGJhY2sgZnVuY3Rpb25zIGZvciBDeUxlYWZsZXQgQUlPIGNvbXBvbmVudFxuaW1wb3J0ICcuLi9jeWxlYWZsZXRfY2xpZW50c2lkZS5qcyc7XG5cbi8vIHJlZ2lzdGVyIGV4dGVuc2lvblxuY29udGV4dE1lbnVzKGN5dG9zY2FwZSk7XG4vKipcbiAqIEEgQ29tcG9uZW50IExpYnJhcnkgZm9yIERhc2ggYWltZWQgYXQgZmFjaWxpdGF0aW5nIG5ldHdvcmsgdmlzdWFsaXphdGlvbiBpblxuICogUHl0aG9uLCB3cmFwcGVkIGFyb3VuZCBbQ3l0b3NjYXBlLmpzXShodHRwOi8vanMuY3l0b3NjYXBlLm9yZy8pLlxuICovXG5jbGFzcyBDeXRvc2NhcGUgZXh0ZW5kcyBDb21wb25lbnQge1xuICAgIGNvbnN0cnVjdG9yKHByb3BzKSB7XG4gICAgICAgIHN1cGVyKHByb3BzKTtcblxuICAgICAgICB0aGlzLmhhbmRsZUN5ID0gdGhpcy5oYW5kbGVDeS5iaW5kKHRoaXMpO1xuICAgICAgICB0aGlzLl9oYW5kbGVDeUNhbGxlZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLmhhbmRsZUltYWdlR2VuZXJhdGlvbiA9IHRoaXMuaGFuZGxlSW1hZ2VHZW5lcmF0aW9uLmJpbmQodGhpcyk7XG4gICAgICAgIHRoaXMuY3lSZXNwb25zaXZlQ2xhc3MgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBnZW5lcmF0ZU5vZGUoZXZlbnQpIHtcbiAgICAgICAgY29uc3QgZWxlID0gZXZlbnQudGFyZ2V0O1xuXG4gICAgICAgIGNvbnN0IGlzUGFyZW50ID0gZWxlLmlzUGFyZW50KCksXG4gICAgICAgICAgICBpc0NoaWxkbGVzcyA9IGVsZS5pc0NoaWxkbGVzcygpLFxuICAgICAgICAgICAgaXNDaGlsZCA9IGVsZS5pc0NoaWxkKCksXG4gICAgICAgICAgICBpc09ycGhhbiA9IGVsZS5pc09ycGhhbigpLFxuICAgICAgICAgICAgcmVuZGVyZWRQb3NpdGlvbiA9IGVsZS5yZW5kZXJlZFBvc2l0aW9uKCksXG4gICAgICAgICAgICByZWxhdGl2ZVBvc2l0aW9uID0gZWxlLnJlbGF0aXZlUG9zaXRpb24oKSxcbiAgICAgICAgICAgIHBhcmVudCA9IGVsZS5wYXJlbnQoKSxcbiAgICAgICAgICAgIHN0eWxlID0gZWxlLnN0eWxlKCk7XG5cbiAgICAgICAgLy8gVHJpbSBkb3duIHRoZSBlbGVtZW50IG9iamVjdHMgdG8gb25seSB0aGUgZGF0YSBjb250YWluZWRcbiAgICAgICAgY29uc3QgZWRnZXNEYXRhID0gZWxlLmNvbm5lY3RlZEVkZ2VzKCkubWFwKChlbGUpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBlbGUuZGF0YSgpO1xuICAgICAgICB9KTtcbiAgICAgICAgY29uc3QgY2hpbGRyZW5EYXRhID0gZWxlLmNoaWxkcmVuKCkubWFwKChlbGUpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBlbGUuZGF0YSgpO1xuICAgICAgICB9KTtcbiAgICAgICAgY29uc3QgYW5jZXN0b3JzRGF0YSA9IGVsZS5hbmNlc3RvcnMoKS5tYXAoKGVsZSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGVsZS5kYXRhKCk7XG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBkZXNjZW5kYW50c0RhdGEgPSBlbGUuZGVzY2VuZGFudHMoKS5tYXAoKGVsZSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGVsZS5kYXRhKCk7XG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBzaWJsaW5nc0RhdGEgPSBlbGUuc2libGluZ3MoKS5tYXAoKGVsZSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGVsZS5kYXRhKCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IHt0aW1lU3RhbXB9ID0gZXZlbnQ7XG4gICAgICAgIGNvbnN0IHtcbiAgICAgICAgICAgIGNsYXNzZXMsXG4gICAgICAgICAgICBkYXRhLFxuICAgICAgICAgICAgZ3JhYmJhYmxlLFxuICAgICAgICAgICAgZ3JvdXAsXG4gICAgICAgICAgICBsb2NrZWQsXG4gICAgICAgICAgICBwb3NpdGlvbixcbiAgICAgICAgICAgIHNlbGVjdGVkLFxuICAgICAgICAgICAgc2VsZWN0YWJsZSxcbiAgICAgICAgfSA9IGVsZS5qc29uKCk7XG5cbiAgICAgICAgbGV0IHBhcmVudERhdGE7XG4gICAgICAgIGlmIChwYXJlbnQpIHtcbiAgICAgICAgICAgIHBhcmVudERhdGEgPSBwYXJlbnQuZGF0YSgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcGFyZW50RGF0YSA9IG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBub2RlT2JqZWN0ID0ge1xuICAgICAgICAgICAgLy8gTm9kZXMgYXR0cmlidXRlc1xuICAgICAgICAgICAgZWRnZXNEYXRhLFxuICAgICAgICAgICAgcmVuZGVyZWRQb3NpdGlvbixcbiAgICAgICAgICAgIHRpbWVTdGFtcCxcbiAgICAgICAgICAgIC8vIEZyb20gZWxlLmpzb24oKVxuICAgICAgICAgICAgY2xhc3NlcyxcbiAgICAgICAgICAgIGRhdGEsXG4gICAgICAgICAgICBncmFiYmFibGUsXG4gICAgICAgICAgICBncm91cCxcbiAgICAgICAgICAgIGxvY2tlZCxcbiAgICAgICAgICAgIHBvc2l0aW9uLFxuICAgICAgICAgICAgc2VsZWN0YWJsZSxcbiAgICAgICAgICAgIHNlbGVjdGVkLFxuICAgICAgICAgICAgLy8gQ29tcG91bmQgTm9kZXMgYWRkaXRpb25hbCBhdHRyaWJ1dGVzXG4gICAgICAgICAgICBhbmNlc3RvcnNEYXRhLFxuICAgICAgICAgICAgY2hpbGRyZW5EYXRhLFxuICAgICAgICAgICAgZGVzY2VuZGFudHNEYXRhLFxuICAgICAgICAgICAgcGFyZW50RGF0YSxcbiAgICAgICAgICAgIHNpYmxpbmdzRGF0YSxcbiAgICAgICAgICAgIGlzUGFyZW50LFxuICAgICAgICAgICAgaXNDaGlsZGxlc3MsXG4gICAgICAgICAgICBpc0NoaWxkLFxuICAgICAgICAgICAgaXNPcnBoYW4sXG4gICAgICAgICAgICByZWxhdGl2ZVBvc2l0aW9uLFxuICAgICAgICAgICAgLy8gU3R5bGluZ1xuICAgICAgICAgICAgc3R5bGUsXG4gICAgICAgIH07XG4gICAgICAgIHJldHVybiBub2RlT2JqZWN0O1xuICAgIH1cblxuICAgIGdlbmVyYXRlRWRnZShldmVudCkge1xuICAgICAgICBjb25zdCBlbGUgPSBldmVudC50YXJnZXQ7XG5cbiAgICAgICAgY29uc3QgbWlkcG9pbnQgPSBlbGUubWlkcG9pbnQoKSxcbiAgICAgICAgICAgIGlzTG9vcCA9IGVsZS5pc0xvb3AoKSxcbiAgICAgICAgICAgIGlzU2ltcGxlID0gZWxlLmlzU2ltcGxlKCksXG4gICAgICAgICAgICBzb3VyY2VEYXRhID0gZWxlLnNvdXJjZSgpLmRhdGEoKSxcbiAgICAgICAgICAgIHNvdXJjZUVuZHBvaW50ID0gZWxlLnNvdXJjZUVuZHBvaW50KCksXG4gICAgICAgICAgICBzdHlsZSA9IGVsZS5zdHlsZSgpLFxuICAgICAgICAgICAgdGFyZ2V0RGF0YSA9IGVsZS50YXJnZXQoKS5kYXRhKCksXG4gICAgICAgICAgICB0YXJnZXRFbmRwb2ludCA9IGVsZS50YXJnZXRFbmRwb2ludCgpO1xuXG4gICAgICAgIGNvbnN0IHt0aW1lU3RhbXB9ID0gZXZlbnQ7XG4gICAgICAgIGNvbnN0IHtjbGFzc2VzLCBkYXRhLCBncmFiYmFibGUsIGdyb3VwLCBsb2NrZWQsIHNlbGVjdGFibGUsIHNlbGVjdGVkfSA9XG4gICAgICAgICAgICBlbGUuanNvbigpO1xuXG4gICAgICAgIGNvbnN0IGVkZ2VPYmplY3QgPSB7XG4gICAgICAgICAgICAvLyBFZGdlcyBhdHRyaWJ1dGVzXG4gICAgICAgICAgICBpc0xvb3AsXG4gICAgICAgICAgICBpc1NpbXBsZSxcbiAgICAgICAgICAgIG1pZHBvaW50LFxuICAgICAgICAgICAgc291cmNlRGF0YSxcbiAgICAgICAgICAgIHNvdXJjZUVuZHBvaW50LFxuICAgICAgICAgICAgdGFyZ2V0RGF0YSxcbiAgICAgICAgICAgIHRhcmdldEVuZHBvaW50LFxuICAgICAgICAgICAgdGltZVN0YW1wLFxuICAgICAgICAgICAgLy8gRnJvbSBlbGUuanNvbigpXG4gICAgICAgICAgICBjbGFzc2VzLFxuICAgICAgICAgICAgZGF0YSxcbiAgICAgICAgICAgIGdyYWJiYWJsZSxcbiAgICAgICAgICAgIGdyb3VwLFxuICAgICAgICAgICAgbG9ja2VkLFxuICAgICAgICAgICAgc2VsZWN0YWJsZSxcbiAgICAgICAgICAgIHNlbGVjdGVkLFxuICAgICAgICAgICAgLy8gU3R5bGluZ1xuICAgICAgICAgICAgc3R5bGUsXG4gICAgICAgIH07XG5cbiAgICAgICAgcmV0dXJuIGVkZ2VPYmplY3Q7XG4gICAgfVxuXG4gICAgaGFuZGxlQ3koY3kpIHtcbiAgICAgICAgLy8gSWYgdGhlIGN5IHBvaW50ZXIgaGFzIG5vdCBiZWVuIG1vZGlmaWVkLCBhbmQgaGFuZGxlQ3kgaGFzIGFscmVhZHlcbiAgICAgICAgLy8gYmVlbiBjYWxsZWQgYmVmb3JlLCB0aGFuIHdlIGRvbid0IHJ1biB0aGlzIGZ1bmN0aW9uLlxuICAgICAgICBpZiAoY3kgPT09IHRoaXMuX2N5ICYmIHRoaXMuX2hhbmRsZUN5Q2FsbGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fY3kgPSBjeTtcbiAgICAgICAgd2luZG93LmN5ID0gY3k7XG4gICAgICAgIHRoaXMuX2hhbmRsZUN5Q2FsbGVkID0gdHJ1ZTtcblxuICAgICAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vIENPTlNUQU5UUyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgICAgICBjb25zdCBTRUxFQ1RfVEhSRVNIT0xEID0gMTAwO1xuICAgICAgICBjb25zdCBFWFRFTlRfVEhSRVNIT0xEID0gNTtcbiAgICAgICAgY29uc3QgVVBEQVRFX0VMRU1FTlRTX1RIUkVTSE9MRCA9IDEwMDtcbiAgICAgICAgY29uc3QgUkVTSVpFX1RIUkVTSE9MRCA9IDUwO1xuXG4gICAgICAgIGNvbnN0IHNlbGVjdGVkTm9kZXMgPSBjeS5jb2xsZWN0aW9uKCk7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkRWRnZXMgPSBjeS5jb2xsZWN0aW9uKCk7XG5cbiAgICAgICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyBGVU5DVElPTlMgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAgICAgY29uc3QgcmVmcmVzaExheW91dCA9IF8uZGVib3VuY2UoKCkgPT4ge1xuICAgICAgICAgICAgLyoqXG4gICAgICAgICAgICAgKiBSZWZyZXNoIExheW91dCBpZiBuZWVkZWRcbiAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgY29uc3Qge2F1dG9SZWZyZXNoTGF5b3V0LCBsYXlvdXR9ID0gdGhpcy5wcm9wcztcblxuICAgICAgICAgICAgaWYgKGF1dG9SZWZyZXNoTGF5b3V0KSB7XG4gICAgICAgICAgICAgICAgY3kubGF5b3V0KGxheW91dCkucnVuKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sIFNFTEVDVF9USFJFU0hPTEQpO1xuXG4gICAgICAgIGNvbnN0IHNlbmRTZWxlY3RlZE5vZGVzRGF0YSA9IF8uZGVib3VuY2UoKCkgPT4ge1xuICAgICAgICAgICAgLyoqXG4gICAgICAgICAgICAgICBUaGlzIGZ1bmN0aW9uIGlzIHJlcGV0aXRpdmVseSBjYWxsZWQgZXZlcnkgdGltZSBhIG5vZGUgaXMgc2VsZWN0ZWRcbiAgICAgICAgICAgICAgIG9yIHVuc2VsZWN0ZWQsIGJ1dCBrZWVwcyBiZWluZyBkZWJvdW5jZWQgaWYgaXQgaXMgY2FsbGVkIGFnYWluXG4gICAgICAgICAgICAgICB3aXRoaW4gMTAwIG1zIChnaXZlbiBieSBTRUxFQ1RfVEhSRVNIT0xEKS4gRWZmZWN0aXZlbHksIGl0IG9ubHlcbiAgICAgICAgICAgICAgIHJ1bnMgd2hlbiBhbGwgdGhlIG5vZGVzIGhhdmUgYmVlbiBjb3JyZWN0bHkgc2VsZWN0ZWQvdW5zZWxlY3RlZCBhbmRcbiAgICAgICAgICAgICAgIGFkZGVkL3JlbW92ZWQgZnJvbSB0aGUgc2VsZWN0ZWROb2RlcyBjb2xsZWN0aW9uLCBhbmQgdGhlbiB1cGRhdGVzXG4gICAgICAgICAgICAgICB0aGUgc2VsZWN0ZWROb2RlRGF0YSBwcm9wLlxuICAgICAgICAgICAgICAgKi9cbiAgICAgICAgICAgIGNvbnN0IG5vZGVEYXRhID0gc2VsZWN0ZWROb2Rlcy5tYXAoKGVsKSA9PiBlbC5kYXRhKCkpO1xuXG4gICAgICAgICAgICB0aGlzLnByb3BzLnNldFByb3BzKHtcbiAgICAgICAgICAgICAgICBzZWxlY3RlZE5vZGVEYXRhOiBub2RlRGF0YSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9LCBTRUxFQ1RfVEhSRVNIT0xEKTtcblxuICAgICAgICBjb25zdCBzZW5kU2VsZWN0ZWRFZGdlc0RhdGEgPSBfLmRlYm91bmNlKCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGVkZ2VEYXRhID0gc2VsZWN0ZWRFZGdlcy5tYXAoKGVsKSA9PiBlbC5kYXRhKCkpO1xuXG4gICAgICAgICAgICB0aGlzLnByb3BzLnNldFByb3BzKHtcbiAgICAgICAgICAgICAgICBzZWxlY3RlZEVkZ2VEYXRhOiBlZGdlRGF0YSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9LCBTRUxFQ1RfVEhSRVNIT0xEKTtcblxuICAgICAgICBjb25zdCBzZXRFeHRlbnQgPSBfLmRlYm91bmNlKChjeUV4dGVudCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5wcm9wcy5zZXRQcm9wcyh7XG4gICAgICAgICAgICAgICAgZXh0ZW50OiBjeUV4dGVudCxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9LCBFWFRFTlRfVEhSRVNIT0xEKTtcblxuICAgICAgICBjb25zdCB1cGRhdGVFbGVtZW50cyA9IF8uZGVib3VuY2UoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5wcm9wcy5zZXRQcm9wcyh7XG4gICAgICAgICAgICAgICAgZWxlbWVudHM6IGN5LmVsZW1lbnRzKCcnKS5tYXAoKGl0ZW0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGl0ZW0uanNvbigpLmdyb3VwID09PSAnbm9kZXMnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE6IGl0ZW0uanNvbigpLmRhdGEsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGl0ZW0uanNvbigpLnBvc2l0aW9uLFxuICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGF0YTogaXRlbS5qc29uKCkuZGF0YSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiB2b2lkIDAsXG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSwgVVBEQVRFX0VMRU1FTlRTX1RIUkVTSE9MRCk7XG5cbiAgICAgICAgY29uc3QgcmVzaXplID0gXy5kZWJvdW5jZSgoKSA9PiB7XG4gICAgICAgICAgICBjeS5yZXNpemUoKTtcbiAgICAgICAgfSwgUkVTSVpFX1RIUkVTSE9MRCk7XG5cbiAgICAgICAgLy8gU3RvcmUgdGhlIG9yaWdpbmFsIG1heFpvb20gYW5kIG1pblpvb20gZnVuY3Rpb25zXG4gICAgICAgIGNvbnN0IG9yaWdpbmFsTWF4Wm9vbUZuID0gY3kubWF4Wm9vbTtcbiAgICAgICAgY29uc3Qgb3JpZ2luYWxNaW5ab29tRm4gPSBjeS5taW5ab29tO1xuXG4gICAgICAgIC8vIE92ZXJyaWRlIHRoZSBtYXhab29tIGZ1bmN0aW9uIHRvIHRyaWdnZXIgbWF4Wm9vbUNoYW5nZSBjdXN0b20gZXZlbnRcbiAgICAgICAgY3kubWF4Wm9vbSA9IGZ1bmN0aW9uIChlKSB7XG4gICAgICAgICAgICBjb25zdCBjdXJyZW50TWF4Wm9vbSA9IG9yaWdpbmFsTWF4Wm9vbUZuLmNhbGwoY3ksIGUpO1xuXG4gICAgICAgICAgICAvLyBUcmlnZ2VyIHlvdXIgY3VzdG9tIGV2ZW50IGlmIHRoZSBjdXJyZW50IG1heCB6b29tIGxldmVsIGlzIGRpZmZlcmVudCBmcm9tIHRoZVxuICAgICAgICAgICAgLy8gcHJldmlvdXNseSBzdG9yZWQgbWF4IHpvb20gbGV2ZWxcbiAgICAgICAgICAgIGlmIChjdXJyZW50TWF4Wm9vbSAhPT0gY3kuX3ByZXZpb3VzTWF4Wm9vbSkge1xuICAgICAgICAgICAgICAgIGN5Ll9wcmV2aW91c01heFpvb20gPSBjdXJyZW50TWF4Wm9vbTtcbiAgICAgICAgICAgICAgICBjeS50cmlnZ2VyKCdtaW5NYXhab29tQ2hhbmdlJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gY3VycmVudE1heFpvb207XG4gICAgICAgIH07XG5cbiAgICAgICAgLy8gT3ZlcnJpZGUgdGhlIG1pblpvb20gZnVuY3Rpb24gdG8gdHJpZ2dlciBtaW5ab29tQ2hhbmdlIGN1c3RvbSBldmVudFxuICAgICAgICBjeS5taW5ab29tID0gZnVuY3Rpb24gKGUpIHtcbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRNaW5ab29tID0gb3JpZ2luYWxNaW5ab29tRm4uY2FsbChjeSwgZSk7XG5cbiAgICAgICAgICAgIC8vIFRyaWdnZXIgeW91ciBjdXN0b20gZXZlbnQgaWYgdGhlIGN1cnJlbnQgbWluIHpvb20gbGV2ZWwgaXMgZGlmZmVyZW50IGZyb20gdGhlXG4gICAgICAgICAgICAvLyBwcmV2aW91c2x5IHN0b3JlZCBtaW4gem9vbSBsZXZlbFxuICAgICAgICAgICAgaWYgKGN1cnJlbnRNaW5ab29tICE9PSBjeS5fcHJldmlvdXNNaW5ab29tKSB7XG4gICAgICAgICAgICAgICAgY3kuX3ByZXZpb3VzTWluWm9vbSA9IGN1cnJlbnRNaW5ab29tO1xuICAgICAgICAgICAgICAgIGN5LnRyaWdnZXIoJ21pbk1heFpvb21DaGFuZ2UnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBjdXJyZW50TWluWm9vbTtcbiAgICAgICAgfTtcblxuICAgICAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gRVZFTlRTIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgICAgIGN5Lm9uKCd0YXAnLCAnbm9kZScsIChldmVudCkgPT4ge1xuICAgICAgICAgICAgY29uc3Qgbm9kZU9iamVjdCA9IHRoaXMuZ2VuZXJhdGVOb2RlKGV2ZW50KTtcblxuICAgICAgICAgICAgdGhpcy5wcm9wcy5zZXRQcm9wcyh7XG4gICAgICAgICAgICAgICAgdGFwTm9kZTogbm9kZU9iamVjdCxcbiAgICAgICAgICAgICAgICB0YXBOb2RlRGF0YTogT2JqZWN0LmFzc2lnbih7fSwgbm9kZU9iamVjdC5kYXRhLCB7XG4gICAgICAgICAgICAgICAgICAgIHRpbWVTdGFtcDogbm9kZU9iamVjdC50aW1lU3RhbXAsXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY3kub24oJ3RhcCcsICdlZGdlJywgKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBlZGdlT2JqZWN0ID0gdGhpcy5nZW5lcmF0ZUVkZ2UoZXZlbnQpO1xuXG4gICAgICAgICAgICB0aGlzLnByb3BzLnNldFByb3BzKHtcbiAgICAgICAgICAgICAgICB0YXBFZGdlOiBlZGdlT2JqZWN0LFxuICAgICAgICAgICAgICAgIHRhcEVkZ2VEYXRhOiBPYmplY3QuYXNzaWduKHt9LCBlZGdlT2JqZWN0LmRhdGEsIHtcbiAgICAgICAgICAgICAgICAgICAgdGltZVN0YW1wOiBlZGdlT2JqZWN0LnRpbWVTdGFtcCxcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcblxuICAgICAgICBjeS5vbignbW91c2VvdmVyJywgJ25vZGUnLCAoZXZlbnQpID0+IHtcbiAgICAgICAgICAgIHRoaXMucHJvcHMuc2V0UHJvcHMoe1xuICAgICAgICAgICAgICAgIG1vdXNlb3Zlck5vZGVEYXRhOiBPYmplY3QuYXNzaWduKHt9LCBldmVudC50YXJnZXQuZGF0YSgpLCB7XG4gICAgICAgICAgICAgICAgICAgIHRpbWVTdGFtcDogZXZlbnQudGltZVN0YW1wLFxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGN5Lm9uKCdtb3VzZW92ZXInLCAnZWRnZScsIChldmVudCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5wcm9wcy5zZXRQcm9wcyh7XG4gICAgICAgICAgICAgICAgbW91c2VvdmVyRWRnZURhdGE6IE9iamVjdC5hc3NpZ24oe30sIGV2ZW50LnRhcmdldC5kYXRhKCksIHtcbiAgICAgICAgICAgICAgICAgICAgdGltZVN0YW1wOiBldmVudC50aW1lU3RhbXAsXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY3kub24oJ21vdXNlb3V0JywgJ25vZGUnLCAoXykgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMucHJvcHMuY2xlYXJPblVuaG92ZXIgPT09IHRydWUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnByb3BzLnNldFByb3BzKHttb3VzZW92ZXJOb2RlRGF0YTogbnVsbH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICBjeS5vbignbW91c2VvdXQnLCAnZWRnZScsIChfKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5wcm9wcy5jbGVhck9uVW5ob3ZlciA9PT0gdHJ1ZSkge1xuICAgICAgICAgICAgICAgIHRoaXMucHJvcHMuc2V0UHJvcHMoe1xuICAgICAgICAgICAgICAgICAgICBtb3VzZW92ZXJFZGdlRGF0YTogbnVsbCxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgY3kub24oJ3NlbGVjdCcsICdub2RlJywgKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBlbGUgPSBldmVudC50YXJnZXQ7XG5cbiAgICAgICAgICAgIHNlbGVjdGVkTm9kZXMubWVyZ2UoZWxlKTtcbiAgICAgICAgICAgIHNlbmRTZWxlY3RlZE5vZGVzRGF0YSgpO1xuICAgICAgICB9KTtcblxuICAgICAgICBjeS5vbigndW5zZWxlY3QgcmVtb3ZlJywgJ25vZGUnLCAoZXZlbnQpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGVsZSA9IGV2ZW50LnRhcmdldDtcblxuICAgICAgICAgICAgc2VsZWN0ZWROb2Rlcy51bm1lcmdlKGVsZSk7XG4gICAgICAgICAgICBzZW5kU2VsZWN0ZWROb2Rlc0RhdGEoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY3kub24oJ3NlbGVjdCcsICdlZGdlJywgKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBlbGUgPSBldmVudC50YXJnZXQ7XG5cbiAgICAgICAgICAgIHNlbGVjdGVkRWRnZXMubWVyZ2UoZWxlKTtcbiAgICAgICAgICAgIHNlbmRTZWxlY3RlZEVkZ2VzRGF0YSgpO1xuICAgICAgICB9KTtcblxuICAgICAgICBjeS5vbigndW5zZWxlY3QgcmVtb3ZlJywgJ2VkZ2UnLCAoZXZlbnQpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGVsZSA9IGV2ZW50LnRhcmdldDtcblxuICAgICAgICAgICAgc2VsZWN0ZWRFZGdlcy51bm1lcmdlKGVsZSk7XG4gICAgICAgICAgICBzZW5kU2VsZWN0ZWRFZGdlc0RhdGEoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY3kub24oJ2FkZCByZW1vdmUnLCAoKSA9PiB7XG4gICAgICAgICAgICByZWZyZXNoTGF5b3V0KCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGN5Lm9uKCdkcmFnZnJlZSBhZGQgcmVtb3ZlJywgKF8pID0+IHtcbiAgICAgICAgICAgIHVwZGF0ZUVsZW1lbnRzKCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGN5Lm9uKCdyZXNpemUgdmlld3BvcnQnLCAoKSA9PiB7XG4gICAgICAgICAgICBzZXRFeHRlbnQoY3kuZXh0ZW50KCkpO1xuICAgICAgICB9KTtcblxuICAgICAgICBjeS5vbigndGFwc3RhcnQnLCAoKSA9PiB7XG4gICAgICAgICAgICByZXNpemUoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gUmVmcmVzaCBsYXlvdXQgaWYgY3VycmVudCB6b29tIGlzIG91dCBvZiBib3VuZGFyaWVzXG4gICAgICAgIGN5Lm9uKCdtaW5NYXhab29tQ2hhbmdlJywgZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgY29uc3Qgem9vbSA9IGN5Lnpvb20oKTtcbiAgICAgICAgICAgIGlmICh6b29tID4gY3kubWF4Wm9vbSgpIHx8IHpvb20gPCBjeS5taW5ab29tKCkpIHtcbiAgICAgICAgICAgICAgICBjeS5maXQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5jcmVhdGVNZW51SXRlbXMgPSAoY3R4TWVudSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgdXBkYXRlQ29udGV4dE1lbnVEYXRhID0gKG5ld0NvbnRleHQpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnByb3BzLnNldFByb3BzKHtjb250ZXh0TWVudURhdGE6IG5ld0NvbnRleHR9KTtcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBjb25zdCBjb250ZXh0TWVudURlZmF1bHRGdW5jdGlvbnMgPSB7XG4gICAgICAgICAgICAgICAgcmVtb3ZlOiBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IHx8IGV2ZW50LmN5VGFyZ2V0O1xuICAgICAgICAgICAgICAgICAgICB0YXJnZXQucmVtb3ZlKCk7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBhZGRfbm9kZTogZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHBvcyA9IGV2ZW50LnBvc2l0aW9uIHx8IGV2ZW50LmN5UG9zaXRpb247XG4gICAgICAgICAgICAgICAgICAgIGN5LmFkZCh7XG4gICAgICAgICAgICAgICAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JvdXA6ICdub2RlcycsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB4OiBwb3MueCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB5OiBwb3MueSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgYWRkX2VkZ2U6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWROb2RlSWRzID0gc2VsZWN0ZWROb2Rlcy5tYXAoKG5vZGUpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICBub2RlLmlkKClcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHNlbGVjdGVkTm9kZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFcnJvcjogTm8gbm9kZXMgc2VsZWN0ZWQsIGNhbm5vdCBhZGQgZWRnZSdcbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoc2VsZWN0ZWROb2Rlcy5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGN5LmFkZCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZDogdXVpZHY0KCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyb3VwOiAnZWRnZXMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzb3VyY2U6IHNlbGVjdGVkTm9kZUlkc1swXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0OiBzZWxlY3RlZE5vZGVJZHNbMF0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHNlbGVjdGVkTm9kZXMubGVuZ3RoID09PSAyKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjeS5hZGQoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IHV1aWR2NCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBncm91cDogJ2VkZ2VzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc291cmNlOiBzZWxlY3RlZE5vZGVJZHNbMF0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldDogc2VsZWN0ZWROb2RlSWRzWzFdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0Vycm9yOiBtb3JlIHRoYW4gMiBub2RlcyBzZWxlY3RlZCwgY2Fubm90IGFkZCBlZGdlJ1xuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgY29uc3QgbmV3TWVudUl0ZW1zID0gW107XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgY3R4TWVudSkge1xuICAgICAgICAgICAgICAgIGxldCBvbkNsaWNrRnVuY3Rpb247XG4gICAgICAgICAgICAgICAgLy8gcmV0dXJuIGRhdGEgc28gYSB1c2VyIGNhbiBkZWZpbmUgYSBjdXN0b20gb24gY2xpY2sgZnVuY3Rpb24gaW4gUHl0aG9uXG4gICAgICAgICAgICAgICAgLy8gaWYgb25DbGljayBvciBvbiBvbkNsaWNrQ3VzdG9tIGFyZSBub3Qgc3BlY2lmaWVkXG4gICAgICAgICAgICAgICAgb25DbGlja0Z1bmN0aW9uID0gZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIHVwZGF0ZUNvbnRleHRNZW51RGF0YSh7XG4gICAgICAgICAgICAgICAgICAgICAgICBtZW51SXRlbUlkOiBpdGVtLmlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgeDogZXZlbnQucG9zaXRpb24ueCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHk6IGV2ZW50LnBvc2l0aW9uLnksXG4gICAgICAgICAgICAgICAgICAgICAgICB0aW1lU3RhbXA6IGV2ZW50LnRpbWVTdGFtcCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnRJZDogZXZlbnQudGFyZ2V0LmRhdGEoKS5pZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGVkZ2VTb3VyY2U6IGV2ZW50LnRhcmdldC5kYXRhKCkuc291cmNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgZWRnZVRhcmdldDogZXZlbnQudGFyZ2V0LmRhdGEoKS50YXJnZXQsXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgLy8gdXNlIGRlZmF1bHQgamF2YXNjcmlwdCBmdW5jdGlvbiBhcyBvbkNsaWNrRnVuY3Rpb25cbiAgICAgICAgICAgICAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGl0ZW0sICdvbkNsaWNrJykpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHRNZW51RGVmYXVsdEZ1bmN0aW9ucyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtLm9uQ2xpY2tcbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrRnVuY3Rpb24gPVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHRNZW51RGVmYXVsdEZ1bmN0aW9uc1tpdGVtLm9uQ2xpY2tdO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBgb25DbGljayBmdW5jdGlvbiAke2l0ZW0ub25DbGlja30gaXMgbm90IGRlZmluZWRgXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8vIHVzZSB1c2VyLWRlZmluZWQgSmF2YXNjcmlwdCBmdW5jdGlvbiBpbiBhIG5hbWVzcGFjZSB1bmRlciBhc3NldHMvIGFzIG9uQ2xpY2tGdW5jdGlvblxuICAgICAgICAgICAgICAgIGVsc2UgaWYgKFxuICAgICAgICAgICAgICAgICAgICBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoaXRlbSwgJ29uQ2xpY2tDdXN0b20nKVxuICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2luZG93LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkYXNoQ3l0b3NjYXBlRnVuY3Rpb25zJ1xuICAgICAgICAgICAgICAgICAgICAgICAgKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpbmRvdy5kYXNoQ3l0b3NjYXBlRnVuY3Rpb25zLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0ub25DbGlja0N1c3RvbVxuICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2tGdW5jdGlvbiA9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2luZG93LmRhc2hDeXRvc2NhcGVGdW5jdGlvbnNbaXRlbS5vbkNsaWNrQ3VzdG9tXTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYG9uQ2xpY2tDdXN0b20gZnVuY3Rpb24gJHtpdGVtLm9uQ2xpY2tDdXN0b219IGlzIG5vdCBkZWZpbmVkYFxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjb25zdCBuZXdfaXRlbSA9IHtcbiAgICAgICAgICAgICAgICAgICAgaWQ6IGl0ZW0uaWQsXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IGl0ZW0ubGFiZWwsXG4gICAgICAgICAgICAgICAgICAgIHRvb2x0aXBUZXh0OiBpdGVtLnRvb2x0aXBUZXh0LFxuICAgICAgICAgICAgICAgICAgICBzZWxlY3RvcjogJycsXG4gICAgICAgICAgICAgICAgICAgIG9uQ2xpY2tGdW5jdGlvbjogb25DbGlja0Z1bmN0aW9uLFxuICAgICAgICAgICAgICAgICAgICBjb3JlQXNXZWxsOiBmYWxzZSxcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoaXRlbSwgJ2F2YWlsYWJsZU9uJykpIHtcbiAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCBzZWxlY3RvciBvZiBpdGVtLmF2YWlsYWJsZU9uKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoc2VsZWN0b3IgPT09ICdlZGdlJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChuZXdfaXRlbS5zZWxlY3Rvci5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld19pdGVtLnNlbGVjdG9yID0gbmV3X2l0ZW0uc2VsZWN0b3IgKyAnLCAnO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXdfaXRlbS5zZWxlY3RvciA9IG5ld19pdGVtLnNlbGVjdG9yICsgJ2VkZ2UnO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChzZWxlY3RvciA9PT0gJ25vZGUnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG5ld19pdGVtLnNlbGVjdG9yLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3X2l0ZW0uc2VsZWN0b3IgPSBuZXdfaXRlbS5zZWxlY3RvciArICcsICc7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld19pdGVtLnNlbGVjdG9yID0gbmV3X2l0ZW0uc2VsZWN0b3IgKyAnbm9kZSc7XG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHNlbGVjdG9yID09PSAnY2FudmFzJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld19pdGVtLmNvcmVBc1dlbGwgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgRXJyb3I6IHNlbGVjdG9yICR7c2VsZWN0b3J9IGlzIG5vdCBhdmFpbGFibGUuIENob29zZSBvbmUgb2YgJ25vZGUnLCAnZWRnZScgb3IgJ2NhbnZhcycuYFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgbmV3TWVudUl0ZW1zLnB1c2gobmV3X2l0ZW0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIG5ld01lbnVJdGVtcztcbiAgICAgICAgfTtcblxuICAgICAgICB0aGlzLmN5UmVzcG9uc2l2ZUNsYXNzID0gbmV3IEN5UmVzcG9uc2l2ZShjeSk7XG4gICAgICAgIHRoaXMuY3lSZXNwb25zaXZlQ2xhc3MudG9nZ2xlKHRoaXMucHJvcHMucmVzcG9uc2l2ZSk7XG5cbiAgICAgICAgc2V0RXh0ZW50KGN5LmV4dGVudCgpKTtcbiAgICB9XG5cbiAgICBoYW5kbGVJbWFnZUdlbmVyYXRpb24oaW1hZ2VUeXBlLCBpbWFnZU9wdGlvbnMsIGFjdGlvbnNUb1BlcmZvcm0sIGZpbGVOYW1lKSB7XG4gICAgICAgIGxldCBvcHRpb25zID0ge307XG4gICAgICAgIGlmIChpbWFnZU9wdGlvbnMpIHtcbiAgICAgICAgICAgIG9wdGlvbnMgPSBpbWFnZU9wdGlvbnM7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgZGVzaXJlZE91dHB1dCA9IG9wdGlvbnMub3V0cHV0O1xuICAgICAgICBvcHRpb25zLm91dHB1dCA9ICdibG9iJztcblxuICAgICAgICBsZXQgZG93bmxvYWRJbWFnZTtcbiAgICAgICAgbGV0IHN0b3JlSW1hZ2U7XG4gICAgICAgIHN3aXRjaCAoYWN0aW9uc1RvUGVyZm9ybSkge1xuICAgICAgICAgICAgY2FzZSAnc3RvcmUnOlxuICAgICAgICAgICAgICAgIGRvd25sb2FkSW1hZ2UgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICBzdG9yZUltYWdlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ2Rvd25sb2FkJzpcbiAgICAgICAgICAgICAgICBkb3dubG9hZEltYWdlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBzdG9yZUltYWdlID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdib3RoJzpcbiAgICAgICAgICAgICAgICBkb3dubG9hZEltYWdlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBzdG9yZUltYWdlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgZG93bmxvYWRJbWFnZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHN0b3JlSW1hZ2UgPSB0cnVlO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IG91dHB1dDtcbiAgICAgICAgaWYgKGltYWdlVHlwZSA9PT0gJ3BuZycpIHtcbiAgICAgICAgICAgIG91dHB1dCA9IHRoaXMuX2N5LnBuZyhvcHRpb25zKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaW1hZ2VUeXBlID09PSAnanBnJyB8fCBpbWFnZVR5cGUgPT09ICdqcGVnJykge1xuICAgICAgICAgICAgb3V0cHV0ID0gdGhpcy5fY3kuanBnKG9wdGlvbnMpO1xuICAgICAgICB9XG4gICAgICAgIC8vIG9ubHkgd29ya3Mgd2hlbiBzdmcgaXMgaW1wb3J0ZWQgKHNlZSBsaWIvZXh0cmFfaW5kZXguanMpXG4gICAgICAgIGlmIChpbWFnZVR5cGUgPT09ICdzdmcnKSB7XG4gICAgICAgICAgICBvdXRwdXQgPSB0aGlzLl9jeS5zdmcob3B0aW9ucyk7XG4gICAgICAgIH1cblxuICAgICAgICAvKlxuICAgICAgICAgKiBJZiBvdXRwdXQgaXMgZW1wdHkgYmVjYXVzZSBvZiBiYWQgb3B0aW9ucyBvciBhIGN5dG9zY2FwZSBlcnJvcixcbiAgICAgICAgICogc2tpcCBhbnkgZG93bmxvYWQgb3Igc3RvcmFnZSBzdGVwcy5cbiAgICAgICAgICovXG4gICAgICAgIGlmIChvdXRwdXQgJiYgZG93bmxvYWRJbWFnZSkge1xuICAgICAgICAgICAgLypcbiAgICAgICAgICAgICAqIERvd25sb2FkaW5nIGlzIGluaXRpYXRlZCBjbGllbnQtc2lkZSBiZWNhdXNlIHRoZSBpbWFnZSBpcyBnZW5lcmF0ZWQgYXRcbiAgICAgICAgICAgICAqIHRoZSBjbGllbnQuIFRoaXMgYXZvaWRzIHRyYW5zZmVycmluZyBhIHBvdGVudGlhbGx5IGxhcmdlIGltYWdlXG4gICAgICAgICAgICAgKiB0byB0aGUgc2VydmVyIGFuZCBiYWNrIGFnYWluIHRocm91Z2ggYSBjYWxsYmFjay5cbiAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgbGV0IGZOYW1lID0gZmlsZU5hbWU7XG4gICAgICAgICAgICBpZiAoIWZpbGVOYW1lKSB7XG4gICAgICAgICAgICAgICAgZk5hbWUgPSAnY3l0byc7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChpbWFnZVR5cGUgIT09ICdzdmcnKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5kb3dubG9hZEJsb2Iob3V0cHV0LCBmTmFtZSArICcuJyArIGltYWdlVHlwZSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnN0IGJsb2IgPSBuZXcgQmxvYihbb3V0cHV0XSwge1xuICAgICAgICAgICAgICAgICAgICB0eXBlOiAnaW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04JyxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB0aGlzLmRvd25sb2FkQmxvYihibG9iLCBmTmFtZSArICcuJyArIGltYWdlVHlwZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAob3V0cHV0ICYmIHN0b3JlSW1hZ2UpIHtcbiAgICAgICAgICAgIC8vIERlZmF1bHQgb3V0cHV0IHR5cGUgaWYgdW5zcGVjaWZpZWRcbiAgICAgICAgICAgIGlmICghZGVzaXJlZE91dHB1dCkge1xuICAgICAgICAgICAgICAgIGRlc2lyZWRPdXRwdXQgPSAnYmFzZTY0dXJpJztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICEoZGVzaXJlZE91dHB1dCA9PT0gJ2Jhc2U2NHVyaScgfHwgZGVzaXJlZE91dHB1dCA9PT0gJ2Jhc2U2NCcpXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8qXG4gICAgICAgICAgICAgKiBDb252ZXJ0IGJsb2IgdG8gYmFzZTY0dXJpIG9yIGJhc2U2NCBzdHJpbmcgdG8gc3RvcmUgdGhlIGltYWdlIGRhdGEuXG4gICAgICAgICAgICAgKiBUaGFuayB5b3UsIGJhc2U2NGd1cnUgaHR0cHM6Ly9iYXNlNjQuZ3VydS9kZXZlbG9wZXJzL2phdmFzY3JpcHQvZXhhbXBsZXMvZW5jb2RlLWJsb2JcbiAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgY29uc3QgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcbiAgICAgICAgICAgIHJlYWRlci5vbmxvYWQgPSAoKSA9PiB7XG4gICAgICAgICAgICAgICAgLyogRmlsZVJlYWRlciBpcyBhc3luY2hyb25vdXMsIHNvIHRoZSByZWFkIGZ1bmN0aW9uIGlzIG5vbi1ibG9ja2luZy5cbiAgICAgICAgICAgICAgICAgKiBJZiB0aGlzIGNvZGUgYmxvY2sgaXMgcGxhY2VkIGFmdGVyIHRoZSByZWFkIGNvbW1hbmQsIGl0XG4gICAgICAgICAgICAgICAgICogbWF5IHJlc3VsdCBpbiBlbXB0eSBvdXRwdXQgYmVjYXVzZSB0aGUgYmxvYiBoYXMgbm90IGJlZW4gbG9hZGVkIHlldC5cbiAgICAgICAgICAgICAgICAgKi9cbiAgICAgICAgICAgICAgICBsZXQgY2FsbGJhY2tEYXRhID0gcmVhZGVyLnJlc3VsdDtcbiAgICAgICAgICAgICAgICBpZiAoZGVzaXJlZE91dHB1dCA9PT0gJ2Jhc2U2NCcpIHtcbiAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2tEYXRhID0gY2FsbGJhY2tEYXRhLnJlcGxhY2UoL15kYXRhOi4rO2Jhc2U2NCwvLCAnJyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMucHJvcHMuc2V0UHJvcHMoe2ltYWdlRGF0YTogY2FsbGJhY2tEYXRhfSk7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgcmVhZGVyLnJlYWRBc0RhdGFVUkwob3V0cHV0KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGRvd25sb2FkQmxvYihibG9iLCBmaWxlTmFtZSkge1xuICAgICAgICAvKlxuICAgICAgICAgKiBEb3dubG9hZCBibG9iIGFzIGZpbGUgYnkgZHluYW1pY2FsbHkgY3JlYXRpbmcgbGluay5cbiAgICAgICAgICogQ2hyb21lIGRvZXMgbm90IG9wZW4gZGF0YSBVUkxzIHdoZW4gSlMgb3BlbnMgYSBuZXcgdGFiIGRpcmVjdGVkXG4gICAgICAgICAqIGF0IHRoZSBkYXRhIFVSTCwgc28gdGhpcyBpcyBhbiBhbHRlcm5hdGUgaW1wbGVtZW50YXRpb25cbiAgICAgICAgICogdGhhdCBkb2Vzbid0IHJlcXVpcmUgZXh0cmEgcGFja2FnZXMuIEl0IG1heSBub3QgYmVoYXZlIGluXG4gICAgICAgICAqIGV4YWN0bHkgdGhlIHNhbWUgd2F5IGFjcm9zcyBicm93c2VycyAobWlnaHQgZGlzcGxheSBpbWFnZSBpbiBuZXcgdGFiXG4gICAgICAgICAqIGludGVhZCBvZiBkb3dubG9hZGluZyBhcyBhIGZpbGUpLlxuICAgICAgICAgKiBUaGFuayB5b3UsIGtvbGRldiBodHRwczovL2pzZmlkZGxlLm5ldC9rb2xkZXYvY1c3VzUvXG4gICAgICAgICAqL1xuICAgICAgICBjb25zdCBkb3dubG9hZExpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XG4gICAgICAgIGRvd25sb2FkTGluay5zdHlsZSA9ICdkaXNwbGF5OiBub25lJztcbiAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkb3dubG9hZExpbmspO1xuXG4gICAgICAgIGNvbnN0IHVybCA9IHdpbmRvdy5VUkwuY3JlYXRlT2JqZWN0VVJMKGJsb2IpO1xuICAgICAgICBkb3dubG9hZExpbmsuaHJlZiA9IHVybDtcbiAgICAgICAgZG93bmxvYWRMaW5rLmRvd25sb2FkID0gZmlsZU5hbWU7XG4gICAgICAgIGRvd25sb2FkTGluay5jbGljaygpO1xuICAgICAgICB3aW5kb3cuVVJMLnJldm9rZU9iamVjdFVSTCh1cmwpO1xuXG4gICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoZG93bmxvYWRMaW5rKTtcbiAgICB9XG5cbiAgICB1cGRhdGVDb250ZXh0TWVudShjb250ZXh0TWVudSkge1xuICAgICAgICB0aGlzLl9jeS5jb250ZXh0TWVudXMoe1xuICAgICAgICAgICAgbWVudUl0ZW1zOiB0aGlzLmNyZWF0ZU1lbnVJdGVtcyhjb250ZXh0TWVudSksXG4gICAgICAgICAgICBtZW51SXRlbUNsYXNzZXM6IFsnY3VzdG9tLW1lbnUtaXRlbSddLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvLyBSZXR1cm5zIHRydWUgaWYgdGhlcmUgaXMgbm8gb3ZlcmxhcCBiZXR3ZWVuIHRoZSBlbGVtZW50IGJvdW5kaW5nIGJveFxuICAgIC8vIGFuZCB0aGUgcmVuZGVyZWQgYXJlYSBvZiB0aGUgZ3JhcGgsIG1lYW5pbmcgdGhlIGdyYXBoIGlzIGVudGlyZWx5IG91dHNpZGUgdGhlIHZpZXdwb3J0O1xuICAgIC8vIHJldHVybnMgZmFsc2Ugb3RoZXJ3aXNlXG4gICAgZ3JhcGhPdXRPZlZpZXcoKSB7XG4gICAgICAgIGNvbnN0IGN5V2lkdGggPSB0aGlzLl9jeS53aWR0aCgpO1xuICAgICAgICBjb25zdCBjeUhlaWdodCA9IHRoaXMuX2N5LmhlaWdodCgpO1xuICAgICAgICBjb25zdCBlbEJveCA9IHRoaXMuX2N5LmVsZW1lbnRzKCkucmVuZGVyZWRCb3VuZGluZ2JveCgpO1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgZWxCb3gueDEgPiBjeVdpZHRoIHx8XG4gICAgICAgICAgICBlbEJveC55MSA+IGN5SGVpZ2h0IHx8XG4gICAgICAgICAgICBlbEJveC54MiA8IDAgfHxcbiAgICAgICAgICAgIGVsQm94LnkyIDwgMFxuICAgICAgICApO1xuICAgIH1cblxuICAgIGNvbXBvbmVudERpZFVwZGF0ZShwcmV2UHJvcHMpIHtcbiAgICAgICAgY29uc3Qge2NvbnRleHRNZW51LCBlbGVtZW50c30gPSB0aGlzLnByb3BzO1xuICAgICAgICBpZiAoIV8uaXNFcXVhbChwcmV2UHJvcHMuY29udGV4dE1lbnUsIGNvbnRleHRNZW51KSAmJiB0aGlzLl9jeSkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVDb250ZXh0TWVudShjb250ZXh0TWVudSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFfLmlzRXF1YWwocHJldlByb3BzLmVsZW1lbnRzLCBlbGVtZW50cykgJiYgdGhpcy5fY3kpIHtcbiAgICAgICAgICAgIC8vIElmIGVsZW1lbnRzIHdlcmUgdXBkYXRlZCwgYW5kIHRoZSBuZXcgZ3JhcGggaXMgKmVudGlyZWx5KiBvdXRzaWRlIHRoZSB2aWV3cG9ydCxcbiAgICAgICAgICAgIC8vIGZpdCB0aGUgdmlld3BvcnQgdG8gdGhlIG5ldyBlbGVtZW50c1xuICAgICAgICAgICAgaWYgKHRoaXMuZ3JhcGhPdXRPZlZpZXcoKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuX2N5LmZpdCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgICAgICBjb25zdCB7Y29udGV4dE1lbnV9ID0gdGhpcy5wcm9wcztcbiAgICAgICAgaWYgKHRoaXMuX2N5ICYmIGNvbnRleHRNZW51Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlQ29udGV4dE1lbnUoY29udGV4dE1lbnUpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJlbmRlcigpIHtcbiAgICAgICAgY29uc3Qge1xuICAgICAgICAgICAgLy8gSFRNTCBhdHRyaWJ1dGUgcHJvcHNcbiAgICAgICAgICAgIGlkLFxuICAgICAgICAgICAgc3R5bGUsXG4gICAgICAgICAgICBjbGFzc05hbWUsXG4gICAgICAgICAgICAvLyBDb21tb24gcHJvcHNcbiAgICAgICAgICAgIGVsZW1lbnRzLFxuICAgICAgICAgICAgc3R5bGVzaGVldCxcbiAgICAgICAgICAgIGxheW91dCxcbiAgICAgICAgICAgIGNvbnRleHRNZW51LFxuICAgICAgICAgICAgY29udGV4dE1lbnVEYXRhLFxuICAgICAgICAgICAgLy8gVmlld3BvcnQgTWFuaXB1bGF0aW9uXG4gICAgICAgICAgICBwYW4sXG4gICAgICAgICAgICB6b29tLFxuICAgICAgICAgICAgLy8gVmlld3BvcnQgTXV0YWJpbGl0eSBhbmQgZ2VzdHVyZSBUb2dnbGluZ1xuICAgICAgICAgICAgcGFubmluZ0VuYWJsZWQsXG4gICAgICAgICAgICB1c2VyUGFubmluZ0VuYWJsZWQsXG4gICAgICAgICAgICBtaW5ab29tLFxuICAgICAgICAgICAgbWF4Wm9vbSxcbiAgICAgICAgICAgIHpvb21pbmdFbmFibGVkLFxuICAgICAgICAgICAgdXNlclpvb21pbmdFbmFibGVkLFxuICAgICAgICAgICAgd2hlZWxTZW5zaXRpdml0eSxcbiAgICAgICAgICAgIGJveFNlbGVjdGlvbkVuYWJsZWQsXG4gICAgICAgICAgICBhdXRvdW5ncmFiaWZ5LFxuICAgICAgICAgICAgYXV0b2xvY2ssXG4gICAgICAgICAgICBhdXRvdW5zZWxlY3RpZnksXG4gICAgICAgICAgICAvLyBJbWFnZSBoYW5kbGluZ1xuICAgICAgICAgICAgZ2VuZXJhdGVJbWFnZSxcbiAgICAgICAgICAgIC8vIFJlc3BvbnNpdmUgZ3JhcGhzXG4gICAgICAgICAgICByZXNwb25zaXZlLFxuICAgICAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgICAgICBpZiAoT2JqZWN0LmtleXMoZ2VuZXJhdGVJbWFnZSkubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgLy8gSWYgbm8gY3l0b3NjYXBlIG9iamVjdCBoYXMgYmVlbiBjcmVhdGVkIHlldCwgYW4gaW1hZ2UgY2Fubm90IGJlIGdlbmVyYXRlZCxcbiAgICAgICAgICAgIC8vIHNvIGdlbmVyYXRlSW1hZ2Ugd2lsbCBiZSBpZ25vcmVkIGFuZCBjbGVhcmVkLlxuICAgICAgICAgICAgdGhpcy5wcm9wcy5zZXRQcm9wcyh7Z2VuZXJhdGVJbWFnZToge319KTtcbiAgICAgICAgICAgIGlmICh0aGlzLl9jeSkge1xuICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlSW1hZ2VHZW5lcmF0aW9uKFxuICAgICAgICAgICAgICAgICAgICBnZW5lcmF0ZUltYWdlLnR5cGUsXG4gICAgICAgICAgICAgICAgICAgIGdlbmVyYXRlSW1hZ2Uub3B0aW9ucyxcbiAgICAgICAgICAgICAgICAgICAgZ2VuZXJhdGVJbWFnZS5hY3Rpb24sXG4gICAgICAgICAgICAgICAgICAgIGdlbmVyYXRlSW1hZ2UuZmlsZW5hbWVcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuY3lSZXNwb25zaXZlQ2xhc3MpIHtcbiAgICAgICAgICAgIHRoaXMuY3lSZXNwb25zaXZlQ2xhc3MudG9nZ2xlKHJlc3BvbnNpdmUpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDxDeXRvc2NhcGVDb21wb25lbnRcbiAgICAgICAgICAgICAgICBpZD17aWR9XG4gICAgICAgICAgICAgICAgY3k9e3RoaXMuaGFuZGxlQ3l9XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWV9XG4gICAgICAgICAgICAgICAgc3R5bGU9e3N0eWxlfVxuICAgICAgICAgICAgICAgIGVsZW1lbnRzPXtDeXRvc2NhcGVDb21wb25lbnQubm9ybWFsaXplRWxlbWVudHMoZWxlbWVudHMpfVxuICAgICAgICAgICAgICAgIHN0eWxlc2hlZXQ9e3N0eWxlc2hlZXR9XG4gICAgICAgICAgICAgICAgbGF5b3V0PXtsYXlvdXR9XG4gICAgICAgICAgICAgICAgY29udGV4dE1lbnU9e2NvbnRleHRNZW51fVxuICAgICAgICAgICAgICAgIGNvbnRleHRNZW51RGF0YT17Y29udGV4dE1lbnVEYXRhfVxuICAgICAgICAgICAgICAgIHBhbj17cGFufVxuICAgICAgICAgICAgICAgIHpvb209e3pvb219XG4gICAgICAgICAgICAgICAgcGFubmluZ0VuYWJsZWQ9e3Bhbm5pbmdFbmFibGVkfVxuICAgICAgICAgICAgICAgIHVzZXJQYW5uaW5nRW5hYmxlZD17dXNlclBhbm5pbmdFbmFibGVkfVxuICAgICAgICAgICAgICAgIG1pblpvb209e21pblpvb219XG4gICAgICAgICAgICAgICAgbWF4Wm9vbT17bWF4Wm9vbX1cbiAgICAgICAgICAgICAgICB6b29taW5nRW5hYmxlZD17em9vbWluZ0VuYWJsZWR9XG4gICAgICAgICAgICAgICAgdXNlclpvb21pbmdFbmFibGVkPXt1c2VyWm9vbWluZ0VuYWJsZWR9XG4gICAgICAgICAgICAgICAgd2hlZWxTZW5zaXRpdml0eT17d2hlZWxTZW5zaXRpdml0eX1cbiAgICAgICAgICAgICAgICBib3hTZWxlY3Rpb25FbmFibGVkPXtib3hTZWxlY3Rpb25FbmFibGVkfVxuICAgICAgICAgICAgICAgIGF1dG91bmdyYWJpZnk9e2F1dG91bmdyYWJpZnl9XG4gICAgICAgICAgICAgICAgYXV0b2xvY2s9e2F1dG9sb2NrfVxuICAgICAgICAgICAgICAgIGF1dG91bnNlbGVjdGlmeT17YXV0b3Vuc2VsZWN0aWZ5fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgKTtcbiAgICB9XG59XG5cbkN5dG9zY2FwZS5wcm9wVHlwZXMgPSB7XG4gICAgLy8gSFRNTCBhdHRyaWJ1dGUgcHJvcHNcblxuICAgIC8qKlxuICAgICAqIFRoZSBJRCB1c2VkIHRvIGlkZW50aWZ5IHRoaXMgY29tcG9uZW50IGluIERhc2ggY2FsbGJhY2tzLlxuICAgICAqL1xuICAgIGlkOiBQcm9wVHlwZXMuc3RyaW5nLFxuXG4gICAgLyoqXG4gICAgICogU2V0cyB0aGUgY2xhc3MgbmFtZSBvZiB0aGUgZWxlbWVudCAodGhlIHZhbHVlIG9mIGFuIGVsZW1lbnQncyBodG1sXG4gICAgICogY2xhc3MgYXR0cmlidXRlKS5cbiAgICAgKi9cbiAgICBjbGFzc05hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG5cbiAgICAvKipcbiAgICAgKiBBZGQgaW5saW5lIHN0eWxlcyB0byB0aGUgcm9vdCBlbGVtZW50LlxuICAgICAqL1xuICAgIHN0eWxlOiBQcm9wVHlwZXMub2JqZWN0LFxuXG4gICAgLy8gRGFzaCBzcGVjaWZpYyBwcm9wc1xuXG4gICAgLyoqXG4gICAgICogRGFzaC1hc3NpZ25lZCBjYWxsYmFjayB0aGF0IHNob3VsZCBiZSBjYWxsZWQgd2hlbmV2ZXIgYW55IG9mIHRoZVxuICAgICAqIHByb3BlcnRpZXMgY2hhbmdlLlxuICAgICAqL1xuICAgIHNldFByb3BzOiBQcm9wVHlwZXMuZnVuYyxcblxuICAgIC8vIENvbW1vbiBwcm9wc1xuXG4gICAgLyoqXG4gICAgICogQSBsaXN0IG9mIGRpY3Rpb25hcmllcyByZXByZXNlbnRpbmcgdGhlIGVsZW1lbnRzIG9mIHRoZSBuZXR3b3Jrcy4gRWFjaCBkaWN0aW9uYXJ5IGRlc2NyaWJlcyBhbiBlbGVtZW50LCBhbmRcbiAgICAgKiBzcGVjaWZpZXMgaXRzIHB1cnBvc2UuIFRoZSBbb2ZmaWNpYWwgQ3l0b3NjYXBlLmpzIGRvY3VtZW50YXRpb25dKGh0dHBzOi8vanMuY3l0b3NjYXBlLm9yZy8jbm90YXRpb24vZWxlbWVudHMtanNvbilcbiAgICAgKiBvZmZlcnMgYW4gZXh0ZW5zaXZlIG92ZXJ2aWV3IGFuZCBleGFtcGxlcyBvZiBlbGVtZW50IGRlY2xhcmF0aW9uLlxuICAgICAqIEFsdGVybmF0aXZlbHksIGEgZGljdGlvbmFyeSB3aXRoIHRoZSBmb3JtYXQgeyAnbm9kZXMnOiBbXSwgJ2VkZ2VzJzogW10gfSBpcyBhbGxvd2VkIGF0IGluaXRpYWxpemF0aW9uLFxuICAgICAqIGJ1dCBhcnJheXMgcmVtYWluIHRoZSByZWNvbW1lbmRlZCBmb3JtYXQuXG4gICAgICovXG4gICAgZWxlbWVudHM6IFByb3BUeXBlcy5vbmVPZlR5cGUoW1xuICAgICAgICBQcm9wVHlwZXMuYXJyYXlPZihcbiAgICAgICAgICAgIFByb3BUeXBlcy5zaGFwZSh7XG4gICAgICAgICAgICAgICAgLyoqXG4gICAgICAgICAgICAgICAgICogRWl0aGVyICdub2Rlcycgb3IgJ2VkZ2VzJy4gSWYgbm90IGdpdmVuLCBpdCdzIGF1dG9tYXRpY2FsbHkgaW5mZXJyZWQuXG4gICAgICAgICAgICAgICAgICovXG4gICAgICAgICAgICAgICAgZ3JvdXA6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICAgICAgICAgICAgLyoqIEVsZW1lbnQgc3BlY2lmaWMgZGF0YS4qL1xuICAgICAgICAgICAgICAgIGRhdGE6IFByb3BUeXBlcy5zaGFwZSh7XG4gICAgICAgICAgICAgICAgICAgIC8qKiAgUmVmZXJlbmNlIHRvIHRoZSBlbGVtZW50LCB1c2VmdWwgZm9yIHNlbGVjdG9ycyBhbmQgZWRnZXMuIFJhbmRvbWx5IGFzc2lnbmVkIGlmIG5vdCBnaXZlbi4qL1xuICAgICAgICAgICAgICAgICAgICBpZDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgICAgICAgICAgICAgICAgLyoqXG4gICAgICAgICAgICAgICAgICAgICAqIE9wdGlvbmFsIG5hbWUgZm9yIHRoZSBlbGVtZW50LCB1c2VmdWwgd2hlbiBgZGF0YShsYWJlbClgIGlzIGdpdmVuIHRvIGEgc3R5bGUncyBgY29udGVudGBcbiAgICAgICAgICAgICAgICAgICAgICogb3IgYGxhYmVsYC4gSXQgaXMgb25seSBhIGNvbnZlbnRpb24uICovXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICAgICAgICAgICAgICAvKiogT25seSBmb3Igbm9kZXMuIE9wdGlvbmFsIHJlZmVyZW5jZSB0byBhbm90aGVyIG5vZGUuIE5lZWRlZCB0byBjcmVhdGUgY29tcG91bmQgbm9kZXMuICovXG4gICAgICAgICAgICAgICAgICAgIHBhcmVudDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgICAgICAgICAgICAgICAgLyoqIE9ubHkgZm9yIGVkZ2VzLiBUaGUgaWQgb2YgdGhlIHNvdXJjZSBub2RlLCB3aGljaCBpcyB3aGVyZSB0aGUgZWRnZSBzdGFydHMuICovXG4gICAgICAgICAgICAgICAgICAgIHNvdXJjZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgICAgICAgICAgICAgICAgLyoqIE9ubHkgZm9yIGVkZ2VzLiBUaGUgaWQgb2YgdGhlIHRhcmdldCBub2RlLCB3aGVyZSB0aGUgZWRnZSBlbmRzLiAqL1xuICAgICAgICAgICAgICAgICAgICB0YXJnZXQ6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgLyoqIE9ubHkgZm9yIG5vZGVzLiBUaGUgcG9zaXRpb24gb2YgdGhlIG5vZGUuICovXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IFByb3BUeXBlcy5zaGFwZSh7XG4gICAgICAgICAgICAgICAgICAgIC8qKiBUaGUgeC1jb29yZGluYXRlIG9mIHRoZSBub2RlLiAqL1xuICAgICAgICAgICAgICAgICAgICB4OiBQcm9wVHlwZXMubnVtYmVyLFxuICAgICAgICAgICAgICAgICAgICAvKiogVGhlIHktY29vcmRpbmF0ZSBvZiB0aGUgbm9kZS4gKi9cbiAgICAgICAgICAgICAgICAgICAgeTogUHJvcFR5cGVzLm51bWJlcixcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAvKiogSWYgdGhlIGVsZW1lbnQgaXMgc2VsZWN0ZWQgdXBvbiBpbml0aWFsaXNhdGlvbi4gKi9cbiAgICAgICAgICAgICAgICBzZWxlY3RlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgICAgICAgICAgICAgLyoqIElmIHRoZSBlbGVtZW50IGNhbiBiZSBzZWxlY3RlZC4gKi9cbiAgICAgICAgICAgICAgICBzZWxlY3RhYmxlOiBQcm9wVHlwZXMuYm9vbCxcbiAgICAgICAgICAgICAgICAvKiogT25seSBmb3Igbm9kZXMuIElmIHRoZSBwb3NpdGlvbiBpcyBpbW11dGFibGUuICovXG4gICAgICAgICAgICAgICAgbG9ja2VkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICAgICAgICAgICAgICAvKiogT25seSBmb3Igbm9kZXMuIElmIHRoZSBub2RlIGNhbiBiZSBncmFiYmVkIGFuZCBtb3ZlZCBieSB0aGUgdXNlci4gKi9cbiAgICAgICAgICAgICAgICBncmFiYmFibGU6IFByb3BUeXBlcy5ib29sLFxuICAgICAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICAgICAqIFNwYWNlIHNlcGFyYXRlZCBzdHJpbmcgb2YgY2xhc3MgbmFtZXMgb2YgdGhlIGVsZW1lbnQuIFRob3NlIGNsYXNzZXMgY2FuIGJlIHNlbGVjdGVkXG4gICAgICAgICAgICAgICAgICogYnkgYSBzdHlsZSBzZWxlY3Rvci5cbiAgICAgICAgICAgICAgICAgKi9cbiAgICAgICAgICAgICAgICBjbGFzc2VzOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgKSxcbiAgICAgICAgUHJvcFR5cGVzLmV4YWN0KHtcbiAgICAgICAgICAgIG5vZGVzOiBQcm9wVHlwZXMuYXJyYXksXG4gICAgICAgICAgICBlZGdlczogUHJvcFR5cGVzLmFycmF5LFxuICAgICAgICB9KSxcbiAgICBdKSxcblxuICAgIC8qKlxuICAgICAqIEEgbGlzdCBvZiBkaWN0aW9uYXJpZXMgcmVwcmVzZW50aW5nIHRoZSBzdHlsZXMgb2YgdGhlIGVsZW1lbnRzLlxuICAgICAqIEVhY2ggZGljdGlvbmFyeSByZXF1aXJlcyB0aGUgZm9sbG93aW5nIGtleXM6IGBzZWxlY3RvcmAgYW5kIGBzdHlsZWAuXG4gICAgICpcbiAgICAgKiBCb3RoIHRoZSBbc2VsZWN0b3JdKGh0dHBzOi8vanMuY3l0b3NjYXBlLm9yZy8jc2VsZWN0b3JzKSBhbmRcbiAgICAgKiB0aGUgW3N0eWxlXShodHRwczovL2pzLmN5dG9zY2FwZS5vcmcvI3N0eWxlL25vZGUtYm9keSkgYXJlXG4gICAgICogZXhoYXVzdGl2ZWx5IGRvY3VtZW50ZWQgaW4gdGhlIEN5dG9zY2FwZS5qcyBkb2NzLiBBbHRob3VnaCBtZXRob2RzIHN1Y2hcbiAgICAgKiBhcyBgY3kuZWxlbWVudHMoLi4uKWAgYW5kIGBjeS5maWx0ZXIoLi4uKWAgYXJlIG5vdCBhdmFpbGFibGUsIHRoZSBzZWxlY3RvclxuICAgICAqIHN0cmluZyBzeW50YXggc3RheXMgdGhlIHNhbWUuXG4gICAgICovXG4gICAgc3R5bGVzaGVldDogUHJvcFR5cGVzLmFycmF5T2YoXG4gICAgICAgIFByb3BUeXBlcy5leGFjdCh7XG4gICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAqIFdoaWNoIGVsZW1lbnRzIHlvdSBhcmUgc3R5bGluZy4gR2VuZXJhbGx5LCB5b3Ugc2VsZWN0IGEgZ3JvdXAgb2YgZWxlbWVudHMgKG5vZGUsIGVkZ2VzLCBib3RoKSxcbiAgICAgICAgICAgICAqIGEgY2xhc3MgKHRoYXQgeW91IGRlY2xhcmUgaW4gdGhlIGVsZW1lbnQgZGljdGlvbmFyeSksIG9yIGFuIGVsZW1lbnQgYnkgSUQuXG4gICAgICAgICAgICAgKi9cbiAgICAgICAgICAgIHNlbGVjdG9yOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAqIFdoYXQgYXNwZWN0cyBvZiB0aGUgZWxlbWVudHMgeW91IHdhbnQgdG8gbW9kaWZ5LiBUaGlzIGNvdWxkIGJlIHRoZSBzaXplIG9yXG4gICAgICAgICAgICAgKiBjb2xvciBvZiBhIG5vZGUsIHRoZSBzaGFwZSBvZiBhbiBlZGdlIGFycm93LCBvciBtYW55IG1vcmUuXG4gICAgICAgICAgICAgKi9cbiAgICAgICAgICAgIHN0eWxlOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWQsXG4gICAgICAgIH0pXG4gICAgKSxcblxuICAgIC8qKlxuICAgICAqIEEgZGljdGlvbmFyeSBzcGVjaWZ5aW5nIGhvdyB0byBzZXQgdGhlIHBvc2l0aW9uIG9mIHRoZSBlbGVtZW50cyBpbiB5b3VyXG4gICAgICogZ3JhcGguIFRoZSBgJ25hbWUnYCBrZXkgaXMgcmVxdWlyZWQsIGFuZCBpbmRpY2F0ZXMgd2hpY2ggbGF5b3V0IChhbGdvcml0aG0pIHRvXG4gICAgICogdXNlLiBUaGUga2V5cyBhY2NlcHRlZCBieSBgbGF5b3V0YCB2YXJ5IGRlcGVuZGluZyBvbiB0aGUgYWxnb3JpdGhtLCBidXQgdGhlc2VcbiAgICAgKiBrZXlzIGFyZSBhY2NlcHRlZCBieSBhbGwgbGF5b3V0czogYGZpdGAsICBgcGFkZGluZ2AsIGBhbmltYXRlYCwgYGFuaW1hdGlvbkR1cmF0aW9uYCxcbiAgICAgKiBgYm91bmRpbmdCb3hgLlxuICAgICAqXG4gICAgICogIFRoZSBjb21wbGV0ZSBsaXN0IG9mIGxheW91dHMgYW5kIHRoZWlyIGFjY2VwdGVkIG9wdGlvbnMgYXJlIGF2YWlsYWJsZSBvbiB0aGVcbiAgICAgKiAgW0N5dG9zY2FwZS5qcyBkb2NzXShodHRwczovL2pzLmN5dG9zY2FwZS5vcmcvI2xheW91dHMpIC4gRm9yIHRoZSBleHRlcm5hbCBsYXlvdXRzLFxuICAgICAqIHRoZSBvcHRpb25zIGFyZSBsaXN0ZWQgaW4gdGhlIFwiQVBJXCIgc2VjdGlvbiBvZiB0aGUgIFJFQURNRS5cbiAgICAgKiAgTm90ZSB0aGF0IGNlcnRhaW4ga2V5cyBhcmUgbm90IHN1cHBvcnRlZCBpbiBEYXNoIHNpbmNlIHRoZSB2YWx1ZSBpcyBhIEphdmFTY3JpcHRcbiAgICAgKiAgZnVuY3Rpb24gb3IgYSBjYWxsYmFjay4gUGxlYXNlIHZpc2l0IHRoaXNcbiAgICAgKiBbaXNzdWVdKGh0dHBzOi8vZ2l0aHViLmNvbS9wbG90bHkvZGFzaC1jeXRvc2NhcGUvaXNzdWVzLzI1KSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiAgICAgKi9cbiAgICBsYXlvdXQ6IFByb3BUeXBlcy5zaGFwZSh7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBUaGUgbGF5b3V0cyBhdmFpbGFibGUgYnkgZGVmYXVsdCBhcmU6XG4gICAgICAgICAqICAgYHJhbmRvbWA6IFJhbmRvbWx5IGFzc2lnbnMgcG9zaXRpb25zLlxuICAgICAgICAgKiAgIGBwcmVzZXRgOiBBc3NpZ25zIHBvc2l0aW9uIGJhc2VkIG9uIHRoZSBgcG9zaXRpb25gIGtleSBpbiBlbGVtZW50IGRpY3Rpb25hcmllcy5cbiAgICAgICAgICogICBgY2lyY2xlYDogU2luZ2xlLWxldmVsIGNpcmNsZSwgd2l0aCBvcHRpb25hbCByYWRpdXMuXG4gICAgICAgICAqICAgYGNvbmNlbnRyaWNgOiBNdWx0aS1sZXZlbCBjaXJjbGUsIHdpdGggb3B0aW9uYWwgcmFkaXVzLlxuICAgICAgICAgKiAgIGBncmlkYDogU3F1YXJlIGdyaWQsIG9wdGlvbmFsbHkgd2l0aCBudW1iZXJzIG9mIGByb3dzYCBhbmQgYGNvbHNgLlxuICAgICAgICAgKiAgIGBicmVhZHRoZmlyc3RgOiBUcmVlIHN0cnVjdHVyZSBidWlsdCB1c2luZyBCRlMsIHdpdGggb3B0aW9uYWwgYHJvb3RzYC5cbiAgICAgICAgICogICBgY29zZWA6IEZvcmNlLWRpcmVjdGVkIHBoeXNpY3Mgc2ltdWxhdGlvbi5cbiAgICAgICAgICpcbiAgICAgICAgICogU29tZSBleHRlcm5hbCBsYXlvdXRzIGFyZSBhbHNvIGluY2x1ZGVkLiBUbyB1c2UgdGhlbSwgcnVuXG4gICAgICAgICAqICAgYGRhc2hfY3l0b3NjYXBlLmxvYWRfZXh0cmFfbGF5b3V0cygpYCBiZWZvcmUgY3JlYXRpbmcgeW91ciBEYXNoIGFwcC4gQmUgY2FyZWZ1bCBhYm91dFxuICAgICAgICAgKiAgIHVzaW5nIHRoZSBleHRyYSBsYXlvdXRzIHdoZW4gbm90IG5lY2Vzc2FyeSwgc2luY2UgdGhleSByZXF1aXJlIHN1cHBsZW1lbnRhcnkgYmFuZHdpZHRoXG4gICAgICAgICAqICAgZm9yIGxvYWRpbmcsIHdoaWNoIGltcGFjdHMgdGhlIHN0YXJ0dXAgdGltZSBvZiB0aGUgYXBwLlxuICAgICAgICAgKiAgIFRoZSBleHRlcm5hbCBsYXlvdXRzIGFyZTpcbiAgICAgICAgICogICBbY29zZS1iaWxrZW50XShodHRwczovL2dpdGh1Yi5jb20vY3l0b3NjYXBlL2N5dG9zY2FwZS5qcy1jb3NlLWJpbGtlbnQpLFxuICAgICAgICAgKiAgIFtmY29zZV0oaHR0cHM6Ly9naXRodWIuY29tL2lWaXMtYXQtQmlsa2VudC9jeXRvc2NhcGUuanMtZmNvc2UpLFxuICAgICAgICAgKiAgIFtjb2xhXShodHRwczovL2dpdGh1Yi5jb20vY3l0b3NjYXBlL2N5dG9zY2FwZS5qcy1jb2xhKSxcbiAgICAgICAgICogICBbZXVsZXJdKGh0dHBzOi8vZ2l0aHViLmNvbS9jeXRvc2NhcGUvY3l0b3NjYXBlLmpzLWRhZ3JlKSxcbiAgICAgICAgICogICBbc3ByZWFkXShodHRwczovL2dpdGh1Yi5jb20vY3l0b3NjYXBlL2N5dG9zY2FwZS5qcy1zcHJlYWQpLFxuICAgICAgICAgKiAgIFtkYWdyZV0oaHR0cHM6Ly9naXRodWIuY29tL2N5dG9zY2FwZS9jeXRvc2NhcGUuanMtZGFncmUpLFxuICAgICAgICAgKiAgIFtrbGF5XShodHRwczovL2dpdGh1Yi5jb20vY3l0b3NjYXBlL2N5dG9zY2FwZS5qcy1rbGF5KSxcbiAgICAgICAgICovXG4gICAgICAgIG5hbWU6IFByb3BUeXBlcy5vbmVPZihbXG4gICAgICAgICAgICAncmFuZG9tJyxcbiAgICAgICAgICAgICdwcmVzZXQnLFxuICAgICAgICAgICAgJ2NpcmNsZScsXG4gICAgICAgICAgICAnY29uY2VudHJpYycsXG4gICAgICAgICAgICAnZ3JpZCcsXG4gICAgICAgICAgICAnYnJlYWR0aGZpcnN0JyxcbiAgICAgICAgICAgICdjb3NlJyxcbiAgICAgICAgICAgICdjb3NlLWJpbGtlbnQnLFxuICAgICAgICAgICAgJ2Zjb3NlJyxcbiAgICAgICAgICAgICdjb2xhJyxcbiAgICAgICAgICAgICdldWxlcicsXG4gICAgICAgICAgICAnc3ByZWFkJyxcbiAgICAgICAgICAgICdkYWdyZScsXG4gICAgICAgICAgICAna2xheScsXG4gICAgICAgIF0pLmlzUmVxdWlyZWQsXG4gICAgICAgIC8qKiAgV2hldGhlciB0byByZW5kZXIgdGhlIG5vZGVzIGluIG9yZGVyIHRvIGZpdCB0aGUgY2FudmFzLiAqL1xuICAgICAgICBmaXQ6IFByb3BUeXBlcy5ib29sLFxuICAgICAgICAvKiogUGFkZGluZyBhcm91bmQgdGhlIHNpZGVzIG9mIHRoZSBjYW52YXMsIGlmIGZpdCBpcyBlbmFibGVkLiAqL1xuICAgICAgICBwYWRkaW5nOiBQcm9wVHlwZXMubnVtYmVyLFxuICAgICAgICAvKiogV2hldGhlciB0byBhbmltYXRlIGNoYW5nZSBpbiBwb3NpdGlvbiB3aGVuIHRoZSBsYXlvdXQgY2hhbmdlcy4gKi9cbiAgICAgICAgYW5pbWF0ZTogUHJvcFR5cGVzLmJvb2wsXG4gICAgICAgIC8qKiBEdXJhdGlvbiBvZiBhbmltYXRpb24gaW4gbWlsbGlzZWNvbmRzLCBpZiBlbmFibGVkLiAqL1xuICAgICAgICBhbmltYXRpb25EdXJhdGlvbjogUHJvcFR5cGVzLm51bWJlcixcbiAgICAgICAgLyoqXG4gICAgICAgICAqIEhvdyB0byBjb25zdHJhaW4gdGhlIGxheW91dCBpbiBhIHNwZWNpZmljIGFyZWEuIEtleXMgYWNjZXB0ZWQgYXJlIGVpdGhlclxuICAgICAgICAgKiBgeDEsIHkxLCB4MiwgeTJgIG9yIGB4MSwgeTEsIHcsIGhgLCBhbGwgb2Ygd2hpY2ggcmVjZWl2ZSBhIHBpeGVsIHZhbHVlLlxuICAgICAgICAgKi9cbiAgICAgICAgYm91bmRpbmdCb3g6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgfSksXG4gICAgLyoqXG4gICAgICogRGVmaW5lIGEgY3VzdG9tIGNvbnRleHQgbWVudS4gVGhlIGJlaGF2aW91ciBvZiBlYWNoIG1lbnUgaXRlbSBjYW4gYmUgZGVmaW5lZCBpbiAxIG9mIDMgd2F5cy5cbiAgICAgKiAxLiBCeSBwYXNzaW5nIGEgc3RyaW5nIHRvIG9uQ2xpY2sgdGhhdCByZWZlcnMgdG8gb25lIG9mIHRoZSBidWlsdC1pbiBKYXZhc2NyaXB0IGZ1bmN0aW9ucy5cbiAgICAgKiAyLiBCeSBwYXNzaW5nIGEgc3RyaW5nIHRvIG9uQ2xpY2tDdXN0b20gdGhhdCByZWZlcnMgdG8gb25lIG9mIHRoZSB1c2VyLWRlZmluZWQgZnVuY3Rpb25zIGluIGEgbmFtZXNwYWNlLlxuICAgICAqIDMuIEJ5IG9taXR0aW5nIGJvdGggb2YgdGhlc2UgcHJvcGVydGllczsgdGhpcyB3aWxsIHVwZGF0ZSB0aGUgY29udGV4dE1lbnVEYXRhIHByb3BlcnR5IGFuZCB0cmlnZ2VyIGEgRGFzaCBjYWxsYmFjay5cbiAgICAgKi9cbiAgICBjb250ZXh0TWVudTogUHJvcFR5cGVzLmFycmF5T2YoXG4gICAgICAgIFByb3BUeXBlcy5leGFjdCh7XG4gICAgICAgICAgICAvKiogSUQgb2YgdGhlIG1lbnUgaXRlbSBpbiB0aGUgY29udGV4dCBtZW51ICovXG4gICAgICAgICAgICBpZDogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICAgICAgICAgICAgLyoqIFRoZSBsYWJlbCBvbiB0aGUgY29udGV4dCBtZW51IGl0ZW0qL1xuICAgICAgICAgICAgbGFiZWw6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgICAgICAgICAgIC8qKiBUaGUgdG9vbHRpcCB0ZXh0IHdoZW4gaG92ZXJpbmcgb24gdG9wIG9mIGEgY29udGV4dCBtZW51IGl0ZW0gKi9cbiAgICAgICAgICAgIHRvb2x0aXBUZXh0OiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICAgICAgLyoqIEEgbGlzdCBjb250YWluaW5nIGVpdGhlciAnbm9kZScsICdlZGdlJyxhbmQvb3IgJ2NhbnZhcycuIFRoaXMgd2lsbCBkZXRlcm1pbmUgd2hlcmUgdGhlIGNvbnRleHRcbiAgICAgICAgICAgICAqICBtZW51IGl0ZW0gd2lsbCBzaG93IHVwLlxuICAgICAgICAgICAgICovXG4gICAgICAgICAgICBhdmFpbGFibGVPbjogUHJvcFR5cGVzLmFycmF5LFxuICAgICAgICAgICAgLyoqIFNwZWNpZnkgd2hpY2ggYnVpbHQtaW4gSmF2YVNjcmlwdCBmdW5jdGlvbiB0byB1c2UgYXMgYmVoYXZpb3VyIGZvciB0aGUgY29udGV4dFxuICAgICAgICAgICAgICogbWVudSBpdGVtLiBPbmUgb2YgJ3JlbW92ZScsICdhZGRfbm9kZScsIG9yICdhZGRfZWRnZSdcbiAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgb25DbGljazogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgICAgICAgIC8qKiBTcGVjaWZ5IHdoaWNoIHVzZXItZGVmaW5lZCBKYXZhc2NyaXB0IGZ1bmN0aW9uIHRvIHVzZSBpbiB0aGUgZGFzaEN5dG9zY2FwZUZ1bmN0aW9uc1xuICAgICAgICAgICAgICogbmFtZXNwYWNlIGFzIGJlaGF2aW91ciBmb3IgdGhlIGNvbnRleHQgbWVudSBpdGVtXG4gICAgICAgICAgICAgKi9cbiAgICAgICAgICAgIG9uQ2xpY2tDdXN0b206IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICAgIH0pXG4gICAgKSxcbiAgICAvKipcbiAgICAgKiBSZXRyaWV2ZSByZWxldmFudCBkYXRhIHdoZW4gYSBjb250ZXh0IG1lbnUgaXRlbSBpcyBjbGlja2VkLiAgUmVhZC1vbmx5LlxuICAgICAqL1xuICAgIGNvbnRleHRNZW51RGF0YTogUHJvcFR5cGVzLmV4YWN0KHtcbiAgICAgICAgLyoqIElEIG9mIHRoZSBtZW51IGl0ZW0gaW4gdGhlIGNvbnRleHQgbWVudSAqL1xuICAgICAgICBtZW51SXRlbUlkOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICAvKiogeC1wb3NpdGlvbiBvZiB0aGUgY29udGV4dCBjbGljayAqL1xuICAgICAgICB4OiBQcm9wVHlwZXMubnVtYmVyLFxuICAgICAgICAvKiogeS1wb3NpdGlvbiBvZiB0aGUgY29udGV4dCBjbGljayAqL1xuICAgICAgICB5OiBQcm9wVHlwZXMubnVtYmVyLFxuICAgICAgICAvKiogVGltZXN0YW1wIG9mIGNvbnRleHQgY2xpY2sqL1xuICAgICAgICB0aW1lU3RhbXA6IFByb3BUeXBlcy5udW1iZXIsXG4gICAgICAgIC8qKiBFbGVtZW50IElEIG9uIGNvbnRleHQgY2xpY2sgaWYgdGhlIGNvbnRleHQgY2xpY2sgd2FzIG9uIGFuIGVsZW1lbnQuXG4gICAgICAgICAqIElmIGNvbnRleHQgY2xpY2sgd2FzIG9uIHdoaXRlIHNwYWNlLCB0aGlzIHByb3BlcnR5IGlzIG5vdCByZXR1cm5lZFxuICAgICAgICAgKi9cbiAgICAgICAgZWxlbWVudElkOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICAvKiogTm9kZSBJRCBvZiB0aGUgZWRnZSBzb3VyY2UgaWYgdGhlIGNsaWNrZWQgZWxlbWVudCBpcyBhbiBlZGdlLFxuICAgICAgICAgKiBvciBlbHNlIHRoaXMgcHJvcGVydHkgaXMgbm90IHJldHVybmVkKi9cbiAgICAgICAgZWRnZVNvdXJjZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgICAgLyoqIE5vZGUgSUQgb2YgdGhlIGVkZ2UgdGFyZ2V0IGlmIHRoZSBjbGlja2VkIGVsZW1lbnQgaXMgYW4gZWRnZSxcbiAgICAgICAgICogb3IgZWxzZSB0aGlzIHByb3BlcnR5IGlzIG5vdCByZXR1cm5lZCovXG4gICAgICAgIGVkZ2VUYXJnZXQ6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgfSksXG4gICAgLy8gVmlld3BvcnQgTWFuaXB1bGF0aW9uXG5cbiAgICAvKipcbiAgICAgKiBEaWN0aW9uYXJ5IGluZGljYXRpbmcgdGhlIGluaXRpYWwgcGFubmluZyBwb3NpdGlvbiBvZiB0aGUgZ3JhcGguIFRoZVxuICAgICAqIGZvbGxvd2luZyBrZXlzIGFyZSBhY2NlcHRlZDpcbiAgICAgKi9cbiAgICBwYW46IFByb3BUeXBlcy5leGFjdCh7XG4gICAgICAgIC8qKiBUaGUgeC1jb29yZGluYXRlIG9mIHRoZSBub2RlICovXG4gICAgICAgIHg6IFByb3BUeXBlcy5udW1iZXIsXG4gICAgICAgIC8qKiBUaGUgeS1jb29yZGluYXRlIG9mIHRoZSBub2RlICAqL1xuICAgICAgICB5OiBQcm9wVHlwZXMubnVtYmVyLFxuICAgIH0pLFxuXG4gICAgLyoqXG4gICAgICogVGhlIGluaXRpYWwgem9vbSBsZXZlbCBvZiB0aGUgZ3JhcGguIFlvdSBjYW4gc2V0IGBtaW5ab29tYCBhbmRcbiAgICAgKiBgbWF4Wm9vbWAgdG8gc2V0IHJlc3RyaWN0aW9ucyBvbiB0aGUgem9vbSBsZXZlbC5cbiAgICAgKi9cbiAgICB6b29tOiBQcm9wVHlwZXMubnVtYmVyLFxuXG4gICAgLy8gVmlld3BvcnQgTXV0YWJpbGl0eSBhbmQgZ2VzdHVyZSBUb2dnbGluZ1xuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgcGFubmluZyB0aGUgZ3JhcGggaXMgZW5hYmxlZCAoaS5lLiwgdGhlIHBvc2l0aW9uIG9mIHRoZSBncmFwaCBpc1xuICAgICAqIG11dGFibGUgb3ZlcmFsbCkuXG4gICAgICovXG4gICAgcGFubmluZ0VuYWJsZWQ6IFByb3BUeXBlcy5ib29sLFxuXG4gICAgLyoqXG4gICAgICogV2hldGhlciB1c2VyIGV2ZW50cyAoZS5nLiBkcmFnZ2luZyB0aGUgZ3JhcGggYmFja2dyb3VuZCkgYXJlIGFsbG93ZWQgdG9cbiAgICAgKiBwYW4gdGhlIGdyYXBoLlxuICAgICAqL1xuICAgIHVzZXJQYW5uaW5nRW5hYmxlZDogUHJvcFR5cGVzLmJvb2wsXG5cbiAgICAvKipcbiAgICAgKiBBIG1pbmltdW0gYm91bmQgb24gdGhlIHpvb20gbGV2ZWwgb2YgdGhlIGdyYXBoLiBUaGUgdmlld3BvcnQgY2FuIG5vdCBiZVxuICAgICAqIHNjYWxlZCBzbWFsbGVyIHRoYW4gdGhpcyB6b29tIGxldmVsLlxuICAgICAqL1xuICAgIG1pblpvb206IFByb3BUeXBlcy5udW1iZXIsXG5cbiAgICAvKipcbiAgICAgKiBBIG1heGltdW0gYm91bmQgb24gdGhlIHpvb20gbGV2ZWwgb2YgdGhlIGdyYXBoLiBUaGUgdmlld3BvcnQgY2FuIG5vdCBiZVxuICAgICAqIHNjYWxlZCBsYXJnZXIgdGhhbiB0aGlzIHpvb20gbGV2ZWwuXG4gICAgICovXG4gICAgbWF4Wm9vbTogUHJvcFR5cGVzLm51bWJlcixcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgem9vbWluZyB0aGUgZ3JhcGggaXMgZW5hYmxlZCAoaS5lLiwgdGhlIHpvb20gbGV2ZWwgb2YgdGhlIGdyYXBoXG4gICAgICogaXMgbXV0YWJsZSBvdmVyYWxsKS5cbiAgICAgKi9cbiAgICB6b29taW5nRW5hYmxlZDogUHJvcFR5cGVzLmJvb2wsXG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHVzZXIgZXZlbnRzIChlLmcuIGRyYWdnaW5nIHRoZSBncmFwaCBiYWNrZ3JvdW5kKSBhcmUgYWxsb3dlZFxuICAgICAqIHRvIHBhbiB0aGUgZ3JhcGguXG4gICAgICovXG4gICAgdXNlclpvb21pbmdFbmFibGVkOiBQcm9wVHlwZXMuYm9vbCxcblxuICAgIC8qKlxuICAgICAqIENoYW5nZXMgdGhlIHNjcm9sbCB3aGVlbCBzZW5zaXRpdml0eSB3aGVuIHpvb21pbmcuXG4gICAgICovXG4gICAgd2hlZWxTZW5zaXRpdml0eTogUHJvcFR5cGVzLm51bWJlcixcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgYm94IHNlbGVjdGlvbiAoaS5lLiBkcmFnIGEgYm94IG92ZXJsYXkgYXJvdW5kLCBhbmQgcmVsZWFzZSBpdFxuICAgICAqIHRvIHNlbGVjdCkgaXMgZW5hYmxlZC4gSWYgZW5hYmxlZCwgdGhlIHVzZXIgbXVzdCB0YXBob2xkIHRvIHBhbiB0aGUgZ3JhcGguXG4gICAgICovXG4gICAgYm94U2VsZWN0aW9uRW5hYmxlZDogUHJvcFR5cGVzLmJvb2wsXG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIG5vZGVzIHNob3VsZCBiZSB1bmdyYWJpZmllZCAobm90IGdyYWJiYWJsZSBieSB1c2VyKSBieVxuICAgICAqIGRlZmF1bHQgKGlmIHRydWUsIG92ZXJyaWRlcyBpbmRpdmlkdWFsIG5vZGUgc3RhdGUpLlxuICAgICAqL1xuICAgIGF1dG91bmdyYWJpZnk6IFByb3BUeXBlcy5ib29sLFxuXG4gICAgLyoqXG4gICAgICogV2hldGhlciBub2RlcyBzaG91bGQgYmUgbG9ja2VkIChub3QgZHJhZ2dhYmxlIGF0IGFsbCkgYnkgZGVmYXVsdFxuICAgICAqIChpZiB0cnVlLCBvdmVycmlkZXMgaW5kaXZpZHVhbCBub2RlIHN0YXRlKS5cbiAgICAgKi9cbiAgICBhdXRvbG9jazogUHJvcFR5cGVzLmJvb2wsXG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIG5vZGVzIHNob3VsZCBiZSB1bnNlbGVjdGlmaWVkIChpbW11dGFibGUgc2VsZWN0aW9uIHN0YXRlKSBieVxuICAgICAqIGRlZmF1bHQgKGlmIHRydWUsIG92ZXJyaWRlcyBpbmRpdmlkdWFsIGVsZW1lbnQgc3RhdGUpLlxuICAgICAqL1xuICAgIGF1dG91bnNlbGVjdGlmeTogUHJvcFR5cGVzLmJvb2wsXG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRoZSBsYXlvdXQgc2hvdWxkIGJlIHJlZnJlc2hlZCB3aGVuIGVsZW1lbnRzIGFyZSBhZGRlZCBvciByZW1vdmVkLlxuICAgICAqL1xuICAgIGF1dG9SZWZyZXNoTGF5b3V0OiBQcm9wVHlwZXMuYm9vbCxcblxuICAgIC8vIFVzZXIgRXZlbnRzIFByb3BzXG5cbiAgICAvKipcbiAgICAgKiBUaGUgY29tcGxldGUgbm9kZSBkaWN0aW9uYXJ5IHJldHVybmVkIHdoZW4geW91IHRhcCBvciBjbGljayBpdC4gUmVhZC1vbmx5LlxuICAgICAqL1xuICAgIHRhcE5vZGU6IFByb3BUeXBlcy5leGFjdCh7XG4gICAgICAgIC8qKiBub2RlIHNwZWNpZmljIGl0ZW0gKi9cbiAgICAgICAgZWRnZXNEYXRhOiBQcm9wVHlwZXMuYXJyYXksXG4gICAgICAgIC8qKiBub2RlIHNwZWNpZmljIGl0ZW0gKi9cbiAgICAgICAgcmVuZGVyZWRQb3NpdGlvbjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICAgICAgLyoqIG5vZGUgc3BlY2lmaWMgaXRlbSAqL1xuICAgICAgICB0aW1lU3RhbXA6IFByb3BUeXBlcy5udW1iZXIsXG4gICAgICAgIC8qKiBHZW5lcmFsIGl0ZW0gKGZvciBhbGwgZWxlbWVudHMpICovXG4gICAgICAgIGNsYXNzZXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICAgIC8qKiBHZW5lcmFsIGl0ZW0gKGZvciBhbGwgZWxlbWVudHMpICovXG4gICAgICAgIGRhdGE6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgICAgIC8qKiBHZW5lcmFsIGl0ZW0gKGZvciBhbGwgZWxlbWVudHMpICovXG4gICAgICAgIGdyYWJiYWJsZTogUHJvcFR5cGVzLmJvb2wsXG4gICAgICAgIC8qKiBHZW5lcmFsIGl0ZW0gKGZvciBhbGwgZWxlbWVudHMpICovXG4gICAgICAgIGdyb3VwOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICAvKiogR2VuZXJhbCBpdGVtIChmb3IgYWxsIGVsZW1lbnRzKSAqL1xuICAgICAgICBsb2NrZWQ6IFByb3BUeXBlcy5ib29sLFxuICAgICAgICAvKiogR2VuZXJhbCBpdGVtIChmb3IgYWxsIGVsZW1lbnRzKSAqL1xuICAgICAgICBwb3NpdGlvbjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICAgICAgLyoqIEdlbmVyYWwgaXRlbSAoZm9yIGFsbCBlbGVtZW50cykgKi9cbiAgICAgICAgc2VsZWN0YWJsZTogUHJvcFR5cGVzLmJvb2wsXG4gICAgICAgIC8qKiBHZW5lcmFsIGl0ZW0gKGZvciBhbGwgZWxlbWVudHMpICovXG4gICAgICAgIHNlbGVjdGVkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICAgICAgLyoqIEdlbmVyYWwgaXRlbSAoZm9yIGFsbCBlbGVtZW50cykgKi9cbiAgICAgICAgc3R5bGU6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgICAgIC8qKiBJdGVtIGZvciBjb21wb3VuZCBub2RlcyAqL1xuICAgICAgICBhbmNlc3RvcnNEYXRhOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMub2JqZWN0LCBQcm9wVHlwZXMuYXJyYXldKSxcbiAgICAgICAgLyoqIEl0ZW0gZm9yIGNvbXBvdW5kIG5vZGVzICovXG4gICAgICAgIGNoaWxkcmVuRGF0YTogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLm9iamVjdCwgUHJvcFR5cGVzLmFycmF5XSksXG4gICAgICAgIC8qKiBJdGVtIGZvciBjb21wb3VuZCBub2RlcyAqL1xuICAgICAgICBkZXNjZW5kYW50c0RhdGE6IFByb3BUeXBlcy5vbmVPZlR5cGUoW1xuICAgICAgICAgICAgUHJvcFR5cGVzLm9iamVjdCxcbiAgICAgICAgICAgIFByb3BUeXBlcy5hcnJheSxcbiAgICAgICAgXSksXG4gICAgICAgIC8qKiBJdGVtIGZvciBjb21wb3VuZCBub2RlcyAqL1xuICAgICAgICBwYXJlbnREYXRhOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMub2JqZWN0LCBQcm9wVHlwZXMuYXJyYXldKSxcbiAgICAgICAgLyoqIEl0ZW0gZm9yIGNvbXBvdW5kIG5vZGVzICovXG4gICAgICAgIHNpYmxpbmdzRGF0YTogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLm9iamVjdCwgUHJvcFR5cGVzLmFycmF5XSksXG4gICAgICAgIC8qKiBJdGVtIGZvciBjb21wb3VuZCBub2RlcyAqL1xuICAgICAgICBpc1BhcmVudDogUHJvcFR5cGVzLmJvb2wsXG4gICAgICAgIC8qKiBJdGVtIGZvciBjb21wb3VuZCBub2RlcyAqL1xuICAgICAgICBpc0NoaWxkbGVzczogUHJvcFR5cGVzLmJvb2wsXG4gICAgICAgIC8qKiBJdGVtIGZvciBjb21wb3VuZCBub2RlcyAqL1xuICAgICAgICBpc0NoaWxkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICAgICAgLyoqIEl0ZW0gZm9yIGNvbXBvdW5kIG5vZGVzICovXG4gICAgICAgIGlzT3JwaGFuOiBQcm9wVHlwZXMuYm9vbCxcbiAgICAgICAgLyoqIEl0ZW0gZm9yIGNvbXBvdW5kIG5vZGVzICovXG4gICAgICAgIHJlbGF0aXZlUG9zaXRpb246IFByb3BUeXBlcy5vYmplY3QsXG4gICAgfSksXG5cbiAgICAvKipcbiAgICAgKiBUaGUgZGF0YSBkaWN0aW9uYXJ5IG9mIGEgbm9kZSByZXR1cm5lZCB3aGVuIHlvdSB0YXAgb3IgY2xpY2sgaXQuIFJlYWQtb25seS5cbiAgICAgKi9cbiAgICB0YXBOb2RlRGF0YTogUHJvcFR5cGVzLm9iamVjdCxcblxuICAgIC8qKlxuICAgICAqIFRoZSBjb21wbGV0ZSBlZGdlIGRpY3Rpb25hcnkgcmV0dXJuZWQgd2hlbiB5b3UgdGFwIG9yIGNsaWNrIGl0LiBSZWFkLW9ubHkuXG4gICAgICovXG4gICAgdGFwRWRnZTogUHJvcFR5cGVzLmV4YWN0KHtcbiAgICAgICAgLyoqIEVkZ2Utc3BlY2lmaWMgaXRlbSAqL1xuICAgICAgICBpc0xvb3A6IFByb3BUeXBlcy5ib29sLFxuICAgICAgICAvKiogRWRnZS1zcGVjaWZpYyBpdGVtICovXG4gICAgICAgIGlzU2ltcGxlOiBQcm9wVHlwZXMuYm9vbCxcbiAgICAgICAgLyoqIEVkZ2Utc3BlY2lmaWMgaXRlbSAqL1xuICAgICAgICBtaWRwb2ludDogUHJvcFR5cGVzLm9iamVjdCxcbiAgICAgICAgLyoqIEVkZ2Utc3BlY2lmaWMgaXRlbSAqL1xuICAgICAgICBzb3VyY2VEYXRhOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgICAgICAvKiogRWRnZS1zcGVjaWZpYyBpdGVtICovXG4gICAgICAgIHNvdXJjZUVuZHBvaW50OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgICAgICAvKiogRWRnZS1zcGVjaWZpYyBpdGVtICovXG4gICAgICAgIHRhcmdldERhdGE6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgICAgIC8qKiBFZGdlLXNwZWNpZmljIGl0ZW0gKi9cbiAgICAgICAgdGFyZ2V0RW5kcG9pbnQ6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgICAgIC8qKiBFZGdlLXNwZWNpZmljIGl0ZW0gKi9cbiAgICAgICAgdGltZVN0YW1wOiBQcm9wVHlwZXMubnVtYmVyLFxuICAgICAgICAvKiogR2VuZXJhbCBpdGVtIChmb3IgYWxsIGVsZW1lbnRzKSAqL1xuICAgICAgICBjbGFzc2VzOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICAvKiogR2VuZXJhbCBpdGVtIChmb3IgYWxsIGVsZW1lbnRzKSAqL1xuICAgICAgICBkYXRhOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgICAgICAvKiogR2VuZXJhbCBpdGVtIChmb3IgYWxsIGVsZW1lbnRzKSAqL1xuICAgICAgICBncmFiYmFibGU6IFByb3BUeXBlcy5ib29sLFxuICAgICAgICAvKiogR2VuZXJhbCBpdGVtIChmb3IgYWxsIGVsZW1lbnRzKSAqL1xuICAgICAgICBncm91cDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgICAgLyoqIEdlbmVyYWwgaXRlbSAoZm9yIGFsbCBlbGVtZW50cykgKi9cbiAgICAgICAgbG9ja2VkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICAgICAgLyoqIEdlbmVyYWwgaXRlbSAoZm9yIGFsbCBlbGVtZW50cykgKi9cbiAgICAgICAgc2VsZWN0YWJsZTogUHJvcFR5cGVzLmJvb2wsXG4gICAgICAgIC8qKiBHZW5lcmFsIGl0ZW0gKGZvciBhbGwgZWxlbWVudHMpICovXG4gICAgICAgIHNlbGVjdGVkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICAgICAgLyoqIEdlbmVyYWwgaXRlbSAoZm9yIGFsbCBlbGVtZW50cykgKi9cbiAgICAgICAgc3R5bGU6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgfSksXG5cbiAgICAvKipcbiAgICAgKiBUaGUgZGF0YSBkaWN0aW9uYXJ5IG9mIGFuIGVkZ2UgcmV0dXJuZWQgd2hlbiB5b3UgdGFwIG9yIGNsaWNrIGl0LiBSZWFkLW9ubHkuXG4gICAgICovXG4gICAgdGFwRWRnZURhdGE6IFByb3BUeXBlcy5vYmplY3QsXG5cbiAgICAvKipcbiAgICAgKiBUaGUgZGF0YSBkaWN0aW9uYXJ5IG9mIGEgbm9kZSByZXR1cm5lZCB3aGVuIHlvdSBob3ZlciBvdmVyIGl0LiBSZWFkLW9ubHkuXG4gICAgICovXG4gICAgbW91c2VvdmVyTm9kZURhdGE6IFByb3BUeXBlcy5vYmplY3QsXG5cbiAgICAvKipcbiAgICAgKiBUaGUgZGF0YSBkaWN0aW9uYXJ5IG9mIGFuIGVkZ2UgcmV0dXJuZWQgd2hlbiB5b3UgaG92ZXIgb3ZlciBpdC4gUmVhZC1vbmx5LlxuICAgICAqL1xuICAgIG1vdXNlb3ZlckVkZ2VEYXRhOiBQcm9wVHlwZXMub2JqZWN0LFxuXG4gICAgLyoqXG4gICAgICogVGhlIGxpc3Qgb2YgZGF0YSBkaWN0aW9uYXJpZXMgb2YgYWxsIHNlbGVjdGVkIG5vZGVzIChlLmcuIHVzaW5nXG4gICAgICogU2hpZnQrQ2xpY2sgdG8gc2VsZWN0IG11bHRpcGxlIG5vZGVzLCBvciBTaGlmdCtEcmFnIHRvIHVzZSBib3ggc2VsZWN0aW9uKS4gUmVhZC1vbmx5LlxuICAgICAqL1xuICAgIHNlbGVjdGVkTm9kZURhdGE6IFByb3BUeXBlcy5hcnJheSxcblxuICAgIC8qKlxuICAgICAqIFRoZSBsaXN0IG9mIGRhdGEgZGljdGlvbmFyaWVzIG9mIGFsbCBzZWxlY3RlZCBlZGdlcyAoZS5nLiB1c2luZ1xuICAgICAqIFNoaWZ0K0NsaWNrIHRvIHNlbGVjdCBtdWx0aXBsZSBub2Rlcywgb3IgU2hpZnQrRHJhZyB0byB1c2UgYm94IHNlbGVjdGlvbikuIFJlYWQtb25seS5cbiAgICAgKi9cbiAgICBzZWxlY3RlZEVkZ2VEYXRhOiBQcm9wVHlwZXMuYXJyYXksXG5cbiAgICAvKipcbiAgICAgKiBEaWN0aW9uYXJ5IHNwZWNpZnlpbmcgb3B0aW9ucyB0byBnZW5lcmF0ZSBhbiBpbWFnZSBvZiB0aGUgY3VycmVudCBjeXRvc2NhcGUgZ3JhcGguXG4gICAgICogVmFsdWUgaXMgY2xlYXJlZCBhZnRlciBkYXRhIGlzIHJlY2VpdmVkIGFuZCBpbWFnZSBpcyBnZW5lcmF0ZWQuIFRoaXMgcHJvcGVydHkgd2lsbFxuICAgICAqIGJlIGlnbm9yZWQgb24gdGhlIGluaXRpYWwgY3JlYXRpb24gb2YgdGhlIGN5dG9zY2FwZSBvYmplY3QgYW5kIG11c3QgYmUgaW52b2tlZCB0aHJvdWdoXG4gICAgICogYSBjYWxsYmFjayBhZnRlciBpdCBoYXMgYmVlbiByZW5kZXJlZC5cbiAgICAgKlxuICAgICAqIElmIHRoZSBhcHAgZG9lcyBub3QgbmVlZCB0aGUgaW1hZ2UgZGF0YSBzZXJ2ZXIgc2lkZSBhbmQvb3IgaXQgd2lsbCBvbmx5IGJlIHVzZWQgdG8gZG93bmxvYWRcbiAgICAgKiB0aGUgaW1hZ2UsIGl0IG1heSBiZSBwcnVkZW50IHRvIGludm9rZSBgJ2Rvd25sb2FkJ2AgZm9yIGBhY3Rpb25gIGluc3RlYWQgb2ZcbiAgICAgKiBgJ3N0b3JlJ2AgdG8gaW1wcm92ZSBwZXJmb3JtYW5jZSBieSBwcmV2ZW50aW5nIHRyYW5zZmVyIG9mIGRhdGEgdG8gdGhlIHNlcnZlci5cbiAgICAgKi9cbiAgICBnZW5lcmF0ZUltYWdlOiBQcm9wVHlwZXMuc2hhcGUoe1xuICAgICAgICAvKiogRmlsZSB0eXBlIHRvIG91dHB1dCAgKi9cbiAgICAgICAgdHlwZTogUHJvcFR5cGVzLm9uZU9mKFsnc3ZnJywgJ3BuZycsICdqcGcnLCAnanBlZyddKSxcbiAgICAgICAgLyoqIERpY3Rpb25hcnkgb2Ygb3B0aW9ucyB0byBjeS5wbmcoKSAvIGN5LmpwZygpIG9yIGN5LnN2ZygpIGZvciBpbWFnZSBnZW5lcmF0aW9uLlxuICAgICAgICAgKiBTZWUgaHR0cHM6Ly9qcy5jeXRvc2NhcGUub3JnLyNjb3JlL2V4cG9ydCBmb3IgZGV0YWlscy4gRm9yIGAnb3V0cHV0J2AsIG9ubHkgJ2Jhc2U2NCdcbiAgICAgICAgICogYW5kICdiYXNlNjR1cmknIGFyZSBzdXBwb3J0ZWQuIERlZmF1bHQ6IGB7J291dHB1dCc6ICdiYXNlNjR1cmknfWAuKi9cbiAgICAgICAgb3B0aW9uczogUHJvcFR5cGVzLm9iamVjdCxcbiAgICAgICAgLyoqXG4gICAgICAgICAqIGAnc3RvcmUnYDogU3RvcmVzIHRoZSBpbWFnZSBkYXRhIChvbmx5IGpwZyBhbmQgcG5nIGFyZSBzdXBwb3J0ZWQpXG4gICAgICAgICAqIGluIGBpbWFnZURhdGFgIGFuZCBpbnZva2VzIHNlcnZlci1zaWRlIERhc2ggY2FsbGJhY2tzLiBgJ2Rvd25sb2FkJ2A6IERvd25sb2FkcyB0aGUgaW1hZ2VcbiAgICAgICAgICogYXMgYSBmaWxlIHdpdGggYWxsIGRhdGEgaGFuZGxpbmcgZG9uZSBjbGllbnQtc2lkZS4gTm8gYGltYWdlRGF0YWAgY2FsbGJhY2tzIGFyZSBmaXJlZC5cbiAgICAgICAgICogYCdib3RoJ2A6IFN0b3JlcyBpbWFnZSBkYXRhIGFuZCBkb3dubG9hZHMgaW1hZ2UgYXMgZmlsZS4gVGhlIGRlZmF1bHQgaXMgYCdzdG9yZSdgXG4gICAgICAgICAqL1xuICAgICAgICBhY3Rpb246IFByb3BUeXBlcy5vbmVPZihbJ3N0b3JlJywgJ2Rvd25sb2FkJywgJ2JvdGgnXSksXG4gICAgICAgIC8qKiBOYW1lIGZvciB0aGUgZmlsZSB0byBiZSBkb3dubG9hZGVkLiBEZWZhdWx0OiAnY3l0bycuKi9cbiAgICAgICAgZmlsZW5hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgfSksXG5cbiAgICAvKipcbiAgICAgKiBTdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhlIGltYWdlIHJlcXVlc3RlZCB3aXRoIGdlbmVyYXRlSW1hZ2UuIE51bGwgaWYgbm9cbiAgICAgKiBpbWFnZSB3YXMgcmVxdWVzdGVkIHlldCBvciB0aGUgcHJldmlvdXMgcmVxdWVzdCBmYWlsZWQuIFJlYWQtb25seS5cbiAgICAgKi9cbiAgICBpbWFnZURhdGE6IFByb3BUeXBlcy5zdHJpbmcsXG5cbiAgICAvKipcbiAgICAgKiBUb2dnbGVzIGludGVsbGlnZW50IHJlc3BvbnNpdmUgcmVzaXplIG9mIEN5dG9zY2FwZSBncmFwaCB3aXRoIHZpZXdwb3J0IHNpemUgY2hhbmdlXG4gICAgICovXG4gICAgcmVzcG9uc2l2ZTogUHJvcFR5cGVzLmJvb2wsXG5cbiAgICAvKipcbiAgICAgKiBFeHRlbnQgb2YgdGhlIHZpZXdwb3J0LCBhIGJvdW5kaW5nIGJveCBpbiBtb2RlbCBjby1vcmRpbmF0ZXMgdGhhdCBsZXRzIHlvdSBrbm93IHdoYXQgbW9kZWxcbiAgICAgKiBwb3NpdGlvbnMgYXJlIHZpc2libGUgaW4gdGhlIHZpZXdwb3J0LiBUaGlzIGZ1bmN0aW9uIHJldHVybnMgYSBwbGFpbiBvYmplY3QgYm91bmRpbmcgYm94XG4gICAgICogd2l0aCBmb3JtYXQgeyB4MSwgeTEsIHgyLCB5MiwgdywgaCB9LlxuICAgICAqL1xuICAgIGV4dGVudDogUHJvcFR5cGVzLm9iamVjdCxcblxuICAgIC8qKlxuICAgICAqIElmIHNldCB0byBUcnVlLCBtb3VzZW92ZXJOb2RlRGF0YSBhbmQgbW91c2VvdmVyRWRnZURhdGEgd2lsbCBiZSBjbGVhcmVkIG9uIHVuaG92ZXIuXG4gICAgICogSWYgc2V0IHRvIEZhbHNlLCB0aGUgdmFsdWUgb2YgbW91c2VvdmVyTm9kZURhdGEgYW5kIG1vdXNlb3ZlckVkZ2VEYXRhIHdpbGwgYmUgdGhlIGxhc3RcbiAgICAgKiBOb2RlIG9yIEVkZ2UgaG92ZXJlZCBvdmVyXG4gICAgICovXG4gICAgY2xlYXJPblVuaG92ZXI6IFByb3BUeXBlcy5ib29sLFxufTtcblxuQ3l0b3NjYXBlLmRlZmF1bHRQcm9wcyA9IHtcbiAgICBzdHlsZToge3dpZHRoOiAnNjAwcHgnLCBoZWlnaHQ6ICc2MDBweCd9LFxuICAgIGxheW91dDoge25hbWU6ICdncmlkJ30sXG4gICAgcGFuOiB7eDogMCwgeTogMH0sXG4gICAgem9vbTogMSxcbiAgICBtaW5ab29tOiAxZS01MCxcbiAgICBtYXhab29tOiAxZTUwLFxuICAgIHpvb21pbmdFbmFibGVkOiB0cnVlLFxuICAgIHVzZXJab29taW5nRW5hYmxlZDogdHJ1ZSxcbiAgICBwYW5uaW5nRW5hYmxlZDogdHJ1ZSxcbiAgICB1c2VyUGFubmluZ0VuYWJsZWQ6IHRydWUsXG4gICAgd2hlZWxTZW5zaXRpdml0eTogMSxcbiAgICBib3hTZWxlY3Rpb25FbmFibGVkOiBmYWxzZSxcbiAgICBhdXRvbG9jazogZmFsc2UsXG4gICAgYXV0b3VuZ3JhYmlmeTogZmFsc2UsXG4gICAgYXV0b3Vuc2VsZWN0aWZ5OiBmYWxzZSxcbiAgICBhdXRvUmVmcmVzaExheW91dDogdHJ1ZSxcbiAgICBnZW5lcmF0ZUltYWdlOiB7fSxcbiAgICBpbWFnZURhdGE6IG51bGwsXG4gICAgcmVzcG9uc2l2ZTogZmFsc2UsXG4gICAgY2xlYXJPblVuaG92ZXI6IGZhbHNlLFxuICAgIGVsZW1lbnRzOiBbXSxcbiAgICBjb250ZXh0TWVudTogW10sXG59O1xuXG5leHBvcnQgZGVmYXVsdCBDeXRvc2NhcGU7XG4iXSwibmFtZXMiOlsiUmVhY3QiLCJDb21wb25lbnQiLCJQcm9wVHlwZXMiLCJDeXRvc2NhcGVDb21wb25lbnQiLCJfIiwidjQiLCJ1dWlkdjQiLCJDeVJlc3BvbnNpdmUiLCJjeXRvc2NhcGUiLCJyZXF1aXJlIiwiY29udGV4dE1lbnVzIiwiQ3l0b3NjYXBlIiwiX0NvbXBvbmVudCIsIl9pbmhlcml0cyIsInByb3BzIiwiX3RoaXMiLCJfY2xhc3NDYWxsQ2hlY2siLCJfY2FsbFN1cGVyIiwiaGFuZGxlQ3kiLCJiaW5kIiwiX2Fzc2VydFRoaXNJbml0aWFsaXplZCIsIl9oYW5kbGVDeUNhbGxlZCIsImhhbmRsZUltYWdlR2VuZXJhdGlvbiIsImN5UmVzcG9uc2l2ZUNsYXNzIiwiX2NyZWF0ZUNsYXNzIiwia2V5IiwidmFsdWUiLCJnZW5lcmF0ZU5vZGUiLCJldmVudCIsImVsZSIsInRhcmdldCIsImlzUGFyZW50IiwiaXNDaGlsZGxlc3MiLCJpc0NoaWxkIiwiaXNPcnBoYW4iLCJyZW5kZXJlZFBvc2l0aW9uIiwicmVsYXRpdmVQb3NpdGlvbiIsInBhcmVudCIsInN0eWxlIiwiZWRnZXNEYXRhIiwiY29ubmVjdGVkRWRnZXMiLCJtYXAiLCJkYXRhIiwiY2hpbGRyZW5EYXRhIiwiY2hpbGRyZW4iLCJhbmNlc3RvcnNEYXRhIiwiYW5jZXN0b3JzIiwiZGVzY2VuZGFudHNEYXRhIiwiZGVzY2VuZGFudHMiLCJzaWJsaW5nc0RhdGEiLCJzaWJsaW5ncyIsInRpbWVTdGFtcCIsIl9lbGUkanNvbiIsImpzb24iLCJjbGFzc2VzIiwiZ3JhYmJhYmxlIiwiZ3JvdXAiLCJsb2NrZWQiLCJwb3NpdGlvbiIsInNlbGVjdGVkIiwic2VsZWN0YWJsZSIsInBhcmVudERhdGEiLCJub2RlT2JqZWN0IiwiZ2VuZXJhdGVFZGdlIiwibWlkcG9pbnQiLCJpc0xvb3AiLCJpc1NpbXBsZSIsInNvdXJjZURhdGEiLCJzb3VyY2UiLCJzb3VyY2VFbmRwb2ludCIsInRhcmdldERhdGEiLCJ0YXJnZXRFbmRwb2ludCIsIl9lbGUkanNvbjIiLCJlZGdlT2JqZWN0IiwiY3kiLCJfdGhpczIiLCJfY3kiLCJ3aW5kb3ciLCJTRUxFQ1RfVEhSRVNIT0xEIiwiRVhURU5UX1RIUkVTSE9MRCIsIlVQREFURV9FTEVNRU5UU19USFJFU0hPTEQiLCJSRVNJWkVfVEhSRVNIT0xEIiwic2VsZWN0ZWROb2RlcyIsImNvbGxlY3Rpb24iLCJzZWxlY3RlZEVkZ2VzIiwicmVmcmVzaExheW91dCIsImRlYm91bmNlIiwiX3RoaXMyJHByb3BzIiwiYXV0b1JlZnJlc2hMYXlvdXQiLCJsYXlvdXQiLCJydW4iLCJzZW5kU2VsZWN0ZWROb2Rlc0RhdGEiLCJub2RlRGF0YSIsImVsIiwic2V0UHJvcHMiLCJzZWxlY3RlZE5vZGVEYXRhIiwic2VuZFNlbGVjdGVkRWRnZXNEYXRhIiwiZWRnZURhdGEiLCJzZWxlY3RlZEVkZ2VEYXRhIiwic2V0RXh0ZW50IiwiY3lFeHRlbnQiLCJleHRlbnQiLCJ1cGRhdGVFbGVtZW50cyIsImVsZW1lbnRzIiwiaXRlbSIsInJlc2l6ZSIsIm9yaWdpbmFsTWF4Wm9vbUZuIiwibWF4Wm9vbSIsIm9yaWdpbmFsTWluWm9vbUZuIiwibWluWm9vbSIsImUiLCJjdXJyZW50TWF4Wm9vbSIsImNhbGwiLCJfcHJldmlvdXNNYXhab29tIiwidHJpZ2dlciIsImN1cnJlbnRNaW5ab29tIiwiX3ByZXZpb3VzTWluWm9vbSIsIm9uIiwidGFwTm9kZSIsInRhcE5vZGVEYXRhIiwiT2JqZWN0IiwiYXNzaWduIiwidGFwRWRnZSIsInRhcEVkZ2VEYXRhIiwibW91c2VvdmVyTm9kZURhdGEiLCJtb3VzZW92ZXJFZGdlRGF0YSIsImNsZWFyT25VbmhvdmVyIiwibWVyZ2UiLCJ1bm1lcmdlIiwiem9vbSIsImZpdCIsImNyZWF0ZU1lbnVJdGVtcyIsImN0eE1lbnUiLCJ1cGRhdGVDb250ZXh0TWVudURhdGEiLCJuZXdDb250ZXh0IiwiY29udGV4dE1lbnVEYXRhIiwiY29udGV4dE1lbnVEZWZhdWx0RnVuY3Rpb25zIiwicmVtb3ZlIiwiY3lUYXJnZXQiLCJhZGRfbm9kZSIsInBvcyIsImN5UG9zaXRpb24iLCJhZGQiLCJ4IiwieSIsImFkZF9lZGdlIiwic2VsZWN0ZWROb2RlSWRzIiwibm9kZSIsImlkIiwibGVuZ3RoIiwiY29uc29sZSIsImVycm9yIiwibmV3TWVudUl0ZW1zIiwiX2l0ZXJhdG9yIiwiX2NyZWF0ZUZvck9mSXRlcmF0b3JIZWxwZXIiLCJfc3RlcCIsIl9sb29wIiwib25DbGlja0Z1bmN0aW9uIiwibWVudUl0ZW1JZCIsImVsZW1lbnRJZCIsImVkZ2VTb3VyY2UiLCJlZGdlVGFyZ2V0IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJvbkNsaWNrIiwiY29uY2F0IiwiZGFzaEN5dG9zY2FwZUZ1bmN0aW9ucyIsIm9uQ2xpY2tDdXN0b20iLCJuZXdfaXRlbSIsImNvbnRlbnQiLCJsYWJlbCIsInRvb2x0aXBUZXh0Iiwic2VsZWN0b3IiLCJjb3JlQXNXZWxsIiwiX2l0ZXJhdG9yMiIsImF2YWlsYWJsZU9uIiwiX3N0ZXAyIiwicyIsIm4iLCJkb25lIiwiZXJyIiwiZiIsInB1c2giLCJ0b2dnbGUiLCJyZXNwb25zaXZlIiwiaW1hZ2VUeXBlIiwiaW1hZ2VPcHRpb25zIiwiYWN0aW9uc1RvUGVyZm9ybSIsImZpbGVOYW1lIiwiX3RoaXMzIiwib3B0aW9ucyIsImRlc2lyZWRPdXRwdXQiLCJvdXRwdXQiLCJkb3dubG9hZEltYWdlIiwic3RvcmVJbWFnZSIsInBuZyIsImpwZyIsInN2ZyIsImZOYW1lIiwiZG93bmxvYWRCbG9iIiwiYmxvYiIsIkJsb2IiLCJ0eXBlIiwicmVhZGVyIiwiRmlsZVJlYWRlciIsIm9ubG9hZCIsImNhbGxiYWNrRGF0YSIsInJlc3VsdCIsInJlcGxhY2UiLCJpbWFnZURhdGEiLCJyZWFkQXNEYXRhVVJMIiwiZG93bmxvYWRMaW5rIiwiZG9jdW1lbnQiLCJjcmVhdGVFbGVtZW50IiwiYm9keSIsImFwcGVuZENoaWxkIiwidXJsIiwiVVJMIiwiY3JlYXRlT2JqZWN0VVJMIiwiaHJlZiIsImRvd25sb2FkIiwiY2xpY2siLCJyZXZva2VPYmplY3RVUkwiLCJyZW1vdmVDaGlsZCIsInVwZGF0ZUNvbnRleHRNZW51IiwiY29udGV4dE1lbnUiLCJtZW51SXRlbXMiLCJtZW51SXRlbUNsYXNzZXMiLCJncmFwaE91dE9mVmlldyIsImN5V2lkdGgiLCJ3aWR0aCIsImN5SGVpZ2h0IiwiaGVpZ2h0IiwiZWxCb3giLCJyZW5kZXJlZEJvdW5kaW5nYm94IiwieDEiLCJ5MSIsIngyIiwieTIiLCJjb21wb25lbnREaWRVcGRhdGUiLCJwcmV2UHJvcHMiLCJfdGhpcyRwcm9wcyIsImlzRXF1YWwiLCJjb21wb25lbnREaWRNb3VudCIsInJlbmRlciIsIl90aGlzJHByb3BzMiIsImNsYXNzTmFtZSIsInN0eWxlc2hlZXQiLCJwYW4iLCJwYW5uaW5nRW5hYmxlZCIsInVzZXJQYW5uaW5nRW5hYmxlZCIsInpvb21pbmdFbmFibGVkIiwidXNlclpvb21pbmdFbmFibGVkIiwid2hlZWxTZW5zaXRpdml0eSIsImJveFNlbGVjdGlvbkVuYWJsZWQiLCJhdXRvdW5ncmFiaWZ5IiwiYXV0b2xvY2siLCJhdXRvdW5zZWxlY3RpZnkiLCJnZW5lcmF0ZUltYWdlIiwia2V5cyIsImFjdGlvbiIsImZpbGVuYW1lIiwibm9ybWFsaXplRWxlbWVudHMiLCJwcm9wVHlwZXMiLCJzdHJpbmciLCJvYmplY3QiLCJmdW5jIiwib25lT2ZUeXBlIiwiYXJyYXlPZiIsInNoYXBlIiwibnVtYmVyIiwiYm9vbCIsImV4YWN0Iiwibm9kZXMiLCJhcnJheSIsImVkZ2VzIiwiaXNSZXF1aXJlZCIsIm5hbWUiLCJvbmVPZiIsInBhZGRpbmciLCJhbmltYXRlIiwiYW5pbWF0aW9uRHVyYXRpb24iLCJib3VuZGluZ0JveCIsImRlZmF1bHRQcm9wcyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/lib/components/Cytoscape.react.js\n"); /***/ }), diff --git a/inst/deps/dash_cytoscape.min.js b/inst/deps/dash_cytoscape.min.js index 8aedf0bc..0eaa47fd 100644 --- a/inst/deps/dash_cytoscape.min.js +++ b/inst/deps/dash_cytoscape.min.js @@ -1,2 +1,2 @@ /*! For license information please see dash_cytoscape.min.js.LICENSE.txt */ -(()=>{var e={1686:()=>{!function(){"use strict";var e=function(e,t){var n=function(e){for(var t=0,n=e.length;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(e){throw e},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,s=!0,u=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return s=e.done,e},e:function(e){u=!0,o=e},f:function(){try{s||null==r.return||r.return()}finally{if(u)throw o}}}}var r=!0,i=!1,a="querySelectorAll",o="querySelectorAll",s=self,u=s.document,l=s.Element,c=s.MutationObserver,d=s.Set,h=s.WeakMap,f=function(e){return o in e},p=[].filter,v=function(e){var t=new h,s=function(n,r){var i;if(r)for(var a,o=function(e){return e.matches||e.webkitMatchesSelector||e.msMatchesSelector}(n),s=0,u=g.length;s1&&void 0!==arguments[1])||arguments[1],n=0,r=e.length;n1&&void 0!==arguments[1]?arguments[1]:document,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:MutationObserver,s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:["*"],u=function t(i,o,s,u,l,c){var d,h=n(i);try{for(h.s();!(d=h.n()).done;){var f=d.value;(c||a in f)&&(l?s.has(f)||(s.add(f),u.delete(f),e(f,l)):u.has(f)||(u.add(f),s.delete(f),e(f,l)),c||t(f[a](o),o,s,u,l,r))}}catch(e){h.e(e)}finally{h.f()}},l=new o((function(e){if(s.length){var t,a=s.join(","),o=new Set,l=new Set,c=n(e);try{for(c.s();!(t=c.n()).done;){var d=t.value,h=d.addedNodes,f=d.removedNodes;u(f,a,o,l,i,i),u(h,a,o,l,r,i)}}catch(e){c.e(e)}finally{c.f()}}})),c=l.observe;return(l.observe=function(e){return c.call(l,e,{subtree:r,childList:r})})(t),l}(s,y,c,g),b=l.prototype.attachShadow;return b&&(l.prototype.attachShadow=function(e){var t=b.call(this,e);return m.observe(t),t}),g.length&&v(y[o](g)),{drop:function(e){for(var n=0,r=e.length;n{window.dash_clientside||(window.dash_clientside={});var e=20037508.34;function t(t,n){return[180*t/e,360*Math.atan(Math.exp(-n*Math.PI/e))/Math.PI-90]}window.dash_clientside.cyleaflet={updateLeafBounds:function(e,n,r){var i=e;if(!i){if(!r)return window.dash_clientside.no_update;i=r}var a=t(i.x1,i.y1),o=a[0],s=a[1],u=t(i.x2,i.y2),l=u[0],c=u[1],d=(new Date).getTime(),h=[[c,o],[s,l]];return s===c||o===l?window.dash_clientside.no_update:[d,{bounds:h,options:{animate:!0}},i]},transformElements:function(t){return t.map((function(t){if(Object.prototype.hasOwnProperty.call(t.data,"lat")){var n=(r=t.data.lon,i=t.data.lat,[r*e/180,-Math.log(Math.tan((90+i)*Math.PI/360))*e/Math.PI]);return{data:t.data,position:{y:n[1],x:n[0]}}}var r,i;return t}))},updateLonLat:function(e){return e.length>0?e.map((function(e){if(void 0!==e.position&&Object.prototype.hasOwnProperty.call(e.position,"x")&&0!==e.position.x&&0!==e.position.y){var n=t(e.position.x,e.position.y);return{position:e.position,data:Object.assign({},e.data,{lon:n[0],lat:n[1]})}}return e})):window.dash_clientside.no_update},updateCytoMaxZoom:function(e){var t=e;e.length>=1&&1===(t=e.filter((function(e){return"TileLayer"===e.type}))).length&&(t=t[0]);var n=18;return void 0!==t.props&&Object.prototype.hasOwnProperty.call(t.props,"maxZoom")&&(n=t.props.maxZoom),function(e){return.418*Math.pow(2,e-16)}(n)}}},372:(e,t,n)=>{"use strict";n.d(t,{Z:()=>s});var r=n(8081),i=n.n(r),a=n(3645),o=n.n(a)()(i());o.push([e.id,".cytoscape-reference p {\n display: inline;\n}\n\n.custom-menu-item {\n background-color: rgb(241, 241, 241);\n font-weight: bold !important;\n width: 170px;\n display: inline-block;\n height: 38px;\n padding: 0 30px;\n color: #555;\n text-align: center;\n font-size: 11px;\n font-weight: 600;\n line-height: 38px;\n letter-spacing: 0.1rem;\n text-decoration: none;\n white-space: nowrap;\n border-radius: 4px;\n border: 1px solid #bbb;\n cursor: pointer;\n box-sizing: border-box;\n}\n.custom-menu-item:hover {\n color: rgb(104, 104, 104);\n border-color: rgb(97, 97, 97);\n outline: 0;\n}\n\n.cy-context-menus-cxt-menu {\n display: none;\n}\n",""]);const s=o},3645:e=>{"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var n="",r=void 0!==t[5];return t[4]&&(n+="@supports (".concat(t[4],") {")),t[2]&&(n+="@media ".concat(t[2]," {")),r&&(n+="@layer".concat(t[5].length>0?" ".concat(t[5]):""," {")),n+=e(t),r&&(n+="}"),t[2]&&(n+="}"),t[4]&&(n+="}"),n})).join("")},t.i=function(e,n,r,i,a){"string"==typeof e&&(e=[[null,e,void 0]]);var o={};if(r)for(var s=0;s0?" ".concat(c[5]):""," {").concat(c[1],"}")),c[5]=a),n&&(c[2]?(c[1]="@media ".concat(c[2]," {").concat(c[1],"}"),c[2]=n):c[2]=n),i&&(c[4]?(c[1]="@supports (".concat(c[4],") {").concat(c[1],"}"),c[4]=i):c[4]="".concat(i)),t.push(c))}},t}},8081:e=>{"use strict";e.exports=function(e){return e[1]}},474:e=>{self,e.exports=(()=>{var e={621:(e,t,n)=>{"use strict";function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);nD});var s="cy-context-menus-divider",u={evtType:"cxttap",menuItems:[],menuItemClasses:["cy-context-menus-cxt-menuitem"],contextMenuClasses:["cy-context-menus-cxt-menu"],submenuIndicator:{src:"assets/submenu-indicator-default.svg",width:12,height:12}};function l(e){return(l="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function c(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return d(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?d(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,s=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return o=e.done,e},e:function(e){s=!0,a=e},f:function(){try{o||null==n.return||n.return()}finally{if(s)throw a}}}}function d(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n1&&void 0!==arguments[1]?arguments[1]:void 0;this.hasSubmenu()||this._createSubmenu(),this.submenu.appendMenuItem(e,t)}},{key:"isClickable",value:function(){return void 0!==this.onClickFunction}},{key:"display",value:function(){this.show=!0,this.style.display="block"}},{key:"isVisible",value:function(){return!0===this.show&&"none"!==this.style.display}},{key:"removeSubmenu",value:function(){this.hasSubmenu()&&(this.submenu.removeAllMenuItems(),this.detachSubmenu())}},{key:"detachSubmenu",value:function(){this.hasSubmenu()&&(this.removeChild(this.submenu),this.removeChild(this.indicator),this.removeEventListener("mouseenter",this.mouseEnterHandler),this.removeEventListener("mouseleave",this.mouseLeaveHandler),this.submenu=void 0,this.indicator=void 0)}},{key:"_onMouseEnter",value:function(e){var t=this.getBoundingClientRect(),r=function(e){e.style.opacity="0",e.style.display="block";var t=e.getBoundingClientRect();return e.style.opacity="1",e.style.display="none",t}(this.submenu),i=t.right+r.width>window.innerWidth,a=t.top+r.height>window.innerHeight;i||a?i&&!a?(this.submenu.style.right=this.clientWidth+"px",this.submenu.style.top="0px",this.submenu.style.left="auto",this.submenu.style.bottom="auto"):i&&a?(this.submenu.style.right=this.clientWidth+"px",this.submenu.style.bottom="0px",this.submenu.style.top="auto",this.submenu.style.left="auto"):(this.submenu.style.left=this.clientWidth+"px",this.submenu.style.bottom="0px",this.submenu.style.right="auto",this.submenu.style.top="auto"):(this.submenu.style.left=this.clientWidth+"px",this.submenu.style.top="0px",this.submenu.style.right="auto",this.submenu.style.bottom="auto"),this.submenu.display();var o=Array.from(this.submenu.children).filter((function(e){if(e instanceof n)return e.isVisible()})),u=o.length;o.forEach((function(e,t){e instanceof n&&(t=(a=n.getBoundingClientRect()).left&&r<=a.right&&i>=a.top&&i<=a.bottom||this.submenu.hide()}},{key:"_createSubmenu",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];this.indicator=this.scratchpad.submenuIndicatorGen(),this.submenu=new S(this.onMenuItemClick,this.scratchpad),this.appendChild(this.indicator),this.appendChild(this.submenu);var t,r=c(e);try{for(r.s();!(t=r.n()).done;){var i=new n(t.value,this.onMenuItemClick,this.scratchpad);this.submenu.appendMenuItem(i)}}catch(e){r.e(e)}finally{r.f()}this.mouseEnterHandler=this._onMouseEnter.bind(this),this.mouseLeaveHandler=this._onMouseLeave.bind(this),this.addEventListener("mouseenter",this.mouseEnterHandler),this.addEventListener("mouseleave",this.mouseLeaveHandler)}},{key:"_getMenuItemClassStr",value:function(e,t){return t?e+" "+s:e}}],[{key:"define",value:function(){o("ctx-menu-item",n,"button")}}]),n}(b(HTMLButtonElement)),S=function(e){v(n,e);var t=g(n);function n(e,r){var i,a;return h(this,n),m((i=y(a=t.call(this)),E(n.prototype)),"setAttribute",i).call(i,"class",r.cxtMenuClasses),a.style.position="absolute",a.onMenuItemClick=e,a.scratchpad=r,a}return p(n,[{key:"hide",value:function(){this.isVisible()&&(this.hideSubmenus(),this.style.display="none")}},{key:"display",value:function(){this.style.display="block"}},{key:"isVisible",value:function(){return"none"!==this.style.display}},{key:"hideMenuItems",value:function(){var e,t=c(this.children);try{for(t.s();!(e=t.n()).done;){var n=e.value;n instanceof HTMLElement?n.style.display="none":console.warn("".concat(n," is not a HTMLElement"))}}catch(e){t.e(e)}finally{t.f()}}},{key:"hideSubmenus",value:function(){var e,t=c(this.children);try{for(t.s();!(e=t.n()).done;){var n=e.value;n instanceof C&&n.submenu&&n.submenu.hide()}}catch(e){t.e(e)}finally{t.f()}}},{key:"appendMenuItem",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0;if(void 0!==t){if(t.parentNode!==this)throw new Error("The item with id='".concat(t.id,"' is not a child of the context menu"));this.insertBefore(e,t)}else this.appendChild(e);e.isClickable()&&this._performBindings(e)}},{key:"moveBefore",value:function(e,t){if(e.parentNode!==this)throw new Error("The item with id='".concat(e.id,"' is not a child of context menu"));if(t.parentNode!==this)throw new Error("The item with id='".concat(t.id,"' is not a child of context menu"));this.removeChild(e),this.insertBefore(e,t)}},{key:"removeAllMenuItems",value:function(){for(;this.firstChild;){var e=this.lastChild;e instanceof C?this._removeImmediateMenuItem(e):(console.warn("Found non menu item in the context menu: ",e),this.removeChild(e))}}},{key:"_removeImmediateMenuItem",value:function(e){if(!this._detachImmediateMenuItem(e))throw new Error("menu item(id=".concat(e.id,") is not in the context menu"));e.detachSubmenu(),e.unbindOnClickFunctions()}},{key:"_detachImmediateMenuItem",value:function(e){if(e.parentNode===this){if(this.removeChild(e),this.children.length<=0){var t=this.parentNode;t instanceof C&&t.detachSubmenu()}return!0}return!1}},{key:"_performBindings",value:function(e){var t=this._bindOnClick(e.onClickFunction);e.bindOnClickFunction(t),e.bindOnClickFunction(this.onMenuItemClick)}},{key:"_bindOnClick",value:function(e){var t=this;return function(){var n=t.scratchpad.currentCyEvent;e(n)}}}],[{key:"define",value:function(){o("menu-item-list",n,"div")}}]),n}(b(HTMLDivElement)),P=function(e){v(n,e);var t=g(n);function n(e,r){var i;return h(this,n),(i=t.call(this,e,r)).onMenuItemClick=function(t){k(t),i.hide(),e()},i}return p(n,[{key:"removeMenuItem",value:function(e){var t=e.parentElement;t instanceof S&&this.contains(t)&&t._removeImmediateMenuItem(e)}},{key:"appendMenuItem",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0;this.ensureDoesntContain(e.id),m(E(n.prototype),"appendMenuItem",this).call(this,e,t)}},{key:"insertMenuItem",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.before,r=t.parent;if(this.ensureDoesntContain(e.id),void 0!==n){if(!this.contains(n))throw new Error("before(id=".concat(n.id,") is not in the context menu"));var i=n.parentNode;if(!(i instanceof S))throw new Error("Parent of before(id=".concat(n.id,") is not a submenu"));i.appendMenuItem(e,n)}else if(void 0!==r){if(!this.contains(r))throw new Error("parent(id=".concat(r.id,") is not a descendant of the context menu"));r.appendSubmenuItem(e)}else this.appendMenuItem(e)}},{key:"moveBefore",value:function(e,t){var n=e.parentElement;if(!this.contains(n))throw new Error("parent(id=".concat(n.id,") is not in the contex menu"));if(!this.contains(t))throw new Error("before(id=".concat(t.id,") is not in the context menu"));n.removeChild(e),this.insertMenuItem(e,{before:t})}},{key:"moveToSubmenu",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,r=e.parentElement;if(!(r instanceof S))throw new Error("current parent(id=".concat(r.id,") is not a submenu"));if(!this.contains(r))throw new Error("parent of the menu item(id=".concat(r.id,") is not in the context menu"));if(null!==t){if(!this.contains(t))throw new Error("parent(id=".concat(t.id,") is not in the context menu"));r._detachImmediateMenuItem(e),t.appendSubmenuItem(e)}else null!==n&&(e.selector=n.selector,e.coreAsWell=n.coreAsWell),r._detachImmediateMenuItem(e),this.appendMenuItem(e)}},{key:"ensureDoesntContain",value:function(e){var t=document.getElementById(e);if(void 0!==t&&this.contains(t))throw new Error("There is already an element with id=".concat(e," in the context menu"))}}],[{key:"define",value:function(){o("ctx-menu",n,"div")}}]),n}(S);function T(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n1&&void 0!==arguments[1]?arguments[1]:void 0,n=p(e);if(void 0!==t){var r=g(t);d.insertMenuItem(n,{parent:r})}else d.insertMenuItem(n)},f=function(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,n=0;n0&&(s.top+=h,s.left+=h);var f=r.clientHeight,p=r.clientWidth,v=f/2,g=p/2;u.y>v&&u.x<=g?(d.style.left=u.x+"px",d.style.bottom=f-u.y+"px",d.style.right="auto",d.style.top="auto"):u.y>v&&u.x>g?(d.style.right=p-u.x+"px",d.style.bottom=f-u.y+"px",d.style.left="auto",d.style.top="auto"):u.y<=v&&u.x<=g?(d.style.left=u.x+"px",d.style.top=u.y+"px",d.style.right="auto",d.style.bottom="auto"):(d.style.right=p-u.x+"px",d.style.top=u.y+"px",d.style.left="auto",d.style.bottom="auto")}}(e);var n,r=e.target||e.cyTarget,i=function(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return T(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?T(e,t):void 0}}(e))){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,s=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return o=e.done,e},e:function(e){s=!0,a=e},f:function(){try{o||null==n.return||n.return()}finally{if(s)throw a}}}}(d.children);try{for(i.s();!(n=i.n()).done;){var a=n.value;a instanceof C&&(r===t?a.coreAsWell:r.is(a.selector))&&a.show&&(d.display(),l("anyVisibleChild",!0),a.display())}}catch(e){i.e(e)}finally{i.f()}var u=Array.from(d.children).filter((function(e){if(e instanceof C)return e.isVisible()})),c=u.length;u.forEach((function(e,t){e instanceof C&&(t=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(e){throw e},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,s=!0,u=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return s=e.done,e},e:function(e){u=!0,o=e},f:function(){try{s||null==n.return||n.return()}finally{if(u)throw o}}}}(document.getElementsByClassName("cy-context-menus-cxt-menu"));try{for(t.s();!(e=t.n()).done;)e.value.addEventListener("contextmenu",(function(e){return e.preventDefault()}))}catch(e){t.e(e)}finally{t.f()}}()}return function(e){return{isActive:function(){return o("active")},appendMenuItem:function(t){return h(t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0),e},appendMenuItems:function(t){return f(t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0),e},removeMenuItem:function(t){var n=g(t);return d.removeMenuItem(n),e},setTrailingDivider:function(t,n){var r=g(t);return r.setHasTrailingDivider(n),n?r.classList.add(s):r.classList.remove(s),e},insertBeforeMenuItem:function(t,n){var r=p(t),i=g(n);return d.insertMenuItem(r,{before:i}),e},moveToSubmenu:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=g(t);if(null===n)d.moveToSubmenu(r);else if("string"==typeof n){var i=g(n.toString());d.moveToSubmenu(r,i)}else void 0!==n.coreAsWell||void 0!==n.selector?d.moveToSubmenu(r,null,n):console.warn("options neither has coreAsWell nor selector property but it is an object. Are you sure that this is what you want to do?");return e},moveBeforeOtherMenuItem:function(t,n){var r=g(t),i=g(n);return d.moveBefore(r,i),e},disableMenuItem:function(t){return g(t).disable(),e},enableMenuItem:function(t){return g(t).enable(),e},hideMenuItem:function(t){return g(t).hide(),e},showMenuItem:function(t){return g(t).display(),e},destroy:function(){return v(),e}}}(this)}},579:(e,t,n)=>{var r=n(621).contextMenus,i=function(e){e&&e("core","contextMenus",r)};"undefined"!=typeof cytoscape&&i(cytoscape),e.exports=i}},t={};function n(r){var i=t[r];if(void 0!==i)return i.exports;var a=t[r]={exports:{}};return e[r](a,a.exports,n),a.exports}return n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n(579)})()},9058:(e,t,n)=>{"use strict";var r=n(3279),i=n(4485),a=n(7361),o=n(6968),s=n(84);function u(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var l=u(r),c=u(i),d=u(a),h=u(o),f=u(s);function p(e){return p="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},p(e)}function v(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function g(e,t){for(var n=0;ne.length)&&(t=e.length);for(var n=0,r=new Array(t);nt?1:0},Q=null!=Object.assign?Object.assign.bind(Object):function(e){for(var t=arguments,n=1;n1&&void 0!==arguments[1]?arguments[1]:se;!(t=e.next()).done;)n=65599*n+t.value|0;return n},ce=function(e){return 65599*(arguments.length>1&&void 0!==arguments[1]?arguments[1]:se)+e|0},de=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:ue;return(t<<5)+t+e|0},he=function(e){return 2097152*e[0]+e[1]},fe=function(e,t){return[ce(e[0],t[0]),de(e[1],t[1])]},pe=function(e,t){var n={value:0,done:!1},r=0,i=e.length;return le({next:function(){return r=0&&(e[r]!==t||(e.splice(r,1),!n));r--);},Ae=function(e){e.splice(0,e.length)},ze=function(e,t,n){return n&&(t=Y(n,t)),e[t]},Ne=function(e,t,n,r){n&&(t=Y(n,t)),e[t]=r},Le="undefined"!=typeof Map?Map:function(){function e(){v(this,e),this._obj={}}return y(e,[{key:"set",value:function(e,t){return this._obj[e]=t,this}},{key:"delete",value:function(e){return this._obj[e]=void 0,this}},{key:"clear",value:function(){this._obj={}}},{key:"has",value:function(e){return void 0!==this._obj[e]}},{key:"get",value:function(e){return this._obj[e]}}]),e}(),Re=function(){function e(t){if(v(this,e),this._obj=Object.create(null),this.size=0,null!=t){var n;n=null!=t.instanceString&&t.instanceString()===this.instanceString()?t.toArray():t;for(var r=0;r2&&void 0!==arguments[2])||arguments[2];if(void 0!==e&&void 0!==t&&L(e)){var r=t.group;if(null==r&&(r=t.data&&null!=t.data.source&&null!=t.data.target?"edges":"nodes"),"nodes"===r||"edges"===r){this.length=1,this[0]=this;var i=this._private={cy:e,single:!0,data:t.data||{},position:t.position||{x:0,y:0},autoWidth:void 0,autoHeight:void 0,autoPadding:void 0,compoundBoundsClean:!1,listeners:[],group:r,style:{},rstyle:{},styleCxts:[],styleKeys:{},removed:!0,selected:!!t.selected,selectable:void 0===t.selectable||!!t.selectable,locked:!!t.locked,grabbed:!1,grabbable:void 0===t.grabbable||!!t.grabbable,pannable:void 0===t.pannable?"edges"===r:!!t.pannable,active:!1,classes:new je,animation:{current:[],queue:[]},rscratch:{},scratch:t.scratch||{},edges:[],children:[],parent:t.parent&&t.parent.isNode()?t.parent:null,traversalCache:{},backgrounding:!1,bbCache:null,bbCacheShift:{x:0,y:0},bodyBounds:null,overlayBounds:null,labelBounds:{all:null,source:null,target:null,main:null},arrowBounds:{source:null,target:null,"mid-source":null,"mid-target":null}};if(null==i.position.x&&(i.position.x=0),null==i.position.y&&(i.position.y=0),t.renderedPosition){var a=t.renderedPosition,o=e.pan(),s=e.zoom();i.position={x:(a.x-o.x)/s,y:(a.y-o.y)/s}}var u=[];M(t.classes)?u=t.classes:T(t.classes)&&(u=t.classes.split(/\s+/));for(var l=0,c=u.length;l0;){var _=m.pop(),E=g(_),k=_.id();if(h[k]=E,E!==1/0)for(var C=_.neighborhood().intersect(p),S=0;S0)for(n.unshift(t);d[i];){var a=d[i];n.unshift(a.edge),n.unshift(a.node),i=(r=a.node).id()}return o.spawn(n)}}}},Xe={kruskal:function(e){e=e||function(e){return 1};for(var t=this.byGroup(),n=t.nodes,r=t.edges,i=n.length,a=new Array(i),o=n,s=function(e){for(var t=0;t0;){if(l=(u=g.pop()).id(),y.delete(l),_++,l===h){for(var E=[],k=i,C=h,S=b[C];E.unshift(k),null!=S&&E.unshift(S),null!=(k=m[C]);)S=b[C=k.id()];return{found:!0,distance:f[l],path:this.spawn(E),steps:_}}v[l]=!0;for(var P=u._private.edges,T=0;TS&&(f[C]=S,y[C]=k,m[C]=x),!i){var P=k*l+E;!i&&f[P]>S&&(f[P]=S,y[P]=E,m[P]=x)}}}for(var D=0;D1&&void 0!==arguments[1]?arguments[1]:a,r=[],i=m(e);;){if(null==i)return t.spawn();var o=y(i),u=o.edge,l=o.pred;if(r.unshift(i[0]),i.same(n)&&r.length>0)break;null!=u&&r.unshift(u),i=l}return s.spawn(r)},hasNegativeWeightCycle:p,negativeWeightCycles:v}}},Qe=Math.sqrt(2),Je=function(e,t,n){0===n.length&&Ce("Karger-Stein must be run on a connected (sub)graph");for(var r=n[e],i=r[1],a=r[2],o=t[i],s=t[a],u=n,l=u.length-1;l>=0;l--){var c=u[l],d=c[1],h=c[2];(t[d]===o&&t[h]===s||t[d]===s&&t[h]===o)&&u.splice(l,1)}for(var f=0;fr;){var i=Math.floor(Math.random()*t.length);t=Je(i,e,t),n--}return t},tt={kargerStein:function(){var e=this,t=this.byGroup(),n=t.nodes,r=t.edges;r.unmergeBy((function(e){return e.isLoop()}));var i=n.length,a=r.length,o=Math.ceil(Math.pow(Math.log(i)/Math.LN2,2)),s=Math.floor(i/Qe);if(!(i<2)){for(var u=[],l=0;l0?1:e<0?-1:0},ut=function(e,t){return Math.sqrt(lt(e,t))},lt=function(e,t){var n=t.x-e.x,r=t.y-e.y;return n*n+r*r},ct=function(e){for(var t=e.length,n=0,r=0;r=e.x1&&e.y2>=e.y1)return{x1:e.x1,y1:e.y1,x2:e.x2,y2:e.y2,w:e.x2-e.x1,h:e.y2-e.y1};if(null!=e.w&&null!=e.h&&e.w>=0&&e.h>=0)return{x1:e.x1,y1:e.y1,x2:e.x1+e.w,y2:e.y1+e.h,w:e.w,h:e.h}}},vt=function(e,t){e.x1=Math.min(e.x1,t.x1),e.x2=Math.max(e.x2,t.x2),e.w=e.x2-e.x1,e.y1=Math.min(e.y1,t.y1),e.y2=Math.max(e.y2,t.y2),e.h=e.y2-e.y1},gt=function(e,t,n){e.x1=Math.min(e.x1,t),e.x2=Math.max(e.x2,t),e.w=e.x2-e.x1,e.y1=Math.min(e.y1,n),e.y2=Math.max(e.y2,n),e.h=e.y2-e.y1},yt=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return e.x1-=t,e.x2+=t,e.y1-=t,e.y2+=t,e.w=e.x2-e.x1,e.h=e.y2-e.y1,e},mt=function(e){var t,n,r,i,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[0];if(1===a.length)t=n=r=i=a[0];else if(2===a.length)t=r=a[0],i=n=a[1];else if(4===a.length){var o=b(a,4);t=o[0],n=o[1],r=o[2],i=o[3]}return e.x1-=i,e.x2+=n,e.y1-=t,e.y2+=r,e.w=e.x2-e.x1,e.h=e.y2-e.y1,e},bt=function(e,t){e.x1=t.x1,e.y1=t.y1,e.x2=t.x2,e.y2=t.y2,e.w=e.x2-e.x1,e.h=e.y2-e.y1},xt=function(e,t){return!(e.x1>t.x2||t.x1>e.x2||e.x2t.y2||t.y1>e.y2)},wt=function(e,t,n){return e.x1<=t&&t<=e.x2&&e.y1<=n&&n<=e.y2},_t=function(e,t){return wt(e,t.x1,t.y1)&&wt(e,t.x2,t.y2)},Et=function(e,t,n,r,i,a,o){var s,u=Ft(i,a),l=i/2,c=a/2,d=r-c-o;if((s=zt(e,t,n,r,n-l+u-o,d,n+l-u+o,d,!1)).length>0)return s;var h=n+l+o;if((s=zt(e,t,n,r,h,r-c+u-o,h,r+c-u+o,!1)).length>0)return s;var f=r+c+o;if((s=zt(e,t,n,r,n-l+u-o,f,n+l-u+o,f,!1)).length>0)return s;var p,v=n-l-o;if((s=zt(e,t,n,r,v,r-c+u-o,v,r+c-u+o,!1)).length>0)return s;var g=n-l+u,y=r-c+u;if((p=Ot(e,t,n,r,g,y,u+o)).length>0&&p[0]<=g&&p[1]<=y)return[p[0],p[1]];var m=n+l-u,b=r-c+u;if((p=Ot(e,t,n,r,m,b,u+o)).length>0&&p[0]>=m&&p[1]<=b)return[p[0],p[1]];var x=n+l-u,w=r+c-u;if((p=Ot(e,t,n,r,x,w,u+o)).length>0&&p[0]>=x&&p[1]>=w)return[p[0],p[1]];var _=n-l+u,E=r+c-u;return(p=Ot(e,t,n,r,_,E,u+o)).length>0&&p[0]<=_&&p[1]>=E?[p[0],p[1]]:[]},kt=function(e,t,n,r,i,a,o){var s=o,u=Math.min(n,i),l=Math.max(n,i),c=Math.min(r,a),d=Math.max(r,a);return u-s<=e&&e<=l+s&&c-s<=t&&t<=d+s},Ct=function(e,t,n,r,i,a,o,s,u){var l=Math.min(n,o,i)-u,c=Math.max(n,o,i)+u,d=Math.min(r,s,a)-u,h=Math.max(r,s,a)+u;return!(ec||th)},St=function(e,t,n,r,i,a,o,s){var u,l,c,d,h,f,p,v,g,y,m,b,x,w=[];l=9*n*i-3*n*n-3*n*o-6*i*i+3*i*o+9*r*a-3*r*r-3*r*s-6*a*a+3*a*s,c=3*n*n-6*n*i+n*o-n*e+2*i*i+2*i*e-o*e+3*r*r-6*r*a+r*s-r*t+2*a*a+2*a*t-s*t,d=1*n*i-n*n+n*e-i*e+r*a-r*r+r*t-a*t,0===(u=1*n*n-4*n*i+2*n*o+4*i*i-4*i*o+o*o+r*r-4*r*a+2*r*s+4*a*a-4*a*s+s*s)&&(u=1e-5),v=-27*(d/=u)+(l/=u)*(9*(c/=u)-l*l*2),f=(p=(3*c-l*l)/9)*p*p+(v/=54)*v,(h=w)[1]=0,b=l/3,f>0?(y=(y=v+Math.sqrt(f))<0?-Math.pow(-y,1/3):Math.pow(y,1/3),m=(m=v-Math.sqrt(f))<0?-Math.pow(-m,1/3):Math.pow(m,1/3),h[0]=-b+y+m,b+=(y+m)/2,h[4]=h[2]=-b,b=Math.sqrt(3)*(-m+y)/2,h[3]=b,h[5]=-b):(h[5]=h[3]=0,0===f?(x=v<0?-Math.pow(-v,1/3):Math.pow(v,1/3),h[0]=2*x-b,h[4]=h[2]=-(x+b)):(g=(p=-p)*p*p,g=Math.acos(v/Math.sqrt(g)),x=2*Math.sqrt(p),h[0]=-b+x*Math.cos(g/3),h[2]=-b+x*Math.cos((g+2*Math.PI)/3),h[4]=-b+x*Math.cos((g+4*Math.PI)/3)));for(var _=[],E=0;E<6;E+=2)Math.abs(w[E+1])<1e-7&&w[E]>=0&&w[E]<=1&&_.push(w[E]);_.push(1),_.push(0);for(var k,C,S,P=-1,T=0;T<_.length;T++)k=Math.pow(1-_[T],2)*n+2*(1-_[T])*_[T]*i+_[T]*_[T]*o,C=Math.pow(1-_[T],2)*r+2*(1-_[T])*_[T]*a+_[T]*_[T]*s,S=Math.pow(k-e,2)+Math.pow(C-t,2),P>=0?Su?(e-i)*(e-i)+(t-a)*(t-a):l-d},Tt=function(e,t,n){for(var r,i,a,o,s=0,u=0;u=e&&e>=a||r<=e&&e<=a))continue;(e-r)/(a-r)*(o-i)+i>t&&s++}return s%2!=0},Dt=function(e,t,n,r,i,a,o,s,u){var l,c=new Array(n.length);null!=s[0]?(l=Math.atan(s[1]/s[0]),s[0]<0?l+=Math.PI/2:l=-l-Math.PI/2):l=s;for(var d,h=Math.cos(-l),f=Math.sin(-l),p=0;p0){var v=Bt(c,-u);d=Mt(v)}else d=c;return Tt(e,t,d)},Mt=function(e){for(var t,n,r,i,a,o,s,u,l=new Array(e.length/2),c=0;c=0&&p<=1&&g.push(p),v>=0&&v<=1&&g.push(v),0===g.length)return[];var y=g[0]*s[0]+e,m=g[0]*s[1]+t;return g.length>1?g[0]==g[1]?[y,m]:[y,m,g[1]*s[0]+e,g[1]*s[1]+t]:[y,m]},At=function(e,t,n){return t<=e&&e<=n||n<=e&&e<=t?e:e<=t&&t<=n||n<=t&&t<=e?t:n},zt=function(e,t,n,r,i,a,o,s,u){var l=e-i,c=n-e,d=o-i,h=t-a,f=r-t,p=s-a,v=d*h-p*l,g=c*h-f*l,y=p*c-d*f;if(0!==y){var m=v/y,b=g/y,x=-.001;return x<=m&&m<=1.001&&x<=b&&b<=1.001||u?[e+m*c,t+m*f]:[]}return 0===v||0===g?At(e,n,o)===o?[o,s]:At(e,n,i)===i?[i,a]:At(i,o,n)===n?[n,r]:[]:[]},Nt=function(e,t,n,r,i,a,o,s){var u,l,c,d,h,f,p=[],v=new Array(n.length),g=!0;if(null==a&&(g=!1),g){for(var y=0;y0){var m=Bt(v,-s);l=Mt(m)}else l=v}else l=n;for(var b=0;bl&&(l=t)},h=function(e){return u[e]},f=0;f0?w.edgesTo(x)[0]:x.edgesTo(w)[0];var _=r(b);x=x.id(),f[x]>f[y]+_&&(f[x]=f[y]+_,p.nodes.indexOf(x)<0?p.push(x):p.updateItem(x),l[x]=0,u[x]=[]),f[x]==f[y]+_&&(l[x]=l[x]+l[y],u[x].push(y))}else for(var E=0;E0;){for(var P=n.pop(),T=0;T0&&o.push(n[s]);0!==o.length&&i.push(r.collection(o))}return i}(c,u,t,r);return b=function(e){for(var t=0;t5&&void 0!==arguments[5]?arguments[5]:ln,o=r,s=0;s=2?vn(e,t,n,0,hn,fn):vn(e,t,n,0,dn)},squaredEuclidean:function(e,t,n){return vn(e,t,n,0,hn)},manhattan:function(e,t,n){return vn(e,t,n,0,dn)},max:function(e,t,n){return vn(e,t,n,-1/0,pn)}};function yn(e,t,n,r,i,a){var o;return o=D(e)?e:gn[e]||gn.euclidean,0===t&&D(e)?o(i,a):o(t,n,r,i,a)}gn["squared-euclidean"]=gn.squaredEuclidean,gn.squaredeuclidean=gn.squaredEuclidean;var mn=Ie({k:2,m:2,sensitivityThreshold:1e-4,distance:"euclidean",maxIterations:10,attributes:[],testMode:!1,testCentroids:null}),bn=function(e){return mn(e)},xn=function(e,t,n,r,i){var a="kMedoids"!==i?function(e){return n[e]}:function(e){return r[e](n)},o=n,s=t;return yn(e,r.length,a,(function(e){return r[e](t)}),o,s)},wn=function(e,t,n){for(var r=n.length,i=new Array(r),a=new Array(r),o=new Array(t),s=null,u=0;un)return!1;return!0},Cn=function(e,t,n){for(var r=0;ri&&(i=t[u][l],a=l);o[a].push(e[u])}for(var c=0;c=i.threshold||"dendrogram"===i.mode&&1===e.length)return!1;var f,p=t[o],v=t[r[o]];f="dendrogram"===i.mode?{left:p,right:v,key:p.key}:{value:p.value.concat(v.value),key:p.key},e[p.index]=f,e.splice(v.index,1),t[p.key]=f;for(var g=0;gn[v.key][y.key]&&(a=n[v.key][y.key])):"max"===i.linkage?(a=n[p.key][y.key],n[p.key][y.key]o&&(a=u,o=t[i*e+u])}a>0&&r.push(a)}for(var l=0;l1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.length,r=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],i=!(arguments.length>5&&void 0!==arguments[5])||arguments[5];arguments.length>3&&void 0!==arguments[3]&&!arguments[3]?(n0&&e.splice(0,t)):e=e.slice(t,n);for(var a=0,o=e.length-1;o>=0;o--){var s=e[o];i?isFinite(s)||(e[o]=-1/0,a++):e.splice(o,1)}r&&e.sort((function(e,t){return e-t}));var u=e.length,l=Math.floor(u/2);return u%2!=0?e[l+1+a]:(e[l-1+a]+e[l+a])/2}(e):"mean"===t?function(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.length,r=0,i=0,a=t;a1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.length,r=1/0,i=t;i1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.length,r=-1/0,i=t;i=S?(P=S,S=D,T=M):D>P&&(P=D);for(var B=0;B0?1:0;E[_%l.minIterations*t+R]=j,L+=j}if(L>0&&(_>=l.minIterations-1||_==l.maxIterations-1)){for(var V=0,F=0;F0&&r.push(i);return r}(t,a,o),Y=function(e,t,n){for(var r=qn(e,t,n),i=0;iu&&(s=l,u=c)}n[i]=a[s]}return qn(e,t,n)}(t,r,W),X={},H=0;H1)}}));var u=Object.keys(t).filter((function(e){return t[e].cutVertex})).map((function(t){return e.getElementById(t)}));return{cut:e.spawn(u),components:i}},Un=function(){var e=this,t={},n=0,r=[],i=[],a=e.spawn(e),o=function o(s){if(i.push(s),t[s]={index:n,low:n++,explored:!1},e.getElementById(s).connectedEdges().intersection(e).forEach((function(e){var n=e.target().id();n!==s&&(n in t||o(n),t[n].explored||(t[s].low=Math.min(t[s].low,t[n].low)))})),t[s].index===t[s].low){for(var u=e.spawn();;){var l=i.pop();if(u.merge(e.getElementById(l)),t[l].low=t[s].index,t[l].explored=!0,l===s)break}var c=u.edgesWith(u),d=u.merge(c);r.push(d),a=a.difference(d)}};return e.forEach((function(e){if(e.isNode()){var n=e.id();n in t||o(n)}})),{cut:a,components:r}},Zn={};[qe,Ye,Xe,Ue,Ke,$e,tt,Xt,Ut,Kt,$t,un,Bn,jn,Yn,{hierholzer:function(e){if(!B(e)){var t=arguments;e={root:t[0],directed:t[1]}}var n,r,i,a=Xn(e),o=a.root,s=a.directed,u=this,l=!1;o&&(i=T(o)?this.filter(o)[0].id():o[0].id());var c={},d={};s?u.forEach((function(e){var t=e.id();if(e.isNode()){var i=e.indegree(!0),a=e.outdegree(!0),o=i-a,s=a-i;1==o?n?l=!0:n=t:1==s?r?l=!0:r=t:(s>1||o>1)&&(l=!0),c[t]=[],e.outgoers().forEach((function(e){e.isEdge()&&c[t].push(e.id())}))}else d[t]=[void 0,e.target().id()]})):u.forEach((function(e){var t=e.id();e.isNode()?(e.degree(!0)%2&&(n?r?l=!0:r=t:n=t),c[t]=[],e.connectedEdges().forEach((function(e){return c[t].push(e.id())}))):d[t]=[e.source().id(),e.target().id()]}));var h={found:!1,trail:void 0};if(l)return h;if(r&&n)if(s){if(i&&r!=i)return h;i=r}else{if(i&&r!=i&&n!=i)return h;i||(i=r)}else i||(i=u[0].id());var f=function(e){for(var t,n,r,i=e,a=[e];c[i].length;)t=c[i].shift(),n=d[t][0],i!=(r=d[t][1])?(c[r]=c[r].filter((function(e){return e!=t})),i=r):s||i==n||(c[n]=c[n].filter((function(e){return e!=t})),i=n),a.unshift(t),a.unshift(i);return a},p=[],v=[];for(v=f(i);1!=v.length;)0==c[v[0]].length?(p.unshift(u.getElementById(v.shift())),p.unshift(u.getElementById(v.shift()))):v=f(v.shift()).concat(v);for(var g in p.unshift(u.getElementById(v.shift())),c)if(c[g].length)return h;return h.found=!0,h.trail=this.spawn(p,!0),h}},{hopcroftTarjanBiconnected:Hn,htbc:Hn,htb:Hn,hopcroftTarjanBiconnectedComponents:Hn},{tarjanStronglyConnected:Un,tsc:Un,tscc:Un,tarjanStronglyConnectedComponents:Un}].forEach((function(e){Q(Zn,e)}));var Kn=function e(t){if(!(this instanceof e))return new e(t);this.id="Thenable/1.0.7",this.state=0,this.fulfillValue=void 0,this.rejectReason=void 0,this.onFulfilled=[],this.onRejected=[],this.proxy={then:this.then.bind(this)},"function"==typeof t&&t.call(this,this.fulfill.bind(this),this.reject.bind(this))};Kn.prototype={fulfill:function(e){return Gn(this,1,"fulfillValue",e)},reject:function(e){return Gn(this,2,"rejectReason",e)},then:function(e,t){var n=this,r=new Kn;return n.onFulfilled.push(Jn(e,r,"fulfill")),n.onRejected.push(Jn(t,r,"reject")),$n(n),r.proxy}};var Gn=function(e,t,n,r){return 0===e.state&&(e.state=t,e[n]=r,$n(e)),e},$n=function(e){1===e.state?Qn(e,"onFulfilled",e.fulfillValue):2===e.state&&Qn(e,"onRejected",e.rejectReason)},Qn=function(e,t,n){if(0!==e[t].length){var r=e[t];e[t]=[];var i=function(){for(var e=0;e0:void 0}},clearQueue:function(){return function(){var e=this,t=void 0!==e.length?e:[e];if(!(this._private.cy||this).styleEnabled())return this;for(var n=0;n0&&this.spawn(r).updateStyle().emit("class"),t},addClass:function(e){return this.toggleClass(e,!0)},hasClass:function(e){var t=this[0];return null!=t&&t._private.classes.has(e)},toggleClass:function(e,t){M(e)||(e=e.match(/\S+/g)||[]);for(var n=this,r=void 0===t,i=[],a=0,o=n.length;a0&&this.spawn(i).updateStyle().emit("class"),n},removeClass:function(e){return this.toggleClass(e,!1)},flashClass:function(e,t){var n=this;if(null==t)t=250;else if(0===t)return n;return n.addClass(e),setTimeout((function(){n.removeClass(e)}),t),n}};lr.className=lr.classNames=lr.classes;var cr={metaChar:"[\\!\\\"\\#\\$\\%\\&\\'\\(\\)\\*\\+\\,\\.\\/\\:\\;\\<\\=\\>\\?\\@\\[\\]\\^\\`\\{\\|\\}\\~]",comparatorOp:"=|\\!=|>|>=|<|<=|\\$=|\\^=|\\*=",boolOp:"\\?|\\!|\\^",string:"\"(?:\\\\\"|[^\"])*\"|'(?:\\\\'|[^'])*'",number:H,meta:"degree|indegree|outdegree",separator:"\\s*,\\s*",descendant:"\\s+",child:"\\s+>\\s+",subject:"\\$",group:"node|edge|\\*",directedEdge:"\\s+->\\s+",undirectedEdge:"\\s+<->\\s+"};cr.variable="(?:[\\w-.]|(?:\\\\"+cr.metaChar+"))+",cr.className="(?:[\\w-]|(?:\\\\"+cr.metaChar+"))+",cr.value=cr.string+"|"+cr.number,cr.id=cr.variable,function(){var e,t,n;for(e=cr.comparatorOp.split("|"),n=0;n=0||"="!==t&&(cr.comparatorOp+="|\\!"+t)}();var dr=20,hr=[{selector:":selected",matches:function(e){return e.selected()}},{selector:":unselected",matches:function(e){return!e.selected()}},{selector:":selectable",matches:function(e){return e.selectable()}},{selector:":unselectable",matches:function(e){return!e.selectable()}},{selector:":locked",matches:function(e){return e.locked()}},{selector:":unlocked",matches:function(e){return!e.locked()}},{selector:":visible",matches:function(e){return e.visible()}},{selector:":hidden",matches:function(e){return!e.visible()}},{selector:":transparent",matches:function(e){return e.transparent()}},{selector:":grabbed",matches:function(e){return e.grabbed()}},{selector:":free",matches:function(e){return!e.grabbed()}},{selector:":removed",matches:function(e){return e.removed()}},{selector:":inside",matches:function(e){return!e.removed()}},{selector:":grabbable",matches:function(e){return e.grabbable()}},{selector:":ungrabbable",matches:function(e){return!e.grabbable()}},{selector:":animated",matches:function(e){return e.animated()}},{selector:":unanimated",matches:function(e){return!e.animated()}},{selector:":parent",matches:function(e){return e.isParent()}},{selector:":childless",matches:function(e){return e.isChildless()}},{selector:":child",matches:function(e){return e.isChild()}},{selector:":orphan",matches:function(e){return e.isOrphan()}},{selector:":nonorphan",matches:function(e){return e.isChild()}},{selector:":compound",matches:function(e){return e.isNode()?e.isParent():e.source().isParent()||e.target().isParent()}},{selector:":loop",matches:function(e){return e.isLoop()}},{selector:":simple",matches:function(e){return e.isSimple()}},{selector:":active",matches:function(e){return e.active()}},{selector:":inactive",matches:function(e){return!e.active()}},{selector:":backgrounding",matches:function(e){return e.backgrounding()}},{selector:":nonbackgrounding",matches:function(e){return!e.backgrounding()}}].sort((function(e,t){return function(e,t){return-1*$(e,t)}(e.selector,t.selector)})),fr=function(){for(var e,t={},n=0;n0&&l.edgeCount>0)return Pe("The selector `"+e+"` is invalid because it uses both a compound selector and an edge selector"),!1;if(l.edgeCount>1)return Pe("The selector `"+e+"` is invalid because it uses multiple edge selectors"),!1;1===l.edgeCount&&Pe("The selector `"+e+"` is deprecated. Edge selectors do not take effect on changes to source and target nodes after an edge is added, for performance reasons. Use a class or data selector on edges instead, updating the class or data of an edge when your app detects a change in source or target nodes.")}return!0},toString:function(){if(null!=this.toStringCache)return this.toStringCache;for(var e=function(e){return null==e?"":e},t=function(t){return T(t)?'"'+t+'"':e(t)},n=function(e){return" "+e+" "},r=function(i,a){return i.checks.reduce((function(o,s,u){return o+(a===i&&0===u?"$":"")+function(i,a){var o=i.type,s=i.value;switch(o){case 0:var u=e(s);return u.substring(0,u.length-1);case 3:var l=i.field,c=i.operator;return"["+l+n(e(c))+t(s)+"]";case 5:var d=i.operator,h=i.field;return"["+e(d)+h+"]";case 4:return"["+i.field+"]";case 6:var f=i.operator;return"[["+i.field+n(e(f))+t(s)+"]]";case 7:return s;case 8:return"#"+s;case 9:return"."+s;case 17:case 15:return r(i.parent,a)+n(">")+r(i.child,a);case 18:case 16:return r(i.ancestor,a)+" "+r(i.descendant,a);case 19:var p=r(i.left,a),v=r(i.subject,a),g=r(i.right,a);return p+(p.length>0?" ":"")+v+g;case dr:return""}}(s,a)}),"")},i="",a=0;a1&&a=0&&(t=t.replace("!",""),c=!0),t.indexOf("@")>=0&&(t=t.replace("@",""),l=!0),(o||u||l)&&(i=o||s?""+e:"",a=""+n),l&&(e=i=i.toLowerCase(),n=a=a.toLowerCase()),t){case"*=":r=i.indexOf(a)>=0;break;case"$=":r=i.indexOf(a,i.length-a.length)>=0;break;case"^=":r=0===i.indexOf(a);break;case"=":r=e===n;break;case">":d=!0,r=e>n;break;case">=":d=!0,r=e>=n;break;case"<":d=!0,r=e0;){var l=i.shift();t(l),a.add(l.id()),o&&r(i,a,l)}return e}function Or(e,t,n){if(n.isParent())for(var r=n._private.children,i=0;i1&&void 0!==arguments[1])||arguments[1],Or)},Br.forEachUp=function(e){return Ir(this,e,!(arguments.length>1&&void 0!==arguments[1])||arguments[1],Ar)},Br.forEachUpAndDown=function(e){return Ir(this,e,!(arguments.length>1&&void 0!==arguments[1])||arguments[1],zr)},Br.ancestors=Br.parents,(Tr=Dr={data:sr.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),removeData:sr.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),scratch:sr.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:sr.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),rscratch:sr.data({field:"rscratch",allowBinding:!1,allowSetting:!0,settingTriggersEvent:!1,allowGetting:!0}),removeRscratch:sr.removeData({field:"rscratch",triggerEvent:!1}),id:function(){var e=this[0];if(e)return e._private.data.id}}).attr=Tr.data,Tr.removeAttr=Tr.removeData;var Nr,Lr,Rr=Dr,jr={};function Vr(e){return function(t){var n=this;if(void 0===t&&(t=!0),0!==n.length&&n.isNode()&&!n.removed()){for(var r=0,i=n[0],a=i._private.edges,o=0;ot})),minIndegree:Fr("indegree",(function(e,t){return et})),minOutdegree:Fr("outdegree",(function(e,t){return et}))}),Q(jr,{totalDegree:function(e){for(var t=0,n=this.nodes(),r=0;r0,c=l;l&&(u=u[0]);var d=c?u.position():{x:0,y:0};return i={x:s.x-d.x,y:s.y-d.y},void 0===e?i:i[e]}for(var h=0;h0,g=v;v&&(p=p[0]);var y=g?p.position():{x:0,y:0};void 0!==t?f.position(e,t+y[e]):void 0!==i&&f.position({x:i.x+y.x,y:i.y+y.y})}}else if(!a)return;return this}},Nr.modelPosition=Nr.point=Nr.position,Nr.modelPositions=Nr.points=Nr.positions,Nr.renderedPoint=Nr.renderedPosition,Nr.relativePoint=Nr.relativePosition;var Yr,Xr,Hr=Lr;Yr=Xr={},Xr.renderedBoundingBox=function(e){var t=this.boundingBox(e),n=this.cy(),r=n.zoom(),i=n.pan(),a=t.x1*r+i.x,o=t.x2*r+i.x,s=t.y1*r+i.y,u=t.y2*r+i.y;return{x1:a,x2:o,y1:s,y2:u,w:o-a,h:u-s}},Xr.dirtyCompoundBoundsCache=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=this.cy();return t.styleEnabled()&&t.hasCompoundNodes()?(this.forEachUp((function(t){if(t.isParent()){var n=t._private;n.compoundBoundsClean=!1,n.bbCache=null,e||t.emitAndNotify("bounds")}})),this):this},Xr.updateCompoundBounds=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=this.cy();if(!t.styleEnabled()||!t.hasCompoundNodes())return this;if(!e&&t.batching())return this;function n(e){if(e.isParent()){var t=e._private,n=e.children(),r="include"===e.pstyle("compound-sizing-wrt-labels").value,i={width:{val:e.pstyle("min-width").pfValue,left:e.pstyle("min-width-bias-left"),right:e.pstyle("min-width-bias-right")},height:{val:e.pstyle("min-height").pfValue,top:e.pstyle("min-height-bias-top"),bottom:e.pstyle("min-height-bias-bottom")}},a=n.boundingBox({includeLabels:r,includeOverlays:!1,useCache:!1}),o=t.position;0!==a.w&&0!==a.h||((a={w:e.pstyle("width").pfValue,h:e.pstyle("height").pfValue}).x1=o.x-a.w/2,a.x2=o.x+a.w/2,a.y1=o.y-a.h/2,a.y2=o.y+a.h/2);var s=i.width.left.value;"px"===i.width.left.units&&i.width.val>0&&(s=100*s/i.width.val);var u=i.width.right.value;"px"===i.width.right.units&&i.width.val>0&&(u=100*u/i.width.val);var l=i.height.top.value;"px"===i.height.top.units&&i.height.val>0&&(l=100*l/i.height.val);var c=i.height.bottom.value;"px"===i.height.bottom.units&&i.height.val>0&&(c=100*c/i.height.val);var d=y(i.width.val-a.w,s,u),h=d.biasDiff,f=d.biasComplementDiff,p=y(i.height.val-a.h,l,c),v=p.biasDiff,g=p.biasComplementDiff;t.autoPadding=function(e,t,n,r){if("%"!==n.units)return"px"===n.units?n.pfValue:0;switch(r){case"width":return e>0?n.pfValue*e:0;case"height":return t>0?n.pfValue*t:0;case"average":return e>0&&t>0?n.pfValue*(e+t)/2:0;case"min":return e>0&&t>0?e>t?n.pfValue*t:n.pfValue*e:0;case"max":return e>0&&t>0?e>t?n.pfValue*e:n.pfValue*t:0;default:return 0}}(a.w,a.h,e.pstyle("padding"),e.pstyle("padding-relative-to").value),t.autoWidth=Math.max(a.w,i.width.val),o.x=(-h+a.x1+a.x2+f)/2,t.autoHeight=Math.max(a.h,i.height.val),o.y=(-v+a.y1+a.y2+g)/2}function y(e,t,n){var r=0,i=0,a=t+n;return e>0&&a>0&&(r=t/a*e,i=n/a*e),{biasDiff:r,biasComplementDiff:i}}}for(var r=0;re.x2?r:e.x2,e.y1=ne.y2?i:e.y2,e.w=e.x2-e.x1,e.h=e.y2-e.y1)},Kr=function(e,t){return null==t?e:Zr(e,t.x1,t.y1,t.x2,t.y2)},Gr=function(e,t,n){return ze(e,t,n)},$r=function(e,t,n){if(!t.cy().headless()){var r,i,a=t._private,o=a.rstyle,s=o.arrowWidth/2;if("none"!==t.pstyle(n+"-arrow-shape").value){"source"===n?(r=o.srcX,i=o.srcY):"target"===n?(r=o.tgtX,i=o.tgtY):(r=o.midX,i=o.midY);var u=a.arrowBounds=a.arrowBounds||{},l=u[n]=u[n]||{};l.x1=r-s,l.y1=i-s,l.x2=r+s,l.y2=i+s,l.w=l.x2-l.x1,l.h=l.y2-l.y1,yt(l,1),Zr(e,l.x1,l.y1,l.x2,l.y2)}}},Qr=function(e,t,n){if(!t.cy().headless()){var r;r=n?n+"-":"";var i=t._private,a=i.rstyle;if(t.pstyle(r+"label").strValue){var o,s,u,l,c=t.pstyle("text-halign"),d=t.pstyle("text-valign"),h=Gr(a,"labelWidth",n),f=Gr(a,"labelHeight",n),p=Gr(a,"labelX",n),v=Gr(a,"labelY",n),g=t.pstyle(r+"text-margin-x").pfValue,y=t.pstyle(r+"text-margin-y").pfValue,m=t.isEdge(),b=t.pstyle(r+"text-rotation"),x=t.pstyle("text-outline-width").pfValue,w=t.pstyle("text-border-width").pfValue/2,_=t.pstyle("text-background-padding").pfValue,E=f,k=h,C=k/2,S=E/2;if(m)o=p-C,s=p+C,u=v-S,l=v+S;else{switch(c.value){case"left":o=p-k,s=p;break;case"center":o=p-C,s=p+C;break;case"right":o=p,s=p+k}switch(d.value){case"top":u=v-E,l=v;break;case"center":u=v-S,l=v+S;break;case"bottom":u=v,l=v+E}}o+=g-Math.max(x,w)-_-2,s+=g+Math.max(x,w)+_+2,u+=y-Math.max(x,w)-_-2,l+=y+Math.max(x,w)+_+2;var P=n||"main",T=i.labelBounds,D=T[P]=T[P]||{};D.x1=o,D.y1=u,D.x2=s,D.y2=l,D.w=s-o,D.h=l-u;var M=m&&"autorotate"===b.strValue,B=null!=b.pfValue&&0!==b.pfValue;if(M||B){var I=M?Gr(i.rstyle,"labelAngle",n):b.pfValue,O=Math.cos(I),A=Math.sin(I),z=(o+s)/2,N=(u+l)/2;if(!m){switch(c.value){case"left":z=s;break;case"right":z=o}switch(d.value){case"top":N=l;break;case"bottom":N=u}}var L=function(e,t){return{x:(e-=z)*O-(t-=N)*A+z,y:e*A+t*O+N}},R=L(o,u),j=L(o,l),V=L(s,u),F=L(s,l);o=Math.min(R.x,j.x,V.x,F.x),s=Math.max(R.x,j.x,V.x,F.x),u=Math.min(R.y,j.y,V.y,F.y),l=Math.max(R.y,j.y,V.y,F.y)}var q=P+"Rot",W=T[q]=T[q]||{};W.x1=o,W.y1=u,W.x2=s,W.y2=l,W.w=s-o,W.h=l-u,Zr(e,o,u,s,l),Zr(i.labelBounds.all,o,u,s,l)}return e}},Jr=function(e){var t=0,n=function(e){return(e?1:0)<0&&a>0){var o=t.pstyle("outline-offset").value,s=t.pstyle("shape").value,u=a+o,l=(e.w+2*u)/e.w,c=(e.h+2*u)/e.h,d=0;["diamond","pentagon","round-triangle"].includes(s)?(l=(e.w+2.4*u)/e.w,d=-u/3.6):["concave-hexagon","rhomboid","right-rhomboid"].includes(s)?l=(e.w+2.4*u)/e.w:"star"===s?(l=(e.w+2.8*u)/e.w,c=(e.h+2.6*u)/e.h,d=-u/3.8):"triangle"===s?(l=(e.w+2.8*u)/e.w,c=(e.h+2.4*u)/e.h,d=-u/1.4):"vee"===s&&(l=(e.w+4.4*u)/e.w,c=(e.h+3.8*u)/e.h,d=.5*-u);var h=e.h*c-e.h,f=e.w*l-e.w;if(mt(e,[Math.ceil(h/2),Math.ceil(f/2)]),0!==d){var p=(r=d,{x1:(n=e).x1+0,x2:n.x2+0,y1:n.y1+r,y2:n.y2+r,w:n.w,h:n.h});vt(e,p)}}}}(h,e)}else if(v&&t.includeEdges)if(c&&!d){var P=e.pstyle("curve-style").strValue;if(n=Math.min(g.srcX,g.midX,g.tgtX),r=Math.max(g.srcX,g.midX,g.tgtX),i=Math.min(g.srcY,g.midY,g.tgtY),a=Math.max(g.srcY,g.midY,g.tgtY),Zr(h,n-=E,i-=E,r+=E,a+=E),"haystack"===P){var T=g.haystackPts;if(T&&2===T.length){if(n=T[0].x,i=T[0].y,n>(r=T[1].x)){var D=n;n=r,r=D}if(i>(a=T[1].y)){var M=i;i=a,a=M}Zr(h,n-E,i-E,r+E,a+E)}}else if("bezier"===P||"unbundled-bezier"===P||"segments"===P||"taxi"===P){var B;switch(P){case"bezier":case"unbundled-bezier":B=g.bezierPts;break;case"segments":case"taxi":B=g.linePts}if(null!=B)for(var I=0;I(r=z.x)){var N=n;n=r,r=N}if((i=A.y)>(a=z.y)){var L=i;i=a,a=L}Zr(h,n-=E,i-=E,r+=E,a+=E)}if(c&&t.includeEdges&&v&&($r(h,e,"mid-source"),$r(h,e,"mid-target"),$r(h,e,"source"),$r(h,e,"target")),c&&"yes"===e.pstyle("ghost").value){var R=e.pstyle("ghost-offset-x").pfValue,j=e.pstyle("ghost-offset-y").pfValue;Zr(h,h.x1+R,h.y1+j,h.x2+R,h.y2+j)}var V=f.bodyBounds=f.bodyBounds||{};bt(V,h),mt(V,y),yt(V,1),c&&(n=h.x1,r=h.x2,i=h.y1,a=h.y2,Zr(h,n-_,i-_,r+_,a+_));var F=f.overlayBounds=f.overlayBounds||{};bt(F,h),mt(F,y),yt(F,1);var q=f.labelBounds=f.labelBounds||{};null!=q.all?((u=q.all).x1=1/0,u.y1=1/0,u.x2=-1/0,u.y2=-1/0,u.w=0,u.h=0):q.all=pt(),c&&t.includeLabels&&(t.includeMainLabels&&Qr(h,e,null),v&&(t.includeSourceLabels&&Qr(h,e,"source"),t.includeTargetLabels&&Qr(h,e,"target")))}return h.x1=Ur(h.x1),h.y1=Ur(h.y1),h.x2=Ur(h.x2),h.y2=Ur(h.y2),h.w=Ur(h.x2-h.x1),h.h=Ur(h.y2-h.y1),h.w>0&&h.h>0&&b&&(mt(h,y),yt(h,1)),h}(e,ni),r.bbCache=n,r.bbCachePosKey=o):n=r.bbCache,!a){var c=e.isNode();n=pt(),(t.includeNodes&&c||t.includeEdges&&!c)&&(t.includeOverlays?Kr(n,r.overlayBounds):Kr(n,r.bodyBounds)),t.includeLabels&&(t.includeMainLabels&&(!i||t.includeSourceLabels&&t.includeTargetLabels)?Kr(n,r.labelBounds.all):(t.includeMainLabels&&Kr(n,r.labelBounds.mainRot),t.includeSourceLabels&&Kr(n,r.labelBounds.sourceRot),t.includeTargetLabels&&Kr(n,r.labelBounds.targetRot))),n.w=n.x2-n.x1,n.h=n.y2-n.y1}return n},ni={includeNodes:!0,includeEdges:!0,includeLabels:!0,includeMainLabels:!0,includeSourceLabels:!0,includeTargetLabels:!0,includeOverlays:!0,includeUnderlays:!0,includeOutlines:!0,useCache:!0},ri=Jr(ni),ii=Ie(ni);Xr.boundingBox=function(e){var t;if(1!==this.length||null==this[0]._private.bbCache||this[0]._private.styleDirty||void 0!==e&&void 0!==e.useCache&&!0!==e.useCache){t=pt();var n=ii(e=e||ni),r=this;if(r.cy().styleEnabled())for(var i=0;i0&&void 0!==arguments[0]?arguments[0]:bi,t=arguments.length>1?arguments[1]:void 0,n=0;n=0;s--)o(s);return this},wi.removeAllListeners=function(){return this.removeListener("*")},wi.emit=wi.trigger=function(e,t,n){var r=this.listeners,i=r.length;return this.emitting++,M(t)||(t=[t]),function(e,t,n){if("event"!==P(n))if(B(n))t(e,Ei(e,n));else for(var r=M(n)?n:n.split(/\s+/),i=0;i1&&!r){var i=this.length-1,a=this[i],o=a._private.data.id;this[i]=void 0,this[e]=a,n.set(o,{ele:a,index:e})}return this.length--,this},unmergeOne:function(e){e=e[0];var t=this._private,n=e._private.data.id,r=t.map.get(n);if(!r)return this;var i=r.index;return this.unmergeAt(i),this},unmerge:function(e){var t=this._private.cy;if(!e)return this;if(e&&T(e)){var n=e;e=t.mutableElements().filter(n)}for(var r=0;r=0;t--)e(this[t])&&this.unmergeAt(t);return this},map:function(e,t){for(var n=[],r=this,i=0;ir&&(r=s,n=o)}return{value:r,ele:n}},min:function(e,t){for(var n,r=1/0,i=this,a=0;a=0&&i1&&void 0!==arguments[1])||arguments[1],n=this[0],r=n.cy();if(r.styleEnabled()&&n){this.cleanStyle();var i=n._private.style[e];return null!=i?i:t?r.style().getDefaultProperty(e):null}},numericStyle:function(e){var t=this[0];if(t.cy().styleEnabled()&&t){var n=t.pstyle(e);return void 0!==n.pfValue?n.pfValue:n.value}},numericStyleUnits:function(e){var t=this[0];if(t.cy().styleEnabled())return t?t.pstyle(e).units:void 0},renderedStyle:function(e){var t=this.cy();if(!t.styleEnabled())return this;var n=this[0];return n?t.style().getRenderedStyle(n,e):void 0},style:function(e,t){var n=this.cy();if(!n.styleEnabled())return this;var r=n.style();if(B(e)){var i=e;r.applyBypass(this,i,!1),this.emitAndNotify("style")}else if(T(e)){if(void 0===t){var a=this[0];return a?r.getStylePropertyValue(a,e):void 0}r.applyBypass(this,e,t,!1),this.emitAndNotify("style")}else if(void 0===e){var o=this[0];return o?r.getRawStyle(o):void 0}return this},removeStyle:function(e){var t=this.cy();if(!t.styleEnabled())return this;var n=t.style(),r=this;if(void 0===e)for(var i=0;i0&&t.push(c[0]),t.push(s[0])}return this.spawn(t,!0).filter(e)}),"neighborhood"),closedNeighborhood:function(e){return this.neighborhood().add(this).filter(e)},openNeighborhood:function(e){return this.neighborhood(e)}}),Zi.neighbourhood=Zi.neighborhood,Zi.closedNeighbourhood=Zi.closedNeighborhood,Zi.openNeighbourhood=Zi.openNeighborhood,Q(Zi,{source:Mr((function(e){var t,n=this[0];return n&&(t=n._private.source||n.cy().collection()),t&&e?t.filter(e):t}),"source"),target:Mr((function(e){var t,n=this[0];return n&&(t=n._private.target||n.cy().collection()),t&&e?t.filter(e):t}),"target"),sources:Qi({attr:"source"}),targets:Qi({attr:"target"})}),Q(Zi,{edgesWith:Mr(Ji(),"edgesWith"),edgesTo:Mr(Ji({thisIsSrc:!0}),"edgesTo")}),Q(Zi,{connectedEdges:Mr((function(e){for(var t=[],n=0;n0);return a},component:function(){var e=this[0];return e.cy().mutableElements().components(e)[0]}}),Zi.componentsOf=Zi.components;var ta=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(void 0!==e){var i=new Le,a=!1;if(t){if(t.length>0&&B(t[0])&&!z(t[0])){a=!0;for(var o=[],s=new je,u=0,l=t.length;u0&&void 0!==arguments[0])||arguments[0],r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=this,a=i.cy(),o=a._private,s=[],u=[],l=0,c=i.length;l0){for(var N=e.length===i.length?i:new ta(a,e),L=0;L0&&void 0!==arguments[0])||arguments[0],t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=this,r=[],i={},a=n._private.cy;function o(e){var n=i[e.id()];t&&e.removed()||n||(i[e.id()]=!0,e.isNode()?(r.push(e),function(e){for(var t=e._private.edges,n=0;n0&&(e?E.emitAndNotify("remove"):t&&E.emit("remove"));for(var k=0;k=.001?function(t,r){for(var i=0;i<4;++i){var a=h(r,e,n);if(0===a)return r;r-=(d(r,e,n)-t)/a}return r}(t,o):0===u?o:function(t,r,i){var a,o,s=0;do{(a=d(o=r+(i-r)/2,e,n)-t)>0?i=o:r=o}while(Math.abs(a)>1e-7&&++s<10);return o}(t,r,r+i)}(a),t,r)};p.getControlPoints=function(){return[{x:e,y:t},{x:n,y:r}]};var v="generateBezier("+[e,t,n,r]+")";return p.toString=function(){return v},p}var aa=function(){function e(e){return-e.tension*e.x-e.friction*e.v}function t(t,n,r){var i={x:t.x+r.dx*n,v:t.v+r.dv*n,tension:t.tension,friction:t.friction};return{dx:i.v,dv:e(i)}}function n(n,r){var i={dx:n.v,dv:e(n)},a=t(n,.5*r,i),o=t(n,.5*r,a),s=t(n,r,o),u=1/6*(i.dx+2*(a.dx+o.dx)+s.dx),l=1/6*(i.dv+2*(a.dv+o.dv)+s.dv);return n.x=n.x+u*r,n.v=n.v+l*r,n}return function e(t,r,i){var a,o,s,u={x:-1,v:0,tension:null,friction:null},l=[0],c=0,d=1e-4;for(t=parseFloat(t)||500,r=parseFloat(r)||20,i=i||null,u.tension=t,u.friction=r,o=(a=null!==i)?(c=e(t,r))/i*.016:.016;s=n(s||u,o),l.push(1+s.x),c+=16,Math.abs(s.x)>d&&Math.abs(s.v)>d;);return a?function(e){return l[e*(l.length-1)|0]}:c}}(),oa=function(e,t,n,r){var i=ia(e,t,n,r);return function(e,t,n){return e+(t-e)*i(n)}},sa={linear:function(e,t,n){return e+(t-e)*n},ease:oa(.25,.1,.25,1),"ease-in":oa(.42,0,1,1),"ease-out":oa(0,0,.58,1),"ease-in-out":oa(.42,0,.58,1),"ease-in-sine":oa(.47,0,.745,.715),"ease-out-sine":oa(.39,.575,.565,1),"ease-in-out-sine":oa(.445,.05,.55,.95),"ease-in-quad":oa(.55,.085,.68,.53),"ease-out-quad":oa(.25,.46,.45,.94),"ease-in-out-quad":oa(.455,.03,.515,.955),"ease-in-cubic":oa(.55,.055,.675,.19),"ease-out-cubic":oa(.215,.61,.355,1),"ease-in-out-cubic":oa(.645,.045,.355,1),"ease-in-quart":oa(.895,.03,.685,.22),"ease-out-quart":oa(.165,.84,.44,1),"ease-in-out-quart":oa(.77,0,.175,1),"ease-in-quint":oa(.755,.05,.855,.06),"ease-out-quint":oa(.23,1,.32,1),"ease-in-out-quint":oa(.86,0,.07,1),"ease-in-expo":oa(.95,.05,.795,.035),"ease-out-expo":oa(.19,1,.22,1),"ease-in-out-expo":oa(1,0,0,1),"ease-in-circ":oa(.6,.04,.98,.335),"ease-out-circ":oa(.075,.82,.165,1),"ease-in-out-circ":oa(.785,.135,.15,.86),spring:function(e,t,n){if(0===n)return sa.linear;var r=aa(e,t,n);return function(e,t,n){return e+(t-e)*r(n)}},"cubic-bezier":oa};function ua(e,t,n,r,i){if(1===r)return n;if(t===n)return n;var a=i(t,n,r);return null==e||((e.roundValue||e.color)&&(a=Math.round(a)),void 0!==e.min&&(a=Math.max(a,e.min)),void 0!==e.max&&(a=Math.min(a,e.max))),a}function la(e,t){return null!=e.pfValue||null!=e.value?null==e.pfValue||null!=t&&"%"===t.type.units?e.value:e.pfValue:e}function ca(e,t,n,r,i){var a=null!=i?i.type:null;n<0?n=0:n>1&&(n=1);var o=la(e,i),s=la(t,i);if(I(o)&&I(s))return ua(a,o,s,n,r);if(M(o)&&M(s)){for(var u=[],l=0;l0?("spring"===d&&h.push(o.duration),o.easingImpl=sa[d].apply(null,h)):o.easingImpl=sa[d]}var f,p=o.easingImpl;if(f=0===o.duration?1:(n-u)/o.duration,o.applying&&(f=o.progress),f<0?f=0:f>1&&(f=1),null==o.delay){var v=o.startPosition,g=o.position;if(g&&i&&!e.locked()){var y={};ha(v.x,g.x)&&(y.x=ca(v.x,g.x,f,p)),ha(v.y,g.y)&&(y.y=ca(v.y,g.y,f,p)),e.position(y)}var m=o.startPan,b=o.pan,x=a.pan,w=null!=b&&r;w&&(ha(m.x,b.x)&&(x.x=ca(m.x,b.x,f,p)),ha(m.y,b.y)&&(x.y=ca(m.y,b.y,f,p)),e.emit("pan"));var _=o.startZoom,E=o.zoom,k=null!=E&&r;k&&(ha(_,E)&&(a.zoom=ft(a.minZoom,ca(_,E,f,p),a.maxZoom)),e.emit("zoom")),(w||k)&&e.emit("viewport");var C=o.style;if(C&&C.length>0&&i){for(var S=0;S=0;t--)(0,e[t])();e.splice(0,e.length)},c=a.length-1;c>=0;c--){var d=a[c],h=d._private;h.stopped?(a.splice(c,1),h.hooked=!1,h.playing=!1,h.started=!1,l(h.frames)):(h.playing||h.applying)&&(h.playing&&h.applying&&(h.applying=!1),h.started||fa(0,d,e),da(t,d,e,n),h.applying&&(h.applying=!1),l(h.frames),null!=h.step&&h.step(e),d.completed()&&(a.splice(c,1),h.hooked=!1,h.playing=!1,h.started=!1,l(h.completes)),s=!0)}return n||0!==a.length||0!==o.length||r.push(t),s}for(var a=!1,o=0;o0?t.notify("draw",n):t.notify("draw")),n.unmerge(r),t.emit("step")}var va={animate:sr.animate(),animation:sr.animation(),animated:sr.animated(),clearQueue:sr.clearQueue(),delay:sr.delay(),delayAnimation:sr.delayAnimation(),stop:sr.stop(),addToAnimationPool:function(e){this.styleEnabled()&&this._private.aniEles.merge(e)},stopAnimationLoop:function(){this._private.animationsRunning=!1},startAnimationLoop:function(){var e=this;if(e._private.animationsRunning=!0,e.styleEnabled()){var t=e.renderer();t&&t.beforeRender?t.beforeRender((function(t,n){pa(n,e)}),t.beforeRenderPriorities.animations):function t(){e._private.animationsRunning&&ae((function(n){pa(n,e),t()}))}()}}},ga={qualifierCompare:function(e,t){return null==e||null==t?null==e&&null==t:e.sameText(t)},eventMatches:function(e,t,n){var r=t.qualifier;return null==r||e!==n.target&&z(n.target)&&r.matches(n.target)},addEventFields:function(e,t){t.cy=e,t.target=e},callbackContext:function(e,t,n){return null!=t.qualifier?n.target:e}},ya=function(e){return T(e)?new Cr(e):e},ma={createEmitter:function(){var e=this._private;return e.emitter||(e.emitter=new xi(ga,this)),this},emitter:function(){return this._private.emitter},on:function(e,t,n){return this.emitter().on(e,ya(t),n),this},removeListener:function(e,t,n){return this.emitter().removeListener(e,ya(t),n),this},removeAllListeners:function(){return this.emitter().removeAllListeners(),this},one:function(e,t,n){return this.emitter().one(e,ya(t),n),this},once:function(e,t,n){return this.emitter().one(e,ya(t),n),this},emit:function(e,t){return this.emitter().emit(e,t),this},emitAndNotify:function(e,t){return this.emit(e),this.notify(e,t),this}};sr.eventAliasesOn(ma);var ba={png:function(e){return e=e||{},this._private.renderer.png(e)},jpg:function(e){var t=this._private.renderer;return(e=e||{}).bg=e.bg||"#fff",t.jpg(e)}};ba.jpeg=ba.jpg;var xa={layout:function(e){var t=this;if(null!=e)if(null!=e.name){var n,r=e.name,i=t.extension("layout",r);if(null!=i)return n=T(e.eles)?t.$(e.eles):null!=e.eles?e.eles:t.$(),new i(Q({},e,{cy:t,eles:n}));Ce("No such layout `"+r+"` found. Did you forget to import it and `cytoscape.use()` it?")}else Ce("A `name` must be specified to make a layout");else Ce("Layout options must be specified to make a layout")}};xa.createLayout=xa.makeLayout=xa.layout;var wa={notify:function(e,t){var n=this._private;if(this.batching()){n.batchNotifications=n.batchNotifications||{};var r=n.batchNotifications[e]=n.batchNotifications[e]||this.collection();null!=t&&r.merge(t)}else if(n.notificationsEnabled){var i=this.renderer();!this.destroyed()&&i&&i.notify(e,t)}},notifications:function(e){var t=this._private;return void 0===e?t.notificationsEnabled:(t.notificationsEnabled=!!e,this)},noNotifications:function(e){this.notifications(!1),e(),this.notifications(!0)},batching:function(){return this._private.batchCount>0},startBatch:function(){var e=this._private;return null==e.batchCount&&(e.batchCount=0),0===e.batchCount&&(e.batchStyleEles=this.collection(),e.batchNotifications={}),e.batchCount++,this},endBatch:function(){var e=this._private;if(0===e.batchCount)return this;if(e.batchCount--,0===e.batchCount){e.batchStyleEles.updateStyle();var t=this.renderer();Object.keys(e.batchNotifications).forEach((function(n){var r=e.batchNotifications[n];r.empty()?t.notify(n):t.notify(n,r)}))}return this},batch:function(e){return this.startBatch(),e(),this.endBatch(),this},batchData:function(e){var t=this;return this.batch((function(){for(var n=Object.keys(e),r=0;r0;)t.removeChild(t.childNodes[0]);e._private.renderer=null,e.mutableElements().forEach((function(e){var t=e._private;t.rscratch={},t.rstyle={},t.animation.current=[],t.animation.queue=[]}))},onRender:function(e){return this.on("render",e)},offRender:function(e){return this.off("render",e)}};Ea.invalidateDimensions=Ea.resize;var ka={collection:function(e,t){return T(e)?this.$(e):A(e)?e.collection():M(e)?(t||(t={}),new ta(this,e,t.unique,t.removed)):new ta(this)},nodes:function(e){var t=this.$((function(e){return e.isNode()}));return e?t.filter(e):t},edges:function(e){var t=this.$((function(e){return e.isEdge()}));return e?t.filter(e):t},$:function(e){var t=this._private.elements;return e?t.filter(e):t.spawnSelf()},mutableElements:function(){return this._private.elements}};ka.elements=ka.filter=ka.$;var Ca={},Sa="t";Ca.apply=function(e){for(var t=this,n=t._private.cy.collection(),r=0;r0;if(h||d&&f){var p=void 0;h&&f||h?p=l.properties:f&&(p=l.mappedProperties);for(var v=0;v1&&(g=1),s.color){var w=i.valueMin[0],_=i.valueMax[0],E=i.valueMin[1],k=i.valueMax[1],C=i.valueMin[2],S=i.valueMax[2],P=null==i.valueMin[3]?1:i.valueMin[3],T=null==i.valueMax[3]?1:i.valueMax[3],D=[Math.round(w+(_-w)*g),Math.round(E+(k-E)*g),Math.round(C+(S-C)*g),Math.round(P+(T-P)*g)];n={bypass:i.bypass,name:i.name,value:D,strValue:"rgb("+D[0]+", "+D[1]+", "+D[2]+")"}}else{if(!s.number)return!1;var M=i.valueMin+(i.valueMax-i.valueMin)*g;n=this.parse(i.name,M,i.bypass,h)}if(!n)return v(),!1;n.mapping=i,i=n;break;case o.data:for(var B=i.field.split("."),O=d.data,A=0;A0&&a>0){for(var s={},u=!1,l=0;l0?e.delayAnimation(o).play().promise().then(t):t()})).then((function(){return e.animation({style:s,duration:a,easing:e.pstyle("transition-timing-function").value,queue:!1}).play().promise()})).then((function(){n.removeBypasses(e,i),e.emitAndNotify("style"),r.transitioning=!1}))}else r.transitioning&&(this.removeBypasses(e,i),e.emitAndNotify("style"),r.transitioning=!1)},Ca.checkTrigger=function(e,t,n,r,i,a){var o=this.properties[t],s=i(o);null!=s&&s(n,r)&&a(o)},Ca.checkZOrderTrigger=function(e,t,n,r){var i=this;this.checkTrigger(e,t,n,r,(function(e){return e.triggersZOrder}),(function(){i._private.cy.notify("zorder",e)}))},Ca.checkBoundsTrigger=function(e,t,n,r){this.checkTrigger(e,t,n,r,(function(e){return e.triggersBounds}),(function(i){e.dirtyCompoundBoundsCache(),e.dirtyBoundingBoxCache(),!i.triggersBoundsOfParallelBeziers||"curve-style"!==t||"bezier"!==n&&"bezier"!==r||e.parallelEdges().forEach((function(e){e.isBundledBezier()&&e.dirtyBoundingBoxCache()})),!i.triggersBoundsOfConnectedEdges||"display"!==t||"none"!==n&&"none"!==r||e.connectedEdges().forEach((function(e){e.dirtyBoundingBoxCache()}))}))},Ca.checkTriggers=function(e,t,n,r){e.dirtyStyleCache(),this.checkZOrderTrigger(e,t,n,r),this.checkBoundsTrigger(e,t,n,r)};var Pa={applyBypass:function(e,t,n,r){var i=[];if("*"===t||"**"===t){if(void 0!==n)for(var a=0;at.length?a.substr(t.length):""}function s(){n=n.length>r.length?n.substr(r.length):""}for(a=a.replace(/[/][*](\s|.)+?[*][/]/g,"");!a.match(/^\s*$/);){var u=a.match(/^\s*((?:.|\s)+?)\s*\{((?:.|\s)+?)\}/);if(!u){Pe("Halting stylesheet parsing: String stylesheet contains more to parse but no selector and block found in: "+a);break}t=u[0];var l=u[1];if("core"!==l&&new Cr(l).invalid)Pe("Skipping parsing of block: Invalid selector found in string stylesheet: "+l),o();else{var c=u[2],d=!1;n=c;for(var h=[];!n.match(/^\s*$/);){var f=n.match(/^\s*(.+?)\s*:\s*(.+?)(?:\s*;|\s*$)/);if(!f){Pe("Skipping parsing of block: Invalid formatting of style property and value definitions found in:"+c),d=!0;break}r=f[0];var p=f[1],v=f[2];this.properties[p]?i.parse(p,v)?(h.push({name:p,val:v}),s()):(Pe("Skipping property: Invalid property definition in: "+r),s()):(Pe("Skipping property: Invalid property name in: "+r),s())}if(d){o();break}i.selector(l);for(var g=0;g=7&&"d"===t[0]&&(l=new RegExp(s.data.regex).exec(t))){if(n)return!1;var h=s.data;return{name:e,value:l,strValue:""+t,mapped:h,field:l[1],bypass:n}}if(t.length>=10&&"m"===t[0]&&(c=new RegExp(s.mapData.regex).exec(t))){if(n)return!1;if(d.multiple)return!1;var f=s.mapData;if(!d.color&&!d.number)return!1;var p=this.parse(e,c[4]);if(!p||p.mapped)return!1;var v=this.parse(e,c[5]);if(!v||v.mapped)return!1;if(p.pfValue===v.pfValue||p.strValue===v.strValue)return Pe("`"+e+": "+t+"` is not a valid mapper because the output range is zero; converting to `"+e+": "+p.strValue+"`"),this.parse(e,p.strValue);if(d.color){var g=p.value,y=v.value;if(!(g[0]!==y[0]||g[1]!==y[1]||g[2]!==y[2]||g[3]!==y[3]&&(null!=g[3]&&1!==g[3]||null!=y[3]&&1!==y[3])))return!1}return{name:e,value:c,strValue:""+t,mapped:f,field:c[1],fieldMin:parseFloat(c[2]),fieldMax:parseFloat(c[3]),valueMin:p.value,valueMax:v.value,bypass:n}}}if(d.multiple&&"multiple"!==r){var m;if(m=u?t.split(/\s+/):M(t)?t:[t],d.evenMultiple&&m.length%2!=0)return null;for(var b=[],x=[],w=[],_="",E=!1,k=0;k0?" ":"")+C.strValue}return d.validate&&!d.validate(b,x)?null:d.singleEnum&&E?1===b.length&&T(b[0])?{name:e,value:b[0],strValue:b[0],bypass:n}:null:{name:e,value:b,pfValue:w,strValue:_,bypass:n,units:x}}var S,P,B,O=function(){for(var r=0;rd.max||d.strictMax&&t===d.max))return null;var R={name:e,value:t,strValue:""+t+(A||""),units:A,bypass:n};return d.unitless||"px"!==A&&"em"!==A?R.pfValue=t:R.pfValue="px"!==A&&A?this.getEmSizeInPixels()*t:t,"ms"!==A&&"s"!==A||(R.pfValue="ms"===A?t:1e3*t),"deg"!==A&&"rad"!==A||(R.pfValue="rad"===A?t:(S=t,Math.PI*S/180)),"%"===A&&(R.pfValue=t/100),R}if(d.propList){var j=[],V=""+t;if("none"===V);else{for(var F=V.split(/\s*,\s*|\s+/),W=0;W255)return;t.push(Math.floor(a))}var o=r[1]||r[2]||r[3],s=r[1]&&r[2]&&r[3];if(o&&!s)return;var u=n[4];if(void 0!==u){if((u=parseFloat(u))<0||u>1)return;t.push(u)}}return t}(B)||function(e){var t,n,r,i,a,o,s,u;function l(e,t,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?e+6*(t-e)*n:n<.5?t:n<2/3?e+(t-e)*(2/3-n)*6:e}var c=new RegExp("^"+K+"$").exec(e);if(c){if((n=parseInt(c[1]))<0?n=(360- -1*n%360)%360:n>360&&(n%=360),n/=360,(r=parseFloat(c[2]))<0||r>100)return;if(r/=100,(i=parseFloat(c[3]))<0||i>100)return;if(i/=100,void 0!==(a=c[4])&&((a=parseFloat(a))<0||a>1))return;if(0===r)o=s=u=Math.round(255*i);else{var d=i<.5?i*(1+r):i+r-i*r,h=2*i-d;o=Math.round(255*l(h,d,n+1/3)),s=Math.round(255*l(h,d,n)),u=Math.round(255*l(h,d,n-1/3))}t=[o,s,u,a]}return t}(B);return X?{name:e,value:X,pfValue:X,strValue:"rgb("+X[0]+","+X[1]+","+X[2]+")",bypass:n}:null}if(d.regex||d.regexes){if(d.enums){var Z=O();if(Z)return Z}for(var G=d.regexes?d.regexes:[d.regex],$=0;$0&&u>0&&!isNaN(n.w)&&!isNaN(n.h)&&n.w>0&&n.h>0)return{zoom:o=(o=(o=Math.min((s-2*t)/n.w,(u-2*t)/n.h))>this._private.maxZoom?this._private.maxZoom:o)=n.minZoom&&(n.maxZoom=t),this},minZoom:function(e){return void 0===e?this._private.minZoom:this.zoomRange({min:e})},maxZoom:function(e){return void 0===e?this._private.maxZoom:this.zoomRange({max:e})},getZoomedViewport:function(e){var t,n,r=this._private,i=r.pan,a=r.zoom,o=!1;if(r.zoomingEnabled||(o=!0),I(e)?n=e:B(e)&&(n=e.level,null!=e.position?t=nt(e.position,a,i):null!=e.renderedPosition&&(t=e.renderedPosition),null==t||r.panningEnabled||(o=!0)),n=(n=n>r.maxZoom?r.maxZoom:n)t.maxZoom||!t.zoomingEnabled?a=!0:(t.zoom=s,i.push("zoom"))}if(r&&(!a||!e.cancelOnFailedZoom)&&t.panningEnabled){var u=e.pan;I(u.x)&&(t.pan.x=u.x,o=!1),I(u.y)&&(t.pan.y=u.y,o=!1),o||i.push("pan")}return i.length>0&&(i.push("viewport"),this.emit(i.join(" ")),this.notify("viewport")),this},center:function(e){var t=this.getCenterPan(e);return t&&(this._private.pan=t,this.emit("pan viewport"),this.notify("viewport")),this},getCenterPan:function(e,t){if(this._private.panningEnabled){if(T(e)){var n=e;e=this.mutableElements().filter(n)}else A(e)||(e=this.mutableElements());if(0!==e.length){var r=e.boundingBox(),i=this.width(),a=this.height();return{x:(i-(t=void 0===t?this._private.zoom:t)*(r.x1+r.x2))/2,y:(a-t*(r.y1+r.y2))/2}}}},reset:function(){return this._private.panningEnabled&&this._private.zoomingEnabled?(this.viewport({pan:{x:0,y:0},zoom:1}),this):this},invalidateSize:function(){this._private.sizeCache=null},size:function(){var e,t,n=this._private,r=n.container;return n.sizeCache=n.sizeCache||(r?(e=this.window().getComputedStyle(r),t=function(t){return parseFloat(e.getPropertyValue(t))},{width:r.clientWidth-t("padding-left")-t("padding-right"),height:r.clientHeight-t("padding-top")-t("padding-bottom")}):{width:1,height:1})},width:function(){return this.size().width},height:function(){return this.size().height},extent:function(){var e=this._private.pan,t=this._private.zoom,n=this.renderedExtent(),r={x1:(n.x1-e.x)/t,x2:(n.x2-e.x)/t,y1:(n.y1-e.y)/t,y2:(n.y2-e.y)/t};return r.w=r.x2-r.x1,r.h=r.y2-r.y1,r},renderedExtent:function(){var e=this.width(),t=this.height();return{x1:0,y1:0,x2:e,y2:t,w:e,h:t}},multiClickDebounceTime:function(e){return e?(this._private.multiClickDebounceTime=e,this):this._private.multiClickDebounceTime}};La.centre=La.center,La.autolockNodes=La.autolock,La.autoungrabifyNodes=La.autoungrabify;var Ra={data:sr.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeData:sr.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),scratch:sr.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:sr.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0})};Ra.attr=Ra.data,Ra.removeAttr=Ra.removeData;var ja=function(e){var t=this,n=(e=Q({},e)).container;n&&!O(n)&&O(n[0])&&(n=n[0]);var r=n?n._cyreg:null;(r=r||{})&&r.cy&&(r.cy.destroy(),r={});var i=r.readies=r.readies||[];n&&(n._cyreg=r),r.cy=t;var a=void 0!==w&&void 0!==n&&!e.headless,o=e;o.layout=Q({name:a?"grid":"null"},o.layout),o.renderer=Q({name:a?"canvas":"null"},o.renderer);var s=function(e,t,n){return void 0!==t?t:void 0!==n?n:e},u=this._private={container:n,ready:!1,options:o,elements:new ta(this),listeners:[],aniEles:new ta(this),data:o.data||{},scratch:{},layout:null,renderer:null,destroyed:!1,notificationsEnabled:!0,minZoom:1e-50,maxZoom:1e50,zoomingEnabled:s(!0,o.zoomingEnabled),userZoomingEnabled:s(!0,o.userZoomingEnabled),panningEnabled:s(!0,o.panningEnabled),userPanningEnabled:s(!0,o.userPanningEnabled),boxSelectionEnabled:s(!0,o.boxSelectionEnabled),autolock:s(!1,o.autolock,o.autolockNodes),autoungrabify:s(!1,o.autoungrabify,o.autoungrabifyNodes),autounselectify:s(!1,o.autounselectify),styleEnabled:void 0===o.styleEnabled?a:o.styleEnabled,zoom:I(o.zoom)?o.zoom:1,pan:{x:B(o.pan)&&I(o.pan.x)?o.pan.x:0,y:B(o.pan)&&I(o.pan.y)?o.pan.y:0},animation:{current:[],queue:[]},hasCompoundNodes:!1,multiClickDebounceTime:s(250,o.multiClickDebounceTime)};this.createEmitter(),this.selectionType(o.selectionType),this.zoomRange({min:o.minZoom,max:o.maxZoom}),u.styleEnabled&&t.setStyle([]);var l=Q({},o,o.renderer);t.initRenderer(l),function(e,t){if(e.some(V))return tr.all(e).then(t);t(e)}([o.style,o.elements],(function(e){var n=e[0],a=e[1];u.styleEnabled&&t.style().append(n),function(e,n,r){t.notifications(!1);var i=t.mutableElements();i.length>0&&i.remove(),null!=e&&(B(e)||M(e))&&t.add(e),t.one("layoutready",(function(e){t.notifications(!0),t.emit(e),t.one("load",n),t.emitAndNotify("load")})).one("layoutstop",(function(){t.one("done",r),t.emit("done")}));var a=Q({},t._private.options.layout);a.eles=t.elements(),t.layout(a).run()}(a,(function(){t.startAnimationLoop(),u.ready=!0,D(o.ready)&&t.on("ready",o.ready);for(var e=0;e0,l=pt(n.boundingBox?n.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()});if(A(n.roots))e=n.roots;else if(M(n.roots)){for(var c=[],d=0;d0;){var B=S.shift(),I=C(B,P);if(I)B.outgoers().filter((function(e){return e.isNode()&&i.has(e)})).forEach(D);else if(null===I){Pe("Detected double maximal shift for node `"+B.id()+"`. Bailing maximal adjustment due to cycle. Use `options.maximal: true` only on DAGs.");break}}}k();var O=0;if(n.avoidOverlap)for(var z=0;z0&&y[0].length<=3?u/2:0),d=2*Math.PI/y[r].length*i;return 0===r&&1===y[0].length&&(c=1),{x:U+c*Math.cos(d),y:Z+c*Math.sin(d)}}return{x:U+(i+1-(a+1)/2)*o,y:(r+1)*s}})),this};var Ha={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,radius:void 0,startAngle:1.5*Math.PI,sweep:void 0,clockwise:!0,sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,t){return!0},ready:void 0,stop:void 0,transform:function(e,t){return t}};function Ua(e){this.options=Q({},Ha,e)}Ua.prototype.run=function(){var e=this.options,t=e,n=e.cy,r=t.eles,i=void 0!==t.counterclockwise?!t.counterclockwise:t.clockwise,a=r.nodes().not(":parent");t.sort&&(a=a.sort(t.sort));for(var o,s=pt(t.boundingBox?t.boundingBox:{x1:0,y1:0,w:n.width(),h:n.height()}),u=s.x1+s.w/2,l=s.y1+s.h/2,c=(void 0===t.sweep?2*Math.PI-2*Math.PI/a.length:t.sweep)/Math.max(1,a.length-1),d=0,h=0;h1&&t.avoidOverlap){d*=1.75;var g=Math.cos(c)-Math.cos(0),y=Math.sin(c)-Math.sin(0),m=Math.sqrt(d*d/(g*g+y*y));o=Math.max(m,o)}return r.nodes().layoutPositions(this,t,(function(e,n){var r=t.startAngle+n*c*(i?1:-1),a=o*Math.cos(r),s=o*Math.sin(r);return{x:u+a,y:l+s}})),this};var Za,Ka={fit:!0,padding:30,startAngle:1.5*Math.PI,sweep:void 0,clockwise:!0,equidistant:!1,minNodeSpacing:10,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,height:void 0,width:void 0,spacingFactor:void 0,concentric:function(e){return e.degree()},levelWidth:function(e){return e.maxDegree()/4},animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,t){return!0},ready:void 0,stop:void 0,transform:function(e,t){return t}};function Ga(e){this.options=Q({},Ka,e)}Ga.prototype.run=function(){for(var e=this.options,t=e,n=void 0!==t.counterclockwise?!t.counterclockwise:t.clockwise,r=e.cy,i=t.eles,a=i.nodes().not(":parent"),o=pt(t.boundingBox?t.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()}),s=o.x1+o.w/2,u=o.y1+o.h/2,l=[],c=0,d=0;d0&&Math.abs(m[0].value-x.value)>=g&&(m=[],y.push(m)),m.push(x)}var w=c+t.minNodeSpacing;if(!t.avoidOverlap){var _=y.length>0&&y[0].length>1,E=(Math.min(o.w,o.h)/2-w)/(y.length+_?1:0);w=Math.min(w,E)}for(var k=0,C=0;C1&&t.avoidOverlap){var D=Math.cos(T)-Math.cos(0),M=Math.sin(T)-Math.sin(0),B=Math.sqrt(w*w/(D*D+M*M));k=Math.max(B,k)}S.r=k,k+=w}if(t.equidistant){for(var I=0,O=0,A=0;A=e.numIter||(ao(r,e),r.temperature=r.temperature*e.coolingFactor,r.temperature=e.animationThreshold&&a(),ae(t)):(mo(r,e),s())}();else{for(;l;)l=o(u),u++;mo(r,e),s()}return this},Qa.prototype.stop=function(){return this.stopped=!0,this.thread&&this.thread.stop(),this.emit("layoutstop"),this},Qa.prototype.destroy=function(){return this.thread&&this.thread.stop(),this};var Ja=function(e,t,n){for(var r=n.eles.edges(),i=n.eles.nodes(),a=pt(n.boundingBox?n.boundingBox:{x1:0,y1:0,w:e.width(),h:e.height()}),o={isCompound:e.hasCompoundNodes(),layoutNodes:[],idToIndex:{},nodeSize:i.size(),graphSet:[],indexToGraph:[],layoutEdges:[],edgeSize:r.size(),temperature:n.initialTemp,clientWidth:a.w,clientHeight:a.h,boundingBox:a},s=n.eles.components(),u={},l=0;l0)for(o.graphSet.push(w),l=0;lr.count?0:r.graph},to=function e(t,n,r,i){var a=i.graphSet[r];if(-10)var s=(l=r.nodeOverlap*o)*i/(v=Math.sqrt(i*i+a*a)),u=l*a/v;else{var l,c=co(e,i,a),d=co(t,-1*i,-1*a),h=d.x-c.x,f=d.y-c.y,p=h*h+f*f,v=Math.sqrt(p);s=(l=(e.nodeRepulsion+t.nodeRepulsion)/p)*h/v,u=l*f/v}e.isLocked||(e.offsetX-=s,e.offsetY-=u),t.isLocked||(t.offsetX+=s,t.offsetY+=u)}},lo=function(e,t,n,r){if(n>0)var i=e.maxX-t.minX;else i=t.maxX-e.minX;if(r>0)var a=e.maxY-t.minY;else a=t.maxY-e.minY;return i>=0&&a>=0?Math.sqrt(i*i+a*a):0},co=function(e,t,n){var r=e.positionX,i=e.positionY,a=e.height||1,o=e.width||1,s=n/t,u=a/o,l={};return 0===t&&0n?(l.x=r,l.y=i+a/2,l):0t&&-1*u<=s&&s<=u?(l.x=r-o/2,l.y=i-o*n/2/t,l):0=u)?(l.x=r+a*t/2/n,l.y=i+a/2,l):0>n&&(s<=-1*u||s>=u)?(l.x=r-a*t/2/n,l.y=i-a/2,l):l},ho=function(e,t){for(var n=0;n1){var p=t.gravity*d/f,v=t.gravity*h/f;c.offsetX+=p,c.offsetY+=v}}}}},po=function(e,t){var n=[],r=0,i=-1;for(n.push.apply(n,e.graphSet[0]),i+=e.graphSet[0].length;r<=i;){var a=n[r++],o=e.idToIndex[a],s=e.layoutNodes[o],u=s.children;if(0n)var i={x:n*e/r,y:n*t/r};else i={x:e,y:t};return i},yo=function e(t,n){var r=t.parentId;if(null!=r){var i=n.layoutNodes[n.idToIndex[r]],a=!1;return(null==i.maxX||t.maxX+i.padRight>i.maxX)&&(i.maxX=t.maxX+i.padRight,a=!0),(null==i.minX||t.minX-i.padLefti.maxY)&&(i.maxY=t.maxY+i.padBottom,a=!0),(null==i.minY||t.minY-i.padTopp&&(d+=f+t.componentSpacing,c=0,h=0,f=0)}}},bo={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,avoidOverlapPadding:10,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,condense:!1,rows:void 0,cols:void 0,position:function(e){},sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,t){return!0},ready:void 0,stop:void 0,transform:function(e,t){return t}};function xo(e){this.options=Q({},bo,e)}xo.prototype.run=function(){var e=this.options,t=e,n=e.cy,r=t.eles,i=r.nodes().not(":parent");t.sort&&(i=i.sort(t.sort));var a=pt(t.boundingBox?t.boundingBox:{x1:0,y1:0,w:n.width(),h:n.height()});if(0===a.h||0===a.w)r.nodes().layoutPositions(this,t,(function(e){return{x:a.x1,y:a.y1}}));else{var o=i.size(),s=Math.sqrt(o*a.h/a.w),u=Math.round(s),l=Math.round(a.w/a.h*s),c=function(e){if(null==e)return Math.min(u,l);Math.min(u,l)==u?u=e:l=e},d=function(e){if(null==e)return Math.max(u,l);Math.max(u,l)==u?u=e:l=e},h=t.rows,f=null!=t.cols?t.cols:t.columns;if(null!=h&&null!=f)u=h,l=f;else if(null!=h&&null==f)u=h,l=Math.ceil(o/u);else if(null==h&&null!=f)l=f,u=Math.ceil(o/l);else if(l*u>o){var p=c(),v=d();(p-1)*v>=o?c(p-1):(v-1)*p>=o&&d(v-1)}else for(;l*u=o?d(y+1):c(g+1)}var m=a.w/l,b=a.h/u;if(t.condense&&(m=0,b=0),t.avoidOverlap)for(var x=0;x=l&&(B=0,M++)},O={},A=0;A(r=Pt(e,t,x[w],x[w+1],x[w+2],x[w+3])))return g(n,r),!0}else if("bezier"===a.edgeType||"multibezier"===a.edgeType||"self"===a.edgeType||"compound"===a.edgeType)for(x=a.allpts,w=0;w+5(r=St(e,t,x[w],x[w+1],x[w+2],x[w+3],x[w+4],x[w+5])))return g(n,r),!0;m=m||i.source,b=b||i.target;var _=o.getArrowWidth(u,c),E=[{name:"source",x:a.arrowStartX,y:a.arrowStartY,angle:a.srcArrowAngle},{name:"target",x:a.arrowEndX,y:a.arrowEndY,angle:a.tgtArrowAngle},{name:"mid-source",x:a.midX,y:a.midY,angle:a.midsrcArrowAngle},{name:"mid-target",x:a.midX,y:a.midY,angle:a.midtgtArrowAngle}];for(w=0;w0&&(y(m),y(b))}function b(e,t,n){return ze(e,t,n)}function x(n,r){var i,a=n._private,o=p;i=r?r+"-":"",n.boundingBox();var s=a.labelBounds[r||"main"],u=n.pstyle(i+"label").value;if("yes"===n.pstyle("text-events").strValue&&u){var l=b(a.rscratch,"labelX",r),c=b(a.rscratch,"labelY",r),d=b(a.rscratch,"labelAngle",r),h=n.pstyle(i+"text-margin-x").pfValue,f=n.pstyle(i+"text-margin-y").pfValue,v=s.x1-o-h,y=s.x2+o-h,m=s.y1-o-f,x=s.y2+o-f;if(d){var w=Math.cos(d),_=Math.sin(d),E=function(e,t){return{x:(e-=l)*w-(t-=c)*_+l,y:e*_+t*w+c}},k=E(v,m),C=E(v,x),S=E(y,m),P=E(y,x),T=[k.x+h,k.y+f,S.x+h,S.y+f,P.x+h,P.y+f,C.x+h,C.y+f];if(Tt(e,t,T))return g(n),!0}else if(wt(s,e,t))return g(n),!0}}n&&(u=u.interactive);for(var w=u.length-1;w>=0;w--){var _=u[w];_.isNode()?y(_)||x(_):m(_)||x(_)||x(_,"source")||x(_,"target")}return l},getAllInBox:function(e,t,n,r){for(var i,a,o=this.getCachedZSortedEles().interactive,s=[],u=Math.min(e,n),l=Math.max(e,n),c=Math.min(t,r),d=Math.max(t,r),h=pt({x1:e=u,y1:t=c,x2:n=l,y2:r=d}),f=0;f0?Math.max(e-t,0):Math.min(e+t,0)},P=S(k,_),T=S(C,E),D=!1;"auto"===g?v=Math.abs(P)>Math.abs(T)?i:r:g===u||g===s?(v=r,D=!0):g!==a&&g!==o||(v=i,D=!0);var M,B=v===r,I=B?T:P,O=B?C:k,A=st(O),z=!1;D&&(m||x)||!(g===s&&O<0||g===u&&O>0||g===a&&O>0||g===o&&O<0)||(I=(A*=-1)*Math.abs(I),z=!0);var N=function(e){return Math.abs(e)=Math.abs(I)},L=N(M=m?(b<0?1+b:b)*I:(b<0?I:0)+b*A),R=N(Math.abs(I)-Math.abs(M));if(!L&&!R||z)if(B){var j=l.y1+M+(p?d/2*A:0),V=l.x1,F=l.x2;n.segpts=[V,j,F,j]}else{var q=l.x1+M+(p?c/2*A:0),W=l.y1,Y=l.y2;n.segpts=[q,W,q,Y]}else if(B){var X=Math.abs(O)<=d/2,H=Math.abs(k)<=h/2;if(X){var U=(l.x1+l.x2)/2,Z=l.y1,K=l.y2;n.segpts=[U,Z,U,K]}else if(H){var G=(l.y1+l.y2)/2,$=l.x1,Q=l.x2;n.segpts=[$,G,Q,G]}else n.segpts=[l.x1,l.y2]}else{var J=Math.abs(O)<=c/2,ee=Math.abs(C)<=f/2;if(J){var te=(l.y1+l.y2)/2,ne=l.x1,re=l.x2;n.segpts=[ne,te,re,te]}else if(ee){var ie=(l.x1+l.x2)/2,ae=l.y1,oe=l.y2;n.segpts=[ie,ae,ie,oe]}else n.segpts=[l.x2,l.y1]}},Ao.tryToCorrectInvalidPoints=function(e,t){var n=e._private.rscratch;if("bezier"===n.edgeType){var r=t.srcPos,i=t.tgtPos,a=t.srcW,o=t.srcH,s=t.tgtW,u=t.tgtH,l=t.srcShape,c=t.tgtShape,d=!I(n.startX)||!I(n.startY),h=!I(n.arrowStartX)||!I(n.arrowStartY),f=!I(n.endX)||!I(n.endY),p=!I(n.arrowEndX)||!I(n.arrowEndY),v=this.getArrowWidth(e.pstyle("width").pfValue,e.pstyle("arrow-scale").value)*this.arrowShapeWidth*3,g=ut({x:n.ctrlpts[0],y:n.ctrlpts[1]},{x:n.startX,y:n.startY}),y=gh.poolIndex()){var f=d;d=h,h=f}var p=s.srcPos=d.position(),v=s.tgtPos=h.position(),g=s.srcW=d.outerWidth(),y=s.srcH=d.outerHeight(),m=s.tgtW=h.outerWidth(),b=s.tgtH=h.outerHeight(),x=s.srcShape=n.nodeShapes[t.getNodeShape(d)],w=s.tgtShape=n.nodeShapes[t.getNodeShape(h)];s.dirCounts={north:0,west:0,south:0,east:0,northwest:0,southwest:0,northeast:0,southeast:0};for(var _=0;_0){var q=l,W=lt(q,it(t)),Y=lt(q,it(F)),X=W;Y2&<(q,{x:F[2],y:F[3]})0){var ie=c,ae=lt(ie,it(t)),oe=lt(ie,it(re)),se=ae;oe2&<(ie,{x:re[2],y:re[3]})=l||m){c={cp:v,segment:y};break}}if(c)break}var b=c.cp,x=c.segment,w=(l-h)/x.length,_=x.t1-x.t0,E=s?x.t0+_*w:x.t1-_*w;E=ft(0,E,1),t=ht(b.p0,b.p1,b.p2,E),i=function(e,t,n,r){var i=ft(0,r-.001,1),a=ft(0,r+.001,1),o=ht(e,t,n,i),s=ht(e,t,n,a);return Fo(o,s)}(b.p0,b.p1,b.p2,E);break;case"straight":case"segments":case"haystack":for(var k,C,S,P,T=0,D=r.allpts.length,M=0;M+3=l));M+=2);var B=(l-C)/k;B=ft(0,B,1),t=function(e,t,n,r){var i=t.x-e.x,a=t.y-e.y,o=ut(e,t),s=i/o,u=a/o;return n=null==n?0:n,r=null!=r?r:n*o,{x:e.x+s*r,y:e.y+u*r}}(S,P,B),i=Fo(S,P)}o("labelX",n,t.x),o("labelY",n,t.y),o("labelAutoAngle",n,i)}};l("source"),l("target"),this.applyLabelDimensions(e)}},jo.applyLabelDimensions=function(e){this.applyPrefixedLabelDimensions(e),e.isEdge()&&(this.applyPrefixedLabelDimensions(e,"source"),this.applyPrefixedLabelDimensions(e,"target"))},jo.applyPrefixedLabelDimensions=function(e,t){var n=e._private,r=this.getLabelText(e,t),i=this.calculateLabelDimensions(e,r),a=e.pstyle("line-height").pfValue,o=e.pstyle("text-wrap").strValue,s=ze(n.rscratch,"labelWrapCachedLines",t)||[],u="wrap"!==o?1:Math.max(s.length,1),l=i.height/u,c=l*a,d=i.width,h=i.height+(u-1)*(a-1)*l;Ne(n.rstyle,"labelWidth",t,d),Ne(n.rscratch,"labelWidth",t,d),Ne(n.rstyle,"labelHeight",t,h),Ne(n.rscratch,"labelHeight",t,h),Ne(n.rscratch,"labelLineHeight",t,c)},jo.getLabelText=function(e,t){var n=e._private,r=t?t+"-":"",i=e.pstyle(r+"label").strValue,a=e.pstyle("text-transform").value,o=function(e,r){return r?(Ne(n.rscratch,e,t,r),r):ze(n.rscratch,e,t)};if(!i)return"";"none"==a||("uppercase"==a?i=i.toUpperCase():"lowercase"==a&&(i=i.toLowerCase()));var s=e.pstyle("text-wrap").value;if("wrap"===s){var u=o("labelKey");if(null!=u&&o("labelWrapKey")===u)return o("labelWrapCachedText");for(var l=i.split("\n"),c=e.pstyle("text-max-width").pfValue,d="anywhere"===e.pstyle("text-overflow-wrap").value,h=[],f=/[\s\u200b]+/,p=d?"":" ",v=0;vc){for(var b=g.split(f),x="",w=0;wk);P++)C+=i[P],P===i.length-1&&(S=!0);return S||(C+="…"),C}return i},jo.getLabelJustification=function(e){var t=e.pstyle("text-justification").strValue,n=e.pstyle("text-halign").strValue;if("auto"!==t)return t;if(!e.isNode())return"center";switch(n){case"left":return"right";case"right":return"left";default:return"center"}},jo.calculateLabelDimensions=function(e,t){var n=pe(t,e._private.labelDimsKey),r=this.labelDimCache||(this.labelDimCache=[]),i=r[n];if(null!=i)return i;var a=e.pstyle("font-style").strValue,o=e.pstyle("font-size").pfValue,s=e.pstyle("font-family").strValue,u=e.pstyle("font-weight").strValue,l=this.labelCalcCanvas,c=this.labelCalcCanvasContext;if(!l){l=this.labelCalcCanvas=document.createElement("canvas"),c=this.labelCalcCanvasContext=l.getContext("2d");var d=l.style;d.position="absolute",d.left="-9999px",d.top="-9999px",d.zIndex="-1",d.visibility="hidden",d.pointerEvents="none"}c.font="".concat(a," ").concat(u," ").concat(o,"px ").concat(s);for(var h=0,f=0,p=t.split("\n"),v=0;v1&&void 0!==arguments[1])||arguments[1];if(t.merge(e),n)for(var r=0;r=e.desktopTapThreshold2}var S=i(t);g&&(e.hoverData.tapholdCancelled=!0),n=!0,r(v,["mousemove","vmousemove","tapdrag"],t,{x:l[0],y:l[1]});var P=function(){e.data.bgActivePosistion=void 0,e.hoverData.selecting||o.emit({originalEvent:t,type:"boxstart",position:{x:l[0],y:l[1]}}),p[4]=1,e.hoverData.selecting=!0,e.redrawHint("select",!0),e.redraw()};if(3===e.hoverData.which){if(g){var T={originalEvent:t,type:"cxtdrag",position:{x:l[0],y:l[1]}};m?m.emit(T):o.emit(T),e.hoverData.cxtDragged=!0,e.hoverData.cxtOver&&v===e.hoverData.cxtOver||(e.hoverData.cxtOver&&e.hoverData.cxtOver.emit({originalEvent:t,type:"cxtdragout",position:{x:l[0],y:l[1]}}),e.hoverData.cxtOver=v,v&&v.emit({originalEvent:t,type:"cxtdragover",position:{x:l[0],y:l[1]}}))}}else if(e.hoverData.dragging){if(n=!0,o.panningEnabled()&&o.userPanningEnabled()){var D;if(e.hoverData.justStartedPan){var M=e.hoverData.mdownPos;D={x:(l[0]-M[0])*s,y:(l[1]-M[1])*s},e.hoverData.justStartedPan=!1}else D={x:b[0]*s,y:b[1]*s};o.panBy(D),o.emit("dragpan"),e.hoverData.dragged=!0}l=e.projectIntoViewport(t.clientX,t.clientY)}else if(1!=p[4]||null!=m&&!m.pannable()){if(m&&m.pannable()&&m.active()&&m.unactivate(),m&&m.grabbed()||v==y||(y&&r(y,["mouseout","tapdragout"],t,{x:l[0],y:l[1]}),v&&r(v,["mouseover","tapdragover"],t,{x:l[0],y:l[1]}),e.hoverData.last=v),m)if(g){if(o.boxSelectionEnabled()&&S)m&&m.grabbed()&&(h(x),m.emit("freeon"),x.emit("free"),e.dragData.didDrag&&(m.emit("dragfreeon"),x.emit("dragfree"))),P();else if(m&&m.grabbed()&&e.nodeIsDraggable(m)){var B=!e.dragData.didDrag;B&&e.redrawHint("eles",!0),e.dragData.didDrag=!0,e.hoverData.draggingEles||c(x,{inDragLayer:!0});var O={x:0,y:0};if(I(b[0])&&I(b[1])&&(O.x+=b[0],O.y+=b[1],B)){var A=e.hoverData.dragDelta;A&&I(A[0])&&I(A[1])&&(O.x+=A[0],O.y+=A[1])}e.hoverData.draggingEles=!0,x.silentShift(O).emit("position drag"),e.redrawHint("drag",!0),e.redraw()}}else!function(){var t=e.hoverData.dragDelta=e.hoverData.dragDelta||[];0===t.length?(t.push(b[0]),t.push(b[1])):(t[0]+=b[0],t[1]+=b[1])}();n=!0}else g&&(e.hoverData.dragging||!o.boxSelectionEnabled()||!S&&o.panningEnabled()&&o.userPanningEnabled()?!e.hoverData.selecting&&o.panningEnabled()&&o.userPanningEnabled()&&a(m,e.hoverData.downs)&&(e.hoverData.dragging=!0,e.hoverData.justStartedPan=!0,p[4]=0,e.data.bgActivePosistion=it(d),e.redrawHint("select",!0),e.redraw()):P(),m&&m.pannable()&&m.active()&&m.unactivate());return p[2]=l[0],p[3]=l[1],n?(t.stopPropagation&&t.stopPropagation(),t.preventDefault&&t.preventDefault(),!1):void 0}}),!1),e.registerBinding(t,"mouseup",(function(t){if(e.hoverData.capture){e.hoverData.capture=!1;var a=e.cy,o=e.projectIntoViewport(t.clientX,t.clientY),s=e.selection,u=e.findNearestElement(o[0],o[1],!0,!1),l=e.dragData.possibleDragElements,c=e.hoverData.down,d=i(t);if(e.data.bgActivePosistion&&(e.redrawHint("select",!0),e.redraw()),e.hoverData.tapholdCancelled=!0,e.data.bgActivePosistion=void 0,c&&c.unactivate(),3===e.hoverData.which){var f={originalEvent:t,type:"cxttapend",position:{x:o[0],y:o[1]}};if(c?c.emit(f):a.emit(f),!e.hoverData.cxtDragged){var p={originalEvent:t,type:"cxttap",position:{x:o[0],y:o[1]}};c?c.emit(p):a.emit(p)}e.hoverData.cxtDragged=!1,e.hoverData.which=null}else if(1===e.hoverData.which){if(r(u,["mouseup","tapend","vmouseup"],t,{x:o[0],y:o[1]}),e.dragData.didDrag||e.hoverData.dragged||e.hoverData.selecting||e.hoverData.isOverThresholdDrag||(r(c,["click","tap","vclick"],t,{x:o[0],y:o[1]}),x=!1,t.timeStamp-w<=a.multiClickDebounceTime()?(b&&clearTimeout(b),x=!0,w=null,r(c,["dblclick","dbltap","vdblclick"],t,{x:o[0],y:o[1]})):(b=setTimeout((function(){x||r(c,["oneclick","onetap","voneclick"],t,{x:o[0],y:o[1]})}),a.multiClickDebounceTime()),w=t.timeStamp)),null!=c||e.dragData.didDrag||e.hoverData.selecting||e.hoverData.dragged||i(t)||(a.$(n).unselect(["tapunselect"]),l.length>0&&e.redrawHint("eles",!0),e.dragData.possibleDragElements=l=a.collection()),u!=c||e.dragData.didDrag||e.hoverData.selecting||null!=u&&u._private.selectable&&(e.hoverData.dragging||("additive"===a.selectionType()||d?u.selected()?u.unselect(["tapunselect"]):u.select(["tapselect"]):d||(a.$(n).unmerge(u).unselect(["tapunselect"]),u.select(["tapselect"]))),e.redrawHint("eles",!0)),e.hoverData.selecting){var v=a.collection(e.getAllInBox(s[0],s[1],s[2],s[3]));e.redrawHint("select",!0),v.length>0&&e.redrawHint("eles",!0),a.emit({type:"boxend",originalEvent:t,position:{x:o[0],y:o[1]}});"additive"===a.selectionType()||d||a.$(n).unmerge(v).unselect(),v.emit("box").stdFilter((function(e){return e.selectable()&&!e.selected()})).select().emit("boxselect"),e.redraw()}if(e.hoverData.dragging&&(e.hoverData.dragging=!1,e.redrawHint("select",!0),e.redrawHint("eles",!0),e.redraw()),!s[4]){e.redrawHint("drag",!0),e.redrawHint("eles",!0);var g=c&&c.grabbed();h(l),g&&(c.emit("freeon"),l.emit("free"),e.dragData.didDrag&&(c.emit("dragfreeon"),l.emit("dragfree")))}}s[4]=0,e.hoverData.down=null,e.hoverData.cxtStarted=!1,e.hoverData.draggingEles=!1,e.hoverData.selecting=!1,e.hoverData.isOverThresholdDrag=!1,e.dragData.didDrag=!1,e.hoverData.dragged=!1,e.hoverData.dragDelta=[],e.hoverData.mdownPos=null,e.hoverData.mdownGPos=null}}),!1);var E,k,C,S,P,T,D,M,B,O,A,z,N,L=function(t){if(!e.scrollingPage){var n=e.cy,r=n.zoom(),i=n.pan(),a=e.projectIntoViewport(t.clientX,t.clientY),o=[a[0]*r+i.x,a[1]*r+i.y];if(e.hoverData.draggingEles||e.hoverData.dragging||e.hoverData.cxtStarted||0!==e.selection[4])t.preventDefault();else if(n.panningEnabled()&&n.userPanningEnabled()&&n.zoomingEnabled()&&n.userZoomingEnabled()){var s;t.preventDefault(),e.data.wheelZooming=!0,clearTimeout(e.data.wheelTimeout),e.data.wheelTimeout=setTimeout((function(){e.data.wheelZooming=!1,e.redrawHint("eles",!0),e.redraw()}),150),s=null!=t.deltaY?t.deltaY/-250:null!=t.wheelDeltaY?t.wheelDeltaY/1e3:t.wheelDelta/1e3,s*=e.wheelSensitivity,1===t.deltaMode&&(s*=33);var u=n.zoom()*Math.pow(10,s);"gesturechange"===t.type&&(u=e.gestureStartZoom*t.scale),n.zoom({level:u,renderedPosition:{x:o[0],y:o[1]}}),n.emit("gesturechange"===t.type?"pinchzoom":"scrollzoom")}}};e.registerBinding(e.container,"wheel",L,!0),e.registerBinding(t,"scroll",(function(t){e.scrollingPage=!0,clearTimeout(e.scrollingPageTimeout),e.scrollingPageTimeout=setTimeout((function(){e.scrollingPage=!1}),250)}),!0),e.registerBinding(e.container,"gesturestart",(function(t){e.gestureStartZoom=e.cy.zoom(),e.hasTouchStarted||t.preventDefault()}),!0),e.registerBinding(e.container,"gesturechange",(function(t){e.hasTouchStarted||L(t)}),!0),e.registerBinding(e.container,"mouseout",(function(t){var n=e.projectIntoViewport(t.clientX,t.clientY);e.cy.emit({originalEvent:t,type:"mouseout",position:{x:n[0],y:n[1]}})}),!1),e.registerBinding(e.container,"mouseover",(function(t){var n=e.projectIntoViewport(t.clientX,t.clientY);e.cy.emit({originalEvent:t,type:"mouseover",position:{x:n[0],y:n[1]}})}),!1);var R,j,V,F,q,W,Y,X=function(e,t,n,r){return Math.sqrt((n-e)*(n-e)+(r-t)*(r-t))},H=function(e,t,n,r){return(n-e)*(n-e)+(r-t)*(r-t)};if(e.registerBinding(e.container,"touchstart",R=function(t){if(e.hasTouchStarted=!0,_(t)){p(),e.touchData.capture=!0,e.data.bgActivePosistion=void 0;var n=e.cy,i=e.touchData.now,a=e.touchData.earlier;if(t.touches[0]){var o=e.projectIntoViewport(t.touches[0].clientX,t.touches[0].clientY);i[0]=o[0],i[1]=o[1]}if(t.touches[1]&&(o=e.projectIntoViewport(t.touches[1].clientX,t.touches[1].clientY),i[2]=o[0],i[3]=o[1]),t.touches[2]&&(o=e.projectIntoViewport(t.touches[2].clientX,t.touches[2].clientY),i[4]=o[0],i[5]=o[1]),t.touches[1]){e.touchData.singleTouchMoved=!0,h(e.dragData.touchDragEles);var u=e.findContainerClientCoords();B=u[0],O=u[1],A=u[2],z=u[3],E=t.touches[0].clientX-B,k=t.touches[0].clientY-O,C=t.touches[1].clientX-B,S=t.touches[1].clientY-O,N=0<=E&&E<=A&&0<=C&&C<=A&&0<=k&&k<=z&&0<=S&&S<=z;var l=n.pan(),f=n.zoom();if(P=X(E,k,C,S),T=H(E,k,C,S),M=[((D=[(E+C)/2,(k+S)/2])[0]-l.x)/f,(D[1]-l.y)/f],T<4e4&&!t.touches[2]){var v=e.findNearestElement(i[0],i[1],!0,!0),g=e.findNearestElement(i[2],i[3],!0,!0);return v&&v.isNode()?(v.activate().emit({originalEvent:t,type:"cxttapstart",position:{x:i[0],y:i[1]}}),e.touchData.start=v):g&&g.isNode()?(g.activate().emit({originalEvent:t,type:"cxttapstart",position:{x:i[0],y:i[1]}}),e.touchData.start=g):n.emit({originalEvent:t,type:"cxttapstart",position:{x:i[0],y:i[1]}}),e.touchData.start&&(e.touchData.start._private.grabbed=!1),e.touchData.cxt=!0,e.touchData.cxtDragged=!1,e.data.bgActivePosistion=void 0,void e.redraw()}}if(t.touches[2])n.boxSelectionEnabled()&&t.preventDefault();else if(t.touches[1]);else if(t.touches[0]){var y=e.findNearestElements(i[0],i[1],!0,!0),m=y[0];if(null!=m&&(m.activate(),e.touchData.start=m,e.touchData.starts=y,e.nodeIsGrabbable(m))){var b=e.dragData.touchDragEles=n.collection(),x=null;e.redrawHint("eles",!0),e.redrawHint("drag",!0),m.selected()?(x=n.$((function(t){return t.selected()&&e.nodeIsGrabbable(t)})),c(x,{addToList:b})):d(m,{addToList:b}),s(m);var w=function(e){return{originalEvent:t,type:e,position:{x:i[0],y:i[1]}}};m.emit(w("grabon")),x?x.forEach((function(e){e.emit(w("grab"))})):m.emit(w("grab"))}r(m,["touchstart","tapstart","vmousedown"],t,{x:i[0],y:i[1]}),null==m&&(e.data.bgActivePosistion={x:o[0],y:o[1]},e.redrawHint("select",!0),e.redraw()),e.touchData.singleTouchMoved=!1,e.touchData.singleTouchStartTime=+new Date,clearTimeout(e.touchData.tapholdTimeout),e.touchData.tapholdTimeout=setTimeout((function(){!1!==e.touchData.singleTouchMoved||e.pinching||e.touchData.selecting||r(e.touchData.start,["taphold"],t,{x:i[0],y:i[1]})}),e.tapholdDuration)}if(t.touches.length>=1){for(var I=e.touchData.startPosition=[null,null,null,null,null,null],L=0;L=e.touchTapThreshold2}if(n&&e.touchData.cxt){t.preventDefault();var x=t.touches[0].clientX-B,w=t.touches[0].clientY-O,D=t.touches[1].clientX-B,A=t.touches[1].clientY-O,z=H(x,w,D,A);if(z/T>=2.25||z>=22500){e.touchData.cxt=!1,e.data.bgActivePosistion=void 0,e.redrawHint("select",!0);var L={originalEvent:t,type:"cxttapend",position:{x:s[0],y:s[1]}};e.touchData.start?(e.touchData.start.unactivate().emit(L),e.touchData.start=null):o.emit(L)}}if(n&&e.touchData.cxt){L={originalEvent:t,type:"cxtdrag",position:{x:s[0],y:s[1]}},e.data.bgActivePosistion=void 0,e.redrawHint("select",!0),e.touchData.start?e.touchData.start.emit(L):o.emit(L),e.touchData.start&&(e.touchData.start._private.grabbed=!1),e.touchData.cxtDragged=!0;var R=e.findNearestElement(s[0],s[1],!0,!0);e.touchData.cxtOver&&R===e.touchData.cxtOver||(e.touchData.cxtOver&&e.touchData.cxtOver.emit({originalEvent:t,type:"cxtdragout",position:{x:s[0],y:s[1]}}),e.touchData.cxtOver=R,R&&R.emit({originalEvent:t,type:"cxtdragover",position:{x:s[0],y:s[1]}}))}else if(n&&t.touches[2]&&o.boxSelectionEnabled())t.preventDefault(),e.data.bgActivePosistion=void 0,this.lastThreeTouch=+new Date,e.touchData.selecting||o.emit({originalEvent:t,type:"boxstart",position:{x:s[0],y:s[1]}}),e.touchData.selecting=!0,e.touchData.didSelect=!0,i[4]=1,i&&0!==i.length&&void 0!==i[0]?(i[2]=(s[0]+s[2]+s[4])/3,i[3]=(s[1]+s[3]+s[5])/3):(i[0]=(s[0]+s[2]+s[4])/3,i[1]=(s[1]+s[3]+s[5])/3,i[2]=(s[0]+s[2]+s[4])/3+1,i[3]=(s[1]+s[3]+s[5])/3+1),e.redrawHint("select",!0),e.redraw();else if(n&&t.touches[1]&&!e.touchData.didSelect&&o.zoomingEnabled()&&o.panningEnabled()&&o.userZoomingEnabled()&&o.userPanningEnabled()){if(t.preventDefault(),e.data.bgActivePosistion=void 0,e.redrawHint("select",!0),ee=e.dragData.touchDragEles){e.redrawHint("drag",!0);for(var j=0;j0&&!e.hoverData.draggingEles&&!e.swipePanning&&null!=e.data.bgActivePosistion&&(e.data.bgActivePosistion=void 0,e.redrawHint("select",!0),e.redraw())}},!1),e.registerBinding(t,"touchcancel",V=function(t){var n=e.touchData.start;e.touchData.capture=!1,n&&n.unactivate()}),e.registerBinding(t,"touchend",F=function(t){var i=e.touchData.start;if(e.touchData.capture){0===t.touches.length&&(e.touchData.capture=!1),t.preventDefault();var a=e.selection;e.swipePanning=!1,e.hoverData.draggingEles=!1;var o,s=e.cy,u=s.zoom(),l=e.touchData.now,c=e.touchData.earlier;if(t.touches[0]){var d=e.projectIntoViewport(t.touches[0].clientX,t.touches[0].clientY);l[0]=d[0],l[1]=d[1]}if(t.touches[1]&&(d=e.projectIntoViewport(t.touches[1].clientX,t.touches[1].clientY),l[2]=d[0],l[3]=d[1]),t.touches[2]&&(d=e.projectIntoViewport(t.touches[2].clientX,t.touches[2].clientY),l[4]=d[0],l[5]=d[1]),i&&i.unactivate(),e.touchData.cxt){if(o={originalEvent:t,type:"cxttapend",position:{x:l[0],y:l[1]}},i?i.emit(o):s.emit(o),!e.touchData.cxtDragged){var f={originalEvent:t,type:"cxttap",position:{x:l[0],y:l[1]}};i?i.emit(f):s.emit(f)}return e.touchData.start&&(e.touchData.start._private.grabbed=!1),e.touchData.cxt=!1,e.touchData.start=null,void e.redraw()}if(!t.touches[2]&&s.boxSelectionEnabled()&&e.touchData.selecting){e.touchData.selecting=!1;var p=s.collection(e.getAllInBox(a[0],a[1],a[2],a[3]));a[0]=void 0,a[1]=void 0,a[2]=void 0,a[3]=void 0,a[4]=0,e.redrawHint("select",!0),s.emit({type:"boxend",originalEvent:t,position:{x:l[0],y:l[1]}}),p.emit("box").stdFilter((function(e){return e.selectable()&&!e.selected()})).select().emit("boxselect"),p.nonempty()&&e.redrawHint("eles",!0),e.redraw()}if(null!=i&&i.unactivate(),t.touches[2])e.data.bgActivePosistion=void 0,e.redrawHint("select",!0);else if(t.touches[1]);else if(t.touches[0]);else if(!t.touches[0]){e.data.bgActivePosistion=void 0,e.redrawHint("select",!0);var v=e.dragData.touchDragEles;if(null!=i){var g=i._private.grabbed;h(v),e.redrawHint("drag",!0),e.redrawHint("eles",!0),g&&(i.emit("freeon"),v.emit("free"),e.dragData.didDrag&&(i.emit("dragfreeon"),v.emit("dragfree"))),r(i,["touchend","tapend","vmouseup","tapdragout"],t,{x:l[0],y:l[1]}),i.unactivate(),e.touchData.start=null}else{var y=e.findNearestElement(l[0],l[1],!0,!0);r(y,["touchend","tapend","vmouseup","tapdragout"],t,{x:l[0],y:l[1]})}var m=e.touchData.startPosition[0]-l[0],b=m*m,x=e.touchData.startPosition[1]-l[1],w=(b+x*x)*u*u;e.touchData.singleTouchMoved||(i||s.$(":selected").unselect(["tapunselect"]),r(i,["tap","vclick"],t,{x:l[0],y:l[1]}),q=!1,t.timeStamp-Y<=s.multiClickDebounceTime()?(W&&clearTimeout(W),q=!0,Y=null,r(i,["dbltap","vdblclick"],t,{x:l[0],y:l[1]})):(W=setTimeout((function(){q||r(i,["onetap","voneclick"],t,{x:l[0],y:l[1]})}),s.multiClickDebounceTime()),Y=t.timeStamp)),null!=i&&!e.dragData.didDrag&&i._private.selectable&&w2){for(var T=[l[0],l[1]],D=Math.pow(T[0]-e,2)+Math.pow(T[1]-t,2),M=1;M0)return v[0]}return null},h=Object.keys(c),f=0;f0?u:Et(i,a,e,t,n,r,o)},checkPoint:function(e,t,n,r,i,a,o){var s=Ft(r,i),u=2*s;if(Dt(e,t,this.points,a,o,r,i-u,[0,-1],n))return!0;if(Dt(e,t,this.points,a,o,r-u,i,[0,-1],n))return!0;var l=r/2+2*n,c=i/2+2*n;return!!Tt(e,t,[a-l,o-c,a-l,o,a+l,o,a+l,o-c])||!!It(e,t,u,u,a+r/2-s,o+i/2-s,n)||!!It(e,t,u,u,a-r/2+s,o+i/2-s,n)}}},registerNodeShapes:function(){var e=this.nodeShapes={},t=this;this.generateEllipse(),this.generatePolygon("triangle",Rt(3,0)),this.generateRoundPolygon("round-triangle",Rt(3,0)),this.generatePolygon("rectangle",Rt(4,0)),e.square=e.rectangle,this.generateRoundRectangle(),this.generateCutRectangle(),this.generateBarrel(),this.generateBottomRoundrectangle();var n=[0,1,1,0,0,-1,-1,0];this.generatePolygon("diamond",n),this.generateRoundPolygon("round-diamond",n),this.generatePolygon("pentagon",Rt(5,0)),this.generateRoundPolygon("round-pentagon",Rt(5,0)),this.generatePolygon("hexagon",Rt(6,0)),this.generateRoundPolygon("round-hexagon",Rt(6,0)),this.generatePolygon("heptagon",Rt(7,0)),this.generateRoundPolygon("round-heptagon",Rt(7,0)),this.generatePolygon("octagon",Rt(8,0)),this.generateRoundPolygon("round-octagon",Rt(8,0));var r=new Array(20),i=Vt(5,0),a=Vt(5,Math.PI/5),o=.5*(3-Math.sqrt(5));o*=1.57;for(var s=0;s=e.deqFastCost*v)break}else if(i){if(f>=e.deqCost*u||f>=e.deqAvgCost*s)break}else if(p>=e.deqNoDrawCost*Jo)break;var g=e.deq(t,d,c);if(!(g.length>0))break;for(var y=0;y0&&(e.onDeqd(t,l),!i&&e.shouldRedraw(t,l,d,c)&&r())}),i(t))}}},ts=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:_e;v(this,e),this.idsByKey=new Le,this.keyForId=new Le,this.cachesByLvl=new Le,this.lvls=[],this.getKey=t,this.doesEleInvalidateKey=n}return y(e,[{key:"getIdsFor",value:function(e){null==e&&Ce("Can not get id list for null key");var t=this.idsByKey,n=this.idsByKey.get(e);return n||(n=new je,t.set(e,n)),n}},{key:"addIdForKey",value:function(e,t){null!=e&&this.getIdsFor(e).add(t)}},{key:"deleteIdForKey",value:function(e,t){null!=e&&this.getIdsFor(e).delete(t)}},{key:"getNumberOfIdsForKey",value:function(e){return null==e?0:this.getIdsFor(e).size}},{key:"updateKeyMappingFor",value:function(e){var t=e.id(),n=this.keyForId.get(t),r=this.getKey(e);this.deleteIdForKey(n,t),this.addIdForKey(r,t),this.keyForId.set(t,r)}},{key:"deleteKeyMappingFor",value:function(e){var t=e.id(),n=this.keyForId.get(t);this.deleteIdForKey(n,t),this.keyForId.delete(t)}},{key:"keyHasChangedFor",value:function(e){var t=e.id();return this.keyForId.get(t)!==this.getKey(e)}},{key:"isInvalid",value:function(e){return this.keyHasChangedFor(e)||this.doesEleInvalidateKey(e)}},{key:"getCachesAt",value:function(e){var t=this.cachesByLvl,n=this.lvls,r=t.get(e);return r||(r=new Le,t.set(e,r),n.push(e)),r}},{key:"getCache",value:function(e,t){return this.getCachesAt(t).get(e)}},{key:"get",value:function(e,t){var n=this.getKey(e),r=this.getCache(n,t);return null!=r&&this.updateKeyMappingFor(e),r}},{key:"getForCachedKey",value:function(e,t){var n=this.keyForId.get(e.id());return this.getCache(n,t)}},{key:"hasCache",value:function(e,t){return this.getCachesAt(t).has(e)}},{key:"has",value:function(e,t){var n=this.getKey(e);return this.hasCache(n,t)}},{key:"setCache",value:function(e,t,n){n.key=e,this.getCachesAt(t).set(e,n)}},{key:"set",value:function(e,t,n){var r=this.getKey(e);this.setCache(r,t,n),this.updateKeyMappingFor(e)}},{key:"deleteCache",value:function(e,t){this.getCachesAt(t).delete(e)}},{key:"delete",value:function(e,t){var n=this.getKey(e);this.deleteCache(n,t)}},{key:"invalidateKey",value:function(e){var t=this;this.lvls.forEach((function(n){return t.deleteCache(e,n)}))}},{key:"invalidate",value:function(e){var t=e.id(),n=this.keyForId.get(t);this.deleteKeyMappingFor(e);var r=this.doesEleInvalidateKey(e);return r&&this.invalidateKey(n),r||0===this.getNumberOfIdsForKey(n)}}]),e}(),ns={dequeue:"dequeue",downscale:"downscale",highQuality:"highQuality"},rs=Ie({getKey:null,doesEleInvalidateKey:_e,drawElement:null,getBoundingBox:null,getRotationPoint:null,getRotationOffset:null,isVisible:we,allowEdgeTxrCaching:!0,allowParentTxrCaching:!0}),is=function(e,t){var n=this;n.renderer=e,n.onDequeues=[];var r=rs(t);Q(n,r),n.lookup=new ts(r.getKey,r.doesEleInvalidateKey),n.setupDequeueing()},as=is.prototype;as.reasons=ns,as.getTextureQueue=function(e){var t=this;return t.eleImgCaches=t.eleImgCaches||{},t.eleImgCaches[e]=t.eleImgCaches[e]||[]},as.getRetiredTextureQueue=function(e){var t=this.eleImgCaches.retired=this.eleImgCaches.retired||{};return t[e]=t[e]||[]},as.getElementQueue=function(){return this.eleCacheQueue=this.eleCacheQueue||new c.default((function(e,t){return t.reqs-e.reqs}))},as.getElementKeyToQueue=function(){return this.eleKeyToCacheQueue=this.eleKeyToCacheQueue||{}},as.getElement=function(e,t,n,r,i){var a=this,o=this.renderer,s=o.cy.zoom(),u=this.lookup;if(!t||0===t.w||0===t.h||isNaN(t.w)||isNaN(t.h)||!e.visible()||e.removed())return null;if(!a.allowEdgeTxrCaching&&e.isEdge()||!a.allowParentTxrCaching&&e.isParent())return null;if(null==r&&(r=Math.ceil(ot(s*n))),r<-4)r=-4;else if(s>=7.99||r>3)return null;var l=Math.pow(2,r),c=t.h*l,d=t.w*l,h=o.eleTextBiggerThanMin(e,l);if(!this.isVisible(e,h))return null;var f,p=u.get(e,r);if(p&&p.invalidated&&(p.invalidated=!1,p.texture.invalidatedWidth-=p.width),p)return p;if(f=c<=25?25:c<=50?50:50*Math.ceil(c/50),c>1024||d>1024)return null;var v=a.getTextureQueue(f),g=v[v.length-2],y=function(){return a.recycleTexture(f,d)||a.addTexture(f,d)};g||(g=v[v.length-1]),g||(g=y()),g.width-g.usedWidthr;P--)C=a.getElement(e,t,n,P,ns.downscale);S()}else{var T;if(!x&&!w&&!_)for(var D=r-1;D>=-4;D--){var M=u.get(e,D);if(M){T=M;break}}if(b(T))return a.queueElement(e,r),T;g.context.translate(g.usedWidth,0),g.context.scale(l,l),this.drawElement(g.context,e,t,h,!1),g.context.scale(1/l,1/l),g.context.translate(-g.usedWidth,0)}return p={x:g.usedWidth,texture:g,level:r,scale:l,width:d,height:c,scaledLabelShown:h},g.usedWidth+=Math.ceil(d+8),g.eleCaches.push(p),u.set(e,r,p),a.checkTextureFullness(g),p},as.invalidateElements=function(e){for(var t=0;t=.2*e.width&&this.retireTexture(e)},as.checkTextureFullness=function(e){var t=this.getTextureQueue(e.height);e.usedWidth/e.width>.8&&e.fullnessChecks>=10?Oe(t,e):e.fullnessChecks++},as.retireTexture=function(e){var t=e.height,n=this.getTextureQueue(t),r=this.lookup;Oe(n,e),e.retired=!0;for(var i=e.eleCaches,a=0;a=t)return a.retired=!1,a.usedWidth=0,a.invalidatedWidth=0,a.fullnessChecks=0,Ae(a.eleCaches),a.context.setTransform(1,0,0,1,0,0),a.context.clearRect(0,0,a.width,a.height),Oe(r,a),n.push(a),a}},as.queueElement=function(e,t){var n=this.getElementQueue(),r=this.getElementKeyToQueue(),i=this.getKey(e),a=r[i];if(a)a.level=Math.max(a.level,t),a.eles.merge(e),a.reqs++,n.updateItem(a);else{var o={eles:e.spawn().merge(e),level:t,reqs:1,key:i};n.push(o),r[i]=o}},as.dequeue=function(e){for(var t=this,n=t.getElementQueue(),r=t.getElementKeyToQueue(),i=[],a=t.lookup,o=0;o<1&&n.size()>0;o++){var s=n.pop(),u=s.key,l=s.eles[0],c=a.hasCache(l,s.level);if(r[u]=null,!c){i.push(s);var d=t.getBoundingBox(l);t.getElement(l,d,e,s.level,ns.dequeue)}}return i},as.removeFromQueue=function(e){var t=this.getElementQueue(),n=this.getElementKeyToQueue(),r=this.getKey(e),i=n[r];null!=i&&(1===i.eles.length?(i.reqs=xe,t.updateItem(i),t.pop(),n[r]=null):i.eles.unmerge(e))},as.onDequeue=function(e){this.onDequeues.push(e)},as.offDequeue=function(e){Oe(this.onDequeues,e)},as.setupDequeueing=es({deqRedrawThreshold:100,deqCost:.15,deqAvgCost:.1,deqNoDrawCost:.9,deqFastCost:.9,deq:function(e,t,n){return e.dequeue(t,n)},onDeqd:function(e,t){for(var n=0;n=3.99||n>2)return null;r.validateLayersElesOrdering(n,e);var o,s,u=r.layersByLevel,l=Math.pow(2,n),c=u[n]=u[n]||[];if(r.levelIsComplete(n,e))return c;!function(){var t=function(t){if(r.validateLayersElesOrdering(t,e),r.levelIsComplete(t,e))return s=u[t],!0},i=function(e){if(!s)for(var r=n+e;-4<=r&&r<=2&&!t(r);r+=e);};i(1),i(-1);for(var a=c.length-1;a>=0;a--){var o=c[a];o.invalid&&Oe(c,o)}}();var d=function(t){var i=(t=t||{}).after;if(function(){if(!o){o=pt();for(var t=0;t16e6)return null;var a=r.makeLayer(o,n);if(null!=i){var s=c.indexOf(i)+1;c.splice(s,0,a)}else(void 0===t.insert||t.insert)&&c.unshift(a);return a};if(r.skipping&&!a)return null;for(var h=null,f=e.length/1,p=!a,v=0;v=f||!_t(h.bb,g.boundingBox()))&&!(h=d({insert:!0,after:h})))return null;s||p?r.queueLayer(h,g):r.drawEleInLayer(h,g,n,t),h.eles.push(g),m[n]=h}}return s||(p?null:c)},ss.getEleLevelForLayerLevel=function(e,t){return e},ss.drawEleInLayer=function(e,t,n,r){var i=this.renderer,a=e.context,o=t.boundingBox();0!==o.w&&0!==o.h&&t.visible()&&(n=this.getEleLevelForLayerLevel(n,r),i.setImgSmoothing(a,!1),i.drawCachedElement(a,t,null,null,n,!0),i.setImgSmoothing(a,!0))},ss.levelIsComplete=function(e,t){var n=this.layersByLevel[e];if(!n||0===n.length)return!1;for(var r=0,i=0;i0)return!1;if(a.invalid)return!1;r+=a.eles.length}return r===t.length},ss.validateLayersElesOrdering=function(e,t){var n=this.layersByLevel[e];if(n)for(var r=0;r0){e=!0;break}}return e},ss.invalidateElements=function(e){var t=this;0!==e.length&&(t.lastInvalidationTime=oe(),0!==e.length&&t.haveLayers()&&t.updateElementsInLayers(e,(function(e,n,r){t.invalidateLayer(e)})))},ss.invalidateLayer=function(e){if(this.lastInvalidationTime=oe(),!e.invalid){var t=e.level,n=e.eles,r=this.layersByLevel[t];Oe(r,e),e.elesQueue=[],e.invalid=!0,e.replacement&&(e.replacement.invalid=!0);for(var i=0;i3&&void 0!==arguments[3])||arguments[3],i=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],a=!(arguments.length>5&&void 0!==arguments[5])||arguments[5],o=this,s=t._private.rscratch;if((!a||t.visible())&&!s.badLine&&null!=s.allpts&&!isNaN(s.allpts[0])){var u;n&&(u=n,e.translate(-u.x1,-u.y1));var l=a?t.pstyle("opacity").value:1,c=a?t.pstyle("line-opacity").value:1,d=t.pstyle("curve-style").value,h=t.pstyle("line-style").value,f=t.pstyle("width").pfValue,p=t.pstyle("line-cap").value,v=l*c,g=l*c,y=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:v;"straight-triangle"===d?(o.eleStrokeStyle(e,t,n),o.drawEdgeTrianglePath(t,e,s.allpts)):(e.lineWidth=f,e.lineCap=p,o.eleStrokeStyle(e,t,n),o.drawEdgePath(t,e,s.allpts,h),e.lineCap="butt")},m=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:g;o.drawArrowheads(e,t,n)};if(e.lineJoin="round","yes"===t.pstyle("ghost").value){var b=t.pstyle("ghost-offset-x").pfValue,x=t.pstyle("ghost-offset-y").pfValue,w=t.pstyle("ghost-opacity").value,_=v*w;e.translate(b,x),y(_),m(_),e.translate(-b,-x)}i&&o.drawEdgeUnderlay(e,t),y(),m(),i&&o.drawEdgeOverlay(e,t),o.drawElementText(e,t,null,r),n&&e.translate(u.x1,u.y1)}}},Cs=function(e){if(!["overlay","underlay"].includes(e))throw new Error("Invalid state");return function(t,n){if(n.visible()){var r=n.pstyle("".concat(e,"-opacity")).value;if(0!==r){var i=this,a=i.usePaths(),o=n._private.rscratch,s=2*n.pstyle("".concat(e,"-padding")).pfValue,u=n.pstyle("".concat(e,"-color")).value;t.lineWidth=s,"self"!==o.edgeType||a?t.lineCap="round":t.lineCap="butt",i.colorStrokeStyle(t,u[0],u[1],u[2],r),i.drawEdgePath(n,t,o.allpts,"solid")}}}};ks.drawEdgeOverlay=Cs("overlay"),ks.drawEdgeUnderlay=Cs("underlay"),ks.drawEdgePath=function(e,t,n,r){var i,a=e._private.rscratch,o=t,s=!1,u=this.usePaths(),l=e.pstyle("line-dash-pattern").pfValue,c=e.pstyle("line-dash-offset").pfValue;if(u){var d=n.join("$");a.pathCacheKey&&a.pathCacheKey===d?(i=t=a.pathCache,s=!0):(i=t=new Path2D,a.pathCacheKey=d,a.pathCache=i)}if(o.setLineDash)switch(r){case"dotted":o.setLineDash([1,1]);break;case"dashed":o.setLineDash(l),o.lineDashOffset=c;break;case"solid":o.setLineDash([])}if(!s&&!a.badLine)switch(t.beginPath&&t.beginPath(),t.moveTo(n[0],n[1]),a.edgeType){case"bezier":case"self":case"compound":case"multibezier":for(var h=2;h+35&&void 0!==arguments[5]?arguments[5]:5,o=arguments.length>6?arguments[6]:void 0;e.beginPath(),e.moveTo(t+a,n),e.lineTo(t+r-a,n),e.quadraticCurveTo(t+r,n,t+r,n+a),e.lineTo(t+r,n+i-a),e.quadraticCurveTo(t+r,n+i,t+r-a,n+i),e.lineTo(t+a,n+i),e.quadraticCurveTo(t,n+i,t,n+i-a),e.lineTo(t,n+a),e.quadraticCurveTo(t,n,t+a,n),e.closePath(),o?e.stroke():e.fill()}Ps.eleTextBiggerThanMin=function(e,t){if(!t){var n=e.cy().zoom(),r=this.getPixelRatio(),i=Math.ceil(ot(n*r));t=Math.pow(2,i)}return!(e.pstyle("font-size").pfValue*t5&&void 0!==arguments[5])||arguments[5],o=this;if(null==r){if(a&&!o.eleTextBiggerThanMin(t))return}else if(!1===r)return;if(t.isNode()){var s=t.pstyle("label");if(!s||!s.value)return;var u=o.getLabelJustification(t);e.textAlign=u,e.textBaseline="bottom"}else{var l=t.element()._private.rscratch.badLine,c=t.pstyle("label"),d=t.pstyle("source-label"),h=t.pstyle("target-label");if(l||(!c||!c.value)&&(!d||!d.value)&&(!h||!h.value))return;e.textAlign="center",e.textBaseline="bottom"}var f,p=!n;n&&(f=n,e.translate(-f.x1,-f.y1)),null==i?(o.drawText(e,t,null,p,a),t.isEdge()&&(o.drawText(e,t,"source",p,a),o.drawText(e,t,"target",p,a))):o.drawText(e,t,i,p,a),n&&e.translate(f.x1,f.y1)},Ps.getFontCache=function(e){var t;this.fontCaches=this.fontCaches||[];for(var n=0;n2&&void 0!==arguments[2])||arguments[2],r=t.pstyle("font-style").strValue,i=t.pstyle("font-size").pfValue+"px",a=t.pstyle("font-family").strValue,o=t.pstyle("font-weight").strValue,s=n?t.effectiveOpacity()*t.pstyle("text-opacity").value:1,u=t.pstyle("text-outline-opacity").value*s,l=t.pstyle("color").value,c=t.pstyle("text-outline-color").value;e.font=r+" "+o+" "+i+" "+a,e.lineJoin="round",this.colorFillStyle(e,l[0],l[1],l[2],s),this.colorStrokeStyle(e,c[0],c[1],c[2],u)},Ps.getTextAngle=function(e,t){var n=e._private.rscratch,r=t?t+"-":"",i=e.pstyle(r+"text-rotation"),a=ze(n,"labelAngle",t);return"autorotate"===i.strValue?e.isEdge()?a:0:"none"===i.strValue?0:i.pfValue},Ps.drawText=function(e,t,n){var r=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],i=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],a=t._private.rscratch,o=i?t.effectiveOpacity():1;if(!i||0!==o&&0!==t.pstyle("text-opacity").value){"main"===n&&(n=null);var s,u,l=ze(a,"labelX",n),c=ze(a,"labelY",n),d=this.getLabelText(t,n);if(null!=d&&""!==d&&!isNaN(l)&&!isNaN(c)){this.setupTextStyle(e,t,i);var h,f=n?n+"-":"",p=ze(a,"labelWidth",n),v=ze(a,"labelHeight",n),g=t.pstyle(f+"text-margin-x").pfValue,y=t.pstyle(f+"text-margin-y").pfValue,m=t.isEdge(),b=t.pstyle("text-halign").value,x=t.pstyle("text-valign").value;switch(m&&(b="center",x="center"),l+=g,c+=y,0!==(h=r?this.getTextAngle(t,n):0)&&(s=l,u=c,e.translate(s,u),e.rotate(h),l=0,c=0),x){case"top":break;case"center":c+=v/2;break;case"bottom":c+=v}var w=t.pstyle("text-background-opacity").value,_=t.pstyle("text-border-opacity").value,E=t.pstyle("text-border-width").pfValue,k=t.pstyle("text-background-padding").pfValue,C=0===t.pstyle("text-background-shape").strValue.indexOf("round");if(w>0||E>0&&_>0){var S=l-k;switch(b){case"left":S-=p;break;case"center":S-=p/2}var P=c-v-k,T=p+2*k,D=v+2*k;if(w>0){var M=e.fillStyle,B=t.pstyle("text-background-color").value;e.fillStyle="rgba("+B[0]+","+B[1]+","+B[2]+","+w*o+")",C?Ts(e,S,P,T,D,2):e.fillRect(S,P,T,D),e.fillStyle=M}if(E>0&&_>0){var I=e.strokeStyle,O=e.lineWidth,A=t.pstyle("text-border-color").value,z=t.pstyle("text-border-style").value;if(e.strokeStyle="rgba("+A[0]+","+A[1]+","+A[2]+","+_*o+")",e.lineWidth=E,e.setLineDash)switch(z){case"dotted":e.setLineDash([1,1]);break;case"dashed":e.setLineDash([4,2]);break;case"double":e.lineWidth=E/4,e.setLineDash([]);break;case"solid":e.setLineDash([])}if(C?Ts(e,S,P,T,D,2,"stroke"):e.strokeRect(S,P,T,D),"double"===z){var N=E/2;C?Ts(e,S+N,P+N,T-2*N,D-2*N,2,"stroke"):e.strokeRect(S+N,P+N,T-2*N,D-2*N)}e.setLineDash&&e.setLineDash([]),e.lineWidth=O,e.strokeStyle=I}}var L=2*t.pstyle("text-outline-width").pfValue;if(L>0&&(e.lineWidth=L),"wrap"===t.pstyle("text-wrap").value){var R=ze(a,"labelWrapCachedLines",n),j=ze(a,"labelLineHeight",n),V=p/2,F=this.getLabelJustification(t);switch("auto"===F||("left"===b?"left"===F?l+=-p:"center"===F&&(l+=-V):"center"===b?"left"===F?l+=-V:"right"===F&&(l+=V):"right"===b&&("center"===F?l+=V:"right"===F&&(l+=p))),x){case"top":case"center":case"bottom":c-=(R.length-1)*j}for(var q=0;q0&&e.strokeText(R[q],l,c),e.fillText(R[q],l,c),c+=j}else L>0&&e.strokeText(d,l,c),e.fillText(d,l,c);0!==h&&(e.rotate(-h),e.translate(-s,-u))}}};var Ds={drawNode:function(e,t,n){var r,i,a=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],o=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],s=!(arguments.length>5&&void 0!==arguments[5])||arguments[5],u=this,l=t._private,c=l.rscratch,d=t.position();if(I(d.x)&&I(d.y)&&(!s||t.visible())){var h,f,p=s?t.effectiveOpacity():1,v=u.usePaths(),g=!1,y=t.padding();r=t.width()+2*y,i=t.height()+2*y,n&&(f=n,e.translate(-f.x1,-f.y1));for(var m=t.pstyle("background-image").value,b=new Array(m.length),x=new Array(m.length),w=0,_=0;_0&&void 0!==arguments[0]?arguments[0]:P;u.eleFillStyle(e,t,n)},R=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:M;u.colorStrokeStyle(e,T[0],T[1],T[2],t)},j=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:z;u.colorStrokeStyle(e,O[0],O[1],O[2],t)},V=function(e,t,n,r){var i,a=u.nodePathCache=u.nodePathCache||[],o=ve("polygon"===n?n+","+r.join(","):n,""+t,""+e),s=a[o],l=!1;return null!=s?(i=s,l=!0,c.pathCache=i):(i=new Path2D,a[o]=c.pathCache=i),{path:i,cacheHit:l}},F=t.pstyle("shape").strValue,q=t.pstyle("shape-polygon-points").pfValue;if(v){e.translate(d.x,d.y);var W=V(r,i,F,q);h=W.path,g=W.cacheHit}var Y=function(){if(!g){var n=d;v&&(n={x:0,y:0}),u.nodeShapes[u.getNodeShape(t)].draw(h||e,n.x,n.y,r,i)}v?e.fill(h):e.fill()},X=function(){for(var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:p,r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=l.backgrounding,a=0,o=0;o0&&void 0!==arguments[0]&&arguments[0],a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:p;u.hasPie(t)&&(u.drawPie(e,t,a),n&&(v||u.nodeShapes[u.getNodeShape(t)].draw(e,d.x,d.y,r,i)))},U=function(){var t=(C>0?C:-C)*(arguments.length>0&&void 0!==arguments[0]?arguments[0]:p),n=C>0?0:255;0!==C&&(u.colorFillStyle(e,n,n,n,t),v?e.fill(h):e.fill())},Z=function(){if(S>0){if(e.lineWidth=S,e.lineCap="butt",e.setLineDash)switch(D){case"dotted":e.setLineDash([1,1]);break;case"dashed":e.setLineDash([4,2]);break;case"solid":case"double":e.setLineDash([])}if(v?e.stroke(h):e.stroke(),"double"===D){e.lineWidth=S/3;var t=e.globalCompositeOperation;e.globalCompositeOperation="destination-out",v?e.stroke(h):e.stroke(),e.globalCompositeOperation=t}e.setLineDash&&e.setLineDash([])}},K=function(){if(B>0){if(e.lineWidth=B,e.lineCap="butt",e.setLineDash)switch(A){case"dotted":e.setLineDash([1,1]);break;case"dashed":e.setLineDash([4,2]);break;case"solid":case"double":e.setLineDash([])}var n=d;v&&(n={x:0,y:0});var a,o=u.getNodeShape(t),s=(r+S+(B+N))/r,l=(i+S+(B+N))/i,c=r*s,h=i*l,f=u.nodeShapes[o].points;if(v&&(a=V(c,h,o,f).path),"ellipse"===o)u.drawEllipsePath(a||e,n.x,n.y,c,h);else if(["round-diamond","round-heptagon","round-hexagon","round-octagon","round-pentagon","round-polygon","round-triangle","round-tag"].includes(o)){var p=0,g=0,y=0;"round-diamond"===o?p=1.4*(S+N+B):"round-heptagon"===o?(p=1.075*(S+N+B),y=-(S/2+N+B)/35):"round-hexagon"===o?p=1.12*(S+N+B):"round-pentagon"===o?(p=1.13*(S+N+B),y=-(S/2+N+B)/15):"round-tag"===o?(p=1.12*(S+N+B),g=.07*(S/2+B+N)):"round-triangle"===o&&(p=(S+N+B)*(Math.PI/2),y=-(S+N/2+B)/Math.PI),0!==p&&(s=(r+p)/r,l=(i+p)/i),u.drawRoundPolygonPath(a||e,n.x+g,n.y+y,r*s,i*l,f)}else["roundrectangle","round-rectangle"].includes(o)?u.drawRoundRectanglePath(a||e,n.x,n.y,c,h):["cutrectangle","cut-rectangle"].includes(o)?u.drawCutRectanglePath(a||e,n.x,n.y,c,h):["bottomroundrectangle","bottom-round-rectangle"].includes(o)?u.drawBottomRoundRectanglePath(a||e,n.x,n.y,c,h):"barrel"===o?u.drawBarrelPath(a||e,n.x,n.y,c,h):o.startsWith("polygon")||["rhomboid","right-rhomboid","round-tag","tag","vee"].includes(o)?(f=Mt(Bt(f,(S+B+N)/r)),u.drawPolygonPath(a||e,n.x,n.y,r,i,f)):(f=Mt(Bt(f,-(S+B+N)/r)),u.drawPolygonPath(a||e,n.x,n.y,r,i,f));if(v?e.stroke(a):e.stroke(),"double"===A){e.lineWidth=S/3;var m=e.globalCompositeOperation;e.globalCompositeOperation="destination-out",v?e.stroke(a):e.stroke(),e.globalCompositeOperation=m}e.setLineDash&&e.setLineDash([])}};if("yes"===t.pstyle("ghost").value){var G=t.pstyle("ghost-offset-x").pfValue,$=t.pstyle("ghost-offset-y").pfValue,Q=t.pstyle("ghost-opacity").value,J=Q*p;e.translate(G,$),j(),K(),L(Q*P),Y(),X(J,!0),R(Q*M),Z(),H(0!==C||0!==S),X(J,!1),U(J),e.translate(-G,-$)}v&&e.translate(-d.x,-d.y),o&&u.drawNodeUnderlay(e,t,d,r,i),v&&e.translate(d.x,d.y),j(),K(),L(),Y(),X(p,!0),R(),Z(),H(0!==C||0!==S),X(p,!1),U(),v&&e.translate(-d.x,-d.y),u.drawElementText(e,t,null,a),o&&u.drawNodeOverlay(e,t,d,r,i),n&&e.translate(f.x1,f.y1)}}},Ms=function(e){if(!["overlay","underlay"].includes(e))throw new Error("Invalid state");return function(t,n,r,i,a){if(n.visible()){var o=n.pstyle("".concat(e,"-padding")).pfValue,s=n.pstyle("".concat(e,"-opacity")).value,u=n.pstyle("".concat(e,"-color")).value,l=n.pstyle("".concat(e,"-shape")).value;if(s>0){if(r=r||n.position(),null==i||null==a){var c=n.padding();i=n.width()+2*c,a=n.height()+2*c}this.colorFillStyle(t,u[0],u[1],u[2],s),this.nodeShapes[l].draw(t,r.x,r.y,i+2*o,a+2*o),t.fill()}}}};Ds.drawNodeOverlay=Ms("overlay"),Ds.drawNodeUnderlay=Ms("underlay"),Ds.hasPie=function(e){return(e=e[0])._private.hasPie},Ds.drawPie=function(e,t,n,r){t=t[0],r=r||t.position();var i=t.cy().style(),a=t.pstyle("pie-size"),o=r.x,s=r.y,u=t.width(),l=t.height(),c=Math.min(u,l)/2,d=0;this.usePaths()&&(o=0,s=0),"%"===a.units?c*=a.pfValue:void 0!==a.pfValue&&(c=a.pfValue/2);for(var h=1;h<=i.pieBackgroundN;h++){var f=t.pstyle("pie-"+h+"-background-size").value,p=t.pstyle("pie-"+h+"-background-color").value,v=t.pstyle("pie-"+h+"-background-opacity").value*n,g=f/100;g+d>1&&(g=1-d);var y=1.5*Math.PI+2*Math.PI*d,m=y+2*Math.PI*g;0===f||d>=1||d+g>1||(e.beginPath(),e.moveTo(o,s),e.arc(o,s,c,y,m),e.closePath(),this.colorFillStyle(e,p[0],p[1],p[2],v),e.fill(),d+=g)}};for(var Bs={getPixelRatio:function(){var e=this.data.contexts[0];if(null!=this.forcedPixelRatio)return this.forcedPixelRatio;var t=e.backingStorePixelRatio||e.webkitBackingStorePixelRatio||e.mozBackingStorePixelRatio||e.msBackingStorePixelRatio||e.oBackingStorePixelRatio||e.backingStorePixelRatio||1;return(window.devicePixelRatio||1)/t},paintCache:function(e){for(var t,n=this.paintCaches=this.paintCaches||[],r=!0,i=0;io.minMbLowQualFrames&&(o.motionBlurPxRatio=o.mbPxRBlurry)),o.clearingMotionBlur&&(o.motionBlurPxRatio=1),o.textureDrawLastFrame&&!d&&(c[o.NODE]=!0,c[o.SELECT_BOX]=!0);var m=u.style(),b=u.zoom(),x=void 0!==i?i:b,w=u.pan(),_={x:w.x,y:w.y},E={zoom:b,pan:{x:w.x,y:w.y}},k=o.prevViewport;void 0===k||E.zoom!==k.zoom||E.pan.x!==k.pan.x||E.pan.y!==k.pan.y||v&&!p||(o.motionBlurPxRatio=1),a&&(_=a),x*=s,_.x*=s,_.y*=s;var C=o.getCachedZSortedEles();function S(e,t,n,r,i){var a=e.globalCompositeOperation;e.globalCompositeOperation="destination-out",o.colorFillStyle(e,255,255,255,o.motionBlurTransparency),e.fillRect(t,n,r,i),e.globalCompositeOperation=a}function P(e,r){var s,u,c,d;o.clearingMotionBlur||e!==l.bufferContexts[o.MOTIONBLUR_BUFFER_NODE]&&e!==l.bufferContexts[o.MOTIONBLUR_BUFFER_DRAG]?(s=_,u=x,c=o.canvasWidth,d=o.canvasHeight):(s={x:w.x*f,y:w.y*f},u=b*f,c=o.canvasWidth*f,d=o.canvasHeight*f),e.setTransform(1,0,0,1,0,0),"motionBlur"===r?S(e,0,0,c,d):t||void 0!==r&&!r||e.clearRect(0,0,c,d),n||(e.translate(s.x,s.y),e.scale(u,u)),a&&e.translate(a.x,a.y),i&&e.scale(i,i)}if(d||(o.textureDrawLastFrame=!1),d){if(o.textureDrawLastFrame=!0,!o.textureCache){o.textureCache={},o.textureCache.bb=u.mutableElements().boundingBox(),o.textureCache.texture=o.data.bufferCanvases[o.TEXTURE_BUFFER];var T=o.data.bufferContexts[o.TEXTURE_BUFFER];T.setTransform(1,0,0,1,0,0),T.clearRect(0,0,o.canvasWidth*o.textureMult,o.canvasHeight*o.textureMult),o.render({forcedContext:T,drawOnlyNodeLayer:!0,forcedPxRatio:s*o.textureMult}),(E=o.textureCache.viewport={zoom:u.zoom(),pan:u.pan(),width:o.canvasWidth,height:o.canvasHeight}).mpan={x:(0-E.pan.x)/E.zoom,y:(0-E.pan.y)/E.zoom}}c[o.DRAG]=!1,c[o.NODE]=!1;var D=l.contexts[o.NODE],M=o.textureCache.texture;E=o.textureCache.viewport,D.setTransform(1,0,0,1,0,0),h?S(D,0,0,E.width,E.height):D.clearRect(0,0,E.width,E.height);var B=m.core("outside-texture-bg-color").value,I=m.core("outside-texture-bg-opacity").value;o.colorFillStyle(D,B[0],B[1],B[2],I),D.fillRect(0,0,E.width,E.height),b=u.zoom(),P(D,!1),D.clearRect(E.mpan.x,E.mpan.y,E.width/E.zoom/s,E.height/E.zoom/s),D.drawImage(M,E.mpan.x,E.mpan.y,E.width/E.zoom/s,E.height/E.zoom/s)}else o.textureOnViewport&&!t&&(o.textureCache=null);var O=u.extent(),A=o.pinching||o.hoverData.dragging||o.swipePanning||o.data.wheelZooming||o.hoverData.draggingEles||o.cy.animated(),z=o.hideEdgesOnViewport&&A,N=[];if(N[o.NODE]=!c[o.NODE]&&h&&!o.clearedForMotionBlur[o.NODE]||o.clearingMotionBlur,N[o.NODE]&&(o.clearedForMotionBlur[o.NODE]=!0),N[o.DRAG]=!c[o.DRAG]&&h&&!o.clearedForMotionBlur[o.DRAG]||o.clearingMotionBlur,N[o.DRAG]&&(o.clearedForMotionBlur[o.DRAG]=!0),c[o.NODE]||n||r||N[o.NODE]){var L=h&&!N[o.NODE]&&1!==f;P(D=t||(L?o.data.bufferContexts[o.MOTIONBLUR_BUFFER_NODE]:l.contexts[o.NODE]),h&&!L?"motionBlur":void 0),z?o.drawCachedNodes(D,C.nondrag,s,O):o.drawLayeredElements(D,C.nondrag,s,O),o.debug&&o.drawDebugPoints(D,C.nondrag),n||h||(c[o.NODE]=!1)}if(!r&&(c[o.DRAG]||n||N[o.DRAG])&&(L=h&&!N[o.DRAG]&&1!==f,P(D=t||(L?o.data.bufferContexts[o.MOTIONBLUR_BUFFER_DRAG]:l.contexts[o.DRAG]),h&&!L?"motionBlur":void 0),z?o.drawCachedNodes(D,C.drag,s,O):o.drawCachedElements(D,C.drag,s,O),o.debug&&o.drawDebugPoints(D,C.drag),n||h||(c[o.DRAG]=!1)),o.showFps||!r&&c[o.SELECT_BOX]&&!n){if(P(D=t||l.contexts[o.SELECT_BOX]),1==o.selection[4]&&(o.hoverData.selecting||o.touchData.selecting)){b=o.cy.zoom();var R=m.core("selection-box-border-width").value/b;D.lineWidth=R,D.fillStyle="rgba("+m.core("selection-box-color").value[0]+","+m.core("selection-box-color").value[1]+","+m.core("selection-box-color").value[2]+","+m.core("selection-box-opacity").value+")",D.fillRect(o.selection[0],o.selection[1],o.selection[2]-o.selection[0],o.selection[3]-o.selection[1]),R>0&&(D.strokeStyle="rgba("+m.core("selection-box-border-color").value[0]+","+m.core("selection-box-border-color").value[1]+","+m.core("selection-box-border-color").value[2]+","+m.core("selection-box-opacity").value+")",D.strokeRect(o.selection[0],o.selection[1],o.selection[2]-o.selection[0],o.selection[3]-o.selection[1]))}if(l.bgActivePosistion&&!o.hoverData.selecting){b=o.cy.zoom();var j=l.bgActivePosistion;D.fillStyle="rgba("+m.core("active-bg-color").value[0]+","+m.core("active-bg-color").value[1]+","+m.core("active-bg-color").value[2]+","+m.core("active-bg-opacity").value+")",D.beginPath(),D.arc(j.x,j.y,m.core("active-bg-size").pfValue/b,0,2*Math.PI),D.fill()}var V=o.lastRedrawTime;if(o.showFps&&V){V=Math.round(V);var F=Math.round(1e3/V);D.setTransform(1,0,0,1,0,0),D.fillStyle="rgba(255, 0, 0, 0.75)",D.strokeStyle="rgba(255, 0, 0, 0.75)",D.lineWidth=1,D.fillText("1 frame = "+V+" ms = "+F+" fps",0,20),D.strokeRect(0,30,250,20),D.fillRect(0,30,250*Math.min(F/60,1),20)}n||(c[o.SELECT_BOX]=!1)}if(h&&1!==f){var q=l.contexts[o.NODE],W=o.data.bufferCanvases[o.MOTIONBLUR_BUFFER_NODE],Y=l.contexts[o.DRAG],X=o.data.bufferCanvases[o.MOTIONBLUR_BUFFER_DRAG],H=function(e,t,n){e.setTransform(1,0,0,1,0,0),n||!y?e.clearRect(0,0,o.canvasWidth,o.canvasHeight):S(e,0,0,o.canvasWidth,o.canvasHeight);var r=f;e.drawImage(t,0,0,o.canvasWidth*r,o.canvasHeight*r,0,0,o.canvasWidth,o.canvasHeight)};(c[o.NODE]||N[o.NODE])&&(H(q,W,N[o.NODE]),c[o.NODE]=!1),(c[o.DRAG]||N[o.DRAG])&&(H(Y,X,N[o.DRAG]),c[o.DRAG]=!1)}o.prevViewport=E,o.clearingMotionBlur&&(o.clearingMotionBlur=!1,o.motionBlurCleared=!0,o.motionBlur=!0),h&&(o.motionBlurTimeout=setTimeout((function(){o.motionBlurTimeout=null,o.clearedForMotionBlur[o.NODE]=!1,o.clearedForMotionBlur[o.DRAG]=!1,o.motionBlur=!1,o.clearingMotionBlur=!d,o.mbFrames=0,c[o.NODE]=!0,c[o.DRAG]=!0,o.redraw()}),100)),t||u.emit("render")}},Is={drawPolygonPath:function(e,t,n,r,i,a){var o=r/2,s=i/2;e.beginPath&&e.beginPath(),e.moveTo(t+o*a[0],n+s*a[1]);for(var u=1;u0&&a>0){h.clearRect(0,0,i,a),h.globalCompositeOperation="source-over";var f=this.getCachedZSortedEles();if(e.full)h.translate(-n.x1*u,-n.y1*u),h.scale(u,u),this.drawElements(h,f),h.scale(1/u,1/u),h.translate(n.x1*u,n.y1*u);else{var p=t.pan(),v={x:p.x*u,y:p.y*u};u*=t.zoom(),h.translate(v.x,v.y),h.scale(u,u),this.drawElements(h,f),h.scale(1/u,1/u),h.translate(-v.x,-v.y)}e.bg&&(h.globalCompositeOperation="destination-over",h.fillStyle=e.bg,h.rect(0,0,i,a),h.fill())}return d},js.png=function(e){return Fs(e,this.bufferCanvasImage(e),"image/png")},js.jpg=function(e){return Fs(e,this.bufferCanvasImage(e),"image/jpeg")};var qs=Ys,Ws=Ys.prototype;function Ys(e){var t=this;t.data={canvases:new Array(Ws.CANVAS_LAYERS),contexts:new Array(Ws.CANVAS_LAYERS),canvasNeedsRedraw:new Array(Ws.CANVAS_LAYERS),bufferCanvases:new Array(Ws.BUFFER_COUNT),bufferContexts:new Array(Ws.CANVAS_LAYERS)};var n="-webkit-tap-highlight-color",r="rgba(0,0,0,0)";t.data.canvasContainer=document.createElement("div");var i=t.data.canvasContainer.style;t.data.canvasContainer.style[n]=r,i.position="relative",i.zIndex="0",i.overflow="hidden";var a=e.cy.container();a.appendChild(t.data.canvasContainer),a.style[n]=r;var o={"-webkit-user-select":"none","-moz-user-select":"-moz-none","user-select":"none","-webkit-tap-highlight-color":"rgba(0,0,0,0)","outline-style":"none"};_&&_.userAgent.match(/msie|trident|edge/i)&&(o["-ms-touch-action"]="none",o["touch-action"]="none");for(var s=0;s{e.exports=n(2894)},2894:function(e,t){var n,r,i;(function(){var a,o,s,u,l,c,d,h,f,p,v,g,y,m,b;s=Math.floor,p=Math.min,o=function(e,t){return et?1:0},f=function(e,t,n,r,i){var a;if(null==n&&(n=0),null==i&&(i=o),n<0)throw new Error("lo must be non-negative");for(null==r&&(r=e.length);nn;0<=n?t++:t--)l.push(t);return l}.apply(this).reverse()).length;rv;0<=v?++c:--c)g.push(l(e,n));return g},m=function(e,t,n,r){var i,a,s;for(null==r&&(r=o),i=e[n];n>t&&r(i,a=e[s=n-1>>1])<0;)e[n]=a,n=s;return e[n]=i},b=function(e,t,n){var r,i,a,s,u;for(null==n&&(n=o),i=e.length,u=t,a=e[t],r=2*t+1;r{var r=n(1789),i=n(401),a=n(7667),o=n(1327),s=n(1866);function u(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t{var r=n(7040),i=n(4125),a=n(2117),o=n(7518),s=n(4705);function u(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t{var r=n(852)(n(5639),"Map");e.exports=r},3369:(e,t,n)=>{var r=n(4785),i=n(1285),a=n(6e3),o=n(9916),s=n(5265);function u(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t{var r=n(5639).Symbol;e.exports=r},9932:e=>{e.exports=function(e,t){for(var n=-1,r=null==e?0:e.length,i=Array(r);++n{var r=n(9465),i=n(7813),a=Object.prototype.hasOwnProperty;e.exports=function(e,t,n){var o=e[t];a.call(e,t)&&i(o,n)&&(void 0!==n||t in e)||r(e,t,n)}},8470:(e,t,n)=>{var r=n(7813);e.exports=function(e,t){for(var n=e.length;n--;)if(r(e[n][0],t))return n;return-1}},9465:(e,t,n)=>{var r=n(8777);e.exports=function(e,t,n){"__proto__"==t&&r?r(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n}},7786:(e,t,n)=>{var r=n(1811),i=n(327);e.exports=function(e,t){for(var n=0,a=(t=r(t,e)).length;null!=e&&n{var r=n(2705),i=n(9607),a=n(2333),o=r?r.toStringTag:void 0;e.exports=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":o&&o in Object(e)?i(e):a(e)}},8458:(e,t,n)=>{var r=n(3560),i=n(5346),a=n(3218),o=n(346),s=/^\[object .+?Constructor\]$/,u=Function.prototype,l=Object.prototype,c=u.toString,d=l.hasOwnProperty,h=RegExp("^"+c.call(d).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");e.exports=function(e){return!(!a(e)||i(e))&&(r(e)?h:s).test(o(e))}},611:(e,t,n)=>{var r=n(4865),i=n(1811),a=n(5776),o=n(3218),s=n(327);e.exports=function(e,t,n,u){if(!o(e))return e;for(var l=-1,c=(t=i(t,e)).length,d=c-1,h=e;null!=h&&++l{var r=n(2705),i=n(9932),a=n(1469),o=n(3448),s=r?r.prototype:void 0,u=s?s.toString:void 0;e.exports=function e(t){if("string"==typeof t)return t;if(a(t))return i(t,e)+"";if(o(t))return u?u.call(t):"";var n=t+"";return"0"==n&&1/t==-1/0?"-0":n}},7561:(e,t,n)=>{var r=n(7990),i=/^\s+/;e.exports=function(e){return e?e.slice(0,r(e)+1).replace(i,""):e}},1811:(e,t,n)=>{var r=n(1469),i=n(5403),a=n(5514),o=n(9833);e.exports=function(e,t){return r(e)?e:i(e,t)?[e]:a(o(e))}},278:e=>{e.exports=function(e,t){var n=-1,r=e.length;for(t||(t=Array(r));++n{var r=n(5639)["__core-js_shared__"];e.exports=r},8777:(e,t,n)=>{var r=n(852),i=function(){try{var e=r(Object,"defineProperty");return e({},"",{}),e}catch(e){}}();e.exports=i},1957:(e,t,n)=>{var r="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g;e.exports=r},5050:(e,t,n)=>{var r=n(7019);e.exports=function(e,t){var n=e.__data__;return r(t)?n["string"==typeof t?"string":"hash"]:n.map}},852:(e,t,n)=>{var r=n(8458),i=n(7801);e.exports=function(e,t){var n=i(e,t);return r(n)?n:void 0}},9607:(e,t,n)=>{var r=n(2705),i=Object.prototype,a=i.hasOwnProperty,o=i.toString,s=r?r.toStringTag:void 0;e.exports=function(e){var t=a.call(e,s),n=e[s];try{e[s]=void 0;var r=!0}catch(e){}var i=o.call(e);return r&&(t?e[s]=n:delete e[s]),i}},7801:e=>{e.exports=function(e,t){return null==e?void 0:e[t]}},1789:(e,t,n)=>{var r=n(4536);e.exports=function(){this.__data__=r?r(null):{},this.size=0}},401:e=>{e.exports=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}},7667:(e,t,n)=>{var r=n(4536),i=Object.prototype.hasOwnProperty;e.exports=function(e){var t=this.__data__;if(r){var n=t[e];return"__lodash_hash_undefined__"===n?void 0:n}return i.call(t,e)?t[e]:void 0}},1327:(e,t,n)=>{var r=n(4536),i=Object.prototype.hasOwnProperty;e.exports=function(e){var t=this.__data__;return r?void 0!==t[e]:i.call(t,e)}},1866:(e,t,n)=>{var r=n(4536);e.exports=function(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=r&&void 0===t?"__lodash_hash_undefined__":t,this}},5776:e=>{var t=/^(?:0|[1-9]\d*)$/;e.exports=function(e,n){var r=typeof e;return!!(n=null==n?9007199254740991:n)&&("number"==r||"symbol"!=r&&t.test(e))&&e>-1&&e%1==0&&e{var r=n(1469),i=n(3448),a=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,o=/^\w*$/;e.exports=function(e,t){if(r(e))return!1;var n=typeof e;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=e&&!i(e))||o.test(e)||!a.test(e)||null!=t&&e in Object(t)}},7019:e=>{e.exports=function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}},5346:(e,t,n)=>{var r,i=n(4429),a=(r=/[^.]+$/.exec(i&&i.keys&&i.keys.IE_PROTO||""))?"Symbol(src)_1."+r:"";e.exports=function(e){return!!a&&a in e}},7040:e=>{e.exports=function(){this.__data__=[],this.size=0}},4125:(e,t,n)=>{var r=n(8470),i=Array.prototype.splice;e.exports=function(e){var t=this.__data__,n=r(t,e);return!(n<0||(n==t.length-1?t.pop():i.call(t,n,1),--this.size,0))}},2117:(e,t,n)=>{var r=n(8470);e.exports=function(e){var t=this.__data__,n=r(t,e);return n<0?void 0:t[n][1]}},7518:(e,t,n)=>{var r=n(8470);e.exports=function(e){return r(this.__data__,e)>-1}},4705:(e,t,n)=>{var r=n(8470);e.exports=function(e,t){var n=this.__data__,i=r(n,e);return i<0?(++this.size,n.push([e,t])):n[i][1]=t,this}},4785:(e,t,n)=>{var r=n(1989),i=n(8407),a=n(7071);e.exports=function(){this.size=0,this.__data__={hash:new r,map:new(a||i),string:new r}}},1285:(e,t,n)=>{var r=n(5050);e.exports=function(e){var t=r(this,e).delete(e);return this.size-=t?1:0,t}},6e3:(e,t,n)=>{var r=n(5050);e.exports=function(e){return r(this,e).get(e)}},9916:(e,t,n)=>{var r=n(5050);e.exports=function(e){return r(this,e).has(e)}},5265:(e,t,n)=>{var r=n(5050);e.exports=function(e,t){var n=r(this,e),i=n.size;return n.set(e,t),this.size+=n.size==i?0:1,this}},4523:(e,t,n)=>{var r=n(8306);e.exports=function(e){var t=r(e,(function(e){return 500===n.size&&n.clear(),e})),n=t.cache;return t}},4536:(e,t,n)=>{var r=n(852)(Object,"create");e.exports=r},2333:e=>{var t=Object.prototype.toString;e.exports=function(e){return t.call(e)}},5639:(e,t,n)=>{var r=n(1957),i="object"==typeof self&&self&&self.Object===Object&&self,a=r||i||Function("return this")();e.exports=a},5514:(e,t,n)=>{var r=n(4523),i=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,a=/\\(\\)?/g,o=r((function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(i,(function(e,n,r,i){t.push(r?i.replace(a,"$1"):n||e)})),t}));e.exports=o},327:(e,t,n)=>{var r=n(3448);e.exports=function(e){if("string"==typeof e||r(e))return e;var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}},346:e=>{var t=Function.prototype.toString;e.exports=function(e){if(null!=e){try{return t.call(e)}catch(e){}try{return e+""}catch(e){}}return""}},7990:e=>{var t=/\s/;e.exports=function(e){for(var n=e.length;n--&&t.test(e.charAt(n)););return n}},3279:(e,t,n)=>{var r=n(3218),i=n(7771),a=n(4841),o=Math.max,s=Math.min;e.exports=function(e,t,n){var u,l,c,d,h,f,p=0,v=!1,g=!1,y=!0;if("function"!=typeof e)throw new TypeError("Expected a function");function m(t){var n=u,r=l;return u=l=void 0,p=t,d=e.apply(r,n)}function b(e){var n=e-f;return void 0===f||n>=t||n<0||g&&e-p>=c}function x(){var e=i();if(b(e))return w(e);h=setTimeout(x,function(e){var n=t-(e-f);return g?s(n,c-(e-p)):n}(e))}function w(e){return h=void 0,y&&u?m(e):(u=l=void 0,d)}function _(){var e=i(),n=b(e);if(u=arguments,l=this,f=e,n){if(void 0===h)return function(e){return p=e,h=setTimeout(x,t),v?m(e):d}(f);if(g)return clearTimeout(h),h=setTimeout(x,t),m(f)}return void 0===h&&(h=setTimeout(x,t)),d}return t=a(t)||0,r(n)&&(v=!!n.leading,c=(g="maxWait"in n)?o(a(n.maxWait)||0,t):c,y="trailing"in n?!!n.trailing:y),_.cancel=function(){void 0!==h&&clearTimeout(h),p=0,u=f=l=h=void 0},_.flush=function(){return void 0===h?d:w(i())},_}},7813:e=>{e.exports=function(e,t){return e===t||e!=e&&t!=t}},7361:(e,t,n)=>{var r=n(7786);e.exports=function(e,t,n){var i=null==e?void 0:r(e,t);return void 0===i?n:i}},1469:e=>{var t=Array.isArray;e.exports=t},3560:(e,t,n)=>{var r=n(4239),i=n(3218);e.exports=function(e){if(!i(e))return!1;var t=r(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t}},3218:e=>{e.exports=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}},7005:e=>{e.exports=function(e){return null!=e&&"object"==typeof e}},3448:(e,t,n)=>{var r=n(4239),i=n(7005);e.exports=function(e){return"symbol"==typeof e||i(e)&&"[object Symbol]"==r(e)}},6486:function(e,t,n){var r;e=n.nmd(e),function(){var i,a="Expected a function",o="__lodash_hash_undefined__",s="__lodash_placeholder__",u=32,l=128,c=1/0,d=9007199254740991,h=NaN,f=4294967295,p=[["ary",l],["bind",1],["bindKey",2],["curry",8],["curryRight",16],["flip",512],["partial",u],["partialRight",64],["rearg",256]],v="[object Arguments]",g="[object Array]",y="[object Boolean]",m="[object Date]",b="[object Error]",x="[object Function]",w="[object GeneratorFunction]",_="[object Map]",E="[object Number]",k="[object Object]",C="[object Promise]",S="[object RegExp]",P="[object Set]",T="[object String]",D="[object Symbol]",M="[object WeakMap]",B="[object ArrayBuffer]",I="[object DataView]",O="[object Float32Array]",A="[object Float64Array]",z="[object Int8Array]",N="[object Int16Array]",L="[object Int32Array]",R="[object Uint8Array]",j="[object Uint8ClampedArray]",V="[object Uint16Array]",F="[object Uint32Array]",q=/\b__p \+= '';/g,W=/\b(__p \+=) '' \+/g,Y=/(__e\(.*?\)|\b__t\)) \+\n'';/g,X=/&(?:amp|lt|gt|quot|#39);/g,H=/[&<>"']/g,U=RegExp(X.source),Z=RegExp(H.source),K=/<%-([\s\S]+?)%>/g,G=/<%([\s\S]+?)%>/g,$=/<%=([\s\S]+?)%>/g,Q=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,J=/^\w*$/,ee=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,te=/[\\^$.*+?()[\]{}|]/g,ne=RegExp(te.source),re=/^\s+/,ie=/\s/,ae=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,oe=/\{\n\/\* \[wrapped with (.+)\] \*/,se=/,? & /,ue=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,le=/[()=,{}\[\]\/\s]/,ce=/\\(\\)?/g,de=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,he=/\w*$/,fe=/^[-+]0x[0-9a-f]+$/i,pe=/^0b[01]+$/i,ve=/^\[object .+?Constructor\]$/,ge=/^0o[0-7]+$/i,ye=/^(?:0|[1-9]\d*)$/,me=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,be=/($^)/,xe=/['\n\r\u2028\u2029\\]/g,we="\\ud800-\\udfff",_e="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",Ee="\\u2700-\\u27bf",ke="a-z\\xdf-\\xf6\\xf8-\\xff",Ce="A-Z\\xc0-\\xd6\\xd8-\\xde",Se="\\ufe0e\\ufe0f",Pe="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Te="["+we+"]",De="["+Pe+"]",Me="["+_e+"]",Be="\\d+",Ie="["+Ee+"]",Oe="["+ke+"]",Ae="[^"+we+Pe+Be+Ee+ke+Ce+"]",ze="\\ud83c[\\udffb-\\udfff]",Ne="[^"+we+"]",Le="(?:\\ud83c[\\udde6-\\uddff]){2}",Re="[\\ud800-\\udbff][\\udc00-\\udfff]",je="["+Ce+"]",Ve="\\u200d",Fe="(?:"+Oe+"|"+Ae+")",qe="(?:"+je+"|"+Ae+")",We="(?:['’](?:d|ll|m|re|s|t|ve))?",Ye="(?:['’](?:D|LL|M|RE|S|T|VE))?",Xe="(?:"+Me+"|"+ze+")?",He="["+Se+"]?",Ue=He+Xe+"(?:"+Ve+"(?:"+[Ne,Le,Re].join("|")+")"+He+Xe+")*",Ze="(?:"+[Ie,Le,Re].join("|")+")"+Ue,Ke="(?:"+[Ne+Me+"?",Me,Le,Re,Te].join("|")+")",Ge=RegExp("['’]","g"),$e=RegExp(Me,"g"),Qe=RegExp(ze+"(?="+ze+")|"+Ke+Ue,"g"),Je=RegExp([je+"?"+Oe+"+"+We+"(?="+[De,je,"$"].join("|")+")",qe+"+"+Ye+"(?="+[De,je+Fe,"$"].join("|")+")",je+"?"+Fe+"+"+We,je+"+"+Ye,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Be,Ze].join("|"),"g"),et=RegExp("["+Ve+we+_e+Se+"]"),tt=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,nt=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],rt=-1,it={};it[O]=it[A]=it[z]=it[N]=it[L]=it[R]=it[j]=it[V]=it[F]=!0,it[v]=it[g]=it[B]=it[y]=it[I]=it[m]=it[b]=it[x]=it[_]=it[E]=it[k]=it[S]=it[P]=it[T]=it[M]=!1;var at={};at[v]=at[g]=at[B]=at[I]=at[y]=at[m]=at[O]=at[A]=at[z]=at[N]=at[L]=at[_]=at[E]=at[k]=at[S]=at[P]=at[T]=at[D]=at[R]=at[j]=at[V]=at[F]=!0,at[b]=at[x]=at[M]=!1;var ot={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},st=parseFloat,ut=parseInt,lt="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g,ct="object"==typeof self&&self&&self.Object===Object&&self,dt=lt||ct||Function("return this")(),ht=t&&!t.nodeType&&t,ft=ht&&e&&!e.nodeType&&e,pt=ft&&ft.exports===ht,vt=pt&<.process,gt=function(){try{return ft&&ft.require&&ft.require("util").types||vt&&vt.binding&&vt.binding("util")}catch(e){}}(),yt=gt&>.isArrayBuffer,mt=gt&>.isDate,bt=gt&>.isMap,xt=gt&>.isRegExp,wt=gt&>.isSet,_t=gt&>.isTypedArray;function Et(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}function kt(e,t,n,r){for(var i=-1,a=null==e?0:e.length;++i-1}function Mt(e,t,n){for(var r=-1,i=null==e?0:e.length;++r-1;);return n}function Jt(e,t){for(var n=e.length;n--&&jt(t,e[n],0)>-1;);return n}var en=Yt({À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"}),tn=Yt({"&":"&","<":"<",">":">",'"':""","'":"'"});function nn(e){return"\\"+ot[e]}function rn(e){return et.test(e)}function an(e){var t=-1,n=Array(e.size);return e.forEach((function(e,r){n[++t]=[r,e]})),n}function on(e,t){return function(n){return e(t(n))}}function sn(e,t){for(var n=-1,r=e.length,i=0,a=[];++n",""":'"',"'":"'"}),pn=function e(t){var n,r=(t=null==t?dt:pn.defaults(dt.Object(),t,pn.pick(dt,nt))).Array,ie=t.Date,we=t.Error,_e=t.Function,Ee=t.Math,ke=t.Object,Ce=t.RegExp,Se=t.String,Pe=t.TypeError,Te=r.prototype,De=_e.prototype,Me=ke.prototype,Be=t["__core-js_shared__"],Ie=De.toString,Oe=Me.hasOwnProperty,Ae=0,ze=(n=/[^.]+$/.exec(Be&&Be.keys&&Be.keys.IE_PROTO||""))?"Symbol(src)_1."+n:"",Ne=Me.toString,Le=Ie.call(ke),Re=dt._,je=Ce("^"+Ie.call(Oe).replace(te,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Ve=pt?t.Buffer:i,Fe=t.Symbol,qe=t.Uint8Array,We=Ve?Ve.allocUnsafe:i,Ye=on(ke.getPrototypeOf,ke),Xe=ke.create,He=Me.propertyIsEnumerable,Ue=Te.splice,Ze=Fe?Fe.isConcatSpreadable:i,Ke=Fe?Fe.iterator:i,Qe=Fe?Fe.toStringTag:i,et=function(){try{var e=ua(ke,"defineProperty");return e({},"",{}),e}catch(e){}}(),ot=t.clearTimeout!==dt.clearTimeout&&t.clearTimeout,lt=ie&&ie.now!==dt.Date.now&&ie.now,ct=t.setTimeout!==dt.setTimeout&&t.setTimeout,ht=Ee.ceil,ft=Ee.floor,vt=ke.getOwnPropertySymbols,gt=Ve?Ve.isBuffer:i,Nt=t.isFinite,Yt=Te.join,vn=on(ke.keys,ke),gn=Ee.max,yn=Ee.min,mn=ie.now,bn=t.parseInt,xn=Ee.random,wn=Te.reverse,_n=ua(t,"DataView"),En=ua(t,"Map"),kn=ua(t,"Promise"),Cn=ua(t,"Set"),Sn=ua(t,"WeakMap"),Pn=ua(ke,"create"),Tn=Sn&&new Sn,Dn={},Mn=Na(_n),Bn=Na(En),In=Na(kn),On=Na(Cn),An=Na(Sn),zn=Fe?Fe.prototype:i,Nn=zn?zn.valueOf:i,Ln=zn?zn.toString:i;function Rn(e){if(es(e)&&!Wo(e)&&!(e instanceof qn)){if(e instanceof Fn)return e;if(Oe.call(e,"__wrapped__"))return La(e)}return new Fn(e)}var jn=function(){function e(){}return function(t){if(!Jo(t))return{};if(Xe)return Xe(t);e.prototype=t;var n=new e;return e.prototype=i,n}}();function Vn(){}function Fn(e,t){this.__wrapped__=e,this.__actions__=[],this.__chain__=!!t,this.__index__=0,this.__values__=i}function qn(e){this.__wrapped__=e,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=f,this.__views__=[]}function Wn(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t=t?e:t)),e}function or(e,t,n,r,a,o){var s,u=1&t,l=2&t,c=4&t;if(n&&(s=a?n(e,r,a,o):n(e)),s!==i)return s;if(!Jo(e))return e;var d=Wo(e);if(d){if(s=function(e){var t=e.length,n=new e.constructor(t);return t&&"string"==typeof e[0]&&Oe.call(e,"index")&&(n.index=e.index,n.input=e.input),n}(e),!u)return Si(e,s)}else{var h=da(e),f=h==x||h==w;if(Uo(e))return xi(e,u);if(h==k||h==v||f&&!a){if(s=l||f?{}:fa(e),!u)return l?function(e,t){return Pi(e,ca(e),t)}(e,function(e,t){return e&&Pi(t,Bs(t),e)}(s,e)):function(e,t){return Pi(e,la(e),t)}(e,nr(s,e))}else{if(!at[h])return a?e:{};s=function(e,t,n){var r,i=e.constructor;switch(t){case B:return wi(e);case y:case m:return new i(+e);case I:return function(e,t){var n=t?wi(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)}(e,n);case O:case A:case z:case N:case L:case R:case j:case V:case F:return _i(e,n);case _:return new i;case E:case T:return new i(e);case S:return function(e){var t=new e.constructor(e.source,he.exec(e));return t.lastIndex=e.lastIndex,t}(e);case P:return new i;case D:return r=e,Nn?ke(Nn.call(r)):{}}}(e,h,u)}}o||(o=new Un);var p=o.get(e);if(p)return p;o.set(e,s),as(e)?e.forEach((function(r){s.add(or(r,t,n,r,e,o))})):ts(e)&&e.forEach((function(r,i){s.set(i,or(r,t,n,i,e,o))}));var g=d?i:(c?l?ta:ea:l?Bs:Ms)(e);return Ct(g||e,(function(r,i){g&&(r=e[i=r]),Jn(s,i,or(r,t,n,i,e,o))})),s}function sr(e,t,n){var r=n.length;if(null==e)return!r;for(e=ke(e);r--;){var a=n[r],o=t[a],s=e[a];if(s===i&&!(a in e)||!o(s))return!1}return!0}function ur(e,t,n){if("function"!=typeof e)throw new Pe(a);return Pa((function(){e.apply(i,n)}),t)}function lr(e,t,n,r){var i=-1,a=Dt,o=!0,s=e.length,u=[],l=t.length;if(!s)return u;n&&(t=Bt(t,Kt(n))),r?(a=Mt,o=!1):t.length>=200&&(a=$t,o=!1,t=new Hn(t));e:for(;++i-1},Yn.prototype.set=function(e,t){var n=this.__data__,r=er(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this},Xn.prototype.clear=function(){this.size=0,this.__data__={hash:new Wn,map:new(En||Yn),string:new Wn}},Xn.prototype.delete=function(e){var t=oa(this,e).delete(e);return this.size-=t?1:0,t},Xn.prototype.get=function(e){return oa(this,e).get(e)},Xn.prototype.has=function(e){return oa(this,e).has(e)},Xn.prototype.set=function(e,t){var n=oa(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this},Hn.prototype.add=Hn.prototype.push=function(e){return this.__data__.set(e,o),this},Hn.prototype.has=function(e){return this.__data__.has(e)},Un.prototype.clear=function(){this.__data__=new Yn,this.size=0},Un.prototype.delete=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n},Un.prototype.get=function(e){return this.__data__.get(e)},Un.prototype.has=function(e){return this.__data__.has(e)},Un.prototype.set=function(e,t){var n=this.__data__;if(n instanceof Yn){var r=n.__data__;if(!En||r.length<199)return r.push([e,t]),this.size=++n.size,this;n=this.__data__=new Xn(r)}return n.set(e,t),this.size=n.size,this};var cr=Mi(mr),dr=Mi(br,!0);function hr(e,t){var n=!0;return cr(e,(function(e,r,i){return n=!!t(e,r,i)})),n}function fr(e,t,n){for(var r=-1,a=e.length;++r0&&n(s)?t>1?vr(s,t-1,n,r,i):It(i,s):r||(i[i.length]=s)}return i}var gr=Bi(),yr=Bi(!0);function mr(e,t){return e&&gr(e,t,Ms)}function br(e,t){return e&&yr(e,t,Ms)}function xr(e,t){return Tt(t,(function(t){return Go(e[t])}))}function wr(e,t){for(var n=0,r=(t=gi(t,e)).length;null!=e&&nt}function Cr(e,t){return null!=e&&Oe.call(e,t)}function Sr(e,t){return null!=e&&t in ke(e)}function Pr(e,t,n){for(var a=n?Mt:Dt,o=e[0].length,s=e.length,u=s,l=r(s),c=1/0,d=[];u--;){var h=e[u];u&&t&&(h=Bt(h,Kt(t))),c=yn(h.length,c),l[u]=!n&&(t||o>=120&&h.length>=120)?new Hn(u&&h):i}h=e[0];var f=-1,p=l[0];e:for(;++f=s?u:u*("desc"==n[r]?-1:1)}return e.index-t.index}(e,t,n)}));r--;)e[r]=e[r].value;return e}(i)}function qr(e,t,n){for(var r=-1,i=t.length,a={};++r-1;)s!==e&&Ue.call(s,u,1),Ue.call(e,u,1);return e}function Yr(e,t){for(var n=e?t.length:0,r=n-1;n--;){var i=t[n];if(n==r||i!==a){var a=i;va(i)?Ue.call(e,i,1):ui(e,i)}}return e}function Xr(e,t){return e+ft(xn()*(t-e+1))}function Hr(e,t){var n="";if(!e||t<1||t>d)return n;do{t%2&&(n+=e),(t=ft(t/2))&&(e+=e)}while(t);return n}function Ur(e,t){return Ta(Ea(e,t,nu),e+"")}function Zr(e){return Kn(js(e))}function Kr(e,t){var n=js(e);return Ba(n,ar(t,0,n.length))}function Gr(e,t,n,r){if(!Jo(e))return e;for(var a=-1,o=(t=gi(t,e)).length,s=o-1,u=e;null!=u&&++aa?0:a+t),(n=n>a?a:n)<0&&(n+=a),a=t>n?0:n-t>>>0,t>>>=0;for(var o=r(a);++i>>1,o=e[a];null!==o&&!ss(o)&&(n?o<=t:o=200){var l=t?null:Hi(e);if(l)return un(l);o=!1,i=$t,u=new Hn}else u=t?[]:s;e:for(;++r=r?e:ei(e,t,n)}var bi=ot||function(e){return dt.clearTimeout(e)};function xi(e,t){if(t)return e.slice();var n=e.length,r=We?We(n):new e.constructor(n);return e.copy(r),r}function wi(e){var t=new e.constructor(e.byteLength);return new qe(t).set(new qe(e)),t}function _i(e,t){var n=t?wi(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)}function Ei(e,t){if(e!==t){var n=e!==i,r=null===e,a=e==e,o=ss(e),s=t!==i,u=null===t,l=t==t,c=ss(t);if(!u&&!c&&!o&&e>t||o&&s&&l&&!u&&!c||r&&s&&l||!n&&l||!a)return 1;if(!r&&!o&&!c&&e1?n[a-1]:i,s=a>2?n[2]:i;for(o=e.length>3&&"function"==typeof o?(a--,o):i,s&&ga(n[0],n[1],s)&&(o=a<3?i:o,a=1),t=ke(t);++r-1?a[o?t[s]:s]:i}}function Ni(e){return Ji((function(t){var n=t.length,r=n,o=Fn.prototype.thru;for(e&&t.reverse();r--;){var s=t[r];if("function"!=typeof s)throw new Pe(a);if(o&&!u&&"wrapper"==ra(s))var u=new Fn([],!0)}for(r=u?r:n;++r1&&x.reverse(),f&&du))return!1;var c=o.get(e),d=o.get(t);if(c&&d)return c==t&&d==e;var h=-1,f=!0,p=2&n?new Hn:i;for(o.set(e,t),o.set(t,e);++h-1&&e%1==0&&e1?"& ":"")+t[r],t=t.join(n>2?", ":" "),e.replace(ae,"{\n/* [wrapped with "+t+"] */\n")}(r,function(e,t){return Ct(p,(function(n){var r="_."+n[0];t&n[1]&&!Dt(e,r)&&e.push(r)})),e.sort()}(function(e){var t=e.match(oe);return t?t[1].split(se):[]}(r),n)))}function Ma(e){var t=0,n=0;return function(){var r=mn(),a=16-(r-n);if(n=r,a>0){if(++t>=800)return arguments[0]}else t=0;return e.apply(i,arguments)}}function Ba(e,t){var n=-1,r=e.length,a=r-1;for(t=t===i?r:t;++n1?e[t-1]:i;return n="function"==typeof n?(e.pop(),n):i,ro(e,n)}));function co(e){var t=Rn(e);return t.__chain__=!0,t}function ho(e,t){return t(e)}var fo=Ji((function(e){var t=e.length,n=t?e[0]:0,r=this.__wrapped__,a=function(t){return ir(t,e)};return!(t>1||this.__actions__.length)&&r instanceof qn&&va(n)?((r=r.slice(n,+n+(t?1:0))).__actions__.push({func:ho,args:[a],thisArg:i}),new Fn(r,this.__chain__).thru((function(e){return t&&!e.length&&e.push(i),e}))):this.thru(a)})),po=Ti((function(e,t,n){Oe.call(e,n)?++e[n]:rr(e,n,1)})),vo=zi(Fa),go=zi(qa);function yo(e,t){return(Wo(e)?Ct:cr)(e,aa(t,3))}function mo(e,t){return(Wo(e)?St:dr)(e,aa(t,3))}var bo=Ti((function(e,t,n){Oe.call(e,n)?e[n].push(t):rr(e,n,[t])})),xo=Ur((function(e,t,n){var i=-1,a="function"==typeof t,o=Xo(e)?r(e.length):[];return cr(e,(function(e){o[++i]=a?Et(t,e,n):Tr(e,t,n)})),o})),wo=Ti((function(e,t,n){rr(e,n,t)}));function _o(e,t){return(Wo(e)?Bt:Nr)(e,aa(t,3))}var Eo=Ti((function(e,t,n){e[n?0:1].push(t)}),(function(){return[[],[]]})),ko=Ur((function(e,t){if(null==e)return[];var n=t.length;return n>1&&ga(e,t[0],t[1])?t=[]:n>2&&ga(t[0],t[1],t[2])&&(t=[t[0]]),Fr(e,vr(t,1),[])})),Co=lt||function(){return dt.Date.now()};function So(e,t,n){return t=n?i:t,t=e&&null==t?e.length:t,Zi(e,l,i,i,i,i,t)}function Po(e,t){var n;if("function"!=typeof t)throw new Pe(a);return e=fs(e),function(){return--e>0&&(n=t.apply(this,arguments)),e<=1&&(t=i),n}}var To=Ur((function(e,t,n){var r=1;if(n.length){var i=sn(n,ia(To));r|=u}return Zi(e,r,t,n,i)})),Do=Ur((function(e,t,n){var r=3;if(n.length){var i=sn(n,ia(Do));r|=u}return Zi(t,r,e,n,i)}));function Mo(e,t,n){var r,o,s,u,l,c,d=0,h=!1,f=!1,p=!0;if("function"!=typeof e)throw new Pe(a);function v(t){var n=r,a=o;return r=o=i,d=t,u=e.apply(a,n)}function g(e){var n=e-c;return c===i||n>=t||n<0||f&&e-d>=s}function y(){var e=Co();if(g(e))return m(e);l=Pa(y,function(e){var n=t-(e-c);return f?yn(n,s-(e-d)):n}(e))}function m(e){return l=i,p&&r?v(e):(r=o=i,u)}function b(){var e=Co(),n=g(e);if(r=arguments,o=this,c=e,n){if(l===i)return function(e){return d=e,l=Pa(y,t),h?v(e):u}(c);if(f)return bi(l),l=Pa(y,t),v(c)}return l===i&&(l=Pa(y,t)),u}return t=vs(t)||0,Jo(n)&&(h=!!n.leading,s=(f="maxWait"in n)?gn(vs(n.maxWait)||0,t):s,p="trailing"in n?!!n.trailing:p),b.cancel=function(){l!==i&&bi(l),d=0,r=c=o=l=i},b.flush=function(){return l===i?u:m(Co())},b}var Bo=Ur((function(e,t){return ur(e,1,t)})),Io=Ur((function(e,t,n){return ur(e,vs(t)||0,n)}));function Oo(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new Pe(a);var n=function(){var r=arguments,i=t?t.apply(this,r):r[0],a=n.cache;if(a.has(i))return a.get(i);var o=e.apply(this,r);return n.cache=a.set(i,o)||a,o};return n.cache=new(Oo.Cache||Xn),n}function Ao(e){if("function"!=typeof e)throw new Pe(a);return function(){var t=arguments;switch(t.length){case 0:return!e.call(this);case 1:return!e.call(this,t[0]);case 2:return!e.call(this,t[0],t[1]);case 3:return!e.call(this,t[0],t[1],t[2])}return!e.apply(this,t)}}Oo.Cache=Xn;var zo=yi((function(e,t){var n=(t=1==t.length&&Wo(t[0])?Bt(t[0],Kt(aa())):Bt(vr(t,1),Kt(aa()))).length;return Ur((function(r){for(var i=-1,a=yn(r.length,n);++i=t})),qo=Dr(function(){return arguments}())?Dr:function(e){return es(e)&&Oe.call(e,"callee")&&!He.call(e,"callee")},Wo=r.isArray,Yo=yt?Kt(yt):function(e){return es(e)&&Er(e)==B};function Xo(e){return null!=e&&Qo(e.length)&&!Go(e)}function Ho(e){return es(e)&&Xo(e)}var Uo=gt||vu,Zo=mt?Kt(mt):function(e){return es(e)&&Er(e)==m};function Ko(e){if(!es(e))return!1;var t=Er(e);return t==b||"[object DOMException]"==t||"string"==typeof e.message&&"string"==typeof e.name&&!rs(e)}function Go(e){if(!Jo(e))return!1;var t=Er(e);return t==x||t==w||"[object AsyncFunction]"==t||"[object Proxy]"==t}function $o(e){return"number"==typeof e&&e==fs(e)}function Qo(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=d}function Jo(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function es(e){return null!=e&&"object"==typeof e}var ts=bt?Kt(bt):function(e){return es(e)&&da(e)==_};function ns(e){return"number"==typeof e||es(e)&&Er(e)==E}function rs(e){if(!es(e)||Er(e)!=k)return!1;var t=Ye(e);if(null===t)return!0;var n=Oe.call(t,"constructor")&&t.constructor;return"function"==typeof n&&n instanceof n&&Ie.call(n)==Le}var is=xt?Kt(xt):function(e){return es(e)&&Er(e)==S},as=wt?Kt(wt):function(e){return es(e)&&da(e)==P};function os(e){return"string"==typeof e||!Wo(e)&&es(e)&&Er(e)==T}function ss(e){return"symbol"==typeof e||es(e)&&Er(e)==D}var us=_t?Kt(_t):function(e){return es(e)&&Qo(e.length)&&!!it[Er(e)]},ls=Wi(zr),cs=Wi((function(e,t){return e<=t}));function ds(e){if(!e)return[];if(Xo(e))return os(e)?dn(e):Si(e);if(Ke&&e[Ke])return function(e){for(var t,n=[];!(t=e.next()).done;)n.push(t.value);return n}(e[Ke]());var t=da(e);return(t==_?an:t==P?un:js)(e)}function hs(e){return e?(e=vs(e))===c||e===-1/0?17976931348623157e292*(e<0?-1:1):e==e?e:0:0===e?e:0}function fs(e){var t=hs(e),n=t%1;return t==t?n?t-n:t:0}function ps(e){return e?ar(fs(e),0,f):0}function vs(e){if("number"==typeof e)return e;if(ss(e))return h;if(Jo(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=Jo(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=Zt(e);var n=pe.test(e);return n||ge.test(e)?ut(e.slice(2),n?2:8):fe.test(e)?h:+e}function gs(e){return Pi(e,Bs(e))}function ys(e){return null==e?"":oi(e)}var ms=Di((function(e,t){if(xa(t)||Xo(t))Pi(t,Ms(t),e);else for(var n in t)Oe.call(t,n)&&Jn(e,n,t[n])})),bs=Di((function(e,t){Pi(t,Bs(t),e)})),xs=Di((function(e,t,n,r){Pi(t,Bs(t),e,r)})),ws=Di((function(e,t,n,r){Pi(t,Ms(t),e,r)})),_s=Ji(ir),Es=Ur((function(e,t){e=ke(e);var n=-1,r=t.length,a=r>2?t[2]:i;for(a&&ga(t[0],t[1],a)&&(r=1);++n1),t})),Pi(e,ta(e),n),r&&(n=or(n,7,$i));for(var i=t.length;i--;)ui(n,t[i]);return n})),zs=Ji((function(e,t){return null==e?{}:function(e,t){return qr(e,t,(function(t,n){return Ss(e,n)}))}(e,t)}));function Ns(e,t){if(null==e)return{};var n=Bt(ta(e),(function(e){return[e]}));return t=aa(t),qr(e,n,(function(e,n){return t(e,n[0])}))}var Ls=Ui(Ms),Rs=Ui(Bs);function js(e){return null==e?[]:Gt(e,Ms(e))}var Vs=Oi((function(e,t,n){return t=t.toLowerCase(),e+(n?Fs(t):t)}));function Fs(e){return Ks(ys(e).toLowerCase())}function qs(e){return(e=ys(e))&&e.replace(me,en).replace($e,"")}var Ws=Oi((function(e,t,n){return e+(n?"-":"")+t.toLowerCase()})),Ys=Oi((function(e,t,n){return e+(n?" ":"")+t.toLowerCase()})),Xs=Ii("toLowerCase"),Hs=Oi((function(e,t,n){return e+(n?"_":"")+t.toLowerCase()})),Us=Oi((function(e,t,n){return e+(n?" ":"")+Ks(t)})),Zs=Oi((function(e,t,n){return e+(n?" ":"")+t.toUpperCase()})),Ks=Ii("toUpperCase");function Gs(e,t,n){return e=ys(e),(t=n?i:t)===i?function(e){return tt.test(e)}(e)?function(e){return e.match(Je)||[]}(e):function(e){return e.match(ue)||[]}(e):e.match(t)||[]}var $s=Ur((function(e,t){try{return Et(e,i,t)}catch(e){return Ko(e)?e:new we(e)}})),Qs=Ji((function(e,t){return Ct(t,(function(t){t=za(t),rr(e,t,To(e[t],e))})),e}));function Js(e){return function(){return e}}var eu=Ni(),tu=Ni(!0);function nu(e){return e}function ru(e){return Or("function"==typeof e?e:or(e,1))}var iu=Ur((function(e,t){return function(n){return Tr(n,e,t)}})),au=Ur((function(e,t){return function(n){return Tr(e,n,t)}}));function ou(e,t,n){var r=Ms(t),i=xr(t,r);null!=n||Jo(t)&&(i.length||!r.length)||(n=t,t=e,e=this,i=xr(t,Ms(t)));var a=!(Jo(n)&&"chain"in n&&!n.chain),o=Go(e);return Ct(i,(function(n){var r=t[n];e[n]=r,o&&(e.prototype[n]=function(){var t=this.__chain__;if(a||t){var n=e(this.__wrapped__);return(n.__actions__=Si(this.__actions__)).push({func:r,args:arguments,thisArg:e}),n.__chain__=t,n}return r.apply(e,It([this.value()],arguments))})})),e}function su(){}var uu=Vi(Bt),lu=Vi(Pt),cu=Vi(zt);function du(e){return ya(e)?Wt(za(e)):function(e){return function(t){return wr(t,e)}}(e)}var hu=qi(),fu=qi(!0);function pu(){return[]}function vu(){return!1}var gu,yu=ji((function(e,t){return e+t}),0),mu=Xi("ceil"),bu=ji((function(e,t){return e/t}),1),xu=Xi("floor"),wu=ji((function(e,t){return e*t}),1),_u=Xi("round"),Eu=ji((function(e,t){return e-t}),0);return Rn.after=function(e,t){if("function"!=typeof t)throw new Pe(a);return e=fs(e),function(){if(--e<1)return t.apply(this,arguments)}},Rn.ary=So,Rn.assign=ms,Rn.assignIn=bs,Rn.assignInWith=xs,Rn.assignWith=ws,Rn.at=_s,Rn.before=Po,Rn.bind=To,Rn.bindAll=Qs,Rn.bindKey=Do,Rn.castArray=function(){if(!arguments.length)return[];var e=arguments[0];return Wo(e)?e:[e]},Rn.chain=co,Rn.chunk=function(e,t,n){t=(n?ga(e,t,n):t===i)?1:gn(fs(t),0);var a=null==e?0:e.length;if(!a||t<1)return[];for(var o=0,s=0,u=r(ht(a/t));oa?0:a+n),(r=r===i||r>a?a:fs(r))<0&&(r+=a),r=n>r?0:ps(r);n>>0)?(e=ys(e))&&("string"==typeof t||null!=t&&!is(t))&&!(t=oi(t))&&rn(e)?mi(dn(e),0,n):e.split(t,n):[]},Rn.spread=function(e,t){if("function"!=typeof e)throw new Pe(a);return t=null==t?0:gn(fs(t),0),Ur((function(n){var r=n[t],i=mi(n,0,t);return r&&It(i,r),Et(e,this,i)}))},Rn.tail=function(e){var t=null==e?0:e.length;return t?ei(e,1,t):[]},Rn.take=function(e,t,n){return e&&e.length?ei(e,0,(t=n||t===i?1:fs(t))<0?0:t):[]},Rn.takeRight=function(e,t,n){var r=null==e?0:e.length;return r?ei(e,(t=r-(t=n||t===i?1:fs(t)))<0?0:t,r):[]},Rn.takeRightWhile=function(e,t){return e&&e.length?ci(e,aa(t,3),!1,!0):[]},Rn.takeWhile=function(e,t){return e&&e.length?ci(e,aa(t,3)):[]},Rn.tap=function(e,t){return t(e),e},Rn.throttle=function(e,t,n){var r=!0,i=!0;if("function"!=typeof e)throw new Pe(a);return Jo(n)&&(r="leading"in n?!!n.leading:r,i="trailing"in n?!!n.trailing:i),Mo(e,t,{leading:r,maxWait:t,trailing:i})},Rn.thru=ho,Rn.toArray=ds,Rn.toPairs=Ls,Rn.toPairsIn=Rs,Rn.toPath=function(e){return Wo(e)?Bt(e,za):ss(e)?[e]:Si(Aa(ys(e)))},Rn.toPlainObject=gs,Rn.transform=function(e,t,n){var r=Wo(e),i=r||Uo(e)||us(e);if(t=aa(t,4),null==n){var a=e&&e.constructor;n=i?r?new a:[]:Jo(e)&&Go(a)?jn(Ye(e)):{}}return(i?Ct:mr)(e,(function(e,r,i){return t(n,e,r,i)})),n},Rn.unary=function(e){return So(e,1)},Rn.union=Ja,Rn.unionBy=eo,Rn.unionWith=to,Rn.uniq=function(e){return e&&e.length?si(e):[]},Rn.uniqBy=function(e,t){return e&&e.length?si(e,aa(t,2)):[]},Rn.uniqWith=function(e,t){return t="function"==typeof t?t:i,e&&e.length?si(e,i,t):[]},Rn.unset=function(e,t){return null==e||ui(e,t)},Rn.unzip=no,Rn.unzipWith=ro,Rn.update=function(e,t,n){return null==e?e:li(e,t,vi(n))},Rn.updateWith=function(e,t,n,r){return r="function"==typeof r?r:i,null==e?e:li(e,t,vi(n),r)},Rn.values=js,Rn.valuesIn=function(e){return null==e?[]:Gt(e,Bs(e))},Rn.without=io,Rn.words=Gs,Rn.wrap=function(e,t){return No(vi(t),e)},Rn.xor=ao,Rn.xorBy=oo,Rn.xorWith=so,Rn.zip=uo,Rn.zipObject=function(e,t){return fi(e||[],t||[],Jn)},Rn.zipObjectDeep=function(e,t){return fi(e||[],t||[],Gr)},Rn.zipWith=lo,Rn.entries=Ls,Rn.entriesIn=Rs,Rn.extend=bs,Rn.extendWith=xs,ou(Rn,Rn),Rn.add=yu,Rn.attempt=$s,Rn.camelCase=Vs,Rn.capitalize=Fs,Rn.ceil=mu,Rn.clamp=function(e,t,n){return n===i&&(n=t,t=i),n!==i&&(n=(n=vs(n))==n?n:0),t!==i&&(t=(t=vs(t))==t?t:0),ar(vs(e),t,n)},Rn.clone=function(e){return or(e,4)},Rn.cloneDeep=function(e){return or(e,5)},Rn.cloneDeepWith=function(e,t){return or(e,5,t="function"==typeof t?t:i)},Rn.cloneWith=function(e,t){return or(e,4,t="function"==typeof t?t:i)},Rn.conformsTo=function(e,t){return null==t||sr(e,t,Ms(t))},Rn.deburr=qs,Rn.defaultTo=function(e,t){return null==e||e!=e?t:e},Rn.divide=bu,Rn.endsWith=function(e,t,n){e=ys(e),t=oi(t);var r=e.length,a=n=n===i?r:ar(fs(n),0,r);return(n-=t.length)>=0&&e.slice(n,a)==t},Rn.eq=jo,Rn.escape=function(e){return(e=ys(e))&&Z.test(e)?e.replace(H,tn):e},Rn.escapeRegExp=function(e){return(e=ys(e))&&ne.test(e)?e.replace(te,"\\$&"):e},Rn.every=function(e,t,n){var r=Wo(e)?Pt:hr;return n&&ga(e,t,n)&&(t=i),r(e,aa(t,3))},Rn.find=vo,Rn.findIndex=Fa,Rn.findKey=function(e,t){return Lt(e,aa(t,3),mr)},Rn.findLast=go,Rn.findLastIndex=qa,Rn.findLastKey=function(e,t){return Lt(e,aa(t,3),br)},Rn.floor=xu,Rn.forEach=yo,Rn.forEachRight=mo,Rn.forIn=function(e,t){return null==e?e:gr(e,aa(t,3),Bs)},Rn.forInRight=function(e,t){return null==e?e:yr(e,aa(t,3),Bs)},Rn.forOwn=function(e,t){return e&&mr(e,aa(t,3))},Rn.forOwnRight=function(e,t){return e&&br(e,aa(t,3))},Rn.get=Cs,Rn.gt=Vo,Rn.gte=Fo,Rn.has=function(e,t){return null!=e&&ha(e,t,Cr)},Rn.hasIn=Ss,Rn.head=Ya,Rn.identity=nu,Rn.includes=function(e,t,n,r){e=Xo(e)?e:js(e),n=n&&!r?fs(n):0;var i=e.length;return n<0&&(n=gn(i+n,0)),os(e)?n<=i&&e.indexOf(t,n)>-1:!!i&&jt(e,t,n)>-1},Rn.indexOf=function(e,t,n){var r=null==e?0:e.length;if(!r)return-1;var i=null==n?0:fs(n);return i<0&&(i=gn(r+i,0)),jt(e,t,i)},Rn.inRange=function(e,t,n){return t=hs(t),n===i?(n=t,t=0):n=hs(n),function(e,t,n){return e>=yn(t,n)&&e=-9007199254740991&&e<=d},Rn.isSet=as,Rn.isString=os,Rn.isSymbol=ss,Rn.isTypedArray=us,Rn.isUndefined=function(e){return e===i},Rn.isWeakMap=function(e){return es(e)&&da(e)==M},Rn.isWeakSet=function(e){return es(e)&&"[object WeakSet]"==Er(e)},Rn.join=function(e,t){return null==e?"":Yt.call(e,t)},Rn.kebabCase=Ws,Rn.last=Za,Rn.lastIndexOf=function(e,t,n){var r=null==e?0:e.length;if(!r)return-1;var a=r;return n!==i&&(a=(a=fs(n))<0?gn(r+a,0):yn(a,r-1)),t==t?function(e,t,n){for(var r=n+1;r--;)if(e[r]===t)return r;return r}(e,t,a):Rt(e,Ft,a,!0)},Rn.lowerCase=Ys,Rn.lowerFirst=Xs,Rn.lt=ls,Rn.lte=cs,Rn.max=function(e){return e&&e.length?fr(e,nu,kr):i},Rn.maxBy=function(e,t){return e&&e.length?fr(e,aa(t,2),kr):i},Rn.mean=function(e){return qt(e,nu)},Rn.meanBy=function(e,t){return qt(e,aa(t,2))},Rn.min=function(e){return e&&e.length?fr(e,nu,zr):i},Rn.minBy=function(e,t){return e&&e.length?fr(e,aa(t,2),zr):i},Rn.stubArray=pu,Rn.stubFalse=vu,Rn.stubObject=function(){return{}},Rn.stubString=function(){return""},Rn.stubTrue=function(){return!0},Rn.multiply=wu,Rn.nth=function(e,t){return e&&e.length?Vr(e,fs(t)):i},Rn.noConflict=function(){return dt._===this&&(dt._=Re),this},Rn.noop=su,Rn.now=Co,Rn.pad=function(e,t,n){e=ys(e);var r=(t=fs(t))?cn(e):0;if(!t||r>=t)return e;var i=(t-r)/2;return Fi(ft(i),n)+e+Fi(ht(i),n)},Rn.padEnd=function(e,t,n){e=ys(e);var r=(t=fs(t))?cn(e):0;return t&&rt){var r=e;e=t,t=r}if(n||e%1||t%1){var a=xn();return yn(e+a*(t-e+st("1e-"+((a+"").length-1))),t)}return Xr(e,t)},Rn.reduce=function(e,t,n){var r=Wo(e)?Ot:Xt,i=arguments.length<3;return r(e,aa(t,4),n,i,cr)},Rn.reduceRight=function(e,t,n){var r=Wo(e)?At:Xt,i=arguments.length<3;return r(e,aa(t,4),n,i,dr)},Rn.repeat=function(e,t,n){return t=(n?ga(e,t,n):t===i)?1:fs(t),Hr(ys(e),t)},Rn.replace=function(){var e=arguments,t=ys(e[0]);return e.length<3?t:t.replace(e[1],e[2])},Rn.result=function(e,t,n){var r=-1,a=(t=gi(t,e)).length;for(a||(a=1,e=i);++rd)return[];var n=f,r=yn(e,f);t=aa(t),e-=f;for(var i=Ut(r,t);++n=o)return e;var u=n-cn(r);if(u<1)return r;var l=s?mi(s,0,u).join(""):e.slice(0,u);if(a===i)return l+r;if(s&&(u+=l.length-u),is(a)){if(e.slice(u).search(a)){var c,d=l;for(a.global||(a=Ce(a.source,ys(he.exec(a))+"g")),a.lastIndex=0;c=a.exec(d);)var h=c.index;l=l.slice(0,h===i?u:h)}}else if(e.indexOf(oi(a),u)!=u){var f=l.lastIndexOf(a);f>-1&&(l=l.slice(0,f))}return l+r},Rn.unescape=function(e){return(e=ys(e))&&U.test(e)?e.replace(X,fn):e},Rn.uniqueId=function(e){var t=++Ae;return ys(e)+t},Rn.upperCase=Zs,Rn.upperFirst=Ks,Rn.each=yo,Rn.eachRight=mo,Rn.first=Ya,ou(Rn,(gu={},mr(Rn,(function(e,t){Oe.call(Rn.prototype,t)||(gu[t]=e)})),gu),{chain:!1}),Rn.VERSION="4.17.21",Ct(["bind","bindKey","curry","curryRight","partial","partialRight"],(function(e){Rn[e].placeholder=Rn})),Ct(["drop","take"],(function(e,t){qn.prototype[e]=function(n){n=n===i?1:gn(fs(n),0);var r=this.__filtered__&&!t?new qn(this):this.clone();return r.__filtered__?r.__takeCount__=yn(n,r.__takeCount__):r.__views__.push({size:yn(n,f),type:e+(r.__dir__<0?"Right":"")}),r},qn.prototype[e+"Right"]=function(t){return this.reverse()[e](t).reverse()}})),Ct(["filter","map","takeWhile"],(function(e,t){var n=t+1,r=1==n||3==n;qn.prototype[e]=function(e){var t=this.clone();return t.__iteratees__.push({iteratee:aa(e,3),type:n}),t.__filtered__=t.__filtered__||r,t}})),Ct(["head","last"],(function(e,t){var n="take"+(t?"Right":"");qn.prototype[e]=function(){return this[n](1).value()[0]}})),Ct(["initial","tail"],(function(e,t){var n="drop"+(t?"":"Right");qn.prototype[e]=function(){return this.__filtered__?new qn(this):this[n](1)}})),qn.prototype.compact=function(){return this.filter(nu)},qn.prototype.find=function(e){return this.filter(e).head()},qn.prototype.findLast=function(e){return this.reverse().find(e)},qn.prototype.invokeMap=Ur((function(e,t){return"function"==typeof e?new qn(this):this.map((function(n){return Tr(n,e,t)}))})),qn.prototype.reject=function(e){return this.filter(Ao(aa(e)))},qn.prototype.slice=function(e,t){e=fs(e);var n=this;return n.__filtered__&&(e>0||t<0)?new qn(n):(e<0?n=n.takeRight(-e):e&&(n=n.drop(e)),t!==i&&(n=(t=fs(t))<0?n.dropRight(-t):n.take(t-e)),n)},qn.prototype.takeRightWhile=function(e){return this.reverse().takeWhile(e).reverse()},qn.prototype.toArray=function(){return this.take(f)},mr(qn.prototype,(function(e,t){var n=/^(?:filter|find|map|reject)|While$/.test(t),r=/^(?:head|last)$/.test(t),a=Rn[r?"take"+("last"==t?"Right":""):t],o=r||/^find/.test(t);a&&(Rn.prototype[t]=function(){var t=this.__wrapped__,s=r?[1]:arguments,u=t instanceof qn,l=s[0],c=u||Wo(t),d=function(e){var t=a.apply(Rn,It([e],s));return r&&h?t[0]:t};c&&n&&"function"==typeof l&&1!=l.length&&(u=c=!1);var h=this.__chain__,f=!!this.__actions__.length,p=o&&!h,v=u&&!f;if(!o&&c){t=v?t:new qn(this);var g=e.apply(t,s);return g.__actions__.push({func:ho,args:[d],thisArg:i}),new Fn(g,h)}return p&&v?e.apply(this,s):(g=this.thru(d),p?r?g.value()[0]:g.value():g)})})),Ct(["pop","push","shift","sort","splice","unshift"],(function(e){var t=Te[e],n=/^(?:push|sort|unshift)$/.test(e)?"tap":"thru",r=/^(?:pop|shift)$/.test(e);Rn.prototype[e]=function(){var e=arguments;if(r&&!this.__chain__){var i=this.value();return t.apply(Wo(i)?i:[],e)}return this[n]((function(n){return t.apply(Wo(n)?n:[],e)}))}})),mr(qn.prototype,(function(e,t){var n=Rn[t];if(n){var r=n.name+"";Oe.call(Dn,r)||(Dn[r]=[]),Dn[r].push({name:t,func:n})}})),Dn[Li(i,2).name]=[{name:"wrapper",func:i}],qn.prototype.clone=function(){var e=new qn(this.__wrapped__);return e.__actions__=Si(this.__actions__),e.__dir__=this.__dir__,e.__filtered__=this.__filtered__,e.__iteratees__=Si(this.__iteratees__),e.__takeCount__=this.__takeCount__,e.__views__=Si(this.__views__),e},qn.prototype.reverse=function(){if(this.__filtered__){var e=new qn(this);e.__dir__=-1,e.__filtered__=!0}else(e=this.clone()).__dir__*=-1;return e},qn.prototype.value=function(){var e=this.__wrapped__.value(),t=this.__dir__,n=Wo(e),r=t<0,i=n?e.length:0,a=function(e,t,n){for(var r=-1,i=n.length;++r=this.__values__.length;return{done:e,value:e?i:this.__values__[this.__index__++]}},Rn.prototype.plant=function(e){for(var t,n=this;n instanceof Vn;){var r=La(n);r.__index__=0,r.__values__=i,t?a.__wrapped__=r:t=r;var a=r;n=n.__wrapped__}return a.__wrapped__=e,t},Rn.prototype.reverse=function(){var e=this.__wrapped__;if(e instanceof qn){var t=e;return this.__actions__.length&&(t=new qn(this)),(t=t.reverse()).__actions__.push({func:ho,args:[Qa],thisArg:i}),new Fn(t,this.__chain__)}return this.thru(Qa)},Rn.prototype.toJSON=Rn.prototype.valueOf=Rn.prototype.value=function(){return di(this.__wrapped__,this.__actions__)},Rn.prototype.first=Rn.prototype.head,Ke&&(Rn.prototype[Ke]=function(){return this}),Rn}();dt._=pn,(r=function(){return pn}.call(t,n,t,e))===i||(e.exports=r)}.call(this)},8306:(e,t,n)=>{var r=n(3369);function i(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new TypeError("Expected a function");var n=function(){var r=arguments,i=t?t.apply(this,r):r[0],a=n.cache;if(a.has(i))return a.get(i);var o=e.apply(this,r);return n.cache=a.set(i,o)||a,o};return n.cache=new(i.Cache||r),n}i.Cache=r,e.exports=i},7771:(e,t,n)=>{var r=n(5639);e.exports=function(){return r.Date.now()}},6968:(e,t,n)=>{var r=n(611);e.exports=function(e,t,n){return null==e?e:r(e,t,n)}},4841:(e,t,n)=>{var r=n(7561),i=n(3218),a=n(3448),o=/^[-+]0x[0-9a-f]+$/i,s=/^0b[01]+$/i,u=/^0o[0-7]+$/i,l=parseInt;e.exports=function(e){if("number"==typeof e)return e;if(a(e))return NaN;if(i(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=i(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=r(e);var n=s.test(e);return n||u.test(e)?l(e.slice(2),n?2:8):o.test(e)?NaN:+e}},84:(e,t,n)=>{var r=n(9932),i=n(278),a=n(1469),o=n(3448),s=n(5514),u=n(327),l=n(9833);e.exports=function(e){return a(e)?r(e,u):o(e)?[e]:i(s(l(e)))}},9833:(e,t,n)=>{var r=n(531);e.exports=function(e){return null==e?"":r(e)}},2703:(e,t,n)=>{"use strict";var r=n(414);function i(){}function a(){}a.resetWarningCache=i,e.exports=function(){function e(e,t,n,i,a,o){if(o!==r){var s=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw s.name="Invariant Violation",s}}function t(){return e}e.isRequired=e;var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:a,resetWarningCache:i};return n.PropTypes=n,n}},5697:(e,t,n)=>{e.exports=n(2703)()},414:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},3379:e=>{"use strict";var t=[];function n(e){for(var n=-1,r=0;r{"use strict";var t={};e.exports=function(e,n){var r=function(e){if(void 0===t[e]){var n=document.querySelector(e);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(e){n=null}t[e]=n}return t[e]}(e);if(!r)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");r.appendChild(n)}},9216:e=>{"use strict";e.exports=function(e){var t=document.createElement("style");return e.setAttributes(t,e.attributes),e.insert(t,e.options),t}},3565:(e,t,n)=>{"use strict";e.exports=function(e){var t=n.nc;t&&e.setAttribute("nonce",t)}},7795:e=>{"use strict";e.exports=function(e){if("undefined"==typeof document)return{update:function(){},remove:function(){}};var t=e.insertStyleElement(e);return{update:function(n){!function(e,t,n){var r="";n.supports&&(r+="@supports (".concat(n.supports,") {")),n.media&&(r+="@media ".concat(n.media," {"));var i=void 0!==n.layer;i&&(r+="@layer".concat(n.layer.length>0?" ".concat(n.layer):""," {")),r+=n.css,i&&(r+="}"),n.media&&(r+="}"),n.supports&&(r+="}");var a=n.sourceMap;a&&"undefined"!=typeof btoa&&(r+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(a))))," */")),t.styleTagTransform(r,e,t.options)}(t,e,n)},remove:function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(t)}}}},4589:e=>{"use strict";e.exports=function(e,t){if(t.styleSheet)t.styleSheet.cssText=e;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(e))}}}},t={};function n(r){var i=t[r];if(void 0!==i)return i.exports;var a=t[r]={id:r,loaded:!1,exports:{}};return e[r].call(a.exports,a,a.exports,n),a.loaded=!0,a.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),n.nc=void 0;var r={};(()=>{"use strict";n.r(r),n.d(r,{Cytoscape:()=>se});var e=n(3379),t=n.n(e),i=n(7795),a=n.n(i),o=n(569),s=n.n(o),u=n(3565),l=n.n(u),c=n(9216),d=n.n(c),h=n(4589),f=n.n(h),p=n(372),v={};v.styleTagTransform=f(),v.setAttributes=l(),v.insert=s().bind(null,"head"),v.domAPI=a(),v.insertStyleElement=d(),t()(p.Z,v),p.Z&&p.Z.locals&&p.Z.locals;const g=window.React;var y=n.n(g),m=n(5697),b=n.n(m),x=n(9058),w=n.n(x);const{string:_,array:E,object:k,number:C,bool:S,oneOfType:P,any:T,func:D}=b(),M={id:_,className:_,style:P([_,k]),elements:P([E,T]),stylesheet:P([E,T]),layout:P([k,T]),pan:P([k,T]),zoom:C,panningEnabled:S,userPanningEnabled:S,minZoom:C,maxZoom:C,zoomingEnabled:S,userZoomingEnabled:S,boxSelectionEnabled:S,autoungrabify:S,autolock:S,autounselectify:S,get:D,toJson:D,diff:D,forEach:D,cy:D,headless:S,styleEnabled:S,hideEdgesOnViewport:S,textureOnViewport:S,motionBlur:S,motionBlurOpacity:C,wheelSensitivity:C,pixelRatio:P([_,k])},B=(e,t)=>{if(((e,t)=>null==e||null==t)(e,t)&&(null!=e||null!=t))return!0;if(e===t)return!1;if("object"!=typeof e||"object"!=typeof t)return e!==t;const n=Object.keys(e),r=Object.keys(t),i=n=>e[n]!==t[n];return n.length!==r.length||!(!n.some(i)&&!r.some(i))},I=(e,t)=>null!=e?e[t]:null,O={diff:B,get:I,toJson:e=>e,forEach:(e,t)=>e.forEach(t),elements:[{data:{id:"a",label:"Example node A"}},{data:{id:"b",label:"Example node B"}},{data:{id:"e",source:"a",target:"b"}}],stylesheet:[{selector:"node",style:{label:"data(label)"}}],zoom:1,pan:{x:0,y:0}},A=(e,t,n,r)=>n(I(e,r),I(t,r)),z=(e,t,n,r,i,a)=>{const o=i(i(n,"data"),"id"),s=e.getElementById(o),u={};["data","position","selected","selectable","locked","grabbable","classes"].forEach((e=>{const o=i(n,e);a(o,i(t,e))&&(u[e]=r(o))}));const l=i(n,"scratch");a(l,i(t,"scratch"))&&s.scratch(r(l)),Object.keys(u).length>0&&s.json(u)};class N extends y().Component{static get propTypes(){return M}static get defaultProps(){return O}static normalizeElements(e){if(null!=e.length)return e;{let{nodes:t,edges:n}=e;return null==t&&(t=[]),null==n&&(n=[]),t.concat(n)}}constructor(e){super(e),this.displayName="CytoscapeComponent",this.containerRef=y().createRef()}componentDidMount(){const e=this.containerRef.current,{global:t,headless:n,styleEnabled:r,hideEdgesOnViewport:i,textureOnViewport:a,motionBlur:o,motionBlurOpacity:s,wheelSensitivity:u,pixelRatio:l}=this.props,c=this._cy=new(w())({container:e,headless:n,styleEnabled:r,hideEdgesOnViewport:i,textureOnViewport:a,motionBlur:o,motionBlurOpacity:s,wheelSensitivity:u,pixelRatio:l});t&&(window[t]=c),this.updateCytoscape(null,this.props)}updateCytoscape(e,t){const n=this._cy,{diff:r,toJson:i,get:a,forEach:o}=t;((e,t,n,r,i,a,o)=>{e.batch((()=>{(r===B||A(t,n,r,"elements"))&&((e,t,n,r,i,a,o)=>{const s=[],u=e.collection(),l=[],c={},d={},h=e=>i(i(e,"data"),"id");a(n,(e=>{const t=h(e);d[t]=e})),null!=t&&a(t,(t=>{const n=h(t);c[n]=t,(e=>null!=d[e])(n)||u.merge(e.getElementById(n))})),a(n,(e=>{const t=h(e),n=(e=>c[e])(t);(e=>null!=c[e])(t)?l.push({ele1:n,ele2:e}):s.push(r(e))})),u.length>0&&e.remove(u),s.length>0&&e.add(s),l.forEach((({ele1:t,ele2:n})=>z(e,t,n,r,i,o)))})(e,I(t,"elements"),I(n,"elements"),i,a,o,r),A(t,n,r,"stylesheet")&&((e,t,n,r)=>{const i=e.style();null!=i&&i.fromJson(r(n)).update()})(e,I(t,"stylesheet"),I(n,"stylesheet"),i),["zoom","minZoom","maxZoom","zoomingEnabled","userZoomingEnabled","pan","panningEnabled","userPanningEnabled","boxSelectionEnabled","autoungrabify","autolock","autounselectify"].forEach((a=>{A(t,n,r,a)&&((e,t,n,r,i)=>{e[t](i(r))})(e,a,I(t,a),I(n,a),i)}))})),A(t,n,r,"layout")&&((e,t,n,r)=>{const i=r(n);null!=i&&e.layout(i).run()})(e,I(t,"layout"),I(n,"layout"),i)})(n,e,t,r,i,a,o),null!=t.cy&&t.cy(n)}componentDidUpdate(e){this.updateCytoscape(e,this.props)}componentWillUnmount(){this._cy.destroy()}render(){const{id:e,className:t,style:n}=this.props;return y().createElement("div",{ref:this.containerRef,id:e,className:t,style:n})}}var L=n(6486),R=n.n(L);const j={randomUUID:"undefined"!=typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};let V;const F=new Uint8Array(16);function q(){if(!V&&(V="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!V))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return V(F)}const W=[];for(let e=0;e<256;++e)W.push((e+256).toString(16).slice(1));const Y=function(e,t,n){if(j.randomUUID&&!t&&!e)return j.randomUUID();const r=(e=e||{}).random||(e.rng||q)();if(r[6]=15&r[6]|64,r[8]=63&r[8]|128,t){n=n||0;for(let e=0;e<16;++e)t[n+e]=r[e];return t}return function(e,t=0){return W[e[t+0]]+W[e[t+1]]+W[e[t+2]]+W[e[t+3]]+"-"+W[e[t+4]]+W[e[t+5]]+"-"+W[e[t+6]]+W[e[t+7]]+"-"+W[e[t+8]]+W[e[t+9]]+"-"+W[e[t+10]]+W[e[t+11]]+W[e[t+12]]+W[e[t+13]]+W[e[t+14]]+W[e[t+15]]}(r)};function X(e){return X="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},X(e)}function H(e,t){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:!this.shouldResize,t=this.cy;e!==this.shouldResize&&(e?(t.on("render",this.updateViewport),t.on("resize",this.resize),this.updateViewport(t)):(t.removeListener("render",this.updateViewport),t.removeListener("resize",this.resize)),this.shouldResize=e)}},{key:"getViewport",value:function(){var e=this.cy;return{position:e.pan(),zoom:e.zoom(),renderedBB:Object.assign({},e.elements().renderedBoundingBox()),height:e.height(),width:e.width()}}},{key:"updateViewport",value:function(){var e=this.cy;this.prev=this.getViewport(e)}},{key:"_xConstrainedZoom",value:function(e){var t=this.curr,n=this.prev,r=this.marginPercentage.left*t.width;t.position.x=r+(n.position.x-n.renderedBB.x1);var i=t.renderedBB.y1+t.renderedBB.h/2-t.renderedBB.h/n.zoom*e/2;i+=(t.height-n.height)/2,t.position.y=i+(n.position.y-n.renderedBB.y1)}},{key:"_xChangeMargin",value:function(e){var t=this.curr,n=this.prev,r=n.renderedBB.x1+n.renderedBB.w/2,i=r/n.width*e;t.position.x=t.position.x+(i-r)}},{key:"_yConstrainedZoom",value:function(e){var t=this.curr,n=this.prev,r=this.marginPercentage.top*t.height;t.position.y=r+(n.position.y-n.renderedBB.y1);var i=t.renderedBB.x1+t.renderedBB.w/2-t.renderedBB.w/n.zoom*e/2;i+=(t.width-n.width)/2,t.position.x=i+(n.position.x-n.renderedBB.x1)}},{key:"_yChangeMargin",value:function(){var e=this.curr,t=this.prev,n=t.renderedBB.y1+t.renderedBB.h/2,r=n/t.height*e.height;e.position.y=e.position.y+(r-n)}},{key:"resize",value:function(){var e=this.cy;this.curr=this.getViewport(e);var t=this.curr,n=this.prev,r=n.renderedBB.x1>=0&&n.renderedBB.y1>=0&&n.renderedBB.x2<=n.width&&n.renderedBB.y2<=n.height;if(this.marginPercentage={left:n.renderedBB.x1/n.width,top:n.renderedBB.y1/n.height},Math.abs(1-t.width/n.width)>Math.abs(1-t.height/n.height)){var i=n.zoom/n.width*t.width;if(r)for(var a=Math.min((t.renderedBB.y1+t.renderedBB.h/2)*n.zoom*2/t.renderedBB.h,-(t.renderedBB.y1+t.renderedBB.h/2-n.height)*n.zoom*2/t.renderedBB.h)-this.containedZoomMargin,o=n.width/n.zoom*a,s=t.zoom=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return o=e.done,e},e:function(e){s=!0,a=e},f:function(){try{o||null==n.return||n.return()}finally{if(s)throw a}}}}function $(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);ne.maxZoom()||t0&&(r.selector=r.selector+", "),r.selector=r.selector+"edge"):"node"===l?(r.selector.length>0&&(r.selector=r.selector+", "),r.selector=r.selector+"node"):"canvas"===l?r.coreAsWell=!0:console.error("Error: selector ".concat(l," is not available. Choose one of 'node', 'edge' or 'canvas'."))}}catch(e){u.e(e)}finally{u.f()}}o.push(r)};for(s.s();!(i=s.n()).done;)u()}catch(e){s.e(e)}finally{s.f()}return o},this.cyResponsiveClass=new Z(e),this.cyResponsiveClass.toggle(this.props.responsive),s(e.extent())}}},{key:"handleImageGeneration",value:function(e,t,n,r){var i=this,a={};t&&(a=t);var o,s,u,l=a.output;switch(a.output="blob",n){case"store":default:o=!1,s=!0;break;case"download":o=!0,s=!1;break;case"both":o=!0,s=!0}if("png"===e&&(u=this._cy.png(a)),"jpg"!==e&&"jpeg"!==e||(u=this._cy.jpg(a)),"svg"===e&&(u=this._cy.svg(a)),u&&o){var c=r;if(r||(c="cyto"),"svg"!==e)this.downloadBlob(u,c+"."+e);else{var d=new Blob([u],{type:"image/svg+xml;charset=utf-8"});this.downloadBlob(d,c+"."+e)}}if(u&&s){if(l||(l="base64uri"),"base64uri"!==l&&"base64"!==l)return;var h=new FileReader;h.onload=function(){var e=h.result;"base64"===l&&(e=e.replace(/^data:.+;base64,/,"")),i.props.setProps({imageData:e})},h.readAsDataURL(u)}}},{key:"downloadBlob",value:function(e,t){var n=document.createElement("a");n.style="display: none",document.body.appendChild(n);var r=window.URL.createObjectURL(e);n.href=r,n.download=t,n.click(),window.URL.revokeObjectURL(r),document.body.removeChild(n)}},{key:"updateContextMenu",value:function(e){this._cy.contextMenus({menuItems:this.createMenuItems(e),menuItemClasses:["custom-menu-item"]})}},{key:"graphOutOfView",value:function(){var e=this._cy.width(),t=this._cy.height(),n=this._cy.elements().renderedBoundingbox();return n.x1>e||n.y1>t||n.x2<0||n.y2<0}},{key:"componentDidUpdate",value:function(e){var t=this.props,n=t.contextMenu,r=t.elements;!R().isEqual(e.contextMenu,n)&&this._cy&&this.updateContextMenu(n),!R().isEqual(e.elements,r)&&this._cy&&this.graphOutOfView()&&this._cy.fit()}},{key:"componentDidMount",value:function(){var e=this.props.contextMenu;this._cy&&e.length>0&&this.updateContextMenu(e)}},{key:"render",value:function(){var e=this.props,t=e.id,n=e.style,r=e.className,i=e.elements,a=e.stylesheet,o=e.layout,s=e.contextMenu,u=e.contextMenuData,l=e.pan,c=e.zoom,d=e.panningEnabled,h=e.userPanningEnabled,f=e.minZoom,p=e.maxZoom,v=e.zoomingEnabled,g=e.userZoomingEnabled,m=e.wheelSensitivity,b=e.boxSelectionEnabled,x=e.autoungrabify,w=e.autolock,_=e.autounselectify,E=e.generateImage,k=e.responsive;return Object.keys(E).length>0&&(this.props.setProps({generateImage:{}}),this._cy&&this.handleImageGeneration(E.type,E.options,E.action,E.filename)),this.cyResponsiveClass&&this.cyResponsiveClass.toggle(k),y().createElement(N,{id:t,cy:this.handleCy,className:r,style:n,elements:N.normalizeElements(i),stylesheet:a,layout:o,contextMenu:s,contextMenuData:u,pan:l,zoom:c,panningEnabled:d,userPanningEnabled:h,minZoom:f,maxZoom:p,zoomingEnabled:v,userZoomingEnabled:g,wheelSensitivity:m,boxSelectionEnabled:b,autoungrabify:x,autolock:w,autounselectify:_})}}],r&&Q(n.prototype,r),Object.defineProperty(n,"prototype",{writable:!1}),t}(g.Component);oe.propTypes={id:b().string,className:b().string,style:b().object,setProps:b().func,elements:b().oneOfType([b().arrayOf(b().shape({group:b().string,data:b().shape({id:b().string,label:b().string,parent:b().string,source:b().string,target:b().string}),position:b().shape({x:b().number,y:b().number}),selected:b().bool,selectable:b().bool,locked:b().bool,grabbable:b().bool,classes:b().string})),b().exact({nodes:b().array,edges:b().array})]),stylesheet:b().arrayOf(b().exact({selector:b().string.isRequired,style:b().object.isRequired})),layout:b().shape({name:b().oneOf(["random","preset","circle","concentric","grid","breadthfirst","cose","cose-bilkent","fcose","cola","euler","spread","dagre","klay"]).isRequired,fit:b().bool,padding:b().number,animate:b().bool,animationDuration:b().number,boundingBox:b().object}),contextMenu:b().arrayOf(b().exact({id:b().string.isRequired,label:b().string.isRequired,tooltipText:b().string,availableOn:b().array,onClick:b().string,onClickCustom:b().string})),contextMenuData:b().exact({menuItemId:b().string,x:b().number,y:b().number,timeStamp:b().number,elementId:b().string,edgeSource:b().string,edgeTarget:b().string}),pan:b().exact({x:b().number,y:b().number}),zoom:b().number,panningEnabled:b().bool,userPanningEnabled:b().bool,minZoom:b().number,maxZoom:b().number,zoomingEnabled:b().bool,userZoomingEnabled:b().bool,wheelSensitivity:b().number,boxSelectionEnabled:b().bool,autoungrabify:b().bool,autolock:b().bool,autounselectify:b().bool,autoRefreshLayout:b().bool,tapNode:b().exact({edgesData:b().array,renderedPosition:b().object,timeStamp:b().number,classes:b().string,data:b().object,grabbable:b().bool,group:b().string,locked:b().bool,position:b().object,selectable:b().bool,selected:b().bool,style:b().object,ancestorsData:b().oneOfType([b().object,b().array]),childrenData:b().oneOfType([b().object,b().array]),descendantsData:b().oneOfType([b().object,b().array]),parentData:b().oneOfType([b().object,b().array]),siblingsData:b().oneOfType([b().object,b().array]),isParent:b().bool,isChildless:b().bool,isChild:b().bool,isOrphan:b().bool,relativePosition:b().object}),tapNodeData:b().object,tapEdge:b().exact({isLoop:b().bool,isSimple:b().bool,midpoint:b().object,sourceData:b().object,sourceEndpoint:b().object,targetData:b().object,targetEndpoint:b().object,timeStamp:b().number,classes:b().string,data:b().object,grabbable:b().bool,group:b().string,locked:b().bool,selectable:b().bool,selected:b().bool,style:b().object}),tapEdgeData:b().object,mouseoverNodeData:b().object,mouseoverEdgeData:b().object,selectedNodeData:b().array,selectedEdgeData:b().array,generateImage:b().shape({type:b().oneOf(["svg","png","jpg","jpeg"]),options:b().object,action:b().oneOf(["store","download","both"]),filename:b().string}),imageData:b().string,responsive:b().bool,extent:b().object,clearOnUnhover:b().bool},oe.defaultProps={style:{width:"600px",height:"600px"},layout:{name:"grid"},pan:{x:0,y:0},zoom:1,minZoom:1e-50,maxZoom:1e50,zoomingEnabled:!0,userZoomingEnabled:!0,panningEnabled:!0,userPanningEnabled:!0,wheelSensitivity:1,boxSelectionEnabled:!1,autolock:!1,autoungrabify:!1,autounselectify:!1,autoRefreshLayout:!0,generateImage:{},imageData:null,responsive:!1,clearOnUnhover:!1,elements:[],contextMenu:[]};const se=oe})(),window.dash_cytoscape=r})(); \ No newline at end of file +(()=>{var e={1686:()=>{!function(){"use strict";var e=function(e,t){var n=function(e){for(var t=0,n=e.length;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(e){throw e},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,s=!0,u=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return s=e.done,e},e:function(e){u=!0,o=e},f:function(){try{s||null==r.return||r.return()}finally{if(u)throw o}}}}var r=!0,i=!1,a="querySelectorAll",o="querySelectorAll",s=self,u=s.document,l=s.Element,c=s.MutationObserver,d=s.Set,h=s.WeakMap,f=function(e){return o in e},p=[].filter,v=function(e){var t=new h,s=function(n,r){var i;if(r)for(var a,o=function(e){return e.matches||e.webkitMatchesSelector||e.msMatchesSelector}(n),s=0,u=g.length;s1&&void 0!==arguments[1])||arguments[1],n=0,r=e.length;n1&&void 0!==arguments[1]?arguments[1]:document,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:MutationObserver,s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:["*"],u=function t(i,o,s,u,l,c){var d,h=n(i);try{for(h.s();!(d=h.n()).done;){var f=d.value;(c||a in f)&&(l?s.has(f)||(s.add(f),u.delete(f),e(f,l)):u.has(f)||(u.add(f),s.delete(f),e(f,l)),c||t(f[a](o),o,s,u,l,r))}}catch(e){h.e(e)}finally{h.f()}},l=new o((function(e){if(s.length){var t,a=s.join(","),o=new Set,l=new Set,c=n(e);try{for(c.s();!(t=c.n()).done;){var d=t.value,h=d.addedNodes,f=d.removedNodes;u(f,a,o,l,i,i),u(h,a,o,l,r,i)}}catch(e){c.e(e)}finally{c.f()}}})),c=l.observe;return(l.observe=function(e){return c.call(l,e,{subtree:r,childList:r})})(t),l}(s,y,c,g),b=l.prototype.attachShadow;return b&&(l.prototype.attachShadow=function(e){var t=b.call(this,e);return m.observe(t),t}),g.length&&v(y[o](g)),{drop:function(e){for(var n=0,r=e.length;n{window.dash_clientside||(window.dash_clientside={});var e=20037508.34;function t(t,n){return[180*t/e,360*Math.atan(Math.exp(-n*Math.PI/e))/Math.PI-90]}window.dash_clientside.cyleaflet={updateLeafBounds:function(e,n,r){var i=e;if(!i){if(!r)return window.dash_clientside.no_update;i=r}var a=t(i.x1,i.y1),o=a[0],s=a[1],u=t(i.x2,i.y2),l=u[0],c=u[1],d=(new Date).getTime(),h=[[c,o],[s,l]];return s===c||o===l?window.dash_clientside.no_update:[d,{bounds:h,options:{animate:!0}},i]},transformElements:function(t){return t.map((function(t){if(Object.prototype.hasOwnProperty.call(t.data,"lat")){var n=(r=t.data.lon,i=t.data.lat,[r*e/180,-Math.log(Math.tan((90+i)*Math.PI/360))*e/Math.PI]);return{data:t.data,position:{y:n[1],x:n[0]}}}var r,i;return t}))},updateLonLat:function(e){return e.length>0?e.map((function(e){if(void 0!==e.position&&Object.prototype.hasOwnProperty.call(e.position,"x")&&0!==e.position.x&&0!==e.position.y){var n=t(e.position.x,e.position.y);return{position:e.position,data:Object.assign({},e.data,{lon:n[0],lat:n[1]})}}return e})):window.dash_clientside.no_update},updateCytoMaxZoom:function(e){var t=e;e.length>=1&&1===(t=e.filter((function(e){return"TileLayer"===e.type}))).length&&(t=t[0]);var n=18;return void 0!==t.props&&Object.prototype.hasOwnProperty.call(t.props,"maxZoom")&&(n=t.props.maxZoom),function(e){return.418*Math.pow(2,e-16)}(n)}}},372:(e,t,n)=>{"use strict";n.d(t,{Z:()=>s});var r=n(8081),i=n.n(r),a=n(3645),o=n.n(a)()(i());o.push([e.id,".cytoscape-reference p {\n display: inline;\n}\n\n.custom-menu-item {\n background-color: rgb(241, 241, 241);\n font-weight: bold !important;\n width: 170px;\n display: inline-block;\n height: 38px;\n padding: 0 30px;\n color: #555;\n text-align: center;\n font-size: 11px;\n font-weight: 600;\n line-height: 38px;\n letter-spacing: 0.1rem;\n text-decoration: none;\n white-space: nowrap;\n border-radius: 4px;\n border: 1px solid #bbb;\n cursor: pointer;\n box-sizing: border-box;\n}\n.custom-menu-item:hover {\n color: rgb(104, 104, 104);\n border-color: rgb(97, 97, 97);\n outline: 0;\n}\n\n.cy-context-menus-cxt-menu {\n display: none;\n}\n",""]);const s=o},3645:e=>{"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var n="",r=void 0!==t[5];return t[4]&&(n+="@supports (".concat(t[4],") {")),t[2]&&(n+="@media ".concat(t[2]," {")),r&&(n+="@layer".concat(t[5].length>0?" ".concat(t[5]):""," {")),n+=e(t),r&&(n+="}"),t[2]&&(n+="}"),t[4]&&(n+="}"),n})).join("")},t.i=function(e,n,r,i,a){"string"==typeof e&&(e=[[null,e,void 0]]);var o={};if(r)for(var s=0;s0?" ".concat(c[5]):""," {").concat(c[1],"}")),c[5]=a),n&&(c[2]?(c[1]="@media ".concat(c[2]," {").concat(c[1],"}"),c[2]=n):c[2]=n),i&&(c[4]?(c[1]="@supports (".concat(c[4],") {").concat(c[1],"}"),c[4]=i):c[4]="".concat(i)),t.push(c))}},t}},8081:e=>{"use strict";e.exports=function(e){return e[1]}},474:e=>{self,e.exports=(()=>{var e={621:(e,t,n)=>{"use strict";function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);nD});var s="cy-context-menus-divider",u={evtType:"cxttap",menuItems:[],menuItemClasses:["cy-context-menus-cxt-menuitem"],contextMenuClasses:["cy-context-menus-cxt-menu"],submenuIndicator:{src:"assets/submenu-indicator-default.svg",width:12,height:12}};function l(e){return(l="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function c(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return d(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?d(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,s=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return o=e.done,e},e:function(e){s=!0,a=e},f:function(){try{o||null==n.return||n.return()}finally{if(s)throw a}}}}function d(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n1&&void 0!==arguments[1]?arguments[1]:void 0;this.hasSubmenu()||this._createSubmenu(),this.submenu.appendMenuItem(e,t)}},{key:"isClickable",value:function(){return void 0!==this.onClickFunction}},{key:"display",value:function(){this.show=!0,this.style.display="block"}},{key:"isVisible",value:function(){return!0===this.show&&"none"!==this.style.display}},{key:"removeSubmenu",value:function(){this.hasSubmenu()&&(this.submenu.removeAllMenuItems(),this.detachSubmenu())}},{key:"detachSubmenu",value:function(){this.hasSubmenu()&&(this.removeChild(this.submenu),this.removeChild(this.indicator),this.removeEventListener("mouseenter",this.mouseEnterHandler),this.removeEventListener("mouseleave",this.mouseLeaveHandler),this.submenu=void 0,this.indicator=void 0)}},{key:"_onMouseEnter",value:function(e){var t=this.getBoundingClientRect(),r=function(e){e.style.opacity="0",e.style.display="block";var t=e.getBoundingClientRect();return e.style.opacity="1",e.style.display="none",t}(this.submenu),i=t.right+r.width>window.innerWidth,a=t.top+r.height>window.innerHeight;i||a?i&&!a?(this.submenu.style.right=this.clientWidth+"px",this.submenu.style.top="0px",this.submenu.style.left="auto",this.submenu.style.bottom="auto"):i&&a?(this.submenu.style.right=this.clientWidth+"px",this.submenu.style.bottom="0px",this.submenu.style.top="auto",this.submenu.style.left="auto"):(this.submenu.style.left=this.clientWidth+"px",this.submenu.style.bottom="0px",this.submenu.style.right="auto",this.submenu.style.top="auto"):(this.submenu.style.left=this.clientWidth+"px",this.submenu.style.top="0px",this.submenu.style.right="auto",this.submenu.style.bottom="auto"),this.submenu.display();var o=Array.from(this.submenu.children).filter((function(e){if(e instanceof n)return e.isVisible()})),u=o.length;o.forEach((function(e,t){e instanceof n&&(t=(a=n.getBoundingClientRect()).left&&r<=a.right&&i>=a.top&&i<=a.bottom||this.submenu.hide()}},{key:"_createSubmenu",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];this.indicator=this.scratchpad.submenuIndicatorGen(),this.submenu=new S(this.onMenuItemClick,this.scratchpad),this.appendChild(this.indicator),this.appendChild(this.submenu);var t,r=c(e);try{for(r.s();!(t=r.n()).done;){var i=new n(t.value,this.onMenuItemClick,this.scratchpad);this.submenu.appendMenuItem(i)}}catch(e){r.e(e)}finally{r.f()}this.mouseEnterHandler=this._onMouseEnter.bind(this),this.mouseLeaveHandler=this._onMouseLeave.bind(this),this.addEventListener("mouseenter",this.mouseEnterHandler),this.addEventListener("mouseleave",this.mouseLeaveHandler)}},{key:"_getMenuItemClassStr",value:function(e,t){return t?e+" "+s:e}}],[{key:"define",value:function(){o("ctx-menu-item",n,"button")}}]),n}(b(HTMLButtonElement)),S=function(e){v(n,e);var t=g(n);function n(e,r){var i,a;return h(this,n),m((i=y(a=t.call(this)),E(n.prototype)),"setAttribute",i).call(i,"class",r.cxtMenuClasses),a.style.position="absolute",a.onMenuItemClick=e,a.scratchpad=r,a}return p(n,[{key:"hide",value:function(){this.isVisible()&&(this.hideSubmenus(),this.style.display="none")}},{key:"display",value:function(){this.style.display="block"}},{key:"isVisible",value:function(){return"none"!==this.style.display}},{key:"hideMenuItems",value:function(){var e,t=c(this.children);try{for(t.s();!(e=t.n()).done;){var n=e.value;n instanceof HTMLElement?n.style.display="none":console.warn("".concat(n," is not a HTMLElement"))}}catch(e){t.e(e)}finally{t.f()}}},{key:"hideSubmenus",value:function(){var e,t=c(this.children);try{for(t.s();!(e=t.n()).done;){var n=e.value;n instanceof C&&n.submenu&&n.submenu.hide()}}catch(e){t.e(e)}finally{t.f()}}},{key:"appendMenuItem",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0;if(void 0!==t){if(t.parentNode!==this)throw new Error("The item with id='".concat(t.id,"' is not a child of the context menu"));this.insertBefore(e,t)}else this.appendChild(e);e.isClickable()&&this._performBindings(e)}},{key:"moveBefore",value:function(e,t){if(e.parentNode!==this)throw new Error("The item with id='".concat(e.id,"' is not a child of context menu"));if(t.parentNode!==this)throw new Error("The item with id='".concat(t.id,"' is not a child of context menu"));this.removeChild(e),this.insertBefore(e,t)}},{key:"removeAllMenuItems",value:function(){for(;this.firstChild;){var e=this.lastChild;e instanceof C?this._removeImmediateMenuItem(e):(console.warn("Found non menu item in the context menu: ",e),this.removeChild(e))}}},{key:"_removeImmediateMenuItem",value:function(e){if(!this._detachImmediateMenuItem(e))throw new Error("menu item(id=".concat(e.id,") is not in the context menu"));e.detachSubmenu(),e.unbindOnClickFunctions()}},{key:"_detachImmediateMenuItem",value:function(e){if(e.parentNode===this){if(this.removeChild(e),this.children.length<=0){var t=this.parentNode;t instanceof C&&t.detachSubmenu()}return!0}return!1}},{key:"_performBindings",value:function(e){var t=this._bindOnClick(e.onClickFunction);e.bindOnClickFunction(t),e.bindOnClickFunction(this.onMenuItemClick)}},{key:"_bindOnClick",value:function(e){var t=this;return function(){var n=t.scratchpad.currentCyEvent;e(n)}}}],[{key:"define",value:function(){o("menu-item-list",n,"div")}}]),n}(b(HTMLDivElement)),P=function(e){v(n,e);var t=g(n);function n(e,r){var i;return h(this,n),(i=t.call(this,e,r)).onMenuItemClick=function(t){k(t),i.hide(),e()},i}return p(n,[{key:"removeMenuItem",value:function(e){var t=e.parentElement;t instanceof S&&this.contains(t)&&t._removeImmediateMenuItem(e)}},{key:"appendMenuItem",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0;this.ensureDoesntContain(e.id),m(E(n.prototype),"appendMenuItem",this).call(this,e,t)}},{key:"insertMenuItem",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.before,r=t.parent;if(this.ensureDoesntContain(e.id),void 0!==n){if(!this.contains(n))throw new Error("before(id=".concat(n.id,") is not in the context menu"));var i=n.parentNode;if(!(i instanceof S))throw new Error("Parent of before(id=".concat(n.id,") is not a submenu"));i.appendMenuItem(e,n)}else if(void 0!==r){if(!this.contains(r))throw new Error("parent(id=".concat(r.id,") is not a descendant of the context menu"));r.appendSubmenuItem(e)}else this.appendMenuItem(e)}},{key:"moveBefore",value:function(e,t){var n=e.parentElement;if(!this.contains(n))throw new Error("parent(id=".concat(n.id,") is not in the contex menu"));if(!this.contains(t))throw new Error("before(id=".concat(t.id,") is not in the context menu"));n.removeChild(e),this.insertMenuItem(e,{before:t})}},{key:"moveToSubmenu",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,r=e.parentElement;if(!(r instanceof S))throw new Error("current parent(id=".concat(r.id,") is not a submenu"));if(!this.contains(r))throw new Error("parent of the menu item(id=".concat(r.id,") is not in the context menu"));if(null!==t){if(!this.contains(t))throw new Error("parent(id=".concat(t.id,") is not in the context menu"));r._detachImmediateMenuItem(e),t.appendSubmenuItem(e)}else null!==n&&(e.selector=n.selector,e.coreAsWell=n.coreAsWell),r._detachImmediateMenuItem(e),this.appendMenuItem(e)}},{key:"ensureDoesntContain",value:function(e){var t=document.getElementById(e);if(void 0!==t&&this.contains(t))throw new Error("There is already an element with id=".concat(e," in the context menu"))}}],[{key:"define",value:function(){o("ctx-menu",n,"div")}}]),n}(S);function T(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n1&&void 0!==arguments[1]?arguments[1]:void 0,n=p(e);if(void 0!==t){var r=g(t);d.insertMenuItem(n,{parent:r})}else d.insertMenuItem(n)},f=function(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,n=0;n0&&(s.top+=h,s.left+=h);var f=r.clientHeight,p=r.clientWidth,v=f/2,g=p/2;u.y>v&&u.x<=g?(d.style.left=u.x+"px",d.style.bottom=f-u.y+"px",d.style.right="auto",d.style.top="auto"):u.y>v&&u.x>g?(d.style.right=p-u.x+"px",d.style.bottom=f-u.y+"px",d.style.left="auto",d.style.top="auto"):u.y<=v&&u.x<=g?(d.style.left=u.x+"px",d.style.top=u.y+"px",d.style.right="auto",d.style.bottom="auto"):(d.style.right=p-u.x+"px",d.style.top=u.y+"px",d.style.left="auto",d.style.bottom="auto")}}(e);var n,r=e.target||e.cyTarget,i=function(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return T(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?T(e,t):void 0}}(e))){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,s=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return o=e.done,e},e:function(e){s=!0,a=e},f:function(){try{o||null==n.return||n.return()}finally{if(s)throw a}}}}(d.children);try{for(i.s();!(n=i.n()).done;){var a=n.value;a instanceof C&&(r===t?a.coreAsWell:r.is(a.selector))&&a.show&&(d.display(),l("anyVisibleChild",!0),a.display())}}catch(e){i.e(e)}finally{i.f()}var u=Array.from(d.children).filter((function(e){if(e instanceof C)return e.isVisible()})),c=u.length;u.forEach((function(e,t){e instanceof C&&(t=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(e){throw e},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,s=!0,u=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return s=e.done,e},e:function(e){u=!0,o=e},f:function(){try{s||null==n.return||n.return()}finally{if(u)throw o}}}}(document.getElementsByClassName("cy-context-menus-cxt-menu"));try{for(t.s();!(e=t.n()).done;)e.value.addEventListener("contextmenu",(function(e){return e.preventDefault()}))}catch(e){t.e(e)}finally{t.f()}}()}return function(e){return{isActive:function(){return o("active")},appendMenuItem:function(t){return h(t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0),e},appendMenuItems:function(t){return f(t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0),e},removeMenuItem:function(t){var n=g(t);return d.removeMenuItem(n),e},setTrailingDivider:function(t,n){var r=g(t);return r.setHasTrailingDivider(n),n?r.classList.add(s):r.classList.remove(s),e},insertBeforeMenuItem:function(t,n){var r=p(t),i=g(n);return d.insertMenuItem(r,{before:i}),e},moveToSubmenu:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=g(t);if(null===n)d.moveToSubmenu(r);else if("string"==typeof n){var i=g(n.toString());d.moveToSubmenu(r,i)}else void 0!==n.coreAsWell||void 0!==n.selector?d.moveToSubmenu(r,null,n):console.warn("options neither has coreAsWell nor selector property but it is an object. Are you sure that this is what you want to do?");return e},moveBeforeOtherMenuItem:function(t,n){var r=g(t),i=g(n);return d.moveBefore(r,i),e},disableMenuItem:function(t){return g(t).disable(),e},enableMenuItem:function(t){return g(t).enable(),e},hideMenuItem:function(t){return g(t).hide(),e},showMenuItem:function(t){return g(t).display(),e},destroy:function(){return v(),e}}}(this)}},579:(e,t,n)=>{var r=n(621).contextMenus,i=function(e){e&&e("core","contextMenus",r)};"undefined"!=typeof cytoscape&&i(cytoscape),e.exports=i}},t={};function n(r){var i=t[r];if(void 0!==i)return i.exports;var a=t[r]={exports:{}};return e[r](a,a.exports,n),a.exports}return n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n(579)})()},9058:(e,t,n)=>{"use strict";var r=n(3279),i=n(4485),a=n(7361),o=n(6968),s=n(84);function u(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var l=u(r),c=u(i),d=u(a),h=u(o),f=u(s);function p(e){return p="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},p(e)}function v(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function g(e,t){for(var n=0;ne.length)&&(t=e.length);for(var n=0,r=new Array(t);nt?1:0},Q=null!=Object.assign?Object.assign.bind(Object):function(e){for(var t=arguments,n=1;n1&&void 0!==arguments[1]?arguments[1]:se;!(t=e.next()).done;)n=65599*n+t.value|0;return n},ce=function(e){return 65599*(arguments.length>1&&void 0!==arguments[1]?arguments[1]:se)+e|0},de=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:ue;return(t<<5)+t+e|0},he=function(e){return 2097152*e[0]+e[1]},fe=function(e,t){return[ce(e[0],t[0]),de(e[1],t[1])]},pe=function(e,t){var n={value:0,done:!1},r=0,i=e.length;return le({next:function(){return r=0&&(e[r]!==t||(e.splice(r,1),!n));r--);},Ae=function(e){e.splice(0,e.length)},ze=function(e,t,n){return n&&(t=Y(n,t)),e[t]},Ne=function(e,t,n,r){n&&(t=Y(n,t)),e[t]=r},Le="undefined"!=typeof Map?Map:function(){function e(){v(this,e),this._obj={}}return y(e,[{key:"set",value:function(e,t){return this._obj[e]=t,this}},{key:"delete",value:function(e){return this._obj[e]=void 0,this}},{key:"clear",value:function(){this._obj={}}},{key:"has",value:function(e){return void 0!==this._obj[e]}},{key:"get",value:function(e){return this._obj[e]}}]),e}(),Re=function(){function e(t){if(v(this,e),this._obj=Object.create(null),this.size=0,null!=t){var n;n=null!=t.instanceString&&t.instanceString()===this.instanceString()?t.toArray():t;for(var r=0;r2&&void 0!==arguments[2])||arguments[2];if(void 0!==e&&void 0!==t&&L(e)){var r=t.group;if(null==r&&(r=t.data&&null!=t.data.source&&null!=t.data.target?"edges":"nodes"),"nodes"===r||"edges"===r){this.length=1,this[0]=this;var i=this._private={cy:e,single:!0,data:t.data||{},position:t.position||{x:0,y:0},autoWidth:void 0,autoHeight:void 0,autoPadding:void 0,compoundBoundsClean:!1,listeners:[],group:r,style:{},rstyle:{},styleCxts:[],styleKeys:{},removed:!0,selected:!!t.selected,selectable:void 0===t.selectable||!!t.selectable,locked:!!t.locked,grabbed:!1,grabbable:void 0===t.grabbable||!!t.grabbable,pannable:void 0===t.pannable?"edges"===r:!!t.pannable,active:!1,classes:new je,animation:{current:[],queue:[]},rscratch:{},scratch:t.scratch||{},edges:[],children:[],parent:t.parent&&t.parent.isNode()?t.parent:null,traversalCache:{},backgrounding:!1,bbCache:null,bbCacheShift:{x:0,y:0},bodyBounds:null,overlayBounds:null,labelBounds:{all:null,source:null,target:null,main:null},arrowBounds:{source:null,target:null,"mid-source":null,"mid-target":null}};if(null==i.position.x&&(i.position.x=0),null==i.position.y&&(i.position.y=0),t.renderedPosition){var a=t.renderedPosition,o=e.pan(),s=e.zoom();i.position={x:(a.x-o.x)/s,y:(a.y-o.y)/s}}var u=[];M(t.classes)?u=t.classes:T(t.classes)&&(u=t.classes.split(/\s+/));for(var l=0,c=u.length;l0;){var _=m.pop(),E=g(_),k=_.id();if(h[k]=E,E!==1/0)for(var C=_.neighborhood().intersect(p),S=0;S0)for(n.unshift(t);d[i];){var a=d[i];n.unshift(a.edge),n.unshift(a.node),i=(r=a.node).id()}return o.spawn(n)}}}},Xe={kruskal:function(e){e=e||function(e){return 1};for(var t=this.byGroup(),n=t.nodes,r=t.edges,i=n.length,a=new Array(i),o=n,s=function(e){for(var t=0;t0;){if(l=(u=g.pop()).id(),y.delete(l),_++,l===h){for(var E=[],k=i,C=h,S=b[C];E.unshift(k),null!=S&&E.unshift(S),null!=(k=m[C]);)S=b[C=k.id()];return{found:!0,distance:f[l],path:this.spawn(E),steps:_}}v[l]=!0;for(var P=u._private.edges,T=0;TS&&(f[C]=S,y[C]=k,m[C]=x),!i){var P=k*l+E;!i&&f[P]>S&&(f[P]=S,y[P]=E,m[P]=x)}}}for(var D=0;D1&&void 0!==arguments[1]?arguments[1]:a,r=[],i=m(e);;){if(null==i)return t.spawn();var o=y(i),u=o.edge,l=o.pred;if(r.unshift(i[0]),i.same(n)&&r.length>0)break;null!=u&&r.unshift(u),i=l}return s.spawn(r)},hasNegativeWeightCycle:p,negativeWeightCycles:v}}},Qe=Math.sqrt(2),Je=function(e,t,n){0===n.length&&Ce("Karger-Stein must be run on a connected (sub)graph");for(var r=n[e],i=r[1],a=r[2],o=t[i],s=t[a],u=n,l=u.length-1;l>=0;l--){var c=u[l],d=c[1],h=c[2];(t[d]===o&&t[h]===s||t[d]===s&&t[h]===o)&&u.splice(l,1)}for(var f=0;fr;){var i=Math.floor(Math.random()*t.length);t=Je(i,e,t),n--}return t},tt={kargerStein:function(){var e=this,t=this.byGroup(),n=t.nodes,r=t.edges;r.unmergeBy((function(e){return e.isLoop()}));var i=n.length,a=r.length,o=Math.ceil(Math.pow(Math.log(i)/Math.LN2,2)),s=Math.floor(i/Qe);if(!(i<2)){for(var u=[],l=0;l0?1:e<0?-1:0},ut=function(e,t){return Math.sqrt(lt(e,t))},lt=function(e,t){var n=t.x-e.x,r=t.y-e.y;return n*n+r*r},ct=function(e){for(var t=e.length,n=0,r=0;r=e.x1&&e.y2>=e.y1)return{x1:e.x1,y1:e.y1,x2:e.x2,y2:e.y2,w:e.x2-e.x1,h:e.y2-e.y1};if(null!=e.w&&null!=e.h&&e.w>=0&&e.h>=0)return{x1:e.x1,y1:e.y1,x2:e.x1+e.w,y2:e.y1+e.h,w:e.w,h:e.h}}},vt=function(e,t){e.x1=Math.min(e.x1,t.x1),e.x2=Math.max(e.x2,t.x2),e.w=e.x2-e.x1,e.y1=Math.min(e.y1,t.y1),e.y2=Math.max(e.y2,t.y2),e.h=e.y2-e.y1},gt=function(e,t,n){e.x1=Math.min(e.x1,t),e.x2=Math.max(e.x2,t),e.w=e.x2-e.x1,e.y1=Math.min(e.y1,n),e.y2=Math.max(e.y2,n),e.h=e.y2-e.y1},yt=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return e.x1-=t,e.x2+=t,e.y1-=t,e.y2+=t,e.w=e.x2-e.x1,e.h=e.y2-e.y1,e},mt=function(e){var t,n,r,i,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[0];if(1===a.length)t=n=r=i=a[0];else if(2===a.length)t=r=a[0],i=n=a[1];else if(4===a.length){var o=b(a,4);t=o[0],n=o[1],r=o[2],i=o[3]}return e.x1-=i,e.x2+=n,e.y1-=t,e.y2+=r,e.w=e.x2-e.x1,e.h=e.y2-e.y1,e},bt=function(e,t){e.x1=t.x1,e.y1=t.y1,e.x2=t.x2,e.y2=t.y2,e.w=e.x2-e.x1,e.h=e.y2-e.y1},xt=function(e,t){return!(e.x1>t.x2||t.x1>e.x2||e.x2t.y2||t.y1>e.y2)},wt=function(e,t,n){return e.x1<=t&&t<=e.x2&&e.y1<=n&&n<=e.y2},_t=function(e,t){return wt(e,t.x1,t.y1)&&wt(e,t.x2,t.y2)},Et=function(e,t,n,r,i,a,o){var s,u=Ft(i,a),l=i/2,c=a/2,d=r-c-o;if((s=zt(e,t,n,r,n-l+u-o,d,n+l-u+o,d,!1)).length>0)return s;var h=n+l+o;if((s=zt(e,t,n,r,h,r-c+u-o,h,r+c-u+o,!1)).length>0)return s;var f=r+c+o;if((s=zt(e,t,n,r,n-l+u-o,f,n+l-u+o,f,!1)).length>0)return s;var p,v=n-l-o;if((s=zt(e,t,n,r,v,r-c+u-o,v,r+c-u+o,!1)).length>0)return s;var g=n-l+u,y=r-c+u;if((p=Ot(e,t,n,r,g,y,u+o)).length>0&&p[0]<=g&&p[1]<=y)return[p[0],p[1]];var m=n+l-u,b=r-c+u;if((p=Ot(e,t,n,r,m,b,u+o)).length>0&&p[0]>=m&&p[1]<=b)return[p[0],p[1]];var x=n+l-u,w=r+c-u;if((p=Ot(e,t,n,r,x,w,u+o)).length>0&&p[0]>=x&&p[1]>=w)return[p[0],p[1]];var _=n-l+u,E=r+c-u;return(p=Ot(e,t,n,r,_,E,u+o)).length>0&&p[0]<=_&&p[1]>=E?[p[0],p[1]]:[]},kt=function(e,t,n,r,i,a,o){var s=o,u=Math.min(n,i),l=Math.max(n,i),c=Math.min(r,a),d=Math.max(r,a);return u-s<=e&&e<=l+s&&c-s<=t&&t<=d+s},Ct=function(e,t,n,r,i,a,o,s,u){var l=Math.min(n,o,i)-u,c=Math.max(n,o,i)+u,d=Math.min(r,s,a)-u,h=Math.max(r,s,a)+u;return!(ec||th)},St=function(e,t,n,r,i,a,o,s){var u,l,c,d,h,f,p,v,g,y,m,b,x,w=[];l=9*n*i-3*n*n-3*n*o-6*i*i+3*i*o+9*r*a-3*r*r-3*r*s-6*a*a+3*a*s,c=3*n*n-6*n*i+n*o-n*e+2*i*i+2*i*e-o*e+3*r*r-6*r*a+r*s-r*t+2*a*a+2*a*t-s*t,d=1*n*i-n*n+n*e-i*e+r*a-r*r+r*t-a*t,0===(u=1*n*n-4*n*i+2*n*o+4*i*i-4*i*o+o*o+r*r-4*r*a+2*r*s+4*a*a-4*a*s+s*s)&&(u=1e-5),v=-27*(d/=u)+(l/=u)*(9*(c/=u)-l*l*2),f=(p=(3*c-l*l)/9)*p*p+(v/=54)*v,(h=w)[1]=0,b=l/3,f>0?(y=(y=v+Math.sqrt(f))<0?-Math.pow(-y,1/3):Math.pow(y,1/3),m=(m=v-Math.sqrt(f))<0?-Math.pow(-m,1/3):Math.pow(m,1/3),h[0]=-b+y+m,b+=(y+m)/2,h[4]=h[2]=-b,b=Math.sqrt(3)*(-m+y)/2,h[3]=b,h[5]=-b):(h[5]=h[3]=0,0===f?(x=v<0?-Math.pow(-v,1/3):Math.pow(v,1/3),h[0]=2*x-b,h[4]=h[2]=-(x+b)):(g=(p=-p)*p*p,g=Math.acos(v/Math.sqrt(g)),x=2*Math.sqrt(p),h[0]=-b+x*Math.cos(g/3),h[2]=-b+x*Math.cos((g+2*Math.PI)/3),h[4]=-b+x*Math.cos((g+4*Math.PI)/3)));for(var _=[],E=0;E<6;E+=2)Math.abs(w[E+1])<1e-7&&w[E]>=0&&w[E]<=1&&_.push(w[E]);_.push(1),_.push(0);for(var k,C,S,P=-1,T=0;T<_.length;T++)k=Math.pow(1-_[T],2)*n+2*(1-_[T])*_[T]*i+_[T]*_[T]*o,C=Math.pow(1-_[T],2)*r+2*(1-_[T])*_[T]*a+_[T]*_[T]*s,S=Math.pow(k-e,2)+Math.pow(C-t,2),P>=0?Su?(e-i)*(e-i)+(t-a)*(t-a):l-d},Tt=function(e,t,n){for(var r,i,a,o,s=0,u=0;u=e&&e>=a||r<=e&&e<=a))continue;(e-r)/(a-r)*(o-i)+i>t&&s++}return s%2!=0},Dt=function(e,t,n,r,i,a,o,s,u){var l,c=new Array(n.length);null!=s[0]?(l=Math.atan(s[1]/s[0]),s[0]<0?l+=Math.PI/2:l=-l-Math.PI/2):l=s;for(var d,h=Math.cos(-l),f=Math.sin(-l),p=0;p0){var v=Bt(c,-u);d=Mt(v)}else d=c;return Tt(e,t,d)},Mt=function(e){for(var t,n,r,i,a,o,s,u,l=new Array(e.length/2),c=0;c=0&&p<=1&&g.push(p),v>=0&&v<=1&&g.push(v),0===g.length)return[];var y=g[0]*s[0]+e,m=g[0]*s[1]+t;return g.length>1?g[0]==g[1]?[y,m]:[y,m,g[1]*s[0]+e,g[1]*s[1]+t]:[y,m]},At=function(e,t,n){return t<=e&&e<=n||n<=e&&e<=t?e:e<=t&&t<=n||n<=t&&t<=e?t:n},zt=function(e,t,n,r,i,a,o,s,u){var l=e-i,c=n-e,d=o-i,h=t-a,f=r-t,p=s-a,v=d*h-p*l,g=c*h-f*l,y=p*c-d*f;if(0!==y){var m=v/y,b=g/y,x=-.001;return x<=m&&m<=1.001&&x<=b&&b<=1.001||u?[e+m*c,t+m*f]:[]}return 0===v||0===g?At(e,n,o)===o?[o,s]:At(e,n,i)===i?[i,a]:At(i,o,n)===n?[n,r]:[]:[]},Nt=function(e,t,n,r,i,a,o,s){var u,l,c,d,h,f,p=[],v=new Array(n.length),g=!0;if(null==a&&(g=!1),g){for(var y=0;y0){var m=Bt(v,-s);l=Mt(m)}else l=v}else l=n;for(var b=0;bl&&(l=t)},h=function(e){return u[e]},f=0;f0?w.edgesTo(x)[0]:x.edgesTo(w)[0];var _=r(b);x=x.id(),f[x]>f[y]+_&&(f[x]=f[y]+_,p.nodes.indexOf(x)<0?p.push(x):p.updateItem(x),l[x]=0,u[x]=[]),f[x]==f[y]+_&&(l[x]=l[x]+l[y],u[x].push(y))}else for(var E=0;E0;){for(var P=n.pop(),T=0;T0&&o.push(n[s]);0!==o.length&&i.push(r.collection(o))}return i}(c,u,t,r);return b=function(e){for(var t=0;t5&&void 0!==arguments[5]?arguments[5]:ln,o=r,s=0;s=2?vn(e,t,n,0,hn,fn):vn(e,t,n,0,dn)},squaredEuclidean:function(e,t,n){return vn(e,t,n,0,hn)},manhattan:function(e,t,n){return vn(e,t,n,0,dn)},max:function(e,t,n){return vn(e,t,n,-1/0,pn)}};function yn(e,t,n,r,i,a){var o;return o=D(e)?e:gn[e]||gn.euclidean,0===t&&D(e)?o(i,a):o(t,n,r,i,a)}gn["squared-euclidean"]=gn.squaredEuclidean,gn.squaredeuclidean=gn.squaredEuclidean;var mn=Ie({k:2,m:2,sensitivityThreshold:1e-4,distance:"euclidean",maxIterations:10,attributes:[],testMode:!1,testCentroids:null}),bn=function(e){return mn(e)},xn=function(e,t,n,r,i){var a="kMedoids"!==i?function(e){return n[e]}:function(e){return r[e](n)},o=n,s=t;return yn(e,r.length,a,(function(e){return r[e](t)}),o,s)},wn=function(e,t,n){for(var r=n.length,i=new Array(r),a=new Array(r),o=new Array(t),s=null,u=0;un)return!1;return!0},Cn=function(e,t,n){for(var r=0;ri&&(i=t[u][l],a=l);o[a].push(e[u])}for(var c=0;c=i.threshold||"dendrogram"===i.mode&&1===e.length)return!1;var f,p=t[o],v=t[r[o]];f="dendrogram"===i.mode?{left:p,right:v,key:p.key}:{value:p.value.concat(v.value),key:p.key},e[p.index]=f,e.splice(v.index,1),t[p.key]=f;for(var g=0;gn[v.key][y.key]&&(a=n[v.key][y.key])):"max"===i.linkage?(a=n[p.key][y.key],n[p.key][y.key]o&&(a=u,o=t[i*e+u])}a>0&&r.push(a)}for(var l=0;l1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.length,r=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],i=!(arguments.length>5&&void 0!==arguments[5])||arguments[5];arguments.length>3&&void 0!==arguments[3]&&!arguments[3]?(n0&&e.splice(0,t)):e=e.slice(t,n);for(var a=0,o=e.length-1;o>=0;o--){var s=e[o];i?isFinite(s)||(e[o]=-1/0,a++):e.splice(o,1)}r&&e.sort((function(e,t){return e-t}));var u=e.length,l=Math.floor(u/2);return u%2!=0?e[l+1+a]:(e[l-1+a]+e[l+a])/2}(e):"mean"===t?function(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.length,r=0,i=0,a=t;a1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.length,r=1/0,i=t;i1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.length,r=-1/0,i=t;i=S?(P=S,S=D,T=M):D>P&&(P=D);for(var B=0;B0?1:0;E[_%l.minIterations*t+R]=j,L+=j}if(L>0&&(_>=l.minIterations-1||_==l.maxIterations-1)){for(var V=0,F=0;F0&&r.push(i);return r}(t,a,o),Y=function(e,t,n){for(var r=qn(e,t,n),i=0;iu&&(s=l,u=c)}n[i]=a[s]}return qn(e,t,n)}(t,r,W),X={},H=0;H1)}}));var u=Object.keys(t).filter((function(e){return t[e].cutVertex})).map((function(t){return e.getElementById(t)}));return{cut:e.spawn(u),components:i}},Un=function(){var e=this,t={},n=0,r=[],i=[],a=e.spawn(e),o=function o(s){if(i.push(s),t[s]={index:n,low:n++,explored:!1},e.getElementById(s).connectedEdges().intersection(e).forEach((function(e){var n=e.target().id();n!==s&&(n in t||o(n),t[n].explored||(t[s].low=Math.min(t[s].low,t[n].low)))})),t[s].index===t[s].low){for(var u=e.spawn();;){var l=i.pop();if(u.merge(e.getElementById(l)),t[l].low=t[s].index,t[l].explored=!0,l===s)break}var c=u.edgesWith(u),d=u.merge(c);r.push(d),a=a.difference(d)}};return e.forEach((function(e){if(e.isNode()){var n=e.id();n in t||o(n)}})),{cut:a,components:r}},Zn={};[qe,Ye,Xe,Ue,Ke,$e,tt,Xt,Ut,Kt,$t,un,Bn,jn,Yn,{hierholzer:function(e){if(!B(e)){var t=arguments;e={root:t[0],directed:t[1]}}var n,r,i,a=Xn(e),o=a.root,s=a.directed,u=this,l=!1;o&&(i=T(o)?this.filter(o)[0].id():o[0].id());var c={},d={};s?u.forEach((function(e){var t=e.id();if(e.isNode()){var i=e.indegree(!0),a=e.outdegree(!0),o=i-a,s=a-i;1==o?n?l=!0:n=t:1==s?r?l=!0:r=t:(s>1||o>1)&&(l=!0),c[t]=[],e.outgoers().forEach((function(e){e.isEdge()&&c[t].push(e.id())}))}else d[t]=[void 0,e.target().id()]})):u.forEach((function(e){var t=e.id();e.isNode()?(e.degree(!0)%2&&(n?r?l=!0:r=t:n=t),c[t]=[],e.connectedEdges().forEach((function(e){return c[t].push(e.id())}))):d[t]=[e.source().id(),e.target().id()]}));var h={found:!1,trail:void 0};if(l)return h;if(r&&n)if(s){if(i&&r!=i)return h;i=r}else{if(i&&r!=i&&n!=i)return h;i||(i=r)}else i||(i=u[0].id());var f=function(e){for(var t,n,r,i=e,a=[e];c[i].length;)t=c[i].shift(),n=d[t][0],i!=(r=d[t][1])?(c[r]=c[r].filter((function(e){return e!=t})),i=r):s||i==n||(c[n]=c[n].filter((function(e){return e!=t})),i=n),a.unshift(t),a.unshift(i);return a},p=[],v=[];for(v=f(i);1!=v.length;)0==c[v[0]].length?(p.unshift(u.getElementById(v.shift())),p.unshift(u.getElementById(v.shift()))):v=f(v.shift()).concat(v);for(var g in p.unshift(u.getElementById(v.shift())),c)if(c[g].length)return h;return h.found=!0,h.trail=this.spawn(p,!0),h}},{hopcroftTarjanBiconnected:Hn,htbc:Hn,htb:Hn,hopcroftTarjanBiconnectedComponents:Hn},{tarjanStronglyConnected:Un,tsc:Un,tscc:Un,tarjanStronglyConnectedComponents:Un}].forEach((function(e){Q(Zn,e)}));var Kn=function e(t){if(!(this instanceof e))return new e(t);this.id="Thenable/1.0.7",this.state=0,this.fulfillValue=void 0,this.rejectReason=void 0,this.onFulfilled=[],this.onRejected=[],this.proxy={then:this.then.bind(this)},"function"==typeof t&&t.call(this,this.fulfill.bind(this),this.reject.bind(this))};Kn.prototype={fulfill:function(e){return Gn(this,1,"fulfillValue",e)},reject:function(e){return Gn(this,2,"rejectReason",e)},then:function(e,t){var n=this,r=new Kn;return n.onFulfilled.push(Jn(e,r,"fulfill")),n.onRejected.push(Jn(t,r,"reject")),$n(n),r.proxy}};var Gn=function(e,t,n,r){return 0===e.state&&(e.state=t,e[n]=r,$n(e)),e},$n=function(e){1===e.state?Qn(e,"onFulfilled",e.fulfillValue):2===e.state&&Qn(e,"onRejected",e.rejectReason)},Qn=function(e,t,n){if(0!==e[t].length){var r=e[t];e[t]=[];var i=function(){for(var e=0;e0:void 0}},clearQueue:function(){return function(){var e=this,t=void 0!==e.length?e:[e];if(!(this._private.cy||this).styleEnabled())return this;for(var n=0;n0&&this.spawn(r).updateStyle().emit("class"),t},addClass:function(e){return this.toggleClass(e,!0)},hasClass:function(e){var t=this[0];return null!=t&&t._private.classes.has(e)},toggleClass:function(e,t){M(e)||(e=e.match(/\S+/g)||[]);for(var n=this,r=void 0===t,i=[],a=0,o=n.length;a0&&this.spawn(i).updateStyle().emit("class"),n},removeClass:function(e){return this.toggleClass(e,!1)},flashClass:function(e,t){var n=this;if(null==t)t=250;else if(0===t)return n;return n.addClass(e),setTimeout((function(){n.removeClass(e)}),t),n}};lr.className=lr.classNames=lr.classes;var cr={metaChar:"[\\!\\\"\\#\\$\\%\\&\\'\\(\\)\\*\\+\\,\\.\\/\\:\\;\\<\\=\\>\\?\\@\\[\\]\\^\\`\\{\\|\\}\\~]",comparatorOp:"=|\\!=|>|>=|<|<=|\\$=|\\^=|\\*=",boolOp:"\\?|\\!|\\^",string:"\"(?:\\\\\"|[^\"])*\"|'(?:\\\\'|[^'])*'",number:H,meta:"degree|indegree|outdegree",separator:"\\s*,\\s*",descendant:"\\s+",child:"\\s+>\\s+",subject:"\\$",group:"node|edge|\\*",directedEdge:"\\s+->\\s+",undirectedEdge:"\\s+<->\\s+"};cr.variable="(?:[\\w-.]|(?:\\\\"+cr.metaChar+"))+",cr.className="(?:[\\w-]|(?:\\\\"+cr.metaChar+"))+",cr.value=cr.string+"|"+cr.number,cr.id=cr.variable,function(){var e,t,n;for(e=cr.comparatorOp.split("|"),n=0;n=0||"="!==t&&(cr.comparatorOp+="|\\!"+t)}();var dr=20,hr=[{selector:":selected",matches:function(e){return e.selected()}},{selector:":unselected",matches:function(e){return!e.selected()}},{selector:":selectable",matches:function(e){return e.selectable()}},{selector:":unselectable",matches:function(e){return!e.selectable()}},{selector:":locked",matches:function(e){return e.locked()}},{selector:":unlocked",matches:function(e){return!e.locked()}},{selector:":visible",matches:function(e){return e.visible()}},{selector:":hidden",matches:function(e){return!e.visible()}},{selector:":transparent",matches:function(e){return e.transparent()}},{selector:":grabbed",matches:function(e){return e.grabbed()}},{selector:":free",matches:function(e){return!e.grabbed()}},{selector:":removed",matches:function(e){return e.removed()}},{selector:":inside",matches:function(e){return!e.removed()}},{selector:":grabbable",matches:function(e){return e.grabbable()}},{selector:":ungrabbable",matches:function(e){return!e.grabbable()}},{selector:":animated",matches:function(e){return e.animated()}},{selector:":unanimated",matches:function(e){return!e.animated()}},{selector:":parent",matches:function(e){return e.isParent()}},{selector:":childless",matches:function(e){return e.isChildless()}},{selector:":child",matches:function(e){return e.isChild()}},{selector:":orphan",matches:function(e){return e.isOrphan()}},{selector:":nonorphan",matches:function(e){return e.isChild()}},{selector:":compound",matches:function(e){return e.isNode()?e.isParent():e.source().isParent()||e.target().isParent()}},{selector:":loop",matches:function(e){return e.isLoop()}},{selector:":simple",matches:function(e){return e.isSimple()}},{selector:":active",matches:function(e){return e.active()}},{selector:":inactive",matches:function(e){return!e.active()}},{selector:":backgrounding",matches:function(e){return e.backgrounding()}},{selector:":nonbackgrounding",matches:function(e){return!e.backgrounding()}}].sort((function(e,t){return function(e,t){return-1*$(e,t)}(e.selector,t.selector)})),fr=function(){for(var e,t={},n=0;n0&&l.edgeCount>0)return Pe("The selector `"+e+"` is invalid because it uses both a compound selector and an edge selector"),!1;if(l.edgeCount>1)return Pe("The selector `"+e+"` is invalid because it uses multiple edge selectors"),!1;1===l.edgeCount&&Pe("The selector `"+e+"` is deprecated. Edge selectors do not take effect on changes to source and target nodes after an edge is added, for performance reasons. Use a class or data selector on edges instead, updating the class or data of an edge when your app detects a change in source or target nodes.")}return!0},toString:function(){if(null!=this.toStringCache)return this.toStringCache;for(var e=function(e){return null==e?"":e},t=function(t){return T(t)?'"'+t+'"':e(t)},n=function(e){return" "+e+" "},r=function(i,a){return i.checks.reduce((function(o,s,u){return o+(a===i&&0===u?"$":"")+function(i,a){var o=i.type,s=i.value;switch(o){case 0:var u=e(s);return u.substring(0,u.length-1);case 3:var l=i.field,c=i.operator;return"["+l+n(e(c))+t(s)+"]";case 5:var d=i.operator,h=i.field;return"["+e(d)+h+"]";case 4:return"["+i.field+"]";case 6:var f=i.operator;return"[["+i.field+n(e(f))+t(s)+"]]";case 7:return s;case 8:return"#"+s;case 9:return"."+s;case 17:case 15:return r(i.parent,a)+n(">")+r(i.child,a);case 18:case 16:return r(i.ancestor,a)+" "+r(i.descendant,a);case 19:var p=r(i.left,a),v=r(i.subject,a),g=r(i.right,a);return p+(p.length>0?" ":"")+v+g;case dr:return""}}(s,a)}),"")},i="",a=0;a1&&a=0&&(t=t.replace("!",""),c=!0),t.indexOf("@")>=0&&(t=t.replace("@",""),l=!0),(o||u||l)&&(i=o||s?""+e:"",a=""+n),l&&(e=i=i.toLowerCase(),n=a=a.toLowerCase()),t){case"*=":r=i.indexOf(a)>=0;break;case"$=":r=i.indexOf(a,i.length-a.length)>=0;break;case"^=":r=0===i.indexOf(a);break;case"=":r=e===n;break;case">":d=!0,r=e>n;break;case">=":d=!0,r=e>=n;break;case"<":d=!0,r=e0;){var l=i.shift();t(l),a.add(l.id()),o&&r(i,a,l)}return e}function Or(e,t,n){if(n.isParent())for(var r=n._private.children,i=0;i1&&void 0!==arguments[1])||arguments[1],Or)},Br.forEachUp=function(e){return Ir(this,e,!(arguments.length>1&&void 0!==arguments[1])||arguments[1],Ar)},Br.forEachUpAndDown=function(e){return Ir(this,e,!(arguments.length>1&&void 0!==arguments[1])||arguments[1],zr)},Br.ancestors=Br.parents,(Tr=Dr={data:sr.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),removeData:sr.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),scratch:sr.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:sr.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),rscratch:sr.data({field:"rscratch",allowBinding:!1,allowSetting:!0,settingTriggersEvent:!1,allowGetting:!0}),removeRscratch:sr.removeData({field:"rscratch",triggerEvent:!1}),id:function(){var e=this[0];if(e)return e._private.data.id}}).attr=Tr.data,Tr.removeAttr=Tr.removeData;var Nr,Lr,Rr=Dr,jr={};function Vr(e){return function(t){var n=this;if(void 0===t&&(t=!0),0!==n.length&&n.isNode()&&!n.removed()){for(var r=0,i=n[0],a=i._private.edges,o=0;ot})),minIndegree:Fr("indegree",(function(e,t){return et})),minOutdegree:Fr("outdegree",(function(e,t){return et}))}),Q(jr,{totalDegree:function(e){for(var t=0,n=this.nodes(),r=0;r0,c=l;l&&(u=u[0]);var d=c?u.position():{x:0,y:0};return i={x:s.x-d.x,y:s.y-d.y},void 0===e?i:i[e]}for(var h=0;h0,g=v;v&&(p=p[0]);var y=g?p.position():{x:0,y:0};void 0!==t?f.position(e,t+y[e]):void 0!==i&&f.position({x:i.x+y.x,y:i.y+y.y})}}else if(!a)return;return this}},Nr.modelPosition=Nr.point=Nr.position,Nr.modelPositions=Nr.points=Nr.positions,Nr.renderedPoint=Nr.renderedPosition,Nr.relativePoint=Nr.relativePosition;var Yr,Xr,Hr=Lr;Yr=Xr={},Xr.renderedBoundingBox=function(e){var t=this.boundingBox(e),n=this.cy(),r=n.zoom(),i=n.pan(),a=t.x1*r+i.x,o=t.x2*r+i.x,s=t.y1*r+i.y,u=t.y2*r+i.y;return{x1:a,x2:o,y1:s,y2:u,w:o-a,h:u-s}},Xr.dirtyCompoundBoundsCache=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=this.cy();return t.styleEnabled()&&t.hasCompoundNodes()?(this.forEachUp((function(t){if(t.isParent()){var n=t._private;n.compoundBoundsClean=!1,n.bbCache=null,e||t.emitAndNotify("bounds")}})),this):this},Xr.updateCompoundBounds=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=this.cy();if(!t.styleEnabled()||!t.hasCompoundNodes())return this;if(!e&&t.batching())return this;function n(e){if(e.isParent()){var t=e._private,n=e.children(),r="include"===e.pstyle("compound-sizing-wrt-labels").value,i={width:{val:e.pstyle("min-width").pfValue,left:e.pstyle("min-width-bias-left"),right:e.pstyle("min-width-bias-right")},height:{val:e.pstyle("min-height").pfValue,top:e.pstyle("min-height-bias-top"),bottom:e.pstyle("min-height-bias-bottom")}},a=n.boundingBox({includeLabels:r,includeOverlays:!1,useCache:!1}),o=t.position;0!==a.w&&0!==a.h||((a={w:e.pstyle("width").pfValue,h:e.pstyle("height").pfValue}).x1=o.x-a.w/2,a.x2=o.x+a.w/2,a.y1=o.y-a.h/2,a.y2=o.y+a.h/2);var s=i.width.left.value;"px"===i.width.left.units&&i.width.val>0&&(s=100*s/i.width.val);var u=i.width.right.value;"px"===i.width.right.units&&i.width.val>0&&(u=100*u/i.width.val);var l=i.height.top.value;"px"===i.height.top.units&&i.height.val>0&&(l=100*l/i.height.val);var c=i.height.bottom.value;"px"===i.height.bottom.units&&i.height.val>0&&(c=100*c/i.height.val);var d=y(i.width.val-a.w,s,u),h=d.biasDiff,f=d.biasComplementDiff,p=y(i.height.val-a.h,l,c),v=p.biasDiff,g=p.biasComplementDiff;t.autoPadding=function(e,t,n,r){if("%"!==n.units)return"px"===n.units?n.pfValue:0;switch(r){case"width":return e>0?n.pfValue*e:0;case"height":return t>0?n.pfValue*t:0;case"average":return e>0&&t>0?n.pfValue*(e+t)/2:0;case"min":return e>0&&t>0?e>t?n.pfValue*t:n.pfValue*e:0;case"max":return e>0&&t>0?e>t?n.pfValue*e:n.pfValue*t:0;default:return 0}}(a.w,a.h,e.pstyle("padding"),e.pstyle("padding-relative-to").value),t.autoWidth=Math.max(a.w,i.width.val),o.x=(-h+a.x1+a.x2+f)/2,t.autoHeight=Math.max(a.h,i.height.val),o.y=(-v+a.y1+a.y2+g)/2}function y(e,t,n){var r=0,i=0,a=t+n;return e>0&&a>0&&(r=t/a*e,i=n/a*e),{biasDiff:r,biasComplementDiff:i}}}for(var r=0;re.x2?r:e.x2,e.y1=ne.y2?i:e.y2,e.w=e.x2-e.x1,e.h=e.y2-e.y1)},Kr=function(e,t){return null==t?e:Zr(e,t.x1,t.y1,t.x2,t.y2)},Gr=function(e,t,n){return ze(e,t,n)},$r=function(e,t,n){if(!t.cy().headless()){var r,i,a=t._private,o=a.rstyle,s=o.arrowWidth/2;if("none"!==t.pstyle(n+"-arrow-shape").value){"source"===n?(r=o.srcX,i=o.srcY):"target"===n?(r=o.tgtX,i=o.tgtY):(r=o.midX,i=o.midY);var u=a.arrowBounds=a.arrowBounds||{},l=u[n]=u[n]||{};l.x1=r-s,l.y1=i-s,l.x2=r+s,l.y2=i+s,l.w=l.x2-l.x1,l.h=l.y2-l.y1,yt(l,1),Zr(e,l.x1,l.y1,l.x2,l.y2)}}},Qr=function(e,t,n){if(!t.cy().headless()){var r;r=n?n+"-":"";var i=t._private,a=i.rstyle;if(t.pstyle(r+"label").strValue){var o,s,u,l,c=t.pstyle("text-halign"),d=t.pstyle("text-valign"),h=Gr(a,"labelWidth",n),f=Gr(a,"labelHeight",n),p=Gr(a,"labelX",n),v=Gr(a,"labelY",n),g=t.pstyle(r+"text-margin-x").pfValue,y=t.pstyle(r+"text-margin-y").pfValue,m=t.isEdge(),b=t.pstyle(r+"text-rotation"),x=t.pstyle("text-outline-width").pfValue,w=t.pstyle("text-border-width").pfValue/2,_=t.pstyle("text-background-padding").pfValue,E=f,k=h,C=k/2,S=E/2;if(m)o=p-C,s=p+C,u=v-S,l=v+S;else{switch(c.value){case"left":o=p-k,s=p;break;case"center":o=p-C,s=p+C;break;case"right":o=p,s=p+k}switch(d.value){case"top":u=v-E,l=v;break;case"center":u=v-S,l=v+S;break;case"bottom":u=v,l=v+E}}o+=g-Math.max(x,w)-_-2,s+=g+Math.max(x,w)+_+2,u+=y-Math.max(x,w)-_-2,l+=y+Math.max(x,w)+_+2;var P=n||"main",T=i.labelBounds,D=T[P]=T[P]||{};D.x1=o,D.y1=u,D.x2=s,D.y2=l,D.w=s-o,D.h=l-u;var M=m&&"autorotate"===b.strValue,B=null!=b.pfValue&&0!==b.pfValue;if(M||B){var I=M?Gr(i.rstyle,"labelAngle",n):b.pfValue,O=Math.cos(I),A=Math.sin(I),z=(o+s)/2,N=(u+l)/2;if(!m){switch(c.value){case"left":z=s;break;case"right":z=o}switch(d.value){case"top":N=l;break;case"bottom":N=u}}var L=function(e,t){return{x:(e-=z)*O-(t-=N)*A+z,y:e*A+t*O+N}},R=L(o,u),j=L(o,l),V=L(s,u),F=L(s,l);o=Math.min(R.x,j.x,V.x,F.x),s=Math.max(R.x,j.x,V.x,F.x),u=Math.min(R.y,j.y,V.y,F.y),l=Math.max(R.y,j.y,V.y,F.y)}var q=P+"Rot",W=T[q]=T[q]||{};W.x1=o,W.y1=u,W.x2=s,W.y2=l,W.w=s-o,W.h=l-u,Zr(e,o,u,s,l),Zr(i.labelBounds.all,o,u,s,l)}return e}},Jr=function(e){var t=0,n=function(e){return(e?1:0)<0&&a>0){var o=t.pstyle("outline-offset").value,s=t.pstyle("shape").value,u=a+o,l=(e.w+2*u)/e.w,c=(e.h+2*u)/e.h,d=0;["diamond","pentagon","round-triangle"].includes(s)?(l=(e.w+2.4*u)/e.w,d=-u/3.6):["concave-hexagon","rhomboid","right-rhomboid"].includes(s)?l=(e.w+2.4*u)/e.w:"star"===s?(l=(e.w+2.8*u)/e.w,c=(e.h+2.6*u)/e.h,d=-u/3.8):"triangle"===s?(l=(e.w+2.8*u)/e.w,c=(e.h+2.4*u)/e.h,d=-u/1.4):"vee"===s&&(l=(e.w+4.4*u)/e.w,c=(e.h+3.8*u)/e.h,d=.5*-u);var h=e.h*c-e.h,f=e.w*l-e.w;if(mt(e,[Math.ceil(h/2),Math.ceil(f/2)]),0!==d){var p=(r=d,{x1:(n=e).x1+0,x2:n.x2+0,y1:n.y1+r,y2:n.y2+r,w:n.w,h:n.h});vt(e,p)}}}}(h,e)}else if(v&&t.includeEdges)if(c&&!d){var P=e.pstyle("curve-style").strValue;if(n=Math.min(g.srcX,g.midX,g.tgtX),r=Math.max(g.srcX,g.midX,g.tgtX),i=Math.min(g.srcY,g.midY,g.tgtY),a=Math.max(g.srcY,g.midY,g.tgtY),Zr(h,n-=E,i-=E,r+=E,a+=E),"haystack"===P){var T=g.haystackPts;if(T&&2===T.length){if(n=T[0].x,i=T[0].y,n>(r=T[1].x)){var D=n;n=r,r=D}if(i>(a=T[1].y)){var M=i;i=a,a=M}Zr(h,n-E,i-E,r+E,a+E)}}else if("bezier"===P||"unbundled-bezier"===P||"segments"===P||"taxi"===P){var B;switch(P){case"bezier":case"unbundled-bezier":B=g.bezierPts;break;case"segments":case"taxi":B=g.linePts}if(null!=B)for(var I=0;I(r=z.x)){var N=n;n=r,r=N}if((i=A.y)>(a=z.y)){var L=i;i=a,a=L}Zr(h,n-=E,i-=E,r+=E,a+=E)}if(c&&t.includeEdges&&v&&($r(h,e,"mid-source"),$r(h,e,"mid-target"),$r(h,e,"source"),$r(h,e,"target")),c&&"yes"===e.pstyle("ghost").value){var R=e.pstyle("ghost-offset-x").pfValue,j=e.pstyle("ghost-offset-y").pfValue;Zr(h,h.x1+R,h.y1+j,h.x2+R,h.y2+j)}var V=f.bodyBounds=f.bodyBounds||{};bt(V,h),mt(V,y),yt(V,1),c&&(n=h.x1,r=h.x2,i=h.y1,a=h.y2,Zr(h,n-_,i-_,r+_,a+_));var F=f.overlayBounds=f.overlayBounds||{};bt(F,h),mt(F,y),yt(F,1);var q=f.labelBounds=f.labelBounds||{};null!=q.all?((u=q.all).x1=1/0,u.y1=1/0,u.x2=-1/0,u.y2=-1/0,u.w=0,u.h=0):q.all=pt(),c&&t.includeLabels&&(t.includeMainLabels&&Qr(h,e,null),v&&(t.includeSourceLabels&&Qr(h,e,"source"),t.includeTargetLabels&&Qr(h,e,"target")))}return h.x1=Ur(h.x1),h.y1=Ur(h.y1),h.x2=Ur(h.x2),h.y2=Ur(h.y2),h.w=Ur(h.x2-h.x1),h.h=Ur(h.y2-h.y1),h.w>0&&h.h>0&&b&&(mt(h,y),yt(h,1)),h}(e,ni),r.bbCache=n,r.bbCachePosKey=o):n=r.bbCache,!a){var c=e.isNode();n=pt(),(t.includeNodes&&c||t.includeEdges&&!c)&&(t.includeOverlays?Kr(n,r.overlayBounds):Kr(n,r.bodyBounds)),t.includeLabels&&(t.includeMainLabels&&(!i||t.includeSourceLabels&&t.includeTargetLabels)?Kr(n,r.labelBounds.all):(t.includeMainLabels&&Kr(n,r.labelBounds.mainRot),t.includeSourceLabels&&Kr(n,r.labelBounds.sourceRot),t.includeTargetLabels&&Kr(n,r.labelBounds.targetRot))),n.w=n.x2-n.x1,n.h=n.y2-n.y1}return n},ni={includeNodes:!0,includeEdges:!0,includeLabels:!0,includeMainLabels:!0,includeSourceLabels:!0,includeTargetLabels:!0,includeOverlays:!0,includeUnderlays:!0,includeOutlines:!0,useCache:!0},ri=Jr(ni),ii=Ie(ni);Xr.boundingBox=function(e){var t;if(1!==this.length||null==this[0]._private.bbCache||this[0]._private.styleDirty||void 0!==e&&void 0!==e.useCache&&!0!==e.useCache){t=pt();var n=ii(e=e||ni),r=this;if(r.cy().styleEnabled())for(var i=0;i0&&void 0!==arguments[0]?arguments[0]:bi,t=arguments.length>1?arguments[1]:void 0,n=0;n=0;s--)o(s);return this},wi.removeAllListeners=function(){return this.removeListener("*")},wi.emit=wi.trigger=function(e,t,n){var r=this.listeners,i=r.length;return this.emitting++,M(t)||(t=[t]),function(e,t,n){if("event"!==P(n))if(B(n))t(e,Ei(e,n));else for(var r=M(n)?n:n.split(/\s+/),i=0;i1&&!r){var i=this.length-1,a=this[i],o=a._private.data.id;this[i]=void 0,this[e]=a,n.set(o,{ele:a,index:e})}return this.length--,this},unmergeOne:function(e){e=e[0];var t=this._private,n=e._private.data.id,r=t.map.get(n);if(!r)return this;var i=r.index;return this.unmergeAt(i),this},unmerge:function(e){var t=this._private.cy;if(!e)return this;if(e&&T(e)){var n=e;e=t.mutableElements().filter(n)}for(var r=0;r=0;t--)e(this[t])&&this.unmergeAt(t);return this},map:function(e,t){for(var n=[],r=this,i=0;ir&&(r=s,n=o)}return{value:r,ele:n}},min:function(e,t){for(var n,r=1/0,i=this,a=0;a=0&&i1&&void 0!==arguments[1])||arguments[1],n=this[0],r=n.cy();if(r.styleEnabled()&&n){this.cleanStyle();var i=n._private.style[e];return null!=i?i:t?r.style().getDefaultProperty(e):null}},numericStyle:function(e){var t=this[0];if(t.cy().styleEnabled()&&t){var n=t.pstyle(e);return void 0!==n.pfValue?n.pfValue:n.value}},numericStyleUnits:function(e){var t=this[0];if(t.cy().styleEnabled())return t?t.pstyle(e).units:void 0},renderedStyle:function(e){var t=this.cy();if(!t.styleEnabled())return this;var n=this[0];return n?t.style().getRenderedStyle(n,e):void 0},style:function(e,t){var n=this.cy();if(!n.styleEnabled())return this;var r=n.style();if(B(e)){var i=e;r.applyBypass(this,i,!1),this.emitAndNotify("style")}else if(T(e)){if(void 0===t){var a=this[0];return a?r.getStylePropertyValue(a,e):void 0}r.applyBypass(this,e,t,!1),this.emitAndNotify("style")}else if(void 0===e){var o=this[0];return o?r.getRawStyle(o):void 0}return this},removeStyle:function(e){var t=this.cy();if(!t.styleEnabled())return this;var n=t.style(),r=this;if(void 0===e)for(var i=0;i0&&t.push(c[0]),t.push(s[0])}return this.spawn(t,!0).filter(e)}),"neighborhood"),closedNeighborhood:function(e){return this.neighborhood().add(this).filter(e)},openNeighborhood:function(e){return this.neighborhood(e)}}),Zi.neighbourhood=Zi.neighborhood,Zi.closedNeighbourhood=Zi.closedNeighborhood,Zi.openNeighbourhood=Zi.openNeighborhood,Q(Zi,{source:Mr((function(e){var t,n=this[0];return n&&(t=n._private.source||n.cy().collection()),t&&e?t.filter(e):t}),"source"),target:Mr((function(e){var t,n=this[0];return n&&(t=n._private.target||n.cy().collection()),t&&e?t.filter(e):t}),"target"),sources:Qi({attr:"source"}),targets:Qi({attr:"target"})}),Q(Zi,{edgesWith:Mr(Ji(),"edgesWith"),edgesTo:Mr(Ji({thisIsSrc:!0}),"edgesTo")}),Q(Zi,{connectedEdges:Mr((function(e){for(var t=[],n=0;n0);return a},component:function(){var e=this[0];return e.cy().mutableElements().components(e)[0]}}),Zi.componentsOf=Zi.components;var ta=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(void 0!==e){var i=new Le,a=!1;if(t){if(t.length>0&&B(t[0])&&!z(t[0])){a=!0;for(var o=[],s=new je,u=0,l=t.length;u0&&void 0!==arguments[0])||arguments[0],r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=this,a=i.cy(),o=a._private,s=[],u=[],l=0,c=i.length;l0){for(var N=e.length===i.length?i:new ta(a,e),L=0;L0&&void 0!==arguments[0])||arguments[0],t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=this,r=[],i={},a=n._private.cy;function o(e){var n=i[e.id()];t&&e.removed()||n||(i[e.id()]=!0,e.isNode()?(r.push(e),function(e){for(var t=e._private.edges,n=0;n0&&(e?E.emitAndNotify("remove"):t&&E.emit("remove"));for(var k=0;k=.001?function(t,r){for(var i=0;i<4;++i){var a=h(r,e,n);if(0===a)return r;r-=(d(r,e,n)-t)/a}return r}(t,o):0===u?o:function(t,r,i){var a,o,s=0;do{(a=d(o=r+(i-r)/2,e,n)-t)>0?i=o:r=o}while(Math.abs(a)>1e-7&&++s<10);return o}(t,r,r+i)}(a),t,r)};p.getControlPoints=function(){return[{x:e,y:t},{x:n,y:r}]};var v="generateBezier("+[e,t,n,r]+")";return p.toString=function(){return v},p}var aa=function(){function e(e){return-e.tension*e.x-e.friction*e.v}function t(t,n,r){var i={x:t.x+r.dx*n,v:t.v+r.dv*n,tension:t.tension,friction:t.friction};return{dx:i.v,dv:e(i)}}function n(n,r){var i={dx:n.v,dv:e(n)},a=t(n,.5*r,i),o=t(n,.5*r,a),s=t(n,r,o),u=1/6*(i.dx+2*(a.dx+o.dx)+s.dx),l=1/6*(i.dv+2*(a.dv+o.dv)+s.dv);return n.x=n.x+u*r,n.v=n.v+l*r,n}return function e(t,r,i){var a,o,s,u={x:-1,v:0,tension:null,friction:null},l=[0],c=0,d=1e-4;for(t=parseFloat(t)||500,r=parseFloat(r)||20,i=i||null,u.tension=t,u.friction=r,o=(a=null!==i)?(c=e(t,r))/i*.016:.016;s=n(s||u,o),l.push(1+s.x),c+=16,Math.abs(s.x)>d&&Math.abs(s.v)>d;);return a?function(e){return l[e*(l.length-1)|0]}:c}}(),oa=function(e,t,n,r){var i=ia(e,t,n,r);return function(e,t,n){return e+(t-e)*i(n)}},sa={linear:function(e,t,n){return e+(t-e)*n},ease:oa(.25,.1,.25,1),"ease-in":oa(.42,0,1,1),"ease-out":oa(0,0,.58,1),"ease-in-out":oa(.42,0,.58,1),"ease-in-sine":oa(.47,0,.745,.715),"ease-out-sine":oa(.39,.575,.565,1),"ease-in-out-sine":oa(.445,.05,.55,.95),"ease-in-quad":oa(.55,.085,.68,.53),"ease-out-quad":oa(.25,.46,.45,.94),"ease-in-out-quad":oa(.455,.03,.515,.955),"ease-in-cubic":oa(.55,.055,.675,.19),"ease-out-cubic":oa(.215,.61,.355,1),"ease-in-out-cubic":oa(.645,.045,.355,1),"ease-in-quart":oa(.895,.03,.685,.22),"ease-out-quart":oa(.165,.84,.44,1),"ease-in-out-quart":oa(.77,0,.175,1),"ease-in-quint":oa(.755,.05,.855,.06),"ease-out-quint":oa(.23,1,.32,1),"ease-in-out-quint":oa(.86,0,.07,1),"ease-in-expo":oa(.95,.05,.795,.035),"ease-out-expo":oa(.19,1,.22,1),"ease-in-out-expo":oa(1,0,0,1),"ease-in-circ":oa(.6,.04,.98,.335),"ease-out-circ":oa(.075,.82,.165,1),"ease-in-out-circ":oa(.785,.135,.15,.86),spring:function(e,t,n){if(0===n)return sa.linear;var r=aa(e,t,n);return function(e,t,n){return e+(t-e)*r(n)}},"cubic-bezier":oa};function ua(e,t,n,r,i){if(1===r)return n;if(t===n)return n;var a=i(t,n,r);return null==e||((e.roundValue||e.color)&&(a=Math.round(a)),void 0!==e.min&&(a=Math.max(a,e.min)),void 0!==e.max&&(a=Math.min(a,e.max))),a}function la(e,t){return null!=e.pfValue||null!=e.value?null==e.pfValue||null!=t&&"%"===t.type.units?e.value:e.pfValue:e}function ca(e,t,n,r,i){var a=null!=i?i.type:null;n<0?n=0:n>1&&(n=1);var o=la(e,i),s=la(t,i);if(I(o)&&I(s))return ua(a,o,s,n,r);if(M(o)&&M(s)){for(var u=[],l=0;l0?("spring"===d&&h.push(o.duration),o.easingImpl=sa[d].apply(null,h)):o.easingImpl=sa[d]}var f,p=o.easingImpl;if(f=0===o.duration?1:(n-u)/o.duration,o.applying&&(f=o.progress),f<0?f=0:f>1&&(f=1),null==o.delay){var v=o.startPosition,g=o.position;if(g&&i&&!e.locked()){var y={};ha(v.x,g.x)&&(y.x=ca(v.x,g.x,f,p)),ha(v.y,g.y)&&(y.y=ca(v.y,g.y,f,p)),e.position(y)}var m=o.startPan,b=o.pan,x=a.pan,w=null!=b&&r;w&&(ha(m.x,b.x)&&(x.x=ca(m.x,b.x,f,p)),ha(m.y,b.y)&&(x.y=ca(m.y,b.y,f,p)),e.emit("pan"));var _=o.startZoom,E=o.zoom,k=null!=E&&r;k&&(ha(_,E)&&(a.zoom=ft(a.minZoom,ca(_,E,f,p),a.maxZoom)),e.emit("zoom")),(w||k)&&e.emit("viewport");var C=o.style;if(C&&C.length>0&&i){for(var S=0;S=0;t--)(0,e[t])();e.splice(0,e.length)},c=a.length-1;c>=0;c--){var d=a[c],h=d._private;h.stopped?(a.splice(c,1),h.hooked=!1,h.playing=!1,h.started=!1,l(h.frames)):(h.playing||h.applying)&&(h.playing&&h.applying&&(h.applying=!1),h.started||fa(0,d,e),da(t,d,e,n),h.applying&&(h.applying=!1),l(h.frames),null!=h.step&&h.step(e),d.completed()&&(a.splice(c,1),h.hooked=!1,h.playing=!1,h.started=!1,l(h.completes)),s=!0)}return n||0!==a.length||0!==o.length||r.push(t),s}for(var a=!1,o=0;o0?t.notify("draw",n):t.notify("draw")),n.unmerge(r),t.emit("step")}var va={animate:sr.animate(),animation:sr.animation(),animated:sr.animated(),clearQueue:sr.clearQueue(),delay:sr.delay(),delayAnimation:sr.delayAnimation(),stop:sr.stop(),addToAnimationPool:function(e){this.styleEnabled()&&this._private.aniEles.merge(e)},stopAnimationLoop:function(){this._private.animationsRunning=!1},startAnimationLoop:function(){var e=this;if(e._private.animationsRunning=!0,e.styleEnabled()){var t=e.renderer();t&&t.beforeRender?t.beforeRender((function(t,n){pa(n,e)}),t.beforeRenderPriorities.animations):function t(){e._private.animationsRunning&&ae((function(n){pa(n,e),t()}))}()}}},ga={qualifierCompare:function(e,t){return null==e||null==t?null==e&&null==t:e.sameText(t)},eventMatches:function(e,t,n){var r=t.qualifier;return null==r||e!==n.target&&z(n.target)&&r.matches(n.target)},addEventFields:function(e,t){t.cy=e,t.target=e},callbackContext:function(e,t,n){return null!=t.qualifier?n.target:e}},ya=function(e){return T(e)?new Cr(e):e},ma={createEmitter:function(){var e=this._private;return e.emitter||(e.emitter=new xi(ga,this)),this},emitter:function(){return this._private.emitter},on:function(e,t,n){return this.emitter().on(e,ya(t),n),this},removeListener:function(e,t,n){return this.emitter().removeListener(e,ya(t),n),this},removeAllListeners:function(){return this.emitter().removeAllListeners(),this},one:function(e,t,n){return this.emitter().one(e,ya(t),n),this},once:function(e,t,n){return this.emitter().one(e,ya(t),n),this},emit:function(e,t){return this.emitter().emit(e,t),this},emitAndNotify:function(e,t){return this.emit(e),this.notify(e,t),this}};sr.eventAliasesOn(ma);var ba={png:function(e){return e=e||{},this._private.renderer.png(e)},jpg:function(e){var t=this._private.renderer;return(e=e||{}).bg=e.bg||"#fff",t.jpg(e)}};ba.jpeg=ba.jpg;var xa={layout:function(e){var t=this;if(null!=e)if(null!=e.name){var n,r=e.name,i=t.extension("layout",r);if(null!=i)return n=T(e.eles)?t.$(e.eles):null!=e.eles?e.eles:t.$(),new i(Q({},e,{cy:t,eles:n}));Ce("No such layout `"+r+"` found. Did you forget to import it and `cytoscape.use()` it?")}else Ce("A `name` must be specified to make a layout");else Ce("Layout options must be specified to make a layout")}};xa.createLayout=xa.makeLayout=xa.layout;var wa={notify:function(e,t){var n=this._private;if(this.batching()){n.batchNotifications=n.batchNotifications||{};var r=n.batchNotifications[e]=n.batchNotifications[e]||this.collection();null!=t&&r.merge(t)}else if(n.notificationsEnabled){var i=this.renderer();!this.destroyed()&&i&&i.notify(e,t)}},notifications:function(e){var t=this._private;return void 0===e?t.notificationsEnabled:(t.notificationsEnabled=!!e,this)},noNotifications:function(e){this.notifications(!1),e(),this.notifications(!0)},batching:function(){return this._private.batchCount>0},startBatch:function(){var e=this._private;return null==e.batchCount&&(e.batchCount=0),0===e.batchCount&&(e.batchStyleEles=this.collection(),e.batchNotifications={}),e.batchCount++,this},endBatch:function(){var e=this._private;if(0===e.batchCount)return this;if(e.batchCount--,0===e.batchCount){e.batchStyleEles.updateStyle();var t=this.renderer();Object.keys(e.batchNotifications).forEach((function(n){var r=e.batchNotifications[n];r.empty()?t.notify(n):t.notify(n,r)}))}return this},batch:function(e){return this.startBatch(),e(),this.endBatch(),this},batchData:function(e){var t=this;return this.batch((function(){for(var n=Object.keys(e),r=0;r0;)t.removeChild(t.childNodes[0]);e._private.renderer=null,e.mutableElements().forEach((function(e){var t=e._private;t.rscratch={},t.rstyle={},t.animation.current=[],t.animation.queue=[]}))},onRender:function(e){return this.on("render",e)},offRender:function(e){return this.off("render",e)}};Ea.invalidateDimensions=Ea.resize;var ka={collection:function(e,t){return T(e)?this.$(e):A(e)?e.collection():M(e)?(t||(t={}),new ta(this,e,t.unique,t.removed)):new ta(this)},nodes:function(e){var t=this.$((function(e){return e.isNode()}));return e?t.filter(e):t},edges:function(e){var t=this.$((function(e){return e.isEdge()}));return e?t.filter(e):t},$:function(e){var t=this._private.elements;return e?t.filter(e):t.spawnSelf()},mutableElements:function(){return this._private.elements}};ka.elements=ka.filter=ka.$;var Ca={},Sa="t";Ca.apply=function(e){for(var t=this,n=t._private.cy.collection(),r=0;r0;if(h||d&&f){var p=void 0;h&&f||h?p=l.properties:f&&(p=l.mappedProperties);for(var v=0;v1&&(g=1),s.color){var w=i.valueMin[0],_=i.valueMax[0],E=i.valueMin[1],k=i.valueMax[1],C=i.valueMin[2],S=i.valueMax[2],P=null==i.valueMin[3]?1:i.valueMin[3],T=null==i.valueMax[3]?1:i.valueMax[3],D=[Math.round(w+(_-w)*g),Math.round(E+(k-E)*g),Math.round(C+(S-C)*g),Math.round(P+(T-P)*g)];n={bypass:i.bypass,name:i.name,value:D,strValue:"rgb("+D[0]+", "+D[1]+", "+D[2]+")"}}else{if(!s.number)return!1;var M=i.valueMin+(i.valueMax-i.valueMin)*g;n=this.parse(i.name,M,i.bypass,h)}if(!n)return v(),!1;n.mapping=i,i=n;break;case o.data:for(var B=i.field.split("."),O=d.data,A=0;A0&&a>0){for(var s={},u=!1,l=0;l0?e.delayAnimation(o).play().promise().then(t):t()})).then((function(){return e.animation({style:s,duration:a,easing:e.pstyle("transition-timing-function").value,queue:!1}).play().promise()})).then((function(){n.removeBypasses(e,i),e.emitAndNotify("style"),r.transitioning=!1}))}else r.transitioning&&(this.removeBypasses(e,i),e.emitAndNotify("style"),r.transitioning=!1)},Ca.checkTrigger=function(e,t,n,r,i,a){var o=this.properties[t],s=i(o);null!=s&&s(n,r)&&a(o)},Ca.checkZOrderTrigger=function(e,t,n,r){var i=this;this.checkTrigger(e,t,n,r,(function(e){return e.triggersZOrder}),(function(){i._private.cy.notify("zorder",e)}))},Ca.checkBoundsTrigger=function(e,t,n,r){this.checkTrigger(e,t,n,r,(function(e){return e.triggersBounds}),(function(i){e.dirtyCompoundBoundsCache(),e.dirtyBoundingBoxCache(),!i.triggersBoundsOfParallelBeziers||"curve-style"!==t||"bezier"!==n&&"bezier"!==r||e.parallelEdges().forEach((function(e){e.isBundledBezier()&&e.dirtyBoundingBoxCache()})),!i.triggersBoundsOfConnectedEdges||"display"!==t||"none"!==n&&"none"!==r||e.connectedEdges().forEach((function(e){e.dirtyBoundingBoxCache()}))}))},Ca.checkTriggers=function(e,t,n,r){e.dirtyStyleCache(),this.checkZOrderTrigger(e,t,n,r),this.checkBoundsTrigger(e,t,n,r)};var Pa={applyBypass:function(e,t,n,r){var i=[];if("*"===t||"**"===t){if(void 0!==n)for(var a=0;at.length?a.substr(t.length):""}function s(){n=n.length>r.length?n.substr(r.length):""}for(a=a.replace(/[/][*](\s|.)+?[*][/]/g,"");!a.match(/^\s*$/);){var u=a.match(/^\s*((?:.|\s)+?)\s*\{((?:.|\s)+?)\}/);if(!u){Pe("Halting stylesheet parsing: String stylesheet contains more to parse but no selector and block found in: "+a);break}t=u[0];var l=u[1];if("core"!==l&&new Cr(l).invalid)Pe("Skipping parsing of block: Invalid selector found in string stylesheet: "+l),o();else{var c=u[2],d=!1;n=c;for(var h=[];!n.match(/^\s*$/);){var f=n.match(/^\s*(.+?)\s*:\s*(.+?)(?:\s*;|\s*$)/);if(!f){Pe("Skipping parsing of block: Invalid formatting of style property and value definitions found in:"+c),d=!0;break}r=f[0];var p=f[1],v=f[2];this.properties[p]?i.parse(p,v)?(h.push({name:p,val:v}),s()):(Pe("Skipping property: Invalid property definition in: "+r),s()):(Pe("Skipping property: Invalid property name in: "+r),s())}if(d){o();break}i.selector(l);for(var g=0;g=7&&"d"===t[0]&&(l=new RegExp(s.data.regex).exec(t))){if(n)return!1;var h=s.data;return{name:e,value:l,strValue:""+t,mapped:h,field:l[1],bypass:n}}if(t.length>=10&&"m"===t[0]&&(c=new RegExp(s.mapData.regex).exec(t))){if(n)return!1;if(d.multiple)return!1;var f=s.mapData;if(!d.color&&!d.number)return!1;var p=this.parse(e,c[4]);if(!p||p.mapped)return!1;var v=this.parse(e,c[5]);if(!v||v.mapped)return!1;if(p.pfValue===v.pfValue||p.strValue===v.strValue)return Pe("`"+e+": "+t+"` is not a valid mapper because the output range is zero; converting to `"+e+": "+p.strValue+"`"),this.parse(e,p.strValue);if(d.color){var g=p.value,y=v.value;if(!(g[0]!==y[0]||g[1]!==y[1]||g[2]!==y[2]||g[3]!==y[3]&&(null!=g[3]&&1!==g[3]||null!=y[3]&&1!==y[3])))return!1}return{name:e,value:c,strValue:""+t,mapped:f,field:c[1],fieldMin:parseFloat(c[2]),fieldMax:parseFloat(c[3]),valueMin:p.value,valueMax:v.value,bypass:n}}}if(d.multiple&&"multiple"!==r){var m;if(m=u?t.split(/\s+/):M(t)?t:[t],d.evenMultiple&&m.length%2!=0)return null;for(var b=[],x=[],w=[],_="",E=!1,k=0;k0?" ":"")+C.strValue}return d.validate&&!d.validate(b,x)?null:d.singleEnum&&E?1===b.length&&T(b[0])?{name:e,value:b[0],strValue:b[0],bypass:n}:null:{name:e,value:b,pfValue:w,strValue:_,bypass:n,units:x}}var S,P,B,O=function(){for(var r=0;rd.max||d.strictMax&&t===d.max))return null;var R={name:e,value:t,strValue:""+t+(A||""),units:A,bypass:n};return d.unitless||"px"!==A&&"em"!==A?R.pfValue=t:R.pfValue="px"!==A&&A?this.getEmSizeInPixels()*t:t,"ms"!==A&&"s"!==A||(R.pfValue="ms"===A?t:1e3*t),"deg"!==A&&"rad"!==A||(R.pfValue="rad"===A?t:(S=t,Math.PI*S/180)),"%"===A&&(R.pfValue=t/100),R}if(d.propList){var j=[],V=""+t;if("none"===V);else{for(var F=V.split(/\s*,\s*|\s+/),W=0;W255)return;t.push(Math.floor(a))}var o=r[1]||r[2]||r[3],s=r[1]&&r[2]&&r[3];if(o&&!s)return;var u=n[4];if(void 0!==u){if((u=parseFloat(u))<0||u>1)return;t.push(u)}}return t}(B)||function(e){var t,n,r,i,a,o,s,u;function l(e,t,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?e+6*(t-e)*n:n<.5?t:n<2/3?e+(t-e)*(2/3-n)*6:e}var c=new RegExp("^"+K+"$").exec(e);if(c){if((n=parseInt(c[1]))<0?n=(360- -1*n%360)%360:n>360&&(n%=360),n/=360,(r=parseFloat(c[2]))<0||r>100)return;if(r/=100,(i=parseFloat(c[3]))<0||i>100)return;if(i/=100,void 0!==(a=c[4])&&((a=parseFloat(a))<0||a>1))return;if(0===r)o=s=u=Math.round(255*i);else{var d=i<.5?i*(1+r):i+r-i*r,h=2*i-d;o=Math.round(255*l(h,d,n+1/3)),s=Math.round(255*l(h,d,n)),u=Math.round(255*l(h,d,n-1/3))}t=[o,s,u,a]}return t}(B);return X?{name:e,value:X,pfValue:X,strValue:"rgb("+X[0]+","+X[1]+","+X[2]+")",bypass:n}:null}if(d.regex||d.regexes){if(d.enums){var Z=O();if(Z)return Z}for(var G=d.regexes?d.regexes:[d.regex],$=0;$0&&u>0&&!isNaN(n.w)&&!isNaN(n.h)&&n.w>0&&n.h>0)return{zoom:o=(o=(o=Math.min((s-2*t)/n.w,(u-2*t)/n.h))>this._private.maxZoom?this._private.maxZoom:o)=n.minZoom&&(n.maxZoom=t),this},minZoom:function(e){return void 0===e?this._private.minZoom:this.zoomRange({min:e})},maxZoom:function(e){return void 0===e?this._private.maxZoom:this.zoomRange({max:e})},getZoomedViewport:function(e){var t,n,r=this._private,i=r.pan,a=r.zoom,o=!1;if(r.zoomingEnabled||(o=!0),I(e)?n=e:B(e)&&(n=e.level,null!=e.position?t=nt(e.position,a,i):null!=e.renderedPosition&&(t=e.renderedPosition),null==t||r.panningEnabled||(o=!0)),n=(n=n>r.maxZoom?r.maxZoom:n)t.maxZoom||!t.zoomingEnabled?a=!0:(t.zoom=s,i.push("zoom"))}if(r&&(!a||!e.cancelOnFailedZoom)&&t.panningEnabled){var u=e.pan;I(u.x)&&(t.pan.x=u.x,o=!1),I(u.y)&&(t.pan.y=u.y,o=!1),o||i.push("pan")}return i.length>0&&(i.push("viewport"),this.emit(i.join(" ")),this.notify("viewport")),this},center:function(e){var t=this.getCenterPan(e);return t&&(this._private.pan=t,this.emit("pan viewport"),this.notify("viewport")),this},getCenterPan:function(e,t){if(this._private.panningEnabled){if(T(e)){var n=e;e=this.mutableElements().filter(n)}else A(e)||(e=this.mutableElements());if(0!==e.length){var r=e.boundingBox(),i=this.width(),a=this.height();return{x:(i-(t=void 0===t?this._private.zoom:t)*(r.x1+r.x2))/2,y:(a-t*(r.y1+r.y2))/2}}}},reset:function(){return this._private.panningEnabled&&this._private.zoomingEnabled?(this.viewport({pan:{x:0,y:0},zoom:1}),this):this},invalidateSize:function(){this._private.sizeCache=null},size:function(){var e,t,n=this._private,r=n.container;return n.sizeCache=n.sizeCache||(r?(e=this.window().getComputedStyle(r),t=function(t){return parseFloat(e.getPropertyValue(t))},{width:r.clientWidth-t("padding-left")-t("padding-right"),height:r.clientHeight-t("padding-top")-t("padding-bottom")}):{width:1,height:1})},width:function(){return this.size().width},height:function(){return this.size().height},extent:function(){var e=this._private.pan,t=this._private.zoom,n=this.renderedExtent(),r={x1:(n.x1-e.x)/t,x2:(n.x2-e.x)/t,y1:(n.y1-e.y)/t,y2:(n.y2-e.y)/t};return r.w=r.x2-r.x1,r.h=r.y2-r.y1,r},renderedExtent:function(){var e=this.width(),t=this.height();return{x1:0,y1:0,x2:e,y2:t,w:e,h:t}},multiClickDebounceTime:function(e){return e?(this._private.multiClickDebounceTime=e,this):this._private.multiClickDebounceTime}};La.centre=La.center,La.autolockNodes=La.autolock,La.autoungrabifyNodes=La.autoungrabify;var Ra={data:sr.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeData:sr.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),scratch:sr.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:sr.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0})};Ra.attr=Ra.data,Ra.removeAttr=Ra.removeData;var ja=function(e){var t=this,n=(e=Q({},e)).container;n&&!O(n)&&O(n[0])&&(n=n[0]);var r=n?n._cyreg:null;(r=r||{})&&r.cy&&(r.cy.destroy(),r={});var i=r.readies=r.readies||[];n&&(n._cyreg=r),r.cy=t;var a=void 0!==w&&void 0!==n&&!e.headless,o=e;o.layout=Q({name:a?"grid":"null"},o.layout),o.renderer=Q({name:a?"canvas":"null"},o.renderer);var s=function(e,t,n){return void 0!==t?t:void 0!==n?n:e},u=this._private={container:n,ready:!1,options:o,elements:new ta(this),listeners:[],aniEles:new ta(this),data:o.data||{},scratch:{},layout:null,renderer:null,destroyed:!1,notificationsEnabled:!0,minZoom:1e-50,maxZoom:1e50,zoomingEnabled:s(!0,o.zoomingEnabled),userZoomingEnabled:s(!0,o.userZoomingEnabled),panningEnabled:s(!0,o.panningEnabled),userPanningEnabled:s(!0,o.userPanningEnabled),boxSelectionEnabled:s(!0,o.boxSelectionEnabled),autolock:s(!1,o.autolock,o.autolockNodes),autoungrabify:s(!1,o.autoungrabify,o.autoungrabifyNodes),autounselectify:s(!1,o.autounselectify),styleEnabled:void 0===o.styleEnabled?a:o.styleEnabled,zoom:I(o.zoom)?o.zoom:1,pan:{x:B(o.pan)&&I(o.pan.x)?o.pan.x:0,y:B(o.pan)&&I(o.pan.y)?o.pan.y:0},animation:{current:[],queue:[]},hasCompoundNodes:!1,multiClickDebounceTime:s(250,o.multiClickDebounceTime)};this.createEmitter(),this.selectionType(o.selectionType),this.zoomRange({min:o.minZoom,max:o.maxZoom}),u.styleEnabled&&t.setStyle([]);var l=Q({},o,o.renderer);t.initRenderer(l),function(e,t){if(e.some(V))return tr.all(e).then(t);t(e)}([o.style,o.elements],(function(e){var n=e[0],a=e[1];u.styleEnabled&&t.style().append(n),function(e,n,r){t.notifications(!1);var i=t.mutableElements();i.length>0&&i.remove(),null!=e&&(B(e)||M(e))&&t.add(e),t.one("layoutready",(function(e){t.notifications(!0),t.emit(e),t.one("load",n),t.emitAndNotify("load")})).one("layoutstop",(function(){t.one("done",r),t.emit("done")}));var a=Q({},t._private.options.layout);a.eles=t.elements(),t.layout(a).run()}(a,(function(){t.startAnimationLoop(),u.ready=!0,D(o.ready)&&t.on("ready",o.ready);for(var e=0;e0,l=pt(n.boundingBox?n.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()});if(A(n.roots))e=n.roots;else if(M(n.roots)){for(var c=[],d=0;d0;){var B=S.shift(),I=C(B,P);if(I)B.outgoers().filter((function(e){return e.isNode()&&i.has(e)})).forEach(D);else if(null===I){Pe("Detected double maximal shift for node `"+B.id()+"`. Bailing maximal adjustment due to cycle. Use `options.maximal: true` only on DAGs.");break}}}k();var O=0;if(n.avoidOverlap)for(var z=0;z0&&y[0].length<=3?u/2:0),d=2*Math.PI/y[r].length*i;return 0===r&&1===y[0].length&&(c=1),{x:U+c*Math.cos(d),y:Z+c*Math.sin(d)}}return{x:U+(i+1-(a+1)/2)*o,y:(r+1)*s}})),this};var Ha={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,radius:void 0,startAngle:1.5*Math.PI,sweep:void 0,clockwise:!0,sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,t){return!0},ready:void 0,stop:void 0,transform:function(e,t){return t}};function Ua(e){this.options=Q({},Ha,e)}Ua.prototype.run=function(){var e=this.options,t=e,n=e.cy,r=t.eles,i=void 0!==t.counterclockwise?!t.counterclockwise:t.clockwise,a=r.nodes().not(":parent");t.sort&&(a=a.sort(t.sort));for(var o,s=pt(t.boundingBox?t.boundingBox:{x1:0,y1:0,w:n.width(),h:n.height()}),u=s.x1+s.w/2,l=s.y1+s.h/2,c=(void 0===t.sweep?2*Math.PI-2*Math.PI/a.length:t.sweep)/Math.max(1,a.length-1),d=0,h=0;h1&&t.avoidOverlap){d*=1.75;var g=Math.cos(c)-Math.cos(0),y=Math.sin(c)-Math.sin(0),m=Math.sqrt(d*d/(g*g+y*y));o=Math.max(m,o)}return r.nodes().layoutPositions(this,t,(function(e,n){var r=t.startAngle+n*c*(i?1:-1),a=o*Math.cos(r),s=o*Math.sin(r);return{x:u+a,y:l+s}})),this};var Za,Ka={fit:!0,padding:30,startAngle:1.5*Math.PI,sweep:void 0,clockwise:!0,equidistant:!1,minNodeSpacing:10,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,height:void 0,width:void 0,spacingFactor:void 0,concentric:function(e){return e.degree()},levelWidth:function(e){return e.maxDegree()/4},animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,t){return!0},ready:void 0,stop:void 0,transform:function(e,t){return t}};function Ga(e){this.options=Q({},Ka,e)}Ga.prototype.run=function(){for(var e=this.options,t=e,n=void 0!==t.counterclockwise?!t.counterclockwise:t.clockwise,r=e.cy,i=t.eles,a=i.nodes().not(":parent"),o=pt(t.boundingBox?t.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()}),s=o.x1+o.w/2,u=o.y1+o.h/2,l=[],c=0,d=0;d0&&Math.abs(m[0].value-x.value)>=g&&(m=[],y.push(m)),m.push(x)}var w=c+t.minNodeSpacing;if(!t.avoidOverlap){var _=y.length>0&&y[0].length>1,E=(Math.min(o.w,o.h)/2-w)/(y.length+_?1:0);w=Math.min(w,E)}for(var k=0,C=0;C1&&t.avoidOverlap){var D=Math.cos(T)-Math.cos(0),M=Math.sin(T)-Math.sin(0),B=Math.sqrt(w*w/(D*D+M*M));k=Math.max(B,k)}S.r=k,k+=w}if(t.equidistant){for(var I=0,O=0,A=0;A=e.numIter||(ao(r,e),r.temperature=r.temperature*e.coolingFactor,r.temperature=e.animationThreshold&&a(),ae(t)):(mo(r,e),s())}();else{for(;l;)l=o(u),u++;mo(r,e),s()}return this},Qa.prototype.stop=function(){return this.stopped=!0,this.thread&&this.thread.stop(),this.emit("layoutstop"),this},Qa.prototype.destroy=function(){return this.thread&&this.thread.stop(),this};var Ja=function(e,t,n){for(var r=n.eles.edges(),i=n.eles.nodes(),a=pt(n.boundingBox?n.boundingBox:{x1:0,y1:0,w:e.width(),h:e.height()}),o={isCompound:e.hasCompoundNodes(),layoutNodes:[],idToIndex:{},nodeSize:i.size(),graphSet:[],indexToGraph:[],layoutEdges:[],edgeSize:r.size(),temperature:n.initialTemp,clientWidth:a.w,clientHeight:a.h,boundingBox:a},s=n.eles.components(),u={},l=0;l0)for(o.graphSet.push(w),l=0;lr.count?0:r.graph},to=function e(t,n,r,i){var a=i.graphSet[r];if(-10)var s=(l=r.nodeOverlap*o)*i/(v=Math.sqrt(i*i+a*a)),u=l*a/v;else{var l,c=co(e,i,a),d=co(t,-1*i,-1*a),h=d.x-c.x,f=d.y-c.y,p=h*h+f*f,v=Math.sqrt(p);s=(l=(e.nodeRepulsion+t.nodeRepulsion)/p)*h/v,u=l*f/v}e.isLocked||(e.offsetX-=s,e.offsetY-=u),t.isLocked||(t.offsetX+=s,t.offsetY+=u)}},lo=function(e,t,n,r){if(n>0)var i=e.maxX-t.minX;else i=t.maxX-e.minX;if(r>0)var a=e.maxY-t.minY;else a=t.maxY-e.minY;return i>=0&&a>=0?Math.sqrt(i*i+a*a):0},co=function(e,t,n){var r=e.positionX,i=e.positionY,a=e.height||1,o=e.width||1,s=n/t,u=a/o,l={};return 0===t&&0n?(l.x=r,l.y=i+a/2,l):0t&&-1*u<=s&&s<=u?(l.x=r-o/2,l.y=i-o*n/2/t,l):0=u)?(l.x=r+a*t/2/n,l.y=i+a/2,l):0>n&&(s<=-1*u||s>=u)?(l.x=r-a*t/2/n,l.y=i-a/2,l):l},ho=function(e,t){for(var n=0;n1){var p=t.gravity*d/f,v=t.gravity*h/f;c.offsetX+=p,c.offsetY+=v}}}}},po=function(e,t){var n=[],r=0,i=-1;for(n.push.apply(n,e.graphSet[0]),i+=e.graphSet[0].length;r<=i;){var a=n[r++],o=e.idToIndex[a],s=e.layoutNodes[o],u=s.children;if(0n)var i={x:n*e/r,y:n*t/r};else i={x:e,y:t};return i},yo=function e(t,n){var r=t.parentId;if(null!=r){var i=n.layoutNodes[n.idToIndex[r]],a=!1;return(null==i.maxX||t.maxX+i.padRight>i.maxX)&&(i.maxX=t.maxX+i.padRight,a=!0),(null==i.minX||t.minX-i.padLefti.maxY)&&(i.maxY=t.maxY+i.padBottom,a=!0),(null==i.minY||t.minY-i.padTopp&&(d+=f+t.componentSpacing,c=0,h=0,f=0)}}},bo={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,avoidOverlapPadding:10,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,condense:!1,rows:void 0,cols:void 0,position:function(e){},sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,t){return!0},ready:void 0,stop:void 0,transform:function(e,t){return t}};function xo(e){this.options=Q({},bo,e)}xo.prototype.run=function(){var e=this.options,t=e,n=e.cy,r=t.eles,i=r.nodes().not(":parent");t.sort&&(i=i.sort(t.sort));var a=pt(t.boundingBox?t.boundingBox:{x1:0,y1:0,w:n.width(),h:n.height()});if(0===a.h||0===a.w)r.nodes().layoutPositions(this,t,(function(e){return{x:a.x1,y:a.y1}}));else{var o=i.size(),s=Math.sqrt(o*a.h/a.w),u=Math.round(s),l=Math.round(a.w/a.h*s),c=function(e){if(null==e)return Math.min(u,l);Math.min(u,l)==u?u=e:l=e},d=function(e){if(null==e)return Math.max(u,l);Math.max(u,l)==u?u=e:l=e},h=t.rows,f=null!=t.cols?t.cols:t.columns;if(null!=h&&null!=f)u=h,l=f;else if(null!=h&&null==f)u=h,l=Math.ceil(o/u);else if(null==h&&null!=f)l=f,u=Math.ceil(o/l);else if(l*u>o){var p=c(),v=d();(p-1)*v>=o?c(p-1):(v-1)*p>=o&&d(v-1)}else for(;l*u=o?d(y+1):c(g+1)}var m=a.w/l,b=a.h/u;if(t.condense&&(m=0,b=0),t.avoidOverlap)for(var x=0;x=l&&(B=0,M++)},O={},A=0;A(r=Pt(e,t,x[w],x[w+1],x[w+2],x[w+3])))return g(n,r),!0}else if("bezier"===a.edgeType||"multibezier"===a.edgeType||"self"===a.edgeType||"compound"===a.edgeType)for(x=a.allpts,w=0;w+5(r=St(e,t,x[w],x[w+1],x[w+2],x[w+3],x[w+4],x[w+5])))return g(n,r),!0;m=m||i.source,b=b||i.target;var _=o.getArrowWidth(u,c),E=[{name:"source",x:a.arrowStartX,y:a.arrowStartY,angle:a.srcArrowAngle},{name:"target",x:a.arrowEndX,y:a.arrowEndY,angle:a.tgtArrowAngle},{name:"mid-source",x:a.midX,y:a.midY,angle:a.midsrcArrowAngle},{name:"mid-target",x:a.midX,y:a.midY,angle:a.midtgtArrowAngle}];for(w=0;w0&&(y(m),y(b))}function b(e,t,n){return ze(e,t,n)}function x(n,r){var i,a=n._private,o=p;i=r?r+"-":"",n.boundingBox();var s=a.labelBounds[r||"main"],u=n.pstyle(i+"label").value;if("yes"===n.pstyle("text-events").strValue&&u){var l=b(a.rscratch,"labelX",r),c=b(a.rscratch,"labelY",r),d=b(a.rscratch,"labelAngle",r),h=n.pstyle(i+"text-margin-x").pfValue,f=n.pstyle(i+"text-margin-y").pfValue,v=s.x1-o-h,y=s.x2+o-h,m=s.y1-o-f,x=s.y2+o-f;if(d){var w=Math.cos(d),_=Math.sin(d),E=function(e,t){return{x:(e-=l)*w-(t-=c)*_+l,y:e*_+t*w+c}},k=E(v,m),C=E(v,x),S=E(y,m),P=E(y,x),T=[k.x+h,k.y+f,S.x+h,S.y+f,P.x+h,P.y+f,C.x+h,C.y+f];if(Tt(e,t,T))return g(n),!0}else if(wt(s,e,t))return g(n),!0}}n&&(u=u.interactive);for(var w=u.length-1;w>=0;w--){var _=u[w];_.isNode()?y(_)||x(_):m(_)||x(_)||x(_,"source")||x(_,"target")}return l},getAllInBox:function(e,t,n,r){for(var i,a,o=this.getCachedZSortedEles().interactive,s=[],u=Math.min(e,n),l=Math.max(e,n),c=Math.min(t,r),d=Math.max(t,r),h=pt({x1:e=u,y1:t=c,x2:n=l,y2:r=d}),f=0;f0?Math.max(e-t,0):Math.min(e+t,0)},P=S(k,_),T=S(C,E),D=!1;"auto"===g?v=Math.abs(P)>Math.abs(T)?i:r:g===u||g===s?(v=r,D=!0):g!==a&&g!==o||(v=i,D=!0);var M,B=v===r,I=B?T:P,O=B?C:k,A=st(O),z=!1;D&&(m||x)||!(g===s&&O<0||g===u&&O>0||g===a&&O>0||g===o&&O<0)||(I=(A*=-1)*Math.abs(I),z=!0);var N=function(e){return Math.abs(e)=Math.abs(I)},L=N(M=m?(b<0?1+b:b)*I:(b<0?I:0)+b*A),R=N(Math.abs(I)-Math.abs(M));if(!L&&!R||z)if(B){var j=l.y1+M+(p?d/2*A:0),V=l.x1,F=l.x2;n.segpts=[V,j,F,j]}else{var q=l.x1+M+(p?c/2*A:0),W=l.y1,Y=l.y2;n.segpts=[q,W,q,Y]}else if(B){var X=Math.abs(O)<=d/2,H=Math.abs(k)<=h/2;if(X){var U=(l.x1+l.x2)/2,Z=l.y1,K=l.y2;n.segpts=[U,Z,U,K]}else if(H){var G=(l.y1+l.y2)/2,$=l.x1,Q=l.x2;n.segpts=[$,G,Q,G]}else n.segpts=[l.x1,l.y2]}else{var J=Math.abs(O)<=c/2,ee=Math.abs(C)<=f/2;if(J){var te=(l.y1+l.y2)/2,ne=l.x1,re=l.x2;n.segpts=[ne,te,re,te]}else if(ee){var ie=(l.x1+l.x2)/2,ae=l.y1,oe=l.y2;n.segpts=[ie,ae,ie,oe]}else n.segpts=[l.x2,l.y1]}},Ao.tryToCorrectInvalidPoints=function(e,t){var n=e._private.rscratch;if("bezier"===n.edgeType){var r=t.srcPos,i=t.tgtPos,a=t.srcW,o=t.srcH,s=t.tgtW,u=t.tgtH,l=t.srcShape,c=t.tgtShape,d=!I(n.startX)||!I(n.startY),h=!I(n.arrowStartX)||!I(n.arrowStartY),f=!I(n.endX)||!I(n.endY),p=!I(n.arrowEndX)||!I(n.arrowEndY),v=this.getArrowWidth(e.pstyle("width").pfValue,e.pstyle("arrow-scale").value)*this.arrowShapeWidth*3,g=ut({x:n.ctrlpts[0],y:n.ctrlpts[1]},{x:n.startX,y:n.startY}),y=gh.poolIndex()){var f=d;d=h,h=f}var p=s.srcPos=d.position(),v=s.tgtPos=h.position(),g=s.srcW=d.outerWidth(),y=s.srcH=d.outerHeight(),m=s.tgtW=h.outerWidth(),b=s.tgtH=h.outerHeight(),x=s.srcShape=n.nodeShapes[t.getNodeShape(d)],w=s.tgtShape=n.nodeShapes[t.getNodeShape(h)];s.dirCounts={north:0,west:0,south:0,east:0,northwest:0,southwest:0,northeast:0,southeast:0};for(var _=0;_0){var q=l,W=lt(q,it(t)),Y=lt(q,it(F)),X=W;Y2&<(q,{x:F[2],y:F[3]})0){var ie=c,ae=lt(ie,it(t)),oe=lt(ie,it(re)),se=ae;oe2&<(ie,{x:re[2],y:re[3]})=l||m){c={cp:v,segment:y};break}}if(c)break}var b=c.cp,x=c.segment,w=(l-h)/x.length,_=x.t1-x.t0,E=s?x.t0+_*w:x.t1-_*w;E=ft(0,E,1),t=ht(b.p0,b.p1,b.p2,E),i=function(e,t,n,r){var i=ft(0,r-.001,1),a=ft(0,r+.001,1),o=ht(e,t,n,i),s=ht(e,t,n,a);return Fo(o,s)}(b.p0,b.p1,b.p2,E);break;case"straight":case"segments":case"haystack":for(var k,C,S,P,T=0,D=r.allpts.length,M=0;M+3=l));M+=2);var B=(l-C)/k;B=ft(0,B,1),t=function(e,t,n,r){var i=t.x-e.x,a=t.y-e.y,o=ut(e,t),s=i/o,u=a/o;return n=null==n?0:n,r=null!=r?r:n*o,{x:e.x+s*r,y:e.y+u*r}}(S,P,B),i=Fo(S,P)}o("labelX",n,t.x),o("labelY",n,t.y),o("labelAutoAngle",n,i)}};l("source"),l("target"),this.applyLabelDimensions(e)}},jo.applyLabelDimensions=function(e){this.applyPrefixedLabelDimensions(e),e.isEdge()&&(this.applyPrefixedLabelDimensions(e,"source"),this.applyPrefixedLabelDimensions(e,"target"))},jo.applyPrefixedLabelDimensions=function(e,t){var n=e._private,r=this.getLabelText(e,t),i=this.calculateLabelDimensions(e,r),a=e.pstyle("line-height").pfValue,o=e.pstyle("text-wrap").strValue,s=ze(n.rscratch,"labelWrapCachedLines",t)||[],u="wrap"!==o?1:Math.max(s.length,1),l=i.height/u,c=l*a,d=i.width,h=i.height+(u-1)*(a-1)*l;Ne(n.rstyle,"labelWidth",t,d),Ne(n.rscratch,"labelWidth",t,d),Ne(n.rstyle,"labelHeight",t,h),Ne(n.rscratch,"labelHeight",t,h),Ne(n.rscratch,"labelLineHeight",t,c)},jo.getLabelText=function(e,t){var n=e._private,r=t?t+"-":"",i=e.pstyle(r+"label").strValue,a=e.pstyle("text-transform").value,o=function(e,r){return r?(Ne(n.rscratch,e,t,r),r):ze(n.rscratch,e,t)};if(!i)return"";"none"==a||("uppercase"==a?i=i.toUpperCase():"lowercase"==a&&(i=i.toLowerCase()));var s=e.pstyle("text-wrap").value;if("wrap"===s){var u=o("labelKey");if(null!=u&&o("labelWrapKey")===u)return o("labelWrapCachedText");for(var l=i.split("\n"),c=e.pstyle("text-max-width").pfValue,d="anywhere"===e.pstyle("text-overflow-wrap").value,h=[],f=/[\s\u200b]+/,p=d?"":" ",v=0;vc){for(var b=g.split(f),x="",w=0;wk);P++)C+=i[P],P===i.length-1&&(S=!0);return S||(C+="…"),C}return i},jo.getLabelJustification=function(e){var t=e.pstyle("text-justification").strValue,n=e.pstyle("text-halign").strValue;if("auto"!==t)return t;if(!e.isNode())return"center";switch(n){case"left":return"right";case"right":return"left";default:return"center"}},jo.calculateLabelDimensions=function(e,t){var n=pe(t,e._private.labelDimsKey),r=this.labelDimCache||(this.labelDimCache=[]),i=r[n];if(null!=i)return i;var a=e.pstyle("font-style").strValue,o=e.pstyle("font-size").pfValue,s=e.pstyle("font-family").strValue,u=e.pstyle("font-weight").strValue,l=this.labelCalcCanvas,c=this.labelCalcCanvasContext;if(!l){l=this.labelCalcCanvas=document.createElement("canvas"),c=this.labelCalcCanvasContext=l.getContext("2d");var d=l.style;d.position="absolute",d.left="-9999px",d.top="-9999px",d.zIndex="-1",d.visibility="hidden",d.pointerEvents="none"}c.font="".concat(a," ").concat(u," ").concat(o,"px ").concat(s);for(var h=0,f=0,p=t.split("\n"),v=0;v1&&void 0!==arguments[1])||arguments[1];if(t.merge(e),n)for(var r=0;r=e.desktopTapThreshold2}var S=i(t);g&&(e.hoverData.tapholdCancelled=!0),n=!0,r(v,["mousemove","vmousemove","tapdrag"],t,{x:l[0],y:l[1]});var P=function(){e.data.bgActivePosistion=void 0,e.hoverData.selecting||o.emit({originalEvent:t,type:"boxstart",position:{x:l[0],y:l[1]}}),p[4]=1,e.hoverData.selecting=!0,e.redrawHint("select",!0),e.redraw()};if(3===e.hoverData.which){if(g){var T={originalEvent:t,type:"cxtdrag",position:{x:l[0],y:l[1]}};m?m.emit(T):o.emit(T),e.hoverData.cxtDragged=!0,e.hoverData.cxtOver&&v===e.hoverData.cxtOver||(e.hoverData.cxtOver&&e.hoverData.cxtOver.emit({originalEvent:t,type:"cxtdragout",position:{x:l[0],y:l[1]}}),e.hoverData.cxtOver=v,v&&v.emit({originalEvent:t,type:"cxtdragover",position:{x:l[0],y:l[1]}}))}}else if(e.hoverData.dragging){if(n=!0,o.panningEnabled()&&o.userPanningEnabled()){var D;if(e.hoverData.justStartedPan){var M=e.hoverData.mdownPos;D={x:(l[0]-M[0])*s,y:(l[1]-M[1])*s},e.hoverData.justStartedPan=!1}else D={x:b[0]*s,y:b[1]*s};o.panBy(D),o.emit("dragpan"),e.hoverData.dragged=!0}l=e.projectIntoViewport(t.clientX,t.clientY)}else if(1!=p[4]||null!=m&&!m.pannable()){if(m&&m.pannable()&&m.active()&&m.unactivate(),m&&m.grabbed()||v==y||(y&&r(y,["mouseout","tapdragout"],t,{x:l[0],y:l[1]}),v&&r(v,["mouseover","tapdragover"],t,{x:l[0],y:l[1]}),e.hoverData.last=v),m)if(g){if(o.boxSelectionEnabled()&&S)m&&m.grabbed()&&(h(x),m.emit("freeon"),x.emit("free"),e.dragData.didDrag&&(m.emit("dragfreeon"),x.emit("dragfree"))),P();else if(m&&m.grabbed()&&e.nodeIsDraggable(m)){var B=!e.dragData.didDrag;B&&e.redrawHint("eles",!0),e.dragData.didDrag=!0,e.hoverData.draggingEles||c(x,{inDragLayer:!0});var O={x:0,y:0};if(I(b[0])&&I(b[1])&&(O.x+=b[0],O.y+=b[1],B)){var A=e.hoverData.dragDelta;A&&I(A[0])&&I(A[1])&&(O.x+=A[0],O.y+=A[1])}e.hoverData.draggingEles=!0,x.silentShift(O).emit("position drag"),e.redrawHint("drag",!0),e.redraw()}}else!function(){var t=e.hoverData.dragDelta=e.hoverData.dragDelta||[];0===t.length?(t.push(b[0]),t.push(b[1])):(t[0]+=b[0],t[1]+=b[1])}();n=!0}else g&&(e.hoverData.dragging||!o.boxSelectionEnabled()||!S&&o.panningEnabled()&&o.userPanningEnabled()?!e.hoverData.selecting&&o.panningEnabled()&&o.userPanningEnabled()&&a(m,e.hoverData.downs)&&(e.hoverData.dragging=!0,e.hoverData.justStartedPan=!0,p[4]=0,e.data.bgActivePosistion=it(d),e.redrawHint("select",!0),e.redraw()):P(),m&&m.pannable()&&m.active()&&m.unactivate());return p[2]=l[0],p[3]=l[1],n?(t.stopPropagation&&t.stopPropagation(),t.preventDefault&&t.preventDefault(),!1):void 0}}),!1),e.registerBinding(t,"mouseup",(function(t){if(e.hoverData.capture){e.hoverData.capture=!1;var a=e.cy,o=e.projectIntoViewport(t.clientX,t.clientY),s=e.selection,u=e.findNearestElement(o[0],o[1],!0,!1),l=e.dragData.possibleDragElements,c=e.hoverData.down,d=i(t);if(e.data.bgActivePosistion&&(e.redrawHint("select",!0),e.redraw()),e.hoverData.tapholdCancelled=!0,e.data.bgActivePosistion=void 0,c&&c.unactivate(),3===e.hoverData.which){var f={originalEvent:t,type:"cxttapend",position:{x:o[0],y:o[1]}};if(c?c.emit(f):a.emit(f),!e.hoverData.cxtDragged){var p={originalEvent:t,type:"cxttap",position:{x:o[0],y:o[1]}};c?c.emit(p):a.emit(p)}e.hoverData.cxtDragged=!1,e.hoverData.which=null}else if(1===e.hoverData.which){if(r(u,["mouseup","tapend","vmouseup"],t,{x:o[0],y:o[1]}),e.dragData.didDrag||e.hoverData.dragged||e.hoverData.selecting||e.hoverData.isOverThresholdDrag||(r(c,["click","tap","vclick"],t,{x:o[0],y:o[1]}),x=!1,t.timeStamp-w<=a.multiClickDebounceTime()?(b&&clearTimeout(b),x=!0,w=null,r(c,["dblclick","dbltap","vdblclick"],t,{x:o[0],y:o[1]})):(b=setTimeout((function(){x||r(c,["oneclick","onetap","voneclick"],t,{x:o[0],y:o[1]})}),a.multiClickDebounceTime()),w=t.timeStamp)),null!=c||e.dragData.didDrag||e.hoverData.selecting||e.hoverData.dragged||i(t)||(a.$(n).unselect(["tapunselect"]),l.length>0&&e.redrawHint("eles",!0),e.dragData.possibleDragElements=l=a.collection()),u!=c||e.dragData.didDrag||e.hoverData.selecting||null!=u&&u._private.selectable&&(e.hoverData.dragging||("additive"===a.selectionType()||d?u.selected()?u.unselect(["tapunselect"]):u.select(["tapselect"]):d||(a.$(n).unmerge(u).unselect(["tapunselect"]),u.select(["tapselect"]))),e.redrawHint("eles",!0)),e.hoverData.selecting){var v=a.collection(e.getAllInBox(s[0],s[1],s[2],s[3]));e.redrawHint("select",!0),v.length>0&&e.redrawHint("eles",!0),a.emit({type:"boxend",originalEvent:t,position:{x:o[0],y:o[1]}});"additive"===a.selectionType()||d||a.$(n).unmerge(v).unselect(),v.emit("box").stdFilter((function(e){return e.selectable()&&!e.selected()})).select().emit("boxselect"),e.redraw()}if(e.hoverData.dragging&&(e.hoverData.dragging=!1,e.redrawHint("select",!0),e.redrawHint("eles",!0),e.redraw()),!s[4]){e.redrawHint("drag",!0),e.redrawHint("eles",!0);var g=c&&c.grabbed();h(l),g&&(c.emit("freeon"),l.emit("free"),e.dragData.didDrag&&(c.emit("dragfreeon"),l.emit("dragfree")))}}s[4]=0,e.hoverData.down=null,e.hoverData.cxtStarted=!1,e.hoverData.draggingEles=!1,e.hoverData.selecting=!1,e.hoverData.isOverThresholdDrag=!1,e.dragData.didDrag=!1,e.hoverData.dragged=!1,e.hoverData.dragDelta=[],e.hoverData.mdownPos=null,e.hoverData.mdownGPos=null}}),!1);var E,k,C,S,P,T,D,M,B,O,A,z,N,L=function(t){if(!e.scrollingPage){var n=e.cy,r=n.zoom(),i=n.pan(),a=e.projectIntoViewport(t.clientX,t.clientY),o=[a[0]*r+i.x,a[1]*r+i.y];if(e.hoverData.draggingEles||e.hoverData.dragging||e.hoverData.cxtStarted||0!==e.selection[4])t.preventDefault();else if(n.panningEnabled()&&n.userPanningEnabled()&&n.zoomingEnabled()&&n.userZoomingEnabled()){var s;t.preventDefault(),e.data.wheelZooming=!0,clearTimeout(e.data.wheelTimeout),e.data.wheelTimeout=setTimeout((function(){e.data.wheelZooming=!1,e.redrawHint("eles",!0),e.redraw()}),150),s=null!=t.deltaY?t.deltaY/-250:null!=t.wheelDeltaY?t.wheelDeltaY/1e3:t.wheelDelta/1e3,s*=e.wheelSensitivity,1===t.deltaMode&&(s*=33);var u=n.zoom()*Math.pow(10,s);"gesturechange"===t.type&&(u=e.gestureStartZoom*t.scale),n.zoom({level:u,renderedPosition:{x:o[0],y:o[1]}}),n.emit("gesturechange"===t.type?"pinchzoom":"scrollzoom")}}};e.registerBinding(e.container,"wheel",L,!0),e.registerBinding(t,"scroll",(function(t){e.scrollingPage=!0,clearTimeout(e.scrollingPageTimeout),e.scrollingPageTimeout=setTimeout((function(){e.scrollingPage=!1}),250)}),!0),e.registerBinding(e.container,"gesturestart",(function(t){e.gestureStartZoom=e.cy.zoom(),e.hasTouchStarted||t.preventDefault()}),!0),e.registerBinding(e.container,"gesturechange",(function(t){e.hasTouchStarted||L(t)}),!0),e.registerBinding(e.container,"mouseout",(function(t){var n=e.projectIntoViewport(t.clientX,t.clientY);e.cy.emit({originalEvent:t,type:"mouseout",position:{x:n[0],y:n[1]}})}),!1),e.registerBinding(e.container,"mouseover",(function(t){var n=e.projectIntoViewport(t.clientX,t.clientY);e.cy.emit({originalEvent:t,type:"mouseover",position:{x:n[0],y:n[1]}})}),!1);var R,j,V,F,q,W,Y,X=function(e,t,n,r){return Math.sqrt((n-e)*(n-e)+(r-t)*(r-t))},H=function(e,t,n,r){return(n-e)*(n-e)+(r-t)*(r-t)};if(e.registerBinding(e.container,"touchstart",R=function(t){if(e.hasTouchStarted=!0,_(t)){p(),e.touchData.capture=!0,e.data.bgActivePosistion=void 0;var n=e.cy,i=e.touchData.now,a=e.touchData.earlier;if(t.touches[0]){var o=e.projectIntoViewport(t.touches[0].clientX,t.touches[0].clientY);i[0]=o[0],i[1]=o[1]}if(t.touches[1]&&(o=e.projectIntoViewport(t.touches[1].clientX,t.touches[1].clientY),i[2]=o[0],i[3]=o[1]),t.touches[2]&&(o=e.projectIntoViewport(t.touches[2].clientX,t.touches[2].clientY),i[4]=o[0],i[5]=o[1]),t.touches[1]){e.touchData.singleTouchMoved=!0,h(e.dragData.touchDragEles);var u=e.findContainerClientCoords();B=u[0],O=u[1],A=u[2],z=u[3],E=t.touches[0].clientX-B,k=t.touches[0].clientY-O,C=t.touches[1].clientX-B,S=t.touches[1].clientY-O,N=0<=E&&E<=A&&0<=C&&C<=A&&0<=k&&k<=z&&0<=S&&S<=z;var l=n.pan(),f=n.zoom();if(P=X(E,k,C,S),T=H(E,k,C,S),M=[((D=[(E+C)/2,(k+S)/2])[0]-l.x)/f,(D[1]-l.y)/f],T<4e4&&!t.touches[2]){var v=e.findNearestElement(i[0],i[1],!0,!0),g=e.findNearestElement(i[2],i[3],!0,!0);return v&&v.isNode()?(v.activate().emit({originalEvent:t,type:"cxttapstart",position:{x:i[0],y:i[1]}}),e.touchData.start=v):g&&g.isNode()?(g.activate().emit({originalEvent:t,type:"cxttapstart",position:{x:i[0],y:i[1]}}),e.touchData.start=g):n.emit({originalEvent:t,type:"cxttapstart",position:{x:i[0],y:i[1]}}),e.touchData.start&&(e.touchData.start._private.grabbed=!1),e.touchData.cxt=!0,e.touchData.cxtDragged=!1,e.data.bgActivePosistion=void 0,void e.redraw()}}if(t.touches[2])n.boxSelectionEnabled()&&t.preventDefault();else if(t.touches[1]);else if(t.touches[0]){var y=e.findNearestElements(i[0],i[1],!0,!0),m=y[0];if(null!=m&&(m.activate(),e.touchData.start=m,e.touchData.starts=y,e.nodeIsGrabbable(m))){var b=e.dragData.touchDragEles=n.collection(),x=null;e.redrawHint("eles",!0),e.redrawHint("drag",!0),m.selected()?(x=n.$((function(t){return t.selected()&&e.nodeIsGrabbable(t)})),c(x,{addToList:b})):d(m,{addToList:b}),s(m);var w=function(e){return{originalEvent:t,type:e,position:{x:i[0],y:i[1]}}};m.emit(w("grabon")),x?x.forEach((function(e){e.emit(w("grab"))})):m.emit(w("grab"))}r(m,["touchstart","tapstart","vmousedown"],t,{x:i[0],y:i[1]}),null==m&&(e.data.bgActivePosistion={x:o[0],y:o[1]},e.redrawHint("select",!0),e.redraw()),e.touchData.singleTouchMoved=!1,e.touchData.singleTouchStartTime=+new Date,clearTimeout(e.touchData.tapholdTimeout),e.touchData.tapholdTimeout=setTimeout((function(){!1!==e.touchData.singleTouchMoved||e.pinching||e.touchData.selecting||r(e.touchData.start,["taphold"],t,{x:i[0],y:i[1]})}),e.tapholdDuration)}if(t.touches.length>=1){for(var I=e.touchData.startPosition=[null,null,null,null,null,null],L=0;L=e.touchTapThreshold2}if(n&&e.touchData.cxt){t.preventDefault();var x=t.touches[0].clientX-B,w=t.touches[0].clientY-O,D=t.touches[1].clientX-B,A=t.touches[1].clientY-O,z=H(x,w,D,A);if(z/T>=2.25||z>=22500){e.touchData.cxt=!1,e.data.bgActivePosistion=void 0,e.redrawHint("select",!0);var L={originalEvent:t,type:"cxttapend",position:{x:s[0],y:s[1]}};e.touchData.start?(e.touchData.start.unactivate().emit(L),e.touchData.start=null):o.emit(L)}}if(n&&e.touchData.cxt){L={originalEvent:t,type:"cxtdrag",position:{x:s[0],y:s[1]}},e.data.bgActivePosistion=void 0,e.redrawHint("select",!0),e.touchData.start?e.touchData.start.emit(L):o.emit(L),e.touchData.start&&(e.touchData.start._private.grabbed=!1),e.touchData.cxtDragged=!0;var R=e.findNearestElement(s[0],s[1],!0,!0);e.touchData.cxtOver&&R===e.touchData.cxtOver||(e.touchData.cxtOver&&e.touchData.cxtOver.emit({originalEvent:t,type:"cxtdragout",position:{x:s[0],y:s[1]}}),e.touchData.cxtOver=R,R&&R.emit({originalEvent:t,type:"cxtdragover",position:{x:s[0],y:s[1]}}))}else if(n&&t.touches[2]&&o.boxSelectionEnabled())t.preventDefault(),e.data.bgActivePosistion=void 0,this.lastThreeTouch=+new Date,e.touchData.selecting||o.emit({originalEvent:t,type:"boxstart",position:{x:s[0],y:s[1]}}),e.touchData.selecting=!0,e.touchData.didSelect=!0,i[4]=1,i&&0!==i.length&&void 0!==i[0]?(i[2]=(s[0]+s[2]+s[4])/3,i[3]=(s[1]+s[3]+s[5])/3):(i[0]=(s[0]+s[2]+s[4])/3,i[1]=(s[1]+s[3]+s[5])/3,i[2]=(s[0]+s[2]+s[4])/3+1,i[3]=(s[1]+s[3]+s[5])/3+1),e.redrawHint("select",!0),e.redraw();else if(n&&t.touches[1]&&!e.touchData.didSelect&&o.zoomingEnabled()&&o.panningEnabled()&&o.userZoomingEnabled()&&o.userPanningEnabled()){if(t.preventDefault(),e.data.bgActivePosistion=void 0,e.redrawHint("select",!0),ee=e.dragData.touchDragEles){e.redrawHint("drag",!0);for(var j=0;j0&&!e.hoverData.draggingEles&&!e.swipePanning&&null!=e.data.bgActivePosistion&&(e.data.bgActivePosistion=void 0,e.redrawHint("select",!0),e.redraw())}},!1),e.registerBinding(t,"touchcancel",V=function(t){var n=e.touchData.start;e.touchData.capture=!1,n&&n.unactivate()}),e.registerBinding(t,"touchend",F=function(t){var i=e.touchData.start;if(e.touchData.capture){0===t.touches.length&&(e.touchData.capture=!1),t.preventDefault();var a=e.selection;e.swipePanning=!1,e.hoverData.draggingEles=!1;var o,s=e.cy,u=s.zoom(),l=e.touchData.now,c=e.touchData.earlier;if(t.touches[0]){var d=e.projectIntoViewport(t.touches[0].clientX,t.touches[0].clientY);l[0]=d[0],l[1]=d[1]}if(t.touches[1]&&(d=e.projectIntoViewport(t.touches[1].clientX,t.touches[1].clientY),l[2]=d[0],l[3]=d[1]),t.touches[2]&&(d=e.projectIntoViewport(t.touches[2].clientX,t.touches[2].clientY),l[4]=d[0],l[5]=d[1]),i&&i.unactivate(),e.touchData.cxt){if(o={originalEvent:t,type:"cxttapend",position:{x:l[0],y:l[1]}},i?i.emit(o):s.emit(o),!e.touchData.cxtDragged){var f={originalEvent:t,type:"cxttap",position:{x:l[0],y:l[1]}};i?i.emit(f):s.emit(f)}return e.touchData.start&&(e.touchData.start._private.grabbed=!1),e.touchData.cxt=!1,e.touchData.start=null,void e.redraw()}if(!t.touches[2]&&s.boxSelectionEnabled()&&e.touchData.selecting){e.touchData.selecting=!1;var p=s.collection(e.getAllInBox(a[0],a[1],a[2],a[3]));a[0]=void 0,a[1]=void 0,a[2]=void 0,a[3]=void 0,a[4]=0,e.redrawHint("select",!0),s.emit({type:"boxend",originalEvent:t,position:{x:l[0],y:l[1]}}),p.emit("box").stdFilter((function(e){return e.selectable()&&!e.selected()})).select().emit("boxselect"),p.nonempty()&&e.redrawHint("eles",!0),e.redraw()}if(null!=i&&i.unactivate(),t.touches[2])e.data.bgActivePosistion=void 0,e.redrawHint("select",!0);else if(t.touches[1]);else if(t.touches[0]);else if(!t.touches[0]){e.data.bgActivePosistion=void 0,e.redrawHint("select",!0);var v=e.dragData.touchDragEles;if(null!=i){var g=i._private.grabbed;h(v),e.redrawHint("drag",!0),e.redrawHint("eles",!0),g&&(i.emit("freeon"),v.emit("free"),e.dragData.didDrag&&(i.emit("dragfreeon"),v.emit("dragfree"))),r(i,["touchend","tapend","vmouseup","tapdragout"],t,{x:l[0],y:l[1]}),i.unactivate(),e.touchData.start=null}else{var y=e.findNearestElement(l[0],l[1],!0,!0);r(y,["touchend","tapend","vmouseup","tapdragout"],t,{x:l[0],y:l[1]})}var m=e.touchData.startPosition[0]-l[0],b=m*m,x=e.touchData.startPosition[1]-l[1],w=(b+x*x)*u*u;e.touchData.singleTouchMoved||(i||s.$(":selected").unselect(["tapunselect"]),r(i,["tap","vclick"],t,{x:l[0],y:l[1]}),q=!1,t.timeStamp-Y<=s.multiClickDebounceTime()?(W&&clearTimeout(W),q=!0,Y=null,r(i,["dbltap","vdblclick"],t,{x:l[0],y:l[1]})):(W=setTimeout((function(){q||r(i,["onetap","voneclick"],t,{x:l[0],y:l[1]})}),s.multiClickDebounceTime()),Y=t.timeStamp)),null!=i&&!e.dragData.didDrag&&i._private.selectable&&w2){for(var T=[l[0],l[1]],D=Math.pow(T[0]-e,2)+Math.pow(T[1]-t,2),M=1;M0)return v[0]}return null},h=Object.keys(c),f=0;f0?u:Et(i,a,e,t,n,r,o)},checkPoint:function(e,t,n,r,i,a,o){var s=Ft(r,i),u=2*s;if(Dt(e,t,this.points,a,o,r,i-u,[0,-1],n))return!0;if(Dt(e,t,this.points,a,o,r-u,i,[0,-1],n))return!0;var l=r/2+2*n,c=i/2+2*n;return!!Tt(e,t,[a-l,o-c,a-l,o,a+l,o,a+l,o-c])||!!It(e,t,u,u,a+r/2-s,o+i/2-s,n)||!!It(e,t,u,u,a-r/2+s,o+i/2-s,n)}}},registerNodeShapes:function(){var e=this.nodeShapes={},t=this;this.generateEllipse(),this.generatePolygon("triangle",Rt(3,0)),this.generateRoundPolygon("round-triangle",Rt(3,0)),this.generatePolygon("rectangle",Rt(4,0)),e.square=e.rectangle,this.generateRoundRectangle(),this.generateCutRectangle(),this.generateBarrel(),this.generateBottomRoundrectangle();var n=[0,1,1,0,0,-1,-1,0];this.generatePolygon("diamond",n),this.generateRoundPolygon("round-diamond",n),this.generatePolygon("pentagon",Rt(5,0)),this.generateRoundPolygon("round-pentagon",Rt(5,0)),this.generatePolygon("hexagon",Rt(6,0)),this.generateRoundPolygon("round-hexagon",Rt(6,0)),this.generatePolygon("heptagon",Rt(7,0)),this.generateRoundPolygon("round-heptagon",Rt(7,0)),this.generatePolygon("octagon",Rt(8,0)),this.generateRoundPolygon("round-octagon",Rt(8,0));var r=new Array(20),i=Vt(5,0),a=Vt(5,Math.PI/5),o=.5*(3-Math.sqrt(5));o*=1.57;for(var s=0;s=e.deqFastCost*v)break}else if(i){if(f>=e.deqCost*u||f>=e.deqAvgCost*s)break}else if(p>=e.deqNoDrawCost*Jo)break;var g=e.deq(t,d,c);if(!(g.length>0))break;for(var y=0;y0&&(e.onDeqd(t,l),!i&&e.shouldRedraw(t,l,d,c)&&r())}),i(t))}}},ts=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:_e;v(this,e),this.idsByKey=new Le,this.keyForId=new Le,this.cachesByLvl=new Le,this.lvls=[],this.getKey=t,this.doesEleInvalidateKey=n}return y(e,[{key:"getIdsFor",value:function(e){null==e&&Ce("Can not get id list for null key");var t=this.idsByKey,n=this.idsByKey.get(e);return n||(n=new je,t.set(e,n)),n}},{key:"addIdForKey",value:function(e,t){null!=e&&this.getIdsFor(e).add(t)}},{key:"deleteIdForKey",value:function(e,t){null!=e&&this.getIdsFor(e).delete(t)}},{key:"getNumberOfIdsForKey",value:function(e){return null==e?0:this.getIdsFor(e).size}},{key:"updateKeyMappingFor",value:function(e){var t=e.id(),n=this.keyForId.get(t),r=this.getKey(e);this.deleteIdForKey(n,t),this.addIdForKey(r,t),this.keyForId.set(t,r)}},{key:"deleteKeyMappingFor",value:function(e){var t=e.id(),n=this.keyForId.get(t);this.deleteIdForKey(n,t),this.keyForId.delete(t)}},{key:"keyHasChangedFor",value:function(e){var t=e.id();return this.keyForId.get(t)!==this.getKey(e)}},{key:"isInvalid",value:function(e){return this.keyHasChangedFor(e)||this.doesEleInvalidateKey(e)}},{key:"getCachesAt",value:function(e){var t=this.cachesByLvl,n=this.lvls,r=t.get(e);return r||(r=new Le,t.set(e,r),n.push(e)),r}},{key:"getCache",value:function(e,t){return this.getCachesAt(t).get(e)}},{key:"get",value:function(e,t){var n=this.getKey(e),r=this.getCache(n,t);return null!=r&&this.updateKeyMappingFor(e),r}},{key:"getForCachedKey",value:function(e,t){var n=this.keyForId.get(e.id());return this.getCache(n,t)}},{key:"hasCache",value:function(e,t){return this.getCachesAt(t).has(e)}},{key:"has",value:function(e,t){var n=this.getKey(e);return this.hasCache(n,t)}},{key:"setCache",value:function(e,t,n){n.key=e,this.getCachesAt(t).set(e,n)}},{key:"set",value:function(e,t,n){var r=this.getKey(e);this.setCache(r,t,n),this.updateKeyMappingFor(e)}},{key:"deleteCache",value:function(e,t){this.getCachesAt(t).delete(e)}},{key:"delete",value:function(e,t){var n=this.getKey(e);this.deleteCache(n,t)}},{key:"invalidateKey",value:function(e){var t=this;this.lvls.forEach((function(n){return t.deleteCache(e,n)}))}},{key:"invalidate",value:function(e){var t=e.id(),n=this.keyForId.get(t);this.deleteKeyMappingFor(e);var r=this.doesEleInvalidateKey(e);return r&&this.invalidateKey(n),r||0===this.getNumberOfIdsForKey(n)}}]),e}(),ns={dequeue:"dequeue",downscale:"downscale",highQuality:"highQuality"},rs=Ie({getKey:null,doesEleInvalidateKey:_e,drawElement:null,getBoundingBox:null,getRotationPoint:null,getRotationOffset:null,isVisible:we,allowEdgeTxrCaching:!0,allowParentTxrCaching:!0}),is=function(e,t){var n=this;n.renderer=e,n.onDequeues=[];var r=rs(t);Q(n,r),n.lookup=new ts(r.getKey,r.doesEleInvalidateKey),n.setupDequeueing()},as=is.prototype;as.reasons=ns,as.getTextureQueue=function(e){var t=this;return t.eleImgCaches=t.eleImgCaches||{},t.eleImgCaches[e]=t.eleImgCaches[e]||[]},as.getRetiredTextureQueue=function(e){var t=this.eleImgCaches.retired=this.eleImgCaches.retired||{};return t[e]=t[e]||[]},as.getElementQueue=function(){return this.eleCacheQueue=this.eleCacheQueue||new c.default((function(e,t){return t.reqs-e.reqs}))},as.getElementKeyToQueue=function(){return this.eleKeyToCacheQueue=this.eleKeyToCacheQueue||{}},as.getElement=function(e,t,n,r,i){var a=this,o=this.renderer,s=o.cy.zoom(),u=this.lookup;if(!t||0===t.w||0===t.h||isNaN(t.w)||isNaN(t.h)||!e.visible()||e.removed())return null;if(!a.allowEdgeTxrCaching&&e.isEdge()||!a.allowParentTxrCaching&&e.isParent())return null;if(null==r&&(r=Math.ceil(ot(s*n))),r<-4)r=-4;else if(s>=7.99||r>3)return null;var l=Math.pow(2,r),c=t.h*l,d=t.w*l,h=o.eleTextBiggerThanMin(e,l);if(!this.isVisible(e,h))return null;var f,p=u.get(e,r);if(p&&p.invalidated&&(p.invalidated=!1,p.texture.invalidatedWidth-=p.width),p)return p;if(f=c<=25?25:c<=50?50:50*Math.ceil(c/50),c>1024||d>1024)return null;var v=a.getTextureQueue(f),g=v[v.length-2],y=function(){return a.recycleTexture(f,d)||a.addTexture(f,d)};g||(g=v[v.length-1]),g||(g=y()),g.width-g.usedWidthr;P--)C=a.getElement(e,t,n,P,ns.downscale);S()}else{var T;if(!x&&!w&&!_)for(var D=r-1;D>=-4;D--){var M=u.get(e,D);if(M){T=M;break}}if(b(T))return a.queueElement(e,r),T;g.context.translate(g.usedWidth,0),g.context.scale(l,l),this.drawElement(g.context,e,t,h,!1),g.context.scale(1/l,1/l),g.context.translate(-g.usedWidth,0)}return p={x:g.usedWidth,texture:g,level:r,scale:l,width:d,height:c,scaledLabelShown:h},g.usedWidth+=Math.ceil(d+8),g.eleCaches.push(p),u.set(e,r,p),a.checkTextureFullness(g),p},as.invalidateElements=function(e){for(var t=0;t=.2*e.width&&this.retireTexture(e)},as.checkTextureFullness=function(e){var t=this.getTextureQueue(e.height);e.usedWidth/e.width>.8&&e.fullnessChecks>=10?Oe(t,e):e.fullnessChecks++},as.retireTexture=function(e){var t=e.height,n=this.getTextureQueue(t),r=this.lookup;Oe(n,e),e.retired=!0;for(var i=e.eleCaches,a=0;a=t)return a.retired=!1,a.usedWidth=0,a.invalidatedWidth=0,a.fullnessChecks=0,Ae(a.eleCaches),a.context.setTransform(1,0,0,1,0,0),a.context.clearRect(0,0,a.width,a.height),Oe(r,a),n.push(a),a}},as.queueElement=function(e,t){var n=this.getElementQueue(),r=this.getElementKeyToQueue(),i=this.getKey(e),a=r[i];if(a)a.level=Math.max(a.level,t),a.eles.merge(e),a.reqs++,n.updateItem(a);else{var o={eles:e.spawn().merge(e),level:t,reqs:1,key:i};n.push(o),r[i]=o}},as.dequeue=function(e){for(var t=this,n=t.getElementQueue(),r=t.getElementKeyToQueue(),i=[],a=t.lookup,o=0;o<1&&n.size()>0;o++){var s=n.pop(),u=s.key,l=s.eles[0],c=a.hasCache(l,s.level);if(r[u]=null,!c){i.push(s);var d=t.getBoundingBox(l);t.getElement(l,d,e,s.level,ns.dequeue)}}return i},as.removeFromQueue=function(e){var t=this.getElementQueue(),n=this.getElementKeyToQueue(),r=this.getKey(e),i=n[r];null!=i&&(1===i.eles.length?(i.reqs=xe,t.updateItem(i),t.pop(),n[r]=null):i.eles.unmerge(e))},as.onDequeue=function(e){this.onDequeues.push(e)},as.offDequeue=function(e){Oe(this.onDequeues,e)},as.setupDequeueing=es({deqRedrawThreshold:100,deqCost:.15,deqAvgCost:.1,deqNoDrawCost:.9,deqFastCost:.9,deq:function(e,t,n){return e.dequeue(t,n)},onDeqd:function(e,t){for(var n=0;n=3.99||n>2)return null;r.validateLayersElesOrdering(n,e);var o,s,u=r.layersByLevel,l=Math.pow(2,n),c=u[n]=u[n]||[];if(r.levelIsComplete(n,e))return c;!function(){var t=function(t){if(r.validateLayersElesOrdering(t,e),r.levelIsComplete(t,e))return s=u[t],!0},i=function(e){if(!s)for(var r=n+e;-4<=r&&r<=2&&!t(r);r+=e);};i(1),i(-1);for(var a=c.length-1;a>=0;a--){var o=c[a];o.invalid&&Oe(c,o)}}();var d=function(t){var i=(t=t||{}).after;if(function(){if(!o){o=pt();for(var t=0;t16e6)return null;var a=r.makeLayer(o,n);if(null!=i){var s=c.indexOf(i)+1;c.splice(s,0,a)}else(void 0===t.insert||t.insert)&&c.unshift(a);return a};if(r.skipping&&!a)return null;for(var h=null,f=e.length/1,p=!a,v=0;v=f||!_t(h.bb,g.boundingBox()))&&!(h=d({insert:!0,after:h})))return null;s||p?r.queueLayer(h,g):r.drawEleInLayer(h,g,n,t),h.eles.push(g),m[n]=h}}return s||(p?null:c)},ss.getEleLevelForLayerLevel=function(e,t){return e},ss.drawEleInLayer=function(e,t,n,r){var i=this.renderer,a=e.context,o=t.boundingBox();0!==o.w&&0!==o.h&&t.visible()&&(n=this.getEleLevelForLayerLevel(n,r),i.setImgSmoothing(a,!1),i.drawCachedElement(a,t,null,null,n,!0),i.setImgSmoothing(a,!0))},ss.levelIsComplete=function(e,t){var n=this.layersByLevel[e];if(!n||0===n.length)return!1;for(var r=0,i=0;i0)return!1;if(a.invalid)return!1;r+=a.eles.length}return r===t.length},ss.validateLayersElesOrdering=function(e,t){var n=this.layersByLevel[e];if(n)for(var r=0;r0){e=!0;break}}return e},ss.invalidateElements=function(e){var t=this;0!==e.length&&(t.lastInvalidationTime=oe(),0!==e.length&&t.haveLayers()&&t.updateElementsInLayers(e,(function(e,n,r){t.invalidateLayer(e)})))},ss.invalidateLayer=function(e){if(this.lastInvalidationTime=oe(),!e.invalid){var t=e.level,n=e.eles,r=this.layersByLevel[t];Oe(r,e),e.elesQueue=[],e.invalid=!0,e.replacement&&(e.replacement.invalid=!0);for(var i=0;i3&&void 0!==arguments[3])||arguments[3],i=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],a=!(arguments.length>5&&void 0!==arguments[5])||arguments[5],o=this,s=t._private.rscratch;if((!a||t.visible())&&!s.badLine&&null!=s.allpts&&!isNaN(s.allpts[0])){var u;n&&(u=n,e.translate(-u.x1,-u.y1));var l=a?t.pstyle("opacity").value:1,c=a?t.pstyle("line-opacity").value:1,d=t.pstyle("curve-style").value,h=t.pstyle("line-style").value,f=t.pstyle("width").pfValue,p=t.pstyle("line-cap").value,v=l*c,g=l*c,y=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:v;"straight-triangle"===d?(o.eleStrokeStyle(e,t,n),o.drawEdgeTrianglePath(t,e,s.allpts)):(e.lineWidth=f,e.lineCap=p,o.eleStrokeStyle(e,t,n),o.drawEdgePath(t,e,s.allpts,h),e.lineCap="butt")},m=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:g;o.drawArrowheads(e,t,n)};if(e.lineJoin="round","yes"===t.pstyle("ghost").value){var b=t.pstyle("ghost-offset-x").pfValue,x=t.pstyle("ghost-offset-y").pfValue,w=t.pstyle("ghost-opacity").value,_=v*w;e.translate(b,x),y(_),m(_),e.translate(-b,-x)}i&&o.drawEdgeUnderlay(e,t),y(),m(),i&&o.drawEdgeOverlay(e,t),o.drawElementText(e,t,null,r),n&&e.translate(u.x1,u.y1)}}},Cs=function(e){if(!["overlay","underlay"].includes(e))throw new Error("Invalid state");return function(t,n){if(n.visible()){var r=n.pstyle("".concat(e,"-opacity")).value;if(0!==r){var i=this,a=i.usePaths(),o=n._private.rscratch,s=2*n.pstyle("".concat(e,"-padding")).pfValue,u=n.pstyle("".concat(e,"-color")).value;t.lineWidth=s,"self"!==o.edgeType||a?t.lineCap="round":t.lineCap="butt",i.colorStrokeStyle(t,u[0],u[1],u[2],r),i.drawEdgePath(n,t,o.allpts,"solid")}}}};ks.drawEdgeOverlay=Cs("overlay"),ks.drawEdgeUnderlay=Cs("underlay"),ks.drawEdgePath=function(e,t,n,r){var i,a=e._private.rscratch,o=t,s=!1,u=this.usePaths(),l=e.pstyle("line-dash-pattern").pfValue,c=e.pstyle("line-dash-offset").pfValue;if(u){var d=n.join("$");a.pathCacheKey&&a.pathCacheKey===d?(i=t=a.pathCache,s=!0):(i=t=new Path2D,a.pathCacheKey=d,a.pathCache=i)}if(o.setLineDash)switch(r){case"dotted":o.setLineDash([1,1]);break;case"dashed":o.setLineDash(l),o.lineDashOffset=c;break;case"solid":o.setLineDash([])}if(!s&&!a.badLine)switch(t.beginPath&&t.beginPath(),t.moveTo(n[0],n[1]),a.edgeType){case"bezier":case"self":case"compound":case"multibezier":for(var h=2;h+35&&void 0!==arguments[5]?arguments[5]:5,o=arguments.length>6?arguments[6]:void 0;e.beginPath(),e.moveTo(t+a,n),e.lineTo(t+r-a,n),e.quadraticCurveTo(t+r,n,t+r,n+a),e.lineTo(t+r,n+i-a),e.quadraticCurveTo(t+r,n+i,t+r-a,n+i),e.lineTo(t+a,n+i),e.quadraticCurveTo(t,n+i,t,n+i-a),e.lineTo(t,n+a),e.quadraticCurveTo(t,n,t+a,n),e.closePath(),o?e.stroke():e.fill()}Ps.eleTextBiggerThanMin=function(e,t){if(!t){var n=e.cy().zoom(),r=this.getPixelRatio(),i=Math.ceil(ot(n*r));t=Math.pow(2,i)}return!(e.pstyle("font-size").pfValue*t5&&void 0!==arguments[5])||arguments[5],o=this;if(null==r){if(a&&!o.eleTextBiggerThanMin(t))return}else if(!1===r)return;if(t.isNode()){var s=t.pstyle("label");if(!s||!s.value)return;var u=o.getLabelJustification(t);e.textAlign=u,e.textBaseline="bottom"}else{var l=t.element()._private.rscratch.badLine,c=t.pstyle("label"),d=t.pstyle("source-label"),h=t.pstyle("target-label");if(l||(!c||!c.value)&&(!d||!d.value)&&(!h||!h.value))return;e.textAlign="center",e.textBaseline="bottom"}var f,p=!n;n&&(f=n,e.translate(-f.x1,-f.y1)),null==i?(o.drawText(e,t,null,p,a),t.isEdge()&&(o.drawText(e,t,"source",p,a),o.drawText(e,t,"target",p,a))):o.drawText(e,t,i,p,a),n&&e.translate(f.x1,f.y1)},Ps.getFontCache=function(e){var t;this.fontCaches=this.fontCaches||[];for(var n=0;n2&&void 0!==arguments[2])||arguments[2],r=t.pstyle("font-style").strValue,i=t.pstyle("font-size").pfValue+"px",a=t.pstyle("font-family").strValue,o=t.pstyle("font-weight").strValue,s=n?t.effectiveOpacity()*t.pstyle("text-opacity").value:1,u=t.pstyle("text-outline-opacity").value*s,l=t.pstyle("color").value,c=t.pstyle("text-outline-color").value;e.font=r+" "+o+" "+i+" "+a,e.lineJoin="round",this.colorFillStyle(e,l[0],l[1],l[2],s),this.colorStrokeStyle(e,c[0],c[1],c[2],u)},Ps.getTextAngle=function(e,t){var n=e._private.rscratch,r=t?t+"-":"",i=e.pstyle(r+"text-rotation"),a=ze(n,"labelAngle",t);return"autorotate"===i.strValue?e.isEdge()?a:0:"none"===i.strValue?0:i.pfValue},Ps.drawText=function(e,t,n){var r=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],i=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],a=t._private.rscratch,o=i?t.effectiveOpacity():1;if(!i||0!==o&&0!==t.pstyle("text-opacity").value){"main"===n&&(n=null);var s,u,l=ze(a,"labelX",n),c=ze(a,"labelY",n),d=this.getLabelText(t,n);if(null!=d&&""!==d&&!isNaN(l)&&!isNaN(c)){this.setupTextStyle(e,t,i);var h,f=n?n+"-":"",p=ze(a,"labelWidth",n),v=ze(a,"labelHeight",n),g=t.pstyle(f+"text-margin-x").pfValue,y=t.pstyle(f+"text-margin-y").pfValue,m=t.isEdge(),b=t.pstyle("text-halign").value,x=t.pstyle("text-valign").value;switch(m&&(b="center",x="center"),l+=g,c+=y,0!==(h=r?this.getTextAngle(t,n):0)&&(s=l,u=c,e.translate(s,u),e.rotate(h),l=0,c=0),x){case"top":break;case"center":c+=v/2;break;case"bottom":c+=v}var w=t.pstyle("text-background-opacity").value,_=t.pstyle("text-border-opacity").value,E=t.pstyle("text-border-width").pfValue,k=t.pstyle("text-background-padding").pfValue,C=0===t.pstyle("text-background-shape").strValue.indexOf("round");if(w>0||E>0&&_>0){var S=l-k;switch(b){case"left":S-=p;break;case"center":S-=p/2}var P=c-v-k,T=p+2*k,D=v+2*k;if(w>0){var M=e.fillStyle,B=t.pstyle("text-background-color").value;e.fillStyle="rgba("+B[0]+","+B[1]+","+B[2]+","+w*o+")",C?Ts(e,S,P,T,D,2):e.fillRect(S,P,T,D),e.fillStyle=M}if(E>0&&_>0){var I=e.strokeStyle,O=e.lineWidth,A=t.pstyle("text-border-color").value,z=t.pstyle("text-border-style").value;if(e.strokeStyle="rgba("+A[0]+","+A[1]+","+A[2]+","+_*o+")",e.lineWidth=E,e.setLineDash)switch(z){case"dotted":e.setLineDash([1,1]);break;case"dashed":e.setLineDash([4,2]);break;case"double":e.lineWidth=E/4,e.setLineDash([]);break;case"solid":e.setLineDash([])}if(C?Ts(e,S,P,T,D,2,"stroke"):e.strokeRect(S,P,T,D),"double"===z){var N=E/2;C?Ts(e,S+N,P+N,T-2*N,D-2*N,2,"stroke"):e.strokeRect(S+N,P+N,T-2*N,D-2*N)}e.setLineDash&&e.setLineDash([]),e.lineWidth=O,e.strokeStyle=I}}var L=2*t.pstyle("text-outline-width").pfValue;if(L>0&&(e.lineWidth=L),"wrap"===t.pstyle("text-wrap").value){var R=ze(a,"labelWrapCachedLines",n),j=ze(a,"labelLineHeight",n),V=p/2,F=this.getLabelJustification(t);switch("auto"===F||("left"===b?"left"===F?l+=-p:"center"===F&&(l+=-V):"center"===b?"left"===F?l+=-V:"right"===F&&(l+=V):"right"===b&&("center"===F?l+=V:"right"===F&&(l+=p))),x){case"top":case"center":case"bottom":c-=(R.length-1)*j}for(var q=0;q0&&e.strokeText(R[q],l,c),e.fillText(R[q],l,c),c+=j}else L>0&&e.strokeText(d,l,c),e.fillText(d,l,c);0!==h&&(e.rotate(-h),e.translate(-s,-u))}}};var Ds={drawNode:function(e,t,n){var r,i,a=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],o=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],s=!(arguments.length>5&&void 0!==arguments[5])||arguments[5],u=this,l=t._private,c=l.rscratch,d=t.position();if(I(d.x)&&I(d.y)&&(!s||t.visible())){var h,f,p=s?t.effectiveOpacity():1,v=u.usePaths(),g=!1,y=t.padding();r=t.width()+2*y,i=t.height()+2*y,n&&(f=n,e.translate(-f.x1,-f.y1));for(var m=t.pstyle("background-image").value,b=new Array(m.length),x=new Array(m.length),w=0,_=0;_0&&void 0!==arguments[0]?arguments[0]:P;u.eleFillStyle(e,t,n)},R=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:M;u.colorStrokeStyle(e,T[0],T[1],T[2],t)},j=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:z;u.colorStrokeStyle(e,O[0],O[1],O[2],t)},V=function(e,t,n,r){var i,a=u.nodePathCache=u.nodePathCache||[],o=ve("polygon"===n?n+","+r.join(","):n,""+t,""+e),s=a[o],l=!1;return null!=s?(i=s,l=!0,c.pathCache=i):(i=new Path2D,a[o]=c.pathCache=i),{path:i,cacheHit:l}},F=t.pstyle("shape").strValue,q=t.pstyle("shape-polygon-points").pfValue;if(v){e.translate(d.x,d.y);var W=V(r,i,F,q);h=W.path,g=W.cacheHit}var Y=function(){if(!g){var n=d;v&&(n={x:0,y:0}),u.nodeShapes[u.getNodeShape(t)].draw(h||e,n.x,n.y,r,i)}v?e.fill(h):e.fill()},X=function(){for(var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:p,r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=l.backgrounding,a=0,o=0;o0&&void 0!==arguments[0]&&arguments[0],a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:p;u.hasPie(t)&&(u.drawPie(e,t,a),n&&(v||u.nodeShapes[u.getNodeShape(t)].draw(e,d.x,d.y,r,i)))},U=function(){var t=(C>0?C:-C)*(arguments.length>0&&void 0!==arguments[0]?arguments[0]:p),n=C>0?0:255;0!==C&&(u.colorFillStyle(e,n,n,n,t),v?e.fill(h):e.fill())},Z=function(){if(S>0){if(e.lineWidth=S,e.lineCap="butt",e.setLineDash)switch(D){case"dotted":e.setLineDash([1,1]);break;case"dashed":e.setLineDash([4,2]);break;case"solid":case"double":e.setLineDash([])}if(v?e.stroke(h):e.stroke(),"double"===D){e.lineWidth=S/3;var t=e.globalCompositeOperation;e.globalCompositeOperation="destination-out",v?e.stroke(h):e.stroke(),e.globalCompositeOperation=t}e.setLineDash&&e.setLineDash([])}},K=function(){if(B>0){if(e.lineWidth=B,e.lineCap="butt",e.setLineDash)switch(A){case"dotted":e.setLineDash([1,1]);break;case"dashed":e.setLineDash([4,2]);break;case"solid":case"double":e.setLineDash([])}var n=d;v&&(n={x:0,y:0});var a,o=u.getNodeShape(t),s=(r+S+(B+N))/r,l=(i+S+(B+N))/i,c=r*s,h=i*l,f=u.nodeShapes[o].points;if(v&&(a=V(c,h,o,f).path),"ellipse"===o)u.drawEllipsePath(a||e,n.x,n.y,c,h);else if(["round-diamond","round-heptagon","round-hexagon","round-octagon","round-pentagon","round-polygon","round-triangle","round-tag"].includes(o)){var p=0,g=0,y=0;"round-diamond"===o?p=1.4*(S+N+B):"round-heptagon"===o?(p=1.075*(S+N+B),y=-(S/2+N+B)/35):"round-hexagon"===o?p=1.12*(S+N+B):"round-pentagon"===o?(p=1.13*(S+N+B),y=-(S/2+N+B)/15):"round-tag"===o?(p=1.12*(S+N+B),g=.07*(S/2+B+N)):"round-triangle"===o&&(p=(S+N+B)*(Math.PI/2),y=-(S+N/2+B)/Math.PI),0!==p&&(s=(r+p)/r,l=(i+p)/i),u.drawRoundPolygonPath(a||e,n.x+g,n.y+y,r*s,i*l,f)}else["roundrectangle","round-rectangle"].includes(o)?u.drawRoundRectanglePath(a||e,n.x,n.y,c,h):["cutrectangle","cut-rectangle"].includes(o)?u.drawCutRectanglePath(a||e,n.x,n.y,c,h):["bottomroundrectangle","bottom-round-rectangle"].includes(o)?u.drawBottomRoundRectanglePath(a||e,n.x,n.y,c,h):"barrel"===o?u.drawBarrelPath(a||e,n.x,n.y,c,h):o.startsWith("polygon")||["rhomboid","right-rhomboid","round-tag","tag","vee"].includes(o)?(f=Mt(Bt(f,(S+B+N)/r)),u.drawPolygonPath(a||e,n.x,n.y,r,i,f)):(f=Mt(Bt(f,-(S+B+N)/r)),u.drawPolygonPath(a||e,n.x,n.y,r,i,f));if(v?e.stroke(a):e.stroke(),"double"===A){e.lineWidth=S/3;var m=e.globalCompositeOperation;e.globalCompositeOperation="destination-out",v?e.stroke(a):e.stroke(),e.globalCompositeOperation=m}e.setLineDash&&e.setLineDash([])}};if("yes"===t.pstyle("ghost").value){var G=t.pstyle("ghost-offset-x").pfValue,$=t.pstyle("ghost-offset-y").pfValue,Q=t.pstyle("ghost-opacity").value,J=Q*p;e.translate(G,$),j(),K(),L(Q*P),Y(),X(J,!0),R(Q*M),Z(),H(0!==C||0!==S),X(J,!1),U(J),e.translate(-G,-$)}v&&e.translate(-d.x,-d.y),o&&u.drawNodeUnderlay(e,t,d,r,i),v&&e.translate(d.x,d.y),j(),K(),L(),Y(),X(p,!0),R(),Z(),H(0!==C||0!==S),X(p,!1),U(),v&&e.translate(-d.x,-d.y),u.drawElementText(e,t,null,a),o&&u.drawNodeOverlay(e,t,d,r,i),n&&e.translate(f.x1,f.y1)}}},Ms=function(e){if(!["overlay","underlay"].includes(e))throw new Error("Invalid state");return function(t,n,r,i,a){if(n.visible()){var o=n.pstyle("".concat(e,"-padding")).pfValue,s=n.pstyle("".concat(e,"-opacity")).value,u=n.pstyle("".concat(e,"-color")).value,l=n.pstyle("".concat(e,"-shape")).value;if(s>0){if(r=r||n.position(),null==i||null==a){var c=n.padding();i=n.width()+2*c,a=n.height()+2*c}this.colorFillStyle(t,u[0],u[1],u[2],s),this.nodeShapes[l].draw(t,r.x,r.y,i+2*o,a+2*o),t.fill()}}}};Ds.drawNodeOverlay=Ms("overlay"),Ds.drawNodeUnderlay=Ms("underlay"),Ds.hasPie=function(e){return(e=e[0])._private.hasPie},Ds.drawPie=function(e,t,n,r){t=t[0],r=r||t.position();var i=t.cy().style(),a=t.pstyle("pie-size"),o=r.x,s=r.y,u=t.width(),l=t.height(),c=Math.min(u,l)/2,d=0;this.usePaths()&&(o=0,s=0),"%"===a.units?c*=a.pfValue:void 0!==a.pfValue&&(c=a.pfValue/2);for(var h=1;h<=i.pieBackgroundN;h++){var f=t.pstyle("pie-"+h+"-background-size").value,p=t.pstyle("pie-"+h+"-background-color").value,v=t.pstyle("pie-"+h+"-background-opacity").value*n,g=f/100;g+d>1&&(g=1-d);var y=1.5*Math.PI+2*Math.PI*d,m=y+2*Math.PI*g;0===f||d>=1||d+g>1||(e.beginPath(),e.moveTo(o,s),e.arc(o,s,c,y,m),e.closePath(),this.colorFillStyle(e,p[0],p[1],p[2],v),e.fill(),d+=g)}};for(var Bs={getPixelRatio:function(){var e=this.data.contexts[0];if(null!=this.forcedPixelRatio)return this.forcedPixelRatio;var t=e.backingStorePixelRatio||e.webkitBackingStorePixelRatio||e.mozBackingStorePixelRatio||e.msBackingStorePixelRatio||e.oBackingStorePixelRatio||e.backingStorePixelRatio||1;return(window.devicePixelRatio||1)/t},paintCache:function(e){for(var t,n=this.paintCaches=this.paintCaches||[],r=!0,i=0;io.minMbLowQualFrames&&(o.motionBlurPxRatio=o.mbPxRBlurry)),o.clearingMotionBlur&&(o.motionBlurPxRatio=1),o.textureDrawLastFrame&&!d&&(c[o.NODE]=!0,c[o.SELECT_BOX]=!0);var m=u.style(),b=u.zoom(),x=void 0!==i?i:b,w=u.pan(),_={x:w.x,y:w.y},E={zoom:b,pan:{x:w.x,y:w.y}},k=o.prevViewport;void 0===k||E.zoom!==k.zoom||E.pan.x!==k.pan.x||E.pan.y!==k.pan.y||v&&!p||(o.motionBlurPxRatio=1),a&&(_=a),x*=s,_.x*=s,_.y*=s;var C=o.getCachedZSortedEles();function S(e,t,n,r,i){var a=e.globalCompositeOperation;e.globalCompositeOperation="destination-out",o.colorFillStyle(e,255,255,255,o.motionBlurTransparency),e.fillRect(t,n,r,i),e.globalCompositeOperation=a}function P(e,r){var s,u,c,d;o.clearingMotionBlur||e!==l.bufferContexts[o.MOTIONBLUR_BUFFER_NODE]&&e!==l.bufferContexts[o.MOTIONBLUR_BUFFER_DRAG]?(s=_,u=x,c=o.canvasWidth,d=o.canvasHeight):(s={x:w.x*f,y:w.y*f},u=b*f,c=o.canvasWidth*f,d=o.canvasHeight*f),e.setTransform(1,0,0,1,0,0),"motionBlur"===r?S(e,0,0,c,d):t||void 0!==r&&!r||e.clearRect(0,0,c,d),n||(e.translate(s.x,s.y),e.scale(u,u)),a&&e.translate(a.x,a.y),i&&e.scale(i,i)}if(d||(o.textureDrawLastFrame=!1),d){if(o.textureDrawLastFrame=!0,!o.textureCache){o.textureCache={},o.textureCache.bb=u.mutableElements().boundingBox(),o.textureCache.texture=o.data.bufferCanvases[o.TEXTURE_BUFFER];var T=o.data.bufferContexts[o.TEXTURE_BUFFER];T.setTransform(1,0,0,1,0,0),T.clearRect(0,0,o.canvasWidth*o.textureMult,o.canvasHeight*o.textureMult),o.render({forcedContext:T,drawOnlyNodeLayer:!0,forcedPxRatio:s*o.textureMult}),(E=o.textureCache.viewport={zoom:u.zoom(),pan:u.pan(),width:o.canvasWidth,height:o.canvasHeight}).mpan={x:(0-E.pan.x)/E.zoom,y:(0-E.pan.y)/E.zoom}}c[o.DRAG]=!1,c[o.NODE]=!1;var D=l.contexts[o.NODE],M=o.textureCache.texture;E=o.textureCache.viewport,D.setTransform(1,0,0,1,0,0),h?S(D,0,0,E.width,E.height):D.clearRect(0,0,E.width,E.height);var B=m.core("outside-texture-bg-color").value,I=m.core("outside-texture-bg-opacity").value;o.colorFillStyle(D,B[0],B[1],B[2],I),D.fillRect(0,0,E.width,E.height),b=u.zoom(),P(D,!1),D.clearRect(E.mpan.x,E.mpan.y,E.width/E.zoom/s,E.height/E.zoom/s),D.drawImage(M,E.mpan.x,E.mpan.y,E.width/E.zoom/s,E.height/E.zoom/s)}else o.textureOnViewport&&!t&&(o.textureCache=null);var O=u.extent(),A=o.pinching||o.hoverData.dragging||o.swipePanning||o.data.wheelZooming||o.hoverData.draggingEles||o.cy.animated(),z=o.hideEdgesOnViewport&&A,N=[];if(N[o.NODE]=!c[o.NODE]&&h&&!o.clearedForMotionBlur[o.NODE]||o.clearingMotionBlur,N[o.NODE]&&(o.clearedForMotionBlur[o.NODE]=!0),N[o.DRAG]=!c[o.DRAG]&&h&&!o.clearedForMotionBlur[o.DRAG]||o.clearingMotionBlur,N[o.DRAG]&&(o.clearedForMotionBlur[o.DRAG]=!0),c[o.NODE]||n||r||N[o.NODE]){var L=h&&!N[o.NODE]&&1!==f;P(D=t||(L?o.data.bufferContexts[o.MOTIONBLUR_BUFFER_NODE]:l.contexts[o.NODE]),h&&!L?"motionBlur":void 0),z?o.drawCachedNodes(D,C.nondrag,s,O):o.drawLayeredElements(D,C.nondrag,s,O),o.debug&&o.drawDebugPoints(D,C.nondrag),n||h||(c[o.NODE]=!1)}if(!r&&(c[o.DRAG]||n||N[o.DRAG])&&(L=h&&!N[o.DRAG]&&1!==f,P(D=t||(L?o.data.bufferContexts[o.MOTIONBLUR_BUFFER_DRAG]:l.contexts[o.DRAG]),h&&!L?"motionBlur":void 0),z?o.drawCachedNodes(D,C.drag,s,O):o.drawCachedElements(D,C.drag,s,O),o.debug&&o.drawDebugPoints(D,C.drag),n||h||(c[o.DRAG]=!1)),o.showFps||!r&&c[o.SELECT_BOX]&&!n){if(P(D=t||l.contexts[o.SELECT_BOX]),1==o.selection[4]&&(o.hoverData.selecting||o.touchData.selecting)){b=o.cy.zoom();var R=m.core("selection-box-border-width").value/b;D.lineWidth=R,D.fillStyle="rgba("+m.core("selection-box-color").value[0]+","+m.core("selection-box-color").value[1]+","+m.core("selection-box-color").value[2]+","+m.core("selection-box-opacity").value+")",D.fillRect(o.selection[0],o.selection[1],o.selection[2]-o.selection[0],o.selection[3]-o.selection[1]),R>0&&(D.strokeStyle="rgba("+m.core("selection-box-border-color").value[0]+","+m.core("selection-box-border-color").value[1]+","+m.core("selection-box-border-color").value[2]+","+m.core("selection-box-opacity").value+")",D.strokeRect(o.selection[0],o.selection[1],o.selection[2]-o.selection[0],o.selection[3]-o.selection[1]))}if(l.bgActivePosistion&&!o.hoverData.selecting){b=o.cy.zoom();var j=l.bgActivePosistion;D.fillStyle="rgba("+m.core("active-bg-color").value[0]+","+m.core("active-bg-color").value[1]+","+m.core("active-bg-color").value[2]+","+m.core("active-bg-opacity").value+")",D.beginPath(),D.arc(j.x,j.y,m.core("active-bg-size").pfValue/b,0,2*Math.PI),D.fill()}var V=o.lastRedrawTime;if(o.showFps&&V){V=Math.round(V);var F=Math.round(1e3/V);D.setTransform(1,0,0,1,0,0),D.fillStyle="rgba(255, 0, 0, 0.75)",D.strokeStyle="rgba(255, 0, 0, 0.75)",D.lineWidth=1,D.fillText("1 frame = "+V+" ms = "+F+" fps",0,20),D.strokeRect(0,30,250,20),D.fillRect(0,30,250*Math.min(F/60,1),20)}n||(c[o.SELECT_BOX]=!1)}if(h&&1!==f){var q=l.contexts[o.NODE],W=o.data.bufferCanvases[o.MOTIONBLUR_BUFFER_NODE],Y=l.contexts[o.DRAG],X=o.data.bufferCanvases[o.MOTIONBLUR_BUFFER_DRAG],H=function(e,t,n){e.setTransform(1,0,0,1,0,0),n||!y?e.clearRect(0,0,o.canvasWidth,o.canvasHeight):S(e,0,0,o.canvasWidth,o.canvasHeight);var r=f;e.drawImage(t,0,0,o.canvasWidth*r,o.canvasHeight*r,0,0,o.canvasWidth,o.canvasHeight)};(c[o.NODE]||N[o.NODE])&&(H(q,W,N[o.NODE]),c[o.NODE]=!1),(c[o.DRAG]||N[o.DRAG])&&(H(Y,X,N[o.DRAG]),c[o.DRAG]=!1)}o.prevViewport=E,o.clearingMotionBlur&&(o.clearingMotionBlur=!1,o.motionBlurCleared=!0,o.motionBlur=!0),h&&(o.motionBlurTimeout=setTimeout((function(){o.motionBlurTimeout=null,o.clearedForMotionBlur[o.NODE]=!1,o.clearedForMotionBlur[o.DRAG]=!1,o.motionBlur=!1,o.clearingMotionBlur=!d,o.mbFrames=0,c[o.NODE]=!0,c[o.DRAG]=!0,o.redraw()}),100)),t||u.emit("render")}},Is={drawPolygonPath:function(e,t,n,r,i,a){var o=r/2,s=i/2;e.beginPath&&e.beginPath(),e.moveTo(t+o*a[0],n+s*a[1]);for(var u=1;u0&&a>0){h.clearRect(0,0,i,a),h.globalCompositeOperation="source-over";var f=this.getCachedZSortedEles();if(e.full)h.translate(-n.x1*u,-n.y1*u),h.scale(u,u),this.drawElements(h,f),h.scale(1/u,1/u),h.translate(n.x1*u,n.y1*u);else{var p=t.pan(),v={x:p.x*u,y:p.y*u};u*=t.zoom(),h.translate(v.x,v.y),h.scale(u,u),this.drawElements(h,f),h.scale(1/u,1/u),h.translate(-v.x,-v.y)}e.bg&&(h.globalCompositeOperation="destination-over",h.fillStyle=e.bg,h.rect(0,0,i,a),h.fill())}return d},js.png=function(e){return Fs(e,this.bufferCanvasImage(e),"image/png")},js.jpg=function(e){return Fs(e,this.bufferCanvasImage(e),"image/jpeg")};var qs=Ys,Ws=Ys.prototype;function Ys(e){var t=this;t.data={canvases:new Array(Ws.CANVAS_LAYERS),contexts:new Array(Ws.CANVAS_LAYERS),canvasNeedsRedraw:new Array(Ws.CANVAS_LAYERS),bufferCanvases:new Array(Ws.BUFFER_COUNT),bufferContexts:new Array(Ws.CANVAS_LAYERS)};var n="-webkit-tap-highlight-color",r="rgba(0,0,0,0)";t.data.canvasContainer=document.createElement("div");var i=t.data.canvasContainer.style;t.data.canvasContainer.style[n]=r,i.position="relative",i.zIndex="0",i.overflow="hidden";var a=e.cy.container();a.appendChild(t.data.canvasContainer),a.style[n]=r;var o={"-webkit-user-select":"none","-moz-user-select":"-moz-none","user-select":"none","-webkit-tap-highlight-color":"rgba(0,0,0,0)","outline-style":"none"};_&&_.userAgent.match(/msie|trident|edge/i)&&(o["-ms-touch-action"]="none",o["touch-action"]="none");for(var s=0;s{e.exports=n(2894)},2894:function(e,t){var n,r,i;(function(){var a,o,s,u,l,c,d,h,f,p,v,g,y,m,b;s=Math.floor,p=Math.min,o=function(e,t){return et?1:0},f=function(e,t,n,r,i){var a;if(null==n&&(n=0),null==i&&(i=o),n<0)throw new Error("lo must be non-negative");for(null==r&&(r=e.length);nn;0<=n?t++:t--)l.push(t);return l}.apply(this).reverse()).length;rv;0<=v?++c:--c)g.push(l(e,n));return g},m=function(e,t,n,r){var i,a,s;for(null==r&&(r=o),i=e[n];n>t&&r(i,a=e[s=n-1>>1])<0;)e[n]=a,n=s;return e[n]=i},b=function(e,t,n){var r,i,a,s,u;for(null==n&&(n=o),i=e.length,u=t,a=e[t],r=2*t+1;r{var r=n(1789),i=n(401),a=n(7667),o=n(1327),s=n(1866);function u(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t{var r=n(7040),i=n(4125),a=n(2117),o=n(7518),s=n(4705);function u(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t{var r=n(852)(n(5639),"Map");e.exports=r},3369:(e,t,n)=>{var r=n(4785),i=n(1285),a=n(6e3),o=n(9916),s=n(5265);function u(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t{var r=n(5639).Symbol;e.exports=r},9932:e=>{e.exports=function(e,t){for(var n=-1,r=null==e?0:e.length,i=Array(r);++n{var r=n(9465),i=n(7813),a=Object.prototype.hasOwnProperty;e.exports=function(e,t,n){var o=e[t];a.call(e,t)&&i(o,n)&&(void 0!==n||t in e)||r(e,t,n)}},8470:(e,t,n)=>{var r=n(7813);e.exports=function(e,t){for(var n=e.length;n--;)if(r(e[n][0],t))return n;return-1}},9465:(e,t,n)=>{var r=n(8777);e.exports=function(e,t,n){"__proto__"==t&&r?r(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n}},7786:(e,t,n)=>{var r=n(1811),i=n(327);e.exports=function(e,t){for(var n=0,a=(t=r(t,e)).length;null!=e&&n{var r=n(2705),i=n(9607),a=n(2333),o=r?r.toStringTag:void 0;e.exports=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":o&&o in Object(e)?i(e):a(e)}},8458:(e,t,n)=>{var r=n(3560),i=n(5346),a=n(3218),o=n(346),s=/^\[object .+?Constructor\]$/,u=Function.prototype,l=Object.prototype,c=u.toString,d=l.hasOwnProperty,h=RegExp("^"+c.call(d).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");e.exports=function(e){return!(!a(e)||i(e))&&(r(e)?h:s).test(o(e))}},611:(e,t,n)=>{var r=n(4865),i=n(1811),a=n(5776),o=n(3218),s=n(327);e.exports=function(e,t,n,u){if(!o(e))return e;for(var l=-1,c=(t=i(t,e)).length,d=c-1,h=e;null!=h&&++l{var r=n(2705),i=n(9932),a=n(1469),o=n(3448),s=r?r.prototype:void 0,u=s?s.toString:void 0;e.exports=function e(t){if("string"==typeof t)return t;if(a(t))return i(t,e)+"";if(o(t))return u?u.call(t):"";var n=t+"";return"0"==n&&1/t==-1/0?"-0":n}},7561:(e,t,n)=>{var r=n(7990),i=/^\s+/;e.exports=function(e){return e?e.slice(0,r(e)+1).replace(i,""):e}},1811:(e,t,n)=>{var r=n(1469),i=n(5403),a=n(5514),o=n(9833);e.exports=function(e,t){return r(e)?e:i(e,t)?[e]:a(o(e))}},278:e=>{e.exports=function(e,t){var n=-1,r=e.length;for(t||(t=Array(r));++n{var r=n(5639)["__core-js_shared__"];e.exports=r},8777:(e,t,n)=>{var r=n(852),i=function(){try{var e=r(Object,"defineProperty");return e({},"",{}),e}catch(e){}}();e.exports=i},1957:(e,t,n)=>{var r="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g;e.exports=r},5050:(e,t,n)=>{var r=n(7019);e.exports=function(e,t){var n=e.__data__;return r(t)?n["string"==typeof t?"string":"hash"]:n.map}},852:(e,t,n)=>{var r=n(8458),i=n(7801);e.exports=function(e,t){var n=i(e,t);return r(n)?n:void 0}},9607:(e,t,n)=>{var r=n(2705),i=Object.prototype,a=i.hasOwnProperty,o=i.toString,s=r?r.toStringTag:void 0;e.exports=function(e){var t=a.call(e,s),n=e[s];try{e[s]=void 0;var r=!0}catch(e){}var i=o.call(e);return r&&(t?e[s]=n:delete e[s]),i}},7801:e=>{e.exports=function(e,t){return null==e?void 0:e[t]}},1789:(e,t,n)=>{var r=n(4536);e.exports=function(){this.__data__=r?r(null):{},this.size=0}},401:e=>{e.exports=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}},7667:(e,t,n)=>{var r=n(4536),i=Object.prototype.hasOwnProperty;e.exports=function(e){var t=this.__data__;if(r){var n=t[e];return"__lodash_hash_undefined__"===n?void 0:n}return i.call(t,e)?t[e]:void 0}},1327:(e,t,n)=>{var r=n(4536),i=Object.prototype.hasOwnProperty;e.exports=function(e){var t=this.__data__;return r?void 0!==t[e]:i.call(t,e)}},1866:(e,t,n)=>{var r=n(4536);e.exports=function(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=r&&void 0===t?"__lodash_hash_undefined__":t,this}},5776:e=>{var t=/^(?:0|[1-9]\d*)$/;e.exports=function(e,n){var r=typeof e;return!!(n=null==n?9007199254740991:n)&&("number"==r||"symbol"!=r&&t.test(e))&&e>-1&&e%1==0&&e{var r=n(1469),i=n(3448),a=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,o=/^\w*$/;e.exports=function(e,t){if(r(e))return!1;var n=typeof e;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=e&&!i(e))||o.test(e)||!a.test(e)||null!=t&&e in Object(t)}},7019:e=>{e.exports=function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}},5346:(e,t,n)=>{var r,i=n(4429),a=(r=/[^.]+$/.exec(i&&i.keys&&i.keys.IE_PROTO||""))?"Symbol(src)_1."+r:"";e.exports=function(e){return!!a&&a in e}},7040:e=>{e.exports=function(){this.__data__=[],this.size=0}},4125:(e,t,n)=>{var r=n(8470),i=Array.prototype.splice;e.exports=function(e){var t=this.__data__,n=r(t,e);return!(n<0||(n==t.length-1?t.pop():i.call(t,n,1),--this.size,0))}},2117:(e,t,n)=>{var r=n(8470);e.exports=function(e){var t=this.__data__,n=r(t,e);return n<0?void 0:t[n][1]}},7518:(e,t,n)=>{var r=n(8470);e.exports=function(e){return r(this.__data__,e)>-1}},4705:(e,t,n)=>{var r=n(8470);e.exports=function(e,t){var n=this.__data__,i=r(n,e);return i<0?(++this.size,n.push([e,t])):n[i][1]=t,this}},4785:(e,t,n)=>{var r=n(1989),i=n(8407),a=n(7071);e.exports=function(){this.size=0,this.__data__={hash:new r,map:new(a||i),string:new r}}},1285:(e,t,n)=>{var r=n(5050);e.exports=function(e){var t=r(this,e).delete(e);return this.size-=t?1:0,t}},6e3:(e,t,n)=>{var r=n(5050);e.exports=function(e){return r(this,e).get(e)}},9916:(e,t,n)=>{var r=n(5050);e.exports=function(e){return r(this,e).has(e)}},5265:(e,t,n)=>{var r=n(5050);e.exports=function(e,t){var n=r(this,e),i=n.size;return n.set(e,t),this.size+=n.size==i?0:1,this}},4523:(e,t,n)=>{var r=n(8306);e.exports=function(e){var t=r(e,(function(e){return 500===n.size&&n.clear(),e})),n=t.cache;return t}},4536:(e,t,n)=>{var r=n(852)(Object,"create");e.exports=r},2333:e=>{var t=Object.prototype.toString;e.exports=function(e){return t.call(e)}},5639:(e,t,n)=>{var r=n(1957),i="object"==typeof self&&self&&self.Object===Object&&self,a=r||i||Function("return this")();e.exports=a},5514:(e,t,n)=>{var r=n(4523),i=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,a=/\\(\\)?/g,o=r((function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(i,(function(e,n,r,i){t.push(r?i.replace(a,"$1"):n||e)})),t}));e.exports=o},327:(e,t,n)=>{var r=n(3448);e.exports=function(e){if("string"==typeof e||r(e))return e;var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}},346:e=>{var t=Function.prototype.toString;e.exports=function(e){if(null!=e){try{return t.call(e)}catch(e){}try{return e+""}catch(e){}}return""}},7990:e=>{var t=/\s/;e.exports=function(e){for(var n=e.length;n--&&t.test(e.charAt(n)););return n}},3279:(e,t,n)=>{var r=n(3218),i=n(7771),a=n(4841),o=Math.max,s=Math.min;e.exports=function(e,t,n){var u,l,c,d,h,f,p=0,v=!1,g=!1,y=!0;if("function"!=typeof e)throw new TypeError("Expected a function");function m(t){var n=u,r=l;return u=l=void 0,p=t,d=e.apply(r,n)}function b(e){var n=e-f;return void 0===f||n>=t||n<0||g&&e-p>=c}function x(){var e=i();if(b(e))return w(e);h=setTimeout(x,function(e){var n=t-(e-f);return g?s(n,c-(e-p)):n}(e))}function w(e){return h=void 0,y&&u?m(e):(u=l=void 0,d)}function _(){var e=i(),n=b(e);if(u=arguments,l=this,f=e,n){if(void 0===h)return function(e){return p=e,h=setTimeout(x,t),v?m(e):d}(f);if(g)return clearTimeout(h),h=setTimeout(x,t),m(f)}return void 0===h&&(h=setTimeout(x,t)),d}return t=a(t)||0,r(n)&&(v=!!n.leading,c=(g="maxWait"in n)?o(a(n.maxWait)||0,t):c,y="trailing"in n?!!n.trailing:y),_.cancel=function(){void 0!==h&&clearTimeout(h),p=0,u=f=l=h=void 0},_.flush=function(){return void 0===h?d:w(i())},_}},7813:e=>{e.exports=function(e,t){return e===t||e!=e&&t!=t}},7361:(e,t,n)=>{var r=n(7786);e.exports=function(e,t,n){var i=null==e?void 0:r(e,t);return void 0===i?n:i}},1469:e=>{var t=Array.isArray;e.exports=t},3560:(e,t,n)=>{var r=n(4239),i=n(3218);e.exports=function(e){if(!i(e))return!1;var t=r(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t}},3218:e=>{e.exports=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}},7005:e=>{e.exports=function(e){return null!=e&&"object"==typeof e}},3448:(e,t,n)=>{var r=n(4239),i=n(7005);e.exports=function(e){return"symbol"==typeof e||i(e)&&"[object Symbol]"==r(e)}},6486:function(e,t,n){var r;e=n.nmd(e),function(){var i,a="Expected a function",o="__lodash_hash_undefined__",s="__lodash_placeholder__",u=32,l=128,c=1/0,d=9007199254740991,h=NaN,f=4294967295,p=[["ary",l],["bind",1],["bindKey",2],["curry",8],["curryRight",16],["flip",512],["partial",u],["partialRight",64],["rearg",256]],v="[object Arguments]",g="[object Array]",y="[object Boolean]",m="[object Date]",b="[object Error]",x="[object Function]",w="[object GeneratorFunction]",_="[object Map]",E="[object Number]",k="[object Object]",C="[object Promise]",S="[object RegExp]",P="[object Set]",T="[object String]",D="[object Symbol]",M="[object WeakMap]",B="[object ArrayBuffer]",I="[object DataView]",O="[object Float32Array]",A="[object Float64Array]",z="[object Int8Array]",N="[object Int16Array]",L="[object Int32Array]",R="[object Uint8Array]",j="[object Uint8ClampedArray]",V="[object Uint16Array]",F="[object Uint32Array]",q=/\b__p \+= '';/g,W=/\b(__p \+=) '' \+/g,Y=/(__e\(.*?\)|\b__t\)) \+\n'';/g,X=/&(?:amp|lt|gt|quot|#39);/g,H=/[&<>"']/g,U=RegExp(X.source),Z=RegExp(H.source),K=/<%-([\s\S]+?)%>/g,G=/<%([\s\S]+?)%>/g,$=/<%=([\s\S]+?)%>/g,Q=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,J=/^\w*$/,ee=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,te=/[\\^$.*+?()[\]{}|]/g,ne=RegExp(te.source),re=/^\s+/,ie=/\s/,ae=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,oe=/\{\n\/\* \[wrapped with (.+)\] \*/,se=/,? & /,ue=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,le=/[()=,{}\[\]\/\s]/,ce=/\\(\\)?/g,de=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,he=/\w*$/,fe=/^[-+]0x[0-9a-f]+$/i,pe=/^0b[01]+$/i,ve=/^\[object .+?Constructor\]$/,ge=/^0o[0-7]+$/i,ye=/^(?:0|[1-9]\d*)$/,me=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,be=/($^)/,xe=/['\n\r\u2028\u2029\\]/g,we="\\ud800-\\udfff",_e="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",Ee="\\u2700-\\u27bf",ke="a-z\\xdf-\\xf6\\xf8-\\xff",Ce="A-Z\\xc0-\\xd6\\xd8-\\xde",Se="\\ufe0e\\ufe0f",Pe="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Te="["+we+"]",De="["+Pe+"]",Me="["+_e+"]",Be="\\d+",Ie="["+Ee+"]",Oe="["+ke+"]",Ae="[^"+we+Pe+Be+Ee+ke+Ce+"]",ze="\\ud83c[\\udffb-\\udfff]",Ne="[^"+we+"]",Le="(?:\\ud83c[\\udde6-\\uddff]){2}",Re="[\\ud800-\\udbff][\\udc00-\\udfff]",je="["+Ce+"]",Ve="\\u200d",Fe="(?:"+Oe+"|"+Ae+")",qe="(?:"+je+"|"+Ae+")",We="(?:['’](?:d|ll|m|re|s|t|ve))?",Ye="(?:['’](?:D|LL|M|RE|S|T|VE))?",Xe="(?:"+Me+"|"+ze+")?",He="["+Se+"]?",Ue=He+Xe+"(?:"+Ve+"(?:"+[Ne,Le,Re].join("|")+")"+He+Xe+")*",Ze="(?:"+[Ie,Le,Re].join("|")+")"+Ue,Ke="(?:"+[Ne+Me+"?",Me,Le,Re,Te].join("|")+")",Ge=RegExp("['’]","g"),$e=RegExp(Me,"g"),Qe=RegExp(ze+"(?="+ze+")|"+Ke+Ue,"g"),Je=RegExp([je+"?"+Oe+"+"+We+"(?="+[De,je,"$"].join("|")+")",qe+"+"+Ye+"(?="+[De,je+Fe,"$"].join("|")+")",je+"?"+Fe+"+"+We,je+"+"+Ye,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Be,Ze].join("|"),"g"),et=RegExp("["+Ve+we+_e+Se+"]"),tt=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,nt=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],rt=-1,it={};it[O]=it[A]=it[z]=it[N]=it[L]=it[R]=it[j]=it[V]=it[F]=!0,it[v]=it[g]=it[B]=it[y]=it[I]=it[m]=it[b]=it[x]=it[_]=it[E]=it[k]=it[S]=it[P]=it[T]=it[M]=!1;var at={};at[v]=at[g]=at[B]=at[I]=at[y]=at[m]=at[O]=at[A]=at[z]=at[N]=at[L]=at[_]=at[E]=at[k]=at[S]=at[P]=at[T]=at[D]=at[R]=at[j]=at[V]=at[F]=!0,at[b]=at[x]=at[M]=!1;var ot={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},st=parseFloat,ut=parseInt,lt="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g,ct="object"==typeof self&&self&&self.Object===Object&&self,dt=lt||ct||Function("return this")(),ht=t&&!t.nodeType&&t,ft=ht&&e&&!e.nodeType&&e,pt=ft&&ft.exports===ht,vt=pt&<.process,gt=function(){try{return ft&&ft.require&&ft.require("util").types||vt&&vt.binding&&vt.binding("util")}catch(e){}}(),yt=gt&>.isArrayBuffer,mt=gt&>.isDate,bt=gt&>.isMap,xt=gt&>.isRegExp,wt=gt&>.isSet,_t=gt&>.isTypedArray;function Et(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}function kt(e,t,n,r){for(var i=-1,a=null==e?0:e.length;++i-1}function Mt(e,t,n){for(var r=-1,i=null==e?0:e.length;++r-1;);return n}function Jt(e,t){for(var n=e.length;n--&&jt(t,e[n],0)>-1;);return n}var en=Yt({À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"}),tn=Yt({"&":"&","<":"<",">":">",'"':""","'":"'"});function nn(e){return"\\"+ot[e]}function rn(e){return et.test(e)}function an(e){var t=-1,n=Array(e.size);return e.forEach((function(e,r){n[++t]=[r,e]})),n}function on(e,t){return function(n){return e(t(n))}}function sn(e,t){for(var n=-1,r=e.length,i=0,a=[];++n",""":'"',"'":"'"}),pn=function e(t){var n,r=(t=null==t?dt:pn.defaults(dt.Object(),t,pn.pick(dt,nt))).Array,ie=t.Date,we=t.Error,_e=t.Function,Ee=t.Math,ke=t.Object,Ce=t.RegExp,Se=t.String,Pe=t.TypeError,Te=r.prototype,De=_e.prototype,Me=ke.prototype,Be=t["__core-js_shared__"],Ie=De.toString,Oe=Me.hasOwnProperty,Ae=0,ze=(n=/[^.]+$/.exec(Be&&Be.keys&&Be.keys.IE_PROTO||""))?"Symbol(src)_1."+n:"",Ne=Me.toString,Le=Ie.call(ke),Re=dt._,je=Ce("^"+Ie.call(Oe).replace(te,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Ve=pt?t.Buffer:i,Fe=t.Symbol,qe=t.Uint8Array,We=Ve?Ve.allocUnsafe:i,Ye=on(ke.getPrototypeOf,ke),Xe=ke.create,He=Me.propertyIsEnumerable,Ue=Te.splice,Ze=Fe?Fe.isConcatSpreadable:i,Ke=Fe?Fe.iterator:i,Qe=Fe?Fe.toStringTag:i,et=function(){try{var e=ua(ke,"defineProperty");return e({},"",{}),e}catch(e){}}(),ot=t.clearTimeout!==dt.clearTimeout&&t.clearTimeout,lt=ie&&ie.now!==dt.Date.now&&ie.now,ct=t.setTimeout!==dt.setTimeout&&t.setTimeout,ht=Ee.ceil,ft=Ee.floor,vt=ke.getOwnPropertySymbols,gt=Ve?Ve.isBuffer:i,Nt=t.isFinite,Yt=Te.join,vn=on(ke.keys,ke),gn=Ee.max,yn=Ee.min,mn=ie.now,bn=t.parseInt,xn=Ee.random,wn=Te.reverse,_n=ua(t,"DataView"),En=ua(t,"Map"),kn=ua(t,"Promise"),Cn=ua(t,"Set"),Sn=ua(t,"WeakMap"),Pn=ua(ke,"create"),Tn=Sn&&new Sn,Dn={},Mn=Na(_n),Bn=Na(En),In=Na(kn),On=Na(Cn),An=Na(Sn),zn=Fe?Fe.prototype:i,Nn=zn?zn.valueOf:i,Ln=zn?zn.toString:i;function Rn(e){if(es(e)&&!Wo(e)&&!(e instanceof qn)){if(e instanceof Fn)return e;if(Oe.call(e,"__wrapped__"))return La(e)}return new Fn(e)}var jn=function(){function e(){}return function(t){if(!Jo(t))return{};if(Xe)return Xe(t);e.prototype=t;var n=new e;return e.prototype=i,n}}();function Vn(){}function Fn(e,t){this.__wrapped__=e,this.__actions__=[],this.__chain__=!!t,this.__index__=0,this.__values__=i}function qn(e){this.__wrapped__=e,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=f,this.__views__=[]}function Wn(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t=t?e:t)),e}function or(e,t,n,r,a,o){var s,u=1&t,l=2&t,c=4&t;if(n&&(s=a?n(e,r,a,o):n(e)),s!==i)return s;if(!Jo(e))return e;var d=Wo(e);if(d){if(s=function(e){var t=e.length,n=new e.constructor(t);return t&&"string"==typeof e[0]&&Oe.call(e,"index")&&(n.index=e.index,n.input=e.input),n}(e),!u)return Si(e,s)}else{var h=da(e),f=h==x||h==w;if(Uo(e))return xi(e,u);if(h==k||h==v||f&&!a){if(s=l||f?{}:fa(e),!u)return l?function(e,t){return Pi(e,ca(e),t)}(e,function(e,t){return e&&Pi(t,Bs(t),e)}(s,e)):function(e,t){return Pi(e,la(e),t)}(e,nr(s,e))}else{if(!at[h])return a?e:{};s=function(e,t,n){var r,i=e.constructor;switch(t){case B:return wi(e);case y:case m:return new i(+e);case I:return function(e,t){var n=t?wi(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)}(e,n);case O:case A:case z:case N:case L:case R:case j:case V:case F:return _i(e,n);case _:return new i;case E:case T:return new i(e);case S:return function(e){var t=new e.constructor(e.source,he.exec(e));return t.lastIndex=e.lastIndex,t}(e);case P:return new i;case D:return r=e,Nn?ke(Nn.call(r)):{}}}(e,h,u)}}o||(o=new Un);var p=o.get(e);if(p)return p;o.set(e,s),as(e)?e.forEach((function(r){s.add(or(r,t,n,r,e,o))})):ts(e)&&e.forEach((function(r,i){s.set(i,or(r,t,n,i,e,o))}));var g=d?i:(c?l?ta:ea:l?Bs:Ms)(e);return Ct(g||e,(function(r,i){g&&(r=e[i=r]),Jn(s,i,or(r,t,n,i,e,o))})),s}function sr(e,t,n){var r=n.length;if(null==e)return!r;for(e=ke(e);r--;){var a=n[r],o=t[a],s=e[a];if(s===i&&!(a in e)||!o(s))return!1}return!0}function ur(e,t,n){if("function"!=typeof e)throw new Pe(a);return Pa((function(){e.apply(i,n)}),t)}function lr(e,t,n,r){var i=-1,a=Dt,o=!0,s=e.length,u=[],l=t.length;if(!s)return u;n&&(t=Bt(t,Kt(n))),r?(a=Mt,o=!1):t.length>=200&&(a=$t,o=!1,t=new Hn(t));e:for(;++i-1},Yn.prototype.set=function(e,t){var n=this.__data__,r=er(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this},Xn.prototype.clear=function(){this.size=0,this.__data__={hash:new Wn,map:new(En||Yn),string:new Wn}},Xn.prototype.delete=function(e){var t=oa(this,e).delete(e);return this.size-=t?1:0,t},Xn.prototype.get=function(e){return oa(this,e).get(e)},Xn.prototype.has=function(e){return oa(this,e).has(e)},Xn.prototype.set=function(e,t){var n=oa(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this},Hn.prototype.add=Hn.prototype.push=function(e){return this.__data__.set(e,o),this},Hn.prototype.has=function(e){return this.__data__.has(e)},Un.prototype.clear=function(){this.__data__=new Yn,this.size=0},Un.prototype.delete=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n},Un.prototype.get=function(e){return this.__data__.get(e)},Un.prototype.has=function(e){return this.__data__.has(e)},Un.prototype.set=function(e,t){var n=this.__data__;if(n instanceof Yn){var r=n.__data__;if(!En||r.length<199)return r.push([e,t]),this.size=++n.size,this;n=this.__data__=new Xn(r)}return n.set(e,t),this.size=n.size,this};var cr=Mi(mr),dr=Mi(br,!0);function hr(e,t){var n=!0;return cr(e,(function(e,r,i){return n=!!t(e,r,i)})),n}function fr(e,t,n){for(var r=-1,a=e.length;++r0&&n(s)?t>1?vr(s,t-1,n,r,i):It(i,s):r||(i[i.length]=s)}return i}var gr=Bi(),yr=Bi(!0);function mr(e,t){return e&&gr(e,t,Ms)}function br(e,t){return e&&yr(e,t,Ms)}function xr(e,t){return Tt(t,(function(t){return Go(e[t])}))}function wr(e,t){for(var n=0,r=(t=gi(t,e)).length;null!=e&&nt}function Cr(e,t){return null!=e&&Oe.call(e,t)}function Sr(e,t){return null!=e&&t in ke(e)}function Pr(e,t,n){for(var a=n?Mt:Dt,o=e[0].length,s=e.length,u=s,l=r(s),c=1/0,d=[];u--;){var h=e[u];u&&t&&(h=Bt(h,Kt(t))),c=yn(h.length,c),l[u]=!n&&(t||o>=120&&h.length>=120)?new Hn(u&&h):i}h=e[0];var f=-1,p=l[0];e:for(;++f=s?u:u*("desc"==n[r]?-1:1)}return e.index-t.index}(e,t,n)}));r--;)e[r]=e[r].value;return e}(i)}function qr(e,t,n){for(var r=-1,i=t.length,a={};++r-1;)s!==e&&Ue.call(s,u,1),Ue.call(e,u,1);return e}function Yr(e,t){for(var n=e?t.length:0,r=n-1;n--;){var i=t[n];if(n==r||i!==a){var a=i;va(i)?Ue.call(e,i,1):ui(e,i)}}return e}function Xr(e,t){return e+ft(xn()*(t-e+1))}function Hr(e,t){var n="";if(!e||t<1||t>d)return n;do{t%2&&(n+=e),(t=ft(t/2))&&(e+=e)}while(t);return n}function Ur(e,t){return Ta(Ea(e,t,nu),e+"")}function Zr(e){return Kn(js(e))}function Kr(e,t){var n=js(e);return Ba(n,ar(t,0,n.length))}function Gr(e,t,n,r){if(!Jo(e))return e;for(var a=-1,o=(t=gi(t,e)).length,s=o-1,u=e;null!=u&&++aa?0:a+t),(n=n>a?a:n)<0&&(n+=a),a=t>n?0:n-t>>>0,t>>>=0;for(var o=r(a);++i>>1,o=e[a];null!==o&&!ss(o)&&(n?o<=t:o=200){var l=t?null:Hi(e);if(l)return un(l);o=!1,i=$t,u=new Hn}else u=t?[]:s;e:for(;++r=r?e:ei(e,t,n)}var bi=ot||function(e){return dt.clearTimeout(e)};function xi(e,t){if(t)return e.slice();var n=e.length,r=We?We(n):new e.constructor(n);return e.copy(r),r}function wi(e){var t=new e.constructor(e.byteLength);return new qe(t).set(new qe(e)),t}function _i(e,t){var n=t?wi(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)}function Ei(e,t){if(e!==t){var n=e!==i,r=null===e,a=e==e,o=ss(e),s=t!==i,u=null===t,l=t==t,c=ss(t);if(!u&&!c&&!o&&e>t||o&&s&&l&&!u&&!c||r&&s&&l||!n&&l||!a)return 1;if(!r&&!o&&!c&&e1?n[a-1]:i,s=a>2?n[2]:i;for(o=e.length>3&&"function"==typeof o?(a--,o):i,s&&ga(n[0],n[1],s)&&(o=a<3?i:o,a=1),t=ke(t);++r-1?a[o?t[s]:s]:i}}function Ni(e){return Ji((function(t){var n=t.length,r=n,o=Fn.prototype.thru;for(e&&t.reverse();r--;){var s=t[r];if("function"!=typeof s)throw new Pe(a);if(o&&!u&&"wrapper"==ra(s))var u=new Fn([],!0)}for(r=u?r:n;++r1&&x.reverse(),f&&du))return!1;var c=o.get(e),d=o.get(t);if(c&&d)return c==t&&d==e;var h=-1,f=!0,p=2&n?new Hn:i;for(o.set(e,t),o.set(t,e);++h-1&&e%1==0&&e1?"& ":"")+t[r],t=t.join(n>2?", ":" "),e.replace(ae,"{\n/* [wrapped with "+t+"] */\n")}(r,function(e,t){return Ct(p,(function(n){var r="_."+n[0];t&n[1]&&!Dt(e,r)&&e.push(r)})),e.sort()}(function(e){var t=e.match(oe);return t?t[1].split(se):[]}(r),n)))}function Ma(e){var t=0,n=0;return function(){var r=mn(),a=16-(r-n);if(n=r,a>0){if(++t>=800)return arguments[0]}else t=0;return e.apply(i,arguments)}}function Ba(e,t){var n=-1,r=e.length,a=r-1;for(t=t===i?r:t;++n1?e[t-1]:i;return n="function"==typeof n?(e.pop(),n):i,ro(e,n)}));function co(e){var t=Rn(e);return t.__chain__=!0,t}function ho(e,t){return t(e)}var fo=Ji((function(e){var t=e.length,n=t?e[0]:0,r=this.__wrapped__,a=function(t){return ir(t,e)};return!(t>1||this.__actions__.length)&&r instanceof qn&&va(n)?((r=r.slice(n,+n+(t?1:0))).__actions__.push({func:ho,args:[a],thisArg:i}),new Fn(r,this.__chain__).thru((function(e){return t&&!e.length&&e.push(i),e}))):this.thru(a)})),po=Ti((function(e,t,n){Oe.call(e,n)?++e[n]:rr(e,n,1)})),vo=zi(Fa),go=zi(qa);function yo(e,t){return(Wo(e)?Ct:cr)(e,aa(t,3))}function mo(e,t){return(Wo(e)?St:dr)(e,aa(t,3))}var bo=Ti((function(e,t,n){Oe.call(e,n)?e[n].push(t):rr(e,n,[t])})),xo=Ur((function(e,t,n){var i=-1,a="function"==typeof t,o=Xo(e)?r(e.length):[];return cr(e,(function(e){o[++i]=a?Et(t,e,n):Tr(e,t,n)})),o})),wo=Ti((function(e,t,n){rr(e,n,t)}));function _o(e,t){return(Wo(e)?Bt:Nr)(e,aa(t,3))}var Eo=Ti((function(e,t,n){e[n?0:1].push(t)}),(function(){return[[],[]]})),ko=Ur((function(e,t){if(null==e)return[];var n=t.length;return n>1&&ga(e,t[0],t[1])?t=[]:n>2&&ga(t[0],t[1],t[2])&&(t=[t[0]]),Fr(e,vr(t,1),[])})),Co=lt||function(){return dt.Date.now()};function So(e,t,n){return t=n?i:t,t=e&&null==t?e.length:t,Zi(e,l,i,i,i,i,t)}function Po(e,t){var n;if("function"!=typeof t)throw new Pe(a);return e=fs(e),function(){return--e>0&&(n=t.apply(this,arguments)),e<=1&&(t=i),n}}var To=Ur((function(e,t,n){var r=1;if(n.length){var i=sn(n,ia(To));r|=u}return Zi(e,r,t,n,i)})),Do=Ur((function(e,t,n){var r=3;if(n.length){var i=sn(n,ia(Do));r|=u}return Zi(t,r,e,n,i)}));function Mo(e,t,n){var r,o,s,u,l,c,d=0,h=!1,f=!1,p=!0;if("function"!=typeof e)throw new Pe(a);function v(t){var n=r,a=o;return r=o=i,d=t,u=e.apply(a,n)}function g(e){var n=e-c;return c===i||n>=t||n<0||f&&e-d>=s}function y(){var e=Co();if(g(e))return m(e);l=Pa(y,function(e){var n=t-(e-c);return f?yn(n,s-(e-d)):n}(e))}function m(e){return l=i,p&&r?v(e):(r=o=i,u)}function b(){var e=Co(),n=g(e);if(r=arguments,o=this,c=e,n){if(l===i)return function(e){return d=e,l=Pa(y,t),h?v(e):u}(c);if(f)return bi(l),l=Pa(y,t),v(c)}return l===i&&(l=Pa(y,t)),u}return t=vs(t)||0,Jo(n)&&(h=!!n.leading,s=(f="maxWait"in n)?gn(vs(n.maxWait)||0,t):s,p="trailing"in n?!!n.trailing:p),b.cancel=function(){l!==i&&bi(l),d=0,r=c=o=l=i},b.flush=function(){return l===i?u:m(Co())},b}var Bo=Ur((function(e,t){return ur(e,1,t)})),Io=Ur((function(e,t,n){return ur(e,vs(t)||0,n)}));function Oo(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new Pe(a);var n=function(){var r=arguments,i=t?t.apply(this,r):r[0],a=n.cache;if(a.has(i))return a.get(i);var o=e.apply(this,r);return n.cache=a.set(i,o)||a,o};return n.cache=new(Oo.Cache||Xn),n}function Ao(e){if("function"!=typeof e)throw new Pe(a);return function(){var t=arguments;switch(t.length){case 0:return!e.call(this);case 1:return!e.call(this,t[0]);case 2:return!e.call(this,t[0],t[1]);case 3:return!e.call(this,t[0],t[1],t[2])}return!e.apply(this,t)}}Oo.Cache=Xn;var zo=yi((function(e,t){var n=(t=1==t.length&&Wo(t[0])?Bt(t[0],Kt(aa())):Bt(vr(t,1),Kt(aa()))).length;return Ur((function(r){for(var i=-1,a=yn(r.length,n);++i=t})),qo=Dr(function(){return arguments}())?Dr:function(e){return es(e)&&Oe.call(e,"callee")&&!He.call(e,"callee")},Wo=r.isArray,Yo=yt?Kt(yt):function(e){return es(e)&&Er(e)==B};function Xo(e){return null!=e&&Qo(e.length)&&!Go(e)}function Ho(e){return es(e)&&Xo(e)}var Uo=gt||vu,Zo=mt?Kt(mt):function(e){return es(e)&&Er(e)==m};function Ko(e){if(!es(e))return!1;var t=Er(e);return t==b||"[object DOMException]"==t||"string"==typeof e.message&&"string"==typeof e.name&&!rs(e)}function Go(e){if(!Jo(e))return!1;var t=Er(e);return t==x||t==w||"[object AsyncFunction]"==t||"[object Proxy]"==t}function $o(e){return"number"==typeof e&&e==fs(e)}function Qo(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=d}function Jo(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function es(e){return null!=e&&"object"==typeof e}var ts=bt?Kt(bt):function(e){return es(e)&&da(e)==_};function ns(e){return"number"==typeof e||es(e)&&Er(e)==E}function rs(e){if(!es(e)||Er(e)!=k)return!1;var t=Ye(e);if(null===t)return!0;var n=Oe.call(t,"constructor")&&t.constructor;return"function"==typeof n&&n instanceof n&&Ie.call(n)==Le}var is=xt?Kt(xt):function(e){return es(e)&&Er(e)==S},as=wt?Kt(wt):function(e){return es(e)&&da(e)==P};function os(e){return"string"==typeof e||!Wo(e)&&es(e)&&Er(e)==T}function ss(e){return"symbol"==typeof e||es(e)&&Er(e)==D}var us=_t?Kt(_t):function(e){return es(e)&&Qo(e.length)&&!!it[Er(e)]},ls=Wi(zr),cs=Wi((function(e,t){return e<=t}));function ds(e){if(!e)return[];if(Xo(e))return os(e)?dn(e):Si(e);if(Ke&&e[Ke])return function(e){for(var t,n=[];!(t=e.next()).done;)n.push(t.value);return n}(e[Ke]());var t=da(e);return(t==_?an:t==P?un:js)(e)}function hs(e){return e?(e=vs(e))===c||e===-1/0?17976931348623157e292*(e<0?-1:1):e==e?e:0:0===e?e:0}function fs(e){var t=hs(e),n=t%1;return t==t?n?t-n:t:0}function ps(e){return e?ar(fs(e),0,f):0}function vs(e){if("number"==typeof e)return e;if(ss(e))return h;if(Jo(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=Jo(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=Zt(e);var n=pe.test(e);return n||ge.test(e)?ut(e.slice(2),n?2:8):fe.test(e)?h:+e}function gs(e){return Pi(e,Bs(e))}function ys(e){return null==e?"":oi(e)}var ms=Di((function(e,t){if(xa(t)||Xo(t))Pi(t,Ms(t),e);else for(var n in t)Oe.call(t,n)&&Jn(e,n,t[n])})),bs=Di((function(e,t){Pi(t,Bs(t),e)})),xs=Di((function(e,t,n,r){Pi(t,Bs(t),e,r)})),ws=Di((function(e,t,n,r){Pi(t,Ms(t),e,r)})),_s=Ji(ir),Es=Ur((function(e,t){e=ke(e);var n=-1,r=t.length,a=r>2?t[2]:i;for(a&&ga(t[0],t[1],a)&&(r=1);++n1),t})),Pi(e,ta(e),n),r&&(n=or(n,7,$i));for(var i=t.length;i--;)ui(n,t[i]);return n})),zs=Ji((function(e,t){return null==e?{}:function(e,t){return qr(e,t,(function(t,n){return Ss(e,n)}))}(e,t)}));function Ns(e,t){if(null==e)return{};var n=Bt(ta(e),(function(e){return[e]}));return t=aa(t),qr(e,n,(function(e,n){return t(e,n[0])}))}var Ls=Ui(Ms),Rs=Ui(Bs);function js(e){return null==e?[]:Gt(e,Ms(e))}var Vs=Oi((function(e,t,n){return t=t.toLowerCase(),e+(n?Fs(t):t)}));function Fs(e){return Ks(ys(e).toLowerCase())}function qs(e){return(e=ys(e))&&e.replace(me,en).replace($e,"")}var Ws=Oi((function(e,t,n){return e+(n?"-":"")+t.toLowerCase()})),Ys=Oi((function(e,t,n){return e+(n?" ":"")+t.toLowerCase()})),Xs=Ii("toLowerCase"),Hs=Oi((function(e,t,n){return e+(n?"_":"")+t.toLowerCase()})),Us=Oi((function(e,t,n){return e+(n?" ":"")+Ks(t)})),Zs=Oi((function(e,t,n){return e+(n?" ":"")+t.toUpperCase()})),Ks=Ii("toUpperCase");function Gs(e,t,n){return e=ys(e),(t=n?i:t)===i?function(e){return tt.test(e)}(e)?function(e){return e.match(Je)||[]}(e):function(e){return e.match(ue)||[]}(e):e.match(t)||[]}var $s=Ur((function(e,t){try{return Et(e,i,t)}catch(e){return Ko(e)?e:new we(e)}})),Qs=Ji((function(e,t){return Ct(t,(function(t){t=za(t),rr(e,t,To(e[t],e))})),e}));function Js(e){return function(){return e}}var eu=Ni(),tu=Ni(!0);function nu(e){return e}function ru(e){return Or("function"==typeof e?e:or(e,1))}var iu=Ur((function(e,t){return function(n){return Tr(n,e,t)}})),au=Ur((function(e,t){return function(n){return Tr(e,n,t)}}));function ou(e,t,n){var r=Ms(t),i=xr(t,r);null!=n||Jo(t)&&(i.length||!r.length)||(n=t,t=e,e=this,i=xr(t,Ms(t)));var a=!(Jo(n)&&"chain"in n&&!n.chain),o=Go(e);return Ct(i,(function(n){var r=t[n];e[n]=r,o&&(e.prototype[n]=function(){var t=this.__chain__;if(a||t){var n=e(this.__wrapped__);return(n.__actions__=Si(this.__actions__)).push({func:r,args:arguments,thisArg:e}),n.__chain__=t,n}return r.apply(e,It([this.value()],arguments))})})),e}function su(){}var uu=Vi(Bt),lu=Vi(Pt),cu=Vi(zt);function du(e){return ya(e)?Wt(za(e)):function(e){return function(t){return wr(t,e)}}(e)}var hu=qi(),fu=qi(!0);function pu(){return[]}function vu(){return!1}var gu,yu=ji((function(e,t){return e+t}),0),mu=Xi("ceil"),bu=ji((function(e,t){return e/t}),1),xu=Xi("floor"),wu=ji((function(e,t){return e*t}),1),_u=Xi("round"),Eu=ji((function(e,t){return e-t}),0);return Rn.after=function(e,t){if("function"!=typeof t)throw new Pe(a);return e=fs(e),function(){if(--e<1)return t.apply(this,arguments)}},Rn.ary=So,Rn.assign=ms,Rn.assignIn=bs,Rn.assignInWith=xs,Rn.assignWith=ws,Rn.at=_s,Rn.before=Po,Rn.bind=To,Rn.bindAll=Qs,Rn.bindKey=Do,Rn.castArray=function(){if(!arguments.length)return[];var e=arguments[0];return Wo(e)?e:[e]},Rn.chain=co,Rn.chunk=function(e,t,n){t=(n?ga(e,t,n):t===i)?1:gn(fs(t),0);var a=null==e?0:e.length;if(!a||t<1)return[];for(var o=0,s=0,u=r(ht(a/t));oa?0:a+n),(r=r===i||r>a?a:fs(r))<0&&(r+=a),r=n>r?0:ps(r);n>>0)?(e=ys(e))&&("string"==typeof t||null!=t&&!is(t))&&!(t=oi(t))&&rn(e)?mi(dn(e),0,n):e.split(t,n):[]},Rn.spread=function(e,t){if("function"!=typeof e)throw new Pe(a);return t=null==t?0:gn(fs(t),0),Ur((function(n){var r=n[t],i=mi(n,0,t);return r&&It(i,r),Et(e,this,i)}))},Rn.tail=function(e){var t=null==e?0:e.length;return t?ei(e,1,t):[]},Rn.take=function(e,t,n){return e&&e.length?ei(e,0,(t=n||t===i?1:fs(t))<0?0:t):[]},Rn.takeRight=function(e,t,n){var r=null==e?0:e.length;return r?ei(e,(t=r-(t=n||t===i?1:fs(t)))<0?0:t,r):[]},Rn.takeRightWhile=function(e,t){return e&&e.length?ci(e,aa(t,3),!1,!0):[]},Rn.takeWhile=function(e,t){return e&&e.length?ci(e,aa(t,3)):[]},Rn.tap=function(e,t){return t(e),e},Rn.throttle=function(e,t,n){var r=!0,i=!0;if("function"!=typeof e)throw new Pe(a);return Jo(n)&&(r="leading"in n?!!n.leading:r,i="trailing"in n?!!n.trailing:i),Mo(e,t,{leading:r,maxWait:t,trailing:i})},Rn.thru=ho,Rn.toArray=ds,Rn.toPairs=Ls,Rn.toPairsIn=Rs,Rn.toPath=function(e){return Wo(e)?Bt(e,za):ss(e)?[e]:Si(Aa(ys(e)))},Rn.toPlainObject=gs,Rn.transform=function(e,t,n){var r=Wo(e),i=r||Uo(e)||us(e);if(t=aa(t,4),null==n){var a=e&&e.constructor;n=i?r?new a:[]:Jo(e)&&Go(a)?jn(Ye(e)):{}}return(i?Ct:mr)(e,(function(e,r,i){return t(n,e,r,i)})),n},Rn.unary=function(e){return So(e,1)},Rn.union=Ja,Rn.unionBy=eo,Rn.unionWith=to,Rn.uniq=function(e){return e&&e.length?si(e):[]},Rn.uniqBy=function(e,t){return e&&e.length?si(e,aa(t,2)):[]},Rn.uniqWith=function(e,t){return t="function"==typeof t?t:i,e&&e.length?si(e,i,t):[]},Rn.unset=function(e,t){return null==e||ui(e,t)},Rn.unzip=no,Rn.unzipWith=ro,Rn.update=function(e,t,n){return null==e?e:li(e,t,vi(n))},Rn.updateWith=function(e,t,n,r){return r="function"==typeof r?r:i,null==e?e:li(e,t,vi(n),r)},Rn.values=js,Rn.valuesIn=function(e){return null==e?[]:Gt(e,Bs(e))},Rn.without=io,Rn.words=Gs,Rn.wrap=function(e,t){return No(vi(t),e)},Rn.xor=ao,Rn.xorBy=oo,Rn.xorWith=so,Rn.zip=uo,Rn.zipObject=function(e,t){return fi(e||[],t||[],Jn)},Rn.zipObjectDeep=function(e,t){return fi(e||[],t||[],Gr)},Rn.zipWith=lo,Rn.entries=Ls,Rn.entriesIn=Rs,Rn.extend=bs,Rn.extendWith=xs,ou(Rn,Rn),Rn.add=yu,Rn.attempt=$s,Rn.camelCase=Vs,Rn.capitalize=Fs,Rn.ceil=mu,Rn.clamp=function(e,t,n){return n===i&&(n=t,t=i),n!==i&&(n=(n=vs(n))==n?n:0),t!==i&&(t=(t=vs(t))==t?t:0),ar(vs(e),t,n)},Rn.clone=function(e){return or(e,4)},Rn.cloneDeep=function(e){return or(e,5)},Rn.cloneDeepWith=function(e,t){return or(e,5,t="function"==typeof t?t:i)},Rn.cloneWith=function(e,t){return or(e,4,t="function"==typeof t?t:i)},Rn.conformsTo=function(e,t){return null==t||sr(e,t,Ms(t))},Rn.deburr=qs,Rn.defaultTo=function(e,t){return null==e||e!=e?t:e},Rn.divide=bu,Rn.endsWith=function(e,t,n){e=ys(e),t=oi(t);var r=e.length,a=n=n===i?r:ar(fs(n),0,r);return(n-=t.length)>=0&&e.slice(n,a)==t},Rn.eq=jo,Rn.escape=function(e){return(e=ys(e))&&Z.test(e)?e.replace(H,tn):e},Rn.escapeRegExp=function(e){return(e=ys(e))&&ne.test(e)?e.replace(te,"\\$&"):e},Rn.every=function(e,t,n){var r=Wo(e)?Pt:hr;return n&&ga(e,t,n)&&(t=i),r(e,aa(t,3))},Rn.find=vo,Rn.findIndex=Fa,Rn.findKey=function(e,t){return Lt(e,aa(t,3),mr)},Rn.findLast=go,Rn.findLastIndex=qa,Rn.findLastKey=function(e,t){return Lt(e,aa(t,3),br)},Rn.floor=xu,Rn.forEach=yo,Rn.forEachRight=mo,Rn.forIn=function(e,t){return null==e?e:gr(e,aa(t,3),Bs)},Rn.forInRight=function(e,t){return null==e?e:yr(e,aa(t,3),Bs)},Rn.forOwn=function(e,t){return e&&mr(e,aa(t,3))},Rn.forOwnRight=function(e,t){return e&&br(e,aa(t,3))},Rn.get=Cs,Rn.gt=Vo,Rn.gte=Fo,Rn.has=function(e,t){return null!=e&&ha(e,t,Cr)},Rn.hasIn=Ss,Rn.head=Ya,Rn.identity=nu,Rn.includes=function(e,t,n,r){e=Xo(e)?e:js(e),n=n&&!r?fs(n):0;var i=e.length;return n<0&&(n=gn(i+n,0)),os(e)?n<=i&&e.indexOf(t,n)>-1:!!i&&jt(e,t,n)>-1},Rn.indexOf=function(e,t,n){var r=null==e?0:e.length;if(!r)return-1;var i=null==n?0:fs(n);return i<0&&(i=gn(r+i,0)),jt(e,t,i)},Rn.inRange=function(e,t,n){return t=hs(t),n===i?(n=t,t=0):n=hs(n),function(e,t,n){return e>=yn(t,n)&&e=-9007199254740991&&e<=d},Rn.isSet=as,Rn.isString=os,Rn.isSymbol=ss,Rn.isTypedArray=us,Rn.isUndefined=function(e){return e===i},Rn.isWeakMap=function(e){return es(e)&&da(e)==M},Rn.isWeakSet=function(e){return es(e)&&"[object WeakSet]"==Er(e)},Rn.join=function(e,t){return null==e?"":Yt.call(e,t)},Rn.kebabCase=Ws,Rn.last=Za,Rn.lastIndexOf=function(e,t,n){var r=null==e?0:e.length;if(!r)return-1;var a=r;return n!==i&&(a=(a=fs(n))<0?gn(r+a,0):yn(a,r-1)),t==t?function(e,t,n){for(var r=n+1;r--;)if(e[r]===t)return r;return r}(e,t,a):Rt(e,Ft,a,!0)},Rn.lowerCase=Ys,Rn.lowerFirst=Xs,Rn.lt=ls,Rn.lte=cs,Rn.max=function(e){return e&&e.length?fr(e,nu,kr):i},Rn.maxBy=function(e,t){return e&&e.length?fr(e,aa(t,2),kr):i},Rn.mean=function(e){return qt(e,nu)},Rn.meanBy=function(e,t){return qt(e,aa(t,2))},Rn.min=function(e){return e&&e.length?fr(e,nu,zr):i},Rn.minBy=function(e,t){return e&&e.length?fr(e,aa(t,2),zr):i},Rn.stubArray=pu,Rn.stubFalse=vu,Rn.stubObject=function(){return{}},Rn.stubString=function(){return""},Rn.stubTrue=function(){return!0},Rn.multiply=wu,Rn.nth=function(e,t){return e&&e.length?Vr(e,fs(t)):i},Rn.noConflict=function(){return dt._===this&&(dt._=Re),this},Rn.noop=su,Rn.now=Co,Rn.pad=function(e,t,n){e=ys(e);var r=(t=fs(t))?cn(e):0;if(!t||r>=t)return e;var i=(t-r)/2;return Fi(ft(i),n)+e+Fi(ht(i),n)},Rn.padEnd=function(e,t,n){e=ys(e);var r=(t=fs(t))?cn(e):0;return t&&rt){var r=e;e=t,t=r}if(n||e%1||t%1){var a=xn();return yn(e+a*(t-e+st("1e-"+((a+"").length-1))),t)}return Xr(e,t)},Rn.reduce=function(e,t,n){var r=Wo(e)?Ot:Xt,i=arguments.length<3;return r(e,aa(t,4),n,i,cr)},Rn.reduceRight=function(e,t,n){var r=Wo(e)?At:Xt,i=arguments.length<3;return r(e,aa(t,4),n,i,dr)},Rn.repeat=function(e,t,n){return t=(n?ga(e,t,n):t===i)?1:fs(t),Hr(ys(e),t)},Rn.replace=function(){var e=arguments,t=ys(e[0]);return e.length<3?t:t.replace(e[1],e[2])},Rn.result=function(e,t,n){var r=-1,a=(t=gi(t,e)).length;for(a||(a=1,e=i);++rd)return[];var n=f,r=yn(e,f);t=aa(t),e-=f;for(var i=Ut(r,t);++n=o)return e;var u=n-cn(r);if(u<1)return r;var l=s?mi(s,0,u).join(""):e.slice(0,u);if(a===i)return l+r;if(s&&(u+=l.length-u),is(a)){if(e.slice(u).search(a)){var c,d=l;for(a.global||(a=Ce(a.source,ys(he.exec(a))+"g")),a.lastIndex=0;c=a.exec(d);)var h=c.index;l=l.slice(0,h===i?u:h)}}else if(e.indexOf(oi(a),u)!=u){var f=l.lastIndexOf(a);f>-1&&(l=l.slice(0,f))}return l+r},Rn.unescape=function(e){return(e=ys(e))&&U.test(e)?e.replace(X,fn):e},Rn.uniqueId=function(e){var t=++Ae;return ys(e)+t},Rn.upperCase=Zs,Rn.upperFirst=Ks,Rn.each=yo,Rn.eachRight=mo,Rn.first=Ya,ou(Rn,(gu={},mr(Rn,(function(e,t){Oe.call(Rn.prototype,t)||(gu[t]=e)})),gu),{chain:!1}),Rn.VERSION="4.17.21",Ct(["bind","bindKey","curry","curryRight","partial","partialRight"],(function(e){Rn[e].placeholder=Rn})),Ct(["drop","take"],(function(e,t){qn.prototype[e]=function(n){n=n===i?1:gn(fs(n),0);var r=this.__filtered__&&!t?new qn(this):this.clone();return r.__filtered__?r.__takeCount__=yn(n,r.__takeCount__):r.__views__.push({size:yn(n,f),type:e+(r.__dir__<0?"Right":"")}),r},qn.prototype[e+"Right"]=function(t){return this.reverse()[e](t).reverse()}})),Ct(["filter","map","takeWhile"],(function(e,t){var n=t+1,r=1==n||3==n;qn.prototype[e]=function(e){var t=this.clone();return t.__iteratees__.push({iteratee:aa(e,3),type:n}),t.__filtered__=t.__filtered__||r,t}})),Ct(["head","last"],(function(e,t){var n="take"+(t?"Right":"");qn.prototype[e]=function(){return this[n](1).value()[0]}})),Ct(["initial","tail"],(function(e,t){var n="drop"+(t?"":"Right");qn.prototype[e]=function(){return this.__filtered__?new qn(this):this[n](1)}})),qn.prototype.compact=function(){return this.filter(nu)},qn.prototype.find=function(e){return this.filter(e).head()},qn.prototype.findLast=function(e){return this.reverse().find(e)},qn.prototype.invokeMap=Ur((function(e,t){return"function"==typeof e?new qn(this):this.map((function(n){return Tr(n,e,t)}))})),qn.prototype.reject=function(e){return this.filter(Ao(aa(e)))},qn.prototype.slice=function(e,t){e=fs(e);var n=this;return n.__filtered__&&(e>0||t<0)?new qn(n):(e<0?n=n.takeRight(-e):e&&(n=n.drop(e)),t!==i&&(n=(t=fs(t))<0?n.dropRight(-t):n.take(t-e)),n)},qn.prototype.takeRightWhile=function(e){return this.reverse().takeWhile(e).reverse()},qn.prototype.toArray=function(){return this.take(f)},mr(qn.prototype,(function(e,t){var n=/^(?:filter|find|map|reject)|While$/.test(t),r=/^(?:head|last)$/.test(t),a=Rn[r?"take"+("last"==t?"Right":""):t],o=r||/^find/.test(t);a&&(Rn.prototype[t]=function(){var t=this.__wrapped__,s=r?[1]:arguments,u=t instanceof qn,l=s[0],c=u||Wo(t),d=function(e){var t=a.apply(Rn,It([e],s));return r&&h?t[0]:t};c&&n&&"function"==typeof l&&1!=l.length&&(u=c=!1);var h=this.__chain__,f=!!this.__actions__.length,p=o&&!h,v=u&&!f;if(!o&&c){t=v?t:new qn(this);var g=e.apply(t,s);return g.__actions__.push({func:ho,args:[d],thisArg:i}),new Fn(g,h)}return p&&v?e.apply(this,s):(g=this.thru(d),p?r?g.value()[0]:g.value():g)})})),Ct(["pop","push","shift","sort","splice","unshift"],(function(e){var t=Te[e],n=/^(?:push|sort|unshift)$/.test(e)?"tap":"thru",r=/^(?:pop|shift)$/.test(e);Rn.prototype[e]=function(){var e=arguments;if(r&&!this.__chain__){var i=this.value();return t.apply(Wo(i)?i:[],e)}return this[n]((function(n){return t.apply(Wo(n)?n:[],e)}))}})),mr(qn.prototype,(function(e,t){var n=Rn[t];if(n){var r=n.name+"";Oe.call(Dn,r)||(Dn[r]=[]),Dn[r].push({name:t,func:n})}})),Dn[Li(i,2).name]=[{name:"wrapper",func:i}],qn.prototype.clone=function(){var e=new qn(this.__wrapped__);return e.__actions__=Si(this.__actions__),e.__dir__=this.__dir__,e.__filtered__=this.__filtered__,e.__iteratees__=Si(this.__iteratees__),e.__takeCount__=this.__takeCount__,e.__views__=Si(this.__views__),e},qn.prototype.reverse=function(){if(this.__filtered__){var e=new qn(this);e.__dir__=-1,e.__filtered__=!0}else(e=this.clone()).__dir__*=-1;return e},qn.prototype.value=function(){var e=this.__wrapped__.value(),t=this.__dir__,n=Wo(e),r=t<0,i=n?e.length:0,a=function(e,t,n){for(var r=-1,i=n.length;++r=this.__values__.length;return{done:e,value:e?i:this.__values__[this.__index__++]}},Rn.prototype.plant=function(e){for(var t,n=this;n instanceof Vn;){var r=La(n);r.__index__=0,r.__values__=i,t?a.__wrapped__=r:t=r;var a=r;n=n.__wrapped__}return a.__wrapped__=e,t},Rn.prototype.reverse=function(){var e=this.__wrapped__;if(e instanceof qn){var t=e;return this.__actions__.length&&(t=new qn(this)),(t=t.reverse()).__actions__.push({func:ho,args:[Qa],thisArg:i}),new Fn(t,this.__chain__)}return this.thru(Qa)},Rn.prototype.toJSON=Rn.prototype.valueOf=Rn.prototype.value=function(){return di(this.__wrapped__,this.__actions__)},Rn.prototype.first=Rn.prototype.head,Ke&&(Rn.prototype[Ke]=function(){return this}),Rn}();dt._=pn,(r=function(){return pn}.call(t,n,t,e))===i||(e.exports=r)}.call(this)},8306:(e,t,n)=>{var r=n(3369);function i(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new TypeError("Expected a function");var n=function(){var r=arguments,i=t?t.apply(this,r):r[0],a=n.cache;if(a.has(i))return a.get(i);var o=e.apply(this,r);return n.cache=a.set(i,o)||a,o};return n.cache=new(i.Cache||r),n}i.Cache=r,e.exports=i},7771:(e,t,n)=>{var r=n(5639);e.exports=function(){return r.Date.now()}},6968:(e,t,n)=>{var r=n(611);e.exports=function(e,t,n){return null==e?e:r(e,t,n)}},4841:(e,t,n)=>{var r=n(7561),i=n(3218),a=n(3448),o=/^[-+]0x[0-9a-f]+$/i,s=/^0b[01]+$/i,u=/^0o[0-7]+$/i,l=parseInt;e.exports=function(e){if("number"==typeof e)return e;if(a(e))return NaN;if(i(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=i(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=r(e);var n=s.test(e);return n||u.test(e)?l(e.slice(2),n?2:8):o.test(e)?NaN:+e}},84:(e,t,n)=>{var r=n(9932),i=n(278),a=n(1469),o=n(3448),s=n(5514),u=n(327),l=n(9833);e.exports=function(e){return a(e)?r(e,u):o(e)?[e]:i(s(l(e)))}},9833:(e,t,n)=>{var r=n(531);e.exports=function(e){return null==e?"":r(e)}},2703:(e,t,n)=>{"use strict";var r=n(414);function i(){}function a(){}a.resetWarningCache=i,e.exports=function(){function e(e,t,n,i,a,o){if(o!==r){var s=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw s.name="Invariant Violation",s}}function t(){return e}e.isRequired=e;var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:a,resetWarningCache:i};return n.PropTypes=n,n}},5697:(e,t,n)=>{e.exports=n(2703)()},414:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},3379:e=>{"use strict";var t=[];function n(e){for(var n=-1,r=0;r{"use strict";var t={};e.exports=function(e,n){var r=function(e){if(void 0===t[e]){var n=document.querySelector(e);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(e){n=null}t[e]=n}return t[e]}(e);if(!r)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");r.appendChild(n)}},9216:e=>{"use strict";e.exports=function(e){var t=document.createElement("style");return e.setAttributes(t,e.attributes),e.insert(t,e.options),t}},3565:(e,t,n)=>{"use strict";e.exports=function(e){var t=n.nc;t&&e.setAttribute("nonce",t)}},7795:e=>{"use strict";e.exports=function(e){if("undefined"==typeof document)return{update:function(){},remove:function(){}};var t=e.insertStyleElement(e);return{update:function(n){!function(e,t,n){var r="";n.supports&&(r+="@supports (".concat(n.supports,") {")),n.media&&(r+="@media ".concat(n.media," {"));var i=void 0!==n.layer;i&&(r+="@layer".concat(n.layer.length>0?" ".concat(n.layer):""," {")),r+=n.css,i&&(r+="}"),n.media&&(r+="}"),n.supports&&(r+="}");var a=n.sourceMap;a&&"undefined"!=typeof btoa&&(r+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(a))))," */")),t.styleTagTransform(r,e,t.options)}(t,e,n)},remove:function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(t)}}}},4589:e=>{"use strict";e.exports=function(e,t){if(t.styleSheet)t.styleSheet.cssText=e;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(e))}}}},t={};function n(r){var i=t[r];if(void 0!==i)return i.exports;var a=t[r]={id:r,loaded:!1,exports:{}};return e[r].call(a.exports,a,a.exports,n),a.loaded=!0,a.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),n.nc=void 0;var r={};(()=>{"use strict";n.r(r),n.d(r,{Cytoscape:()=>se});var e=n(3379),t=n.n(e),i=n(7795),a=n.n(i),o=n(569),s=n.n(o),u=n(3565),l=n.n(u),c=n(9216),d=n.n(c),h=n(4589),f=n.n(h),p=n(372),v={};v.styleTagTransform=f(),v.setAttributes=l(),v.insert=s().bind(null,"head"),v.domAPI=a(),v.insertStyleElement=d(),t()(p.Z,v),p.Z&&p.Z.locals&&p.Z.locals;const g=window.React;var y=n.n(g),m=n(5697),b=n.n(m),x=n(9058),w=n.n(x);const{string:_,array:E,object:k,number:C,bool:S,oneOfType:P,any:T,func:D}=b(),M={id:_,className:_,style:P([_,k]),elements:P([E,T]),stylesheet:P([E,T]),layout:P([k,T]),pan:P([k,T]),zoom:C,panningEnabled:S,userPanningEnabled:S,minZoom:C,maxZoom:C,zoomingEnabled:S,userZoomingEnabled:S,boxSelectionEnabled:S,autoungrabify:S,autolock:S,autounselectify:S,get:D,toJson:D,diff:D,forEach:D,cy:D,headless:S,styleEnabled:S,hideEdgesOnViewport:S,textureOnViewport:S,motionBlur:S,motionBlurOpacity:C,wheelSensitivity:C,pixelRatio:P([_,k])},B=(e,t)=>{if(((e,t)=>null==e||null==t)(e,t)&&(null!=e||null!=t))return!0;if(e===t)return!1;if("object"!=typeof e||"object"!=typeof t)return e!==t;const n=Object.keys(e),r=Object.keys(t),i=n=>e[n]!==t[n];return n.length!==r.length||!(!n.some(i)&&!r.some(i))},I=(e,t)=>null!=e?e[t]:null,O={diff:B,get:I,toJson:e=>e,forEach:(e,t)=>e.forEach(t),elements:[{data:{id:"a",label:"Example node A"}},{data:{id:"b",label:"Example node B"}},{data:{id:"e",source:"a",target:"b"}}],stylesheet:[{selector:"node",style:{label:"data(label)"}}],zoom:1,pan:{x:0,y:0}},A=(e,t,n,r)=>n(I(e,r),I(t,r)),z=(e,t,n,r,i,a)=>{const o=i(i(n,"data"),"id"),s=e.getElementById(o),u={};["data","position","selected","selectable","locked","grabbable","classes"].forEach((e=>{const o=i(n,e);a(o,i(t,e))&&(u[e]=r(o))}));const l=i(n,"scratch");a(l,i(t,"scratch"))&&s.scratch(r(l)),Object.keys(u).length>0&&s.json(u)};class N extends y().Component{static get propTypes(){return M}static get defaultProps(){return O}static normalizeElements(e){if(null!=e.length)return e;{let{nodes:t,edges:n}=e;return null==t&&(t=[]),null==n&&(n=[]),t.concat(n)}}constructor(e){super(e),this.displayName="CytoscapeComponent",this.containerRef=y().createRef()}componentDidMount(){const e=this.containerRef.current,{global:t,headless:n,styleEnabled:r,hideEdgesOnViewport:i,textureOnViewport:a,motionBlur:o,motionBlurOpacity:s,wheelSensitivity:u,pixelRatio:l}=this.props,c=this._cy=new(w())({container:e,headless:n,styleEnabled:r,hideEdgesOnViewport:i,textureOnViewport:a,motionBlur:o,motionBlurOpacity:s,wheelSensitivity:u,pixelRatio:l});t&&(window[t]=c),this.updateCytoscape(null,this.props)}updateCytoscape(e,t){const n=this._cy,{diff:r,toJson:i,get:a,forEach:o}=t;((e,t,n,r,i,a,o)=>{e.batch((()=>{(r===B||A(t,n,r,"elements"))&&((e,t,n,r,i,a,o)=>{const s=[],u=e.collection(),l=[],c={},d={},h=e=>i(i(e,"data"),"id");a(n,(e=>{const t=h(e);d[t]=e})),null!=t&&a(t,(t=>{const n=h(t);c[n]=t,(e=>null!=d[e])(n)||u.merge(e.getElementById(n))})),a(n,(e=>{const t=h(e),n=(e=>c[e])(t);(e=>null!=c[e])(t)?l.push({ele1:n,ele2:e}):s.push(r(e))})),u.length>0&&e.remove(u),s.length>0&&e.add(s),l.forEach((({ele1:t,ele2:n})=>z(e,t,n,r,i,o)))})(e,I(t,"elements"),I(n,"elements"),i,a,o,r),A(t,n,r,"stylesheet")&&((e,t,n,r)=>{const i=e.style();null!=i&&i.fromJson(r(n)).update()})(e,I(t,"stylesheet"),I(n,"stylesheet"),i),["zoom","minZoom","maxZoom","zoomingEnabled","userZoomingEnabled","pan","panningEnabled","userPanningEnabled","boxSelectionEnabled","autoungrabify","autolock","autounselectify"].forEach((a=>{A(t,n,r,a)&&((e,t,n,r,i)=>{e[t](i(r))})(e,a,I(t,a),I(n,a),i)}))})),A(t,n,r,"layout")&&((e,t,n,r)=>{const i=r(n);null!=i&&e.layout(i).run()})(e,I(t,"layout"),I(n,"layout"),i)})(n,e,t,r,i,a,o),null!=t.cy&&t.cy(n)}componentDidUpdate(e){this.updateCytoscape(e,this.props)}componentWillUnmount(){this._cy.destroy()}render(){const{id:e,className:t,style:n}=this.props;return y().createElement("div",{ref:this.containerRef,id:e,className:t,style:n})}}var L=n(6486),R=n.n(L);const j={randomUUID:"undefined"!=typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};let V;const F=new Uint8Array(16);function q(){if(!V&&(V="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!V))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return V(F)}const W=[];for(let e=0;e<256;++e)W.push((e+256).toString(16).slice(1));const Y=function(e,t,n){if(j.randomUUID&&!t&&!e)return j.randomUUID();const r=(e=e||{}).random||(e.rng||q)();if(r[6]=15&r[6]|64,r[8]=63&r[8]|128,t){n=n||0;for(let e=0;e<16;++e)t[n+e]=r[e];return t}return function(e,t=0){return W[e[t+0]]+W[e[t+1]]+W[e[t+2]]+W[e[t+3]]+"-"+W[e[t+4]]+W[e[t+5]]+"-"+W[e[t+6]]+W[e[t+7]]+"-"+W[e[t+8]]+W[e[t+9]]+"-"+W[e[t+10]]+W[e[t+11]]+W[e[t+12]]+W[e[t+13]]+W[e[t+14]]+W[e[t+15]]}(r)};function X(e){return X="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},X(e)}function H(e,t){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:!this.shouldResize,t=this.cy;e!==this.shouldResize&&(e?(t.on("render",this.updateViewport),t.on("resize",this.resize),this.updateViewport(t)):(t.removeListener("render",this.updateViewport),t.removeListener("resize",this.resize)),this.shouldResize=e)}},{key:"getViewport",value:function(){var e=this.cy;return{position:e.pan(),zoom:e.zoom(),renderedBB:Object.assign({},e.elements().renderedBoundingBox()),height:e.height(),width:e.width()}}},{key:"updateViewport",value:function(){var e=this.cy;this.prev=this.getViewport(e)}},{key:"_xConstrainedZoom",value:function(e){var t=this.curr,n=this.prev,r=this.marginPercentage.left*t.width;t.position.x=r+(n.position.x-n.renderedBB.x1);var i=t.renderedBB.y1+t.renderedBB.h/2-t.renderedBB.h/n.zoom*e/2;i+=(t.height-n.height)/2,t.position.y=i+(n.position.y-n.renderedBB.y1)}},{key:"_xChangeMargin",value:function(e){var t=this.curr,n=this.prev,r=n.renderedBB.x1+n.renderedBB.w/2,i=r/n.width*e;t.position.x=t.position.x+(i-r)}},{key:"_yConstrainedZoom",value:function(e){var t=this.curr,n=this.prev,r=this.marginPercentage.top*t.height;t.position.y=r+(n.position.y-n.renderedBB.y1);var i=t.renderedBB.x1+t.renderedBB.w/2-t.renderedBB.w/n.zoom*e/2;i+=(t.width-n.width)/2,t.position.x=i+(n.position.x-n.renderedBB.x1)}},{key:"_yChangeMargin",value:function(){var e=this.curr,t=this.prev,n=t.renderedBB.y1+t.renderedBB.h/2,r=n/t.height*e.height;e.position.y=e.position.y+(r-n)}},{key:"resize",value:function(){var e=this.cy;this.curr=this.getViewport(e);var t=this.curr,n=this.prev,r=n.renderedBB.x1>=0&&n.renderedBB.y1>=0&&n.renderedBB.x2<=n.width&&n.renderedBB.y2<=n.height;if(this.marginPercentage={left:n.renderedBB.x1/n.width,top:n.renderedBB.y1/n.height},Math.abs(1-t.width/n.width)>Math.abs(1-t.height/n.height)){var i=n.zoom/n.width*t.width;if(r)for(var a=Math.min((t.renderedBB.y1+t.renderedBB.h/2)*n.zoom*2/t.renderedBB.h,-(t.renderedBB.y1+t.renderedBB.h/2-n.height)*n.zoom*2/t.renderedBB.h)-this.containedZoomMargin,o=n.width/n.zoom*a,s=t.zoom=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return o=e.done,e},e:function(e){s=!0,a=e},f:function(){try{o||null==n.return||n.return()}finally{if(s)throw a}}}}function $(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);ne.maxZoom()||t0&&(r.selector=r.selector+", "),r.selector=r.selector+"edge"):"node"===l?(r.selector.length>0&&(r.selector=r.selector+", "),r.selector=r.selector+"node"):"canvas"===l?r.coreAsWell=!0:console.error("Error: selector ".concat(l," is not available. Choose one of 'node', 'edge' or 'canvas'."))}}catch(e){u.e(e)}finally{u.f()}}o.push(r)};for(s.s();!(i=s.n()).done;)u()}catch(e){s.e(e)}finally{s.f()}return o},this.cyResponsiveClass=new Z(e),this.cyResponsiveClass.toggle(this.props.responsive),s(e.extent())}}},{key:"handleImageGeneration",value:function(e,t,n,r){var i=this,a={};t&&(a=t);var o,s,u,l=a.output;switch(a.output="blob",n){case"store":default:o=!1,s=!0;break;case"download":o=!0,s=!1;break;case"both":o=!0,s=!0}if("png"===e&&(u=this._cy.png(a)),"jpg"!==e&&"jpeg"!==e||(u=this._cy.jpg(a)),"svg"===e&&(u=this._cy.svg(a)),u&&o){var c=r;if(r||(c="cyto"),"svg"!==e)this.downloadBlob(u,c+"."+e);else{var d=new Blob([u],{type:"image/svg+xml;charset=utf-8"});this.downloadBlob(d,c+"."+e)}}if(u&&s){if(l||(l="base64uri"),"base64uri"!==l&&"base64"!==l)return;var h=new FileReader;h.onload=function(){var e=h.result;"base64"===l&&(e=e.replace(/^data:.+;base64,/,"")),i.props.setProps({imageData:e})},h.readAsDataURL(u)}}},{key:"downloadBlob",value:function(e,t){var n=document.createElement("a");n.style="display: none",document.body.appendChild(n);var r=window.URL.createObjectURL(e);n.href=r,n.download=t,n.click(),window.URL.revokeObjectURL(r),document.body.removeChild(n)}},{key:"updateContextMenu",value:function(e){this._cy.contextMenus({menuItems:this.createMenuItems(e),menuItemClasses:["custom-menu-item"]})}},{key:"graphOutOfView",value:function(){var e=this._cy.width(),t=this._cy.height(),n=this._cy.elements().renderedBoundingbox();return n.x1>e||n.y1>t||n.x2<0||n.y2<0}},{key:"componentDidUpdate",value:function(e){var t=this.props,n=t.contextMenu,r=t.elements;!R().isEqual(e.contextMenu,n)&&this._cy&&this.updateContextMenu(n),!R().isEqual(e.elements,r)&&this._cy&&this.graphOutOfView()&&this._cy.fit()}},{key:"componentDidMount",value:function(){var e=this.props.contextMenu;this._cy&&e.length>0&&this.updateContextMenu(e)}},{key:"render",value:function(){var e=this.props,t=e.id,n=e.style,r=e.className,i=e.elements,a=e.stylesheet,o=e.layout,s=e.contextMenu,u=e.contextMenuData,l=e.pan,c=e.zoom,d=e.panningEnabled,h=e.userPanningEnabled,f=e.minZoom,p=e.maxZoom,v=e.zoomingEnabled,g=e.userZoomingEnabled,m=e.wheelSensitivity,b=e.boxSelectionEnabled,x=e.autoungrabify,w=e.autolock,_=e.autounselectify,E=e.generateImage,k=e.responsive;return Object.keys(E).length>0&&(this.props.setProps({generateImage:{}}),this._cy&&this.handleImageGeneration(E.type,E.options,E.action,E.filename)),this.cyResponsiveClass&&this.cyResponsiveClass.toggle(k),y().createElement(N,{id:t,cy:this.handleCy,className:r,style:n,elements:N.normalizeElements(i),stylesheet:a,layout:o,contextMenu:s,contextMenuData:u,pan:l,zoom:c,panningEnabled:d,userPanningEnabled:h,minZoom:f,maxZoom:p,zoomingEnabled:v,userZoomingEnabled:g,wheelSensitivity:m,boxSelectionEnabled:b,autoungrabify:x,autolock:w,autounselectify:_})}}],r&&Q(n.prototype,r),Object.defineProperty(n,"prototype",{writable:!1}),t}(g.Component);oe.propTypes={id:b().string,className:b().string,style:b().object,setProps:b().func,elements:b().oneOfType([b().arrayOf(b().shape({group:b().string,data:b().shape({id:b().string,label:b().string,parent:b().string,source:b().string,target:b().string}),position:b().shape({x:b().number,y:b().number}),selected:b().bool,selectable:b().bool,locked:b().bool,grabbable:b().bool,classes:b().string})),b().exact({nodes:b().array,edges:b().array})]),stylesheet:b().arrayOf(b().exact({selector:b().string.isRequired,style:b().object.isRequired})),layout:b().shape({name:b().oneOf(["random","preset","circle","concentric","grid","breadthfirst","cose","cose-bilkent","fcose","cola","euler","spread","dagre","klay"]).isRequired,fit:b().bool,padding:b().number,animate:b().bool,animationDuration:b().number,boundingBox:b().object}),contextMenu:b().arrayOf(b().exact({id:b().string.isRequired,label:b().string.isRequired,tooltipText:b().string,availableOn:b().array,onClick:b().string,onClickCustom:b().string})),contextMenuData:b().exact({menuItemId:b().string,x:b().number,y:b().number,timeStamp:b().number,elementId:b().string,edgeSource:b().string,edgeTarget:b().string}),pan:b().exact({x:b().number,y:b().number}),zoom:b().number,panningEnabled:b().bool,userPanningEnabled:b().bool,minZoom:b().number,maxZoom:b().number,zoomingEnabled:b().bool,userZoomingEnabled:b().bool,wheelSensitivity:b().number,boxSelectionEnabled:b().bool,autoungrabify:b().bool,autolock:b().bool,autounselectify:b().bool,autoRefreshLayout:b().bool,tapNode:b().exact({edgesData:b().array,renderedPosition:b().object,timeStamp:b().number,classes:b().string,data:b().object,grabbable:b().bool,group:b().string,locked:b().bool,position:b().object,selectable:b().bool,selected:b().bool,style:b().object,ancestorsData:b().oneOfType([b().object,b().array]),childrenData:b().oneOfType([b().object,b().array]),descendantsData:b().oneOfType([b().object,b().array]),parentData:b().oneOfType([b().object,b().array]),siblingsData:b().oneOfType([b().object,b().array]),isParent:b().bool,isChildless:b().bool,isChild:b().bool,isOrphan:b().bool,relativePosition:b().object}),tapNodeData:b().object,tapEdge:b().exact({isLoop:b().bool,isSimple:b().bool,midpoint:b().object,sourceData:b().object,sourceEndpoint:b().object,targetData:b().object,targetEndpoint:b().object,timeStamp:b().number,classes:b().string,data:b().object,grabbable:b().bool,group:b().string,locked:b().bool,selectable:b().bool,selected:b().bool,style:b().object}),tapEdgeData:b().object,mouseoverNodeData:b().object,mouseoverEdgeData:b().object,selectedNodeData:b().array,selectedEdgeData:b().array,generateImage:b().shape({type:b().oneOf(["svg","png","jpg","jpeg"]),options:b().object,action:b().oneOf(["store","download","both"]),filename:b().string}),imageData:b().string,responsive:b().bool,extent:b().object,clearOnUnhover:b().bool},oe.defaultProps={style:{width:"600px",height:"600px"},layout:{name:"grid"},pan:{x:0,y:0},zoom:1,minZoom:1e-50,maxZoom:1e50,zoomingEnabled:!0,userZoomingEnabled:!0,panningEnabled:!0,userPanningEnabled:!0,wheelSensitivity:1,boxSelectionEnabled:!1,autolock:!1,autoungrabify:!1,autounselectify:!1,autoRefreshLayout:!0,generateImage:{},imageData:null,responsive:!1,clearOnUnhover:!1,elements:[],contextMenu:[]};const se=oe})(),window.dash_cytoscape=r})(); \ No newline at end of file diff --git a/inst/deps/dash_cytoscape_extra.dev.js b/inst/deps/dash_cytoscape_extra.dev.js index e13ef6cc..92972691 100644 --- a/inst/deps/dash_cytoscape_extra.dev.js +++ b/inst/deps/dash_cytoscape_extra.dev.js @@ -26,7 +26,7 @@ eval("/*! (c) Andrea Giammarchi @webreflection ISC */\n(function () {\n 'use st /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _src_assets_contextmenu_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../src/assets/contextmenu.css */ \"./src/assets/contextmenu.css\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var react_cytoscapejs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-cytoscapejs */ \"./node_modules/react-cytoscapejs/dist/react-cytoscape.modern.js\");\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! lodash */ \"./node_modules/lodash/lodash.js\");\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var uuid__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! uuid */ \"./node_modules/uuid/dist/esm-browser/v4.js\");\n/* harmony import */ var _cyResponsive_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../cyResponsive.js */ \"./src/lib/cyResponsive.js\");\n/* harmony import */ var _ungap_custom_elements__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @ungap/custom-elements */ \"./node_modules/@ungap/custom-elements/index.js\");\n/* harmony import */ var _ungap_custom_elements__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_ungap_custom_elements__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _cyleaflet_clientside_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../cyleaflet_clientside.js */ \"./src/lib/cyleaflet_clientside.js\");\n/* harmony import */ var _cyleaflet_clientside_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_cyleaflet_clientside_js__WEBPACK_IMPORTED_MODULE_6__);\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : String(i); }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n/**\n * JavaScript Requirements: cytoscape, cytoscape-svg\n * React.js requirements: react-cytoscapejs\n */\n\n\n\n\n\n\n\n\n// Polyfill so that context menu extension works in Safari\n\nvar cytoscape = __webpack_require__(/*! cytoscape */ \"./node_modules/cytoscape/dist/cytoscape.cjs.js\");\nvar contextMenus = __webpack_require__(/*! cytoscape-context-menus */ \"./node_modules/cytoscape-context-menus/cytoscape-context-menus.js\");\n\n// Clientside callback functions for CyLeaflet AIO component\n\n\n// register extension\ncontextMenus(cytoscape);\n/**\n * A Component Library for Dash aimed at facilitating network visualization in\n * Python, wrapped around [Cytoscape.js](http://js.cytoscape.org/).\n */\nvar Cytoscape = /*#__PURE__*/function (_Component) {\n _inherits(Cytoscape, _Component);\n function Cytoscape(props) {\n var _this;\n _classCallCheck(this, Cytoscape);\n _this = _callSuper(this, Cytoscape, [props]);\n _this.handleCy = _this.handleCy.bind(_assertThisInitialized(_this));\n _this._handleCyCalled = false;\n _this.handleImageGeneration = _this.handleImageGeneration.bind(_assertThisInitialized(_this));\n _this.cyResponsiveClass = false;\n return _this;\n }\n _createClass(Cytoscape, [{\n key: \"generateNode\",\n value: function generateNode(event) {\n var ele = event.target;\n var isParent = ele.isParent(),\n isChildless = ele.isChildless(),\n isChild = ele.isChild(),\n isOrphan = ele.isOrphan(),\n renderedPosition = ele.renderedPosition(),\n relativePosition = ele.relativePosition(),\n parent = ele.parent(),\n style = ele.style();\n\n // Trim down the element objects to only the data contained\n var edgesData = ele.connectedEdges().map(function (ele) {\n return ele.data();\n });\n var childrenData = ele.children().map(function (ele) {\n return ele.data();\n });\n var ancestorsData = ele.ancestors().map(function (ele) {\n return ele.data();\n });\n var descendantsData = ele.descendants().map(function (ele) {\n return ele.data();\n });\n var siblingsData = ele.siblings().map(function (ele) {\n return ele.data();\n });\n var timeStamp = event.timeStamp;\n var _ele$json = ele.json(),\n classes = _ele$json.classes,\n data = _ele$json.data,\n grabbable = _ele$json.grabbable,\n group = _ele$json.group,\n locked = _ele$json.locked,\n position = _ele$json.position,\n selected = _ele$json.selected,\n selectable = _ele$json.selectable;\n var parentData;\n if (parent) {\n parentData = parent.data();\n } else {\n parentData = null;\n }\n var nodeObject = {\n // Nodes attributes\n edgesData: edgesData,\n renderedPosition: renderedPosition,\n timeStamp: timeStamp,\n // From ele.json()\n classes: classes,\n data: data,\n grabbable: grabbable,\n group: group,\n locked: locked,\n position: position,\n selectable: selectable,\n selected: selected,\n // Compound Nodes additional attributes\n ancestorsData: ancestorsData,\n childrenData: childrenData,\n descendantsData: descendantsData,\n parentData: parentData,\n siblingsData: siblingsData,\n isParent: isParent,\n isChildless: isChildless,\n isChild: isChild,\n isOrphan: isOrphan,\n relativePosition: relativePosition,\n // Styling\n style: style\n };\n return nodeObject;\n }\n }, {\n key: \"generateEdge\",\n value: function generateEdge(event) {\n var ele = event.target;\n var midpoint = ele.midpoint(),\n isLoop = ele.isLoop(),\n isSimple = ele.isSimple(),\n sourceData = ele.source().data(),\n sourceEndpoint = ele.sourceEndpoint(),\n style = ele.style(),\n targetData = ele.target().data(),\n targetEndpoint = ele.targetEndpoint();\n var timeStamp = event.timeStamp;\n var _ele$json2 = ele.json(),\n classes = _ele$json2.classes,\n data = _ele$json2.data,\n grabbable = _ele$json2.grabbable,\n group = _ele$json2.group,\n locked = _ele$json2.locked,\n selectable = _ele$json2.selectable,\n selected = _ele$json2.selected;\n var edgeObject = {\n // Edges attributes\n isLoop: isLoop,\n isSimple: isSimple,\n midpoint: midpoint,\n sourceData: sourceData,\n sourceEndpoint: sourceEndpoint,\n targetData: targetData,\n targetEndpoint: targetEndpoint,\n timeStamp: timeStamp,\n // From ele.json()\n classes: classes,\n data: data,\n grabbable: grabbable,\n group: group,\n locked: locked,\n selectable: selectable,\n selected: selected,\n // Styling\n style: style\n };\n return edgeObject;\n }\n }, {\n key: \"handleCy\",\n value: function handleCy(cy) {\n var _this2 = this;\n // If the cy pointer has not been modified, and handleCy has already\n // been called before, than we don't run this function.\n if (cy === this._cy && this._handleCyCalled) {\n return;\n }\n this._cy = cy;\n window.cy = cy;\n this._handleCyCalled = true;\n\n // ///////////////////////////////////// CONSTANTS /////////////////////////////////////////\n var SELECT_THRESHOLD = 100;\n var EXTENT_THRESHOLD = 5;\n var selectedNodes = cy.collection();\n var selectedEdges = cy.collection();\n\n // ///////////////////////////////////// FUNCTIONS /////////////////////////////////////////\n var refreshLayout = lodash__WEBPACK_IMPORTED_MODULE_3___default().debounce(function () {\n /**\n * Refresh Layout if needed\n */\n var _this2$props = _this2.props,\n autoRefreshLayout = _this2$props.autoRefreshLayout,\n layout = _this2$props.layout;\n if (autoRefreshLayout) {\n cy.layout(layout).run();\n }\n }, SELECT_THRESHOLD);\n var sendSelectedNodesData = lodash__WEBPACK_IMPORTED_MODULE_3___default().debounce(function () {\n /**\n This function is repetitively called every time a node is selected\n or unselected, but keeps being debounced if it is called again\n within 100 ms (given by SELECT_THRESHOLD). Effectively, it only\n runs when all the nodes have been correctly selected/unselected and\n added/removed from the selectedNodes collection, and then updates\n the selectedNodeData prop.\n */\n var nodeData = selectedNodes.map(function (el) {\n return el.data();\n });\n _this2.props.setProps({\n selectedNodeData: nodeData\n });\n }, SELECT_THRESHOLD);\n var sendSelectedEdgesData = lodash__WEBPACK_IMPORTED_MODULE_3___default().debounce(function () {\n var edgeData = selectedEdges.map(function (el) {\n return el.data();\n });\n _this2.props.setProps({\n selectedEdgeData: edgeData\n });\n }, SELECT_THRESHOLD);\n var setExtent = lodash__WEBPACK_IMPORTED_MODULE_3___default().debounce(function (cyExtent) {\n _this2.props.setProps({\n extent: cyExtent\n });\n }, EXTENT_THRESHOLD);\n\n // Store the original maxZoom and minZoom functions\n var originalMaxZoomFn = cy.maxZoom;\n var originalMinZoomFn = cy.minZoom;\n\n // Override the maxZoom function to trigger maxZoomChange custom event\n cy.maxZoom = function (e) {\n var currentMaxZoom = originalMaxZoomFn.call(cy, e);\n\n // Trigger your custom event if the current max zoom level is different from the \n // previously stored max zoom level\n if (currentMaxZoom !== cy._previousMaxZoom) {\n cy._previousMaxZoom = currentMaxZoom;\n cy.trigger('minMaxZoomChange');\n }\n return currentMaxZoom;\n };\n\n // Override the minZoom function to trigger minZoomChange custom event\n cy.minZoom = function (e) {\n var currentMinZoom = originalMinZoomFn.call(cy, e);\n\n // Trigger your custom event if the current min zoom level is different from the \n // previously stored min zoom level\n if (currentMinZoom !== cy._previousMinZoom) {\n cy._previousMinZoom = currentMinZoom;\n cy.trigger('minMaxZoomChange');\n }\n return currentMinZoom;\n };\n\n // /////////////////////////////////////// EVENTS //////////////////////////////////////////\n\n cy.on('tap', 'node', function (event) {\n var nodeObject = _this2.generateNode(event);\n _this2.props.setProps({\n tapNode: nodeObject,\n tapNodeData: Object.assign({}, nodeObject.data, {\n timeStamp: nodeObject.timeStamp\n })\n });\n });\n cy.on('tap', 'edge', function (event) {\n var edgeObject = _this2.generateEdge(event);\n _this2.props.setProps({\n tapEdge: edgeObject,\n tapEdgeData: Object.assign({}, edgeObject.data, {\n timeStamp: edgeObject.timeStamp\n })\n });\n });\n cy.on('mouseover', 'node', function (event) {\n _this2.props.setProps({\n mouseoverNodeData: Object.assign({}, event.target.data(), {\n timeStamp: event.timeStamp\n })\n });\n });\n cy.on('mouseover', 'edge', function (event) {\n _this2.props.setProps({\n mouseoverEdgeData: Object.assign({}, event.target.data(), {\n timeStamp: event.timeStamp\n })\n });\n });\n cy.on('mouseout', 'node', function (_) {\n if (_this2.props.clearOnUnhover === true) {\n _this2.props.setProps({\n mouseoverNodeData: null\n });\n }\n });\n cy.on('mouseout', 'edge', function (_) {\n if (_this2.props.clearOnUnhover === true) {\n _this2.props.setProps({\n mouseoverEdgeData: null\n });\n }\n });\n cy.on('select', 'node', function (event) {\n var ele = event.target;\n selectedNodes.merge(ele);\n sendSelectedNodesData();\n });\n cy.on('unselect remove', 'node', function (event) {\n var ele = event.target;\n selectedNodes.unmerge(ele);\n sendSelectedNodesData();\n });\n cy.on('select', 'edge', function (event) {\n var ele = event.target;\n selectedEdges.merge(ele);\n sendSelectedEdgesData();\n });\n cy.on('unselect remove', 'edge', function (event) {\n var ele = event.target;\n selectedEdges.unmerge(ele);\n sendSelectedEdgesData();\n });\n cy.on('add remove', function () {\n refreshLayout();\n });\n cy.on('dragfree add remove', function (_) {\n _this2.props.setProps({\n elements: cy.elements('').map(function (item) {\n if (item.json().group === 'nodes') {\n return {\n data: item.json().data,\n position: item.json().position\n };\n }\n return {\n data: item.json().data,\n position: void 0\n };\n })\n });\n });\n cy.on('viewport resize', function () {\n setExtent(cy.extent());\n });\n\n // Refresh layout if current zoom is out of boundaries\n cy.on('minMaxZoomChange', function () {\n var zoom = cy.zoom();\n if (zoom > cy.maxZoom() || zoom < cy.minZoom()) {\n cy.fit();\n }\n });\n this.createMenuItems = function (ctxMenu) {\n var updateContextMenuData = function updateContextMenuData(newContext) {\n _this2.props.setProps({\n contextMenuData: newContext\n });\n };\n var contextMenuDefaultFunctions = {\n remove: function remove(event) {\n var target = event.target || event.cyTarget;\n target.remove();\n },\n add_node: function add_node(event) {\n var pos = event.position || event.cyPosition;\n cy.add({\n data: {\n group: 'nodes'\n },\n position: {\n x: pos.x,\n y: pos.y\n }\n });\n },\n add_edge: function add_edge() {\n var selectedNodeIds = selectedNodes.map(function (node) {\n return node.id();\n });\n if (selectedNodes.length === 0) {\n console.error('Error: No nodes selected, cannot add edge');\n } else if (selectedNodes.length === 1) {\n cy.add({\n data: {\n id: (0,uuid__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(),\n group: 'edges',\n source: selectedNodeIds[0],\n target: selectedNodeIds[0]\n }\n });\n } else if (selectedNodes.length === 2) {\n cy.add({\n data: {\n id: (0,uuid__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(),\n group: 'edges',\n source: selectedNodeIds[0],\n target: selectedNodeIds[1]\n }\n });\n } else {\n console.error('Error: more than 2 nodes selected, cannot add edge');\n }\n }\n };\n var newMenuItems = [];\n var _iterator = _createForOfIteratorHelper(ctxMenu),\n _step;\n try {\n var _loop = function _loop() {\n var item = _step.value;\n var onClickFunction;\n // return data so a user can define a custom on click function in Python\n // if onClick or on onClickCustom are not specified\n onClickFunction = function onClickFunction(event) {\n updateContextMenuData({\n menuItemId: item.id,\n x: event.position.x,\n y: event.position.y,\n timeStamp: event.timeStamp,\n elementId: event.target.data().id,\n edgeSource: event.target.data().source,\n edgeTarget: event.target.data().target\n });\n };\n // use default javascript function as onClickFunction\n if (Object.prototype.hasOwnProperty.call(item, 'onClick')) {\n if (Object.prototype.hasOwnProperty.call(contextMenuDefaultFunctions, item.onClick)) {\n onClickFunction = contextMenuDefaultFunctions[item.onClick];\n } else {\n console.error(\"onClick function \".concat(item.onClick, \" is not defined\"));\n }\n }\n // use user-defined Javascript function in a namespace under assets/ as onClickFunction\n else if (Object.prototype.hasOwnProperty.call(item, 'onClickCustom')) {\n if (Object.prototype.hasOwnProperty.call(window, 'dashCytoscapeFunctions') && Object.prototype.hasOwnProperty.call(window.dashCytoscapeFunctions, item.onClickCustom)) {\n onClickFunction = window.dashCytoscapeFunctions[item.onClickCustom];\n } else {\n console.error(\"onClickCustom function \".concat(item.onClickCustom, \" is not defined\"));\n }\n }\n var new_item = {\n id: item.id,\n content: item.label,\n tooltipText: item.tooltipText,\n selector: '',\n onClickFunction: onClickFunction,\n coreAsWell: false\n };\n if (Object.prototype.hasOwnProperty.call(item, 'availableOn')) {\n var _iterator2 = _createForOfIteratorHelper(item.availableOn),\n _step2;\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var selector = _step2.value;\n if (selector === 'edge') {\n if (new_item.selector.length > 0) {\n new_item.selector = new_item.selector + ', ';\n }\n new_item.selector = new_item.selector + 'edge';\n } else if (selector === 'node') {\n if (new_item.selector.length > 0) {\n new_item.selector = new_item.selector + ', ';\n }\n new_item.selector = new_item.selector + 'node';\n } else if (selector === 'canvas') {\n new_item.coreAsWell = true;\n } else {\n console.error(\"Error: selector \".concat(selector, \" is not available. Choose one of 'node', 'edge' or 'canvas'.\"));\n }\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n }\n newMenuItems.push(new_item);\n };\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n _loop();\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n return newMenuItems;\n };\n this.cyResponsiveClass = new _cyResponsive_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"](cy);\n this.cyResponsiveClass.toggle(this.props.responsive);\n setExtent(cy.extent());\n }\n }, {\n key: \"handleImageGeneration\",\n value: function handleImageGeneration(imageType, imageOptions, actionsToPerform, fileName) {\n var _this3 = this;\n var options = {};\n if (imageOptions) {\n options = imageOptions;\n }\n var desiredOutput = options.output;\n options.output = 'blob';\n var downloadImage;\n var storeImage;\n switch (actionsToPerform) {\n case 'store':\n downloadImage = false;\n storeImage = true;\n break;\n case 'download':\n downloadImage = true;\n storeImage = false;\n break;\n case 'both':\n downloadImage = true;\n storeImage = true;\n break;\n default:\n downloadImage = false;\n storeImage = true;\n break;\n }\n var output;\n if (imageType === 'png') {\n output = this._cy.png(options);\n }\n if (imageType === 'jpg' || imageType === 'jpeg') {\n output = this._cy.jpg(options);\n }\n // only works when svg is imported (see lib/extra_index.js)\n if (imageType === 'svg') {\n output = this._cy.svg(options);\n }\n\n /*\n * If output is empty because of bad options or a cytoscape error,\n * skip any download or storage steps.\n */\n if (output && downloadImage) {\n /*\n * Downloading is initiated client-side because the image is generated at\n * the client. This avoids transferring a potentially large image\n * to the server and back again through a callback.\n */\n var fName = fileName;\n if (!fileName) {\n fName = 'cyto';\n }\n if (imageType !== 'svg') {\n this.downloadBlob(output, fName + '.' + imageType);\n } else {\n var blob = new Blob([output], {\n type: 'image/svg+xml;charset=utf-8'\n });\n this.downloadBlob(blob, fName + '.' + imageType);\n }\n }\n if (output && storeImage) {\n // Default output type if unspecified\n if (!desiredOutput) {\n desiredOutput = 'base64uri';\n }\n if (!(desiredOutput === 'base64uri' || desiredOutput === 'base64')) {\n return;\n }\n\n /*\n * Convert blob to base64uri or base64 string to store the image data.\n * Thank you, base64guru https://base64.guru/developers/javascript/examples/encode-blob\n */\n var reader = new FileReader();\n reader.onload = function () {\n /* FileReader is asynchronous, so the read function is non-blocking.\n * If this code block is placed after the read command, it\n * may result in empty output because the blob has not been loaded yet.\n */\n var callbackData = reader.result;\n if (desiredOutput === 'base64') {\n callbackData = callbackData.replace(/^data:.+;base64,/, '');\n }\n _this3.props.setProps({\n imageData: callbackData\n });\n };\n reader.readAsDataURL(output);\n }\n }\n }, {\n key: \"downloadBlob\",\n value: function downloadBlob(blob, fileName) {\n /*\n * Download blob as file by dynamically creating link.\n * Chrome does not open data URLs when JS opens a new tab directed\n * at the data URL, so this is an alternate implementation\n * that doesn't require extra packages. It may not behave in\n * exactly the same way across browsers (might display image in new tab\n * intead of downloading as a file).\n * Thank you, koldev https://jsfiddle.net/koldev/cW7W5/\n */\n var downloadLink = document.createElement('a');\n downloadLink.style = 'display: none';\n document.body.appendChild(downloadLink);\n var url = window.URL.createObjectURL(blob);\n downloadLink.href = url;\n downloadLink.download = fileName;\n downloadLink.click();\n window.URL.revokeObjectURL(url);\n document.body.removeChild(downloadLink);\n }\n }, {\n key: \"updateContextMenu\",\n value: function updateContextMenu(contextMenu) {\n this._cy.contextMenus({\n menuItems: this.createMenuItems(contextMenu),\n menuItemClasses: ['custom-menu-item']\n });\n }\n\n // Returns true if there is no overlap between the element bounding box\n // and the rendered area of the graph, meaning the graph is entirely outside the viewport;\n // returns false otherwise\n }, {\n key: \"graphOutOfView\",\n value: function graphOutOfView() {\n var cyWidth = this._cy.width();\n var cyHeight = this._cy.height();\n var elBox = this._cy.elements().renderedBoundingbox();\n return elBox.x1 > cyWidth || elBox.y1 > cyHeight || elBox.x2 < 0 || elBox.y2 < 0;\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n var _this$props = this.props,\n contextMenu = _this$props.contextMenu,\n elements = _this$props.elements;\n if (!lodash__WEBPACK_IMPORTED_MODULE_3___default().isEqual(prevProps.contextMenu, contextMenu) && this._cy) {\n this.updateContextMenu(contextMenu);\n }\n if (!lodash__WEBPACK_IMPORTED_MODULE_3___default().isEqual(prevProps.elements, elements) && this._cy) {\n // If elements were updated, and the new graph is *entirely* outside the viewport,\n // fit the viewport to the new elements\n if (this.graphOutOfView()) {\n this._cy.fit();\n }\n }\n }\n }, {\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var contextMenu = this.props.contextMenu;\n if (this._cy && contextMenu.length > 0) {\n this.updateContextMenu(contextMenu);\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props2 = this.props,\n id = _this$props2.id,\n style = _this$props2.style,\n className = _this$props2.className,\n elements = _this$props2.elements,\n stylesheet = _this$props2.stylesheet,\n layout = _this$props2.layout,\n contextMenu = _this$props2.contextMenu,\n contextMenuData = _this$props2.contextMenuData,\n pan = _this$props2.pan,\n zoom = _this$props2.zoom,\n panningEnabled = _this$props2.panningEnabled,\n userPanningEnabled = _this$props2.userPanningEnabled,\n minZoom = _this$props2.minZoom,\n maxZoom = _this$props2.maxZoom,\n zoomingEnabled = _this$props2.zoomingEnabled,\n userZoomingEnabled = _this$props2.userZoomingEnabled,\n wheelSensitivity = _this$props2.wheelSensitivity,\n boxSelectionEnabled = _this$props2.boxSelectionEnabled,\n autoungrabify = _this$props2.autoungrabify,\n autolock = _this$props2.autolock,\n autounselectify = _this$props2.autounselectify,\n generateImage = _this$props2.generateImage,\n responsive = _this$props2.responsive;\n if (Object.keys(generateImage).length > 0) {\n // If no cytoscape object has been created yet, an image cannot be generated,\n // so generateImage will be ignored and cleared.\n this.props.setProps({\n generateImage: {}\n });\n if (this._cy) {\n this.handleImageGeneration(generateImage.type, generateImage.options, generateImage.action, generateImage.filename);\n }\n }\n if (this.cyResponsiveClass) {\n this.cyResponsiveClass.toggle(responsive);\n }\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(react_cytoscapejs__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n id: id,\n cy: this.handleCy,\n className: className,\n style: style,\n elements: react_cytoscapejs__WEBPACK_IMPORTED_MODULE_2__[\"default\"].normalizeElements(elements),\n stylesheet: stylesheet,\n layout: layout,\n contextMenu: contextMenu,\n contextMenuData: contextMenuData,\n pan: pan,\n zoom: zoom,\n panningEnabled: panningEnabled,\n userPanningEnabled: userPanningEnabled,\n minZoom: minZoom,\n maxZoom: maxZoom,\n zoomingEnabled: zoomingEnabled,\n userZoomingEnabled: userZoomingEnabled,\n wheelSensitivity: wheelSensitivity,\n boxSelectionEnabled: boxSelectionEnabled,\n autoungrabify: autoungrabify,\n autolock: autolock,\n autounselectify: autounselectify\n });\n }\n }]);\n return Cytoscape;\n}(react__WEBPACK_IMPORTED_MODULE_1__.Component);\nCytoscape.propTypes = {\n // HTML attribute props\n\n /**\n * The ID used to identify this component in Dash callbacks.\n */\n id: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /**\n * Sets the class name of the element (the value of an element's html\n * class attribute).\n */\n className: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /**\n * Add inline styles to the root element.\n */\n style: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n // Dash specific props\n\n /**\n * Dash-assigned callback that should be called whenever any of the\n * properties change.\n */\n setProps: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().func),\n // Common props\n\n /**\n * A list of dictionaries representing the elements of the networks. Each dictionary describes an element, and\n * specifies its purpose. The [official Cytoscape.js documentation](https://js.cytoscape.org/#notation/elements-json)\n * offers an extensive overview and examples of element declaration.\n * Alternatively, a dictionary with the format { 'nodes': [], 'edges': [] } is allowed at initialization,\n * but arrays remain the recommended format.\n */\n elements: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_8___default().arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_8___default().shape({\n /**\n * Either 'nodes' or 'edges'. If not given, it's automatically inferred.\n */\n group: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** Element specific data.*/\n data: prop_types__WEBPACK_IMPORTED_MODULE_8___default().shape({\n /** Reference to the element, useful for selectors and edges. Randomly assigned if not given.*/\n id: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /**\n * Optional name for the element, useful when `data(label)` is given to a style's `content`\n * or `label`. It is only a convention. */\n label: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** Only for nodes. Optional reference to another node. Needed to create compound nodes. */\n parent: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** Only for edges. The id of the source node, which is where the edge starts. */\n source: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** Only for edges. The id of the target node, where the edge ends. */\n target: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string)\n }),\n /** Only for nodes. The position of the node. */\n position: prop_types__WEBPACK_IMPORTED_MODULE_8___default().shape({\n /** The x-coordinate of the node. */\n x: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /** The y-coordinate of the node. */\n y: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number)\n }),\n /** If the element is selected upon initialisation. */\n selected: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** If the element can be selected. */\n selectable: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Only for nodes. If the position is immutable. */\n locked: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Only for nodes. If the node can be grabbed and moved by the user. */\n grabbable: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * Space separated string of class names of the element. Those classes can be selected\n * by a style selector.\n */\n classes: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string)\n })), prop_types__WEBPACK_IMPORTED_MODULE_8___default().exact({\n nodes: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array),\n edges: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array)\n })]),\n /**\n * A list of dictionaries representing the styles of the elements.\n * Each dictionary requires the following keys: `selector` and `style`.\n *\n * Both the [selector](https://js.cytoscape.org/#selectors) and\n * the [style](https://js.cytoscape.org/#style/node-body) are\n * exhaustively documented in the Cytoscape.js docs. Although methods such\n * as `cy.elements(...)` and `cy.filter(...)` are not available, the selector\n * string syntax stays the same.\n */\n stylesheet: prop_types__WEBPACK_IMPORTED_MODULE_8___default().arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_8___default().exact({\n /**\n * Which elements you are styling. Generally, you select a group of elements (node, edges, both),\n * a class (that you declare in the element dictionary), or an element by ID.\n */\n selector: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string).isRequired,\n /**\n * What aspects of the elements you want to modify. This could be the size or\n * color of a node, the shape of an edge arrow, or many more.\n */\n style: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object).isRequired\n })),\n /**\n * A dictionary specifying how to set the position of the elements in your\n * graph. The `'name'` key is required, and indicates which layout (algorithm) to\n * use. The keys accepted by `layout` vary depending on the algorithm, but these\n * keys are accepted by all layouts: `fit`, `padding`, `animate`, `animationDuration`,\n * `boundingBox`.\n *\n * The complete list of layouts and their accepted options are available on the\n * [Cytoscape.js docs](https://js.cytoscape.org/#layouts) . For the external layouts,\n * the options are listed in the \"API\" section of the README.\n * Note that certain keys are not supported in Dash since the value is a JavaScript\n * function or a callback. Please visit this\n * [issue](https://github.com/plotly/dash-cytoscape/issues/25) for more information.\n */\n layout: prop_types__WEBPACK_IMPORTED_MODULE_8___default().shape({\n /**\n * The layouts available by default are:\n * `random`: Randomly assigns positions.\n * `preset`: Assigns position based on the `position` key in element dictionaries.\n * `circle`: Single-level circle, with optional radius.\n * `concentric`: Multi-level circle, with optional radius.\n * `grid`: Square grid, optionally with numbers of `rows` and `cols`.\n * `breadthfirst`: Tree structure built using BFS, with optional `roots`.\n * `cose`: Force-directed physics simulation.\n *\n * Some external layouts are also included. To use them, run\n * `dash_cytoscape.load_extra_layouts()` before creating your Dash app. Be careful about\n * using the extra layouts when not necessary, since they require supplementary bandwidth\n * for loading, which impacts the startup time of the app.\n * The external layouts are:\n * [cose-bilkent](https://github.com/cytoscape/cytoscape.js-cose-bilkent),\n * [fcose](https://github.com/iVis-at-Bilkent/cytoscape.js-fcose),\n * [cola](https://github.com/cytoscape/cytoscape.js-cola),\n * [euler](https://github.com/cytoscape/cytoscape.js-dagre),\n * [spread](https://github.com/cytoscape/cytoscape.js-spread),\n * [dagre](https://github.com/cytoscape/cytoscape.js-dagre),\n * [klay](https://github.com/cytoscape/cytoscape.js-klay),\n */\n name: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOf(['random', 'preset', 'circle', 'concentric', 'grid', 'breadthfirst', 'cose', 'cose-bilkent', 'fcose', 'cola', 'euler', 'spread', 'dagre', 'klay']).isRequired,\n /** Whether to render the nodes in order to fit the canvas. */\n fit: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Padding around the sides of the canvas, if fit is enabled. */\n padding: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /** Whether to animate change in position when the layout changes. */\n animate: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Duration of animation in milliseconds, if enabled. */\n animationDuration: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /**\n * How to constrain the layout in a specific area. Keys accepted are either\n * `x1, y1, x2, y2` or `x1, y1, w, h`, all of which receive a pixel value.\n */\n boundingBox: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object)\n }),\n /**\n * Define a custom context menu. The behaviour of each menu item can be defined in 1 of 3 ways.\n * 1. By passing a string to onClick that refers to one of the built-in Javascript functions.\n * 2. By passing a string to onClickCustom that refers to one of the user-defined functions in a namespace.\n * 3. By omitting both of these properties; this will update the contextMenuData property and trigger a Dash callback.\n */\n contextMenu: prop_types__WEBPACK_IMPORTED_MODULE_8___default().arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_8___default().exact({\n /** ID of the menu item in the context menu */\n id: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string).isRequired,\n /** The label on the context menu item*/\n label: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string).isRequired,\n /** The tooltip text when hovering on top of a context menu item */\n tooltipText: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** A list containing either 'node', 'edge',and/or 'canvas'. This will determine where the context\n * menu item will show up.\n */\n availableOn: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array),\n /** Specify which built-in JavaScript function to use as behaviour for the context\n * menu item. One of 'remove', 'add_node', or 'add_edge'\n */\n onClick: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** Specify which user-defined Javascript function to use in the dashCytoscapeFunctions\n * namespace as behaviour for the context menu item\n */\n onClickCustom: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string)\n })),\n /**\n * Retrieve relevant data when a context menu item is clicked. Read-only.\n */\n contextMenuData: prop_types__WEBPACK_IMPORTED_MODULE_8___default().exact({\n /** ID of the menu item in the context menu */\n menuItemId: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** x-position of the context click */\n x: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /** y-position of the context click */\n y: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /** Timestamp of context click*/\n timeStamp: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /** Element ID on context click if the context click was on an element.\n * If context click was on white space, this property is not returned\n */\n elementId: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** Node ID of the edge source if the clicked element is an edge,\n * or else this property is not returned*/\n edgeSource: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** Node ID of the edge target if the clicked element is an edge,\n * or else this property is not returned*/\n edgeTarget: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string)\n }),\n // Viewport Manipulation\n\n /**\n * Dictionary indicating the initial panning position of the graph. The\n * following keys are accepted:\n */\n pan: prop_types__WEBPACK_IMPORTED_MODULE_8___default().exact({\n /** The x-coordinate of the node */\n x: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /** The y-coordinate of the node */\n y: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number)\n }),\n /**\n * The initial zoom level of the graph. You can set `minZoom` and\n * `maxZoom` to set restrictions on the zoom level.\n */\n zoom: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n // Viewport Mutability and gesture Toggling\n /**\n * Whether panning the graph is enabled (i.e., the position of the graph is\n * mutable overall).\n */\n panningEnabled: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * Whether user events (e.g. dragging the graph background) are allowed to\n * pan the graph.\n */\n userPanningEnabled: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * A minimum bound on the zoom level of the graph. The viewport can not be\n * scaled smaller than this zoom level.\n */\n minZoom: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /**\n * A maximum bound on the zoom level of the graph. The viewport can not be\n * scaled larger than this zoom level.\n */\n maxZoom: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /**\n * Whether zooming the graph is enabled (i.e., the zoom level of the graph\n * is mutable overall).\n */\n zoomingEnabled: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * Whether user events (e.g. dragging the graph background) are allowed\n * to pan the graph.\n */\n userZoomingEnabled: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * Changes the scroll wheel sensitivity when zooming.\n */\n wheelSensitivity: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /**\n * Whether box selection (i.e. drag a box overlay around, and release it\n * to select) is enabled. If enabled, the user must taphold to pan the graph.\n */\n boxSelectionEnabled: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * Whether nodes should be ungrabified (not grabbable by user) by\n * default (if true, overrides individual node state).\n */\n autoungrabify: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * Whether nodes should be locked (not draggable at all) by default\n * (if true, overrides individual node state).\n */\n autolock: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * Whether nodes should be unselectified (immutable selection state) by\n * default (if true, overrides individual element state).\n */\n autounselectify: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * Whether the layout should be refreshed when elements are added or removed.\n */\n autoRefreshLayout: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n // User Events Props\n\n /**\n * The complete node dictionary returned when you tap or click it. Read-only.\n */\n tapNode: prop_types__WEBPACK_IMPORTED_MODULE_8___default().exact({\n /** node specific item */\n edgesData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array),\n /** node specific item */\n renderedPosition: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** node specific item */\n timeStamp: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /** General item (for all elements) */\n classes: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** General item (for all elements) */\n data: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** General item (for all elements) */\n grabbable: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** General item (for all elements) */\n group: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** General item (for all elements) */\n locked: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** General item (for all elements) */\n position: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** General item (for all elements) */\n selectable: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** General item (for all elements) */\n selected: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** General item (for all elements) */\n style: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** Item for compound nodes */\n ancestorsData: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_8___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array)]),\n /** Item for compound nodes */\n childrenData: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_8___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array)]),\n /** Item for compound nodes */\n descendantsData: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_8___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array)]),\n /** Item for compound nodes */\n parentData: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_8___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array)]),\n /** Item for compound nodes */\n siblingsData: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_8___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array)]),\n /** Item for compound nodes */\n isParent: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Item for compound nodes */\n isChildless: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Item for compound nodes */\n isChild: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Item for compound nodes */\n isOrphan: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Item for compound nodes */\n relativePosition: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object)\n }),\n /**\n * The data dictionary of a node returned when you tap or click it. Read-only.\n */\n tapNodeData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /**\n * The complete edge dictionary returned when you tap or click it. Read-only.\n */\n tapEdge: prop_types__WEBPACK_IMPORTED_MODULE_8___default().exact({\n /** Edge-specific item */\n isLoop: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Edge-specific item */\n isSimple: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Edge-specific item */\n midpoint: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** Edge-specific item */\n sourceData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** Edge-specific item */\n sourceEndpoint: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** Edge-specific item */\n targetData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** Edge-specific item */\n targetEndpoint: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** Edge-specific item */\n timeStamp: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /** General item (for all elements) */\n classes: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** General item (for all elements) */\n data: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** General item (for all elements) */\n grabbable: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** General item (for all elements) */\n group: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** General item (for all elements) */\n locked: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** General item (for all elements) */\n selectable: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** General item (for all elements) */\n selected: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** General item (for all elements) */\n style: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object)\n }),\n /**\n * The data dictionary of an edge returned when you tap or click it. Read-only.\n */\n tapEdgeData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /**\n * The data dictionary of a node returned when you hover over it. Read-only.\n */\n mouseoverNodeData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /**\n * The data dictionary of an edge returned when you hover over it. Read-only.\n */\n mouseoverEdgeData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /**\n * The list of data dictionaries of all selected nodes (e.g. using\n * Shift+Click to select multiple nodes, or Shift+Drag to use box selection). Read-only.\n */\n selectedNodeData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array),\n /**\n * The list of data dictionaries of all selected edges (e.g. using\n * Shift+Click to select multiple nodes, or Shift+Drag to use box selection). Read-only.\n */\n selectedEdgeData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array),\n /**\n * Dictionary specifying options to generate an image of the current cytoscape graph.\n * Value is cleared after data is received and image is generated. This property will\n * be ignored on the initial creation of the cytoscape object and must be invoked through\n * a callback after it has been rendered.\n *\n * If the app does not need the image data server side and/or it will only be used to download\n * the image, it may be prudent to invoke `'download'` for `action` instead of\n * `'store'` to improve performance by preventing transfer of data to the server.\n */\n generateImage: prop_types__WEBPACK_IMPORTED_MODULE_8___default().shape({\n /** File type to output */\n type: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOf(['svg', 'png', 'jpg', 'jpeg']),\n /** Dictionary of options to cy.png() / cy.jpg() or cy.svg() for image generation.\n * See https://js.cytoscape.org/#core/export for details. For `'output'`, only 'base64'\n * and 'base64uri' are supported. Default: `{'output': 'base64uri'}`.*/\n options: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /**\n * `'store'`: Stores the image data (only jpg and png are supported)\n * in `imageData` and invokes server-side Dash callbacks. `'download'`: Downloads the image\n * as a file with all data handling done client-side. No `imageData` callbacks are fired.\n * `'both'`: Stores image data and downloads image as file. The default is `'store'`\n */\n action: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOf(['store', 'download', 'both']),\n /** Name for the file to be downloaded. Default: 'cyto'.*/\n filename: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string)\n }),\n /**\n * String representation of the image requested with generateImage. Null if no\n * image was requested yet or the previous request failed. Read-only.\n */\n imageData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /**\n * Toggles intelligent responsive resize of Cytoscape graph with viewport size change\n */\n responsive: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * Extent of the viewport, a bounding box in model co-ordinates that lets you know what model\n * positions are visible in the viewport. This function returns a plain object bounding box\n * with format { x1, y1, x2, y2, w, h }.\n */\n extent: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /**\n * If set to True, mouseoverNodeData and mouseoverEdgeData will be cleared on unhover.\n * If set to False, the value of mouseoverNodeData and mouseoverEdgeData will be the last\n * Node or Edge hovered over\n */\n clearOnUnhover: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool)\n};\nCytoscape.defaultProps = {\n style: {\n width: '600px',\n height: '600px'\n },\n layout: {\n name: 'grid'\n },\n pan: {\n x: 0,\n y: 0\n },\n zoom: 1,\n minZoom: 1e-50,\n maxZoom: 1e50,\n zoomingEnabled: true,\n userZoomingEnabled: true,\n panningEnabled: true,\n userPanningEnabled: true,\n wheelSensitivity: 1,\n boxSelectionEnabled: false,\n autolock: false,\n autoungrabify: false,\n autounselectify: false,\n autoRefreshLayout: true,\n generateImage: {},\n imageData: null,\n responsive: false,\n clearOnUnhover: false,\n elements: [],\n contextMenu: []\n};\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Cytoscape);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvbGliL2NvbXBvbmVudHMvQ3l0b3NjYXBlLnJlYWN0LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNxQztBQUNFO0FBQ0o7QUFDZ0I7QUFDNUI7QUFDVztBQUNZOztBQUU5QztBQUNnQztBQUVoQyxJQUFNUSxTQUFTLEdBQUdDLG1CQUFPLENBQUMsaUVBQVcsQ0FBQztBQUN0QyxJQUFNQyxZQUFZLEdBQUdELG1CQUFPLENBQUMsa0dBQXlCLENBQUM7O0FBRXZEO0FBQ29DOztBQUVwQztBQUNBQyxZQUFZLENBQUNGLFNBQVMsQ0FBQztBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUhBLElBSU1HLFNBQVMsMEJBQUFDLFVBQUE7RUFBQUMsU0FBQSxDQUFBRixTQUFBLEVBQUFDLFVBQUE7RUFDWCxTQUFBRCxVQUFZRyxLQUFLLEVBQUU7SUFBQSxJQUFBQyxLQUFBO0lBQUFDLGVBQUEsT0FBQUwsU0FBQTtJQUNmSSxLQUFBLEdBQUFFLFVBQUEsT0FBQU4sU0FBQSxHQUFNRyxLQUFLO0lBRVhDLEtBQUEsQ0FBS0csUUFBUSxHQUFHSCxLQUFBLENBQUtHLFFBQVEsQ0FBQ0MsSUFBSSxDQUFBQyxzQkFBQSxDQUFBTCxLQUFBLENBQUssQ0FBQztJQUN4Q0EsS0FBQSxDQUFLTSxlQUFlLEdBQUcsS0FBSztJQUM1Qk4sS0FBQSxDQUFLTyxxQkFBcUIsR0FBR1AsS0FBQSxDQUFLTyxxQkFBcUIsQ0FBQ0gsSUFBSSxDQUFBQyxzQkFBQSxDQUFBTCxLQUFBLENBQUssQ0FBQztJQUNsRUEsS0FBQSxDQUFLUSxpQkFBaUIsR0FBRyxLQUFLO0lBQUMsT0FBQVIsS0FBQTtFQUNuQztFQUFDUyxZQUFBLENBQUFiLFNBQUE7SUFBQWMsR0FBQTtJQUFBQyxLQUFBLEVBRUQsU0FBQUMsYUFBYUMsS0FBSyxFQUFFO01BQ2hCLElBQU1DLEdBQUcsR0FBR0QsS0FBSyxDQUFDRSxNQUFNO01BRXhCLElBQU1D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S0FBSztFQUNmRCxhQUFhLEVBQUUsS0FBSztFQUNwQkUsZUFBZSxFQUFFLEtBQUs7RUFDdEJ2SyxpQkFBaUIsRUFBRSxJQUFJO0VBQ3ZCd0ssYUFBYSxFQUFFLENBQUMsQ0FBQztFQUNqQmpELFNBQVMsRUFBRSxJQUFJO0VBQ2Z6QixVQUFVLEVBQUUsS0FBSztFQUNqQjVELGNBQWMsRUFBRSxLQUFLO0VBQ3JCRyxRQUFRLEVBQUUsRUFBRTtFQUNaa0csV0FBVyxFQUFFO0FBQ2pCLENBQUM7QUFFRCxpRUFBZWxOLFNBQVMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX2N5dG9zY2FwZS8uL3NyYy9saWIvY29tcG9uZW50cy9DeXRvc2NhcGUucmVhY3QuanM/NjQyYyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEphdmFTY3JpcHQgUmVxdWlyZW1lbnRzOiBjeXRvc2NhcGUsIGN5dG9zY2FwZS1zdmdcbiAqIFJlYWN0LmpzIHJlcXVpcmVtZW50czogcmVhY3QtY3l0b3NjYXBlanNcbiAqL1xuaW1wb3J0ICcvc3JjL2Fzc2V0cy9jb250ZXh0bWVudS5jc3MnO1xuaW1wb3J0IFJlYWN0LCB7Q29tcG9uZW50fSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IEN5dG9zY2FwZUNvbXBvbmVudCBmcm9tICdyZWFjdC1jeXRvc2NhcGVqcyc7XG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHt2NCBhcyB1dWlkdjR9IGZyb20gJ3V1aWQnO1xuaW1wb3J0IEN5UmVzcG9uc2l2ZSBmcm9tICcuLi9jeVJlc3BvbnNpdmUuanMnO1xuXG4vLyBQb2x5ZmlsbCBzbyB0aGF0IGNvbnRleHQgbWVudSBleHRlbnNpb24gd29ya3MgaW4gU2FmYXJpXG5pbXBvcnQgJ0B1bmdhcC9jdXN0b20tZWxlbWVudHMnO1xuXG5jb25zdCBjeXRvc2NhcGUgPSByZXF1aXJlKCdjeXRvc2NhcGUnKTtcbmNvbnN0IGNvbnRleHRNZW51cyA9IHJlcXVpcmUoJ2N5dG9zY2FwZS1jb250ZXh0LW1lbnVzJyk7XG5cbi8vIENsaWVudHNpZGUgY2FsbGJhY2sgZnVuY3Rpb25zIGZvciBDeUxlYWZsZXQgQUlPIGNvbXBvbmVudFxuaW1wb3J0ICcuLi9jeWxlYWZsZXRfY2xpZW50c2lkZS5qcyc7XG5cbi8vIHJlZ2lzdGVyIGV4dGVuc2lvblxuY29udGV4dE1lbnVzKGN5dG9zY2FwZSk7XG4vKipcbiAqIEEgQ29tcG9uZW50IExpYnJhcnkgZm9yIERhc2ggYWltZWQgYXQgZmFjaWxpdGF0aW5nIG5ldHdvcmsgdmlzdWFsaXphdGlvbiBpblxuICogUHl0aG9uLCB3cmFwcGVkIGFyb3VuZCBbQ3l0b3NjYXBlLmpzXShodHRwOi8vanMuY3l0b3NjYXBlLm9yZy8pLlxuICovXG5jbGFzcyBDeXRvc2NhcGUgZXh0ZW5kcyBDb21wb25lbnQge1xuICAgIGNvbnN0cnVjdG9yKHByb3BzKSB7XG4gICAgICAgIHN1cGVyKHByb3BzKTtcblxuICAgICAgICB0aGlzLmhhbmRsZUN5ID0gdGhpcy5oYW5kbGVDeS5iaW5kKHRoaXMpO1xuICAgICAgICB0aGlzLl9oYW5kbGVDeUNhbGxlZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLmhhbmRsZUltYWdlR2VuZXJhdGlvbiA9IHRoaXMuaGFuZGxlSW1hZ2VHZW5lcmF0aW9uLmJpbmQodGhpcyk7XG4gICAgICAgIHRoaXMuY3lSZXNwb25zaXZlQ2xhc3MgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBnZW5lcmF0ZU5vZGUoZXZlbnQpIHtcbiAgICAgICAgY29uc3QgZWxlID0gZXZlbnQudGFyZ2V0O1xuXG4gICAgICAgIGNvbnN0IGlzUGFyZW50ID0gZWxlLmlzUGFyZW50KCksXG4gICAgICAgICAgICBpc0NoaWxkbGVzcyA9IGVsZS5pc0NoaWxkbGVzcygpLFxuICAgICAgICAgICAgaXNDaGlsZCA9IGVsZS5pc0NoaWxkKCksXG4gICAgICAgICAgICBpc09ycGhhbiA9IGVsZS5pc09ycGhhbigpLFxuICAgICAgICAgICAgcmVuZGVyZWRQb3NpdGlvbiA9IGVsZS5yZW5kZXJlZFBvc2l0aW9uKCksXG4gICAgICAgICAgICByZWxhdGl2ZVBvc2l0aW9uID0gZWxlLnJlbGF0aXZlUG9zaXRpb24oKSxcbiAgICAgICAgICAgIHBhcmVudCA9IGVsZS5wYXJlbnQoKSxcbiAgICAgICAgICAgIHN0eWxlID0gZWxlLnN0eWxlKCk7XG5cbiAgICAgICAgLy8gVHJpbSBkb3duIHRoZSBlbGVtZW50IG9iamVjdHMgdG8gb25seSB0aGUgZGF0YSBjb250YWluZWRcbiAgICAgICAgY29uc3QgZWRnZXNEYXRhID0gZWxlLmNvbm5lY3RlZEVkZ2VzKCkubWFwKChlbGUpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBlbGUuZGF0YSgpO1xuICAgICAgICB9KTtcbiAgICAgICAgY29uc3QgY2hpbGRyZW5EYXRhID0gZWxlLmNoaWxkcmVuKCkubWFwKChlbGUpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBlbGUuZGF0YSgpO1xuICAgICAgICB9KTtcbiAgICAgICAgY29uc3QgYW5jZXN0b3JzRGF0YSA9IGVsZS5hbmNlc3RvcnMoKS5tYXAoKGVsZSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGVsZS5kYXRhKCk7XG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBkZXNjZW5kYW50c0RhdGEgPSBlbGUuZGVzY2VuZGFudHMoKS5tYXAoKGVsZSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGVsZS5kYXRhKCk7XG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBzaWJsaW5nc0RhdGEgPSBlbGUuc2libGluZ3MoKS5tYXAoKGVsZSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGVsZS5kYXRhKCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IHt0aW1lU3RhbXB9ID0gZXZlbnQ7XG4gICAgICAgIGNvbnN0IHtcbiAgICAgICAgICAgIGNsYXNzZXMsXG4gICAgICAgICAgICBkYXRhLFxuICAgICAgICAgICAgZ3JhYmJhYmxlLFxuICAgICAgICAgICAgZ3JvdXAsXG4gICAgICAgICAgICBsb2NrZWQsXG4gICAgICAgICAgICBwb3NpdGlvbixcbiAgICAgICAgICAgIHNlbGVjdGVkLFxuICAgICAgICAgICAgc2VsZWN0YWJsZSxcbiAgICAgICAgfSA9IGVsZS5qc29uKCk7XG5cbiAgICAgICAgbGV0IHBhcmVudERhdGE7XG4gICAgICAgIGlmIChwYXJlbnQpIHtcbiAgICAgICAgICAgIHBhcmVudERhdGEgPSBwYXJlbnQuZGF0YSgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcGFyZW50RGF0YSA9IG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBub2RlT2JqZWN0ID0ge1xuICAgICAgICAgICAgLy8gTm9kZXMgYXR0cmlidXRlc1xuICAgICAgICAgICAgZWRnZXNEYXRhLFxuICAgICAgICAgICAgcmVuZGVyZWRQb3NpdGlvbixcbiAgICAgICAgICAgIHRpbWVTdGFtcCxcbiAgICAgICAgICAgIC8vIEZyb20gZWxlLmpzb24oKVxuICAgICAgICAgICAgY2xhc3NlcyxcbiAgICAgICAgICAgIGRhdGEsXG4gICAgICAgICAgICBncmFiYmFibGUsXG4gICAgICAgICAgICBncm91cCxcbiAgICAgICAgICAgIGxvY2tlZCxcbiAgICAgICAgICAgIHBvc2l0aW9uLFxuICAgICAgICAgICAgc2VsZWN0YWJsZSxcbiAgICAgICAgICAgIHNlbGVjdGVkLFxuICAgICAgICAgICAgLy8gQ29tcG91bmQgTm9kZXMgYWRkaXRpb25hbCBhdHRyaWJ1dGVzXG4gICAgICAgICAgICBhbmNlc3RvcnNEYXRhLFxuICAgICAgICAgICAgY2hpbGRyZW5EYXRhLFxuICAgICAgICAgICAgZGVzY2VuZGFudHNEYXRhLFxuICAgICAgICAgICAgcGFyZW50RGF0YSxcbiAgICAgICAgICAgIHNpYmxpbmdzRGF0YSxcbiAgICAgICAgICAgIGlzUGFyZW50LFxuICAgICAgICAgICAgaXNDaGlsZGxlc3MsXG4gICAgICAgICAgICBpc0NoaWxkLFxuICAgICAgICAgICAgaXNPcnBoYW4sXG4gICAgICAgICAgICByZWxhdGl2ZVBvc2l0aW9uLFxuICAgICAgICAgICAgLy8gU3R5bGluZ1xuICAgICAgICAgICAgc3R5bGUsXG4gICAgICAgIH07XG4gICAgICAgIHJldHVybiBub2RlT2JqZWN0O1xuICAgIH1cblxuICAgIGdlbmVyYXRlRWRnZShldmVudCkge1xuICAgICAgICBjb25zdCBlbGUgPSBldmVudC50YXJnZXQ7XG5cbiAgICAgICAgY29uc3QgbWlkcG9pbnQgPSBlbGUubWlkcG9pbnQoKSxcbiAgICAgICAgICAgIGlzTG9vcCA9IGVsZS5pc0xvb3AoKSxcbiAgICAgICAgICAgIGlzU2ltcGxlID0gZWxlLmlzU2ltcGxlKCksXG4gICAgICAgICAgICBzb3VyY2VEYXRhID0gZWxlLnNvdXJjZSgpLmRhdGEoKSxcbiAgICAgICAgICAgIHNvdXJjZUVuZHBvaW50ID0gZWxlLnNvdXJjZUVuZHBvaW50KCksXG4gICAgICAgICAgICBzdHlsZSA9IGVsZS5zdHlsZSgpLFxuICAgICAgICAgICAgdGFyZ2V0RGF0YSA9IGVsZS50YXJnZXQoKS5kYXRhKCksXG4gICAgICAgICAgICB0YXJnZXRFbmRwb2ludCA9IGVsZS50YXJnZXRFbmRwb2ludCgpO1xuXG4gICAgICAgIGNvbnN0IHt0aW1lU3RhbXB9ID0gZXZlbnQ7XG4gICAgICAgIGNvbnN0IHtjbGFzc2VzLCBkYXRhLCBncmFiYmFibGUsIGdyb3VwLCBsb2NrZWQsIHNlbGVjdGFibGUsIHNlbGVjdGVkfSA9XG4gICAgICAgICAgICBlbGUuanNvbigpO1xuXG4gICAgICAgIGNvbnN0IGVkZ2VPYmplY3QgPSB7XG4gICAgICAgICAgICAvLyBFZGdlcyBhdHRyaWJ1dGVzXG4gICAgICAgICAgICBpc0xvb3AsXG4gICAgICAgICAgICBpc1NpbXBsZSxcbiAgICAgICAgICAgIG1pZHBvaW50LFxuICAgICAgICAgICAgc291cmNlRGF0YSxcbiAgICAgICAgICAgIHNvdXJjZUVuZHBvaW50LFxuICAgICAgICAgICAgdGFyZ2V0RGF0YSxcbiAgICAgICAgICAgIHRhcmdldEVuZHBvaW50LFxuICAgICAgICAgICAgdGltZVN0YW1wLFxuICAgICAgICAgICAgLy8gRnJvbSBlbGUuanNvbigpXG4gICAgICAgICAgICBjbGFzc2VzLFxuICAgICAgICAgICAgZGF0YSxcbiAgICAgICAgICAgIGdyYWJiYWJsZSxcbiAgICAgICAgICAgIGdyb3VwLFxuICAgICAgICAgICAgbG9ja2VkLFxuICAgICAgICAgICAgc2VsZWN0YWJsZSxcbiAgICAgICAgICAgIHNlbGVjdGVkLFxuICAgICAgICAgICAgLy8gU3R5bGluZ1xuICAgICAgICAgICAgc3R5bGUsXG4gICAgICAgIH07XG5cbiAgICAgICAgcmV0dXJuIGVkZ2VPYmplY3Q7XG4gICAgfVxuXG4gICAgaGFuZGxlQ3koY3kpIHtcbiAgICAgICAgLy8gSWYgdGhlIGN5IHBvaW50ZXIgaGFzIG5vdCBiZWVuIG1vZGlmaWVkLCBhbmQgaGFuZGxlQ3kgaGFzIGFscmVhZHlcbiAgICAgICAgLy8gYmVlbiBjYWxsZWQgYmVmb3JlLCB0aGFuIHdlIGRvbid0IHJ1biB0aGlzIGZ1bmN0aW9uLlxuICAgICAgICBpZiAoY3kgPT09IHRoaXMuX2N5ICYmIHRoaXMuX2hhbmRsZUN5Q2FsbGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fY3kgPSBjeTtcbiAgICAgICAgd2luZG93LmN5ID0gY3k7XG4gICAgICAgIHRoaXMuX2hhbmRsZUN5Q2FsbGVkID0gdHJ1ZTtcblxuICAgICAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vIENPTlNUQU5UUyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgICAgICBjb25zdCBTRUxFQ1RfVEhSRVNIT0xEID0gMTAwO1xuICAgICAgICBjb25zdCBFWFRFTlRfVEhSRVNIT0xEID0gNTtcblxuICAgICAgICBjb25zdCBzZWxlY3RlZE5vZGVzID0gY3kuY29sbGVjdGlvbigpO1xuICAgICAgICBjb25zdCBzZWxlY3RlZEVkZ2VzID0gY3kuY29sbGVjdGlvbigpO1xuXG4gICAgICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gRlVOQ1RJT05TIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgICAgIGNvbnN0IHJlZnJlc2hMYXlvdXQgPSBfLmRlYm91bmNlKCgpID0+IHtcbiAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICogUmVmcmVzaCBMYXlvdXQgaWYgbmVlZGVkXG4gICAgICAgICAgICAgKi9cbiAgICAgICAgICAgIGNvbnN0IHthdXRvUmVmcmVzaExheW91dCwgbGF5b3V0fSA9IHRoaXMucHJvcHM7XG5cbiAgICAgICAgICAgIGlmIChhdXRvUmVmcmVzaExheW91dCkge1xuICAgICAgICAgICAgICAgIGN5LmxheW91dChsYXlvdXQpLnJ1bigpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LCBTRUxFQ1RfVEhSRVNIT0xEKTtcblxuICAgICAgICBjb25zdCBzZW5kU2VsZWN0ZWROb2Rlc0RhdGEgPSBfLmRlYm91bmNlKCgpID0+IHtcbiAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICAgVGhpcyBmdW5jdGlvbiBpcyByZXBldGl0aXZlbHkgY2FsbGVkIGV2ZXJ5IHRpbWUgYSBub2RlIGlzIHNlbGVjdGVkXG4gICAgICAgICAgICAgICBvciB1bnNlbGVjdGVkLCBidXQga2VlcHMgYmVpbmcgZGVib3VuY2VkIGlmIGl0IGlzIGNhbGxlZCBhZ2FpblxuICAgICAgICAgICAgICAgd2l0aGluIDEwMCBtcyAoZ2l2ZW4gYnkgU0VMRUNUX1RIUkVTSE9MRCkuIEVmZmVjdGl2ZWx5LCBpdCBvbmx5XG4gICAgICAgICAgICAgICBydW5zIHdoZW4gYWxsIHRoZSBub2RlcyBoYXZlIGJlZW4gY29ycmVjdGx5IHNlbGVjdGVkL3Vuc2VsZWN0ZWQgYW5kXG4gICAgICAgICAgICAgICBhZGRlZC9yZW1vdmVkIGZyb20gdGhlIHNlbGVjdGVkTm9kZXMgY29sbGVjdGlvbiwgYW5kIHRoZW4gdXBkYXRlc1xuICAgICAgICAgICAgICAgdGhlIHNlbGVjdGVkTm9kZURhdGEgcHJvcC5cbiAgICAgICAgICAgICAgICovXG4gICAgICAgICAgICBjb25zdCBub2RlRGF0YSA9IHNlbGVjdGVkTm9kZXMubWFwKChlbCkgPT4gZWwuZGF0YSgpKTtcblxuICAgICAgICAgICAgdGhpcy5wcm9wcy5zZXRQcm9wcyh7XG4gICAgICAgICAgICAgICAgc2VsZWN0ZWROb2RlRGF0YTogbm9kZURhdGEsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSwgU0VMRUNUX1RIUkVTSE9MRCk7XG5cbiAgICAgICAgY29uc3Qgc2VuZFNlbGVjdGVkRWRnZXNEYXRhID0gXy5kZWJvdW5jZSgoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBlZGdlRGF0YSA9IHNlbGVjdGVkRWRnZXMubWFwKChlbCkgPT4gZWwuZGF0YSgpKTtcblxuICAgICAgICAgICAgdGhpcy5wcm9wcy5zZXRQcm9wcyh7XG4gICAgICAgICAgICAgICAgc2VsZWN0ZWRFZGdlRGF0YTogZWRnZURhdGEsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSwgU0VMRUNUX1RIUkVTSE9MRCk7XG5cbiAgICAgICAgY29uc3Qgc2V0RXh0ZW50ID0gXy5kZWJvdW5jZSgoY3lFeHRlbnQpID0+IHtcbiAgICAgICAgICAgIHRoaXMucHJvcHMuc2V0UHJvcHMoe1xuICAgICAgICAgICAgICAgIGV4dGVudDogY3lFeHRlbnQsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSwgRVhURU5UX1RIUkVTSE9MRCk7XG5cbiAgICAgICAgLy8gU3RvcmUgdGhlIG9yaWdpbmFsIG1heFpvb20gYW5kIG1pblpvb20gZnVuY3Rpb25zXG4gICAgICAgIGNvbnN0IG9yaWdpbmFsTWF4Wm9vbUZuID0gY3kubWF4Wm9vbTtcbiAgICAgICAgY29uc3Qgb3JpZ2luYWxNaW5ab29tRm4gPSBjeS5taW5ab29tO1xuXG4gICAgICAgIC8vIE92ZXJyaWRlIHRoZSBtYXhab29tIGZ1bmN0aW9uIHRvIHRyaWdnZXIgbWF4Wm9vbUNoYW5nZSBjdXN0b20gZXZlbnRcbiAgICAgICAgY3kubWF4Wm9vbSA9IGZ1bmN0aW9uKGUpIHtcbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRNYXhab29tID0gb3JpZ2luYWxNYXhab29tRm4uY2FsbChjeSwgZSk7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIC8vIFRyaWdnZXIgeW91ciBjdXN0b20gZXZlbnQgaWYgdGhlIGN1cnJlbnQgbWF4IHpvb20gbGV2ZWwgaXMgZGlmZmVyZW50IGZyb20gdGhlIFxuICAgICAgICAgICAgLy8gcHJldmlvdXNseSBzdG9yZWQgbWF4IHpvb20gbGV2ZWxcbiAgICAgICAgICAgIGlmIChjdXJyZW50TWF4Wm9vbSAhPT0gY3kuX3ByZXZpb3VzTWF4Wm9vbSkge1xuICAgICAgICAgICAgICAgIGN5Ll9wcmV2aW91c01heFpvb20gPSBjdXJyZW50TWF4Wm9vbTtcbiAgICAgICAgICAgICAgICBjeS50cmlnZ2VyKCdtaW5NYXhab29tQ2hhbmdlJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gY3VycmVudE1heFpvb207XG4gICAgICAgIH07XG5cbiAgICAgICAgLy8gT3ZlcnJpZGUgdGhlIG1pblpvb20gZnVuY3Rpb24gdG8gdHJpZ2dlciBtaW5ab29tQ2hhbmdlIGN1c3RvbSBldmVudFxuICAgICAgICBjeS5taW5ab29tID0gZnVuY3Rpb24oZSkge1xuICAgICAgICAgICAgY29uc3QgY3VycmVudE1pblpvb20gPSBvcmlnaW5hbE1pblpvb21Gbi5jYWxsKGN5LCBlKTtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgLy8gVHJpZ2dlciB5b3VyIGN1c3RvbSBldmVudCBpZiB0aGUgY3VycmVudCBtaW4gem9vbSBsZXZlbCBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgXG4gICAgICAgICAgICAvLyBwcmV2aW91c2x5IHN0b3JlZCBtaW4gem9vbSBsZXZlbFxuICAgICAgICAgICAgaWYgKGN1cnJlbnRNaW5ab29tICE9PSBjeS5fcHJldmlvdXNNaW5ab29tKSB7XG4gICAgICAgICAgICAgICAgY3kuX3ByZXZpb3VzTWluWm9vbSA9IGN1cnJlbnRNaW5ab29tO1xuICAgICAgICAgICAgICAgIGN5LnRyaWdnZXIoJ21pbk1heFpvb21DaGFuZ2UnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBjdXJyZW50TWluWm9vbTtcbiAgICAgICAgfTtcblxuICAgICAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gRVZFTlRTIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgICAgIGN5Lm9uKCd0YXAnLCAnbm9kZScsIChldmVudCkgPT4ge1xuICAgICAgICAgICAgY29uc3Qgbm9kZU9iamVjdCA9IHRoaXMuZ2VuZXJhdGVOb2RlKGV2ZW50KTtcblxuICAgICAgICAgICAgdGhpcy5wcm9wcy5zZXRQcm9wcyh7XG4gICAgICAgICAgICAgICAgdGFwTm9kZTogbm9kZU9iamVjdCxcbiAgICAgICAgICAgICAgICB0YXBOb2RlRGF0YTogT2JqZWN0LmFzc2lnbih7fSwgbm9kZU9iamVjdC5kYXRhLCB7XG4gICAgICAgICAgICAgICAgICAgIHRpbWVTdGFtcDogbm9kZU9iamVjdC50aW1lU3RhbXAsXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY3kub24oJ3RhcCcsICdlZGdlJywgKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBlZGdlT2JqZWN0ID0gdGhpcy5nZW5lcmF0ZUVkZ2UoZXZlbnQpO1xuXG4gICAgICAgICAgICB0aGlzLnByb3BzLnNldFByb3BzKHtcbiAgICAgICAgICAgICAgICB0YXBFZGdlOiBlZGdlT2JqZWN0LFxuICAgICAgICAgICAgICAgIHRhcEVkZ2VEYXRhOiBPYmplY3QuYXNzaWduKHt9LCBlZGdlT2JqZWN0LmRhdGEsIHtcbiAgICAgICAgICAgICAgICAgICAgdGltZVN0YW1wOiBlZGdlT2JqZWN0LnRpbWVTdGFtcCxcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcblxuICAgICAgICBjeS5vbignbW91c2VvdmVyJywgJ25vZGUnLCAoZXZlbnQpID0+IHtcbiAgICAgICAgICAgIHRoaXMucHJvcHMuc2V0UHJvcHMoe1xuICAgICAgICAgICAgICAgIG1vdXNlb3Zlck5vZGVEYXRhOiBPYmplY3QuYXNzaWduKHt9LCBldmVudC50YXJnZXQuZGF0YSgpLCB7XG4gICAgICAgICAgICAgICAgICAgIHRpbWVTdGFtcDogZXZlbnQudGltZVN0YW1wLFxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGN5Lm9uKCdtb3VzZW92ZXInLCAnZWRnZScsIChldmVudCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5wcm9wcy5zZXRQcm9wcyh7XG4gICAgICAgICAgICAgICAgbW91c2VvdmVyRWRnZURhdGE6IE9iamVjdC5hc3NpZ24oe30sIGV2ZW50LnRhcmdldC5kYXRhKCksIHtcbiAgICAgICAgICAgICAgICAgICAgdGltZVN0YW1wOiBldmVudC50aW1lU3RhbXAsXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY3kub24oJ21vdXNlb3V0JywgJ25vZGUnLCAoXykgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMucHJvcHMuY2xlYXJPblVuaG92ZXIgPT09IHRydWUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnByb3BzLnNldFByb3BzKHttb3VzZW92ZXJOb2RlRGF0YTogbnVsbH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICBjeS5vbignbW91c2VvdXQnLCAnZWRnZScsIChfKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5wcm9wcy5jbGVhck9uVW5ob3ZlciA9PT0gdHJ1ZSkge1xuICAgICAgICAgICAgICAgIHRoaXMucHJvcHMuc2V0UHJvcHMoe1xuICAgICAgICAgICAgICAgICAgICBtb3VzZW92ZXJFZGdlRGF0YTogbnVsbCxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgY3kub24oJ3NlbGVjdCcsICdub2RlJywgKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBlbGUgPSBldmVudC50YXJnZXQ7XG5cbiAgICAgICAgICAgIHNlbGVjdGVkTm9kZXMubWVyZ2UoZWxlKTtcbiAgICAgICAgICAgIHNlbmRTZWxlY3RlZE5vZGVzRGF0YSgpO1xuICAgICAgICB9KTtcblxuICAgICAgICBjeS5vbigndW5zZWxlY3QgcmVtb3ZlJywgJ25vZGUnLCAoZXZlbnQpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGVsZSA9IGV2ZW50LnRhcmdldDtcblxuICAgICAgICAgICAgc2VsZWN0ZWROb2Rlcy51bm1lcmdlKGVsZSk7XG4gICAgICAgICAgICBzZW5kU2VsZWN0ZWROb2Rlc0RhdGEoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY3kub24oJ3NlbGVjdCcsICdlZGdlJywgKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBlbGUgPSBldmVudC50YXJnZXQ7XG5cbiAgICAgICAgICAgIHNlbGVjdGVkRWRnZXMubWVyZ2UoZWxlKTtcbiAgICAgICAgICAgIHNlbmRTZWxlY3RlZEVkZ2VzRGF0YSgpO1xuICAgICAgICB9KTtcblxuICAgICAgICBjeS5vbigndW5zZWxlY3QgcmVtb3ZlJywgJ2VkZ2UnLCAoZXZlbnQpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGVsZSA9IGV2ZW50LnRhcmdldDtcblxuICAgICAgICAgICAgc2VsZWN0ZWRFZGdlcy51bm1lcmdlKGVsZSk7XG4gICAgICAgICAgICBzZW5kU2VsZWN0ZWRFZGdlc0RhdGEoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY3kub24oJ2FkZCByZW1vdmUnLCAoKSA9PiB7XG4gICAgICAgICAgICByZWZyZXNoTGF5b3V0KCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGN5Lm9uKCdkcmFnZnJlZSBhZGQgcmVtb3ZlJywgKF8pID0+IHtcbiAgICAgICAgICAgIHRoaXMucHJvcHMuc2V0UHJvcHMoe1xuICAgICAgICAgICAgICAgIGVsZW1lbnRzOiBjeS5lbGVtZW50cygnJykubWFwKChpdGVtKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChpdGVtLmpzb24oKS5ncm91cCA9PT0gJ25vZGVzJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhOiBpdGVtLmpzb24oKS5kYXRhLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBpdGVtLmpzb24oKS5wb3NpdGlvbixcbiAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE6IGl0ZW0uanNvbigpLmRhdGEsXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogdm9pZCAwLFxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGN5Lm9uKCd2aWV3cG9ydCByZXNpemUnLCAoKSA9PiB7XG4gICAgICAgICAgICBzZXRFeHRlbnQoY3kuZXh0ZW50KCkpO1xuICAgICAgICB9KTtcblxuICAgICAgICAvLyBSZWZyZXNoIGxheW91dCBpZiBjdXJyZW50IHpvb20gaXMgb3V0IG9mIGJvdW5kYXJpZXNcbiAgICAgICAgY3kub24oJ21pbk1heFpvb21DaGFuZ2UnLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICB2YXIgem9vbSA9IGN5Lnpvb20oKTtcbiAgICAgICAgICAgIGlmICh6b29tID4gY3kubWF4Wm9vbSgpIHx8IHpvb20gPCBjeS5taW5ab29tKCkpIHtcbiAgICAgICAgICAgICAgICBjeS5maXQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5jcmVhdGVNZW51SXRlbXMgPSAoY3R4TWVudSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgdXBkYXRlQ29udGV4dE1lbnVEYXRhID0gKG5ld0NvbnRleHQpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnByb3BzLnNldFByb3BzKHtjb250ZXh0TWVudURhdGE6IG5ld0NvbnRleHR9KTtcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBjb25zdCBjb250ZXh0TWVudURlZmF1bHRGdW5jdGlvbnMgPSB7XG4gICAgICAgICAgICAgICAgcmVtb3ZlOiBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IHx8IGV2ZW50LmN5VGFyZ2V0O1xuICAgICAgICAgICAgICAgICAgICB0YXJnZXQucmVtb3ZlKCk7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBhZGRfbm9kZTogZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHBvcyA9IGV2ZW50LnBvc2l0aW9uIHx8IGV2ZW50LmN5UG9zaXRpb247XG4gICAgICAgICAgICAgICAgICAgIGN5LmFkZCh7XG4gICAgICAgICAgICAgICAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JvdXA6ICdub2RlcycsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB4OiBwb3MueCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB5OiBwb3MueSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgYWRkX2VkZ2U6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWROb2RlSWRzID0gc2VsZWN0ZWROb2Rlcy5tYXAoKG5vZGUpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICBub2RlLmlkKClcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHNlbGVjdGVkTm9kZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFcnJvcjogTm8gbm9kZXMgc2VsZWN0ZWQsIGNhbm5vdCBhZGQgZWRnZSdcbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoc2VsZWN0ZWROb2Rlcy5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGN5LmFkZCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZDogdXVpZHY0KCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyb3VwOiAnZWRnZXMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzb3VyY2U6IHNlbGVjdGVkTm9kZUlkc1swXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0OiBzZWxlY3RlZE5vZGVJZHNbMF0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHNlbGVjdGVkTm9kZXMubGVuZ3RoID09PSAyKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjeS5hZGQoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IHV1aWR2NCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBncm91cDogJ2VkZ2VzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc291cmNlOiBzZWxlY3RlZE5vZGVJZHNbMF0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldDogc2VsZWN0ZWROb2RlSWRzWzFdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0Vycm9yOiBtb3JlIHRoYW4gMiBub2RlcyBzZWxlY3RlZCwgY2Fubm90IGFkZCBlZGdlJ1xuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgY29uc3QgbmV3TWVudUl0ZW1zID0gW107XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgY3R4TWVudSkge1xuICAgICAgICAgICAgICAgIGxldCBvbkNsaWNrRnVuY3Rpb247XG4gICAgICAgICAgICAgICAgLy8gcmV0dXJuIGRhdGEgc28gYSB1c2VyIGNhbiBkZWZpbmUgYSBjdXN0b20gb24gY2xpY2sgZnVuY3Rpb24gaW4gUHl0aG9uXG4gICAgICAgICAgICAgICAgLy8gaWYgb25DbGljayBvciBvbiBvbkNsaWNrQ3VzdG9tIGFyZSBub3Qgc3BlY2lmaWVkXG4gICAgICAgICAgICAgICAgb25DbGlja0Z1bmN0aW9uID0gZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIHVwZGF0ZUNvbnRleHRNZW51RGF0YSh7XG4gICAgICAgICAgICAgICAgICAgICAgICBtZW51SXRlbUlkOiBpdGVtLmlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgeDogZXZlbnQucG9zaXRpb24ueCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHk6IGV2ZW50LnBvc2l0aW9uLnksXG4gICAgICAgICAgICAgICAgICAgICAgICB0aW1lU3RhbXA6IGV2ZW50LnRpbWVTdGFtcCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnRJZDogZXZlbnQudGFyZ2V0LmRhdGEoKS5pZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGVkZ2VTb3VyY2U6IGV2ZW50LnRhcmdldC5kYXRhKCkuc291cmNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgZWRnZVRhcmdldDogZXZlbnQudGFyZ2V0LmRhdGEoKS50YXJnZXQsXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgLy8gdXNlIGRlZmF1bHQgamF2YXNjcmlwdCBmdW5jdGlvbiBhcyBvbkNsaWNrRnVuY3Rpb25cbiAgICAgICAgICAgICAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGl0ZW0sICdvbkNsaWNrJykpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHRNZW51RGVmYXVsdEZ1bmN0aW9ucyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtLm9uQ2xpY2tcbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrRnVuY3Rpb24gPVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHRNZW51RGVmYXVsdEZ1bmN0aW9uc1tpdGVtLm9uQ2xpY2tdO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBgb25DbGljayBmdW5jdGlvbiAke2l0ZW0ub25DbGlja30gaXMgbm90IGRlZmluZWRgXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8vIHVzZSB1c2VyLWRlZmluZWQgSmF2YXNjcmlwdCBmdW5jdGlvbiBpbiBhIG5hbWVzcGFjZSB1bmRlciBhc3NldHMvIGFzIG9uQ2xpY2tGdW5jdGlvblxuICAgICAgICAgICAgICAgIGVsc2UgaWYgKFxuICAgICAgICAgICAgICAgICAgICBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoaXRlbSwgJ29uQ2xpY2tDdXN0b20nKVxuICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2luZG93LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkYXNoQ3l0b3NjYXBlRnVuY3Rpb25zJ1xuICAgICAgICAgICAgICAgICAgICAgICAgKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpbmRvdy5kYXNoQ3l0b3NjYXBlRnVuY3Rpb25zLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0ub25DbGlja0N1c3RvbVxuICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2tGdW5jdGlvbiA9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2luZG93LmRhc2hDeXRvc2NhcGVGdW5jdGlvbnNbaXRlbS5vbkNsaWNrQ3VzdG9tXTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYG9uQ2xpY2tDdXN0b20gZnVuY3Rpb24gJHtpdGVtLm9uQ2xpY2tDdXN0b219IGlzIG5vdCBkZWZpbmVkYFxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjb25zdCBuZXdfaXRlbSA9IHtcbiAgICAgICAgICAgICAgICAgICAgaWQ6IGl0ZW0uaWQsXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IGl0ZW0ubGFiZWwsXG4gICAgICAgICAgICAgICAgICAgIHRvb2x0aXBUZXh0OiBpdGVtLnRvb2x0aXBUZXh0LFxuICAgICAgICAgICAgICAgICAgICBzZWxlY3RvcjogJycsXG4gICAgICAgICAgICAgICAgICAgIG9uQ2xpY2tGdW5jdGlvbjogb25DbGlja0Z1bmN0aW9uLFxuICAgICAgICAgICAgICAgICAgICBjb3JlQXNXZWxsOiBmYWxzZSxcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoaXRlbSwgJ2F2YWlsYWJsZU9uJykpIHtcbiAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCBzZWxlY3RvciBvZiBpdGVtLmF2YWlsYWJsZU9uKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoc2VsZWN0b3IgPT09ICdlZGdlJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChuZXdfaXRlbS5zZWxlY3Rvci5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld19pdGVtLnNlbGVjdG9yID0gbmV3X2l0ZW0uc2VsZWN0b3IgKyAnLCAnO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXdfaXRlbS5zZWxlY3RvciA9IG5ld19pdGVtLnNlbGVjdG9yICsgJ2VkZ2UnO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChzZWxlY3RvciA9PT0gJ25vZGUnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG5ld19pdGVtLnNlbGVjdG9yLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3X2l0ZW0uc2VsZWN0b3IgPSBuZXdfaXRlbS5zZWxlY3RvciArICcsICc7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld19pdGVtLnNlbGVjdG9yID0gbmV3X2l0ZW0uc2VsZWN0b3IgKyAnbm9kZSc7XG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHNlbGVjdG9yID09PSAnY2FudmFzJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld19pdGVtLmNvcmVBc1dlbGwgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgRXJyb3I6IHNlbGVjdG9yICR7c2VsZWN0b3J9IGlzIG5vdCBhdmFpbGFibGUuIENob29zZSBvbmUgb2YgJ25vZGUnLCAnZWRnZScgb3IgJ2NhbnZhcycuYFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgbmV3TWVudUl0ZW1zLnB1c2gobmV3X2l0ZW0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIG5ld01lbnVJdGVtcztcbiAgICAgICAgfTtcblxuICAgICAgICB0aGlzLmN5UmVzcG9uc2l2ZUNsYXNzID0gbmV3IEN5UmVzcG9uc2l2ZShjeSk7XG4gICAgICAgIHRoaXMuY3lSZXNwb25zaXZlQ2xhc3MudG9nZ2xlKHRoaXMucHJvcHMucmVzcG9uc2l2ZSk7XG5cbiAgICAgICAgc2V0RXh0ZW50KGN5LmV4dGVudCgpKTtcbiAgICB9XG5cbiAgICBoYW5kbGVJbWFnZUdlbmVyYXRpb24oaW1hZ2VUeXBlLCBpbWFnZU9wdGlvbnMsIGFjdGlvbnNUb1BlcmZvcm0sIGZpbGVOYW1lKSB7XG4gICAgICAgIGxldCBvcHRpb25zID0ge307XG4gICAgICAgIGlmIChpbWFnZU9wdGlvbnMpIHtcbiAgICAgICAgICAgIG9wdGlvbnMgPSBpbWFnZU9wdGlvbnM7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgZGVzaXJlZE91dHB1dCA9IG9wdGlvbnMub3V0cHV0O1xuICAgICAgICBvcHRpb25zLm91dHB1dCA9ICdibG9iJztcblxuICAgICAgICBsZXQgZG93bmxvYWRJbWFnZTtcbiAgICAgICAgbGV0IHN0b3JlSW1hZ2U7XG4gICAgICAgIHN3aXRjaCAoYWN0aW9uc1RvUGVyZm9ybSkge1xuICAgICAgICAgICAgY2FzZSAnc3RvcmUnOlxuICAgICAgICAgICAgICAgIGRvd25sb2FkSW1hZ2UgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICBzdG9yZUltYWdlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ2Rvd25sb2FkJzpcbiAgICAgICAgICAgICAgICBkb3dubG9hZEltYWdlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBzdG9yZUltYWdlID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdib3RoJzpcbiAgICAgICAgICAgICAgICBkb3dubG9hZEltYWdlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBzdG9yZUltYWdlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgZG93bmxvYWRJbWFnZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHN0b3JlSW1hZ2UgPSB0cnVlO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IG91dHB1dDtcbiAgICAgICAgaWYgKGltYWdlVHlwZSA9PT0gJ3BuZycpIHtcbiAgICAgICAgICAgIG91dHB1dCA9IHRoaXMuX2N5LnBuZyhvcHRpb25zKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaW1hZ2VUeXBlID09PSAnanBnJyB8fCBpbWFnZVR5cGUgPT09ICdqcGVnJykge1xuICAgICAgICAgICAgb3V0cHV0ID0gdGhpcy5fY3kuanBnKG9wdGlvbnMpO1xuICAgICAgICB9XG4gICAgICAgIC8vIG9ubHkgd29ya3Mgd2hlbiBzdmcgaXMgaW1wb3J0ZWQgKHNlZSBsaWIvZXh0cmFfaW5kZXguanMpXG4gICAgICAgIGlmIChpbWFnZVR5cGUgPT09ICdzdmcnKSB7XG4gICAgICAgICAgICBvdXRwdXQgPSB0aGlzLl9jeS5zdmcob3B0aW9ucyk7XG4gICAgICAgIH1cblxuICAgICAgICAvKlxuICAgICAgICAgKiBJZiBvdXRwdXQgaXMgZW1wdHkgYmVjYXVzZSBvZiBiYWQgb3B0aW9ucyBvciBhIGN5dG9zY2FwZSBlcnJvcixcbiAgICAgICAgICogc2tpcCBhbnkgZG93bmxvYWQgb3Igc3RvcmFnZSBzdGVwcy5cbiAgICAgICAgICovXG4gICAgICAgIGlmIChvdXRwdXQgJiYgZG93bmxvYWRJbWFnZSkge1xuICAgICAgICAgICAgLypcbiAgICAgICAgICAgICAqIERvd25sb2FkaW5nIGlzIGluaXRpYXRlZCBjbGllbnQtc2lkZSBiZWNhdXNlIHRoZSBpbWFnZSBpcyBnZW5lcmF0ZWQgYXRcbiAgICAgICAgICAgICAqIHRoZSBjbGllbnQuIFRoaXMgYXZvaWRzIHRyYW5zZmVycmluZyBhIHBvdGVudGlhbGx5IGxhcmdlIGltYWdlXG4gICAgICAgICAgICAgKiB0byB0aGUgc2VydmVyIGFuZCBiYWNrIGFnYWluIHRocm91Z2ggYSBjYWxsYmFjay5cbiAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgbGV0IGZOYW1lID0gZmlsZU5hbWU7XG4gICAgICAgICAgICBpZiAoIWZpbGVOYW1lKSB7XG4gICAgICAgICAgICAgICAgZk5hbWUgPSAnY3l0byc7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChpbWFnZVR5cGUgIT09ICdzdmcnKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5kb3dubG9hZEJsb2Iob3V0cHV0LCBmTmFtZSArICcuJyArIGltYWdlVHlwZSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnN0IGJsb2IgPSBuZXcgQmxvYihbb3V0cHV0XSwge1xuICAgICAgICAgICAgICAgICAgICB0eXBlOiAnaW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04JyxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB0aGlzLmRvd25sb2FkQmxvYihibG9iLCBmTmFtZSArICcuJyArIGltYWdlVHlwZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAob3V0cHV0ICYmIHN0b3JlSW1hZ2UpIHtcbiAgICAgICAgICAgIC8vIERlZmF1bHQgb3V0cHV0IHR5cGUgaWYgdW5zcGVjaWZpZWRcbiAgICAgICAgICAgIGlmICghZGVzaXJlZE91dHB1dCkge1xuICAgICAgICAgICAgICAgIGRlc2lyZWRPdXRwdXQgPSAnYmFzZTY0dXJpJztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICEoZGVzaXJlZE91dHB1dCA9PT0gJ2Jhc2U2NHVyaScgfHwgZGVzaXJlZE91dHB1dCA9PT0gJ2Jhc2U2NCcpXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8qXG4gICAgICAgICAgICAgKiBDb252ZXJ0IGJsb2IgdG8gYmFzZTY0dXJpIG9yIGJhc2U2NCBzdHJpbmcgdG8gc3RvcmUgdGhlIGltYWdlIGRhdGEuXG4gICAgICAgICAgICAgKiBUaGFuayB5b3UsIGJhc2U2NGd1cnUgaHR0cHM6Ly9iYXNlNjQuZ3VydS9kZXZlbG9wZXJzL2phdmFzY3JpcHQvZXhhbXBsZXMvZW5jb2RlLWJsb2JcbiAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgY29uc3QgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcbiAgICAgICAgICAgIHJlYWRlci5vbmxvYWQgPSAoKSA9PiB7XG4gICAgICAgICAgICAgICAgLyogRmlsZVJlYWRlciBpcyBhc3luY2hyb25vdXMsIHNvIHRoZSByZWFkIGZ1bmN0aW9uIGlzIG5vbi1ibG9ja2luZy5cbiAgICAgICAgICAgICAgICAgKiBJZiB0aGlzIGNvZGUgYmxvY2sgaXMgcGxhY2VkIGFmdGVyIHRoZSByZWFkIGNvbW1hbmQsIGl0XG4gICAgICAgICAgICAgICAgICogbWF5IHJlc3VsdCBpbiBlbXB0eSBvdXRwdXQgYmVjYXVzZSB0aGUgYmxvYiBoYXMgbm90IGJlZW4gbG9hZGVkIHlldC5cbiAgICAgICAgICAgICAgICAgKi9cbiAgICAgICAgICAgICAgICBsZXQgY2FsbGJhY2tEYXRhID0gcmVhZGVyLnJlc3VsdDtcbiAgICAgICAgICAgICAgICBpZiAoZGVzaXJlZE91dHB1dCA9PT0gJ2Jhc2U2NCcpIHtcbiAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2tEYXRhID0gY2FsbGJhY2tEYXRhLnJlcGxhY2UoL15kYXRhOi4rO2Jhc2U2NCwvLCAnJyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMucHJvcHMuc2V0UHJvcHMoe2ltYWdlRGF0YTogY2FsbGJhY2tEYXRhfSk7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgcmVhZGVyLnJlYWRBc0RhdGFVUkwob3V0cHV0KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGRvd25sb2FkQmxvYihibG9iLCBmaWxlTmFtZSkge1xuICAgICAgICAvKlxuICAgICAgICAgKiBEb3dubG9hZCBibG9iIGFzIGZpbGUgYnkgZHluYW1pY2FsbHkgY3JlYXRpbmcgbGluay5cbiAgICAgICAgICogQ2hyb21lIGRvZXMgbm90IG9wZW4gZGF0YSBVUkxzIHdoZW4gSlMgb3BlbnMgYSBuZXcgdGFiIGRpcmVjdGVkXG4gICAgICAgICAqIGF0IHRoZSBkYXRhIFVSTCwgc28gdGhpcyBpcyBhbiBhbHRlcm5hdGUgaW1wbGVtZW50YXRpb25cbiAgICAgICAgICogdGhhdCBkb2Vzbid0IHJlcXVpcmUgZXh0cmEgcGFja2FnZXMuIEl0IG1heSBub3QgYmVoYXZlIGluXG4gICAgICAgICAqIGV4YWN0bHkgdGhlIHNhbWUgd2F5IGFjcm9zcyBicm93c2VycyAobWlnaHQgZGlzcGxheSBpbWFnZSBpbiBuZXcgdGFiXG4gICAgICAgICAqIGludGVhZCBvZiBkb3dubG9hZGluZyBhcyBhIGZpbGUpLlxuICAgICAgICAgKiBUaGFuayB5b3UsIGtvbGRldiBodHRwczovL2pzZmlkZGxlLm5ldC9rb2xkZXYvY1c3VzUvXG4gICAgICAgICAqL1xuICAgICAgICBjb25zdCBkb3dubG9hZExpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XG4gICAgICAgIGRvd25sb2FkTGluay5zdHlsZSA9ICdkaXNwbGF5OiBub25lJztcbiAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkb3dubG9hZExpbmspO1xuXG4gICAgICAgIGNvbnN0IHVybCA9IHdpbmRvdy5VUkwuY3JlYXRlT2JqZWN0VVJMKGJsb2IpO1xuICAgICAgICBkb3dubG9hZExpbmsuaHJlZiA9IHVybDtcbiAgICAgICAgZG93bmxvYWRMaW5rLmRvd25sb2FkID0gZmlsZU5hbWU7XG4gICAgICAgIGRvd25sb2FkTGluay5jbGljaygpO1xuICAgICAgICB3aW5kb3cuVVJMLnJldm9rZU9iamVjdFVSTCh1cmwpO1xuXG4gICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoZG93bmxvYWRMaW5rKTtcbiAgICB9XG5cbiAgICB1cGRhdGVDb250ZXh0TWVudShjb250ZXh0TWVudSkge1xuICAgICAgICB0aGlzLl9jeS5jb250ZXh0TWVudXMoe1xuICAgICAgICAgICAgbWVudUl0ZW1zOiB0aGlzLmNyZWF0ZU1lbnVJdGVtcyhjb250ZXh0TWVudSksXG4gICAgICAgICAgICBtZW51SXRlbUNsYXNzZXM6IFsnY3VzdG9tLW1lbnUtaXRlbSddLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvLyBSZXR1cm5zIHRydWUgaWYgdGhlcmUgaXMgbm8gb3ZlcmxhcCBiZXR3ZWVuIHRoZSBlbGVtZW50IGJvdW5kaW5nIGJveFxuICAgIC8vIGFuZCB0aGUgcmVuZGVyZWQgYXJlYSBvZiB0aGUgZ3JhcGgsIG1lYW5pbmcgdGhlIGdyYXBoIGlzIGVudGlyZWx5IG91dHNpZGUgdGhlIHZpZXdwb3J0O1xuICAgIC8vIHJldHVybnMgZmFsc2Ugb3RoZXJ3aXNlXG4gICAgZ3JhcGhPdXRPZlZpZXcoKSB7XG4gICAgICAgIGNvbnN0IGN5V2lkdGggPSB0aGlzLl9jeS53aWR0aCgpO1xuICAgICAgICBjb25zdCBjeUhlaWdodCA9IHRoaXMuX2N5LmhlaWdodCgpO1xuICAgICAgICBjb25zdCBlbEJveCA9IHRoaXMuX2N5LmVsZW1lbnRzKCkucmVuZGVyZWRCb3VuZGluZ2JveCgpO1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgZWxCb3gueDEgPiBjeVdpZHRoIHx8XG4gICAgICAgICAgICBlbEJveC55MSA+IGN5SGVpZ2h0IHx8XG4gICAgICAgICAgICBlbEJveC54MiA8IDAgfHxcbiAgICAgICAgICAgIGVsQm94LnkyIDwgMFxuICAgICAgICApO1xuICAgIH1cblxuICAgIGNvbXBvbmVudERpZFVwZGF0ZShwcmV2UHJvcHMpIHtcbiAgICAgICAgY29uc3Qge2NvbnRleHRNZW51LCBlbGVtZW50c30gPSB0aGlzLnByb3BzO1xuICAgICAgICBpZiAoIV8uaXNFcXVhbChwcmV2UHJvcHMuY29udGV4dE1lbnUsIGNvbnRleHRNZW51KSAmJiB0aGlzLl9jeSkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVDb250ZXh0TWVudShjb250ZXh0TWVudSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFfLmlzRXF1YWwocHJldlByb3BzLmVsZW1lbnRzLCBlbGVtZW50cykgJiYgdGhpcy5fY3kpIHtcbiAgICAgICAgICAgIC8vIElmIGVsZW1lbnRzIHdlcmUgdXBkYXRlZCwgYW5kIHRoZSBuZXcgZ3JhcGggaXMgKmVudGlyZWx5KiBvdXRzaWRlIHRoZSB2aWV3cG9ydCxcbiAgICAgICAgICAgIC8vIGZpdCB0aGUgdmlld3BvcnQgdG8gdGhlIG5ldyBlbGVtZW50c1xuICAgICAgICAgICAgaWYgKHRoaXMuZ3JhcGhPdXRPZlZpZXcoKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuX2N5LmZpdCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgICAgICBjb25zdCB7Y29udGV4dE1lbnV9ID0gdGhpcy5wcm9wcztcbiAgICAgICAgaWYgKHRoaXMuX2N5ICYmIGNvbnRleHRNZW51Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlQ29udGV4dE1lbnUoY29udGV4dE1lbnUpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJlbmRlcigpIHtcbiAgICAgICAgY29uc3Qge1xuICAgICAgICAgICAgLy8gSFRNTCBhdHRyaWJ1dGUgcHJvcHNcbiAgICAgICAgICAgIGlkLFxuICAgICAgICAgICAgc3R5bGUsXG4gICAgICAgICAgICBjbGFzc05hbWUsXG4gICAgICAgICAgICAvLyBDb21tb24gcHJvcHNcbiAgICAgICAgICAgIGVsZW1lbnRzLFxuICAgICAgICAgICAgc3R5bGVzaGVldCxcbiAgICAgICAgICAgIGxheW91dCxcbiAgICAgICAgICAgIGNvbnRleHRNZW51LFxuICAgICAgICAgICAgY29udGV4dE1lbnVEYXRhLFxuICAgICAgICAgICAgLy8gVmlld3BvcnQgTWFuaXB1bGF0aW9uXG4gICAgICAgICAgICBwYW4sXG4gICAgICAgICAgICB6b29tLFxuICAgICAgICAgICAgLy8gVmlld3BvcnQgTXV0YWJpbGl0eSBhbmQgZ2VzdHVyZSBUb2dnbGluZ1xuICAgICAgICAgICAgcGFubmluZ0VuYWJsZWQsXG4gICAgICAgICAgICB1c2VyUGFubmluZ0VuYWJsZWQsXG4gICAgICAgICAgICBtaW5ab29tLFxuICAgICAgICAgICAgbWF4Wm9vbSxcbiAgICAgICAgICAgIHpvb21pbmdFbmFibGVkLFxuICAgICAgICAgICAgdXNlclpvb21pbmdFbmFibGVkLFxuICAgICAgICAgICAgd2hlZWxTZW5zaXRpdml0eSxcbiAgICAgICAgICAgIGJveFNlbGVjdGlvbkVuYWJsZWQsXG4gICAgICAgICAgICBhdXRvdW5ncmFiaWZ5LFxuICAgICAgICAgICAgYXV0b2xvY2ssXG4gICAgICAgICAgICBhdXRvdW5zZWxlY3RpZnksXG4gICAgICAgICAgICAvLyBJbWFnZSBoYW5kbGluZ1xuICAgICAgICAgICAgZ2VuZXJhdGVJbWFnZSxcbiAgICAgICAgICAgIC8vIFJlc3BvbnNpdmUgZ3JhcGhzXG4gICAgICAgICAgICByZXNwb25zaXZlLFxuICAgICAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgICAgICBpZiAoT2JqZWN0LmtleXMoZ2VuZXJhdGVJbWFnZSkubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgLy8gSWYgbm8gY3l0b3NjYXBlIG9iamVjdCBoYXMgYmVlbiBjcmVhdGVkIHlldCwgYW4gaW1hZ2UgY2Fubm90IGJlIGdlbmVyYXRlZCxcbiAgICAgICAgICAgIC8vIHNvIGdlbmVyYXRlSW1hZ2Ugd2lsbCBiZSBpZ25vcmVkIGFuZCBjbGVhcmVkLlxuICAgICAgICAgICAgdGhpcy5wcm9wcy5zZXRQcm9wcyh7Z2VuZXJhdGVJbWFnZToge319KTtcbiAgICAgICAgICAgIGlmICh0aGlzLl9jeSkge1xuICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlSW1hZ2VHZW5lcmF0aW9uKFxuICAgICAgICAgICAgICAgICAgICBnZW5lcmF0ZUltYWdlLnR5cGUsXG4gICAgICAgICAgICAgICAgICAgIGdlbmVyYXRlSW1hZ2Uub3B0aW9ucyxcbiAgICAgICAgICAgICAgICAgICAgZ2VuZXJhdGVJbWFnZS5hY3Rpb24sXG4gICAgICAgICAgICAgICAgICAgIGdlbmVyYXRlSW1hZ2UuZmlsZW5hbWVcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuY3lSZXNwb25zaXZlQ2xhc3MpIHtcbiAgICAgICAgICAgIHRoaXMuY3lSZXNwb25zaXZlQ2xhc3MudG9nZ2xlKHJlc3BvbnNpdmUpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDxDeXRvc2NhcGVDb21wb25lbnRcbiAgICAgICAgICAgICAgICBpZD17aWR9XG4gICAgICAgICAgICAgICAgY3k9e3RoaXMuaGFuZGxlQ3l9XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWV9XG4gICAgICAgICAgICAgICAgc3R5bGU9e3N0eWxlfVxuICAgICAgICAgICAgICAgIGVsZW1lbnRzPXtDeXRvc2NhcGVDb21wb25lbnQubm9ybWFsaXplRWxlbWVudHMoZWxlbWVudHMpfVxuICAgICAgICAgICAgICAgIHN0eWxlc2hlZXQ9e3N0eWxlc2hlZXR9XG4gICAgICAgICAgICAgICAgbGF5b3V0PXtsYXlvdXR9XG4gICAgICAgICAgICAgICAgY29udGV4dE1lbnU9e2NvbnRleHRNZW51fVxuICAgICAgICAgICAgICAgIGNvbnRleHRNZW51RGF0YT17Y29udGV4dE1lbnVEYXRhfVxuICAgICAgICAgICAgICAgIHBhbj17cGFufVxuICAgICAgICAgICAgICAgIHpvb209e3pvb219XG4gICAgICAgICAgICAgICAgcGFubmluZ0VuYWJsZWQ9e3Bhbm5pbmdFbmFibGVkfVxuICAgICAgICAgICAgICAgIHVzZXJQYW5uaW5nRW5hYmxlZD17dXNlclBhbm5pbmdFbmFibGVkfVxuICAgICAgICAgICAgICAgIG1pblpvb209e21pblpvb219XG4gICAgICAgICAgICAgICAgbWF4Wm9vbT17bWF4Wm9vbX1cbiAgICAgICAgICAgICAgICB6b29taW5nRW5hYmxlZD17em9vbWluZ0VuYWJsZWR9XG4gICAgICAgICAgICAgICAgdXNlclpvb21pbmdFbmFibGVkPXt1c2VyWm9vbWluZ0VuYWJsZWR9XG4gICAgICAgICAgICAgICAgd2hlZWxTZW5zaXRpdml0eT17d2hlZWxTZW5zaXRpdml0eX1cbiAgICAgICAgICAgICAgICBib3hTZWxlY3Rpb25FbmFibGVkPXtib3hTZWxlY3Rpb25FbmFibGVkfVxuICAgICAgICAgICAgICAgIGF1dG91bmdyYWJpZnk9e2F1dG91bmdyYWJpZnl9XG4gICAgICAgICAgICAgICAgYXV0b2xvY2s9e2F1dG9sb2NrfVxuICAgICAgICAgICAgICAgIGF1dG91bnNlbGVjdGlmeT17YXV0b3Vuc2VsZWN0aWZ5fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgKTtcbiAgICB9XG59XG5cbkN5dG9zY2FwZS5wcm9wVHlwZXMgPSB7XG4gICAgLy8gSFRNTCBhdHRyaWJ1dGUgcHJvcHNcblxuICAgIC8qKlxuICAgICAqIFRoZSBJRCB1c2VkIHRvIGlkZW50aWZ5IHRoaXMgY29tcG9uZW50IGluIERhc2ggY2FsbGJhY2tzLlxuICAgICAqL1xuICAgIGlkOiBQcm9wVHlwZXMuc3RyaW5nLFxuXG4gICAgLyoqXG4gICAgICogU2V0cyB0aGUgY2xhc3MgbmFtZSBvZiB0aGUgZWxlbWVudCAodGhlIHZhbHVlIG9mIGFuIGVsZW1lbnQncyBodG1sXG4gICAgICogY2xhc3MgYXR0cmlidXRlKS5cbiAgICAgKi9cbiAgICBjbGFzc05hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG5cbiAgICAvKipcbiAgICAgKiBBZGQgaW5saW5lIHN0eWxlcyB0byB0aGUgcm9vdCBlbGVtZW50LlxuICAgICAqL1xuICAgIHN0eWxlOiBQcm9wVHlwZXMub2JqZWN0LFxuXG4gICAgLy8gRGFzaCBzcGVjaWZpYyBwcm9wc1xuXG4gICAgLyoqXG4gICAgICogRGFzaC1hc3NpZ25lZCBjYWxsYmFjayB0aGF0IHNob3VsZCBiZSBjYWxsZWQgd2hlbmV2ZXIgYW55IG9mIHRoZVxuICAgICAqIHByb3BlcnRpZXMgY2hhbmdlLlxuICAgICAqL1xuICAgIHNldFByb3BzOiBQcm9wVHlwZXMuZnVuYyxcblxuICAgIC8vIENvbW1vbiBwcm9wc1xuXG4gICAgLyoqXG4gICAgICogQSBsaXN0IG9mIGRpY3Rpb25hcmllcyByZXByZXNlbnRpbmcgdGhlIGVsZW1lbnRzIG9mIHRoZSBuZXR3b3Jrcy4gRWFjaCBkaWN0aW9uYXJ5IGRlc2NyaWJlcyBhbiBlbGVtZW50LCBhbmRcbiAgICAgKiBzcGVjaWZpZXMgaXRzIHB1cnBvc2UuIFRoZSBbb2ZmaWNpYWwgQ3l0b3NjYXBlLmpzIGRvY3VtZW50YXRpb25dKGh0dHBzOi8vanMuY3l0b3NjYXBlLm9yZy8jbm90YXRpb24vZWxlbWVudHMtanNvbilcbiAgICAgKiBvZmZlcnMgYW4gZXh0ZW5zaXZlIG92ZXJ2aWV3IGFuZCBleGFtcGxlcyBvZiBlbGVtZW50IGRlY2xhcmF0aW9uLlxuICAgICAqIEFsdGVybmF0aXZlbHksIGEgZGljdGlvbmFyeSB3aXRoIHRoZSBmb3JtYXQgeyAnbm9kZXMnOiBbXSwgJ2VkZ2VzJzogW10gfSBpcyBhbGxvd2VkIGF0IGluaXRpYWxpemF0aW9uLFxuICAgICAqIGJ1dCBhcnJheXMgcmVtYWluIHRoZSByZWNvbW1lbmRlZCBmb3JtYXQuXG4gICAgICovXG4gICAgZWxlbWVudHM6IFByb3BUeXBlcy5vbmVPZlR5cGUoW1xuICAgICAgICBQcm9wVHlwZXMuYXJyYXlPZihcbiAgICAgICAgICAgIFByb3BUeXBlcy5zaGFwZSh7XG4gICAgICAgICAgICAgICAgLyoqXG4gICAgICAgICAgICAgICAgICogRWl0aGVyICdub2Rlcycgb3IgJ2VkZ2VzJy4gSWYgbm90IGdpdmVuLCBpdCdzIGF1dG9tYXRpY2FsbHkgaW5mZXJyZWQuXG4gICAgICAgICAgICAgICAgICovXG4gICAgICAgICAgICAgICAgZ3JvdXA6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICAgICAgICAgICAgLyoqIEVsZW1lbnQgc3BlY2lmaWMgZGF0YS4qL1xuICAgICAgICAgICAgICAgIGRhdGE6IFByb3BUeXBlcy5zaGFwZSh7XG4gICAgICAgICAgICAgICAgICAgIC8qKiAgUmVmZXJlbmNlIHRvIHRoZSBlbGVtZW50LCB1c2VmdWwgZm9yIHNlbGVjdG9ycyBhbmQgZWRnZXMuIFJhbmRvbWx5IGFzc2lnbmVkIGlmIG5vdCBnaXZlbi4qL1xuICAgICAgICAgICAgICAgICAgICBpZDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgICAgICAgICAgICAgICAgLyoqXG4gICAgICAgICAgICAgICAgICAgICAqIE9wdGlvbmFsIG5hbWUgZm9yIHRoZSBlbGVtZW50LCB1c2VmdWwgd2hlbiBgZGF0YShsYWJlbClgIGlzIGdpdmVuIHRvIGEgc3R5bGUncyBgY29udGVudGBcbiAgICAgICAgICAgICAgICAgICAgICogb3IgYGxhYmVsYC4gSXQgaXMgb25seSBhIGNvbnZlbnRpb24uICovXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICAgICAgICAgICAgICAvKiogT25seSBmb3Igbm9kZXMuIE9wdGlvbmFsIHJlZmVyZW5jZSB0byBhbm90aGVyIG5vZGUuIE5lZWRlZCB0byBjcmVhdGUgY29tcG91bmQgbm9kZXMuICovXG4gICAgICAgICAgICAgICAgICAgIHBhcmVudDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgICAgICAgICAgICAgICAgLyoqIE9ubHkgZm9yIGVkZ2VzLiBUaGUgaWQgb2YgdGhlIHNvdXJjZSBub2RlLCB3aGljaCBpcyB3aGVyZSB0aGUgZWRnZSBzdGFydHMuICovXG4gICAgICAgICAgICAgICAgICAgIHNvdXJjZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgICAgICAgICAgICAgICAgLyoqIE9ubHkgZm9yIGVkZ2VzLiBUaGUgaWQgb2YgdGhlIHRhcmdldCBub2RlLCB3aGVyZSB0aGUgZWRnZSBlbmRzLiAqL1xuICAgICAgICAgICAgICAgICAgICB0YXJnZXQ6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgLyoqIE9ubHkgZm9yIG5vZGVzLiBUaGUgcG9zaXRpb24gb2YgdGhlIG5vZGUuICovXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IFByb3BUeXBlcy5zaGFwZSh7XG4gICAgICAgICAgICAgICAgICAgIC8qKiBUaGUgeC1jb29yZGluYXRlIG9mIHRoZSBub2RlLiAqL1xuICAgICAgICAgICAgICAgICAgICB4OiBQcm9wVHlwZXMubnVtYmVyLFxuICAgICAgICAgICAgICAgICAgICAvKiogVGhlIHktY29vcmRpbmF0ZSBvZiB0aGUgbm9kZS4gKi9cbiAgICAgICAgICAgICAgICAgICAgeTogUHJvcFR5cGVzLm51bWJlcixcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAvKiogSWYgdGhlIGVsZW1lbnQgaXMgc2VsZWN0ZWQgdXBvbiBpbml0aWFsaXNhdGlvbi4gKi9cbiAgICAgICAgICAgICAgICBzZWxlY3RlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgICAgICAgICAgICAgLyoqIElmIHRoZSBlbGVtZW50IGNhbiBiZSBzZWxlY3RlZC4gKi9cbiAgICAgICAgICAgICAgICBzZWxlY3RhYmxlOiBQcm9wVHlwZXMuYm9vbCxcbiAgICAgICAgICAgICAgICAvKiogT25seSBmb3Igbm9kZXMuIElmIHRoZSBwb3NpdGlvbiBpcyBpbW11dGFibGUuICovXG4gICAgICAgICAgICAgICAgbG9ja2VkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICAgICAgICAgICAgICAvKiogT25seSBmb3Igbm9kZXMuIElmIHRoZSBub2RlIGNhbiBiZSBncmFiYmVkIGFuZCBtb3ZlZCBieSB0aGUgdXNlci4gKi9cbiAgICAgICAgICAgICAgICBncmFiYmFibGU6IFByb3BUeXBlcy5ib29sLFxuICAgICAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICAgICAqIFNwYWNlIHNlcGFyYXRlZCBzdHJpbmcgb2YgY2xhc3MgbmFtZXMgb2YgdGhlIGVsZW1lbnQuIFRob3NlIGNsYXNzZXMgY2FuIGJlIHNlbGVjdGVkXG4gICAgICAgICAgICAgICAgICogYnkgYSBzdHlsZSBzZWxlY3Rvci5cbiAgICAgICAgICAgICAgICAgKi9cbiAgICAgICAgICAgICAgICBjbGFzc2VzOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgKSxcbiAgICAgICAgUHJvcFR5cGVzLmV4YWN0KHtcbiAgICAgICAgICAgIG5vZGVzOiBQcm9wVHlwZXMuYXJyYXksXG4gICAgICAgICAgICBlZGdlczogUHJvcFR5cGVzLmFycmF5LFxuICAgICAgICB9KSxcbiAgICBdKSxcblxuICAgIC8qKlxuICAgICAqIEEgbGlzdCBvZiBkaWN0aW9uYXJpZXMgcmVwcmVzZW50aW5nIHRoZSBzdHlsZXMgb2YgdGhlIGVsZW1lbnRzLlxuICAgICAqIEVhY2ggZGljdGlvbmFyeSByZXF1aXJlcyB0aGUgZm9sbG93aW5nIGtleXM6IGBzZWxlY3RvcmAgYW5kIGBzdHlsZWAuXG4gICAgICpcbiAgICAgKiBCb3RoIHRoZSBbc2VsZWN0b3JdKGh0dHBzOi8vanMuY3l0b3NjYXBlLm9yZy8jc2VsZWN0b3JzKSBhbmRcbiAgICAgKiB0aGUgW3N0eWxlXShodHRwczovL2pzLmN5dG9zY2FwZS5vcmcvI3N0eWxlL25vZGUtYm9keSkgYXJlXG4gICAgICogZXhoYXVzdGl2ZWx5IGRvY3VtZW50ZWQgaW4gdGhlIEN5dG9zY2FwZS5qcyBkb2NzLiBBbHRob3VnaCBtZXRob2RzIHN1Y2hcbiAgICAgKiBhcyBgY3kuZWxlbWVudHMoLi4uKWAgYW5kIGBjeS5maWx0ZXIoLi4uKWAgYXJlIG5vdCBhdmFpbGFibGUsIHRoZSBzZWxlY3RvclxuICAgICAqIHN0cmluZyBzeW50YXggc3RheXMgdGhlIHNhbWUuXG4gICAgICovXG4gICAgc3R5bGVzaGVldDogUHJvcFR5cGVzLmFycmF5T2YoXG4gICAgICAgIFByb3BUeXBlcy5leGFjdCh7XG4gICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAqIFdoaWNoIGVsZW1lbnRzIHlvdSBhcmUgc3R5bGluZy4gR2VuZXJhbGx5LCB5b3Ugc2VsZWN0IGEgZ3JvdXAgb2YgZWxlbWVudHMgKG5vZGUsIGVkZ2VzLCBib3RoKSxcbiAgICAgICAgICAgICAqIGEgY2xhc3MgKHRoYXQgeW91IGRlY2xhcmUgaW4gdGhlIGVsZW1lbnQgZGljdGlvbmFyeSksIG9yIGFuIGVsZW1lbnQgYnkgSUQuXG4gICAgICAgICAgICAgKi9cbiAgICAgICAgICAgIHNlbGVjdG9yOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAqIFdoYXQgYXNwZWN0cyBvZiB0aGUgZWxlbWVudHMgeW91IHdhbnQgdG8gbW9kaWZ5LiBUaGlzIGNvdWxkIGJlIHRoZSBzaXplIG9yXG4gICAgICAgICAgICAgKiBjb2xvciBvZiBhIG5vZGUsIHRoZSBzaGFwZSBvZiBhbiBlZGdlIGFycm93LCBvciBtYW55IG1vcmUuXG4gICAgICAgICAgICAgKi9cbiAgICAgICAgICAgIHN0eWxlOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWQsXG4gICAgICAgIH0pXG4gICAgKSxcblxuICAgIC8qKlxuICAgICAqIEEgZGljdGlvbmFyeSBzcGVjaWZ5aW5nIGhvdyB0byBzZXQgdGhlIHBvc2l0aW9uIG9mIHRoZSBlbGVtZW50cyBpbiB5b3VyXG4gICAgICogZ3JhcGguIFRoZSBgJ25hbWUnYCBrZXkgaXMgcmVxdWlyZWQsIGFuZCBpbmRpY2F0ZXMgd2hpY2ggbGF5b3V0IChhbGdvcml0aG0pIHRvXG4gICAgICogdXNlLiBUaGUga2V5cyBhY2NlcHRlZCBieSBgbGF5b3V0YCB2YXJ5IGRlcGVuZGluZyBvbiB0aGUgYWxnb3JpdGhtLCBidXQgdGhlc2VcbiAgICAgKiBrZXlzIGFyZSBhY2NlcHRlZCBieSBhbGwgbGF5b3V0czogYGZpdGAsICBgcGFkZGluZ2AsIGBhbmltYXRlYCwgYGFuaW1hdGlvbkR1cmF0aW9uYCxcbiAgICAgKiBgYm91bmRpbmdCb3hgLlxuICAgICAqXG4gICAgICogIFRoZSBjb21wbGV0ZSBsaXN0IG9mIGxheW91dHMgYW5kIHRoZWlyIGFjY2VwdGVkIG9wdGlvbnMgYXJlIGF2YWlsYWJsZSBvbiB0aGVcbiAgICAgKiAgW0N5dG9zY2FwZS5qcyBkb2NzXShodHRwczovL2pzLmN5dG9zY2FwZS5vcmcvI2xheW91dHMpIC4gRm9yIHRoZSBleHRlcm5hbCBsYXlvdXRzLFxuICAgICAqIHRoZSBvcHRpb25zIGFyZSBsaXN0ZWQgaW4gdGhlIFwiQVBJXCIgc2VjdGlvbiBvZiB0aGUgIFJFQURNRS5cbiAgICAgKiAgTm90ZSB0aGF0IGNlcnRhaW4ga2V5cyBhcmUgbm90IHN1cHBvcnRlZCBpbiBEYXNoIHNpbmNlIHRoZSB2YWx1ZSBpcyBhIEphdmFTY3JpcHRcbiAgICAgKiAgZnVuY3Rpb24gb3IgYSBjYWxsYmFjay4gUGxlYXNlIHZpc2l0IHRoaXNcbiAgICAgKiBbaXNzdWVdKGh0dHBzOi8vZ2l0aHViLmNvbS9wbG90bHkvZGFzaC1jeXRvc2NhcGUvaXNzdWVzLzI1KSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiAgICAgKi9cbiAgICBsYXlvdXQ6IFByb3BUeXBlcy5zaGFwZSh7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBUaGUgbGF5b3V0cyBhdmFpbGFibGUgYnkgZGVmYXVsdCBhcmU6XG4gICAgICAgICAqICAgYHJhbmRvbWA6IFJhbmRvbWx5IGFzc2lnbnMgcG9zaXRpb25zLlxuICAgICAgICAgKiAgIGBwcmVzZXRgOiBBc3NpZ25zIHBvc2l0aW9uIGJhc2VkIG9uIHRoZSBgcG9zaXRpb25gIGtleSBpbiBlbGVtZW50IGRpY3Rpb25hcmllcy5cbiAgICAgICAgICogICBgY2lyY2xlYDogU2luZ2xlLWxldmVsIGNpcmNsZSwgd2l0aCBvcHRpb25hbCByYWRpdXMuXG4gICAgICAgICAqICAgYGNvbmNlbnRyaWNgOiBNdWx0aS1sZXZlbCBjaXJjbGUsIHdpdGggb3B0aW9uYWwgcmFkaXVzLlxuICAgICAgICAgKiAgIGBncmlkYDogU3F1YXJlIGdyaWQsIG9wdGlvbmFsbHkgd2l0aCBudW1iZXJzIG9mIGByb3dzYCBhbmQgYGNvbHNgLlxuICAgICAgICAgKiAgIGBicmVhZHRoZmlyc3RgOiBUcmVlIHN0cnVjdHVyZSBidWlsdCB1c2luZyBCRlMsIHdpdGggb3B0aW9uYWwgYHJvb3RzYC5cbiAgICAgICAgICogICBgY29zZWA6IEZvcmNlLWRpcmVjdGVkIHBoeXNpY3Mgc2ltdWxhdGlvbi5cbiAgICAgICAgICpcbiAgICAgICAgICogU29tZSBleHRlcm5hbCBsYXlvdXRzIGFyZSBhbHNvIGluY2x1ZGVkLiBUbyB1c2UgdGhlbSwgcnVuXG4gICAgICAgICAqICAgYGRhc2hfY3l0b3NjYXBlLmxvYWRfZXh0cmFfbGF5b3V0cygpYCBiZWZvcmUgY3JlYXRpbmcgeW91ciBEYXNoIGFwcC4gQmUgY2FyZWZ1bCBhYm91dFxuICAgICAgICAgKiAgIHVzaW5nIHRoZSBleHRyYSBsYXlvdXRzIHdoZW4gbm90IG5lY2Vzc2FyeSwgc2luY2UgdGhleSByZXF1aXJlIHN1cHBsZW1lbnRhcnkgYmFuZHdpZHRoXG4gICAgICAgICAqICAgZm9yIGxvYWRpbmcsIHdoaWNoIGltcGFjdHMgdGhlIHN0YXJ0dXAgdGltZSBvZiB0aGUgYXBwLlxuICAgICAgICAgKiAgIFRoZSBleHRlcm5hbCBsYXlvdXRzIGFyZTpcbiAgICAgICAgICogICBbY29zZS1iaWxrZW50XShodHRwczovL2dpdGh1Yi5jb20vY3l0b3NjYXBlL2N5dG9zY2FwZS5qcy1jb3NlLWJpbGtlbnQpLFxuICAgICAgICAgKiAgIFtmY29zZV0oaHR0cHM6Ly9naXRodWIuY29tL2lWaXMtYXQtQmlsa2VudC9jeXRvc2NhcGUuanMtZmNvc2UpLFxuICAgICAgICAgKiAgIFtjb2xhXShodHRwczovL2dpdGh1Yi5jb20vY3l0b3NjYXBlL2N5dG9zY2FwZS5qcy1jb2xhKSxcbiAgICAgICAgICogICBbZXVsZXJdKGh0dHBzOi8vZ2l0aHViLmNvbS9jeXRvc2NhcGUvY3l0b3NjYXBlLmpzLWRhZ3JlKSxcbiAgICAgICAgICogICBbc3ByZWFkXShodHRwczovL2dpdGh1Yi5jb20vY3l0b3NjYXBlL2N5dG9zY2FwZS5qcy1zcHJlYWQpLFxuICAgICAgICAgKiAgIFtkYWdyZV0oaHR0cHM6Ly9naXRodWIuY29tL2N5dG9zY2FwZS9jeXRvc2NhcGUuanMtZGFncmUpLFxuICAgICAgICAgKiAgIFtrbGF5XShodHRwczovL2dpdGh1Yi5jb20vY3l0b3NjYXBlL2N5dG9zY2FwZS5qcy1rbGF5KSxcbiAgICAgICAgICovXG4gICAgICAgIG5hbWU6IFByb3BUeXBlcy5vbmVPZihbXG4gICAgICAgICAgICAncmFuZG9tJyxcbiAgICAgICAgICAgICdwcmVzZXQnLFxuICAgICAgICAgICAgJ2NpcmNsZScsXG4gICAgICAgICAgICAnY29uY2VudHJpYycsXG4gICAgICAgICAgICAnZ3JpZCcsXG4gICAgICAgICAgICAnYnJlYWR0aGZpcnN0JyxcbiAgICAgICAgICAgICdjb3NlJyxcbiAgICAgICAgICAgICdjb3NlLWJpbGtlbnQnLFxuICAgICAgICAgICAgJ2Zjb3NlJyxcbiAgICAgICAgICAgICdjb2xhJyxcbiAgICAgICAgICAgICdldWxlcicsXG4gICAgICAgICAgICAnc3ByZWFkJyxcbiAgICAgICAgICAgICdkYWdyZScsXG4gICAgICAgICAgICAna2xheScsXG4gICAgICAgIF0pLmlzUmVxdWlyZWQsXG4gICAgICAgIC8qKiAgV2hldGhlciB0byByZW5kZXIgdGhlIG5vZGVzIGluIG9yZGVyIHRvIGZpdCB0aGUgY2FudmFzLiAqL1xuICAgICAgICBmaXQ6IFByb3BUeXBlcy5ib29sLFxuICAgICAgICAvKiogUGFkZGluZyBhcm91bmQgdGhlIHNpZGVzIG9mIHRoZSBjYW52YXMsIGlmIGZpdCBpcyBlbmFibGVkLiAqL1xuICAgICAgICBwYWRkaW5nOiBQcm9wVHlwZXMubnVtYmVyLFxuICAgICAgICAvKiogV2hldGhlciB0byBhbmltYXRlIGNoYW5nZSBpbiBwb3NpdGlvbiB3aGVuIHRoZSBsYXlvdXQgY2hhbmdlcy4gKi9cbiAgICAgICAgYW5pbWF0ZTogUHJvcFR5cGVzLmJvb2wsXG4gICAgICAgIC8qKiBEdXJhdGlvbiBvZiBhbmltYXRpb24gaW4gbWlsbGlzZWNvbmRzLCBpZiBlbmFibGVkLiAqL1xuICAgICAgICBhbmltYXRpb25EdXJhdGlvbjogUHJvcFR5cGVzLm51bWJlcixcbiAgICAgICAgLyoqXG4gICAgICAgICAqIEhvdyB0byBjb25zdHJhaW4gdGhlIGxheW91dCBpbiBhIHNwZWNpZmljIGFyZWEuIEtleXMgYWNjZXB0ZWQgYXJlIGVpdGhlclxuICAgICAgICAgKiBgeDEsIHkxLCB4MiwgeTJgIG9yIGB4MSwgeTEsIHcsIGhgLCBhbGwgb2Ygd2hpY2ggcmVjZWl2ZSBhIHBpeGVsIHZhbHVlLlxuICAgICAgICAgKi9cbiAgICAgICAgYm91bmRpbmdCb3g6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgfSksXG4gICAgLyoqXG4gICAgICogRGVmaW5lIGEgY3VzdG9tIGNvbnRleHQgbWVudS4gVGhlIGJlaGF2aW91ciBvZiBlYWNoIG1lbnUgaXRlbSBjYW4gYmUgZGVmaW5lZCBpbiAxIG9mIDMgd2F5cy5cbiAgICAgKiAxLiBCeSBwYXNzaW5nIGEgc3RyaW5nIHRvIG9uQ2xpY2sgdGhhdCByZWZlcnMgdG8gb25lIG9mIHRoZSBidWlsdC1pbiBKYXZhc2NyaXB0IGZ1bmN0aW9ucy5cbiAgICAgKiAyLiBCeSBwYXNzaW5nIGEgc3RyaW5nIHRvIG9uQ2xpY2tDdXN0b20gdGhhdCByZWZlcnMgdG8gb25lIG9mIHRoZSB1c2VyLWRlZmluZWQgZnVuY3Rpb25zIGluIGEgbmFtZXNwYWNlLlxuICAgICAqIDMuIEJ5IG9taXR0aW5nIGJvdGggb2YgdGhlc2UgcHJvcGVydGllczsgdGhpcyB3aWxsIHVwZGF0ZSB0aGUgY29udGV4dE1lbnVEYXRhIHByb3BlcnR5IGFuZCB0cmlnZ2VyIGEgRGFzaCBjYWxsYmFjay5cbiAgICAgKi9cbiAgICBjb250ZXh0TWVudTogUHJvcFR5cGVzLmFycmF5T2YoXG4gICAgICAgIFByb3BUeXBlcy5leGFjdCh7XG4gICAgICAgICAgICAvKiogSUQgb2YgdGhlIG1lbnUgaXRlbSBpbiB0aGUgY29udGV4dCBtZW51ICovXG4gICAgICAgICAgICBpZDogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICAgICAgICAgICAgLyoqIFRoZSBsYWJlbCBvbiB0aGUgY29udGV4dCBtZW51IGl0ZW0qL1xuICAgICAgICAgICAgbGFiZWw6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgICAgICAgICAgIC8qKiBUaGUgdG9vbHRpcCB0ZXh0IHdoZW4gaG92ZXJpbmcgb24gdG9wIG9mIGEgY29udGV4dCBtZW51IGl0ZW0gKi9cbiAgICAgICAgICAgIHRvb2x0aXBUZXh0OiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICAgICAgLyoqIEEgbGlzdCBjb250YWluaW5nIGVpdGhlciAnbm9kZScsICdlZGdlJyxhbmQvb3IgJ2NhbnZhcycuIFRoaXMgd2lsbCBkZXRlcm1pbmUgd2hlcmUgdGhlIGNvbnRleHRcbiAgICAgICAgICAgICAqICBtZW51IGl0ZW0gd2lsbCBzaG93IHVwLlxuICAgICAgICAgICAgICovXG4gICAgICAgICAgICBhdmFpbGFibGVPbjogUHJvcFR5cGVzLmFycmF5LFxuICAgICAgICAgICAgLyoqIFNwZWNpZnkgd2hpY2ggYnVpbHQtaW4gSmF2YVNjcmlwdCBmdW5jdGlvbiB0byB1c2UgYXMgYmVoYXZpb3VyIGZvciB0aGUgY29udGV4dFxuICAgICAgICAgICAgICogbWVudSBpdGVtLiBPbmUgb2YgJ3JlbW92ZScsICdhZGRfbm9kZScsIG9yICdhZGRfZWRnZSdcbiAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgb25DbGljazogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgICAgICAgIC8qKiBTcGVjaWZ5IHdoaWNoIHVzZXItZGVmaW5lZCBKYXZhc2NyaXB0IGZ1bmN0aW9uIHRvIHVzZSBpbiB0aGUgZGFzaEN5dG9zY2FwZUZ1bmN0aW9uc1xuICAgICAgICAgICAgICogbmFtZXNwYWNlIGFzIGJlaGF2aW91ciBmb3IgdGhlIGNvbnRleHQgbWVudSBpdGVtXG4gICAgICAgICAgICAgKi9cbiAgICAgICAgICAgIG9uQ2xpY2tDdXN0b206IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICAgIH0pXG4gICAgKSxcbiAgICAvKipcbiAgICAgKiBSZXRyaWV2ZSByZWxldmFudCBkYXRhIHdoZW4gYSBjb250ZXh0IG1lbnUgaXRlbSBpcyBjbGlja2VkLiAgUmVhZC1vbmx5LlxuICAgICAqL1xuICAgIGNvbnRleHRNZW51RGF0YTogUHJvcFR5cGVzLmV4YWN0KHtcbiAgICAgICAgLyoqIElEIG9mIHRoZSBtZW51IGl0ZW0gaW4gdGhlIGNvbnRleHQgbWVudSAqL1xuICAgICAgICBtZW51SXRlbUlkOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICAvKiogeC1wb3NpdGlvbiBvZiB0aGUgY29udGV4dCBjbGljayAqL1xuICAgICAgICB4OiBQcm9wVHlwZXMubnVtYmVyLFxuICAgICAgICAvKiogeS1wb3NpdGlvbiBvZiB0aGUgY29udGV4dCBjbGljayAqL1xuICAgICAgICB5OiBQcm9wVHlwZXMubnVtYmVyLFxuICAgICAgICAvKiogVGltZXN0YW1wIG9mIGNvbnRleHQgY2xpY2sqL1xuICAgICAgICB0aW1lU3RhbXA6IFByb3BUeXBlcy5udW1iZXIsXG4gICAgICAgIC8qKiBFbGVtZW50IElEIG9uIGNvbnRleHQgY2xpY2sgaWYgdGhlIGNvbnRleHQgY2xpY2sgd2FzIG9uIGFuIGVsZW1lbnQuXG4gICAgICAgICAqIElmIGNvbnRleHQgY2xpY2sgd2FzIG9uIHdoaXRlIHNwYWNlLCB0aGlzIHByb3BlcnR5IGlzIG5vdCByZXR1cm5lZFxuICAgICAgICAgKi9cbiAgICAgICAgZWxlbWVudElkOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICAvKiogTm9kZSBJRCBvZiB0aGUgZWRnZSBzb3VyY2UgaWYgdGhlIGNsaWNrZWQgZWxlbWVudCBpcyBhbiBlZGdlLFxuICAgICAgICAgKiBvciBlbHNlIHRoaXMgcHJvcGVydHkgaXMgbm90IHJldHVybmVkKi9cbiAgICAgICAgZWRnZVNvdXJjZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgICAgLyoqIE5vZGUgSUQgb2YgdGhlIGVkZ2UgdGFyZ2V0IGlmIHRoZSBjbGlja2VkIGVsZW1lbnQgaXMgYW4gZWRnZSxcbiAgICAgICAgICogb3IgZWxzZSB0aGlzIHByb3BlcnR5IGlzIG5vdCByZXR1cm5lZCovXG4gICAgICAgIGVkZ2VUYXJnZXQ6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgfSksXG4gICAgLy8gVmlld3BvcnQgTWFuaXB1bGF0aW9uXG5cbiAgICAvKipcbiAgICAgKiBEaWN0aW9uYXJ5IGluZGljYXRpbmcgdGhlIGluaXRpYWwgcGFubmluZyBwb3NpdGlvbiBvZiB0aGUgZ3JhcGguIFRoZVxuICAgICAqIGZvbGxvd2luZyBrZXlzIGFyZSBhY2NlcHRlZDpcbiAgICAgKi9cbiAgICBwYW46IFByb3BUeXBlcy5leGFjdCh7XG4gICAgICAgIC8qKiBUaGUgeC1jb29yZGluYXRlIG9mIHRoZSBub2RlICovXG4gICAgICAgIHg6IFByb3BUeXBlcy5udW1iZXIsXG4gICAgICAgIC8qKiBUaGUgeS1jb29yZGluYXRlIG9mIHRoZSBub2RlICAqL1xuICAgICAgICB5OiBQcm9wVHlwZXMubnVtYmVyLFxuICAgIH0pLFxuXG4gICAgLyoqXG4gICAgICogVGhlIGluaXRpYWwgem9vbSBsZXZlbCBvZiB0aGUgZ3JhcGguIFlvdSBjYW4gc2V0IGBtaW5ab29tYCBhbmRcbiAgICAgKiBgbWF4Wm9vbWAgdG8gc2V0IHJlc3RyaWN0aW9ucyBvbiB0aGUgem9vbSBsZXZlbC5cbiAgICAgKi9cbiAgICB6b29tOiBQcm9wVHlwZXMubnVtYmVyLFxuXG4gICAgLy8gVmlld3BvcnQgTXV0YWJpbGl0eSBhbmQgZ2VzdHVyZSBUb2dnbGluZ1xuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgcGFubmluZyB0aGUgZ3JhcGggaXMgZW5hYmxlZCAoaS5lLiwgdGhlIHBvc2l0aW9uIG9mIHRoZSBncmFwaCBpc1xuICAgICAqIG11dGFibGUgb3ZlcmFsbCkuXG4gICAgICovXG4gICAgcGFubmluZ0VuYWJsZWQ6IFByb3BUeXBlcy5ib29sLFxuXG4gICAgLyoqXG4gICAgICogV2hldGhlciB1c2VyIGV2ZW50cyAoZS5nLiBkcmFnZ2luZyB0aGUgZ3JhcGggYmFja2dyb3VuZCkgYXJlIGFsbG93ZWQgdG9cbiAgICAgKiBwYW4gdGhlIGdyYXBoLlxuICAgICAqL1xuICAgIHVzZXJQYW5uaW5nRW5hYmxlZDogUHJvcFR5cGVzLmJvb2wsXG5cbiAgICAvKipcbiAgICAgKiBBIG1pbmltdW0gYm91bmQgb24gdGhlIHpvb20gbGV2ZWwgb2YgdGhlIGdyYXBoLiBUaGUgdmlld3BvcnQgY2FuIG5vdCBiZVxuICAgICAqIHNjYWxlZCBzbWFsbGVyIHRoYW4gdGhpcyB6b29tIGxldmVsLlxuICAgICAqL1xuICAgIG1pblpvb206IFByb3BUeXBlcy5udW1iZXIsXG5cbiAgICAvKipcbiAgICAgKiBBIG1heGltdW0gYm91bmQgb24gdGhlIHpvb20gbGV2ZWwgb2YgdGhlIGdyYXBoLiBUaGUgdmlld3BvcnQgY2FuIG5vdCBiZVxuICAgICAqIHNjYWxlZCBsYXJnZXIgdGhhbiB0aGlzIHpvb20gbGV2ZWwuXG4gICAgICovXG4gICAgbWF4Wm9vbTogUHJvcFR5cGVzLm51bWJlcixcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgem9vbWluZyB0aGUgZ3JhcGggaXMgZW5hYmxlZCAoaS5lLiwgdGhlIHpvb20gbGV2ZWwgb2YgdGhlIGdyYXBoXG4gICAgICogaXMgbXV0YWJsZSBvdmVyYWxsKS5cbiAgICAgKi9cbiAgICB6b29taW5nRW5hYmxlZDogUHJvcFR5cGVzLmJvb2wsXG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHVzZXIgZXZlbnRzIChlLmcuIGRyYWdnaW5nIHRoZSBncmFwaCBiYWNrZ3JvdW5kKSBhcmUgYWxsb3dlZFxuICAgICAqIHRvIHBhbiB0aGUgZ3JhcGguXG4gICAgICovXG4gICAgdXNlclpvb21pbmdFbmFibGVkOiBQcm9wVHlwZXMuYm9vbCxcblxuICAgIC8qKlxuICAgICAqIENoYW5nZXMgdGhlIHNjcm9sbCB3aGVlbCBzZW5zaXRpdml0eSB3aGVuIHpvb21pbmcuXG4gICAgICovXG4gICAgd2hlZWxTZW5zaXRpdml0eTogUHJvcFR5cGVzLm51bWJlcixcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgYm94IHNlbGVjdGlvbiAoaS5lLiBkcmFnIGEgYm94IG92ZXJsYXkgYXJvdW5kLCBhbmQgcmVsZWFzZSBpdFxuICAgICAqIHRvIHNlbGVjdCkgaXMgZW5hYmxlZC4gSWYgZW5hYmxlZCwgdGhlIHVzZXIgbXVzdCB0YXBob2xkIHRvIHBhbiB0aGUgZ3JhcGguXG4gICAgICovXG4gICAgYm94U2VsZWN0aW9uRW5hYmxlZDogUHJvcFR5cGVzLmJvb2wsXG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIG5vZGVzIHNob3VsZCBiZSB1bmdyYWJpZmllZCAobm90IGdyYWJiYWJsZSBieSB1c2VyKSBieVxuICAgICAqIGRlZmF1bHQgKGlmIHRydWUsIG92ZXJyaWRlcyBpbmRpdmlkdWFsIG5vZGUgc3RhdGUpLlxuICAgICAqL1xuICAgIGF1dG91bmdyYWJpZnk6IFByb3BUeXBlcy5ib29sLFxuXG4gICAgLyoqXG4gICAgICogV2hldGhlciBub2RlcyBzaG91bGQgYmUgbG9ja2VkIChub3QgZHJhZ2dhYmxlIGF0IGFsbCkgYnkgZGVmYXVsdFxuICAgICAqIChpZiB0cnVlLCBvdmVycmlkZXMgaW5kaXZpZHVhbCBub2RlIHN0YXRlKS5cbiAgICAgKi9cbiAgICBhdXRvbG9jazogUHJvcFR5cGVzLmJvb2wsXG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIG5vZGVzIHNob3VsZCBiZSB1bnNlbGVjdGlmaWVkIChpbW11dGFibGUgc2VsZWN0aW9uIHN0YXRlKSBieVxuICAgICAqIGRlZmF1bHQgKGlmIHRydWUsIG92ZXJyaWRlcyBpbmRpdmlkdWFsIGVsZW1lbnQgc3RhdGUpLlxuICAgICAqL1xuICAgIGF1dG91bnNlbGVjdGlmeTogUHJvcFR5cGVzLmJvb2wsXG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRoZSBsYXlvdXQgc2hvdWxkIGJlIHJlZnJlc2hlZCB3aGVuIGVsZW1lbnRzIGFyZSBhZGRlZCBvciByZW1vdmVkLlxuICAgICAqL1xuICAgIGF1dG9SZWZyZXNoTGF5b3V0OiBQcm9wVHlwZXMuYm9vbCxcblxuICAgIC8vIFVzZXIgRXZlbnRzIFByb3BzXG5cbiAgICAvKipcbiAgICAgKiBUaGUgY29tcGxldGUgbm9kZSBkaWN0aW9uYXJ5IHJldHVybmVkIHdoZW4geW91IHRhcCBvciBjbGljayBpdC4gUmVhZC1vbmx5LlxuICAgICAqL1xuICAgIHRhcE5vZGU6IFByb3BUeXBlcy5leGFjdCh7XG4gICAgICAgIC8qKiBub2RlIHNwZWNpZmljIGl0ZW0gKi9cbiAgICAgICAgZWRnZXNEYXRhOiBQcm9wVHlwZXMuYXJyYXksXG4gICAgICAgIC8qKiBub2RlIHNwZWNpZmljIGl0ZW0gKi9cbiAgICAgICAgcmVuZGVyZWRQb3NpdGlvbjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICAgICAgLyoqIG5vZGUgc3BlY2lmaWMgaXRlbSAqL1xuICAgICAgICB0aW1lU3RhbXA6IFByb3BUeXBlcy5udW1iZXIsXG4gICAgICAgIC8qKiBHZW5lcmFsIGl0ZW0gKGZvciBhbGwgZWxlbWVudHMpICovXG4gICAgICAgIGNsYXNzZXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICAgIC8qKiBHZW5lcmFsIGl0ZW0gKGZvciBhbGwgZWxlbWVudHMpICovXG4gICAgICAgIGRhdGE6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgICAgIC8qKiBHZW5lcmFsIGl0ZW0gKGZvciBhbGwgZWxlbWVudHMpICovXG4gICAgICAgIGdyYWJiYWJsZTogUHJvcFR5cGVzLmJvb2wsXG4gICAgICAgIC8qKiBHZW5lcmFsIGl0ZW0gKGZvciBhbGwgZWxlbWVudHMpICovXG4gICAgICAgIGdyb3VwOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICAvKiogR2VuZXJhbCBpdGVtIChmb3IgYWxsIGVsZW1lbnRzKSAqL1xuICAgICAgICBsb2NrZWQ6IFByb3BUeXBlcy5ib29sLFxuICAgICAgICAvKiogR2VuZXJhbCBpdGVtIChmb3IgYWxsIGVsZW1lbnRzKSAqL1xuICAgICAgICBwb3NpdGlvbjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICAgICAgLyoqIEdlbmVyYWwgaXRlbSAoZm9yIGFsbCBlbGVtZW50cykgKi9cbiAgICAgICAgc2VsZWN0YWJsZTogUHJvcFR5cGVzLmJvb2wsXG4gICAgICAgIC8qKiBHZW5lcmFsIGl0ZW0gKGZvciBhbGwgZWxlbWVudHMpICovXG4gICAgICAgIHNlbGVjdGVkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICAgICAgLyoqIEdlbmVyYWwgaXRlbSAoZm9yIGFsbCBlbGVtZW50cykgKi9cbiAgICAgICAgc3R5bGU6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgICAgIC8qKiBJdGVtIGZvciBjb21wb3VuZCBub2RlcyAqL1xuICAgICAgICBhbmNlc3RvcnNEYXRhOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMub2JqZWN0LCBQcm9wVHlwZXMuYXJyYXldKSxcbiAgICAgICAgLyoqIEl0ZW0gZm9yIGNvbXBvdW5kIG5vZGVzICovXG4gICAgICAgIGNoaWxkcmVuRGF0YTogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLm9iamVjdCwgUHJvcFR5cGVzLmFycmF5XSksXG4gICAgICAgIC8qKiBJdGVtIGZvciBjb21wb3VuZCBub2RlcyAqL1xuICAgICAgICBkZXNjZW5kYW50c0RhdGE6IFByb3BUeXBlcy5vbmVPZlR5cGUoW1xuICAgICAgICAgICAgUHJvcFR5cGVzLm9iamVjdCxcbiAgICAgICAgICAgIFByb3BUeXBlcy5hcnJheSxcbiAgICAgICAgXSksXG4gICAgICAgIC8qKiBJdGVtIGZvciBjb21wb3VuZCBub2RlcyAqL1xuICAgICAgICBwYXJlbnREYXRhOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMub2JqZWN0LCBQcm9wVHlwZXMuYXJyYXldKSxcbiAgICAgICAgLyoqIEl0ZW0gZm9yIGNvbXBvdW5kIG5vZGVzICovXG4gICAgICAgIHNpYmxpbmdzRGF0YTogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLm9iamVjdCwgUHJvcFR5cGVzLmFycmF5XSksXG4gICAgICAgIC8qKiBJdGVtIGZvciBjb21wb3VuZCBub2RlcyAqL1xuICAgICAgICBpc1BhcmVudDogUHJvcFR5cGVzLmJvb2wsXG4gICAgICAgIC8qKiBJdGVtIGZvciBjb21wb3VuZCBub2RlcyAqL1xuICAgICAgICBpc0NoaWxkbGVzczogUHJvcFR5cGVzLmJvb2wsXG4gICAgICAgIC8qKiBJdGVtIGZvciBjb21wb3VuZCBub2RlcyAqL1xuICAgICAgICBpc0NoaWxkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICAgICAgLyoqIEl0ZW0gZm9yIGNvbXBvdW5kIG5vZGVzICovXG4gICAgICAgIGlzT3JwaGFuOiBQcm9wVHlwZXMuYm9vbCxcbiAgICAgICAgLyoqIEl0ZW0gZm9yIGNvbXBvdW5kIG5vZGVzICovXG4gICAgICAgIHJlbGF0aXZlUG9zaXRpb246IFByb3BUeXBlcy5vYmplY3QsXG4gICAgfSksXG5cbiAgICAvKipcbiAgICAgKiBUaGUgZGF0YSBkaWN0aW9uYXJ5IG9mIGEgbm9kZSByZXR1cm5lZCB3aGVuIHlvdSB0YXAgb3IgY2xpY2sgaXQuIFJlYWQtb25seS5cbiAgICAgKi9cbiAgICB0YXBOb2RlRGF0YTogUHJvcFR5cGVzLm9iamVjdCxcblxuICAgIC8qKlxuICAgICAqIFRoZSBjb21wbGV0ZSBlZGdlIGRpY3Rpb25hcnkgcmV0dXJuZWQgd2hlbiB5b3UgdGFwIG9yIGNsaWNrIGl0LiBSZWFkLW9ubHkuXG4gICAgICovXG4gICAgdGFwRWRnZTogUHJvcFR5cGVzLmV4YWN0KHtcbiAgICAgICAgLyoqIEVkZ2Utc3BlY2lmaWMgaXRlbSAqL1xuICAgICAgICBpc0xvb3A6IFByb3BUeXBlcy5ib29sLFxuICAgICAgICAvKiogRWRnZS1zcGVjaWZpYyBpdGVtICovXG4gICAgICAgIGlzU2ltcGxlOiBQcm9wVHlwZXMuYm9vbCxcbiAgICAgICAgLyoqIEVkZ2Utc3BlY2lmaWMgaXRlbSAqL1xuICAgICAgICBtaWRwb2ludDogUHJvcFR5cGVzLm9iamVjdCxcbiAgICAgICAgLyoqIEVkZ2Utc3BlY2lmaWMgaXRlbSAqL1xuICAgICAgICBzb3VyY2VEYXRhOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgICAgICAvKiogRWRnZS1zcGVjaWZpYyBpdGVtICovXG4gICAgICAgIHNvdXJjZUVuZHBvaW50OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgICAgICAvKiogRWRnZS1zcGVjaWZpYyBpdGVtICovXG4gICAgICAgIHRhcmdldERhdGE6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgICAgIC8qKiBFZGdlLXNwZWNpZmljIGl0ZW0gKi9cbiAgICAgICAgdGFyZ2V0RW5kcG9pbnQ6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgICAgIC8qKiBFZGdlLXNwZWNpZmljIGl0ZW0gKi9cbiAgICAgICAgdGltZVN0YW1wOiBQcm9wVHlwZXMubnVtYmVyLFxuICAgICAgICAvKiogR2VuZXJhbCBpdGVtIChmb3IgYWxsIGVsZW1lbnRzKSAqL1xuICAgICAgICBjbGFzc2VzOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICAvKiogR2VuZXJhbCBpdGVtIChmb3IgYWxsIGVsZW1lbnRzKSAqL1xuICAgICAgICBkYXRhOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgICAgICAvKiogR2VuZXJhbCBpdGVtIChmb3IgYWxsIGVsZW1lbnRzKSAqL1xuICAgICAgICBncmFiYmFibGU6IFByb3BUeXBlcy5ib29sLFxuICAgICAgICAvKiogR2VuZXJhbCBpdGVtIChmb3IgYWxsIGVsZW1lbnRzKSAqL1xuICAgICAgICBncm91cDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgICAgLyoqIEdlbmVyYWwgaXRlbSAoZm9yIGFsbCBlbGVtZW50cykgKi9cbiAgICAgICAgbG9ja2VkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICAgICAgLyoqIEdlbmVyYWwgaXRlbSAoZm9yIGFsbCBlbGVtZW50cykgKi9cbiAgICAgICAgc2VsZWN0YWJsZTogUHJvcFR5cGVzLmJvb2wsXG4gICAgICAgIC8qKiBHZW5lcmFsIGl0ZW0gKGZvciBhbGwgZWxlbWVudHMpICovXG4gICAgICAgIHNlbGVjdGVkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICAgICAgLyoqIEdlbmVyYWwgaXRlbSAoZm9yIGFsbCBlbGVtZW50cykgKi9cbiAgICAgICAgc3R5bGU6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgfSksXG5cbiAgICAvKipcbiAgICAgKiBUaGUgZGF0YSBkaWN0aW9uYXJ5IG9mIGFuIGVkZ2UgcmV0dXJuZWQgd2hlbiB5b3UgdGFwIG9yIGNsaWNrIGl0LiBSZWFkLW9ubHkuXG4gICAgICovXG4gICAgdGFwRWRnZURhdGE6IFByb3BUeXBlcy5vYmplY3QsXG5cbiAgICAvKipcbiAgICAgKiBUaGUgZGF0YSBkaWN0aW9uYXJ5IG9mIGEgbm9kZSByZXR1cm5lZCB3aGVuIHlvdSBob3ZlciBvdmVyIGl0LiBSZWFkLW9ubHkuXG4gICAgICovXG4gICAgbW91c2VvdmVyTm9kZURhdGE6IFByb3BUeXBlcy5vYmplY3QsXG5cbiAgICAvKipcbiAgICAgKiBUaGUgZGF0YSBkaWN0aW9uYXJ5IG9mIGFuIGVkZ2UgcmV0dXJuZWQgd2hlbiB5b3UgaG92ZXIgb3ZlciBpdC4gUmVhZC1vbmx5LlxuICAgICAqL1xuICAgIG1vdXNlb3ZlckVkZ2VEYXRhOiBQcm9wVHlwZXMub2JqZWN0LFxuXG4gICAgLyoqXG4gICAgICogVGhlIGxpc3Qgb2YgZGF0YSBkaWN0aW9uYXJpZXMgb2YgYWxsIHNlbGVjdGVkIG5vZGVzIChlLmcuIHVzaW5nXG4gICAgICogU2hpZnQrQ2xpY2sgdG8gc2VsZWN0IG11bHRpcGxlIG5vZGVzLCBvciBTaGlmdCtEcmFnIHRvIHVzZSBib3ggc2VsZWN0aW9uKS4gUmVhZC1vbmx5LlxuICAgICAqL1xuICAgIHNlbGVjdGVkTm9kZURhdGE6IFByb3BUeXBlcy5hcnJheSxcblxuICAgIC8qKlxuICAgICAqIFRoZSBsaXN0IG9mIGRhdGEgZGljdGlvbmFyaWVzIG9mIGFsbCBzZWxlY3RlZCBlZGdlcyAoZS5nLiB1c2luZ1xuICAgICAqIFNoaWZ0K0NsaWNrIHRvIHNlbGVjdCBtdWx0aXBsZSBub2Rlcywgb3IgU2hpZnQrRHJhZyB0byB1c2UgYm94IHNlbGVjdGlvbikuIFJlYWQtb25seS5cbiAgICAgKi9cbiAgICBzZWxlY3RlZEVkZ2VEYXRhOiBQcm9wVHlwZXMuYXJyYXksXG5cbiAgICAvKipcbiAgICAgKiBEaWN0aW9uYXJ5IHNwZWNpZnlpbmcgb3B0aW9ucyB0byBnZW5lcmF0ZSBhbiBpbWFnZSBvZiB0aGUgY3VycmVudCBjeXRvc2NhcGUgZ3JhcGguXG4gICAgICogVmFsdWUgaXMgY2xlYXJlZCBhZnRlciBkYXRhIGlzIHJlY2VpdmVkIGFuZCBpbWFnZSBpcyBnZW5lcmF0ZWQuIFRoaXMgcHJvcGVydHkgd2lsbFxuICAgICAqIGJlIGlnbm9yZWQgb24gdGhlIGluaXRpYWwgY3JlYXRpb24gb2YgdGhlIGN5dG9zY2FwZSBvYmplY3QgYW5kIG11c3QgYmUgaW52b2tlZCB0aHJvdWdoXG4gICAgICogYSBjYWxsYmFjayBhZnRlciBpdCBoYXMgYmVlbiByZW5kZXJlZC5cbiAgICAgKlxuICAgICAqIElmIHRoZSBhcHAgZG9lcyBub3QgbmVlZCB0aGUgaW1hZ2UgZGF0YSBzZXJ2ZXIgc2lkZSBhbmQvb3IgaXQgd2lsbCBvbmx5IGJlIHVzZWQgdG8gZG93bmxvYWRcbiAgICAgKiB0aGUgaW1hZ2UsIGl0IG1heSBiZSBwcnVkZW50IHRvIGludm9rZSBgJ2Rvd25sb2FkJ2AgZm9yIGBhY3Rpb25gIGluc3RlYWQgb2ZcbiAgICAgKiBgJ3N0b3JlJ2AgdG8gaW1wcm92ZSBwZXJmb3JtYW5jZSBieSBwcmV2ZW50aW5nIHRyYW5zZmVyIG9mIGRhdGEgdG8gdGhlIHNlcnZlci5cbiAgICAgKi9cbiAgICBnZW5lcmF0ZUltYWdlOiBQcm9wVHlwZXMuc2hhcGUoe1xuICAgICAgICAvKiogRmlsZSB0eXBlIHRvIG91dHB1dCAgKi9cbiAgICAgICAgdHlwZTogUHJvcFR5cGVzLm9uZU9mKFsnc3ZnJywgJ3BuZycsICdqcGcnLCAnanBlZyddKSxcbiAgICAgICAgLyoqIERpY3Rpb25hcnkgb2Ygb3B0aW9ucyB0byBjeS5wbmcoKSAvIGN5LmpwZygpIG9yIGN5LnN2ZygpIGZvciBpbWFnZSBnZW5lcmF0aW9uLlxuICAgICAgICAgKiBTZWUgaHR0cHM6Ly9qcy5jeXRvc2NhcGUub3JnLyNjb3JlL2V4cG9ydCBmb3IgZGV0YWlscy4gRm9yIGAnb3V0cHV0J2AsIG9ubHkgJ2Jhc2U2NCdcbiAgICAgICAgICogYW5kICdiYXNlNjR1cmknIGFyZSBzdXBwb3J0ZWQuIERlZmF1bHQ6IGB7J291dHB1dCc6ICdiYXNlNjR1cmknfWAuKi9cbiAgICAgICAgb3B0aW9uczogUHJvcFR5cGVzLm9iamVjdCxcbiAgICAgICAgLyoqXG4gICAgICAgICAqIGAnc3RvcmUnYDogU3RvcmVzIHRoZSBpbWFnZSBkYXRhIChvbmx5IGpwZyBhbmQgcG5nIGFyZSBzdXBwb3J0ZWQpXG4gICAgICAgICAqIGluIGBpbWFnZURhdGFgIGFuZCBpbnZva2VzIHNlcnZlci1zaWRlIERhc2ggY2FsbGJhY2tzLiBgJ2Rvd25sb2FkJ2A6IERvd25sb2FkcyB0aGUgaW1hZ2VcbiAgICAgICAgICogYXMgYSBmaWxlIHdpdGggYWxsIGRhdGEgaGFuZGxpbmcgZG9uZSBjbGllbnQtc2lkZS4gTm8gYGltYWdlRGF0YWAgY2FsbGJhY2tzIGFyZSBmaXJlZC5cbiAgICAgICAgICogYCdib3RoJ2A6IFN0b3JlcyBpbWFnZSBkYXRhIGFuZCBkb3dubG9hZHMgaW1hZ2UgYXMgZmlsZS4gVGhlIGRlZmF1bHQgaXMgYCdzdG9yZSdgXG4gICAgICAgICAqL1xuICAgICAgICBhY3Rpb246IFByb3BUeXBlcy5vbmVPZihbJ3N0b3JlJywgJ2Rvd25sb2FkJywgJ2JvdGgnXSksXG4gICAgICAgIC8qKiBOYW1lIGZvciB0aGUgZmlsZSB0byBiZSBkb3dubG9hZGVkLiBEZWZhdWx0OiAnY3l0bycuKi9cbiAgICAgICAgZmlsZW5hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgfSksXG5cbiAgICAvKipcbiAgICAgKiBTdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhlIGltYWdlIHJlcXVlc3RlZCB3aXRoIGdlbmVyYXRlSW1hZ2UuIE51bGwgaWYgbm9cbiAgICAgKiBpbWFnZSB3YXMgcmVxdWVzdGVkIHlldCBvciB0aGUgcHJldmlvdXMgcmVxdWVzdCBmYWlsZWQuIFJlYWQtb25seS5cbiAgICAgKi9cbiAgICBpbWFnZURhdGE6IFByb3BUeXBlcy5zdHJpbmcsXG5cbiAgICAvKipcbiAgICAgKiBUb2dnbGVzIGludGVsbGlnZW50IHJlc3BvbnNpdmUgcmVzaXplIG9mIEN5dG9zY2FwZSBncmFwaCB3aXRoIHZpZXdwb3J0IHNpemUgY2hhbmdlXG4gICAgICovXG4gICAgcmVzcG9uc2l2ZTogUHJvcFR5cGVzLmJvb2wsXG5cbiAgICAvKipcbiAgICAgKiBFeHRlbnQgb2YgdGhlIHZpZXdwb3J0LCBhIGJvdW5kaW5nIGJveCBpbiBtb2RlbCBjby1vcmRpbmF0ZXMgdGhhdCBsZXRzIHlvdSBrbm93IHdoYXQgbW9kZWxcbiAgICAgKiBwb3NpdGlvbnMgYXJlIHZpc2libGUgaW4gdGhlIHZpZXdwb3J0LiBUaGlzIGZ1bmN0aW9uIHJldHVybnMgYSBwbGFpbiBvYmplY3QgYm91bmRpbmcgYm94XG4gICAgICogd2l0aCBmb3JtYXQgeyB4MSwgeTEsIHgyLCB5MiwgdywgaCB9LlxuICAgICAqL1xuICAgIGV4dGVudDogUHJvcFR5cGVzLm9iamVjdCxcblxuICAgIC8qKlxuICAgICAqIElmIHNldCB0byBUcnVlLCBtb3VzZW92ZXJOb2RlRGF0YSBhbmQgbW91c2VvdmVyRWRnZURhdGEgd2lsbCBiZSBjbGVhcmVkIG9uIHVuaG92ZXIuXG4gICAgICogSWYgc2V0IHRvIEZhbHNlLCB0aGUgdmFsdWUgb2YgbW91c2VvdmVyTm9kZURhdGEgYW5kIG1vdXNlb3ZlckVkZ2VEYXRhIHdpbGwgYmUgdGhlIGxhc3RcbiAgICAgKiBOb2RlIG9yIEVkZ2UgaG92ZXJlZCBvdmVyXG4gICAgICovXG4gICAgY2xlYXJPblVuaG92ZXI6IFByb3BUeXBlcy5ib29sLFxufTtcblxuQ3l0b3NjYXBlLmRlZmF1bHRQcm9wcyA9IHtcbiAgICBzdHlsZToge3dpZHRoOiAnNjAwcHgnLCBoZWlnaHQ6ICc2MDBweCd9LFxuICAgIGxheW91dDoge25hbWU6ICdncmlkJ30sXG4gICAgcGFuOiB7eDogMCwgeTogMH0sXG4gICAgem9vbTogMSxcbiAgICBtaW5ab29tOiAxZS01MCxcbiAgICBtYXhab29tOiAxZTUwLFxuICAgIHpvb21pbmdFbmFibGVkOiB0cnVlLFxuICAgIHVzZXJab29taW5nRW5hYmxlZDogdHJ1ZSxcbiAgICBwYW5uaW5nRW5hYmxlZDogdHJ1ZSxcbiAgICB1c2VyUGFubmluZ0VuYWJsZWQ6IHRydWUsXG4gICAgd2hlZWxTZW5zaXRpdml0eTogMSxcbiAgICBib3hTZWxlY3Rpb25FbmFibGVkOiBmYWxzZSxcbiAgICBhdXRvbG9jazogZmFsc2UsXG4gICAgYXV0b3VuZ3JhYmlmeTogZmFsc2UsXG4gICAgYXV0b3Vuc2VsZWN0aWZ5OiBmYWxzZSxcbiAgICBhdXRvUmVmcmVzaExheW91dDogdHJ1ZSxcbiAgICBnZW5lcmF0ZUltYWdlOiB7fSxcbiAgICBpbWFnZURhdGE6IG51bGwsXG4gICAgcmVzcG9uc2l2ZTogZmFsc2UsXG4gICAgY2xlYXJPblVuaG92ZXI6IGZhbHNlLFxuICAgIGVsZW1lbnRzOiBbXSxcbiAgICBjb250ZXh0TWVudTogW10sXG59O1xuXG5leHBvcnQgZGVmYXVsdCBDeXRvc2NhcGU7XG4iXSwibmFtZXMiOlsiUmVhY3QiLCJDb21wb25lbnQiLCJQcm9wVHlwZXMiLCJDeXRvc2NhcGVDb21wb25lbnQiLCJfIiwidjQiLCJ1dWlkdjQiLCJDeVJlc3BvbnNpdmUiLCJjeXRvc2NhcGUiLCJyZXF1aXJlIiwiY29udGV4dE1lbnVzIiwiQ3l0b3NjYXBlIiwiX0NvbXBvbmVudCIsIl9pbmhlcml0cyIsInByb3BzIiwiX3RoaXMiLCJfY2xhc3NDYWxsQ2hlY2siLCJfY2FsbFN1cGVyIiwiaGFuZGxlQ3kiLCJiaW5kIiwiX2Fzc2VydFRoaXNJbml0aWFsaXplZCIsIl9oYW5kbGVDeUNhbGxlZCIsImhhbmRsZUltYWdlR2VuZXJhdGlvbiIsImN5UmVzcG9uc2l2ZUNsYXNzIiwiX2NyZWF0ZUNsYXNzIiwia2V5IiwidmFsdWUiLCJnZW5lcmF0ZU5vZGUiLCJldmVudCIsImVsZSIsInRhcmdldCIsImlzUGFyZW50IiwiaXNDaGlsZGxlc3MiLCJpc0NoaWxkIiwiaXNPcnBoYW4iLCJyZW5kZXJlZFBvc2l0aW9uIiwicmVsYXRpdmVQb3NpdGlvbiIsInBhcmVudCIsInN0eWxlIiwiZWRnZXNEYXRhIiwiY29ubmVjdGVkRWRnZXMiLCJtYXAiLCJkYXRhIiwiY2hpbGRyZW5EYXRhIiwiY2hpbGRyZW4iLCJhbmNlc3RvcnNEYXRhIiwiYW5jZXN0b3JzIiwiZGVzY2VuZGFudHNEYXRhIiwiZGVzY2VuZGFudHMiLCJzaWJsaW5nc0RhdGEiLCJzaWJsaW5ncyIsInRpbWVTdGFtcCIsIl9lbGUkanNvbiIsImpzb24iLCJjbGFzc2VzIiwiZ3JhYmJhYmxlIiwiZ3JvdXAiLCJsb2NrZWQiLCJwb3NpdGlvbiIsInNlbGVjdGVkIiwic2VsZWN0YWJsZSIsInBhcmVudERhdGEiLCJub2RlT2JqZWN0IiwiZ2VuZXJhdGVFZGdlIiwibWlkcG9pbnQiLCJpc0xvb3AiLCJpc1NpbXBsZSIsInNvdXJjZURhdGEiLCJzb3VyY2UiLCJzb3VyY2VFbmRwb2ludCIsInRhcmdldERhdGEiLCJ0YXJnZXRFbmRwb2ludCIsIl9lbGUkanNvbjIiLCJlZGdlT2JqZWN0IiwiY3kiLCJfdGhpczIiLCJfY3kiLCJ3aW5kb3ciLCJTRUxFQ1RfVEhSRVNIT0xEIiwiRVhURU5UX1RIUkVTSE9MRCIsInNlbGVjdGVkTm9kZXMiLCJjb2xsZWN0aW9uIiwic2VsZWN0ZWRFZGdlcyIsInJlZnJlc2hMYXlvdXQiLCJkZWJvdW5jZSIsIl90aGlzMiRwcm9wcyIsImF1dG9SZWZyZXNoTGF5b3V0IiwibGF5b3V0IiwicnVuIiwic2VuZFNlbGVjdGVkTm9kZXNEYXRhIiwibm9kZURhdGEiLCJlbCIsInNldFByb3BzIiwic2VsZWN0ZWROb2RlRGF0YSIsInNlbmRTZWxlY3RlZEVkZ2VzRGF0YSIsImVkZ2VEYXRhIiwic2VsZWN0ZWRFZGdlRGF0YSIsInNldEV4dGVudCIsImN5RXh0ZW50IiwiZXh0ZW50Iiwib3JpZ2luYWxNYXhab29tRm4iLCJtYXhab29tIiwib3JpZ2luYWxNaW5ab29tRm4iLCJtaW5ab29tIiwiZSIsImN1cnJlbnRNYXhab29tIiwiY2FsbCIsIl9wcmV2aW91c01heFpvb20iLCJ0cmlnZ2VyIiwiY3VycmVudE1pblpvb20iLCJfcHJldmlvdXNNaW5ab29tIiwib24iLCJ0YXBOb2RlIiwidGFwTm9kZURhdGEiLCJPYmplY3QiLCJhc3NpZ24iLCJ0YXBFZGdlIiwidGFwRWRnZURhdGEiLCJtb3VzZW92ZXJOb2RlRGF0YSIsIm1vdXNlb3ZlckVkZ2VEYXRhIiwiY2xlYXJPblVuaG92ZXIiLCJtZXJnZSIsInVubWVyZ2UiLCJlbGVtZW50cyIsIml0ZW0iLCJ6b29tIiwiZml0IiwiY3JlYXRlTWVudUl0ZW1zIiwiY3R4TWVudSIsInVwZGF0ZUNvbnRleHRNZW51RGF0YSIsIm5ld0NvbnRleHQiLCJjb250ZXh0TWVudURhdGEiLCJjb250ZXh0TWVudURlZmF1bHRGdW5jdGlvbnMiLCJyZW1vdmUiLCJjeVRhcmdldCIsImFkZF9ub2RlIiwicG9zIiwiY3lQb3NpdGlvbiIsImFkZCIsIngiLCJ5IiwiYWRkX2VkZ2UiLCJzZWxlY3RlZE5vZGVJZHMiLCJub2RlIiwiaWQiLCJsZW5ndGgiLCJjb25zb2xlIiwiZXJyb3IiLCJuZXdNZW51SXRlbXMiLCJfaXRlcmF0b3IiLCJfY3JlYXRlRm9yT2ZJdGVyYXRvckhlbHBlciIsIl9zdGVwIiwiX2xvb3AiLCJvbkNsaWNrRnVuY3Rpb24iLCJtZW51SXRlbUlkIiwiZWxlbWVudElkIiwiZWRnZVNvdXJjZSIsImVkZ2VUYXJnZXQiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsIm9uQ2xpY2siLCJjb25jYXQiLCJkYXNoQ3l0b3NjYXBlRnVuY3Rpb25zIiwib25DbGlja0N1c3RvbSIsIm5ld19pdGVtIiwiY29udGVudCIsImxhYmVsIiwidG9vbHRpcFRleHQiLCJzZWxlY3RvciIsImNvcmVBc1dlbGwiLCJfaXRlcmF0b3IyIiwiYXZhaWxhYmxlT24iLCJfc3RlcDIiLCJzIiwibiIsImRvbmUiLCJlcnIiLCJmIiwicHVzaCIsInRvZ2dsZSIsInJlc3BvbnNpdmUiLCJpbWFnZVR5cGUiLCJpbWFnZU9wdGlvbnMiLCJhY3Rpb25zVG9QZXJmb3JtIiwiZmlsZU5hbWUiLCJfdGhpczMiLCJvcHRpb25zIiwiZGVzaXJlZE91dHB1dCIsIm91dHB1dCIsImRvd25sb2FkSW1hZ2UiLCJzdG9yZUltYWdlIiwicG5nIiwianBnIiwic3ZnIiwiZk5hbWUiLCJkb3dubG9hZEJsb2IiLCJibG9iIiwiQmxvYiIsInR5cGUiLCJyZWFkZXIiLCJGaWxlUmVhZGVyIiwib25sb2FkIiwiY2FsbGJhY2tEYXRhIiwicmVzdWx0IiwicmVwbGFjZSIsImltYWdlRGF0YSIsInJlYWRBc0RhdGFVUkwiLCJkb3dubG9hZExpbmsiLCJkb2N1bWVudCIsImNyZWF0ZUVsZW1lbnQiLCJib2R5IiwiYXBwZW5kQ2hpbGQiLCJ1cmwiLCJVUkwiLCJjcmVhdGVPYmplY3RVUkwiLCJocmVmIiwiZG93bmxvYWQiLCJjbGljayIsInJldm9rZU9iamVjdFVSTCIsInJlbW92ZUNoaWxkIiwidXBkYXRlQ29udGV4dE1lbnUiLCJjb250ZXh0TWVudSIsIm1lbnVJdGVtcyIsIm1lbnVJdGVtQ2xhc3NlcyIsImdyYXBoT3V0T2ZWaWV3IiwiY3lXaWR0aCIsIndpZHRoIiwiY3lIZWlnaHQiLCJoZWlnaHQiLCJlbEJveCIsInJlbmRlcmVkQm91bmRpbmdib3giLCJ4MSIsInkxIiwieDIiLCJ5MiIsImNvbXBvbmVudERpZFVwZGF0ZSIsInByZXZQcm9wcyIsIl90aGlzJHByb3BzIiwiaXNFcXVhbCIsImNvbXBvbmVudERpZE1vdW50IiwicmVuZGVyIiwiX3RoaXMkcHJvcHMyIiwiY2xhc3NOYW1lIiwic3R5bGVzaGVldCIsInBhbiIsInBhbm5pbmdFbmFibGVkIiwidXNlclBhbm5pbmdFbmFibGVkIiwiem9vbWluZ0VuYWJsZWQiLCJ1c2VyWm9vbWluZ0VuYWJsZWQiLCJ3aGVlbFNlbnNpdGl2aXR5IiwiYm94U2VsZWN0aW9uRW5hYmxlZCIsImF1dG91bmdyYWJpZnkiLCJhdXRvbG9jayIsImF1dG91bnNlbGVjdGlmeSIsImdlbmVyYXRlSW1hZ2UiLCJrZXlzIiwiYWN0aW9uIiwiZmlsZW5hbWUiLCJub3JtYWxpemVFbGVtZW50cyIsInByb3BUeXBlcyIsInN0cmluZyIsIm9iamVjdCIsImZ1bmMiLCJvbmVPZlR5cGUiLCJhcnJheU9mIiwic2hhcGUiLCJudW1iZXIiLCJib29sIiwiZXhhY3QiLCJub2RlcyIsImFycmF5IiwiZWRnZXMiLCJpc1JlcXVpcmVkIiwibmFtZSIsIm9uZU9mIiwicGFkZGluZyIsImFuaW1hdGUiLCJhbmltYXRpb25EdXJhdGlvbiIsImJvdW5kaW5nQm94IiwiZGVmYXVsdFByb3BzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/lib/components/Cytoscape.react.js\n"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _src_assets_contextmenu_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../src/assets/contextmenu.css */ \"./src/assets/contextmenu.css\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var react_cytoscapejs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-cytoscapejs */ \"./node_modules/react-cytoscapejs/dist/react-cytoscape.modern.js\");\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! lodash */ \"./node_modules/lodash/lodash.js\");\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var uuid__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! uuid */ \"./node_modules/uuid/dist/esm-browser/v4.js\");\n/* harmony import */ var _cyResponsive_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../cyResponsive.js */ \"./src/lib/cyResponsive.js\");\n/* harmony import */ var _ungap_custom_elements__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @ungap/custom-elements */ \"./node_modules/@ungap/custom-elements/index.js\");\n/* harmony import */ var _ungap_custom_elements__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_ungap_custom_elements__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _cyleaflet_clientside_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../cyleaflet_clientside.js */ \"./src/lib/cyleaflet_clientside.js\");\n/* harmony import */ var _cyleaflet_clientside_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_cyleaflet_clientside_js__WEBPACK_IMPORTED_MODULE_6__);\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : String(i); }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n/**\n * JavaScript Requirements: cytoscape, cytoscape-svg\n * React.js requirements: react-cytoscapejs\n */\n\n\n\n\n\n\n\n\n// Polyfill so that context menu extension works in Safari\n\nvar cytoscape = __webpack_require__(/*! cytoscape */ \"./node_modules/cytoscape/dist/cytoscape.cjs.js\");\nvar contextMenus = __webpack_require__(/*! cytoscape-context-menus */ \"./node_modules/cytoscape-context-menus/cytoscape-context-menus.js\");\n\n// Clientside callback functions for CyLeaflet AIO component\n\n\n// register extension\ncontextMenus(cytoscape);\n/**\n * A Component Library for Dash aimed at facilitating network visualization in\n * Python, wrapped around [Cytoscape.js](http://js.cytoscape.org/).\n */\nvar Cytoscape = /*#__PURE__*/function (_Component) {\n _inherits(Cytoscape, _Component);\n function Cytoscape(props) {\n var _this;\n _classCallCheck(this, Cytoscape);\n _this = _callSuper(this, Cytoscape, [props]);\n _this.handleCy = _this.handleCy.bind(_assertThisInitialized(_this));\n _this._handleCyCalled = false;\n _this.handleImageGeneration = _this.handleImageGeneration.bind(_assertThisInitialized(_this));\n _this.cyResponsiveClass = false;\n return _this;\n }\n _createClass(Cytoscape, [{\n key: \"generateNode\",\n value: function generateNode(event) {\n var ele = event.target;\n var isParent = ele.isParent(),\n isChildless = ele.isChildless(),\n isChild = ele.isChild(),\n isOrphan = ele.isOrphan(),\n renderedPosition = ele.renderedPosition(),\n relativePosition = ele.relativePosition(),\n parent = ele.parent(),\n style = ele.style();\n\n // Trim down the element objects to only the data contained\n var edgesData = ele.connectedEdges().map(function (ele) {\n return ele.data();\n });\n var childrenData = ele.children().map(function (ele) {\n return ele.data();\n });\n var ancestorsData = ele.ancestors().map(function (ele) {\n return ele.data();\n });\n var descendantsData = ele.descendants().map(function (ele) {\n return ele.data();\n });\n var siblingsData = ele.siblings().map(function (ele) {\n return ele.data();\n });\n var timeStamp = event.timeStamp;\n var _ele$json = ele.json(),\n classes = _ele$json.classes,\n data = _ele$json.data,\n grabbable = _ele$json.grabbable,\n group = _ele$json.group,\n locked = _ele$json.locked,\n position = _ele$json.position,\n selected = _ele$json.selected,\n selectable = _ele$json.selectable;\n var parentData;\n if (parent) {\n parentData = parent.data();\n } else {\n parentData = null;\n }\n var nodeObject = {\n // Nodes attributes\n edgesData: edgesData,\n renderedPosition: renderedPosition,\n timeStamp: timeStamp,\n // From ele.json()\n classes: classes,\n data: data,\n grabbable: grabbable,\n group: group,\n locked: locked,\n position: position,\n selectable: selectable,\n selected: selected,\n // Compound Nodes additional attributes\n ancestorsData: ancestorsData,\n childrenData: childrenData,\n descendantsData: descendantsData,\n parentData: parentData,\n siblingsData: siblingsData,\n isParent: isParent,\n isChildless: isChildless,\n isChild: isChild,\n isOrphan: isOrphan,\n relativePosition: relativePosition,\n // Styling\n style: style\n };\n return nodeObject;\n }\n }, {\n key: \"generateEdge\",\n value: function generateEdge(event) {\n var ele = event.target;\n var midpoint = ele.midpoint(),\n isLoop = ele.isLoop(),\n isSimple = ele.isSimple(),\n sourceData = ele.source().data(),\n sourceEndpoint = ele.sourceEndpoint(),\n style = ele.style(),\n targetData = ele.target().data(),\n targetEndpoint = ele.targetEndpoint();\n var timeStamp = event.timeStamp;\n var _ele$json2 = ele.json(),\n classes = _ele$json2.classes,\n data = _ele$json2.data,\n grabbable = _ele$json2.grabbable,\n group = _ele$json2.group,\n locked = _ele$json2.locked,\n selectable = _ele$json2.selectable,\n selected = _ele$json2.selected;\n var edgeObject = {\n // Edges attributes\n isLoop: isLoop,\n isSimple: isSimple,\n midpoint: midpoint,\n sourceData: sourceData,\n sourceEndpoint: sourceEndpoint,\n targetData: targetData,\n targetEndpoint: targetEndpoint,\n timeStamp: timeStamp,\n // From ele.json()\n classes: classes,\n data: data,\n grabbable: grabbable,\n group: group,\n locked: locked,\n selectable: selectable,\n selected: selected,\n // Styling\n style: style\n };\n return edgeObject;\n }\n }, {\n key: \"handleCy\",\n value: function handleCy(cy) {\n var _this2 = this;\n // If the cy pointer has not been modified, and handleCy has already\n // been called before, than we don't run this function.\n if (cy === this._cy && this._handleCyCalled) {\n return;\n }\n this._cy = cy;\n window.cy = cy;\n this._handleCyCalled = true;\n\n // ///////////////////////////////////// CONSTANTS /////////////////////////////////////////\n var SELECT_THRESHOLD = 100;\n var EXTENT_THRESHOLD = 5;\n var UPDATE_ELEMENTS_THRESHOLD = 100;\n var RESIZE_THRESHOLD = 50;\n var selectedNodes = cy.collection();\n var selectedEdges = cy.collection();\n\n // ///////////////////////////////////// FUNCTIONS /////////////////////////////////////////\n var refreshLayout = lodash__WEBPACK_IMPORTED_MODULE_3___default().debounce(function () {\n /**\n * Refresh Layout if needed\n */\n var _this2$props = _this2.props,\n autoRefreshLayout = _this2$props.autoRefreshLayout,\n layout = _this2$props.layout;\n if (autoRefreshLayout) {\n cy.layout(layout).run();\n }\n }, SELECT_THRESHOLD);\n var sendSelectedNodesData = lodash__WEBPACK_IMPORTED_MODULE_3___default().debounce(function () {\n /**\n This function is repetitively called every time a node is selected\n or unselected, but keeps being debounced if it is called again\n within 100 ms (given by SELECT_THRESHOLD). Effectively, it only\n runs when all the nodes have been correctly selected/unselected and\n added/removed from the selectedNodes collection, and then updates\n the selectedNodeData prop.\n */\n var nodeData = selectedNodes.map(function (el) {\n return el.data();\n });\n _this2.props.setProps({\n selectedNodeData: nodeData\n });\n }, SELECT_THRESHOLD);\n var sendSelectedEdgesData = lodash__WEBPACK_IMPORTED_MODULE_3___default().debounce(function () {\n var edgeData = selectedEdges.map(function (el) {\n return el.data();\n });\n _this2.props.setProps({\n selectedEdgeData: edgeData\n });\n }, SELECT_THRESHOLD);\n var setExtent = lodash__WEBPACK_IMPORTED_MODULE_3___default().debounce(function (cyExtent) {\n _this2.props.setProps({\n extent: cyExtent\n });\n }, EXTENT_THRESHOLD);\n var updateElements = lodash__WEBPACK_IMPORTED_MODULE_3___default().debounce(function () {\n _this2.props.setProps({\n elements: cy.elements('').map(function (item) {\n if (item.json().group === 'nodes') {\n return {\n data: item.json().data,\n position: item.json().position\n };\n }\n return {\n data: item.json().data,\n position: void 0\n };\n })\n });\n }, UPDATE_ELEMENTS_THRESHOLD);\n var resize = lodash__WEBPACK_IMPORTED_MODULE_3___default().debounce(function () {\n cy.resize();\n }, RESIZE_THRESHOLD);\n\n // Store the original maxZoom and minZoom functions\n var originalMaxZoomFn = cy.maxZoom;\n var originalMinZoomFn = cy.minZoom;\n\n // Override the maxZoom function to trigger maxZoomChange custom event\n cy.maxZoom = function (e) {\n var currentMaxZoom = originalMaxZoomFn.call(cy, e);\n\n // Trigger your custom event if the current max zoom level is different from the\n // previously stored max zoom level\n if (currentMaxZoom !== cy._previousMaxZoom) {\n cy._previousMaxZoom = currentMaxZoom;\n cy.trigger('minMaxZoomChange');\n }\n return currentMaxZoom;\n };\n\n // Override the minZoom function to trigger minZoomChange custom event\n cy.minZoom = function (e) {\n var currentMinZoom = originalMinZoomFn.call(cy, e);\n\n // Trigger your custom event if the current min zoom level is different from the\n // previously stored min zoom level\n if (currentMinZoom !== cy._previousMinZoom) {\n cy._previousMinZoom = currentMinZoom;\n cy.trigger('minMaxZoomChange');\n }\n return currentMinZoom;\n };\n\n // /////////////////////////////////////// EVENTS //////////////////////////////////////////\n\n cy.on('tap', 'node', function (event) {\n var nodeObject = _this2.generateNode(event);\n _this2.props.setProps({\n tapNode: nodeObject,\n tapNodeData: Object.assign({}, nodeObject.data, {\n timeStamp: nodeObject.timeStamp\n })\n });\n });\n cy.on('tap', 'edge', function (event) {\n var edgeObject = _this2.generateEdge(event);\n _this2.props.setProps({\n tapEdge: edgeObject,\n tapEdgeData: Object.assign({}, edgeObject.data, {\n timeStamp: edgeObject.timeStamp\n })\n });\n });\n cy.on('mouseover', 'node', function (event) {\n _this2.props.setProps({\n mouseoverNodeData: Object.assign({}, event.target.data(), {\n timeStamp: event.timeStamp\n })\n });\n });\n cy.on('mouseover', 'edge', function (event) {\n _this2.props.setProps({\n mouseoverEdgeData: Object.assign({}, event.target.data(), {\n timeStamp: event.timeStamp\n })\n });\n });\n cy.on('mouseout', 'node', function (_) {\n if (_this2.props.clearOnUnhover === true) {\n _this2.props.setProps({\n mouseoverNodeData: null\n });\n }\n });\n cy.on('mouseout', 'edge', function (_) {\n if (_this2.props.clearOnUnhover === true) {\n _this2.props.setProps({\n mouseoverEdgeData: null\n });\n }\n });\n cy.on('select', 'node', function (event) {\n var ele = event.target;\n selectedNodes.merge(ele);\n sendSelectedNodesData();\n });\n cy.on('unselect remove', 'node', function (event) {\n var ele = event.target;\n selectedNodes.unmerge(ele);\n sendSelectedNodesData();\n });\n cy.on('select', 'edge', function (event) {\n var ele = event.target;\n selectedEdges.merge(ele);\n sendSelectedEdgesData();\n });\n cy.on('unselect remove', 'edge', function (event) {\n var ele = event.target;\n selectedEdges.unmerge(ele);\n sendSelectedEdgesData();\n });\n cy.on('add remove', function () {\n refreshLayout();\n });\n cy.on('dragfree add remove', function (_) {\n updateElements();\n });\n cy.on('resize viewport', function () {\n setExtent(cy.extent());\n });\n cy.on('tapstart', function () {\n resize();\n });\n\n // Refresh layout if current zoom is out of boundaries\n cy.on('minMaxZoomChange', function () {\n var zoom = cy.zoom();\n if (zoom > cy.maxZoom() || zoom < cy.minZoom()) {\n cy.fit();\n }\n });\n this.createMenuItems = function (ctxMenu) {\n var updateContextMenuData = function updateContextMenuData(newContext) {\n _this2.props.setProps({\n contextMenuData: newContext\n });\n };\n var contextMenuDefaultFunctions = {\n remove: function remove(event) {\n var target = event.target || event.cyTarget;\n target.remove();\n },\n add_node: function add_node(event) {\n var pos = event.position || event.cyPosition;\n cy.add({\n data: {\n group: 'nodes'\n },\n position: {\n x: pos.x,\n y: pos.y\n }\n });\n },\n add_edge: function add_edge() {\n var selectedNodeIds = selectedNodes.map(function (node) {\n return node.id();\n });\n if (selectedNodes.length === 0) {\n console.error('Error: No nodes selected, cannot add edge');\n } else if (selectedNodes.length === 1) {\n cy.add({\n data: {\n id: (0,uuid__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(),\n group: 'edges',\n source: selectedNodeIds[0],\n target: selectedNodeIds[0]\n }\n });\n } else if (selectedNodes.length === 2) {\n cy.add({\n data: {\n id: (0,uuid__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(),\n group: 'edges',\n source: selectedNodeIds[0],\n target: selectedNodeIds[1]\n }\n });\n } else {\n console.error('Error: more than 2 nodes selected, cannot add edge');\n }\n }\n };\n var newMenuItems = [];\n var _iterator = _createForOfIteratorHelper(ctxMenu),\n _step;\n try {\n var _loop = function _loop() {\n var item = _step.value;\n var onClickFunction;\n // return data so a user can define a custom on click function in Python\n // if onClick or on onClickCustom are not specified\n onClickFunction = function onClickFunction(event) {\n updateContextMenuData({\n menuItemId: item.id,\n x: event.position.x,\n y: event.position.y,\n timeStamp: event.timeStamp,\n elementId: event.target.data().id,\n edgeSource: event.target.data().source,\n edgeTarget: event.target.data().target\n });\n };\n // use default javascript function as onClickFunction\n if (Object.prototype.hasOwnProperty.call(item, 'onClick')) {\n if (Object.prototype.hasOwnProperty.call(contextMenuDefaultFunctions, item.onClick)) {\n onClickFunction = contextMenuDefaultFunctions[item.onClick];\n } else {\n console.error(\"onClick function \".concat(item.onClick, \" is not defined\"));\n }\n }\n // use user-defined Javascript function in a namespace under assets/ as onClickFunction\n else if (Object.prototype.hasOwnProperty.call(item, 'onClickCustom')) {\n if (Object.prototype.hasOwnProperty.call(window, 'dashCytoscapeFunctions') && Object.prototype.hasOwnProperty.call(window.dashCytoscapeFunctions, item.onClickCustom)) {\n onClickFunction = window.dashCytoscapeFunctions[item.onClickCustom];\n } else {\n console.error(\"onClickCustom function \".concat(item.onClickCustom, \" is not defined\"));\n }\n }\n var new_item = {\n id: item.id,\n content: item.label,\n tooltipText: item.tooltipText,\n selector: '',\n onClickFunction: onClickFunction,\n coreAsWell: false\n };\n if (Object.prototype.hasOwnProperty.call(item, 'availableOn')) {\n var _iterator2 = _createForOfIteratorHelper(item.availableOn),\n _step2;\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var selector = _step2.value;\n if (selector === 'edge') {\n if (new_item.selector.length > 0) {\n new_item.selector = new_item.selector + ', ';\n }\n new_item.selector = new_item.selector + 'edge';\n } else if (selector === 'node') {\n if (new_item.selector.length > 0) {\n new_item.selector = new_item.selector + ', ';\n }\n new_item.selector = new_item.selector + 'node';\n } else if (selector === 'canvas') {\n new_item.coreAsWell = true;\n } else {\n console.error(\"Error: selector \".concat(selector, \" is not available. Choose one of 'node', 'edge' or 'canvas'.\"));\n }\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n }\n newMenuItems.push(new_item);\n };\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n _loop();\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n return newMenuItems;\n };\n this.cyResponsiveClass = new _cyResponsive_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"](cy);\n this.cyResponsiveClass.toggle(this.props.responsive);\n setExtent(cy.extent());\n }\n }, {\n key: \"handleImageGeneration\",\n value: function handleImageGeneration(imageType, imageOptions, actionsToPerform, fileName) {\n var _this3 = this;\n var options = {};\n if (imageOptions) {\n options = imageOptions;\n }\n var desiredOutput = options.output;\n options.output = 'blob';\n var downloadImage;\n var storeImage;\n switch (actionsToPerform) {\n case 'store':\n downloadImage = false;\n storeImage = true;\n break;\n case 'download':\n downloadImage = true;\n storeImage = false;\n break;\n case 'both':\n downloadImage = true;\n storeImage = true;\n break;\n default:\n downloadImage = false;\n storeImage = true;\n break;\n }\n var output;\n if (imageType === 'png') {\n output = this._cy.png(options);\n }\n if (imageType === 'jpg' || imageType === 'jpeg') {\n output = this._cy.jpg(options);\n }\n // only works when svg is imported (see lib/extra_index.js)\n if (imageType === 'svg') {\n output = this._cy.svg(options);\n }\n\n /*\n * If output is empty because of bad options or a cytoscape error,\n * skip any download or storage steps.\n */\n if (output && downloadImage) {\n /*\n * Downloading is initiated client-side because the image is generated at\n * the client. This avoids transferring a potentially large image\n * to the server and back again through a callback.\n */\n var fName = fileName;\n if (!fileName) {\n fName = 'cyto';\n }\n if (imageType !== 'svg') {\n this.downloadBlob(output, fName + '.' + imageType);\n } else {\n var blob = new Blob([output], {\n type: 'image/svg+xml;charset=utf-8'\n });\n this.downloadBlob(blob, fName + '.' + imageType);\n }\n }\n if (output && storeImage) {\n // Default output type if unspecified\n if (!desiredOutput) {\n desiredOutput = 'base64uri';\n }\n if (!(desiredOutput === 'base64uri' || desiredOutput === 'base64')) {\n return;\n }\n\n /*\n * Convert blob to base64uri or base64 string to store the image data.\n * Thank you, base64guru https://base64.guru/developers/javascript/examples/encode-blob\n */\n var reader = new FileReader();\n reader.onload = function () {\n /* FileReader is asynchronous, so the read function is non-blocking.\n * If this code block is placed after the read command, it\n * may result in empty output because the blob has not been loaded yet.\n */\n var callbackData = reader.result;\n if (desiredOutput === 'base64') {\n callbackData = callbackData.replace(/^data:.+;base64,/, '');\n }\n _this3.props.setProps({\n imageData: callbackData\n });\n };\n reader.readAsDataURL(output);\n }\n }\n }, {\n key: \"downloadBlob\",\n value: function downloadBlob(blob, fileName) {\n /*\n * Download blob as file by dynamically creating link.\n * Chrome does not open data URLs when JS opens a new tab directed\n * at the data URL, so this is an alternate implementation\n * that doesn't require extra packages. It may not behave in\n * exactly the same way across browsers (might display image in new tab\n * intead of downloading as a file).\n * Thank you, koldev https://jsfiddle.net/koldev/cW7W5/\n */\n var downloadLink = document.createElement('a');\n downloadLink.style = 'display: none';\n document.body.appendChild(downloadLink);\n var url = window.URL.createObjectURL(blob);\n downloadLink.href = url;\n downloadLink.download = fileName;\n downloadLink.click();\n window.URL.revokeObjectURL(url);\n document.body.removeChild(downloadLink);\n }\n }, {\n key: \"updateContextMenu\",\n value: function updateContextMenu(contextMenu) {\n this._cy.contextMenus({\n menuItems: this.createMenuItems(contextMenu),\n menuItemClasses: ['custom-menu-item']\n });\n }\n\n // Returns true if there is no overlap between the element bounding box\n // and the rendered area of the graph, meaning the graph is entirely outside the viewport;\n // returns false otherwise\n }, {\n key: \"graphOutOfView\",\n value: function graphOutOfView() {\n var cyWidth = this._cy.width();\n var cyHeight = this._cy.height();\n var elBox = this._cy.elements().renderedBoundingbox();\n return elBox.x1 > cyWidth || elBox.y1 > cyHeight || elBox.x2 < 0 || elBox.y2 < 0;\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n var _this$props = this.props,\n contextMenu = _this$props.contextMenu,\n elements = _this$props.elements;\n if (!lodash__WEBPACK_IMPORTED_MODULE_3___default().isEqual(prevProps.contextMenu, contextMenu) && this._cy) {\n this.updateContextMenu(contextMenu);\n }\n if (!lodash__WEBPACK_IMPORTED_MODULE_3___default().isEqual(prevProps.elements, elements) && this._cy) {\n // If elements were updated, and the new graph is *entirely* outside the viewport,\n // fit the viewport to the new elements\n if (this.graphOutOfView()) {\n this._cy.fit();\n }\n }\n }\n }, {\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var contextMenu = this.props.contextMenu;\n if (this._cy && contextMenu.length > 0) {\n this.updateContextMenu(contextMenu);\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props2 = this.props,\n id = _this$props2.id,\n style = _this$props2.style,\n className = _this$props2.className,\n elements = _this$props2.elements,\n stylesheet = _this$props2.stylesheet,\n layout = _this$props2.layout,\n contextMenu = _this$props2.contextMenu,\n contextMenuData = _this$props2.contextMenuData,\n pan = _this$props2.pan,\n zoom = _this$props2.zoom,\n panningEnabled = _this$props2.panningEnabled,\n userPanningEnabled = _this$props2.userPanningEnabled,\n minZoom = _this$props2.minZoom,\n maxZoom = _this$props2.maxZoom,\n zoomingEnabled = _this$props2.zoomingEnabled,\n userZoomingEnabled = _this$props2.userZoomingEnabled,\n wheelSensitivity = _this$props2.wheelSensitivity,\n boxSelectionEnabled = _this$props2.boxSelectionEnabled,\n autoungrabify = _this$props2.autoungrabify,\n autolock = _this$props2.autolock,\n autounselectify = _this$props2.autounselectify,\n generateImage = _this$props2.generateImage,\n responsive = _this$props2.responsive;\n if (Object.keys(generateImage).length > 0) {\n // If no cytoscape object has been created yet, an image cannot be generated,\n // so generateImage will be ignored and cleared.\n this.props.setProps({\n generateImage: {}\n });\n if (this._cy) {\n this.handleImageGeneration(generateImage.type, generateImage.options, generateImage.action, generateImage.filename);\n }\n }\n if (this.cyResponsiveClass) {\n this.cyResponsiveClass.toggle(responsive);\n }\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(react_cytoscapejs__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n id: id,\n cy: this.handleCy,\n className: className,\n style: style,\n elements: react_cytoscapejs__WEBPACK_IMPORTED_MODULE_2__[\"default\"].normalizeElements(elements),\n stylesheet: stylesheet,\n layout: layout,\n contextMenu: contextMenu,\n contextMenuData: contextMenuData,\n pan: pan,\n zoom: zoom,\n panningEnabled: panningEnabled,\n userPanningEnabled: userPanningEnabled,\n minZoom: minZoom,\n maxZoom: maxZoom,\n zoomingEnabled: zoomingEnabled,\n userZoomingEnabled: userZoomingEnabled,\n wheelSensitivity: wheelSensitivity,\n boxSelectionEnabled: boxSelectionEnabled,\n autoungrabify: autoungrabify,\n autolock: autolock,\n autounselectify: autounselectify\n });\n }\n }]);\n return Cytoscape;\n}(react__WEBPACK_IMPORTED_MODULE_1__.Component);\nCytoscape.propTypes = {\n // HTML attribute props\n\n /**\n * The ID used to identify this component in Dash callbacks.\n */\n id: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /**\n * Sets the class name of the element (the value of an element's html\n * class attribute).\n */\n className: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /**\n * Add inline styles to the root element.\n */\n style: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n // Dash specific props\n\n /**\n * Dash-assigned callback that should be called whenever any of the\n * properties change.\n */\n setProps: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().func),\n // Common props\n\n /**\n * A list of dictionaries representing the elements of the networks. Each dictionary describes an element, and\n * specifies its purpose. The [official Cytoscape.js documentation](https://js.cytoscape.org/#notation/elements-json)\n * offers an extensive overview and examples of element declaration.\n * Alternatively, a dictionary with the format { 'nodes': [], 'edges': [] } is allowed at initialization,\n * but arrays remain the recommended format.\n */\n elements: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_8___default().arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_8___default().shape({\n /**\n * Either 'nodes' or 'edges'. If not given, it's automatically inferred.\n */\n group: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** Element specific data.*/\n data: prop_types__WEBPACK_IMPORTED_MODULE_8___default().shape({\n /** Reference to the element, useful for selectors and edges. Randomly assigned if not given.*/\n id: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /**\n * Optional name for the element, useful when `data(label)` is given to a style's `content`\n * or `label`. It is only a convention. */\n label: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** Only for nodes. Optional reference to another node. Needed to create compound nodes. */\n parent: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** Only for edges. The id of the source node, which is where the edge starts. */\n source: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** Only for edges. The id of the target node, where the edge ends. */\n target: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string)\n }),\n /** Only for nodes. The position of the node. */\n position: prop_types__WEBPACK_IMPORTED_MODULE_8___default().shape({\n /** The x-coordinate of the node. */\n x: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /** The y-coordinate of the node. */\n y: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number)\n }),\n /** If the element is selected upon initialisation. */\n selected: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** If the element can be selected. */\n selectable: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Only for nodes. If the position is immutable. */\n locked: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Only for nodes. If the node can be grabbed and moved by the user. */\n grabbable: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * Space separated string of class names of the element. Those classes can be selected\n * by a style selector.\n */\n classes: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string)\n })), prop_types__WEBPACK_IMPORTED_MODULE_8___default().exact({\n nodes: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array),\n edges: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array)\n })]),\n /**\n * A list of dictionaries representing the styles of the elements.\n * Each dictionary requires the following keys: `selector` and `style`.\n *\n * Both the [selector](https://js.cytoscape.org/#selectors) and\n * the [style](https://js.cytoscape.org/#style/node-body) are\n * exhaustively documented in the Cytoscape.js docs. Although methods such\n * as `cy.elements(...)` and `cy.filter(...)` are not available, the selector\n * string syntax stays the same.\n */\n stylesheet: prop_types__WEBPACK_IMPORTED_MODULE_8___default().arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_8___default().exact({\n /**\n * Which elements you are styling. Generally, you select a group of elements (node, edges, both),\n * a class (that you declare in the element dictionary), or an element by ID.\n */\n selector: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string).isRequired,\n /**\n * What aspects of the elements you want to modify. This could be the size or\n * color of a node, the shape of an edge arrow, or many more.\n */\n style: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object).isRequired\n })),\n /**\n * A dictionary specifying how to set the position of the elements in your\n * graph. The `'name'` key is required, and indicates which layout (algorithm) to\n * use. The keys accepted by `layout` vary depending on the algorithm, but these\n * keys are accepted by all layouts: `fit`, `padding`, `animate`, `animationDuration`,\n * `boundingBox`.\n *\n * The complete list of layouts and their accepted options are available on the\n * [Cytoscape.js docs](https://js.cytoscape.org/#layouts) . For the external layouts,\n * the options are listed in the \"API\" section of the README.\n * Note that certain keys are not supported in Dash since the value is a JavaScript\n * function or a callback. Please visit this\n * [issue](https://github.com/plotly/dash-cytoscape/issues/25) for more information.\n */\n layout: prop_types__WEBPACK_IMPORTED_MODULE_8___default().shape({\n /**\n * The layouts available by default are:\n * `random`: Randomly assigns positions.\n * `preset`: Assigns position based on the `position` key in element dictionaries.\n * `circle`: Single-level circle, with optional radius.\n * `concentric`: Multi-level circle, with optional radius.\n * `grid`: Square grid, optionally with numbers of `rows` and `cols`.\n * `breadthfirst`: Tree structure built using BFS, with optional `roots`.\n * `cose`: Force-directed physics simulation.\n *\n * Some external layouts are also included. To use them, run\n * `dash_cytoscape.load_extra_layouts()` before creating your Dash app. Be careful about\n * using the extra layouts when not necessary, since they require supplementary bandwidth\n * for loading, which impacts the startup time of the app.\n * The external layouts are:\n * [cose-bilkent](https://github.com/cytoscape/cytoscape.js-cose-bilkent),\n * [fcose](https://github.com/iVis-at-Bilkent/cytoscape.js-fcose),\n * [cola](https://github.com/cytoscape/cytoscape.js-cola),\n * [euler](https://github.com/cytoscape/cytoscape.js-dagre),\n * [spread](https://github.com/cytoscape/cytoscape.js-spread),\n * [dagre](https://github.com/cytoscape/cytoscape.js-dagre),\n * [klay](https://github.com/cytoscape/cytoscape.js-klay),\n */\n name: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOf(['random', 'preset', 'circle', 'concentric', 'grid', 'breadthfirst', 'cose', 'cose-bilkent', 'fcose', 'cola', 'euler', 'spread', 'dagre', 'klay']).isRequired,\n /** Whether to render the nodes in order to fit the canvas. */\n fit: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Padding around the sides of the canvas, if fit is enabled. */\n padding: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /** Whether to animate change in position when the layout changes. */\n animate: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Duration of animation in milliseconds, if enabled. */\n animationDuration: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /**\n * How to constrain the layout in a specific area. Keys accepted are either\n * `x1, y1, x2, y2` or `x1, y1, w, h`, all of which receive a pixel value.\n */\n boundingBox: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object)\n }),\n /**\n * Define a custom context menu. The behaviour of each menu item can be defined in 1 of 3 ways.\n * 1. By passing a string to onClick that refers to one of the built-in Javascript functions.\n * 2. By passing a string to onClickCustom that refers to one of the user-defined functions in a namespace.\n * 3. By omitting both of these properties; this will update the contextMenuData property and trigger a Dash callback.\n */\n contextMenu: prop_types__WEBPACK_IMPORTED_MODULE_8___default().arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_8___default().exact({\n /** ID of the menu item in the context menu */\n id: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string).isRequired,\n /** The label on the context menu item*/\n label: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string).isRequired,\n /** The tooltip text when hovering on top of a context menu item */\n tooltipText: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** A list containing either 'node', 'edge',and/or 'canvas'. This will determine where the context\n * menu item will show up.\n */\n availableOn: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array),\n /** Specify which built-in JavaScript function to use as behaviour for the context\n * menu item. One of 'remove', 'add_node', or 'add_edge'\n */\n onClick: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** Specify which user-defined Javascript function to use in the dashCytoscapeFunctions\n * namespace as behaviour for the context menu item\n */\n onClickCustom: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string)\n })),\n /**\n * Retrieve relevant data when a context menu item is clicked. Read-only.\n */\n contextMenuData: prop_types__WEBPACK_IMPORTED_MODULE_8___default().exact({\n /** ID of the menu item in the context menu */\n menuItemId: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** x-position of the context click */\n x: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /** y-position of the context click */\n y: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /** Timestamp of context click*/\n timeStamp: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /** Element ID on context click if the context click was on an element.\n * If context click was on white space, this property is not returned\n */\n elementId: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** Node ID of the edge source if the clicked element is an edge,\n * or else this property is not returned*/\n edgeSource: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** Node ID of the edge target if the clicked element is an edge,\n * or else this property is not returned*/\n edgeTarget: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string)\n }),\n // Viewport Manipulation\n\n /**\n * Dictionary indicating the initial panning position of the graph. The\n * following keys are accepted:\n */\n pan: prop_types__WEBPACK_IMPORTED_MODULE_8___default().exact({\n /** The x-coordinate of the node */\n x: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /** The y-coordinate of the node */\n y: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number)\n }),\n /**\n * The initial zoom level of the graph. You can set `minZoom` and\n * `maxZoom` to set restrictions on the zoom level.\n */\n zoom: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n // Viewport Mutability and gesture Toggling\n /**\n * Whether panning the graph is enabled (i.e., the position of the graph is\n * mutable overall).\n */\n panningEnabled: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * Whether user events (e.g. dragging the graph background) are allowed to\n * pan the graph.\n */\n userPanningEnabled: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * A minimum bound on the zoom level of the graph. The viewport can not be\n * scaled smaller than this zoom level.\n */\n minZoom: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /**\n * A maximum bound on the zoom level of the graph. The viewport can not be\n * scaled larger than this zoom level.\n */\n maxZoom: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /**\n * Whether zooming the graph is enabled (i.e., the zoom level of the graph\n * is mutable overall).\n */\n zoomingEnabled: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * Whether user events (e.g. dragging the graph background) are allowed\n * to pan the graph.\n */\n userZoomingEnabled: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * Changes the scroll wheel sensitivity when zooming.\n */\n wheelSensitivity: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /**\n * Whether box selection (i.e. drag a box overlay around, and release it\n * to select) is enabled. If enabled, the user must taphold to pan the graph.\n */\n boxSelectionEnabled: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * Whether nodes should be ungrabified (not grabbable by user) by\n * default (if true, overrides individual node state).\n */\n autoungrabify: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * Whether nodes should be locked (not draggable at all) by default\n * (if true, overrides individual node state).\n */\n autolock: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * Whether nodes should be unselectified (immutable selection state) by\n * default (if true, overrides individual element state).\n */\n autounselectify: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * Whether the layout should be refreshed when elements are added or removed.\n */\n autoRefreshLayout: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n // User Events Props\n\n /**\n * The complete node dictionary returned when you tap or click it. Read-only.\n */\n tapNode: prop_types__WEBPACK_IMPORTED_MODULE_8___default().exact({\n /** node specific item */\n edgesData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array),\n /** node specific item */\n renderedPosition: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** node specific item */\n timeStamp: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /** General item (for all elements) */\n classes: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** General item (for all elements) */\n data: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** General item (for all elements) */\n grabbable: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** General item (for all elements) */\n group: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** General item (for all elements) */\n locked: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** General item (for all elements) */\n position: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** General item (for all elements) */\n selectable: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** General item (for all elements) */\n selected: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** General item (for all elements) */\n style: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** Item for compound nodes */\n ancestorsData: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_8___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array)]),\n /** Item for compound nodes */\n childrenData: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_8___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array)]),\n /** Item for compound nodes */\n descendantsData: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_8___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array)]),\n /** Item for compound nodes */\n parentData: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_8___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array)]),\n /** Item for compound nodes */\n siblingsData: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_8___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array)]),\n /** Item for compound nodes */\n isParent: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Item for compound nodes */\n isChildless: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Item for compound nodes */\n isChild: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Item for compound nodes */\n isOrphan: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Item for compound nodes */\n relativePosition: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object)\n }),\n /**\n * The data dictionary of a node returned when you tap or click it. Read-only.\n */\n tapNodeData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /**\n * The complete edge dictionary returned when you tap or click it. Read-only.\n */\n tapEdge: prop_types__WEBPACK_IMPORTED_MODULE_8___default().exact({\n /** Edge-specific item */\n isLoop: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Edge-specific item */\n isSimple: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** Edge-specific item */\n midpoint: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** Edge-specific item */\n sourceData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** Edge-specific item */\n sourceEndpoint: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** Edge-specific item */\n targetData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** Edge-specific item */\n targetEndpoint: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** Edge-specific item */\n timeStamp: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n /** General item (for all elements) */\n classes: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** General item (for all elements) */\n data: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /** General item (for all elements) */\n grabbable: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** General item (for all elements) */\n group: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /** General item (for all elements) */\n locked: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** General item (for all elements) */\n selectable: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** General item (for all elements) */\n selected: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /** General item (for all elements) */\n style: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object)\n }),\n /**\n * The data dictionary of an edge returned when you tap or click it. Read-only.\n */\n tapEdgeData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /**\n * The data dictionary of a node returned when you hover over it. Read-only.\n */\n mouseoverNodeData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /**\n * The data dictionary of an edge returned when you hover over it. Read-only.\n */\n mouseoverEdgeData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /**\n * The list of data dictionaries of all selected nodes (e.g. using\n * Shift+Click to select multiple nodes, or Shift+Drag to use box selection). Read-only.\n */\n selectedNodeData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array),\n /**\n * The list of data dictionaries of all selected edges (e.g. using\n * Shift+Click to select multiple nodes, or Shift+Drag to use box selection). Read-only.\n */\n selectedEdgeData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array),\n /**\n * Dictionary specifying options to generate an image of the current cytoscape graph.\n * Value is cleared after data is received and image is generated. This property will\n * be ignored on the initial creation of the cytoscape object and must be invoked through\n * a callback after it has been rendered.\n *\n * If the app does not need the image data server side and/or it will only be used to download\n * the image, it may be prudent to invoke `'download'` for `action` instead of\n * `'store'` to improve performance by preventing transfer of data to the server.\n */\n generateImage: prop_types__WEBPACK_IMPORTED_MODULE_8___default().shape({\n /** File type to output */\n type: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOf(['svg', 'png', 'jpg', 'jpeg']),\n /** Dictionary of options to cy.png() / cy.jpg() or cy.svg() for image generation.\n * See https://js.cytoscape.org/#core/export for details. For `'output'`, only 'base64'\n * and 'base64uri' are supported. Default: `{'output': 'base64uri'}`.*/\n options: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /**\n * `'store'`: Stores the image data (only jpg and png are supported)\n * in `imageData` and invokes server-side Dash callbacks. `'download'`: Downloads the image\n * as a file with all data handling done client-side. No `imageData` callbacks are fired.\n * `'both'`: Stores image data and downloads image as file. The default is `'store'`\n */\n action: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOf(['store', 'download', 'both']),\n /** Name for the file to be downloaded. Default: 'cyto'.*/\n filename: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string)\n }),\n /**\n * String representation of the image requested with generateImage. Null if no\n * image was requested yet or the previous request failed. Read-only.\n */\n imageData: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n /**\n * Toggles intelligent responsive resize of Cytoscape graph with viewport size change\n */\n responsive: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * Extent of the viewport, a bounding box in model co-ordinates that lets you know what model\n * positions are visible in the viewport. This function returns a plain object bounding box\n * with format { x1, y1, x2, y2, w, h }.\n */\n extent: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /**\n * If set to True, mouseoverNodeData and mouseoverEdgeData will be cleared on unhover.\n * If set to False, the value of mouseoverNodeData and mouseoverEdgeData will be the last\n * Node or Edge hovered over\n */\n clearOnUnhover: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool)\n};\nCytoscape.defaultProps = {\n style: {\n width: '600px',\n height: '600px'\n },\n layout: {\n name: 'grid'\n },\n pan: {\n x: 0,\n y: 0\n },\n zoom: 1,\n minZoom: 1e-50,\n maxZoom: 1e50,\n zoomingEnabled: true,\n userZoomingEnabled: true,\n panningEnabled: true,\n userPanningEnabled: true,\n wheelSensitivity: 1,\n boxSelectionEnabled: false,\n autolock: false,\n autoungrabify: false,\n autounselectify: false,\n autoRefreshLayout: true,\n generateImage: {},\n imageData: null,\n responsive: false,\n clearOnUnhover: false,\n elements: [],\n contextMenu: []\n};\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Cytoscape);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvbGliL2NvbXBvbmVudHMvQ3l0b3NjYXBlLnJlYWN0LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNxQztBQUNFO0FBQ0o7QUFDZ0I7QUFDNUI7QUFDVztBQUNZOztBQUU5QztBQUNnQztBQUVoQyxJQUFNUSxTQUFTLEdBQUdDLG1CQUFPLENBQUMsaUVBQVcsQ0FBQztBQUN0QyxJQUFNQyxZQUFZLEdBQUdELG1CQUFPLENBQUMsa0dBQXlCLENBQUM7O0FBRXZEO0FBQ29DOztBQUVwQztBQUNBQyxZQUFZLENBQUNGLFNBQVMsQ0FBQztBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUhBLElBSU1HLFNBQVMsMEJBQUFDLFVBQUE7RUFBQUMsU0FBQSxDQUFBRixTQUFBLEVBQUFDLFVBQUE7RUFDWCxTQUFBRCxVQUFZRyxLQUFLLEVBQUU7SUFBQSxJQUFBQyxLQUFBO0lBQUFDLGVBQUEsT0FBQUwsU0FBQTtJQUNmSSxLQUFBLEdBQUFFLFVBQUEsT0FBQU4sU0FBQSxHQUFNRyxLQUFLO0lBRVhDLEtBQUEsQ0FBS0csUUFBUSxHQUFHSCxLQUFBLENBQUtHLFFBQVEsQ0FBQ0MsSUFBSSxDQUFBQyxzQkFBQSxDQUFBTCxLQUFBLENBQUssQ0FBQztJQUN4Q0EsS0FBQSxDQUFLTSxlQUFlLEdBQUcsS0FBSztJQUM1Qk4sS0FBQSxDQUFLTyxxQkFBcUIsR0FBR1AsS0FBQSxDQUFLTyxxQkFBcUIsQ0FBQ0gsSUFBSSxDQUFBQyxzQkFBQSxDQUFBTCxLQUFBLENBQUssQ0FBQztJQUNsRUEsS0FBQSxDQUFLUSxpQkFBaUIsR0FBRyxLQUFLO0lBQUMsT0FBQVIsS0FBQTtFQUNuQztFQUFDUyxZQUFBLENBQUFiLFNBQUE7SUFBQWMsR0FBQTtJQUFBQyxLQUFBLEVBRUQsU0FBQUMsYUFBYUMsS0FBSyxFQUFFO01BQ2hCLElBQU1DLEdBQUcsR0FBR0QsS0FBSyxDQUFDRSxNQUFNO01BRXhCLElBQU1D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QU8sQ0FBQztFQUN4Qy9JLE1BQU0sRUFBRTtJQUFDNEwsSUFBSSxFQUFFO0VBQU0sQ0FBQztFQUN0QjdCLEdBQUcsRUFBRTtJQUFDekcsQ0FBQyxFQUFFLENBQUM7SUFBRUMsQ0FBQyxFQUFFO0VBQUMsQ0FBQztFQUNqQmYsSUFBSSxFQUFFLENBQUM7RUFDUHBCLE9BQU8sRUFBRSxLQUFLO0VBQ2RGLE9BQU8sRUFBRSxJQUFJO0VBQ2JnSixjQUFjLEVBQUUsSUFBSTtFQUNwQkMsa0JBQWtCLEVBQUUsSUFBSTtFQUN4QkgsY0FBYyxFQUFFLElBQUk7RUFDcEJDLGtCQUFrQixFQUFFLElBQUk7RUFDeEJHLGdCQUFnQixFQUFFLENBQUM7RUFDbkJDLG1CQUFtQixFQUFFLEtBQUs7RUFDMUJFLFFBQVEsRUFBRSxLQUFLO0VBQ2ZELGFBQWEsRUFBRSxLQUFLO0VBQ3BCRSxlQUFlLEVBQUUsS0FBSztFQUN0QnpLLGlCQUFpQixFQUFFLElBQUk7RUFDdkIwSyxhQUFhLEVBQUUsQ0FBQyxDQUFDO0VBQ2pCakQsU0FBUyxFQUFFLElBQUk7RUFDZnpCLFVBQVUsRUFBRSxLQUFLO0VBQ2pCMUQsY0FBYyxFQUFFLEtBQUs7RUFDckJ2QixRQUFRLEVBQUUsRUFBRTtFQUNaMEgsV0FBVyxFQUFFO0FBQ2pCLENBQUM7QUFFRCxpRUFBZXROLFNBQVMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9kYXNoX2N5dG9zY2FwZS8uL3NyYy9saWIvY29tcG9uZW50cy9DeXRvc2NhcGUucmVhY3QuanM/NjQyYyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEphdmFTY3JpcHQgUmVxdWlyZW1lbnRzOiBjeXRvc2NhcGUsIGN5dG9zY2FwZS1zdmdcbiAqIFJlYWN0LmpzIHJlcXVpcmVtZW50czogcmVhY3QtY3l0b3NjYXBlanNcbiAqL1xuaW1wb3J0ICcvc3JjL2Fzc2V0cy9jb250ZXh0bWVudS5jc3MnO1xuaW1wb3J0IFJlYWN0LCB7Q29tcG9uZW50fSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IEN5dG9zY2FwZUNvbXBvbmVudCBmcm9tICdyZWFjdC1jeXRvc2NhcGVqcyc7XG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHt2NCBhcyB1dWlkdjR9IGZyb20gJ3V1aWQnO1xuaW1wb3J0IEN5UmVzcG9uc2l2ZSBmcm9tICcuLi9jeVJlc3BvbnNpdmUuanMnO1xuXG4vLyBQb2x5ZmlsbCBzbyB0aGF0IGNvbnRleHQgbWVudSBleHRlbnNpb24gd29ya3MgaW4gU2FmYXJpXG5pbXBvcnQgJ0B1bmdhcC9jdXN0b20tZWxlbWVudHMnO1xuXG5jb25zdCBjeXRvc2NhcGUgPSByZXF1aXJlKCdjeXRvc2NhcGUnKTtcbmNvbnN0IGNvbnRleHRNZW51cyA9IHJlcXVpcmUoJ2N5dG9zY2FwZS1jb250ZXh0LW1lbnVzJyk7XG5cbi8vIENsaWVudHNpZGUgY2FsbGJhY2sgZnVuY3Rpb25zIGZvciBDeUxlYWZsZXQgQUlPIGNvbXBvbmVudFxuaW1wb3J0ICcuLi9jeWxlYWZsZXRfY2xpZW50c2lkZS5qcyc7XG5cbi8vIHJlZ2lzdGVyIGV4dGVuc2lvblxuY29udGV4dE1lbnVzKGN5dG9zY2FwZSk7XG4vKipcbiAqIEEgQ29tcG9uZW50IExpYnJhcnkgZm9yIERhc2ggYWltZWQgYXQgZmFjaWxpdGF0aW5nIG5ldHdvcmsgdmlzdWFsaXphdGlvbiBpblxuICogUHl0aG9uLCB3cmFwcGVkIGFyb3VuZCBbQ3l0b3NjYXBlLmpzXShodHRwOi8vanMuY3l0b3NjYXBlLm9yZy8pLlxuICovXG5jbGFzcyBDeXRvc2NhcGUgZXh0ZW5kcyBDb21wb25lbnQge1xuICAgIGNvbnN0cnVjdG9yKHByb3BzKSB7XG4gICAgICAgIHN1cGVyKHByb3BzKTtcblxuICAgICAgICB0aGlzLmhhbmRsZUN5ID0gdGhpcy5oYW5kbGVDeS5iaW5kKHRoaXMpO1xuICAgICAgICB0aGlzLl9oYW5kbGVDeUNhbGxlZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLmhhbmRsZUltYWdlR2VuZXJhdGlvbiA9IHRoaXMuaGFuZGxlSW1hZ2VHZW5lcmF0aW9uLmJpbmQodGhpcyk7XG4gICAgICAgIHRoaXMuY3lSZXNwb25zaXZlQ2xhc3MgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBnZW5lcmF0ZU5vZGUoZXZlbnQpIHtcbiAgICAgICAgY29uc3QgZWxlID0gZXZlbnQudGFyZ2V0O1xuXG4gICAgICAgIGNvbnN0IGlzUGFyZW50ID0gZWxlLmlzUGFyZW50KCksXG4gICAgICAgICAgICBpc0NoaWxkbGVzcyA9IGVsZS5pc0NoaWxkbGVzcygpLFxuICAgICAgICAgICAgaXNDaGlsZCA9IGVsZS5pc0NoaWxkKCksXG4gICAgICAgICAgICBpc09ycGhhbiA9IGVsZS5pc09ycGhhbigpLFxuICAgICAgICAgICAgcmVuZGVyZWRQb3NpdGlvbiA9IGVsZS5yZW5kZXJlZFBvc2l0aW9uKCksXG4gICAgICAgICAgICByZWxhdGl2ZVBvc2l0aW9uID0gZWxlLnJlbGF0aXZlUG9zaXRpb24oKSxcbiAgICAgICAgICAgIHBhcmVudCA9IGVsZS5wYXJlbnQoKSxcbiAgICAgICAgICAgIHN0eWxlID0gZWxlLnN0eWxlKCk7XG5cbiAgICAgICAgLy8gVHJpbSBkb3duIHRoZSBlbGVtZW50IG9iamVjdHMgdG8gb25seSB0aGUgZGF0YSBjb250YWluZWRcbiAgICAgICAgY29uc3QgZWRnZXNEYXRhID0gZWxlLmNvbm5lY3RlZEVkZ2VzKCkubWFwKChlbGUpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBlbGUuZGF0YSgpO1xuICAgICAgICB9KTtcbiAgICAgICAgY29uc3QgY2hpbGRyZW5EYXRhID0gZWxlLmNoaWxkcmVuKCkubWFwKChlbGUpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBlbGUuZGF0YSgpO1xuICAgICAgICB9KTtcbiAgICAgICAgY29uc3QgYW5jZXN0b3JzRGF0YSA9IGVsZS5hbmNlc3RvcnMoKS5tYXAoKGVsZSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGVsZS5kYXRhKCk7XG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBkZXNjZW5kYW50c0RhdGEgPSBlbGUuZGVzY2VuZGFudHMoKS5tYXAoKGVsZSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGVsZS5kYXRhKCk7XG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBzaWJsaW5nc0RhdGEgPSBlbGUuc2libGluZ3MoKS5tYXAoKGVsZSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGVsZS5kYXRhKCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IHt0aW1lU3RhbXB9ID0gZXZlbnQ7XG4gICAgICAgIGNvbnN0IHtcbiAgICAgICAgICAgIGNsYXNzZXMsXG4gICAgICAgICAgICBkYXRhLFxuICAgICAgICAgICAgZ3JhYmJhYmxlLFxuICAgICAgICAgICAgZ3JvdXAsXG4gICAgICAgICAgICBsb2NrZWQsXG4gICAgICAgICAgICBwb3NpdGlvbixcbiAgICAgICAgICAgIHNlbGVjdGVkLFxuICAgICAgICAgICAgc2VsZWN0YWJsZSxcbiAgICAgICAgfSA9IGVsZS5qc29uKCk7XG5cbiAgICAgICAgbGV0IHBhcmVudERhdGE7XG4gICAgICAgIGlmIChwYXJlbnQpIHtcbiAgICAgICAgICAgIHBhcmVudERhdGEgPSBwYXJlbnQuZGF0YSgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcGFyZW50RGF0YSA9IG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBub2RlT2JqZWN0ID0ge1xuICAgICAgICAgICAgLy8gTm9kZXMgYXR0cmlidXRlc1xuICAgICAgICAgICAgZWRnZXNEYXRhLFxuICAgICAgICAgICAgcmVuZGVyZWRQb3NpdGlvbixcbiAgICAgICAgICAgIHRpbWVTdGFtcCxcbiAgICAgICAgICAgIC8vIEZyb20gZWxlLmpzb24oKVxuICAgICAgICAgICAgY2xhc3NlcyxcbiAgICAgICAgICAgIGRhdGEsXG4gICAgICAgICAgICBncmFiYmFibGUsXG4gICAgICAgICAgICBncm91cCxcbiAgICAgICAgICAgIGxvY2tlZCxcbiAgICAgICAgICAgIHBvc2l0aW9uLFxuICAgICAgICAgICAgc2VsZWN0YWJsZSxcbiAgICAgICAgICAgIHNlbGVjdGVkLFxuICAgICAgICAgICAgLy8gQ29tcG91bmQgTm9kZXMgYWRkaXRpb25hbCBhdHRyaWJ1dGVzXG4gICAgICAgICAgICBhbmNlc3RvcnNEYXRhLFxuICAgICAgICAgICAgY2hpbGRyZW5EYXRhLFxuICAgICAgICAgICAgZGVzY2VuZGFudHNEYXRhLFxuICAgICAgICAgICAgcGFyZW50RGF0YSxcbiAgICAgICAgICAgIHNpYmxpbmdzRGF0YSxcbiAgICAgICAgICAgIGlzUGFyZW50LFxuICAgICAgICAgICAgaXNDaGlsZGxlc3MsXG4gICAgICAgICAgICBpc0NoaWxkLFxuICAgICAgICAgICAgaXNPcnBoYW4sXG4gICAgICAgICAgICByZWxhdGl2ZVBvc2l0aW9uLFxuICAgICAgICAgICAgLy8gU3R5bGluZ1xuICAgICAgICAgICAgc3R5bGUsXG4gICAgICAgIH07XG4gICAgICAgIHJldHVybiBub2RlT2JqZWN0O1xuICAgIH1cblxuICAgIGdlbmVyYXRlRWRnZShldmVudCkge1xuICAgICAgICBjb25zdCBlbGUgPSBldmVudC50YXJnZXQ7XG5cbiAgICAgICAgY29uc3QgbWlkcG9pbnQgPSBlbGUubWlkcG9pbnQoKSxcbiAgICAgICAgICAgIGlzTG9vcCA9IGVsZS5pc0xvb3AoKSxcbiAgICAgICAgICAgIGlzU2ltcGxlID0gZWxlLmlzU2ltcGxlKCksXG4gICAgICAgICAgICBzb3VyY2VEYXRhID0gZWxlLnNvdXJjZSgpLmRhdGEoKSxcbiAgICAgICAgICAgIHNvdXJjZUVuZHBvaW50ID0gZWxlLnNvdXJjZUVuZHBvaW50KCksXG4gICAgICAgICAgICBzdHlsZSA9IGVsZS5zdHlsZSgpLFxuICAgICAgICAgICAgdGFyZ2V0RGF0YSA9IGVsZS50YXJnZXQoKS5kYXRhKCksXG4gICAgICAgICAgICB0YXJnZXRFbmRwb2ludCA9IGVsZS50YXJnZXRFbmRwb2ludCgpO1xuXG4gICAgICAgIGNvbnN0IHt0aW1lU3RhbXB9ID0gZXZlbnQ7XG4gICAgICAgIGNvbnN0IHtjbGFzc2VzLCBkYXRhLCBncmFiYmFibGUsIGdyb3VwLCBsb2NrZWQsIHNlbGVjdGFibGUsIHNlbGVjdGVkfSA9XG4gICAgICAgICAgICBlbGUuanNvbigpO1xuXG4gICAgICAgIGNvbnN0IGVkZ2VPYmplY3QgPSB7XG4gICAgICAgICAgICAvLyBFZGdlcyBhdHRyaWJ1dGVzXG4gICAgICAgICAgICBpc0xvb3AsXG4gICAgICAgICAgICBpc1NpbXBsZSxcbiAgICAgICAgICAgIG1pZHBvaW50LFxuICAgICAgICAgICAgc291cmNlRGF0YSxcbiAgICAgICAgICAgIHNvdXJjZUVuZHBvaW50LFxuICAgICAgICAgICAgdGFyZ2V0RGF0YSxcbiAgICAgICAgICAgIHRhcmdldEVuZHBvaW50LFxuICAgICAgICAgICAgdGltZVN0YW1wLFxuICAgICAgICAgICAgLy8gRnJvbSBlbGUuanNvbigpXG4gICAgICAgICAgICBjbGFzc2VzLFxuICAgICAgICAgICAgZGF0YSxcbiAgICAgICAgICAgIGdyYWJiYWJsZSxcbiAgICAgICAgICAgIGdyb3VwLFxuICAgICAgICAgICAgbG9ja2VkLFxuICAgICAgICAgICAgc2VsZWN0YWJsZSxcbiAgICAgICAgICAgIHNlbGVjdGVkLFxuICAgICAgICAgICAgLy8gU3R5bGluZ1xuICAgICAgICAgICAgc3R5bGUsXG4gICAgICAgIH07XG5cbiAgICAgICAgcmV0dXJuIGVkZ2VPYmplY3Q7XG4gICAgfVxuXG4gICAgaGFuZGxlQ3koY3kpIHtcbiAgICAgICAgLy8gSWYgdGhlIGN5IHBvaW50ZXIgaGFzIG5vdCBiZWVuIG1vZGlmaWVkLCBhbmQgaGFuZGxlQ3kgaGFzIGFscmVhZHlcbiAgICAgICAgLy8gYmVlbiBjYWxsZWQgYmVmb3JlLCB0aGFuIHdlIGRvbid0IHJ1biB0aGlzIGZ1bmN0aW9uLlxuICAgICAgICBpZiAoY3kgPT09IHRoaXMuX2N5ICYmIHRoaXMuX2hhbmRsZUN5Q2FsbGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fY3kgPSBjeTtcbiAgICAgICAgd2luZG93LmN5ID0gY3k7XG4gICAgICAgIHRoaXMuX2hhbmRsZUN5Q2FsbGVkID0gdHJ1ZTtcblxuICAgICAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vIENPTlNUQU5UUyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgICAgICBjb25zdCBTRUxFQ1RfVEhSRVNIT0xEID0gMTAwO1xuICAgICAgICBjb25zdCBFWFRFTlRfVEhSRVNIT0xEID0gNTtcbiAgICAgICAgY29uc3QgVVBEQVRFX0VMRU1FTlRTX1RIUkVTSE9MRCA9IDEwMDtcbiAgICAgICAgY29uc3QgUkVTSVpFX1RIUkVTSE9MRCA9IDUwO1xuXG4gICAgICAgIGNvbnN0IHNlbGVjdGVkTm9kZXMgPSBjeS5jb2xsZWN0aW9uKCk7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkRWRnZXMgPSBjeS5jb2xsZWN0aW9uKCk7XG5cbiAgICAgICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyBGVU5DVElPTlMgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAgICAgY29uc3QgcmVmcmVzaExheW91dCA9IF8uZGVib3VuY2UoKCkgPT4ge1xuICAgICAgICAgICAgLyoqXG4gICAgICAgICAgICAgKiBSZWZyZXNoIExheW91dCBpZiBuZWVkZWRcbiAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgY29uc3Qge2F1dG9SZWZyZXNoTGF5b3V0LCBsYXlvdXR9ID0gdGhpcy5wcm9wcztcblxuICAgICAgICAgICAgaWYgKGF1dG9SZWZyZXNoTGF5b3V0KSB7XG4gICAgICAgICAgICAgICAgY3kubGF5b3V0KGxheW91dCkucnVuKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sIFNFTEVDVF9USFJFU0hPTEQpO1xuXG4gICAgICAgIGNvbnN0IHNlbmRTZWxlY3RlZE5vZGVzRGF0YSA9IF8uZGVib3VuY2UoKCkgPT4ge1xuICAgICAgICAgICAgLyoqXG4gICAgICAgICAgICAgICBUaGlzIGZ1bmN0aW9uIGlzIHJlcGV0aXRpdmVseSBjYWxsZWQgZXZlcnkgdGltZSBhIG5vZGUgaXMgc2VsZWN0ZWRcbiAgICAgICAgICAgICAgIG9yIHVuc2VsZWN0ZWQsIGJ1dCBrZWVwcyBiZWluZyBkZWJvdW5jZWQgaWYgaXQgaXMgY2FsbGVkIGFnYWluXG4gICAgICAgICAgICAgICB3aXRoaW4gMTAwIG1zIChnaXZlbiBieSBTRUxFQ1RfVEhSRVNIT0xEKS4gRWZmZWN0aXZlbHksIGl0IG9ubHlcbiAgICAgICAgICAgICAgIHJ1bnMgd2hlbiBhbGwgdGhlIG5vZGVzIGhhdmUgYmVlbiBjb3JyZWN0bHkgc2VsZWN0ZWQvdW5zZWxlY3RlZCBhbmRcbiAgICAgICAgICAgICAgIGFkZGVkL3JlbW92ZWQgZnJvbSB0aGUgc2VsZWN0ZWROb2RlcyBjb2xsZWN0aW9uLCBhbmQgdGhlbiB1cGRhdGVzXG4gICAgICAgICAgICAgICB0aGUgc2VsZWN0ZWROb2RlRGF0YSBwcm9wLlxuICAgICAgICAgICAgICAgKi9cbiAgICAgICAgICAgIGNvbnN0IG5vZGVEYXRhID0gc2VsZWN0ZWROb2Rlcy5tYXAoKGVsKSA9PiBlbC5kYXRhKCkpO1xuXG4gICAgICAgICAgICB0aGlzLnByb3BzLnNldFByb3BzKHtcbiAgICAgICAgICAgICAgICBzZWxlY3RlZE5vZGVEYXRhOiBub2RlRGF0YSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9LCBTRUxFQ1RfVEhSRVNIT0xEKTtcblxuICAgICAgICBjb25zdCBzZW5kU2VsZWN0ZWRFZGdlc0RhdGEgPSBfLmRlYm91bmNlKCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGVkZ2VEYXRhID0gc2VsZWN0ZWRFZGdlcy5tYXAoKGVsKSA9PiBlbC5kYXRhKCkpO1xuXG4gICAgICAgICAgICB0aGlzLnByb3BzLnNldFByb3BzKHtcbiAgICAgICAgICAgICAgICBzZWxlY3RlZEVkZ2VEYXRhOiBlZGdlRGF0YSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9LCBTRUxFQ1RfVEhSRVNIT0xEKTtcblxuICAgICAgICBjb25zdCBzZXRFeHRlbnQgPSBfLmRlYm91bmNlKChjeUV4dGVudCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5wcm9wcy5zZXRQcm9wcyh7XG4gICAgICAgICAgICAgICAgZXh0ZW50OiBjeUV4dGVudCxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9LCBFWFRFTlRfVEhSRVNIT0xEKTtcblxuICAgICAgICBjb25zdCB1cGRhdGVFbGVtZW50cyA9IF8uZGVib3VuY2UoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5wcm9wcy5zZXRQcm9wcyh7XG4gICAgICAgICAgICAgICAgZWxlbWVudHM6IGN5LmVsZW1lbnRzKCcnKS5tYXAoKGl0ZW0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGl0ZW0uanNvbigpLmdyb3VwID09PSAnbm9kZXMnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE6IGl0ZW0uanNvbigpLmRhdGEsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGl0ZW0uanNvbigpLnBvc2l0aW9uLFxuICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGF0YTogaXRlbS5qc29uKCkuZGF0YSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiB2b2lkIDAsXG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSwgVVBEQVRFX0VMRU1FTlRTX1RIUkVTSE9MRCk7XG5cbiAgICAgICAgY29uc3QgcmVzaXplID0gXy5kZWJvdW5jZSgoKSA9PiB7XG4gICAgICAgICAgICBjeS5yZXNpemUoKTtcbiAgICAgICAgfSwgUkVTSVpFX1RIUkVTSE9MRCk7XG5cbiAgICAgICAgLy8gU3RvcmUgdGhlIG9yaWdpbmFsIG1heFpvb20gYW5kIG1pblpvb20gZnVuY3Rpb25zXG4gICAgICAgIGNvbnN0IG9yaWdpbmFsTWF4Wm9vbUZuID0gY3kubWF4Wm9vbTtcbiAgICAgICAgY29uc3Qgb3JpZ2luYWxNaW5ab29tRm4gPSBjeS5taW5ab29tO1xuXG4gICAgICAgIC8vIE92ZXJyaWRlIHRoZSBtYXhab29tIGZ1bmN0aW9uIHRvIHRyaWdnZXIgbWF4Wm9vbUNoYW5nZSBjdXN0b20gZXZlbnRcbiAgICAgICAgY3kubWF4Wm9vbSA9IGZ1bmN0aW9uIChlKSB7XG4gICAgICAgICAgICBjb25zdCBjdXJyZW50TWF4Wm9vbSA9IG9yaWdpbmFsTWF4Wm9vbUZuLmNhbGwoY3ksIGUpO1xuXG4gICAgICAgICAgICAvLyBUcmlnZ2VyIHlvdXIgY3VzdG9tIGV2ZW50IGlmIHRoZSBjdXJyZW50IG1heCB6b29tIGxldmVsIGlzIGRpZmZlcmVudCBmcm9tIHRoZVxuICAgICAgICAgICAgLy8gcHJldmlvdXNseSBzdG9yZWQgbWF4IHpvb20gbGV2ZWxcbiAgICAgICAgICAgIGlmIChjdXJyZW50TWF4Wm9vbSAhPT0gY3kuX3ByZXZpb3VzTWF4Wm9vbSkge1xuICAgICAgICAgICAgICAgIGN5Ll9wcmV2aW91c01heFpvb20gPSBjdXJyZW50TWF4Wm9vbTtcbiAgICAgICAgICAgICAgICBjeS50cmlnZ2VyKCdtaW5NYXhab29tQ2hhbmdlJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gY3VycmVudE1heFpvb207XG4gICAgICAgIH07XG5cbiAgICAgICAgLy8gT3ZlcnJpZGUgdGhlIG1pblpvb20gZnVuY3Rpb24gdG8gdHJpZ2dlciBtaW5ab29tQ2hhbmdlIGN1c3RvbSBldmVudFxuICAgICAgICBjeS5taW5ab29tID0gZnVuY3Rpb24gKGUpIHtcbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRNaW5ab29tID0gb3JpZ2luYWxNaW5ab29tRm4uY2FsbChjeSwgZSk7XG5cbiAgICAgICAgICAgIC8vIFRyaWdnZXIgeW91ciBjdXN0b20gZXZlbnQgaWYgdGhlIGN1cnJlbnQgbWluIHpvb20gbGV2ZWwgaXMgZGlmZmVyZW50IGZyb20gdGhlXG4gICAgICAgICAgICAvLyBwcmV2aW91c2x5IHN0b3JlZCBtaW4gem9vbSBsZXZlbFxuICAgICAgICAgICAgaWYgKGN1cnJlbnRNaW5ab29tICE9PSBjeS5fcHJldmlvdXNNaW5ab29tKSB7XG4gICAgICAgICAgICAgICAgY3kuX3ByZXZpb3VzTWluWm9vbSA9IGN1cnJlbnRNaW5ab29tO1xuICAgICAgICAgICAgICAgIGN5LnRyaWdnZXIoJ21pbk1heFpvb21DaGFuZ2UnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBjdXJyZW50TWluWm9vbTtcbiAgICAgICAgfTtcblxuICAgICAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gRVZFTlRTIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgICAgIGN5Lm9uKCd0YXAnLCAnbm9kZScsIChldmVudCkgPT4ge1xuICAgICAgICAgICAgY29uc3Qgbm9kZU9iamVjdCA9IHRoaXMuZ2VuZXJhdGVOb2RlKGV2ZW50KTtcblxuICAgICAgICAgICAgdGhpcy5wcm9wcy5zZXRQcm9wcyh7XG4gICAgICAgICAgICAgICAgdGFwTm9kZTogbm9kZU9iamVjdCxcbiAgICAgICAgICAgICAgICB0YXBOb2RlRGF0YTogT2JqZWN0LmFzc2lnbih7fSwgbm9kZU9iamVjdC5kYXRhLCB7XG4gICAgICAgICAgICAgICAgICAgIHRpbWVTdGFtcDogbm9kZU9iamVjdC50aW1lU3RhbXAsXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY3kub24oJ3RhcCcsICdlZGdlJywgKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBlZGdlT2JqZWN0ID0gdGhpcy5nZW5lcmF0ZUVkZ2UoZXZlbnQpO1xuXG4gICAgICAgICAgICB0aGlzLnByb3BzLnNldFByb3BzKHtcbiAgICAgICAgICAgICAgICB0YXBFZGdlOiBlZGdlT2JqZWN0LFxuICAgICAgICAgICAgICAgIHRhcEVkZ2VEYXRhOiBPYmplY3QuYXNzaWduKHt9LCBlZGdlT2JqZWN0LmRhdGEsIHtcbiAgICAgICAgICAgICAgICAgICAgdGltZVN0YW1wOiBlZGdlT2JqZWN0LnRpbWVTdGFtcCxcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcblxuICAgICAgICBjeS5vbignbW91c2VvdmVyJywgJ25vZGUnLCAoZXZlbnQpID0+IHtcbiAgICAgICAgICAgIHRoaXMucHJvcHMuc2V0UHJvcHMoe1xuICAgICAgICAgICAgICAgIG1vdXNlb3Zlck5vZGVEYXRhOiBPYmplY3QuYXNzaWduKHt9LCBldmVudC50YXJnZXQuZGF0YSgpLCB7XG4gICAgICAgICAgICAgICAgICAgIHRpbWVTdGFtcDogZXZlbnQudGltZVN0YW1wLFxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGN5Lm9uKCdtb3VzZW92ZXInLCAnZWRnZScsIChldmVudCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5wcm9wcy5zZXRQcm9wcyh7XG4gICAgICAgICAgICAgICAgbW91c2VvdmVyRWRnZURhdGE6IE9iamVjdC5hc3NpZ24oe30sIGV2ZW50LnRhcmdldC5kYXRhKCksIHtcbiAgICAgICAgICAgICAgICAgICAgdGltZVN0YW1wOiBldmVudC50aW1lU3RhbXAsXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY3kub24oJ21vdXNlb3V0JywgJ25vZGUnLCAoXykgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMucHJvcHMuY2xlYXJPblVuaG92ZXIgPT09IHRydWUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnByb3BzLnNldFByb3BzKHttb3VzZW92ZXJOb2RlRGF0YTogbnVsbH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICBjeS5vbignbW91c2VvdXQnLCAnZWRnZScsIChfKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5wcm9wcy5jbGVhck9uVW5ob3ZlciA9PT0gdHJ1ZSkge1xuICAgICAgICAgICAgICAgIHRoaXMucHJvcHMuc2V0UHJvcHMoe1xuICAgICAgICAgICAgICAgICAgICBtb3VzZW92ZXJFZGdlRGF0YTogbnVsbCxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgY3kub24oJ3NlbGVjdCcsICdub2RlJywgKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBlbGUgPSBldmVudC50YXJnZXQ7XG5cbiAgICAgICAgICAgIHNlbGVjdGVkTm9kZXMubWVyZ2UoZWxlKTtcbiAgICAgICAgICAgIHNlbmRTZWxlY3RlZE5vZGVzRGF0YSgpO1xuICAgICAgICB9KTtcblxuICAgICAgICBjeS5vbigndW5zZWxlY3QgcmVtb3ZlJywgJ25vZGUnLCAoZXZlbnQpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGVsZSA9IGV2ZW50LnRhcmdldDtcblxuICAgICAgICAgICAgc2VsZWN0ZWROb2Rlcy51bm1lcmdlKGVsZSk7XG4gICAgICAgICAgICBzZW5kU2VsZWN0ZWROb2Rlc0RhdGEoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY3kub24oJ3NlbGVjdCcsICdlZGdlJywgKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBlbGUgPSBldmVudC50YXJnZXQ7XG5cbiAgICAgICAgICAgIHNlbGVjdGVkRWRnZXMubWVyZ2UoZWxlKTtcbiAgICAgICAgICAgIHNlbmRTZWxlY3RlZEVkZ2VzRGF0YSgpO1xuICAgICAgICB9KTtcblxuICAgICAgICBjeS5vbigndW5zZWxlY3QgcmVtb3ZlJywgJ2VkZ2UnLCAoZXZlbnQpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGVsZSA9IGV2ZW50LnRhcmdldDtcblxuICAgICAgICAgICAgc2VsZWN0ZWRFZGdlcy51bm1lcmdlKGVsZSk7XG4gICAgICAgICAgICBzZW5kU2VsZWN0ZWRFZGdlc0RhdGEoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY3kub24oJ2FkZCByZW1vdmUnLCAoKSA9PiB7XG4gICAgICAgICAgICByZWZyZXNoTGF5b3V0KCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGN5Lm9uKCdkcmFnZnJlZSBhZGQgcmVtb3ZlJywgKF8pID0+IHtcbiAgICAgICAgICAgIHVwZGF0ZUVsZW1lbnRzKCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGN5Lm9uKCdyZXNpemUgdmlld3BvcnQnLCAoKSA9PiB7XG4gICAgICAgICAgICBzZXRFeHRlbnQoY3kuZXh0ZW50KCkpO1xuICAgICAgICB9KTtcblxuICAgICAgICBjeS5vbigndGFwc3RhcnQnLCAoKSA9PiB7XG4gICAgICAgICAgICByZXNpemUoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gUmVmcmVzaCBsYXlvdXQgaWYgY3VycmVudCB6b29tIGlzIG91dCBvZiBib3VuZGFyaWVzXG4gICAgICAgIGN5Lm9uKCdtaW5NYXhab29tQ2hhbmdlJywgZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgY29uc3Qgem9vbSA9IGN5Lnpvb20oKTtcbiAgICAgICAgICAgIGlmICh6b29tID4gY3kubWF4Wm9vbSgpIHx8IHpvb20gPCBjeS5taW5ab29tKCkpIHtcbiAgICAgICAgICAgICAgICBjeS5maXQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5jcmVhdGVNZW51SXRlbXMgPSAoY3R4TWVudSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgdXBkYXRlQ29udGV4dE1lbnVEYXRhID0gKG5ld0NvbnRleHQpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnByb3BzLnNldFByb3BzKHtjb250ZXh0TWVudURhdGE6IG5ld0NvbnRleHR9KTtcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBjb25zdCBjb250ZXh0TWVudURlZmF1bHRGdW5jdGlvbnMgPSB7XG4gICAgICAgICAgICAgICAgcmVtb3ZlOiBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IHx8IGV2ZW50LmN5VGFyZ2V0O1xuICAgICAgICAgICAgICAgICAgICB0YXJnZXQucmVtb3ZlKCk7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBhZGRfbm9kZTogZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHBvcyA9IGV2ZW50LnBvc2l0aW9uIHx8IGV2ZW50LmN5UG9zaXRpb247XG4gICAgICAgICAgICAgICAgICAgIGN5LmFkZCh7XG4gICAgICAgICAgICAgICAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JvdXA6ICdub2RlcycsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB4OiBwb3MueCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB5OiBwb3MueSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgYWRkX2VkZ2U6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWROb2RlSWRzID0gc2VsZWN0ZWROb2Rlcy5tYXAoKG5vZGUpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICBub2RlLmlkKClcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHNlbGVjdGVkTm9kZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFcnJvcjogTm8gbm9kZXMgc2VsZWN0ZWQsIGNhbm5vdCBhZGQgZWRnZSdcbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoc2VsZWN0ZWROb2Rlcy5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGN5LmFkZCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZDogdXVpZHY0KCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyb3VwOiAnZWRnZXMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzb3VyY2U6IHNlbGVjdGVkTm9kZUlkc1swXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0OiBzZWxlY3RlZE5vZGVJZHNbMF0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHNlbGVjdGVkTm9kZXMubGVuZ3RoID09PSAyKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjeS5hZGQoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IHV1aWR2NCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBncm91cDogJ2VkZ2VzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc291cmNlOiBzZWxlY3RlZE5vZGVJZHNbMF0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldDogc2VsZWN0ZWROb2RlSWRzWzFdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0Vycm9yOiBtb3JlIHRoYW4gMiBub2RlcyBzZWxlY3RlZCwgY2Fubm90IGFkZCBlZGdlJ1xuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgY29uc3QgbmV3TWVudUl0ZW1zID0gW107XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgY3R4TWVudSkge1xuICAgICAgICAgICAgICAgIGxldCBvbkNsaWNrRnVuY3Rpb247XG4gICAgICAgICAgICAgICAgLy8gcmV0dXJuIGRhdGEgc28gYSB1c2VyIGNhbiBkZWZpbmUgYSBjdXN0b20gb24gY2xpY2sgZnVuY3Rpb24gaW4gUHl0aG9uXG4gICAgICAgICAgICAgICAgLy8gaWYgb25DbGljayBvciBvbiBvbkNsaWNrQ3VzdG9tIGFyZSBub3Qgc3BlY2lmaWVkXG4gICAgICAgICAgICAgICAgb25DbGlja0Z1bmN0aW9uID0gZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIHVwZGF0ZUNvbnRleHRNZW51RGF0YSh7XG4gICAgICAgICAgICAgICAgICAgICAgICBtZW51SXRlbUlkOiBpdGVtLmlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgeDogZXZlbnQucG9zaXRpb24ueCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHk6IGV2ZW50LnBvc2l0aW9uLnksXG4gICAgICAgICAgICAgICAgICAgICAgICB0aW1lU3RhbXA6IGV2ZW50LnRpbWVTdGFtcCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnRJZDogZXZlbnQudGFyZ2V0LmRhdGEoKS5pZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGVkZ2VTb3VyY2U6IGV2ZW50LnRhcmdldC5kYXRhKCkuc291cmNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgZWRnZVRhcmdldDogZXZlbnQudGFyZ2V0LmRhdGEoKS50YXJnZXQsXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgLy8gdXNlIGRlZmF1bHQgamF2YXNjcmlwdCBmdW5jdGlvbiBhcyBvbkNsaWNrRnVuY3Rpb25cbiAgICAgICAgICAgICAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGl0ZW0sICdvbkNsaWNrJykpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHRNZW51RGVmYXVsdEZ1bmN0aW9ucyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtLm9uQ2xpY2tcbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrRnVuY3Rpb24gPVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHRNZW51RGVmYXVsdEZ1bmN0aW9uc1tpdGVtLm9uQ2xpY2tdO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBgb25DbGljayBmdW5jdGlvbiAke2l0ZW0ub25DbGlja30gaXMgbm90IGRlZmluZWRgXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8vIHVzZSB1c2VyLWRlZmluZWQgSmF2YXNjcmlwdCBmdW5jdGlvbiBpbiBhIG5hbWVzcGFjZSB1bmRlciBhc3NldHMvIGFzIG9uQ2xpY2tGdW5jdGlvblxuICAgICAgICAgICAgICAgIGVsc2UgaWYgKFxuICAgICAgICAgICAgICAgICAgICBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoaXRlbSwgJ29uQ2xpY2tDdXN0b20nKVxuICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2luZG93LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkYXNoQ3l0b3NjYXBlRnVuY3Rpb25zJ1xuICAgICAgICAgICAgICAgICAgICAgICAgKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpbmRvdy5kYXNoQ3l0b3NjYXBlRnVuY3Rpb25zLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0ub25DbGlja0N1c3RvbVxuICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2tGdW5jdGlvbiA9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2luZG93LmRhc2hDeXRvc2NhcGVGdW5jdGlvbnNbaXRlbS5vbkNsaWNrQ3VzdG9tXTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYG9uQ2xpY2tDdXN0b20gZnVuY3Rpb24gJHtpdGVtLm9uQ2xpY2tDdXN0b219IGlzIG5vdCBkZWZpbmVkYFxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjb25zdCBuZXdfaXRlbSA9IHtcbiAgICAgICAgICAgICAgICAgICAgaWQ6IGl0ZW0uaWQsXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IGl0ZW0ubGFiZWwsXG4gICAgICAgICAgICAgICAgICAgIHRvb2x0aXBUZXh0OiBpdGVtLnRvb2x0aXBUZXh0LFxuICAgICAgICAgICAgICAgICAgICBzZWxlY3RvcjogJycsXG4gICAgICAgICAgICAgICAgICAgIG9uQ2xpY2tGdW5jdGlvbjogb25DbGlja0Z1bmN0aW9uLFxuICAgICAgICAgICAgICAgICAgICBjb3JlQXNXZWxsOiBmYWxzZSxcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoaXRlbSwgJ2F2YWlsYWJsZU9uJykpIHtcbiAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCBzZWxlY3RvciBvZiBpdGVtLmF2YWlsYWJsZU9uKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoc2VsZWN0b3IgPT09ICdlZGdlJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChuZXdfaXRlbS5zZWxlY3Rvci5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld19pdGVtLnNlbGVjdG9yID0gbmV3X2l0ZW0uc2VsZWN0b3IgKyAnLCAnO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXdfaXRlbS5zZWxlY3RvciA9IG5ld19pdGVtLnNlbGVjdG9yICsgJ2VkZ2UnO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChzZWxlY3RvciA9PT0gJ25vZGUnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG5ld19pdGVtLnNlbGVjdG9yLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3X2l0ZW0uc2VsZWN0b3IgPSBuZXdfaXRlbS5zZWxlY3RvciArICcsICc7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld19pdGVtLnNlbGVjdG9yID0gbmV3X2l0ZW0uc2VsZWN0b3IgKyAnbm9kZSc7XG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHNlbGVjdG9yID09PSAnY2FudmFzJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld19pdGVtLmNvcmVBc1dlbGwgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgRXJyb3I6IHNlbGVjdG9yICR7c2VsZWN0b3J9IGlzIG5vdCBhdmFpbGFibGUuIENob29zZSBvbmUgb2YgJ25vZGUnLCAnZWRnZScgb3IgJ2NhbnZhcycuYFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgbmV3TWVudUl0ZW1zLnB1c2gobmV3X2l0ZW0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIG5ld01lbnVJdGVtcztcbiAgICAgICAgfTtcblxuICAgICAgICB0aGlzLmN5UmVzcG9uc2l2ZUNsYXNzID0gbmV3IEN5UmVzcG9uc2l2ZShjeSk7XG4gICAgICAgIHRoaXMuY3lSZXNwb25zaXZlQ2xhc3MudG9nZ2xlKHRoaXMucHJvcHMucmVzcG9uc2l2ZSk7XG5cbiAgICAgICAgc2V0RXh0ZW50KGN5LmV4dGVudCgpKTtcbiAgICB9XG5cbiAgICBoYW5kbGVJbWFnZUdlbmVyYXRpb24oaW1hZ2VUeXBlLCBpbWFnZU9wdGlvbnMsIGFjdGlvbnNUb1BlcmZvcm0sIGZpbGVOYW1lKSB7XG4gICAgICAgIGxldCBvcHRpb25zID0ge307XG4gICAgICAgIGlmIChpbWFnZU9wdGlvbnMpIHtcbiAgICAgICAgICAgIG9wdGlvbnMgPSBpbWFnZU9wdGlvbnM7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgZGVzaXJlZE91dHB1dCA9IG9wdGlvbnMub3V0cHV0O1xuICAgICAgICBvcHRpb25zLm91dHB1dCA9ICdibG9iJztcblxuICAgICAgICBsZXQgZG93bmxvYWRJbWFnZTtcbiAgICAgICAgbGV0IHN0b3JlSW1hZ2U7XG4gICAgICAgIHN3aXRjaCAoYWN0aW9uc1RvUGVyZm9ybSkge1xuICAgICAgICAgICAgY2FzZSAnc3RvcmUnOlxuICAgICAgICAgICAgICAgIGRvd25sb2FkSW1hZ2UgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICBzdG9yZUltYWdlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ2Rvd25sb2FkJzpcbiAgICAgICAgICAgICAgICBkb3dubG9hZEltYWdlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBzdG9yZUltYWdlID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdib3RoJzpcbiAgICAgICAgICAgICAgICBkb3dubG9hZEltYWdlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBzdG9yZUltYWdlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgZG93bmxvYWRJbWFnZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHN0b3JlSW1hZ2UgPSB0cnVlO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IG91dHB1dDtcbiAgICAgICAgaWYgKGltYWdlVHlwZSA9PT0gJ3BuZycpIHtcbiAgICAgICAgICAgIG91dHB1dCA9IHRoaXMuX2N5LnBuZyhvcHRpb25zKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaW1hZ2VUeXBlID09PSAnanBnJyB8fCBpbWFnZVR5cGUgPT09ICdqcGVnJykge1xuICAgICAgICAgICAgb3V0cHV0ID0gdGhpcy5fY3kuanBnKG9wdGlvbnMpO1xuICAgICAgICB9XG4gICAgICAgIC8vIG9ubHkgd29ya3Mgd2hlbiBzdmcgaXMgaW1wb3J0ZWQgKHNlZSBsaWIvZXh0cmFfaW5kZXguanMpXG4gICAgICAgIGlmIChpbWFnZVR5cGUgPT09ICdzdmcnKSB7XG4gICAgICAgICAgICBvdXRwdXQgPSB0aGlzLl9jeS5zdmcob3B0aW9ucyk7XG4gICAgICAgIH1cblxuICAgICAgICAvKlxuICAgICAgICAgKiBJZiBvdXRwdXQgaXMgZW1wdHkgYmVjYXVzZSBvZiBiYWQgb3B0aW9ucyBvciBhIGN5dG9zY2FwZSBlcnJvcixcbiAgICAgICAgICogc2tpcCBhbnkgZG93bmxvYWQgb3Igc3RvcmFnZSBzdGVwcy5cbiAgICAgICAgICovXG4gICAgICAgIGlmIChvdXRwdXQgJiYgZG93bmxvYWRJbWFnZSkge1xuICAgICAgICAgICAgLypcbiAgICAgICAgICAgICAqIERvd25sb2FkaW5nIGlzIGluaXRpYXRlZCBjbGllbnQtc2lkZSBiZWNhdXNlIHRoZSBpbWFnZSBpcyBnZW5lcmF0ZWQgYXRcbiAgICAgICAgICAgICAqIHRoZSBjbGllbnQuIFRoaXMgYXZvaWRzIHRyYW5zZmVycmluZyBhIHBvdGVudGlhbGx5IGxhcmdlIGltYWdlXG4gICAgICAgICAgICAgKiB0byB0aGUgc2VydmVyIGFuZCBiYWNrIGFnYWluIHRocm91Z2ggYSBjYWxsYmFjay5cbiAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgbGV0IGZOYW1lID0gZmlsZU5hbWU7XG4gICAgICAgICAgICBpZiAoIWZpbGVOYW1lKSB7XG4gICAgICAgICAgICAgICAgZk5hbWUgPSAnY3l0byc7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChpbWFnZVR5cGUgIT09ICdzdmcnKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5kb3dubG9hZEJsb2Iob3V0cHV0LCBmTmFtZSArICcuJyArIGltYWdlVHlwZSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnN0IGJsb2IgPSBuZXcgQmxvYihbb3V0cHV0XSwge1xuICAgICAgICAgICAgICAgICAgICB0eXBlOiAnaW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04JyxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB0aGlzLmRvd25sb2FkQmxvYihibG9iLCBmTmFtZSArICcuJyArIGltYWdlVHlwZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAob3V0cHV0ICYmIHN0b3JlSW1hZ2UpIHtcbiAgICAgICAgICAgIC8vIERlZmF1bHQgb3V0cHV0IHR5cGUgaWYgdW5zcGVjaWZpZWRcbiAgICAgICAgICAgIGlmICghZGVzaXJlZE91dHB1dCkge1xuICAgICAgICAgICAgICAgIGRlc2lyZWRPdXRwdXQgPSAnYmFzZTY0dXJpJztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICEoZGVzaXJlZE91dHB1dCA9PT0gJ2Jhc2U2NHVyaScgfHwgZGVzaXJlZE91dHB1dCA9PT0gJ2Jhc2U2NCcpXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8qXG4gICAgICAgICAgICAgKiBDb252ZXJ0IGJsb2IgdG8gYmFzZTY0dXJpIG9yIGJhc2U2NCBzdHJpbmcgdG8gc3RvcmUgdGhlIGltYWdlIGRhdGEuXG4gICAgICAgICAgICAgKiBUaGFuayB5b3UsIGJhc2U2NGd1cnUgaHR0cHM6Ly9iYXNlNjQuZ3VydS9kZXZlbG9wZXJzL2phdmFzY3JpcHQvZXhhbXBsZXMvZW5jb2RlLWJsb2JcbiAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgY29uc3QgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcbiAgICAgICAgICAgIHJlYWRlci5vbmxvYWQgPSAoKSA9PiB7XG4gICAgICAgICAgICAgICAgLyogRmlsZVJlYWRlciBpcyBhc3luY2hyb25vdXMsIHNvIHRoZSByZWFkIGZ1bmN0aW9uIGlzIG5vbi1ibG9ja2luZy5cbiAgICAgICAgICAgICAgICAgKiBJZiB0aGlzIGNvZGUgYmxvY2sgaXMgcGxhY2VkIGFmdGVyIHRoZSByZWFkIGNvbW1hbmQsIGl0XG4gICAgICAgICAgICAgICAgICogbWF5IHJlc3VsdCBpbiBlbXB0eSBvdXRwdXQgYmVjYXVzZSB0aGUgYmxvYiBoYXMgbm90IGJlZW4gbG9hZGVkIHlldC5cbiAgICAgICAgICAgICAgICAgKi9cbiAgICAgICAgICAgICAgICBsZXQgY2FsbGJhY2tEYXRhID0gcmVhZGVyLnJlc3VsdDtcbiAgICAgICAgICAgICAgICBpZiAoZGVzaXJlZE91dHB1dCA9PT0gJ2Jhc2U2NCcpIHtcbiAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2tEYXRhID0gY2FsbGJhY2tEYXRhLnJlcGxhY2UoL15kYXRhOi4rO2Jhc2U2NCwvLCAnJyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMucHJvcHMuc2V0UHJvcHMoe2ltYWdlRGF0YTogY2FsbGJhY2tEYXRhfSk7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgcmVhZGVyLnJlYWRBc0RhdGFVUkwob3V0cHV0KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGRvd25sb2FkQmxvYihibG9iLCBmaWxlTmFtZSkge1xuICAgICAgICAvKlxuICAgICAgICAgKiBEb3dubG9hZCBibG9iIGFzIGZpbGUgYnkgZHluYW1pY2FsbHkgY3JlYXRpbmcgbGluay5cbiAgICAgICAgICogQ2hyb21lIGRvZXMgbm90IG9wZW4gZGF0YSBVUkxzIHdoZW4gSlMgb3BlbnMgYSBuZXcgdGFiIGRpcmVjdGVkXG4gICAgICAgICAqIGF0IHRoZSBkYXRhIFVSTCwgc28gdGhpcyBpcyBhbiBhbHRlcm5hdGUgaW1wbGVtZW50YXRpb25cbiAgICAgICAgICogdGhhdCBkb2Vzbid0IHJlcXVpcmUgZXh0cmEgcGFja2FnZXMuIEl0IG1heSBub3QgYmVoYXZlIGluXG4gICAgICAgICAqIGV4YWN0bHkgdGhlIHNhbWUgd2F5IGFjcm9zcyBicm93c2VycyAobWlnaHQgZGlzcGxheSBpbWFnZSBpbiBuZXcgdGFiXG4gICAgICAgICAqIGludGVhZCBvZiBkb3dubG9hZGluZyBhcyBhIGZpbGUpLlxuICAgICAgICAgKiBUaGFuayB5b3UsIGtvbGRldiBodHRwczovL2pzZmlkZGxlLm5ldC9rb2xkZXYvY1c3VzUvXG4gICAgICAgICAqL1xuICAgICAgICBjb25zdCBkb3dubG9hZExpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XG4gICAgICAgIGRvd25sb2FkTGluay5zdHlsZSA9ICdkaXNwbGF5OiBub25lJztcbiAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkb3dubG9hZExpbmspO1xuXG4gICAgICAgIGNvbnN0IHVybCA9IHdpbmRvdy5VUkwuY3JlYXRlT2JqZWN0VVJMKGJsb2IpO1xuICAgICAgICBkb3dubG9hZExpbmsuaHJlZiA9IHVybDtcbiAgICAgICAgZG93bmxvYWRMaW5rLmRvd25sb2FkID0gZmlsZU5hbWU7XG4gICAgICAgIGRvd25sb2FkTGluay5jbGljaygpO1xuICAgICAgICB3aW5kb3cuVVJMLnJldm9rZU9iamVjdFVSTCh1cmwpO1xuXG4gICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoZG93bmxvYWRMaW5rKTtcbiAgICB9XG5cbiAgICB1cGRhdGVDb250ZXh0TWVudShjb250ZXh0TWVudSkge1xuICAgICAgICB0aGlzLl9jeS5jb250ZXh0TWVudXMoe1xuICAgICAgICAgICAgbWVudUl0ZW1zOiB0aGlzLmNyZWF0ZU1lbnVJdGVtcyhjb250ZXh0TWVudSksXG4gICAgICAgICAgICBtZW51SXRlbUNsYXNzZXM6IFsnY3VzdG9tLW1lbnUtaXRlbSddLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvLyBSZXR1cm5zIHRydWUgaWYgdGhlcmUgaXMgbm8gb3ZlcmxhcCBiZXR3ZWVuIHRoZSBlbGVtZW50IGJvdW5kaW5nIGJveFxuICAgIC8vIGFuZCB0aGUgcmVuZGVyZWQgYXJlYSBvZiB0aGUgZ3JhcGgsIG1lYW5pbmcgdGhlIGdyYXBoIGlzIGVudGlyZWx5IG91dHNpZGUgdGhlIHZpZXdwb3J0O1xuICAgIC8vIHJldHVybnMgZmFsc2Ugb3RoZXJ3aXNlXG4gICAgZ3JhcGhPdXRPZlZpZXcoKSB7XG4gICAgICAgIGNvbnN0IGN5V2lkdGggPSB0aGlzLl9jeS53aWR0aCgpO1xuICAgICAgICBjb25zdCBjeUhlaWdodCA9IHRoaXMuX2N5LmhlaWdodCgpO1xuICAgICAgICBjb25zdCBlbEJveCA9IHRoaXMuX2N5LmVsZW1lbnRzKCkucmVuZGVyZWRCb3VuZGluZ2JveCgpO1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgZWxCb3gueDEgPiBjeVdpZHRoIHx8XG4gICAgICAgICAgICBlbEJveC55MSA+IGN5SGVpZ2h0IHx8XG4gICAgICAgICAgICBlbEJveC54MiA8IDAgfHxcbiAgICAgICAgICAgIGVsQm94LnkyIDwgMFxuICAgICAgICApO1xuICAgIH1cblxuICAgIGNvbXBvbmVudERpZFVwZGF0ZShwcmV2UHJvcHMpIHtcbiAgICAgICAgY29uc3Qge2NvbnRleHRNZW51LCBlbGVtZW50c30gPSB0aGlzLnByb3BzO1xuICAgICAgICBpZiAoIV8uaXNFcXVhbChwcmV2UHJvcHMuY29udGV4dE1lbnUsIGNvbnRleHRNZW51KSAmJiB0aGlzLl9jeSkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVDb250ZXh0TWVudShjb250ZXh0TWVudSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFfLmlzRXF1YWwocHJldlByb3BzLmVsZW1lbnRzLCBlbGVtZW50cykgJiYgdGhpcy5fY3kpIHtcbiAgICAgICAgICAgIC8vIElmIGVsZW1lbnRzIHdlcmUgdXBkYXRlZCwgYW5kIHRoZSBuZXcgZ3JhcGggaXMgKmVudGlyZWx5KiBvdXRzaWRlIHRoZSB2aWV3cG9ydCxcbiAgICAgICAgICAgIC8vIGZpdCB0aGUgdmlld3BvcnQgdG8gdGhlIG5ldyBlbGVtZW50c1xuICAgICAgICAgICAgaWYgKHRoaXMuZ3JhcGhPdXRPZlZpZXcoKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuX2N5LmZpdCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgICAgICBjb25zdCB7Y29udGV4dE1lbnV9ID0gdGhpcy5wcm9wcztcbiAgICAgICAgaWYgKHRoaXMuX2N5ICYmIGNvbnRleHRNZW51Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlQ29udGV4dE1lbnUoY29udGV4dE1lbnUpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJlbmRlcigpIHtcbiAgICAgICAgY29uc3Qge1xuICAgICAgICAgICAgLy8gSFRNTCBhdHRyaWJ1dGUgcHJvcHNcbiAgICAgICAgICAgIGlkLFxuICAgICAgICAgICAgc3R5bGUsXG4gICAgICAgICAgICBjbGFzc05hbWUsXG4gICAgICAgICAgICAvLyBDb21tb24gcHJvcHNcbiAgICAgICAgICAgIGVsZW1lbnRzLFxuICAgICAgICAgICAgc3R5bGVzaGVldCxcbiAgICAgICAgICAgIGxheW91dCxcbiAgICAgICAgICAgIGNvbnRleHRNZW51LFxuICAgICAgICAgICAgY29udGV4dE1lbnVEYXRhLFxuICAgICAgICAgICAgLy8gVmlld3BvcnQgTWFuaXB1bGF0aW9uXG4gICAgICAgICAgICBwYW4sXG4gICAgICAgICAgICB6b29tLFxuICAgICAgICAgICAgLy8gVmlld3BvcnQgTXV0YWJpbGl0eSBhbmQgZ2VzdHVyZSBUb2dnbGluZ1xuICAgICAgICAgICAgcGFubmluZ0VuYWJsZWQsXG4gICAgICAgICAgICB1c2VyUGFubmluZ0VuYWJsZWQsXG4gICAgICAgICAgICBtaW5ab29tLFxuICAgICAgICAgICAgbWF4Wm9vbSxcbiAgICAgICAgICAgIHpvb21pbmdFbmFibGVkLFxuICAgICAgICAgICAgdXNlclpvb21pbmdFbmFibGVkLFxuICAgICAgICAgICAgd2hlZWxTZW5zaXRpdml0eSxcbiAgICAgICAgICAgIGJveFNlbGVjdGlvbkVuYWJsZWQsXG4gICAgICAgICAgICBhdXRvdW5ncmFiaWZ5LFxuICAgICAgICAgICAgYXV0b2xvY2ssXG4gICAgICAgICAgICBhdXRvdW5zZWxlY3RpZnksXG4gICAgICAgICAgICAvLyBJbWFnZSBoYW5kbGluZ1xuICAgICAgICAgICAgZ2VuZXJhdGVJbWFnZSxcbiAgICAgICAgICAgIC8vIFJlc3BvbnNpdmUgZ3JhcGhzXG4gICAgICAgICAgICByZXNwb25zaXZlLFxuICAgICAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgICAgICBpZiAoT2JqZWN0LmtleXMoZ2VuZXJhdGVJbWFnZSkubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgLy8gSWYgbm8gY3l0b3NjYXBlIG9iamVjdCBoYXMgYmVlbiBjcmVhdGVkIHlldCwgYW4gaW1hZ2UgY2Fubm90IGJlIGdlbmVyYXRlZCxcbiAgICAgICAgICAgIC8vIHNvIGdlbmVyYXRlSW1hZ2Ugd2lsbCBiZSBpZ25vcmVkIGFuZCBjbGVhcmVkLlxuICAgICAgICAgICAgdGhpcy5wcm9wcy5zZXRQcm9wcyh7Z2VuZXJhdGVJbWFnZToge319KTtcbiAgICAgICAgICAgIGlmICh0aGlzLl9jeSkge1xuICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlSW1hZ2VHZW5lcmF0aW9uKFxuICAgICAgICAgICAgICAgICAgICBnZW5lcmF0ZUltYWdlLnR5cGUsXG4gICAgICAgICAgICAgICAgICAgIGdlbmVyYXRlSW1hZ2Uub3B0aW9ucyxcbiAgICAgICAgICAgICAgICAgICAgZ2VuZXJhdGVJbWFnZS5hY3Rpb24sXG4gICAgICAgICAgICAgICAgICAgIGdlbmVyYXRlSW1hZ2UuZmlsZW5hbWVcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuY3lSZXNwb25zaXZlQ2xhc3MpIHtcbiAgICAgICAgICAgIHRoaXMuY3lSZXNwb25zaXZlQ2xhc3MudG9nZ2xlKHJlc3BvbnNpdmUpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDxDeXRvc2NhcGVDb21wb25lbnRcbiAgICAgICAgICAgICAgICBpZD17aWR9XG4gICAgICAgICAgICAgICAgY3k9e3RoaXMuaGFuZGxlQ3l9XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWV9XG4gICAgICAgICAgICAgICAgc3R5bGU9e3N0eWxlfVxuICAgICAgICAgICAgICAgIGVsZW1lbnRzPXtDeXRvc2NhcGVDb21wb25lbnQubm9ybWFsaXplRWxlbWVudHMoZWxlbWVudHMpfVxuICAgICAgICAgICAgICAgIHN0eWxlc2hlZXQ9e3N0eWxlc2hlZXR9XG4gICAgICAgICAgICAgICAgbGF5b3V0PXtsYXlvdXR9XG4gICAgICAgICAgICAgICAgY29udGV4dE1lbnU9e2NvbnRleHRNZW51fVxuICAgICAgICAgICAgICAgIGNvbnRleHRNZW51RGF0YT17Y29udGV4dE1lbnVEYXRhfVxuICAgICAgICAgICAgICAgIHBhbj17cGFufVxuICAgICAgICAgICAgICAgIHpvb209e3pvb219XG4gICAgICAgICAgICAgICAgcGFubmluZ0VuYWJsZWQ9e3Bhbm5pbmdFbmFibGVkfVxuICAgICAgICAgICAgICAgIHVzZXJQYW5uaW5nRW5hYmxlZD17dXNlclBhbm5pbmdFbmFibGVkfVxuICAgICAgICAgICAgICAgIG1pblpvb209e21pblpvb219XG4gICAgICAgICAgICAgICAgbWF4Wm9vbT17bWF4Wm9vbX1cbiAgICAgICAgICAgICAgICB6b29taW5nRW5hYmxlZD17em9vbWluZ0VuYWJsZWR9XG4gICAgICAgICAgICAgICAgdXNlclpvb21pbmdFbmFibGVkPXt1c2VyWm9vbWluZ0VuYWJsZWR9XG4gICAgICAgICAgICAgICAgd2hlZWxTZW5zaXRpdml0eT17d2hlZWxTZW5zaXRpdml0eX1cbiAgICAgICAgICAgICAgICBib3hTZWxlY3Rpb25FbmFibGVkPXtib3hTZWxlY3Rpb25FbmFibGVkfVxuICAgICAgICAgICAgICAgIGF1dG91bmdyYWJpZnk9e2F1dG91bmdyYWJpZnl9XG4gICAgICAgICAgICAgICAgYXV0b2xvY2s9e2F1dG9sb2NrfVxuICAgICAgICAgICAgICAgIGF1dG91bnNlbGVjdGlmeT17YXV0b3Vuc2VsZWN0aWZ5fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgKTtcbiAgICB9XG59XG5cbkN5dG9zY2FwZS5wcm9wVHlwZXMgPSB7XG4gICAgLy8gSFRNTCBhdHRyaWJ1dGUgcHJvcHNcblxuICAgIC8qKlxuICAgICAqIFRoZSBJRCB1c2VkIHRvIGlkZW50aWZ5IHRoaXMgY29tcG9uZW50IGluIERhc2ggY2FsbGJhY2tzLlxuICAgICAqL1xuICAgIGlkOiBQcm9wVHlwZXMuc3RyaW5nLFxuXG4gICAgLyoqXG4gICAgICogU2V0cyB0aGUgY2xhc3MgbmFtZSBvZiB0aGUgZWxlbWVudCAodGhlIHZhbHVlIG9mIGFuIGVsZW1lbnQncyBodG1sXG4gICAgICogY2xhc3MgYXR0cmlidXRlKS5cbiAgICAgKi9cbiAgICBjbGFzc05hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG5cbiAgICAvKipcbiAgICAgKiBBZGQgaW5saW5lIHN0eWxlcyB0byB0aGUgcm9vdCBlbGVtZW50LlxuICAgICAqL1xuICAgIHN0eWxlOiBQcm9wVHlwZXMub2JqZWN0LFxuXG4gICAgLy8gRGFzaCBzcGVjaWZpYyBwcm9wc1xuXG4gICAgLyoqXG4gICAgICogRGFzaC1hc3NpZ25lZCBjYWxsYmFjayB0aGF0IHNob3VsZCBiZSBjYWxsZWQgd2hlbmV2ZXIgYW55IG9mIHRoZVxuICAgICAqIHByb3BlcnRpZXMgY2hhbmdlLlxuICAgICAqL1xuICAgIHNldFByb3BzOiBQcm9wVHlwZXMuZnVuYyxcblxuICAgIC8vIENvbW1vbiBwcm9wc1xuXG4gICAgLyoqXG4gICAgICogQSBsaXN0IG9mIGRpY3Rpb25hcmllcyByZXByZXNlbnRpbmcgdGhlIGVsZW1lbnRzIG9mIHRoZSBuZXR3b3Jrcy4gRWFjaCBkaWN0aW9uYXJ5IGRlc2NyaWJlcyBhbiBlbGVtZW50LCBhbmRcbiAgICAgKiBzcGVjaWZpZXMgaXRzIHB1cnBvc2UuIFRoZSBbb2ZmaWNpYWwgQ3l0b3NjYXBlLmpzIGRvY3VtZW50YXRpb25dKGh0dHBzOi8vanMuY3l0b3NjYXBlLm9yZy8jbm90YXRpb24vZWxlbWVudHMtanNvbilcbiAgICAgKiBvZmZlcnMgYW4gZXh0ZW5zaXZlIG92ZXJ2aWV3IGFuZCBleGFtcGxlcyBvZiBlbGVtZW50IGRlY2xhcmF0aW9uLlxuICAgICAqIEFsdGVybmF0aXZlbHksIGEgZGljdGlvbmFyeSB3aXRoIHRoZSBmb3JtYXQgeyAnbm9kZXMnOiBbXSwgJ2VkZ2VzJzogW10gfSBpcyBhbGxvd2VkIGF0IGluaXRpYWxpemF0aW9uLFxuICAgICAqIGJ1dCBhcnJheXMgcmVtYWluIHRoZSByZWNvbW1lbmRlZCBmb3JtYXQuXG4gICAgICovXG4gICAgZWxlbWVudHM6IFByb3BUeXBlcy5vbmVPZlR5cGUoW1xuICAgICAgICBQcm9wVHlwZXMuYXJyYXlPZihcbiAgICAgICAgICAgIFByb3BUeXBlcy5zaGFwZSh7XG4gICAgICAgICAgICAgICAgLyoqXG4gICAgICAgICAgICAgICAgICogRWl0aGVyICdub2Rlcycgb3IgJ2VkZ2VzJy4gSWYgbm90IGdpdmVuLCBpdCdzIGF1dG9tYXRpY2FsbHkgaW5mZXJyZWQuXG4gICAgICAgICAgICAgICAgICovXG4gICAgICAgICAgICAgICAgZ3JvdXA6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICAgICAgICAgICAgLyoqIEVsZW1lbnQgc3BlY2lmaWMgZGF0YS4qL1xuICAgICAgICAgICAgICAgIGRhdGE6IFByb3BUeXBlcy5zaGFwZSh7XG4gICAgICAgICAgICAgICAgICAgIC8qKiAgUmVmZXJlbmNlIHRvIHRoZSBlbGVtZW50LCB1c2VmdWwgZm9yIHNlbGVjdG9ycyBhbmQgZWRnZXMuIFJhbmRvbWx5IGFzc2lnbmVkIGlmIG5vdCBnaXZlbi4qL1xuICAgICAgICAgICAgICAgICAgICBpZDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgICAgICAgICAgICAgICAgLyoqXG4gICAgICAgICAgICAgICAgICAgICAqIE9wdGlvbmFsIG5hbWUgZm9yIHRoZSBlbGVtZW50LCB1c2VmdWwgd2hlbiBgZGF0YShsYWJlbClgIGlzIGdpdmVuIHRvIGEgc3R5bGUncyBgY29udGVudGBcbiAgICAgICAgICAgICAgICAgICAgICogb3IgYGxhYmVsYC4gSXQgaXMgb25seSBhIGNvbnZlbnRpb24uICovXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICAgICAgICAgICAgICAvKiogT25seSBmb3Igbm9kZXMuIE9wdGlvbmFsIHJlZmVyZW5jZSB0byBhbm90aGVyIG5vZGUuIE5lZWRlZCB0byBjcmVhdGUgY29tcG91bmQgbm9kZXMuICovXG4gICAgICAgICAgICAgICAgICAgIHBhcmVudDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgICAgICAgICAgICAgICAgLyoqIE9ubHkgZm9yIGVkZ2VzLiBUaGUgaWQgb2YgdGhlIHNvdXJjZSBub2RlLCB3aGljaCBpcyB3aGVyZSB0aGUgZWRnZSBzdGFydHMuICovXG4gICAgICAgICAgICAgICAgICAgIHNvdXJjZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgICAgICAgICAgICAgICAgLyoqIE9ubHkgZm9yIGVkZ2VzLiBUaGUgaWQgb2YgdGhlIHRhcmdldCBub2RlLCB3aGVyZSB0aGUgZWRnZSBlbmRzLiAqL1xuICAgICAgICAgICAgICAgICAgICB0YXJnZXQ6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgLyoqIE9ubHkgZm9yIG5vZGVzLiBUaGUgcG9zaXRpb24gb2YgdGhlIG5vZGUuICovXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IFByb3BUeXBlcy5zaGFwZSh7XG4gICAgICAgICAgICAgICAgICAgIC8qKiBUaGUgeC1jb29yZGluYXRlIG9mIHRoZSBub2RlLiAqL1xuICAgICAgICAgICAgICAgICAgICB4OiBQcm9wVHlwZXMubnVtYmVyLFxuICAgICAgICAgICAgICAgICAgICAvKiogVGhlIHktY29vcmRpbmF0ZSBvZiB0aGUgbm9kZS4gKi9cbiAgICAgICAgICAgICAgICAgICAgeTogUHJvcFR5cGVzLm51bWJlcixcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAvKiogSWYgdGhlIGVsZW1lbnQgaXMgc2VsZWN0ZWQgdXBvbiBpbml0aWFsaXNhdGlvbi4gKi9cbiAgICAgICAgICAgICAgICBzZWxlY3RlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgICAgICAgICAgICAgLyoqIElmIHRoZSBlbGVtZW50IGNhbiBiZSBzZWxlY3RlZC4gKi9cbiAgICAgICAgICAgICAgICBzZWxlY3RhYmxlOiBQcm9wVHlwZXMuYm9vbCxcbiAgICAgICAgICAgICAgICAvKiogT25seSBmb3Igbm9kZXMuIElmIHRoZSBwb3NpdGlvbiBpcyBpbW11dGFibGUuICovXG4gICAgICAgICAgICAgICAgbG9ja2VkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICAgICAgICAgICAgICAvKiogT25seSBmb3Igbm9kZXMuIElmIHRoZSBub2RlIGNhbiBiZSBncmFiYmVkIGFuZCBtb3ZlZCBieSB0aGUgdXNlci4gKi9cbiAgICAgICAgICAgICAgICBncmFiYmFibGU6IFByb3BUeXBlcy5ib29sLFxuICAgICAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICAgICAqIFNwYWNlIHNlcGFyYXRlZCBzdHJpbmcgb2YgY2xhc3MgbmFtZXMgb2YgdGhlIGVsZW1lbnQuIFRob3NlIGNsYXNzZXMgY2FuIGJlIHNlbGVjdGVkXG4gICAgICAgICAgICAgICAgICogYnkgYSBzdHlsZSBzZWxlY3Rvci5cbiAgICAgICAgICAgICAgICAgKi9cbiAgICAgICAgICAgICAgICBjbGFzc2VzOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgKSxcbiAgICAgICAgUHJvcFR5cGVzLmV4YWN0KHtcbiAgICAgICAgICAgIG5vZGVzOiBQcm9wVHlwZXMuYXJyYXksXG4gICAgICAgICAgICBlZGdlczogUHJvcFR5cGVzLmFycmF5LFxuICAgICAgICB9KSxcbiAgICBdKSxcblxuICAgIC8qKlxuICAgICAqIEEgbGlzdCBvZiBkaWN0aW9uYXJpZXMgcmVwcmVzZW50aW5nIHRoZSBzdHlsZXMgb2YgdGhlIGVsZW1lbnRzLlxuICAgICAqIEVhY2ggZGljdGlvbmFyeSByZXF1aXJlcyB0aGUgZm9sbG93aW5nIGtleXM6IGBzZWxlY3RvcmAgYW5kIGBzdHlsZWAuXG4gICAgICpcbiAgICAgKiBCb3RoIHRoZSBbc2VsZWN0b3JdKGh0dHBzOi8vanMuY3l0b3NjYXBlLm9yZy8jc2VsZWN0b3JzKSBhbmRcbiAgICAgKiB0aGUgW3N0eWxlXShodHRwczovL2pzLmN5dG9zY2FwZS5vcmcvI3N0eWxlL25vZGUtYm9keSkgYXJlXG4gICAgICogZXhoYXVzdGl2ZWx5IGRvY3VtZW50ZWQgaW4gdGhlIEN5dG9zY2FwZS5qcyBkb2NzLiBBbHRob3VnaCBtZXRob2RzIHN1Y2hcbiAgICAgKiBhcyBgY3kuZWxlbWVudHMoLi4uKWAgYW5kIGBjeS5maWx0ZXIoLi4uKWAgYXJlIG5vdCBhdmFpbGFibGUsIHRoZSBzZWxlY3RvclxuICAgICAqIHN0cmluZyBzeW50YXggc3RheXMgdGhlIHNhbWUuXG4gICAgICovXG4gICAgc3R5bGVzaGVldDogUHJvcFR5cGVzLmFycmF5T2YoXG4gICAgICAgIFByb3BUeXBlcy5leGFjdCh7XG4gICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAqIFdoaWNoIGVsZW1lbnRzIHlvdSBhcmUgc3R5bGluZy4gR2VuZXJhbGx5LCB5b3Ugc2VsZWN0IGEgZ3JvdXAgb2YgZWxlbWVudHMgKG5vZGUsIGVkZ2VzLCBib3RoKSxcbiAgICAgICAgICAgICAqIGEgY2xhc3MgKHRoYXQgeW91IGRlY2xhcmUgaW4gdGhlIGVsZW1lbnQgZGljdGlvbmFyeSksIG9yIGFuIGVsZW1lbnQgYnkgSUQuXG4gICAgICAgICAgICAgKi9cbiAgICAgICAgICAgIHNlbGVjdG9yOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAqIFdoYXQgYXNwZWN0cyBvZiB0aGUgZWxlbWVudHMgeW91IHdhbnQgdG8gbW9kaWZ5LiBUaGlzIGNvdWxkIGJlIHRoZSBzaXplIG9yXG4gICAgICAgICAgICAgKiBjb2xvciBvZiBhIG5vZGUsIHRoZSBzaGFwZSBvZiBhbiBlZGdlIGFycm93LCBvciBtYW55IG1vcmUuXG4gICAgICAgICAgICAgKi9cbiAgICAgICAgICAgIHN0eWxlOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWQsXG4gICAgICAgIH0pXG4gICAgKSxcblxuICAgIC8qKlxuICAgICAqIEEgZGljdGlvbmFyeSBzcGVjaWZ5aW5nIGhvdyB0byBzZXQgdGhlIHBvc2l0aW9uIG9mIHRoZSBlbGVtZW50cyBpbiB5b3VyXG4gICAgICogZ3JhcGguIFRoZSBgJ25hbWUnYCBrZXkgaXMgcmVxdWlyZWQsIGFuZCBpbmRpY2F0ZXMgd2hpY2ggbGF5b3V0IChhbGdvcml0aG0pIHRvXG4gICAgICogdXNlLiBUaGUga2V5cyBhY2NlcHRlZCBieSBgbGF5b3V0YCB2YXJ5IGRlcGVuZGluZyBvbiB0aGUgYWxnb3JpdGhtLCBidXQgdGhlc2VcbiAgICAgKiBrZXlzIGFyZSBhY2NlcHRlZCBieSBhbGwgbGF5b3V0czogYGZpdGAsICBgcGFkZGluZ2AsIGBhbmltYXRlYCwgYGFuaW1hdGlvbkR1cmF0aW9uYCxcbiAgICAgKiBgYm91bmRpbmdCb3hgLlxuICAgICAqXG4gICAgICogIFRoZSBjb21wbGV0ZSBsaXN0IG9mIGxheW91dHMgYW5kIHRoZWlyIGFjY2VwdGVkIG9wdGlvbnMgYXJlIGF2YWlsYWJsZSBvbiB0aGVcbiAgICAgKiAgW0N5dG9zY2FwZS5qcyBkb2NzXShodHRwczovL2pzLmN5dG9zY2FwZS5vcmcvI2xheW91dHMpIC4gRm9yIHRoZSBleHRlcm5hbCBsYXlvdXRzLFxuICAgICAqIHRoZSBvcHRpb25zIGFyZSBsaXN0ZWQgaW4gdGhlIFwiQVBJXCIgc2VjdGlvbiBvZiB0aGUgIFJFQURNRS5cbiAgICAgKiAgTm90ZSB0aGF0IGNlcnRhaW4ga2V5cyBhcmUgbm90IHN1cHBvcnRlZCBpbiBEYXNoIHNpbmNlIHRoZSB2YWx1ZSBpcyBhIEphdmFTY3JpcHRcbiAgICAgKiAgZnVuY3Rpb24gb3IgYSBjYWxsYmFjay4gUGxlYXNlIHZpc2l0IHRoaXNcbiAgICAgKiBbaXNzdWVdKGh0dHBzOi8vZ2l0aHViLmNvbS9wbG90bHkvZGFzaC1jeXRvc2NhcGUvaXNzdWVzLzI1KSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiAgICAgKi9cbiAgICBsYXlvdXQ6IFByb3BUeXBlcy5zaGFwZSh7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBUaGUgbGF5b3V0cyBhdmFpbGFibGUgYnkgZGVmYXVsdCBhcmU6XG4gICAgICAgICAqICAgYHJhbmRvbWA6IFJhbmRvbWx5IGFzc2lnbnMgcG9zaXRpb25zLlxuICAgICAgICAgKiAgIGBwcmVzZXRgOiBBc3NpZ25zIHBvc2l0aW9uIGJhc2VkIG9uIHRoZSBgcG9zaXRpb25gIGtleSBpbiBlbGVtZW50IGRpY3Rpb25hcmllcy5cbiAgICAgICAgICogICBgY2lyY2xlYDogU2luZ2xlLWxldmVsIGNpcmNsZSwgd2l0aCBvcHRpb25hbCByYWRpdXMuXG4gICAgICAgICAqICAgYGNvbmNlbnRyaWNgOiBNdWx0aS1sZXZlbCBjaXJjbGUsIHdpdGggb3B0aW9uYWwgcmFkaXVzLlxuICAgICAgICAgKiAgIGBncmlkYDogU3F1YXJlIGdyaWQsIG9wdGlvbmFsbHkgd2l0aCBudW1iZXJzIG9mIGByb3dzYCBhbmQgYGNvbHNgLlxuICAgICAgICAgKiAgIGBicmVhZHRoZmlyc3RgOiBUcmVlIHN0cnVjdHVyZSBidWlsdCB1c2luZyBCRlMsIHdpdGggb3B0aW9uYWwgYHJvb3RzYC5cbiAgICAgICAgICogICBgY29zZWA6IEZvcmNlLWRpcmVjdGVkIHBoeXNpY3Mgc2ltdWxhdGlvbi5cbiAgICAgICAgICpcbiAgICAgICAgICogU29tZSBleHRlcm5hbCBsYXlvdXRzIGFyZSBhbHNvIGluY2x1ZGVkLiBUbyB1c2UgdGhlbSwgcnVuXG4gICAgICAgICAqICAgYGRhc2hfY3l0b3NjYXBlLmxvYWRfZXh0cmFfbGF5b3V0cygpYCBiZWZvcmUgY3JlYXRpbmcgeW91ciBEYXNoIGFwcC4gQmUgY2FyZWZ1bCBhYm91dFxuICAgICAgICAgKiAgIHVzaW5nIHRoZSBleHRyYSBsYXlvdXRzIHdoZW4gbm90IG5lY2Vzc2FyeSwgc2luY2UgdGhleSByZXF1aXJlIHN1cHBsZW1lbnRhcnkgYmFuZHdpZHRoXG4gICAgICAgICAqICAgZm9yIGxvYWRpbmcsIHdoaWNoIGltcGFjdHMgdGhlIHN0YXJ0dXAgdGltZSBvZiB0aGUgYXBwLlxuICAgICAgICAgKiAgIFRoZSBleHRlcm5hbCBsYXlvdXRzIGFyZTpcbiAgICAgICAgICogICBbY29zZS1iaWxrZW50XShodHRwczovL2dpdGh1Yi5jb20vY3l0b3NjYXBlL2N5dG9zY2FwZS5qcy1jb3NlLWJpbGtlbnQpLFxuICAgICAgICAgKiAgIFtmY29zZV0oaHR0cHM6Ly9naXRodWIuY29tL2lWaXMtYXQtQmlsa2VudC9jeXRvc2NhcGUuanMtZmNvc2UpLFxuICAgICAgICAgKiAgIFtjb2xhXShodHRwczovL2dpdGh1Yi5jb20vY3l0b3NjYXBlL2N5dG9zY2FwZS5qcy1jb2xhKSxcbiAgICAgICAgICogICBbZXVsZXJdKGh0dHBzOi8vZ2l0aHViLmNvbS9jeXRvc2NhcGUvY3l0b3NjYXBlLmpzLWRhZ3JlKSxcbiAgICAgICAgICogICBbc3ByZWFkXShodHRwczovL2dpdGh1Yi5jb20vY3l0b3NjYXBlL2N5dG9zY2FwZS5qcy1zcHJlYWQpLFxuICAgICAgICAgKiAgIFtkYWdyZV0oaHR0cHM6Ly9naXRodWIuY29tL2N5dG9zY2FwZS9jeXRvc2NhcGUuanMtZGFncmUpLFxuICAgICAgICAgKiAgIFtrbGF5XShodHRwczovL2dpdGh1Yi5jb20vY3l0b3NjYXBlL2N5dG9zY2FwZS5qcy1rbGF5KSxcbiAgICAgICAgICovXG4gICAgICAgIG5hbWU6IFByb3BUeXBlcy5vbmVPZihbXG4gICAgICAgICAgICAncmFuZG9tJyxcbiAgICAgICAgICAgICdwcmVzZXQnLFxuICAgICAgICAgICAgJ2NpcmNsZScsXG4gICAgICAgICAgICAnY29uY2VudHJpYycsXG4gICAgICAgICAgICAnZ3JpZCcsXG4gICAgICAgICAgICAnYnJlYWR0aGZpcnN0JyxcbiAgICAgICAgICAgICdjb3NlJyxcbiAgICAgICAgICAgICdjb3NlLWJpbGtlbnQnLFxuICAgICAgICAgICAgJ2Zjb3NlJyxcbiAgICAgICAgICAgICdjb2xhJyxcbiAgICAgICAgICAgICdldWxlcicsXG4gICAgICAgICAgICAnc3ByZWFkJyxcbiAgICAgICAgICAgICdkYWdyZScsXG4gICAgICAgICAgICAna2xheScsXG4gICAgICAgIF0pLmlzUmVxdWlyZWQsXG4gICAgICAgIC8qKiAgV2hldGhlciB0byByZW5kZXIgdGhlIG5vZGVzIGluIG9yZGVyIHRvIGZpdCB0aGUgY2FudmFzLiAqL1xuICAgICAgICBmaXQ6IFByb3BUeXBlcy5ib29sLFxuICAgICAgICAvKiogUGFkZGluZyBhcm91bmQgdGhlIHNpZGVzIG9mIHRoZSBjYW52YXMsIGlmIGZpdCBpcyBlbmFibGVkLiAqL1xuICAgICAgICBwYWRkaW5nOiBQcm9wVHlwZXMubnVtYmVyLFxuICAgICAgICAvKiogV2hldGhlciB0byBhbmltYXRlIGNoYW5nZSBpbiBwb3NpdGlvbiB3aGVuIHRoZSBsYXlvdXQgY2hhbmdlcy4gKi9cbiAgICAgICAgYW5pbWF0ZTogUHJvcFR5cGVzLmJvb2wsXG4gICAgICAgIC8qKiBEdXJhdGlvbiBvZiBhbmltYXRpb24gaW4gbWlsbGlzZWNvbmRzLCBpZiBlbmFibGVkLiAqL1xuICAgICAgICBhbmltYXRpb25EdXJhdGlvbjogUHJvcFR5cGVzLm51bWJlcixcbiAgICAgICAgLyoqXG4gICAgICAgICAqIEhvdyB0byBjb25zdHJhaW4gdGhlIGxheW91dCBpbiBhIHNwZWNpZmljIGFyZWEuIEtleXMgYWNjZXB0ZWQgYXJlIGVpdGhlclxuICAgICAgICAgKiBgeDEsIHkxLCB4MiwgeTJgIG9yIGB4MSwgeTEsIHcsIGhgLCBhbGwgb2Ygd2hpY2ggcmVjZWl2ZSBhIHBpeGVsIHZhbHVlLlxuICAgICAgICAgKi9cbiAgICAgICAgYm91bmRpbmdCb3g6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgfSksXG4gICAgLyoqXG4gICAgICogRGVmaW5lIGEgY3VzdG9tIGNvbnRleHQgbWVudS4gVGhlIGJlaGF2aW91ciBvZiBlYWNoIG1lbnUgaXRlbSBjYW4gYmUgZGVmaW5lZCBpbiAxIG9mIDMgd2F5cy5cbiAgICAgKiAxLiBCeSBwYXNzaW5nIGEgc3RyaW5nIHRvIG9uQ2xpY2sgdGhhdCByZWZlcnMgdG8gb25lIG9mIHRoZSBidWlsdC1pbiBKYXZhc2NyaXB0IGZ1bmN0aW9ucy5cbiAgICAgKiAyLiBCeSBwYXNzaW5nIGEgc3RyaW5nIHRvIG9uQ2xpY2tDdXN0b20gdGhhdCByZWZlcnMgdG8gb25lIG9mIHRoZSB1c2VyLWRlZmluZWQgZnVuY3Rpb25zIGluIGEgbmFtZXNwYWNlLlxuICAgICAqIDMuIEJ5IG9taXR0aW5nIGJvdGggb2YgdGhlc2UgcHJvcGVydGllczsgdGhpcyB3aWxsIHVwZGF0ZSB0aGUgY29udGV4dE1lbnVEYXRhIHByb3BlcnR5IGFuZCB0cmlnZ2VyIGEgRGFzaCBjYWxsYmFjay5cbiAgICAgKi9cbiAgICBjb250ZXh0TWVudTogUHJvcFR5cGVzLmFycmF5T2YoXG4gICAgICAgIFByb3BUeXBlcy5leGFjdCh7XG4gICAgICAgICAgICAvKiogSUQgb2YgdGhlIG1lbnUgaXRlbSBpbiB0aGUgY29udGV4dCBtZW51ICovXG4gICAgICAgICAgICBpZDogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICAgICAgICAgICAgLyoqIFRoZSBsYWJlbCBvbiB0aGUgY29udGV4dCBtZW51IGl0ZW0qL1xuICAgICAgICAgICAgbGFiZWw6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgICAgICAgICAgIC8qKiBUaGUgdG9vbHRpcCB0ZXh0IHdoZW4gaG92ZXJpbmcgb24gdG9wIG9mIGEgY29udGV4dCBtZW51IGl0ZW0gKi9cbiAgICAgICAgICAgIHRvb2x0aXBUZXh0OiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICAgICAgLyoqIEEgbGlzdCBjb250YWluaW5nIGVpdGhlciAnbm9kZScsICdlZGdlJyxhbmQvb3IgJ2NhbnZhcycuIFRoaXMgd2lsbCBkZXRlcm1pbmUgd2hlcmUgdGhlIGNvbnRleHRcbiAgICAgICAgICAgICAqICBtZW51IGl0ZW0gd2lsbCBzaG93IHVwLlxuICAgICAgICAgICAgICovXG4gICAgICAgICAgICBhdmFpbGFibGVPbjogUHJvcFR5cGVzLmFycmF5LFxuICAgICAgICAgICAgLyoqIFNwZWNpZnkgd2hpY2ggYnVpbHQtaW4gSmF2YVNjcmlwdCBmdW5jdGlvbiB0byB1c2UgYXMgYmVoYXZpb3VyIGZvciB0aGUgY29udGV4dFxuICAgICAgICAgICAgICogbWVudSBpdGVtLiBPbmUgb2YgJ3JlbW92ZScsICdhZGRfbm9kZScsIG9yICdhZGRfZWRnZSdcbiAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgb25DbGljazogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgICAgICAgIC8qKiBTcGVjaWZ5IHdoaWNoIHVzZXItZGVmaW5lZCBKYXZhc2NyaXB0IGZ1bmN0aW9uIHRvIHVzZSBpbiB0aGUgZGFzaEN5dG9zY2FwZUZ1bmN0aW9uc1xuICAgICAgICAgICAgICogbmFtZXNwYWNlIGFzIGJlaGF2aW91ciBmb3IgdGhlIGNvbnRleHQgbWVudSBpdGVtXG4gICAgICAgICAgICAgKi9cbiAgICAgICAgICAgIG9uQ2xpY2tDdXN0b206IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICAgIH0pXG4gICAgKSxcbiAgICAvKipcbiAgICAgKiBSZXRyaWV2ZSByZWxldmFudCBkYXRhIHdoZW4gYSBjb250ZXh0IG1lbnUgaXRlbSBpcyBjbGlja2VkLiAgUmVhZC1vbmx5LlxuICAgICAqL1xuICAgIGNvbnRleHRNZW51RGF0YTogUHJvcFR5cGVzLmV4YWN0KHtcbiAgICAgICAgLyoqIElEIG9mIHRoZSBtZW51IGl0ZW0gaW4gdGhlIGNvbnRleHQgbWVudSAqL1xuICAgICAgICBtZW51SXRlbUlkOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICAvKiogeC1wb3NpdGlvbiBvZiB0aGUgY29udGV4dCBjbGljayAqL1xuICAgICAgICB4OiBQcm9wVHlwZXMubnVtYmVyLFxuICAgICAgICAvKiogeS1wb3NpdGlvbiBvZiB0aGUgY29udGV4dCBjbGljayAqL1xuICAgICAgICB5OiBQcm9wVHlwZXMubnVtYmVyLFxuICAgICAgICAvKiogVGltZXN0YW1wIG9mIGNvbnRleHQgY2xpY2sqL1xuICAgICAgICB0aW1lU3RhbXA6IFByb3BUeXBlcy5udW1iZXIsXG4gICAgICAgIC8qKiBFbGVtZW50IElEIG9uIGNvbnRleHQgY2xpY2sgaWYgdGhlIGNvbnRleHQgY2xpY2sgd2FzIG9uIGFuIGVsZW1lbnQuXG4gICAgICAgICAqIElmIGNvbnRleHQgY2xpY2sgd2FzIG9uIHdoaXRlIHNwYWNlLCB0aGlzIHByb3BlcnR5IGlzIG5vdCByZXR1cm5lZFxuICAgICAgICAgKi9cbiAgICAgICAgZWxlbWVudElkOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICAvKiogTm9kZSBJRCBvZiB0aGUgZWRnZSBzb3VyY2UgaWYgdGhlIGNsaWNrZWQgZWxlbWVudCBpcyBhbiBlZGdlLFxuICAgICAgICAgKiBvciBlbHNlIHRoaXMgcHJvcGVydHkgaXMgbm90IHJldHVybmVkKi9cbiAgICAgICAgZWRnZVNvdXJjZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgICAgLyoqIE5vZGUgSUQgb2YgdGhlIGVkZ2UgdGFyZ2V0IGlmIHRoZSBjbGlja2VkIGVsZW1lbnQgaXMgYW4gZWRnZSxcbiAgICAgICAgICogb3IgZWxzZSB0aGlzIHByb3BlcnR5IGlzIG5vdCByZXR1cm5lZCovXG4gICAgICAgIGVkZ2VUYXJnZXQ6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgfSksXG4gICAgLy8gVmlld3BvcnQgTWFuaXB1bGF0aW9uXG5cbiAgICAvKipcbiAgICAgKiBEaWN0aW9uYXJ5IGluZGljYXRpbmcgdGhlIGluaXRpYWwgcGFubmluZyBwb3NpdGlvbiBvZiB0aGUgZ3JhcGguIFRoZVxuICAgICAqIGZvbGxvd2luZyBrZXlzIGFyZSBhY2NlcHRlZDpcbiAgICAgKi9cbiAgICBwYW46IFByb3BUeXBlcy5leGFjdCh7XG4gICAgICAgIC8qKiBUaGUgeC1jb29yZGluYXRlIG9mIHRoZSBub2RlICovXG4gICAgICAgIHg6IFByb3BUeXBlcy5udW1iZXIsXG4gICAgICAgIC8qKiBUaGUgeS1jb29yZGluYXRlIG9mIHRoZSBub2RlICAqL1xuICAgICAgICB5OiBQcm9wVHlwZXMubnVtYmVyLFxuICAgIH0pLFxuXG4gICAgLyoqXG4gICAgICogVGhlIGluaXRpYWwgem9vbSBsZXZlbCBvZiB0aGUgZ3JhcGguIFlvdSBjYW4gc2V0IGBtaW5ab29tYCBhbmRcbiAgICAgKiBgbWF4Wm9vbWAgdG8gc2V0IHJlc3RyaWN0aW9ucyBvbiB0aGUgem9vbSBsZXZlbC5cbiAgICAgKi9cbiAgICB6b29tOiBQcm9wVHlwZXMubnVtYmVyLFxuXG4gICAgLy8gVmlld3BvcnQgTXV0YWJpbGl0eSBhbmQgZ2VzdHVyZSBUb2dnbGluZ1xuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgcGFubmluZyB0aGUgZ3JhcGggaXMgZW5hYmxlZCAoaS5lLiwgdGhlIHBvc2l0aW9uIG9mIHRoZSBncmFwaCBpc1xuICAgICAqIG11dGFibGUgb3ZlcmFsbCkuXG4gICAgICovXG4gICAgcGFubmluZ0VuYWJsZWQ6IFByb3BUeXBlcy5ib29sLFxuXG4gICAgLyoqXG4gICAgICogV2hldGhlciB1c2VyIGV2ZW50cyAoZS5nLiBkcmFnZ2luZyB0aGUgZ3JhcGggYmFja2dyb3VuZCkgYXJlIGFsbG93ZWQgdG9cbiAgICAgKiBwYW4gdGhlIGdyYXBoLlxuICAgICAqL1xuICAgIHVzZXJQYW5uaW5nRW5hYmxlZDogUHJvcFR5cGVzLmJvb2wsXG5cbiAgICAvKipcbiAgICAgKiBBIG1pbmltdW0gYm91bmQgb24gdGhlIHpvb20gbGV2ZWwgb2YgdGhlIGdyYXBoLiBUaGUgdmlld3BvcnQgY2FuIG5vdCBiZVxuICAgICAqIHNjYWxlZCBzbWFsbGVyIHRoYW4gdGhpcyB6b29tIGxldmVsLlxuICAgICAqL1xuICAgIG1pblpvb206IFByb3BUeXBlcy5udW1iZXIsXG5cbiAgICAvKipcbiAgICAgKiBBIG1heGltdW0gYm91bmQgb24gdGhlIHpvb20gbGV2ZWwgb2YgdGhlIGdyYXBoLiBUaGUgdmlld3BvcnQgY2FuIG5vdCBiZVxuICAgICAqIHNjYWxlZCBsYXJnZXIgdGhhbiB0aGlzIHpvb20gbGV2ZWwuXG4gICAgICovXG4gICAgbWF4Wm9vbTogUHJvcFR5cGVzLm51bWJlcixcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgem9vbWluZyB0aGUgZ3JhcGggaXMgZW5hYmxlZCAoaS5lLiwgdGhlIHpvb20gbGV2ZWwgb2YgdGhlIGdyYXBoXG4gICAgICogaXMgbXV0YWJsZSBvdmVyYWxsKS5cbiAgICAgKi9cbiAgICB6b29taW5nRW5hYmxlZDogUHJvcFR5cGVzLmJvb2wsXG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHVzZXIgZXZlbnRzIChlLmcuIGRyYWdnaW5nIHRoZSBncmFwaCBiYWNrZ3JvdW5kKSBhcmUgYWxsb3dlZFxuICAgICAqIHRvIHBhbiB0aGUgZ3JhcGguXG4gICAgICovXG4gICAgdXNlclpvb21pbmdFbmFibGVkOiBQcm9wVHlwZXMuYm9vbCxcblxuICAgIC8qKlxuICAgICAqIENoYW5nZXMgdGhlIHNjcm9sbCB3aGVlbCBzZW5zaXRpdml0eSB3aGVuIHpvb21pbmcuXG4gICAgICovXG4gICAgd2hlZWxTZW5zaXRpdml0eTogUHJvcFR5cGVzLm51bWJlcixcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgYm94IHNlbGVjdGlvbiAoaS5lLiBkcmFnIGEgYm94IG92ZXJsYXkgYXJvdW5kLCBhbmQgcmVsZWFzZSBpdFxuICAgICAqIHRvIHNlbGVjdCkgaXMgZW5hYmxlZC4gSWYgZW5hYmxlZCwgdGhlIHVzZXIgbXVzdCB0YXBob2xkIHRvIHBhbiB0aGUgZ3JhcGguXG4gICAgICovXG4gICAgYm94U2VsZWN0aW9uRW5hYmxlZDogUHJvcFR5cGVzLmJvb2wsXG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIG5vZGVzIHNob3VsZCBiZSB1bmdyYWJpZmllZCAobm90IGdyYWJiYWJsZSBieSB1c2VyKSBieVxuICAgICAqIGRlZmF1bHQgKGlmIHRydWUsIG92ZXJyaWRlcyBpbmRpdmlkdWFsIG5vZGUgc3RhdGUpLlxuICAgICAqL1xuICAgIGF1dG91bmdyYWJpZnk6IFByb3BUeXBlcy5ib29sLFxuXG4gICAgLyoqXG4gICAgICogV2hldGhlciBub2RlcyBzaG91bGQgYmUgbG9ja2VkIChub3QgZHJhZ2dhYmxlIGF0IGFsbCkgYnkgZGVmYXVsdFxuICAgICAqIChpZiB0cnVlLCBvdmVycmlkZXMgaW5kaXZpZHVhbCBub2RlIHN0YXRlKS5cbiAgICAgKi9cbiAgICBhdXRvbG9jazogUHJvcFR5cGVzLmJvb2wsXG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIG5vZGVzIHNob3VsZCBiZSB1bnNlbGVjdGlmaWVkIChpbW11dGFibGUgc2VsZWN0aW9uIHN0YXRlKSBieVxuICAgICAqIGRlZmF1bHQgKGlmIHRydWUsIG92ZXJyaWRlcyBpbmRpdmlkdWFsIGVsZW1lbnQgc3RhdGUpLlxuICAgICAqL1xuICAgIGF1dG91bnNlbGVjdGlmeTogUHJvcFR5cGVzLmJvb2wsXG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRoZSBsYXlvdXQgc2hvdWxkIGJlIHJlZnJlc2hlZCB3aGVuIGVsZW1lbnRzIGFyZSBhZGRlZCBvciByZW1vdmVkLlxuICAgICAqL1xuICAgIGF1dG9SZWZyZXNoTGF5b3V0OiBQcm9wVHlwZXMuYm9vbCxcblxuICAgIC8vIFVzZXIgRXZlbnRzIFByb3BzXG5cbiAgICAvKipcbiAgICAgKiBUaGUgY29tcGxldGUgbm9kZSBkaWN0aW9uYXJ5IHJldHVybmVkIHdoZW4geW91IHRhcCBvciBjbGljayBpdC4gUmVhZC1vbmx5LlxuICAgICAqL1xuICAgIHRhcE5vZGU6IFByb3BUeXBlcy5leGFjdCh7XG4gICAgICAgIC8qKiBub2RlIHNwZWNpZmljIGl0ZW0gKi9cbiAgICAgICAgZWRnZXNEYXRhOiBQcm9wVHlwZXMuYXJyYXksXG4gICAgICAgIC8qKiBub2RlIHNwZWNpZmljIGl0ZW0gKi9cbiAgICAgICAgcmVuZGVyZWRQb3NpdGlvbjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICAgICAgLyoqIG5vZGUgc3BlY2lmaWMgaXRlbSAqL1xuICAgICAgICB0aW1lU3RhbXA6IFByb3BUeXBlcy5udW1iZXIsXG4gICAgICAgIC8qKiBHZW5lcmFsIGl0ZW0gKGZvciBhbGwgZWxlbWVudHMpICovXG4gICAgICAgIGNsYXNzZXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICAgIC8qKiBHZW5lcmFsIGl0ZW0gKGZvciBhbGwgZWxlbWVudHMpICovXG4gICAgICAgIGRhdGE6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgICAgIC8qKiBHZW5lcmFsIGl0ZW0gKGZvciBhbGwgZWxlbWVudHMpICovXG4gICAgICAgIGdyYWJiYWJsZTogUHJvcFR5cGVzLmJvb2wsXG4gICAgICAgIC8qKiBHZW5lcmFsIGl0ZW0gKGZvciBhbGwgZWxlbWVudHMpICovXG4gICAgICAgIGdyb3VwOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICAvKiogR2VuZXJhbCBpdGVtIChmb3IgYWxsIGVsZW1lbnRzKSAqL1xuICAgICAgICBsb2NrZWQ6IFByb3BUeXBlcy5ib29sLFxuICAgICAgICAvKiogR2VuZXJhbCBpdGVtIChmb3IgYWxsIGVsZW1lbnRzKSAqL1xuICAgICAgICBwb3NpdGlvbjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICAgICAgLyoqIEdlbmVyYWwgaXRlbSAoZm9yIGFsbCBlbGVtZW50cykgKi9cbiAgICAgICAgc2VsZWN0YWJsZTogUHJvcFR5cGVzLmJvb2wsXG4gICAgICAgIC8qKiBHZW5lcmFsIGl0ZW0gKGZvciBhbGwgZWxlbWVudHMpICovXG4gICAgICAgIHNlbGVjdGVkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICAgICAgLyoqIEdlbmVyYWwgaXRlbSAoZm9yIGFsbCBlbGVtZW50cykgKi9cbiAgICAgICAgc3R5bGU6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgICAgIC8qKiBJdGVtIGZvciBjb21wb3VuZCBub2RlcyAqL1xuICAgICAgICBhbmNlc3RvcnNEYXRhOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMub2JqZWN0LCBQcm9wVHlwZXMuYXJyYXldKSxcbiAgICAgICAgLyoqIEl0ZW0gZm9yIGNvbXBvdW5kIG5vZGVzICovXG4gICAgICAgIGNoaWxkcmVuRGF0YTogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLm9iamVjdCwgUHJvcFR5cGVzLmFycmF5XSksXG4gICAgICAgIC8qKiBJdGVtIGZvciBjb21wb3VuZCBub2RlcyAqL1xuICAgICAgICBkZXNjZW5kYW50c0RhdGE6IFByb3BUeXBlcy5vbmVPZlR5cGUoW1xuICAgICAgICAgICAgUHJvcFR5cGVzLm9iamVjdCxcbiAgICAgICAgICAgIFByb3BUeXBlcy5hcnJheSxcbiAgICAgICAgXSksXG4gICAgICAgIC8qKiBJdGVtIGZvciBjb21wb3VuZCBub2RlcyAqL1xuICAgICAgICBwYXJlbnREYXRhOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMub2JqZWN0LCBQcm9wVHlwZXMuYXJyYXldKSxcbiAgICAgICAgLyoqIEl0ZW0gZm9yIGNvbXBvdW5kIG5vZGVzICovXG4gICAgICAgIHNpYmxpbmdzRGF0YTogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLm9iamVjdCwgUHJvcFR5cGVzLmFycmF5XSksXG4gICAgICAgIC8qKiBJdGVtIGZvciBjb21wb3VuZCBub2RlcyAqL1xuICAgICAgICBpc1BhcmVudDogUHJvcFR5cGVzLmJvb2wsXG4gICAgICAgIC8qKiBJdGVtIGZvciBjb21wb3VuZCBub2RlcyAqL1xuICAgICAgICBpc0NoaWxkbGVzczogUHJvcFR5cGVzLmJvb2wsXG4gICAgICAgIC8qKiBJdGVtIGZvciBjb21wb3VuZCBub2RlcyAqL1xuICAgICAgICBpc0NoaWxkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICAgICAgLyoqIEl0ZW0gZm9yIGNvbXBvdW5kIG5vZGVzICovXG4gICAgICAgIGlzT3JwaGFuOiBQcm9wVHlwZXMuYm9vbCxcbiAgICAgICAgLyoqIEl0ZW0gZm9yIGNvbXBvdW5kIG5vZGVzICovXG4gICAgICAgIHJlbGF0aXZlUG9zaXRpb246IFByb3BUeXBlcy5vYmplY3QsXG4gICAgfSksXG5cbiAgICAvKipcbiAgICAgKiBUaGUgZGF0YSBkaWN0aW9uYXJ5IG9mIGEgbm9kZSByZXR1cm5lZCB3aGVuIHlvdSB0YXAgb3IgY2xpY2sgaXQuIFJlYWQtb25seS5cbiAgICAgKi9cbiAgICB0YXBOb2RlRGF0YTogUHJvcFR5cGVzLm9iamVjdCxcblxuICAgIC8qKlxuICAgICAqIFRoZSBjb21wbGV0ZSBlZGdlIGRpY3Rpb25hcnkgcmV0dXJuZWQgd2hlbiB5b3UgdGFwIG9yIGNsaWNrIGl0LiBSZWFkLW9ubHkuXG4gICAgICovXG4gICAgdGFwRWRnZTogUHJvcFR5cGVzLmV4YWN0KHtcbiAgICAgICAgLyoqIEVkZ2Utc3BlY2lmaWMgaXRlbSAqL1xuICAgICAgICBpc0xvb3A6IFByb3BUeXBlcy5ib29sLFxuICAgICAgICAvKiogRWRnZS1zcGVjaWZpYyBpdGVtICovXG4gICAgICAgIGlzU2ltcGxlOiBQcm9wVHlwZXMuYm9vbCxcbiAgICAgICAgLyoqIEVkZ2Utc3BlY2lmaWMgaXRlbSAqL1xuICAgICAgICBtaWRwb2ludDogUHJvcFR5cGVzLm9iamVjdCxcbiAgICAgICAgLyoqIEVkZ2Utc3BlY2lmaWMgaXRlbSAqL1xuICAgICAgICBzb3VyY2VEYXRhOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgICAgICAvKiogRWRnZS1zcGVjaWZpYyBpdGVtICovXG4gICAgICAgIHNvdXJjZUVuZHBvaW50OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgICAgICAvKiogRWRnZS1zcGVjaWZpYyBpdGVtICovXG4gICAgICAgIHRhcmdldERhdGE6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgICAgIC8qKiBFZGdlLXNwZWNpZmljIGl0ZW0gKi9cbiAgICAgICAgdGFyZ2V0RW5kcG9pbnQ6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgICAgIC8qKiBFZGdlLXNwZWNpZmljIGl0ZW0gKi9cbiAgICAgICAgdGltZVN0YW1wOiBQcm9wVHlwZXMubnVtYmVyLFxuICAgICAgICAvKiogR2VuZXJhbCBpdGVtIChmb3IgYWxsIGVsZW1lbnRzKSAqL1xuICAgICAgICBjbGFzc2VzOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICAvKiogR2VuZXJhbCBpdGVtIChmb3IgYWxsIGVsZW1lbnRzKSAqL1xuICAgICAgICBkYXRhOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgICAgICAvKiogR2VuZXJhbCBpdGVtIChmb3IgYWxsIGVsZW1lbnRzKSAqL1xuICAgICAgICBncmFiYmFibGU6IFByb3BUeXBlcy5ib29sLFxuICAgICAgICAvKiogR2VuZXJhbCBpdGVtIChmb3IgYWxsIGVsZW1lbnRzKSAqL1xuICAgICAgICBncm91cDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgICAgLyoqIEdlbmVyYWwgaXRlbSAoZm9yIGFsbCBlbGVtZW50cykgKi9cbiAgICAgICAgbG9ja2VkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICAgICAgLyoqIEdlbmVyYWwgaXRlbSAoZm9yIGFsbCBlbGVtZW50cykgKi9cbiAgICAgICAgc2VsZWN0YWJsZTogUHJvcFR5cGVzLmJvb2wsXG4gICAgICAgIC8qKiBHZW5lcmFsIGl0ZW0gKGZvciBhbGwgZWxlbWVudHMpICovXG4gICAgICAgIHNlbGVjdGVkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICAgICAgLyoqIEdlbmVyYWwgaXRlbSAoZm9yIGFsbCBlbGVtZW50cykgKi9cbiAgICAgICAgc3R5bGU6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgfSksXG5cbiAgICAvKipcbiAgICAgKiBUaGUgZGF0YSBkaWN0aW9uYXJ5IG9mIGFuIGVkZ2UgcmV0dXJuZWQgd2hlbiB5b3UgdGFwIG9yIGNsaWNrIGl0LiBSZWFkLW9ubHkuXG4gICAgICovXG4gICAgdGFwRWRnZURhdGE6IFByb3BUeXBlcy5vYmplY3QsXG5cbiAgICAvKipcbiAgICAgKiBUaGUgZGF0YSBkaWN0aW9uYXJ5IG9mIGEgbm9kZSByZXR1cm5lZCB3aGVuIHlvdSBob3ZlciBvdmVyIGl0LiBSZWFkLW9ubHkuXG4gICAgICovXG4gICAgbW91c2VvdmVyTm9kZURhdGE6IFByb3BUeXBlcy5vYmplY3QsXG5cbiAgICAvKipcbiAgICAgKiBUaGUgZGF0YSBkaWN0aW9uYXJ5IG9mIGFuIGVkZ2UgcmV0dXJuZWQgd2hlbiB5b3UgaG92ZXIgb3ZlciBpdC4gUmVhZC1vbmx5LlxuICAgICAqL1xuICAgIG1vdXNlb3ZlckVkZ2VEYXRhOiBQcm9wVHlwZXMub2JqZWN0LFxuXG4gICAgLyoqXG4gICAgICogVGhlIGxpc3Qgb2YgZGF0YSBkaWN0aW9uYXJpZXMgb2YgYWxsIHNlbGVjdGVkIG5vZGVzIChlLmcuIHVzaW5nXG4gICAgICogU2hpZnQrQ2xpY2sgdG8gc2VsZWN0IG11bHRpcGxlIG5vZGVzLCBvciBTaGlmdCtEcmFnIHRvIHVzZSBib3ggc2VsZWN0aW9uKS4gUmVhZC1vbmx5LlxuICAgICAqL1xuICAgIHNlbGVjdGVkTm9kZURhdGE6IFByb3BUeXBlcy5hcnJheSxcblxuICAgIC8qKlxuICAgICAqIFRoZSBsaXN0IG9mIGRhdGEgZGljdGlvbmFyaWVzIG9mIGFsbCBzZWxlY3RlZCBlZGdlcyAoZS5nLiB1c2luZ1xuICAgICAqIFNoaWZ0K0NsaWNrIHRvIHNlbGVjdCBtdWx0aXBsZSBub2Rlcywgb3IgU2hpZnQrRHJhZyB0byB1c2UgYm94IHNlbGVjdGlvbikuIFJlYWQtb25seS5cbiAgICAgKi9cbiAgICBzZWxlY3RlZEVkZ2VEYXRhOiBQcm9wVHlwZXMuYXJyYXksXG5cbiAgICAvKipcbiAgICAgKiBEaWN0aW9uYXJ5IHNwZWNpZnlpbmcgb3B0aW9ucyB0byBnZW5lcmF0ZSBhbiBpbWFnZSBvZiB0aGUgY3VycmVudCBjeXRvc2NhcGUgZ3JhcGguXG4gICAgICogVmFsdWUgaXMgY2xlYXJlZCBhZnRlciBkYXRhIGlzIHJlY2VpdmVkIGFuZCBpbWFnZSBpcyBnZW5lcmF0ZWQuIFRoaXMgcHJvcGVydHkgd2lsbFxuICAgICAqIGJlIGlnbm9yZWQgb24gdGhlIGluaXRpYWwgY3JlYXRpb24gb2YgdGhlIGN5dG9zY2FwZSBvYmplY3QgYW5kIG11c3QgYmUgaW52b2tlZCB0aHJvdWdoXG4gICAgICogYSBjYWxsYmFjayBhZnRlciBpdCBoYXMgYmVlbiByZW5kZXJlZC5cbiAgICAgKlxuICAgICAqIElmIHRoZSBhcHAgZG9lcyBub3QgbmVlZCB0aGUgaW1hZ2UgZGF0YSBzZXJ2ZXIgc2lkZSBhbmQvb3IgaXQgd2lsbCBvbmx5IGJlIHVzZWQgdG8gZG93bmxvYWRcbiAgICAgKiB0aGUgaW1hZ2UsIGl0IG1heSBiZSBwcnVkZW50IHRvIGludm9rZSBgJ2Rvd25sb2FkJ2AgZm9yIGBhY3Rpb25gIGluc3RlYWQgb2ZcbiAgICAgKiBgJ3N0b3JlJ2AgdG8gaW1wcm92ZSBwZXJmb3JtYW5jZSBieSBwcmV2ZW50aW5nIHRyYW5zZmVyIG9mIGRhdGEgdG8gdGhlIHNlcnZlci5cbiAgICAgKi9cbiAgICBnZW5lcmF0ZUltYWdlOiBQcm9wVHlwZXMuc2hhcGUoe1xuICAgICAgICAvKiogRmlsZSB0eXBlIHRvIG91dHB1dCAgKi9cbiAgICAgICAgdHlwZTogUHJvcFR5cGVzLm9uZU9mKFsnc3ZnJywgJ3BuZycsICdqcGcnLCAnanBlZyddKSxcbiAgICAgICAgLyoqIERpY3Rpb25hcnkgb2Ygb3B0aW9ucyB0byBjeS5wbmcoKSAvIGN5LmpwZygpIG9yIGN5LnN2ZygpIGZvciBpbWFnZSBnZW5lcmF0aW9uLlxuICAgICAgICAgKiBTZWUgaHR0cHM6Ly9qcy5jeXRvc2NhcGUub3JnLyNjb3JlL2V4cG9ydCBmb3IgZGV0YWlscy4gRm9yIGAnb3V0cHV0J2AsIG9ubHkgJ2Jhc2U2NCdcbiAgICAgICAgICogYW5kICdiYXNlNjR1cmknIGFyZSBzdXBwb3J0ZWQuIERlZmF1bHQ6IGB7J291dHB1dCc6ICdiYXNlNjR1cmknfWAuKi9cbiAgICAgICAgb3B0aW9uczogUHJvcFR5cGVzLm9iamVjdCxcbiAgICAgICAgLyoqXG4gICAgICAgICAqIGAnc3RvcmUnYDogU3RvcmVzIHRoZSBpbWFnZSBkYXRhIChvbmx5IGpwZyBhbmQgcG5nIGFyZSBzdXBwb3J0ZWQpXG4gICAgICAgICAqIGluIGBpbWFnZURhdGFgIGFuZCBpbnZva2VzIHNlcnZlci1zaWRlIERhc2ggY2FsbGJhY2tzLiBgJ2Rvd25sb2FkJ2A6IERvd25sb2FkcyB0aGUgaW1hZ2VcbiAgICAgICAgICogYXMgYSBmaWxlIHdpdGggYWxsIGRhdGEgaGFuZGxpbmcgZG9uZSBjbGllbnQtc2lkZS4gTm8gYGltYWdlRGF0YWAgY2FsbGJhY2tzIGFyZSBmaXJlZC5cbiAgICAgICAgICogYCdib3RoJ2A6IFN0b3JlcyBpbWFnZSBkYXRhIGFuZCBkb3dubG9hZHMgaW1hZ2UgYXMgZmlsZS4gVGhlIGRlZmF1bHQgaXMgYCdzdG9yZSdgXG4gICAgICAgICAqL1xuICAgICAgICBhY3Rpb246IFByb3BUeXBlcy5vbmVPZihbJ3N0b3JlJywgJ2Rvd25sb2FkJywgJ2JvdGgnXSksXG4gICAgICAgIC8qKiBOYW1lIGZvciB0aGUgZmlsZSB0byBiZSBkb3dubG9hZGVkLiBEZWZhdWx0OiAnY3l0bycuKi9cbiAgICAgICAgZmlsZW5hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgfSksXG5cbiAgICAvKipcbiAgICAgKiBTdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhlIGltYWdlIHJlcXVlc3RlZCB3aXRoIGdlbmVyYXRlSW1hZ2UuIE51bGwgaWYgbm9cbiAgICAgKiBpbWFnZSB3YXMgcmVxdWVzdGVkIHlldCBvciB0aGUgcHJldmlvdXMgcmVxdWVzdCBmYWlsZWQuIFJlYWQtb25seS5cbiAgICAgKi9cbiAgICBpbWFnZURhdGE6IFByb3BUeXBlcy5zdHJpbmcsXG5cbiAgICAvKipcbiAgICAgKiBUb2dnbGVzIGludGVsbGlnZW50IHJlc3BvbnNpdmUgcmVzaXplIG9mIEN5dG9zY2FwZSBncmFwaCB3aXRoIHZpZXdwb3J0IHNpemUgY2hhbmdlXG4gICAgICovXG4gICAgcmVzcG9uc2l2ZTogUHJvcFR5cGVzLmJvb2wsXG5cbiAgICAvKipcbiAgICAgKiBFeHRlbnQgb2YgdGhlIHZpZXdwb3J0LCBhIGJvdW5kaW5nIGJveCBpbiBtb2RlbCBjby1vcmRpbmF0ZXMgdGhhdCBsZXRzIHlvdSBrbm93IHdoYXQgbW9kZWxcbiAgICAgKiBwb3NpdGlvbnMgYXJlIHZpc2libGUgaW4gdGhlIHZpZXdwb3J0LiBUaGlzIGZ1bmN0aW9uIHJldHVybnMgYSBwbGFpbiBvYmplY3QgYm91bmRpbmcgYm94XG4gICAgICogd2l0aCBmb3JtYXQgeyB4MSwgeTEsIHgyLCB5MiwgdywgaCB9LlxuICAgICAqL1xuICAgIGV4dGVudDogUHJvcFR5cGVzLm9iamVjdCxcblxuICAgIC8qKlxuICAgICAqIElmIHNldCB0byBUcnVlLCBtb3VzZW92ZXJOb2RlRGF0YSBhbmQgbW91c2VvdmVyRWRnZURhdGEgd2lsbCBiZSBjbGVhcmVkIG9uIHVuaG92ZXIuXG4gICAgICogSWYgc2V0IHRvIEZhbHNlLCB0aGUgdmFsdWUgb2YgbW91c2VvdmVyTm9kZURhdGEgYW5kIG1vdXNlb3ZlckVkZ2VEYXRhIHdpbGwgYmUgdGhlIGxhc3RcbiAgICAgKiBOb2RlIG9yIEVkZ2UgaG92ZXJlZCBvdmVyXG4gICAgICovXG4gICAgY2xlYXJPblVuaG92ZXI6IFByb3BUeXBlcy5ib29sLFxufTtcblxuQ3l0b3NjYXBlLmRlZmF1bHRQcm9wcyA9IHtcbiAgICBzdHlsZToge3dpZHRoOiAnNjAwcHgnLCBoZWlnaHQ6ICc2MDBweCd9LFxuICAgIGxheW91dDoge25hbWU6ICdncmlkJ30sXG4gICAgcGFuOiB7eDogMCwgeTogMH0sXG4gICAgem9vbTogMSxcbiAgICBtaW5ab29tOiAxZS01MCxcbiAgICBtYXhab29tOiAxZTUwLFxuICAgIHpvb21pbmdFbmFibGVkOiB0cnVlLFxuICAgIHVzZXJab29taW5nRW5hYmxlZDogdHJ1ZSxcbiAgICBwYW5uaW5nRW5hYmxlZDogdHJ1ZSxcbiAgICB1c2VyUGFubmluZ0VuYWJsZWQ6IHRydWUsXG4gICAgd2hlZWxTZW5zaXRpdml0eTogMSxcbiAgICBib3hTZWxlY3Rpb25FbmFibGVkOiBmYWxzZSxcbiAgICBhdXRvbG9jazogZmFsc2UsXG4gICAgYXV0b3VuZ3JhYmlmeTogZmFsc2UsXG4gICAgYXV0b3Vuc2VsZWN0aWZ5OiBmYWxzZSxcbiAgICBhdXRvUmVmcmVzaExheW91dDogdHJ1ZSxcbiAgICBnZW5lcmF0ZUltYWdlOiB7fSxcbiAgICBpbWFnZURhdGE6IG51bGwsXG4gICAgcmVzcG9uc2l2ZTogZmFsc2UsXG4gICAgY2xlYXJPblVuaG92ZXI6IGZhbHNlLFxuICAgIGVsZW1lbnRzOiBbXSxcbiAgICBjb250ZXh0TWVudTogW10sXG59O1xuXG5leHBvcnQgZGVmYXVsdCBDeXRvc2NhcGU7XG4iXSwibmFtZXMiOlsiUmVhY3QiLCJDb21wb25lbnQiLCJQcm9wVHlwZXMiLCJDeXRvc2NhcGVDb21wb25lbnQiLCJfIiwidjQiLCJ1dWlkdjQiLCJDeVJlc3BvbnNpdmUiLCJjeXRvc2NhcGUiLCJyZXF1aXJlIiwiY29udGV4dE1lbnVzIiwiQ3l0b3NjYXBlIiwiX0NvbXBvbmVudCIsIl9pbmhlcml0cyIsInByb3BzIiwiX3RoaXMiLCJfY2xhc3NDYWxsQ2hlY2siLCJfY2FsbFN1cGVyIiwiaGFuZGxlQ3kiLCJiaW5kIiwiX2Fzc2VydFRoaXNJbml0aWFsaXplZCIsIl9oYW5kbGVDeUNhbGxlZCIsImhhbmRsZUltYWdlR2VuZXJhdGlvbiIsImN5UmVzcG9uc2l2ZUNsYXNzIiwiX2NyZWF0ZUNsYXNzIiwia2V5IiwidmFsdWUiLCJnZW5lcmF0ZU5vZGUiLCJldmVudCIsImVsZSIsInRhcmdldCIsImlzUGFyZW50IiwiaXNDaGlsZGxlc3MiLCJpc0NoaWxkIiwiaXNPcnBoYW4iLCJyZW5kZXJlZFBvc2l0aW9uIiwicmVsYXRpdmVQb3NpdGlvbiIsInBhcmVudCIsInN0eWxlIiwiZWRnZXNEYXRhIiwiY29ubmVjdGVkRWRnZXMiLCJtYXAiLCJkYXRhIiwiY2hpbGRyZW5EYXRhIiwiY2hpbGRyZW4iLCJhbmNlc3RvcnNEYXRhIiwiYW5jZXN0b3JzIiwiZGVzY2VuZGFudHNEYXRhIiwiZGVzY2VuZGFudHMiLCJzaWJsaW5nc0RhdGEiLCJzaWJsaW5ncyIsInRpbWVTdGFtcCIsIl9lbGUkanNvbiIsImpzb24iLCJjbGFzc2VzIiwiZ3JhYmJhYmxlIiwiZ3JvdXAiLCJsb2NrZWQiLCJwb3NpdGlvbiIsInNlbGVjdGVkIiwic2VsZWN0YWJsZSIsInBhcmVudERhdGEiLCJub2RlT2JqZWN0IiwiZ2VuZXJhdGVFZGdlIiwibWlkcG9pbnQiLCJpc0xvb3AiLCJpc1NpbXBsZSIsInNvdXJjZURhdGEiLCJzb3VyY2UiLCJzb3VyY2VFbmRwb2ludCIsInRhcmdldERhdGEiLCJ0YXJnZXRFbmRwb2ludCIsIl9lbGUkanNvbjIiLCJlZGdlT2JqZWN0IiwiY3kiLCJfdGhpczIiLCJfY3kiLCJ3aW5kb3ciLCJTRUxFQ1RfVEhSRVNIT0xEIiwiRVhURU5UX1RIUkVTSE9MRCIsIlVQREFURV9FTEVNRU5UU19USFJFU0hPTEQiLCJSRVNJWkVfVEhSRVNIT0xEIiwic2VsZWN0ZWROb2RlcyIsImNvbGxlY3Rpb24iLCJzZWxlY3RlZEVkZ2VzIiwicmVmcmVzaExheW91dCIsImRlYm91bmNlIiwiX3RoaXMyJHByb3BzIiwiYXV0b1JlZnJlc2hMYXlvdXQiLCJsYXlvdXQiLCJydW4iLCJzZW5kU2VsZWN0ZWROb2Rlc0RhdGEiLCJub2RlRGF0YSIsImVsIiwic2V0UHJvcHMiLCJzZWxlY3RlZE5vZGVEYXRhIiwic2VuZFNlbGVjdGVkRWRnZXNEYXRhIiwiZWRnZURhdGEiLCJzZWxlY3RlZEVkZ2VEYXRhIiwic2V0RXh0ZW50IiwiY3lFeHRlbnQiLCJleHRlbnQiLCJ1cGRhdGVFbGVtZW50cyIsImVsZW1lbnRzIiwiaXRlbSIsInJlc2l6ZSIsIm9yaWdpbmFsTWF4Wm9vbUZuIiwibWF4Wm9vbSIsIm9yaWdpbmFsTWluWm9vbUZuIiwibWluWm9vbSIsImUiLCJjdXJyZW50TWF4Wm9vbSIsImNhbGwiLCJfcHJldmlvdXNNYXhab29tIiwidHJpZ2dlciIsImN1cnJlbnRNaW5ab29tIiwiX3ByZXZpb3VzTWluWm9vbSIsIm9uIiwidGFwTm9kZSIsInRhcE5vZGVEYXRhIiwiT2JqZWN0IiwiYXNzaWduIiwidGFwRWRnZSIsInRhcEVkZ2VEYXRhIiwibW91c2VvdmVyTm9kZURhdGEiLCJtb3VzZW92ZXJFZGdlRGF0YSIsImNsZWFyT25VbmhvdmVyIiwibWVyZ2UiLCJ1bm1lcmdlIiwiem9vbSIsImZpdCIsImNyZWF0ZU1lbnVJdGVtcyIsImN0eE1lbnUiLCJ1cGRhdGVDb250ZXh0TWVudURhdGEiLCJuZXdDb250ZXh0IiwiY29udGV4dE1lbnVEYXRhIiwiY29udGV4dE1lbnVEZWZhdWx0RnVuY3Rpb25zIiwicmVtb3ZlIiwiY3lUYXJnZXQiLCJhZGRfbm9kZSIsInBvcyIsImN5UG9zaXRpb24iLCJhZGQiLCJ4IiwieSIsImFkZF9lZGdlIiwic2VsZWN0ZWROb2RlSWRzIiwibm9kZSIsImlkIiwibGVuZ3RoIiwiY29uc29sZSIsImVycm9yIiwibmV3TWVudUl0ZW1zIiwiX2l0ZXJhdG9yIiwiX2NyZWF0ZUZvck9mSXRlcmF0b3JIZWxwZXIiLCJfc3RlcCIsIl9sb29wIiwib25DbGlja0Z1bmN0aW9uIiwibWVudUl0ZW1JZCIsImVsZW1lbnRJZCIsImVkZ2VTb3VyY2UiLCJlZGdlVGFyZ2V0IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJvbkNsaWNrIiwiY29uY2F0IiwiZGFzaEN5dG9zY2FwZUZ1bmN0aW9ucyIsIm9uQ2xpY2tDdXN0b20iLCJuZXdfaXRlbSIsImNvbnRlbnQiLCJsYWJlbCIsInRvb2x0aXBUZXh0Iiwic2VsZWN0b3IiLCJjb3JlQXNXZWxsIiwiX2l0ZXJhdG9yMiIsImF2YWlsYWJsZU9uIiwiX3N0ZXAyIiwicyIsIm4iLCJkb25lIiwiZXJyIiwiZiIsInB1c2giLCJ0b2dnbGUiLCJyZXNwb25zaXZlIiwiaW1hZ2VUeXBlIiwiaW1hZ2VPcHRpb25zIiwiYWN0aW9uc1RvUGVyZm9ybSIsImZpbGVOYW1lIiwiX3RoaXMzIiwib3B0aW9ucyIsImRlc2lyZWRPdXRwdXQiLCJvdXRwdXQiLCJkb3dubG9hZEltYWdlIiwic3RvcmVJbWFnZSIsInBuZyIsImpwZyIsInN2ZyIsImZOYW1lIiwiZG93bmxvYWRCbG9iIiwiYmxvYiIsIkJsb2IiLCJ0eXBlIiwicmVhZGVyIiwiRmlsZVJlYWRlciIsIm9ubG9hZCIsImNhbGxiYWNrRGF0YSIsInJlc3VsdCIsInJlcGxhY2UiLCJpbWFnZURhdGEiLCJyZWFkQXNEYXRhVVJMIiwiZG93bmxvYWRMaW5rIiwiZG9jdW1lbnQiLCJjcmVhdGVFbGVtZW50IiwiYm9keSIsImFwcGVuZENoaWxkIiwidXJsIiwiVVJMIiwiY3JlYXRlT2JqZWN0VVJMIiwiaHJlZiIsImRvd25sb2FkIiwiY2xpY2siLCJyZXZva2VPYmplY3RVUkwiLCJyZW1vdmVDaGlsZCIsInVwZGF0ZUNvbnRleHRNZW51IiwiY29udGV4dE1lbnUiLCJtZW51SXRlbXMiLCJtZW51SXRlbUNsYXNzZXMiLCJncmFwaE91dE9mVmlldyIsImN5V2lkdGgiLCJ3aWR0aCIsImN5SGVpZ2h0IiwiaGVpZ2h0IiwiZWxCb3giLCJyZW5kZXJlZEJvdW5kaW5nYm94IiwieDEiLCJ5MSIsIngyIiwieTIiLCJjb21wb25lbnREaWRVcGRhdGUiLCJwcmV2UHJvcHMiLCJfdGhpcyRwcm9wcyIsImlzRXF1YWwiLCJjb21wb25lbnREaWRNb3VudCIsInJlbmRlciIsIl90aGlzJHByb3BzMiIsImNsYXNzTmFtZSIsInN0eWxlc2hlZXQiLCJwYW4iLCJwYW5uaW5nRW5hYmxlZCIsInVzZXJQYW5uaW5nRW5hYmxlZCIsInpvb21pbmdFbmFibGVkIiwidXNlclpvb21pbmdFbmFibGVkIiwid2hlZWxTZW5zaXRpdml0eSIsImJveFNlbGVjdGlvbkVuYWJsZWQiLCJhdXRvdW5ncmFiaWZ5IiwiYXV0b2xvY2siLCJhdXRvdW5zZWxlY3RpZnkiLCJnZW5lcmF0ZUltYWdlIiwia2V5cyIsImFjdGlvbiIsImZpbGVuYW1lIiwibm9ybWFsaXplRWxlbWVudHMiLCJwcm9wVHlwZXMiLCJzdHJpbmciLCJvYmplY3QiLCJmdW5jIiwib25lT2ZUeXBlIiwiYXJyYXlPZiIsInNoYXBlIiwibnVtYmVyIiwiYm9vbCIsImV4YWN0Iiwibm9kZXMiLCJhcnJheSIsImVkZ2VzIiwiaXNSZXF1aXJlZCIsIm5hbWUiLCJvbmVPZiIsInBhZGRpbmciLCJhbmltYXRlIiwiYW5pbWF0aW9uRHVyYXRpb24iLCJib3VuZGluZ0JveCIsImRlZmF1bHRQcm9wcyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/lib/components/Cytoscape.react.js\n"); /***/ }), diff --git a/inst/deps/dash_cytoscape_extra.min.js b/inst/deps/dash_cytoscape_extra.min.js index c58a0069..f9a3fb2f 100644 --- a/inst/deps/dash_cytoscape_extra.min.js +++ b/inst/deps/dash_cytoscape_extra.min.js @@ -1,2 +1,2 @@ /*! For license information please see dash_cytoscape_extra.min.js.LICENSE.txt */ -(()=>{var __webpack_modules__={1686:()=>{!function(){"use strict";var t=function(t,e){var n=function(t){for(var e=0,n=t.length;et.length)&&(e=t.length);for(var n=0,r=new Array(e);n=t.length?{done:!0}:{done:!1,value:t[i++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,s=!0,c=!1;return{s:function(){r=r.call(t)},n:function(){var t=r.next();return s=t.done,t},e:function(t){c=!0,a=t},f:function(){try{s||null==r.return||r.return()}finally{if(c)throw a}}}}var r=!0,i=!1,o="querySelectorAll",a="querySelectorAll",s=self,c=s.document,u=s.Element,l=s.MutationObserver,h=s.Set,f=s.WeakMap,d=function(t){return a in t},p=[].filter,g=function(t){var e=new f,s=function(n,r){var i;if(r)for(var o,a=function(t){return t.matches||t.webkitMatchesSelector||t.msMatchesSelector}(n),s=0,c=v.length;s1&&void 0!==arguments[1])||arguments[1],n=0,r=t.length;n1&&void 0!==arguments[1]?arguments[1]:document,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:MutationObserver,s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:["*"],c=function e(i,a,s,c,u,l){var h,f=n(i);try{for(f.s();!(h=f.n()).done;){var d=h.value;(l||o in d)&&(u?s.has(d)||(s.add(d),c.delete(d),t(d,u)):c.has(d)||(c.add(d),s.delete(d),t(d,u)),l||e(d[o](a),a,s,c,u,r))}}catch(t){f.e(t)}finally{f.f()}},u=new a((function(t){if(s.length){var e,o=s.join(","),a=new Set,u=new Set,l=n(t);try{for(l.s();!(e=l.n()).done;){var h=e.value,f=h.addedNodes,d=h.removedNodes;c(d,o,a,u,i,i),c(f,o,a,u,r,i)}}catch(t){l.e(t)}finally{l.f()}}})),l=u.observe;return(u.observe=function(t){return l.call(u,t,{subtree:r,childList:r})})(e),u}(s,b,l,v),m=u.prototype.attachShadow;return m&&(u.prototype.attachShadow=function(t){var e=m.call(this,t);return y.observe(e),e}),v.length&&g(b[a](v)),{drop:function(t){for(var n=0,r=t.length;n{window.dash_clientside||(window.dash_clientside={});var t=20037508.34;function e(e,n){return[180*e/t,360*Math.atan(Math.exp(-n*Math.PI/t))/Math.PI-90]}window.dash_clientside.cyleaflet={updateLeafBounds:function(t,n,r){var i=t;if(!i){if(!r)return window.dash_clientside.no_update;i=r}var o=e(i.x1,i.y1),a=o[0],s=o[1],c=e(i.x2,i.y2),u=c[0],l=c[1],h=(new Date).getTime(),f=[[l,a],[s,u]];return s===l||a===u?window.dash_clientside.no_update:[h,{bounds:f,options:{animate:!0}},i]},transformElements:function(e){return e.map((function(e){if(Object.prototype.hasOwnProperty.call(e.data,"lat")){var n=(r=e.data.lon,i=e.data.lat,[r*t/180,-Math.log(Math.tan((90+i)*Math.PI/360))*t/Math.PI]);return{data:e.data,position:{y:n[1],x:n[0]}}}var r,i;return e}))},updateLonLat:function(t){return t.length>0?t.map((function(t){if(void 0!==t.position&&Object.prototype.hasOwnProperty.call(t.position,"x")&&0!==t.position.x&&0!==t.position.y){var n=e(t.position.x,t.position.y);return{position:t.position,data:Object.assign({},t.data,{lon:n[0],lat:n[1]})}}return t})):window.dash_clientside.no_update},updateCytoMaxZoom:function(t){var e=t;t.length>=1&&1===(e=t.filter((function(t){return"TileLayer"===t.type}))).length&&(e=e[0]);var n=18;return void 0!==e.props&&Object.prototype.hasOwnProperty.call(e.props,"maxZoom")&&(n=e.props.maxZoom),function(t){return.418*Math.pow(2,t-16)}(n)}}},4182:function(t,e,n){var r;r=function(t){return function(t){var e={};function n(r){if(e[r])return e[r].exports;var i=e[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=t,n.c=e,n.i=function(t){return t},n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:r})},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=7)}([function(e,n){e.exports=t},function(t,e,n){"use strict";var r=n(0).FDLayoutConstants;function i(){}for(var o in r)i[o]=r[o];i.DEFAULT_USE_MULTI_LEVEL_SCALING=!1,i.DEFAULT_RADIAL_SEPARATION=r.DEFAULT_EDGE_LENGTH,i.DEFAULT_COMPONENT_SEPERATION=60,i.TILE=!0,i.TILING_PADDING_VERTICAL=10,i.TILING_PADDING_HORIZONTAL=10,i.TREE_REDUCTION_ON_INCREMENTAL=!1,t.exports=i},function(t,e,n){"use strict";var r=n(0).FDLayoutEdge;function i(t,e,n){r.call(this,t,e,n)}for(var o in i.prototype=Object.create(r.prototype),r)i[o]=r[o];t.exports=i},function(t,e,n){"use strict";var r=n(0).LGraph;function i(t,e,n){r.call(this,t,e,n)}for(var o in i.prototype=Object.create(r.prototype),r)i[o]=r[o];t.exports=i},function(t,e,n){"use strict";var r=n(0).LGraphManager;function i(t){r.call(this,t)}for(var o in i.prototype=Object.create(r.prototype),r)i[o]=r[o];t.exports=i},function(t,e,n){"use strict";var r=n(0).FDLayoutNode,i=n(0).IMath;function o(t,e,n,i){r.call(this,t,e,n,i)}for(var a in o.prototype=Object.create(r.prototype),r)o[a]=r[a];o.prototype.move=function(){var t=this.graphManager.getLayout();this.displacementX=t.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.noOfChildren,this.displacementY=t.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.noOfChildren,Math.abs(this.displacementX)>t.coolingFactor*t.maxNodeDisplacement&&(this.displacementX=t.coolingFactor*t.maxNodeDisplacement*i.sign(this.displacementX)),Math.abs(this.displacementY)>t.coolingFactor*t.maxNodeDisplacement&&(this.displacementY=t.coolingFactor*t.maxNodeDisplacement*i.sign(this.displacementY)),null==this.child||0==this.child.getNodes().length?this.moveBy(this.displacementX,this.displacementY):this.propogateDisplacementToChildren(this.displacementX,this.displacementY),t.totalDisplacement+=Math.abs(this.displacementX)+Math.abs(this.displacementY),this.springForceX=0,this.springForceY=0,this.repulsionForceX=0,this.repulsionForceY=0,this.gravitationForceX=0,this.gravitationForceY=0,this.displacementX=0,this.displacementY=0},o.prototype.propogateDisplacementToChildren=function(t,e){for(var n,r=this.getChild().getNodes(),i=0;i0)this.positionNodesRadially(t);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var e=new Set(this.getAllNodes()),n=this.nodesWithGravity.filter((function(t){return e.has(t)}));this.graphManager.setAllNodesToApplyGravitation(n),this.positionNodesRandomly()}}return this.initSpringEmbedder(),this.runSpringEmbedder(),!0},y.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished){if(!(this.prunedNodesAll.length>0))return!0;this.isTreeGrowing=!0}if(this.totalIterations%u.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged()){if(!(this.prunedNodesAll.length>0))return!0;this.isTreeGrowing=!0}this.coolingCycle++,0==this.layoutQuality?this.coolingAdjuster=this.coolingCycle:1==this.layoutQuality&&(this.coolingAdjuster=this.coolingCycle/3),this.coolingFactor=Math.max(this.initialCoolingFactor-Math.pow(this.coolingCycle,Math.log(100*(this.initialCoolingFactor-this.finalTemperature))/Math.log(this.maxCoolingCycle))/100*this.coolingAdjuster,this.finalTemperature),this.animationPeriod=Math.ceil(this.initialAnimationPeriod*Math.sqrt(this.coolingFactor))}if(this.isTreeGrowing){if(this.growTreeIterations%10==0)if(this.prunedNodesAll.length>0){this.graphManager.updateBounds(),this.updateGrid(),this.growTree(this.prunedNodesAll),this.graphManager.resetAllNodesToApplyGravitation();var t=new Set(this.getAllNodes()),e=this.nodesWithGravity.filter((function(e){return t.has(e)}));this.graphManager.setAllNodesToApplyGravitation(e),this.graphManager.updateBounds(),this.updateGrid(),this.coolingFactor=u.DEFAULT_COOLING_FACTOR_INCREMENTAL}else this.isTreeGrowing=!1,this.isGrowthFinished=!0;this.growTreeIterations++}if(this.isGrowthFinished){if(this.isConverged())return!0;this.afterGrowthIterations%10==0&&(this.graphManager.updateBounds(),this.updateGrid()),this.coolingFactor=u.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var n=!this.isTreeGrowing&&!this.isGrowthFinished,r=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(n,r),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},y.prototype.getPositionsData=function(){for(var t=this.graphManager.getAllNodes(),e={},n=0;n1)for(s=0;sr&&(r=Math.floor(a.y)),o=Math.floor(a.x+c.DEFAULT_COMPONENT_SEPERATION)}this.transform(new f(l.WORLD_CENTER_X-a.x/2,l.WORLD_CENTER_Y-a.y/2))},y.radialLayout=function(t,e,n){var r=Math.max(this.maxDiagonalInTree(t),c.DEFAULT_RADIAL_SEPARATION);y.branchRadialLayout(e,null,0,359,0,r);var i=v.calculateBounds(t),o=new b;o.setDeviceOrgX(i.getMinX()),o.setDeviceOrgY(i.getMinY()),o.setWorldOrgX(n.x),o.setWorldOrgY(n.y);for(var a=0;a1;){var b=v[0];v.splice(0,1);var m=l.indexOf(b);m>=0&&l.splice(m,1),p--,h--}f=null!=e?(l.indexOf(v[0])+1)%p:0;for(var w=Math.abs(r-n)/h,x=f;d!=h;x=++x%p){var _=l[x].getOtherEnd(t);if(_!=e){var E=(n+d*w)%360,k=(E+w)%360;y.branchRadialLayout(_,t,E,k,i+o,o),d++}}},y.maxDiagonalInTree=function(t){for(var e=p.MIN_VALUE,n=0;ne&&(e=r)}return e},y.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},y.prototype.groupZeroDegreeMembers=function(){var t=this,e={};this.memberGroups={},this.idToDummyNode={};for(var n=[],r=this.graphManager.getAllNodes(),i=0;i1){var r="DummyCompound_"+n;t.memberGroups[r]=e[n];var i=e[n][0].getParent(),o=new a(t.graphManager);o.id=r,o.paddingLeft=i.paddingLeft||0,o.paddingRight=i.paddingRight||0,o.paddingBottom=i.paddingBottom||0,o.paddingTop=i.paddingTop||0,t.idToDummyNode[r]=o;var s=t.getGraphManager().add(t.newGraph(),o),c=i.getChild();c.add(o);for(var u=0;u=0;t--){var e=this.compoundOrder[t],n=e.id,r=e.paddingLeft,i=e.paddingTop;this.adjustLocations(this.tiledMemberPack[n],e.rect.x,e.rect.y,r,i)}},y.prototype.repopulateZeroDegreeMembers=function(){var t=this,e=this.tiledZeroDegreePack;Object.keys(e).forEach((function(n){var r=t.idToDummyNode[n],i=r.paddingLeft,o=r.paddingTop;t.adjustLocations(e[n],r.rect.x,r.rect.y,i,o)}))},y.prototype.getToBeTiled=function(t){var e=t.id;if(null!=this.toBeTiled[e])return this.toBeTiled[e];var n=t.getChild();if(null==n)return this.toBeTiled[e]=!1,!1;for(var r=n.getNodes(),i=0;i0)return this.toBeTiled[e]=!1,!1;if(null!=o.getChild()){if(!this.getToBeTiled(o))return this.toBeTiled[e]=!1,!1}else this.toBeTiled[o.id]=!1}return this.toBeTiled[e]=!0,!0},y.prototype.getNodeDegree=function(t){t.id;for(var e=t.getEdges(),n=0,r=0;rc&&(c=l.rect.height)}n+=c+t.verticalPadding}},y.prototype.tileCompoundMembers=function(t,e){var n=this;this.tiledMemberPack=[],Object.keys(t).forEach((function(r){var i=e[r];n.tiledMemberPack[r]=n.tileNodes(t[r],i.paddingLeft+i.paddingRight),i.rect.width=n.tiledMemberPack[r].width,i.rect.height=n.tiledMemberPack[r].height}))},y.prototype.tileNodes=function(t,e){var n={rows:[],rowWidth:[],rowHeight:[],width:0,height:e,verticalPadding:c.TILING_PADDING_VERTICAL,horizontalPadding:c.TILING_PADDING_HORIZONTAL};t.sort((function(t,e){return t.rect.width*t.rect.height>e.rect.width*e.rect.height?-1:t.rect.width*t.rect.height0&&(o+=t.horizontalPadding),t.rowWidth[n]=o,t.width0&&(a+=t.verticalPadding);var s=0;a>t.rowHeight[n]&&(s=t.rowHeight[n],t.rowHeight[n]=a,s=t.rowHeight[n]-s),t.height+=s,t.rows[n].push(e)},y.prototype.getShortestRowIndex=function(t){for(var e=-1,n=Number.MAX_VALUE,r=0;rn&&(e=r,n=t.rowWidth[r]);return e},y.prototype.canAddHorizontal=function(t,e,n){var r=this.getShortestRowIndex(t);if(r<0)return!0;var i=t.rowWidth[r];if(i+t.horizontalPadding+e<=t.width)return!0;var o,a,s=0;return t.rowHeight[r]0&&(s=n+t.verticalPadding-t.rowHeight[r]),o=t.width-i>=e+t.horizontalPadding?(t.height+s)/(i+e+t.horizontalPadding):(t.height+s)/t.width,s=n+t.verticalPadding,(a=t.widtho&&e!=n){r.splice(-1,1),t.rows[n].push(i),t.rowWidth[e]=t.rowWidth[e]-o,t.rowWidth[n]=t.rowWidth[n]+o,t.width=t.rowWidth[instance.getLongestRowIndex(t)];for(var a=Number.MIN_VALUE,s=0;sa&&(a=r[s].height);e>0&&(a+=t.verticalPadding);var c=t.rowHeight[e]+t.rowHeight[n];t.rowHeight[e]=a,t.rowHeight[n]0)for(var l=i;l<=o;l++)c[0]+=this.grid[l][a-1].length+this.grid[l][a].length-1;if(o0)for(l=a;l<=s;l++)c[3]+=this.grid[i-1][l].length+this.grid[i][l].length-1;for(var h,f,d=p.MAX_VALUE,g=0;g{"use strict";n.d(e,{Z:()=>s});var r=n(8081),i=n.n(r),o=n(3645),a=n.n(o)()(i());a.push([t.id,".cytoscape-reference p {\n display: inline;\n}\n\n.custom-menu-item {\n background-color: rgb(241, 241, 241);\n font-weight: bold !important;\n width: 170px;\n display: inline-block;\n height: 38px;\n padding: 0 30px;\n color: #555;\n text-align: center;\n font-size: 11px;\n font-weight: 600;\n line-height: 38px;\n letter-spacing: 0.1rem;\n text-decoration: none;\n white-space: nowrap;\n border-radius: 4px;\n border: 1px solid #bbb;\n cursor: pointer;\n box-sizing: border-box;\n}\n.custom-menu-item:hover {\n color: rgb(104, 104, 104);\n border-color: rgb(97, 97, 97);\n outline: 0;\n}\n\n.cy-context-menus-cxt-menu {\n display: none;\n}\n",""]);const s=a},3645:t=>{"use strict";t.exports=function(t){var e=[];return e.toString=function(){return this.map((function(e){var n="",r=void 0!==e[5];return e[4]&&(n+="@supports (".concat(e[4],") {")),e[2]&&(n+="@media ".concat(e[2]," {")),r&&(n+="@layer".concat(e[5].length>0?" ".concat(e[5]):""," {")),n+=t(e),r&&(n+="}"),e[2]&&(n+="}"),e[4]&&(n+="}"),n})).join("")},e.i=function(t,n,r,i,o){"string"==typeof t&&(t=[[null,t,void 0]]);var a={};if(r)for(var s=0;s0?" ".concat(l[5]):""," {").concat(l[1],"}")),l[5]=o),n&&(l[2]?(l[1]="@media ".concat(l[2]," {").concat(l[1],"}"),l[2]=n):l[2]=n),i&&(l[4]?(l[1]="@supports (".concat(l[4],") {").concat(l[1],"}"),l[4]=i):l[4]="".concat(i)),e.push(l))}},e}},8081:t=>{"use strict";t.exports=function(t){return t[1]}},703:function(t,e,n){var r;r=function(t){return function(t){var e={};function n(r){if(e[r])return e[r].exports;var i=e[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=t,n.c=e,n.i=function(t){return t},n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:r})},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=3)}([function(t,e,n){"use strict";var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i=n(1),o=n(2),a=n(5)||("undefined"!=typeof window?window.cola:null),s=n(4),c=function(t){return(void 0===t?"undefined":r(t))===r(0)},u=function(){},l=function(t,e){return function(t){return null!=t&&(void 0===t?"undefined":r(t))===r((function(){}))}(t)?t.apply(e,[e]):t};function h(t){this.options=i({},o,t)}h.prototype.run=function(){var t=this,e=this.options;t.manuallyStopped=!1;var n=e.cy,i=e.eles,o=i.nodes(),h=i.edges(),f=!1,d=o.filter((function(t){return t.isParent()})),p=o.subtract(d),g=e.boundingBox||{x1:0,y1:0,w:n.width(),h:n.height()};void 0===g.x2&&(g.x2=g.x1+g.w),void 0===g.w&&(g.w=g.x2-g.x1),void 0===g.y2&&(g.y2=g.y1+g.h),void 0===g.h&&(g.h=g.y2-g.y1);var v=function(){for(var t=0;t0&&w.constraints(T),w.groups(d.map((function(t,n){var r=l(e.nodeSpacing,t),i=function(e){return parseFloat(t.style("padding-"+e))},o=i("left")+r,a=i("right")+r,s=i("top")+r,c=i("bottom")+r;return t.scratch().cola={index:n,padding:Math.max(o,a,s,c),leaves:t.children().intersection(p).map((function(t){return t[0].scratch().cola.index})),fixed:t.locked()},t})).map((function(t){return t.scratch().cola.groups=t.children().intersection(d).map((function(t){return t.scratch().cola.index})),t.scratch().cola})));var C=void 0,N=void 0;if(null!=e.edgeLength?(C=e.edgeLength,N="linkDistance"):null!=e.edgeSymDiffLength?(C=e.edgeSymDiffLength,N="symmetricDiffLinkLengths"):null!=e.edgeJaccardLength?(C=e.edgeJaccardLength,N="jaccardLinkLengths"):(C=100,N="linkDistance"),w.links(h.stdFilter((function(t){return p.contains(t.source())&&p.contains(t.target())})).map((function(t){var e=t.scratch().cola={source:t.source()[0].scratch().cola.index,target:t.target()[0].scratch().cola.index};return null!=C&&(e.calcLength=l(C,t)),e}))),w.size([g.w,g.h]),null!=C&&w[N]((function(t){return t.calcLength})),e.flow){var A=void 0;!function(t){return(void 0===t?"undefined":r(t))===r("")}(e.flow)?c(e.flow)?A={axis:"y",minSeparation:e.flow}:function(t){return null!=t&&(void 0===t?"undefined":r(t))===r({})}(e.flow)?((A=e.flow).axis=A.axis||"y",A.minSeparation=null!=A.minSeparation?A.minSeparation:50):A={axis:"y",minSeparation:50}:A={axis:e.flow,minSeparation:50},w.flowLayout(A.axis,A.minSeparation)}return t.trigger({type:"layoutstart",layout:t}),w.avoidOverlaps(e.avoidOverlap).handleDisconnected(e.handleDisconnected).start(e.unconstrIter,e.userConstIter,e.allConstIter,void 0,void 0,e.centerGraph),e.infinite||setTimeout((function(){t.manuallyStopped||w.stop()}),e.maxSimulationTime),this},h.prototype.stop=function(){return this.adaptor&&(this.manuallyStopped=!0,this.adaptor.stop()),this},t.exports=h},function(t,e,n){"use strict";t.exports=null!=Object.assign?Object.assign.bind(Object):function(t){for(var e=arguments.length,n=Array(e>1?e-1:0),r=1;r{self,t.exports=(()=>{var t={621:(t,e,n)=>{"use strict";function r(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);nS});var s="cy-context-menus-divider",c={evtType:"cxttap",menuItems:[],menuItemClasses:["cy-context-menus-cxt-menuitem"],contextMenuClasses:["cy-context-menus-cxt-menu"],submenuIndicator:{src:"assets/submenu-indicator-default.svg",width:12,height:12}};function u(t){return(u="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function l(t,e){var n;if("undefined"==typeof Symbol||null==t[Symbol.iterator]){if(Array.isArray(t)||(n=function(t,e){if(t){if("string"==typeof t)return h(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?h(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var r=0,i=function(){};return{s:i,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=t[Symbol.iterator]()},n:function(){var t=n.next();return a=t.done,t},e:function(t){s=!0,o=t},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function h(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n1&&void 0!==arguments[1]?arguments[1]:void 0;this.hasSubmenu()||this._createSubmenu(),this.submenu.appendMenuItem(t,e)}},{key:"isClickable",value:function(){return void 0!==this.onClickFunction}},{key:"display",value:function(){this.show=!0,this.style.display="block"}},{key:"isVisible",value:function(){return!0===this.show&&"none"!==this.style.display}},{key:"removeSubmenu",value:function(){this.hasSubmenu()&&(this.submenu.removeAllMenuItems(),this.detachSubmenu())}},{key:"detachSubmenu",value:function(){this.hasSubmenu()&&(this.removeChild(this.submenu),this.removeChild(this.indicator),this.removeEventListener("mouseenter",this.mouseEnterHandler),this.removeEventListener("mouseleave",this.mouseLeaveHandler),this.submenu=void 0,this.indicator=void 0)}},{key:"_onMouseEnter",value:function(t){var e=this.getBoundingClientRect(),r=function(t){t.style.opacity="0",t.style.display="block";var e=t.getBoundingClientRect();return t.style.opacity="1",t.style.display="none",e}(this.submenu),i=e.right+r.width>window.innerWidth,o=e.top+r.height>window.innerHeight;i||o?i&&!o?(this.submenu.style.right=this.clientWidth+"px",this.submenu.style.top="0px",this.submenu.style.left="auto",this.submenu.style.bottom="auto"):i&&o?(this.submenu.style.right=this.clientWidth+"px",this.submenu.style.bottom="0px",this.submenu.style.top="auto",this.submenu.style.left="auto"):(this.submenu.style.left=this.clientWidth+"px",this.submenu.style.bottom="0px",this.submenu.style.right="auto",this.submenu.style.top="auto"):(this.submenu.style.left=this.clientWidth+"px",this.submenu.style.top="0px",this.submenu.style.right="auto",this.submenu.style.bottom="auto"),this.submenu.display();var a=Array.from(this.submenu.children).filter((function(t){if(t instanceof n)return t.isVisible()})),c=a.length;a.forEach((function(t,e){t instanceof n&&(e=(o=n.getBoundingClientRect()).left&&r<=o.right&&i>=o.top&&i<=o.bottom||this.submenu.hide()}},{key:"_createSubmenu",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];this.indicator=this.scratchpad.submenuIndicatorGen(),this.submenu=new C(this.onMenuItemClick,this.scratchpad),this.appendChild(this.indicator),this.appendChild(this.submenu);var e,r=l(t);try{for(r.s();!(e=r.n()).done;){var i=new n(e.value,this.onMenuItemClick,this.scratchpad);this.submenu.appendMenuItem(i)}}catch(t){r.e(t)}finally{r.f()}this.mouseEnterHandler=this._onMouseEnter.bind(this),this.mouseLeaveHandler=this._onMouseLeave.bind(this),this.addEventListener("mouseenter",this.mouseEnterHandler),this.addEventListener("mouseleave",this.mouseLeaveHandler)}},{key:"_getMenuItemClassStr",value:function(t,e){return e?t+" "+s:t}}],[{key:"define",value:function(){a("ctx-menu-item",n,"button")}}]),n}(m(HTMLButtonElement)),C=function(t){g(n,t);var e=v(n);function n(t,r){var i,o;return f(this,n),y((i=b(o=e.call(this)),E(n.prototype)),"setAttribute",i).call(i,"class",r.cxtMenuClasses),o.style.position="absolute",o.onMenuItemClick=t,o.scratchpad=r,o}return p(n,[{key:"hide",value:function(){this.isVisible()&&(this.hideSubmenus(),this.style.display="none")}},{key:"display",value:function(){this.style.display="block"}},{key:"isVisible",value:function(){return"none"!==this.style.display}},{key:"hideMenuItems",value:function(){var t,e=l(this.children);try{for(e.s();!(t=e.n()).done;){var n=t.value;n instanceof HTMLElement?n.style.display="none":console.warn("".concat(n," is not a HTMLElement"))}}catch(t){e.e(t)}finally{e.f()}}},{key:"hideSubmenus",value:function(){var t,e=l(this.children);try{for(e.s();!(t=e.n()).done;){var n=t.value;n instanceof T&&n.submenu&&n.submenu.hide()}}catch(t){e.e(t)}finally{e.f()}}},{key:"appendMenuItem",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0;if(void 0!==e){if(e.parentNode!==this)throw new Error("The item with id='".concat(e.id,"' is not a child of the context menu"));this.insertBefore(t,e)}else this.appendChild(t);t.isClickable()&&this._performBindings(t)}},{key:"moveBefore",value:function(t,e){if(t.parentNode!==this)throw new Error("The item with id='".concat(t.id,"' is not a child of context menu"));if(e.parentNode!==this)throw new Error("The item with id='".concat(e.id,"' is not a child of context menu"));this.removeChild(t),this.insertBefore(t,e)}},{key:"removeAllMenuItems",value:function(){for(;this.firstChild;){var t=this.lastChild;t instanceof T?this._removeImmediateMenuItem(t):(console.warn("Found non menu item in the context menu: ",t),this.removeChild(t))}}},{key:"_removeImmediateMenuItem",value:function(t){if(!this._detachImmediateMenuItem(t))throw new Error("menu item(id=".concat(t.id,") is not in the context menu"));t.detachSubmenu(),t.unbindOnClickFunctions()}},{key:"_detachImmediateMenuItem",value:function(t){if(t.parentNode===this){if(this.removeChild(t),this.children.length<=0){var e=this.parentNode;e instanceof T&&e.detachSubmenu()}return!0}return!1}},{key:"_performBindings",value:function(t){var e=this._bindOnClick(t.onClickFunction);t.bindOnClickFunction(e),t.bindOnClickFunction(this.onMenuItemClick)}},{key:"_bindOnClick",value:function(t){var e=this;return function(){var n=e.scratchpad.currentCyEvent;t(n)}}}],[{key:"define",value:function(){a("menu-item-list",n,"div")}}]),n}(m(HTMLDivElement)),N=function(t){g(n,t);var e=v(n);function n(t,r){var i;return f(this,n),(i=e.call(this,t,r)).onMenuItemClick=function(e){k(e),i.hide(),t()},i}return p(n,[{key:"removeMenuItem",value:function(t){var e=t.parentElement;e instanceof C&&this.contains(e)&&e._removeImmediateMenuItem(t)}},{key:"appendMenuItem",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0;this.ensureDoesntContain(t.id),y(E(n.prototype),"appendMenuItem",this).call(this,t,e)}},{key:"insertMenuItem",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=e.before,r=e.parent;if(this.ensureDoesntContain(t.id),void 0!==n){if(!this.contains(n))throw new Error("before(id=".concat(n.id,") is not in the context menu"));var i=n.parentNode;if(!(i instanceof C))throw new Error("Parent of before(id=".concat(n.id,") is not a submenu"));i.appendMenuItem(t,n)}else if(void 0!==r){if(!this.contains(r))throw new Error("parent(id=".concat(r.id,") is not a descendant of the context menu"));r.appendSubmenuItem(t)}else this.appendMenuItem(t)}},{key:"moveBefore",value:function(t,e){var n=t.parentElement;if(!this.contains(n))throw new Error("parent(id=".concat(n.id,") is not in the contex menu"));if(!this.contains(e))throw new Error("before(id=".concat(e.id,") is not in the context menu"));n.removeChild(t),this.insertMenuItem(t,{before:e})}},{key:"moveToSubmenu",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,r=t.parentElement;if(!(r instanceof C))throw new Error("current parent(id=".concat(r.id,") is not a submenu"));if(!this.contains(r))throw new Error("parent of the menu item(id=".concat(r.id,") is not in the context menu"));if(null!==e){if(!this.contains(e))throw new Error("parent(id=".concat(e.id,") is not in the context menu"));r._detachImmediateMenuItem(t),e.appendSubmenuItem(t)}else null!==n&&(t.selector=n.selector,t.coreAsWell=n.coreAsWell),r._detachImmediateMenuItem(t),this.appendMenuItem(t)}},{key:"ensureDoesntContain",value:function(t){var e=document.getElementById(t);if(void 0!==e&&this.contains(e))throw new Error("There is already an element with id=".concat(t," in the context menu"))}}],[{key:"define",value:function(){a("ctx-menu",n,"div")}}]),n}(C);function A(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n1&&void 0!==arguments[1]?arguments[1]:void 0,n=p(t);if(void 0!==e){var r=v(e);h.insertMenuItem(n,{parent:r})}else h.insertMenuItem(n)},d=function(t){for(var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,n=0;n0&&(s.top+=f,s.left+=f);var d=r.clientHeight,p=r.clientWidth,g=d/2,v=p/2;c.y>g&&c.x<=v?(h.style.left=c.x+"px",h.style.bottom=d-c.y+"px",h.style.right="auto",h.style.top="auto"):c.y>g&&c.x>v?(h.style.right=p-c.x+"px",h.style.bottom=d-c.y+"px",h.style.left="auto",h.style.top="auto"):c.y<=g&&c.x<=v?(h.style.left=c.x+"px",h.style.top=c.y+"px",h.style.right="auto",h.style.bottom="auto"):(h.style.right=p-c.x+"px",h.style.top=c.y+"px",h.style.left="auto",h.style.bottom="auto")}}(t);var n,r=t.target||t.cyTarget,i=function(t,e){var n;if("undefined"==typeof Symbol||null==t[Symbol.iterator]){if(Array.isArray(t)||(n=function(t,e){if(t){if("string"==typeof t)return A(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?A(t,e):void 0}}(t))){n&&(t=n);var r=0,i=function(){};return{s:i,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=t[Symbol.iterator]()},n:function(){var t=n.next();return a=t.done,t},e:function(t){s=!0,o=t},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}(h.children);try{for(i.s();!(n=i.n()).done;){var o=n.value;o instanceof T&&(r===e?o.coreAsWell:r.is(o.selector))&&o.show&&(h.display(),u("anyVisibleChild",!0),o.display())}}catch(t){i.e(t)}finally{i.f()}var c=Array.from(h.children).filter((function(t){if(t instanceof T)return t.isVisible()})),l=c.length;c.forEach((function(t,e){t instanceof T&&(e=t.length?{done:!0}:{done:!1,value:t[i++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,s=!0,c=!1;return{s:function(){n=t[Symbol.iterator]()},n:function(){var t=n.next();return s=t.done,t},e:function(t){c=!0,a=t},f:function(){try{s||null==n.return||n.return()}finally{if(c)throw a}}}}(document.getElementsByClassName("cy-context-menus-cxt-menu"));try{for(e.s();!(t=e.n()).done;)t.value.addEventListener("contextmenu",(function(t){return t.preventDefault()}))}catch(t){e.e(t)}finally{e.f()}}()}return function(t){return{isActive:function(){return a("active")},appendMenuItem:function(e){return f(e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0),t},appendMenuItems:function(e){return d(e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0),t},removeMenuItem:function(e){var n=v(e);return h.removeMenuItem(n),t},setTrailingDivider:function(e,n){var r=v(e);return r.setHasTrailingDivider(n),n?r.classList.add(s):r.classList.remove(s),t},insertBeforeMenuItem:function(e,n){var r=p(e),i=v(n);return h.insertMenuItem(r,{before:i}),t},moveToSubmenu:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=v(e);if(null===n)h.moveToSubmenu(r);else if("string"==typeof n){var i=v(n.toString());h.moveToSubmenu(r,i)}else void 0!==n.coreAsWell||void 0!==n.selector?h.moveToSubmenu(r,null,n):console.warn("options neither has coreAsWell nor selector property but it is an object. Are you sure that this is what you want to do?");return t},moveBeforeOtherMenuItem:function(e,n){var r=v(e),i=v(n);return h.moveBefore(r,i),t},disableMenuItem:function(e){return v(e).disable(),t},enableMenuItem:function(e){return v(e).enable(),t},hideMenuItem:function(e){return v(e).hide(),t},showMenuItem:function(e){return v(e).display(),t},destroy:function(){return g(),t}}}(this)}},579:(t,e,n)=>{var r=n(621).contextMenus,i=function(t){t&&t("core","contextMenus",r)};"undefined"!=typeof cytoscape&&i(cytoscape),t.exports=i}},e={};function n(r){var i=e[r];if(void 0!==i)return i.exports;var o=e[r]={exports:{}};return t[r](o,o.exports,n),o.exports}return n.d=(t,e)=>{for(var r in e)n.o(e,r)&&!n.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),n.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n(579)})()},4607:function(t,e,n){var r;r=function(t){return function(t){var e={};function n(r){if(e[r])return e[r].exports;var i=e[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=t,n.c=e,n.i=function(t){return t},n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:r})},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=1)}([function(e,n){e.exports=t},function(t,e,n){"use strict";var r=n(0).layoutBase.LayoutConstants,i=n(0).layoutBase.FDLayoutConstants,o=n(0).CoSEConstants,a=n(0).CoSELayout,s=n(0).CoSENode,c=n(0).layoutBase.PointD,u=n(0).layoutBase.DimensionD,l={ready:function(){},stop:function(){},quality:"default",nodeDimensionsIncludeLabels:!1,refresh:30,fit:!0,padding:10,randomize:!0,nodeRepulsion:4500,idealEdgeLength:50,edgeElasticity:.45,nestingFactor:.1,gravity:.25,numIter:2500,tile:!0,animate:"end",animationDuration:500,tilingPaddingVertical:10,tilingPaddingHorizontal:10,gravityRangeCompound:1.5,gravityCompound:1,gravityRange:3.8,initialEnergyOnIncremental:.5};function h(t){this.options=function(t,e){var n={};for(var r in t)n[r]=t[r];for(var r in e)n[r]=e[r];return n}(l,t),f(this.options)}var f=function(t){null!=t.nodeRepulsion&&(o.DEFAULT_REPULSION_STRENGTH=i.DEFAULT_REPULSION_STRENGTH=t.nodeRepulsion),null!=t.idealEdgeLength&&(o.DEFAULT_EDGE_LENGTH=i.DEFAULT_EDGE_LENGTH=t.idealEdgeLength),null!=t.edgeElasticity&&(o.DEFAULT_SPRING_STRENGTH=i.DEFAULT_SPRING_STRENGTH=t.edgeElasticity),null!=t.nestingFactor&&(o.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=i.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=t.nestingFactor),null!=t.gravity&&(o.DEFAULT_GRAVITY_STRENGTH=i.DEFAULT_GRAVITY_STRENGTH=t.gravity),null!=t.numIter&&(o.MAX_ITERATIONS=i.MAX_ITERATIONS=t.numIter),null!=t.gravityRange&&(o.DEFAULT_GRAVITY_RANGE_FACTOR=i.DEFAULT_GRAVITY_RANGE_FACTOR=t.gravityRange),null!=t.gravityCompound&&(o.DEFAULT_COMPOUND_GRAVITY_STRENGTH=i.DEFAULT_COMPOUND_GRAVITY_STRENGTH=t.gravityCompound),null!=t.gravityRangeCompound&&(o.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=i.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=t.gravityRangeCompound),null!=t.initialEnergyOnIncremental&&(o.DEFAULT_COOLING_FACTOR_INCREMENTAL=i.DEFAULT_COOLING_FACTOR_INCREMENTAL=t.initialEnergyOnIncremental),"draft"==t.quality?r.QUALITY=0:"proof"==t.quality?r.QUALITY=2:r.QUALITY=1,o.NODE_DIMENSIONS_INCLUDE_LABELS=i.NODE_DIMENSIONS_INCLUDE_LABELS=r.NODE_DIMENSIONS_INCLUDE_LABELS=t.nodeDimensionsIncludeLabels,o.DEFAULT_INCREMENTAL=i.DEFAULT_INCREMENTAL=r.DEFAULT_INCREMENTAL=!t.randomize,o.ANIMATE=i.ANIMATE=r.ANIMATE=t.animate,o.TILE=t.tile,o.TILING_PADDING_VERTICAL="function"==typeof t.tilingPaddingVertical?t.tilingPaddingVertical.call():t.tilingPaddingVertical,o.TILING_PADDING_HORIZONTAL="function"==typeof t.tilingPaddingHorizontal?t.tilingPaddingHorizontal.call():t.tilingPaddingHorizontal};h.prototype.run=function(){var t,e,n=this.options,r=(this.idToLNode={},this.layout=new a),i=this;i.stopped=!1,this.cy=this.options.cy,this.cy.trigger({type:"layoutstart",layout:this});var o=r.newGraphManager();this.gm=o;var s=this.options.eles.nodes(),c=this.options.eles.edges();this.root=o.addRoot(),this.processChildrenList(this.root,this.getTopMostNodes(s),r);for(var u=0;u0&&(a=n.getGraphManager().add(n.newGraph(),o),this.processChildrenList(a,h,n))}},h.prototype.stop=function(){return this.stopped=!0,this};var d=function(t){t("layout","cose-bilkent",h)};"undefined"!=typeof cytoscape&&d(cytoscape),t.exports=d}])},t.exports=r(n(4182))},9142:function(t,e,n){var r;r=function(t){return function(t){var e={};function n(r){if(e[r])return e[r].exports;var i=e[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)n.d(r,i,function(e){return t[e]}.bind(null,i));return r},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=0)}([function(t,e,n){var r=n(1),i=function(t){t&&t("layout","dagre",r)};"undefined"!=typeof cytoscape&&i(cytoscape),t.exports=i},function(t,e,n){function r(t){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},r(t)}var i=function(t){return"function"==typeof t},o=n(2),a=n(3),s=n(4);function c(t){this.options=a({},o,t)}c.prototype.run=function(){var t=this.options,e=t.cy,n=t.eles,o=function(t,e){return i(e)?e.apply(t,[t]):e},a=t.boundingBox||{x1:0,y1:0,w:e.width(),h:e.height()};void 0===a.x2&&(a.x2=a.x1+a.w),void 0===a.w&&(a.w=a.x2-a.x1),void 0===a.y2&&(a.y2=a.y1+a.h),void 0===a.h&&(a.h=a.y2-a.y1);var c=new s.graphlib.Graph({multigraph:!0,compound:!0}),u={},l=function(t,e){null!=e&&(u[t]=e)};l("nodesep",t.nodeSep),l("edgesep",t.edgeSep),l("ranksep",t.rankSep),l("rankdir",t.rankDir),l("align",t.align),l("ranker",t.ranker),l("acyclicer",t.acyclicer),c.setGraph(u),c.setDefaultEdgeLabel((function(){return{}})),c.setDefaultNodeLabel((function(){return{}}));var h=n.nodes();i(t.sort)&&(h=h.sort(t.sort));for(var f=0;f1?e-1:0),r=1;r1?e-1:0),r=1;r1&&(c.velocity.x=l/f,c.velocity.y=h/f),r=e*c.velocity.x,o=e*c.velocity.y,c.pos.x+=r,c.pos.y+=o,i+=Math.abs(r),a+=Math.abs(o)}}return(i*i+a*a)/s}}},function(t,e,n){"use strict";var r=n(9),i=n(8),o=function(t,e){var n=Math.abs(t.x-e.x),r=Math.abs(t.y-e.y);return n<1e-8&&r<1e-8};function a(t,e){return 0===e?t.quad0:1===e?t.quad1:2===e?t.quad2:3===e?t.quad3:null}function s(t,e,n){0===e?t.quad0=n:1===e?t.quad1=n:2===e?t.quad2=n:3===e&&(t.quad3=n)}t.exports={makeQuadtree:function(){var t=[],e=new i,n=[],c=0,u=l();function l(){var t=n[c];return t?(t.quad0=null,t.quad1=null,t.quad2=null,t.quad3=null,t.body=null,t.mass=t.massX=t.massY=0,t.left=t.right=t.top=t.bottom=0):(t=new r,n[c]=t),++c,t}function h(t){for(e.reset(),e.push(u,t);!e.isEmpty();){var n=e.pop(),r=n.node,i=n.body;if(r.body){var c=r.body;if(r.body=null,o(c.pos,i.pos)){var h=3;do{var f=Math.random(),d=(r.right-r.left)*f,p=(r.bottom-r.top)*f;c.pos.x=r.left+d,c.pos.y=r.top+p,h-=1}while(h>0&&o(c.pos,i.pos));if(0===h&&o(c.pos,i.pos))return}e.push(r,c),e.push(r,i)}else{var g=i.pos.x,v=i.pos.y;r.mass=r.mass+i.mass,r.massX=r.massX+i.mass*g,r.massY=r.massY+i.mass*v;var b=0,y=r.left,m=(r.right+y)/2,w=r.top,x=(r.bottom+w)/2;g>m&&(b+=1,y=m,m=r.right),v>x&&(b+=2,w=x,x=r.bottom);var _=a(r,b);_?e.push(_,i):((_=l()).left=y,_.top=w,_.right=m,_.bottom=x,_.body=i,s(r,b,_))}}}return{insertBodies:function(t){if(0!==t.length){var e=Number.MAX_VALUE,n=Number.MAX_VALUE,r=Number.MIN_VALUE,i=Number.MIN_VALUE,o=void 0,a=t.length;for(o=a;o--;){var s=t[o].pos.x,f=t[o].pos.y;sr&&(r=s),fi&&(i=f)}var d=r-e,p=i-n;for(d>p?i=n+d:r=e+p,c=0,(u=l()).left=e,u.right=r,u.top=n,u.bottom=i,(o=a-1)>=0&&(u.body=t[o]);o--;)h(t[o])}},updateBodyForce:function(e,n,r,i){var o=t,a=void 0,s=void 0,c=void 0,l=void 0,h=0,f=0,d=1,p=0,g=1;o[0]=u,function(t){t.x=0,t.y=0}(e.force);var v=-e.pos.x,b=-e.pos.y,y=Math.sqrt(v*v+b*b),m=e.mass*i/y;for(h+=m*v,f+=m*b;d;){var w=o[p],x=w.body;d-=1,p+=1;var _=x!==e;x&&_?(s=x.pos.x-e.pos.x,c=x.pos.y-e.pos.y,0===(l=Math.sqrt(s*s+c*c))&&(s=(Math.random()-.5)/50,c=(Math.random()-.5)/50,l=Math.sqrt(s*s+c*c)),h+=(a=n*x.mass*e.mass/(l*l*l))*s,f+=a*c):_&&(s=w.massX/w.mass-e.pos.x,c=w.massY/w.mass-e.pos.y,0===(l=Math.sqrt(s*s+c*c))&&(s=(Math.random()-.5)/50,c=(Math.random()-.5)/50,l=Math.sqrt(s*s+c*c)),(w.right-w.left)/l0)return this.stack[--this.popIdx]},reset:function(){this.popIdx=0}}},function(t,e,n){"use strict";t.exports=function(){this.body=null,this.quad0=null,this.quad1=null,this.quad2=null,this.quad3=null,this.mass=0,this.massX=0,this.massY=0,this.left=0,this.top=0,this.bottom=0,this.right=0}},function(t,e,n){"use strict";var r=n(6).integrate,i=n(5).applyDrag,o=n(1).applySpring;t.exports={tick:function(t){var e=t.bodies,n=t.springs,a=t.quadtree,s=t.timeStep,c=t.gravity,u=t.theta,l=t.dragCoeff,h=t.pull;e.forEach((function(t){var e=t._scratch;e&&(t.locked=e.locked,t.grabbed=e.grabbed,t.pos.x=e.x,t.pos.y=e.y)})),a.insertBodies(e);for(var f=0;f=e.maxIterations||r>=e.maxSimulationTime)};t.exports={tick:i,multitick:function(t){for(var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:r,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:r,o=!1,a=t,s=0;s{"use strict";var e={658:t=>{t.exports=null!=Object.assign?Object.assign.bind(Object):function(t){for(var e=arguments.length,n=Array(e>1?e-1:0),r=1;r{var r=function(t,e){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return function(t,e){var n=[],r=!0,i=!1,o=void 0;try{for(var a,s=t[Symbol.iterator]();!(r=(a=s.next()).done)&&(n.push(a.value),!e||n.length!==e);r=!0);}catch(t){i=!0,o=t}finally{try{!r&&s.return&&s.return()}finally{if(i)throw o}}return n}(t,e);throw new TypeError("Invalid attempt to destructure non-iterable instance")},i=n(140).layoutBase.LinkedList,o={getTopMostNodes:function(t){for(var e={},n=0;n0&&u.merge(t)}));for(var l=0;l1){u=s[0],l=u.connectedEdges().length,s.forEach((function(t){t.connectedEdges().length0&&r.set("dummy"+(r.size+1),d),p},relocateComponent:function(t,e,n){if(!n.fixedNodeConstraint){var i=Number.POSITIVE_INFINITY,o=Number.NEGATIVE_INFINITY,a=Number.POSITIVE_INFINITY,s=Number.NEGATIVE_INFINITY;if("draft"==n.quality){var c=!0,u=!1,l=void 0;try{for(var h,f=e.nodeIndexes[Symbol.iterator]();!(c=(h=f.next()).done);c=!0){var d=h.value,p=r(d,2),g=p[0],v=p[1],b=n.cy.getElementById(g);if(b){var y=b.boundingBox(),m=e.xCoords[v]-y.w/2,w=e.xCoords[v]+y.w/2,x=e.yCoords[v]-y.h/2,_=e.yCoords[v]+y.h/2;mo&&(o=w),xs&&(s=_)}}}catch(t){u=!0,l=t}finally{try{!c&&f.return&&f.return()}finally{if(u)throw l}}var E=t.x-(o+i)/2,k=t.y-(s+a)/2;e.xCoords=e.xCoords.map((function(t){return t+E})),e.yCoords=e.yCoords.map((function(t){return t+k}))}else{Object.keys(e).forEach((function(t){var n=e[t],r=n.getRect().x,c=n.getRect().x+n.getRect().width,u=n.getRect().y,l=n.getRect().y+n.getRect().height;ro&&(o=c),us&&(s=l)}));var T=t.x-(o+i)/2,C=t.y-(s+a)/2;Object.keys(e).forEach((function(t){var n=e[t];n.setCenter(n.getCenterX()+T,n.getCenterY()+C)}))}}},calcBoundingBox:function(t,e,n,r){for(var i=Number.MAX_SAFE_INTEGER,o=Number.MIN_SAFE_INTEGER,a=Number.MAX_SAFE_INTEGER,s=Number.MIN_SAFE_INTEGER,c=void 0,u=void 0,l=void 0,h=void 0,f=t.descendants().not(":parent"),d=f.length,p=0;p(c=e[r.get(g.id())]-g.width()/2)&&(i=c),o<(u=e[r.get(g.id())]+g.width()/2)&&(o=u),a>(l=n[r.get(g.id())]-g.height()/2)&&(a=l),s<(h=n[r.get(g.id())]+g.height()/2)&&(s=h)}var v={};return v.topLeftX=i,v.topLeftY=a,v.width=o-i,v.height=s-a,v},calcParentsWithoutChildren:function(t,e){var n=t.collection();return e.nodes(":parent").forEach((function(t){var e=!1;t.children().forEach((function(t){"none"!=t.css("display")&&(e=!0)})),e||n.merge(t)})),n}};t.exports=o},816:(t,e,n)=>{var r=n(548),i=n(140).CoSELayout,o=n(140).CoSENode,a=n(140).layoutBase.PointD,s=n(140).layoutBase.DimensionD,c=n(140).layoutBase.LayoutConstants,u=n(140).layoutBase.FDLayoutConstants,l=n(140).CoSEConstants;t.exports={coseLayout:function(t,e){var n=t.cy,h=t.eles,f=h.nodes(),d=h.edges(),p=void 0,g=void 0,v=void 0,b={};t.randomize&&(p=e.nodeIndexes,g=e.xCoords,v=e.yCoords);var y=function(t){return"function"==typeof t},m=function(t,e){return y(t)?t(e):t},w=r.calcParentsWithoutChildren(n,h);null!=t.nestingFactor&&(l.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=u.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=t.nestingFactor),null!=t.gravity&&(l.DEFAULT_GRAVITY_STRENGTH=u.DEFAULT_GRAVITY_STRENGTH=t.gravity),null!=t.numIter&&(l.MAX_ITERATIONS=u.MAX_ITERATIONS=t.numIter),null!=t.gravityRange&&(l.DEFAULT_GRAVITY_RANGE_FACTOR=u.DEFAULT_GRAVITY_RANGE_FACTOR=t.gravityRange),null!=t.gravityCompound&&(l.DEFAULT_COMPOUND_GRAVITY_STRENGTH=u.DEFAULT_COMPOUND_GRAVITY_STRENGTH=t.gravityCompound),null!=t.gravityRangeCompound&&(l.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=u.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=t.gravityRangeCompound),null!=t.initialEnergyOnIncremental&&(l.DEFAULT_COOLING_FACTOR_INCREMENTAL=u.DEFAULT_COOLING_FACTOR_INCREMENTAL=t.initialEnergyOnIncremental),null!=t.tilingCompareBy&&(l.TILING_COMPARE_BY=t.tilingCompareBy),"proof"==t.quality?c.QUALITY=2:c.QUALITY=0,l.NODE_DIMENSIONS_INCLUDE_LABELS=u.NODE_DIMENSIONS_INCLUDE_LABELS=c.NODE_DIMENSIONS_INCLUDE_LABELS=t.nodeDimensionsIncludeLabels,l.DEFAULT_INCREMENTAL=u.DEFAULT_INCREMENTAL=c.DEFAULT_INCREMENTAL=!t.randomize,l.ANIMATE=u.ANIMATE=c.ANIMATE=t.animate,l.TILE=t.tile,l.TILING_PADDING_VERTICAL="function"==typeof t.tilingPaddingVertical?t.tilingPaddingVertical.call():t.tilingPaddingVertical,l.TILING_PADDING_HORIZONTAL="function"==typeof t.tilingPaddingHorizontal?t.tilingPaddingHorizontal.call():t.tilingPaddingHorizontal,l.DEFAULT_INCREMENTAL=u.DEFAULT_INCREMENTAL=c.DEFAULT_INCREMENTAL=!0,l.PURE_INCREMENTAL=!t.randomize,c.DEFAULT_UNIFORM_LEAF_NODE_SIZES=t.uniformNodeDimensions,"transformed"==t.step&&(l.TRANSFORM_ON_CONSTRAINT_HANDLING=!0,l.ENFORCE_CONSTRAINTS=!1,l.APPLY_LAYOUT=!1),"enforced"==t.step&&(l.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,l.ENFORCE_CONSTRAINTS=!0,l.APPLY_LAYOUT=!1),"cose"==t.step&&(l.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,l.ENFORCE_CONSTRAINTS=!1,l.APPLY_LAYOUT=!0),"all"==t.step&&(t.randomize?l.TRANSFORM_ON_CONSTRAINT_HANDLING=!0:l.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,l.ENFORCE_CONSTRAINTS=!0,l.APPLY_LAYOUT=!0),t.fixedNodeConstraint||t.alignmentConstraint||t.relativePlacementConstraint?l.TREE_REDUCTION_ON_INCREMENTAL=!1:l.TREE_REDUCTION_ON_INCREMENTAL=!0;var x=new i,_=x.newGraphManager();return function t(e,n,i,c){for(var u=n.length,l=0;l0&&t(i.getGraphManager().add(i.newGraph(),d),f,i,c)}}(_.addRoot(),r.getTopMostNodes(f),x,t),function(e,n,r){for(var i=0,o=0,a=0;a0?l.DEFAULT_EDGE_LENGTH=u.DEFAULT_EDGE_LENGTH=i/o:y(t.idealEdgeLength)?l.DEFAULT_EDGE_LENGTH=u.DEFAULT_EDGE_LENGTH=50:l.DEFAULT_EDGE_LENGTH=u.DEFAULT_EDGE_LENGTH=t.idealEdgeLength,l.MIN_REPULSION_DIST=u.MIN_REPULSION_DIST=u.DEFAULT_EDGE_LENGTH/10,l.DEFAULT_RADIAL_SEPARATION=u.DEFAULT_EDGE_LENGTH)}(x,_,d),function(t,e){e.fixedNodeConstraint&&(t.constraints.fixedNodeConstraint=e.fixedNodeConstraint),e.alignmentConstraint&&(t.constraints.alignmentConstraint=e.alignmentConstraint),e.relativePlacementConstraint&&(t.constraints.relativePlacementConstraint=e.relativePlacementConstraint)}(x,t),x.runLayout(),b}}},212:(t,e,n)=>{var r=function(){function t(t,e){for(var n=0;n0)if(h){var f=o.getTopMostNodes(t.eles.nodes());if((c=o.connectComponents(e,t.eles,f)).forEach((function(t){var e=t.boundingBox();u.push({x:e.x1+e.w/2,y:e.y1+e.h/2})})),t.randomize&&c.forEach((function(e){t.eles=e,r.push(a(t))})),"default"==t.quality||"proof"==t.quality){var d=e.collection();if(t.tile){var p=new Map,g=0,v={nodeIndexes:p,xCoords:[],yCoords:[]},b=[];if(c.forEach((function(t,e){0==t.edges().length&&(t.nodes().forEach((function(e,n){d.merge(t.nodes()[n]),e.isParent()||(v.nodeIndexes.set(t.nodes()[n].id(),g++),v.xCoords.push(t.nodes()[0].position().x),v.yCoords.push(t.nodes()[0].position().y))})),b.push(e))})),d.length>1){var y=d.boundingBox();u.push({x:y.x1+y.w/2,y:y.y1+y.h/2}),c.push(d),r.push(v);for(var m=b.length-1;m>=0;m--)c.splice(b[m],1),r.splice(b[m],1),u.splice(b[m],1)}}c.forEach((function(e,n){t.eles=e,i.push(s(t,r[n])),o.relocateComponent(u[n],i[n],t)}))}else c.forEach((function(e,n){o.relocateComponent(u[n],r[n],t)}));var w=new Set;if(c.length>1){var x=[],_=n.filter((function(t){return"none"==t.css("display")}));c.forEach((function(e,n){var a=void 0;if("draft"==t.quality&&(a=r[n].nodeIndexes),e.nodes().not(_).length>0){var s={edges:[],nodes:[]},c=void 0;e.nodes().not(_).forEach((function(e){if("draft"==t.quality)if(e.isParent()){var u=o.calcBoundingBox(e,r[n].xCoords,r[n].yCoords,a);s.nodes.push({x:u.topLeftX,y:u.topLeftY,width:u.width,height:u.height})}else c=a.get(e.id()),s.nodes.push({x:r[n].xCoords[c]-e.boundingbox().w/2,y:r[n].yCoords[c]-e.boundingbox().h/2,width:e.boundingbox().w,height:e.boundingbox().h});else i[n][e.id()]&&s.nodes.push({x:i[n][e.id()].getLeft(),y:i[n][e.id()].getTop(),width:i[n][e.id()].getWidth(),height:i[n][e.id()].getHeight()})})),e.edges().forEach((function(e){var c=e.source(),u=e.target();if("none"!=c.css("display")&&"none"!=u.css("display"))if("draft"==t.quality){var l=a.get(c.id()),h=a.get(u.id()),f=[],d=[];if(c.isParent()){var p=o.calcBoundingBox(c,r[n].xCoords,r[n].yCoords,a);f.push(p.topLeftX+p.width/2),f.push(p.topLeftY+p.height/2)}else f.push(r[n].xCoords[l]),f.push(r[n].yCoords[l]);if(u.isParent()){var g=o.calcBoundingBox(u,r[n].xCoords,r[n].yCoords,a);d.push(g.topLeftX+g.width/2),d.push(g.topLeftY+g.height/2)}else d.push(r[n].xCoords[h]),d.push(r[n].yCoords[h]);s.edges.push({startX:f[0],startY:f[1],endX:d[0],endY:d[1]})}else i[n][c.id()]&&i[n][u.id()]&&s.edges.push({startX:i[n][c.id()].getCenterX(),startY:i[n][c.id()].getCenterY(),endX:i[n][u.id()].getCenterX(),endY:i[n][u.id()].getCenterY()})})),s.nodes.length>0&&(x.push(s),w.add(n))}}));var E=l.packComponents(x,t.randomize).shifts;if("draft"==t.quality)r.forEach((function(t,e){var n=t.xCoords.map((function(t){return t+E[e].dx})),r=t.yCoords.map((function(t){return t+E[e].dy}));t.xCoords=n,t.yCoords=r}));else{var k=0;w.forEach((function(t){Object.keys(i[t]).forEach((function(e){var n=i[t][e];n.setCenter(n.getCenterX()+E[k].dx,n.getCenterY()+E[k].dy)})),k++}))}}}else{var T=t.eles.boundingBox();if(u.push({x:T.x1+T.w/2,y:T.y1+T.h/2}),t.randomize){var C=a(t);r.push(C)}"default"==t.quality||"proof"==t.quality?(i.push(s(t,r[0])),o.relocateComponent(u[0],i[0],t)):o.relocateComponent(u[0],r[0],t)}var N=function(e,n){if("default"==t.quality||"proof"==t.quality){"number"==typeof e&&(e=n);var o=void 0,a=void 0,s=e.data("id");return i.forEach((function(t){s in t&&(o={x:t[s].getRect().getCenterX(),y:t[s].getRect().getCenterY()},a=t[s])})),t.nodeDimensionsIncludeLabels&&(a.labelWidth&&("left"==a.labelPosHorizontal?o.x+=a.labelWidth/2:"right"==a.labelPosHorizontal&&(o.x-=a.labelWidth/2)),a.labelHeight&&("top"==a.labelPosVertical?o.y+=a.labelHeight/2:"bottom"==a.labelPosVertical&&(o.y-=a.labelHeight/2))),null==o&&(o={x:e.position("x"),y:e.position("y")}),{x:o.x,y:o.y}}var c=void 0;return r.forEach((function(t){var n=t.nodeIndexes.get(e.id());null!=n&&(c={x:t.xCoords[n],y:t.yCoords[n]})})),null==c&&(c={x:e.position("x"),y:e.position("y")}),{x:c.x,y:c.y}};if("default"==t.quality||"proof"==t.quality||t.randomize){var A=o.calcParentsWithoutChildren(e,n),S=n.filter((function(t){return"none"==t.css("display")}));t.eles=n.not(S),n.nodes().not(":parent").not(S).layoutPositions(this,t,N),A.length>0&&A.forEach((function(t){t.position(N(t))}))}else console.log("If randomize option is set to false, then quality option must be 'default' or 'proof'.")}}]),t}();t.exports=u},657:(t,e,n)=>{var r=n(548),i=n(140).layoutBase.Matrix,o=n(140).layoutBase.SVD;t.exports={spectralLayout:function(t){var e=t.cy,n=t.eles,a=n.nodes(),s=n.nodes(":parent"),c=new Map,u=new Map,l=new Map,h=[],f=[],d=[],p=[],g=[],v=[],b=[],y=[],m=void 0,w=1e8,x=1e-9,_=t.piTol,E=t.samplingType,k=t.nodeSeparation,T=void 0,C=function(t,e,n){for(var r=[],i=0,o=0,a=0,s=void 0,c=[],l=0,f=1,d=0;d=i;){a=r[i++];for(var p=h[a],b=0;bl&&(l=g[x],f=x)}return f};r.connectComponents(e,n,r.getTopMostNodes(a),c),s.forEach((function(t){r.connectComponents(e,n,r.getTopMostNodes(t.descendants().intersection(n)),c)}));for(var N=0,A=0;A0&&(r.isParent()?h[e].push(l.get(r.id())):h[e].push(r.id()))}))}));var R=function(t){var n=u.get(t),r=void 0;c.get(t).forEach((function(i){r=e.getElementById(i).isParent()?l.get(i):i,h[n].push(r),h[u.get(r)].push(t)}))},j=!0,G=!1,B=void 0;try{for(var F,H=c.keys()[Symbol.iterator]();!(j=(F=H.next()).done);j=!0)R(F.value)}catch(t){G=!0,B=t}finally{try{!j&&H.return&&H.return()}finally{if(G)throw B}}var Y=void 0;if((m=u.size)>2){T=m=1)break;u=c}for(var p=0;p=1)break;u=c}for(var b=0;b{var r=n(212),i=function(t){t&&t("layout","fcose",r)};"undefined"!=typeof cytoscape&&i(cytoscape),t.exports=i},140:e=>{e.exports=t}},n={},r=function t(r){var i=n[r];if(void 0!==i)return i.exports;var o=n[r]={exports:{}};return e[r](o,o.exports,t),o.exports}(579);return r})()},t.exports=r(n(6914))},6914:function(t,e,n){var r;r=function(t){return(()=>{"use strict";var e={45:(t,e,n)=>{var r={};r.layoutBase=n(551),r.CoSEConstants=n(806),r.CoSEEdge=n(767),r.CoSEGraph=n(880),r.CoSEGraphManager=n(578),r.CoSELayout=n(765),r.CoSENode=n(991),r.ConstraintHandler=n(902),t.exports=r},806:(t,e,n)=>{var r=n(551).FDLayoutConstants;function i(){}for(var o in r)i[o]=r[o];i.DEFAULT_USE_MULTI_LEVEL_SCALING=!1,i.DEFAULT_RADIAL_SEPARATION=r.DEFAULT_EDGE_LENGTH,i.DEFAULT_COMPONENT_SEPERATION=60,i.TILE=!0,i.TILING_PADDING_VERTICAL=10,i.TILING_PADDING_HORIZONTAL=10,i.TRANSFORM_ON_CONSTRAINT_HANDLING=!0,i.ENFORCE_CONSTRAINTS=!0,i.APPLY_LAYOUT=!0,i.RELAX_MOVEMENT_ON_CONSTRAINTS=!0,i.TREE_REDUCTION_ON_INCREMENTAL=!0,i.PURE_INCREMENTAL=i.DEFAULT_INCREMENTAL,t.exports=i},767:(t,e,n)=>{var r=n(551).FDLayoutEdge;function i(t,e,n){r.call(this,t,e,n)}for(var o in i.prototype=Object.create(r.prototype),r)i[o]=r[o];t.exports=i},880:(t,e,n)=>{var r=n(551).LGraph;function i(t,e,n){r.call(this,t,e,n)}for(var o in i.prototype=Object.create(r.prototype),r)i[o]=r[o];t.exports=i},578:(t,e,n)=>{var r=n(551).LGraphManager;function i(t){r.call(this,t)}for(var o in i.prototype=Object.create(r.prototype),r)i[o]=r[o];t.exports=i},765:(t,e,n)=>{var r=n(551).FDLayout,i=n(578),o=n(880),a=n(991),s=n(767),c=n(806),u=n(902),l=n(551).FDLayoutConstants,h=n(551).LayoutConstants,f=n(551).Point,d=n(551).PointD,p=n(551).DimensionD,g=n(551).Layout,v=n(551).Integer,b=n(551).IGeometry,y=n(551).LGraph,m=n(551).Transform,w=n(551).LinkedList;function x(){r.call(this),this.toBeTiled={},this.constraints={}}for(var _ in x.prototype=Object.create(r.prototype),r)x[_]=r[_];x.prototype.newGraphManager=function(){var t=new i(this);return this.graphManager=t,t},x.prototype.newGraph=function(t){return new o(null,this.graphManager,t)},x.prototype.newNode=function(t){return new a(this.graphManager,t)},x.prototype.newEdge=function(t){return new s(null,null,t)},x.prototype.initParameters=function(){r.prototype.initParameters.call(this,arguments),this.isSubLayout||(c.DEFAULT_EDGE_LENGTH<10?this.idealEdgeLength=10:this.idealEdgeLength=c.DEFAULT_EDGE_LENGTH,this.useSmartIdealEdgeLengthCalculation=c.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION,this.gravityConstant=l.DEFAULT_GRAVITY_STRENGTH,this.compoundGravityConstant=l.DEFAULT_COMPOUND_GRAVITY_STRENGTH,this.gravityRangeFactor=l.DEFAULT_GRAVITY_RANGE_FACTOR,this.compoundGravityRangeFactor=l.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR,this.prunedNodesAll=[],this.growTreeIterations=0,this.afterGrowthIterations=0,this.isTreeGrowing=!1,this.isGrowthFinished=!1)},x.prototype.initSpringEmbedder=function(){r.prototype.initSpringEmbedder.call(this),this.coolingCycle=0,this.maxCoolingCycle=this.maxIterations/l.CONVERGENCE_CHECK_PERIOD,this.finalTemperature=.04,this.coolingAdjuster=1},x.prototype.layout=function(){return h.DEFAULT_CREATE_BENDS_AS_NEEDED&&(this.createBendpoints(),this.graphManager.resetAllEdges()),this.level=0,this.classicLayout()},x.prototype.classicLayout=function(){if(this.nodesWithGravity=this.calculateNodesToApplyGravitationTo(),this.graphManager.setAllNodesToApplyGravitation(this.nodesWithGravity),this.calcNoOfChildrenForAllNodes(),this.graphManager.calcLowestCommonAncestors(),this.graphManager.calcInclusionTreeDepths(),this.graphManager.getRoot().calcEstimatedSize(),this.calcIdealEdgeLengths(),this.incremental)c.TREE_REDUCTION_ON_INCREMENTAL&&(this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation(),e=new Set(this.getAllNodes()),n=this.nodesWithGravity.filter((function(t){return e.has(t)})),this.graphManager.setAllNodesToApplyGravitation(n));else{var t=this.getFlatForest();if(t.length>0)this.positionNodesRadially(t);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var e=new Set(this.getAllNodes()),n=this.nodesWithGravity.filter((function(t){return e.has(t)}));this.graphManager.setAllNodesToApplyGravitation(n),this.positionNodesRandomly()}}return Object.keys(this.constraints).length>0&&(u.handleConstraints(this),this.initConstraintVariables()),this.initSpringEmbedder(),c.APPLY_LAYOUT&&this.runSpringEmbedder(),!0},x.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished){if(!(this.prunedNodesAll.length>0))return!0;this.isTreeGrowing=!0}if(this.totalIterations%l.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged()){if(!(this.prunedNodesAll.length>0))return!0;this.isTreeGrowing=!0}this.coolingCycle++,0==this.layoutQuality?this.coolingAdjuster=this.coolingCycle:1==this.layoutQuality&&(this.coolingAdjuster=this.coolingCycle/3),this.coolingFactor=Math.max(this.initialCoolingFactor-Math.pow(this.coolingCycle,Math.log(100*(this.initialCoolingFactor-this.finalTemperature))/Math.log(this.maxCoolingCycle))/100*this.coolingAdjuster,this.finalTemperature),this.animationPeriod=Math.ceil(this.initialAnimationPeriod*Math.sqrt(this.coolingFactor))}if(this.isTreeGrowing){if(this.growTreeIterations%10==0)if(this.prunedNodesAll.length>0){this.graphManager.updateBounds(),this.updateGrid(),this.growTree(this.prunedNodesAll),this.graphManager.resetAllNodesToApplyGravitation();var t=new Set(this.getAllNodes()),e=this.nodesWithGravity.filter((function(e){return t.has(e)}));this.graphManager.setAllNodesToApplyGravitation(e),this.graphManager.updateBounds(),this.updateGrid(),c.PURE_INCREMENTAL?this.coolingFactor=l.DEFAULT_COOLING_FACTOR_INCREMENTAL/2:this.coolingFactor=l.DEFAULT_COOLING_FACTOR_INCREMENTAL}else this.isTreeGrowing=!1,this.isGrowthFinished=!0;this.growTreeIterations++}if(this.isGrowthFinished){if(this.isConverged())return!0;this.afterGrowthIterations%10==0&&(this.graphManager.updateBounds(),this.updateGrid()),c.PURE_INCREMENTAL?this.coolingFactor=l.DEFAULT_COOLING_FACTOR_INCREMENTAL/2*((100-this.afterGrowthIterations)/100):this.coolingFactor=l.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var n=!this.isTreeGrowing&&!this.isGrowthFinished,r=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(n,r),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},x.prototype.getPositionsData=function(){for(var t=this.graphManager.getAllNodes(),e={},n=0;n0&&this.updateDisplacements(),e=0;e0&&(r.fixedNodeWeight=o)}if(this.constraints.relativePlacementConstraint){var a=new Map,s=new Map;if(this.dummyToNodeForVerticalAlignment=new Map,this.dummyToNodeForHorizontalAlignment=new Map,this.fixedNodesOnHorizontal=new Set,this.fixedNodesOnVertical=new Set,this.fixedNodeSet.forEach((function(e){t.fixedNodesOnHorizontal.add(e),t.fixedNodesOnVertical.add(e)})),this.constraints.alignmentConstraint){if(this.constraints.alignmentConstraint.vertical){var u=this.constraints.alignmentConstraint.vertical;for(n=0;n=2*t.length/3;r--)e=Math.floor(Math.random()*(r+1)),n=t[r],t[r]=t[e],t[e]=n;return t},this.nodesInRelativeHorizontal=[],this.nodesInRelativeVertical=[],this.nodeToRelativeConstraintMapHorizontal=new Map,this.nodeToRelativeConstraintMapVertical=new Map,this.nodeToTempPositionMapHorizontal=new Map,this.nodeToTempPositionMapVertical=new Map,this.constraints.relativePlacementConstraint.forEach((function(e){if(e.left){var n=a.has(e.left)?a.get(e.left):e.left,r=a.has(e.right)?a.get(e.right):e.right;t.nodesInRelativeHorizontal.includes(n)||(t.nodesInRelativeHorizontal.push(n),t.nodeToRelativeConstraintMapHorizontal.set(n,[]),t.dummyToNodeForVerticalAlignment.has(n)?t.nodeToTempPositionMapHorizontal.set(n,t.idToNodeMap.get(t.dummyToNodeForVerticalAlignment.get(n)[0]).getCenterX()):t.nodeToTempPositionMapHorizontal.set(n,t.idToNodeMap.get(n).getCenterX())),t.nodesInRelativeHorizontal.includes(r)||(t.nodesInRelativeHorizontal.push(r),t.nodeToRelativeConstraintMapHorizontal.set(r,[]),t.dummyToNodeForVerticalAlignment.has(r)?t.nodeToTempPositionMapHorizontal.set(r,t.idToNodeMap.get(t.dummyToNodeForVerticalAlignment.get(r)[0]).getCenterX()):t.nodeToTempPositionMapHorizontal.set(r,t.idToNodeMap.get(r).getCenterX())),t.nodeToRelativeConstraintMapHorizontal.get(n).push({right:r,gap:e.gap}),t.nodeToRelativeConstraintMapHorizontal.get(r).push({left:n,gap:e.gap})}else{var i=s.has(e.top)?s.get(e.top):e.top,o=s.has(e.bottom)?s.get(e.bottom):e.bottom;t.nodesInRelativeVertical.includes(i)||(t.nodesInRelativeVertical.push(i),t.nodeToRelativeConstraintMapVertical.set(i,[]),t.dummyToNodeForHorizontalAlignment.has(i)?t.nodeToTempPositionMapVertical.set(i,t.idToNodeMap.get(t.dummyToNodeForHorizontalAlignment.get(i)[0]).getCenterY()):t.nodeToTempPositionMapVertical.set(i,t.idToNodeMap.get(i).getCenterY())),t.nodesInRelativeVertical.includes(o)||(t.nodesInRelativeVertical.push(o),t.nodeToRelativeConstraintMapVertical.set(o,[]),t.dummyToNodeForHorizontalAlignment.has(o)?t.nodeToTempPositionMapVertical.set(o,t.idToNodeMap.get(t.dummyToNodeForHorizontalAlignment.get(o)[0]).getCenterY()):t.nodeToTempPositionMapVertical.set(o,t.idToNodeMap.get(o).getCenterY())),t.nodeToRelativeConstraintMapVertical.get(i).push({bottom:o,gap:e.gap}),t.nodeToRelativeConstraintMapVertical.get(o).push({top:i,gap:e.gap})}}));else{var h=new Map,f=new Map;this.constraints.relativePlacementConstraint.forEach((function(t){if(t.left){var e=a.has(t.left)?a.get(t.left):t.left,n=a.has(t.right)?a.get(t.right):t.right;h.has(e)?h.get(e).push(n):h.set(e,[n]),h.has(n)?h.get(n).push(e):h.set(n,[e])}else{var r=s.has(t.top)?s.get(t.top):t.top,i=s.has(t.bottom)?s.get(t.bottom):t.bottom;f.has(r)?f.get(r).push(i):f.set(r,[i]),f.has(i)?f.get(i).push(r):f.set(i,[r])}}));var d=function(t,e){var n=[],r=[],i=new w,o=new Set,a=0;return t.forEach((function(s,c){if(!o.has(c)){n[a]=[],r[a]=!1;var u=c;for(i.push(u),o.add(u),n[a].push(u);0!=i.length;)u=i.shift(),e.has(u)&&(r[a]=!0),t.get(u).forEach((function(t){o.has(t)||(i.push(t),o.add(t),n[a].push(t))}));a++}})),{components:n,isFixed:r}},p=d(h,t.fixedNodesOnHorizontal);this.componentsOnHorizontal=p.components,this.fixedComponentsOnHorizontal=p.isFixed;var g=d(f,t.fixedNodesOnVertical);this.componentsOnVertical=g.components,this.fixedComponentsOnVertical=g.isFixed}}},x.prototype.updateDisplacements=function(){var t=this;if(this.constraints.fixedNodeConstraint&&this.constraints.fixedNodeConstraint.forEach((function(e){var n=t.idToNodeMap.get(e.nodeId);n.displacementX=0,n.displacementY=0})),this.constraints.alignmentConstraint){if(this.constraints.alignmentConstraint.vertical)for(var e=this.constraints.alignmentConstraint.vertical,n=0;n1)for(s=0;sr&&(r=Math.floor(a.y)),o=Math.floor(a.x+c.DEFAULT_COMPONENT_SEPERATION)}this.transform(new d(h.WORLD_CENTER_X-a.x/2,h.WORLD_CENTER_Y-a.y/2))},x.radialLayout=function(t,e,n){var r=Math.max(this.maxDiagonalInTree(t),c.DEFAULT_RADIAL_SEPARATION);x.branchRadialLayout(e,null,0,359,0,r);var i=y.calculateBounds(t),o=new m;o.setDeviceOrgX(i.getMinX()),o.setDeviceOrgY(i.getMinY()),o.setWorldOrgX(n.x),o.setWorldOrgY(n.y);for(var a=0;a1;){var v=g[0];g.splice(0,1);var y=l.indexOf(v);y>=0&&l.splice(y,1),p--,h--}f=null!=e?(l.indexOf(g[0])+1)%p:0;for(var m=Math.abs(r-n)/h,w=f;d!=h;w=++w%p){var _=l[w].getOtherEnd(t);if(_!=e){var E=(n+d*m)%360,k=(E+m)%360;x.branchRadialLayout(_,t,E,k,i+o,o),d++}}},x.maxDiagonalInTree=function(t){for(var e=v.MIN_VALUE,n=0;ne&&(e=r)}return e},x.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},x.prototype.groupZeroDegreeMembers=function(){var t=this,e={};this.memberGroups={},this.idToDummyNode={};for(var n=[],r=this.graphManager.getAllNodes(),i=0;i1){var r="DummyCompound_"+n;t.memberGroups[r]=e[n];var i=e[n][0].getParent(),o=new a(t.graphManager);o.id=r,o.paddingLeft=i.paddingLeft||0,o.paddingRight=i.paddingRight||0,o.paddingBottom=i.paddingBottom||0,o.paddingTop=i.paddingTop||0,t.idToDummyNode[r]=o;var s=t.getGraphManager().add(t.newGraph(),o),c=i.getChild();c.add(o);for(var u=0;ui?(r.rect.x-=(r.labelWidth-i)/2,r.setWidth(r.labelWidth),r.labelMarginLeft=(r.labelWidth-i)/2):"right"==r.labelPosHorizontal&&r.setWidth(i+r.labelWidth)),r.labelHeight&&("top"==r.labelPosVertical?(r.rect.y-=r.labelHeight,r.setHeight(o+r.labelHeight),r.labelMarginTop=r.labelHeight):"center"==r.labelPosVertical&&r.labelHeight>o?(r.rect.y-=(r.labelHeight-o)/2,r.setHeight(r.labelHeight),r.labelMarginTop=(r.labelHeight-o)/2):"bottom"==r.labelPosVertical&&r.setHeight(o+r.labelHeight))}}))},x.prototype.repopulateCompounds=function(){for(var t=this.compoundOrder.length-1;t>=0;t--){var e=this.compoundOrder[t],n=e.id,r=e.paddingLeft,i=e.paddingTop,o=e.labelMarginLeft,a=e.labelMarginTop;this.adjustLocations(this.tiledMemberPack[n],e.rect.x,e.rect.y,r,i,o,a)}},x.prototype.repopulateZeroDegreeMembers=function(){var t=this,e=this.tiledZeroDegreePack;Object.keys(e).forEach((function(n){var r=t.idToDummyNode[n],i=r.paddingLeft,o=r.paddingTop,a=r.labelMarginLeft,s=r.labelMarginTop;t.adjustLocations(e[n],r.rect.x,r.rect.y,i,o,a,s)}))},x.prototype.getToBeTiled=function(t){var e=t.id;if(null!=this.toBeTiled[e])return this.toBeTiled[e];var n=t.getChild();if(null==n)return this.toBeTiled[e]=!1,!1;for(var r=n.getNodes(),i=0;i0)return this.toBeTiled[e]=!1,!1;if(null!=o.getChild()){if(!this.getToBeTiled(o))return this.toBeTiled[e]=!1,!1}else this.toBeTiled[o.id]=!1}return this.toBeTiled[e]=!0,!0},x.prototype.getNodeDegree=function(t){t.id;for(var e=t.getEdges(),n=0,r=0;rl&&(l=f.rect.height)}n+=l+t.verticalPadding}},x.prototype.tileCompoundMembers=function(t,e){var n=this;this.tiledMemberPack=[],Object.keys(t).forEach((function(r){var i=e[r];if(n.tiledMemberPack[r]=n.tileNodes(t[r],i.paddingLeft+i.paddingRight),i.rect.width=n.tiledMemberPack[r].width,i.rect.height=n.tiledMemberPack[r].height,i.setCenter(n.tiledMemberPack[r].centerX,n.tiledMemberPack[r].centerY),i.labelMarginLeft=0,i.labelMarginTop=0,c.NODE_DIMENSIONS_INCLUDE_LABELS){var o=i.rect.width,a=i.rect.height;i.labelWidth&&("left"==i.labelPosHorizontal?(i.rect.x-=i.labelWidth,i.setWidth(o+i.labelWidth),i.labelMarginLeft=i.labelWidth):"center"==i.labelPosHorizontal&&i.labelWidth>o?(i.rect.x-=(i.labelWidth-o)/2,i.setWidth(i.labelWidth),i.labelMarginLeft=(i.labelWidth-o)/2):"right"==i.labelPosHorizontal&&i.setWidth(o+i.labelWidth)),i.labelHeight&&("top"==i.labelPosVertical?(i.rect.y-=i.labelHeight,i.setHeight(a+i.labelHeight),i.labelMarginTop=i.labelHeight):"center"==i.labelPosVertical&&i.labelHeight>a?(i.rect.y-=(i.labelHeight-a)/2,i.setHeight(i.labelHeight),i.labelMarginTop=(i.labelHeight-a)/2):"bottom"==i.labelPosVertical&&i.setHeight(a+i.labelHeight))}}))},x.prototype.tileNodes=function(t,e){var n=this.tileNodesByFavoringDim(t,e,!0),r=this.tileNodesByFavoringDim(t,e,!1),i=this.getOrgRatio(n);return this.getOrgRatio(r)s&&(s=t.getWidth())}));var u,l=o/i,h=a/i,f=Math.pow(n-r,2)+4*(l+r)*(h+n)*i,d=(r-n+Math.sqrt(f))/(2*(l+r));e?(u=Math.ceil(d))==d&&u++:u=Math.floor(d);var p=u*(l+r)-r;return s>p&&(p=s),p+2*r},x.prototype.tileNodesByFavoringDim=function(t,e,n){var r=c.TILING_PADDING_VERTICAL,i=c.TILING_PADDING_HORIZONTAL,o=c.TILING_COMPARE_BY,a={rows:[],rowWidth:[],rowHeight:[],width:0,height:e,verticalPadding:r,horizontalPadding:i,centerX:0,centerY:0};o&&(a.idealRowWidth=this.calcIdealRowWidth(t,n));var s=function(t){return t.rect.width*t.rect.height},u=function(t,e){return s(e)-s(t)};t.sort((function(t,e){var n=u;return a.idealRowWidth?(n=o)(t.id,e.id):n(t,e)}));for(var l=0,h=0,f=0;f0&&(o+=t.horizontalPadding),t.rowWidth[n]=o,t.width0&&(a+=t.verticalPadding);var s=0;a>t.rowHeight[n]&&(s=t.rowHeight[n],t.rowHeight[n]=a,s=t.rowHeight[n]-s),t.height+=s,t.rows[n].push(e)},x.prototype.getShortestRowIndex=function(t){for(var e=-1,n=Number.MAX_VALUE,r=0;rn&&(e=r,n=t.rowWidth[r]);return e},x.prototype.canAddHorizontal=function(t,e,n){if(t.idealRowWidth){var r=t.rows.length-1;return t.rowWidth[r]+e+t.horizontalPadding<=t.idealRowWidth}var i=this.getShortestRowIndex(t);if(i<0)return!0;var o=t.rowWidth[i];if(o+t.horizontalPadding+e<=t.width)return!0;var a,s,c=0;return t.rowHeight[i]0&&(c=n+t.verticalPadding-t.rowHeight[i]),a=t.width-o>=e+t.horizontalPadding?(t.height+c)/(o+e+t.horizontalPadding):(t.height+c)/t.width,c=n+t.verticalPadding,(s=t.widtho&&e!=n){r.splice(-1,1),t.rows[n].push(i),t.rowWidth[e]=t.rowWidth[e]-o,t.rowWidth[n]=t.rowWidth[n]+o,t.width=t.rowWidth[instance.getLongestRowIndex(t)];for(var a=Number.MIN_VALUE,s=0;sa&&(a=r[s].height);e>0&&(a+=t.verticalPadding);var c=t.rowHeight[e]+t.rowHeight[n];t.rowHeight[e]=a,t.rowHeight[n]0)for(var h=i;h<=o;h++)u[0]+=this.grid[h][a-1].length+this.grid[h][a].length-1;if(o0)for(h=a;h<=s;h++)u[3]+=this.grid[i-1][h].length+this.grid[i][h].length-1;for(var f,d,p=v.MAX_VALUE,g=0;g{var r=n(551).FDLayoutNode,i=n(551).IMath;function o(t,e,n,i){r.call(this,t,e,n,i)}for(var a in o.prototype=Object.create(r.prototype),r)o[a]=r[a];o.prototype.calculateDisplacement=function(){var t=this.graphManager.getLayout();null!=this.getChild()&&this.fixedNodeWeight?(this.displacementX+=t.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.fixedNodeWeight,this.displacementY+=t.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.fixedNodeWeight):(this.displacementX+=t.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.noOfChildren,this.displacementY+=t.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.noOfChildren),Math.abs(this.displacementX)>t.coolingFactor*t.maxNodeDisplacement&&(this.displacementX=t.coolingFactor*t.maxNodeDisplacement*i.sign(this.displacementX)),Math.abs(this.displacementY)>t.coolingFactor*t.maxNodeDisplacement&&(this.displacementY=t.coolingFactor*t.maxNodeDisplacement*i.sign(this.displacementY)),this.child&&this.child.getNodes().length>0&&this.propogateDisplacementToChildren(this.displacementX,this.displacementY)},o.prototype.propogateDisplacementToChildren=function(t,e){for(var n,r=this.getChild().getNodes(),i=0;i{function r(t){if(Array.isArray(t)){for(var e=0,n=Array(t.length);e0){var o=0;r.forEach((function(t){"horizontal"==e?(h.set(t,c.has(t)?u[c.get(t)]:i.get(t)),o+=h.get(t)):(h.set(t,c.has(t)?l[c.get(t)]:i.get(t)),o+=h.get(t))})),o/=r.length,t.forEach((function(t){n.has(t)||h.set(t,o)}))}else{var a=0;t.forEach((function(t){a+="horizontal"==e?c.has(t)?u[c.get(t)]:i.get(t):c.has(t)?l[c.get(t)]:i.get(t)})),a/=t.length,t.forEach((function(t){h.set(t,a)}))}}));for(var p=function(){var r=d.shift();t.get(r).forEach((function(t){if(h.get(t.id)a&&(a=b),ms&&(s=m)}}catch(t){d=!0,p=t}finally{try{!f&&v.return&&v.return()}finally{if(d)throw p}}var w=(r+a)/2-(o+s)/2,x=!0,_=!1,E=void 0;try{for(var k,T=t[Symbol.iterator]();!(x=(k=T.next()).done);x=!0){var C=k.value;h.set(C,h.get(C)+w)}}catch(t){_=!0,E=t}finally{try{!x&&T.return&&T.return()}finally{if(_)throw E}}}))}return h},b=function(t){var e=0,n=0,r=0,i=0;if(t.forEach((function(t){t.left?u[c.get(t.left)]-u[c.get(t.right)]>=0?e++:n++:l[c.get(t.top)]-l[c.get(t.bottom)]>=0?r++:i++})),e>n&&r>i)for(var o=0;on)for(var a=0;ai)for(var s=0;s1)e.fixedNodeConstraint.forEach((function(t,e){x[e]=[t.position.x,t.position.y],_[e]=[u[c.get(t.nodeId)],l[c.get(t.nodeId)]]})),E=!0;else if(e.alignmentConstraint)!function(){var t=0;if(e.alignmentConstraint.vertical){for(var n=e.alignmentConstraint.vertical,i=function(e){var i=new Set;n[e].forEach((function(t){i.add(t)}));var o,a=new Set([].concat(r(i)).filter((function(t){return T.has(t)})));o=a.size>0?u[c.get(a.values().next().value)]:g(i).x,n[e].forEach((function(e){x[t]=[o,l[c.get(e)]],_[t]=[u[c.get(e)],l[c.get(e)]],t++}))},o=0;o0?u[c.get(o.values().next().value)]:g(n).y,a[e].forEach((function(e){x[t]=[u[c.get(e)],i],_[t]=[u[c.get(e)],l[c.get(e)]],t++}))},h=0;hS&&(S=A[L].length,O=L);if(S0){var X={x:0,y:0};e.fixedNodeConstraint.forEach((function(t,e){var n,r,i=(r={x:u[c.get(t.nodeId)],y:l[c.get(t.nodeId)]},{x:(n=t.position).x-r.x,y:n.y-r.y});X.x+=i.x,X.y+=i.y})),X.x/=e.fixedNodeConstraint.length,X.y/=e.fixedNodeConstraint.length,u.forEach((function(t,e){u[e]+=X.x})),l.forEach((function(t,e){l[e]+=X.y})),e.fixedNodeConstraint.forEach((function(t){u[c.get(t.nodeId)]=t.position.x,l[c.get(t.nodeId)]=t.position.y}))}if(e.alignmentConstraint){if(e.alignmentConstraint.vertical)for(var W=e.alignmentConstraint.vertical,$=function(t){var e=new Set;W[t].forEach((function(t){e.add(t)}));var n,i=new Set([].concat(r(e)).filter((function(t){return T.has(t)})));n=i.size>0?u[c.get(i.values().next().value)]:g(e).x,e.forEach((function(t){T.has(t)||(u[c.get(t)]=n)}))},Z=0;Z0?l[c.get(i.values().next().value)]:g(e).y,e.forEach((function(t){T.has(t)||(l[c.get(t)]=n)}))},J=0;J{e.exports=t}},n={},r=function t(r){var i=n[r];if(void 0!==i)return i.exports;var o=n[r]={exports:{}};return e[r](o,o.exports,t),o.exports}(45);return r})()},t.exports=r(n(3035))},3035:function(t){var e;e=function(){return function(t){var e={};function n(r){if(e[r])return e[r].exports;var i=e[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=t,n.c=e,n.i=function(t){return t},n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:r})},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=28)}([function(t,e,n){"use strict";function r(){}r.QUALITY=1,r.DEFAULT_CREATE_BENDS_AS_NEEDED=!1,r.DEFAULT_INCREMENTAL=!1,r.DEFAULT_ANIMATION_ON_LAYOUT=!0,r.DEFAULT_ANIMATION_DURING_LAYOUT=!1,r.DEFAULT_ANIMATION_PERIOD=50,r.DEFAULT_UNIFORM_LEAF_NODE_SIZES=!1,r.DEFAULT_GRAPH_MARGIN=15,r.NODE_DIMENSIONS_INCLUDE_LABELS=!1,r.SIMPLE_NODE_SIZE=40,r.SIMPLE_NODE_HALF_SIZE=r.SIMPLE_NODE_SIZE/2,r.EMPTY_COMPOUND_NODE_SIZE=40,r.MIN_EDGE_LENGTH=1,r.WORLD_BOUNDARY=1e6,r.INITIAL_WORLD_BOUNDARY=r.WORLD_BOUNDARY/1e3,r.WORLD_CENTER_X=1200,r.WORLD_CENTER_Y=900,t.exports=r},function(t,e,n){"use strict";var r=n(2),i=n(8),o=n(9);function a(t,e,n){r.call(this,n),this.isOverlapingSourceAndTarget=!1,this.vGraphObject=n,this.bendpoints=[],this.source=t,this.target=e}for(var s in a.prototype=Object.create(r.prototype),r)a[s]=r[s];a.prototype.getSource=function(){return this.source},a.prototype.getTarget=function(){return this.target},a.prototype.isInterGraph=function(){return this.isInterGraph},a.prototype.getLength=function(){return this.length},a.prototype.isOverlapingSourceAndTarget=function(){return this.isOverlapingSourceAndTarget},a.prototype.getBendpoints=function(){return this.bendpoints},a.prototype.getLca=function(){return this.lca},a.prototype.getSourceInLca=function(){return this.sourceInLca},a.prototype.getTargetInLca=function(){return this.targetInLca},a.prototype.getOtherEnd=function(t){if(this.source===t)return this.target;if(this.target===t)return this.source;throw"Node is not incident with this edge"},a.prototype.getOtherEndInGraph=function(t,e){for(var n=this.getOtherEnd(t),r=e.getGraphManager().getRoot();;){if(n.getOwner()==e)return n;if(n.getOwner()==r)break;n=n.getOwner().getParent()}return null},a.prototype.updateLength=function(){var t=new Array(4);this.isOverlapingSourceAndTarget=i.getIntersection(this.target.getRect(),this.source.getRect(),t),this.isOverlapingSourceAndTarget||(this.lengthX=t[0]-t[2],this.lengthY=t[1]-t[3],Math.abs(this.lengthX)<1&&(this.lengthX=o.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=o.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY))},a.prototype.updateLengthSimple=function(){this.lengthX=this.target.getCenterX()-this.source.getCenterX(),this.lengthY=this.target.getCenterY()-this.source.getCenterY(),Math.abs(this.lengthX)<1&&(this.lengthX=o.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=o.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY)},t.exports=a},function(t,e,n){"use strict";t.exports=function(t){this.vGraphObject=t}},function(t,e,n){"use strict";var r=n(2),i=n(10),o=n(13),a=n(0),s=n(16),c=n(5);function u(t,e,n,a){null==n&&null==a&&(a=e),r.call(this,a),null!=t.graphManager&&(t=t.graphManager),this.estimatedSize=i.MIN_VALUE,this.inclusionTreeDepth=i.MAX_VALUE,this.vGraphObject=a,this.edges=[],this.graphManager=t,this.rect=null!=n&&null!=e?new o(e.x,e.y,n.width,n.height):new o}for(var l in u.prototype=Object.create(r.prototype),r)u[l]=r[l];u.prototype.getEdges=function(){return this.edges},u.prototype.getChild=function(){return this.child},u.prototype.getOwner=function(){return this.owner},u.prototype.getWidth=function(){return this.rect.width},u.prototype.setWidth=function(t){this.rect.width=t},u.prototype.getHeight=function(){return this.rect.height},u.prototype.setHeight=function(t){this.rect.height=t},u.prototype.getCenterX=function(){return this.rect.x+this.rect.width/2},u.prototype.getCenterY=function(){return this.rect.y+this.rect.height/2},u.prototype.getCenter=function(){return new c(this.rect.x+this.rect.width/2,this.rect.y+this.rect.height/2)},u.prototype.getLocation=function(){return new c(this.rect.x,this.rect.y)},u.prototype.getRect=function(){return this.rect},u.prototype.getDiagonal=function(){return Math.sqrt(this.rect.width*this.rect.width+this.rect.height*this.rect.height)},u.prototype.getHalfTheDiagonal=function(){return Math.sqrt(this.rect.height*this.rect.height+this.rect.width*this.rect.width)/2},u.prototype.setRect=function(t,e){this.rect.x=t.x,this.rect.y=t.y,this.rect.width=e.width,this.rect.height=e.height},u.prototype.setCenter=function(t,e){this.rect.x=t-this.rect.width/2,this.rect.y=e-this.rect.height/2},u.prototype.setLocation=function(t,e){this.rect.x=t,this.rect.y=e},u.prototype.moveBy=function(t,e){this.rect.x+=t,this.rect.y+=e},u.prototype.getEdgeListToNode=function(t){var e=[],n=this;return n.edges.forEach((function(r){if(r.target==t){if(r.source!=n)throw"Incorrect edge source!";e.push(r)}})),e},u.prototype.getEdgesBetween=function(t){var e=[],n=this;return n.edges.forEach((function(r){if(r.source!=n&&r.target!=n)throw"Incorrect edge source and/or target";r.target!=t&&r.source!=t||e.push(r)})),e},u.prototype.getNeighborsList=function(){var t=new Set,e=this;return e.edges.forEach((function(n){if(n.source==e)t.add(n.target);else{if(n.target!=e)throw"Incorrect incidency!";t.add(n.source)}})),t},u.prototype.withChildren=function(){var t=new Set;if(t.add(this),null!=this.child)for(var e=this.child.getNodes(),n=0;ne?(this.rect.x-=(this.labelWidth-e)/2,this.setWidth(this.labelWidth)):"right"==this.labelPosHorizontal&&this.setWidth(e+this.labelWidth)),this.labelHeight&&("top"==this.labelPosVertical?(this.rect.y-=this.labelHeight,this.setHeight(n+this.labelHeight)):"center"==this.labelPosVertical&&this.labelHeight>n?(this.rect.y-=(this.labelHeight-n)/2,this.setHeight(this.labelHeight)):"bottom"==this.labelPosVertical&&this.setHeight(n+this.labelHeight))}}},u.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==i.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},u.prototype.transform=function(t){var e=this.rect.x;e>a.WORLD_BOUNDARY?e=a.WORLD_BOUNDARY:e<-a.WORLD_BOUNDARY&&(e=-a.WORLD_BOUNDARY);var n=this.rect.y;n>a.WORLD_BOUNDARY?n=a.WORLD_BOUNDARY:n<-a.WORLD_BOUNDARY&&(n=-a.WORLD_BOUNDARY);var r=new c(e,n),i=t.inverseTransformPoint(r);this.setLocation(i.x,i.y)},u.prototype.getLeft=function(){return this.rect.x},u.prototype.getRight=function(){return this.rect.x+this.rect.width},u.prototype.getTop=function(){return this.rect.y},u.prototype.getBottom=function(){return this.rect.y+this.rect.height},u.prototype.getParent=function(){return null==this.owner?null:this.owner.getParent()},t.exports=u},function(t,e,n){"use strict";var r=n(0);function i(){}for(var o in r)i[o]=r[o];i.MAX_ITERATIONS=2500,i.DEFAULT_EDGE_LENGTH=50,i.DEFAULT_SPRING_STRENGTH=.45,i.DEFAULT_REPULSION_STRENGTH=4500,i.DEFAULT_GRAVITY_STRENGTH=.4,i.DEFAULT_COMPOUND_GRAVITY_STRENGTH=1,i.DEFAULT_GRAVITY_RANGE_FACTOR=3.8,i.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=1.5,i.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION=!0,i.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION=!0,i.DEFAULT_COOLING_FACTOR_INCREMENTAL=.3,i.COOLING_ADAPTATION_FACTOR=.33,i.ADAPTATION_LOWER_NODE_LIMIT=1e3,i.ADAPTATION_UPPER_NODE_LIMIT=5e3,i.MAX_NODE_DISPLACEMENT_INCREMENTAL=100,i.MAX_NODE_DISPLACEMENT=3*i.MAX_NODE_DISPLACEMENT_INCREMENTAL,i.MIN_REPULSION_DIST=i.DEFAULT_EDGE_LENGTH/10,i.CONVERGENCE_CHECK_PERIOD=100,i.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=.1,i.MIN_EDGE_LENGTH=1,i.GRID_CALCULATION_CHECK_PERIOD=10,t.exports=i},function(t,e,n){"use strict";function r(t,e){null==t&&null==e?(this.x=0,this.y=0):(this.x=t,this.y=e)}r.prototype.getX=function(){return this.x},r.prototype.getY=function(){return this.y},r.prototype.setX=function(t){this.x=t},r.prototype.setY=function(t){this.y=t},r.prototype.getDifference=function(t){return new DimensionD(this.x-t.x,this.y-t.y)},r.prototype.getCopy=function(){return new r(this.x,this.y)},r.prototype.translate=function(t){return this.x+=t.width,this.y+=t.height,this},t.exports=r},function(t,e,n){"use strict";var r=n(2),i=n(10),o=n(0),a=n(7),s=n(3),c=n(1),u=n(13),l=n(12),h=n(11);function f(t,e,n){r.call(this,n),this.estimatedSize=i.MIN_VALUE,this.margin=o.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=t,null!=e&&e instanceof a?this.graphManager=e:null!=e&&e instanceof Layout&&(this.graphManager=e.graphManager)}for(var d in f.prototype=Object.create(r.prototype),r)f[d]=r[d];f.prototype.getNodes=function(){return this.nodes},f.prototype.getEdges=function(){return this.edges},f.prototype.getGraphManager=function(){return this.graphManager},f.prototype.getParent=function(){return this.parent},f.prototype.getLeft=function(){return this.left},f.prototype.getRight=function(){return this.right},f.prototype.getTop=function(){return this.top},f.prototype.getBottom=function(){return this.bottom},f.prototype.isConnected=function(){return this.isConnected},f.prototype.add=function(t,e,n){if(null==e&&null==n){var r=t;if(null==this.graphManager)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(r)>-1)throw"Node already in graph!";return r.owner=this,this.getNodes().push(r),r}var i=t;if(!(this.getNodes().indexOf(e)>-1&&this.getNodes().indexOf(n)>-1))throw"Source or target not in graph!";if(e.owner!=n.owner||e.owner!=this)throw"Both owners must be this graph!";return e.owner!=n.owner?null:(i.source=e,i.target=n,i.isInterGraph=!1,this.getEdges().push(i),e.edges.push(i),n!=e&&n.edges.push(i),i)},f.prototype.remove=function(t){var e=t;if(t instanceof s){if(null==e)throw"Node is null!";if(null==e.owner||e.owner!=this)throw"Owner graph is invalid!";if(null==this.graphManager)throw"Owner graph manager is invalid!";for(var n=e.edges.slice(),r=n.length,i=0;i-1&&l>-1))throw"Source and/or target doesn't know this edge!";if(o.source.edges.splice(u,1),o.target!=o.source&&o.target.edges.splice(l,1),-1==(a=o.source.owner.getEdges().indexOf(o)))throw"Not in owner's edge list!";o.source.owner.getEdges().splice(a,1)}},f.prototype.updateLeftTop=function(){for(var t,e,n,r=i.MAX_VALUE,o=i.MAX_VALUE,a=this.getNodes(),s=a.length,c=0;c(t=u.getTop())&&(r=t),o>(e=u.getLeft())&&(o=e)}return r==i.MAX_VALUE?null:(n=null!=a[0].getParent().paddingLeft?a[0].getParent().paddingLeft:this.margin,this.left=o-n,this.top=r-n,new l(this.left,this.top))},f.prototype.updateBounds=function(t){for(var e,n,r,o,a,s=i.MAX_VALUE,c=-i.MAX_VALUE,l=i.MAX_VALUE,h=-i.MAX_VALUE,f=this.nodes,d=f.length,p=0;p(e=g.getLeft())&&(s=e),c<(n=g.getRight())&&(c=n),l>(r=g.getTop())&&(l=r),h<(o=g.getBottom())&&(h=o)}var v=new u(s,l,c-s,h-l);s==i.MAX_VALUE&&(this.left=this.parent.getLeft(),this.right=this.parent.getRight(),this.top=this.parent.getTop(),this.bottom=this.parent.getBottom()),a=null!=f[0].getParent().paddingLeft?f[0].getParent().paddingLeft:this.margin,this.left=v.x-a,this.right=v.x+v.width+a,this.top=v.y-a,this.bottom=v.y+v.height+a},f.calculateBounds=function(t){for(var e,n,r,o,a=i.MAX_VALUE,s=-i.MAX_VALUE,c=i.MAX_VALUE,l=-i.MAX_VALUE,h=t.length,f=0;f(e=d.getLeft())&&(a=e),s<(n=d.getRight())&&(s=n),c>(r=d.getTop())&&(c=r),l<(o=d.getBottom())&&(l=o)}return new u(a,c,s-a,l-c)},f.prototype.getInclusionTreeDepth=function(){return this==this.graphManager.getRoot()?1:this.parent.getInclusionTreeDepth()},f.prototype.getEstimatedSize=function(){if(this.estimatedSize==i.MIN_VALUE)throw"assert failed";return this.estimatedSize},f.prototype.calcEstimatedSize=function(){for(var t=0,e=this.nodes,n=e.length,r=0;r=this.nodes.length){var c=0;i.forEach((function(e){e.owner==t&&c++})),c==this.nodes.length&&(this.isConnected=!0)}}else this.isConnected=!0},t.exports=f},function(t,e,n){"use strict";var r,i=n(1);function o(t){r=n(6),this.layout=t,this.graphs=[],this.edges=[]}o.prototype.addRoot=function(){var t=this.layout.newGraph(),e=this.layout.newNode(null),n=this.add(t,e);return this.setRootGraph(n),this.rootGraph},o.prototype.add=function(t,e,n,r,i){if(null==n&&null==r&&null==i){if(null==t)throw"Graph is null!";if(null==e)throw"Parent node is null!";if(this.graphs.indexOf(t)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(t),null!=t.parent)throw"Already has a parent!";if(null!=e.child)throw"Already has a child!";return t.parent=e,e.child=t,t}i=n,n=t;var o=(r=e).getOwner(),a=i.getOwner();if(null==o||o.getGraphManager()!=this)throw"Source not in this graph mgr!";if(null==a||a.getGraphManager()!=this)throw"Target not in this graph mgr!";if(o==a)return n.isInterGraph=!1,o.add(n,r,i);if(n.isInterGraph=!0,n.source=r,n.target=i,this.edges.indexOf(n)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(n),null==n.source||null==n.target)throw"Edge source and/or target is null!";if(-1!=n.source.edges.indexOf(n)||-1!=n.target.edges.indexOf(n))throw"Edge already in source and/or target incidency list!";return n.source.edges.push(n),n.target.edges.push(n),n},o.prototype.remove=function(t){if(t instanceof r){var e=t;if(e.getGraphManager()!=this)throw"Graph not in this graph mgr";if(e!=this.rootGraph&&(null==e.parent||e.parent.graphManager!=this))throw"Invalid parent node!";for(var n,o=[],a=(o=o.concat(e.getEdges())).length,s=0;s=e.getRight()?n[0]+=Math.min(e.getX()-t.getX(),t.getRight()-e.getRight()):e.getX()<=t.getX()&&e.getRight()>=t.getRight()&&(n[0]+=Math.min(t.getX()-e.getX(),e.getRight()-t.getRight())),t.getY()<=e.getY()&&t.getBottom()>=e.getBottom()?n[1]+=Math.min(e.getY()-t.getY(),t.getBottom()-e.getBottom()):e.getY()<=t.getY()&&e.getBottom()>=t.getBottom()&&(n[1]+=Math.min(t.getY()-e.getY(),e.getBottom()-t.getBottom()));var o=Math.abs((e.getCenterY()-t.getCenterY())/(e.getCenterX()-t.getCenterX()));e.getCenterY()===t.getCenterY()&&e.getCenterX()===t.getCenterX()&&(o=1);var a=o*n[0],s=n[1]/o;n[0]a)return n[0]=r,n[1]=c,n[2]=o,n[3]=m,!1;if(io)return n[0]=s,n[1]=i,n[2]=b,n[3]=a,!1;if(ro?(n[0]=l,n[1]=h,E=!0):(n[0]=u,n[1]=c,E=!0):T===N&&(r>o?(n[0]=s,n[1]=c,E=!0):(n[0]=f,n[1]=h,E=!0)),-C===N?o>r?(n[2]=y,n[3]=m,k=!0):(n[2]=b,n[3]=v,k=!0):C===N&&(o>r?(n[2]=g,n[3]=v,k=!0):(n[2]=w,n[3]=m,k=!0)),E&&k)return!1;if(r>o?i>a?(A=this.getCardinalDirection(T,N,4),S=this.getCardinalDirection(C,N,2)):(A=this.getCardinalDirection(-T,N,3),S=this.getCardinalDirection(-C,N,1)):i>a?(A=this.getCardinalDirection(-T,N,1),S=this.getCardinalDirection(-C,N,3)):(A=this.getCardinalDirection(T,N,2),S=this.getCardinalDirection(C,N,4)),!E)switch(A){case 1:L=c,O=r+-p/N,n[0]=O,n[1]=L;break;case 2:O=f,L=i+d*N,n[0]=O,n[1]=L;break;case 3:L=h,O=r+p/N,n[0]=O,n[1]=L;break;case 4:O=l,L=i+-d*N,n[0]=O,n[1]=L}if(!k)switch(S){case 1:M=v,I=o+-_/N,n[2]=I,n[3]=M;break;case 2:I=w,M=a+x*N,n[2]=I,n[3]=M;break;case 3:M=m,I=o+_/N,n[2]=I,n[3]=M;break;case 4:I=y,M=a+-x*N,n[2]=I,n[3]=M}}return!1},i.getCardinalDirection=function(t,e,n){return t>e?n:1+n%4},i.getIntersection=function(t,e,n,i){if(null==i)return this.getIntersection2(t,e,n);var o,a,s,c,u,l,h,f=t.x,d=t.y,p=e.x,g=e.y,v=n.x,b=n.y,y=i.x,m=i.y;return 0==(h=(o=g-d)*(c=v-y)-(a=m-b)*(s=f-p))?null:new r((s*(l=y*b-v*m)-c*(u=p*d-f*g))/h,(a*u-o*l)/h)},i.angleOfVector=function(t,e,n,r){var i=void 0;return t!==n?(i=Math.atan((r-e)/(n-t)),n=0){var l=(-c+Math.sqrt(c*c-4*s*u))/(2*s),h=(-c-Math.sqrt(c*c-4*s*u))/(2*s);return l>=0&&l<=1?[l]:h>=0&&h<=1?[h]:null}return null},i.HALF_PI=.5*Math.PI,i.ONE_AND_HALF_PI=1.5*Math.PI,i.TWO_PI=2*Math.PI,i.THREE_PI=3*Math.PI,t.exports=i},function(t,e,n){"use strict";function r(){}r.sign=function(t){return t>0?1:t<0?-1:0},r.floor=function(t){return t<0?Math.ceil(t):Math.floor(t)},r.ceil=function(t){return t<0?Math.floor(t):Math.ceil(t)},t.exports=r},function(t,e,n){"use strict";function r(){}r.MAX_VALUE=2147483647,r.MIN_VALUE=-2147483648,t.exports=r},function(t,e,n){"use strict";var r=function(){function t(t,e){for(var n=0;n0&&e;){for(s.push(u[0]);s.length>0&&e;){var l=s[0];s.splice(0,1),a.add(l);var h=l.getEdges();for(o=0;o-1&&u.splice(g,1)}a=new Set,c=new Map}else t=[]}return t},f.prototype.createDummyNodesForBendpoints=function(t){for(var e=[],n=t.source,r=this.graphManager.calcLowestCommonAncestor(t.source,t.target),i=0;i0){for(var i=this.edgeToDummyNodes.get(n),o=0;o=0&&e.splice(h,1),l.getNeighborsList().forEach((function(t){if(n.indexOf(t)<0){var e=r.get(t)-1;1==e&&c.push(t),r.set(t,e)}}))}n=n.concat(c),1!=e.length&&2!=e.length||(i=!0,o=e[0])}return o},f.prototype.setGraphManager=function(t){this.graphManager=t},t.exports=f},function(t,e,n){"use strict";function r(){}r.seed=1,r.x=0,r.nextDouble=function(){return r.x=1e4*Math.sin(r.seed++),r.x-Math.floor(r.x)},t.exports=r},function(t,e,n){"use strict";var r=n(5);function i(t,e){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}i.prototype.getWorldOrgX=function(){return this.lworldOrgX},i.prototype.setWorldOrgX=function(t){this.lworldOrgX=t},i.prototype.getWorldOrgY=function(){return this.lworldOrgY},i.prototype.setWorldOrgY=function(t){this.lworldOrgY=t},i.prototype.getWorldExtX=function(){return this.lworldExtX},i.prototype.setWorldExtX=function(t){this.lworldExtX=t},i.prototype.getWorldExtY=function(){return this.lworldExtY},i.prototype.setWorldExtY=function(t){this.lworldExtY=t},i.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},i.prototype.setDeviceOrgX=function(t){this.ldeviceOrgX=t},i.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},i.prototype.setDeviceOrgY=function(t){this.ldeviceOrgY=t},i.prototype.getDeviceExtX=function(){return this.ldeviceExtX},i.prototype.setDeviceExtX=function(t){this.ldeviceExtX=t},i.prototype.getDeviceExtY=function(){return this.ldeviceExtY},i.prototype.setDeviceExtY=function(t){this.ldeviceExtY=t},i.prototype.transformX=function(t){var e=0,n=this.lworldExtX;return 0!=n&&(e=this.ldeviceOrgX+(t-this.lworldOrgX)*this.ldeviceExtX/n),e},i.prototype.transformY=function(t){var e=0,n=this.lworldExtY;return 0!=n&&(e=this.ldeviceOrgY+(t-this.lworldOrgY)*this.ldeviceExtY/n),e},i.prototype.inverseTransformX=function(t){var e=0,n=this.ldeviceExtX;return 0!=n&&(e=this.lworldOrgX+(t-this.ldeviceOrgX)*this.lworldExtX/n),e},i.prototype.inverseTransformY=function(t){var e=0,n=this.ldeviceExtY;return 0!=n&&(e=this.lworldOrgY+(t-this.ldeviceOrgY)*this.lworldExtY/n),e},i.prototype.inverseTransformPoint=function(t){return new r(this.inverseTransformX(t.x),this.inverseTransformY(t.y))},t.exports=i},function(t,e,n){"use strict";var r=n(15),i=n(4),o=n(0),a=n(8),s=n(9);function c(){r.call(this),this.useSmartIdealEdgeLengthCalculation=i.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION,this.gravityConstant=i.DEFAULT_GRAVITY_STRENGTH,this.compoundGravityConstant=i.DEFAULT_COMPOUND_GRAVITY_STRENGTH,this.gravityRangeFactor=i.DEFAULT_GRAVITY_RANGE_FACTOR,this.compoundGravityRangeFactor=i.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR,this.displacementThresholdPerNode=3*i.DEFAULT_EDGE_LENGTH/100,this.coolingFactor=i.DEFAULT_COOLING_FACTOR_INCREMENTAL,this.initialCoolingFactor=i.DEFAULT_COOLING_FACTOR_INCREMENTAL,this.totalDisplacement=0,this.oldTotalDisplacement=0,this.maxIterations=i.MAX_ITERATIONS}for(var u in c.prototype=Object.create(r.prototype),r)c[u]=r[u];c.prototype.initParameters=function(){r.prototype.initParameters.call(this,arguments),this.totalIterations=0,this.notAnimatedIterations=0,this.useFRGridVariant=i.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION,this.grid=[]},c.prototype.calcIdealEdgeLengths=function(){for(var t,e,n,r,a,s,c,u=this.getGraphManager().getAllEdges(),l=0;li.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*i.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(t-i.ADAPTATION_LOWER_NODE_LIMIT)/(i.ADAPTATION_UPPER_NODE_LIMIT-i.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-i.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=i.MAX_NODE_DISPLACEMENT_INCREMENTAL):(t>i.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(i.COOLING_ADAPTATION_FACTOR,1-(t-i.ADAPTATION_LOWER_NODE_LIMIT)/(i.ADAPTATION_UPPER_NODE_LIMIT-i.ADAPTATION_LOWER_NODE_LIMIT)*(1-i.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=i.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(5*this.getAllNodes().length,this.maxIterations),this.displacementThresholdPerNode=3*i.DEFAULT_EDGE_LENGTH/100,this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},c.prototype.calcSpringForces=function(){for(var t,e=this.getAllEdges(),n=0;n0&&void 0!==arguments[0])||arguments[0],s=arguments.length>1&&void 0!==arguments[1]&&arguments[1],c=this.getAllNodes();if(this.useFRGridVariant)for(this.totalIterations%i.GRID_CALCULATION_CHECK_PERIOD==1&&a&&this.updateGrid(),o=new Set,t=0;t(c=e.getEstimatedSize()*this.gravityRangeFactor)||s>c)&&(t.gravitationForceX=-this.gravityConstant*i,t.gravitationForceY=-this.gravityConstant*o):(a>(c=e.getEstimatedSize()*this.compoundGravityRangeFactor)||s>c)&&(t.gravitationForceX=-this.gravityConstant*i*this.compoundGravityConstant,t.gravitationForceY=-this.gravityConstant*o*this.compoundGravityConstant)},c.prototype.isConverged=function(){var t,e=!1;return this.totalIterations>this.maxIterations/3&&(e=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2),t=this.totalDisplacement=s.length||u>=s[0].length))for(var l=0;lt}}]),t}();t.exports=o},function(t,e,n){"use strict";function r(){}r.svd=function(t){this.U=null,this.V=null,this.s=null,this.m=0,this.n=0,this.m=t.length,this.n=t[0].length;var e=Math.min(this.m,this.n);this.s=function(t){for(var e=[];t-- >0;)e.push(0);return e}(Math.min(this.m+1,this.n)),this.U=function t(e){if(0==e.length)return 0;for(var n=[],r=0;r0;)e.push(0);return e}(this.n),a=function(t){for(var e=[];t-- >0;)e.push(0);return e}(this.m),s=Math.min(this.m-1,this.n),c=Math.max(0,Math.min(this.n-2,this.m)),u=0;u=0;S--)if(0!==this.s[S]){for(var O=S+1;O=0;j--){if(function(t,e){return t&&e}(j0;){var q=void 0,X=void 0;for(q=C-2;q>=-1&&-1!==q;q--)if(Math.abs(o[q])<=V+U*(Math.abs(this.s[q])+Math.abs(this.s[q+1]))){o[q]=0;break}if(q===C-2)X=4;else{var W=void 0;for(W=C-1;W>=q&&W!==q;W--){var $=(W!==C?Math.abs(o[W]):0)+(W!==q+1?Math.abs(o[W-1]):0);if(Math.abs(this.s[W])<=V+U*$){this.s[W]=0;break}}W===q?X=3:W===C-1?X=1:(X=2,q=W)}switch(q++,X){case 1:var Z=o[C-2];o[C-2]=0;for(var K=C-2;K>=q;K--){var Q=r.hypot(this.s[K],Z),J=this.s[K]/Q,tt=Z/Q;this.s[K]=Q,K!==q&&(Z=-tt*o[K-1],o[K-1]=J*o[K-1]);for(var et=0;et=this.s[q+1]);){var Ct=this.s[q];if(this.s[q]=this.s[q+1],this.s[q+1]=Ct,qMath.abs(e)?(n=e/t,n=Math.abs(t)*Math.sqrt(1+n*n)):0!=e?(n=t/e,n=Math.abs(e)*Math.sqrt(1+n*n)):n=0,n},t.exports=r},function(t,e,n){"use strict";var r=function(){function t(t,e){for(var n=0;n2&&void 0!==arguments[2]?arguments[2]:1,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:-1,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:-1;!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.sequence1=e,this.sequence2=n,this.match_score=r,this.mismatch_penalty=i,this.gap_penalty=o,this.iMax=e.length+1,this.jMax=n.length+1,this.grid=new Array(this.iMax);for(var a=0;a=0;n--){var r=this.listeners[n];r.event===t&&r.callback===e&&this.listeners.splice(n,1)}},i.emit=function(t,e){for(var n=0;n1?e-1:0),r=1;r=0;m--){var w=a[m].id(),x=a[m].position();e.randomize&&(x={x:Math.round(d.x1+(d.x2-d.x1)*Math.random()),y:Math.round(d.y1+(d.y2-d.y1)*Math.random())}),y.vertices.push({id:w,x:x.x,y:x.y})}for(m=s.length-1;m>=0;m--){var _=s[m].source().id(),E=s[m].target().id();y.edges.push({src:_,tgt:E})}var k=t.thread;function T(t){for(var r=t.vertices,i=[],o=0;o=C||A>=4)&&(S>=s?N=!0:(y={xl:0,xr:n+=n*a,yt:0,yb:r+=r*a},++S,A=0)),C=M,c(),u()}return c(),t})).then((function(n){var r=n.vertices;T(n);var i=n.startTime,o=new Date;console.info("Layout on "+r.length+" nodes took "+(o-i)+" ms"),t.one("layoutstop",e.stop),e.animate||t.trigger("layoutready"),t.trigger("layoutstop"),k.stop()}))}return this},a.prototype.stop=function(){this.thread&&this.thread.stop(),this.trigger("layoutstop")},a.prototype.destroy=function(){this.thread&&this.thread.stop()},t.exports=a},function(t,e,n){"use strict";var r=n(0),i=function(t){t("layout","spread",r)};"undefined"!=typeof cytoscape&&i(cytoscape),t.exports=i},function(t,e){function n(){this.vertices=null,this.edges=null,this.cells=null,this.toRecycle=null,this.beachsectionJunkyard=[],this.circleEventJunkyard=[],this.vertexJunkyard=[],this.edgeJunkyard=[],this.cellJunkyard=[]}n.prototype.reset=function(){if(this.beachline||(this.beachline=new this.RBTree),this.beachline.root)for(var t=this.beachline.getFirst(this.beachline.root);t;)this.beachsectionJunkyard.push(t),t=t.rbNext;this.beachline.root=null,this.circleEvents||(this.circleEvents=new this.RBTree),this.circleEvents.root=this.firstCircleEvent=null,this.vertices=[],this.edges=[],this.cells=[]},n.prototype.sqrt=function(t){return Math.sqrt(t)},n.prototype.abs=function(t){return Math.abs(t)},n.prototype.ε=n.ε=1e-9,n.prototype.invε=n.invε=1/n.ε,n.prototype.equalWithEpsilon=function(t,e){return this.abs(t-e)<1e-9},n.prototype.greaterThanWithEpsilon=function(t,e){return t-e>1e-9},n.prototype.greaterThanOrEqualWithEpsilon=function(t,e){return e-t<1e-9},n.prototype.lessThanWithEpsilon=function(t,e){return e-t>1e-9},n.prototype.lessThanOrEqualWithEpsilon=function(t,e){return t-e<1e-9},n.prototype.RBTree=function(){this.root=null},n.prototype.RBTree.prototype.rbInsertSuccessor=function(t,e){var n,r,i;if(t){if(e.rbPrevious=t,e.rbNext=t.rbNext,t.rbNext&&(t.rbNext.rbPrevious=e),t.rbNext=e,t.rbRight){for(t=t.rbRight;t.rbLeft;)t=t.rbLeft;t.rbLeft=e}else t.rbRight=e;n=t}else this.root?(t=this.getFirst(this.root),e.rbPrevious=null,e.rbNext=t,t.rbPrevious=e,t.rbLeft=e,n=t):(e.rbPrevious=e.rbNext=null,this.root=e,n=null);for(e.rbLeft=e.rbRight=null,e.rbParent=n,e.rbRed=!0,t=e;n&&n.rbRed;)n===(r=n.rbParent).rbLeft?(i=r.rbRight)&&i.rbRed?(n.rbRed=i.rbRed=!1,r.rbRed=!0,t=r):(t===n.rbRight&&(this.rbRotateLeft(n),n=(t=n).rbParent),n.rbRed=!1,r.rbRed=!0,this.rbRotateRight(r)):(i=r.rbLeft)&&i.rbRed?(n.rbRed=i.rbRed=!1,r.rbRed=!0,t=r):(t===n.rbLeft&&(this.rbRotateRight(n),n=(t=n).rbParent),n.rbRed=!1,r.rbRed=!0,this.rbRotateLeft(r)),n=t.rbParent;this.root.rbRed=!1},n.prototype.RBTree.prototype.rbRemoveNode=function(t){t.rbNext&&(t.rbNext.rbPrevious=t.rbPrevious),t.rbPrevious&&(t.rbPrevious.rbNext=t.rbNext),t.rbNext=t.rbPrevious=null;var e,n,r=t.rbParent,i=t.rbLeft,o=t.rbRight;if(e=i?o?this.getFirst(o):i:o,r?r.rbLeft===t?r.rbLeft=e:r.rbRight=e:this.root=e,i&&o?(n=e.rbRed,e.rbRed=t.rbRed,e.rbLeft=i,i.rbParent=e,e!==o?(r=e.rbParent,e.rbParent=t.rbParent,t=e.rbRight,r.rbLeft=t,e.rbRight=o,o.rbParent=e):(e.rbParent=r,r=e,t=e.rbRight)):(n=t.rbRed,t=e),t&&(t.rbParent=r),!n)if(t&&t.rbRed)t.rbRed=!1;else{var a;do{if(t===this.root)break;if(t===r.rbLeft){if((a=r.rbRight).rbRed&&(a.rbRed=!1,r.rbRed=!0,this.rbRotateLeft(r),a=r.rbRight),a.rbLeft&&a.rbLeft.rbRed||a.rbRight&&a.rbRight.rbRed){a.rbRight&&a.rbRight.rbRed||(a.rbLeft.rbRed=!1,a.rbRed=!0,this.rbRotateRight(a),a=r.rbRight),a.rbRed=r.rbRed,r.rbRed=a.rbRight.rbRed=!1,this.rbRotateLeft(r),t=this.root;break}}else if((a=r.rbLeft).rbRed&&(a.rbRed=!1,r.rbRed=!0,this.rbRotateRight(r),a=r.rbLeft),a.rbLeft&&a.rbLeft.rbRed||a.rbRight&&a.rbRight.rbRed){a.rbLeft&&a.rbLeft.rbRed||(a.rbRight.rbRed=!1,a.rbRed=!0,this.rbRotateLeft(a),a=r.rbLeft),a.rbRed=r.rbRed,r.rbRed=a.rbLeft.rbRed=!1,this.rbRotateRight(r),t=this.root;break}a.rbRed=!0,t=r,r=r.rbParent}while(!t.rbRed);t&&(t.rbRed=!1)}},n.prototype.RBTree.prototype.rbRotateLeft=function(t){var e=t,n=t.rbRight,r=e.rbParent;r?r.rbLeft===e?r.rbLeft=n:r.rbRight=n:this.root=n,n.rbParent=r,e.rbParent=n,e.rbRight=n.rbLeft,e.rbRight&&(e.rbRight.rbParent=e),n.rbLeft=e},n.prototype.RBTree.prototype.rbRotateRight=function(t){var e=t,n=t.rbLeft,r=e.rbParent;r?r.rbLeft===e?r.rbLeft=n:r.rbRight=n:this.root=n,n.rbParent=r,e.rbParent=n,e.rbLeft=n.rbRight,e.rbLeft&&(e.rbLeft.rbParent=e),n.rbRight=e},n.prototype.RBTree.prototype.getFirst=function(t){for(;t.rbLeft;)t=t.rbLeft;return t},n.prototype.RBTree.prototype.getLast=function(t){for(;t.rbRight;)t=t.rbRight;return t},n.prototype.Diagram=function(t){this.site=t},n.prototype.Cell=function(t){this.site=t,this.halfedges=[],this.closeMe=!1},n.prototype.Cell.prototype.init=function(t){return this.site=t,this.halfedges=[],this.closeMe=!1,this},n.prototype.createCell=function(t){var e=this.cellJunkyard.pop();return e?e.init(t):new this.Cell(t)},n.prototype.Cell.prototype.prepareHalfedges=function(){for(var t,e=this.halfedges,n=e.length;n--;)(t=e[n].edge).vb&&t.va||e.splice(n,1);return e.sort((function(t,e){return e.angle-t.angle})),e.length},n.prototype.Cell.prototype.getNeighborIds=function(){for(var t,e=[],n=this.halfedges.length;n--;)null!==(t=this.halfedges[n].edge).lSite&&t.lSite.voronoiId!=this.site.voronoiId?e.push(t.lSite.voronoiId):null!==t.rSite&&t.rSite.voronoiId!=this.site.voronoiId&&e.push(t.rSite.voronoiId);return e},n.prototype.Cell.prototype.getBbox=function(){for(var t,e,n,r=this.halfedges,i=r.length,o=1/0,a=1/0,s=-1/0,c=-1/0;i--;)(e=(t=r[i].getStartpoint()).x)s&&(s=e),n>c&&(c=n);return{x:o,y:a,width:s-o,height:c-a}},n.prototype.Cell.prototype.pointIntersection=function(t,e){for(var n,r,i,o,a=this.halfedges,s=a.length;s--;){if(r=(n=a[s]).getStartpoint(),i=n.getEndpoint(),!(o=(e-r.y)*(i.x-r.x)-(t-r.x)*(i.y-r.y)))return 0;if(o>0)return-1}return 1},n.prototype.Vertex=function(t,e){this.x=t,this.y=e},n.prototype.Edge=function(t,e){this.lSite=t,this.rSite=e,this.va=this.vb=null},n.prototype.Halfedge=function(t,e,n){if(this.site=e,this.edge=t,n)this.angle=Math.atan2(n.y-e.y,n.x-e.x);else{var r=t.va,i=t.vb;this.angle=t.lSite===e?Math.atan2(i.x-r.x,r.y-i.y):Math.atan2(r.x-i.x,i.y-r.y)}},n.prototype.createHalfedge=function(t,e,n){return new this.Halfedge(t,e,n)},n.prototype.Halfedge.prototype.getStartpoint=function(){return this.edge.lSite===this.site?this.edge.va:this.edge.vb},n.prototype.Halfedge.prototype.getEndpoint=function(){return this.edge.lSite===this.site?this.edge.vb:this.edge.va},n.prototype.createVertex=function(t,e){var n=this.vertexJunkyard.pop();return n?(n.x=t,n.y=e):n=new this.Vertex(t,e),this.vertices.push(n),n},n.prototype.createEdge=function(t,e,n,r){var i=this.edgeJunkyard.pop();return i?(i.lSite=t,i.rSite=e,i.va=i.vb=null):i=new this.Edge(t,e),this.edges.push(i),n&&this.setEdgeStartpoint(i,t,e,n),r&&this.setEdgeEndpoint(i,t,e,r),this.cells[t.voronoiId].halfedges.push(this.createHalfedge(i,t,e)),this.cells[e.voronoiId].halfedges.push(this.createHalfedge(i,e,t)),i},n.prototype.createBorderEdge=function(t,e,n){var r=this.edgeJunkyard.pop();return r?(r.lSite=t,r.rSite=null):r=new this.Edge(t,null),r.va=e,r.vb=n,this.edges.push(r),r},n.prototype.setEdgeStartpoint=function(t,e,n,r){t.va||t.vb?t.lSite===n?t.vb=r:t.va=r:(t.va=r,t.lSite=e,t.rSite=n)},n.prototype.setEdgeEndpoint=function(t,e,n,r){this.setEdgeStartpoint(t,n,e,r)},n.prototype.Beachsection=function(){},n.prototype.createBeachsection=function(t){var e=this.beachsectionJunkyard.pop();return e||(e=new this.Beachsection),e.site=t,e},n.prototype.leftBreakPoint=function(t,e){var n=t.site,r=n.x,i=n.y,o=i-e;if(!o)return r;var a=t.rbPrevious;if(!a)return-1/0;var s=(n=a.site).x,c=n.y,u=c-e;if(!u)return s;var l=s-r,h=1/o-1/u,f=l/u;return h?(-f+this.sqrt(f*f-2*h*(l*l/(-2*u)-c+u/2+i-o/2)))/h+r:(r+s)/2},n.prototype.rightBreakPoint=function(t,e){var n=t.rbNext;if(n)return this.leftBreakPoint(n,e);var r=t.site;return r.y===e?r.x:1/0},n.prototype.detachBeachsection=function(t){this.detachCircleEvent(t),this.beachline.rbRemoveNode(t),this.beachsectionJunkyard.push(t)},n.prototype.removeBeachsection=function(t){var e=t.circleEvent,n=e.x,r=e.ycenter,i=this.createVertex(n,r),o=t.rbPrevious,a=t.rbNext,s=[t],c=Math.abs;this.detachBeachsection(t);for(var u=o;u.circleEvent&&c(n-u.circleEvent.x)<1e-9&&c(r-u.circleEvent.ycenter)<1e-9;)o=u.rbPrevious,s.unshift(u),this.detachBeachsection(u),u=o;s.unshift(u),this.detachCircleEvent(u);for(var l=a;l.circleEvent&&c(n-l.circleEvent.x)<1e-9&&c(r-l.circleEvent.ycenter)<1e-9;)a=l.rbNext,s.push(l),this.detachBeachsection(l),l=a;s.push(l),this.detachCircleEvent(l);var h,f=s.length;for(h=1;h1e-9)s=s.rbLeft;else{if(!((i=o-this.rightBreakPoint(s,a))>1e-9)){r>-1e-9?(e=s.rbPrevious,n=s):i>-1e-9?(e=s,n=s.rbNext):e=n=s;break}if(!s.rbRight){e=s;break}s=s.rbRight}var c=this.createBeachsection(t);if(this.beachline.rbInsertSuccessor(e,c),e||n){if(e===n)return this.detachCircleEvent(e),n=this.createBeachsection(e.site),this.beachline.rbInsertSuccessor(c,n),c.edge=n.edge=this.createEdge(e.site,c.site),this.attachCircleEvent(e),void this.attachCircleEvent(n);if(!e||n){if(e!==n){this.detachCircleEvent(e),this.detachCircleEvent(n);var u=e.site,l=u.x,h=u.y,f=t.x-l,d=t.y-h,p=n.site,g=p.x-l,v=p.y-h,b=2*(f*v-d*g),y=f*f+d*d,m=g*g+v*v,w=this.createVertex((v*y-d*m)/b+l,(f*m-g*y)/b+h);return this.setEdgeStartpoint(n.edge,u,p,w),c.edge=this.createEdge(u,t,void 0,w),n.edge=this.createEdge(t,p,void 0,w),this.attachCircleEvent(e),void this.attachCircleEvent(n)}}else c.edge=this.createEdge(e.site,c.site)}},n.prototype.CircleEvent=function(){this.arc=null,this.rbLeft=null,this.rbNext=null,this.rbParent=null,this.rbPrevious=null,this.rbRed=!1,this.rbRight=null,this.site=null,this.x=this.y=this.ycenter=0},n.prototype.attachCircleEvent=function(t){var e=t.rbPrevious,n=t.rbNext;if(e&&n){var r=e.site,i=t.site,o=n.site;if(r!==o){var a=i.x,s=i.y,c=r.x-a,u=r.y-s,l=o.x-a,h=o.y-s,f=2*(c*h-u*l);if(!(f>=-2e-12)){var d=c*c+u*u,p=l*l+h*h,g=(h*d-u*p)/f,v=(c*p-l*d)/f,b=v+s,y=this.circleEventJunkyard.pop();y||(y=new this.CircleEvent),y.arc=t,y.site=i,y.x=g+a,y.y=b+this.sqrt(g*g+v*v),y.ycenter=b,t.circleEvent=y;for(var m=null,w=this.circleEvents.root;w;)if(y.y=s)return!1;if(f>p){if(!o||o.y=u)return!1;n=this.createVertex(v,u)}else{if(!o||o.y>u)o=this.createVertex(v,u);else if(o.y1)if(f>p){if(!o||o.y=u)return!1;n=this.createVertex((u-i)/r,u)}else{if(!o||o.y>u)o=this.createVertex((u-i)/r,u);else if(o.y=s)return!1;n=this.createVertex(s,r*s+i)}else{if(!o||o.x>s)o=this.createVertex(s,r*s+i);else if(o.x0){if(u>o)return!1;u>i&&(i=u)}if(c=e.xr-n,0===a&&c<0)return!1;if(u=c/a,a<0){if(u>o)return!1;u>i&&(i=u)}else if(a>0){if(u0){if(u>o)return!1;u>i&&(i=u)}if(c=e.yb-r,0===s&&c<0)return!1;if(u=c/s,s<0){if(u>o)return!1;u>i&&(i=u)}else if(s>0){if(u0&&(t.va=this.createVertex(n+i*a,r+i*s)),o<1&&(t.vb=this.createVertex(n+o*a,r+o*s)),(i>0||o<1)&&(this.cells[t.lSite.voronoiId].closeMe=!0,this.cells[t.rSite.voronoiId].closeMe=!0),!0},n.prototype.clipEdges=function(t){for(var e,n=this.edges,r=n.length,i=Math.abs;r--;)e=n[r],(!this.connectEdge(e,t)||!this.clipEdge(e,t)||i(e.va.x-e.vb.x)<1e-9&&i(e.va.y-e.vb.y)<1e-9)&&(e.va=e.vb=null,n.splice(r,1))},n.prototype.closeCells=function(t){for(var e,n,r,i,o,a,s,c,u,l=t.xl,h=t.xr,f=t.yt,d=t.yb,p=this.cells,g=p.length,v=Math.abs;g--;)if((e=p[g]).prepareHalfedges()&&e.closeMe){for(i=(r=e.halfedges).length,n=0;n=1e-9||v(a.y-c.y)>=1e-9)switch(!0){case this.equalWithEpsilon(a.x,l)&&this.lessThanWithEpsilon(a.y,d):if(u=this.equalWithEpsilon(c.x,l),s=this.createVertex(l,u?c.y:d),o=this.createBorderEdge(e.site,a,s),n++,r.splice(n,0,this.createHalfedge(o,e.site,null)),i++,u)break;a=s;case this.equalWithEpsilon(a.y,d)&&this.lessThanWithEpsilon(a.x,h):if(u=this.equalWithEpsilon(c.y,d),s=this.createVertex(u?c.x:h,d),o=this.createBorderEdge(e.site,a,s),n++,r.splice(n,0,this.createHalfedge(o,e.site,null)),i++,u)break;a=s;case this.equalWithEpsilon(a.x,h)&&this.greaterThanWithEpsilon(a.y,f):if(u=this.equalWithEpsilon(c.x,h),s=this.createVertex(h,u?c.y:f),o=this.createBorderEdge(e.site,a,s),n++,r.splice(n,0,this.createHalfedge(o,e.site,null)),i++,u)break;a=s;case this.equalWithEpsilon(a.y,f)&&this.greaterThanWithEpsilon(a.x,l):if(u=this.equalWithEpsilon(c.y,f),s=this.createVertex(u?c.x:l,f),o=this.createBorderEdge(e.site,a,s),n++,r.splice(n,0,this.createHalfedge(o,e.site,null)),i++,u)break;if(a=s,u=this.equalWithEpsilon(c.x,l),s=this.createVertex(l,u?c.y:d),o=this.createBorderEdge(e.site,a,s),n++,r.splice(n,0,this.createHalfedge(o,e.site,null)),i++,u)break;if(a=s,u=this.equalWithEpsilon(c.y,d),s=this.createVertex(u?c.x:h,d),o=this.createBorderEdge(e.site,a,s),n++,r.splice(n,0,this.createHalfedge(o,e.site,null)),i++,u)break;if(a=s,u=this.equalWithEpsilon(c.x,h),s=this.createVertex(h,u?c.y:f),o=this.createBorderEdge(e.site,a,s),n++,r.splice(n,0,this.createHalfedge(o,e.site,null)),i++,u)break;default:throw"Voronoi.closeCells() > this makes no sense!"}n++}e.closeMe=!1}},n.prototype.quantizeSites=function(t){for(var e,n=this.ε,r=t.length;r--;)(e=t[r]).x=Math.floor(e.x/n)*n,e.y=Math.floor(e.y/n)*n},n.prototype.recycle=function(t){if(t){if(!(t instanceof this.Diagram))throw"Voronoi.recycleDiagram() > Need a Diagram object.";this.toRecycle=t}},n.prototype.compute=function(t,e){var n=new Date;this.reset(),this.toRecycle&&(this.vertexJunkyard=this.vertexJunkyard.concat(this.toRecycle.vertices),this.edgeJunkyard=this.edgeJunkyard.concat(this.toRecycle.edges),this.cellJunkyard=this.cellJunkyard.concat(this.toRecycle.cells),this.toRecycle=null);var r=t.slice(0);r.sort((function(t,e){return e.y-t.y||e.x-t.x}));for(var i,o,a,s=r.pop(),c=0,u=this.cells;;)if(a=this.firstCircleEvent,s&&(!a||s.y{window,t.exports=function(t){var e={};function n(r){if(e[r])return e[r].exports;var i=e[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)n.d(r,i,function(e){return t[e]}.bind(null,i));return r},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=0)}([function(t,e,n){"use strict";var r=n(1),i=function(t){t&&t("core","svg",r.svg)};"undefined"!=typeof cytoscape&&i(cytoscape),t.exports=i},function(t,e,n){"use strict";var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i=n(2),o={},a=function(t){return null!=t&&(void 0===t?"undefined":r(t))===r(1)&&!isNaN(t)};o.bufferCanvasImage=function(t,e){var n=e.renderer().usePaths;e.renderer().usePaths=function(){return!1},e.elements().forEach((function(t){t._private.rscratch.pathCacheKey=null,t._private.rscratch.pathCache=null}));var r=e.renderer(),o=e.mutableElements().boundingBox(),s=r.findContainerClientCoords(),c=t.full?Math.ceil(o.w):s[2],u=t.full?Math.ceil(o.h):s[3],l=a(t.maxWidth)||a(t.maxHeight),h=r.getPixelRatio(),f=1;if(void 0!==t.scale)c*=t.scale,u*=t.scale,f=t.scale;else if(l){var d=1/0,p=1/0;a(t.maxWidth)&&(d=f*t.maxWidth/c),a(t.maxHeight)&&(p=f*t.maxHeight/u),c*=f=Math.min(d,p),u*=f}l||(c*=h,u*=h,f*=h);var g=null,v=g=new i(c,u);if(c>0&&u>0){g.clearRect(0,0,c,u),t.bg&&(g.globalCompositeOperation="destination-over",g.fillStyle=t.bg,g.fillRect(0,0,c,u)),g.globalCompositeOperation="source-over";var b=r.getCachedZSortedEles();if(t.full)g.translate(-o.x1*f,-o.y1*f),g.scale(f,f),r.drawElements(g,b),g.scale(1/f,1/f),g.translate(o.x1*f,o.y1*f);else{var y=e.pan(),m={x:y.x*f,y:y.y*f};f*=e.zoom(),g.translate(m.x,m.y),g.scale(f,f),r.drawElements(g,b),g.scale(1/f,1/f),g.translate(-m.x,-m.y)}}return e.renderer().usePaths=n,v},o.svg=function(t){return o.bufferCanvasImage(t||{},this).getSerializedSvg()},t.exports=o},function(t,e,n){!function(){"use strict";var e,n,r,i,o;function a(t,e){var n,r=Object.keys(e);for(n=0;n1?((e=r).width=arguments[0],e.height=arguments[1]):e=t||r,!(this instanceof n))return new n(e);this.width=e.width||r.width,this.height=e.height||r.height,this.enableMirroring=void 0!==e.enableMirroring?e.enableMirroring:r.enableMirroring,this.canvas=this,this.__document=e.document||document,e.ctx?this.__ctx=e.ctx:(this.__canvas=this.__document.createElement("canvas"),this.__ctx=this.__canvas.getContext("2d")),this.__setDefaultStyles(),this.__stack=[this.__getStyleState()],this.__groupStack=[],this.__root=this.__document.createElementNS("http://www.w3.org/2000/svg","svg"),this.__root.setAttribute("version",1.1),this.__root.setAttribute("xmlns","http://www.w3.org/2000/svg"),this.__root.setAttributeNS("http://www.w3.org/2000/xmlns/","xmlns:xlink","http://www.w3.org/1999/xlink"),this.__root.setAttribute("width",this.width),this.__root.setAttribute("height",this.height),this.__ids={},this.__defs=this.__document.createElementNS("http://www.w3.org/2000/svg","defs"),this.__root.appendChild(this.__defs),this.__currentElement=this.__document.createElementNS("http://www.w3.org/2000/svg","g"),this.__root.appendChild(this.__currentElement)}).prototype.__createElement=function(t,e,n){void 0===e&&(e={});var r,i,o=this.__document.createElementNS("http://www.w3.org/2000/svg",t),a=Object.keys(e);for(n&&(o.setAttribute("fill","none"),o.setAttribute("stroke","none")),r=0;r0){"path"===this.__currentElement.nodeName&&(this.__currentElementsToStyle||(this.__currentElementsToStyle={element:e,children:[]}),this.__currentElementsToStyle.children.push(this.__currentElement),this.__applyCurrentDefaultPath());var n=this.__createElement("g");e.appendChild(n),this.__currentElement=n}var r=this.__currentElement.getAttribute("transform");r?r+=" ":r="",r+=t,this.__currentElement.setAttribute("transform",r)},n.prototype.scale=function(t,e){void 0===e&&(e=t),this.__addTransform(a("scale({x},{y})",{x:t,y:e}))},n.prototype.rotate=function(t){var e=180*t/Math.PI;this.__addTransform(a("rotate({angle},{cx},{cy})",{angle:e,cx:0,cy:0}))},n.prototype.translate=function(t,e){this.__addTransform(a("translate({x},{y})",{x:t,y:e}))},n.prototype.transform=function(t,e,n,r,i,o){this.__addTransform(a("matrix({a},{b},{c},{d},{e},{f})",{a:t,b:e,c:n,d:r,e:i,f:o}))},n.prototype.beginPath=function(){var t;this.__currentDefaultPath="",this.__currentPosition={},t=this.__createElement("path",{},!0),this.__closestGroupOrSvg().appendChild(t),this.__currentElement=t},n.prototype.__applyCurrentDefaultPath=function(){var t=this.__currentElement;"path"===t.nodeName?t.setAttribute("d",this.__currentDefaultPath):console.error("Attempted to apply path command to node",t.nodeName)},n.prototype.__addPathCommand=function(t){this.__currentDefaultPath+=" ",this.__currentDefaultPath+=t},n.prototype.moveTo=function(t,e){"path"!==this.__currentElement.nodeName&&this.beginPath(),this.__currentPosition={x:t,y:e},this.__addPathCommand(a("M {x} {y}",{x:t,y:e}))},n.prototype.closePath=function(){this.__currentDefaultPath&&this.__addPathCommand("Z")},n.prototype.lineTo=function(t,e){this.__currentPosition={x:t,y:e},this.__currentDefaultPath.indexOf("M")>-1?this.__addPathCommand(a("L {x} {y}",{x:t,y:e})):this.__addPathCommand(a("M {x} {y}",{x:t,y:e}))},n.prototype.bezierCurveTo=function(t,e,n,r,i,o){this.__currentPosition={x:i,y:o},this.__addPathCommand(a("C {cp1x} {cp1y} {cp2x} {cp2y} {x} {y}",{cp1x:t,cp1y:e,cp2x:n,cp2y:r,x:i,y:o}))},n.prototype.quadraticCurveTo=function(t,e,n,r){this.__currentPosition={x:n,y:r},this.__addPathCommand(a("Q {cpx} {cpy} {x} {y}",{cpx:t,cpy:e,x:n,y:r}))};var u=function(t){var e=Math.sqrt(t[0]*t[0]+t[1]*t[1]);return[t[0]/e,t[1]/e]};n.prototype.arcTo=function(t,e,n,r,i){var o=this.__currentPosition&&this.__currentPosition.x,a=this.__currentPosition&&this.__currentPosition.y;if(void 0!==o&&void 0!==a){if(i<0)throw new Error("IndexSizeError: The radius provided ("+i+") is negative.");if(o===t&&a===e||t===n&&e===r||0===i)this.lineTo(t,e);else{var s=u([o-t,a-e]),c=u([n-t,r-e]);if(s[0]*c[1]!=s[1]*c[0]){var l=s[0]*c[0]+s[1]*c[1],h=Math.acos(Math.abs(l)),f=u([s[0]+c[0],s[1]+c[1]]),d=i/Math.sin(h/2),p=t+d*f[0],g=e+d*f[1],v=[-s[1],s[0]],b=[c[1],-c[0]],y=function(t){var e=t[0];return t[1]>=0?Math.acos(e):-Math.acos(e)},m=y(v),w=y(b);this.lineTo(p+v[0]*i,g+v[1]*i),this.arc(p,g,i,m,w)}else this.lineTo(t,e)}}},n.prototype.stroke=function(){"path"===this.__currentElement.nodeName&&this.__currentElement.setAttribute("paint-order","fill stroke markers"),this.__applyCurrentDefaultPath(),this.__applyStyleToCurrentElement("stroke")},n.prototype.fill=function(){"path"===this.__currentElement.nodeName&&this.__currentElement.setAttribute("paint-order","stroke fill markers"),this.__applyCurrentDefaultPath(),this.__applyStyleToCurrentElement("fill")},n.prototype.rect=function(t,e,n,r){"path"!==this.__currentElement.nodeName&&this.beginPath(),this.moveTo(t,e),this.lineTo(t+n,e),this.lineTo(t+n,e+r),this.lineTo(t,e+r),this.lineTo(t,e),this.closePath()},n.prototype.fillRect=function(t,e,n,r){var i;i=this.__createElement("rect",{x:t,y:e,width:n,height:r},!0),this.__closestGroupOrSvg().appendChild(i),this.__currentElement=i,this.__applyStyleToCurrentElement("fill")},n.prototype.strokeRect=function(t,e,n,r){var i;i=this.__createElement("rect",{x:t,y:e,width:n,height:r},!0),this.__closestGroupOrSvg().appendChild(i),this.__currentElement=i,this.__applyStyleToCurrentElement("stroke")},n.prototype.__clearCanvas=function(){for(var t=this.__closestGroupOrSvg().getAttribute("transform"),e=this.__root.childNodes[1],n=e.childNodes,r=n.length-1;r>=0;r--)n[r]&&e.removeChild(n[r]);this.__currentElement=e,this.__groupStack=[],t&&this.__addTransform(t)},n.prototype.clearRect=function(t,e,n,r){if(0!==t||0!==e||n!==this.width||r!==this.height){var i,o=this.__closestGroupOrSvg();i=this.__createElement("rect",{x:t,y:e,width:n,height:r,fill:"#FFFFFF"},!0),o.appendChild(i)}else this.__clearCanvas()},n.prototype.createLinearGradient=function(t,e,n,i){var o=this.__createElement("linearGradient",{id:s(this.__ids),x1:t+"px",x2:n+"px",y1:e+"px",y2:i+"px",gradientUnits:"userSpaceOnUse"},!1);return this.__defs.appendChild(o),new r(o,this)},n.prototype.createRadialGradient=function(t,e,n,i,o,a){var c=this.__createElement("radialGradient",{id:s(this.__ids),cx:i+"px",cy:o+"px",r:a+"px",fx:t+"px",fy:e+"px",gradientUnits:"userSpaceOnUse"},!1);return this.__defs.appendChild(c),new r(c,this)},n.prototype.__parseFont=function(){var t=/^\s*(?=(?:(?:[-a-z]+\s*){0,2}(italic|oblique))?)(?=(?:(?:[-a-z]+\s*){0,2}(small-caps))?)(?=(?:(?:[-a-z]+\s*){0,2}(bold(?:er)?|lighter|[1-9]00))?)(?:(?:normal|\1|\2|\3)\s*){0,3}((?:xx?-)?(?:small|large)|medium|smaller|larger|[.\d]+(?:\%|in|[cem]m|ex|p[ctx]))(?:\s*\/\s*(normal|[.\d]+(?:\%|in|[cem]m|ex|p[ctx])))?\s*([-,\'\"\sa-z0-9]+?)\s*$/i.exec(this.font),e={style:t[1]||"normal",size:t[4]||"10px",family:t[6]||"sans-serif",weight:t[3]||"normal",decoration:t[2]||"normal",href:null};return"underline"===this.__fontUnderline&&(e.decoration="underline"),this.__fontHref&&(e.href=this.__fontHref),e},n.prototype.__wrapTextLink=function(t,e){if(t.href){var n=this.__createElement("a");return n.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",t.href),n.appendChild(e),n}return e},n.prototype.__applyText=function(t,e,n,r){var i,o,a=this.__parseFont(),s=this.__closestGroupOrSvg(),u=this.__createElement("text",{"font-family":a.family,"font-size":a.size,"font-style":a.style,"font-weight":a.weight,"text-decoration":a.decoration,x:e,y:n,"text-anchor":(i=this.textAlign,o={left:"start",right:"end",center:"middle",start:"start",end:"end"},o[i]||o.start),"dominant-baseline":c(this.textBaseline)},!0);u.appendChild(this.__document.createTextNode(t)),this.__currentElement=u,this.__applyStyleToCurrentElement(r),s.appendChild(this.__wrapTextLink(a,u))},n.prototype.fillText=function(t,e,n){this.__applyText(t,e,n,"fill")},n.prototype.strokeText=function(t,e,n){this.__applyText(t,e,n,"stroke")},n.prototype.measureText=function(t){return this.__ctx.font=this.font,this.__ctx.measureText(t)},n.prototype.arc=function(t,e,n,r,i,o){if(r!==i){(r%=2*Math.PI)==(i%=2*Math.PI)&&(i=(i+2*Math.PI-.001*(o?-1:1))%(2*Math.PI));var s,c=t+n*Math.cos(i),u=e+n*Math.sin(i),l=t+n*Math.cos(r),h=e+n*Math.sin(r),f=o?0:1,d=i-r;d<0&&(d+=2*Math.PI),s=o?d>Math.PI?0:1:d>Math.PI?1:0,this.lineTo(l,h),this.__addPathCommand(a("A {rx} {ry} {xAxisRotation} {largeArcFlag} {sweepFlag} {endX} {endY}",{rx:n,ry:n,xAxisRotation:0,largeArcFlag:s,sweepFlag:f,endX:c,endY:u})),this.__currentPosition={x:c,y:u}}},n.prototype.clip=function(){var t=this.__closestGroupOrSvg(),e=this.__createElement("clipPath"),n=s(this.__ids),r=this.__createElement("g");this.__applyCurrentDefaultPath(),t.removeChild(this.__currentElement),e.setAttribute("id",n),e.appendChild(this.__currentElement),this.__defs.appendChild(e),t.setAttribute("clip-path",a("url(#{id})",{id:n})),t.appendChild(r),this.__currentElement=r},n.prototype.drawImage=function(){var t,e,r,i,o,a,s,c,u,l,h,f,d,p=Array.prototype.slice.call(arguments),g=p[0],v=0,b=0;if(3===p.length)t=p[1],e=p[2],r=o=g.width,i=a=g.height;else if(5===p.length)t=p[1],e=p[2],r=p[3],i=p[4],o=g.width,a=g.height;else{if(9!==p.length)throw new Error("Inavlid number of arguments passed to drawImage: "+arguments.length);v=p[1],b=p[2],o=p[3],a=p[4],t=p[5],e=p[6],r=p[7],i=p[8]}s=this.__closestGroupOrSvg(),this.__currentElement;var y="translate("+t+", "+e+")";if(g instanceof n){if((c=g.getSvg().cloneNode(!0)).childNodes&&c.childNodes.length>1){for(u=c.childNodes[0];u.childNodes.length;)d=u.childNodes[0].getAttribute("id"),this.__ids[d]=d,this.__defs.appendChild(u.childNodes[0]);if(l=c.childNodes[1]){var m,w=l.getAttribute("transform");m=w?w+" "+y:y,l.setAttribute("transform",m),s.appendChild(l)}}}else"CANVAS"!==g.nodeName&&"IMG"!==g.nodeName||((h=this.__createElement("image")).setAttribute("width",r),h.setAttribute("height",i),h.setAttribute("opacity",this.globalAlpha),h.setAttribute("preserveAspectRatio","none"),(f=this.__document.createElement("canvas")).width=r,f.height=i,f.getContext("2d").drawImage(g,v,b,o,a,0,0,r,i),g=f,h.setAttribute("transform",y),h.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href","CANVAS"===g.nodeName?g.toDataURL():g.getAttribute("src")),s.appendChild(h))},n.prototype.createPattern=function(t,e){var r,o=this.__document.createElementNS("http://www.w3.org/2000/svg","pattern"),a=s(this.__ids);return o.setAttribute("id",a),o.setAttribute("width",t.width),o.setAttribute("height",t.height),"CANVAS"===t.nodeName||"IMG"===t.nodeName?((r=this.__document.createElementNS("http://www.w3.org/2000/svg","image")).setAttribute("width",t.width),r.setAttribute("height",t.height),r.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href","CANVAS"===t.nodeName?t.toDataURL():t.getAttribute("src")),o.appendChild(r),this.__defs.appendChild(o)):t instanceof n&&(o.appendChild(t.__root.childNodes[1]),this.__defs.appendChild(o)),new i(o,this)},n.prototype.setLineDash=function(t){t&&t.length>0?this.lineDash=t.join(","):this.lineDash=null},n.prototype.drawFocusRing=function(){},n.prototype.createImageData=function(){},n.prototype.getImageData=function(){},n.prototype.putImageData=function(){},n.prototype.globalCompositeOperation=function(){},n.prototype.setTransform=function(){},"object"==typeof window&&(window.C2S=n),"object"==typeof t.exports&&(t.exports=n)}()}])},9058:(t,e,n)=>{"use strict";var r=n(3279),i=n(4485),o=n(7361),a=n(6968),s=n(84);function c(t){return t&&"object"==typeof t&&"default"in t?t:{default:t}}var u=c(r),l=c(i),h=c(o),f=c(a),d=c(s);function p(t){return p="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},p(t)}function g(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function v(t,e){for(var n=0;nt.length)&&(e=t.length);for(var n=0,r=new Array(e);ne?1:0},Q=null!=Object.assign?Object.assign.bind(Object):function(t){for(var e=arguments,n=1;n1&&void 0!==arguments[1]?arguments[1]:st;!(e=t.next()).done;)n=65599*n+e.value|0;return n},lt=function(t){return 65599*(arguments.length>1&&void 0!==arguments[1]?arguments[1]:st)+t|0},ht=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:ct;return(e<<5)+e+t|0},ft=function(t){return 2097152*t[0]+t[1]},dt=function(t,e){return[lt(t[0],e[0]),ht(t[1],e[1])]},pt=function(t,e){var n={value:0,done:!1},r=0,i=t.length;return ut({next:function(){return r=0&&(t[r]!==e||(t.splice(r,1),!n));r--);},Pt=function(t){t.splice(0,t.length)},Dt=function(t,e,n){return n&&(e=U(n,e)),t[e]},Rt=function(t,e,n,r){n&&(e=U(n,e)),t[e]=r},jt="undefined"!=typeof Map?Map:function(){function t(){g(this,t),this._obj={}}return b(t,[{key:"set",value:function(t,e){return this._obj[t]=e,this}},{key:"delete",value:function(t){return this._obj[t]=void 0,this}},{key:"clear",value:function(){this._obj={}}},{key:"has",value:function(t){return void 0!==this._obj[t]}},{key:"get",value:function(t){return this._obj[t]}}]),t}(),Gt=function(){function t(e){if(g(this,t),this._obj=Object.create(null),this.size=0,null!=e){var n;n=null!=e.instanceString&&e.instanceString()===this.instanceString()?e.toArray():e;for(var r=0;r2&&void 0!==arguments[2])||arguments[2];if(void 0!==t&&void 0!==e&&j(t)){var r=e.group;if(null==r&&(r=e.data&&null!=e.data.source&&null!=e.data.target?"edges":"nodes"),"nodes"===r||"edges"===r){this.length=1,this[0]=this;var i=this._private={cy:t,single:!0,data:e.data||{},position:e.position||{x:0,y:0},autoWidth:void 0,autoHeight:void 0,autoPadding:void 0,compoundBoundsClean:!1,listeners:[],group:r,style:{},rstyle:{},styleCxts:[],styleKeys:{},removed:!0,selected:!!e.selected,selectable:void 0===e.selectable||!!e.selectable,locked:!!e.locked,grabbed:!1,grabbable:void 0===e.grabbable||!!e.grabbable,pannable:void 0===e.pannable?"edges"===r:!!e.pannable,active:!1,classes:new Bt,animation:{current:[],queue:[]},rscratch:{},scratch:e.scratch||{},edges:[],children:[],parent:e.parent&&e.parent.isNode()?e.parent:null,traversalCache:{},backgrounding:!1,bbCache:null,bbCacheShift:{x:0,y:0},bodyBounds:null,overlayBounds:null,labelBounds:{all:null,source:null,target:null,main:null},arrowBounds:{source:null,target:null,"mid-source":null,"mid-target":null}};if(null==i.position.x&&(i.position.x=0),null==i.position.y&&(i.position.y=0),e.renderedPosition){var o=e.renderedPosition,a=t.pan(),s=t.zoom();i.position={x:(o.x-a.x)/s,y:(o.y-a.y)/s}}var c=[];O(e.classes)?c=e.classes:A(e.classes)&&(c=e.classes.split(/\s+/));for(var u=0,l=c.length;u0;){var _=y.pop(),E=v(_),k=_.id();if(f[k]=E,E!==1/0)for(var T=_.neighborhood().intersect(p),C=0;C0)for(n.unshift(e);h[i];){var o=h[i];n.unshift(o.edge),n.unshift(o.node),i=(r=o.node).id()}return a.spawn(n)}}}},Vt={kruskal:function(t){t=t||function(t){return 1};for(var e=this.byGroup(),n=e.nodes,r=e.edges,i=n.length,o=new Array(i),a=n,s=function(t){for(var e=0;e0;){if(u=(c=v.pop()).id(),b.delete(u),_++,u===f){for(var E=[],k=i,T=f,C=m[T];E.unshift(k),null!=C&&E.unshift(C),null!=(k=y[T]);)C=m[T=k.id()];return{found:!0,distance:d[u],path:this.spawn(E),steps:_}}g[u]=!0;for(var N=c._private.edges,A=0;AC&&(d[T]=C,b[T]=k,y[T]=w),!i){var N=k*u+E;!i&&d[N]>C&&(d[N]=C,b[N]=E,y[N]=w)}}}for(var S=0;S1&&void 0!==arguments[1]?arguments[1]:o,r=[],i=y(t);;){if(null==i)return e.spawn();var a=b(i),c=a.edge,u=a.pred;if(r.unshift(i[0]),i.same(n)&&r.length>0)break;null!=c&&r.unshift(c),i=u}return s.spawn(r)},hasNegativeWeightCycle:p,negativeWeightCycles:g}}},Qt=Math.sqrt(2),Jt=function(t,e,n){0===n.length&&Tt("Karger-Stein must be run on a connected (sub)graph");for(var r=n[t],i=r[1],o=r[2],a=e[i],s=e[o],c=n,u=c.length-1;u>=0;u--){var l=c[u],h=l[1],f=l[2];(e[h]===a&&e[f]===s||e[h]===s&&e[f]===a)&&c.splice(u,1)}for(var d=0;dr;){var i=Math.floor(Math.random()*e.length);e=Jt(i,t,e),n--}return e},ee={kargerStein:function(){var t=this,e=this.byGroup(),n=e.nodes,r=e.edges;r.unmergeBy((function(t){return t.isLoop()}));var i=n.length,o=r.length,a=Math.ceil(Math.pow(Math.log(i)/Math.LN2,2)),s=Math.floor(i/Qt);if(!(i<2)){for(var c=[],u=0;u0?1:t<0?-1:0},ce=function(t,e){return Math.sqrt(ue(t,e))},ue=function(t,e){var n=e.x-t.x,r=e.y-t.y;return n*n+r*r},le=function(t){for(var e=t.length,n=0,r=0;r=t.x1&&t.y2>=t.y1)return{x1:t.x1,y1:t.y1,x2:t.x2,y2:t.y2,w:t.x2-t.x1,h:t.y2-t.y1};if(null!=t.w&&null!=t.h&&t.w>=0&&t.h>=0)return{x1:t.x1,y1:t.y1,x2:t.x1+t.w,y2:t.y1+t.h,w:t.w,h:t.h}}},ge=function(t,e){t.x1=Math.min(t.x1,e.x1),t.x2=Math.max(t.x2,e.x2),t.w=t.x2-t.x1,t.y1=Math.min(t.y1,e.y1),t.y2=Math.max(t.y2,e.y2),t.h=t.y2-t.y1},ve=function(t,e,n){t.x1=Math.min(t.x1,e),t.x2=Math.max(t.x2,e),t.w=t.x2-t.x1,t.y1=Math.min(t.y1,n),t.y2=Math.max(t.y2,n),t.h=t.y2-t.y1},be=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return t.x1-=e,t.x2+=e,t.y1-=e,t.y2+=e,t.w=t.x2-t.x1,t.h=t.y2-t.y1,t},ye=function(t){var e,n,r,i,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[0];if(1===o.length)e=n=r=i=o[0];else if(2===o.length)e=r=o[0],i=n=o[1];else if(4===o.length){var a=m(o,4);e=a[0],n=a[1],r=a[2],i=a[3]}return t.x1-=i,t.x2+=n,t.y1-=e,t.y2+=r,t.w=t.x2-t.x1,t.h=t.y2-t.y1,t},me=function(t,e){t.x1=e.x1,t.y1=e.y1,t.x2=e.x2,t.y2=e.y2,t.w=t.x2-t.x1,t.h=t.y2-t.y1},we=function(t,e){return!(t.x1>e.x2||e.x1>t.x2||t.x2e.y2||e.y1>t.y2)},xe=function(t,e,n){return t.x1<=e&&e<=t.x2&&t.y1<=n&&n<=t.y2},_e=function(t,e){return xe(t,e.x1,e.y1)&&xe(t,e.x2,e.y2)},Ee=function(t,e,n,r,i,o,a){var s,c=He(i,o),u=i/2,l=o/2,h=r-l-a;if((s=De(t,e,n,r,n-u+c-a,h,n+u-c+a,h,!1)).length>0)return s;var f=n+u+a;if((s=De(t,e,n,r,f,r-l+c-a,f,r+l-c+a,!1)).length>0)return s;var d=r+l+a;if((s=De(t,e,n,r,n-u+c-a,d,n+u-c+a,d,!1)).length>0)return s;var p,g=n-u-a;if((s=De(t,e,n,r,g,r-l+c-a,g,r+l-c+a,!1)).length>0)return s;var v=n-u+c,b=r-l+c;if((p=Me(t,e,n,r,v,b,c+a)).length>0&&p[0]<=v&&p[1]<=b)return[p[0],p[1]];var y=n+u-c,m=r-l+c;if((p=Me(t,e,n,r,y,m,c+a)).length>0&&p[0]>=y&&p[1]<=m)return[p[0],p[1]];var w=n+u-c,x=r+l-c;if((p=Me(t,e,n,r,w,x,c+a)).length>0&&p[0]>=w&&p[1]>=x)return[p[0],p[1]];var _=n-u+c,E=r+l-c;return(p=Me(t,e,n,r,_,E,c+a)).length>0&&p[0]<=_&&p[1]>=E?[p[0],p[1]]:[]},ke=function(t,e,n,r,i,o,a){var s=a,c=Math.min(n,i),u=Math.max(n,i),l=Math.min(r,o),h=Math.max(r,o);return c-s<=t&&t<=u+s&&l-s<=e&&e<=h+s},Te=function(t,e,n,r,i,o,a,s,c){var u=Math.min(n,a,i)-c,l=Math.max(n,a,i)+c,h=Math.min(r,s,o)-c,f=Math.max(r,s,o)+c;return!(tl||ef)},Ce=function(t,e,n,r,i,o,a,s){var c,u,l,h,f,d,p,g,v,b,y,m,w,x=[];u=9*n*i-3*n*n-3*n*a-6*i*i+3*i*a+9*r*o-3*r*r-3*r*s-6*o*o+3*o*s,l=3*n*n-6*n*i+n*a-n*t+2*i*i+2*i*t-a*t+3*r*r-6*r*o+r*s-r*e+2*o*o+2*o*e-s*e,h=1*n*i-n*n+n*t-i*t+r*o-r*r+r*e-o*e,0===(c=1*n*n-4*n*i+2*n*a+4*i*i-4*i*a+a*a+r*r-4*r*o+2*r*s+4*o*o-4*o*s+s*s)&&(c=1e-5),g=-27*(h/=c)+(u/=c)*(9*(l/=c)-u*u*2),d=(p=(3*l-u*u)/9)*p*p+(g/=54)*g,(f=x)[1]=0,m=u/3,d>0?(b=(b=g+Math.sqrt(d))<0?-Math.pow(-b,1/3):Math.pow(b,1/3),y=(y=g-Math.sqrt(d))<0?-Math.pow(-y,1/3):Math.pow(y,1/3),f[0]=-m+b+y,m+=(b+y)/2,f[4]=f[2]=-m,m=Math.sqrt(3)*(-y+b)/2,f[3]=m,f[5]=-m):(f[5]=f[3]=0,0===d?(w=g<0?-Math.pow(-g,1/3):Math.pow(g,1/3),f[0]=2*w-m,f[4]=f[2]=-(w+m)):(v=(p=-p)*p*p,v=Math.acos(g/Math.sqrt(v)),w=2*Math.sqrt(p),f[0]=-m+w*Math.cos(v/3),f[2]=-m+w*Math.cos((v+2*Math.PI)/3),f[4]=-m+w*Math.cos((v+4*Math.PI)/3)));for(var _=[],E=0;E<6;E+=2)Math.abs(x[E+1])<1e-7&&x[E]>=0&&x[E]<=1&&_.push(x[E]);_.push(1),_.push(0);for(var k,T,C,N=-1,A=0;A<_.length;A++)k=Math.pow(1-_[A],2)*n+2*(1-_[A])*_[A]*i+_[A]*_[A]*a,T=Math.pow(1-_[A],2)*r+2*(1-_[A])*_[A]*o+_[A]*_[A]*s,C=Math.pow(k-t,2)+Math.pow(T-e,2),N>=0?Cc?(t-i)*(t-i)+(e-o)*(e-o):u-h},Ae=function(t,e,n){for(var r,i,o,a,s=0,c=0;c=t&&t>=o||r<=t&&t<=o))continue;(t-r)/(o-r)*(a-i)+i>e&&s++}return s%2!=0},Se=function(t,e,n,r,i,o,a,s,c){var u,l=new Array(n.length);null!=s[0]?(u=Math.atan(s[1]/s[0]),s[0]<0?u+=Math.PI/2:u=-u-Math.PI/2):u=s;for(var h,f=Math.cos(-u),d=Math.sin(-u),p=0;p0){var g=Le(l,-c);h=Oe(g)}else h=l;return Ae(t,e,h)},Oe=function(t){for(var e,n,r,i,o,a,s,c,u=new Array(t.length/2),l=0;l=0&&p<=1&&v.push(p),g>=0&&g<=1&&v.push(g),0===v.length)return[];var b=v[0]*s[0]+t,y=v[0]*s[1]+e;return v.length>1?v[0]==v[1]?[b,y]:[b,y,v[1]*s[0]+t,v[1]*s[1]+e]:[b,y]},Pe=function(t,e,n){return e<=t&&t<=n||n<=t&&t<=e?t:t<=e&&e<=n||n<=e&&e<=t?e:n},De=function(t,e,n,r,i,o,a,s,c){var u=t-i,l=n-t,h=a-i,f=e-o,d=r-e,p=s-o,g=h*f-p*u,v=l*f-d*u,b=p*l-h*d;if(0!==b){var y=g/b,m=v/b,w=-.001;return w<=y&&y<=1.001&&w<=m&&m<=1.001||c?[t+y*l,e+y*d]:[]}return 0===g||0===v?Pe(t,n,a)===a?[a,s]:Pe(t,n,i)===i?[i,o]:Pe(i,a,n)===n?[n,r]:[]:[]},Re=function(t,e,n,r,i,o,a,s){var c,u,l,h,f,d,p=[],g=new Array(n.length),v=!0;if(null==o&&(v=!1),v){for(var b=0;b0){var y=Le(g,-s);u=Oe(y)}else u=g}else u=n;for(var m=0;mu&&(u=e)},f=function(t){return c[t]},d=0;d0?x.edgesTo(w)[0]:w.edgesTo(x)[0];var _=r(m);w=w.id(),d[w]>d[b]+_&&(d[w]=d[b]+_,p.nodes.indexOf(w)<0?p.push(w):p.updateItem(w),u[w]=0,c[w]=[]),d[w]==d[b]+_&&(u[w]=u[w]+u[b],c[w].push(b))}else for(var E=0;E0;){for(var N=n.pop(),A=0;A0&&a.push(n[s]);0!==a.length&&i.push(r.collection(a))}return i}(l,c,e,r);return m=function(t){for(var e=0;e5&&void 0!==arguments[5]?arguments[5]:un,a=r,s=0;s=2?gn(t,e,n,0,fn,dn):gn(t,e,n,0,hn)},squaredEuclidean:function(t,e,n){return gn(t,e,n,0,fn)},manhattan:function(t,e,n){return gn(t,e,n,0,hn)},max:function(t,e,n){return gn(t,e,n,-1/0,pn)}};function bn(t,e,n,r,i,o){var a;return a=S(t)?t:vn[t]||vn.euclidean,0===e&&S(t)?a(i,o):a(e,n,r,i,o)}vn["squared-euclidean"]=vn.squaredEuclidean,vn.squaredeuclidean=vn.squaredEuclidean;var yn=It({k:2,m:2,sensitivityThreshold:1e-4,distance:"euclidean",maxIterations:10,attributes:[],testMode:!1,testCentroids:null}),mn=function(t){return yn(t)},wn=function(t,e,n,r,i){var o="kMedoids"!==i?function(t){return n[t]}:function(t){return r[t](n)},a=n,s=e;return bn(t,r.length,o,(function(t){return r[t](e)}),a,s)},xn=function(t,e,n){for(var r=n.length,i=new Array(r),o=new Array(r),a=new Array(e),s=null,c=0;cn)return!1;return!0},Tn=function(t,e,n){for(var r=0;ri&&(i=e[c][u],o=u);a[o].push(t[c])}for(var l=0;l=i.threshold||"dendrogram"===i.mode&&1===t.length)return!1;var d,p=e[a],g=e[r[a]];d="dendrogram"===i.mode?{left:p,right:g,key:p.key}:{value:p.value.concat(g.value),key:p.key},t[p.index]=d,t.splice(g.index,1),e[p.key]=d;for(var v=0;vn[g.key][b.key]&&(o=n[g.key][b.key])):"max"===i.linkage?(o=n[p.key][b.key],n[p.key][b.key]a&&(o=c,a=e[i*t+c])}o>0&&r.push(o)}for(var u=0;u1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t.length,r=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],i=!(arguments.length>5&&void 0!==arguments[5])||arguments[5];arguments.length>3&&void 0!==arguments[3]&&!arguments[3]?(n0&&t.splice(0,e)):t=t.slice(e,n);for(var o=0,a=t.length-1;a>=0;a--){var s=t[a];i?isFinite(s)||(t[a]=-1/0,o++):t.splice(a,1)}r&&t.sort((function(t,e){return t-e}));var c=t.length,u=Math.floor(c/2);return c%2!=0?t[u+1+o]:(t[u-1+o]+t[u+o])/2}(t):"mean"===e?function(t){for(var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t.length,r=0,i=0,o=e;o1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t.length,r=1/0,i=e;i1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t.length,r=-1/0,i=e;i=C?(N=C,C=S,A=O):S>N&&(N=S);for(var L=0;L0?1:0;E[_%u.minIterations*e+G]=B,j+=B}if(j>0&&(_>=u.minIterations-1||_==u.maxIterations-1)){for(var F=0,H=0;H0&&r.push(i);return r}(e,o,a),U=function(t,e,n){for(var r=Yn(t,e,n),i=0;ic&&(s=u,c=l)}n[i]=o[s]}return Yn(t,e,n)}(e,r,z),V={},q=0;q1)}}));var c=Object.keys(e).filter((function(t){return e[t].cutVertex})).map((function(e){return t.getElementById(e)}));return{cut:t.spawn(c),components:i}},Xn=function(){var t=this,e={},n=0,r=[],i=[],o=t.spawn(t),a=function a(s){if(i.push(s),e[s]={index:n,low:n++,explored:!1},t.getElementById(s).connectedEdges().intersection(t).forEach((function(t){var n=t.target().id();n!==s&&(n in e||a(n),e[n].explored||(e[s].low=Math.min(e[s].low,e[n].low)))})),e[s].index===e[s].low){for(var c=t.spawn();;){var u=i.pop();if(c.merge(t.getElementById(u)),e[u].low=e[s].index,e[u].explored=!0,u===s)break}var l=c.edgesWith(c),h=c.merge(l);r.push(h),o=o.difference(h)}};return t.forEach((function(t){if(t.isNode()){var n=t.id();n in e||a(n)}})),{cut:o,components:r}},Wn={};[Yt,Ut,Vt,Xt,$t,Kt,ee,Ve,Xe,$e,Ke,cn,Ln,Bn,Un,{hierholzer:function(t){if(!L(t)){var e=arguments;t={root:e[0],directed:e[1]}}var n,r,i,o=Vn(t),a=o.root,s=o.directed,c=this,u=!1;a&&(i=A(a)?this.filter(a)[0].id():a[0].id());var l={},h={};s?c.forEach((function(t){var e=t.id();if(t.isNode()){var i=t.indegree(!0),o=t.outdegree(!0),a=i-o,s=o-i;1==a?n?u=!0:n=e:1==s?r?u=!0:r=e:(s>1||a>1)&&(u=!0),l[e]=[],t.outgoers().forEach((function(t){t.isEdge()&&l[e].push(t.id())}))}else h[e]=[void 0,t.target().id()]})):c.forEach((function(t){var e=t.id();t.isNode()?(t.degree(!0)%2&&(n?r?u=!0:r=e:n=e),l[e]=[],t.connectedEdges().forEach((function(t){return l[e].push(t.id())}))):h[e]=[t.source().id(),t.target().id()]}));var f={found:!1,trail:void 0};if(u)return f;if(r&&n)if(s){if(i&&r!=i)return f;i=r}else{if(i&&r!=i&&n!=i)return f;i||(i=r)}else i||(i=c[0].id());var d=function(t){for(var e,n,r,i=t,o=[t];l[i].length;)e=l[i].shift(),n=h[e][0],i!=(r=h[e][1])?(l[r]=l[r].filter((function(t){return t!=e})),i=r):s||i==n||(l[n]=l[n].filter((function(t){return t!=e})),i=n),o.unshift(e),o.unshift(i);return o},p=[],g=[];for(g=d(i);1!=g.length;)0==l[g[0]].length?(p.unshift(c.getElementById(g.shift())),p.unshift(c.getElementById(g.shift()))):g=d(g.shift()).concat(g);for(var v in p.unshift(c.getElementById(g.shift())),l)if(l[v].length)return f;return f.found=!0,f.trail=this.spawn(p,!0),f}},{hopcroftTarjanBiconnected:qn,htbc:qn,htb:qn,hopcroftTarjanBiconnectedComponents:qn},{tarjanStronglyConnected:Xn,tsc:Xn,tscc:Xn,tarjanStronglyConnectedComponents:Xn}].forEach((function(t){Q(Wn,t)}));var $n=function t(e){if(!(this instanceof t))return new t(e);this.id="Thenable/1.0.7",this.state=0,this.fulfillValue=void 0,this.rejectReason=void 0,this.onFulfilled=[],this.onRejected=[],this.proxy={then:this.then.bind(this)},"function"==typeof e&&e.call(this,this.fulfill.bind(this),this.reject.bind(this))};$n.prototype={fulfill:function(t){return Zn(this,1,"fulfillValue",t)},reject:function(t){return Zn(this,2,"rejectReason",t)},then:function(t,e){var n=this,r=new $n;return n.onFulfilled.push(Jn(t,r,"fulfill")),n.onRejected.push(Jn(e,r,"reject")),Kn(n),r.proxy}};var Zn=function(t,e,n,r){return 0===t.state&&(t.state=e,t[n]=r,Kn(t)),t},Kn=function(t){1===t.state?Qn(t,"onFulfilled",t.fulfillValue):2===t.state&&Qn(t,"onRejected",t.rejectReason)},Qn=function(t,e,n){if(0!==t[e].length){var r=t[e];t[e]=[];var i=function(){for(var t=0;t0:void 0}},clearQueue:function(){return function(){var t=this,e=void 0!==t.length?t:[t];if(!(this._private.cy||this).styleEnabled())return this;for(var n=0;n0&&this.spawn(r).updateStyle().emit("class"),e},addClass:function(t){return this.toggleClass(t,!0)},hasClass:function(t){var e=this[0];return null!=e&&e._private.classes.has(t)},toggleClass:function(t,e){O(t)||(t=t.match(/\S+/g)||[]);for(var n=this,r=void 0===e,i=[],o=0,a=n.length;o0&&this.spawn(i).updateStyle().emit("class"),n},removeClass:function(t){return this.toggleClass(t,!1)},flashClass:function(t,e){var n=this;if(null==e)e=250;else if(0===e)return n;return n.addClass(t),setTimeout((function(){n.removeClass(t)}),e),n}};ur.className=ur.classNames=ur.classes;var lr={metaChar:"[\\!\\\"\\#\\$\\%\\&\\'\\(\\)\\*\\+\\,\\.\\/\\:\\;\\<\\=\\>\\?\\@\\[\\]\\^\\`\\{\\|\\}\\~]",comparatorOp:"=|\\!=|>|>=|<|<=|\\$=|\\^=|\\*=",boolOp:"\\?|\\!|\\^",string:"\"(?:\\\\\"|[^\"])*\"|'(?:\\\\'|[^'])*'",number:q,meta:"degree|indegree|outdegree",separator:"\\s*,\\s*",descendant:"\\s+",child:"\\s+>\\s+",subject:"\\$",group:"node|edge|\\*",directedEdge:"\\s+->\\s+",undirectedEdge:"\\s+<->\\s+"};lr.variable="(?:[\\w-.]|(?:\\\\"+lr.metaChar+"))+",lr.className="(?:[\\w-]|(?:\\\\"+lr.metaChar+"))+",lr.value=lr.string+"|"+lr.number,lr.id=lr.variable,function(){var t,e,n;for(t=lr.comparatorOp.split("|"),n=0;n=0||"="!==e&&(lr.comparatorOp+="|\\!"+e)}();var hr=20,fr=[{selector:":selected",matches:function(t){return t.selected()}},{selector:":unselected",matches:function(t){return!t.selected()}},{selector:":selectable",matches:function(t){return t.selectable()}},{selector:":unselectable",matches:function(t){return!t.selectable()}},{selector:":locked",matches:function(t){return t.locked()}},{selector:":unlocked",matches:function(t){return!t.locked()}},{selector:":visible",matches:function(t){return t.visible()}},{selector:":hidden",matches:function(t){return!t.visible()}},{selector:":transparent",matches:function(t){return t.transparent()}},{selector:":grabbed",matches:function(t){return t.grabbed()}},{selector:":free",matches:function(t){return!t.grabbed()}},{selector:":removed",matches:function(t){return t.removed()}},{selector:":inside",matches:function(t){return!t.removed()}},{selector:":grabbable",matches:function(t){return t.grabbable()}},{selector:":ungrabbable",matches:function(t){return!t.grabbable()}},{selector:":animated",matches:function(t){return t.animated()}},{selector:":unanimated",matches:function(t){return!t.animated()}},{selector:":parent",matches:function(t){return t.isParent()}},{selector:":childless",matches:function(t){return t.isChildless()}},{selector:":child",matches:function(t){return t.isChild()}},{selector:":orphan",matches:function(t){return t.isOrphan()}},{selector:":nonorphan",matches:function(t){return t.isChild()}},{selector:":compound",matches:function(t){return t.isNode()?t.isParent():t.source().isParent()||t.target().isParent()}},{selector:":loop",matches:function(t){return t.isLoop()}},{selector:":simple",matches:function(t){return t.isSimple()}},{selector:":active",matches:function(t){return t.active()}},{selector:":inactive",matches:function(t){return!t.active()}},{selector:":backgrounding",matches:function(t){return t.backgrounding()}},{selector:":nonbackgrounding",matches:function(t){return!t.backgrounding()}}].sort((function(t,e){return function(t,e){return-1*K(t,e)}(t.selector,e.selector)})),dr=function(){for(var t,e={},n=0;n0&&u.edgeCount>0)return Nt("The selector `"+t+"` is invalid because it uses both a compound selector and an edge selector"),!1;if(u.edgeCount>1)return Nt("The selector `"+t+"` is invalid because it uses multiple edge selectors"),!1;1===u.edgeCount&&Nt("The selector `"+t+"` is deprecated. Edge selectors do not take effect on changes to source and target nodes after an edge is added, for performance reasons. Use a class or data selector on edges instead, updating the class or data of an edge when your app detects a change in source or target nodes.")}return!0},toString:function(){if(null!=this.toStringCache)return this.toStringCache;for(var t=function(t){return null==t?"":t},e=function(e){return A(e)?'"'+e+'"':t(e)},n=function(t){return" "+t+" "},r=function(i,o){return i.checks.reduce((function(a,s,c){return a+(o===i&&0===c?"$":"")+function(i,o){var a=i.type,s=i.value;switch(a){case 0:var c=t(s);return c.substring(0,c.length-1);case 3:var u=i.field,l=i.operator;return"["+u+n(t(l))+e(s)+"]";case 5:var h=i.operator,f=i.field;return"["+t(h)+f+"]";case 4:return"["+i.field+"]";case 6:var d=i.operator;return"[["+i.field+n(t(d))+e(s)+"]]";case 7:return s;case 8:return"#"+s;case 9:return"."+s;case 17:case 15:return r(i.parent,o)+n(">")+r(i.child,o);case 18:case 16:return r(i.ancestor,o)+" "+r(i.descendant,o);case 19:var p=r(i.left,o),g=r(i.subject,o),v=r(i.right,o);return p+(p.length>0?" ":"")+g+v;case hr:return""}}(s,o)}),"")},i="",o=0;o1&&o=0&&(e=e.replace("!",""),l=!0),e.indexOf("@")>=0&&(e=e.replace("@",""),u=!0),(a||c||u)&&(i=a||s?""+t:"",o=""+n),u&&(t=i=i.toLowerCase(),n=o=o.toLowerCase()),e){case"*=":r=i.indexOf(o)>=0;break;case"$=":r=i.indexOf(o,i.length-o.length)>=0;break;case"^=":r=0===i.indexOf(o);break;case"=":r=t===n;break;case">":h=!0,r=t>n;break;case">=":h=!0,r=t>=n;break;case"<":h=!0,r=t0;){var u=i.shift();e(u),o.add(u.id()),a&&r(i,o,u)}return t}function Mr(t,e,n){if(n.isParent())for(var r=n._private.children,i=0;i1&&void 0!==arguments[1])||arguments[1],Mr)},Lr.forEachUp=function(t){return Ir(this,t,!(arguments.length>1&&void 0!==arguments[1])||arguments[1],Pr)},Lr.forEachUpAndDown=function(t){return Ir(this,t,!(arguments.length>1&&void 0!==arguments[1])||arguments[1],Dr)},Lr.ancestors=Lr.parents,(Ar=Sr={data:sr.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),removeData:sr.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),scratch:sr.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:sr.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),rscratch:sr.data({field:"rscratch",allowBinding:!1,allowSetting:!0,settingTriggersEvent:!1,allowGetting:!0}),removeRscratch:sr.removeData({field:"rscratch",triggerEvent:!1}),id:function(){var t=this[0];if(t)return t._private.data.id}}).attr=Ar.data,Ar.removeAttr=Ar.removeData;var Rr,jr,Gr=Sr,Br={};function Fr(t){return function(e){var n=this;if(void 0===e&&(e=!0),0!==n.length&&n.isNode()&&!n.removed()){for(var r=0,i=n[0],o=i._private.edges,a=0;ae})),minIndegree:Hr("indegree",(function(t,e){return te})),minOutdegree:Hr("outdegree",(function(t,e){return te}))}),Q(Br,{totalDegree:function(t){for(var e=0,n=this.nodes(),r=0;r0,l=u;u&&(c=c[0]);var h=l?c.position():{x:0,y:0};return i={x:s.x-h.x,y:s.y-h.y},void 0===t?i:i[t]}for(var f=0;f0,v=g;g&&(p=p[0]);var b=v?p.position():{x:0,y:0};void 0!==e?d.position(t,e+b[t]):void 0!==i&&d.position({x:i.x+b.x,y:i.y+b.y})}}else if(!o)return;return this}},Rr.modelPosition=Rr.point=Rr.position,Rr.modelPositions=Rr.points=Rr.positions,Rr.renderedPoint=Rr.renderedPosition,Rr.relativePoint=Rr.relativePosition;var Ur,Vr,qr=jr;Ur=Vr={},Vr.renderedBoundingBox=function(t){var e=this.boundingBox(t),n=this.cy(),r=n.zoom(),i=n.pan(),o=e.x1*r+i.x,a=e.x2*r+i.x,s=e.y1*r+i.y,c=e.y2*r+i.y;return{x1:o,x2:a,y1:s,y2:c,w:a-o,h:c-s}},Vr.dirtyCompoundBoundsCache=function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0],e=this.cy();return e.styleEnabled()&&e.hasCompoundNodes()?(this.forEachUp((function(e){if(e.isParent()){var n=e._private;n.compoundBoundsClean=!1,n.bbCache=null,t||e.emitAndNotify("bounds")}})),this):this},Vr.updateCompoundBounds=function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0],e=this.cy();if(!e.styleEnabled()||!e.hasCompoundNodes())return this;if(!t&&e.batching())return this;function n(t){if(t.isParent()){var e=t._private,n=t.children(),r="include"===t.pstyle("compound-sizing-wrt-labels").value,i={width:{val:t.pstyle("min-width").pfValue,left:t.pstyle("min-width-bias-left"),right:t.pstyle("min-width-bias-right")},height:{val:t.pstyle("min-height").pfValue,top:t.pstyle("min-height-bias-top"),bottom:t.pstyle("min-height-bias-bottom")}},o=n.boundingBox({includeLabels:r,includeOverlays:!1,useCache:!1}),a=e.position;0!==o.w&&0!==o.h||((o={w:t.pstyle("width").pfValue,h:t.pstyle("height").pfValue}).x1=a.x-o.w/2,o.x2=a.x+o.w/2,o.y1=a.y-o.h/2,o.y2=a.y+o.h/2);var s=i.width.left.value;"px"===i.width.left.units&&i.width.val>0&&(s=100*s/i.width.val);var c=i.width.right.value;"px"===i.width.right.units&&i.width.val>0&&(c=100*c/i.width.val);var u=i.height.top.value;"px"===i.height.top.units&&i.height.val>0&&(u=100*u/i.height.val);var l=i.height.bottom.value;"px"===i.height.bottom.units&&i.height.val>0&&(l=100*l/i.height.val);var h=b(i.width.val-o.w,s,c),f=h.biasDiff,d=h.biasComplementDiff,p=b(i.height.val-o.h,u,l),g=p.biasDiff,v=p.biasComplementDiff;e.autoPadding=function(t,e,n,r){if("%"!==n.units)return"px"===n.units?n.pfValue:0;switch(r){case"width":return t>0?n.pfValue*t:0;case"height":return e>0?n.pfValue*e:0;case"average":return t>0&&e>0?n.pfValue*(t+e)/2:0;case"min":return t>0&&e>0?t>e?n.pfValue*e:n.pfValue*t:0;case"max":return t>0&&e>0?t>e?n.pfValue*t:n.pfValue*e:0;default:return 0}}(o.w,o.h,t.pstyle("padding"),t.pstyle("padding-relative-to").value),e.autoWidth=Math.max(o.w,i.width.val),a.x=(-f+o.x1+o.x2+d)/2,e.autoHeight=Math.max(o.h,i.height.val),a.y=(-g+o.y1+o.y2+v)/2}function b(t,e,n){var r=0,i=0,o=e+n;return t>0&&o>0&&(r=e/o*t,i=n/o*t),{biasDiff:r,biasComplementDiff:i}}}for(var r=0;rt.x2?r:t.x2,t.y1=nt.y2?i:t.y2,t.w=t.x2-t.x1,t.h=t.y2-t.y1)},$r=function(t,e){return null==e?t:Wr(t,e.x1,e.y1,e.x2,e.y2)},Zr=function(t,e,n){return Dt(t,e,n)},Kr=function(t,e,n){if(!e.cy().headless()){var r,i,o=e._private,a=o.rstyle,s=a.arrowWidth/2;if("none"!==e.pstyle(n+"-arrow-shape").value){"source"===n?(r=a.srcX,i=a.srcY):"target"===n?(r=a.tgtX,i=a.tgtY):(r=a.midX,i=a.midY);var c=o.arrowBounds=o.arrowBounds||{},u=c[n]=c[n]||{};u.x1=r-s,u.y1=i-s,u.x2=r+s,u.y2=i+s,u.w=u.x2-u.x1,u.h=u.y2-u.y1,be(u,1),Wr(t,u.x1,u.y1,u.x2,u.y2)}}},Qr=function(t,e,n){if(!e.cy().headless()){var r;r=n?n+"-":"";var i=e._private,o=i.rstyle;if(e.pstyle(r+"label").strValue){var a,s,c,u,l=e.pstyle("text-halign"),h=e.pstyle("text-valign"),f=Zr(o,"labelWidth",n),d=Zr(o,"labelHeight",n),p=Zr(o,"labelX",n),g=Zr(o,"labelY",n),v=e.pstyle(r+"text-margin-x").pfValue,b=e.pstyle(r+"text-margin-y").pfValue,y=e.isEdge(),m=e.pstyle(r+"text-rotation"),w=e.pstyle("text-outline-width").pfValue,x=e.pstyle("text-border-width").pfValue/2,_=e.pstyle("text-background-padding").pfValue,E=d,k=f,T=k/2,C=E/2;if(y)a=p-T,s=p+T,c=g-C,u=g+C;else{switch(l.value){case"left":a=p-k,s=p;break;case"center":a=p-T,s=p+T;break;case"right":a=p,s=p+k}switch(h.value){case"top":c=g-E,u=g;break;case"center":c=g-C,u=g+C;break;case"bottom":c=g,u=g+E}}a+=v-Math.max(w,x)-_-2,s+=v+Math.max(w,x)+_+2,c+=b-Math.max(w,x)-_-2,u+=b+Math.max(w,x)+_+2;var N=n||"main",A=i.labelBounds,S=A[N]=A[N]||{};S.x1=a,S.y1=c,S.x2=s,S.y2=u,S.w=s-a,S.h=u-c;var O=y&&"autorotate"===m.strValue,L=null!=m.pfValue&&0!==m.pfValue;if(O||L){var I=O?Zr(i.rstyle,"labelAngle",n):m.pfValue,M=Math.cos(I),P=Math.sin(I),D=(a+s)/2,R=(c+u)/2;if(!y){switch(l.value){case"left":D=s;break;case"right":D=a}switch(h.value){case"top":R=u;break;case"bottom":R=c}}var j=function(t,e){return{x:(t-=D)*M-(e-=R)*P+D,y:t*P+e*M+R}},G=j(a,c),B=j(a,u),F=j(s,c),H=j(s,u);a=Math.min(G.x,B.x,F.x,H.x),s=Math.max(G.x,B.x,F.x,H.x),c=Math.min(G.y,B.y,F.y,H.y),u=Math.max(G.y,B.y,F.y,H.y)}var Y=N+"Rot",z=A[Y]=A[Y]||{};z.x1=a,z.y1=c,z.x2=s,z.y2=u,z.w=s-a,z.h=u-c,Wr(t,a,c,s,u),Wr(i.labelBounds.all,a,c,s,u)}return t}},Jr=function(t){var e=0,n=function(t){return(t?1:0)<0&&o>0){var a=e.pstyle("outline-offset").value,s=e.pstyle("shape").value,c=o+a,u=(t.w+2*c)/t.w,l=(t.h+2*c)/t.h,h=0;["diamond","pentagon","round-triangle"].includes(s)?(u=(t.w+2.4*c)/t.w,h=-c/3.6):["concave-hexagon","rhomboid","right-rhomboid"].includes(s)?u=(t.w+2.4*c)/t.w:"star"===s?(u=(t.w+2.8*c)/t.w,l=(t.h+2.6*c)/t.h,h=-c/3.8):"triangle"===s?(u=(t.w+2.8*c)/t.w,l=(t.h+2.4*c)/t.h,h=-c/1.4):"vee"===s&&(u=(t.w+4.4*c)/t.w,l=(t.h+3.8*c)/t.h,h=.5*-c);var f=t.h*l-t.h,d=t.w*u-t.w;if(ye(t,[Math.ceil(f/2),Math.ceil(d/2)]),0!==h){var p=(r=h,{x1:(n=t).x1+0,x2:n.x2+0,y1:n.y1+r,y2:n.y2+r,w:n.w,h:n.h});ge(t,p)}}}}(f,t)}else if(g&&e.includeEdges)if(l&&!h){var N=t.pstyle("curve-style").strValue;if(n=Math.min(v.srcX,v.midX,v.tgtX),r=Math.max(v.srcX,v.midX,v.tgtX),i=Math.min(v.srcY,v.midY,v.tgtY),o=Math.max(v.srcY,v.midY,v.tgtY),Wr(f,n-=E,i-=E,r+=E,o+=E),"haystack"===N){var A=v.haystackPts;if(A&&2===A.length){if(n=A[0].x,i=A[0].y,n>(r=A[1].x)){var S=n;n=r,r=S}if(i>(o=A[1].y)){var O=i;i=o,o=O}Wr(f,n-E,i-E,r+E,o+E)}}else if("bezier"===N||"unbundled-bezier"===N||"segments"===N||"taxi"===N){var L;switch(N){case"bezier":case"unbundled-bezier":L=v.bezierPts;break;case"segments":case"taxi":L=v.linePts}if(null!=L)for(var I=0;I(r=D.x)){var R=n;n=r,r=R}if((i=P.y)>(o=D.y)){var j=i;i=o,o=j}Wr(f,n-=E,i-=E,r+=E,o+=E)}if(l&&e.includeEdges&&g&&(Kr(f,t,"mid-source"),Kr(f,t,"mid-target"),Kr(f,t,"source"),Kr(f,t,"target")),l&&"yes"===t.pstyle("ghost").value){var G=t.pstyle("ghost-offset-x").pfValue,B=t.pstyle("ghost-offset-y").pfValue;Wr(f,f.x1+G,f.y1+B,f.x2+G,f.y2+B)}var F=d.bodyBounds=d.bodyBounds||{};me(F,f),ye(F,b),be(F,1),l&&(n=f.x1,r=f.x2,i=f.y1,o=f.y2,Wr(f,n-_,i-_,r+_,o+_));var H=d.overlayBounds=d.overlayBounds||{};me(H,f),ye(H,b),be(H,1);var Y=d.labelBounds=d.labelBounds||{};null!=Y.all?((c=Y.all).x1=1/0,c.y1=1/0,c.x2=-1/0,c.y2=-1/0,c.w=0,c.h=0):Y.all=pe(),l&&e.includeLabels&&(e.includeMainLabels&&Qr(f,t,null),g&&(e.includeSourceLabels&&Qr(f,t,"source"),e.includeTargetLabels&&Qr(f,t,"target")))}return f.x1=Xr(f.x1),f.y1=Xr(f.y1),f.x2=Xr(f.x2),f.y2=Xr(f.y2),f.w=Xr(f.x2-f.x1),f.h=Xr(f.y2-f.y1),f.w>0&&f.h>0&&m&&(ye(f,b),be(f,1)),f}(t,ni),r.bbCache=n,r.bbCachePosKey=a):n=r.bbCache,!o){var l=t.isNode();n=pe(),(e.includeNodes&&l||e.includeEdges&&!l)&&(e.includeOverlays?$r(n,r.overlayBounds):$r(n,r.bodyBounds)),e.includeLabels&&(e.includeMainLabels&&(!i||e.includeSourceLabels&&e.includeTargetLabels)?$r(n,r.labelBounds.all):(e.includeMainLabels&&$r(n,r.labelBounds.mainRot),e.includeSourceLabels&&$r(n,r.labelBounds.sourceRot),e.includeTargetLabels&&$r(n,r.labelBounds.targetRot))),n.w=n.x2-n.x1,n.h=n.y2-n.y1}return n},ni={includeNodes:!0,includeEdges:!0,includeLabels:!0,includeMainLabels:!0,includeSourceLabels:!0,includeTargetLabels:!0,includeOverlays:!0,includeUnderlays:!0,includeOutlines:!0,useCache:!0},ri=Jr(ni),ii=It(ni);Vr.boundingBox=function(t){var e;if(1!==this.length||null==this[0]._private.bbCache||this[0]._private.styleDirty||void 0!==t&&void 0!==t.useCache&&!0!==t.useCache){e=pe();var n=ii(t=t||ni),r=this;if(r.cy().styleEnabled())for(var i=0;i0&&void 0!==arguments[0]?arguments[0]:mi,e=arguments.length>1?arguments[1]:void 0,n=0;n=0;s--)a(s);return this},xi.removeAllListeners=function(){return this.removeListener("*")},xi.emit=xi.trigger=function(t,e,n){var r=this.listeners,i=r.length;return this.emitting++,O(e)||(e=[e]),function(t,e,n){if("event"!==N(n))if(L(n))e(t,Ei(t,n));else for(var r=O(n)?n:n.split(/\s+/),i=0;i1&&!r){var i=this.length-1,o=this[i],a=o._private.data.id;this[i]=void 0,this[t]=o,n.set(a,{ele:o,index:t})}return this.length--,this},unmergeOne:function(t){t=t[0];var e=this._private,n=t._private.data.id,r=e.map.get(n);if(!r)return this;var i=r.index;return this.unmergeAt(i),this},unmerge:function(t){var e=this._private.cy;if(!t)return this;if(t&&A(t)){var n=t;t=e.mutableElements().filter(n)}for(var r=0;r=0;e--)t(this[e])&&this.unmergeAt(e);return this},map:function(t,e){for(var n=[],r=this,i=0;ir&&(r=s,n=a)}return{value:r,ele:n}},min:function(t,e){for(var n,r=1/0,i=this,o=0;o=0&&i1&&void 0!==arguments[1])||arguments[1],n=this[0],r=n.cy();if(r.styleEnabled()&&n){this.cleanStyle();var i=n._private.style[t];return null!=i?i:e?r.style().getDefaultProperty(t):null}},numericStyle:function(t){var e=this[0];if(e.cy().styleEnabled()&&e){var n=e.pstyle(t);return void 0!==n.pfValue?n.pfValue:n.value}},numericStyleUnits:function(t){var e=this[0];if(e.cy().styleEnabled())return e?e.pstyle(t).units:void 0},renderedStyle:function(t){var e=this.cy();if(!e.styleEnabled())return this;var n=this[0];return n?e.style().getRenderedStyle(n,t):void 0},style:function(t,e){var n=this.cy();if(!n.styleEnabled())return this;var r=n.style();if(L(t)){var i=t;r.applyBypass(this,i,!1),this.emitAndNotify("style")}else if(A(t)){if(void 0===e){var o=this[0];return o?r.getStylePropertyValue(o,t):void 0}r.applyBypass(this,t,e,!1),this.emitAndNotify("style")}else if(void 0===t){var a=this[0];return a?r.getRawStyle(a):void 0}return this},removeStyle:function(t){var e=this.cy();if(!e.styleEnabled())return this;var n=e.style(),r=this;if(void 0===t)for(var i=0;i0&&e.push(l[0]),e.push(s[0])}return this.spawn(e,!0).filter(t)}),"neighborhood"),closedNeighborhood:function(t){return this.neighborhood().add(this).filter(t)},openNeighborhood:function(t){return this.neighborhood(t)}}),Wi.neighbourhood=Wi.neighborhood,Wi.closedNeighbourhood=Wi.closedNeighborhood,Wi.openNeighbourhood=Wi.openNeighborhood,Q(Wi,{source:Or((function(t){var e,n=this[0];return n&&(e=n._private.source||n.cy().collection()),e&&t?e.filter(t):e}),"source"),target:Or((function(t){var e,n=this[0];return n&&(e=n._private.target||n.cy().collection()),e&&t?e.filter(t):e}),"target"),sources:Qi({attr:"source"}),targets:Qi({attr:"target"})}),Q(Wi,{edgesWith:Or(Ji(),"edgesWith"),edgesTo:Or(Ji({thisIsSrc:!0}),"edgesTo")}),Q(Wi,{connectedEdges:Or((function(t){for(var e=[],n=0;n0);return o},component:function(){var t=this[0];return t.cy().mutableElements().components(t)[0]}}),Wi.componentsOf=Wi.components;var eo=function(t,e){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(void 0!==t){var i=new jt,o=!1;if(e){if(e.length>0&&L(e[0])&&!D(e[0])){o=!0;for(var a=[],s=new Bt,c=0,u=e.length;c0&&void 0!==arguments[0])||arguments[0],r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=this,o=i.cy(),a=o._private,s=[],c=[],u=0,l=i.length;u0){for(var R=t.length===i.length?i:new eo(o,t),j=0;j0&&void 0!==arguments[0])||arguments[0],e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=this,r=[],i={},o=n._private.cy;function a(t){var n=i[t.id()];e&&t.removed()||n||(i[t.id()]=!0,t.isNode()?(r.push(t),function(t){for(var e=t._private.edges,n=0;n0&&(t?E.emitAndNotify("remove"):e&&E.emit("remove"));for(var k=0;k=.001?function(e,r){for(var i=0;i<4;++i){var o=f(r,t,n);if(0===o)return r;r-=(h(r,t,n)-e)/o}return r}(e,a):0===c?a:function(e,r,i){var o,a,s=0;do{(o=h(a=r+(i-r)/2,t,n)-e)>0?i=a:r=a}while(Math.abs(o)>1e-7&&++s<10);return a}(e,r,r+i)}(o),e,r)};p.getControlPoints=function(){return[{x:t,y:e},{x:n,y:r}]};var g="generateBezier("+[t,e,n,r]+")";return p.toString=function(){return g},p}var oo=function(){function t(t){return-t.tension*t.x-t.friction*t.v}function e(e,n,r){var i={x:e.x+r.dx*n,v:e.v+r.dv*n,tension:e.tension,friction:e.friction};return{dx:i.v,dv:t(i)}}function n(n,r){var i={dx:n.v,dv:t(n)},o=e(n,.5*r,i),a=e(n,.5*r,o),s=e(n,r,a),c=1/6*(i.dx+2*(o.dx+a.dx)+s.dx),u=1/6*(i.dv+2*(o.dv+a.dv)+s.dv);return n.x=n.x+c*r,n.v=n.v+u*r,n}return function t(e,r,i){var o,a,s,c={x:-1,v:0,tension:null,friction:null},u=[0],l=0,h=1e-4;for(e=parseFloat(e)||500,r=parseFloat(r)||20,i=i||null,c.tension=e,c.friction=r,a=(o=null!==i)?(l=t(e,r))/i*.016:.016;s=n(s||c,a),u.push(1+s.x),l+=16,Math.abs(s.x)>h&&Math.abs(s.v)>h;);return o?function(t){return u[t*(u.length-1)|0]}:l}}(),ao=function(t,e,n,r){var i=io(t,e,n,r);return function(t,e,n){return t+(e-t)*i(n)}},so={linear:function(t,e,n){return t+(e-t)*n},ease:ao(.25,.1,.25,1),"ease-in":ao(.42,0,1,1),"ease-out":ao(0,0,.58,1),"ease-in-out":ao(.42,0,.58,1),"ease-in-sine":ao(.47,0,.745,.715),"ease-out-sine":ao(.39,.575,.565,1),"ease-in-out-sine":ao(.445,.05,.55,.95),"ease-in-quad":ao(.55,.085,.68,.53),"ease-out-quad":ao(.25,.46,.45,.94),"ease-in-out-quad":ao(.455,.03,.515,.955),"ease-in-cubic":ao(.55,.055,.675,.19),"ease-out-cubic":ao(.215,.61,.355,1),"ease-in-out-cubic":ao(.645,.045,.355,1),"ease-in-quart":ao(.895,.03,.685,.22),"ease-out-quart":ao(.165,.84,.44,1),"ease-in-out-quart":ao(.77,0,.175,1),"ease-in-quint":ao(.755,.05,.855,.06),"ease-out-quint":ao(.23,1,.32,1),"ease-in-out-quint":ao(.86,0,.07,1),"ease-in-expo":ao(.95,.05,.795,.035),"ease-out-expo":ao(.19,1,.22,1),"ease-in-out-expo":ao(1,0,0,1),"ease-in-circ":ao(.6,.04,.98,.335),"ease-out-circ":ao(.075,.82,.165,1),"ease-in-out-circ":ao(.785,.135,.15,.86),spring:function(t,e,n){if(0===n)return so.linear;var r=oo(t,e,n);return function(t,e,n){return t+(e-t)*r(n)}},"cubic-bezier":ao};function co(t,e,n,r,i){if(1===r)return n;if(e===n)return n;var o=i(e,n,r);return null==t||((t.roundValue||t.color)&&(o=Math.round(o)),void 0!==t.min&&(o=Math.max(o,t.min)),void 0!==t.max&&(o=Math.min(o,t.max))),o}function uo(t,e){return null!=t.pfValue||null!=t.value?null==t.pfValue||null!=e&&"%"===e.type.units?t.value:t.pfValue:t}function lo(t,e,n,r,i){var o=null!=i?i.type:null;n<0?n=0:n>1&&(n=1);var a=uo(t,i),s=uo(e,i);if(I(a)&&I(s))return co(o,a,s,n,r);if(O(a)&&O(s)){for(var c=[],u=0;u0?("spring"===h&&f.push(a.duration),a.easingImpl=so[h].apply(null,f)):a.easingImpl=so[h]}var d,p=a.easingImpl;if(d=0===a.duration?1:(n-c)/a.duration,a.applying&&(d=a.progress),d<0?d=0:d>1&&(d=1),null==a.delay){var g=a.startPosition,v=a.position;if(v&&i&&!t.locked()){var b={};fo(g.x,v.x)&&(b.x=lo(g.x,v.x,d,p)),fo(g.y,v.y)&&(b.y=lo(g.y,v.y,d,p)),t.position(b)}var y=a.startPan,m=a.pan,w=o.pan,x=null!=m&&r;x&&(fo(y.x,m.x)&&(w.x=lo(y.x,m.x,d,p)),fo(y.y,m.y)&&(w.y=lo(y.y,m.y,d,p)),t.emit("pan"));var _=a.startZoom,E=a.zoom,k=null!=E&&r;k&&(fo(_,E)&&(o.zoom=de(o.minZoom,lo(_,E,d,p),o.maxZoom)),t.emit("zoom")),(x||k)&&t.emit("viewport");var T=a.style;if(T&&T.length>0&&i){for(var C=0;C=0;e--)(0,t[e])();t.splice(0,t.length)},l=o.length-1;l>=0;l--){var h=o[l],f=h._private;f.stopped?(o.splice(l,1),f.hooked=!1,f.playing=!1,f.started=!1,u(f.frames)):(f.playing||f.applying)&&(f.playing&&f.applying&&(f.applying=!1),f.started||po(0,h,t),ho(e,h,t,n),f.applying&&(f.applying=!1),u(f.frames),null!=f.step&&f.step(t),h.completed()&&(o.splice(l,1),f.hooked=!1,f.playing=!1,f.started=!1,u(f.completes)),s=!0)}return n||0!==o.length||0!==a.length||r.push(e),s}for(var o=!1,a=0;a0?e.notify("draw",n):e.notify("draw")),n.unmerge(r),e.emit("step")}var vo={animate:sr.animate(),animation:sr.animation(),animated:sr.animated(),clearQueue:sr.clearQueue(),delay:sr.delay(),delayAnimation:sr.delayAnimation(),stop:sr.stop(),addToAnimationPool:function(t){this.styleEnabled()&&this._private.aniEles.merge(t)},stopAnimationLoop:function(){this._private.animationsRunning=!1},startAnimationLoop:function(){var t=this;if(t._private.animationsRunning=!0,t.styleEnabled()){var e=t.renderer();e&&e.beforeRender?e.beforeRender((function(e,n){go(n,t)}),e.beforeRenderPriorities.animations):function e(){t._private.animationsRunning&&ot((function(n){go(n,t),e()}))}()}}},bo={qualifierCompare:function(t,e){return null==t||null==e?null==t&&null==e:t.sameText(e)},eventMatches:function(t,e,n){var r=e.qualifier;return null==r||t!==n.target&&D(n.target)&&r.matches(n.target)},addEventFields:function(t,e){e.cy=t,e.target=t},callbackContext:function(t,e,n){return null!=e.qualifier?n.target:t}},yo=function(t){return A(t)?new Tr(t):t},mo={createEmitter:function(){var t=this._private;return t.emitter||(t.emitter=new wi(bo,this)),this},emitter:function(){return this._private.emitter},on:function(t,e,n){return this.emitter().on(t,yo(e),n),this},removeListener:function(t,e,n){return this.emitter().removeListener(t,yo(e),n),this},removeAllListeners:function(){return this.emitter().removeAllListeners(),this},one:function(t,e,n){return this.emitter().one(t,yo(e),n),this},once:function(t,e,n){return this.emitter().one(t,yo(e),n),this},emit:function(t,e){return this.emitter().emit(t,e),this},emitAndNotify:function(t,e){return this.emit(t),this.notify(t,e),this}};sr.eventAliasesOn(mo);var wo={png:function(t){return t=t||{},this._private.renderer.png(t)},jpg:function(t){var e=this._private.renderer;return(t=t||{}).bg=t.bg||"#fff",e.jpg(t)}};wo.jpeg=wo.jpg;var xo={layout:function(t){var e=this;if(null!=t)if(null!=t.name){var n,r=t.name,i=e.extension("layout",r);if(null!=i)return n=A(t.eles)?e.$(t.eles):null!=t.eles?t.eles:e.$(),new i(Q({},t,{cy:e,eles:n}));Tt("No such layout `"+r+"` found. Did you forget to import it and `cytoscape.use()` it?")}else Tt("A `name` must be specified to make a layout");else Tt("Layout options must be specified to make a layout")}};xo.createLayout=xo.makeLayout=xo.layout;var _o={notify:function(t,e){var n=this._private;if(this.batching()){n.batchNotifications=n.batchNotifications||{};var r=n.batchNotifications[t]=n.batchNotifications[t]||this.collection();null!=e&&r.merge(e)}else if(n.notificationsEnabled){var i=this.renderer();!this.destroyed()&&i&&i.notify(t,e)}},notifications:function(t){var e=this._private;return void 0===t?e.notificationsEnabled:(e.notificationsEnabled=!!t,this)},noNotifications:function(t){this.notifications(!1),t(),this.notifications(!0)},batching:function(){return this._private.batchCount>0},startBatch:function(){var t=this._private;return null==t.batchCount&&(t.batchCount=0),0===t.batchCount&&(t.batchStyleEles=this.collection(),t.batchNotifications={}),t.batchCount++,this},endBatch:function(){var t=this._private;if(0===t.batchCount)return this;if(t.batchCount--,0===t.batchCount){t.batchStyleEles.updateStyle();var e=this.renderer();Object.keys(t.batchNotifications).forEach((function(n){var r=t.batchNotifications[n];r.empty()?e.notify(n):e.notify(n,r)}))}return this},batch:function(t){return this.startBatch(),t(),this.endBatch(),this},batchData:function(t){var e=this;return this.batch((function(){for(var n=Object.keys(t),r=0;r0;)e.removeChild(e.childNodes[0]);t._private.renderer=null,t.mutableElements().forEach((function(t){var e=t._private;e.rscratch={},e.rstyle={},e.animation.current=[],e.animation.queue=[]}))},onRender:function(t){return this.on("render",t)},offRender:function(t){return this.off("render",t)}};ko.invalidateDimensions=ko.resize;var To={collection:function(t,e){return A(t)?this.$(t):P(t)?t.collection():O(t)?(e||(e={}),new eo(this,t,e.unique,e.removed)):new eo(this)},nodes:function(t){var e=this.$((function(t){return t.isNode()}));return t?e.filter(t):e},edges:function(t){var e=this.$((function(t){return t.isEdge()}));return t?e.filter(t):e},$:function(t){var e=this._private.elements;return t?e.filter(t):e.spawnSelf()},mutableElements:function(){return this._private.elements}};To.elements=To.filter=To.$;var Co={},No="t";Co.apply=function(t){for(var e=this,n=e._private.cy.collection(),r=0;r0;if(f||h&&d){var p=void 0;f&&d||f?p=u.properties:d&&(p=u.mappedProperties);for(var g=0;g1&&(v=1),s.color){var x=i.valueMin[0],_=i.valueMax[0],E=i.valueMin[1],k=i.valueMax[1],T=i.valueMin[2],C=i.valueMax[2],N=null==i.valueMin[3]?1:i.valueMin[3],A=null==i.valueMax[3]?1:i.valueMax[3],S=[Math.round(x+(_-x)*v),Math.round(E+(k-E)*v),Math.round(T+(C-T)*v),Math.round(N+(A-N)*v)];n={bypass:i.bypass,name:i.name,value:S,strValue:"rgb("+S[0]+", "+S[1]+", "+S[2]+")"}}else{if(!s.number)return!1;var O=i.valueMin+(i.valueMax-i.valueMin)*v;n=this.parse(i.name,O,i.bypass,f)}if(!n)return g(),!1;n.mapping=i,i=n;break;case a.data:for(var L=i.field.split("."),M=h.data,P=0;P0&&o>0){for(var s={},c=!1,u=0;u0?t.delayAnimation(a).play().promise().then(e):e()})).then((function(){return t.animation({style:s,duration:o,easing:t.pstyle("transition-timing-function").value,queue:!1}).play().promise()})).then((function(){n.removeBypasses(t,i),t.emitAndNotify("style"),r.transitioning=!1}))}else r.transitioning&&(this.removeBypasses(t,i),t.emitAndNotify("style"),r.transitioning=!1)},Co.checkTrigger=function(t,e,n,r,i,o){var a=this.properties[e],s=i(a);null!=s&&s(n,r)&&o(a)},Co.checkZOrderTrigger=function(t,e,n,r){var i=this;this.checkTrigger(t,e,n,r,(function(t){return t.triggersZOrder}),(function(){i._private.cy.notify("zorder",t)}))},Co.checkBoundsTrigger=function(t,e,n,r){this.checkTrigger(t,e,n,r,(function(t){return t.triggersBounds}),(function(i){t.dirtyCompoundBoundsCache(),t.dirtyBoundingBoxCache(),!i.triggersBoundsOfParallelBeziers||"curve-style"!==e||"bezier"!==n&&"bezier"!==r||t.parallelEdges().forEach((function(t){t.isBundledBezier()&&t.dirtyBoundingBoxCache()})),!i.triggersBoundsOfConnectedEdges||"display"!==e||"none"!==n&&"none"!==r||t.connectedEdges().forEach((function(t){t.dirtyBoundingBoxCache()}))}))},Co.checkTriggers=function(t,e,n,r){t.dirtyStyleCache(),this.checkZOrderTrigger(t,e,n,r),this.checkBoundsTrigger(t,e,n,r)};var Ao={applyBypass:function(t,e,n,r){var i=[];if("*"===e||"**"===e){if(void 0!==n)for(var o=0;oe.length?o.substr(e.length):""}function s(){n=n.length>r.length?n.substr(r.length):""}for(o=o.replace(/[/][*](\s|.)+?[*][/]/g,"");!o.match(/^\s*$/);){var c=o.match(/^\s*((?:.|\s)+?)\s*\{((?:.|\s)+?)\}/);if(!c){Nt("Halting stylesheet parsing: String stylesheet contains more to parse but no selector and block found in: "+o);break}e=c[0];var u=c[1];if("core"!==u&&new Tr(u).invalid)Nt("Skipping parsing of block: Invalid selector found in string stylesheet: "+u),a();else{var l=c[2],h=!1;n=l;for(var f=[];!n.match(/^\s*$/);){var d=n.match(/^\s*(.+?)\s*:\s*(.+?)(?:\s*;|\s*$)/);if(!d){Nt("Skipping parsing of block: Invalid formatting of style property and value definitions found in:"+l),h=!0;break}r=d[0];var p=d[1],g=d[2];this.properties[p]?i.parse(p,g)?(f.push({name:p,val:g}),s()):(Nt("Skipping property: Invalid property definition in: "+r),s()):(Nt("Skipping property: Invalid property name in: "+r),s())}if(h){a();break}i.selector(u);for(var v=0;v=7&&"d"===e[0]&&(u=new RegExp(s.data.regex).exec(e))){if(n)return!1;var f=s.data;return{name:t,value:u,strValue:""+e,mapped:f,field:u[1],bypass:n}}if(e.length>=10&&"m"===e[0]&&(l=new RegExp(s.mapData.regex).exec(e))){if(n)return!1;if(h.multiple)return!1;var d=s.mapData;if(!h.color&&!h.number)return!1;var p=this.parse(t,l[4]);if(!p||p.mapped)return!1;var g=this.parse(t,l[5]);if(!g||g.mapped)return!1;if(p.pfValue===g.pfValue||p.strValue===g.strValue)return Nt("`"+t+": "+e+"` is not a valid mapper because the output range is zero; converting to `"+t+": "+p.strValue+"`"),this.parse(t,p.strValue);if(h.color){var v=p.value,b=g.value;if(!(v[0]!==b[0]||v[1]!==b[1]||v[2]!==b[2]||v[3]!==b[3]&&(null!=v[3]&&1!==v[3]||null!=b[3]&&1!==b[3])))return!1}return{name:t,value:l,strValue:""+e,mapped:d,field:l[1],fieldMin:parseFloat(l[2]),fieldMax:parseFloat(l[3]),valueMin:p.value,valueMax:g.value,bypass:n}}}if(h.multiple&&"multiple"!==r){var y;if(y=c?e.split(/\s+/):O(e)?e:[e],h.evenMultiple&&y.length%2!=0)return null;for(var m=[],w=[],x=[],_="",E=!1,k=0;k0?" ":"")+T.strValue}return h.validate&&!h.validate(m,w)?null:h.singleEnum&&E?1===m.length&&A(m[0])?{name:t,value:m[0],strValue:m[0],bypass:n}:null:{name:t,value:m,pfValue:x,strValue:_,bypass:n,units:w}}var C,N,L,M=function(){for(var r=0;rh.max||h.strictMax&&e===h.max))return null;var G={name:t,value:e,strValue:""+e+(P||""),units:P,bypass:n};return h.unitless||"px"!==P&&"em"!==P?G.pfValue=e:G.pfValue="px"!==P&&P?this.getEmSizeInPixels()*e:e,"ms"!==P&&"s"!==P||(G.pfValue="ms"===P?e:1e3*e),"deg"!==P&&"rad"!==P||(G.pfValue="rad"===P?e:(C=e,Math.PI*C/180)),"%"===P&&(G.pfValue=e/100),G}if(h.propList){var B=[],F=""+e;if("none"===F);else{for(var H=F.split(/\s*,\s*|\s+/),z=0;z255)return;e.push(Math.floor(o))}var a=r[1]||r[2]||r[3],s=r[1]&&r[2]&&r[3];if(a&&!s)return;var c=n[4];if(void 0!==c){if((c=parseFloat(c))<0||c>1)return;e.push(c)}}return e}(L)||function(t){var e,n,r,i,o,a,s,c;function u(t,e,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?t+6*(e-t)*n:n<.5?e:n<2/3?t+(e-t)*(2/3-n)*6:t}var l=new RegExp("^"+$+"$").exec(t);if(l){if((n=parseInt(l[1]))<0?n=(360- -1*n%360)%360:n>360&&(n%=360),n/=360,(r=parseFloat(l[2]))<0||r>100)return;if(r/=100,(i=parseFloat(l[3]))<0||i>100)return;if(i/=100,void 0!==(o=l[4])&&((o=parseFloat(o))<0||o>1))return;if(0===r)a=s=c=Math.round(255*i);else{var h=i<.5?i*(1+r):i+r-i*r,f=2*i-h;a=Math.round(255*u(f,h,n+1/3)),s=Math.round(255*u(f,h,n)),c=Math.round(255*u(f,h,n-1/3))}e=[a,s,c,o]}return e}(L);return V?{name:t,value:V,pfValue:V,strValue:"rgb("+V[0]+","+V[1]+","+V[2]+")",bypass:n}:null}if(h.regex||h.regexes){if(h.enums){var W=M();if(W)return W}for(var Z=h.regexes?h.regexes:[h.regex],K=0;K0&&c>0&&!isNaN(n.w)&&!isNaN(n.h)&&n.w>0&&n.h>0)return{zoom:a=(a=(a=Math.min((s-2*e)/n.w,(c-2*e)/n.h))>this._private.maxZoom?this._private.maxZoom:a)=n.minZoom&&(n.maxZoom=e),this},minZoom:function(t){return void 0===t?this._private.minZoom:this.zoomRange({min:t})},maxZoom:function(t){return void 0===t?this._private.maxZoom:this.zoomRange({max:t})},getZoomedViewport:function(t){var e,n,r=this._private,i=r.pan,o=r.zoom,a=!1;if(r.zoomingEnabled||(a=!0),I(t)?n=t:L(t)&&(n=t.level,null!=t.position?e=ne(t.position,o,i):null!=t.renderedPosition&&(e=t.renderedPosition),null==e||r.panningEnabled||(a=!0)),n=(n=n>r.maxZoom?r.maxZoom:n)e.maxZoom||!e.zoomingEnabled?o=!0:(e.zoom=s,i.push("zoom"))}if(r&&(!o||!t.cancelOnFailedZoom)&&e.panningEnabled){var c=t.pan;I(c.x)&&(e.pan.x=c.x,a=!1),I(c.y)&&(e.pan.y=c.y,a=!1),a||i.push("pan")}return i.length>0&&(i.push("viewport"),this.emit(i.join(" ")),this.notify("viewport")),this},center:function(t){var e=this.getCenterPan(t);return e&&(this._private.pan=e,this.emit("pan viewport"),this.notify("viewport")),this},getCenterPan:function(t,e){if(this._private.panningEnabled){if(A(t)){var n=t;t=this.mutableElements().filter(n)}else P(t)||(t=this.mutableElements());if(0!==t.length){var r=t.boundingBox(),i=this.width(),o=this.height();return{x:(i-(e=void 0===e?this._private.zoom:e)*(r.x1+r.x2))/2,y:(o-e*(r.y1+r.y2))/2}}}},reset:function(){return this._private.panningEnabled&&this._private.zoomingEnabled?(this.viewport({pan:{x:0,y:0},zoom:1}),this):this},invalidateSize:function(){this._private.sizeCache=null},size:function(){var t,e,n=this._private,r=n.container;return n.sizeCache=n.sizeCache||(r?(t=this.window().getComputedStyle(r),e=function(e){return parseFloat(t.getPropertyValue(e))},{width:r.clientWidth-e("padding-left")-e("padding-right"),height:r.clientHeight-e("padding-top")-e("padding-bottom")}):{width:1,height:1})},width:function(){return this.size().width},height:function(){return this.size().height},extent:function(){var t=this._private.pan,e=this._private.zoom,n=this.renderedExtent(),r={x1:(n.x1-t.x)/e,x2:(n.x2-t.x)/e,y1:(n.y1-t.y)/e,y2:(n.y2-t.y)/e};return r.w=r.x2-r.x1,r.h=r.y2-r.y1,r},renderedExtent:function(){var t=this.width(),e=this.height();return{x1:0,y1:0,x2:t,y2:e,w:t,h:e}},multiClickDebounceTime:function(t){return t?(this._private.multiClickDebounceTime=t,this):this._private.multiClickDebounceTime}};Go.centre=Go.center,Go.autolockNodes=Go.autolock,Go.autoungrabifyNodes=Go.autoungrabify;var Bo={data:sr.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeData:sr.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),scratch:sr.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:sr.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0})};Bo.attr=Bo.data,Bo.removeAttr=Bo.removeData;var Fo=function(t){var e=this,n=(t=Q({},t)).container;n&&!M(n)&&M(n[0])&&(n=n[0]);var r=n?n._cyreg:null;(r=r||{})&&r.cy&&(r.cy.destroy(),r={});var i=r.readies=r.readies||[];n&&(n._cyreg=r),r.cy=e;var o=void 0!==x&&void 0!==n&&!t.headless,a=t;a.layout=Q({name:o?"grid":"null"},a.layout),a.renderer=Q({name:o?"canvas":"null"},a.renderer);var s=function(t,e,n){return void 0!==e?e:void 0!==n?n:t},c=this._private={container:n,ready:!1,options:a,elements:new eo(this),listeners:[],aniEles:new eo(this),data:a.data||{},scratch:{},layout:null,renderer:null,destroyed:!1,notificationsEnabled:!0,minZoom:1e-50,maxZoom:1e50,zoomingEnabled:s(!0,a.zoomingEnabled),userZoomingEnabled:s(!0,a.userZoomingEnabled),panningEnabled:s(!0,a.panningEnabled),userPanningEnabled:s(!0,a.userPanningEnabled),boxSelectionEnabled:s(!0,a.boxSelectionEnabled),autolock:s(!1,a.autolock,a.autolockNodes),autoungrabify:s(!1,a.autoungrabify,a.autoungrabifyNodes),autounselectify:s(!1,a.autounselectify),styleEnabled:void 0===a.styleEnabled?o:a.styleEnabled,zoom:I(a.zoom)?a.zoom:1,pan:{x:L(a.pan)&&I(a.pan.x)?a.pan.x:0,y:L(a.pan)&&I(a.pan.y)?a.pan.y:0},animation:{current:[],queue:[]},hasCompoundNodes:!1,multiClickDebounceTime:s(250,a.multiClickDebounceTime)};this.createEmitter(),this.selectionType(a.selectionType),this.zoomRange({min:a.minZoom,max:a.maxZoom}),c.styleEnabled&&e.setStyle([]);var u=Q({},a,a.renderer);e.initRenderer(u),function(t,e){if(t.some(F))return er.all(t).then(e);e(t)}([a.style,a.elements],(function(t){var n=t[0],o=t[1];c.styleEnabled&&e.style().append(n),function(t,n,r){e.notifications(!1);var i=e.mutableElements();i.length>0&&i.remove(),null!=t&&(L(t)||O(t))&&e.add(t),e.one("layoutready",(function(t){e.notifications(!0),e.emit(t),e.one("load",n),e.emitAndNotify("load")})).one("layoutstop",(function(){e.one("done",r),e.emit("done")}));var o=Q({},e._private.options.layout);o.eles=e.elements(),e.layout(o).run()}(o,(function(){e.startAnimationLoop(),c.ready=!0,S(a.ready)&&e.on("ready",a.ready);for(var t=0;t0,u=pe(n.boundingBox?n.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()});if(P(n.roots))t=n.roots;else if(O(n.roots)){for(var l=[],h=0;h0;){var L=C.shift(),I=T(L,N);if(I)L.outgoers().filter((function(t){return t.isNode()&&i.has(t)})).forEach(S);else if(null===I){Nt("Detected double maximal shift for node `"+L.id()+"`. Bailing maximal adjustment due to cycle. Use `options.maximal: true` only on DAGs.");break}}}k();var M=0;if(n.avoidOverlap)for(var D=0;D0&&b[0].length<=3?c/2:0),h=2*Math.PI/b[r].length*i;return 0===r&&1===b[0].length&&(l=1),{x:X+l*Math.cos(h),y:W+l*Math.sin(h)}}return{x:X+(i+1-(o+1)/2)*a,y:(r+1)*s}})),this};var Xo={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,radius:void 0,startAngle:1.5*Math.PI,sweep:void 0,clockwise:!0,sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(t,e){return!0},ready:void 0,stop:void 0,transform:function(t,e){return e}};function Wo(t){this.options=Q({},Xo,t)}Wo.prototype.run=function(){var t=this.options,e=t,n=t.cy,r=e.eles,i=void 0!==e.counterclockwise?!e.counterclockwise:e.clockwise,o=r.nodes().not(":parent");e.sort&&(o=o.sort(e.sort));for(var a,s=pe(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:n.width(),h:n.height()}),c=s.x1+s.w/2,u=s.y1+s.h/2,l=(void 0===e.sweep?2*Math.PI-2*Math.PI/o.length:e.sweep)/Math.max(1,o.length-1),h=0,f=0;f1&&e.avoidOverlap){h*=1.75;var v=Math.cos(l)-Math.cos(0),b=Math.sin(l)-Math.sin(0),y=Math.sqrt(h*h/(v*v+b*b));a=Math.max(y,a)}return r.nodes().layoutPositions(this,e,(function(t,n){var r=e.startAngle+n*l*(i?1:-1),o=a*Math.cos(r),s=a*Math.sin(r);return{x:c+o,y:u+s}})),this};var $o,Zo={fit:!0,padding:30,startAngle:1.5*Math.PI,sweep:void 0,clockwise:!0,equidistant:!1,minNodeSpacing:10,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,height:void 0,width:void 0,spacingFactor:void 0,concentric:function(t){return t.degree()},levelWidth:function(t){return t.maxDegree()/4},animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(t,e){return!0},ready:void 0,stop:void 0,transform:function(t,e){return e}};function Ko(t){this.options=Q({},Zo,t)}Ko.prototype.run=function(){for(var t=this.options,e=t,n=void 0!==e.counterclockwise?!e.counterclockwise:e.clockwise,r=t.cy,i=e.eles,o=i.nodes().not(":parent"),a=pe(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()}),s=a.x1+a.w/2,c=a.y1+a.h/2,u=[],l=0,h=0;h0&&Math.abs(y[0].value-w.value)>=v&&(y=[],b.push(y)),y.push(w)}var x=l+e.minNodeSpacing;if(!e.avoidOverlap){var _=b.length>0&&b[0].length>1,E=(Math.min(a.w,a.h)/2-x)/(b.length+_?1:0);x=Math.min(x,E)}for(var k=0,T=0;T1&&e.avoidOverlap){var S=Math.cos(A)-Math.cos(0),O=Math.sin(A)-Math.sin(0),L=Math.sqrt(x*x/(S*S+O*O));k=Math.max(L,k)}C.r=k,k+=x}if(e.equidistant){for(var I=0,M=0,P=0;P=t.numIter||(aa(r,t),r.temperature=r.temperature*t.coolingFactor,r.temperature=t.animationThreshold&&o(),ot(e)):(ya(r,t),s())}();else{for(;u;)u=a(c),c++;ya(r,t),s()}return this},Jo.prototype.stop=function(){return this.stopped=!0,this.thread&&this.thread.stop(),this.emit("layoutstop"),this},Jo.prototype.destroy=function(){return this.thread&&this.thread.stop(),this};var ta=function(t,e,n){for(var r=n.eles.edges(),i=n.eles.nodes(),o=pe(n.boundingBox?n.boundingBox:{x1:0,y1:0,w:t.width(),h:t.height()}),a={isCompound:t.hasCompoundNodes(),layoutNodes:[],idToIndex:{},nodeSize:i.size(),graphSet:[],indexToGraph:[],layoutEdges:[],edgeSize:r.size(),temperature:n.initialTemp,clientWidth:o.w,clientHeight:o.h,boundingBox:o},s=n.eles.components(),c={},u=0;u0)for(a.graphSet.push(x),u=0;ur.count?0:r.graph},na=function t(e,n,r,i){var o=i.graphSet[r];if(-10)var s=(u=r.nodeOverlap*a)*i/(g=Math.sqrt(i*i+o*o)),c=u*o/g;else{var u,l=ha(t,i,o),h=ha(e,-1*i,-1*o),f=h.x-l.x,d=h.y-l.y,p=f*f+d*d,g=Math.sqrt(p);s=(u=(t.nodeRepulsion+e.nodeRepulsion)/p)*f/g,c=u*d/g}t.isLocked||(t.offsetX-=s,t.offsetY-=c),e.isLocked||(e.offsetX+=s,e.offsetY+=c)}},la=function(t,e,n,r){if(n>0)var i=t.maxX-e.minX;else i=e.maxX-t.minX;if(r>0)var o=t.maxY-e.minY;else o=e.maxY-t.minY;return i>=0&&o>=0?Math.sqrt(i*i+o*o):0},ha=function(t,e,n){var r=t.positionX,i=t.positionY,o=t.height||1,a=t.width||1,s=n/e,c=o/a,u={};return 0===e&&0n?(u.x=r,u.y=i+o/2,u):0e&&-1*c<=s&&s<=c?(u.x=r-a/2,u.y=i-a*n/2/e,u):0=c)?(u.x=r+o*e/2/n,u.y=i+o/2,u):0>n&&(s<=-1*c||s>=c)?(u.x=r-o*e/2/n,u.y=i-o/2,u):u},fa=function(t,e){for(var n=0;n1){var p=e.gravity*h/d,g=e.gravity*f/d;l.offsetX+=p,l.offsetY+=g}}}}},pa=function(t,e){var n=[],r=0,i=-1;for(n.push.apply(n,t.graphSet[0]),i+=t.graphSet[0].length;r<=i;){var o=n[r++],a=t.idToIndex[o],s=t.layoutNodes[a],c=s.children;if(0n)var i={x:n*t/r,y:n*e/r};else i={x:t,y:e};return i},ba=function t(e,n){var r=e.parentId;if(null!=r){var i=n.layoutNodes[n.idToIndex[r]],o=!1;return(null==i.maxX||e.maxX+i.padRight>i.maxX)&&(i.maxX=e.maxX+i.padRight,o=!0),(null==i.minX||e.minX-i.padLefti.maxY)&&(i.maxY=e.maxY+i.padBottom,o=!0),(null==i.minY||e.minY-i.padTopp&&(h+=d+e.componentSpacing,l=0,f=0,d=0)}}},ma={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,avoidOverlapPadding:10,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,condense:!1,rows:void 0,cols:void 0,position:function(t){},sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(t,e){return!0},ready:void 0,stop:void 0,transform:function(t,e){return e}};function wa(t){this.options=Q({},ma,t)}wa.prototype.run=function(){var t=this.options,e=t,n=t.cy,r=e.eles,i=r.nodes().not(":parent");e.sort&&(i=i.sort(e.sort));var o=pe(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:n.width(),h:n.height()});if(0===o.h||0===o.w)r.nodes().layoutPositions(this,e,(function(t){return{x:o.x1,y:o.y1}}));else{var a=i.size(),s=Math.sqrt(a*o.h/o.w),c=Math.round(s),u=Math.round(o.w/o.h*s),l=function(t){if(null==t)return Math.min(c,u);Math.min(c,u)==c?c=t:u=t},h=function(t){if(null==t)return Math.max(c,u);Math.max(c,u)==c?c=t:u=t},f=e.rows,d=null!=e.cols?e.cols:e.columns;if(null!=f&&null!=d)c=f,u=d;else if(null!=f&&null==d)c=f,u=Math.ceil(a/c);else if(null==f&&null!=d)u=d,c=Math.ceil(a/u);else if(u*c>a){var p=l(),g=h();(p-1)*g>=a?l(p-1):(g-1)*p>=a&&h(g-1)}else for(;u*c=a?h(b+1):l(v+1)}var y=o.w/u,m=o.h/c;if(e.condense&&(y=0,m=0),e.avoidOverlap)for(var w=0;w=u&&(L=0,O++)},M={},P=0;P(r=Ne(t,e,w[x],w[x+1],w[x+2],w[x+3])))return v(n,r),!0}else if("bezier"===o.edgeType||"multibezier"===o.edgeType||"self"===o.edgeType||"compound"===o.edgeType)for(w=o.allpts,x=0;x+5(r=Ce(t,e,w[x],w[x+1],w[x+2],w[x+3],w[x+4],w[x+5])))return v(n,r),!0;y=y||i.source,m=m||i.target;var _=a.getArrowWidth(c,l),E=[{name:"source",x:o.arrowStartX,y:o.arrowStartY,angle:o.srcArrowAngle},{name:"target",x:o.arrowEndX,y:o.arrowEndY,angle:o.tgtArrowAngle},{name:"mid-source",x:o.midX,y:o.midY,angle:o.midsrcArrowAngle},{name:"mid-target",x:o.midX,y:o.midY,angle:o.midtgtArrowAngle}];for(x=0;x0&&(b(y),b(m))}function m(t,e,n){return Dt(t,e,n)}function w(n,r){var i,o=n._private,a=p;i=r?r+"-":"",n.boundingBox();var s=o.labelBounds[r||"main"],c=n.pstyle(i+"label").value;if("yes"===n.pstyle("text-events").strValue&&c){var u=m(o.rscratch,"labelX",r),l=m(o.rscratch,"labelY",r),h=m(o.rscratch,"labelAngle",r),f=n.pstyle(i+"text-margin-x").pfValue,d=n.pstyle(i+"text-margin-y").pfValue,g=s.x1-a-f,b=s.x2+a-f,y=s.y1-a-d,w=s.y2+a-d;if(h){var x=Math.cos(h),_=Math.sin(h),E=function(t,e){return{x:(t-=u)*x-(e-=l)*_+u,y:t*_+e*x+l}},k=E(g,y),T=E(g,w),C=E(b,y),N=E(b,w),A=[k.x+f,k.y+d,C.x+f,C.y+d,N.x+f,N.y+d,T.x+f,T.y+d];if(Ae(t,e,A))return v(n),!0}else if(xe(s,t,e))return v(n),!0}}n&&(c=c.interactive);for(var x=c.length-1;x>=0;x--){var _=c[x];_.isNode()?b(_)||w(_):y(_)||w(_)||w(_,"source")||w(_,"target")}return u},getAllInBox:function(t,e,n,r){for(var i,o,a=this.getCachedZSortedEles().interactive,s=[],c=Math.min(t,n),u=Math.max(t,n),l=Math.min(e,r),h=Math.max(e,r),f=pe({x1:t=c,y1:e=l,x2:n=u,y2:r=h}),d=0;d0?Math.max(t-e,0):Math.min(t+e,0)},N=C(k,_),A=C(T,E),S=!1;"auto"===v?g=Math.abs(N)>Math.abs(A)?i:r:v===c||v===s?(g=r,S=!0):v!==o&&v!==a||(g=i,S=!0);var O,L=g===r,I=L?A:N,M=L?T:k,P=se(M),D=!1;S&&(y||w)||!(v===s&&M<0||v===c&&M>0||v===o&&M>0||v===a&&M<0)||(I=(P*=-1)*Math.abs(I),D=!0);var R=function(t){return Math.abs(t)=Math.abs(I)},j=R(O=y?(m<0?1+m:m)*I:(m<0?I:0)+m*P),G=R(Math.abs(I)-Math.abs(O));if(!j&&!G||D)if(L){var B=u.y1+O+(p?h/2*P:0),F=u.x1,H=u.x2;n.segpts=[F,B,H,B]}else{var Y=u.x1+O+(p?l/2*P:0),z=u.y1,U=u.y2;n.segpts=[Y,z,Y,U]}else if(L){var V=Math.abs(M)<=h/2,q=Math.abs(k)<=f/2;if(V){var X=(u.x1+u.x2)/2,W=u.y1,$=u.y2;n.segpts=[X,W,X,$]}else if(q){var Z=(u.y1+u.y2)/2,K=u.x1,Q=u.x2;n.segpts=[K,Z,Q,Z]}else n.segpts=[u.x1,u.y2]}else{var J=Math.abs(M)<=l/2,tt=Math.abs(T)<=d/2;if(J){var et=(u.y1+u.y2)/2,nt=u.x1,rt=u.x2;n.segpts=[nt,et,rt,et]}else if(tt){var it=(u.x1+u.x2)/2,ot=u.y1,at=u.y2;n.segpts=[it,ot,it,at]}else n.segpts=[u.x2,u.y1]}},Pa.tryToCorrectInvalidPoints=function(t,e){var n=t._private.rscratch;if("bezier"===n.edgeType){var r=e.srcPos,i=e.tgtPos,o=e.srcW,a=e.srcH,s=e.tgtW,c=e.tgtH,u=e.srcShape,l=e.tgtShape,h=!I(n.startX)||!I(n.startY),f=!I(n.arrowStartX)||!I(n.arrowStartY),d=!I(n.endX)||!I(n.endY),p=!I(n.arrowEndX)||!I(n.arrowEndY),g=this.getArrowWidth(t.pstyle("width").pfValue,t.pstyle("arrow-scale").value)*this.arrowShapeWidth*3,v=ce({x:n.ctrlpts[0],y:n.ctrlpts[1]},{x:n.startX,y:n.startY}),b=vf.poolIndex()){var d=h;h=f,f=d}var p=s.srcPos=h.position(),g=s.tgtPos=f.position(),v=s.srcW=h.outerWidth(),b=s.srcH=h.outerHeight(),y=s.tgtW=f.outerWidth(),m=s.tgtH=f.outerHeight(),w=s.srcShape=n.nodeShapes[e.getNodeShape(h)],x=s.tgtShape=n.nodeShapes[e.getNodeShape(f)];s.dirCounts={north:0,west:0,south:0,east:0,northwest:0,southwest:0,northeast:0,southeast:0};for(var _=0;_0){var Y=u,z=ue(Y,ie(e)),U=ue(Y,ie(H)),V=z;U2&&ue(Y,{x:H[2],y:H[3]})0){var it=l,ot=ue(it,ie(e)),at=ue(it,ie(rt)),st=ot;at2&&ue(it,{x:rt[2],y:rt[3]})=u||y){l={cp:g,segment:b};break}}if(l)break}var m=l.cp,w=l.segment,x=(u-f)/w.length,_=w.t1-w.t0,E=s?w.t0+_*x:w.t1-_*x;E=de(0,E,1),e=fe(m.p0,m.p1,m.p2,E),i=function(t,e,n,r){var i=de(0,r-.001,1),o=de(0,r+.001,1),a=fe(t,e,n,i),s=fe(t,e,n,o);return Ha(a,s)}(m.p0,m.p1,m.p2,E);break;case"straight":case"segments":case"haystack":for(var k,T,C,N,A=0,S=r.allpts.length,O=0;O+3=u));O+=2);var L=(u-T)/k;L=de(0,L,1),e=function(t,e,n,r){var i=e.x-t.x,o=e.y-t.y,a=ce(t,e),s=i/a,c=o/a;return n=null==n?0:n,r=null!=r?r:n*a,{x:t.x+s*r,y:t.y+c*r}}(C,N,L),i=Ha(C,N)}a("labelX",n,e.x),a("labelY",n,e.y),a("labelAutoAngle",n,i)}};u("source"),u("target"),this.applyLabelDimensions(t)}},Ba.applyLabelDimensions=function(t){this.applyPrefixedLabelDimensions(t),t.isEdge()&&(this.applyPrefixedLabelDimensions(t,"source"),this.applyPrefixedLabelDimensions(t,"target"))},Ba.applyPrefixedLabelDimensions=function(t,e){var n=t._private,r=this.getLabelText(t,e),i=this.calculateLabelDimensions(t,r),o=t.pstyle("line-height").pfValue,a=t.pstyle("text-wrap").strValue,s=Dt(n.rscratch,"labelWrapCachedLines",e)||[],c="wrap"!==a?1:Math.max(s.length,1),u=i.height/c,l=u*o,h=i.width,f=i.height+(c-1)*(o-1)*u;Rt(n.rstyle,"labelWidth",e,h),Rt(n.rscratch,"labelWidth",e,h),Rt(n.rstyle,"labelHeight",e,f),Rt(n.rscratch,"labelHeight",e,f),Rt(n.rscratch,"labelLineHeight",e,l)},Ba.getLabelText=function(t,e){var n=t._private,r=e?e+"-":"",i=t.pstyle(r+"label").strValue,o=t.pstyle("text-transform").value,a=function(t,r){return r?(Rt(n.rscratch,t,e,r),r):Dt(n.rscratch,t,e)};if(!i)return"";"none"==o||("uppercase"==o?i=i.toUpperCase():"lowercase"==o&&(i=i.toLowerCase()));var s=t.pstyle("text-wrap").value;if("wrap"===s){var c=a("labelKey");if(null!=c&&a("labelWrapKey")===c)return a("labelWrapCachedText");for(var u=i.split("\n"),l=t.pstyle("text-max-width").pfValue,h="anywhere"===t.pstyle("text-overflow-wrap").value,f=[],d=/[\s\u200b]+/,p=h?"":" ",g=0;gl){for(var m=v.split(d),w="",x=0;xk);N++)T+=i[N],N===i.length-1&&(C=!0);return C||(T+="…"),T}return i},Ba.getLabelJustification=function(t){var e=t.pstyle("text-justification").strValue,n=t.pstyle("text-halign").strValue;if("auto"!==e)return e;if(!t.isNode())return"center";switch(n){case"left":return"right";case"right":return"left";default:return"center"}},Ba.calculateLabelDimensions=function(t,e){var n=pt(e,t._private.labelDimsKey),r=this.labelDimCache||(this.labelDimCache=[]),i=r[n];if(null!=i)return i;var o=t.pstyle("font-style").strValue,a=t.pstyle("font-size").pfValue,s=t.pstyle("font-family").strValue,c=t.pstyle("font-weight").strValue,u=this.labelCalcCanvas,l=this.labelCalcCanvasContext;if(!u){u=this.labelCalcCanvas=document.createElement("canvas"),l=this.labelCalcCanvasContext=u.getContext("2d");var h=u.style;h.position="absolute",h.left="-9999px",h.top="-9999px",h.zIndex="-1",h.visibility="hidden",h.pointerEvents="none"}l.font="".concat(o," ").concat(c," ").concat(a,"px ").concat(s);for(var f=0,d=0,p=e.split("\n"),g=0;g1&&void 0!==arguments[1])||arguments[1];if(e.merge(t),n)for(var r=0;r=t.desktopTapThreshold2}var C=i(e);v&&(t.hoverData.tapholdCancelled=!0),n=!0,r(g,["mousemove","vmousemove","tapdrag"],e,{x:u[0],y:u[1]});var N=function(){t.data.bgActivePosistion=void 0,t.hoverData.selecting||a.emit({originalEvent:e,type:"boxstart",position:{x:u[0],y:u[1]}}),p[4]=1,t.hoverData.selecting=!0,t.redrawHint("select",!0),t.redraw()};if(3===t.hoverData.which){if(v){var A={originalEvent:e,type:"cxtdrag",position:{x:u[0],y:u[1]}};y?y.emit(A):a.emit(A),t.hoverData.cxtDragged=!0,t.hoverData.cxtOver&&g===t.hoverData.cxtOver||(t.hoverData.cxtOver&&t.hoverData.cxtOver.emit({originalEvent:e,type:"cxtdragout",position:{x:u[0],y:u[1]}}),t.hoverData.cxtOver=g,g&&g.emit({originalEvent:e,type:"cxtdragover",position:{x:u[0],y:u[1]}}))}}else if(t.hoverData.dragging){if(n=!0,a.panningEnabled()&&a.userPanningEnabled()){var S;if(t.hoverData.justStartedPan){var O=t.hoverData.mdownPos;S={x:(u[0]-O[0])*s,y:(u[1]-O[1])*s},t.hoverData.justStartedPan=!1}else S={x:m[0]*s,y:m[1]*s};a.panBy(S),a.emit("dragpan"),t.hoverData.dragged=!0}u=t.projectIntoViewport(e.clientX,e.clientY)}else if(1!=p[4]||null!=y&&!y.pannable()){if(y&&y.pannable()&&y.active()&&y.unactivate(),y&&y.grabbed()||g==b||(b&&r(b,["mouseout","tapdragout"],e,{x:u[0],y:u[1]}),g&&r(g,["mouseover","tapdragover"],e,{x:u[0],y:u[1]}),t.hoverData.last=g),y)if(v){if(a.boxSelectionEnabled()&&C)y&&y.grabbed()&&(f(w),y.emit("freeon"),w.emit("free"),t.dragData.didDrag&&(y.emit("dragfreeon"),w.emit("dragfree"))),N();else if(y&&y.grabbed()&&t.nodeIsDraggable(y)){var L=!t.dragData.didDrag;L&&t.redrawHint("eles",!0),t.dragData.didDrag=!0,t.hoverData.draggingEles||l(w,{inDragLayer:!0});var M={x:0,y:0};if(I(m[0])&&I(m[1])&&(M.x+=m[0],M.y+=m[1],L)){var P=t.hoverData.dragDelta;P&&I(P[0])&&I(P[1])&&(M.x+=P[0],M.y+=P[1])}t.hoverData.draggingEles=!0,w.silentShift(M).emit("position drag"),t.redrawHint("drag",!0),t.redraw()}}else!function(){var e=t.hoverData.dragDelta=t.hoverData.dragDelta||[];0===e.length?(e.push(m[0]),e.push(m[1])):(e[0]+=m[0],e[1]+=m[1])}();n=!0}else v&&(t.hoverData.dragging||!a.boxSelectionEnabled()||!C&&a.panningEnabled()&&a.userPanningEnabled()?!t.hoverData.selecting&&a.panningEnabled()&&a.userPanningEnabled()&&o(y,t.hoverData.downs)&&(t.hoverData.dragging=!0,t.hoverData.justStartedPan=!0,p[4]=0,t.data.bgActivePosistion=ie(h),t.redrawHint("select",!0),t.redraw()):N(),y&&y.pannable()&&y.active()&&y.unactivate());return p[2]=u[0],p[3]=u[1],n?(e.stopPropagation&&e.stopPropagation(),e.preventDefault&&e.preventDefault(),!1):void 0}}),!1),t.registerBinding(e,"mouseup",(function(e){if(t.hoverData.capture){t.hoverData.capture=!1;var o=t.cy,a=t.projectIntoViewport(e.clientX,e.clientY),s=t.selection,c=t.findNearestElement(a[0],a[1],!0,!1),u=t.dragData.possibleDragElements,l=t.hoverData.down,h=i(e);if(t.data.bgActivePosistion&&(t.redrawHint("select",!0),t.redraw()),t.hoverData.tapholdCancelled=!0,t.data.bgActivePosistion=void 0,l&&l.unactivate(),3===t.hoverData.which){var d={originalEvent:e,type:"cxttapend",position:{x:a[0],y:a[1]}};if(l?l.emit(d):o.emit(d),!t.hoverData.cxtDragged){var p={originalEvent:e,type:"cxttap",position:{x:a[0],y:a[1]}};l?l.emit(p):o.emit(p)}t.hoverData.cxtDragged=!1,t.hoverData.which=null}else if(1===t.hoverData.which){if(r(c,["mouseup","tapend","vmouseup"],e,{x:a[0],y:a[1]}),t.dragData.didDrag||t.hoverData.dragged||t.hoverData.selecting||t.hoverData.isOverThresholdDrag||(r(l,["click","tap","vclick"],e,{x:a[0],y:a[1]}),w=!1,e.timeStamp-x<=o.multiClickDebounceTime()?(m&&clearTimeout(m),w=!0,x=null,r(l,["dblclick","dbltap","vdblclick"],e,{x:a[0],y:a[1]})):(m=setTimeout((function(){w||r(l,["oneclick","onetap","voneclick"],e,{x:a[0],y:a[1]})}),o.multiClickDebounceTime()),x=e.timeStamp)),null!=l||t.dragData.didDrag||t.hoverData.selecting||t.hoverData.dragged||i(e)||(o.$(n).unselect(["tapunselect"]),u.length>0&&t.redrawHint("eles",!0),t.dragData.possibleDragElements=u=o.collection()),c!=l||t.dragData.didDrag||t.hoverData.selecting||null!=c&&c._private.selectable&&(t.hoverData.dragging||("additive"===o.selectionType()||h?c.selected()?c.unselect(["tapunselect"]):c.select(["tapselect"]):h||(o.$(n).unmerge(c).unselect(["tapunselect"]),c.select(["tapselect"]))),t.redrawHint("eles",!0)),t.hoverData.selecting){var g=o.collection(t.getAllInBox(s[0],s[1],s[2],s[3]));t.redrawHint("select",!0),g.length>0&&t.redrawHint("eles",!0),o.emit({type:"boxend",originalEvent:e,position:{x:a[0],y:a[1]}});"additive"===o.selectionType()||h||o.$(n).unmerge(g).unselect(),g.emit("box").stdFilter((function(t){return t.selectable()&&!t.selected()})).select().emit("boxselect"),t.redraw()}if(t.hoverData.dragging&&(t.hoverData.dragging=!1,t.redrawHint("select",!0),t.redrawHint("eles",!0),t.redraw()),!s[4]){t.redrawHint("drag",!0),t.redrawHint("eles",!0);var v=l&&l.grabbed();f(u),v&&(l.emit("freeon"),u.emit("free"),t.dragData.didDrag&&(l.emit("dragfreeon"),u.emit("dragfree")))}}s[4]=0,t.hoverData.down=null,t.hoverData.cxtStarted=!1,t.hoverData.draggingEles=!1,t.hoverData.selecting=!1,t.hoverData.isOverThresholdDrag=!1,t.dragData.didDrag=!1,t.hoverData.dragged=!1,t.hoverData.dragDelta=[],t.hoverData.mdownPos=null,t.hoverData.mdownGPos=null}}),!1);var E,k,T,C,N,A,S,O,L,M,P,D,R,j=function(e){if(!t.scrollingPage){var n=t.cy,r=n.zoom(),i=n.pan(),o=t.projectIntoViewport(e.clientX,e.clientY),a=[o[0]*r+i.x,o[1]*r+i.y];if(t.hoverData.draggingEles||t.hoverData.dragging||t.hoverData.cxtStarted||0!==t.selection[4])e.preventDefault();else if(n.panningEnabled()&&n.userPanningEnabled()&&n.zoomingEnabled()&&n.userZoomingEnabled()){var s;e.preventDefault(),t.data.wheelZooming=!0,clearTimeout(t.data.wheelTimeout),t.data.wheelTimeout=setTimeout((function(){t.data.wheelZooming=!1,t.redrawHint("eles",!0),t.redraw()}),150),s=null!=e.deltaY?e.deltaY/-250:null!=e.wheelDeltaY?e.wheelDeltaY/1e3:e.wheelDelta/1e3,s*=t.wheelSensitivity,1===e.deltaMode&&(s*=33);var c=n.zoom()*Math.pow(10,s);"gesturechange"===e.type&&(c=t.gestureStartZoom*e.scale),n.zoom({level:c,renderedPosition:{x:a[0],y:a[1]}}),n.emit("gesturechange"===e.type?"pinchzoom":"scrollzoom")}}};t.registerBinding(t.container,"wheel",j,!0),t.registerBinding(e,"scroll",(function(e){t.scrollingPage=!0,clearTimeout(t.scrollingPageTimeout),t.scrollingPageTimeout=setTimeout((function(){t.scrollingPage=!1}),250)}),!0),t.registerBinding(t.container,"gesturestart",(function(e){t.gestureStartZoom=t.cy.zoom(),t.hasTouchStarted||e.preventDefault()}),!0),t.registerBinding(t.container,"gesturechange",(function(e){t.hasTouchStarted||j(e)}),!0),t.registerBinding(t.container,"mouseout",(function(e){var n=t.projectIntoViewport(e.clientX,e.clientY);t.cy.emit({originalEvent:e,type:"mouseout",position:{x:n[0],y:n[1]}})}),!1),t.registerBinding(t.container,"mouseover",(function(e){var n=t.projectIntoViewport(e.clientX,e.clientY);t.cy.emit({originalEvent:e,type:"mouseover",position:{x:n[0],y:n[1]}})}),!1);var G,B,F,H,Y,z,U,V=function(t,e,n,r){return Math.sqrt((n-t)*(n-t)+(r-e)*(r-e))},q=function(t,e,n,r){return(n-t)*(n-t)+(r-e)*(r-e)};if(t.registerBinding(t.container,"touchstart",G=function(e){if(t.hasTouchStarted=!0,_(e)){p(),t.touchData.capture=!0,t.data.bgActivePosistion=void 0;var n=t.cy,i=t.touchData.now,o=t.touchData.earlier;if(e.touches[0]){var a=t.projectIntoViewport(e.touches[0].clientX,e.touches[0].clientY);i[0]=a[0],i[1]=a[1]}if(e.touches[1]&&(a=t.projectIntoViewport(e.touches[1].clientX,e.touches[1].clientY),i[2]=a[0],i[3]=a[1]),e.touches[2]&&(a=t.projectIntoViewport(e.touches[2].clientX,e.touches[2].clientY),i[4]=a[0],i[5]=a[1]),e.touches[1]){t.touchData.singleTouchMoved=!0,f(t.dragData.touchDragEles);var c=t.findContainerClientCoords();L=c[0],M=c[1],P=c[2],D=c[3],E=e.touches[0].clientX-L,k=e.touches[0].clientY-M,T=e.touches[1].clientX-L,C=e.touches[1].clientY-M,R=0<=E&&E<=P&&0<=T&&T<=P&&0<=k&&k<=D&&0<=C&&C<=D;var u=n.pan(),d=n.zoom();if(N=V(E,k,T,C),A=q(E,k,T,C),O=[((S=[(E+T)/2,(k+C)/2])[0]-u.x)/d,(S[1]-u.y)/d],A<4e4&&!e.touches[2]){var g=t.findNearestElement(i[0],i[1],!0,!0),v=t.findNearestElement(i[2],i[3],!0,!0);return g&&g.isNode()?(g.activate().emit({originalEvent:e,type:"cxttapstart",position:{x:i[0],y:i[1]}}),t.touchData.start=g):v&&v.isNode()?(v.activate().emit({originalEvent:e,type:"cxttapstart",position:{x:i[0],y:i[1]}}),t.touchData.start=v):n.emit({originalEvent:e,type:"cxttapstart",position:{x:i[0],y:i[1]}}),t.touchData.start&&(t.touchData.start._private.grabbed=!1),t.touchData.cxt=!0,t.touchData.cxtDragged=!1,t.data.bgActivePosistion=void 0,void t.redraw()}}if(e.touches[2])n.boxSelectionEnabled()&&e.preventDefault();else if(e.touches[1]);else if(e.touches[0]){var b=t.findNearestElements(i[0],i[1],!0,!0),y=b[0];if(null!=y&&(y.activate(),t.touchData.start=y,t.touchData.starts=b,t.nodeIsGrabbable(y))){var m=t.dragData.touchDragEles=n.collection(),w=null;t.redrawHint("eles",!0),t.redrawHint("drag",!0),y.selected()?(w=n.$((function(e){return e.selected()&&t.nodeIsGrabbable(e)})),l(w,{addToList:m})):h(y,{addToList:m}),s(y);var x=function(t){return{originalEvent:e,type:t,position:{x:i[0],y:i[1]}}};y.emit(x("grabon")),w?w.forEach((function(t){t.emit(x("grab"))})):y.emit(x("grab"))}r(y,["touchstart","tapstart","vmousedown"],e,{x:i[0],y:i[1]}),null==y&&(t.data.bgActivePosistion={x:a[0],y:a[1]},t.redrawHint("select",!0),t.redraw()),t.touchData.singleTouchMoved=!1,t.touchData.singleTouchStartTime=+new Date,clearTimeout(t.touchData.tapholdTimeout),t.touchData.tapholdTimeout=setTimeout((function(){!1!==t.touchData.singleTouchMoved||t.pinching||t.touchData.selecting||r(t.touchData.start,["taphold"],e,{x:i[0],y:i[1]})}),t.tapholdDuration)}if(e.touches.length>=1){for(var I=t.touchData.startPosition=[null,null,null,null,null,null],j=0;j=t.touchTapThreshold2}if(n&&t.touchData.cxt){e.preventDefault();var w=e.touches[0].clientX-L,x=e.touches[0].clientY-M,S=e.touches[1].clientX-L,P=e.touches[1].clientY-M,D=q(w,x,S,P);if(D/A>=2.25||D>=22500){t.touchData.cxt=!1,t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var j={originalEvent:e,type:"cxttapend",position:{x:s[0],y:s[1]}};t.touchData.start?(t.touchData.start.unactivate().emit(j),t.touchData.start=null):a.emit(j)}}if(n&&t.touchData.cxt){j={originalEvent:e,type:"cxtdrag",position:{x:s[0],y:s[1]}},t.data.bgActivePosistion=void 0,t.redrawHint("select",!0),t.touchData.start?t.touchData.start.emit(j):a.emit(j),t.touchData.start&&(t.touchData.start._private.grabbed=!1),t.touchData.cxtDragged=!0;var G=t.findNearestElement(s[0],s[1],!0,!0);t.touchData.cxtOver&&G===t.touchData.cxtOver||(t.touchData.cxtOver&&t.touchData.cxtOver.emit({originalEvent:e,type:"cxtdragout",position:{x:s[0],y:s[1]}}),t.touchData.cxtOver=G,G&&G.emit({originalEvent:e,type:"cxtdragover",position:{x:s[0],y:s[1]}}))}else if(n&&e.touches[2]&&a.boxSelectionEnabled())e.preventDefault(),t.data.bgActivePosistion=void 0,this.lastThreeTouch=+new Date,t.touchData.selecting||a.emit({originalEvent:e,type:"boxstart",position:{x:s[0],y:s[1]}}),t.touchData.selecting=!0,t.touchData.didSelect=!0,i[4]=1,i&&0!==i.length&&void 0!==i[0]?(i[2]=(s[0]+s[2]+s[4])/3,i[3]=(s[1]+s[3]+s[5])/3):(i[0]=(s[0]+s[2]+s[4])/3,i[1]=(s[1]+s[3]+s[5])/3,i[2]=(s[0]+s[2]+s[4])/3+1,i[3]=(s[1]+s[3]+s[5])/3+1),t.redrawHint("select",!0),t.redraw();else if(n&&e.touches[1]&&!t.touchData.didSelect&&a.zoomingEnabled()&&a.panningEnabled()&&a.userZoomingEnabled()&&a.userPanningEnabled()){if(e.preventDefault(),t.data.bgActivePosistion=void 0,t.redrawHint("select",!0),tt=t.dragData.touchDragEles){t.redrawHint("drag",!0);for(var B=0;B0&&!t.hoverData.draggingEles&&!t.swipePanning&&null!=t.data.bgActivePosistion&&(t.data.bgActivePosistion=void 0,t.redrawHint("select",!0),t.redraw())}},!1),t.registerBinding(e,"touchcancel",F=function(e){var n=t.touchData.start;t.touchData.capture=!1,n&&n.unactivate()}),t.registerBinding(e,"touchend",H=function(e){var i=t.touchData.start;if(t.touchData.capture){0===e.touches.length&&(t.touchData.capture=!1),e.preventDefault();var o=t.selection;t.swipePanning=!1,t.hoverData.draggingEles=!1;var a,s=t.cy,c=s.zoom(),u=t.touchData.now,l=t.touchData.earlier;if(e.touches[0]){var h=t.projectIntoViewport(e.touches[0].clientX,e.touches[0].clientY);u[0]=h[0],u[1]=h[1]}if(e.touches[1]&&(h=t.projectIntoViewport(e.touches[1].clientX,e.touches[1].clientY),u[2]=h[0],u[3]=h[1]),e.touches[2]&&(h=t.projectIntoViewport(e.touches[2].clientX,e.touches[2].clientY),u[4]=h[0],u[5]=h[1]),i&&i.unactivate(),t.touchData.cxt){if(a={originalEvent:e,type:"cxttapend",position:{x:u[0],y:u[1]}},i?i.emit(a):s.emit(a),!t.touchData.cxtDragged){var d={originalEvent:e,type:"cxttap",position:{x:u[0],y:u[1]}};i?i.emit(d):s.emit(d)}return t.touchData.start&&(t.touchData.start._private.grabbed=!1),t.touchData.cxt=!1,t.touchData.start=null,void t.redraw()}if(!e.touches[2]&&s.boxSelectionEnabled()&&t.touchData.selecting){t.touchData.selecting=!1;var p=s.collection(t.getAllInBox(o[0],o[1],o[2],o[3]));o[0]=void 0,o[1]=void 0,o[2]=void 0,o[3]=void 0,o[4]=0,t.redrawHint("select",!0),s.emit({type:"boxend",originalEvent:e,position:{x:u[0],y:u[1]}}),p.emit("box").stdFilter((function(t){return t.selectable()&&!t.selected()})).select().emit("boxselect"),p.nonempty()&&t.redrawHint("eles",!0),t.redraw()}if(null!=i&&i.unactivate(),e.touches[2])t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);else if(e.touches[1]);else if(e.touches[0]);else if(!e.touches[0]){t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var g=t.dragData.touchDragEles;if(null!=i){var v=i._private.grabbed;f(g),t.redrawHint("drag",!0),t.redrawHint("eles",!0),v&&(i.emit("freeon"),g.emit("free"),t.dragData.didDrag&&(i.emit("dragfreeon"),g.emit("dragfree"))),r(i,["touchend","tapend","vmouseup","tapdragout"],e,{x:u[0],y:u[1]}),i.unactivate(),t.touchData.start=null}else{var b=t.findNearestElement(u[0],u[1],!0,!0);r(b,["touchend","tapend","vmouseup","tapdragout"],e,{x:u[0],y:u[1]})}var y=t.touchData.startPosition[0]-u[0],m=y*y,w=t.touchData.startPosition[1]-u[1],x=(m+w*w)*c*c;t.touchData.singleTouchMoved||(i||s.$(":selected").unselect(["tapunselect"]),r(i,["tap","vclick"],e,{x:u[0],y:u[1]}),Y=!1,e.timeStamp-U<=s.multiClickDebounceTime()?(z&&clearTimeout(z),Y=!0,U=null,r(i,["dbltap","vdblclick"],e,{x:u[0],y:u[1]})):(z=setTimeout((function(){Y||r(i,["onetap","voneclick"],e,{x:u[0],y:u[1]})}),s.multiClickDebounceTime()),U=e.timeStamp)),null!=i&&!t.dragData.didDrag&&i._private.selectable&&x2){for(var A=[u[0],u[1]],S=Math.pow(A[0]-t,2)+Math.pow(A[1]-e,2),O=1;O0)return g[0]}return null},f=Object.keys(l),d=0;d0?c:Ee(i,o,t,e,n,r,a)},checkPoint:function(t,e,n,r,i,o,a){var s=He(r,i),c=2*s;if(Se(t,e,this.points,o,a,r,i-c,[0,-1],n))return!0;if(Se(t,e,this.points,o,a,r-c,i,[0,-1],n))return!0;var u=r/2+2*n,l=i/2+2*n;return!!Ae(t,e,[o-u,a-l,o-u,a,o+u,a,o+u,a-l])||!!Ie(t,e,c,c,o+r/2-s,a+i/2-s,n)||!!Ie(t,e,c,c,o-r/2+s,a+i/2-s,n)}}},registerNodeShapes:function(){var t=this.nodeShapes={},e=this;this.generateEllipse(),this.generatePolygon("triangle",Ge(3,0)),this.generateRoundPolygon("round-triangle",Ge(3,0)),this.generatePolygon("rectangle",Ge(4,0)),t.square=t.rectangle,this.generateRoundRectangle(),this.generateCutRectangle(),this.generateBarrel(),this.generateBottomRoundrectangle();var n=[0,1,1,0,0,-1,-1,0];this.generatePolygon("diamond",n),this.generateRoundPolygon("round-diamond",n),this.generatePolygon("pentagon",Ge(5,0)),this.generateRoundPolygon("round-pentagon",Ge(5,0)),this.generatePolygon("hexagon",Ge(6,0)),this.generateRoundPolygon("round-hexagon",Ge(6,0)),this.generatePolygon("heptagon",Ge(7,0)),this.generateRoundPolygon("round-heptagon",Ge(7,0)),this.generatePolygon("octagon",Ge(8,0)),this.generateRoundPolygon("round-octagon",Ge(8,0));var r=new Array(20),i=Fe(5,0),o=Fe(5,Math.PI/5),a=.5*(3-Math.sqrt(5));a*=1.57;for(var s=0;s=t.deqFastCost*g)break}else if(i){if(d>=t.deqCost*c||d>=t.deqAvgCost*s)break}else if(p>=t.deqNoDrawCost*Ja)break;var v=t.deq(e,h,l);if(!(v.length>0))break;for(var b=0;b0&&(t.onDeqd(e,u),!i&&t.shouldRedraw(e,u,h,l)&&r())}),i(e))}}},es=function(){function t(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:_t;g(this,t),this.idsByKey=new jt,this.keyForId=new jt,this.cachesByLvl=new jt,this.lvls=[],this.getKey=e,this.doesEleInvalidateKey=n}return b(t,[{key:"getIdsFor",value:function(t){null==t&&Tt("Can not get id list for null key");var e=this.idsByKey,n=this.idsByKey.get(t);return n||(n=new Bt,e.set(t,n)),n}},{key:"addIdForKey",value:function(t,e){null!=t&&this.getIdsFor(t).add(e)}},{key:"deleteIdForKey",value:function(t,e){null!=t&&this.getIdsFor(t).delete(e)}},{key:"getNumberOfIdsForKey",value:function(t){return null==t?0:this.getIdsFor(t).size}},{key:"updateKeyMappingFor",value:function(t){var e=t.id(),n=this.keyForId.get(e),r=this.getKey(t);this.deleteIdForKey(n,e),this.addIdForKey(r,e),this.keyForId.set(e,r)}},{key:"deleteKeyMappingFor",value:function(t){var e=t.id(),n=this.keyForId.get(e);this.deleteIdForKey(n,e),this.keyForId.delete(e)}},{key:"keyHasChangedFor",value:function(t){var e=t.id();return this.keyForId.get(e)!==this.getKey(t)}},{key:"isInvalid",value:function(t){return this.keyHasChangedFor(t)||this.doesEleInvalidateKey(t)}},{key:"getCachesAt",value:function(t){var e=this.cachesByLvl,n=this.lvls,r=e.get(t);return r||(r=new jt,e.set(t,r),n.push(t)),r}},{key:"getCache",value:function(t,e){return this.getCachesAt(e).get(t)}},{key:"get",value:function(t,e){var n=this.getKey(t),r=this.getCache(n,e);return null!=r&&this.updateKeyMappingFor(t),r}},{key:"getForCachedKey",value:function(t,e){var n=this.keyForId.get(t.id());return this.getCache(n,e)}},{key:"hasCache",value:function(t,e){return this.getCachesAt(e).has(t)}},{key:"has",value:function(t,e){var n=this.getKey(t);return this.hasCache(n,e)}},{key:"setCache",value:function(t,e,n){n.key=t,this.getCachesAt(e).set(t,n)}},{key:"set",value:function(t,e,n){var r=this.getKey(t);this.setCache(r,e,n),this.updateKeyMappingFor(t)}},{key:"deleteCache",value:function(t,e){this.getCachesAt(e).delete(t)}},{key:"delete",value:function(t,e){var n=this.getKey(t);this.deleteCache(n,e)}},{key:"invalidateKey",value:function(t){var e=this;this.lvls.forEach((function(n){return e.deleteCache(t,n)}))}},{key:"invalidate",value:function(t){var e=t.id(),n=this.keyForId.get(e);this.deleteKeyMappingFor(t);var r=this.doesEleInvalidateKey(t);return r&&this.invalidateKey(n),r||0===this.getNumberOfIdsForKey(n)}}]),t}(),ns={dequeue:"dequeue",downscale:"downscale",highQuality:"highQuality"},rs=It({getKey:null,doesEleInvalidateKey:_t,drawElement:null,getBoundingBox:null,getRotationPoint:null,getRotationOffset:null,isVisible:xt,allowEdgeTxrCaching:!0,allowParentTxrCaching:!0}),is=function(t,e){var n=this;n.renderer=t,n.onDequeues=[];var r=rs(e);Q(n,r),n.lookup=new es(r.getKey,r.doesEleInvalidateKey),n.setupDequeueing()},os=is.prototype;os.reasons=ns,os.getTextureQueue=function(t){var e=this;return e.eleImgCaches=e.eleImgCaches||{},e.eleImgCaches[t]=e.eleImgCaches[t]||[]},os.getRetiredTextureQueue=function(t){var e=this.eleImgCaches.retired=this.eleImgCaches.retired||{};return e[t]=e[t]||[]},os.getElementQueue=function(){return this.eleCacheQueue=this.eleCacheQueue||new l.default((function(t,e){return e.reqs-t.reqs}))},os.getElementKeyToQueue=function(){return this.eleKeyToCacheQueue=this.eleKeyToCacheQueue||{}},os.getElement=function(t,e,n,r,i){var o=this,a=this.renderer,s=a.cy.zoom(),c=this.lookup;if(!e||0===e.w||0===e.h||isNaN(e.w)||isNaN(e.h)||!t.visible()||t.removed())return null;if(!o.allowEdgeTxrCaching&&t.isEdge()||!o.allowParentTxrCaching&&t.isParent())return null;if(null==r&&(r=Math.ceil(ae(s*n))),r<-4)r=-4;else if(s>=7.99||r>3)return null;var u=Math.pow(2,r),l=e.h*u,h=e.w*u,f=a.eleTextBiggerThanMin(t,u);if(!this.isVisible(t,f))return null;var d,p=c.get(t,r);if(p&&p.invalidated&&(p.invalidated=!1,p.texture.invalidatedWidth-=p.width),p)return p;if(d=l<=25?25:l<=50?50:50*Math.ceil(l/50),l>1024||h>1024)return null;var g=o.getTextureQueue(d),v=g[g.length-2],b=function(){return o.recycleTexture(d,h)||o.addTexture(d,h)};v||(v=g[g.length-1]),v||(v=b()),v.width-v.usedWidthr;N--)T=o.getElement(t,e,n,N,ns.downscale);C()}else{var A;if(!w&&!x&&!_)for(var S=r-1;S>=-4;S--){var O=c.get(t,S);if(O){A=O;break}}if(m(A))return o.queueElement(t,r),A;v.context.translate(v.usedWidth,0),v.context.scale(u,u),this.drawElement(v.context,t,e,f,!1),v.context.scale(1/u,1/u),v.context.translate(-v.usedWidth,0)}return p={x:v.usedWidth,texture:v,level:r,scale:u,width:h,height:l,scaledLabelShown:f},v.usedWidth+=Math.ceil(h+8),v.eleCaches.push(p),c.set(t,r,p),o.checkTextureFullness(v),p},os.invalidateElements=function(t){for(var e=0;e=.2*t.width&&this.retireTexture(t)},os.checkTextureFullness=function(t){var e=this.getTextureQueue(t.height);t.usedWidth/t.width>.8&&t.fullnessChecks>=10?Mt(e,t):t.fullnessChecks++},os.retireTexture=function(t){var e=t.height,n=this.getTextureQueue(e),r=this.lookup;Mt(n,t),t.retired=!0;for(var i=t.eleCaches,o=0;o=e)return o.retired=!1,o.usedWidth=0,o.invalidatedWidth=0,o.fullnessChecks=0,Pt(o.eleCaches),o.context.setTransform(1,0,0,1,0,0),o.context.clearRect(0,0,o.width,o.height),Mt(r,o),n.push(o),o}},os.queueElement=function(t,e){var n=this.getElementQueue(),r=this.getElementKeyToQueue(),i=this.getKey(t),o=r[i];if(o)o.level=Math.max(o.level,e),o.eles.merge(t),o.reqs++,n.updateItem(o);else{var a={eles:t.spawn().merge(t),level:e,reqs:1,key:i};n.push(a),r[i]=a}},os.dequeue=function(t){for(var e=this,n=e.getElementQueue(),r=e.getElementKeyToQueue(),i=[],o=e.lookup,a=0;a<1&&n.size()>0;a++){var s=n.pop(),c=s.key,u=s.eles[0],l=o.hasCache(u,s.level);if(r[c]=null,!l){i.push(s);var h=e.getBoundingBox(u);e.getElement(u,h,t,s.level,ns.dequeue)}}return i},os.removeFromQueue=function(t){var e=this.getElementQueue(),n=this.getElementKeyToQueue(),r=this.getKey(t),i=n[r];null!=i&&(1===i.eles.length?(i.reqs=wt,e.updateItem(i),e.pop(),n[r]=null):i.eles.unmerge(t))},os.onDequeue=function(t){this.onDequeues.push(t)},os.offDequeue=function(t){Mt(this.onDequeues,t)},os.setupDequeueing=ts({deqRedrawThreshold:100,deqCost:.15,deqAvgCost:.1,deqNoDrawCost:.9,deqFastCost:.9,deq:function(t,e,n){return t.dequeue(e,n)},onDeqd:function(t,e){for(var n=0;n=3.99||n>2)return null;r.validateLayersElesOrdering(n,t);var a,s,c=r.layersByLevel,u=Math.pow(2,n),l=c[n]=c[n]||[];if(r.levelIsComplete(n,t))return l;!function(){var e=function(e){if(r.validateLayersElesOrdering(e,t),r.levelIsComplete(e,t))return s=c[e],!0},i=function(t){if(!s)for(var r=n+t;-4<=r&&r<=2&&!e(r);r+=t);};i(1),i(-1);for(var o=l.length-1;o>=0;o--){var a=l[o];a.invalid&&Mt(l,a)}}();var h=function(e){var i=(e=e||{}).after;if(function(){if(!a){a=pe();for(var e=0;e16e6)return null;var o=r.makeLayer(a,n);if(null!=i){var s=l.indexOf(i)+1;l.splice(s,0,o)}else(void 0===e.insert||e.insert)&&l.unshift(o);return o};if(r.skipping&&!o)return null;for(var f=null,d=t.length/1,p=!o,g=0;g=d||!_e(f.bb,v.boundingBox()))&&!(f=h({insert:!0,after:f})))return null;s||p?r.queueLayer(f,v):r.drawEleInLayer(f,v,n,e),f.eles.push(v),y[n]=f}}return s||(p?null:l)},ss.getEleLevelForLayerLevel=function(t,e){return t},ss.drawEleInLayer=function(t,e,n,r){var i=this.renderer,o=t.context,a=e.boundingBox();0!==a.w&&0!==a.h&&e.visible()&&(n=this.getEleLevelForLayerLevel(n,r),i.setImgSmoothing(o,!1),i.drawCachedElement(o,e,null,null,n,!0),i.setImgSmoothing(o,!0))},ss.levelIsComplete=function(t,e){var n=this.layersByLevel[t];if(!n||0===n.length)return!1;for(var r=0,i=0;i0)return!1;if(o.invalid)return!1;r+=o.eles.length}return r===e.length},ss.validateLayersElesOrdering=function(t,e){var n=this.layersByLevel[t];if(n)for(var r=0;r0){t=!0;break}}return t},ss.invalidateElements=function(t){var e=this;0!==t.length&&(e.lastInvalidationTime=at(),0!==t.length&&e.haveLayers()&&e.updateElementsInLayers(t,(function(t,n,r){e.invalidateLayer(t)})))},ss.invalidateLayer=function(t){if(this.lastInvalidationTime=at(),!t.invalid){var e=t.level,n=t.eles,r=this.layersByLevel[e];Mt(r,t),t.elesQueue=[],t.invalid=!0,t.replacement&&(t.replacement.invalid=!0);for(var i=0;i3&&void 0!==arguments[3])||arguments[3],i=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],o=!(arguments.length>5&&void 0!==arguments[5])||arguments[5],a=this,s=e._private.rscratch;if((!o||e.visible())&&!s.badLine&&null!=s.allpts&&!isNaN(s.allpts[0])){var c;n&&(c=n,t.translate(-c.x1,-c.y1));var u=o?e.pstyle("opacity").value:1,l=o?e.pstyle("line-opacity").value:1,h=e.pstyle("curve-style").value,f=e.pstyle("line-style").value,d=e.pstyle("width").pfValue,p=e.pstyle("line-cap").value,g=u*l,v=u*l,b=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:g;"straight-triangle"===h?(a.eleStrokeStyle(t,e,n),a.drawEdgeTrianglePath(e,t,s.allpts)):(t.lineWidth=d,t.lineCap=p,a.eleStrokeStyle(t,e,n),a.drawEdgePath(e,t,s.allpts,f),t.lineCap="butt")},y=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:v;a.drawArrowheads(t,e,n)};if(t.lineJoin="round","yes"===e.pstyle("ghost").value){var m=e.pstyle("ghost-offset-x").pfValue,w=e.pstyle("ghost-offset-y").pfValue,x=e.pstyle("ghost-opacity").value,_=g*x;t.translate(m,w),b(_),y(_),t.translate(-m,-w)}i&&a.drawEdgeUnderlay(t,e),b(),y(),i&&a.drawEdgeOverlay(t,e),a.drawElementText(t,e,null,r),n&&t.translate(c.x1,c.y1)}}},Ts=function(t){if(!["overlay","underlay"].includes(t))throw new Error("Invalid state");return function(e,n){if(n.visible()){var r=n.pstyle("".concat(t,"-opacity")).value;if(0!==r){var i=this,o=i.usePaths(),a=n._private.rscratch,s=2*n.pstyle("".concat(t,"-padding")).pfValue,c=n.pstyle("".concat(t,"-color")).value;e.lineWidth=s,"self"!==a.edgeType||o?e.lineCap="round":e.lineCap="butt",i.colorStrokeStyle(e,c[0],c[1],c[2],r),i.drawEdgePath(n,e,a.allpts,"solid")}}}};ks.drawEdgeOverlay=Ts("overlay"),ks.drawEdgeUnderlay=Ts("underlay"),ks.drawEdgePath=function(t,e,n,r){var i,o=t._private.rscratch,a=e,s=!1,c=this.usePaths(),u=t.pstyle("line-dash-pattern").pfValue,l=t.pstyle("line-dash-offset").pfValue;if(c){var h=n.join("$");o.pathCacheKey&&o.pathCacheKey===h?(i=e=o.pathCache,s=!0):(i=e=new Path2D,o.pathCacheKey=h,o.pathCache=i)}if(a.setLineDash)switch(r){case"dotted":a.setLineDash([1,1]);break;case"dashed":a.setLineDash(u),a.lineDashOffset=l;break;case"solid":a.setLineDash([])}if(!s&&!o.badLine)switch(e.beginPath&&e.beginPath(),e.moveTo(n[0],n[1]),o.edgeType){case"bezier":case"self":case"compound":case"multibezier":for(var f=2;f+35&&void 0!==arguments[5]?arguments[5]:5,a=arguments.length>6?arguments[6]:void 0;t.beginPath(),t.moveTo(e+o,n),t.lineTo(e+r-o,n),t.quadraticCurveTo(e+r,n,e+r,n+o),t.lineTo(e+r,n+i-o),t.quadraticCurveTo(e+r,n+i,e+r-o,n+i),t.lineTo(e+o,n+i),t.quadraticCurveTo(e,n+i,e,n+i-o),t.lineTo(e,n+o),t.quadraticCurveTo(e,n,e+o,n),t.closePath(),a?t.stroke():t.fill()}Ns.eleTextBiggerThanMin=function(t,e){if(!e){var n=t.cy().zoom(),r=this.getPixelRatio(),i=Math.ceil(ae(n*r));e=Math.pow(2,i)}return!(t.pstyle("font-size").pfValue*e5&&void 0!==arguments[5])||arguments[5],a=this;if(null==r){if(o&&!a.eleTextBiggerThanMin(e))return}else if(!1===r)return;if(e.isNode()){var s=e.pstyle("label");if(!s||!s.value)return;var c=a.getLabelJustification(e);t.textAlign=c,t.textBaseline="bottom"}else{var u=e.element()._private.rscratch.badLine,l=e.pstyle("label"),h=e.pstyle("source-label"),f=e.pstyle("target-label");if(u||(!l||!l.value)&&(!h||!h.value)&&(!f||!f.value))return;t.textAlign="center",t.textBaseline="bottom"}var d,p=!n;n&&(d=n,t.translate(-d.x1,-d.y1)),null==i?(a.drawText(t,e,null,p,o),e.isEdge()&&(a.drawText(t,e,"source",p,o),a.drawText(t,e,"target",p,o))):a.drawText(t,e,i,p,o),n&&t.translate(d.x1,d.y1)},Ns.getFontCache=function(t){var e;this.fontCaches=this.fontCaches||[];for(var n=0;n2&&void 0!==arguments[2])||arguments[2],r=e.pstyle("font-style").strValue,i=e.pstyle("font-size").pfValue+"px",o=e.pstyle("font-family").strValue,a=e.pstyle("font-weight").strValue,s=n?e.effectiveOpacity()*e.pstyle("text-opacity").value:1,c=e.pstyle("text-outline-opacity").value*s,u=e.pstyle("color").value,l=e.pstyle("text-outline-color").value;t.font=r+" "+a+" "+i+" "+o,t.lineJoin="round",this.colorFillStyle(t,u[0],u[1],u[2],s),this.colorStrokeStyle(t,l[0],l[1],l[2],c)},Ns.getTextAngle=function(t,e){var n=t._private.rscratch,r=e?e+"-":"",i=t.pstyle(r+"text-rotation"),o=Dt(n,"labelAngle",e);return"autorotate"===i.strValue?t.isEdge()?o:0:"none"===i.strValue?0:i.pfValue},Ns.drawText=function(t,e,n){var r=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],i=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],o=e._private.rscratch,a=i?e.effectiveOpacity():1;if(!i||0!==a&&0!==e.pstyle("text-opacity").value){"main"===n&&(n=null);var s,c,u=Dt(o,"labelX",n),l=Dt(o,"labelY",n),h=this.getLabelText(e,n);if(null!=h&&""!==h&&!isNaN(u)&&!isNaN(l)){this.setupTextStyle(t,e,i);var f,d=n?n+"-":"",p=Dt(o,"labelWidth",n),g=Dt(o,"labelHeight",n),v=e.pstyle(d+"text-margin-x").pfValue,b=e.pstyle(d+"text-margin-y").pfValue,y=e.isEdge(),m=e.pstyle("text-halign").value,w=e.pstyle("text-valign").value;switch(y&&(m="center",w="center"),u+=v,l+=b,0!==(f=r?this.getTextAngle(e,n):0)&&(s=u,c=l,t.translate(s,c),t.rotate(f),u=0,l=0),w){case"top":break;case"center":l+=g/2;break;case"bottom":l+=g}var x=e.pstyle("text-background-opacity").value,_=e.pstyle("text-border-opacity").value,E=e.pstyle("text-border-width").pfValue,k=e.pstyle("text-background-padding").pfValue,T=0===e.pstyle("text-background-shape").strValue.indexOf("round");if(x>0||E>0&&_>0){var C=u-k;switch(m){case"left":C-=p;break;case"center":C-=p/2}var N=l-g-k,A=p+2*k,S=g+2*k;if(x>0){var O=t.fillStyle,L=e.pstyle("text-background-color").value;t.fillStyle="rgba("+L[0]+","+L[1]+","+L[2]+","+x*a+")",T?As(t,C,N,A,S,2):t.fillRect(C,N,A,S),t.fillStyle=O}if(E>0&&_>0){var I=t.strokeStyle,M=t.lineWidth,P=e.pstyle("text-border-color").value,D=e.pstyle("text-border-style").value;if(t.strokeStyle="rgba("+P[0]+","+P[1]+","+P[2]+","+_*a+")",t.lineWidth=E,t.setLineDash)switch(D){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash([4,2]);break;case"double":t.lineWidth=E/4,t.setLineDash([]);break;case"solid":t.setLineDash([])}if(T?As(t,C,N,A,S,2,"stroke"):t.strokeRect(C,N,A,S),"double"===D){var R=E/2;T?As(t,C+R,N+R,A-2*R,S-2*R,2,"stroke"):t.strokeRect(C+R,N+R,A-2*R,S-2*R)}t.setLineDash&&t.setLineDash([]),t.lineWidth=M,t.strokeStyle=I}}var j=2*e.pstyle("text-outline-width").pfValue;if(j>0&&(t.lineWidth=j),"wrap"===e.pstyle("text-wrap").value){var G=Dt(o,"labelWrapCachedLines",n),B=Dt(o,"labelLineHeight",n),F=p/2,H=this.getLabelJustification(e);switch("auto"===H||("left"===m?"left"===H?u+=-p:"center"===H&&(u+=-F):"center"===m?"left"===H?u+=-F:"right"===H&&(u+=F):"right"===m&&("center"===H?u+=F:"right"===H&&(u+=p))),w){case"top":case"center":case"bottom":l-=(G.length-1)*B}for(var Y=0;Y0&&t.strokeText(G[Y],u,l),t.fillText(G[Y],u,l),l+=B}else j>0&&t.strokeText(h,u,l),t.fillText(h,u,l);0!==f&&(t.rotate(-f),t.translate(-s,-c))}}};var Ss={drawNode:function(t,e,n){var r,i,o=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],a=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],s=!(arguments.length>5&&void 0!==arguments[5])||arguments[5],c=this,u=e._private,l=u.rscratch,h=e.position();if(I(h.x)&&I(h.y)&&(!s||e.visible())){var f,d,p=s?e.effectiveOpacity():1,g=c.usePaths(),v=!1,b=e.padding();r=e.width()+2*b,i=e.height()+2*b,n&&(d=n,t.translate(-d.x1,-d.y1));for(var y=e.pstyle("background-image").value,m=new Array(y.length),w=new Array(y.length),x=0,_=0;_0&&void 0!==arguments[0]?arguments[0]:N;c.eleFillStyle(t,e,n)},G=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:O;c.colorStrokeStyle(t,A[0],A[1],A[2],e)},B=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:D;c.colorStrokeStyle(t,M[0],M[1],M[2],e)},F=function(t,e,n,r){var i,o=c.nodePathCache=c.nodePathCache||[],a=gt("polygon"===n?n+","+r.join(","):n,""+e,""+t),s=o[a],u=!1;return null!=s?(i=s,u=!0,l.pathCache=i):(i=new Path2D,o[a]=l.pathCache=i),{path:i,cacheHit:u}},H=e.pstyle("shape").strValue,Y=e.pstyle("shape-polygon-points").pfValue;if(g){t.translate(h.x,h.y);var z=F(r,i,H,Y);f=z.path,v=z.cacheHit}var U=function(){if(!v){var n=h;g&&(n={x:0,y:0}),c.nodeShapes[c.getNodeShape(e)].draw(f||t,n.x,n.y,r,i)}g?t.fill(f):t.fill()},V=function(){for(var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:p,r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=u.backgrounding,o=0,a=0;a0&&void 0!==arguments[0]&&arguments[0],o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:p;c.hasPie(e)&&(c.drawPie(t,e,o),n&&(g||c.nodeShapes[c.getNodeShape(e)].draw(t,h.x,h.y,r,i)))},X=function(){var e=(T>0?T:-T)*(arguments.length>0&&void 0!==arguments[0]?arguments[0]:p),n=T>0?0:255;0!==T&&(c.colorFillStyle(t,n,n,n,e),g?t.fill(f):t.fill())},W=function(){if(C>0){if(t.lineWidth=C,t.lineCap="butt",t.setLineDash)switch(S){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash([4,2]);break;case"solid":case"double":t.setLineDash([])}if(g?t.stroke(f):t.stroke(),"double"===S){t.lineWidth=C/3;var e=t.globalCompositeOperation;t.globalCompositeOperation="destination-out",g?t.stroke(f):t.stroke(),t.globalCompositeOperation=e}t.setLineDash&&t.setLineDash([])}},$=function(){if(L>0){if(t.lineWidth=L,t.lineCap="butt",t.setLineDash)switch(P){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash([4,2]);break;case"solid":case"double":t.setLineDash([])}var n=h;g&&(n={x:0,y:0});var o,a=c.getNodeShape(e),s=(r+C+(L+R))/r,u=(i+C+(L+R))/i,l=r*s,f=i*u,d=c.nodeShapes[a].points;if(g&&(o=F(l,f,a,d).path),"ellipse"===a)c.drawEllipsePath(o||t,n.x,n.y,l,f);else if(["round-diamond","round-heptagon","round-hexagon","round-octagon","round-pentagon","round-polygon","round-triangle","round-tag"].includes(a)){var p=0,v=0,b=0;"round-diamond"===a?p=1.4*(C+R+L):"round-heptagon"===a?(p=1.075*(C+R+L),b=-(C/2+R+L)/35):"round-hexagon"===a?p=1.12*(C+R+L):"round-pentagon"===a?(p=1.13*(C+R+L),b=-(C/2+R+L)/15):"round-tag"===a?(p=1.12*(C+R+L),v=.07*(C/2+L+R)):"round-triangle"===a&&(p=(C+R+L)*(Math.PI/2),b=-(C+R/2+L)/Math.PI),0!==p&&(s=(r+p)/r,u=(i+p)/i),c.drawRoundPolygonPath(o||t,n.x+v,n.y+b,r*s,i*u,d)}else["roundrectangle","round-rectangle"].includes(a)?c.drawRoundRectanglePath(o||t,n.x,n.y,l,f):["cutrectangle","cut-rectangle"].includes(a)?c.drawCutRectanglePath(o||t,n.x,n.y,l,f):["bottomroundrectangle","bottom-round-rectangle"].includes(a)?c.drawBottomRoundRectanglePath(o||t,n.x,n.y,l,f):"barrel"===a?c.drawBarrelPath(o||t,n.x,n.y,l,f):a.startsWith("polygon")||["rhomboid","right-rhomboid","round-tag","tag","vee"].includes(a)?(d=Oe(Le(d,(C+L+R)/r)),c.drawPolygonPath(o||t,n.x,n.y,r,i,d)):(d=Oe(Le(d,-(C+L+R)/r)),c.drawPolygonPath(o||t,n.x,n.y,r,i,d));if(g?t.stroke(o):t.stroke(),"double"===P){t.lineWidth=C/3;var y=t.globalCompositeOperation;t.globalCompositeOperation="destination-out",g?t.stroke(o):t.stroke(),t.globalCompositeOperation=y}t.setLineDash&&t.setLineDash([])}};if("yes"===e.pstyle("ghost").value){var Z=e.pstyle("ghost-offset-x").pfValue,K=e.pstyle("ghost-offset-y").pfValue,Q=e.pstyle("ghost-opacity").value,J=Q*p;t.translate(Z,K),B(),$(),j(Q*N),U(),V(J,!0),G(Q*O),W(),q(0!==T||0!==C),V(J,!1),X(J),t.translate(-Z,-K)}g&&t.translate(-h.x,-h.y),a&&c.drawNodeUnderlay(t,e,h,r,i),g&&t.translate(h.x,h.y),B(),$(),j(),U(),V(p,!0),G(),W(),q(0!==T||0!==C),V(p,!1),X(),g&&t.translate(-h.x,-h.y),c.drawElementText(t,e,null,o),a&&c.drawNodeOverlay(t,e,h,r,i),n&&t.translate(d.x1,d.y1)}}},Os=function(t){if(!["overlay","underlay"].includes(t))throw new Error("Invalid state");return function(e,n,r,i,o){if(n.visible()){var a=n.pstyle("".concat(t,"-padding")).pfValue,s=n.pstyle("".concat(t,"-opacity")).value,c=n.pstyle("".concat(t,"-color")).value,u=n.pstyle("".concat(t,"-shape")).value;if(s>0){if(r=r||n.position(),null==i||null==o){var l=n.padding();i=n.width()+2*l,o=n.height()+2*l}this.colorFillStyle(e,c[0],c[1],c[2],s),this.nodeShapes[u].draw(e,r.x,r.y,i+2*a,o+2*a),e.fill()}}}};Ss.drawNodeOverlay=Os("overlay"),Ss.drawNodeUnderlay=Os("underlay"),Ss.hasPie=function(t){return(t=t[0])._private.hasPie},Ss.drawPie=function(t,e,n,r){e=e[0],r=r||e.position();var i=e.cy().style(),o=e.pstyle("pie-size"),a=r.x,s=r.y,c=e.width(),u=e.height(),l=Math.min(c,u)/2,h=0;this.usePaths()&&(a=0,s=0),"%"===o.units?l*=o.pfValue:void 0!==o.pfValue&&(l=o.pfValue/2);for(var f=1;f<=i.pieBackgroundN;f++){var d=e.pstyle("pie-"+f+"-background-size").value,p=e.pstyle("pie-"+f+"-background-color").value,g=e.pstyle("pie-"+f+"-background-opacity").value*n,v=d/100;v+h>1&&(v=1-h);var b=1.5*Math.PI+2*Math.PI*h,y=b+2*Math.PI*v;0===d||h>=1||h+v>1||(t.beginPath(),t.moveTo(a,s),t.arc(a,s,l,b,y),t.closePath(),this.colorFillStyle(t,p[0],p[1],p[2],g),t.fill(),h+=v)}};for(var Ls={getPixelRatio:function(){var t=this.data.contexts[0];if(null!=this.forcedPixelRatio)return this.forcedPixelRatio;var e=t.backingStorePixelRatio||t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1;return(window.devicePixelRatio||1)/e},paintCache:function(t){for(var e,n=this.paintCaches=this.paintCaches||[],r=!0,i=0;ia.minMbLowQualFrames&&(a.motionBlurPxRatio=a.mbPxRBlurry)),a.clearingMotionBlur&&(a.motionBlurPxRatio=1),a.textureDrawLastFrame&&!h&&(l[a.NODE]=!0,l[a.SELECT_BOX]=!0);var y=c.style(),m=c.zoom(),w=void 0!==i?i:m,x=c.pan(),_={x:x.x,y:x.y},E={zoom:m,pan:{x:x.x,y:x.y}},k=a.prevViewport;void 0===k||E.zoom!==k.zoom||E.pan.x!==k.pan.x||E.pan.y!==k.pan.y||g&&!p||(a.motionBlurPxRatio=1),o&&(_=o),w*=s,_.x*=s,_.y*=s;var T=a.getCachedZSortedEles();function C(t,e,n,r,i){var o=t.globalCompositeOperation;t.globalCompositeOperation="destination-out",a.colorFillStyle(t,255,255,255,a.motionBlurTransparency),t.fillRect(e,n,r,i),t.globalCompositeOperation=o}function N(t,r){var s,c,l,h;a.clearingMotionBlur||t!==u.bufferContexts[a.MOTIONBLUR_BUFFER_NODE]&&t!==u.bufferContexts[a.MOTIONBLUR_BUFFER_DRAG]?(s=_,c=w,l=a.canvasWidth,h=a.canvasHeight):(s={x:x.x*d,y:x.y*d},c=m*d,l=a.canvasWidth*d,h=a.canvasHeight*d),t.setTransform(1,0,0,1,0,0),"motionBlur"===r?C(t,0,0,l,h):e||void 0!==r&&!r||t.clearRect(0,0,l,h),n||(t.translate(s.x,s.y),t.scale(c,c)),o&&t.translate(o.x,o.y),i&&t.scale(i,i)}if(h||(a.textureDrawLastFrame=!1),h){if(a.textureDrawLastFrame=!0,!a.textureCache){a.textureCache={},a.textureCache.bb=c.mutableElements().boundingBox(),a.textureCache.texture=a.data.bufferCanvases[a.TEXTURE_BUFFER];var A=a.data.bufferContexts[a.TEXTURE_BUFFER];A.setTransform(1,0,0,1,0,0),A.clearRect(0,0,a.canvasWidth*a.textureMult,a.canvasHeight*a.textureMult),a.render({forcedContext:A,drawOnlyNodeLayer:!0,forcedPxRatio:s*a.textureMult}),(E=a.textureCache.viewport={zoom:c.zoom(),pan:c.pan(),width:a.canvasWidth,height:a.canvasHeight}).mpan={x:(0-E.pan.x)/E.zoom,y:(0-E.pan.y)/E.zoom}}l[a.DRAG]=!1,l[a.NODE]=!1;var S=u.contexts[a.NODE],O=a.textureCache.texture;E=a.textureCache.viewport,S.setTransform(1,0,0,1,0,0),f?C(S,0,0,E.width,E.height):S.clearRect(0,0,E.width,E.height);var L=y.core("outside-texture-bg-color").value,I=y.core("outside-texture-bg-opacity").value;a.colorFillStyle(S,L[0],L[1],L[2],I),S.fillRect(0,0,E.width,E.height),m=c.zoom(),N(S,!1),S.clearRect(E.mpan.x,E.mpan.y,E.width/E.zoom/s,E.height/E.zoom/s),S.drawImage(O,E.mpan.x,E.mpan.y,E.width/E.zoom/s,E.height/E.zoom/s)}else a.textureOnViewport&&!e&&(a.textureCache=null);var M=c.extent(),P=a.pinching||a.hoverData.dragging||a.swipePanning||a.data.wheelZooming||a.hoverData.draggingEles||a.cy.animated(),D=a.hideEdgesOnViewport&&P,R=[];if(R[a.NODE]=!l[a.NODE]&&f&&!a.clearedForMotionBlur[a.NODE]||a.clearingMotionBlur,R[a.NODE]&&(a.clearedForMotionBlur[a.NODE]=!0),R[a.DRAG]=!l[a.DRAG]&&f&&!a.clearedForMotionBlur[a.DRAG]||a.clearingMotionBlur,R[a.DRAG]&&(a.clearedForMotionBlur[a.DRAG]=!0),l[a.NODE]||n||r||R[a.NODE]){var j=f&&!R[a.NODE]&&1!==d;N(S=e||(j?a.data.bufferContexts[a.MOTIONBLUR_BUFFER_NODE]:u.contexts[a.NODE]),f&&!j?"motionBlur":void 0),D?a.drawCachedNodes(S,T.nondrag,s,M):a.drawLayeredElements(S,T.nondrag,s,M),a.debug&&a.drawDebugPoints(S,T.nondrag),n||f||(l[a.NODE]=!1)}if(!r&&(l[a.DRAG]||n||R[a.DRAG])&&(j=f&&!R[a.DRAG]&&1!==d,N(S=e||(j?a.data.bufferContexts[a.MOTIONBLUR_BUFFER_DRAG]:u.contexts[a.DRAG]),f&&!j?"motionBlur":void 0),D?a.drawCachedNodes(S,T.drag,s,M):a.drawCachedElements(S,T.drag,s,M),a.debug&&a.drawDebugPoints(S,T.drag),n||f||(l[a.DRAG]=!1)),a.showFps||!r&&l[a.SELECT_BOX]&&!n){if(N(S=e||u.contexts[a.SELECT_BOX]),1==a.selection[4]&&(a.hoverData.selecting||a.touchData.selecting)){m=a.cy.zoom();var G=y.core("selection-box-border-width").value/m;S.lineWidth=G,S.fillStyle="rgba("+y.core("selection-box-color").value[0]+","+y.core("selection-box-color").value[1]+","+y.core("selection-box-color").value[2]+","+y.core("selection-box-opacity").value+")",S.fillRect(a.selection[0],a.selection[1],a.selection[2]-a.selection[0],a.selection[3]-a.selection[1]),G>0&&(S.strokeStyle="rgba("+y.core("selection-box-border-color").value[0]+","+y.core("selection-box-border-color").value[1]+","+y.core("selection-box-border-color").value[2]+","+y.core("selection-box-opacity").value+")",S.strokeRect(a.selection[0],a.selection[1],a.selection[2]-a.selection[0],a.selection[3]-a.selection[1]))}if(u.bgActivePosistion&&!a.hoverData.selecting){m=a.cy.zoom();var B=u.bgActivePosistion;S.fillStyle="rgba("+y.core("active-bg-color").value[0]+","+y.core("active-bg-color").value[1]+","+y.core("active-bg-color").value[2]+","+y.core("active-bg-opacity").value+")",S.beginPath(),S.arc(B.x,B.y,y.core("active-bg-size").pfValue/m,0,2*Math.PI),S.fill()}var F=a.lastRedrawTime;if(a.showFps&&F){F=Math.round(F);var H=Math.round(1e3/F);S.setTransform(1,0,0,1,0,0),S.fillStyle="rgba(255, 0, 0, 0.75)",S.strokeStyle="rgba(255, 0, 0, 0.75)",S.lineWidth=1,S.fillText("1 frame = "+F+" ms = "+H+" fps",0,20),S.strokeRect(0,30,250,20),S.fillRect(0,30,250*Math.min(H/60,1),20)}n||(l[a.SELECT_BOX]=!1)}if(f&&1!==d){var Y=u.contexts[a.NODE],z=a.data.bufferCanvases[a.MOTIONBLUR_BUFFER_NODE],U=u.contexts[a.DRAG],V=a.data.bufferCanvases[a.MOTIONBLUR_BUFFER_DRAG],q=function(t,e,n){t.setTransform(1,0,0,1,0,0),n||!b?t.clearRect(0,0,a.canvasWidth,a.canvasHeight):C(t,0,0,a.canvasWidth,a.canvasHeight);var r=d;t.drawImage(e,0,0,a.canvasWidth*r,a.canvasHeight*r,0,0,a.canvasWidth,a.canvasHeight)};(l[a.NODE]||R[a.NODE])&&(q(Y,z,R[a.NODE]),l[a.NODE]=!1),(l[a.DRAG]||R[a.DRAG])&&(q(U,V,R[a.DRAG]),l[a.DRAG]=!1)}a.prevViewport=E,a.clearingMotionBlur&&(a.clearingMotionBlur=!1,a.motionBlurCleared=!0,a.motionBlur=!0),f&&(a.motionBlurTimeout=setTimeout((function(){a.motionBlurTimeout=null,a.clearedForMotionBlur[a.NODE]=!1,a.clearedForMotionBlur[a.DRAG]=!1,a.motionBlur=!1,a.clearingMotionBlur=!h,a.mbFrames=0,l[a.NODE]=!0,l[a.DRAG]=!0,a.redraw()}),100)),e||c.emit("render")}},Is={drawPolygonPath:function(t,e,n,r,i,o){var a=r/2,s=i/2;t.beginPath&&t.beginPath(),t.moveTo(e+a*o[0],n+s*o[1]);for(var c=1;c0&&o>0){f.clearRect(0,0,i,o),f.globalCompositeOperation="source-over";var d=this.getCachedZSortedEles();if(t.full)f.translate(-n.x1*c,-n.y1*c),f.scale(c,c),this.drawElements(f,d),f.scale(1/c,1/c),f.translate(n.x1*c,n.y1*c);else{var p=e.pan(),g={x:p.x*c,y:p.y*c};c*=e.zoom(),f.translate(g.x,g.y),f.scale(c,c),this.drawElements(f,d),f.scale(1/c,1/c),f.translate(-g.x,-g.y)}t.bg&&(f.globalCompositeOperation="destination-over",f.fillStyle=t.bg,f.rect(0,0,i,o),f.fill())}return h},Bs.png=function(t){return Hs(t,this.bufferCanvasImage(t),"image/png")},Bs.jpg=function(t){return Hs(t,this.bufferCanvasImage(t),"image/jpeg")};var Ys=Us,zs=Us.prototype;function Us(t){var e=this;e.data={canvases:new Array(zs.CANVAS_LAYERS),contexts:new Array(zs.CANVAS_LAYERS),canvasNeedsRedraw:new Array(zs.CANVAS_LAYERS),bufferCanvases:new Array(zs.BUFFER_COUNT),bufferContexts:new Array(zs.CANVAS_LAYERS)};var n="-webkit-tap-highlight-color",r="rgba(0,0,0,0)";e.data.canvasContainer=document.createElement("div");var i=e.data.canvasContainer.style;e.data.canvasContainer.style[n]=r,i.position="relative",i.zIndex="0",i.overflow="hidden";var o=t.cy.container();o.appendChild(e.data.canvasContainer),o.style[n]=r;var a={"-webkit-user-select":"none","-moz-user-select":"-moz-none","user-select":"none","-webkit-tap-highlight-color":"rgba(0,0,0,0)","outline-style":"none"};_&&_.userAgent.match(/msie|trident|edge/i)&&(a["-ms-touch-action"]="none",a["touch-action"]="none");for(var s=0;s{t.exports={graphlib:n(574),layout:n(8123),debug:n(7570),util:{time:n(7266).time,notime:n(7266).notime},version:n(8177)}},2188:(t,e,n)=>{"use strict";var r=n(8436),i=n(4079);t.exports={run:function(t){var e="greedy"===t.graph().acyclicer?i(t,function(t){return function(e){return t.edge(e).weight}}(t)):function(t){var e=[],n={},i={};return r.forEach(t.nodes(),(function o(a){r.has(i,a)||(i[a]=!0,n[a]=!0,r.forEach(t.outEdges(a),(function(t){r.has(n,t.w)?e.push(t):o(t.w)})),delete n[a])})),e}(t);r.forEach(e,(function(e){var n=t.edge(e);t.removeEdge(e),n.forwardName=e.name,n.reversed=!0,t.setEdge(e.w,e.v,n,r.uniqueId("rev"))}))},undo:function(t){r.forEach(t.edges(),(function(e){var n=t.edge(e);if(n.reversed){t.removeEdge(e);var r=n.forwardName;delete n.reversed,delete n.forwardName,t.setEdge(e.w,e.v,n,r)}}))}}},1133:(t,e,n)=>{var r=n(8436),i=n(7266);function o(t,e,n,r,o,a){var s={width:0,height:0,rank:a,borderType:e},c=o[e][a-1],u=i.addDummyNode(t,"border",s,n);o[e][a]=u,t.setParent(u,r),c&&t.setEdge(c,u,{weight:1})}t.exports=function(t){r.forEach(t.children(),(function e(n){var i=t.children(n),a=t.node(n);if(i.length&&r.forEach(i,e),r.has(a,"minRank")){a.borderLeft=[],a.borderRight=[];for(var s=a.minRank,c=a.maxRank+1;s{"use strict";var r=n(8436);function i(t){r.forEach(t.nodes(),(function(e){o(t.node(e))})),r.forEach(t.edges(),(function(e){o(t.edge(e))}))}function o(t){var e=t.width;t.width=t.height,t.height=e}function a(t){t.y=-t.y}function s(t){var e=t.x;t.x=t.y,t.y=e}t.exports={adjust:function(t){var e=t.graph().rankdir.toLowerCase();"lr"!==e&&"rl"!==e||i(t)},undo:function(t){var e=t.graph().rankdir.toLowerCase();"bt"!==e&&"rl"!==e||function(t){r.forEach(t.nodes(),(function(e){a(t.node(e))})),r.forEach(t.edges(),(function(e){var n=t.edge(e);r.forEach(n.points,a),r.has(n,"y")&&a(n)}))}(t),"lr"!==e&&"rl"!==e||(function(t){r.forEach(t.nodes(),(function(e){s(t.node(e))})),r.forEach(t.edges(),(function(e){var n=t.edge(e);r.forEach(n.points,s),r.has(n,"x")&&s(n)}))}(t),i(t))}}},7822:t=>{function e(){var t={};t._next=t._prev=t,this._sentinel=t}function n(t){t._prev._next=t._next,t._next._prev=t._prev,delete t._next,delete t._prev}function r(t,e){if("_next"!==t&&"_prev"!==t)return e}t.exports=e,e.prototype.dequeue=function(){var t=this._sentinel,e=t._prev;if(e!==t)return n(e),e},e.prototype.enqueue=function(t){var e=this._sentinel;t._prev&&t._next&&n(t),t._next=e._next,e._next._prev=t,e._next=t,t._prev=e},e.prototype.toString=function(){for(var t=[],e=this._sentinel,n=e._prev;n!==e;)t.push(JSON.stringify(n,r)),n=n._prev;return"["+t.join(", ")+"]"}},7570:(t,e,n)=>{var r=n(8436),i=n(7266),o=n(574).Graph;t.exports={debugOrdering:function(t){var e=i.buildLayerMatrix(t),n=new o({compound:!0,multigraph:!0}).setGraph({});return r.forEach(t.nodes(),(function(e){n.setNode(e,{label:e}),n.setParent(e,"layer"+t.node(e).rank)})),r.forEach(t.edges(),(function(t){n.setEdge(t.v,t.w,{},t.name)})),r.forEach(e,(function(t,e){var i="layer"+e;n.setNode(i,{rank:"same"}),r.reduce(t,(function(t,e){return n.setEdge(t,e,{style:"invis"}),e}))})),n}}},574:(t,e,n)=>{var r;try{r=n(8282)}catch(t){}r||(r=window.graphlib),t.exports=r},4079:(t,e,n)=>{var r=n(8436),i=n(574).Graph,o=n(7822);t.exports=function(t,e){if(t.nodeCount()<=1)return[];var n=function(t,e){var n=new i,a=0,s=0;r.forEach(t.nodes(),(function(t){n.setNode(t,{v:t,in:0,out:0})})),r.forEach(t.edges(),(function(t){var r=n.edge(t.v,t.w)||0,i=e(t),o=r+i;n.setEdge(t.v,t.w,o),s=Math.max(s,n.node(t.v).out+=i),a=Math.max(a,n.node(t.w).in+=i)}));var u=r.range(s+a+3).map((function(){return new o})),l=a+1;return r.forEach(n.nodes(),(function(t){c(u,l,n.node(t))})),{graph:n,buckets:u,zeroIdx:l}}(t,e||a),u=function(t,e,n){for(var r,i=[],o=e[e.length-1],a=e[0];t.nodeCount();){for(;r=a.dequeue();)s(t,e,n,r);for(;r=o.dequeue();)s(t,e,n,r);if(t.nodeCount())for(var c=e.length-2;c>0;--c)if(r=e[c].dequeue()){i=i.concat(s(t,e,n,r,!0));break}}return i}(n.graph,n.buckets,n.zeroIdx);return r.flatten(r.map(u,(function(e){return t.outEdges(e.v,e.w)})),!0)};var a=r.constant(1);function s(t,e,n,i,o){var a=o?[]:void 0;return r.forEach(t.inEdges(i.v),(function(r){var i=t.edge(r),s=t.node(r.v);o&&a.push({v:r.v,w:r.w}),s.out-=i,c(e,n,s)})),r.forEach(t.outEdges(i.v),(function(r){var i=t.edge(r),o=r.w,a=t.node(o);a.in-=i,c(e,n,a)})),t.removeNode(i.v),a}function c(t,e,n){n.out?n.in?t[n.out-n.in+e].enqueue(n):t[t.length-1].enqueue(n):t[0].enqueue(n)}},8123:(t,e,n)=>{"use strict";var r=n(8436),i=n(2188),o=n(5995),a=n(8093),s=n(7266).normalizeRanks,c=n(4219),u=n(7266).removeEmptyRanks,l=n(2981),h=n(1133),f=n(3258),d=n(3408),p=n(7873),g=n(7266),v=n(574).Graph;t.exports=function(t,e){var n=e&&e.debugTiming?g.time:g.notime;n("layout",(function(){var e=n(" buildLayoutGraph",(function(){return function(t){var e=new v({multigraph:!0,compound:!0}),n=C(t.graph());return e.setGraph(r.merge({},y,T(n,b),r.pick(n,m))),r.forEach(t.nodes(),(function(n){var i=C(t.node(n));e.setNode(n,r.defaults(T(i,w),x)),e.setParent(n,t.parent(n))})),r.forEach(t.edges(),(function(n){var i=C(t.edge(n));e.setEdge(n,r.merge({},E,T(i,_),r.pick(i,k)))})),e}(t)}));n(" runLayout",(function(){!function(t,e){e(" makeSpaceForEdgeLabels",(function(){!function(t){var e=t.graph();e.ranksep/=2,r.forEach(t.edges(),(function(n){var r=t.edge(n);r.minlen*=2,"c"!==r.labelpos.toLowerCase()&&("TB"===e.rankdir||"BT"===e.rankdir?r.width+=r.labeloffset:r.height+=r.labeloffset)}))}(t)})),e(" removeSelfEdges",(function(){!function(t){r.forEach(t.edges(),(function(e){if(e.v===e.w){var n=t.node(e.v);n.selfEdges||(n.selfEdges=[]),n.selfEdges.push({e,label:t.edge(e)}),t.removeEdge(e)}}))}(t)})),e(" acyclic",(function(){i.run(t)})),e(" nestingGraph.run",(function(){l.run(t)})),e(" rank",(function(){a(g.asNonCompoundGraph(t))})),e(" injectEdgeLabelProxies",(function(){!function(t){r.forEach(t.edges(),(function(e){var n=t.edge(e);if(n.width&&n.height){var r=t.node(e.v),i={rank:(t.node(e.w).rank-r.rank)/2+r.rank,e};g.addDummyNode(t,"edge-proxy",i,"_ep")}}))}(t)})),e(" removeEmptyRanks",(function(){u(t)})),e(" nestingGraph.cleanup",(function(){l.cleanup(t)})),e(" normalizeRanks",(function(){s(t)})),e(" assignRankMinMax",(function(){!function(t){var e=0;r.forEach(t.nodes(),(function(n){var i=t.node(n);i.borderTop&&(i.minRank=t.node(i.borderTop).rank,i.maxRank=t.node(i.borderBottom).rank,e=r.max(e,i.maxRank))})),t.graph().maxRank=e}(t)})),e(" removeEdgeLabelProxies",(function(){!function(t){r.forEach(t.nodes(),(function(e){var n=t.node(e);"edge-proxy"===n.dummy&&(t.edge(n.e).labelRank=n.rank,t.removeNode(e))}))}(t)})),e(" normalize.run",(function(){o.run(t)})),e(" parentDummyChains",(function(){c(t)})),e(" addBorderSegments",(function(){h(t)})),e(" order",(function(){d(t)})),e(" insertSelfEdges",(function(){!function(t){var e=g.buildLayerMatrix(t);r.forEach(e,(function(e){var n=0;r.forEach(e,(function(e,i){var o=t.node(e);o.order=i+n,r.forEach(o.selfEdges,(function(e){g.addDummyNode(t,"selfedge",{width:e.label.width,height:e.label.height,rank:o.rank,order:i+ ++n,e:e.e,label:e.label},"_se")})),delete o.selfEdges}))}))}(t)})),e(" adjustCoordinateSystem",(function(){f.adjust(t)})),e(" position",(function(){p(t)})),e(" positionSelfEdges",(function(){!function(t){r.forEach(t.nodes(),(function(e){var n=t.node(e);if("selfedge"===n.dummy){var r=t.node(n.e.v),i=r.x+r.width/2,o=r.y,a=n.x-i,s=r.height/2;t.setEdge(n.e,n.label),t.removeNode(e),n.label.points=[{x:i+2*a/3,y:o-s},{x:i+5*a/6,y:o-s},{x:i+a,y:o},{x:i+5*a/6,y:o+s},{x:i+2*a/3,y:o+s}],n.label.x=n.x,n.label.y=n.y}}))}(t)})),e(" removeBorderNodes",(function(){!function(t){r.forEach(t.nodes(),(function(e){if(t.children(e).length){var n=t.node(e),i=t.node(n.borderTop),o=t.node(n.borderBottom),a=t.node(r.last(n.borderLeft)),s=t.node(r.last(n.borderRight));n.width=Math.abs(s.x-a.x),n.height=Math.abs(o.y-i.y),n.x=a.x+n.width/2,n.y=i.y+n.height/2}})),r.forEach(t.nodes(),(function(e){"border"===t.node(e).dummy&&t.removeNode(e)}))}(t)})),e(" normalize.undo",(function(){o.undo(t)})),e(" fixupEdgeLabelCoords",(function(){!function(t){r.forEach(t.edges(),(function(e){var n=t.edge(e);if(r.has(n,"x"))switch("l"!==n.labelpos&&"r"!==n.labelpos||(n.width-=n.labeloffset),n.labelpos){case"l":n.x-=n.width/2+n.labeloffset;break;case"r":n.x+=n.width/2+n.labeloffset}}))}(t)})),e(" undoCoordinateSystem",(function(){f.undo(t)})),e(" translateGraph",(function(){!function(t){var e=Number.POSITIVE_INFINITY,n=0,i=Number.POSITIVE_INFINITY,o=0,a=t.graph(),s=a.marginx||0,c=a.marginy||0;function u(t){var r=t.x,a=t.y,s=t.width,c=t.height;e=Math.min(e,r-s/2),n=Math.max(n,r+s/2),i=Math.min(i,a-c/2),o=Math.max(o,a+c/2)}r.forEach(t.nodes(),(function(e){u(t.node(e))})),r.forEach(t.edges(),(function(e){var n=t.edge(e);r.has(n,"x")&&u(n)})),e-=s,i-=c,r.forEach(t.nodes(),(function(n){var r=t.node(n);r.x-=e,r.y-=i})),r.forEach(t.edges(),(function(n){var o=t.edge(n);r.forEach(o.points,(function(t){t.x-=e,t.y-=i})),r.has(o,"x")&&(o.x-=e),r.has(o,"y")&&(o.y-=i)})),a.width=n-e+s,a.height=o-i+c}(t)})),e(" assignNodeIntersects",(function(){!function(t){r.forEach(t.edges(),(function(e){var n,r,i=t.edge(e),o=t.node(e.v),a=t.node(e.w);i.points?(n=i.points[0],r=i.points[i.points.length-1]):(i.points=[],n=a,r=o),i.points.unshift(g.intersectRect(o,n)),i.points.push(g.intersectRect(a,r))}))}(t)})),e(" reversePoints",(function(){!function(t){r.forEach(t.edges(),(function(e){var n=t.edge(e);n.reversed&&n.points.reverse()}))}(t)})),e(" acyclic.undo",(function(){i.undo(t)}))}(e,n)})),n(" updateInputGraph",(function(){!function(t,e){r.forEach(t.nodes(),(function(n){var r=t.node(n),i=e.node(n);r&&(r.x=i.x,r.y=i.y,e.children(n).length&&(r.width=i.width,r.height=i.height))})),r.forEach(t.edges(),(function(n){var i=t.edge(n),o=e.edge(n);i.points=o.points,r.has(o,"x")&&(i.x=o.x,i.y=o.y)})),t.graph().width=e.graph().width,t.graph().height=e.graph().height}(t,e)}))}))};var b=["nodesep","edgesep","ranksep","marginx","marginy"],y={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},m=["acyclicer","ranker","rankdir","align"],w=["width","height"],x={width:0,height:0},_=["minlen","weight","width","height","labeloffset"],E={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},k=["labelpos"];function T(t,e){return r.mapValues(r.pick(t,e),Number)}function C(t){var e={};return r.forEach(t,(function(t,n){e[n.toLowerCase()]=t})),e}},8436:(t,e,n)=>{var r;try{r={cloneDeep:n(361),constant:n(5703),defaults:n(1747),each:n(6073),filter:n(3105),find:n(3311),flatten:n(5564),forEach:n(4486),forIn:n(2620),has:n(8721),isUndefined:n(2353),last:n(928),map:n(5161),mapValues:n(6604),max:n(6162),merge:n(3857),min:n(3632),minBy:n(2762),now:n(7771),pick:n(9722),range:n(6026),reduce:n(4061),sortBy:n(9734),uniqueId:n(3955),values:n(2628),zipObject:n(7287)}}catch(t){}r||(r=window._),t.exports=r},2981:(t,e,n)=>{var r=n(8436),i=n(7266);function o(t,e,n,a,s,c,u){var l=t.children(u);if(l.length){var h=i.addBorderNode(t,"_bt"),f=i.addBorderNode(t,"_bb"),d=t.node(u);t.setParent(h,u),d.borderTop=h,t.setParent(f,u),d.borderBottom=f,r.forEach(l,(function(r){o(t,e,n,a,s,c,r);var i=t.node(r),l=i.borderTop?i.borderTop:r,d=i.borderBottom?i.borderBottom:r,p=i.borderTop?a:2*a,g=l!==d?1:s-c[u]+1;t.setEdge(h,l,{weight:p,minlen:g,nestingEdge:!0}),t.setEdge(d,f,{weight:p,minlen:g,nestingEdge:!0})})),t.parent(u)||t.setEdge(e,h,{weight:0,minlen:s+c[u]})}else u!==e&&t.setEdge(e,u,{weight:0,minlen:n})}t.exports={run:function(t){var e=i.addDummyNode(t,"root",{},"_root"),n=function(t){var e={};function n(i,o){var a=t.children(i);a&&a.length&&r.forEach(a,(function(t){n(t,o+1)})),e[i]=o}return r.forEach(t.children(),(function(t){n(t,1)})),e}(t),a=r.max(r.values(n))-1,s=2*a+1;t.graph().nestingRoot=e,r.forEach(t.edges(),(function(e){t.edge(e).minlen*=s}));var c=function(t){return r.reduce(t.edges(),(function(e,n){return e+t.edge(n).weight}),0)}(t)+1;r.forEach(t.children(),(function(r){o(t,e,s,c,a,n,r)})),t.graph().nodeRankFactor=s},cleanup:function(t){var e=t.graph();t.removeNode(e.nestingRoot),delete e.nestingRoot,r.forEach(t.edges(),(function(e){t.edge(e).nestingEdge&&t.removeEdge(e)}))}}},5995:(t,e,n)=>{"use strict";var r=n(8436),i=n(7266);t.exports={run:function(t){t.graph().dummyChains=[],r.forEach(t.edges(),(function(e){!function(t,e){var n,r,o,a=e.v,s=t.node(a).rank,c=e.w,u=t.node(c).rank,l=e.name,h=t.edge(e),f=h.labelRank;if(u!==s+1){for(t.removeEdge(e),o=0,++s;s{var r=n(8436);t.exports=function(t,e,n){var i,o={};r.forEach(n,(function(n){for(var r,a,s=t.parent(n);s;){if((r=t.parent(s))?(a=o[r],o[r]=s):(a=i,i=s),a&&a!==s)return void e.setEdge(a,s);s=r}}))}},5439:(t,e,n)=>{var r=n(8436);t.exports=function(t,e){return r.map(e,(function(e){var n=t.inEdges(e);if(n.length){var i=r.reduce(n,(function(e,n){var r=t.edge(n),i=t.node(n.v);return{sum:e.sum+r.weight*i.order,weight:e.weight+r.weight}}),{sum:0,weight:0});return{v:e,barycenter:i.sum/i.weight,weight:i.weight}}return{v:e}}))}},3128:(t,e,n)=>{var r=n(8436),i=n(574).Graph;t.exports=function(t,e,n){var o=function(t){for(var e;t.hasNode(e=r.uniqueId("_root")););return e}(t),a=new i({compound:!0}).setGraph({root:o}).setDefaultNodeLabel((function(e){return t.node(e)}));return r.forEach(t.nodes(),(function(i){var s=t.node(i),c=t.parent(i);(s.rank===e||s.minRank<=e&&e<=s.maxRank)&&(a.setNode(i),a.setParent(i,c||o),r.forEach(t[n](i),(function(e){var n=e.v===i?e.w:e.v,o=a.edge(n,i),s=r.isUndefined(o)?0:o.weight;a.setEdge(n,i,{weight:t.edge(e).weight+s})})),r.has(s,"minRank")&&a.setNode(i,{borderLeft:s.borderLeft[e],borderRight:s.borderRight[e]}))})),a}},6630:(t,e,n)=>{"use strict";var r=n(8436);function i(t,e,n){for(var i=r.zipObject(n,r.map(n,(function(t,e){return e}))),o=r.flatten(r.map(e,(function(e){return r.sortBy(r.map(t.outEdges(e),(function(e){return{pos:i[e.w],weight:t.edge(e).weight}})),"pos")})),!0),a=1;a0;)e%2&&(n+=c[e+1]),c[e=e-1>>1]+=t.weight;u+=t.weight*n}))),u}t.exports=function(t,e){for(var n=0,r=1;r{"use strict";var r=n(8436),i=n(2588),o=n(6630),a=n(1026),s=n(3128),c=n(5093),u=n(574).Graph,l=n(7266);function h(t,e,n){return r.map(e,(function(e){return s(t,e,n)}))}function f(t,e){var n=new u;r.forEach(t,(function(t){var i=t.graph().root,o=a(t,i,n,e);r.forEach(o.vs,(function(e,n){t.node(e).order=n})),c(t,n,o.vs)}))}function d(t,e){r.forEach(e,(function(e){r.forEach(e,(function(e,n){t.node(e).order=n}))}))}t.exports=function(t){var e=l.maxRank(t),n=h(t,r.range(1,e+1),"inEdges"),a=h(t,r.range(e-1,-1,-1),"outEdges"),s=i(t);d(t,s);for(var c,u=Number.POSITIVE_INFINITY,p=0,g=0;g<4;++p,++g){f(p%2?n:a,p%4>=2),s=l.buildLayerMatrix(t);var v=o(t,s);v{"use strict";var r=n(8436);t.exports=function(t){var e={},n=r.filter(t.nodes(),(function(e){return!t.children(e).length})),i=r.max(r.map(n,(function(e){return t.node(e).rank}))),o=r.map(r.range(i+1),(function(){return[]})),a=r.sortBy(n,(function(e){return t.node(e).rank}));return r.forEach(a,(function n(i){if(!r.has(e,i)){e[i]=!0;var a=t.node(i);o[a.rank].push(i),r.forEach(t.successors(i),n)}})),o}},9567:(t,e,n)=>{"use strict";var r=n(8436);t.exports=function(t,e){var n={};return r.forEach(t,(function(t,e){var i=n[t.v]={indegree:0,in:[],out:[],vs:[t.v],i:e};r.isUndefined(t.barycenter)||(i.barycenter=t.barycenter,i.weight=t.weight)})),r.forEach(e.edges(),(function(t){var e=n[t.v],i=n[t.w];r.isUndefined(e)||r.isUndefined(i)||(i.indegree++,e.out.push(n[t.w]))})),function(t){var e=[];function n(t){return function(e){var n,i,o,a;e.merged||(r.isUndefined(e.barycenter)||r.isUndefined(t.barycenter)||e.barycenter>=t.barycenter)&&(i=e,o=0,a=0,(n=t).weight&&(o+=n.barycenter*n.weight,a+=n.weight),i.weight&&(o+=i.barycenter*i.weight,a+=i.weight),n.vs=i.vs.concat(n.vs),n.barycenter=o/a,n.weight=a,n.i=Math.min(i.i,n.i),i.merged=!0)}}function i(e){return function(n){n.in.push(e),0==--n.indegree&&t.push(n)}}for(;t.length;){var o=t.pop();e.push(o),r.forEach(o.in.reverse(),n(o)),r.forEach(o.out,i(o))}return r.map(r.filter(e,(function(t){return!t.merged})),(function(t){return r.pick(t,["vs","i","barycenter","weight"])}))}(r.filter(n,(function(t){return!t.indegree})))}},1026:(t,e,n)=>{var r=n(8436),i=n(5439),o=n(9567),a=n(7304);t.exports=function t(e,n,s,c){var u=e.children(n),l=e.node(n),h=l?l.borderLeft:void 0,f=l?l.borderRight:void 0,d={};h&&(u=r.filter(u,(function(t){return t!==h&&t!==f})));var p=i(e,u);r.forEach(p,(function(n){if(e.children(n.v).length){var i=t(e,n.v,s,c);d[n.v]=i,r.has(i,"barycenter")&&(o=n,a=i,r.isUndefined(o.barycenter)?(o.barycenter=a.barycenter,o.weight=a.weight):(o.barycenter=(o.barycenter*o.weight+a.barycenter*a.weight)/(o.weight+a.weight),o.weight+=a.weight))}var o,a}));var g=o(p,s);!function(t,e){r.forEach(t,(function(t){t.vs=r.flatten(t.vs.map((function(t){return e[t]?e[t].vs:t})),!0)}))}(g,d);var v=a(g,c);if(h&&(v.vs=r.flatten([h,v.vs,f],!0),e.predecessors(h).length)){var b=e.node(e.predecessors(h)[0]),y=e.node(e.predecessors(f)[0]);r.has(v,"barycenter")||(v.barycenter=0,v.weight=0),v.barycenter=(v.barycenter*v.weight+b.order+y.order)/(v.weight+2),v.weight+=2}return v}},7304:(t,e,n)=>{var r=n(8436),i=n(7266);function o(t,e,n){for(var i;e.length&&(i=r.last(e)).i<=n;)e.pop(),t.push(i.vs),n++;return n}t.exports=function(t,e){var n,a=i.partition(t,(function(t){return r.has(t,"barycenter")})),s=a.lhs,c=r.sortBy(a.rhs,(function(t){return-t.i})),u=[],l=0,h=0,f=0;s.sort((n=!!e,function(t,e){return t.barycentere.barycenter?1:n?e.i-t.i:t.i-e.i})),f=o(u,c,f),r.forEach(s,(function(t){f+=t.vs.length,u.push(t.vs),l+=t.barycenter*t.weight,h+=t.weight,f=o(u,c,f)}));var d={vs:r.flatten(u,!0)};return h&&(d.barycenter=l/h,d.weight=h),d}},4219:(t,e,n)=>{var r=n(8436);t.exports=function(t){var e=function(t){var e={},n=0;return r.forEach(t.children(),(function i(o){var a=n;r.forEach(t.children(o),i),e[o]={low:a,lim:n++}})),e}(t);r.forEach(t.graph().dummyChains,(function(n){for(var r=t.node(n),i=r.edgeObj,o=function(t,e,n,r){var i,o,a=[],s=[],c=Math.min(e[n].low,e[r].low),u=Math.max(e[n].lim,e[r].lim);i=n;do{i=t.parent(i),a.push(i)}while(i&&(e[i].low>c||u>e[i].lim));for(o=i,i=r;(i=t.parent(i))!==o;)s.push(i);return{path:a.concat(s.reverse()),lca:o}}(t,e,i.v,i.w),a=o.path,s=o.lca,c=0,u=a[c],l=!0;n!==i.w;){if(r=t.node(n),l){for(;(u=a[c])!==s&&t.node(u).maxRank{"use strict";var r=n(8436),i=n(574).Graph,o=n(7266);function a(t,e){var n={};return r.reduce(e,(function(e,i){var o=0,a=0,s=e.length,u=r.last(i);return r.forEach(i,(function(e,l){var h=function(t,e){if(t.node(e).dummy)return r.find(t.predecessors(e),(function(e){return t.node(e).dummy}))}(t,e),f=h?t.node(h).order:s;(h||e===u)&&(r.forEach(i.slice(a,l+1),(function(e){r.forEach(t.predecessors(e),(function(r){var i=t.node(r),a=i.order;!(as)&&c(n,e,u)}))}))}return r.reduce(e,(function(e,n){var o,a=-1,s=0;return r.forEach(n,(function(r,c){if("border"===t.node(r).dummy){var u=t.predecessors(r);u.length&&(o=t.node(u[0]).order,i(n,s,c,a,o),s=c,a=o)}i(n,s,n.length,o,e.length)})),n})),n}function c(t,e,n){if(e>n){var r=e;e=n,n=r}var i=t[e];i||(t[e]=i={}),i[n]=!0}function u(t,e,n){if(e>n){var i=e;e=n,n=i}return r.has(t[e],n)}function l(t,e,n,i){var o={},a={},s={};return r.forEach(e,(function(t){r.forEach(t,(function(t,e){o[t]=t,a[t]=t,s[t]=e}))})),r.forEach(e,(function(t){var e=-1;r.forEach(t,(function(t){var c=i(t);if(c.length){c=r.sortBy(c,(function(t){return s[t]}));for(var l=(c.length-1)/2,h=Math.floor(l),f=Math.ceil(l);h<=f;++h){var d=c[h];a[t]===t&&e{"use strict";var r=n(8436),i=n(7266),o=n(3573).positionX;t.exports=function(t){(function(t){var e=i.buildLayerMatrix(t),n=t.graph().ranksep,o=0;r.forEach(e,(function(e){var i=r.max(r.map(e,(function(e){return t.node(e).height})));r.forEach(e,(function(e){t.node(e).y=o+i/2})),o+=i+n}))})(t=i.asNonCompoundGraph(t)),r.forEach(o(t),(function(e,n){t.node(n).x=e}))}},300:(t,e,n)=>{"use strict";var r=n(8436),i=n(574).Graph,o=n(6681).slack;function a(t,e){return r.forEach(t.nodes(),(function n(i){r.forEach(e.nodeEdges(i),(function(r){var a=r.v,s=i===a?r.w:a;t.hasNode(s)||o(e,r)||(t.setNode(s,{}),t.setEdge(i,s,{}),n(s))}))})),t.nodeCount()}function s(t,e){return r.minBy(e.edges(),(function(n){if(t.hasNode(n.v)!==t.hasNode(n.w))return o(e,n)}))}function c(t,e,n){r.forEach(t.nodes(),(function(t){e.node(t).rank+=n}))}t.exports=function(t){var e,n,r=new i({directed:!1}),u=t.nodes()[0],l=t.nodeCount();for(r.setNode(u,{});a(r,t){"use strict";var r=n(6681).longestPath,i=n(300),o=n(2472);t.exports=function(t){switch(t.graph().ranker){case"network-simplex":default:!function(t){o(t)}(t);break;case"tight-tree":!function(t){r(t),i(t)}(t);break;case"longest-path":a(t)}};var a=r},2472:(t,e,n)=>{"use strict";var r=n(8436),i=n(300),o=n(6681).slack,a=n(6681).longestPath,s=n(574).alg.preorder,c=n(574).alg.postorder,u=n(7266).simplify;function l(t){t=u(t),a(t);var e,n=i(t);for(d(n),h(n,t);e=g(n);)b(n,t,e,v(n,t,e))}function h(t,e){var n=c(t,t.nodes());n=n.slice(0,n.length-1),r.forEach(n,(function(n){!function(t,e,n){var r=t.node(n).parent;t.edge(n,r).cutvalue=f(t,e,n)}(t,e,n)}))}function f(t,e,n){var i=t.node(n).parent,o=!0,a=e.edge(n,i),s=0;return a||(o=!1,a=e.edge(i,n)),s=a.weight,r.forEach(e.nodeEdges(n),(function(r){var a,c,u=r.v===n,l=u?r.w:r.v;if(l!==i){var h=u===o,f=e.edge(r).weight;if(s+=h?f:-f,a=n,c=l,t.hasEdge(a,c)){var d=t.edge(n,l).cutvalue;s+=h?-d:d}}})),s}function d(t,e){arguments.length<2&&(e=t.nodes()[0]),p(t,{},1,e)}function p(t,e,n,i,o){var a=n,s=t.node(i);return e[i]=!0,r.forEach(t.neighbors(i),(function(o){r.has(e,o)||(n=p(t,e,n,o,i))})),s.low=a,s.lim=n++,o?s.parent=o:delete s.parent,n}function g(t){return r.find(t.edges(),(function(e){return t.edge(e).cutvalue<0}))}function v(t,e,n){var i=n.v,a=n.w;e.hasEdge(i,a)||(i=n.w,a=n.v);var s=t.node(i),c=t.node(a),u=s,l=!1;s.lim>c.lim&&(u=c,l=!0);var h=r.filter(e.edges(),(function(e){return l===y(0,t.node(e.v),u)&&l!==y(0,t.node(e.w),u)}));return r.minBy(h,(function(t){return o(e,t)}))}function b(t,e,n,i){var o=n.v,a=n.w;t.removeEdge(o,a),t.setEdge(i.v,i.w,{}),d(t),h(t,e),function(t,e){var n=r.find(t.nodes(),(function(t){return!e.node(t).parent})),i=s(t,n);i=i.slice(1),r.forEach(i,(function(n){var r=t.node(n).parent,i=e.edge(n,r),o=!1;i||(i=e.edge(r,n),o=!0),e.node(n).rank=e.node(r).rank+(o?i.minlen:-i.minlen)}))}(t,e)}function y(t,e,n){return n.low<=e.lim&&e.lim<=n.lim}t.exports=l,l.initLowLimValues=d,l.initCutValues=h,l.calcCutValue=f,l.leaveEdge=g,l.enterEdge=v,l.exchangeEdges=b},6681:(t,e,n)=>{"use strict";var r=n(8436);t.exports={longestPath:function(t){var e={};r.forEach(t.sources(),(function n(i){var o=t.node(i);if(r.has(e,i))return o.rank;e[i]=!0;var a=r.min(r.map(t.outEdges(i),(function(e){return n(e.w)-t.edge(e).minlen})));return a!==Number.POSITIVE_INFINITY&&null!=a||(a=0),o.rank=a}))},slack:function(t,e){return t.node(e.w).rank-t.node(e.v).rank-t.edge(e).minlen}}},7266:(t,e,n)=>{"use strict";var r=n(8436),i=n(574).Graph;function o(t,e,n,i){var o;do{o=r.uniqueId(i)}while(t.hasNode(o));return n.dummy=e,t.setNode(o,n),o}function a(t){return r.max(r.map(t.nodes(),(function(e){var n=t.node(e).rank;if(!r.isUndefined(n))return n})))}t.exports={addDummyNode:o,simplify:function(t){var e=(new i).setGraph(t.graph());return r.forEach(t.nodes(),(function(n){e.setNode(n,t.node(n))})),r.forEach(t.edges(),(function(n){var r=e.edge(n.v,n.w)||{weight:0,minlen:1},i=t.edge(n);e.setEdge(n.v,n.w,{weight:r.weight+i.weight,minlen:Math.max(r.minlen,i.minlen)})})),e},asNonCompoundGraph:function(t){var e=new i({multigraph:t.isMultigraph()}).setGraph(t.graph());return r.forEach(t.nodes(),(function(n){t.children(n).length||e.setNode(n,t.node(n))})),r.forEach(t.edges(),(function(n){e.setEdge(n,t.edge(n))})),e},successorWeights:function(t){var e=r.map(t.nodes(),(function(e){var n={};return r.forEach(t.outEdges(e),(function(e){n[e.w]=(n[e.w]||0)+t.edge(e).weight})),n}));return r.zipObject(t.nodes(),e)},predecessorWeights:function(t){var e=r.map(t.nodes(),(function(e){var n={};return r.forEach(t.inEdges(e),(function(e){n[e.v]=(n[e.v]||0)+t.edge(e).weight})),n}));return r.zipObject(t.nodes(),e)},intersectRect:function(t,e){var n,r,i=t.x,o=t.y,a=e.x-i,s=e.y-o,c=t.width/2,u=t.height/2;if(!a&&!s)throw new Error("Not possible to find intersection inside of the rectangle");return Math.abs(s)*c>Math.abs(a)*u?(s<0&&(u=-u),n=u*a/s,r=u):(a<0&&(c=-c),n=c,r=c*s/a),{x:i+n,y:o+r}},buildLayerMatrix:function(t){var e=r.map(r.range(a(t)+1),(function(){return[]}));return r.forEach(t.nodes(),(function(n){var i=t.node(n),o=i.rank;r.isUndefined(o)||(e[o][i.order]=n)})),e},normalizeRanks:function(t){var e=r.min(r.map(t.nodes(),(function(e){return t.node(e).rank})));r.forEach(t.nodes(),(function(n){var i=t.node(n);r.has(i,"rank")&&(i.rank-=e)}))},removeEmptyRanks:function(t){var e=r.min(r.map(t.nodes(),(function(e){return t.node(e).rank}))),n=[];r.forEach(t.nodes(),(function(r){var i=t.node(r).rank-e;n[i]||(n[i]=[]),n[i].push(r)}));var i=0,o=t.graph().nodeRankFactor;r.forEach(n,(function(e,n){r.isUndefined(e)&&n%o!=0?--i:i&&r.forEach(e,(function(e){t.node(e).rank+=i}))}))},addBorderNode:function(t,e,n,r){var i={width:0,height:0};return arguments.length>=4&&(i.rank=n,i.order=r),o(t,"border",i,e)},maxRank:a,partition:function(t,e){var n={lhs:[],rhs:[]};return r.forEach(t,(function(t){e(t)?n.lhs.push(t):n.rhs.push(t)})),n},time:function(t,e){var n=r.now();try{return e()}finally{console.log(t+" time: "+(r.now()-n)+"ms")}},notime:function(t,e){return e()}}},8177:t=>{t.exports="0.8.5"},8282:(t,e,n)=>{var r=n(2354);t.exports={Graph:r.Graph,json:n(8974),alg:n(2440),version:r.version}},2842:(t,e,n)=>{var r=n(9126);t.exports=function(t){var e,n={},i=[];function o(i){r.has(n,i)||(n[i]=!0,e.push(i),r.each(t.successors(i),o),r.each(t.predecessors(i),o))}return r.each(t.nodes(),(function(t){e=[],o(t),e.length&&i.push(e)})),i}},3984:(t,e,n)=>{var r=n(9126);function i(t,e,n,o,a,s){r.has(o,e)||(o[e]=!0,n||s.push(e),r.each(a(e),(function(e){i(t,e,n,o,a,s)})),n&&s.push(e))}t.exports=function(t,e,n){r.isArray(e)||(e=[e]);var o=(t.isDirected()?t.successors:t.neighbors).bind(t),a=[],s={};return r.each(e,(function(e){if(!t.hasNode(e))throw new Error("Graph does not have node: "+e);i(t,e,"post"===n,s,o,a)})),a}},4847:(t,e,n)=>{var r=n(3763),i=n(9126);t.exports=function(t,e,n){return i.transform(t.nodes(),(function(i,o){i[o]=r(t,o,e,n)}),{})}},3763:(t,e,n)=>{var r=n(9126),i=n(9675);t.exports=function(t,e,n,r){return function(t,e,n,r){var o,a,s={},c=new i,u=function(t){var e=t.v!==o?t.v:t.w,r=s[e],i=n(t),u=a.distance+i;if(i<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+t+" Weight: "+i);u0&&(o=c.removeMin(),(a=s[o]).distance!==Number.POSITIVE_INFINITY);)r(o).forEach(u);return s}(t,String(e),n||o,r||function(e){return t.outEdges(e)})};var o=r.constant(1)},9096:(t,e,n)=>{var r=n(9126),i=n(5023);t.exports=function(t){return r.filter(i(t),(function(e){return e.length>1||1===e.length&&t.hasEdge(e[0],e[0])}))}},8924:(t,e,n)=>{var r=n(9126);t.exports=function(t,e,n){return function(t,e,n){var r={},i=t.nodes();return i.forEach((function(t){r[t]={},r[t][t]={distance:0},i.forEach((function(e){t!==e&&(r[t][e]={distance:Number.POSITIVE_INFINITY})})),n(t).forEach((function(n){var i=n.v===t?n.w:n.v,o=e(n);r[t][i]={distance:o,predecessor:t}}))})),i.forEach((function(t){var e=r[t];i.forEach((function(n){var o=r[n];i.forEach((function(n){var r=o[t],i=e[n],a=o[n],s=r.distance+i.distance;s{t.exports={components:n(2842),dijkstra:n(3763),dijkstraAll:n(4847),findCycles:n(9096),floydWarshall:n(8924),isAcyclic:n(2707),postorder:n(8828),preorder:n(2648),prim:n(514),tarjan:n(5023),topsort:n(2166)}},2707:(t,e,n)=>{var r=n(2166);t.exports=function(t){try{r(t)}catch(t){if(t instanceof r.CycleException)return!1;throw t}return!0}},8828:(t,e,n)=>{var r=n(3984);t.exports=function(t,e){return r(t,e,"post")}},2648:(t,e,n)=>{var r=n(3984);t.exports=function(t,e){return r(t,e,"pre")}},514:(t,e,n)=>{var r=n(9126),i=n(771),o=n(9675);t.exports=function(t,e){var n,a=new i,s={},c=new o;function u(t){var r=t.v===n?t.w:t.v,i=c.priority(r);if(void 0!==i){var o=e(t);o0;){if(n=c.removeMin(),r.has(s,n))a.setEdge(n,s[n]);else{if(l)throw new Error("Input graph is not connected: "+t);l=!0}t.nodeEdges(n).forEach(u)}return a}},5023:(t,e,n)=>{var r=n(9126);t.exports=function(t){var e=0,n=[],i={},o=[];function a(s){var c=i[s]={onStack:!0,lowlink:e,index:e++};if(n.push(s),t.successors(s).forEach((function(t){r.has(i,t)?i[t].onStack&&(c.lowlink=Math.min(c.lowlink,i[t].index)):(a(t),c.lowlink=Math.min(c.lowlink,i[t].lowlink))})),c.lowlink===c.index){var u,l=[];do{u=n.pop(),i[u].onStack=!1,l.push(u)}while(s!==u);o.push(l)}}return t.nodes().forEach((function(t){r.has(i,t)||a(t)})),o}},2166:(t,e,n)=>{var r=n(9126);function i(t){var e={},n={},i=[];if(r.each(t.sinks(),(function a(s){if(r.has(n,s))throw new o;r.has(e,s)||(n[s]=!0,e[s]=!0,r.each(t.predecessors(s),a),delete n[s],i.push(s))})),r.size(e)!==t.nodeCount())throw new o;return i}function o(){}t.exports=i,i.CycleException=o,o.prototype=new Error},9675:(t,e,n)=>{var r=n(9126);function i(){this._arr=[],this._keyIndices={}}t.exports=i,i.prototype.size=function(){return this._arr.length},i.prototype.keys=function(){return this._arr.map((function(t){return t.key}))},i.prototype.has=function(t){return r.has(this._keyIndices,t)},i.prototype.priority=function(t){var e=this._keyIndices[t];if(void 0!==e)return this._arr[e].priority},i.prototype.min=function(){if(0===this.size())throw new Error("Queue underflow");return this._arr[0].key},i.prototype.add=function(t,e){var n=this._keyIndices;if(t=String(t),!r.has(n,t)){var i=this._arr,o=i.length;return n[t]=o,i.push({key:t,priority:e}),this._decrease(o),!0}return!1},i.prototype.removeMin=function(){this._swap(0,this._arr.length-1);var t=this._arr.pop();return delete this._keyIndices[t.key],this._heapify(0),t.key},i.prototype.decrease=function(t,e){var n=this._keyIndices[t];if(e>this._arr[n].priority)throw new Error("New priority is greater than current priority. Key: "+t+" Old: "+this._arr[n].priority+" New: "+e);this._arr[n].priority=e,this._decrease(n)},i.prototype._heapify=function(t){var e=this._arr,n=2*t,r=n+1,i=t;n>1].priority{"use strict";var r=n(9126);t.exports=s;var i="\0",o="\0",a="";function s(t){this._isDirected=!r.has(t,"directed")||t.directed,this._isMultigraph=!!r.has(t,"multigraph")&&t.multigraph,this._isCompound=!!r.has(t,"compound")&&t.compound,this._label=void 0,this._defaultNodeLabelFn=r.constant(void 0),this._defaultEdgeLabelFn=r.constant(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[o]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}function c(t,e){t[e]?t[e]++:t[e]=1}function u(t,e){--t[e]||delete t[e]}function l(t,e,n,o){var s=""+e,c=""+n;if(!t&&s>c){var u=s;s=c,c=u}return s+a+c+a+(r.isUndefined(o)?i:o)}function h(t,e){return l(t,e.v,e.w,e.name)}s.prototype._nodeCount=0,s.prototype._edgeCount=0,s.prototype.isDirected=function(){return this._isDirected},s.prototype.isMultigraph=function(){return this._isMultigraph},s.prototype.isCompound=function(){return this._isCompound},s.prototype.setGraph=function(t){return this._label=t,this},s.prototype.graph=function(){return this._label},s.prototype.setDefaultNodeLabel=function(t){return r.isFunction(t)||(t=r.constant(t)),this._defaultNodeLabelFn=t,this},s.prototype.nodeCount=function(){return this._nodeCount},s.prototype.nodes=function(){return r.keys(this._nodes)},s.prototype.sources=function(){var t=this;return r.filter(this.nodes(),(function(e){return r.isEmpty(t._in[e])}))},s.prototype.sinks=function(){var t=this;return r.filter(this.nodes(),(function(e){return r.isEmpty(t._out[e])}))},s.prototype.setNodes=function(t,e){var n=arguments,i=this;return r.each(t,(function(t){n.length>1?i.setNode(t,e):i.setNode(t)})),this},s.prototype.setNode=function(t,e){return r.has(this._nodes,t)?(arguments.length>1&&(this._nodes[t]=e),this):(this._nodes[t]=arguments.length>1?e:this._defaultNodeLabelFn(t),this._isCompound&&(this._parent[t]=o,this._children[t]={},this._children[o][t]=!0),this._in[t]={},this._preds[t]={},this._out[t]={},this._sucs[t]={},++this._nodeCount,this)},s.prototype.node=function(t){return this._nodes[t]},s.prototype.hasNode=function(t){return r.has(this._nodes,t)},s.prototype.removeNode=function(t){var e=this;if(r.has(this._nodes,t)){var n=function(t){e.removeEdge(e._edgeObjs[t])};delete this._nodes[t],this._isCompound&&(this._removeFromParentsChildList(t),delete this._parent[t],r.each(this.children(t),(function(t){e.setParent(t)})),delete this._children[t]),r.each(r.keys(this._in[t]),n),delete this._in[t],delete this._preds[t],r.each(r.keys(this._out[t]),n),delete this._out[t],delete this._sucs[t],--this._nodeCount}return this},s.prototype.setParent=function(t,e){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(r.isUndefined(e))e=o;else{for(var n=e+="";!r.isUndefined(n);n=this.parent(n))if(n===t)throw new Error("Setting "+e+" as parent of "+t+" would create a cycle");this.setNode(e)}return this.setNode(t),this._removeFromParentsChildList(t),this._parent[t]=e,this._children[e][t]=!0,this},s.prototype._removeFromParentsChildList=function(t){delete this._children[this._parent[t]][t]},s.prototype.parent=function(t){if(this._isCompound){var e=this._parent[t];if(e!==o)return e}},s.prototype.children=function(t){if(r.isUndefined(t)&&(t=o),this._isCompound){var e=this._children[t];if(e)return r.keys(e)}else{if(t===o)return this.nodes();if(this.hasNode(t))return[]}},s.prototype.predecessors=function(t){var e=this._preds[t];if(e)return r.keys(e)},s.prototype.successors=function(t){var e=this._sucs[t];if(e)return r.keys(e)},s.prototype.neighbors=function(t){var e=this.predecessors(t);if(e)return r.union(e,this.successors(t))},s.prototype.isLeaf=function(t){return 0===(this.isDirected()?this.successors(t):this.neighbors(t)).length},s.prototype.filterNodes=function(t){var e=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});e.setGraph(this.graph());var n=this;r.each(this._nodes,(function(n,r){t(r)&&e.setNode(r,n)})),r.each(this._edgeObjs,(function(t){e.hasNode(t.v)&&e.hasNode(t.w)&&e.setEdge(t,n.edge(t))}));var i={};function o(t){var r=n.parent(t);return void 0===r||e.hasNode(r)?(i[t]=r,r):r in i?i[r]:o(r)}return this._isCompound&&r.each(e.nodes(),(function(t){e.setParent(t,o(t))})),e},s.prototype.setDefaultEdgeLabel=function(t){return r.isFunction(t)||(t=r.constant(t)),this._defaultEdgeLabelFn=t,this},s.prototype.edgeCount=function(){return this._edgeCount},s.prototype.edges=function(){return r.values(this._edgeObjs)},s.prototype.setPath=function(t,e){var n=this,i=arguments;return r.reduce(t,(function(t,r){return i.length>1?n.setEdge(t,r,e):n.setEdge(t,r),r})),this},s.prototype.setEdge=function(){var t,e,n,i,o=!1,a=arguments[0];"object"==typeof a&&null!==a&&"v"in a?(t=a.v,e=a.w,n=a.name,2===arguments.length&&(i=arguments[1],o=!0)):(t=a,e=arguments[1],n=arguments[3],arguments.length>2&&(i=arguments[2],o=!0)),t=""+t,e=""+e,r.isUndefined(n)||(n=""+n);var s=l(this._isDirected,t,e,n);if(r.has(this._edgeLabels,s))return o&&(this._edgeLabels[s]=i),this;if(!r.isUndefined(n)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(t),this.setNode(e),this._edgeLabels[s]=o?i:this._defaultEdgeLabelFn(t,e,n);var u=function(t,e,n,r){var i=""+e,o=""+n;if(!t&&i>o){var a=i;i=o,o=a}var s={v:i,w:o};return r&&(s.name=r),s}(this._isDirected,t,e,n);return t=u.v,e=u.w,Object.freeze(u),this._edgeObjs[s]=u,c(this._preds[e],t),c(this._sucs[t],e),this._in[e][s]=u,this._out[t][s]=u,this._edgeCount++,this},s.prototype.edge=function(t,e,n){var r=1===arguments.length?h(this._isDirected,arguments[0]):l(this._isDirected,t,e,n);return this._edgeLabels[r]},s.prototype.hasEdge=function(t,e,n){var i=1===arguments.length?h(this._isDirected,arguments[0]):l(this._isDirected,t,e,n);return r.has(this._edgeLabels,i)},s.prototype.removeEdge=function(t,e,n){var r=1===arguments.length?h(this._isDirected,arguments[0]):l(this._isDirected,t,e,n),i=this._edgeObjs[r];return i&&(t=i.v,e=i.w,delete this._edgeLabels[r],delete this._edgeObjs[r],u(this._preds[e],t),u(this._sucs[t],e),delete this._in[e][r],delete this._out[t][r],this._edgeCount--),this},s.prototype.inEdges=function(t,e){var n=this._in[t];if(n){var i=r.values(n);return e?r.filter(i,(function(t){return t.v===e})):i}},s.prototype.outEdges=function(t,e){var n=this._out[t];if(n){var i=r.values(n);return e?r.filter(i,(function(t){return t.w===e})):i}},s.prototype.nodeEdges=function(t,e){var n=this.inEdges(t,e);if(n)return n.concat(this.outEdges(t,e))}},2354:(t,e,n)=>{t.exports={Graph:n(771),version:n(9631)}},8974:(t,e,n)=>{var r=n(9126),i=n(771);function o(t){return r.map(t.nodes(),(function(e){var n=t.node(e),i=t.parent(e),o={v:e};return r.isUndefined(n)||(o.value=n),r.isUndefined(i)||(o.parent=i),o}))}function a(t){return r.map(t.edges(),(function(e){var n=t.edge(e),i={v:e.v,w:e.w};return r.isUndefined(e.name)||(i.name=e.name),r.isUndefined(n)||(i.value=n),i}))}t.exports={write:function(t){var e={options:{directed:t.isDirected(),multigraph:t.isMultigraph(),compound:t.isCompound()},nodes:o(t),edges:a(t)};return r.isUndefined(t.graph())||(e.value=r.clone(t.graph())),e},read:function(t){var e=new i(t.options).setGraph(t.value);return r.each(t.nodes,(function(t){e.setNode(t.v,t.value),t.parent&&e.setParent(t.v,t.parent)})),r.each(t.edges,(function(t){e.setEdge({v:t.v,w:t.w,name:t.name},t.value)})),e}}},9126:(t,e,n)=>{var r;try{r={clone:n(6678),constant:n(5703),each:n(6073),filter:n(3105),has:n(8721),isArray:n(1469),isEmpty:n(1609),isFunction:n(3560),isUndefined:n(2353),keys:n(3674),map:n(5161),reduce:n(4061),size:n(4238),transform:n(8718),union:n(3386),values:n(2628)}}catch(t){}r||(r=window._),t.exports=r},9631:t=>{t.exports="2.1.8"},4485:(t,e,n)=>{t.exports=n(2894)},2894:function(t,e){var n,r,i;(function(){var o,a,s,c,u,l,h,f,d,p,g,v,b,y,m;s=Math.floor,p=Math.min,a=function(t,e){return te?1:0},d=function(t,e,n,r,i){var o;if(null==n&&(n=0),null==i&&(i=a),n<0)throw new Error("lo must be non-negative");for(null==r&&(r=t.length);nn;0<=n?e++:e--)u.push(e);return u}.apply(this).reverse()).length;rg;0<=g?++l:--l)v.push(u(t,n));return v},y=function(t,e,n,r){var i,o,s;for(null==r&&(r=a),i=t[n];n>e&&r(i,o=t[s=n-1>>1])<0;)t[n]=o,n=s;return t[n]=i},m=function(t,e,n){var r,i,o,s,c;for(null==n&&(n=a),i=t.length,c=e,o=t[e],r=2*e+1;r{var e,n;!function(){var r;function i(){}function a(){}function s(){}function c(){}function u(){}function l(){}function h(){}function f(){}function d(){}function p(){}function g(){}function v(){}function b(){}function y(){}function m(){}function w(){}function x(){}function _(){}function E(){}function k(){}function T(){}function C(){}function N(){}function A(){}function S(){}function O(){}function L(){}function I(){}function M(){}function P(){}function D(){}function R(){}function j(){}function G(){}function B(){}function F(){}function H(){}function Y(){}function z(){}function U(){}function V(){}function q(){}function X(){}function W(){}function $(){}function Z(){}function K(){}function Q(){}function J(){}function tt(){}function et(){}function nt(){}function rt(){}function it(){}function ot(){}function at(){}function st(){}function ct(){}function ut(){}function lt(){}function ht(){}function ft(){}function dt(){}function pt(){}function gt(){}function vt(){}function bt(){}function yt(){}function mt(){}function wt(){}function xt(){}function _t(){}function Et(){}function kt(){}function Tt(){}function Ct(){}function Nt(){}function At(){}function St(){}function Ot(){}function Lt(){}function It(){}function Mt(){}function Pt(){}function Dt(){}function Rt(){}function jt(){}function Gt(){}function Bt(){}function Ft(){}function Ht(){}function Yt(){}function zt(){}function Ut(){}function Vt(){}function qt(){}function Xt(){}function Wt(){}function $t(){}function Zt(){}function Kt(){}function Qt(){}function Jt(){}function te(){}function ee(){}function ne(){}function re(){}function ie(){}function oe(){}function ae(){}function se(){}function ce(){}function ue(){}function le(){}function he(){}function fe(){}function de(){}function pe(){}function ge(){}function ve(){}function be(){}function ye(){}function me(){}function we(){Bf()}function xe(){C_()}function _e(){Xd()}function Ee(){qg()}function ke(){no()}function Te(){ro()}function Ce(){fa()}function Ne(){Xg()}function Ae(){Df()}function Se(){Nk()}function Oe(){Rf()}function Le(){jf()}function Ie(){lN()}function Me(){LT()}function Pe(){sh(this)}function De(){}function Re(){xu(this)}function je(){}function Ge(t){this.a=t}function Be(t){this.a=t}function Fe(t){this.a=t}function He(t){this.a=t}function Ye(t){this.a=t}function ze(t){this.a=t}function Ue(t){this.a=t}function Ve(t){this.a=t}function qe(t){this.a=t}function Xe(t){this.b=t}function We(t){this.a=t}function $e(t){this.a=t}function Ze(t){this.a=t}function Ke(t){this.a=t}function Qe(t){this.a=t}function Je(t){this.a=t}function tn(t){this.a=t}function en(t){this.a=t}function nn(t){this.a=t}function rn(t){this.a=t}function on(t){this.a=t}function an(t){this.a=t}function sn(t){this.a=t}function cn(t){this.a=t}function un(t){this.a=t}function ln(t){this.e=t}function hn(t){this.a=t}function fn(t){this.a=t}function dn(t){this.a=t}function pn(t){this.a=t}function gn(t){this.a=t}function vn(t){this.a=t}function bn(t){this.a=t}function yn(t){this.a=t}function mn(t){this.a=t}function wn(t){this.a=t}function xn(t){this.a=t}function _n(t){this.a=t}function En(t){this.a=t}function kn(t){this.a=t}function Tn(t){this.a=t}function Cn(t){this.a=t}function Nn(t){this.a=t}function An(t){this.a=t}function Sn(t){this.a=t}function On(t){this.a=t}function Ln(t){this.a=t}function In(t){this.c=t}function Mn(t){this.a=t}function Pn(t){this.a=t}function Dn(t){this.a=t}function Rn(t){this.a=t}function jn(t){this.a=t}function Gn(t){this.a=t}function Bn(t){this.a=t}function Fn(t){this.a=t}function Hn(t){this.a=t}function Yn(t){this.a=t}function zn(t){this.d=t}function Un(t){this.a=t}function Vn(t){this.a=t}function qn(t){this.a=t}function Xn(t){this.a=t}function Wn(t){this.b=t}function $n(t){this.a=t}function Zn(t){this.a=t}function Kn(t){this.c=t}function Qn(t){this.a=t}function Jn(t){this.a=t}function tr(t){this.a=t}function er(t){this.b=t}function nr(t){this.b=t}function rr(t){this.c=t}function ir(t){this.a=t}function or(t){this.a=t}function ar(t){this.a=t}function sr(){this.a=[]}function cr(t){this.a=t}function ur(t){this.a=t}function lr(t){t.b=t.a}function hr(t){t.c=t.d.d}function fr(t,e){t.g=e}function dr(t,e){t.k=e}function pr(t,e){t.e.k=e}function gr(t){return t.a}function vr(t){return t.a}function br(t){return t.a}function yr(t){return t.a}function mr(t){return t.a}function wr(){return null}function xr(){return null}function _r(){this.c=this}function Er(){sh(this)}function kr(){my(this)}function Tr(t){!function(t,e){var n,r,i,o,a,s,c;for(c=0,r=0,i=e.length;r=t.length)return{done:!0};var r=t[n++];return{value:[r,e.get(r)],done:!1}}}},function(){if(!Object.create||!Object.getOwnPropertyNames)return!1;var t="__proto__",e=Object.create(null);return void 0===e[t]&&0==Object.getOwnPropertyNames(e).length&&(e[t]=42,42===e[t]&&0!=Object.getOwnPropertyNames(e).length)}()||(t.prototype.createObject=function(){return{}},t.prototype.get=function(t){return this.obj[":"+t]},t.prototype.set=function(t,e){this.obj[":"+t]=e},t.prototype[yD]=function(t){delete this.obj[":"+t]},t.prototype.keys=function(){var t=[];for(var e in this.obj)58==e.charCodeAt(0)&&t.push(e.substring(1));return t}),t}()}function Io(t,e){Ix(),oI.dc(t,e)}function Mo(t,e){return Mv(t,e)}function Po(t,e){return t.a.B(e)}function Do(t,e){return t.g[e.e]}function Ro(t,e){return t.i[e.e]}function jo(t,e){return t.j[e.e]}function Go(t,e){return t.n[e.e]}function Bo(t,e){return t.o[e.e]}function Fo(t,e){return t>e?t:e}function Ho(t,e){return t>e?t:e}function Yo(t,e){return t>e?t:e}function zo(t,e){return te?1:0}function Fu(t){return null!=t?K_(t):0}function Hu(t){this.a=zc(),this.b=t}function Yu(t){this.a=zc(),this.b=t}function zu(t){this.a=t,td.call(this,t)}function Uu(){Ju(),this.b=new Tn(this)}function Vu(){var t;Vu=a,t=new co(", "),Dd(pI),HD=new Qf(t,t)}function qu(){qu=a,BD=new fu,GD=new Mu}function Xu(){Xu=a,zD=new g,UD=new v}function Wu(){Wu=a,qD=new Zs,XD=new _u}function $u(){$u=a,JD=new du,QD=new wl}function Zu(){Zu=a,vR=new m,bR=new w}function Ku(t){t.g=new Re,t.b=new Re}function Qu(t){t.a=new ye,t.c=new ye}function Ju(){Ju=a,EY=new Zt,_Y=new ed}function tl(){Ha.call(this,"IS_NULL",2)}function el(){Gc.call(this,"Head",1)}function nl(){Gc.call(this,"Tail",3)}function rl(t,e){ow.call(this,t,e,null)}function il(t,e){Hk(t,0,t.length,e)}function ol(t,e){return Lf(e.a,t.a),t.a}function al(t,e){return t.a*=e,t.b*=e,t}function sl(t,e){og(),this.a=t,this.b=e}function cl(t,e){return t.a[e.d.k][e.k]}function ul(t,e){return t.a[e.d.k][e.k]}function ll(t,e){return ua(function(t,e){var n,r;for(n=null,r=t.b;r;)t.a.$b(e,r.d)>=0?r=r.a[1]:(n=r,r=r.a[0]);return n}(t.a,e))}function hl(t,e){return ua(function(t,e){var n,r;for(n=null,r=t.b;r;)t.a.$b(e,r.d)<=0?r=r.a[0]:(n=r,r=r.a[1]);return n}(t.a,e))}function fl(t,e){return Uf(WT(t.a,e),20)}function dl(t,e){return null!=t&&Pk(t,e)}function pl(t){return t.a=e)throw new Ci}function qf(t,e){return Dd(t),Dd(e),new cd(t,e)}function Xf(t,e){return Dd(t),Dd(e),new ud(t,e)}function Wf(t,e,n){return t=e+1&&t.splice(0,e+1);break}return t}(oI.ec(t))}function Ed(t,e){var n;return(n=Fp(t,e)).g=2,n}function kd(t,e){t.b=e.b,t.c=e.c,t.d=e.d,t.a=e.a}function Td(t){t.a.b=t.b,t.b.a=t.a,t.a=t.b=null}function Cd(t){return t.b.c.length+t.e.c.length}function Nd(t){return Array.isArray(t)&&t.ad===i}function Ad(t,e){return Xu(),-1!=Bx(new Kn(t),e)}function Sd(t,e,n,r,i,o){return jT(t,e,n,r,i,0,o)}function Od(t,e,n){Zu(),Qv.call(this,t.b,e,n,t.d)}function Ld(t,e){Zu(),Qv.call(this,t.b,e,t.c,t.d)}function Id(t,e,n){xy(e,t.c.length),Ac(t.c,e,n)}function Md(t,e){return _y(e,t.a.length),t.a[e]}function Pd(t){t.sort((function(t,e){return t-e}))}function Dd(t){if(null==t)throw new Zr;return t}function Rd(t){if(null==t)throw new Zr;this.a=t}function jd(t,e,n){if(t.a!=e)throw new xi;t.a=n}function Gd(t,e){if(!t)throw new so((si(),e))}function Bd(t,e){if(!t)throw new Eo((si(),e))}function Fd(t){if(null==t)throw new Zr;return t}function Hd(t){cr.call(this,new ry),gw(this,t)}function Yd(t){this.a=new Xs(t.Y()),gw(this,t)}function zd(t){this.c=t,this.a=new qs(this.c.a)}function Ud(t){og(),this.a=(zg(),new tr(Dd(t)))}function Vd(){(Vd=a)(),NX=!1,AX=!0}function qd(){qd=a,IX=Ty(ND,hI,24,256,0,1)}function Xd(){Xd=a,MY=vd(bd(new iE,(WL(),yH)),YH)}function Wd(){Wd=a,fF=new E,pF=new nd,dF=new k}function $d(t){return null!=t&&Mp(t)&&!(t.ad===i)}function Zd(t){return!Array.isArray(t)&&t.ad===i}function Kd(t,e){return Nl(e)?Pg(t,e):AN(t.d,e)}function Qd(t,e){return dl(e,17)&&Xl(t,Uf(e,17))}function Jd(t,e){return dl(e,17)&&function(t,e){return!(!e||t.b[e.e]!=e)&&(Yp(t.b,e.e,null),--t.c,!0)}(t,Uf(e,17))}function tp(t,e){var n;return sx(n=gE(t),e),n}function ep(t,e){return!t&&(t=[]),t[t.length]=e,t}function np(t,e,n){if(!t)throw new so(function(t,e){var n,r,i,o;for(si(),(t=null==t?pI:t).length,e.length,n=new ea,o=0,r=0;r0),t.a.sb(t.c=--t.b)}function pp(t){t.b?pp(t.b):t.d.V()&&Kd(t.f.b,t.e)}function gp(t){if(nE(t.d),t.d.d!=t.c)throw new xi}function vp(t,e){if(e[pD]!=t[pD])throw new xi}function bp(t,e){return Xu(),Dd(t),Dd(e),new Ra(t,e)}function yp(t,e){og(),qa.call(this,t,Lx(new Qn(e)))}function mp(t,e,n,r){this.a=t,Ny.call(this,t,e,n,r)}function wp(t){this.a=Math.cos(t),this.b=Math.sin(t)}function xp(t,e,n){zi.call(this,t),this.b=e,this.a=n}function _p(t){this.b=new Re,this.a=new Re,this.c=t}function Ep(t){this.c=new uo,this.a=new Re,this.b=t}function kp(){kp=a,oR=new nn(!1),aR=new nn(!0)}function Tp(t,e){return++t.d,t.c[t.c.length]=e,!0}function Cp(t,e){Mb(t.d,e,t.b.b,t.b),++t.a,t.c=null}function Np(t,e){return null==t.a.db(e,t)}function Ap(t,e){return By(t.slice(0,e),t)}function Sp(t,e){return By(new Array(e),t)}function Op(t,e,n){var r;return r=t.b[e],t.b[e]=n,r}function Lp(t){return _l(),_f(function(t){return Uf(t.g||(t.g=new We(t)),20)}(t.a).mb(),(Wu(),qD))}function Ip(t){return Xu(),new Pu(ju(Xf(t.a,new p)))}function Mp(t){return typeof t===lI||typeof t===bI}function Pp(t){r.setTimeout((function(){throw t}),0)}function Dp(t){return Dd(t),dl(t,345)?Uf(t,345):Uk(t)}function Rp(t,e){return null==Hx(t.a,e,(Vd(),NX))}function jp(t,e){var n;return function(t,e){if(t<0||t>=e)throw new ao(function(t,e){if(t<0)return DA(jI,Nx(Mo(TD,1),GI,1,4,["index",W_(t)]));if(e<0)throw new so(BI+e);return DA("%s (%s) must be less than size (%s)",Nx(Mo(TD,1),GI,1,4,["index",W_(t),W_(e)]))}(t,e))}(e,n=t.a.Y()),n-1-e}function Gp(t,e,n){var r;return r=Sm(t,e),function(t,e,n){if(n){var r=n.gc();n=r(n)}else n=void 0;t.a[e]=n}(t,e,n),r}function Bp(t,e,n){var r;return Wm(n,r=Fp(t,e)),r}function Fp(t,e){var n;return(n=new Wx).i=t,n.d=e,n}function Hp(t,e,n){this.a=t,Ob(n,e),this.c=e,this.b=n}function Yp(t,e,n){return function(t){if(!t)throw new Wr}(null==n||function(t,e){switch(wm(t)){case 5:return Nl(e);case 6:return Cl(e);case 7:return vh(e);case 0:return Pk(e,t.__elementTypeId$);case 2:return Mp(e)&&!(e.ad===i);case 1:return Mp(e)&&!(e.ad===i)||Pk(e,t.__elementTypeId$);default:return!0}}(t,n)),t[e]=n}function zp(t){t.a=null,t.e=null,my(t.b),t.d=0,++t.c}function Up(t){return t.f||(t.f=new Js(t))}function Vp(t){return t.k||(t.k=new Ye(t))}function qp(t){return t.e||(t.e=new Qa(t))}function Xp(t){var e;return!(e=t.e)&&(t.e=e=t.gb()),e}function Wp(t){return t.c.f.d==t.d.f.d}function $p(t,e){var n;return Hm(n=new Db(t),e),n}function Zp(t,e){return t.a+=String.fromCharCode(e),t}function Kp(t){return!t.a&&t.d?t.d.b:t.a}function Qp(t){return ql(t)?0|t:t.l|t.m<<22}function Jp(t,e){return Nl(e)?mv(t,e):Kc(vv(t.d,e))}function tg(t){return dl(t,19)?Uf(t,19).Y():Jb(t.mb())}function eg(t){return t?new Yd((Vu(),t)):function(t){var e;return zm(e=new Ji,t),e}(null.mb())}function ng(t,e){return Zc(t)===Zc(e)||null!=t&&s_(t,e)}function rg(t,e){return eo(),Ox(oo(Oh(t)),oo(Oh(e)))}function ig(t){return _l(),_f(t.a.bb().mb(),(Wu(),XD))}function og(){og=a,lf(),YD=new sb((zg(),zg(),RX))}function ag(){ag=a,lf(),KD=new Ks((zg(),zg(),GX))}function sg(t,e){if(null==t)throw new Co((si(),e))}function cg(t,e,n,r){t.g[e.e][n.e]=r,t.g[n.e][e.e]=r}function ug(t){Au(-1!=t.c),t.d.vb(t.c),t.b=t.c,t.c=-1}function lg(t){this.c=t,this.b=t.a.b.a,Wl(t.a.c,this)}function hg(t){JS.call(this,new Qn(t)),this.a=new uo}function fg(){Li.call(this,new Ri(new kr)),this.a=this}function dg(){um(),this.b=(_l(),new kr),this.a=new kr}function pg(t){yg(t.a),t.b=Ty(TD,GI,1,t.b.length,4,1)}function gg(t){return!t.b&&(t.b=new Ko(t.c.W())),t.b}function vg(t,e){var n;return nL(t,e,n=new me),n.d}function bg(t,e){var n;return(n=Fp("",t)).k=e,n.g=1,n}function yg(t){var e;for(e=t.mb();e.G();)e.H(),e.I()}function mg(t,e){return dl(e,79)&&ji(t.b,Uf(e,79).mc())}function wg(t,e,n){return Nl(e)?Yv(t,e,n):YC(t.d,e,n)}function xg(t,e,n,r){this.d=t,this.b=e,this.a=n,this.c=r}function _g(t,e,n,r){this.d=t,this.e=e,this.c=n,this.b=r}function Eg(t,e,n,r){this.a=t,this.c=e,this.b=n,this.d=r}function kg(t,e,n,r){Pa.call(this,t,e),this.a=n,this.b=r}function Tg(t,e){return si(),t==e?0:t0?1:0}function Qg(t,e){return Uw(function(t,e){return Cf(t.l&e.l,t.m&e.m,t.h&e.h)}(ql(t)?Jw(t):t,ql(e)?Jw(e):e))}function Jg(t){return 0==t.b?null:(Lu(0!=t.b),Ym(t,t.a.a))}function tv(t){t.d=t.d-15,t.b=t.b-15,t.c=t.c+15,t.a=t.a+15}function ev(t){this.b=t,this.c=t,t.e=null,t.c=null,this.a=1}function nv(t,e,n){this.d=t,this.b=new Re,this.c=e,this.a=n}function rv(t,e){!function(t,e){t.a=e}(this,new ts(t.a,t.b)),function(t,e){t.b=e}(this,Yf(e))}function iv(t){pl(new Kn(Qk(t.e)))&&(function(t){var e,n,r;for(r=new zd(new ar(t.c).a);gl(r.a);)switch(r.b=Qb(r.a),e=Uf((n=new Bc(r.c,r.b)).b.b[n.a.e],62),Uf(n.a,67).e){case 0:e.d=0,e.e=-(e.b+t.d);break;case 1:e.d=(t.e.e.j.a-e.c)/2,e.e=-(e.b+t.d);break;case 2:e.d=t.e.e.j.a-e.c,e.e=-(e.b+t.d);break;case 3:e.d=0,e.e=t.e.e.j.b+t.d;break;case 4:e.d=(t.e.e.j.a-e.c)/2,e.e=t.e.e.j.b+t.d;break;case 5:e.d=t.e.e.j.a-e.c,e.e=t.e.e.j.b+t.d;break;case 6:e.d=-(e.c+t.d),e.e=0;break;case 7:e.d=-(e.c+t.d),e.e=(t.e.e.j.b-e.b)/2;break;case 8:e.d=-(e.c+t.d),e.e=t.e.e.j.b-e.b;break;case 9:e.d=t.e.e.j.a+t.d,e.e=0;break;case 10:e.d=t.e.e.j.a+t.d,e.e=(t.e.e.j.b-e.b)/2;break;case 11:e.d=t.e.e.j.a+t.d,e.e=t.e.e.j.b-e.b;break;case 12:e.d=t.q.b+t.d,e.e=t.q.d+t.d;break;case 13:e.d=(t.e.e.j.a-e.c)/2,e.e=t.q.d+t.d;break;case 14:e.d=t.e.e.j.a-t.q.c-e.c-t.d,e.e=t.q.d+t.d;break;case 15:e.d=t.q.b+t.d,e.e=(t.e.e.j.b-e.b)/2;break;case 16:e.d=(t.e.e.j.a-e.c)/2,e.e=(t.e.e.j.b-e.b)/2;break;case 17:e.d=t.e.e.j.a-t.q.c-e.c-t.d,e.e=(t.e.e.j.b-e.b)/2;break;case 18:e.d=t.q.b+t.d,e.e=t.e.e.j.b-t.q.a-e.b-t.d;break;case 19:e.d=(t.e.e.j.a-e.c)/2,e.e=t.e.e.j.b-t.q.a-e.b-t.d;break;case 20:e.d=t.e.e.j.a-t.q.c-e.c-t.d,e.e=t.e.e.j.b-t.q.a-e.b-t.d}}(t),function(t){var e,n,r,i,o;for(r=new Kn(Qk(t.e));r.a>>0).toString(16)}function mv(t,e){return null==e?Kc(vv(t.d,null)):Dc(t.e,e)}function wv(t){return 0|Math.max(Math.min(t,yI),-2147483648)}function xv(t){this.e=t,this.b=this.e.a.entries(),this.a=[]}function _v(t){this.c=t,this.b=new Xx(new Yn(this.c.a).a)}function Ev(t){this.b=(Xu(),Xu(),Xu(),zD),this.a=Uf(Dd(t),35)}function kv(t,e,n){Zu(),If.call(this,t,e),null!=n&&(this.c=n)}function Tv(t,e,n){if(t<0||en)throw new ao(function(t,e,n){return t<0||t>n?zC(t,n,"start index"):e<0||e>n?zC(e,n,"end index"):DA("end index (%s) must not be less than start index (%s)",Nx(Mo(TD,1),GI,1,4,[W_(e),W_(t)]))}(t,e,n))}function Cv(t,e){if(null==t)throw new Co((si(),e));return t}function Nv(t){if(!tE(t))throw new Ei;return t.c=t.b,t.b.H()}function Av(t){var e;return sx(e=new Sa(cx(t.length)),t),e}function Sv(t){var e;e=t.c.b.b,t.b=e,t.a=t.c.b,e.a=t.c.b.b=t}function Ov(t){this.b=null,!t&&(ec(),ec(),t=HX),this.a=t}function Lv(t){this.b=t,this.a=new Kv(this.b,this.b.c.length)}function Iv(t){return og(),Dd(t),function(t){var e;switch((e=Ap(t.c,t.c.length)).length){case 0:return YD;case 1:return new Ud(e[0]);default:return new sb(B_(e))}}(t||Hf(new Kn(null)))}function Mv(t,e){var n=t.a=t.a||[];return n[e]||(n[e]=t.Oc(e))}function Pv(t,e,n){var r;sT(e,n,t.c.length),r=n-e,xa(t.c,e,r)}function Dv(t,e,n){Ma.call(this,e.a),this.c=t,this.b=e,this.a=n}function Rv(t){return qc(t.c),t.e=t.a=t.c,t.c=t.c.c,++t.d,t.a.f}function jv(t){return qc(t.e),t.c=t.a=t.e,t.e=t.e.e,--t.d,t.a.f}function Gv(t){return Vw(Nx(Mo(gR,1),KM,10,0,[t.f.i,t.i,t.a]))}function Bv(){Bv=a,LY=Zx((Vg(),Nx(Mo(jY,1),FI,193,0,[AY,SY])))}function Fv(){Fv=a,dY=Zx((Nb(),Nx(Mo(wY,1),FI,175,0,[lY,hY])))}function Hv(){Hv=a,$Y=Zx((lb(),Nx(Mo(QY,1),FI,192,0,[XY,qY])))}function Yv(t,e,n){return null==e?YC(t.d,null,n):sE(t.e,e,n)}function zv(t,e){return Jd(t.a,e)?Op(t,Uf(e,17).e,null):null}function Uv(t){return Dd(t),nT((Xu(),new Pu(ju(Xf(t.a,new p)))))}function Vv(t,e){var n,r;return r=rp(t,e),n=t.a.ub(r),new Ua(t,n)}function qv(t,e,n){var r;(r=new se).b=e,r.a=n,++e.b,Lf(t.d,r)}function Xv(t,e,n){t.d&&Gy(t.d.b,t),t.d=e,t.d&&Id(t.d.b,n,t)}function Wv(t,e,n){sT(e,n,t.Y()),this.c=t,this.a=e,this.b=n-e}function $v(t,e,n,r){this.d=t,this.b=e,this.a=n,this.c=r}function Zv(t,e){Li.call(this,fw(Dd(t),Dd(e))),this.b=t,this.c=e}function Kv(t,e){this.a=t,zn.call(this,t),xy(e,t.Y()),this.b=e}function Qv(t,e,n,r){Zu(),kv.call(this,t,e,n),null!=r&&(this.d=r)}function Jv(t){return Lu(t.ae)throw new ao(zC(t,e,"index"));return t}function Lb(t,e,n){Dd(t),function(t){var e,n,r;for(xb(t.c,t.a),r=new Kn(t.c);r.a>22&wM,t<0?xM:0)}function hy(){hy=a,MR=Zx((E_(),Nx(Mo(GR,1),FI,59,0,[OR,SR,AR,NR,LR])))}function fy(){fy=a,JG=Zx((mL(),Nx(Mo(iB,1),FI,32,0,[ZG,IG,LG,$G,KG])))}function dy(){dy=a,bG=Zx((OE(),Nx(Mo(kG,1),FI,100,0,[gG,pG,hG,fG,dG])))}function py(){py=a,KY=vd(wd(wd(wd(md(new iE,(WL(),IH)),BH),lH),wH),LH)}function gy(t,e){var n;for(n=e.mb();n.G();)gS(t,Uf(n.H(),55),0,0)}function vy(t,e,n){var r;for(r=t.mb();r.G();)iS(Uf(r.H(),55),e,n)}function by(t,e,n){var r,i;for(r=0,i=0;ie)throw new ao("Index: "+t+", Size: "+e)}function _y(t,e){if(t<0||t>=e)throw new ao("Index: "+t+", Size: "+e)}function Ey(t,e){var n;return!!(n=t_(t,e.yb()))&&Ag(n.e,e.zb())}function ky(t,e){var n;return n=t.d,e>0?Uf(gd(n.a,e-1),9):null}function Ty(t,e,n,r,i,o){var a;return a=hT(i,r),9!=i&&Nx(Mo(t,o),e,n,i,a),a}function Cy(t){var e;if(!uw(t))throw new Ei;return t.d=1,e=t.c,t.c=null,e}function Ny(t,e,n,r){this.f=t,this.e=e,this.d=n,this.b=r,this.c=r?r.d:null}function Ay(t){var e;return e=Uf(gd(t.f,0),7),Uf(kx(e,($L(),oq)),7)}function Sy(t){var e;return e=Uf(gd(t.f,0),7),Uf(kx(e,($L(),oq)),7)}function Oy(){Oy=a,xX=Zx((ME(),Nx(Mo(TX,1),FI,153,0,[bX,mX,yX])))}function Ly(){Ly=a,CX=Zx((Bw(),Nx(Mo(SX,1),FI,172,0,[_X,EX,kX])))}function Iy(){Iy=a,CR=Zx((fk(),Nx(Mo(IR,1),FI,103,0,[mR,_R,ER,kR,wR,xR])))}function My(){My=a,JR=Zx((DT(),Nx(Mo(rj,1),FI,133,0,[ZR,WR,KR,qR,$R,XR])))}function Py(){Py=a,TG=Zx((bT(),Nx(Mo(SG,1),FI,28,0,[EG,_G,xG,yG,wG,mG])))}function Dy(){Dy=a,xY=Zx((pC(),Nx(Mo(kY,1),FI,125,0,[yY,gY,mY,bY,vY,pY])))}function Ry(){Ry=a,yR=new If("de.cau.cs.kieler.labels.labelManager",null)}function jy(t,e){var n;return(n=new me).c=!0,n.d=e.zb(),nL(t,e.yb(),n)}function Gy(t,e){var n;return-1!=(n=Qy(t,e,0))&&(t.vb(n),!0)}function By(t,e){return 9!=wm(e)&&Nx(mm(e),e._c,e.__elementTypeId$,wm(e),t),t}function Fy(t){return vp(t.c.a.c,t),Lu(t.b!=t.c.a.b),t.a=t.b,t.b=t.b.a,t.a}function Hy(t){Au(!!t.c),vp(t.e,t),t.c.I(),t.c=null,t.b=ix(t),Wl(t.e,t)}function Yy(t,e,n){Li.call(this,fw(Dd(t),Dd(e))),this.b=t,this.c=e,this.a=n}function zy(t,e,n,r){this.b=new On(this),this.a=t,this.c=e,this.e=n,this.d=r}function Uy(t){qx.call(this,t,0),bh(this),this.b.b=this.b,this.b.a=this.b}function Vy(t,e){Fc.call(this,t,e),this.a=Ty(KX,GI,183,2,0,1),this.b=!0}function qy(t,e){return Nl(e)?null==e?!!vv(t.d,null):function(t,e){return!(void 0===Ca(t.a,e))}(t.e,e):!!vv(t.d,e)}function Xy(t,e){return Oo(),(t-e>0?t-e:-(t-e))<=yM||t==e||isNaN(t)&&isNaN(e)}function Wy(t,e){return Oo(),(t-e>0?t-e:-(t-e))<=yM||t==e||isNaN(t)&&isNaN(e)}function $y(t){var e,n;e=!0;do{n=e?oE(t):EE(t),e=!e}while(n);ax(t,t.d)}function Zy(t,e,n){var r;if(null==e)throw new Zr;return r=Sg(t,e),function(t,e,n){if(n){var r=n.gc();t.a[e]=r(n)}else delete t.a[e]}(t,e,n),r}function Ky(t,e,n){return!t.n&&(t.n=new kr),null==n?Kd(t.n,e):wg(t.n,e,n),t}function Qy(t,e,n){for(;n=t.a.c.length;)Lf(t.a,new lo);return Uf(gd(t.a,e),20)}function tm(t,e,n,r,i){var o;return Wm(n,o=Fp(t,e)),o.g=i?8:0,o.f=r,o.e=i,o}function em(t,e){var n;this.f=t,this.b=e,n=Uf(Jp(t.b,e),126),this.c=n?n.b:null}function nm(t,e){var n,r;for(n=0,r=e.length;n0&&(r+=function(t){var e,n,r,i,o,a,s,c,u,l,h,f,d,p,g,v,b,y,m,w,x,_,E;for(i=0,y=0,_l(),b=new kr,r=new kr,function(t,e,n){var r,i,o,a,s,c,u,l,h,f,d;for(r=0,i=0,l=0;l0&&wg(e,o,W_(r+=o.b.c.length+o.e.c.length));else{for(s=mC(c,(mL(),LG)).mb();s.G();)r+=(o=Uf(s.H(),7)).b.c.length+o.e.c.length;for(a=mC(c,LG).mb();a.G();)(o=Uf(a.H(),7)).b.c.length+o.e.c.length>0&&wg(e,o,W_(r))}for(u=t.length-1;u>=0;u--)if(Vl(Uf(kx(c=t[u],(JL(),Hj)),28)))for(f=mC(c,(mL(),KG)).mb();f.G();)(h=Uf(f.H(),7)).b.c.length+h.e.c.length>0&&wg(n,h,W_(i+=h.b.c.length+h.e.c.length));else{for(d=mC(c,(mL(),KG)).mb();d.G();)i+=(h=Uf(d.H(),7)).b.c.length+h.e.c.length;for(f=mC(c,KG).mb();f.G();)(h=Uf(f.H(),7)).b.c.length+h.e.c.length>0&&wg(n,h,W_(i))}}(t,o=new kr,E=new kr),e=null,v=0,_=0,m=!0,c=!0,f=0,p=t.length;fu.k&&(++e,d=!0),p&&u&&p.k>u.k&&(++e,g=!0),f&&s&&f.ks.k&&(++e,c=!0),f&&s&&f.ku.k&&(++e,l=!0),c&&l&&s==u&&--e)}}return e}(e)),r}function om(t,e){var n;return(n=Uf(Kd(t.c,e),176))?(Td(n),n.e):null}function am(t){return n_(t,yI)>0?yI:n_(t,kI)<0?kI:Qp(t)}function sm(t){sf.call(this,(si(),null==t?pI:Uk(t)),dl(t,46)?Uf(t,46):null)}function cm(t){xu(this),Gd(t>=0,"Initial capacity must not be negative")}function um(){um=a,oF=xd(wd(wd(new iE,(WL(),MH)),xH),AH),aF=md(new iE,TH)}function lm(){lm=a,UF=new U,YF=new V,zF=new q,HF=new X,VF=new W,qF=new $}function hm(){hm=a,XX=new Gc("All",0),WX=new el,$X=new ml,ZX=new nl}function fm(){fm=a,RY=new Gs($P,0),DY=new Gs("LONGEST_PATH",1),PY=new Gs(VP,2)}function dm(){dm=a,uR=Cf(wM,wM,524287),lR=Cf(0,0,524288),ly(1),ly(2),hR=ly(0)}function pm(){pm=a,cY=Zx((nA(),Nx(Mo(fY,1),FI,109,0,[oY,tY,rY,eY,nY,JH,iY,aY])))}function gm(){gm=a,vz=Zx((Vk(),Nx(Mo(wz,1),FI,141,0,[pz,hz,fz,lz,dz])))}function vm(){vm=a,UU=Zx((mT(),Nx(Mo(KU,1),FI,115,0,[BU,GU,HU,FU,YU])))}function bm(){bm=a,Pq=Zx((qk(),Nx(Mo(Gq,1),FI,85,0,[Iq,Aq,Sq,Oq,Lq])))}function ym(t){tC(),function(t,e,n){t.a=1502^e,t.b=n^mD}(this,Qp(Qg(Uw(function(t,e){var n,r,i,o;return 63,(r=0!=(524288&(n=t.h)))&&(n|=-1048576),o=r?xM:0,i=n>>2,Cf((t.m>>2|n<<20)&wM,i&wM,o&xM)}(ql(t)?Jw(t):t)),xD)),Qp(Qg(t,xD)))}function mm(t){return Nl(t)?AD:Cl(t)?LX:vh(t)?OX:Zd(t)||Nd(t)?t.$c:t.$c||rR}function wm(t){return null==t.__elementTypeCategory$?9:t.__elementTypeCategory$}function xm(t){var e,n;for(oc(),n=SM,e=0;en&&(n=t[e]);return n}function _m(t,e){var n;return(n=Uf(Jp(t.b,e),106))||(n=e.rc(),wg(t.b,e,n)),n}function Em(t,e){var n;return(n=Uf(Jp(t.c,e),176))?(Hl(t,n),n.e):null}function km(t,e,n,r){var i;(i=Uf(Em(t.e,e),116)).b+=n,i.a+=r,Ik(t.e,e,i),t.d=!0}function Tm(t){var e;for(++t.a,e=t.c.a.length;t.a"+t.d.f+"("+t.d+")":"e_"+fh(t)}function Dm(){Dm=a,lG=Zx((yN(),Nx(Mo(vG,1),FI,41,0,[eG,tG,rG,cG,sG,aG,iG,oG,nG])))}function Rm(){Rm=a,AG=new bs("OUTSIDE",0),NG=new bs("INSIDE",1),CG=new bs("FIXED",2)}function jm(){jm=a,xV=new _c(BM,0),_V=new _c("TOP",1),wV=new _c("BOTTOM",2)}function Gm(){Gm=a,Tz=new fc("CLASSIC",0),Cz=new fc("IMPROVE_STRAIGHTNESS",1)}function Bm(){this.e=new uo,this.a=new Hg,this.d=new uo,this.b=new Re,this.c=new Re}function Fm(t,e,n){this.b=e,this.a=t,this.c=n,Lf(this.a.e,this),Lf(this.b.b,this)}function Hm(t,e){t.d=zo(t.d,e.d),t.c=Fo(t.c,e.c),t.a=Fo(t.a,e.a),t.b=zo(t.b,e.b)}function Ym(t,e){var n;return n=e.c,e.a.b=e.b,e.b.a=e.a,e.a=e.b=null,e.c=null,--t.b,n}function zm(t,e){var n;for(Xu(),Dd(t),Dd(e),n=!1;e.G();)n|=t.ib(e.H());return n}function Um(t){var e;return vp(t.e,t),Lu(t.b),t.c=t.a,e=Uf(t.a.H(),21),t.b=ix(t),e}function Vm(t){return kM=0x8000000000000000?(dm(),uR):(r=!1,t<0&&(r=!0,t=-t),n=0,t>=EM&&(t-=(n=wv(t/EM))*EM),e=0,t>=_M&&(t-=(e=wv(t/_M))*_M),i=Cf(wv(t),e,n),r&&(o=1+~i.l&wM,a=~i.m+(0==o?1:0)&wM,s=~i.h+(0==o&&0==a?1:0)&xM,i.l=o,i.m=a,i.h=s),i)}(t))}function qm(t){if(t){if(t.V())throw new Ei;return t.sb(t.Y()-1)}return function(t){var e;for(Xu();;)if(e=t.H(),!t.G())return e}(null.mb())}function Xm(t,e){var n;return e<(n=t.d).a.c.length-1?Uf(gd(n.a,e+1),9):null}function Wm(t,e){if(t){e.k=t;var n=function(t){if(t.Tc())return null;var e=t.k;return nI[e]}(e);n?n.$c=e:nI[t]=[e]}}function $m(t,e){var n,r;r=!1;do{r|=n=t.i?xx(t,e):wx(t,e)}while(n);return r}function Zm(t,e,n){var r,i;r=e;do{i=oo(t.n[r.k])+n,t.n[r.k]=i,r=t.a[r.k]}while(r!=e)}function Km(t,e){return Cv(t,"set1"),Cv(e,"set2"),ic(),new pf(t,new La(e),e)}function Qm(t){var e=/function(?:\s+([\w$]+))?\s*\(/.exec(t);return e&&e[1]||gI}function Jm(){Jm=a,MU=Zx((PT(),Nx(Mo(jU,1),FI,123,0,[LU,OU,SU,NU,CU,AU])))}function tw(){tw=a,QU=Zx((MT(),Nx(Mo(uV,1),FI,124,0,[WU,XU,ZU,qU,$U,VU])))}function ew(){ew=a,MX=Nx(Mo(iW,1),vM,26,12,[0,8,4,12,2,10,6,14,1,9,5,13,3,11,7,15])}function nw(){nw=a,jq=new Tc(GM,0),Dq=new Tc("INPUT",1),Rq=new Tc("OUTPUT",2)}function rw(t){this.c=t,this.b=new Xx(new Yn(t.b).a),this.a=null,this.d=(Xu(),Xu(),UD)}function iw(t){this.e=t,this.d=new Sa(cx(ip(this.e).Y())),this.c=this.e.a,this.b=this.e.c}function ow(t,e,n){this.c=t,Gb.call(this),this.b=e,this.j=new _g(e.d,e.e,e.c,e.b),this.a=n}function aw(t,e){t.j>0&&t.c0&&0!=t.e&&aw(t.g,e/t.j*t.g.d))}function sw(t){return t.b.d.f.g==(RT(),DF)?Uf(kx(t.b.d.f,($L(),oq)),7):t.b.d}function cw(t){return t.b.c.f.g==(RT(),DF)?Uf(kx(t.b.c.f,($L(),oq)),7):t.b.c}function uw(t){switch(Vc(3!=t.d),t.d){case 2:return!1;case 0:return!0}return function(t){return t.d=3,t.c=function(t){for(var e;t.b.G();)if(e=t.b.H(),t.a.D(e))return e;return t.d=2,null}(t),2!=t.d&&(t.d=0,!0)}(t)}function lw(t){switch(t.e){case 2:return mL(),KG;case 4:return mL(),LG;default:return t}}function hw(t){switch(t.e){case 1:return mL(),$G;case 3:return mL(),IG;default:return t}}function fw(t,e){var n;return zg(),n=new Xs(1),Nl(t)?Yv(n,t,e):YC(n.d,t,e),new rr(n)}function dw(t,e){return t.g?(t.g=dw(t.g,e),--t.a,t.j=__(t.j,e.c),$T(t)):t.e}function pw(t,e){return t.e?(t.e=pw(t.e,e),--t.a,t.j=__(t.j,e.c),$T(t)):t.g}function gw(t,e){var n,r,i;for(Fd(e),n=!1,i=e.mb();i.G();)r=i.H(),n|=t.ib(r);return n}function vw(t){var e,n;for(n=new Fr,e=t.b.mb();e.G();)Of(n,Uf(e.H(),92).a);return n}function bw(t){var e,n,r;for(e=0,r=t.mb();r.G();)e+=(Fd(n=Oh(r.H())),n);return e/t.Y()}function yw(t,e){var n;return(n=Uf(Jp(t.c,e),200))||((n=new Jr).c=e,wg(t.c,n.c,n)),n}function mw(t,e){var n;return Fd(e),n=e.e,!t.b[n]&&(Yp(t.b,n,e),++t.c,!0)}function ww(t,e){var n,r;return n=1-e,r=t.a[n],t.a[n]=r.a[e],r.a[e]=t,t.b=!0,r.b=!1,r}function xw(t,e){var n;return!!dl(e,10)&&(n=Uf(e,10),t.a==n.a&&t.b==n.b)}function _w(t,e,n){return t.g=new Nw(e,n),Th(t,t.g,t.i),t.d=Yo(2,t.d),++t.a,t.j=w_(t.j,n),t}function Ew(t,e,n){return t.e=new Nw(e,n),Th(t.f,t.e,t),t.d=Yo(2,t.d),++t.a,t.j=w_(t.j,n),t}function kw(t,e){var n=t.a,r=0;for(var i in n)n.hasOwnProperty(i)&&(e[r++]=i);return e}function Tw(t,e){var n,r;for(Fd(e),r=e.bb().mb();r.G();)n=Uf(r.H(),21),t.db(n.yb(),n.zb())}function Cw(t,e,n){this.g=t,this.d=e,this.e=n,this.a=new Re,function(t){var e,n,r,i;for(i=bA(new zh(t.d,t.e));i.G();)for(r=Uf(i.H(),7),n=new Kn(t.e==(mL(),KG)?r.b:r.e);n.a0),this.b=t,this.c=e,this.j=e,this.a=1,this.d=1,this.e=null,this.g=null}function Aw(t){return 1.4901161193847656e-8*LN(t,26)+11102230246251565e-32*LN(t,27)}function Sw(t){return dl(t,87)?rb(Uf(t,87)):dl(t,88)?Uf(t,88).a:dl(t,63)?new Di(t):new Ka(t)}function Ow(t){var e;return e=Uf(kx(t,($L(),qV)),32),t.g==(RT(),DF)&&(e==(mL(),KG)||e==LG)}function Lw(t,e){return!!function(t,e){var n,r,i;for(n=Uf(kx(e,($L(),UV)),18),i=Uf(WT(SF,n),18).mb();i.G();)if(r=Uf(i.H(),18),!Uf(WT(t.a,r),20).V())return!1;return!0}(t,e)&&(dN(t.a,Uf(kx(e,($L(),UV)),18),e),!0)}function Iw(t,e){var n;if(e)for(n=0;n<6;n++)Uf(gd(t.a,n),18).jb(Uf(gd(e.a,n),19));return t}function Mw(t,e){var n;return t.b?null:(n=function(t,e){return new Ch(t>0?t-1:t,e)}(t.e,t.f),Of(t.a,n),n.g=t,t.d=e,n)}function Pw(t,e){var n,r;for(r=Sk(t,0);r.b!=r.d.c;)(n=Uf(Sb(r),10)).a+=e.a,n.b+=e.b;return t}function Dw(t,e){var n,r;for(n=0;n0?t.g?Yw(t.g,e,n):0:t.c}function zw(t,e){var n,r;return!!t.c&&(r=t.g,(n=t.a.$b(e,r))>0|0==n&t.f==(qu(),BD))}function Uw(t){var e;return 0==(e=t.h)?t.l+t.m*_M:e==xM?t.l+t.m*_M-EM:t}function Vw(t){var e,n,r,i;for(e=new uo,r=0,i=t.length;r=i;o--)t[o+1]=t[o];t[i]=r}function Kw(t,e,n,r){var i,o;for(i=function(t,e,n,r){var i,o,a,s;for(o=e,i=n-1;o<=i;)if((s=t[a=o+i>>>1])r))return a;i=a-1}return-(o+1)}(t,e,n,r),i<0&&(i=-i-1),o=n-1;o>=i;o--)t[o+1]=t[o];t[i]=r}function Qw(t,e){var n,r;for(Fd(e),r=e.mb();r.G();)if(n=r.H(),!t.kb(n))return!1;return!0}function Jw(t){var e,n,r;return n=0,(r=t)<0&&(r+=EM,n=xM),e=wv(r/_M),Cf(wv(r-e*_M),e,n)}function tx(t,e){return t.c.c=Ty(TD,GI,1,0,4,1),vC(t,t.e,e),vC(t,t.a,e),zg(),xb(t.c,null),function(t){var e,n,r;for(e=0,r=new Kn(t.c);r.a0;r--)n|=VE(t,e,r-1,r);return n}function xx(t,e){var n,r,i;for(n=!1,r=t.d[e].length,i=0;ie?1:t==e?0:isNaN(t)?isNaN(e)?0:1:-1}function Lx(t){switch(t.Y()){case 0:return YD;case 1:return new Ud(t.mb().H());default:return new sb(t)}}function Ix(){var t,e;Ix=a,e=!(Error.stackTraceLimit||"stack"in new Error),t=new we,oI=e?new u:t}function Mx(){Mx=a,VB=new If("intCoordinates",(Vd(),Vd(),NX)),qB=new fd("jsonObject"),XB=new ts(0,0)}function Px(){Px=a,ZF=new Is("MIRROR_X",0),KF=new Is("TRANSPOSE",1),$F=new Is("MIRROR_AND_TRANSPOSE",2)}function Dx(){Dx=a,DU=new yc(BM,0),PU=new yc("INCOMING_ONLY",1),RU=new yc("OUTGOING_ONLY",2)}function Rx(){return CL(),Nx(Mo(TU,1),FI,60,0,[$z,qz,Vz,Qz,Kz,vU,gU,Zz,Xz,Wz,Jz,dU,pU])}function jx(){var t,e,n,r;for(jx=a,uY=new TE(TU),n=0,r=(e=Rx()).length;n0)return Vf(e-1,t.a.c.length),yy(t.a,e-1);throw new _i}function Vx(t){t.b.c.length-t.e.c.length<0?(Fh(t,(mL(),LG)),t.a.a=t.j.a):(Fh(t,(mL(),KG)),t.a.a=0)}function qx(t,e){Gd(t>=0,"Negative initial capacity"),Gd(e>=0,"Non-positive load factor"),my(this)}function Xx(t){var e;this.e=t,this.d=new ty(this.e.e),this.a=this.d,this.b=ix(this),e=t[pD],this[pD]=e}function Wx(){this.n=null,this.j=null,this.i=null,this.d=null,this.b=null,this.k=null,this.a=null}function $x(t){var e,n,r,i;for(i=1,n=0,r=t.length;n=48&&t<58?t-48:t>=97&&t<97?t-97+10:t>=65&&t<65?t-65+10:-1}function m_(t){switch(lf(),t.Y()){case 0:return ag(),KD;case 1:return new la(t.mb().H());default:return new Ks(t)}}function w_(t,e){var n;return ql(t)&&ql(e)&&kM<(n=t+e)&&n>22),i=t.h+e.h+(r>>22),Cf(n&wM,r&wM,i&xM)}(ql(t)?Jw(t):t,ql(e)?Jw(e):e))}function x_(t,e){var n;return ql(t)&&ql(e)&&kM<(n=t*e)&&n>13|(15&t.m)<<9,i=t.m>>4&8191,o=t.m>>17|(255&t.h)<<5,a=(1048320&t.h)>>8,v=r*(s=8191&e.l),b=i*s,y=o*s,m=a*s,0!=(c=e.l>>13|(15&e.m)<<9)&&(v+=n*c,b+=r*c,y+=i*c,m+=o*c),0!=(u=e.m>>4&8191)&&(b+=n*u,y+=r*u,m+=i*u),0!=(l=e.m>>17|(255&e.h)<<5)&&(y+=n*l,m+=r*l),0!=(h=(1048320&e.h)>>8)&&(m+=n*h),d=((g=n*s)>>22)+(v>>9)+((262143&b)<<4)+((31&y)<<17),p=(b>>18)+(y>>5)+((4095&m)<<8),p+=(d+=(f=(g&wM)+((511&v)<<13))>>22)>>22,Cf(f&=wM,d&=wM,p&=xM)}(ql(t)?Jw(t):t,ql(e)?Jw(e):e))}function __(t,e){var n;return ql(t)&&ql(e)&&kM<(n=t-e)&&n>22),i=t.h-e.h+(r>>22),Cf(n&wM,r&wM,i&xM)}(ql(t)?Jw(t):t,ql(e)?Jw(e):e))}function E_(){E_=a,OR=new us(GM,0),SR=new us(DM,1),AR=new us(PM,2),NR=new us("DOWN",3),LR=new us("UP",4)}function k_(){k_=a,zR=new hs(GM,0),HR=new hs("POLYLINE",1),FR=new hs("ORTHOGONAL",2),YR=new hs("SPLINES",3)}function T_(){T_=a,ej=new ds("INHERIT",0),tj=new ds("INCLUDE_CHILDREN",1),nj=new ds("SEPARATE_CHILDREN",2)}function C_(){C_=a,BY=md(bd(new iE,(WL(),cH)),NH),FY=vd(md(yd(new iE,nH),tH),eH),HY=vd(wd(new iE,rH),eH)}function N_(){N_=a,YY=md(bd(new iE,(WL(),cH)),NH),zY=vd(md(yd(new iE,nH),tH),eH),UY=vd(wd(new iE,rH),eH)}function A_(t){this.a=new Iu,this.d=new Iu,this.b=new Iu,this.c=new Iu,this.g=new Iu,this.i=new Iu,this.f=t}function S_(t,e,n,r,i,o){this.e=new Re,this.f=(nw(),jq),Lf(this.e,t),this.d=e,this.a=n,this.b=r,this.f=i,this.c=o}function O_(t,e,n,r,i){var o,a;for(a=t.mb();a.G();)(o=Uf(a.H(),33)).i.a=e.a,o.i.b=i?e.b:e.b+r.b-o.j.b,e.a+=o.j.a+n}function L_(t,e){var n,r;for(Gf(),r=Ip(GT(t));tE(r);)if((n=Uf(Nv(r),12)).d.f==e||n.c.f==e)return n;return null}function I_(t,e,n){var r,i,o;for(r=0,o=Sk(t,0);o.b!=o.d.c&&!((i=oo(Oh(Sb(o))))>n);)i>=e&&++r;return r}function M_(t,e){var n;return e?((n=e.n?e.n:(zg(),zg(),jX)).V()||(t.n?Tw(t.n,n):t.n=new lu(n)),t):t}function P_(t,e,n){try{!function(t,e,n){if(Dd(e),n.G())for(nu(e,t.C(n.H()));n.G();)nu(e,t.c),nu(e,t.C(n.H()))}(t,e,n)}catch(t){throw dl(t=r_(t),181)?new sm(t):D_(t)}return e}function D_(t){var e;return dl(t,164)&&Zc((e=Uf(t,164)).b)!==Zc((ai(),iI))?Zc(e.b)===Zc(iI)?null:e.b:t}function R_(t,e){var n;for(n=Uf(kx(Kp(t),($L(),lq)),9);n;){if(n==e)return!0;n=Uf(kx(Kp(n),lq),9)}return!1}function j_(t){switch(Uf(kx(t,($L(),KV)),140).e){case 1:Ky(t,KV,(jm(),wV));break;case 2:Ky(t,KV,(jm(),_V))}}function G_(t){switch(lf(),t.c){case 0:return ag(),KD;case 1:return new la(PC(new qs(t)));default:return new Ii(t)}}function B_(t){var e,n;for(og(),e=0,n=t.length;e-129&&t<128?(e=t+128,!(n=(qd(),IX)[e])&&(n=IX[e]=new Mn(t)),n):new Mn(t)}function $_(t){var e,n;for(e=NT(t.b,t.d),n=yI;n>e;){if(ax(t,t.d),0==e){n=0;break}oE(t),EE(t),n=e,e=NT(t.b,t.d)}t.c=n}function Z_(){var t,e,n;tC(),n=qX+++(Date.now?Date.now():(new Date).getTime()),t=wv(Math.floor(n*KP))&xD,e=wv(n-t*wD),this.a=1502^t,this.b=e^mD}function K_(t){return Nl(t)?dk(t):Cl(t)?wv((Fd(t),t)):vh(t)?io((Fd(t),t))?1231:1237:Zd(t)?t.v():(Nd(t),fh(t))}function Q_(t,e,n,r){var i,o,a;for(a=0,o=bA(new zh(e,r));o.G();)i=Uf(o.H(),7),wg(t.i,i,W_(a++));wg(n,e,W_(a))}function J_(t){var e;return(e=Uf(kx(t,(JL(),pj)),59))==(E_(),OR)?Uf(kx(t,($L(),AV)),15).a>=1?SR:NR:e}function tE(t){if(Dd(t.b),t.b.G())return!0;for(;t.a.G();)if(Dd(t.b=t.Wb(t.a.H())),t.b.G())return!0;return!1}function eE(t){return t.d==t.c.d&&t.i==t.g.d||(t.a.c=Ty(TD,GI,1,0,4,1),ox(t.a,t.c),ox(t.a,t.g),t.d=t.c.d,t.i=t.g.d),t.a}function nE(t){var e;if(t.b){if(nE(t.b),t.b.d!=t.c)throw new xi}else t.d.V()&&(e=Uf(Jp(t.f.b,t.e),19))&&(t.d=e)}function rE(t,e,n,r,i){var o,a,s,c;for(function(t,e,n,r,i){r?function(t,e){var n,r;for(r=new Kn(e);r.a1&&(xb(e,t.b),function(t,e){var n,r,i,o,a,s,c,u,l;for(i=new Re,c=new Kn(e);c.ae){tb(n);break}}Cp(n,e)}function sE(t,e,n){var r;return r=Ca(t.a,e),function(t,e,n){t.set(e,n)}(t.a,e,void 0===n?null:n),void 0===r?(++t.c,tf(t.b)):++t.d,r}function cE(t,e,n){return(e-t<=0?0-(e-t):e-t)FP?t-n>FP:n-t>FP)}function uE(t){switch(t.e){case 0:return GU;case 1:return BU;case 2:return FU;case 3:return HU;default:return YU}}function lE(t,e){switch(e.e){case 2:return t.b;case 1:return t.c;case 4:return t.d;case 3:return t.a;default:return!1}}function hE(t){switch(mL(),t.e){case 4:return IG;case 1:return LG;case 3:return $G;case 2:return KG;default:return ZG}}function fE(t,e){if(e==t.c)return t.d;if(e==t.d)return t.c;throw new so("Node "+e+" not part of edge "+t)}function dE(t,e){var n;return Xl(t.a,e)?Uf(Xl(t.a,e)?t.b[e.e]:null,62):(n=new Hr,mw(t.a,e),Op(t,e.e,n),n)}function pE(t,e){var n,r,i;for(i=t.g.tb(),n=0;i.G();){if((r=oo(Oh(i.H()))-e)>uD)return n;r>lD&&++n}return n}function gE(t){var e,n,r,i;return mw(n=new Zf(e=Uf(ia((i=(r=t.$c).f)==RD?r:i),11),Uf(Sp(e,e.length),11),0),t),n}function vE(t,e){var n,r;for(r=new Kn(e);r.a %s",Nx(Mo(TD,1),GI,1,4,[W_(e),W_(n)])),sT(e,n=n<(r=t.length)?n:r,r),n-e}function _E(t,e){var n,r,i;for(n=t,i=0;;){if(n==e)return i;if(!(r=Uf(kx(n,($L(),lq)),9)))throw new qr;n=Kp(r),++i}}function EE(t){var e,n,r;for(r=!1,n=t.d.length-1;n>=0;n--)t.j=(e=new gC(t.e,t.d,n,1),new BT(n,t.d,e)),r|=$m(t,n);return r}function kE(t){this.f=(_l(),new kr),this.n=new kr,this.k=new kr,this.g=new Ji,this.i=new lk((ui(),$D)),this.j=t,function(t,e){var n,r,i,o,a;for(n=0,a=0,i=0,o=e.length;i0?t-e:-(t-e))<=yM||t==e||isNaN(t)&&isNaN(e)?0:te?1:yu(isNaN(t),isNaN(e)))>0}function DE(t,e){return Oo(),Oo(),((t-e>0?t-e:-(t-e))<=yM||t==e||isNaN(t)&&isNaN(e)?0:te?1:yu(isNaN(t),isNaN(e)))<0}function RE(t){var e,n;for(t.d||function(t){var e,n,r,i,o,a;if(i=t.g.tb(),r=t.b.tb(),t.e)for(n=0;nuD;){for(o=e,a=0;(e-o<=0?0-(e-o):e-o)o_(t.a,r,i)+t.c.b+t.d.b)}(t.j,n,r)&&(function(t,e,n){!function(t,e,n){$N(t,e,n,(mL(),LG),t.f),$N(t,e,n,KG,t.n)}(t.c,e,n)}(t.j,t.d[e][n],t.d[e][r]),a=(o=t.d[e])[r],o[r]=o[n],o[n]=a,i=!0),i}function qE(t,e,n){var r,i,o,a,s;i=(s=Kp(t)).a,r=Uf(kx(s,($L(),PV)),15).a,o=s.d,a=t.i,e&&(a.a=a.a-i.b-r-o.a),n&&(a.b=a.b-i.d-r-o.b)}function XE(t,e){var n,r,i;for(r=Ip(GT(t));tE(r);)return n=Uf(Nv(r),12),new Fe(Dd((i=Uf(e.B(n),9)).i.b+i.j.b/2));return ci(),ci(),kD}function WE(t){var e,n,r,i;for(n=vO(t),e=jP,i=0,r=0;e>.5&&i<50;)e=Na(XT(n,r=fA(n),!0).b),++i;return XT(t,r,!1)}function $E(t){var e,n,r,i;for(n=vO(t),e=jP,i=0,r=0;e>.5&&i<50;)e=Na(XT(n,r=hA(n),!0).a),++i;return XT(t,r,!1)}function ZE(t){var e,n,r;for(this.a=new Iu,this.e=new Ji,this.f=0,n=0,r=t.length;n0),e.a.sb(e.c=--e.b))}function ik(t,e,n){HE(n,"Compound graph preprocessor",1),t.a=new $s,oO(t,e,null),function(t,e){var n,r,i,o,a,s,c;for(a=ip(t.a).mb();a.G();){if((o=Uf(a.H(),12)).b.c.length>0)for(xb(r=new df(Uf(WT(t.a,o),18)),new cn(e)),i=new Kv(o.b,0);i.b=t.b>>1)for(r=t.c,n=t.b;n>e;--n)r=r.b;else for(r=t.a.a,n=0;n0&&(i.b+=e),i}function Lk(t,e){var n,r,i;for(i=new uo,r=t.mb();r.G();)iS(n=Uf(r.H(),55),0,i.b),i.b+=n.e.b+e,i.a=Fo(i.a,n.e.a);return i.a>0&&(i.a+=e),i}function Ik(t,e,n){var r,i,o;return(i=Uf(Jp(t.c,e),176))?(o=bf(i,n),Hl(t,i),o):(r=new sd(t,e,n),wg(t.c,e,r),Sv(r),null)}function Mk(t){switch(t.e){case 8:return mL(),IG;case 9:return mL(),$G;case 10:return mL(),LG;case 11:return mL(),KG;default:return mL(),ZG}}function Pk(t,e){return Nl(t)?!!cI[e]:t._c?!!t._c[e]:Cl(t)?!!sI[e]:!!vh(t)&&!!aI[e]}function Dk(){Mx(),this.i=(_l(),new kr),this.a=new kr,this.k=new kr,this.j=new kr,this.b=new kr,this.n=new kr,this.f=new kr,this.e=new kr}function Rk(t,e){var n,r;e.a.R(t)||(r=Uf(kx(t,($L(),qV)),32),n=Uf(gd(t.f,0),7),r==(mL(),IG)?Fh(n,$G):r==$G&&Fh(n,IG),e.a.db(t,e))}function jk(t){return Yo(1,Uf(kx(t,($L(),gq)),24).a)*(t.c.f.g==(RT(),GF)&&t.d.f.g==GF?1:t.c.f.g==GF||t.d.f.g==GF?2:8)}function Gk(t){var e,n,r,i;for(i=Uf(kx(t,($L(),oq)),7),n=0,r=(e=Uf(Yk(t.b,Ty(IF,CP,12,t.b.c.length,0,1)),47)).length;nr&&Yp(e,r,null),e}function zk(t,e){var n,r;for(r=t.a.length,e.lengthr&&Yp(e,r,null),e}function Uk(t){return Nl(t)?t:Cl(t)?Aa((Fd(t),t)):vh(t)?yl(io((Fd(t),t))):Zd(t)?t.w():Nd(t)?yv(t):t.toString?t.toString():"[JavaScriptObject]"}function Vk(){Vk=a,pz=new cc("SIMPLE",0),hz=new cc(VP,1),fz=new cc("LINEAR_SEGMENTS",2),lz=new cc("BRANDES_KOEPF",3),dz=new cc($P,4)}function qk(){qk=a,Iq=new kc(BM,0),Aq=new kc("FIRST",1),Sq=new kc("FIRST_SEPARATE",2),Oq=new kc("LAST",3),Lq=new kc("LAST_SEPARATE",4)}function Xk(){Xk=a,Hz=new le,Bz=md(new iE,(WL(),mH)),Fz=vd(md(new iE,RH),DH),jz=vd(wd(md(yd(new iE,_H),kH),CH),EH),Gz=vd(wd(new iE,CH),uH)}function Wk(t){var e,n,r;for(n=new Vn(new Un(t.d.a).a.bb().mb());n.a.G();)r=Uf(n.a.H(),21),Lf((e=Uf(r.yb(),12)).c.e,e),Lf(e.d.b,e)}function $k(t,e){var n,r;if(Su(e>0),(e&-e)==e)return wv(e*LN(t,31)*4.656612873077393e-10);do{r=(n=LN(t,31))%e}while(n-r+(e-1)<0);return wv(r)}function Zk(t,e){if(t.c.f==e)return t.d.f;if(t.d.f==e)return t.c.f;throw new so("Node "+e+" is neither source nor target of edge "+t)}function Kk(t,e,n){return Su(t>=0&&t<=1114111),t>=wI?(e[n++]=55296+(t-wI>>10&1023)&xI,e[n]=56320+(t-wI&1023)&xI,2):(e[n]=t&xI,1)}function Qk(t){var e,n;if(!t.a)for(t.a=Ol(Uf(t.e,9).c.c.length),n=new Kn(Uf(t.e,9).c);n.ai&&Yp(e,i,null),e}function oT(t,e,n){if(n&&(e<0||e>n.a.c.length))throw new so("index must be >= 0 and <= layer node count");t.d&&Gy(t.d.a,t),t.d=n,n&&Id(n.a,e,t)}function aT(t,e,n,r,i,o,a,s){var c,u;r&&((c=r.a[0])&&aT(t,e,n,c,i,o,a,s),function(t,e,n,r,i,o,a){var s,c;return!(e.Xc()&&(c=t.a.$b(n,r),c<0||!i&&0==c))&&!(e.Yc()&&(s=t.a.$b(n,o),s>0||!a&&0==s))}(t,n,r.d,i,o,a,s)&&e.ib(r),(u=r.a[1])&&aT(t,e,n,u,i,o,a,s))}function sT(t,e,n){if(t<0)throw new ao(SI+t+" < 0");if(e>n)throw new ao("toIndex: "+e+" > size "+n);if(t>e)throw new so(SI+t+" > toIndex: "+e)}function cT(t,e){var n,r,i;return n=e.yb(),i=e.zb(),r=t.cb(n),!(!(Zc(i)===Zc(r)||null!=i&&s_(i,r))||null==r&&!t.R(n))}function uT(t,e,n){var r;(r=e.c.f).g==(RT(),jF)?(Ky(t,($L(),eq),Uf(kx(r,eq),7)),Ky(t,nq,Uf(kx(r,nq),7))):(Ky(t,($L(),eq),e.c),Ky(t,nq,n.d))}function lT(t,e,n){var r,i,o,a;for(function(t){var e,n;for(null==t.g&&(t.g=_d(t)),e=0,n=t.g.length;er&&t.charCodeAt(e-1)<=32;)--e;return r>0||e>19)!=(s=e.h>>19)?s-a:(r=t.h)!=(o=e.h)?r-o:(n=t.m)!=(i=e.m)?n-i:t.l-e.l}function xT(t){var e,n,r;for(n=new Vn(new Un(t.p.a).a.bb().mb());n.a.G();)if(r=Uf(n.a.H(),21),(e=Uf(r.yb(),89)).e&&t.b[e.b]<0)return e;return null}function _T(t,e){var n,r,i,o,a;r=zo(t.d,e.d),o=zo(t.e,e.e),(i=Fo(t.d+t.c,e.d+e.c))=e.length)throw new ao("Greedy SwitchDecider: Free layer layer not in graph.");this.b=e[t],this.c=new Wh(this.b),this.d=new qw(this.b)}function FT(t,e){var n;if(this.f=t,this.b=this.f.c,Ob(e,n=t.d),e>=(n/2|0))for(this.e=t.e,this.d=n;e++0;)ib(this);this.a=null}function HT(t){var e,n,r;for(n=new Kn(t.a.b);n.a0&&(t.g=oC(t.g)),iC(t);case 2:return mu(t.e)<0&&(t.e=iC(t.e)),oC(t);default:return t.d=1+Yo(Bi(t.e),Bi(t.g)),t}}function ZT(t,e){this.f=(_l(),new kr),this.b=new kr,this.j=new kr,this.a=t,this.c=e,this.c>0&&rN(this,this.c-1,(mL(),LG)),this.c0&&hN(t,e,n),0):(Uc(0==n),0)}function JT(t,e){var n,r,i,o,a;for(i=Uf(kx(e,($L(),wq)),15).a*Uf(kx(e,(ZL(),$q)),15).a,a=t[0].i.a+t[0].j.a,o=1;o=0;e--)VX[e]=r,r*=.5;for(n=1,t=24;t>=0;t--)UX[t]=n,n*=.5}function eC(t){for(;0!=t.g.c&&0!=t.d.c;)zl(t.g).c>zl(t.d).c?(t.i+=t.g.c,zE(t.d)):zl(t.d).c>zl(t.g).c?(t.e+=t.d.c,zE(t.g)):(t.i+=id(t.g),t.e+=id(t.d),zE(t.g),zE(t.d))}function nC(t){var e,n,r,i;for(i=new $o("["),e=!1,r=t.mb();r.G();)n=r.H(),e?i.a+=", ":e=!0,iu(i,n===t?"(this Collection)":(si(),null==n?pI:Uk(n)));return i.a+="]",i.a}function rC(t){var e,n,r,i;for(i=new $o("{"),e=!1,r=t.bb().mb();r.G();)n=Uf(r.H(),21),e?i.a+=", ":e=!0,iu(i,vb(t,n.yb())),i.a+="=",iu(i,vb(t,n.zb()));return i.a+="}",i.a}function iC(t){var e;return Vc(!!t.g),e=t.g,t.g=e.e,e.e=t,e.j=t.j,e.a=t.a,t.a=1+Gi(t.e)+Gi(t.g),t.j=w_(w_(t.c,Fi(t.e)),Fi(t.g)),t.d=1+Yo(Bi(t.e),Bi(t.g)),e.d=1+Yo(Bi(e.e),Bi(e.g)),e}function oC(t){var e;return Vc(!!t.e),e=t.e,t.e=e.g,e.g=t,e.j=t.j,e.a=t.a,t.a=1+Gi(t.e)+Gi(t.g),t.j=w_(w_(t.c,Fi(t.e)),Fi(t.g)),t.d=1+Yo(Bi(t.e),Bi(t.g)),e.d=1+Yo(Bi(e.e),Bi(e.g)),e}function aC(t){var e;pl(new Kn(fT(t.e)))&&((e=Uf(mE(t.e,(JL(),Hj)),28))==(bT(),mG)?function(t){var e,n,r,i,o;for(e=t.e.j,r=new Kn(fT(t));r.a=wI?(e=55296+(t-wI>>10&1023)&xI,n=56320+(t-wI&1023)&xI,String.fromCharCode(e)+""+String.fromCharCode(n)):String.fromCharCode(t&xI)}function kC(t,e,n,r){var i;Lf(t.c,new xg(t,n,r,Uf(Jp(t.k,n),24).a)),Wp(r)&&(e==t.e?r.d.f!=t.a&&r.c.f!=t.a:r.d.f!=t.e&&r.c.f!=t.e)&&(i=n==r.c?r.d:r.c,Lf(t.c,new xg(t,i,r,Uf(Jp(t.k,i),24).a)))}function TC(t,e){var n,r,i;if(e===t)return!0;if(!dl(e,57))return!1;if(i=Uf(e,57),t.Y()!=i.Y())return!1;for(r=i.bb().mb();r.G();)if(n=Uf(r.H(),21),!t._(n))return!1;return!0}function CC(t,e){var n,r,i;return M_(r=new Tk(t),e),Ky(r,($L(),VV),e),Ky(r,(JL(),Hj),(bT(),mG)),Ky(r,sj,(fk(),xR)),fr(r,(RT(),DF)),cv(n=new TT,r),Fh(n,(mL(),KG)),cv(i=new TT,r),Fh(i,LG),r}function NC(t,e){var n,r,i;for(i=yI,r=new Kn(eE(e));r.a0&&LC(t,o,n));e.k=0}function IC(t,e){if(0>e)throw new so("Top must be smaller or equal to bottom.");if(0>t)throw new so("Left must be smaller or equal to right.");this.d=0,this.c=t,this.a=e,this.b=0}function MC(t){var e,n,r;if(0==t.length)throw new so(hD);for(n=0,r=t.length;n1)throw new so("In straight hyperEdges there may be only one edge.");Of((i=new Un(n.a).a.bb().mb(),r=Uf(new Vn(i).a.H(),21),Uf(r.yb(),12)).a,new ts(e,t.b))}function WC(t,e,n){var r,i;if(this.f=t,Ob(n,i=(r=Uf(Jp(t.b,e),126))?r.a:0),n>=(i/2|0))for(this.e=r?r.c:null,this.d=i;n++0;)Rv(this);this.b=e,this.a=null}function $C(e,r){typeof n===bI?n(r):((typeof document!==WM||"object"===lI&&t.exports)&&uW(e(r)),typeof document===WM&&typeof self!==WM&&self.postMessage(r))}function ZC(t,e){var n,r,i,o;"x"in t.a&&(i=Uf(Sg(t,"x"),104),e.i.a=i.a),"y"in t.a&&(o=Uf(Sg(t,"y"),104),e.i.b=o.a),eP in t.a&&(r=Uf(Sg(t,eP),104),e.j.a=r.a),nP in t.a&&(n=Uf(Sg(t,nP),104),e.j.b=n.a)}function KC(t,e,n){var r;wy(this),e==(pv(),EU)?Np(this.g,t.c):Np(this.o,t.c),Np(n==EU?this.g:this.o,t.d),Np(this.c,t),uk(this,Gv(t.c).b,r=Gv(t.d).b,r),this.f=function(t,e){return LT(),(t-e<=0?0-(t-e):t-e)<.2}(Gv(t.c).b,Gv(t.d).b)}function QC(t,e,n){var r,i,o,a,s;for(zg(),s=new cm((a=new Ko(Uf(gd(e.a,n),18))).b.Y()),i=new nr(a.b.mb());i.b.G();)r=Uf(i.b.H(),37),(o=Uf(Jp(t.a,r),31))||(o=YL(r),wg(t.a,r,o)),s.c[s.c.length]=o;return s}function JC(t){var e,n;if(Vs(Uf(kx(t,(JL(),Hj)),28)))for(n=new Kn(t.f);n.ae&&r.$b(t[o-1],t[o])>0;--o)a=t[o],Yp(t,o,t[o-1]),Yp(t,o-1,a)}(e,n,r,o);else if(tN(e,t,s=n+i,c=s+((a=r+i)-s>>1),-i,o),tN(e,t,c,a,-i,o),o.$b(t[c-1],t[c])<=0)for(;n=r||e upperEndpoint (%s)",Nx(Mo(TD,1),GI,1,4,[e,n])))}((s=t.$b(n,o))<=0,n,o),0==s&&Uc(r!=(qu(),BD)|a!=BD))}function uN(t){if(this.a=t,t.c.f.g==(RT(),DF))this.c=t.c,this.d=Uf(kx(t.c.f,($L(),qV)),32);else{if(t.d.f.g!=DF)throw new so("Edge "+t+" is not an external edge.");this.c=t.d,this.d=Uf(kx(t.d.f,($L(),qV)),32)}}function lN(){lN=a,Iz=wd(new iE,(WL(),vH)),Pz=md(new iE,mH),Dz=vd(md(new iE,RH),DH),Lz=vd(wd(md(new iE,hH),fH),dH),Rz=md(new iE,UH),Mz=vd(new iE,bH),Sz=vd(wd(md(yd(new iE,_H),kH),CH),EH),Oz=vd(wd(new iE,CH),uH)}function hN(t,e,n){var r,i,o,a;return Cm(n,gM),0==n?ST(t,e):(Uc(hh(t.b,e)),(a=t.c.a)?(o=Ty(iW,vM,26,1,12,1),r=ES(a,t.d,e,n,o),jd(t.c,a,r),o[0]):(t.d.$b(e,e),i=new Nw(e,n),Th(t.a,i,t.a),jd(t.c,null,i),0))}function fN(t,e,n){var r,i,o,a,s;for(r=0,s=n,e||(r=n*(t.c.length-1),s*=-1),o=new Kn(t);o.a0&&((!os(t.b.d)||!r.q.d)&&(!as(t.b.d)||!r.q.b)&&(r.j.e-=0>o/2-.5?0:o/2-.5),(!os(t.b.d)||!r.q.a)&&(!as(t.b.d)||!r.q.c)&&(r.j.b+=0>o-1?0:o-1))}(t,e,n),o=new Re,i=new Kn(t.b.a.b);i.a0&&((!os(t.b.d)||!r.q.d)&&(!as(t.b.d)||!r.q.b)&&(r.j.e+=0>o/2-.5?0:o/2-.5),(!os(t.b.d)||!r.q.a)&&(!as(t.b.d)||!r.q.c)&&(r.j.b-=o-1))}(t,e,n)}function gN(t,e){var n,r,i,o;for(t.c[e.k]=!0,Lf(t.a,e),o=new Kn(e.f);o.a(a=s+oo(t.b[t.f[i.k].k]))?n:a;return n-r}function _N(t){var e;return Zy(e=new Vi,"type",new Rd((Bh(uF),uF.n))),Zy(e,$M,new Rd(t.f)),t.b&&Zy(e,"value",t.b),t.a&&Zy(e,"context",t.a),Zy(e,ZM,new Rd(kl(new co("\n"),new zn(new Qn((null==t.g&&(t.g=_d(t)),t.g)))))),e}function EN(t,e){var n,r,i,o,a;if(e===t)return!0;if(!dl(e,20))return!1;if(a=Uf(e,20),t.Y()!=a.Y())return!1;for(o=a.mb(),r=t.mb();r.G();)if(n=r.H(),i=o.H(),!(Zc(n)===Zc(i)||null!=n&&s_(n,i)))return!1;return!0}function kN(t){!nR&&((e=["\\u0000","\\u0001","\\u0002","\\u0003","\\u0004","\\u0005","\\u0006","\\u0007","\\b","\\t","\\n","\\u000B","\\f","\\r","\\u000E","\\u000F","\\u0010","\\u0011","\\u0012","\\u0013","\\u0014","\\u0015","\\u0016","\\u0017","\\u0018","\\u0019","\\u001A","\\u001B","\\u001C","\\u001D","\\u001E","\\u001F"])[34]='\\"',e[92]="\\\\",e[173]="\\u00ad",e[1536]="\\u0600",e[1537]="\\u0601",e[1538]="\\u0602",e[1539]="\\u0603",e[1757]="\\u06dd",e[1807]="\\u070f",e[6068]="\\u17b4",e[6069]="\\u17b5",e[8203]="\\u200b",e[8204]="\\u200c",e[8205]="\\u200d",e[8206]="\\u200e",e[8207]="\\u200f",e[8232]="\\u2028",e[8233]="\\u2029",e[8234]="\\u202a",e[8235]="\\u202b",e[8236]="\\u202c",e[8237]="\\u202d",e[8238]="\\u202e",e[8288]="\\u2060",e[8289]="\\u2061",e[8290]="\\u2062",e[8291]="\\u2063",e[8292]="\\u2064",e[8298]="\\u206a",e[8299]="\\u206b",e[8300]="\\u206c",e[8301]="\\u206d",e[8302]="\\u206e",e[8303]="\\u206f",e[65279]="\\ufeff",e[65529]="\\ufff9",e[65530]="\\ufffa",e[65531]="\\ufffb",nR=e);var e,n=t.replace(/[\x00-\x1f\xad\u0600-\u0603\u06dd\u070f\u17b4\u17b5\u200b-\u200f\u2028-\u202e\u2060-\u2064\u206a-\u206f\ufeff\ufff9-\ufffb"\\]/g,(function(t){return function(t,e){var n=nR[t.charCodeAt(0)];return null==n?t:n}(t)}));return'"'+n+'"'}function TN(t,e){var n,r,i,o,a;for(r=new Vn(new Un((1==e?hF:lF).a).a.bb().mb());r.a.G();)for(i=Uf(r.a.H(),21),n=Uf(i.yb(),59),a=Uf(WT(t.f.c,n),18).mb();a.G();)o=Uf(a.H(),27),Gy(t.b.b,o.b),Gy(t.b.a,Uf(o.b,25).f)}function CN(t,e,n){var r,i,o,a;if(HE(n,"Recursive layout",2),0!=e.b.c.length){for(a=1/e.b.c.length,o=new Kn(e.b);o.a=2147483648&&(r-=4294967296),r)}function IN(t,e,n){var r,i,o;if(e!=n){r=e;do{Ih(t,r.d),(o=Uf(kx(r,($L(),lq)),9))&&(Rl(t,(i=r.a).b,i.d),Ih(t,o.i),r=Kp(o))}while(o);r=n;do{Mh(t,r.d),(o=Uf(kx(r,($L(),lq)),9))&&(jl(t,(i=r.a).b,i.d),Mh(t,o.i),r=Kp(o))}while(o)}}function MN(t,e){var n,r,i,o,a;for(n=new Re,a=new tc,i=new Vn(new Un(t.a).a.bb().mb());i.a.G();)o=Uf(i.a.H(),21),mS(a,(r=Uf(o.yb(),12)).c,r,null),mS(a,r.d,r,null);for(;a.a;)Lf(n,GS(a,e,Vl(Uf(kx(e,(JL(),Hj)),28))));return n}function PN(t,e){var n,r,i,o,a;for(r=new Vn(new Un((1==e?hF:lF).a).a.bb().mb());r.a.G();)for(i=Uf(r.a.H(),21),n=Uf(i.yb(),59),a=Uf(WT(t.f.c,n),18).mb();a.G();)o=Uf(a.H(),27),Lf(t.b.b,Uf(o.b,25)),Lf(t.b.a,Uf(o.b,25).f)}function DN(t){var e,n,r,i,o,a;for(Gf(),_l(),n=new ry,r=new Kn(t.e.c);r.a0&&i0):i<0&&-i0)}function BN(t,e,n,r,i){var o,a;xw(Vw(Nx(Mo(gR,1),KM,10,0,[i.f.i,i.i,i.a])),n)||(e.c==i?Yl(e.a,0,new $c(n)):Of(e.a,new $c(n)),r&&!ka(t.a,n)&&((a=Uf(kx(e,(JL(),kj)),44))||(a=new Fr,Ky(e,kj,a)),Mb(a,o=new $c(n),a.c.b,a.c),Np(t.a,o)))}function FN(t){var e,n,r,i,o,a;for(e=0,n=new Kn(t.a);n.a((a=Gv(r.d).b)-o<=0?0-(a-o):a-o)?e:a-o<=0?0-(a-o):a-o);return e}function HN(t,e){var n,r,i,o,a,s;if((r=t.b[e.k])>=0)return r;for(i=1,o=new Kn(e.f);o.a(a=HN(t,s))+1?i:a+1);return function(t,e,n){var r,i;for(r=(i=t.a.c).c.length;rc-n&&s=t.g.d?((e=t.f).e=dw(t.e,e),e.g=t.g,e.a=t.a-1,e.j=__(t.j,n),$T(e)):((e=t.i).g=pw(t.g,e),e.e=t.e,e.a=t.a-1,e.j=__(t.j,n),$T(e)):t.e:t.g}function qN(t){var e,n,r,i,o,a;for(i=new Kn(t.a);i.ao.k?Fh(a,$G):a.g==$G&&o.k>r.k&&Fh(a,IG))}function XN(t,e,n){var r,i,o;if(Cm(n,gM),0==n)return ST(t,e);o=t.c.a,i=Ty(iW,vM,26,1,12,1);try{if(!hh(t.b,e)||!o)return 0;r=YS(o,t.d,e,n,i)}catch(t){if(dl(t=r_(t),119))return 0;if(dl(t,76))return 0;throw D_(t)}return jd(t.c,o,r),i[0]}function WN(t){var e,n,r,i,o,a;for(il(a=Uf(Yk(t.a,Ty(FF,oP,9,t.a.c.length,0,1)),51),new ot),n=null,i=0,o=a.length;i0)return KN(t,e,n.g);if(0!=r)return w_(w_(e.ac(n.g),e._b(n)),KN(t,e,n.e));switch(t.b.f.e){case 0:return w_(e._b(n),e.ac(n.g));case 1:return e.ac(n.g);default:throw new Er}}function QN(t,e,n){var r;if(!n)return 0;if((r=t.d.$b(t.b.e,n.b))<0)return QN(t,e,n.e);if(0!=r)return w_(w_(e.ac(n.e),e._b(n)),QN(t,e,n.g));switch(t.b.d.e){case 0:return w_(e._b(n),e.ac(n.e));case 1:return e.ac(n.e);default:throw new Er}}function JN(t,e,n,r){var i,o,a,s;return fr(a=new Tk(t),(RT(),jF)),Ky(a,($L(),oq),e),Ky(a,(JL(),Hj),(bT(),mG)),Ky(a,eq,n),Ky(a,nq,r),Fh(o=new TT,(mL(),KG)),cv(o,a),Fh(s=new TT,LG),cv(s,a),lv(e,o),M_(i=new jg,e),Ky(i,kj,null),hv(i,s),lv(i,r),a}function tA(t,e){var n,r,i,o,a,s,c,u;for(n=0,a=0,s=(o=t.j).length;an.a&&(o=Yo(o,a.a-n.a-1));return o}function iA(t){var e,n;switch(e=Uf(kx(t,(JL(),Sj)),15).a,n=Uf(kx(t,Oj),15).a,Ky(t,Oj,new Hn(e)),Ky(t,Sj,new Hn(n)),Uf(kx(t,sj),103).e){case 1:Ky(t,sj,(fk(),kR));break;case 2:Ky(t,sj,(fk(),wR));break;case 3:Ky(t,sj,(fk(),_R));break;case 4:Ky(t,sj,(fk(),ER))}}function oA(t,e,n){var r,i,o;for(o=new Kn(t.e);o.a0&&(r.b.c-=r.c,r.b.c<=0&&r.b.f>0&&Of(e,r.b));for(i=new Kn(t.b);i.a0&&(r.a.f-=r.c,r.a.f<=0&&r.a.c>0&&Of(n,r.a))}function aA(t,e,n){var r,i,o;for(o=new Kn(t.j);o.a0&&(r.b.e-=r.c,r.b.e<=0&&r.b.k>0&&Of(e,r.b));for(i=new Kn(t.d);i.a0&&(r.a.k-=r.c,r.a.k<=0&&r.a.e>0&&Of(n,r.a))}function sA(t,e){switch(t.e){case 1:switch(e.e){case 1:return JP;case 4:return.5;case 3:return tD;case 2:return eD}break;case 2:switch(e.e){case 1:return JP;case 2:return.5;case 3:return tD;case 4:return eD}break;default:throw new so(QP)}return 0}function cA(t,e){var n,r,i,o;for(Lu((o=new Kv(t,0)).b0),o.a.sb(o.c=--o.b),ef(o,i),Lu(o.b1)&&(++o,++a);return!Vl(Uf(kx(n,(JL(),Hj)),28))&&s&&(++o,++a),wg(i,n,W_(o)),a}function hA(t){var e,n,r,i,o,a,s,c,u,l;for(u=(l=(s=Uf((a=t.b.mb()).H(),92)).a.a)>uD,c=luD)&&!c)return bw(s.b);if(i&&c||r&&u)return(e=o/(o-l))*bw(n.b)+(1-e)*bw(s.b)}return 0}function fA(t){var e,n,r,i,o,a,s,c,u,l;for(u=(l=(s=Uf((a=t.b.mb()).H(),92)).a.b)>uD,c=luD)&&!c)return bw(s.b);if(i&&c||r&&u)return(e=o/(o-l))*bw(n.b)+(1-e)*bw(s.b)}return 0}function dA(t,e,n){var r,i;return r=0,Wp(e)?ka(t.g,e)?(XN(t.i,W_(Ph(t,e.c)),1),XN(t.i,W_(Ph(t,e.d)),1),vl(t.g,e),r+=vk(t,e,t.i)):(Np(t.g,e),hN(t.i,W_(Ph(t,e.c)),1),hN(t.i,W_(Ph(t,e.d)),1)):(i=ST(t.i,W_(Uf(Jp(t.k,n),24).a)),r+=t.g.a.Y()-i),r}function pA(t){switch(t.e){case 0:return Zz;case 1:return $z;case 2:return qz;case 3:return Vz;case 4:return Qz;case 5:return Kz;case 6:return vU;case 7:return gU;case 8:return Wz;case 9:return Xz;case 10:return dU;case 11:return Jz;default:return pU}}function gA(t){switch(t.e){case 0:return Kz;case 1:return vU;case 2:return gU;case 3:return Zz;case 4:return $z;case 5:return qz;case 6:return Vz;case 7:return Qz;case 8:return Wz;case 9:return Xz;case 10:return dU;case 11:return Jz;default:return pU}}function vA(t){switch(t.e){case 0:return qz;case 1:return Vz;case 2:return Qz;case 3:return Kz;case 4:return vU;case 5:return gU;case 6:return Zz;case 7:return $z;case 8:return Wz;case 9:return Xz;case 10:return dU;case 11:return Jz;default:return pU}}function bA(t){var e;switch(e=t.a.f,t.b){case 0:return new Kn(t.a.f);case 1:return bp(new Lv(e),AT(t));case 2:switch(t.c.e){case 2:case 1:return bp(new Kn(e),AT(t));case 3:case 4:return bp(new Lv(e),AT(t))}}throw new No("PortOrder not implemented.")}function yA(t,e,n,r){this.e=t,this.j=Uf(kx(t,($L(),xq)),134),this.f=Ty(FF,oP,9,e,0,1),this.b=Ty(LX,hI,184,e,6,1),this.a=Ty(FF,oP,9,e,0,1),this.d=Ty(LX,hI,184,e,6,1),this.i=Ty(FF,oP,9,e,0,1),this.g=Ty(LX,hI,184,e,6,1),this.n=Ty(LX,hI,184,e,6,1),this.k=n,this.c=r}function mA(t){if(!t.a.c||!t.a.d)throw new ko((Bh(NY),NY.j+" must have a source and target "+(Bh(OY),OY.j+" specified.")));if(t.a.c==t.a.d)throw new ko("Network simplex does not support self-loops: "+t.a+" "+t.a.c+" "+t.a.d);return Tp(t.a.c.g,t.a),Tp(t.a.d.c,t.a),t.a}function wA(t,e,n,r,i){r==(mL(),LG)&&i==LG?Wg(t,e)>Wg(t,n)?t.d=_k(t,n):t.b=_k(t,e):r==KG&&i==KG?Wg(t,e)Wg(t,n)&&(t.d=_k(t,n),t.b=_k(t,e)):Wg(t,e)0&&o>0?e++:r>0?n++:o>0?i++:n++}xb(t.f,new Rt)}function _A(t,e,n,r){var i,o,a,s,c;n.d.f!=e.f&&(fr(i=new Tk(t),(RT(),jF)),Ky(i,($L(),oq),n),Ky(i,(JL(),Hj),(bT(),mG)),r.c[r.c.length]=i,cv(a=new TT,i),Fh(a,(mL(),KG)),cv(s=new TT,i),Fh(s,LG),c=n.d,lv(n,a),M_(o=new jg,n),Ky(o,kj,null),hv(o,s),lv(o,c),bN(i,a,s))}function EA(t){var e,n,r,i,o,a,s;for(i=jP,a=jP,o=null,n=new lg(new ur(t.e));n.b!=n.c.a.b;)if(1==Uf((e=Fy(n)).d,60).c&&(r=Uf(e.e,116).a,s=Uf(e.e,116).b,(i-r>FP||r-iFP)&&(a=Uf(e.e,116).b,i=Uf(e.e,116).a,o=Uf(e.d,60),0==a&&0==i)))return o;return o}function kA(t,e){var n,r,i,o,a,s;return o=t.d,(s=Uf(kx(t,(JL(),Jj)),15).a)<0&&Ky(t,Jj,new Hn(s=0)),e.j.b=s,a=Math.floor(s/2),Fh(r=new TT,(mL(),KG)),cv(r,e),r.i.b=a,Fh(i=new TT,LG),cv(i,e),i.i.b=a,lv(t,r),M_(n=new jg,t),Ky(n,kj,null),hv(n,i),lv(n,o),function(t,e,n){var r;(r=e.c.f).g==(RT(),jF)?(Ky(t,($L(),eq),Uf(kx(r,eq),7)),Ky(t,nq,Uf(kx(r,nq),7))):(Ky(t,($L(),eq),e.c),Ky(t,nq,n.d))}(e,t,n),function(t,e){var n,r;for(r=new Kv(t.b,0);r.buD&&(this.b.ib(n),s=!1),this.b.ib(c);s&&this.b.ib(n)}function AA(t,e){var n,r,i,o,a,s,c;for(n=dP,RT(),s=GF,i=new Kn(e.a);i.a0?n:0,r.i.b=n+rf(t.a,o,s)):r.i.b=(Fd(a),a)),c=rf(t.a,o,s),r.i.bo?0:o)o?0:o:s,(0>(co?0:o)o?0:o:s)),o=c,c+=a,r=Uf(gd(t.c,i),9),(n=new Eu(u)).j.b=e.j.b,dN(t.b,e,n),Lf(r.c,n);Gy(t.g.c,e),Lf(t.i,new Ls(t,e))}function GA(t,e,n){var r,i,o,a,s,c;for(e.k=1,i=e.d,c=yE(e,(nw(),Rq)).mb();c.G();)for(r=new Kn(Uf(c.H(),7).e);r.ah+s&&r.I();for(a=new Kn(f);a.aFP||r-iFP)&&(a=Uf(e.e,116).b,i=Uf(e.e,116).a,o=Uf(e.d,60),0==a&&0==i)))return o;return o}function qA(){var t,e,n,r,i;for(this.e=(_l(),new ry),this.b=new Zf(n=Uf(ia(TU),11),Uf(Sp(n,n.length),11),0),this.c=new Zf(r=Uf(ia(TU),11),Uf(Sp(r,r.length),11),0),this.a=new Zf(i=Uf(ia(TU),11),Uf(Sp(i,i.length),11),0),e=(CL(),CL(),Yz).mb();e.G();)t=Uf(e.H(),60),Ik(this.e,t,new So)}function XA(t,e,n){var r,i,o,a;Na(t.k-t.a)a?new Fm(e,t,o-a):o>0&&a>0&&(new Fm(t,e,0),new Fm(e,t,0)))}function WA(t,e){var n,r,i,o,a,s,c,u;for(c=new Re,u=null,r=Uf(Ng(uY,t),20).mb();r.G();){for(s=new Vn(new Un((n=Uf(r.H(),75)).c.a).a.bb().mb());s.a.G();)i=Uf(s.a.H(),21),ef(e,o=Uf(i.yb(),7)),ON(o,t.b);ox(c,n.b),u=t.a}for(jC(c),Om(c,u),a=new Kn(c);a.an.k&&s1&&(o=n?Ic(e.d)+1:Ic(a.d)-1,uv(a,Uf(gd(t.a.c,o),16))),JA(t,a,n));return e}function tS(t,e){var n,r,i,o;for(i=e.d?t.a.c==(dv(),mz)?q_(e.b):X_(e.b):t.a.c==(dv(),yz)?q_(e.b):X_(e.b),o=!1,Xu(),r=new Pu(ju(Xf(i.a,new p)));tE(r);)if(n=Uf(Nv(r),12),t.c.a[n.c.f.d.k]!==t.c.a[n.d.f.d.k]&&(o=!0,ka(t.b,t.a.f[Zk(n,e.b).k])))return e.c=!0,e.a=n,e;return e.c=o,e.a=null,e}function eS(t){var e,n,r,i,o,a,s;for(o=new Kn(t.a.a);o.a0&&Ax(this.n,!0,(E_(),SR)),t.g==(RT(),DF)&&Sf(this.n,!1,!1,!1,!1)}function iS(t,e,n){var r,i,o,a,s,c,u,l;for(o=new ts(e,n),u=new Kn(t.b);u.ar?h:r)>t.j.a&&(u=(s-t.j.a)/2,a.b=Fo(a.b,u),a.c=Fo(a.c,u))}function gS(t,e,n,r){var i,o,a,s,c,u,l,h;for(a=Rl(e.d,n,r),l=new Kn(e.b);l.a=40)&&function(t){var e,n,r,i,o,a,s;for(t.o=new oi,r=new lo,a=new Kn(t.e.a);a.a0,s=fE(e,o),Du(n?s.c:s.g,e),1==eE(s).c.length&&Mb(r,s,r.c.b,r.c),i=new es(o,e),uu(t.o,i),Gy(t.e.a,o))}(t),function(t){var e,n,r,i,o,a,s,c,u,l;for(u=t.e.a.c.length,o=new Kn(t.e.a);o.a0){for(Wo(t.c);wN(t,Uf(Jv(new Kn(t.e.a)),61))0?(c=t.g)?(a=c.d,t.g=ES(c,e,n,r,i),0==i[0]&&++t.a,t.j=w_(t.j,r),t.g.d==a?t:$T(t)):(i[0]=0,_w(t,n,r)):(i[0]=t.c,Uc(n_(w_(t.c,r),yI)<=0),t.c+=r,t.j=w_(t.j,r),t)}function kS(t,e,n){var r,i,o,a,s,c,u,l;for(i=!0,a=new Kn(e.c);a.au&&r>u)){i=!1,t.a&&Pf();break}u=oo(n.n[s.k])+oo(n.d[s.k])+s.j.b+s.e.a}if(!i)break}return t.a&&Pf(),i}function TS(t){var e,n,r,i,o,a;if(pl(new Kn(r=Jk(t)))){for(a=new _g(0,0,t.e.j.a,t.e.j.b),n=new Kn(r);n.aa.i.b-a.e.d+u.a+h&&(f=c.i+u.i,u.a=(u.i*u.a+c.i*c.a)/f,u.i=f,c.g=u,n=!0)),o=a,c=u;return n}function LS(t){var e,n,r,i,o;if(Zc(kx(t,(JL(),Hj)))===Zc((bT(),wG))||Zc(kx(t,Hj))===Zc(mG))for(o=new Kn(t.f);o.aa)return mL(),LG;break;case 4:case 3:if(l<0)return mL(),IG;if(l+n>o)return mL(),$G}return(c=(u+s/2)/a)+(r=(l+n/2)/o)<=1&&c-r<=0?(mL(),KG):c+r>=1&&c-r>=0?(mL(),LG):r<.5?(mL(),IG):(mL(),$G)}function MS(t,e,n,r,i,o,a){var s,c,u,l,h;for(h=new ac,c=e.mb();c.G();)for(l=new Kn(xk(Uf(c.H(),627)));l.a0&&Of(t.e,o)):(t.c[a]-=u+1,t.c[a]<=0&&t.a[a]>0&&Of(t.d,o))))}function DS(t){var e,n,r,i,o,a,s,c;for(jx(),this.b=new Kt,this.c=new Re,this.a=new Re,s=0,c=(a=Rx()).length;s0){for(i=s.length;i>0&&""==s[i-1];)--i;i0&&0==i[0]&&++t.a,t.j=w_(t.j,r-i[0]),$T(t)):(i[0]=0,r>0?Ew(t,n,r):t):o>0?(s=t.g)?(t.g=HS(s,e,n,r,i),0==r&&0!=i[0]?--t.a:r>0&&0==i[0]&&++t.a,t.j=w_(t.j,r-i[0]),$T(t)):(i[0]=0,r>0?_w(t,n,r):t):(i[0]=t.c,0==r?VN(t):(t.j=w_(t.j,r-t.c),t.c=r,t))}function YS(t,e,n,r,i){var o,a,s;return(o=e.$b(n,t.b))<0?(a=t.e)?(t.e=YS(a,e,n,r,i),i[0]>0&&(r>=i[0]?(--t.a,t.j=__(t.j,i[0])):t.j=__(t.j,r)),0==i[0]?t:$T(t)):(i[0]=0,t):o>0?(s=t.g)?(t.g=YS(s,e,n,r,i),i[0]>0&&(r>=i[0]?(--t.a,t.j=__(t.j,i[0])):t.j=__(t.j,r)),$T(t)):(i[0]=0,t):(i[0]=t.c,r>=t.c?VN(t):(t.c-=r,t.j=__(t.j,r),t))}function zS(t,e,n){var r,i,o,a,s,c,u,l;for(c=new Kn(n.b);c.a0&&u>0&&qO(b,new ts(T,u),!0))),g=Fo(g,b.i.a+b.j.a),v=Fo(v,b.i.b+b.j.b),d=new Kn(b.c);d.ae.a&&(r.kb((PT(),CU))?t.d.a+=(n.a-e.a)/2:r.kb(AU)&&(t.d.a+=n.a-e.a)),n.b>e.b&&(r.kb((PT(),OU))?t.d.b+=(n.b-e.b)/2:r.kb(SU)&&(t.d.b+=n.b-e.b)),Uf(kx(t,($L(),WV)),18).kb((KA(),nV))&&(n.a>e.a||n.b>e.b))for(s=new Kn(t.b);s.a0||0==n&&e.f==(qu(),BD))&&(s=e.g,c=e.f):(i=e.c,s=e.g,c=e.f),r&&i&&((n=t.a.$b(o,s))>0||0==n&&a==(qu(),BD)&&c==(qu(),BD))&&(o=s,qu(),a=BD,c=GD),new cN(t.a,r,o,a,i,s,c)}function ZS(t,e,n,r){var i,o,a,s,c,u;if(n.c.f!=e.f)for(fr(i=new Tk(t),(RT(),jF)),Ky(i,($L(),oq),n),Ky(i,(JL(),Hj),(bT(),mG)),r.c[r.c.length]=i,cv(a=new TT,i),Fh(a,(mL(),KG)),cv(s=new TT,i),Fh(s,LG),lv(n,a),M_(o=new jg,n),Ky(o,kj,null),hv(o,s),lv(o,e),bN(i,a,s),u=new Kv(n.b,0);u.b=r&&u.a>=r&&(l.a=r),f.a<=n&&u.a<=n&&(d.a=n-10),1==e.c.a.Y()?nm(a.a,Nx(Mo(gR,1),KM,10,0,[l,h,p,d])):nm(a.a,Nx(Mo(gR,1),KM,10,0,[l,h,i,p,d]))}function QS(t,e){var n,r,i,o,a,s;for(o=t.c,a=t.d,hv(t,null),lv(t,null),e&&io(oo(Sh(kx(a,($L(),$V)))))?hv(t,WS(a.f,(nw(),Rq),(mL(),LG))):hv(t,a),e&&io(oo(Sh(kx(o,($L(),uq)))))?lv(t,WS(o.f,(nw(),Dq),(mL(),KG))):lv(t,o),r=new Kn(t.b);r.aoo(ul(a.g,a.d[0]).a)?(Lu(c.b>0),c.a.sb(c.c=--c.b),ef(c,a),i=!0):s.e&&s.e.Y()>0&&(o=(!s.e&&(s.e=new Re),s.e).nb(e),u=(!s.e&&(s.e=new Re),s.e).nb(n),(o||u)&&((!s.e&&(s.e=new Re),s.e).ib(a),++a.c));i||(r.c[r.c.length]=a)}function nO(t,e,n,r){var i,o,a,s,c,u,l,h,f,d,p;n.d.f!=e.f&&(fr(i=new Tk(t),(RT(),jF)),Ky(i,($L(),oq),n),Ky(i,(JL(),Hj),(bT(),mG)),r.c[r.c.length]=i,cv(a=new TT,i),Fh(a,(mL(),KG)),cv(s=new TT,i),Fh(s,LG),c=n.d,lv(n,a),M_(o=new jg,n),Ky(o,kj,null),hv(o,s),lv(o,c),h=(l=(u=Uf(gd(a.b,0),12).c).f).g,p=(d=(f=Uf(gd(s.e,0),12).d).f).g,Ky(i,eq,h==jF?Uf(kx(l,eq),7):u),Ky(i,nq,p==jF?Uf(kx(d,nq),7):f))}function rO(t,e){var n,r,i,o,a,s,c,u,l,h,f,d,p;for(a=e,h=e.d,u=e.c.f,f=e.d.f,l=Ic(u.d),d=Ic(f.d),s=l;se&&(t.a=e),t.b<0?t.b=0:t.b>n&&(t.b=n)}(u,t.j.a,t.j.b),Fh(s,IS(s,o)),a=Uf(kx(r,($L(),WV)),18),c=s.g,o.e){case 2:case 1:(c==(mL(),IG)||c==$G)&&a.ib((KA(),aV));break;case 4:case 3:(c==(mL(),LG)||c==KG)&&a.ib((KA(),aV))}else i=hE(o),s=WS(t,n,n==(nw(),Rq)?i:v_(i));return s}function uO(t){var e,n,r,i,o,a,s,c;for(r=ch(Wb(t.a)),i=new Zf(e=Uf(ia(TU),11),Uf(Sp(e,e.length),11),0);r.a.G()||r.b.mb().G();)s=(n=Uf(Nm(r),12)).c.g,c=n.d.g,s==(mL(),ZG)?c!=ZG&&(a=NE(c),Ky(n,($L(),Eq),a),Fh(n.c,c),mw(i,a),r.a.I()):c==ZG?(a=NE(s),Ky(n,($L(),Eq),a),Fh(n.d,s),mw(i,a),r.a.I()):(a=iO(s,c),Ky(n,($L(),Eq),a),mw(i,a),r.a.I());return 1==i.c?o=Uf(Qb(new qs(i)),60):(CL(),o=pU),dC(t,o,!1),o}function lO(t,e,n){var r,i,o,a,s,c,u,l,h;for(c=n+e.d.c.a,h=new Kn(e.f);h.a1,s=Ip(vu((og(),new sb(B_(Nx(Mo(TD,1),GI,1,4,[l.b,l.e]))))));tE(s);)u=(a=Uf(Nv(s),12)).c==l?a.d:a.c,Na(Vw(Nx(Mo(gR,1),KM,10,0,[u.f.i,u.i,u.a])).b-o.b)>1&&BN(t,a,o,i,l)}}function hO(t,e){var n,r,i,o,a;for(a=new Xx(new Yn(t.f.b).a);a.b;){if(i=Uf((o=Um(a)).yb(),251),1==e){if(i.yc()!=(E_(),LR)&&i.yc()!=NR)continue}else if(i.yc()!=(E_(),AR)&&i.yc()!=SR)continue;switch(r=Uf(Uf(o.zb(),27).b,25),n=Uf(Uf(o.zb(),27).a,78).c,i.yc().e){case 2:r.j.d=t.e.a,r.j.c=Fo(1,r.j.c+n);break;case 1:r.j.d=r.j.d+n,r.j.c=Fo(1,r.j.c-n);break;case 4:r.j.e=t.e.b,r.j.b=Fo(1,r.j.b+n);break;case 3:r.j.e=r.j.e+n,r.j.b=Fo(1,r.j.b-n)}}}function fO(t,e,n,r,i){var o,a,s,c,u,l,h,f;for(_l(),h=new kr,a=new Re,qC(t,n,t.d.Mc(),a,h),qC(t,r,t.d.Nc(),a,h),s=new Kv(a,0);s.b=l&&(y>l&&(u.c=Ty(TD,GI,1,0,4,1),l=y),u.c[u.c.length]=p);0!=u.c.length&&(c=Uf(gd(u,$k(e,u.c.length)),80),vg(N.a,c),c.d=h++,oA(c,T,_),u.c=Ty(TD,GI,1,0,4,1))}for(w=t.c.length+1,g=new Kn(t);g.aC.d&&(ug(n),Gy(C.b,r),r.c>0&&(r.a=C,Lf(C.e,r),r.b=E,Lf(E.b,r)))}(a,Uf(kx(e,($L(),bq)),154)),function(t){var e,n,r,i,o,a,s,c,u;for(c=new Re,a=new Re,o=new Kn(t);o.a-1){for(i=new Kn(a);i.a0||(s.i=Vo(s.i,r.i-1),--s.f,0==s.f&&(a.c[a.c.length]=s))}}(a),f=-1,l=new Kn(a);l.ah||r+i>c)throw new Xr;if(0!=(1&u.g)&&0==(4&u.g)||l==s)i>0&&vT(t,e,n,r,i,!0);else if(t===n&&er;)n[a]=t[--e];else for(a=r+i;r0&&0==o[0]&&++t.a,t.j=w_(t.j,i-o[0])),$T(t)):(o[0]=0,0==r&&i>0?Ew(t,n,i):t);if(a>0)return(c=t.g)?(t.g=gO(c,e,n,r,i,o),o[0]==r&&(0==i&&0!=o[0]?--t.a:i>0&&0==o[0]&&++t.a,t.j=w_(t.j,i-o[0])),$T(t)):(o[0]=0,0==r&&i>0?_w(t,n,i):t);if(o[0]=t.c,r==t.c){if(0==i)return VN(t);t.j=w_(t.j,i-t.c),t.c=i}return t}function vO(t){var e,n,r,i,o,a,s,c,u,l,h,f,d,p,g,v;for(c=t.e,d=t.f,a=t.d,l=(p=t.c)-1,g=t.g,h=Yf(t.g.xb(1,t.g.Y()-1)),u=new Re,n=0;n0&&(c=t.i.a/o);break;case 2:case 4:(i=t.f.j.b)>0&&(c=t.i.b/i)}Ky(t,($L(),dq),c)}if(s=t.j,r)t.a.a=r.a,t.a.b=r.b;else if(e!=_G&&e!=EG&&a!=ZG)switch(a.e){case 1:t.a.a=s.a/2;break;case 2:t.a.a=s.a,t.a.b=s.b/2;break;case 3:t.a.a=s.a/2,t.a.b=s.b;break;case 4:t.a.b=s.b/2}else t.a.a=s.a/2,t.a.b=s.b/2}(c,u,i,Uf(kx(c,Fj),10)),i.e){case 2:case 1:(c.g==(mL(),IG)||c.g==$G)&&o.ib((KA(),aV));break;case 4:case 3:(c.g==(mL(),LG)||c.g==KG)&&o.ib((KA(),aV))}}function wO(t){var e,n,r,i,o;for(r=new Re,o=new Kn(t.c.f);o.a=(g=t.d.c.c.c.length)-1)return null;for((i=new Re).c[i.c.length]=e,b=e,a=n,d=-1,s=Uf(gd(t.d.c.c,n),16),f=0;f1&&a1&&a>1;)u=jS(t,y),s=Uf(gd(t.d.c.c,a),16),l=Uf(gd(t.d.c.c,a-1),16),oT(y,g=Vo(Uf(p.sb(h++),24).a,l.a.c.length),l),oT(u,b,s),b=g,y&&(i.c[i.c.length]=y),y=u,--m,++o,--a;for(v=(r-(i.c.length-1)*t.d.d)/i.c.length,c=new Kn(i);c.a=0)return!1;if(n.e&&r==(RT(),PF)&&r!=n.e)return!1;if(e.k=n.b,Lf(n.f,e),n.e=r,r==(RT(),jF)||r==BF||r==PF)for(i=new Kn(e.f);i.a0&&(Ax(t.n,!1,(E_(),AR)),Ax(t.n,!0,SR))}function EO(t,e,n){var r,i,o,a;switch(o=t.i,i=Vw(Nx(Mo(gR,1),KM,10,0,[e.i,e.f.i])),r=Vw(Nx(Mo(gR,1),KM,10,0,[e.f.i,e.i,e.a])),a=e.d,e.g.e){case 4:o.a=zo(i.a,r.a)-a.b-t.j.a-n,o.b=Vw(Nx(Mo(gR,1),KM,10,0,[e.f.i,e.i,e.a])).b+n;break;case 2:o.a=Fo(i.a+e.j.a,r.a)+a.c+n,o.b=Vw(Nx(Mo(gR,1),KM,10,0,[e.f.i,e.i,e.a])).b+n;break;case 1:o.a=Vw(Nx(Mo(gR,1),KM,10,0,[e.f.i,e.i,e.a])).a+n,o.b=zo(i.b,r.b)-a.d-t.j.b-n;break;case 3:o.a=Vw(Nx(Mo(gR,1),KM,10,0,[e.f.i,e.i,e.a])).a+n,o.b=Fo(i.b+e.j.b,r.b)+a.a+n}}function kO(t,e,n){var r,i,o,a;switch(o=t.i,i=Vw(Nx(Mo(gR,1),KM,10,0,[e.i,e.f.i])),r=Vw(Nx(Mo(gR,1),KM,10,0,[e.f.i,e.i,e.a])),a=e.d,e.g.e){case 4:o.a=zo(i.a,r.a)-a.b-t.j.a-n,o.b=Vw(Nx(Mo(gR,1),KM,10,0,[e.f.i,e.i,e.a])).b-t.j.b-n;break;case 2:o.a=Fo(i.a+e.j.a,r.a)+a.c+n,o.b=Vw(Nx(Mo(gR,1),KM,10,0,[e.f.i,e.i,e.a])).b-t.j.b-n;break;case 1:o.a=Vw(Nx(Mo(gR,1),KM,10,0,[e.f.i,e.i,e.a])).a+n,o.b=zo(i.b,r.b)-a.d-t.j.b-n;break;case 3:o.a=Vw(Nx(Mo(gR,1),KM,10,0,[e.f.i,e.i,e.a])).a+n,o.b=Fo(i.b+e.j.b,r.b)+a.a+n}}function TO(){TO=a,hV=new kb("ONE_SIDED",0,!0,!1,!1),gV=new kb("TWO_SIDED",1,!1,!1,!1),fV=new kb("ONE_SIDED_BEST_OF_UP_OR_DOWN",2,!0,!0,!1),vV=new kb("TWO_SIDED_BEST_OF_UP_OR_DOWN",3,!1,!0,!1),dV=new kb("ONE_SIDED_BEST_OF_UP_OR_DOWN_ORTHOGONAL_HYPEREDGES",4,!0,!0,!0),bV=new kb("TWO_SIDED_BEST_OF_UP_OR_DOWN_ORTHOGONAL_HYPEREDGES",5,!1,!0,!0),pV=new kb("ONE_SIDED_ORTHOGONAL_HYPEREDGES",6,!0,!1,!0),lV=new kb("OFF",7,!1,!1,!1)}function CO(t,e,n,r,i,o,a){var s,c,u,l,h,f,d;return h=io(oo(Sh(kx(e,(ZL(),rX))))),f=null,o==(nw(),Dq)&&r.c.f==n?f=r.c:o==Rq&&r.d.f==n&&(f=r.d),u=a,a&&h&&!f?(Lf(a.e,r),d=Ho(Uf(kx(a.d,(JL(),Jj)),15).a,Uf(kx(r,Jj),15).a),Ky(a.d,Jj,new Hn(d))):(mL(),l=ZG,f?l=f.g:Vs(Uf(kx(n,(JL(),Hj)),28))&&(l=o==Dq?KG:LG),c=function(t,e,n,r,i,o){var a,s,c,u,l,h,f;return u=r==(nw(),Dq)?o.c:o.d,c=J_(e),u.f==n?(a=Uf(Jp(t.b,u),9))||(Ky(a=bL(u,Uf(kx(n,(JL(),Hj)),28),i,r==Dq?-1:1,u.j,c,e),($L(),oq),u),wg(t.b,u,a)):(l=Uf(kx(o,(JL(),Jj)),15).a,s=function(t,e,n,r){var i,o;switch(i=J_(Kp(n)),cv(o=new TT,n),r.e){case 1:Fh(o,v_(hE(i)));break;case 2:Fh(o,hE(i))}return Ky(o,($L(),iq),Uf(kx(e,iq),15)),Ky(e,oq,o),wg(t.b,o,e),o}(t,a=bL((h=new y,f=Uf(kx(e,($L(),wq)),15).a*Uf(kx(e,(ZL(),$q)),15).a/2,Ky(h,iq,new Hn(f)),h),Uf(kx(n,Hj),28),i,r==Dq?-1:1,new ts(l,l),c,e),n,r),Ky(a,oq,s),wg(t.b,s,a)),Uf(kx(e,($L(),WV)),18).ib((KA(),nV)),Vs(Uf(kx(e,(JL(),Hj)),28))?Ky(e,Hj,(bT(),xG)):Ky(e,Hj,(bT(),_G)),a}(t,e,n,o,l,r),s=gb((Kp(n),r)),o==Dq?(hv(s,Uf(gd(c.f,0),7)),lv(s,i)):(hv(s,i),lv(s,Uf(gd(c.f,0),7))),u=new S_(r,s,c,Uf(kx(c,($L(),oq)),7),o,!f)),dN(t.a,r,new vf(u.d,e,o)),u}function NO(t,e,n,r){var i,o,a,s,c,u,l;if(fr(o=new Tk(t),(RT(),BF)),Ky(o,(JL(),Hj),(bT(),mG)),i=0,e){for(Ky(a=new TT,($L(),oq),e),Ky(o,oq,e.f),Fh(a,(mL(),KG)),cv(a,o),c=0,u=(l=Uf(Yk(e.b,Ty(IF,CP,12,e.b.c.length,0,1)),47)).length;cf?l:f;for(uk(this,Vw(Nx(Mo(gR,1),KM,10,0,[t.f.i,t.i,t.a])).b,h,l),a=new Vn(new Un(e.a).a.bb().mb());a.a.G();)i=Uf(a.a.H(),21),o=Uf(i.yb(),27),Np(this.c,Uf(o.b,12));this.f=!1}function PO(t,e,n,r){var i,o,a,s,c;if(!((s=(JL(),Ij).b)in e.a)||!Sg(e,s).ic().a){if(!(c=Sg(e,$M)))throw new xp("Labels must have a property 'text'.",null,e);if(!c.lc())throw new xp("A label's 'text' property must be a string.",c,e);if(Ky(o=new Eu(c.lc().a),($L(),oq),e),wg(t.f,o,e),ZC(e,o),ET(e,o),dl(n,9)?Lf(Uf(n,9).c,o):dl(n,12)?Lf(Uf(n,12).b,o):dl(n,7)&&Lf(Uf(n,7).c,o),dl(n,12))switch(a=Uf(kx(o,gj),107),ZC(e,o),Ky(o,gj,a),i=Uf(kx(r,WV),18),a.e){case 2:case 3:i.ib((KA(),eV));case 1:case 0:i.ib((KA(),JU)),Ky(o,gj,(Gw(),PR))}}}function DO(t,e){var n,r,i,o,a,s,c,u,l,h,f,d,p,g,v;for(i=0,o=0,c=new Kn(t.a);c.a.5?v-=2*o*(d-.5):d<.5&&(v+=2*i*(.5-d)),v<(r=a.e.b)&&(v=r),p=a.e.c,v>g.a-p-u&&(v=g.a-p-u),a.i.a=e+v}}function RO(){RO=a,nF=new Ji,eF=bS(Nx(Mo(TR,1),GI,79,0,[(JL(),aj),mj])),QB=bS(Nx(Mo(TR,1),GI,79,0,[Pj,Yj,(ZL(),fX),wj,($L(),gq),gX,sX])),WB=bS(Nx(Mo(TR,1),GI,79,0,[cj,fj,Ij,yj,Ej,Cj,Nj,Wj,$j,_j,Bq,Vq,qq,nX,Zq,rX,dX,cX,Hq])),KB=bS(Nx(Mo(TR,1),GI,79,0,[Oj,Sj,Tj,Jj,Mj,pq,PV,AV,wq,uX,$q,eX])),ZB=bS(Nx(Mo(TR,1),GI,79,0,[Uj,sj,pj,vj,gj,bj,xj,Dj,Rj,jj,Gj,Bj,Hj,zj,Fq,Uq,iX,Xq,zq,oX,aX,Kq,Qq,tX,lX,hX,pX,vX,Jq])),$B=bS(Nx(Mo(TR,1),GI,79,0,[Lj,Zj,Kj,Yq])),tF=bS(Nx(Mo(TR,1),GI,79,0,[oj,lj,kj,Aj,Fj,qj])),JB=bS(Nx(Mo(TR,1),GI,79,0,[(Mx(),VB)]))}function jO(t){var e,n,r,i,o,a,s;for(e=0,o=new Kn(t.b.a);o.a0;){for(_y(0,s.c.length),d=Uf(s.c[0],12),_y(0,h.c.length),i=Qy((r=Uf(h.c[0],12)).d.b,r,0),Xv(d,r.d,i),hv(r,null),lv(r,null),f=d.a,e&&Of(f,new $c(v)),n=Sk(r.a,0);n.b!=n.d.c;)Of(f,new $c(Uf(Sb(n),10)));for(g=d.b,l=new Kn(r.b);l.a0?Lm(this,this.f/this.a):null!=ul(e.g,e.d[0]).a&&null!=ul(n.g,n.d[0]).a?Lm(this,(oo(ul(e.g,e.d[0]).a)+oo(ul(n.g,n.d[0]).a))/2):null!=ul(e.g,e.d[0]).a?Lm(this,ul(e.g,e.d[0]).a):null!=ul(n.g,n.d[0]).a&&Lm(this,ul(n.g,n.d[0]).a)}function HO(t,e){var n,r,i,o,a,s,c,u,l,h,f;switch(t.g.e){case 1:if(r=Uf(kx(t,($L(),oq)),12),(n=Uf(kx(r,aq),44))?io(oo(Sh(kx(r,mq))))&&(n=Tx(n)):n=new Fr,u=Uf(kx(t,eq),7),e<=(l=Vw(Nx(Mo(gR,1),KM,10,0,[u.f.i,u.i,u.a]))).a)return l.b;if(Mb(n,l,n.a,n.a.a),h=Uf(kx(t,nq),7),(f=Vw(Nx(Mo(gR,1),KM,10,0,[h.f.i,h.i,h.a]))).a<=e)return f.b;for(Mb(n,f,n.c.b,n.c),a=Uf(Sb(c=Sk(n,0)),10),s=Uf(Sb(c),10);s.a=2)for(Mg(t.a),r=0,f=Sk(n,0);f.b!=f.d.c;)h=Uf(Sb(f),10),0==r?(e=Mh(Mh(new ts(h.a,h.b),t.c.i),t.c.f.i),t.c.a.a=e.a,t.c.a.b=e.b):r==n.b-1?(e=Mh(Mh(new ts(h.a,h.b),t.d.i),t.d.f.i),t.d.a.a=e.a,t.d.a.b=e.b):Of(t.a,h),++r;if(l)for(c=Sk(t.a,0);c.b!=c.d.c;)s=Uf(Sb(c),10),a.a=Fo(a.a,s.a),a.b=Fo(a.b,s.b);for(o=new Kn(t.b);o.a0&&Ky(a,jV,(Vd(),Vd(),AX)),(s=Uf(kx(a,(JL(),Hj)),28))==(bT(),EG)||s!=_G&&r.ib((KA(),oV)),io(oo(Sh(kx(a,fj))))&&r.ib((KA(),tV)),io(oo(Sh(kx(a,_j))))&&(r.ib((KA(),iV)),r.ib(rV),Ky(a,Hj,_G)),a}function UO(t,e){e.V()&&Sf(t.n,!0,!0,!0,!0),e.t((mL(),GG))&&Sf(t.n,!0,!0,!0,!1),e.t(MG)&&Sf(t.n,!1,!0,!0,!0),e.t(qG)&&Sf(t.n,!0,!0,!1,!0),e.t(WG)&&Sf(t.n,!0,!1,!0,!0),e.t(BG)&&Sf(t.n,!1,!0,!0,!1),e.t(PG)&&Sf(t.n,!1,!0,!1,!0),e.t(XG)&&Sf(t.n,!0,!1,!1,!0),e.t(VG)&&Sf(t.n,!0,!1,!0,!1),e.t(zG)&&Sf(t.n,!0,!0,!0,!0),e.t(RG)&&Sf(t.n,!0,!0,!0,!0),e.t(zG)&&Sf(t.n,!0,!0,!0,!0),e.t(DG)&&Sf(t.n,!0,!0,!0,!0),e.t(UG)&&Sf(t.n,!0,!0,!0,!0),e.t(YG)&&Sf(t.n,!0,!0,!0,!0),e.t(HG)&&Sf(t.n,!0,!0,!0,!0)}function VO(t,e){var n,r,i,o,a,s,c,u,l;for(s=!0,i=0,c=t.f[e.k],u=e.j.b+t.n,n=t.c[e.k][2],Kb(t.a,c,W_(Uf(gd(t.a,c),24).a-1+n)),Kb(t.b,c,oo(Oh(gd(t.b,c)))-u+n*t.e),++c>=t.i?(++t.i,Lf(t.a,W_(1)),Lf(t.b,u)):(r=t.c[e.k][1],Kb(t.a,c,W_(Uf(gd(t.a,c),24).a+1-r)),Kb(t.b,c,oo(Oh(gd(t.b,c)))+u-r*t.e)),(t.q==(nA(),tY)&&(Uf(gd(t.a,c),24).a>t.j||Uf(gd(t.a,c-1),24).a>t.j)||t.q==rY&&(oo(Oh(gd(t.b,c)))>t.k||oo(Oh(gd(t.b,c-1)))>t.k))&&(s=!1),o=Ip(q_(e));tE(o);)a=Uf(Nv(o),12).c.f,t.f[a.k]==c&&(i+=Uf((l=VO(t,a)).a,24).a,s=s&&io(oo(Sh(l.b))));return t.f[e.k]=c,new es(W_(i+=t.c[e.k][0]),(Vd(),s?AX:NX))}function qO(t,e,n){var r,i,o,a,s,c,u,l,h,f,d,p,g,v,b;if(f=new $c(t.j),b=e.a/f.a,s=e.b/f.b,g=e.a-f.a,o=e.b-f.b,n)for(i=Zc(kx(t,(JL(),Hj)))===Zc((bT(),mG)),p=new Kn(t.f);p.a=1&&(v-a>0&&h>=0?(c.i.a+=g,c.i.b+=o*a):v-a<0&&l>=0&&(c.i.a+=g*v,c.i.b+=o));t.j.a=e.a,t.j.b=e.b,Ky(t,(JL(),Zj),(LE(),new Zf(r=Uf(ia(lB),11),Uf(Sp(r,r.length),11),0)))}function XO(t){var e,n,r,i,o,a,s,c,u,l;for(r=new Re,a=new Kn(t.e.a);a.a-1){for(r=Sk(a,0);r.b!=r.d.c;)(n=Uf(Sb(r),77)).n=o;for(;0!=a.b;)for(e=new Kn((n=Uf(rT(a,0),77)).d);e.a0),o.a.sb(o.c=--o.b),ef(o,n),Cp(c,n),ON(n,s.g),tb(c),tb(c),r.a.eb(n)}}function JO(t){var e,n,r,i,o,a,s,c;for(e=null,r=new Kn(t);r.a0&&0==n.c&&(!e&&(e=new Re),e.c[e.c.length]=n);if(e)for(;0!=e.c.length;){if((n=Uf(yy(e,0),102)).b&&n.b.c.length>0)for(!n.b&&(n.b=new Re),o=new Kn(n.b);o.aQy(t,n,0))return new es(i,n)}else if(oo(ul(i.g,i.d[0]).a)>oo(ul(n.g,n.d[0]).a))return new es(i,n);for(s=(!n.e&&(n.e=new Re),n.e).mb();s.G();)!(a=Uf(s.H(),102)).b&&(a.b=new Re),xy(0,(c=a.b).c.length),Ac(c.c,0,n),a.c==c.c.length&&(e.c[e.c.length]=a)}return null}function tL(t,e){var n,r,i,o,a,s,c,u,l;if(1!=tg(X_(e))||Uf(Uv(X_(e)),12).d.f.g!=(RT(),jF))return null;for(fr(n=(o=Uf(Uv(X_(e)),12)).d.f,(RT(),PF)),Ky(n,($L(),eq),null),Ky(n,nq,null),Ky(n,(JL(),Hj),Uf(kx(e,Hj),28)),Ky(n,Lj,Uf(kx(e,Lj),86)),i=kx(o.c,oq),a=null,u=mC(n,(mL(),LG)).mb();u.G();)if(0!=(s=Uf(u.H(),7)).e.c.length){Ky(s,oq,i),l=o.c,s.j.a=l.j.a,s.j.b=l.j.b,s.a.a=l.a.a,s.a.b=l.a.b,ox(s.c,l.c),l.c.c=Ty(TD,GI,1,0,4,1),a=s;break}if(Ky(o.c,oq,null),!ab(mC(e,LG)))for(c=new Kn(Wb(mC(e,LG)));c.a0?i+t.i[1]*e+t.n[1]:0,t.o[3]>0?i+t.i[3]*e+t.n[3]:0),Fo(t.o[4]>0?n+t.i[4]*e+t.n[4]:0,t.o[2]>0?n+t.i[2]*e+t.n[2]:0))}(t,t.k);break;case 4:r=new $c(a);break;case 5:r=function(t,e){var n,r,i,o,a;for(a=new uo,o=new Kn(fT(t));o.a0&&(o.a=Fo(o.a,i+t.q.b+t.q.c)),n>0&&(o.b=Fo(o.b,n+t.q.d+t.q.a))):(i>0&&(o.a=Fo(o.a,i)),n>0&&(o.b=Fo(o.b,n)))),function(t,e){t.e.j.a=e.a,t.e.j.b=e.b}(t.e,o)}}function nL(t,e,n){var r,i,o,a,s,c,u,l,h,f,d;if(!t.b)return!1;for(a=null,f=null,i=1,(c=new Vy(null,null)).a[1]=t.b,h=c;h.a[i];)u=i,s=f,f=h,h=h.a[i],i=(r=t.a.$b(e,h.d))<0?0:1,0==r&&(!n.c||Ag(h.e,n.d))&&(a=h),h&&h.b||qo(h.a[i])||(qo(h.a[1-i])?f=f.a[u]=ww(h,i):qo(h.a[1-i])||(d=f.a[1-u])&&(qo(d.a[1-u])||qo(d.a[u])?(o=s.a[1]==f?1:0,qo(d.a[u])?s.a[o]=eb(f,u):qo(d.a[1-u])&&(s.a[o]=ww(f,u)),h.b=s.a[o].b=!0,s.a[o].a[0].b=!1,s.a[o].a[1].b=!1):(f.b=!1,d.b=!0,h.b=!0)));return a&&(n.b=!0,n.d=a.e,h!=a&&(function(t,e,n,r){var i,o;for(i=null==(o=e).d||t.a.$b(n.d,o.d)>0?1:0;o.a[i]!=n;)o=o.a[i],i=t.a.$b(n.d,o.d)>0?1:0;o.a[i]=r,r.b=n.b,r.a[0]=n.a[0],r.a[1]=n.a[1],n.a[0]=null,n.a[1]=null}(t,c,a,l=new Vy(h.d,h.e)),f==a&&(f=l)),f.a[f.a[1]==h?1:0]=h.a[h.a[0]?0:1],--t.c),t.b=c.a[1],t.b&&(t.b.b=!1),n.b}function rL(t){var e,n,r,i,o,a,s,c,u,l,h,f,d,p;for(f=new Kn(t);f.a(b=r?Uf(kx(l,sz),24).a:kI)?c:b,m=new Kn(l.f);m.a=u&&x>=v&&(f+=p.i.b+g.i.b+g.a.b-w,++s));if(n)for(a=new Kn(y.b);a.a=u&&x>=v&&(f+=p.i.b+g.i.b+g.a.b-w,++s))}s>0&&(_+=f/s,++d)}d>0?(e.a=i*_/d,e.i=d):(e.a=0,e.i=0)}function sL(t,e){var n;if(t.e)throw new ko((Bh(vF),"The "+vF.j+vP));if(!function(t,e){return Xl(t.c,e)}(t.a,e))throw new Ai("The direction "+e+" is not supported by the CGraph instance.");if(e==t.d)return t;switch(n=t.d,t.d=e,n.e){case 0:switch(e.e){case 2:yx(t);break;case 1:nk(t),yx(t);break;case 4:HT(t),yx(t);break;case 3:HT(t),nk(t),yx(t)}break;case 2:switch(e.e){case 1:nk(t),uS(t);break;case 4:HT(t),yx(t);break;case 3:HT(t),nk(t),yx(t)}break;case 1:switch(e.e){case 2:nk(t),uS(t);break;case 4:nk(t),HT(t),yx(t);break;case 3:nk(t),HT(t),nk(t),yx(t)}break;case 4:switch(e.e){case 2:HT(t),yx(t);break;case 1:HT(t),nk(t),yx(t);break;case 3:nk(t),uS(t)}break;case 3:switch(e.e){case 2:nk(t),HT(t),yx(t);break;case 1:nk(t),HT(t),nk(t),yx(t);break;case 4:nk(t),uS(t)}}return t}function cL(t,e,n){var r,i,o,a,s,c,u,l;if(!t.a[e.d.k][e.k].e){for(t.a[e.d.k][e.k].e=!0,t.a[e.d.k][e.k].b=0,t.a[e.d.k][e.k].d=0,t.a[e.d.k][e.k].a=null,l=new Kn(e.f);l.a0&&(t.a[e.d.k][e.k].d+=LN(t.e,24)*KP*.07000000029802322-.03500000014901161,t.a[e.d.k][e.k].a=t.a[e.d.k][e.k].d/t.a[e.d.k][e.k].b)}}function uL(t,e){var n,r,i,o,a,s,c,u,l,h;for(r=new Kn(t.a.c);r.adP||e.k==xz&&uv?u:v}for(n.e.b+=u-s.b,h=new Kn(t.a);h.a1;)e=zo(i,t.c),fr(l=new Tk(t.e.c),(RT(),PF)),Ky(l,(JL(),Hj),Uf(kx(c,Hj),28)),Ky(l,Lj,Uf(kx(c,Lj),86)),l.k=t.e.b++,Lf(t.b,l),l.j.b=c.j.b,l.j.a=e,Fh(h=new TT,(mL(),LG)),cv(h,c),h.i.a=l.j.a,h.i.b=l.j.b/2,Fh(f=new TT,KG),cv(f,l),f.i.b=l.j.b/2,f.i.a=-f.j.a,hv(d=new jg,h),lv(d,f),c=l,Lf(t.e.c.b,c),--u,i-=t.c+t.e.d;for(new yT(t.d,t.b,t.c),a=new Kn(r);a.ae.a||e.p>t.a)){for(n=0,r=0,s=new Vn(new Un(t.o.a).a.bb().mb());s.a.G();)i=Uf(s.a.H(),21),o=Uf(i.yb(),7),cE(Vw(Nx(Mo(gR,1),KM,10,0,[o.f.i,o.i,o.a])).b,e.p,e.a)&&++n;for(c=new Vn(new Un(t.g.a).a.bb().mb());c.a.G();)i=Uf(c.a.H(),21),o=Uf(i.yb(),7),cE(Vw(Nx(Mo(gR,1),KM,10,0,[o.f.i,o.i,o.a])).b,e.p,e.a)&&--n;for(u=new Vn(new Un(e.o.a).a.bb().mb());u.a.G();)i=Uf(u.a.H(),21),o=Uf(i.yb(),7),cE(Vw(Nx(Mo(gR,1),KM,10,0,[o.f.i,o.i,o.a])).b,t.p,t.a)&&++r;for(a=new Vn(new Un(e.g.a).a.bb().mb());a.a.G();)i=Uf(a.a.H(),21),o=Uf(i.yb(),7),cE(Vw(Nx(Mo(gR,1),KM,10,0,[o.f.i,o.i,o.a])).b,t.p,t.a)&&--r;n1)for(c=Sk(Yf(mC(e,KG)),0);c.b!=c.d.c;)0==(s=Uf(Sb(c),7)).b.c.length?(Fh(i=new TT,KG),i.j.a=s.j.a,i.j.b=s.j.b,cv(i,r),Ky(i,oq,kx(s,oq)),cv(s,null)):cv(a,r);return Ky(e,oq,null),Ky(e,IV,NX),fr(e,PF),Ky(r,(JL(),Hj),Uf(kx(e,Hj),28)),Ky(r,Lj,Uf(kx(e,Lj),86)),Id(t.b,0,r),r}function bL(t,e,n,r,i,o,a){var s,c,u,l,h,f;switch(h=n,fr(u=new Tk(a),(RT(),DF)),Ky(u,($L(),XV),i),Ky(u,(JL(),Hj),(bT(),mG)),Ky(u,iq,Uf(kx(t,Mj),15)),!(c=Uf(kx(t,Fj),10))&&(c=new ts(i.a/2,i.b/2)),Ky(u,Fj,c),cv(l=new TT,u),e!=_G&&e!=EG||(s=o!=(E_(),OR)?o:SR,h=r>0?hE(s):v_(hE(s)),Ky(t,Uj,h)),h.e){case 4:Ky(u,(ZL(),tX),(qk(),Sq)),Ky(u,YV,(Dx(),RU)),u.j.b=i.b,Fh(l,(mL(),LG)),l.i.b=c.b;break;case 2:Ky(u,(ZL(),tX),(qk(),Lq)),Ky(u,YV,(Dx(),PU)),u.j.b=i.b,Fh(l,(mL(),KG)),l.i.b=c.b;break;case 1:Ky(u,KV,(jm(),_V)),u.j.a=i.a,Fh(l,(mL(),$G)),l.i.a=c.a;break;case 3:Ky(u,KV,(jm(),wV)),u.j.a=i.a,Fh(l,(mL(),IG)),l.i.a=c.a}if(e==yG||e==wG||e==mG){switch(f=0,h.e){case 4:case 2:case 1:case 3:f=null.cd,e==wG&&(f/=null.cd)}Ky(u,dq,f)}return Ky(u,qV,h),u}function yL(t){var e,n,r,i,o,a,s,c,u,l,h,f,d,p,g,v,b,y,m;for(u=new Fr,_l(),wg(b=new kr,t,UT(t)),Cm(2,dM),r=new cm(2),t.c&&Lf(r,t.c),t.d&&Lf(r,t.d),d=new Kn(r);d.a1&&Mb(u,p,u.c.b,u.c),Mm(n)));p=g}return u}function mL(){var t;mL=a,ZG=new ys(GM,0),IG=new ys("NORTH",1),LG=new ys("EAST",2),$G=new ys("SOUTH",3),KG=new ys("WEST",4),zg(),jG=new Ko(new Zf(t=Uf(ia(iB),11),Uf(Sp(t,t.length),11),0)),GG=G_(tp(IG,Nx(Mo(iB,1),FI,32,0,[]))),MG=G_(tp(LG,Nx(Mo(iB,1),FI,32,0,[]))),qG=G_(tp($G,Nx(Mo(iB,1),FI,32,0,[]))),WG=G_(tp(KG,Nx(Mo(iB,1),FI,32,0,[]))),zG=G_(tp(IG,Nx(Mo(iB,1),FI,32,0,[$G]))),RG=G_(tp(LG,Nx(Mo(iB,1),FI,32,0,[KG]))),VG=G_(tp(IG,Nx(Mo(iB,1),FI,32,0,[KG]))),BG=G_(tp(IG,Nx(Mo(iB,1),FI,32,0,[LG]))),XG=G_(tp($G,Nx(Mo(iB,1),FI,32,0,[KG]))),PG=G_(tp(LG,Nx(Mo(iB,1),FI,32,0,[$G]))),YG=G_(tp(IG,Nx(Mo(iB,1),FI,32,0,[LG,KG]))),DG=G_(tp(LG,Nx(Mo(iB,1),FI,32,0,[$G,KG]))),UG=G_(tp(IG,Nx(Mo(iB,1),FI,32,0,[$G,KG]))),FG=G_(tp(IG,Nx(Mo(iB,1),FI,32,0,[LG,$G]))),HG=G_(tp(IG,Nx(Mo(iB,1),FI,32,0,[LG,$G,KG])))}function wL(t,e,n){var r,i,o,a,s,c,u,l,h,f,d,p,g,v,b,y,m,w;if(Ky(l=new Bm,qB,e),wg(t.e,e,l),Ky(l,($L(),lq),n),t.d&&fC(t.d,l,!1),ET(e,l),rP in e.a&&(v=l.a,b=Uf(Sg(e,rP),69),(g=Uf(Sg(b,"left"),104))&&(v.b=g.a),(m=Uf(Sg(b,"top"),104))&&(v.d=m.a),(y=Uf(Sg(b,"right"),104))&&(v.c=y.a),(i=Uf(Sg(b,qM),104))&&(v.a=i.a)),h=new Zf(r=Uf(ia(yV),11),Uf(Sp(r,r.length),11),0),Ky(l,WV,h),null==t.g&&(t.g=Sh(kx(l,(qg(),rF)))),iP in e.a){if(!(w=Sg(e,iP)).hc())throw new xp("The 'children' property of nodes must be an array.",w,e);if((u=w.hc()).a.length>0){for(n&&Ky(n,rq,l),s=Ty(FF,oP,9,u.a.length,0,1),d=0;d1)for(Lf(o,new MO(d,y,n)),h=new Vn(new Un(y.a).a.bb().mb());h.a.G();)u=Uf(h.a.H(),21),Gy(i,Uf(u.yb(),27).b);if(a.a.Y()>1)for(Lf(o,new MO(d,a,n)),h=new Vn(new Un(a.a).a.bb().mb());h.a.G();)u=Uf(h.a.H(),21),Gy(i,Uf(u.yb(),27).b)}}function kL(t,e){var n,r,i,o,a,s,c,u,l;switch(xb(o=Wb(qf(e,new Jf(t))),new te),(i=t.b).c){case 2:Np(e,new VC(r=function(t,e,n,r){var i,o,a,s,c;for(c=0,o=new Kn(t.a.b);o.a.5&&i<50;)e=Na(XT(n,r=hA(n),!0).a),++i;return XT(t,(Fd(o=Oh(sk(Yf(t.g),Yf(t.g).b-1))),o-r),!1)}(h);break;case 2:case 4:h.a=m,y=function(t){var e,n,r,i,o;for(n=_S(vO(t)),e=jP,i=0,r=0;e>.5&&i<50;)e=Na(XT(n,r=fA(n),!0).b),++i;return XT(t,(Fd(o=Oh(sk(Yf(t.g),Yf(t.g).b-1))),o-r),!1)}(h);break;default:return null}return dr(h,new MC(Nx(Mo(gR,1),KM,10,0,[c,m,y,p,v]))),h}(t.a.c,e,t.a.d,r,Mk(t.b),n),gw(t.a.a,RE(s)),a=sC(t.a.b,s.a,t.b),tv(i=new Db((!s.k&&(s.k=new yC(vw(s))),s.k))),a?$p(i,a):i}(t,a=uw(n=Ru(qf(o,new kn(i.a))))?Uf(Cy(n),91).b:15,uw(n=Ru(qf(o,new kn(Mk(i)))))?Uf(Cy(n),91).b:15,uw(n=Ru(qf(o,new kn(i.b))))?Uf(Cy(n),91).b:15),t.c,t.e,t.a.c.f,i.a)),Np(e,new VC(r,t.c,t.e,t.a.c.f,Mk(i))),Np(e,new VC(r,t.c,t.e,t.a.c.f,i.b));break;case 1:Np(e,new VC(r=function(t,e,n){var r,i,o,a,s,c;for(c=t.b,o=0,i=new Kn(t.a.b);i.a0)if(r=l.Y(),c=wv(Math.floor((r+1)/2))-1,i=wv(Math.ceil((r+1)/2))-1,e.k==_z)for(u=i;u>=c;u--)e.a[m.k]==m&&(p=Uf(l.sb(u),27),d=Uf(p.a,9),!ka(n,p.b)&&f>t.b.e[d.k]&&(e.a[d.k]=m,e.f[m.k]=e.f[d.k],e.a[m.k]=e.f[m.k],f=t.b.e[d.k]));else for(u=c;u<=i;u++)e.a[m.k]==m&&(v=Uf(l.sb(u),27),g=Uf(v.a,9),!ka(n,v.b)&&f0||n.k==_z&&iv?d:v):n.n[e.k]=r>(d>v?d:v)?r:d>v?d:v)):(g=t.d.f,p=yw(t,n.i[e.k]),f=yw(t,n.i[h.k]),n.k==_z?qv(p,f,oo(n.n[e.k])+oo(n.d[a.k])+a.j.b+a.e.a+g-(oo(n.n[h.k])+oo(n.d[u.k])-u.e.d)):qv(p,f,oo(n.n[e.k])+oo(n.d[a.k])-a.e.d-oo(n.n[h.k])-oo(n.d[u.k])-u.j.b-u.e.a-g))):v=t.e.Ic(v,e,a),a=n.a[a.k]}while(a!=e);!function(t,e){Np(t.b,e)}(t.e,e)}}function LL(t,e,n,r){var i,o,a,s,c,u,l,h,f,d,p,g,v,b;if(f=!1,h=!1,Vs(Uf(kx(r,(JL(),Hj)),28))){a=!1,s=!1;t:for(p=new Kn(r.f);p.a=r.j.b/2}b?(v=Uf(kx(r,($L(),Nq)),20))?f?o=v:(i=Uf(kx(r,DV),20))?o=v.Y()<=i.Y()?v:i:(o=new Re,Ky(r,DV,o)):(o=new Re,Ky(r,Nq,o)):(i=Uf(kx(r,($L(),DV)),20))?h?o=i:(v=Uf(kx(r,Nq),20))?o=i.Y()<=v.Y()?i:v:(o=new Re,Ky(r,Nq,o)):(o=new Re,Ky(r,DV,o)),o.ib(t),Ky(t,($L(),RV),n),e.d==n?(lv(e,null),n.b.c.length+n.e.c.length==0&&cv(n,null)):(hv(e,null),n.b.c.length+n.e.c.length==0&&cv(n,null)),Mg(e.a)}function IL(t,e){var n,r,i,o,a,s,c,u,l,h,f,d,p,g,v,b,y;for((n=new kk(e)).a||function(t){var e,n,r,i,o;switch(i=Uf(gd(t.b,0),9),e=new Tk(t),Lf(t.b,e),e.j.a=Fo(1,i.j.a),e.j.b=Fo(1,i.j.b),e.i.a=i.i.a,e.i.b=i.i.b,Uf(kx(i,($L(),qV)),32).e){case 4:e.i.a+=2;break;case 1:e.i.b+=2;break;case 2:e.i.a-=2;break;case 3:e.i.b-=2}cv(r=new TT,e),hv(n=new jg,o=Uf(gd(i.f,0),7)),lv(n,r),Ih(Lc(r.i),o.i),Ih(Lc(r.a),o.a)}(e),u=function(t){var e,n,r,i,o,a,s;for(s=new Cb,a=new Kn(t.b);a.a=s.b.c)&&(s.b=e),(!s.c||e.c<=s.c.c)&&(s.d=s.c,s.c=e),(!s.e||e.d>=s.e.d)&&(s.e=e),(!s.f||e.d<=s.f.d)&&(s.f=e);return r=new hk((jw(),yF)),Lb(t,CF,new Qn(Nx(Mo(bF,1),GI,160,0,[r]))),a=new hk(xF),Lb(t,TF,new Qn(Nx(Mo(bF,1),GI,160,0,[a]))),i=new hk(mF),Lb(t,kF,new Qn(Nx(Mo(bF,1),GI,160,0,[i]))),o=new hk(wF),Lb(t,EF,new Qn(Nx(Mo(bF,1),GI,160,0,[o]))),cA(r.c,yF),cA(i.c,mF),cA(o.c,wF),cA(a.c,xF),s.a.c=Ty(TD,GI,1,0,4,1),ox(s.a,r.c),ox(s.a,Sw(i.c)),ox(s.a,o.c),ox(s.a,Sw(a.c)),s}(u)),n}function ML(t,e){var n,r,i,o,a,s,c,u,l,h,f,d,p,g,v,b,y,m,w,x,_,E,k,T,C;return h=function(t,e){var n,r,i,o,a,s,c,u,l,h,f;if(t.V())return new uo;for(c=0,l=0,r=t.mb();r.G();)c=Fo(c,(i=Uf(r.H(),55).e).a),l+=i.a*i.b;for(c=Fo(c,Math.sqrt(l)*Uf(kx(Uf(t.mb().H(),55),($L(),AV)),15).a),h=0,f=0,s=0,n=e,a=t.mb();a.G();)h+(u=(o=Uf(a.H(),55)).e).a>c&&(h=0,f+=s+e,s=0),iS(o,h,f),n=Fo(n,h+u.a),s=Fo(s,u.b),h+=u.a+e;return new ts(n+e,f+s+e)}(fl(t,(mL(),jG)),e),p=Ok(fl(t,GG),e),w=Ok(fl(t,qG),e),k=Lk(fl(t,WG),e),f=Lk(fl(t,MG),e),y=Ok(fl(t,VG),e),g=Ok(fl(t,BG),e),_=Ok(fl(t,XG),e),x=Ok(fl(t,PG),e),T=Lk(fl(t,RG),e),b=Ok(fl(t,zG),e),m=Ok(fl(t,YG),e),E=Ok(fl(t,DG),e),C=Lk(fl(t,UG),e),d=Lk(fl(t,FG),e),v=Ok(fl(t,HG),e),n=xm(Nx(Mo(sW,1),NI,26,12,[y.a,k.a,_.a,C.a])),r=xm(Nx(Mo(sW,1),NI,26,12,[p.a,h.a,w.a,v.a])),i=b.a,o=xm(Nx(Mo(sW,1),NI,26,12,[g.a,f.a,x.a,d.a])),u=xm(Nx(Mo(sW,1),NI,26,12,[y.b,p.b,g.b,m.b])),c=xm(Nx(Mo(sW,1),NI,26,12,[k.b,h.b,f.b,v.b])),l=T.b,s=xm(Nx(Mo(sW,1),NI,26,12,[_.b,w.b,x.b,E.b])),vy(fl(t,jG),n+i,u+l),vy(fl(t,HG),n+i,u+l),vy(fl(t,GG),n+i,0),vy(fl(t,qG),n+i,u+l+c),vy(fl(t,WG),0,u+l),vy(fl(t,MG),n+i+r,u+l),vy(fl(t,BG),n+i+r,0),vy(fl(t,XG),0,u+l+c),vy(fl(t,PG),n+i+r,u+l+c),vy(fl(t,RG),0,u),vy(fl(t,zG),n,0),vy(fl(t,DG),0,u+l+c),vy(fl(t,FG),n+i+r,0),(a=new uo).a=xm(Nx(Mo(sW,1),NI,26,12,[n+r+i+o,T.a,m.a,E.a])),a.b=xm(Nx(Mo(sW,1),NI,26,12,[u+c+l+s,b.b,C.b,d.b])),a}function PL(t,e){var n,r,i,o,a,s,c,u,l,h,f,d,p,g;if(r=new Fr,u=null,(d=(p=t.c).f.g)!=(RT(),GF)&&d!=BF)throw new so("The target node of the edge must be a normal node or a northSouthPort.");for(d==BF&&(f=Uf(kx(p,($L(),oq)),7),u=new ts(Vw(Nx(Mo(gR,1),KM,10,0,[f.f.i,f.i,f.a])).a,Vw(Nx(Mo(gR,1),KM,10,0,[p.f.i,p.i,p.a])).b),p=f),cs(r,Vw(Nx(Mo(gR,1),KM,10,0,[p.f.i,p.i,p.a]))),a=Fo(5,AE(p.f,p.g)),(h=new wp(eT(p.g))).a*=a,h.b*=a,Of(r,Ih(h,Vw(Nx(Mo(gR,1),KM,10,0,[p.f.i,p.i,p.a])))),u&&Mb(r,u,r.c.b,r.c),o=t,c=t,s=null,n=!1;o;)0!=(i=o.a).b&&(n?(Of(r,al(Ih(s,(Lu(0!=i.b),Uf(i.a.a.c,10))),.5)),n=!1):n=!0,s=wu((Lu(0!=i.b),Uf(i.c.b.c,10))),gw(r,i),Mg(i)),c=o,o=Uf(Kc(vv(e.d,o)),12);(g=c.d).f.g==BF&&(f=Uf(kx(g,($L(),oq)),7),Of(r,new ts(Vw(Nx(Mo(gR,1),KM,10,0,[f.f.i,f.i,f.a])).a,Vw(Nx(Mo(gR,1),KM,10,0,[g.f.i,g.i,g.a])).b)),g=f),a=Fo(5,AE(g.f,g.g)),al(h=new wp(eT(g.g)),a),Of(r,Ih(h,Vw(Nx(Mo(gR,1),KM,10,0,[g.f.i,g.i,g.a])))),cs(r,Vw(Nx(Mo(gR,1),KM,10,0,[g.f.i,g.i,g.a]))),l=new JS(r),gw(t.a,RE(l))}function DL(t){var e,n,r,i,o,a,s,c,u,l,h,f,d,g;if(Zc(kx(t.c,(JL(),Hj)))===Zc((bT(),wG))||Zc(kx(t.c,Hj))===Zc(mG))for(l=new Kn(t.c.f);l.a1&&(a=zo(a,Na(Uf(sk(s.a,1),10).b-l.b)))));else for(p=new Kn(e.f);p.ai&&(o=f.a-i,a=yI,r.c=Ty(TD,GI,1,0,4,1),i=f.a),f.a>=i&&(r.c[r.c.length]=s,s.a.b>1&&(a=zo(a,Na(Uf(sk(s.a,s.a.b-2),10).b-f.b)))));if(0!=r.c.length&&o>e.j.a/2&&a>e.j.b/2){for(cv(d=new TT,e),Fh(d,(mL(),IG)),d.i.a=e.j.a/2,cv(g=new TT,e),Fh(g,$G),g.i.a=e.j.a/2,g.i.b=e.j.b,c=new Kn(r);c.a=u.b?hv(s,g):hv(s,d)):(u=Uf(xf(s.a),10),(0==s.a.b?Gv(s.c):Uf(Fl(s.a),10)).b>=u.b?lv(s,g):lv(s,d)),(h=Uf(kx(s,(JL(),kj)),44))&&wE(h,u,!0);e.i.a=i-e.j.a/2}}function jL(t,e){var n,r,i,o,a,s,c,u,l,h,f,d,p,g,v,b,y,m;for(b=new Re,y=new Re,m=new Re,o=new Kn(e);o.a50?b.c[b.c.length]=i:i.k>0?y.c[y.c.length]=i:m.c[m.c.length]=i;if(1==y.c.length&&0==b.c.length&&(ox(b,y),y.c=Ty(TD,GI,1,0,4,1)),0!=b.c.length&&Xl(su(t.a),(CL(),$z))&&Xl(su(t.a),(CL(),Kz))?function(t,e){var n,r,i;for(r=new Kn(e);r.a1&&(dC(i,g=Uf(Nm(c),60),!0),fp(l),ov(t.a,g))}for(f=m.c.length,r=function(t){var e,n,r,i;switch(cu(t.a).c){case 4:return CL(),Kz;case 3:return Uf(function(t){var e;return CL(),CL(),e=Uz,t.d&&FC(t),function(){throw new Kr}(),e}(t.a).mb().H(),60);case 2:return e=Uf(Qb(n=new qs(r=cu(t.a))),60),i=Uf(Qb(n),60),gA(e)==i?Xl(r,(CL(),Kz))?Vz:Kz:pA(pA(e))==i?pA(e):vA(e);case 1:return gA(Uf(Qb(new qs(r=cu(t.a))),60));case 0:return CL(),Qz;default:return null}}(t),d=new Re,a=f/au(t.a).c|0,s=0;s3&&(ox(d,(CL(),CL(),zz)),p-=4),p){case 3:Lf(d,gA(r));case 2:v=pA(gA(r));do{v=pA(v)}while(!Xl(su(t.a),v));d.c[d.c.length]=v,v=vA(gA(r));do{v=vA(v)}while(!Xl(su(t.a),v));d.c[d.c.length]=v;break;case 1:Lf(d,gA(r))}for(h=new Kn(d),u=new Kn(m);h.ayM)&&s<10);go(t.c,new L),jO(t),function(t){sL(t,(E_(),AR)),t.e=!0}(t.c),function(t){var e,n,r,i,o,a,s;for(i=new Kn(t.a.b);i.a0,v=m.e.c.length>0,u&&v?f.c[f.c.length]=m:u?p.c[p.c.length]=m:v&&(y.c[y.c.length]=m);for(d=new Kn(p);d.a=g&&(m>g&&(p.c=Ty(TD,GI,1,0,4,1),g=m),p.c[p.c.length]=a);0!=p.c.length&&(d=Uf(gd(p,$k(e,p.c.length)),77),A.a.eb(d),d.i=v++,aA(d,C,E),p.c=Ty(TD,GI,1,0,4,1))}for(x=t.c.length+1,s=new Kn(t);s.aN.i&&(ug(n),Gy(N.d,r),r.c>0&&(r.a=N,Lf(N.j,r),r.b=k,Lf(k.d,r)))}function YL(t){switch(t.e){case 14:return new Z;case 37:return new Q;case 8:return new Ki;case 30:return new Qi;case 38:return new tt;case 3:return new et;case 47:case 1:return new bn((Px(),KF));case 4:return new nt;case 49:return new rt;case 23:return new ne;case 13:return new it;case 34:return new at;case 40:return new st;case 35:return new lt;case 44:return new Uu;case 28:return new ht;case 39:return new ft;case 27:return new dt;case 6:return new pt;case 31:return new yt;case 9:return new Te;case 43:return new wt;case 17:return new xt;case 18:return new kt;case 29:return new Ce;case 11:return new It;case 12:return new Ct;case 36:return new Nt;case 46:case 0:return new bn((Px(),ZF));case 41:return new St;case 15:return new Ot;case 33:return new Lt;case 42:return new Pt;case 22:return new Dt;case 19:return new bt;case 10:return new At;case 7:return new jt;case 24:return new Gt;case 21:return new Bt;case 16:return new Ht;case 45:return new Yt;case 26:return new zt;case 20:return new Ut;case 25:return new Vt;case 5:return new Qt;case 32:return new Jt;case 48:case 2:return new bn((Px(),$F));default:throw new so("No implementation is available for the layout processor "+(null!=t.d?t.d:""+t.e))}}function zL(t,e,n){var r,i,o,a,s,c,u,l,h,f,d,p,g,v,b,y,m,w,x,_,E,k,T,C,N,A,S;for(N=0,o=0,l=e[0].d,E=n[0].d,d=0,g=n.length;d0;){for(Lu(_.b>0),x=0,i=new Kn((m=Uf(_.a.sb(_.c=--_.b),7)).b);i.a0&&(m.g==(mL(),IG)?(t.a[m.k]=N,++N):(t.a[m.k]=N+b+y,++y),o+=x)}N+=y}else{for(v=0,w=new Kn(h.f);w.a0&&(++N,o+=v)}for(k=Ty(iW,vM,26,o,12,1),s=0,f=0,p=e.length;f0;)c%2>0&&(r+=A[c+1]),++A[c=(c-1)/2|0];return r}function UL(t,e){var n,r,i,o,a,s,c,u,l,h,f,d,p,g,v,b,y,m,w,x,_,E,k,T,C,N,A,S,O;for(HE(e,"Compound graph postprocessor",1),n=io(oo(Sh(kx(t,(ZL(),Bq))))),s=Uf(kx(t,($L(),FV)),144),h=new Ji,_=s.W().mb();_.G();){for(x=Uf(_.H(),12),xb(a=new df(s.U(x)),new cn(t)),C=cw((_y(0,a.c.length),Uf(a.c[0],114))),A=sw(Uf(gd(a,a.c.length-1),114)),Mg(x.a),k=C.f,E=R_(A.f,k)?Uf(kx(k,rq),55):Kp(k),p=Uf(kx(x,(JL(),kj)),44),Ad(a,OF)?p?Mg(p):(p=new Fr,Ky(x,kj,p)):p&&Ky(x,kj,null),v=null,o=new Kn(a);o.aEP,O=Na(v.b-m.b)>EP,(!n&&S&&O||n&&(S||O))&&Of(x.a,T)),gw(x.a,r),0==r.b?v=T:(Lu(0!=r.b),v=Uf(r.c.b.c,10)),(y=Uf(kx(b,kj),44))&&(Yx(d=new Fr,0,y),Pw(d,w),gw(p,d)),sw(i)==A&&(Kp(A.f)!=i.a&&IN(w=new uo,Kp(A.f),E),Ky(x,Cq,w)),g=new Kv(b.b,0);g.b1){x=Ty(PX,hI,15,t.a.length,0,1),u=Ol(t.a.length),p=0,d=0,n=2*e.d.a.c.length+1;t:for(w=new Kn(e.f);w.a0?(x[m.k]=new Hn(C/(m.b.c.length+m.e.c.length)),p=Uo(p,x[m.k].a),d=Ho(d,x[m.k].a)):v&&(x[m.k]=new Hn(C))}for(g=(e.d?Qy(e.d.a,e,0):-1)+1,f=e.d.a.c.length+1,c=new Kn(u);c.an&&g.a.db(m,g);for(A=new Ji,v=new Ji,x=new Vn(new Un(N.a).a.bb().mb());x.a.G();)for(h=Uf(x.a.H(),21),m=Uf(h.yb(),9),a=1==e?X_(m):q_(m),Xu(),u=new Pu(ju(Xf(a.a,new p)));tE(u);)c=Uf(Nv(u),12),Ic(m.d)!=Ic(c.d.f.d)&&Np(A,c.d.f);for(_=new Vn(new Un(g.a).a.bb().mb());_.a.G();)for(h=Uf(_.a.H(),21),m=Uf(h.yb(),9),a=1==e?X_(m):q_(m),Xu(),u=new Pu(ju(Xf(a.a,new p)));tE(u);)c=Uf(Nv(u),12),Ic(m.d)!=Ic(c.d.f.d)&&Np(v,c.d.f);for(QF&&Pf(),T=Uf(gd(t.d.c.c,r+(1==e?1:-1)),16),b=kI,y=yI,f=0;ff?b:f:v.a.R(m)&&(y=y1||tg(vu(new sb(B_(Nx(Mo(TD,1),GI,1,4,[y.b,y.e])))))>1)&&i.ib((KA(),rV)),Zc(kx(p,(ZL(),zq)))===Zc((lb(),qY))&&!(JM in e.a)){n=new Fr;try{for(s=Sg(e,JM).hc(),o=0;o0&&(t.a[B.k]=W++)}else{for(M=0,F=new Kn(C.f);F.a0&&++W}for(J=0,S=0,I=n.length;S0;){for(Lu(z.b>0),Y=0,s=new Kn((B=Uf(z.a.sb(z.c=--z.b),7)).b);s.a0&&(B.g==(mL(),IG)?(t.a[B.k]=J,++J):(t.a[B.k]=J+P+R,++R))}J+=R}else{for(M=0,F=new Kn(C.f);F.a0&&++J}for(_l(),H=new kr,d=new Iu,N=0,O=e.length;Nu.b&&(u.b=U)):B.f.d==X&&(Uu.c&&(u.c=U));for(Hk(p,0,p.length,(ec(),ec(),HX)),Q=Ty(iW,vM,26,p.length,12,1),r=Ty(iW,vM,26,J+1,12,1),v=0;v0;)_%2>0&&(i+=nt[_+1]),++nt[_=(_-1)/2|0];for(k=Ty(rz,GI,156,2*p.length,0,1),m=0;m0&&(45==t.charCodeAt(0)||43==t.charCodeAt(0))?1:0;eyI)throw new Zo(EI+t+'"');return i}((si(),""+n.jc().a))),void Ky(t,f,g)}catch(t){throw dl(t=r_(t),130)?new zi("Invalid integer format for property '"+e+cP+n+")."):D_(t)}else{if(Uf(WB.a,18).kb(e)){if(!n.ic())throw new zi(sP+e+cP+n+").");return f=Uf(Uf(WB.b,57).cb(e),79),Vd(),void Ky(t,f,g=n.ic().a?AX:NX)}if(Uf(KB.a,18).kb(e)){if(!n.jc())throw new zi("Invalid float format for property '"+e+cP+n+").");return void Ky(t,f=Uf(Uf(KB.b,57).cb(e),79),g=new Fn(n.jc().a))}if(Uf(ZB.a,18).kb(e)){if(!n.lc())throw new zi(uP+e+cP+n+").");u=n.lc().a,l=null;try{c_((JL(),Uj),e)?(mL(),l=Uf(p_((fy(),JG),u),32)):c_(sj,e)?(fk(),l=Uf(p_((Iy(),CR),u),103)):c_(pj,e)?(E_(),l=Uf(p_((hy(),MR),u),59)):c_(vj,e)?(k_(),l=Uf(p_((zb(),VR),u),122)):c_(xj,e)?(T_(),l=Uf(p_((mb(),ij),u),166)):c_(Dj,e)||c_(Rj,e)||c_(jj,e)||c_(Gj,e)||c_(Bj,e)?(OE(),l=Uf(p_((dy(),bG),u),100)):c_(Hj,e)?(bT(),l=Uf(p_((Py(),TG),u),28)):c_(zj,e)?(Rm(),l=Uf(p_((yb(),OG),u),149)):c_(bj,e)?(DT(),l=Uf(p_((My(),JR),u),133)):c_(gj,e)?(Gw(),l=Uf(p_((Yb(),BR),u),107)):c_((ZL(),Uq),e)?(Vg(),l=Uf(p_((Bv(),LY),u),193)):c_(iX,e)?(fm(),l=Uf(p_((wb(),GY),u),173)):c_(Xq,e)?(mT(),l=Uf(p_((vm(),UU),u),115)):c_(Fq,e)?(Gm(),l=Uf(p_((qb(),Az),u),194)):c_(zq,e)?(lb(),l=Uf(p_((Hv(),$Y),u),192)):c_(aX,e)?(nA(),l=Uf(p_((pm(),cY),u),109)):c_(oX,e)?(Vk(),l=Uf(p_((gm(),vz),u),141)):c_(lX,e)?(pC(),l=Uf(p_((Dy(),xY),u),125)):c_(hX,e)?(Nb(),l=Uf(p_((Fv(),dY),u),175)):c_(Kq,e)?(MT(),l=Uf(p_((tw(),QU),u),124)):c_(Qq,e)?(TO(),l=Uf(p_((Fw(),mV),u),110)):c_(tX,e)?(qk(),l=Uf(p_((bm(),Pq),u),85)):c_(pX,e)?(ME(),l=Uf(p_((Oy(),xX),u),153)):c_(vX,e)?(Bw(),l=Uf(p_((Ly(),CX),u),172)):c_(Jq,e)&&(cb(),l=Uf(p_((Xb(),NV),u),174))}catch(t){throw dl(t=r_(t),54)?new zi(uP+e+cP+n+")."):D_(t)}return void Ky(t,f=Uf(Uf(ZB.b,57).cb(e),79),l)}if(Uf($B.a,18).kb(e)){if(!n.lc())throw new zi(uP+e+cP+n+").");for(d=null,a=0,s=(c=BS(n.lc().a,"[\\[\\]\\s,]+")).length;a0&&_x(e.charCodeAt(n-1),CM);)--n;if(r>=n)throw new so("The given string does not contain any numbers.");if(2!=(i=BS(e.substr(r,n-r),",|;|\r|\n")).length)throw new so("Exactly two numbers are expected, "+i.length+" were found.");try{t.a=IT(gT(i[0])),t.b=IT(gT(i[1]))}catch(t){throw dl(t=r_(t),130)?new so(NM+t):D_(t)}}(p=new uo,n.lc().a),void Ky(t,f=Uf(Uf(tF.b,57).cb(e),79),p)}catch(t){throw dl(t=r_(t),29)?new zi("Invalid KVector format for property '"+e+"' "+n+"."):D_(t)}else if(c_(lj,e)||c_(kj,e))try{return function(t,e){var n,r,i,o,a;r=BS(e,",|;|\\(|\\)|\\[|\\]|\\{|\\}| |\t|\n"),Mg(t);try{for(n=0,o=0,i=0,a=0;n0&&(o%2==0?i=IT(r[n]):a=IT(r[n]),o>0&&o%2!=0&&Of(t,new ts(i,a)),++o),++n}catch(t){throw dl(t=r_(t),130)?new so("The given string does not match the expected format for vectors."+t):D_(t)}}(v=new Fr,n.lc().a),void Ky(t,f=Uf(Uf(tF.b,57).cb(e),79),v)}catch(t){throw dl(t=r_(t),29)?new zi("Invalid KVectorChain format for property '"+e+"' "+n+"."):D_(t)}else if(c_(Aj,e)||c_(oj,e))try{return function(t,e){var n,r,i,o,a,s,c,u;for(o=0;o<(si(),e.length)&&Ex(e.charCodeAt(o),TM);)++o;for(n=e.length;n>0&&Ex(e.charCodeAt(n-1),CM);)--n;if(o1?Mv(this,t-1):this,e},eI.Pc=function(){return Bh(this),this.b},eI.Qc=function(){return na(this)},eI.Rc=function(){return ra(this)},eI.Sc=function(){return 0!=(4&this.g)},eI.Tc=function(){return 0!=(1&this.g)},eI.w=function(){return(0!=(2&this.g)?"interface ":0!=(1&this.g)?"":"class ")+(Bh(this),this.n)},eI.g=0,ZN(119,72,{3:1,119:1,54:1,46:1},Vr),ZN(29,72,_I,qr,so),ZN(95,72,dI,Xr,ao),ZN(231,1,{3:1,231:1}),ZN(24,231,{3:1,23:1,24:1,231:1},Mn),eI.F=function(t){return function(t,e){return Bu(t.a,e.a)}(this,Uf(t,24))},eI.t=function(t){return dl(t,24)&&Uf(t,24).a==this.a},eI.v=function(){return this.a},eI.w=function(){return ca(this.a)},eI.a=0,cI={3:1,345:1,23:1,2:1},ZN(350,1,TI,ae),eI.$b=function(t,e){return function(t,e){return Tg((si(),t.toLowerCase()),e.toLowerCase())}(Lh(t),Lh(e))},ZN(257,95,dI,(function(t){ao.call(this,t)})),ZN(145,1,{23:1,145:1}),eI.F=function(t){return function(t,e){return function(t,e){return Tg((si(),t.toLowerCase()),e.toLowerCase())}(t.a,e.a)}(this,Uf(t,145))},eI.t=function(t){var e;return t===this||!!dl(t,145)&&(e=Uf(t,145),ji(this.a,e.a))},eI.v=function(){return dk(this.a)},eI.w=function(){return this.a},ZN(358,29,_I,(function(t){so.call(this,(si(),null==t?pI:t))})),ZN(256,29,{3:1,54:1,29:1,46:1,256:1},(function(t){so.call(this,(si(),null==t?pI:t))})),ZN(185,145,CI),ZN(289,185,CI,(function(t){Pn.call(this,t)})),eI.Zc=function(t,e,n){var r,i;for(r=Ty(aW,NI,26,n,12,1),i=0;in)throw new ao(AI)}for(a=Ty(aW,NI,26,o,12,1),l=0,s=0,c=0;c0;){if(128!=(192&(r=t[e+c++])))throw new so("Invalid UTF8 sequence at "+(e+c-1)+", byte="+(r>>>0).toString(16));i=i<<6|63&r}l+=Kk(i,a,l)}return a};var kD,TD=Bp(OI,"Object",1),CD=Bp(OI,"Throwable",46),ND=(Bp(OI,"Exception",54),Bp(OI,"RuntimeException",72),Bp(LI,"JavaScriptException",164),Bp(II,"StackTraceCreator/Collector",642),Bp(II,"StackTraceCreator/CollectorLegacy",356),Bp(II,"StackTraceCreator/CollectorModern",643),Bp(II,"StackTraceCreator/CollectorModernNoSourceMap",357),Bp(MI,"IOException",181),Bp(MI,"UnsupportedEncodingException",351),Bp(OI,"Class",288),Bp(OI,"ClassCastException",119),Bp(OI,"IllegalArgumentException",29),Bp(OI,"IndexOutOfBoundsException",95),Bp(OI,"Number",231),Bp(OI,"Integer",24)),AD=Bp(OI,"String",2);Bp(OI,"String/1",350),Bp(OI,"StringIndexOutOfBoundsException",257),Bp(PI,"Charset",145),Bp(PI,"IllegalCharsetNameException",358),Bp(PI,"UnsupportedCharsetException",256),Bp(DI,"EmulatedCharset",185),Bp(DI,"EmulatedCharset/LatinCharset",289),Bp(DI,"EmulatedCharset/UtfCharset",355),ZN(669,1,{3:1}),Bp(RI,"Optional",669),ZN(601,669,{3:1},c),eI.t=function(t){return t===this},eI.v=function(){return 2040732332},eI.w=function(){return"Optional.absent()"},eI.A=function(t){return Dd(t),ci(),kD},Bp(RI,"Absent",601);var SD=Ed(RI,"Function");ZN(208,1,{},co),eI.C=function(t){return Dp(t)},Bp(RI,"Joiner",208),ZN(363,208,{},Qf),eI.C=function(t){return Tl(this,t)},Bp(RI,"Joiner/1",363),ZN(362,1,{},nh),Bp(RI,"Joiner/MapJoiner",362);var OD,LD=Ed(RI,"Predicate");ZN(244,1,{68:1,244:1,3:1},Ge),eI.D=function(t){var e;for(e=0;e0},eI.H=function(){if(this.b>=this.c)throw new Ei;return oa(this,this.b++)},eI.L=function(){return this.b},eI.M=function(){if(this.b<=0)throw new Ei;return oa(this,--this.b)},eI.N=function(){return this.b-1},eI.b=0,eI.c=0,Bp(zI,"AbstractIndexedListIterator",378),ZN(428,108,YI),eI.G=function(){return uw(this)},eI.H=function(){return Cy(this)},eI.d=1,Bp(zI,"AbstractIterator",428),ZN(653,1,{144:1}),eI.P=function(){return this.f||(this.f=this.S())},eI.T=function(){return new Ia(this.P())},eI.t=function(t){return zx(this,t)},eI.v=function(){return this.P().v()},eI.V=function(){return 0==this.Y()},eI.W=function(){return ip(this)},eI.w=function(){return this.P().w()},Bp(zI,"AbstractMultimap",653),ZN(294,653,VI),eI.Q=function(){Ak(this)},eI.R=function(t){return qy(this.b,t)},eI.S=function(){return new Da(this,this.b)},eI.T=function(){return new Ml(this,this.b)},eI.$=function(){return dl(t=this.Z(),137)?(zg(),new Ql(Uf(t,137))):dl(t,18)?(zg(),new Ko(Uf(t,18))):dl(t,20)?gv(Uf(t,20)):(zg(),new er(t));var t},eI.U=function(t){return WT(this,t)},eI.X=function(t){return iN(this,t)},eI.Y=function(){return this.c},eI.c=0,Bp(zI,"AbstractMapBasedMultimap",294),ZN(600,294,VI),eI.Z=function(){return new cm(this.a)},eI.$=function(){return og(),og(),YD},eI.U=function(t){return Uf(WT(this,t),20)},eI.X=function(t){return Uf(iN(this,t),20)},eI.P=function(){return this.f||(this.f=new Da(this,this.b))},eI.t=function(t){return zx(this,t)},Bp(zI,"AbstractListMultimap",600),ZN(388,1,qI),eI.G=function(){return this.b.b||this.d.G()},eI.H=function(){var t;return this.d.G()||((t=Um(this.b)).yb(),this.a=Uf(t.zb(),19),this.d=this.a.mb()),this.d.H()},eI.I=function(){this.d.I(),this.a.V()&&Hy(this.b),--this.c.c},Bp(zI,"AbstractMapBasedMultimap/Itr",388),ZN(389,388,qI,rw),Bp(zI,"AbstractMapBasedMultimap/1",389),ZN(638,1,XI),eI.Q=function(){this.bb().Q()},eI._=function(t){return cT(this,t)},eI.R=function(t){return!!VT(this,t,!1)},eI.ab=function(t){var e,n;for(e=this.bb().mb();e.G();)if(n=Uf(e.H(),21).zb(),Zc(t)===Zc(n)||null!=t&&s_(t,n))return!0;return!1},eI.t=function(t){return TC(this,t)},eI.cb=function(t){return Kc(VT(this,t,!1))},eI.v=function(){return bx(this.bb())},eI.V=function(){return 0==this.Y()},eI.W=function(){return new Un(this)},eI.db=function(t,e){throw new No("Put not supported on this map")},eI.eb=function(t){return Kc(VT(this,t,!0))},eI.Y=function(){return this.bb().Y()},eI.w=function(){return rC(this)},eI.fb=function(){return new qn(this)},Bp(WI,"AbstractMap",638),ZN(654,638,XI),eI.bb=function(){return op(this)},eI.W=function(){return this.d||(this.d=new Ia(this))},eI.fb=function(){return qp(this)},Bp(zI,"Maps/ViewCachingAbstractMap",654),ZN(262,654,XI,Da),eI.cb=function(t){return function(t,e){var n;return(n=Uf(ck(t.a,e),19))?ak(t.b,e,n):null}(this,t)},eI.eb=function(t){return function(t,e){var n,r;return(n=Uf(Kd(t.a,e),19))?((r=t.b.Z()).jb(n),t.b.c-=n.Y(),n.Q(),r):null}(this,t)},eI.Q=function(){this.a==this.b.b?Ak(this.b):lp(new _v(this))},eI.R=function(t){return bk(this.a,t)},eI.hb=function(){return new He(this)},eI.gb=function(){return this.hb()},eI.t=function(t){return this===t||TC(this.a,t)},eI.v=function(){return bx(new Yn(this.a))},eI.W=function(){return ip(this.b)},eI.Y=function(){return Hs(this.a)},eI.w=function(){return rC(this.a)},Bp(zI,"AbstractMapBasedMultimap/AsMap",262),ZN(640,1,$I),eI.ib=function(t){return function(){throw new No("Add not supported on this collection")}()},eI.jb=function(t){return gw(this,t)},eI.Q=function(){yg(this)},eI.kb=function(t){return wE(this,t,!1)},eI.lb=function(t){return Qw(this,t)},eI.V=function(){return 0==this.Y()},eI.nb=function(t){return wE(this,t,!0)},eI.ob=function(){return this.pb(Ty(TD,GI,1,this.Y(),4,1))},eI.pb=function(t){return iT(this,t)},eI.w=function(){return nC(this)},Bp(WI,"AbstractCollection",640),ZN(641,640,ZI),eI.t=function(t){return CE(this,t)},eI.v=function(){return bx(this)},Bp(WI,"AbstractSet",641),ZN(649,641,ZI),Bp(zI,"Sets/ImprovedAbstractSet",649),ZN(655,649,ZI),eI.Q=function(){this.qb().Q()},eI.kb=function(t){return GE(this,t)},eI.V=function(){return this.qb().V()},eI.nb=function(t){var e;return!!this.kb(t)&&(e=Uf(t,21),this.qb().W().nb(e.yb()))},eI.Y=function(){return this.qb().Y()},Bp(zI,"Maps/EntrySet",655),ZN(387,655,ZI,He),eI.kb=function(t){return yk(new Yn(this.a.a),t)},eI.mb=function(){return new _v(this.a)},eI.qb=function(){return this.a},eI.nb=function(t){var e;return!!yk(new Yn(this.a.a),t)&&(e=Uf(t,21),function(t,e){var n,r;n=Uf(function(t,e){_l(),Dd(t);try{return Nl(e)?Pg(t,e):AN(t.d,e)}catch(t){if(dl(t=r_(t),119))return null;if(dl(t,76))return null;throw D_(t)}}(t.b,e),19),n&&(r=n.Y(),n.Q(),t.c-=r)}(this.a.b,e.yb()),!0)},Bp(zI,"AbstractMapBasedMultimap/AsMap/AsMapEntries",387),ZN(299,1,qI,_v),eI.H=function(){var t;return t=Um(this.b),this.a=Uf(t.zb(),19),function(t,e){var n;return n=e.yb(),_l(),new Ga(n,ak(t.b,n,Uf(e.zb(),19)))}(this.c,t)},eI.G=function(){return this.b.b},eI.I=function(){Hy(this.b),this.c.b.c-=this.a.Y(),this.a.Q()},Bp(zI,"AbstractMapBasedMultimap/AsMap/AsMapIterator",299),ZN(260,649,ZI,Ia),eI.Q=function(){this.b.Q()},eI.kb=function(t){return this.b.R(t)},eI.V=function(){return this.b.V()},eI.mb=function(){return _l(),_f(this.b.bb().mb(),(Wu(),qD))},eI.nb=function(t){return!!this.b.R(t)&&(this.b.eb(t),!0)},eI.Y=function(){return this.b.Y()},Bp(zI,"Maps/KeySet",260),ZN(386,260,ZI,Ml),eI.Q=function(){lp(new ja(this,this.b.bb().mb()))},eI.lb=function(t){return this.b.W().lb(t)},eI.t=function(t){return this===t||this.b.W().t(t)},eI.v=function(){return this.b.W().v()},eI.mb=function(){return new ja(this,this.b.bb().mb())},eI.nb=function(t){var e,n;return n=0,(e=Uf(this.b.eb(t),19))&&(n=e.Y(),e.Q(),this.a.c-=n),n>0},Bp(zI,"AbstractMapBasedMultimap/KeySet",386),ZN(300,1,qI,ja),eI.G=function(){return this.c.G()},eI.H=function(){return this.a=Uf(this.c.H(),21),this.a.yb()},eI.I=function(){var t;px(!!this.a),t=Uf(this.a.zb(),19),this.c.I(),this.b.a.c-=t.Y(),t.Q()},Bp(zI,"AbstractMapBasedMultimap/KeySet/1",300),ZN(216,640,$I,Ny),eI.ib=function(t){return function(t,e){var n,r;return nE(t),r=t.d.V(),(n=t.d.ib(e))&&(++t.f.c,r&&mf(t)),n}(this,t)},eI.jb=function(t){return function(t,e){var n,r,i;return!e.V()&&(i=t.Y(),(n=t.d.jb(e))&&(r=t.d.Y(),t.f.c+=r-i,0==i&&mf(t)),n)}(this,t)},eI.Q=function(){var t,e;0!=(e=(t=this).Y())&&(t.d.Q(),t.f.c-=e,pp(t))},eI.kb=function(t){return nE(this),this.d.kb(t)},eI.lb=function(t){return nE(this),this.d.lb(t)},eI.t=function(t){return function(t,e){return e===t||(nE(t),t.d.t(e))}(this,t)},eI.v=function(){return nE(this),this.d.v()},eI.mb=function(){return nE(this),new td(this)},eI.nb=function(t){return function(t,e){var n;return nE(t),(n=t.d.nb(e))&&(--t.f.c,pp(t)),n}(this,t)},eI.Y=function(){return nE(this),this.d.Y()},eI.w=function(){return nE(this),Uk(this.d)},Bp(zI,"AbstractMapBasedMultimap/WrappedCollection",216);var GD,BD,FD=Ed(WI,"List");ZN(297,216,KI,mp),eI.rb=function(t,e){var n;nE(this),n=this.d.V(),Uf(this.d,20).rb(t,e),++this.a.c,n&&mf(this)},eI.sb=function(t){return nE(this),Uf(this.d,20).sb(t)},eI.tb=function(){return nE(this),new zu(this)},eI.ub=function(t){return nE(this),new Gg(this,t)},eI.vb=function(t){var e;return nE(this),e=Uf(this.d,20).vb(t),--this.a.c,pp(this),e},eI.wb=function(t,e){return nE(this),Uf(this.d,20).wb(t,e)},eI.xb=function(t,e){return nE(this),bb(this.a,this.e,Uf(this.d,20).xb(t,e),this.b?this.b:this)},Bp(zI,"AbstractMapBasedMultimap/WrappedList",297),ZN(385,297,QI,wh),Bp(zI,"AbstractMapBasedMultimap/RandomAccessWrappedList",385),ZN(189,1,qI,td),eI.G=function(){return gp(this),this.b.G()},eI.H=function(){return gp(this),this.b.H()},eI.I=function(){this.b.I(),--this.d.f.c,pp(this.d)},Bp(zI,"AbstractMapBasedMultimap/WrappedCollection/WrappedIterator",189),ZN(298,189,JI,zu,Gg),eI.J=function(t){var e;e=0==function(t){return nE(t),t.d.Y()}(this.a),(gp(this),Uf(this.b,96)).J(t),++this.a.a.c,e&&mf(this.a)},eI.K=function(){return(gp(this),Uf(this.b,96)).K()},eI.L=function(){return(gp(this),Uf(this.b,96)).L()},eI.M=function(){return(gp(this),Uf(this.b,96)).M()},eI.N=function(){return(gp(this),Uf(this.b,96)).N()},eI.O=function(t){(gp(this),Uf(this.b,96)).O(t)},Bp(zI,"AbstractMapBasedMultimap/WrappedList/WrappedListIterator",298),ZN(295,216,ZI,Eh),Bp(zI,"AbstractMapBasedMultimap/WrappedSet",295),ZN(296,216,tM,kh),Bp(zI,"AbstractMapBasedMultimap/WrappedSortedSet",296),ZN(668,1,eM),eI.t=function(t){var e;return!!dl(t,21)&&(e=Uf(t,21),ng(this.yb(),e.yb())&&ng(this.zb(),e.zb()))},eI.v=function(){var t,e;return t=this.yb(),e=this.zb(),(null==t?0:K_(t))^(null==e?0:K_(e))},eI.Ab=function(t){throw new Kr},eI.w=function(){return this.yb()+"="+this.zb()},Bp(zI,nM,668),ZN(390,640,$I,Ye),eI.Q=function(){Ak(this.a)},eI.kb=function(t){return function(t,e){var n;for(n=ig(qp(t.P()));n.b.G();)if(Uf(Po(n,n.b.H()),19).kb(e))return!0;return!1}(this.a,t)},eI.mb=function(){return new rw(this.a)},eI.Y=function(){return this.a.c},Bp(zI,"AbstractMultimap/Values",390),ZN(656,640,rM),eI.ib=function(t){return this.Bb(t,1),!0},eI.Bb=function(t,e){throw new Kr},eI.jb=function(t){return function(t,e){var n,r;if(Or(),e.V())return!1;if(dl(e,207))for(r=Uf(e,207).bb().mb();r.G();)n=Uf(r.H(),83),t.Bb(n.Zb(),n.Yb());else zm(t,e.mb());return!0}(this,t)},eI.Q=function(){lp(this.Eb())},eI.kb=function(t){return this.Cb(t)>0},eI.Cb=function(t){var e,n;for(n=Xp(this).mb();n.G();)if(ng((e=Uf(n.H(),83)).Zb(),t))return e.Yb();return 0},eI.gb=function(){return new ze(this)},eI.bb=function(){return Xp(this)},eI.t=function(t){return function(t,e){var n,r,i;if(Or(),e===t)return!0;if(dl(e,207)){if(i=Uf(e,207),t.Y()!=i.Y()||Xp(t).Y()!=i.bb().Y())return!1;for(r=i.bb().mb();r.G();)if(n=Uf(r.H(),83),t.Cb(n.Zb())!=n.Yb())return!1;return!0}return!1}(this,t)},eI.v=function(){return Xp(this).v()},eI.V=function(){return Xp(this).V()},eI.mb=function(){return Or(),new Va(this,Xp(this).mb())},eI.nb=function(t){return this.Fb(t,1)>0},eI.Fb=function(t,e){throw new Kr},eI.Gb=function(t,e){var n,r;return Or(),Cm(e,"count"),(r=e-(n=this.Cb(t)))>0?this.Bb(t,r):r<0&&this.Fb(t,-r),n},eI.Hb=function(t,e,n){return function(t,e,n,r){return Or(),Cm(n,"oldCount"),Cm(r,"newCount"),t.Cb(e)==n&&(t.Gb(e,r),!0)}(this,t,e,n)},eI.Y=function(){return function(t){var e,n;for(Or(),n=0,e=Xp(t).mb();e.G();)n=w_(n,Uf(e.H(),83).Yb());return am(n)}(this)},eI.w=function(){return Uk(Xp(this))},Bp(zI,"AbstractMultiset",656),ZN(657,649,ZI),eI.Q=function(){this.Ib().Q()},eI.kb=function(t){var e;return!(!dl(t,83)||(e=Uf(t,83)).Yb()<=0||this.Ib().Cb(e.Zb())!=e.Yb())},eI.nb=function(t){var e,n,r;return!(!dl(t,83)||(e=(n=Uf(t,83)).Zb(),0==(r=n.Yb())))&&this.Ib().Hb(e,r,0)},Bp(zI,"Multisets/EntrySet",657),ZN(396,657,ZI,ze),eI.mb=function(){return this.a.Eb()},eI.Ib=function(){return this.a},eI.Y=function(){return this.a.Db()},Bp(zI,"AbstractMultiset/EntrySet",396),ZN(384,294,VI),eI.Z=function(){return new Sa(cx(this.a))},eI.$=function(){return lf(),ag(),KD},eI.U=function(t){return Uf(WT(this,t),18)},eI.X=function(t){return Uf(iN(this,t),18)},eI.P=function(){return this.f||(this.f=new Da(this,this.b))},eI.t=function(t){return zx(this,t)},Bp(zI,"AbstractSetMultimap",384),ZN(342,656,rM),Bp(zI,"AbstractSortedMultiset",342),ZN(280,600,VI,Vh),eI.a=0,Bp(zI,"ArrayListMultimap",280),ZN(159,17,iM);var HD,YD,zD,UD,VD,qD,XD,WD=tm(zI,"BoundType",159,RD,(function(){return qu(),Nx(Mo(WD,1),FI,159,0,[BD,GD])}));ZN(623,159,iM,fu),tm(zI,"BoundType/1",623,WD,null),ZN(624,159,iM,Mu),tm(zI,"BoundType/2",624,WD,null),ZN(234,1,aM),eI.w=function(){return t=this.c.mb(),Xu(),Zp(P_((Vu(),HD),Zp(new ta,91),t),93).a;var t},Bp(zI,"FluentIterable",234),ZN(170,234,aM,Tu),eI.mb=function(){return Ip(this)},Bp(zI,"FluentIterable/2",170),ZN(664,1,{}),eI.w=function(){return Uk(Lg(this.a.d).b)},Bp(zI,"ForwardingObject",664),ZN(665,664,$I),eI.ib=function(t){return Lg(this.a.d),ei()},eI.jb=function(t){return Lg(this.a.d),ni()},eI.Q=function(){Lg(this.a.d),ri()},eI.kb=function(t){return zs(Lg(this.a.d),t)},eI.lb=function(t){return Us(Lg(this.a.d),t)},eI.V=function(){return Lg(this.a.d).b.V()},eI.mb=function(){return new ir(Lg(this.a.d).b.mb())},eI.nb=function(t){return Lg(this.a.d),ii()},eI.Y=function(){return Lg(this.a.d).b.Y()},eI.ob=function(){return Zg(Lg(this.a.d))},eI.pb=function(t){return av(Lg(this.a.d),t)},Bp(zI,"ForwardingCollection",665),ZN(660,640,sM),eI.mb=function(){return this.Kb()},eI.ib=function(t){return function(){throw new Kr}()},eI.jb=function(t){return function(){throw new Kr}()},eI.Q=function(){!function(){throw new Kr}()},eI.kb=function(t){return null!=t&&wE(this,t,!1)},eI.Jb=function(){switch(this.Y()){case 0:return og(),og(),YD;case 1:return og(),new Ud(this.Kb().H());default:return new yp(this,this.ob())}},eI.nb=function(t){return function(){throw new Kr}()},Bp(zI,"ImmutableCollection",660),ZN(316,660,sM,bi),eI.mb=function(){return Am(this.a.mb())},eI.kb=function(t){return null!=t&&this.a.kb(t)},eI.lb=function(t){return this.a.lb(t)},eI.V=function(){return this.a.V()},eI.Kb=function(){return Am(this.a.mb())},eI.Y=function(){return this.a.Y()},eI.ob=function(){return this.a.ob()},eI.pb=function(t){return this.a.pb(t)},eI.w=function(){return Uk(this.a)},Bp(zI,"ForwardingImmutableCollection",316),ZN(87,660,cM),eI.mb=function(){return this.Kb()},eI.tb=function(){return this.Lb(0)},eI.ub=function(t){return this.Lb(t)},eI.xb=function(t,e){return this.Mb(t,e)},eI.rb=function(t,e){throw new Kr},eI.t=function(t){return function(t,e){var n,r,i;if(Zc(e)===Zc(Dd(t)))return!0;if(!dl(e,20))return!1;if(r=Uf(e,20),(i=t.Y())!=r.Y())return!1;if(dl(r,63)){for(n=0;n=(i=o.Y()))o.Q();else for(r=o.mb(),n=0;ne?1:0}(e.Yb(),t.Yb())}(Uf(t,83),Uf(e,83))},Bp(zI,"Multisets/1",398),ZN(397,658,{83:1,3:1},ld),eI.Yb=function(){return this.a},eI.Zb=function(){return this.b},eI.a=0,Bp(zI,"Multisets/ImmutableEntry",397),ZN(303,1,qI,Va),eI.G=function(){return this.d>0||this.c.G()},eI.H=function(){if(!(this.d>0||this.c.G()))throw new Ei;return 0==this.d&&(this.b=Uf(this.c.H(),83),this.f=this.d=this.b.Yb()),--this.d,this.a=!0,this.b.Zb()},eI.I=function(){px(this.a),1==this.f?this.c.I():this.e.Fb(this.b.Zb(),1),--this.f,this.a=!1},eI.a=!1,eI.d=0,eI.f=0,Bp(zI,"Multisets/MultisetIteratorImpl",303),ZN(622,659,{3:1,56:1},f),eI.$b=function(t,e){return function(t,e){return Dd(t),Dd(e),Hw(t,e)}(Uf(t,23),Uf(e,23))},eI.w=function(){return"Ordering.natural()"},Bp(zI,"NaturalOrdering",622),ZN(343,661,cM,yp),eI.ub=function(t){return Al(this.b,t)},eI.Sb=function(){return this.a},eI.sb=function(t){return Qc(this.b,t)},eI.Lb=function(t){return Al(this.b,t)},Bp(zI,"RegularImmutableAsList",343),ZN(559,275,uM,fg),eI.Tb=function(){return this.a},Bp(zI,"RegularImmutableBiMap",559),ZN(53,667,cM,sb),eI.Nb=function(){return this.a},Bp(zI,"RegularImmutableList",53),ZN(321,320,uM,Ri),Bp(zI,"RegularImmutableMap",321),ZN(265,315,lM,Ks),Bp(zI,"RegularImmutableSet",265),ZN(650,641,ZI),Bp(zI,"Sets/SetView",650),ZN(377,650,ZI,pf),eI.kb=function(t){return ka(this.b,t)&&ka(this.c,t)},eI.lb=function(t){return Qw(this.b,t)&&Qw(this.c,t)},eI.V=function(){return Im(this)},eI.mb=function(){return bp(new Vn(new Un(this.b.a).a.bb().mb()),this.a)},eI.Y=function(){return Jb(bp(new Vn(new Un(this.b.a).a.bb().mb()),this.a))},Bp(zI,"Sets/2",377),ZN(328,275,uM,Zv,Yy),eI.fb=function(){return lf(),new la(this.c)},eI.Tb=function(){return this.a||(this.a=new Yy(this.c,this.b,this))},eI.Ub=function(){return lf(),new la(this.c)},Bp(zI,"SingletonImmutableBiMap",328),ZN(127,667,cM,Ud),eI.Nb=function(){return this.a},Bp(zI,"SingletonImmutableList",127),ZN(135,663,lM,la),eI.mb=function(){return Xu(),new Xe(this.a)},eI.kb=function(t){return s_(this.a,t)},eI.Kb=function(){return Xu(),new Xe(this.a)},eI.Y=function(){return 1},Bp(zI,"SingletonImmutableSet",135),ZN(285,342,{207:1,3:1,22:1,19:1},Dv,lk),eI.Bb=function(t,e){return hN(this,t,e)},eI.Cb=function(t){return ST(this,t)},eI.Db=function(){return am(Fx(this,($u(),QD)))},eI.Eb=function(){return new Pl(this)},eI.Fb=function(t,e){return XN(this,t,e)},eI.Gb=function(t,e){return QT(this,t,e)},eI.Hb=function(t,e,n){var r,i,o;return Cm(n,"newCount"),Cm(e,"oldCount"),Uc(hh(this.b,t)),(o=this.c.a)?(i=Ty(iW,vM,26,1,12,1),r=gO(o,this.d,t,e,n,i),jd(this.c,o,r),i[0]==e):0==e&&(n>0&&hN(this,t,n),!0)},eI.Y=function(){return am(Fx(this,($u(),JD)))},Bp(zI,"TreeMultiset",285),ZN(619,658,{83:1},Xa),eI.Yb=function(){var t;return 0==(t=this.b.c)?ST(this.a,this.b.b):t},eI.Zb=function(){return this.b.b},Bp(zI,"TreeMultiset/1",619),ZN(620,1,qI,Pl),eI.H=function(){return function(t){var e;if(!dx(t))throw new Ei;return e=new Xa(t.c,t.a),t.b=e,t.a.i==t.c.a?t.a=null:t.a=t.a.i,e}(this)},eI.G=function(){return dx(this)},eI.I=function(){px(!!this.b),QT(this.c,this.b.b.b,0),this.b=null},Bp(zI,"TreeMultiset/2",620),ZN(205,17,bM);var eR=tm(zI,"TreeMultiset/Aggregate",205,RD,(function(){return $u(),Nx(Mo(eR,1),FI,205,0,[JD,QD])}));ZN(617,205,bM,du),eI._b=function(t){return t.c},eI.ac=function(t){return t?t.j:0},tm(zI,"TreeMultiset/Aggregate/1",617,eR,null),ZN(618,205,bM,wl),eI._b=function(t){return 1},eI.ac=function(t){return t?t.a:0},tm(zI,"TreeMultiset/Aggregate/2",618,eR,null),ZN(206,658,{83:1,206:1},Nw),eI.Yb=function(){return this.c},eI.Zb=function(){return this.b},eI.w=function(){return Or(),Ab(new ld(this.b,this.c))},eI.a=0,eI.c=0,eI.d=0,eI.j=0,Bp(zI,"TreeMultiset/AvlNode",206),ZN(616,1,{},d),Bp(zI,"TreeMultiset/Reference",616);var nR,rR=Bp(LI,"JavaScriptObject$",0);ZN(628,1,{}),Bp(LI,"Scheduler",628);var iR,oR,aR,sR,cR,uR,lR,hR,fR=0,dR=0,pR=-1;ZN(360,628,{},l),Bp(II,"SchedulerImpl",360),ZN(646,1,{}),eI.hc=function(){return null},eI.ic=function(){return null},eI.jc=function(){return null},eI.kc=function(){return null},eI.lc=function(){return null},Bp(mM,"JSONValue",646),ZN(214,646,{214:1},sr,en),eI.t=function(t){return!!dl(t,214)&&this.a==Uf(t,214).a},eI.gc=function(){return gr},eI.v=function(){return fh(this.a)},eI.hc=function(){return this},eI.w=function(){var t,e,n;for(n=new $o("["),e=0,t=this.a.length;e0&&(n.a+=","),ru(n,Sm(this,e));return n.a+="]",n.a},Bp(mM,"JSONArray",214),ZN(292,646,{},nn),eI.gc=function(){return vr},eI.ic=function(){return this},eI.w=function(){return yl(this.a)},eI.a=!1,Bp(mM,"JSONBoolean",292),ZN(371,72,dI,Hi),Bp(mM,"JSONException",371),ZN(435,646,{},b),eI.gc=function(){return xr},eI.w=function(){return pI},Bp(mM,"JSONNull",435),ZN(104,646,{104:1},rn),eI.t=function(t){return!!dl(t,104)&&this.a==Uf(t,104).a},eI.gc=function(){return br},eI.v=function(){return wv(oo(this.a))},eI.jc=function(){return this},eI.w=function(){return this.a+""},eI.a=0,Bp(mM,"JSONNumber",104),ZN(69,646,{69:1},Vi,on),eI.t=function(t){return!!dl(t,69)&&this.a==Uf(t,69).a},eI.gc=function(){return yr},eI.v=function(){return fh(this.a)},eI.kc=function(){return this},eI.w=function(){var t,e,n,r,i,o;for(o=new $o("{"),t=!0,n=0,r=(i=kw(this,Ty(AD,hI,2,0,5,1))).length;n>>28]|e[t>>24&15]<<4|e[t>>20&15]<<8|e[t>>16&15]<<12|e[t>>12&15]<<16|e[t>>8&15]<<20|e[t>>4&15]<<24|e[15&t]<<28);var t,e},eI.w=function(){return"("+this.a+","+this.b+")"},eI.a=0,eI.b=0;var gR=Bp(AM,"KVector",10);ZN(58,648,{3:1,5:1,22:1,19:1,58:1,20:1},lo),eI.ib=function(t){return Of(this,t)},eI.Q=function(){Mg(this)},eI.ub=function(t){return Sk(this,t)},eI.Y=function(){return this.b},eI.b=0,Bp(WI,"LinkedList",58),ZN(44,58,{44:1,286:1,3:1,5:1,22:1,19:1,58:1,20:1},Fr,Ah),eI.w=function(){var t,e,n;for(t=new $o("("),e=Sk(this,0);e.b!=e.d.c;)iu(t,(n=Uf(Sb(e),10)).a+","+n.b),e.b!=e.d.c&&(t.a+="; ");return t.a+=")",t.a},Bp(AM,"KVectorChain",44);var vR,bR,yR,mR,wR,xR,_R,ER,kR,TR=Ed(OM,"IProperty");ZN(131,1,{179:1,131:1,3:1},y),Bp(OM,"MapPropertyHolder",131),ZN(14,1,LM,Ld,Od,fd,If,kv,Qv),eI.F=function(t){return function(t,e){return Tg(t.b,e.mc())}(this,Uf(t,79))},eI.t=function(t){return mg(this,t)},eI.mc=function(){return this.b},eI.nc=function(){return this.c},eI.oc=function(){return this.d},eI.v=function(){return dk(this.b)},eI.w=function(){return this.b},Bp(OM,"Property",14),ZN(366,1,{23:1},m),eI.F=function(t){return-1},Bp(OM,"Property/1",366),ZN(367,1,{23:1},w),eI.F=function(t){return 1},Bp(OM,"Property/2",367),ZN(27,1,{27:1,22:1},es),eI.t=function(t){var e,n,r;return!!dl(t,27)&&(n=Uf(t,27),e=null==this.a?null==n.a:s_(this.a,n.a),r=null==this.b?null==n.b:s_(this.b,n.b),e&&r)},eI.v=function(){var t,e,n;return t=-65536&(e=null==this.a?0:K_(this.a)),e&xI^(-65536&(n=null==this.b?0:K_(this.b)))>>16&xI|t^(n&xI)<<16},eI.mb=function(){return new an(this)},eI.w=function(){return null==this.a&&null==this.b?"pair(null,null)":null==this.a?"pair(null,"+Uk(this.b)+")":null==this.b?"pair("+Uk(this.a)+",null)":"pair("+Uk(this.a)+","+Uk(this.b)+")"},Bp(IM,"Pair",27),ZN(431,1,qI,an),eI.G=function(){return!this.c&&(!this.b&&null!=this.a.a||null!=this.a.b)},eI.H=function(){if(!this.c&&!this.b&&null!=this.a.a)return this.b=!0,this.a.a;if(!this.c&&null!=this.a.b)return this.c=!0,this.a.b;throw new Ei},eI.I=function(){throw this.c&&null!=this.a.b?this.a.b=null:this.b&&null!=this.a.a&&(this.a.a=null),new $r},eI.b=!1,eI.c=!1,Bp(IM,"Pair/1",431),ZN(228,72,dI,Yi),Bp(MM,"UnsupportedConfigurationException",228),ZN(99,72,dI,zi),Bp(MM,"UnsupportedGraphException",99),ZN(103,17,{103:1,3:1,23:1,17:1},ns);var CR,NR,AR,SR,OR,LR,IR=tm(jM,"Alignment",103,RD,(function(){return fk(),Nx(Mo(IR,1),FI,103,0,[mR,_R,ER,kR,wR,xR])}));ZN(59,17,{59:1,3:1,23:1,17:1},us);var MR,PR,DR,RR,jR,GR=tm(jM,"Direction",59,RD,(function(){return E_(),Nx(Mo(GR,1),FI,59,0,[OR,SR,AR,NR,LR])}));ZN(107,17,{107:1,3:1,23:1,17:1},ls);var BR,FR,HR,YR,zR,UR=tm(jM,"EdgeLabelPlacement",107,RD,(function(){return Gw(),Nx(Mo(UR,1),FI,107,0,[jR,PR,DR,RR])}));ZN(122,17,{122:1,3:1,23:1,17:1},hs);var VR,qR,XR,WR,$R,ZR,KR,QR=tm(jM,"EdgeRouting",122,RD,(function(){return k_(),Nx(Mo(QR,1),FI,122,0,[zR,HR,FR,YR])}));ZN(133,17,{133:1,3:1,23:1,17:1},fs);var JR,tj,ej,nj,rj=tm(jM,"EdgeType",133,RD,(function(){return DT(),Nx(Mo(rj,1),FI,133,0,[ZR,WR,KR,qR,$R,XR])}));ZN(166,17,{166:1,3:1,23:1,17:1},ds);var ij,oj,aj,sj,cj,uj,lj,hj,fj,dj,pj,gj,vj,bj,yj,mj,wj,xj,_j,Ej,kj,Tj,Cj,Nj,Aj,Sj,Oj,Lj,Ij,Mj,Pj,Dj,Rj,jj,Gj,Bj,Fj,Hj,Yj,zj,Uj,Vj,qj,Xj,Wj,$j,Zj,Kj,Qj,Jj,tG,eG,nG,rG,iG,oG,aG,sG,cG,uG=tm(jM,"HierarchyHandling",166,RD,(function(){return T_(),Nx(Mo(uG,1),FI,166,0,[ej,tj,nj])}));ZN(41,17,{41:1,3:1,23:1,17:1},ps);var lG,hG,fG,dG,pG,gG,vG=tm(jM,"NodeLabelPlacement",41,RD,(function(){return yN(),Nx(Mo(vG,1),FI,41,0,[eG,tG,rG,cG,sG,aG,iG,oG,nG])}));ZN(100,17,{100:1,3:1,23:1,17:1},gs);var bG,yG,mG,wG,xG,_G,EG,kG=tm(jM,"PortAlignment",100,RD,(function(){return OE(),Nx(Mo(kG,1),FI,100,0,[gG,pG,hG,fG,dG])}));ZN(28,17,{28:1,3:1,23:1,17:1},vs);var TG,CG,NG,AG,SG=tm(jM,"PortConstraints",28,RD,(function(){return bT(),Nx(Mo(SG,1),FI,28,0,[EG,_G,xG,yG,wG,mG])}));ZN(149,17,{149:1,3:1,23:1,17:1},bs);var OG,LG,IG,MG,PG,DG,RG,jG,GG,BG,FG,HG,YG,zG,UG,VG,qG,XG,WG,$G,ZG,KG,QG=tm(jM,"PortLabelPlacement",149,RD,(function(){return Rm(),Nx(Mo(QG,1),FI,149,0,[AG,NG,CG])}));ZN(32,17,{32:1,3:1,23:1,17:1},ys);var JG,tB,eB,nB,rB,iB=tm(jM,"PortSide",32,RD,(function(){return mL(),Nx(Mo(iB,1),FI,32,0,[ZG,IG,LG,$G,KG])}));ZN(150,17,{150:1,3:1,23:1,17:1},ms);var oB,aB,sB,cB,uB,lB=tm(jM,"SizeConstraint",150,RD,(function(){return LE(),Nx(Mo(lB,1),FI,150,0,[nB,rB,eB,tB])}));ZN(139,17,{139:1,3:1,23:1,17:1},ws);var hB,fB,dB,pB,gB,vB,bB,yB,mB,wB,xB,_B,EB,kB,TB,CB,NB,AB,SB,OB,LB,IB,MB,PB=tm(jM,"SizeOptions",139,RD,(function(){return zT(),Nx(Mo(PB,1),FI,139,0,[cB,uB,sB,aB])}));ZN(62,1,{62:1},ac,_g),eI.t=function(t){var e;return!(null==t||!dl(t,62))&&(e=Uf(t,62),Ag(this.d,e.d)&&Ag(this.e,e.e)&&Ag(this.c,e.c)&&Ag(this.b,e.b))},eI.v=function(){return $x(Nx(Mo(TD,1),GI,1,4,[this.d,this.e,this.c,this.b]))},eI.w=function(){return"Rect[x="+this.d+",y="+this.e+",w="+this.c+",h="+this.b+"]"},eI.b=0,eI.c=0,eI.d=0,eI.e=0,Bp(YM,"Rectangle",62),ZN(283,62,{283:1,62:1},Hr),eI.a=0,Bp(zM,"LabelGroup",283),ZN(67,17,{67:1,3:1,23:1,17:1},kg);var DB,RB,jB,GB=tm(zM,"LabelLocation",67,RD,SE);ZN(225,17,{225:1,3:1,23:1,17:1},xs);var BB,FB,HB,YB,zB,UB=tm(zM,"TextAlignment",225,RD,(function(){return Hb(),Nx(Mo(UB,1),FI,225,0,[RB,DB,jB])}));ZN(589,1,{},bO),eI.a=0,eI.b=!1,eI.d=0,eI.f=0,eI.k=0,eI.r=0,eI.s=0,Bp(YM,"LabelAndNodeSizeProcessor/NodeData",589),ZN(171,17,{171:1,3:1,23:1,17:1},_s);var VB,qB,XB,WB,$B,ZB,KB,QB,JB,tF,eF,nF,rF,iF=tm(YM,"LabelSide",171,RD,(function(){return IE(),Nx(Mo(iF,1),FI,171,0,[zB,FB,HB])}));ZN(590,1,{},sn),eI.b=!0,eI.c=!0,eI.d=!0,eI.e=!0,Bp(YM,VM,590),ZN(121,1,XM),eI.t=function(t){var e;return!!dl(t,121)&&(e=Uf(t,121),this.d==e.d&&this.a==e.a&&this.b==e.b&&this.c==e.c)},eI.v=function(){var t;return t=wv(oo(this.b))<<16,(t|=wv(oo(this.a))&xI)^(wv(oo(this.c))<<16|wv(oo(this.d))&xI)},eI.w=function(){return"[top="+this.d+",left="+this.b+",bottom="+this.a+",right="+this.c+"]"},eI.a=0,eI.b=0,eI.c=0,eI.d=0,Bp(YM,"Spacing",121),ZN(232,121,XM,Yr,xh,qh),Bp(YM,"Spacing/Insets",232),ZN(65,121,{286:1,121:1,65:1,3:1,5:1},zr,_h,Xh),Bp(YM,"Spacing/Margins",65),ZN(364,1,{},Dk),eI.c=!1,eI.d=null,eI.g=null,Bp(aP,"JsonGraphImporter",364),ZN(417,14,LM,hc),Bp(aP,"LayoutOptionResolver/DummyProperty",417),ZN(348,1,{},Ee),Bp(aP,"RecursiveLGraphLayout",348),ZN(73,99,{73:1,3:1,54:1,46:1},Ui,$l,xp);var oF,aF,sF,cF,uF=Bp(aP,"UnsupportedJsonGraphException",73);ZN(380,1,{},dg),Bp(lP,"GraphConfigurator",380),ZN(49,1,{},iE),Bp(lP,"IntermediateProcessingConfiguration",49),ZN(365,1,{},jb),Bp(lP,"KlayLayered",365),ZN(577,1,{},Xw),eI.i=0,Bp(pP,"ComponentsToCGraphTransformer",577),ZN(578,1,{},A),eI.tc=function(t,e){return zo(t.wc(),e.wc())},eI.uc=function(t,e){return zo(t.xc(),e.xc())},Bp(pP,"ComponentsToCGraphTransformer/1",578),ZN(25,1,{25:1}),eI.k=0,eI.o=null,eI.p=!0,eI.r=dP;var lF,hF,fF,dF,pF,gF=Bp(gP,"CNode",25);ZN(198,25,{198:1,25:1},rl,ow),eI.vc=function(){this.b.d=this.j.d,this.b.e=this.j.e},eI.wc=function(){return null!=this.a?oo(this.a):this.c.i},eI.xc=function(){return null!=this.a?oo(this.a):this.c.i},eI.w=function(){return""},Bp(pP,"ComponentsToCGraphTransformer/CRectNode",198),ZN(549,1,{},S),Bp(pP,"OneDimensionalComponentsCompaction",549),ZN(550,1,hM,O),eI.B=function(t){return vx(),Vd(),0!=Uf(Uf(t,27).a,25).f.f?AX:NX},Bp(pP,"OneDimensionalComponentsCompaction/lambda$0$Type",550),ZN(551,1,hM,L),eI.B=function(t){return vx(),Vd(),lE(Uf(Uf(t,27).a,25).n,Uf(Uf(t,27).b,59))||0!=Uf(Uf(t,27).a,25).f.f&&lE(Uf(Uf(t,27).a,25).n,Uf(Uf(t,27).b,59))?AX:NX},Bp(pP,"OneDimensionalComponentsCompaction/lambda$1$Type",551),ZN(324,1,{},_p),Bp(gP,"CGraph",324),ZN(78,1,{78:1},ZE),eI.b=0,eI.c=0,eI.d=0,eI.f=0,eI.i=!0,eI.j=dP,Bp(gP,"CGroup",78),ZN(470,1,{},I),eI.tc=function(t,e){return Fo(t.wc(),e.wc())},eI.uc=function(t,e){return Fo(t.xc(),e.xc())},Bp(gP,"ISpacingsHandler/1",470),ZN(323,1,{},mN),eI.e=!1;var vF=Bp(gP,"OneDimensionalCompactor",323);ZN(554,1,hM,_),eI.B=function(t){return Wd(),Vd(),0!=Uf(Uf(t,27).a,25).f.f?AX:NX},Bp(gP,"OneDimensionalCompactor/lambda$0$Type",554),ZN(335,1,{},Ff),eI.a=!1,eI.b=!1,eI.c=!1,eI.d=!1,Bp(gP,"Quadruplet",335),ZN(587,1,{},E),eI.Cc=function(t){var e,n,r,i,o,a,s,c,u,l,h,f,d,p,g,v;for(l=fP,r=new Kn(t.a.b);r.an.j.d||n.j.d==i.j.d&&n.j.c0&&(Lf(t.c,new gf(e.c,e.d,t.d)),t.b=e.d)}(this,Uf(t,48))},eI.b=0,Bp(yP,"RectilinearConvexHull/MaximalElementsEventHandler",243),ZN(571,1,TI,M),eI.$b=function(t,e){return rg(t,e)},Bp(yP,"RectilinearConvexHull/MaximalElementsEventHandler/lambda$0$Type",571),ZN(570,1,{160:1},ey),eI.Ec=function(t){!function(t,e){var n;t.d&&(e.c!=t.e.c||function(t,e){return jw(),t==yF&&e==mF||t==yF&&e==wF||t==xF&&e==wF||t==xF&&e==mF}(t.e.b,e.b))&&(Lf(t.f,t.d),t.a=t.d.d+t.d.c,t.d=null,t.e=null),function(t){return t==yF||t==mF}(e.b)?t.c=e:t.b=e,(e.b==(jw(),yF)&&!e.a||e.b==mF&&e.a||e.b==wF&&e.a||e.b==xF&&!e.a)&&t.c&&t.b&&(n=new _g(t.a,t.c.d,e.c-t.a,t.b.d-t.c.d),t.d=n,t.e=e)}(this,Uf(t,48))},eI.a=0,eI.b=null,eI.c=null,eI.d=null,eI.e=null,Bp(yP,"RectilinearConvexHull/RectangleEventHandler",570),ZN(572,1,TI,P),eI.$b=function(t,e){return Fb(),Uf(t,48).c==Uf(e,48).c?Ox(Uf(e,48).d,Uf(t,48).d):Ox(Uf(t,48).c,Uf(e,48).c)},Bp(yP,"RectilinearConvexHull/lambda$0$Type",572),ZN(573,1,TI,D),eI.$b=function(t,e){return Fb(),Uf(t,48).c==Uf(e,48).c?Ox(Uf(t,48).d,Uf(e,48).d):Ox(Uf(t,48).c,Uf(e,48).c)},Bp(yP,"RectilinearConvexHull/lambda$1$Type",573),ZN(574,1,TI,R),eI.$b=function(t,e){return Fb(),Uf(t,48).c==Uf(e,48).c?Ox(Uf(e,48).d,Uf(t,48).d):Ox(Uf(e,48).c,Uf(t,48).c)},Bp(yP,"RectilinearConvexHull/lambda$2$Type",574),ZN(575,1,TI,j),eI.$b=function(t,e){return Fb(),Uf(t,48).c==Uf(e,48).c?Ox(Uf(t,48).d,Uf(e,48).d):Ox(Uf(e,48).c,Uf(t,48).c)},Bp(yP,"RectilinearConvexHull/lambda$3$Type",575),ZN(576,1,TI,G),eI.$b=function(t,e){return function(t,e){var n;if(Fb(),t.c==e.c){if(t.b==e.b||function(t,e){return jw(),t==yF&&e==xF||t==xF&&e==yF||t==wF&&e==mF||t==mF&&e==wF}(t.b,e.b)){if(n=function(t){return t==yF||t==xF}(t.b)?1:-1,t.a&&!e.a)return n;if(!t.a&&e.a)return-n}return Bu(t.b.e,e.b.e)}return Ox(t.c,e.c)}(t,e)},Bp(yP,"RectilinearConvexHull/lambda$4$Type",576),ZN(469,1,{},Tb),Bp(yP,"Scanline",469),ZN(662,1,{}),Bp(wP,"AbstractGraphPlacer",662),ZN(222,1,{222:1},Kh),Bp(wP,"ComponentGroup",222),ZN(434,662,{},Mr),eI.Fc=function(t,e){var n,r,i,o,a,s,c,u,l,h,f,d;if(this.a.c=Ty(TD,GI,1,0,4,1),e.b.c=Ty(TD,GI,1,0,4,1),t.V())return e.e.a=0,void(e.e.b=0);for(M_(e,i=Uf(t.sb(0),55)),r=t.mb();r.G();)z_(this,Uf(r.H(),55));for(f=new uo,d=2*Uf(kx(i,($L(),wq)),15).a,s=new Kn(this.a);s.ah&&(x=0,_+=l+m,l=0),iS(o,x+(p=o.d).a,_+p.b),p.a=0,p.b=0,n=Fo(n,x+b.a),l=Fo(l,b.b),x+=b.a+m;if(e.e.a=n,e.e.b=_+l,v=Uf(kx(e,wq),15).a,io(oo(Sh(kx(i,(ZL(),Hq)))))){for(GL(r=new B,t,v),u=t.mb();u.G();)Ih(Lc(Uf(u.H(),55).d),r.e);Ih(Lc(e.e),r.a)}gy(e,t)}else(y=Uf(t.sb(0),55))!=e&&(e.b.c=Ty(TD,GI,1,0,4,1),gS(e,y,0,0),M_(e,y),kd(e.a,y.a),e.e.a=y.e.a,e.e.b=y.e.b)},Bp(wP,"SimpleRowGraphPlacer",432),ZN(433,1,TI,H),eI.$b=function(t,e){return function(t,e){var n;return 0==(n=e.k-t.k)?Ox(t.e.a*t.e.b,e.e.a*e.e.b):n}(Uf(t,55),Uf(e,55))},Bp(wP,"SimpleRowGraphPlacer/1",433),ZN(369,1,kP,ke),eI.sc=function(t,e){UL(t,e)},Bp(TP,"CompoundGraphPostprocessor",369),ZN(370,1,mP,Y),eI.D=function(t){var e;return!!(e=Uf(kx(Uf(t,114).b,(JL(),kj)),44))&&0!=e.b},Bp(TP,"CompoundGraphPostprocessor/1",370),ZN(368,1,kP,Xc),eI.sc=function(t,e){ik(this,t,e)},Bp(TP,"CompoundGraphPreprocessor",368),ZN(187,1,{187:1},S_),eI.c=!1,Bp(TP,"CompoundGraphPreprocessor/ExternalPort",187),ZN(114,1,{114:1},vf),eI.w=function(){return ph(this.c)+":"+Pm(this.b)},Bp(TP,"CrossHierarchyEdge",114),ZN(310,1,TI,cn),eI.$b=function(t,e){return function(t,e,n){var r,i;return e.c==(nw(),Rq)&&n.c==Dq?-1:e.c==Dq&&n.c==Rq?1:(r=_E(e.a,t.a),i=_E(n.a,t.a),e.c==Rq?i-r:r-i)}(this,Uf(t,114),Uf(e,114))},Bp(TP,"CrossHierarchyEdgeComparator",310),ZN(147,131,{179:1,131:1,147:1,3:1}),eI.k=0,Bp(NP,"LGraphElement",147),ZN(12,147,{179:1,131:1,12:1,147:1,3:1},jg),eI.w=function(){return Pm(this)};var IF=Bp(NP,"LEdge",12);ZN(55,147,{179:1,131:1,55:1,147:1,3:1,22:1},Bm),eI.mb=function(){return new Kn(this.c)},eI.w=function(){return 0==this.c.c.length?"G-unlayered"+nC(this.b):0==this.b.c.length?"G-layered"+nC(this.c):"G[layerless"+nC(this.b)+", layers"+nC(this.c)+"]"};var MF=Bp(NP,"LGraph",55);ZN(273,1,{}),eI.pc=function(){return this.e.j},Bp(NP,"LGraphAdapters/AbstractLShapeAdapter",273),ZN(240,1,{627:1},un),eI.b=null,Bp(NP,"LGraphAdapters/LEdgeAdapter",240),ZN(325,1,{},Ts),eI.pc=function(){return this.a.e},eI.b=null,eI.c=!1,Bp(NP,"LGraphAdapters/LGraphAdapter",325),ZN(224,273,{129:1,224:1},ln),Bp(NP,"LGraphAdapters/LLabelAdapter",224),ZN(555,273,{626:1},Cs),eI.a=null,eI.b=null,eI.c=!1,Bp(NP,"LGraphAdapters/LNodeAdapter",555),ZN(556,273,{161:1},Ns),eI.a=null,eI.b=null,eI.c=null,eI.d=!1,Bp(NP,"LGraphAdapters/LPortAdapter",556),ZN(557,1,TI,z),eI.$b=function(t,e){return function(t,e){var n,r,i,o;if(0!=(o=t.g.e-e.g.e))return o;if(n=Uf(kx(t,(JL(),Yj)),24),r=Uf(kx(e,Yj),24),n&&r&&0!=(i=n.a-r.a))return i;switch(t.g.e){case 1:return Ox(t.i.a,e.i.a);case 2:return Ox(t.i.b,e.i.b);case 3:return Ox(e.i.a,t.i.a);case 4:return Ox(e.i.b,t.i.b);default:throw new ko(AP)}}(Uf(t,7),Uf(e,7))},Bp(NP,"LGraphAdapters/PortComparator",557),ZN(168,1,{168:1},je,Hg),eI.t=function(t){var e;return!!dl(t,168)&&(e=Uf(t,168),this.d==e.d&&this.a==e.a&&this.b==e.b&&this.c==e.c)},eI.v=function(){var t;return t=wv(oo(this.b))<<16,(t|=wv(oo(this.a))&xI)^(wv(oo(this.c))<<16|wv(oo(this.d))&xI)},eI.w=function(){return"Insets[top="+this.d+",left="+this.b+",bottom="+this.a+",right="+this.c+"]"},eI.a=0,eI.b=0,eI.c=0,eI.d=0,Bp(NP,"LInsets",168),ZN(165,147,{179:1,131:1,147:1,165:1,3:1}),Bp(NP,"LShape",165),ZN(33,165,{179:1,131:1,147:1,33:1,165:1,3:1},Eu),eI.w=function(){return null==this.a?"l_"+this.k:"l_"+this.a},Bp(NP,"LLabel",33),ZN(9,165,{179:1,131:1,147:1,9:1,165:1,3:1},Tk),eI.w=function(){return bv(this)};var PF,DF,RF,jF,GF,BF,FF=Bp(NP,"LNode",9);ZN(132,17,{132:1,3:1,23:1,17:1},Ss);var HF,YF,zF,UF,VF,qF,XF=tm(NP,"LNode/NodeType",132,RD,(function(){return RT(),Nx(Mo(XF,1),FI,132,0,[GF,jF,DF,BF,RF,PF])}));ZN(7,165,{179:1,131:1,147:1,7:1,165:1,3:1},TT),eI.w=function(){var t;return null==(t=ay(this))?"p_"+this.k:"p_"+t};var WF=Bp(NP,"LPort",7);ZN(399,1,mP,U),eI.D=function(t){return jh(t)},Bp(NP,"LPort/1",399),ZN(400,1,mP,V),eI.D=function(t){return Rh(t)},Bp(NP,"LPort/2",400),ZN(401,1,mP,q),eI.D=function(t){return Uf(t,7).g==(mL(),IG)},Bp(NP,"LPort/3",401),ZN(402,1,mP,X),eI.D=function(t){return Uf(t,7).g==(mL(),LG)},Bp(NP,"LPort/4",402),ZN(403,1,mP,W),eI.D=function(t){return Uf(t,7).g==(mL(),$G)},Bp(NP,"LPort/5",403),ZN(404,1,mP,$),eI.D=function(t){return Uf(t,7).g==(mL(),KG)},Bp(NP,"LPort/6",404),ZN(190,1,aM,hn),eI.mb=function(){return new fn(new Kn(this.a.b))},Bp(NP,"LPort/7",190),ZN(405,1,qI,fn),eI.H=function(){return Uf(Jv(this.a),12).c},eI.G=function(){return pl(this.a)},eI.I=function(){fp(this.a)},Bp(NP,"LPort/7/1",405),ZN(169,1,aM,dn),eI.mb=function(){return new pn(new Kn(this.a.e))},Bp(NP,"LPort/8",169),ZN(304,1,qI,pn),eI.H=function(){return Uf(Jv(this.a),12).d},eI.G=function(){return pl(this.a)},eI.I=function(){fp(this.a)},Bp(NP,"LPort/8/1",304),ZN(16,147,{179:1,131:1,147:1,16:1,3:1,22:1},Ep),eI.mb=function(){return new Kn(this.a)},eI.w=function(){return"L_"+Qy(this.b.c,this,0)+nC(this.a)},Bp(NP,"Layer",16),ZN(437,1,kP,Z),eI.sc=function(t,e){var n,r,i,o;for(HE(e,"Big nodes intermediate-processing",1),this.a=t,r=new Kn(this.a.c);r.ao?50:o,n=new Re,d=o+this.d,l=new Kn(h);l.ad){for(f=1,r=a.j.a;r>o;)++f,r=(a.j.a-(f-1)*this.d)/f;Lf(n,new Bb(this,a,f,r))}for(s=new Kn(n);s.aa?50:a,n=new Re,p=a+this.d,h=new Kn(f);h.ap){for(d=1,r=s.j.a;r>a;)++d,r=(s.j.a-(d-1)*this.d)/d;Lf(n,new nv(this,s,d))}for(c=new Kn(n);c.a0||l.g==KG&&l.b.c.length-l.e.c.length<0)){n=!1;break}if(l.g==KG)for(i=new Kn(l.e);i.a0&&(t.a=c+(f-1)*i,e.d.b+=t.a,e.e.b+=t.a),0!=d.a.Y()&&(f=fO(new wC(1,i),e,d,p,e.e.b+c-e.d.b))>0&&(e.e.b+=c+(f-1)*i)}(this,t,n),function(t){var e,n,r,i,o,a,s,c,u,l,h,f,d,p,g,v,b,y,m,w,x,_,E;for(y=new Re,l=new Kn(t.c);l.a0&&RS((_y(0,n.c.length),Uf(n.c[0],16)),t),n.c.length>1&&RS(Uf(gd(n,n.c.length-1),16),t),H_(e)},Bp(SP,"HierarchicalPortPositionProcessor",454),ZN(471,1,kP,ht),eI.sc=function(t,e){var n,r,i,o,a,s,c,u,l,h,f;for(HE(e,"Hyperedge merging",1),l=new Kv(t.c,0);l.b(d=f.c.length)+1?Lf(l,new es(c,(_y(h=(s+d)/2|0,a.c.length),Uf(a.c[h],9)))):d>s+1&&Lf(l,new es(c,(_y(h=((d-s)/2|0)-1,f.c.length),Uf(f.c[h],9))))}for(v=new Kn(l);v.a=2){for(c=!0,_y(1,s.c.length),p=Uf(s.c[1],16),h=new Kn(r.a);h.a=2){for(c=!0,g=Uf(gd(s,s.c.length-2),16),h=new Kn(i.a);h.an?c:n}t.e.b=c-u,t.d.b-=u,H_(e)},Bp(SP,"LayerSizeAndGraphHeightCalculator",496),ZN(497,1,kP,St),eI.sc=function(t,e){var n,r,i,o;for(HE(e,"Edge joining",1),n=io(oo(Sh(kx(t,(ZL(),Bq))))),r=new Kn(t.c);r.a0&&Lf(t.p,l),Lf(t.o,l);d=c+(e-=r),u+=e*t.e,Kb(t.a,s,W_(d)),Kb(t.b,s,u),t.j=Yo(t.j,d),t.k=Fo(t.k,u),t.d+=e,e+=g}}(this),this.q=Uf(kx(t,(ZL(),aX)),109),c=Uf(kx(this.g,sX),24).a,i=new Mt,this.q.e){case 2:case 1:default:LO(this,i);break;case 3:for(this.q=(nA(),aY),LO(this,i),a=0,o=new Kn(this.a);o.athis.j&&(this.q=tY,LO(this,i));break;case 4:for(this.q=(nA(),aY),LO(this,i),s=0,r=new Kn(this.b);r.athis.k&&(this.q=rY,LO(this,i));break;case 6:LO(this,new _n(wv(Mc(this.f.length*c/100))));break;case 5:LO(this,new En(wv(Mc(this.d*c/100))))}!function(t,e){var n,r,i,o,a,s;for(i=new Re,n=0;n<=t.i;n++)(r=new Ep(e)).k=t.i-n,i.c[i.c.length]=r;for(s=new Kn(t.o);s.a=2){for(p=!0,n=Uf(Jv(h=new Kn(o.f)),7);h.a(r-=t.a)?i:r}return i}(this,t),d=t.c.c.length,g=function(t,e){var n,r,i,o,a;for(r=0,n=new Kn(e.c);n.a(a=(i=Uf(Jv(o),9)).j.a+i.e.c+i.e.b+t.b)?r:a;return r}(this,t),N=d*g,(r=(i=Uf(kx(t,(JL(),pj)),59))==(E_(),AR)||i==SR||i==OR?Uf(kx(t,AV),15).a:1/Uf(kx(t,AV),15).a)>(n=N/p))H_(e);else{T=0,o=jP;do{f=o,o=(n=N/++T/(p*T))-r<=0?0-(n-r):n-r}while(n>r);for(fT?1:T)|0,w=E,O=!0;u=E&&(O=!0),++w,++u}for(l=new Kv(t.c,0);l.b "+this.a+" "+ph(this.c)},eI.a=0,eI.b=0,eI.d=0,Bp(SP,"SplineSelfLoopRouter/LoopPadding",91),ZN(521,1,mP,Jf),eI.D=function(t){return function(t,e){return!!function(t){switch(t.e){case 0:return iU;case 1:return eU;case 2:return tU;case 3:return sU;case 4:return aU;case 5:return fU;case 6:return hU;case 7:return oU;case 8:return nU;case 9:return rU;case 11:return uU;case 10:return cU;default:return lU}}(t.b).kb(e.c)&&(function(t){return t==Zz||t==Xz}(t.b)?!(Wf(e.d,t.c,t.a)&&Wf(e.a,t.c,t.a)):Wf(e.d,t.c,t.a)&&Wf(e.a,t.c,t.a))}(this,Uf(t,91))},eI.a=0,eI.c=0,Bp(SP,"SplineSelfLoopRouter/LoopPadding/EnclosingPredicate",521),ZN(520,1,TI,te),eI.$b=function(t,e){return function(t,e){return Ox(e.b,t.b)}(Uf(t,91),Uf(e,91))},Bp(SP,"SplineSelfLoopRouter/LoopPadding/MarginComparator",520),ZN(196,1,mP,kn),eI.D=function(t){return Uf(t,91).c==this.a},Bp(SP,"SplineSelfLoopRouter/LoopPadding/PortSidePredicate",196),ZN(195,1,{195:1},_b),eI.c=0,eI.d=0,eI.e=0,Bp(SP,"SplineSelfLoopRouter/SelfLoopEdge",195),ZN(519,1,TI,ee),eI.$b=function(t,e){return function(t,e){return t.d-e.d}(Uf(t,195),Uf(e,195))},Bp(SP,"SplineSelfLoopRouter/SelfLoopEdge/StepSizeComparator",519),ZN(82,25,{25:1,82:1},NN),eI.vc=function(){var t,e;for(t=Sk(this.a,0);t.b!=t.d.c;)Uf(Sb(t),10).a=this.j.d;for(e=Sk(this.c,0);e.b!=e.d.c;)Uf(Sb(e),10).a=this.j.d},eI.wc=function(){return this.b},eI.xc=function(){return this.e},eI.w=function(){return nC(new Un(this.d.a))},eI.b=0,eI.e=0,Bp(HP,"CLEdge",82),ZN(93,25,{25:1,93:1},rS),eI.vc=function(){this.b.i.a=this.j.d+this.b.e.b},eI.wc=function(){return this.b.g==(RT(),DF)?0:this.a},eI.xc=function(){return this.b.g==(RT(),DF)?0:this.c},eI.w=function(){return Uk(kx(this.b,($L(),oq)))},eI.a=0,eI.c=0,Bp(HP,"CLNode",93),ZN(175,17,{175:1,3:1,23:1,17:1},Ds);var dY,pY,gY,vY,bY,yY,mY,wY=tm(HP,"ConstraintCalculationStrategy",175,RD,(function(){return Nb(),Nx(Mo(wY,1),FI,175,0,[lY,hY])}));ZN(125,17,{125:1,3:1,23:1,17:1},Rs);var xY,_Y,EY,kY=tm(HP,"GraphCompactionStrategy",125,RD,(function(){return pC(),Nx(Mo(kY,1),FI,125,0,[yY,gY,mY,bY,vY,pY])}));ZN(455,1,kP,Uu),eI.sc=function(t,e){var n,r,i;if((r=Uf(kx(t,(ZL(),lX)),125))!=(pC(),yY)){switch(HE(e,"Horizontal Compaction",1),this.a=t,vo(n=new mN(function(t,e){var n,r,i;t.d=e,my(t.b),t.c=!1;t:for(n=new Kn(t.d.c);n.ao.j.e+o.j.b?d.d=!0:(d.d=!0,d.c=!0))),r.b!=r.d.c&&(e=n);d&&(a=Uf(Jp(y,c.d.f),25),e.ba.j.e+a.j.b?d.d=!0:(d.d=!0,d.c=!0))}for(u=Ip(q_(v));tE(u);)0!=(c=Uf(Nv(u),12)).a.b&&(e=Uf(Fl(c.a),10),c.d.g==(mL(),IG)&&((E=new LA(e,new ts(e.a,o.j.e),o,c)).c=!0,_.c[_.c.length]=E),c.d.g==$G&&((E=new LA(e,new ts(e.a,o.j.e+o.j.b),o,c)).d=!0,_.c[_.c.length]=E))}if(0!=_.c.length){for(zg(),xb(_,null),_y(0,_.c.length),i=new NN(Uf(_.c[0],142),t.d),f=1;f<_.c.length;f++)_y(f,_.c.length),x=Uf(_.c[f],142),!Xy(i.j.d,x.j)||DE(i.j.e+i.j.b,x.k)||DE(x.n,i.j.e)?(Lf(t.a.b,i),i=new NN(x,t.d)):_O(i,x);Lf(t.a.b,i)}_.c=Ty(TD,GI,1,0,4,1),function(t){var e,n,r,i;for(t.a.a.c=Ty(TD,GI,1,0,4,1),r=new Kn(t.a.b);r.a(r=Math.ceil(r))?0:r,e.o&&o.o&&dl(e,82)&&dl(o,82)&&!Im(Km(Uf(e,82).d,Uf(o,82).d))?(i=ol(new Gr,t.d),s=wv(Mc(o.g.a-e.g.a)),mA(ga(ba(ya(va(new jr,0>s?0:s),1),i),t.c[e.f.d])),mA(ga(ba(ya(va(new jr,0>-s?0:-s),1),i),t.c[o.f.d]))):(u=1,(dl(e,82)&&dl(o,93)||dl(o,82)&&dl(e,93))&&(u=2),mA(ga(ba(ya(va(new jr,wv(r)),u),t.c[e.f.d]),t.c[o.f.d]))))}(this),function(t){var e,n,r,i,o,a,s,c,u,l,h,f,d,p,g,v,b;for(_l(),l=new kr,c=new $s,r=new Kn(t.a.a.b);r.ae.j.d){if((d=t.c[e.f.d])==(v=t.c[h.f.d]))continue;mA(ga(ba(ya(va(new jr,1),100),d),v))}}}(this),function(t){var e,n,r,i,o,a;for(i=new lo,r=new Kn(t.d.a);r.a1)for(e=ol(wa(new Gr,t.b++),t.d),a=Sk(i,0);a.b!=a.d.c;)o=Uf(Sb(a),61),mA(ga(ba(ya(va(new jr,1),0),e),o))}(this),vS(Jh(this.d),new Uh),i=new Kn(this.a.a.b);i.a0&&(this.a[B.k]=Z++)}else{for(M=0,F=new Kn(C.f);F.a0&&++Z}for(et=0,S=0,I=e.length;S0;){for(Lu(z.b>0),Y=0,a=new Kn((B=Uf(z.a.sb(z.c=--z.b),7)).b);a.a0&&(B.g==(mL(),IG)?(this.a[B.k]=et,++et):(this.a[B.k]=et+P+R,++R))}et+=R}else{for(M=0,F=new Kn(C.f);F.a0&&++et}for(H=new kr,p=new Ji,N=0,O=t.length;Nl.c&&(l.c=U)):B.f.d==$&&(Ul.d&&(l.d=U));for(Hk(g,0,g.length,(ec(),ec(),HX)),tt=Ty(iW,vM,26,g.length,12,1),n=Ty(iW,vM,26,et+1,12,1),b=0;b0;)x%2>0&&(r+=it[x+1]),++it[x=(x-1)/2|0];for(k=Ty(CY,GI,158,2*g.length,0,1),w=0;we.f?1:t.ge.g?1:t.b-e.b}(this,Uf(t,204))},eI.b=0,eI.c=0,eI.d=0,eI.f=0,eI.g=0;var TY=Bp(YP,"BetweenLayerHyperedgeAllCrossingsCounter/Hyperedge",204);ZN(158,1,{158:1,23:1},Eg),eI.F=function(t){return function(t,e){return t.ce.c?1:t.be.b?1:t.a!=e.a?t.a.b-e.a.b:0==t.d&&1==e.d?-1:1==t.d&&0==e.d?1:0}(this,Uf(t,158))},eI.b=0,eI.c=0,eI.d=0;var CY=Bp(YP,"BetweenLayerHyperedgeAllCrossingsCounter/HyperedgeCorner",158);ZN(611,339,{},Xi),eI.Gc=function(t,e){var n,r,i,o,a,s,c,u,l,h,f,d,p,g,v,b,y,m,w,x,_,E;for(E=0,i=0,a=t[0].d,m=e[0].d,u=0,h=e.length;u0;){for(Lu(y.b>0),b=0,r=new Kn((g=Uf(y.a.sb(y.c=--y.b),7)).b);r.a0&&(g.g==(mL(),IG)?(this.a[g.k]=E,++E):(this.a[g.k]=E+d+p,++p),i+=b)}E+=p}else{for(f=0,v=new Kn(s.f);v.a0&&(++E,i+=f)}for(w=Ty(iW,vM,26,i,12,1),o=0,c=0,l=t.length;c0;)o%2>0&&(r+=s[o+1]),++s[o=(o-1)/2|0];return r}(E,i,w),n},Bp(YP,"BetweenLayerStraightEdgeAllCrossingsCounter",611),ZN(338,1,{},gC),eI.b=0,eI.e=!1,Bp(YP,"CrossingMatrixFiller",338),ZN(447,1,kP,ne),eI.sc=function(t,e){var n,r;HE(e,"Greedy switch crossing reduction",1),this.e=Uf(kx(t,(ZL(),Qq)),110),t.c.c.length<2||this.e==(TO(),lV)||(function(t,e){var n,r,i,o,a,s,c,u;for(t.f=e,i=e.c.c.length,t.a=Ty(FF,hI,51,i,0,2),t.d=Ty(FF,hI,51,i,0,2),t.g=Ty(FF,hI,51,i,0,2),a=new Kv(e.c,0);a.bPh(t.d,Gu(e.a,e.b))?-1:t.c==e.c&&Gu(t.a,t.b)==Gu(t.a,t.b)?0:1}(this,Uf(t,226))},eI.w=function(){return"ComparableEdgeAndPort [port="+this.b+", edge="+this.a+", portPosition="+this.c+"]"},eI.c=0,Bp(YP,"InLayerEdgeTwoNodeCrossingCounter/ComparableEdgeAndPort",226),ZN(612,1,{},tT),eI.e=!0,eI.f=0,eI.g=0,eI.k=!1,Bp(YP,"NorthSouthEdgeAllCrossingsCounter",612),ZN(615,1,{},qw),eI.b=0,eI.d=0,eI.e=!1,Bp(YP,"NorthSouthEdgeNeighbouringNodeCrossingsCounter",615),ZN(143,1,aM,zh),eI.mb=function(){return bA(this)},eI.b=0,Bp(YP,"PortIterable",143),ZN(344,1,qI,Lv),eI.H=function(){return Uf(dp(this.a),7)},eI.G=function(){return this.a.b>0},eI.I=function(){throw new Kr},Bp(YP,"PortIterable/1",344),ZN(336,1,{},BT),Bp(YP,"SwitchDecider",336),ZN(89,1,{89:1},re),eI.w=function(){return"NEdge[id="+this.b+" w="+this.f+" d="+this.a+"]"},eI.a=1,eI.b=0,eI.e=!1,eI.f=0;var NY=Bp(UP,"NEdge",89);ZN(157,1,{},jr),Bp(UP,"NEdge/NEdgeBuilder",157),ZN(278,1,{},Rr),Bp(UP,"NGraph",278),ZN(61,1,{61:1},Rb),eI.b=0,eI.d=-1,eI.e=0,eI.i=-1,eI.j=!1;var AY,SY,OY=Bp(UP,"NNode",61);ZN(333,13,xP,Ur),eI.rb=function(t,e){++this.d,xy(t,this.c.length),Ac(this.c,t,e)},eI.ib=function(t){return Tp(this,t)},eI.jb=function(t){return++this.d,ox(this,t)},eI.Q=function(){++this.d,this.c=Ty(TD,GI,1,0,4,1)},eI.vb=function(t){return++this.d,yy(this,t)},eI.nb=function(t){return Du(this,t)},Bp(UP,"NNode/ChangeAwareArrayList",333),ZN(199,1,{},Gr),Bp(UP,"NNode/NNodeBuilder",199),ZN(595,1,{},ie),eI.a=!1,eI.f=yI,eI.j=0,Bp(UP,"NetworkSimplex",595),ZN(193,17,{180:1,193:1,3:1,23:1,17:1},js),eI.rc=function(){switch(this.e){case 0:return new Mf;case 1:return new _e;default:throw new so("No implementation is available for the cycle breaker "+(null!=this.d?this.d:""+this.e))}};var LY,IY,MY,PY,DY,RY,jY=tm(qP,"CycleBreakingStrategy",193,RD,(function(){return Vg(),Nx(Mo(jY,1),FI,193,0,[AY,SY])}));ZN(539,1,XP,Mf),eI.qc=function(t){return IY},eI.sc=function(t,e){var n,r,i,o,a,s,c,u,l,h,f,d,p,g,v,b,y,m,w,x,_,E,k,T,C,N,A,S,O,L;for(HE(e,"Greedy cycle removal",1),L=(b=t.b).c.length,this.a=Ty(iW,vM,26,L,12,1),this.c=Ty(iW,vM,26,L,12,1),this.b=Ty(iW,vM,26,L,12,1),s=0,g=new Kn(b);g.a0?T+1:1);for(i=new Kn(w.e);i.a0?T+1:1)}0==this.c[s]?Of(this.d,d):0==this.a[s]&&Of(this.e,d),++s}for(f=-1,h=1,u=new Re,C=Uf(kx(t,($L(),bq)),154);L>0;){for(;0!=this.d.b;)A=Uf(wf(this.d),9),this.b[A.k]=f--,PS(this,A),--L;for(;0!=this.e.b;)S=Uf(wf(this.e),9),this.b[S.k]=h++,PS(this,S),--L;if(L>0){for(l=kI,v=new Kn(b);v.a=l&&(y>l&&(u.c=Ty(TD,GI,1,0,4,1),l=y),u.c[u.c.length]=d);c=Uf(gd(u,$k(C,u.c.length)),9),this.b[c.k]=h++,PS(this,c),--L}}for(N=b.c.length+1,s=0;sthis.b[O]&&(QS(n,!0),Ky(t,HV,(Vd(),Vd(),AX)));this.a=null,this.c=null,this.b=null,Mg(this.e),Mg(this.d),H_(e)},Bp(qP,"GreedyCycleBreaker",539),ZN(540,1,XP,_e),eI.qc=function(t){return MY},eI.sc=function(t,e){var n,r,i,o,a,s,c,u,l,h,f,d;for(HE(e,"Interactive cycle breaking",1),u=new Re,h=new Kn(t.b);h.a0&&LC(this,a,u);for(r=new Kn(u);r.a(a=s+u.j.a)?s+1:a,g=new Kv(n,0),r=null;g.b=a){Lu(g.b>0),g.a.sb(g.c=--g.b);break}d.a>s&&(r?(ox(r.b,d.b),r.a=Fo(r.a,d.a),ug(g)):(Lf(d.b,u),d.c=zo(d.c,s),d.a=Fo(d.a,a),r=d))}r||((r=new Br).c=s,r.a=a,ef(g,r),Lf(r.b,u))}for(o=t.c,c=0,p=new Kn(n);p.a0&&(n+=a.i.a+a.j.a/2,++u),l=new Kn(a.f);l.a1&&(t.c[l]=!0):y.g==KG&&y.e.c.length+y.b.c.length>1&&(t.d[l]=!0)}g.g==(RT(),BF)&&(++s[l],o[l]=!0)}for(n=!0,p=!0,a=0;a0;N++){c=(u=0!=LN(C,1))?0:g-1,s=this.b[c],k=0!=LN(C,1)?_:y,rE(s,i,u,!1,!0),o=yI,a=!0;do{if(Dw(this.b,this.k),T=o,o=0,o+=im(this.f,s,c),u){for(v=1;v=0;v--)l=this.b[v],by(k,s,(nw(),Dq)),rE(l,i,!1,!a,!1),o+=im(this.f,l,v),this.c[v]||this.d[v+1]?o+=QL(this.e,l,s):o+=zL(this.i,l,s),s=l;c=0}a=!1,u=!u}while(o0);(or?o:r;if(o>a){for(l=yE(t,n).mb();l.G();)f[(u=Uf(l.H(),7)).k]=e+zN(n,u.g)-a;return o-a}return 0}switch(n.e){case 1:for(i=0,s=0,h=new Kn(t.f);h.a"),te.e?1:t.fe.f?1:fh(t)-fh(e)}(this,Uf(t,197))},eI.b=0,eI.c=0,eI.e=0,eI.f=0;var tz=Bp(rD,"HyperedgeCrossingsCounter/Hyperedge",197);ZN(156,1,{156:1,23:1},Bg),eI.F=function(t){return function(t,e){return t.ce.c?1:t.be.b?1:t.a!=e.a?fh(t.a)-fh(e.a):t.d==(hb(),nz)&&e.d==ez?-1:t.d==ez&&e.d==nz?1:0}(this,Uf(t,156))},eI.b=0,eI.c=0;var ez,nz,rz=Bp(rD,"HyperedgeCrossingsCounter/HyperedgeCorner",156);ZN(242,17,{242:1,3:1,23:1,17:1},sc);var iz,oz,az,sz,cz=tm(rD,"HyperedgeCrossingsCounter/HyperedgeCorner/Type",242,RD,(function(){return hb(),Nx(Mo(cz,1),FI,242,0,[nz,ez])}));ZN(545,1,XP,Ae),eI.qc=function(t){return Uf(kx(t,($L(),WV)),18).kb((KA(),nV))?iz:null},eI.sc=function(t,e){var n;for(HE(e,"Interactive node placement",1),this.a=Uf(kx(t,($L(),xq)),134),n=new Kn(t.c);n.a(C=Uf(kx(n,($L(),gq)),24).a)?h:C;for(r=new Kn(k.e);r.a(C=Uf(kx(n,($L(),gq)),24).a)?E:C}Ky(m,az,W_(h)),Ky(m,sz,W_(E))}for(v=0,f=new Kn(e.c);f.a=0){for(c=null,s=new Kv(l.a,u+1);s.b0&&u[r]&&(p=rf(t.b,u[r],c)),g=Fo(g,i.d.c.b+p);for(o=new Kn(l.f);o.aw)?(c=2,a=yI):0==c?(c=1,a=_):(c=0,a=_):(f=_>=a||a-_0?(l=Uf(gd(h.d.a,o-1),9),E=Tf(t.b,h,l),g=h.i.b-h.e.d-(l.i.b+l.j.b+l.e.a+E)):g=h.i.b-h.e.d,c=g0?E:0,d.c=n,d.d=Uf(Jp(m,u.c.f),61),Tp(d.c.g,d),Tp(d.d.c,d),(C=new re).f=jk(u),C.a=E<0?-E:0,C.c=n,C.d=Uf(Jp(m,u.d.f),61),Tp(C.c.g,C),Tp(C.d.c,C));for(i=Uf(kx(t,(ZL(),gX)),24).a*wv(Math.sqrt(y)),vS(bo(yo(Jh(r),i),!1),Mw(e,1)),g=new Kn(r.a);g.aa&&(a=Uf(kx(n,gq),24).a);for(r=Ip(q_(s));tE(r);)n=Uf(Nv(r),12),s.d!=n.c.f.d&&Uf(kx(n,($L(),gq)),24).a==a&&Lf(u,new es(n.c.f,n));xb(u,t.c),Id(t.b,s.k,u)}}(h,t),h.f=Ol(h.d),function(t,e){var n,r,i,o,a,s,c,u;for(o=new Kn(e.c);o.aa&&(a=Uf(kx(n,gq),24).a);for(r=Ip(X_(s));tE(r);)n=Uf(Nv(r),12),s.d!=n.d.f.d&&Uf(kx(n,($L(),gq)),24).a==a&&Lf(u,new es(n.d.f,n));xb(u,t.c),Id(t.f,s.k,u)}}(h,t),h}(t),this.a=io(oo(Sh(kx(t,(ZL(),Vq))))),this.e=Zc(kx(t,Kq))===Zc((MT(),VU)),function(t,e){var n,r,i,o,a,s,c,u,l,h,f,d,p,g,v,b,y,m;if(!((g=e.c.c.length)<3)){for(d=Ty(iW,vM,26,g,12,1),h=0,l=new Kn(e.c);l.aa)&&Np(t.c,Uf(v.b,12));++s}o=a}}}(this,t),Cm(4,dM),f=new cm(4),Uf(kx(t,Kq),124).e){case 3:d=new yA(t,this.d.d,(ub(),xz),(dv(),yz)),f.c[f.c.length]=d;break;case 1:p=new yA(t,this.d.d,(ub(),_z),(dv(),yz)),f.c[f.c.length]=p;break;case 4:b=new yA(t,this.d.d,(ub(),xz),(dv(),mz)),f.c[f.c.length]=b;break;case 2:y=new yA(t,this.d.d,(ub(),_z),(dv(),mz)),f.c[f.c.length]=y;break;default:d=new yA(t,this.d.d,(ub(),xz),(dv(),yz)),p=new yA(t,this.d.d,_z,yz),b=new yA(t,this.d.d,xz,mz),y=new yA(t,this.d.d,_z,mz),f.c[f.c.length]=b,f.c[f.c.length]=y,f.c[f.c.length]=d,f.c[f.c.length]=p}for(n=new pc(t,this.d),o=new Kn(f);o.a_[c]&&(p=c),l=new Kn(t.b.c);l.axN(r))&&(u=r);for(!u&&(_y(0,f.c.length),u=Uf(f.c[0],81)),h=new Kn(t.c);h.a0?1:r<0?-1:0)}(this,Uf(t,27),Uf(e,27))},Bp(aD,"NeighborhoodInformation/NeighborComparator",598),ZN(334,1,{}),Bp(aD,"ThresholdStrategy",334),ZN(602,334,{},ki),eI.Ic=function(t,e,n){return this.a.k==(ub(),_z)?fP:dP},eI.Jc=function(){},Bp(aD,"ThresholdStrategy/NullThresholdStrategy",602),ZN(249,1,{249:1},gc),eI.c=!1,eI.d=!1,Bp(aD,"ThresholdStrategy/Postprocessable",249),ZN(603,334,{},Ti),eI.Ic=function(t,e,n){var r,i,o;return i=e==n,r=this.a.a[n.k]==e,i||r?(o=t,this.a.c,dv(),i&&(o=sO(this,e,!0)),(o==1/0||o==-1/0)&&r&&(o=sO(this,n,!1)),o):t},eI.Jc=function(){for(var t,e,n;0!=this.d.b;)(e=tS(this,n=Uf(Jg(this.d),249))).a&&(t=e.a,this.c.a[t.c.f.d.k]!==this.c.a[t.d.f.d.k]&&(GN(this,n)||uu(this.e,n)));for(;0!=this.e.a.c.length;)GN(this,Uf(Ux(this.e),249))},Bp(aD,"ThresholdStrategy/SimpleThresholdStrategy",603),ZN(423,1,{180:1},ue),eI.rc=function(){switch(this.a.e){case 1:return new Yc;case 3:return new Me;default:return new Ie}},Bp(sD,"EdgeRouterFactory",423),ZN(538,1,XP,Ie),eI.qc=function(t){var e,n;return n=Uf(kx(t,($L(),WV)),18),e=new iE,n.kb((KA(),rV))&&(Iw(e,Iz),Iw(e,Pz)),(n.kb(oV)||io(oo(Sh(kx(t,(ZL(),Zq))))))&&(Iw(e,Pz),n.kb(aV)&&Iw(e,Dz)),n.kb(nV)&&Iw(e,Lz),n.kb(cV)&&Iw(e,Rz),n.kb(iV)&&Iw(e,Mz),n.kb(JU)&&Iw(e,Sz),n.kb(eV)&&Iw(e,Oz),e},eI.sc=function(t,e){var n,r,i,o,a,s,c,u,l,h,f,d;HE(e,"Orthogonal edge routing",1),f=Uf(kx(t,($L(),xq)),134),io(oo(Sh(kx(t,(JL(),dj))))),l=new wC(0,f.a),d=0,o=new Kv(t.c,0),a=null,s=null;do{u=(c=o.b0?(n=f.b+(h-1)*f.a,c&&(n+=f.b),n"+this.b},eI.c=0,Bp(sD,"OrthogonalRoutingGenerator/Dependency",118),ZN(80,1,{80:1,23:1},Ww),eI.F=function(t){return function(t,e){return t.d-e.d}(this,Uf(t,80))},eI.t=function(t){var e;return!!dl(t,80)&&(e=Uf(t,80),this.d==e.d)},eI.v=function(){return this.d},eI.w=function(){var t,e,n,r;for(t=new $o("{"),r=new Kn(this.g);r.aEP&&(i=new ts(c,h),Of(n.a,i),$A(this.a,n,t,i,!1),o=new ts(l,h),Of(n.a,o),$A(this.a,n,t,o,!1))},eI.Lc=function(t){return t.f.i.a+t.i.a+t.a.a},eI.Mc=function(){return mL(),$G},eI.Nc=function(){return mL(),IG},Bp(sD,"OrthogonalRoutingGenerator/NorthToSouthRoutingStrategy",580),ZN(581,1,{},jn),eI.Kc=function(t,e){var n,r,i,o,a,s,c,u,l,h;for(h=e-t.i*this.a.c,s=new Kn(t.g);s.aEP&&(i=new ts(c,h),Of(n.a,i),$A(this.a,n,t,i,!1),o=new ts(l,h),Of(n.a,o),$A(this.a,n,t,o,!1))},eI.Lc=function(t){return t.f.i.a+t.i.a+t.a.a},eI.Mc=function(){return mL(),IG},eI.Nc=function(){return mL(),$G},Bp(sD,"OrthogonalRoutingGenerator/SouthToNorthRoutingStrategy",581),ZN(579,1,{},Gn),eI.Kc=function(t,e){var n,r,i,o,a,s,c,u,l,h;for(h=e+t.i*this.a.c,s=new Kn(t.g);s.aEP&&(i=new ts(h,c),Of(n.a,i),$A(this.a,n,t,i,!0),o=new ts(h,l),Of(n.a,o),$A(this.a,n,t,o,!0))},eI.Lc=function(t){return t.f.i.b+t.i.b+t.a.b},eI.Mc=function(){return mL(),LG},eI.Nc=function(){return mL(),KG},Bp(sD,"OrthogonalRoutingGenerator/WestToEastRoutingStrategy",579),ZN(535,1,XP,Yc),eI.qc=function(t){var e,n;return n=Uf(kx(t,($L(),WV)),18),e=new iE,(n.kb((KA(),oV))||io(oo(Sh(kx(t,(ZL(),Zq))))))&&(Iw(e,Bz),n.kb(aV)&&Iw(e,Fz)),n.kb(JU)&&Iw(e,jz),n.kb(eV)&&Iw(e,Gz),e},eI.sc=function(t,e){var n,r,i,o,a,s,c,u,l,h,f,d,p,g,v,b,y,m,w,x;for(HE(e,"Polyline edge routing",1),h=Uf(kx(t,($L(),wq)),15).a,n=Uf(kx(t,(ZL(),$q)),15).a,v=0,0!=t.c.c.length&&(v=.4*n*(b=FN(Uf(gd(t.c,0),16)))),o=new Kv(t.c,0);o.b0&&(v-=h),DO(i,v),c=0,l=new Kn(i.a);l.a(g-p<=0?0-(g-p):g-p)?s:g-p<=0?0-(g-p):g-p;switch(u.g.e){case 0:case 4:case 1:case 3:lO(this,u,v)}c=c>s?c:s}o.b(b=FN((Lu(o.b0),o.a.sb(o.c=--o.b)),a=.4*n*c,!r&&o.b0?((f=(b+1)*this.a)=0&&(O+=(b+2)*this.a)}g=w,c=u}while(w);for(r=new Kn(N);r.a("+this.c+") "+this.b},eI.c=0,Bp(cD,"SplineEdgeRouter/Dependency",117),ZN(223,17,{223:1,3:1,23:1,17:1},vc);var CU,NU,AU,SU,OU,LU,IU=tm(cD,"SplineEdgeRouter/SideToProcess",223,RD,(function(){return pv(),Nx(Mo(IU,1),FI,223,0,[EU,kU])}));ZN(77,1,{77:1,23:1},KC,MO),eI.F=function(t){return function(t,e){return t.i-e.i}(this,Uf(t,77))},eI.a=0,eI.b=0,eI.e=0,eI.f=!1,eI.i=0,eI.k=0,eI.n=0,eI.p=0,Bp(cD,"SplineEdgeRouter/SplineHyperEdge",77),ZN(123,17,{123:1,3:1,23:1,17:1},bc);var MU,PU,DU,RU,jU=tm(dD,"ContentAlignment",123,RD,(function(){return PT(),Nx(Mo(jU,1),FI,123,0,[LU,OU,SU,NU,CU,AU])}));ZN(218,17,{218:1,3:1,23:1,17:1},yc);var GU,BU,FU,HU,YU,zU=tm(dD,"EdgeConstraint",218,RD,(function(){return Dx(),Nx(Mo(zU,1),FI,218,0,[DU,PU,RU])}));ZN(115,17,{115:1,3:1,23:1,17:1},mc);var UU,VU,qU,XU,WU,$U,ZU,KU=tm(dD,"EdgeLabelSideSelection",115,RD,(function(){return mT(),Nx(Mo(KU,1),FI,115,0,[BU,GU,HU,FU,YU])}));ZN(124,17,{124:1,3:1,23:1,17:1},wc);var QU,JU,tV,eV,nV,rV,iV,oV,aV,sV,cV,uV=tm(dD,"FixedAlignment",124,RD,(function(){return MT(),Nx(Mo(uV,1),FI,124,0,[WU,XU,ZU,qU,$U,VU])}));ZN(113,17,{113:1,3:1,23:1,17:1},xc);var lV,hV,fV,dV,pV,gV,vV,bV,yV=tm(dD,"GraphProperties",113,RD,(function(){return KA(),Nx(Mo(yV,1),FI,113,0,[tV,nV,rV,iV,oV,aV,cV,JU,eV,sV])}));ZN(110,17,{110:1,3:1,23:1,17:1},kb),eI.a=!1,eI.b=!1,eI.c=!1;var mV,wV,xV,_V,EV=tm(dD,"GreedySwitchType",110,RD,(function(){return TO(),Nx(Mo(EV,1),FI,110,0,[hV,gV,fV,vV,dV,bV,pV,lV])}));ZN(140,17,{140:1,3:1,23:1,17:1},_c);var kV,TV,CV=tm(dD,"InLayerConstraint",140,RD,(function(){return jm(),Nx(Mo(CV,1),FI,140,0,[xV,_V,wV])}));ZN(174,17,{174:1,3:1,23:1,17:1},Ec);var NV,AV,SV,OV,LV,IV,MV,PV,DV,RV,jV,GV,BV,FV,HV,YV,zV,UV,VV,qV,XV,WV,$V,ZV,KV,QV,JV,tq,eq,nq,rq,iq,oq,aq,sq,cq,uq,lq,hq,fq,dq,pq,gq,vq,bq,yq,mq,wq,xq,_q,Eq,kq,Tq,Cq,Nq,Aq,Sq,Oq,Lq,Iq,Mq=tm(dD,"InteractiveReferencePoint",174,RD,(function(){return cb(),Nx(Mo(Mq,1),FI,174,0,[kV,TV])}));ZN(85,17,{85:1,3:1,23:1,17:1},kc);var Pq,Dq,Rq,jq,Gq=tm(dD,"LayerConstraint",85,RD,(function(){return qk(),Nx(Mo(Gq,1),FI,85,0,[Iq,Aq,Sq,Oq,Lq])}));ZN(219,17,{219:1,3:1,23:1,17:1},Tc);var Bq,Fq,Hq,Yq,zq,Uq,Vq,qq,Xq,Wq,$q,Zq,Kq,Qq,Jq,tX,eX,nX,rX,iX,oX,aX,sX,cX,uX,lX,hX,fX,dX,pX,gX,vX,bX,yX,mX,wX=tm(dD,"PortType",219,RD,(function(){return nw(),Nx(Mo(wX,1),FI,219,0,[jq,Dq,Rq])}));ZN(153,17,{153:1,3:1,23:1,17:1},Cc);var xX,_X,EX,kX,TX=tm(dD,"SelfLoopPlacement",153,RD,(function(){return ME(),Nx(Mo(TX,1),FI,153,0,[bX,mX,yX])}));ZN(134,1,{134:1},gL),eI.a=0,eI.b=0,eI.c=0,eI.d=0,eI.e=0,eI.f=0,Bp(dD,"Spacings",134),ZN(172,17,{172:1,3:1,23:1,17:1},Nc);var CX,NX,AX,SX=tm(dD,"WideNodesStrategy",172,RD,(function(){return Bw(),Nx(Mo(SX,1),FI,172,0,[_X,EX,kX])}));ZN(644,1,{}),Bp(MI,"OutputStream",644),ZN(645,644,{}),Bp(MI,"FilterOutputStream",645),ZN(291,645,{},he),Bp(MI,"PrintStream",291),ZN(255,1,{}),eI.w=function(){return this.a},Bp(OI,"AbstractStringBuilder",255),ZN(621,95,dI,Ci),Bp(OI,"ArrayIndexOutOfBoundsException",621),ZN(290,72,dI,Wr,Eo),Bp(OI,"ArrayStoreException",290),ZN(252,46,fI),Bp(OI,"Error",252),ZN(84,252,fI,Er,sm),Bp(OI,"AssertionError",84),aI={3:1,349:1,23:1};var OX=Bp(OI,"Boolean",349);sI={3:1,23:1,184:1,231:1};var LX=Bp(OI,"Double",184);ZN(15,231,{3:1,23:1,15:1,231:1},Fn,Hn),eI.F=function(t){return function(t,e){return Ox(t.a,e.a)}(this,Uf(t,15))},eI.t=function(t){return dl(t,15)&&Uf(t,15).a==this.a},eI.v=function(){return wv(this.a)},eI.w=function(){return t=this.a,si(),""+t;var t},eI.a=0;var IX,MX,PX=Bp(OI,"Float",15);ZN(101,72,dI,$r,ko),Bp(OI,"IllegalStateException",101),ZN(608,72,dI,To),Bp(OI,"NegativeArraySizeException",608),ZN(76,72,{3:1,54:1,76:1,46:1},Zr,Co),Bp(OI,"NullPointerException",76),ZN(130,29,{3:1,54:1,29:1,130:1,46:1},Ni,Zo),Bp(OI,"NumberFormatException",130),ZN(146,1,{3:1,146:1},Fg),eI.t=function(t){var e;return!!dl(t,146)&&(e=Uf(t,146),this.c==e.c&&Ag(this.d,e.d)&&Ag(this.a,e.a)&&Ag(this.b,e.b))},eI.v=function(){return $x(Nx(Mo(TD,1),GI,1,4,[W_(this.c),this.a,this.d,this.b]))},eI.w=function(){return this.a+"."+this.d+"("+(null!=this.b?this.b:"Unknown Source")+(this.c>=0?":"+this.c:"")+")"},eI.c=0;var DX,RX,jX,GX,BX,FX,HX,YX,zX=Bp(OI,"StackTraceElement",146);ZN(98,255,{345:1},ta,ea,$o),Bp(OI,"StringBuilder",98),ZN(45,72,{3:1,54:1,46:1,45:1},Kr,No),Bp(OI,"UnsupportedOperationException",45),ZN(213,638,XI),eI.Q=function(){my(this)},eI.R=function(t){return qy(this,t)},eI.ab=function(t){return Jx(this,t,this.e)||Jx(this,t,this.d)},eI.bb=function(){return new Yn(this)},eI.cb=function(t){return Jp(this,t)},eI.db=function(t,e){return wg(this,t,e)},eI.eb=function(t){return Kd(this,t)},eI.Y=function(){return Hs(this)},Bp(WI,"AbstractHashMap",213),ZN(120,641,ZI,Yn),eI.Q=function(){this.a.Q()},eI.kb=function(t){return fb(this,t)},eI.mb=function(){return new Xx(this.a)},eI.nb=function(t){var e;return!!fb(this,t)&&(e=Uf(t,21).yb(),this.a.eb(e),!0)},eI.Y=function(){return this.a.Y()},Bp(WI,"AbstractHashMap/EntrySet",120),ZN(148,1,qI,Xx),eI.H=function(){return Um(this)},eI.G=function(){return this.b},eI.I=function(){Hy(this)},eI.b=!1,Bp(WI,"AbstractHashMap/EntrySetIterator",148),ZN(162,1,qI,zn),eI.G=function(){return this.b0},eI.L=function(){return this.b},eI.M=function(){return dp(this)},eI.N=function(){return this.b-1},eI.O=function(t){nf(this,t)},Bp(WI,"AbstractList/ListIteratorImpl",43),ZN(258,647,KI,Wv),eI.rb=function(t,e){xy(t,this.b),this.c.rb(this.a+t,e),++this.b},eI.sb=function(t){return _y(t,this.b),this.c.sb(this.a+t)},eI.vb=function(t){var e;return _y(t,this.b),e=this.c.vb(this.a+t),--this.b,e},eI.wb=function(t,e){return _y(t,this.b),this.c.wb(this.a+t,e)},eI.Y=function(){return this.b},eI.a=0,eI.b=0,Bp(WI,"AbstractList/SubList",258),ZN(36,641,ZI,Un),eI.Q=function(){this.a.Q()},eI.kb=function(t){return this.a.R(t)},eI.mb=function(){return new Vn(this.a.bb().mb())},eI.nb=function(t){return!!this.a.R(t)&&(this.a.eb(t),!0)},eI.Y=function(){return this.a.Y()},Bp(WI,"AbstractMap/1",36),ZN(40,1,qI,Vn),eI.G=function(){return this.a.G()},eI.H=function(){return Uf(this.a.H(),21).yb()},eI.I=function(){this.a.I()},Bp(WI,"AbstractMap/1/1",40),ZN(211,640,$I,qn),eI.Q=function(){this.a.Q()},eI.kb=function(t){return this.a.ab(t)},eI.mb=function(){return new Xn(this.a.bb().mb())},eI.Y=function(){return this.a.Y()},Bp(WI,"AbstractMap/2",211),ZN(212,1,qI,Xn),eI.G=function(){return this.a.G()},eI.H=function(){return Uf(this.a.H(),21).zb()},eI.I=function(){this.a.I()},Bp(WI,"AbstractMap/2/1",212),ZN(210,1,{210:1,21:1}),eI.t=function(t){var e;return!!dl(t,21)&&(e=Uf(t,21),Ag(this.d,e.yb())&&Ag(this.e,e.zb()))},eI.yb=function(){return this.d},eI.zb=function(){return this.e},eI.v=function(){return Fu(this.d)^Fu(this.e)},eI.Ab=function(t){return bf(this,t)},eI.w=function(){return this.d+"="+this.e},Bp(WI,"AbstractMap/AbstractEntry",210),ZN(163,210,{210:1,163:1,21:1},Fc),Bp(WI,"AbstractMap/SimpleEntry",163),ZN(652,1,eM),eI.t=function(t){var e;return!!dl(t,21)&&(e=Uf(t,21),Ag(this.yb(),e.yb())&&Ag(this.zb(),e.zb()))},eI.v=function(){return Fu(this.yb())^Fu(this.zb())},eI.w=function(){return this.yb()+"="+this.zb()},Bp(WI,nM,652),ZN(639,638,XI),eI._=function(t){return Ey(this,t)},eI.R=function(t){return Rc(this,t)},eI.bb=function(){return new Wn(this)},eI.cb=function(t){return Kc(t_(this,t))},eI.W=function(){return new $n(this)},Bp(WI,"AbstractNavigableMap",639),ZN(287,641,ZI,Wn),eI.kb=function(t){return dl(t,21)&&Ey(this.b,Uf(t,21))},eI.mb=function(){return new ff(this.b)},eI.nb=function(t){var e;return!!dl(t,21)&&(e=Uf(t,21),jy(this.b,e))},eI.Y=function(){return this.b.c},Bp(WI,"AbstractNavigableMap/EntrySet",287),ZN(229,641,tM,$n),eI.Q=function(){fo(this.a)},eI.kb=function(t){return Rc(this.a,t)},eI.mb=function(){return new Zn(new ff(new th(this.a).b))},eI.nb=function(t){return!!Rc(this.a,t)&&(vg(this.a,t),!0)},eI.Y=function(){return this.a.c},Bp(WI,"AbstractNavigableMap/NavigableKeySet",229),ZN(230,1,qI,Zn),eI.G=function(){return Fs(this.a.a)},eI.H=function(){return gh(this.a).yb()},eI.I=function(){rd(this.a)},Bp(WI,"AbstractNavigableMap/NavigableKeySet/1",230),ZN(4,1,qI,Kn),eI.G=function(){return pl(this)},eI.H=function(){return Jv(this)},eI.I=function(){fp(this)},eI.a=0,eI.b=-1,Bp(WI,"ArrayList/1",4),ZN(94,647,gD,Qn),eI.kb=function(t){return-1!=function(t,e){var n,r;for(n=0,r=t.Y();n2e3&&(dR=t,pR=r.setTimeout(da,10)),0==fR++&&(function(t){var e,n;if(t.a){n=null;do{e=t.a,t.a=null,n=SC(e,n)}while(t.a);t.a=n}}((hi(),iR)),!0)}();try{return function(t,e,n){return t.apply(e,n)}(t,e,n)}finally{!function(t){t&&function(t){var e,n;if(t.b){n=null;do{e=t.b,t.b=null,n=SC(e,n)}while(t.b);t.b=n}}((hi(),iR)),--fR,t&&-1!=pR&&(function(t){r.clearTimeout(t)}(pR),pR=-1)}(i)}}(t,this,arguments)}},lW=lW=function(t,e,n,r){ho();var i=rI;function o(){for(var t=0;te&&(this.rect.x-=(this.labelWidth-e)/2,this.setWidth(this.labelWidth)),this.labelHeight>n&&("center"==this.labelPos?this.rect.y-=(this.labelHeight-n)/2:"top"==this.labelPos&&(this.rect.y-=this.labelHeight-n),this.setHeight(this.labelHeight))}}},u.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==i.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},u.prototype.transform=function(t){var e=this.rect.x;e>a.WORLD_BOUNDARY?e=a.WORLD_BOUNDARY:e<-a.WORLD_BOUNDARY&&(e=-a.WORLD_BOUNDARY);var n=this.rect.y;n>a.WORLD_BOUNDARY?n=a.WORLD_BOUNDARY:n<-a.WORLD_BOUNDARY&&(n=-a.WORLD_BOUNDARY);var r=new c(e,n),i=t.inverseTransformPoint(r);this.setLocation(i.x,i.y)},u.prototype.getLeft=function(){return this.rect.x},u.prototype.getRight=function(){return this.rect.x+this.rect.width},u.prototype.getTop=function(){return this.rect.y},u.prototype.getBottom=function(){return this.rect.y+this.rect.height},u.prototype.getParent=function(){return null==this.owner?null:this.owner.getParent()},t.exports=u},function(t,e,n){"use strict";function r(t,e){null==t&&null==e?(this.x=0,this.y=0):(this.x=t,this.y=e)}r.prototype.getX=function(){return this.x},r.prototype.getY=function(){return this.y},r.prototype.setX=function(t){this.x=t},r.prototype.setY=function(t){this.y=t},r.prototype.getDifference=function(t){return new DimensionD(this.x-t.x,this.y-t.y)},r.prototype.getCopy=function(){return new r(this.x,this.y)},r.prototype.translate=function(t){return this.x+=t.width,this.y+=t.height,this},t.exports=r},function(t,e,n){"use strict";var r=n(2),i=n(10),o=n(0),a=n(6),s=n(3),c=n(1),u=n(13),l=n(12),h=n(11);function f(t,e,n){r.call(this,n),this.estimatedSize=i.MIN_VALUE,this.margin=o.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=t,null!=e&&e instanceof a?this.graphManager=e:null!=e&&e instanceof Layout&&(this.graphManager=e.graphManager)}for(var d in f.prototype=Object.create(r.prototype),r)f[d]=r[d];f.prototype.getNodes=function(){return this.nodes},f.prototype.getEdges=function(){return this.edges},f.prototype.getGraphManager=function(){return this.graphManager},f.prototype.getParent=function(){return this.parent},f.prototype.getLeft=function(){return this.left},f.prototype.getRight=function(){return this.right},f.prototype.getTop=function(){return this.top},f.prototype.getBottom=function(){return this.bottom},f.prototype.isConnected=function(){return this.isConnected},f.prototype.add=function(t,e,n){if(null==e&&null==n){var r=t;if(null==this.graphManager)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(r)>-1)throw"Node already in graph!";return r.owner=this,this.getNodes().push(r),r}var i=t;if(!(this.getNodes().indexOf(e)>-1&&this.getNodes().indexOf(n)>-1))throw"Source or target not in graph!";if(e.owner!=n.owner||e.owner!=this)throw"Both owners must be this graph!";return e.owner!=n.owner?null:(i.source=e,i.target=n,i.isInterGraph=!1,this.getEdges().push(i),e.edges.push(i),n!=e&&n.edges.push(i),i)},f.prototype.remove=function(t){var e=t;if(t instanceof s){if(null==e)throw"Node is null!";if(null==e.owner||e.owner!=this)throw"Owner graph is invalid!";if(null==this.graphManager)throw"Owner graph manager is invalid!";for(var n=e.edges.slice(),r=n.length,i=0;i-1&&l>-1))throw"Source and/or target doesn't know this edge!";if(o.source.edges.splice(u,1),o.target!=o.source&&o.target.edges.splice(l,1),-1==(a=o.source.owner.getEdges().indexOf(o)))throw"Not in owner's edge list!";o.source.owner.getEdges().splice(a,1)}},f.prototype.updateLeftTop=function(){for(var t,e,n,r=i.MAX_VALUE,o=i.MAX_VALUE,a=this.getNodes(),s=a.length,c=0;c(t=u.getTop())&&(r=t),o>(e=u.getLeft())&&(o=e)}return r==i.MAX_VALUE?null:(n=null!=a[0].getParent().paddingLeft?a[0].getParent().paddingLeft:this.margin,this.left=o-n,this.top=r-n,new l(this.left,this.top))},f.prototype.updateBounds=function(t){for(var e,n,r,o,a,s=i.MAX_VALUE,c=-i.MAX_VALUE,l=i.MAX_VALUE,h=-i.MAX_VALUE,f=this.nodes,d=f.length,p=0;p(e=g.getLeft())&&(s=e),c<(n=g.getRight())&&(c=n),l>(r=g.getTop())&&(l=r),h<(o=g.getBottom())&&(h=o)}var v=new u(s,l,c-s,h-l);s==i.MAX_VALUE&&(this.left=this.parent.getLeft(),this.right=this.parent.getRight(),this.top=this.parent.getTop(),this.bottom=this.parent.getBottom()),a=null!=f[0].getParent().paddingLeft?f[0].getParent().paddingLeft:this.margin,this.left=v.x-a,this.right=v.x+v.width+a,this.top=v.y-a,this.bottom=v.y+v.height+a},f.calculateBounds=function(t){for(var e,n,r,o,a=i.MAX_VALUE,s=-i.MAX_VALUE,c=i.MAX_VALUE,l=-i.MAX_VALUE,h=t.length,f=0;f(e=d.getLeft())&&(a=e),s<(n=d.getRight())&&(s=n),c>(r=d.getTop())&&(c=r),l<(o=d.getBottom())&&(l=o)}return new u(a,c,s-a,l-c)},f.prototype.getInclusionTreeDepth=function(){return this==this.graphManager.getRoot()?1:this.parent.getInclusionTreeDepth()},f.prototype.getEstimatedSize=function(){if(this.estimatedSize==i.MIN_VALUE)throw"assert failed";return this.estimatedSize},f.prototype.calcEstimatedSize=function(){for(var t=0,e=this.nodes,n=e.length,r=0;r=this.nodes.length){var c=0;i.forEach((function(e){e.owner==t&&c++})),c==this.nodes.length&&(this.isConnected=!0)}}else this.isConnected=!0},t.exports=f},function(t,e,n){"use strict";var r,i=n(1);function o(t){r=n(5),this.layout=t,this.graphs=[],this.edges=[]}o.prototype.addRoot=function(){var t=this.layout.newGraph(),e=this.layout.newNode(null),n=this.add(t,e);return this.setRootGraph(n),this.rootGraph},o.prototype.add=function(t,e,n,r,i){if(null==n&&null==r&&null==i){if(null==t)throw"Graph is null!";if(null==e)throw"Parent node is null!";if(this.graphs.indexOf(t)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(t),null!=t.parent)throw"Already has a parent!";if(null!=e.child)throw"Already has a child!";return t.parent=e,e.child=t,t}i=n,n=t;var o=(r=e).getOwner(),a=i.getOwner();if(null==o||o.getGraphManager()!=this)throw"Source not in this graph mgr!";if(null==a||a.getGraphManager()!=this)throw"Target not in this graph mgr!";if(o==a)return n.isInterGraph=!1,o.add(n,r,i);if(n.isInterGraph=!0,n.source=r,n.target=i,this.edges.indexOf(n)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(n),null==n.source||null==n.target)throw"Edge source and/or target is null!";if(-1!=n.source.edges.indexOf(n)||-1!=n.target.edges.indexOf(n))throw"Edge already in source and/or target incidency list!";return n.source.edges.push(n),n.target.edges.push(n),n},o.prototype.remove=function(t){if(t instanceof r){var e=t;if(e.getGraphManager()!=this)throw"Graph not in this graph mgr";if(e!=this.rootGraph&&(null==e.parent||e.parent.graphManager!=this))throw"Invalid parent node!";for(var n,o=[],a=(o=o.concat(e.getEdges())).length,s=0;s=e.getRight()?n[0]+=Math.min(e.getX()-t.getX(),t.getRight()-e.getRight()):e.getX()<=t.getX()&&e.getRight()>=t.getRight()&&(n[0]+=Math.min(t.getX()-e.getX(),e.getRight()-t.getRight())),t.getY()<=e.getY()&&t.getBottom()>=e.getBottom()?n[1]+=Math.min(e.getY()-t.getY(),t.getBottom()-e.getBottom()):e.getY()<=t.getY()&&e.getBottom()>=t.getBottom()&&(n[1]+=Math.min(t.getY()-e.getY(),e.getBottom()-t.getBottom()));var o=Math.abs((e.getCenterY()-t.getCenterY())/(e.getCenterX()-t.getCenterX()));e.getCenterY()===t.getCenterY()&&e.getCenterX()===t.getCenterX()&&(o=1);var a=o*n[0],s=n[1]/o;n[0]a)return n[0]=r,n[1]=c,n[2]=o,n[3]=m,!1;if(io)return n[0]=s,n[1]=i,n[2]=b,n[3]=a,!1;if(ro?(n[0]=l,n[1]=h,E=!0):(n[0]=u,n[1]=c,E=!0):T===N&&(r>o?(n[0]=s,n[1]=c,E=!0):(n[0]=f,n[1]=h,E=!0)),-C===N?o>r?(n[2]=y,n[3]=m,k=!0):(n[2]=b,n[3]=v,k=!0):C===N&&(o>r?(n[2]=g,n[3]=v,k=!0):(n[2]=w,n[3]=m,k=!0)),E&&k)return!1;if(r>o?i>a?(A=this.getCardinalDirection(T,N,4),S=this.getCardinalDirection(C,N,2)):(A=this.getCardinalDirection(-T,N,3),S=this.getCardinalDirection(-C,N,1)):i>a?(A=this.getCardinalDirection(-T,N,1),S=this.getCardinalDirection(-C,N,3)):(A=this.getCardinalDirection(T,N,2),S=this.getCardinalDirection(C,N,4)),!E)switch(A){case 1:L=c,O=r+-p/N,n[0]=O,n[1]=L;break;case 2:O=f,L=i+d*N,n[0]=O,n[1]=L;break;case 3:L=h,O=r+p/N,n[0]=O,n[1]=L;break;case 4:O=l,L=i+-d*N,n[0]=O,n[1]=L}if(!k)switch(S){case 1:M=v,I=o+-_/N,n[2]=I,n[3]=M;break;case 2:I=w,M=a+x*N,n[2]=I,n[3]=M;break;case 3:M=m,I=o+_/N,n[2]=I,n[3]=M;break;case 4:I=y,M=a+-x*N,n[2]=I,n[3]=M}}return!1},i.getCardinalDirection=function(t,e,n){return t>e?n:1+n%4},i.getIntersection=function(t,e,n,i){if(null==i)return this.getIntersection2(t,e,n);var o,a,s,c,u,l,h,f=t.x,d=t.y,p=e.x,g=e.y,v=n.x,b=n.y,y=i.x,m=i.y;return 0==(h=(o=g-d)*(c=v-y)-(a=m-b)*(s=f-p))?null:new r((s*(l=y*b-v*m)-c*(u=p*d-f*g))/h,(a*u-o*l)/h)},i.angleOfVector=function(t,e,n,r){var i=void 0;return t!==n?(i=Math.atan((r-e)/(n-t)),n0?1:t<0?-1:0},r.floor=function(t){return t<0?Math.ceil(t):Math.floor(t)},r.ceil=function(t){return t<0?Math.floor(t):Math.ceil(t)},t.exports=r},function(t,e,n){"use strict";function r(){}r.MAX_VALUE=2147483647,r.MIN_VALUE=-2147483648,t.exports=r},function(t,e,n){"use strict";var r=function(){function t(t,e){for(var n=0;n0&&e;){for(s.push(u[0]);s.length>0&&e;){var l=s[0];s.splice(0,1),a.add(l);var h=l.getEdges();for(o=0;o-1&&u.splice(g,1)}a=new Set,c=new Map}else t=[]}return t},f.prototype.createDummyNodesForBendpoints=function(t){for(var e=[],n=t.source,r=this.graphManager.calcLowestCommonAncestor(t.source,t.target),i=0;i0){for(var i=this.edgeToDummyNodes.get(n),o=0;o=0&&e.splice(h,1),l.getNeighborsList().forEach((function(t){if(n.indexOf(t)<0){var e=r.get(t)-1;1==e&&c.push(t),r.set(t,e)}}))}n=n.concat(c),1!=e.length&&2!=e.length||(i=!0,o=e[0])}return o},f.prototype.setGraphManager=function(t){this.graphManager=t},t.exports=f},function(t,e,n){"use strict";function r(){}r.seed=1,r.x=0,r.nextDouble=function(){return r.x=1e4*Math.sin(r.seed++),r.x-Math.floor(r.x)},t.exports=r},function(t,e,n){"use strict";var r=n(4);function i(t,e){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}i.prototype.getWorldOrgX=function(){return this.lworldOrgX},i.prototype.setWorldOrgX=function(t){this.lworldOrgX=t},i.prototype.getWorldOrgY=function(){return this.lworldOrgY},i.prototype.setWorldOrgY=function(t){this.lworldOrgY=t},i.prototype.getWorldExtX=function(){return this.lworldExtX},i.prototype.setWorldExtX=function(t){this.lworldExtX=t},i.prototype.getWorldExtY=function(){return this.lworldExtY},i.prototype.setWorldExtY=function(t){this.lworldExtY=t},i.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},i.prototype.setDeviceOrgX=function(t){this.ldeviceOrgX=t},i.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},i.prototype.setDeviceOrgY=function(t){this.ldeviceOrgY=t},i.prototype.getDeviceExtX=function(){return this.ldeviceExtX},i.prototype.setDeviceExtX=function(t){this.ldeviceExtX=t},i.prototype.getDeviceExtY=function(){return this.ldeviceExtY},i.prototype.setDeviceExtY=function(t){this.ldeviceExtY=t},i.prototype.transformX=function(t){var e=0,n=this.lworldExtX;return 0!=n&&(e=this.ldeviceOrgX+(t-this.lworldOrgX)*this.ldeviceExtX/n),e},i.prototype.transformY=function(t){var e=0,n=this.lworldExtY;return 0!=n&&(e=this.ldeviceOrgY+(t-this.lworldOrgY)*this.ldeviceExtY/n),e},i.prototype.inverseTransformX=function(t){var e=0,n=this.ldeviceExtX;return 0!=n&&(e=this.lworldOrgX+(t-this.ldeviceOrgX)*this.lworldExtX/n),e},i.prototype.inverseTransformY=function(t){var e=0,n=this.ldeviceExtY;return 0!=n&&(e=this.lworldOrgY+(t-this.ldeviceOrgY)*this.lworldExtY/n),e},i.prototype.inverseTransformPoint=function(t){return new r(this.inverseTransformX(t.x),this.inverseTransformY(t.y))},t.exports=i},function(t,e,n){"use strict";var r=n(15),i=n(7),o=n(0),a=n(8),s=n(9);function c(){r.call(this),this.useSmartIdealEdgeLengthCalculation=i.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION,this.idealEdgeLength=i.DEFAULT_EDGE_LENGTH,this.springConstant=i.DEFAULT_SPRING_STRENGTH,this.repulsionConstant=i.DEFAULT_REPULSION_STRENGTH,this.gravityConstant=i.DEFAULT_GRAVITY_STRENGTH,this.compoundGravityConstant=i.DEFAULT_COMPOUND_GRAVITY_STRENGTH,this.gravityRangeFactor=i.DEFAULT_GRAVITY_RANGE_FACTOR,this.compoundGravityRangeFactor=i.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR,this.displacementThresholdPerNode=3*i.DEFAULT_EDGE_LENGTH/100,this.coolingFactor=i.DEFAULT_COOLING_FACTOR_INCREMENTAL,this.initialCoolingFactor=i.DEFAULT_COOLING_FACTOR_INCREMENTAL,this.totalDisplacement=0,this.oldTotalDisplacement=0,this.maxIterations=i.MAX_ITERATIONS}for(var u in c.prototype=Object.create(r.prototype),r)c[u]=r[u];c.prototype.initParameters=function(){r.prototype.initParameters.call(this,arguments),this.totalIterations=0,this.notAnimatedIterations=0,this.useFRGridVariant=i.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION,this.grid=[]},c.prototype.calcIdealEdgeLengths=function(){for(var t,e,n,r,a,s,c=this.getGraphManager().getAllEdges(),u=0;ui.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*i.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(t-i.ADAPTATION_LOWER_NODE_LIMIT)/(i.ADAPTATION_UPPER_NODE_LIMIT-i.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-i.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=i.MAX_NODE_DISPLACEMENT_INCREMENTAL):(t>i.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(i.COOLING_ADAPTATION_FACTOR,1-(t-i.ADAPTATION_LOWER_NODE_LIMIT)/(i.ADAPTATION_UPPER_NODE_LIMIT-i.ADAPTATION_LOWER_NODE_LIMIT)*(1-i.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=i.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(5*this.getAllNodes().length,this.maxIterations),this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},c.prototype.calcSpringForces=function(){for(var t,e=this.getAllEdges(),n=0;n0&&void 0!==arguments[0])||arguments[0],s=arguments.length>1&&void 0!==arguments[1]&&arguments[1],c=this.getAllNodes();if(this.useFRGridVariant)for(this.totalIterations%i.GRID_CALCULATION_CHECK_PERIOD==1&&a&&this.updateGrid(),o=new Set,t=0;t(c=e.getEstimatedSize()*this.gravityRangeFactor)||s>c)&&(t.gravitationForceX=-this.gravityConstant*i,t.gravitationForceY=-this.gravityConstant*o):(a>(c=e.getEstimatedSize()*this.compoundGravityRangeFactor)||s>c)&&(t.gravitationForceX=-this.gravityConstant*i*this.compoundGravityConstant,t.gravitationForceY=-this.gravityConstant*o*this.compoundGravityConstant)},c.prototype.isConverged=function(){var t,e=!1;return this.totalIterations>this.maxIterations/3&&(e=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2),t=this.totalDisplacement=s.length||u>=s[0].length))for(var l=0;lt}}]),t}();t.exports=o},function(t,e,n){"use strict";var r=function(){function t(t,e){for(var n=0;n2&&void 0!==arguments[2]?arguments[2]:1,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:-1,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:-1;!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.sequence1=e,this.sequence2=n,this.match_score=r,this.mismatch_penalty=i,this.gap_penalty=o,this.iMax=e.length+1,this.jMax=n.length+1,this.grid=new Array(this.iMax);for(var a=0;a=0;n--){var r=this.listeners[n];r.event===t&&r.callback===e&&this.listeners.splice(n,1)}},i.emit=function(t,e){for(var n=0;n{var r=n(852)(n(5639),"DataView");t.exports=r},1989:(t,e,n)=>{var r=n(1789),i=n(401),o=n(7667),a=n(1327),s=n(1866);function c(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e{var r=n(7040),i=n(4125),o=n(2117),a=n(7518),s=n(4705);function c(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e{var r=n(852)(n(5639),"Map");t.exports=r},3369:(t,e,n)=>{var r=n(4785),i=n(1285),o=n(6e3),a=n(9916),s=n(5265);function c(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e{var r=n(852)(n(5639),"Promise");t.exports=r},8525:(t,e,n)=>{var r=n(852)(n(5639),"Set");t.exports=r},8668:(t,e,n)=>{var r=n(3369),i=n(619),o=n(2385);function a(t){var e=-1,n=null==t?0:t.length;for(this.__data__=new r;++e{var r=n(8407),i=n(7465),o=n(3779),a=n(7599),s=n(4758),c=n(4309);function u(t){var e=this.__data__=new r(t);this.size=e.size}u.prototype.clear=i,u.prototype.delete=o,u.prototype.get=a,u.prototype.has=s,u.prototype.set=c,t.exports=u},2705:(t,e,n)=>{var r=n(5639).Symbol;t.exports=r},1149:(t,e,n)=>{var r=n(5639).Uint8Array;t.exports=r},577:(t,e,n)=>{var r=n(852)(n(5639),"WeakMap");t.exports=r},6874:t=>{t.exports=function(t,e,n){switch(n.length){case 0:return t.call(e);case 1:return t.call(e,n[0]);case 2:return t.call(e,n[0],n[1]);case 3:return t.call(e,n[0],n[1],n[2])}return t.apply(e,n)}},7412:t=>{t.exports=function(t,e){for(var n=-1,r=null==t?0:t.length;++n{t.exports=function(t,e){for(var n=-1,r=null==t?0:t.length,i=0,o=[];++n{var r=n(2118);t.exports=function(t,e){return!(null==t||!t.length)&&r(t,e,0)>-1}},1196:t=>{t.exports=function(t,e,n){for(var r=-1,i=null==t?0:t.length;++r{var r=n(2545),i=n(5694),o=n(1469),a=n(4144),s=n(5776),c=n(6719),u=Object.prototype.hasOwnProperty;t.exports=function(t,e){var n=o(t),l=!n&&i(t),h=!n&&!l&&a(t),f=!n&&!l&&!h&&c(t),d=n||l||h||f,p=d?r(t.length,String):[],g=p.length;for(var v in t)!e&&!u.call(t,v)||d&&("length"==v||h&&("offset"==v||"parent"==v)||f&&("buffer"==v||"byteLength"==v||"byteOffset"==v)||s(v,g))||p.push(v);return p}},9932:t=>{t.exports=function(t,e){for(var n=-1,r=null==t?0:t.length,i=Array(r);++n{t.exports=function(t,e){for(var n=-1,r=e.length,i=t.length;++n{t.exports=function(t,e,n,r){var i=-1,o=null==t?0:t.length;for(r&&o&&(n=t[++i]);++i{t.exports=function(t,e){for(var n=-1,r=null==t?0:t.length;++n{var r=n(371)("length");t.exports=r},6556:(t,e,n)=>{var r=n(9465),i=n(7813);t.exports=function(t,e,n){(void 0!==n&&!i(t[e],n)||void 0===n&&!(e in t))&&r(t,e,n)}},4865:(t,e,n)=>{var r=n(9465),i=n(7813),o=Object.prototype.hasOwnProperty;t.exports=function(t,e,n){var a=t[e];o.call(t,e)&&i(a,n)&&(void 0!==n||e in t)||r(t,e,n)}},8470:(t,e,n)=>{var r=n(7813);t.exports=function(t,e){for(var n=t.length;n--;)if(r(t[n][0],e))return n;return-1}},4037:(t,e,n)=>{var r=n(8363),i=n(3674);t.exports=function(t,e){return t&&r(e,i(e),t)}},3886:(t,e,n)=>{var r=n(8363),i=n(1704);t.exports=function(t,e){return t&&r(e,i(e),t)}},9465:(t,e,n)=>{var r=n(8777);t.exports=function(t,e,n){"__proto__"==e&&r?r(t,e,{configurable:!0,enumerable:!0,value:n,writable:!0}):t[e]=n}},5990:(t,e,n)=>{var r=n(6384),i=n(7412),o=n(4865),a=n(4037),s=n(3886),c=n(4626),u=n(278),l=n(8805),h=n(1911),f=n(8234),d=n(6904),p=n(4160),g=n(3824),v=n(9148),b=n(8517),y=n(1469),m=n(4144),w=n(6688),x=n(3218),_=n(2928),E=n(3674),k=n(1704),T="[object Arguments]",C="[object Function]",N="[object Object]",A={};A[T]=A["[object Array]"]=A["[object ArrayBuffer]"]=A["[object DataView]"]=A["[object Boolean]"]=A["[object Date]"]=A["[object Float32Array]"]=A["[object Float64Array]"]=A["[object Int8Array]"]=A["[object Int16Array]"]=A["[object Int32Array]"]=A["[object Map]"]=A["[object Number]"]=A[N]=A["[object RegExp]"]=A["[object Set]"]=A["[object String]"]=A["[object Symbol]"]=A["[object Uint8Array]"]=A["[object Uint8ClampedArray]"]=A["[object Uint16Array]"]=A["[object Uint32Array]"]=!0,A["[object Error]"]=A[C]=A["[object WeakMap]"]=!1,t.exports=function t(e,n,S,O,L,I){var M,P=1&n,D=2&n,R=4&n;if(S&&(M=L?S(e,O,L,I):S(e)),void 0!==M)return M;if(!x(e))return e;var j=y(e);if(j){if(M=g(e),!P)return u(e,M)}else{var G=p(e),B=G==C||"[object GeneratorFunction]"==G;if(m(e))return c(e,P);if(G==N||G==T||B&&!L){if(M=D||B?{}:b(e),!P)return D?h(e,s(M,e)):l(e,a(M,e))}else{if(!A[G])return L?e:{};M=v(e,G,P)}}I||(I=new r);var F=I.get(e);if(F)return F;I.set(e,M),_(e)?e.forEach((function(r){M.add(t(r,n,S,r,e,I))})):w(e)&&e.forEach((function(r,i){M.set(i,t(r,n,S,i,e,I))}));var H=j?void 0:(R?D?d:f:D?k:E)(e);return i(H||e,(function(r,i){H&&(r=e[i=r]),o(M,i,t(r,n,S,i,e,I))})),M}},3118:(t,e,n)=>{var r=n(3218),i=Object.create,o=function(){function t(){}return function(e){if(!r(e))return{};if(i)return i(e);t.prototype=e;var n=new t;return t.prototype=void 0,n}}();t.exports=o},9881:(t,e,n)=>{var r=n(7816),i=n(9291)(r);t.exports=i},6029:(t,e,n)=>{var r=n(3448);t.exports=function(t,e,n){for(var i=-1,o=t.length;++i{var r=n(9881);t.exports=function(t,e){var n=[];return r(t,(function(t,r,i){e(t,r,i)&&n.push(t)})),n}},1848:t=>{t.exports=function(t,e,n,r){for(var i=t.length,o=n+(r?1:-1);r?o--:++o{var r=n(2488),i=n(7285);t.exports=function t(e,n,o,a,s){var c=-1,u=e.length;for(o||(o=i),s||(s=[]);++c0&&o(l)?n>1?t(l,n-1,o,a,s):r(s,l):a||(s[s.length]=l)}return s}},8483:(t,e,n)=>{var r=n(5063)();t.exports=r},7816:(t,e,n)=>{var r=n(8483),i=n(3674);t.exports=function(t,e){return t&&r(t,e,i)}},7786:(t,e,n)=>{var r=n(1811),i=n(327);t.exports=function(t,e){for(var n=0,o=(e=r(e,t)).length;null!=t&&n{var r=n(2488),i=n(1469);t.exports=function(t,e,n){var o=e(t);return i(t)?o:r(o,n(t))}},4239:(t,e,n)=>{var r=n(2705),i=n(9607),o=n(2333),a=r?r.toStringTag:void 0;t.exports=function(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":a&&a in Object(t)?i(t):o(t)}},3325:t=>{t.exports=function(t,e){return t>e}},8565:t=>{var e=Object.prototype.hasOwnProperty;t.exports=function(t,n){return null!=t&&e.call(t,n)}},13:t=>{t.exports=function(t,e){return null!=t&&e in Object(t)}},2118:(t,e,n)=>{var r=n(1848),i=n(2722),o=n(2351);t.exports=function(t,e,n){return e==e?o(t,e,n):r(t,i,n)}},9454:(t,e,n)=>{var r=n(4239),i=n(7005);t.exports=function(t){return i(t)&&"[object Arguments]"==r(t)}},939:(t,e,n)=>{var r=n(2492),i=n(7005);t.exports=function t(e,n,o,a,s){return e===n||(null==e||null==n||!i(e)&&!i(n)?e!=e&&n!=n:r(e,n,o,a,t,s))}},2492:(t,e,n)=>{var r=n(6384),i=n(7114),o=n(8351),a=n(6096),s=n(4160),c=n(1469),u=n(4144),l=n(6719),h="[object Arguments]",f="[object Array]",d="[object Object]",p=Object.prototype.hasOwnProperty;t.exports=function(t,e,n,g,v,b){var y=c(t),m=c(e),w=y?f:s(t),x=m?f:s(e),_=(w=w==h?d:w)==d,E=(x=x==h?d:x)==d,k=w==x;if(k&&u(t)){if(!u(e))return!1;y=!0,_=!1}if(k&&!_)return b||(b=new r),y||l(t)?i(t,e,n,g,v,b):o(t,e,w,n,g,v,b);if(!(1&n)){var T=_&&p.call(t,"__wrapped__"),C=E&&p.call(e,"__wrapped__");if(T||C){var N=T?t.value():t,A=C?e.value():e;return b||(b=new r),v(N,A,n,g,b)}}return!!k&&(b||(b=new r),a(t,e,n,g,v,b))}},5588:(t,e,n)=>{var r=n(4160),i=n(7005);t.exports=function(t){return i(t)&&"[object Map]"==r(t)}},2958:(t,e,n)=>{var r=n(6384),i=n(939);t.exports=function(t,e,n,o){var a=n.length,s=a,c=!o;if(null==t)return!s;for(t=Object(t);a--;){var u=n[a];if(c&&u[2]?u[1]!==t[u[0]]:!(u[0]in t))return!1}for(;++a{t.exports=function(t){return t!=t}},8458:(t,e,n)=>{var r=n(3560),i=n(5346),o=n(3218),a=n(346),s=/^\[object .+?Constructor\]$/,c=Function.prototype,u=Object.prototype,l=c.toString,h=u.hasOwnProperty,f=RegExp("^"+l.call(h).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");t.exports=function(t){return!(!o(t)||i(t))&&(r(t)?f:s).test(a(t))}},9221:(t,e,n)=>{var r=n(4160),i=n(7005);t.exports=function(t){return i(t)&&"[object Set]"==r(t)}},8749:(t,e,n)=>{var r=n(4239),i=n(1780),o=n(7005),a={};a["[object Float32Array]"]=a["[object Float64Array]"]=a["[object Int8Array]"]=a["[object Int16Array]"]=a["[object Int32Array]"]=a["[object Uint8Array]"]=a["[object Uint8ClampedArray]"]=a["[object Uint16Array]"]=a["[object Uint32Array]"]=!0,a["[object Arguments]"]=a["[object Array]"]=a["[object ArrayBuffer]"]=a["[object Boolean]"]=a["[object DataView]"]=a["[object Date]"]=a["[object Error]"]=a["[object Function]"]=a["[object Map]"]=a["[object Number]"]=a["[object Object]"]=a["[object RegExp]"]=a["[object Set]"]=a["[object String]"]=a["[object WeakMap]"]=!1,t.exports=function(t){return o(t)&&i(t.length)&&!!a[r(t)]}},7206:(t,e,n)=>{var r=n(1573),i=n(6432),o=n(6557),a=n(1469),s=n(9601);t.exports=function(t){return"function"==typeof t?t:null==t?o:"object"==typeof t?a(t)?i(t[0],t[1]):r(t):s(t)}},280:(t,e,n)=>{var r=n(5726),i=n(6916),o=Object.prototype.hasOwnProperty;t.exports=function(t){if(!r(t))return i(t);var e=[];for(var n in Object(t))o.call(t,n)&&"constructor"!=n&&e.push(n);return e}},313:(t,e,n)=>{var r=n(3218),i=n(5726),o=n(3498),a=Object.prototype.hasOwnProperty;t.exports=function(t){if(!r(t))return o(t);var e=i(t),n=[];for(var s in t)("constructor"!=s||!e&&a.call(t,s))&&n.push(s);return n}},433:t=>{t.exports=function(t,e){return t{var r=n(9881),i=n(8612);t.exports=function(t,e){var n=-1,o=i(t)?Array(t.length):[];return r(t,(function(t,r,i){o[++n]=e(t,r,i)})),o}},1573:(t,e,n)=>{var r=n(2958),i=n(1499),o=n(2634);t.exports=function(t){var e=i(t);return 1==e.length&&e[0][2]?o(e[0][0],e[0][1]):function(n){return n===t||r(n,t,e)}}},6432:(t,e,n)=>{var r=n(939),i=n(7361),o=n(9095),a=n(5403),s=n(9162),c=n(2634),u=n(327);t.exports=function(t,e){return a(t)&&s(e)?c(u(t),e):function(n){var a=i(n,t);return void 0===a&&a===e?o(n,t):r(e,a,3)}}},2980:(t,e,n)=>{var r=n(6384),i=n(6556),o=n(8483),a=n(9783),s=n(3218),c=n(1704),u=n(6390);t.exports=function t(e,n,l,h,f){e!==n&&o(n,(function(o,c){if(f||(f=new r),s(o))a(e,n,c,l,t,h,f);else{var d=h?h(u(e,c),o,c+"",e,n,f):void 0;void 0===d&&(d=o),i(e,c,d)}}),c)}},9783:(t,e,n)=>{var r=n(6556),i=n(4626),o=n(7133),a=n(278),s=n(8517),c=n(5694),u=n(1469),l=n(9246),h=n(4144),f=n(3560),d=n(3218),p=n(8630),g=n(6719),v=n(6390),b=n(3678);t.exports=function(t,e,n,y,m,w,x){var _=v(t,n),E=v(e,n),k=x.get(E);if(k)r(t,n,k);else{var T=w?w(_,E,n+"",t,e,x):void 0,C=void 0===T;if(C){var N=u(E),A=!N&&h(E),S=!N&&!A&&g(E);T=E,N||A||S?u(_)?T=_:l(_)?T=a(_):A?(C=!1,T=i(E,!0)):S?(C=!1,T=o(E,!0)):T=[]:p(E)||c(E)?(T=_,c(_)?T=b(_):d(_)&&!f(_)||(T=s(E))):C=!1}C&&(x.set(E,T),m(T,E,y,w,x),x.delete(E)),r(t,n,T)}}},9556:(t,e,n)=>{var r=n(9932),i=n(7786),o=n(7206),a=n(9199),s=n(1131),c=n(1717),u=n(5022),l=n(6557),h=n(1469);t.exports=function(t,e,n){e=e.length?r(e,(function(t){return h(t)?function(e){return i(e,1===t.length?t[0]:t)}:t})):[l];var f=-1;e=r(e,c(o));var d=a(t,(function(t,n,i){return{criteria:r(e,(function(e){return e(t)})),index:++f,value:t}}));return s(d,(function(t,e){return u(t,e,n)}))}},5970:(t,e,n)=>{var r=n(3012),i=n(9095);t.exports=function(t,e){return r(t,e,(function(e,n){return i(t,n)}))}},3012:(t,e,n)=>{var r=n(7786),i=n(611),o=n(1811);t.exports=function(t,e,n){for(var a=-1,s=e.length,c={};++a{t.exports=function(t){return function(e){return null==e?void 0:e[t]}}},9152:(t,e,n)=>{var r=n(7786);t.exports=function(t){return function(e){return r(e,t)}}},98:t=>{var e=Math.ceil,n=Math.max;t.exports=function(t,r,i,o){for(var a=-1,s=n(e((r-t)/(i||1)),0),c=Array(s);s--;)c[o?s:++a]=t,t+=i;return c}},107:t=>{t.exports=function(t,e,n,r,i){return i(t,(function(t,i,o){n=r?(r=!1,t):e(n,t,i,o)})),n}},5976:(t,e,n)=>{var r=n(6557),i=n(5357),o=n(61);t.exports=function(t,e){return o(i(t,e,r),t+"")}},611:(t,e,n)=>{var r=n(4865),i=n(1811),o=n(5776),a=n(3218),s=n(327);t.exports=function(t,e,n,c){if(!a(t))return t;for(var u=-1,l=(e=i(e,t)).length,h=l-1,f=t;null!=f&&++u{var r=n(5703),i=n(8777),o=n(6557),a=i?function(t,e){return i(t,"toString",{configurable:!0,enumerable:!1,value:r(e),writable:!0})}:o;t.exports=a},1131:t=>{t.exports=function(t,e){var n=t.length;for(t.sort(e);n--;)t[n]=t[n].value;return t}},2545:t=>{t.exports=function(t,e){for(var n=-1,r=Array(t);++n{var r=n(2705),i=n(9932),o=n(1469),a=n(3448),s=r?r.prototype:void 0,c=s?s.toString:void 0;t.exports=function t(e){if("string"==typeof e)return e;if(o(e))return i(e,t)+"";if(a(e))return c?c.call(e):"";var n=e+"";return"0"==n&&1/e==-1/0?"-0":n}},7561:(t,e,n)=>{var r=n(7990),i=/^\s+/;t.exports=function(t){return t?t.slice(0,r(t)+1).replace(i,""):t}},1717:t=>{t.exports=function(t){return function(e){return t(e)}}},5652:(t,e,n)=>{var r=n(8668),i=n(7443),o=n(1196),a=n(4757),s=n(3593),c=n(1814);t.exports=function(t,e,n){var u=-1,l=i,h=t.length,f=!0,d=[],p=d;if(n)f=!1,l=o;else if(h>=200){var g=e?null:s(t);if(g)return c(g);f=!1,l=a,p=new r}else p=e?[]:d;t:for(;++u{var r=n(9932);t.exports=function(t,e){return r(e,(function(e){return t[e]}))}},1757:t=>{t.exports=function(t,e,n){for(var r=-1,i=t.length,o=e.length,a={};++r{t.exports=function(t,e){return t.has(e)}},4290:(t,e,n)=>{var r=n(6557);t.exports=function(t){return"function"==typeof t?t:r}},1811:(t,e,n)=>{var r=n(1469),i=n(5403),o=n(5514),a=n(9833);t.exports=function(t,e){return r(t)?t:i(t,e)?[t]:o(a(t))}},4318:(t,e,n)=>{var r=n(1149);t.exports=function(t){var e=new t.constructor(t.byteLength);return new r(e).set(new r(t)),e}},4626:(t,e,n)=>{t=n.nmd(t);var r=n(5639),i=e&&!e.nodeType&&e,o=i&&t&&!t.nodeType&&t,a=o&&o.exports===i?r.Buffer:void 0,s=a?a.allocUnsafe:void 0;t.exports=function(t,e){if(e)return t.slice();var n=t.length,r=s?s(n):new t.constructor(n);return t.copy(r),r}},7157:(t,e,n)=>{var r=n(4318);t.exports=function(t,e){var n=e?r(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.byteLength)}},3147:t=>{var e=/\w*$/;t.exports=function(t){var n=new t.constructor(t.source,e.exec(t));return n.lastIndex=t.lastIndex,n}},419:(t,e,n)=>{var r=n(2705),i=r?r.prototype:void 0,o=i?i.valueOf:void 0;t.exports=function(t){return o?Object(o.call(t)):{}}},7133:(t,e,n)=>{var r=n(4318);t.exports=function(t,e){var n=e?r(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.length)}},6393:(t,e,n)=>{var r=n(3448);t.exports=function(t,e){if(t!==e){var n=void 0!==t,i=null===t,o=t==t,a=r(t),s=void 0!==e,c=null===e,u=e==e,l=r(e);if(!c&&!l&&!a&&t>e||a&&s&&u&&!c&&!l||i&&s&&u||!n&&u||!o)return 1;if(!i&&!a&&!l&&t{var r=n(6393);t.exports=function(t,e,n){for(var i=-1,o=t.criteria,a=e.criteria,s=o.length,c=n.length;++i=c?u:u*("desc"==n[i]?-1:1)}return t.index-e.index}},278:t=>{t.exports=function(t,e){var n=-1,r=t.length;for(e||(e=Array(r));++n{var r=n(4865),i=n(9465);t.exports=function(t,e,n,o){var a=!n;n||(n={});for(var s=-1,c=e.length;++s{var r=n(8363),i=n(9551);t.exports=function(t,e){return r(t,i(t),e)}},1911:(t,e,n)=>{var r=n(8363),i=n(1442);t.exports=function(t,e){return r(t,i(t),e)}},4429:(t,e,n)=>{var r=n(5639)["__core-js_shared__"];t.exports=r},1463:(t,e,n)=>{var r=n(5976),i=n(6612);t.exports=function(t){return r((function(e,n){var r=-1,o=n.length,a=o>1?n[o-1]:void 0,s=o>2?n[2]:void 0;for(a=t.length>3&&"function"==typeof a?(o--,a):void 0,s&&i(n[0],n[1],s)&&(a=o<3?void 0:a,o=1),e=Object(e);++r{var r=n(8612);t.exports=function(t,e){return function(n,i){if(null==n)return n;if(!r(n))return t(n,i);for(var o=n.length,a=e?o:-1,s=Object(n);(e?a--:++a{t.exports=function(t){return function(e,n,r){for(var i=-1,o=Object(e),a=r(e),s=a.length;s--;){var c=a[t?s:++i];if(!1===n(o[c],c,o))break}return e}}},7740:(t,e,n)=>{var r=n(7206),i=n(8612),o=n(3674);t.exports=function(t){return function(e,n,a){var s=Object(e);if(!i(e)){var c=r(n,3);e=o(e),n=function(t){return c(s[t],t,s)}}var u=t(e,n,a);return u>-1?s[c?e[u]:u]:void 0}}},7445:(t,e,n)=>{var r=n(98),i=n(6612),o=n(8601);t.exports=function(t){return function(e,n,a){return a&&"number"!=typeof a&&i(e,n,a)&&(n=a=void 0),e=o(e),void 0===n?(n=e,e=0):n=o(n),a=void 0===a?e{var r=n(8525),i=n(308),o=n(1814),a=r&&1/o(new r([,-0]))[1]==1/0?function(t){return new r(t)}:i;t.exports=a},8777:(t,e,n)=>{var r=n(852),i=function(){try{var t=r(Object,"defineProperty");return t({},"",{}),t}catch(t){}}();t.exports=i},7114:(t,e,n)=>{var r=n(8668),i=n(2908),o=n(4757);t.exports=function(t,e,n,a,s,c){var u=1&n,l=t.length,h=e.length;if(l!=h&&!(u&&h>l))return!1;var f=c.get(t),d=c.get(e);if(f&&d)return f==e&&d==t;var p=-1,g=!0,v=2&n?new r:void 0;for(c.set(t,e),c.set(e,t);++p{var r=n(2705),i=n(1149),o=n(7813),a=n(7114),s=n(8776),c=n(1814),u=r?r.prototype:void 0,l=u?u.valueOf:void 0;t.exports=function(t,e,n,r,u,h,f){switch(n){case"[object DataView]":if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case"[object ArrayBuffer]":return!(t.byteLength!=e.byteLength||!h(new i(t),new i(e)));case"[object Boolean]":case"[object Date]":case"[object Number]":return o(+t,+e);case"[object Error]":return t.name==e.name&&t.message==e.message;case"[object RegExp]":case"[object String]":return t==e+"";case"[object Map]":var d=s;case"[object Set]":var p=1&r;if(d||(d=c),t.size!=e.size&&!p)return!1;var g=f.get(t);if(g)return g==e;r|=2,f.set(t,e);var v=a(d(t),d(e),r,u,h,f);return f.delete(t),v;case"[object Symbol]":if(l)return l.call(t)==l.call(e)}return!1}},6096:(t,e,n)=>{var r=n(8234),i=Object.prototype.hasOwnProperty;t.exports=function(t,e,n,o,a,s){var c=1&n,u=r(t),l=u.length;if(l!=r(e).length&&!c)return!1;for(var h=l;h--;){var f=u[h];if(!(c?f in e:i.call(e,f)))return!1}var d=s.get(t),p=s.get(e);if(d&&p)return d==e&&p==t;var g=!0;s.set(t,e),s.set(e,t);for(var v=c;++h{var r=n(5564),i=n(5357),o=n(61);t.exports=function(t){return o(i(t,void 0,r),t+"")}},1957:(t,e,n)=>{var r="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g;t.exports=r},8234:(t,e,n)=>{var r=n(8866),i=n(9551),o=n(3674);t.exports=function(t){return r(t,o,i)}},6904:(t,e,n)=>{var r=n(8866),i=n(1442),o=n(1704);t.exports=function(t){return r(t,o,i)}},5050:(t,e,n)=>{var r=n(7019);t.exports=function(t,e){var n=t.__data__;return r(e)?n["string"==typeof e?"string":"hash"]:n.map}},1499:(t,e,n)=>{var r=n(9162),i=n(3674);t.exports=function(t){for(var e=i(t),n=e.length;n--;){var o=e[n],a=t[o];e[n]=[o,a,r(a)]}return e}},852:(t,e,n)=>{var r=n(8458),i=n(7801);t.exports=function(t,e){var n=i(t,e);return r(n)?n:void 0}},5924:(t,e,n)=>{var r=n(5569)(Object.getPrototypeOf,Object);t.exports=r},9607:(t,e,n)=>{var r=n(2705),i=Object.prototype,o=i.hasOwnProperty,a=i.toString,s=r?r.toStringTag:void 0;t.exports=function(t){var e=o.call(t,s),n=t[s];try{t[s]=void 0;var r=!0}catch(t){}var i=a.call(t);return r&&(e?t[s]=n:delete t[s]),i}},9551:(t,e,n)=>{var r=n(4963),i=n(479),o=Object.prototype.propertyIsEnumerable,a=Object.getOwnPropertySymbols,s=a?function(t){return null==t?[]:(t=Object(t),r(a(t),(function(e){return o.call(t,e)})))}:i;t.exports=s},1442:(t,e,n)=>{var r=n(2488),i=n(5924),o=n(9551),a=n(479),s=Object.getOwnPropertySymbols?function(t){for(var e=[];t;)r(e,o(t)),t=i(t);return e}:a;t.exports=s},4160:(t,e,n)=>{var r=n(8552),i=n(7071),o=n(3818),a=n(8525),s=n(577),c=n(4239),u=n(346),l="[object Map]",h="[object Promise]",f="[object Set]",d="[object WeakMap]",p="[object DataView]",g=u(r),v=u(i),b=u(o),y=u(a),m=u(s),w=c;(r&&w(new r(new ArrayBuffer(1)))!=p||i&&w(new i)!=l||o&&w(o.resolve())!=h||a&&w(new a)!=f||s&&w(new s)!=d)&&(w=function(t){var e=c(t),n="[object Object]"==e?t.constructor:void 0,r=n?u(n):"";if(r)switch(r){case g:return p;case v:return l;case b:return h;case y:return f;case m:return d}return e}),t.exports=w},7801:t=>{t.exports=function(t,e){return null==t?void 0:t[e]}},222:(t,e,n)=>{var r=n(1811),i=n(5694),o=n(1469),a=n(5776),s=n(1780),c=n(327);t.exports=function(t,e,n){for(var u=-1,l=(e=r(e,t)).length,h=!1;++u{var e=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]");t.exports=function(t){return e.test(t)}},1789:(t,e,n)=>{var r=n(4536);t.exports=function(){this.__data__=r?r(null):{},this.size=0}},401:t=>{t.exports=function(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}},7667:(t,e,n)=>{var r=n(4536),i=Object.prototype.hasOwnProperty;t.exports=function(t){var e=this.__data__;if(r){var n=e[t];return"__lodash_hash_undefined__"===n?void 0:n}return i.call(e,t)?e[t]:void 0}},1327:(t,e,n)=>{var r=n(4536),i=Object.prototype.hasOwnProperty;t.exports=function(t){var e=this.__data__;return r?void 0!==e[t]:i.call(e,t)}},1866:(t,e,n)=>{var r=n(4536);t.exports=function(t,e){var n=this.__data__;return this.size+=this.has(t)?0:1,n[t]=r&&void 0===e?"__lodash_hash_undefined__":e,this}},3824:t=>{var e=Object.prototype.hasOwnProperty;t.exports=function(t){var n=t.length,r=new t.constructor(n);return n&&"string"==typeof t[0]&&e.call(t,"index")&&(r.index=t.index,r.input=t.input),r}},9148:(t,e,n)=>{var r=n(4318),i=n(7157),o=n(3147),a=n(419),s=n(7133);t.exports=function(t,e,n){var c=t.constructor;switch(e){case"[object ArrayBuffer]":return r(t);case"[object Boolean]":case"[object Date]":return new c(+t);case"[object DataView]":return i(t,n);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return s(t,n);case"[object Map]":case"[object Set]":return new c;case"[object Number]":case"[object String]":return new c(t);case"[object RegExp]":return o(t);case"[object Symbol]":return a(t)}}},8517:(t,e,n)=>{var r=n(3118),i=n(5924),o=n(5726);t.exports=function(t){return"function"!=typeof t.constructor||o(t)?{}:r(i(t))}},7285:(t,e,n)=>{var r=n(2705),i=n(5694),o=n(1469),a=r?r.isConcatSpreadable:void 0;t.exports=function(t){return o(t)||i(t)||!!(a&&t&&t[a])}},5776:t=>{var e=/^(?:0|[1-9]\d*)$/;t.exports=function(t,n){var r=typeof t;return!!(n=null==n?9007199254740991:n)&&("number"==r||"symbol"!=r&&e.test(t))&&t>-1&&t%1==0&&t{var r=n(7813),i=n(8612),o=n(5776),a=n(3218);t.exports=function(t,e,n){if(!a(n))return!1;var s=typeof e;return!!("number"==s?i(n)&&o(e,n.length):"string"==s&&e in n)&&r(n[e],t)}},5403:(t,e,n)=>{var r=n(1469),i=n(3448),o=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,a=/^\w*$/;t.exports=function(t,e){if(r(t))return!1;var n=typeof t;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=t&&!i(t))||a.test(t)||!o.test(t)||null!=e&&t in Object(e)}},7019:t=>{t.exports=function(t){var e=typeof t;return"string"==e||"number"==e||"symbol"==e||"boolean"==e?"__proto__"!==t:null===t}},5346:(t,e,n)=>{var r,i=n(4429),o=(r=/[^.]+$/.exec(i&&i.keys&&i.keys.IE_PROTO||""))?"Symbol(src)_1."+r:"";t.exports=function(t){return!!o&&o in t}},5726:t=>{var e=Object.prototype;t.exports=function(t){var n=t&&t.constructor;return t===("function"==typeof n&&n.prototype||e)}},9162:(t,e,n)=>{var r=n(3218);t.exports=function(t){return t==t&&!r(t)}},7040:t=>{t.exports=function(){this.__data__=[],this.size=0}},4125:(t,e,n)=>{var r=n(8470),i=Array.prototype.splice;t.exports=function(t){var e=this.__data__,n=r(e,t);return!(n<0||(n==e.length-1?e.pop():i.call(e,n,1),--this.size,0))}},2117:(t,e,n)=>{var r=n(8470);t.exports=function(t){var e=this.__data__,n=r(e,t);return n<0?void 0:e[n][1]}},7518:(t,e,n)=>{var r=n(8470);t.exports=function(t){return r(this.__data__,t)>-1}},4705:(t,e,n)=>{var r=n(8470);t.exports=function(t,e){var n=this.__data__,i=r(n,t);return i<0?(++this.size,n.push([t,e])):n[i][1]=e,this}},4785:(t,e,n)=>{var r=n(1989),i=n(8407),o=n(7071);t.exports=function(){this.size=0,this.__data__={hash:new r,map:new(o||i),string:new r}}},1285:(t,e,n)=>{var r=n(5050);t.exports=function(t){var e=r(this,t).delete(t);return this.size-=e?1:0,e}},6e3:(t,e,n)=>{var r=n(5050);t.exports=function(t){return r(this,t).get(t)}},9916:(t,e,n)=>{var r=n(5050);t.exports=function(t){return r(this,t).has(t)}},5265:(t,e,n)=>{var r=n(5050);t.exports=function(t,e){var n=r(this,t),i=n.size;return n.set(t,e),this.size+=n.size==i?0:1,this}},8776:t=>{t.exports=function(t){var e=-1,n=Array(t.size);return t.forEach((function(t,r){n[++e]=[r,t]})),n}},2634:t=>{t.exports=function(t,e){return function(n){return null!=n&&n[t]===e&&(void 0!==e||t in Object(n))}}},4523:(t,e,n)=>{var r=n(8306);t.exports=function(t){var e=r(t,(function(t){return 500===n.size&&n.clear(),t})),n=e.cache;return e}},4536:(t,e,n)=>{var r=n(852)(Object,"create");t.exports=r},6916:(t,e,n)=>{var r=n(5569)(Object.keys,Object);t.exports=r},3498:t=>{t.exports=function(t){var e=[];if(null!=t)for(var n in Object(t))e.push(n);return e}},1167:(t,e,n)=>{t=n.nmd(t);var r=n(1957),i=e&&!e.nodeType&&e,o=i&&t&&!t.nodeType&&t,a=o&&o.exports===i&&r.process,s=function(){try{return o&&o.require&&o.require("util").types||a&&a.binding&&a.binding("util")}catch(t){}}();t.exports=s},2333:t=>{var e=Object.prototype.toString;t.exports=function(t){return e.call(t)}},5569:t=>{t.exports=function(t,e){return function(n){return t(e(n))}}},5357:(t,e,n)=>{var r=n(6874),i=Math.max;t.exports=function(t,e,n){return e=i(void 0===e?t.length-1:e,0),function(){for(var o=arguments,a=-1,s=i(o.length-e,0),c=Array(s);++a{var r=n(1957),i="object"==typeof self&&self&&self.Object===Object&&self,o=r||i||Function("return this")();t.exports=o},6390:t=>{t.exports=function(t,e){if(("constructor"!==e||"function"!=typeof t[e])&&"__proto__"!=e)return t[e]}},619:t=>{t.exports=function(t){return this.__data__.set(t,"__lodash_hash_undefined__"),this}},2385:t=>{t.exports=function(t){return this.__data__.has(t)}},1814:t=>{t.exports=function(t){var e=-1,n=Array(t.size);return t.forEach((function(t){n[++e]=t})),n}},61:(t,e,n)=>{var r=n(6560),i=n(1275)(r);t.exports=i},1275:t=>{var e=Date.now;t.exports=function(t){var n=0,r=0;return function(){var i=e(),o=16-(i-r);if(r=i,o>0){if(++n>=800)return arguments[0]}else n=0;return t.apply(void 0,arguments)}}},7465:(t,e,n)=>{var r=n(8407);t.exports=function(){this.__data__=new r,this.size=0}},3779:t=>{t.exports=function(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n}},7599:t=>{t.exports=function(t){return this.__data__.get(t)}},4758:t=>{t.exports=function(t){return this.__data__.has(t)}},4309:(t,e,n)=>{var r=n(8407),i=n(7071),o=n(3369);t.exports=function(t,e){var n=this.__data__;if(n instanceof r){var a=n.__data__;if(!i||a.length<199)return a.push([t,e]),this.size=++n.size,this;n=this.__data__=new o(a)}return n.set(t,e),this.size=n.size,this}},2351:t=>{t.exports=function(t,e,n){for(var r=n-1,i=t.length;++r{var r=n(8983),i=n(2689),o=n(1903);t.exports=function(t){return i(t)?o(t):r(t)}},5514:(t,e,n)=>{var r=n(4523),i=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,o=/\\(\\)?/g,a=r((function(t){var e=[];return 46===t.charCodeAt(0)&&e.push(""),t.replace(i,(function(t,n,r,i){e.push(r?i.replace(o,"$1"):n||t)})),e}));t.exports=a},327:(t,e,n)=>{var r=n(3448);t.exports=function(t){if("string"==typeof t||r(t))return t;var e=t+"";return"0"==e&&1/t==-1/0?"-0":e}},346:t=>{var e=Function.prototype.toString;t.exports=function(t){if(null!=t){try{return e.call(t)}catch(t){}try{return t+""}catch(t){}}return""}},7990:t=>{var e=/\s/;t.exports=function(t){for(var n=t.length;n--&&e.test(t.charAt(n)););return n}},1903:t=>{var e="\\ud800-\\udfff",n="["+e+"]",r="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",i="\\ud83c[\\udffb-\\udfff]",o="[^"+e+"]",a="(?:\\ud83c[\\udde6-\\uddff]){2}",s="[\\ud800-\\udbff][\\udc00-\\udfff]",c="(?:"+r+"|"+i+")?",u="[\\ufe0e\\ufe0f]?",l=u+c+"(?:\\u200d(?:"+[o,a,s].join("|")+")"+u+c+")*",h="(?:"+[o+r+"?",r,a,s,n].join("|")+")",f=RegExp(i+"(?="+i+")|"+h+l,"g");t.exports=function(t){for(var e=f.lastIndex=0;f.test(t);)++e;return e}},6678:(t,e,n)=>{var r=n(5990);t.exports=function(t){return r(t,4)}},361:(t,e,n)=>{var r=n(5990);t.exports=function(t){return r(t,5)}},5703:t=>{t.exports=function(t){return function(){return t}}},3279:(t,e,n)=>{var r=n(3218),i=n(7771),o=n(4841),a=Math.max,s=Math.min;t.exports=function(t,e,n){var c,u,l,h,f,d,p=0,g=!1,v=!1,b=!0;if("function"!=typeof t)throw new TypeError("Expected a function");function y(e){var n=c,r=u;return c=u=void 0,p=e,h=t.apply(r,n)}function m(t){var n=t-d;return void 0===d||n>=e||n<0||v&&t-p>=l}function w(){var t=i();if(m(t))return x(t);f=setTimeout(w,function(t){var n=e-(t-d);return v?s(n,l-(t-p)):n}(t))}function x(t){return f=void 0,b&&c?y(t):(c=u=void 0,h)}function _(){var t=i(),n=m(t);if(c=arguments,u=this,d=t,n){if(void 0===f)return function(t){return p=t,f=setTimeout(w,e),g?y(t):h}(d);if(v)return clearTimeout(f),f=setTimeout(w,e),y(d)}return void 0===f&&(f=setTimeout(w,e)),h}return e=o(e)||0,r(n)&&(g=!!n.leading,l=(v="maxWait"in n)?a(o(n.maxWait)||0,e):l,b="trailing"in n?!!n.trailing:b),_.cancel=function(){void 0!==f&&clearTimeout(f),p=0,c=d=u=f=void 0},_.flush=function(){return void 0===f?h:x(i())},_}},1747:(t,e,n)=>{var r=n(5976),i=n(7813),o=n(6612),a=n(1704),s=Object.prototype,c=s.hasOwnProperty,u=r((function(t,e){t=Object(t);var n=-1,r=e.length,u=r>2?e[2]:void 0;for(u&&o(e[0],e[1],u)&&(r=1);++n{t.exports=n(4486)},7813:t=>{t.exports=function(t,e){return t===e||t!=t&&e!=e}},3105:(t,e,n)=>{var r=n(4963),i=n(760),o=n(7206),a=n(1469);t.exports=function(t,e){return(a(t)?r:i)(t,o(e,3))}},3311:(t,e,n)=>{var r=n(7740)(n(998));t.exports=r},998:(t,e,n)=>{var r=n(1848),i=n(7206),o=n(554),a=Math.max;t.exports=function(t,e,n){var s=null==t?0:t.length;if(!s)return-1;var c=null==n?0:o(n);return c<0&&(c=a(s+c,0)),r(t,i(e,3),c)}},5564:(t,e,n)=>{var r=n(1078);t.exports=function(t){return null!=t&&t.length?r(t,1):[]}},4486:(t,e,n)=>{var r=n(7412),i=n(9881),o=n(4290),a=n(1469);t.exports=function(t,e){return(a(t)?r:i)(t,o(e))}},2620:(t,e,n)=>{var r=n(8483),i=n(4290),o=n(1704);t.exports=function(t,e){return null==t?t:r(t,i(e),o)}},7361:(t,e,n)=>{var r=n(7786);t.exports=function(t,e,n){var i=null==t?void 0:r(t,e);return void 0===i?n:i}},8721:(t,e,n)=>{var r=n(8565),i=n(222);t.exports=function(t,e){return null!=t&&i(t,e,r)}},9095:(t,e,n)=>{var r=n(13),i=n(222);t.exports=function(t,e){return null!=t&&i(t,e,r)}},6557:t=>{t.exports=function(t){return t}},5694:(t,e,n)=>{var r=n(9454),i=n(7005),o=Object.prototype,a=o.hasOwnProperty,s=o.propertyIsEnumerable,c=r(function(){return arguments}())?r:function(t){return i(t)&&a.call(t,"callee")&&!s.call(t,"callee")};t.exports=c},1469:t=>{var e=Array.isArray;t.exports=e},8612:(t,e,n)=>{var r=n(3560),i=n(1780);t.exports=function(t){return null!=t&&i(t.length)&&!r(t)}},9246:(t,e,n)=>{var r=n(8612),i=n(7005);t.exports=function(t){return i(t)&&r(t)}},4144:(t,e,n)=>{t=n.nmd(t);var r=n(5639),i=n(5062),o=e&&!e.nodeType&&e,a=o&&t&&!t.nodeType&&t,s=a&&a.exports===o?r.Buffer:void 0,c=(s?s.isBuffer:void 0)||i;t.exports=c},1609:(t,e,n)=>{var r=n(280),i=n(4160),o=n(5694),a=n(1469),s=n(8612),c=n(4144),u=n(5726),l=n(6719),h=Object.prototype.hasOwnProperty;t.exports=function(t){if(null==t)return!0;if(s(t)&&(a(t)||"string"==typeof t||"function"==typeof t.splice||c(t)||l(t)||o(t)))return!t.length;var e=i(t);if("[object Map]"==e||"[object Set]"==e)return!t.size;if(u(t))return!r(t).length;for(var n in t)if(h.call(t,n))return!1;return!0}},3560:(t,e,n)=>{var r=n(4239),i=n(3218);t.exports=function(t){if(!i(t))return!1;var e=r(t);return"[object Function]"==e||"[object GeneratorFunction]"==e||"[object AsyncFunction]"==e||"[object Proxy]"==e}},1780:t=>{t.exports=function(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=9007199254740991}},6688:(t,e,n)=>{var r=n(5588),i=n(1717),o=n(1167),a=o&&o.isMap,s=a?i(a):r;t.exports=s},3218:t=>{t.exports=function(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}},7005:t=>{t.exports=function(t){return null!=t&&"object"==typeof t}},8630:(t,e,n)=>{var r=n(4239),i=n(5924),o=n(7005),a=Function.prototype,s=Object.prototype,c=a.toString,u=s.hasOwnProperty,l=c.call(Object);t.exports=function(t){if(!o(t)||"[object Object]"!=r(t))return!1;var e=i(t);if(null===e)return!0;var n=u.call(e,"constructor")&&e.constructor;return"function"==typeof n&&n instanceof n&&c.call(n)==l}},2928:(t,e,n)=>{var r=n(9221),i=n(1717),o=n(1167),a=o&&o.isSet,s=a?i(a):r;t.exports=s},7037:(t,e,n)=>{var r=n(4239),i=n(1469),o=n(7005);t.exports=function(t){return"string"==typeof t||!i(t)&&o(t)&&"[object String]"==r(t)}},3448:(t,e,n)=>{var r=n(4239),i=n(7005);t.exports=function(t){return"symbol"==typeof t||i(t)&&"[object Symbol]"==r(t)}},6719:(t,e,n)=>{var r=n(8749),i=n(1717),o=n(1167),a=o&&o.isTypedArray,s=a?i(a):r;t.exports=s},2353:t=>{t.exports=function(t){return void 0===t}},3674:(t,e,n)=>{var r=n(4636),i=n(280),o=n(8612);t.exports=function(t){return o(t)?r(t):i(t)}},1704:(t,e,n)=>{var r=n(4636),i=n(313),o=n(8612);t.exports=function(t){return o(t)?r(t,!0):i(t)}},928:t=>{t.exports=function(t){var e=null==t?0:t.length;return e?t[e-1]:void 0}},6486:function(t,e,n){var r;t=n.nmd(t),function(){var i,o="Expected a function",a="__lodash_hash_undefined__",s="__lodash_placeholder__",c=32,u=128,l=1/0,h=9007199254740991,f=NaN,d=4294967295,p=[["ary",u],["bind",1],["bindKey",2],["curry",8],["curryRight",16],["flip",512],["partial",c],["partialRight",64],["rearg",256]],g="[object Arguments]",v="[object Array]",b="[object Boolean]",y="[object Date]",m="[object Error]",w="[object Function]",x="[object GeneratorFunction]",_="[object Map]",E="[object Number]",k="[object Object]",T="[object Promise]",C="[object RegExp]",N="[object Set]",A="[object String]",S="[object Symbol]",O="[object WeakMap]",L="[object ArrayBuffer]",I="[object DataView]",M="[object Float32Array]",P="[object Float64Array]",D="[object Int8Array]",R="[object Int16Array]",j="[object Int32Array]",G="[object Uint8Array]",B="[object Uint8ClampedArray]",F="[object Uint16Array]",H="[object Uint32Array]",Y=/\b__p \+= '';/g,z=/\b(__p \+=) '' \+/g,U=/(__e\(.*?\)|\b__t\)) \+\n'';/g,V=/&(?:amp|lt|gt|quot|#39);/g,q=/[&<>"']/g,X=RegExp(V.source),W=RegExp(q.source),$=/<%-([\s\S]+?)%>/g,Z=/<%([\s\S]+?)%>/g,K=/<%=([\s\S]+?)%>/g,Q=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,J=/^\w*$/,tt=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,et=/[\\^$.*+?()[\]{}|]/g,nt=RegExp(et.source),rt=/^\s+/,it=/\s/,ot=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,at=/\{\n\/\* \[wrapped with (.+)\] \*/,st=/,? & /,ct=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,ut=/[()=,{}\[\]\/\s]/,lt=/\\(\\)?/g,ht=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,ft=/\w*$/,dt=/^[-+]0x[0-9a-f]+$/i,pt=/^0b[01]+$/i,gt=/^\[object .+?Constructor\]$/,vt=/^0o[0-7]+$/i,bt=/^(?:0|[1-9]\d*)$/,yt=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,mt=/($^)/,wt=/['\n\r\u2028\u2029\\]/g,xt="\\ud800-\\udfff",_t="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",Et="\\u2700-\\u27bf",kt="a-z\\xdf-\\xf6\\xf8-\\xff",Tt="A-Z\\xc0-\\xd6\\xd8-\\xde",Ct="\\ufe0e\\ufe0f",Nt="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",At="["+xt+"]",St="["+Nt+"]",Ot="["+_t+"]",Lt="\\d+",It="["+Et+"]",Mt="["+kt+"]",Pt="[^"+xt+Nt+Lt+Et+kt+Tt+"]",Dt="\\ud83c[\\udffb-\\udfff]",Rt="[^"+xt+"]",jt="(?:\\ud83c[\\udde6-\\uddff]){2}",Gt="[\\ud800-\\udbff][\\udc00-\\udfff]",Bt="["+Tt+"]",Ft="\\u200d",Ht="(?:"+Mt+"|"+Pt+")",Yt="(?:"+Bt+"|"+Pt+")",zt="(?:['’](?:d|ll|m|re|s|t|ve))?",Ut="(?:['’](?:D|LL|M|RE|S|T|VE))?",Vt="(?:"+Ot+"|"+Dt+")?",qt="["+Ct+"]?",Xt=qt+Vt+"(?:"+Ft+"(?:"+[Rt,jt,Gt].join("|")+")"+qt+Vt+")*",Wt="(?:"+[It,jt,Gt].join("|")+")"+Xt,$t="(?:"+[Rt+Ot+"?",Ot,jt,Gt,At].join("|")+")",Zt=RegExp("['’]","g"),Kt=RegExp(Ot,"g"),Qt=RegExp(Dt+"(?="+Dt+")|"+$t+Xt,"g"),Jt=RegExp([Bt+"?"+Mt+"+"+zt+"(?="+[St,Bt,"$"].join("|")+")",Yt+"+"+Ut+"(?="+[St,Bt+Ht,"$"].join("|")+")",Bt+"?"+Ht+"+"+zt,Bt+"+"+Ut,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Lt,Wt].join("|"),"g"),te=RegExp("["+Ft+xt+_t+Ct+"]"),ee=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,ne=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],re=-1,ie={};ie[M]=ie[P]=ie[D]=ie[R]=ie[j]=ie[G]=ie[B]=ie[F]=ie[H]=!0,ie[g]=ie[v]=ie[L]=ie[b]=ie[I]=ie[y]=ie[m]=ie[w]=ie[_]=ie[E]=ie[k]=ie[C]=ie[N]=ie[A]=ie[O]=!1;var oe={};oe[g]=oe[v]=oe[L]=oe[I]=oe[b]=oe[y]=oe[M]=oe[P]=oe[D]=oe[R]=oe[j]=oe[_]=oe[E]=oe[k]=oe[C]=oe[N]=oe[A]=oe[S]=oe[G]=oe[B]=oe[F]=oe[H]=!0,oe[m]=oe[w]=oe[O]=!1;var ae={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},se=parseFloat,ce=parseInt,ue="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g,le="object"==typeof self&&self&&self.Object===Object&&self,he=ue||le||Function("return this")(),fe=e&&!e.nodeType&&e,de=fe&&t&&!t.nodeType&&t,pe=de&&de.exports===fe,ge=pe&&ue.process,ve=function(){try{return de&&de.require&&de.require("util").types||ge&&ge.binding&&ge.binding("util")}catch(t){}}(),be=ve&&ve.isArrayBuffer,ye=ve&&ve.isDate,me=ve&&ve.isMap,we=ve&&ve.isRegExp,xe=ve&&ve.isSet,_e=ve&&ve.isTypedArray;function Ee(t,e,n){switch(n.length){case 0:return t.call(e);case 1:return t.call(e,n[0]);case 2:return t.call(e,n[0],n[1]);case 3:return t.call(e,n[0],n[1],n[2])}return t.apply(e,n)}function ke(t,e,n,r){for(var i=-1,o=null==t?0:t.length;++i-1}function Oe(t,e,n){for(var r=-1,i=null==t?0:t.length;++r-1;);return n}function Je(t,e){for(var n=t.length;n--&&Be(e,t[n],0)>-1;);return n}var tn=Ue({À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"}),en=Ue({"&":"&","<":"<",">":">",'"':""","'":"'"});function nn(t){return"\\"+ae[t]}function rn(t){return te.test(t)}function on(t){var e=-1,n=Array(t.size);return t.forEach((function(t,r){n[++e]=[r,t]})),n}function an(t,e){return function(n){return t(e(n))}}function sn(t,e){for(var n=-1,r=t.length,i=0,o=[];++n",""":'"',"'":"'"}),pn=function t(e){var n,r=(e=null==e?he:pn.defaults(he.Object(),e,pn.pick(he,ne))).Array,it=e.Date,xt=e.Error,_t=e.Function,Et=e.Math,kt=e.Object,Tt=e.RegExp,Ct=e.String,Nt=e.TypeError,At=r.prototype,St=_t.prototype,Ot=kt.prototype,Lt=e["__core-js_shared__"],It=St.toString,Mt=Ot.hasOwnProperty,Pt=0,Dt=(n=/[^.]+$/.exec(Lt&&Lt.keys&&Lt.keys.IE_PROTO||""))?"Symbol(src)_1."+n:"",Rt=Ot.toString,jt=It.call(kt),Gt=he._,Bt=Tt("^"+It.call(Mt).replace(et,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Ft=pe?e.Buffer:i,Ht=e.Symbol,Yt=e.Uint8Array,zt=Ft?Ft.allocUnsafe:i,Ut=an(kt.getPrototypeOf,kt),Vt=kt.create,qt=Ot.propertyIsEnumerable,Xt=At.splice,Wt=Ht?Ht.isConcatSpreadable:i,$t=Ht?Ht.iterator:i,Qt=Ht?Ht.toStringTag:i,te=function(){try{var t=co(kt,"defineProperty");return t({},"",{}),t}catch(t){}}(),ae=e.clearTimeout!==he.clearTimeout&&e.clearTimeout,ue=it&&it.now!==he.Date.now&&it.now,le=e.setTimeout!==he.setTimeout&&e.setTimeout,fe=Et.ceil,de=Et.floor,ge=kt.getOwnPropertySymbols,ve=Ft?Ft.isBuffer:i,Re=e.isFinite,Ue=At.join,gn=an(kt.keys,kt),vn=Et.max,bn=Et.min,yn=it.now,mn=e.parseInt,wn=Et.random,xn=At.reverse,_n=co(e,"DataView"),En=co(e,"Map"),kn=co(e,"Promise"),Tn=co(e,"Set"),Cn=co(e,"WeakMap"),Nn=co(kt,"create"),An=Cn&&new Cn,Sn={},On=jo(_n),Ln=jo(En),In=jo(kn),Mn=jo(Tn),Pn=jo(Cn),Dn=Ht?Ht.prototype:i,Rn=Dn?Dn.valueOf:i,jn=Dn?Dn.toString:i;function Gn(t){if(ts(t)&&!za(t)&&!(t instanceof Yn)){if(t instanceof Hn)return t;if(Mt.call(t,"__wrapped__"))return Go(t)}return new Hn(t)}var Bn=function(){function t(){}return function(e){if(!Ja(e))return{};if(Vt)return Vt(e);t.prototype=e;var n=new t;return t.prototype=i,n}}();function Fn(){}function Hn(t,e){this.__wrapped__=t,this.__actions__=[],this.__chain__=!!e,this.__index__=0,this.__values__=i}function Yn(t){this.__wrapped__=t,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=d,this.__views__=[]}function zn(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e=e?t:e)),t}function ar(t,e,n,r,o,a){var s,c=1&e,u=2&e,l=4&e;if(n&&(s=o?n(t,r,o,a):n(t)),s!==i)return s;if(!Ja(t))return t;var h=za(t);if(h){if(s=function(t){var e=t.length,n=new t.constructor(e);return e&&"string"==typeof t[0]&&Mt.call(t,"index")&&(n.index=t.index,n.input=t.input),n}(t),!c)return Ci(t,s)}else{var f=ho(t),d=f==w||f==x;if(Xa(t))return wi(t,c);if(f==k||f==g||d&&!o){if(s=u||d?{}:po(t),!c)return u?function(t,e){return Ni(t,lo(t),e)}(t,function(t,e){return t&&Ni(e,Ls(e),t)}(s,t)):function(t,e){return Ni(t,uo(t),e)}(t,nr(s,t))}else{if(!oe[f])return o?t:{};s=function(t,e,n){var r,i=t.constructor;switch(e){case L:return xi(t);case b:case y:return new i(+t);case I:return function(t,e){var n=e?xi(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.byteLength)}(t,n);case M:case P:case D:case R:case j:case G:case B:case F:case H:return _i(t,n);case _:return new i;case E:case A:return new i(t);case C:return function(t){var e=new t.constructor(t.source,ft.exec(t));return e.lastIndex=t.lastIndex,e}(t);case N:return new i;case S:return r=t,Rn?kt(Rn.call(r)):{}}}(t,f,c)}}a||(a=new Xn);var p=a.get(t);if(p)return p;a.set(t,s),os(t)?t.forEach((function(r){s.add(ar(r,e,n,r,t,a))})):es(t)&&t.forEach((function(r,i){s.set(i,ar(r,e,n,i,t,a))}));var v=h?i:(l?u?eo:to:u?Ls:Os)(t);return Te(v||t,(function(r,i){v&&(r=t[i=r]),Jn(s,i,ar(r,e,n,i,t,a))})),s}function sr(t,e,n){var r=n.length;if(null==t)return!r;for(t=kt(t);r--;){var o=n[r],a=e[o],s=t[o];if(s===i&&!(o in t)||!a(s))return!1}return!0}function cr(t,e,n){if("function"!=typeof t)throw new Nt(o);return Ao((function(){t.apply(i,n)}),e)}function ur(t,e,n,r){var i=-1,o=Se,a=!0,s=t.length,c=[],u=e.length;if(!s)return c;n&&(e=Le(e,$e(n))),r?(o=Oe,a=!1):e.length>=200&&(o=Ke,a=!1,e=new qn(e));t:for(;++i-1},Un.prototype.set=function(t,e){var n=this.__data__,r=tr(n,t);return r<0?(++this.size,n.push([t,e])):n[r][1]=e,this},Vn.prototype.clear=function(){this.size=0,this.__data__={hash:new zn,map:new(En||Un),string:new zn}},Vn.prototype.delete=function(t){var e=ao(this,t).delete(t);return this.size-=e?1:0,e},Vn.prototype.get=function(t){return ao(this,t).get(t)},Vn.prototype.has=function(t){return ao(this,t).has(t)},Vn.prototype.set=function(t,e){var n=ao(this,t),r=n.size;return n.set(t,e),this.size+=n.size==r?0:1,this},qn.prototype.add=qn.prototype.push=function(t){return this.__data__.set(t,a),this},qn.prototype.has=function(t){return this.__data__.has(t)},Xn.prototype.clear=function(){this.__data__=new Un,this.size=0},Xn.prototype.delete=function(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n},Xn.prototype.get=function(t){return this.__data__.get(t)},Xn.prototype.has=function(t){return this.__data__.has(t)},Xn.prototype.set=function(t,e){var n=this.__data__;if(n instanceof Un){var r=n.__data__;if(!En||r.length<199)return r.push([t,e]),this.size=++n.size,this;n=this.__data__=new Vn(r)}return n.set(t,e),this.size=n.size,this};var lr=Oi(yr),hr=Oi(mr,!0);function fr(t,e){var n=!0;return lr(t,(function(t,r,i){return n=!!e(t,r,i)})),n}function dr(t,e,n){for(var r=-1,o=t.length;++r0&&n(s)?e>1?gr(s,e-1,n,r,i):Ie(i,s):r||(i[i.length]=s)}return i}var vr=Li(),br=Li(!0);function yr(t,e){return t&&vr(t,e,Os)}function mr(t,e){return t&&br(t,e,Os)}function wr(t,e){return Ae(e,(function(e){return Za(t[e])}))}function xr(t,e){for(var n=0,r=(e=vi(e,t)).length;null!=t&&ne}function Tr(t,e){return null!=t&&Mt.call(t,e)}function Cr(t,e){return null!=t&&e in kt(t)}function Nr(t,e,n){for(var o=n?Oe:Se,a=t[0].length,s=t.length,c=s,u=r(s),l=1/0,h=[];c--;){var f=t[c];c&&e&&(f=Le(f,$e(e))),l=bn(f.length,l),u[c]=!n&&(e||a>=120&&f.length>=120)?new qn(c&&f):i}f=t[0];var d=-1,p=u[0];t:for(;++d=s?c:c*("desc"==n[r]?-1:1)}return t.index-e.index}(t,e,n)}));r--;)t[r]=t[r].value;return t}(i)}function Yr(t,e,n){for(var r=-1,i=e.length,o={};++r-1;)s!==t&&Xt.call(s,c,1),Xt.call(t,c,1);return t}function Ur(t,e){for(var n=t?e.length:0,r=n-1;n--;){var i=e[n];if(n==r||i!==o){var o=i;vo(i)?Xt.call(t,i,1):ci(t,i)}}return t}function Vr(t,e){return t+de(wn()*(e-t+1))}function qr(t,e){var n="";if(!t||e<1||e>h)return n;do{e%2&&(n+=t),(e=de(e/2))&&(t+=t)}while(e);return n}function Xr(t,e){return So(ko(t,e,nc),t+"")}function Wr(t){return $n(Bs(t))}function $r(t,e){var n=Bs(t);return Io(n,or(e,0,n.length))}function Zr(t,e,n,r){if(!Ja(t))return t;for(var o=-1,a=(e=vi(e,t)).length,s=a-1,c=t;null!=c&&++oo?0:o+e),(n=n>o?o:n)<0&&(n+=o),o=e>n?0:n-e>>>0,e>>>=0;for(var a=r(o);++i>>1,a=t[o];null!==a&&!ss(a)&&(n?a<=e:a=200){var u=e?null:qi(t);if(u)return cn(u);a=!1,i=Ke,c=new qn}else c=e?[]:s;t:for(;++r=r?t:ti(t,e,n)}var mi=ae||function(t){return he.clearTimeout(t)};function wi(t,e){if(e)return t.slice();var n=t.length,r=zt?zt(n):new t.constructor(n);return t.copy(r),r}function xi(t){var e=new t.constructor(t.byteLength);return new Yt(e).set(new Yt(t)),e}function _i(t,e){var n=e?xi(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.length)}function Ei(t,e){if(t!==e){var n=t!==i,r=null===t,o=t==t,a=ss(t),s=e!==i,c=null===e,u=e==e,l=ss(e);if(!c&&!l&&!a&&t>e||a&&s&&u&&!c&&!l||r&&s&&u||!n&&u||!o)return 1;if(!r&&!a&&!l&&t1?n[o-1]:i,s=o>2?n[2]:i;for(a=t.length>3&&"function"==typeof a?(o--,a):i,s&&bo(n[0],n[1],s)&&(a=o<3?i:a,o=1),e=kt(e);++r-1?o[a?e[s]:s]:i}}function Ri(t){return Ji((function(e){var n=e.length,r=n,a=Hn.prototype.thru;for(t&&e.reverse();r--;){var s=e[r];if("function"!=typeof s)throw new Nt(o);if(a&&!c&&"wrapper"==ro(s))var c=new Hn([],!0)}for(r=c?r:n;++r1&&w.reverse(),d&&hc))return!1;var l=a.get(t),h=a.get(e);if(l&&h)return l==e&&h==t;var f=-1,d=!0,p=2&n?new qn:i;for(a.set(t,e),a.set(e,t);++f-1&&t%1==0&&t1?"& ":"")+e[r],e=e.join(n>2?", ":" "),t.replace(ot,"{\n/* [wrapped with "+e+"] */\n")}(r,function(t,e){return Te(p,(function(n){var r="_."+n[0];e&n[1]&&!Se(t,r)&&t.push(r)})),t.sort()}(function(t){var e=t.match(at);return e?e[1].split(st):[]}(r),n)))}function Lo(t){var e=0,n=0;return function(){var r=yn(),o=16-(r-n);if(n=r,o>0){if(++e>=800)return arguments[0]}else e=0;return t.apply(i,arguments)}}function Io(t,e){var n=-1,r=t.length,o=r-1;for(e=e===i?r:e;++n1?t[e-1]:i;return n="function"==typeof n?(t.pop(),n):i,ia(t,n)}));function ha(t){var e=Gn(t);return e.__chain__=!0,e}function fa(t,e){return e(t)}var da=Ji((function(t){var e=t.length,n=e?t[0]:0,r=this.__wrapped__,o=function(e){return ir(e,t)};return!(e>1||this.__actions__.length)&&r instanceof Yn&&vo(n)?((r=r.slice(n,+n+(e?1:0))).__actions__.push({func:fa,args:[o],thisArg:i}),new Hn(r,this.__chain__).thru((function(t){return e&&!t.length&&t.push(i),t}))):this.thru(o)})),pa=Ai((function(t,e,n){Mt.call(t,n)?++t[n]:rr(t,n,1)})),ga=Di(Yo),va=Di(zo);function ba(t,e){return(za(t)?Te:lr)(t,oo(e,3))}function ya(t,e){return(za(t)?Ce:hr)(t,oo(e,3))}var ma=Ai((function(t,e,n){Mt.call(t,n)?t[n].push(e):rr(t,n,[e])})),wa=Xr((function(t,e,n){var i=-1,o="function"==typeof e,a=Va(t)?r(t.length):[];return lr(t,(function(t){a[++i]=o?Ee(e,t,n):Ar(t,e,n)})),a})),xa=Ai((function(t,e,n){rr(t,n,e)}));function _a(t,e){return(za(t)?Le:Rr)(t,oo(e,3))}var Ea=Ai((function(t,e,n){t[n?0:1].push(e)}),(function(){return[[],[]]})),ka=Xr((function(t,e){if(null==t)return[];var n=e.length;return n>1&&bo(t,e[0],e[1])?e=[]:n>2&&bo(e[0],e[1],e[2])&&(e=[e[0]]),Hr(t,gr(e,1),[])})),Ta=ue||function(){return he.Date.now()};function Ca(t,e,n){return e=n?i:e,e=t&&null==e?t.length:e,Wi(t,u,i,i,i,i,e)}function Na(t,e){var n;if("function"!=typeof e)throw new Nt(o);return t=ds(t),function(){return--t>0&&(n=e.apply(this,arguments)),t<=1&&(e=i),n}}var Aa=Xr((function(t,e,n){var r=1;if(n.length){var i=sn(n,io(Aa));r|=c}return Wi(t,r,e,n,i)})),Sa=Xr((function(t,e,n){var r=3;if(n.length){var i=sn(n,io(Sa));r|=c}return Wi(e,r,t,n,i)}));function Oa(t,e,n){var r,a,s,c,u,l,h=0,f=!1,d=!1,p=!0;if("function"!=typeof t)throw new Nt(o);function g(e){var n=r,o=a;return r=a=i,h=e,c=t.apply(o,n)}function v(t){var n=t-l;return l===i||n>=e||n<0||d&&t-h>=s}function b(){var t=Ta();if(v(t))return y(t);u=Ao(b,function(t){var n=e-(t-l);return d?bn(n,s-(t-h)):n}(t))}function y(t){return u=i,p&&r?g(t):(r=a=i,c)}function m(){var t=Ta(),n=v(t);if(r=arguments,a=this,l=t,n){if(u===i)return function(t){return h=t,u=Ao(b,e),f?g(t):c}(l);if(d)return mi(u),u=Ao(b,e),g(l)}return u===i&&(u=Ao(b,e)),c}return e=gs(e)||0,Ja(n)&&(f=!!n.leading,s=(d="maxWait"in n)?vn(gs(n.maxWait)||0,e):s,p="trailing"in n?!!n.trailing:p),m.cancel=function(){u!==i&&mi(u),h=0,r=l=a=u=i},m.flush=function(){return u===i?c:y(Ta())},m}var La=Xr((function(t,e){return cr(t,1,e)})),Ia=Xr((function(t,e,n){return cr(t,gs(e)||0,n)}));function Ma(t,e){if("function"!=typeof t||null!=e&&"function"!=typeof e)throw new Nt(o);var n=function(){var r=arguments,i=e?e.apply(this,r):r[0],o=n.cache;if(o.has(i))return o.get(i);var a=t.apply(this,r);return n.cache=o.set(i,a)||o,a};return n.cache=new(Ma.Cache||Vn),n}function Pa(t){if("function"!=typeof t)throw new Nt(o);return function(){var e=arguments;switch(e.length){case 0:return!t.call(this);case 1:return!t.call(this,e[0]);case 2:return!t.call(this,e[0],e[1]);case 3:return!t.call(this,e[0],e[1],e[2])}return!t.apply(this,e)}}Ma.Cache=Vn;var Da=bi((function(t,e){var n=(e=1==e.length&&za(e[0])?Le(e[0],$e(oo())):Le(gr(e,1),$e(oo()))).length;return Xr((function(r){for(var i=-1,o=bn(r.length,n);++i=e})),Ya=Sr(function(){return arguments}())?Sr:function(t){return ts(t)&&Mt.call(t,"callee")&&!qt.call(t,"callee")},za=r.isArray,Ua=be?$e(be):function(t){return ts(t)&&Er(t)==L};function Va(t){return null!=t&&Qa(t.length)&&!Za(t)}function qa(t){return ts(t)&&Va(t)}var Xa=ve||gc,Wa=ye?$e(ye):function(t){return ts(t)&&Er(t)==y};function $a(t){if(!ts(t))return!1;var e=Er(t);return e==m||"[object DOMException]"==e||"string"==typeof t.message&&"string"==typeof t.name&&!rs(t)}function Za(t){if(!Ja(t))return!1;var e=Er(t);return e==w||e==x||"[object AsyncFunction]"==e||"[object Proxy]"==e}function Ka(t){return"number"==typeof t&&t==ds(t)}function Qa(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=h}function Ja(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}function ts(t){return null!=t&&"object"==typeof t}var es=me?$e(me):function(t){return ts(t)&&ho(t)==_};function ns(t){return"number"==typeof t||ts(t)&&Er(t)==E}function rs(t){if(!ts(t)||Er(t)!=k)return!1;var e=Ut(t);if(null===e)return!0;var n=Mt.call(e,"constructor")&&e.constructor;return"function"==typeof n&&n instanceof n&&It.call(n)==jt}var is=we?$e(we):function(t){return ts(t)&&Er(t)==C},os=xe?$e(xe):function(t){return ts(t)&&ho(t)==N};function as(t){return"string"==typeof t||!za(t)&&ts(t)&&Er(t)==A}function ss(t){return"symbol"==typeof t||ts(t)&&Er(t)==S}var cs=_e?$e(_e):function(t){return ts(t)&&Qa(t.length)&&!!ie[Er(t)]},us=zi(Dr),ls=zi((function(t,e){return t<=e}));function hs(t){if(!t)return[];if(Va(t))return as(t)?hn(t):Ci(t);if($t&&t[$t])return function(t){for(var e,n=[];!(e=t.next()).done;)n.push(e.value);return n}(t[$t]());var e=ho(t);return(e==_?on:e==N?cn:Bs)(t)}function fs(t){return t?(t=gs(t))===l||t===-1/0?17976931348623157e292*(t<0?-1:1):t==t?t:0:0===t?t:0}function ds(t){var e=fs(t),n=e%1;return e==e?n?e-n:e:0}function ps(t){return t?or(ds(t),0,d):0}function gs(t){if("number"==typeof t)return t;if(ss(t))return f;if(Ja(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=Ja(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=We(t);var n=pt.test(t);return n||vt.test(t)?ce(t.slice(2),n?2:8):dt.test(t)?f:+t}function vs(t){return Ni(t,Ls(t))}function bs(t){return null==t?"":ai(t)}var ys=Si((function(t,e){if(xo(e)||Va(e))Ni(e,Os(e),t);else for(var n in e)Mt.call(e,n)&&Jn(t,n,e[n])})),ms=Si((function(t,e){Ni(e,Ls(e),t)})),ws=Si((function(t,e,n,r){Ni(e,Ls(e),t,r)})),xs=Si((function(t,e,n,r){Ni(e,Os(e),t,r)})),_s=Ji(ir),Es=Xr((function(t,e){t=kt(t);var n=-1,r=e.length,o=r>2?e[2]:i;for(o&&bo(e[0],e[1],o)&&(r=1);++n1),e})),Ni(t,eo(t),n),r&&(n=ar(n,7,Ki));for(var i=e.length;i--;)ci(n,e[i]);return n})),Ds=Ji((function(t,e){return null==t?{}:function(t,e){return Yr(t,e,(function(e,n){return Cs(t,n)}))}(t,e)}));function Rs(t,e){if(null==t)return{};var n=Le(eo(t),(function(t){return[t]}));return e=oo(e),Yr(t,n,(function(t,n){return e(t,n[0])}))}var js=Xi(Os),Gs=Xi(Ls);function Bs(t){return null==t?[]:Ze(t,Os(t))}var Fs=Mi((function(t,e,n){return e=e.toLowerCase(),t+(n?Hs(e):e)}));function Hs(t){return $s(bs(t).toLowerCase())}function Ys(t){return(t=bs(t))&&t.replace(yt,tn).replace(Kt,"")}var zs=Mi((function(t,e,n){return t+(n?"-":"")+e.toLowerCase()})),Us=Mi((function(t,e,n){return t+(n?" ":"")+e.toLowerCase()})),Vs=Ii("toLowerCase"),qs=Mi((function(t,e,n){return t+(n?"_":"")+e.toLowerCase()})),Xs=Mi((function(t,e,n){return t+(n?" ":"")+$s(e)})),Ws=Mi((function(t,e,n){return t+(n?" ":"")+e.toUpperCase()})),$s=Ii("toUpperCase");function Zs(t,e,n){return t=bs(t),(e=n?i:e)===i?function(t){return ee.test(t)}(t)?function(t){return t.match(Jt)||[]}(t):function(t){return t.match(ct)||[]}(t):t.match(e)||[]}var Ks=Xr((function(t,e){try{return Ee(t,i,e)}catch(t){return $a(t)?t:new xt(t)}})),Qs=Ji((function(t,e){return Te(e,(function(e){e=Ro(e),rr(t,e,Aa(t[e],t))})),t}));function Js(t){return function(){return t}}var tc=Ri(),ec=Ri(!0);function nc(t){return t}function rc(t){return Mr("function"==typeof t?t:ar(t,1))}var ic=Xr((function(t,e){return function(n){return Ar(n,t,e)}})),oc=Xr((function(t,e){return function(n){return Ar(t,n,e)}}));function ac(t,e,n){var r=Os(e),i=wr(e,r);null!=n||Ja(e)&&(i.length||!r.length)||(n=e,e=t,t=this,i=wr(e,Os(e)));var o=!(Ja(n)&&"chain"in n&&!n.chain),a=Za(t);return Te(i,(function(n){var r=e[n];t[n]=r,a&&(t.prototype[n]=function(){var e=this.__chain__;if(o||e){var n=t(this.__wrapped__);return(n.__actions__=Ci(this.__actions__)).push({func:r,args:arguments,thisArg:t}),n.__chain__=e,n}return r.apply(t,Ie([this.value()],arguments))})})),t}function sc(){}var cc=Fi(Le),uc=Fi(Ne),lc=Fi(De);function hc(t){return yo(t)?ze(Ro(t)):function(t){return function(e){return xr(e,t)}}(t)}var fc=Yi(),dc=Yi(!0);function pc(){return[]}function gc(){return!1}var vc,bc=Bi((function(t,e){return t+e}),0),yc=Vi("ceil"),mc=Bi((function(t,e){return t/e}),1),wc=Vi("floor"),xc=Bi((function(t,e){return t*e}),1),_c=Vi("round"),Ec=Bi((function(t,e){return t-e}),0);return Gn.after=function(t,e){if("function"!=typeof e)throw new Nt(o);return t=ds(t),function(){if(--t<1)return e.apply(this,arguments)}},Gn.ary=Ca,Gn.assign=ys,Gn.assignIn=ms,Gn.assignInWith=ws,Gn.assignWith=xs,Gn.at=_s,Gn.before=Na,Gn.bind=Aa,Gn.bindAll=Qs,Gn.bindKey=Sa,Gn.castArray=function(){if(!arguments.length)return[];var t=arguments[0];return za(t)?t:[t]},Gn.chain=ha,Gn.chunk=function(t,e,n){e=(n?bo(t,e,n):e===i)?1:vn(ds(e),0);var o=null==t?0:t.length;if(!o||e<1)return[];for(var a=0,s=0,c=r(fe(o/e));ao?0:o+n),(r=r===i||r>o?o:ds(r))<0&&(r+=o),r=n>r?0:ps(r);n>>0)?(t=bs(t))&&("string"==typeof e||null!=e&&!is(e))&&!(e=ai(e))&&rn(t)?yi(hn(t),0,n):t.split(e,n):[]},Gn.spread=function(t,e){if("function"!=typeof t)throw new Nt(o);return e=null==e?0:vn(ds(e),0),Xr((function(n){var r=n[e],i=yi(n,0,e);return r&&Ie(i,r),Ee(t,this,i)}))},Gn.tail=function(t){var e=null==t?0:t.length;return e?ti(t,1,e):[]},Gn.take=function(t,e,n){return t&&t.length?ti(t,0,(e=n||e===i?1:ds(e))<0?0:e):[]},Gn.takeRight=function(t,e,n){var r=null==t?0:t.length;return r?ti(t,(e=r-(e=n||e===i?1:ds(e)))<0?0:e,r):[]},Gn.takeRightWhile=function(t,e){return t&&t.length?li(t,oo(e,3),!1,!0):[]},Gn.takeWhile=function(t,e){return t&&t.length?li(t,oo(e,3)):[]},Gn.tap=function(t,e){return e(t),t},Gn.throttle=function(t,e,n){var r=!0,i=!0;if("function"!=typeof t)throw new Nt(o);return Ja(n)&&(r="leading"in n?!!n.leading:r,i="trailing"in n?!!n.trailing:i),Oa(t,e,{leading:r,maxWait:e,trailing:i})},Gn.thru=fa,Gn.toArray=hs,Gn.toPairs=js,Gn.toPairsIn=Gs,Gn.toPath=function(t){return za(t)?Le(t,Ro):ss(t)?[t]:Ci(Do(bs(t)))},Gn.toPlainObject=vs,Gn.transform=function(t,e,n){var r=za(t),i=r||Xa(t)||cs(t);if(e=oo(e,4),null==n){var o=t&&t.constructor;n=i?r?new o:[]:Ja(t)&&Za(o)?Bn(Ut(t)):{}}return(i?Te:yr)(t,(function(t,r,i){return e(n,t,r,i)})),n},Gn.unary=function(t){return Ca(t,1)},Gn.union=ta,Gn.unionBy=ea,Gn.unionWith=na,Gn.uniq=function(t){return t&&t.length?si(t):[]},Gn.uniqBy=function(t,e){return t&&t.length?si(t,oo(e,2)):[]},Gn.uniqWith=function(t,e){return e="function"==typeof e?e:i,t&&t.length?si(t,i,e):[]},Gn.unset=function(t,e){return null==t||ci(t,e)},Gn.unzip=ra,Gn.unzipWith=ia,Gn.update=function(t,e,n){return null==t?t:ui(t,e,gi(n))},Gn.updateWith=function(t,e,n,r){return r="function"==typeof r?r:i,null==t?t:ui(t,e,gi(n),r)},Gn.values=Bs,Gn.valuesIn=function(t){return null==t?[]:Ze(t,Ls(t))},Gn.without=oa,Gn.words=Zs,Gn.wrap=function(t,e){return Ra(gi(e),t)},Gn.xor=aa,Gn.xorBy=sa,Gn.xorWith=ca,Gn.zip=ua,Gn.zipObject=function(t,e){return di(t||[],e||[],Jn)},Gn.zipObjectDeep=function(t,e){return di(t||[],e||[],Zr)},Gn.zipWith=la,Gn.entries=js,Gn.entriesIn=Gs,Gn.extend=ms,Gn.extendWith=ws,ac(Gn,Gn),Gn.add=bc,Gn.attempt=Ks,Gn.camelCase=Fs,Gn.capitalize=Hs,Gn.ceil=yc,Gn.clamp=function(t,e,n){return n===i&&(n=e,e=i),n!==i&&(n=(n=gs(n))==n?n:0),e!==i&&(e=(e=gs(e))==e?e:0),or(gs(t),e,n)},Gn.clone=function(t){return ar(t,4)},Gn.cloneDeep=function(t){return ar(t,5)},Gn.cloneDeepWith=function(t,e){return ar(t,5,e="function"==typeof e?e:i)},Gn.cloneWith=function(t,e){return ar(t,4,e="function"==typeof e?e:i)},Gn.conformsTo=function(t,e){return null==e||sr(t,e,Os(e))},Gn.deburr=Ys,Gn.defaultTo=function(t,e){return null==t||t!=t?e:t},Gn.divide=mc,Gn.endsWith=function(t,e,n){t=bs(t),e=ai(e);var r=t.length,o=n=n===i?r:or(ds(n),0,r);return(n-=e.length)>=0&&t.slice(n,o)==e},Gn.eq=Ba,Gn.escape=function(t){return(t=bs(t))&&W.test(t)?t.replace(q,en):t},Gn.escapeRegExp=function(t){return(t=bs(t))&&nt.test(t)?t.replace(et,"\\$&"):t},Gn.every=function(t,e,n){var r=za(t)?Ne:fr;return n&&bo(t,e,n)&&(e=i),r(t,oo(e,3))},Gn.find=ga,Gn.findIndex=Yo,Gn.findKey=function(t,e){return je(t,oo(e,3),yr)},Gn.findLast=va,Gn.findLastIndex=zo,Gn.findLastKey=function(t,e){return je(t,oo(e,3),mr)},Gn.floor=wc,Gn.forEach=ba,Gn.forEachRight=ya,Gn.forIn=function(t,e){return null==t?t:vr(t,oo(e,3),Ls)},Gn.forInRight=function(t,e){return null==t?t:br(t,oo(e,3),Ls)},Gn.forOwn=function(t,e){return t&&yr(t,oo(e,3))},Gn.forOwnRight=function(t,e){return t&&mr(t,oo(e,3))},Gn.get=Ts,Gn.gt=Fa,Gn.gte=Ha,Gn.has=function(t,e){return null!=t&&fo(t,e,Tr)},Gn.hasIn=Cs,Gn.head=Vo,Gn.identity=nc,Gn.includes=function(t,e,n,r){t=Va(t)?t:Bs(t),n=n&&!r?ds(n):0;var i=t.length;return n<0&&(n=vn(i+n,0)),as(t)?n<=i&&t.indexOf(e,n)>-1:!!i&&Be(t,e,n)>-1},Gn.indexOf=function(t,e,n){var r=null==t?0:t.length;if(!r)return-1;var i=null==n?0:ds(n);return i<0&&(i=vn(r+i,0)),Be(t,e,i)},Gn.inRange=function(t,e,n){return e=fs(e),n===i?(n=e,e=0):n=fs(n),function(t,e,n){return t>=bn(e,n)&&t=-9007199254740991&&t<=h},Gn.isSet=os,Gn.isString=as,Gn.isSymbol=ss,Gn.isTypedArray=cs,Gn.isUndefined=function(t){return t===i},Gn.isWeakMap=function(t){return ts(t)&&ho(t)==O},Gn.isWeakSet=function(t){return ts(t)&&"[object WeakSet]"==Er(t)},Gn.join=function(t,e){return null==t?"":Ue.call(t,e)},Gn.kebabCase=zs,Gn.last=$o,Gn.lastIndexOf=function(t,e,n){var r=null==t?0:t.length;if(!r)return-1;var o=r;return n!==i&&(o=(o=ds(n))<0?vn(r+o,0):bn(o,r-1)),e==e?function(t,e,n){for(var r=n+1;r--;)if(t[r]===e)return r;return r}(t,e,o):Ge(t,He,o,!0)},Gn.lowerCase=Us,Gn.lowerFirst=Vs,Gn.lt=us,Gn.lte=ls,Gn.max=function(t){return t&&t.length?dr(t,nc,kr):i},Gn.maxBy=function(t,e){return t&&t.length?dr(t,oo(e,2),kr):i},Gn.mean=function(t){return Ye(t,nc)},Gn.meanBy=function(t,e){return Ye(t,oo(e,2))},Gn.min=function(t){return t&&t.length?dr(t,nc,Dr):i},Gn.minBy=function(t,e){return t&&t.length?dr(t,oo(e,2),Dr):i},Gn.stubArray=pc,Gn.stubFalse=gc,Gn.stubObject=function(){return{}},Gn.stubString=function(){return""},Gn.stubTrue=function(){return!0},Gn.multiply=xc,Gn.nth=function(t,e){return t&&t.length?Fr(t,ds(e)):i},Gn.noConflict=function(){return he._===this&&(he._=Gt),this},Gn.noop=sc,Gn.now=Ta,Gn.pad=function(t,e,n){t=bs(t);var r=(e=ds(e))?ln(t):0;if(!e||r>=e)return t;var i=(e-r)/2;return Hi(de(i),n)+t+Hi(fe(i),n)},Gn.padEnd=function(t,e,n){t=bs(t);var r=(e=ds(e))?ln(t):0;return e&&re){var r=t;t=e,e=r}if(n||t%1||e%1){var o=wn();return bn(t+o*(e-t+se("1e-"+((o+"").length-1))),e)}return Vr(t,e)},Gn.reduce=function(t,e,n){var r=za(t)?Me:Ve,i=arguments.length<3;return r(t,oo(e,4),n,i,lr)},Gn.reduceRight=function(t,e,n){var r=za(t)?Pe:Ve,i=arguments.length<3;return r(t,oo(e,4),n,i,hr)},Gn.repeat=function(t,e,n){return e=(n?bo(t,e,n):e===i)?1:ds(e),qr(bs(t),e)},Gn.replace=function(){var t=arguments,e=bs(t[0]);return t.length<3?e:e.replace(t[1],t[2])},Gn.result=function(t,e,n){var r=-1,o=(e=vi(e,t)).length;for(o||(o=1,t=i);++rh)return[];var n=d,r=bn(t,d);e=oo(e),t-=d;for(var i=Xe(r,e);++n=a)return t;var c=n-ln(r);if(c<1)return r;var u=s?yi(s,0,c).join(""):t.slice(0,c);if(o===i)return u+r;if(s&&(c+=u.length-c),is(o)){if(t.slice(c).search(o)){var l,h=u;for(o.global||(o=Tt(o.source,bs(ft.exec(o))+"g")),o.lastIndex=0;l=o.exec(h);)var f=l.index;u=u.slice(0,f===i?c:f)}}else if(t.indexOf(ai(o),c)!=c){var d=u.lastIndexOf(o);d>-1&&(u=u.slice(0,d))}return u+r},Gn.unescape=function(t){return(t=bs(t))&&X.test(t)?t.replace(V,dn):t},Gn.uniqueId=function(t){var e=++Pt;return bs(t)+e},Gn.upperCase=Ws,Gn.upperFirst=$s,Gn.each=ba,Gn.eachRight=ya,Gn.first=Vo,ac(Gn,(vc={},yr(Gn,(function(t,e){Mt.call(Gn.prototype,e)||(vc[e]=t)})),vc),{chain:!1}),Gn.VERSION="4.17.21",Te(["bind","bindKey","curry","curryRight","partial","partialRight"],(function(t){Gn[t].placeholder=Gn})),Te(["drop","take"],(function(t,e){Yn.prototype[t]=function(n){n=n===i?1:vn(ds(n),0);var r=this.__filtered__&&!e?new Yn(this):this.clone();return r.__filtered__?r.__takeCount__=bn(n,r.__takeCount__):r.__views__.push({size:bn(n,d),type:t+(r.__dir__<0?"Right":"")}),r},Yn.prototype[t+"Right"]=function(e){return this.reverse()[t](e).reverse()}})),Te(["filter","map","takeWhile"],(function(t,e){var n=e+1,r=1==n||3==n;Yn.prototype[t]=function(t){var e=this.clone();return e.__iteratees__.push({iteratee:oo(t,3),type:n}),e.__filtered__=e.__filtered__||r,e}})),Te(["head","last"],(function(t,e){var n="take"+(e?"Right":"");Yn.prototype[t]=function(){return this[n](1).value()[0]}})),Te(["initial","tail"],(function(t,e){var n="drop"+(e?"":"Right");Yn.prototype[t]=function(){return this.__filtered__?new Yn(this):this[n](1)}})),Yn.prototype.compact=function(){return this.filter(nc)},Yn.prototype.find=function(t){return this.filter(t).head()},Yn.prototype.findLast=function(t){return this.reverse().find(t)},Yn.prototype.invokeMap=Xr((function(t,e){return"function"==typeof t?new Yn(this):this.map((function(n){return Ar(n,t,e)}))})),Yn.prototype.reject=function(t){return this.filter(Pa(oo(t)))},Yn.prototype.slice=function(t,e){t=ds(t);var n=this;return n.__filtered__&&(t>0||e<0)?new Yn(n):(t<0?n=n.takeRight(-t):t&&(n=n.drop(t)),e!==i&&(n=(e=ds(e))<0?n.dropRight(-e):n.take(e-t)),n)},Yn.prototype.takeRightWhile=function(t){return this.reverse().takeWhile(t).reverse()},Yn.prototype.toArray=function(){return this.take(d)},yr(Yn.prototype,(function(t,e){var n=/^(?:filter|find|map|reject)|While$/.test(e),r=/^(?:head|last)$/.test(e),o=Gn[r?"take"+("last"==e?"Right":""):e],a=r||/^find/.test(e);o&&(Gn.prototype[e]=function(){var e=this.__wrapped__,s=r?[1]:arguments,c=e instanceof Yn,u=s[0],l=c||za(e),h=function(t){var e=o.apply(Gn,Ie([t],s));return r&&f?e[0]:e};l&&n&&"function"==typeof u&&1!=u.length&&(c=l=!1);var f=this.__chain__,d=!!this.__actions__.length,p=a&&!f,g=c&&!d;if(!a&&l){e=g?e:new Yn(this);var v=t.apply(e,s);return v.__actions__.push({func:fa,args:[h],thisArg:i}),new Hn(v,f)}return p&&g?t.apply(this,s):(v=this.thru(h),p?r?v.value()[0]:v.value():v)})})),Te(["pop","push","shift","sort","splice","unshift"],(function(t){var e=At[t],n=/^(?:push|sort|unshift)$/.test(t)?"tap":"thru",r=/^(?:pop|shift)$/.test(t);Gn.prototype[t]=function(){var t=arguments;if(r&&!this.__chain__){var i=this.value();return e.apply(za(i)?i:[],t)}return this[n]((function(n){return e.apply(za(n)?n:[],t)}))}})),yr(Yn.prototype,(function(t,e){var n=Gn[e];if(n){var r=n.name+"";Mt.call(Sn,r)||(Sn[r]=[]),Sn[r].push({name:e,func:n})}})),Sn[ji(i,2).name]=[{name:"wrapper",func:i}],Yn.prototype.clone=function(){var t=new Yn(this.__wrapped__);return t.__actions__=Ci(this.__actions__),t.__dir__=this.__dir__,t.__filtered__=this.__filtered__,t.__iteratees__=Ci(this.__iteratees__),t.__takeCount__=this.__takeCount__,t.__views__=Ci(this.__views__),t},Yn.prototype.reverse=function(){if(this.__filtered__){var t=new Yn(this);t.__dir__=-1,t.__filtered__=!0}else(t=this.clone()).__dir__*=-1;return t},Yn.prototype.value=function(){var t=this.__wrapped__.value(),e=this.__dir__,n=za(t),r=e<0,i=n?t.length:0,o=function(t,e,n){for(var r=-1,i=n.length;++r=this.__values__.length;return{done:t,value:t?i:this.__values__[this.__index__++]}},Gn.prototype.plant=function(t){for(var e,n=this;n instanceof Fn;){var r=Go(n);r.__index__=0,r.__values__=i,e?o.__wrapped__=r:e=r;var o=r;n=n.__wrapped__}return o.__wrapped__=t,e},Gn.prototype.reverse=function(){var t=this.__wrapped__;if(t instanceof Yn){var e=t;return this.__actions__.length&&(e=new Yn(this)),(e=e.reverse()).__actions__.push({func:fa,args:[Jo],thisArg:i}),new Hn(e,this.__chain__)}return this.thru(Jo)},Gn.prototype.toJSON=Gn.prototype.valueOf=Gn.prototype.value=function(){return hi(this.__wrapped__,this.__actions__)},Gn.prototype.first=Gn.prototype.head,$t&&(Gn.prototype[$t]=function(){return this}),Gn}();he._=pn,(r=function(){return pn}.call(e,n,e,t))===i||(t.exports=r)}.call(this)},5161:(t,e,n)=>{var r=n(9932),i=n(7206),o=n(9199),a=n(1469);t.exports=function(t,e){return(a(t)?r:o)(t,i(e,3))}},6604:(t,e,n)=>{var r=n(9465),i=n(7816),o=n(7206);t.exports=function(t,e){var n={};return e=o(e,3),i(t,(function(t,i,o){r(n,i,e(t,i,o))})),n}},6162:(t,e,n)=>{var r=n(6029),i=n(3325),o=n(6557);t.exports=function(t){return t&&t.length?r(t,o,i):void 0}},8306:(t,e,n)=>{var r=n(3369);function i(t,e){if("function"!=typeof t||null!=e&&"function"!=typeof e)throw new TypeError("Expected a function");var n=function(){var r=arguments,i=e?e.apply(this,r):r[0],o=n.cache;if(o.has(i))return o.get(i);var a=t.apply(this,r);return n.cache=o.set(i,a)||o,a};return n.cache=new(i.Cache||r),n}i.Cache=r,t.exports=i},3857:(t,e,n)=>{var r=n(2980),i=n(1463)((function(t,e,n){r(t,e,n)}));t.exports=i},3632:(t,e,n)=>{var r=n(6029),i=n(433),o=n(6557);t.exports=function(t){return t&&t.length?r(t,o,i):void 0}},2762:(t,e,n)=>{var r=n(6029),i=n(7206),o=n(433);t.exports=function(t,e){return t&&t.length?r(t,i(e,2),o):void 0}},308:t=>{t.exports=function(){}},7771:(t,e,n)=>{var r=n(5639);t.exports=function(){return r.Date.now()}},9722:(t,e,n)=>{var r=n(5970),i=n(9021)((function(t,e){return null==t?{}:r(t,e)}));t.exports=i},9601:(t,e,n)=>{var r=n(371),i=n(9152),o=n(5403),a=n(327);t.exports=function(t){return o(t)?r(a(t)):i(t)}},6026:(t,e,n)=>{var r=n(7445)();t.exports=r},4061:(t,e,n)=>{var r=n(2663),i=n(9881),o=n(7206),a=n(107),s=n(1469);t.exports=function(t,e,n){var c=s(t)?r:a,u=arguments.length<3;return c(t,o(e,4),n,u,i)}},6968:(t,e,n)=>{var r=n(611);t.exports=function(t,e,n){return null==t?t:r(t,e,n)}},4238:(t,e,n)=>{var r=n(280),i=n(4160),o=n(8612),a=n(7037),s=n(8016);t.exports=function(t){if(null==t)return 0;if(o(t))return a(t)?s(t):t.length;var e=i(t);return"[object Map]"==e||"[object Set]"==e?t.size:r(t).length}},9734:(t,e,n)=>{var r=n(1078),i=n(9556),o=n(5976),a=n(6612),s=o((function(t,e){if(null==t)return[];var n=e.length;return n>1&&a(t,e[0],e[1])?e=[]:n>2&&a(e[0],e[1],e[2])&&(e=[e[0]]),i(t,r(e,1),[])}));t.exports=s},479:t=>{t.exports=function(){return[]}},5062:t=>{t.exports=function(){return!1}},8601:(t,e,n)=>{var r=n(4841);t.exports=function(t){return t?Infinity===(t=r(t))||t===-1/0?17976931348623157e292*(t<0?-1:1):t==t?t:0:0===t?t:0}},554:(t,e,n)=>{var r=n(8601);t.exports=function(t){var e=r(t),n=e%1;return e==e?n?e-n:e:0}},4841:(t,e,n)=>{var r=n(7561),i=n(3218),o=n(3448),a=/^[-+]0x[0-9a-f]+$/i,s=/^0b[01]+$/i,c=/^0o[0-7]+$/i,u=parseInt;t.exports=function(t){if("number"==typeof t)return t;if(o(t))return NaN;if(i(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=i(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=r(t);var n=s.test(t);return n||c.test(t)?u(t.slice(2),n?2:8):a.test(t)?NaN:+t}},84:(t,e,n)=>{var r=n(9932),i=n(278),o=n(1469),a=n(3448),s=n(5514),c=n(327),u=n(9833);t.exports=function(t){return o(t)?r(t,c):a(t)?[t]:i(s(u(t)))}},3678:(t,e,n)=>{var r=n(8363),i=n(1704);t.exports=function(t){return r(t,i(t))}},9833:(t,e,n)=>{var r=n(531);t.exports=function(t){return null==t?"":r(t)}},8718:(t,e,n)=>{var r=n(7412),i=n(3118),o=n(7816),a=n(7206),s=n(5924),c=n(1469),u=n(4144),l=n(3560),h=n(3218),f=n(6719);t.exports=function(t,e,n){var d=c(t),p=d||u(t)||f(t);if(e=a(e,4),null==n){var g=t&&t.constructor;n=p?d?new g:[]:h(t)&&l(g)?i(s(t)):{}}return(p?r:o)(t,(function(t,r,i){return e(n,t,r,i)})),n}},3386:(t,e,n)=>{var r=n(1078),i=n(5976),o=n(5652),a=n(9246),s=i((function(t){return o(r(t,1,a,!0))}));t.exports=s},3955:(t,e,n)=>{var r=n(9833),i=0;t.exports=function(t){var e=++i;return r(t)+e}},2628:(t,e,n)=>{var r=n(7415),i=n(3674);t.exports=function(t){return null==t?[]:r(t,i(t))}},7287:(t,e,n)=>{var r=n(4865),i=n(1757);t.exports=function(t,e){return i(t||[],e||[],r)}},2703:(t,e,n)=>{"use strict";var r=n(414);function i(){}function o(){}o.resetWarningCache=i,t.exports=function(){function t(t,e,n,i,o,a){if(a!==r){var s=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw s.name="Invariant Violation",s}}function e(){return t}t.isRequired=t;var n={array:t,bigint:t,bool:t,func:t,number:t,object:t,string:t,symbol:t,any:t,arrayOf:e,element:t,elementType:t,instanceOf:e,node:t,objectOf:e,oneOf:e,oneOfType:e,shape:e,exact:e,checkPropTypes:o,resetWarningCache:i};return n.PropTypes=n,n}},5697:(t,e,n)=>{t.exports=n(2703)()},414:t=>{"use strict";t.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},3379:t=>{"use strict";var e=[];function n(t){for(var n=-1,r=0;r{"use strict";var e={};t.exports=function(t,n){var r=function(t){if(void 0===e[t]){var n=document.querySelector(t);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(t){n=null}e[t]=n}return e[t]}(t);if(!r)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");r.appendChild(n)}},9216:t=>{"use strict";t.exports=function(t){var e=document.createElement("style");return t.setAttributes(e,t.attributes),t.insert(e,t.options),e}},3565:(t,e,n)=>{"use strict";t.exports=function(t){var e=n.nc;e&&t.setAttribute("nonce",e)}},7795:t=>{"use strict";t.exports=function(t){if("undefined"==typeof document)return{update:function(){},remove:function(){}};var e=t.insertStyleElement(t);return{update:function(n){!function(t,e,n){var r="";n.supports&&(r+="@supports (".concat(n.supports,") {")),n.media&&(r+="@media ".concat(n.media," {"));var i=void 0!==n.layer;i&&(r+="@layer".concat(n.layer.length>0?" ".concat(n.layer):""," {")),r+=n.css,i&&(r+="}"),n.media&&(r+="}"),n.supports&&(r+="}");var o=n.sourceMap;o&&"undefined"!=typeof btoa&&(r+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(o))))," */")),e.styleTagTransform(r,t,e.options)}(e,t,n)},remove:function(){!function(t){if(null===t.parentNode)return!1;t.parentNode.removeChild(t)}(e)}}}},4589:t=>{"use strict";t.exports=function(t,e){if(e.styleSheet)e.styleSheet.cssText=t;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(t))}}},5295:module=>{var __dirname="/",f;f=function(){var define,module,exports;return function t(e,n,r){function i(a,s){if(!n[a]){if(!e[a]){if(o)return o(a,!0);var c=new Error("Cannot find module '"+a+"'");throw c.code="MODULE_NOT_FOUND",c}var u=n[a]={exports:{}};e[a][0].call(u.exports,(function(t){return i(e[a][1][t]||t)}),u,u.exports,t,e,n,r)}return n[a].exports}for(var o=void 0,a=0;ae?1:0},this.require(t,"_$_$_cmp"),this.spread((function(t){var e=t.sort(_$_$_cmp);resolve(e)})).then((function(r){for(var i=function(n,i,o){i=Math.min(i,e),o=Math.min(o,e);for(var a=n,s=i,c=[],u=a;u=o||t(l,h)<=0)?(c.push(l),n++):(c.push(h),i++)}for(u=0;u1?", "+JSON.stringify(n):"")+" );"," "," resolve = origResolve;"," resolve( res.length > 0 ? res : ret );","}"].join("\n"))}};util.extend(thdfn,{reduce:defineFnal({name:"reduce"}),reduceRight:defineFnal({name:"reduceRight"}),map:defineFnal({name:"map"})});var fn=thdfn;fn.promise=fn.run,fn.terminate=fn.halt=fn.stop,fn.include=fn.require,util.extend(thdfn,{on:define.on(),one:define.on({unbindSelfOnTrigger:!0}),off:define.off(),trigger:define.trigger()}),define.eventAliasesOn(thdfn),module.exports=Thread},{"./define":1,"./event":2,"./is":5,"./promise":6,"./util":8,"./window":9,child_process:void 0,path:void 0}],8:[function(t,e,n){"use strict";var r,i=t("./is");r={extend:function(){var t,e,n,o,a,s,c=arguments[0]||{},u=1,l=arguments.length,h=!1;for("boolean"==typeof c&&(h=c,c=arguments[1]||{},u=2),"object"==typeof c||i.fn(c)||(c={}),l===u&&(c=this,--u);u{"use strict";function r(t){for(var n in t)e.hasOwnProperty(n)||(e[n]=t[n])}Object.defineProperty(e,"__esModule",{value:!0}),r(n(89)),r(n(2845)),r(n(7069)),r(n(6085)),r(n(7598)),r(n(7384)),r(n(7426)),r(n(6749)),r(n(9427)),r(n(8793)),r(n(7421)),r(n(1138)),r(n(31)),r(n(2867)),r(n(4926)),r(n(7565))},89:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},r(t,e)},function(t,e){function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,"__esModule",{value:!0});var o=n(7426),a=function(t){function e(e){var n=t.call(this)||this,r=e;return r.trigger&&(n.trigger=r.trigger),r.kick&&(n.kick=r.kick),r.drag&&(n.drag=r.drag),r.on&&(n.on=r.on),n.dragstart=n.dragStart=o.Layout.dragStart,n.dragend=n.dragEnd=o.Layout.dragEnd,n}return i(e,t),e.prototype.trigger=function(t){},e.prototype.kick=function(){},e.prototype.drag=function(){},e.prototype.on=function(t,e){return this},e}(o.Layout);e.LayoutAdaptor=a,e.adaptor=function(t){return new a(t)}},7565:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(7426),i=n(7598);e.gridify=function(t,e,n,r){return t.cola.start(0,0,0,10,!1),function(t,e,n,r){t.forEach((function(t){t.routerNode={name:t.name,bounds:t.bounds.inflate(-n)}})),e.forEach((function(e){e.routerNode={bounds:e.bounds.inflate(-r),children:(void 0!==e.groups?e.groups.map((function(e){return t.length+e.id})):[]).concat(void 0!==e.leaves?e.leaves.map((function(t){return t.index})):[])}}));var o=t.concat(e).map((function(t,e){return t.routerNode.id=e,t.routerNode}));return new i.GridRouter(o,{getChildren:function(t){return t.children},getBounds:function(t){return t.bounds}},n-r)}(t.cola.nodes(),t.cola.groups(),n,r).routeEdges(t.powerGraph.powerEdges,e,(function(t){return t.source.routerNode.id}),(function(t){return t.target.routerNode.id}))},e.powerGraphGridLayout=function(t,e,n){var i;t.nodes.forEach((function(t,e){return t.index=e})),(new r.Layout).avoidOverlaps(!1).nodes(t.nodes).links(t.links).powerGraphGroups((function(t){(i=t).groups.forEach((function(t){return t.padding=n}))}));var o=t.nodes.length,a=[],s=t.nodes.slice(0);return s.forEach((function(t,e){return t.index=e})),i.groups.forEach((function(t){var e=t.index=t.id+o;s.push(t),void 0!==t.leaves&&t.leaves.forEach((function(t){return a.push({source:e,target:t.index})})),void 0!==t.groups&&t.groups.forEach((function(t){return a.push({source:e,target:t.id+o})}))})),i.powerEdges.forEach((function(t){a.push({source:t.source.index,target:t.target.index})})),(new r.Layout).size(e).nodes(s).links(a).avoidOverlaps(!1).linkDistance(30).symmetricDiffLinkLengths(5).convergenceThreshold(1e-4).start(100,0,0,0,!1),{cola:(new r.Layout).convergenceThreshold(.001).size(e).avoidOverlaps(!0).nodes(t.nodes).links(t.links).groupCompactness(1e-4).linkDistance(30).symmetricDiffLinkLengths(5).powerGraphGroups((function(t){(i=t).groups.forEach((function(t){t.padding=n}))})).start(50,0,100,0,!1),powerGraph:i}}},2845:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(1509),i=n(1374);e.d3adaptor=function(t){return!t||function(t){return t.version&&null!==t.version.match(/^3\./)}(t)?new r.D3StyleLayoutAdaptor:new i.D3StyleLayoutAdaptor(t)}},1509:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},r(t,e)},function(t,e){function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,"__esModule",{value:!0});var o=n(7426),a=function(t){function e(){var e=t.call(this)||this;e.event=d3.dispatch(o.EventType[o.EventType.start],o.EventType[o.EventType.tick],o.EventType[o.EventType.end]);var n=e;return e.drag=function(){if(!t)var t=d3.behavior.drag().origin(o.Layout.dragOrigin).on("dragstart.d3adaptor",o.Layout.dragStart).on("drag.d3adaptor",(function(t){o.Layout.drag(t,d3.event),n.resume()})).on("dragend.d3adaptor",o.Layout.dragEnd);if(!arguments.length)return t;this.call(t)},e}return i(e,t),e.prototype.trigger=function(t){var e={type:o.EventType[t.type],alpha:t.alpha,stress:t.stress};this.event[e.type](e)},e.prototype.kick=function(){var e=this;d3.timer((function(){return t.prototype.tick.call(e)}))},e.prototype.on=function(t,e){return"string"==typeof t?this.event.on(t,e):this.event.on(o.EventType[t],e),this},e}(o.Layout);e.D3StyleLayoutAdaptor=a,e.d3adaptor=function(){return new a}},1374:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},r(t,e)},function(t,e){function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,"__esModule",{value:!0});var o=n(7426),a=function(t){function e(e){var n=t.call(this)||this;n.d3Context=e,n.event=e.dispatch(o.EventType[o.EventType.start],o.EventType[o.EventType.tick],o.EventType[o.EventType.end]);var r=n;return n.drag=function(){if(!t)var t=e.drag().subject(o.Layout.dragOrigin).on("start.d3adaptor",o.Layout.dragStart).on("drag.d3adaptor",(function(t){o.Layout.drag(t,e.event),r.resume()})).on("end.d3adaptor",o.Layout.dragEnd);if(!arguments.length)return t;arguments[0].call(t)},n}return i(e,t),e.prototype.trigger=function(t){var e={type:o.EventType[t.type],alpha:t.alpha,stress:t.stress};this.event.call(e.type,e)},e.prototype.kick=function(){var e=this,n=this.d3Context.timer((function(){return t.prototype.tick.call(e)&&n.stop()}))},e.prototype.on=function(t,e){return"string"==typeof t?this.event.on(t,e):this.event.on(o.EventType[t],e),this},e}(o.Layout);e.D3StyleLayoutAdaptor=a},7069:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(){this.locks={}}return t.prototype.add=function(t,e){this.locks[t]=e},t.prototype.clear=function(){this.locks={}},t.prototype.isEmpty=function(){for(var t in this.locks)return!1;return!0},t.prototype.apply=function(t){for(var e in this.locks)t(Number(e),this.locks[e])},t}();e.Locks=n;var r=function(){function t(t,e,r){void 0===r&&(r=null),this.D=e,this.G=r,this.threshold=1e-4,this.numGridSnapNodes=0,this.snapGridSize=100,this.snapStrength=1e3,this.scaleSnapByMaxH=!1,this.random=new i,this.project=null,this.x=t,this.k=t.length;var o=this.n=t[0].length;this.H=new Array(this.k),this.g=new Array(this.k),this.Hd=new Array(this.k),this.a=new Array(this.k),this.b=new Array(this.k),this.c=new Array(this.k),this.d=new Array(this.k),this.e=new Array(this.k),this.ia=new Array(this.k),this.ib=new Array(this.k),this.xtmp=new Array(this.k),this.locks=new n,this.minD=Number.MAX_VALUE;for(var a,s=o;s--;)for(a=o;--a>s;){var c=e[s][a];c>0&&c1e-9)break;var d=this.offsetDir();for(r=0;r1&&p>g||!isFinite(g))for(r=0;r1&&(v=1);var b=g*g,y=2*v*(p-g)/(b*p),m=p*p*p,w=2*-v/(b*m);for(isFinite(y)||console.log(y),r=0;r0?T-(A+1)*_:T-(A-1)*_)&&f<=x&&(this.scaleSnapByMaxH?(this.g[r][c]+=s*E*f,this.H[r][c][c]+=s*E):(this.g[r][c]+=E*f,this.H[r][c][c]+=E))}this.locks.isEmpty()||this.locks.apply((function(n,i){for(r=0;r0;)for(var i=e;i-- >0;)n(r,i)},t.prototype.matrixApply=function(e){t.mApply(this.k,this.n,e)},t.prototype.computeNextPosition=function(t,e){var n=this;this.computeDerivatives(t);var r=this.computeStepSize(this.g);if(this.stepAndProject(t,e,this.g,r),this.project){this.matrixApply((function(r,i){return n.e[r][i]=t[r][i]-e[r][i]}));var i=this.computeStepSize(this.e);i=Math.max(.2,Math.min(i,1)),this.stepAndProject(t,e,this.e,i)}},t.prototype.run=function(t){for(var e=Number.MAX_VALUE,n=!1;!n&&t-- >0;){var r=this.rungeKutta();n=Math.abs(e/r-1)>16)/this.range},t.prototype.getNextBetween=function(t,e){return t+this.getNext()*(e-t)},t}();e.PseudoRandom=i},6085:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},r(t,e)},function(t,e){function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,"__esModule",{value:!0});var o=n(31),a=function(){};e.Point=a;var s=function(t,e,n,r){this.x1=t,this.y1=e,this.x2=n,this.y2=r};e.LineSegment=s;var c=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e}(a);function u(t,e,n){return(e.x-t.x)*(n.y-t.y)-(n.x-t.x)*(e.y-t.y)}function l(t,e,n){return u(t,e,n)>0}function h(t,e,n){return u(t,e,n)<0}function f(t,e){var n,r,i,o,a=e.length-1;if(h(t,e[1],e[0])&&!l(t,e[a-1],e[0]))return 0;for(n=0,r=a;;){if(r-n==1)return l(t,e[n],e[r])?n:r;if((o=h(t,e[(i=Math.floor((n+r)/2))+1],e[i]))&&!l(t,e[i-1],e[i]))return i;l(t,e[n+1],e[n])?o||l(t,e[n],e[i])?r=i:n=i:o&&h(t,e[n],e[i])?r=i:n=i}}function d(t,e){var n,r,i,o,a=e.length-1;if(l(t,e[a-1],e[0])&&!h(t,e[1],e[0]))return 0;for(n=0,r=a;;){if(r-n==1)return h(t,e[n],e[r])?n:r;if(o=h(t,e[(i=Math.floor((n+r)/2))+1],e[i]),l(t,e[i-1],e[i])&&!o)return i;h(t,e[n+1],e[n])?o?h(t,e[n],e[i])?r=i:n=i:r=i:o?n=i:l(t,e[n],e[i])?r=i:n=i}}function p(t,e,n,r,i,o){var a,s;s=r(t[a=n(e[0],t)],e);for(var c=!1;!c;){for(c=!0;a===t.length-1&&(a=0),!i(e[s],t[a],t[a+1]);)++a;for(;0===s&&(s=e.length-1),!o(t[a],e[s],e[s-1]);)--s,c=!1}return{t1:a,t2:s}}function g(t,e){return p(t,e,f,d,l,h)}e.PolyPoint=c,e.isLeft=u,e.ConvexHull=function(t){var e,n=t.slice(0).sort((function(t,e){return t.x!==e.x?e.x-t.x:e.y-t.y})),r=t.length,i=n[0].x;for(e=1;e=0&&n[e].x===l;e--);for(s=e+1,e=o;++e<=s;)if(!(u(n[0],n[s],n[e])>=0&&e1&&!(u(a[a.length-2],a[a.length-1],n[e])>0);)a.length-=1;0!=e&&a.push(n[e])}c!=s&&a.push(n[c]);var h=a.length;for(e=s;--e>=o;)if(!(u(n[c],n[o],n[e])>=0&&e>o)){for(;a.length>h&&!(u(a[a.length-2],a[a.length-1],n[e])>0);)a.length-=1;0!=e&&a.push(n[e])}}return a},e.clockwiseRadialSweep=function(t,e,n){e.slice(0).sort((function(e,n){return Math.atan2(e.y-t.y,e.x-t.x)-Math.atan2(n.y-t.y,n.x-t.x)})).forEach(n)},e.tangent_PolyPolyC=p,e.LRtangent_PolyPolyC=function(t,e){var n=g(e,t);return{t1:n.t2,t2:n.t1}},e.RLtangent_PolyPolyC=g,e.LLtangent_PolyPolyC=function(t,e){return p(t,e,d,d,h,h)},e.RRtangent_PolyPolyC=function(t,e){return p(t,e,f,f,l,l)};var v=function(t,e){this.t1=t,this.t2=e};e.BiTangent=v;var b=function(){};e.BiTangents=b;var y=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e}(a);e.TVGPoint=y;var m=function(t,e,n,r){this.id=t,this.polyid=e,this.polyvertid=n,this.p=r,r.vv=this};e.VisibilityVertex=m;var w=function(){function t(t,e){this.source=t,this.target=e}return t.prototype.length=function(){var t=this.source.p.x-this.target.p.x,e=this.source.p.y-this.target.p.y;return Math.sqrt(t*t+e*e)},t}();e.VisibilityEdge=w;var x=function(){function t(t,e){if(this.P=t,this.V=[],this.E=[],e)this.V=e.V.slice(0),this.E=e.E.slice(0);else{for(var n=t.length,r=0;r0&&this.E.push(new w(i[o-1].vv,s))}i.length>1&&this.E.push(new w(i[0].vv,i[i.length-1].vv))}for(r=0;r0)return!0;return!1},t}();function _(t,e){for(var n=[],r=1,i=e.length;r=0&&g>=0&&y<0&&m>=0&&w>=0&&x<0?i.ll=new v(o,a):p<=0&&g<=0&&y>0&&m<=0&&w<=0&&x>0?i.rr=new v(o,a):p<=0&&g>0&&y<=0&&m>=0&&w<0&&x>=0?i.rl=new v(o,a):p>=0&&g<0&&y>=0&&m<=0&&w>0&&x<=0&&(i.lr=new v(o,a))}return i}function k(t,e){return!t.every((function(t){return!function(t,e){for(var n=1,r=e.length;n0)return!0}return!1}},7598:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(31),i=n(4926),o=n(2867),a=function(t,e,n){this.id=t,this.rect=e,this.children=n,this.leaf=void 0===n||0===n.length};e.NodeWrapper=a;var s=function(t,e,n,r,i){void 0===r&&(r=null),void 0===i&&(i=null),this.id=t,this.x=e,this.y=n,this.node=r,this.line=i};e.Vert=s;var c=function(){function t(e,n){this.s=e,this.t=n;var r=t.findMatch(e,n),i=n.slice(0).reverse(),o=t.findMatch(e,i);r.length>=o.length?(this.length=r.length,this.si=r.si,this.ti=r.ti,this.reversed=!1):(this.length=o.length,this.si=o.si,this.ti=n.length-o.ti-o.length,this.reversed=!0)}return t.findMatch=function(t,e){for(var n=t.length,r=e.length,i={length:0,si:-1,ti:-1},o=new Array(n),a=0;ai.length&&(i.length=c,i.si=a-c+1,i.ti=s-c+1)}else o[a][s]=0}return i},t.prototype.getSequence=function(){return this.length>=0?this.s.slice(this.si,this.si+this.length):[]},t}();e.LongestCommonSubsequence=c;var u=function(){function t(t,e,n){var i=this;void 0===n&&(n=12),this.originalnodes=t,this.groupPadding=n,this.leaves=null,this.nodes=t.map((function(t,n){return new a(n,e.getBounds(t),e.getChildren(t))})),this.leaves=this.nodes.filter((function(t){return t.leaf})),this.groups=this.nodes.filter((function(t){return!t.leaf})),this.cols=this.getGridLines("x"),this.rows=this.getGridLines("y"),this.groups.forEach((function(t){return t.children.forEach((function(e){return i.nodes[e].parent=t}))})),this.root={children:[]},this.nodes.forEach((function(t){void 0===t.parent&&(t.parent=i.root,i.root.children.push(t.id)),t.ports=[]})),this.backToFront=this.nodes.slice(0),this.backToFront.sort((function(t,e){return i.getDepth(t)-i.getDepth(e)})),this.backToFront.slice(0).reverse().filter((function(t){return!t.leaf})).forEach((function(t){var e=r.Rectangle.empty();t.children.forEach((function(t){return e=e.union(i.nodes[t].rect)})),t.rect=e.inflate(i.groupPadding)}));var o=this.midPoints(this.cols.map((function(t){return t.pos}))),c=this.midPoints(this.rows.map((function(t){return t.pos}))),u=o[0],l=o[o.length-1],h=c[0],f=c[c.length-1],d=this.rows.map((function(t){return{x1:u,x2:l,y1:t.pos,y2:t.pos}})).concat(c.map((function(t){return{x1:u,x2:l,y1:t,y2:t}}))),p=this.cols.map((function(t){return{x1:t.pos,x2:t.pos,y1:h,y2:f}})).concat(o.map((function(t){return{x1:t,x2:t,y1:h,y2:f}}))),g=d.concat(p);g.forEach((function(t){return t.verts=[]})),this.verts=[],this.edges=[],d.forEach((function(t){return p.forEach((function(e){var n=new s(i.verts.length,e.x1,t.y1);t.verts.push(n),e.verts.push(n),i.verts.push(n);for(var r=i.backToFront.length;r-- >0;){var o=i.backToFront[r],a=o.rect,c=Math.abs(n.x-a.cx()),u=Math.abs(n.y-a.cy());if(c0;){var r=n.filter((function(e){return e.rect["overlap"+t.toUpperCase()](n[0].rect)})),i={nodes:r,pos:this.avg(r.map((function(e){return e.rect["c"+t]()})))};e.push(i),i.nodes.forEach((function(t){return n.splice(n.indexOf(t),1)}))}return e.sort((function(t,e){return t.pos-e.pos})),e},t.prototype.getDepth=function(t){for(var e=0;t.parent!==this.root;)e++,t=t.parent;return e},t.prototype.midPoints=function(t){for(var e=t[1]-t[0],n=[t[0]-e/2],r=1;r.1)&&(u={pos:h[0][e],segments:[]},c.push(u)),u.segments.push(h)}return c},t.nudgeSegs=function(t,e,n,r,o,a){var s=r.length;if(!(s<=1)){for(var c=r.map((function(e){return new i.Variable(e[0][t])})),u=[],l=0;l=0&&u.push(new i.Constraint(c[v],c[b],a))}new i.Solver(c,u).solve(),c.forEach((function(e,i){var o=r[i],a=e.position();o[0][t]=o[1][t]=a;var s=n[o.edgeid];o.i>0&&(s[o.i-1][1][t]=a),o.iMath.PI||i<-Math.PI)&&(i=r-n),i},t.isLeft=function(t,e,n){return(e.x-t.x)*(n.y-t.y)-(e.y-t.y)*(n.x-t.x)<=0},t.getOrder=function(t){for(var e={},n=0;n=u.length||h.ti+h.length>=l.length)?n.push({l:r,r:i}):(h.si+h.length>=u.length||h.ti+h.length>=l.length?(o=u[h.si+1],s=u[h.si-1],a=l[h.ti-1]):(o=u[h.si+h.length-2],a=u[h.si+h.length],s=l[h.ti+h.length]),t.isLeft(o,a,s)?n.push({l:i,r}):n.push({l:r,r:i})))}return t.getOrder(n)},t.makeSegments=function(t){function e(t){return{x:t.x,y:t.y}}for(var n=function(t,e,n){return Math.abs((e.x-t.x)*(n.y-t.y)-(e.y-t.y)*(n.x-t.x))<.001},r=[],i=e(t[0]),o=1;o1&&l>1?1e3:0})),h=l.reverse().map((function(t){return n.verts[t]}));return h.push(this.nodes[i.id].ports[0]),h.filter((function(t,e){return!(e0&&t.node===i&&h[e-1].node===i)}))},t.getRoutePath=function(e,n,r,i){var o,a,s,c={routepath:"M "+e[0][0].x+" "+e[0][0].y+" ",arrowpath:""};if(e.length>1)for(var u=0;u0?l-=f/Math.abs(f)*n:h-=d/Math.abs(d)*n,c.routepath+="L "+l+" "+h+" ";var p=e[u+1],g=p[0].x,v=p[0].y;f=p[1].x-g,d=p[1].y-v;var b,y,m=t.angleBetween2Lines(o,p)<0?1:0;Math.abs(f)>0?(b=g+f/Math.abs(f)*n,y=v):(b=g,y=v+d/Math.abs(d)*n);var w=Math.abs(b-l),x=Math.abs(y-h);c.routepath+="A "+w+" "+x+" 0 0 "+m+" "+b+" "+y+" "}else{var _=[l,h];Math.abs(f)>0?(a=[l-=f/Math.abs(f)*i,h+r],s=[l,h-r]):(a=[l+r,h-=d/Math.abs(d)*i],s=[l-r,h]),c.routepath+="L "+l+" "+h+" ",i>0&&(c.arrowpath="M "+_[0]+" "+_[1]+" L "+a[0]+" "+a[1]+" L "+s[0]+" "+s[1])}}else l=(o=e[0])[1].x,h=o[1].y,f=l-o[0].x,d=h-o[0].y,_=[l,h],Math.abs(f)>0?(a=[l-=f/Math.abs(f)*i,h+r],s=[l,h-r]):(a=[l+r,h-=d/Math.abs(d)*i],s=[l-r,h]),c.routepath+="L "+l+" "+h+" ",i>0&&(c.arrowpath="M "+_[0]+" "+_[1]+" L "+a[0]+" "+a[1]+" L "+s[0]+" "+s[1]);return c},t}();e.GridRouter=u},7384:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=10,r=(1+Math.sqrt(5))/2,i=1e-4;e.applyPacking=function(t,e,o,a,s,c){void 0===s&&(s=1),void 0===c&&(c=!0);var u=0,l=0,h=e,f=o,d=(s=void 0!==s?s:1,a=void 0!==a?a:0,0),p=0,g=0,v=0,b=[];function y(t,e){b=[],d=0,p=0,v=l;for(var n=0;n=t.height&&b[o].x+b[o].width+t.width+n-e<=i){r=b[o];break}b.push(t),void 0!==r?(t.x=r.x+r.width+n,t.y=r.bottom,t.space_left=t.height,t.bottom=t.y,r.space_left-=t.height+n,r.bottom+=t.height+n):(t.y=v,v+=t.height+n,t.x=u,t.bottom=t.y,t.space_left=t.height),t.y+t.height-p>-1e-4&&(p=t.y+t.height-l),t.x+t.width-d>-1e-4&&(d=t.x+t.width-u)}0!=t.length&&(function(t){t.forEach((function(t){var e,n,r,i,o;e=t,n=Number.MAX_VALUE,r=Number.MAX_VALUE,i=0,o=0,e.array.forEach((function(t){var e=void 0!==t.width?t.width:a,s=void 0!==t.height?t.height:a;e/=2,s/=2,i=Math.max(t.x+e,i),n=Math.min(t.x-e,n),o=Math.max(t.y+s,o),r=Math.min(t.y-s,r)})),e.width=i-n,e.height=o-r}))}(t),function(t,e){var o=Number.POSITIVE_INFINITY,a=0;t.sort((function(t,e){return e.height-t.height}));for(var s=v=g=t.reduce((function(t,e){return t.widthg||p>i;){if(1!=f){var v=c-(c-s)/r;l=y(t,v)}if(0!=f){var b=s+(c-s)/r;h=y(t,b)}if(d=Math.abs(v-b),p=Math.abs(l-h),lh?(s=v,v=b,l=h,f=1):(c=b,b=v,h=l,f=0),u++>100)break}y(t,a)}(t),c&&function(t){t.forEach((function(t){var e={x:0,y:0};t.array.forEach((function(t){e.x+=t.x,e.y+=t.y})),e.x/=t.array.length,e.y/=t.array.length;var n=e.x-t.width/2,r=e.y-t.height/2,i=t.x-n+h/2-d/2,o=t.y-r+f/2-p/2;t.array.forEach((function(t){t.x+=i,t.y+=o}))}))}(t))},e.separateGraphs=function(t,e){for(var n={},r={},i=[],o=0,a=0;a{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r,i=n(8793),o=n(9427),a=n(7069),s=n(31),c=n(2867),u=n(6085),l=n(7384);function h(t){return void 0!==t.leaves||void 0!==t.groups}!function(t){t[t.start=0]="start",t[t.tick=1]="tick",t[t.end=2]="end"}(r=e.EventType||(e.EventType={}));var f=function(){function t(){var e=this;this._canvasSize=[1,1],this._linkDistance=20,this._defaultNodeSize=10,this._linkLengthCalculator=null,this._linkType=null,this._avoidOverlaps=!1,this._handleDisconnected=!0,this._running=!1,this._nodes=[],this._groups=[],this._rootGroup=null,this._links=[],this._constraints=[],this._distanceMatrix=null,this._descent=null,this._directedLinkConstraints=null,this._threshold=.01,this._visibilityGraph=null,this._groupCompactness=1e-6,this.event=null,this.linkAccessor={getSourceIndex:t.getSourceIndex,getTargetIndex:t.getTargetIndex,setLength:t.setLinkLength,getType:function(t){return"function"==typeof e._linkType?e._linkType(t):0}}}return t.prototype.on=function(t,e){return this.event||(this.event={}),"string"==typeof t?this.event[r[t]]=e:this.event[t]=e,this},t.prototype.trigger=function(t){this.event&&void 0!==this.event[t.type]&&this.event[t.type](t)},t.prototype.kick=function(){for(;!this.tick(););},t.prototype.tick=function(){if(this._alpha0){var e=0;this._links.forEach((function(t){e=Math.max(e,t.source,t.target)})),this._nodes=new Array(++e);for(var n=0;n0?t:0:t>0&&(this._running||(this._running=!0,this.trigger({type:r.start,alpha:this._alpha=t}),this.kick())),this):this._alpha},t.prototype.getLinkLength=function(t){return"function"==typeof this._linkDistance?+this._linkDistance(t):this._linkDistance},t.setLinkLength=function(t,e){t.length=e},t.prototype.getLinkType=function(t){return"function"==typeof this._linkType?this._linkType(t):0},t.prototype.symmetricDiffLinkLengths=function(t,e){var n=this;return void 0===e&&(e=1),this.linkDistance((function(e){return t*e.length})),this._linkLengthCalculator=function(){return o.symmetricDiffLinkLengths(n._links,n.linkAccessor,e)},this},t.prototype.jaccardLinkLengths=function(t,e){var n=this;return void 0===e&&(e=1),this.linkDistance((function(e){return t*e.length})),this._linkLengthCalculator=function(){return o.jaccardLinkLengths(n._links,n.linkAccessor,e)},this},t.prototype.start=function(e,n,r,i,u,l){var h=this;void 0===e&&(e=0),void 0===n&&(n=0),void 0===r&&(r=0),void 0===i&&(i=0),void 0===u&&(u=!0),void 0===l&&(l=!0);var f,d=this.nodes().length,p=d+2*this._groups.length,g=(this._links.length,this._canvasSize[0]),v=this._canvasSize[1],b=new Array(p),y=new Array(p),m=null,w=this._avoidOverlaps;this._nodes.forEach((function(t,e){t.index=e,void 0===t.x&&(t.x=g/2,t.y=v/2),b[e]=t.x,y[e]=t.y})),this._linkLengthCalculator&&this._linkLengthCalculator(),this._distanceMatrix?f=this._distanceMatrix:(f=new c.Calculator(p,this._links,t.getSourceIndex,t.getTargetIndex,(function(t){return h.getLinkLength(t)})).DistanceMatrix(),m=a.Descent.createSquareMatrix(p,(function(){return 2})),this._links.forEach((function(t){"number"==typeof t.source&&(t.source=h._nodes[t.source]),"number"==typeof t.target&&(t.target=h._nodes[t.target])})),this._links.forEach((function(e){var n=t.getSourceIndex(e),r=t.getTargetIndex(e);m[n][r]=m[r][n]=e.weight||1})));var x=a.Descent.createSquareMatrix(p,(function(t,e){return f[t][e]}));if(this._rootGroup&&void 0!==this._rootGroup.groups){var _=d;this._groups.forEach((function(t){!function(t,e,n,r){m[t][e]=m[e][t]=n,x[t][e]=x[e][t]=.1}(_,_+1,h._groupCompactness),b[_]=0,y[_++]=0,b[_]=0,y[_++]=0}))}else this._rootGroup={leaves:this._nodes,groups:[]};var E=this._constraints||[];for(this._directedLinkConstraints&&(this.linkAccessor.getMinSeparation=this._directedLinkConstraints.getMinSeparation,E=E.concat(o.generateDirectedEdgeConstraints(d,this._links,this._directedLinkConstraints.axis,this.linkAccessor))),this.avoidOverlaps(!1),this._descent=new a.Descent([b,y],x),this._descent.locks.clear(),_=0;_0&&(this._descent.project=new s.Projection(this._nodes,this._groups,this._rootGroup,E).projectFunctions()),this._descent.run(n),this.separateOverlappingComponents(g,v,l),this.avoidOverlaps(w),w&&(this._nodes.forEach((function(t,e){t.x=b[e],t.y=y[e]})),this._descent.project=new s.Projection(this._nodes,this._groups,this._rootGroup,E,!0).projectFunctions(),this._nodes.forEach((function(t,e){b[e]=t.x,y[e]=t.y}))),this._descent.G=m,this._descent.run(r),i){this._descent.snapStrength=1e3,this._descent.snapGridSize=this._nodes[0].width,this._descent.numGridSnapNodes=d,this._descent.scaleSnapByMaxH=d!=p;var C=a.Descent.createSquareMatrix(p,(function(t,e){return t>=d||e>=d?m[t][e]:0}));this._descent.G=C,this._descent.run(i)}return this.updateNodePositions(),this.separateOverlappingComponents(g,v,l),u?this.resume():this},t.prototype.initialLayout=function(e,n,r){if(this._groups.length>0&&e>0){var i=this._nodes.length,o=this._links.map((function(t){return{source:t.source.index,target:t.target.index}})),a=this._nodes.map((function(t){return{index:t.index}}));this._groups.forEach((function(t,e){a.push({index:t.index=i+e})})),this._groups.forEach((function(t,e){void 0!==t.leaves&&t.leaves.forEach((function(e){return o.push({source:t.index,target:e.index})})),void 0!==t.groups&&t.groups.forEach((function(e){return o.push({source:t.index,target:e.index})}))})),(new t).size(this.size()).nodes(a).links(o).avoidOverlaps(!1).linkDistance(this.linkDistance()).symmetricDiffLinkLengths(5).convergenceThreshold(1e-4).start(e,0,0,0,!1),this._nodes.forEach((function(t){n[t.index]=a[t.index].x,r[t.index]=a[t.index].y}))}else this._descent.run(e)},t.prototype.separateOverlappingComponents=function(t,e,n){var r=this;if(void 0===n&&(n=!0),!this._distanceMatrix&&this._handleDisconnected){var i=this._descent.x[0],o=this._descent.x[1];this._nodes.forEach((function(t,e){t.x=i[e],t.y=o[e]}));var a=l.separateGraphs(this._nodes,this._links);l.applyPacking(a,t,e,this._defaultNodeSize,1,n),this._nodes.forEach((function(t,e){r._descent.x[0][e]=t.x,r._descent.x[1][e]=t.y,t.bounds&&(t.bounds.setXCentre(t.x),t.bounds.setYCentre(t.y))}))}},t.prototype.resume=function(){return this.alpha(.1)},t.prototype.stop=function(){return this.alpha(0)},t.prototype.prepareEdgeRouting=function(t){void 0===t&&(t=0),this._visibilityGraph=new u.TangentVisibilityGraph(this._nodes.map((function(e){return e.bounds.inflate(-t).vertices()})))},t.prototype.routeEdge=function(t,e,n){void 0===e&&(e=5);var r=[],i=new u.TangentVisibilityGraph(this._visibilityGraph.P,{V:this._visibilityGraph.V,E:this._visibilityGraph.E}),o={x:t.source.x,y:t.source.y},a={x:t.target.x,y:t.target.y},l=i.addPoint(o,t.source.index),h=i.addPoint(a,t.target.index);i.addEdgeIfVisible(o,a,t.source.index,t.target.index),void 0!==n&&n(i);var f=new c.Calculator(i.V.length,i.E,(function(t){return t.source.id}),(function(t){return t.target.id}),(function(t){return t.length()})).PathFromNodeToNode(l.id,h.id);if(1===f.length||f.length===i.V.length){var d=s.makeEdgeBetween(t.source.innerBounds,t.target.innerBounds,e);r=[d.sourceIntersection,d.arrowStart]}else{for(var p=f.length-2,g=i.V[f[p]].p,v=i.V[f[0]].p,b=(r=[t.source.innerBounds.rayIntersection(g.x,g.y)],p);b>=0;--b)r.push(i.V[f[b]].p);r.push(s.makeEdgeTo(v,t.target.innerBounds,e))}return r},t.getSourceIndex=function(t){return"number"==typeof t.source?t.source:t.source.index},t.getTargetIndex=function(t){return"number"==typeof t.target?t.target:t.target.index},t.linkId=function(e){return t.getSourceIndex(e)+"-"+t.getTargetIndex(e)},t.dragStart=function(e){h(e)?t.storeOffset(e,t.dragOrigin(e)):(t.stopNode(e),e.fixed|=2)},t.stopNode=function(t){t.px=t.x,t.py=t.y},t.storeOffset=function(e,n){void 0!==e.leaves&&e.leaves.forEach((function(e){e.fixed|=2,t.stopNode(e),e._dragGroupOffsetX=e.x-n.x,e._dragGroupOffsetY=e.y-n.y})),void 0!==e.groups&&e.groups.forEach((function(e){return t.storeOffset(e,n)}))},t.dragOrigin=function(t){return h(t)?{x:t.bounds.cx(),y:t.bounds.cy()}:t},t.drag=function(e,n){h(e)?(void 0!==e.leaves&&e.leaves.forEach((function(t){e.bounds.setXCentre(n.x),e.bounds.setYCentre(n.y),t.px=t._dragGroupOffsetX+n.x,t.py=t._dragGroupOffsetY+n.y})),void 0!==e.groups&&e.groups.forEach((function(e){return t.drag(e,n)}))):(e.px=n.x,e.py=n.y)},t.dragEnd=function(e){h(e)?(void 0!==e.leaves&&e.leaves.forEach((function(e){t.dragEnd(e),delete e._dragGroupOffsetX,delete e._dragGroupOffsetY})),void 0!==e.groups&&e.groups.forEach(t.dragEnd)):e.fixed&=-7},t.mouseOver=function(t){t.fixed|=4,t.px=t.x,t.py=t.y},t.mouseOut=function(t){t.fixed&=-5},t}();e.Layout=f},6749:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(2867),i=n(7069),o=n(31),a=n(9427),s=function(){function t(t,e){this.source=t,this.target=e}return t.prototype.actualLength=function(t){var e=this;return Math.sqrt(t.reduce((function(t,n){var r=n[e.target]-n[e.source];return t+r*r}),0))},t}();e.Link3D=s;e.Node3D=function(t,e,n){void 0===t&&(t=0),void 0===e&&(e=0),void 0===n&&(n=0),this.x=t,this.y=e,this.z=n};var c=function(){function t(e,n,r){var i=this;void 0===r&&(r=1),this.nodes=e,this.links=n,this.idealLinkLength=r,this.constraints=null,this.useJaccardLinkLengths=!0,this.result=new Array(t.k);for(var o=0;o{"use strict";function n(t,e){var n={};for(var r in t)n[r]={};for(var r in e)n[r]={};return Object.keys(n).length}function r(t,e){var n=0;for(var r in t)void 0!==e[r]&&++n;return n}function i(t,e,n,r){var i=function(t,e){var n={},r=function(t,e){void 0===n[t]&&(n[t]={}),n[t][e]={}};return t.forEach((function(t){var n=e.getSourceIndex(t),i=e.getTargetIndex(t);r(n,i),r(i,n)})),n}(t,r);t.forEach((function(t){var o=i[r.getSourceIndex(t)],a=i[r.getTargetIndex(t)];r.setLength(t,1+e*n(o,a))}))}function o(t,e,n){var r=[],i=0,o=[],a=[];function s(t){t.index=t.lowlink=i++,o.push(t),t.onStack=!0;for(var e=0,n=t.out;e{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(t,e,n){this.source=t,this.target=e,this.type=n};e.PowerEdge=n;var r=function(){function t(t,e,n,r){var i=this;if(this.linkAccessor=n,this.modules=new Array(t),this.roots=[],r)this.initModulesFromGroup(r);else{this.roots.push(new a);for(var s=0;s=this.R))return this.merge(e.a,e.b,t),!0}},t.prototype.nEdges=function(t,e){var n=t.incoming.intersection(e.incoming),r=t.outgoing.intersection(e.outgoing);return this.R-n.count()-r.count()},t.prototype.getGroupHierarchy=function(t){var e=this,r=[];return i(this.roots[0],{},r),this.allEdges().forEach((function(i){var o=e.modules[i.source],a=e.modules[i.target];t.push(new n(void 0===o.gid?i.source:r[o.gid],void 0===a.gid?i.target:r[a.gid],i.type))})),r},t.prototype.allEdges=function(){var e=[];return t.getEdges(this.roots[0],e),e},t.getEdges=function(e,n){e.forAll((function(e){e.getEdges(n),t.getEdges(e.children,n)}))},t}();function i(t,e,n){t.forAll((function(t){if(t.isLeaf())e.leaves||(e.leaves=[]),e.leaves.push(t.id);else{var r=e;if(t.gid=n.length,!t.isIsland()||t.isPredefined()){if(r={id:t.gid},t.isPredefined())for(var o in t.definition)r[o]=t.definition[o];e.groups||(e.groups=[]),e.groups.push(t.gid),n.push(r)}i(t.children,r,n)}}))}e.Configuration=r;var o=function(){function t(t,e,n,r,i){void 0===e&&(e=new s),void 0===n&&(n=new s),void 0===r&&(r=new a),this.id=t,this.outgoing=e,this.incoming=n,this.children=r,this.definition=i}return t.prototype.getEdges=function(t){var e=this;this.outgoing.forAll((function(r,i){r.forAll((function(r){t.push(new n(e.id,r.id,i))}))}))},t.prototype.isLeaf=function(){return 0===this.children.count()},t.prototype.isIsland=function(){return 0===this.outgoing.count()&&0===this.incoming.count()},t.prototype.isPredefined=function(){return void 0!==this.definition},t}();e.Module=o;var a=function(){function t(){this.table={}}return t.prototype.count=function(){return Object.keys(this.table).length},t.prototype.intersection=function(e){var n=new t;return n.table=function(t,e){var n={};for(var r in t)r in e&&(n[r]=t[r]);return n}(this.table,e.table),n},t.prototype.intersectionCount=function(t){return this.intersection(t).count()},t.prototype.contains=function(t){return t in this.table},t.prototype.add=function(t){this.table[t.id]=t},t.prototype.remove=function(t){delete this.table[t.id]},t.prototype.forAll=function(t){for(var e in this.table)t(this.table[e])},t.prototype.modules=function(){var t=[];return this.forAll((function(e){e.isPredefined()||t.push(e)})),t},t}();e.ModuleSet=a;var s=function(){function t(){this.sets={},this.n=0}return t.prototype.count=function(){return this.n},t.prototype.contains=function(t){var e=!1;return this.forAllModules((function(n){e||n.id!=t||(e=!0)})),e},t.prototype.add=function(t,e){(t in this.sets?this.sets[t]:this.sets[t]=new a).add(e),++this.n},t.prototype.remove=function(t,e){var n=this.sets[t];n.remove(e),0===n.count()&&delete this.sets[t],--this.n},t.prototype.forAll=function(t){for(var e in this.sets)t(this.sets[e],Number(e))},t.prototype.forAllModules=function(t){this.forAll((function(e,n){return e.forAll(t)}))},t.prototype.intersection=function(e){var n=new t;return this.forAll((function(t,r){if(r in e.sets){var i=t.intersection(e.sets[r]),o=i.count();o>0&&(n.sets[r]=i,n.n+=o)}})),n},t}();e.LinkSets=s,e.getGroups=function(t,e,n,i){for(var o=t.length,a=new r(o,e,n,i);a.greedyMerge(););var s=[],c=a.getGroupHierarchy(s);return s.forEach((function(e){var n=function(n){var r=e[n];"number"==typeof r&&(e[n]=t[r])};n("source"),n("target")})),{groups:c,powerEdges:s}}},7421:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t){this.elem=t,this.subheaps=[]}return t.prototype.toString=function(t){for(var e="",n=!1,r=0;r0)}return null}}return t.prototype.clear=function(){this._root=null,this.size=0},t.prototype.find=function(t){for(var e=this._root;null!==e;){var n=this._comparator(t,e.data);if(0===n)return e.data;e=e.get_child(n>0)}return null},t.prototype.lowerBound=function(t){return this._bound(t,this._comparator)},t.prototype.upperBound=function(t){var e=this._comparator;return this._bound(t,(function(t,n){return e(n,t)}))},t.prototype.min=function(){var t=this._root;if(null===t)return null;for(;null!==t.left;)t=t.left;return t.data},t.prototype.max=function(){var t=this._root;if(null===t)return null;for(;null!==t.right;)t=t.right;return t.data},t.prototype.iterator=function(){return new o(this)},t.prototype.each=function(t){for(var e,n=this.iterator();null!==(e=n.next());)t(e)},t.prototype.reach=function(t){for(var e,n=this.iterator();null!==(e=n.prev());)t(e)},t.prototype._bound=function(t,e){for(var n=this._root,r=this.iterator();null!==n;){var i=this._comparator(t,n.data);if(0===i)return r._cursor=n,r;r._ancestors.push(n),n=n.get_child(i>0)}for(var o=r._ancestors.length-1;o>=0;--o)if(e(t,(n=r._ancestors[o]).data)>0)return r._cursor=n,r._ancestors.length=o,r;return r._ancestors.length=0,r},t}();e.TreeBase=i;var o=function(){function t(t){this._tree=t,this._ancestors=[],this._cursor=null}return t.prototype.data=function(){return null!==this._cursor?this._cursor.data:null},t.prototype.next=function(){if(null===this._cursor){var t=this._tree._root;null!==t&&this._minNode(t)}else{var e;if(null===this._cursor.right)do{if(e=this._cursor,!this._ancestors.length){this._cursor=null;break}this._cursor=this._ancestors.pop()}while(this._cursor.right===e);else this._ancestors.push(this._cursor),this._minNode(this._cursor.right)}return null!==this._cursor?this._cursor.data:null},t.prototype.prev=function(){if(null===this._cursor){var t=this._tree._root;null!==t&&this._maxNode(t)}else{var e;if(null===this._cursor.left)do{if(e=this._cursor,!this._ancestors.length){this._cursor=null;break}this._cursor=this._ancestors.pop()}while(this._cursor.left===e);else this._ancestors.push(this._cursor),this._maxNode(this._cursor.left)}return null!==this._cursor?this._cursor.data:null},t.prototype._minNode=function(t){for(;null!==t.left;)this._ancestors.push(t),t=t.left;this._cursor=t},t.prototype._maxNode=function(t){for(;null!==t.right;)this._ancestors.push(t),t=t.right;this._cursor=t},t}();e.Iterator=o;var a=function(){function t(t){this.data=t,this.left=null,this.right=null,this.red=!0}return t.prototype.get_child=function(t){return t?this.right:this.left},t.prototype.set_child=function(t,e){t?this.right=e:this.left=e},t}(),s=function(t){function e(e){var n=t.call(this)||this;return n._root=null,n._comparator=e,n.size=0,n}return r(e,t),e.prototype.insert=function(t){var n=!1;if(null===this._root)this._root=new a(t),n=!0,this.size++;else{var r=new a(void 0),i=!1,o=!1,s=null,c=r,u=null,l=this._root;for(c.right=this._root;;){if(null===l?(l=new a(t),u.set_child(i,l),n=!0,this.size++):e.is_red(l.left)&&e.is_red(l.right)&&(l.red=!0,l.left.red=!1,l.right.red=!1),e.is_red(l)&&e.is_red(u)){var h=c.right===s;l===u.get_child(o)?c.set_child(h,e.single_rotate(s,!o)):c.set_child(h,e.double_rotate(s,!o))}var f=this._comparator(l.data,t);if(0===f)break;o=i,i=f<0,null!==s&&(c=s),s=u,u=l,l=l.get_child(i)}this._root=r.right}return this._root.red=!1,n},e.prototype.remove=function(t){if(null===this._root)return!1;var n=new a(void 0),r=n;r.right=this._root;for(var i=null,o=null,s=null,c=!0;null!==r.get_child(c);){var u=c;o=i,i=r,r=r.get_child(c);var l=this._comparator(t,r.data);if(c=l>0,0===l&&(s=r),!e.is_red(r)&&!e.is_red(r.get_child(c)))if(e.is_red(r.get_child(!c))){var h=e.single_rotate(r,c);i.set_child(u,h),i=h}else if(!e.is_red(r.get_child(!c))){var f=i.get_child(!u);if(null!==f)if(e.is_red(f.get_child(!u))||e.is_red(f.get_child(u))){var d=o.right===i;e.is_red(f.get_child(u))?o.set_child(d,e.double_rotate(i,u)):e.is_red(f.get_child(!u))&&o.set_child(d,e.single_rotate(i,u));var p=o.get_child(d);p.red=!0,r.red=!0,p.left.red=!1,p.right.red=!1}else i.red=!1,f.red=!0,r.red=!0}}return null!==s&&(s.data=r.data,i.set_child(i.right===r,r.get_child(null===r.left)),this.size--),this._root=n.right,null!==this._root&&(this._root.red=!1),null!==s},e.is_red=function(t){return null!==t&&t.red},e.single_rotate=function(t,e){var n=t.get_child(!e);return t.set_child(!e,n.get_child(e)),n.set_child(e,t),t.red=!0,n.red=!1,n},e.double_rotate=function(t,n){return t.set_child(!n,e.single_rotate(t.get_child(!n),!n)),e.single_rotate(t,n)},e}(i);e.RBTree=s},31:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},r(t,e)},function(t,e){function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,"__esModule",{value:!0});var o=n(4926),a=n(1138);function s(t){return t.bounds=void 0!==t.leaves?t.leaves.reduce((function(t,e){return e.bounds.union(t)}),c.empty()):c.empty(),void 0!==t.groups&&(t.bounds=t.groups.reduce((function(t,e){return s(e).union(t)}),t.bounds)),t.bounds=t.bounds.inflate(t.padding),t.bounds}e.computeGroupBounds=s;var c=function(){function t(t,e,n,r){this.x=t,this.X=e,this.y=n,this.Y=r}return t.empty=function(){return new t(Number.POSITIVE_INFINITY,Number.NEGATIVE_INFINITY,Number.POSITIVE_INFINITY,Number.NEGATIVE_INFINITY)},t.prototype.cx=function(){return(this.x+this.X)/2},t.prototype.cy=function(){return(this.y+this.Y)/2},t.prototype.overlapX=function(t){var e=this.cx(),n=t.cx();return e<=n&&t.x0?n[0]:null},t.prototype.vertices=function(){return[{x:this.x,y:this.y},{x:this.X,y:this.y},{x:this.X,y:this.Y},{x:this.x,y:this.Y}]},t.lineIntersection=function(t,e,n,r,i,o,a,s){var c=n-t,u=a-i,l=r-e,h=s-o,f=h*c-u*l;if(0==f)return null;var d=t-i,p=e-o,g=(u*p-h*d)/f,v=(c*p-l*d)/f;return g>=0&&g<=1&&v>=0&&v<=1?{x:t+g*c,y:e+g*l}:null},t.prototype.inflate=function(e){return new t(this.x-e,this.X+e,this.y-e,this.Y+e)},t}();e.Rectangle=c,e.makeEdgeBetween=function(t,e,n){var r=t.rayIntersection(e.cx(),e.cy())||{x:t.cx(),y:t.cy()},i=e.rayIntersection(t.cx(),t.cy())||{x:e.cx(),y:e.cy()},o=i.x-r.x,a=i.y-r.y,s=Math.sqrt(o*o+a*a),c=s-n;return{sourceIntersection:r,targetIntersection:i,arrowStart:{x:r.x+c*o/s,y:r.y+c*a/s}}},e.makeEdgeTo=function(t,e,n){var r=e.rayIntersection(t.x,t.y);r||(r={x:e.cx(),y:e.cy()});var i=r.x-t.x,o=r.y-t.y,a=Math.sqrt(i*i+o*o);return{x:r.x-n*i/a,y:r.y-n*o/a}};var u=function(t,e,n){this.v=t,this.r=e,this.pos=n,this.prev=f(),this.next=f()},l=function(t,e,n){this.isOpen=t,this.v=e,this.pos=n};function h(t,e){return t.pos>e.pos?1:t.pos0&&(t[n].insert(i),i[r].insert(t))};n("next","prev"),n("prev","next")}};function g(t,e,n,r){void 0===r&&(r=!1);var i=t.padding,o=void 0!==t.groups?t.groups.length:0,a=void 0!==t.leaves?t.leaves.length:0,s=o?t.groups.reduce((function(t,r){return t.concat(g(r,e,n,!0))}),[]):[],c=(r?2:0)+a+o,u=new Array(c),l=new Array(c),h=0,f=function(t,e){l[h]=t,u[h++]=e};if(r){var d=t.bounds,p=e.getCentre(d),b=e.getSize(d)/2,y=e.getOpen(d),m=e.getClose(d),w=p-b+i/2,x=p+b-i/2;t.minVar.desiredPosition=w,f(e.makeRect(y,m,w,i),t.minVar),t.maxVar.desiredPosition=x,f(e.makeRect(y,m,x,i),t.maxVar)}a&&t.leaves.forEach((function(t){return f(t.bounds,t.variable)})),o&&t.groups.forEach((function(t){var n=t.bounds;f(e.makeRect(e.getOpen(n),e.getClose(n),e.getCentre(n),e.getSize(n)),t.minVar)}));var _=v(l,u,e,n);return o&&(u.forEach((function(t){t.cOut=[],t.cIn=[]})),_.forEach((function(t){t.left.cOut.push(t),t.right.cIn.push(t)})),t.groups.forEach((function(t){var n=(t.padding-e.getSize(t.bounds))/2;t.minVar.cIn.forEach((function(t){return t.gap+=n})),t.minVar.cOut.forEach((function(e){e.left=t.maxVar,e.gap+=n}))}))),s.concat(_)}function v(t,e,n,r){var i,a=t.length,s=2*a;console.assert(e.length>=a);var c=new Array(s);for(i=0;it[n]&&(t[n]=e)}o=t}))}},t.prototype.createAlignment=function(t){var e=this,n=this.nodes[t.offsets[0].node].variable;this.makeFeasible(t);var r="x"===t.axis?this.xConstraints:this.yConstraints;t.offsets.slice(1).forEach((function(t){var i=e.nodes[t.node].variable;r.push(new o.Constraint(n,i,t.offset,!0))}))},t.prototype.createConstraints=function(t){var e=this,n=function(t){return void 0===t.type||"separation"===t.type};this.xConstraints=t.filter((function(t){return"x"===t.axis&&n(t)})).map((function(t){return e.createSeparation(t)})),this.yConstraints=t.filter((function(t){return"y"===t.axis&&n(t)})).map((function(t){return e.createSeparation(t)})),t.filter((function(t){return"alignment"===t.type})).forEach((function(t){return e.createAlignment(t)}))},t.prototype.setupVariablesAndBounds=function(t,e,n,r){this.nodes.forEach((function(i,o){i.fixed?(i.variable.weight=i.fixedWeight?i.fixedWeight:1e3,n[o]=r(i)):i.variable.weight=1;var a=(i.width||0)/2,s=(i.height||0)/2,u=t[o],l=e[o];i.bounds=new c(u-a,u+a,l-s,l+s)}))},t.prototype.xProject=function(t,e,n){(this.rootGroup||this.avoidOverlaps||this.xConstraints)&&this.project(t,e,t,n,(function(t){return t.px}),this.xConstraints,m,(function(t){return t.bounds.setXCentre(n[t.variable.index]=t.variable.position())}),(function(t){var e=n[t.minVar.index]=t.minVar.position(),r=n[t.maxVar.index]=t.maxVar.position(),i=t.padding/2;t.bounds.x=e-i,t.bounds.X=r+i}))},t.prototype.yProject=function(t,e,n){(this.rootGroup||this.yConstraints)&&this.project(t,e,e,n,(function(t){return t.py}),this.yConstraints,w,(function(t){return t.bounds.setYCentre(n[t.variable.index]=t.variable.position())}),(function(t){var e=n[t.minVar.index]=t.minVar.position(),r=n[t.maxVar.index]=t.maxVar.position(),i=t.padding/2;t.bounds.y=e-i,t.bounds.Y=r+i}))},t.prototype.projectFunctions=function(){var t=this;return[function(e,n,r){return t.xProject(e,n,r)},function(e,n,r){return t.yProject(e,n,r)}]},t.prototype.project=function(t,e,n,r,i,o,a,c,u){this.setupVariablesAndBounds(t,e,r,i),this.rootGroup&&this.avoidOverlaps&&(s(this.rootGroup),o=o.concat(a(this.rootGroup))),this.solve(this.variables,o,n,r),this.nodes.forEach(c),this.rootGroup&&this.avoidOverlaps&&(this.groups.forEach(u),s(this.rootGroup))},t.prototype.solve=function(t,e,n,r){var i=new o.Solver(t,e);i.setStartingPositions(n),i.setDesiredPositions(r),i.solve()},t}();e.Projection=_},2867:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(7421),i=function(t,e){this.id=t,this.distance=e},o=function(t){this.id=t,this.neighbours=[]},a=function(t,e,n){this.node=t,this.prev=e,this.d=n},s=function(){function t(t,e,n,r,a){this.n=t,this.es=e,this.neighbours=new Array(this.n);for(var s=this.n;s--;)this.neighbours[s]=new o(s);for(s=this.es.length;s--;){var c=this.es[s],u=n(c),l=r(c),h=a(c);this.neighbours[u].neighbours.push(new i(l,h)),this.neighbours[l].neighbours.push(new i(u,h))}}return t.prototype.DistanceMatrix=function(){for(var t=new Array(this.n),e=0;eh&&(u.d=h,u.prev=s,n.reduceKey(u.q,u,(function(t,e){return t.q=e})))}}return o},t}();e.Calculator=s},4926:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t){this.scale=t,this.AB=0,this.AD=0,this.A2=0}return t.prototype.addVariable=function(t){var e=this.scale/t.scale,n=t.offset/t.scale,r=t.weight;this.AB+=r*e*n,this.AD+=r*e*t.desiredPosition,this.A2+=r*e*e},t.prototype.getPosn=function(){return(this.AD-this.AB)/this.A2},t}();e.PositionStats=n;var r=function(){function t(t,e,n,r){void 0===r&&(r=!1),this.left=t,this.right=e,this.gap=n,this.equality=r,this.active=!1,this.unsatisfiable=!1,this.left=t,this.right=e,this.gap=n,this.equality=r}return t.prototype.slack=function(){return this.unsatisfiable?Number.MAX_VALUE:this.right.scale*this.right.position()-this.gap-this.left.scale*this.left.position()},t}();e.Constraint=r;var i=function(){function t(t,e,n){void 0===e&&(e=1),void 0===n&&(n=1),this.desiredPosition=t,this.weight=e,this.scale=n,this.offset=0}return t.prototype.dfdv=function(){return 2*this.weight*(this.position()-this.desiredPosition)},t.prototype.position=function(){return(this.block.ps.scale*this.block.posn+this.offset)/this.scale},t.prototype.visitNeighbours=function(t,e){var n=function(n,r){return n.active&&t!==r&&e(n,r)};this.cOut.forEach((function(t){return n(t,t.right)})),this.cIn.forEach((function(t){return n(t,t.left)}))},t}();e.Variable=i;var o=function(){function t(t){this.vars=[],t.offset=0,this.ps=new n(t.scale),this.addVariable(t)}return t.prototype.addVariable=function(t){t.block=this,this.vars.push(t),this.ps.addVariable(t),this.posn=this.ps.getPosn()},t.prototype.updateWeightedPosition=function(){this.ps.AB=this.ps.AD=this.ps.A2=0;for(var t=0,e=this.vars.length;t=0?this.inactive.push(e):this.bs.merge(e)}}},t.prototype.solve=function(){this.satisfy();for(var t=Number.MAX_VALUE,e=this.bs.cost();Math.abs(t-e)>1e-4;)this.satisfy(),t=e,e=this.bs.cost();return e},t.LAGRANGIAN_TOLERANCE=-1e-4,t.ZERO_UPPERBOUND=-1e-10,t}();e.Solver=s,e.removeOverlapInOneDimension=function(t,e,n){for(var o=t.map((function(t){return new i(t.desiredCenter)})),a=[],c=t.length,u=0;u{var e=t&&t.__esModule?()=>t.default:()=>t;return __webpack_require__.d(e,{a:e}),e},__webpack_require__.d=(t,e)=>{for(var n in e)__webpack_require__.o(e,n)&&!__webpack_require__.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},__webpack_require__.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),__webpack_require__.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),__webpack_require__.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},__webpack_require__.nmd=t=>(t.paths=[],t.children||(t.children=[]),t),__webpack_require__.nc=void 0;var __webpack_exports__={};(()=>{"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{Cytoscape:()=>ot});var t=__webpack_require__(3379),e=__webpack_require__.n(t),n=__webpack_require__(7795),r=__webpack_require__.n(n),i=__webpack_require__(569),o=__webpack_require__.n(i),a=__webpack_require__(3565),s=__webpack_require__.n(a),c=__webpack_require__(9216),u=__webpack_require__.n(c),l=__webpack_require__(4589),h=__webpack_require__.n(l),f=__webpack_require__(372),d={};d.styleTagTransform=h(),d.setAttributes=s(),d.insert=o().bind(null,"head"),d.domAPI=r(),d.insertStyleElement=u(),e()(f.Z,d),f.Z&&f.Z.locals&&f.Z.locals;const p=window.React;var g=__webpack_require__.n(p),v=__webpack_require__(5697),b=__webpack_require__.n(v),y=__webpack_require__(9058),m=__webpack_require__.n(y);const{string:w,array:x,object:_,number:E,bool:k,oneOfType:T,any:C,func:N}=b(),A={id:w,className:w,style:T([w,_]),elements:T([x,C]),stylesheet:T([x,C]),layout:T([_,C]),pan:T([_,C]),zoom:E,panningEnabled:k,userPanningEnabled:k,minZoom:E,maxZoom:E,zoomingEnabled:k,userZoomingEnabled:k,boxSelectionEnabled:k,autoungrabify:k,autolock:k,autounselectify:k,get:N,toJson:N,diff:N,forEach:N,cy:N,headless:k,styleEnabled:k,hideEdgesOnViewport:k,textureOnViewport:k,motionBlur:k,motionBlurOpacity:E,wheelSensitivity:E,pixelRatio:T([w,_])},S=(t,e)=>{if(((t,e)=>null==t||null==e)(t,e)&&(null!=t||null!=e))return!0;if(t===e)return!1;if("object"!=typeof t||"object"!=typeof e)return t!==e;const n=Object.keys(t),r=Object.keys(e),i=n=>t[n]!==e[n];return n.length!==r.length||!(!n.some(i)&&!r.some(i))},O=(t,e)=>null!=t?t[e]:null,L={diff:S,get:O,toJson:t=>t,forEach:(t,e)=>t.forEach(e),elements:[{data:{id:"a",label:"Example node A"}},{data:{id:"b",label:"Example node B"}},{data:{id:"e",source:"a",target:"b"}}],stylesheet:[{selector:"node",style:{label:"data(label)"}}],zoom:1,pan:{x:0,y:0}},I=(t,e,n,r)=>n(O(t,r),O(e,r)),M=(t,e,n,r,i,o)=>{const a=i(i(n,"data"),"id"),s=t.getElementById(a),c={};["data","position","selected","selectable","locked","grabbable","classes"].forEach((t=>{const a=i(n,t);o(a,i(e,t))&&(c[t]=r(a))}));const u=i(n,"scratch");o(u,i(e,"scratch"))&&s.scratch(r(u)),Object.keys(c).length>0&&s.json(c)};class P extends g().Component{static get propTypes(){return A}static get defaultProps(){return L}static normalizeElements(t){if(null!=t.length)return t;{let{nodes:e,edges:n}=t;return null==e&&(e=[]),null==n&&(n=[]),e.concat(n)}}constructor(t){super(t),this.displayName="CytoscapeComponent",this.containerRef=g().createRef()}componentDidMount(){const t=this.containerRef.current,{global:e,headless:n,styleEnabled:r,hideEdgesOnViewport:i,textureOnViewport:o,motionBlur:a,motionBlurOpacity:s,wheelSensitivity:c,pixelRatio:u}=this.props,l=this._cy=new(m())({container:t,headless:n,styleEnabled:r,hideEdgesOnViewport:i,textureOnViewport:o,motionBlur:a,motionBlurOpacity:s,wheelSensitivity:c,pixelRatio:u});e&&(window[e]=l),this.updateCytoscape(null,this.props)}updateCytoscape(t,e){const n=this._cy,{diff:r,toJson:i,get:o,forEach:a}=e;((t,e,n,r,i,o,a)=>{t.batch((()=>{(r===S||I(e,n,r,"elements"))&&((t,e,n,r,i,o,a)=>{const s=[],c=t.collection(),u=[],l={},h={},f=t=>i(i(t,"data"),"id");o(n,(t=>{const e=f(t);h[e]=t})),null!=e&&o(e,(e=>{const n=f(e);l[n]=e,(t=>null!=h[t])(n)||c.merge(t.getElementById(n))})),o(n,(t=>{const e=f(t),n=(t=>l[t])(e);(t=>null!=l[t])(e)?u.push({ele1:n,ele2:t}):s.push(r(t))})),c.length>0&&t.remove(c),s.length>0&&t.add(s),u.forEach((({ele1:e,ele2:n})=>M(t,e,n,r,i,a)))})(t,O(e,"elements"),O(n,"elements"),i,o,a,r),I(e,n,r,"stylesheet")&&((t,e,n,r)=>{const i=t.style();null!=i&&i.fromJson(r(n)).update()})(t,O(e,"stylesheet"),O(n,"stylesheet"),i),["zoom","minZoom","maxZoom","zoomingEnabled","userZoomingEnabled","pan","panningEnabled","userPanningEnabled","boxSelectionEnabled","autoungrabify","autolock","autounselectify"].forEach((o=>{I(e,n,r,o)&&((t,e,n,r,i)=>{t[e](i(r))})(t,o,O(e,o),O(n,o),i)}))})),I(e,n,r,"layout")&&((t,e,n,r)=>{const i=r(n);null!=i&&t.layout(i).run()})(t,O(e,"layout"),O(n,"layout"),i)})(n,t,e,r,i,o,a),null!=e.cy&&e.cy(n)}componentDidUpdate(t){this.updateCytoscape(t,this.props)}componentWillUnmount(){this._cy.destroy()}render(){const{id:t,className:e,style:n}=this.props;return g().createElement("div",{ref:this.containerRef,id:t,className:e,style:n})}}var D=__webpack_require__(6486),R=__webpack_require__.n(D);const j={randomUUID:"undefined"!=typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};let G;const B=new Uint8Array(16);function F(){if(!G&&(G="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!G))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return G(B)}const H=[];for(let t=0;t<256;++t)H.push((t+256).toString(16).slice(1));const Y=function(t,e,n){if(j.randomUUID&&!e&&!t)return j.randomUUID();const r=(t=t||{}).random||(t.rng||F)();if(r[6]=15&r[6]|64,r[8]=63&r[8]|128,e){n=n||0;for(let t=0;t<16;++t)e[n+t]=r[t];return e}return function(t,e=0){return H[t[e+0]]+H[t[e+1]]+H[t[e+2]]+H[t[e+3]]+"-"+H[t[e+4]]+H[t[e+5]]+"-"+H[t[e+6]]+H[t[e+7]]+"-"+H[t[e+8]]+H[t[e+9]]+"-"+H[t[e+10]]+H[t[e+11]]+H[t[e+12]]+H[t[e+13]]+H[t[e+14]]+H[t[e+15]]}(r)};function z(t){return z="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},z(t)}function U(t,e){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:!this.shouldResize,e=this.cy;t!==this.shouldResize&&(t?(e.on("render",this.updateViewport),e.on("resize",this.resize),this.updateViewport(e)):(e.removeListener("render",this.updateViewport),e.removeListener("resize",this.resize)),this.shouldResize=t)}},{key:"getViewport",value:function(){var t=this.cy;return{position:t.pan(),zoom:t.zoom(),renderedBB:Object.assign({},t.elements().renderedBoundingBox()),height:t.height(),width:t.width()}}},{key:"updateViewport",value:function(){var t=this.cy;this.prev=this.getViewport(t)}},{key:"_xConstrainedZoom",value:function(t){var e=this.curr,n=this.prev,r=this.marginPercentage.left*e.width;e.position.x=r+(n.position.x-n.renderedBB.x1);var i=e.renderedBB.y1+e.renderedBB.h/2-e.renderedBB.h/n.zoom*t/2;i+=(e.height-n.height)/2,e.position.y=i+(n.position.y-n.renderedBB.y1)}},{key:"_xChangeMargin",value:function(t){var e=this.curr,n=this.prev,r=n.renderedBB.x1+n.renderedBB.w/2,i=r/n.width*t;e.position.x=e.position.x+(i-r)}},{key:"_yConstrainedZoom",value:function(t){var e=this.curr,n=this.prev,r=this.marginPercentage.top*e.height;e.position.y=r+(n.position.y-n.renderedBB.y1);var i=e.renderedBB.x1+e.renderedBB.w/2-e.renderedBB.w/n.zoom*t/2;i+=(e.width-n.width)/2,e.position.x=i+(n.position.x-n.renderedBB.x1)}},{key:"_yChangeMargin",value:function(){var t=this.curr,e=this.prev,n=e.renderedBB.y1+e.renderedBB.h/2,r=n/e.height*t.height;t.position.y=t.position.y+(r-n)}},{key:"resize",value:function(){var t=this.cy;this.curr=this.getViewport(t);var e=this.curr,n=this.prev,r=n.renderedBB.x1>=0&&n.renderedBB.y1>=0&&n.renderedBB.x2<=n.width&&n.renderedBB.y2<=n.height;if(this.marginPercentage={left:n.renderedBB.x1/n.width,top:n.renderedBB.y1/n.height},Math.abs(1-e.width/n.width)>Math.abs(1-e.height/n.height)){var i=n.zoom/n.width*e.width;if(r)for(var o=Math.min((e.renderedBB.y1+e.renderedBB.h/2)*n.zoom*2/e.renderedBB.h,-(e.renderedBB.y1+e.renderedBB.h/2-n.height)*n.zoom*2/e.renderedBB.h)-this.containedZoomMargin,a=n.width/n.zoom*o,s=e.zoom=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return a=t.done,t},e:function(t){s=!0,o=t},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function $(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);nt.maxZoom()||e0&&(r.selector=r.selector+", "),r.selector=r.selector+"edge"):"node"===u?(r.selector.length>0&&(r.selector=r.selector+", "),r.selector=r.selector+"node"):"canvas"===u?r.coreAsWell=!0:console.error("Error: selector ".concat(u," is not available. Choose one of 'node', 'edge' or 'canvas'."))}}catch(t){c.e(t)}finally{c.f()}}a.push(r)};for(s.s();!(i=s.n()).done;)c()}catch(t){s.e(t)}finally{s.f()}return a},this.cyResponsiveClass=new q(t),this.cyResponsiveClass.toggle(this.props.responsive),s(t.extent())}}},{key:"handleImageGeneration",value:function(t,e,n,r){var i=this,o={};e&&(o=e);var a,s,c,u=o.output;switch(o.output="blob",n){case"store":default:a=!1,s=!0;break;case"download":a=!0,s=!1;break;case"both":a=!0,s=!0}if("png"===t&&(c=this._cy.png(o)),"jpg"!==t&&"jpeg"!==t||(c=this._cy.jpg(o)),"svg"===t&&(c=this._cy.svg(o)),c&&a){var l=r;if(r||(l="cyto"),"svg"!==t)this.downloadBlob(c,l+"."+t);else{var h=new Blob([c],{type:"image/svg+xml;charset=utf-8"});this.downloadBlob(h,l+"."+t)}}if(c&&s){if(u||(u="base64uri"),"base64uri"!==u&&"base64"!==u)return;var f=new FileReader;f.onload=function(){var t=f.result;"base64"===u&&(t=t.replace(/^data:.+;base64,/,"")),i.props.setProps({imageData:t})},f.readAsDataURL(c)}}},{key:"downloadBlob",value:function(t,e){var n=document.createElement("a");n.style="display: none",document.body.appendChild(n);var r=window.URL.createObjectURL(t);n.href=r,n.download=e,n.click(),window.URL.revokeObjectURL(r),document.body.removeChild(n)}},{key:"updateContextMenu",value:function(t){this._cy.contextMenus({menuItems:this.createMenuItems(t),menuItemClasses:["custom-menu-item"]})}},{key:"graphOutOfView",value:function(){var t=this._cy.width(),e=this._cy.height(),n=this._cy.elements().renderedBoundingbox();return n.x1>t||n.y1>e||n.x2<0||n.y2<0}},{key:"componentDidUpdate",value:function(t){var e=this.props,n=e.contextMenu,r=e.elements;!R().isEqual(t.contextMenu,n)&&this._cy&&this.updateContextMenu(n),!R().isEqual(t.elements,r)&&this._cy&&this.graphOutOfView()&&this._cy.fit()}},{key:"componentDidMount",value:function(){var t=this.props.contextMenu;this._cy&&t.length>0&&this.updateContextMenu(t)}},{key:"render",value:function(){var t=this.props,e=t.id,n=t.style,r=t.className,i=t.elements,o=t.stylesheet,a=t.layout,s=t.contextMenu,c=t.contextMenuData,u=t.pan,l=t.zoom,h=t.panningEnabled,f=t.userPanningEnabled,d=t.minZoom,p=t.maxZoom,v=t.zoomingEnabled,b=t.userZoomingEnabled,y=t.wheelSensitivity,m=t.boxSelectionEnabled,w=t.autoungrabify,x=t.autolock,_=t.autounselectify,E=t.generateImage,k=t.responsive;return Object.keys(E).length>0&&(this.props.setProps({generateImage:{}}),this._cy&&this.handleImageGeneration(E.type,E.options,E.action,E.filename)),this.cyResponsiveClass&&this.cyResponsiveClass.toggle(k),g().createElement(P,{id:e,cy:this.handleCy,className:r,style:n,elements:P.normalizeElements(i),stylesheet:o,layout:a,contextMenu:s,contextMenuData:c,pan:u,zoom:l,panningEnabled:h,userPanningEnabled:f,minZoom:d,maxZoom:p,zoomingEnabled:v,userZoomingEnabled:b,wheelSensitivity:y,boxSelectionEnabled:m,autoungrabify:w,autolock:x,autounselectify:_})}}],r&&Z(n.prototype,r),Object.defineProperty(n,"prototype",{writable:!1}),e}(p.Component);it.propTypes={id:b().string,className:b().string,style:b().object,setProps:b().func,elements:b().oneOfType([b().arrayOf(b().shape({group:b().string,data:b().shape({id:b().string,label:b().string,parent:b().string,source:b().string,target:b().string}),position:b().shape({x:b().number,y:b().number}),selected:b().bool,selectable:b().bool,locked:b().bool,grabbable:b().bool,classes:b().string})),b().exact({nodes:b().array,edges:b().array})]),stylesheet:b().arrayOf(b().exact({selector:b().string.isRequired,style:b().object.isRequired})),layout:b().shape({name:b().oneOf(["random","preset","circle","concentric","grid","breadthfirst","cose","cose-bilkent","fcose","cola","euler","spread","dagre","klay"]).isRequired,fit:b().bool,padding:b().number,animate:b().bool,animationDuration:b().number,boundingBox:b().object}),contextMenu:b().arrayOf(b().exact({id:b().string.isRequired,label:b().string.isRequired,tooltipText:b().string,availableOn:b().array,onClick:b().string,onClickCustom:b().string})),contextMenuData:b().exact({menuItemId:b().string,x:b().number,y:b().number,timeStamp:b().number,elementId:b().string,edgeSource:b().string,edgeTarget:b().string}),pan:b().exact({x:b().number,y:b().number}),zoom:b().number,panningEnabled:b().bool,userPanningEnabled:b().bool,minZoom:b().number,maxZoom:b().number,zoomingEnabled:b().bool,userZoomingEnabled:b().bool,wheelSensitivity:b().number,boxSelectionEnabled:b().bool,autoungrabify:b().bool,autolock:b().bool,autounselectify:b().bool,autoRefreshLayout:b().bool,tapNode:b().exact({edgesData:b().array,renderedPosition:b().object,timeStamp:b().number,classes:b().string,data:b().object,grabbable:b().bool,group:b().string,locked:b().bool,position:b().object,selectable:b().bool,selected:b().bool,style:b().object,ancestorsData:b().oneOfType([b().object,b().array]),childrenData:b().oneOfType([b().object,b().array]),descendantsData:b().oneOfType([b().object,b().array]),parentData:b().oneOfType([b().object,b().array]),siblingsData:b().oneOfType([b().object,b().array]),isParent:b().bool,isChildless:b().bool,isChild:b().bool,isOrphan:b().bool,relativePosition:b().object}),tapNodeData:b().object,tapEdge:b().exact({isLoop:b().bool,isSimple:b().bool,midpoint:b().object,sourceData:b().object,sourceEndpoint:b().object,targetData:b().object,targetEndpoint:b().object,timeStamp:b().number,classes:b().string,data:b().object,grabbable:b().bool,group:b().string,locked:b().bool,selectable:b().bool,selected:b().bool,style:b().object}),tapEdgeData:b().object,mouseoverNodeData:b().object,mouseoverEdgeData:b().object,selectedNodeData:b().array,selectedEdgeData:b().array,generateImage:b().shape({type:b().oneOf(["svg","png","jpg","jpeg"]),options:b().object,action:b().oneOf(["store","download","both"]),filename:b().string}),imageData:b().string,responsive:b().bool,extent:b().object,clearOnUnhover:b().bool},it.defaultProps={style:{width:"600px",height:"600px"},layout:{name:"grid"},pan:{x:0,y:0},zoom:1,minZoom:1e-50,maxZoom:1e50,zoomingEnabled:!0,userZoomingEnabled:!0,panningEnabled:!0,userPanningEnabled:!0,wheelSensitivity:1,boxSelectionEnabled:!1,autolock:!1,autoungrabify:!1,autounselectify:!1,autoRefreshLayout:!0,generateImage:{},imageData:null,responsive:!1,clearOnUnhover:!1,elements:[],contextMenu:[]};const ot=it;var at=__webpack_require__(4607),st=__webpack_require__.n(at),ct=__webpack_require__(4867),ut=__webpack_require__.n(ct),lt=__webpack_require__(703),ht=__webpack_require__.n(lt),ft=__webpack_require__(9142),dt=__webpack_require__.n(ft),pt=__webpack_require__(3840),gt=__webpack_require__.n(pt),vt=__webpack_require__(3878),bt=__webpack_require__.n(vt),yt=__webpack_require__(6611),mt=__webpack_require__.n(yt),wt=__webpack_require__(3595),xt=__webpack_require__.n(wt);m().use(st()),m().use(ut()),m().use(ht()),m().use(dt()),m().use(gt()),m().use(bt()),m().use(mt()),m().use(xt())})(),window.dash_cytoscape=__webpack_exports__})(); \ No newline at end of file +(()=>{var __webpack_modules__={1686:()=>{!function(){"use strict";var t=function(t,e){var n=function(t){for(var e=0,n=t.length;et.length)&&(e=t.length);for(var n=0,r=new Array(e);n=t.length?{done:!0}:{done:!1,value:t[i++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,s=!0,c=!1;return{s:function(){r=r.call(t)},n:function(){var t=r.next();return s=t.done,t},e:function(t){c=!0,a=t},f:function(){try{s||null==r.return||r.return()}finally{if(c)throw a}}}}var r=!0,i=!1,o="querySelectorAll",a="querySelectorAll",s=self,c=s.document,u=s.Element,l=s.MutationObserver,h=s.Set,f=s.WeakMap,d=function(t){return a in t},p=[].filter,g=function(t){var e=new f,s=function(n,r){var i;if(r)for(var o,a=function(t){return t.matches||t.webkitMatchesSelector||t.msMatchesSelector}(n),s=0,c=v.length;s1&&void 0!==arguments[1])||arguments[1],n=0,r=t.length;n1&&void 0!==arguments[1]?arguments[1]:document,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:MutationObserver,s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:["*"],c=function e(i,a,s,c,u,l){var h,f=n(i);try{for(f.s();!(h=f.n()).done;){var d=h.value;(l||o in d)&&(u?s.has(d)||(s.add(d),c.delete(d),t(d,u)):c.has(d)||(c.add(d),s.delete(d),t(d,u)),l||e(d[o](a),a,s,c,u,r))}}catch(t){f.e(t)}finally{f.f()}},u=new a((function(t){if(s.length){var e,o=s.join(","),a=new Set,u=new Set,l=n(t);try{for(l.s();!(e=l.n()).done;){var h=e.value,f=h.addedNodes,d=h.removedNodes;c(d,o,a,u,i,i),c(f,o,a,u,r,i)}}catch(t){l.e(t)}finally{l.f()}}})),l=u.observe;return(u.observe=function(t){return l.call(u,t,{subtree:r,childList:r})})(e),u}(s,b,l,v),m=u.prototype.attachShadow;return m&&(u.prototype.attachShadow=function(t){var e=m.call(this,t);return y.observe(e),e}),v.length&&g(b[a](v)),{drop:function(t){for(var n=0,r=t.length;n{window.dash_clientside||(window.dash_clientside={});var t=20037508.34;function e(e,n){return[180*e/t,360*Math.atan(Math.exp(-n*Math.PI/t))/Math.PI-90]}window.dash_clientside.cyleaflet={updateLeafBounds:function(t,n,r){var i=t;if(!i){if(!r)return window.dash_clientside.no_update;i=r}var o=e(i.x1,i.y1),a=o[0],s=o[1],c=e(i.x2,i.y2),u=c[0],l=c[1],h=(new Date).getTime(),f=[[l,a],[s,u]];return s===l||a===u?window.dash_clientside.no_update:[h,{bounds:f,options:{animate:!0}},i]},transformElements:function(e){return e.map((function(e){if(Object.prototype.hasOwnProperty.call(e.data,"lat")){var n=(r=e.data.lon,i=e.data.lat,[r*t/180,-Math.log(Math.tan((90+i)*Math.PI/360))*t/Math.PI]);return{data:e.data,position:{y:n[1],x:n[0]}}}var r,i;return e}))},updateLonLat:function(t){return t.length>0?t.map((function(t){if(void 0!==t.position&&Object.prototype.hasOwnProperty.call(t.position,"x")&&0!==t.position.x&&0!==t.position.y){var n=e(t.position.x,t.position.y);return{position:t.position,data:Object.assign({},t.data,{lon:n[0],lat:n[1]})}}return t})):window.dash_clientside.no_update},updateCytoMaxZoom:function(t){var e=t;t.length>=1&&1===(e=t.filter((function(t){return"TileLayer"===t.type}))).length&&(e=e[0]);var n=18;return void 0!==e.props&&Object.prototype.hasOwnProperty.call(e.props,"maxZoom")&&(n=e.props.maxZoom),function(t){return.418*Math.pow(2,t-16)}(n)}}},4182:function(t,e,n){var r;r=function(t){return function(t){var e={};function n(r){if(e[r])return e[r].exports;var i=e[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=t,n.c=e,n.i=function(t){return t},n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:r})},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=7)}([function(e,n){e.exports=t},function(t,e,n){"use strict";var r=n(0).FDLayoutConstants;function i(){}for(var o in r)i[o]=r[o];i.DEFAULT_USE_MULTI_LEVEL_SCALING=!1,i.DEFAULT_RADIAL_SEPARATION=r.DEFAULT_EDGE_LENGTH,i.DEFAULT_COMPONENT_SEPERATION=60,i.TILE=!0,i.TILING_PADDING_VERTICAL=10,i.TILING_PADDING_HORIZONTAL=10,i.TREE_REDUCTION_ON_INCREMENTAL=!1,t.exports=i},function(t,e,n){"use strict";var r=n(0).FDLayoutEdge;function i(t,e,n){r.call(this,t,e,n)}for(var o in i.prototype=Object.create(r.prototype),r)i[o]=r[o];t.exports=i},function(t,e,n){"use strict";var r=n(0).LGraph;function i(t,e,n){r.call(this,t,e,n)}for(var o in i.prototype=Object.create(r.prototype),r)i[o]=r[o];t.exports=i},function(t,e,n){"use strict";var r=n(0).LGraphManager;function i(t){r.call(this,t)}for(var o in i.prototype=Object.create(r.prototype),r)i[o]=r[o];t.exports=i},function(t,e,n){"use strict";var r=n(0).FDLayoutNode,i=n(0).IMath;function o(t,e,n,i){r.call(this,t,e,n,i)}for(var a in o.prototype=Object.create(r.prototype),r)o[a]=r[a];o.prototype.move=function(){var t=this.graphManager.getLayout();this.displacementX=t.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.noOfChildren,this.displacementY=t.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.noOfChildren,Math.abs(this.displacementX)>t.coolingFactor*t.maxNodeDisplacement&&(this.displacementX=t.coolingFactor*t.maxNodeDisplacement*i.sign(this.displacementX)),Math.abs(this.displacementY)>t.coolingFactor*t.maxNodeDisplacement&&(this.displacementY=t.coolingFactor*t.maxNodeDisplacement*i.sign(this.displacementY)),null==this.child||0==this.child.getNodes().length?this.moveBy(this.displacementX,this.displacementY):this.propogateDisplacementToChildren(this.displacementX,this.displacementY),t.totalDisplacement+=Math.abs(this.displacementX)+Math.abs(this.displacementY),this.springForceX=0,this.springForceY=0,this.repulsionForceX=0,this.repulsionForceY=0,this.gravitationForceX=0,this.gravitationForceY=0,this.displacementX=0,this.displacementY=0},o.prototype.propogateDisplacementToChildren=function(t,e){for(var n,r=this.getChild().getNodes(),i=0;i0)this.positionNodesRadially(t);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var e=new Set(this.getAllNodes()),n=this.nodesWithGravity.filter((function(t){return e.has(t)}));this.graphManager.setAllNodesToApplyGravitation(n),this.positionNodesRandomly()}}return this.initSpringEmbedder(),this.runSpringEmbedder(),!0},y.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished){if(!(this.prunedNodesAll.length>0))return!0;this.isTreeGrowing=!0}if(this.totalIterations%u.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged()){if(!(this.prunedNodesAll.length>0))return!0;this.isTreeGrowing=!0}this.coolingCycle++,0==this.layoutQuality?this.coolingAdjuster=this.coolingCycle:1==this.layoutQuality&&(this.coolingAdjuster=this.coolingCycle/3),this.coolingFactor=Math.max(this.initialCoolingFactor-Math.pow(this.coolingCycle,Math.log(100*(this.initialCoolingFactor-this.finalTemperature))/Math.log(this.maxCoolingCycle))/100*this.coolingAdjuster,this.finalTemperature),this.animationPeriod=Math.ceil(this.initialAnimationPeriod*Math.sqrt(this.coolingFactor))}if(this.isTreeGrowing){if(this.growTreeIterations%10==0)if(this.prunedNodesAll.length>0){this.graphManager.updateBounds(),this.updateGrid(),this.growTree(this.prunedNodesAll),this.graphManager.resetAllNodesToApplyGravitation();var t=new Set(this.getAllNodes()),e=this.nodesWithGravity.filter((function(e){return t.has(e)}));this.graphManager.setAllNodesToApplyGravitation(e),this.graphManager.updateBounds(),this.updateGrid(),this.coolingFactor=u.DEFAULT_COOLING_FACTOR_INCREMENTAL}else this.isTreeGrowing=!1,this.isGrowthFinished=!0;this.growTreeIterations++}if(this.isGrowthFinished){if(this.isConverged())return!0;this.afterGrowthIterations%10==0&&(this.graphManager.updateBounds(),this.updateGrid()),this.coolingFactor=u.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var n=!this.isTreeGrowing&&!this.isGrowthFinished,r=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(n,r),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},y.prototype.getPositionsData=function(){for(var t=this.graphManager.getAllNodes(),e={},n=0;n1)for(s=0;sr&&(r=Math.floor(a.y)),o=Math.floor(a.x+c.DEFAULT_COMPONENT_SEPERATION)}this.transform(new f(l.WORLD_CENTER_X-a.x/2,l.WORLD_CENTER_Y-a.y/2))},y.radialLayout=function(t,e,n){var r=Math.max(this.maxDiagonalInTree(t),c.DEFAULT_RADIAL_SEPARATION);y.branchRadialLayout(e,null,0,359,0,r);var i=v.calculateBounds(t),o=new b;o.setDeviceOrgX(i.getMinX()),o.setDeviceOrgY(i.getMinY()),o.setWorldOrgX(n.x),o.setWorldOrgY(n.y);for(var a=0;a1;){var b=v[0];v.splice(0,1);var m=l.indexOf(b);m>=0&&l.splice(m,1),p--,h--}f=null!=e?(l.indexOf(v[0])+1)%p:0;for(var w=Math.abs(r-n)/h,x=f;d!=h;x=++x%p){var _=l[x].getOtherEnd(t);if(_!=e){var E=(n+d*w)%360,k=(E+w)%360;y.branchRadialLayout(_,t,E,k,i+o,o),d++}}},y.maxDiagonalInTree=function(t){for(var e=p.MIN_VALUE,n=0;ne&&(e=r)}return e},y.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},y.prototype.groupZeroDegreeMembers=function(){var t=this,e={};this.memberGroups={},this.idToDummyNode={};for(var n=[],r=this.graphManager.getAllNodes(),i=0;i1){var r="DummyCompound_"+n;t.memberGroups[r]=e[n];var i=e[n][0].getParent(),o=new a(t.graphManager);o.id=r,o.paddingLeft=i.paddingLeft||0,o.paddingRight=i.paddingRight||0,o.paddingBottom=i.paddingBottom||0,o.paddingTop=i.paddingTop||0,t.idToDummyNode[r]=o;var s=t.getGraphManager().add(t.newGraph(),o),c=i.getChild();c.add(o);for(var u=0;u=0;t--){var e=this.compoundOrder[t],n=e.id,r=e.paddingLeft,i=e.paddingTop;this.adjustLocations(this.tiledMemberPack[n],e.rect.x,e.rect.y,r,i)}},y.prototype.repopulateZeroDegreeMembers=function(){var t=this,e=this.tiledZeroDegreePack;Object.keys(e).forEach((function(n){var r=t.idToDummyNode[n],i=r.paddingLeft,o=r.paddingTop;t.adjustLocations(e[n],r.rect.x,r.rect.y,i,o)}))},y.prototype.getToBeTiled=function(t){var e=t.id;if(null!=this.toBeTiled[e])return this.toBeTiled[e];var n=t.getChild();if(null==n)return this.toBeTiled[e]=!1,!1;for(var r=n.getNodes(),i=0;i0)return this.toBeTiled[e]=!1,!1;if(null!=o.getChild()){if(!this.getToBeTiled(o))return this.toBeTiled[e]=!1,!1}else this.toBeTiled[o.id]=!1}return this.toBeTiled[e]=!0,!0},y.prototype.getNodeDegree=function(t){t.id;for(var e=t.getEdges(),n=0,r=0;rc&&(c=l.rect.height)}n+=c+t.verticalPadding}},y.prototype.tileCompoundMembers=function(t,e){var n=this;this.tiledMemberPack=[],Object.keys(t).forEach((function(r){var i=e[r];n.tiledMemberPack[r]=n.tileNodes(t[r],i.paddingLeft+i.paddingRight),i.rect.width=n.tiledMemberPack[r].width,i.rect.height=n.tiledMemberPack[r].height}))},y.prototype.tileNodes=function(t,e){var n={rows:[],rowWidth:[],rowHeight:[],width:0,height:e,verticalPadding:c.TILING_PADDING_VERTICAL,horizontalPadding:c.TILING_PADDING_HORIZONTAL};t.sort((function(t,e){return t.rect.width*t.rect.height>e.rect.width*e.rect.height?-1:t.rect.width*t.rect.height0&&(o+=t.horizontalPadding),t.rowWidth[n]=o,t.width0&&(a+=t.verticalPadding);var s=0;a>t.rowHeight[n]&&(s=t.rowHeight[n],t.rowHeight[n]=a,s=t.rowHeight[n]-s),t.height+=s,t.rows[n].push(e)},y.prototype.getShortestRowIndex=function(t){for(var e=-1,n=Number.MAX_VALUE,r=0;rn&&(e=r,n=t.rowWidth[r]);return e},y.prototype.canAddHorizontal=function(t,e,n){var r=this.getShortestRowIndex(t);if(r<0)return!0;var i=t.rowWidth[r];if(i+t.horizontalPadding+e<=t.width)return!0;var o,a,s=0;return t.rowHeight[r]0&&(s=n+t.verticalPadding-t.rowHeight[r]),o=t.width-i>=e+t.horizontalPadding?(t.height+s)/(i+e+t.horizontalPadding):(t.height+s)/t.width,s=n+t.verticalPadding,(a=t.widtho&&e!=n){r.splice(-1,1),t.rows[n].push(i),t.rowWidth[e]=t.rowWidth[e]-o,t.rowWidth[n]=t.rowWidth[n]+o,t.width=t.rowWidth[instance.getLongestRowIndex(t)];for(var a=Number.MIN_VALUE,s=0;sa&&(a=r[s].height);e>0&&(a+=t.verticalPadding);var c=t.rowHeight[e]+t.rowHeight[n];t.rowHeight[e]=a,t.rowHeight[n]0)for(var l=i;l<=o;l++)c[0]+=this.grid[l][a-1].length+this.grid[l][a].length-1;if(o0)for(l=a;l<=s;l++)c[3]+=this.grid[i-1][l].length+this.grid[i][l].length-1;for(var h,f,d=p.MAX_VALUE,g=0;g{"use strict";n.d(e,{Z:()=>s});var r=n(8081),i=n.n(r),o=n(3645),a=n.n(o)()(i());a.push([t.id,".cytoscape-reference p {\n display: inline;\n}\n\n.custom-menu-item {\n background-color: rgb(241, 241, 241);\n font-weight: bold !important;\n width: 170px;\n display: inline-block;\n height: 38px;\n padding: 0 30px;\n color: #555;\n text-align: center;\n font-size: 11px;\n font-weight: 600;\n line-height: 38px;\n letter-spacing: 0.1rem;\n text-decoration: none;\n white-space: nowrap;\n border-radius: 4px;\n border: 1px solid #bbb;\n cursor: pointer;\n box-sizing: border-box;\n}\n.custom-menu-item:hover {\n color: rgb(104, 104, 104);\n border-color: rgb(97, 97, 97);\n outline: 0;\n}\n\n.cy-context-menus-cxt-menu {\n display: none;\n}\n",""]);const s=a},3645:t=>{"use strict";t.exports=function(t){var e=[];return e.toString=function(){return this.map((function(e){var n="",r=void 0!==e[5];return e[4]&&(n+="@supports (".concat(e[4],") {")),e[2]&&(n+="@media ".concat(e[2]," {")),r&&(n+="@layer".concat(e[5].length>0?" ".concat(e[5]):""," {")),n+=t(e),r&&(n+="}"),e[2]&&(n+="}"),e[4]&&(n+="}"),n})).join("")},e.i=function(t,n,r,i,o){"string"==typeof t&&(t=[[null,t,void 0]]);var a={};if(r)for(var s=0;s0?" ".concat(l[5]):""," {").concat(l[1],"}")),l[5]=o),n&&(l[2]?(l[1]="@media ".concat(l[2]," {").concat(l[1],"}"),l[2]=n):l[2]=n),i&&(l[4]?(l[1]="@supports (".concat(l[4],") {").concat(l[1],"}"),l[4]=i):l[4]="".concat(i)),e.push(l))}},e}},8081:t=>{"use strict";t.exports=function(t){return t[1]}},703:function(t,e,n){var r;r=function(t){return function(t){var e={};function n(r){if(e[r])return e[r].exports;var i=e[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=t,n.c=e,n.i=function(t){return t},n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:r})},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=3)}([function(t,e,n){"use strict";var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i=n(1),o=n(2),a=n(5)||("undefined"!=typeof window?window.cola:null),s=n(4),c=function(t){return(void 0===t?"undefined":r(t))===r(0)},u=function(){},l=function(t,e){return function(t){return null!=t&&(void 0===t?"undefined":r(t))===r((function(){}))}(t)?t.apply(e,[e]):t};function h(t){this.options=i({},o,t)}h.prototype.run=function(){var t=this,e=this.options;t.manuallyStopped=!1;var n=e.cy,i=e.eles,o=i.nodes(),h=i.edges(),f=!1,d=o.filter((function(t){return t.isParent()})),p=o.subtract(d),g=e.boundingBox||{x1:0,y1:0,w:n.width(),h:n.height()};void 0===g.x2&&(g.x2=g.x1+g.w),void 0===g.w&&(g.w=g.x2-g.x1),void 0===g.y2&&(g.y2=g.y1+g.h),void 0===g.h&&(g.h=g.y2-g.y1);var v=function(){for(var t=0;t0&&w.constraints(T),w.groups(d.map((function(t,n){var r=l(e.nodeSpacing,t),i=function(e){return parseFloat(t.style("padding-"+e))},o=i("left")+r,a=i("right")+r,s=i("top")+r,c=i("bottom")+r;return t.scratch().cola={index:n,padding:Math.max(o,a,s,c),leaves:t.children().intersection(p).map((function(t){return t[0].scratch().cola.index})),fixed:t.locked()},t})).map((function(t){return t.scratch().cola.groups=t.children().intersection(d).map((function(t){return t.scratch().cola.index})),t.scratch().cola})));var C=void 0,N=void 0;if(null!=e.edgeLength?(C=e.edgeLength,N="linkDistance"):null!=e.edgeSymDiffLength?(C=e.edgeSymDiffLength,N="symmetricDiffLinkLengths"):null!=e.edgeJaccardLength?(C=e.edgeJaccardLength,N="jaccardLinkLengths"):(C=100,N="linkDistance"),w.links(h.stdFilter((function(t){return p.contains(t.source())&&p.contains(t.target())})).map((function(t){var e=t.scratch().cola={source:t.source()[0].scratch().cola.index,target:t.target()[0].scratch().cola.index};return null!=C&&(e.calcLength=l(C,t)),e}))),w.size([g.w,g.h]),null!=C&&w[N]((function(t){return t.calcLength})),e.flow){var A=void 0;!function(t){return(void 0===t?"undefined":r(t))===r("")}(e.flow)?c(e.flow)?A={axis:"y",minSeparation:e.flow}:function(t){return null!=t&&(void 0===t?"undefined":r(t))===r({})}(e.flow)?((A=e.flow).axis=A.axis||"y",A.minSeparation=null!=A.minSeparation?A.minSeparation:50):A={axis:"y",minSeparation:50}:A={axis:e.flow,minSeparation:50},w.flowLayout(A.axis,A.minSeparation)}return t.trigger({type:"layoutstart",layout:t}),w.avoidOverlaps(e.avoidOverlap).handleDisconnected(e.handleDisconnected).start(e.unconstrIter,e.userConstIter,e.allConstIter,void 0,void 0,e.centerGraph),e.infinite||setTimeout((function(){t.manuallyStopped||w.stop()}),e.maxSimulationTime),this},h.prototype.stop=function(){return this.adaptor&&(this.manuallyStopped=!0,this.adaptor.stop()),this},t.exports=h},function(t,e,n){"use strict";t.exports=null!=Object.assign?Object.assign.bind(Object):function(t){for(var e=arguments.length,n=Array(e>1?e-1:0),r=1;r{self,t.exports=(()=>{var t={621:(t,e,n)=>{"use strict";function r(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);nS});var s="cy-context-menus-divider",c={evtType:"cxttap",menuItems:[],menuItemClasses:["cy-context-menus-cxt-menuitem"],contextMenuClasses:["cy-context-menus-cxt-menu"],submenuIndicator:{src:"assets/submenu-indicator-default.svg",width:12,height:12}};function u(t){return(u="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function l(t,e){var n;if("undefined"==typeof Symbol||null==t[Symbol.iterator]){if(Array.isArray(t)||(n=function(t,e){if(t){if("string"==typeof t)return h(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?h(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var r=0,i=function(){};return{s:i,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=t[Symbol.iterator]()},n:function(){var t=n.next();return a=t.done,t},e:function(t){s=!0,o=t},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function h(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n1&&void 0!==arguments[1]?arguments[1]:void 0;this.hasSubmenu()||this._createSubmenu(),this.submenu.appendMenuItem(t,e)}},{key:"isClickable",value:function(){return void 0!==this.onClickFunction}},{key:"display",value:function(){this.show=!0,this.style.display="block"}},{key:"isVisible",value:function(){return!0===this.show&&"none"!==this.style.display}},{key:"removeSubmenu",value:function(){this.hasSubmenu()&&(this.submenu.removeAllMenuItems(),this.detachSubmenu())}},{key:"detachSubmenu",value:function(){this.hasSubmenu()&&(this.removeChild(this.submenu),this.removeChild(this.indicator),this.removeEventListener("mouseenter",this.mouseEnterHandler),this.removeEventListener("mouseleave",this.mouseLeaveHandler),this.submenu=void 0,this.indicator=void 0)}},{key:"_onMouseEnter",value:function(t){var e=this.getBoundingClientRect(),r=function(t){t.style.opacity="0",t.style.display="block";var e=t.getBoundingClientRect();return t.style.opacity="1",t.style.display="none",e}(this.submenu),i=e.right+r.width>window.innerWidth,o=e.top+r.height>window.innerHeight;i||o?i&&!o?(this.submenu.style.right=this.clientWidth+"px",this.submenu.style.top="0px",this.submenu.style.left="auto",this.submenu.style.bottom="auto"):i&&o?(this.submenu.style.right=this.clientWidth+"px",this.submenu.style.bottom="0px",this.submenu.style.top="auto",this.submenu.style.left="auto"):(this.submenu.style.left=this.clientWidth+"px",this.submenu.style.bottom="0px",this.submenu.style.right="auto",this.submenu.style.top="auto"):(this.submenu.style.left=this.clientWidth+"px",this.submenu.style.top="0px",this.submenu.style.right="auto",this.submenu.style.bottom="auto"),this.submenu.display();var a=Array.from(this.submenu.children).filter((function(t){if(t instanceof n)return t.isVisible()})),c=a.length;a.forEach((function(t,e){t instanceof n&&(e=(o=n.getBoundingClientRect()).left&&r<=o.right&&i>=o.top&&i<=o.bottom||this.submenu.hide()}},{key:"_createSubmenu",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];this.indicator=this.scratchpad.submenuIndicatorGen(),this.submenu=new C(this.onMenuItemClick,this.scratchpad),this.appendChild(this.indicator),this.appendChild(this.submenu);var e,r=l(t);try{for(r.s();!(e=r.n()).done;){var i=new n(e.value,this.onMenuItemClick,this.scratchpad);this.submenu.appendMenuItem(i)}}catch(t){r.e(t)}finally{r.f()}this.mouseEnterHandler=this._onMouseEnter.bind(this),this.mouseLeaveHandler=this._onMouseLeave.bind(this),this.addEventListener("mouseenter",this.mouseEnterHandler),this.addEventListener("mouseleave",this.mouseLeaveHandler)}},{key:"_getMenuItemClassStr",value:function(t,e){return e?t+" "+s:t}}],[{key:"define",value:function(){a("ctx-menu-item",n,"button")}}]),n}(m(HTMLButtonElement)),C=function(t){g(n,t);var e=v(n);function n(t,r){var i,o;return f(this,n),y((i=b(o=e.call(this)),E(n.prototype)),"setAttribute",i).call(i,"class",r.cxtMenuClasses),o.style.position="absolute",o.onMenuItemClick=t,o.scratchpad=r,o}return p(n,[{key:"hide",value:function(){this.isVisible()&&(this.hideSubmenus(),this.style.display="none")}},{key:"display",value:function(){this.style.display="block"}},{key:"isVisible",value:function(){return"none"!==this.style.display}},{key:"hideMenuItems",value:function(){var t,e=l(this.children);try{for(e.s();!(t=e.n()).done;){var n=t.value;n instanceof HTMLElement?n.style.display="none":console.warn("".concat(n," is not a HTMLElement"))}}catch(t){e.e(t)}finally{e.f()}}},{key:"hideSubmenus",value:function(){var t,e=l(this.children);try{for(e.s();!(t=e.n()).done;){var n=t.value;n instanceof T&&n.submenu&&n.submenu.hide()}}catch(t){e.e(t)}finally{e.f()}}},{key:"appendMenuItem",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0;if(void 0!==e){if(e.parentNode!==this)throw new Error("The item with id='".concat(e.id,"' is not a child of the context menu"));this.insertBefore(t,e)}else this.appendChild(t);t.isClickable()&&this._performBindings(t)}},{key:"moveBefore",value:function(t,e){if(t.parentNode!==this)throw new Error("The item with id='".concat(t.id,"' is not a child of context menu"));if(e.parentNode!==this)throw new Error("The item with id='".concat(e.id,"' is not a child of context menu"));this.removeChild(t),this.insertBefore(t,e)}},{key:"removeAllMenuItems",value:function(){for(;this.firstChild;){var t=this.lastChild;t instanceof T?this._removeImmediateMenuItem(t):(console.warn("Found non menu item in the context menu: ",t),this.removeChild(t))}}},{key:"_removeImmediateMenuItem",value:function(t){if(!this._detachImmediateMenuItem(t))throw new Error("menu item(id=".concat(t.id,") is not in the context menu"));t.detachSubmenu(),t.unbindOnClickFunctions()}},{key:"_detachImmediateMenuItem",value:function(t){if(t.parentNode===this){if(this.removeChild(t),this.children.length<=0){var e=this.parentNode;e instanceof T&&e.detachSubmenu()}return!0}return!1}},{key:"_performBindings",value:function(t){var e=this._bindOnClick(t.onClickFunction);t.bindOnClickFunction(e),t.bindOnClickFunction(this.onMenuItemClick)}},{key:"_bindOnClick",value:function(t){var e=this;return function(){var n=e.scratchpad.currentCyEvent;t(n)}}}],[{key:"define",value:function(){a("menu-item-list",n,"div")}}]),n}(m(HTMLDivElement)),N=function(t){g(n,t);var e=v(n);function n(t,r){var i;return f(this,n),(i=e.call(this,t,r)).onMenuItemClick=function(e){k(e),i.hide(),t()},i}return p(n,[{key:"removeMenuItem",value:function(t){var e=t.parentElement;e instanceof C&&this.contains(e)&&e._removeImmediateMenuItem(t)}},{key:"appendMenuItem",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0;this.ensureDoesntContain(t.id),y(E(n.prototype),"appendMenuItem",this).call(this,t,e)}},{key:"insertMenuItem",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=e.before,r=e.parent;if(this.ensureDoesntContain(t.id),void 0!==n){if(!this.contains(n))throw new Error("before(id=".concat(n.id,") is not in the context menu"));var i=n.parentNode;if(!(i instanceof C))throw new Error("Parent of before(id=".concat(n.id,") is not a submenu"));i.appendMenuItem(t,n)}else if(void 0!==r){if(!this.contains(r))throw new Error("parent(id=".concat(r.id,") is not a descendant of the context menu"));r.appendSubmenuItem(t)}else this.appendMenuItem(t)}},{key:"moveBefore",value:function(t,e){var n=t.parentElement;if(!this.contains(n))throw new Error("parent(id=".concat(n.id,") is not in the contex menu"));if(!this.contains(e))throw new Error("before(id=".concat(e.id,") is not in the context menu"));n.removeChild(t),this.insertMenuItem(t,{before:e})}},{key:"moveToSubmenu",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,r=t.parentElement;if(!(r instanceof C))throw new Error("current parent(id=".concat(r.id,") is not a submenu"));if(!this.contains(r))throw new Error("parent of the menu item(id=".concat(r.id,") is not in the context menu"));if(null!==e){if(!this.contains(e))throw new Error("parent(id=".concat(e.id,") is not in the context menu"));r._detachImmediateMenuItem(t),e.appendSubmenuItem(t)}else null!==n&&(t.selector=n.selector,t.coreAsWell=n.coreAsWell),r._detachImmediateMenuItem(t),this.appendMenuItem(t)}},{key:"ensureDoesntContain",value:function(t){var e=document.getElementById(t);if(void 0!==e&&this.contains(e))throw new Error("There is already an element with id=".concat(t," in the context menu"))}}],[{key:"define",value:function(){a("ctx-menu",n,"div")}}]),n}(C);function A(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n1&&void 0!==arguments[1]?arguments[1]:void 0,n=p(t);if(void 0!==e){var r=v(e);h.insertMenuItem(n,{parent:r})}else h.insertMenuItem(n)},d=function(t){for(var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,n=0;n0&&(s.top+=f,s.left+=f);var d=r.clientHeight,p=r.clientWidth,g=d/2,v=p/2;c.y>g&&c.x<=v?(h.style.left=c.x+"px",h.style.bottom=d-c.y+"px",h.style.right="auto",h.style.top="auto"):c.y>g&&c.x>v?(h.style.right=p-c.x+"px",h.style.bottom=d-c.y+"px",h.style.left="auto",h.style.top="auto"):c.y<=g&&c.x<=v?(h.style.left=c.x+"px",h.style.top=c.y+"px",h.style.right="auto",h.style.bottom="auto"):(h.style.right=p-c.x+"px",h.style.top=c.y+"px",h.style.left="auto",h.style.bottom="auto")}}(t);var n,r=t.target||t.cyTarget,i=function(t,e){var n;if("undefined"==typeof Symbol||null==t[Symbol.iterator]){if(Array.isArray(t)||(n=function(t,e){if(t){if("string"==typeof t)return A(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?A(t,e):void 0}}(t))){n&&(t=n);var r=0,i=function(){};return{s:i,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=t[Symbol.iterator]()},n:function(){var t=n.next();return a=t.done,t},e:function(t){s=!0,o=t},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}(h.children);try{for(i.s();!(n=i.n()).done;){var o=n.value;o instanceof T&&(r===e?o.coreAsWell:r.is(o.selector))&&o.show&&(h.display(),u("anyVisibleChild",!0),o.display())}}catch(t){i.e(t)}finally{i.f()}var c=Array.from(h.children).filter((function(t){if(t instanceof T)return t.isVisible()})),l=c.length;c.forEach((function(t,e){t instanceof T&&(e=t.length?{done:!0}:{done:!1,value:t[i++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,s=!0,c=!1;return{s:function(){n=t[Symbol.iterator]()},n:function(){var t=n.next();return s=t.done,t},e:function(t){c=!0,a=t},f:function(){try{s||null==n.return||n.return()}finally{if(c)throw a}}}}(document.getElementsByClassName("cy-context-menus-cxt-menu"));try{for(e.s();!(t=e.n()).done;)t.value.addEventListener("contextmenu",(function(t){return t.preventDefault()}))}catch(t){e.e(t)}finally{e.f()}}()}return function(t){return{isActive:function(){return a("active")},appendMenuItem:function(e){return f(e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0),t},appendMenuItems:function(e){return d(e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0),t},removeMenuItem:function(e){var n=v(e);return h.removeMenuItem(n),t},setTrailingDivider:function(e,n){var r=v(e);return r.setHasTrailingDivider(n),n?r.classList.add(s):r.classList.remove(s),t},insertBeforeMenuItem:function(e,n){var r=p(e),i=v(n);return h.insertMenuItem(r,{before:i}),t},moveToSubmenu:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=v(e);if(null===n)h.moveToSubmenu(r);else if("string"==typeof n){var i=v(n.toString());h.moveToSubmenu(r,i)}else void 0!==n.coreAsWell||void 0!==n.selector?h.moveToSubmenu(r,null,n):console.warn("options neither has coreAsWell nor selector property but it is an object. Are you sure that this is what you want to do?");return t},moveBeforeOtherMenuItem:function(e,n){var r=v(e),i=v(n);return h.moveBefore(r,i),t},disableMenuItem:function(e){return v(e).disable(),t},enableMenuItem:function(e){return v(e).enable(),t},hideMenuItem:function(e){return v(e).hide(),t},showMenuItem:function(e){return v(e).display(),t},destroy:function(){return g(),t}}}(this)}},579:(t,e,n)=>{var r=n(621).contextMenus,i=function(t){t&&t("core","contextMenus",r)};"undefined"!=typeof cytoscape&&i(cytoscape),t.exports=i}},e={};function n(r){var i=e[r];if(void 0!==i)return i.exports;var o=e[r]={exports:{}};return t[r](o,o.exports,n),o.exports}return n.d=(t,e)=>{for(var r in e)n.o(e,r)&&!n.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),n.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n(579)})()},4607:function(t,e,n){var r;r=function(t){return function(t){var e={};function n(r){if(e[r])return e[r].exports;var i=e[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=t,n.c=e,n.i=function(t){return t},n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:r})},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=1)}([function(e,n){e.exports=t},function(t,e,n){"use strict";var r=n(0).layoutBase.LayoutConstants,i=n(0).layoutBase.FDLayoutConstants,o=n(0).CoSEConstants,a=n(0).CoSELayout,s=n(0).CoSENode,c=n(0).layoutBase.PointD,u=n(0).layoutBase.DimensionD,l={ready:function(){},stop:function(){},quality:"default",nodeDimensionsIncludeLabels:!1,refresh:30,fit:!0,padding:10,randomize:!0,nodeRepulsion:4500,idealEdgeLength:50,edgeElasticity:.45,nestingFactor:.1,gravity:.25,numIter:2500,tile:!0,animate:"end",animationDuration:500,tilingPaddingVertical:10,tilingPaddingHorizontal:10,gravityRangeCompound:1.5,gravityCompound:1,gravityRange:3.8,initialEnergyOnIncremental:.5};function h(t){this.options=function(t,e){var n={};for(var r in t)n[r]=t[r];for(var r in e)n[r]=e[r];return n}(l,t),f(this.options)}var f=function(t){null!=t.nodeRepulsion&&(o.DEFAULT_REPULSION_STRENGTH=i.DEFAULT_REPULSION_STRENGTH=t.nodeRepulsion),null!=t.idealEdgeLength&&(o.DEFAULT_EDGE_LENGTH=i.DEFAULT_EDGE_LENGTH=t.idealEdgeLength),null!=t.edgeElasticity&&(o.DEFAULT_SPRING_STRENGTH=i.DEFAULT_SPRING_STRENGTH=t.edgeElasticity),null!=t.nestingFactor&&(o.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=i.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=t.nestingFactor),null!=t.gravity&&(o.DEFAULT_GRAVITY_STRENGTH=i.DEFAULT_GRAVITY_STRENGTH=t.gravity),null!=t.numIter&&(o.MAX_ITERATIONS=i.MAX_ITERATIONS=t.numIter),null!=t.gravityRange&&(o.DEFAULT_GRAVITY_RANGE_FACTOR=i.DEFAULT_GRAVITY_RANGE_FACTOR=t.gravityRange),null!=t.gravityCompound&&(o.DEFAULT_COMPOUND_GRAVITY_STRENGTH=i.DEFAULT_COMPOUND_GRAVITY_STRENGTH=t.gravityCompound),null!=t.gravityRangeCompound&&(o.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=i.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=t.gravityRangeCompound),null!=t.initialEnergyOnIncremental&&(o.DEFAULT_COOLING_FACTOR_INCREMENTAL=i.DEFAULT_COOLING_FACTOR_INCREMENTAL=t.initialEnergyOnIncremental),"draft"==t.quality?r.QUALITY=0:"proof"==t.quality?r.QUALITY=2:r.QUALITY=1,o.NODE_DIMENSIONS_INCLUDE_LABELS=i.NODE_DIMENSIONS_INCLUDE_LABELS=r.NODE_DIMENSIONS_INCLUDE_LABELS=t.nodeDimensionsIncludeLabels,o.DEFAULT_INCREMENTAL=i.DEFAULT_INCREMENTAL=r.DEFAULT_INCREMENTAL=!t.randomize,o.ANIMATE=i.ANIMATE=r.ANIMATE=t.animate,o.TILE=t.tile,o.TILING_PADDING_VERTICAL="function"==typeof t.tilingPaddingVertical?t.tilingPaddingVertical.call():t.tilingPaddingVertical,o.TILING_PADDING_HORIZONTAL="function"==typeof t.tilingPaddingHorizontal?t.tilingPaddingHorizontal.call():t.tilingPaddingHorizontal};h.prototype.run=function(){var t,e,n=this.options,r=(this.idToLNode={},this.layout=new a),i=this;i.stopped=!1,this.cy=this.options.cy,this.cy.trigger({type:"layoutstart",layout:this});var o=r.newGraphManager();this.gm=o;var s=this.options.eles.nodes(),c=this.options.eles.edges();this.root=o.addRoot(),this.processChildrenList(this.root,this.getTopMostNodes(s),r);for(var u=0;u0&&(a=n.getGraphManager().add(n.newGraph(),o),this.processChildrenList(a,h,n))}},h.prototype.stop=function(){return this.stopped=!0,this};var d=function(t){t("layout","cose-bilkent",h)};"undefined"!=typeof cytoscape&&d(cytoscape),t.exports=d}])},t.exports=r(n(4182))},9142:function(t,e,n){var r;r=function(t){return function(t){var e={};function n(r){if(e[r])return e[r].exports;var i=e[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)n.d(r,i,function(e){return t[e]}.bind(null,i));return r},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=0)}([function(t,e,n){var r=n(1),i=function(t){t&&t("layout","dagre",r)};"undefined"!=typeof cytoscape&&i(cytoscape),t.exports=i},function(t,e,n){function r(t){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},r(t)}var i=function(t){return"function"==typeof t},o=n(2),a=n(3),s=n(4);function c(t){this.options=a({},o,t)}c.prototype.run=function(){var t=this.options,e=t.cy,n=t.eles,o=function(t,e){return i(e)?e.apply(t,[t]):e},a=t.boundingBox||{x1:0,y1:0,w:e.width(),h:e.height()};void 0===a.x2&&(a.x2=a.x1+a.w),void 0===a.w&&(a.w=a.x2-a.x1),void 0===a.y2&&(a.y2=a.y1+a.h),void 0===a.h&&(a.h=a.y2-a.y1);var c=new s.graphlib.Graph({multigraph:!0,compound:!0}),u={},l=function(t,e){null!=e&&(u[t]=e)};l("nodesep",t.nodeSep),l("edgesep",t.edgeSep),l("ranksep",t.rankSep),l("rankdir",t.rankDir),l("align",t.align),l("ranker",t.ranker),l("acyclicer",t.acyclicer),c.setGraph(u),c.setDefaultEdgeLabel((function(){return{}})),c.setDefaultNodeLabel((function(){return{}}));var h=n.nodes();i(t.sort)&&(h=h.sort(t.sort));for(var f=0;f1?e-1:0),r=1;r1?e-1:0),r=1;r1&&(c.velocity.x=l/f,c.velocity.y=h/f),r=e*c.velocity.x,o=e*c.velocity.y,c.pos.x+=r,c.pos.y+=o,i+=Math.abs(r),a+=Math.abs(o)}}return(i*i+a*a)/s}}},function(t,e,n){"use strict";var r=n(9),i=n(8),o=function(t,e){var n=Math.abs(t.x-e.x),r=Math.abs(t.y-e.y);return n<1e-8&&r<1e-8};function a(t,e){return 0===e?t.quad0:1===e?t.quad1:2===e?t.quad2:3===e?t.quad3:null}function s(t,e,n){0===e?t.quad0=n:1===e?t.quad1=n:2===e?t.quad2=n:3===e&&(t.quad3=n)}t.exports={makeQuadtree:function(){var t=[],e=new i,n=[],c=0,u=l();function l(){var t=n[c];return t?(t.quad0=null,t.quad1=null,t.quad2=null,t.quad3=null,t.body=null,t.mass=t.massX=t.massY=0,t.left=t.right=t.top=t.bottom=0):(t=new r,n[c]=t),++c,t}function h(t){for(e.reset(),e.push(u,t);!e.isEmpty();){var n=e.pop(),r=n.node,i=n.body;if(r.body){var c=r.body;if(r.body=null,o(c.pos,i.pos)){var h=3;do{var f=Math.random(),d=(r.right-r.left)*f,p=(r.bottom-r.top)*f;c.pos.x=r.left+d,c.pos.y=r.top+p,h-=1}while(h>0&&o(c.pos,i.pos));if(0===h&&o(c.pos,i.pos))return}e.push(r,c),e.push(r,i)}else{var g=i.pos.x,v=i.pos.y;r.mass=r.mass+i.mass,r.massX=r.massX+i.mass*g,r.massY=r.massY+i.mass*v;var b=0,y=r.left,m=(r.right+y)/2,w=r.top,x=(r.bottom+w)/2;g>m&&(b+=1,y=m,m=r.right),v>x&&(b+=2,w=x,x=r.bottom);var _=a(r,b);_?e.push(_,i):((_=l()).left=y,_.top=w,_.right=m,_.bottom=x,_.body=i,s(r,b,_))}}}return{insertBodies:function(t){if(0!==t.length){var e=Number.MAX_VALUE,n=Number.MAX_VALUE,r=Number.MIN_VALUE,i=Number.MIN_VALUE,o=void 0,a=t.length;for(o=a;o--;){var s=t[o].pos.x,f=t[o].pos.y;sr&&(r=s),fi&&(i=f)}var d=r-e,p=i-n;for(d>p?i=n+d:r=e+p,c=0,(u=l()).left=e,u.right=r,u.top=n,u.bottom=i,(o=a-1)>=0&&(u.body=t[o]);o--;)h(t[o])}},updateBodyForce:function(e,n,r,i){var o=t,a=void 0,s=void 0,c=void 0,l=void 0,h=0,f=0,d=1,p=0,g=1;o[0]=u,function(t){t.x=0,t.y=0}(e.force);var v=-e.pos.x,b=-e.pos.y,y=Math.sqrt(v*v+b*b),m=e.mass*i/y;for(h+=m*v,f+=m*b;d;){var w=o[p],x=w.body;d-=1,p+=1;var _=x!==e;x&&_?(s=x.pos.x-e.pos.x,c=x.pos.y-e.pos.y,0===(l=Math.sqrt(s*s+c*c))&&(s=(Math.random()-.5)/50,c=(Math.random()-.5)/50,l=Math.sqrt(s*s+c*c)),h+=(a=n*x.mass*e.mass/(l*l*l))*s,f+=a*c):_&&(s=w.massX/w.mass-e.pos.x,c=w.massY/w.mass-e.pos.y,0===(l=Math.sqrt(s*s+c*c))&&(s=(Math.random()-.5)/50,c=(Math.random()-.5)/50,l=Math.sqrt(s*s+c*c)),(w.right-w.left)/l0)return this.stack[--this.popIdx]},reset:function(){this.popIdx=0}}},function(t,e,n){"use strict";t.exports=function(){this.body=null,this.quad0=null,this.quad1=null,this.quad2=null,this.quad3=null,this.mass=0,this.massX=0,this.massY=0,this.left=0,this.top=0,this.bottom=0,this.right=0}},function(t,e,n){"use strict";var r=n(6).integrate,i=n(5).applyDrag,o=n(1).applySpring;t.exports={tick:function(t){var e=t.bodies,n=t.springs,a=t.quadtree,s=t.timeStep,c=t.gravity,u=t.theta,l=t.dragCoeff,h=t.pull;e.forEach((function(t){var e=t._scratch;e&&(t.locked=e.locked,t.grabbed=e.grabbed,t.pos.x=e.x,t.pos.y=e.y)})),a.insertBodies(e);for(var f=0;f=e.maxIterations||r>=e.maxSimulationTime)};t.exports={tick:i,multitick:function(t){for(var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:r,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:r,o=!1,a=t,s=0;s{"use strict";var e={658:t=>{t.exports=null!=Object.assign?Object.assign.bind(Object):function(t){for(var e=arguments.length,n=Array(e>1?e-1:0),r=1;r{var r=function(t,e){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return function(t,e){var n=[],r=!0,i=!1,o=void 0;try{for(var a,s=t[Symbol.iterator]();!(r=(a=s.next()).done)&&(n.push(a.value),!e||n.length!==e);r=!0);}catch(t){i=!0,o=t}finally{try{!r&&s.return&&s.return()}finally{if(i)throw o}}return n}(t,e);throw new TypeError("Invalid attempt to destructure non-iterable instance")},i=n(140).layoutBase.LinkedList,o={getTopMostNodes:function(t){for(var e={},n=0;n0&&u.merge(t)}));for(var l=0;l1){u=s[0],l=u.connectedEdges().length,s.forEach((function(t){t.connectedEdges().length0&&r.set("dummy"+(r.size+1),d),p},relocateComponent:function(t,e,n){if(!n.fixedNodeConstraint){var i=Number.POSITIVE_INFINITY,o=Number.NEGATIVE_INFINITY,a=Number.POSITIVE_INFINITY,s=Number.NEGATIVE_INFINITY;if("draft"==n.quality){var c=!0,u=!1,l=void 0;try{for(var h,f=e.nodeIndexes[Symbol.iterator]();!(c=(h=f.next()).done);c=!0){var d=h.value,p=r(d,2),g=p[0],v=p[1],b=n.cy.getElementById(g);if(b){var y=b.boundingBox(),m=e.xCoords[v]-y.w/2,w=e.xCoords[v]+y.w/2,x=e.yCoords[v]-y.h/2,_=e.yCoords[v]+y.h/2;mo&&(o=w),xs&&(s=_)}}}catch(t){u=!0,l=t}finally{try{!c&&f.return&&f.return()}finally{if(u)throw l}}var E=t.x-(o+i)/2,k=t.y-(s+a)/2;e.xCoords=e.xCoords.map((function(t){return t+E})),e.yCoords=e.yCoords.map((function(t){return t+k}))}else{Object.keys(e).forEach((function(t){var n=e[t],r=n.getRect().x,c=n.getRect().x+n.getRect().width,u=n.getRect().y,l=n.getRect().y+n.getRect().height;ro&&(o=c),us&&(s=l)}));var T=t.x-(o+i)/2,C=t.y-(s+a)/2;Object.keys(e).forEach((function(t){var n=e[t];n.setCenter(n.getCenterX()+T,n.getCenterY()+C)}))}}},calcBoundingBox:function(t,e,n,r){for(var i=Number.MAX_SAFE_INTEGER,o=Number.MIN_SAFE_INTEGER,a=Number.MAX_SAFE_INTEGER,s=Number.MIN_SAFE_INTEGER,c=void 0,u=void 0,l=void 0,h=void 0,f=t.descendants().not(":parent"),d=f.length,p=0;p(c=e[r.get(g.id())]-g.width()/2)&&(i=c),o<(u=e[r.get(g.id())]+g.width()/2)&&(o=u),a>(l=n[r.get(g.id())]-g.height()/2)&&(a=l),s<(h=n[r.get(g.id())]+g.height()/2)&&(s=h)}var v={};return v.topLeftX=i,v.topLeftY=a,v.width=o-i,v.height=s-a,v},calcParentsWithoutChildren:function(t,e){var n=t.collection();return e.nodes(":parent").forEach((function(t){var e=!1;t.children().forEach((function(t){"none"!=t.css("display")&&(e=!0)})),e||n.merge(t)})),n}};t.exports=o},816:(t,e,n)=>{var r=n(548),i=n(140).CoSELayout,o=n(140).CoSENode,a=n(140).layoutBase.PointD,s=n(140).layoutBase.DimensionD,c=n(140).layoutBase.LayoutConstants,u=n(140).layoutBase.FDLayoutConstants,l=n(140).CoSEConstants;t.exports={coseLayout:function(t,e){var n=t.cy,h=t.eles,f=h.nodes(),d=h.edges(),p=void 0,g=void 0,v=void 0,b={};t.randomize&&(p=e.nodeIndexes,g=e.xCoords,v=e.yCoords);var y=function(t){return"function"==typeof t},m=function(t,e){return y(t)?t(e):t},w=r.calcParentsWithoutChildren(n,h);null!=t.nestingFactor&&(l.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=u.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=t.nestingFactor),null!=t.gravity&&(l.DEFAULT_GRAVITY_STRENGTH=u.DEFAULT_GRAVITY_STRENGTH=t.gravity),null!=t.numIter&&(l.MAX_ITERATIONS=u.MAX_ITERATIONS=t.numIter),null!=t.gravityRange&&(l.DEFAULT_GRAVITY_RANGE_FACTOR=u.DEFAULT_GRAVITY_RANGE_FACTOR=t.gravityRange),null!=t.gravityCompound&&(l.DEFAULT_COMPOUND_GRAVITY_STRENGTH=u.DEFAULT_COMPOUND_GRAVITY_STRENGTH=t.gravityCompound),null!=t.gravityRangeCompound&&(l.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=u.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=t.gravityRangeCompound),null!=t.initialEnergyOnIncremental&&(l.DEFAULT_COOLING_FACTOR_INCREMENTAL=u.DEFAULT_COOLING_FACTOR_INCREMENTAL=t.initialEnergyOnIncremental),null!=t.tilingCompareBy&&(l.TILING_COMPARE_BY=t.tilingCompareBy),"proof"==t.quality?c.QUALITY=2:c.QUALITY=0,l.NODE_DIMENSIONS_INCLUDE_LABELS=u.NODE_DIMENSIONS_INCLUDE_LABELS=c.NODE_DIMENSIONS_INCLUDE_LABELS=t.nodeDimensionsIncludeLabels,l.DEFAULT_INCREMENTAL=u.DEFAULT_INCREMENTAL=c.DEFAULT_INCREMENTAL=!t.randomize,l.ANIMATE=u.ANIMATE=c.ANIMATE=t.animate,l.TILE=t.tile,l.TILING_PADDING_VERTICAL="function"==typeof t.tilingPaddingVertical?t.tilingPaddingVertical.call():t.tilingPaddingVertical,l.TILING_PADDING_HORIZONTAL="function"==typeof t.tilingPaddingHorizontal?t.tilingPaddingHorizontal.call():t.tilingPaddingHorizontal,l.DEFAULT_INCREMENTAL=u.DEFAULT_INCREMENTAL=c.DEFAULT_INCREMENTAL=!0,l.PURE_INCREMENTAL=!t.randomize,c.DEFAULT_UNIFORM_LEAF_NODE_SIZES=t.uniformNodeDimensions,"transformed"==t.step&&(l.TRANSFORM_ON_CONSTRAINT_HANDLING=!0,l.ENFORCE_CONSTRAINTS=!1,l.APPLY_LAYOUT=!1),"enforced"==t.step&&(l.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,l.ENFORCE_CONSTRAINTS=!0,l.APPLY_LAYOUT=!1),"cose"==t.step&&(l.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,l.ENFORCE_CONSTRAINTS=!1,l.APPLY_LAYOUT=!0),"all"==t.step&&(t.randomize?l.TRANSFORM_ON_CONSTRAINT_HANDLING=!0:l.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,l.ENFORCE_CONSTRAINTS=!0,l.APPLY_LAYOUT=!0),t.fixedNodeConstraint||t.alignmentConstraint||t.relativePlacementConstraint?l.TREE_REDUCTION_ON_INCREMENTAL=!1:l.TREE_REDUCTION_ON_INCREMENTAL=!0;var x=new i,_=x.newGraphManager();return function t(e,n,i,c){for(var u=n.length,l=0;l0&&t(i.getGraphManager().add(i.newGraph(),d),f,i,c)}}(_.addRoot(),r.getTopMostNodes(f),x,t),function(e,n,r){for(var i=0,o=0,a=0;a0?l.DEFAULT_EDGE_LENGTH=u.DEFAULT_EDGE_LENGTH=i/o:y(t.idealEdgeLength)?l.DEFAULT_EDGE_LENGTH=u.DEFAULT_EDGE_LENGTH=50:l.DEFAULT_EDGE_LENGTH=u.DEFAULT_EDGE_LENGTH=t.idealEdgeLength,l.MIN_REPULSION_DIST=u.MIN_REPULSION_DIST=u.DEFAULT_EDGE_LENGTH/10,l.DEFAULT_RADIAL_SEPARATION=u.DEFAULT_EDGE_LENGTH)}(x,_,d),function(t,e){e.fixedNodeConstraint&&(t.constraints.fixedNodeConstraint=e.fixedNodeConstraint),e.alignmentConstraint&&(t.constraints.alignmentConstraint=e.alignmentConstraint),e.relativePlacementConstraint&&(t.constraints.relativePlacementConstraint=e.relativePlacementConstraint)}(x,t),x.runLayout(),b}}},212:(t,e,n)=>{var r=function(){function t(t,e){for(var n=0;n0)if(h){var f=o.getTopMostNodes(t.eles.nodes());if((c=o.connectComponents(e,t.eles,f)).forEach((function(t){var e=t.boundingBox();u.push({x:e.x1+e.w/2,y:e.y1+e.h/2})})),t.randomize&&c.forEach((function(e){t.eles=e,r.push(a(t))})),"default"==t.quality||"proof"==t.quality){var d=e.collection();if(t.tile){var p=new Map,g=0,v={nodeIndexes:p,xCoords:[],yCoords:[]},b=[];if(c.forEach((function(t,e){0==t.edges().length&&(t.nodes().forEach((function(e,n){d.merge(t.nodes()[n]),e.isParent()||(v.nodeIndexes.set(t.nodes()[n].id(),g++),v.xCoords.push(t.nodes()[0].position().x),v.yCoords.push(t.nodes()[0].position().y))})),b.push(e))})),d.length>1){var y=d.boundingBox();u.push({x:y.x1+y.w/2,y:y.y1+y.h/2}),c.push(d),r.push(v);for(var m=b.length-1;m>=0;m--)c.splice(b[m],1),r.splice(b[m],1),u.splice(b[m],1)}}c.forEach((function(e,n){t.eles=e,i.push(s(t,r[n])),o.relocateComponent(u[n],i[n],t)}))}else c.forEach((function(e,n){o.relocateComponent(u[n],r[n],t)}));var w=new Set;if(c.length>1){var x=[],_=n.filter((function(t){return"none"==t.css("display")}));c.forEach((function(e,n){var a=void 0;if("draft"==t.quality&&(a=r[n].nodeIndexes),e.nodes().not(_).length>0){var s={edges:[],nodes:[]},c=void 0;e.nodes().not(_).forEach((function(e){if("draft"==t.quality)if(e.isParent()){var u=o.calcBoundingBox(e,r[n].xCoords,r[n].yCoords,a);s.nodes.push({x:u.topLeftX,y:u.topLeftY,width:u.width,height:u.height})}else c=a.get(e.id()),s.nodes.push({x:r[n].xCoords[c]-e.boundingbox().w/2,y:r[n].yCoords[c]-e.boundingbox().h/2,width:e.boundingbox().w,height:e.boundingbox().h});else i[n][e.id()]&&s.nodes.push({x:i[n][e.id()].getLeft(),y:i[n][e.id()].getTop(),width:i[n][e.id()].getWidth(),height:i[n][e.id()].getHeight()})})),e.edges().forEach((function(e){var c=e.source(),u=e.target();if("none"!=c.css("display")&&"none"!=u.css("display"))if("draft"==t.quality){var l=a.get(c.id()),h=a.get(u.id()),f=[],d=[];if(c.isParent()){var p=o.calcBoundingBox(c,r[n].xCoords,r[n].yCoords,a);f.push(p.topLeftX+p.width/2),f.push(p.topLeftY+p.height/2)}else f.push(r[n].xCoords[l]),f.push(r[n].yCoords[l]);if(u.isParent()){var g=o.calcBoundingBox(u,r[n].xCoords,r[n].yCoords,a);d.push(g.topLeftX+g.width/2),d.push(g.topLeftY+g.height/2)}else d.push(r[n].xCoords[h]),d.push(r[n].yCoords[h]);s.edges.push({startX:f[0],startY:f[1],endX:d[0],endY:d[1]})}else i[n][c.id()]&&i[n][u.id()]&&s.edges.push({startX:i[n][c.id()].getCenterX(),startY:i[n][c.id()].getCenterY(),endX:i[n][u.id()].getCenterX(),endY:i[n][u.id()].getCenterY()})})),s.nodes.length>0&&(x.push(s),w.add(n))}}));var E=l.packComponents(x,t.randomize).shifts;if("draft"==t.quality)r.forEach((function(t,e){var n=t.xCoords.map((function(t){return t+E[e].dx})),r=t.yCoords.map((function(t){return t+E[e].dy}));t.xCoords=n,t.yCoords=r}));else{var k=0;w.forEach((function(t){Object.keys(i[t]).forEach((function(e){var n=i[t][e];n.setCenter(n.getCenterX()+E[k].dx,n.getCenterY()+E[k].dy)})),k++}))}}}else{var T=t.eles.boundingBox();if(u.push({x:T.x1+T.w/2,y:T.y1+T.h/2}),t.randomize){var C=a(t);r.push(C)}"default"==t.quality||"proof"==t.quality?(i.push(s(t,r[0])),o.relocateComponent(u[0],i[0],t)):o.relocateComponent(u[0],r[0],t)}var N=function(e,n){if("default"==t.quality||"proof"==t.quality){"number"==typeof e&&(e=n);var o=void 0,a=void 0,s=e.data("id");return i.forEach((function(t){s in t&&(o={x:t[s].getRect().getCenterX(),y:t[s].getRect().getCenterY()},a=t[s])})),t.nodeDimensionsIncludeLabels&&(a.labelWidth&&("left"==a.labelPosHorizontal?o.x+=a.labelWidth/2:"right"==a.labelPosHorizontal&&(o.x-=a.labelWidth/2)),a.labelHeight&&("top"==a.labelPosVertical?o.y+=a.labelHeight/2:"bottom"==a.labelPosVertical&&(o.y-=a.labelHeight/2))),null==o&&(o={x:e.position("x"),y:e.position("y")}),{x:o.x,y:o.y}}var c=void 0;return r.forEach((function(t){var n=t.nodeIndexes.get(e.id());null!=n&&(c={x:t.xCoords[n],y:t.yCoords[n]})})),null==c&&(c={x:e.position("x"),y:e.position("y")}),{x:c.x,y:c.y}};if("default"==t.quality||"proof"==t.quality||t.randomize){var A=o.calcParentsWithoutChildren(e,n),S=n.filter((function(t){return"none"==t.css("display")}));t.eles=n.not(S),n.nodes().not(":parent").not(S).layoutPositions(this,t,N),A.length>0&&A.forEach((function(t){t.position(N(t))}))}else console.log("If randomize option is set to false, then quality option must be 'default' or 'proof'.")}}]),t}();t.exports=u},657:(t,e,n)=>{var r=n(548),i=n(140).layoutBase.Matrix,o=n(140).layoutBase.SVD;t.exports={spectralLayout:function(t){var e=t.cy,n=t.eles,a=n.nodes(),s=n.nodes(":parent"),c=new Map,u=new Map,l=new Map,h=[],f=[],d=[],p=[],g=[],v=[],b=[],y=[],m=void 0,w=1e8,x=1e-9,_=t.piTol,E=t.samplingType,k=t.nodeSeparation,T=void 0,C=function(t,e,n){for(var r=[],i=0,o=0,a=0,s=void 0,c=[],l=0,f=1,d=0;d=i;){a=r[i++];for(var p=h[a],b=0;bl&&(l=g[x],f=x)}return f};r.connectComponents(e,n,r.getTopMostNodes(a),c),s.forEach((function(t){r.connectComponents(e,n,r.getTopMostNodes(t.descendants().intersection(n)),c)}));for(var N=0,A=0;A0&&(r.isParent()?h[e].push(l.get(r.id())):h[e].push(r.id()))}))}));var R=function(t){var n=u.get(t),r=void 0;c.get(t).forEach((function(i){r=e.getElementById(i).isParent()?l.get(i):i,h[n].push(r),h[u.get(r)].push(t)}))},j=!0,G=!1,B=void 0;try{for(var F,H=c.keys()[Symbol.iterator]();!(j=(F=H.next()).done);j=!0)R(F.value)}catch(t){G=!0,B=t}finally{try{!j&&H.return&&H.return()}finally{if(G)throw B}}var Y=void 0;if((m=u.size)>2){T=m=1)break;u=c}for(var p=0;p=1)break;u=c}for(var b=0;b{var r=n(212),i=function(t){t&&t("layout","fcose",r)};"undefined"!=typeof cytoscape&&i(cytoscape),t.exports=i},140:e=>{e.exports=t}},n={},r=function t(r){var i=n[r];if(void 0!==i)return i.exports;var o=n[r]={exports:{}};return e[r](o,o.exports,t),o.exports}(579);return r})()},t.exports=r(n(6914))},6914:function(t,e,n){var r;r=function(t){return(()=>{"use strict";var e={45:(t,e,n)=>{var r={};r.layoutBase=n(551),r.CoSEConstants=n(806),r.CoSEEdge=n(767),r.CoSEGraph=n(880),r.CoSEGraphManager=n(578),r.CoSELayout=n(765),r.CoSENode=n(991),r.ConstraintHandler=n(902),t.exports=r},806:(t,e,n)=>{var r=n(551).FDLayoutConstants;function i(){}for(var o in r)i[o]=r[o];i.DEFAULT_USE_MULTI_LEVEL_SCALING=!1,i.DEFAULT_RADIAL_SEPARATION=r.DEFAULT_EDGE_LENGTH,i.DEFAULT_COMPONENT_SEPERATION=60,i.TILE=!0,i.TILING_PADDING_VERTICAL=10,i.TILING_PADDING_HORIZONTAL=10,i.TRANSFORM_ON_CONSTRAINT_HANDLING=!0,i.ENFORCE_CONSTRAINTS=!0,i.APPLY_LAYOUT=!0,i.RELAX_MOVEMENT_ON_CONSTRAINTS=!0,i.TREE_REDUCTION_ON_INCREMENTAL=!0,i.PURE_INCREMENTAL=i.DEFAULT_INCREMENTAL,t.exports=i},767:(t,e,n)=>{var r=n(551).FDLayoutEdge;function i(t,e,n){r.call(this,t,e,n)}for(var o in i.prototype=Object.create(r.prototype),r)i[o]=r[o];t.exports=i},880:(t,e,n)=>{var r=n(551).LGraph;function i(t,e,n){r.call(this,t,e,n)}for(var o in i.prototype=Object.create(r.prototype),r)i[o]=r[o];t.exports=i},578:(t,e,n)=>{var r=n(551).LGraphManager;function i(t){r.call(this,t)}for(var o in i.prototype=Object.create(r.prototype),r)i[o]=r[o];t.exports=i},765:(t,e,n)=>{var r=n(551).FDLayout,i=n(578),o=n(880),a=n(991),s=n(767),c=n(806),u=n(902),l=n(551).FDLayoutConstants,h=n(551).LayoutConstants,f=n(551).Point,d=n(551).PointD,p=n(551).DimensionD,g=n(551).Layout,v=n(551).Integer,b=n(551).IGeometry,y=n(551).LGraph,m=n(551).Transform,w=n(551).LinkedList;function x(){r.call(this),this.toBeTiled={},this.constraints={}}for(var _ in x.prototype=Object.create(r.prototype),r)x[_]=r[_];x.prototype.newGraphManager=function(){var t=new i(this);return this.graphManager=t,t},x.prototype.newGraph=function(t){return new o(null,this.graphManager,t)},x.prototype.newNode=function(t){return new a(this.graphManager,t)},x.prototype.newEdge=function(t){return new s(null,null,t)},x.prototype.initParameters=function(){r.prototype.initParameters.call(this,arguments),this.isSubLayout||(c.DEFAULT_EDGE_LENGTH<10?this.idealEdgeLength=10:this.idealEdgeLength=c.DEFAULT_EDGE_LENGTH,this.useSmartIdealEdgeLengthCalculation=c.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION,this.gravityConstant=l.DEFAULT_GRAVITY_STRENGTH,this.compoundGravityConstant=l.DEFAULT_COMPOUND_GRAVITY_STRENGTH,this.gravityRangeFactor=l.DEFAULT_GRAVITY_RANGE_FACTOR,this.compoundGravityRangeFactor=l.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR,this.prunedNodesAll=[],this.growTreeIterations=0,this.afterGrowthIterations=0,this.isTreeGrowing=!1,this.isGrowthFinished=!1)},x.prototype.initSpringEmbedder=function(){r.prototype.initSpringEmbedder.call(this),this.coolingCycle=0,this.maxCoolingCycle=this.maxIterations/l.CONVERGENCE_CHECK_PERIOD,this.finalTemperature=.04,this.coolingAdjuster=1},x.prototype.layout=function(){return h.DEFAULT_CREATE_BENDS_AS_NEEDED&&(this.createBendpoints(),this.graphManager.resetAllEdges()),this.level=0,this.classicLayout()},x.prototype.classicLayout=function(){if(this.nodesWithGravity=this.calculateNodesToApplyGravitationTo(),this.graphManager.setAllNodesToApplyGravitation(this.nodesWithGravity),this.calcNoOfChildrenForAllNodes(),this.graphManager.calcLowestCommonAncestors(),this.graphManager.calcInclusionTreeDepths(),this.graphManager.getRoot().calcEstimatedSize(),this.calcIdealEdgeLengths(),this.incremental)c.TREE_REDUCTION_ON_INCREMENTAL&&(this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation(),e=new Set(this.getAllNodes()),n=this.nodesWithGravity.filter((function(t){return e.has(t)})),this.graphManager.setAllNodesToApplyGravitation(n));else{var t=this.getFlatForest();if(t.length>0)this.positionNodesRadially(t);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var e=new Set(this.getAllNodes()),n=this.nodesWithGravity.filter((function(t){return e.has(t)}));this.graphManager.setAllNodesToApplyGravitation(n),this.positionNodesRandomly()}}return Object.keys(this.constraints).length>0&&(u.handleConstraints(this),this.initConstraintVariables()),this.initSpringEmbedder(),c.APPLY_LAYOUT&&this.runSpringEmbedder(),!0},x.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished){if(!(this.prunedNodesAll.length>0))return!0;this.isTreeGrowing=!0}if(this.totalIterations%l.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged()){if(!(this.prunedNodesAll.length>0))return!0;this.isTreeGrowing=!0}this.coolingCycle++,0==this.layoutQuality?this.coolingAdjuster=this.coolingCycle:1==this.layoutQuality&&(this.coolingAdjuster=this.coolingCycle/3),this.coolingFactor=Math.max(this.initialCoolingFactor-Math.pow(this.coolingCycle,Math.log(100*(this.initialCoolingFactor-this.finalTemperature))/Math.log(this.maxCoolingCycle))/100*this.coolingAdjuster,this.finalTemperature),this.animationPeriod=Math.ceil(this.initialAnimationPeriod*Math.sqrt(this.coolingFactor))}if(this.isTreeGrowing){if(this.growTreeIterations%10==0)if(this.prunedNodesAll.length>0){this.graphManager.updateBounds(),this.updateGrid(),this.growTree(this.prunedNodesAll),this.graphManager.resetAllNodesToApplyGravitation();var t=new Set(this.getAllNodes()),e=this.nodesWithGravity.filter((function(e){return t.has(e)}));this.graphManager.setAllNodesToApplyGravitation(e),this.graphManager.updateBounds(),this.updateGrid(),c.PURE_INCREMENTAL?this.coolingFactor=l.DEFAULT_COOLING_FACTOR_INCREMENTAL/2:this.coolingFactor=l.DEFAULT_COOLING_FACTOR_INCREMENTAL}else this.isTreeGrowing=!1,this.isGrowthFinished=!0;this.growTreeIterations++}if(this.isGrowthFinished){if(this.isConverged())return!0;this.afterGrowthIterations%10==0&&(this.graphManager.updateBounds(),this.updateGrid()),c.PURE_INCREMENTAL?this.coolingFactor=l.DEFAULT_COOLING_FACTOR_INCREMENTAL/2*((100-this.afterGrowthIterations)/100):this.coolingFactor=l.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var n=!this.isTreeGrowing&&!this.isGrowthFinished,r=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(n,r),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},x.prototype.getPositionsData=function(){for(var t=this.graphManager.getAllNodes(),e={},n=0;n0&&this.updateDisplacements(),e=0;e0&&(r.fixedNodeWeight=o)}if(this.constraints.relativePlacementConstraint){var a=new Map,s=new Map;if(this.dummyToNodeForVerticalAlignment=new Map,this.dummyToNodeForHorizontalAlignment=new Map,this.fixedNodesOnHorizontal=new Set,this.fixedNodesOnVertical=new Set,this.fixedNodeSet.forEach((function(e){t.fixedNodesOnHorizontal.add(e),t.fixedNodesOnVertical.add(e)})),this.constraints.alignmentConstraint){if(this.constraints.alignmentConstraint.vertical){var u=this.constraints.alignmentConstraint.vertical;for(n=0;n=2*t.length/3;r--)e=Math.floor(Math.random()*(r+1)),n=t[r],t[r]=t[e],t[e]=n;return t},this.nodesInRelativeHorizontal=[],this.nodesInRelativeVertical=[],this.nodeToRelativeConstraintMapHorizontal=new Map,this.nodeToRelativeConstraintMapVertical=new Map,this.nodeToTempPositionMapHorizontal=new Map,this.nodeToTempPositionMapVertical=new Map,this.constraints.relativePlacementConstraint.forEach((function(e){if(e.left){var n=a.has(e.left)?a.get(e.left):e.left,r=a.has(e.right)?a.get(e.right):e.right;t.nodesInRelativeHorizontal.includes(n)||(t.nodesInRelativeHorizontal.push(n),t.nodeToRelativeConstraintMapHorizontal.set(n,[]),t.dummyToNodeForVerticalAlignment.has(n)?t.nodeToTempPositionMapHorizontal.set(n,t.idToNodeMap.get(t.dummyToNodeForVerticalAlignment.get(n)[0]).getCenterX()):t.nodeToTempPositionMapHorizontal.set(n,t.idToNodeMap.get(n).getCenterX())),t.nodesInRelativeHorizontal.includes(r)||(t.nodesInRelativeHorizontal.push(r),t.nodeToRelativeConstraintMapHorizontal.set(r,[]),t.dummyToNodeForVerticalAlignment.has(r)?t.nodeToTempPositionMapHorizontal.set(r,t.idToNodeMap.get(t.dummyToNodeForVerticalAlignment.get(r)[0]).getCenterX()):t.nodeToTempPositionMapHorizontal.set(r,t.idToNodeMap.get(r).getCenterX())),t.nodeToRelativeConstraintMapHorizontal.get(n).push({right:r,gap:e.gap}),t.nodeToRelativeConstraintMapHorizontal.get(r).push({left:n,gap:e.gap})}else{var i=s.has(e.top)?s.get(e.top):e.top,o=s.has(e.bottom)?s.get(e.bottom):e.bottom;t.nodesInRelativeVertical.includes(i)||(t.nodesInRelativeVertical.push(i),t.nodeToRelativeConstraintMapVertical.set(i,[]),t.dummyToNodeForHorizontalAlignment.has(i)?t.nodeToTempPositionMapVertical.set(i,t.idToNodeMap.get(t.dummyToNodeForHorizontalAlignment.get(i)[0]).getCenterY()):t.nodeToTempPositionMapVertical.set(i,t.idToNodeMap.get(i).getCenterY())),t.nodesInRelativeVertical.includes(o)||(t.nodesInRelativeVertical.push(o),t.nodeToRelativeConstraintMapVertical.set(o,[]),t.dummyToNodeForHorizontalAlignment.has(o)?t.nodeToTempPositionMapVertical.set(o,t.idToNodeMap.get(t.dummyToNodeForHorizontalAlignment.get(o)[0]).getCenterY()):t.nodeToTempPositionMapVertical.set(o,t.idToNodeMap.get(o).getCenterY())),t.nodeToRelativeConstraintMapVertical.get(i).push({bottom:o,gap:e.gap}),t.nodeToRelativeConstraintMapVertical.get(o).push({top:i,gap:e.gap})}}));else{var h=new Map,f=new Map;this.constraints.relativePlacementConstraint.forEach((function(t){if(t.left){var e=a.has(t.left)?a.get(t.left):t.left,n=a.has(t.right)?a.get(t.right):t.right;h.has(e)?h.get(e).push(n):h.set(e,[n]),h.has(n)?h.get(n).push(e):h.set(n,[e])}else{var r=s.has(t.top)?s.get(t.top):t.top,i=s.has(t.bottom)?s.get(t.bottom):t.bottom;f.has(r)?f.get(r).push(i):f.set(r,[i]),f.has(i)?f.get(i).push(r):f.set(i,[r])}}));var d=function(t,e){var n=[],r=[],i=new w,o=new Set,a=0;return t.forEach((function(s,c){if(!o.has(c)){n[a]=[],r[a]=!1;var u=c;for(i.push(u),o.add(u),n[a].push(u);0!=i.length;)u=i.shift(),e.has(u)&&(r[a]=!0),t.get(u).forEach((function(t){o.has(t)||(i.push(t),o.add(t),n[a].push(t))}));a++}})),{components:n,isFixed:r}},p=d(h,t.fixedNodesOnHorizontal);this.componentsOnHorizontal=p.components,this.fixedComponentsOnHorizontal=p.isFixed;var g=d(f,t.fixedNodesOnVertical);this.componentsOnVertical=g.components,this.fixedComponentsOnVertical=g.isFixed}}},x.prototype.updateDisplacements=function(){var t=this;if(this.constraints.fixedNodeConstraint&&this.constraints.fixedNodeConstraint.forEach((function(e){var n=t.idToNodeMap.get(e.nodeId);n.displacementX=0,n.displacementY=0})),this.constraints.alignmentConstraint){if(this.constraints.alignmentConstraint.vertical)for(var e=this.constraints.alignmentConstraint.vertical,n=0;n1)for(s=0;sr&&(r=Math.floor(a.y)),o=Math.floor(a.x+c.DEFAULT_COMPONENT_SEPERATION)}this.transform(new d(h.WORLD_CENTER_X-a.x/2,h.WORLD_CENTER_Y-a.y/2))},x.radialLayout=function(t,e,n){var r=Math.max(this.maxDiagonalInTree(t),c.DEFAULT_RADIAL_SEPARATION);x.branchRadialLayout(e,null,0,359,0,r);var i=y.calculateBounds(t),o=new m;o.setDeviceOrgX(i.getMinX()),o.setDeviceOrgY(i.getMinY()),o.setWorldOrgX(n.x),o.setWorldOrgY(n.y);for(var a=0;a1;){var v=g[0];g.splice(0,1);var y=l.indexOf(v);y>=0&&l.splice(y,1),p--,h--}f=null!=e?(l.indexOf(g[0])+1)%p:0;for(var m=Math.abs(r-n)/h,w=f;d!=h;w=++w%p){var _=l[w].getOtherEnd(t);if(_!=e){var E=(n+d*m)%360,k=(E+m)%360;x.branchRadialLayout(_,t,E,k,i+o,o),d++}}},x.maxDiagonalInTree=function(t){for(var e=v.MIN_VALUE,n=0;ne&&(e=r)}return e},x.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},x.prototype.groupZeroDegreeMembers=function(){var t=this,e={};this.memberGroups={},this.idToDummyNode={};for(var n=[],r=this.graphManager.getAllNodes(),i=0;i1){var r="DummyCompound_"+n;t.memberGroups[r]=e[n];var i=e[n][0].getParent(),o=new a(t.graphManager);o.id=r,o.paddingLeft=i.paddingLeft||0,o.paddingRight=i.paddingRight||0,o.paddingBottom=i.paddingBottom||0,o.paddingTop=i.paddingTop||0,t.idToDummyNode[r]=o;var s=t.getGraphManager().add(t.newGraph(),o),c=i.getChild();c.add(o);for(var u=0;ui?(r.rect.x-=(r.labelWidth-i)/2,r.setWidth(r.labelWidth),r.labelMarginLeft=(r.labelWidth-i)/2):"right"==r.labelPosHorizontal&&r.setWidth(i+r.labelWidth)),r.labelHeight&&("top"==r.labelPosVertical?(r.rect.y-=r.labelHeight,r.setHeight(o+r.labelHeight),r.labelMarginTop=r.labelHeight):"center"==r.labelPosVertical&&r.labelHeight>o?(r.rect.y-=(r.labelHeight-o)/2,r.setHeight(r.labelHeight),r.labelMarginTop=(r.labelHeight-o)/2):"bottom"==r.labelPosVertical&&r.setHeight(o+r.labelHeight))}}))},x.prototype.repopulateCompounds=function(){for(var t=this.compoundOrder.length-1;t>=0;t--){var e=this.compoundOrder[t],n=e.id,r=e.paddingLeft,i=e.paddingTop,o=e.labelMarginLeft,a=e.labelMarginTop;this.adjustLocations(this.tiledMemberPack[n],e.rect.x,e.rect.y,r,i,o,a)}},x.prototype.repopulateZeroDegreeMembers=function(){var t=this,e=this.tiledZeroDegreePack;Object.keys(e).forEach((function(n){var r=t.idToDummyNode[n],i=r.paddingLeft,o=r.paddingTop,a=r.labelMarginLeft,s=r.labelMarginTop;t.adjustLocations(e[n],r.rect.x,r.rect.y,i,o,a,s)}))},x.prototype.getToBeTiled=function(t){var e=t.id;if(null!=this.toBeTiled[e])return this.toBeTiled[e];var n=t.getChild();if(null==n)return this.toBeTiled[e]=!1,!1;for(var r=n.getNodes(),i=0;i0)return this.toBeTiled[e]=!1,!1;if(null!=o.getChild()){if(!this.getToBeTiled(o))return this.toBeTiled[e]=!1,!1}else this.toBeTiled[o.id]=!1}return this.toBeTiled[e]=!0,!0},x.prototype.getNodeDegree=function(t){t.id;for(var e=t.getEdges(),n=0,r=0;rl&&(l=f.rect.height)}n+=l+t.verticalPadding}},x.prototype.tileCompoundMembers=function(t,e){var n=this;this.tiledMemberPack=[],Object.keys(t).forEach((function(r){var i=e[r];if(n.tiledMemberPack[r]=n.tileNodes(t[r],i.paddingLeft+i.paddingRight),i.rect.width=n.tiledMemberPack[r].width,i.rect.height=n.tiledMemberPack[r].height,i.setCenter(n.tiledMemberPack[r].centerX,n.tiledMemberPack[r].centerY),i.labelMarginLeft=0,i.labelMarginTop=0,c.NODE_DIMENSIONS_INCLUDE_LABELS){var o=i.rect.width,a=i.rect.height;i.labelWidth&&("left"==i.labelPosHorizontal?(i.rect.x-=i.labelWidth,i.setWidth(o+i.labelWidth),i.labelMarginLeft=i.labelWidth):"center"==i.labelPosHorizontal&&i.labelWidth>o?(i.rect.x-=(i.labelWidth-o)/2,i.setWidth(i.labelWidth),i.labelMarginLeft=(i.labelWidth-o)/2):"right"==i.labelPosHorizontal&&i.setWidth(o+i.labelWidth)),i.labelHeight&&("top"==i.labelPosVertical?(i.rect.y-=i.labelHeight,i.setHeight(a+i.labelHeight),i.labelMarginTop=i.labelHeight):"center"==i.labelPosVertical&&i.labelHeight>a?(i.rect.y-=(i.labelHeight-a)/2,i.setHeight(i.labelHeight),i.labelMarginTop=(i.labelHeight-a)/2):"bottom"==i.labelPosVertical&&i.setHeight(a+i.labelHeight))}}))},x.prototype.tileNodes=function(t,e){var n=this.tileNodesByFavoringDim(t,e,!0),r=this.tileNodesByFavoringDim(t,e,!1),i=this.getOrgRatio(n);return this.getOrgRatio(r)s&&(s=t.getWidth())}));var u,l=o/i,h=a/i,f=Math.pow(n-r,2)+4*(l+r)*(h+n)*i,d=(r-n+Math.sqrt(f))/(2*(l+r));e?(u=Math.ceil(d))==d&&u++:u=Math.floor(d);var p=u*(l+r)-r;return s>p&&(p=s),p+2*r},x.prototype.tileNodesByFavoringDim=function(t,e,n){var r=c.TILING_PADDING_VERTICAL,i=c.TILING_PADDING_HORIZONTAL,o=c.TILING_COMPARE_BY,a={rows:[],rowWidth:[],rowHeight:[],width:0,height:e,verticalPadding:r,horizontalPadding:i,centerX:0,centerY:0};o&&(a.idealRowWidth=this.calcIdealRowWidth(t,n));var s=function(t){return t.rect.width*t.rect.height},u=function(t,e){return s(e)-s(t)};t.sort((function(t,e){var n=u;return a.idealRowWidth?(n=o)(t.id,e.id):n(t,e)}));for(var l=0,h=0,f=0;f0&&(o+=t.horizontalPadding),t.rowWidth[n]=o,t.width0&&(a+=t.verticalPadding);var s=0;a>t.rowHeight[n]&&(s=t.rowHeight[n],t.rowHeight[n]=a,s=t.rowHeight[n]-s),t.height+=s,t.rows[n].push(e)},x.prototype.getShortestRowIndex=function(t){for(var e=-1,n=Number.MAX_VALUE,r=0;rn&&(e=r,n=t.rowWidth[r]);return e},x.prototype.canAddHorizontal=function(t,e,n){if(t.idealRowWidth){var r=t.rows.length-1;return t.rowWidth[r]+e+t.horizontalPadding<=t.idealRowWidth}var i=this.getShortestRowIndex(t);if(i<0)return!0;var o=t.rowWidth[i];if(o+t.horizontalPadding+e<=t.width)return!0;var a,s,c=0;return t.rowHeight[i]0&&(c=n+t.verticalPadding-t.rowHeight[i]),a=t.width-o>=e+t.horizontalPadding?(t.height+c)/(o+e+t.horizontalPadding):(t.height+c)/t.width,c=n+t.verticalPadding,(s=t.widtho&&e!=n){r.splice(-1,1),t.rows[n].push(i),t.rowWidth[e]=t.rowWidth[e]-o,t.rowWidth[n]=t.rowWidth[n]+o,t.width=t.rowWidth[instance.getLongestRowIndex(t)];for(var a=Number.MIN_VALUE,s=0;sa&&(a=r[s].height);e>0&&(a+=t.verticalPadding);var c=t.rowHeight[e]+t.rowHeight[n];t.rowHeight[e]=a,t.rowHeight[n]0)for(var h=i;h<=o;h++)u[0]+=this.grid[h][a-1].length+this.grid[h][a].length-1;if(o0)for(h=a;h<=s;h++)u[3]+=this.grid[i-1][h].length+this.grid[i][h].length-1;for(var f,d,p=v.MAX_VALUE,g=0;g{var r=n(551).FDLayoutNode,i=n(551).IMath;function o(t,e,n,i){r.call(this,t,e,n,i)}for(var a in o.prototype=Object.create(r.prototype),r)o[a]=r[a];o.prototype.calculateDisplacement=function(){var t=this.graphManager.getLayout();null!=this.getChild()&&this.fixedNodeWeight?(this.displacementX+=t.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.fixedNodeWeight,this.displacementY+=t.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.fixedNodeWeight):(this.displacementX+=t.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.noOfChildren,this.displacementY+=t.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.noOfChildren),Math.abs(this.displacementX)>t.coolingFactor*t.maxNodeDisplacement&&(this.displacementX=t.coolingFactor*t.maxNodeDisplacement*i.sign(this.displacementX)),Math.abs(this.displacementY)>t.coolingFactor*t.maxNodeDisplacement&&(this.displacementY=t.coolingFactor*t.maxNodeDisplacement*i.sign(this.displacementY)),this.child&&this.child.getNodes().length>0&&this.propogateDisplacementToChildren(this.displacementX,this.displacementY)},o.prototype.propogateDisplacementToChildren=function(t,e){for(var n,r=this.getChild().getNodes(),i=0;i{function r(t){if(Array.isArray(t)){for(var e=0,n=Array(t.length);e0){var o=0;r.forEach((function(t){"horizontal"==e?(h.set(t,c.has(t)?u[c.get(t)]:i.get(t)),o+=h.get(t)):(h.set(t,c.has(t)?l[c.get(t)]:i.get(t)),o+=h.get(t))})),o/=r.length,t.forEach((function(t){n.has(t)||h.set(t,o)}))}else{var a=0;t.forEach((function(t){a+="horizontal"==e?c.has(t)?u[c.get(t)]:i.get(t):c.has(t)?l[c.get(t)]:i.get(t)})),a/=t.length,t.forEach((function(t){h.set(t,a)}))}}));for(var p=function(){var r=d.shift();t.get(r).forEach((function(t){if(h.get(t.id)a&&(a=b),ms&&(s=m)}}catch(t){d=!0,p=t}finally{try{!f&&v.return&&v.return()}finally{if(d)throw p}}var w=(r+a)/2-(o+s)/2,x=!0,_=!1,E=void 0;try{for(var k,T=t[Symbol.iterator]();!(x=(k=T.next()).done);x=!0){var C=k.value;h.set(C,h.get(C)+w)}}catch(t){_=!0,E=t}finally{try{!x&&T.return&&T.return()}finally{if(_)throw E}}}))}return h},b=function(t){var e=0,n=0,r=0,i=0;if(t.forEach((function(t){t.left?u[c.get(t.left)]-u[c.get(t.right)]>=0?e++:n++:l[c.get(t.top)]-l[c.get(t.bottom)]>=0?r++:i++})),e>n&&r>i)for(var o=0;on)for(var a=0;ai)for(var s=0;s1)e.fixedNodeConstraint.forEach((function(t,e){x[e]=[t.position.x,t.position.y],_[e]=[u[c.get(t.nodeId)],l[c.get(t.nodeId)]]})),E=!0;else if(e.alignmentConstraint)!function(){var t=0;if(e.alignmentConstraint.vertical){for(var n=e.alignmentConstraint.vertical,i=function(e){var i=new Set;n[e].forEach((function(t){i.add(t)}));var o,a=new Set([].concat(r(i)).filter((function(t){return T.has(t)})));o=a.size>0?u[c.get(a.values().next().value)]:g(i).x,n[e].forEach((function(e){x[t]=[o,l[c.get(e)]],_[t]=[u[c.get(e)],l[c.get(e)]],t++}))},o=0;o0?u[c.get(o.values().next().value)]:g(n).y,a[e].forEach((function(e){x[t]=[u[c.get(e)],i],_[t]=[u[c.get(e)],l[c.get(e)]],t++}))},h=0;hS&&(S=A[L].length,O=L);if(S0){var X={x:0,y:0};e.fixedNodeConstraint.forEach((function(t,e){var n,r,i=(r={x:u[c.get(t.nodeId)],y:l[c.get(t.nodeId)]},{x:(n=t.position).x-r.x,y:n.y-r.y});X.x+=i.x,X.y+=i.y})),X.x/=e.fixedNodeConstraint.length,X.y/=e.fixedNodeConstraint.length,u.forEach((function(t,e){u[e]+=X.x})),l.forEach((function(t,e){l[e]+=X.y})),e.fixedNodeConstraint.forEach((function(t){u[c.get(t.nodeId)]=t.position.x,l[c.get(t.nodeId)]=t.position.y}))}if(e.alignmentConstraint){if(e.alignmentConstraint.vertical)for(var W=e.alignmentConstraint.vertical,$=function(t){var e=new Set;W[t].forEach((function(t){e.add(t)}));var n,i=new Set([].concat(r(e)).filter((function(t){return T.has(t)})));n=i.size>0?u[c.get(i.values().next().value)]:g(e).x,e.forEach((function(t){T.has(t)||(u[c.get(t)]=n)}))},Z=0;Z0?l[c.get(i.values().next().value)]:g(e).y,e.forEach((function(t){T.has(t)||(l[c.get(t)]=n)}))},J=0;J{e.exports=t}},n={},r=function t(r){var i=n[r];if(void 0!==i)return i.exports;var o=n[r]={exports:{}};return e[r](o,o.exports,t),o.exports}(45);return r})()},t.exports=r(n(3035))},3035:function(t){var e;e=function(){return function(t){var e={};function n(r){if(e[r])return e[r].exports;var i=e[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=t,n.c=e,n.i=function(t){return t},n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:r})},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=28)}([function(t,e,n){"use strict";function r(){}r.QUALITY=1,r.DEFAULT_CREATE_BENDS_AS_NEEDED=!1,r.DEFAULT_INCREMENTAL=!1,r.DEFAULT_ANIMATION_ON_LAYOUT=!0,r.DEFAULT_ANIMATION_DURING_LAYOUT=!1,r.DEFAULT_ANIMATION_PERIOD=50,r.DEFAULT_UNIFORM_LEAF_NODE_SIZES=!1,r.DEFAULT_GRAPH_MARGIN=15,r.NODE_DIMENSIONS_INCLUDE_LABELS=!1,r.SIMPLE_NODE_SIZE=40,r.SIMPLE_NODE_HALF_SIZE=r.SIMPLE_NODE_SIZE/2,r.EMPTY_COMPOUND_NODE_SIZE=40,r.MIN_EDGE_LENGTH=1,r.WORLD_BOUNDARY=1e6,r.INITIAL_WORLD_BOUNDARY=r.WORLD_BOUNDARY/1e3,r.WORLD_CENTER_X=1200,r.WORLD_CENTER_Y=900,t.exports=r},function(t,e,n){"use strict";var r=n(2),i=n(8),o=n(9);function a(t,e,n){r.call(this,n),this.isOverlapingSourceAndTarget=!1,this.vGraphObject=n,this.bendpoints=[],this.source=t,this.target=e}for(var s in a.prototype=Object.create(r.prototype),r)a[s]=r[s];a.prototype.getSource=function(){return this.source},a.prototype.getTarget=function(){return this.target},a.prototype.isInterGraph=function(){return this.isInterGraph},a.prototype.getLength=function(){return this.length},a.prototype.isOverlapingSourceAndTarget=function(){return this.isOverlapingSourceAndTarget},a.prototype.getBendpoints=function(){return this.bendpoints},a.prototype.getLca=function(){return this.lca},a.prototype.getSourceInLca=function(){return this.sourceInLca},a.prototype.getTargetInLca=function(){return this.targetInLca},a.prototype.getOtherEnd=function(t){if(this.source===t)return this.target;if(this.target===t)return this.source;throw"Node is not incident with this edge"},a.prototype.getOtherEndInGraph=function(t,e){for(var n=this.getOtherEnd(t),r=e.getGraphManager().getRoot();;){if(n.getOwner()==e)return n;if(n.getOwner()==r)break;n=n.getOwner().getParent()}return null},a.prototype.updateLength=function(){var t=new Array(4);this.isOverlapingSourceAndTarget=i.getIntersection(this.target.getRect(),this.source.getRect(),t),this.isOverlapingSourceAndTarget||(this.lengthX=t[0]-t[2],this.lengthY=t[1]-t[3],Math.abs(this.lengthX)<1&&(this.lengthX=o.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=o.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY))},a.prototype.updateLengthSimple=function(){this.lengthX=this.target.getCenterX()-this.source.getCenterX(),this.lengthY=this.target.getCenterY()-this.source.getCenterY(),Math.abs(this.lengthX)<1&&(this.lengthX=o.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=o.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY)},t.exports=a},function(t,e,n){"use strict";t.exports=function(t){this.vGraphObject=t}},function(t,e,n){"use strict";var r=n(2),i=n(10),o=n(13),a=n(0),s=n(16),c=n(5);function u(t,e,n,a){null==n&&null==a&&(a=e),r.call(this,a),null!=t.graphManager&&(t=t.graphManager),this.estimatedSize=i.MIN_VALUE,this.inclusionTreeDepth=i.MAX_VALUE,this.vGraphObject=a,this.edges=[],this.graphManager=t,this.rect=null!=n&&null!=e?new o(e.x,e.y,n.width,n.height):new o}for(var l in u.prototype=Object.create(r.prototype),r)u[l]=r[l];u.prototype.getEdges=function(){return this.edges},u.prototype.getChild=function(){return this.child},u.prototype.getOwner=function(){return this.owner},u.prototype.getWidth=function(){return this.rect.width},u.prototype.setWidth=function(t){this.rect.width=t},u.prototype.getHeight=function(){return this.rect.height},u.prototype.setHeight=function(t){this.rect.height=t},u.prototype.getCenterX=function(){return this.rect.x+this.rect.width/2},u.prototype.getCenterY=function(){return this.rect.y+this.rect.height/2},u.prototype.getCenter=function(){return new c(this.rect.x+this.rect.width/2,this.rect.y+this.rect.height/2)},u.prototype.getLocation=function(){return new c(this.rect.x,this.rect.y)},u.prototype.getRect=function(){return this.rect},u.prototype.getDiagonal=function(){return Math.sqrt(this.rect.width*this.rect.width+this.rect.height*this.rect.height)},u.prototype.getHalfTheDiagonal=function(){return Math.sqrt(this.rect.height*this.rect.height+this.rect.width*this.rect.width)/2},u.prototype.setRect=function(t,e){this.rect.x=t.x,this.rect.y=t.y,this.rect.width=e.width,this.rect.height=e.height},u.prototype.setCenter=function(t,e){this.rect.x=t-this.rect.width/2,this.rect.y=e-this.rect.height/2},u.prototype.setLocation=function(t,e){this.rect.x=t,this.rect.y=e},u.prototype.moveBy=function(t,e){this.rect.x+=t,this.rect.y+=e},u.prototype.getEdgeListToNode=function(t){var e=[],n=this;return n.edges.forEach((function(r){if(r.target==t){if(r.source!=n)throw"Incorrect edge source!";e.push(r)}})),e},u.prototype.getEdgesBetween=function(t){var e=[],n=this;return n.edges.forEach((function(r){if(r.source!=n&&r.target!=n)throw"Incorrect edge source and/or target";r.target!=t&&r.source!=t||e.push(r)})),e},u.prototype.getNeighborsList=function(){var t=new Set,e=this;return e.edges.forEach((function(n){if(n.source==e)t.add(n.target);else{if(n.target!=e)throw"Incorrect incidency!";t.add(n.source)}})),t},u.prototype.withChildren=function(){var t=new Set;if(t.add(this),null!=this.child)for(var e=this.child.getNodes(),n=0;ne?(this.rect.x-=(this.labelWidth-e)/2,this.setWidth(this.labelWidth)):"right"==this.labelPosHorizontal&&this.setWidth(e+this.labelWidth)),this.labelHeight&&("top"==this.labelPosVertical?(this.rect.y-=this.labelHeight,this.setHeight(n+this.labelHeight)):"center"==this.labelPosVertical&&this.labelHeight>n?(this.rect.y-=(this.labelHeight-n)/2,this.setHeight(this.labelHeight)):"bottom"==this.labelPosVertical&&this.setHeight(n+this.labelHeight))}}},u.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==i.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},u.prototype.transform=function(t){var e=this.rect.x;e>a.WORLD_BOUNDARY?e=a.WORLD_BOUNDARY:e<-a.WORLD_BOUNDARY&&(e=-a.WORLD_BOUNDARY);var n=this.rect.y;n>a.WORLD_BOUNDARY?n=a.WORLD_BOUNDARY:n<-a.WORLD_BOUNDARY&&(n=-a.WORLD_BOUNDARY);var r=new c(e,n),i=t.inverseTransformPoint(r);this.setLocation(i.x,i.y)},u.prototype.getLeft=function(){return this.rect.x},u.prototype.getRight=function(){return this.rect.x+this.rect.width},u.prototype.getTop=function(){return this.rect.y},u.prototype.getBottom=function(){return this.rect.y+this.rect.height},u.prototype.getParent=function(){return null==this.owner?null:this.owner.getParent()},t.exports=u},function(t,e,n){"use strict";var r=n(0);function i(){}for(var o in r)i[o]=r[o];i.MAX_ITERATIONS=2500,i.DEFAULT_EDGE_LENGTH=50,i.DEFAULT_SPRING_STRENGTH=.45,i.DEFAULT_REPULSION_STRENGTH=4500,i.DEFAULT_GRAVITY_STRENGTH=.4,i.DEFAULT_COMPOUND_GRAVITY_STRENGTH=1,i.DEFAULT_GRAVITY_RANGE_FACTOR=3.8,i.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=1.5,i.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION=!0,i.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION=!0,i.DEFAULT_COOLING_FACTOR_INCREMENTAL=.3,i.COOLING_ADAPTATION_FACTOR=.33,i.ADAPTATION_LOWER_NODE_LIMIT=1e3,i.ADAPTATION_UPPER_NODE_LIMIT=5e3,i.MAX_NODE_DISPLACEMENT_INCREMENTAL=100,i.MAX_NODE_DISPLACEMENT=3*i.MAX_NODE_DISPLACEMENT_INCREMENTAL,i.MIN_REPULSION_DIST=i.DEFAULT_EDGE_LENGTH/10,i.CONVERGENCE_CHECK_PERIOD=100,i.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=.1,i.MIN_EDGE_LENGTH=1,i.GRID_CALCULATION_CHECK_PERIOD=10,t.exports=i},function(t,e,n){"use strict";function r(t,e){null==t&&null==e?(this.x=0,this.y=0):(this.x=t,this.y=e)}r.prototype.getX=function(){return this.x},r.prototype.getY=function(){return this.y},r.prototype.setX=function(t){this.x=t},r.prototype.setY=function(t){this.y=t},r.prototype.getDifference=function(t){return new DimensionD(this.x-t.x,this.y-t.y)},r.prototype.getCopy=function(){return new r(this.x,this.y)},r.prototype.translate=function(t){return this.x+=t.width,this.y+=t.height,this},t.exports=r},function(t,e,n){"use strict";var r=n(2),i=n(10),o=n(0),a=n(7),s=n(3),c=n(1),u=n(13),l=n(12),h=n(11);function f(t,e,n){r.call(this,n),this.estimatedSize=i.MIN_VALUE,this.margin=o.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=t,null!=e&&e instanceof a?this.graphManager=e:null!=e&&e instanceof Layout&&(this.graphManager=e.graphManager)}for(var d in f.prototype=Object.create(r.prototype),r)f[d]=r[d];f.prototype.getNodes=function(){return this.nodes},f.prototype.getEdges=function(){return this.edges},f.prototype.getGraphManager=function(){return this.graphManager},f.prototype.getParent=function(){return this.parent},f.prototype.getLeft=function(){return this.left},f.prototype.getRight=function(){return this.right},f.prototype.getTop=function(){return this.top},f.prototype.getBottom=function(){return this.bottom},f.prototype.isConnected=function(){return this.isConnected},f.prototype.add=function(t,e,n){if(null==e&&null==n){var r=t;if(null==this.graphManager)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(r)>-1)throw"Node already in graph!";return r.owner=this,this.getNodes().push(r),r}var i=t;if(!(this.getNodes().indexOf(e)>-1&&this.getNodes().indexOf(n)>-1))throw"Source or target not in graph!";if(e.owner!=n.owner||e.owner!=this)throw"Both owners must be this graph!";return e.owner!=n.owner?null:(i.source=e,i.target=n,i.isInterGraph=!1,this.getEdges().push(i),e.edges.push(i),n!=e&&n.edges.push(i),i)},f.prototype.remove=function(t){var e=t;if(t instanceof s){if(null==e)throw"Node is null!";if(null==e.owner||e.owner!=this)throw"Owner graph is invalid!";if(null==this.graphManager)throw"Owner graph manager is invalid!";for(var n=e.edges.slice(),r=n.length,i=0;i-1&&l>-1))throw"Source and/or target doesn't know this edge!";if(o.source.edges.splice(u,1),o.target!=o.source&&o.target.edges.splice(l,1),-1==(a=o.source.owner.getEdges().indexOf(o)))throw"Not in owner's edge list!";o.source.owner.getEdges().splice(a,1)}},f.prototype.updateLeftTop=function(){for(var t,e,n,r=i.MAX_VALUE,o=i.MAX_VALUE,a=this.getNodes(),s=a.length,c=0;c(t=u.getTop())&&(r=t),o>(e=u.getLeft())&&(o=e)}return r==i.MAX_VALUE?null:(n=null!=a[0].getParent().paddingLeft?a[0].getParent().paddingLeft:this.margin,this.left=o-n,this.top=r-n,new l(this.left,this.top))},f.prototype.updateBounds=function(t){for(var e,n,r,o,a,s=i.MAX_VALUE,c=-i.MAX_VALUE,l=i.MAX_VALUE,h=-i.MAX_VALUE,f=this.nodes,d=f.length,p=0;p(e=g.getLeft())&&(s=e),c<(n=g.getRight())&&(c=n),l>(r=g.getTop())&&(l=r),h<(o=g.getBottom())&&(h=o)}var v=new u(s,l,c-s,h-l);s==i.MAX_VALUE&&(this.left=this.parent.getLeft(),this.right=this.parent.getRight(),this.top=this.parent.getTop(),this.bottom=this.parent.getBottom()),a=null!=f[0].getParent().paddingLeft?f[0].getParent().paddingLeft:this.margin,this.left=v.x-a,this.right=v.x+v.width+a,this.top=v.y-a,this.bottom=v.y+v.height+a},f.calculateBounds=function(t){for(var e,n,r,o,a=i.MAX_VALUE,s=-i.MAX_VALUE,c=i.MAX_VALUE,l=-i.MAX_VALUE,h=t.length,f=0;f(e=d.getLeft())&&(a=e),s<(n=d.getRight())&&(s=n),c>(r=d.getTop())&&(c=r),l<(o=d.getBottom())&&(l=o)}return new u(a,c,s-a,l-c)},f.prototype.getInclusionTreeDepth=function(){return this==this.graphManager.getRoot()?1:this.parent.getInclusionTreeDepth()},f.prototype.getEstimatedSize=function(){if(this.estimatedSize==i.MIN_VALUE)throw"assert failed";return this.estimatedSize},f.prototype.calcEstimatedSize=function(){for(var t=0,e=this.nodes,n=e.length,r=0;r=this.nodes.length){var c=0;i.forEach((function(e){e.owner==t&&c++})),c==this.nodes.length&&(this.isConnected=!0)}}else this.isConnected=!0},t.exports=f},function(t,e,n){"use strict";var r,i=n(1);function o(t){r=n(6),this.layout=t,this.graphs=[],this.edges=[]}o.prototype.addRoot=function(){var t=this.layout.newGraph(),e=this.layout.newNode(null),n=this.add(t,e);return this.setRootGraph(n),this.rootGraph},o.prototype.add=function(t,e,n,r,i){if(null==n&&null==r&&null==i){if(null==t)throw"Graph is null!";if(null==e)throw"Parent node is null!";if(this.graphs.indexOf(t)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(t),null!=t.parent)throw"Already has a parent!";if(null!=e.child)throw"Already has a child!";return t.parent=e,e.child=t,t}i=n,n=t;var o=(r=e).getOwner(),a=i.getOwner();if(null==o||o.getGraphManager()!=this)throw"Source not in this graph mgr!";if(null==a||a.getGraphManager()!=this)throw"Target not in this graph mgr!";if(o==a)return n.isInterGraph=!1,o.add(n,r,i);if(n.isInterGraph=!0,n.source=r,n.target=i,this.edges.indexOf(n)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(n),null==n.source||null==n.target)throw"Edge source and/or target is null!";if(-1!=n.source.edges.indexOf(n)||-1!=n.target.edges.indexOf(n))throw"Edge already in source and/or target incidency list!";return n.source.edges.push(n),n.target.edges.push(n),n},o.prototype.remove=function(t){if(t instanceof r){var e=t;if(e.getGraphManager()!=this)throw"Graph not in this graph mgr";if(e!=this.rootGraph&&(null==e.parent||e.parent.graphManager!=this))throw"Invalid parent node!";for(var n,o=[],a=(o=o.concat(e.getEdges())).length,s=0;s=e.getRight()?n[0]+=Math.min(e.getX()-t.getX(),t.getRight()-e.getRight()):e.getX()<=t.getX()&&e.getRight()>=t.getRight()&&(n[0]+=Math.min(t.getX()-e.getX(),e.getRight()-t.getRight())),t.getY()<=e.getY()&&t.getBottom()>=e.getBottom()?n[1]+=Math.min(e.getY()-t.getY(),t.getBottom()-e.getBottom()):e.getY()<=t.getY()&&e.getBottom()>=t.getBottom()&&(n[1]+=Math.min(t.getY()-e.getY(),e.getBottom()-t.getBottom()));var o=Math.abs((e.getCenterY()-t.getCenterY())/(e.getCenterX()-t.getCenterX()));e.getCenterY()===t.getCenterY()&&e.getCenterX()===t.getCenterX()&&(o=1);var a=o*n[0],s=n[1]/o;n[0]a)return n[0]=r,n[1]=c,n[2]=o,n[3]=m,!1;if(io)return n[0]=s,n[1]=i,n[2]=b,n[3]=a,!1;if(ro?(n[0]=l,n[1]=h,E=!0):(n[0]=u,n[1]=c,E=!0):T===N&&(r>o?(n[0]=s,n[1]=c,E=!0):(n[0]=f,n[1]=h,E=!0)),-C===N?o>r?(n[2]=y,n[3]=m,k=!0):(n[2]=b,n[3]=v,k=!0):C===N&&(o>r?(n[2]=g,n[3]=v,k=!0):(n[2]=w,n[3]=m,k=!0)),E&&k)return!1;if(r>o?i>a?(A=this.getCardinalDirection(T,N,4),S=this.getCardinalDirection(C,N,2)):(A=this.getCardinalDirection(-T,N,3),S=this.getCardinalDirection(-C,N,1)):i>a?(A=this.getCardinalDirection(-T,N,1),S=this.getCardinalDirection(-C,N,3)):(A=this.getCardinalDirection(T,N,2),S=this.getCardinalDirection(C,N,4)),!E)switch(A){case 1:L=c,O=r+-p/N,n[0]=O,n[1]=L;break;case 2:O=f,L=i+d*N,n[0]=O,n[1]=L;break;case 3:L=h,O=r+p/N,n[0]=O,n[1]=L;break;case 4:O=l,L=i+-d*N,n[0]=O,n[1]=L}if(!k)switch(S){case 1:M=v,I=o+-_/N,n[2]=I,n[3]=M;break;case 2:I=w,M=a+x*N,n[2]=I,n[3]=M;break;case 3:M=m,I=o+_/N,n[2]=I,n[3]=M;break;case 4:I=y,M=a+-x*N,n[2]=I,n[3]=M}}return!1},i.getCardinalDirection=function(t,e,n){return t>e?n:1+n%4},i.getIntersection=function(t,e,n,i){if(null==i)return this.getIntersection2(t,e,n);var o,a,s,c,u,l,h,f=t.x,d=t.y,p=e.x,g=e.y,v=n.x,b=n.y,y=i.x,m=i.y;return 0==(h=(o=g-d)*(c=v-y)-(a=m-b)*(s=f-p))?null:new r((s*(l=y*b-v*m)-c*(u=p*d-f*g))/h,(a*u-o*l)/h)},i.angleOfVector=function(t,e,n,r){var i=void 0;return t!==n?(i=Math.atan((r-e)/(n-t)),n=0){var l=(-c+Math.sqrt(c*c-4*s*u))/(2*s),h=(-c-Math.sqrt(c*c-4*s*u))/(2*s);return l>=0&&l<=1?[l]:h>=0&&h<=1?[h]:null}return null},i.HALF_PI=.5*Math.PI,i.ONE_AND_HALF_PI=1.5*Math.PI,i.TWO_PI=2*Math.PI,i.THREE_PI=3*Math.PI,t.exports=i},function(t,e,n){"use strict";function r(){}r.sign=function(t){return t>0?1:t<0?-1:0},r.floor=function(t){return t<0?Math.ceil(t):Math.floor(t)},r.ceil=function(t){return t<0?Math.floor(t):Math.ceil(t)},t.exports=r},function(t,e,n){"use strict";function r(){}r.MAX_VALUE=2147483647,r.MIN_VALUE=-2147483648,t.exports=r},function(t,e,n){"use strict";var r=function(){function t(t,e){for(var n=0;n0&&e;){for(s.push(u[0]);s.length>0&&e;){var l=s[0];s.splice(0,1),a.add(l);var h=l.getEdges();for(o=0;o-1&&u.splice(g,1)}a=new Set,c=new Map}else t=[]}return t},f.prototype.createDummyNodesForBendpoints=function(t){for(var e=[],n=t.source,r=this.graphManager.calcLowestCommonAncestor(t.source,t.target),i=0;i0){for(var i=this.edgeToDummyNodes.get(n),o=0;o=0&&e.splice(h,1),l.getNeighborsList().forEach((function(t){if(n.indexOf(t)<0){var e=r.get(t)-1;1==e&&c.push(t),r.set(t,e)}}))}n=n.concat(c),1!=e.length&&2!=e.length||(i=!0,o=e[0])}return o},f.prototype.setGraphManager=function(t){this.graphManager=t},t.exports=f},function(t,e,n){"use strict";function r(){}r.seed=1,r.x=0,r.nextDouble=function(){return r.x=1e4*Math.sin(r.seed++),r.x-Math.floor(r.x)},t.exports=r},function(t,e,n){"use strict";var r=n(5);function i(t,e){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}i.prototype.getWorldOrgX=function(){return this.lworldOrgX},i.prototype.setWorldOrgX=function(t){this.lworldOrgX=t},i.prototype.getWorldOrgY=function(){return this.lworldOrgY},i.prototype.setWorldOrgY=function(t){this.lworldOrgY=t},i.prototype.getWorldExtX=function(){return this.lworldExtX},i.prototype.setWorldExtX=function(t){this.lworldExtX=t},i.prototype.getWorldExtY=function(){return this.lworldExtY},i.prototype.setWorldExtY=function(t){this.lworldExtY=t},i.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},i.prototype.setDeviceOrgX=function(t){this.ldeviceOrgX=t},i.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},i.prototype.setDeviceOrgY=function(t){this.ldeviceOrgY=t},i.prototype.getDeviceExtX=function(){return this.ldeviceExtX},i.prototype.setDeviceExtX=function(t){this.ldeviceExtX=t},i.prototype.getDeviceExtY=function(){return this.ldeviceExtY},i.prototype.setDeviceExtY=function(t){this.ldeviceExtY=t},i.prototype.transformX=function(t){var e=0,n=this.lworldExtX;return 0!=n&&(e=this.ldeviceOrgX+(t-this.lworldOrgX)*this.ldeviceExtX/n),e},i.prototype.transformY=function(t){var e=0,n=this.lworldExtY;return 0!=n&&(e=this.ldeviceOrgY+(t-this.lworldOrgY)*this.ldeviceExtY/n),e},i.prototype.inverseTransformX=function(t){var e=0,n=this.ldeviceExtX;return 0!=n&&(e=this.lworldOrgX+(t-this.ldeviceOrgX)*this.lworldExtX/n),e},i.prototype.inverseTransformY=function(t){var e=0,n=this.ldeviceExtY;return 0!=n&&(e=this.lworldOrgY+(t-this.ldeviceOrgY)*this.lworldExtY/n),e},i.prototype.inverseTransformPoint=function(t){return new r(this.inverseTransformX(t.x),this.inverseTransformY(t.y))},t.exports=i},function(t,e,n){"use strict";var r=n(15),i=n(4),o=n(0),a=n(8),s=n(9);function c(){r.call(this),this.useSmartIdealEdgeLengthCalculation=i.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION,this.gravityConstant=i.DEFAULT_GRAVITY_STRENGTH,this.compoundGravityConstant=i.DEFAULT_COMPOUND_GRAVITY_STRENGTH,this.gravityRangeFactor=i.DEFAULT_GRAVITY_RANGE_FACTOR,this.compoundGravityRangeFactor=i.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR,this.displacementThresholdPerNode=3*i.DEFAULT_EDGE_LENGTH/100,this.coolingFactor=i.DEFAULT_COOLING_FACTOR_INCREMENTAL,this.initialCoolingFactor=i.DEFAULT_COOLING_FACTOR_INCREMENTAL,this.totalDisplacement=0,this.oldTotalDisplacement=0,this.maxIterations=i.MAX_ITERATIONS}for(var u in c.prototype=Object.create(r.prototype),r)c[u]=r[u];c.prototype.initParameters=function(){r.prototype.initParameters.call(this,arguments),this.totalIterations=0,this.notAnimatedIterations=0,this.useFRGridVariant=i.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION,this.grid=[]},c.prototype.calcIdealEdgeLengths=function(){for(var t,e,n,r,a,s,c,u=this.getGraphManager().getAllEdges(),l=0;li.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*i.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(t-i.ADAPTATION_LOWER_NODE_LIMIT)/(i.ADAPTATION_UPPER_NODE_LIMIT-i.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-i.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=i.MAX_NODE_DISPLACEMENT_INCREMENTAL):(t>i.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(i.COOLING_ADAPTATION_FACTOR,1-(t-i.ADAPTATION_LOWER_NODE_LIMIT)/(i.ADAPTATION_UPPER_NODE_LIMIT-i.ADAPTATION_LOWER_NODE_LIMIT)*(1-i.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=i.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(5*this.getAllNodes().length,this.maxIterations),this.displacementThresholdPerNode=3*i.DEFAULT_EDGE_LENGTH/100,this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},c.prototype.calcSpringForces=function(){for(var t,e=this.getAllEdges(),n=0;n0&&void 0!==arguments[0])||arguments[0],s=arguments.length>1&&void 0!==arguments[1]&&arguments[1],c=this.getAllNodes();if(this.useFRGridVariant)for(this.totalIterations%i.GRID_CALCULATION_CHECK_PERIOD==1&&a&&this.updateGrid(),o=new Set,t=0;t(c=e.getEstimatedSize()*this.gravityRangeFactor)||s>c)&&(t.gravitationForceX=-this.gravityConstant*i,t.gravitationForceY=-this.gravityConstant*o):(a>(c=e.getEstimatedSize()*this.compoundGravityRangeFactor)||s>c)&&(t.gravitationForceX=-this.gravityConstant*i*this.compoundGravityConstant,t.gravitationForceY=-this.gravityConstant*o*this.compoundGravityConstant)},c.prototype.isConverged=function(){var t,e=!1;return this.totalIterations>this.maxIterations/3&&(e=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2),t=this.totalDisplacement=s.length||u>=s[0].length))for(var l=0;lt}}]),t}();t.exports=o},function(t,e,n){"use strict";function r(){}r.svd=function(t){this.U=null,this.V=null,this.s=null,this.m=0,this.n=0,this.m=t.length,this.n=t[0].length;var e=Math.min(this.m,this.n);this.s=function(t){for(var e=[];t-- >0;)e.push(0);return e}(Math.min(this.m+1,this.n)),this.U=function t(e){if(0==e.length)return 0;for(var n=[],r=0;r0;)e.push(0);return e}(this.n),a=function(t){for(var e=[];t-- >0;)e.push(0);return e}(this.m),s=Math.min(this.m-1,this.n),c=Math.max(0,Math.min(this.n-2,this.m)),u=0;u=0;S--)if(0!==this.s[S]){for(var O=S+1;O=0;j--){if(function(t,e){return t&&e}(j0;){var q=void 0,X=void 0;for(q=C-2;q>=-1&&-1!==q;q--)if(Math.abs(o[q])<=V+U*(Math.abs(this.s[q])+Math.abs(this.s[q+1]))){o[q]=0;break}if(q===C-2)X=4;else{var W=void 0;for(W=C-1;W>=q&&W!==q;W--){var $=(W!==C?Math.abs(o[W]):0)+(W!==q+1?Math.abs(o[W-1]):0);if(Math.abs(this.s[W])<=V+U*$){this.s[W]=0;break}}W===q?X=3:W===C-1?X=1:(X=2,q=W)}switch(q++,X){case 1:var Z=o[C-2];o[C-2]=0;for(var K=C-2;K>=q;K--){var Q=r.hypot(this.s[K],Z),J=this.s[K]/Q,tt=Z/Q;this.s[K]=Q,K!==q&&(Z=-tt*o[K-1],o[K-1]=J*o[K-1]);for(var et=0;et=this.s[q+1]);){var Ct=this.s[q];if(this.s[q]=this.s[q+1],this.s[q+1]=Ct,qMath.abs(e)?(n=e/t,n=Math.abs(t)*Math.sqrt(1+n*n)):0!=e?(n=t/e,n=Math.abs(e)*Math.sqrt(1+n*n)):n=0,n},t.exports=r},function(t,e,n){"use strict";var r=function(){function t(t,e){for(var n=0;n2&&void 0!==arguments[2]?arguments[2]:1,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:-1,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:-1;!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.sequence1=e,this.sequence2=n,this.match_score=r,this.mismatch_penalty=i,this.gap_penalty=o,this.iMax=e.length+1,this.jMax=n.length+1,this.grid=new Array(this.iMax);for(var a=0;a=0;n--){var r=this.listeners[n];r.event===t&&r.callback===e&&this.listeners.splice(n,1)}},i.emit=function(t,e){for(var n=0;n1?e-1:0),r=1;r=0;m--){var w=a[m].id(),x=a[m].position();e.randomize&&(x={x:Math.round(d.x1+(d.x2-d.x1)*Math.random()),y:Math.round(d.y1+(d.y2-d.y1)*Math.random())}),y.vertices.push({id:w,x:x.x,y:x.y})}for(m=s.length-1;m>=0;m--){var _=s[m].source().id(),E=s[m].target().id();y.edges.push({src:_,tgt:E})}var k=t.thread;function T(t){for(var r=t.vertices,i=[],o=0;o=C||A>=4)&&(S>=s?N=!0:(y={xl:0,xr:n+=n*a,yt:0,yb:r+=r*a},++S,A=0)),C=M,c(),u()}return c(),t})).then((function(n){var r=n.vertices;T(n);var i=n.startTime,o=new Date;console.info("Layout on "+r.length+" nodes took "+(o-i)+" ms"),t.one("layoutstop",e.stop),e.animate||t.trigger("layoutready"),t.trigger("layoutstop"),k.stop()}))}return this},a.prototype.stop=function(){this.thread&&this.thread.stop(),this.trigger("layoutstop")},a.prototype.destroy=function(){this.thread&&this.thread.stop()},t.exports=a},function(t,e,n){"use strict";var r=n(0),i=function(t){t("layout","spread",r)};"undefined"!=typeof cytoscape&&i(cytoscape),t.exports=i},function(t,e){function n(){this.vertices=null,this.edges=null,this.cells=null,this.toRecycle=null,this.beachsectionJunkyard=[],this.circleEventJunkyard=[],this.vertexJunkyard=[],this.edgeJunkyard=[],this.cellJunkyard=[]}n.prototype.reset=function(){if(this.beachline||(this.beachline=new this.RBTree),this.beachline.root)for(var t=this.beachline.getFirst(this.beachline.root);t;)this.beachsectionJunkyard.push(t),t=t.rbNext;this.beachline.root=null,this.circleEvents||(this.circleEvents=new this.RBTree),this.circleEvents.root=this.firstCircleEvent=null,this.vertices=[],this.edges=[],this.cells=[]},n.prototype.sqrt=function(t){return Math.sqrt(t)},n.prototype.abs=function(t){return Math.abs(t)},n.prototype.ε=n.ε=1e-9,n.prototype.invε=n.invε=1/n.ε,n.prototype.equalWithEpsilon=function(t,e){return this.abs(t-e)<1e-9},n.prototype.greaterThanWithEpsilon=function(t,e){return t-e>1e-9},n.prototype.greaterThanOrEqualWithEpsilon=function(t,e){return e-t<1e-9},n.prototype.lessThanWithEpsilon=function(t,e){return e-t>1e-9},n.prototype.lessThanOrEqualWithEpsilon=function(t,e){return t-e<1e-9},n.prototype.RBTree=function(){this.root=null},n.prototype.RBTree.prototype.rbInsertSuccessor=function(t,e){var n,r,i;if(t){if(e.rbPrevious=t,e.rbNext=t.rbNext,t.rbNext&&(t.rbNext.rbPrevious=e),t.rbNext=e,t.rbRight){for(t=t.rbRight;t.rbLeft;)t=t.rbLeft;t.rbLeft=e}else t.rbRight=e;n=t}else this.root?(t=this.getFirst(this.root),e.rbPrevious=null,e.rbNext=t,t.rbPrevious=e,t.rbLeft=e,n=t):(e.rbPrevious=e.rbNext=null,this.root=e,n=null);for(e.rbLeft=e.rbRight=null,e.rbParent=n,e.rbRed=!0,t=e;n&&n.rbRed;)n===(r=n.rbParent).rbLeft?(i=r.rbRight)&&i.rbRed?(n.rbRed=i.rbRed=!1,r.rbRed=!0,t=r):(t===n.rbRight&&(this.rbRotateLeft(n),n=(t=n).rbParent),n.rbRed=!1,r.rbRed=!0,this.rbRotateRight(r)):(i=r.rbLeft)&&i.rbRed?(n.rbRed=i.rbRed=!1,r.rbRed=!0,t=r):(t===n.rbLeft&&(this.rbRotateRight(n),n=(t=n).rbParent),n.rbRed=!1,r.rbRed=!0,this.rbRotateLeft(r)),n=t.rbParent;this.root.rbRed=!1},n.prototype.RBTree.prototype.rbRemoveNode=function(t){t.rbNext&&(t.rbNext.rbPrevious=t.rbPrevious),t.rbPrevious&&(t.rbPrevious.rbNext=t.rbNext),t.rbNext=t.rbPrevious=null;var e,n,r=t.rbParent,i=t.rbLeft,o=t.rbRight;if(e=i?o?this.getFirst(o):i:o,r?r.rbLeft===t?r.rbLeft=e:r.rbRight=e:this.root=e,i&&o?(n=e.rbRed,e.rbRed=t.rbRed,e.rbLeft=i,i.rbParent=e,e!==o?(r=e.rbParent,e.rbParent=t.rbParent,t=e.rbRight,r.rbLeft=t,e.rbRight=o,o.rbParent=e):(e.rbParent=r,r=e,t=e.rbRight)):(n=t.rbRed,t=e),t&&(t.rbParent=r),!n)if(t&&t.rbRed)t.rbRed=!1;else{var a;do{if(t===this.root)break;if(t===r.rbLeft){if((a=r.rbRight).rbRed&&(a.rbRed=!1,r.rbRed=!0,this.rbRotateLeft(r),a=r.rbRight),a.rbLeft&&a.rbLeft.rbRed||a.rbRight&&a.rbRight.rbRed){a.rbRight&&a.rbRight.rbRed||(a.rbLeft.rbRed=!1,a.rbRed=!0,this.rbRotateRight(a),a=r.rbRight),a.rbRed=r.rbRed,r.rbRed=a.rbRight.rbRed=!1,this.rbRotateLeft(r),t=this.root;break}}else if((a=r.rbLeft).rbRed&&(a.rbRed=!1,r.rbRed=!0,this.rbRotateRight(r),a=r.rbLeft),a.rbLeft&&a.rbLeft.rbRed||a.rbRight&&a.rbRight.rbRed){a.rbLeft&&a.rbLeft.rbRed||(a.rbRight.rbRed=!1,a.rbRed=!0,this.rbRotateLeft(a),a=r.rbLeft),a.rbRed=r.rbRed,r.rbRed=a.rbLeft.rbRed=!1,this.rbRotateRight(r),t=this.root;break}a.rbRed=!0,t=r,r=r.rbParent}while(!t.rbRed);t&&(t.rbRed=!1)}},n.prototype.RBTree.prototype.rbRotateLeft=function(t){var e=t,n=t.rbRight,r=e.rbParent;r?r.rbLeft===e?r.rbLeft=n:r.rbRight=n:this.root=n,n.rbParent=r,e.rbParent=n,e.rbRight=n.rbLeft,e.rbRight&&(e.rbRight.rbParent=e),n.rbLeft=e},n.prototype.RBTree.prototype.rbRotateRight=function(t){var e=t,n=t.rbLeft,r=e.rbParent;r?r.rbLeft===e?r.rbLeft=n:r.rbRight=n:this.root=n,n.rbParent=r,e.rbParent=n,e.rbLeft=n.rbRight,e.rbLeft&&(e.rbLeft.rbParent=e),n.rbRight=e},n.prototype.RBTree.prototype.getFirst=function(t){for(;t.rbLeft;)t=t.rbLeft;return t},n.prototype.RBTree.prototype.getLast=function(t){for(;t.rbRight;)t=t.rbRight;return t},n.prototype.Diagram=function(t){this.site=t},n.prototype.Cell=function(t){this.site=t,this.halfedges=[],this.closeMe=!1},n.prototype.Cell.prototype.init=function(t){return this.site=t,this.halfedges=[],this.closeMe=!1,this},n.prototype.createCell=function(t){var e=this.cellJunkyard.pop();return e?e.init(t):new this.Cell(t)},n.prototype.Cell.prototype.prepareHalfedges=function(){for(var t,e=this.halfedges,n=e.length;n--;)(t=e[n].edge).vb&&t.va||e.splice(n,1);return e.sort((function(t,e){return e.angle-t.angle})),e.length},n.prototype.Cell.prototype.getNeighborIds=function(){for(var t,e=[],n=this.halfedges.length;n--;)null!==(t=this.halfedges[n].edge).lSite&&t.lSite.voronoiId!=this.site.voronoiId?e.push(t.lSite.voronoiId):null!==t.rSite&&t.rSite.voronoiId!=this.site.voronoiId&&e.push(t.rSite.voronoiId);return e},n.prototype.Cell.prototype.getBbox=function(){for(var t,e,n,r=this.halfedges,i=r.length,o=1/0,a=1/0,s=-1/0,c=-1/0;i--;)(e=(t=r[i].getStartpoint()).x)s&&(s=e),n>c&&(c=n);return{x:o,y:a,width:s-o,height:c-a}},n.prototype.Cell.prototype.pointIntersection=function(t,e){for(var n,r,i,o,a=this.halfedges,s=a.length;s--;){if(r=(n=a[s]).getStartpoint(),i=n.getEndpoint(),!(o=(e-r.y)*(i.x-r.x)-(t-r.x)*(i.y-r.y)))return 0;if(o>0)return-1}return 1},n.prototype.Vertex=function(t,e){this.x=t,this.y=e},n.prototype.Edge=function(t,e){this.lSite=t,this.rSite=e,this.va=this.vb=null},n.prototype.Halfedge=function(t,e,n){if(this.site=e,this.edge=t,n)this.angle=Math.atan2(n.y-e.y,n.x-e.x);else{var r=t.va,i=t.vb;this.angle=t.lSite===e?Math.atan2(i.x-r.x,r.y-i.y):Math.atan2(r.x-i.x,i.y-r.y)}},n.prototype.createHalfedge=function(t,e,n){return new this.Halfedge(t,e,n)},n.prototype.Halfedge.prototype.getStartpoint=function(){return this.edge.lSite===this.site?this.edge.va:this.edge.vb},n.prototype.Halfedge.prototype.getEndpoint=function(){return this.edge.lSite===this.site?this.edge.vb:this.edge.va},n.prototype.createVertex=function(t,e){var n=this.vertexJunkyard.pop();return n?(n.x=t,n.y=e):n=new this.Vertex(t,e),this.vertices.push(n),n},n.prototype.createEdge=function(t,e,n,r){var i=this.edgeJunkyard.pop();return i?(i.lSite=t,i.rSite=e,i.va=i.vb=null):i=new this.Edge(t,e),this.edges.push(i),n&&this.setEdgeStartpoint(i,t,e,n),r&&this.setEdgeEndpoint(i,t,e,r),this.cells[t.voronoiId].halfedges.push(this.createHalfedge(i,t,e)),this.cells[e.voronoiId].halfedges.push(this.createHalfedge(i,e,t)),i},n.prototype.createBorderEdge=function(t,e,n){var r=this.edgeJunkyard.pop();return r?(r.lSite=t,r.rSite=null):r=new this.Edge(t,null),r.va=e,r.vb=n,this.edges.push(r),r},n.prototype.setEdgeStartpoint=function(t,e,n,r){t.va||t.vb?t.lSite===n?t.vb=r:t.va=r:(t.va=r,t.lSite=e,t.rSite=n)},n.prototype.setEdgeEndpoint=function(t,e,n,r){this.setEdgeStartpoint(t,n,e,r)},n.prototype.Beachsection=function(){},n.prototype.createBeachsection=function(t){var e=this.beachsectionJunkyard.pop();return e||(e=new this.Beachsection),e.site=t,e},n.prototype.leftBreakPoint=function(t,e){var n=t.site,r=n.x,i=n.y,o=i-e;if(!o)return r;var a=t.rbPrevious;if(!a)return-1/0;var s=(n=a.site).x,c=n.y,u=c-e;if(!u)return s;var l=s-r,h=1/o-1/u,f=l/u;return h?(-f+this.sqrt(f*f-2*h*(l*l/(-2*u)-c+u/2+i-o/2)))/h+r:(r+s)/2},n.prototype.rightBreakPoint=function(t,e){var n=t.rbNext;if(n)return this.leftBreakPoint(n,e);var r=t.site;return r.y===e?r.x:1/0},n.prototype.detachBeachsection=function(t){this.detachCircleEvent(t),this.beachline.rbRemoveNode(t),this.beachsectionJunkyard.push(t)},n.prototype.removeBeachsection=function(t){var e=t.circleEvent,n=e.x,r=e.ycenter,i=this.createVertex(n,r),o=t.rbPrevious,a=t.rbNext,s=[t],c=Math.abs;this.detachBeachsection(t);for(var u=o;u.circleEvent&&c(n-u.circleEvent.x)<1e-9&&c(r-u.circleEvent.ycenter)<1e-9;)o=u.rbPrevious,s.unshift(u),this.detachBeachsection(u),u=o;s.unshift(u),this.detachCircleEvent(u);for(var l=a;l.circleEvent&&c(n-l.circleEvent.x)<1e-9&&c(r-l.circleEvent.ycenter)<1e-9;)a=l.rbNext,s.push(l),this.detachBeachsection(l),l=a;s.push(l),this.detachCircleEvent(l);var h,f=s.length;for(h=1;h1e-9)s=s.rbLeft;else{if(!((i=o-this.rightBreakPoint(s,a))>1e-9)){r>-1e-9?(e=s.rbPrevious,n=s):i>-1e-9?(e=s,n=s.rbNext):e=n=s;break}if(!s.rbRight){e=s;break}s=s.rbRight}var c=this.createBeachsection(t);if(this.beachline.rbInsertSuccessor(e,c),e||n){if(e===n)return this.detachCircleEvent(e),n=this.createBeachsection(e.site),this.beachline.rbInsertSuccessor(c,n),c.edge=n.edge=this.createEdge(e.site,c.site),this.attachCircleEvent(e),void this.attachCircleEvent(n);if(!e||n){if(e!==n){this.detachCircleEvent(e),this.detachCircleEvent(n);var u=e.site,l=u.x,h=u.y,f=t.x-l,d=t.y-h,p=n.site,g=p.x-l,v=p.y-h,b=2*(f*v-d*g),y=f*f+d*d,m=g*g+v*v,w=this.createVertex((v*y-d*m)/b+l,(f*m-g*y)/b+h);return this.setEdgeStartpoint(n.edge,u,p,w),c.edge=this.createEdge(u,t,void 0,w),n.edge=this.createEdge(t,p,void 0,w),this.attachCircleEvent(e),void this.attachCircleEvent(n)}}else c.edge=this.createEdge(e.site,c.site)}},n.prototype.CircleEvent=function(){this.arc=null,this.rbLeft=null,this.rbNext=null,this.rbParent=null,this.rbPrevious=null,this.rbRed=!1,this.rbRight=null,this.site=null,this.x=this.y=this.ycenter=0},n.prototype.attachCircleEvent=function(t){var e=t.rbPrevious,n=t.rbNext;if(e&&n){var r=e.site,i=t.site,o=n.site;if(r!==o){var a=i.x,s=i.y,c=r.x-a,u=r.y-s,l=o.x-a,h=o.y-s,f=2*(c*h-u*l);if(!(f>=-2e-12)){var d=c*c+u*u,p=l*l+h*h,g=(h*d-u*p)/f,v=(c*p-l*d)/f,b=v+s,y=this.circleEventJunkyard.pop();y||(y=new this.CircleEvent),y.arc=t,y.site=i,y.x=g+a,y.y=b+this.sqrt(g*g+v*v),y.ycenter=b,t.circleEvent=y;for(var m=null,w=this.circleEvents.root;w;)if(y.y=s)return!1;if(f>p){if(!o||o.y=u)return!1;n=this.createVertex(v,u)}else{if(!o||o.y>u)o=this.createVertex(v,u);else if(o.y1)if(f>p){if(!o||o.y=u)return!1;n=this.createVertex((u-i)/r,u)}else{if(!o||o.y>u)o=this.createVertex((u-i)/r,u);else if(o.y=s)return!1;n=this.createVertex(s,r*s+i)}else{if(!o||o.x>s)o=this.createVertex(s,r*s+i);else if(o.x0){if(u>o)return!1;u>i&&(i=u)}if(c=e.xr-n,0===a&&c<0)return!1;if(u=c/a,a<0){if(u>o)return!1;u>i&&(i=u)}else if(a>0){if(u0){if(u>o)return!1;u>i&&(i=u)}if(c=e.yb-r,0===s&&c<0)return!1;if(u=c/s,s<0){if(u>o)return!1;u>i&&(i=u)}else if(s>0){if(u0&&(t.va=this.createVertex(n+i*a,r+i*s)),o<1&&(t.vb=this.createVertex(n+o*a,r+o*s)),(i>0||o<1)&&(this.cells[t.lSite.voronoiId].closeMe=!0,this.cells[t.rSite.voronoiId].closeMe=!0),!0},n.prototype.clipEdges=function(t){for(var e,n=this.edges,r=n.length,i=Math.abs;r--;)e=n[r],(!this.connectEdge(e,t)||!this.clipEdge(e,t)||i(e.va.x-e.vb.x)<1e-9&&i(e.va.y-e.vb.y)<1e-9)&&(e.va=e.vb=null,n.splice(r,1))},n.prototype.closeCells=function(t){for(var e,n,r,i,o,a,s,c,u,l=t.xl,h=t.xr,f=t.yt,d=t.yb,p=this.cells,g=p.length,v=Math.abs;g--;)if((e=p[g]).prepareHalfedges()&&e.closeMe){for(i=(r=e.halfedges).length,n=0;n=1e-9||v(a.y-c.y)>=1e-9)switch(!0){case this.equalWithEpsilon(a.x,l)&&this.lessThanWithEpsilon(a.y,d):if(u=this.equalWithEpsilon(c.x,l),s=this.createVertex(l,u?c.y:d),o=this.createBorderEdge(e.site,a,s),n++,r.splice(n,0,this.createHalfedge(o,e.site,null)),i++,u)break;a=s;case this.equalWithEpsilon(a.y,d)&&this.lessThanWithEpsilon(a.x,h):if(u=this.equalWithEpsilon(c.y,d),s=this.createVertex(u?c.x:h,d),o=this.createBorderEdge(e.site,a,s),n++,r.splice(n,0,this.createHalfedge(o,e.site,null)),i++,u)break;a=s;case this.equalWithEpsilon(a.x,h)&&this.greaterThanWithEpsilon(a.y,f):if(u=this.equalWithEpsilon(c.x,h),s=this.createVertex(h,u?c.y:f),o=this.createBorderEdge(e.site,a,s),n++,r.splice(n,0,this.createHalfedge(o,e.site,null)),i++,u)break;a=s;case this.equalWithEpsilon(a.y,f)&&this.greaterThanWithEpsilon(a.x,l):if(u=this.equalWithEpsilon(c.y,f),s=this.createVertex(u?c.x:l,f),o=this.createBorderEdge(e.site,a,s),n++,r.splice(n,0,this.createHalfedge(o,e.site,null)),i++,u)break;if(a=s,u=this.equalWithEpsilon(c.x,l),s=this.createVertex(l,u?c.y:d),o=this.createBorderEdge(e.site,a,s),n++,r.splice(n,0,this.createHalfedge(o,e.site,null)),i++,u)break;if(a=s,u=this.equalWithEpsilon(c.y,d),s=this.createVertex(u?c.x:h,d),o=this.createBorderEdge(e.site,a,s),n++,r.splice(n,0,this.createHalfedge(o,e.site,null)),i++,u)break;if(a=s,u=this.equalWithEpsilon(c.x,h),s=this.createVertex(h,u?c.y:f),o=this.createBorderEdge(e.site,a,s),n++,r.splice(n,0,this.createHalfedge(o,e.site,null)),i++,u)break;default:throw"Voronoi.closeCells() > this makes no sense!"}n++}e.closeMe=!1}},n.prototype.quantizeSites=function(t){for(var e,n=this.ε,r=t.length;r--;)(e=t[r]).x=Math.floor(e.x/n)*n,e.y=Math.floor(e.y/n)*n},n.prototype.recycle=function(t){if(t){if(!(t instanceof this.Diagram))throw"Voronoi.recycleDiagram() > Need a Diagram object.";this.toRecycle=t}},n.prototype.compute=function(t,e){var n=new Date;this.reset(),this.toRecycle&&(this.vertexJunkyard=this.vertexJunkyard.concat(this.toRecycle.vertices),this.edgeJunkyard=this.edgeJunkyard.concat(this.toRecycle.edges),this.cellJunkyard=this.cellJunkyard.concat(this.toRecycle.cells),this.toRecycle=null);var r=t.slice(0);r.sort((function(t,e){return e.y-t.y||e.x-t.x}));for(var i,o,a,s=r.pop(),c=0,u=this.cells;;)if(a=this.firstCircleEvent,s&&(!a||s.y{window,t.exports=function(t){var e={};function n(r){if(e[r])return e[r].exports;var i=e[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)n.d(r,i,function(e){return t[e]}.bind(null,i));return r},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=0)}([function(t,e,n){"use strict";var r=n(1),i=function(t){t&&t("core","svg",r.svg)};"undefined"!=typeof cytoscape&&i(cytoscape),t.exports=i},function(t,e,n){"use strict";var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i=n(2),o={},a=function(t){return null!=t&&(void 0===t?"undefined":r(t))===r(1)&&!isNaN(t)};o.bufferCanvasImage=function(t,e){var n=e.renderer().usePaths;e.renderer().usePaths=function(){return!1},e.elements().forEach((function(t){t._private.rscratch.pathCacheKey=null,t._private.rscratch.pathCache=null}));var r=e.renderer(),o=e.mutableElements().boundingBox(),s=r.findContainerClientCoords(),c=t.full?Math.ceil(o.w):s[2],u=t.full?Math.ceil(o.h):s[3],l=a(t.maxWidth)||a(t.maxHeight),h=r.getPixelRatio(),f=1;if(void 0!==t.scale)c*=t.scale,u*=t.scale,f=t.scale;else if(l){var d=1/0,p=1/0;a(t.maxWidth)&&(d=f*t.maxWidth/c),a(t.maxHeight)&&(p=f*t.maxHeight/u),c*=f=Math.min(d,p),u*=f}l||(c*=h,u*=h,f*=h);var g=null,v=g=new i(c,u);if(c>0&&u>0){g.clearRect(0,0,c,u),t.bg&&(g.globalCompositeOperation="destination-over",g.fillStyle=t.bg,g.fillRect(0,0,c,u)),g.globalCompositeOperation="source-over";var b=r.getCachedZSortedEles();if(t.full)g.translate(-o.x1*f,-o.y1*f),g.scale(f,f),r.drawElements(g,b),g.scale(1/f,1/f),g.translate(o.x1*f,o.y1*f);else{var y=e.pan(),m={x:y.x*f,y:y.y*f};f*=e.zoom(),g.translate(m.x,m.y),g.scale(f,f),r.drawElements(g,b),g.scale(1/f,1/f),g.translate(-m.x,-m.y)}}return e.renderer().usePaths=n,v},o.svg=function(t){return o.bufferCanvasImage(t||{},this).getSerializedSvg()},t.exports=o},function(t,e,n){!function(){"use strict";var e,n,r,i,o;function a(t,e){var n,r=Object.keys(e);for(n=0;n1?((e=r).width=arguments[0],e.height=arguments[1]):e=t||r,!(this instanceof n))return new n(e);this.width=e.width||r.width,this.height=e.height||r.height,this.enableMirroring=void 0!==e.enableMirroring?e.enableMirroring:r.enableMirroring,this.canvas=this,this.__document=e.document||document,e.ctx?this.__ctx=e.ctx:(this.__canvas=this.__document.createElement("canvas"),this.__ctx=this.__canvas.getContext("2d")),this.__setDefaultStyles(),this.__stack=[this.__getStyleState()],this.__groupStack=[],this.__root=this.__document.createElementNS("http://www.w3.org/2000/svg","svg"),this.__root.setAttribute("version",1.1),this.__root.setAttribute("xmlns","http://www.w3.org/2000/svg"),this.__root.setAttributeNS("http://www.w3.org/2000/xmlns/","xmlns:xlink","http://www.w3.org/1999/xlink"),this.__root.setAttribute("width",this.width),this.__root.setAttribute("height",this.height),this.__ids={},this.__defs=this.__document.createElementNS("http://www.w3.org/2000/svg","defs"),this.__root.appendChild(this.__defs),this.__currentElement=this.__document.createElementNS("http://www.w3.org/2000/svg","g"),this.__root.appendChild(this.__currentElement)}).prototype.__createElement=function(t,e,n){void 0===e&&(e={});var r,i,o=this.__document.createElementNS("http://www.w3.org/2000/svg",t),a=Object.keys(e);for(n&&(o.setAttribute("fill","none"),o.setAttribute("stroke","none")),r=0;r0){"path"===this.__currentElement.nodeName&&(this.__currentElementsToStyle||(this.__currentElementsToStyle={element:e,children:[]}),this.__currentElementsToStyle.children.push(this.__currentElement),this.__applyCurrentDefaultPath());var n=this.__createElement("g");e.appendChild(n),this.__currentElement=n}var r=this.__currentElement.getAttribute("transform");r?r+=" ":r="",r+=t,this.__currentElement.setAttribute("transform",r)},n.prototype.scale=function(t,e){void 0===e&&(e=t),this.__addTransform(a("scale({x},{y})",{x:t,y:e}))},n.prototype.rotate=function(t){var e=180*t/Math.PI;this.__addTransform(a("rotate({angle},{cx},{cy})",{angle:e,cx:0,cy:0}))},n.prototype.translate=function(t,e){this.__addTransform(a("translate({x},{y})",{x:t,y:e}))},n.prototype.transform=function(t,e,n,r,i,o){this.__addTransform(a("matrix({a},{b},{c},{d},{e},{f})",{a:t,b:e,c:n,d:r,e:i,f:o}))},n.prototype.beginPath=function(){var t;this.__currentDefaultPath="",this.__currentPosition={},t=this.__createElement("path",{},!0),this.__closestGroupOrSvg().appendChild(t),this.__currentElement=t},n.prototype.__applyCurrentDefaultPath=function(){var t=this.__currentElement;"path"===t.nodeName?t.setAttribute("d",this.__currentDefaultPath):console.error("Attempted to apply path command to node",t.nodeName)},n.prototype.__addPathCommand=function(t){this.__currentDefaultPath+=" ",this.__currentDefaultPath+=t},n.prototype.moveTo=function(t,e){"path"!==this.__currentElement.nodeName&&this.beginPath(),this.__currentPosition={x:t,y:e},this.__addPathCommand(a("M {x} {y}",{x:t,y:e}))},n.prototype.closePath=function(){this.__currentDefaultPath&&this.__addPathCommand("Z")},n.prototype.lineTo=function(t,e){this.__currentPosition={x:t,y:e},this.__currentDefaultPath.indexOf("M")>-1?this.__addPathCommand(a("L {x} {y}",{x:t,y:e})):this.__addPathCommand(a("M {x} {y}",{x:t,y:e}))},n.prototype.bezierCurveTo=function(t,e,n,r,i,o){this.__currentPosition={x:i,y:o},this.__addPathCommand(a("C {cp1x} {cp1y} {cp2x} {cp2y} {x} {y}",{cp1x:t,cp1y:e,cp2x:n,cp2y:r,x:i,y:o}))},n.prototype.quadraticCurveTo=function(t,e,n,r){this.__currentPosition={x:n,y:r},this.__addPathCommand(a("Q {cpx} {cpy} {x} {y}",{cpx:t,cpy:e,x:n,y:r}))};var u=function(t){var e=Math.sqrt(t[0]*t[0]+t[1]*t[1]);return[t[0]/e,t[1]/e]};n.prototype.arcTo=function(t,e,n,r,i){var o=this.__currentPosition&&this.__currentPosition.x,a=this.__currentPosition&&this.__currentPosition.y;if(void 0!==o&&void 0!==a){if(i<0)throw new Error("IndexSizeError: The radius provided ("+i+") is negative.");if(o===t&&a===e||t===n&&e===r||0===i)this.lineTo(t,e);else{var s=u([o-t,a-e]),c=u([n-t,r-e]);if(s[0]*c[1]!=s[1]*c[0]){var l=s[0]*c[0]+s[1]*c[1],h=Math.acos(Math.abs(l)),f=u([s[0]+c[0],s[1]+c[1]]),d=i/Math.sin(h/2),p=t+d*f[0],g=e+d*f[1],v=[-s[1],s[0]],b=[c[1],-c[0]],y=function(t){var e=t[0];return t[1]>=0?Math.acos(e):-Math.acos(e)},m=y(v),w=y(b);this.lineTo(p+v[0]*i,g+v[1]*i),this.arc(p,g,i,m,w)}else this.lineTo(t,e)}}},n.prototype.stroke=function(){"path"===this.__currentElement.nodeName&&this.__currentElement.setAttribute("paint-order","fill stroke markers"),this.__applyCurrentDefaultPath(),this.__applyStyleToCurrentElement("stroke")},n.prototype.fill=function(){"path"===this.__currentElement.nodeName&&this.__currentElement.setAttribute("paint-order","stroke fill markers"),this.__applyCurrentDefaultPath(),this.__applyStyleToCurrentElement("fill")},n.prototype.rect=function(t,e,n,r){"path"!==this.__currentElement.nodeName&&this.beginPath(),this.moveTo(t,e),this.lineTo(t+n,e),this.lineTo(t+n,e+r),this.lineTo(t,e+r),this.lineTo(t,e),this.closePath()},n.prototype.fillRect=function(t,e,n,r){var i;i=this.__createElement("rect",{x:t,y:e,width:n,height:r},!0),this.__closestGroupOrSvg().appendChild(i),this.__currentElement=i,this.__applyStyleToCurrentElement("fill")},n.prototype.strokeRect=function(t,e,n,r){var i;i=this.__createElement("rect",{x:t,y:e,width:n,height:r},!0),this.__closestGroupOrSvg().appendChild(i),this.__currentElement=i,this.__applyStyleToCurrentElement("stroke")},n.prototype.__clearCanvas=function(){for(var t=this.__closestGroupOrSvg().getAttribute("transform"),e=this.__root.childNodes[1],n=e.childNodes,r=n.length-1;r>=0;r--)n[r]&&e.removeChild(n[r]);this.__currentElement=e,this.__groupStack=[],t&&this.__addTransform(t)},n.prototype.clearRect=function(t,e,n,r){if(0!==t||0!==e||n!==this.width||r!==this.height){var i,o=this.__closestGroupOrSvg();i=this.__createElement("rect",{x:t,y:e,width:n,height:r,fill:"#FFFFFF"},!0),o.appendChild(i)}else this.__clearCanvas()},n.prototype.createLinearGradient=function(t,e,n,i){var o=this.__createElement("linearGradient",{id:s(this.__ids),x1:t+"px",x2:n+"px",y1:e+"px",y2:i+"px",gradientUnits:"userSpaceOnUse"},!1);return this.__defs.appendChild(o),new r(o,this)},n.prototype.createRadialGradient=function(t,e,n,i,o,a){var c=this.__createElement("radialGradient",{id:s(this.__ids),cx:i+"px",cy:o+"px",r:a+"px",fx:t+"px",fy:e+"px",gradientUnits:"userSpaceOnUse"},!1);return this.__defs.appendChild(c),new r(c,this)},n.prototype.__parseFont=function(){var t=/^\s*(?=(?:(?:[-a-z]+\s*){0,2}(italic|oblique))?)(?=(?:(?:[-a-z]+\s*){0,2}(small-caps))?)(?=(?:(?:[-a-z]+\s*){0,2}(bold(?:er)?|lighter|[1-9]00))?)(?:(?:normal|\1|\2|\3)\s*){0,3}((?:xx?-)?(?:small|large)|medium|smaller|larger|[.\d]+(?:\%|in|[cem]m|ex|p[ctx]))(?:\s*\/\s*(normal|[.\d]+(?:\%|in|[cem]m|ex|p[ctx])))?\s*([-,\'\"\sa-z0-9]+?)\s*$/i.exec(this.font),e={style:t[1]||"normal",size:t[4]||"10px",family:t[6]||"sans-serif",weight:t[3]||"normal",decoration:t[2]||"normal",href:null};return"underline"===this.__fontUnderline&&(e.decoration="underline"),this.__fontHref&&(e.href=this.__fontHref),e},n.prototype.__wrapTextLink=function(t,e){if(t.href){var n=this.__createElement("a");return n.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",t.href),n.appendChild(e),n}return e},n.prototype.__applyText=function(t,e,n,r){var i,o,a=this.__parseFont(),s=this.__closestGroupOrSvg(),u=this.__createElement("text",{"font-family":a.family,"font-size":a.size,"font-style":a.style,"font-weight":a.weight,"text-decoration":a.decoration,x:e,y:n,"text-anchor":(i=this.textAlign,o={left:"start",right:"end",center:"middle",start:"start",end:"end"},o[i]||o.start),"dominant-baseline":c(this.textBaseline)},!0);u.appendChild(this.__document.createTextNode(t)),this.__currentElement=u,this.__applyStyleToCurrentElement(r),s.appendChild(this.__wrapTextLink(a,u))},n.prototype.fillText=function(t,e,n){this.__applyText(t,e,n,"fill")},n.prototype.strokeText=function(t,e,n){this.__applyText(t,e,n,"stroke")},n.prototype.measureText=function(t){return this.__ctx.font=this.font,this.__ctx.measureText(t)},n.prototype.arc=function(t,e,n,r,i,o){if(r!==i){(r%=2*Math.PI)==(i%=2*Math.PI)&&(i=(i+2*Math.PI-.001*(o?-1:1))%(2*Math.PI));var s,c=t+n*Math.cos(i),u=e+n*Math.sin(i),l=t+n*Math.cos(r),h=e+n*Math.sin(r),f=o?0:1,d=i-r;d<0&&(d+=2*Math.PI),s=o?d>Math.PI?0:1:d>Math.PI?1:0,this.lineTo(l,h),this.__addPathCommand(a("A {rx} {ry} {xAxisRotation} {largeArcFlag} {sweepFlag} {endX} {endY}",{rx:n,ry:n,xAxisRotation:0,largeArcFlag:s,sweepFlag:f,endX:c,endY:u})),this.__currentPosition={x:c,y:u}}},n.prototype.clip=function(){var t=this.__closestGroupOrSvg(),e=this.__createElement("clipPath"),n=s(this.__ids),r=this.__createElement("g");this.__applyCurrentDefaultPath(),t.removeChild(this.__currentElement),e.setAttribute("id",n),e.appendChild(this.__currentElement),this.__defs.appendChild(e),t.setAttribute("clip-path",a("url(#{id})",{id:n})),t.appendChild(r),this.__currentElement=r},n.prototype.drawImage=function(){var t,e,r,i,o,a,s,c,u,l,h,f,d,p=Array.prototype.slice.call(arguments),g=p[0],v=0,b=0;if(3===p.length)t=p[1],e=p[2],r=o=g.width,i=a=g.height;else if(5===p.length)t=p[1],e=p[2],r=p[3],i=p[4],o=g.width,a=g.height;else{if(9!==p.length)throw new Error("Inavlid number of arguments passed to drawImage: "+arguments.length);v=p[1],b=p[2],o=p[3],a=p[4],t=p[5],e=p[6],r=p[7],i=p[8]}s=this.__closestGroupOrSvg(),this.__currentElement;var y="translate("+t+", "+e+")";if(g instanceof n){if((c=g.getSvg().cloneNode(!0)).childNodes&&c.childNodes.length>1){for(u=c.childNodes[0];u.childNodes.length;)d=u.childNodes[0].getAttribute("id"),this.__ids[d]=d,this.__defs.appendChild(u.childNodes[0]);if(l=c.childNodes[1]){var m,w=l.getAttribute("transform");m=w?w+" "+y:y,l.setAttribute("transform",m),s.appendChild(l)}}}else"CANVAS"!==g.nodeName&&"IMG"!==g.nodeName||((h=this.__createElement("image")).setAttribute("width",r),h.setAttribute("height",i),h.setAttribute("opacity",this.globalAlpha),h.setAttribute("preserveAspectRatio","none"),(f=this.__document.createElement("canvas")).width=r,f.height=i,f.getContext("2d").drawImage(g,v,b,o,a,0,0,r,i),g=f,h.setAttribute("transform",y),h.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href","CANVAS"===g.nodeName?g.toDataURL():g.getAttribute("src")),s.appendChild(h))},n.prototype.createPattern=function(t,e){var r,o=this.__document.createElementNS("http://www.w3.org/2000/svg","pattern"),a=s(this.__ids);return o.setAttribute("id",a),o.setAttribute("width",t.width),o.setAttribute("height",t.height),"CANVAS"===t.nodeName||"IMG"===t.nodeName?((r=this.__document.createElementNS("http://www.w3.org/2000/svg","image")).setAttribute("width",t.width),r.setAttribute("height",t.height),r.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href","CANVAS"===t.nodeName?t.toDataURL():t.getAttribute("src")),o.appendChild(r),this.__defs.appendChild(o)):t instanceof n&&(o.appendChild(t.__root.childNodes[1]),this.__defs.appendChild(o)),new i(o,this)},n.prototype.setLineDash=function(t){t&&t.length>0?this.lineDash=t.join(","):this.lineDash=null},n.prototype.drawFocusRing=function(){},n.prototype.createImageData=function(){},n.prototype.getImageData=function(){},n.prototype.putImageData=function(){},n.prototype.globalCompositeOperation=function(){},n.prototype.setTransform=function(){},"object"==typeof window&&(window.C2S=n),"object"==typeof t.exports&&(t.exports=n)}()}])},9058:(t,e,n)=>{"use strict";var r=n(3279),i=n(4485),o=n(7361),a=n(6968),s=n(84);function c(t){return t&&"object"==typeof t&&"default"in t?t:{default:t}}var u=c(r),l=c(i),h=c(o),f=c(a),d=c(s);function p(t){return p="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},p(t)}function g(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function v(t,e){for(var n=0;nt.length)&&(e=t.length);for(var n=0,r=new Array(e);ne?1:0},Q=null!=Object.assign?Object.assign.bind(Object):function(t){for(var e=arguments,n=1;n1&&void 0!==arguments[1]?arguments[1]:st;!(e=t.next()).done;)n=65599*n+e.value|0;return n},lt=function(t){return 65599*(arguments.length>1&&void 0!==arguments[1]?arguments[1]:st)+t|0},ht=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:ct;return(e<<5)+e+t|0},ft=function(t){return 2097152*t[0]+t[1]},dt=function(t,e){return[lt(t[0],e[0]),ht(t[1],e[1])]},pt=function(t,e){var n={value:0,done:!1},r=0,i=t.length;return ut({next:function(){return r=0&&(t[r]!==e||(t.splice(r,1),!n));r--);},Pt=function(t){t.splice(0,t.length)},Dt=function(t,e,n){return n&&(e=U(n,e)),t[e]},Rt=function(t,e,n,r){n&&(e=U(n,e)),t[e]=r},jt="undefined"!=typeof Map?Map:function(){function t(){g(this,t),this._obj={}}return b(t,[{key:"set",value:function(t,e){return this._obj[t]=e,this}},{key:"delete",value:function(t){return this._obj[t]=void 0,this}},{key:"clear",value:function(){this._obj={}}},{key:"has",value:function(t){return void 0!==this._obj[t]}},{key:"get",value:function(t){return this._obj[t]}}]),t}(),Gt=function(){function t(e){if(g(this,t),this._obj=Object.create(null),this.size=0,null!=e){var n;n=null!=e.instanceString&&e.instanceString()===this.instanceString()?e.toArray():e;for(var r=0;r2&&void 0!==arguments[2])||arguments[2];if(void 0!==t&&void 0!==e&&j(t)){var r=e.group;if(null==r&&(r=e.data&&null!=e.data.source&&null!=e.data.target?"edges":"nodes"),"nodes"===r||"edges"===r){this.length=1,this[0]=this;var i=this._private={cy:t,single:!0,data:e.data||{},position:e.position||{x:0,y:0},autoWidth:void 0,autoHeight:void 0,autoPadding:void 0,compoundBoundsClean:!1,listeners:[],group:r,style:{},rstyle:{},styleCxts:[],styleKeys:{},removed:!0,selected:!!e.selected,selectable:void 0===e.selectable||!!e.selectable,locked:!!e.locked,grabbed:!1,grabbable:void 0===e.grabbable||!!e.grabbable,pannable:void 0===e.pannable?"edges"===r:!!e.pannable,active:!1,classes:new Bt,animation:{current:[],queue:[]},rscratch:{},scratch:e.scratch||{},edges:[],children:[],parent:e.parent&&e.parent.isNode()?e.parent:null,traversalCache:{},backgrounding:!1,bbCache:null,bbCacheShift:{x:0,y:0},bodyBounds:null,overlayBounds:null,labelBounds:{all:null,source:null,target:null,main:null},arrowBounds:{source:null,target:null,"mid-source":null,"mid-target":null}};if(null==i.position.x&&(i.position.x=0),null==i.position.y&&(i.position.y=0),e.renderedPosition){var o=e.renderedPosition,a=t.pan(),s=t.zoom();i.position={x:(o.x-a.x)/s,y:(o.y-a.y)/s}}var c=[];O(e.classes)?c=e.classes:A(e.classes)&&(c=e.classes.split(/\s+/));for(var u=0,l=c.length;u0;){var _=y.pop(),E=v(_),k=_.id();if(f[k]=E,E!==1/0)for(var T=_.neighborhood().intersect(p),C=0;C0)for(n.unshift(e);h[i];){var o=h[i];n.unshift(o.edge),n.unshift(o.node),i=(r=o.node).id()}return a.spawn(n)}}}},Vt={kruskal:function(t){t=t||function(t){return 1};for(var e=this.byGroup(),n=e.nodes,r=e.edges,i=n.length,o=new Array(i),a=n,s=function(t){for(var e=0;e0;){if(u=(c=v.pop()).id(),b.delete(u),_++,u===f){for(var E=[],k=i,T=f,C=m[T];E.unshift(k),null!=C&&E.unshift(C),null!=(k=y[T]);)C=m[T=k.id()];return{found:!0,distance:d[u],path:this.spawn(E),steps:_}}g[u]=!0;for(var N=c._private.edges,A=0;AC&&(d[T]=C,b[T]=k,y[T]=w),!i){var N=k*u+E;!i&&d[N]>C&&(d[N]=C,b[N]=E,y[N]=w)}}}for(var S=0;S1&&void 0!==arguments[1]?arguments[1]:o,r=[],i=y(t);;){if(null==i)return e.spawn();var a=b(i),c=a.edge,u=a.pred;if(r.unshift(i[0]),i.same(n)&&r.length>0)break;null!=c&&r.unshift(c),i=u}return s.spawn(r)},hasNegativeWeightCycle:p,negativeWeightCycles:g}}},Qt=Math.sqrt(2),Jt=function(t,e,n){0===n.length&&Tt("Karger-Stein must be run on a connected (sub)graph");for(var r=n[t],i=r[1],o=r[2],a=e[i],s=e[o],c=n,u=c.length-1;u>=0;u--){var l=c[u],h=l[1],f=l[2];(e[h]===a&&e[f]===s||e[h]===s&&e[f]===a)&&c.splice(u,1)}for(var d=0;dr;){var i=Math.floor(Math.random()*e.length);e=Jt(i,t,e),n--}return e},ee={kargerStein:function(){var t=this,e=this.byGroup(),n=e.nodes,r=e.edges;r.unmergeBy((function(t){return t.isLoop()}));var i=n.length,o=r.length,a=Math.ceil(Math.pow(Math.log(i)/Math.LN2,2)),s=Math.floor(i/Qt);if(!(i<2)){for(var c=[],u=0;u0?1:t<0?-1:0},ce=function(t,e){return Math.sqrt(ue(t,e))},ue=function(t,e){var n=e.x-t.x,r=e.y-t.y;return n*n+r*r},le=function(t){for(var e=t.length,n=0,r=0;r=t.x1&&t.y2>=t.y1)return{x1:t.x1,y1:t.y1,x2:t.x2,y2:t.y2,w:t.x2-t.x1,h:t.y2-t.y1};if(null!=t.w&&null!=t.h&&t.w>=0&&t.h>=0)return{x1:t.x1,y1:t.y1,x2:t.x1+t.w,y2:t.y1+t.h,w:t.w,h:t.h}}},ge=function(t,e){t.x1=Math.min(t.x1,e.x1),t.x2=Math.max(t.x2,e.x2),t.w=t.x2-t.x1,t.y1=Math.min(t.y1,e.y1),t.y2=Math.max(t.y2,e.y2),t.h=t.y2-t.y1},ve=function(t,e,n){t.x1=Math.min(t.x1,e),t.x2=Math.max(t.x2,e),t.w=t.x2-t.x1,t.y1=Math.min(t.y1,n),t.y2=Math.max(t.y2,n),t.h=t.y2-t.y1},be=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return t.x1-=e,t.x2+=e,t.y1-=e,t.y2+=e,t.w=t.x2-t.x1,t.h=t.y2-t.y1,t},ye=function(t){var e,n,r,i,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[0];if(1===o.length)e=n=r=i=o[0];else if(2===o.length)e=r=o[0],i=n=o[1];else if(4===o.length){var a=m(o,4);e=a[0],n=a[1],r=a[2],i=a[3]}return t.x1-=i,t.x2+=n,t.y1-=e,t.y2+=r,t.w=t.x2-t.x1,t.h=t.y2-t.y1,t},me=function(t,e){t.x1=e.x1,t.y1=e.y1,t.x2=e.x2,t.y2=e.y2,t.w=t.x2-t.x1,t.h=t.y2-t.y1},we=function(t,e){return!(t.x1>e.x2||e.x1>t.x2||t.x2e.y2||e.y1>t.y2)},xe=function(t,e,n){return t.x1<=e&&e<=t.x2&&t.y1<=n&&n<=t.y2},_e=function(t,e){return xe(t,e.x1,e.y1)&&xe(t,e.x2,e.y2)},Ee=function(t,e,n,r,i,o,a){var s,c=He(i,o),u=i/2,l=o/2,h=r-l-a;if((s=De(t,e,n,r,n-u+c-a,h,n+u-c+a,h,!1)).length>0)return s;var f=n+u+a;if((s=De(t,e,n,r,f,r-l+c-a,f,r+l-c+a,!1)).length>0)return s;var d=r+l+a;if((s=De(t,e,n,r,n-u+c-a,d,n+u-c+a,d,!1)).length>0)return s;var p,g=n-u-a;if((s=De(t,e,n,r,g,r-l+c-a,g,r+l-c+a,!1)).length>0)return s;var v=n-u+c,b=r-l+c;if((p=Me(t,e,n,r,v,b,c+a)).length>0&&p[0]<=v&&p[1]<=b)return[p[0],p[1]];var y=n+u-c,m=r-l+c;if((p=Me(t,e,n,r,y,m,c+a)).length>0&&p[0]>=y&&p[1]<=m)return[p[0],p[1]];var w=n+u-c,x=r+l-c;if((p=Me(t,e,n,r,w,x,c+a)).length>0&&p[0]>=w&&p[1]>=x)return[p[0],p[1]];var _=n-u+c,E=r+l-c;return(p=Me(t,e,n,r,_,E,c+a)).length>0&&p[0]<=_&&p[1]>=E?[p[0],p[1]]:[]},ke=function(t,e,n,r,i,o,a){var s=a,c=Math.min(n,i),u=Math.max(n,i),l=Math.min(r,o),h=Math.max(r,o);return c-s<=t&&t<=u+s&&l-s<=e&&e<=h+s},Te=function(t,e,n,r,i,o,a,s,c){var u=Math.min(n,a,i)-c,l=Math.max(n,a,i)+c,h=Math.min(r,s,o)-c,f=Math.max(r,s,o)+c;return!(tl||ef)},Ce=function(t,e,n,r,i,o,a,s){var c,u,l,h,f,d,p,g,v,b,y,m,w,x=[];u=9*n*i-3*n*n-3*n*a-6*i*i+3*i*a+9*r*o-3*r*r-3*r*s-6*o*o+3*o*s,l=3*n*n-6*n*i+n*a-n*t+2*i*i+2*i*t-a*t+3*r*r-6*r*o+r*s-r*e+2*o*o+2*o*e-s*e,h=1*n*i-n*n+n*t-i*t+r*o-r*r+r*e-o*e,0===(c=1*n*n-4*n*i+2*n*a+4*i*i-4*i*a+a*a+r*r-4*r*o+2*r*s+4*o*o-4*o*s+s*s)&&(c=1e-5),g=-27*(h/=c)+(u/=c)*(9*(l/=c)-u*u*2),d=(p=(3*l-u*u)/9)*p*p+(g/=54)*g,(f=x)[1]=0,m=u/3,d>0?(b=(b=g+Math.sqrt(d))<0?-Math.pow(-b,1/3):Math.pow(b,1/3),y=(y=g-Math.sqrt(d))<0?-Math.pow(-y,1/3):Math.pow(y,1/3),f[0]=-m+b+y,m+=(b+y)/2,f[4]=f[2]=-m,m=Math.sqrt(3)*(-y+b)/2,f[3]=m,f[5]=-m):(f[5]=f[3]=0,0===d?(w=g<0?-Math.pow(-g,1/3):Math.pow(g,1/3),f[0]=2*w-m,f[4]=f[2]=-(w+m)):(v=(p=-p)*p*p,v=Math.acos(g/Math.sqrt(v)),w=2*Math.sqrt(p),f[0]=-m+w*Math.cos(v/3),f[2]=-m+w*Math.cos((v+2*Math.PI)/3),f[4]=-m+w*Math.cos((v+4*Math.PI)/3)));for(var _=[],E=0;E<6;E+=2)Math.abs(x[E+1])<1e-7&&x[E]>=0&&x[E]<=1&&_.push(x[E]);_.push(1),_.push(0);for(var k,T,C,N=-1,A=0;A<_.length;A++)k=Math.pow(1-_[A],2)*n+2*(1-_[A])*_[A]*i+_[A]*_[A]*a,T=Math.pow(1-_[A],2)*r+2*(1-_[A])*_[A]*o+_[A]*_[A]*s,C=Math.pow(k-t,2)+Math.pow(T-e,2),N>=0?Cc?(t-i)*(t-i)+(e-o)*(e-o):u-h},Ae=function(t,e,n){for(var r,i,o,a,s=0,c=0;c=t&&t>=o||r<=t&&t<=o))continue;(t-r)/(o-r)*(a-i)+i>e&&s++}return s%2!=0},Se=function(t,e,n,r,i,o,a,s,c){var u,l=new Array(n.length);null!=s[0]?(u=Math.atan(s[1]/s[0]),s[0]<0?u+=Math.PI/2:u=-u-Math.PI/2):u=s;for(var h,f=Math.cos(-u),d=Math.sin(-u),p=0;p0){var g=Le(l,-c);h=Oe(g)}else h=l;return Ae(t,e,h)},Oe=function(t){for(var e,n,r,i,o,a,s,c,u=new Array(t.length/2),l=0;l=0&&p<=1&&v.push(p),g>=0&&g<=1&&v.push(g),0===v.length)return[];var b=v[0]*s[0]+t,y=v[0]*s[1]+e;return v.length>1?v[0]==v[1]?[b,y]:[b,y,v[1]*s[0]+t,v[1]*s[1]+e]:[b,y]},Pe=function(t,e,n){return e<=t&&t<=n||n<=t&&t<=e?t:t<=e&&e<=n||n<=e&&e<=t?e:n},De=function(t,e,n,r,i,o,a,s,c){var u=t-i,l=n-t,h=a-i,f=e-o,d=r-e,p=s-o,g=h*f-p*u,v=l*f-d*u,b=p*l-h*d;if(0!==b){var y=g/b,m=v/b,w=-.001;return w<=y&&y<=1.001&&w<=m&&m<=1.001||c?[t+y*l,e+y*d]:[]}return 0===g||0===v?Pe(t,n,a)===a?[a,s]:Pe(t,n,i)===i?[i,o]:Pe(i,a,n)===n?[n,r]:[]:[]},Re=function(t,e,n,r,i,o,a,s){var c,u,l,h,f,d,p=[],g=new Array(n.length),v=!0;if(null==o&&(v=!1),v){for(var b=0;b0){var y=Le(g,-s);u=Oe(y)}else u=g}else u=n;for(var m=0;mu&&(u=e)},f=function(t){return c[t]},d=0;d0?x.edgesTo(w)[0]:w.edgesTo(x)[0];var _=r(m);w=w.id(),d[w]>d[b]+_&&(d[w]=d[b]+_,p.nodes.indexOf(w)<0?p.push(w):p.updateItem(w),u[w]=0,c[w]=[]),d[w]==d[b]+_&&(u[w]=u[w]+u[b],c[w].push(b))}else for(var E=0;E0;){for(var N=n.pop(),A=0;A0&&a.push(n[s]);0!==a.length&&i.push(r.collection(a))}return i}(l,c,e,r);return m=function(t){for(var e=0;e5&&void 0!==arguments[5]?arguments[5]:un,a=r,s=0;s=2?gn(t,e,n,0,fn,dn):gn(t,e,n,0,hn)},squaredEuclidean:function(t,e,n){return gn(t,e,n,0,fn)},manhattan:function(t,e,n){return gn(t,e,n,0,hn)},max:function(t,e,n){return gn(t,e,n,-1/0,pn)}};function bn(t,e,n,r,i,o){var a;return a=S(t)?t:vn[t]||vn.euclidean,0===e&&S(t)?a(i,o):a(e,n,r,i,o)}vn["squared-euclidean"]=vn.squaredEuclidean,vn.squaredeuclidean=vn.squaredEuclidean;var yn=It({k:2,m:2,sensitivityThreshold:1e-4,distance:"euclidean",maxIterations:10,attributes:[],testMode:!1,testCentroids:null}),mn=function(t){return yn(t)},wn=function(t,e,n,r,i){var o="kMedoids"!==i?function(t){return n[t]}:function(t){return r[t](n)},a=n,s=e;return bn(t,r.length,o,(function(t){return r[t](e)}),a,s)},xn=function(t,e,n){for(var r=n.length,i=new Array(r),o=new Array(r),a=new Array(e),s=null,c=0;cn)return!1;return!0},Tn=function(t,e,n){for(var r=0;ri&&(i=e[c][u],o=u);a[o].push(t[c])}for(var l=0;l=i.threshold||"dendrogram"===i.mode&&1===t.length)return!1;var d,p=e[a],g=e[r[a]];d="dendrogram"===i.mode?{left:p,right:g,key:p.key}:{value:p.value.concat(g.value),key:p.key},t[p.index]=d,t.splice(g.index,1),e[p.key]=d;for(var v=0;vn[g.key][b.key]&&(o=n[g.key][b.key])):"max"===i.linkage?(o=n[p.key][b.key],n[p.key][b.key]a&&(o=c,a=e[i*t+c])}o>0&&r.push(o)}for(var u=0;u1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t.length,r=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],i=!(arguments.length>5&&void 0!==arguments[5])||arguments[5];arguments.length>3&&void 0!==arguments[3]&&!arguments[3]?(n0&&t.splice(0,e)):t=t.slice(e,n);for(var o=0,a=t.length-1;a>=0;a--){var s=t[a];i?isFinite(s)||(t[a]=-1/0,o++):t.splice(a,1)}r&&t.sort((function(t,e){return t-e}));var c=t.length,u=Math.floor(c/2);return c%2!=0?t[u+1+o]:(t[u-1+o]+t[u+o])/2}(t):"mean"===e?function(t){for(var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t.length,r=0,i=0,o=e;o1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t.length,r=1/0,i=e;i1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t.length,r=-1/0,i=e;i=C?(N=C,C=S,A=O):S>N&&(N=S);for(var L=0;L0?1:0;E[_%u.minIterations*e+G]=B,j+=B}if(j>0&&(_>=u.minIterations-1||_==u.maxIterations-1)){for(var F=0,H=0;H0&&r.push(i);return r}(e,o,a),U=function(t,e,n){for(var r=Yn(t,e,n),i=0;ic&&(s=u,c=l)}n[i]=o[s]}return Yn(t,e,n)}(e,r,z),V={},q=0;q1)}}));var c=Object.keys(e).filter((function(t){return e[t].cutVertex})).map((function(e){return t.getElementById(e)}));return{cut:t.spawn(c),components:i}},Xn=function(){var t=this,e={},n=0,r=[],i=[],o=t.spawn(t),a=function a(s){if(i.push(s),e[s]={index:n,low:n++,explored:!1},t.getElementById(s).connectedEdges().intersection(t).forEach((function(t){var n=t.target().id();n!==s&&(n in e||a(n),e[n].explored||(e[s].low=Math.min(e[s].low,e[n].low)))})),e[s].index===e[s].low){for(var c=t.spawn();;){var u=i.pop();if(c.merge(t.getElementById(u)),e[u].low=e[s].index,e[u].explored=!0,u===s)break}var l=c.edgesWith(c),h=c.merge(l);r.push(h),o=o.difference(h)}};return t.forEach((function(t){if(t.isNode()){var n=t.id();n in e||a(n)}})),{cut:o,components:r}},Wn={};[Yt,Ut,Vt,Xt,$t,Kt,ee,Ve,Xe,$e,Ke,cn,Ln,Bn,Un,{hierholzer:function(t){if(!L(t)){var e=arguments;t={root:e[0],directed:e[1]}}var n,r,i,o=Vn(t),a=o.root,s=o.directed,c=this,u=!1;a&&(i=A(a)?this.filter(a)[0].id():a[0].id());var l={},h={};s?c.forEach((function(t){var e=t.id();if(t.isNode()){var i=t.indegree(!0),o=t.outdegree(!0),a=i-o,s=o-i;1==a?n?u=!0:n=e:1==s?r?u=!0:r=e:(s>1||a>1)&&(u=!0),l[e]=[],t.outgoers().forEach((function(t){t.isEdge()&&l[e].push(t.id())}))}else h[e]=[void 0,t.target().id()]})):c.forEach((function(t){var e=t.id();t.isNode()?(t.degree(!0)%2&&(n?r?u=!0:r=e:n=e),l[e]=[],t.connectedEdges().forEach((function(t){return l[e].push(t.id())}))):h[e]=[t.source().id(),t.target().id()]}));var f={found:!1,trail:void 0};if(u)return f;if(r&&n)if(s){if(i&&r!=i)return f;i=r}else{if(i&&r!=i&&n!=i)return f;i||(i=r)}else i||(i=c[0].id());var d=function(t){for(var e,n,r,i=t,o=[t];l[i].length;)e=l[i].shift(),n=h[e][0],i!=(r=h[e][1])?(l[r]=l[r].filter((function(t){return t!=e})),i=r):s||i==n||(l[n]=l[n].filter((function(t){return t!=e})),i=n),o.unshift(e),o.unshift(i);return o},p=[],g=[];for(g=d(i);1!=g.length;)0==l[g[0]].length?(p.unshift(c.getElementById(g.shift())),p.unshift(c.getElementById(g.shift()))):g=d(g.shift()).concat(g);for(var v in p.unshift(c.getElementById(g.shift())),l)if(l[v].length)return f;return f.found=!0,f.trail=this.spawn(p,!0),f}},{hopcroftTarjanBiconnected:qn,htbc:qn,htb:qn,hopcroftTarjanBiconnectedComponents:qn},{tarjanStronglyConnected:Xn,tsc:Xn,tscc:Xn,tarjanStronglyConnectedComponents:Xn}].forEach((function(t){Q(Wn,t)}));var $n=function t(e){if(!(this instanceof t))return new t(e);this.id="Thenable/1.0.7",this.state=0,this.fulfillValue=void 0,this.rejectReason=void 0,this.onFulfilled=[],this.onRejected=[],this.proxy={then:this.then.bind(this)},"function"==typeof e&&e.call(this,this.fulfill.bind(this),this.reject.bind(this))};$n.prototype={fulfill:function(t){return Zn(this,1,"fulfillValue",t)},reject:function(t){return Zn(this,2,"rejectReason",t)},then:function(t,e){var n=this,r=new $n;return n.onFulfilled.push(Jn(t,r,"fulfill")),n.onRejected.push(Jn(e,r,"reject")),Kn(n),r.proxy}};var Zn=function(t,e,n,r){return 0===t.state&&(t.state=e,t[n]=r,Kn(t)),t},Kn=function(t){1===t.state?Qn(t,"onFulfilled",t.fulfillValue):2===t.state&&Qn(t,"onRejected",t.rejectReason)},Qn=function(t,e,n){if(0!==t[e].length){var r=t[e];t[e]=[];var i=function(){for(var t=0;t0:void 0}},clearQueue:function(){return function(){var t=this,e=void 0!==t.length?t:[t];if(!(this._private.cy||this).styleEnabled())return this;for(var n=0;n0&&this.spawn(r).updateStyle().emit("class"),e},addClass:function(t){return this.toggleClass(t,!0)},hasClass:function(t){var e=this[0];return null!=e&&e._private.classes.has(t)},toggleClass:function(t,e){O(t)||(t=t.match(/\S+/g)||[]);for(var n=this,r=void 0===e,i=[],o=0,a=n.length;o0&&this.spawn(i).updateStyle().emit("class"),n},removeClass:function(t){return this.toggleClass(t,!1)},flashClass:function(t,e){var n=this;if(null==e)e=250;else if(0===e)return n;return n.addClass(t),setTimeout((function(){n.removeClass(t)}),e),n}};ur.className=ur.classNames=ur.classes;var lr={metaChar:"[\\!\\\"\\#\\$\\%\\&\\'\\(\\)\\*\\+\\,\\.\\/\\:\\;\\<\\=\\>\\?\\@\\[\\]\\^\\`\\{\\|\\}\\~]",comparatorOp:"=|\\!=|>|>=|<|<=|\\$=|\\^=|\\*=",boolOp:"\\?|\\!|\\^",string:"\"(?:\\\\\"|[^\"])*\"|'(?:\\\\'|[^'])*'",number:q,meta:"degree|indegree|outdegree",separator:"\\s*,\\s*",descendant:"\\s+",child:"\\s+>\\s+",subject:"\\$",group:"node|edge|\\*",directedEdge:"\\s+->\\s+",undirectedEdge:"\\s+<->\\s+"};lr.variable="(?:[\\w-.]|(?:\\\\"+lr.metaChar+"))+",lr.className="(?:[\\w-]|(?:\\\\"+lr.metaChar+"))+",lr.value=lr.string+"|"+lr.number,lr.id=lr.variable,function(){var t,e,n;for(t=lr.comparatorOp.split("|"),n=0;n=0||"="!==e&&(lr.comparatorOp+="|\\!"+e)}();var hr=20,fr=[{selector:":selected",matches:function(t){return t.selected()}},{selector:":unselected",matches:function(t){return!t.selected()}},{selector:":selectable",matches:function(t){return t.selectable()}},{selector:":unselectable",matches:function(t){return!t.selectable()}},{selector:":locked",matches:function(t){return t.locked()}},{selector:":unlocked",matches:function(t){return!t.locked()}},{selector:":visible",matches:function(t){return t.visible()}},{selector:":hidden",matches:function(t){return!t.visible()}},{selector:":transparent",matches:function(t){return t.transparent()}},{selector:":grabbed",matches:function(t){return t.grabbed()}},{selector:":free",matches:function(t){return!t.grabbed()}},{selector:":removed",matches:function(t){return t.removed()}},{selector:":inside",matches:function(t){return!t.removed()}},{selector:":grabbable",matches:function(t){return t.grabbable()}},{selector:":ungrabbable",matches:function(t){return!t.grabbable()}},{selector:":animated",matches:function(t){return t.animated()}},{selector:":unanimated",matches:function(t){return!t.animated()}},{selector:":parent",matches:function(t){return t.isParent()}},{selector:":childless",matches:function(t){return t.isChildless()}},{selector:":child",matches:function(t){return t.isChild()}},{selector:":orphan",matches:function(t){return t.isOrphan()}},{selector:":nonorphan",matches:function(t){return t.isChild()}},{selector:":compound",matches:function(t){return t.isNode()?t.isParent():t.source().isParent()||t.target().isParent()}},{selector:":loop",matches:function(t){return t.isLoop()}},{selector:":simple",matches:function(t){return t.isSimple()}},{selector:":active",matches:function(t){return t.active()}},{selector:":inactive",matches:function(t){return!t.active()}},{selector:":backgrounding",matches:function(t){return t.backgrounding()}},{selector:":nonbackgrounding",matches:function(t){return!t.backgrounding()}}].sort((function(t,e){return function(t,e){return-1*K(t,e)}(t.selector,e.selector)})),dr=function(){for(var t,e={},n=0;n0&&u.edgeCount>0)return Nt("The selector `"+t+"` is invalid because it uses both a compound selector and an edge selector"),!1;if(u.edgeCount>1)return Nt("The selector `"+t+"` is invalid because it uses multiple edge selectors"),!1;1===u.edgeCount&&Nt("The selector `"+t+"` is deprecated. Edge selectors do not take effect on changes to source and target nodes after an edge is added, for performance reasons. Use a class or data selector on edges instead, updating the class or data of an edge when your app detects a change in source or target nodes.")}return!0},toString:function(){if(null!=this.toStringCache)return this.toStringCache;for(var t=function(t){return null==t?"":t},e=function(e){return A(e)?'"'+e+'"':t(e)},n=function(t){return" "+t+" "},r=function(i,o){return i.checks.reduce((function(a,s,c){return a+(o===i&&0===c?"$":"")+function(i,o){var a=i.type,s=i.value;switch(a){case 0:var c=t(s);return c.substring(0,c.length-1);case 3:var u=i.field,l=i.operator;return"["+u+n(t(l))+e(s)+"]";case 5:var h=i.operator,f=i.field;return"["+t(h)+f+"]";case 4:return"["+i.field+"]";case 6:var d=i.operator;return"[["+i.field+n(t(d))+e(s)+"]]";case 7:return s;case 8:return"#"+s;case 9:return"."+s;case 17:case 15:return r(i.parent,o)+n(">")+r(i.child,o);case 18:case 16:return r(i.ancestor,o)+" "+r(i.descendant,o);case 19:var p=r(i.left,o),g=r(i.subject,o),v=r(i.right,o);return p+(p.length>0?" ":"")+g+v;case hr:return""}}(s,o)}),"")},i="",o=0;o1&&o=0&&(e=e.replace("!",""),l=!0),e.indexOf("@")>=0&&(e=e.replace("@",""),u=!0),(a||c||u)&&(i=a||s?""+t:"",o=""+n),u&&(t=i=i.toLowerCase(),n=o=o.toLowerCase()),e){case"*=":r=i.indexOf(o)>=0;break;case"$=":r=i.indexOf(o,i.length-o.length)>=0;break;case"^=":r=0===i.indexOf(o);break;case"=":r=t===n;break;case">":h=!0,r=t>n;break;case">=":h=!0,r=t>=n;break;case"<":h=!0,r=t0;){var u=i.shift();e(u),o.add(u.id()),a&&r(i,o,u)}return t}function Mr(t,e,n){if(n.isParent())for(var r=n._private.children,i=0;i1&&void 0!==arguments[1])||arguments[1],Mr)},Lr.forEachUp=function(t){return Ir(this,t,!(arguments.length>1&&void 0!==arguments[1])||arguments[1],Pr)},Lr.forEachUpAndDown=function(t){return Ir(this,t,!(arguments.length>1&&void 0!==arguments[1])||arguments[1],Dr)},Lr.ancestors=Lr.parents,(Ar=Sr={data:sr.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),removeData:sr.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),scratch:sr.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:sr.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),rscratch:sr.data({field:"rscratch",allowBinding:!1,allowSetting:!0,settingTriggersEvent:!1,allowGetting:!0}),removeRscratch:sr.removeData({field:"rscratch",triggerEvent:!1}),id:function(){var t=this[0];if(t)return t._private.data.id}}).attr=Ar.data,Ar.removeAttr=Ar.removeData;var Rr,jr,Gr=Sr,Br={};function Fr(t){return function(e){var n=this;if(void 0===e&&(e=!0),0!==n.length&&n.isNode()&&!n.removed()){for(var r=0,i=n[0],o=i._private.edges,a=0;ae})),minIndegree:Hr("indegree",(function(t,e){return te})),minOutdegree:Hr("outdegree",(function(t,e){return te}))}),Q(Br,{totalDegree:function(t){for(var e=0,n=this.nodes(),r=0;r0,l=u;u&&(c=c[0]);var h=l?c.position():{x:0,y:0};return i={x:s.x-h.x,y:s.y-h.y},void 0===t?i:i[t]}for(var f=0;f0,v=g;g&&(p=p[0]);var b=v?p.position():{x:0,y:0};void 0!==e?d.position(t,e+b[t]):void 0!==i&&d.position({x:i.x+b.x,y:i.y+b.y})}}else if(!o)return;return this}},Rr.modelPosition=Rr.point=Rr.position,Rr.modelPositions=Rr.points=Rr.positions,Rr.renderedPoint=Rr.renderedPosition,Rr.relativePoint=Rr.relativePosition;var Ur,Vr,qr=jr;Ur=Vr={},Vr.renderedBoundingBox=function(t){var e=this.boundingBox(t),n=this.cy(),r=n.zoom(),i=n.pan(),o=e.x1*r+i.x,a=e.x2*r+i.x,s=e.y1*r+i.y,c=e.y2*r+i.y;return{x1:o,x2:a,y1:s,y2:c,w:a-o,h:c-s}},Vr.dirtyCompoundBoundsCache=function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0],e=this.cy();return e.styleEnabled()&&e.hasCompoundNodes()?(this.forEachUp((function(e){if(e.isParent()){var n=e._private;n.compoundBoundsClean=!1,n.bbCache=null,t||e.emitAndNotify("bounds")}})),this):this},Vr.updateCompoundBounds=function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0],e=this.cy();if(!e.styleEnabled()||!e.hasCompoundNodes())return this;if(!t&&e.batching())return this;function n(t){if(t.isParent()){var e=t._private,n=t.children(),r="include"===t.pstyle("compound-sizing-wrt-labels").value,i={width:{val:t.pstyle("min-width").pfValue,left:t.pstyle("min-width-bias-left"),right:t.pstyle("min-width-bias-right")},height:{val:t.pstyle("min-height").pfValue,top:t.pstyle("min-height-bias-top"),bottom:t.pstyle("min-height-bias-bottom")}},o=n.boundingBox({includeLabels:r,includeOverlays:!1,useCache:!1}),a=e.position;0!==o.w&&0!==o.h||((o={w:t.pstyle("width").pfValue,h:t.pstyle("height").pfValue}).x1=a.x-o.w/2,o.x2=a.x+o.w/2,o.y1=a.y-o.h/2,o.y2=a.y+o.h/2);var s=i.width.left.value;"px"===i.width.left.units&&i.width.val>0&&(s=100*s/i.width.val);var c=i.width.right.value;"px"===i.width.right.units&&i.width.val>0&&(c=100*c/i.width.val);var u=i.height.top.value;"px"===i.height.top.units&&i.height.val>0&&(u=100*u/i.height.val);var l=i.height.bottom.value;"px"===i.height.bottom.units&&i.height.val>0&&(l=100*l/i.height.val);var h=b(i.width.val-o.w,s,c),f=h.biasDiff,d=h.biasComplementDiff,p=b(i.height.val-o.h,u,l),g=p.biasDiff,v=p.biasComplementDiff;e.autoPadding=function(t,e,n,r){if("%"!==n.units)return"px"===n.units?n.pfValue:0;switch(r){case"width":return t>0?n.pfValue*t:0;case"height":return e>0?n.pfValue*e:0;case"average":return t>0&&e>0?n.pfValue*(t+e)/2:0;case"min":return t>0&&e>0?t>e?n.pfValue*e:n.pfValue*t:0;case"max":return t>0&&e>0?t>e?n.pfValue*t:n.pfValue*e:0;default:return 0}}(o.w,o.h,t.pstyle("padding"),t.pstyle("padding-relative-to").value),e.autoWidth=Math.max(o.w,i.width.val),a.x=(-f+o.x1+o.x2+d)/2,e.autoHeight=Math.max(o.h,i.height.val),a.y=(-g+o.y1+o.y2+v)/2}function b(t,e,n){var r=0,i=0,o=e+n;return t>0&&o>0&&(r=e/o*t,i=n/o*t),{biasDiff:r,biasComplementDiff:i}}}for(var r=0;rt.x2?r:t.x2,t.y1=nt.y2?i:t.y2,t.w=t.x2-t.x1,t.h=t.y2-t.y1)},$r=function(t,e){return null==e?t:Wr(t,e.x1,e.y1,e.x2,e.y2)},Zr=function(t,e,n){return Dt(t,e,n)},Kr=function(t,e,n){if(!e.cy().headless()){var r,i,o=e._private,a=o.rstyle,s=a.arrowWidth/2;if("none"!==e.pstyle(n+"-arrow-shape").value){"source"===n?(r=a.srcX,i=a.srcY):"target"===n?(r=a.tgtX,i=a.tgtY):(r=a.midX,i=a.midY);var c=o.arrowBounds=o.arrowBounds||{},u=c[n]=c[n]||{};u.x1=r-s,u.y1=i-s,u.x2=r+s,u.y2=i+s,u.w=u.x2-u.x1,u.h=u.y2-u.y1,be(u,1),Wr(t,u.x1,u.y1,u.x2,u.y2)}}},Qr=function(t,e,n){if(!e.cy().headless()){var r;r=n?n+"-":"";var i=e._private,o=i.rstyle;if(e.pstyle(r+"label").strValue){var a,s,c,u,l=e.pstyle("text-halign"),h=e.pstyle("text-valign"),f=Zr(o,"labelWidth",n),d=Zr(o,"labelHeight",n),p=Zr(o,"labelX",n),g=Zr(o,"labelY",n),v=e.pstyle(r+"text-margin-x").pfValue,b=e.pstyle(r+"text-margin-y").pfValue,y=e.isEdge(),m=e.pstyle(r+"text-rotation"),w=e.pstyle("text-outline-width").pfValue,x=e.pstyle("text-border-width").pfValue/2,_=e.pstyle("text-background-padding").pfValue,E=d,k=f,T=k/2,C=E/2;if(y)a=p-T,s=p+T,c=g-C,u=g+C;else{switch(l.value){case"left":a=p-k,s=p;break;case"center":a=p-T,s=p+T;break;case"right":a=p,s=p+k}switch(h.value){case"top":c=g-E,u=g;break;case"center":c=g-C,u=g+C;break;case"bottom":c=g,u=g+E}}a+=v-Math.max(w,x)-_-2,s+=v+Math.max(w,x)+_+2,c+=b-Math.max(w,x)-_-2,u+=b+Math.max(w,x)+_+2;var N=n||"main",A=i.labelBounds,S=A[N]=A[N]||{};S.x1=a,S.y1=c,S.x2=s,S.y2=u,S.w=s-a,S.h=u-c;var O=y&&"autorotate"===m.strValue,L=null!=m.pfValue&&0!==m.pfValue;if(O||L){var I=O?Zr(i.rstyle,"labelAngle",n):m.pfValue,M=Math.cos(I),P=Math.sin(I),D=(a+s)/2,R=(c+u)/2;if(!y){switch(l.value){case"left":D=s;break;case"right":D=a}switch(h.value){case"top":R=u;break;case"bottom":R=c}}var j=function(t,e){return{x:(t-=D)*M-(e-=R)*P+D,y:t*P+e*M+R}},G=j(a,c),B=j(a,u),F=j(s,c),H=j(s,u);a=Math.min(G.x,B.x,F.x,H.x),s=Math.max(G.x,B.x,F.x,H.x),c=Math.min(G.y,B.y,F.y,H.y),u=Math.max(G.y,B.y,F.y,H.y)}var Y=N+"Rot",z=A[Y]=A[Y]||{};z.x1=a,z.y1=c,z.x2=s,z.y2=u,z.w=s-a,z.h=u-c,Wr(t,a,c,s,u),Wr(i.labelBounds.all,a,c,s,u)}return t}},Jr=function(t){var e=0,n=function(t){return(t?1:0)<0&&o>0){var a=e.pstyle("outline-offset").value,s=e.pstyle("shape").value,c=o+a,u=(t.w+2*c)/t.w,l=(t.h+2*c)/t.h,h=0;["diamond","pentagon","round-triangle"].includes(s)?(u=(t.w+2.4*c)/t.w,h=-c/3.6):["concave-hexagon","rhomboid","right-rhomboid"].includes(s)?u=(t.w+2.4*c)/t.w:"star"===s?(u=(t.w+2.8*c)/t.w,l=(t.h+2.6*c)/t.h,h=-c/3.8):"triangle"===s?(u=(t.w+2.8*c)/t.w,l=(t.h+2.4*c)/t.h,h=-c/1.4):"vee"===s&&(u=(t.w+4.4*c)/t.w,l=(t.h+3.8*c)/t.h,h=.5*-c);var f=t.h*l-t.h,d=t.w*u-t.w;if(ye(t,[Math.ceil(f/2),Math.ceil(d/2)]),0!==h){var p=(r=h,{x1:(n=t).x1+0,x2:n.x2+0,y1:n.y1+r,y2:n.y2+r,w:n.w,h:n.h});ge(t,p)}}}}(f,t)}else if(g&&e.includeEdges)if(l&&!h){var N=t.pstyle("curve-style").strValue;if(n=Math.min(v.srcX,v.midX,v.tgtX),r=Math.max(v.srcX,v.midX,v.tgtX),i=Math.min(v.srcY,v.midY,v.tgtY),o=Math.max(v.srcY,v.midY,v.tgtY),Wr(f,n-=E,i-=E,r+=E,o+=E),"haystack"===N){var A=v.haystackPts;if(A&&2===A.length){if(n=A[0].x,i=A[0].y,n>(r=A[1].x)){var S=n;n=r,r=S}if(i>(o=A[1].y)){var O=i;i=o,o=O}Wr(f,n-E,i-E,r+E,o+E)}}else if("bezier"===N||"unbundled-bezier"===N||"segments"===N||"taxi"===N){var L;switch(N){case"bezier":case"unbundled-bezier":L=v.bezierPts;break;case"segments":case"taxi":L=v.linePts}if(null!=L)for(var I=0;I(r=D.x)){var R=n;n=r,r=R}if((i=P.y)>(o=D.y)){var j=i;i=o,o=j}Wr(f,n-=E,i-=E,r+=E,o+=E)}if(l&&e.includeEdges&&g&&(Kr(f,t,"mid-source"),Kr(f,t,"mid-target"),Kr(f,t,"source"),Kr(f,t,"target")),l&&"yes"===t.pstyle("ghost").value){var G=t.pstyle("ghost-offset-x").pfValue,B=t.pstyle("ghost-offset-y").pfValue;Wr(f,f.x1+G,f.y1+B,f.x2+G,f.y2+B)}var F=d.bodyBounds=d.bodyBounds||{};me(F,f),ye(F,b),be(F,1),l&&(n=f.x1,r=f.x2,i=f.y1,o=f.y2,Wr(f,n-_,i-_,r+_,o+_));var H=d.overlayBounds=d.overlayBounds||{};me(H,f),ye(H,b),be(H,1);var Y=d.labelBounds=d.labelBounds||{};null!=Y.all?((c=Y.all).x1=1/0,c.y1=1/0,c.x2=-1/0,c.y2=-1/0,c.w=0,c.h=0):Y.all=pe(),l&&e.includeLabels&&(e.includeMainLabels&&Qr(f,t,null),g&&(e.includeSourceLabels&&Qr(f,t,"source"),e.includeTargetLabels&&Qr(f,t,"target")))}return f.x1=Xr(f.x1),f.y1=Xr(f.y1),f.x2=Xr(f.x2),f.y2=Xr(f.y2),f.w=Xr(f.x2-f.x1),f.h=Xr(f.y2-f.y1),f.w>0&&f.h>0&&m&&(ye(f,b),be(f,1)),f}(t,ni),r.bbCache=n,r.bbCachePosKey=a):n=r.bbCache,!o){var l=t.isNode();n=pe(),(e.includeNodes&&l||e.includeEdges&&!l)&&(e.includeOverlays?$r(n,r.overlayBounds):$r(n,r.bodyBounds)),e.includeLabels&&(e.includeMainLabels&&(!i||e.includeSourceLabels&&e.includeTargetLabels)?$r(n,r.labelBounds.all):(e.includeMainLabels&&$r(n,r.labelBounds.mainRot),e.includeSourceLabels&&$r(n,r.labelBounds.sourceRot),e.includeTargetLabels&&$r(n,r.labelBounds.targetRot))),n.w=n.x2-n.x1,n.h=n.y2-n.y1}return n},ni={includeNodes:!0,includeEdges:!0,includeLabels:!0,includeMainLabels:!0,includeSourceLabels:!0,includeTargetLabels:!0,includeOverlays:!0,includeUnderlays:!0,includeOutlines:!0,useCache:!0},ri=Jr(ni),ii=It(ni);Vr.boundingBox=function(t){var e;if(1!==this.length||null==this[0]._private.bbCache||this[0]._private.styleDirty||void 0!==t&&void 0!==t.useCache&&!0!==t.useCache){e=pe();var n=ii(t=t||ni),r=this;if(r.cy().styleEnabled())for(var i=0;i0&&void 0!==arguments[0]?arguments[0]:mi,e=arguments.length>1?arguments[1]:void 0,n=0;n=0;s--)a(s);return this},xi.removeAllListeners=function(){return this.removeListener("*")},xi.emit=xi.trigger=function(t,e,n){var r=this.listeners,i=r.length;return this.emitting++,O(e)||(e=[e]),function(t,e,n){if("event"!==N(n))if(L(n))e(t,Ei(t,n));else for(var r=O(n)?n:n.split(/\s+/),i=0;i1&&!r){var i=this.length-1,o=this[i],a=o._private.data.id;this[i]=void 0,this[t]=o,n.set(a,{ele:o,index:t})}return this.length--,this},unmergeOne:function(t){t=t[0];var e=this._private,n=t._private.data.id,r=e.map.get(n);if(!r)return this;var i=r.index;return this.unmergeAt(i),this},unmerge:function(t){var e=this._private.cy;if(!t)return this;if(t&&A(t)){var n=t;t=e.mutableElements().filter(n)}for(var r=0;r=0;e--)t(this[e])&&this.unmergeAt(e);return this},map:function(t,e){for(var n=[],r=this,i=0;ir&&(r=s,n=a)}return{value:r,ele:n}},min:function(t,e){for(var n,r=1/0,i=this,o=0;o=0&&i1&&void 0!==arguments[1])||arguments[1],n=this[0],r=n.cy();if(r.styleEnabled()&&n){this.cleanStyle();var i=n._private.style[t];return null!=i?i:e?r.style().getDefaultProperty(t):null}},numericStyle:function(t){var e=this[0];if(e.cy().styleEnabled()&&e){var n=e.pstyle(t);return void 0!==n.pfValue?n.pfValue:n.value}},numericStyleUnits:function(t){var e=this[0];if(e.cy().styleEnabled())return e?e.pstyle(t).units:void 0},renderedStyle:function(t){var e=this.cy();if(!e.styleEnabled())return this;var n=this[0];return n?e.style().getRenderedStyle(n,t):void 0},style:function(t,e){var n=this.cy();if(!n.styleEnabled())return this;var r=n.style();if(L(t)){var i=t;r.applyBypass(this,i,!1),this.emitAndNotify("style")}else if(A(t)){if(void 0===e){var o=this[0];return o?r.getStylePropertyValue(o,t):void 0}r.applyBypass(this,t,e,!1),this.emitAndNotify("style")}else if(void 0===t){var a=this[0];return a?r.getRawStyle(a):void 0}return this},removeStyle:function(t){var e=this.cy();if(!e.styleEnabled())return this;var n=e.style(),r=this;if(void 0===t)for(var i=0;i0&&e.push(l[0]),e.push(s[0])}return this.spawn(e,!0).filter(t)}),"neighborhood"),closedNeighborhood:function(t){return this.neighborhood().add(this).filter(t)},openNeighborhood:function(t){return this.neighborhood(t)}}),Wi.neighbourhood=Wi.neighborhood,Wi.closedNeighbourhood=Wi.closedNeighborhood,Wi.openNeighbourhood=Wi.openNeighborhood,Q(Wi,{source:Or((function(t){var e,n=this[0];return n&&(e=n._private.source||n.cy().collection()),e&&t?e.filter(t):e}),"source"),target:Or((function(t){var e,n=this[0];return n&&(e=n._private.target||n.cy().collection()),e&&t?e.filter(t):e}),"target"),sources:Qi({attr:"source"}),targets:Qi({attr:"target"})}),Q(Wi,{edgesWith:Or(Ji(),"edgesWith"),edgesTo:Or(Ji({thisIsSrc:!0}),"edgesTo")}),Q(Wi,{connectedEdges:Or((function(t){for(var e=[],n=0;n0);return o},component:function(){var t=this[0];return t.cy().mutableElements().components(t)[0]}}),Wi.componentsOf=Wi.components;var eo=function(t,e){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(void 0!==t){var i=new jt,o=!1;if(e){if(e.length>0&&L(e[0])&&!D(e[0])){o=!0;for(var a=[],s=new Bt,c=0,u=e.length;c0&&void 0!==arguments[0])||arguments[0],r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=this,o=i.cy(),a=o._private,s=[],c=[],u=0,l=i.length;u0){for(var R=t.length===i.length?i:new eo(o,t),j=0;j0&&void 0!==arguments[0])||arguments[0],e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=this,r=[],i={},o=n._private.cy;function a(t){var n=i[t.id()];e&&t.removed()||n||(i[t.id()]=!0,t.isNode()?(r.push(t),function(t){for(var e=t._private.edges,n=0;n0&&(t?E.emitAndNotify("remove"):e&&E.emit("remove"));for(var k=0;k=.001?function(e,r){for(var i=0;i<4;++i){var o=f(r,t,n);if(0===o)return r;r-=(h(r,t,n)-e)/o}return r}(e,a):0===c?a:function(e,r,i){var o,a,s=0;do{(o=h(a=r+(i-r)/2,t,n)-e)>0?i=a:r=a}while(Math.abs(o)>1e-7&&++s<10);return a}(e,r,r+i)}(o),e,r)};p.getControlPoints=function(){return[{x:t,y:e},{x:n,y:r}]};var g="generateBezier("+[t,e,n,r]+")";return p.toString=function(){return g},p}var oo=function(){function t(t){return-t.tension*t.x-t.friction*t.v}function e(e,n,r){var i={x:e.x+r.dx*n,v:e.v+r.dv*n,tension:e.tension,friction:e.friction};return{dx:i.v,dv:t(i)}}function n(n,r){var i={dx:n.v,dv:t(n)},o=e(n,.5*r,i),a=e(n,.5*r,o),s=e(n,r,a),c=1/6*(i.dx+2*(o.dx+a.dx)+s.dx),u=1/6*(i.dv+2*(o.dv+a.dv)+s.dv);return n.x=n.x+c*r,n.v=n.v+u*r,n}return function t(e,r,i){var o,a,s,c={x:-1,v:0,tension:null,friction:null},u=[0],l=0,h=1e-4;for(e=parseFloat(e)||500,r=parseFloat(r)||20,i=i||null,c.tension=e,c.friction=r,a=(o=null!==i)?(l=t(e,r))/i*.016:.016;s=n(s||c,a),u.push(1+s.x),l+=16,Math.abs(s.x)>h&&Math.abs(s.v)>h;);return o?function(t){return u[t*(u.length-1)|0]}:l}}(),ao=function(t,e,n,r){var i=io(t,e,n,r);return function(t,e,n){return t+(e-t)*i(n)}},so={linear:function(t,e,n){return t+(e-t)*n},ease:ao(.25,.1,.25,1),"ease-in":ao(.42,0,1,1),"ease-out":ao(0,0,.58,1),"ease-in-out":ao(.42,0,.58,1),"ease-in-sine":ao(.47,0,.745,.715),"ease-out-sine":ao(.39,.575,.565,1),"ease-in-out-sine":ao(.445,.05,.55,.95),"ease-in-quad":ao(.55,.085,.68,.53),"ease-out-quad":ao(.25,.46,.45,.94),"ease-in-out-quad":ao(.455,.03,.515,.955),"ease-in-cubic":ao(.55,.055,.675,.19),"ease-out-cubic":ao(.215,.61,.355,1),"ease-in-out-cubic":ao(.645,.045,.355,1),"ease-in-quart":ao(.895,.03,.685,.22),"ease-out-quart":ao(.165,.84,.44,1),"ease-in-out-quart":ao(.77,0,.175,1),"ease-in-quint":ao(.755,.05,.855,.06),"ease-out-quint":ao(.23,1,.32,1),"ease-in-out-quint":ao(.86,0,.07,1),"ease-in-expo":ao(.95,.05,.795,.035),"ease-out-expo":ao(.19,1,.22,1),"ease-in-out-expo":ao(1,0,0,1),"ease-in-circ":ao(.6,.04,.98,.335),"ease-out-circ":ao(.075,.82,.165,1),"ease-in-out-circ":ao(.785,.135,.15,.86),spring:function(t,e,n){if(0===n)return so.linear;var r=oo(t,e,n);return function(t,e,n){return t+(e-t)*r(n)}},"cubic-bezier":ao};function co(t,e,n,r,i){if(1===r)return n;if(e===n)return n;var o=i(e,n,r);return null==t||((t.roundValue||t.color)&&(o=Math.round(o)),void 0!==t.min&&(o=Math.max(o,t.min)),void 0!==t.max&&(o=Math.min(o,t.max))),o}function uo(t,e){return null!=t.pfValue||null!=t.value?null==t.pfValue||null!=e&&"%"===e.type.units?t.value:t.pfValue:t}function lo(t,e,n,r,i){var o=null!=i?i.type:null;n<0?n=0:n>1&&(n=1);var a=uo(t,i),s=uo(e,i);if(I(a)&&I(s))return co(o,a,s,n,r);if(O(a)&&O(s)){for(var c=[],u=0;u0?("spring"===h&&f.push(a.duration),a.easingImpl=so[h].apply(null,f)):a.easingImpl=so[h]}var d,p=a.easingImpl;if(d=0===a.duration?1:(n-c)/a.duration,a.applying&&(d=a.progress),d<0?d=0:d>1&&(d=1),null==a.delay){var g=a.startPosition,v=a.position;if(v&&i&&!t.locked()){var b={};fo(g.x,v.x)&&(b.x=lo(g.x,v.x,d,p)),fo(g.y,v.y)&&(b.y=lo(g.y,v.y,d,p)),t.position(b)}var y=a.startPan,m=a.pan,w=o.pan,x=null!=m&&r;x&&(fo(y.x,m.x)&&(w.x=lo(y.x,m.x,d,p)),fo(y.y,m.y)&&(w.y=lo(y.y,m.y,d,p)),t.emit("pan"));var _=a.startZoom,E=a.zoom,k=null!=E&&r;k&&(fo(_,E)&&(o.zoom=de(o.minZoom,lo(_,E,d,p),o.maxZoom)),t.emit("zoom")),(x||k)&&t.emit("viewport");var T=a.style;if(T&&T.length>0&&i){for(var C=0;C=0;e--)(0,t[e])();t.splice(0,t.length)},l=o.length-1;l>=0;l--){var h=o[l],f=h._private;f.stopped?(o.splice(l,1),f.hooked=!1,f.playing=!1,f.started=!1,u(f.frames)):(f.playing||f.applying)&&(f.playing&&f.applying&&(f.applying=!1),f.started||po(0,h,t),ho(e,h,t,n),f.applying&&(f.applying=!1),u(f.frames),null!=f.step&&f.step(t),h.completed()&&(o.splice(l,1),f.hooked=!1,f.playing=!1,f.started=!1,u(f.completes)),s=!0)}return n||0!==o.length||0!==a.length||r.push(e),s}for(var o=!1,a=0;a0?e.notify("draw",n):e.notify("draw")),n.unmerge(r),e.emit("step")}var vo={animate:sr.animate(),animation:sr.animation(),animated:sr.animated(),clearQueue:sr.clearQueue(),delay:sr.delay(),delayAnimation:sr.delayAnimation(),stop:sr.stop(),addToAnimationPool:function(t){this.styleEnabled()&&this._private.aniEles.merge(t)},stopAnimationLoop:function(){this._private.animationsRunning=!1},startAnimationLoop:function(){var t=this;if(t._private.animationsRunning=!0,t.styleEnabled()){var e=t.renderer();e&&e.beforeRender?e.beforeRender((function(e,n){go(n,t)}),e.beforeRenderPriorities.animations):function e(){t._private.animationsRunning&&ot((function(n){go(n,t),e()}))}()}}},bo={qualifierCompare:function(t,e){return null==t||null==e?null==t&&null==e:t.sameText(e)},eventMatches:function(t,e,n){var r=e.qualifier;return null==r||t!==n.target&&D(n.target)&&r.matches(n.target)},addEventFields:function(t,e){e.cy=t,e.target=t},callbackContext:function(t,e,n){return null!=e.qualifier?n.target:t}},yo=function(t){return A(t)?new Tr(t):t},mo={createEmitter:function(){var t=this._private;return t.emitter||(t.emitter=new wi(bo,this)),this},emitter:function(){return this._private.emitter},on:function(t,e,n){return this.emitter().on(t,yo(e),n),this},removeListener:function(t,e,n){return this.emitter().removeListener(t,yo(e),n),this},removeAllListeners:function(){return this.emitter().removeAllListeners(),this},one:function(t,e,n){return this.emitter().one(t,yo(e),n),this},once:function(t,e,n){return this.emitter().one(t,yo(e),n),this},emit:function(t,e){return this.emitter().emit(t,e),this},emitAndNotify:function(t,e){return this.emit(t),this.notify(t,e),this}};sr.eventAliasesOn(mo);var wo={png:function(t){return t=t||{},this._private.renderer.png(t)},jpg:function(t){var e=this._private.renderer;return(t=t||{}).bg=t.bg||"#fff",e.jpg(t)}};wo.jpeg=wo.jpg;var xo={layout:function(t){var e=this;if(null!=t)if(null!=t.name){var n,r=t.name,i=e.extension("layout",r);if(null!=i)return n=A(t.eles)?e.$(t.eles):null!=t.eles?t.eles:e.$(),new i(Q({},t,{cy:e,eles:n}));Tt("No such layout `"+r+"` found. Did you forget to import it and `cytoscape.use()` it?")}else Tt("A `name` must be specified to make a layout");else Tt("Layout options must be specified to make a layout")}};xo.createLayout=xo.makeLayout=xo.layout;var _o={notify:function(t,e){var n=this._private;if(this.batching()){n.batchNotifications=n.batchNotifications||{};var r=n.batchNotifications[t]=n.batchNotifications[t]||this.collection();null!=e&&r.merge(e)}else if(n.notificationsEnabled){var i=this.renderer();!this.destroyed()&&i&&i.notify(t,e)}},notifications:function(t){var e=this._private;return void 0===t?e.notificationsEnabled:(e.notificationsEnabled=!!t,this)},noNotifications:function(t){this.notifications(!1),t(),this.notifications(!0)},batching:function(){return this._private.batchCount>0},startBatch:function(){var t=this._private;return null==t.batchCount&&(t.batchCount=0),0===t.batchCount&&(t.batchStyleEles=this.collection(),t.batchNotifications={}),t.batchCount++,this},endBatch:function(){var t=this._private;if(0===t.batchCount)return this;if(t.batchCount--,0===t.batchCount){t.batchStyleEles.updateStyle();var e=this.renderer();Object.keys(t.batchNotifications).forEach((function(n){var r=t.batchNotifications[n];r.empty()?e.notify(n):e.notify(n,r)}))}return this},batch:function(t){return this.startBatch(),t(),this.endBatch(),this},batchData:function(t){var e=this;return this.batch((function(){for(var n=Object.keys(t),r=0;r0;)e.removeChild(e.childNodes[0]);t._private.renderer=null,t.mutableElements().forEach((function(t){var e=t._private;e.rscratch={},e.rstyle={},e.animation.current=[],e.animation.queue=[]}))},onRender:function(t){return this.on("render",t)},offRender:function(t){return this.off("render",t)}};ko.invalidateDimensions=ko.resize;var To={collection:function(t,e){return A(t)?this.$(t):P(t)?t.collection():O(t)?(e||(e={}),new eo(this,t,e.unique,e.removed)):new eo(this)},nodes:function(t){var e=this.$((function(t){return t.isNode()}));return t?e.filter(t):e},edges:function(t){var e=this.$((function(t){return t.isEdge()}));return t?e.filter(t):e},$:function(t){var e=this._private.elements;return t?e.filter(t):e.spawnSelf()},mutableElements:function(){return this._private.elements}};To.elements=To.filter=To.$;var Co={},No="t";Co.apply=function(t){for(var e=this,n=e._private.cy.collection(),r=0;r0;if(f||h&&d){var p=void 0;f&&d||f?p=u.properties:d&&(p=u.mappedProperties);for(var g=0;g1&&(v=1),s.color){var x=i.valueMin[0],_=i.valueMax[0],E=i.valueMin[1],k=i.valueMax[1],T=i.valueMin[2],C=i.valueMax[2],N=null==i.valueMin[3]?1:i.valueMin[3],A=null==i.valueMax[3]?1:i.valueMax[3],S=[Math.round(x+(_-x)*v),Math.round(E+(k-E)*v),Math.round(T+(C-T)*v),Math.round(N+(A-N)*v)];n={bypass:i.bypass,name:i.name,value:S,strValue:"rgb("+S[0]+", "+S[1]+", "+S[2]+")"}}else{if(!s.number)return!1;var O=i.valueMin+(i.valueMax-i.valueMin)*v;n=this.parse(i.name,O,i.bypass,f)}if(!n)return g(),!1;n.mapping=i,i=n;break;case a.data:for(var L=i.field.split("."),M=h.data,P=0;P0&&o>0){for(var s={},c=!1,u=0;u0?t.delayAnimation(a).play().promise().then(e):e()})).then((function(){return t.animation({style:s,duration:o,easing:t.pstyle("transition-timing-function").value,queue:!1}).play().promise()})).then((function(){n.removeBypasses(t,i),t.emitAndNotify("style"),r.transitioning=!1}))}else r.transitioning&&(this.removeBypasses(t,i),t.emitAndNotify("style"),r.transitioning=!1)},Co.checkTrigger=function(t,e,n,r,i,o){var a=this.properties[e],s=i(a);null!=s&&s(n,r)&&o(a)},Co.checkZOrderTrigger=function(t,e,n,r){var i=this;this.checkTrigger(t,e,n,r,(function(t){return t.triggersZOrder}),(function(){i._private.cy.notify("zorder",t)}))},Co.checkBoundsTrigger=function(t,e,n,r){this.checkTrigger(t,e,n,r,(function(t){return t.triggersBounds}),(function(i){t.dirtyCompoundBoundsCache(),t.dirtyBoundingBoxCache(),!i.triggersBoundsOfParallelBeziers||"curve-style"!==e||"bezier"!==n&&"bezier"!==r||t.parallelEdges().forEach((function(t){t.isBundledBezier()&&t.dirtyBoundingBoxCache()})),!i.triggersBoundsOfConnectedEdges||"display"!==e||"none"!==n&&"none"!==r||t.connectedEdges().forEach((function(t){t.dirtyBoundingBoxCache()}))}))},Co.checkTriggers=function(t,e,n,r){t.dirtyStyleCache(),this.checkZOrderTrigger(t,e,n,r),this.checkBoundsTrigger(t,e,n,r)};var Ao={applyBypass:function(t,e,n,r){var i=[];if("*"===e||"**"===e){if(void 0!==n)for(var o=0;oe.length?o.substr(e.length):""}function s(){n=n.length>r.length?n.substr(r.length):""}for(o=o.replace(/[/][*](\s|.)+?[*][/]/g,"");!o.match(/^\s*$/);){var c=o.match(/^\s*((?:.|\s)+?)\s*\{((?:.|\s)+?)\}/);if(!c){Nt("Halting stylesheet parsing: String stylesheet contains more to parse but no selector and block found in: "+o);break}e=c[0];var u=c[1];if("core"!==u&&new Tr(u).invalid)Nt("Skipping parsing of block: Invalid selector found in string stylesheet: "+u),a();else{var l=c[2],h=!1;n=l;for(var f=[];!n.match(/^\s*$/);){var d=n.match(/^\s*(.+?)\s*:\s*(.+?)(?:\s*;|\s*$)/);if(!d){Nt("Skipping parsing of block: Invalid formatting of style property and value definitions found in:"+l),h=!0;break}r=d[0];var p=d[1],g=d[2];this.properties[p]?i.parse(p,g)?(f.push({name:p,val:g}),s()):(Nt("Skipping property: Invalid property definition in: "+r),s()):(Nt("Skipping property: Invalid property name in: "+r),s())}if(h){a();break}i.selector(u);for(var v=0;v=7&&"d"===e[0]&&(u=new RegExp(s.data.regex).exec(e))){if(n)return!1;var f=s.data;return{name:t,value:u,strValue:""+e,mapped:f,field:u[1],bypass:n}}if(e.length>=10&&"m"===e[0]&&(l=new RegExp(s.mapData.regex).exec(e))){if(n)return!1;if(h.multiple)return!1;var d=s.mapData;if(!h.color&&!h.number)return!1;var p=this.parse(t,l[4]);if(!p||p.mapped)return!1;var g=this.parse(t,l[5]);if(!g||g.mapped)return!1;if(p.pfValue===g.pfValue||p.strValue===g.strValue)return Nt("`"+t+": "+e+"` is not a valid mapper because the output range is zero; converting to `"+t+": "+p.strValue+"`"),this.parse(t,p.strValue);if(h.color){var v=p.value,b=g.value;if(!(v[0]!==b[0]||v[1]!==b[1]||v[2]!==b[2]||v[3]!==b[3]&&(null!=v[3]&&1!==v[3]||null!=b[3]&&1!==b[3])))return!1}return{name:t,value:l,strValue:""+e,mapped:d,field:l[1],fieldMin:parseFloat(l[2]),fieldMax:parseFloat(l[3]),valueMin:p.value,valueMax:g.value,bypass:n}}}if(h.multiple&&"multiple"!==r){var y;if(y=c?e.split(/\s+/):O(e)?e:[e],h.evenMultiple&&y.length%2!=0)return null;for(var m=[],w=[],x=[],_="",E=!1,k=0;k0?" ":"")+T.strValue}return h.validate&&!h.validate(m,w)?null:h.singleEnum&&E?1===m.length&&A(m[0])?{name:t,value:m[0],strValue:m[0],bypass:n}:null:{name:t,value:m,pfValue:x,strValue:_,bypass:n,units:w}}var C,N,L,M=function(){for(var r=0;rh.max||h.strictMax&&e===h.max))return null;var G={name:t,value:e,strValue:""+e+(P||""),units:P,bypass:n};return h.unitless||"px"!==P&&"em"!==P?G.pfValue=e:G.pfValue="px"!==P&&P?this.getEmSizeInPixels()*e:e,"ms"!==P&&"s"!==P||(G.pfValue="ms"===P?e:1e3*e),"deg"!==P&&"rad"!==P||(G.pfValue="rad"===P?e:(C=e,Math.PI*C/180)),"%"===P&&(G.pfValue=e/100),G}if(h.propList){var B=[],F=""+e;if("none"===F);else{for(var H=F.split(/\s*,\s*|\s+/),z=0;z255)return;e.push(Math.floor(o))}var a=r[1]||r[2]||r[3],s=r[1]&&r[2]&&r[3];if(a&&!s)return;var c=n[4];if(void 0!==c){if((c=parseFloat(c))<0||c>1)return;e.push(c)}}return e}(L)||function(t){var e,n,r,i,o,a,s,c;function u(t,e,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?t+6*(e-t)*n:n<.5?e:n<2/3?t+(e-t)*(2/3-n)*6:t}var l=new RegExp("^"+$+"$").exec(t);if(l){if((n=parseInt(l[1]))<0?n=(360- -1*n%360)%360:n>360&&(n%=360),n/=360,(r=parseFloat(l[2]))<0||r>100)return;if(r/=100,(i=parseFloat(l[3]))<0||i>100)return;if(i/=100,void 0!==(o=l[4])&&((o=parseFloat(o))<0||o>1))return;if(0===r)a=s=c=Math.round(255*i);else{var h=i<.5?i*(1+r):i+r-i*r,f=2*i-h;a=Math.round(255*u(f,h,n+1/3)),s=Math.round(255*u(f,h,n)),c=Math.round(255*u(f,h,n-1/3))}e=[a,s,c,o]}return e}(L);return V?{name:t,value:V,pfValue:V,strValue:"rgb("+V[0]+","+V[1]+","+V[2]+")",bypass:n}:null}if(h.regex||h.regexes){if(h.enums){var W=M();if(W)return W}for(var Z=h.regexes?h.regexes:[h.regex],K=0;K0&&c>0&&!isNaN(n.w)&&!isNaN(n.h)&&n.w>0&&n.h>0)return{zoom:a=(a=(a=Math.min((s-2*e)/n.w,(c-2*e)/n.h))>this._private.maxZoom?this._private.maxZoom:a)=n.minZoom&&(n.maxZoom=e),this},minZoom:function(t){return void 0===t?this._private.minZoom:this.zoomRange({min:t})},maxZoom:function(t){return void 0===t?this._private.maxZoom:this.zoomRange({max:t})},getZoomedViewport:function(t){var e,n,r=this._private,i=r.pan,o=r.zoom,a=!1;if(r.zoomingEnabled||(a=!0),I(t)?n=t:L(t)&&(n=t.level,null!=t.position?e=ne(t.position,o,i):null!=t.renderedPosition&&(e=t.renderedPosition),null==e||r.panningEnabled||(a=!0)),n=(n=n>r.maxZoom?r.maxZoom:n)e.maxZoom||!e.zoomingEnabled?o=!0:(e.zoom=s,i.push("zoom"))}if(r&&(!o||!t.cancelOnFailedZoom)&&e.panningEnabled){var c=t.pan;I(c.x)&&(e.pan.x=c.x,a=!1),I(c.y)&&(e.pan.y=c.y,a=!1),a||i.push("pan")}return i.length>0&&(i.push("viewport"),this.emit(i.join(" ")),this.notify("viewport")),this},center:function(t){var e=this.getCenterPan(t);return e&&(this._private.pan=e,this.emit("pan viewport"),this.notify("viewport")),this},getCenterPan:function(t,e){if(this._private.panningEnabled){if(A(t)){var n=t;t=this.mutableElements().filter(n)}else P(t)||(t=this.mutableElements());if(0!==t.length){var r=t.boundingBox(),i=this.width(),o=this.height();return{x:(i-(e=void 0===e?this._private.zoom:e)*(r.x1+r.x2))/2,y:(o-e*(r.y1+r.y2))/2}}}},reset:function(){return this._private.panningEnabled&&this._private.zoomingEnabled?(this.viewport({pan:{x:0,y:0},zoom:1}),this):this},invalidateSize:function(){this._private.sizeCache=null},size:function(){var t,e,n=this._private,r=n.container;return n.sizeCache=n.sizeCache||(r?(t=this.window().getComputedStyle(r),e=function(e){return parseFloat(t.getPropertyValue(e))},{width:r.clientWidth-e("padding-left")-e("padding-right"),height:r.clientHeight-e("padding-top")-e("padding-bottom")}):{width:1,height:1})},width:function(){return this.size().width},height:function(){return this.size().height},extent:function(){var t=this._private.pan,e=this._private.zoom,n=this.renderedExtent(),r={x1:(n.x1-t.x)/e,x2:(n.x2-t.x)/e,y1:(n.y1-t.y)/e,y2:(n.y2-t.y)/e};return r.w=r.x2-r.x1,r.h=r.y2-r.y1,r},renderedExtent:function(){var t=this.width(),e=this.height();return{x1:0,y1:0,x2:t,y2:e,w:t,h:e}},multiClickDebounceTime:function(t){return t?(this._private.multiClickDebounceTime=t,this):this._private.multiClickDebounceTime}};Go.centre=Go.center,Go.autolockNodes=Go.autolock,Go.autoungrabifyNodes=Go.autoungrabify;var Bo={data:sr.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeData:sr.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),scratch:sr.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:sr.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0})};Bo.attr=Bo.data,Bo.removeAttr=Bo.removeData;var Fo=function(t){var e=this,n=(t=Q({},t)).container;n&&!M(n)&&M(n[0])&&(n=n[0]);var r=n?n._cyreg:null;(r=r||{})&&r.cy&&(r.cy.destroy(),r={});var i=r.readies=r.readies||[];n&&(n._cyreg=r),r.cy=e;var o=void 0!==x&&void 0!==n&&!t.headless,a=t;a.layout=Q({name:o?"grid":"null"},a.layout),a.renderer=Q({name:o?"canvas":"null"},a.renderer);var s=function(t,e,n){return void 0!==e?e:void 0!==n?n:t},c=this._private={container:n,ready:!1,options:a,elements:new eo(this),listeners:[],aniEles:new eo(this),data:a.data||{},scratch:{},layout:null,renderer:null,destroyed:!1,notificationsEnabled:!0,minZoom:1e-50,maxZoom:1e50,zoomingEnabled:s(!0,a.zoomingEnabled),userZoomingEnabled:s(!0,a.userZoomingEnabled),panningEnabled:s(!0,a.panningEnabled),userPanningEnabled:s(!0,a.userPanningEnabled),boxSelectionEnabled:s(!0,a.boxSelectionEnabled),autolock:s(!1,a.autolock,a.autolockNodes),autoungrabify:s(!1,a.autoungrabify,a.autoungrabifyNodes),autounselectify:s(!1,a.autounselectify),styleEnabled:void 0===a.styleEnabled?o:a.styleEnabled,zoom:I(a.zoom)?a.zoom:1,pan:{x:L(a.pan)&&I(a.pan.x)?a.pan.x:0,y:L(a.pan)&&I(a.pan.y)?a.pan.y:0},animation:{current:[],queue:[]},hasCompoundNodes:!1,multiClickDebounceTime:s(250,a.multiClickDebounceTime)};this.createEmitter(),this.selectionType(a.selectionType),this.zoomRange({min:a.minZoom,max:a.maxZoom}),c.styleEnabled&&e.setStyle([]);var u=Q({},a,a.renderer);e.initRenderer(u),function(t,e){if(t.some(F))return er.all(t).then(e);e(t)}([a.style,a.elements],(function(t){var n=t[0],o=t[1];c.styleEnabled&&e.style().append(n),function(t,n,r){e.notifications(!1);var i=e.mutableElements();i.length>0&&i.remove(),null!=t&&(L(t)||O(t))&&e.add(t),e.one("layoutready",(function(t){e.notifications(!0),e.emit(t),e.one("load",n),e.emitAndNotify("load")})).one("layoutstop",(function(){e.one("done",r),e.emit("done")}));var o=Q({},e._private.options.layout);o.eles=e.elements(),e.layout(o).run()}(o,(function(){e.startAnimationLoop(),c.ready=!0,S(a.ready)&&e.on("ready",a.ready);for(var t=0;t0,u=pe(n.boundingBox?n.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()});if(P(n.roots))t=n.roots;else if(O(n.roots)){for(var l=[],h=0;h0;){var L=C.shift(),I=T(L,N);if(I)L.outgoers().filter((function(t){return t.isNode()&&i.has(t)})).forEach(S);else if(null===I){Nt("Detected double maximal shift for node `"+L.id()+"`. Bailing maximal adjustment due to cycle. Use `options.maximal: true` only on DAGs.");break}}}k();var M=0;if(n.avoidOverlap)for(var D=0;D0&&b[0].length<=3?c/2:0),h=2*Math.PI/b[r].length*i;return 0===r&&1===b[0].length&&(l=1),{x:X+l*Math.cos(h),y:W+l*Math.sin(h)}}return{x:X+(i+1-(o+1)/2)*a,y:(r+1)*s}})),this};var Xo={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,radius:void 0,startAngle:1.5*Math.PI,sweep:void 0,clockwise:!0,sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(t,e){return!0},ready:void 0,stop:void 0,transform:function(t,e){return e}};function Wo(t){this.options=Q({},Xo,t)}Wo.prototype.run=function(){var t=this.options,e=t,n=t.cy,r=e.eles,i=void 0!==e.counterclockwise?!e.counterclockwise:e.clockwise,o=r.nodes().not(":parent");e.sort&&(o=o.sort(e.sort));for(var a,s=pe(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:n.width(),h:n.height()}),c=s.x1+s.w/2,u=s.y1+s.h/2,l=(void 0===e.sweep?2*Math.PI-2*Math.PI/o.length:e.sweep)/Math.max(1,o.length-1),h=0,f=0;f1&&e.avoidOverlap){h*=1.75;var v=Math.cos(l)-Math.cos(0),b=Math.sin(l)-Math.sin(0),y=Math.sqrt(h*h/(v*v+b*b));a=Math.max(y,a)}return r.nodes().layoutPositions(this,e,(function(t,n){var r=e.startAngle+n*l*(i?1:-1),o=a*Math.cos(r),s=a*Math.sin(r);return{x:c+o,y:u+s}})),this};var $o,Zo={fit:!0,padding:30,startAngle:1.5*Math.PI,sweep:void 0,clockwise:!0,equidistant:!1,minNodeSpacing:10,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,height:void 0,width:void 0,spacingFactor:void 0,concentric:function(t){return t.degree()},levelWidth:function(t){return t.maxDegree()/4},animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(t,e){return!0},ready:void 0,stop:void 0,transform:function(t,e){return e}};function Ko(t){this.options=Q({},Zo,t)}Ko.prototype.run=function(){for(var t=this.options,e=t,n=void 0!==e.counterclockwise?!e.counterclockwise:e.clockwise,r=t.cy,i=e.eles,o=i.nodes().not(":parent"),a=pe(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()}),s=a.x1+a.w/2,c=a.y1+a.h/2,u=[],l=0,h=0;h0&&Math.abs(y[0].value-w.value)>=v&&(y=[],b.push(y)),y.push(w)}var x=l+e.minNodeSpacing;if(!e.avoidOverlap){var _=b.length>0&&b[0].length>1,E=(Math.min(a.w,a.h)/2-x)/(b.length+_?1:0);x=Math.min(x,E)}for(var k=0,T=0;T1&&e.avoidOverlap){var S=Math.cos(A)-Math.cos(0),O=Math.sin(A)-Math.sin(0),L=Math.sqrt(x*x/(S*S+O*O));k=Math.max(L,k)}C.r=k,k+=x}if(e.equidistant){for(var I=0,M=0,P=0;P=t.numIter||(aa(r,t),r.temperature=r.temperature*t.coolingFactor,r.temperature=t.animationThreshold&&o(),ot(e)):(ya(r,t),s())}();else{for(;u;)u=a(c),c++;ya(r,t),s()}return this},Jo.prototype.stop=function(){return this.stopped=!0,this.thread&&this.thread.stop(),this.emit("layoutstop"),this},Jo.prototype.destroy=function(){return this.thread&&this.thread.stop(),this};var ta=function(t,e,n){for(var r=n.eles.edges(),i=n.eles.nodes(),o=pe(n.boundingBox?n.boundingBox:{x1:0,y1:0,w:t.width(),h:t.height()}),a={isCompound:t.hasCompoundNodes(),layoutNodes:[],idToIndex:{},nodeSize:i.size(),graphSet:[],indexToGraph:[],layoutEdges:[],edgeSize:r.size(),temperature:n.initialTemp,clientWidth:o.w,clientHeight:o.h,boundingBox:o},s=n.eles.components(),c={},u=0;u0)for(a.graphSet.push(x),u=0;ur.count?0:r.graph},na=function t(e,n,r,i){var o=i.graphSet[r];if(-10)var s=(u=r.nodeOverlap*a)*i/(g=Math.sqrt(i*i+o*o)),c=u*o/g;else{var u,l=ha(t,i,o),h=ha(e,-1*i,-1*o),f=h.x-l.x,d=h.y-l.y,p=f*f+d*d,g=Math.sqrt(p);s=(u=(t.nodeRepulsion+e.nodeRepulsion)/p)*f/g,c=u*d/g}t.isLocked||(t.offsetX-=s,t.offsetY-=c),e.isLocked||(e.offsetX+=s,e.offsetY+=c)}},la=function(t,e,n,r){if(n>0)var i=t.maxX-e.minX;else i=e.maxX-t.minX;if(r>0)var o=t.maxY-e.minY;else o=e.maxY-t.minY;return i>=0&&o>=0?Math.sqrt(i*i+o*o):0},ha=function(t,e,n){var r=t.positionX,i=t.positionY,o=t.height||1,a=t.width||1,s=n/e,c=o/a,u={};return 0===e&&0n?(u.x=r,u.y=i+o/2,u):0e&&-1*c<=s&&s<=c?(u.x=r-a/2,u.y=i-a*n/2/e,u):0=c)?(u.x=r+o*e/2/n,u.y=i+o/2,u):0>n&&(s<=-1*c||s>=c)?(u.x=r-o*e/2/n,u.y=i-o/2,u):u},fa=function(t,e){for(var n=0;n1){var p=e.gravity*h/d,g=e.gravity*f/d;l.offsetX+=p,l.offsetY+=g}}}}},pa=function(t,e){var n=[],r=0,i=-1;for(n.push.apply(n,t.graphSet[0]),i+=t.graphSet[0].length;r<=i;){var o=n[r++],a=t.idToIndex[o],s=t.layoutNodes[a],c=s.children;if(0n)var i={x:n*t/r,y:n*e/r};else i={x:t,y:e};return i},ba=function t(e,n){var r=e.parentId;if(null!=r){var i=n.layoutNodes[n.idToIndex[r]],o=!1;return(null==i.maxX||e.maxX+i.padRight>i.maxX)&&(i.maxX=e.maxX+i.padRight,o=!0),(null==i.minX||e.minX-i.padLefti.maxY)&&(i.maxY=e.maxY+i.padBottom,o=!0),(null==i.minY||e.minY-i.padTopp&&(h+=d+e.componentSpacing,l=0,f=0,d=0)}}},ma={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,avoidOverlapPadding:10,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,condense:!1,rows:void 0,cols:void 0,position:function(t){},sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(t,e){return!0},ready:void 0,stop:void 0,transform:function(t,e){return e}};function wa(t){this.options=Q({},ma,t)}wa.prototype.run=function(){var t=this.options,e=t,n=t.cy,r=e.eles,i=r.nodes().not(":parent");e.sort&&(i=i.sort(e.sort));var o=pe(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:n.width(),h:n.height()});if(0===o.h||0===o.w)r.nodes().layoutPositions(this,e,(function(t){return{x:o.x1,y:o.y1}}));else{var a=i.size(),s=Math.sqrt(a*o.h/o.w),c=Math.round(s),u=Math.round(o.w/o.h*s),l=function(t){if(null==t)return Math.min(c,u);Math.min(c,u)==c?c=t:u=t},h=function(t){if(null==t)return Math.max(c,u);Math.max(c,u)==c?c=t:u=t},f=e.rows,d=null!=e.cols?e.cols:e.columns;if(null!=f&&null!=d)c=f,u=d;else if(null!=f&&null==d)c=f,u=Math.ceil(a/c);else if(null==f&&null!=d)u=d,c=Math.ceil(a/u);else if(u*c>a){var p=l(),g=h();(p-1)*g>=a?l(p-1):(g-1)*p>=a&&h(g-1)}else for(;u*c=a?h(b+1):l(v+1)}var y=o.w/u,m=o.h/c;if(e.condense&&(y=0,m=0),e.avoidOverlap)for(var w=0;w=u&&(L=0,O++)},M={},P=0;P(r=Ne(t,e,w[x],w[x+1],w[x+2],w[x+3])))return v(n,r),!0}else if("bezier"===o.edgeType||"multibezier"===o.edgeType||"self"===o.edgeType||"compound"===o.edgeType)for(w=o.allpts,x=0;x+5(r=Ce(t,e,w[x],w[x+1],w[x+2],w[x+3],w[x+4],w[x+5])))return v(n,r),!0;y=y||i.source,m=m||i.target;var _=a.getArrowWidth(c,l),E=[{name:"source",x:o.arrowStartX,y:o.arrowStartY,angle:o.srcArrowAngle},{name:"target",x:o.arrowEndX,y:o.arrowEndY,angle:o.tgtArrowAngle},{name:"mid-source",x:o.midX,y:o.midY,angle:o.midsrcArrowAngle},{name:"mid-target",x:o.midX,y:o.midY,angle:o.midtgtArrowAngle}];for(x=0;x0&&(b(y),b(m))}function m(t,e,n){return Dt(t,e,n)}function w(n,r){var i,o=n._private,a=p;i=r?r+"-":"",n.boundingBox();var s=o.labelBounds[r||"main"],c=n.pstyle(i+"label").value;if("yes"===n.pstyle("text-events").strValue&&c){var u=m(o.rscratch,"labelX",r),l=m(o.rscratch,"labelY",r),h=m(o.rscratch,"labelAngle",r),f=n.pstyle(i+"text-margin-x").pfValue,d=n.pstyle(i+"text-margin-y").pfValue,g=s.x1-a-f,b=s.x2+a-f,y=s.y1-a-d,w=s.y2+a-d;if(h){var x=Math.cos(h),_=Math.sin(h),E=function(t,e){return{x:(t-=u)*x-(e-=l)*_+u,y:t*_+e*x+l}},k=E(g,y),T=E(g,w),C=E(b,y),N=E(b,w),A=[k.x+f,k.y+d,C.x+f,C.y+d,N.x+f,N.y+d,T.x+f,T.y+d];if(Ae(t,e,A))return v(n),!0}else if(xe(s,t,e))return v(n),!0}}n&&(c=c.interactive);for(var x=c.length-1;x>=0;x--){var _=c[x];_.isNode()?b(_)||w(_):y(_)||w(_)||w(_,"source")||w(_,"target")}return u},getAllInBox:function(t,e,n,r){for(var i,o,a=this.getCachedZSortedEles().interactive,s=[],c=Math.min(t,n),u=Math.max(t,n),l=Math.min(e,r),h=Math.max(e,r),f=pe({x1:t=c,y1:e=l,x2:n=u,y2:r=h}),d=0;d0?Math.max(t-e,0):Math.min(t+e,0)},N=C(k,_),A=C(T,E),S=!1;"auto"===v?g=Math.abs(N)>Math.abs(A)?i:r:v===c||v===s?(g=r,S=!0):v!==o&&v!==a||(g=i,S=!0);var O,L=g===r,I=L?A:N,M=L?T:k,P=se(M),D=!1;S&&(y||w)||!(v===s&&M<0||v===c&&M>0||v===o&&M>0||v===a&&M<0)||(I=(P*=-1)*Math.abs(I),D=!0);var R=function(t){return Math.abs(t)=Math.abs(I)},j=R(O=y?(m<0?1+m:m)*I:(m<0?I:0)+m*P),G=R(Math.abs(I)-Math.abs(O));if(!j&&!G||D)if(L){var B=u.y1+O+(p?h/2*P:0),F=u.x1,H=u.x2;n.segpts=[F,B,H,B]}else{var Y=u.x1+O+(p?l/2*P:0),z=u.y1,U=u.y2;n.segpts=[Y,z,Y,U]}else if(L){var V=Math.abs(M)<=h/2,q=Math.abs(k)<=f/2;if(V){var X=(u.x1+u.x2)/2,W=u.y1,$=u.y2;n.segpts=[X,W,X,$]}else if(q){var Z=(u.y1+u.y2)/2,K=u.x1,Q=u.x2;n.segpts=[K,Z,Q,Z]}else n.segpts=[u.x1,u.y2]}else{var J=Math.abs(M)<=l/2,tt=Math.abs(T)<=d/2;if(J){var et=(u.y1+u.y2)/2,nt=u.x1,rt=u.x2;n.segpts=[nt,et,rt,et]}else if(tt){var it=(u.x1+u.x2)/2,ot=u.y1,at=u.y2;n.segpts=[it,ot,it,at]}else n.segpts=[u.x2,u.y1]}},Pa.tryToCorrectInvalidPoints=function(t,e){var n=t._private.rscratch;if("bezier"===n.edgeType){var r=e.srcPos,i=e.tgtPos,o=e.srcW,a=e.srcH,s=e.tgtW,c=e.tgtH,u=e.srcShape,l=e.tgtShape,h=!I(n.startX)||!I(n.startY),f=!I(n.arrowStartX)||!I(n.arrowStartY),d=!I(n.endX)||!I(n.endY),p=!I(n.arrowEndX)||!I(n.arrowEndY),g=this.getArrowWidth(t.pstyle("width").pfValue,t.pstyle("arrow-scale").value)*this.arrowShapeWidth*3,v=ce({x:n.ctrlpts[0],y:n.ctrlpts[1]},{x:n.startX,y:n.startY}),b=vf.poolIndex()){var d=h;h=f,f=d}var p=s.srcPos=h.position(),g=s.tgtPos=f.position(),v=s.srcW=h.outerWidth(),b=s.srcH=h.outerHeight(),y=s.tgtW=f.outerWidth(),m=s.tgtH=f.outerHeight(),w=s.srcShape=n.nodeShapes[e.getNodeShape(h)],x=s.tgtShape=n.nodeShapes[e.getNodeShape(f)];s.dirCounts={north:0,west:0,south:0,east:0,northwest:0,southwest:0,northeast:0,southeast:0};for(var _=0;_0){var Y=u,z=ue(Y,ie(e)),U=ue(Y,ie(H)),V=z;U2&&ue(Y,{x:H[2],y:H[3]})0){var it=l,ot=ue(it,ie(e)),at=ue(it,ie(rt)),st=ot;at2&&ue(it,{x:rt[2],y:rt[3]})=u||y){l={cp:g,segment:b};break}}if(l)break}var m=l.cp,w=l.segment,x=(u-f)/w.length,_=w.t1-w.t0,E=s?w.t0+_*x:w.t1-_*x;E=de(0,E,1),e=fe(m.p0,m.p1,m.p2,E),i=function(t,e,n,r){var i=de(0,r-.001,1),o=de(0,r+.001,1),a=fe(t,e,n,i),s=fe(t,e,n,o);return Ha(a,s)}(m.p0,m.p1,m.p2,E);break;case"straight":case"segments":case"haystack":for(var k,T,C,N,A=0,S=r.allpts.length,O=0;O+3=u));O+=2);var L=(u-T)/k;L=de(0,L,1),e=function(t,e,n,r){var i=e.x-t.x,o=e.y-t.y,a=ce(t,e),s=i/a,c=o/a;return n=null==n?0:n,r=null!=r?r:n*a,{x:t.x+s*r,y:t.y+c*r}}(C,N,L),i=Ha(C,N)}a("labelX",n,e.x),a("labelY",n,e.y),a("labelAutoAngle",n,i)}};u("source"),u("target"),this.applyLabelDimensions(t)}},Ba.applyLabelDimensions=function(t){this.applyPrefixedLabelDimensions(t),t.isEdge()&&(this.applyPrefixedLabelDimensions(t,"source"),this.applyPrefixedLabelDimensions(t,"target"))},Ba.applyPrefixedLabelDimensions=function(t,e){var n=t._private,r=this.getLabelText(t,e),i=this.calculateLabelDimensions(t,r),o=t.pstyle("line-height").pfValue,a=t.pstyle("text-wrap").strValue,s=Dt(n.rscratch,"labelWrapCachedLines",e)||[],c="wrap"!==a?1:Math.max(s.length,1),u=i.height/c,l=u*o,h=i.width,f=i.height+(c-1)*(o-1)*u;Rt(n.rstyle,"labelWidth",e,h),Rt(n.rscratch,"labelWidth",e,h),Rt(n.rstyle,"labelHeight",e,f),Rt(n.rscratch,"labelHeight",e,f),Rt(n.rscratch,"labelLineHeight",e,l)},Ba.getLabelText=function(t,e){var n=t._private,r=e?e+"-":"",i=t.pstyle(r+"label").strValue,o=t.pstyle("text-transform").value,a=function(t,r){return r?(Rt(n.rscratch,t,e,r),r):Dt(n.rscratch,t,e)};if(!i)return"";"none"==o||("uppercase"==o?i=i.toUpperCase():"lowercase"==o&&(i=i.toLowerCase()));var s=t.pstyle("text-wrap").value;if("wrap"===s){var c=a("labelKey");if(null!=c&&a("labelWrapKey")===c)return a("labelWrapCachedText");for(var u=i.split("\n"),l=t.pstyle("text-max-width").pfValue,h="anywhere"===t.pstyle("text-overflow-wrap").value,f=[],d=/[\s\u200b]+/,p=h?"":" ",g=0;gl){for(var m=v.split(d),w="",x=0;xk);N++)T+=i[N],N===i.length-1&&(C=!0);return C||(T+="…"),T}return i},Ba.getLabelJustification=function(t){var e=t.pstyle("text-justification").strValue,n=t.pstyle("text-halign").strValue;if("auto"!==e)return e;if(!t.isNode())return"center";switch(n){case"left":return"right";case"right":return"left";default:return"center"}},Ba.calculateLabelDimensions=function(t,e){var n=pt(e,t._private.labelDimsKey),r=this.labelDimCache||(this.labelDimCache=[]),i=r[n];if(null!=i)return i;var o=t.pstyle("font-style").strValue,a=t.pstyle("font-size").pfValue,s=t.pstyle("font-family").strValue,c=t.pstyle("font-weight").strValue,u=this.labelCalcCanvas,l=this.labelCalcCanvasContext;if(!u){u=this.labelCalcCanvas=document.createElement("canvas"),l=this.labelCalcCanvasContext=u.getContext("2d");var h=u.style;h.position="absolute",h.left="-9999px",h.top="-9999px",h.zIndex="-1",h.visibility="hidden",h.pointerEvents="none"}l.font="".concat(o," ").concat(c," ").concat(a,"px ").concat(s);for(var f=0,d=0,p=e.split("\n"),g=0;g1&&void 0!==arguments[1])||arguments[1];if(e.merge(t),n)for(var r=0;r=t.desktopTapThreshold2}var C=i(e);v&&(t.hoverData.tapholdCancelled=!0),n=!0,r(g,["mousemove","vmousemove","tapdrag"],e,{x:u[0],y:u[1]});var N=function(){t.data.bgActivePosistion=void 0,t.hoverData.selecting||a.emit({originalEvent:e,type:"boxstart",position:{x:u[0],y:u[1]}}),p[4]=1,t.hoverData.selecting=!0,t.redrawHint("select",!0),t.redraw()};if(3===t.hoverData.which){if(v){var A={originalEvent:e,type:"cxtdrag",position:{x:u[0],y:u[1]}};y?y.emit(A):a.emit(A),t.hoverData.cxtDragged=!0,t.hoverData.cxtOver&&g===t.hoverData.cxtOver||(t.hoverData.cxtOver&&t.hoverData.cxtOver.emit({originalEvent:e,type:"cxtdragout",position:{x:u[0],y:u[1]}}),t.hoverData.cxtOver=g,g&&g.emit({originalEvent:e,type:"cxtdragover",position:{x:u[0],y:u[1]}}))}}else if(t.hoverData.dragging){if(n=!0,a.panningEnabled()&&a.userPanningEnabled()){var S;if(t.hoverData.justStartedPan){var O=t.hoverData.mdownPos;S={x:(u[0]-O[0])*s,y:(u[1]-O[1])*s},t.hoverData.justStartedPan=!1}else S={x:m[0]*s,y:m[1]*s};a.panBy(S),a.emit("dragpan"),t.hoverData.dragged=!0}u=t.projectIntoViewport(e.clientX,e.clientY)}else if(1!=p[4]||null!=y&&!y.pannable()){if(y&&y.pannable()&&y.active()&&y.unactivate(),y&&y.grabbed()||g==b||(b&&r(b,["mouseout","tapdragout"],e,{x:u[0],y:u[1]}),g&&r(g,["mouseover","tapdragover"],e,{x:u[0],y:u[1]}),t.hoverData.last=g),y)if(v){if(a.boxSelectionEnabled()&&C)y&&y.grabbed()&&(f(w),y.emit("freeon"),w.emit("free"),t.dragData.didDrag&&(y.emit("dragfreeon"),w.emit("dragfree"))),N();else if(y&&y.grabbed()&&t.nodeIsDraggable(y)){var L=!t.dragData.didDrag;L&&t.redrawHint("eles",!0),t.dragData.didDrag=!0,t.hoverData.draggingEles||l(w,{inDragLayer:!0});var M={x:0,y:0};if(I(m[0])&&I(m[1])&&(M.x+=m[0],M.y+=m[1],L)){var P=t.hoverData.dragDelta;P&&I(P[0])&&I(P[1])&&(M.x+=P[0],M.y+=P[1])}t.hoverData.draggingEles=!0,w.silentShift(M).emit("position drag"),t.redrawHint("drag",!0),t.redraw()}}else!function(){var e=t.hoverData.dragDelta=t.hoverData.dragDelta||[];0===e.length?(e.push(m[0]),e.push(m[1])):(e[0]+=m[0],e[1]+=m[1])}();n=!0}else v&&(t.hoverData.dragging||!a.boxSelectionEnabled()||!C&&a.panningEnabled()&&a.userPanningEnabled()?!t.hoverData.selecting&&a.panningEnabled()&&a.userPanningEnabled()&&o(y,t.hoverData.downs)&&(t.hoverData.dragging=!0,t.hoverData.justStartedPan=!0,p[4]=0,t.data.bgActivePosistion=ie(h),t.redrawHint("select",!0),t.redraw()):N(),y&&y.pannable()&&y.active()&&y.unactivate());return p[2]=u[0],p[3]=u[1],n?(e.stopPropagation&&e.stopPropagation(),e.preventDefault&&e.preventDefault(),!1):void 0}}),!1),t.registerBinding(e,"mouseup",(function(e){if(t.hoverData.capture){t.hoverData.capture=!1;var o=t.cy,a=t.projectIntoViewport(e.clientX,e.clientY),s=t.selection,c=t.findNearestElement(a[0],a[1],!0,!1),u=t.dragData.possibleDragElements,l=t.hoverData.down,h=i(e);if(t.data.bgActivePosistion&&(t.redrawHint("select",!0),t.redraw()),t.hoverData.tapholdCancelled=!0,t.data.bgActivePosistion=void 0,l&&l.unactivate(),3===t.hoverData.which){var d={originalEvent:e,type:"cxttapend",position:{x:a[0],y:a[1]}};if(l?l.emit(d):o.emit(d),!t.hoverData.cxtDragged){var p={originalEvent:e,type:"cxttap",position:{x:a[0],y:a[1]}};l?l.emit(p):o.emit(p)}t.hoverData.cxtDragged=!1,t.hoverData.which=null}else if(1===t.hoverData.which){if(r(c,["mouseup","tapend","vmouseup"],e,{x:a[0],y:a[1]}),t.dragData.didDrag||t.hoverData.dragged||t.hoverData.selecting||t.hoverData.isOverThresholdDrag||(r(l,["click","tap","vclick"],e,{x:a[0],y:a[1]}),w=!1,e.timeStamp-x<=o.multiClickDebounceTime()?(m&&clearTimeout(m),w=!0,x=null,r(l,["dblclick","dbltap","vdblclick"],e,{x:a[0],y:a[1]})):(m=setTimeout((function(){w||r(l,["oneclick","onetap","voneclick"],e,{x:a[0],y:a[1]})}),o.multiClickDebounceTime()),x=e.timeStamp)),null!=l||t.dragData.didDrag||t.hoverData.selecting||t.hoverData.dragged||i(e)||(o.$(n).unselect(["tapunselect"]),u.length>0&&t.redrawHint("eles",!0),t.dragData.possibleDragElements=u=o.collection()),c!=l||t.dragData.didDrag||t.hoverData.selecting||null!=c&&c._private.selectable&&(t.hoverData.dragging||("additive"===o.selectionType()||h?c.selected()?c.unselect(["tapunselect"]):c.select(["tapselect"]):h||(o.$(n).unmerge(c).unselect(["tapunselect"]),c.select(["tapselect"]))),t.redrawHint("eles",!0)),t.hoverData.selecting){var g=o.collection(t.getAllInBox(s[0],s[1],s[2],s[3]));t.redrawHint("select",!0),g.length>0&&t.redrawHint("eles",!0),o.emit({type:"boxend",originalEvent:e,position:{x:a[0],y:a[1]}});"additive"===o.selectionType()||h||o.$(n).unmerge(g).unselect(),g.emit("box").stdFilter((function(t){return t.selectable()&&!t.selected()})).select().emit("boxselect"),t.redraw()}if(t.hoverData.dragging&&(t.hoverData.dragging=!1,t.redrawHint("select",!0),t.redrawHint("eles",!0),t.redraw()),!s[4]){t.redrawHint("drag",!0),t.redrawHint("eles",!0);var v=l&&l.grabbed();f(u),v&&(l.emit("freeon"),u.emit("free"),t.dragData.didDrag&&(l.emit("dragfreeon"),u.emit("dragfree")))}}s[4]=0,t.hoverData.down=null,t.hoverData.cxtStarted=!1,t.hoverData.draggingEles=!1,t.hoverData.selecting=!1,t.hoverData.isOverThresholdDrag=!1,t.dragData.didDrag=!1,t.hoverData.dragged=!1,t.hoverData.dragDelta=[],t.hoverData.mdownPos=null,t.hoverData.mdownGPos=null}}),!1);var E,k,T,C,N,A,S,O,L,M,P,D,R,j=function(e){if(!t.scrollingPage){var n=t.cy,r=n.zoom(),i=n.pan(),o=t.projectIntoViewport(e.clientX,e.clientY),a=[o[0]*r+i.x,o[1]*r+i.y];if(t.hoverData.draggingEles||t.hoverData.dragging||t.hoverData.cxtStarted||0!==t.selection[4])e.preventDefault();else if(n.panningEnabled()&&n.userPanningEnabled()&&n.zoomingEnabled()&&n.userZoomingEnabled()){var s;e.preventDefault(),t.data.wheelZooming=!0,clearTimeout(t.data.wheelTimeout),t.data.wheelTimeout=setTimeout((function(){t.data.wheelZooming=!1,t.redrawHint("eles",!0),t.redraw()}),150),s=null!=e.deltaY?e.deltaY/-250:null!=e.wheelDeltaY?e.wheelDeltaY/1e3:e.wheelDelta/1e3,s*=t.wheelSensitivity,1===e.deltaMode&&(s*=33);var c=n.zoom()*Math.pow(10,s);"gesturechange"===e.type&&(c=t.gestureStartZoom*e.scale),n.zoom({level:c,renderedPosition:{x:a[0],y:a[1]}}),n.emit("gesturechange"===e.type?"pinchzoom":"scrollzoom")}}};t.registerBinding(t.container,"wheel",j,!0),t.registerBinding(e,"scroll",(function(e){t.scrollingPage=!0,clearTimeout(t.scrollingPageTimeout),t.scrollingPageTimeout=setTimeout((function(){t.scrollingPage=!1}),250)}),!0),t.registerBinding(t.container,"gesturestart",(function(e){t.gestureStartZoom=t.cy.zoom(),t.hasTouchStarted||e.preventDefault()}),!0),t.registerBinding(t.container,"gesturechange",(function(e){t.hasTouchStarted||j(e)}),!0),t.registerBinding(t.container,"mouseout",(function(e){var n=t.projectIntoViewport(e.clientX,e.clientY);t.cy.emit({originalEvent:e,type:"mouseout",position:{x:n[0],y:n[1]}})}),!1),t.registerBinding(t.container,"mouseover",(function(e){var n=t.projectIntoViewport(e.clientX,e.clientY);t.cy.emit({originalEvent:e,type:"mouseover",position:{x:n[0],y:n[1]}})}),!1);var G,B,F,H,Y,z,U,V=function(t,e,n,r){return Math.sqrt((n-t)*(n-t)+(r-e)*(r-e))},q=function(t,e,n,r){return(n-t)*(n-t)+(r-e)*(r-e)};if(t.registerBinding(t.container,"touchstart",G=function(e){if(t.hasTouchStarted=!0,_(e)){p(),t.touchData.capture=!0,t.data.bgActivePosistion=void 0;var n=t.cy,i=t.touchData.now,o=t.touchData.earlier;if(e.touches[0]){var a=t.projectIntoViewport(e.touches[0].clientX,e.touches[0].clientY);i[0]=a[0],i[1]=a[1]}if(e.touches[1]&&(a=t.projectIntoViewport(e.touches[1].clientX,e.touches[1].clientY),i[2]=a[0],i[3]=a[1]),e.touches[2]&&(a=t.projectIntoViewport(e.touches[2].clientX,e.touches[2].clientY),i[4]=a[0],i[5]=a[1]),e.touches[1]){t.touchData.singleTouchMoved=!0,f(t.dragData.touchDragEles);var c=t.findContainerClientCoords();L=c[0],M=c[1],P=c[2],D=c[3],E=e.touches[0].clientX-L,k=e.touches[0].clientY-M,T=e.touches[1].clientX-L,C=e.touches[1].clientY-M,R=0<=E&&E<=P&&0<=T&&T<=P&&0<=k&&k<=D&&0<=C&&C<=D;var u=n.pan(),d=n.zoom();if(N=V(E,k,T,C),A=q(E,k,T,C),O=[((S=[(E+T)/2,(k+C)/2])[0]-u.x)/d,(S[1]-u.y)/d],A<4e4&&!e.touches[2]){var g=t.findNearestElement(i[0],i[1],!0,!0),v=t.findNearestElement(i[2],i[3],!0,!0);return g&&g.isNode()?(g.activate().emit({originalEvent:e,type:"cxttapstart",position:{x:i[0],y:i[1]}}),t.touchData.start=g):v&&v.isNode()?(v.activate().emit({originalEvent:e,type:"cxttapstart",position:{x:i[0],y:i[1]}}),t.touchData.start=v):n.emit({originalEvent:e,type:"cxttapstart",position:{x:i[0],y:i[1]}}),t.touchData.start&&(t.touchData.start._private.grabbed=!1),t.touchData.cxt=!0,t.touchData.cxtDragged=!1,t.data.bgActivePosistion=void 0,void t.redraw()}}if(e.touches[2])n.boxSelectionEnabled()&&e.preventDefault();else if(e.touches[1]);else if(e.touches[0]){var b=t.findNearestElements(i[0],i[1],!0,!0),y=b[0];if(null!=y&&(y.activate(),t.touchData.start=y,t.touchData.starts=b,t.nodeIsGrabbable(y))){var m=t.dragData.touchDragEles=n.collection(),w=null;t.redrawHint("eles",!0),t.redrawHint("drag",!0),y.selected()?(w=n.$((function(e){return e.selected()&&t.nodeIsGrabbable(e)})),l(w,{addToList:m})):h(y,{addToList:m}),s(y);var x=function(t){return{originalEvent:e,type:t,position:{x:i[0],y:i[1]}}};y.emit(x("grabon")),w?w.forEach((function(t){t.emit(x("grab"))})):y.emit(x("grab"))}r(y,["touchstart","tapstart","vmousedown"],e,{x:i[0],y:i[1]}),null==y&&(t.data.bgActivePosistion={x:a[0],y:a[1]},t.redrawHint("select",!0),t.redraw()),t.touchData.singleTouchMoved=!1,t.touchData.singleTouchStartTime=+new Date,clearTimeout(t.touchData.tapholdTimeout),t.touchData.tapholdTimeout=setTimeout((function(){!1!==t.touchData.singleTouchMoved||t.pinching||t.touchData.selecting||r(t.touchData.start,["taphold"],e,{x:i[0],y:i[1]})}),t.tapholdDuration)}if(e.touches.length>=1){for(var I=t.touchData.startPosition=[null,null,null,null,null,null],j=0;j=t.touchTapThreshold2}if(n&&t.touchData.cxt){e.preventDefault();var w=e.touches[0].clientX-L,x=e.touches[0].clientY-M,S=e.touches[1].clientX-L,P=e.touches[1].clientY-M,D=q(w,x,S,P);if(D/A>=2.25||D>=22500){t.touchData.cxt=!1,t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var j={originalEvent:e,type:"cxttapend",position:{x:s[0],y:s[1]}};t.touchData.start?(t.touchData.start.unactivate().emit(j),t.touchData.start=null):a.emit(j)}}if(n&&t.touchData.cxt){j={originalEvent:e,type:"cxtdrag",position:{x:s[0],y:s[1]}},t.data.bgActivePosistion=void 0,t.redrawHint("select",!0),t.touchData.start?t.touchData.start.emit(j):a.emit(j),t.touchData.start&&(t.touchData.start._private.grabbed=!1),t.touchData.cxtDragged=!0;var G=t.findNearestElement(s[0],s[1],!0,!0);t.touchData.cxtOver&&G===t.touchData.cxtOver||(t.touchData.cxtOver&&t.touchData.cxtOver.emit({originalEvent:e,type:"cxtdragout",position:{x:s[0],y:s[1]}}),t.touchData.cxtOver=G,G&&G.emit({originalEvent:e,type:"cxtdragover",position:{x:s[0],y:s[1]}}))}else if(n&&e.touches[2]&&a.boxSelectionEnabled())e.preventDefault(),t.data.bgActivePosistion=void 0,this.lastThreeTouch=+new Date,t.touchData.selecting||a.emit({originalEvent:e,type:"boxstart",position:{x:s[0],y:s[1]}}),t.touchData.selecting=!0,t.touchData.didSelect=!0,i[4]=1,i&&0!==i.length&&void 0!==i[0]?(i[2]=(s[0]+s[2]+s[4])/3,i[3]=(s[1]+s[3]+s[5])/3):(i[0]=(s[0]+s[2]+s[4])/3,i[1]=(s[1]+s[3]+s[5])/3,i[2]=(s[0]+s[2]+s[4])/3+1,i[3]=(s[1]+s[3]+s[5])/3+1),t.redrawHint("select",!0),t.redraw();else if(n&&e.touches[1]&&!t.touchData.didSelect&&a.zoomingEnabled()&&a.panningEnabled()&&a.userZoomingEnabled()&&a.userPanningEnabled()){if(e.preventDefault(),t.data.bgActivePosistion=void 0,t.redrawHint("select",!0),tt=t.dragData.touchDragEles){t.redrawHint("drag",!0);for(var B=0;B0&&!t.hoverData.draggingEles&&!t.swipePanning&&null!=t.data.bgActivePosistion&&(t.data.bgActivePosistion=void 0,t.redrawHint("select",!0),t.redraw())}},!1),t.registerBinding(e,"touchcancel",F=function(e){var n=t.touchData.start;t.touchData.capture=!1,n&&n.unactivate()}),t.registerBinding(e,"touchend",H=function(e){var i=t.touchData.start;if(t.touchData.capture){0===e.touches.length&&(t.touchData.capture=!1),e.preventDefault();var o=t.selection;t.swipePanning=!1,t.hoverData.draggingEles=!1;var a,s=t.cy,c=s.zoom(),u=t.touchData.now,l=t.touchData.earlier;if(e.touches[0]){var h=t.projectIntoViewport(e.touches[0].clientX,e.touches[0].clientY);u[0]=h[0],u[1]=h[1]}if(e.touches[1]&&(h=t.projectIntoViewport(e.touches[1].clientX,e.touches[1].clientY),u[2]=h[0],u[3]=h[1]),e.touches[2]&&(h=t.projectIntoViewport(e.touches[2].clientX,e.touches[2].clientY),u[4]=h[0],u[5]=h[1]),i&&i.unactivate(),t.touchData.cxt){if(a={originalEvent:e,type:"cxttapend",position:{x:u[0],y:u[1]}},i?i.emit(a):s.emit(a),!t.touchData.cxtDragged){var d={originalEvent:e,type:"cxttap",position:{x:u[0],y:u[1]}};i?i.emit(d):s.emit(d)}return t.touchData.start&&(t.touchData.start._private.grabbed=!1),t.touchData.cxt=!1,t.touchData.start=null,void t.redraw()}if(!e.touches[2]&&s.boxSelectionEnabled()&&t.touchData.selecting){t.touchData.selecting=!1;var p=s.collection(t.getAllInBox(o[0],o[1],o[2],o[3]));o[0]=void 0,o[1]=void 0,o[2]=void 0,o[3]=void 0,o[4]=0,t.redrawHint("select",!0),s.emit({type:"boxend",originalEvent:e,position:{x:u[0],y:u[1]}}),p.emit("box").stdFilter((function(t){return t.selectable()&&!t.selected()})).select().emit("boxselect"),p.nonempty()&&t.redrawHint("eles",!0),t.redraw()}if(null!=i&&i.unactivate(),e.touches[2])t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);else if(e.touches[1]);else if(e.touches[0]);else if(!e.touches[0]){t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var g=t.dragData.touchDragEles;if(null!=i){var v=i._private.grabbed;f(g),t.redrawHint("drag",!0),t.redrawHint("eles",!0),v&&(i.emit("freeon"),g.emit("free"),t.dragData.didDrag&&(i.emit("dragfreeon"),g.emit("dragfree"))),r(i,["touchend","tapend","vmouseup","tapdragout"],e,{x:u[0],y:u[1]}),i.unactivate(),t.touchData.start=null}else{var b=t.findNearestElement(u[0],u[1],!0,!0);r(b,["touchend","tapend","vmouseup","tapdragout"],e,{x:u[0],y:u[1]})}var y=t.touchData.startPosition[0]-u[0],m=y*y,w=t.touchData.startPosition[1]-u[1],x=(m+w*w)*c*c;t.touchData.singleTouchMoved||(i||s.$(":selected").unselect(["tapunselect"]),r(i,["tap","vclick"],e,{x:u[0],y:u[1]}),Y=!1,e.timeStamp-U<=s.multiClickDebounceTime()?(z&&clearTimeout(z),Y=!0,U=null,r(i,["dbltap","vdblclick"],e,{x:u[0],y:u[1]})):(z=setTimeout((function(){Y||r(i,["onetap","voneclick"],e,{x:u[0],y:u[1]})}),s.multiClickDebounceTime()),U=e.timeStamp)),null!=i&&!t.dragData.didDrag&&i._private.selectable&&x2){for(var A=[u[0],u[1]],S=Math.pow(A[0]-t,2)+Math.pow(A[1]-e,2),O=1;O0)return g[0]}return null},f=Object.keys(l),d=0;d0?c:Ee(i,o,t,e,n,r,a)},checkPoint:function(t,e,n,r,i,o,a){var s=He(r,i),c=2*s;if(Se(t,e,this.points,o,a,r,i-c,[0,-1],n))return!0;if(Se(t,e,this.points,o,a,r-c,i,[0,-1],n))return!0;var u=r/2+2*n,l=i/2+2*n;return!!Ae(t,e,[o-u,a-l,o-u,a,o+u,a,o+u,a-l])||!!Ie(t,e,c,c,o+r/2-s,a+i/2-s,n)||!!Ie(t,e,c,c,o-r/2+s,a+i/2-s,n)}}},registerNodeShapes:function(){var t=this.nodeShapes={},e=this;this.generateEllipse(),this.generatePolygon("triangle",Ge(3,0)),this.generateRoundPolygon("round-triangle",Ge(3,0)),this.generatePolygon("rectangle",Ge(4,0)),t.square=t.rectangle,this.generateRoundRectangle(),this.generateCutRectangle(),this.generateBarrel(),this.generateBottomRoundrectangle();var n=[0,1,1,0,0,-1,-1,0];this.generatePolygon("diamond",n),this.generateRoundPolygon("round-diamond",n),this.generatePolygon("pentagon",Ge(5,0)),this.generateRoundPolygon("round-pentagon",Ge(5,0)),this.generatePolygon("hexagon",Ge(6,0)),this.generateRoundPolygon("round-hexagon",Ge(6,0)),this.generatePolygon("heptagon",Ge(7,0)),this.generateRoundPolygon("round-heptagon",Ge(7,0)),this.generatePolygon("octagon",Ge(8,0)),this.generateRoundPolygon("round-octagon",Ge(8,0));var r=new Array(20),i=Fe(5,0),o=Fe(5,Math.PI/5),a=.5*(3-Math.sqrt(5));a*=1.57;for(var s=0;s=t.deqFastCost*g)break}else if(i){if(d>=t.deqCost*c||d>=t.deqAvgCost*s)break}else if(p>=t.deqNoDrawCost*Ja)break;var v=t.deq(e,h,l);if(!(v.length>0))break;for(var b=0;b0&&(t.onDeqd(e,u),!i&&t.shouldRedraw(e,u,h,l)&&r())}),i(e))}}},es=function(){function t(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:_t;g(this,t),this.idsByKey=new jt,this.keyForId=new jt,this.cachesByLvl=new jt,this.lvls=[],this.getKey=e,this.doesEleInvalidateKey=n}return b(t,[{key:"getIdsFor",value:function(t){null==t&&Tt("Can not get id list for null key");var e=this.idsByKey,n=this.idsByKey.get(t);return n||(n=new Bt,e.set(t,n)),n}},{key:"addIdForKey",value:function(t,e){null!=t&&this.getIdsFor(t).add(e)}},{key:"deleteIdForKey",value:function(t,e){null!=t&&this.getIdsFor(t).delete(e)}},{key:"getNumberOfIdsForKey",value:function(t){return null==t?0:this.getIdsFor(t).size}},{key:"updateKeyMappingFor",value:function(t){var e=t.id(),n=this.keyForId.get(e),r=this.getKey(t);this.deleteIdForKey(n,e),this.addIdForKey(r,e),this.keyForId.set(e,r)}},{key:"deleteKeyMappingFor",value:function(t){var e=t.id(),n=this.keyForId.get(e);this.deleteIdForKey(n,e),this.keyForId.delete(e)}},{key:"keyHasChangedFor",value:function(t){var e=t.id();return this.keyForId.get(e)!==this.getKey(t)}},{key:"isInvalid",value:function(t){return this.keyHasChangedFor(t)||this.doesEleInvalidateKey(t)}},{key:"getCachesAt",value:function(t){var e=this.cachesByLvl,n=this.lvls,r=e.get(t);return r||(r=new jt,e.set(t,r),n.push(t)),r}},{key:"getCache",value:function(t,e){return this.getCachesAt(e).get(t)}},{key:"get",value:function(t,e){var n=this.getKey(t),r=this.getCache(n,e);return null!=r&&this.updateKeyMappingFor(t),r}},{key:"getForCachedKey",value:function(t,e){var n=this.keyForId.get(t.id());return this.getCache(n,e)}},{key:"hasCache",value:function(t,e){return this.getCachesAt(e).has(t)}},{key:"has",value:function(t,e){var n=this.getKey(t);return this.hasCache(n,e)}},{key:"setCache",value:function(t,e,n){n.key=t,this.getCachesAt(e).set(t,n)}},{key:"set",value:function(t,e,n){var r=this.getKey(t);this.setCache(r,e,n),this.updateKeyMappingFor(t)}},{key:"deleteCache",value:function(t,e){this.getCachesAt(e).delete(t)}},{key:"delete",value:function(t,e){var n=this.getKey(t);this.deleteCache(n,e)}},{key:"invalidateKey",value:function(t){var e=this;this.lvls.forEach((function(n){return e.deleteCache(t,n)}))}},{key:"invalidate",value:function(t){var e=t.id(),n=this.keyForId.get(e);this.deleteKeyMappingFor(t);var r=this.doesEleInvalidateKey(t);return r&&this.invalidateKey(n),r||0===this.getNumberOfIdsForKey(n)}}]),t}(),ns={dequeue:"dequeue",downscale:"downscale",highQuality:"highQuality"},rs=It({getKey:null,doesEleInvalidateKey:_t,drawElement:null,getBoundingBox:null,getRotationPoint:null,getRotationOffset:null,isVisible:xt,allowEdgeTxrCaching:!0,allowParentTxrCaching:!0}),is=function(t,e){var n=this;n.renderer=t,n.onDequeues=[];var r=rs(e);Q(n,r),n.lookup=new es(r.getKey,r.doesEleInvalidateKey),n.setupDequeueing()},os=is.prototype;os.reasons=ns,os.getTextureQueue=function(t){var e=this;return e.eleImgCaches=e.eleImgCaches||{},e.eleImgCaches[t]=e.eleImgCaches[t]||[]},os.getRetiredTextureQueue=function(t){var e=this.eleImgCaches.retired=this.eleImgCaches.retired||{};return e[t]=e[t]||[]},os.getElementQueue=function(){return this.eleCacheQueue=this.eleCacheQueue||new l.default((function(t,e){return e.reqs-t.reqs}))},os.getElementKeyToQueue=function(){return this.eleKeyToCacheQueue=this.eleKeyToCacheQueue||{}},os.getElement=function(t,e,n,r,i){var o=this,a=this.renderer,s=a.cy.zoom(),c=this.lookup;if(!e||0===e.w||0===e.h||isNaN(e.w)||isNaN(e.h)||!t.visible()||t.removed())return null;if(!o.allowEdgeTxrCaching&&t.isEdge()||!o.allowParentTxrCaching&&t.isParent())return null;if(null==r&&(r=Math.ceil(ae(s*n))),r<-4)r=-4;else if(s>=7.99||r>3)return null;var u=Math.pow(2,r),l=e.h*u,h=e.w*u,f=a.eleTextBiggerThanMin(t,u);if(!this.isVisible(t,f))return null;var d,p=c.get(t,r);if(p&&p.invalidated&&(p.invalidated=!1,p.texture.invalidatedWidth-=p.width),p)return p;if(d=l<=25?25:l<=50?50:50*Math.ceil(l/50),l>1024||h>1024)return null;var g=o.getTextureQueue(d),v=g[g.length-2],b=function(){return o.recycleTexture(d,h)||o.addTexture(d,h)};v||(v=g[g.length-1]),v||(v=b()),v.width-v.usedWidthr;N--)T=o.getElement(t,e,n,N,ns.downscale);C()}else{var A;if(!w&&!x&&!_)for(var S=r-1;S>=-4;S--){var O=c.get(t,S);if(O){A=O;break}}if(m(A))return o.queueElement(t,r),A;v.context.translate(v.usedWidth,0),v.context.scale(u,u),this.drawElement(v.context,t,e,f,!1),v.context.scale(1/u,1/u),v.context.translate(-v.usedWidth,0)}return p={x:v.usedWidth,texture:v,level:r,scale:u,width:h,height:l,scaledLabelShown:f},v.usedWidth+=Math.ceil(h+8),v.eleCaches.push(p),c.set(t,r,p),o.checkTextureFullness(v),p},os.invalidateElements=function(t){for(var e=0;e=.2*t.width&&this.retireTexture(t)},os.checkTextureFullness=function(t){var e=this.getTextureQueue(t.height);t.usedWidth/t.width>.8&&t.fullnessChecks>=10?Mt(e,t):t.fullnessChecks++},os.retireTexture=function(t){var e=t.height,n=this.getTextureQueue(e),r=this.lookup;Mt(n,t),t.retired=!0;for(var i=t.eleCaches,o=0;o=e)return o.retired=!1,o.usedWidth=0,o.invalidatedWidth=0,o.fullnessChecks=0,Pt(o.eleCaches),o.context.setTransform(1,0,0,1,0,0),o.context.clearRect(0,0,o.width,o.height),Mt(r,o),n.push(o),o}},os.queueElement=function(t,e){var n=this.getElementQueue(),r=this.getElementKeyToQueue(),i=this.getKey(t),o=r[i];if(o)o.level=Math.max(o.level,e),o.eles.merge(t),o.reqs++,n.updateItem(o);else{var a={eles:t.spawn().merge(t),level:e,reqs:1,key:i};n.push(a),r[i]=a}},os.dequeue=function(t){for(var e=this,n=e.getElementQueue(),r=e.getElementKeyToQueue(),i=[],o=e.lookup,a=0;a<1&&n.size()>0;a++){var s=n.pop(),c=s.key,u=s.eles[0],l=o.hasCache(u,s.level);if(r[c]=null,!l){i.push(s);var h=e.getBoundingBox(u);e.getElement(u,h,t,s.level,ns.dequeue)}}return i},os.removeFromQueue=function(t){var e=this.getElementQueue(),n=this.getElementKeyToQueue(),r=this.getKey(t),i=n[r];null!=i&&(1===i.eles.length?(i.reqs=wt,e.updateItem(i),e.pop(),n[r]=null):i.eles.unmerge(t))},os.onDequeue=function(t){this.onDequeues.push(t)},os.offDequeue=function(t){Mt(this.onDequeues,t)},os.setupDequeueing=ts({deqRedrawThreshold:100,deqCost:.15,deqAvgCost:.1,deqNoDrawCost:.9,deqFastCost:.9,deq:function(t,e,n){return t.dequeue(e,n)},onDeqd:function(t,e){for(var n=0;n=3.99||n>2)return null;r.validateLayersElesOrdering(n,t);var a,s,c=r.layersByLevel,u=Math.pow(2,n),l=c[n]=c[n]||[];if(r.levelIsComplete(n,t))return l;!function(){var e=function(e){if(r.validateLayersElesOrdering(e,t),r.levelIsComplete(e,t))return s=c[e],!0},i=function(t){if(!s)for(var r=n+t;-4<=r&&r<=2&&!e(r);r+=t);};i(1),i(-1);for(var o=l.length-1;o>=0;o--){var a=l[o];a.invalid&&Mt(l,a)}}();var h=function(e){var i=(e=e||{}).after;if(function(){if(!a){a=pe();for(var e=0;e16e6)return null;var o=r.makeLayer(a,n);if(null!=i){var s=l.indexOf(i)+1;l.splice(s,0,o)}else(void 0===e.insert||e.insert)&&l.unshift(o);return o};if(r.skipping&&!o)return null;for(var f=null,d=t.length/1,p=!o,g=0;g=d||!_e(f.bb,v.boundingBox()))&&!(f=h({insert:!0,after:f})))return null;s||p?r.queueLayer(f,v):r.drawEleInLayer(f,v,n,e),f.eles.push(v),y[n]=f}}return s||(p?null:l)},ss.getEleLevelForLayerLevel=function(t,e){return t},ss.drawEleInLayer=function(t,e,n,r){var i=this.renderer,o=t.context,a=e.boundingBox();0!==a.w&&0!==a.h&&e.visible()&&(n=this.getEleLevelForLayerLevel(n,r),i.setImgSmoothing(o,!1),i.drawCachedElement(o,e,null,null,n,!0),i.setImgSmoothing(o,!0))},ss.levelIsComplete=function(t,e){var n=this.layersByLevel[t];if(!n||0===n.length)return!1;for(var r=0,i=0;i0)return!1;if(o.invalid)return!1;r+=o.eles.length}return r===e.length},ss.validateLayersElesOrdering=function(t,e){var n=this.layersByLevel[t];if(n)for(var r=0;r0){t=!0;break}}return t},ss.invalidateElements=function(t){var e=this;0!==t.length&&(e.lastInvalidationTime=at(),0!==t.length&&e.haveLayers()&&e.updateElementsInLayers(t,(function(t,n,r){e.invalidateLayer(t)})))},ss.invalidateLayer=function(t){if(this.lastInvalidationTime=at(),!t.invalid){var e=t.level,n=t.eles,r=this.layersByLevel[e];Mt(r,t),t.elesQueue=[],t.invalid=!0,t.replacement&&(t.replacement.invalid=!0);for(var i=0;i3&&void 0!==arguments[3])||arguments[3],i=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],o=!(arguments.length>5&&void 0!==arguments[5])||arguments[5],a=this,s=e._private.rscratch;if((!o||e.visible())&&!s.badLine&&null!=s.allpts&&!isNaN(s.allpts[0])){var c;n&&(c=n,t.translate(-c.x1,-c.y1));var u=o?e.pstyle("opacity").value:1,l=o?e.pstyle("line-opacity").value:1,h=e.pstyle("curve-style").value,f=e.pstyle("line-style").value,d=e.pstyle("width").pfValue,p=e.pstyle("line-cap").value,g=u*l,v=u*l,b=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:g;"straight-triangle"===h?(a.eleStrokeStyle(t,e,n),a.drawEdgeTrianglePath(e,t,s.allpts)):(t.lineWidth=d,t.lineCap=p,a.eleStrokeStyle(t,e,n),a.drawEdgePath(e,t,s.allpts,f),t.lineCap="butt")},y=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:v;a.drawArrowheads(t,e,n)};if(t.lineJoin="round","yes"===e.pstyle("ghost").value){var m=e.pstyle("ghost-offset-x").pfValue,w=e.pstyle("ghost-offset-y").pfValue,x=e.pstyle("ghost-opacity").value,_=g*x;t.translate(m,w),b(_),y(_),t.translate(-m,-w)}i&&a.drawEdgeUnderlay(t,e),b(),y(),i&&a.drawEdgeOverlay(t,e),a.drawElementText(t,e,null,r),n&&t.translate(c.x1,c.y1)}}},Ts=function(t){if(!["overlay","underlay"].includes(t))throw new Error("Invalid state");return function(e,n){if(n.visible()){var r=n.pstyle("".concat(t,"-opacity")).value;if(0!==r){var i=this,o=i.usePaths(),a=n._private.rscratch,s=2*n.pstyle("".concat(t,"-padding")).pfValue,c=n.pstyle("".concat(t,"-color")).value;e.lineWidth=s,"self"!==a.edgeType||o?e.lineCap="round":e.lineCap="butt",i.colorStrokeStyle(e,c[0],c[1],c[2],r),i.drawEdgePath(n,e,a.allpts,"solid")}}}};ks.drawEdgeOverlay=Ts("overlay"),ks.drawEdgeUnderlay=Ts("underlay"),ks.drawEdgePath=function(t,e,n,r){var i,o=t._private.rscratch,a=e,s=!1,c=this.usePaths(),u=t.pstyle("line-dash-pattern").pfValue,l=t.pstyle("line-dash-offset").pfValue;if(c){var h=n.join("$");o.pathCacheKey&&o.pathCacheKey===h?(i=e=o.pathCache,s=!0):(i=e=new Path2D,o.pathCacheKey=h,o.pathCache=i)}if(a.setLineDash)switch(r){case"dotted":a.setLineDash([1,1]);break;case"dashed":a.setLineDash(u),a.lineDashOffset=l;break;case"solid":a.setLineDash([])}if(!s&&!o.badLine)switch(e.beginPath&&e.beginPath(),e.moveTo(n[0],n[1]),o.edgeType){case"bezier":case"self":case"compound":case"multibezier":for(var f=2;f+35&&void 0!==arguments[5]?arguments[5]:5,a=arguments.length>6?arguments[6]:void 0;t.beginPath(),t.moveTo(e+o,n),t.lineTo(e+r-o,n),t.quadraticCurveTo(e+r,n,e+r,n+o),t.lineTo(e+r,n+i-o),t.quadraticCurveTo(e+r,n+i,e+r-o,n+i),t.lineTo(e+o,n+i),t.quadraticCurveTo(e,n+i,e,n+i-o),t.lineTo(e,n+o),t.quadraticCurveTo(e,n,e+o,n),t.closePath(),a?t.stroke():t.fill()}Ns.eleTextBiggerThanMin=function(t,e){if(!e){var n=t.cy().zoom(),r=this.getPixelRatio(),i=Math.ceil(ae(n*r));e=Math.pow(2,i)}return!(t.pstyle("font-size").pfValue*e5&&void 0!==arguments[5])||arguments[5],a=this;if(null==r){if(o&&!a.eleTextBiggerThanMin(e))return}else if(!1===r)return;if(e.isNode()){var s=e.pstyle("label");if(!s||!s.value)return;var c=a.getLabelJustification(e);t.textAlign=c,t.textBaseline="bottom"}else{var u=e.element()._private.rscratch.badLine,l=e.pstyle("label"),h=e.pstyle("source-label"),f=e.pstyle("target-label");if(u||(!l||!l.value)&&(!h||!h.value)&&(!f||!f.value))return;t.textAlign="center",t.textBaseline="bottom"}var d,p=!n;n&&(d=n,t.translate(-d.x1,-d.y1)),null==i?(a.drawText(t,e,null,p,o),e.isEdge()&&(a.drawText(t,e,"source",p,o),a.drawText(t,e,"target",p,o))):a.drawText(t,e,i,p,o),n&&t.translate(d.x1,d.y1)},Ns.getFontCache=function(t){var e;this.fontCaches=this.fontCaches||[];for(var n=0;n2&&void 0!==arguments[2])||arguments[2],r=e.pstyle("font-style").strValue,i=e.pstyle("font-size").pfValue+"px",o=e.pstyle("font-family").strValue,a=e.pstyle("font-weight").strValue,s=n?e.effectiveOpacity()*e.pstyle("text-opacity").value:1,c=e.pstyle("text-outline-opacity").value*s,u=e.pstyle("color").value,l=e.pstyle("text-outline-color").value;t.font=r+" "+a+" "+i+" "+o,t.lineJoin="round",this.colorFillStyle(t,u[0],u[1],u[2],s),this.colorStrokeStyle(t,l[0],l[1],l[2],c)},Ns.getTextAngle=function(t,e){var n=t._private.rscratch,r=e?e+"-":"",i=t.pstyle(r+"text-rotation"),o=Dt(n,"labelAngle",e);return"autorotate"===i.strValue?t.isEdge()?o:0:"none"===i.strValue?0:i.pfValue},Ns.drawText=function(t,e,n){var r=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],i=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],o=e._private.rscratch,a=i?e.effectiveOpacity():1;if(!i||0!==a&&0!==e.pstyle("text-opacity").value){"main"===n&&(n=null);var s,c,u=Dt(o,"labelX",n),l=Dt(o,"labelY",n),h=this.getLabelText(e,n);if(null!=h&&""!==h&&!isNaN(u)&&!isNaN(l)){this.setupTextStyle(t,e,i);var f,d=n?n+"-":"",p=Dt(o,"labelWidth",n),g=Dt(o,"labelHeight",n),v=e.pstyle(d+"text-margin-x").pfValue,b=e.pstyle(d+"text-margin-y").pfValue,y=e.isEdge(),m=e.pstyle("text-halign").value,w=e.pstyle("text-valign").value;switch(y&&(m="center",w="center"),u+=v,l+=b,0!==(f=r?this.getTextAngle(e,n):0)&&(s=u,c=l,t.translate(s,c),t.rotate(f),u=0,l=0),w){case"top":break;case"center":l+=g/2;break;case"bottom":l+=g}var x=e.pstyle("text-background-opacity").value,_=e.pstyle("text-border-opacity").value,E=e.pstyle("text-border-width").pfValue,k=e.pstyle("text-background-padding").pfValue,T=0===e.pstyle("text-background-shape").strValue.indexOf("round");if(x>0||E>0&&_>0){var C=u-k;switch(m){case"left":C-=p;break;case"center":C-=p/2}var N=l-g-k,A=p+2*k,S=g+2*k;if(x>0){var O=t.fillStyle,L=e.pstyle("text-background-color").value;t.fillStyle="rgba("+L[0]+","+L[1]+","+L[2]+","+x*a+")",T?As(t,C,N,A,S,2):t.fillRect(C,N,A,S),t.fillStyle=O}if(E>0&&_>0){var I=t.strokeStyle,M=t.lineWidth,P=e.pstyle("text-border-color").value,D=e.pstyle("text-border-style").value;if(t.strokeStyle="rgba("+P[0]+","+P[1]+","+P[2]+","+_*a+")",t.lineWidth=E,t.setLineDash)switch(D){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash([4,2]);break;case"double":t.lineWidth=E/4,t.setLineDash([]);break;case"solid":t.setLineDash([])}if(T?As(t,C,N,A,S,2,"stroke"):t.strokeRect(C,N,A,S),"double"===D){var R=E/2;T?As(t,C+R,N+R,A-2*R,S-2*R,2,"stroke"):t.strokeRect(C+R,N+R,A-2*R,S-2*R)}t.setLineDash&&t.setLineDash([]),t.lineWidth=M,t.strokeStyle=I}}var j=2*e.pstyle("text-outline-width").pfValue;if(j>0&&(t.lineWidth=j),"wrap"===e.pstyle("text-wrap").value){var G=Dt(o,"labelWrapCachedLines",n),B=Dt(o,"labelLineHeight",n),F=p/2,H=this.getLabelJustification(e);switch("auto"===H||("left"===m?"left"===H?u+=-p:"center"===H&&(u+=-F):"center"===m?"left"===H?u+=-F:"right"===H&&(u+=F):"right"===m&&("center"===H?u+=F:"right"===H&&(u+=p))),w){case"top":case"center":case"bottom":l-=(G.length-1)*B}for(var Y=0;Y0&&t.strokeText(G[Y],u,l),t.fillText(G[Y],u,l),l+=B}else j>0&&t.strokeText(h,u,l),t.fillText(h,u,l);0!==f&&(t.rotate(-f),t.translate(-s,-c))}}};var Ss={drawNode:function(t,e,n){var r,i,o=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],a=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],s=!(arguments.length>5&&void 0!==arguments[5])||arguments[5],c=this,u=e._private,l=u.rscratch,h=e.position();if(I(h.x)&&I(h.y)&&(!s||e.visible())){var f,d,p=s?e.effectiveOpacity():1,g=c.usePaths(),v=!1,b=e.padding();r=e.width()+2*b,i=e.height()+2*b,n&&(d=n,t.translate(-d.x1,-d.y1));for(var y=e.pstyle("background-image").value,m=new Array(y.length),w=new Array(y.length),x=0,_=0;_0&&void 0!==arguments[0]?arguments[0]:N;c.eleFillStyle(t,e,n)},G=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:O;c.colorStrokeStyle(t,A[0],A[1],A[2],e)},B=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:D;c.colorStrokeStyle(t,M[0],M[1],M[2],e)},F=function(t,e,n,r){var i,o=c.nodePathCache=c.nodePathCache||[],a=gt("polygon"===n?n+","+r.join(","):n,""+e,""+t),s=o[a],u=!1;return null!=s?(i=s,u=!0,l.pathCache=i):(i=new Path2D,o[a]=l.pathCache=i),{path:i,cacheHit:u}},H=e.pstyle("shape").strValue,Y=e.pstyle("shape-polygon-points").pfValue;if(g){t.translate(h.x,h.y);var z=F(r,i,H,Y);f=z.path,v=z.cacheHit}var U=function(){if(!v){var n=h;g&&(n={x:0,y:0}),c.nodeShapes[c.getNodeShape(e)].draw(f||t,n.x,n.y,r,i)}g?t.fill(f):t.fill()},V=function(){for(var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:p,r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=u.backgrounding,o=0,a=0;a0&&void 0!==arguments[0]&&arguments[0],o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:p;c.hasPie(e)&&(c.drawPie(t,e,o),n&&(g||c.nodeShapes[c.getNodeShape(e)].draw(t,h.x,h.y,r,i)))},X=function(){var e=(T>0?T:-T)*(arguments.length>0&&void 0!==arguments[0]?arguments[0]:p),n=T>0?0:255;0!==T&&(c.colorFillStyle(t,n,n,n,e),g?t.fill(f):t.fill())},W=function(){if(C>0){if(t.lineWidth=C,t.lineCap="butt",t.setLineDash)switch(S){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash([4,2]);break;case"solid":case"double":t.setLineDash([])}if(g?t.stroke(f):t.stroke(),"double"===S){t.lineWidth=C/3;var e=t.globalCompositeOperation;t.globalCompositeOperation="destination-out",g?t.stroke(f):t.stroke(),t.globalCompositeOperation=e}t.setLineDash&&t.setLineDash([])}},$=function(){if(L>0){if(t.lineWidth=L,t.lineCap="butt",t.setLineDash)switch(P){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash([4,2]);break;case"solid":case"double":t.setLineDash([])}var n=h;g&&(n={x:0,y:0});var o,a=c.getNodeShape(e),s=(r+C+(L+R))/r,u=(i+C+(L+R))/i,l=r*s,f=i*u,d=c.nodeShapes[a].points;if(g&&(o=F(l,f,a,d).path),"ellipse"===a)c.drawEllipsePath(o||t,n.x,n.y,l,f);else if(["round-diamond","round-heptagon","round-hexagon","round-octagon","round-pentagon","round-polygon","round-triangle","round-tag"].includes(a)){var p=0,v=0,b=0;"round-diamond"===a?p=1.4*(C+R+L):"round-heptagon"===a?(p=1.075*(C+R+L),b=-(C/2+R+L)/35):"round-hexagon"===a?p=1.12*(C+R+L):"round-pentagon"===a?(p=1.13*(C+R+L),b=-(C/2+R+L)/15):"round-tag"===a?(p=1.12*(C+R+L),v=.07*(C/2+L+R)):"round-triangle"===a&&(p=(C+R+L)*(Math.PI/2),b=-(C+R/2+L)/Math.PI),0!==p&&(s=(r+p)/r,u=(i+p)/i),c.drawRoundPolygonPath(o||t,n.x+v,n.y+b,r*s,i*u,d)}else["roundrectangle","round-rectangle"].includes(a)?c.drawRoundRectanglePath(o||t,n.x,n.y,l,f):["cutrectangle","cut-rectangle"].includes(a)?c.drawCutRectanglePath(o||t,n.x,n.y,l,f):["bottomroundrectangle","bottom-round-rectangle"].includes(a)?c.drawBottomRoundRectanglePath(o||t,n.x,n.y,l,f):"barrel"===a?c.drawBarrelPath(o||t,n.x,n.y,l,f):a.startsWith("polygon")||["rhomboid","right-rhomboid","round-tag","tag","vee"].includes(a)?(d=Oe(Le(d,(C+L+R)/r)),c.drawPolygonPath(o||t,n.x,n.y,r,i,d)):(d=Oe(Le(d,-(C+L+R)/r)),c.drawPolygonPath(o||t,n.x,n.y,r,i,d));if(g?t.stroke(o):t.stroke(),"double"===P){t.lineWidth=C/3;var y=t.globalCompositeOperation;t.globalCompositeOperation="destination-out",g?t.stroke(o):t.stroke(),t.globalCompositeOperation=y}t.setLineDash&&t.setLineDash([])}};if("yes"===e.pstyle("ghost").value){var Z=e.pstyle("ghost-offset-x").pfValue,K=e.pstyle("ghost-offset-y").pfValue,Q=e.pstyle("ghost-opacity").value,J=Q*p;t.translate(Z,K),B(),$(),j(Q*N),U(),V(J,!0),G(Q*O),W(),q(0!==T||0!==C),V(J,!1),X(J),t.translate(-Z,-K)}g&&t.translate(-h.x,-h.y),a&&c.drawNodeUnderlay(t,e,h,r,i),g&&t.translate(h.x,h.y),B(),$(),j(),U(),V(p,!0),G(),W(),q(0!==T||0!==C),V(p,!1),X(),g&&t.translate(-h.x,-h.y),c.drawElementText(t,e,null,o),a&&c.drawNodeOverlay(t,e,h,r,i),n&&t.translate(d.x1,d.y1)}}},Os=function(t){if(!["overlay","underlay"].includes(t))throw new Error("Invalid state");return function(e,n,r,i,o){if(n.visible()){var a=n.pstyle("".concat(t,"-padding")).pfValue,s=n.pstyle("".concat(t,"-opacity")).value,c=n.pstyle("".concat(t,"-color")).value,u=n.pstyle("".concat(t,"-shape")).value;if(s>0){if(r=r||n.position(),null==i||null==o){var l=n.padding();i=n.width()+2*l,o=n.height()+2*l}this.colorFillStyle(e,c[0],c[1],c[2],s),this.nodeShapes[u].draw(e,r.x,r.y,i+2*a,o+2*a),e.fill()}}}};Ss.drawNodeOverlay=Os("overlay"),Ss.drawNodeUnderlay=Os("underlay"),Ss.hasPie=function(t){return(t=t[0])._private.hasPie},Ss.drawPie=function(t,e,n,r){e=e[0],r=r||e.position();var i=e.cy().style(),o=e.pstyle("pie-size"),a=r.x,s=r.y,c=e.width(),u=e.height(),l=Math.min(c,u)/2,h=0;this.usePaths()&&(a=0,s=0),"%"===o.units?l*=o.pfValue:void 0!==o.pfValue&&(l=o.pfValue/2);for(var f=1;f<=i.pieBackgroundN;f++){var d=e.pstyle("pie-"+f+"-background-size").value,p=e.pstyle("pie-"+f+"-background-color").value,g=e.pstyle("pie-"+f+"-background-opacity").value*n,v=d/100;v+h>1&&(v=1-h);var b=1.5*Math.PI+2*Math.PI*h,y=b+2*Math.PI*v;0===d||h>=1||h+v>1||(t.beginPath(),t.moveTo(a,s),t.arc(a,s,l,b,y),t.closePath(),this.colorFillStyle(t,p[0],p[1],p[2],g),t.fill(),h+=v)}};for(var Ls={getPixelRatio:function(){var t=this.data.contexts[0];if(null!=this.forcedPixelRatio)return this.forcedPixelRatio;var e=t.backingStorePixelRatio||t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1;return(window.devicePixelRatio||1)/e},paintCache:function(t){for(var e,n=this.paintCaches=this.paintCaches||[],r=!0,i=0;ia.minMbLowQualFrames&&(a.motionBlurPxRatio=a.mbPxRBlurry)),a.clearingMotionBlur&&(a.motionBlurPxRatio=1),a.textureDrawLastFrame&&!h&&(l[a.NODE]=!0,l[a.SELECT_BOX]=!0);var y=c.style(),m=c.zoom(),w=void 0!==i?i:m,x=c.pan(),_={x:x.x,y:x.y},E={zoom:m,pan:{x:x.x,y:x.y}},k=a.prevViewport;void 0===k||E.zoom!==k.zoom||E.pan.x!==k.pan.x||E.pan.y!==k.pan.y||g&&!p||(a.motionBlurPxRatio=1),o&&(_=o),w*=s,_.x*=s,_.y*=s;var T=a.getCachedZSortedEles();function C(t,e,n,r,i){var o=t.globalCompositeOperation;t.globalCompositeOperation="destination-out",a.colorFillStyle(t,255,255,255,a.motionBlurTransparency),t.fillRect(e,n,r,i),t.globalCompositeOperation=o}function N(t,r){var s,c,l,h;a.clearingMotionBlur||t!==u.bufferContexts[a.MOTIONBLUR_BUFFER_NODE]&&t!==u.bufferContexts[a.MOTIONBLUR_BUFFER_DRAG]?(s=_,c=w,l=a.canvasWidth,h=a.canvasHeight):(s={x:x.x*d,y:x.y*d},c=m*d,l=a.canvasWidth*d,h=a.canvasHeight*d),t.setTransform(1,0,0,1,0,0),"motionBlur"===r?C(t,0,0,l,h):e||void 0!==r&&!r||t.clearRect(0,0,l,h),n||(t.translate(s.x,s.y),t.scale(c,c)),o&&t.translate(o.x,o.y),i&&t.scale(i,i)}if(h||(a.textureDrawLastFrame=!1),h){if(a.textureDrawLastFrame=!0,!a.textureCache){a.textureCache={},a.textureCache.bb=c.mutableElements().boundingBox(),a.textureCache.texture=a.data.bufferCanvases[a.TEXTURE_BUFFER];var A=a.data.bufferContexts[a.TEXTURE_BUFFER];A.setTransform(1,0,0,1,0,0),A.clearRect(0,0,a.canvasWidth*a.textureMult,a.canvasHeight*a.textureMult),a.render({forcedContext:A,drawOnlyNodeLayer:!0,forcedPxRatio:s*a.textureMult}),(E=a.textureCache.viewport={zoom:c.zoom(),pan:c.pan(),width:a.canvasWidth,height:a.canvasHeight}).mpan={x:(0-E.pan.x)/E.zoom,y:(0-E.pan.y)/E.zoom}}l[a.DRAG]=!1,l[a.NODE]=!1;var S=u.contexts[a.NODE],O=a.textureCache.texture;E=a.textureCache.viewport,S.setTransform(1,0,0,1,0,0),f?C(S,0,0,E.width,E.height):S.clearRect(0,0,E.width,E.height);var L=y.core("outside-texture-bg-color").value,I=y.core("outside-texture-bg-opacity").value;a.colorFillStyle(S,L[0],L[1],L[2],I),S.fillRect(0,0,E.width,E.height),m=c.zoom(),N(S,!1),S.clearRect(E.mpan.x,E.mpan.y,E.width/E.zoom/s,E.height/E.zoom/s),S.drawImage(O,E.mpan.x,E.mpan.y,E.width/E.zoom/s,E.height/E.zoom/s)}else a.textureOnViewport&&!e&&(a.textureCache=null);var M=c.extent(),P=a.pinching||a.hoverData.dragging||a.swipePanning||a.data.wheelZooming||a.hoverData.draggingEles||a.cy.animated(),D=a.hideEdgesOnViewport&&P,R=[];if(R[a.NODE]=!l[a.NODE]&&f&&!a.clearedForMotionBlur[a.NODE]||a.clearingMotionBlur,R[a.NODE]&&(a.clearedForMotionBlur[a.NODE]=!0),R[a.DRAG]=!l[a.DRAG]&&f&&!a.clearedForMotionBlur[a.DRAG]||a.clearingMotionBlur,R[a.DRAG]&&(a.clearedForMotionBlur[a.DRAG]=!0),l[a.NODE]||n||r||R[a.NODE]){var j=f&&!R[a.NODE]&&1!==d;N(S=e||(j?a.data.bufferContexts[a.MOTIONBLUR_BUFFER_NODE]:u.contexts[a.NODE]),f&&!j?"motionBlur":void 0),D?a.drawCachedNodes(S,T.nondrag,s,M):a.drawLayeredElements(S,T.nondrag,s,M),a.debug&&a.drawDebugPoints(S,T.nondrag),n||f||(l[a.NODE]=!1)}if(!r&&(l[a.DRAG]||n||R[a.DRAG])&&(j=f&&!R[a.DRAG]&&1!==d,N(S=e||(j?a.data.bufferContexts[a.MOTIONBLUR_BUFFER_DRAG]:u.contexts[a.DRAG]),f&&!j?"motionBlur":void 0),D?a.drawCachedNodes(S,T.drag,s,M):a.drawCachedElements(S,T.drag,s,M),a.debug&&a.drawDebugPoints(S,T.drag),n||f||(l[a.DRAG]=!1)),a.showFps||!r&&l[a.SELECT_BOX]&&!n){if(N(S=e||u.contexts[a.SELECT_BOX]),1==a.selection[4]&&(a.hoverData.selecting||a.touchData.selecting)){m=a.cy.zoom();var G=y.core("selection-box-border-width").value/m;S.lineWidth=G,S.fillStyle="rgba("+y.core("selection-box-color").value[0]+","+y.core("selection-box-color").value[1]+","+y.core("selection-box-color").value[2]+","+y.core("selection-box-opacity").value+")",S.fillRect(a.selection[0],a.selection[1],a.selection[2]-a.selection[0],a.selection[3]-a.selection[1]),G>0&&(S.strokeStyle="rgba("+y.core("selection-box-border-color").value[0]+","+y.core("selection-box-border-color").value[1]+","+y.core("selection-box-border-color").value[2]+","+y.core("selection-box-opacity").value+")",S.strokeRect(a.selection[0],a.selection[1],a.selection[2]-a.selection[0],a.selection[3]-a.selection[1]))}if(u.bgActivePosistion&&!a.hoverData.selecting){m=a.cy.zoom();var B=u.bgActivePosistion;S.fillStyle="rgba("+y.core("active-bg-color").value[0]+","+y.core("active-bg-color").value[1]+","+y.core("active-bg-color").value[2]+","+y.core("active-bg-opacity").value+")",S.beginPath(),S.arc(B.x,B.y,y.core("active-bg-size").pfValue/m,0,2*Math.PI),S.fill()}var F=a.lastRedrawTime;if(a.showFps&&F){F=Math.round(F);var H=Math.round(1e3/F);S.setTransform(1,0,0,1,0,0),S.fillStyle="rgba(255, 0, 0, 0.75)",S.strokeStyle="rgba(255, 0, 0, 0.75)",S.lineWidth=1,S.fillText("1 frame = "+F+" ms = "+H+" fps",0,20),S.strokeRect(0,30,250,20),S.fillRect(0,30,250*Math.min(H/60,1),20)}n||(l[a.SELECT_BOX]=!1)}if(f&&1!==d){var Y=u.contexts[a.NODE],z=a.data.bufferCanvases[a.MOTIONBLUR_BUFFER_NODE],U=u.contexts[a.DRAG],V=a.data.bufferCanvases[a.MOTIONBLUR_BUFFER_DRAG],q=function(t,e,n){t.setTransform(1,0,0,1,0,0),n||!b?t.clearRect(0,0,a.canvasWidth,a.canvasHeight):C(t,0,0,a.canvasWidth,a.canvasHeight);var r=d;t.drawImage(e,0,0,a.canvasWidth*r,a.canvasHeight*r,0,0,a.canvasWidth,a.canvasHeight)};(l[a.NODE]||R[a.NODE])&&(q(Y,z,R[a.NODE]),l[a.NODE]=!1),(l[a.DRAG]||R[a.DRAG])&&(q(U,V,R[a.DRAG]),l[a.DRAG]=!1)}a.prevViewport=E,a.clearingMotionBlur&&(a.clearingMotionBlur=!1,a.motionBlurCleared=!0,a.motionBlur=!0),f&&(a.motionBlurTimeout=setTimeout((function(){a.motionBlurTimeout=null,a.clearedForMotionBlur[a.NODE]=!1,a.clearedForMotionBlur[a.DRAG]=!1,a.motionBlur=!1,a.clearingMotionBlur=!h,a.mbFrames=0,l[a.NODE]=!0,l[a.DRAG]=!0,a.redraw()}),100)),e||c.emit("render")}},Is={drawPolygonPath:function(t,e,n,r,i,o){var a=r/2,s=i/2;t.beginPath&&t.beginPath(),t.moveTo(e+a*o[0],n+s*o[1]);for(var c=1;c0&&o>0){f.clearRect(0,0,i,o),f.globalCompositeOperation="source-over";var d=this.getCachedZSortedEles();if(t.full)f.translate(-n.x1*c,-n.y1*c),f.scale(c,c),this.drawElements(f,d),f.scale(1/c,1/c),f.translate(n.x1*c,n.y1*c);else{var p=e.pan(),g={x:p.x*c,y:p.y*c};c*=e.zoom(),f.translate(g.x,g.y),f.scale(c,c),this.drawElements(f,d),f.scale(1/c,1/c),f.translate(-g.x,-g.y)}t.bg&&(f.globalCompositeOperation="destination-over",f.fillStyle=t.bg,f.rect(0,0,i,o),f.fill())}return h},Bs.png=function(t){return Hs(t,this.bufferCanvasImage(t),"image/png")},Bs.jpg=function(t){return Hs(t,this.bufferCanvasImage(t),"image/jpeg")};var Ys=Us,zs=Us.prototype;function Us(t){var e=this;e.data={canvases:new Array(zs.CANVAS_LAYERS),contexts:new Array(zs.CANVAS_LAYERS),canvasNeedsRedraw:new Array(zs.CANVAS_LAYERS),bufferCanvases:new Array(zs.BUFFER_COUNT),bufferContexts:new Array(zs.CANVAS_LAYERS)};var n="-webkit-tap-highlight-color",r="rgba(0,0,0,0)";e.data.canvasContainer=document.createElement("div");var i=e.data.canvasContainer.style;e.data.canvasContainer.style[n]=r,i.position="relative",i.zIndex="0",i.overflow="hidden";var o=t.cy.container();o.appendChild(e.data.canvasContainer),o.style[n]=r;var a={"-webkit-user-select":"none","-moz-user-select":"-moz-none","user-select":"none","-webkit-tap-highlight-color":"rgba(0,0,0,0)","outline-style":"none"};_&&_.userAgent.match(/msie|trident|edge/i)&&(a["-ms-touch-action"]="none",a["touch-action"]="none");for(var s=0;s{t.exports={graphlib:n(574),layout:n(8123),debug:n(7570),util:{time:n(7266).time,notime:n(7266).notime},version:n(8177)}},2188:(t,e,n)=>{"use strict";var r=n(8436),i=n(4079);t.exports={run:function(t){var e="greedy"===t.graph().acyclicer?i(t,function(t){return function(e){return t.edge(e).weight}}(t)):function(t){var e=[],n={},i={};return r.forEach(t.nodes(),(function o(a){r.has(i,a)||(i[a]=!0,n[a]=!0,r.forEach(t.outEdges(a),(function(t){r.has(n,t.w)?e.push(t):o(t.w)})),delete n[a])})),e}(t);r.forEach(e,(function(e){var n=t.edge(e);t.removeEdge(e),n.forwardName=e.name,n.reversed=!0,t.setEdge(e.w,e.v,n,r.uniqueId("rev"))}))},undo:function(t){r.forEach(t.edges(),(function(e){var n=t.edge(e);if(n.reversed){t.removeEdge(e);var r=n.forwardName;delete n.reversed,delete n.forwardName,t.setEdge(e.w,e.v,n,r)}}))}}},1133:(t,e,n)=>{var r=n(8436),i=n(7266);function o(t,e,n,r,o,a){var s={width:0,height:0,rank:a,borderType:e},c=o[e][a-1],u=i.addDummyNode(t,"border",s,n);o[e][a]=u,t.setParent(u,r),c&&t.setEdge(c,u,{weight:1})}t.exports=function(t){r.forEach(t.children(),(function e(n){var i=t.children(n),a=t.node(n);if(i.length&&r.forEach(i,e),r.has(a,"minRank")){a.borderLeft=[],a.borderRight=[];for(var s=a.minRank,c=a.maxRank+1;s{"use strict";var r=n(8436);function i(t){r.forEach(t.nodes(),(function(e){o(t.node(e))})),r.forEach(t.edges(),(function(e){o(t.edge(e))}))}function o(t){var e=t.width;t.width=t.height,t.height=e}function a(t){t.y=-t.y}function s(t){var e=t.x;t.x=t.y,t.y=e}t.exports={adjust:function(t){var e=t.graph().rankdir.toLowerCase();"lr"!==e&&"rl"!==e||i(t)},undo:function(t){var e=t.graph().rankdir.toLowerCase();"bt"!==e&&"rl"!==e||function(t){r.forEach(t.nodes(),(function(e){a(t.node(e))})),r.forEach(t.edges(),(function(e){var n=t.edge(e);r.forEach(n.points,a),r.has(n,"y")&&a(n)}))}(t),"lr"!==e&&"rl"!==e||(function(t){r.forEach(t.nodes(),(function(e){s(t.node(e))})),r.forEach(t.edges(),(function(e){var n=t.edge(e);r.forEach(n.points,s),r.has(n,"x")&&s(n)}))}(t),i(t))}}},7822:t=>{function e(){var t={};t._next=t._prev=t,this._sentinel=t}function n(t){t._prev._next=t._next,t._next._prev=t._prev,delete t._next,delete t._prev}function r(t,e){if("_next"!==t&&"_prev"!==t)return e}t.exports=e,e.prototype.dequeue=function(){var t=this._sentinel,e=t._prev;if(e!==t)return n(e),e},e.prototype.enqueue=function(t){var e=this._sentinel;t._prev&&t._next&&n(t),t._next=e._next,e._next._prev=t,e._next=t,t._prev=e},e.prototype.toString=function(){for(var t=[],e=this._sentinel,n=e._prev;n!==e;)t.push(JSON.stringify(n,r)),n=n._prev;return"["+t.join(", ")+"]"}},7570:(t,e,n)=>{var r=n(8436),i=n(7266),o=n(574).Graph;t.exports={debugOrdering:function(t){var e=i.buildLayerMatrix(t),n=new o({compound:!0,multigraph:!0}).setGraph({});return r.forEach(t.nodes(),(function(e){n.setNode(e,{label:e}),n.setParent(e,"layer"+t.node(e).rank)})),r.forEach(t.edges(),(function(t){n.setEdge(t.v,t.w,{},t.name)})),r.forEach(e,(function(t,e){var i="layer"+e;n.setNode(i,{rank:"same"}),r.reduce(t,(function(t,e){return n.setEdge(t,e,{style:"invis"}),e}))})),n}}},574:(t,e,n)=>{var r;try{r=n(8282)}catch(t){}r||(r=window.graphlib),t.exports=r},4079:(t,e,n)=>{var r=n(8436),i=n(574).Graph,o=n(7822);t.exports=function(t,e){if(t.nodeCount()<=1)return[];var n=function(t,e){var n=new i,a=0,s=0;r.forEach(t.nodes(),(function(t){n.setNode(t,{v:t,in:0,out:0})})),r.forEach(t.edges(),(function(t){var r=n.edge(t.v,t.w)||0,i=e(t),o=r+i;n.setEdge(t.v,t.w,o),s=Math.max(s,n.node(t.v).out+=i),a=Math.max(a,n.node(t.w).in+=i)}));var u=r.range(s+a+3).map((function(){return new o})),l=a+1;return r.forEach(n.nodes(),(function(t){c(u,l,n.node(t))})),{graph:n,buckets:u,zeroIdx:l}}(t,e||a),u=function(t,e,n){for(var r,i=[],o=e[e.length-1],a=e[0];t.nodeCount();){for(;r=a.dequeue();)s(t,e,n,r);for(;r=o.dequeue();)s(t,e,n,r);if(t.nodeCount())for(var c=e.length-2;c>0;--c)if(r=e[c].dequeue()){i=i.concat(s(t,e,n,r,!0));break}}return i}(n.graph,n.buckets,n.zeroIdx);return r.flatten(r.map(u,(function(e){return t.outEdges(e.v,e.w)})),!0)};var a=r.constant(1);function s(t,e,n,i,o){var a=o?[]:void 0;return r.forEach(t.inEdges(i.v),(function(r){var i=t.edge(r),s=t.node(r.v);o&&a.push({v:r.v,w:r.w}),s.out-=i,c(e,n,s)})),r.forEach(t.outEdges(i.v),(function(r){var i=t.edge(r),o=r.w,a=t.node(o);a.in-=i,c(e,n,a)})),t.removeNode(i.v),a}function c(t,e,n){n.out?n.in?t[n.out-n.in+e].enqueue(n):t[t.length-1].enqueue(n):t[0].enqueue(n)}},8123:(t,e,n)=>{"use strict";var r=n(8436),i=n(2188),o=n(5995),a=n(8093),s=n(7266).normalizeRanks,c=n(4219),u=n(7266).removeEmptyRanks,l=n(2981),h=n(1133),f=n(3258),d=n(3408),p=n(7873),g=n(7266),v=n(574).Graph;t.exports=function(t,e){var n=e&&e.debugTiming?g.time:g.notime;n("layout",(function(){var e=n(" buildLayoutGraph",(function(){return function(t){var e=new v({multigraph:!0,compound:!0}),n=C(t.graph());return e.setGraph(r.merge({},y,T(n,b),r.pick(n,m))),r.forEach(t.nodes(),(function(n){var i=C(t.node(n));e.setNode(n,r.defaults(T(i,w),x)),e.setParent(n,t.parent(n))})),r.forEach(t.edges(),(function(n){var i=C(t.edge(n));e.setEdge(n,r.merge({},E,T(i,_),r.pick(i,k)))})),e}(t)}));n(" runLayout",(function(){!function(t,e){e(" makeSpaceForEdgeLabels",(function(){!function(t){var e=t.graph();e.ranksep/=2,r.forEach(t.edges(),(function(n){var r=t.edge(n);r.minlen*=2,"c"!==r.labelpos.toLowerCase()&&("TB"===e.rankdir||"BT"===e.rankdir?r.width+=r.labeloffset:r.height+=r.labeloffset)}))}(t)})),e(" removeSelfEdges",(function(){!function(t){r.forEach(t.edges(),(function(e){if(e.v===e.w){var n=t.node(e.v);n.selfEdges||(n.selfEdges=[]),n.selfEdges.push({e,label:t.edge(e)}),t.removeEdge(e)}}))}(t)})),e(" acyclic",(function(){i.run(t)})),e(" nestingGraph.run",(function(){l.run(t)})),e(" rank",(function(){a(g.asNonCompoundGraph(t))})),e(" injectEdgeLabelProxies",(function(){!function(t){r.forEach(t.edges(),(function(e){var n=t.edge(e);if(n.width&&n.height){var r=t.node(e.v),i={rank:(t.node(e.w).rank-r.rank)/2+r.rank,e};g.addDummyNode(t,"edge-proxy",i,"_ep")}}))}(t)})),e(" removeEmptyRanks",(function(){u(t)})),e(" nestingGraph.cleanup",(function(){l.cleanup(t)})),e(" normalizeRanks",(function(){s(t)})),e(" assignRankMinMax",(function(){!function(t){var e=0;r.forEach(t.nodes(),(function(n){var i=t.node(n);i.borderTop&&(i.minRank=t.node(i.borderTop).rank,i.maxRank=t.node(i.borderBottom).rank,e=r.max(e,i.maxRank))})),t.graph().maxRank=e}(t)})),e(" removeEdgeLabelProxies",(function(){!function(t){r.forEach(t.nodes(),(function(e){var n=t.node(e);"edge-proxy"===n.dummy&&(t.edge(n.e).labelRank=n.rank,t.removeNode(e))}))}(t)})),e(" normalize.run",(function(){o.run(t)})),e(" parentDummyChains",(function(){c(t)})),e(" addBorderSegments",(function(){h(t)})),e(" order",(function(){d(t)})),e(" insertSelfEdges",(function(){!function(t){var e=g.buildLayerMatrix(t);r.forEach(e,(function(e){var n=0;r.forEach(e,(function(e,i){var o=t.node(e);o.order=i+n,r.forEach(o.selfEdges,(function(e){g.addDummyNode(t,"selfedge",{width:e.label.width,height:e.label.height,rank:o.rank,order:i+ ++n,e:e.e,label:e.label},"_se")})),delete o.selfEdges}))}))}(t)})),e(" adjustCoordinateSystem",(function(){f.adjust(t)})),e(" position",(function(){p(t)})),e(" positionSelfEdges",(function(){!function(t){r.forEach(t.nodes(),(function(e){var n=t.node(e);if("selfedge"===n.dummy){var r=t.node(n.e.v),i=r.x+r.width/2,o=r.y,a=n.x-i,s=r.height/2;t.setEdge(n.e,n.label),t.removeNode(e),n.label.points=[{x:i+2*a/3,y:o-s},{x:i+5*a/6,y:o-s},{x:i+a,y:o},{x:i+5*a/6,y:o+s},{x:i+2*a/3,y:o+s}],n.label.x=n.x,n.label.y=n.y}}))}(t)})),e(" removeBorderNodes",(function(){!function(t){r.forEach(t.nodes(),(function(e){if(t.children(e).length){var n=t.node(e),i=t.node(n.borderTop),o=t.node(n.borderBottom),a=t.node(r.last(n.borderLeft)),s=t.node(r.last(n.borderRight));n.width=Math.abs(s.x-a.x),n.height=Math.abs(o.y-i.y),n.x=a.x+n.width/2,n.y=i.y+n.height/2}})),r.forEach(t.nodes(),(function(e){"border"===t.node(e).dummy&&t.removeNode(e)}))}(t)})),e(" normalize.undo",(function(){o.undo(t)})),e(" fixupEdgeLabelCoords",(function(){!function(t){r.forEach(t.edges(),(function(e){var n=t.edge(e);if(r.has(n,"x"))switch("l"!==n.labelpos&&"r"!==n.labelpos||(n.width-=n.labeloffset),n.labelpos){case"l":n.x-=n.width/2+n.labeloffset;break;case"r":n.x+=n.width/2+n.labeloffset}}))}(t)})),e(" undoCoordinateSystem",(function(){f.undo(t)})),e(" translateGraph",(function(){!function(t){var e=Number.POSITIVE_INFINITY,n=0,i=Number.POSITIVE_INFINITY,o=0,a=t.graph(),s=a.marginx||0,c=a.marginy||0;function u(t){var r=t.x,a=t.y,s=t.width,c=t.height;e=Math.min(e,r-s/2),n=Math.max(n,r+s/2),i=Math.min(i,a-c/2),o=Math.max(o,a+c/2)}r.forEach(t.nodes(),(function(e){u(t.node(e))})),r.forEach(t.edges(),(function(e){var n=t.edge(e);r.has(n,"x")&&u(n)})),e-=s,i-=c,r.forEach(t.nodes(),(function(n){var r=t.node(n);r.x-=e,r.y-=i})),r.forEach(t.edges(),(function(n){var o=t.edge(n);r.forEach(o.points,(function(t){t.x-=e,t.y-=i})),r.has(o,"x")&&(o.x-=e),r.has(o,"y")&&(o.y-=i)})),a.width=n-e+s,a.height=o-i+c}(t)})),e(" assignNodeIntersects",(function(){!function(t){r.forEach(t.edges(),(function(e){var n,r,i=t.edge(e),o=t.node(e.v),a=t.node(e.w);i.points?(n=i.points[0],r=i.points[i.points.length-1]):(i.points=[],n=a,r=o),i.points.unshift(g.intersectRect(o,n)),i.points.push(g.intersectRect(a,r))}))}(t)})),e(" reversePoints",(function(){!function(t){r.forEach(t.edges(),(function(e){var n=t.edge(e);n.reversed&&n.points.reverse()}))}(t)})),e(" acyclic.undo",(function(){i.undo(t)}))}(e,n)})),n(" updateInputGraph",(function(){!function(t,e){r.forEach(t.nodes(),(function(n){var r=t.node(n),i=e.node(n);r&&(r.x=i.x,r.y=i.y,e.children(n).length&&(r.width=i.width,r.height=i.height))})),r.forEach(t.edges(),(function(n){var i=t.edge(n),o=e.edge(n);i.points=o.points,r.has(o,"x")&&(i.x=o.x,i.y=o.y)})),t.graph().width=e.graph().width,t.graph().height=e.graph().height}(t,e)}))}))};var b=["nodesep","edgesep","ranksep","marginx","marginy"],y={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},m=["acyclicer","ranker","rankdir","align"],w=["width","height"],x={width:0,height:0},_=["minlen","weight","width","height","labeloffset"],E={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},k=["labelpos"];function T(t,e){return r.mapValues(r.pick(t,e),Number)}function C(t){var e={};return r.forEach(t,(function(t,n){e[n.toLowerCase()]=t})),e}},8436:(t,e,n)=>{var r;try{r={cloneDeep:n(361),constant:n(5703),defaults:n(1747),each:n(6073),filter:n(3105),find:n(3311),flatten:n(5564),forEach:n(4486),forIn:n(2620),has:n(8721),isUndefined:n(2353),last:n(928),map:n(5161),mapValues:n(6604),max:n(6162),merge:n(3857),min:n(3632),minBy:n(2762),now:n(7771),pick:n(9722),range:n(6026),reduce:n(4061),sortBy:n(9734),uniqueId:n(3955),values:n(2628),zipObject:n(7287)}}catch(t){}r||(r=window._),t.exports=r},2981:(t,e,n)=>{var r=n(8436),i=n(7266);function o(t,e,n,a,s,c,u){var l=t.children(u);if(l.length){var h=i.addBorderNode(t,"_bt"),f=i.addBorderNode(t,"_bb"),d=t.node(u);t.setParent(h,u),d.borderTop=h,t.setParent(f,u),d.borderBottom=f,r.forEach(l,(function(r){o(t,e,n,a,s,c,r);var i=t.node(r),l=i.borderTop?i.borderTop:r,d=i.borderBottom?i.borderBottom:r,p=i.borderTop?a:2*a,g=l!==d?1:s-c[u]+1;t.setEdge(h,l,{weight:p,minlen:g,nestingEdge:!0}),t.setEdge(d,f,{weight:p,minlen:g,nestingEdge:!0})})),t.parent(u)||t.setEdge(e,h,{weight:0,minlen:s+c[u]})}else u!==e&&t.setEdge(e,u,{weight:0,minlen:n})}t.exports={run:function(t){var e=i.addDummyNode(t,"root",{},"_root"),n=function(t){var e={};function n(i,o){var a=t.children(i);a&&a.length&&r.forEach(a,(function(t){n(t,o+1)})),e[i]=o}return r.forEach(t.children(),(function(t){n(t,1)})),e}(t),a=r.max(r.values(n))-1,s=2*a+1;t.graph().nestingRoot=e,r.forEach(t.edges(),(function(e){t.edge(e).minlen*=s}));var c=function(t){return r.reduce(t.edges(),(function(e,n){return e+t.edge(n).weight}),0)}(t)+1;r.forEach(t.children(),(function(r){o(t,e,s,c,a,n,r)})),t.graph().nodeRankFactor=s},cleanup:function(t){var e=t.graph();t.removeNode(e.nestingRoot),delete e.nestingRoot,r.forEach(t.edges(),(function(e){t.edge(e).nestingEdge&&t.removeEdge(e)}))}}},5995:(t,e,n)=>{"use strict";var r=n(8436),i=n(7266);t.exports={run:function(t){t.graph().dummyChains=[],r.forEach(t.edges(),(function(e){!function(t,e){var n,r,o,a=e.v,s=t.node(a).rank,c=e.w,u=t.node(c).rank,l=e.name,h=t.edge(e),f=h.labelRank;if(u!==s+1){for(t.removeEdge(e),o=0,++s;s{var r=n(8436);t.exports=function(t,e,n){var i,o={};r.forEach(n,(function(n){for(var r,a,s=t.parent(n);s;){if((r=t.parent(s))?(a=o[r],o[r]=s):(a=i,i=s),a&&a!==s)return void e.setEdge(a,s);s=r}}))}},5439:(t,e,n)=>{var r=n(8436);t.exports=function(t,e){return r.map(e,(function(e){var n=t.inEdges(e);if(n.length){var i=r.reduce(n,(function(e,n){var r=t.edge(n),i=t.node(n.v);return{sum:e.sum+r.weight*i.order,weight:e.weight+r.weight}}),{sum:0,weight:0});return{v:e,barycenter:i.sum/i.weight,weight:i.weight}}return{v:e}}))}},3128:(t,e,n)=>{var r=n(8436),i=n(574).Graph;t.exports=function(t,e,n){var o=function(t){for(var e;t.hasNode(e=r.uniqueId("_root")););return e}(t),a=new i({compound:!0}).setGraph({root:o}).setDefaultNodeLabel((function(e){return t.node(e)}));return r.forEach(t.nodes(),(function(i){var s=t.node(i),c=t.parent(i);(s.rank===e||s.minRank<=e&&e<=s.maxRank)&&(a.setNode(i),a.setParent(i,c||o),r.forEach(t[n](i),(function(e){var n=e.v===i?e.w:e.v,o=a.edge(n,i),s=r.isUndefined(o)?0:o.weight;a.setEdge(n,i,{weight:t.edge(e).weight+s})})),r.has(s,"minRank")&&a.setNode(i,{borderLeft:s.borderLeft[e],borderRight:s.borderRight[e]}))})),a}},6630:(t,e,n)=>{"use strict";var r=n(8436);function i(t,e,n){for(var i=r.zipObject(n,r.map(n,(function(t,e){return e}))),o=r.flatten(r.map(e,(function(e){return r.sortBy(r.map(t.outEdges(e),(function(e){return{pos:i[e.w],weight:t.edge(e).weight}})),"pos")})),!0),a=1;a0;)e%2&&(n+=c[e+1]),c[e=e-1>>1]+=t.weight;u+=t.weight*n}))),u}t.exports=function(t,e){for(var n=0,r=1;r{"use strict";var r=n(8436),i=n(2588),o=n(6630),a=n(1026),s=n(3128),c=n(5093),u=n(574).Graph,l=n(7266);function h(t,e,n){return r.map(e,(function(e){return s(t,e,n)}))}function f(t,e){var n=new u;r.forEach(t,(function(t){var i=t.graph().root,o=a(t,i,n,e);r.forEach(o.vs,(function(e,n){t.node(e).order=n})),c(t,n,o.vs)}))}function d(t,e){r.forEach(e,(function(e){r.forEach(e,(function(e,n){t.node(e).order=n}))}))}t.exports=function(t){var e=l.maxRank(t),n=h(t,r.range(1,e+1),"inEdges"),a=h(t,r.range(e-1,-1,-1),"outEdges"),s=i(t);d(t,s);for(var c,u=Number.POSITIVE_INFINITY,p=0,g=0;g<4;++p,++g){f(p%2?n:a,p%4>=2),s=l.buildLayerMatrix(t);var v=o(t,s);v{"use strict";var r=n(8436);t.exports=function(t){var e={},n=r.filter(t.nodes(),(function(e){return!t.children(e).length})),i=r.max(r.map(n,(function(e){return t.node(e).rank}))),o=r.map(r.range(i+1),(function(){return[]})),a=r.sortBy(n,(function(e){return t.node(e).rank}));return r.forEach(a,(function n(i){if(!r.has(e,i)){e[i]=!0;var a=t.node(i);o[a.rank].push(i),r.forEach(t.successors(i),n)}})),o}},9567:(t,e,n)=>{"use strict";var r=n(8436);t.exports=function(t,e){var n={};return r.forEach(t,(function(t,e){var i=n[t.v]={indegree:0,in:[],out:[],vs:[t.v],i:e};r.isUndefined(t.barycenter)||(i.barycenter=t.barycenter,i.weight=t.weight)})),r.forEach(e.edges(),(function(t){var e=n[t.v],i=n[t.w];r.isUndefined(e)||r.isUndefined(i)||(i.indegree++,e.out.push(n[t.w]))})),function(t){var e=[];function n(t){return function(e){var n,i,o,a;e.merged||(r.isUndefined(e.barycenter)||r.isUndefined(t.barycenter)||e.barycenter>=t.barycenter)&&(i=e,o=0,a=0,(n=t).weight&&(o+=n.barycenter*n.weight,a+=n.weight),i.weight&&(o+=i.barycenter*i.weight,a+=i.weight),n.vs=i.vs.concat(n.vs),n.barycenter=o/a,n.weight=a,n.i=Math.min(i.i,n.i),i.merged=!0)}}function i(e){return function(n){n.in.push(e),0==--n.indegree&&t.push(n)}}for(;t.length;){var o=t.pop();e.push(o),r.forEach(o.in.reverse(),n(o)),r.forEach(o.out,i(o))}return r.map(r.filter(e,(function(t){return!t.merged})),(function(t){return r.pick(t,["vs","i","barycenter","weight"])}))}(r.filter(n,(function(t){return!t.indegree})))}},1026:(t,e,n)=>{var r=n(8436),i=n(5439),o=n(9567),a=n(7304);t.exports=function t(e,n,s,c){var u=e.children(n),l=e.node(n),h=l?l.borderLeft:void 0,f=l?l.borderRight:void 0,d={};h&&(u=r.filter(u,(function(t){return t!==h&&t!==f})));var p=i(e,u);r.forEach(p,(function(n){if(e.children(n.v).length){var i=t(e,n.v,s,c);d[n.v]=i,r.has(i,"barycenter")&&(o=n,a=i,r.isUndefined(o.barycenter)?(o.barycenter=a.barycenter,o.weight=a.weight):(o.barycenter=(o.barycenter*o.weight+a.barycenter*a.weight)/(o.weight+a.weight),o.weight+=a.weight))}var o,a}));var g=o(p,s);!function(t,e){r.forEach(t,(function(t){t.vs=r.flatten(t.vs.map((function(t){return e[t]?e[t].vs:t})),!0)}))}(g,d);var v=a(g,c);if(h&&(v.vs=r.flatten([h,v.vs,f],!0),e.predecessors(h).length)){var b=e.node(e.predecessors(h)[0]),y=e.node(e.predecessors(f)[0]);r.has(v,"barycenter")||(v.barycenter=0,v.weight=0),v.barycenter=(v.barycenter*v.weight+b.order+y.order)/(v.weight+2),v.weight+=2}return v}},7304:(t,e,n)=>{var r=n(8436),i=n(7266);function o(t,e,n){for(var i;e.length&&(i=r.last(e)).i<=n;)e.pop(),t.push(i.vs),n++;return n}t.exports=function(t,e){var n,a=i.partition(t,(function(t){return r.has(t,"barycenter")})),s=a.lhs,c=r.sortBy(a.rhs,(function(t){return-t.i})),u=[],l=0,h=0,f=0;s.sort((n=!!e,function(t,e){return t.barycentere.barycenter?1:n?e.i-t.i:t.i-e.i})),f=o(u,c,f),r.forEach(s,(function(t){f+=t.vs.length,u.push(t.vs),l+=t.barycenter*t.weight,h+=t.weight,f=o(u,c,f)}));var d={vs:r.flatten(u,!0)};return h&&(d.barycenter=l/h,d.weight=h),d}},4219:(t,e,n)=>{var r=n(8436);t.exports=function(t){var e=function(t){var e={},n=0;return r.forEach(t.children(),(function i(o){var a=n;r.forEach(t.children(o),i),e[o]={low:a,lim:n++}})),e}(t);r.forEach(t.graph().dummyChains,(function(n){for(var r=t.node(n),i=r.edgeObj,o=function(t,e,n,r){var i,o,a=[],s=[],c=Math.min(e[n].low,e[r].low),u=Math.max(e[n].lim,e[r].lim);i=n;do{i=t.parent(i),a.push(i)}while(i&&(e[i].low>c||u>e[i].lim));for(o=i,i=r;(i=t.parent(i))!==o;)s.push(i);return{path:a.concat(s.reverse()),lca:o}}(t,e,i.v,i.w),a=o.path,s=o.lca,c=0,u=a[c],l=!0;n!==i.w;){if(r=t.node(n),l){for(;(u=a[c])!==s&&t.node(u).maxRank{"use strict";var r=n(8436),i=n(574).Graph,o=n(7266);function a(t,e){var n={};return r.reduce(e,(function(e,i){var o=0,a=0,s=e.length,u=r.last(i);return r.forEach(i,(function(e,l){var h=function(t,e){if(t.node(e).dummy)return r.find(t.predecessors(e),(function(e){return t.node(e).dummy}))}(t,e),f=h?t.node(h).order:s;(h||e===u)&&(r.forEach(i.slice(a,l+1),(function(e){r.forEach(t.predecessors(e),(function(r){var i=t.node(r),a=i.order;!(as)&&c(n,e,u)}))}))}return r.reduce(e,(function(e,n){var o,a=-1,s=0;return r.forEach(n,(function(r,c){if("border"===t.node(r).dummy){var u=t.predecessors(r);u.length&&(o=t.node(u[0]).order,i(n,s,c,a,o),s=c,a=o)}i(n,s,n.length,o,e.length)})),n})),n}function c(t,e,n){if(e>n){var r=e;e=n,n=r}var i=t[e];i||(t[e]=i={}),i[n]=!0}function u(t,e,n){if(e>n){var i=e;e=n,n=i}return r.has(t[e],n)}function l(t,e,n,i){var o={},a={},s={};return r.forEach(e,(function(t){r.forEach(t,(function(t,e){o[t]=t,a[t]=t,s[t]=e}))})),r.forEach(e,(function(t){var e=-1;r.forEach(t,(function(t){var c=i(t);if(c.length){c=r.sortBy(c,(function(t){return s[t]}));for(var l=(c.length-1)/2,h=Math.floor(l),f=Math.ceil(l);h<=f;++h){var d=c[h];a[t]===t&&e{"use strict";var r=n(8436),i=n(7266),o=n(3573).positionX;t.exports=function(t){(function(t){var e=i.buildLayerMatrix(t),n=t.graph().ranksep,o=0;r.forEach(e,(function(e){var i=r.max(r.map(e,(function(e){return t.node(e).height})));r.forEach(e,(function(e){t.node(e).y=o+i/2})),o+=i+n}))})(t=i.asNonCompoundGraph(t)),r.forEach(o(t),(function(e,n){t.node(n).x=e}))}},300:(t,e,n)=>{"use strict";var r=n(8436),i=n(574).Graph,o=n(6681).slack;function a(t,e){return r.forEach(t.nodes(),(function n(i){r.forEach(e.nodeEdges(i),(function(r){var a=r.v,s=i===a?r.w:a;t.hasNode(s)||o(e,r)||(t.setNode(s,{}),t.setEdge(i,s,{}),n(s))}))})),t.nodeCount()}function s(t,e){return r.minBy(e.edges(),(function(n){if(t.hasNode(n.v)!==t.hasNode(n.w))return o(e,n)}))}function c(t,e,n){r.forEach(t.nodes(),(function(t){e.node(t).rank+=n}))}t.exports=function(t){var e,n,r=new i({directed:!1}),u=t.nodes()[0],l=t.nodeCount();for(r.setNode(u,{});a(r,t){"use strict";var r=n(6681).longestPath,i=n(300),o=n(2472);t.exports=function(t){switch(t.graph().ranker){case"network-simplex":default:!function(t){o(t)}(t);break;case"tight-tree":!function(t){r(t),i(t)}(t);break;case"longest-path":a(t)}};var a=r},2472:(t,e,n)=>{"use strict";var r=n(8436),i=n(300),o=n(6681).slack,a=n(6681).longestPath,s=n(574).alg.preorder,c=n(574).alg.postorder,u=n(7266).simplify;function l(t){t=u(t),a(t);var e,n=i(t);for(d(n),h(n,t);e=g(n);)b(n,t,e,v(n,t,e))}function h(t,e){var n=c(t,t.nodes());n=n.slice(0,n.length-1),r.forEach(n,(function(n){!function(t,e,n){var r=t.node(n).parent;t.edge(n,r).cutvalue=f(t,e,n)}(t,e,n)}))}function f(t,e,n){var i=t.node(n).parent,o=!0,a=e.edge(n,i),s=0;return a||(o=!1,a=e.edge(i,n)),s=a.weight,r.forEach(e.nodeEdges(n),(function(r){var a,c,u=r.v===n,l=u?r.w:r.v;if(l!==i){var h=u===o,f=e.edge(r).weight;if(s+=h?f:-f,a=n,c=l,t.hasEdge(a,c)){var d=t.edge(n,l).cutvalue;s+=h?-d:d}}})),s}function d(t,e){arguments.length<2&&(e=t.nodes()[0]),p(t,{},1,e)}function p(t,e,n,i,o){var a=n,s=t.node(i);return e[i]=!0,r.forEach(t.neighbors(i),(function(o){r.has(e,o)||(n=p(t,e,n,o,i))})),s.low=a,s.lim=n++,o?s.parent=o:delete s.parent,n}function g(t){return r.find(t.edges(),(function(e){return t.edge(e).cutvalue<0}))}function v(t,e,n){var i=n.v,a=n.w;e.hasEdge(i,a)||(i=n.w,a=n.v);var s=t.node(i),c=t.node(a),u=s,l=!1;s.lim>c.lim&&(u=c,l=!0);var h=r.filter(e.edges(),(function(e){return l===y(0,t.node(e.v),u)&&l!==y(0,t.node(e.w),u)}));return r.minBy(h,(function(t){return o(e,t)}))}function b(t,e,n,i){var o=n.v,a=n.w;t.removeEdge(o,a),t.setEdge(i.v,i.w,{}),d(t),h(t,e),function(t,e){var n=r.find(t.nodes(),(function(t){return!e.node(t).parent})),i=s(t,n);i=i.slice(1),r.forEach(i,(function(n){var r=t.node(n).parent,i=e.edge(n,r),o=!1;i||(i=e.edge(r,n),o=!0),e.node(n).rank=e.node(r).rank+(o?i.minlen:-i.minlen)}))}(t,e)}function y(t,e,n){return n.low<=e.lim&&e.lim<=n.lim}t.exports=l,l.initLowLimValues=d,l.initCutValues=h,l.calcCutValue=f,l.leaveEdge=g,l.enterEdge=v,l.exchangeEdges=b},6681:(t,e,n)=>{"use strict";var r=n(8436);t.exports={longestPath:function(t){var e={};r.forEach(t.sources(),(function n(i){var o=t.node(i);if(r.has(e,i))return o.rank;e[i]=!0;var a=r.min(r.map(t.outEdges(i),(function(e){return n(e.w)-t.edge(e).minlen})));return a!==Number.POSITIVE_INFINITY&&null!=a||(a=0),o.rank=a}))},slack:function(t,e){return t.node(e.w).rank-t.node(e.v).rank-t.edge(e).minlen}}},7266:(t,e,n)=>{"use strict";var r=n(8436),i=n(574).Graph;function o(t,e,n,i){var o;do{o=r.uniqueId(i)}while(t.hasNode(o));return n.dummy=e,t.setNode(o,n),o}function a(t){return r.max(r.map(t.nodes(),(function(e){var n=t.node(e).rank;if(!r.isUndefined(n))return n})))}t.exports={addDummyNode:o,simplify:function(t){var e=(new i).setGraph(t.graph());return r.forEach(t.nodes(),(function(n){e.setNode(n,t.node(n))})),r.forEach(t.edges(),(function(n){var r=e.edge(n.v,n.w)||{weight:0,minlen:1},i=t.edge(n);e.setEdge(n.v,n.w,{weight:r.weight+i.weight,minlen:Math.max(r.minlen,i.minlen)})})),e},asNonCompoundGraph:function(t){var e=new i({multigraph:t.isMultigraph()}).setGraph(t.graph());return r.forEach(t.nodes(),(function(n){t.children(n).length||e.setNode(n,t.node(n))})),r.forEach(t.edges(),(function(n){e.setEdge(n,t.edge(n))})),e},successorWeights:function(t){var e=r.map(t.nodes(),(function(e){var n={};return r.forEach(t.outEdges(e),(function(e){n[e.w]=(n[e.w]||0)+t.edge(e).weight})),n}));return r.zipObject(t.nodes(),e)},predecessorWeights:function(t){var e=r.map(t.nodes(),(function(e){var n={};return r.forEach(t.inEdges(e),(function(e){n[e.v]=(n[e.v]||0)+t.edge(e).weight})),n}));return r.zipObject(t.nodes(),e)},intersectRect:function(t,e){var n,r,i=t.x,o=t.y,a=e.x-i,s=e.y-o,c=t.width/2,u=t.height/2;if(!a&&!s)throw new Error("Not possible to find intersection inside of the rectangle");return Math.abs(s)*c>Math.abs(a)*u?(s<0&&(u=-u),n=u*a/s,r=u):(a<0&&(c=-c),n=c,r=c*s/a),{x:i+n,y:o+r}},buildLayerMatrix:function(t){var e=r.map(r.range(a(t)+1),(function(){return[]}));return r.forEach(t.nodes(),(function(n){var i=t.node(n),o=i.rank;r.isUndefined(o)||(e[o][i.order]=n)})),e},normalizeRanks:function(t){var e=r.min(r.map(t.nodes(),(function(e){return t.node(e).rank})));r.forEach(t.nodes(),(function(n){var i=t.node(n);r.has(i,"rank")&&(i.rank-=e)}))},removeEmptyRanks:function(t){var e=r.min(r.map(t.nodes(),(function(e){return t.node(e).rank}))),n=[];r.forEach(t.nodes(),(function(r){var i=t.node(r).rank-e;n[i]||(n[i]=[]),n[i].push(r)}));var i=0,o=t.graph().nodeRankFactor;r.forEach(n,(function(e,n){r.isUndefined(e)&&n%o!=0?--i:i&&r.forEach(e,(function(e){t.node(e).rank+=i}))}))},addBorderNode:function(t,e,n,r){var i={width:0,height:0};return arguments.length>=4&&(i.rank=n,i.order=r),o(t,"border",i,e)},maxRank:a,partition:function(t,e){var n={lhs:[],rhs:[]};return r.forEach(t,(function(t){e(t)?n.lhs.push(t):n.rhs.push(t)})),n},time:function(t,e){var n=r.now();try{return e()}finally{console.log(t+" time: "+(r.now()-n)+"ms")}},notime:function(t,e){return e()}}},8177:t=>{t.exports="0.8.5"},8282:(t,e,n)=>{var r=n(2354);t.exports={Graph:r.Graph,json:n(8974),alg:n(2440),version:r.version}},2842:(t,e,n)=>{var r=n(9126);t.exports=function(t){var e,n={},i=[];function o(i){r.has(n,i)||(n[i]=!0,e.push(i),r.each(t.successors(i),o),r.each(t.predecessors(i),o))}return r.each(t.nodes(),(function(t){e=[],o(t),e.length&&i.push(e)})),i}},3984:(t,e,n)=>{var r=n(9126);function i(t,e,n,o,a,s){r.has(o,e)||(o[e]=!0,n||s.push(e),r.each(a(e),(function(e){i(t,e,n,o,a,s)})),n&&s.push(e))}t.exports=function(t,e,n){r.isArray(e)||(e=[e]);var o=(t.isDirected()?t.successors:t.neighbors).bind(t),a=[],s={};return r.each(e,(function(e){if(!t.hasNode(e))throw new Error("Graph does not have node: "+e);i(t,e,"post"===n,s,o,a)})),a}},4847:(t,e,n)=>{var r=n(3763),i=n(9126);t.exports=function(t,e,n){return i.transform(t.nodes(),(function(i,o){i[o]=r(t,o,e,n)}),{})}},3763:(t,e,n)=>{var r=n(9126),i=n(9675);t.exports=function(t,e,n,r){return function(t,e,n,r){var o,a,s={},c=new i,u=function(t){var e=t.v!==o?t.v:t.w,r=s[e],i=n(t),u=a.distance+i;if(i<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+t+" Weight: "+i);u0&&(o=c.removeMin(),(a=s[o]).distance!==Number.POSITIVE_INFINITY);)r(o).forEach(u);return s}(t,String(e),n||o,r||function(e){return t.outEdges(e)})};var o=r.constant(1)},9096:(t,e,n)=>{var r=n(9126),i=n(5023);t.exports=function(t){return r.filter(i(t),(function(e){return e.length>1||1===e.length&&t.hasEdge(e[0],e[0])}))}},8924:(t,e,n)=>{var r=n(9126);t.exports=function(t,e,n){return function(t,e,n){var r={},i=t.nodes();return i.forEach((function(t){r[t]={},r[t][t]={distance:0},i.forEach((function(e){t!==e&&(r[t][e]={distance:Number.POSITIVE_INFINITY})})),n(t).forEach((function(n){var i=n.v===t?n.w:n.v,o=e(n);r[t][i]={distance:o,predecessor:t}}))})),i.forEach((function(t){var e=r[t];i.forEach((function(n){var o=r[n];i.forEach((function(n){var r=o[t],i=e[n],a=o[n],s=r.distance+i.distance;s{t.exports={components:n(2842),dijkstra:n(3763),dijkstraAll:n(4847),findCycles:n(9096),floydWarshall:n(8924),isAcyclic:n(2707),postorder:n(8828),preorder:n(2648),prim:n(514),tarjan:n(5023),topsort:n(2166)}},2707:(t,e,n)=>{var r=n(2166);t.exports=function(t){try{r(t)}catch(t){if(t instanceof r.CycleException)return!1;throw t}return!0}},8828:(t,e,n)=>{var r=n(3984);t.exports=function(t,e){return r(t,e,"post")}},2648:(t,e,n)=>{var r=n(3984);t.exports=function(t,e){return r(t,e,"pre")}},514:(t,e,n)=>{var r=n(9126),i=n(771),o=n(9675);t.exports=function(t,e){var n,a=new i,s={},c=new o;function u(t){var r=t.v===n?t.w:t.v,i=c.priority(r);if(void 0!==i){var o=e(t);o0;){if(n=c.removeMin(),r.has(s,n))a.setEdge(n,s[n]);else{if(l)throw new Error("Input graph is not connected: "+t);l=!0}t.nodeEdges(n).forEach(u)}return a}},5023:(t,e,n)=>{var r=n(9126);t.exports=function(t){var e=0,n=[],i={},o=[];function a(s){var c=i[s]={onStack:!0,lowlink:e,index:e++};if(n.push(s),t.successors(s).forEach((function(t){r.has(i,t)?i[t].onStack&&(c.lowlink=Math.min(c.lowlink,i[t].index)):(a(t),c.lowlink=Math.min(c.lowlink,i[t].lowlink))})),c.lowlink===c.index){var u,l=[];do{u=n.pop(),i[u].onStack=!1,l.push(u)}while(s!==u);o.push(l)}}return t.nodes().forEach((function(t){r.has(i,t)||a(t)})),o}},2166:(t,e,n)=>{var r=n(9126);function i(t){var e={},n={},i=[];if(r.each(t.sinks(),(function a(s){if(r.has(n,s))throw new o;r.has(e,s)||(n[s]=!0,e[s]=!0,r.each(t.predecessors(s),a),delete n[s],i.push(s))})),r.size(e)!==t.nodeCount())throw new o;return i}function o(){}t.exports=i,i.CycleException=o,o.prototype=new Error},9675:(t,e,n)=>{var r=n(9126);function i(){this._arr=[],this._keyIndices={}}t.exports=i,i.prototype.size=function(){return this._arr.length},i.prototype.keys=function(){return this._arr.map((function(t){return t.key}))},i.prototype.has=function(t){return r.has(this._keyIndices,t)},i.prototype.priority=function(t){var e=this._keyIndices[t];if(void 0!==e)return this._arr[e].priority},i.prototype.min=function(){if(0===this.size())throw new Error("Queue underflow");return this._arr[0].key},i.prototype.add=function(t,e){var n=this._keyIndices;if(t=String(t),!r.has(n,t)){var i=this._arr,o=i.length;return n[t]=o,i.push({key:t,priority:e}),this._decrease(o),!0}return!1},i.prototype.removeMin=function(){this._swap(0,this._arr.length-1);var t=this._arr.pop();return delete this._keyIndices[t.key],this._heapify(0),t.key},i.prototype.decrease=function(t,e){var n=this._keyIndices[t];if(e>this._arr[n].priority)throw new Error("New priority is greater than current priority. Key: "+t+" Old: "+this._arr[n].priority+" New: "+e);this._arr[n].priority=e,this._decrease(n)},i.prototype._heapify=function(t){var e=this._arr,n=2*t,r=n+1,i=t;n>1].priority{"use strict";var r=n(9126);t.exports=s;var i="\0",o="\0",a="";function s(t){this._isDirected=!r.has(t,"directed")||t.directed,this._isMultigraph=!!r.has(t,"multigraph")&&t.multigraph,this._isCompound=!!r.has(t,"compound")&&t.compound,this._label=void 0,this._defaultNodeLabelFn=r.constant(void 0),this._defaultEdgeLabelFn=r.constant(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[o]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}function c(t,e){t[e]?t[e]++:t[e]=1}function u(t,e){--t[e]||delete t[e]}function l(t,e,n,o){var s=""+e,c=""+n;if(!t&&s>c){var u=s;s=c,c=u}return s+a+c+a+(r.isUndefined(o)?i:o)}function h(t,e){return l(t,e.v,e.w,e.name)}s.prototype._nodeCount=0,s.prototype._edgeCount=0,s.prototype.isDirected=function(){return this._isDirected},s.prototype.isMultigraph=function(){return this._isMultigraph},s.prototype.isCompound=function(){return this._isCompound},s.prototype.setGraph=function(t){return this._label=t,this},s.prototype.graph=function(){return this._label},s.prototype.setDefaultNodeLabel=function(t){return r.isFunction(t)||(t=r.constant(t)),this._defaultNodeLabelFn=t,this},s.prototype.nodeCount=function(){return this._nodeCount},s.prototype.nodes=function(){return r.keys(this._nodes)},s.prototype.sources=function(){var t=this;return r.filter(this.nodes(),(function(e){return r.isEmpty(t._in[e])}))},s.prototype.sinks=function(){var t=this;return r.filter(this.nodes(),(function(e){return r.isEmpty(t._out[e])}))},s.prototype.setNodes=function(t,e){var n=arguments,i=this;return r.each(t,(function(t){n.length>1?i.setNode(t,e):i.setNode(t)})),this},s.prototype.setNode=function(t,e){return r.has(this._nodes,t)?(arguments.length>1&&(this._nodes[t]=e),this):(this._nodes[t]=arguments.length>1?e:this._defaultNodeLabelFn(t),this._isCompound&&(this._parent[t]=o,this._children[t]={},this._children[o][t]=!0),this._in[t]={},this._preds[t]={},this._out[t]={},this._sucs[t]={},++this._nodeCount,this)},s.prototype.node=function(t){return this._nodes[t]},s.prototype.hasNode=function(t){return r.has(this._nodes,t)},s.prototype.removeNode=function(t){var e=this;if(r.has(this._nodes,t)){var n=function(t){e.removeEdge(e._edgeObjs[t])};delete this._nodes[t],this._isCompound&&(this._removeFromParentsChildList(t),delete this._parent[t],r.each(this.children(t),(function(t){e.setParent(t)})),delete this._children[t]),r.each(r.keys(this._in[t]),n),delete this._in[t],delete this._preds[t],r.each(r.keys(this._out[t]),n),delete this._out[t],delete this._sucs[t],--this._nodeCount}return this},s.prototype.setParent=function(t,e){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(r.isUndefined(e))e=o;else{for(var n=e+="";!r.isUndefined(n);n=this.parent(n))if(n===t)throw new Error("Setting "+e+" as parent of "+t+" would create a cycle");this.setNode(e)}return this.setNode(t),this._removeFromParentsChildList(t),this._parent[t]=e,this._children[e][t]=!0,this},s.prototype._removeFromParentsChildList=function(t){delete this._children[this._parent[t]][t]},s.prototype.parent=function(t){if(this._isCompound){var e=this._parent[t];if(e!==o)return e}},s.prototype.children=function(t){if(r.isUndefined(t)&&(t=o),this._isCompound){var e=this._children[t];if(e)return r.keys(e)}else{if(t===o)return this.nodes();if(this.hasNode(t))return[]}},s.prototype.predecessors=function(t){var e=this._preds[t];if(e)return r.keys(e)},s.prototype.successors=function(t){var e=this._sucs[t];if(e)return r.keys(e)},s.prototype.neighbors=function(t){var e=this.predecessors(t);if(e)return r.union(e,this.successors(t))},s.prototype.isLeaf=function(t){return 0===(this.isDirected()?this.successors(t):this.neighbors(t)).length},s.prototype.filterNodes=function(t){var e=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});e.setGraph(this.graph());var n=this;r.each(this._nodes,(function(n,r){t(r)&&e.setNode(r,n)})),r.each(this._edgeObjs,(function(t){e.hasNode(t.v)&&e.hasNode(t.w)&&e.setEdge(t,n.edge(t))}));var i={};function o(t){var r=n.parent(t);return void 0===r||e.hasNode(r)?(i[t]=r,r):r in i?i[r]:o(r)}return this._isCompound&&r.each(e.nodes(),(function(t){e.setParent(t,o(t))})),e},s.prototype.setDefaultEdgeLabel=function(t){return r.isFunction(t)||(t=r.constant(t)),this._defaultEdgeLabelFn=t,this},s.prototype.edgeCount=function(){return this._edgeCount},s.prototype.edges=function(){return r.values(this._edgeObjs)},s.prototype.setPath=function(t,e){var n=this,i=arguments;return r.reduce(t,(function(t,r){return i.length>1?n.setEdge(t,r,e):n.setEdge(t,r),r})),this},s.prototype.setEdge=function(){var t,e,n,i,o=!1,a=arguments[0];"object"==typeof a&&null!==a&&"v"in a?(t=a.v,e=a.w,n=a.name,2===arguments.length&&(i=arguments[1],o=!0)):(t=a,e=arguments[1],n=arguments[3],arguments.length>2&&(i=arguments[2],o=!0)),t=""+t,e=""+e,r.isUndefined(n)||(n=""+n);var s=l(this._isDirected,t,e,n);if(r.has(this._edgeLabels,s))return o&&(this._edgeLabels[s]=i),this;if(!r.isUndefined(n)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(t),this.setNode(e),this._edgeLabels[s]=o?i:this._defaultEdgeLabelFn(t,e,n);var u=function(t,e,n,r){var i=""+e,o=""+n;if(!t&&i>o){var a=i;i=o,o=a}var s={v:i,w:o};return r&&(s.name=r),s}(this._isDirected,t,e,n);return t=u.v,e=u.w,Object.freeze(u),this._edgeObjs[s]=u,c(this._preds[e],t),c(this._sucs[t],e),this._in[e][s]=u,this._out[t][s]=u,this._edgeCount++,this},s.prototype.edge=function(t,e,n){var r=1===arguments.length?h(this._isDirected,arguments[0]):l(this._isDirected,t,e,n);return this._edgeLabels[r]},s.prototype.hasEdge=function(t,e,n){var i=1===arguments.length?h(this._isDirected,arguments[0]):l(this._isDirected,t,e,n);return r.has(this._edgeLabels,i)},s.prototype.removeEdge=function(t,e,n){var r=1===arguments.length?h(this._isDirected,arguments[0]):l(this._isDirected,t,e,n),i=this._edgeObjs[r];return i&&(t=i.v,e=i.w,delete this._edgeLabels[r],delete this._edgeObjs[r],u(this._preds[e],t),u(this._sucs[t],e),delete this._in[e][r],delete this._out[t][r],this._edgeCount--),this},s.prototype.inEdges=function(t,e){var n=this._in[t];if(n){var i=r.values(n);return e?r.filter(i,(function(t){return t.v===e})):i}},s.prototype.outEdges=function(t,e){var n=this._out[t];if(n){var i=r.values(n);return e?r.filter(i,(function(t){return t.w===e})):i}},s.prototype.nodeEdges=function(t,e){var n=this.inEdges(t,e);if(n)return n.concat(this.outEdges(t,e))}},2354:(t,e,n)=>{t.exports={Graph:n(771),version:n(9631)}},8974:(t,e,n)=>{var r=n(9126),i=n(771);function o(t){return r.map(t.nodes(),(function(e){var n=t.node(e),i=t.parent(e),o={v:e};return r.isUndefined(n)||(o.value=n),r.isUndefined(i)||(o.parent=i),o}))}function a(t){return r.map(t.edges(),(function(e){var n=t.edge(e),i={v:e.v,w:e.w};return r.isUndefined(e.name)||(i.name=e.name),r.isUndefined(n)||(i.value=n),i}))}t.exports={write:function(t){var e={options:{directed:t.isDirected(),multigraph:t.isMultigraph(),compound:t.isCompound()},nodes:o(t),edges:a(t)};return r.isUndefined(t.graph())||(e.value=r.clone(t.graph())),e},read:function(t){var e=new i(t.options).setGraph(t.value);return r.each(t.nodes,(function(t){e.setNode(t.v,t.value),t.parent&&e.setParent(t.v,t.parent)})),r.each(t.edges,(function(t){e.setEdge({v:t.v,w:t.w,name:t.name},t.value)})),e}}},9126:(t,e,n)=>{var r;try{r={clone:n(6678),constant:n(5703),each:n(6073),filter:n(3105),has:n(8721),isArray:n(1469),isEmpty:n(1609),isFunction:n(3560),isUndefined:n(2353),keys:n(3674),map:n(5161),reduce:n(4061),size:n(4238),transform:n(8718),union:n(3386),values:n(2628)}}catch(t){}r||(r=window._),t.exports=r},9631:t=>{t.exports="2.1.8"},4485:(t,e,n)=>{t.exports=n(2894)},2894:function(t,e){var n,r,i;(function(){var o,a,s,c,u,l,h,f,d,p,g,v,b,y,m;s=Math.floor,p=Math.min,a=function(t,e){return te?1:0},d=function(t,e,n,r,i){var o;if(null==n&&(n=0),null==i&&(i=a),n<0)throw new Error("lo must be non-negative");for(null==r&&(r=t.length);nn;0<=n?e++:e--)u.push(e);return u}.apply(this).reverse()).length;rg;0<=g?++l:--l)v.push(u(t,n));return v},y=function(t,e,n,r){var i,o,s;for(null==r&&(r=a),i=t[n];n>e&&r(i,o=t[s=n-1>>1])<0;)t[n]=o,n=s;return t[n]=i},m=function(t,e,n){var r,i,o,s,c;for(null==n&&(n=a),i=t.length,c=e,o=t[e],r=2*e+1;r{var e,n;!function(){var r;function i(){}function a(){}function s(){}function c(){}function u(){}function l(){}function h(){}function f(){}function d(){}function p(){}function g(){}function v(){}function b(){}function y(){}function m(){}function w(){}function x(){}function _(){}function E(){}function k(){}function T(){}function C(){}function N(){}function A(){}function S(){}function O(){}function L(){}function I(){}function M(){}function P(){}function D(){}function R(){}function j(){}function G(){}function B(){}function F(){}function H(){}function Y(){}function z(){}function U(){}function V(){}function q(){}function X(){}function W(){}function $(){}function Z(){}function K(){}function Q(){}function J(){}function tt(){}function et(){}function nt(){}function rt(){}function it(){}function ot(){}function at(){}function st(){}function ct(){}function ut(){}function lt(){}function ht(){}function ft(){}function dt(){}function pt(){}function gt(){}function vt(){}function bt(){}function yt(){}function mt(){}function wt(){}function xt(){}function _t(){}function Et(){}function kt(){}function Tt(){}function Ct(){}function Nt(){}function At(){}function St(){}function Ot(){}function Lt(){}function It(){}function Mt(){}function Pt(){}function Dt(){}function Rt(){}function jt(){}function Gt(){}function Bt(){}function Ft(){}function Ht(){}function Yt(){}function zt(){}function Ut(){}function Vt(){}function qt(){}function Xt(){}function Wt(){}function $t(){}function Zt(){}function Kt(){}function Qt(){}function Jt(){}function te(){}function ee(){}function ne(){}function re(){}function ie(){}function oe(){}function ae(){}function se(){}function ce(){}function ue(){}function le(){}function he(){}function fe(){}function de(){}function pe(){}function ge(){}function ve(){}function be(){}function ye(){}function me(){}function we(){Bf()}function xe(){C_()}function _e(){Xd()}function Ee(){qg()}function ke(){no()}function Te(){ro()}function Ce(){fa()}function Ne(){Xg()}function Ae(){Df()}function Se(){Nk()}function Oe(){Rf()}function Le(){jf()}function Ie(){lN()}function Me(){LT()}function Pe(){sh(this)}function De(){}function Re(){xu(this)}function je(){}function Ge(t){this.a=t}function Be(t){this.a=t}function Fe(t){this.a=t}function He(t){this.a=t}function Ye(t){this.a=t}function ze(t){this.a=t}function Ue(t){this.a=t}function Ve(t){this.a=t}function qe(t){this.a=t}function Xe(t){this.b=t}function We(t){this.a=t}function $e(t){this.a=t}function Ze(t){this.a=t}function Ke(t){this.a=t}function Qe(t){this.a=t}function Je(t){this.a=t}function tn(t){this.a=t}function en(t){this.a=t}function nn(t){this.a=t}function rn(t){this.a=t}function on(t){this.a=t}function an(t){this.a=t}function sn(t){this.a=t}function cn(t){this.a=t}function un(t){this.a=t}function ln(t){this.e=t}function hn(t){this.a=t}function fn(t){this.a=t}function dn(t){this.a=t}function pn(t){this.a=t}function gn(t){this.a=t}function vn(t){this.a=t}function bn(t){this.a=t}function yn(t){this.a=t}function mn(t){this.a=t}function wn(t){this.a=t}function xn(t){this.a=t}function _n(t){this.a=t}function En(t){this.a=t}function kn(t){this.a=t}function Tn(t){this.a=t}function Cn(t){this.a=t}function Nn(t){this.a=t}function An(t){this.a=t}function Sn(t){this.a=t}function On(t){this.a=t}function Ln(t){this.a=t}function In(t){this.c=t}function Mn(t){this.a=t}function Pn(t){this.a=t}function Dn(t){this.a=t}function Rn(t){this.a=t}function jn(t){this.a=t}function Gn(t){this.a=t}function Bn(t){this.a=t}function Fn(t){this.a=t}function Hn(t){this.a=t}function Yn(t){this.a=t}function zn(t){this.d=t}function Un(t){this.a=t}function Vn(t){this.a=t}function qn(t){this.a=t}function Xn(t){this.a=t}function Wn(t){this.b=t}function $n(t){this.a=t}function Zn(t){this.a=t}function Kn(t){this.c=t}function Qn(t){this.a=t}function Jn(t){this.a=t}function tr(t){this.a=t}function er(t){this.b=t}function nr(t){this.b=t}function rr(t){this.c=t}function ir(t){this.a=t}function or(t){this.a=t}function ar(t){this.a=t}function sr(){this.a=[]}function cr(t){this.a=t}function ur(t){this.a=t}function lr(t){t.b=t.a}function hr(t){t.c=t.d.d}function fr(t,e){t.g=e}function dr(t,e){t.k=e}function pr(t,e){t.e.k=e}function gr(t){return t.a}function vr(t){return t.a}function br(t){return t.a}function yr(t){return t.a}function mr(t){return t.a}function wr(){return null}function xr(){return null}function _r(){this.c=this}function Er(){sh(this)}function kr(){my(this)}function Tr(t){!function(t,e){var n,r,i,o,a,s,c;for(c=0,r=0,i=e.length;r=t.length)return{done:!0};var r=t[n++];return{value:[r,e.get(r)],done:!1}}}},function(){if(!Object.create||!Object.getOwnPropertyNames)return!1;var t="__proto__",e=Object.create(null);return void 0===e[t]&&0==Object.getOwnPropertyNames(e).length&&(e[t]=42,42===e[t]&&0!=Object.getOwnPropertyNames(e).length)}()||(t.prototype.createObject=function(){return{}},t.prototype.get=function(t){return this.obj[":"+t]},t.prototype.set=function(t,e){this.obj[":"+t]=e},t.prototype[yD]=function(t){delete this.obj[":"+t]},t.prototype.keys=function(){var t=[];for(var e in this.obj)58==e.charCodeAt(0)&&t.push(e.substring(1));return t}),t}()}function Io(t,e){Ix(),oI.dc(t,e)}function Mo(t,e){return Mv(t,e)}function Po(t,e){return t.a.B(e)}function Do(t,e){return t.g[e.e]}function Ro(t,e){return t.i[e.e]}function jo(t,e){return t.j[e.e]}function Go(t,e){return t.n[e.e]}function Bo(t,e){return t.o[e.e]}function Fo(t,e){return t>e?t:e}function Ho(t,e){return t>e?t:e}function Yo(t,e){return t>e?t:e}function zo(t,e){return te?1:0}function Fu(t){return null!=t?K_(t):0}function Hu(t){this.a=zc(),this.b=t}function Yu(t){this.a=zc(),this.b=t}function zu(t){this.a=t,td.call(this,t)}function Uu(){Ju(),this.b=new Tn(this)}function Vu(){var t;Vu=a,t=new co(", "),Dd(pI),HD=new Qf(t,t)}function qu(){qu=a,BD=new fu,GD=new Mu}function Xu(){Xu=a,zD=new g,UD=new v}function Wu(){Wu=a,qD=new Zs,XD=new _u}function $u(){$u=a,JD=new du,QD=new wl}function Zu(){Zu=a,vR=new m,bR=new w}function Ku(t){t.g=new Re,t.b=new Re}function Qu(t){t.a=new ye,t.c=new ye}function Ju(){Ju=a,EY=new Zt,_Y=new ed}function tl(){Ha.call(this,"IS_NULL",2)}function el(){Gc.call(this,"Head",1)}function nl(){Gc.call(this,"Tail",3)}function rl(t,e){ow.call(this,t,e,null)}function il(t,e){Hk(t,0,t.length,e)}function ol(t,e){return Lf(e.a,t.a),t.a}function al(t,e){return t.a*=e,t.b*=e,t}function sl(t,e){og(),this.a=t,this.b=e}function cl(t,e){return t.a[e.d.k][e.k]}function ul(t,e){return t.a[e.d.k][e.k]}function ll(t,e){return ua(function(t,e){var n,r;for(n=null,r=t.b;r;)t.a.$b(e,r.d)>=0?r=r.a[1]:(n=r,r=r.a[0]);return n}(t.a,e))}function hl(t,e){return ua(function(t,e){var n,r;for(n=null,r=t.b;r;)t.a.$b(e,r.d)<=0?r=r.a[0]:(n=r,r=r.a[1]);return n}(t.a,e))}function fl(t,e){return Uf(WT(t.a,e),20)}function dl(t,e){return null!=t&&Pk(t,e)}function pl(t){return t.a=e)throw new Ci}function qf(t,e){return Dd(t),Dd(e),new cd(t,e)}function Xf(t,e){return Dd(t),Dd(e),new ud(t,e)}function Wf(t,e,n){return t=e+1&&t.splice(0,e+1);break}return t}(oI.ec(t))}function Ed(t,e){var n;return(n=Fp(t,e)).g=2,n}function kd(t,e){t.b=e.b,t.c=e.c,t.d=e.d,t.a=e.a}function Td(t){t.a.b=t.b,t.b.a=t.a,t.a=t.b=null}function Cd(t){return t.b.c.length+t.e.c.length}function Nd(t){return Array.isArray(t)&&t.ad===i}function Ad(t,e){return Xu(),-1!=Bx(new Kn(t),e)}function Sd(t,e,n,r,i,o){return jT(t,e,n,r,i,0,o)}function Od(t,e,n){Zu(),Qv.call(this,t.b,e,n,t.d)}function Ld(t,e){Zu(),Qv.call(this,t.b,e,t.c,t.d)}function Id(t,e,n){xy(e,t.c.length),Ac(t.c,e,n)}function Md(t,e){return _y(e,t.a.length),t.a[e]}function Pd(t){t.sort((function(t,e){return t-e}))}function Dd(t){if(null==t)throw new Zr;return t}function Rd(t){if(null==t)throw new Zr;this.a=t}function jd(t,e,n){if(t.a!=e)throw new xi;t.a=n}function Gd(t,e){if(!t)throw new so((si(),e))}function Bd(t,e){if(!t)throw new Eo((si(),e))}function Fd(t){if(null==t)throw new Zr;return t}function Hd(t){cr.call(this,new ry),gw(this,t)}function Yd(t){this.a=new Xs(t.Y()),gw(this,t)}function zd(t){this.c=t,this.a=new qs(this.c.a)}function Ud(t){og(),this.a=(zg(),new tr(Dd(t)))}function Vd(){(Vd=a)(),NX=!1,AX=!0}function qd(){qd=a,IX=Ty(ND,hI,24,256,0,1)}function Xd(){Xd=a,MY=vd(bd(new iE,(WL(),yH)),YH)}function Wd(){Wd=a,fF=new E,pF=new nd,dF=new k}function $d(t){return null!=t&&Mp(t)&&!(t.ad===i)}function Zd(t){return!Array.isArray(t)&&t.ad===i}function Kd(t,e){return Nl(e)?Pg(t,e):AN(t.d,e)}function Qd(t,e){return dl(e,17)&&Xl(t,Uf(e,17))}function Jd(t,e){return dl(e,17)&&function(t,e){return!(!e||t.b[e.e]!=e)&&(Yp(t.b,e.e,null),--t.c,!0)}(t,Uf(e,17))}function tp(t,e){var n;return sx(n=gE(t),e),n}function ep(t,e){return!t&&(t=[]),t[t.length]=e,t}function np(t,e,n){if(!t)throw new so(function(t,e){var n,r,i,o;for(si(),(t=null==t?pI:t).length,e.length,n=new ea,o=0,r=0;r0),t.a.sb(t.c=--t.b)}function pp(t){t.b?pp(t.b):t.d.V()&&Kd(t.f.b,t.e)}function gp(t){if(nE(t.d),t.d.d!=t.c)throw new xi}function vp(t,e){if(e[pD]!=t[pD])throw new xi}function bp(t,e){return Xu(),Dd(t),Dd(e),new Ra(t,e)}function yp(t,e){og(),qa.call(this,t,Lx(new Qn(e)))}function mp(t,e,n,r){this.a=t,Ny.call(this,t,e,n,r)}function wp(t){this.a=Math.cos(t),this.b=Math.sin(t)}function xp(t,e,n){zi.call(this,t),this.b=e,this.a=n}function _p(t){this.b=new Re,this.a=new Re,this.c=t}function Ep(t){this.c=new uo,this.a=new Re,this.b=t}function kp(){kp=a,oR=new nn(!1),aR=new nn(!0)}function Tp(t,e){return++t.d,t.c[t.c.length]=e,!0}function Cp(t,e){Mb(t.d,e,t.b.b,t.b),++t.a,t.c=null}function Np(t,e){return null==t.a.db(e,t)}function Ap(t,e){return By(t.slice(0,e),t)}function Sp(t,e){return By(new Array(e),t)}function Op(t,e,n){var r;return r=t.b[e],t.b[e]=n,r}function Lp(t){return _l(),_f(function(t){return Uf(t.g||(t.g=new We(t)),20)}(t.a).mb(),(Wu(),qD))}function Ip(t){return Xu(),new Pu(ju(Xf(t.a,new p)))}function Mp(t){return typeof t===lI||typeof t===bI}function Pp(t){r.setTimeout((function(){throw t}),0)}function Dp(t){return Dd(t),dl(t,345)?Uf(t,345):Uk(t)}function Rp(t,e){return null==Hx(t.a,e,(Vd(),NX))}function jp(t,e){var n;return function(t,e){if(t<0||t>=e)throw new ao(function(t,e){if(t<0)return DA(jI,Nx(Mo(TD,1),GI,1,4,["index",W_(t)]));if(e<0)throw new so(BI+e);return DA("%s (%s) must be less than size (%s)",Nx(Mo(TD,1),GI,1,4,["index",W_(t),W_(e)]))}(t,e))}(e,n=t.a.Y()),n-1-e}function Gp(t,e,n){var r;return r=Sm(t,e),function(t,e,n){if(n){var r=n.gc();n=r(n)}else n=void 0;t.a[e]=n}(t,e,n),r}function Bp(t,e,n){var r;return Wm(n,r=Fp(t,e)),r}function Fp(t,e){var n;return(n=new Wx).i=t,n.d=e,n}function Hp(t,e,n){this.a=t,Ob(n,e),this.c=e,this.b=n}function Yp(t,e,n){return function(t){if(!t)throw new Wr}(null==n||function(t,e){switch(wm(t)){case 5:return Nl(e);case 6:return Cl(e);case 7:return vh(e);case 0:return Pk(e,t.__elementTypeId$);case 2:return Mp(e)&&!(e.ad===i);case 1:return Mp(e)&&!(e.ad===i)||Pk(e,t.__elementTypeId$);default:return!0}}(t,n)),t[e]=n}function zp(t){t.a=null,t.e=null,my(t.b),t.d=0,++t.c}function Up(t){return t.f||(t.f=new Js(t))}function Vp(t){return t.k||(t.k=new Ye(t))}function qp(t){return t.e||(t.e=new Qa(t))}function Xp(t){var e;return!(e=t.e)&&(t.e=e=t.gb()),e}function Wp(t){return t.c.f.d==t.d.f.d}function $p(t,e){var n;return Hm(n=new Db(t),e),n}function Zp(t,e){return t.a+=String.fromCharCode(e),t}function Kp(t){return!t.a&&t.d?t.d.b:t.a}function Qp(t){return ql(t)?0|t:t.l|t.m<<22}function Jp(t,e){return Nl(e)?mv(t,e):Kc(vv(t.d,e))}function tg(t){return dl(t,19)?Uf(t,19).Y():Jb(t.mb())}function eg(t){return t?new Yd((Vu(),t)):function(t){var e;return zm(e=new Ji,t),e}(null.mb())}function ng(t,e){return Zc(t)===Zc(e)||null!=t&&s_(t,e)}function rg(t,e){return eo(),Ox(oo(Oh(t)),oo(Oh(e)))}function ig(t){return _l(),_f(t.a.bb().mb(),(Wu(),XD))}function og(){og=a,lf(),YD=new sb((zg(),zg(),RX))}function ag(){ag=a,lf(),KD=new Ks((zg(),zg(),GX))}function sg(t,e){if(null==t)throw new Co((si(),e))}function cg(t,e,n,r){t.g[e.e][n.e]=r,t.g[n.e][e.e]=r}function ug(t){Au(-1!=t.c),t.d.vb(t.c),t.b=t.c,t.c=-1}function lg(t){this.c=t,this.b=t.a.b.a,Wl(t.a.c,this)}function hg(t){JS.call(this,new Qn(t)),this.a=new uo}function fg(){Li.call(this,new Ri(new kr)),this.a=this}function dg(){um(),this.b=(_l(),new kr),this.a=new kr}function pg(t){yg(t.a),t.b=Ty(TD,GI,1,t.b.length,4,1)}function gg(t){return!t.b&&(t.b=new Ko(t.c.W())),t.b}function vg(t,e){var n;return nL(t,e,n=new me),n.d}function bg(t,e){var n;return(n=Fp("",t)).k=e,n.g=1,n}function yg(t){var e;for(e=t.mb();e.G();)e.H(),e.I()}function mg(t,e){return dl(e,79)&&ji(t.b,Uf(e,79).mc())}function wg(t,e,n){return Nl(e)?Yv(t,e,n):YC(t.d,e,n)}function xg(t,e,n,r){this.d=t,this.b=e,this.a=n,this.c=r}function _g(t,e,n,r){this.d=t,this.e=e,this.c=n,this.b=r}function Eg(t,e,n,r){this.a=t,this.c=e,this.b=n,this.d=r}function kg(t,e,n,r){Pa.call(this,t,e),this.a=n,this.b=r}function Tg(t,e){return si(),t==e?0:t0?1:0}function Qg(t,e){return Uw(function(t,e){return Cf(t.l&e.l,t.m&e.m,t.h&e.h)}(ql(t)?Jw(t):t,ql(e)?Jw(e):e))}function Jg(t){return 0==t.b?null:(Lu(0!=t.b),Ym(t,t.a.a))}function tv(t){t.d=t.d-15,t.b=t.b-15,t.c=t.c+15,t.a=t.a+15}function ev(t){this.b=t,this.c=t,t.e=null,t.c=null,this.a=1}function nv(t,e,n){this.d=t,this.b=new Re,this.c=e,this.a=n}function rv(t,e){!function(t,e){t.a=e}(this,new ts(t.a,t.b)),function(t,e){t.b=e}(this,Yf(e))}function iv(t){pl(new Kn(Qk(t.e)))&&(function(t){var e,n,r;for(r=new zd(new ar(t.c).a);gl(r.a);)switch(r.b=Qb(r.a),e=Uf((n=new Bc(r.c,r.b)).b.b[n.a.e],62),Uf(n.a,67).e){case 0:e.d=0,e.e=-(e.b+t.d);break;case 1:e.d=(t.e.e.j.a-e.c)/2,e.e=-(e.b+t.d);break;case 2:e.d=t.e.e.j.a-e.c,e.e=-(e.b+t.d);break;case 3:e.d=0,e.e=t.e.e.j.b+t.d;break;case 4:e.d=(t.e.e.j.a-e.c)/2,e.e=t.e.e.j.b+t.d;break;case 5:e.d=t.e.e.j.a-e.c,e.e=t.e.e.j.b+t.d;break;case 6:e.d=-(e.c+t.d),e.e=0;break;case 7:e.d=-(e.c+t.d),e.e=(t.e.e.j.b-e.b)/2;break;case 8:e.d=-(e.c+t.d),e.e=t.e.e.j.b-e.b;break;case 9:e.d=t.e.e.j.a+t.d,e.e=0;break;case 10:e.d=t.e.e.j.a+t.d,e.e=(t.e.e.j.b-e.b)/2;break;case 11:e.d=t.e.e.j.a+t.d,e.e=t.e.e.j.b-e.b;break;case 12:e.d=t.q.b+t.d,e.e=t.q.d+t.d;break;case 13:e.d=(t.e.e.j.a-e.c)/2,e.e=t.q.d+t.d;break;case 14:e.d=t.e.e.j.a-t.q.c-e.c-t.d,e.e=t.q.d+t.d;break;case 15:e.d=t.q.b+t.d,e.e=(t.e.e.j.b-e.b)/2;break;case 16:e.d=(t.e.e.j.a-e.c)/2,e.e=(t.e.e.j.b-e.b)/2;break;case 17:e.d=t.e.e.j.a-t.q.c-e.c-t.d,e.e=(t.e.e.j.b-e.b)/2;break;case 18:e.d=t.q.b+t.d,e.e=t.e.e.j.b-t.q.a-e.b-t.d;break;case 19:e.d=(t.e.e.j.a-e.c)/2,e.e=t.e.e.j.b-t.q.a-e.b-t.d;break;case 20:e.d=t.e.e.j.a-t.q.c-e.c-t.d,e.e=t.e.e.j.b-t.q.a-e.b-t.d}}(t),function(t){var e,n,r,i,o;for(r=new Kn(Qk(t.e));r.a>>0).toString(16)}function mv(t,e){return null==e?Kc(vv(t.d,null)):Dc(t.e,e)}function wv(t){return 0|Math.max(Math.min(t,yI),-2147483648)}function xv(t){this.e=t,this.b=this.e.a.entries(),this.a=[]}function _v(t){this.c=t,this.b=new Xx(new Yn(this.c.a).a)}function Ev(t){this.b=(Xu(),Xu(),Xu(),zD),this.a=Uf(Dd(t),35)}function kv(t,e,n){Zu(),If.call(this,t,e),null!=n&&(this.c=n)}function Tv(t,e,n){if(t<0||en)throw new ao(function(t,e,n){return t<0||t>n?zC(t,n,"start index"):e<0||e>n?zC(e,n,"end index"):DA("end index (%s) must not be less than start index (%s)",Nx(Mo(TD,1),GI,1,4,[W_(e),W_(t)]))}(t,e,n))}function Cv(t,e){if(null==t)throw new Co((si(),e));return t}function Nv(t){if(!tE(t))throw new Ei;return t.c=t.b,t.b.H()}function Av(t){var e;return sx(e=new Sa(cx(t.length)),t),e}function Sv(t){var e;e=t.c.b.b,t.b=e,t.a=t.c.b,e.a=t.c.b.b=t}function Ov(t){this.b=null,!t&&(ec(),ec(),t=HX),this.a=t}function Lv(t){this.b=t,this.a=new Kv(this.b,this.b.c.length)}function Iv(t){return og(),Dd(t),function(t){var e;switch((e=Ap(t.c,t.c.length)).length){case 0:return YD;case 1:return new Ud(e[0]);default:return new sb(B_(e))}}(t||Hf(new Kn(null)))}function Mv(t,e){var n=t.a=t.a||[];return n[e]||(n[e]=t.Oc(e))}function Pv(t,e,n){var r;sT(e,n,t.c.length),r=n-e,xa(t.c,e,r)}function Dv(t,e,n){Ma.call(this,e.a),this.c=t,this.b=e,this.a=n}function Rv(t){return qc(t.c),t.e=t.a=t.c,t.c=t.c.c,++t.d,t.a.f}function jv(t){return qc(t.e),t.c=t.a=t.e,t.e=t.e.e,--t.d,t.a.f}function Gv(t){return Vw(Nx(Mo(gR,1),KM,10,0,[t.f.i,t.i,t.a]))}function Bv(){Bv=a,LY=Zx((Vg(),Nx(Mo(jY,1),FI,193,0,[AY,SY])))}function Fv(){Fv=a,dY=Zx((Nb(),Nx(Mo(wY,1),FI,175,0,[lY,hY])))}function Hv(){Hv=a,$Y=Zx((lb(),Nx(Mo(QY,1),FI,192,0,[XY,qY])))}function Yv(t,e,n){return null==e?YC(t.d,null,n):sE(t.e,e,n)}function zv(t,e){return Jd(t.a,e)?Op(t,Uf(e,17).e,null):null}function Uv(t){return Dd(t),nT((Xu(),new Pu(ju(Xf(t.a,new p)))))}function Vv(t,e){var n,r;return r=rp(t,e),n=t.a.ub(r),new Ua(t,n)}function qv(t,e,n){var r;(r=new se).b=e,r.a=n,++e.b,Lf(t.d,r)}function Xv(t,e,n){t.d&&Gy(t.d.b,t),t.d=e,t.d&&Id(t.d.b,n,t)}function Wv(t,e,n){sT(e,n,t.Y()),this.c=t,this.a=e,this.b=n-e}function $v(t,e,n,r){this.d=t,this.b=e,this.a=n,this.c=r}function Zv(t,e){Li.call(this,fw(Dd(t),Dd(e))),this.b=t,this.c=e}function Kv(t,e){this.a=t,zn.call(this,t),xy(e,t.Y()),this.b=e}function Qv(t,e,n,r){Zu(),kv.call(this,t,e,n),null!=r&&(this.d=r)}function Jv(t){return Lu(t.ae)throw new ao(zC(t,e,"index"));return t}function Lb(t,e,n){Dd(t),function(t){var e,n,r;for(xb(t.c,t.a),r=new Kn(t.c);r.a>22&wM,t<0?xM:0)}function hy(){hy=a,MR=Zx((E_(),Nx(Mo(GR,1),FI,59,0,[OR,SR,AR,NR,LR])))}function fy(){fy=a,JG=Zx((mL(),Nx(Mo(iB,1),FI,32,0,[ZG,IG,LG,$G,KG])))}function dy(){dy=a,bG=Zx((OE(),Nx(Mo(kG,1),FI,100,0,[gG,pG,hG,fG,dG])))}function py(){py=a,KY=vd(wd(wd(wd(md(new iE,(WL(),IH)),BH),lH),wH),LH)}function gy(t,e){var n;for(n=e.mb();n.G();)gS(t,Uf(n.H(),55),0,0)}function vy(t,e,n){var r;for(r=t.mb();r.G();)iS(Uf(r.H(),55),e,n)}function by(t,e,n){var r,i;for(r=0,i=0;ie)throw new ao("Index: "+t+", Size: "+e)}function _y(t,e){if(t<0||t>=e)throw new ao("Index: "+t+", Size: "+e)}function Ey(t,e){var n;return!!(n=t_(t,e.yb()))&&Ag(n.e,e.zb())}function ky(t,e){var n;return n=t.d,e>0?Uf(gd(n.a,e-1),9):null}function Ty(t,e,n,r,i,o){var a;return a=hT(i,r),9!=i&&Nx(Mo(t,o),e,n,i,a),a}function Cy(t){var e;if(!uw(t))throw new Ei;return t.d=1,e=t.c,t.c=null,e}function Ny(t,e,n,r){this.f=t,this.e=e,this.d=n,this.b=r,this.c=r?r.d:null}function Ay(t){var e;return e=Uf(gd(t.f,0),7),Uf(kx(e,($L(),oq)),7)}function Sy(t){var e;return e=Uf(gd(t.f,0),7),Uf(kx(e,($L(),oq)),7)}function Oy(){Oy=a,xX=Zx((ME(),Nx(Mo(TX,1),FI,153,0,[bX,mX,yX])))}function Ly(){Ly=a,CX=Zx((Bw(),Nx(Mo(SX,1),FI,172,0,[_X,EX,kX])))}function Iy(){Iy=a,CR=Zx((fk(),Nx(Mo(IR,1),FI,103,0,[mR,_R,ER,kR,wR,xR])))}function My(){My=a,JR=Zx((DT(),Nx(Mo(rj,1),FI,133,0,[ZR,WR,KR,qR,$R,XR])))}function Py(){Py=a,TG=Zx((bT(),Nx(Mo(SG,1),FI,28,0,[EG,_G,xG,yG,wG,mG])))}function Dy(){Dy=a,xY=Zx((pC(),Nx(Mo(kY,1),FI,125,0,[yY,gY,mY,bY,vY,pY])))}function Ry(){Ry=a,yR=new If("de.cau.cs.kieler.labels.labelManager",null)}function jy(t,e){var n;return(n=new me).c=!0,n.d=e.zb(),nL(t,e.yb(),n)}function Gy(t,e){var n;return-1!=(n=Qy(t,e,0))&&(t.vb(n),!0)}function By(t,e){return 9!=wm(e)&&Nx(mm(e),e._c,e.__elementTypeId$,wm(e),t),t}function Fy(t){return vp(t.c.a.c,t),Lu(t.b!=t.c.a.b),t.a=t.b,t.b=t.b.a,t.a}function Hy(t){Au(!!t.c),vp(t.e,t),t.c.I(),t.c=null,t.b=ix(t),Wl(t.e,t)}function Yy(t,e,n){Li.call(this,fw(Dd(t),Dd(e))),this.b=t,this.c=e,this.a=n}function zy(t,e,n,r){this.b=new On(this),this.a=t,this.c=e,this.e=n,this.d=r}function Uy(t){qx.call(this,t,0),bh(this),this.b.b=this.b,this.b.a=this.b}function Vy(t,e){Fc.call(this,t,e),this.a=Ty(KX,GI,183,2,0,1),this.b=!0}function qy(t,e){return Nl(e)?null==e?!!vv(t.d,null):function(t,e){return!(void 0===Ca(t.a,e))}(t.e,e):!!vv(t.d,e)}function Xy(t,e){return Oo(),(t-e>0?t-e:-(t-e))<=yM||t==e||isNaN(t)&&isNaN(e)}function Wy(t,e){return Oo(),(t-e>0?t-e:-(t-e))<=yM||t==e||isNaN(t)&&isNaN(e)}function $y(t){var e,n;e=!0;do{n=e?oE(t):EE(t),e=!e}while(n);ax(t,t.d)}function Zy(t,e,n){var r;if(null==e)throw new Zr;return r=Sg(t,e),function(t,e,n){if(n){var r=n.gc();t.a[e]=r(n)}else delete t.a[e]}(t,e,n),r}function Ky(t,e,n){return!t.n&&(t.n=new kr),null==n?Kd(t.n,e):wg(t.n,e,n),t}function Qy(t,e,n){for(;n=t.a.c.length;)Lf(t.a,new lo);return Uf(gd(t.a,e),20)}function tm(t,e,n,r,i){var o;return Wm(n,o=Fp(t,e)),o.g=i?8:0,o.f=r,o.e=i,o}function em(t,e){var n;this.f=t,this.b=e,n=Uf(Jp(t.b,e),126),this.c=n?n.b:null}function nm(t,e){var n,r;for(n=0,r=e.length;n0&&(r+=function(t){var e,n,r,i,o,a,s,c,u,l,h,f,d,p,g,v,b,y,m,w,x,_,E;for(i=0,y=0,_l(),b=new kr,r=new kr,function(t,e,n){var r,i,o,a,s,c,u,l,h,f,d;for(r=0,i=0,l=0;l0&&wg(e,o,W_(r+=o.b.c.length+o.e.c.length));else{for(s=mC(c,(mL(),LG)).mb();s.G();)r+=(o=Uf(s.H(),7)).b.c.length+o.e.c.length;for(a=mC(c,LG).mb();a.G();)(o=Uf(a.H(),7)).b.c.length+o.e.c.length>0&&wg(e,o,W_(r))}for(u=t.length-1;u>=0;u--)if(Vl(Uf(kx(c=t[u],(JL(),Hj)),28)))for(f=mC(c,(mL(),KG)).mb();f.G();)(h=Uf(f.H(),7)).b.c.length+h.e.c.length>0&&wg(n,h,W_(i+=h.b.c.length+h.e.c.length));else{for(d=mC(c,(mL(),KG)).mb();d.G();)i+=(h=Uf(d.H(),7)).b.c.length+h.e.c.length;for(f=mC(c,KG).mb();f.G();)(h=Uf(f.H(),7)).b.c.length+h.e.c.length>0&&wg(n,h,W_(i))}}(t,o=new kr,E=new kr),e=null,v=0,_=0,m=!0,c=!0,f=0,p=t.length;fu.k&&(++e,d=!0),p&&u&&p.k>u.k&&(++e,g=!0),f&&s&&f.ks.k&&(++e,c=!0),f&&s&&f.ku.k&&(++e,l=!0),c&&l&&s==u&&--e)}}return e}(e)),r}function om(t,e){var n;return(n=Uf(Kd(t.c,e),176))?(Td(n),n.e):null}function am(t){return n_(t,yI)>0?yI:n_(t,kI)<0?kI:Qp(t)}function sm(t){sf.call(this,(si(),null==t?pI:Uk(t)),dl(t,46)?Uf(t,46):null)}function cm(t){xu(this),Gd(t>=0,"Initial capacity must not be negative")}function um(){um=a,oF=xd(wd(wd(new iE,(WL(),MH)),xH),AH),aF=md(new iE,TH)}function lm(){lm=a,UF=new U,YF=new V,zF=new q,HF=new X,VF=new W,qF=new $}function hm(){hm=a,XX=new Gc("All",0),WX=new el,$X=new ml,ZX=new nl}function fm(){fm=a,RY=new Gs($P,0),DY=new Gs("LONGEST_PATH",1),PY=new Gs(VP,2)}function dm(){dm=a,uR=Cf(wM,wM,524287),lR=Cf(0,0,524288),ly(1),ly(2),hR=ly(0)}function pm(){pm=a,cY=Zx((nA(),Nx(Mo(fY,1),FI,109,0,[oY,tY,rY,eY,nY,JH,iY,aY])))}function gm(){gm=a,vz=Zx((Vk(),Nx(Mo(wz,1),FI,141,0,[pz,hz,fz,lz,dz])))}function vm(){vm=a,UU=Zx((mT(),Nx(Mo(KU,1),FI,115,0,[BU,GU,HU,FU,YU])))}function bm(){bm=a,Pq=Zx((qk(),Nx(Mo(Gq,1),FI,85,0,[Iq,Aq,Sq,Oq,Lq])))}function ym(t){tC(),function(t,e,n){t.a=1502^e,t.b=n^mD}(this,Qp(Qg(Uw(function(t,e){var n,r,i,o;return 63,(r=0!=(524288&(n=t.h)))&&(n|=-1048576),o=r?xM:0,i=n>>2,Cf((t.m>>2|n<<20)&wM,i&wM,o&xM)}(ql(t)?Jw(t):t)),xD)),Qp(Qg(t,xD)))}function mm(t){return Nl(t)?AD:Cl(t)?LX:vh(t)?OX:Zd(t)||Nd(t)?t.$c:t.$c||rR}function wm(t){return null==t.__elementTypeCategory$?9:t.__elementTypeCategory$}function xm(t){var e,n;for(oc(),n=SM,e=0;en&&(n=t[e]);return n}function _m(t,e){var n;return(n=Uf(Jp(t.b,e),106))||(n=e.rc(),wg(t.b,e,n)),n}function Em(t,e){var n;return(n=Uf(Jp(t.c,e),176))?(Hl(t,n),n.e):null}function km(t,e,n,r){var i;(i=Uf(Em(t.e,e),116)).b+=n,i.a+=r,Ik(t.e,e,i),t.d=!0}function Tm(t){var e;for(++t.a,e=t.c.a.length;t.a"+t.d.f+"("+t.d+")":"e_"+fh(t)}function Dm(){Dm=a,lG=Zx((yN(),Nx(Mo(vG,1),FI,41,0,[eG,tG,rG,cG,sG,aG,iG,oG,nG])))}function Rm(){Rm=a,AG=new bs("OUTSIDE",0),NG=new bs("INSIDE",1),CG=new bs("FIXED",2)}function jm(){jm=a,xV=new _c(BM,0),_V=new _c("TOP",1),wV=new _c("BOTTOM",2)}function Gm(){Gm=a,Tz=new fc("CLASSIC",0),Cz=new fc("IMPROVE_STRAIGHTNESS",1)}function Bm(){this.e=new uo,this.a=new Hg,this.d=new uo,this.b=new Re,this.c=new Re}function Fm(t,e,n){this.b=e,this.a=t,this.c=n,Lf(this.a.e,this),Lf(this.b.b,this)}function Hm(t,e){t.d=zo(t.d,e.d),t.c=Fo(t.c,e.c),t.a=Fo(t.a,e.a),t.b=zo(t.b,e.b)}function Ym(t,e){var n;return n=e.c,e.a.b=e.b,e.b.a=e.a,e.a=e.b=null,e.c=null,--t.b,n}function zm(t,e){var n;for(Xu(),Dd(t),Dd(e),n=!1;e.G();)n|=t.ib(e.H());return n}function Um(t){var e;return vp(t.e,t),Lu(t.b),t.c=t.a,e=Uf(t.a.H(),21),t.b=ix(t),e}function Vm(t){return kM=0x8000000000000000?(dm(),uR):(r=!1,t<0&&(r=!0,t=-t),n=0,t>=EM&&(t-=(n=wv(t/EM))*EM),e=0,t>=_M&&(t-=(e=wv(t/_M))*_M),i=Cf(wv(t),e,n),r&&(o=1+~i.l&wM,a=~i.m+(0==o?1:0)&wM,s=~i.h+(0==o&&0==a?1:0)&xM,i.l=o,i.m=a,i.h=s),i)}(t))}function qm(t){if(t){if(t.V())throw new Ei;return t.sb(t.Y()-1)}return function(t){var e;for(Xu();;)if(e=t.H(),!t.G())return e}(null.mb())}function Xm(t,e){var n;return e<(n=t.d).a.c.length-1?Uf(gd(n.a,e+1),9):null}function Wm(t,e){if(t){e.k=t;var n=function(t){if(t.Tc())return null;var e=t.k;return nI[e]}(e);n?n.$c=e:nI[t]=[e]}}function $m(t,e){var n,r;r=!1;do{r|=n=t.i?xx(t,e):wx(t,e)}while(n);return r}function Zm(t,e,n){var r,i;r=e;do{i=oo(t.n[r.k])+n,t.n[r.k]=i,r=t.a[r.k]}while(r!=e)}function Km(t,e){return Cv(t,"set1"),Cv(e,"set2"),ic(),new pf(t,new La(e),e)}function Qm(t){var e=/function(?:\s+([\w$]+))?\s*\(/.exec(t);return e&&e[1]||gI}function Jm(){Jm=a,MU=Zx((PT(),Nx(Mo(jU,1),FI,123,0,[LU,OU,SU,NU,CU,AU])))}function tw(){tw=a,QU=Zx((MT(),Nx(Mo(uV,1),FI,124,0,[WU,XU,ZU,qU,$U,VU])))}function ew(){ew=a,MX=Nx(Mo(iW,1),vM,26,12,[0,8,4,12,2,10,6,14,1,9,5,13,3,11,7,15])}function nw(){nw=a,jq=new Tc(GM,0),Dq=new Tc("INPUT",1),Rq=new Tc("OUTPUT",2)}function rw(t){this.c=t,this.b=new Xx(new Yn(t.b).a),this.a=null,this.d=(Xu(),Xu(),UD)}function iw(t){this.e=t,this.d=new Sa(cx(ip(this.e).Y())),this.c=this.e.a,this.b=this.e.c}function ow(t,e,n){this.c=t,Gb.call(this),this.b=e,this.j=new _g(e.d,e.e,e.c,e.b),this.a=n}function aw(t,e){t.j>0&&t.c0&&0!=t.e&&aw(t.g,e/t.j*t.g.d))}function sw(t){return t.b.d.f.g==(RT(),DF)?Uf(kx(t.b.d.f,($L(),oq)),7):t.b.d}function cw(t){return t.b.c.f.g==(RT(),DF)?Uf(kx(t.b.c.f,($L(),oq)),7):t.b.c}function uw(t){switch(Vc(3!=t.d),t.d){case 2:return!1;case 0:return!0}return function(t){return t.d=3,t.c=function(t){for(var e;t.b.G();)if(e=t.b.H(),t.a.D(e))return e;return t.d=2,null}(t),2!=t.d&&(t.d=0,!0)}(t)}function lw(t){switch(t.e){case 2:return mL(),KG;case 4:return mL(),LG;default:return t}}function hw(t){switch(t.e){case 1:return mL(),$G;case 3:return mL(),IG;default:return t}}function fw(t,e){var n;return zg(),n=new Xs(1),Nl(t)?Yv(n,t,e):YC(n.d,t,e),new rr(n)}function dw(t,e){return t.g?(t.g=dw(t.g,e),--t.a,t.j=__(t.j,e.c),$T(t)):t.e}function pw(t,e){return t.e?(t.e=pw(t.e,e),--t.a,t.j=__(t.j,e.c),$T(t)):t.g}function gw(t,e){var n,r,i;for(Fd(e),n=!1,i=e.mb();i.G();)r=i.H(),n|=t.ib(r);return n}function vw(t){var e,n;for(n=new Fr,e=t.b.mb();e.G();)Of(n,Uf(e.H(),92).a);return n}function bw(t){var e,n,r;for(e=0,r=t.mb();r.G();)e+=(Fd(n=Oh(r.H())),n);return e/t.Y()}function yw(t,e){var n;return(n=Uf(Jp(t.c,e),200))||((n=new Jr).c=e,wg(t.c,n.c,n)),n}function mw(t,e){var n;return Fd(e),n=e.e,!t.b[n]&&(Yp(t.b,n,e),++t.c,!0)}function ww(t,e){var n,r;return n=1-e,r=t.a[n],t.a[n]=r.a[e],r.a[e]=t,t.b=!0,r.b=!1,r}function xw(t,e){var n;return!!dl(e,10)&&(n=Uf(e,10),t.a==n.a&&t.b==n.b)}function _w(t,e,n){return t.g=new Nw(e,n),Th(t,t.g,t.i),t.d=Yo(2,t.d),++t.a,t.j=w_(t.j,n),t}function Ew(t,e,n){return t.e=new Nw(e,n),Th(t.f,t.e,t),t.d=Yo(2,t.d),++t.a,t.j=w_(t.j,n),t}function kw(t,e){var n=t.a,r=0;for(var i in n)n.hasOwnProperty(i)&&(e[r++]=i);return e}function Tw(t,e){var n,r;for(Fd(e),r=e.bb().mb();r.G();)n=Uf(r.H(),21),t.db(n.yb(),n.zb())}function Cw(t,e,n){this.g=t,this.d=e,this.e=n,this.a=new Re,function(t){var e,n,r,i;for(i=bA(new zh(t.d,t.e));i.G();)for(r=Uf(i.H(),7),n=new Kn(t.e==(mL(),KG)?r.b:r.e);n.a0),this.b=t,this.c=e,this.j=e,this.a=1,this.d=1,this.e=null,this.g=null}function Aw(t){return 1.4901161193847656e-8*LN(t,26)+11102230246251565e-32*LN(t,27)}function Sw(t){return dl(t,87)?rb(Uf(t,87)):dl(t,88)?Uf(t,88).a:dl(t,63)?new Di(t):new Ka(t)}function Ow(t){var e;return e=Uf(kx(t,($L(),qV)),32),t.g==(RT(),DF)&&(e==(mL(),KG)||e==LG)}function Lw(t,e){return!!function(t,e){var n,r,i;for(n=Uf(kx(e,($L(),UV)),18),i=Uf(WT(SF,n),18).mb();i.G();)if(r=Uf(i.H(),18),!Uf(WT(t.a,r),20).V())return!1;return!0}(t,e)&&(dN(t.a,Uf(kx(e,($L(),UV)),18),e),!0)}function Iw(t,e){var n;if(e)for(n=0;n<6;n++)Uf(gd(t.a,n),18).jb(Uf(gd(e.a,n),19));return t}function Mw(t,e){var n;return t.b?null:(n=function(t,e){return new Ch(t>0?t-1:t,e)}(t.e,t.f),Of(t.a,n),n.g=t,t.d=e,n)}function Pw(t,e){var n,r;for(r=Sk(t,0);r.b!=r.d.c;)(n=Uf(Sb(r),10)).a+=e.a,n.b+=e.b;return t}function Dw(t,e){var n,r;for(n=0;n0?t.g?Yw(t.g,e,n):0:t.c}function zw(t,e){var n,r;return!!t.c&&(r=t.g,(n=t.a.$b(e,r))>0|0==n&t.f==(qu(),BD))}function Uw(t){var e;return 0==(e=t.h)?t.l+t.m*_M:e==xM?t.l+t.m*_M-EM:t}function Vw(t){var e,n,r,i;for(e=new uo,r=0,i=t.length;r=i;o--)t[o+1]=t[o];t[i]=r}function Kw(t,e,n,r){var i,o;for(i=function(t,e,n,r){var i,o,a,s;for(o=e,i=n-1;o<=i;)if((s=t[a=o+i>>>1])r))return a;i=a-1}return-(o+1)}(t,e,n,r),i<0&&(i=-i-1),o=n-1;o>=i;o--)t[o+1]=t[o];t[i]=r}function Qw(t,e){var n,r;for(Fd(e),r=e.mb();r.G();)if(n=r.H(),!t.kb(n))return!1;return!0}function Jw(t){var e,n,r;return n=0,(r=t)<0&&(r+=EM,n=xM),e=wv(r/_M),Cf(wv(r-e*_M),e,n)}function tx(t,e){return t.c.c=Ty(TD,GI,1,0,4,1),vC(t,t.e,e),vC(t,t.a,e),zg(),xb(t.c,null),function(t){var e,n,r;for(e=0,r=new Kn(t.c);r.a0;r--)n|=VE(t,e,r-1,r);return n}function xx(t,e){var n,r,i;for(n=!1,r=t.d[e].length,i=0;ie?1:t==e?0:isNaN(t)?isNaN(e)?0:1:-1}function Lx(t){switch(t.Y()){case 0:return YD;case 1:return new Ud(t.mb().H());default:return new sb(t)}}function Ix(){var t,e;Ix=a,e=!(Error.stackTraceLimit||"stack"in new Error),t=new we,oI=e?new u:t}function Mx(){Mx=a,VB=new If("intCoordinates",(Vd(),Vd(),NX)),qB=new fd("jsonObject"),XB=new ts(0,0)}function Px(){Px=a,ZF=new Is("MIRROR_X",0),KF=new Is("TRANSPOSE",1),$F=new Is("MIRROR_AND_TRANSPOSE",2)}function Dx(){Dx=a,DU=new yc(BM,0),PU=new yc("INCOMING_ONLY",1),RU=new yc("OUTGOING_ONLY",2)}function Rx(){return CL(),Nx(Mo(TU,1),FI,60,0,[$z,qz,Vz,Qz,Kz,vU,gU,Zz,Xz,Wz,Jz,dU,pU])}function jx(){var t,e,n,r;for(jx=a,uY=new TE(TU),n=0,r=(e=Rx()).length;n0)return Vf(e-1,t.a.c.length),yy(t.a,e-1);throw new _i}function Vx(t){t.b.c.length-t.e.c.length<0?(Fh(t,(mL(),LG)),t.a.a=t.j.a):(Fh(t,(mL(),KG)),t.a.a=0)}function qx(t,e){Gd(t>=0,"Negative initial capacity"),Gd(e>=0,"Non-positive load factor"),my(this)}function Xx(t){var e;this.e=t,this.d=new ty(this.e.e),this.a=this.d,this.b=ix(this),e=t[pD],this[pD]=e}function Wx(){this.n=null,this.j=null,this.i=null,this.d=null,this.b=null,this.k=null,this.a=null}function $x(t){var e,n,r,i;for(i=1,n=0,r=t.length;n=48&&t<58?t-48:t>=97&&t<97?t-97+10:t>=65&&t<65?t-65+10:-1}function m_(t){switch(lf(),t.Y()){case 0:return ag(),KD;case 1:return new la(t.mb().H());default:return new Ks(t)}}function w_(t,e){var n;return ql(t)&&ql(e)&&kM<(n=t+e)&&n>22),i=t.h+e.h+(r>>22),Cf(n&wM,r&wM,i&xM)}(ql(t)?Jw(t):t,ql(e)?Jw(e):e))}function x_(t,e){var n;return ql(t)&&ql(e)&&kM<(n=t*e)&&n>13|(15&t.m)<<9,i=t.m>>4&8191,o=t.m>>17|(255&t.h)<<5,a=(1048320&t.h)>>8,v=r*(s=8191&e.l),b=i*s,y=o*s,m=a*s,0!=(c=e.l>>13|(15&e.m)<<9)&&(v+=n*c,b+=r*c,y+=i*c,m+=o*c),0!=(u=e.m>>4&8191)&&(b+=n*u,y+=r*u,m+=i*u),0!=(l=e.m>>17|(255&e.h)<<5)&&(y+=n*l,m+=r*l),0!=(h=(1048320&e.h)>>8)&&(m+=n*h),d=((g=n*s)>>22)+(v>>9)+((262143&b)<<4)+((31&y)<<17),p=(b>>18)+(y>>5)+((4095&m)<<8),p+=(d+=(f=(g&wM)+((511&v)<<13))>>22)>>22,Cf(f&=wM,d&=wM,p&=xM)}(ql(t)?Jw(t):t,ql(e)?Jw(e):e))}function __(t,e){var n;return ql(t)&&ql(e)&&kM<(n=t-e)&&n>22),i=t.h-e.h+(r>>22),Cf(n&wM,r&wM,i&xM)}(ql(t)?Jw(t):t,ql(e)?Jw(e):e))}function E_(){E_=a,OR=new us(GM,0),SR=new us(DM,1),AR=new us(PM,2),NR=new us("DOWN",3),LR=new us("UP",4)}function k_(){k_=a,zR=new hs(GM,0),HR=new hs("POLYLINE",1),FR=new hs("ORTHOGONAL",2),YR=new hs("SPLINES",3)}function T_(){T_=a,ej=new ds("INHERIT",0),tj=new ds("INCLUDE_CHILDREN",1),nj=new ds("SEPARATE_CHILDREN",2)}function C_(){C_=a,BY=md(bd(new iE,(WL(),cH)),NH),FY=vd(md(yd(new iE,nH),tH),eH),HY=vd(wd(new iE,rH),eH)}function N_(){N_=a,YY=md(bd(new iE,(WL(),cH)),NH),zY=vd(md(yd(new iE,nH),tH),eH),UY=vd(wd(new iE,rH),eH)}function A_(t){this.a=new Iu,this.d=new Iu,this.b=new Iu,this.c=new Iu,this.g=new Iu,this.i=new Iu,this.f=t}function S_(t,e,n,r,i,o){this.e=new Re,this.f=(nw(),jq),Lf(this.e,t),this.d=e,this.a=n,this.b=r,this.f=i,this.c=o}function O_(t,e,n,r,i){var o,a;for(a=t.mb();a.G();)(o=Uf(a.H(),33)).i.a=e.a,o.i.b=i?e.b:e.b+r.b-o.j.b,e.a+=o.j.a+n}function L_(t,e){var n,r;for(Gf(),r=Ip(GT(t));tE(r);)if((n=Uf(Nv(r),12)).d.f==e||n.c.f==e)return n;return null}function I_(t,e,n){var r,i,o;for(r=0,o=Sk(t,0);o.b!=o.d.c&&!((i=oo(Oh(Sb(o))))>n);)i>=e&&++r;return r}function M_(t,e){var n;return e?((n=e.n?e.n:(zg(),zg(),jX)).V()||(t.n?Tw(t.n,n):t.n=new lu(n)),t):t}function P_(t,e,n){try{!function(t,e,n){if(Dd(e),n.G())for(nu(e,t.C(n.H()));n.G();)nu(e,t.c),nu(e,t.C(n.H()))}(t,e,n)}catch(t){throw dl(t=r_(t),181)?new sm(t):D_(t)}return e}function D_(t){var e;return dl(t,164)&&Zc((e=Uf(t,164)).b)!==Zc((ai(),iI))?Zc(e.b)===Zc(iI)?null:e.b:t}function R_(t,e){var n;for(n=Uf(kx(Kp(t),($L(),lq)),9);n;){if(n==e)return!0;n=Uf(kx(Kp(n),lq),9)}return!1}function j_(t){switch(Uf(kx(t,($L(),KV)),140).e){case 1:Ky(t,KV,(jm(),wV));break;case 2:Ky(t,KV,(jm(),_V))}}function G_(t){switch(lf(),t.c){case 0:return ag(),KD;case 1:return new la(PC(new qs(t)));default:return new Ii(t)}}function B_(t){var e,n;for(og(),e=0,n=t.length;e-129&&t<128?(e=t+128,!(n=(qd(),IX)[e])&&(n=IX[e]=new Mn(t)),n):new Mn(t)}function $_(t){var e,n;for(e=NT(t.b,t.d),n=yI;n>e;){if(ax(t,t.d),0==e){n=0;break}oE(t),EE(t),n=e,e=NT(t.b,t.d)}t.c=n}function Z_(){var t,e,n;tC(),n=qX+++(Date.now?Date.now():(new Date).getTime()),t=wv(Math.floor(n*KP))&xD,e=wv(n-t*wD),this.a=1502^t,this.b=e^mD}function K_(t){return Nl(t)?dk(t):Cl(t)?wv((Fd(t),t)):vh(t)?io((Fd(t),t))?1231:1237:Zd(t)?t.v():(Nd(t),fh(t))}function Q_(t,e,n,r){var i,o,a;for(a=0,o=bA(new zh(e,r));o.G();)i=Uf(o.H(),7),wg(t.i,i,W_(a++));wg(n,e,W_(a))}function J_(t){var e;return(e=Uf(kx(t,(JL(),pj)),59))==(E_(),OR)?Uf(kx(t,($L(),AV)),15).a>=1?SR:NR:e}function tE(t){if(Dd(t.b),t.b.G())return!0;for(;t.a.G();)if(Dd(t.b=t.Wb(t.a.H())),t.b.G())return!0;return!1}function eE(t){return t.d==t.c.d&&t.i==t.g.d||(t.a.c=Ty(TD,GI,1,0,4,1),ox(t.a,t.c),ox(t.a,t.g),t.d=t.c.d,t.i=t.g.d),t.a}function nE(t){var e;if(t.b){if(nE(t.b),t.b.d!=t.c)throw new xi}else t.d.V()&&(e=Uf(Jp(t.f.b,t.e),19))&&(t.d=e)}function rE(t,e,n,r,i){var o,a,s,c;for(function(t,e,n,r,i){r?function(t,e){var n,r;for(r=new Kn(e);r.a1&&(xb(e,t.b),function(t,e){var n,r,i,o,a,s,c,u,l;for(i=new Re,c=new Kn(e);c.ae){tb(n);break}}Cp(n,e)}function sE(t,e,n){var r;return r=Ca(t.a,e),function(t,e,n){t.set(e,n)}(t.a,e,void 0===n?null:n),void 0===r?(++t.c,tf(t.b)):++t.d,r}function cE(t,e,n){return(e-t<=0?0-(e-t):e-t)FP?t-n>FP:n-t>FP)}function uE(t){switch(t.e){case 0:return GU;case 1:return BU;case 2:return FU;case 3:return HU;default:return YU}}function lE(t,e){switch(e.e){case 2:return t.b;case 1:return t.c;case 4:return t.d;case 3:return t.a;default:return!1}}function hE(t){switch(mL(),t.e){case 4:return IG;case 1:return LG;case 3:return $G;case 2:return KG;default:return ZG}}function fE(t,e){if(e==t.c)return t.d;if(e==t.d)return t.c;throw new so("Node "+e+" not part of edge "+t)}function dE(t,e){var n;return Xl(t.a,e)?Uf(Xl(t.a,e)?t.b[e.e]:null,62):(n=new Hr,mw(t.a,e),Op(t,e.e,n),n)}function pE(t,e){var n,r,i;for(i=t.g.tb(),n=0;i.G();){if((r=oo(Oh(i.H()))-e)>uD)return n;r>lD&&++n}return n}function gE(t){var e,n,r,i;return mw(n=new Zf(e=Uf(ia((i=(r=t.$c).f)==RD?r:i),11),Uf(Sp(e,e.length),11),0),t),n}function vE(t,e){var n,r;for(r=new Kn(e);r.a %s",Nx(Mo(TD,1),GI,1,4,[W_(e),W_(n)])),sT(e,n=n<(r=t.length)?n:r,r),n-e}function _E(t,e){var n,r,i;for(n=t,i=0;;){if(n==e)return i;if(!(r=Uf(kx(n,($L(),lq)),9)))throw new qr;n=Kp(r),++i}}function EE(t){var e,n,r;for(r=!1,n=t.d.length-1;n>=0;n--)t.j=(e=new gC(t.e,t.d,n,1),new BT(n,t.d,e)),r|=$m(t,n);return r}function kE(t){this.f=(_l(),new kr),this.n=new kr,this.k=new kr,this.g=new Ji,this.i=new lk((ui(),$D)),this.j=t,function(t,e){var n,r,i,o,a;for(n=0,a=0,i=0,o=e.length;i0?t-e:-(t-e))<=yM||t==e||isNaN(t)&&isNaN(e)?0:te?1:yu(isNaN(t),isNaN(e)))>0}function DE(t,e){return Oo(),Oo(),((t-e>0?t-e:-(t-e))<=yM||t==e||isNaN(t)&&isNaN(e)?0:te?1:yu(isNaN(t),isNaN(e)))<0}function RE(t){var e,n;for(t.d||function(t){var e,n,r,i,o,a;if(i=t.g.tb(),r=t.b.tb(),t.e)for(n=0;nuD;){for(o=e,a=0;(e-o<=0?0-(e-o):e-o)o_(t.a,r,i)+t.c.b+t.d.b)}(t.j,n,r)&&(function(t,e,n){!function(t,e,n){$N(t,e,n,(mL(),LG),t.f),$N(t,e,n,KG,t.n)}(t.c,e,n)}(t.j,t.d[e][n],t.d[e][r]),a=(o=t.d[e])[r],o[r]=o[n],o[n]=a,i=!0),i}function qE(t,e,n){var r,i,o,a,s;i=(s=Kp(t)).a,r=Uf(kx(s,($L(),PV)),15).a,o=s.d,a=t.i,e&&(a.a=a.a-i.b-r-o.a),n&&(a.b=a.b-i.d-r-o.b)}function XE(t,e){var n,r,i;for(r=Ip(GT(t));tE(r);)return n=Uf(Nv(r),12),new Fe(Dd((i=Uf(e.B(n),9)).i.b+i.j.b/2));return ci(),ci(),kD}function WE(t){var e,n,r,i;for(n=vO(t),e=jP,i=0,r=0;e>.5&&i<50;)e=Na(XT(n,r=fA(n),!0).b),++i;return XT(t,r,!1)}function $E(t){var e,n,r,i;for(n=vO(t),e=jP,i=0,r=0;e>.5&&i<50;)e=Na(XT(n,r=hA(n),!0).a),++i;return XT(t,r,!1)}function ZE(t){var e,n,r;for(this.a=new Iu,this.e=new Ji,this.f=0,n=0,r=t.length;n0),e.a.sb(e.c=--e.b))}function ik(t,e,n){HE(n,"Compound graph preprocessor",1),t.a=new $s,oO(t,e,null),function(t,e){var n,r,i,o,a,s,c;for(a=ip(t.a).mb();a.G();){if((o=Uf(a.H(),12)).b.c.length>0)for(xb(r=new df(Uf(WT(t.a,o),18)),new cn(e)),i=new Kv(o.b,0);i.b=t.b>>1)for(r=t.c,n=t.b;n>e;--n)r=r.b;else for(r=t.a.a,n=0;n0&&(i.b+=e),i}function Lk(t,e){var n,r,i;for(i=new uo,r=t.mb();r.G();)iS(n=Uf(r.H(),55),0,i.b),i.b+=n.e.b+e,i.a=Fo(i.a,n.e.a);return i.a>0&&(i.a+=e),i}function Ik(t,e,n){var r,i,o;return(i=Uf(Jp(t.c,e),176))?(o=bf(i,n),Hl(t,i),o):(r=new sd(t,e,n),wg(t.c,e,r),Sv(r),null)}function Mk(t){switch(t.e){case 8:return mL(),IG;case 9:return mL(),$G;case 10:return mL(),LG;case 11:return mL(),KG;default:return mL(),ZG}}function Pk(t,e){return Nl(t)?!!cI[e]:t._c?!!t._c[e]:Cl(t)?!!sI[e]:!!vh(t)&&!!aI[e]}function Dk(){Mx(),this.i=(_l(),new kr),this.a=new kr,this.k=new kr,this.j=new kr,this.b=new kr,this.n=new kr,this.f=new kr,this.e=new kr}function Rk(t,e){var n,r;e.a.R(t)||(r=Uf(kx(t,($L(),qV)),32),n=Uf(gd(t.f,0),7),r==(mL(),IG)?Fh(n,$G):r==$G&&Fh(n,IG),e.a.db(t,e))}function jk(t){return Yo(1,Uf(kx(t,($L(),gq)),24).a)*(t.c.f.g==(RT(),GF)&&t.d.f.g==GF?1:t.c.f.g==GF||t.d.f.g==GF?2:8)}function Gk(t){var e,n,r,i;for(i=Uf(kx(t,($L(),oq)),7),n=0,r=(e=Uf(Yk(t.b,Ty(IF,CP,12,t.b.c.length,0,1)),47)).length;nr&&Yp(e,r,null),e}function zk(t,e){var n,r;for(r=t.a.length,e.lengthr&&Yp(e,r,null),e}function Uk(t){return Nl(t)?t:Cl(t)?Aa((Fd(t),t)):vh(t)?yl(io((Fd(t),t))):Zd(t)?t.w():Nd(t)?yv(t):t.toString?t.toString():"[JavaScriptObject]"}function Vk(){Vk=a,pz=new cc("SIMPLE",0),hz=new cc(VP,1),fz=new cc("LINEAR_SEGMENTS",2),lz=new cc("BRANDES_KOEPF",3),dz=new cc($P,4)}function qk(){qk=a,Iq=new kc(BM,0),Aq=new kc("FIRST",1),Sq=new kc("FIRST_SEPARATE",2),Oq=new kc("LAST",3),Lq=new kc("LAST_SEPARATE",4)}function Xk(){Xk=a,Hz=new le,Bz=md(new iE,(WL(),mH)),Fz=vd(md(new iE,RH),DH),jz=vd(wd(md(yd(new iE,_H),kH),CH),EH),Gz=vd(wd(new iE,CH),uH)}function Wk(t){var e,n,r;for(n=new Vn(new Un(t.d.a).a.bb().mb());n.a.G();)r=Uf(n.a.H(),21),Lf((e=Uf(r.yb(),12)).c.e,e),Lf(e.d.b,e)}function $k(t,e){var n,r;if(Su(e>0),(e&-e)==e)return wv(e*LN(t,31)*4.656612873077393e-10);do{r=(n=LN(t,31))%e}while(n-r+(e-1)<0);return wv(r)}function Zk(t,e){if(t.c.f==e)return t.d.f;if(t.d.f==e)return t.c.f;throw new so("Node "+e+" is neither source nor target of edge "+t)}function Kk(t,e,n){return Su(t>=0&&t<=1114111),t>=wI?(e[n++]=55296+(t-wI>>10&1023)&xI,e[n]=56320+(t-wI&1023)&xI,2):(e[n]=t&xI,1)}function Qk(t){var e,n;if(!t.a)for(t.a=Ol(Uf(t.e,9).c.c.length),n=new Kn(Uf(t.e,9).c);n.ai&&Yp(e,i,null),e}function oT(t,e,n){if(n&&(e<0||e>n.a.c.length))throw new so("index must be >= 0 and <= layer node count");t.d&&Gy(t.d.a,t),t.d=n,n&&Id(n.a,e,t)}function aT(t,e,n,r,i,o,a,s){var c,u;r&&((c=r.a[0])&&aT(t,e,n,c,i,o,a,s),function(t,e,n,r,i,o,a){var s,c;return!(e.Xc()&&(c=t.a.$b(n,r),c<0||!i&&0==c))&&!(e.Yc()&&(s=t.a.$b(n,o),s>0||!a&&0==s))}(t,n,r.d,i,o,a,s)&&e.ib(r),(u=r.a[1])&&aT(t,e,n,u,i,o,a,s))}function sT(t,e,n){if(t<0)throw new ao(SI+t+" < 0");if(e>n)throw new ao("toIndex: "+e+" > size "+n);if(t>e)throw new so(SI+t+" > toIndex: "+e)}function cT(t,e){var n,r,i;return n=e.yb(),i=e.zb(),r=t.cb(n),!(!(Zc(i)===Zc(r)||null!=i&&s_(i,r))||null==r&&!t.R(n))}function uT(t,e,n){var r;(r=e.c.f).g==(RT(),jF)?(Ky(t,($L(),eq),Uf(kx(r,eq),7)),Ky(t,nq,Uf(kx(r,nq),7))):(Ky(t,($L(),eq),e.c),Ky(t,nq,n.d))}function lT(t,e,n){var r,i,o,a;for(function(t){var e,n;for(null==t.g&&(t.g=_d(t)),e=0,n=t.g.length;er&&t.charCodeAt(e-1)<=32;)--e;return r>0||e>19)!=(s=e.h>>19)?s-a:(r=t.h)!=(o=e.h)?r-o:(n=t.m)!=(i=e.m)?n-i:t.l-e.l}function xT(t){var e,n,r;for(n=new Vn(new Un(t.p.a).a.bb().mb());n.a.G();)if(r=Uf(n.a.H(),21),(e=Uf(r.yb(),89)).e&&t.b[e.b]<0)return e;return null}function _T(t,e){var n,r,i,o,a;r=zo(t.d,e.d),o=zo(t.e,e.e),(i=Fo(t.d+t.c,e.d+e.c))=e.length)throw new ao("Greedy SwitchDecider: Free layer layer not in graph.");this.b=e[t],this.c=new Wh(this.b),this.d=new qw(this.b)}function FT(t,e){var n;if(this.f=t,this.b=this.f.c,Ob(e,n=t.d),e>=(n/2|0))for(this.e=t.e,this.d=n;e++0;)ib(this);this.a=null}function HT(t){var e,n,r;for(n=new Kn(t.a.b);n.a0&&(t.g=oC(t.g)),iC(t);case 2:return mu(t.e)<0&&(t.e=iC(t.e)),oC(t);default:return t.d=1+Yo(Bi(t.e),Bi(t.g)),t}}function ZT(t,e){this.f=(_l(),new kr),this.b=new kr,this.j=new kr,this.a=t,this.c=e,this.c>0&&rN(this,this.c-1,(mL(),LG)),this.c0&&hN(t,e,n),0):(Uc(0==n),0)}function JT(t,e){var n,r,i,o,a;for(i=Uf(kx(e,($L(),wq)),15).a*Uf(kx(e,(ZL(),$q)),15).a,a=t[0].i.a+t[0].j.a,o=1;o=0;e--)VX[e]=r,r*=.5;for(n=1,t=24;t>=0;t--)UX[t]=n,n*=.5}function eC(t){for(;0!=t.g.c&&0!=t.d.c;)zl(t.g).c>zl(t.d).c?(t.i+=t.g.c,zE(t.d)):zl(t.d).c>zl(t.g).c?(t.e+=t.d.c,zE(t.g)):(t.i+=id(t.g),t.e+=id(t.d),zE(t.g),zE(t.d))}function nC(t){var e,n,r,i;for(i=new $o("["),e=!1,r=t.mb();r.G();)n=r.H(),e?i.a+=", ":e=!0,iu(i,n===t?"(this Collection)":(si(),null==n?pI:Uk(n)));return i.a+="]",i.a}function rC(t){var e,n,r,i;for(i=new $o("{"),e=!1,r=t.bb().mb();r.G();)n=Uf(r.H(),21),e?i.a+=", ":e=!0,iu(i,vb(t,n.yb())),i.a+="=",iu(i,vb(t,n.zb()));return i.a+="}",i.a}function iC(t){var e;return Vc(!!t.g),e=t.g,t.g=e.e,e.e=t,e.j=t.j,e.a=t.a,t.a=1+Gi(t.e)+Gi(t.g),t.j=w_(w_(t.c,Fi(t.e)),Fi(t.g)),t.d=1+Yo(Bi(t.e),Bi(t.g)),e.d=1+Yo(Bi(e.e),Bi(e.g)),e}function oC(t){var e;return Vc(!!t.e),e=t.e,t.e=e.g,e.g=t,e.j=t.j,e.a=t.a,t.a=1+Gi(t.e)+Gi(t.g),t.j=w_(w_(t.c,Fi(t.e)),Fi(t.g)),t.d=1+Yo(Bi(t.e),Bi(t.g)),e.d=1+Yo(Bi(e.e),Bi(e.g)),e}function aC(t){var e;pl(new Kn(fT(t.e)))&&((e=Uf(mE(t.e,(JL(),Hj)),28))==(bT(),mG)?function(t){var e,n,r,i,o;for(e=t.e.j,r=new Kn(fT(t));r.a=wI?(e=55296+(t-wI>>10&1023)&xI,n=56320+(t-wI&1023)&xI,String.fromCharCode(e)+""+String.fromCharCode(n)):String.fromCharCode(t&xI)}function kC(t,e,n,r){var i;Lf(t.c,new xg(t,n,r,Uf(Jp(t.k,n),24).a)),Wp(r)&&(e==t.e?r.d.f!=t.a&&r.c.f!=t.a:r.d.f!=t.e&&r.c.f!=t.e)&&(i=n==r.c?r.d:r.c,Lf(t.c,new xg(t,i,r,Uf(Jp(t.k,i),24).a)))}function TC(t,e){var n,r,i;if(e===t)return!0;if(!dl(e,57))return!1;if(i=Uf(e,57),t.Y()!=i.Y())return!1;for(r=i.bb().mb();r.G();)if(n=Uf(r.H(),21),!t._(n))return!1;return!0}function CC(t,e){var n,r,i;return M_(r=new Tk(t),e),Ky(r,($L(),VV),e),Ky(r,(JL(),Hj),(bT(),mG)),Ky(r,sj,(fk(),xR)),fr(r,(RT(),DF)),cv(n=new TT,r),Fh(n,(mL(),KG)),cv(i=new TT,r),Fh(i,LG),r}function NC(t,e){var n,r,i;for(i=yI,r=new Kn(eE(e));r.a0&&LC(t,o,n));e.k=0}function IC(t,e){if(0>e)throw new so("Top must be smaller or equal to bottom.");if(0>t)throw new so("Left must be smaller or equal to right.");this.d=0,this.c=t,this.a=e,this.b=0}function MC(t){var e,n,r;if(0==t.length)throw new so(hD);for(n=0,r=t.length;n1)throw new so("In straight hyperEdges there may be only one edge.");Of((i=new Un(n.a).a.bb().mb(),r=Uf(new Vn(i).a.H(),21),Uf(r.yb(),12)).a,new ts(e,t.b))}function WC(t,e,n){var r,i;if(this.f=t,Ob(n,i=(r=Uf(Jp(t.b,e),126))?r.a:0),n>=(i/2|0))for(this.e=r?r.c:null,this.d=i;n++0;)Rv(this);this.b=e,this.a=null}function $C(e,r){typeof n===bI?n(r):((typeof document!==WM||"object"===lI&&t.exports)&&uW(e(r)),typeof document===WM&&typeof self!==WM&&self.postMessage(r))}function ZC(t,e){var n,r,i,o;"x"in t.a&&(i=Uf(Sg(t,"x"),104),e.i.a=i.a),"y"in t.a&&(o=Uf(Sg(t,"y"),104),e.i.b=o.a),eP in t.a&&(r=Uf(Sg(t,eP),104),e.j.a=r.a),nP in t.a&&(n=Uf(Sg(t,nP),104),e.j.b=n.a)}function KC(t,e,n){var r;wy(this),e==(pv(),EU)?Np(this.g,t.c):Np(this.o,t.c),Np(n==EU?this.g:this.o,t.d),Np(this.c,t),uk(this,Gv(t.c).b,r=Gv(t.d).b,r),this.f=function(t,e){return LT(),(t-e<=0?0-(t-e):t-e)<.2}(Gv(t.c).b,Gv(t.d).b)}function QC(t,e,n){var r,i,o,a,s;for(zg(),s=new cm((a=new Ko(Uf(gd(e.a,n),18))).b.Y()),i=new nr(a.b.mb());i.b.G();)r=Uf(i.b.H(),37),(o=Uf(Jp(t.a,r),31))||(o=YL(r),wg(t.a,r,o)),s.c[s.c.length]=o;return s}function JC(t){var e,n;if(Vs(Uf(kx(t,(JL(),Hj)),28)))for(n=new Kn(t.f);n.ae&&r.$b(t[o-1],t[o])>0;--o)a=t[o],Yp(t,o,t[o-1]),Yp(t,o-1,a)}(e,n,r,o);else if(tN(e,t,s=n+i,c=s+((a=r+i)-s>>1),-i,o),tN(e,t,c,a,-i,o),o.$b(t[c-1],t[c])<=0)for(;n=r||e upperEndpoint (%s)",Nx(Mo(TD,1),GI,1,4,[e,n])))}((s=t.$b(n,o))<=0,n,o),0==s&&Uc(r!=(qu(),BD)|a!=BD))}function uN(t){if(this.a=t,t.c.f.g==(RT(),DF))this.c=t.c,this.d=Uf(kx(t.c.f,($L(),qV)),32);else{if(t.d.f.g!=DF)throw new so("Edge "+t+" is not an external edge.");this.c=t.d,this.d=Uf(kx(t.d.f,($L(),qV)),32)}}function lN(){lN=a,Iz=wd(new iE,(WL(),vH)),Pz=md(new iE,mH),Dz=vd(md(new iE,RH),DH),Lz=vd(wd(md(new iE,hH),fH),dH),Rz=md(new iE,UH),Mz=vd(new iE,bH),Sz=vd(wd(md(yd(new iE,_H),kH),CH),EH),Oz=vd(wd(new iE,CH),uH)}function hN(t,e,n){var r,i,o,a;return Cm(n,gM),0==n?ST(t,e):(Uc(hh(t.b,e)),(a=t.c.a)?(o=Ty(iW,vM,26,1,12,1),r=ES(a,t.d,e,n,o),jd(t.c,a,r),o[0]):(t.d.$b(e,e),i=new Nw(e,n),Th(t.a,i,t.a),jd(t.c,null,i),0))}function fN(t,e,n){var r,i,o,a,s;for(r=0,s=n,e||(r=n*(t.c.length-1),s*=-1),o=new Kn(t);o.a0&&((!os(t.b.d)||!r.q.d)&&(!as(t.b.d)||!r.q.b)&&(r.j.e-=0>o/2-.5?0:o/2-.5),(!os(t.b.d)||!r.q.a)&&(!as(t.b.d)||!r.q.c)&&(r.j.b+=0>o-1?0:o-1))}(t,e,n),o=new Re,i=new Kn(t.b.a.b);i.a0&&((!os(t.b.d)||!r.q.d)&&(!as(t.b.d)||!r.q.b)&&(r.j.e+=0>o/2-.5?0:o/2-.5),(!os(t.b.d)||!r.q.a)&&(!as(t.b.d)||!r.q.c)&&(r.j.b-=o-1))}(t,e,n)}function gN(t,e){var n,r,i,o;for(t.c[e.k]=!0,Lf(t.a,e),o=new Kn(e.f);o.a(a=s+oo(t.b[t.f[i.k].k]))?n:a;return n-r}function _N(t){var e;return Zy(e=new Vi,"type",new Rd((Bh(uF),uF.n))),Zy(e,$M,new Rd(t.f)),t.b&&Zy(e,"value",t.b),t.a&&Zy(e,"context",t.a),Zy(e,ZM,new Rd(kl(new co("\n"),new zn(new Qn((null==t.g&&(t.g=_d(t)),t.g)))))),e}function EN(t,e){var n,r,i,o,a;if(e===t)return!0;if(!dl(e,20))return!1;if(a=Uf(e,20),t.Y()!=a.Y())return!1;for(o=a.mb(),r=t.mb();r.G();)if(n=r.H(),i=o.H(),!(Zc(n)===Zc(i)||null!=n&&s_(n,i)))return!1;return!0}function kN(t){!nR&&((e=["\\u0000","\\u0001","\\u0002","\\u0003","\\u0004","\\u0005","\\u0006","\\u0007","\\b","\\t","\\n","\\u000B","\\f","\\r","\\u000E","\\u000F","\\u0010","\\u0011","\\u0012","\\u0013","\\u0014","\\u0015","\\u0016","\\u0017","\\u0018","\\u0019","\\u001A","\\u001B","\\u001C","\\u001D","\\u001E","\\u001F"])[34]='\\"',e[92]="\\\\",e[173]="\\u00ad",e[1536]="\\u0600",e[1537]="\\u0601",e[1538]="\\u0602",e[1539]="\\u0603",e[1757]="\\u06dd",e[1807]="\\u070f",e[6068]="\\u17b4",e[6069]="\\u17b5",e[8203]="\\u200b",e[8204]="\\u200c",e[8205]="\\u200d",e[8206]="\\u200e",e[8207]="\\u200f",e[8232]="\\u2028",e[8233]="\\u2029",e[8234]="\\u202a",e[8235]="\\u202b",e[8236]="\\u202c",e[8237]="\\u202d",e[8238]="\\u202e",e[8288]="\\u2060",e[8289]="\\u2061",e[8290]="\\u2062",e[8291]="\\u2063",e[8292]="\\u2064",e[8298]="\\u206a",e[8299]="\\u206b",e[8300]="\\u206c",e[8301]="\\u206d",e[8302]="\\u206e",e[8303]="\\u206f",e[65279]="\\ufeff",e[65529]="\\ufff9",e[65530]="\\ufffa",e[65531]="\\ufffb",nR=e);var e,n=t.replace(/[\x00-\x1f\xad\u0600-\u0603\u06dd\u070f\u17b4\u17b5\u200b-\u200f\u2028-\u202e\u2060-\u2064\u206a-\u206f\ufeff\ufff9-\ufffb"\\]/g,(function(t){return function(t,e){var n=nR[t.charCodeAt(0)];return null==n?t:n}(t)}));return'"'+n+'"'}function TN(t,e){var n,r,i,o,a;for(r=new Vn(new Un((1==e?hF:lF).a).a.bb().mb());r.a.G();)for(i=Uf(r.a.H(),21),n=Uf(i.yb(),59),a=Uf(WT(t.f.c,n),18).mb();a.G();)o=Uf(a.H(),27),Gy(t.b.b,o.b),Gy(t.b.a,Uf(o.b,25).f)}function CN(t,e,n){var r,i,o,a;if(HE(n,"Recursive layout",2),0!=e.b.c.length){for(a=1/e.b.c.length,o=new Kn(e.b);o.a=2147483648&&(r-=4294967296),r)}function IN(t,e,n){var r,i,o;if(e!=n){r=e;do{Ih(t,r.d),(o=Uf(kx(r,($L(),lq)),9))&&(Rl(t,(i=r.a).b,i.d),Ih(t,o.i),r=Kp(o))}while(o);r=n;do{Mh(t,r.d),(o=Uf(kx(r,($L(),lq)),9))&&(jl(t,(i=r.a).b,i.d),Mh(t,o.i),r=Kp(o))}while(o)}}function MN(t,e){var n,r,i,o,a;for(n=new Re,a=new tc,i=new Vn(new Un(t.a).a.bb().mb());i.a.G();)o=Uf(i.a.H(),21),mS(a,(r=Uf(o.yb(),12)).c,r,null),mS(a,r.d,r,null);for(;a.a;)Lf(n,GS(a,e,Vl(Uf(kx(e,(JL(),Hj)),28))));return n}function PN(t,e){var n,r,i,o,a;for(r=new Vn(new Un((1==e?hF:lF).a).a.bb().mb());r.a.G();)for(i=Uf(r.a.H(),21),n=Uf(i.yb(),59),a=Uf(WT(t.f.c,n),18).mb();a.G();)o=Uf(a.H(),27),Lf(t.b.b,Uf(o.b,25)),Lf(t.b.a,Uf(o.b,25).f)}function DN(t){var e,n,r,i,o,a;for(Gf(),_l(),n=new ry,r=new Kn(t.e.c);r.a0&&i0):i<0&&-i0)}function BN(t,e,n,r,i){var o,a;xw(Vw(Nx(Mo(gR,1),KM,10,0,[i.f.i,i.i,i.a])),n)||(e.c==i?Yl(e.a,0,new $c(n)):Of(e.a,new $c(n)),r&&!ka(t.a,n)&&((a=Uf(kx(e,(JL(),kj)),44))||(a=new Fr,Ky(e,kj,a)),Mb(a,o=new $c(n),a.c.b,a.c),Np(t.a,o)))}function FN(t){var e,n,r,i,o,a;for(e=0,n=new Kn(t.a);n.a((a=Gv(r.d).b)-o<=0?0-(a-o):a-o)?e:a-o<=0?0-(a-o):a-o);return e}function HN(t,e){var n,r,i,o,a,s;if((r=t.b[e.k])>=0)return r;for(i=1,o=new Kn(e.f);o.a(a=HN(t,s))+1?i:a+1);return function(t,e,n){var r,i;for(r=(i=t.a.c).c.length;rc-n&&s=t.g.d?((e=t.f).e=dw(t.e,e),e.g=t.g,e.a=t.a-1,e.j=__(t.j,n),$T(e)):((e=t.i).g=pw(t.g,e),e.e=t.e,e.a=t.a-1,e.j=__(t.j,n),$T(e)):t.e:t.g}function qN(t){var e,n,r,i,o,a;for(i=new Kn(t.a);i.ao.k?Fh(a,$G):a.g==$G&&o.k>r.k&&Fh(a,IG))}function XN(t,e,n){var r,i,o;if(Cm(n,gM),0==n)return ST(t,e);o=t.c.a,i=Ty(iW,vM,26,1,12,1);try{if(!hh(t.b,e)||!o)return 0;r=YS(o,t.d,e,n,i)}catch(t){if(dl(t=r_(t),119))return 0;if(dl(t,76))return 0;throw D_(t)}return jd(t.c,o,r),i[0]}function WN(t){var e,n,r,i,o,a;for(il(a=Uf(Yk(t.a,Ty(FF,oP,9,t.a.c.length,0,1)),51),new ot),n=null,i=0,o=a.length;i0)return KN(t,e,n.g);if(0!=r)return w_(w_(e.ac(n.g),e._b(n)),KN(t,e,n.e));switch(t.b.f.e){case 0:return w_(e._b(n),e.ac(n.g));case 1:return e.ac(n.g);default:throw new Er}}function QN(t,e,n){var r;if(!n)return 0;if((r=t.d.$b(t.b.e,n.b))<0)return QN(t,e,n.e);if(0!=r)return w_(w_(e.ac(n.e),e._b(n)),QN(t,e,n.g));switch(t.b.d.e){case 0:return w_(e._b(n),e.ac(n.e));case 1:return e.ac(n.e);default:throw new Er}}function JN(t,e,n,r){var i,o,a,s;return fr(a=new Tk(t),(RT(),jF)),Ky(a,($L(),oq),e),Ky(a,(JL(),Hj),(bT(),mG)),Ky(a,eq,n),Ky(a,nq,r),Fh(o=new TT,(mL(),KG)),cv(o,a),Fh(s=new TT,LG),cv(s,a),lv(e,o),M_(i=new jg,e),Ky(i,kj,null),hv(i,s),lv(i,r),a}function tA(t,e){var n,r,i,o,a,s,c,u;for(n=0,a=0,s=(o=t.j).length;an.a&&(o=Yo(o,a.a-n.a-1));return o}function iA(t){var e,n;switch(e=Uf(kx(t,(JL(),Sj)),15).a,n=Uf(kx(t,Oj),15).a,Ky(t,Oj,new Hn(e)),Ky(t,Sj,new Hn(n)),Uf(kx(t,sj),103).e){case 1:Ky(t,sj,(fk(),kR));break;case 2:Ky(t,sj,(fk(),wR));break;case 3:Ky(t,sj,(fk(),_R));break;case 4:Ky(t,sj,(fk(),ER))}}function oA(t,e,n){var r,i,o;for(o=new Kn(t.e);o.a0&&(r.b.c-=r.c,r.b.c<=0&&r.b.f>0&&Of(e,r.b));for(i=new Kn(t.b);i.a0&&(r.a.f-=r.c,r.a.f<=0&&r.a.c>0&&Of(n,r.a))}function aA(t,e,n){var r,i,o;for(o=new Kn(t.j);o.a0&&(r.b.e-=r.c,r.b.e<=0&&r.b.k>0&&Of(e,r.b));for(i=new Kn(t.d);i.a0&&(r.a.k-=r.c,r.a.k<=0&&r.a.e>0&&Of(n,r.a))}function sA(t,e){switch(t.e){case 1:switch(e.e){case 1:return JP;case 4:return.5;case 3:return tD;case 2:return eD}break;case 2:switch(e.e){case 1:return JP;case 2:return.5;case 3:return tD;case 4:return eD}break;default:throw new so(QP)}return 0}function cA(t,e){var n,r,i,o;for(Lu((o=new Kv(t,0)).b0),o.a.sb(o.c=--o.b),ef(o,i),Lu(o.b1)&&(++o,++a);return!Vl(Uf(kx(n,(JL(),Hj)),28))&&s&&(++o,++a),wg(i,n,W_(o)),a}function hA(t){var e,n,r,i,o,a,s,c,u,l;for(u=(l=(s=Uf((a=t.b.mb()).H(),92)).a.a)>uD,c=luD)&&!c)return bw(s.b);if(i&&c||r&&u)return(e=o/(o-l))*bw(n.b)+(1-e)*bw(s.b)}return 0}function fA(t){var e,n,r,i,o,a,s,c,u,l;for(u=(l=(s=Uf((a=t.b.mb()).H(),92)).a.b)>uD,c=luD)&&!c)return bw(s.b);if(i&&c||r&&u)return(e=o/(o-l))*bw(n.b)+(1-e)*bw(s.b)}return 0}function dA(t,e,n){var r,i;return r=0,Wp(e)?ka(t.g,e)?(XN(t.i,W_(Ph(t,e.c)),1),XN(t.i,W_(Ph(t,e.d)),1),vl(t.g,e),r+=vk(t,e,t.i)):(Np(t.g,e),hN(t.i,W_(Ph(t,e.c)),1),hN(t.i,W_(Ph(t,e.d)),1)):(i=ST(t.i,W_(Uf(Jp(t.k,n),24).a)),r+=t.g.a.Y()-i),r}function pA(t){switch(t.e){case 0:return Zz;case 1:return $z;case 2:return qz;case 3:return Vz;case 4:return Qz;case 5:return Kz;case 6:return vU;case 7:return gU;case 8:return Wz;case 9:return Xz;case 10:return dU;case 11:return Jz;default:return pU}}function gA(t){switch(t.e){case 0:return Kz;case 1:return vU;case 2:return gU;case 3:return Zz;case 4:return $z;case 5:return qz;case 6:return Vz;case 7:return Qz;case 8:return Wz;case 9:return Xz;case 10:return dU;case 11:return Jz;default:return pU}}function vA(t){switch(t.e){case 0:return qz;case 1:return Vz;case 2:return Qz;case 3:return Kz;case 4:return vU;case 5:return gU;case 6:return Zz;case 7:return $z;case 8:return Wz;case 9:return Xz;case 10:return dU;case 11:return Jz;default:return pU}}function bA(t){var e;switch(e=t.a.f,t.b){case 0:return new Kn(t.a.f);case 1:return bp(new Lv(e),AT(t));case 2:switch(t.c.e){case 2:case 1:return bp(new Kn(e),AT(t));case 3:case 4:return bp(new Lv(e),AT(t))}}throw new No("PortOrder not implemented.")}function yA(t,e,n,r){this.e=t,this.j=Uf(kx(t,($L(),xq)),134),this.f=Ty(FF,oP,9,e,0,1),this.b=Ty(LX,hI,184,e,6,1),this.a=Ty(FF,oP,9,e,0,1),this.d=Ty(LX,hI,184,e,6,1),this.i=Ty(FF,oP,9,e,0,1),this.g=Ty(LX,hI,184,e,6,1),this.n=Ty(LX,hI,184,e,6,1),this.k=n,this.c=r}function mA(t){if(!t.a.c||!t.a.d)throw new ko((Bh(NY),NY.j+" must have a source and target "+(Bh(OY),OY.j+" specified.")));if(t.a.c==t.a.d)throw new ko("Network simplex does not support self-loops: "+t.a+" "+t.a.c+" "+t.a.d);return Tp(t.a.c.g,t.a),Tp(t.a.d.c,t.a),t.a}function wA(t,e,n,r,i){r==(mL(),LG)&&i==LG?Wg(t,e)>Wg(t,n)?t.d=_k(t,n):t.b=_k(t,e):r==KG&&i==KG?Wg(t,e)Wg(t,n)&&(t.d=_k(t,n),t.b=_k(t,e)):Wg(t,e)0&&o>0?e++:r>0?n++:o>0?i++:n++}xb(t.f,new Rt)}function _A(t,e,n,r){var i,o,a,s,c;n.d.f!=e.f&&(fr(i=new Tk(t),(RT(),jF)),Ky(i,($L(),oq),n),Ky(i,(JL(),Hj),(bT(),mG)),r.c[r.c.length]=i,cv(a=new TT,i),Fh(a,(mL(),KG)),cv(s=new TT,i),Fh(s,LG),c=n.d,lv(n,a),M_(o=new jg,n),Ky(o,kj,null),hv(o,s),lv(o,c),bN(i,a,s))}function EA(t){var e,n,r,i,o,a,s;for(i=jP,a=jP,o=null,n=new lg(new ur(t.e));n.b!=n.c.a.b;)if(1==Uf((e=Fy(n)).d,60).c&&(r=Uf(e.e,116).a,s=Uf(e.e,116).b,(i-r>FP||r-iFP)&&(a=Uf(e.e,116).b,i=Uf(e.e,116).a,o=Uf(e.d,60),0==a&&0==i)))return o;return o}function kA(t,e){var n,r,i,o,a,s;return o=t.d,(s=Uf(kx(t,(JL(),Jj)),15).a)<0&&Ky(t,Jj,new Hn(s=0)),e.j.b=s,a=Math.floor(s/2),Fh(r=new TT,(mL(),KG)),cv(r,e),r.i.b=a,Fh(i=new TT,LG),cv(i,e),i.i.b=a,lv(t,r),M_(n=new jg,t),Ky(n,kj,null),hv(n,i),lv(n,o),function(t,e,n){var r;(r=e.c.f).g==(RT(),jF)?(Ky(t,($L(),eq),Uf(kx(r,eq),7)),Ky(t,nq,Uf(kx(r,nq),7))):(Ky(t,($L(),eq),e.c),Ky(t,nq,n.d))}(e,t,n),function(t,e){var n,r;for(r=new Kv(t.b,0);r.buD&&(this.b.ib(n),s=!1),this.b.ib(c);s&&this.b.ib(n)}function AA(t,e){var n,r,i,o,a,s,c;for(n=dP,RT(),s=GF,i=new Kn(e.a);i.a0?n:0,r.i.b=n+rf(t.a,o,s)):r.i.b=(Fd(a),a)),c=rf(t.a,o,s),r.i.bo?0:o)o?0:o:s,(0>(co?0:o)o?0:o:s)),o=c,c+=a,r=Uf(gd(t.c,i),9),(n=new Eu(u)).j.b=e.j.b,dN(t.b,e,n),Lf(r.c,n);Gy(t.g.c,e),Lf(t.i,new Ls(t,e))}function GA(t,e,n){var r,i,o,a,s,c;for(e.k=1,i=e.d,c=yE(e,(nw(),Rq)).mb();c.G();)for(r=new Kn(Uf(c.H(),7).e);r.ah+s&&r.I();for(a=new Kn(f);a.aFP||r-iFP)&&(a=Uf(e.e,116).b,i=Uf(e.e,116).a,o=Uf(e.d,60),0==a&&0==i)))return o;return o}function qA(){var t,e,n,r,i;for(this.e=(_l(),new ry),this.b=new Zf(n=Uf(ia(TU),11),Uf(Sp(n,n.length),11),0),this.c=new Zf(r=Uf(ia(TU),11),Uf(Sp(r,r.length),11),0),this.a=new Zf(i=Uf(ia(TU),11),Uf(Sp(i,i.length),11),0),e=(CL(),CL(),Yz).mb();e.G();)t=Uf(e.H(),60),Ik(this.e,t,new So)}function XA(t,e,n){var r,i,o,a;Na(t.k-t.a)a?new Fm(e,t,o-a):o>0&&a>0&&(new Fm(t,e,0),new Fm(e,t,0)))}function WA(t,e){var n,r,i,o,a,s,c,u;for(c=new Re,u=null,r=Uf(Ng(uY,t),20).mb();r.G();){for(s=new Vn(new Un((n=Uf(r.H(),75)).c.a).a.bb().mb());s.a.G();)i=Uf(s.a.H(),21),ef(e,o=Uf(i.yb(),7)),ON(o,t.b);ox(c,n.b),u=t.a}for(jC(c),Om(c,u),a=new Kn(c);a.an.k&&s1&&(o=n?Ic(e.d)+1:Ic(a.d)-1,uv(a,Uf(gd(t.a.c,o),16))),JA(t,a,n));return e}function tS(t,e){var n,r,i,o;for(i=e.d?t.a.c==(dv(),mz)?q_(e.b):X_(e.b):t.a.c==(dv(),yz)?q_(e.b):X_(e.b),o=!1,Xu(),r=new Pu(ju(Xf(i.a,new p)));tE(r);)if(n=Uf(Nv(r),12),t.c.a[n.c.f.d.k]!==t.c.a[n.d.f.d.k]&&(o=!0,ka(t.b,t.a.f[Zk(n,e.b).k])))return e.c=!0,e.a=n,e;return e.c=o,e.a=null,e}function eS(t){var e,n,r,i,o,a,s;for(o=new Kn(t.a.a);o.a0&&Ax(this.n,!0,(E_(),SR)),t.g==(RT(),DF)&&Sf(this.n,!1,!1,!1,!1)}function iS(t,e,n){var r,i,o,a,s,c,u,l;for(o=new ts(e,n),u=new Kn(t.b);u.ar?h:r)>t.j.a&&(u=(s-t.j.a)/2,a.b=Fo(a.b,u),a.c=Fo(a.c,u))}function gS(t,e,n,r){var i,o,a,s,c,u,l,h;for(a=Rl(e.d,n,r),l=new Kn(e.b);l.a=40)&&function(t){var e,n,r,i,o,a,s;for(t.o=new oi,r=new lo,a=new Kn(t.e.a);a.a0,s=fE(e,o),Du(n?s.c:s.g,e),1==eE(s).c.length&&Mb(r,s,r.c.b,r.c),i=new es(o,e),uu(t.o,i),Gy(t.e.a,o))}(t),function(t){var e,n,r,i,o,a,s,c,u,l;for(u=t.e.a.c.length,o=new Kn(t.e.a);o.a0){for(Wo(t.c);wN(t,Uf(Jv(new Kn(t.e.a)),61))0?(c=t.g)?(a=c.d,t.g=ES(c,e,n,r,i),0==i[0]&&++t.a,t.j=w_(t.j,r),t.g.d==a?t:$T(t)):(i[0]=0,_w(t,n,r)):(i[0]=t.c,Uc(n_(w_(t.c,r),yI)<=0),t.c+=r,t.j=w_(t.j,r),t)}function kS(t,e,n){var r,i,o,a,s,c,u,l;for(i=!0,a=new Kn(e.c);a.au&&r>u)){i=!1,t.a&&Pf();break}u=oo(n.n[s.k])+oo(n.d[s.k])+s.j.b+s.e.a}if(!i)break}return t.a&&Pf(),i}function TS(t){var e,n,r,i,o,a;if(pl(new Kn(r=Jk(t)))){for(a=new _g(0,0,t.e.j.a,t.e.j.b),n=new Kn(r);n.aa.i.b-a.e.d+u.a+h&&(f=c.i+u.i,u.a=(u.i*u.a+c.i*c.a)/f,u.i=f,c.g=u,n=!0)),o=a,c=u;return n}function LS(t){var e,n,r,i,o;if(Zc(kx(t,(JL(),Hj)))===Zc((bT(),wG))||Zc(kx(t,Hj))===Zc(mG))for(o=new Kn(t.f);o.aa)return mL(),LG;break;case 4:case 3:if(l<0)return mL(),IG;if(l+n>o)return mL(),$G}return(c=(u+s/2)/a)+(r=(l+n/2)/o)<=1&&c-r<=0?(mL(),KG):c+r>=1&&c-r>=0?(mL(),LG):r<.5?(mL(),IG):(mL(),$G)}function MS(t,e,n,r,i,o,a){var s,c,u,l,h;for(h=new ac,c=e.mb();c.G();)for(l=new Kn(xk(Uf(c.H(),627)));l.a0&&Of(t.e,o)):(t.c[a]-=u+1,t.c[a]<=0&&t.a[a]>0&&Of(t.d,o))))}function DS(t){var e,n,r,i,o,a,s,c;for(jx(),this.b=new Kt,this.c=new Re,this.a=new Re,s=0,c=(a=Rx()).length;s0){for(i=s.length;i>0&&""==s[i-1];)--i;i0&&0==i[0]&&++t.a,t.j=w_(t.j,r-i[0]),$T(t)):(i[0]=0,r>0?Ew(t,n,r):t):o>0?(s=t.g)?(t.g=HS(s,e,n,r,i),0==r&&0!=i[0]?--t.a:r>0&&0==i[0]&&++t.a,t.j=w_(t.j,r-i[0]),$T(t)):(i[0]=0,r>0?_w(t,n,r):t):(i[0]=t.c,0==r?VN(t):(t.j=w_(t.j,r-t.c),t.c=r,t))}function YS(t,e,n,r,i){var o,a,s;return(o=e.$b(n,t.b))<0?(a=t.e)?(t.e=YS(a,e,n,r,i),i[0]>0&&(r>=i[0]?(--t.a,t.j=__(t.j,i[0])):t.j=__(t.j,r)),0==i[0]?t:$T(t)):(i[0]=0,t):o>0?(s=t.g)?(t.g=YS(s,e,n,r,i),i[0]>0&&(r>=i[0]?(--t.a,t.j=__(t.j,i[0])):t.j=__(t.j,r)),$T(t)):(i[0]=0,t):(i[0]=t.c,r>=t.c?VN(t):(t.c-=r,t.j=__(t.j,r),t))}function zS(t,e,n){var r,i,o,a,s,c,u,l;for(c=new Kn(n.b);c.a0&&u>0&&qO(b,new ts(T,u),!0))),g=Fo(g,b.i.a+b.j.a),v=Fo(v,b.i.b+b.j.b),d=new Kn(b.c);d.ae.a&&(r.kb((PT(),CU))?t.d.a+=(n.a-e.a)/2:r.kb(AU)&&(t.d.a+=n.a-e.a)),n.b>e.b&&(r.kb((PT(),OU))?t.d.b+=(n.b-e.b)/2:r.kb(SU)&&(t.d.b+=n.b-e.b)),Uf(kx(t,($L(),WV)),18).kb((KA(),nV))&&(n.a>e.a||n.b>e.b))for(s=new Kn(t.b);s.a0||0==n&&e.f==(qu(),BD))&&(s=e.g,c=e.f):(i=e.c,s=e.g,c=e.f),r&&i&&((n=t.a.$b(o,s))>0||0==n&&a==(qu(),BD)&&c==(qu(),BD))&&(o=s,qu(),a=BD,c=GD),new cN(t.a,r,o,a,i,s,c)}function ZS(t,e,n,r){var i,o,a,s,c,u;if(n.c.f!=e.f)for(fr(i=new Tk(t),(RT(),jF)),Ky(i,($L(),oq),n),Ky(i,(JL(),Hj),(bT(),mG)),r.c[r.c.length]=i,cv(a=new TT,i),Fh(a,(mL(),KG)),cv(s=new TT,i),Fh(s,LG),lv(n,a),M_(o=new jg,n),Ky(o,kj,null),hv(o,s),lv(o,e),bN(i,a,s),u=new Kv(n.b,0);u.b=r&&u.a>=r&&(l.a=r),f.a<=n&&u.a<=n&&(d.a=n-10),1==e.c.a.Y()?nm(a.a,Nx(Mo(gR,1),KM,10,0,[l,h,p,d])):nm(a.a,Nx(Mo(gR,1),KM,10,0,[l,h,i,p,d]))}function QS(t,e){var n,r,i,o,a,s;for(o=t.c,a=t.d,hv(t,null),lv(t,null),e&&io(oo(Sh(kx(a,($L(),$V)))))?hv(t,WS(a.f,(nw(),Rq),(mL(),LG))):hv(t,a),e&&io(oo(Sh(kx(o,($L(),uq)))))?lv(t,WS(o.f,(nw(),Dq),(mL(),KG))):lv(t,o),r=new Kn(t.b);r.aoo(ul(a.g,a.d[0]).a)?(Lu(c.b>0),c.a.sb(c.c=--c.b),ef(c,a),i=!0):s.e&&s.e.Y()>0&&(o=(!s.e&&(s.e=new Re),s.e).nb(e),u=(!s.e&&(s.e=new Re),s.e).nb(n),(o||u)&&((!s.e&&(s.e=new Re),s.e).ib(a),++a.c));i||(r.c[r.c.length]=a)}function nO(t,e,n,r){var i,o,a,s,c,u,l,h,f,d,p;n.d.f!=e.f&&(fr(i=new Tk(t),(RT(),jF)),Ky(i,($L(),oq),n),Ky(i,(JL(),Hj),(bT(),mG)),r.c[r.c.length]=i,cv(a=new TT,i),Fh(a,(mL(),KG)),cv(s=new TT,i),Fh(s,LG),c=n.d,lv(n,a),M_(o=new jg,n),Ky(o,kj,null),hv(o,s),lv(o,c),h=(l=(u=Uf(gd(a.b,0),12).c).f).g,p=(d=(f=Uf(gd(s.e,0),12).d).f).g,Ky(i,eq,h==jF?Uf(kx(l,eq),7):u),Ky(i,nq,p==jF?Uf(kx(d,nq),7):f))}function rO(t,e){var n,r,i,o,a,s,c,u,l,h,f,d,p;for(a=e,h=e.d,u=e.c.f,f=e.d.f,l=Ic(u.d),d=Ic(f.d),s=l;se&&(t.a=e),t.b<0?t.b=0:t.b>n&&(t.b=n)}(u,t.j.a,t.j.b),Fh(s,IS(s,o)),a=Uf(kx(r,($L(),WV)),18),c=s.g,o.e){case 2:case 1:(c==(mL(),IG)||c==$G)&&a.ib((KA(),aV));break;case 4:case 3:(c==(mL(),LG)||c==KG)&&a.ib((KA(),aV))}else i=hE(o),s=WS(t,n,n==(nw(),Rq)?i:v_(i));return s}function uO(t){var e,n,r,i,o,a,s,c;for(r=ch(Wb(t.a)),i=new Zf(e=Uf(ia(TU),11),Uf(Sp(e,e.length),11),0);r.a.G()||r.b.mb().G();)s=(n=Uf(Nm(r),12)).c.g,c=n.d.g,s==(mL(),ZG)?c!=ZG&&(a=NE(c),Ky(n,($L(),Eq),a),Fh(n.c,c),mw(i,a),r.a.I()):c==ZG?(a=NE(s),Ky(n,($L(),Eq),a),Fh(n.d,s),mw(i,a),r.a.I()):(a=iO(s,c),Ky(n,($L(),Eq),a),mw(i,a),r.a.I());return 1==i.c?o=Uf(Qb(new qs(i)),60):(CL(),o=pU),dC(t,o,!1),o}function lO(t,e,n){var r,i,o,a,s,c,u,l,h;for(c=n+e.d.c.a,h=new Kn(e.f);h.a1,s=Ip(vu((og(),new sb(B_(Nx(Mo(TD,1),GI,1,4,[l.b,l.e]))))));tE(s);)u=(a=Uf(Nv(s),12)).c==l?a.d:a.c,Na(Vw(Nx(Mo(gR,1),KM,10,0,[u.f.i,u.i,u.a])).b-o.b)>1&&BN(t,a,o,i,l)}}function hO(t,e){var n,r,i,o,a;for(a=new Xx(new Yn(t.f.b).a);a.b;){if(i=Uf((o=Um(a)).yb(),251),1==e){if(i.yc()!=(E_(),LR)&&i.yc()!=NR)continue}else if(i.yc()!=(E_(),AR)&&i.yc()!=SR)continue;switch(r=Uf(Uf(o.zb(),27).b,25),n=Uf(Uf(o.zb(),27).a,78).c,i.yc().e){case 2:r.j.d=t.e.a,r.j.c=Fo(1,r.j.c+n);break;case 1:r.j.d=r.j.d+n,r.j.c=Fo(1,r.j.c-n);break;case 4:r.j.e=t.e.b,r.j.b=Fo(1,r.j.b+n);break;case 3:r.j.e=r.j.e+n,r.j.b=Fo(1,r.j.b-n)}}}function fO(t,e,n,r,i){var o,a,s,c,u,l,h,f;for(_l(),h=new kr,a=new Re,qC(t,n,t.d.Mc(),a,h),qC(t,r,t.d.Nc(),a,h),s=new Kv(a,0);s.b=l&&(y>l&&(u.c=Ty(TD,GI,1,0,4,1),l=y),u.c[u.c.length]=p);0!=u.c.length&&(c=Uf(gd(u,$k(e,u.c.length)),80),vg(N.a,c),c.d=h++,oA(c,T,_),u.c=Ty(TD,GI,1,0,4,1))}for(w=t.c.length+1,g=new Kn(t);g.aC.d&&(ug(n),Gy(C.b,r),r.c>0&&(r.a=C,Lf(C.e,r),r.b=E,Lf(E.b,r)))}(a,Uf(kx(e,($L(),bq)),154)),function(t){var e,n,r,i,o,a,s,c,u;for(c=new Re,a=new Re,o=new Kn(t);o.a-1){for(i=new Kn(a);i.a0||(s.i=Vo(s.i,r.i-1),--s.f,0==s.f&&(a.c[a.c.length]=s))}}(a),f=-1,l=new Kn(a);l.ah||r+i>c)throw new Xr;if(0!=(1&u.g)&&0==(4&u.g)||l==s)i>0&&vT(t,e,n,r,i,!0);else if(t===n&&er;)n[a]=t[--e];else for(a=r+i;r0&&0==o[0]&&++t.a,t.j=w_(t.j,i-o[0])),$T(t)):(o[0]=0,0==r&&i>0?Ew(t,n,i):t);if(a>0)return(c=t.g)?(t.g=gO(c,e,n,r,i,o),o[0]==r&&(0==i&&0!=o[0]?--t.a:i>0&&0==o[0]&&++t.a,t.j=w_(t.j,i-o[0])),$T(t)):(o[0]=0,0==r&&i>0?_w(t,n,i):t);if(o[0]=t.c,r==t.c){if(0==i)return VN(t);t.j=w_(t.j,i-t.c),t.c=i}return t}function vO(t){var e,n,r,i,o,a,s,c,u,l,h,f,d,p,g,v;for(c=t.e,d=t.f,a=t.d,l=(p=t.c)-1,g=t.g,h=Yf(t.g.xb(1,t.g.Y()-1)),u=new Re,n=0;n0&&(c=t.i.a/o);break;case 2:case 4:(i=t.f.j.b)>0&&(c=t.i.b/i)}Ky(t,($L(),dq),c)}if(s=t.j,r)t.a.a=r.a,t.a.b=r.b;else if(e!=_G&&e!=EG&&a!=ZG)switch(a.e){case 1:t.a.a=s.a/2;break;case 2:t.a.a=s.a,t.a.b=s.b/2;break;case 3:t.a.a=s.a/2,t.a.b=s.b;break;case 4:t.a.b=s.b/2}else t.a.a=s.a/2,t.a.b=s.b/2}(c,u,i,Uf(kx(c,Fj),10)),i.e){case 2:case 1:(c.g==(mL(),IG)||c.g==$G)&&o.ib((KA(),aV));break;case 4:case 3:(c.g==(mL(),LG)||c.g==KG)&&o.ib((KA(),aV))}}function wO(t){var e,n,r,i,o;for(r=new Re,o=new Kn(t.c.f);o.a=(g=t.d.c.c.c.length)-1)return null;for((i=new Re).c[i.c.length]=e,b=e,a=n,d=-1,s=Uf(gd(t.d.c.c,n),16),f=0;f1&&a1&&a>1;)u=jS(t,y),s=Uf(gd(t.d.c.c,a),16),l=Uf(gd(t.d.c.c,a-1),16),oT(y,g=Vo(Uf(p.sb(h++),24).a,l.a.c.length),l),oT(u,b,s),b=g,y&&(i.c[i.c.length]=y),y=u,--m,++o,--a;for(v=(r-(i.c.length-1)*t.d.d)/i.c.length,c=new Kn(i);c.a=0)return!1;if(n.e&&r==(RT(),PF)&&r!=n.e)return!1;if(e.k=n.b,Lf(n.f,e),n.e=r,r==(RT(),jF)||r==BF||r==PF)for(i=new Kn(e.f);i.a0&&(Ax(t.n,!1,(E_(),AR)),Ax(t.n,!0,SR))}function EO(t,e,n){var r,i,o,a;switch(o=t.i,i=Vw(Nx(Mo(gR,1),KM,10,0,[e.i,e.f.i])),r=Vw(Nx(Mo(gR,1),KM,10,0,[e.f.i,e.i,e.a])),a=e.d,e.g.e){case 4:o.a=zo(i.a,r.a)-a.b-t.j.a-n,o.b=Vw(Nx(Mo(gR,1),KM,10,0,[e.f.i,e.i,e.a])).b+n;break;case 2:o.a=Fo(i.a+e.j.a,r.a)+a.c+n,o.b=Vw(Nx(Mo(gR,1),KM,10,0,[e.f.i,e.i,e.a])).b+n;break;case 1:o.a=Vw(Nx(Mo(gR,1),KM,10,0,[e.f.i,e.i,e.a])).a+n,o.b=zo(i.b,r.b)-a.d-t.j.b-n;break;case 3:o.a=Vw(Nx(Mo(gR,1),KM,10,0,[e.f.i,e.i,e.a])).a+n,o.b=Fo(i.b+e.j.b,r.b)+a.a+n}}function kO(t,e,n){var r,i,o,a;switch(o=t.i,i=Vw(Nx(Mo(gR,1),KM,10,0,[e.i,e.f.i])),r=Vw(Nx(Mo(gR,1),KM,10,0,[e.f.i,e.i,e.a])),a=e.d,e.g.e){case 4:o.a=zo(i.a,r.a)-a.b-t.j.a-n,o.b=Vw(Nx(Mo(gR,1),KM,10,0,[e.f.i,e.i,e.a])).b-t.j.b-n;break;case 2:o.a=Fo(i.a+e.j.a,r.a)+a.c+n,o.b=Vw(Nx(Mo(gR,1),KM,10,0,[e.f.i,e.i,e.a])).b-t.j.b-n;break;case 1:o.a=Vw(Nx(Mo(gR,1),KM,10,0,[e.f.i,e.i,e.a])).a+n,o.b=zo(i.b,r.b)-a.d-t.j.b-n;break;case 3:o.a=Vw(Nx(Mo(gR,1),KM,10,0,[e.f.i,e.i,e.a])).a+n,o.b=Fo(i.b+e.j.b,r.b)+a.a+n}}function TO(){TO=a,hV=new kb("ONE_SIDED",0,!0,!1,!1),gV=new kb("TWO_SIDED",1,!1,!1,!1),fV=new kb("ONE_SIDED_BEST_OF_UP_OR_DOWN",2,!0,!0,!1),vV=new kb("TWO_SIDED_BEST_OF_UP_OR_DOWN",3,!1,!0,!1),dV=new kb("ONE_SIDED_BEST_OF_UP_OR_DOWN_ORTHOGONAL_HYPEREDGES",4,!0,!0,!0),bV=new kb("TWO_SIDED_BEST_OF_UP_OR_DOWN_ORTHOGONAL_HYPEREDGES",5,!1,!0,!0),pV=new kb("ONE_SIDED_ORTHOGONAL_HYPEREDGES",6,!0,!1,!0),lV=new kb("OFF",7,!1,!1,!1)}function CO(t,e,n,r,i,o,a){var s,c,u,l,h,f,d;return h=io(oo(Sh(kx(e,(ZL(),rX))))),f=null,o==(nw(),Dq)&&r.c.f==n?f=r.c:o==Rq&&r.d.f==n&&(f=r.d),u=a,a&&h&&!f?(Lf(a.e,r),d=Ho(Uf(kx(a.d,(JL(),Jj)),15).a,Uf(kx(r,Jj),15).a),Ky(a.d,Jj,new Hn(d))):(mL(),l=ZG,f?l=f.g:Vs(Uf(kx(n,(JL(),Hj)),28))&&(l=o==Dq?KG:LG),c=function(t,e,n,r,i,o){var a,s,c,u,l,h,f;return u=r==(nw(),Dq)?o.c:o.d,c=J_(e),u.f==n?(a=Uf(Jp(t.b,u),9))||(Ky(a=bL(u,Uf(kx(n,(JL(),Hj)),28),i,r==Dq?-1:1,u.j,c,e),($L(),oq),u),wg(t.b,u,a)):(l=Uf(kx(o,(JL(),Jj)),15).a,s=function(t,e,n,r){var i,o;switch(i=J_(Kp(n)),cv(o=new TT,n),r.e){case 1:Fh(o,v_(hE(i)));break;case 2:Fh(o,hE(i))}return Ky(o,($L(),iq),Uf(kx(e,iq),15)),Ky(e,oq,o),wg(t.b,o,e),o}(t,a=bL((h=new y,f=Uf(kx(e,($L(),wq)),15).a*Uf(kx(e,(ZL(),$q)),15).a/2,Ky(h,iq,new Hn(f)),h),Uf(kx(n,Hj),28),i,r==Dq?-1:1,new ts(l,l),c,e),n,r),Ky(a,oq,s),wg(t.b,s,a)),Uf(kx(e,($L(),WV)),18).ib((KA(),nV)),Vs(Uf(kx(e,(JL(),Hj)),28))?Ky(e,Hj,(bT(),xG)):Ky(e,Hj,(bT(),_G)),a}(t,e,n,o,l,r),s=gb((Kp(n),r)),o==Dq?(hv(s,Uf(gd(c.f,0),7)),lv(s,i)):(hv(s,i),lv(s,Uf(gd(c.f,0),7))),u=new S_(r,s,c,Uf(kx(c,($L(),oq)),7),o,!f)),dN(t.a,r,new vf(u.d,e,o)),u}function NO(t,e,n,r){var i,o,a,s,c,u,l;if(fr(o=new Tk(t),(RT(),BF)),Ky(o,(JL(),Hj),(bT(),mG)),i=0,e){for(Ky(a=new TT,($L(),oq),e),Ky(o,oq,e.f),Fh(a,(mL(),KG)),cv(a,o),c=0,u=(l=Uf(Yk(e.b,Ty(IF,CP,12,e.b.c.length,0,1)),47)).length;cf?l:f;for(uk(this,Vw(Nx(Mo(gR,1),KM,10,0,[t.f.i,t.i,t.a])).b,h,l),a=new Vn(new Un(e.a).a.bb().mb());a.a.G();)i=Uf(a.a.H(),21),o=Uf(i.yb(),27),Np(this.c,Uf(o.b,12));this.f=!1}function PO(t,e,n,r){var i,o,a,s,c;if(!((s=(JL(),Ij).b)in e.a)||!Sg(e,s).ic().a){if(!(c=Sg(e,$M)))throw new xp("Labels must have a property 'text'.",null,e);if(!c.lc())throw new xp("A label's 'text' property must be a string.",c,e);if(Ky(o=new Eu(c.lc().a),($L(),oq),e),wg(t.f,o,e),ZC(e,o),ET(e,o),dl(n,9)?Lf(Uf(n,9).c,o):dl(n,12)?Lf(Uf(n,12).b,o):dl(n,7)&&Lf(Uf(n,7).c,o),dl(n,12))switch(a=Uf(kx(o,gj),107),ZC(e,o),Ky(o,gj,a),i=Uf(kx(r,WV),18),a.e){case 2:case 3:i.ib((KA(),eV));case 1:case 0:i.ib((KA(),JU)),Ky(o,gj,(Gw(),PR))}}}function DO(t,e){var n,r,i,o,a,s,c,u,l,h,f,d,p,g,v;for(i=0,o=0,c=new Kn(t.a);c.a.5?v-=2*o*(d-.5):d<.5&&(v+=2*i*(.5-d)),v<(r=a.e.b)&&(v=r),p=a.e.c,v>g.a-p-u&&(v=g.a-p-u),a.i.a=e+v}}function RO(){RO=a,nF=new Ji,eF=bS(Nx(Mo(TR,1),GI,79,0,[(JL(),aj),mj])),QB=bS(Nx(Mo(TR,1),GI,79,0,[Pj,Yj,(ZL(),fX),wj,($L(),gq),gX,sX])),WB=bS(Nx(Mo(TR,1),GI,79,0,[cj,fj,Ij,yj,Ej,Cj,Nj,Wj,$j,_j,Bq,Vq,qq,nX,Zq,rX,dX,cX,Hq])),KB=bS(Nx(Mo(TR,1),GI,79,0,[Oj,Sj,Tj,Jj,Mj,pq,PV,AV,wq,uX,$q,eX])),ZB=bS(Nx(Mo(TR,1),GI,79,0,[Uj,sj,pj,vj,gj,bj,xj,Dj,Rj,jj,Gj,Bj,Hj,zj,Fq,Uq,iX,Xq,zq,oX,aX,Kq,Qq,tX,lX,hX,pX,vX,Jq])),$B=bS(Nx(Mo(TR,1),GI,79,0,[Lj,Zj,Kj,Yq])),tF=bS(Nx(Mo(TR,1),GI,79,0,[oj,lj,kj,Aj,Fj,qj])),JB=bS(Nx(Mo(TR,1),GI,79,0,[(Mx(),VB)]))}function jO(t){var e,n,r,i,o,a,s;for(e=0,o=new Kn(t.b.a);o.a0;){for(_y(0,s.c.length),d=Uf(s.c[0],12),_y(0,h.c.length),i=Qy((r=Uf(h.c[0],12)).d.b,r,0),Xv(d,r.d,i),hv(r,null),lv(r,null),f=d.a,e&&Of(f,new $c(v)),n=Sk(r.a,0);n.b!=n.d.c;)Of(f,new $c(Uf(Sb(n),10)));for(g=d.b,l=new Kn(r.b);l.a0?Lm(this,this.f/this.a):null!=ul(e.g,e.d[0]).a&&null!=ul(n.g,n.d[0]).a?Lm(this,(oo(ul(e.g,e.d[0]).a)+oo(ul(n.g,n.d[0]).a))/2):null!=ul(e.g,e.d[0]).a?Lm(this,ul(e.g,e.d[0]).a):null!=ul(n.g,n.d[0]).a&&Lm(this,ul(n.g,n.d[0]).a)}function HO(t,e){var n,r,i,o,a,s,c,u,l,h,f;switch(t.g.e){case 1:if(r=Uf(kx(t,($L(),oq)),12),(n=Uf(kx(r,aq),44))?io(oo(Sh(kx(r,mq))))&&(n=Tx(n)):n=new Fr,u=Uf(kx(t,eq),7),e<=(l=Vw(Nx(Mo(gR,1),KM,10,0,[u.f.i,u.i,u.a]))).a)return l.b;if(Mb(n,l,n.a,n.a.a),h=Uf(kx(t,nq),7),(f=Vw(Nx(Mo(gR,1),KM,10,0,[h.f.i,h.i,h.a]))).a<=e)return f.b;for(Mb(n,f,n.c.b,n.c),a=Uf(Sb(c=Sk(n,0)),10),s=Uf(Sb(c),10);s.a=2)for(Mg(t.a),r=0,f=Sk(n,0);f.b!=f.d.c;)h=Uf(Sb(f),10),0==r?(e=Mh(Mh(new ts(h.a,h.b),t.c.i),t.c.f.i),t.c.a.a=e.a,t.c.a.b=e.b):r==n.b-1?(e=Mh(Mh(new ts(h.a,h.b),t.d.i),t.d.f.i),t.d.a.a=e.a,t.d.a.b=e.b):Of(t.a,h),++r;if(l)for(c=Sk(t.a,0);c.b!=c.d.c;)s=Uf(Sb(c),10),a.a=Fo(a.a,s.a),a.b=Fo(a.b,s.b);for(o=new Kn(t.b);o.a0&&Ky(a,jV,(Vd(),Vd(),AX)),(s=Uf(kx(a,(JL(),Hj)),28))==(bT(),EG)||s!=_G&&r.ib((KA(),oV)),io(oo(Sh(kx(a,fj))))&&r.ib((KA(),tV)),io(oo(Sh(kx(a,_j))))&&(r.ib((KA(),iV)),r.ib(rV),Ky(a,Hj,_G)),a}function UO(t,e){e.V()&&Sf(t.n,!0,!0,!0,!0),e.t((mL(),GG))&&Sf(t.n,!0,!0,!0,!1),e.t(MG)&&Sf(t.n,!1,!0,!0,!0),e.t(qG)&&Sf(t.n,!0,!0,!1,!0),e.t(WG)&&Sf(t.n,!0,!1,!0,!0),e.t(BG)&&Sf(t.n,!1,!0,!0,!1),e.t(PG)&&Sf(t.n,!1,!0,!1,!0),e.t(XG)&&Sf(t.n,!0,!1,!1,!0),e.t(VG)&&Sf(t.n,!0,!1,!0,!1),e.t(zG)&&Sf(t.n,!0,!0,!0,!0),e.t(RG)&&Sf(t.n,!0,!0,!0,!0),e.t(zG)&&Sf(t.n,!0,!0,!0,!0),e.t(DG)&&Sf(t.n,!0,!0,!0,!0),e.t(UG)&&Sf(t.n,!0,!0,!0,!0),e.t(YG)&&Sf(t.n,!0,!0,!0,!0),e.t(HG)&&Sf(t.n,!0,!0,!0,!0)}function VO(t,e){var n,r,i,o,a,s,c,u,l;for(s=!0,i=0,c=t.f[e.k],u=e.j.b+t.n,n=t.c[e.k][2],Kb(t.a,c,W_(Uf(gd(t.a,c),24).a-1+n)),Kb(t.b,c,oo(Oh(gd(t.b,c)))-u+n*t.e),++c>=t.i?(++t.i,Lf(t.a,W_(1)),Lf(t.b,u)):(r=t.c[e.k][1],Kb(t.a,c,W_(Uf(gd(t.a,c),24).a+1-r)),Kb(t.b,c,oo(Oh(gd(t.b,c)))+u-r*t.e)),(t.q==(nA(),tY)&&(Uf(gd(t.a,c),24).a>t.j||Uf(gd(t.a,c-1),24).a>t.j)||t.q==rY&&(oo(Oh(gd(t.b,c)))>t.k||oo(Oh(gd(t.b,c-1)))>t.k))&&(s=!1),o=Ip(q_(e));tE(o);)a=Uf(Nv(o),12).c.f,t.f[a.k]==c&&(i+=Uf((l=VO(t,a)).a,24).a,s=s&&io(oo(Sh(l.b))));return t.f[e.k]=c,new es(W_(i+=t.c[e.k][0]),(Vd(),s?AX:NX))}function qO(t,e,n){var r,i,o,a,s,c,u,l,h,f,d,p,g,v,b;if(f=new $c(t.j),b=e.a/f.a,s=e.b/f.b,g=e.a-f.a,o=e.b-f.b,n)for(i=Zc(kx(t,(JL(),Hj)))===Zc((bT(),mG)),p=new Kn(t.f);p.a=1&&(v-a>0&&h>=0?(c.i.a+=g,c.i.b+=o*a):v-a<0&&l>=0&&(c.i.a+=g*v,c.i.b+=o));t.j.a=e.a,t.j.b=e.b,Ky(t,(JL(),Zj),(LE(),new Zf(r=Uf(ia(lB),11),Uf(Sp(r,r.length),11),0)))}function XO(t){var e,n,r,i,o,a,s,c,u,l;for(r=new Re,a=new Kn(t.e.a);a.a-1){for(r=Sk(a,0);r.b!=r.d.c;)(n=Uf(Sb(r),77)).n=o;for(;0!=a.b;)for(e=new Kn((n=Uf(rT(a,0),77)).d);e.a0),o.a.sb(o.c=--o.b),ef(o,n),Cp(c,n),ON(n,s.g),tb(c),tb(c),r.a.eb(n)}}function JO(t){var e,n,r,i,o,a,s,c;for(e=null,r=new Kn(t);r.a0&&0==n.c&&(!e&&(e=new Re),e.c[e.c.length]=n);if(e)for(;0!=e.c.length;){if((n=Uf(yy(e,0),102)).b&&n.b.c.length>0)for(!n.b&&(n.b=new Re),o=new Kn(n.b);o.aQy(t,n,0))return new es(i,n)}else if(oo(ul(i.g,i.d[0]).a)>oo(ul(n.g,n.d[0]).a))return new es(i,n);for(s=(!n.e&&(n.e=new Re),n.e).mb();s.G();)!(a=Uf(s.H(),102)).b&&(a.b=new Re),xy(0,(c=a.b).c.length),Ac(c.c,0,n),a.c==c.c.length&&(e.c[e.c.length]=a)}return null}function tL(t,e){var n,r,i,o,a,s,c,u,l;if(1!=tg(X_(e))||Uf(Uv(X_(e)),12).d.f.g!=(RT(),jF))return null;for(fr(n=(o=Uf(Uv(X_(e)),12)).d.f,(RT(),PF)),Ky(n,($L(),eq),null),Ky(n,nq,null),Ky(n,(JL(),Hj),Uf(kx(e,Hj),28)),Ky(n,Lj,Uf(kx(e,Lj),86)),i=kx(o.c,oq),a=null,u=mC(n,(mL(),LG)).mb();u.G();)if(0!=(s=Uf(u.H(),7)).e.c.length){Ky(s,oq,i),l=o.c,s.j.a=l.j.a,s.j.b=l.j.b,s.a.a=l.a.a,s.a.b=l.a.b,ox(s.c,l.c),l.c.c=Ty(TD,GI,1,0,4,1),a=s;break}if(Ky(o.c,oq,null),!ab(mC(e,LG)))for(c=new Kn(Wb(mC(e,LG)));c.a0?i+t.i[1]*e+t.n[1]:0,t.o[3]>0?i+t.i[3]*e+t.n[3]:0),Fo(t.o[4]>0?n+t.i[4]*e+t.n[4]:0,t.o[2]>0?n+t.i[2]*e+t.n[2]:0))}(t,t.k);break;case 4:r=new $c(a);break;case 5:r=function(t,e){var n,r,i,o,a;for(a=new uo,o=new Kn(fT(t));o.a0&&(o.a=Fo(o.a,i+t.q.b+t.q.c)),n>0&&(o.b=Fo(o.b,n+t.q.d+t.q.a))):(i>0&&(o.a=Fo(o.a,i)),n>0&&(o.b=Fo(o.b,n)))),function(t,e){t.e.j.a=e.a,t.e.j.b=e.b}(t.e,o)}}function nL(t,e,n){var r,i,o,a,s,c,u,l,h,f,d;if(!t.b)return!1;for(a=null,f=null,i=1,(c=new Vy(null,null)).a[1]=t.b,h=c;h.a[i];)u=i,s=f,f=h,h=h.a[i],i=(r=t.a.$b(e,h.d))<0?0:1,0==r&&(!n.c||Ag(h.e,n.d))&&(a=h),h&&h.b||qo(h.a[i])||(qo(h.a[1-i])?f=f.a[u]=ww(h,i):qo(h.a[1-i])||(d=f.a[1-u])&&(qo(d.a[1-u])||qo(d.a[u])?(o=s.a[1]==f?1:0,qo(d.a[u])?s.a[o]=eb(f,u):qo(d.a[1-u])&&(s.a[o]=ww(f,u)),h.b=s.a[o].b=!0,s.a[o].a[0].b=!1,s.a[o].a[1].b=!1):(f.b=!1,d.b=!0,h.b=!0)));return a&&(n.b=!0,n.d=a.e,h!=a&&(function(t,e,n,r){var i,o;for(i=null==(o=e).d||t.a.$b(n.d,o.d)>0?1:0;o.a[i]!=n;)o=o.a[i],i=t.a.$b(n.d,o.d)>0?1:0;o.a[i]=r,r.b=n.b,r.a[0]=n.a[0],r.a[1]=n.a[1],n.a[0]=null,n.a[1]=null}(t,c,a,l=new Vy(h.d,h.e)),f==a&&(f=l)),f.a[f.a[1]==h?1:0]=h.a[h.a[0]?0:1],--t.c),t.b=c.a[1],t.b&&(t.b.b=!1),n.b}function rL(t){var e,n,r,i,o,a,s,c,u,l,h,f,d,p;for(f=new Kn(t);f.a(b=r?Uf(kx(l,sz),24).a:kI)?c:b,m=new Kn(l.f);m.a=u&&x>=v&&(f+=p.i.b+g.i.b+g.a.b-w,++s));if(n)for(a=new Kn(y.b);a.a=u&&x>=v&&(f+=p.i.b+g.i.b+g.a.b-w,++s))}s>0&&(_+=f/s,++d)}d>0?(e.a=i*_/d,e.i=d):(e.a=0,e.i=0)}function sL(t,e){var n;if(t.e)throw new ko((Bh(vF),"The "+vF.j+vP));if(!function(t,e){return Xl(t.c,e)}(t.a,e))throw new Ai("The direction "+e+" is not supported by the CGraph instance.");if(e==t.d)return t;switch(n=t.d,t.d=e,n.e){case 0:switch(e.e){case 2:yx(t);break;case 1:nk(t),yx(t);break;case 4:HT(t),yx(t);break;case 3:HT(t),nk(t),yx(t)}break;case 2:switch(e.e){case 1:nk(t),uS(t);break;case 4:HT(t),yx(t);break;case 3:HT(t),nk(t),yx(t)}break;case 1:switch(e.e){case 2:nk(t),uS(t);break;case 4:nk(t),HT(t),yx(t);break;case 3:nk(t),HT(t),nk(t),yx(t)}break;case 4:switch(e.e){case 2:HT(t),yx(t);break;case 1:HT(t),nk(t),yx(t);break;case 3:nk(t),uS(t)}break;case 3:switch(e.e){case 2:nk(t),HT(t),yx(t);break;case 1:nk(t),HT(t),nk(t),yx(t);break;case 4:nk(t),uS(t)}}return t}function cL(t,e,n){var r,i,o,a,s,c,u,l;if(!t.a[e.d.k][e.k].e){for(t.a[e.d.k][e.k].e=!0,t.a[e.d.k][e.k].b=0,t.a[e.d.k][e.k].d=0,t.a[e.d.k][e.k].a=null,l=new Kn(e.f);l.a0&&(t.a[e.d.k][e.k].d+=LN(t.e,24)*KP*.07000000029802322-.03500000014901161,t.a[e.d.k][e.k].a=t.a[e.d.k][e.k].d/t.a[e.d.k][e.k].b)}}function uL(t,e){var n,r,i,o,a,s,c,u,l,h;for(r=new Kn(t.a.c);r.adP||e.k==xz&&uv?u:v}for(n.e.b+=u-s.b,h=new Kn(t.a);h.a1;)e=zo(i,t.c),fr(l=new Tk(t.e.c),(RT(),PF)),Ky(l,(JL(),Hj),Uf(kx(c,Hj),28)),Ky(l,Lj,Uf(kx(c,Lj),86)),l.k=t.e.b++,Lf(t.b,l),l.j.b=c.j.b,l.j.a=e,Fh(h=new TT,(mL(),LG)),cv(h,c),h.i.a=l.j.a,h.i.b=l.j.b/2,Fh(f=new TT,KG),cv(f,l),f.i.b=l.j.b/2,f.i.a=-f.j.a,hv(d=new jg,h),lv(d,f),c=l,Lf(t.e.c.b,c),--u,i-=t.c+t.e.d;for(new yT(t.d,t.b,t.c),a=new Kn(r);a.ae.a||e.p>t.a)){for(n=0,r=0,s=new Vn(new Un(t.o.a).a.bb().mb());s.a.G();)i=Uf(s.a.H(),21),o=Uf(i.yb(),7),cE(Vw(Nx(Mo(gR,1),KM,10,0,[o.f.i,o.i,o.a])).b,e.p,e.a)&&++n;for(c=new Vn(new Un(t.g.a).a.bb().mb());c.a.G();)i=Uf(c.a.H(),21),o=Uf(i.yb(),7),cE(Vw(Nx(Mo(gR,1),KM,10,0,[o.f.i,o.i,o.a])).b,e.p,e.a)&&--n;for(u=new Vn(new Un(e.o.a).a.bb().mb());u.a.G();)i=Uf(u.a.H(),21),o=Uf(i.yb(),7),cE(Vw(Nx(Mo(gR,1),KM,10,0,[o.f.i,o.i,o.a])).b,t.p,t.a)&&++r;for(a=new Vn(new Un(e.g.a).a.bb().mb());a.a.G();)i=Uf(a.a.H(),21),o=Uf(i.yb(),7),cE(Vw(Nx(Mo(gR,1),KM,10,0,[o.f.i,o.i,o.a])).b,t.p,t.a)&&--r;n1)for(c=Sk(Yf(mC(e,KG)),0);c.b!=c.d.c;)0==(s=Uf(Sb(c),7)).b.c.length?(Fh(i=new TT,KG),i.j.a=s.j.a,i.j.b=s.j.b,cv(i,r),Ky(i,oq,kx(s,oq)),cv(s,null)):cv(a,r);return Ky(e,oq,null),Ky(e,IV,NX),fr(e,PF),Ky(r,(JL(),Hj),Uf(kx(e,Hj),28)),Ky(r,Lj,Uf(kx(e,Lj),86)),Id(t.b,0,r),r}function bL(t,e,n,r,i,o,a){var s,c,u,l,h,f;switch(h=n,fr(u=new Tk(a),(RT(),DF)),Ky(u,($L(),XV),i),Ky(u,(JL(),Hj),(bT(),mG)),Ky(u,iq,Uf(kx(t,Mj),15)),!(c=Uf(kx(t,Fj),10))&&(c=new ts(i.a/2,i.b/2)),Ky(u,Fj,c),cv(l=new TT,u),e!=_G&&e!=EG||(s=o!=(E_(),OR)?o:SR,h=r>0?hE(s):v_(hE(s)),Ky(t,Uj,h)),h.e){case 4:Ky(u,(ZL(),tX),(qk(),Sq)),Ky(u,YV,(Dx(),RU)),u.j.b=i.b,Fh(l,(mL(),LG)),l.i.b=c.b;break;case 2:Ky(u,(ZL(),tX),(qk(),Lq)),Ky(u,YV,(Dx(),PU)),u.j.b=i.b,Fh(l,(mL(),KG)),l.i.b=c.b;break;case 1:Ky(u,KV,(jm(),_V)),u.j.a=i.a,Fh(l,(mL(),$G)),l.i.a=c.a;break;case 3:Ky(u,KV,(jm(),wV)),u.j.a=i.a,Fh(l,(mL(),IG)),l.i.a=c.a}if(e==yG||e==wG||e==mG){switch(f=0,h.e){case 4:case 2:case 1:case 3:f=null.cd,e==wG&&(f/=null.cd)}Ky(u,dq,f)}return Ky(u,qV,h),u}function yL(t){var e,n,r,i,o,a,s,c,u,l,h,f,d,p,g,v,b,y,m;for(u=new Fr,_l(),wg(b=new kr,t,UT(t)),Cm(2,dM),r=new cm(2),t.c&&Lf(r,t.c),t.d&&Lf(r,t.d),d=new Kn(r);d.a1&&Mb(u,p,u.c.b,u.c),Mm(n)));p=g}return u}function mL(){var t;mL=a,ZG=new ys(GM,0),IG=new ys("NORTH",1),LG=new ys("EAST",2),$G=new ys("SOUTH",3),KG=new ys("WEST",4),zg(),jG=new Ko(new Zf(t=Uf(ia(iB),11),Uf(Sp(t,t.length),11),0)),GG=G_(tp(IG,Nx(Mo(iB,1),FI,32,0,[]))),MG=G_(tp(LG,Nx(Mo(iB,1),FI,32,0,[]))),qG=G_(tp($G,Nx(Mo(iB,1),FI,32,0,[]))),WG=G_(tp(KG,Nx(Mo(iB,1),FI,32,0,[]))),zG=G_(tp(IG,Nx(Mo(iB,1),FI,32,0,[$G]))),RG=G_(tp(LG,Nx(Mo(iB,1),FI,32,0,[KG]))),VG=G_(tp(IG,Nx(Mo(iB,1),FI,32,0,[KG]))),BG=G_(tp(IG,Nx(Mo(iB,1),FI,32,0,[LG]))),XG=G_(tp($G,Nx(Mo(iB,1),FI,32,0,[KG]))),PG=G_(tp(LG,Nx(Mo(iB,1),FI,32,0,[$G]))),YG=G_(tp(IG,Nx(Mo(iB,1),FI,32,0,[LG,KG]))),DG=G_(tp(LG,Nx(Mo(iB,1),FI,32,0,[$G,KG]))),UG=G_(tp(IG,Nx(Mo(iB,1),FI,32,0,[$G,KG]))),FG=G_(tp(IG,Nx(Mo(iB,1),FI,32,0,[LG,$G]))),HG=G_(tp(IG,Nx(Mo(iB,1),FI,32,0,[LG,$G,KG])))}function wL(t,e,n){var r,i,o,a,s,c,u,l,h,f,d,p,g,v,b,y,m,w;if(Ky(l=new Bm,qB,e),wg(t.e,e,l),Ky(l,($L(),lq),n),t.d&&fC(t.d,l,!1),ET(e,l),rP in e.a&&(v=l.a,b=Uf(Sg(e,rP),69),(g=Uf(Sg(b,"left"),104))&&(v.b=g.a),(m=Uf(Sg(b,"top"),104))&&(v.d=m.a),(y=Uf(Sg(b,"right"),104))&&(v.c=y.a),(i=Uf(Sg(b,qM),104))&&(v.a=i.a)),h=new Zf(r=Uf(ia(yV),11),Uf(Sp(r,r.length),11),0),Ky(l,WV,h),null==t.g&&(t.g=Sh(kx(l,(qg(),rF)))),iP in e.a){if(!(w=Sg(e,iP)).hc())throw new xp("The 'children' property of nodes must be an array.",w,e);if((u=w.hc()).a.length>0){for(n&&Ky(n,rq,l),s=Ty(FF,oP,9,u.a.length,0,1),d=0;d1)for(Lf(o,new MO(d,y,n)),h=new Vn(new Un(y.a).a.bb().mb());h.a.G();)u=Uf(h.a.H(),21),Gy(i,Uf(u.yb(),27).b);if(a.a.Y()>1)for(Lf(o,new MO(d,a,n)),h=new Vn(new Un(a.a).a.bb().mb());h.a.G();)u=Uf(h.a.H(),21),Gy(i,Uf(u.yb(),27).b)}}function kL(t,e){var n,r,i,o,a,s,c,u,l;switch(xb(o=Wb(qf(e,new Jf(t))),new te),(i=t.b).c){case 2:Np(e,new VC(r=function(t,e,n,r){var i,o,a,s,c;for(c=0,o=new Kn(t.a.b);o.a.5&&i<50;)e=Na(XT(n,r=hA(n),!0).a),++i;return XT(t,(Fd(o=Oh(sk(Yf(t.g),Yf(t.g).b-1))),o-r),!1)}(h);break;case 2:case 4:h.a=m,y=function(t){var e,n,r,i,o;for(n=_S(vO(t)),e=jP,i=0,r=0;e>.5&&i<50;)e=Na(XT(n,r=fA(n),!0).b),++i;return XT(t,(Fd(o=Oh(sk(Yf(t.g),Yf(t.g).b-1))),o-r),!1)}(h);break;default:return null}return dr(h,new MC(Nx(Mo(gR,1),KM,10,0,[c,m,y,p,v]))),h}(t.a.c,e,t.a.d,r,Mk(t.b),n),gw(t.a.a,RE(s)),a=sC(t.a.b,s.a,t.b),tv(i=new Db((!s.k&&(s.k=new yC(vw(s))),s.k))),a?$p(i,a):i}(t,a=uw(n=Ru(qf(o,new kn(i.a))))?Uf(Cy(n),91).b:15,uw(n=Ru(qf(o,new kn(Mk(i)))))?Uf(Cy(n),91).b:15,uw(n=Ru(qf(o,new kn(i.b))))?Uf(Cy(n),91).b:15),t.c,t.e,t.a.c.f,i.a)),Np(e,new VC(r,t.c,t.e,t.a.c.f,Mk(i))),Np(e,new VC(r,t.c,t.e,t.a.c.f,i.b));break;case 1:Np(e,new VC(r=function(t,e,n){var r,i,o,a,s,c;for(c=t.b,o=0,i=new Kn(t.a.b);i.a0)if(r=l.Y(),c=wv(Math.floor((r+1)/2))-1,i=wv(Math.ceil((r+1)/2))-1,e.k==_z)for(u=i;u>=c;u--)e.a[m.k]==m&&(p=Uf(l.sb(u),27),d=Uf(p.a,9),!ka(n,p.b)&&f>t.b.e[d.k]&&(e.a[d.k]=m,e.f[m.k]=e.f[d.k],e.a[m.k]=e.f[m.k],f=t.b.e[d.k]));else for(u=c;u<=i;u++)e.a[m.k]==m&&(v=Uf(l.sb(u),27),g=Uf(v.a,9),!ka(n,v.b)&&f0||n.k==_z&&iv?d:v):n.n[e.k]=r>(d>v?d:v)?r:d>v?d:v)):(g=t.d.f,p=yw(t,n.i[e.k]),f=yw(t,n.i[h.k]),n.k==_z?qv(p,f,oo(n.n[e.k])+oo(n.d[a.k])+a.j.b+a.e.a+g-(oo(n.n[h.k])+oo(n.d[u.k])-u.e.d)):qv(p,f,oo(n.n[e.k])+oo(n.d[a.k])-a.e.d-oo(n.n[h.k])-oo(n.d[u.k])-u.j.b-u.e.a-g))):v=t.e.Ic(v,e,a),a=n.a[a.k]}while(a!=e);!function(t,e){Np(t.b,e)}(t.e,e)}}function LL(t,e,n,r){var i,o,a,s,c,u,l,h,f,d,p,g,v,b;if(f=!1,h=!1,Vs(Uf(kx(r,(JL(),Hj)),28))){a=!1,s=!1;t:for(p=new Kn(r.f);p.a=r.j.b/2}b?(v=Uf(kx(r,($L(),Nq)),20))?f?o=v:(i=Uf(kx(r,DV),20))?o=v.Y()<=i.Y()?v:i:(o=new Re,Ky(r,DV,o)):(o=new Re,Ky(r,Nq,o)):(i=Uf(kx(r,($L(),DV)),20))?h?o=i:(v=Uf(kx(r,Nq),20))?o=i.Y()<=v.Y()?i:v:(o=new Re,Ky(r,Nq,o)):(o=new Re,Ky(r,DV,o)),o.ib(t),Ky(t,($L(),RV),n),e.d==n?(lv(e,null),n.b.c.length+n.e.c.length==0&&cv(n,null)):(hv(e,null),n.b.c.length+n.e.c.length==0&&cv(n,null)),Mg(e.a)}function IL(t,e){var n,r,i,o,a,s,c,u,l,h,f,d,p,g,v,b,y;for((n=new kk(e)).a||function(t){var e,n,r,i,o;switch(i=Uf(gd(t.b,0),9),e=new Tk(t),Lf(t.b,e),e.j.a=Fo(1,i.j.a),e.j.b=Fo(1,i.j.b),e.i.a=i.i.a,e.i.b=i.i.b,Uf(kx(i,($L(),qV)),32).e){case 4:e.i.a+=2;break;case 1:e.i.b+=2;break;case 2:e.i.a-=2;break;case 3:e.i.b-=2}cv(r=new TT,e),hv(n=new jg,o=Uf(gd(i.f,0),7)),lv(n,r),Ih(Lc(r.i),o.i),Ih(Lc(r.a),o.a)}(e),u=function(t){var e,n,r,i,o,a,s;for(s=new Cb,a=new Kn(t.b);a.a=s.b.c)&&(s.b=e),(!s.c||e.c<=s.c.c)&&(s.d=s.c,s.c=e),(!s.e||e.d>=s.e.d)&&(s.e=e),(!s.f||e.d<=s.f.d)&&(s.f=e);return r=new hk((jw(),yF)),Lb(t,CF,new Qn(Nx(Mo(bF,1),GI,160,0,[r]))),a=new hk(xF),Lb(t,TF,new Qn(Nx(Mo(bF,1),GI,160,0,[a]))),i=new hk(mF),Lb(t,kF,new Qn(Nx(Mo(bF,1),GI,160,0,[i]))),o=new hk(wF),Lb(t,EF,new Qn(Nx(Mo(bF,1),GI,160,0,[o]))),cA(r.c,yF),cA(i.c,mF),cA(o.c,wF),cA(a.c,xF),s.a.c=Ty(TD,GI,1,0,4,1),ox(s.a,r.c),ox(s.a,Sw(i.c)),ox(s.a,o.c),ox(s.a,Sw(a.c)),s}(u)),n}function ML(t,e){var n,r,i,o,a,s,c,u,l,h,f,d,p,g,v,b,y,m,w,x,_,E,k,T,C;return h=function(t,e){var n,r,i,o,a,s,c,u,l,h,f;if(t.V())return new uo;for(c=0,l=0,r=t.mb();r.G();)c=Fo(c,(i=Uf(r.H(),55).e).a),l+=i.a*i.b;for(c=Fo(c,Math.sqrt(l)*Uf(kx(Uf(t.mb().H(),55),($L(),AV)),15).a),h=0,f=0,s=0,n=e,a=t.mb();a.G();)h+(u=(o=Uf(a.H(),55)).e).a>c&&(h=0,f+=s+e,s=0),iS(o,h,f),n=Fo(n,h+u.a),s=Fo(s,u.b),h+=u.a+e;return new ts(n+e,f+s+e)}(fl(t,(mL(),jG)),e),p=Ok(fl(t,GG),e),w=Ok(fl(t,qG),e),k=Lk(fl(t,WG),e),f=Lk(fl(t,MG),e),y=Ok(fl(t,VG),e),g=Ok(fl(t,BG),e),_=Ok(fl(t,XG),e),x=Ok(fl(t,PG),e),T=Lk(fl(t,RG),e),b=Ok(fl(t,zG),e),m=Ok(fl(t,YG),e),E=Ok(fl(t,DG),e),C=Lk(fl(t,UG),e),d=Lk(fl(t,FG),e),v=Ok(fl(t,HG),e),n=xm(Nx(Mo(sW,1),NI,26,12,[y.a,k.a,_.a,C.a])),r=xm(Nx(Mo(sW,1),NI,26,12,[p.a,h.a,w.a,v.a])),i=b.a,o=xm(Nx(Mo(sW,1),NI,26,12,[g.a,f.a,x.a,d.a])),u=xm(Nx(Mo(sW,1),NI,26,12,[y.b,p.b,g.b,m.b])),c=xm(Nx(Mo(sW,1),NI,26,12,[k.b,h.b,f.b,v.b])),l=T.b,s=xm(Nx(Mo(sW,1),NI,26,12,[_.b,w.b,x.b,E.b])),vy(fl(t,jG),n+i,u+l),vy(fl(t,HG),n+i,u+l),vy(fl(t,GG),n+i,0),vy(fl(t,qG),n+i,u+l+c),vy(fl(t,WG),0,u+l),vy(fl(t,MG),n+i+r,u+l),vy(fl(t,BG),n+i+r,0),vy(fl(t,XG),0,u+l+c),vy(fl(t,PG),n+i+r,u+l+c),vy(fl(t,RG),0,u),vy(fl(t,zG),n,0),vy(fl(t,DG),0,u+l+c),vy(fl(t,FG),n+i+r,0),(a=new uo).a=xm(Nx(Mo(sW,1),NI,26,12,[n+r+i+o,T.a,m.a,E.a])),a.b=xm(Nx(Mo(sW,1),NI,26,12,[u+c+l+s,b.b,C.b,d.b])),a}function PL(t,e){var n,r,i,o,a,s,c,u,l,h,f,d,p,g;if(r=new Fr,u=null,(d=(p=t.c).f.g)!=(RT(),GF)&&d!=BF)throw new so("The target node of the edge must be a normal node or a northSouthPort.");for(d==BF&&(f=Uf(kx(p,($L(),oq)),7),u=new ts(Vw(Nx(Mo(gR,1),KM,10,0,[f.f.i,f.i,f.a])).a,Vw(Nx(Mo(gR,1),KM,10,0,[p.f.i,p.i,p.a])).b),p=f),cs(r,Vw(Nx(Mo(gR,1),KM,10,0,[p.f.i,p.i,p.a]))),a=Fo(5,AE(p.f,p.g)),(h=new wp(eT(p.g))).a*=a,h.b*=a,Of(r,Ih(h,Vw(Nx(Mo(gR,1),KM,10,0,[p.f.i,p.i,p.a])))),u&&Mb(r,u,r.c.b,r.c),o=t,c=t,s=null,n=!1;o;)0!=(i=o.a).b&&(n?(Of(r,al(Ih(s,(Lu(0!=i.b),Uf(i.a.a.c,10))),.5)),n=!1):n=!0,s=wu((Lu(0!=i.b),Uf(i.c.b.c,10))),gw(r,i),Mg(i)),c=o,o=Uf(Kc(vv(e.d,o)),12);(g=c.d).f.g==BF&&(f=Uf(kx(g,($L(),oq)),7),Of(r,new ts(Vw(Nx(Mo(gR,1),KM,10,0,[f.f.i,f.i,f.a])).a,Vw(Nx(Mo(gR,1),KM,10,0,[g.f.i,g.i,g.a])).b)),g=f),a=Fo(5,AE(g.f,g.g)),al(h=new wp(eT(g.g)),a),Of(r,Ih(h,Vw(Nx(Mo(gR,1),KM,10,0,[g.f.i,g.i,g.a])))),cs(r,Vw(Nx(Mo(gR,1),KM,10,0,[g.f.i,g.i,g.a]))),l=new JS(r),gw(t.a,RE(l))}function DL(t){var e,n,r,i,o,a,s,c,u,l,h,f,d,g;if(Zc(kx(t.c,(JL(),Hj)))===Zc((bT(),wG))||Zc(kx(t.c,Hj))===Zc(mG))for(l=new Kn(t.c.f);l.a1&&(a=zo(a,Na(Uf(sk(s.a,1),10).b-l.b)))));else for(p=new Kn(e.f);p.ai&&(o=f.a-i,a=yI,r.c=Ty(TD,GI,1,0,4,1),i=f.a),f.a>=i&&(r.c[r.c.length]=s,s.a.b>1&&(a=zo(a,Na(Uf(sk(s.a,s.a.b-2),10).b-f.b)))));if(0!=r.c.length&&o>e.j.a/2&&a>e.j.b/2){for(cv(d=new TT,e),Fh(d,(mL(),IG)),d.i.a=e.j.a/2,cv(g=new TT,e),Fh(g,$G),g.i.a=e.j.a/2,g.i.b=e.j.b,c=new Kn(r);c.a=u.b?hv(s,g):hv(s,d)):(u=Uf(xf(s.a),10),(0==s.a.b?Gv(s.c):Uf(Fl(s.a),10)).b>=u.b?lv(s,g):lv(s,d)),(h=Uf(kx(s,(JL(),kj)),44))&&wE(h,u,!0);e.i.a=i-e.j.a/2}}function jL(t,e){var n,r,i,o,a,s,c,u,l,h,f,d,p,g,v,b,y,m;for(b=new Re,y=new Re,m=new Re,o=new Kn(e);o.a50?b.c[b.c.length]=i:i.k>0?y.c[y.c.length]=i:m.c[m.c.length]=i;if(1==y.c.length&&0==b.c.length&&(ox(b,y),y.c=Ty(TD,GI,1,0,4,1)),0!=b.c.length&&Xl(su(t.a),(CL(),$z))&&Xl(su(t.a),(CL(),Kz))?function(t,e){var n,r,i;for(r=new Kn(e);r.a1&&(dC(i,g=Uf(Nm(c),60),!0),fp(l),ov(t.a,g))}for(f=m.c.length,r=function(t){var e,n,r,i;switch(cu(t.a).c){case 4:return CL(),Kz;case 3:return Uf(function(t){var e;return CL(),CL(),e=Uz,t.d&&FC(t),function(){throw new Kr}(),e}(t.a).mb().H(),60);case 2:return e=Uf(Qb(n=new qs(r=cu(t.a))),60),i=Uf(Qb(n),60),gA(e)==i?Xl(r,(CL(),Kz))?Vz:Kz:pA(pA(e))==i?pA(e):vA(e);case 1:return gA(Uf(Qb(new qs(r=cu(t.a))),60));case 0:return CL(),Qz;default:return null}}(t),d=new Re,a=f/au(t.a).c|0,s=0;s3&&(ox(d,(CL(),CL(),zz)),p-=4),p){case 3:Lf(d,gA(r));case 2:v=pA(gA(r));do{v=pA(v)}while(!Xl(su(t.a),v));d.c[d.c.length]=v,v=vA(gA(r));do{v=vA(v)}while(!Xl(su(t.a),v));d.c[d.c.length]=v;break;case 1:Lf(d,gA(r))}for(h=new Kn(d),u=new Kn(m);h.ayM)&&s<10);go(t.c,new L),jO(t),function(t){sL(t,(E_(),AR)),t.e=!0}(t.c),function(t){var e,n,r,i,o,a,s;for(i=new Kn(t.a.b);i.a0,v=m.e.c.length>0,u&&v?f.c[f.c.length]=m:u?p.c[p.c.length]=m:v&&(y.c[y.c.length]=m);for(d=new Kn(p);d.a=g&&(m>g&&(p.c=Ty(TD,GI,1,0,4,1),g=m),p.c[p.c.length]=a);0!=p.c.length&&(d=Uf(gd(p,$k(e,p.c.length)),77),A.a.eb(d),d.i=v++,aA(d,C,E),p.c=Ty(TD,GI,1,0,4,1))}for(x=t.c.length+1,s=new Kn(t);s.aN.i&&(ug(n),Gy(N.d,r),r.c>0&&(r.a=N,Lf(N.j,r),r.b=k,Lf(k.d,r)))}function YL(t){switch(t.e){case 14:return new Z;case 37:return new Q;case 8:return new Ki;case 30:return new Qi;case 38:return new tt;case 3:return new et;case 47:case 1:return new bn((Px(),KF));case 4:return new nt;case 49:return new rt;case 23:return new ne;case 13:return new it;case 34:return new at;case 40:return new st;case 35:return new lt;case 44:return new Uu;case 28:return new ht;case 39:return new ft;case 27:return new dt;case 6:return new pt;case 31:return new yt;case 9:return new Te;case 43:return new wt;case 17:return new xt;case 18:return new kt;case 29:return new Ce;case 11:return new It;case 12:return new Ct;case 36:return new Nt;case 46:case 0:return new bn((Px(),ZF));case 41:return new St;case 15:return new Ot;case 33:return new Lt;case 42:return new Pt;case 22:return new Dt;case 19:return new bt;case 10:return new At;case 7:return new jt;case 24:return new Gt;case 21:return new Bt;case 16:return new Ht;case 45:return new Yt;case 26:return new zt;case 20:return new Ut;case 25:return new Vt;case 5:return new Qt;case 32:return new Jt;case 48:case 2:return new bn((Px(),$F));default:throw new so("No implementation is available for the layout processor "+(null!=t.d?t.d:""+t.e))}}function zL(t,e,n){var r,i,o,a,s,c,u,l,h,f,d,p,g,v,b,y,m,w,x,_,E,k,T,C,N,A,S;for(N=0,o=0,l=e[0].d,E=n[0].d,d=0,g=n.length;d0;){for(Lu(_.b>0),x=0,i=new Kn((m=Uf(_.a.sb(_.c=--_.b),7)).b);i.a0&&(m.g==(mL(),IG)?(t.a[m.k]=N,++N):(t.a[m.k]=N+b+y,++y),o+=x)}N+=y}else{for(v=0,w=new Kn(h.f);w.a0&&(++N,o+=v)}for(k=Ty(iW,vM,26,o,12,1),s=0,f=0,p=e.length;f0;)c%2>0&&(r+=A[c+1]),++A[c=(c-1)/2|0];return r}function UL(t,e){var n,r,i,o,a,s,c,u,l,h,f,d,p,g,v,b,y,m,w,x,_,E,k,T,C,N,A,S,O;for(HE(e,"Compound graph postprocessor",1),n=io(oo(Sh(kx(t,(ZL(),Bq))))),s=Uf(kx(t,($L(),FV)),144),h=new Ji,_=s.W().mb();_.G();){for(x=Uf(_.H(),12),xb(a=new df(s.U(x)),new cn(t)),C=cw((_y(0,a.c.length),Uf(a.c[0],114))),A=sw(Uf(gd(a,a.c.length-1),114)),Mg(x.a),k=C.f,E=R_(A.f,k)?Uf(kx(k,rq),55):Kp(k),p=Uf(kx(x,(JL(),kj)),44),Ad(a,OF)?p?Mg(p):(p=new Fr,Ky(x,kj,p)):p&&Ky(x,kj,null),v=null,o=new Kn(a);o.aEP,O=Na(v.b-m.b)>EP,(!n&&S&&O||n&&(S||O))&&Of(x.a,T)),gw(x.a,r),0==r.b?v=T:(Lu(0!=r.b),v=Uf(r.c.b.c,10)),(y=Uf(kx(b,kj),44))&&(Yx(d=new Fr,0,y),Pw(d,w),gw(p,d)),sw(i)==A&&(Kp(A.f)!=i.a&&IN(w=new uo,Kp(A.f),E),Ky(x,Cq,w)),g=new Kv(b.b,0);g.b1){x=Ty(PX,hI,15,t.a.length,0,1),u=Ol(t.a.length),p=0,d=0,n=2*e.d.a.c.length+1;t:for(w=new Kn(e.f);w.a0?(x[m.k]=new Hn(C/(m.b.c.length+m.e.c.length)),p=Uo(p,x[m.k].a),d=Ho(d,x[m.k].a)):v&&(x[m.k]=new Hn(C))}for(g=(e.d?Qy(e.d.a,e,0):-1)+1,f=e.d.a.c.length+1,c=new Kn(u);c.an&&g.a.db(m,g);for(A=new Ji,v=new Ji,x=new Vn(new Un(N.a).a.bb().mb());x.a.G();)for(h=Uf(x.a.H(),21),m=Uf(h.yb(),9),a=1==e?X_(m):q_(m),Xu(),u=new Pu(ju(Xf(a.a,new p)));tE(u);)c=Uf(Nv(u),12),Ic(m.d)!=Ic(c.d.f.d)&&Np(A,c.d.f);for(_=new Vn(new Un(g.a).a.bb().mb());_.a.G();)for(h=Uf(_.a.H(),21),m=Uf(h.yb(),9),a=1==e?X_(m):q_(m),Xu(),u=new Pu(ju(Xf(a.a,new p)));tE(u);)c=Uf(Nv(u),12),Ic(m.d)!=Ic(c.d.f.d)&&Np(v,c.d.f);for(QF&&Pf(),T=Uf(gd(t.d.c.c,r+(1==e?1:-1)),16),b=kI,y=yI,f=0;ff?b:f:v.a.R(m)&&(y=y1||tg(vu(new sb(B_(Nx(Mo(TD,1),GI,1,4,[y.b,y.e])))))>1)&&i.ib((KA(),rV)),Zc(kx(p,(ZL(),zq)))===Zc((lb(),qY))&&!(JM in e.a)){n=new Fr;try{for(s=Sg(e,JM).hc(),o=0;o0&&(t.a[B.k]=W++)}else{for(M=0,F=new Kn(C.f);F.a0&&++W}for(J=0,S=0,I=n.length;S0;){for(Lu(z.b>0),Y=0,s=new Kn((B=Uf(z.a.sb(z.c=--z.b),7)).b);s.a0&&(B.g==(mL(),IG)?(t.a[B.k]=J,++J):(t.a[B.k]=J+P+R,++R))}J+=R}else{for(M=0,F=new Kn(C.f);F.a0&&++J}for(_l(),H=new kr,d=new Iu,N=0,O=e.length;Nu.b&&(u.b=U)):B.f.d==X&&(Uu.c&&(u.c=U));for(Hk(p,0,p.length,(ec(),ec(),HX)),Q=Ty(iW,vM,26,p.length,12,1),r=Ty(iW,vM,26,J+1,12,1),v=0;v0;)_%2>0&&(i+=nt[_+1]),++nt[_=(_-1)/2|0];for(k=Ty(rz,GI,156,2*p.length,0,1),m=0;m0&&(45==t.charCodeAt(0)||43==t.charCodeAt(0))?1:0;eyI)throw new Zo(EI+t+'"');return i}((si(),""+n.jc().a))),void Ky(t,f,g)}catch(t){throw dl(t=r_(t),130)?new zi("Invalid integer format for property '"+e+cP+n+")."):D_(t)}else{if(Uf(WB.a,18).kb(e)){if(!n.ic())throw new zi(sP+e+cP+n+").");return f=Uf(Uf(WB.b,57).cb(e),79),Vd(),void Ky(t,f,g=n.ic().a?AX:NX)}if(Uf(KB.a,18).kb(e)){if(!n.jc())throw new zi("Invalid float format for property '"+e+cP+n+").");return void Ky(t,f=Uf(Uf(KB.b,57).cb(e),79),g=new Fn(n.jc().a))}if(Uf(ZB.a,18).kb(e)){if(!n.lc())throw new zi(uP+e+cP+n+").");u=n.lc().a,l=null;try{c_((JL(),Uj),e)?(mL(),l=Uf(p_((fy(),JG),u),32)):c_(sj,e)?(fk(),l=Uf(p_((Iy(),CR),u),103)):c_(pj,e)?(E_(),l=Uf(p_((hy(),MR),u),59)):c_(vj,e)?(k_(),l=Uf(p_((zb(),VR),u),122)):c_(xj,e)?(T_(),l=Uf(p_((mb(),ij),u),166)):c_(Dj,e)||c_(Rj,e)||c_(jj,e)||c_(Gj,e)||c_(Bj,e)?(OE(),l=Uf(p_((dy(),bG),u),100)):c_(Hj,e)?(bT(),l=Uf(p_((Py(),TG),u),28)):c_(zj,e)?(Rm(),l=Uf(p_((yb(),OG),u),149)):c_(bj,e)?(DT(),l=Uf(p_((My(),JR),u),133)):c_(gj,e)?(Gw(),l=Uf(p_((Yb(),BR),u),107)):c_((ZL(),Uq),e)?(Vg(),l=Uf(p_((Bv(),LY),u),193)):c_(iX,e)?(fm(),l=Uf(p_((wb(),GY),u),173)):c_(Xq,e)?(mT(),l=Uf(p_((vm(),UU),u),115)):c_(Fq,e)?(Gm(),l=Uf(p_((qb(),Az),u),194)):c_(zq,e)?(lb(),l=Uf(p_((Hv(),$Y),u),192)):c_(aX,e)?(nA(),l=Uf(p_((pm(),cY),u),109)):c_(oX,e)?(Vk(),l=Uf(p_((gm(),vz),u),141)):c_(lX,e)?(pC(),l=Uf(p_((Dy(),xY),u),125)):c_(hX,e)?(Nb(),l=Uf(p_((Fv(),dY),u),175)):c_(Kq,e)?(MT(),l=Uf(p_((tw(),QU),u),124)):c_(Qq,e)?(TO(),l=Uf(p_((Fw(),mV),u),110)):c_(tX,e)?(qk(),l=Uf(p_((bm(),Pq),u),85)):c_(pX,e)?(ME(),l=Uf(p_((Oy(),xX),u),153)):c_(vX,e)?(Bw(),l=Uf(p_((Ly(),CX),u),172)):c_(Jq,e)&&(cb(),l=Uf(p_((Xb(),NV),u),174))}catch(t){throw dl(t=r_(t),54)?new zi(uP+e+cP+n+")."):D_(t)}return void Ky(t,f=Uf(Uf(ZB.b,57).cb(e),79),l)}if(Uf($B.a,18).kb(e)){if(!n.lc())throw new zi(uP+e+cP+n+").");for(d=null,a=0,s=(c=BS(n.lc().a,"[\\[\\]\\s,]+")).length;a0&&_x(e.charCodeAt(n-1),CM);)--n;if(r>=n)throw new so("The given string does not contain any numbers.");if(2!=(i=BS(e.substr(r,n-r),",|;|\r|\n")).length)throw new so("Exactly two numbers are expected, "+i.length+" were found.");try{t.a=IT(gT(i[0])),t.b=IT(gT(i[1]))}catch(t){throw dl(t=r_(t),130)?new so(NM+t):D_(t)}}(p=new uo,n.lc().a),void Ky(t,f=Uf(Uf(tF.b,57).cb(e),79),p)}catch(t){throw dl(t=r_(t),29)?new zi("Invalid KVector format for property '"+e+"' "+n+"."):D_(t)}else if(c_(lj,e)||c_(kj,e))try{return function(t,e){var n,r,i,o,a;r=BS(e,",|;|\\(|\\)|\\[|\\]|\\{|\\}| |\t|\n"),Mg(t);try{for(n=0,o=0,i=0,a=0;n0&&(o%2==0?i=IT(r[n]):a=IT(r[n]),o>0&&o%2!=0&&Of(t,new ts(i,a)),++o),++n}catch(t){throw dl(t=r_(t),130)?new so("The given string does not match the expected format for vectors."+t):D_(t)}}(v=new Fr,n.lc().a),void Ky(t,f=Uf(Uf(tF.b,57).cb(e),79),v)}catch(t){throw dl(t=r_(t),29)?new zi("Invalid KVectorChain format for property '"+e+"' "+n+"."):D_(t)}else if(c_(Aj,e)||c_(oj,e))try{return function(t,e){var n,r,i,o,a,s,c,u;for(o=0;o<(si(),e.length)&&Ex(e.charCodeAt(o),TM);)++o;for(n=e.length;n>0&&Ex(e.charCodeAt(n-1),CM);)--n;if(o1?Mv(this,t-1):this,e},eI.Pc=function(){return Bh(this),this.b},eI.Qc=function(){return na(this)},eI.Rc=function(){return ra(this)},eI.Sc=function(){return 0!=(4&this.g)},eI.Tc=function(){return 0!=(1&this.g)},eI.w=function(){return(0!=(2&this.g)?"interface ":0!=(1&this.g)?"":"class ")+(Bh(this),this.n)},eI.g=0,ZN(119,72,{3:1,119:1,54:1,46:1},Vr),ZN(29,72,_I,qr,so),ZN(95,72,dI,Xr,ao),ZN(231,1,{3:1,231:1}),ZN(24,231,{3:1,23:1,24:1,231:1},Mn),eI.F=function(t){return function(t,e){return Bu(t.a,e.a)}(this,Uf(t,24))},eI.t=function(t){return dl(t,24)&&Uf(t,24).a==this.a},eI.v=function(){return this.a},eI.w=function(){return ca(this.a)},eI.a=0,cI={3:1,345:1,23:1,2:1},ZN(350,1,TI,ae),eI.$b=function(t,e){return function(t,e){return Tg((si(),t.toLowerCase()),e.toLowerCase())}(Lh(t),Lh(e))},ZN(257,95,dI,(function(t){ao.call(this,t)})),ZN(145,1,{23:1,145:1}),eI.F=function(t){return function(t,e){return function(t,e){return Tg((si(),t.toLowerCase()),e.toLowerCase())}(t.a,e.a)}(this,Uf(t,145))},eI.t=function(t){var e;return t===this||!!dl(t,145)&&(e=Uf(t,145),ji(this.a,e.a))},eI.v=function(){return dk(this.a)},eI.w=function(){return this.a},ZN(358,29,_I,(function(t){so.call(this,(si(),null==t?pI:t))})),ZN(256,29,{3:1,54:1,29:1,46:1,256:1},(function(t){so.call(this,(si(),null==t?pI:t))})),ZN(185,145,CI),ZN(289,185,CI,(function(t){Pn.call(this,t)})),eI.Zc=function(t,e,n){var r,i;for(r=Ty(aW,NI,26,n,12,1),i=0;in)throw new ao(AI)}for(a=Ty(aW,NI,26,o,12,1),l=0,s=0,c=0;c0;){if(128!=(192&(r=t[e+c++])))throw new so("Invalid UTF8 sequence at "+(e+c-1)+", byte="+(r>>>0).toString(16));i=i<<6|63&r}l+=Kk(i,a,l)}return a};var kD,TD=Bp(OI,"Object",1),CD=Bp(OI,"Throwable",46),ND=(Bp(OI,"Exception",54),Bp(OI,"RuntimeException",72),Bp(LI,"JavaScriptException",164),Bp(II,"StackTraceCreator/Collector",642),Bp(II,"StackTraceCreator/CollectorLegacy",356),Bp(II,"StackTraceCreator/CollectorModern",643),Bp(II,"StackTraceCreator/CollectorModernNoSourceMap",357),Bp(MI,"IOException",181),Bp(MI,"UnsupportedEncodingException",351),Bp(OI,"Class",288),Bp(OI,"ClassCastException",119),Bp(OI,"IllegalArgumentException",29),Bp(OI,"IndexOutOfBoundsException",95),Bp(OI,"Number",231),Bp(OI,"Integer",24)),AD=Bp(OI,"String",2);Bp(OI,"String/1",350),Bp(OI,"StringIndexOutOfBoundsException",257),Bp(PI,"Charset",145),Bp(PI,"IllegalCharsetNameException",358),Bp(PI,"UnsupportedCharsetException",256),Bp(DI,"EmulatedCharset",185),Bp(DI,"EmulatedCharset/LatinCharset",289),Bp(DI,"EmulatedCharset/UtfCharset",355),ZN(669,1,{3:1}),Bp(RI,"Optional",669),ZN(601,669,{3:1},c),eI.t=function(t){return t===this},eI.v=function(){return 2040732332},eI.w=function(){return"Optional.absent()"},eI.A=function(t){return Dd(t),ci(),kD},Bp(RI,"Absent",601);var SD=Ed(RI,"Function");ZN(208,1,{},co),eI.C=function(t){return Dp(t)},Bp(RI,"Joiner",208),ZN(363,208,{},Qf),eI.C=function(t){return Tl(this,t)},Bp(RI,"Joiner/1",363),ZN(362,1,{},nh),Bp(RI,"Joiner/MapJoiner",362);var OD,LD=Ed(RI,"Predicate");ZN(244,1,{68:1,244:1,3:1},Ge),eI.D=function(t){var e;for(e=0;e0},eI.H=function(){if(this.b>=this.c)throw new Ei;return oa(this,this.b++)},eI.L=function(){return this.b},eI.M=function(){if(this.b<=0)throw new Ei;return oa(this,--this.b)},eI.N=function(){return this.b-1},eI.b=0,eI.c=0,Bp(zI,"AbstractIndexedListIterator",378),ZN(428,108,YI),eI.G=function(){return uw(this)},eI.H=function(){return Cy(this)},eI.d=1,Bp(zI,"AbstractIterator",428),ZN(653,1,{144:1}),eI.P=function(){return this.f||(this.f=this.S())},eI.T=function(){return new Ia(this.P())},eI.t=function(t){return zx(this,t)},eI.v=function(){return this.P().v()},eI.V=function(){return 0==this.Y()},eI.W=function(){return ip(this)},eI.w=function(){return this.P().w()},Bp(zI,"AbstractMultimap",653),ZN(294,653,VI),eI.Q=function(){Ak(this)},eI.R=function(t){return qy(this.b,t)},eI.S=function(){return new Da(this,this.b)},eI.T=function(){return new Ml(this,this.b)},eI.$=function(){return dl(t=this.Z(),137)?(zg(),new Ql(Uf(t,137))):dl(t,18)?(zg(),new Ko(Uf(t,18))):dl(t,20)?gv(Uf(t,20)):(zg(),new er(t));var t},eI.U=function(t){return WT(this,t)},eI.X=function(t){return iN(this,t)},eI.Y=function(){return this.c},eI.c=0,Bp(zI,"AbstractMapBasedMultimap",294),ZN(600,294,VI),eI.Z=function(){return new cm(this.a)},eI.$=function(){return og(),og(),YD},eI.U=function(t){return Uf(WT(this,t),20)},eI.X=function(t){return Uf(iN(this,t),20)},eI.P=function(){return this.f||(this.f=new Da(this,this.b))},eI.t=function(t){return zx(this,t)},Bp(zI,"AbstractListMultimap",600),ZN(388,1,qI),eI.G=function(){return this.b.b||this.d.G()},eI.H=function(){var t;return this.d.G()||((t=Um(this.b)).yb(),this.a=Uf(t.zb(),19),this.d=this.a.mb()),this.d.H()},eI.I=function(){this.d.I(),this.a.V()&&Hy(this.b),--this.c.c},Bp(zI,"AbstractMapBasedMultimap/Itr",388),ZN(389,388,qI,rw),Bp(zI,"AbstractMapBasedMultimap/1",389),ZN(638,1,XI),eI.Q=function(){this.bb().Q()},eI._=function(t){return cT(this,t)},eI.R=function(t){return!!VT(this,t,!1)},eI.ab=function(t){var e,n;for(e=this.bb().mb();e.G();)if(n=Uf(e.H(),21).zb(),Zc(t)===Zc(n)||null!=t&&s_(t,n))return!0;return!1},eI.t=function(t){return TC(this,t)},eI.cb=function(t){return Kc(VT(this,t,!1))},eI.v=function(){return bx(this.bb())},eI.V=function(){return 0==this.Y()},eI.W=function(){return new Un(this)},eI.db=function(t,e){throw new No("Put not supported on this map")},eI.eb=function(t){return Kc(VT(this,t,!0))},eI.Y=function(){return this.bb().Y()},eI.w=function(){return rC(this)},eI.fb=function(){return new qn(this)},Bp(WI,"AbstractMap",638),ZN(654,638,XI),eI.bb=function(){return op(this)},eI.W=function(){return this.d||(this.d=new Ia(this))},eI.fb=function(){return qp(this)},Bp(zI,"Maps/ViewCachingAbstractMap",654),ZN(262,654,XI,Da),eI.cb=function(t){return function(t,e){var n;return(n=Uf(ck(t.a,e),19))?ak(t.b,e,n):null}(this,t)},eI.eb=function(t){return function(t,e){var n,r;return(n=Uf(Kd(t.a,e),19))?((r=t.b.Z()).jb(n),t.b.c-=n.Y(),n.Q(),r):null}(this,t)},eI.Q=function(){this.a==this.b.b?Ak(this.b):lp(new _v(this))},eI.R=function(t){return bk(this.a,t)},eI.hb=function(){return new He(this)},eI.gb=function(){return this.hb()},eI.t=function(t){return this===t||TC(this.a,t)},eI.v=function(){return bx(new Yn(this.a))},eI.W=function(){return ip(this.b)},eI.Y=function(){return Hs(this.a)},eI.w=function(){return rC(this.a)},Bp(zI,"AbstractMapBasedMultimap/AsMap",262),ZN(640,1,$I),eI.ib=function(t){return function(){throw new No("Add not supported on this collection")}()},eI.jb=function(t){return gw(this,t)},eI.Q=function(){yg(this)},eI.kb=function(t){return wE(this,t,!1)},eI.lb=function(t){return Qw(this,t)},eI.V=function(){return 0==this.Y()},eI.nb=function(t){return wE(this,t,!0)},eI.ob=function(){return this.pb(Ty(TD,GI,1,this.Y(),4,1))},eI.pb=function(t){return iT(this,t)},eI.w=function(){return nC(this)},Bp(WI,"AbstractCollection",640),ZN(641,640,ZI),eI.t=function(t){return CE(this,t)},eI.v=function(){return bx(this)},Bp(WI,"AbstractSet",641),ZN(649,641,ZI),Bp(zI,"Sets/ImprovedAbstractSet",649),ZN(655,649,ZI),eI.Q=function(){this.qb().Q()},eI.kb=function(t){return GE(this,t)},eI.V=function(){return this.qb().V()},eI.nb=function(t){var e;return!!this.kb(t)&&(e=Uf(t,21),this.qb().W().nb(e.yb()))},eI.Y=function(){return this.qb().Y()},Bp(zI,"Maps/EntrySet",655),ZN(387,655,ZI,He),eI.kb=function(t){return yk(new Yn(this.a.a),t)},eI.mb=function(){return new _v(this.a)},eI.qb=function(){return this.a},eI.nb=function(t){var e;return!!yk(new Yn(this.a.a),t)&&(e=Uf(t,21),function(t,e){var n,r;n=Uf(function(t,e){_l(),Dd(t);try{return Nl(e)?Pg(t,e):AN(t.d,e)}catch(t){if(dl(t=r_(t),119))return null;if(dl(t,76))return null;throw D_(t)}}(t.b,e),19),n&&(r=n.Y(),n.Q(),t.c-=r)}(this.a.b,e.yb()),!0)},Bp(zI,"AbstractMapBasedMultimap/AsMap/AsMapEntries",387),ZN(299,1,qI,_v),eI.H=function(){var t;return t=Um(this.b),this.a=Uf(t.zb(),19),function(t,e){var n;return n=e.yb(),_l(),new Ga(n,ak(t.b,n,Uf(e.zb(),19)))}(this.c,t)},eI.G=function(){return this.b.b},eI.I=function(){Hy(this.b),this.c.b.c-=this.a.Y(),this.a.Q()},Bp(zI,"AbstractMapBasedMultimap/AsMap/AsMapIterator",299),ZN(260,649,ZI,Ia),eI.Q=function(){this.b.Q()},eI.kb=function(t){return this.b.R(t)},eI.V=function(){return this.b.V()},eI.mb=function(){return _l(),_f(this.b.bb().mb(),(Wu(),qD))},eI.nb=function(t){return!!this.b.R(t)&&(this.b.eb(t),!0)},eI.Y=function(){return this.b.Y()},Bp(zI,"Maps/KeySet",260),ZN(386,260,ZI,Ml),eI.Q=function(){lp(new ja(this,this.b.bb().mb()))},eI.lb=function(t){return this.b.W().lb(t)},eI.t=function(t){return this===t||this.b.W().t(t)},eI.v=function(){return this.b.W().v()},eI.mb=function(){return new ja(this,this.b.bb().mb())},eI.nb=function(t){var e,n;return n=0,(e=Uf(this.b.eb(t),19))&&(n=e.Y(),e.Q(),this.a.c-=n),n>0},Bp(zI,"AbstractMapBasedMultimap/KeySet",386),ZN(300,1,qI,ja),eI.G=function(){return this.c.G()},eI.H=function(){return this.a=Uf(this.c.H(),21),this.a.yb()},eI.I=function(){var t;px(!!this.a),t=Uf(this.a.zb(),19),this.c.I(),this.b.a.c-=t.Y(),t.Q()},Bp(zI,"AbstractMapBasedMultimap/KeySet/1",300),ZN(216,640,$I,Ny),eI.ib=function(t){return function(t,e){var n,r;return nE(t),r=t.d.V(),(n=t.d.ib(e))&&(++t.f.c,r&&mf(t)),n}(this,t)},eI.jb=function(t){return function(t,e){var n,r,i;return!e.V()&&(i=t.Y(),(n=t.d.jb(e))&&(r=t.d.Y(),t.f.c+=r-i,0==i&&mf(t)),n)}(this,t)},eI.Q=function(){var t,e;0!=(e=(t=this).Y())&&(t.d.Q(),t.f.c-=e,pp(t))},eI.kb=function(t){return nE(this),this.d.kb(t)},eI.lb=function(t){return nE(this),this.d.lb(t)},eI.t=function(t){return function(t,e){return e===t||(nE(t),t.d.t(e))}(this,t)},eI.v=function(){return nE(this),this.d.v()},eI.mb=function(){return nE(this),new td(this)},eI.nb=function(t){return function(t,e){var n;return nE(t),(n=t.d.nb(e))&&(--t.f.c,pp(t)),n}(this,t)},eI.Y=function(){return nE(this),this.d.Y()},eI.w=function(){return nE(this),Uk(this.d)},Bp(zI,"AbstractMapBasedMultimap/WrappedCollection",216);var GD,BD,FD=Ed(WI,"List");ZN(297,216,KI,mp),eI.rb=function(t,e){var n;nE(this),n=this.d.V(),Uf(this.d,20).rb(t,e),++this.a.c,n&&mf(this)},eI.sb=function(t){return nE(this),Uf(this.d,20).sb(t)},eI.tb=function(){return nE(this),new zu(this)},eI.ub=function(t){return nE(this),new Gg(this,t)},eI.vb=function(t){var e;return nE(this),e=Uf(this.d,20).vb(t),--this.a.c,pp(this),e},eI.wb=function(t,e){return nE(this),Uf(this.d,20).wb(t,e)},eI.xb=function(t,e){return nE(this),bb(this.a,this.e,Uf(this.d,20).xb(t,e),this.b?this.b:this)},Bp(zI,"AbstractMapBasedMultimap/WrappedList",297),ZN(385,297,QI,wh),Bp(zI,"AbstractMapBasedMultimap/RandomAccessWrappedList",385),ZN(189,1,qI,td),eI.G=function(){return gp(this),this.b.G()},eI.H=function(){return gp(this),this.b.H()},eI.I=function(){this.b.I(),--this.d.f.c,pp(this.d)},Bp(zI,"AbstractMapBasedMultimap/WrappedCollection/WrappedIterator",189),ZN(298,189,JI,zu,Gg),eI.J=function(t){var e;e=0==function(t){return nE(t),t.d.Y()}(this.a),(gp(this),Uf(this.b,96)).J(t),++this.a.a.c,e&&mf(this.a)},eI.K=function(){return(gp(this),Uf(this.b,96)).K()},eI.L=function(){return(gp(this),Uf(this.b,96)).L()},eI.M=function(){return(gp(this),Uf(this.b,96)).M()},eI.N=function(){return(gp(this),Uf(this.b,96)).N()},eI.O=function(t){(gp(this),Uf(this.b,96)).O(t)},Bp(zI,"AbstractMapBasedMultimap/WrappedList/WrappedListIterator",298),ZN(295,216,ZI,Eh),Bp(zI,"AbstractMapBasedMultimap/WrappedSet",295),ZN(296,216,tM,kh),Bp(zI,"AbstractMapBasedMultimap/WrappedSortedSet",296),ZN(668,1,eM),eI.t=function(t){var e;return!!dl(t,21)&&(e=Uf(t,21),ng(this.yb(),e.yb())&&ng(this.zb(),e.zb()))},eI.v=function(){var t,e;return t=this.yb(),e=this.zb(),(null==t?0:K_(t))^(null==e?0:K_(e))},eI.Ab=function(t){throw new Kr},eI.w=function(){return this.yb()+"="+this.zb()},Bp(zI,nM,668),ZN(390,640,$I,Ye),eI.Q=function(){Ak(this.a)},eI.kb=function(t){return function(t,e){var n;for(n=ig(qp(t.P()));n.b.G();)if(Uf(Po(n,n.b.H()),19).kb(e))return!0;return!1}(this.a,t)},eI.mb=function(){return new rw(this.a)},eI.Y=function(){return this.a.c},Bp(zI,"AbstractMultimap/Values",390),ZN(656,640,rM),eI.ib=function(t){return this.Bb(t,1),!0},eI.Bb=function(t,e){throw new Kr},eI.jb=function(t){return function(t,e){var n,r;if(Or(),e.V())return!1;if(dl(e,207))for(r=Uf(e,207).bb().mb();r.G();)n=Uf(r.H(),83),t.Bb(n.Zb(),n.Yb());else zm(t,e.mb());return!0}(this,t)},eI.Q=function(){lp(this.Eb())},eI.kb=function(t){return this.Cb(t)>0},eI.Cb=function(t){var e,n;for(n=Xp(this).mb();n.G();)if(ng((e=Uf(n.H(),83)).Zb(),t))return e.Yb();return 0},eI.gb=function(){return new ze(this)},eI.bb=function(){return Xp(this)},eI.t=function(t){return function(t,e){var n,r,i;if(Or(),e===t)return!0;if(dl(e,207)){if(i=Uf(e,207),t.Y()!=i.Y()||Xp(t).Y()!=i.bb().Y())return!1;for(r=i.bb().mb();r.G();)if(n=Uf(r.H(),83),t.Cb(n.Zb())!=n.Yb())return!1;return!0}return!1}(this,t)},eI.v=function(){return Xp(this).v()},eI.V=function(){return Xp(this).V()},eI.mb=function(){return Or(),new Va(this,Xp(this).mb())},eI.nb=function(t){return this.Fb(t,1)>0},eI.Fb=function(t,e){throw new Kr},eI.Gb=function(t,e){var n,r;return Or(),Cm(e,"count"),(r=e-(n=this.Cb(t)))>0?this.Bb(t,r):r<0&&this.Fb(t,-r),n},eI.Hb=function(t,e,n){return function(t,e,n,r){return Or(),Cm(n,"oldCount"),Cm(r,"newCount"),t.Cb(e)==n&&(t.Gb(e,r),!0)}(this,t,e,n)},eI.Y=function(){return function(t){var e,n;for(Or(),n=0,e=Xp(t).mb();e.G();)n=w_(n,Uf(e.H(),83).Yb());return am(n)}(this)},eI.w=function(){return Uk(Xp(this))},Bp(zI,"AbstractMultiset",656),ZN(657,649,ZI),eI.Q=function(){this.Ib().Q()},eI.kb=function(t){var e;return!(!dl(t,83)||(e=Uf(t,83)).Yb()<=0||this.Ib().Cb(e.Zb())!=e.Yb())},eI.nb=function(t){var e,n,r;return!(!dl(t,83)||(e=(n=Uf(t,83)).Zb(),0==(r=n.Yb())))&&this.Ib().Hb(e,r,0)},Bp(zI,"Multisets/EntrySet",657),ZN(396,657,ZI,ze),eI.mb=function(){return this.a.Eb()},eI.Ib=function(){return this.a},eI.Y=function(){return this.a.Db()},Bp(zI,"AbstractMultiset/EntrySet",396),ZN(384,294,VI),eI.Z=function(){return new Sa(cx(this.a))},eI.$=function(){return lf(),ag(),KD},eI.U=function(t){return Uf(WT(this,t),18)},eI.X=function(t){return Uf(iN(this,t),18)},eI.P=function(){return this.f||(this.f=new Da(this,this.b))},eI.t=function(t){return zx(this,t)},Bp(zI,"AbstractSetMultimap",384),ZN(342,656,rM),Bp(zI,"AbstractSortedMultiset",342),ZN(280,600,VI,Vh),eI.a=0,Bp(zI,"ArrayListMultimap",280),ZN(159,17,iM);var HD,YD,zD,UD,VD,qD,XD,WD=tm(zI,"BoundType",159,RD,(function(){return qu(),Nx(Mo(WD,1),FI,159,0,[BD,GD])}));ZN(623,159,iM,fu),tm(zI,"BoundType/1",623,WD,null),ZN(624,159,iM,Mu),tm(zI,"BoundType/2",624,WD,null),ZN(234,1,aM),eI.w=function(){return t=this.c.mb(),Xu(),Zp(P_((Vu(),HD),Zp(new ta,91),t),93).a;var t},Bp(zI,"FluentIterable",234),ZN(170,234,aM,Tu),eI.mb=function(){return Ip(this)},Bp(zI,"FluentIterable/2",170),ZN(664,1,{}),eI.w=function(){return Uk(Lg(this.a.d).b)},Bp(zI,"ForwardingObject",664),ZN(665,664,$I),eI.ib=function(t){return Lg(this.a.d),ei()},eI.jb=function(t){return Lg(this.a.d),ni()},eI.Q=function(){Lg(this.a.d),ri()},eI.kb=function(t){return zs(Lg(this.a.d),t)},eI.lb=function(t){return Us(Lg(this.a.d),t)},eI.V=function(){return Lg(this.a.d).b.V()},eI.mb=function(){return new ir(Lg(this.a.d).b.mb())},eI.nb=function(t){return Lg(this.a.d),ii()},eI.Y=function(){return Lg(this.a.d).b.Y()},eI.ob=function(){return Zg(Lg(this.a.d))},eI.pb=function(t){return av(Lg(this.a.d),t)},Bp(zI,"ForwardingCollection",665),ZN(660,640,sM),eI.mb=function(){return this.Kb()},eI.ib=function(t){return function(){throw new Kr}()},eI.jb=function(t){return function(){throw new Kr}()},eI.Q=function(){!function(){throw new Kr}()},eI.kb=function(t){return null!=t&&wE(this,t,!1)},eI.Jb=function(){switch(this.Y()){case 0:return og(),og(),YD;case 1:return og(),new Ud(this.Kb().H());default:return new yp(this,this.ob())}},eI.nb=function(t){return function(){throw new Kr}()},Bp(zI,"ImmutableCollection",660),ZN(316,660,sM,bi),eI.mb=function(){return Am(this.a.mb())},eI.kb=function(t){return null!=t&&this.a.kb(t)},eI.lb=function(t){return this.a.lb(t)},eI.V=function(){return this.a.V()},eI.Kb=function(){return Am(this.a.mb())},eI.Y=function(){return this.a.Y()},eI.ob=function(){return this.a.ob()},eI.pb=function(t){return this.a.pb(t)},eI.w=function(){return Uk(this.a)},Bp(zI,"ForwardingImmutableCollection",316),ZN(87,660,cM),eI.mb=function(){return this.Kb()},eI.tb=function(){return this.Lb(0)},eI.ub=function(t){return this.Lb(t)},eI.xb=function(t,e){return this.Mb(t,e)},eI.rb=function(t,e){throw new Kr},eI.t=function(t){return function(t,e){var n,r,i;if(Zc(e)===Zc(Dd(t)))return!0;if(!dl(e,20))return!1;if(r=Uf(e,20),(i=t.Y())!=r.Y())return!1;if(dl(r,63)){for(n=0;n=(i=o.Y()))o.Q();else for(r=o.mb(),n=0;ne?1:0}(e.Yb(),t.Yb())}(Uf(t,83),Uf(e,83))},Bp(zI,"Multisets/1",398),ZN(397,658,{83:1,3:1},ld),eI.Yb=function(){return this.a},eI.Zb=function(){return this.b},eI.a=0,Bp(zI,"Multisets/ImmutableEntry",397),ZN(303,1,qI,Va),eI.G=function(){return this.d>0||this.c.G()},eI.H=function(){if(!(this.d>0||this.c.G()))throw new Ei;return 0==this.d&&(this.b=Uf(this.c.H(),83),this.f=this.d=this.b.Yb()),--this.d,this.a=!0,this.b.Zb()},eI.I=function(){px(this.a),1==this.f?this.c.I():this.e.Fb(this.b.Zb(),1),--this.f,this.a=!1},eI.a=!1,eI.d=0,eI.f=0,Bp(zI,"Multisets/MultisetIteratorImpl",303),ZN(622,659,{3:1,56:1},f),eI.$b=function(t,e){return function(t,e){return Dd(t),Dd(e),Hw(t,e)}(Uf(t,23),Uf(e,23))},eI.w=function(){return"Ordering.natural()"},Bp(zI,"NaturalOrdering",622),ZN(343,661,cM,yp),eI.ub=function(t){return Al(this.b,t)},eI.Sb=function(){return this.a},eI.sb=function(t){return Qc(this.b,t)},eI.Lb=function(t){return Al(this.b,t)},Bp(zI,"RegularImmutableAsList",343),ZN(559,275,uM,fg),eI.Tb=function(){return this.a},Bp(zI,"RegularImmutableBiMap",559),ZN(53,667,cM,sb),eI.Nb=function(){return this.a},Bp(zI,"RegularImmutableList",53),ZN(321,320,uM,Ri),Bp(zI,"RegularImmutableMap",321),ZN(265,315,lM,Ks),Bp(zI,"RegularImmutableSet",265),ZN(650,641,ZI),Bp(zI,"Sets/SetView",650),ZN(377,650,ZI,pf),eI.kb=function(t){return ka(this.b,t)&&ka(this.c,t)},eI.lb=function(t){return Qw(this.b,t)&&Qw(this.c,t)},eI.V=function(){return Im(this)},eI.mb=function(){return bp(new Vn(new Un(this.b.a).a.bb().mb()),this.a)},eI.Y=function(){return Jb(bp(new Vn(new Un(this.b.a).a.bb().mb()),this.a))},Bp(zI,"Sets/2",377),ZN(328,275,uM,Zv,Yy),eI.fb=function(){return lf(),new la(this.c)},eI.Tb=function(){return this.a||(this.a=new Yy(this.c,this.b,this))},eI.Ub=function(){return lf(),new la(this.c)},Bp(zI,"SingletonImmutableBiMap",328),ZN(127,667,cM,Ud),eI.Nb=function(){return this.a},Bp(zI,"SingletonImmutableList",127),ZN(135,663,lM,la),eI.mb=function(){return Xu(),new Xe(this.a)},eI.kb=function(t){return s_(this.a,t)},eI.Kb=function(){return Xu(),new Xe(this.a)},eI.Y=function(){return 1},Bp(zI,"SingletonImmutableSet",135),ZN(285,342,{207:1,3:1,22:1,19:1},Dv,lk),eI.Bb=function(t,e){return hN(this,t,e)},eI.Cb=function(t){return ST(this,t)},eI.Db=function(){return am(Fx(this,($u(),QD)))},eI.Eb=function(){return new Pl(this)},eI.Fb=function(t,e){return XN(this,t,e)},eI.Gb=function(t,e){return QT(this,t,e)},eI.Hb=function(t,e,n){var r,i,o;return Cm(n,"newCount"),Cm(e,"oldCount"),Uc(hh(this.b,t)),(o=this.c.a)?(i=Ty(iW,vM,26,1,12,1),r=gO(o,this.d,t,e,n,i),jd(this.c,o,r),i[0]==e):0==e&&(n>0&&hN(this,t,n),!0)},eI.Y=function(){return am(Fx(this,($u(),JD)))},Bp(zI,"TreeMultiset",285),ZN(619,658,{83:1},Xa),eI.Yb=function(){var t;return 0==(t=this.b.c)?ST(this.a,this.b.b):t},eI.Zb=function(){return this.b.b},Bp(zI,"TreeMultiset/1",619),ZN(620,1,qI,Pl),eI.H=function(){return function(t){var e;if(!dx(t))throw new Ei;return e=new Xa(t.c,t.a),t.b=e,t.a.i==t.c.a?t.a=null:t.a=t.a.i,e}(this)},eI.G=function(){return dx(this)},eI.I=function(){px(!!this.b),QT(this.c,this.b.b.b,0),this.b=null},Bp(zI,"TreeMultiset/2",620),ZN(205,17,bM);var eR=tm(zI,"TreeMultiset/Aggregate",205,RD,(function(){return $u(),Nx(Mo(eR,1),FI,205,0,[JD,QD])}));ZN(617,205,bM,du),eI._b=function(t){return t.c},eI.ac=function(t){return t?t.j:0},tm(zI,"TreeMultiset/Aggregate/1",617,eR,null),ZN(618,205,bM,wl),eI._b=function(t){return 1},eI.ac=function(t){return t?t.a:0},tm(zI,"TreeMultiset/Aggregate/2",618,eR,null),ZN(206,658,{83:1,206:1},Nw),eI.Yb=function(){return this.c},eI.Zb=function(){return this.b},eI.w=function(){return Or(),Ab(new ld(this.b,this.c))},eI.a=0,eI.c=0,eI.d=0,eI.j=0,Bp(zI,"TreeMultiset/AvlNode",206),ZN(616,1,{},d),Bp(zI,"TreeMultiset/Reference",616);var nR,rR=Bp(LI,"JavaScriptObject$",0);ZN(628,1,{}),Bp(LI,"Scheduler",628);var iR,oR,aR,sR,cR,uR,lR,hR,fR=0,dR=0,pR=-1;ZN(360,628,{},l),Bp(II,"SchedulerImpl",360),ZN(646,1,{}),eI.hc=function(){return null},eI.ic=function(){return null},eI.jc=function(){return null},eI.kc=function(){return null},eI.lc=function(){return null},Bp(mM,"JSONValue",646),ZN(214,646,{214:1},sr,en),eI.t=function(t){return!!dl(t,214)&&this.a==Uf(t,214).a},eI.gc=function(){return gr},eI.v=function(){return fh(this.a)},eI.hc=function(){return this},eI.w=function(){var t,e,n;for(n=new $o("["),e=0,t=this.a.length;e0&&(n.a+=","),ru(n,Sm(this,e));return n.a+="]",n.a},Bp(mM,"JSONArray",214),ZN(292,646,{},nn),eI.gc=function(){return vr},eI.ic=function(){return this},eI.w=function(){return yl(this.a)},eI.a=!1,Bp(mM,"JSONBoolean",292),ZN(371,72,dI,Hi),Bp(mM,"JSONException",371),ZN(435,646,{},b),eI.gc=function(){return xr},eI.w=function(){return pI},Bp(mM,"JSONNull",435),ZN(104,646,{104:1},rn),eI.t=function(t){return!!dl(t,104)&&this.a==Uf(t,104).a},eI.gc=function(){return br},eI.v=function(){return wv(oo(this.a))},eI.jc=function(){return this},eI.w=function(){return this.a+""},eI.a=0,Bp(mM,"JSONNumber",104),ZN(69,646,{69:1},Vi,on),eI.t=function(t){return!!dl(t,69)&&this.a==Uf(t,69).a},eI.gc=function(){return yr},eI.v=function(){return fh(this.a)},eI.kc=function(){return this},eI.w=function(){var t,e,n,r,i,o;for(o=new $o("{"),t=!0,n=0,r=(i=kw(this,Ty(AD,hI,2,0,5,1))).length;n>>28]|e[t>>24&15]<<4|e[t>>20&15]<<8|e[t>>16&15]<<12|e[t>>12&15]<<16|e[t>>8&15]<<20|e[t>>4&15]<<24|e[15&t]<<28);var t,e},eI.w=function(){return"("+this.a+","+this.b+")"},eI.a=0,eI.b=0;var gR=Bp(AM,"KVector",10);ZN(58,648,{3:1,5:1,22:1,19:1,58:1,20:1},lo),eI.ib=function(t){return Of(this,t)},eI.Q=function(){Mg(this)},eI.ub=function(t){return Sk(this,t)},eI.Y=function(){return this.b},eI.b=0,Bp(WI,"LinkedList",58),ZN(44,58,{44:1,286:1,3:1,5:1,22:1,19:1,58:1,20:1},Fr,Ah),eI.w=function(){var t,e,n;for(t=new $o("("),e=Sk(this,0);e.b!=e.d.c;)iu(t,(n=Uf(Sb(e),10)).a+","+n.b),e.b!=e.d.c&&(t.a+="; ");return t.a+=")",t.a},Bp(AM,"KVectorChain",44);var vR,bR,yR,mR,wR,xR,_R,ER,kR,TR=Ed(OM,"IProperty");ZN(131,1,{179:1,131:1,3:1},y),Bp(OM,"MapPropertyHolder",131),ZN(14,1,LM,Ld,Od,fd,If,kv,Qv),eI.F=function(t){return function(t,e){return Tg(t.b,e.mc())}(this,Uf(t,79))},eI.t=function(t){return mg(this,t)},eI.mc=function(){return this.b},eI.nc=function(){return this.c},eI.oc=function(){return this.d},eI.v=function(){return dk(this.b)},eI.w=function(){return this.b},Bp(OM,"Property",14),ZN(366,1,{23:1},m),eI.F=function(t){return-1},Bp(OM,"Property/1",366),ZN(367,1,{23:1},w),eI.F=function(t){return 1},Bp(OM,"Property/2",367),ZN(27,1,{27:1,22:1},es),eI.t=function(t){var e,n,r;return!!dl(t,27)&&(n=Uf(t,27),e=null==this.a?null==n.a:s_(this.a,n.a),r=null==this.b?null==n.b:s_(this.b,n.b),e&&r)},eI.v=function(){var t,e,n;return t=-65536&(e=null==this.a?0:K_(this.a)),e&xI^(-65536&(n=null==this.b?0:K_(this.b)))>>16&xI|t^(n&xI)<<16},eI.mb=function(){return new an(this)},eI.w=function(){return null==this.a&&null==this.b?"pair(null,null)":null==this.a?"pair(null,"+Uk(this.b)+")":null==this.b?"pair("+Uk(this.a)+",null)":"pair("+Uk(this.a)+","+Uk(this.b)+")"},Bp(IM,"Pair",27),ZN(431,1,qI,an),eI.G=function(){return!this.c&&(!this.b&&null!=this.a.a||null!=this.a.b)},eI.H=function(){if(!this.c&&!this.b&&null!=this.a.a)return this.b=!0,this.a.a;if(!this.c&&null!=this.a.b)return this.c=!0,this.a.b;throw new Ei},eI.I=function(){throw this.c&&null!=this.a.b?this.a.b=null:this.b&&null!=this.a.a&&(this.a.a=null),new $r},eI.b=!1,eI.c=!1,Bp(IM,"Pair/1",431),ZN(228,72,dI,Yi),Bp(MM,"UnsupportedConfigurationException",228),ZN(99,72,dI,zi),Bp(MM,"UnsupportedGraphException",99),ZN(103,17,{103:1,3:1,23:1,17:1},ns);var CR,NR,AR,SR,OR,LR,IR=tm(jM,"Alignment",103,RD,(function(){return fk(),Nx(Mo(IR,1),FI,103,0,[mR,_R,ER,kR,wR,xR])}));ZN(59,17,{59:1,3:1,23:1,17:1},us);var MR,PR,DR,RR,jR,GR=tm(jM,"Direction",59,RD,(function(){return E_(),Nx(Mo(GR,1),FI,59,0,[OR,SR,AR,NR,LR])}));ZN(107,17,{107:1,3:1,23:1,17:1},ls);var BR,FR,HR,YR,zR,UR=tm(jM,"EdgeLabelPlacement",107,RD,(function(){return Gw(),Nx(Mo(UR,1),FI,107,0,[jR,PR,DR,RR])}));ZN(122,17,{122:1,3:1,23:1,17:1},hs);var VR,qR,XR,WR,$R,ZR,KR,QR=tm(jM,"EdgeRouting",122,RD,(function(){return k_(),Nx(Mo(QR,1),FI,122,0,[zR,HR,FR,YR])}));ZN(133,17,{133:1,3:1,23:1,17:1},fs);var JR,tj,ej,nj,rj=tm(jM,"EdgeType",133,RD,(function(){return DT(),Nx(Mo(rj,1),FI,133,0,[ZR,WR,KR,qR,$R,XR])}));ZN(166,17,{166:1,3:1,23:1,17:1},ds);var ij,oj,aj,sj,cj,uj,lj,hj,fj,dj,pj,gj,vj,bj,yj,mj,wj,xj,_j,Ej,kj,Tj,Cj,Nj,Aj,Sj,Oj,Lj,Ij,Mj,Pj,Dj,Rj,jj,Gj,Bj,Fj,Hj,Yj,zj,Uj,Vj,qj,Xj,Wj,$j,Zj,Kj,Qj,Jj,tG,eG,nG,rG,iG,oG,aG,sG,cG,uG=tm(jM,"HierarchyHandling",166,RD,(function(){return T_(),Nx(Mo(uG,1),FI,166,0,[ej,tj,nj])}));ZN(41,17,{41:1,3:1,23:1,17:1},ps);var lG,hG,fG,dG,pG,gG,vG=tm(jM,"NodeLabelPlacement",41,RD,(function(){return yN(),Nx(Mo(vG,1),FI,41,0,[eG,tG,rG,cG,sG,aG,iG,oG,nG])}));ZN(100,17,{100:1,3:1,23:1,17:1},gs);var bG,yG,mG,wG,xG,_G,EG,kG=tm(jM,"PortAlignment",100,RD,(function(){return OE(),Nx(Mo(kG,1),FI,100,0,[gG,pG,hG,fG,dG])}));ZN(28,17,{28:1,3:1,23:1,17:1},vs);var TG,CG,NG,AG,SG=tm(jM,"PortConstraints",28,RD,(function(){return bT(),Nx(Mo(SG,1),FI,28,0,[EG,_G,xG,yG,wG,mG])}));ZN(149,17,{149:1,3:1,23:1,17:1},bs);var OG,LG,IG,MG,PG,DG,RG,jG,GG,BG,FG,HG,YG,zG,UG,VG,qG,XG,WG,$G,ZG,KG,QG=tm(jM,"PortLabelPlacement",149,RD,(function(){return Rm(),Nx(Mo(QG,1),FI,149,0,[AG,NG,CG])}));ZN(32,17,{32:1,3:1,23:1,17:1},ys);var JG,tB,eB,nB,rB,iB=tm(jM,"PortSide",32,RD,(function(){return mL(),Nx(Mo(iB,1),FI,32,0,[ZG,IG,LG,$G,KG])}));ZN(150,17,{150:1,3:1,23:1,17:1},ms);var oB,aB,sB,cB,uB,lB=tm(jM,"SizeConstraint",150,RD,(function(){return LE(),Nx(Mo(lB,1),FI,150,0,[nB,rB,eB,tB])}));ZN(139,17,{139:1,3:1,23:1,17:1},ws);var hB,fB,dB,pB,gB,vB,bB,yB,mB,wB,xB,_B,EB,kB,TB,CB,NB,AB,SB,OB,LB,IB,MB,PB=tm(jM,"SizeOptions",139,RD,(function(){return zT(),Nx(Mo(PB,1),FI,139,0,[cB,uB,sB,aB])}));ZN(62,1,{62:1},ac,_g),eI.t=function(t){var e;return!(null==t||!dl(t,62))&&(e=Uf(t,62),Ag(this.d,e.d)&&Ag(this.e,e.e)&&Ag(this.c,e.c)&&Ag(this.b,e.b))},eI.v=function(){return $x(Nx(Mo(TD,1),GI,1,4,[this.d,this.e,this.c,this.b]))},eI.w=function(){return"Rect[x="+this.d+",y="+this.e+",w="+this.c+",h="+this.b+"]"},eI.b=0,eI.c=0,eI.d=0,eI.e=0,Bp(YM,"Rectangle",62),ZN(283,62,{283:1,62:1},Hr),eI.a=0,Bp(zM,"LabelGroup",283),ZN(67,17,{67:1,3:1,23:1,17:1},kg);var DB,RB,jB,GB=tm(zM,"LabelLocation",67,RD,SE);ZN(225,17,{225:1,3:1,23:1,17:1},xs);var BB,FB,HB,YB,zB,UB=tm(zM,"TextAlignment",225,RD,(function(){return Hb(),Nx(Mo(UB,1),FI,225,0,[RB,DB,jB])}));ZN(589,1,{},bO),eI.a=0,eI.b=!1,eI.d=0,eI.f=0,eI.k=0,eI.r=0,eI.s=0,Bp(YM,"LabelAndNodeSizeProcessor/NodeData",589),ZN(171,17,{171:1,3:1,23:1,17:1},_s);var VB,qB,XB,WB,$B,ZB,KB,QB,JB,tF,eF,nF,rF,iF=tm(YM,"LabelSide",171,RD,(function(){return IE(),Nx(Mo(iF,1),FI,171,0,[zB,FB,HB])}));ZN(590,1,{},sn),eI.b=!0,eI.c=!0,eI.d=!0,eI.e=!0,Bp(YM,VM,590),ZN(121,1,XM),eI.t=function(t){var e;return!!dl(t,121)&&(e=Uf(t,121),this.d==e.d&&this.a==e.a&&this.b==e.b&&this.c==e.c)},eI.v=function(){var t;return t=wv(oo(this.b))<<16,(t|=wv(oo(this.a))&xI)^(wv(oo(this.c))<<16|wv(oo(this.d))&xI)},eI.w=function(){return"[top="+this.d+",left="+this.b+",bottom="+this.a+",right="+this.c+"]"},eI.a=0,eI.b=0,eI.c=0,eI.d=0,Bp(YM,"Spacing",121),ZN(232,121,XM,Yr,xh,qh),Bp(YM,"Spacing/Insets",232),ZN(65,121,{286:1,121:1,65:1,3:1,5:1},zr,_h,Xh),Bp(YM,"Spacing/Margins",65),ZN(364,1,{},Dk),eI.c=!1,eI.d=null,eI.g=null,Bp(aP,"JsonGraphImporter",364),ZN(417,14,LM,hc),Bp(aP,"LayoutOptionResolver/DummyProperty",417),ZN(348,1,{},Ee),Bp(aP,"RecursiveLGraphLayout",348),ZN(73,99,{73:1,3:1,54:1,46:1},Ui,$l,xp);var oF,aF,sF,cF,uF=Bp(aP,"UnsupportedJsonGraphException",73);ZN(380,1,{},dg),Bp(lP,"GraphConfigurator",380),ZN(49,1,{},iE),Bp(lP,"IntermediateProcessingConfiguration",49),ZN(365,1,{},jb),Bp(lP,"KlayLayered",365),ZN(577,1,{},Xw),eI.i=0,Bp(pP,"ComponentsToCGraphTransformer",577),ZN(578,1,{},A),eI.tc=function(t,e){return zo(t.wc(),e.wc())},eI.uc=function(t,e){return zo(t.xc(),e.xc())},Bp(pP,"ComponentsToCGraphTransformer/1",578),ZN(25,1,{25:1}),eI.k=0,eI.o=null,eI.p=!0,eI.r=dP;var lF,hF,fF,dF,pF,gF=Bp(gP,"CNode",25);ZN(198,25,{198:1,25:1},rl,ow),eI.vc=function(){this.b.d=this.j.d,this.b.e=this.j.e},eI.wc=function(){return null!=this.a?oo(this.a):this.c.i},eI.xc=function(){return null!=this.a?oo(this.a):this.c.i},eI.w=function(){return""},Bp(pP,"ComponentsToCGraphTransformer/CRectNode",198),ZN(549,1,{},S),Bp(pP,"OneDimensionalComponentsCompaction",549),ZN(550,1,hM,O),eI.B=function(t){return vx(),Vd(),0!=Uf(Uf(t,27).a,25).f.f?AX:NX},Bp(pP,"OneDimensionalComponentsCompaction/lambda$0$Type",550),ZN(551,1,hM,L),eI.B=function(t){return vx(),Vd(),lE(Uf(Uf(t,27).a,25).n,Uf(Uf(t,27).b,59))||0!=Uf(Uf(t,27).a,25).f.f&&lE(Uf(Uf(t,27).a,25).n,Uf(Uf(t,27).b,59))?AX:NX},Bp(pP,"OneDimensionalComponentsCompaction/lambda$1$Type",551),ZN(324,1,{},_p),Bp(gP,"CGraph",324),ZN(78,1,{78:1},ZE),eI.b=0,eI.c=0,eI.d=0,eI.f=0,eI.i=!0,eI.j=dP,Bp(gP,"CGroup",78),ZN(470,1,{},I),eI.tc=function(t,e){return Fo(t.wc(),e.wc())},eI.uc=function(t,e){return Fo(t.xc(),e.xc())},Bp(gP,"ISpacingsHandler/1",470),ZN(323,1,{},mN),eI.e=!1;var vF=Bp(gP,"OneDimensionalCompactor",323);ZN(554,1,hM,_),eI.B=function(t){return Wd(),Vd(),0!=Uf(Uf(t,27).a,25).f.f?AX:NX},Bp(gP,"OneDimensionalCompactor/lambda$0$Type",554),ZN(335,1,{},Ff),eI.a=!1,eI.b=!1,eI.c=!1,eI.d=!1,Bp(gP,"Quadruplet",335),ZN(587,1,{},E),eI.Cc=function(t){var e,n,r,i,o,a,s,c,u,l,h,f,d,p,g,v;for(l=fP,r=new Kn(t.a.b);r.an.j.d||n.j.d==i.j.d&&n.j.c0&&(Lf(t.c,new gf(e.c,e.d,t.d)),t.b=e.d)}(this,Uf(t,48))},eI.b=0,Bp(yP,"RectilinearConvexHull/MaximalElementsEventHandler",243),ZN(571,1,TI,M),eI.$b=function(t,e){return rg(t,e)},Bp(yP,"RectilinearConvexHull/MaximalElementsEventHandler/lambda$0$Type",571),ZN(570,1,{160:1},ey),eI.Ec=function(t){!function(t,e){var n;t.d&&(e.c!=t.e.c||function(t,e){return jw(),t==yF&&e==mF||t==yF&&e==wF||t==xF&&e==wF||t==xF&&e==mF}(t.e.b,e.b))&&(Lf(t.f,t.d),t.a=t.d.d+t.d.c,t.d=null,t.e=null),function(t){return t==yF||t==mF}(e.b)?t.c=e:t.b=e,(e.b==(jw(),yF)&&!e.a||e.b==mF&&e.a||e.b==wF&&e.a||e.b==xF&&!e.a)&&t.c&&t.b&&(n=new _g(t.a,t.c.d,e.c-t.a,t.b.d-t.c.d),t.d=n,t.e=e)}(this,Uf(t,48))},eI.a=0,eI.b=null,eI.c=null,eI.d=null,eI.e=null,Bp(yP,"RectilinearConvexHull/RectangleEventHandler",570),ZN(572,1,TI,P),eI.$b=function(t,e){return Fb(),Uf(t,48).c==Uf(e,48).c?Ox(Uf(e,48).d,Uf(t,48).d):Ox(Uf(t,48).c,Uf(e,48).c)},Bp(yP,"RectilinearConvexHull/lambda$0$Type",572),ZN(573,1,TI,D),eI.$b=function(t,e){return Fb(),Uf(t,48).c==Uf(e,48).c?Ox(Uf(t,48).d,Uf(e,48).d):Ox(Uf(t,48).c,Uf(e,48).c)},Bp(yP,"RectilinearConvexHull/lambda$1$Type",573),ZN(574,1,TI,R),eI.$b=function(t,e){return Fb(),Uf(t,48).c==Uf(e,48).c?Ox(Uf(e,48).d,Uf(t,48).d):Ox(Uf(e,48).c,Uf(t,48).c)},Bp(yP,"RectilinearConvexHull/lambda$2$Type",574),ZN(575,1,TI,j),eI.$b=function(t,e){return Fb(),Uf(t,48).c==Uf(e,48).c?Ox(Uf(t,48).d,Uf(e,48).d):Ox(Uf(e,48).c,Uf(t,48).c)},Bp(yP,"RectilinearConvexHull/lambda$3$Type",575),ZN(576,1,TI,G),eI.$b=function(t,e){return function(t,e){var n;if(Fb(),t.c==e.c){if(t.b==e.b||function(t,e){return jw(),t==yF&&e==xF||t==xF&&e==yF||t==wF&&e==mF||t==mF&&e==wF}(t.b,e.b)){if(n=function(t){return t==yF||t==xF}(t.b)?1:-1,t.a&&!e.a)return n;if(!t.a&&e.a)return-n}return Bu(t.b.e,e.b.e)}return Ox(t.c,e.c)}(t,e)},Bp(yP,"RectilinearConvexHull/lambda$4$Type",576),ZN(469,1,{},Tb),Bp(yP,"Scanline",469),ZN(662,1,{}),Bp(wP,"AbstractGraphPlacer",662),ZN(222,1,{222:1},Kh),Bp(wP,"ComponentGroup",222),ZN(434,662,{},Mr),eI.Fc=function(t,e){var n,r,i,o,a,s,c,u,l,h,f,d;if(this.a.c=Ty(TD,GI,1,0,4,1),e.b.c=Ty(TD,GI,1,0,4,1),t.V())return e.e.a=0,void(e.e.b=0);for(M_(e,i=Uf(t.sb(0),55)),r=t.mb();r.G();)z_(this,Uf(r.H(),55));for(f=new uo,d=2*Uf(kx(i,($L(),wq)),15).a,s=new Kn(this.a);s.ah&&(x=0,_+=l+m,l=0),iS(o,x+(p=o.d).a,_+p.b),p.a=0,p.b=0,n=Fo(n,x+b.a),l=Fo(l,b.b),x+=b.a+m;if(e.e.a=n,e.e.b=_+l,v=Uf(kx(e,wq),15).a,io(oo(Sh(kx(i,(ZL(),Hq)))))){for(GL(r=new B,t,v),u=t.mb();u.G();)Ih(Lc(Uf(u.H(),55).d),r.e);Ih(Lc(e.e),r.a)}gy(e,t)}else(y=Uf(t.sb(0),55))!=e&&(e.b.c=Ty(TD,GI,1,0,4,1),gS(e,y,0,0),M_(e,y),kd(e.a,y.a),e.e.a=y.e.a,e.e.b=y.e.b)},Bp(wP,"SimpleRowGraphPlacer",432),ZN(433,1,TI,H),eI.$b=function(t,e){return function(t,e){var n;return 0==(n=e.k-t.k)?Ox(t.e.a*t.e.b,e.e.a*e.e.b):n}(Uf(t,55),Uf(e,55))},Bp(wP,"SimpleRowGraphPlacer/1",433),ZN(369,1,kP,ke),eI.sc=function(t,e){UL(t,e)},Bp(TP,"CompoundGraphPostprocessor",369),ZN(370,1,mP,Y),eI.D=function(t){var e;return!!(e=Uf(kx(Uf(t,114).b,(JL(),kj)),44))&&0!=e.b},Bp(TP,"CompoundGraphPostprocessor/1",370),ZN(368,1,kP,Xc),eI.sc=function(t,e){ik(this,t,e)},Bp(TP,"CompoundGraphPreprocessor",368),ZN(187,1,{187:1},S_),eI.c=!1,Bp(TP,"CompoundGraphPreprocessor/ExternalPort",187),ZN(114,1,{114:1},vf),eI.w=function(){return ph(this.c)+":"+Pm(this.b)},Bp(TP,"CrossHierarchyEdge",114),ZN(310,1,TI,cn),eI.$b=function(t,e){return function(t,e,n){var r,i;return e.c==(nw(),Rq)&&n.c==Dq?-1:e.c==Dq&&n.c==Rq?1:(r=_E(e.a,t.a),i=_E(n.a,t.a),e.c==Rq?i-r:r-i)}(this,Uf(t,114),Uf(e,114))},Bp(TP,"CrossHierarchyEdgeComparator",310),ZN(147,131,{179:1,131:1,147:1,3:1}),eI.k=0,Bp(NP,"LGraphElement",147),ZN(12,147,{179:1,131:1,12:1,147:1,3:1},jg),eI.w=function(){return Pm(this)};var IF=Bp(NP,"LEdge",12);ZN(55,147,{179:1,131:1,55:1,147:1,3:1,22:1},Bm),eI.mb=function(){return new Kn(this.c)},eI.w=function(){return 0==this.c.c.length?"G-unlayered"+nC(this.b):0==this.b.c.length?"G-layered"+nC(this.c):"G[layerless"+nC(this.b)+", layers"+nC(this.c)+"]"};var MF=Bp(NP,"LGraph",55);ZN(273,1,{}),eI.pc=function(){return this.e.j},Bp(NP,"LGraphAdapters/AbstractLShapeAdapter",273),ZN(240,1,{627:1},un),eI.b=null,Bp(NP,"LGraphAdapters/LEdgeAdapter",240),ZN(325,1,{},Ts),eI.pc=function(){return this.a.e},eI.b=null,eI.c=!1,Bp(NP,"LGraphAdapters/LGraphAdapter",325),ZN(224,273,{129:1,224:1},ln),Bp(NP,"LGraphAdapters/LLabelAdapter",224),ZN(555,273,{626:1},Cs),eI.a=null,eI.b=null,eI.c=!1,Bp(NP,"LGraphAdapters/LNodeAdapter",555),ZN(556,273,{161:1},Ns),eI.a=null,eI.b=null,eI.c=null,eI.d=!1,Bp(NP,"LGraphAdapters/LPortAdapter",556),ZN(557,1,TI,z),eI.$b=function(t,e){return function(t,e){var n,r,i,o;if(0!=(o=t.g.e-e.g.e))return o;if(n=Uf(kx(t,(JL(),Yj)),24),r=Uf(kx(e,Yj),24),n&&r&&0!=(i=n.a-r.a))return i;switch(t.g.e){case 1:return Ox(t.i.a,e.i.a);case 2:return Ox(t.i.b,e.i.b);case 3:return Ox(e.i.a,t.i.a);case 4:return Ox(e.i.b,t.i.b);default:throw new ko(AP)}}(Uf(t,7),Uf(e,7))},Bp(NP,"LGraphAdapters/PortComparator",557),ZN(168,1,{168:1},je,Hg),eI.t=function(t){var e;return!!dl(t,168)&&(e=Uf(t,168),this.d==e.d&&this.a==e.a&&this.b==e.b&&this.c==e.c)},eI.v=function(){var t;return t=wv(oo(this.b))<<16,(t|=wv(oo(this.a))&xI)^(wv(oo(this.c))<<16|wv(oo(this.d))&xI)},eI.w=function(){return"Insets[top="+this.d+",left="+this.b+",bottom="+this.a+",right="+this.c+"]"},eI.a=0,eI.b=0,eI.c=0,eI.d=0,Bp(NP,"LInsets",168),ZN(165,147,{179:1,131:1,147:1,165:1,3:1}),Bp(NP,"LShape",165),ZN(33,165,{179:1,131:1,147:1,33:1,165:1,3:1},Eu),eI.w=function(){return null==this.a?"l_"+this.k:"l_"+this.a},Bp(NP,"LLabel",33),ZN(9,165,{179:1,131:1,147:1,9:1,165:1,3:1},Tk),eI.w=function(){return bv(this)};var PF,DF,RF,jF,GF,BF,FF=Bp(NP,"LNode",9);ZN(132,17,{132:1,3:1,23:1,17:1},Ss);var HF,YF,zF,UF,VF,qF,XF=tm(NP,"LNode/NodeType",132,RD,(function(){return RT(),Nx(Mo(XF,1),FI,132,0,[GF,jF,DF,BF,RF,PF])}));ZN(7,165,{179:1,131:1,147:1,7:1,165:1,3:1},TT),eI.w=function(){var t;return null==(t=ay(this))?"p_"+this.k:"p_"+t};var WF=Bp(NP,"LPort",7);ZN(399,1,mP,U),eI.D=function(t){return jh(t)},Bp(NP,"LPort/1",399),ZN(400,1,mP,V),eI.D=function(t){return Rh(t)},Bp(NP,"LPort/2",400),ZN(401,1,mP,q),eI.D=function(t){return Uf(t,7).g==(mL(),IG)},Bp(NP,"LPort/3",401),ZN(402,1,mP,X),eI.D=function(t){return Uf(t,7).g==(mL(),LG)},Bp(NP,"LPort/4",402),ZN(403,1,mP,W),eI.D=function(t){return Uf(t,7).g==(mL(),$G)},Bp(NP,"LPort/5",403),ZN(404,1,mP,$),eI.D=function(t){return Uf(t,7).g==(mL(),KG)},Bp(NP,"LPort/6",404),ZN(190,1,aM,hn),eI.mb=function(){return new fn(new Kn(this.a.b))},Bp(NP,"LPort/7",190),ZN(405,1,qI,fn),eI.H=function(){return Uf(Jv(this.a),12).c},eI.G=function(){return pl(this.a)},eI.I=function(){fp(this.a)},Bp(NP,"LPort/7/1",405),ZN(169,1,aM,dn),eI.mb=function(){return new pn(new Kn(this.a.e))},Bp(NP,"LPort/8",169),ZN(304,1,qI,pn),eI.H=function(){return Uf(Jv(this.a),12).d},eI.G=function(){return pl(this.a)},eI.I=function(){fp(this.a)},Bp(NP,"LPort/8/1",304),ZN(16,147,{179:1,131:1,147:1,16:1,3:1,22:1},Ep),eI.mb=function(){return new Kn(this.a)},eI.w=function(){return"L_"+Qy(this.b.c,this,0)+nC(this.a)},Bp(NP,"Layer",16),ZN(437,1,kP,Z),eI.sc=function(t,e){var n,r,i,o;for(HE(e,"Big nodes intermediate-processing",1),this.a=t,r=new Kn(this.a.c);r.ao?50:o,n=new Re,d=o+this.d,l=new Kn(h);l.ad){for(f=1,r=a.j.a;r>o;)++f,r=(a.j.a-(f-1)*this.d)/f;Lf(n,new Bb(this,a,f,r))}for(s=new Kn(n);s.aa?50:a,n=new Re,p=a+this.d,h=new Kn(f);h.ap){for(d=1,r=s.j.a;r>a;)++d,r=(s.j.a-(d-1)*this.d)/d;Lf(n,new nv(this,s,d))}for(c=new Kn(n);c.a0||l.g==KG&&l.b.c.length-l.e.c.length<0)){n=!1;break}if(l.g==KG)for(i=new Kn(l.e);i.a0&&(t.a=c+(f-1)*i,e.d.b+=t.a,e.e.b+=t.a),0!=d.a.Y()&&(f=fO(new wC(1,i),e,d,p,e.e.b+c-e.d.b))>0&&(e.e.b+=c+(f-1)*i)}(this,t,n),function(t){var e,n,r,i,o,a,s,c,u,l,h,f,d,p,g,v,b,y,m,w,x,_,E;for(y=new Re,l=new Kn(t.c);l.a0&&RS((_y(0,n.c.length),Uf(n.c[0],16)),t),n.c.length>1&&RS(Uf(gd(n,n.c.length-1),16),t),H_(e)},Bp(SP,"HierarchicalPortPositionProcessor",454),ZN(471,1,kP,ht),eI.sc=function(t,e){var n,r,i,o,a,s,c,u,l,h,f;for(HE(e,"Hyperedge merging",1),l=new Kv(t.c,0);l.b(d=f.c.length)+1?Lf(l,new es(c,(_y(h=(s+d)/2|0,a.c.length),Uf(a.c[h],9)))):d>s+1&&Lf(l,new es(c,(_y(h=((d-s)/2|0)-1,f.c.length),Uf(f.c[h],9))))}for(v=new Kn(l);v.a=2){for(c=!0,_y(1,s.c.length),p=Uf(s.c[1],16),h=new Kn(r.a);h.a=2){for(c=!0,g=Uf(gd(s,s.c.length-2),16),h=new Kn(i.a);h.an?c:n}t.e.b=c-u,t.d.b-=u,H_(e)},Bp(SP,"LayerSizeAndGraphHeightCalculator",496),ZN(497,1,kP,St),eI.sc=function(t,e){var n,r,i,o;for(HE(e,"Edge joining",1),n=io(oo(Sh(kx(t,(ZL(),Bq))))),r=new Kn(t.c);r.a0&&Lf(t.p,l),Lf(t.o,l);d=c+(e-=r),u+=e*t.e,Kb(t.a,s,W_(d)),Kb(t.b,s,u),t.j=Yo(t.j,d),t.k=Fo(t.k,u),t.d+=e,e+=g}}(this),this.q=Uf(kx(t,(ZL(),aX)),109),c=Uf(kx(this.g,sX),24).a,i=new Mt,this.q.e){case 2:case 1:default:LO(this,i);break;case 3:for(this.q=(nA(),aY),LO(this,i),a=0,o=new Kn(this.a);o.athis.j&&(this.q=tY,LO(this,i));break;case 4:for(this.q=(nA(),aY),LO(this,i),s=0,r=new Kn(this.b);r.athis.k&&(this.q=rY,LO(this,i));break;case 6:LO(this,new _n(wv(Mc(this.f.length*c/100))));break;case 5:LO(this,new En(wv(Mc(this.d*c/100))))}!function(t,e){var n,r,i,o,a,s;for(i=new Re,n=0;n<=t.i;n++)(r=new Ep(e)).k=t.i-n,i.c[i.c.length]=r;for(s=new Kn(t.o);s.a=2){for(p=!0,n=Uf(Jv(h=new Kn(o.f)),7);h.a(r-=t.a)?i:r}return i}(this,t),d=t.c.c.length,g=function(t,e){var n,r,i,o,a;for(r=0,n=new Kn(e.c);n.a(a=(i=Uf(Jv(o),9)).j.a+i.e.c+i.e.b+t.b)?r:a;return r}(this,t),N=d*g,(r=(i=Uf(kx(t,(JL(),pj)),59))==(E_(),AR)||i==SR||i==OR?Uf(kx(t,AV),15).a:1/Uf(kx(t,AV),15).a)>(n=N/p))H_(e);else{T=0,o=jP;do{f=o,o=(n=N/++T/(p*T))-r<=0?0-(n-r):n-r}while(n>r);for(fT?1:T)|0,w=E,O=!0;u=E&&(O=!0),++w,++u}for(l=new Kv(t.c,0);l.b "+this.a+" "+ph(this.c)},eI.a=0,eI.b=0,eI.d=0,Bp(SP,"SplineSelfLoopRouter/LoopPadding",91),ZN(521,1,mP,Jf),eI.D=function(t){return function(t,e){return!!function(t){switch(t.e){case 0:return iU;case 1:return eU;case 2:return tU;case 3:return sU;case 4:return aU;case 5:return fU;case 6:return hU;case 7:return oU;case 8:return nU;case 9:return rU;case 11:return uU;case 10:return cU;default:return lU}}(t.b).kb(e.c)&&(function(t){return t==Zz||t==Xz}(t.b)?!(Wf(e.d,t.c,t.a)&&Wf(e.a,t.c,t.a)):Wf(e.d,t.c,t.a)&&Wf(e.a,t.c,t.a))}(this,Uf(t,91))},eI.a=0,eI.c=0,Bp(SP,"SplineSelfLoopRouter/LoopPadding/EnclosingPredicate",521),ZN(520,1,TI,te),eI.$b=function(t,e){return function(t,e){return Ox(e.b,t.b)}(Uf(t,91),Uf(e,91))},Bp(SP,"SplineSelfLoopRouter/LoopPadding/MarginComparator",520),ZN(196,1,mP,kn),eI.D=function(t){return Uf(t,91).c==this.a},Bp(SP,"SplineSelfLoopRouter/LoopPadding/PortSidePredicate",196),ZN(195,1,{195:1},_b),eI.c=0,eI.d=0,eI.e=0,Bp(SP,"SplineSelfLoopRouter/SelfLoopEdge",195),ZN(519,1,TI,ee),eI.$b=function(t,e){return function(t,e){return t.d-e.d}(Uf(t,195),Uf(e,195))},Bp(SP,"SplineSelfLoopRouter/SelfLoopEdge/StepSizeComparator",519),ZN(82,25,{25:1,82:1},NN),eI.vc=function(){var t,e;for(t=Sk(this.a,0);t.b!=t.d.c;)Uf(Sb(t),10).a=this.j.d;for(e=Sk(this.c,0);e.b!=e.d.c;)Uf(Sb(e),10).a=this.j.d},eI.wc=function(){return this.b},eI.xc=function(){return this.e},eI.w=function(){return nC(new Un(this.d.a))},eI.b=0,eI.e=0,Bp(HP,"CLEdge",82),ZN(93,25,{25:1,93:1},rS),eI.vc=function(){this.b.i.a=this.j.d+this.b.e.b},eI.wc=function(){return this.b.g==(RT(),DF)?0:this.a},eI.xc=function(){return this.b.g==(RT(),DF)?0:this.c},eI.w=function(){return Uk(kx(this.b,($L(),oq)))},eI.a=0,eI.c=0,Bp(HP,"CLNode",93),ZN(175,17,{175:1,3:1,23:1,17:1},Ds);var dY,pY,gY,vY,bY,yY,mY,wY=tm(HP,"ConstraintCalculationStrategy",175,RD,(function(){return Nb(),Nx(Mo(wY,1),FI,175,0,[lY,hY])}));ZN(125,17,{125:1,3:1,23:1,17:1},Rs);var xY,_Y,EY,kY=tm(HP,"GraphCompactionStrategy",125,RD,(function(){return pC(),Nx(Mo(kY,1),FI,125,0,[yY,gY,mY,bY,vY,pY])}));ZN(455,1,kP,Uu),eI.sc=function(t,e){var n,r,i;if((r=Uf(kx(t,(ZL(),lX)),125))!=(pC(),yY)){switch(HE(e,"Horizontal Compaction",1),this.a=t,vo(n=new mN(function(t,e){var n,r,i;t.d=e,my(t.b),t.c=!1;t:for(n=new Kn(t.d.c);n.ao.j.e+o.j.b?d.d=!0:(d.d=!0,d.c=!0))),r.b!=r.d.c&&(e=n);d&&(a=Uf(Jp(y,c.d.f),25),e.ba.j.e+a.j.b?d.d=!0:(d.d=!0,d.c=!0))}for(u=Ip(q_(v));tE(u);)0!=(c=Uf(Nv(u),12)).a.b&&(e=Uf(Fl(c.a),10),c.d.g==(mL(),IG)&&((E=new LA(e,new ts(e.a,o.j.e),o,c)).c=!0,_.c[_.c.length]=E),c.d.g==$G&&((E=new LA(e,new ts(e.a,o.j.e+o.j.b),o,c)).d=!0,_.c[_.c.length]=E))}if(0!=_.c.length){for(zg(),xb(_,null),_y(0,_.c.length),i=new NN(Uf(_.c[0],142),t.d),f=1;f<_.c.length;f++)_y(f,_.c.length),x=Uf(_.c[f],142),!Xy(i.j.d,x.j)||DE(i.j.e+i.j.b,x.k)||DE(x.n,i.j.e)?(Lf(t.a.b,i),i=new NN(x,t.d)):_O(i,x);Lf(t.a.b,i)}_.c=Ty(TD,GI,1,0,4,1),function(t){var e,n,r,i;for(t.a.a.c=Ty(TD,GI,1,0,4,1),r=new Kn(t.a.b);r.a(r=Math.ceil(r))?0:r,e.o&&o.o&&dl(e,82)&&dl(o,82)&&!Im(Km(Uf(e,82).d,Uf(o,82).d))?(i=ol(new Gr,t.d),s=wv(Mc(o.g.a-e.g.a)),mA(ga(ba(ya(va(new jr,0>s?0:s),1),i),t.c[e.f.d])),mA(ga(ba(ya(va(new jr,0>-s?0:-s),1),i),t.c[o.f.d]))):(u=1,(dl(e,82)&&dl(o,93)||dl(o,82)&&dl(e,93))&&(u=2),mA(ga(ba(ya(va(new jr,wv(r)),u),t.c[e.f.d]),t.c[o.f.d]))))}(this),function(t){var e,n,r,i,o,a,s,c,u,l,h,f,d,p,g,v,b;for(_l(),l=new kr,c=new $s,r=new Kn(t.a.a.b);r.ae.j.d){if((d=t.c[e.f.d])==(v=t.c[h.f.d]))continue;mA(ga(ba(ya(va(new jr,1),100),d),v))}}}(this),function(t){var e,n,r,i,o,a;for(i=new lo,r=new Kn(t.d.a);r.a1)for(e=ol(wa(new Gr,t.b++),t.d),a=Sk(i,0);a.b!=a.d.c;)o=Uf(Sb(a),61),mA(ga(ba(ya(va(new jr,1),0),e),o))}(this),vS(Jh(this.d),new Uh),i=new Kn(this.a.a.b);i.a0&&(this.a[B.k]=Z++)}else{for(M=0,F=new Kn(C.f);F.a0&&++Z}for(et=0,S=0,I=e.length;S0;){for(Lu(z.b>0),Y=0,a=new Kn((B=Uf(z.a.sb(z.c=--z.b),7)).b);a.a0&&(B.g==(mL(),IG)?(this.a[B.k]=et,++et):(this.a[B.k]=et+P+R,++R))}et+=R}else{for(M=0,F=new Kn(C.f);F.a0&&++et}for(H=new kr,p=new Ji,N=0,O=t.length;Nl.c&&(l.c=U)):B.f.d==$&&(Ul.d&&(l.d=U));for(Hk(g,0,g.length,(ec(),ec(),HX)),tt=Ty(iW,vM,26,g.length,12,1),n=Ty(iW,vM,26,et+1,12,1),b=0;b0;)x%2>0&&(r+=it[x+1]),++it[x=(x-1)/2|0];for(k=Ty(CY,GI,158,2*g.length,0,1),w=0;we.f?1:t.ge.g?1:t.b-e.b}(this,Uf(t,204))},eI.b=0,eI.c=0,eI.d=0,eI.f=0,eI.g=0;var TY=Bp(YP,"BetweenLayerHyperedgeAllCrossingsCounter/Hyperedge",204);ZN(158,1,{158:1,23:1},Eg),eI.F=function(t){return function(t,e){return t.ce.c?1:t.be.b?1:t.a!=e.a?t.a.b-e.a.b:0==t.d&&1==e.d?-1:1==t.d&&0==e.d?1:0}(this,Uf(t,158))},eI.b=0,eI.c=0,eI.d=0;var CY=Bp(YP,"BetweenLayerHyperedgeAllCrossingsCounter/HyperedgeCorner",158);ZN(611,339,{},Xi),eI.Gc=function(t,e){var n,r,i,o,a,s,c,u,l,h,f,d,p,g,v,b,y,m,w,x,_,E;for(E=0,i=0,a=t[0].d,m=e[0].d,u=0,h=e.length;u0;){for(Lu(y.b>0),b=0,r=new Kn((g=Uf(y.a.sb(y.c=--y.b),7)).b);r.a0&&(g.g==(mL(),IG)?(this.a[g.k]=E,++E):(this.a[g.k]=E+d+p,++p),i+=b)}E+=p}else{for(f=0,v=new Kn(s.f);v.a0&&(++E,i+=f)}for(w=Ty(iW,vM,26,i,12,1),o=0,c=0,l=t.length;c0;)o%2>0&&(r+=s[o+1]),++s[o=(o-1)/2|0];return r}(E,i,w),n},Bp(YP,"BetweenLayerStraightEdgeAllCrossingsCounter",611),ZN(338,1,{},gC),eI.b=0,eI.e=!1,Bp(YP,"CrossingMatrixFiller",338),ZN(447,1,kP,ne),eI.sc=function(t,e){var n,r;HE(e,"Greedy switch crossing reduction",1),this.e=Uf(kx(t,(ZL(),Qq)),110),t.c.c.length<2||this.e==(TO(),lV)||(function(t,e){var n,r,i,o,a,s,c,u;for(t.f=e,i=e.c.c.length,t.a=Ty(FF,hI,51,i,0,2),t.d=Ty(FF,hI,51,i,0,2),t.g=Ty(FF,hI,51,i,0,2),a=new Kv(e.c,0);a.bPh(t.d,Gu(e.a,e.b))?-1:t.c==e.c&&Gu(t.a,t.b)==Gu(t.a,t.b)?0:1}(this,Uf(t,226))},eI.w=function(){return"ComparableEdgeAndPort [port="+this.b+", edge="+this.a+", portPosition="+this.c+"]"},eI.c=0,Bp(YP,"InLayerEdgeTwoNodeCrossingCounter/ComparableEdgeAndPort",226),ZN(612,1,{},tT),eI.e=!0,eI.f=0,eI.g=0,eI.k=!1,Bp(YP,"NorthSouthEdgeAllCrossingsCounter",612),ZN(615,1,{},qw),eI.b=0,eI.d=0,eI.e=!1,Bp(YP,"NorthSouthEdgeNeighbouringNodeCrossingsCounter",615),ZN(143,1,aM,zh),eI.mb=function(){return bA(this)},eI.b=0,Bp(YP,"PortIterable",143),ZN(344,1,qI,Lv),eI.H=function(){return Uf(dp(this.a),7)},eI.G=function(){return this.a.b>0},eI.I=function(){throw new Kr},Bp(YP,"PortIterable/1",344),ZN(336,1,{},BT),Bp(YP,"SwitchDecider",336),ZN(89,1,{89:1},re),eI.w=function(){return"NEdge[id="+this.b+" w="+this.f+" d="+this.a+"]"},eI.a=1,eI.b=0,eI.e=!1,eI.f=0;var NY=Bp(UP,"NEdge",89);ZN(157,1,{},jr),Bp(UP,"NEdge/NEdgeBuilder",157),ZN(278,1,{},Rr),Bp(UP,"NGraph",278),ZN(61,1,{61:1},Rb),eI.b=0,eI.d=-1,eI.e=0,eI.i=-1,eI.j=!1;var AY,SY,OY=Bp(UP,"NNode",61);ZN(333,13,xP,Ur),eI.rb=function(t,e){++this.d,xy(t,this.c.length),Ac(this.c,t,e)},eI.ib=function(t){return Tp(this,t)},eI.jb=function(t){return++this.d,ox(this,t)},eI.Q=function(){++this.d,this.c=Ty(TD,GI,1,0,4,1)},eI.vb=function(t){return++this.d,yy(this,t)},eI.nb=function(t){return Du(this,t)},Bp(UP,"NNode/ChangeAwareArrayList",333),ZN(199,1,{},Gr),Bp(UP,"NNode/NNodeBuilder",199),ZN(595,1,{},ie),eI.a=!1,eI.f=yI,eI.j=0,Bp(UP,"NetworkSimplex",595),ZN(193,17,{180:1,193:1,3:1,23:1,17:1},js),eI.rc=function(){switch(this.e){case 0:return new Mf;case 1:return new _e;default:throw new so("No implementation is available for the cycle breaker "+(null!=this.d?this.d:""+this.e))}};var LY,IY,MY,PY,DY,RY,jY=tm(qP,"CycleBreakingStrategy",193,RD,(function(){return Vg(),Nx(Mo(jY,1),FI,193,0,[AY,SY])}));ZN(539,1,XP,Mf),eI.qc=function(t){return IY},eI.sc=function(t,e){var n,r,i,o,a,s,c,u,l,h,f,d,p,g,v,b,y,m,w,x,_,E,k,T,C,N,A,S,O,L;for(HE(e,"Greedy cycle removal",1),L=(b=t.b).c.length,this.a=Ty(iW,vM,26,L,12,1),this.c=Ty(iW,vM,26,L,12,1),this.b=Ty(iW,vM,26,L,12,1),s=0,g=new Kn(b);g.a0?T+1:1);for(i=new Kn(w.e);i.a0?T+1:1)}0==this.c[s]?Of(this.d,d):0==this.a[s]&&Of(this.e,d),++s}for(f=-1,h=1,u=new Re,C=Uf(kx(t,($L(),bq)),154);L>0;){for(;0!=this.d.b;)A=Uf(wf(this.d),9),this.b[A.k]=f--,PS(this,A),--L;for(;0!=this.e.b;)S=Uf(wf(this.e),9),this.b[S.k]=h++,PS(this,S),--L;if(L>0){for(l=kI,v=new Kn(b);v.a=l&&(y>l&&(u.c=Ty(TD,GI,1,0,4,1),l=y),u.c[u.c.length]=d);c=Uf(gd(u,$k(C,u.c.length)),9),this.b[c.k]=h++,PS(this,c),--L}}for(N=b.c.length+1,s=0;sthis.b[O]&&(QS(n,!0),Ky(t,HV,(Vd(),Vd(),AX)));this.a=null,this.c=null,this.b=null,Mg(this.e),Mg(this.d),H_(e)},Bp(qP,"GreedyCycleBreaker",539),ZN(540,1,XP,_e),eI.qc=function(t){return MY},eI.sc=function(t,e){var n,r,i,o,a,s,c,u,l,h,f,d;for(HE(e,"Interactive cycle breaking",1),u=new Re,h=new Kn(t.b);h.a0&&LC(this,a,u);for(r=new Kn(u);r.a(a=s+u.j.a)?s+1:a,g=new Kv(n,0),r=null;g.b=a){Lu(g.b>0),g.a.sb(g.c=--g.b);break}d.a>s&&(r?(ox(r.b,d.b),r.a=Fo(r.a,d.a),ug(g)):(Lf(d.b,u),d.c=zo(d.c,s),d.a=Fo(d.a,a),r=d))}r||((r=new Br).c=s,r.a=a,ef(g,r),Lf(r.b,u))}for(o=t.c,c=0,p=new Kn(n);p.a0&&(n+=a.i.a+a.j.a/2,++u),l=new Kn(a.f);l.a1&&(t.c[l]=!0):y.g==KG&&y.e.c.length+y.b.c.length>1&&(t.d[l]=!0)}g.g==(RT(),BF)&&(++s[l],o[l]=!0)}for(n=!0,p=!0,a=0;a0;N++){c=(u=0!=LN(C,1))?0:g-1,s=this.b[c],k=0!=LN(C,1)?_:y,rE(s,i,u,!1,!0),o=yI,a=!0;do{if(Dw(this.b,this.k),T=o,o=0,o+=im(this.f,s,c),u){for(v=1;v=0;v--)l=this.b[v],by(k,s,(nw(),Dq)),rE(l,i,!1,!a,!1),o+=im(this.f,l,v),this.c[v]||this.d[v+1]?o+=QL(this.e,l,s):o+=zL(this.i,l,s),s=l;c=0}a=!1,u=!u}while(o0);(or?o:r;if(o>a){for(l=yE(t,n).mb();l.G();)f[(u=Uf(l.H(),7)).k]=e+zN(n,u.g)-a;return o-a}return 0}switch(n.e){case 1:for(i=0,s=0,h=new Kn(t.f);h.a"),te.e?1:t.fe.f?1:fh(t)-fh(e)}(this,Uf(t,197))},eI.b=0,eI.c=0,eI.e=0,eI.f=0;var tz=Bp(rD,"HyperedgeCrossingsCounter/Hyperedge",197);ZN(156,1,{156:1,23:1},Bg),eI.F=function(t){return function(t,e){return t.ce.c?1:t.be.b?1:t.a!=e.a?fh(t.a)-fh(e.a):t.d==(hb(),nz)&&e.d==ez?-1:t.d==ez&&e.d==nz?1:0}(this,Uf(t,156))},eI.b=0,eI.c=0;var ez,nz,rz=Bp(rD,"HyperedgeCrossingsCounter/HyperedgeCorner",156);ZN(242,17,{242:1,3:1,23:1,17:1},sc);var iz,oz,az,sz,cz=tm(rD,"HyperedgeCrossingsCounter/HyperedgeCorner/Type",242,RD,(function(){return hb(),Nx(Mo(cz,1),FI,242,0,[nz,ez])}));ZN(545,1,XP,Ae),eI.qc=function(t){return Uf(kx(t,($L(),WV)),18).kb((KA(),nV))?iz:null},eI.sc=function(t,e){var n;for(HE(e,"Interactive node placement",1),this.a=Uf(kx(t,($L(),xq)),134),n=new Kn(t.c);n.a(C=Uf(kx(n,($L(),gq)),24).a)?h:C;for(r=new Kn(k.e);r.a(C=Uf(kx(n,($L(),gq)),24).a)?E:C}Ky(m,az,W_(h)),Ky(m,sz,W_(E))}for(v=0,f=new Kn(e.c);f.a=0){for(c=null,s=new Kv(l.a,u+1);s.b0&&u[r]&&(p=rf(t.b,u[r],c)),g=Fo(g,i.d.c.b+p);for(o=new Kn(l.f);o.aw)?(c=2,a=yI):0==c?(c=1,a=_):(c=0,a=_):(f=_>=a||a-_0?(l=Uf(gd(h.d.a,o-1),9),E=Tf(t.b,h,l),g=h.i.b-h.e.d-(l.i.b+l.j.b+l.e.a+E)):g=h.i.b-h.e.d,c=g0?E:0,d.c=n,d.d=Uf(Jp(m,u.c.f),61),Tp(d.c.g,d),Tp(d.d.c,d),(C=new re).f=jk(u),C.a=E<0?-E:0,C.c=n,C.d=Uf(Jp(m,u.d.f),61),Tp(C.c.g,C),Tp(C.d.c,C));for(i=Uf(kx(t,(ZL(),gX)),24).a*wv(Math.sqrt(y)),vS(bo(yo(Jh(r),i),!1),Mw(e,1)),g=new Kn(r.a);g.aa&&(a=Uf(kx(n,gq),24).a);for(r=Ip(q_(s));tE(r);)n=Uf(Nv(r),12),s.d!=n.c.f.d&&Uf(kx(n,($L(),gq)),24).a==a&&Lf(u,new es(n.c.f,n));xb(u,t.c),Id(t.b,s.k,u)}}(h,t),h.f=Ol(h.d),function(t,e){var n,r,i,o,a,s,c,u;for(o=new Kn(e.c);o.aa&&(a=Uf(kx(n,gq),24).a);for(r=Ip(X_(s));tE(r);)n=Uf(Nv(r),12),s.d!=n.d.f.d&&Uf(kx(n,($L(),gq)),24).a==a&&Lf(u,new es(n.d.f,n));xb(u,t.c),Id(t.f,s.k,u)}}(h,t),h}(t),this.a=io(oo(Sh(kx(t,(ZL(),Vq))))),this.e=Zc(kx(t,Kq))===Zc((MT(),VU)),function(t,e){var n,r,i,o,a,s,c,u,l,h,f,d,p,g,v,b,y,m;if(!((g=e.c.c.length)<3)){for(d=Ty(iW,vM,26,g,12,1),h=0,l=new Kn(e.c);l.aa)&&Np(t.c,Uf(v.b,12));++s}o=a}}}(this,t),Cm(4,dM),f=new cm(4),Uf(kx(t,Kq),124).e){case 3:d=new yA(t,this.d.d,(ub(),xz),(dv(),yz)),f.c[f.c.length]=d;break;case 1:p=new yA(t,this.d.d,(ub(),_z),(dv(),yz)),f.c[f.c.length]=p;break;case 4:b=new yA(t,this.d.d,(ub(),xz),(dv(),mz)),f.c[f.c.length]=b;break;case 2:y=new yA(t,this.d.d,(ub(),_z),(dv(),mz)),f.c[f.c.length]=y;break;default:d=new yA(t,this.d.d,(ub(),xz),(dv(),yz)),p=new yA(t,this.d.d,_z,yz),b=new yA(t,this.d.d,xz,mz),y=new yA(t,this.d.d,_z,mz),f.c[f.c.length]=b,f.c[f.c.length]=y,f.c[f.c.length]=d,f.c[f.c.length]=p}for(n=new pc(t,this.d),o=new Kn(f);o.a_[c]&&(p=c),l=new Kn(t.b.c);l.axN(r))&&(u=r);for(!u&&(_y(0,f.c.length),u=Uf(f.c[0],81)),h=new Kn(t.c);h.a0?1:r<0?-1:0)}(this,Uf(t,27),Uf(e,27))},Bp(aD,"NeighborhoodInformation/NeighborComparator",598),ZN(334,1,{}),Bp(aD,"ThresholdStrategy",334),ZN(602,334,{},ki),eI.Ic=function(t,e,n){return this.a.k==(ub(),_z)?fP:dP},eI.Jc=function(){},Bp(aD,"ThresholdStrategy/NullThresholdStrategy",602),ZN(249,1,{249:1},gc),eI.c=!1,eI.d=!1,Bp(aD,"ThresholdStrategy/Postprocessable",249),ZN(603,334,{},Ti),eI.Ic=function(t,e,n){var r,i,o;return i=e==n,r=this.a.a[n.k]==e,i||r?(o=t,this.a.c,dv(),i&&(o=sO(this,e,!0)),(o==1/0||o==-1/0)&&r&&(o=sO(this,n,!1)),o):t},eI.Jc=function(){for(var t,e,n;0!=this.d.b;)(e=tS(this,n=Uf(Jg(this.d),249))).a&&(t=e.a,this.c.a[t.c.f.d.k]!==this.c.a[t.d.f.d.k]&&(GN(this,n)||uu(this.e,n)));for(;0!=this.e.a.c.length;)GN(this,Uf(Ux(this.e),249))},Bp(aD,"ThresholdStrategy/SimpleThresholdStrategy",603),ZN(423,1,{180:1},ue),eI.rc=function(){switch(this.a.e){case 1:return new Yc;case 3:return new Me;default:return new Ie}},Bp(sD,"EdgeRouterFactory",423),ZN(538,1,XP,Ie),eI.qc=function(t){var e,n;return n=Uf(kx(t,($L(),WV)),18),e=new iE,n.kb((KA(),rV))&&(Iw(e,Iz),Iw(e,Pz)),(n.kb(oV)||io(oo(Sh(kx(t,(ZL(),Zq))))))&&(Iw(e,Pz),n.kb(aV)&&Iw(e,Dz)),n.kb(nV)&&Iw(e,Lz),n.kb(cV)&&Iw(e,Rz),n.kb(iV)&&Iw(e,Mz),n.kb(JU)&&Iw(e,Sz),n.kb(eV)&&Iw(e,Oz),e},eI.sc=function(t,e){var n,r,i,o,a,s,c,u,l,h,f,d;HE(e,"Orthogonal edge routing",1),f=Uf(kx(t,($L(),xq)),134),io(oo(Sh(kx(t,(JL(),dj))))),l=new wC(0,f.a),d=0,o=new Kv(t.c,0),a=null,s=null;do{u=(c=o.b0?(n=f.b+(h-1)*f.a,c&&(n+=f.b),n"+this.b},eI.c=0,Bp(sD,"OrthogonalRoutingGenerator/Dependency",118),ZN(80,1,{80:1,23:1},Ww),eI.F=function(t){return function(t,e){return t.d-e.d}(this,Uf(t,80))},eI.t=function(t){var e;return!!dl(t,80)&&(e=Uf(t,80),this.d==e.d)},eI.v=function(){return this.d},eI.w=function(){var t,e,n,r;for(t=new $o("{"),r=new Kn(this.g);r.aEP&&(i=new ts(c,h),Of(n.a,i),$A(this.a,n,t,i,!1),o=new ts(l,h),Of(n.a,o),$A(this.a,n,t,o,!1))},eI.Lc=function(t){return t.f.i.a+t.i.a+t.a.a},eI.Mc=function(){return mL(),$G},eI.Nc=function(){return mL(),IG},Bp(sD,"OrthogonalRoutingGenerator/NorthToSouthRoutingStrategy",580),ZN(581,1,{},jn),eI.Kc=function(t,e){var n,r,i,o,a,s,c,u,l,h;for(h=e-t.i*this.a.c,s=new Kn(t.g);s.aEP&&(i=new ts(c,h),Of(n.a,i),$A(this.a,n,t,i,!1),o=new ts(l,h),Of(n.a,o),$A(this.a,n,t,o,!1))},eI.Lc=function(t){return t.f.i.a+t.i.a+t.a.a},eI.Mc=function(){return mL(),IG},eI.Nc=function(){return mL(),$G},Bp(sD,"OrthogonalRoutingGenerator/SouthToNorthRoutingStrategy",581),ZN(579,1,{},Gn),eI.Kc=function(t,e){var n,r,i,o,a,s,c,u,l,h;for(h=e+t.i*this.a.c,s=new Kn(t.g);s.aEP&&(i=new ts(h,c),Of(n.a,i),$A(this.a,n,t,i,!0),o=new ts(h,l),Of(n.a,o),$A(this.a,n,t,o,!0))},eI.Lc=function(t){return t.f.i.b+t.i.b+t.a.b},eI.Mc=function(){return mL(),LG},eI.Nc=function(){return mL(),KG},Bp(sD,"OrthogonalRoutingGenerator/WestToEastRoutingStrategy",579),ZN(535,1,XP,Yc),eI.qc=function(t){var e,n;return n=Uf(kx(t,($L(),WV)),18),e=new iE,(n.kb((KA(),oV))||io(oo(Sh(kx(t,(ZL(),Zq))))))&&(Iw(e,Bz),n.kb(aV)&&Iw(e,Fz)),n.kb(JU)&&Iw(e,jz),n.kb(eV)&&Iw(e,Gz),e},eI.sc=function(t,e){var n,r,i,o,a,s,c,u,l,h,f,d,p,g,v,b,y,m,w,x;for(HE(e,"Polyline edge routing",1),h=Uf(kx(t,($L(),wq)),15).a,n=Uf(kx(t,(ZL(),$q)),15).a,v=0,0!=t.c.c.length&&(v=.4*n*(b=FN(Uf(gd(t.c,0),16)))),o=new Kv(t.c,0);o.b0&&(v-=h),DO(i,v),c=0,l=new Kn(i.a);l.a(g-p<=0?0-(g-p):g-p)?s:g-p<=0?0-(g-p):g-p;switch(u.g.e){case 0:case 4:case 1:case 3:lO(this,u,v)}c=c>s?c:s}o.b(b=FN((Lu(o.b0),o.a.sb(o.c=--o.b)),a=.4*n*c,!r&&o.b0?((f=(b+1)*this.a)=0&&(O+=(b+2)*this.a)}g=w,c=u}while(w);for(r=new Kn(N);r.a("+this.c+") "+this.b},eI.c=0,Bp(cD,"SplineEdgeRouter/Dependency",117),ZN(223,17,{223:1,3:1,23:1,17:1},vc);var CU,NU,AU,SU,OU,LU,IU=tm(cD,"SplineEdgeRouter/SideToProcess",223,RD,(function(){return pv(),Nx(Mo(IU,1),FI,223,0,[EU,kU])}));ZN(77,1,{77:1,23:1},KC,MO),eI.F=function(t){return function(t,e){return t.i-e.i}(this,Uf(t,77))},eI.a=0,eI.b=0,eI.e=0,eI.f=!1,eI.i=0,eI.k=0,eI.n=0,eI.p=0,Bp(cD,"SplineEdgeRouter/SplineHyperEdge",77),ZN(123,17,{123:1,3:1,23:1,17:1},bc);var MU,PU,DU,RU,jU=tm(dD,"ContentAlignment",123,RD,(function(){return PT(),Nx(Mo(jU,1),FI,123,0,[LU,OU,SU,NU,CU,AU])}));ZN(218,17,{218:1,3:1,23:1,17:1},yc);var GU,BU,FU,HU,YU,zU=tm(dD,"EdgeConstraint",218,RD,(function(){return Dx(),Nx(Mo(zU,1),FI,218,0,[DU,PU,RU])}));ZN(115,17,{115:1,3:1,23:1,17:1},mc);var UU,VU,qU,XU,WU,$U,ZU,KU=tm(dD,"EdgeLabelSideSelection",115,RD,(function(){return mT(),Nx(Mo(KU,1),FI,115,0,[BU,GU,HU,FU,YU])}));ZN(124,17,{124:1,3:1,23:1,17:1},wc);var QU,JU,tV,eV,nV,rV,iV,oV,aV,sV,cV,uV=tm(dD,"FixedAlignment",124,RD,(function(){return MT(),Nx(Mo(uV,1),FI,124,0,[WU,XU,ZU,qU,$U,VU])}));ZN(113,17,{113:1,3:1,23:1,17:1},xc);var lV,hV,fV,dV,pV,gV,vV,bV,yV=tm(dD,"GraphProperties",113,RD,(function(){return KA(),Nx(Mo(yV,1),FI,113,0,[tV,nV,rV,iV,oV,aV,cV,JU,eV,sV])}));ZN(110,17,{110:1,3:1,23:1,17:1},kb),eI.a=!1,eI.b=!1,eI.c=!1;var mV,wV,xV,_V,EV=tm(dD,"GreedySwitchType",110,RD,(function(){return TO(),Nx(Mo(EV,1),FI,110,0,[hV,gV,fV,vV,dV,bV,pV,lV])}));ZN(140,17,{140:1,3:1,23:1,17:1},_c);var kV,TV,CV=tm(dD,"InLayerConstraint",140,RD,(function(){return jm(),Nx(Mo(CV,1),FI,140,0,[xV,_V,wV])}));ZN(174,17,{174:1,3:1,23:1,17:1},Ec);var NV,AV,SV,OV,LV,IV,MV,PV,DV,RV,jV,GV,BV,FV,HV,YV,zV,UV,VV,qV,XV,WV,$V,ZV,KV,QV,JV,tq,eq,nq,rq,iq,oq,aq,sq,cq,uq,lq,hq,fq,dq,pq,gq,vq,bq,yq,mq,wq,xq,_q,Eq,kq,Tq,Cq,Nq,Aq,Sq,Oq,Lq,Iq,Mq=tm(dD,"InteractiveReferencePoint",174,RD,(function(){return cb(),Nx(Mo(Mq,1),FI,174,0,[kV,TV])}));ZN(85,17,{85:1,3:1,23:1,17:1},kc);var Pq,Dq,Rq,jq,Gq=tm(dD,"LayerConstraint",85,RD,(function(){return qk(),Nx(Mo(Gq,1),FI,85,0,[Iq,Aq,Sq,Oq,Lq])}));ZN(219,17,{219:1,3:1,23:1,17:1},Tc);var Bq,Fq,Hq,Yq,zq,Uq,Vq,qq,Xq,Wq,$q,Zq,Kq,Qq,Jq,tX,eX,nX,rX,iX,oX,aX,sX,cX,uX,lX,hX,fX,dX,pX,gX,vX,bX,yX,mX,wX=tm(dD,"PortType",219,RD,(function(){return nw(),Nx(Mo(wX,1),FI,219,0,[jq,Dq,Rq])}));ZN(153,17,{153:1,3:1,23:1,17:1},Cc);var xX,_X,EX,kX,TX=tm(dD,"SelfLoopPlacement",153,RD,(function(){return ME(),Nx(Mo(TX,1),FI,153,0,[bX,mX,yX])}));ZN(134,1,{134:1},gL),eI.a=0,eI.b=0,eI.c=0,eI.d=0,eI.e=0,eI.f=0,Bp(dD,"Spacings",134),ZN(172,17,{172:1,3:1,23:1,17:1},Nc);var CX,NX,AX,SX=tm(dD,"WideNodesStrategy",172,RD,(function(){return Bw(),Nx(Mo(SX,1),FI,172,0,[_X,EX,kX])}));ZN(644,1,{}),Bp(MI,"OutputStream",644),ZN(645,644,{}),Bp(MI,"FilterOutputStream",645),ZN(291,645,{},he),Bp(MI,"PrintStream",291),ZN(255,1,{}),eI.w=function(){return this.a},Bp(OI,"AbstractStringBuilder",255),ZN(621,95,dI,Ci),Bp(OI,"ArrayIndexOutOfBoundsException",621),ZN(290,72,dI,Wr,Eo),Bp(OI,"ArrayStoreException",290),ZN(252,46,fI),Bp(OI,"Error",252),ZN(84,252,fI,Er,sm),Bp(OI,"AssertionError",84),aI={3:1,349:1,23:1};var OX=Bp(OI,"Boolean",349);sI={3:1,23:1,184:1,231:1};var LX=Bp(OI,"Double",184);ZN(15,231,{3:1,23:1,15:1,231:1},Fn,Hn),eI.F=function(t){return function(t,e){return Ox(t.a,e.a)}(this,Uf(t,15))},eI.t=function(t){return dl(t,15)&&Uf(t,15).a==this.a},eI.v=function(){return wv(this.a)},eI.w=function(){return t=this.a,si(),""+t;var t},eI.a=0;var IX,MX,PX=Bp(OI,"Float",15);ZN(101,72,dI,$r,ko),Bp(OI,"IllegalStateException",101),ZN(608,72,dI,To),Bp(OI,"NegativeArraySizeException",608),ZN(76,72,{3:1,54:1,76:1,46:1},Zr,Co),Bp(OI,"NullPointerException",76),ZN(130,29,{3:1,54:1,29:1,130:1,46:1},Ni,Zo),Bp(OI,"NumberFormatException",130),ZN(146,1,{3:1,146:1},Fg),eI.t=function(t){var e;return!!dl(t,146)&&(e=Uf(t,146),this.c==e.c&&Ag(this.d,e.d)&&Ag(this.a,e.a)&&Ag(this.b,e.b))},eI.v=function(){return $x(Nx(Mo(TD,1),GI,1,4,[W_(this.c),this.a,this.d,this.b]))},eI.w=function(){return this.a+"."+this.d+"("+(null!=this.b?this.b:"Unknown Source")+(this.c>=0?":"+this.c:"")+")"},eI.c=0;var DX,RX,jX,GX,BX,FX,HX,YX,zX=Bp(OI,"StackTraceElement",146);ZN(98,255,{345:1},ta,ea,$o),Bp(OI,"StringBuilder",98),ZN(45,72,{3:1,54:1,46:1,45:1},Kr,No),Bp(OI,"UnsupportedOperationException",45),ZN(213,638,XI),eI.Q=function(){my(this)},eI.R=function(t){return qy(this,t)},eI.ab=function(t){return Jx(this,t,this.e)||Jx(this,t,this.d)},eI.bb=function(){return new Yn(this)},eI.cb=function(t){return Jp(this,t)},eI.db=function(t,e){return wg(this,t,e)},eI.eb=function(t){return Kd(this,t)},eI.Y=function(){return Hs(this)},Bp(WI,"AbstractHashMap",213),ZN(120,641,ZI,Yn),eI.Q=function(){this.a.Q()},eI.kb=function(t){return fb(this,t)},eI.mb=function(){return new Xx(this.a)},eI.nb=function(t){var e;return!!fb(this,t)&&(e=Uf(t,21).yb(),this.a.eb(e),!0)},eI.Y=function(){return this.a.Y()},Bp(WI,"AbstractHashMap/EntrySet",120),ZN(148,1,qI,Xx),eI.H=function(){return Um(this)},eI.G=function(){return this.b},eI.I=function(){Hy(this)},eI.b=!1,Bp(WI,"AbstractHashMap/EntrySetIterator",148),ZN(162,1,qI,zn),eI.G=function(){return this.b0},eI.L=function(){return this.b},eI.M=function(){return dp(this)},eI.N=function(){return this.b-1},eI.O=function(t){nf(this,t)},Bp(WI,"AbstractList/ListIteratorImpl",43),ZN(258,647,KI,Wv),eI.rb=function(t,e){xy(t,this.b),this.c.rb(this.a+t,e),++this.b},eI.sb=function(t){return _y(t,this.b),this.c.sb(this.a+t)},eI.vb=function(t){var e;return _y(t,this.b),e=this.c.vb(this.a+t),--this.b,e},eI.wb=function(t,e){return _y(t,this.b),this.c.wb(this.a+t,e)},eI.Y=function(){return this.b},eI.a=0,eI.b=0,Bp(WI,"AbstractList/SubList",258),ZN(36,641,ZI,Un),eI.Q=function(){this.a.Q()},eI.kb=function(t){return this.a.R(t)},eI.mb=function(){return new Vn(this.a.bb().mb())},eI.nb=function(t){return!!this.a.R(t)&&(this.a.eb(t),!0)},eI.Y=function(){return this.a.Y()},Bp(WI,"AbstractMap/1",36),ZN(40,1,qI,Vn),eI.G=function(){return this.a.G()},eI.H=function(){return Uf(this.a.H(),21).yb()},eI.I=function(){this.a.I()},Bp(WI,"AbstractMap/1/1",40),ZN(211,640,$I,qn),eI.Q=function(){this.a.Q()},eI.kb=function(t){return this.a.ab(t)},eI.mb=function(){return new Xn(this.a.bb().mb())},eI.Y=function(){return this.a.Y()},Bp(WI,"AbstractMap/2",211),ZN(212,1,qI,Xn),eI.G=function(){return this.a.G()},eI.H=function(){return Uf(this.a.H(),21).zb()},eI.I=function(){this.a.I()},Bp(WI,"AbstractMap/2/1",212),ZN(210,1,{210:1,21:1}),eI.t=function(t){var e;return!!dl(t,21)&&(e=Uf(t,21),Ag(this.d,e.yb())&&Ag(this.e,e.zb()))},eI.yb=function(){return this.d},eI.zb=function(){return this.e},eI.v=function(){return Fu(this.d)^Fu(this.e)},eI.Ab=function(t){return bf(this,t)},eI.w=function(){return this.d+"="+this.e},Bp(WI,"AbstractMap/AbstractEntry",210),ZN(163,210,{210:1,163:1,21:1},Fc),Bp(WI,"AbstractMap/SimpleEntry",163),ZN(652,1,eM),eI.t=function(t){var e;return!!dl(t,21)&&(e=Uf(t,21),Ag(this.yb(),e.yb())&&Ag(this.zb(),e.zb()))},eI.v=function(){return Fu(this.yb())^Fu(this.zb())},eI.w=function(){return this.yb()+"="+this.zb()},Bp(WI,nM,652),ZN(639,638,XI),eI._=function(t){return Ey(this,t)},eI.R=function(t){return Rc(this,t)},eI.bb=function(){return new Wn(this)},eI.cb=function(t){return Kc(t_(this,t))},eI.W=function(){return new $n(this)},Bp(WI,"AbstractNavigableMap",639),ZN(287,641,ZI,Wn),eI.kb=function(t){return dl(t,21)&&Ey(this.b,Uf(t,21))},eI.mb=function(){return new ff(this.b)},eI.nb=function(t){var e;return!!dl(t,21)&&(e=Uf(t,21),jy(this.b,e))},eI.Y=function(){return this.b.c},Bp(WI,"AbstractNavigableMap/EntrySet",287),ZN(229,641,tM,$n),eI.Q=function(){fo(this.a)},eI.kb=function(t){return Rc(this.a,t)},eI.mb=function(){return new Zn(new ff(new th(this.a).b))},eI.nb=function(t){return!!Rc(this.a,t)&&(vg(this.a,t),!0)},eI.Y=function(){return this.a.c},Bp(WI,"AbstractNavigableMap/NavigableKeySet",229),ZN(230,1,qI,Zn),eI.G=function(){return Fs(this.a.a)},eI.H=function(){return gh(this.a).yb()},eI.I=function(){rd(this.a)},Bp(WI,"AbstractNavigableMap/NavigableKeySet/1",230),ZN(4,1,qI,Kn),eI.G=function(){return pl(this)},eI.H=function(){return Jv(this)},eI.I=function(){fp(this)},eI.a=0,eI.b=-1,Bp(WI,"ArrayList/1",4),ZN(94,647,gD,Qn),eI.kb=function(t){return-1!=function(t,e){var n,r;for(n=0,r=t.Y();n2e3&&(dR=t,pR=r.setTimeout(da,10)),0==fR++&&(function(t){var e,n;if(t.a){n=null;do{e=t.a,t.a=null,n=SC(e,n)}while(t.a);t.a=n}}((hi(),iR)),!0)}();try{return function(t,e,n){return t.apply(e,n)}(t,e,n)}finally{!function(t){t&&function(t){var e,n;if(t.b){n=null;do{e=t.b,t.b=null,n=SC(e,n)}while(t.b);t.b=n}}((hi(),iR)),--fR,t&&-1!=pR&&(function(t){r.clearTimeout(t)}(pR),pR=-1)}(i)}}(t,this,arguments)}},lW=lW=function(t,e,n,r){ho();var i=rI;function o(){for(var t=0;te&&(this.rect.x-=(this.labelWidth-e)/2,this.setWidth(this.labelWidth)),this.labelHeight>n&&("center"==this.labelPos?this.rect.y-=(this.labelHeight-n)/2:"top"==this.labelPos&&(this.rect.y-=this.labelHeight-n),this.setHeight(this.labelHeight))}}},u.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==i.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},u.prototype.transform=function(t){var e=this.rect.x;e>a.WORLD_BOUNDARY?e=a.WORLD_BOUNDARY:e<-a.WORLD_BOUNDARY&&(e=-a.WORLD_BOUNDARY);var n=this.rect.y;n>a.WORLD_BOUNDARY?n=a.WORLD_BOUNDARY:n<-a.WORLD_BOUNDARY&&(n=-a.WORLD_BOUNDARY);var r=new c(e,n),i=t.inverseTransformPoint(r);this.setLocation(i.x,i.y)},u.prototype.getLeft=function(){return this.rect.x},u.prototype.getRight=function(){return this.rect.x+this.rect.width},u.prototype.getTop=function(){return this.rect.y},u.prototype.getBottom=function(){return this.rect.y+this.rect.height},u.prototype.getParent=function(){return null==this.owner?null:this.owner.getParent()},t.exports=u},function(t,e,n){"use strict";function r(t,e){null==t&&null==e?(this.x=0,this.y=0):(this.x=t,this.y=e)}r.prototype.getX=function(){return this.x},r.prototype.getY=function(){return this.y},r.prototype.setX=function(t){this.x=t},r.prototype.setY=function(t){this.y=t},r.prototype.getDifference=function(t){return new DimensionD(this.x-t.x,this.y-t.y)},r.prototype.getCopy=function(){return new r(this.x,this.y)},r.prototype.translate=function(t){return this.x+=t.width,this.y+=t.height,this},t.exports=r},function(t,e,n){"use strict";var r=n(2),i=n(10),o=n(0),a=n(6),s=n(3),c=n(1),u=n(13),l=n(12),h=n(11);function f(t,e,n){r.call(this,n),this.estimatedSize=i.MIN_VALUE,this.margin=o.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=t,null!=e&&e instanceof a?this.graphManager=e:null!=e&&e instanceof Layout&&(this.graphManager=e.graphManager)}for(var d in f.prototype=Object.create(r.prototype),r)f[d]=r[d];f.prototype.getNodes=function(){return this.nodes},f.prototype.getEdges=function(){return this.edges},f.prototype.getGraphManager=function(){return this.graphManager},f.prototype.getParent=function(){return this.parent},f.prototype.getLeft=function(){return this.left},f.prototype.getRight=function(){return this.right},f.prototype.getTop=function(){return this.top},f.prototype.getBottom=function(){return this.bottom},f.prototype.isConnected=function(){return this.isConnected},f.prototype.add=function(t,e,n){if(null==e&&null==n){var r=t;if(null==this.graphManager)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(r)>-1)throw"Node already in graph!";return r.owner=this,this.getNodes().push(r),r}var i=t;if(!(this.getNodes().indexOf(e)>-1&&this.getNodes().indexOf(n)>-1))throw"Source or target not in graph!";if(e.owner!=n.owner||e.owner!=this)throw"Both owners must be this graph!";return e.owner!=n.owner?null:(i.source=e,i.target=n,i.isInterGraph=!1,this.getEdges().push(i),e.edges.push(i),n!=e&&n.edges.push(i),i)},f.prototype.remove=function(t){var e=t;if(t instanceof s){if(null==e)throw"Node is null!";if(null==e.owner||e.owner!=this)throw"Owner graph is invalid!";if(null==this.graphManager)throw"Owner graph manager is invalid!";for(var n=e.edges.slice(),r=n.length,i=0;i-1&&l>-1))throw"Source and/or target doesn't know this edge!";if(o.source.edges.splice(u,1),o.target!=o.source&&o.target.edges.splice(l,1),-1==(a=o.source.owner.getEdges().indexOf(o)))throw"Not in owner's edge list!";o.source.owner.getEdges().splice(a,1)}},f.prototype.updateLeftTop=function(){for(var t,e,n,r=i.MAX_VALUE,o=i.MAX_VALUE,a=this.getNodes(),s=a.length,c=0;c(t=u.getTop())&&(r=t),o>(e=u.getLeft())&&(o=e)}return r==i.MAX_VALUE?null:(n=null!=a[0].getParent().paddingLeft?a[0].getParent().paddingLeft:this.margin,this.left=o-n,this.top=r-n,new l(this.left,this.top))},f.prototype.updateBounds=function(t){for(var e,n,r,o,a,s=i.MAX_VALUE,c=-i.MAX_VALUE,l=i.MAX_VALUE,h=-i.MAX_VALUE,f=this.nodes,d=f.length,p=0;p(e=g.getLeft())&&(s=e),c<(n=g.getRight())&&(c=n),l>(r=g.getTop())&&(l=r),h<(o=g.getBottom())&&(h=o)}var v=new u(s,l,c-s,h-l);s==i.MAX_VALUE&&(this.left=this.parent.getLeft(),this.right=this.parent.getRight(),this.top=this.parent.getTop(),this.bottom=this.parent.getBottom()),a=null!=f[0].getParent().paddingLeft?f[0].getParent().paddingLeft:this.margin,this.left=v.x-a,this.right=v.x+v.width+a,this.top=v.y-a,this.bottom=v.y+v.height+a},f.calculateBounds=function(t){for(var e,n,r,o,a=i.MAX_VALUE,s=-i.MAX_VALUE,c=i.MAX_VALUE,l=-i.MAX_VALUE,h=t.length,f=0;f(e=d.getLeft())&&(a=e),s<(n=d.getRight())&&(s=n),c>(r=d.getTop())&&(c=r),l<(o=d.getBottom())&&(l=o)}return new u(a,c,s-a,l-c)},f.prototype.getInclusionTreeDepth=function(){return this==this.graphManager.getRoot()?1:this.parent.getInclusionTreeDepth()},f.prototype.getEstimatedSize=function(){if(this.estimatedSize==i.MIN_VALUE)throw"assert failed";return this.estimatedSize},f.prototype.calcEstimatedSize=function(){for(var t=0,e=this.nodes,n=e.length,r=0;r=this.nodes.length){var c=0;i.forEach((function(e){e.owner==t&&c++})),c==this.nodes.length&&(this.isConnected=!0)}}else this.isConnected=!0},t.exports=f},function(t,e,n){"use strict";var r,i=n(1);function o(t){r=n(5),this.layout=t,this.graphs=[],this.edges=[]}o.prototype.addRoot=function(){var t=this.layout.newGraph(),e=this.layout.newNode(null),n=this.add(t,e);return this.setRootGraph(n),this.rootGraph},o.prototype.add=function(t,e,n,r,i){if(null==n&&null==r&&null==i){if(null==t)throw"Graph is null!";if(null==e)throw"Parent node is null!";if(this.graphs.indexOf(t)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(t),null!=t.parent)throw"Already has a parent!";if(null!=e.child)throw"Already has a child!";return t.parent=e,e.child=t,t}i=n,n=t;var o=(r=e).getOwner(),a=i.getOwner();if(null==o||o.getGraphManager()!=this)throw"Source not in this graph mgr!";if(null==a||a.getGraphManager()!=this)throw"Target not in this graph mgr!";if(o==a)return n.isInterGraph=!1,o.add(n,r,i);if(n.isInterGraph=!0,n.source=r,n.target=i,this.edges.indexOf(n)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(n),null==n.source||null==n.target)throw"Edge source and/or target is null!";if(-1!=n.source.edges.indexOf(n)||-1!=n.target.edges.indexOf(n))throw"Edge already in source and/or target incidency list!";return n.source.edges.push(n),n.target.edges.push(n),n},o.prototype.remove=function(t){if(t instanceof r){var e=t;if(e.getGraphManager()!=this)throw"Graph not in this graph mgr";if(e!=this.rootGraph&&(null==e.parent||e.parent.graphManager!=this))throw"Invalid parent node!";for(var n,o=[],a=(o=o.concat(e.getEdges())).length,s=0;s=e.getRight()?n[0]+=Math.min(e.getX()-t.getX(),t.getRight()-e.getRight()):e.getX()<=t.getX()&&e.getRight()>=t.getRight()&&(n[0]+=Math.min(t.getX()-e.getX(),e.getRight()-t.getRight())),t.getY()<=e.getY()&&t.getBottom()>=e.getBottom()?n[1]+=Math.min(e.getY()-t.getY(),t.getBottom()-e.getBottom()):e.getY()<=t.getY()&&e.getBottom()>=t.getBottom()&&(n[1]+=Math.min(t.getY()-e.getY(),e.getBottom()-t.getBottom()));var o=Math.abs((e.getCenterY()-t.getCenterY())/(e.getCenterX()-t.getCenterX()));e.getCenterY()===t.getCenterY()&&e.getCenterX()===t.getCenterX()&&(o=1);var a=o*n[0],s=n[1]/o;n[0]a)return n[0]=r,n[1]=c,n[2]=o,n[3]=m,!1;if(io)return n[0]=s,n[1]=i,n[2]=b,n[3]=a,!1;if(ro?(n[0]=l,n[1]=h,E=!0):(n[0]=u,n[1]=c,E=!0):T===N&&(r>o?(n[0]=s,n[1]=c,E=!0):(n[0]=f,n[1]=h,E=!0)),-C===N?o>r?(n[2]=y,n[3]=m,k=!0):(n[2]=b,n[3]=v,k=!0):C===N&&(o>r?(n[2]=g,n[3]=v,k=!0):(n[2]=w,n[3]=m,k=!0)),E&&k)return!1;if(r>o?i>a?(A=this.getCardinalDirection(T,N,4),S=this.getCardinalDirection(C,N,2)):(A=this.getCardinalDirection(-T,N,3),S=this.getCardinalDirection(-C,N,1)):i>a?(A=this.getCardinalDirection(-T,N,1),S=this.getCardinalDirection(-C,N,3)):(A=this.getCardinalDirection(T,N,2),S=this.getCardinalDirection(C,N,4)),!E)switch(A){case 1:L=c,O=r+-p/N,n[0]=O,n[1]=L;break;case 2:O=f,L=i+d*N,n[0]=O,n[1]=L;break;case 3:L=h,O=r+p/N,n[0]=O,n[1]=L;break;case 4:O=l,L=i+-d*N,n[0]=O,n[1]=L}if(!k)switch(S){case 1:M=v,I=o+-_/N,n[2]=I,n[3]=M;break;case 2:I=w,M=a+x*N,n[2]=I,n[3]=M;break;case 3:M=m,I=o+_/N,n[2]=I,n[3]=M;break;case 4:I=y,M=a+-x*N,n[2]=I,n[3]=M}}return!1},i.getCardinalDirection=function(t,e,n){return t>e?n:1+n%4},i.getIntersection=function(t,e,n,i){if(null==i)return this.getIntersection2(t,e,n);var o,a,s,c,u,l,h,f=t.x,d=t.y,p=e.x,g=e.y,v=n.x,b=n.y,y=i.x,m=i.y;return 0==(h=(o=g-d)*(c=v-y)-(a=m-b)*(s=f-p))?null:new r((s*(l=y*b-v*m)-c*(u=p*d-f*g))/h,(a*u-o*l)/h)},i.angleOfVector=function(t,e,n,r){var i=void 0;return t!==n?(i=Math.atan((r-e)/(n-t)),n0?1:t<0?-1:0},r.floor=function(t){return t<0?Math.ceil(t):Math.floor(t)},r.ceil=function(t){return t<0?Math.floor(t):Math.ceil(t)},t.exports=r},function(t,e,n){"use strict";function r(){}r.MAX_VALUE=2147483647,r.MIN_VALUE=-2147483648,t.exports=r},function(t,e,n){"use strict";var r=function(){function t(t,e){for(var n=0;n0&&e;){for(s.push(u[0]);s.length>0&&e;){var l=s[0];s.splice(0,1),a.add(l);var h=l.getEdges();for(o=0;o-1&&u.splice(g,1)}a=new Set,c=new Map}else t=[]}return t},f.prototype.createDummyNodesForBendpoints=function(t){for(var e=[],n=t.source,r=this.graphManager.calcLowestCommonAncestor(t.source,t.target),i=0;i0){for(var i=this.edgeToDummyNodes.get(n),o=0;o=0&&e.splice(h,1),l.getNeighborsList().forEach((function(t){if(n.indexOf(t)<0){var e=r.get(t)-1;1==e&&c.push(t),r.set(t,e)}}))}n=n.concat(c),1!=e.length&&2!=e.length||(i=!0,o=e[0])}return o},f.prototype.setGraphManager=function(t){this.graphManager=t},t.exports=f},function(t,e,n){"use strict";function r(){}r.seed=1,r.x=0,r.nextDouble=function(){return r.x=1e4*Math.sin(r.seed++),r.x-Math.floor(r.x)},t.exports=r},function(t,e,n){"use strict";var r=n(4);function i(t,e){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}i.prototype.getWorldOrgX=function(){return this.lworldOrgX},i.prototype.setWorldOrgX=function(t){this.lworldOrgX=t},i.prototype.getWorldOrgY=function(){return this.lworldOrgY},i.prototype.setWorldOrgY=function(t){this.lworldOrgY=t},i.prototype.getWorldExtX=function(){return this.lworldExtX},i.prototype.setWorldExtX=function(t){this.lworldExtX=t},i.prototype.getWorldExtY=function(){return this.lworldExtY},i.prototype.setWorldExtY=function(t){this.lworldExtY=t},i.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},i.prototype.setDeviceOrgX=function(t){this.ldeviceOrgX=t},i.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},i.prototype.setDeviceOrgY=function(t){this.ldeviceOrgY=t},i.prototype.getDeviceExtX=function(){return this.ldeviceExtX},i.prototype.setDeviceExtX=function(t){this.ldeviceExtX=t},i.prototype.getDeviceExtY=function(){return this.ldeviceExtY},i.prototype.setDeviceExtY=function(t){this.ldeviceExtY=t},i.prototype.transformX=function(t){var e=0,n=this.lworldExtX;return 0!=n&&(e=this.ldeviceOrgX+(t-this.lworldOrgX)*this.ldeviceExtX/n),e},i.prototype.transformY=function(t){var e=0,n=this.lworldExtY;return 0!=n&&(e=this.ldeviceOrgY+(t-this.lworldOrgY)*this.ldeviceExtY/n),e},i.prototype.inverseTransformX=function(t){var e=0,n=this.ldeviceExtX;return 0!=n&&(e=this.lworldOrgX+(t-this.ldeviceOrgX)*this.lworldExtX/n),e},i.prototype.inverseTransformY=function(t){var e=0,n=this.ldeviceExtY;return 0!=n&&(e=this.lworldOrgY+(t-this.ldeviceOrgY)*this.lworldExtY/n),e},i.prototype.inverseTransformPoint=function(t){return new r(this.inverseTransformX(t.x),this.inverseTransformY(t.y))},t.exports=i},function(t,e,n){"use strict";var r=n(15),i=n(7),o=n(0),a=n(8),s=n(9);function c(){r.call(this),this.useSmartIdealEdgeLengthCalculation=i.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION,this.idealEdgeLength=i.DEFAULT_EDGE_LENGTH,this.springConstant=i.DEFAULT_SPRING_STRENGTH,this.repulsionConstant=i.DEFAULT_REPULSION_STRENGTH,this.gravityConstant=i.DEFAULT_GRAVITY_STRENGTH,this.compoundGravityConstant=i.DEFAULT_COMPOUND_GRAVITY_STRENGTH,this.gravityRangeFactor=i.DEFAULT_GRAVITY_RANGE_FACTOR,this.compoundGravityRangeFactor=i.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR,this.displacementThresholdPerNode=3*i.DEFAULT_EDGE_LENGTH/100,this.coolingFactor=i.DEFAULT_COOLING_FACTOR_INCREMENTAL,this.initialCoolingFactor=i.DEFAULT_COOLING_FACTOR_INCREMENTAL,this.totalDisplacement=0,this.oldTotalDisplacement=0,this.maxIterations=i.MAX_ITERATIONS}for(var u in c.prototype=Object.create(r.prototype),r)c[u]=r[u];c.prototype.initParameters=function(){r.prototype.initParameters.call(this,arguments),this.totalIterations=0,this.notAnimatedIterations=0,this.useFRGridVariant=i.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION,this.grid=[]},c.prototype.calcIdealEdgeLengths=function(){for(var t,e,n,r,a,s,c=this.getGraphManager().getAllEdges(),u=0;ui.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*i.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(t-i.ADAPTATION_LOWER_NODE_LIMIT)/(i.ADAPTATION_UPPER_NODE_LIMIT-i.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-i.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=i.MAX_NODE_DISPLACEMENT_INCREMENTAL):(t>i.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(i.COOLING_ADAPTATION_FACTOR,1-(t-i.ADAPTATION_LOWER_NODE_LIMIT)/(i.ADAPTATION_UPPER_NODE_LIMIT-i.ADAPTATION_LOWER_NODE_LIMIT)*(1-i.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=i.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(5*this.getAllNodes().length,this.maxIterations),this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},c.prototype.calcSpringForces=function(){for(var t,e=this.getAllEdges(),n=0;n0&&void 0!==arguments[0])||arguments[0],s=arguments.length>1&&void 0!==arguments[1]&&arguments[1],c=this.getAllNodes();if(this.useFRGridVariant)for(this.totalIterations%i.GRID_CALCULATION_CHECK_PERIOD==1&&a&&this.updateGrid(),o=new Set,t=0;t(c=e.getEstimatedSize()*this.gravityRangeFactor)||s>c)&&(t.gravitationForceX=-this.gravityConstant*i,t.gravitationForceY=-this.gravityConstant*o):(a>(c=e.getEstimatedSize()*this.compoundGravityRangeFactor)||s>c)&&(t.gravitationForceX=-this.gravityConstant*i*this.compoundGravityConstant,t.gravitationForceY=-this.gravityConstant*o*this.compoundGravityConstant)},c.prototype.isConverged=function(){var t,e=!1;return this.totalIterations>this.maxIterations/3&&(e=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2),t=this.totalDisplacement=s.length||u>=s[0].length))for(var l=0;lt}}]),t}();t.exports=o},function(t,e,n){"use strict";var r=function(){function t(t,e){for(var n=0;n2&&void 0!==arguments[2]?arguments[2]:1,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:-1,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:-1;!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.sequence1=e,this.sequence2=n,this.match_score=r,this.mismatch_penalty=i,this.gap_penalty=o,this.iMax=e.length+1,this.jMax=n.length+1,this.grid=new Array(this.iMax);for(var a=0;a=0;n--){var r=this.listeners[n];r.event===t&&r.callback===e&&this.listeners.splice(n,1)}},i.emit=function(t,e){for(var n=0;n{var r=n(852)(n(5639),"DataView");t.exports=r},1989:(t,e,n)=>{var r=n(1789),i=n(401),o=n(7667),a=n(1327),s=n(1866);function c(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e{var r=n(7040),i=n(4125),o=n(2117),a=n(7518),s=n(4705);function c(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e{var r=n(852)(n(5639),"Map");t.exports=r},3369:(t,e,n)=>{var r=n(4785),i=n(1285),o=n(6e3),a=n(9916),s=n(5265);function c(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e{var r=n(852)(n(5639),"Promise");t.exports=r},8525:(t,e,n)=>{var r=n(852)(n(5639),"Set");t.exports=r},8668:(t,e,n)=>{var r=n(3369),i=n(619),o=n(2385);function a(t){var e=-1,n=null==t?0:t.length;for(this.__data__=new r;++e{var r=n(8407),i=n(7465),o=n(3779),a=n(7599),s=n(4758),c=n(4309);function u(t){var e=this.__data__=new r(t);this.size=e.size}u.prototype.clear=i,u.prototype.delete=o,u.prototype.get=a,u.prototype.has=s,u.prototype.set=c,t.exports=u},2705:(t,e,n)=>{var r=n(5639).Symbol;t.exports=r},1149:(t,e,n)=>{var r=n(5639).Uint8Array;t.exports=r},577:(t,e,n)=>{var r=n(852)(n(5639),"WeakMap");t.exports=r},6874:t=>{t.exports=function(t,e,n){switch(n.length){case 0:return t.call(e);case 1:return t.call(e,n[0]);case 2:return t.call(e,n[0],n[1]);case 3:return t.call(e,n[0],n[1],n[2])}return t.apply(e,n)}},7412:t=>{t.exports=function(t,e){for(var n=-1,r=null==t?0:t.length;++n{t.exports=function(t,e){for(var n=-1,r=null==t?0:t.length,i=0,o=[];++n{var r=n(2118);t.exports=function(t,e){return!(null==t||!t.length)&&r(t,e,0)>-1}},1196:t=>{t.exports=function(t,e,n){for(var r=-1,i=null==t?0:t.length;++r{var r=n(2545),i=n(5694),o=n(1469),a=n(4144),s=n(5776),c=n(6719),u=Object.prototype.hasOwnProperty;t.exports=function(t,e){var n=o(t),l=!n&&i(t),h=!n&&!l&&a(t),f=!n&&!l&&!h&&c(t),d=n||l||h||f,p=d?r(t.length,String):[],g=p.length;for(var v in t)!e&&!u.call(t,v)||d&&("length"==v||h&&("offset"==v||"parent"==v)||f&&("buffer"==v||"byteLength"==v||"byteOffset"==v)||s(v,g))||p.push(v);return p}},9932:t=>{t.exports=function(t,e){for(var n=-1,r=null==t?0:t.length,i=Array(r);++n{t.exports=function(t,e){for(var n=-1,r=e.length,i=t.length;++n{t.exports=function(t,e,n,r){var i=-1,o=null==t?0:t.length;for(r&&o&&(n=t[++i]);++i{t.exports=function(t,e){for(var n=-1,r=null==t?0:t.length;++n{var r=n(371)("length");t.exports=r},6556:(t,e,n)=>{var r=n(9465),i=n(7813);t.exports=function(t,e,n){(void 0!==n&&!i(t[e],n)||void 0===n&&!(e in t))&&r(t,e,n)}},4865:(t,e,n)=>{var r=n(9465),i=n(7813),o=Object.prototype.hasOwnProperty;t.exports=function(t,e,n){var a=t[e];o.call(t,e)&&i(a,n)&&(void 0!==n||e in t)||r(t,e,n)}},8470:(t,e,n)=>{var r=n(7813);t.exports=function(t,e){for(var n=t.length;n--;)if(r(t[n][0],e))return n;return-1}},4037:(t,e,n)=>{var r=n(8363),i=n(3674);t.exports=function(t,e){return t&&r(e,i(e),t)}},3886:(t,e,n)=>{var r=n(8363),i=n(1704);t.exports=function(t,e){return t&&r(e,i(e),t)}},9465:(t,e,n)=>{var r=n(8777);t.exports=function(t,e,n){"__proto__"==e&&r?r(t,e,{configurable:!0,enumerable:!0,value:n,writable:!0}):t[e]=n}},5990:(t,e,n)=>{var r=n(6384),i=n(7412),o=n(4865),a=n(4037),s=n(3886),c=n(4626),u=n(278),l=n(8805),h=n(1911),f=n(8234),d=n(6904),p=n(4160),g=n(3824),v=n(9148),b=n(8517),y=n(1469),m=n(4144),w=n(6688),x=n(3218),_=n(2928),E=n(3674),k=n(1704),T="[object Arguments]",C="[object Function]",N="[object Object]",A={};A[T]=A["[object Array]"]=A["[object ArrayBuffer]"]=A["[object DataView]"]=A["[object Boolean]"]=A["[object Date]"]=A["[object Float32Array]"]=A["[object Float64Array]"]=A["[object Int8Array]"]=A["[object Int16Array]"]=A["[object Int32Array]"]=A["[object Map]"]=A["[object Number]"]=A[N]=A["[object RegExp]"]=A["[object Set]"]=A["[object String]"]=A["[object Symbol]"]=A["[object Uint8Array]"]=A["[object Uint8ClampedArray]"]=A["[object Uint16Array]"]=A["[object Uint32Array]"]=!0,A["[object Error]"]=A[C]=A["[object WeakMap]"]=!1,t.exports=function t(e,n,S,O,L,I){var M,P=1&n,D=2&n,R=4&n;if(S&&(M=L?S(e,O,L,I):S(e)),void 0!==M)return M;if(!x(e))return e;var j=y(e);if(j){if(M=g(e),!P)return u(e,M)}else{var G=p(e),B=G==C||"[object GeneratorFunction]"==G;if(m(e))return c(e,P);if(G==N||G==T||B&&!L){if(M=D||B?{}:b(e),!P)return D?h(e,s(M,e)):l(e,a(M,e))}else{if(!A[G])return L?e:{};M=v(e,G,P)}}I||(I=new r);var F=I.get(e);if(F)return F;I.set(e,M),_(e)?e.forEach((function(r){M.add(t(r,n,S,r,e,I))})):w(e)&&e.forEach((function(r,i){M.set(i,t(r,n,S,i,e,I))}));var H=j?void 0:(R?D?d:f:D?k:E)(e);return i(H||e,(function(r,i){H&&(r=e[i=r]),o(M,i,t(r,n,S,i,e,I))})),M}},3118:(t,e,n)=>{var r=n(3218),i=Object.create,o=function(){function t(){}return function(e){if(!r(e))return{};if(i)return i(e);t.prototype=e;var n=new t;return t.prototype=void 0,n}}();t.exports=o},9881:(t,e,n)=>{var r=n(7816),i=n(9291)(r);t.exports=i},6029:(t,e,n)=>{var r=n(3448);t.exports=function(t,e,n){for(var i=-1,o=t.length;++i{var r=n(9881);t.exports=function(t,e){var n=[];return r(t,(function(t,r,i){e(t,r,i)&&n.push(t)})),n}},1848:t=>{t.exports=function(t,e,n,r){for(var i=t.length,o=n+(r?1:-1);r?o--:++o{var r=n(2488),i=n(7285);t.exports=function t(e,n,o,a,s){var c=-1,u=e.length;for(o||(o=i),s||(s=[]);++c0&&o(l)?n>1?t(l,n-1,o,a,s):r(s,l):a||(s[s.length]=l)}return s}},8483:(t,e,n)=>{var r=n(5063)();t.exports=r},7816:(t,e,n)=>{var r=n(8483),i=n(3674);t.exports=function(t,e){return t&&r(t,e,i)}},7786:(t,e,n)=>{var r=n(1811),i=n(327);t.exports=function(t,e){for(var n=0,o=(e=r(e,t)).length;null!=t&&n{var r=n(2488),i=n(1469);t.exports=function(t,e,n){var o=e(t);return i(t)?o:r(o,n(t))}},4239:(t,e,n)=>{var r=n(2705),i=n(9607),o=n(2333),a=r?r.toStringTag:void 0;t.exports=function(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":a&&a in Object(t)?i(t):o(t)}},3325:t=>{t.exports=function(t,e){return t>e}},8565:t=>{var e=Object.prototype.hasOwnProperty;t.exports=function(t,n){return null!=t&&e.call(t,n)}},13:t=>{t.exports=function(t,e){return null!=t&&e in Object(t)}},2118:(t,e,n)=>{var r=n(1848),i=n(2722),o=n(2351);t.exports=function(t,e,n){return e==e?o(t,e,n):r(t,i,n)}},9454:(t,e,n)=>{var r=n(4239),i=n(7005);t.exports=function(t){return i(t)&&"[object Arguments]"==r(t)}},939:(t,e,n)=>{var r=n(2492),i=n(7005);t.exports=function t(e,n,o,a,s){return e===n||(null==e||null==n||!i(e)&&!i(n)?e!=e&&n!=n:r(e,n,o,a,t,s))}},2492:(t,e,n)=>{var r=n(6384),i=n(7114),o=n(8351),a=n(6096),s=n(4160),c=n(1469),u=n(4144),l=n(6719),h="[object Arguments]",f="[object Array]",d="[object Object]",p=Object.prototype.hasOwnProperty;t.exports=function(t,e,n,g,v,b){var y=c(t),m=c(e),w=y?f:s(t),x=m?f:s(e),_=(w=w==h?d:w)==d,E=(x=x==h?d:x)==d,k=w==x;if(k&&u(t)){if(!u(e))return!1;y=!0,_=!1}if(k&&!_)return b||(b=new r),y||l(t)?i(t,e,n,g,v,b):o(t,e,w,n,g,v,b);if(!(1&n)){var T=_&&p.call(t,"__wrapped__"),C=E&&p.call(e,"__wrapped__");if(T||C){var N=T?t.value():t,A=C?e.value():e;return b||(b=new r),v(N,A,n,g,b)}}return!!k&&(b||(b=new r),a(t,e,n,g,v,b))}},5588:(t,e,n)=>{var r=n(4160),i=n(7005);t.exports=function(t){return i(t)&&"[object Map]"==r(t)}},2958:(t,e,n)=>{var r=n(6384),i=n(939);t.exports=function(t,e,n,o){var a=n.length,s=a,c=!o;if(null==t)return!s;for(t=Object(t);a--;){var u=n[a];if(c&&u[2]?u[1]!==t[u[0]]:!(u[0]in t))return!1}for(;++a{t.exports=function(t){return t!=t}},8458:(t,e,n)=>{var r=n(3560),i=n(5346),o=n(3218),a=n(346),s=/^\[object .+?Constructor\]$/,c=Function.prototype,u=Object.prototype,l=c.toString,h=u.hasOwnProperty,f=RegExp("^"+l.call(h).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");t.exports=function(t){return!(!o(t)||i(t))&&(r(t)?f:s).test(a(t))}},9221:(t,e,n)=>{var r=n(4160),i=n(7005);t.exports=function(t){return i(t)&&"[object Set]"==r(t)}},8749:(t,e,n)=>{var r=n(4239),i=n(1780),o=n(7005),a={};a["[object Float32Array]"]=a["[object Float64Array]"]=a["[object Int8Array]"]=a["[object Int16Array]"]=a["[object Int32Array]"]=a["[object Uint8Array]"]=a["[object Uint8ClampedArray]"]=a["[object Uint16Array]"]=a["[object Uint32Array]"]=!0,a["[object Arguments]"]=a["[object Array]"]=a["[object ArrayBuffer]"]=a["[object Boolean]"]=a["[object DataView]"]=a["[object Date]"]=a["[object Error]"]=a["[object Function]"]=a["[object Map]"]=a["[object Number]"]=a["[object Object]"]=a["[object RegExp]"]=a["[object Set]"]=a["[object String]"]=a["[object WeakMap]"]=!1,t.exports=function(t){return o(t)&&i(t.length)&&!!a[r(t)]}},7206:(t,e,n)=>{var r=n(1573),i=n(6432),o=n(6557),a=n(1469),s=n(9601);t.exports=function(t){return"function"==typeof t?t:null==t?o:"object"==typeof t?a(t)?i(t[0],t[1]):r(t):s(t)}},280:(t,e,n)=>{var r=n(5726),i=n(6916),o=Object.prototype.hasOwnProperty;t.exports=function(t){if(!r(t))return i(t);var e=[];for(var n in Object(t))o.call(t,n)&&"constructor"!=n&&e.push(n);return e}},313:(t,e,n)=>{var r=n(3218),i=n(5726),o=n(3498),a=Object.prototype.hasOwnProperty;t.exports=function(t){if(!r(t))return o(t);var e=i(t),n=[];for(var s in t)("constructor"!=s||!e&&a.call(t,s))&&n.push(s);return n}},433:t=>{t.exports=function(t,e){return t{var r=n(9881),i=n(8612);t.exports=function(t,e){var n=-1,o=i(t)?Array(t.length):[];return r(t,(function(t,r,i){o[++n]=e(t,r,i)})),o}},1573:(t,e,n)=>{var r=n(2958),i=n(1499),o=n(2634);t.exports=function(t){var e=i(t);return 1==e.length&&e[0][2]?o(e[0][0],e[0][1]):function(n){return n===t||r(n,t,e)}}},6432:(t,e,n)=>{var r=n(939),i=n(7361),o=n(9095),a=n(5403),s=n(9162),c=n(2634),u=n(327);t.exports=function(t,e){return a(t)&&s(e)?c(u(t),e):function(n){var a=i(n,t);return void 0===a&&a===e?o(n,t):r(e,a,3)}}},2980:(t,e,n)=>{var r=n(6384),i=n(6556),o=n(8483),a=n(9783),s=n(3218),c=n(1704),u=n(6390);t.exports=function t(e,n,l,h,f){e!==n&&o(n,(function(o,c){if(f||(f=new r),s(o))a(e,n,c,l,t,h,f);else{var d=h?h(u(e,c),o,c+"",e,n,f):void 0;void 0===d&&(d=o),i(e,c,d)}}),c)}},9783:(t,e,n)=>{var r=n(6556),i=n(4626),o=n(7133),a=n(278),s=n(8517),c=n(5694),u=n(1469),l=n(9246),h=n(4144),f=n(3560),d=n(3218),p=n(8630),g=n(6719),v=n(6390),b=n(3678);t.exports=function(t,e,n,y,m,w,x){var _=v(t,n),E=v(e,n),k=x.get(E);if(k)r(t,n,k);else{var T=w?w(_,E,n+"",t,e,x):void 0,C=void 0===T;if(C){var N=u(E),A=!N&&h(E),S=!N&&!A&&g(E);T=E,N||A||S?u(_)?T=_:l(_)?T=a(_):A?(C=!1,T=i(E,!0)):S?(C=!1,T=o(E,!0)):T=[]:p(E)||c(E)?(T=_,c(_)?T=b(_):d(_)&&!f(_)||(T=s(E))):C=!1}C&&(x.set(E,T),m(T,E,y,w,x),x.delete(E)),r(t,n,T)}}},9556:(t,e,n)=>{var r=n(9932),i=n(7786),o=n(7206),a=n(9199),s=n(1131),c=n(1717),u=n(5022),l=n(6557),h=n(1469);t.exports=function(t,e,n){e=e.length?r(e,(function(t){return h(t)?function(e){return i(e,1===t.length?t[0]:t)}:t})):[l];var f=-1;e=r(e,c(o));var d=a(t,(function(t,n,i){return{criteria:r(e,(function(e){return e(t)})),index:++f,value:t}}));return s(d,(function(t,e){return u(t,e,n)}))}},5970:(t,e,n)=>{var r=n(3012),i=n(9095);t.exports=function(t,e){return r(t,e,(function(e,n){return i(t,n)}))}},3012:(t,e,n)=>{var r=n(7786),i=n(611),o=n(1811);t.exports=function(t,e,n){for(var a=-1,s=e.length,c={};++a{t.exports=function(t){return function(e){return null==e?void 0:e[t]}}},9152:(t,e,n)=>{var r=n(7786);t.exports=function(t){return function(e){return r(e,t)}}},98:t=>{var e=Math.ceil,n=Math.max;t.exports=function(t,r,i,o){for(var a=-1,s=n(e((r-t)/(i||1)),0),c=Array(s);s--;)c[o?s:++a]=t,t+=i;return c}},107:t=>{t.exports=function(t,e,n,r,i){return i(t,(function(t,i,o){n=r?(r=!1,t):e(n,t,i,o)})),n}},5976:(t,e,n)=>{var r=n(6557),i=n(5357),o=n(61);t.exports=function(t,e){return o(i(t,e,r),t+"")}},611:(t,e,n)=>{var r=n(4865),i=n(1811),o=n(5776),a=n(3218),s=n(327);t.exports=function(t,e,n,c){if(!a(t))return t;for(var u=-1,l=(e=i(e,t)).length,h=l-1,f=t;null!=f&&++u{var r=n(5703),i=n(8777),o=n(6557),a=i?function(t,e){return i(t,"toString",{configurable:!0,enumerable:!1,value:r(e),writable:!0})}:o;t.exports=a},1131:t=>{t.exports=function(t,e){var n=t.length;for(t.sort(e);n--;)t[n]=t[n].value;return t}},2545:t=>{t.exports=function(t,e){for(var n=-1,r=Array(t);++n{var r=n(2705),i=n(9932),o=n(1469),a=n(3448),s=r?r.prototype:void 0,c=s?s.toString:void 0;t.exports=function t(e){if("string"==typeof e)return e;if(o(e))return i(e,t)+"";if(a(e))return c?c.call(e):"";var n=e+"";return"0"==n&&1/e==-1/0?"-0":n}},7561:(t,e,n)=>{var r=n(7990),i=/^\s+/;t.exports=function(t){return t?t.slice(0,r(t)+1).replace(i,""):t}},1717:t=>{t.exports=function(t){return function(e){return t(e)}}},5652:(t,e,n)=>{var r=n(8668),i=n(7443),o=n(1196),a=n(4757),s=n(3593),c=n(1814);t.exports=function(t,e,n){var u=-1,l=i,h=t.length,f=!0,d=[],p=d;if(n)f=!1,l=o;else if(h>=200){var g=e?null:s(t);if(g)return c(g);f=!1,l=a,p=new r}else p=e?[]:d;t:for(;++u{var r=n(9932);t.exports=function(t,e){return r(e,(function(e){return t[e]}))}},1757:t=>{t.exports=function(t,e,n){for(var r=-1,i=t.length,o=e.length,a={};++r{t.exports=function(t,e){return t.has(e)}},4290:(t,e,n)=>{var r=n(6557);t.exports=function(t){return"function"==typeof t?t:r}},1811:(t,e,n)=>{var r=n(1469),i=n(5403),o=n(5514),a=n(9833);t.exports=function(t,e){return r(t)?t:i(t,e)?[t]:o(a(t))}},4318:(t,e,n)=>{var r=n(1149);t.exports=function(t){var e=new t.constructor(t.byteLength);return new r(e).set(new r(t)),e}},4626:(t,e,n)=>{t=n.nmd(t);var r=n(5639),i=e&&!e.nodeType&&e,o=i&&t&&!t.nodeType&&t,a=o&&o.exports===i?r.Buffer:void 0,s=a?a.allocUnsafe:void 0;t.exports=function(t,e){if(e)return t.slice();var n=t.length,r=s?s(n):new t.constructor(n);return t.copy(r),r}},7157:(t,e,n)=>{var r=n(4318);t.exports=function(t,e){var n=e?r(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.byteLength)}},3147:t=>{var e=/\w*$/;t.exports=function(t){var n=new t.constructor(t.source,e.exec(t));return n.lastIndex=t.lastIndex,n}},419:(t,e,n)=>{var r=n(2705),i=r?r.prototype:void 0,o=i?i.valueOf:void 0;t.exports=function(t){return o?Object(o.call(t)):{}}},7133:(t,e,n)=>{var r=n(4318);t.exports=function(t,e){var n=e?r(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.length)}},6393:(t,e,n)=>{var r=n(3448);t.exports=function(t,e){if(t!==e){var n=void 0!==t,i=null===t,o=t==t,a=r(t),s=void 0!==e,c=null===e,u=e==e,l=r(e);if(!c&&!l&&!a&&t>e||a&&s&&u&&!c&&!l||i&&s&&u||!n&&u||!o)return 1;if(!i&&!a&&!l&&t{var r=n(6393);t.exports=function(t,e,n){for(var i=-1,o=t.criteria,a=e.criteria,s=o.length,c=n.length;++i=c?u:u*("desc"==n[i]?-1:1)}return t.index-e.index}},278:t=>{t.exports=function(t,e){var n=-1,r=t.length;for(e||(e=Array(r));++n{var r=n(4865),i=n(9465);t.exports=function(t,e,n,o){var a=!n;n||(n={});for(var s=-1,c=e.length;++s{var r=n(8363),i=n(9551);t.exports=function(t,e){return r(t,i(t),e)}},1911:(t,e,n)=>{var r=n(8363),i=n(1442);t.exports=function(t,e){return r(t,i(t),e)}},4429:(t,e,n)=>{var r=n(5639)["__core-js_shared__"];t.exports=r},1463:(t,e,n)=>{var r=n(5976),i=n(6612);t.exports=function(t){return r((function(e,n){var r=-1,o=n.length,a=o>1?n[o-1]:void 0,s=o>2?n[2]:void 0;for(a=t.length>3&&"function"==typeof a?(o--,a):void 0,s&&i(n[0],n[1],s)&&(a=o<3?void 0:a,o=1),e=Object(e);++r{var r=n(8612);t.exports=function(t,e){return function(n,i){if(null==n)return n;if(!r(n))return t(n,i);for(var o=n.length,a=e?o:-1,s=Object(n);(e?a--:++a{t.exports=function(t){return function(e,n,r){for(var i=-1,o=Object(e),a=r(e),s=a.length;s--;){var c=a[t?s:++i];if(!1===n(o[c],c,o))break}return e}}},7740:(t,e,n)=>{var r=n(7206),i=n(8612),o=n(3674);t.exports=function(t){return function(e,n,a){var s=Object(e);if(!i(e)){var c=r(n,3);e=o(e),n=function(t){return c(s[t],t,s)}}var u=t(e,n,a);return u>-1?s[c?e[u]:u]:void 0}}},7445:(t,e,n)=>{var r=n(98),i=n(6612),o=n(8601);t.exports=function(t){return function(e,n,a){return a&&"number"!=typeof a&&i(e,n,a)&&(n=a=void 0),e=o(e),void 0===n?(n=e,e=0):n=o(n),a=void 0===a?e{var r=n(8525),i=n(308),o=n(1814),a=r&&1/o(new r([,-0]))[1]==1/0?function(t){return new r(t)}:i;t.exports=a},8777:(t,e,n)=>{var r=n(852),i=function(){try{var t=r(Object,"defineProperty");return t({},"",{}),t}catch(t){}}();t.exports=i},7114:(t,e,n)=>{var r=n(8668),i=n(2908),o=n(4757);t.exports=function(t,e,n,a,s,c){var u=1&n,l=t.length,h=e.length;if(l!=h&&!(u&&h>l))return!1;var f=c.get(t),d=c.get(e);if(f&&d)return f==e&&d==t;var p=-1,g=!0,v=2&n?new r:void 0;for(c.set(t,e),c.set(e,t);++p{var r=n(2705),i=n(1149),o=n(7813),a=n(7114),s=n(8776),c=n(1814),u=r?r.prototype:void 0,l=u?u.valueOf:void 0;t.exports=function(t,e,n,r,u,h,f){switch(n){case"[object DataView]":if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case"[object ArrayBuffer]":return!(t.byteLength!=e.byteLength||!h(new i(t),new i(e)));case"[object Boolean]":case"[object Date]":case"[object Number]":return o(+t,+e);case"[object Error]":return t.name==e.name&&t.message==e.message;case"[object RegExp]":case"[object String]":return t==e+"";case"[object Map]":var d=s;case"[object Set]":var p=1&r;if(d||(d=c),t.size!=e.size&&!p)return!1;var g=f.get(t);if(g)return g==e;r|=2,f.set(t,e);var v=a(d(t),d(e),r,u,h,f);return f.delete(t),v;case"[object Symbol]":if(l)return l.call(t)==l.call(e)}return!1}},6096:(t,e,n)=>{var r=n(8234),i=Object.prototype.hasOwnProperty;t.exports=function(t,e,n,o,a,s){var c=1&n,u=r(t),l=u.length;if(l!=r(e).length&&!c)return!1;for(var h=l;h--;){var f=u[h];if(!(c?f in e:i.call(e,f)))return!1}var d=s.get(t),p=s.get(e);if(d&&p)return d==e&&p==t;var g=!0;s.set(t,e),s.set(e,t);for(var v=c;++h{var r=n(5564),i=n(5357),o=n(61);t.exports=function(t){return o(i(t,void 0,r),t+"")}},1957:(t,e,n)=>{var r="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g;t.exports=r},8234:(t,e,n)=>{var r=n(8866),i=n(9551),o=n(3674);t.exports=function(t){return r(t,o,i)}},6904:(t,e,n)=>{var r=n(8866),i=n(1442),o=n(1704);t.exports=function(t){return r(t,o,i)}},5050:(t,e,n)=>{var r=n(7019);t.exports=function(t,e){var n=t.__data__;return r(e)?n["string"==typeof e?"string":"hash"]:n.map}},1499:(t,e,n)=>{var r=n(9162),i=n(3674);t.exports=function(t){for(var e=i(t),n=e.length;n--;){var o=e[n],a=t[o];e[n]=[o,a,r(a)]}return e}},852:(t,e,n)=>{var r=n(8458),i=n(7801);t.exports=function(t,e){var n=i(t,e);return r(n)?n:void 0}},5924:(t,e,n)=>{var r=n(5569)(Object.getPrototypeOf,Object);t.exports=r},9607:(t,e,n)=>{var r=n(2705),i=Object.prototype,o=i.hasOwnProperty,a=i.toString,s=r?r.toStringTag:void 0;t.exports=function(t){var e=o.call(t,s),n=t[s];try{t[s]=void 0;var r=!0}catch(t){}var i=a.call(t);return r&&(e?t[s]=n:delete t[s]),i}},9551:(t,e,n)=>{var r=n(4963),i=n(479),o=Object.prototype.propertyIsEnumerable,a=Object.getOwnPropertySymbols,s=a?function(t){return null==t?[]:(t=Object(t),r(a(t),(function(e){return o.call(t,e)})))}:i;t.exports=s},1442:(t,e,n)=>{var r=n(2488),i=n(5924),o=n(9551),a=n(479),s=Object.getOwnPropertySymbols?function(t){for(var e=[];t;)r(e,o(t)),t=i(t);return e}:a;t.exports=s},4160:(t,e,n)=>{var r=n(8552),i=n(7071),o=n(3818),a=n(8525),s=n(577),c=n(4239),u=n(346),l="[object Map]",h="[object Promise]",f="[object Set]",d="[object WeakMap]",p="[object DataView]",g=u(r),v=u(i),b=u(o),y=u(a),m=u(s),w=c;(r&&w(new r(new ArrayBuffer(1)))!=p||i&&w(new i)!=l||o&&w(o.resolve())!=h||a&&w(new a)!=f||s&&w(new s)!=d)&&(w=function(t){var e=c(t),n="[object Object]"==e?t.constructor:void 0,r=n?u(n):"";if(r)switch(r){case g:return p;case v:return l;case b:return h;case y:return f;case m:return d}return e}),t.exports=w},7801:t=>{t.exports=function(t,e){return null==t?void 0:t[e]}},222:(t,e,n)=>{var r=n(1811),i=n(5694),o=n(1469),a=n(5776),s=n(1780),c=n(327);t.exports=function(t,e,n){for(var u=-1,l=(e=r(e,t)).length,h=!1;++u{var e=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]");t.exports=function(t){return e.test(t)}},1789:(t,e,n)=>{var r=n(4536);t.exports=function(){this.__data__=r?r(null):{},this.size=0}},401:t=>{t.exports=function(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}},7667:(t,e,n)=>{var r=n(4536),i=Object.prototype.hasOwnProperty;t.exports=function(t){var e=this.__data__;if(r){var n=e[t];return"__lodash_hash_undefined__"===n?void 0:n}return i.call(e,t)?e[t]:void 0}},1327:(t,e,n)=>{var r=n(4536),i=Object.prototype.hasOwnProperty;t.exports=function(t){var e=this.__data__;return r?void 0!==e[t]:i.call(e,t)}},1866:(t,e,n)=>{var r=n(4536);t.exports=function(t,e){var n=this.__data__;return this.size+=this.has(t)?0:1,n[t]=r&&void 0===e?"__lodash_hash_undefined__":e,this}},3824:t=>{var e=Object.prototype.hasOwnProperty;t.exports=function(t){var n=t.length,r=new t.constructor(n);return n&&"string"==typeof t[0]&&e.call(t,"index")&&(r.index=t.index,r.input=t.input),r}},9148:(t,e,n)=>{var r=n(4318),i=n(7157),o=n(3147),a=n(419),s=n(7133);t.exports=function(t,e,n){var c=t.constructor;switch(e){case"[object ArrayBuffer]":return r(t);case"[object Boolean]":case"[object Date]":return new c(+t);case"[object DataView]":return i(t,n);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return s(t,n);case"[object Map]":case"[object Set]":return new c;case"[object Number]":case"[object String]":return new c(t);case"[object RegExp]":return o(t);case"[object Symbol]":return a(t)}}},8517:(t,e,n)=>{var r=n(3118),i=n(5924),o=n(5726);t.exports=function(t){return"function"!=typeof t.constructor||o(t)?{}:r(i(t))}},7285:(t,e,n)=>{var r=n(2705),i=n(5694),o=n(1469),a=r?r.isConcatSpreadable:void 0;t.exports=function(t){return o(t)||i(t)||!!(a&&t&&t[a])}},5776:t=>{var e=/^(?:0|[1-9]\d*)$/;t.exports=function(t,n){var r=typeof t;return!!(n=null==n?9007199254740991:n)&&("number"==r||"symbol"!=r&&e.test(t))&&t>-1&&t%1==0&&t{var r=n(7813),i=n(8612),o=n(5776),a=n(3218);t.exports=function(t,e,n){if(!a(n))return!1;var s=typeof e;return!!("number"==s?i(n)&&o(e,n.length):"string"==s&&e in n)&&r(n[e],t)}},5403:(t,e,n)=>{var r=n(1469),i=n(3448),o=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,a=/^\w*$/;t.exports=function(t,e){if(r(t))return!1;var n=typeof t;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=t&&!i(t))||a.test(t)||!o.test(t)||null!=e&&t in Object(e)}},7019:t=>{t.exports=function(t){var e=typeof t;return"string"==e||"number"==e||"symbol"==e||"boolean"==e?"__proto__"!==t:null===t}},5346:(t,e,n)=>{var r,i=n(4429),o=(r=/[^.]+$/.exec(i&&i.keys&&i.keys.IE_PROTO||""))?"Symbol(src)_1."+r:"";t.exports=function(t){return!!o&&o in t}},5726:t=>{var e=Object.prototype;t.exports=function(t){var n=t&&t.constructor;return t===("function"==typeof n&&n.prototype||e)}},9162:(t,e,n)=>{var r=n(3218);t.exports=function(t){return t==t&&!r(t)}},7040:t=>{t.exports=function(){this.__data__=[],this.size=0}},4125:(t,e,n)=>{var r=n(8470),i=Array.prototype.splice;t.exports=function(t){var e=this.__data__,n=r(e,t);return!(n<0||(n==e.length-1?e.pop():i.call(e,n,1),--this.size,0))}},2117:(t,e,n)=>{var r=n(8470);t.exports=function(t){var e=this.__data__,n=r(e,t);return n<0?void 0:e[n][1]}},7518:(t,e,n)=>{var r=n(8470);t.exports=function(t){return r(this.__data__,t)>-1}},4705:(t,e,n)=>{var r=n(8470);t.exports=function(t,e){var n=this.__data__,i=r(n,t);return i<0?(++this.size,n.push([t,e])):n[i][1]=e,this}},4785:(t,e,n)=>{var r=n(1989),i=n(8407),o=n(7071);t.exports=function(){this.size=0,this.__data__={hash:new r,map:new(o||i),string:new r}}},1285:(t,e,n)=>{var r=n(5050);t.exports=function(t){var e=r(this,t).delete(t);return this.size-=e?1:0,e}},6e3:(t,e,n)=>{var r=n(5050);t.exports=function(t){return r(this,t).get(t)}},9916:(t,e,n)=>{var r=n(5050);t.exports=function(t){return r(this,t).has(t)}},5265:(t,e,n)=>{var r=n(5050);t.exports=function(t,e){var n=r(this,t),i=n.size;return n.set(t,e),this.size+=n.size==i?0:1,this}},8776:t=>{t.exports=function(t){var e=-1,n=Array(t.size);return t.forEach((function(t,r){n[++e]=[r,t]})),n}},2634:t=>{t.exports=function(t,e){return function(n){return null!=n&&n[t]===e&&(void 0!==e||t in Object(n))}}},4523:(t,e,n)=>{var r=n(8306);t.exports=function(t){var e=r(t,(function(t){return 500===n.size&&n.clear(),t})),n=e.cache;return e}},4536:(t,e,n)=>{var r=n(852)(Object,"create");t.exports=r},6916:(t,e,n)=>{var r=n(5569)(Object.keys,Object);t.exports=r},3498:t=>{t.exports=function(t){var e=[];if(null!=t)for(var n in Object(t))e.push(n);return e}},1167:(t,e,n)=>{t=n.nmd(t);var r=n(1957),i=e&&!e.nodeType&&e,o=i&&t&&!t.nodeType&&t,a=o&&o.exports===i&&r.process,s=function(){try{return o&&o.require&&o.require("util").types||a&&a.binding&&a.binding("util")}catch(t){}}();t.exports=s},2333:t=>{var e=Object.prototype.toString;t.exports=function(t){return e.call(t)}},5569:t=>{t.exports=function(t,e){return function(n){return t(e(n))}}},5357:(t,e,n)=>{var r=n(6874),i=Math.max;t.exports=function(t,e,n){return e=i(void 0===e?t.length-1:e,0),function(){for(var o=arguments,a=-1,s=i(o.length-e,0),c=Array(s);++a{var r=n(1957),i="object"==typeof self&&self&&self.Object===Object&&self,o=r||i||Function("return this")();t.exports=o},6390:t=>{t.exports=function(t,e){if(("constructor"!==e||"function"!=typeof t[e])&&"__proto__"!=e)return t[e]}},619:t=>{t.exports=function(t){return this.__data__.set(t,"__lodash_hash_undefined__"),this}},2385:t=>{t.exports=function(t){return this.__data__.has(t)}},1814:t=>{t.exports=function(t){var e=-1,n=Array(t.size);return t.forEach((function(t){n[++e]=t})),n}},61:(t,e,n)=>{var r=n(6560),i=n(1275)(r);t.exports=i},1275:t=>{var e=Date.now;t.exports=function(t){var n=0,r=0;return function(){var i=e(),o=16-(i-r);if(r=i,o>0){if(++n>=800)return arguments[0]}else n=0;return t.apply(void 0,arguments)}}},7465:(t,e,n)=>{var r=n(8407);t.exports=function(){this.__data__=new r,this.size=0}},3779:t=>{t.exports=function(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n}},7599:t=>{t.exports=function(t){return this.__data__.get(t)}},4758:t=>{t.exports=function(t){return this.__data__.has(t)}},4309:(t,e,n)=>{var r=n(8407),i=n(7071),o=n(3369);t.exports=function(t,e){var n=this.__data__;if(n instanceof r){var a=n.__data__;if(!i||a.length<199)return a.push([t,e]),this.size=++n.size,this;n=this.__data__=new o(a)}return n.set(t,e),this.size=n.size,this}},2351:t=>{t.exports=function(t,e,n){for(var r=n-1,i=t.length;++r{var r=n(8983),i=n(2689),o=n(1903);t.exports=function(t){return i(t)?o(t):r(t)}},5514:(t,e,n)=>{var r=n(4523),i=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,o=/\\(\\)?/g,a=r((function(t){var e=[];return 46===t.charCodeAt(0)&&e.push(""),t.replace(i,(function(t,n,r,i){e.push(r?i.replace(o,"$1"):n||t)})),e}));t.exports=a},327:(t,e,n)=>{var r=n(3448);t.exports=function(t){if("string"==typeof t||r(t))return t;var e=t+"";return"0"==e&&1/t==-1/0?"-0":e}},346:t=>{var e=Function.prototype.toString;t.exports=function(t){if(null!=t){try{return e.call(t)}catch(t){}try{return t+""}catch(t){}}return""}},7990:t=>{var e=/\s/;t.exports=function(t){for(var n=t.length;n--&&e.test(t.charAt(n)););return n}},1903:t=>{var e="\\ud800-\\udfff",n="["+e+"]",r="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",i="\\ud83c[\\udffb-\\udfff]",o="[^"+e+"]",a="(?:\\ud83c[\\udde6-\\uddff]){2}",s="[\\ud800-\\udbff][\\udc00-\\udfff]",c="(?:"+r+"|"+i+")?",u="[\\ufe0e\\ufe0f]?",l=u+c+"(?:\\u200d(?:"+[o,a,s].join("|")+")"+u+c+")*",h="(?:"+[o+r+"?",r,a,s,n].join("|")+")",f=RegExp(i+"(?="+i+")|"+h+l,"g");t.exports=function(t){for(var e=f.lastIndex=0;f.test(t);)++e;return e}},6678:(t,e,n)=>{var r=n(5990);t.exports=function(t){return r(t,4)}},361:(t,e,n)=>{var r=n(5990);t.exports=function(t){return r(t,5)}},5703:t=>{t.exports=function(t){return function(){return t}}},3279:(t,e,n)=>{var r=n(3218),i=n(7771),o=n(4841),a=Math.max,s=Math.min;t.exports=function(t,e,n){var c,u,l,h,f,d,p=0,g=!1,v=!1,b=!0;if("function"!=typeof t)throw new TypeError("Expected a function");function y(e){var n=c,r=u;return c=u=void 0,p=e,h=t.apply(r,n)}function m(t){var n=t-d;return void 0===d||n>=e||n<0||v&&t-p>=l}function w(){var t=i();if(m(t))return x(t);f=setTimeout(w,function(t){var n=e-(t-d);return v?s(n,l-(t-p)):n}(t))}function x(t){return f=void 0,b&&c?y(t):(c=u=void 0,h)}function _(){var t=i(),n=m(t);if(c=arguments,u=this,d=t,n){if(void 0===f)return function(t){return p=t,f=setTimeout(w,e),g?y(t):h}(d);if(v)return clearTimeout(f),f=setTimeout(w,e),y(d)}return void 0===f&&(f=setTimeout(w,e)),h}return e=o(e)||0,r(n)&&(g=!!n.leading,l=(v="maxWait"in n)?a(o(n.maxWait)||0,e):l,b="trailing"in n?!!n.trailing:b),_.cancel=function(){void 0!==f&&clearTimeout(f),p=0,c=d=u=f=void 0},_.flush=function(){return void 0===f?h:x(i())},_}},1747:(t,e,n)=>{var r=n(5976),i=n(7813),o=n(6612),a=n(1704),s=Object.prototype,c=s.hasOwnProperty,u=r((function(t,e){t=Object(t);var n=-1,r=e.length,u=r>2?e[2]:void 0;for(u&&o(e[0],e[1],u)&&(r=1);++n{t.exports=n(4486)},7813:t=>{t.exports=function(t,e){return t===e||t!=t&&e!=e}},3105:(t,e,n)=>{var r=n(4963),i=n(760),o=n(7206),a=n(1469);t.exports=function(t,e){return(a(t)?r:i)(t,o(e,3))}},3311:(t,e,n)=>{var r=n(7740)(n(998));t.exports=r},998:(t,e,n)=>{var r=n(1848),i=n(7206),o=n(554),a=Math.max;t.exports=function(t,e,n){var s=null==t?0:t.length;if(!s)return-1;var c=null==n?0:o(n);return c<0&&(c=a(s+c,0)),r(t,i(e,3),c)}},5564:(t,e,n)=>{var r=n(1078);t.exports=function(t){return null!=t&&t.length?r(t,1):[]}},4486:(t,e,n)=>{var r=n(7412),i=n(9881),o=n(4290),a=n(1469);t.exports=function(t,e){return(a(t)?r:i)(t,o(e))}},2620:(t,e,n)=>{var r=n(8483),i=n(4290),o=n(1704);t.exports=function(t,e){return null==t?t:r(t,i(e),o)}},7361:(t,e,n)=>{var r=n(7786);t.exports=function(t,e,n){var i=null==t?void 0:r(t,e);return void 0===i?n:i}},8721:(t,e,n)=>{var r=n(8565),i=n(222);t.exports=function(t,e){return null!=t&&i(t,e,r)}},9095:(t,e,n)=>{var r=n(13),i=n(222);t.exports=function(t,e){return null!=t&&i(t,e,r)}},6557:t=>{t.exports=function(t){return t}},5694:(t,e,n)=>{var r=n(9454),i=n(7005),o=Object.prototype,a=o.hasOwnProperty,s=o.propertyIsEnumerable,c=r(function(){return arguments}())?r:function(t){return i(t)&&a.call(t,"callee")&&!s.call(t,"callee")};t.exports=c},1469:t=>{var e=Array.isArray;t.exports=e},8612:(t,e,n)=>{var r=n(3560),i=n(1780);t.exports=function(t){return null!=t&&i(t.length)&&!r(t)}},9246:(t,e,n)=>{var r=n(8612),i=n(7005);t.exports=function(t){return i(t)&&r(t)}},4144:(t,e,n)=>{t=n.nmd(t);var r=n(5639),i=n(5062),o=e&&!e.nodeType&&e,a=o&&t&&!t.nodeType&&t,s=a&&a.exports===o?r.Buffer:void 0,c=(s?s.isBuffer:void 0)||i;t.exports=c},1609:(t,e,n)=>{var r=n(280),i=n(4160),o=n(5694),a=n(1469),s=n(8612),c=n(4144),u=n(5726),l=n(6719),h=Object.prototype.hasOwnProperty;t.exports=function(t){if(null==t)return!0;if(s(t)&&(a(t)||"string"==typeof t||"function"==typeof t.splice||c(t)||l(t)||o(t)))return!t.length;var e=i(t);if("[object Map]"==e||"[object Set]"==e)return!t.size;if(u(t))return!r(t).length;for(var n in t)if(h.call(t,n))return!1;return!0}},3560:(t,e,n)=>{var r=n(4239),i=n(3218);t.exports=function(t){if(!i(t))return!1;var e=r(t);return"[object Function]"==e||"[object GeneratorFunction]"==e||"[object AsyncFunction]"==e||"[object Proxy]"==e}},1780:t=>{t.exports=function(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=9007199254740991}},6688:(t,e,n)=>{var r=n(5588),i=n(1717),o=n(1167),a=o&&o.isMap,s=a?i(a):r;t.exports=s},3218:t=>{t.exports=function(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}},7005:t=>{t.exports=function(t){return null!=t&&"object"==typeof t}},8630:(t,e,n)=>{var r=n(4239),i=n(5924),o=n(7005),a=Function.prototype,s=Object.prototype,c=a.toString,u=s.hasOwnProperty,l=c.call(Object);t.exports=function(t){if(!o(t)||"[object Object]"!=r(t))return!1;var e=i(t);if(null===e)return!0;var n=u.call(e,"constructor")&&e.constructor;return"function"==typeof n&&n instanceof n&&c.call(n)==l}},2928:(t,e,n)=>{var r=n(9221),i=n(1717),o=n(1167),a=o&&o.isSet,s=a?i(a):r;t.exports=s},7037:(t,e,n)=>{var r=n(4239),i=n(1469),o=n(7005);t.exports=function(t){return"string"==typeof t||!i(t)&&o(t)&&"[object String]"==r(t)}},3448:(t,e,n)=>{var r=n(4239),i=n(7005);t.exports=function(t){return"symbol"==typeof t||i(t)&&"[object Symbol]"==r(t)}},6719:(t,e,n)=>{var r=n(8749),i=n(1717),o=n(1167),a=o&&o.isTypedArray,s=a?i(a):r;t.exports=s},2353:t=>{t.exports=function(t){return void 0===t}},3674:(t,e,n)=>{var r=n(4636),i=n(280),o=n(8612);t.exports=function(t){return o(t)?r(t):i(t)}},1704:(t,e,n)=>{var r=n(4636),i=n(313),o=n(8612);t.exports=function(t){return o(t)?r(t,!0):i(t)}},928:t=>{t.exports=function(t){var e=null==t?0:t.length;return e?t[e-1]:void 0}},6486:function(t,e,n){var r;t=n.nmd(t),function(){var i,o="Expected a function",a="__lodash_hash_undefined__",s="__lodash_placeholder__",c=32,u=128,l=1/0,h=9007199254740991,f=NaN,d=4294967295,p=[["ary",u],["bind",1],["bindKey",2],["curry",8],["curryRight",16],["flip",512],["partial",c],["partialRight",64],["rearg",256]],g="[object Arguments]",v="[object Array]",b="[object Boolean]",y="[object Date]",m="[object Error]",w="[object Function]",x="[object GeneratorFunction]",_="[object Map]",E="[object Number]",k="[object Object]",T="[object Promise]",C="[object RegExp]",N="[object Set]",A="[object String]",S="[object Symbol]",O="[object WeakMap]",L="[object ArrayBuffer]",I="[object DataView]",M="[object Float32Array]",P="[object Float64Array]",D="[object Int8Array]",R="[object Int16Array]",j="[object Int32Array]",G="[object Uint8Array]",B="[object Uint8ClampedArray]",F="[object Uint16Array]",H="[object Uint32Array]",Y=/\b__p \+= '';/g,z=/\b(__p \+=) '' \+/g,U=/(__e\(.*?\)|\b__t\)) \+\n'';/g,V=/&(?:amp|lt|gt|quot|#39);/g,q=/[&<>"']/g,X=RegExp(V.source),W=RegExp(q.source),$=/<%-([\s\S]+?)%>/g,Z=/<%([\s\S]+?)%>/g,K=/<%=([\s\S]+?)%>/g,Q=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,J=/^\w*$/,tt=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,et=/[\\^$.*+?()[\]{}|]/g,nt=RegExp(et.source),rt=/^\s+/,it=/\s/,ot=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,at=/\{\n\/\* \[wrapped with (.+)\] \*/,st=/,? & /,ct=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,ut=/[()=,{}\[\]\/\s]/,lt=/\\(\\)?/g,ht=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,ft=/\w*$/,dt=/^[-+]0x[0-9a-f]+$/i,pt=/^0b[01]+$/i,gt=/^\[object .+?Constructor\]$/,vt=/^0o[0-7]+$/i,bt=/^(?:0|[1-9]\d*)$/,yt=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,mt=/($^)/,wt=/['\n\r\u2028\u2029\\]/g,xt="\\ud800-\\udfff",_t="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",Et="\\u2700-\\u27bf",kt="a-z\\xdf-\\xf6\\xf8-\\xff",Tt="A-Z\\xc0-\\xd6\\xd8-\\xde",Ct="\\ufe0e\\ufe0f",Nt="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",At="["+xt+"]",St="["+Nt+"]",Ot="["+_t+"]",Lt="\\d+",It="["+Et+"]",Mt="["+kt+"]",Pt="[^"+xt+Nt+Lt+Et+kt+Tt+"]",Dt="\\ud83c[\\udffb-\\udfff]",Rt="[^"+xt+"]",jt="(?:\\ud83c[\\udde6-\\uddff]){2}",Gt="[\\ud800-\\udbff][\\udc00-\\udfff]",Bt="["+Tt+"]",Ft="\\u200d",Ht="(?:"+Mt+"|"+Pt+")",Yt="(?:"+Bt+"|"+Pt+")",zt="(?:['’](?:d|ll|m|re|s|t|ve))?",Ut="(?:['’](?:D|LL|M|RE|S|T|VE))?",Vt="(?:"+Ot+"|"+Dt+")?",qt="["+Ct+"]?",Xt=qt+Vt+"(?:"+Ft+"(?:"+[Rt,jt,Gt].join("|")+")"+qt+Vt+")*",Wt="(?:"+[It,jt,Gt].join("|")+")"+Xt,$t="(?:"+[Rt+Ot+"?",Ot,jt,Gt,At].join("|")+")",Zt=RegExp("['’]","g"),Kt=RegExp(Ot,"g"),Qt=RegExp(Dt+"(?="+Dt+")|"+$t+Xt,"g"),Jt=RegExp([Bt+"?"+Mt+"+"+zt+"(?="+[St,Bt,"$"].join("|")+")",Yt+"+"+Ut+"(?="+[St,Bt+Ht,"$"].join("|")+")",Bt+"?"+Ht+"+"+zt,Bt+"+"+Ut,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Lt,Wt].join("|"),"g"),te=RegExp("["+Ft+xt+_t+Ct+"]"),ee=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,ne=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],re=-1,ie={};ie[M]=ie[P]=ie[D]=ie[R]=ie[j]=ie[G]=ie[B]=ie[F]=ie[H]=!0,ie[g]=ie[v]=ie[L]=ie[b]=ie[I]=ie[y]=ie[m]=ie[w]=ie[_]=ie[E]=ie[k]=ie[C]=ie[N]=ie[A]=ie[O]=!1;var oe={};oe[g]=oe[v]=oe[L]=oe[I]=oe[b]=oe[y]=oe[M]=oe[P]=oe[D]=oe[R]=oe[j]=oe[_]=oe[E]=oe[k]=oe[C]=oe[N]=oe[A]=oe[S]=oe[G]=oe[B]=oe[F]=oe[H]=!0,oe[m]=oe[w]=oe[O]=!1;var ae={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},se=parseFloat,ce=parseInt,ue="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g,le="object"==typeof self&&self&&self.Object===Object&&self,he=ue||le||Function("return this")(),fe=e&&!e.nodeType&&e,de=fe&&t&&!t.nodeType&&t,pe=de&&de.exports===fe,ge=pe&&ue.process,ve=function(){try{return de&&de.require&&de.require("util").types||ge&&ge.binding&&ge.binding("util")}catch(t){}}(),be=ve&&ve.isArrayBuffer,ye=ve&&ve.isDate,me=ve&&ve.isMap,we=ve&&ve.isRegExp,xe=ve&&ve.isSet,_e=ve&&ve.isTypedArray;function Ee(t,e,n){switch(n.length){case 0:return t.call(e);case 1:return t.call(e,n[0]);case 2:return t.call(e,n[0],n[1]);case 3:return t.call(e,n[0],n[1],n[2])}return t.apply(e,n)}function ke(t,e,n,r){for(var i=-1,o=null==t?0:t.length;++i-1}function Oe(t,e,n){for(var r=-1,i=null==t?0:t.length;++r-1;);return n}function Je(t,e){for(var n=t.length;n--&&Be(e,t[n],0)>-1;);return n}var tn=Ue({À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"}),en=Ue({"&":"&","<":"<",">":">",'"':""","'":"'"});function nn(t){return"\\"+ae[t]}function rn(t){return te.test(t)}function on(t){var e=-1,n=Array(t.size);return t.forEach((function(t,r){n[++e]=[r,t]})),n}function an(t,e){return function(n){return t(e(n))}}function sn(t,e){for(var n=-1,r=t.length,i=0,o=[];++n",""":'"',"'":"'"}),pn=function t(e){var n,r=(e=null==e?he:pn.defaults(he.Object(),e,pn.pick(he,ne))).Array,it=e.Date,xt=e.Error,_t=e.Function,Et=e.Math,kt=e.Object,Tt=e.RegExp,Ct=e.String,Nt=e.TypeError,At=r.prototype,St=_t.prototype,Ot=kt.prototype,Lt=e["__core-js_shared__"],It=St.toString,Mt=Ot.hasOwnProperty,Pt=0,Dt=(n=/[^.]+$/.exec(Lt&&Lt.keys&&Lt.keys.IE_PROTO||""))?"Symbol(src)_1."+n:"",Rt=Ot.toString,jt=It.call(kt),Gt=he._,Bt=Tt("^"+It.call(Mt).replace(et,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Ft=pe?e.Buffer:i,Ht=e.Symbol,Yt=e.Uint8Array,zt=Ft?Ft.allocUnsafe:i,Ut=an(kt.getPrototypeOf,kt),Vt=kt.create,qt=Ot.propertyIsEnumerable,Xt=At.splice,Wt=Ht?Ht.isConcatSpreadable:i,$t=Ht?Ht.iterator:i,Qt=Ht?Ht.toStringTag:i,te=function(){try{var t=co(kt,"defineProperty");return t({},"",{}),t}catch(t){}}(),ae=e.clearTimeout!==he.clearTimeout&&e.clearTimeout,ue=it&&it.now!==he.Date.now&&it.now,le=e.setTimeout!==he.setTimeout&&e.setTimeout,fe=Et.ceil,de=Et.floor,ge=kt.getOwnPropertySymbols,ve=Ft?Ft.isBuffer:i,Re=e.isFinite,Ue=At.join,gn=an(kt.keys,kt),vn=Et.max,bn=Et.min,yn=it.now,mn=e.parseInt,wn=Et.random,xn=At.reverse,_n=co(e,"DataView"),En=co(e,"Map"),kn=co(e,"Promise"),Tn=co(e,"Set"),Cn=co(e,"WeakMap"),Nn=co(kt,"create"),An=Cn&&new Cn,Sn={},On=jo(_n),Ln=jo(En),In=jo(kn),Mn=jo(Tn),Pn=jo(Cn),Dn=Ht?Ht.prototype:i,Rn=Dn?Dn.valueOf:i,jn=Dn?Dn.toString:i;function Gn(t){if(ts(t)&&!za(t)&&!(t instanceof Yn)){if(t instanceof Hn)return t;if(Mt.call(t,"__wrapped__"))return Go(t)}return new Hn(t)}var Bn=function(){function t(){}return function(e){if(!Ja(e))return{};if(Vt)return Vt(e);t.prototype=e;var n=new t;return t.prototype=i,n}}();function Fn(){}function Hn(t,e){this.__wrapped__=t,this.__actions__=[],this.__chain__=!!e,this.__index__=0,this.__values__=i}function Yn(t){this.__wrapped__=t,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=d,this.__views__=[]}function zn(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e=e?t:e)),t}function ar(t,e,n,r,o,a){var s,c=1&e,u=2&e,l=4&e;if(n&&(s=o?n(t,r,o,a):n(t)),s!==i)return s;if(!Ja(t))return t;var h=za(t);if(h){if(s=function(t){var e=t.length,n=new t.constructor(e);return e&&"string"==typeof t[0]&&Mt.call(t,"index")&&(n.index=t.index,n.input=t.input),n}(t),!c)return Ci(t,s)}else{var f=ho(t),d=f==w||f==x;if(Xa(t))return wi(t,c);if(f==k||f==g||d&&!o){if(s=u||d?{}:po(t),!c)return u?function(t,e){return Ni(t,lo(t),e)}(t,function(t,e){return t&&Ni(e,Ls(e),t)}(s,t)):function(t,e){return Ni(t,uo(t),e)}(t,nr(s,t))}else{if(!oe[f])return o?t:{};s=function(t,e,n){var r,i=t.constructor;switch(e){case L:return xi(t);case b:case y:return new i(+t);case I:return function(t,e){var n=e?xi(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.byteLength)}(t,n);case M:case P:case D:case R:case j:case G:case B:case F:case H:return _i(t,n);case _:return new i;case E:case A:return new i(t);case C:return function(t){var e=new t.constructor(t.source,ft.exec(t));return e.lastIndex=t.lastIndex,e}(t);case N:return new i;case S:return r=t,Rn?kt(Rn.call(r)):{}}}(t,f,c)}}a||(a=new Xn);var p=a.get(t);if(p)return p;a.set(t,s),os(t)?t.forEach((function(r){s.add(ar(r,e,n,r,t,a))})):es(t)&&t.forEach((function(r,i){s.set(i,ar(r,e,n,i,t,a))}));var v=h?i:(l?u?eo:to:u?Ls:Os)(t);return Te(v||t,(function(r,i){v&&(r=t[i=r]),Jn(s,i,ar(r,e,n,i,t,a))})),s}function sr(t,e,n){var r=n.length;if(null==t)return!r;for(t=kt(t);r--;){var o=n[r],a=e[o],s=t[o];if(s===i&&!(o in t)||!a(s))return!1}return!0}function cr(t,e,n){if("function"!=typeof t)throw new Nt(o);return Ao((function(){t.apply(i,n)}),e)}function ur(t,e,n,r){var i=-1,o=Se,a=!0,s=t.length,c=[],u=e.length;if(!s)return c;n&&(e=Le(e,$e(n))),r?(o=Oe,a=!1):e.length>=200&&(o=Ke,a=!1,e=new qn(e));t:for(;++i-1},Un.prototype.set=function(t,e){var n=this.__data__,r=tr(n,t);return r<0?(++this.size,n.push([t,e])):n[r][1]=e,this},Vn.prototype.clear=function(){this.size=0,this.__data__={hash:new zn,map:new(En||Un),string:new zn}},Vn.prototype.delete=function(t){var e=ao(this,t).delete(t);return this.size-=e?1:0,e},Vn.prototype.get=function(t){return ao(this,t).get(t)},Vn.prototype.has=function(t){return ao(this,t).has(t)},Vn.prototype.set=function(t,e){var n=ao(this,t),r=n.size;return n.set(t,e),this.size+=n.size==r?0:1,this},qn.prototype.add=qn.prototype.push=function(t){return this.__data__.set(t,a),this},qn.prototype.has=function(t){return this.__data__.has(t)},Xn.prototype.clear=function(){this.__data__=new Un,this.size=0},Xn.prototype.delete=function(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n},Xn.prototype.get=function(t){return this.__data__.get(t)},Xn.prototype.has=function(t){return this.__data__.has(t)},Xn.prototype.set=function(t,e){var n=this.__data__;if(n instanceof Un){var r=n.__data__;if(!En||r.length<199)return r.push([t,e]),this.size=++n.size,this;n=this.__data__=new Vn(r)}return n.set(t,e),this.size=n.size,this};var lr=Oi(yr),hr=Oi(mr,!0);function fr(t,e){var n=!0;return lr(t,(function(t,r,i){return n=!!e(t,r,i)})),n}function dr(t,e,n){for(var r=-1,o=t.length;++r0&&n(s)?e>1?gr(s,e-1,n,r,i):Ie(i,s):r||(i[i.length]=s)}return i}var vr=Li(),br=Li(!0);function yr(t,e){return t&&vr(t,e,Os)}function mr(t,e){return t&&br(t,e,Os)}function wr(t,e){return Ae(e,(function(e){return Za(t[e])}))}function xr(t,e){for(var n=0,r=(e=vi(e,t)).length;null!=t&&ne}function Tr(t,e){return null!=t&&Mt.call(t,e)}function Cr(t,e){return null!=t&&e in kt(t)}function Nr(t,e,n){for(var o=n?Oe:Se,a=t[0].length,s=t.length,c=s,u=r(s),l=1/0,h=[];c--;){var f=t[c];c&&e&&(f=Le(f,$e(e))),l=bn(f.length,l),u[c]=!n&&(e||a>=120&&f.length>=120)?new qn(c&&f):i}f=t[0];var d=-1,p=u[0];t:for(;++d=s?c:c*("desc"==n[r]?-1:1)}return t.index-e.index}(t,e,n)}));r--;)t[r]=t[r].value;return t}(i)}function Yr(t,e,n){for(var r=-1,i=e.length,o={};++r-1;)s!==t&&Xt.call(s,c,1),Xt.call(t,c,1);return t}function Ur(t,e){for(var n=t?e.length:0,r=n-1;n--;){var i=e[n];if(n==r||i!==o){var o=i;vo(i)?Xt.call(t,i,1):ci(t,i)}}return t}function Vr(t,e){return t+de(wn()*(e-t+1))}function qr(t,e){var n="";if(!t||e<1||e>h)return n;do{e%2&&(n+=t),(e=de(e/2))&&(t+=t)}while(e);return n}function Xr(t,e){return So(ko(t,e,nc),t+"")}function Wr(t){return $n(Bs(t))}function $r(t,e){var n=Bs(t);return Io(n,or(e,0,n.length))}function Zr(t,e,n,r){if(!Ja(t))return t;for(var o=-1,a=(e=vi(e,t)).length,s=a-1,c=t;null!=c&&++oo?0:o+e),(n=n>o?o:n)<0&&(n+=o),o=e>n?0:n-e>>>0,e>>>=0;for(var a=r(o);++i>>1,a=t[o];null!==a&&!ss(a)&&(n?a<=e:a=200){var u=e?null:qi(t);if(u)return cn(u);a=!1,i=Ke,c=new qn}else c=e?[]:s;t:for(;++r=r?t:ti(t,e,n)}var mi=ae||function(t){return he.clearTimeout(t)};function wi(t,e){if(e)return t.slice();var n=t.length,r=zt?zt(n):new t.constructor(n);return t.copy(r),r}function xi(t){var e=new t.constructor(t.byteLength);return new Yt(e).set(new Yt(t)),e}function _i(t,e){var n=e?xi(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.length)}function Ei(t,e){if(t!==e){var n=t!==i,r=null===t,o=t==t,a=ss(t),s=e!==i,c=null===e,u=e==e,l=ss(e);if(!c&&!l&&!a&&t>e||a&&s&&u&&!c&&!l||r&&s&&u||!n&&u||!o)return 1;if(!r&&!a&&!l&&t1?n[o-1]:i,s=o>2?n[2]:i;for(a=t.length>3&&"function"==typeof a?(o--,a):i,s&&bo(n[0],n[1],s)&&(a=o<3?i:a,o=1),e=kt(e);++r-1?o[a?e[s]:s]:i}}function Ri(t){return Ji((function(e){var n=e.length,r=n,a=Hn.prototype.thru;for(t&&e.reverse();r--;){var s=e[r];if("function"!=typeof s)throw new Nt(o);if(a&&!c&&"wrapper"==ro(s))var c=new Hn([],!0)}for(r=c?r:n;++r1&&w.reverse(),d&&hc))return!1;var l=a.get(t),h=a.get(e);if(l&&h)return l==e&&h==t;var f=-1,d=!0,p=2&n?new qn:i;for(a.set(t,e),a.set(e,t);++f-1&&t%1==0&&t1?"& ":"")+e[r],e=e.join(n>2?", ":" "),t.replace(ot,"{\n/* [wrapped with "+e+"] */\n")}(r,function(t,e){return Te(p,(function(n){var r="_."+n[0];e&n[1]&&!Se(t,r)&&t.push(r)})),t.sort()}(function(t){var e=t.match(at);return e?e[1].split(st):[]}(r),n)))}function Lo(t){var e=0,n=0;return function(){var r=yn(),o=16-(r-n);if(n=r,o>0){if(++e>=800)return arguments[0]}else e=0;return t.apply(i,arguments)}}function Io(t,e){var n=-1,r=t.length,o=r-1;for(e=e===i?r:e;++n1?t[e-1]:i;return n="function"==typeof n?(t.pop(),n):i,ia(t,n)}));function ha(t){var e=Gn(t);return e.__chain__=!0,e}function fa(t,e){return e(t)}var da=Ji((function(t){var e=t.length,n=e?t[0]:0,r=this.__wrapped__,o=function(e){return ir(e,t)};return!(e>1||this.__actions__.length)&&r instanceof Yn&&vo(n)?((r=r.slice(n,+n+(e?1:0))).__actions__.push({func:fa,args:[o],thisArg:i}),new Hn(r,this.__chain__).thru((function(t){return e&&!t.length&&t.push(i),t}))):this.thru(o)})),pa=Ai((function(t,e,n){Mt.call(t,n)?++t[n]:rr(t,n,1)})),ga=Di(Yo),va=Di(zo);function ba(t,e){return(za(t)?Te:lr)(t,oo(e,3))}function ya(t,e){return(za(t)?Ce:hr)(t,oo(e,3))}var ma=Ai((function(t,e,n){Mt.call(t,n)?t[n].push(e):rr(t,n,[e])})),wa=Xr((function(t,e,n){var i=-1,o="function"==typeof e,a=Va(t)?r(t.length):[];return lr(t,(function(t){a[++i]=o?Ee(e,t,n):Ar(t,e,n)})),a})),xa=Ai((function(t,e,n){rr(t,n,e)}));function _a(t,e){return(za(t)?Le:Rr)(t,oo(e,3))}var Ea=Ai((function(t,e,n){t[n?0:1].push(e)}),(function(){return[[],[]]})),ka=Xr((function(t,e){if(null==t)return[];var n=e.length;return n>1&&bo(t,e[0],e[1])?e=[]:n>2&&bo(e[0],e[1],e[2])&&(e=[e[0]]),Hr(t,gr(e,1),[])})),Ta=ue||function(){return he.Date.now()};function Ca(t,e,n){return e=n?i:e,e=t&&null==e?t.length:e,Wi(t,u,i,i,i,i,e)}function Na(t,e){var n;if("function"!=typeof e)throw new Nt(o);return t=ds(t),function(){return--t>0&&(n=e.apply(this,arguments)),t<=1&&(e=i),n}}var Aa=Xr((function(t,e,n){var r=1;if(n.length){var i=sn(n,io(Aa));r|=c}return Wi(t,r,e,n,i)})),Sa=Xr((function(t,e,n){var r=3;if(n.length){var i=sn(n,io(Sa));r|=c}return Wi(e,r,t,n,i)}));function Oa(t,e,n){var r,a,s,c,u,l,h=0,f=!1,d=!1,p=!0;if("function"!=typeof t)throw new Nt(o);function g(e){var n=r,o=a;return r=a=i,h=e,c=t.apply(o,n)}function v(t){var n=t-l;return l===i||n>=e||n<0||d&&t-h>=s}function b(){var t=Ta();if(v(t))return y(t);u=Ao(b,function(t){var n=e-(t-l);return d?bn(n,s-(t-h)):n}(t))}function y(t){return u=i,p&&r?g(t):(r=a=i,c)}function m(){var t=Ta(),n=v(t);if(r=arguments,a=this,l=t,n){if(u===i)return function(t){return h=t,u=Ao(b,e),f?g(t):c}(l);if(d)return mi(u),u=Ao(b,e),g(l)}return u===i&&(u=Ao(b,e)),c}return e=gs(e)||0,Ja(n)&&(f=!!n.leading,s=(d="maxWait"in n)?vn(gs(n.maxWait)||0,e):s,p="trailing"in n?!!n.trailing:p),m.cancel=function(){u!==i&&mi(u),h=0,r=l=a=u=i},m.flush=function(){return u===i?c:y(Ta())},m}var La=Xr((function(t,e){return cr(t,1,e)})),Ia=Xr((function(t,e,n){return cr(t,gs(e)||0,n)}));function Ma(t,e){if("function"!=typeof t||null!=e&&"function"!=typeof e)throw new Nt(o);var n=function(){var r=arguments,i=e?e.apply(this,r):r[0],o=n.cache;if(o.has(i))return o.get(i);var a=t.apply(this,r);return n.cache=o.set(i,a)||o,a};return n.cache=new(Ma.Cache||Vn),n}function Pa(t){if("function"!=typeof t)throw new Nt(o);return function(){var e=arguments;switch(e.length){case 0:return!t.call(this);case 1:return!t.call(this,e[0]);case 2:return!t.call(this,e[0],e[1]);case 3:return!t.call(this,e[0],e[1],e[2])}return!t.apply(this,e)}}Ma.Cache=Vn;var Da=bi((function(t,e){var n=(e=1==e.length&&za(e[0])?Le(e[0],$e(oo())):Le(gr(e,1),$e(oo()))).length;return Xr((function(r){for(var i=-1,o=bn(r.length,n);++i=e})),Ya=Sr(function(){return arguments}())?Sr:function(t){return ts(t)&&Mt.call(t,"callee")&&!qt.call(t,"callee")},za=r.isArray,Ua=be?$e(be):function(t){return ts(t)&&Er(t)==L};function Va(t){return null!=t&&Qa(t.length)&&!Za(t)}function qa(t){return ts(t)&&Va(t)}var Xa=ve||gc,Wa=ye?$e(ye):function(t){return ts(t)&&Er(t)==y};function $a(t){if(!ts(t))return!1;var e=Er(t);return e==m||"[object DOMException]"==e||"string"==typeof t.message&&"string"==typeof t.name&&!rs(t)}function Za(t){if(!Ja(t))return!1;var e=Er(t);return e==w||e==x||"[object AsyncFunction]"==e||"[object Proxy]"==e}function Ka(t){return"number"==typeof t&&t==ds(t)}function Qa(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=h}function Ja(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}function ts(t){return null!=t&&"object"==typeof t}var es=me?$e(me):function(t){return ts(t)&&ho(t)==_};function ns(t){return"number"==typeof t||ts(t)&&Er(t)==E}function rs(t){if(!ts(t)||Er(t)!=k)return!1;var e=Ut(t);if(null===e)return!0;var n=Mt.call(e,"constructor")&&e.constructor;return"function"==typeof n&&n instanceof n&&It.call(n)==jt}var is=we?$e(we):function(t){return ts(t)&&Er(t)==C},os=xe?$e(xe):function(t){return ts(t)&&ho(t)==N};function as(t){return"string"==typeof t||!za(t)&&ts(t)&&Er(t)==A}function ss(t){return"symbol"==typeof t||ts(t)&&Er(t)==S}var cs=_e?$e(_e):function(t){return ts(t)&&Qa(t.length)&&!!ie[Er(t)]},us=zi(Dr),ls=zi((function(t,e){return t<=e}));function hs(t){if(!t)return[];if(Va(t))return as(t)?hn(t):Ci(t);if($t&&t[$t])return function(t){for(var e,n=[];!(e=t.next()).done;)n.push(e.value);return n}(t[$t]());var e=ho(t);return(e==_?on:e==N?cn:Bs)(t)}function fs(t){return t?(t=gs(t))===l||t===-1/0?17976931348623157e292*(t<0?-1:1):t==t?t:0:0===t?t:0}function ds(t){var e=fs(t),n=e%1;return e==e?n?e-n:e:0}function ps(t){return t?or(ds(t),0,d):0}function gs(t){if("number"==typeof t)return t;if(ss(t))return f;if(Ja(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=Ja(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=We(t);var n=pt.test(t);return n||vt.test(t)?ce(t.slice(2),n?2:8):dt.test(t)?f:+t}function vs(t){return Ni(t,Ls(t))}function bs(t){return null==t?"":ai(t)}var ys=Si((function(t,e){if(xo(e)||Va(e))Ni(e,Os(e),t);else for(var n in e)Mt.call(e,n)&&Jn(t,n,e[n])})),ms=Si((function(t,e){Ni(e,Ls(e),t)})),ws=Si((function(t,e,n,r){Ni(e,Ls(e),t,r)})),xs=Si((function(t,e,n,r){Ni(e,Os(e),t,r)})),_s=Ji(ir),Es=Xr((function(t,e){t=kt(t);var n=-1,r=e.length,o=r>2?e[2]:i;for(o&&bo(e[0],e[1],o)&&(r=1);++n1),e})),Ni(t,eo(t),n),r&&(n=ar(n,7,Ki));for(var i=e.length;i--;)ci(n,e[i]);return n})),Ds=Ji((function(t,e){return null==t?{}:function(t,e){return Yr(t,e,(function(e,n){return Cs(t,n)}))}(t,e)}));function Rs(t,e){if(null==t)return{};var n=Le(eo(t),(function(t){return[t]}));return e=oo(e),Yr(t,n,(function(t,n){return e(t,n[0])}))}var js=Xi(Os),Gs=Xi(Ls);function Bs(t){return null==t?[]:Ze(t,Os(t))}var Fs=Mi((function(t,e,n){return e=e.toLowerCase(),t+(n?Hs(e):e)}));function Hs(t){return $s(bs(t).toLowerCase())}function Ys(t){return(t=bs(t))&&t.replace(yt,tn).replace(Kt,"")}var zs=Mi((function(t,e,n){return t+(n?"-":"")+e.toLowerCase()})),Us=Mi((function(t,e,n){return t+(n?" ":"")+e.toLowerCase()})),Vs=Ii("toLowerCase"),qs=Mi((function(t,e,n){return t+(n?"_":"")+e.toLowerCase()})),Xs=Mi((function(t,e,n){return t+(n?" ":"")+$s(e)})),Ws=Mi((function(t,e,n){return t+(n?" ":"")+e.toUpperCase()})),$s=Ii("toUpperCase");function Zs(t,e,n){return t=bs(t),(e=n?i:e)===i?function(t){return ee.test(t)}(t)?function(t){return t.match(Jt)||[]}(t):function(t){return t.match(ct)||[]}(t):t.match(e)||[]}var Ks=Xr((function(t,e){try{return Ee(t,i,e)}catch(t){return $a(t)?t:new xt(t)}})),Qs=Ji((function(t,e){return Te(e,(function(e){e=Ro(e),rr(t,e,Aa(t[e],t))})),t}));function Js(t){return function(){return t}}var tc=Ri(),ec=Ri(!0);function nc(t){return t}function rc(t){return Mr("function"==typeof t?t:ar(t,1))}var ic=Xr((function(t,e){return function(n){return Ar(n,t,e)}})),oc=Xr((function(t,e){return function(n){return Ar(t,n,e)}}));function ac(t,e,n){var r=Os(e),i=wr(e,r);null!=n||Ja(e)&&(i.length||!r.length)||(n=e,e=t,t=this,i=wr(e,Os(e)));var o=!(Ja(n)&&"chain"in n&&!n.chain),a=Za(t);return Te(i,(function(n){var r=e[n];t[n]=r,a&&(t.prototype[n]=function(){var e=this.__chain__;if(o||e){var n=t(this.__wrapped__);return(n.__actions__=Ci(this.__actions__)).push({func:r,args:arguments,thisArg:t}),n.__chain__=e,n}return r.apply(t,Ie([this.value()],arguments))})})),t}function sc(){}var cc=Fi(Le),uc=Fi(Ne),lc=Fi(De);function hc(t){return yo(t)?ze(Ro(t)):function(t){return function(e){return xr(e,t)}}(t)}var fc=Yi(),dc=Yi(!0);function pc(){return[]}function gc(){return!1}var vc,bc=Bi((function(t,e){return t+e}),0),yc=Vi("ceil"),mc=Bi((function(t,e){return t/e}),1),wc=Vi("floor"),xc=Bi((function(t,e){return t*e}),1),_c=Vi("round"),Ec=Bi((function(t,e){return t-e}),0);return Gn.after=function(t,e){if("function"!=typeof e)throw new Nt(o);return t=ds(t),function(){if(--t<1)return e.apply(this,arguments)}},Gn.ary=Ca,Gn.assign=ys,Gn.assignIn=ms,Gn.assignInWith=ws,Gn.assignWith=xs,Gn.at=_s,Gn.before=Na,Gn.bind=Aa,Gn.bindAll=Qs,Gn.bindKey=Sa,Gn.castArray=function(){if(!arguments.length)return[];var t=arguments[0];return za(t)?t:[t]},Gn.chain=ha,Gn.chunk=function(t,e,n){e=(n?bo(t,e,n):e===i)?1:vn(ds(e),0);var o=null==t?0:t.length;if(!o||e<1)return[];for(var a=0,s=0,c=r(fe(o/e));ao?0:o+n),(r=r===i||r>o?o:ds(r))<0&&(r+=o),r=n>r?0:ps(r);n>>0)?(t=bs(t))&&("string"==typeof e||null!=e&&!is(e))&&!(e=ai(e))&&rn(t)?yi(hn(t),0,n):t.split(e,n):[]},Gn.spread=function(t,e){if("function"!=typeof t)throw new Nt(o);return e=null==e?0:vn(ds(e),0),Xr((function(n){var r=n[e],i=yi(n,0,e);return r&&Ie(i,r),Ee(t,this,i)}))},Gn.tail=function(t){var e=null==t?0:t.length;return e?ti(t,1,e):[]},Gn.take=function(t,e,n){return t&&t.length?ti(t,0,(e=n||e===i?1:ds(e))<0?0:e):[]},Gn.takeRight=function(t,e,n){var r=null==t?0:t.length;return r?ti(t,(e=r-(e=n||e===i?1:ds(e)))<0?0:e,r):[]},Gn.takeRightWhile=function(t,e){return t&&t.length?li(t,oo(e,3),!1,!0):[]},Gn.takeWhile=function(t,e){return t&&t.length?li(t,oo(e,3)):[]},Gn.tap=function(t,e){return e(t),t},Gn.throttle=function(t,e,n){var r=!0,i=!0;if("function"!=typeof t)throw new Nt(o);return Ja(n)&&(r="leading"in n?!!n.leading:r,i="trailing"in n?!!n.trailing:i),Oa(t,e,{leading:r,maxWait:e,trailing:i})},Gn.thru=fa,Gn.toArray=hs,Gn.toPairs=js,Gn.toPairsIn=Gs,Gn.toPath=function(t){return za(t)?Le(t,Ro):ss(t)?[t]:Ci(Do(bs(t)))},Gn.toPlainObject=vs,Gn.transform=function(t,e,n){var r=za(t),i=r||Xa(t)||cs(t);if(e=oo(e,4),null==n){var o=t&&t.constructor;n=i?r?new o:[]:Ja(t)&&Za(o)?Bn(Ut(t)):{}}return(i?Te:yr)(t,(function(t,r,i){return e(n,t,r,i)})),n},Gn.unary=function(t){return Ca(t,1)},Gn.union=ta,Gn.unionBy=ea,Gn.unionWith=na,Gn.uniq=function(t){return t&&t.length?si(t):[]},Gn.uniqBy=function(t,e){return t&&t.length?si(t,oo(e,2)):[]},Gn.uniqWith=function(t,e){return e="function"==typeof e?e:i,t&&t.length?si(t,i,e):[]},Gn.unset=function(t,e){return null==t||ci(t,e)},Gn.unzip=ra,Gn.unzipWith=ia,Gn.update=function(t,e,n){return null==t?t:ui(t,e,gi(n))},Gn.updateWith=function(t,e,n,r){return r="function"==typeof r?r:i,null==t?t:ui(t,e,gi(n),r)},Gn.values=Bs,Gn.valuesIn=function(t){return null==t?[]:Ze(t,Ls(t))},Gn.without=oa,Gn.words=Zs,Gn.wrap=function(t,e){return Ra(gi(e),t)},Gn.xor=aa,Gn.xorBy=sa,Gn.xorWith=ca,Gn.zip=ua,Gn.zipObject=function(t,e){return di(t||[],e||[],Jn)},Gn.zipObjectDeep=function(t,e){return di(t||[],e||[],Zr)},Gn.zipWith=la,Gn.entries=js,Gn.entriesIn=Gs,Gn.extend=ms,Gn.extendWith=ws,ac(Gn,Gn),Gn.add=bc,Gn.attempt=Ks,Gn.camelCase=Fs,Gn.capitalize=Hs,Gn.ceil=yc,Gn.clamp=function(t,e,n){return n===i&&(n=e,e=i),n!==i&&(n=(n=gs(n))==n?n:0),e!==i&&(e=(e=gs(e))==e?e:0),or(gs(t),e,n)},Gn.clone=function(t){return ar(t,4)},Gn.cloneDeep=function(t){return ar(t,5)},Gn.cloneDeepWith=function(t,e){return ar(t,5,e="function"==typeof e?e:i)},Gn.cloneWith=function(t,e){return ar(t,4,e="function"==typeof e?e:i)},Gn.conformsTo=function(t,e){return null==e||sr(t,e,Os(e))},Gn.deburr=Ys,Gn.defaultTo=function(t,e){return null==t||t!=t?e:t},Gn.divide=mc,Gn.endsWith=function(t,e,n){t=bs(t),e=ai(e);var r=t.length,o=n=n===i?r:or(ds(n),0,r);return(n-=e.length)>=0&&t.slice(n,o)==e},Gn.eq=Ba,Gn.escape=function(t){return(t=bs(t))&&W.test(t)?t.replace(q,en):t},Gn.escapeRegExp=function(t){return(t=bs(t))&&nt.test(t)?t.replace(et,"\\$&"):t},Gn.every=function(t,e,n){var r=za(t)?Ne:fr;return n&&bo(t,e,n)&&(e=i),r(t,oo(e,3))},Gn.find=ga,Gn.findIndex=Yo,Gn.findKey=function(t,e){return je(t,oo(e,3),yr)},Gn.findLast=va,Gn.findLastIndex=zo,Gn.findLastKey=function(t,e){return je(t,oo(e,3),mr)},Gn.floor=wc,Gn.forEach=ba,Gn.forEachRight=ya,Gn.forIn=function(t,e){return null==t?t:vr(t,oo(e,3),Ls)},Gn.forInRight=function(t,e){return null==t?t:br(t,oo(e,3),Ls)},Gn.forOwn=function(t,e){return t&&yr(t,oo(e,3))},Gn.forOwnRight=function(t,e){return t&&mr(t,oo(e,3))},Gn.get=Ts,Gn.gt=Fa,Gn.gte=Ha,Gn.has=function(t,e){return null!=t&&fo(t,e,Tr)},Gn.hasIn=Cs,Gn.head=Vo,Gn.identity=nc,Gn.includes=function(t,e,n,r){t=Va(t)?t:Bs(t),n=n&&!r?ds(n):0;var i=t.length;return n<0&&(n=vn(i+n,0)),as(t)?n<=i&&t.indexOf(e,n)>-1:!!i&&Be(t,e,n)>-1},Gn.indexOf=function(t,e,n){var r=null==t?0:t.length;if(!r)return-1;var i=null==n?0:ds(n);return i<0&&(i=vn(r+i,0)),Be(t,e,i)},Gn.inRange=function(t,e,n){return e=fs(e),n===i?(n=e,e=0):n=fs(n),function(t,e,n){return t>=bn(e,n)&&t=-9007199254740991&&t<=h},Gn.isSet=os,Gn.isString=as,Gn.isSymbol=ss,Gn.isTypedArray=cs,Gn.isUndefined=function(t){return t===i},Gn.isWeakMap=function(t){return ts(t)&&ho(t)==O},Gn.isWeakSet=function(t){return ts(t)&&"[object WeakSet]"==Er(t)},Gn.join=function(t,e){return null==t?"":Ue.call(t,e)},Gn.kebabCase=zs,Gn.last=$o,Gn.lastIndexOf=function(t,e,n){var r=null==t?0:t.length;if(!r)return-1;var o=r;return n!==i&&(o=(o=ds(n))<0?vn(r+o,0):bn(o,r-1)),e==e?function(t,e,n){for(var r=n+1;r--;)if(t[r]===e)return r;return r}(t,e,o):Ge(t,He,o,!0)},Gn.lowerCase=Us,Gn.lowerFirst=Vs,Gn.lt=us,Gn.lte=ls,Gn.max=function(t){return t&&t.length?dr(t,nc,kr):i},Gn.maxBy=function(t,e){return t&&t.length?dr(t,oo(e,2),kr):i},Gn.mean=function(t){return Ye(t,nc)},Gn.meanBy=function(t,e){return Ye(t,oo(e,2))},Gn.min=function(t){return t&&t.length?dr(t,nc,Dr):i},Gn.minBy=function(t,e){return t&&t.length?dr(t,oo(e,2),Dr):i},Gn.stubArray=pc,Gn.stubFalse=gc,Gn.stubObject=function(){return{}},Gn.stubString=function(){return""},Gn.stubTrue=function(){return!0},Gn.multiply=xc,Gn.nth=function(t,e){return t&&t.length?Fr(t,ds(e)):i},Gn.noConflict=function(){return he._===this&&(he._=Gt),this},Gn.noop=sc,Gn.now=Ta,Gn.pad=function(t,e,n){t=bs(t);var r=(e=ds(e))?ln(t):0;if(!e||r>=e)return t;var i=(e-r)/2;return Hi(de(i),n)+t+Hi(fe(i),n)},Gn.padEnd=function(t,e,n){t=bs(t);var r=(e=ds(e))?ln(t):0;return e&&re){var r=t;t=e,e=r}if(n||t%1||e%1){var o=wn();return bn(t+o*(e-t+se("1e-"+((o+"").length-1))),e)}return Vr(t,e)},Gn.reduce=function(t,e,n){var r=za(t)?Me:Ve,i=arguments.length<3;return r(t,oo(e,4),n,i,lr)},Gn.reduceRight=function(t,e,n){var r=za(t)?Pe:Ve,i=arguments.length<3;return r(t,oo(e,4),n,i,hr)},Gn.repeat=function(t,e,n){return e=(n?bo(t,e,n):e===i)?1:ds(e),qr(bs(t),e)},Gn.replace=function(){var t=arguments,e=bs(t[0]);return t.length<3?e:e.replace(t[1],t[2])},Gn.result=function(t,e,n){var r=-1,o=(e=vi(e,t)).length;for(o||(o=1,t=i);++rh)return[];var n=d,r=bn(t,d);e=oo(e),t-=d;for(var i=Xe(r,e);++n=a)return t;var c=n-ln(r);if(c<1)return r;var u=s?yi(s,0,c).join(""):t.slice(0,c);if(o===i)return u+r;if(s&&(c+=u.length-c),is(o)){if(t.slice(c).search(o)){var l,h=u;for(o.global||(o=Tt(o.source,bs(ft.exec(o))+"g")),o.lastIndex=0;l=o.exec(h);)var f=l.index;u=u.slice(0,f===i?c:f)}}else if(t.indexOf(ai(o),c)!=c){var d=u.lastIndexOf(o);d>-1&&(u=u.slice(0,d))}return u+r},Gn.unescape=function(t){return(t=bs(t))&&X.test(t)?t.replace(V,dn):t},Gn.uniqueId=function(t){var e=++Pt;return bs(t)+e},Gn.upperCase=Ws,Gn.upperFirst=$s,Gn.each=ba,Gn.eachRight=ya,Gn.first=Vo,ac(Gn,(vc={},yr(Gn,(function(t,e){Mt.call(Gn.prototype,e)||(vc[e]=t)})),vc),{chain:!1}),Gn.VERSION="4.17.21",Te(["bind","bindKey","curry","curryRight","partial","partialRight"],(function(t){Gn[t].placeholder=Gn})),Te(["drop","take"],(function(t,e){Yn.prototype[t]=function(n){n=n===i?1:vn(ds(n),0);var r=this.__filtered__&&!e?new Yn(this):this.clone();return r.__filtered__?r.__takeCount__=bn(n,r.__takeCount__):r.__views__.push({size:bn(n,d),type:t+(r.__dir__<0?"Right":"")}),r},Yn.prototype[t+"Right"]=function(e){return this.reverse()[t](e).reverse()}})),Te(["filter","map","takeWhile"],(function(t,e){var n=e+1,r=1==n||3==n;Yn.prototype[t]=function(t){var e=this.clone();return e.__iteratees__.push({iteratee:oo(t,3),type:n}),e.__filtered__=e.__filtered__||r,e}})),Te(["head","last"],(function(t,e){var n="take"+(e?"Right":"");Yn.prototype[t]=function(){return this[n](1).value()[0]}})),Te(["initial","tail"],(function(t,e){var n="drop"+(e?"":"Right");Yn.prototype[t]=function(){return this.__filtered__?new Yn(this):this[n](1)}})),Yn.prototype.compact=function(){return this.filter(nc)},Yn.prototype.find=function(t){return this.filter(t).head()},Yn.prototype.findLast=function(t){return this.reverse().find(t)},Yn.prototype.invokeMap=Xr((function(t,e){return"function"==typeof t?new Yn(this):this.map((function(n){return Ar(n,t,e)}))})),Yn.prototype.reject=function(t){return this.filter(Pa(oo(t)))},Yn.prototype.slice=function(t,e){t=ds(t);var n=this;return n.__filtered__&&(t>0||e<0)?new Yn(n):(t<0?n=n.takeRight(-t):t&&(n=n.drop(t)),e!==i&&(n=(e=ds(e))<0?n.dropRight(-e):n.take(e-t)),n)},Yn.prototype.takeRightWhile=function(t){return this.reverse().takeWhile(t).reverse()},Yn.prototype.toArray=function(){return this.take(d)},yr(Yn.prototype,(function(t,e){var n=/^(?:filter|find|map|reject)|While$/.test(e),r=/^(?:head|last)$/.test(e),o=Gn[r?"take"+("last"==e?"Right":""):e],a=r||/^find/.test(e);o&&(Gn.prototype[e]=function(){var e=this.__wrapped__,s=r?[1]:arguments,c=e instanceof Yn,u=s[0],l=c||za(e),h=function(t){var e=o.apply(Gn,Ie([t],s));return r&&f?e[0]:e};l&&n&&"function"==typeof u&&1!=u.length&&(c=l=!1);var f=this.__chain__,d=!!this.__actions__.length,p=a&&!f,g=c&&!d;if(!a&&l){e=g?e:new Yn(this);var v=t.apply(e,s);return v.__actions__.push({func:fa,args:[h],thisArg:i}),new Hn(v,f)}return p&&g?t.apply(this,s):(v=this.thru(h),p?r?v.value()[0]:v.value():v)})})),Te(["pop","push","shift","sort","splice","unshift"],(function(t){var e=At[t],n=/^(?:push|sort|unshift)$/.test(t)?"tap":"thru",r=/^(?:pop|shift)$/.test(t);Gn.prototype[t]=function(){var t=arguments;if(r&&!this.__chain__){var i=this.value();return e.apply(za(i)?i:[],t)}return this[n]((function(n){return e.apply(za(n)?n:[],t)}))}})),yr(Yn.prototype,(function(t,e){var n=Gn[e];if(n){var r=n.name+"";Mt.call(Sn,r)||(Sn[r]=[]),Sn[r].push({name:e,func:n})}})),Sn[ji(i,2).name]=[{name:"wrapper",func:i}],Yn.prototype.clone=function(){var t=new Yn(this.__wrapped__);return t.__actions__=Ci(this.__actions__),t.__dir__=this.__dir__,t.__filtered__=this.__filtered__,t.__iteratees__=Ci(this.__iteratees__),t.__takeCount__=this.__takeCount__,t.__views__=Ci(this.__views__),t},Yn.prototype.reverse=function(){if(this.__filtered__){var t=new Yn(this);t.__dir__=-1,t.__filtered__=!0}else(t=this.clone()).__dir__*=-1;return t},Yn.prototype.value=function(){var t=this.__wrapped__.value(),e=this.__dir__,n=za(t),r=e<0,i=n?t.length:0,o=function(t,e,n){for(var r=-1,i=n.length;++r=this.__values__.length;return{done:t,value:t?i:this.__values__[this.__index__++]}},Gn.prototype.plant=function(t){for(var e,n=this;n instanceof Fn;){var r=Go(n);r.__index__=0,r.__values__=i,e?o.__wrapped__=r:e=r;var o=r;n=n.__wrapped__}return o.__wrapped__=t,e},Gn.prototype.reverse=function(){var t=this.__wrapped__;if(t instanceof Yn){var e=t;return this.__actions__.length&&(e=new Yn(this)),(e=e.reverse()).__actions__.push({func:fa,args:[Jo],thisArg:i}),new Hn(e,this.__chain__)}return this.thru(Jo)},Gn.prototype.toJSON=Gn.prototype.valueOf=Gn.prototype.value=function(){return hi(this.__wrapped__,this.__actions__)},Gn.prototype.first=Gn.prototype.head,$t&&(Gn.prototype[$t]=function(){return this}),Gn}();he._=pn,(r=function(){return pn}.call(e,n,e,t))===i||(t.exports=r)}.call(this)},5161:(t,e,n)=>{var r=n(9932),i=n(7206),o=n(9199),a=n(1469);t.exports=function(t,e){return(a(t)?r:o)(t,i(e,3))}},6604:(t,e,n)=>{var r=n(9465),i=n(7816),o=n(7206);t.exports=function(t,e){var n={};return e=o(e,3),i(t,(function(t,i,o){r(n,i,e(t,i,o))})),n}},6162:(t,e,n)=>{var r=n(6029),i=n(3325),o=n(6557);t.exports=function(t){return t&&t.length?r(t,o,i):void 0}},8306:(t,e,n)=>{var r=n(3369);function i(t,e){if("function"!=typeof t||null!=e&&"function"!=typeof e)throw new TypeError("Expected a function");var n=function(){var r=arguments,i=e?e.apply(this,r):r[0],o=n.cache;if(o.has(i))return o.get(i);var a=t.apply(this,r);return n.cache=o.set(i,a)||o,a};return n.cache=new(i.Cache||r),n}i.Cache=r,t.exports=i},3857:(t,e,n)=>{var r=n(2980),i=n(1463)((function(t,e,n){r(t,e,n)}));t.exports=i},3632:(t,e,n)=>{var r=n(6029),i=n(433),o=n(6557);t.exports=function(t){return t&&t.length?r(t,o,i):void 0}},2762:(t,e,n)=>{var r=n(6029),i=n(7206),o=n(433);t.exports=function(t,e){return t&&t.length?r(t,i(e,2),o):void 0}},308:t=>{t.exports=function(){}},7771:(t,e,n)=>{var r=n(5639);t.exports=function(){return r.Date.now()}},9722:(t,e,n)=>{var r=n(5970),i=n(9021)((function(t,e){return null==t?{}:r(t,e)}));t.exports=i},9601:(t,e,n)=>{var r=n(371),i=n(9152),o=n(5403),a=n(327);t.exports=function(t){return o(t)?r(a(t)):i(t)}},6026:(t,e,n)=>{var r=n(7445)();t.exports=r},4061:(t,e,n)=>{var r=n(2663),i=n(9881),o=n(7206),a=n(107),s=n(1469);t.exports=function(t,e,n){var c=s(t)?r:a,u=arguments.length<3;return c(t,o(e,4),n,u,i)}},6968:(t,e,n)=>{var r=n(611);t.exports=function(t,e,n){return null==t?t:r(t,e,n)}},4238:(t,e,n)=>{var r=n(280),i=n(4160),o=n(8612),a=n(7037),s=n(8016);t.exports=function(t){if(null==t)return 0;if(o(t))return a(t)?s(t):t.length;var e=i(t);return"[object Map]"==e||"[object Set]"==e?t.size:r(t).length}},9734:(t,e,n)=>{var r=n(1078),i=n(9556),o=n(5976),a=n(6612),s=o((function(t,e){if(null==t)return[];var n=e.length;return n>1&&a(t,e[0],e[1])?e=[]:n>2&&a(e[0],e[1],e[2])&&(e=[e[0]]),i(t,r(e,1),[])}));t.exports=s},479:t=>{t.exports=function(){return[]}},5062:t=>{t.exports=function(){return!1}},8601:(t,e,n)=>{var r=n(4841);t.exports=function(t){return t?Infinity===(t=r(t))||t===-1/0?17976931348623157e292*(t<0?-1:1):t==t?t:0:0===t?t:0}},554:(t,e,n)=>{var r=n(8601);t.exports=function(t){var e=r(t),n=e%1;return e==e?n?e-n:e:0}},4841:(t,e,n)=>{var r=n(7561),i=n(3218),o=n(3448),a=/^[-+]0x[0-9a-f]+$/i,s=/^0b[01]+$/i,c=/^0o[0-7]+$/i,u=parseInt;t.exports=function(t){if("number"==typeof t)return t;if(o(t))return NaN;if(i(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=i(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=r(t);var n=s.test(t);return n||c.test(t)?u(t.slice(2),n?2:8):a.test(t)?NaN:+t}},84:(t,e,n)=>{var r=n(9932),i=n(278),o=n(1469),a=n(3448),s=n(5514),c=n(327),u=n(9833);t.exports=function(t){return o(t)?r(t,c):a(t)?[t]:i(s(u(t)))}},3678:(t,e,n)=>{var r=n(8363),i=n(1704);t.exports=function(t){return r(t,i(t))}},9833:(t,e,n)=>{var r=n(531);t.exports=function(t){return null==t?"":r(t)}},8718:(t,e,n)=>{var r=n(7412),i=n(3118),o=n(7816),a=n(7206),s=n(5924),c=n(1469),u=n(4144),l=n(3560),h=n(3218),f=n(6719);t.exports=function(t,e,n){var d=c(t),p=d||u(t)||f(t);if(e=a(e,4),null==n){var g=t&&t.constructor;n=p?d?new g:[]:h(t)&&l(g)?i(s(t)):{}}return(p?r:o)(t,(function(t,r,i){return e(n,t,r,i)})),n}},3386:(t,e,n)=>{var r=n(1078),i=n(5976),o=n(5652),a=n(9246),s=i((function(t){return o(r(t,1,a,!0))}));t.exports=s},3955:(t,e,n)=>{var r=n(9833),i=0;t.exports=function(t){var e=++i;return r(t)+e}},2628:(t,e,n)=>{var r=n(7415),i=n(3674);t.exports=function(t){return null==t?[]:r(t,i(t))}},7287:(t,e,n)=>{var r=n(4865),i=n(1757);t.exports=function(t,e){return i(t||[],e||[],r)}},2703:(t,e,n)=>{"use strict";var r=n(414);function i(){}function o(){}o.resetWarningCache=i,t.exports=function(){function t(t,e,n,i,o,a){if(a!==r){var s=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw s.name="Invariant Violation",s}}function e(){return t}t.isRequired=t;var n={array:t,bigint:t,bool:t,func:t,number:t,object:t,string:t,symbol:t,any:t,arrayOf:e,element:t,elementType:t,instanceOf:e,node:t,objectOf:e,oneOf:e,oneOfType:e,shape:e,exact:e,checkPropTypes:o,resetWarningCache:i};return n.PropTypes=n,n}},5697:(t,e,n)=>{t.exports=n(2703)()},414:t=>{"use strict";t.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},3379:t=>{"use strict";var e=[];function n(t){for(var n=-1,r=0;r{"use strict";var e={};t.exports=function(t,n){var r=function(t){if(void 0===e[t]){var n=document.querySelector(t);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(t){n=null}e[t]=n}return e[t]}(t);if(!r)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");r.appendChild(n)}},9216:t=>{"use strict";t.exports=function(t){var e=document.createElement("style");return t.setAttributes(e,t.attributes),t.insert(e,t.options),e}},3565:(t,e,n)=>{"use strict";t.exports=function(t){var e=n.nc;e&&t.setAttribute("nonce",e)}},7795:t=>{"use strict";t.exports=function(t){if("undefined"==typeof document)return{update:function(){},remove:function(){}};var e=t.insertStyleElement(t);return{update:function(n){!function(t,e,n){var r="";n.supports&&(r+="@supports (".concat(n.supports,") {")),n.media&&(r+="@media ".concat(n.media," {"));var i=void 0!==n.layer;i&&(r+="@layer".concat(n.layer.length>0?" ".concat(n.layer):""," {")),r+=n.css,i&&(r+="}"),n.media&&(r+="}"),n.supports&&(r+="}");var o=n.sourceMap;o&&"undefined"!=typeof btoa&&(r+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(o))))," */")),e.styleTagTransform(r,t,e.options)}(e,t,n)},remove:function(){!function(t){if(null===t.parentNode)return!1;t.parentNode.removeChild(t)}(e)}}}},4589:t=>{"use strict";t.exports=function(t,e){if(e.styleSheet)e.styleSheet.cssText=t;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(t))}}},5295:module=>{var __dirname="/",f;f=function(){var define,module,exports;return function t(e,n,r){function i(a,s){if(!n[a]){if(!e[a]){if(o)return o(a,!0);var c=new Error("Cannot find module '"+a+"'");throw c.code="MODULE_NOT_FOUND",c}var u=n[a]={exports:{}};e[a][0].call(u.exports,(function(t){return i(e[a][1][t]||t)}),u,u.exports,t,e,n,r)}return n[a].exports}for(var o=void 0,a=0;ae?1:0},this.require(t,"_$_$_cmp"),this.spread((function(t){var e=t.sort(_$_$_cmp);resolve(e)})).then((function(r){for(var i=function(n,i,o){i=Math.min(i,e),o=Math.min(o,e);for(var a=n,s=i,c=[],u=a;u=o||t(l,h)<=0)?(c.push(l),n++):(c.push(h),i++)}for(u=0;u1?", "+JSON.stringify(n):"")+" );"," "," resolve = origResolve;"," resolve( res.length > 0 ? res : ret );","}"].join("\n"))}};util.extend(thdfn,{reduce:defineFnal({name:"reduce"}),reduceRight:defineFnal({name:"reduceRight"}),map:defineFnal({name:"map"})});var fn=thdfn;fn.promise=fn.run,fn.terminate=fn.halt=fn.stop,fn.include=fn.require,util.extend(thdfn,{on:define.on(),one:define.on({unbindSelfOnTrigger:!0}),off:define.off(),trigger:define.trigger()}),define.eventAliasesOn(thdfn),module.exports=Thread},{"./define":1,"./event":2,"./is":5,"./promise":6,"./util":8,"./window":9,child_process:void 0,path:void 0}],8:[function(t,e,n){"use strict";var r,i=t("./is");r={extend:function(){var t,e,n,o,a,s,c=arguments[0]||{},u=1,l=arguments.length,h=!1;for("boolean"==typeof c&&(h=c,c=arguments[1]||{},u=2),"object"==typeof c||i.fn(c)||(c={}),l===u&&(c=this,--u);u{"use strict";function r(t){for(var n in t)e.hasOwnProperty(n)||(e[n]=t[n])}Object.defineProperty(e,"__esModule",{value:!0}),r(n(89)),r(n(2845)),r(n(7069)),r(n(6085)),r(n(7598)),r(n(7384)),r(n(7426)),r(n(6749)),r(n(9427)),r(n(8793)),r(n(7421)),r(n(1138)),r(n(31)),r(n(2867)),r(n(4926)),r(n(7565))},89:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},r(t,e)},function(t,e){function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,"__esModule",{value:!0});var o=n(7426),a=function(t){function e(e){var n=t.call(this)||this,r=e;return r.trigger&&(n.trigger=r.trigger),r.kick&&(n.kick=r.kick),r.drag&&(n.drag=r.drag),r.on&&(n.on=r.on),n.dragstart=n.dragStart=o.Layout.dragStart,n.dragend=n.dragEnd=o.Layout.dragEnd,n}return i(e,t),e.prototype.trigger=function(t){},e.prototype.kick=function(){},e.prototype.drag=function(){},e.prototype.on=function(t,e){return this},e}(o.Layout);e.LayoutAdaptor=a,e.adaptor=function(t){return new a(t)}},7565:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(7426),i=n(7598);e.gridify=function(t,e,n,r){return t.cola.start(0,0,0,10,!1),function(t,e,n,r){t.forEach((function(t){t.routerNode={name:t.name,bounds:t.bounds.inflate(-n)}})),e.forEach((function(e){e.routerNode={bounds:e.bounds.inflate(-r),children:(void 0!==e.groups?e.groups.map((function(e){return t.length+e.id})):[]).concat(void 0!==e.leaves?e.leaves.map((function(t){return t.index})):[])}}));var o=t.concat(e).map((function(t,e){return t.routerNode.id=e,t.routerNode}));return new i.GridRouter(o,{getChildren:function(t){return t.children},getBounds:function(t){return t.bounds}},n-r)}(t.cola.nodes(),t.cola.groups(),n,r).routeEdges(t.powerGraph.powerEdges,e,(function(t){return t.source.routerNode.id}),(function(t){return t.target.routerNode.id}))},e.powerGraphGridLayout=function(t,e,n){var i;t.nodes.forEach((function(t,e){return t.index=e})),(new r.Layout).avoidOverlaps(!1).nodes(t.nodes).links(t.links).powerGraphGroups((function(t){(i=t).groups.forEach((function(t){return t.padding=n}))}));var o=t.nodes.length,a=[],s=t.nodes.slice(0);return s.forEach((function(t,e){return t.index=e})),i.groups.forEach((function(t){var e=t.index=t.id+o;s.push(t),void 0!==t.leaves&&t.leaves.forEach((function(t){return a.push({source:e,target:t.index})})),void 0!==t.groups&&t.groups.forEach((function(t){return a.push({source:e,target:t.id+o})}))})),i.powerEdges.forEach((function(t){a.push({source:t.source.index,target:t.target.index})})),(new r.Layout).size(e).nodes(s).links(a).avoidOverlaps(!1).linkDistance(30).symmetricDiffLinkLengths(5).convergenceThreshold(1e-4).start(100,0,0,0,!1),{cola:(new r.Layout).convergenceThreshold(.001).size(e).avoidOverlaps(!0).nodes(t.nodes).links(t.links).groupCompactness(1e-4).linkDistance(30).symmetricDiffLinkLengths(5).powerGraphGroups((function(t){(i=t).groups.forEach((function(t){t.padding=n}))})).start(50,0,100,0,!1),powerGraph:i}}},2845:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(1509),i=n(1374);e.d3adaptor=function(t){return!t||function(t){return t.version&&null!==t.version.match(/^3\./)}(t)?new r.D3StyleLayoutAdaptor:new i.D3StyleLayoutAdaptor(t)}},1509:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},r(t,e)},function(t,e){function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,"__esModule",{value:!0});var o=n(7426),a=function(t){function e(){var e=t.call(this)||this;e.event=d3.dispatch(o.EventType[o.EventType.start],o.EventType[o.EventType.tick],o.EventType[o.EventType.end]);var n=e;return e.drag=function(){if(!t)var t=d3.behavior.drag().origin(o.Layout.dragOrigin).on("dragstart.d3adaptor",o.Layout.dragStart).on("drag.d3adaptor",(function(t){o.Layout.drag(t,d3.event),n.resume()})).on("dragend.d3adaptor",o.Layout.dragEnd);if(!arguments.length)return t;this.call(t)},e}return i(e,t),e.prototype.trigger=function(t){var e={type:o.EventType[t.type],alpha:t.alpha,stress:t.stress};this.event[e.type](e)},e.prototype.kick=function(){var e=this;d3.timer((function(){return t.prototype.tick.call(e)}))},e.prototype.on=function(t,e){return"string"==typeof t?this.event.on(t,e):this.event.on(o.EventType[t],e),this},e}(o.Layout);e.D3StyleLayoutAdaptor=a,e.d3adaptor=function(){return new a}},1374:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},r(t,e)},function(t,e){function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,"__esModule",{value:!0});var o=n(7426),a=function(t){function e(e){var n=t.call(this)||this;n.d3Context=e,n.event=e.dispatch(o.EventType[o.EventType.start],o.EventType[o.EventType.tick],o.EventType[o.EventType.end]);var r=n;return n.drag=function(){if(!t)var t=e.drag().subject(o.Layout.dragOrigin).on("start.d3adaptor",o.Layout.dragStart).on("drag.d3adaptor",(function(t){o.Layout.drag(t,e.event),r.resume()})).on("end.d3adaptor",o.Layout.dragEnd);if(!arguments.length)return t;arguments[0].call(t)},n}return i(e,t),e.prototype.trigger=function(t){var e={type:o.EventType[t.type],alpha:t.alpha,stress:t.stress};this.event.call(e.type,e)},e.prototype.kick=function(){var e=this,n=this.d3Context.timer((function(){return t.prototype.tick.call(e)&&n.stop()}))},e.prototype.on=function(t,e){return"string"==typeof t?this.event.on(t,e):this.event.on(o.EventType[t],e),this},e}(o.Layout);e.D3StyleLayoutAdaptor=a},7069:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(){this.locks={}}return t.prototype.add=function(t,e){this.locks[t]=e},t.prototype.clear=function(){this.locks={}},t.prototype.isEmpty=function(){for(var t in this.locks)return!1;return!0},t.prototype.apply=function(t){for(var e in this.locks)t(Number(e),this.locks[e])},t}();e.Locks=n;var r=function(){function t(t,e,r){void 0===r&&(r=null),this.D=e,this.G=r,this.threshold=1e-4,this.numGridSnapNodes=0,this.snapGridSize=100,this.snapStrength=1e3,this.scaleSnapByMaxH=!1,this.random=new i,this.project=null,this.x=t,this.k=t.length;var o=this.n=t[0].length;this.H=new Array(this.k),this.g=new Array(this.k),this.Hd=new Array(this.k),this.a=new Array(this.k),this.b=new Array(this.k),this.c=new Array(this.k),this.d=new Array(this.k),this.e=new Array(this.k),this.ia=new Array(this.k),this.ib=new Array(this.k),this.xtmp=new Array(this.k),this.locks=new n,this.minD=Number.MAX_VALUE;for(var a,s=o;s--;)for(a=o;--a>s;){var c=e[s][a];c>0&&c1e-9)break;var d=this.offsetDir();for(r=0;r1&&p>g||!isFinite(g))for(r=0;r1&&(v=1);var b=g*g,y=2*v*(p-g)/(b*p),m=p*p*p,w=2*-v/(b*m);for(isFinite(y)||console.log(y),r=0;r0?T-(A+1)*_:T-(A-1)*_)&&f<=x&&(this.scaleSnapByMaxH?(this.g[r][c]+=s*E*f,this.H[r][c][c]+=s*E):(this.g[r][c]+=E*f,this.H[r][c][c]+=E))}this.locks.isEmpty()||this.locks.apply((function(n,i){for(r=0;r0;)for(var i=e;i-- >0;)n(r,i)},t.prototype.matrixApply=function(e){t.mApply(this.k,this.n,e)},t.prototype.computeNextPosition=function(t,e){var n=this;this.computeDerivatives(t);var r=this.computeStepSize(this.g);if(this.stepAndProject(t,e,this.g,r),this.project){this.matrixApply((function(r,i){return n.e[r][i]=t[r][i]-e[r][i]}));var i=this.computeStepSize(this.e);i=Math.max(.2,Math.min(i,1)),this.stepAndProject(t,e,this.e,i)}},t.prototype.run=function(t){for(var e=Number.MAX_VALUE,n=!1;!n&&t-- >0;){var r=this.rungeKutta();n=Math.abs(e/r-1)>16)/this.range},t.prototype.getNextBetween=function(t,e){return t+this.getNext()*(e-t)},t}();e.PseudoRandom=i},6085:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},r(t,e)},function(t,e){function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,"__esModule",{value:!0});var o=n(31),a=function(){};e.Point=a;var s=function(t,e,n,r){this.x1=t,this.y1=e,this.x2=n,this.y2=r};e.LineSegment=s;var c=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e}(a);function u(t,e,n){return(e.x-t.x)*(n.y-t.y)-(n.x-t.x)*(e.y-t.y)}function l(t,e,n){return u(t,e,n)>0}function h(t,e,n){return u(t,e,n)<0}function f(t,e){var n,r,i,o,a=e.length-1;if(h(t,e[1],e[0])&&!l(t,e[a-1],e[0]))return 0;for(n=0,r=a;;){if(r-n==1)return l(t,e[n],e[r])?n:r;if((o=h(t,e[(i=Math.floor((n+r)/2))+1],e[i]))&&!l(t,e[i-1],e[i]))return i;l(t,e[n+1],e[n])?o||l(t,e[n],e[i])?r=i:n=i:o&&h(t,e[n],e[i])?r=i:n=i}}function d(t,e){var n,r,i,o,a=e.length-1;if(l(t,e[a-1],e[0])&&!h(t,e[1],e[0]))return 0;for(n=0,r=a;;){if(r-n==1)return h(t,e[n],e[r])?n:r;if(o=h(t,e[(i=Math.floor((n+r)/2))+1],e[i]),l(t,e[i-1],e[i])&&!o)return i;h(t,e[n+1],e[n])?o?h(t,e[n],e[i])?r=i:n=i:r=i:o?n=i:l(t,e[n],e[i])?r=i:n=i}}function p(t,e,n,r,i,o){var a,s;s=r(t[a=n(e[0],t)],e);for(var c=!1;!c;){for(c=!0;a===t.length-1&&(a=0),!i(e[s],t[a],t[a+1]);)++a;for(;0===s&&(s=e.length-1),!o(t[a],e[s],e[s-1]);)--s,c=!1}return{t1:a,t2:s}}function g(t,e){return p(t,e,f,d,l,h)}e.PolyPoint=c,e.isLeft=u,e.ConvexHull=function(t){var e,n=t.slice(0).sort((function(t,e){return t.x!==e.x?e.x-t.x:e.y-t.y})),r=t.length,i=n[0].x;for(e=1;e=0&&n[e].x===l;e--);for(s=e+1,e=o;++e<=s;)if(!(u(n[0],n[s],n[e])>=0&&e1&&!(u(a[a.length-2],a[a.length-1],n[e])>0);)a.length-=1;0!=e&&a.push(n[e])}c!=s&&a.push(n[c]);var h=a.length;for(e=s;--e>=o;)if(!(u(n[c],n[o],n[e])>=0&&e>o)){for(;a.length>h&&!(u(a[a.length-2],a[a.length-1],n[e])>0);)a.length-=1;0!=e&&a.push(n[e])}}return a},e.clockwiseRadialSweep=function(t,e,n){e.slice(0).sort((function(e,n){return Math.atan2(e.y-t.y,e.x-t.x)-Math.atan2(n.y-t.y,n.x-t.x)})).forEach(n)},e.tangent_PolyPolyC=p,e.LRtangent_PolyPolyC=function(t,e){var n=g(e,t);return{t1:n.t2,t2:n.t1}},e.RLtangent_PolyPolyC=g,e.LLtangent_PolyPolyC=function(t,e){return p(t,e,d,d,h,h)},e.RRtangent_PolyPolyC=function(t,e){return p(t,e,f,f,l,l)};var v=function(t,e){this.t1=t,this.t2=e};e.BiTangent=v;var b=function(){};e.BiTangents=b;var y=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e}(a);e.TVGPoint=y;var m=function(t,e,n,r){this.id=t,this.polyid=e,this.polyvertid=n,this.p=r,r.vv=this};e.VisibilityVertex=m;var w=function(){function t(t,e){this.source=t,this.target=e}return t.prototype.length=function(){var t=this.source.p.x-this.target.p.x,e=this.source.p.y-this.target.p.y;return Math.sqrt(t*t+e*e)},t}();e.VisibilityEdge=w;var x=function(){function t(t,e){if(this.P=t,this.V=[],this.E=[],e)this.V=e.V.slice(0),this.E=e.E.slice(0);else{for(var n=t.length,r=0;r0&&this.E.push(new w(i[o-1].vv,s))}i.length>1&&this.E.push(new w(i[0].vv,i[i.length-1].vv))}for(r=0;r0)return!0;return!1},t}();function _(t,e){for(var n=[],r=1,i=e.length;r=0&&g>=0&&y<0&&m>=0&&w>=0&&x<0?i.ll=new v(o,a):p<=0&&g<=0&&y>0&&m<=0&&w<=0&&x>0?i.rr=new v(o,a):p<=0&&g>0&&y<=0&&m>=0&&w<0&&x>=0?i.rl=new v(o,a):p>=0&&g<0&&y>=0&&m<=0&&w>0&&x<=0&&(i.lr=new v(o,a))}return i}function k(t,e){return!t.every((function(t){return!function(t,e){for(var n=1,r=e.length;n0)return!0}return!1}},7598:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(31),i=n(4926),o=n(2867),a=function(t,e,n){this.id=t,this.rect=e,this.children=n,this.leaf=void 0===n||0===n.length};e.NodeWrapper=a;var s=function(t,e,n,r,i){void 0===r&&(r=null),void 0===i&&(i=null),this.id=t,this.x=e,this.y=n,this.node=r,this.line=i};e.Vert=s;var c=function(){function t(e,n){this.s=e,this.t=n;var r=t.findMatch(e,n),i=n.slice(0).reverse(),o=t.findMatch(e,i);r.length>=o.length?(this.length=r.length,this.si=r.si,this.ti=r.ti,this.reversed=!1):(this.length=o.length,this.si=o.si,this.ti=n.length-o.ti-o.length,this.reversed=!0)}return t.findMatch=function(t,e){for(var n=t.length,r=e.length,i={length:0,si:-1,ti:-1},o=new Array(n),a=0;ai.length&&(i.length=c,i.si=a-c+1,i.ti=s-c+1)}else o[a][s]=0}return i},t.prototype.getSequence=function(){return this.length>=0?this.s.slice(this.si,this.si+this.length):[]},t}();e.LongestCommonSubsequence=c;var u=function(){function t(t,e,n){var i=this;void 0===n&&(n=12),this.originalnodes=t,this.groupPadding=n,this.leaves=null,this.nodes=t.map((function(t,n){return new a(n,e.getBounds(t),e.getChildren(t))})),this.leaves=this.nodes.filter((function(t){return t.leaf})),this.groups=this.nodes.filter((function(t){return!t.leaf})),this.cols=this.getGridLines("x"),this.rows=this.getGridLines("y"),this.groups.forEach((function(t){return t.children.forEach((function(e){return i.nodes[e].parent=t}))})),this.root={children:[]},this.nodes.forEach((function(t){void 0===t.parent&&(t.parent=i.root,i.root.children.push(t.id)),t.ports=[]})),this.backToFront=this.nodes.slice(0),this.backToFront.sort((function(t,e){return i.getDepth(t)-i.getDepth(e)})),this.backToFront.slice(0).reverse().filter((function(t){return!t.leaf})).forEach((function(t){var e=r.Rectangle.empty();t.children.forEach((function(t){return e=e.union(i.nodes[t].rect)})),t.rect=e.inflate(i.groupPadding)}));var o=this.midPoints(this.cols.map((function(t){return t.pos}))),c=this.midPoints(this.rows.map((function(t){return t.pos}))),u=o[0],l=o[o.length-1],h=c[0],f=c[c.length-1],d=this.rows.map((function(t){return{x1:u,x2:l,y1:t.pos,y2:t.pos}})).concat(c.map((function(t){return{x1:u,x2:l,y1:t,y2:t}}))),p=this.cols.map((function(t){return{x1:t.pos,x2:t.pos,y1:h,y2:f}})).concat(o.map((function(t){return{x1:t,x2:t,y1:h,y2:f}}))),g=d.concat(p);g.forEach((function(t){return t.verts=[]})),this.verts=[],this.edges=[],d.forEach((function(t){return p.forEach((function(e){var n=new s(i.verts.length,e.x1,t.y1);t.verts.push(n),e.verts.push(n),i.verts.push(n);for(var r=i.backToFront.length;r-- >0;){var o=i.backToFront[r],a=o.rect,c=Math.abs(n.x-a.cx()),u=Math.abs(n.y-a.cy());if(c0;){var r=n.filter((function(e){return e.rect["overlap"+t.toUpperCase()](n[0].rect)})),i={nodes:r,pos:this.avg(r.map((function(e){return e.rect["c"+t]()})))};e.push(i),i.nodes.forEach((function(t){return n.splice(n.indexOf(t),1)}))}return e.sort((function(t,e){return t.pos-e.pos})),e},t.prototype.getDepth=function(t){for(var e=0;t.parent!==this.root;)e++,t=t.parent;return e},t.prototype.midPoints=function(t){for(var e=t[1]-t[0],n=[t[0]-e/2],r=1;r.1)&&(u={pos:h[0][e],segments:[]},c.push(u)),u.segments.push(h)}return c},t.nudgeSegs=function(t,e,n,r,o,a){var s=r.length;if(!(s<=1)){for(var c=r.map((function(e){return new i.Variable(e[0][t])})),u=[],l=0;l=0&&u.push(new i.Constraint(c[v],c[b],a))}new i.Solver(c,u).solve(),c.forEach((function(e,i){var o=r[i],a=e.position();o[0][t]=o[1][t]=a;var s=n[o.edgeid];o.i>0&&(s[o.i-1][1][t]=a),o.iMath.PI||i<-Math.PI)&&(i=r-n),i},t.isLeft=function(t,e,n){return(e.x-t.x)*(n.y-t.y)-(e.y-t.y)*(n.x-t.x)<=0},t.getOrder=function(t){for(var e={},n=0;n=u.length||h.ti+h.length>=l.length)?n.push({l:r,r:i}):(h.si+h.length>=u.length||h.ti+h.length>=l.length?(o=u[h.si+1],s=u[h.si-1],a=l[h.ti-1]):(o=u[h.si+h.length-2],a=u[h.si+h.length],s=l[h.ti+h.length]),t.isLeft(o,a,s)?n.push({l:i,r}):n.push({l:r,r:i})))}return t.getOrder(n)},t.makeSegments=function(t){function e(t){return{x:t.x,y:t.y}}for(var n=function(t,e,n){return Math.abs((e.x-t.x)*(n.y-t.y)-(e.y-t.y)*(n.x-t.x))<.001},r=[],i=e(t[0]),o=1;o1&&l>1?1e3:0})),h=l.reverse().map((function(t){return n.verts[t]}));return h.push(this.nodes[i.id].ports[0]),h.filter((function(t,e){return!(e0&&t.node===i&&h[e-1].node===i)}))},t.getRoutePath=function(e,n,r,i){var o,a,s,c={routepath:"M "+e[0][0].x+" "+e[0][0].y+" ",arrowpath:""};if(e.length>1)for(var u=0;u0?l-=f/Math.abs(f)*n:h-=d/Math.abs(d)*n,c.routepath+="L "+l+" "+h+" ";var p=e[u+1],g=p[0].x,v=p[0].y;f=p[1].x-g,d=p[1].y-v;var b,y,m=t.angleBetween2Lines(o,p)<0?1:0;Math.abs(f)>0?(b=g+f/Math.abs(f)*n,y=v):(b=g,y=v+d/Math.abs(d)*n);var w=Math.abs(b-l),x=Math.abs(y-h);c.routepath+="A "+w+" "+x+" 0 0 "+m+" "+b+" "+y+" "}else{var _=[l,h];Math.abs(f)>0?(a=[l-=f/Math.abs(f)*i,h+r],s=[l,h-r]):(a=[l+r,h-=d/Math.abs(d)*i],s=[l-r,h]),c.routepath+="L "+l+" "+h+" ",i>0&&(c.arrowpath="M "+_[0]+" "+_[1]+" L "+a[0]+" "+a[1]+" L "+s[0]+" "+s[1])}}else l=(o=e[0])[1].x,h=o[1].y,f=l-o[0].x,d=h-o[0].y,_=[l,h],Math.abs(f)>0?(a=[l-=f/Math.abs(f)*i,h+r],s=[l,h-r]):(a=[l+r,h-=d/Math.abs(d)*i],s=[l-r,h]),c.routepath+="L "+l+" "+h+" ",i>0&&(c.arrowpath="M "+_[0]+" "+_[1]+" L "+a[0]+" "+a[1]+" L "+s[0]+" "+s[1]);return c},t}();e.GridRouter=u},7384:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=10,r=(1+Math.sqrt(5))/2,i=1e-4;e.applyPacking=function(t,e,o,a,s,c){void 0===s&&(s=1),void 0===c&&(c=!0);var u=0,l=0,h=e,f=o,d=(s=void 0!==s?s:1,a=void 0!==a?a:0,0),p=0,g=0,v=0,b=[];function y(t,e){b=[],d=0,p=0,v=l;for(var n=0;n=t.height&&b[o].x+b[o].width+t.width+n-e<=i){r=b[o];break}b.push(t),void 0!==r?(t.x=r.x+r.width+n,t.y=r.bottom,t.space_left=t.height,t.bottom=t.y,r.space_left-=t.height+n,r.bottom+=t.height+n):(t.y=v,v+=t.height+n,t.x=u,t.bottom=t.y,t.space_left=t.height),t.y+t.height-p>-1e-4&&(p=t.y+t.height-l),t.x+t.width-d>-1e-4&&(d=t.x+t.width-u)}0!=t.length&&(function(t){t.forEach((function(t){var e,n,r,i,o;e=t,n=Number.MAX_VALUE,r=Number.MAX_VALUE,i=0,o=0,e.array.forEach((function(t){var e=void 0!==t.width?t.width:a,s=void 0!==t.height?t.height:a;e/=2,s/=2,i=Math.max(t.x+e,i),n=Math.min(t.x-e,n),o=Math.max(t.y+s,o),r=Math.min(t.y-s,r)})),e.width=i-n,e.height=o-r}))}(t),function(t,e){var o=Number.POSITIVE_INFINITY,a=0;t.sort((function(t,e){return e.height-t.height}));for(var s=v=g=t.reduce((function(t,e){return t.widthg||p>i;){if(1!=f){var v=c-(c-s)/r;l=y(t,v)}if(0!=f){var b=s+(c-s)/r;h=y(t,b)}if(d=Math.abs(v-b),p=Math.abs(l-h),lh?(s=v,v=b,l=h,f=1):(c=b,b=v,h=l,f=0),u++>100)break}y(t,a)}(t),c&&function(t){t.forEach((function(t){var e={x:0,y:0};t.array.forEach((function(t){e.x+=t.x,e.y+=t.y})),e.x/=t.array.length,e.y/=t.array.length;var n=e.x-t.width/2,r=e.y-t.height/2,i=t.x-n+h/2-d/2,o=t.y-r+f/2-p/2;t.array.forEach((function(t){t.x+=i,t.y+=o}))}))}(t))},e.separateGraphs=function(t,e){for(var n={},r={},i=[],o=0,a=0;a{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r,i=n(8793),o=n(9427),a=n(7069),s=n(31),c=n(2867),u=n(6085),l=n(7384);function h(t){return void 0!==t.leaves||void 0!==t.groups}!function(t){t[t.start=0]="start",t[t.tick=1]="tick",t[t.end=2]="end"}(r=e.EventType||(e.EventType={}));var f=function(){function t(){var e=this;this._canvasSize=[1,1],this._linkDistance=20,this._defaultNodeSize=10,this._linkLengthCalculator=null,this._linkType=null,this._avoidOverlaps=!1,this._handleDisconnected=!0,this._running=!1,this._nodes=[],this._groups=[],this._rootGroup=null,this._links=[],this._constraints=[],this._distanceMatrix=null,this._descent=null,this._directedLinkConstraints=null,this._threshold=.01,this._visibilityGraph=null,this._groupCompactness=1e-6,this.event=null,this.linkAccessor={getSourceIndex:t.getSourceIndex,getTargetIndex:t.getTargetIndex,setLength:t.setLinkLength,getType:function(t){return"function"==typeof e._linkType?e._linkType(t):0}}}return t.prototype.on=function(t,e){return this.event||(this.event={}),"string"==typeof t?this.event[r[t]]=e:this.event[t]=e,this},t.prototype.trigger=function(t){this.event&&void 0!==this.event[t.type]&&this.event[t.type](t)},t.prototype.kick=function(){for(;!this.tick(););},t.prototype.tick=function(){if(this._alpha0){var e=0;this._links.forEach((function(t){e=Math.max(e,t.source,t.target)})),this._nodes=new Array(++e);for(var n=0;n0?t:0:t>0&&(this._running||(this._running=!0,this.trigger({type:r.start,alpha:this._alpha=t}),this.kick())),this):this._alpha},t.prototype.getLinkLength=function(t){return"function"==typeof this._linkDistance?+this._linkDistance(t):this._linkDistance},t.setLinkLength=function(t,e){t.length=e},t.prototype.getLinkType=function(t){return"function"==typeof this._linkType?this._linkType(t):0},t.prototype.symmetricDiffLinkLengths=function(t,e){var n=this;return void 0===e&&(e=1),this.linkDistance((function(e){return t*e.length})),this._linkLengthCalculator=function(){return o.symmetricDiffLinkLengths(n._links,n.linkAccessor,e)},this},t.prototype.jaccardLinkLengths=function(t,e){var n=this;return void 0===e&&(e=1),this.linkDistance((function(e){return t*e.length})),this._linkLengthCalculator=function(){return o.jaccardLinkLengths(n._links,n.linkAccessor,e)},this},t.prototype.start=function(e,n,r,i,u,l){var h=this;void 0===e&&(e=0),void 0===n&&(n=0),void 0===r&&(r=0),void 0===i&&(i=0),void 0===u&&(u=!0),void 0===l&&(l=!0);var f,d=this.nodes().length,p=d+2*this._groups.length,g=(this._links.length,this._canvasSize[0]),v=this._canvasSize[1],b=new Array(p),y=new Array(p),m=null,w=this._avoidOverlaps;this._nodes.forEach((function(t,e){t.index=e,void 0===t.x&&(t.x=g/2,t.y=v/2),b[e]=t.x,y[e]=t.y})),this._linkLengthCalculator&&this._linkLengthCalculator(),this._distanceMatrix?f=this._distanceMatrix:(f=new c.Calculator(p,this._links,t.getSourceIndex,t.getTargetIndex,(function(t){return h.getLinkLength(t)})).DistanceMatrix(),m=a.Descent.createSquareMatrix(p,(function(){return 2})),this._links.forEach((function(t){"number"==typeof t.source&&(t.source=h._nodes[t.source]),"number"==typeof t.target&&(t.target=h._nodes[t.target])})),this._links.forEach((function(e){var n=t.getSourceIndex(e),r=t.getTargetIndex(e);m[n][r]=m[r][n]=e.weight||1})));var x=a.Descent.createSquareMatrix(p,(function(t,e){return f[t][e]}));if(this._rootGroup&&void 0!==this._rootGroup.groups){var _=d;this._groups.forEach((function(t){!function(t,e,n,r){m[t][e]=m[e][t]=n,x[t][e]=x[e][t]=.1}(_,_+1,h._groupCompactness),b[_]=0,y[_++]=0,b[_]=0,y[_++]=0}))}else this._rootGroup={leaves:this._nodes,groups:[]};var E=this._constraints||[];for(this._directedLinkConstraints&&(this.linkAccessor.getMinSeparation=this._directedLinkConstraints.getMinSeparation,E=E.concat(o.generateDirectedEdgeConstraints(d,this._links,this._directedLinkConstraints.axis,this.linkAccessor))),this.avoidOverlaps(!1),this._descent=new a.Descent([b,y],x),this._descent.locks.clear(),_=0;_0&&(this._descent.project=new s.Projection(this._nodes,this._groups,this._rootGroup,E).projectFunctions()),this._descent.run(n),this.separateOverlappingComponents(g,v,l),this.avoidOverlaps(w),w&&(this._nodes.forEach((function(t,e){t.x=b[e],t.y=y[e]})),this._descent.project=new s.Projection(this._nodes,this._groups,this._rootGroup,E,!0).projectFunctions(),this._nodes.forEach((function(t,e){b[e]=t.x,y[e]=t.y}))),this._descent.G=m,this._descent.run(r),i){this._descent.snapStrength=1e3,this._descent.snapGridSize=this._nodes[0].width,this._descent.numGridSnapNodes=d,this._descent.scaleSnapByMaxH=d!=p;var C=a.Descent.createSquareMatrix(p,(function(t,e){return t>=d||e>=d?m[t][e]:0}));this._descent.G=C,this._descent.run(i)}return this.updateNodePositions(),this.separateOverlappingComponents(g,v,l),u?this.resume():this},t.prototype.initialLayout=function(e,n,r){if(this._groups.length>0&&e>0){var i=this._nodes.length,o=this._links.map((function(t){return{source:t.source.index,target:t.target.index}})),a=this._nodes.map((function(t){return{index:t.index}}));this._groups.forEach((function(t,e){a.push({index:t.index=i+e})})),this._groups.forEach((function(t,e){void 0!==t.leaves&&t.leaves.forEach((function(e){return o.push({source:t.index,target:e.index})})),void 0!==t.groups&&t.groups.forEach((function(e){return o.push({source:t.index,target:e.index})}))})),(new t).size(this.size()).nodes(a).links(o).avoidOverlaps(!1).linkDistance(this.linkDistance()).symmetricDiffLinkLengths(5).convergenceThreshold(1e-4).start(e,0,0,0,!1),this._nodes.forEach((function(t){n[t.index]=a[t.index].x,r[t.index]=a[t.index].y}))}else this._descent.run(e)},t.prototype.separateOverlappingComponents=function(t,e,n){var r=this;if(void 0===n&&(n=!0),!this._distanceMatrix&&this._handleDisconnected){var i=this._descent.x[0],o=this._descent.x[1];this._nodes.forEach((function(t,e){t.x=i[e],t.y=o[e]}));var a=l.separateGraphs(this._nodes,this._links);l.applyPacking(a,t,e,this._defaultNodeSize,1,n),this._nodes.forEach((function(t,e){r._descent.x[0][e]=t.x,r._descent.x[1][e]=t.y,t.bounds&&(t.bounds.setXCentre(t.x),t.bounds.setYCentre(t.y))}))}},t.prototype.resume=function(){return this.alpha(.1)},t.prototype.stop=function(){return this.alpha(0)},t.prototype.prepareEdgeRouting=function(t){void 0===t&&(t=0),this._visibilityGraph=new u.TangentVisibilityGraph(this._nodes.map((function(e){return e.bounds.inflate(-t).vertices()})))},t.prototype.routeEdge=function(t,e,n){void 0===e&&(e=5);var r=[],i=new u.TangentVisibilityGraph(this._visibilityGraph.P,{V:this._visibilityGraph.V,E:this._visibilityGraph.E}),o={x:t.source.x,y:t.source.y},a={x:t.target.x,y:t.target.y},l=i.addPoint(o,t.source.index),h=i.addPoint(a,t.target.index);i.addEdgeIfVisible(o,a,t.source.index,t.target.index),void 0!==n&&n(i);var f=new c.Calculator(i.V.length,i.E,(function(t){return t.source.id}),(function(t){return t.target.id}),(function(t){return t.length()})).PathFromNodeToNode(l.id,h.id);if(1===f.length||f.length===i.V.length){var d=s.makeEdgeBetween(t.source.innerBounds,t.target.innerBounds,e);r=[d.sourceIntersection,d.arrowStart]}else{for(var p=f.length-2,g=i.V[f[p]].p,v=i.V[f[0]].p,b=(r=[t.source.innerBounds.rayIntersection(g.x,g.y)],p);b>=0;--b)r.push(i.V[f[b]].p);r.push(s.makeEdgeTo(v,t.target.innerBounds,e))}return r},t.getSourceIndex=function(t){return"number"==typeof t.source?t.source:t.source.index},t.getTargetIndex=function(t){return"number"==typeof t.target?t.target:t.target.index},t.linkId=function(e){return t.getSourceIndex(e)+"-"+t.getTargetIndex(e)},t.dragStart=function(e){h(e)?t.storeOffset(e,t.dragOrigin(e)):(t.stopNode(e),e.fixed|=2)},t.stopNode=function(t){t.px=t.x,t.py=t.y},t.storeOffset=function(e,n){void 0!==e.leaves&&e.leaves.forEach((function(e){e.fixed|=2,t.stopNode(e),e._dragGroupOffsetX=e.x-n.x,e._dragGroupOffsetY=e.y-n.y})),void 0!==e.groups&&e.groups.forEach((function(e){return t.storeOffset(e,n)}))},t.dragOrigin=function(t){return h(t)?{x:t.bounds.cx(),y:t.bounds.cy()}:t},t.drag=function(e,n){h(e)?(void 0!==e.leaves&&e.leaves.forEach((function(t){e.bounds.setXCentre(n.x),e.bounds.setYCentre(n.y),t.px=t._dragGroupOffsetX+n.x,t.py=t._dragGroupOffsetY+n.y})),void 0!==e.groups&&e.groups.forEach((function(e){return t.drag(e,n)}))):(e.px=n.x,e.py=n.y)},t.dragEnd=function(e){h(e)?(void 0!==e.leaves&&e.leaves.forEach((function(e){t.dragEnd(e),delete e._dragGroupOffsetX,delete e._dragGroupOffsetY})),void 0!==e.groups&&e.groups.forEach(t.dragEnd)):e.fixed&=-7},t.mouseOver=function(t){t.fixed|=4,t.px=t.x,t.py=t.y},t.mouseOut=function(t){t.fixed&=-5},t}();e.Layout=f},6749:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(2867),i=n(7069),o=n(31),a=n(9427),s=function(){function t(t,e){this.source=t,this.target=e}return t.prototype.actualLength=function(t){var e=this;return Math.sqrt(t.reduce((function(t,n){var r=n[e.target]-n[e.source];return t+r*r}),0))},t}();e.Link3D=s;e.Node3D=function(t,e,n){void 0===t&&(t=0),void 0===e&&(e=0),void 0===n&&(n=0),this.x=t,this.y=e,this.z=n};var c=function(){function t(e,n,r){var i=this;void 0===r&&(r=1),this.nodes=e,this.links=n,this.idealLinkLength=r,this.constraints=null,this.useJaccardLinkLengths=!0,this.result=new Array(t.k);for(var o=0;o{"use strict";function n(t,e){var n={};for(var r in t)n[r]={};for(var r in e)n[r]={};return Object.keys(n).length}function r(t,e){var n=0;for(var r in t)void 0!==e[r]&&++n;return n}function i(t,e,n,r){var i=function(t,e){var n={},r=function(t,e){void 0===n[t]&&(n[t]={}),n[t][e]={}};return t.forEach((function(t){var n=e.getSourceIndex(t),i=e.getTargetIndex(t);r(n,i),r(i,n)})),n}(t,r);t.forEach((function(t){var o=i[r.getSourceIndex(t)],a=i[r.getTargetIndex(t)];r.setLength(t,1+e*n(o,a))}))}function o(t,e,n){var r=[],i=0,o=[],a=[];function s(t){t.index=t.lowlink=i++,o.push(t),t.onStack=!0;for(var e=0,n=t.out;e{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(t,e,n){this.source=t,this.target=e,this.type=n};e.PowerEdge=n;var r=function(){function t(t,e,n,r){var i=this;if(this.linkAccessor=n,this.modules=new Array(t),this.roots=[],r)this.initModulesFromGroup(r);else{this.roots.push(new a);for(var s=0;s=this.R))return this.merge(e.a,e.b,t),!0}},t.prototype.nEdges=function(t,e){var n=t.incoming.intersection(e.incoming),r=t.outgoing.intersection(e.outgoing);return this.R-n.count()-r.count()},t.prototype.getGroupHierarchy=function(t){var e=this,r=[];return i(this.roots[0],{},r),this.allEdges().forEach((function(i){var o=e.modules[i.source],a=e.modules[i.target];t.push(new n(void 0===o.gid?i.source:r[o.gid],void 0===a.gid?i.target:r[a.gid],i.type))})),r},t.prototype.allEdges=function(){var e=[];return t.getEdges(this.roots[0],e),e},t.getEdges=function(e,n){e.forAll((function(e){e.getEdges(n),t.getEdges(e.children,n)}))},t}();function i(t,e,n){t.forAll((function(t){if(t.isLeaf())e.leaves||(e.leaves=[]),e.leaves.push(t.id);else{var r=e;if(t.gid=n.length,!t.isIsland()||t.isPredefined()){if(r={id:t.gid},t.isPredefined())for(var o in t.definition)r[o]=t.definition[o];e.groups||(e.groups=[]),e.groups.push(t.gid),n.push(r)}i(t.children,r,n)}}))}e.Configuration=r;var o=function(){function t(t,e,n,r,i){void 0===e&&(e=new s),void 0===n&&(n=new s),void 0===r&&(r=new a),this.id=t,this.outgoing=e,this.incoming=n,this.children=r,this.definition=i}return t.prototype.getEdges=function(t){var e=this;this.outgoing.forAll((function(r,i){r.forAll((function(r){t.push(new n(e.id,r.id,i))}))}))},t.prototype.isLeaf=function(){return 0===this.children.count()},t.prototype.isIsland=function(){return 0===this.outgoing.count()&&0===this.incoming.count()},t.prototype.isPredefined=function(){return void 0!==this.definition},t}();e.Module=o;var a=function(){function t(){this.table={}}return t.prototype.count=function(){return Object.keys(this.table).length},t.prototype.intersection=function(e){var n=new t;return n.table=function(t,e){var n={};for(var r in t)r in e&&(n[r]=t[r]);return n}(this.table,e.table),n},t.prototype.intersectionCount=function(t){return this.intersection(t).count()},t.prototype.contains=function(t){return t in this.table},t.prototype.add=function(t){this.table[t.id]=t},t.prototype.remove=function(t){delete this.table[t.id]},t.prototype.forAll=function(t){for(var e in this.table)t(this.table[e])},t.prototype.modules=function(){var t=[];return this.forAll((function(e){e.isPredefined()||t.push(e)})),t},t}();e.ModuleSet=a;var s=function(){function t(){this.sets={},this.n=0}return t.prototype.count=function(){return this.n},t.prototype.contains=function(t){var e=!1;return this.forAllModules((function(n){e||n.id!=t||(e=!0)})),e},t.prototype.add=function(t,e){(t in this.sets?this.sets[t]:this.sets[t]=new a).add(e),++this.n},t.prototype.remove=function(t,e){var n=this.sets[t];n.remove(e),0===n.count()&&delete this.sets[t],--this.n},t.prototype.forAll=function(t){for(var e in this.sets)t(this.sets[e],Number(e))},t.prototype.forAllModules=function(t){this.forAll((function(e,n){return e.forAll(t)}))},t.prototype.intersection=function(e){var n=new t;return this.forAll((function(t,r){if(r in e.sets){var i=t.intersection(e.sets[r]),o=i.count();o>0&&(n.sets[r]=i,n.n+=o)}})),n},t}();e.LinkSets=s,e.getGroups=function(t,e,n,i){for(var o=t.length,a=new r(o,e,n,i);a.greedyMerge(););var s=[],c=a.getGroupHierarchy(s);return s.forEach((function(e){var n=function(n){var r=e[n];"number"==typeof r&&(e[n]=t[r])};n("source"),n("target")})),{groups:c,powerEdges:s}}},7421:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t){this.elem=t,this.subheaps=[]}return t.prototype.toString=function(t){for(var e="",n=!1,r=0;r0)}return null}}return t.prototype.clear=function(){this._root=null,this.size=0},t.prototype.find=function(t){for(var e=this._root;null!==e;){var n=this._comparator(t,e.data);if(0===n)return e.data;e=e.get_child(n>0)}return null},t.prototype.lowerBound=function(t){return this._bound(t,this._comparator)},t.prototype.upperBound=function(t){var e=this._comparator;return this._bound(t,(function(t,n){return e(n,t)}))},t.prototype.min=function(){var t=this._root;if(null===t)return null;for(;null!==t.left;)t=t.left;return t.data},t.prototype.max=function(){var t=this._root;if(null===t)return null;for(;null!==t.right;)t=t.right;return t.data},t.prototype.iterator=function(){return new o(this)},t.prototype.each=function(t){for(var e,n=this.iterator();null!==(e=n.next());)t(e)},t.prototype.reach=function(t){for(var e,n=this.iterator();null!==(e=n.prev());)t(e)},t.prototype._bound=function(t,e){for(var n=this._root,r=this.iterator();null!==n;){var i=this._comparator(t,n.data);if(0===i)return r._cursor=n,r;r._ancestors.push(n),n=n.get_child(i>0)}for(var o=r._ancestors.length-1;o>=0;--o)if(e(t,(n=r._ancestors[o]).data)>0)return r._cursor=n,r._ancestors.length=o,r;return r._ancestors.length=0,r},t}();e.TreeBase=i;var o=function(){function t(t){this._tree=t,this._ancestors=[],this._cursor=null}return t.prototype.data=function(){return null!==this._cursor?this._cursor.data:null},t.prototype.next=function(){if(null===this._cursor){var t=this._tree._root;null!==t&&this._minNode(t)}else{var e;if(null===this._cursor.right)do{if(e=this._cursor,!this._ancestors.length){this._cursor=null;break}this._cursor=this._ancestors.pop()}while(this._cursor.right===e);else this._ancestors.push(this._cursor),this._minNode(this._cursor.right)}return null!==this._cursor?this._cursor.data:null},t.prototype.prev=function(){if(null===this._cursor){var t=this._tree._root;null!==t&&this._maxNode(t)}else{var e;if(null===this._cursor.left)do{if(e=this._cursor,!this._ancestors.length){this._cursor=null;break}this._cursor=this._ancestors.pop()}while(this._cursor.left===e);else this._ancestors.push(this._cursor),this._maxNode(this._cursor.left)}return null!==this._cursor?this._cursor.data:null},t.prototype._minNode=function(t){for(;null!==t.left;)this._ancestors.push(t),t=t.left;this._cursor=t},t.prototype._maxNode=function(t){for(;null!==t.right;)this._ancestors.push(t),t=t.right;this._cursor=t},t}();e.Iterator=o;var a=function(){function t(t){this.data=t,this.left=null,this.right=null,this.red=!0}return t.prototype.get_child=function(t){return t?this.right:this.left},t.prototype.set_child=function(t,e){t?this.right=e:this.left=e},t}(),s=function(t){function e(e){var n=t.call(this)||this;return n._root=null,n._comparator=e,n.size=0,n}return r(e,t),e.prototype.insert=function(t){var n=!1;if(null===this._root)this._root=new a(t),n=!0,this.size++;else{var r=new a(void 0),i=!1,o=!1,s=null,c=r,u=null,l=this._root;for(c.right=this._root;;){if(null===l?(l=new a(t),u.set_child(i,l),n=!0,this.size++):e.is_red(l.left)&&e.is_red(l.right)&&(l.red=!0,l.left.red=!1,l.right.red=!1),e.is_red(l)&&e.is_red(u)){var h=c.right===s;l===u.get_child(o)?c.set_child(h,e.single_rotate(s,!o)):c.set_child(h,e.double_rotate(s,!o))}var f=this._comparator(l.data,t);if(0===f)break;o=i,i=f<0,null!==s&&(c=s),s=u,u=l,l=l.get_child(i)}this._root=r.right}return this._root.red=!1,n},e.prototype.remove=function(t){if(null===this._root)return!1;var n=new a(void 0),r=n;r.right=this._root;for(var i=null,o=null,s=null,c=!0;null!==r.get_child(c);){var u=c;o=i,i=r,r=r.get_child(c);var l=this._comparator(t,r.data);if(c=l>0,0===l&&(s=r),!e.is_red(r)&&!e.is_red(r.get_child(c)))if(e.is_red(r.get_child(!c))){var h=e.single_rotate(r,c);i.set_child(u,h),i=h}else if(!e.is_red(r.get_child(!c))){var f=i.get_child(!u);if(null!==f)if(e.is_red(f.get_child(!u))||e.is_red(f.get_child(u))){var d=o.right===i;e.is_red(f.get_child(u))?o.set_child(d,e.double_rotate(i,u)):e.is_red(f.get_child(!u))&&o.set_child(d,e.single_rotate(i,u));var p=o.get_child(d);p.red=!0,r.red=!0,p.left.red=!1,p.right.red=!1}else i.red=!1,f.red=!0,r.red=!0}}return null!==s&&(s.data=r.data,i.set_child(i.right===r,r.get_child(null===r.left)),this.size--),this._root=n.right,null!==this._root&&(this._root.red=!1),null!==s},e.is_red=function(t){return null!==t&&t.red},e.single_rotate=function(t,e){var n=t.get_child(!e);return t.set_child(!e,n.get_child(e)),n.set_child(e,t),t.red=!0,n.red=!1,n},e.double_rotate=function(t,n){return t.set_child(!n,e.single_rotate(t.get_child(!n),!n)),e.single_rotate(t,n)},e}(i);e.RBTree=s},31:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},r(t,e)},function(t,e){function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,"__esModule",{value:!0});var o=n(4926),a=n(1138);function s(t){return t.bounds=void 0!==t.leaves?t.leaves.reduce((function(t,e){return e.bounds.union(t)}),c.empty()):c.empty(),void 0!==t.groups&&(t.bounds=t.groups.reduce((function(t,e){return s(e).union(t)}),t.bounds)),t.bounds=t.bounds.inflate(t.padding),t.bounds}e.computeGroupBounds=s;var c=function(){function t(t,e,n,r){this.x=t,this.X=e,this.y=n,this.Y=r}return t.empty=function(){return new t(Number.POSITIVE_INFINITY,Number.NEGATIVE_INFINITY,Number.POSITIVE_INFINITY,Number.NEGATIVE_INFINITY)},t.prototype.cx=function(){return(this.x+this.X)/2},t.prototype.cy=function(){return(this.y+this.Y)/2},t.prototype.overlapX=function(t){var e=this.cx(),n=t.cx();return e<=n&&t.x0?n[0]:null},t.prototype.vertices=function(){return[{x:this.x,y:this.y},{x:this.X,y:this.y},{x:this.X,y:this.Y},{x:this.x,y:this.Y}]},t.lineIntersection=function(t,e,n,r,i,o,a,s){var c=n-t,u=a-i,l=r-e,h=s-o,f=h*c-u*l;if(0==f)return null;var d=t-i,p=e-o,g=(u*p-h*d)/f,v=(c*p-l*d)/f;return g>=0&&g<=1&&v>=0&&v<=1?{x:t+g*c,y:e+g*l}:null},t.prototype.inflate=function(e){return new t(this.x-e,this.X+e,this.y-e,this.Y+e)},t}();e.Rectangle=c,e.makeEdgeBetween=function(t,e,n){var r=t.rayIntersection(e.cx(),e.cy())||{x:t.cx(),y:t.cy()},i=e.rayIntersection(t.cx(),t.cy())||{x:e.cx(),y:e.cy()},o=i.x-r.x,a=i.y-r.y,s=Math.sqrt(o*o+a*a),c=s-n;return{sourceIntersection:r,targetIntersection:i,arrowStart:{x:r.x+c*o/s,y:r.y+c*a/s}}},e.makeEdgeTo=function(t,e,n){var r=e.rayIntersection(t.x,t.y);r||(r={x:e.cx(),y:e.cy()});var i=r.x-t.x,o=r.y-t.y,a=Math.sqrt(i*i+o*o);return{x:r.x-n*i/a,y:r.y-n*o/a}};var u=function(t,e,n){this.v=t,this.r=e,this.pos=n,this.prev=f(),this.next=f()},l=function(t,e,n){this.isOpen=t,this.v=e,this.pos=n};function h(t,e){return t.pos>e.pos?1:t.pos0&&(t[n].insert(i),i[r].insert(t))};n("next","prev"),n("prev","next")}};function g(t,e,n,r){void 0===r&&(r=!1);var i=t.padding,o=void 0!==t.groups?t.groups.length:0,a=void 0!==t.leaves?t.leaves.length:0,s=o?t.groups.reduce((function(t,r){return t.concat(g(r,e,n,!0))}),[]):[],c=(r?2:0)+a+o,u=new Array(c),l=new Array(c),h=0,f=function(t,e){l[h]=t,u[h++]=e};if(r){var d=t.bounds,p=e.getCentre(d),b=e.getSize(d)/2,y=e.getOpen(d),m=e.getClose(d),w=p-b+i/2,x=p+b-i/2;t.minVar.desiredPosition=w,f(e.makeRect(y,m,w,i),t.minVar),t.maxVar.desiredPosition=x,f(e.makeRect(y,m,x,i),t.maxVar)}a&&t.leaves.forEach((function(t){return f(t.bounds,t.variable)})),o&&t.groups.forEach((function(t){var n=t.bounds;f(e.makeRect(e.getOpen(n),e.getClose(n),e.getCentre(n),e.getSize(n)),t.minVar)}));var _=v(l,u,e,n);return o&&(u.forEach((function(t){t.cOut=[],t.cIn=[]})),_.forEach((function(t){t.left.cOut.push(t),t.right.cIn.push(t)})),t.groups.forEach((function(t){var n=(t.padding-e.getSize(t.bounds))/2;t.minVar.cIn.forEach((function(t){return t.gap+=n})),t.minVar.cOut.forEach((function(e){e.left=t.maxVar,e.gap+=n}))}))),s.concat(_)}function v(t,e,n,r){var i,a=t.length,s=2*a;console.assert(e.length>=a);var c=new Array(s);for(i=0;it[n]&&(t[n]=e)}o=t}))}},t.prototype.createAlignment=function(t){var e=this,n=this.nodes[t.offsets[0].node].variable;this.makeFeasible(t);var r="x"===t.axis?this.xConstraints:this.yConstraints;t.offsets.slice(1).forEach((function(t){var i=e.nodes[t.node].variable;r.push(new o.Constraint(n,i,t.offset,!0))}))},t.prototype.createConstraints=function(t){var e=this,n=function(t){return void 0===t.type||"separation"===t.type};this.xConstraints=t.filter((function(t){return"x"===t.axis&&n(t)})).map((function(t){return e.createSeparation(t)})),this.yConstraints=t.filter((function(t){return"y"===t.axis&&n(t)})).map((function(t){return e.createSeparation(t)})),t.filter((function(t){return"alignment"===t.type})).forEach((function(t){return e.createAlignment(t)}))},t.prototype.setupVariablesAndBounds=function(t,e,n,r){this.nodes.forEach((function(i,o){i.fixed?(i.variable.weight=i.fixedWeight?i.fixedWeight:1e3,n[o]=r(i)):i.variable.weight=1;var a=(i.width||0)/2,s=(i.height||0)/2,u=t[o],l=e[o];i.bounds=new c(u-a,u+a,l-s,l+s)}))},t.prototype.xProject=function(t,e,n){(this.rootGroup||this.avoidOverlaps||this.xConstraints)&&this.project(t,e,t,n,(function(t){return t.px}),this.xConstraints,m,(function(t){return t.bounds.setXCentre(n[t.variable.index]=t.variable.position())}),(function(t){var e=n[t.minVar.index]=t.minVar.position(),r=n[t.maxVar.index]=t.maxVar.position(),i=t.padding/2;t.bounds.x=e-i,t.bounds.X=r+i}))},t.prototype.yProject=function(t,e,n){(this.rootGroup||this.yConstraints)&&this.project(t,e,e,n,(function(t){return t.py}),this.yConstraints,w,(function(t){return t.bounds.setYCentre(n[t.variable.index]=t.variable.position())}),(function(t){var e=n[t.minVar.index]=t.minVar.position(),r=n[t.maxVar.index]=t.maxVar.position(),i=t.padding/2;t.bounds.y=e-i,t.bounds.Y=r+i}))},t.prototype.projectFunctions=function(){var t=this;return[function(e,n,r){return t.xProject(e,n,r)},function(e,n,r){return t.yProject(e,n,r)}]},t.prototype.project=function(t,e,n,r,i,o,a,c,u){this.setupVariablesAndBounds(t,e,r,i),this.rootGroup&&this.avoidOverlaps&&(s(this.rootGroup),o=o.concat(a(this.rootGroup))),this.solve(this.variables,o,n,r),this.nodes.forEach(c),this.rootGroup&&this.avoidOverlaps&&(this.groups.forEach(u),s(this.rootGroup))},t.prototype.solve=function(t,e,n,r){var i=new o.Solver(t,e);i.setStartingPositions(n),i.setDesiredPositions(r),i.solve()},t}();e.Projection=_},2867:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(7421),i=function(t,e){this.id=t,this.distance=e},o=function(t){this.id=t,this.neighbours=[]},a=function(t,e,n){this.node=t,this.prev=e,this.d=n},s=function(){function t(t,e,n,r,a){this.n=t,this.es=e,this.neighbours=new Array(this.n);for(var s=this.n;s--;)this.neighbours[s]=new o(s);for(s=this.es.length;s--;){var c=this.es[s],u=n(c),l=r(c),h=a(c);this.neighbours[u].neighbours.push(new i(l,h)),this.neighbours[l].neighbours.push(new i(u,h))}}return t.prototype.DistanceMatrix=function(){for(var t=new Array(this.n),e=0;eh&&(u.d=h,u.prev=s,n.reduceKey(u.q,u,(function(t,e){return t.q=e})))}}return o},t}();e.Calculator=s},4926:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t){this.scale=t,this.AB=0,this.AD=0,this.A2=0}return t.prototype.addVariable=function(t){var e=this.scale/t.scale,n=t.offset/t.scale,r=t.weight;this.AB+=r*e*n,this.AD+=r*e*t.desiredPosition,this.A2+=r*e*e},t.prototype.getPosn=function(){return(this.AD-this.AB)/this.A2},t}();e.PositionStats=n;var r=function(){function t(t,e,n,r){void 0===r&&(r=!1),this.left=t,this.right=e,this.gap=n,this.equality=r,this.active=!1,this.unsatisfiable=!1,this.left=t,this.right=e,this.gap=n,this.equality=r}return t.prototype.slack=function(){return this.unsatisfiable?Number.MAX_VALUE:this.right.scale*this.right.position()-this.gap-this.left.scale*this.left.position()},t}();e.Constraint=r;var i=function(){function t(t,e,n){void 0===e&&(e=1),void 0===n&&(n=1),this.desiredPosition=t,this.weight=e,this.scale=n,this.offset=0}return t.prototype.dfdv=function(){return 2*this.weight*(this.position()-this.desiredPosition)},t.prototype.position=function(){return(this.block.ps.scale*this.block.posn+this.offset)/this.scale},t.prototype.visitNeighbours=function(t,e){var n=function(n,r){return n.active&&t!==r&&e(n,r)};this.cOut.forEach((function(t){return n(t,t.right)})),this.cIn.forEach((function(t){return n(t,t.left)}))},t}();e.Variable=i;var o=function(){function t(t){this.vars=[],t.offset=0,this.ps=new n(t.scale),this.addVariable(t)}return t.prototype.addVariable=function(t){t.block=this,this.vars.push(t),this.ps.addVariable(t),this.posn=this.ps.getPosn()},t.prototype.updateWeightedPosition=function(){this.ps.AB=this.ps.AD=this.ps.A2=0;for(var t=0,e=this.vars.length;t=0?this.inactive.push(e):this.bs.merge(e)}}},t.prototype.solve=function(){this.satisfy();for(var t=Number.MAX_VALUE,e=this.bs.cost();Math.abs(t-e)>1e-4;)this.satisfy(),t=e,e=this.bs.cost();return e},t.LAGRANGIAN_TOLERANCE=-1e-4,t.ZERO_UPPERBOUND=-1e-10,t}();e.Solver=s,e.removeOverlapInOneDimension=function(t,e,n){for(var o=t.map((function(t){return new i(t.desiredCenter)})),a=[],c=t.length,u=0;u{var e=t&&t.__esModule?()=>t.default:()=>t;return __webpack_require__.d(e,{a:e}),e},__webpack_require__.d=(t,e)=>{for(var n in e)__webpack_require__.o(e,n)&&!__webpack_require__.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},__webpack_require__.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),__webpack_require__.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),__webpack_require__.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},__webpack_require__.nmd=t=>(t.paths=[],t.children||(t.children=[]),t),__webpack_require__.nc=void 0;var __webpack_exports__={};(()=>{"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{Cytoscape:()=>ot});var t=__webpack_require__(3379),e=__webpack_require__.n(t),n=__webpack_require__(7795),r=__webpack_require__.n(n),i=__webpack_require__(569),o=__webpack_require__.n(i),a=__webpack_require__(3565),s=__webpack_require__.n(a),c=__webpack_require__(9216),u=__webpack_require__.n(c),l=__webpack_require__(4589),h=__webpack_require__.n(l),f=__webpack_require__(372),d={};d.styleTagTransform=h(),d.setAttributes=s(),d.insert=o().bind(null,"head"),d.domAPI=r(),d.insertStyleElement=u(),e()(f.Z,d),f.Z&&f.Z.locals&&f.Z.locals;const p=window.React;var g=__webpack_require__.n(p),v=__webpack_require__(5697),b=__webpack_require__.n(v),y=__webpack_require__(9058),m=__webpack_require__.n(y);const{string:w,array:x,object:_,number:E,bool:k,oneOfType:T,any:C,func:N}=b(),A={id:w,className:w,style:T([w,_]),elements:T([x,C]),stylesheet:T([x,C]),layout:T([_,C]),pan:T([_,C]),zoom:E,panningEnabled:k,userPanningEnabled:k,minZoom:E,maxZoom:E,zoomingEnabled:k,userZoomingEnabled:k,boxSelectionEnabled:k,autoungrabify:k,autolock:k,autounselectify:k,get:N,toJson:N,diff:N,forEach:N,cy:N,headless:k,styleEnabled:k,hideEdgesOnViewport:k,textureOnViewport:k,motionBlur:k,motionBlurOpacity:E,wheelSensitivity:E,pixelRatio:T([w,_])},S=(t,e)=>{if(((t,e)=>null==t||null==e)(t,e)&&(null!=t||null!=e))return!0;if(t===e)return!1;if("object"!=typeof t||"object"!=typeof e)return t!==e;const n=Object.keys(t),r=Object.keys(e),i=n=>t[n]!==e[n];return n.length!==r.length||!(!n.some(i)&&!r.some(i))},O=(t,e)=>null!=t?t[e]:null,L={diff:S,get:O,toJson:t=>t,forEach:(t,e)=>t.forEach(e),elements:[{data:{id:"a",label:"Example node A"}},{data:{id:"b",label:"Example node B"}},{data:{id:"e",source:"a",target:"b"}}],stylesheet:[{selector:"node",style:{label:"data(label)"}}],zoom:1,pan:{x:0,y:0}},I=(t,e,n,r)=>n(O(t,r),O(e,r)),M=(t,e,n,r,i,o)=>{const a=i(i(n,"data"),"id"),s=t.getElementById(a),c={};["data","position","selected","selectable","locked","grabbable","classes"].forEach((t=>{const a=i(n,t);o(a,i(e,t))&&(c[t]=r(a))}));const u=i(n,"scratch");o(u,i(e,"scratch"))&&s.scratch(r(u)),Object.keys(c).length>0&&s.json(c)};class P extends g().Component{static get propTypes(){return A}static get defaultProps(){return L}static normalizeElements(t){if(null!=t.length)return t;{let{nodes:e,edges:n}=t;return null==e&&(e=[]),null==n&&(n=[]),e.concat(n)}}constructor(t){super(t),this.displayName="CytoscapeComponent",this.containerRef=g().createRef()}componentDidMount(){const t=this.containerRef.current,{global:e,headless:n,styleEnabled:r,hideEdgesOnViewport:i,textureOnViewport:o,motionBlur:a,motionBlurOpacity:s,wheelSensitivity:c,pixelRatio:u}=this.props,l=this._cy=new(m())({container:t,headless:n,styleEnabled:r,hideEdgesOnViewport:i,textureOnViewport:o,motionBlur:a,motionBlurOpacity:s,wheelSensitivity:c,pixelRatio:u});e&&(window[e]=l),this.updateCytoscape(null,this.props)}updateCytoscape(t,e){const n=this._cy,{diff:r,toJson:i,get:o,forEach:a}=e;((t,e,n,r,i,o,a)=>{t.batch((()=>{(r===S||I(e,n,r,"elements"))&&((t,e,n,r,i,o,a)=>{const s=[],c=t.collection(),u=[],l={},h={},f=t=>i(i(t,"data"),"id");o(n,(t=>{const e=f(t);h[e]=t})),null!=e&&o(e,(e=>{const n=f(e);l[n]=e,(t=>null!=h[t])(n)||c.merge(t.getElementById(n))})),o(n,(t=>{const e=f(t),n=(t=>l[t])(e);(t=>null!=l[t])(e)?u.push({ele1:n,ele2:t}):s.push(r(t))})),c.length>0&&t.remove(c),s.length>0&&t.add(s),u.forEach((({ele1:e,ele2:n})=>M(t,e,n,r,i,a)))})(t,O(e,"elements"),O(n,"elements"),i,o,a,r),I(e,n,r,"stylesheet")&&((t,e,n,r)=>{const i=t.style();null!=i&&i.fromJson(r(n)).update()})(t,O(e,"stylesheet"),O(n,"stylesheet"),i),["zoom","minZoom","maxZoom","zoomingEnabled","userZoomingEnabled","pan","panningEnabled","userPanningEnabled","boxSelectionEnabled","autoungrabify","autolock","autounselectify"].forEach((o=>{I(e,n,r,o)&&((t,e,n,r,i)=>{t[e](i(r))})(t,o,O(e,o),O(n,o),i)}))})),I(e,n,r,"layout")&&((t,e,n,r)=>{const i=r(n);null!=i&&t.layout(i).run()})(t,O(e,"layout"),O(n,"layout"),i)})(n,t,e,r,i,o,a),null!=e.cy&&e.cy(n)}componentDidUpdate(t){this.updateCytoscape(t,this.props)}componentWillUnmount(){this._cy.destroy()}render(){const{id:t,className:e,style:n}=this.props;return g().createElement("div",{ref:this.containerRef,id:t,className:e,style:n})}}var D=__webpack_require__(6486),R=__webpack_require__.n(D);const j={randomUUID:"undefined"!=typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};let G;const B=new Uint8Array(16);function F(){if(!G&&(G="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!G))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return G(B)}const H=[];for(let t=0;t<256;++t)H.push((t+256).toString(16).slice(1));const Y=function(t,e,n){if(j.randomUUID&&!e&&!t)return j.randomUUID();const r=(t=t||{}).random||(t.rng||F)();if(r[6]=15&r[6]|64,r[8]=63&r[8]|128,e){n=n||0;for(let t=0;t<16;++t)e[n+t]=r[t];return e}return function(t,e=0){return H[t[e+0]]+H[t[e+1]]+H[t[e+2]]+H[t[e+3]]+"-"+H[t[e+4]]+H[t[e+5]]+"-"+H[t[e+6]]+H[t[e+7]]+"-"+H[t[e+8]]+H[t[e+9]]+"-"+H[t[e+10]]+H[t[e+11]]+H[t[e+12]]+H[t[e+13]]+H[t[e+14]]+H[t[e+15]]}(r)};function z(t){return z="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},z(t)}function U(t,e){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:!this.shouldResize,e=this.cy;t!==this.shouldResize&&(t?(e.on("render",this.updateViewport),e.on("resize",this.resize),this.updateViewport(e)):(e.removeListener("render",this.updateViewport),e.removeListener("resize",this.resize)),this.shouldResize=t)}},{key:"getViewport",value:function(){var t=this.cy;return{position:t.pan(),zoom:t.zoom(),renderedBB:Object.assign({},t.elements().renderedBoundingBox()),height:t.height(),width:t.width()}}},{key:"updateViewport",value:function(){var t=this.cy;this.prev=this.getViewport(t)}},{key:"_xConstrainedZoom",value:function(t){var e=this.curr,n=this.prev,r=this.marginPercentage.left*e.width;e.position.x=r+(n.position.x-n.renderedBB.x1);var i=e.renderedBB.y1+e.renderedBB.h/2-e.renderedBB.h/n.zoom*t/2;i+=(e.height-n.height)/2,e.position.y=i+(n.position.y-n.renderedBB.y1)}},{key:"_xChangeMargin",value:function(t){var e=this.curr,n=this.prev,r=n.renderedBB.x1+n.renderedBB.w/2,i=r/n.width*t;e.position.x=e.position.x+(i-r)}},{key:"_yConstrainedZoom",value:function(t){var e=this.curr,n=this.prev,r=this.marginPercentage.top*e.height;e.position.y=r+(n.position.y-n.renderedBB.y1);var i=e.renderedBB.x1+e.renderedBB.w/2-e.renderedBB.w/n.zoom*t/2;i+=(e.width-n.width)/2,e.position.x=i+(n.position.x-n.renderedBB.x1)}},{key:"_yChangeMargin",value:function(){var t=this.curr,e=this.prev,n=e.renderedBB.y1+e.renderedBB.h/2,r=n/e.height*t.height;t.position.y=t.position.y+(r-n)}},{key:"resize",value:function(){var t=this.cy;this.curr=this.getViewport(t);var e=this.curr,n=this.prev,r=n.renderedBB.x1>=0&&n.renderedBB.y1>=0&&n.renderedBB.x2<=n.width&&n.renderedBB.y2<=n.height;if(this.marginPercentage={left:n.renderedBB.x1/n.width,top:n.renderedBB.y1/n.height},Math.abs(1-e.width/n.width)>Math.abs(1-e.height/n.height)){var i=n.zoom/n.width*e.width;if(r)for(var o=Math.min((e.renderedBB.y1+e.renderedBB.h/2)*n.zoom*2/e.renderedBB.h,-(e.renderedBB.y1+e.renderedBB.h/2-n.height)*n.zoom*2/e.renderedBB.h)-this.containedZoomMargin,a=n.width/n.zoom*o,s=e.zoom=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return a=t.done,t},e:function(t){s=!0,o=t},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function $(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);nt.maxZoom()||e0&&(r.selector=r.selector+", "),r.selector=r.selector+"edge"):"node"===u?(r.selector.length>0&&(r.selector=r.selector+", "),r.selector=r.selector+"node"):"canvas"===u?r.coreAsWell=!0:console.error("Error: selector ".concat(u," is not available. Choose one of 'node', 'edge' or 'canvas'."))}}catch(t){c.e(t)}finally{c.f()}}a.push(r)};for(s.s();!(i=s.n()).done;)c()}catch(t){s.e(t)}finally{s.f()}return a},this.cyResponsiveClass=new q(t),this.cyResponsiveClass.toggle(this.props.responsive),s(t.extent())}}},{key:"handleImageGeneration",value:function(t,e,n,r){var i=this,o={};e&&(o=e);var a,s,c,u=o.output;switch(o.output="blob",n){case"store":default:a=!1,s=!0;break;case"download":a=!0,s=!1;break;case"both":a=!0,s=!0}if("png"===t&&(c=this._cy.png(o)),"jpg"!==t&&"jpeg"!==t||(c=this._cy.jpg(o)),"svg"===t&&(c=this._cy.svg(o)),c&&a){var l=r;if(r||(l="cyto"),"svg"!==t)this.downloadBlob(c,l+"."+t);else{var h=new Blob([c],{type:"image/svg+xml;charset=utf-8"});this.downloadBlob(h,l+"."+t)}}if(c&&s){if(u||(u="base64uri"),"base64uri"!==u&&"base64"!==u)return;var f=new FileReader;f.onload=function(){var t=f.result;"base64"===u&&(t=t.replace(/^data:.+;base64,/,"")),i.props.setProps({imageData:t})},f.readAsDataURL(c)}}},{key:"downloadBlob",value:function(t,e){var n=document.createElement("a");n.style="display: none",document.body.appendChild(n);var r=window.URL.createObjectURL(t);n.href=r,n.download=e,n.click(),window.URL.revokeObjectURL(r),document.body.removeChild(n)}},{key:"updateContextMenu",value:function(t){this._cy.contextMenus({menuItems:this.createMenuItems(t),menuItemClasses:["custom-menu-item"]})}},{key:"graphOutOfView",value:function(){var t=this._cy.width(),e=this._cy.height(),n=this._cy.elements().renderedBoundingbox();return n.x1>t||n.y1>e||n.x2<0||n.y2<0}},{key:"componentDidUpdate",value:function(t){var e=this.props,n=e.contextMenu,r=e.elements;!R().isEqual(t.contextMenu,n)&&this._cy&&this.updateContextMenu(n),!R().isEqual(t.elements,r)&&this._cy&&this.graphOutOfView()&&this._cy.fit()}},{key:"componentDidMount",value:function(){var t=this.props.contextMenu;this._cy&&t.length>0&&this.updateContextMenu(t)}},{key:"render",value:function(){var t=this.props,e=t.id,n=t.style,r=t.className,i=t.elements,o=t.stylesheet,a=t.layout,s=t.contextMenu,c=t.contextMenuData,u=t.pan,l=t.zoom,h=t.panningEnabled,f=t.userPanningEnabled,d=t.minZoom,p=t.maxZoom,v=t.zoomingEnabled,b=t.userZoomingEnabled,y=t.wheelSensitivity,m=t.boxSelectionEnabled,w=t.autoungrabify,x=t.autolock,_=t.autounselectify,E=t.generateImage,k=t.responsive;return Object.keys(E).length>0&&(this.props.setProps({generateImage:{}}),this._cy&&this.handleImageGeneration(E.type,E.options,E.action,E.filename)),this.cyResponsiveClass&&this.cyResponsiveClass.toggle(k),g().createElement(P,{id:e,cy:this.handleCy,className:r,style:n,elements:P.normalizeElements(i),stylesheet:o,layout:a,contextMenu:s,contextMenuData:c,pan:u,zoom:l,panningEnabled:h,userPanningEnabled:f,minZoom:d,maxZoom:p,zoomingEnabled:v,userZoomingEnabled:b,wheelSensitivity:y,boxSelectionEnabled:m,autoungrabify:w,autolock:x,autounselectify:_})}}],r&&Z(n.prototype,r),Object.defineProperty(n,"prototype",{writable:!1}),e}(p.Component);it.propTypes={id:b().string,className:b().string,style:b().object,setProps:b().func,elements:b().oneOfType([b().arrayOf(b().shape({group:b().string,data:b().shape({id:b().string,label:b().string,parent:b().string,source:b().string,target:b().string}),position:b().shape({x:b().number,y:b().number}),selected:b().bool,selectable:b().bool,locked:b().bool,grabbable:b().bool,classes:b().string})),b().exact({nodes:b().array,edges:b().array})]),stylesheet:b().arrayOf(b().exact({selector:b().string.isRequired,style:b().object.isRequired})),layout:b().shape({name:b().oneOf(["random","preset","circle","concentric","grid","breadthfirst","cose","cose-bilkent","fcose","cola","euler","spread","dagre","klay"]).isRequired,fit:b().bool,padding:b().number,animate:b().bool,animationDuration:b().number,boundingBox:b().object}),contextMenu:b().arrayOf(b().exact({id:b().string.isRequired,label:b().string.isRequired,tooltipText:b().string,availableOn:b().array,onClick:b().string,onClickCustom:b().string})),contextMenuData:b().exact({menuItemId:b().string,x:b().number,y:b().number,timeStamp:b().number,elementId:b().string,edgeSource:b().string,edgeTarget:b().string}),pan:b().exact({x:b().number,y:b().number}),zoom:b().number,panningEnabled:b().bool,userPanningEnabled:b().bool,minZoom:b().number,maxZoom:b().number,zoomingEnabled:b().bool,userZoomingEnabled:b().bool,wheelSensitivity:b().number,boxSelectionEnabled:b().bool,autoungrabify:b().bool,autolock:b().bool,autounselectify:b().bool,autoRefreshLayout:b().bool,tapNode:b().exact({edgesData:b().array,renderedPosition:b().object,timeStamp:b().number,classes:b().string,data:b().object,grabbable:b().bool,group:b().string,locked:b().bool,position:b().object,selectable:b().bool,selected:b().bool,style:b().object,ancestorsData:b().oneOfType([b().object,b().array]),childrenData:b().oneOfType([b().object,b().array]),descendantsData:b().oneOfType([b().object,b().array]),parentData:b().oneOfType([b().object,b().array]),siblingsData:b().oneOfType([b().object,b().array]),isParent:b().bool,isChildless:b().bool,isChild:b().bool,isOrphan:b().bool,relativePosition:b().object}),tapNodeData:b().object,tapEdge:b().exact({isLoop:b().bool,isSimple:b().bool,midpoint:b().object,sourceData:b().object,sourceEndpoint:b().object,targetData:b().object,targetEndpoint:b().object,timeStamp:b().number,classes:b().string,data:b().object,grabbable:b().bool,group:b().string,locked:b().bool,selectable:b().bool,selected:b().bool,style:b().object}),tapEdgeData:b().object,mouseoverNodeData:b().object,mouseoverEdgeData:b().object,selectedNodeData:b().array,selectedEdgeData:b().array,generateImage:b().shape({type:b().oneOf(["svg","png","jpg","jpeg"]),options:b().object,action:b().oneOf(["store","download","both"]),filename:b().string}),imageData:b().string,responsive:b().bool,extent:b().object,clearOnUnhover:b().bool},it.defaultProps={style:{width:"600px",height:"600px"},layout:{name:"grid"},pan:{x:0,y:0},zoom:1,minZoom:1e-50,maxZoom:1e50,zoomingEnabled:!0,userZoomingEnabled:!0,panningEnabled:!0,userPanningEnabled:!0,wheelSensitivity:1,boxSelectionEnabled:!1,autolock:!1,autoungrabify:!1,autounselectify:!1,autoRefreshLayout:!0,generateImage:{},imageData:null,responsive:!1,clearOnUnhover:!1,elements:[],contextMenu:[]};const ot=it;var at=__webpack_require__(4607),st=__webpack_require__.n(at),ct=__webpack_require__(4867),ut=__webpack_require__.n(ct),lt=__webpack_require__(703),ht=__webpack_require__.n(lt),ft=__webpack_require__(9142),dt=__webpack_require__.n(ft),pt=__webpack_require__(3840),gt=__webpack_require__.n(pt),vt=__webpack_require__(3878),bt=__webpack_require__.n(vt),yt=__webpack_require__(6611),mt=__webpack_require__.n(yt),wt=__webpack_require__(3595),xt=__webpack_require__.n(wt);m().use(st()),m().use(ut()),m().use(ht()),m().use(dt()),m().use(gt()),m().use(bt()),m().use(mt()),m().use(xt())})(),window.dash_cytoscape=__webpack_exports__})(); \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 294d7f44..c0720884 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "dash-cytoscape", - "version": "1.0.0", + "version": "1.0.1", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "dash-cytoscape", - "version": "1.0.0", + "version": "1.0.1", "license": "MIT", "dependencies": { "@ungap/custom-elements": "^1.3.0", diff --git a/package.json b/package.json index fbb4ab2a..c351cdf4 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "dash-cytoscape", - "version": "1.0.0", + "version": "1.0.1", "description": "A Component Library for Dash aimed at facilitating network visualization in Python, wrapped around Cytoscape.js", "repository": { "type": "git", diff --git a/src/DashCytoscape.jl b/src/DashCytoscape.jl index 18d97c5d..fbe32c5e 100644 --- a/src/DashCytoscape.jl +++ b/src/DashCytoscape.jl @@ -3,7 +3,7 @@ module DashCytoscape using Dash const resources_path = realpath(joinpath( @__DIR__, "..", "deps")) -const version = "1.0.0" +const version = "1.0.1" include("jl/cyto_cytoscape.jl") @@ -16,7 +16,7 @@ function __init__() [ DashBase.Resource( relative_package_path = "dash_cytoscape.min.js", - external_url = "https://unpkg.com/dash-cytoscape@1.0.0/dash_cytoscape/dash_cytoscape.min.js", + external_url = "https://unpkg.com/dash-cytoscape@1.0.1/dash_cytoscape/dash_cytoscape.min.js", dynamic = nothing, async = nothing, type = :js diff --git a/src/lib/components/Cytoscape.react.js b/src/lib/components/Cytoscape.react.js index cd8272bc..466144c4 100644 --- a/src/lib/components/Cytoscape.react.js +++ b/src/lib/components/Cytoscape.react.js @@ -168,6 +168,8 @@ class Cytoscape extends Component { // ///////////////////////////////////// CONSTANTS ///////////////////////////////////////// const SELECT_THRESHOLD = 100; const EXTENT_THRESHOLD = 5; + const UPDATE_ELEMENTS_THRESHOLD = 100; + const RESIZE_THRESHOLD = 50; const selectedNodes = cy.collection(); const selectedEdges = cy.collection(); @@ -214,6 +216,27 @@ class Cytoscape extends Component { }); }, EXTENT_THRESHOLD); + const updateElements = _.debounce(() => { + this.props.setProps({ + elements: cy.elements('').map((item) => { + if (item.json().group === 'nodes') { + return { + data: item.json().data, + position: item.json().position, + }; + } + return { + data: item.json().data, + position: void 0, + }; + }), + }); + }, UPDATE_ELEMENTS_THRESHOLD); + + const resize = _.debounce(() => { + cy.resize(); + }, RESIZE_THRESHOLD); + // Store the original maxZoom and minZoom functions const originalMaxZoomFn = cy.maxZoom; const originalMinZoomFn = cy.minZoom; @@ -331,26 +354,17 @@ class Cytoscape extends Component { }); cy.on('dragfree add remove', (_) => { - this.props.setProps({ - elements: cy.elements('').map((item) => { - if (item.json().group === 'nodes') { - return { - data: item.json().data, - position: item.json().position, - }; - } - return { - data: item.json().data, - position: void 0, - }; - }), - }); + updateElements(); }); - cy.on('viewport resize', () => { + cy.on('resize viewport', () => { setExtent(cy.extent()); }); + cy.on('tapstart', () => { + resize(); + }); + // Refresh layout if current zoom is out of boundaries cy.on('minMaxZoomChange', function () { const zoom = cy.zoom();