From ad3f20bcfd13fd535e281222a6417e4075d15ddc Mon Sep 17 00:00:00 2001 From: jos Date: Tue, 28 Oct 2014 16:25:08 +0100 Subject: [PATCH] Released version 3.6.3 --- HISTORY.md | 2 +- bower.json | 2 +- dist/vis.js | 711 +++++++++++++++++++++++++++--------------------- dist/vis.map | 2 +- dist/vis.min.js | 28 +- package.json | 2 +- 6 files changed, 425 insertions(+), 322 deletions(-) diff --git a/HISTORY.md b/HISTORY.md index 5fad761d..48c4a998 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -2,7 +2,7 @@ http://visjs.org -## not yet released, version 3.6.3 +## 2014-10-28, version 3.6.3 ### Timeline diff --git a/bower.json b/bower.json index 0eaf0a33..e3166081 100644 --- a/bower.json +++ b/bower.json @@ -1,6 +1,6 @@ { "name": "vis", - "version": "3.6.3-SNAPSHOT", + "version": "3.6.3", "main": ["dist/vis.min.js", "dist/vis.min.css"], "description": "A dynamic, browser-based visualization library.", "homepage": "http://visjs.org/", diff --git a/dist/vis.js b/dist/vis.js index 69dece0b..4cc0b8a9 100644 --- a/dist/vis.js +++ b/dist/vis.js @@ -4,7 +4,7 @@ * * A dynamic, browser-based visualization library. * - * @version 3.6.3-SNAPSHOT + * @version 3.6.3 * @date 2014-10-28 * * @license @@ -86,61 +86,62 @@ return /******/ (function(modules) { // webpackBootstrap // data exports.DataSet = __webpack_require__(3); exports.DataView = __webpack_require__(4); + exports.Queue = __webpack_require__(5); // Graph3d - exports.Graph3d = __webpack_require__(5); + exports.Graph3d = __webpack_require__(6); exports.graph3d = { - Camera: __webpack_require__(6), - Filter: __webpack_require__(7), - Point2d: __webpack_require__(8), - Point3d: __webpack_require__(9), - Slider: __webpack_require__(10), - StepNumber: __webpack_require__(11) + Camera: __webpack_require__(7), + Filter: __webpack_require__(8), + Point2d: __webpack_require__(9), + Point3d: __webpack_require__(10), + Slider: __webpack_require__(11), + StepNumber: __webpack_require__(12) }; // Timeline - exports.Timeline = __webpack_require__(12); - exports.Graph2d = __webpack_require__(13); + exports.Timeline = __webpack_require__(13); + exports.Graph2d = __webpack_require__(14); exports.timeline = { - DateUtil: __webpack_require__(14), - DataStep: __webpack_require__(15), - Range: __webpack_require__(16), - stack: __webpack_require__(17), - TimeStep: __webpack_require__(18), + DateUtil: __webpack_require__(15), + DataStep: __webpack_require__(16), + Range: __webpack_require__(17), + stack: __webpack_require__(18), + TimeStep: __webpack_require__(19), components: { items: { - Item: __webpack_require__(30), - BackgroundItem: __webpack_require__(31), - BoxItem: __webpack_require__(32), - PointItem: __webpack_require__(33), - RangeItem: __webpack_require__(34) + Item: __webpack_require__(31), + BackgroundItem: __webpack_require__(32), + BoxItem: __webpack_require__(33), + PointItem: __webpack_require__(34), + RangeItem: __webpack_require__(35) }, - Component: __webpack_require__(19), - CurrentTime: __webpack_require__(20), - CustomTime: __webpack_require__(21), - DataAxis: __webpack_require__(22), - GraphGroup: __webpack_require__(23), - Group: __webpack_require__(24), - BackgroundGroup: __webpack_require__(25), - ItemSet: __webpack_require__(26), - Legend: __webpack_require__(27), - LineGraph: __webpack_require__(28), - TimeAxis: __webpack_require__(29) + Component: __webpack_require__(20), + CurrentTime: __webpack_require__(21), + CustomTime: __webpack_require__(22), + DataAxis: __webpack_require__(23), + GraphGroup: __webpack_require__(24), + Group: __webpack_require__(25), + BackgroundGroup: __webpack_require__(26), + ItemSet: __webpack_require__(27), + Legend: __webpack_require__(28), + LineGraph: __webpack_require__(29), + TimeAxis: __webpack_require__(30) } }; // Network - exports.Network = __webpack_require__(35); + exports.Network = __webpack_require__(36); exports.network = { - Edge: __webpack_require__(36), - Groups: __webpack_require__(37), - Images: __webpack_require__(38), - Node: __webpack_require__(39), - Popup: __webpack_require__(40), - dotparser: __webpack_require__(41), - gephiParser: __webpack_require__(42) + Edge: __webpack_require__(37), + Groups: __webpack_require__(38), + Images: __webpack_require__(39), + Node: __webpack_require__(40), + Popup: __webpack_require__(41), + dotparser: __webpack_require__(42), + gephiParser: __webpack_require__(43) }; // Deprecated since v3.0.0 @@ -149,8 +150,8 @@ return /******/ (function(modules) { // webpackBootstrap }; // bundled external libraries - exports.moment = __webpack_require__(43); - exports.hammer = __webpack_require__(44); + exports.moment = __webpack_require__(44); + exports.hammer = __webpack_require__(45); /***/ }, @@ -161,7 +162,7 @@ return /******/ (function(modules) { // webpackBootstrap // first check if moment.js is already loaded in the browser window, if so, // use this instance. Else, load via commonjs. - var moment = __webpack_require__(43); + var moment = __webpack_require__(44); /** * Test whether given object is a number @@ -1694,7 +1695,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ function(module, exports, __webpack_require__) { var util = __webpack_require__(1); - var Queue = __webpack_require__(45); + var Queue = __webpack_require__(5); /** * DataSet @@ -1779,16 +1780,42 @@ return /******/ (function(modules) { // webpackBootstrap this.add(data); } - // change the dataset in a queued one - if (this._options.queue) { - var queue = { - replace: ['add', 'update', 'remove'] - }; - if (typeof this._options.queue === 'object') util.extend(queue, this._options.queue); - Queue.extend(this, queue); - } + this.setOptions(options); } + /** + * @param {Object} [options] Available options: + * {Object} queue Queue changes to the DataSet, + * flush them all at once. + * Queue options: + * - {number} delay Delay in ms, null by default + * - {number} max Maximum number of entries in the queue, Infinity by default + * @param options + */ + DataSet.prototype.setOptions = function(options) { + if (options && options.queue !== undefined) { + if (options.queue === false) { + // delete queue if loaded + if (this._queue) { + this._queue.destroy(); + delete this._queue; + } + } + else { + // create queue and update its options + if (!this._queue) { + this._queue = Queue.extend(this, { + replace: ['add', 'update', 'remove'] + }); + } + + if (typeof options.queue === 'object') { + this._queue.setOptions(options.queue); + } + } + } + }; + /** * Subscribe to an event, add an event listener * @param {String} event Event name. Available events: 'put', 'update', @@ -2966,18 +2993,224 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, /* 5 */ +/***/ function(module, exports, __webpack_require__) { + + /** + * A queue + * @param {Object} options + * Available options: + * - delay: number When provided, the queue will be flushed + * automatically after an inactivity of this delay + * in milliseconds. + * Default value is null. + * - max: number When the queue exceeds the given maximum number + * of entries, the queue is flushed automatically. + * Default value of max is Infinity. + * @constructor + */ + function Queue(options) { + // options + this.delay = null; + this.max = Infinity; + + // properties + this._queue = []; + this._timeout = null; + this._extended = null; + + this.setOptions(options); + } + + /** + * Update the configuration of the queue + * @param {Object} options + * Available options: + * - delay: number When provided, the queue will be flushed + * automatically after an inactivity of this delay + * in milliseconds. + * Default value is null. + * - max: number When the queue exceeds the given maximum number + * of entries, the queue is flushed automatically. + * Default value of max is Infinity. + * @param options + */ + Queue.prototype.setOptions = function (options) { + if (options && typeof options.delay !== 'undefined') { + this.delay = options.delay; + } + if (options && typeof options.max !== 'undefined') { + this.max = options.max; + } + + this._flushIfNeeded(); + }; + + /** + * Extend an object with queuing functionality. + * The object will be extended with a function flush, and the methods provided + * in options.replace will be replaced with queued ones. + * @param {Object} object + * @param {Object} options + * Available options: + * - replace: Array. + * A list with method names of the methods + * on the object to be replaced with queued ones. + * - delay: number When provided, the queue will be flushed + * automatically after an inactivity of this delay + * in milliseconds. + * Default value is null. + * - max: number When the queue exceeds the given maximum number + * of entries, the queue is flushed automatically. + * Default value of max is Infinity. + * @return {Queue} Returns the created queue + */ + Queue.extend = function (object, options) { + var queue = new Queue(options); + + if (object.flush !== undefined) { + throw new Error('Target object already has a property flush'); + } + object.flush = function () { + queue.flush(); + }; + + var methods = [{ + name: 'flush', + original: undefined + }]; + + if (options && options.replace) { + for (var i = 0; i < options.replace.length; i++) { + var name = options.replace[i]; + methods.push({ + name: name, + original: object[name] + }); + queue.replace(object, name); + } + } + + queue._extended = { + object: object, + methods: methods + }; + + return queue; + }; + + /** + * Destroy the queue. The queue will first flush all queued actions, and in + * case it has extended an object, will restore the original object. + */ + Queue.prototype.destroy = function () { + this.flush(); + + if (this._extended) { + var object = this._extended.object; + var methods = this._extended.methods; + for (var i = 0; i < methods.length; i++) { + var method = methods[i]; + if (method.original) { + object[method.name] = method.original; + } + else { + delete object[method.name]; + } + } + this._extended = null; + } + }; + + /** + * Replace a method on an object with a queued version + * @param {Object} object Object having the method + * @param {string} method The method name + */ + Queue.prototype.replace = function(object, method) { + var me = this; + var original = object[method]; + if (!original) { + throw new Error('Method ' + method + ' undefined'); + } + + object[method] = function () { + // create an Array with the arguments + var args = []; + for (var i = 0; i < arguments.length; i++) { + args[i] = arguments[i]; + } + + // add this call to the queue + me.queue({ + args: args, + fn: original, + context: this + }); + }; + }; + + /** + * Queue a call + * @param {function | {fn: function, args: Array} | {fn: function, args: Array, context: Object}} entry + */ + Queue.prototype.queue = function(entry) { + if (typeof entry === 'function') { + this._queue.push({fn: entry}); + } + else { + this._queue.push(entry); + } + + this._flushIfNeeded(); + }; + + /** + * Check whether the queue needs to be flushed + * @private + */ + Queue.prototype._flushIfNeeded = function () { + // flush when the maximum is exceeded. + if (this._queue.length > this.max) { + this.flush(); + } + + // flush after a period of inactivity when a delay is configured + clearTimeout(this._timeout); + if (this.queue.length > 0 && typeof this.delay === 'number') { + var me = this; + this._timeout = setTimeout(function () { + me.flush(); + }, this.delay); + } + }; + + /** + * Flush all queued calls + */ + Queue.prototype.flush = function () { + while (this._queue.length > 0) { + var entry = this._queue.shift(); + entry.fn.apply(entry.context || entry.fn, entry.args || []); + } + }; + + module.exports = Queue; + + +/***/ }, +/* 6 */ /***/ function(module, exports, __webpack_require__) { var Emitter = __webpack_require__(53); var DataSet = __webpack_require__(3); var DataView = __webpack_require__(4); var util = __webpack_require__(1); - var Point3d = __webpack_require__(9); - var Point2d = __webpack_require__(8); - var Camera = __webpack_require__(6); - var Filter = __webpack_require__(7); - var Slider = __webpack_require__(10); - var StepNumber = __webpack_require__(11); + var Point3d = __webpack_require__(10); + var Point2d = __webpack_require__(9); + var Camera = __webpack_require__(7); + var Filter = __webpack_require__(8); + var Slider = __webpack_require__(11); + var StepNumber = __webpack_require__(12); /** * @constructor Graph3d @@ -5249,10 +5482,10 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 6 */ +/* 7 */ /***/ function(module, exports, __webpack_require__) { - var Point3d = __webpack_require__(9); + var Point3d = __webpack_require__(10); /** * @class Camera @@ -5389,7 +5622,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = Camera; /***/ }, -/* 7 */ +/* 8 */ /***/ function(module, exports, __webpack_require__) { var DataView = __webpack_require__(4); @@ -5613,7 +5846,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 8 */ +/* 9 */ /***/ function(module, exports, __webpack_require__) { /** @@ -5630,7 +5863,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 9 */ +/* 10 */ /***/ function(module, exports, __webpack_require__) { /** @@ -5721,7 +5954,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 10 */ +/* 11 */ /***/ function(module, exports, __webpack_require__) { var util = __webpack_require__(1); @@ -6073,7 +6306,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 11 */ +/* 12 */ /***/ function(module, exports, __webpack_require__) { /** @@ -6219,20 +6452,20 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 12 */ +/* 13 */ /***/ function(module, exports, __webpack_require__) { var Emitter = __webpack_require__(53); - var Hammer = __webpack_require__(44); + var Hammer = __webpack_require__(45); var util = __webpack_require__(1); var DataSet = __webpack_require__(3); var DataView = __webpack_require__(4); - var Range = __webpack_require__(16); + var Range = __webpack_require__(17); var Core = __webpack_require__(46); - var TimeAxis = __webpack_require__(29); - var CurrentTime = __webpack_require__(20); - var CustomTime = __webpack_require__(21); - var ItemSet = __webpack_require__(26); + var TimeAxis = __webpack_require__(30); + var CurrentTime = __webpack_require__(21); + var CustomTime = __webpack_require__(22); + var ItemSet = __webpack_require__(27); /** * Create a timeline visualization @@ -6534,20 +6767,20 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 13 */ +/* 14 */ /***/ function(module, exports, __webpack_require__) { var Emitter = __webpack_require__(53); - var Hammer = __webpack_require__(44); + var Hammer = __webpack_require__(45); var util = __webpack_require__(1); var DataSet = __webpack_require__(3); var DataView = __webpack_require__(4); - var Range = __webpack_require__(16); + var Range = __webpack_require__(17); var Core = __webpack_require__(46); - var TimeAxis = __webpack_require__(29); - var CurrentTime = __webpack_require__(20); - var CustomTime = __webpack_require__(21); - var LineGraph = __webpack_require__(28); + var TimeAxis = __webpack_require__(30); + var CurrentTime = __webpack_require__(21); + var CustomTime = __webpack_require__(22); + var LineGraph = __webpack_require__(29); /** * Create a timeline visualization @@ -6784,13 +7017,13 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 14 */ +/* 15 */ /***/ function(module, exports, __webpack_require__) { /** * Created by Alex on 10/3/2014. */ - var moment = __webpack_require__(43); + var moment = __webpack_require__(44); /** @@ -7242,7 +7475,7 @@ return /******/ (function(modules) { // webpackBootstrap } /***/ }, -/* 15 */ +/* 16 */ /***/ function(module, exports, __webpack_require__) { /** @@ -7470,14 +7703,14 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 16 */ +/* 17 */ /***/ function(module, exports, __webpack_require__) { var util = __webpack_require__(1); var hammerUtil = __webpack_require__(47); - var moment = __webpack_require__(43); - var Component = __webpack_require__(19); - var DateUtil = __webpack_require__(14); + var moment = __webpack_require__(44); + var Component = __webpack_require__(20); + var DateUtil = __webpack_require__(15); /** * @constructor Range @@ -8146,7 +8379,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 17 */ +/* 18 */ /***/ function(module, exports, __webpack_require__) { // Utility functions for ordering and stacking of items @@ -8274,11 +8507,11 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 18 */ +/* 19 */ /***/ function(module, exports, __webpack_require__) { - var moment = __webpack_require__(43); - var DateUtil = __webpack_require__(14); + var moment = __webpack_require__(44); + var DateUtil = __webpack_require__(15); /** * @constructor TimeStep @@ -8806,7 +9039,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 19 */ +/* 20 */ /***/ function(module, exports, __webpack_require__) { /** @@ -8866,12 +9099,12 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 20 */ +/* 21 */ /***/ function(module, exports, __webpack_require__) { var util = __webpack_require__(1); - var Component = __webpack_require__(19); - var moment = __webpack_require__(43); + var Component = __webpack_require__(20); + var moment = __webpack_require__(44); var locales = __webpack_require__(48); /** @@ -9035,13 +9268,13 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 21 */ +/* 22 */ /***/ function(module, exports, __webpack_require__) { - var Hammer = __webpack_require__(44); + var Hammer = __webpack_require__(45); var util = __webpack_require__(1); - var Component = __webpack_require__(19); - var moment = __webpack_require__(43); + var Component = __webpack_require__(20); + var moment = __webpack_require__(44); var locales = __webpack_require__(48); /** @@ -9237,13 +9470,13 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 22 */ +/* 23 */ /***/ function(module, exports, __webpack_require__) { var util = __webpack_require__(1); var DOMutil = __webpack_require__(2); - var Component = __webpack_require__(19); - var DataStep = __webpack_require__(15); + var Component = __webpack_require__(20); + var DataStep = __webpack_require__(16); /** * A horizontal time axis @@ -9744,7 +9977,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 23 */ +/* 24 */ /***/ function(module, exports, __webpack_require__) { var util = __webpack_require__(1); @@ -9885,12 +10118,12 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 24 */ +/* 25 */ /***/ function(module, exports, __webpack_require__) { var util = __webpack_require__(1); - var stack = __webpack_require__(17); - var RangeItem = __webpack_require__(34); + var stack = __webpack_require__(18); + var RangeItem = __webpack_require__(35); /** * @constructor Group @@ -10397,11 +10630,11 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 25 */ +/* 26 */ /***/ function(module, exports, __webpack_require__) { var util = __webpack_require__(1); - var Group = __webpack_require__(24); + var Group = __webpack_require__(25); /** * @constructor BackgroundGroup @@ -10460,20 +10693,20 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 26 */ +/* 27 */ /***/ function(module, exports, __webpack_require__) { - var Hammer = __webpack_require__(44); + var Hammer = __webpack_require__(45); var util = __webpack_require__(1); var DataSet = __webpack_require__(3); var DataView = __webpack_require__(4); - var Component = __webpack_require__(19); - var Group = __webpack_require__(24); - var BackgroundGroup = __webpack_require__(25); - var BoxItem = __webpack_require__(32); - var PointItem = __webpack_require__(33); - var RangeItem = __webpack_require__(34); - var BackgroundItem = __webpack_require__(31); + var Component = __webpack_require__(20); + var Group = __webpack_require__(25); + var BackgroundGroup = __webpack_require__(26); + var BoxItem = __webpack_require__(33); + var PointItem = __webpack_require__(34); + var RangeItem = __webpack_require__(35); + var BackgroundItem = __webpack_require__(32); var UNGROUPED = '__ungrouped__'; // reserved group id for ungrouped items @@ -11931,12 +12164,12 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 27 */ +/* 28 */ /***/ function(module, exports, __webpack_require__) { var util = __webpack_require__(1); var DOMutil = __webpack_require__(2); - var Component = __webpack_require__(19); + var Component = __webpack_require__(20); /** * Legend for Graph2d @@ -12135,17 +12368,17 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 28 */ +/* 29 */ /***/ function(module, exports, __webpack_require__) { var util = __webpack_require__(1); var DOMutil = __webpack_require__(2); var DataSet = __webpack_require__(3); var DataView = __webpack_require__(4); - var Component = __webpack_require__(19); - var DataAxis = __webpack_require__(22); - var GraphGroup = __webpack_require__(23); - var Legend = __webpack_require__(27); + var Component = __webpack_require__(20); + var DataAxis = __webpack_require__(23); + var GraphGroup = __webpack_require__(24); + var Legend = __webpack_require__(28); var UNGROUPED = '__ungrouped__'; // reserved group id for ungrouped items @@ -13442,14 +13675,14 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 29 */ +/* 30 */ /***/ function(module, exports, __webpack_require__) { var util = __webpack_require__(1); - var Component = __webpack_require__(19); - var TimeStep = __webpack_require__(18); - var DateUtil = __webpack_require__(14); - var moment = __webpack_require__(43); + var Component = __webpack_require__(20); + var TimeStep = __webpack_require__(19); + var DateUtil = __webpack_require__(15); + var moment = __webpack_require__(44); /** * A horizontal time axis @@ -13861,10 +14094,10 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 30 */ +/* 31 */ /***/ function(module, exports, __webpack_require__) { - var Hammer = __webpack_require__(44); + var Hammer = __webpack_require__(45); var util = __webpack_require__(1); /** @@ -14126,13 +14359,13 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 31 */ +/* 32 */ /***/ function(module, exports, __webpack_require__) { - var Hammer = __webpack_require__(44); - var Item = __webpack_require__(30); - var BackgroundGroup = __webpack_require__(25); - var RangeItem = __webpack_require__(34); + var Hammer = __webpack_require__(45); + var Item = __webpack_require__(31); + var BackgroundGroup = __webpack_require__(26); + var RangeItem = __webpack_require__(35); /** * @constructor BackgroundItem @@ -14337,10 +14570,10 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 32 */ +/* 33 */ /***/ function(module, exports, __webpack_require__) { - var Item = __webpack_require__(30); + var Item = __webpack_require__(31); var util = __webpack_require__(1); /** @@ -14567,10 +14800,10 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 33 */ +/* 34 */ /***/ function(module, exports, __webpack_require__) { - var Item = __webpack_require__(30); + var Item = __webpack_require__(31); /** * @constructor PointItem @@ -14756,11 +14989,11 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 34 */ +/* 35 */ /***/ function(module, exports, __webpack_require__) { - var Hammer = __webpack_require__(44); - var Item = __webpack_require__(30); + var Hammer = __webpack_require__(45); + var Item = __webpack_require__(31); /** * @constructor RangeItem @@ -15055,23 +15288,23 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 35 */ +/* 36 */ /***/ function(module, exports, __webpack_require__) { var Emitter = __webpack_require__(53); - var Hammer = __webpack_require__(44); + var Hammer = __webpack_require__(45); var mousetrap = __webpack_require__(54); var util = __webpack_require__(1); var hammerUtil = __webpack_require__(47); var DataSet = __webpack_require__(3); var DataView = __webpack_require__(4); - var dotparser = __webpack_require__(41); - var gephiParser = __webpack_require__(42); - var Groups = __webpack_require__(37); - var Images = __webpack_require__(38); - var Node = __webpack_require__(39); - var Edge = __webpack_require__(36); - var Popup = __webpack_require__(40); + var dotparser = __webpack_require__(42); + var gephiParser = __webpack_require__(43); + var Groups = __webpack_require__(38); + var Images = __webpack_require__(39); + var Node = __webpack_require__(40); + var Edge = __webpack_require__(37); + var Popup = __webpack_require__(41); var MixinLoader = __webpack_require__(51); var Activator = __webpack_require__(52); var locales = __webpack_require__(49); @@ -17596,11 +17829,11 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 36 */ +/* 37 */ /***/ function(module, exports, __webpack_require__) { var util = __webpack_require__(1); - var Node = __webpack_require__(39); + var Node = __webpack_require__(40); /** * @class Edge @@ -18787,7 +19020,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = Edge; /***/ }, -/* 37 */ +/* 38 */ /***/ function(module, exports, __webpack_require__) { var util = __webpack_require__(1); @@ -18876,7 +19109,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 38 */ +/* 39 */ /***/ function(module, exports, __webpack_require__) { /** @@ -18934,7 +19167,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 39 */ +/* 40 */ /***/ function(module, exports, __webpack_require__) { var util = __webpack_require__(1); @@ -19958,7 +20191,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 40 */ +/* 41 */ /***/ function(module, exports, __webpack_require__) { /** @@ -20104,7 +20337,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 41 */ +/* 42 */ /***/ function(module, exports, __webpack_require__) { /** @@ -20936,7 +21169,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 42 */ +/* 43 */ /***/ function(module, exports, __webpack_require__) { @@ -21001,7 +21234,7 @@ return /******/ (function(modules) { // webpackBootstrap exports.parseGephi = parseGephi; /***/ }, -/* 43 */ +/* 44 */ /***/ function(module, exports, __webpack_require__) { // first check if moment.js is already loaded in the browser window, if so, @@ -21010,7 +21243,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 44 */ +/* 45 */ /***/ function(module, exports, __webpack_require__) { // Only load hammer.js when in a browser environment @@ -21025,152 +21258,22 @@ return /******/ (function(modules) { // webpackBootstrap } -/***/ }, -/* 45 */ -/***/ function(module, exports, __webpack_require__) { - - /** - * A queue - * @param {Object} options - * Available options: - * - delay: number When a number, the queue will be flushed - * automatically after an inactivity of this delay - * in milliseconds. - * Default value is null. - * - max: number When the queue exceeds the given maximum number - * of entries, the queue is flushed automatically. - * Default value of max is Infinity. - * @constructor - */ - function Queue(options) { - // options - this.delay = options && typeof options.delay === 'number' ? options.delay : null; - this.max = options && typeof options.max === 'number' ? options.max : Infinity; - - // properties - this._queue = []; - this._timeout = null; - } - - /** - * Extend an object with queuing functionality. - * The object will be extended with a function flush, and the methods provided - * in options.replace will be replaced with queued ones. - * @param {Object} object - * @param {Object} options - * Available options: - * - replace: Array. - * A list with method names of the methods - * on the object to be replaced with queued ones. - * - delay: number When a number, the queue will be flushed - * automatically after an inactivity of this delay - * in milliseconds. - * Default value is null. - * - max: number When the queue exceeds the given maximum number - * of entries, the queue is flushed automatically. - * Default value of max is Infinity. - */ - Queue.extend = function (object, options) { - var queue = new Queue(options); - - if (object.flush !== undefined) { - throw new Error('Target object already has a property flush'); - } - object.flush = function () { - queue.flush(); - }; - - if (options && options.replace) { - for (var i = 0; i < options.replace.length; i++) { - queue.replace(object, options.replace[i]); - } - } - }; - - /** - * Replace a method on an object with a queued version - * @param {Object} object Object having the method - * @param {string} method The method name - */ - Queue.prototype.replace = function(object, method) { - var me = this; - var original = object[method]; - if (!original) { - throw new Error('Method ' + method + ' undefined'); - } - - object[method] = function () { - // create an Array with the arguments - var args = []; - for (var i = 0; i < arguments.length; i++) { - args[i] = arguments[i]; - } - - // add this call to the queue - me.queue({ - args: args, - fn: original, - context: this - }); - }; - }; - - /** - * Queue a call - * @param {function | {fn: function, args: Array} | {fn: function, args: Array, context: Object}} entry - */ - Queue.prototype.queue = function(entry) { - if (typeof entry === 'function') { - this._queue.push({fn: entry}); - } - else { - this._queue.push(entry); - } - - // flush when the maximum is exceeded. - if (this._queue.length > this.max) { - this.flush(); - } - - // flush after a period of inactivity when a delay is configured - if (typeof this.delay === 'number') { - var me = this; - clearTimeout(this._timeout); - this._timeout = setTimeout(function () { - me.flush(); - }, this.delay); - } - }; - - /** - * Flush all queued calls - */ - Queue.prototype.flush = function () { - while (this._queue.length > 0) { - var entry = this._queue.shift(); - entry.fn.apply(entry.context || entry.fn, entry.args || []); - } - }; - - module.exports = Queue; - - /***/ }, /* 46 */ /***/ function(module, exports, __webpack_require__) { var Emitter = __webpack_require__(53); - var Hammer = __webpack_require__(44); + var Hammer = __webpack_require__(45); var util = __webpack_require__(1); var DataSet = __webpack_require__(3); var DataView = __webpack_require__(4); - var Range = __webpack_require__(16); - var TimeAxis = __webpack_require__(29); - var CurrentTime = __webpack_require__(20); - var CustomTime = __webpack_require__(21); - var ItemSet = __webpack_require__(26); + var Range = __webpack_require__(17); + var TimeAxis = __webpack_require__(30); + var CurrentTime = __webpack_require__(21); + var CustomTime = __webpack_require__(22); + var ItemSet = __webpack_require__(27); var Activator = __webpack_require__(52); - var DateUtil = __webpack_require__(14); + var DateUtil = __webpack_require__(15); /** * Create a timeline visualization @@ -22010,7 +22113,7 @@ return /******/ (function(modules) { // webpackBootstrap /* 47 */ /***/ function(module, exports, __webpack_require__) { - var Hammer = __webpack_require__(44); + var Hammer = __webpack_require__(45); /** * Fake a hammer.js gesture. Event can be a ScrollEvent or MouseMoveEvent @@ -22543,7 +22646,7 @@ return /******/ (function(modules) { // webpackBootstrap var mousetrap = __webpack_require__(54); var Emitter = __webpack_require__(53); - var Hammer = __webpack_require__(44); + var Hammer = __webpack_require__(45); var util = __webpack_require__(1); /** @@ -29842,7 +29945,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ function(module, exports, __webpack_require__) { var util = __webpack_require__(1); - var Node = __webpack_require__(39); + var Node = __webpack_require__(40); /** * Creation of the SectorMixin var. @@ -30400,7 +30503,7 @@ return /******/ (function(modules) { // webpackBootstrap /* 59 */ /***/ function(module, exports, __webpack_require__) { - var Node = __webpack_require__(39); + var Node = __webpack_require__(40); /** * This function can be called from the _doInAllSectors function @@ -31105,8 +31208,8 @@ return /******/ (function(modules) { // webpackBootstrap /***/ function(module, exports, __webpack_require__) { var util = __webpack_require__(1); - var Node = __webpack_require__(39); - var Edge = __webpack_require__(36); + var Node = __webpack_require__(40); + var Edge = __webpack_require__(37); /** * clears the toolbar div element of children @@ -31706,7 +31809,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ function(module, exports, __webpack_require__) { var util = __webpack_require__(1); - var Hammer = __webpack_require__(44); + var Hammer = __webpack_require__(45); exports._cleanNavigation = function() { // clean hammer bindings diff --git a/dist/vis.map b/dist/vis.map index 2b4cfed5..aaef2d89 100644 --- a/dist/vis.map +++ b/dist/vis.map @@ -1 +1 @@ -{"version":3,"file":"vis.map","sources":["./dist/vis.js"],"names":["root","factory","exports","module","define","amd","this","modules","__webpack_require__","moduleId","installedModules","id","loaded","call","m","c","p","util","DOMutil","DataSet","DataView","Graph3d","graph3d","Camera","Filter","Point2d","Point3d","Slider","StepNumber","Timeline","Graph2d","timeline","DateUtil","DataStep","Range","stack","TimeStep","components","items","Item","BackgroundItem","BoxItem","PointItem","RangeItem","Component","CurrentTime","CustomTime","DataAxis","GraphGroup","Group","BackgroundGroup","ItemSet","Legend","LineGraph","TimeAxis","Network","network","Edge","Groups","Images","Node","Popup","dotparser","gephiParser","Graph","Error","moment","hammer","isNumber","object","Number","isString","String","isDate","Date","match","ASPDateRegex","exec","isNaN","parse","isDataTable","google","visualization","DataTable","randomUUID","S4","Math","floor","random","toString","extend","a","i","len","arguments","length","other","prop","hasOwnProperty","selectiveExtend","props","Array","isArray","selectiveDeepExtend","b","TypeError","constructor","Object","undefined","deepExtend","selectiveNotDeepExtend","indexOf","equalArray","convert","type","Boolean","valueOf","isMoment","toDate","getType","toISOString","value","getAbsoluteLeft","elem","getBoundingClientRect","left","window","pageXOffset","getAbsoluteTop","top","pageYOffset","addClassName","className","classes","split","push","join","removeClassName","index","splice","forEach","callback","toArray","array","updateProperty","key","addEventListener","element","action","listener","useCapture","navigator","userAgent","attachEvent","removeEventListener","detachEvent","preventDefault","event","returnValue","getTarget","target","srcElement","nodeType","parentNode","option","asBoolean","defaultValue","asNumber","asString","asSize","asElement","GiveDec","Hex","Value","eval","GiveHex","Dec","parseColor","color","isValidRGB","rgb","substr","RGBToHex","isValidHex","hsv","hexToHSV","lighterColorHSV","h","s","v","min","darkerColorHSV","darkerColorHex","HSVToHex","lighterColorHex","background","border","highlight","hover","hexToRGB","hex","replace","toUpperCase","substring","d","e","f","r","g","red","green","blue","RGBToHSV","minRGB","maxRGB","max","hue","saturation","cssUtil","cssText","styles","style","trim","parts","keys","map","addCssText","currentStyles","newStyles","removeCssText","removeStyles","HSVToRGB","q","t","isOk","test","selectiveBridgeObject","fields","referenceObject","objectTo","create","bridgeObject","mergeOptions","mergeTarget","options","enabled","binarySearch","orderedItems","range","field","field2","maxIterations","iteration","low","high","middle","item","isVisible","start","binarySearchGeneric","sidePreference","newGuess","prevValue","nextValue","found","newLow","newHigh","guess","console","log","easeInOutQuad","end","duration","change","easingFunctions","linear","easeInQuad","easeOutQuad","easeInCubic","easeOutCubic","easeInOutCubic","easeInQuart","easeOutQuart","easeInOutQuart","easeInQuint","easeOutQuint","easeInOutQuint","prepareElements","JSONcontainer","elementType","redundant","used","cleanupElements","removeChild","getSVGElement","svgContainer","shift","document","createElementNS","appendChild","getDOMElement","DOMContainer","insertBefore","createElement","drawPoint","x","y","group","point","drawPoints","setAttributeNS","size","drawBar","width","height","rect","data","_options","_data","_fieldId","fieldId","_type","_subscribers","add","queue","Queue","prototype","on","subscribers","subscribe","off","filter","unsubscribe","_trigger","params","senderId","concat","subscriber","addedIds","me","_addItem","columns","_getColumnNames","row","rows","getNumberOfRows","col","cols","getValue","update","updatedIds","updatedData","addOrUpdate","_updateItem","get","ids","firstType","returnType","allowedValues","itemId","_getItem","order","_sort","_filterFields","_appendRow","result","getIds","getDataSet","mappedItems","filteredItem","name","sort","av","bv","remove","removedId","removedIds","_remove","clear","maxField","itemField","minField","distinct","values","fieldType","count","exists","types","raw","converted","JSON","stringify","dataTable","getNumberOfColumns","getColumnId","getColumnLabel","addRow","setValue","_ids","_onEvent","apply","setData","viewOptions","getArguments","defaultFilter","dataSet","added","updated","removed","container","SyntaxError","containerElement","margin","defaultXCenter","defaultYCenter","xLabel","yLabel","zLabel","passValueFn","xValueLabel","yValueLabel","zValueLabel","filterLabel","legendLabel","STYLE","DOT","showPerspective","showGrid","keepAspectRatio","showShadow","showGrayBottom","showTooltip","verticalRatio","animationInterval","animationPreload","camera","eye","dataPoints","colX","colY","colZ","colValue","colFilter","xMin","xStep","xMax","yMin","yStep","yMax","zMin","zStep","zMax","valueMin","valueMax","xBarWidth","yBarWidth","colorAxis","colorGrid","colorDot","colorDotBorder","setOptions","Emitter","_setScale","scale","z","xCenter","yCenter","zCenter","setArmLocation","_convert3Dto2D","point3d","translation","_convertPointToTranslation","_convertTranslationToScreen","ax","ay","az","cx","getCameraLocation","cy","cz","sinTx","sin","getCameraRotation","cosTx","cos","sinTy","cosTy","sinTz","cosTz","dx","dy","dz","bx","by","ex","ey","ez","getArmLength","xcenter","frame","canvas","clientWidth","ycenter","_setBackgroundColor","backgroundColor","fill","stroke","strokeWidth","borderColor","borderWidth","borderStyle","BAR","BARCOLOR","BARSIZE","DOTLINE","DOTCOLOR","DOTSIZE","GRID","LINE","SURFACE","_getStyleNumber","styleName","_determineColumnIndexes","counter","column","getDistinctValues","distinctValues","getColumnRange","minMax","_dataInitialize","rawData","_onChange","dataFilter","setOnLoadCallback","redraw","withBars","defaultXBarWidth","dataX","defaultYBarWidth","dataY","xRange","defaultXMin","defaultXMax","defaultXStep","yRange","defaultYMin","defaultYMax","defaultYStep","zRange","defaultZMin","defaultZMax","defaultZStep","valueRange","defaultValueMin","defaultValueMax","_getDataPoints","sortNumber","obj","dataMatrix","xIndex","yIndex","trans","screen","bottom","pointRight","pointTop","pointCross","hasChildNodes","firstChild","position","overflow","noCanvas","fontWeight","padding","innerHTML","onmousedown","_onMouseDown","ontouchstart","_onTouchStart","onmousewheel","_onWheel","ontooltip","_onTooltip","onkeydown","setSize","_resizeCanvas","clientHeight","animationStart","slider","play","animationStop","stop","_resizeCenter","charAt","parseFloat","setCameraPosition","pos","horizontal","vertical","setArmRotation","distance","setArmLength","getCameraPosition","getArmRotation","_readData","_redrawFilter","animationAutoStart","cameraPosition","styleNumber","tooltip","showAnimationControls","_redrawSlider","_redrawClear","_redrawAxis","_redrawDataGrid","_redrawDataLine","_redrawDataBar","_redrawDataDot","_redrawInfo","_redrawLegend","ctx","getContext","clearRect","widthMin","widthMax","dotSize","right","lineWidth","font","ymin","ymax","_hsv2rgb","strokeStyle","beginPath","moveTo","lineTo","strokeRect","fillStyle","closePath","gridLineLen","step","getCurrent","next","textAlign","textBaseline","fillText","label","visible","setValues","setPlayInterval","onchange","getIndex","selectValue","setOnChangeCallback","lineStyle","getLabel","getSelectedValue","from","to","prettyStep","text","xText","yText","zText","offset","xOffset","yOffset","xMin2d","xMax2d","gridLenX","gridLenY","textMargin","armAngle","H","S","V","R","G","B","C","Hi","X","abs","parseInt","cross","topSideVisible","zAvg","transBottom","dist","sortDepth","aDiff","subtract","bDiff","crossproduct","crossProduct","radius","arc","PI","j","surface","corners","xWidth","yWidth","surfaces","center","avg","transCenter","diff","leftButtonDown","_onMouseUp","which","button","touchDown","startMouseX","getMouseX","startMouseY","getMouseY","startStart","startEnd","startArmRotation","cursor","onmousemove","_onMouseMove","onmouseup","diffX","diffY","horizontalNew","verticalNew","snapAngle","snapValue","round","parameters","emit","delay","mouseX","mouseY","tooltipTimeout","clearTimeout","_hideTooltip","dataPoint","_dataPointFromXY","_showTooltip","setTimeout","ontouchmove","_onTouchMove","ontouchend","_onTouchEnd","delta","wheelDelta","detail","oldLength","newLength","_insideTriangle","triangle","sign","as","bs","cs","distMax","closestDataPoint","closestDist","triangle1","triangle2","distX","distY","sqrt","content","line","dot","dom","borderRadius","boxShadow","borderLeft","contentWidth","offsetWidth","contentHeight","offsetHeight","lineHeight","dotWidth","dotHeight","clientX","targetTouches","clientY","armLocation","armRotation","armLength","cameraLocation","cameraRotation","calculateCameraOrientation","rot","graph","onLoadCallback","loadInBackground","isLoaded","getLoadedProgress","getColumn","getValues","dataView","progress","sub","sum","prev","bar","MozBorderRadius","slide","onclick","togglePlay","onChangeCallback","playTimeout","playInterval","playLoop","setIndex","playNext","interval","clearInterval","getPlayInterval","setPlayLoop","doLoop","onChange","indexToLeft","startClientX","startSlideX","leftToIndex","_start","_end","_step","precision","_current","setRange","setStep","calculatePrettyStep","log10","LN10","step1","pow","step2","step5","toPrecision","getStep","groups","forthArgument","defaultOptions","autoResize","orientation","maxHeight","minHeight","_create","body","domProps","emitter","bind","hiddenDates","snap","toScreen","_toScreen","toGlobalScreen","_toGlobalScreen","toTime","_toTime","toGlobalTime","_toGlobalTime","timeAxis","currentTime","customTime","itemSet","itemsData","groupsData","setGroups","setItems","Core","newDataSet","initialLoad","setWindow","animate","fit","setSelection","focus","getSelection","itemData","getItemRange","dataset","minItem","maxStartItem","maxEndItem","linegraph","getLegend","groupId","isGroupVisible","visibility","convertHiddenOptions","repeat","dateItem","updateHiddenDates","centerContainer","totalRange","pixelTime","startDate","endDate","_d","runUntil","clone","day","dayOfYear","year","dayOffset","date","month","removeDuplicates","startHidden","isHidden","endHidden","rangeStart","rangeEnd","hidden","startToFront","endToFront","_applyRange","safeDates","printDates","dates","stepOverHiddenDates","timeStep","previousTime","stepInHidden","currentValue","current","newValue","switchedYear","switchedMonth","switchedDay","checkFirstStep","time","getHiddenDurationBetween","correctTimeForHidden","conversion","hiddenDuration","totalDuration","partialDuration","accumulatedHiddenDuration","getAccumulatedHiddenDuration","newTime","getHiddenDurationBefore","timeOffset","requiredDuration","previousPoint","snapAwayFromHidden","direction","correctionEnabled","minimumStep","containerHeight","customRange","autoScale","stepIndex","marginStart","marginEnd","deadSpace","majorSteps","minorSteps","setMinimumStep","setFirst","safeSize","minimumStepValue","orderOfMagnitude","minorStepIdx","magnitudefactor","solutionFound","stepSize","niceStart","niceEnd","roundToMinor","marginRange","rounded","hasNext","previous","slice","isMajor","now","hours","minutes","seconds","milliseconds","deltaDifference","scaleOffset","moveable","zoomable","zoomMin","zoomMax","touch","animateTimer","_onDragStart","_onDrag","_onDragEnd","_onHold","_onMouseWheel","_onTouch","_onPinch","validateDirection","getPointer","pageX","pageY","hammerUtil","dragging","initTime","done","initStart","initEnd","changed","anyChanged","_cancelAnimation","newStart","newEnd","getRange","totalHidden","previousDelta","allowDragging","gesture","deltaX","deltaY","diffRange","safeStart","safeEnd","fakeGesture","pointer","pointerDate","_pointerToDate","zoom","touches","hiddenDurationBefore","hiddenDurationAfter","move","EPSILON","orderByStart","orderByEnd","aTime","bTime","force","iMax","axis","collidingItem","jj","collision","nostack","subgroups","newTop","subgroup","SCALE","DAY","MILLISECOND","SECOND","MINUTE","HOUR","WEEKDAY","MONTH","YEAR","first","setFullYear","getFullYear","setMonth","setDate","setHours","setMinutes","setSeconds","setMilliseconds","getMilliseconds","getSeconds","getMinutes","getHours","getDate","getMonth","setScale","newScale","newStep","setAutoScale","enable","stepYear","stepMonth","stepDay","stepHour","stepMinute","stepSecond","stepMillisecond","getLabelMinor","format","getLabelMajor","destroy","_isResized","resized","_previousWidth","_previousHeight","showCurrentTime","locales","locale","parent","backgroundVertical","title","currentTimeTimer","setCurrentTime","getCurrentTime","showCustomTime","eventParams","Hammer","drag","prevent_default","setCustomTime","getCustomTime","stopPropagation","svg","linegraphOptions","showMinorLabels","showMajorLabels","icons","majorLinesOffset","minorLinesOffset","labelOffsetX","labelOffsetY","iconWidth","linegraphSVG","DOMelements","lines","labels","conversionFactor","minWidth","stepPixels","stepPixelsForced","lineOffset","master","svgElements","amountOfGroups","addGroup","graphOptions","updateGroup","removeGroup","hide","show","lineContainer","display","_redrawGroupIcons","iconHeight","iconOffset","drawIcon","backgroundHorizontal","changeCalled","activeGroups","_calculateCharSize","minorLabelHeight","minorCharHeight","majorLabelHeight","majorCharHeight","minorLineWidth","minorLineHeight","majorLineWidth","majorLineHeight","_redrawLabels","amountOfSteps","stepDifference","valueAtZero","marginStartPos","maxLabelSize","_redrawLabel","_redrawLine","convertValue","invertedValue","convertedValue","characterHeight","largestWidth","majorCharWidth","minorCharWidth","textMinor","createTextNode","measureCharMinor","textMajor","measureCharMajor","groupsUsingDefaultStyles","usingDefaultStyle","zeroPosition","setZeroPosition","catmullRom","parametrization","alpha","SVGcontainer","path","fillPath","fillHeight","outline","shaded","barWidth","bar1Height","bar2Height","icon","yAxisOrientation","subgroupIndex","subgroupOrderer","subgroupOrder","visibleItems","byStart","byEnd","inner","foreground","marker","Element","getLabelWidth","restack","_updateVisibleItems","markerHeight","lastMarkerHeight","dirty","displayed","_calculateHeight","offsetTop","offsetLeft","ii","repositionY","resetSubgroups","labelSet","setParent","orderSubgroups","_checkIfVisible","sortArray","sortField","removeFromDataSet","removeItem","_constructByEndArray","endArray","initialPosByStart","newVisibleItems","initialPosByEnd","_checkIfInvisible","repositionX","align","groupOrder","selectable","editable","updateTime","onAdd","onUpdate","onMove","onRemove","onMoving","itemOptions","itemListeners","_onAdd","_onUpdate","_onRemove","groupListeners","_onAddGroups","_onUpdateGroups","_onRemoveGroups","groupIds","selection","stackDirty","touchParams","UNGROUPED","BACKGROUND","box","_updateUngrouped","backgroundGroup","_onSelectItem","_onMultiSelectItem","_onAddItem","addCallback","fn","Function","markDirty","unselect","select","getVisibleItems","rawVisibleItems","_deselect","_orderGroups","visibleInterval","zoomed","lastVisibleInterval","lastWidth","firstGroup","_firstGroup","firstMargin","nonFirstMargin","groupMargin","groupResized","firstGroupIndex","firstGroupId","ungrouped","_getGroupId","getLabelSet","oldItemsData","getItems","_order","getGroups","_getType","_removeItem","groupData","groupOptions","oldGroupId","oldGroup","itemFromTarget","initialX","selected","dragLeftItem","dragRightItem","itemProps","newProps","initial","groupFromTarget","_updateItemProps","_moveToGroup","changes","ctrlKey","srcEvent","shiftKey","oldSelection","newSelection","xAbs","newItem","itemSetFromTarget","side","iconSize","iconSpacing","textArea","drawLegendIcons","getComputedStyle","paddingTop","defaultGroup","sampling","graphHeight","barChart","handleOverlap","dataAxis","legend","abortedGraphUpdate","lastStart","_updateGraph","yAxisLeft","yAxisRight","legendLeft","legendRight","_updateAllGroupData","_updateGroup","groupsContent","ungroupedCounter","rangePerPixelInv","preprocessedGroupData","processedGroupData","groupRanges","minDate","maxDate","_getRelevantData","_convertXcoordinates","_getYRanges","_updateYAxis","_convertYcoordinates","_drawLineGraph","_drawBarGraphs","dataContainer","_applySampling","increment","amountOfPoints","xDistance","pointsPerPixel","ceil","sampledData","barCombinedData","barCombinedDataLeft","barCombinedDataRight","ignore","intersections","_getDataIntersections","_getStackedBarYRange","combinedData","accumulated","xpos","minVal","maxVal","yAxisLeftUsed","yAxisRightUsed","minLeft","minRight","maxLeft","maxRight","_toggleAxisVisiblity","drawIcons","axisUsed","coreDistance","drawData","barPoints","heightOffset","_getSafeDrawData","nextKey","amount","resolved","prevKey","svgHeight","_catmullRom","_linear","dFill","_drawPoints","datapoints","xValue","yValue","extractedData","_catmullRomUniform","p0","p1","p2","p3","bp1","bp2","normalization","d1","d2","d3","A","N","M","d3powA","d2powA","d3pow2A","d2pow2A","d1pow2A","d1powA","majorLines","majorTexts","minorLines","minorTexts","lineTop","lang","parentChanged","foregroundNextSibling","nextSibling","backgroundNextSibling","_repaintLabels","timeLabelsize","xFirstMajorLabel","cur","_repaintMinorText","_repaintMajorText","_repaintMajorLine","_repaintMinorLine","leftTime","leftText","widthText","arr","pop","childNodes","nodeValue","_repaintDeleteButton","anchor","deleteButton","_updateContents","template","_updateTitle","removeAttribute","_updateDataAttributes","dataAttributes","attributes","setAttribute","_updateStyle","emptyContent","baseClassName","onTop","itemSubgroup","itemSetHeight","marginLeft","_repaintDragLeft","_repaintDragRight","contentLeft","parentWidth","boxWidth","dragLeft","dragRight","_initializeMixinLoaders","renderRefreshRate","renderTimestep","renderTime","maxPhysicsTicksPerRender","physicsDiscreteStepsize","initializing","triggerFunctions","edit","editEdge","connect","del","nodes","mass","radiusMin","radiusMax","shape","image","fontColor","fontSize","fontFace","fontFill","level","highlightColor","borderWidthSelected","edges","widthSelectionMultiplier","hoverWidth","arrowScaleFactor","dash","gap","altLength","inheritColor","configurePhysics","physics","barnesHut","theta","gravitationalConstant","centralGravity","springLength","springConstant","damping","repulsion","nodeDistance","hierarchicalRepulsion","clustering","initialMaxNodes","clusterThreshold","reduceToNodes","chainThreshold","clusterEdgeThreshold","sectorThreshold","screenSizeThreshold","fontSizeMultiplier","maxFontSize","forceAmplification","distanceAmplification","edgeGrowth","nodeScaling","maxNodeSizeIncrements","activeAreaBoxSize","clusterLevelDifference","navigation","keyboard","speed","dataManipulation","initiallyVisible","hierarchicalLayout","levelSeparation","nodeSpacing","layout","freezeForStabilization","smoothCurves","dynamic","roundness","dynamicSmoothCurves","maxVelocity","minVelocity","stabilize","stabilizationIterations","dragNetwork","dragNodes","hideEdgesOnDrag","hideNodesOnDrag","constants","hoverObj","controlNodesActive","navigationHammers","existing","new","animationSpeed","animationEasingFunction","easingTime","sourceScale","targetScale","sourceTranslation","targetTranslation","lockedOnNodeId","lockedOnNodeOffset","images","setOnloadCallback","_redraw","xIncrement","yIncrement","zoomIncrement","_loadPhysicsSystem","_loadSectorSystem","_loadClusterSystem","_loadSelectionSystem","_loadHierarchySystem","_setTranslation","freezeSimulation","cachedFunctions","startedStabilization","stabilized","calculationNodes","calculationNodeIndices","nodeIndices","canvasTopLeft","canvasBottomRight","pointerPosition","areaCenter","previousScale","nodesData","edgesData","nodesListeners","_addNodes","_updateNodes","_removeNodes","edgesListeners","_addEdges","_updateEdges","_removeEdges","moving","timer","_setupHierarchicalLayout","zoomExtent","startWithClustering","mousetrap","MixinLoader","Activator","_getScriptPath","scripts","getElementsByTagName","src","_getRange","node","minY","maxY","minX","maxX","nodeId","_findCenter","animationOptions","initialZoom","disableStart","zoomLevel","numberOfNodes","factor","yDistance","xZoomLevel","yZoomLevel","animation","_updateNodeIndexList","_clearNodeIndexList","idx","dotData","DOTToGraph","gephi","gephiData","parseGephi","_setNodes","_setEdges","_putDataInSector","_resetLevels","_stabilize","onEdit","onEditEdge","onConnect","onDelete","editMode","newColorObj","groupname","clickToUse","activator","_createKeyBinds","_loadNavigationControls","_loadManipulationSystem","_configureSmoothCurves","pinch","_onTap","_onDoubleTap","_onRelease","_onMouseMoveTitle","reset","isActive","_moveUp","_yStopMoving","_moveDown","_moveLeft","_xStopMoving","_moveRight","_zoomIn","_stopZoom","_zoomOut","_createManipulatorBar","_deleteSelected","_getPointer","pinched","_getScale","_handleTouch","_handleDragStart","_getNodeAt","_getTranslation","isSelected","_selectObject","nodeIds","objectId","selectionObj","xFixed","yFixed","_handleOnDrag","releaseNode","_XconvertDOMtoCanvas","_XconvertCanvasToDOM","_YconvertDOMtoCanvas","_YconvertCanvasToDOM","_handleDragEnd","_handleTap","_handleDoubleTap","_handleOnHold","_handleOnRelease","_zoom","scaleOld","preScaleDragPointer","DOMtoCanvas","scaleFrac","tx","ty","updateClustersDefault","postScaleDragPointer","canvasToDOM","popupObj","_checkHidePopup","checkShow","_checkShowPopup","popupTimer","edgeId","_getEdgeAt","_hoverObject","_blurObject","lastPopupNode","getTitle","isOverlappingWith","edge","connected","popup","setPosition","setText","emitEvent","oldWidth","oldHeight","oldNodesData","_updateSelection","angle","_updateCalculationNodes","_reconnectEdges","_updateValueRange","updateLabels","changedData","setProperties","properties","oldEdgesData","oldEdge","disconnect","showInternalIds","_createBezierNodes","via","sectors","dynamicEdges","setValueRange","w","save","translate","_doInAllSectors","restore","offsetX","offsetY","_drawNodes","alwaysShow","setScaleAndPos","inArea","draw","sMax","_drawEdges","_drawControlNodes","_freezeDefinedNodes","_physicsTick","_restoreFrozenNodes","fixedData","_isMoving","vmin","isMoving","_discreteStepNodes","nodesPresent","discreteStepLimited","discreteStep","vminCorrected","mainMovingStatus","supportMovingStatus","_doInAllActiveSectors","mainMoving","_doInSupportSector","_animationStep","_handleNavigation","calculationTime","maxSteps","timeRequired","requestAnimationFrame","mozRequestAnimationFrame","webkitRequestAnimationFrame","msRequestAnimationFrame","ua","toLowerCase","requiresTimeout","iterations","toggleFreeze","parentEdgeId","internalMultiplier","positionBezierNode","mixin","storePosition","storePositions","dataArray","allowedToMoveX","allowedToMoveY","getPositions","focusOnNode","nodePosition","lockedOnNode","easingFunction","animateView","locked","_transitionRedraw","viewCenter","distanceFromCenter","_classicRedraw","_lockedRedraw","active","getScale","getCenterCoordinates","networkConstants","fromId","toId","widthSelected","labelDimensions","yLine","dirtyLabel","originalFromId","originalToId","widthFixed","lengthFixed","controlNodesEnabled","controlNodes","positions","connectedNode","_drawLine","_drawArrow","_drawArrowCenter","_drawDashLine","attachEdge","detachEdge","xFrom","yFrom","xTo","yTo","xObj","yObj","_getDistanceToEdge","_getColor","colorObj","_getLineWidth","_line","midpointX","midpointY","_pointOnLine","_label","resize","_circle","_pointOnCircle","networkScaleInv","_getViaCoordinates","xVia","yVia","quadraticCurveTo","lineCount","measureText","fillRect","mozDash","setLineDash","pattern","lineDashOffset","mozDashOffset","lineCap","dashedLine","percentage","atan2","arrow","edgeSegmentLength","fromBorderDist","distanceToBorder","fromBorderPoint","toBorderDist","toBorderPoint","x1","y1","x2","y2","x3","y3","lastX","lastY","minDistance","_getDistanceToLine","px","py","something","u","nodeIdFrom","nodeIdTo","getControlNodePositions","_enableControlNodes","_disableControlNodes","_getSelectedControlNode","fromDistance","toDistance","_restoreControlNodes","defaultIndex","DEFAULT","load","url","brokenUrl","img","Image","onload","onerror","imagelist","grouplist","reroutedEdges","fontDrawThreshold","horizontalAlignLeft","verticalAlignTop","baseRadiusValue","radiusFixed","preassignedLevel","hierarchyEnumerated","fx","fy","vx","vy","resetCluster","dynamicEdgesLength","clusterSession","clusterSizeWidthFactor","clusterSizeHeightFactor","clusterSizeRadiusFactor","growthIndicator","networkScale","formationScale","clusterSize","containedNodes","containedEdges","clusterSessions","originalLabel","triggerFunction","groupObj","imageObj","brokenImage","_drawDatabase","_resizeDatabase","_drawBox","_resizeBox","_drawCircle","_resizeCircle","_drawEllipse","_resizeEllipse","_drawImage","_resizeImage","_drawText","_resizeText","_drawDot","_resizeShape","_drawSquare","_drawTriangle","_drawTriangleDown","_drawStar","_reset","clearSizeCache","_setForce","_addForce","isFixed","velocity","getDistance","globalAlpha","drawImage","textSize","getTextSize","clusterLineWidth","selectionLineWidth","roundRect","database","diameter","circle","defaultSize","ellipse","_drawShape","radiusMultiplier","baseline","labelUnderNode","inView","clearVelocity","updateVelocity","massBeforeClustering","energyBefore","styleAttr","fontFamily","WebkitBorderRadius","whiteSpace","maxWidth","parseDOT","parseGraph","nextPreview","isAlphaNumeric","regexAlphaNumeric","merge","o","addNode","graphs","attr","addEdge","createEdge","getToken","tokenType","TOKENTYPE","NULL","token","isComment","DELIMITER","c2","DELIMITERS","IDENTIFIER","newSyntaxError","UNKNOWN","chop","strict","parseStatements","parseStatement","subgraph","parseSubgraph","parseEdge","parseAttributeStatement","parseNodeStatement","subgraphs","parseAttributeList","message","maxLength","forEach2","array1","array2","elem1","elem2","convertEdge","dotEdge","graphEdge","graphData","dotNode","graphNode","subEdge","{","}","[","]",";","=",",","->","--","gephiJSON","allowedToMove","gEdges","gNodes","gEdge","source","gNode","Infinity","_queue","_timeout","flush","method","original","args","context","entry","leftContainer","rightContainer","shadowTop","shadowBottom","shadowTopLeft","shadowBottomLeft","shadowTopRight","shadowBottomRight","_redrawTimer","listeners","events","scrollTop","scrollTopMin","_initAutoResize","component","_stopAutoResize","what","dataRange","getWindow","borderRootHeight","borderRootWidth","autoHeight","centerWidth","_updateScrollTop","visibilityTop","visibilityBottom","repaint","_startAutoResize","_onResize","lastHeight","watchTimer","setInterval","initialScrollTop","oldScrollTop","_getScrollTop","newScrollTop","_setScrollTop","eventType","getTouchList","collectEventData","custom","back","editNode","addDescription","edgeDescription","editEdgeDescription","createEdgeError","deleteClusterError","CanvasRenderingContext2D","square","s2","ir","triangleDown","star","n","r2d","kappa","ox","oy","xe","ye","xm","ym","bezierCurveTo","wEllipse","hEllipse","ymb","yeb","xt","yt","xi","yi","xl","yl","xr","yr","dashArray","dashLength","dashCount","slope","distRemaining","dashIndex","PhysicsMixin","ClusterMixin","SectorsMixin","SelectionMixin","ManipulationMixin","NavigationMixin","HierarchicalLayoutMixin","_loadMixin","sourceVariable","mixinFunction","_clearMixin","_loadSelectedForceSolver","_loadPhysicsConfiguration","hubThreshold","activeSector","drawingNode","blockConnectingEdgeSelection","forceAppendSelection","manipulationDiv","editModeDiv","closeDiv","_cleanNavigation","_loadNavigationElements","overlay","_onTapOverlay","windowHammer","_hasParent","deactivate","escListener","activate","unbind","_callbacks","once","self","removeListener","removeAllListeners","callbacks","cb","hasListeners","_addEvent","_characterFromEvent","fromCharCode","_MAP","_KEYCODE_MAP","_stop","tag_name","tagName","contentEditable","_modifiersMatch","modifiers1","modifiers2","_resetSequences","do_not_reset","active_sequences","_sequence_levels","_inside_sequence","_getMatches","character","modifiers","combination","matches","_isModifier","seq","combo","_eventModifiers","altKey","metaKey","_fireCallback","cancelBubble","_handleCharacter","processed_sequence_callback","_handleKey","keyCode","_ignore_next_keyup","_resetSequenceTimer","_reset_timer","_getReverseMap","_REVERSE_MAP","_pickBestAction","_bindSequence","_increaseSequence","_callbackAndReset","_bindSingle","sequence_name","sequence","_SPECIAL_ALIASES","_SHIFT_MAP","_bindMultiple","combinations",8,9,13,16,17,18,20,27,32,33,34,35,36,37,38,39,40,45,46,91,93,224,106,107,109,110,111,186,187,188,189,190,191,192,219,220,221,222,"~","!","@","#","$","%","^","&","*","(",")","_","+",":","\"","<",">","?","|","command","return","escape","_direct_map","trigger","__WEBPACK_AMD_DEFINE_RESULT__","global","dfl","hasOwnProp","defaultParsingFlags","empty","unusedTokens","unusedInput","charsLeftOver","nullInput","invalidMonth","invalidFormat","userInvalidated","iso","printMsg","msg","suppressDeprecationWarnings","warn","deprecate","firstTime","deprecateSimple","deprecations","padToken","func","leftZeroFill","ordinalizeToken","period","localeData","ordinal","Locale","Moment","config","skipOverflow","checkOverflow","copyConfig","Duration","normalizedInput","normalizeObjectUnits","years","quarters","quarter","months","weeks","week","days","hour","minute","second","millisecond","_milliseconds","_days","_months","_locale","_bubble","val","_isAMomentObject","_i","_f","_l","_strict","_tzm","_isUTC","_offset","_pf","momentProperties","absRound","number","targetLength","forceSign","output","positiveMomentsDifference","base","res","isAfter","momentsDifference","makeAs","isBefore","createAdder","dur","tmp","addOrSubtractDurationFromMoment","mom","isAdding","updateOffset","setTime","rawSetter","rawGetter","rawMonthSetter","input","compareArrays","dontConvert","lengthDiff","diffs","toInt","normalizeUnits","units","lowered","unitAliases","camelFunctions","inputObject","normalizedProp","makeList","setter","getter","results","utc","set","argumentForCoercion","coercedNumber","isFinite","daysInMonth","UTC","getUTCDate","weeksInYear","dow","doy","weekOfYear","daysInYear","isLeapYear","_a","DATE","_overflowDayOfYear","isValid","_isValid","getTime","normalizeLocale","chooseLocale","names","loadLocale","oldLocale","hasModule","code","model","zone","local","removeFormattingTokens","makeFormatFunction","formattingTokens","formatTokenFunctions","formatMoment","expandFormat","formatFunctions","invalidDate","replaceLongDateFormatTokens","longDateFormat","localFormattingTokens","lastIndex","getParseRegexForToken","parseTokenOneDigit","parseTokenThreeDigits","parseTokenFourDigits","parseTokenOneToFourDigits","parseTokenSignedNumber","parseTokenSixDigits","parseTokenOneToSixDigits","parseTokenTwoDigits","parseTokenOneToThreeDigits","parseTokenWord","_meridiemParse","parseTokenTimestampMs","parseTokenTimezone","parseTokenT","parseTokenDigits","parseTokenOneOrTwoDigits","parseTokenOrdinal","RegExp","regexpEscape","unescapeFormat","timezoneMinutesFromString","string","possibleTzMatches","tzChunk","parseTimezoneChunker","addTimeToArrayFromToken","datePartArray","monthsParse","_dayOfYear","parseTwoDigitYear","_isPm","isPM","_useUTC","weekdaysParse","_w","invalidWeekday","dayOfYearFromWeekInfo","weekYear","weekday","temp","GG","W","E","_week","gg","dayOfYearFromWeeks","dateFromConfig","currentDate","yearToUse","currentDateArray","makeUTCDate","getUTCMonth","makeDate","setUTCMinutes","getUTCMinutes","dateFromObject","getUTCFullYear","makeDateFromStringAndFormat","ISO_8601","parseISO","parsedInput","tokens","skipped","stringLength","totalParsedInputLength","matched","p4","makeDateFromStringAndArray","tempConfig","bestMoment","scoreToBeat","currentScore","NaN","score","l","isoRegex","isoDates","isoTimes","makeDateFromString","createFromInputFallback","makeDateFromInput","aspNetJsonRegex","ms","setUTCFullYear","parseWeekday","substituteTimeAgo","withoutSuffix","isFuture","relativeTime","posNegDuration","relativeTimeThresholds","firstDayOfWeek","firstDayOfWeekOfYear","adjustedMoment","daysToDayOfWeek","daysToAdd","getUTCDay","makeMoment","invalid","preparse","pickBy","moments","dayOfMonth","unit","makeAccessor","keepTime","daysToYears","yearsToDays","makeDurationGetter","makeGlobal","shouldDeprecate","ender","oldGlobalMoment","globalScope","VERSION","aspNetTimeSpanJsonRegex","isoDurationRegex","isoFormat","unitMillisecondFactors","Milliseconds","Seconds","Minutes","Hours","Days","Months","Years","D","Q","DDD","dayofyear","isoweekday","isoweek","weekyear","isoweekyear","ordinalizeTokens","paddedTokens","MMM","monthsShort","MMMM","dd","weekdaysMin","ddd","weekdaysShort","dddd","weekdays","isoWeek","YY","YYYY","YYYYY","YYYYYY","gggg","ggggg","isoWeekYear","GGGG","GGGGG","isoWeekday","meridiem","SS","SSS","SSSS","Z","ZZ","zoneAbbr","zz","zoneName","unix","lists","DDDD","_monthsShort","monthName","regex","_monthsParse","_weekdays","_weekdaysShort","_weekdaysMin","weekdayName","_weekdaysParse","_longDateFormat","LT","L","LL","LLL","LLLL","isLower","_calendar","sameDay","nextDay","nextWeek","lastDay","lastWeek","sameElse","calendar","_relativeTime","future","past","mm","hh","MM","yy","pastFuture","_ordinal","postformat","_invalidDate","ret","parseIso","diffRes","isDuration","inp","version","defaultFormat","relativeTimeThreshold","threshold","limit","defineLocale","_abbr","abbr","langData","flags","parseZone","isDSTShifted","parsingFlags","invalidAt","keepLocalTime","_dateTzOffset","inputString","asFloat","daysAdjust","that","zoneDiff","startOf","humanize","fromNow","sod","isDST","getDay","endOf","isSame","localAdjust","_changeInProgress","hasAlignedHourOffset","isoWeeksInYear","weekInfo","newLocaleData","getTimezoneOffset","isoWeeks","toJSON","withSuffix","toIsoString","asSeconds","asMilliseconds","asMinutes","asHours","asDays","asWeeks","asMonths","asYears","require","noGlobal","setup","READY","Event","determineEventTypes","Utils","each","gestures","Detection","register","onTouch","DOCUMENT","EVENT_MOVE","detect","EVENT_END","Instance","defaults","behavior","userSelect","touchAction","touchCallout","contentZooming","userDrag","tapHighlightColor","HAS_POINTEREVENTS","pointerEnabled","msPointerEnabled","HAS_TOUCHEVENTS","IS_MOBILE","NO_MOUSEEVENTS","CALCULATE_INTERVAL","EVENT_TYPES","DIRECTION_DOWN","DIRECTION_LEFT","DIRECTION_UP","DIRECTION_RIGHT","POINTER_MOUSE","POINTER_TOUCH","POINTER_PEN","EVENT_START","EVENT_RELEASE","EVENT_TOUCH","plugins","utils","dest","handler","iterator","inStr","find","inArray","hasParent","getCenter","getVelocity","deltaTime","getAngle","touch1","touch2","getDirection","getRotation","isVertical","setPrefixedCss","toggle","prefixes","toCamelCase","toggleBehavior","falseFn","onselectstart","ondragstart","str","preventMouseEvents","started","shouldDetect","hook","onTouchHandler","ev","triggerType","srcType","isPointer","isMouse","buttons","PointerEvent","matchType","updatePointer","doDetect","touchList","touchListLength","triggerChange","changedLength","changedTouches","evData","identifiers","identifier","pointerType","timeStamp","preventManipulation","stopDetect","pointers","touchlist","pointerEvent","pointerId","pt","MSPOINTER_TYPE_MOUSE","MSPOINTER_TYPE_TOUCH","MSPOINTER_TYPE_PEN","detection","stopped","startDetect","inst","eventData","startEvent","lastEvent","lastCalcEvent","futureCalcEvent","lastCalcData","extendEventData","instOptions","getCalculatedData","recalc","calcEv","calcData","velocityX","velocityY","interimAngle","interimDirection","startEv","lastEv","rotation","eventStartHandler","eventHandlers","createEvent","initEvent","dispatchEvent","state","dispose","eh","dragGesture","dragMaxTouches","triggered","dragMinDistance","startCenter","dragDistanceCorrection","dragLockToAxis","dragLockMinDistance","lastDirection","dragBlockVertical","dragBlockHorizontal","Drag","Gesture","holdGesture","holdTimeout","holdThreshold","Hold","Release","Swipe","swipeMinTouches","swipeMaxTouches","swipeVelocityX","swipeVelocityY","tapGesture","sincePrev","didDoubleTap","hasMoved","tapMaxDistance","tapMaxTime","doubleTapInterval","doubleTapDistance","tapAlways","Tap","Touch","preventMouse","transformGesture","scaleThreshold","rotationThreshold","transformMinScale","transformMinRotation","Transform","clusterToFit","maxNumberOfNodes","reposition","maxLevels","forceAggregateHubs","normalizeClusterLevels","increaseClusterLevel","repositionNodes","openCluster","isMovingBeforeClustering","_nodeInActiveArea","_sector","_addSector","decreaseClusterLevel","_expandClusterNode","_updateDynamicEdges","updateClusters","zoomDirection","recursive","doNotStart","amountOfNodes","_collapseSector","_formClusters","_openClusters","_openClustersBySize","_aggregateHubs","handleChains","chainPercentage","_getChainFraction","_reduceAmountOfChains","_getHubSize","_formClustersByHub","openAll","containedNodeId","childNode","_expelChildFromParent","_unselectAll","_releaseContainedEdges","_connectEdgeBackToChild","_validateEdges","othersPresent","childNodeId","_repositionBezierNodes","_formClustersByZoom","_forceClustersByZoom","minLength","_addToCluster","_clusterToSmallestNeighbour","smallestNeighbour","smallestNeighbourNode","neighbour","onlyEqual","_formClusterFromHub","hubNode","absorptionSizeOffset","allowCluster","edgesIdarray","amountOfInitialEdges","_addToContainedEdges","_connectEdgeToCluster","_containCircularEdgesFromNode","massBefore","correction","edgeToId","edgeFromId","k","_addToReroutedEdges","maxLevel","minLevel","clusterLevel","targetLevel","average","averageSquared","hubCounter","largestHub","variance","standardDeviation","fraction","reduceAmount","chains","total","_switchToSector","sectorId","sectorType","_switchToActiveSector","_switchToFrozenSector","_switchToSupportSector","_loadLatestSector","_previousSector","_setActiveSector","newId","_forgetLastSector","_createNewSector","_deleteActiveSector","_deleteFrozenSector","_freezeSector","_activateSector","_mergeThisWithFrozen","_collapseThisToSingleCluster","sector","unqiueIdentifier","previousSector","runFunction","argument","returnValues","_doInAllFrozenSectors","_drawSectorNodes","_drawAllSectorNodes","_getNodesOverlappingWith","overlappingNodes","_getAllNodesOverlappingWith","_pointerToPositionObject","positionObject","_getEdgesOverlappingWith","overlappingEdges","_getAllEdgesOverlappingWith","_addToSelection","_addToHover","_removeFromSelection","doNotTrigger","_unselectClusters","_getSelectedNodeCount","_getSelectedNode","_getSelectedEdge","_getSelectedEdgeCount","_getSelectedObjectCount","_selectionIsEmpty","_clusterInSelection","_selectConnectedEdges","_hoverConnectedEdges","_unselectConnectedEdges","append","highlightEdges","overrideSelectable","_manipulationReleaseOverload","_navigationReleaseOverload","getSelectedNodes","edgeIds","getSelectedEdges","idArray","selectNodes","RangeError","selectEdges","_clearManipulatorBar","_restoreOverloadedFunctions","functionName","_toggleEditMode","toolbar","getElementById","boundFunction","edgeBeingEdited","selectedControlNode","addNodeButton","_createAddNodeToolbar","addEdgeButton","_createAddEdgeToolbar","editButton","_editNode","_createEditEdgeToolbar","editModeButton","backButton","_addNode","_handleConnect","_finishConnect","_selectControlNode","_controlNodeDrag","_releaseControlNode","newNode","_editEdge","alert","supportNodes","targetNode","connectionEdge","connectFromId","_createEdge","defaultData","finalizedData","sourceNodeId","targetNodeId","selectedNodes","selectedEdges","wrapper","navigationDivs","navigationDivActions","_stopMovement","_zoomExtent","hubsize","definedLevel","undefinedLevel","_changeConstants","_determineLevels","_determineLevelsDirected","distribution","_getDistribution","_placeNodesByHierarchy","minPos","_placeBranchNodes","maxCount","_setLevel","_setLevelDirected","parentId","parentLevel","nodeMoved","_restoreNodes","graphToggleSmoothCurves","graph_toggleSmooth","graphRepositionNodes","showValueOfRange","graphGenerateOptions","optionsSpecific","radioButton1","radioButton2","checked","backupConstants","optionsDiv","switchConfigurations","radioButton","querySelector","tableId","table","constantsVariableName","valueId","rangeValue","_overWriteGraphConstants","RepulsionMixin","HierarchialRepulsionMixin","BarnesHutMixin","_toggleBarnesHut","barnesHutTree","_initializeForceCalculation","_calculateForces","_calculateGravitationalForces","_calculateNodeForces","_calculateSpringForcesWithSupport","_calculateHierarchicalSpringForces","_calculateSpringForces","supportNodeId","gravity","gravityForce","edgeLength","springForce","combinedClusterSize","node1","node2","node3","_calculateSpringForce","physicsConfiguration","hierarchicalLayoutDirections","parentElement","rangeElement","radioButton3","graph_repositionNodes","graph_generateOptions","nameArray","webpackContext","req","resolve","repulsingForce","a_base","minimumDistance","steepness","springFx","springFy","totalFx","totalFy","correctionFx","correctionFy","nodeCount","_formBarnesHutTree","_getForceContribution","children","NW","NE","SW","SE","parentBranch","childrenCount","centerOfMass","calcSize","MAX_VALUE","sizeDiff","minimumTreeSize","rootSize","halfRootSize","centerX","centerY","_splitBranch","_placeInTree","_updateBranchMass","totalMass","totalMassInv","biggestSize","skipMassUpdate","_placeInRegion","region","containedNode","_insertRegion","childSize","_drawTree","_drawBranch","branch","webpackPolyfill","paths"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"vis.map","sources":["./dist/vis.js"],"names":["root","factory","exports","module","define","amd","this","modules","__webpack_require__","moduleId","installedModules","id","loaded","call","m","c","p","util","DOMutil","DataSet","DataView","Queue","Graph3d","graph3d","Camera","Filter","Point2d","Point3d","Slider","StepNumber","Timeline","Graph2d","timeline","DateUtil","DataStep","Range","stack","TimeStep","components","items","Item","BackgroundItem","BoxItem","PointItem","RangeItem","Component","CurrentTime","CustomTime","DataAxis","GraphGroup","Group","BackgroundGroup","ItemSet","Legend","LineGraph","TimeAxis","Network","network","Edge","Groups","Images","Node","Popup","dotparser","gephiParser","Graph","Error","moment","hammer","isNumber","object","Number","isString","String","isDate","Date","match","ASPDateRegex","exec","isNaN","parse","isDataTable","google","visualization","DataTable","randomUUID","S4","Math","floor","random","toString","extend","a","i","len","arguments","length","other","prop","hasOwnProperty","selectiveExtend","props","Array","isArray","selectiveDeepExtend","b","TypeError","constructor","Object","undefined","deepExtend","selectiveNotDeepExtend","indexOf","equalArray","convert","type","Boolean","valueOf","isMoment","toDate","getType","toISOString","value","getAbsoluteLeft","elem","getBoundingClientRect","left","window","pageXOffset","getAbsoluteTop","top","pageYOffset","addClassName","className","classes","split","push","join","removeClassName","index","splice","forEach","callback","toArray","array","updateProperty","key","addEventListener","element","action","listener","useCapture","navigator","userAgent","attachEvent","removeEventListener","detachEvent","preventDefault","event","returnValue","getTarget","target","srcElement","nodeType","parentNode","option","asBoolean","defaultValue","asNumber","asString","asSize","asElement","GiveDec","Hex","Value","eval","GiveHex","Dec","parseColor","color","isValidRGB","rgb","substr","RGBToHex","isValidHex","hsv","hexToHSV","lighterColorHSV","h","s","v","min","darkerColorHSV","darkerColorHex","HSVToHex","lighterColorHex","background","border","highlight","hover","hexToRGB","hex","replace","toUpperCase","substring","d","e","f","r","g","red","green","blue","RGBToHSV","minRGB","maxRGB","max","hue","saturation","cssUtil","cssText","styles","style","trim","parts","keys","map","addCssText","currentStyles","newStyles","removeCssText","removeStyles","HSVToRGB","q","t","isOk","test","selectiveBridgeObject","fields","referenceObject","objectTo","create","bridgeObject","mergeOptions","mergeTarget","options","enabled","binarySearch","orderedItems","range","field","field2","maxIterations","iteration","low","high","middle","item","isVisible","start","binarySearchGeneric","sidePreference","newGuess","prevValue","nextValue","found","newLow","newHigh","guess","console","log","easeInOutQuad","end","duration","change","easingFunctions","linear","easeInQuad","easeOutQuad","easeInCubic","easeOutCubic","easeInOutCubic","easeInQuart","easeOutQuart","easeInOutQuart","easeInQuint","easeOutQuint","easeInOutQuint","prepareElements","JSONcontainer","elementType","redundant","used","cleanupElements","removeChild","getSVGElement","svgContainer","shift","document","createElementNS","appendChild","getDOMElement","DOMContainer","insertBefore","createElement","drawPoint","x","y","group","point","drawPoints","setAttributeNS","size","drawBar","width","height","rect","data","_options","_data","_fieldId","fieldId","_type","_subscribers","add","setOptions","prototype","queue","_queue","destroy","on","subscribers","subscribe","off","filter","unsubscribe","_trigger","params","senderId","concat","subscriber","addedIds","me","_addItem","columns","_getColumnNames","row","rows","getNumberOfRows","col","cols","getValue","update","updatedIds","updatedData","addOrUpdate","_updateItem","get","ids","firstType","returnType","allowedValues","itemId","_getItem","order","_sort","_filterFields","_appendRow","result","getIds","getDataSet","mappedItems","filteredItem","name","sort","av","bv","remove","removedId","removedIds","_remove","clear","maxField","itemField","minField","distinct","values","fieldType","count","exists","types","raw","converted","JSON","stringify","dataTable","getNumberOfColumns","getColumnId","getColumnLabel","addRow","setValue","_ids","_onEvent","apply","setData","viewOptions","getArguments","defaultFilter","dataSet","added","updated","removed","delay","Infinity","_timeout","_extended","_flushIfNeeded","flush","methods","original","method","args","fn","context","entry","clearTimeout","setTimeout","container","SyntaxError","containerElement","margin","defaultXCenter","defaultYCenter","xLabel","yLabel","zLabel","passValueFn","xValueLabel","yValueLabel","zValueLabel","filterLabel","legendLabel","STYLE","DOT","showPerspective","showGrid","keepAspectRatio","showShadow","showGrayBottom","showTooltip","verticalRatio","animationInterval","animationPreload","camera","eye","dataPoints","colX","colY","colZ","colValue","colFilter","xMin","xStep","xMax","yMin","yStep","yMax","zMin","zStep","zMax","valueMin","valueMax","xBarWidth","yBarWidth","colorAxis","colorGrid","colorDot","colorDotBorder","Emitter","_setScale","scale","z","xCenter","yCenter","zCenter","setArmLocation","_convert3Dto2D","point3d","translation","_convertPointToTranslation","_convertTranslationToScreen","ax","ay","az","cx","getCameraLocation","cy","cz","sinTx","sin","getCameraRotation","cosTx","cos","sinTy","cosTy","sinTz","cosTz","dx","dy","dz","bx","by","ex","ey","ez","getArmLength","xcenter","frame","canvas","clientWidth","ycenter","_setBackgroundColor","backgroundColor","fill","stroke","strokeWidth","borderColor","borderWidth","borderStyle","BAR","BARCOLOR","BARSIZE","DOTLINE","DOTCOLOR","DOTSIZE","GRID","LINE","SURFACE","_getStyleNumber","styleName","_determineColumnIndexes","counter","column","getDistinctValues","distinctValues","getColumnRange","minMax","_dataInitialize","rawData","_onChange","dataFilter","setOnLoadCallback","redraw","withBars","defaultXBarWidth","dataX","defaultYBarWidth","dataY","xRange","defaultXMin","defaultXMax","defaultXStep","yRange","defaultYMin","defaultYMax","defaultYStep","zRange","defaultZMin","defaultZMax","defaultZStep","valueRange","defaultValueMin","defaultValueMax","_getDataPoints","sortNumber","obj","dataMatrix","xIndex","yIndex","trans","screen","bottom","pointRight","pointTop","pointCross","hasChildNodes","firstChild","position","overflow","noCanvas","fontWeight","padding","innerHTML","onmousedown","_onMouseDown","ontouchstart","_onTouchStart","onmousewheel","_onWheel","ontooltip","_onTooltip","onkeydown","setSize","_resizeCanvas","clientHeight","animationStart","slider","play","animationStop","stop","_resizeCenter","charAt","parseFloat","setCameraPosition","pos","horizontal","vertical","setArmRotation","distance","setArmLength","getCameraPosition","getArmRotation","_readData","_redrawFilter","animationAutoStart","cameraPosition","styleNumber","tooltip","showAnimationControls","_redrawSlider","_redrawClear","_redrawAxis","_redrawDataGrid","_redrawDataLine","_redrawDataBar","_redrawDataDot","_redrawInfo","_redrawLegend","ctx","getContext","clearRect","widthMin","widthMax","dotSize","right","lineWidth","font","ymin","ymax","_hsv2rgb","strokeStyle","beginPath","moveTo","lineTo","strokeRect","fillStyle","closePath","gridLineLen","step","getCurrent","next","textAlign","textBaseline","fillText","label","visible","setValues","setPlayInterval","onchange","getIndex","selectValue","setOnChangeCallback","lineStyle","getLabel","getSelectedValue","from","to","prettyStep","text","xText","yText","zText","offset","xOffset","yOffset","xMin2d","xMax2d","gridLenX","gridLenY","textMargin","armAngle","H","S","V","R","G","B","C","Hi","X","abs","parseInt","cross","topSideVisible","zAvg","transBottom","dist","sortDepth","aDiff","subtract","bDiff","crossproduct","crossProduct","radius","arc","PI","j","surface","corners","xWidth","yWidth","surfaces","center","avg","transCenter","diff","leftButtonDown","_onMouseUp","which","button","touchDown","startMouseX","getMouseX","startMouseY","getMouseY","startStart","startEnd","startArmRotation","cursor","onmousemove","_onMouseMove","onmouseup","diffX","diffY","horizontalNew","verticalNew","snapAngle","snapValue","round","parameters","emit","mouseX","mouseY","tooltipTimeout","_hideTooltip","dataPoint","_dataPointFromXY","_showTooltip","ontouchmove","_onTouchMove","ontouchend","_onTouchEnd","delta","wheelDelta","detail","oldLength","newLength","_insideTriangle","triangle","sign","as","bs","cs","distMax","closestDataPoint","closestDist","triangle1","triangle2","distX","distY","sqrt","content","line","dot","dom","borderRadius","boxShadow","borderLeft","contentWidth","offsetWidth","contentHeight","offsetHeight","lineHeight","dotWidth","dotHeight","clientX","targetTouches","clientY","armLocation","armRotation","armLength","cameraLocation","cameraRotation","calculateCameraOrientation","rot","graph","onLoadCallback","loadInBackground","isLoaded","getLoadedProgress","getColumn","getValues","dataView","progress","sub","sum","prev","bar","MozBorderRadius","slide","onclick","togglePlay","onChangeCallback","playTimeout","playInterval","playLoop","setIndex","playNext","interval","clearInterval","getPlayInterval","setPlayLoop","doLoop","onChange","indexToLeft","startClientX","startSlideX","leftToIndex","_start","_end","_step","precision","_current","setRange","setStep","calculatePrettyStep","log10","LN10","step1","pow","step2","step5","toPrecision","getStep","groups","forthArgument","defaultOptions","autoResize","orientation","maxHeight","minHeight","_create","body","domProps","emitter","bind","hiddenDates","snap","toScreen","_toScreen","toGlobalScreen","_toGlobalScreen","toTime","_toTime","toGlobalTime","_toGlobalTime","timeAxis","currentTime","customTime","itemSet","itemsData","groupsData","setGroups","setItems","Core","newDataSet","initialLoad","setWindow","animate","fit","setSelection","focus","getSelection","itemData","getItemRange","dataset","minItem","maxStartItem","maxEndItem","linegraph","getLegend","groupId","isGroupVisible","visibility","convertHiddenOptions","repeat","dateItem","updateHiddenDates","centerContainer","totalRange","pixelTime","startDate","endDate","_d","runUntil","clone","day","dayOfYear","year","dayOffset","date","month","removeDuplicates","startHidden","isHidden","endHidden","rangeStart","rangeEnd","hidden","startToFront","endToFront","_applyRange","safeDates","printDates","dates","stepOverHiddenDates","timeStep","previousTime","stepInHidden","currentValue","current","newValue","switchedYear","switchedMonth","switchedDay","checkFirstStep","time","getHiddenDurationBetween","correctTimeForHidden","conversion","hiddenDuration","totalDuration","partialDuration","accumulatedHiddenDuration","getAccumulatedHiddenDuration","newTime","getHiddenDurationBefore","timeOffset","requiredDuration","previousPoint","snapAwayFromHidden","direction","correctionEnabled","minimumStep","containerHeight","customRange","autoScale","stepIndex","marginStart","marginEnd","deadSpace","majorSteps","minorSteps","setMinimumStep","setFirst","safeSize","minimumStepValue","orderOfMagnitude","minorStepIdx","magnitudefactor","solutionFound","stepSize","niceStart","niceEnd","roundToMinor","marginRange","rounded","hasNext","previous","slice","isMajor","now","hours","minutes","seconds","milliseconds","deltaDifference","scaleOffset","moveable","zoomable","zoomMin","zoomMax","touch","animateTimer","_onDragStart","_onDrag","_onDragEnd","_onHold","_onMouseWheel","_onTouch","_onPinch","validateDirection","getPointer","pageX","pageY","hammerUtil","dragging","initTime","done","initStart","initEnd","changed","anyChanged","_cancelAnimation","newStart","newEnd","getRange","totalHidden","previousDelta","allowDragging","gesture","deltaX","deltaY","diffRange","safeStart","safeEnd","fakeGesture","pointer","pointerDate","_pointerToDate","zoom","touches","hiddenDurationBefore","hiddenDurationAfter","move","EPSILON","orderByStart","orderByEnd","aTime","bTime","force","iMax","axis","collidingItem","jj","collision","nostack","subgroups","newTop","subgroup","SCALE","DAY","MILLISECOND","SECOND","MINUTE","HOUR","WEEKDAY","MONTH","YEAR","first","setFullYear","getFullYear","setMonth","setDate","setHours","setMinutes","setSeconds","setMilliseconds","getMilliseconds","getSeconds","getMinutes","getHours","getDate","getMonth","setScale","newScale","newStep","setAutoScale","enable","stepYear","stepMonth","stepDay","stepHour","stepMinute","stepSecond","stepMillisecond","getLabelMinor","format","getLabelMajor","_isResized","resized","_previousWidth","_previousHeight","showCurrentTime","locales","locale","parent","backgroundVertical","title","currentTimeTimer","setCurrentTime","getCurrentTime","showCustomTime","eventParams","Hammer","drag","prevent_default","setCustomTime","getCustomTime","stopPropagation","svg","linegraphOptions","showMinorLabels","showMajorLabels","icons","majorLinesOffset","minorLinesOffset","labelOffsetX","labelOffsetY","iconWidth","linegraphSVG","DOMelements","lines","labels","conversionFactor","minWidth","stepPixels","stepPixelsForced","lineOffset","master","svgElements","amountOfGroups","addGroup","graphOptions","updateGroup","removeGroup","hide","show","lineContainer","display","_redrawGroupIcons","iconHeight","iconOffset","drawIcon","backgroundHorizontal","changeCalled","activeGroups","_calculateCharSize","minorLabelHeight","minorCharHeight","majorLabelHeight","majorCharHeight","minorLineWidth","minorLineHeight","majorLineWidth","majorLineHeight","_redrawLabels","amountOfSteps","stepDifference","valueAtZero","marginStartPos","maxLabelSize","_redrawLabel","_redrawLine","convertValue","invertedValue","convertedValue","characterHeight","largestWidth","majorCharWidth","minorCharWidth","textMinor","createTextNode","measureCharMinor","textMajor","measureCharMajor","groupsUsingDefaultStyles","usingDefaultStyle","zeroPosition","setZeroPosition","catmullRom","parametrization","alpha","SVGcontainer","path","fillPath","fillHeight","outline","shaded","barWidth","bar1Height","bar2Height","icon","yAxisOrientation","subgroupIndex","subgroupOrderer","subgroupOrder","visibleItems","byStart","byEnd","inner","foreground","marker","Element","getLabelWidth","restack","_updateVisibleItems","markerHeight","lastMarkerHeight","dirty","displayed","_calculateHeight","offsetTop","offsetLeft","ii","repositionY","resetSubgroups","labelSet","setParent","orderSubgroups","_checkIfVisible","sortArray","sortField","removeFromDataSet","removeItem","_constructByEndArray","endArray","initialPosByStart","newVisibleItems","initialPosByEnd","_checkIfInvisible","repositionX","align","groupOrder","selectable","editable","updateTime","onAdd","onUpdate","onMove","onRemove","onMoving","itemOptions","itemListeners","_onAdd","_onUpdate","_onRemove","groupListeners","_onAddGroups","_onUpdateGroups","_onRemoveGroups","groupIds","selection","stackDirty","touchParams","UNGROUPED","BACKGROUND","box","_updateUngrouped","backgroundGroup","_onSelectItem","_onMultiSelectItem","_onAddItem","addCallback","Function","markDirty","unselect","select","getVisibleItems","rawVisibleItems","_deselect","_orderGroups","visibleInterval","zoomed","lastVisibleInterval","lastWidth","firstGroup","_firstGroup","firstMargin","nonFirstMargin","groupMargin","groupResized","firstGroupIndex","firstGroupId","ungrouped","_getGroupId","getLabelSet","oldItemsData","getItems","_order","getGroups","_getType","_removeItem","groupData","groupOptions","oldGroupId","oldGroup","itemFromTarget","initialX","selected","dragLeftItem","dragRightItem","itemProps","newProps","initial","groupFromTarget","_updateItemProps","_moveToGroup","changes","ctrlKey","srcEvent","shiftKey","oldSelection","newSelection","xAbs","newItem","itemSetFromTarget","side","iconSize","iconSpacing","textArea","drawLegendIcons","getComputedStyle","paddingTop","defaultGroup","sampling","graphHeight","barChart","handleOverlap","dataAxis","legend","abortedGraphUpdate","lastStart","_updateGraph","yAxisLeft","yAxisRight","legendLeft","legendRight","_updateAllGroupData","_updateGroup","groupsContent","ungroupedCounter","rangePerPixelInv","preprocessedGroupData","processedGroupData","groupRanges","minDate","maxDate","_getRelevantData","_convertXcoordinates","_getYRanges","_updateYAxis","_convertYcoordinates","_drawLineGraph","_drawBarGraphs","dataContainer","_applySampling","increment","amountOfPoints","xDistance","pointsPerPixel","ceil","sampledData","barCombinedData","barCombinedDataLeft","barCombinedDataRight","ignore","intersections","_getDataIntersections","_getStackedBarYRange","combinedData","accumulated","xpos","minVal","maxVal","yAxisLeftUsed","yAxisRightUsed","minLeft","minRight","maxLeft","maxRight","_toggleAxisVisiblity","drawIcons","axisUsed","coreDistance","drawData","barPoints","heightOffset","_getSafeDrawData","nextKey","amount","resolved","prevKey","svgHeight","_catmullRom","_linear","dFill","_drawPoints","datapoints","xValue","yValue","extractedData","_catmullRomUniform","p0","p1","p2","p3","bp1","bp2","normalization","d1","d2","d3","A","N","M","d3powA","d2powA","d3pow2A","d2pow2A","d1pow2A","d1powA","majorLines","majorTexts","minorLines","minorTexts","lineTop","lang","parentChanged","foregroundNextSibling","nextSibling","backgroundNextSibling","_repaintLabels","timeLabelsize","xFirstMajorLabel","cur","_repaintMinorText","_repaintMajorText","_repaintMajorLine","_repaintMinorLine","leftTime","leftText","widthText","arr","pop","childNodes","nodeValue","_repaintDeleteButton","anchor","deleteButton","_updateContents","template","_updateTitle","removeAttribute","_updateDataAttributes","dataAttributes","attributes","setAttribute","_updateStyle","emptyContent","baseClassName","onTop","itemSubgroup","itemSetHeight","marginLeft","_repaintDragLeft","_repaintDragRight","contentLeft","parentWidth","boxWidth","dragLeft","dragRight","_initializeMixinLoaders","renderRefreshRate","renderTimestep","renderTime","maxPhysicsTicksPerRender","physicsDiscreteStepsize","initializing","triggerFunctions","edit","editEdge","connect","del","nodes","mass","radiusMin","radiusMax","shape","image","fontColor","fontSize","fontFace","fontFill","level","highlightColor","borderWidthSelected","edges","widthSelectionMultiplier","hoverWidth","arrowScaleFactor","dash","gap","altLength","inheritColor","configurePhysics","physics","barnesHut","theta","gravitationalConstant","centralGravity","springLength","springConstant","damping","repulsion","nodeDistance","hierarchicalRepulsion","clustering","initialMaxNodes","clusterThreshold","reduceToNodes","chainThreshold","clusterEdgeThreshold","sectorThreshold","screenSizeThreshold","fontSizeMultiplier","maxFontSize","forceAmplification","distanceAmplification","edgeGrowth","nodeScaling","maxNodeSizeIncrements","activeAreaBoxSize","clusterLevelDifference","navigation","keyboard","speed","dataManipulation","initiallyVisible","hierarchicalLayout","levelSeparation","nodeSpacing","layout","freezeForStabilization","smoothCurves","dynamic","roundness","dynamicSmoothCurves","maxVelocity","minVelocity","stabilize","stabilizationIterations","dragNetwork","dragNodes","hideEdgesOnDrag","hideNodesOnDrag","constants","hoverObj","controlNodesActive","navigationHammers","existing","new","animationSpeed","animationEasingFunction","easingTime","sourceScale","targetScale","sourceTranslation","targetTranslation","lockedOnNodeId","lockedOnNodeOffset","images","setOnloadCallback","_redraw","xIncrement","yIncrement","zoomIncrement","_loadPhysicsSystem","_loadSectorSystem","_loadClusterSystem","_loadSelectionSystem","_loadHierarchySystem","_setTranslation","freezeSimulation","cachedFunctions","startedStabilization","stabilized","calculationNodes","calculationNodeIndices","nodeIndices","canvasTopLeft","canvasBottomRight","pointerPosition","areaCenter","previousScale","nodesData","edgesData","nodesListeners","_addNodes","_updateNodes","_removeNodes","edgesListeners","_addEdges","_updateEdges","_removeEdges","moving","timer","_setupHierarchicalLayout","zoomExtent","startWithClustering","mousetrap","MixinLoader","Activator","_getScriptPath","scripts","getElementsByTagName","src","_getRange","node","minY","maxY","minX","maxX","nodeId","_findCenter","animationOptions","initialZoom","disableStart","zoomLevel","numberOfNodes","factor","yDistance","xZoomLevel","yZoomLevel","animation","_updateNodeIndexList","_clearNodeIndexList","idx","dotData","DOTToGraph","gephi","gephiData","parseGephi","_setNodes","_setEdges","_putDataInSector","_resetLevels","_stabilize","onEdit","onEditEdge","onConnect","onDelete","editMode","newColorObj","groupname","clickToUse","activator","_createKeyBinds","_loadNavigationControls","_loadManipulationSystem","_configureSmoothCurves","pinch","_onTap","_onDoubleTap","_onRelease","_onMouseMoveTitle","reset","isActive","_moveUp","_yStopMoving","_moveDown","_moveLeft","_xStopMoving","_moveRight","_zoomIn","_stopZoom","_zoomOut","_createManipulatorBar","_deleteSelected","_getPointer","pinched","_getScale","_handleTouch","_handleDragStart","_getNodeAt","_getTranslation","isSelected","_selectObject","nodeIds","objectId","selectionObj","xFixed","yFixed","_handleOnDrag","releaseNode","_XconvertDOMtoCanvas","_XconvertCanvasToDOM","_YconvertDOMtoCanvas","_YconvertCanvasToDOM","_handleDragEnd","_handleTap","_handleDoubleTap","_handleOnHold","_handleOnRelease","_zoom","scaleOld","preScaleDragPointer","DOMtoCanvas","scaleFrac","tx","ty","updateClustersDefault","postScaleDragPointer","canvasToDOM","popupObj","_checkHidePopup","checkShow","_checkShowPopup","popupTimer","edgeId","_getEdgeAt","_hoverObject","_blurObject","lastPopupNode","getTitle","isOverlappingWith","edge","connected","popup","setPosition","setText","emitEvent","oldWidth","oldHeight","oldNodesData","_updateSelection","angle","_updateCalculationNodes","_reconnectEdges","_updateValueRange","updateLabels","changedData","setProperties","properties","oldEdgesData","oldEdge","disconnect","showInternalIds","_createBezierNodes","via","sectors","dynamicEdges","setValueRange","w","save","translate","_doInAllSectors","restore","offsetX","offsetY","_drawNodes","alwaysShow","setScaleAndPos","inArea","draw","sMax","_drawEdges","_drawControlNodes","_freezeDefinedNodes","_physicsTick","_restoreFrozenNodes","fixedData","_isMoving","vmin","isMoving","_discreteStepNodes","nodesPresent","discreteStepLimited","discreteStep","vminCorrected","mainMovingStatus","supportMovingStatus","_doInAllActiveSectors","mainMoving","_doInSupportSector","_animationStep","_handleNavigation","calculationTime","maxSteps","timeRequired","requestAnimationFrame","mozRequestAnimationFrame","webkitRequestAnimationFrame","msRequestAnimationFrame","ua","toLowerCase","requiresTimeout","iterations","toggleFreeze","parentEdgeId","internalMultiplier","positionBezierNode","mixin","storePosition","storePositions","dataArray","allowedToMoveX","allowedToMoveY","getPositions","focusOnNode","nodePosition","lockedOnNode","easingFunction","animateView","locked","_transitionRedraw","viewCenter","distanceFromCenter","_classicRedraw","_lockedRedraw","active","getScale","getCenterCoordinates","networkConstants","fromId","toId","widthSelected","labelDimensions","yLine","dirtyLabel","originalFromId","originalToId","widthFixed","lengthFixed","controlNodesEnabled","controlNodes","positions","connectedNode","_drawLine","_drawArrow","_drawArrowCenter","_drawDashLine","attachEdge","detachEdge","xFrom","yFrom","xTo","yTo","xObj","yObj","_getDistanceToEdge","_getColor","colorObj","_getLineWidth","_line","midpointX","midpointY","_pointOnLine","_label","resize","_circle","_pointOnCircle","networkScaleInv","_getViaCoordinates","xVia","yVia","quadraticCurveTo","lineCount","measureText","fillRect","mozDash","setLineDash","pattern","lineDashOffset","mozDashOffset","lineCap","dashedLine","percentage","atan2","arrow","edgeSegmentLength","fromBorderDist","distanceToBorder","fromBorderPoint","toBorderDist","toBorderPoint","x1","y1","x2","y2","x3","y3","lastX","lastY","minDistance","_getDistanceToLine","px","py","something","u","nodeIdFrom","nodeIdTo","getControlNodePositions","_enableControlNodes","_disableControlNodes","_getSelectedControlNode","fromDistance","toDistance","_restoreControlNodes","defaultIndex","DEFAULT","load","url","brokenUrl","img","Image","onload","onerror","imagelist","grouplist","reroutedEdges","fontDrawThreshold","horizontalAlignLeft","verticalAlignTop","baseRadiusValue","radiusFixed","preassignedLevel","hierarchyEnumerated","fx","fy","vx","vy","resetCluster","dynamicEdgesLength","clusterSession","clusterSizeWidthFactor","clusterSizeHeightFactor","clusterSizeRadiusFactor","growthIndicator","networkScale","formationScale","clusterSize","containedNodes","containedEdges","clusterSessions","originalLabel","triggerFunction","groupObj","imageObj","brokenImage","_drawDatabase","_resizeDatabase","_drawBox","_resizeBox","_drawCircle","_resizeCircle","_drawEllipse","_resizeEllipse","_drawImage","_resizeImage","_drawText","_resizeText","_drawDot","_resizeShape","_drawSquare","_drawTriangle","_drawTriangleDown","_drawStar","_reset","clearSizeCache","_setForce","_addForce","isFixed","velocity","getDistance","globalAlpha","drawImage","textSize","getTextSize","clusterLineWidth","selectionLineWidth","roundRect","database","diameter","circle","defaultSize","ellipse","_drawShape","radiusMultiplier","baseline","labelUnderNode","inView","clearVelocity","updateVelocity","massBeforeClustering","energyBefore","styleAttr","fontFamily","WebkitBorderRadius","whiteSpace","maxWidth","parseDOT","parseGraph","nextPreview","isAlphaNumeric","regexAlphaNumeric","merge","o","addNode","graphs","attr","addEdge","createEdge","getToken","tokenType","TOKENTYPE","NULL","token","isComment","DELIMITER","c2","DELIMITERS","IDENTIFIER","newSyntaxError","UNKNOWN","chop","strict","parseStatements","parseStatement","subgraph","parseSubgraph","parseEdge","parseAttributeStatement","parseNodeStatement","subgraphs","parseAttributeList","message","maxLength","forEach2","array1","array2","elem1","elem2","convertEdge","dotEdge","graphEdge","graphData","dotNode","graphNode","subEdge","{","}","[","]",";","=",",","->","--","gephiJSON","allowedToMove","gEdges","gNodes","gEdge","source","gNode","leftContainer","rightContainer","shadowTop","shadowBottom","shadowTopLeft","shadowBottomLeft","shadowTopRight","shadowBottomRight","_redrawTimer","listeners","events","scrollTop","scrollTopMin","_initAutoResize","component","_stopAutoResize","what","dataRange","getWindow","borderRootHeight","borderRootWidth","autoHeight","centerWidth","_updateScrollTop","visibilityTop","visibilityBottom","repaint","_startAutoResize","_onResize","lastHeight","watchTimer","setInterval","initialScrollTop","oldScrollTop","_getScrollTop","newScrollTop","_setScrollTop","eventType","getTouchList","collectEventData","custom","back","editNode","addDescription","edgeDescription","editEdgeDescription","createEdgeError","deleteClusterError","CanvasRenderingContext2D","square","s2","ir","triangleDown","star","n","r2d","kappa","ox","oy","xe","ye","xm","ym","bezierCurveTo","wEllipse","hEllipse","ymb","yeb","xt","yt","xi","yi","xl","yl","xr","yr","dashArray","dashLength","dashCount","slope","distRemaining","dashIndex","PhysicsMixin","ClusterMixin","SectorsMixin","SelectionMixin","ManipulationMixin","NavigationMixin","HierarchicalLayoutMixin","_loadMixin","sourceVariable","mixinFunction","_clearMixin","_loadSelectedForceSolver","_loadPhysicsConfiguration","hubThreshold","activeSector","drawingNode","blockConnectingEdgeSelection","forceAppendSelection","manipulationDiv","editModeDiv","closeDiv","_cleanNavigation","_loadNavigationElements","overlay","_onTapOverlay","windowHammer","_hasParent","deactivate","escListener","activate","unbind","_callbacks","once","self","removeListener","removeAllListeners","callbacks","cb","hasListeners","_addEvent","_characterFromEvent","fromCharCode","_MAP","_KEYCODE_MAP","_stop","tag_name","tagName","contentEditable","_modifiersMatch","modifiers1","modifiers2","_resetSequences","do_not_reset","active_sequences","_sequence_levels","_inside_sequence","_getMatches","character","modifiers","combination","matches","_isModifier","seq","combo","_eventModifiers","altKey","metaKey","_fireCallback","cancelBubble","_handleCharacter","processed_sequence_callback","_handleKey","keyCode","_ignore_next_keyup","_resetSequenceTimer","_reset_timer","_getReverseMap","_REVERSE_MAP","_pickBestAction","_bindSequence","_increaseSequence","_callbackAndReset","_bindSingle","sequence_name","sequence","_SPECIAL_ALIASES","_SHIFT_MAP","_bindMultiple","combinations",8,9,13,16,17,18,20,27,32,33,34,35,36,37,38,39,40,45,46,91,93,224,106,107,109,110,111,186,187,188,189,190,191,192,219,220,221,222,"~","!","@","#","$","%","^","&","*","(",")","_","+",":","\"","<",">","?","|","command","return","escape","_direct_map","trigger","__WEBPACK_AMD_DEFINE_RESULT__","global","dfl","hasOwnProp","defaultParsingFlags","empty","unusedTokens","unusedInput","charsLeftOver","nullInput","invalidMonth","invalidFormat","userInvalidated","iso","printMsg","msg","suppressDeprecationWarnings","warn","deprecate","firstTime","deprecateSimple","deprecations","padToken","func","leftZeroFill","ordinalizeToken","period","localeData","ordinal","Locale","Moment","config","skipOverflow","checkOverflow","copyConfig","Duration","normalizedInput","normalizeObjectUnits","years","quarters","quarter","months","weeks","week","days","hour","minute","second","millisecond","_milliseconds","_days","_months","_locale","_bubble","val","_isAMomentObject","_i","_f","_l","_strict","_tzm","_isUTC","_offset","_pf","momentProperties","absRound","number","targetLength","forceSign","output","positiveMomentsDifference","base","res","isAfter","momentsDifference","makeAs","isBefore","createAdder","dur","tmp","addOrSubtractDurationFromMoment","mom","isAdding","updateOffset","setTime","rawSetter","rawGetter","rawMonthSetter","input","compareArrays","dontConvert","lengthDiff","diffs","toInt","normalizeUnits","units","lowered","unitAliases","camelFunctions","inputObject","normalizedProp","makeList","setter","getter","results","utc","set","argumentForCoercion","coercedNumber","isFinite","daysInMonth","UTC","getUTCDate","weeksInYear","dow","doy","weekOfYear","daysInYear","isLeapYear","_a","DATE","_overflowDayOfYear","isValid","_isValid","getTime","normalizeLocale","chooseLocale","names","loadLocale","oldLocale","hasModule","code","model","zone","local","removeFormattingTokens","makeFormatFunction","formattingTokens","formatTokenFunctions","formatMoment","expandFormat","formatFunctions","invalidDate","replaceLongDateFormatTokens","longDateFormat","localFormattingTokens","lastIndex","getParseRegexForToken","parseTokenOneDigit","parseTokenThreeDigits","parseTokenFourDigits","parseTokenOneToFourDigits","parseTokenSignedNumber","parseTokenSixDigits","parseTokenOneToSixDigits","parseTokenTwoDigits","parseTokenOneToThreeDigits","parseTokenWord","_meridiemParse","parseTokenTimestampMs","parseTokenTimezone","parseTokenT","parseTokenDigits","parseTokenOneOrTwoDigits","parseTokenOrdinal","RegExp","regexpEscape","unescapeFormat","timezoneMinutesFromString","string","possibleTzMatches","tzChunk","parseTimezoneChunker","addTimeToArrayFromToken","datePartArray","monthsParse","_dayOfYear","parseTwoDigitYear","_isPm","isPM","_useUTC","weekdaysParse","_w","invalidWeekday","dayOfYearFromWeekInfo","weekYear","weekday","temp","GG","W","E","_week","gg","dayOfYearFromWeeks","dateFromConfig","currentDate","yearToUse","currentDateArray","makeUTCDate","getUTCMonth","makeDate","setUTCMinutes","getUTCMinutes","dateFromObject","getUTCFullYear","makeDateFromStringAndFormat","ISO_8601","parseISO","parsedInput","tokens","skipped","stringLength","totalParsedInputLength","matched","p4","makeDateFromStringAndArray","tempConfig","bestMoment","scoreToBeat","currentScore","NaN","score","l","isoRegex","isoDates","isoTimes","makeDateFromString","createFromInputFallback","makeDateFromInput","aspNetJsonRegex","ms","setUTCFullYear","parseWeekday","substituteTimeAgo","withoutSuffix","isFuture","relativeTime","posNegDuration","relativeTimeThresholds","firstDayOfWeek","firstDayOfWeekOfYear","adjustedMoment","daysToDayOfWeek","daysToAdd","getUTCDay","makeMoment","invalid","preparse","pickBy","moments","dayOfMonth","unit","makeAccessor","keepTime","daysToYears","yearsToDays","makeDurationGetter","makeGlobal","shouldDeprecate","ender","oldGlobalMoment","globalScope","VERSION","aspNetTimeSpanJsonRegex","isoDurationRegex","isoFormat","unitMillisecondFactors","Milliseconds","Seconds","Minutes","Hours","Days","Months","Years","D","Q","DDD","dayofyear","isoweekday","isoweek","weekyear","isoweekyear","ordinalizeTokens","paddedTokens","MMM","monthsShort","MMMM","dd","weekdaysMin","ddd","weekdaysShort","dddd","weekdays","isoWeek","YY","YYYY","YYYYY","YYYYYY","gggg","ggggg","isoWeekYear","GGGG","GGGGG","isoWeekday","meridiem","SS","SSS","SSSS","Z","ZZ","zoneAbbr","zz","zoneName","unix","lists","DDDD","_monthsShort","monthName","regex","_monthsParse","_weekdays","_weekdaysShort","_weekdaysMin","weekdayName","_weekdaysParse","_longDateFormat","LT","L","LL","LLL","LLLL","isLower","_calendar","sameDay","nextDay","nextWeek","lastDay","lastWeek","sameElse","calendar","_relativeTime","future","past","mm","hh","MM","yy","pastFuture","_ordinal","postformat","_invalidDate","ret","parseIso","diffRes","isDuration","inp","version","defaultFormat","relativeTimeThreshold","threshold","limit","defineLocale","_abbr","abbr","langData","flags","parseZone","isDSTShifted","parsingFlags","invalidAt","keepLocalTime","_dateTzOffset","inputString","asFloat","daysAdjust","that","zoneDiff","startOf","humanize","fromNow","sod","isDST","getDay","endOf","isSame","localAdjust","_changeInProgress","hasAlignedHourOffset","isoWeeksInYear","weekInfo","newLocaleData","getTimezoneOffset","isoWeeks","toJSON","withSuffix","toIsoString","asSeconds","asMilliseconds","asMinutes","asHours","asDays","asWeeks","asMonths","asYears","require","noGlobal","setup","READY","Event","determineEventTypes","Utils","each","gestures","Detection","register","onTouch","DOCUMENT","EVENT_MOVE","detect","EVENT_END","Instance","defaults","behavior","userSelect","touchAction","touchCallout","contentZooming","userDrag","tapHighlightColor","HAS_POINTEREVENTS","pointerEnabled","msPointerEnabled","HAS_TOUCHEVENTS","IS_MOBILE","NO_MOUSEEVENTS","CALCULATE_INTERVAL","EVENT_TYPES","DIRECTION_DOWN","DIRECTION_LEFT","DIRECTION_UP","DIRECTION_RIGHT","POINTER_MOUSE","POINTER_TOUCH","POINTER_PEN","EVENT_START","EVENT_RELEASE","EVENT_TOUCH","plugins","utils","dest","handler","iterator","inStr","find","inArray","hasParent","getCenter","getVelocity","deltaTime","getAngle","touch1","touch2","getDirection","getRotation","isVertical","setPrefixedCss","toggle","prefixes","toCamelCase","toggleBehavior","falseFn","onselectstart","ondragstart","str","preventMouseEvents","started","shouldDetect","hook","onTouchHandler","ev","triggerType","srcType","isPointer","isMouse","buttons","PointerEvent","matchType","updatePointer","doDetect","touchList","touchListLength","triggerChange","changedLength","changedTouches","evData","identifiers","identifier","pointerType","timeStamp","preventManipulation","stopDetect","pointers","touchlist","pointerEvent","pointerId","pt","MSPOINTER_TYPE_MOUSE","MSPOINTER_TYPE_TOUCH","MSPOINTER_TYPE_PEN","detection","stopped","startDetect","inst","eventData","startEvent","lastEvent","lastCalcEvent","futureCalcEvent","lastCalcData","extendEventData","instOptions","getCalculatedData","recalc","calcEv","calcData","velocityX","velocityY","interimAngle","interimDirection","startEv","lastEv","rotation","eventStartHandler","eventHandlers","createEvent","initEvent","dispatchEvent","state","dispose","eh","dragGesture","dragMaxTouches","triggered","dragMinDistance","startCenter","dragDistanceCorrection","dragLockToAxis","dragLockMinDistance","lastDirection","dragBlockVertical","dragBlockHorizontal","Drag","Gesture","holdGesture","holdTimeout","holdThreshold","Hold","Release","Swipe","swipeMinTouches","swipeMaxTouches","swipeVelocityX","swipeVelocityY","tapGesture","sincePrev","didDoubleTap","hasMoved","tapMaxDistance","tapMaxTime","doubleTapInterval","doubleTapDistance","tapAlways","Tap","Touch","preventMouse","transformGesture","scaleThreshold","rotationThreshold","transformMinScale","transformMinRotation","Transform","clusterToFit","maxNumberOfNodes","reposition","maxLevels","forceAggregateHubs","normalizeClusterLevels","increaseClusterLevel","repositionNodes","openCluster","isMovingBeforeClustering","_nodeInActiveArea","_sector","_addSector","decreaseClusterLevel","_expandClusterNode","_updateDynamicEdges","updateClusters","zoomDirection","recursive","doNotStart","amountOfNodes","_collapseSector","_formClusters","_openClusters","_openClustersBySize","_aggregateHubs","handleChains","chainPercentage","_getChainFraction","_reduceAmountOfChains","_getHubSize","_formClustersByHub","openAll","containedNodeId","childNode","_expelChildFromParent","_unselectAll","_releaseContainedEdges","_connectEdgeBackToChild","_validateEdges","othersPresent","childNodeId","_repositionBezierNodes","_formClustersByZoom","_forceClustersByZoom","minLength","_addToCluster","_clusterToSmallestNeighbour","smallestNeighbour","smallestNeighbourNode","neighbour","onlyEqual","_formClusterFromHub","hubNode","absorptionSizeOffset","allowCluster","edgesIdarray","amountOfInitialEdges","_addToContainedEdges","_connectEdgeToCluster","_containCircularEdgesFromNode","massBefore","correction","edgeToId","edgeFromId","k","_addToReroutedEdges","maxLevel","minLevel","clusterLevel","targetLevel","average","averageSquared","hubCounter","largestHub","variance","standardDeviation","fraction","reduceAmount","chains","total","_switchToSector","sectorId","sectorType","_switchToActiveSector","_switchToFrozenSector","_switchToSupportSector","_loadLatestSector","_previousSector","_setActiveSector","newId","_forgetLastSector","_createNewSector","_deleteActiveSector","_deleteFrozenSector","_freezeSector","_activateSector","_mergeThisWithFrozen","_collapseThisToSingleCluster","sector","unqiueIdentifier","previousSector","runFunction","argument","returnValues","_doInAllFrozenSectors","_drawSectorNodes","_drawAllSectorNodes","_getNodesOverlappingWith","overlappingNodes","_getAllNodesOverlappingWith","_pointerToPositionObject","positionObject","_getEdgesOverlappingWith","overlappingEdges","_getAllEdgesOverlappingWith","_addToSelection","_addToHover","_removeFromSelection","doNotTrigger","_unselectClusters","_getSelectedNodeCount","_getSelectedNode","_getSelectedEdge","_getSelectedEdgeCount","_getSelectedObjectCount","_selectionIsEmpty","_clusterInSelection","_selectConnectedEdges","_hoverConnectedEdges","_unselectConnectedEdges","append","highlightEdges","overrideSelectable","_manipulationReleaseOverload","_navigationReleaseOverload","getSelectedNodes","edgeIds","getSelectedEdges","idArray","selectNodes","RangeError","selectEdges","_clearManipulatorBar","_restoreOverloadedFunctions","functionName","_toggleEditMode","toolbar","getElementById","boundFunction","edgeBeingEdited","selectedControlNode","addNodeButton","_createAddNodeToolbar","addEdgeButton","_createAddEdgeToolbar","editButton","_editNode","_createEditEdgeToolbar","editModeButton","backButton","_addNode","_handleConnect","_finishConnect","_selectControlNode","_controlNodeDrag","_releaseControlNode","newNode","_editEdge","alert","supportNodes","targetNode","connectionEdge","connectFromId","_createEdge","defaultData","finalizedData","sourceNodeId","targetNodeId","selectedNodes","selectedEdges","wrapper","navigationDivs","navigationDivActions","_stopMovement","_zoomExtent","hubsize","definedLevel","undefinedLevel","_changeConstants","_determineLevels","_determineLevelsDirected","distribution","_getDistribution","_placeNodesByHierarchy","minPos","_placeBranchNodes","maxCount","_setLevel","_setLevelDirected","parentId","parentLevel","nodeMoved","_restoreNodes","graphToggleSmoothCurves","graph_toggleSmooth","graphRepositionNodes","showValueOfRange","graphGenerateOptions","optionsSpecific","radioButton1","radioButton2","checked","backupConstants","optionsDiv","switchConfigurations","radioButton","querySelector","tableId","table","constantsVariableName","valueId","rangeValue","_overWriteGraphConstants","RepulsionMixin","HierarchialRepulsionMixin","BarnesHutMixin","_toggleBarnesHut","barnesHutTree","_initializeForceCalculation","_calculateForces","_calculateGravitationalForces","_calculateNodeForces","_calculateSpringForcesWithSupport","_calculateHierarchicalSpringForces","_calculateSpringForces","supportNodeId","gravity","gravityForce","edgeLength","springForce","combinedClusterSize","node1","node2","node3","_calculateSpringForce","physicsConfiguration","hierarchicalLayoutDirections","parentElement","rangeElement","radioButton3","graph_repositionNodes","graph_generateOptions","nameArray","webpackContext","req","resolve","repulsingForce","a_base","minimumDistance","steepness","springFx","springFy","totalFx","totalFy","correctionFx","correctionFy","nodeCount","_formBarnesHutTree","_getForceContribution","children","NW","NE","SW","SE","parentBranch","childrenCount","centerOfMass","calcSize","MAX_VALUE","sizeDiff","minimumTreeSize","rootSize","halfRootSize","centerX","centerY","_splitBranch","_placeInTree","_updateBranchMass","totalMass","totalMassInv","biggestSize","skipMassUpdate","_placeInRegion","region","containedNode","_insertRegion","childSize","_drawTree","_drawBranch","branch","webpackPolyfill","paths"],"mappings":"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"} \ No newline at end of file diff --git a/dist/vis.min.js b/dist/vis.min.js index c5c10c20..8995be69 100644 --- a/dist/vis.min.js +++ b/dist/vis.min.js @@ -4,7 +4,7 @@ * * A dynamic, browser-based visualization library. * - * @version 3.6.3-SNAPSHOT + * @version 3.6.3 * @date 2014-10-28 * * @license @@ -22,17 +22,17 @@ * * Vis.js may be distributed under either license. */ -!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):"object"==typeof exports?exports.vis=e():t.vis=e()}(this,function(){return function(t){function e(s){if(i[s])return i[s].exports;var o=i[s]={exports:{},id:s,loaded:!1};return t[s].call(o.exports,o,o.exports,e),o.loaded=!0,o.exports}var i={};return e.m=t,e.c=i,e.p="",e(0)}([function(t,e,i){e.util=i(1),e.DOMutil=i(2),e.DataSet=i(3),e.DataView=i(4),e.Graph3d=i(5),e.graph3d={Camera:i(6),Filter:i(7),Point2d:i(8),Point3d:i(9),Slider:i(10),StepNumber:i(11)},e.Timeline=i(12),e.Graph2d=i(13),e.timeline={DateUtil:i(14),DataStep:i(15),Range:i(16),stack:i(17),TimeStep:i(18),components:{items:{Item:i(30),BackgroundItem:i(31),BoxItem:i(32),PointItem:i(33),RangeItem:i(34)},Component:i(19),CurrentTime:i(20),CustomTime:i(21),DataAxis:i(22),GraphGroup:i(23),Group:i(24),BackgroundGroup:i(25),ItemSet:i(26),Legend:i(27),LineGraph:i(28),TimeAxis:i(29)}},e.Network=i(35),e.network={Edge:i(36),Groups:i(37),Images:i(38),Node:i(39),Popup:i(40),dotparser:i(41),gephiParser:i(42)},e.Graph=function(){throw new Error("Graph is renamed to Network. Please create a graph as new vis.Network(...)")},e.moment=i(43),e.hammer=i(44)},function(module,exports,__webpack_require__){var moment=__webpack_require__(43);exports.isNumber=function(t){return t instanceof Number||"number"==typeof t},exports.isString=function(t){return t instanceof String||"string"==typeof t},exports.isDate=function(t){if(t instanceof Date)return!0;if(exports.isString(t)){var e=ASPDateRegex.exec(t);if(e)return!0;if(!isNaN(Date.parse(t)))return!0}return!1},exports.isDataTable=function(t){return"undefined"!=typeof google&&google.visualization&&google.visualization.DataTable&&t instanceof google.visualization.DataTable},exports.randomUUID=function(){var t=function(){return Math.floor(65536*Math.random()).toString(16)};return t()+t()+"-"+t()+"-"+t()+"-"+t()+"-"+t()+t()+t()},exports.extend=function(t){for(var e=1,i=arguments.length;i>e;e++){var s=arguments[e];for(var o in s)s.hasOwnProperty(o)&&(t[o]=s[o])}return t},exports.selectiveExtend=function(t,e){if(!Array.isArray(t))throw new Error("Array with property names expected as first argument");for(var i=2;ii;i++)if(t[i]!=e[i])return!1;return!0},exports.convert=function(t,e){var i;if(void 0===t)return void 0;if(null===t)return null;if(!e)return t;if("string"!=typeof e&&!(e instanceof String))throw new Error("Type must be a string");switch(e){case"boolean":case"Boolean":return Boolean(t);case"number":case"Number":return Number(t.valueOf());case"string":case"String":return String(t);case"Date":if(exports.isNumber(t))return new Date(t);if(t instanceof Date)return new Date(t.valueOf());if(moment.isMoment(t))return new Date(t.valueOf());if(exports.isString(t))return i=ASPDateRegex.exec(t),i?new Date(Number(i[1])):moment(t).toDate();throw new Error("Cannot convert object of type "+exports.getType(t)+" to type Date");case"Moment":if(exports.isNumber(t))return moment(t);if(t instanceof Date)return moment(t.valueOf());if(moment.isMoment(t))return moment(t);if(exports.isString(t))return i=ASPDateRegex.exec(t),moment(i?Number(i[1]):t);throw new Error("Cannot convert object of type "+exports.getType(t)+" to type Date");case"ISODate":if(exports.isNumber(t))return new Date(t);if(t instanceof Date)return t.toISOString();if(moment.isMoment(t))return t.toDate().toISOString();if(exports.isString(t))return i=ASPDateRegex.exec(t),i?new Date(Number(i[1])).toISOString():new Date(t).toISOString();throw new Error("Cannot convert object of type "+exports.getType(t)+" to type ISODate");case"ASPDate":if(exports.isNumber(t))return"/Date("+t+")/";if(t instanceof Date)return"/Date("+t.valueOf()+")/";if(exports.isString(t)){i=ASPDateRegex.exec(t);var s;return s=i?new Date(Number(i[1])).valueOf():new Date(t).valueOf(),"/Date("+s+")/"}throw new Error("Cannot convert object of type "+exports.getType(t)+" to type ASPDate");default:throw new Error('Unknown type "'+e+'"')}};var ASPDateRegex=/^\/?Date\((\-?\d+)/i;exports.getType=function(t){var e=typeof t;return"object"==e?null==t?"null":t instanceof Boolean?"Boolean":t instanceof Number?"Number":t instanceof String?"String":Array.isArray(t)?"Array":t instanceof Date?"Date":"Object":"number"==e?"Number":"boolean"==e?"Boolean":"string"==e?"String":e},exports.getAbsoluteLeft=function(t){return t.getBoundingClientRect().left+window.pageXOffset},exports.getAbsoluteTop=function(t){return t.getBoundingClientRect().top+window.pageYOffset},exports.addClassName=function(t,e){var i=t.className.split(" ");-1==i.indexOf(e)&&(i.push(e),t.className=i.join(" "))},exports.removeClassName=function(t,e){var i=t.className.split(" "),s=i.indexOf(e);-1!=s&&(i.splice(s,1),t.className=i.join(" "))},exports.forEach=function(t,e){var i,s;if(Array.isArray(t))for(i=0,s=t.length;s>i;i++)e(t[i],i,t);else for(i in t)t.hasOwnProperty(i)&&e(t[i],i,t)},exports.toArray=function(t){var e=[];for(var i in t)t.hasOwnProperty(i)&&e.push(t[i]);return e},exports.updateProperty=function(t,e,i){return t[e]!==i?(t[e]=i,!0):!1},exports.addEventListener=function(t,e,i,s){t.addEventListener?(void 0===s&&(s=!1),"mousewheel"===e&&navigator.userAgent.indexOf("Firefox")>=0&&(e="DOMMouseScroll"),t.addEventListener(e,i,s)):t.attachEvent("on"+e,i)},exports.removeEventListener=function(t,e,i,s){t.removeEventListener?(void 0===s&&(s=!1),"mousewheel"===e&&navigator.userAgent.indexOf("Firefox")>=0&&(e="DOMMouseScroll"),t.removeEventListener(e,i,s)):t.detachEvent("on"+e,i)},exports.preventDefault=function(t){t||(t=window.event),t.preventDefault?t.preventDefault():t.returnValue=!1},exports.getTarget=function(t){t||(t=window.event);var e;return t.target?e=t.target:t.srcElement&&(e=t.srcElement),void 0!=e.nodeType&&3==e.nodeType&&(e=e.parentNode),e},exports.option={},exports.option.asBoolean=function(t,e){return"function"==typeof t&&(t=t()),null!=t?0!=t:e||null},exports.option.asNumber=function(t,e){return"function"==typeof t&&(t=t()),null!=t?Number(t)||e||null:e||null},exports.option.asString=function(t,e){return"function"==typeof t&&(t=t()),null!=t?String(t):e||null},exports.option.asSize=function(t,e){return"function"==typeof t&&(t=t()),exports.isString(t)?t:exports.isNumber(t)?t+"px":e||null},exports.option.asElement=function(t,e){return"function"==typeof t&&(t=t()),t||e||null},exports.GiveDec=function(Hex){var Value;return Value="A"==Hex?10:"B"==Hex?11:"C"==Hex?12:"D"==Hex?13:"E"==Hex?14:"F"==Hex?15:eval(Hex)},exports.GiveHex=function(t){var e;return e=10==t?"A":11==t?"B":12==t?"C":13==t?"D":14==t?"E":15==t?"F":""+t},exports.parseColor=function(t){var e;if(exports.isString(t)){if(exports.isValidRGB(t)){var i=t.substr(4).substr(0,t.length-5).split(",");t=exports.RGBToHex(i[0],i[1],i[2])}if(exports.isValidHex(t)){var s=exports.hexToHSV(t),o={h:s.h,s:.45*s.s,v:Math.min(1,1.05*s.v)},n={h:s.h,s:Math.min(1,1.25*s.v),v:.6*s.v},r=exports.HSVToHex(n.h,n.h,n.v),a=exports.HSVToHex(o.h,o.s,o.v);e={background:t,border:r,highlight:{background:a,border:r},hover:{background:a,border:r}}}else e={background:t,border:t,highlight:{background:t,border:t},hover:{background:t,border:t}}}else e={},e.background=t.background||"white",e.border=t.border||e.background,exports.isString(t.highlight)?e.highlight={border:t.highlight,background:t.highlight}:(e.highlight={},e.highlight.background=t.highlight&&t.highlight.background||e.background,e.highlight.border=t.highlight&&t.highlight.border||e.border),exports.isString(t.hover)?e.hover={border:t.hover,background:t.hover}:(e.hover={},e.hover.background=t.hover&&t.hover.background||e.background,e.hover.border=t.hover&&t.hover.border||e.border);return e},exports.hexToRGB=function(t){t=t.replace("#","").toUpperCase();var e=exports.GiveDec(t.substring(0,1)),i=exports.GiveDec(t.substring(1,2)),s=exports.GiveDec(t.substring(2,3)),o=exports.GiveDec(t.substring(3,4)),n=exports.GiveDec(t.substring(4,5)),r=exports.GiveDec(t.substring(5,6)),a=16*e+i,h=16*s+o,i=16*n+r;return{r:a,g:h,b:i}},exports.RGBToHex=function(t,e,i){var s=exports.GiveHex(Math.floor(t/16)),o=exports.GiveHex(t%16),n=exports.GiveHex(Math.floor(e/16)),r=exports.GiveHex(e%16),a=exports.GiveHex(Math.floor(i/16)),h=exports.GiveHex(i%16),d=s+o+n+r+a+h;return"#"+d},exports.RGBToHSV=function(t,e,i){t/=255,e/=255,i/=255;var s=Math.min(t,Math.min(e,i)),o=Math.max(t,Math.max(e,i));if(s==o)return{h:0,s:0,v:s};var n=t==s?e-i:i==s?t-e:i-t,r=t==s?3:i==s?1:5,a=60*(r-n/(o-s))/360,h=(o-s)/o,d=o;return{h:a,s:h,v:d}};var cssUtil={split:function(t){var e={};return t.split(";").forEach(function(t){if(""!=t.trim()){var i=t.split(":"),s=i[0].trim(),o=i[1].trim();e[s]=o}}),e},join:function(t){return Object.keys(t).map(function(e){return e+": "+t[e]}).join("; ")}};exports.addCssText=function(t,e){var i=cssUtil.split(t.style.cssText),s=cssUtil.split(e),o=exports.extend(i,s);t.style.cssText=cssUtil.join(o)},exports.removeCssText=function(t,e){var i=cssUtil.split(t.style.cssText),s=cssUtil.split(e);for(var o in s)s.hasOwnProperty(o)&&delete i[o];t.style.cssText=cssUtil.join(i)},exports.HSVToRGB=function(t,e,i){var s,o,n,r=Math.floor(6*t),a=6*t-r,h=i*(1-e),d=i*(1-a*e),l=i*(1-(1-a)*e);switch(r%6){case 0:s=i,o=l,n=h;break;case 1:s=d,o=i,n=h;break;case 2:s=h,o=i,n=l;break;case 3:s=h,o=d,n=i;break;case 4:s=l,o=h,n=i;break;case 5:s=i,o=h,n=d}return{r:Math.floor(255*s),g:Math.floor(255*o),b:Math.floor(255*n)}},exports.HSVToHex=function(t,e,i){var s=exports.HSVToRGB(t,e,i);return exports.RGBToHex(s.r,s.g,s.b)},exports.hexToHSV=function(t){var e=exports.hexToRGB(t);return exports.RGBToHSV(e.r,e.g,e.b)},exports.isValidHex=function(t){var e=/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(t);return e},exports.isValidRGB=function(t){t=t.replace(" ","");var e=/rgb\((\d{1,3}),(\d{1,3}),(\d{1,3})\)/i.test(t);return e},exports.selectiveBridgeObject=function(t,e){if("object"==typeof e){for(var i=Object.create(e),s=0;s=r&&o>n;){var h=Math.floor((r+a)/2),d=t[h];if(d.isVisible(e))return h;var l=void 0===s?d[i]:d[i][s];ld;)n=l[Math.max(0,g-1)][i],r=l[g][i],a=l[Math.min(l.length-1,g+1)][i],r==e||e>n&&r>e||e>r&&a>e?(c=!0,r!=e&&("before"==s?e>n&&r>e&&(g=Math.max(0,g-1)):e>r&&a>e&&(g=Math.min(l.length-1,g+1)))):(e>r?f=Math.floor(.5*(u+p)):m=Math.floor(.5*(u+p)),o=Math.floor(.5*(u+p)),p==f&&u==m?(g=-1,c=!0):(u=m,p=f,g=Math.floor(.5*(u+p)))),d++;d>=h&&console.log("BinarySearch too many iterations. Aborting.")}return g},exports.easeInOutQuad=function(t,e,i,s){var o=i-e;return t/=s/2,1>t?o/2*t*t+e:(t--,-o/2*(t*(t-2)-1)+e)},exports.easingFunctions={linear:function(t){return t},easeInQuad:function(t){return t*t},easeOutQuad:function(t){return t*(2-t)},easeInOutQuad:function(t){return.5>t?2*t*t:-1+(4-2*t)*t},easeInCubic:function(t){return t*t*t},easeOutCubic:function(t){return--t*t*t+1},easeInOutCubic:function(t){return.5>t?4*t*t*t:(t-1)*(2*t-2)*(2*t-2)+1},easeInQuart:function(t){return t*t*t*t},easeOutQuart:function(t){return 1- --t*t*t*t},easeInOutQuart:function(t){return.5>t?8*t*t*t*t:1-8*--t*t*t*t},easeInQuint:function(t){return t*t*t*t*t},easeOutQuint:function(t){return 1+--t*t*t*t*t},easeInOutQuint:function(t){return.5>t?16*t*t*t*t*t:1+16*--t*t*t*t*t}}},function(t,e){e.prepareElements=function(t){for(var e in t)t.hasOwnProperty(e)&&(t[e].redundant=t[e].used,t[e].used=[])},e.cleanupElements=function(t){for(var e in t)if(t.hasOwnProperty(e)&&t[e].redundant){for(var i=0;i0?(s=e[t].redundant[0],e[t].redundant.shift()):(s=document.createElementNS("http://www.w3.org/2000/svg",t),i.appendChild(s)):(s=document.createElementNS("http://www.w3.org/2000/svg",t),e[t]={used:[],redundant:[]},i.appendChild(s)),e[t].used.push(s),s},e.getDOMElement=function(t,e,i,s){var o;return e.hasOwnProperty(t)?e[t].redundant.length>0?(o=e[t].redundant[0],e[t].redundant.shift()):(o=document.createElement(t),void 0!==s?i.insertBefore(o,s):i.appendChild(o)):(o=document.createElement(t),e[t]={used:[],redundant:[]},void 0!==s?i.insertBefore(o,s):i.appendChild(o)),e[t].used.push(o),o},e.drawPoint=function(t,i,s,o,n){var r;return"circle"==s.options.drawPoints.style?(r=e.getSVGElement("circle",o,n),r.setAttributeNS(null,"cx",t),r.setAttributeNS(null,"cy",i),r.setAttributeNS(null,"r",.5*s.options.drawPoints.size),r.setAttributeNS(null,"class",s.className+" point")):(r=e.getSVGElement("rect",o,n),r.setAttributeNS(null,"x",t-.5*s.options.drawPoints.size),r.setAttributeNS(null,"y",i-.5*s.options.drawPoints.size),r.setAttributeNS(null,"width",s.options.drawPoints.size),r.setAttributeNS(null,"height",s.options.drawPoints.size),r.setAttributeNS(null,"class",s.className+" point")),r},e.drawBar=function(t,i,s,o,n,r,a){if(0!=o){0>o&&(o*=-1,i-=o);var h=e.getSVGElement("rect",r,a);h.setAttributeNS(null,"x",t-.5*s),h.setAttributeNS(null,"y",i),h.setAttributeNS(null,"width",s),h.setAttributeNS(null,"height",o),h.setAttributeNS(null,"class",n)}}},function(t,e,i){function s(t,e){if(!t||Array.isArray(t)||o.isDataTable(t)||(e=t,t=null),this._options=e||{},this._data={},this._fieldId=this._options.fieldId||"id",this._type={},this._options.type)for(var i in this._options.type)if(this._options.type.hasOwnProperty(i)){var s=this._options.type[i];this._type[i]="Date"==s||"ISODate"==s||"ASPDate"==s?"Date":s}if(this._options.convert)throw new Error('Option "convert" is deprecated. Use "type" instead.');if(this._subscribers={},t&&this.add(t),this._options.queue){var r={replace:["add","update","remove"]};"object"==typeof this._options.queue&&o.extend(r,this._options.queue),n.extend(this,r)}}var o=i(1),n=i(45);s.prototype.on=function(t,e){var i=this._subscribers[t];i||(i=[],this._subscribers[t]=i),i.push({callback:e})},s.prototype.subscribe=s.prototype.on,s.prototype.off=function(t,e){var i=this._subscribers[t];i&&(this._subscribers[t]=i.filter(function(t){return t.callback!=e}))},s.prototype.unsubscribe=s.prototype.off,s.prototype._trigger=function(t,e,i){if("*"==t)throw new Error("Cannot trigger event *");var s=[];t in this._subscribers&&(s=s.concat(this._subscribers[t])),"*"in this._subscribers&&(s=s.concat(this._subscribers["*"]));for(var o=0;or;r++)i=n._addItem(t[r]),s.push(i);else if(o.isDataTable(t))for(var h=this._getColumnNames(t),d=0,l=t.getNumberOfRows();l>d;d++){for(var c={},p=0,u=h.length;u>p;p++){var f=h[p];c[f]=t.getValue(d,p)}i=n._addItem(c),s.push(i)}else{if(!(t instanceof Object))throw new Error("Unknown dataType");i=n._addItem(t),s.push(i)}return s.length&&this._trigger("add",{items:s},e),s},s.prototype.update=function(t,e){var i=[],s=[],n=[],r=this,a=r._fieldId,h=function(t){var e=t[a];r._data[e]?(e=r._updateItem(t),s.push(e),n.push(t)):(e=r._addItem(t),i.push(e))};if(Array.isArray(t))for(var d=0,l=t.length;l>d;d++)h(t[d]);else if(o.isDataTable(t))for(var c=this._getColumnNames(t),p=0,u=t.getNumberOfRows();u>p;p++){for(var f={},m=0,g=c.length;g>m;m++){var v=c[m];f[v]=t.getValue(p,m)}h(f)}else{if(!(t instanceof Object))throw new Error("Unknown dataType");h(t)}return i.length&&this._trigger("add",{items:i},e),s.length&&this._trigger("update",{items:s,data:n},e),i.concat(s)},s.prototype.get=function(){var t,e,i,s,n=this,r=o.getType(arguments[0]);"String"==r||"Number"==r?(t=arguments[0],i=arguments[1],s=arguments[2]):"Array"==r?(e=arguments[0],i=arguments[1],s=arguments[2]):(i=arguments[0],s=arguments[1]);var a;if(i&&i.returnType){var h=["DataTable","Array","Object"];if(a=-1==h.indexOf(i.returnType)?"Array":i.returnType,s&&a!=o.getType(s))throw new Error('Type of parameter "data" ('+o.getType(s)+") does not correspond with specified options.type ("+i.type+")");if("DataTable"==a&&!o.isDataTable(s))throw new Error('Parameter "data" must be a DataTable when options.type is "DataTable"')}else a=s&&"DataTable"==o.getType(s)?"DataTable":"Array";var d,l,c,p,u=i&&i.type||this._options.type,f=i&&i.filter,m=[];if(void 0!=t)d=n._getItem(t,u),f&&!f(d)&&(d=null);else if(void 0!=e)for(c=0,p=e.length;p>c;c++)d=n._getItem(e[c],u),(!f||f(d))&&m.push(d);else for(l in this._data)this._data.hasOwnProperty(l)&&(d=n._getItem(l,u),(!f||f(d))&&m.push(d));if(i&&i.order&&void 0==t&&this._sort(m,i.order),i&&i.fields){var g=i.fields;if(void 0!=t)d=this._filterFields(d,g);else for(c=0,p=m.length;p>c;c++)m[c]=this._filterFields(m[c],g)}if("DataTable"==a){var v=this._getColumnNames(s);if(void 0!=t)n._appendRow(s,v,d);else for(c=0;cc;c++)s.push(m[c]);return s}return m},s.prototype.getIds=function(t){var e,i,s,o,n,r=this._data,a=t&&t.filter,h=t&&t.order,d=t&&t.type||this._options.type,l=[];if(a)if(h){n=[];for(s in r)r.hasOwnProperty(s)&&(o=this._getItem(s,d),a(o)&&n.push(o));for(this._sort(n,h),e=0,i=n.length;i>e;e++)l[e]=n[e][this._fieldId]}else for(s in r)r.hasOwnProperty(s)&&(o=this._getItem(s,d),a(o)&&l.push(o[this._fieldId]));else if(h){n=[];for(s in r)r.hasOwnProperty(s)&&n.push(r[s]);for(this._sort(n,h),e=0,i=n.length;i>e;e++)l[e]=n[e][this._fieldId]}else for(s in r)r.hasOwnProperty(s)&&(o=r[s],l.push(o[this._fieldId]));return l},s.prototype.getDataSet=function(){return this},s.prototype.forEach=function(t,e){var i,s,o=e&&e.filter,n=e&&e.type||this._options.type,r=this._data;if(e&&e.order)for(var a=this.get(e),h=0,d=a.length;d>h;h++)i=a[h],s=i[this._fieldId],t(i,s);else for(s in r)r.hasOwnProperty(s)&&(i=this._getItem(s,n),(!o||o(i))&&t(i,s))},s.prototype.map=function(t,e){var i,s=e&&e.filter,o=e&&e.type||this._options.type,n=[],r=this._data;for(var a in r)r.hasOwnProperty(a)&&(i=this._getItem(a,o),(!s||s(i))&&n.push(t(i,a)));return e&&e.order&&this._sort(n,e.order),n},s.prototype._filterFields=function(t,e){var i={};for(var s in t)t.hasOwnProperty(s)&&-1!=e.indexOf(s)&&(i[s]=t[s]);return i},s.prototype._sort=function(t,e){if(o.isString(e)){var i=e;t.sort(function(t,e){var s=t[i],o=e[i];return s>o?1:o>s?-1:0})}else{if("function"!=typeof e)throw new TypeError("Order must be a function or a string");t.sort(e)}},s.prototype.remove=function(t,e){var i,s,o,n=[];if(Array.isArray(t))for(i=0,s=t.length;s>i;i++)o=this._remove(t[i]),null!=o&&n.push(o);else o=this._remove(t),null!=o&&n.push(o);return n.length&&this._trigger("remove",{items:n},e),n},s.prototype._remove=function(t){if(o.isNumber(t)||o.isString(t)){if(this._data[t])return delete this._data[t],t}else if(t instanceof Object){var e=t[this._fieldId];if(e&&this._data[e])return delete this._data[e],e}return null},s.prototype.clear=function(t){var e=Object.keys(this._data);return this._data={},this._trigger("remove",{items:e},t),e},s.prototype.max=function(t){var e=this._data,i=null,s=null;for(var o in e)if(e.hasOwnProperty(o)){var n=e[o],r=n[t];null!=r&&(!i||r>s)&&(i=n,s=r)}return i},s.prototype.min=function(t){var e=this._data,i=null,s=null;for(var o in e)if(e.hasOwnProperty(o)){var n=e[o],r=n[t];null!=r&&(!i||s>r)&&(i=n,s=r)}return i},s.prototype.distinct=function(t){var e,i=this._data,s=[],n=this._options.type&&this._options.type[t]||null,r=0;for(var a in i)if(i.hasOwnProperty(a)){var h=i[a],d=h[t],l=!1;for(e=0;r>e;e++)if(s[e]==d){l=!0;break}l||void 0===d||(s[r]=d,r++)}if(n)for(e=0;ei;i++)e[i]=t.getColumnId(i)||t.getColumnLabel(i);return e},s.prototype._appendRow=function(t,e,i){for(var s=t.addRow(),o=0,n=e.length;n>o;o++){var r=e[o];t.setValue(s,o,i[r])}},t.exports=s},function(t,e,i){function s(t,e){this._data=null,this._ids={},this._options=e||{},this._fieldId="id",this._subscribers={};var i=this;this.listener=function(){i._onEvent.apply(i,arguments)},this.setData(t)}var o=i(1),n=i(3);s.prototype.setData=function(t){var e,i,s;if(this._data){this._data.unsubscribe&&this._data.unsubscribe("*",this.listener),e=[];for(var o in this._ids)this._ids.hasOwnProperty(o)&&e.push(o);this._ids={},this._trigger("remove",{items:e})}if(this._data=t,this._data){for(this._fieldId=this._options.fieldId||this._data&&this._data.options&&this._data.options.fieldId||"id",e=this._data.getIds({filter:this._options&&this._options.filter}),i=0,s=e.length;s>i;i++)o=e[i],this._ids[o]=!0;this._trigger("add",{items:e}),this._data.on&&this._data.on("*",this.listener)}},s.prototype.get=function(){var t,e,i,s=this,n=o.getType(arguments[0]);"String"==n||"Number"==n||"Array"==n?(t=arguments[0],e=arguments[1],i=arguments[2]):(e=arguments[0],i=arguments[1]);var r=o.extend({},this._options,e);this._options.filter&&e&&e.filter&&(r.filter=function(t){return s._options.filter(t)&&e.filter(t)});var a=[];return void 0!=t&&a.push(t),a.push(r),a.push(i),this._data&&this._data.get.apply(this._data,a)},s.prototype.getIds=function(t){var e;if(this._data){var i,s=this._options.filter;i=t&&t.filter?s?function(e){return s(e)&&t.filter(e)}:t.filter:s,e=this._data.getIds({filter:i,order:t&&t.order})}else e=[];return e},s.prototype.getDataSet=function(){for(var t=this;t instanceof s;)t=t._data;return t||null},s.prototype._onEvent=function(t,e,i){var s,o,n,r,a=e&&e.items,h=this._data,d=[],l=[],c=[];if(a&&h){switch(t){case"add":for(s=0,o=a.length;o>s;s++)n=a[s],r=this.get(n),r&&(this._ids[n]=!0,d.push(n));break;case"update":for(s=0,o=a.length;o>s;s++)n=a[s],r=this.get(n),r?this._ids[n]?l.push(n):(this._ids[n]=!0,d.push(n)):this._ids[n]&&(delete this._ids[n],c.push(n));break;case"remove":for(s=0,o=a.length;o>s;s++)n=a[s],this._ids[n]&&(delete this._ids[n],c.push(n))}d.length&&this._trigger("add",{items:d},i),l.length&&this._trigger("update",{items:l},i),c.length&&this._trigger("remove",{items:c},i)}},s.prototype.on=n.prototype.on,s.prototype.off=n.prototype.off,s.prototype._trigger=n.prototype._trigger,s.prototype.subscribe=s.prototype.on,s.prototype.unsubscribe=s.prototype.off,t.exports=s},function(t,e,i){function s(t,e,i){if(!(this instanceof s))throw new SyntaxError("Constructor must be called with the new operator");this.containerElement=t,this.width="400px",this.height="400px",this.margin=10,this.defaultXCenter="55%",this.defaultYCenter="50%",this.xLabel="x",this.yLabel="y",this.zLabel="z";var o=function(t){return t};this.xValueLabel=o,this.yValueLabel=o,this.zValueLabel=o,this.filterLabel="time",this.legendLabel="value",this.style=s.STYLE.DOT,this.showPerspective=!0,this.showGrid=!0,this.keepAspectRatio=!0,this.showShadow=!1,this.showGrayBottom=!1,this.showTooltip=!1,this.verticalRatio=.5,this.animationInterval=1e3,this.animationPreload=!1,this.camera=new l,this.eye=new h(0,0,-1),this.dataTable=null,this.dataPoints=null,this.colX=void 0,this.colY=void 0,this.colZ=void 0,this.colValue=void 0,this.colFilter=void 0,this.xMin=0,this.xStep=void 0,this.xMax=1,this.yMin=0,this.yStep=void 0,this.yMax=1,this.zMin=0,this.zStep=void 0,this.zMax=1,this.valueMin=0,this.valueMax=1,this.xBarWidth=1,this.yBarWidth=1,this.colorAxis="#4D4D4D",this.colorGrid="#D3D3D3",this.colorDot="#7DC1FF",this.colorDotBorder="#3267D2",this.create(),this.setOptions(i),e&&this.setData(e)}var o=i(53),n=i(3),r=i(4),a=i(1),h=i(9),d=i(8),l=i(6),c=i(7),p=i(10),u=i(11);o(s.prototype),s.prototype._setScale=function(){this.scale=new h(1/(this.xMax-this.xMin),1/(this.yMax-this.yMin),1/(this.zMax-this.zMin)),this.keepAspectRatio&&(this.scale.x3&&(this.colFilter=3);else{if(this.style!==s.STYLE.DOTCOLOR&&this.style!==s.STYLE.DOTSIZE&&this.style!==s.STYLE.BARCOLOR&&this.style!==s.STYLE.BARSIZE)throw'Unknown style "'+this.style+'"';this.colX=0,this.colY=1,this.colZ=2,this.colValue=3,t.getNumberOfColumns()>4&&(this.colFilter=4)}},s.prototype.getNumberOfRows=function(t){return t.length},s.prototype.getNumberOfColumns=function(t){var e=0;for(var i in t[0])t[0].hasOwnProperty(i)&&e++;return e},s.prototype.getDistinctValues=function(t,e){for(var i=[],s=0;st[s][e]&&(i.min=t[s][e]),i.maxt;t++){var m=(t-p)/(f-p),g=240*m,v=this._hsv2rgb(g,1,1);c.strokeStyle=v,c.beginPath(),c.moveTo(h,r+t),c.lineTo(a,r+t),c.stroke()}c.strokeStyle=this.colorAxis,c.strokeRect(h,r,i,n)}if(this.style===s.STYLE.DOTSIZE&&(c.strokeStyle=this.colorAxis,c.fillStyle=this.colorDot,c.beginPath(),c.moveTo(h,r),c.lineTo(a,r),c.lineTo(a-i+e,d),c.lineTo(h,d),c.closePath(),c.fill(),c.stroke()),this.style===s.STYLE.DOTCOLOR||this.style===s.STYLE.DOTSIZE){var y=5,b=new u(this.valueMin,this.valueMax,(this.valueMax-this.valueMin)/5,!0);for(b.start(),b.getCurrent()0?this.yMin:this.yMax,o=this._convert3Dto2D(new h(x,r,this.zMin)),Math.cos(2*_)>0?(g.textAlign="center",g.textBaseline="top",o.y+=b):Math.sin(2*_)<0?(g.textAlign="right",g.textBaseline="middle"):(g.textAlign="left",g.textBaseline="middle"),g.fillStyle=this.colorAxis,g.fillText(" "+this.xValueLabel(i.getCurrent())+" ",o.x,o.y),i.next()}for(g.lineWidth=1,s=void 0===this.defaultYStep,i=new u(this.yMin,this.yMax,this.yStep,s),i.start(),i.getCurrent()0?this.xMin:this.xMax,o=this._convert3Dto2D(new h(n,i.getCurrent(),this.zMin)),Math.cos(2*_)<0?(g.textAlign="center",g.textBaseline="top",o.y+=b):Math.sin(2*_)>0?(g.textAlign="right",g.textBaseline="middle"):(g.textAlign="left",g.textBaseline="middle"),g.fillStyle=this.colorAxis,g.fillText(" "+this.yValueLabel(i.getCurrent())+" ",o.x,o.y),i.next();for(g.lineWidth=1,s=void 0===this.defaultZStep,i=new u(this.zMin,this.zMax,this.zStep,s),i.start(),i.getCurrent()0?this.xMin:this.xMax,r=Math.sin(_)<0?this.yMin:this.yMax;!i.end();)t=this._convert3Dto2D(new h(n,r,i.getCurrent())),g.strokeStyle=this.colorAxis,g.beginPath(),g.moveTo(t.x,t.y),g.lineTo(t.x-b,t.y),g.stroke(),g.textAlign="right",g.textBaseline="middle",g.fillStyle=this.colorAxis,g.fillText(this.zValueLabel(i.getCurrent())+" ",t.x-5,t.y),i.next();g.lineWidth=1,t=this._convert3Dto2D(new h(n,r,this.zMin)),e=this._convert3Dto2D(new h(n,r,this.zMax)),g.strokeStyle=this.colorAxis,g.beginPath(),g.moveTo(t.x,t.y),g.lineTo(e.x,e.y),g.stroke(),g.lineWidth=1,p=this._convert3Dto2D(new h(this.xMin,this.yMin,this.zMin)),f=this._convert3Dto2D(new h(this.xMax,this.yMin,this.zMin)),g.strokeStyle=this.colorAxis,g.beginPath(),g.moveTo(p.x,p.y),g.lineTo(f.x,f.y),g.stroke(),p=this._convert3Dto2D(new h(this.xMin,this.yMax,this.zMin)),f=this._convert3Dto2D(new h(this.xMax,this.yMax,this.zMin)),g.strokeStyle=this.colorAxis,g.beginPath(),g.moveTo(p.x,p.y),g.lineTo(f.x,f.y),g.stroke(),g.lineWidth=1,t=this._convert3Dto2D(new h(this.xMin,this.yMin,this.zMin)),e=this._convert3Dto2D(new h(this.xMin,this.yMax,this.zMin)),g.strokeStyle=this.colorAxis,g.beginPath(),g.moveTo(t.x,t.y),g.lineTo(e.x,e.y),g.stroke(),t=this._convert3Dto2D(new h(this.xMax,this.yMin,this.zMin)),e=this._convert3Dto2D(new h(this.xMax,this.yMax,this.zMin)),g.strokeStyle=this.colorAxis,g.beginPath(),g.moveTo(t.x,t.y),g.lineTo(e.x,e.y),g.stroke();var w=this.xLabel;w.length>0&&(c=.1/this.scale.y,n=(this.xMin+this.xMax)/2,r=Math.cos(_)>0?this.yMin-c:this.yMax+c,o=this._convert3Dto2D(new h(n,r,this.zMin)),Math.cos(2*_)>0?(g.textAlign="center",g.textBaseline="top"):Math.sin(2*_)<0?(g.textAlign="right",g.textBaseline="middle"):(g.textAlign="left",g.textBaseline="middle"),g.fillStyle=this.colorAxis,g.fillText(w,o.x,o.y));var S=this.yLabel;S.length>0&&(l=.1/this.scale.x,n=Math.sin(_)>0?this.xMin-l:this.xMax+l,r=(this.yMin+this.yMax)/2,o=this._convert3Dto2D(new h(n,r,this.zMin)),Math.cos(2*_)<0?(g.textAlign="center",g.textBaseline="top"):Math.sin(2*_)>0?(g.textAlign="right",g.textBaseline="middle"):(g.textAlign="left",g.textBaseline="middle"),g.fillStyle=this.colorAxis,g.fillText(S,o.x,o.y));var D=this.zLabel;D.length>0&&(d=30,n=Math.cos(_)>0?this.xMin:this.xMax,r=Math.sin(_)<0?this.yMin:this.yMax,a=(this.zMin+this.zMax)/2,o=this._convert3Dto2D(new h(n,r,a)),g.textAlign="right",g.textBaseline="middle",g.fillStyle=this.colorAxis,g.fillText(D,o.x-d,o.y))},s.prototype._hsv2rgb=function(t,e,i){var s,o,n,r,a,h;switch(r=i*e,a=Math.floor(t/60),h=r*(1-Math.abs(t/60%2-1)),a){case 0:s=r,o=h,n=0;break;case 1:s=h,o=r,n=0;break;case 2:s=0,o=r,n=h;break;case 3:s=0,o=h,n=r;break;case 4:s=h,o=0,n=r;break;case 5:s=r,o=0,n=h;break;default:s=0,o=0,n=0}return"RGB("+parseInt(255*s)+","+parseInt(255*o)+","+parseInt(255*n)+")"},s.prototype._redrawDataGrid=function(){var t,e,i,o,n,r,a,d,l,c,p,u,f,m=this.frame.canvas,g=m.getContext("2d");if(!(void 0===this.dataPoints||this.dataPoints.length<=0)){for(n=0;n0}else r=!0;r?(f=(t.point.z+e.point.z+i.point.z+o.point.z)/4,c=240*(1-(f-this.zMin)*this.scale.z/this.verticalRatio),p=1,this.showShadow?(u=Math.min(1+S.x/D/2,1),a=this._hsv2rgb(c,p,u),d=a):(u=1,a=this._hsv2rgb(c,p,u),d=this.colorAxis)):(a="gray",d=this.colorAxis),l=.5,g.lineWidth=l,g.fillStyle=a,g.strokeStyle=d,g.beginPath(),g.moveTo(t.screen.x,t.screen.y),g.lineTo(e.screen.x,e.screen.y),g.lineTo(o.screen.x,o.screen.y),g.lineTo(i.screen.x,i.screen.y),g.closePath(),g.fill(),g.stroke()}}else for(n=0;np&&(p=0);var u,f,m;this.style===s.STYLE.DOTCOLOR?(u=240*(1-(d.point.value-this.valueMin)*this.scale.value),f=this._hsv2rgb(u,1,1),m=this._hsv2rgb(u,1,.8)):this.style===s.STYLE.DOTSIZE?(f=this.colorDot,m=this.colorDotBorder):(u=240*(1-(d.point.z-this.zMin)*this.scale.z/this.verticalRatio),f=this._hsv2rgb(u,1,1),m=this._hsv2rgb(u,1,.8)),i.lineWidth=1,i.strokeStyle=m,i.fillStyle=f,i.beginPath(),i.arc(d.screen.x,d.screen.y,p,0,2*Math.PI,!0),i.fill(),i.stroke()}}},s.prototype._redrawDataBar=function(){var t,e,i,o,n=this.frame.canvas,r=n.getContext("2d");if(!(void 0===this.dataPoints||this.dataPoints.length<=0)){for(t=0;t0&&(t=this.dataPoints[0],s.lineWidth=1,s.strokeStyle="blue",s.beginPath(),s.moveTo(t.screen.x,t.screen.y)),e=1;e0&&s.stroke()}},s.prototype._onMouseDown=function(t){if(t=t||window.event,this.leftButtonDown&&this._onMouseUp(t),this.leftButtonDown=t.which?1===t.which:1===t.button,this.leftButtonDown||this.touchDown){this.startMouseX=getMouseX(t),this.startMouseY=getMouseY(t),this.startStart=new Date(this.start),this.startEnd=new Date(this.end),this.startArmRotation=this.camera.getArmRotation(),this.frame.style.cursor="move";var e=this;this.onmousemove=function(t){e._onMouseMove(t)},this.onmouseup=function(t){e._onMouseUp(t)},a.addEventListener(document,"mousemove",e.onmousemove),a.addEventListener(document,"mouseup",e.onmouseup),a.preventDefault(t)}},s.prototype._onMouseMove=function(t){t=t||window.event;var e=parseFloat(getMouseX(t))-this.startMouseX,i=parseFloat(getMouseY(t))-this.startMouseY,s=this.startArmRotation.horizontal+e/200,o=this.startArmRotation.vertical+i/200,n=4,r=Math.sin(n/360*2*Math.PI);Math.abs(Math.sin(s))0?1:0>t?-1:0}var s=e[0],o=e[1],n=e[2],r=i((o.x-s.x)*(t.y-s.y)-(o.y-s.y)*(t.x-s.x)),a=i((n.x-o.x)*(t.y-o.y)-(n.y-o.y)*(t.x-o.x)),h=i((s.x-n.x)*(t.y-n.y)-(s.y-n.y)*(t.x-n.x));return!(0!=r&&0!=a&&r!=a||0!=a&&0!=h&&a!=h||0!=r&&0!=h&&r!=h)},s.prototype._dataPointFromXY=function(t,e){var i,o=100,n=null,r=null,a=null,h=new d(t,e);if(this.style===s.STYLE.BAR||this.style===s.STYLE.BARCOLOR||this.style===s.STYLE.BARSIZE)for(i=this.dataPoints.length-1;i>=0;i--){n=this.dataPoints[i];var l=n.surfaces;if(l)for(var c=l.length-1;c>=0;c--){var p=l[c],u=p.corners,f=[u[0].screen,u[1].screen,u[2].screen],m=[u[2].screen,u[3].screen,u[0].screen];if(this._insideTriangle(h,f)||this._insideTriangle(h,m))return n}}else for(i=0;ib)&&o>b&&(a=b,r=n)}}return r},s.prototype._showTooltip=function(t){var e,i,s;this.tooltip?(e=this.tooltip.dom.content,i=this.tooltip.dom.line,s=this.tooltip.dom.dot):(e=document.createElement("div"),e.style.position="absolute",e.style.padding="10px",e.style.border="1px solid #4d4d4d",e.style.color="#1a1a1a",e.style.background="rgba(255,255,255,0.7)",e.style.borderRadius="2px",e.style.boxShadow="5px 5px 10px rgba(128,128,128,0.5)",i=document.createElement("div"),i.style.position="absolute",i.style.height="40px",i.style.width="0",i.style.borderLeft="1px solid #4d4d4d",s=document.createElement("div"),s.style.position="absolute",s.style.height="0",s.style.width="0",s.style.border="5px solid #4d4d4d",s.style.borderRadius="5px",this.tooltip={dataPoint:null,dom:{content:e,line:i,dot:s}}),this._hideTooltip(),this.tooltip.dataPoint=t,e.innerHTML="function"==typeof this.showTooltip?this.showTooltip(t.point):"
x:"+t.point.x+"
y:"+t.point.y+"
z:"+t.point.z+"
",e.style.left="0",e.style.top="0",this.frame.appendChild(e),this.frame.appendChild(i),this.frame.appendChild(s);var o=e.offsetWidth,n=e.offsetHeight,r=i.offsetHeight,a=s.offsetWidth,h=s.offsetHeight,d=t.screen.x-o/2;d=Math.min(Math.max(d,10),this.frame.clientWidth-10-o),i.style.left=t.screen.x+"px",i.style.top=t.screen.y-r+"px",e.style.left=d+"px",e.style.top=t.screen.y-r-n+"px",s.style.left=t.screen.x-a/2+"px",s.style.top=t.screen.y-h/2+"px"},s.prototype._hideTooltip=function(){if(this.tooltip){this.tooltip.dataPoint=null;for(var t in this.tooltip.dom)if(this.tooltip.dom.hasOwnProperty(t)){var e=this.tooltip.dom[t];e&&e.parentNode&&e.parentNode.removeChild(e)}}},getMouseX=function(t){return"clientX"in t?t.clientX:t.targetTouches[0]&&t.targetTouches[0].clientX||0},getMouseY=function(t){return"clientY"in t?t.clientY:t.targetTouches[0]&&t.targetTouches[0].clientY||0},t.exports=s},function(t,e,i){var s=i(9);Camera=function(){this.armLocation=new s,this.armRotation={},this.armRotation.horizontal=0,this.armRotation.vertical=0,this.armLength=1.7,this.cameraLocation=new s,this.cameraRotation=new s(.5*Math.PI,0,0),this.calculateCameraOrientation()},Camera.prototype.setArmLocation=function(t,e,i){this.armLocation.x=t,this.armLocation.y=e,this.armLocation.z=i,this.calculateCameraOrientation()},Camera.prototype.setArmRotation=function(t,e){void 0!==t&&(this.armRotation.horizontal=t),void 0!==e&&(this.armRotation.vertical=e,this.armRotation.vertical<0&&(this.armRotation.vertical=0),this.armRotation.vertical>.5*Math.PI&&(this.armRotation.vertical=.5*Math.PI)),(void 0!==t||void 0!==e)&&this.calculateCameraOrientation()},Camera.prototype.getArmRotation=function(){var t={};return t.horizontal=this.armRotation.horizontal,t.vertical=this.armRotation.vertical,t},Camera.prototype.setArmLength=function(t){void 0!==t&&(this.armLength=t,this.armLength<.71&&(this.armLength=.71),this.armLength>5&&(this.armLength=5),this.calculateCameraOrientation())},Camera.prototype.getArmLength=function(){return this.armLength},Camera.prototype.getCameraLocation=function(){return this.cameraLocation},Camera.prototype.getCameraRotation=function(){return this.cameraRotation},Camera.prototype.calculateCameraOrientation=function(){this.cameraLocation.x=this.armLocation.x-this.armLength*Math.sin(this.armRotation.horizontal)*Math.cos(this.armRotation.vertical),this.cameraLocation.y=this.armLocation.y-this.armLength*Math.cos(this.armRotation.horizontal)*Math.cos(this.armRotation.vertical),this.cameraLocation.z=this.armLocation.z+this.armLength*Math.sin(this.armRotation.vertical),this.cameraRotation.x=Math.PI/2-this.armRotation.vertical,this.cameraRotation.y=0,this.cameraRotation.z=-this.armRotation.horizontal},t.exports=Camera},function(t,e,i){function s(t,e,i){this.data=t,this.column=e,this.graph=i,this.index=void 0,this.value=void 0,this.values=i.getDistinctValues(t.get(),this.column),this.values.sort(function(t,e){return t>e?1:e>t?-1:0}),this.values.length>0&&this.selectValue(0),this.dataPoints=[],this.loaded=!1,this.onLoadCallback=void 0,i.animationPreload?(this.loaded=!1,this.loadInBackground()):this.loaded=!0}var o=i(4);s.prototype.isLoaded=function(){return this.loaded},s.prototype.getLoadedProgress=function(){for(var t=this.values.length,e=0;this.dataPoints[e];)e++;return Math.round(e/t*100)},s.prototype.getLabel=function(){return this.graph.filterLabel},s.prototype.getColumn=function(){return this.column},s.prototype.getSelectedValue=function(){return void 0===this.index?void 0:this.values[this.index]},s.prototype.getValues=function(){return this.values},s.prototype.getValue=function(t){if(t>=this.values.length)throw"Error: index out of range";return this.values[t]},s.prototype._getDataPoints=function(t){if(void 0===t&&(t=this.index),void 0===t)return[];var e;if(this.dataPoints[t])e=this.dataPoints[t];else{var i={};i.column=this.column,i.value=this.values[t];var s=new o(this.data,{filter:function(t){return t[i.column]==i.value}}).get();e=this.graph._getDataPoints(s),this.dataPoints[t]=e}return e},s.prototype.setOnLoadCallback=function(t){this.onLoadCallback=t},s.prototype.selectValue=function(t){if(t>=this.values.length)throw"Error: index out of range";this.index=t,this.value=this.values[t]},s.prototype.loadInBackground=function(t){void 0===t&&(t=0);var e=this.graph.frame;if(t0&&(t--,this.setIndex(t))},s.prototype.next=function(){var t=this.getIndex();t0?this.setIndex(0):this.index=void 0},s.prototype.setIndex=function(t){if(!(ts&&(s=0),s>this.values.length-1&&(s=this.values.length-1),s},s.prototype.indexToLeft=function(t){var e=parseFloat(this.frame.bar.style.width)-this.frame.slide.clientWidth-10,i=t/(this.values.length-1)*e,s=i+3;return s},s.prototype._onMouseMove=function(t){var e=t.clientX-this.startClientX,i=this.startSlideX+e,s=this.leftToIndex(i);this.setIndex(s),o.preventDefault()},s.prototype._onMouseUp=function(){this.frame.style.cursor="auto",o.removeEventListener(document,"mousemove",this.onmousemove),o.removeEventListener(document,"mouseup",this.onmouseup),o.preventDefault()},t.exports=s},function(t){function e(t,e,i,s){this._start=0,this._end=0,this._step=1,this.prettyStep=!0,this.precision=5,this._current=0,this.setRange(t,e,i,s)}e.prototype.setRange=function(t,e,i,s){this._start=t?t:0,this._end=e?e:0,this.setStep(i,s)},e.prototype.setStep=function(t,i){void 0===t||0>=t||(void 0!==i&&(this.prettyStep=i),this._step=this.prettyStep===!0?e.calculatePrettyStep(t):t)},e.calculatePrettyStep=function(t){var e=function(t){return Math.log(t)/Math.LN10},i=Math.pow(10,Math.round(e(t))),s=2*Math.pow(10,Math.round(e(t/2))),o=5*Math.pow(10,Math.round(e(t/5))),n=i;return Math.abs(s-t)<=Math.abs(n-t)&&(n=s),Math.abs(o-t)<=Math.abs(n-t)&&(n=o),0>=n&&(n=1),n},e.prototype.getCurrent=function(){return parseFloat(this._current.toPrecision(this.precision))},e.prototype.getStep=function(){return this._step},e.prototype.start=function(){this._current=this._start-this._start%this._step},e.prototype.next=function(){this._current+=this._step},e.prototype.end=function(){return this._current>this._end},t.exports=e},function(t,e,i){function s(t,e,i,r){if(!(this instanceof s))throw new SyntaxError("Constructor must be called with the new operator");if(!(Array.isArray(i)||i instanceof n)&&i instanceof Object){var h=r;r=i,i=h}var u=this;this.defaultOptions={start:null,end:null,autoResize:!0,orientation:"bottom",width:null,height:null,maxHeight:null,minHeight:null},this.options=o.deepExtend({},this.defaultOptions),this._create(t),this.components=[],this.body={dom:this.dom,domProps:this.props,emitter:{on:this.on.bind(this),off:this.off.bind(this),emit:this.emit.bind(this)},hiddenDates:[],util:{snap:null,toScreen:u._toScreen.bind(u),toGlobalScreen:u._toGlobalScreen.bind(u),toTime:u._toTime.bind(u),toGlobalTime:u._toGlobalTime.bind(u)}},this.range=new a(this.body),this.components.push(this.range),this.body.range=this.range,this.timeAxis=new d(this.body),this.components.push(this.timeAxis),this.body.util.snap=this.timeAxis.snap.bind(this.timeAxis),this.currentTime=new l(this.body),this.components.push(this.currentTime),this.customTime=new c(this.body),this.components.push(this.customTime),this.itemSet=new p(this.body),this.components.push(this.itemSet),this.itemsData=null,this.groupsData=null,r&&this.setOptions(r),i&&this.setGroups(i),e?this.setItems(e):this.redraw()}var o=(i(53),i(44),i(1)),n=i(3),r=i(4),a=i(16),h=i(46),d=i(29),l=i(20),c=i(21),p=i(26);s.prototype=new h,s.prototype.setItems=function(t){var e,i=null==this.itemsData;if(e=t?t instanceof n||t instanceof r?t:new n(t,{type:{start:"Date",end:"Date"}}):null,this.itemsData=e,this.itemSet&&this.itemSet.setItems(e),i)if(void 0!=this.options.start||void 0!=this.options.end){var s=void 0!=this.options.start?this.options.start:null,o=void 0!=this.options.end?this.options.end:null;this.setWindow(s,o,{animate:!1})}else this.fit({animate:!1})},s.prototype.setGroups=function(t){var e;e=t?t instanceof n||t instanceof r?t:new n(t):null,this.groupsData=e,this.itemSet.setGroups(e)},s.prototype.setSelection=function(t,e){this.itemSet&&this.itemSet.setSelection(t),e&&e.focus&&this.focus(t,e)},s.prototype.getSelection=function(){return this.itemSet&&this.itemSet.getSelection()||[]},s.prototype.focus=function(t,e){if(this.itemsData&&void 0!=t){var i=Array.isArray(t)?t:[t],s=this.itemsData.getDataSet().get(i,{type:{start:"Date",end:"Date"}}),o=null,n=null;if(s.forEach(function(t){var e=t.start.valueOf(),i="end"in t?t.end.valueOf():t.start.valueOf();(null===o||o>e)&&(o=e),(null===n||i>n)&&(n=i)}),null!==o&&null!==n){var r=(o+n)/2,a=Math.max(this.range.end-this.range.start,1.1*(n-o)),h=e&&void 0!==e.animate?e.animate:!0;this.range.setRange(r-a/2,r+a/2,h)}}},s.prototype.getItemRange=function(){var t=this.itemsData.getDataSet(),e=null,i=null;if(t){var s=t.min("start");e=s?o.convert(s.start,"Date").valueOf():null;var n=t.max("start");n&&(i=o.convert(n.start,"Date").valueOf());var r=t.max("end");r&&(i=null==i?o.convert(r.end,"Date").valueOf():Math.max(i,o.convert(r.end,"Date").valueOf()))}return{min:null!=e?new Date(e):null,max:null!=i?new Date(i):null}},t.exports=s},function(t,e,i){function s(t,e,i,s){if(!(Array.isArray(i)||i instanceof n)&&i instanceof Object){var r=s;s=i,i=r}var h=this;this.defaultOptions={start:null,end:null,autoResize:!0,orientation:"bottom",width:null,height:null,maxHeight:null,minHeight:null},this.options=o.deepExtend({},this.defaultOptions),this._create(t),this.components=[],this.body={dom:this.dom,domProps:this.props,emitter:{on:this.on.bind(this),off:this.off.bind(this),emit:this.emit.bind(this)},hiddenDates:[],util:{snap:null,toScreen:h._toScreen.bind(h),toGlobalScreen:h._toGlobalScreen.bind(h),toTime:h._toTime.bind(h),toGlobalTime:h._toGlobalTime.bind(h)}},this.range=new a(this.body),this.components.push(this.range),this.body.range=this.range,this.timeAxis=new d(this.body),this.components.push(this.timeAxis),this.body.util.snap=this.timeAxis.snap.bind(this.timeAxis),this.currentTime=new l(this.body),this.components.push(this.currentTime),this.customTime=new c(this.body),this.components.push(this.customTime),this.linegraph=new p(this.body),this.components.push(this.linegraph),this.itemsData=null,this.groupsData=null,s&&this.setOptions(s),i&&this.setGroups(i),e?this.setItems(e):this.redraw()}var o=(i(53),i(44),i(1)),n=i(3),r=i(4),a=i(16),h=i(46),d=i(29),l=i(20),c=i(21),p=i(28);s.prototype=new h,s.prototype.setItems=function(t){var e,i=null==this.itemsData;if(e=t?t instanceof n||t instanceof r?t:new n(t,{type:{start:"Date",end:"Date"}}):null,this.itemsData=e,this.linegraph&&this.linegraph.setItems(e),i)if(void 0!=this.options.start||void 0!=this.options.end){var s=void 0!=this.options.start?this.options.start:null,o=void 0!=this.options.end?this.options.end:null;this.setWindow(s,o,{animate:!1})}else this.fit({animate:!1})},s.prototype.setGroups=function(t){var e;e=t?t instanceof n||t instanceof r?t:new n(t):null,this.groupsData=e,this.linegraph.setGroups(e)},s.prototype.getLegend=function(t,e,i){return void 0===e&&(e=15),void 0===i&&(i=15),void 0!==this.linegraph.groups[t]?this.linegraph.groups[t].getLegend(e,i):"cannot find group:"+t},s.prototype.isGroupVisible=function(t){return void 0!==this.linegraph.groups[t]?this.linegraph.groups[t].visible&&(void 0===this.linegraph.options.groups.visibility[t]||1==this.linegraph.options.groups.visibility[t]):!1},s.prototype.getItemRange=function(){var t=null,e=null;for(var i in this.linegraph.groups)if(this.linegraph.groups.hasOwnProperty(i)&&1==this.linegraph.groups[i].visible)for(var s=0;sr?r:t,e=null==e?r:r>e?r:e}return{min:null!=t?new Date(t):null,max:null!=e?new Date(e):null}},t.exports=s},function(t,e,i){var s=i(43);e.convertHiddenOptions=function(t,e){if(t.hiddenDates=[],e&&1==Array.isArray(e)){for(var i=0;i=4*a){var p=0,u=n.clone();switch(i[h].repeat){case"daily":d.day()!=l.day()&&(p=1),d.dayOfYear(o.dayOfYear()),d.year(o.year()),d.subtract(7,"days"),l.dayOfYear(o.dayOfYear()),l.year(o.year()),l.subtract(7-p,"days"),u.add(1,"weeks");break;case"weekly":var f=l.diff(d,"days"),m=d.day();d.date(o.date()),d.month(o.month()),d.year(o.year()),l=d.clone(),d.day(m),l.day(m),l.add(f,"days"),d.subtract(1,"weeks"),l.subtract(1,"weeks"),u.add(1,"weeks");break;case"monthly":d.month()!=l.month()&&(p=1),d.month(o.month()),d.year(o.year()),d.subtract(1,"months"),l.month(o.month()),l.year(o.year()),l.subtract(1,"months"),l.add(p,"months"),u.add(1,"months");break;case"yearly":d.year()!=l.year()&&(p=1),d.year(o.year()),d.subtract(1,"years"),l.year(o.year()),l.subtract(1,"years"),l.add(p,"years"),u.add(1,"years");break;default:return void console.log("Wrong repeat format, allowed are: daily, weekly, monthly, yearly. Given:",i[h].repeat)}for(;u>d;)switch(t.hiddenDates.push({start:d.valueOf(),end:l.valueOf()}),i[h].repeat){case"daily":d.add(1,"days"),l.add(1,"days");break;case"weekly":d.add(1,"weeks"),l.add(1,"weeks");break;case"monthly":d.add(1,"months"),l.add(1,"months");break;case"yearly":d.add(1,"y"),l.add(1,"y");break;default:return void console.log("Wrong repeat format, allowed are: daily, weekly, monthly, yearly. Given:",i[h].repeat)}t.hiddenDates.push({start:d.valueOf(),end:l.valueOf()})}}e.removeDuplicates(t);var g=e.isHidden(t.range.start,t.hiddenDates),v=e.isHidden(t.range.end,t.hiddenDates),y=t.range.start,b=t.range.end;1==g.hidden&&(y=1==t.range.startToFront?g.startDate-1:g.endDate+1),1==v.hidden&&(b=1==t.range.endToFront?v.startDate-1:v.endDate+1),(1==g.hidden||1==v.hidden)&&t.range._applyRange(y,b)}},e.removeDuplicates=function(t){for(var e=t.hiddenDates,i=[],s=0;s=e[s].start&&e[o].end<=e[s].end?e[o].remove=!0:e[o].start>=e[s].start&&e[o].start<=e[s].end?(e[s].end=e[o].end,e[o].remove=!0):e[o].end>=e[s].start&&e[o].end<=e[s].end&&(e[s].start=e[o].start,e[o].remove=!0));for(var s=0;s=r&&a>o){i=!0;break}}if(1==i&&o=n&&r>i){e=!0;break}}if(1==e&&i<=t._end.valueOf()){var a=s(r);t.current=a.toDate()}},e.toScreen=function(t,i,s){var o=e.isHidden(i,t.body.hiddenDates);1==o.hidden&&(i=o.startDate);var n=e.getHiddenDurationBetween(t.body.hiddenDates,t.range.start,t.range.end);i=e.correctTimeForHidden(t.body.hiddenDates,t.range,i);var r=t.range.conversion(s,n);return(i.valueOf()-r.offset)*r.scale},e.toTime=function(t,i,s,o){var n=e.getHiddenDurationBetween(t.hiddenDates,i.start,i.end),r=i.end-i.start-n,a=r*s/o,h=e.getAccumulatedHiddenDuration(t.hiddenDates,i,a),d=new Date(h+a+i.start);return d},e.getHiddenDurationBetween=function(t,e,i){for(var s=0,o=0;o=e&&i>r&&(s+=r-n)}return s},e.correctTimeForHidden=function(t,i,o){return o=s(o).toDate().valueOf(),o-=e.getHiddenDurationBefore(t,i,o)},e.getHiddenDurationBefore=function(t,e,i){var o=0;i=s(i).toDate().valueOf();for(var n=0;n=e.start&&a=a&&(o+=a-r)}return o},e.getAccumulatedHiddenDuration=function(t,e,i){for(var s=0,o=0,n=e.start,r=0;r=e.start&&h=i)break;s+=h-a}}return s},e.snapAwayFromHidden=function(t,i,s,o){var n=e.isHidden(i,t);return 1==n.hidden?0>s?1==o?n.startDate-(n.endDate-i)-1:n.startDate-1:1==o?n.endDate+(i-n.startDate)+1:n.endDate+1:i},e.isHidden=function(t,e){for(var i=0;i=s&&o>t)return{hidden:!0,startDate:s,endDate:o}}return{hidden:!1,startDate:s,endDate:o}}},function(t){function e(t,e,i,s,o){this.current=0,this.autoScale=!0,this.stepIndex=0,this.step=1,this.scale=1,this.marginStart,this.marginEnd,this.deadSpace=0,this.majorSteps=[1,2,5,10],this.minorSteps=[.25,.5,1,2],this.setRange(t,e,i,s,o)}e.prototype.setRange=function(t,e,i,s,o){this._start=void 0===o.min?t:o.min,this._end=void 0===o.max?e:o.max,this._start==this._end&&(this._start-=.75,this._end+=1),this.autoScale&&this.setMinimumStep(i,s),this.setFirst(o)},e.prototype.setMinimumStep=function(t,e){var i=this._end-this._start,s=1.2*i,o=t*(s/e),n=Math.round(Math.log(s)/Math.LN10),r=-1,a=Math.pow(10,n),h=0;0>n&&(h=n);for(var d=!1,l=h;Math.abs(l)<=Math.abs(n);l++){a=Math.pow(10,l);for(var c=0;c=o){d=!0,r=c;break}}if(1==d)break}this.stepIndex=r,this.scale=a,this.step=a*this.minorSteps[r]},e.prototype.setFirst=function(t){void 0===t&&(t={});var e=void 0===t.min?this._start-2*this.scale*this.minorSteps[this.stepIndex]:t.min,i=void 0===t.max?this._end+this.scale*this.minorSteps[this.stepIndex]:t.max;this.marginEnd=void 0===t.max?this.roundToMinor(i):t.max,this.marginStart=void 0===t.min?this.roundToMinor(e):t.min,this.deadSpace=this.roundToMinor(i)-i+this.roundToMinor(e)-e,this.marginRange=this.marginEnd-this.marginStart,this.current=this.marginEnd},e.prototype.roundToMinor=function(t){var e=t-t%(this.scale*this.minorSteps[this.stepIndex]);return t%(this.scale*this.minorSteps[this.stepIndex])>.5*this.scale*this.minorSteps[this.stepIndex]?e+this.scale*this.minorSteps[this.stepIndex]:e},e.prototype.hasNext=function(){return this.current>=this.marginStart},e.prototype.next=function(){var t=this.current;this.current-=this.step,this.current==t&&(this.current=this._end)},e.prototype.previous=function(){this.current+=this.step,this.marginEnd+=this.step,this.marginRange=this.marginEnd-this.marginStart},e.prototype.getCurrent=function(){var t=""+Number(this.current).toPrecision(5);if(-1!=t.indexOf(",")||-1!=t.indexOf("."))for(var e=t.length-1;e>0;e--){if("0"!=t[e]){if("."==t[e]||","==t[e]){t=t.slice(0,e);break}break}t=t.slice(0,e)}return t},e.prototype.snap=function(){},e.prototype.isMajor=function(){return this.current%(this.scale*this.majorSteps[this.stepIndex])==0},t.exports=e},function(t,e,i){function s(t,e){var i=h().hours(0).minutes(0).seconds(0).milliseconds(0);this.start=i.clone().add(-3,"days").valueOf(),this.end=i.clone().add(4,"days").valueOf(),this.body=t,this.deltaDifference=0,this.scaleOffset=0,this.startToFront=!1,this.endToFront=!0,this.defaultOptions={start:null,end:null,direction:"horizontal",moveable:!0,zoomable:!0,min:null,max:null,zoomMin:10,zoomMax:31536e10},this.options=r.extend({},this.defaultOptions),this.props={touch:{}},this.animateTimer=null,this.body.emitter.on("dragstart",this._onDragStart.bind(this)),this.body.emitter.on("drag",this._onDrag.bind(this)),this.body.emitter.on("dragend",this._onDragEnd.bind(this)),this.body.emitter.on("hold",this._onHold.bind(this)),this.body.emitter.on("mousewheel",this._onMouseWheel.bind(this)),this.body.emitter.on("DOMMouseScroll",this._onMouseWheel.bind(this)),this.body.emitter.on("touch",this._onTouch.bind(this)),this.body.emitter.on("pinch",this._onPinch.bind(this)),this.setOptions(e)}function o(t){if("horizontal"!=t&&"vertical"!=t)throw new TypeError('Unknown direction "'+t+'". Choose "horizontal" or "vertical".')}function n(t,e){return{x:t.pageX-r.getAbsoluteLeft(e),y:t.pageY-r.getAbsoluteTop(e)}}var r=i(1),a=i(47),h=i(43),d=i(19),l=i(14);s.prototype=new d,s.prototype.setOptions=function(t){if(t){var e=["direction","min","max","zoomMin","zoomMax","moveable","zoomable","activate","hiddenDates"];r.selectiveExtend(e,this.options,t),("start"in t||"end"in t)&&this.setRange(t.start,t.end)}},s.prototype.setRange=function(t,e,i){function s(){if(!a.props.touch.dragging){var t=(new Date).valueOf(),e=t-p,i=e>c,m=i||null===o?o:r.easeInOutQuad(e,h,o,c),g=i||null===n?n:r.easeInOutQuad(e,d,n,c);f=a._applyRange(m,g),l.updateHiddenDates(a.body,a.options.hiddenDates),u=u||f,f&&a.body.emitter.emit("rangechange",{start:new Date(a.start),end:new Date(a.end)}),i?u&&a.body.emitter.emit("rangechanged",{start:new Date(a.start),end:new Date(a.end)}):a.animateTimer=setTimeout(s,20)}}var o=void 0!=t?r.convert(t,"Date").valueOf():null,n=void 0!=e?r.convert(e,"Date").valueOf():null;if(this._cancelAnimation(),i){var a=this,h=this.start,d=this.end,c="number"==typeof i?i:500,p=(new Date).valueOf(),u=!1;return s()}var f=this._applyRange(o,n);if(l.updateHiddenDates(this.body,this.options.hiddenDates),f){var m={start:new Date(this.start),end:new Date(this.end)};this.body.emitter.emit("rangechange",m),this.body.emitter.emit("rangechanged",m)}},s.prototype._cancelAnimation=function(){this.animateTimer&&(clearTimeout(this.animateTimer),this.animateTimer=null)},s.prototype._applyRange=function(t,e){var i,s=null!=t?r.convert(t,"Date").valueOf():this.start,o=null!=e?r.convert(e,"Date").valueOf():this.end,n=null!=this.options.max?r.convert(this.options.max,"Date").valueOf():null,a=null!=this.options.min?r.convert(this.options.min,"Date").valueOf():null;if(isNaN(s)||null===s)throw new Error('Invalid start "'+t+'"');if(isNaN(o)||null===o)throw new Error('Invalid end "'+e+'"');if(s>o&&(o=s),null!==a&&a>s&&(i=a-s,s+=i,o+=i,null!=n&&o>n&&(o=n)),null!==n&&o>n&&(i=o-n,s-=i,o-=i,null!=a&&a>s&&(s=a)),null!==this.options.zoomMin){var h=parseFloat(this.options.zoomMin);0>h&&(h=0),h>o-s&&(this.end-this.start===h?(s=this.start,o=this.end):(i=h-(o-s),s-=i/2,o+=i/2))}if(null!==this.options.zoomMax){var d=parseFloat(this.options.zoomMax);0>d&&(d=0),o-s>d&&(this.end-this.start===d?(s=this.start,o=this.end):(i=o-s-d,s+=i/2,o-=i/2))}var l=this.start!=s||this.end!=o;return this.start=s,this.end=o,l},s.prototype.getRange=function(){return{start:this.start,end:this.end}},s.prototype.conversion=function(t,e){return s.conversion(this.start,this.end,t,e)},s.conversion=function(t,e,i,s){return void 0===s&&(s=0),0!=i&&e-t!=0?{offset:t,scale:i/(e-t-s)}:{offset:0,scale:1}},s.prototype._onDragStart=function(){this.deltaDifference=0,this.previousDelta=0,this.options.moveable&&this.props.touch.allowDragging&&(this.props.touch.start=this.start,this.props.touch.end=this.end,this.props.touch.dragging=!0,this.body.dom.root&&(this.body.dom.root.style.cursor="move"))},s.prototype._onDrag=function(t){if(this.options.moveable&&this.props.touch.allowDragging){var e=this.options.direction;o(e);var i="horizontal"==e?t.gesture.deltaX:t.gesture.deltaY;i-=this.deltaDifference;var s=this.props.touch.end-this.props.touch.start,n=l.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end);s-=n;var r="horizontal"==e?this.body.domProps.center.width:this.body.domProps.center.height,a=-i/r*s,h=this.props.touch.start+a,d=this.props.touch.end+a,c=l.snapAwayFromHidden(this.body.hiddenDates,h,this.previousDelta-i,!0),p=l.snapAwayFromHidden(this.body.hiddenDates,d,this.previousDelta-i,!0);if(c!=h||p!=d)return this.deltaDifference+=i,this.props.touch.start=c,this.props.touch.end=p,void this._onDrag(t);this.previousDelta=i,this._applyRange(h,d),this.body.emitter.emit("rangechange",{start:new Date(this.start),end:new Date(this.end)})}},s.prototype._onDragEnd=function(){this.options.moveable&&this.props.touch.allowDragging&&(this.props.touch.dragging=!1,this.body.dom.root&&(this.body.dom.root.style.cursor="auto"),this.body.emitter.emit("rangechanged",{start:new Date(this.start),end:new Date(this.end)}))},s.prototype._onMouseWheel=function(t){if(this.options.zoomable&&this.options.moveable){var e=0;if(t.wheelDelta?e=t.wheelDelta/120:t.detail&&(e=-t.detail/3),e){var i;i=0>e?1-e/5:1/(1+e/5);var s=a.fakeGesture(this,t),o=n(s.center,this.body.dom.center),r=this._pointerToDate(o);this.zoom(i,r,e)}t.preventDefault()}},s.prototype._onTouch=function(){this.props.touch.start=this.start,this.props.touch.end=this.end,this.props.touch.allowDragging=!0,this.props.touch.center=null,this.scaleOffset=0,this.deltaDifference=0},s.prototype._onHold=function(){this.props.touch.allowDragging=!1},s.prototype._onPinch=function(t){if(this.options.zoomable&&this.options.moveable&&(this.props.touch.allowDragging=!1,t.gesture.touches.length>1)){this.props.touch.center||(this.props.touch.center=n(t.gesture.center,this.body.dom.center));var e=1/(t.gesture.scale+this.scaleOffset),i=this._pointerToDate(this.props.touch.center),s=l.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end),o=l.getHiddenDurationBefore(this.body.hiddenDates,this,i),r=s-o,a=i-o+(this.start-(i-o))*e,h=i+r+(this.end-(i+r))*e;this.startToFront=1-e>0?!1:!0,this.endToFront=e-1>0?!1:!0;var d=l.snapAwayFromHidden(this.body.hiddenDates,a,1-e,!0),c=l.snapAwayFromHidden(this.body.hiddenDates,h,e-1,!0);(d!=a||c!=h)&&(this.props.touch.start=d,this.props.touch.end=c,this.scaleOffset=1-t.gesture.scale,a=d,h=c),this.setRange(a,h),this.startToFront=!1,this.endToFront=!0}},s.prototype._pointerToDate=function(t){var e,i=this.options.direction;if(o(i),"horizontal"==i)return this.body.util.toTime(t.x).valueOf();var s=this.body.domProps.center.height;return e=this.conversion(s),t.y/e.scale+e.offset},s.prototype.zoom=function(t,e,i){null==e&&(e=(this.start+this.end)/2);var s=l.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end),o=l.getHiddenDurationBefore(this.body.hiddenDates,this,e),n=s-o,r=e-o+(this.start-(e-o))*t,a=e+n+(this.end-(e+n))*t;this.startToFront=i>0?!1:!0,this.endToFront=-i>0?!1:!0;var h=l.snapAwayFromHidden(this.body.hiddenDates,r,i,!0),d=l.snapAwayFromHidden(this.body.hiddenDates,a,-i,!0);(h!=r||d!=a)&&(r=h,a=d),this.setRange(r,a),this.startToFront=!1,this.endToFront=!0},s.prototype.move=function(t){var e=this.end-this.start,i=this.start+e*t,s=this.end+e*t;this.start=i,this.end=s},s.prototype.moveTo=function(t){var e=(this.start+this.end)/2,i=e-t,s=this.start-i,o=this.end-i;this.setRange(s,o)},t.exports=s},function(t,e){var i=.001;e.orderByStart=function(t){t.sort(function(t,e){return t.data.start-e.data.start})},e.orderByEnd=function(t){t.sort(function(t,e){var i="end"in t.data?t.data.end:t.data.start,s="end"in e.data?e.data.end:e.data.start;return i-s})},e.stack=function(t,i,s){var o,n;if(s)for(o=0,n=t.length;n>o;o++)t[o].top=null;for(o=0,n=t.length;n>o;o++){var r=t[o];if(r.stack&&null===r.top){r.top=i.axis;do{for(var a=null,h=0,d=t.length;d>h;h++){var l=t[h];if(null!==l.top&&l!==r&&l.stack&&e.collision(r,l,i.item)){a=l;break}}null!=a&&(r.top=a.top+a.height+i.item.vertical)}while(a)}}},e.nostack=function(t,e,i){var s,o,n;for(s=0,o=t.length;o>s;s++)if(void 0!==t[s].data.subgroup){n=e.axis;for(var r in i)i.hasOwnProperty(r)&&1==i[r].visible&&i[r].indexe.left&&t.top-s.vertical+ie.top}},function(t,e,i){function s(t,e,i,o){this.current=new Date,this._start=new Date,this._end=new Date,this.autoScale=!0,this.scale=s.SCALE.DAY,this.step=1,this.setRange(t,e,i),this.switchedDay=!1,this.switchedMonth=!1,this.switchedYear=!1,this.hiddenDates=o,void 0===o&&(this.hiddenDates=[])}var o=i(43),n=i(14);s.SCALE={MILLISECOND:1,SECOND:2,MINUTE:3,HOUR:4,DAY:5,WEEKDAY:6,MONTH:7,YEAR:8},s.prototype.setRange=function(t,e,i){if(!(t instanceof Date&&e instanceof Date))throw"No legal start or end date in method setRange";this._start=void 0!=t?new Date(t.valueOf()):new Date,this._end=void 0!=e?new Date(e.valueOf()):new Date,this.autoScale&&this.setMinimumStep(i)},s.prototype.first=function(){this.current=new Date(this._start.valueOf()),this.roundToMinor()},s.prototype.roundToMinor=function(){switch(this.scale){case s.SCALE.YEAR:this.current.setFullYear(this.step*Math.floor(this.current.getFullYear()/this.step)),this.current.setMonth(0);case s.SCALE.MONTH:this.current.setDate(1);case s.SCALE.DAY:case s.SCALE.WEEKDAY:this.current.setHours(0);case s.SCALE.HOUR:this.current.setMinutes(0);case s.SCALE.MINUTE:this.current.setSeconds(0);case s.SCALE.SECOND:this.current.setMilliseconds(0)}if(1!=this.step)switch(this.scale){case s.SCALE.MILLISECOND:this.current.setMilliseconds(this.current.getMilliseconds()-this.current.getMilliseconds()%this.step);break;case s.SCALE.SECOND:this.current.setSeconds(this.current.getSeconds()-this.current.getSeconds()%this.step);break;case s.SCALE.MINUTE:this.current.setMinutes(this.current.getMinutes()-this.current.getMinutes()%this.step);break;case s.SCALE.HOUR:this.current.setHours(this.current.getHours()-this.current.getHours()%this.step);break;case s.SCALE.WEEKDAY:case s.SCALE.DAY:this.current.setDate(this.current.getDate()-1-(this.current.getDate()-1)%this.step+1);break;case s.SCALE.MONTH:this.current.setMonth(this.current.getMonth()-this.current.getMonth()%this.step);break;case s.SCALE.YEAR:this.current.setFullYear(this.current.getFullYear()-this.current.getFullYear()%this.step)}},s.prototype.hasNext=function(){return this.current.valueOf()<=this._end.valueOf()},s.prototype.next=function(){var t=this.current.valueOf();if(this.current.getMonth()<6)switch(this.scale){case s.SCALE.MILLISECOND:this.current=new Date(this.current.valueOf()+this.step);break;case s.SCALE.SECOND:this.current=new Date(this.current.valueOf()+1e3*this.step);break;case s.SCALE.MINUTE:this.current=new Date(this.current.valueOf()+1e3*this.step*60);break;case s.SCALE.HOUR:this.current=new Date(this.current.valueOf()+1e3*this.step*60*60);var e=this.current.getHours();this.current.setHours(e-e%this.step);break;case s.SCALE.WEEKDAY:case s.SCALE.DAY:this.current.setDate(this.current.getDate()+this.step);break;case s.SCALE.MONTH:this.current.setMonth(this.current.getMonth()+this.step);break;case s.SCALE.YEAR:this.current.setFullYear(this.current.getFullYear()+this.step)}else switch(this.scale){case s.SCALE.MILLISECOND:this.current=new Date(this.current.valueOf()+this.step);break;case s.SCALE.SECOND:this.current.setSeconds(this.current.getSeconds()+this.step);break;case s.SCALE.MINUTE:this.current.setMinutes(this.current.getMinutes()+this.step);break;case s.SCALE.HOUR:this.current.setHours(this.current.getHours()+this.step);break;case s.SCALE.WEEKDAY:case s.SCALE.DAY:this.current.setDate(this.current.getDate()+this.step);break;case s.SCALE.MONTH:this.current.setMonth(this.current.getMonth()+this.step);break;case s.SCALE.YEAR:this.current.setFullYear(this.current.getFullYear()+this.step)}if(1!=this.step)switch(this.scale){case s.SCALE.MILLISECOND:this.current.getMilliseconds()0&&(this.step=e),this.autoScale=!1},s.prototype.setAutoScale=function(t){this.autoScale=t},s.prototype.setMinimumStep=function(t){if(void 0!=t){var e=31104e6,i=2592e6,o=864e5,n=36e5,r=6e4,a=1e3,h=1;1e3*e>t&&(this.scale=s.SCALE.YEAR,this.step=1e3),500*e>t&&(this.scale=s.SCALE.YEAR,this.step=500),100*e>t&&(this.scale=s.SCALE.YEAR,this.step=100),50*e>t&&(this.scale=s.SCALE.YEAR,this.step=50),10*e>t&&(this.scale=s.SCALE.YEAR,this.step=10),5*e>t&&(this.scale=s.SCALE.YEAR,this.step=5),e>t&&(this.scale=s.SCALE.YEAR,this.step=1),3*i>t&&(this.scale=s.SCALE.MONTH,this.step=3),i>t&&(this.scale=s.SCALE.MONTH,this.step=1),5*o>t&&(this.scale=s.SCALE.DAY,this.step=5),2*o>t&&(this.scale=s.SCALE.DAY,this.step=2),o>t&&(this.scale=s.SCALE.DAY,this.step=1),o/2>t&&(this.scale=s.SCALE.WEEKDAY,this.step=1),4*n>t&&(this.scale=s.SCALE.HOUR,this.step=4),n>t&&(this.scale=s.SCALE.HOUR,this.step=1),15*r>t&&(this.scale=s.SCALE.MINUTE,this.step=15),10*r>t&&(this.scale=s.SCALE.MINUTE,this.step=10),5*r>t&&(this.scale=s.SCALE.MINUTE,this.step=5),r>t&&(this.scale=s.SCALE.MINUTE,this.step=1),15*a>t&&(this.scale=s.SCALE.SECOND,this.step=15),10*a>t&&(this.scale=s.SCALE.SECOND,this.step=10),5*a>t&&(this.scale=s.SCALE.SECOND,this.step=5),a>t&&(this.scale=s.SCALE.SECOND,this.step=1),200*h>t&&(this.scale=s.SCALE.MILLISECOND,this.step=200),100*h>t&&(this.scale=s.SCALE.MILLISECOND,this.step=100),50*h>t&&(this.scale=s.SCALE.MILLISECOND,this.step=50),10*h>t&&(this.scale=s.SCALE.MILLISECOND,this.step=10),5*h>t&&(this.scale=s.SCALE.MILLISECOND,this.step=5),h>t&&(this.scale=s.SCALE.MILLISECOND,this.step=1)}},s.prototype.snap=function(t){var e=new Date(t.valueOf());if(this.scale==s.SCALE.YEAR){var i=e.getFullYear()+Math.round(e.getMonth()/12);e.setFullYear(Math.round(i/this.step)*this.step),e.setMonth(0),e.setDate(0),e.setHours(0),e.setMinutes(0),e.setSeconds(0),e.setMilliseconds(0)}else if(this.scale==s.SCALE.MONTH)e.getDate()>15?(e.setDate(1),e.setMonth(e.getMonth()+1)):e.setDate(1),e.setHours(0),e.setMinutes(0),e.setSeconds(0),e.setMilliseconds(0);else if(this.scale==s.SCALE.DAY){switch(this.step){case 5:case 2:e.setHours(24*Math.round(e.getHours()/24));break;default:e.setHours(12*Math.round(e.getHours()/12))}e.setMinutes(0),e.setSeconds(0),e.setMilliseconds(0)}else if(this.scale==s.SCALE.WEEKDAY){switch(this.step){case 5:case 2:e.setHours(12*Math.round(e.getHours()/12));break;default:e.setHours(6*Math.round(e.getHours()/6))}e.setMinutes(0),e.setSeconds(0),e.setMilliseconds(0)}else if(this.scale==s.SCALE.HOUR){switch(this.step){case 4:e.setMinutes(60*Math.round(e.getMinutes()/60));break;default:e.setMinutes(30*Math.round(e.getMinutes()/30))}e.setSeconds(0),e.setMilliseconds(0)}else if(this.scale==s.SCALE.MINUTE){switch(this.step){case 15:case 10:e.setMinutes(5*Math.round(e.getMinutes()/5)),e.setSeconds(0);break;case 5:e.setSeconds(60*Math.round(e.getSeconds()/60));break;default:e.setSeconds(30*Math.round(e.getSeconds()/30))}e.setMilliseconds(0)}else if(this.scale==s.SCALE.SECOND)switch(this.step){case 15:case 10:e.setSeconds(5*Math.round(e.getSeconds()/5)),e.setMilliseconds(0);break;case 5:e.setMilliseconds(1e3*Math.round(e.getMilliseconds()/1e3));break;default:e.setMilliseconds(500*Math.round(e.getMilliseconds()/500))}else if(this.scale==s.SCALE.MILLISECOND){var o=this.step>5?this.step/2:1;e.setMilliseconds(Math.round(e.getMilliseconds()/o)*o)}return e},s.prototype.isMajor=function(){if(1==this.switchedYear)switch(this.switchedYear=!1,this.scale){case s.SCALE.YEAR:case s.SCALE.MONTH:case s.SCALE.WEEKDAY:case s.SCALE.DAY:case s.SCALE.HOUR:case s.SCALE.MINUTE:case s.SCALE.SECOND:case s.SCALE.MILLISECOND:return!0;default:return!1}else if(1==this.switchedMonth)switch(this.switchedMonth=!1,this.scale){case s.SCALE.WEEKDAY:case s.SCALE.DAY:case s.SCALE.HOUR:case s.SCALE.MINUTE:case s.SCALE.SECOND:case s.SCALE.MILLISECOND:return!0;default:return!1}else if(1==this.switchedDay)switch(this.switchedDay=!1,this.scale){case s.SCALE.MILLISECOND:case s.SCALE.SECOND:case s.SCALE.MINUTE:case s.SCALE.HOUR:return!0;default:return!1}switch(this.scale){case s.SCALE.MILLISECOND:return 0==this.current.getMilliseconds();case s.SCALE.SECOND:return 0==this.current.getSeconds();case s.SCALE.MINUTE:return 0==this.current.getHours()&&0==this.current.getMinutes();case s.SCALE.HOUR:return 0==this.current.getHours();case s.SCALE.WEEKDAY:case s.SCALE.DAY:return 1==this.current.getDate();case s.SCALE.MONTH:return 0==this.current.getMonth();case s.SCALE.YEAR:return!1;default:return!1}},s.prototype.getLabelMinor=function(t){switch(void 0==t&&(t=this.current),this.scale){case s.SCALE.MILLISECOND:return o(t).format("SSS");case s.SCALE.SECOND:return o(t).format("s");case s.SCALE.MINUTE:return o(t).format("HH:mm");case s.SCALE.HOUR:return o(t).format("HH:mm");case s.SCALE.WEEKDAY:return o(t).format("ddd D");case s.SCALE.DAY:return o(t).format("D");case s.SCALE.MONTH:return o(t).format("MMM");case s.SCALE.YEAR:return o(t).format("YYYY");default:return""}},s.prototype.getLabelMajor=function(t){switch(void 0==t&&(t=this.current),this.scale){case s.SCALE.MILLISECOND:return o(t).format("HH:mm:ss");case s.SCALE.SECOND:return o(t).format("D MMMM HH:mm");case s.SCALE.MINUTE:case s.SCALE.HOUR:return o(t).format("ddd D MMMM");case s.SCALE.WEEKDAY:case s.SCALE.DAY:return o(t).format("MMMM YYYY");case s.SCALE.MONTH:return o(t).format("YYYY");case s.SCALE.YEAR:return"";default:return""}},t.exports=s},function(t){function e(){this.options=null,this.props=null}e.prototype.setOptions=function(t){t&&util.extend(this.options,t)},e.prototype.redraw=function(){return!1},e.prototype.destroy=function(){},e.prototype._isResized=function(){var t=this.props._previousWidth!==this.props.width||this.props._previousHeight!==this.props.height;return this.props._previousWidth=this.props.width,this.props._previousHeight=this.props.height,t},t.exports=e},function(t,e,i){function s(t,e){this.body=t,this.defaultOptions={showCurrentTime:!0,locales:a,locale:"en"},this.options=o.extend({},this.defaultOptions),this.offset=0,this._create(),this.setOptions(e)}var o=i(1),n=i(19),r=i(43),a=i(48);s.prototype=new n,s.prototype._create=function(){var t=document.createElement("div");t.className="currenttime",t.style.position="absolute",t.style.top="0px",t.style.height="100%",this.bar=t},s.prototype.destroy=function(){this.options.showCurrentTime=!1,this.redraw(),this.body=null},s.prototype.setOptions=function(t){t&&o.selectiveExtend(["showCurrentTime","locale","locales"],this.options,t)},s.prototype.redraw=function(){if(this.options.showCurrentTime){var t=this.body.dom.backgroundVertical;this.bar.parentNode!=t&&(this.bar.parentNode&&this.bar.parentNode.removeChild(this.bar),t.appendChild(this.bar),this.start());var e=new Date((new Date).valueOf()+this.offset),i=this.body.util.toScreen(e),s=this.options.locales[this.options.locale],o=s.current+" "+s.time+": "+r(e).format("dddd, MMMM Do YYYY, H:mm:ss");o=o.charAt(0).toUpperCase()+o.substring(1),this.bar.style.left=i+"px",this.bar.title=o}else this.bar.parentNode&&this.bar.parentNode.removeChild(this.bar),this.stop();return!1},s.prototype.start=function(){function t(){e.stop();var i=e.body.range.conversion(e.body.domProps.center.width).scale,s=1/i/10;30>s&&(s=30),s>1e3&&(s=1e3),e.redraw(),e.currentTimeTimer=setTimeout(t,s)}var e=this;t()},s.prototype.stop=function(){void 0!==this.currentTimeTimer&&(clearTimeout(this.currentTimeTimer),delete this.currentTimeTimer)},s.prototype.setCurrentTime=function(t){var e=o.convert(t,"Date").valueOf(),i=(new Date).valueOf();this.offset=e-i,this.redraw()},s.prototype.getCurrentTime=function(){return new Date((new Date).valueOf()+this.offset)},t.exports=s},function(t,e,i){function s(t,e){this.body=t,this.defaultOptions={showCustomTime:!1,locales:h,locale:"en"},this.options=n.extend({},this.defaultOptions),this.customTime=new Date,this.eventParams={},this._create(),this.setOptions(e)}var o=i(44),n=i(1),r=i(19),a=i(43),h=i(48);s.prototype=new r,s.prototype.setOptions=function(t){t&&n.selectiveExtend(["showCustomTime","locale","locales"],this.options,t)},s.prototype._create=function(){var t=document.createElement("div");t.className="customtime",t.style.position="absolute",t.style.top="0px",t.style.height="100%",this.bar=t;var e=document.createElement("div");e.style.position="relative",e.style.top="0px",e.style.left="-10px",e.style.height="100%",e.style.width="20px",t.appendChild(e),this.hammer=o(t,{prevent_default:!0}),this.hammer.on("dragstart",this._onDragStart.bind(this)),this.hammer.on("drag",this._onDrag.bind(this)),this.hammer.on("dragend",this._onDragEnd.bind(this))},s.prototype.destroy=function(){this.options.showCustomTime=!1,this.redraw(),this.hammer.enable(!1),this.hammer=null,this.body=null},s.prototype.redraw=function(){if(this.options.showCustomTime){var t=this.body.dom.backgroundVertical;this.bar.parentNode!=t&&(this.bar.parentNode&&this.bar.parentNode.removeChild(this.bar),t.appendChild(this.bar));var e=this.body.util.toScreen(this.customTime),i=this.options.locales[this.options.locale],s=i.time+": "+a(this.customTime).format("dddd, MMMM Do YYYY, H:mm:ss");s=s.charAt(0).toUpperCase()+s.substring(1),this.bar.style.left=e+"px",this.bar.title=s}else this.bar.parentNode&&this.bar.parentNode.removeChild(this.bar);return!1},s.prototype.setCustomTime=function(t){this.customTime=n.convert(t,"Date"),this.redraw()},s.prototype.getCustomTime=function(){return new Date(this.customTime.valueOf())},s.prototype._onDragStart=function(t){this.eventParams.dragging=!0,this.eventParams.customTime=this.customTime,t.stopPropagation(),t.preventDefault()},s.prototype._onDrag=function(t){if(this.eventParams.dragging){var e=t.gesture.deltaX,i=this.body.util.toScreen(this.eventParams.customTime)+e,s=this.body.util.toTime(i);this.setCustomTime(s),this.body.emitter.emit("timechange",{time:new Date(this.customTime.valueOf())}),t.stopPropagation(),t.preventDefault()}},s.prototype._onDragEnd=function(t){this.eventParams.dragging&&(this.body.emitter.emit("timechanged",{time:new Date(this.customTime.valueOf())}),t.stopPropagation(),t.preventDefault())},t.exports=s},function(t,e,i){function s(t,e,i,s){this.id=o.randomUUID(),this.body=t,this.defaultOptions={orientation:"left",showMinorLabels:!0,showMajorLabels:!0,icons:!0,majorLinesOffset:7,minorLinesOffset:4,labelOffsetX:10,labelOffsetY:2,iconWidth:20,width:"40px",visible:!0,customRange:{left:{min:void 0,max:void 0},right:{min:void 0,max:void 0}}},this.linegraphOptions=s,this.linegraphSVG=i,this.props={},this.DOMelements={lines:{},labels:{}},this.dom={},this.range={start:0,end:0},this.options=o.extend({},this.defaultOptions),this.conversionFactor=1,this.setOptions(e),this.width=Number((""+this.options.width).replace("px","")),this.minWidth=this.width,this.height=this.linegraphSVG.offsetHeight,this.stepPixels=25,this.stepPixelsForced=25,this.lineOffset=0,this.master=!0,this.svgElements={},this.groups={},this.amountOfGroups=0,this._create()}var o=i(1),n=i(2),r=i(19),a=i(15);s.prototype=new r,s.prototype.addGroup=function(t,e){this.groups.hasOwnProperty(t)||(this.groups[t]=e),this.amountOfGroups+=1},s.prototype.updateGroup=function(t,e){this.groups[t]=e},s.prototype.removeGroup=function(t){this.groups.hasOwnProperty(t)&&(delete this.groups[t],this.amountOfGroups-=1)},s.prototype.setOptions=function(t){if(t){var e=!1;this.options.orientation!=t.orientation&&void 0!==t.orientation&&(e=!0);var i=["orientation","showMinorLabels","showMajorLabels","icons","majorLinesOffset","minorLinesOffset","labelOffsetX","labelOffsetY","iconWidth","width","visible","customRange"];o.selectiveExtend(i,this.options,t),this.minWidth=Number((""+this.options.width).replace("px","")),1==e&&this.dom.frame&&(this.hide(),this.show())}},s.prototype._create=function(){this.dom.frame=document.createElement("div"),this.dom.frame.style.width=this.options.width,this.dom.frame.style.height=this.height,this.dom.lineContainer=document.createElement("div"),this.dom.lineContainer.style.width="100%",this.dom.lineContainer.style.height=this.height,this.svg=document.createElementNS("http://www.w3.org/2000/svg","svg"),this.svg.style.position="absolute",this.svg.style.top="0px",this.svg.style.height="100%",this.svg.style.width="100%",this.svg.style.display="block",this.dom.frame.appendChild(this.svg)},s.prototype._redrawGroupIcons=function(){n.prepareElements(this.svgElements);var t,e=this.options.iconWidth,i=15,s=4,o=s+.5*i;t="left"==this.options.orientation?s:this.width-e-s;for(var r in this.groups)this.groups.hasOwnProperty(r)&&(1!=this.groups[r].visible||void 0!==this.linegraphOptions.visibility[r]&&1!=this.linegraphOptions.visibility[r]||(this.groups[r].drawIcon(t,o,this.svgElements,this.svg,e,i),o+=i+s));n.cleanupElements(this.svgElements)},s.prototype.show=function(){this.dom.frame.parentNode||("left"==this.options.orientation?this.body.dom.left.appendChild(this.dom.frame):this.body.dom.right.appendChild(this.dom.frame)),this.dom.lineContainer.parentNode||this.body.dom.backgroundHorizontal.appendChild(this.dom.lineContainer)},s.prototype.hide=function(){this.dom.frame.parentNode&&this.dom.frame.parentNode.removeChild(this.dom.frame),this.dom.lineContainer.parentNode&&this.dom.lineContainer.parentNode.removeChild(this.dom.lineContainer)},s.prototype.setRange=function(t,e){this.range.start=t,this.range.end=e},s.prototype.redraw=function(){var t=!1,e=0;for(var i in this.groups)this.groups.hasOwnProperty(i)&&(1!=this.groups[i].visible||void 0!==this.linegraphOptions.visibility[i]&&1!=this.linegraphOptions.visibility[i]||e++);if(0==this.amountOfGroups||0==e)this.hide();else{this.show(),this.height=Number(this.linegraphSVG.style.height.replace("px","")),this.dom.lineContainer.style.height=this.height+"px",this.width=1==this.options.visible?Number((""+this.options.width).replace("px","")):0;var s=this.props,o=this.dom.frame;o.className="dataaxis",this._calculateCharSize();var n=this.options.orientation,r=this.options.showMinorLabels,a=this.options.showMajorLabels;s.minorLabelHeight=r?s.minorCharHeight:0,s.majorLabelHeight=a?s.majorCharHeight:0,s.minorLineWidth=this.body.dom.backgroundHorizontal.offsetWidth-this.lineOffset-this.width+2*this.options.minorLinesOffset,s.minorLineHeight=1,s.majorLineWidth=this.body.dom.backgroundHorizontal.offsetWidth-this.lineOffset-this.width+2*this.options.majorLinesOffset,s.majorLineHeight=1,"left"==n?(o.style.top="0",o.style.left="0",o.style.bottom="",o.style.width=this.width+"px",o.style.height=this.height+"px"):(o.style.top="",o.style.bottom="0",o.style.left="0",o.style.width=this.width+"px",o.style.height=this.height+"px"),t=this._redrawLabels(),1==this.options.icons&&this._redrawGroupIcons()}return t},s.prototype._redrawLabels=function(){n.prepareElements(this.DOMelements.lines),n.prepareElements(this.DOMelements.labels);var t=this.options.orientation,e=this.master?this.props.majorCharHeight||10:this.stepPixelsForced,i=new a(this.range.start,this.range.end,e,this.dom.frame.offsetHeight,this.options.customRange[this.options.orientation]);this.step=i;var s=(this.dom.frame.offsetHeight-i.deadSpace*(this.dom.frame.offsetHeight/i.marginRange))/((i.marginRange-i.deadSpace)/i.step);this.stepPixels=s;var o=this.height/s,r=0;if(0==this.master){s=this.stepPixelsForced,r=Math.round(this.dom.frame.offsetHeight/s-o);for(var h=0;.5*r>h;h++)i.previous();o=this.height/s}else o+=.25;this.valueAtZero=i.marginEnd;var d=0,l=1;this.maxLabelSize=0;for(var c=0;l=0&&this._redrawLabel(c-2,i.getCurrent(),t,"yAxis major",this.props.majorCharHeight),this._redrawLine(c,t,"grid horizontal major",this.options.majorLinesOffset,this.props.majorLineWidth)):this._redrawLine(c,t,"grid horizontal minor",this.options.minorLinesOffset,this.props.minorLineWidth),l++}this.conversionFactor=0==this.master?c/(this.valueAtZero-i.current):this.dom.frame.offsetHeight/i.marginRange;var u=1==this.options.icons?this.options.iconWidth+this.options.labelOffsetX+15:this.options.labelOffsetX+15;return this.maxLabelSize>this.width-u&&1==this.options.visible?(this.width=this.maxLabelSize+u,this.options.width=this.width+"px",n.cleanupElements(this.DOMelements.lines),n.cleanupElements(this.DOMelements.labels),this.redraw(),!0):this.maxLabelSizethis.minWidth?(this.width=Math.max(this.minWidth,this.maxLabelSize+u),this.options.width=this.width+"px",n.cleanupElements(this.DOMelements.lines),n.cleanupElements(this.DOMelements.labels),this.redraw(),!0):(n.cleanupElements(this.DOMelements.lines),n.cleanupElements(this.DOMelements.labels),!1)},s.prototype.convertValue=function(t){var e=this.valueAtZero-t,i=e*this.conversionFactor;return i},s.prototype._redrawLabel=function(t,e,i,s,o){var r=n.getDOMElement("div",this.DOMelements.labels,this.dom.frame);r.className=s,r.innerHTML=e,"left"==i?(r.style.left="-"+this.options.labelOffsetX+"px",r.style.textAlign="right"):(r.style.right="-"+this.options.labelOffsetX+"px",r.style.textAlign="left"),r.style.top=t-.5*o+this.options.labelOffsetY+"px",e+="";var a=Math.max(this.props.majorCharWidth,this.props.minorCharWidth);this.maxLabelSized;d++){var c=this.visibleItems[d];c.repositionY(e)}return s},s.prototype._calculateHeight=function(t){var e,i=this.visibleItems;this.resetSubgroups();var s=this;if(i.length){var n=i[0].top,r=i[0].top+i[0].height;if(o.forEach(i,function(t){n=Math.min(n,t.top),r=Math.max(r,t.top+t.height),void 0!==t.data.subgroup&&(s.subgroups[t.data.subgroup].height=Math.max(s.subgroups[t.data.subgroup].height,t.height),s.subgroups[t.data.subgroup].visible=!0)}),n>t.axis){var a=n-t.axis;r-=a,o.forEach(i,function(t){t.top-=a})}e=r+t.item.vertical/2}else e=t.axis+t.item.vertical;return e=Math.max(e,this.props.label.height)},s.prototype.show=function(){this.dom.label.parentNode||this.itemSet.dom.labelSet.appendChild(this.dom.label),this.dom.foreground.parentNode||this.itemSet.dom.foreground.appendChild(this.dom.foreground),this.dom.background.parentNode||this.itemSet.dom.background.appendChild(this.dom.background),this.dom.axis.parentNode||this.itemSet.dom.axis.appendChild(this.dom.axis)},s.prototype.hide=function(){var t=this.dom.label;t.parentNode&&t.parentNode.removeChild(t);var e=this.dom.foreground;e.parentNode&&e.parentNode.removeChild(e);var i=this.dom.background;i.parentNode&&i.parentNode.removeChild(i);var s=this.dom.axis;s.parentNode&&s.parentNode.removeChild(s)},s.prototype.add=function(t){if(this.items[t.id]=t,t.setParent(this),void 0!==t.data.subgroup&&(void 0===this.subgroups[t.data.subgroup]&&(this.subgroups[t.data.subgroup]={height:0,visible:!1,index:this.subgroupIndex,items:[]},this.subgroupIndex++),this.subgroups[t.data.subgroup].items.push(t)),this.orderSubgroups(),-1==this.visibleItems.indexOf(t)){var e=this.itemSet.body.range;this._checkIfVisible(t,this.visibleItems,e)}},s.prototype.orderSubgroups=function(){if(void 0!==this.subgroupOrderer){var t=[];if("string"==typeof this.subgroupOrderer){for(var e in this.subgroups)t.push({subgroup:e,sortField:this.subgroups[e].items[0].data[this.subgroupOrderer]});t.sort(function(t,e){return t.sortField-e.sortField})}else if("function"==typeof this.subgroupOrderer){for(var e in this.subgroups)t.push(this.subgroups[e].items[0].data);t.sort(this.subgroupOrderer)}if(t.length>0)for(var i=0;i0)for(n=0;n=0&&!this._checkIfInvisible(t.byStart[n],r,i);n--);for(n=s+1;n=0&&!this._checkIfInvisible(t.byEnd[n],r,i);n--);for(n=a+1;ns;s++){var n=this.visibleItems[s];n.repositionY(e)}return i},s.prototype.show=function(){this.dom.background.parentNode||this.itemSet.dom.background.appendChild(this.dom.background)},t.exports=s},function(t,e,i){function s(t,e){this.body=t,this.defaultOptions={type:null,orientation:"bottom",align:"auto",stack:!0,groupOrder:null,selectable:!0,editable:{updateTime:!1,updateGroup:!1,add:!1,remove:!1},onAdd:function(t,e){e(t)},onUpdate:function(t,e){e(t)},onMove:function(t,e){e(t)},onRemove:function(t,e){e(t)},onMoving:function(t,e){e(t)},margin:{item:{horizontal:10,vertical:10},axis:20},padding:5},this.options=n.extend({},this.defaultOptions),this.itemOptions={type:{start:"Date",end:"Date"}},this.conversion={toScreen:t.util.toScreen,toTime:t.util.toTime},this.dom={},this.props={},this.hammer=null;var i=this;this.itemsData=null,this.groupsData=null,this.itemListeners={add:function(t,e){i._onAdd(e.items)},update:function(t,e){i._onUpdate(e.items)},remove:function(t,e){i._onRemove(e.items)}},this.groupListeners={add:function(t,e){i._onAddGroups(e.items)},update:function(t,e){i._onUpdateGroups(e.items)},remove:function(t,e){i._onRemoveGroups(e.items)}},this.items={},this.groups={},this.groupIds=[],this.selection=[],this.stackDirty=!0,this.touchParams={},this._create(),this.setOptions(e)}var o=i(44),n=i(1),r=i(3),a=i(4),h=i(19),d=i(24),l=i(25),c=i(32),p=i(33),u=i(34),f=i(31),m="__ungrouped__",g="__background__";s.prototype=new h,s.types={background:f,box:c,range:u,point:p},s.prototype._create=function(){var t=document.createElement("div");t.className="itemset",t["timeline-itemset"]=this,this.dom.frame=t;var e=document.createElement("div");e.className="background",t.appendChild(e),this.dom.background=e;var i=document.createElement("div");i.className="foreground",t.appendChild(i),this.dom.foreground=i;var s=document.createElement("div");s.className="axis",this.dom.axis=s;var n=document.createElement("div");n.className="labelset",this.dom.labelSet=n,this._updateUngrouped();var r=new l(g,null,this);r.show(),this.groups[g]=r,this.hammer=o(this.body.dom.centerContainer,{prevent_default:!0}),this.hammer.on("touch",this._onTouch.bind(this)),this.hammer.on("dragstart",this._onDragStart.bind(this)),this.hammer.on("drag",this._onDrag.bind(this)),this.hammer.on("dragend",this._onDragEnd.bind(this)),this.hammer.on("tap",this._onSelectItem.bind(this)),this.hammer.on("hold",this._onMultiSelectItem.bind(this)),this.hammer.on("doubletap",this._onAddItem.bind(this)),this.show()},s.prototype.setOptions=function(t){if(t){var e=["type","align","orientation","padding","stack","selectable","groupOrder","dataAttributes","template","hide"];n.selectiveExtend(e,this.options,t),"margin"in t&&("number"==typeof t.margin?(this.options.margin.axis=t.margin,this.options.margin.item.horizontal=t.margin,this.options.margin.item.vertical=t.margin):"object"==typeof t.margin&&(n.selectiveExtend(["axis"],this.options.margin,t.margin),"item"in t.margin&&("number"==typeof t.margin.item?(this.options.margin.item.horizontal=t.margin.item,this.options.margin.item.vertical=t.margin.item):"object"==typeof t.margin.item&&n.selectiveExtend(["horizontal","vertical"],this.options.margin.item,t.margin.item)))),"editable"in t&&("boolean"==typeof t.editable?(this.options.editable.updateTime=t.editable,this.options.editable.updateGroup=t.editable,this.options.editable.add=t.editable,this.options.editable.remove=t.editable):"object"==typeof t.editable&&n.selectiveExtend(["updateTime","updateGroup","add","remove"],this.options.editable,t.editable)); -var i=function(e){var i=t[e];if(i){if(!(i instanceof Function))throw new Error("option "+e+" must be a function "+e+"(item, callback)");this.options[e]=i}}.bind(this);["onAdd","onUpdate","onRemove","onMove","onMoving"].forEach(i),this.markDirty()}},s.prototype.markDirty=function(){this.groupIds=[],this.stackDirty=!0},s.prototype.destroy=function(){this.hide(),this.setItems(null),this.setGroups(null),this.hammer=null,this.body=null,this.conversion=null},s.prototype.hide=function(){this.dom.frame.parentNode&&this.dom.frame.parentNode.removeChild(this.dom.frame),this.dom.axis.parentNode&&this.dom.axis.parentNode.removeChild(this.dom.axis),this.dom.labelSet.parentNode&&this.dom.labelSet.parentNode.removeChild(this.dom.labelSet)},s.prototype.show=function(){this.dom.frame.parentNode||this.body.dom.center.appendChild(this.dom.frame),this.dom.axis.parentNode||this.body.dom.backgroundVertical.appendChild(this.dom.axis),this.dom.labelSet.parentNode||this.body.dom.left.appendChild(this.dom.labelSet)},s.prototype.setSelection=function(t){var e,i,s,o;for(void 0==t&&(t=[]),Array.isArray(t)||(t=[t]),e=0,i=this.selection.length;i>e;e++)s=this.selection[e],o=this.items[s],o&&o.unselect();for(this.selection=[],e=0,i=t.length;i>e;e++)s=t[e],o=this.items[s],o&&(this.selection.push(s),o.select())},s.prototype.getSelection=function(){return this.selection.concat([])},s.prototype.getVisibleItems=function(){var t=this.body.range.getRange(),e=this.body.util.toScreen(t.start),i=this.body.util.toScreen(t.end),s=[];for(var o in this.groups)if(this.groups.hasOwnProperty(o))for(var n=this.groups[o],r=n.visibleItems,a=0;ae&&s.push(h.id)}return s},s.prototype._deselect=function(t){for(var e=this.selection,i=0,s=e.length;s>i;i++)if(e[i]==t){e.splice(i,1);break}},s.prototype.redraw=function(){var t=this.options.margin,e=this.body.range,i=n.option.asSize,s=this.options,o=s.orientation,r=!1,a=this.dom.frame,h=s.editable.updateTime||s.editable.updateGroup;this.props.top=this.body.domProps.top.height+this.body.domProps.border.top,this.props.left=this.body.domProps.left.width+this.body.domProps.border.left,a.className="itemset"+(h?" editable":""),r=this._orderGroups()||r;var d=e.end-e.start,l=d!=this.lastVisibleInterval||this.props.width!=this.props.lastWidth;l&&(this.stackDirty=!0),this.lastVisibleInterval=d,this.props.lastWidth=this.props.width;var c=this.stackDirty,p=this._firstGroup(),u={item:t.item,axis:t.axis},f={item:t.item,axis:t.item.vertical/2},m=0,v=t.axis+t.item.vertical;return this.groups[g].redraw(e,f,c),n.forEach(this.groups,function(t){var i=t==p?u:f,s=t.redraw(e,i,c);r=s||r,m+=t.height}),m=Math.max(m,v),this.stackDirty=!1,a.style.height=i(m),this.props.width=a.offsetWidth,this.props.height=m,this.dom.axis.style.top=i("top"==o?this.body.domProps.top.height+this.body.domProps.border.top:this.body.domProps.top.height+this.body.domProps.centerContainer.height),this.dom.axis.style.left="0",r=this._isResized()||r},s.prototype._firstGroup=function(){var t="top"==this.options.orientation?0:this.groupIds.length-1,e=this.groupIds[t],i=this.groups[e]||this.groups[m];return i||null},s.prototype._updateUngrouped=function(){{var t,e,i=this.groups[m];this.groups[g]}if(this.groupsData){if(i){i.hide(),delete this.groups[m];for(e in this.items)if(this.items.hasOwnProperty(e)){t=this.items[e],t.parent&&t.parent.remove(t);var s=this._getGroupId(t.data),o=this.groups[s];o&&o.add(t)||t.hide()}}}else if(!i){var n=null,r=null;i=new d(n,r,this),this.groups[m]=i;for(e in this.items)this.items.hasOwnProperty(e)&&(t=this.items[e],i.add(t));i.show()}},s.prototype.getLabelSet=function(){return this.dom.labelSet},s.prototype.setItems=function(t){var e,i=this,s=this.itemsData;if(t){if(!(t instanceof r||t instanceof a))throw new TypeError("Data must be an instance of DataSet or DataView");this.itemsData=t}else this.itemsData=null;if(s&&(n.forEach(this.itemListeners,function(t,e){s.off(e,t)}),e=s.getIds(),this._onRemove(e)),this.itemsData){var o=this.id;n.forEach(this.itemListeners,function(t,e){i.itemsData.on(e,t,o)}),e=this.itemsData.getIds(),this._onAdd(e),this._updateUngrouped()}},s.prototype.getItems=function(){return this.itemsData},s.prototype.setGroups=function(t){var e,i=this;if(this.groupsData&&(n.forEach(this.groupListeners,function(t,e){i.groupsData.unsubscribe(e,t)}),e=this.groupsData.getIds(),this.groupsData=null,this._onRemoveGroups(e)),t){if(!(t instanceof r||t instanceof a))throw new TypeError("Data must be an instance of DataSet or DataView");this.groupsData=t}else this.groupsData=null;if(this.groupsData){var s=this.id;n.forEach(this.groupListeners,function(t,e){i.groupsData.on(e,t,s)}),e=this.groupsData.getIds(),this._onAddGroups(e)}this._updateUngrouped(),this._order(),this.body.emitter.emit("change",{queue:!0})},s.prototype.getGroups=function(){return this.groupsData},s.prototype.removeItem=function(t){var e=this.itemsData.get(t),i=this.itemsData.getDataSet();e&&this.options.onRemove(e,function(e){e&&i.remove(t)})},s.prototype._getType=function(t){return t.type||this.options.type||(t.end?"range":"box")},s.prototype._getGroupId=function(t){var e=this._getType(t);return"background"==e&&void 0==t.group?g:this.groupsData?t.group:m},s.prototype._onUpdate=function(t){var e=this;t.forEach(function(t){var i=e.itemsData.get(t,e.itemOptions),o=e.items[t],n=e._getType(i),r=s.types[n];if(o&&(r&&o instanceof r?e._updateItem(o,i):(e._removeItem(o),o=null)),!o){if(!r)throw new TypeError("rangeoverflow"==n?'Item type "rangeoverflow" is deprecated. Use css styling instead: .vis.timeline .item.range .content {overflow: visible;}':'Unknown item type "'+n+'"');o=new r(i,e.conversion,e.options),o.id=t,e._addItem(o)}}),this._order(),this.stackDirty=!0,this.body.emitter.emit("change",{queue:!0})},s.prototype._onAdd=s.prototype._onUpdate,s.prototype._onRemove=function(t){var e=0,i=this;t.forEach(function(t){var s=i.items[t];s&&(e++,i._removeItem(s))}),e&&(this._order(),this.stackDirty=!0,this.body.emitter.emit("change",{queue:!0}))},s.prototype._order=function(){n.forEach(this.groups,function(t){t.order()})},s.prototype._onUpdateGroups=function(t){this._onAddGroups(t)},s.prototype._onAddGroups=function(t){var e=this;t.forEach(function(t){var i=e.groupsData.get(t),s=e.groups[t];if(s)s.setData(i);else{if(t==m||t==g)throw new Error("Illegal group id. "+t+" is a reserved id.");var o=Object.create(e.options);n.extend(o,{height:null}),s=new d(t,i,e),e.groups[t]=s;for(var r in e.items)if(e.items.hasOwnProperty(r)){var a=e.items[r];a.data.group==t&&s.add(a)}s.order(),s.show()}}),this.body.emitter.emit("change",{queue:!0})},s.prototype._onRemoveGroups=function(t){var e=this.groups;t.forEach(function(t){var i=e[t];i&&(i.hide(),delete e[t])}),this.markDirty(),this.body.emitter.emit("change",{queue:!0})},s.prototype._orderGroups=function(){if(this.groupsData){var t=this.groupsData.getIds({order:this.options.groupOrder}),e=!n.equalArray(t,this.groupIds);if(e){var i=this.groups;t.forEach(function(t){i[t].hide()}),t.forEach(function(t){i[t].show()}),this.groupIds=t}return e}return!1},s.prototype._addItem=function(t){this.items[t.id]=t;var e=this._getGroupId(t.data),i=this.groups[e];i&&i.add(t)},s.prototype._updateItem=function(t,e){var i=t.data.group;if(t.setData(e),i!=t.data.group){var s=this.groups[i];s&&s.remove(t);var o=this._getGroupId(t.data),n=this.groups[o];n&&n.add(t)}},s.prototype._removeItem=function(t){t.hide(),delete this.items[t.id];var e=this.selection.indexOf(t.id);-1!=e&&this.selection.splice(e,1),t.parent&&t.parent.remove(t)},s.prototype._constructByEndArray=function(t){for(var e=[],i=0;i0||o.length>0)&&this.body.emitter.emit("select",{items:this.getSelection()})}},s.prototype._onAddItem=function(t){if(this.options.selectable&&this.options.editable.add){var e=this,i=this.body.util.snap||null,o=s.itemFromTarget(t);if(o){var r=e.itemsData.get(o.id);this.options.onUpdate(r,function(t){t&&e.itemsData.update(t)})}else{var a=n.getAbsoluteLeft(this.dom.frame),h=t.gesture.center.pageX-a,d=this.body.util.toTime(h),l={start:i?i(d):d,content:"new item"};if("range"===this.options.type){var c=this.body.util.toTime(h+this.props.width/5);l.end=i?i(c):c}l[this.itemsData._fieldId]=n.randomUUID();var p=s.groupFromTarget(t);p&&(l.group=p.groupId),this.options.onAdd(l,function(t){t&&e.itemsData.add(t)})}}},s.prototype._onMultiSelectItem=function(t){if(this.options.selectable){var e,i=s.itemFromTarget(t);if(i){e=this.getSelection();var o=e.indexOf(i.id);-1==o?e.push(i.id):e.splice(o,1),this.setSelection(e),this.body.emitter.emit("select",{items:this.getSelection()})}}},s.itemFromTarget=function(t){for(var e=t.target;e;){if(e.hasOwnProperty("timeline-item"))return e["timeline-item"];e=e.parentNode}return null},s.groupFromTarget=function(t){for(var e=t.target;e;){if(e.hasOwnProperty("timeline-group"))return e["timeline-group"];e=e.parentNode}return null},s.itemSetFromTarget=function(t){for(var e=t.target;e;){if(e.hasOwnProperty("timeline-itemset"))return e["timeline-itemset"];e=e.parentNode}return null},t.exports=s},function(t,e,i){function s(t,e,i,s){this.body=t,this.defaultOptions={enabled:!0,icons:!0,iconSize:20,iconSpacing:6,left:{visible:!0,position:"top-left"},right:{visible:!0,position:"top-left"}},this.side=i,this.options=o.extend({},this.defaultOptions),this.linegraphOptions=s,this.svgElements={},this.dom={},this.groups={},this.amountOfGroups=0,this._create(),this.setOptions(e)}var o=i(1),n=i(2),r=i(19);s.prototype=new r,s.prototype.addGroup=function(t,e){this.groups.hasOwnProperty(t)||(this.groups[t]=e),this.amountOfGroups+=1},s.prototype.updateGroup=function(t,e){this.groups[t]=e},s.prototype.removeGroup=function(t){this.groups.hasOwnProperty(t)&&(delete this.groups[t],this.amountOfGroups-=1)},s.prototype._create=function(){this.dom.frame=document.createElement("div"),this.dom.frame.className="legend",this.dom.frame.style.position="absolute",this.dom.frame.style.top="10px",this.dom.frame.style.display="block",this.dom.textArea=document.createElement("div"),this.dom.textArea.className="legendText",this.dom.textArea.style.position="relative",this.dom.textArea.style.top="0px",this.svg=document.createElementNS("http://www.w3.org/2000/svg","svg"),this.svg.style.position="absolute",this.svg.style.top="0px",this.svg.style.width=this.options.iconSize+5+"px",this.svg.style.height="100%",this.dom.frame.appendChild(this.svg),this.dom.frame.appendChild(this.dom.textArea)},s.prototype.hide=function(){this.dom.frame.parentNode&&this.dom.frame.parentNode.removeChild(this.dom.frame)},s.prototype.show=function(){this.dom.frame.parentNode||this.body.dom.center.appendChild(this.dom.frame)},s.prototype.setOptions=function(t){var e=["enabled","orientation","icons","left","right"];o.selectiveDeepExtend(e,this.options,t)},s.prototype.redraw=function(){var t=0;for(var e in this.groups)this.groups.hasOwnProperty(e)&&(1!=this.groups[e].visible||void 0!==this.linegraphOptions.visibility[e]&&1!=this.linegraphOptions.visibility[e]||t++);if(0==this.options[this.side].visible||0==this.amountOfGroups||0==this.options.enabled||0==t)this.hide();else{this.show(),"top-left"==this.options[this.side].position||"bottom-left"==this.options[this.side].position?(this.dom.frame.style.left="4px",this.dom.frame.style.textAlign="left",this.dom.textArea.style.textAlign="left",this.dom.textArea.style.left=this.options.iconSize+15+"px",this.dom.textArea.style.right="",this.svg.style.left="0px",this.svg.style.right=""):(this.dom.frame.style.right="4px",this.dom.frame.style.textAlign="right",this.dom.textArea.style.textAlign="right",this.dom.textArea.style.right=this.options.iconSize+15+"px",this.dom.textArea.style.left="",this.svg.style.right="0px",this.svg.style.left=""),"top-left"==this.options[this.side].position||"top-right"==this.options[this.side].position?(this.dom.frame.style.top=4-Number(this.body.dom.center.style.top.replace("px",""))+"px",this.dom.frame.style.bottom=""):(this.dom.frame.style.bottom=4-Number(this.body.dom.center.style.top.replace("px",""))+"px",this.dom.frame.style.top=""),0==this.options.icons?(this.dom.frame.style.width=this.dom.textArea.offsetWidth+10+"px",this.dom.textArea.style.right="",this.dom.textArea.style.left="",this.svg.style.width="0px"):(this.dom.frame.style.width=this.options.iconSize+15+this.dom.textArea.offsetWidth+10+"px",this.drawLegendIcons());var i="";for(var e in this.groups)this.groups.hasOwnProperty(e)&&(1!=this.groups[e].visible||void 0!==this.linegraphOptions.visibility[e]&&1!=this.linegraphOptions.visibility[e]||(i+=this.groups[e].content+"
"));this.dom.textArea.innerHTML=i,this.dom.textArea.style.lineHeight=.75*this.options.iconSize+this.options.iconSpacing+"px"}},s.prototype.drawLegendIcons=function(){if(this.dom.frame.parentNode){n.prepareElements(this.svgElements);var t=window.getComputedStyle(this.dom.frame).paddingTop,e=Number(t.replace("px","")),i=e,s=this.options.iconSize,o=.75*this.options.iconSize,r=e+.5*o+3;this.svg.style.width=s+5+e+"px";for(var a in this.groups)this.groups.hasOwnProperty(a)&&(1!=this.groups[a].visible||void 0!==this.linegraphOptions.visibility[a]&&1!=this.linegraphOptions.visibility[a]||(this.groups[a].drawIcon(i,r,this.svgElements,this.svg,s,o),r+=o+this.options.iconSpacing));n.cleanupElements(this.svgElements)}},t.exports=s},function(t,e,i){function s(t,e){this.id=o.randomUUID(),this.body=t,this.defaultOptions={yAxisOrientation:"left",defaultGroup:"default",sort:!0,sampling:!0,graphHeight:"400px",shaded:{enabled:!1,orientation:"bottom"},style:"line",barChart:{width:50,handleOverlap:"overlap",align:"center"},catmullRom:{enabled:!0,parametrization:"centripetal",alpha:.5},drawPoints:{enabled:!0,size:6,style:"square"},dataAxis:{showMinorLabels:!0,showMajorLabels:!0,icons:!1,width:"40px",visible:!0,customRange:{left:{min:void 0,max:void 0},right:{min:void 0,max:void 0}}},legend:{enabled:!1,icons:!0,left:{visible:!0,position:"top-left"},right:{visible:!0,position:"top-right"}},groups:{visibility:{}}},this.options=o.extend({},this.defaultOptions),this.dom={},this.props={},this.hammer=null,this.groups={},this.abortedGraphUpdate=!1;var i=this;this.itemsData=null,this.groupsData=null,this.itemListeners={add:function(t,e){i._onAdd(e.items)},update:function(t,e){i._onUpdate(e.items)},remove:function(t,e){i._onRemove(e.items)}},this.groupListeners={add:function(t,e){i._onAddGroups(e.items)},update:function(t,e){i._onUpdateGroups(e.items)},remove:function(t,e){i._onRemoveGroups(e.items)}},this.items={},this.selection=[],this.lastStart=this.body.range.start,this.touchParams={},this.svgElements={},this.setOptions(e),this.groupsUsingDefaultStyles=[0],this.body.emitter.on("rangechanged",function(){i.lastStart=i.body.range.start,i.svg.style.left=o.option.asSize(-i.width),i._updateGraph.apply(i)}),this._create(),this.body.emitter.emit("change")}var o=i(1),n=i(2),r=i(3),a=i(4),h=i(19),d=i(22),l=i(23),c=i(27),p="__ungrouped__";s.prototype=new h,s.prototype._create=function(){var t=document.createElement("div");t.className="LineGraph",this.dom.frame=t,this.svg=document.createElementNS("http://www.w3.org/2000/svg","svg"),this.svg.style.position="relative",this.svg.style.height=(""+this.options.graphHeight).replace("px","")+"px",this.svg.style.display="block",t.appendChild(this.svg),this.options.dataAxis.orientation="left",this.yAxisLeft=new d(this.body,this.options.dataAxis,this.svg,this.options.groups),this.options.dataAxis.orientation="right",this.yAxisRight=new d(this.body,this.options.dataAxis,this.svg,this.options.groups),delete this.options.dataAxis.orientation,this.legendLeft=new c(this.body,this.options.legend,"left",this.options.groups),this.legendRight=new c(this.body,this.options.legend,"right",this.options.groups),this.show()},s.prototype.setOptions=function(t){if(t){var e=["sampling","defaultGroup","graphHeight","yAxisOrientation","style","barChart","dataAxis","sort","groups"];o.selectiveDeepExtend(e,this.options,t),o.mergeOptions(this.options,t,"catmullRom"),o.mergeOptions(this.options,t,"drawPoints"),o.mergeOptions(this.options,t,"shaded"),o.mergeOptions(this.options,t,"legend"),t.catmullRom&&"object"==typeof t.catmullRom&&t.catmullRom.parametrization&&("uniform"==t.catmullRom.parametrization?this.options.catmullRom.alpha=0:"chordal"==t.catmullRom.parametrization?this.options.catmullRom.alpha=1:(this.options.catmullRom.parametrization="centripetal",this.options.catmullRom.alpha=.5)),this.yAxisLeft&&void 0!==t.dataAxis&&(this.yAxisLeft.setOptions(this.options.dataAxis),this.yAxisRight.setOptions(this.options.dataAxis)),this.legendLeft&&void 0!==t.legend&&(this.legendLeft.setOptions(this.options.legend),this.legendRight.setOptions(this.options.legend)),this.groups.hasOwnProperty(p)&&this.groups[p].setOptions(t)}this.dom.frame&&this._updateGraph()},s.prototype.hide=function(){this.dom.frame.parentNode&&this.dom.frame.parentNode.removeChild(this.dom.frame)},s.prototype.show=function(){this.dom.frame.parentNode||this.body.dom.center.appendChild(this.dom.frame)},s.prototype.setItems=function(t){var e,i=this,s=this.itemsData;if(t){if(!(t instanceof r||t instanceof a))throw new TypeError("Data must be an instance of DataSet or DataView");this.itemsData=t}else this.itemsData=null;if(s&&(o.forEach(this.itemListeners,function(t,e){s.off(e,t)}),e=s.getIds(),this._onRemove(e)),this.itemsData){var n=this.id;o.forEach(this.itemListeners,function(t,e){i.itemsData.on(e,t,n)}),e=this.itemsData.getIds(),this._onAdd(e)}this._updateUngrouped(),this._updateGraph(),this.redraw()},s.prototype.setGroups=function(t){var e,i=this;if(this.groupsData&&(o.forEach(this.groupListeners,function(t,e){i.groupsData.unsubscribe(e,t)}),e=this.groupsData.getIds(),this.groupsData=null,this._onRemoveGroups(e)),t){if(!(t instanceof r||t instanceof a))throw new TypeError("Data must be an instance of DataSet or DataView");this.groupsData=t}else this.groupsData=null;if(this.groupsData){var s=this.id;o.forEach(this.groupListeners,function(t,e){i.groupsData.on(e,t,s)}),e=this.groupsData.getIds(),this._onAddGroups(e)}this._onUpdate()},s.prototype._onUpdate=function(){this._updateUngrouped(),this._updateAllGroupData(),this._updateGraph(),this.redraw()},s.prototype._onAdd=function(t){this._onUpdate(t)},s.prototype._onRemove=function(t){this._onUpdate(t)},s.prototype._onUpdateGroups=function(t){for(var e=0;e0){var d=this.body.util.toGlobalTime(-this.body.domProps.root.width),l=this.body.util.toGlobalTime(2*this.body.domProps.root.width),c={};for(this._getRelevantData(a,c,d,l),e=0;e0)for(r=0;rs){d.push(h);break}d.push(h)}}else for(a=0;ai&&h.x0)for(var s=0;s0){var n=1,r=o.length,a=this.body.util.toGlobalScreen(o[o.length-1].x)-this.body.util.toGlobalScreen(o[0].x),h=r/a;n=Math.min(Math.ceil(.2*r),Math.max(1,Math.round(h)));for(var d=[],l=0;r>l;l+=n)d.push(o[l]);e[t[s]]=d}}},s.prototype._getYRanges=function(t,e,i){var s,o,n,r,a,h=[],d=[];if(t.length>0){for(n=0;n0)if(o=this.groups[t[n]],"line"==o.options.style||"stack"!=o.options.barChart.handleOverlap){var l=s[0].y,c=s[0].y;for(r=0;rs[r].y?s[r].y:l,c=c0&&(h.sort(function(t,e){return t.x==e.x?t.groupId-e.groupId:t.x-e.x}),p={},this._getDataIntersections(p,h),i.__barchartLeft=this._getStackedBarYRange(p,h),i.__barchartLeft.yAxisOrientation="left",t.push("__barchartLeft")),d.length>0&&(d.sort(function(t,e){return t.x==e.x?t.groupId-e.groupId:t.x-e.x}),p={},this._getDataIntersections(p,d),i.__barchartRight=this._getStackedBarYRange(p,d),i.__barchartRight.yAxisOrientation="right",t.push("__barchartRight"))}},s.prototype._getStackedBarYRange=function(t,e){for(var i,s=e[0].y,o=e[0].y,n=0;ne[n].y?e[n].y:s,o=ot[r].accumulated?t[r].accumulated:s,o=o0){for(var c=0;ci?i:a,d=s>d?s:d):(r=!0,h=h>i?i:h,l=s>l?s:l));1==n&&this.yAxisLeft.setRange(a,d),1==r&&this.yAxisRight.setRange(h,l)}return o=this._toggleAxisVisiblity(n,this.yAxisLeft)||o,o=this._toggleAxisVisiblity(r,this.yAxisRight)||o,1==r&&1==n?(this.yAxisLeft.drawIcons=!0,this.yAxisRight.drawIcons=!0):(this.yAxisLeft.drawIcons=!1,this.yAxisRight.drawIcons=!1),this.yAxisRight.master=!n,0==this.yAxisRight.master?(this.yAxisLeft.lineOffset=1==r?this.yAxisRight.width:0,o=this.yAxisLeft.redraw()||o,this.yAxisRight.stepPixelsForced=this.yAxisLeft.stepPixels,o=this.yAxisRight.redraw()||o):o=this.yAxisRight.redraw()||o,-1!=t.indexOf("__barchartLeft")&&t.splice(t.indexOf("__barchartLeft"),1),-1!=t.indexOf("__barchartRight")&&t.splice(t.indexOf("__barchartRight"),1),o},s.prototype._toggleAxisVisiblity=function(t,e){var i=!1;return 0==t?e.dom.frame.parentNode&&(e.hide(),i=!0):e.dom.frame.parentNode||(e.show(),i=!0),i},s.prototype._drawBarGraphs=function(t,e){var i,s,o,r,a,h,d=[],l={},c=0;for(a=0;a0&&(i=Math.min(i,Math.abs(d[a-1].x-s))),o=this._getSafeDrawData(i,r,p);else{var f=a+(l[s].amount-l[s].resolved),m=a-(l[s].resolved+1);f0&&(i=Math.min(i,Math.abs(d[m].x-s))),o=this._getSafeDrawData(i,r,p),l[s].resolved+=1,"stack"==r.options.barChart.handleOverlap?(u=l[s].accumulated,l[s].accumulated+=r.zeroPosition-d[a].y):"sideBySide"==r.options.barChart.handleOverlap&&(o.width=o.width/l[s].amount,o.offset+=l[s].resolved*o.width-.5*o.width*(l[s].amount+1),"left"==r.options.barChart.align?o.offset-=.5*o.width:"right"==r.options.barChart.align&&(o.offset+=.5*o.width))}n.drawBar(d[a].x+o.offset,d[a].y-u,o.width,r.zeroPosition-d[a].y,r.className+" bar",this.svgElements,this.svg),1==r.options.drawPoints.enabled&&n.drawPoint(d[a].x+o.offset,d[a].y-u,r,this.svgElements,this.svg)}},s.prototype._getDataIntersections=function(t,e){for(var i,s=0;s0&&(i=Math.min(i,Math.abs(e[s-1].x-e[s].x))),0==i&&(void 0===t[e[s].x]&&(t[e[s].x]={amount:0,resolved:0,accumulated:0}),t[e[s].x].amount+=1)},s.prototype._getSafeDrawData=function(t,e,i){var s,o;return t0?(s=i>t?i:t,o=0,"left"==e.options.barChart.align?o-=.5*t:"right"==e.options.barChart.align&&(o+=.5*t)):(s=e.options.barChart.width,o=0,"left"==e.options.barChart.align?o-=.5*e.options.barChart.width:"right"==e.options.barChart.align&&(o+=.5*e.options.barChart.width)),{width:s,offset:o}},s.prototype._drawLineGraph=function(t,e){if(null!=t&&t.length>0){var i,s,o=Number(this.svg.style.height.replace("px",""));if(i=n.getSVGElement("path",this.svgElements,this.svg),i.setAttributeNS(null,"class",e.className),s=1==e.options.catmullRom.enabled?this._catmullRom(t,e):this._linear(t),1==e.options.shaded.enabled){var r,a=n.getSVGElement("path",this.svgElements,this.svg);r="top"==e.options.shaded.orientation?"M"+t[0].x+",0 "+s+"L"+t[t.length-1].x+",0":"M"+t[0].x+","+o+" "+s+"L"+t[t.length-1].x+","+o,a.setAttributeNS(null,"class",e.className+" fill"),a.setAttributeNS(null,"d",r)}i.setAttributeNS(null,"d","M"+s),1==e.options.drawPoints.enabled&&this._drawPoints(t,e,this.svgElements,this.svg) -}},s.prototype._drawPoints=function(t,e,i,s,o){void 0===o&&(o=0);for(var r=0;rl;l++)e=0==l?t[0]:t[l-1],i=t[l],s=t[l+1],o=d>l+2?t[l+2]:s,n={x:(-e.x+6*i.x+s.x)*h,y:(-e.y+6*i.y+s.y)*h},r={x:(i.x+6*s.x-o.x)*h,y:(i.y+6*s.y-o.y)*h},a+="C"+n.x+","+n.y+" "+r.x+","+r.y+" "+s.x+","+s.y+" ";return a},s.prototype._catmullRom=function(t,e){var i=e.options.catmullRom.alpha;if(0==i||void 0===i)return this._catmullRomUniform(t);for(var s,o,n,r,a,h,d,l,c,p,u,f,m,g,v,y,b,_,x,w=Math.round(t[0].x)+","+Math.round(t[0].y)+" ",S=t.length,D=0;S-1>D;D++)s=0==D?t[0]:t[D-1],o=t[D],n=t[D+1],r=S>D+2?t[D+2]:n,d=Math.sqrt(Math.pow(s.x-o.x,2)+Math.pow(s.y-o.y,2)),l=Math.sqrt(Math.pow(o.x-n.x,2)+Math.pow(o.y-n.y,2)),c=Math.sqrt(Math.pow(n.x-r.x,2)+Math.pow(n.y-r.y,2)),g=Math.pow(c,i),y=Math.pow(c,2*i),v=Math.pow(l,i),b=Math.pow(l,2*i),x=Math.pow(d,i),_=Math.pow(d,2*i),p=2*_+3*x*v+b,u=2*y+3*g*v+b,f=3*x*(x+v),f>0&&(f=1/f),m=3*g*(g+v),m>0&&(m=1/m),a={x:(-b*s.x+p*o.x+_*n.x)*f,y:(-b*s.y+p*o.y+_*n.y)*f},h={x:(y*o.x+u*n.x-b*r.x)*m,y:(y*o.y+u*n.y-b*r.y)*m},0==a.x&&0==a.y&&(a=o),0==h.x&&0==h.y&&(h=n),w+="C"+a.x+","+a.y+" "+h.x+","+h.y+" "+n.x+","+n.y+" ";return w},s.prototype._linear=function(t){for(var e="",i=0;ic;){c++;var p=h.getCurrent(),u=this.body.util.toScreen(p),f=h.isMajor();this.options.showMinorLabels&&this._repaintMinorText(u,h.getLabelMinor(),t),f&&this.options.showMajorLabels?(u>0&&(void 0==l&&(l=u),this._repaintMajorText(u,h.getLabelMajor(),t)),this._repaintMajorLine(u,t)):this._repaintMinorLine(u,t),h.next()}if(this.options.showMajorLabels){var m=this.body.util.toTime(0),g=h.getLabelMajor(m),v=g.length*(this.props.majorCharWidth||10)+10;(void 0==l||l>v)&&this._repaintMajorText(0,g,t)}o.forEach(this.dom.redundant,function(t){for(;t.length;){var e=t.pop();e&&e.parentNode&&e.parentNode.removeChild(e)}})},s.prototype._repaintMinorText=function(t,e,i){var s=this.dom.redundant.minorTexts.shift();if(!s){var o=document.createTextNode("");s=document.createElement("div"),s.appendChild(o),s.className="text minor",this.dom.foreground.appendChild(s)}this.dom.minorTexts.push(s),s.childNodes[0].nodeValue=e,s.style.top="top"==i?this.props.majorLabelHeight+"px":"0",s.style.left=t+"px"},s.prototype._repaintMajorText=function(t,e,i){var s=this.dom.redundant.majorTexts.shift();if(!s){var o=document.createTextNode(e);s=document.createElement("div"),s.className="text major",s.appendChild(o),this.dom.foreground.appendChild(s)}this.dom.majorTexts.push(s),s.childNodes[0].nodeValue=e,s.style.top="top"==i?"0":this.props.minorLabelHeight+"px",s.style.left=t+"px"},s.prototype._repaintMinorLine=function(t,e){var i=this.dom.redundant.minorLines.shift();i||(i=document.createElement("div"),i.className="grid vertical minor",this.dom.background.appendChild(i)),this.dom.minorLines.push(i);var s=this.props;i.style.top="top"==e?s.majorLabelHeight+"px":this.body.domProps.top.height+"px",i.style.height=s.minorLineHeight+"px",i.style.left=t-s.minorLineWidth/2+"px"},s.prototype._repaintMajorLine=function(t,e){var i=this.dom.redundant.majorLines.shift();i||(i=document.createElement("DIV"),i.className="grid vertical major",this.dom.background.appendChild(i)),this.dom.majorLines.push(i);var s=this.props;i.style.top="top"==e?"0":this.body.domProps.top.height+"px",i.style.left=t-s.majorLineWidth/2+"px",i.style.height=s.majorLineHeight+"px"},s.prototype._calculateCharSize=function(){this.dom.measureCharMinor||(this.dom.measureCharMinor=document.createElement("DIV"),this.dom.measureCharMinor.className="text minor measure",this.dom.measureCharMinor.style.position="absolute",this.dom.measureCharMinor.appendChild(document.createTextNode("0")),this.dom.foreground.appendChild(this.dom.measureCharMinor)),this.props.minorCharHeight=this.dom.measureCharMinor.clientHeight,this.props.minorCharWidth=this.dom.measureCharMinor.clientWidth,this.dom.measureCharMajor||(this.dom.measureCharMajor=document.createElement("DIV"),this.dom.measureCharMajor.className="text major measure",this.dom.measureCharMajor.style.position="absolute",this.dom.measureCharMajor.appendChild(document.createTextNode("0")),this.dom.foreground.appendChild(this.dom.measureCharMajor)),this.props.majorCharHeight=this.dom.measureCharMajor.clientHeight,this.props.majorCharWidth=this.dom.measureCharMajor.clientWidth},s.prototype.snap=function(t){return this.step.snap(t)},t.exports=s},function(t,e,i){function s(t,e,i){this.id=null,this.parent=null,this.data=t,this.dom=null,this.conversion=e||{},this.options=i||{},this.selected=!1,this.displayed=!1,this.dirty=!0,this.top=null,this.left=null,this.width=null,this.height=null}var o=i(44),n=i(1);s.prototype.stack=!0,s.prototype.select=function(){this.selected=!0,this.dirty=!0,this.displayed&&this.redraw()},s.prototype.unselect=function(){this.selected=!1,this.dirty=!0,this.displayed&&this.redraw()},s.prototype.setData=function(t){this.data=t,this.dirty=!0,this.displayed&&this.redraw()},s.prototype.setParent=function(t){this.displayed?(this.hide(),this.parent=t,this.parent&&this.show()):this.parent=t},s.prototype.isVisible=function(){return!1},s.prototype.show=function(){return!1},s.prototype.hide=function(){return!1},s.prototype.redraw=function(){},s.prototype.repositionX=function(){},s.prototype.repositionY=function(){},s.prototype._repaintDeleteButton=function(t){if(this.selected&&this.options.editable.remove&&!this.dom.deleteButton){var e=this,i=document.createElement("div");i.className="delete",i.title="Delete this item",o(i,{preventDefault:!0}).on("tap",function(t){e.parent.removeFromDataSet(e),t.stopPropagation()}),t.appendChild(i),this.dom.deleteButton=i}else!this.selected&&this.dom.deleteButton&&(this.dom.deleteButton.parentNode&&this.dom.deleteButton.parentNode.removeChild(this.dom.deleteButton),this.dom.deleteButton=null)},s.prototype._updateContents=function(t){var e;if(this.options.template){var i=this.parent.itemSet.itemsData.get(this.id);e=this.options.template(i)}else e=this.data.content;if(e!==this.content){if(e instanceof Element)t.innerHTML="",t.appendChild(e);else if(void 0!=e)t.innerHTML=e;else if("background"!=this.data.type||void 0!==this.data.content)throw new Error('Property "content" missing in item '+this.id);this.content=e}},s.prototype._updateTitle=function(t){null!=this.data.title?t.title=this.data.title||"":t.removeAttribute("title")},s.prototype._updateDataAttributes=function(t){if(this.options.dataAttributes&&this.options.dataAttributes.length>0){var e=[];if(Array.isArray(this.options.dataAttributes))e=this.options.dataAttributes;else{if("all"!=this.options.dataAttributes)return;e=Object.keys(this.data)}for(var i=0;it.start},s.prototype.redraw=function(){var t=this.dom;if(t||(this.dom={},t=this.dom,t.box=document.createElement("div"),t.content=document.createElement("div"),t.content.className="content",t.box.appendChild(t.content),t.box["timeline-item"]=this,this.dirty=!0),!this.parent)throw new Error("Cannot redraw item: no parent attached");if(!t.box.parentNode){var e=this.parent.dom.background;if(!e)throw new Error("Cannot redraw item: parent has no background container element");e.appendChild(t.box)}if(this.displayed=!0,this.dirty){this._updateContents(this.dom.content),this._updateTitle(this.dom.content),this._updateDataAttributes(this.dom.content),this._updateStyle(this.dom.box);var i=(this.data.className?" "+this.data.className:"")+(this.selected?" selected":"");t.box.className=this.baseClassName+i,this.overflow="hidden"!==window.getComputedStyle(t.content).overflow,this.props.content.width=this.dom.content.offsetWidth,this.height=0,this.dirty=!1}},s.prototype.show=r.prototype.show,s.prototype.hide=r.prototype.hide,s.prototype.repositionX=r.prototype.repositionX,s.prototype.repositionY=function(t){var e="top"===this.options.orientation;this.dom.content.style.top=e?"":"0",this.dom.content.style.bottom=e?"0":"";var i;if(void 0!==this.data.subgroup){var s=this.data.subgroup,o=this.parent.subgroups,r=o[s].index;if(1==e){i=this.parent.subgroups[s].height+t.item.vertical,i+=0==r?t.axis-.5*t.item.vertical:0;var a=this.parent.top;for(var h in o)o.hasOwnProperty(h)&&1==o[h].visible&&o[h].indexr&&(a+=o[h].height+t.item.vertical);i=this.parent.subgroups[s].height+t.item.vertical,this.dom.box.style.top=a+"px",this.dom.box.style.bottom=""}}else this.parent instanceof n?(i=Math.max(this.parent.height,this.parent.itemSet.body.domProps.centerContainer.height),this.dom.box.style.top=e?"0":"",this.dom.box.style.bottom=e?"":"0"):(i=this.parent.height,this.dom.box.style.top=this.parent.top+"px",this.dom.box.style.bottom="");this.dom.box.style.height=i+"px"},t.exports=s},function(t,e,i){function s(t,e,i){if(this.props={dot:{width:0,height:0},line:{width:0,height:0}},t&&void 0==t.start)throw new Error('Property "start" missing in item '+t);o.call(this,t,e,i)}{var o=i(30);i(1)}s.prototype=new o(null,null,null),s.prototype.isVisible=function(t){var e=(t.end-t.start)/4;return this.data.start>t.start-e&&this.data.startt.start-e&&this.data.startt.start},s.prototype.redraw=function(){var t=this.dom;if(t||(this.dom={},t=this.dom,t.box=document.createElement("div"),t.content=document.createElement("div"),t.content.className="content",t.box.appendChild(t.content),t.box["timeline-item"]=this,this.dirty=!0),!this.parent)throw new Error("Cannot redraw item: no parent attached");if(!t.box.parentNode){var e=this.parent.dom.foreground;if(!e)throw new Error("Cannot redraw item: parent has no foreground container element");e.appendChild(t.box)}if(this.displayed=!0,this.dirty){this._updateContents(this.dom.content),this._updateTitle(this.dom.box),this._updateDataAttributes(this.dom.box),this._updateStyle(this.dom.box);var i=(this.data.className?" "+this.data.className:"")+(this.selected?" selected":"");t.box.className=this.baseClassName+i,this.overflow="hidden"!==window.getComputedStyle(t.content).overflow,this.props.content.width=this.dom.content.offsetWidth,this.height=this.dom.box.offsetHeight,this.dirty=!1}this._repaintDeleteButton(t.box),this._repaintDragLeft(),this._repaintDragRight()},s.prototype.show=function(){this.displayed||this.redraw()},s.prototype.hide=function(){if(this.displayed){var t=this.dom.box;t.parentNode&&t.parentNode.removeChild(t),this.top=null,this.left=null,this.displayed=!1}},s.prototype.repositionX=function(){var t,e,i=this.parent.width,s=this.conversion.toScreen(this.data.start),o=this.conversion.toScreen(this.data.end);-i>s&&(s=-i),o>2*i&&(o=2*i);var n=Math.max(o-s,1);switch(this.overflow?(this.left=s,this.width=n+this.props.content.width,e=this.props.content.width):(this.left=s,this.width=n,e=Math.min(o-s,this.props.content.width)),this.dom.box.style.left=this.left+"px",this.dom.box.style.width=n+"px",this.options.align){case"left":this.dom.content.style.left="0";break;case"right":this.dom.content.style.left=Math.max(n-e-2*this.options.padding,0)+"px";break;case"center":this.dom.content.style.left=Math.max((n-e-2*this.options.padding)/2,0)+"px";break;default:t=this.overflow?Math.max(-s,0):0>s?Math.min(-s,o-s-this.props.content.width-2*this.options.padding):0,this.dom.content.style.left=t+"px"}},s.prototype.repositionY=function(){var t=this.options.orientation,e=this.dom.box;e.style.top="top"==t?this.top+"px":this.parent.height-this.top-this.height+"px"},s.prototype._repaintDragLeft=function(){if(this.selected&&this.options.editable.updateTime&&!this.dom.dragLeft){var t=document.createElement("div");t.className="drag-left",t.dragLeftItem=this,o(t,{preventDefault:!0}).on("drag",function(){}),this.dom.box.appendChild(t),this.dom.dragLeft=t}else!this.selected&&this.dom.dragLeft&&(this.dom.dragLeft.parentNode&&this.dom.dragLeft.parentNode.removeChild(this.dom.dragLeft),this.dom.dragLeft=null)},s.prototype._repaintDragRight=function(){if(this.selected&&this.options.editable.updateTime&&!this.dom.dragRight){var t=document.createElement("div");t.className="drag-right",t.dragRightItem=this,o(t,{preventDefault:!0}).on("drag",function(){}),this.dom.box.appendChild(t),this.dom.dragRight=t}else!this.selected&&this.dom.dragRight&&(this.dom.dragRight.parentNode&&this.dom.dragRight.parentNode.removeChild(this.dom.dragRight),this.dom.dragRight=null)},t.exports=s},function(t,e,i){function s(t,e,i){if(!(this instanceof s))throw new SyntaxError("Constructor must be called with the new operator");this._initializeMixinLoaders(),this.containerElement=t,this.renderRefreshRate=60,this.renderTimestep=1e3/this.renderRefreshRate,this.renderTime=.5*this.renderTimestep,this.maxPhysicsTicksPerRender=3,this.physicsDiscreteStepsize=.5,this.initializing=!0,this.triggerFunctions={add:null,edit:null,editEdge:null,connect:null,del:null},this.defaultOptions={nodes:{mass:1,radiusMin:10,radiusMax:30,radius:10,shape:"ellipse",image:void 0,widthMin:16,widthMax:64,fontColor:"black",fontSize:14,fontFace:"verdana",fontFill:void 0,level:-1,color:{border:"#2B7CE9",background:"#97C2FC",highlight:{border:"#2B7CE9",background:"#D2E5FF"},hover:{border:"#2B7CE9",background:"#D2E5FF"}},borderColor:"#2B7CE9",backgroundColor:"#97C2FC",highlightColor:"#D2E5FF",group:void 0,borderWidth:1,borderWidthSelected:void 0},edges:{widthMin:1,widthMax:15,width:1,widthSelectionMultiplier:2,hoverWidth:1.5,style:"line",color:{color:"#848484",highlight:"#848484",hover:"#848484"},fontColor:"#343434",fontSize:14,fontFace:"arial",fontFill:"white",arrowScaleFactor:1,dash:{length:10,gap:5,altLength:void 0},inheritColor:"from"},configurePhysics:!1,physics:{barnesHut:{enabled:!0,theta:1/.6,gravitationalConstant:-2e3,centralGravity:.3,springLength:95,springConstant:.04,damping:.09},repulsion:{centralGravity:0,springLength:200,springConstant:.05,nodeDistance:100,damping:.09},hierarchicalRepulsion:{enabled:!1,centralGravity:0,springLength:100,springConstant:.01,nodeDistance:150,damping:.09},damping:null,centralGravity:null,springLength:null,springConstant:null},clustering:{enabled:!1,initialMaxNodes:100,clusterThreshold:500,reduceToNodes:300,chainThreshold:.4,clusterEdgeThreshold:20,sectorThreshold:100,screenSizeThreshold:.2,fontSizeMultiplier:4,maxFontSize:1e3,forceAmplification:.1,distanceAmplification:.1,edgeGrowth:20,nodeScaling:{width:1,height:1,radius:1},maxNodeSizeIncrements:600,activeAreaBoxSize:80,clusterLevelDifference:2},navigation:{enabled:!1},keyboard:{enabled:!1,speed:{x:10,y:10,zoom:.02}},dataManipulation:{enabled:!1,initiallyVisible:!1},hierarchicalLayout:{enabled:!1,levelSeparation:150,nodeSpacing:100,direction:"UD",layout:"hubsize"},freezeForStabilization:!1,smoothCurves:{enabled:!0,dynamic:!0,type:"continuous",roundness:.5},dynamicSmoothCurves:!0,maxVelocity:30,minVelocity:.1,stabilize:!0,stabilizationIterations:1e3,locale:"en",locales:_,tooltip:{delay:300,fontColor:"black",fontSize:14,fontFace:"verdana",color:{border:"#666",background:"#FFFFC6"}},dragNetwork:!0,dragNodes:!0,zoomable:!0,hover:!1,hideEdgesOnDrag:!1,hideNodesOnDrag:!1,width:"100%",height:"100%",selectable:!0},this.constants=a.extend({},this.defaultOptions),this.hoverObj={nodes:{},edges:{}},this.controlNodesActive=!1,this.navigationHammers={existing:[],"new":[]},this.animationSpeed=1/this.renderRefreshRate,this.animationEasingFunction="easeInOutQuint",this.easingTime=0,this.sourceScale=0,this.targetScale=0,this.sourceTranslation=0,this.targetTranslation=0,this.lockedOnNodeId=null,this.lockedOnNodeOffset=null;var o=this;this.groups=new u,this.images=new f,this.images.setOnloadCallback(function(){o._redraw()}),this.xIncrement=0,this.yIncrement=0,this.zoomIncrement=0,this._loadPhysicsSystem(),this._create(),this._loadSectorSystem(),this._loadClusterSystem(),this._loadSelectionSystem(),this._loadHierarchySystem(),this._setTranslation(this.frame.clientWidth/2,this.frame.clientHeight/2),this._setScale(1),this.setOptions(i),this.freezeSimulation=!1,this.cachedFunctions={},this.startedStabilization=!1,this.stabilized=!1,this.stabilizationIterations=null,this.calculationNodes={},this.calculationNodeIndices=[],this.nodeIndices=[],this.nodes={},this.edges={},this.canvasTopLeft={x:0,y:0},this.canvasBottomRight={x:0,y:0},this.pointerPosition={x:0,y:0},this.areaCenter={},this.scale=1,this.previousScale=this.scale,this.nodesData=null,this.edgesData=null,this.nodesListeners={add:function(t,e){o._addNodes(e.items),o.start()},update:function(t,e){o._updateNodes(e.items,e.data),o.start()},remove:function(t,e){o._removeNodes(e.items),o.start()}},this.edgesListeners={add:function(t,e){o._addEdges(e.items),o.start()},update:function(t,e){o._updateEdges(e.items),o.start()},remove:function(t,e){o._removeEdges(e.items),o.start()}},this.moving=!0,this.timer=void 0,this.setData(e,this.constants.clustering.enabled||this.constants.hierarchicalLayout.enabled),this.initializing=!1,1==this.constants.hierarchicalLayout.enabled?this._setupHierarchicalLayout():0==this.constants.stabilize&&this.zoomExtent(void 0,!0,this.constants.clustering.enabled),this.constants.clustering.enabled&&this.startWithClustering()}var o=i(53),n=i(44),r=i(54),a=i(1),h=i(47),d=i(3),l=i(4),c=i(41),p=i(42),u=i(37),f=i(38),m=i(39),g=i(36),v=i(40),y=i(51),b=i(52),_=i(49);i(50),o(s.prototype),s.prototype._getScriptPath=function(){for(var t=document.getElementsByTagName("script"),e=0;et.x&&(s=t.x),ot.y&&(e=t.y),i=this.constants.clustering.initialMaxNodes?49.07548/(n+142.05338)+91444e-8:12.662/(n+7.4147)+.0964822:1==this.constants.clustering.enabled&&n>=this.constants.clustering.initialMaxNodes?77.5271985/(n+187.266146)+476710517e-13:30.5062972/(n+19.93597763)+.08413486;var r=Math.min(this.frame.canvas.clientWidth/600,this.frame.canvas.clientHeight/600);s*=r}else{var a=1.1*Math.abs(o.maxX-o.minX),h=1.1*Math.abs(o.maxY-o.minY),d=this.frame.canvas.clientWidth/a,l=this.frame.canvas.clientHeight/h;s=l>=d?d:l}s>1&&(s=1);var c=this._findCenter(o);if(0==i){var p={position:c,scale:s,animation:t};this.moveTo(p),this.moving=!0,this.start()}else c.x*=s,c.y*=s,c.x-=.5*this.frame.canvas.clientWidth,c.y-=.5*this.frame.canvas.clientHeight,this._setScale(s),this._setTranslation(-c.x,-c.y)},s.prototype._updateNodeIndexList=function(){this._clearNodeIndexList();for(var t in this.nodes)this.nodes.hasOwnProperty(t)&&this.nodeIndices.push(t)},s.prototype.setData=function(t,e){if(void 0===e&&(e=!1),this.initializing=!0,t&&t.dot&&(t.nodes||t.edges))throw new SyntaxError('Data must contain either parameter "dot" or parameter pair "nodes" and "edges", but not both.');if(this.setOptions(t&&t.options),t&&t.dot){if(t&&t.dot){var i=c.DOTToGraph(t.dot);return void this.setData(i)}}else if(t&&t.gephi){if(t&&t.gephi){var s=p.parseGephi(t.gephi);return void this.setData(s)}}else this._setNodes(t&&t.nodes),this._setEdges(t&&t.edges);this._putDataInSector(),0==e&&(1==this.constants.hierarchicalLayout.enabled?(this._resetLevels(),this._setupHierarchicalLayout()):this.constants.stabilize&&this._stabilize(),this.start()),this.initializing=!1},s.prototype.setOptions=function(t){if(t){var e,i=["nodes","edges","smoothCurves","hierarchicalLayout","clustering","navigation","keyboard","dataManipulation","onAdd","onEdit","onEditEdge","onConnect","onDelete","clickToUse"];if(a.selectiveNotDeepExtend(i,this.constants,t),a.selectiveNotDeepExtend(["color"],this.constants.nodes,t.nodes),a.selectiveNotDeepExtend(["color","length"],this.constants.edges,t.edges),t.physics&&(a.mergeOptions(this.constants.physics,t.physics,"barnesHut"),a.mergeOptions(this.constants.physics,t.physics,"repulsion"),t.physics.hierarchicalRepulsion)){this.constants.hierarchicalLayout.enabled=!0,this.constants.physics.hierarchicalRepulsion.enabled=!0,this.constants.physics.barnesHut.enabled=!1;for(e in t.physics.hierarchicalRepulsion)t.physics.hierarchicalRepulsion.hasOwnProperty(e)&&(this.constants.physics.hierarchicalRepulsion[e]=t.physics.hierarchicalRepulsion[e])}if(t.onAdd&&(this.triggerFunctions.add=t.onAdd),t.onEdit&&(this.triggerFunctions.edit=t.onEdit),t.onEditEdge&&(this.triggerFunctions.editEdge=t.onEditEdge),t.onConnect&&(this.triggerFunctions.connect=t.onConnect),t.onDelete&&(this.triggerFunctions.del=t.onDelete),a.mergeOptions(this.constants,t,"smoothCurves"),a.mergeOptions(this.constants,t,"hierarchicalLayout"),a.mergeOptions(this.constants,t,"clustering"),a.mergeOptions(this.constants,t,"navigation"),a.mergeOptions(this.constants,t,"keyboard"),a.mergeOptions(this.constants,t,"dataManipulation"),t.dataManipulation&&(this.editMode=this.constants.dataManipulation.initiallyVisible),t.edges&&(void 0!==t.edges.color&&(a.isString(t.edges.color)?(this.constants.edges.color={},this.constants.edges.color.color=t.edges.color,this.constants.edges.color.highlight=t.edges.color,this.constants.edges.color.hover=t.edges.color):(void 0!==t.edges.color.color&&(this.constants.edges.color.color=t.edges.color.color),void 0!==t.edges.color.highlight&&(this.constants.edges.color.highlight=t.edges.color.highlight),void 0!==t.edges.color.hover&&(this.constants.edges.color.hover=t.edges.color.hover))),t.edges.fontColor||void 0!==t.edges.color&&(a.isString(t.edges.color)?this.constants.edges.fontColor=t.edges.color:void 0!==t.edges.color.color&&(this.constants.edges.fontColor=t.edges.color.color))),t.nodes&&t.nodes.color){var s=a.parseColor(t.nodes.color);this.constants.nodes.color.background=s.background,this.constants.nodes.color.border=s.border,this.constants.nodes.color.highlight.background=s.highlight.background,this.constants.nodes.color.highlight.border=s.highlight.border,this.constants.nodes.color.hover.background=s.hover.background,this.constants.nodes.color.hover.border=s.hover.border -}if(t.groups)for(var o in t.groups)if(t.groups.hasOwnProperty(o)){var n=t.groups[o];this.groups.add(o,n)}if(t.tooltip){for(e in t.tooltip)t.tooltip.hasOwnProperty(e)&&(this.constants.tooltip[e]=t.tooltip[e]);t.tooltip.color&&(this.constants.tooltip.color=a.parseColor(t.tooltip.color))}if("clickToUse"in t&&(t.clickToUse?(this.activator=new b(this.frame),this.activator.on("change",this._createKeyBinds.bind(this))):this.activator&&(this.activator.destroy(),delete this.activator)),t.labels)throw new Error('Option "labels" is deprecated. Use options "locale" and "locales" instead.')}this._loadPhysicsSystem(),this._loadNavigationControls(),this._loadManipulationSystem(),this._configureSmoothCurves(),this._createKeyBinds(),this.setSize(this.constants.width,this.constants.height),this.moving=!0,this.start()},s.prototype._create=function(){for(;this.containerElement.hasChildNodes();)this.containerElement.removeChild(this.containerElement.firstChild);if(this.frame=document.createElement("div"),this.frame.className="vis network-frame",this.frame.style.position="relative",this.frame.style.overflow="hidden",this.frame.canvas=document.createElement("canvas"),this.frame.canvas.style.position="relative",this.frame.appendChild(this.frame.canvas),!this.frame.canvas.getContext){var t=document.createElement("DIV");t.style.color="red",t.style.fontWeight="bold",t.style.padding="10px",t.innerHTML="Error: your browser does not support HTML canvas",this.frame.canvas.appendChild(t)}var e=this;this.drag={},this.pinch={},this.hammer=n(this.frame.canvas,{prevent_default:!0}),this.hammer.on("tap",e._onTap.bind(e)),this.hammer.on("doubletap",e._onDoubleTap.bind(e)),this.hammer.on("hold",e._onHold.bind(e)),this.hammer.on("pinch",e._onPinch.bind(e)),this.hammer.on("touch",e._onTouch.bind(e)),this.hammer.on("dragstart",e._onDragStart.bind(e)),this.hammer.on("drag",e._onDrag.bind(e)),this.hammer.on("dragend",e._onDragEnd.bind(e)),this.hammer.on("release",e._onRelease.bind(e)),this.hammer.on("mousewheel",e._onMouseWheel.bind(e)),this.hammer.on("DOMMouseScroll",e._onMouseWheel.bind(e)),this.hammer.on("mousemove",e._onMouseMoveTitle.bind(e)),this.containerElement.appendChild(this.frame)},s.prototype._createKeyBinds=function(){var t=this;this.mousetrap=r,this.mousetrap.reset(),this.constants.keyboard.enabled&&this.isActive()&&(this.mousetrap.bind("up",this._moveUp.bind(t),"keydown"),this.mousetrap.bind("up",this._yStopMoving.bind(t),"keyup"),this.mousetrap.bind("down",this._moveDown.bind(t),"keydown"),this.mousetrap.bind("down",this._yStopMoving.bind(t),"keyup"),this.mousetrap.bind("left",this._moveLeft.bind(t),"keydown"),this.mousetrap.bind("left",this._xStopMoving.bind(t),"keyup"),this.mousetrap.bind("right",this._moveRight.bind(t),"keydown"),this.mousetrap.bind("right",this._xStopMoving.bind(t),"keyup"),this.mousetrap.bind("=",this._zoomIn.bind(t),"keydown"),this.mousetrap.bind("=",this._stopZoom.bind(t),"keyup"),this.mousetrap.bind("-",this._zoomOut.bind(t),"keydown"),this.mousetrap.bind("-",this._stopZoom.bind(t),"keyup"),this.mousetrap.bind("[",this._zoomIn.bind(t),"keydown"),this.mousetrap.bind("[",this._stopZoom.bind(t),"keyup"),this.mousetrap.bind("]",this._zoomOut.bind(t),"keydown"),this.mousetrap.bind("]",this._stopZoom.bind(t),"keyup"),this.mousetrap.bind("pageup",this._zoomIn.bind(t),"keydown"),this.mousetrap.bind("pageup",this._stopZoom.bind(t),"keyup"),this.mousetrap.bind("pagedown",this._zoomOut.bind(t),"keydown"),this.mousetrap.bind("pagedown",this._stopZoom.bind(t),"keyup")),1==this.constants.dataManipulation.enabled&&(this.mousetrap.bind("escape",this._createManipulatorBar.bind(t)),this.mousetrap.bind("del",this._deleteSelected.bind(t)))},s.prototype._getPointer=function(t){return{x:t.pageX-a.getAbsoluteLeft(this.frame.canvas),y:t.pageY-a.getAbsoluteTop(this.frame.canvas)}},s.prototype._onTouch=function(t){this.drag.pointer=this._getPointer(t.gesture.center),this.drag.pinched=!1,this.pinch.scale=this._getScale(),this._handleTouch(this.drag.pointer)},s.prototype._onDragStart=function(){this._handleDragStart()},s.prototype._handleDragStart=function(){var t=this.drag,e=this._getNodeAt(t.pointer);if(t.dragging=!0,t.selection=[],t.translation=this._getTranslation(),t.nodeId=null,null!=e&&1==this.constants.dragNodes){t.nodeId=e.id,e.isSelected()||this._selectObject(e,!1),this.emit("dragStart",{nodeIds:this.getSelection().nodes});for(var i in this.selectionObj.nodes)if(this.selectionObj.nodes.hasOwnProperty(i)){var s=this.selectionObj.nodes[i],o={id:s.id,node:s,x:s.x,y:s.y,xFixed:s.xFixed,yFixed:s.yFixed};s.xFixed=!0,s.yFixed=!0,t.selection.push(o)}}},s.prototype._onDrag=function(t){this._handleOnDrag(t)},s.prototype._handleOnDrag=function(t){if(!this.drag.pinched){this.releaseNode();var e=this._getPointer(t.gesture.center),i=this,s=this.drag,o=s.selection;if(o&&o.length&&1==this.constants.dragNodes){var n=e.x-s.pointer.x,r=e.y-s.pointer.y;o.forEach(function(t){var e=t.node;t.xFixed||(e.x=i._XconvertDOMtoCanvas(i._XconvertCanvasToDOM(t.x)+n)),t.yFixed||(e.y=i._YconvertDOMtoCanvas(i._YconvertCanvasToDOM(t.y)+r))}),this.moving||(this.moving=!0,this.start())}else if(1==this.constants.dragNetwork){var a=e.x-this.drag.pointer.x,h=e.y-this.drag.pointer.y;this._setTranslation(this.drag.translation.x+a,this.drag.translation.y+h),this._redraw()}}},s.prototype._onDragEnd=function(t){this._handleDragEnd(t)},s.prototype._handleDragEnd=function(){this.drag.dragging=!1;var t=this.drag.selection;t&&t.length?(t.forEach(function(t){t.node.xFixed=t.xFixed,t.node.yFixed=t.yFixed}),this.moving=!0,this.start()):this._redraw(),this.emit("dragEnd",{nodeIds:this.getSelection().nodes})},s.prototype._onTap=function(t){var e=this._getPointer(t.gesture.center);this.pointerPosition=e,this._handleTap(e)},s.prototype._onDoubleTap=function(t){var e=this._getPointer(t.gesture.center);this._handleDoubleTap(e)},s.prototype._onHold=function(t){var e=this._getPointer(t.gesture.center);this.pointerPosition=e,this._handleOnHold(e)},s.prototype._onRelease=function(t){var e=this._getPointer(t.gesture.center);this._handleOnRelease(e)},s.prototype._onPinch=function(t){var e=this._getPointer(t.gesture.center);this.drag.pinched=!0,"scale"in this.pinch||(this.pinch.scale=1);var i=this.pinch.scale*t.gesture.scale;this._zoom(i,e)},s.prototype._zoom=function(t,e){if(1==this.constants.zoomable){var i=this._getScale();1e-5>t&&(t=1e-5),t>10&&(t=10);var s=null;void 0!==this.drag&&1==this.drag.dragging&&(s=this.DOMtoCanvas(this.drag.pointer));var o=this._getTranslation(),n=t/i,r=(1-n)*e.x+o.x*n,a=(1-n)*e.y+o.y*n;if(this.areaCenter={x:this._XconvertDOMtoCanvas(e.x),y:this._YconvertDOMtoCanvas(e.y)},this._setScale(t),this._setTranslation(r,a),this.updateClustersDefault(),null!=s){var h=this.canvasToDOM(s);this.drag.pointer.x=h.x,this.drag.pointer.y=h.y}return this._redraw(),t>i?this.emit("zoom",{direction:"+"}):this.emit("zoom",{direction:"-"}),t}},s.prototype._onMouseWheel=function(t){var e=0;if(t.wheelDelta?e=t.wheelDelta/120:t.detail&&(e=-t.detail/3),e){var i=this._getScale(),s=e/10;0>e&&(s/=1-s),i*=1+s;var o=h.fakeGesture(this,t),n=this._getPointer(o.center);this._zoom(i,n)}t.preventDefault()},s.prototype._onMouseMoveTitle=function(t){var e=h.fakeGesture(this,t),i=this._getPointer(e.center);this.popupObj&&this._checkHidePopup(i);var s=this,o=function(){s._checkShowPopup(i)};if(this.popupTimer&&clearInterval(this.popupTimer),this.drag.dragging||(this.popupTimer=setTimeout(o,this.constants.tooltip.delay)),1==this.constants.hover){for(var n in this.hoverObj.edges)this.hoverObj.edges.hasOwnProperty(n)&&(this.hoverObj.edges[n].hover=!1,delete this.hoverObj.edges[n]);var r=this._getNodeAt(i);null==r&&(r=this._getEdgeAt(i)),null!=r&&this._hoverObject(r);for(var a in this.hoverObj.nodes)this.hoverObj.nodes.hasOwnProperty(a)&&(r instanceof m&&r.id!=a||r instanceof g||null==r)&&(this._blurObject(this.hoverObj.nodes[a]),delete this.hoverObj.nodes[a]);this.redraw()}},s.prototype._checkShowPopup=function(t){var e,i={left:this._XconvertDOMtoCanvas(t.x),top:this._YconvertDOMtoCanvas(t.y),right:this._XconvertDOMtoCanvas(t.x),bottom:this._YconvertDOMtoCanvas(t.y)},s=this.popupObj;if(void 0==this.popupObj){var o=this.nodes;for(e in o)if(o.hasOwnProperty(e)){var n=o[e];if(void 0!==n.getTitle()&&n.isOverlappingWith(i)){this.popupObj=n;break}}}if(void 0===this.popupObj){var r=this.edges;for(e in r)if(r.hasOwnProperty(e)){var a=r[e];if(a.connected&&void 0!==a.getTitle()&&a.isOverlappingWith(i)){this.popupObj=a;break}}}if(this.popupObj){if(this.popupObj!=s){var h=this;h.popup||(h.popup=new v(h.frame,h.constants.tooltip)),h.popup.setPosition(t.x-3,t.y-3),h.popup.setText(h.popupObj.getTitle()),h.popup.show()}}else this.popup&&this.popup.hide()},s.prototype._checkHidePopup=function(t){this.popupObj&&this._getNodeAt(t)||(this.popupObj=void 0,this.popup&&this.popup.hide())},s.prototype.setSize=function(t,e){var i=!1,s=this.frame.canvas.width,o=this.frame.canvas.height;t!=this.constants.width||e!=this.constants.height||this.frame.style.width!=t||this.frame.style.height!=e?(this.frame.style.width=t,this.frame.style.height=e,this.frame.canvas.style.width="100%",this.frame.canvas.style.height="100%",this.frame.canvas.width=this.frame.canvas.clientWidth,this.frame.canvas.height=this.frame.canvas.clientHeight,this.constants.width=t,this.constants.height=e,i=!0):(this.frame.canvas.width!=this.frame.canvas.clientWidth&&(this.frame.canvas.width=this.frame.canvas.clientWidth,i=!0),this.frame.canvas.height!=this.frame.canvas.clientHeight&&(this.frame.canvas.height=this.frame.canvas.clientHeight,i=!0)),1==i&&this.emit("resize",{width:this.frame.canvas.width,height:this.frame.canvas.height,oldWidth:s,oldHeight:o})},s.prototype._setNodes=function(t){var e=this.nodesData;if(t instanceof d||t instanceof l)this.nodesData=t;else if(Array.isArray(t))this.nodesData=new d,this.nodesData.add(t);else{if(t)throw new TypeError("Array or DataSet expected");this.nodesData=new d}if(e&&a.forEach(this.nodesListeners,function(t,i){e.off(i,t)}),this.nodes={},this.nodesData){var i=this;a.forEach(this.nodesListeners,function(t,e){i.nodesData.on(e,t)});var s=this.nodesData.getIds();this._addNodes(s)}this._updateSelection()},s.prototype._addNodes=function(t){for(var e,i=0,s=t.length;s>i;i++){e=t[i];var o=this.nodesData.get(e),n=new m(o,this.images,this.groups,this.constants);if(this.nodes[e]=n,!(0!=n.xFixed&&0!=n.yFixed||null!==n.x&&null!==n.y)){var r=1*t.length+10,a=2*Math.PI*Math.random();0==n.xFixed&&(n.x=r*Math.cos(a)),0==n.yFixed&&(n.y=r*Math.sin(a))}this.moving=!0}this._updateNodeIndexList(),1==this.constants.hierarchicalLayout.enabled&&0==this.initializing&&(this._resetLevels(),this._setupHierarchicalLayout()),this._updateCalculationNodes(),this._reconnectEdges(),this._updateValueRange(this.nodes),this.updateLabels()},s.prototype._updateNodes=function(t,e){for(var i=this.nodes,s=0,o=t.length;o>s;s++){var n=t[s],r=i[n],a=e[s];r?r.setProperties(a,this.constants):(r=new m(properties,this.images,this.groups,this.constants),i[n]=r)}this.moving=!0,1==this.constants.hierarchicalLayout.enabled&&0==this.initializing&&(this._resetLevels(),this._setupHierarchicalLayout()),this._updateNodeIndexList(),this._updateValueRange(i)},s.prototype._removeNodes=function(t){for(var e=this.nodes,i=0,s=t.length;s>i;i++){var o=t[i];delete e[o]}this._updateNodeIndexList(),1==this.constants.hierarchicalLayout.enabled&&0==this.initializing&&(this._resetLevels(),this._setupHierarchicalLayout()),this._updateCalculationNodes(),this._reconnectEdges(),this._updateSelection(),this._updateValueRange(e)},s.prototype._setEdges=function(t){var e=this.edgesData;if(t instanceof d||t instanceof l)this.edgesData=t;else if(Array.isArray(t))this.edgesData=new d,this.edgesData.add(t);else{if(t)throw new TypeError("Array or DataSet expected");this.edgesData=new d}if(e&&a.forEach(this.edgesListeners,function(t,i){e.off(i,t)}),this.edges={},this.edgesData){var i=this;a.forEach(this.edgesListeners,function(t,e){i.edgesData.on(e,t)});var s=this.edgesData.getIds();this._addEdges(s)}this._reconnectEdges()},s.prototype._addEdges=function(t){for(var e=this.edges,i=this.edgesData,s=0,o=t.length;o>s;s++){var n=t[s],r=e[n];r&&r.disconnect();var a=i.get(n,{showInternalIds:!0});e[n]=new g(a,this,this.constants)}this.moving=!0,this._updateValueRange(e),this._createBezierNodes(),this._updateCalculationNodes(),1==this.constants.hierarchicalLayout.enabled&&0==this.initializing&&(this._resetLevels(),this._setupHierarchicalLayout())},s.prototype._updateEdges=function(t){for(var e=this.edges,i=this.edgesData,s=0,o=t.length;o>s;s++){var n=t[s],r=i.get(n),a=e[n];a?(a.disconnect(),a.setProperties(r,this.constants),a.connect()):(a=new g(r,this,this.constants),this.edges[n]=a)}this._createBezierNodes(),1==this.constants.hierarchicalLayout.enabled&&0==this.initializing&&(this._resetLevels(),this._setupHierarchicalLayout()),this.moving=!0,this._updateValueRange(e)},s.prototype._removeEdges=function(t){for(var e=this.edges,i=0,s=t.length;s>i;i++){var o=t[i],n=e[o];n&&(null!=n.via&&delete this.sectors.support.nodes[n.via.id],n.disconnect(),delete e[o])}this.moving=!0,this._updateValueRange(e),1==this.constants.hierarchicalLayout.enabled&&0==this.initializing&&(this._resetLevels(),this._setupHierarchicalLayout()),this._updateCalculationNodes()},s.prototype._reconnectEdges=function(){var t,e=this.nodes,i=this.edges;for(t in e)e.hasOwnProperty(t)&&(e[t].edges=[],e[t].dynamicEdges=[]);for(t in i)if(i.hasOwnProperty(t)){var s=i[t];s.from=null,s.to=null,s.connect()}},s.prototype._updateValueRange=function(t){var e,i=void 0,s=void 0;for(e in t)if(t.hasOwnProperty(e)){var o=t[e].getValue();void 0!==o&&(i=void 0===i?o:Math.min(o,i),s=void 0===s?o:Math.max(o,s))}if(void 0!==i&&void 0!==s)for(e in t)t.hasOwnProperty(e)&&t[e].setValueRange(i,s)},s.prototype.redraw=function(){this.setSize(this.constants.width,this.constants.height),this._redraw()},s.prototype._redraw=function(){var t=this.frame.canvas.getContext("2d"),e=this.frame.canvas.width,i=this.frame.canvas.height;t.clearRect(0,0,e,i),t.save(),t.translate(this.translation.x,this.translation.y),t.scale(this.scale,this.scale),this.canvasTopLeft={x:this._XconvertDOMtoCanvas(0),y:this._YconvertDOMtoCanvas(0)},this.canvasBottomRight={x:this._XconvertDOMtoCanvas(this.frame.canvas.clientWidth),y:this._YconvertDOMtoCanvas(this.frame.canvas.clientHeight)},this._doInAllSectors("_drawAllSectorNodes",t),(0==this.drag.dragging||void 0===this.drag.dragging||0==this.constants.hideEdgesOnDrag)&&this._doInAllSectors("_drawEdges",t),(0==this.drag.dragging||void 0===this.drag.dragging||0==this.constants.hideNodesOnDrag)&&this._doInAllSectors("_drawNodes",t,!1),1==this.controlNodesActive&&this._doInAllSectors("_drawControlNodes",t),t.restore()},s.prototype._setTranslation=function(t,e){void 0===this.translation&&(this.translation={x:0,y:0}),void 0!==t&&(this.translation.x=t),void 0!==e&&(this.translation.y=e),this.emit("viewChanged")},s.prototype._getTranslation=function(){return{x:this.translation.x,y:this.translation.y}},s.prototype._setScale=function(t){this.scale=t},s.prototype._getScale=function(){return this.scale},s.prototype._XconvertDOMtoCanvas=function(t){return(t-this.translation.x)/this.scale},s.prototype._XconvertCanvasToDOM=function(t){return t*this.scale+this.translation.x},s.prototype._YconvertDOMtoCanvas=function(t){return(t-this.translation.y)/this.scale},s.prototype._YconvertCanvasToDOM=function(t){return t*this.scale+this.translation.y},s.prototype.canvasToDOM=function(t){return{x:this._XconvertCanvasToDOM(t.x),y:this._YconvertCanvasToDOM(t.y)}},s.prototype.DOMtoCanvas=function(t){return{x:this._XconvertDOMtoCanvas(t.x),y:this._YconvertDOMtoCanvas(t.y)}},s.prototype._drawNodes=function(t,e){void 0===e&&(e=!1);var i=this.nodes,s=[];for(var o in i)i.hasOwnProperty(o)&&(i[o].setScaleAndPos(this.scale,this.canvasTopLeft,this.canvasBottomRight),i[o].isSelected()?s.push(o):(i[o].inArea()||e)&&i[o].draw(t));for(var n=0,r=s.length;r>n;n++)(i[s[n]].inArea()||e)&&i[s[n]].draw(t)},s.prototype._drawEdges=function(t){var e=this.edges;for(var i in e)if(e.hasOwnProperty(i)){var s=e[i];s.setScale(this.scale),s.connected&&e[i].draw(t)}},s.prototype._drawControlNodes=function(t){var e=this.edges;for(var i in e)e.hasOwnProperty(i)&&e[i]._drawControlNodes(t)},s.prototype._stabilize=function(){1==this.constants.freezeForStabilization&&this._freezeDefinedNodes();for(var t=0;this.moving&&t0)for(t in i)i.hasOwnProperty(t)&&(i[t].discreteStepLimited(e,this.constants.maxVelocity),s=!0);else for(t in i)i.hasOwnProperty(t)&&(i[t].discreteStep(e),s=!0);if(1==s){var o=this.constants.minVelocity/Math.max(this.scale,.05);return o>.5*this.constants.maxVelocity?!0:this._isMoving(o)}return!1},s.prototype._physicsTick=function(){if(!this.freezeSimulation&&1==this.moving){var t=!1,e=!1;this._doInAllActiveSectors("_initializeForceCalculation");var i=this._doInAllActiveSectors("_discreteStepNodes");1==this.constants.smoothCurves.enabled&&1==this.constants.smoothCurves.dynamic&&(e=this._doInSupportSector("_discreteStepNodes"));for(var s=0;s0){var i=this,s={iterations:i.stabilizationIterations};i.stabilizationIterations=0,i.startedStabilization=!1,setTimeout(function(){i.emit("stabilized",s)},0)}},s.prototype._handleNavigation=function(){if(0!=this.xIncrement||0!=this.yIncrement){var t=this._getTranslation();this._setTranslation(t.x+this.xIncrement,t.y+this.yIncrement)}if(0!=this.zoomIncrement){var e={x:this.frame.canvas.clientWidth/2,y:this.frame.canvas.clientHeight/2};this._zoom(this.scale*(1+this.zoomIncrement),e)}},s.prototype.toggleFreeze=function(){0==this.freezeSimulation?this.freezeSimulation=!0:(this.freezeSimulation=!1,this.start())},s.prototype._configureSmoothCurves=function(t){if(void 0===t&&(t=!0),1==this.constants.smoothCurves.enabled&&1==this.constants.smoothCurves.dynamic){this._createBezierNodes();for(var e in this.sectors.support.nodes)this.sectors.support.nodes.hasOwnProperty(e)&&void 0===this.edges[this.sectors.support.nodes[e].parentEdgeId]&&delete this.sectors.support.nodes[e]}else{this.sectors.support.nodes={};for(var i in this.edges)this.edges.hasOwnProperty(i)&&(this.edges[i].via=null)}this._updateCalculationNodes(),t||(this.moving=!0,this.start())},s.prototype._createBezierNodes=function(){if(1==this.constants.smoothCurves.enabled&&1==this.constants.smoothCurves.dynamic)for(var t in this.edges)if(this.edges.hasOwnProperty(t)){var e=this.edges[t];if(null==e.via){var i="edgeId:".concat(e.id);this.sectors.support.nodes[i]=new m({id:i,mass:1,shape:"circle",image:"",internalMultiplier:1},{},{},this.constants),e.via=this.sectors.support.nodes[i],e.via.parentEdgeId=e.id,e.positionBezierNode()}}},s.prototype._initializeMixinLoaders=function(){for(var t in y)y.hasOwnProperty(t)&&(s.prototype[t]=y[t])},s.prototype.storePosition=function(){console.log("storePosition is depricated: use .storePositions() from now on."),this.storePositions()},s.prototype.storePositions=function(){var t=[];for(var e in this.nodes)if(this.nodes.hasOwnProperty(e)){var i=this.nodes[e],s=!this.nodes.xFixed,o=!this.nodes.yFixed;(this.nodesData._data[e].x!=Math.round(i.x)||this.nodesData._data[e].y!=Math.round(i.y))&&t.push({id:e,x:Math.round(i.x),y:Math.round(i.y),allowedToMoveX:s,allowedToMoveY:o})}this.nodesData.update(t)},s.prototype.getPositions=function(t){var e={};if(void 0!==t){if(1==Array.isArray(t)){for(var i=0;i=1&&(this.easingTime=0,this._redraw=null!=this.lockedOnNodeId?this._lockedRedraw:this._classicRedraw,this.emit("animationFinished"))},s.prototype._classicRedraw=function(){},s.prototype.isActive=function(){return!this.activator||this.activator.active},s.prototype.setScale=function(){return this._setScale()},s.prototype.getScale=function(){return this._getScale()},s.prototype.getCenterCoordinates=function(){return this.DOMtoCanvas({x:.5*this.frame.canvas.clientWidth,y:.5*this.frame.canvas.clientHeight})},t.exports=s},function(t,e,i){function s(t,e,i){if(!e)throw"No network provided";var s=["edges","physics"],n=o.selectiveBridgeObject(s,i);this.options=n.edges,this.physics=n.physics,this.options.smoothCurves=i.smoothCurves,this.network=e,this.id=void 0,this.fromId=void 0,this.toId=void 0,this.title=void 0,this.widthSelected=this.options.width*this.options.widthSelectionMultiplier,this.value=void 0,this.selected=!1,this.hover=!1,this.labelDimensions={top:0,left:0,width:0,height:0,yLine:0},this.dirtyLabel=!0,this.from=null,this.to=null,this.via=null,this.originalFromId=[],this.originalToId=[],this.connected=!1,this.widthFixed=!1,this.lengthFixed=!1,this.setProperties(t),this.controlNodesEnabled=!1,this.controlNodes={from:null,to:null,positions:{}},this.connectedNode=null}var o=i(1),n=i(39);s.prototype.setProperties=function(t){if(t){var e=["style","fontSize","fontFace","fontColor","fontFill","width","widthSelectionMultiplier","hoverWidth","arrowScaleFactor","dash","inheritColor"];switch(o.selectiveDeepExtend(e,this.options,t),void 0!==t.from&&(this.fromId=t.from),void 0!==t.to&&(this.toId=t.to),void 0!==t.id&&(this.id=t.id),void 0!==t.label&&(this.label=t.label,this.dirtyLabel=!0),void 0!==t.title&&(this.title=t.title),void 0!==t.value&&(this.value=t.value),void 0!==t.length&&(this.physics.springLength=t.length),void 0!==t.color&&(this.options.inheritColor=!1,o.isString(t.color)?(this.options.color.color=t.color,this.options.color.highlight=t.color):(void 0!==t.color.color&&(this.options.color.color=t.color.color),void 0!==t.color.highlight&&(this.options.color.highlight=t.color.highlight),void 0!==t.color.hover&&(this.options.color.hover=t.color.hover))),this.connect(),this.widthFixed=this.widthFixed||void 0!==t.width,this.lengthFixed=this.lengthFixed||void 0!==t.length,this.widthSelected=this.options.width*this.options.widthSelectionMultiplier,this.options.style){case"line":this.draw=this._drawLine;break;case"arrow":this.draw=this._drawArrow;break;case"arrow-center":this.draw=this._drawArrowCenter;break;case"dash-line":this.draw=this._drawDashLine;break;default:this.draw=this._drawLine}}},s.prototype.connect=function(){this.disconnect(),this.from=this.network.nodes[this.fromId]||null,this.to=this.network.nodes[this.toId]||null,this.connected=this.from&&this.to,this.connected?(this.from.attachEdge(this),this.to.attachEdge(this)):(this.from&&this.from.detachEdge(this),this.to&&this.to.detachEdge(this))},s.prototype.disconnect=function(){this.from&&(this.from.detachEdge(this),this.from=null),this.to&&(this.to.detachEdge(this),this.to=null),this.connected=!1},s.prototype.getTitle=function(){return"function"==typeof this.title?this.title():this.title},s.prototype.getValue=function(){return this.value},s.prototype.setValueRange=function(t,e){if(!this.widthFixed&&void 0!==this.value){var i=(this.options.widthMax-this.options.widthMin)/(e-t);this.options.width=(this.value-t)*i+this.options.widthMin,this.widthSelected=this.options.width*this.options.widthSelectionMultiplier}},s.prototype.draw=function(){throw"Method draw not initialized in edge"},s.prototype.isOverlappingWith=function(t){if(this.connected){var e=10,i=this.from.x,s=this.from.y,o=this.to.x,n=this.to.y,r=t.left,a=t.top,h=this._getDistanceToEdge(i,s,o,n,r,a);return e>h}return!1},s.prototype._getColor=function(){var t=this.options.color;return"to"==this.options.inheritColor?t={highlight:this.to.options.color.highlight.border,hover:this.to.options.color.hover.border,color:this.to.options.color.border}:("from"==this.options.inheritColor||1==this.options.inheritColor)&&(t={highlight:this.from.options.color.highlight.border,hover:this.from.options.color.hover.border,color:this.from.options.color.border}),1==this.selected?t.highlight:1==this.hover?t.hover:t.color},s.prototype._drawLine=function(t){if(t.strokeStyle=this._getColor(),t.lineWidth=this._getLineWidth(),this.from!=this.to){var e,i=this._line(t);if(this.label){if(1==this.options.smoothCurves.enabled&&null!=i){var s=.5*(.5*(this.from.x+i.x)+.5*(this.to.x+i.x)),o=.5*(.5*(this.from.y+i.y)+.5*(this.to.y+i.y));e={x:s,y:o}}else e=this._pointOnLine(.5);this._label(t,this.label,e.x,e.y)}}else{var n,r,a=this.physics.springLength/4,h=this.from;h.width||h.resize(t),h.width>h.height?(n=h.x+h.width/2,r=h.y-a):(n=h.x+a,r=h.y-h.height/2),this._circle(t,n,r,a),e=this._pointOnCircle(n,r,a,.5),this._label(t,this.label,e.x,e.y)}},s.prototype._getLineWidth=function(){return 1==this.selected?Math.max(Math.min(this.widthSelected,this.options.widthMax),.3*this.networkScaleInv):1==this.hover?Math.max(Math.min(this.options.hoverWidth,this.options.widthMax),.3*this.networkScaleInv):Math.max(this.options.width,.3*this.networkScaleInv)},s.prototype._getViaCoordinates=function(){var t=null,e=null,i=this.options.smoothCurves.roundness,s=this.options.smoothCurves.type,o=Math.abs(this.from.x-this.to.x),n=Math.abs(this.from.y-this.to.y);return"discrete"==s||"diagonalCross"==s?Math.abs(this.from.x-this.to.x)this.to.y?this.from.xthis.to.x&&(t=this.from.x-i*n,e=this.from.y-i*n):this.from.ythis.to.x&&(t=this.from.x-i*n,e=this.from.y+i*n)),"discrete"==s&&(t=i*n>o?this.from.x:t)):Math.abs(this.from.x-this.to.x)>Math.abs(this.from.y-this.to.y)&&(this.from.y>this.to.y?this.from.xthis.to.x&&(t=this.from.x-i*o,e=this.from.y-i*o):this.from.ythis.to.x&&(t=this.from.x-i*o,e=this.from.y+i*o)),"discrete"==s&&(e=i*o>n?this.from.y:e)):"straightCross"==s?Math.abs(this.from.x-this.to.x)Math.abs(this.from.y-this.to.y)&&(t=this.from.xthis.to.y?this.from.xthis.to.x&&(t=this.from.x-i*n,e=this.from.y-i*n,t=this.to.x>t?this.to.x:t):this.from.ythis.to.x&&(t=this.from.x-i*n,e=this.from.y+i*n,t=this.to.x>t?this.to.x:t)):Math.abs(this.from.x-this.to.x)>Math.abs(this.from.y-this.to.y)&&(this.from.y>this.to.y?this.from.xe?this.to.y:e):this.from.x>this.to.x&&(t=this.from.x-i*o,e=this.from.y-i*o,e=this.to.y>e?this.to.y:e):this.from.ythis.to.x&&(t=this.from.x-i*o,e=this.from.y+i*o,e=this.to.yd;d++){var l=t.measureText(n[d]).width;h=l>h?l:h}var c=this.options.fontSize*r,p=i-h/2,u=s-c/2;this.labelDimensions={top:u,left:p,width:h,height:c,yLine:o}}void 0!==this.options.fontFill&&null!==this.options.fontFill&&"none"!==this.options.fontFill&&(t.fillStyle=this.options.fontFill,t.fillRect(this.labelDimensions.left,this.labelDimensions.top,this.labelDimensions.width,this.labelDimensions.height)),t.fillStyle=this.options.fontColor||"black",t.textAlign="center",t.textBaseline="middle",o=this.labelDimensions.yLine;for(var d=0;r>d;d++)t.fillText(n[d],i,o),o+=a}},s.prototype._drawDashLine=function(t){t.strokeStyle=this._getColor(),t.lineWidth=this._getLineWidth();var e=null;if(void 0!==t.mozDash||void 0!==t.setLineDash){var i=[0];i=void 0!==this.options.dash.length&&void 0!==this.options.dash.gap?[this.options.dash.length,this.options.dash.gap]:[5,5],"undefined"!=typeof t.setLineDash?(t.setLineDash(i),t.lineDashOffset=0):(t.mozDash=i,t.mozDashOffset=0),e=this._line(t),"undefined"!=typeof t.setLineDash?(t.setLineDash([0]),t.lineDashOffset=0):(t.mozDash=[0],t.mozDashOffset=0)}else t.beginPath(),t.lineCap="round",void 0!==this.options.dash.altLength?t.dashedLine(this.from.x,this.from.y,this.to.x,this.to.y,[this.options.dash.length,this.options.dash.gap,this.options.dash.altLength,this.options.dash.gap]):void 0!==this.options.dash.length&&void 0!==this.options.dash.gap?t.dashedLine(this.from.x,this.from.y,this.to.x,this.to.y,[this.options.dash.length,this.options.dash.gap]):(t.moveTo(this.from.x,this.from.y),t.lineTo(this.to.x,this.to.y)),t.stroke();if(this.label){var s;if(1==this.options.smoothCurves.enabled&&null!=e){var o=.5*(.5*(this.from.x+e.x)+.5*(this.to.x+e.x)),n=.5*(.5*(this.from.y+e.y)+.5*(this.to.y+e.y));s={x:o,y:n}}else s=this._pointOnLine(.5);this._label(t,this.label,s.x,s.y)}},s.prototype._pointOnLine=function(t){return{x:(1-t)*this.from.x+t*this.to.x,y:(1-t)*this.from.y+t*this.to.y}},s.prototype._pointOnCircle=function(t,e,i,s){var o=2*(s-3/8)*Math.PI;return{x:t+i*Math.cos(o),y:e-i*Math.sin(o)}},s.prototype._drawArrowCenter=function(t){var e;if(t.strokeStyle=this._getColor(),t.lineWidth=this._getLineWidth(),this.from!=this.to){var i=this._line(t),s=Math.atan2(this.to.y-this.from.y,this.to.x-this.from.x),o=(10+5*this.options.width)*this.options.arrowScaleFactor;if(1==this.options.smoothCurves.enabled&&null!=i){var n=.5*(.5*(this.from.x+i.x)+.5*(this.to.x+i.x)),r=.5*(.5*(this.from.y+i.y)+.5*(this.to.y+i.y));e={x:n,y:r}}else e=this._pointOnLine(.5);t.arrow(e.x,e.y,s,o),t.fill(),t.stroke(),this.label&&this._label(t,this.label,e.x,e.y)}else{var a,h,d=.25*Math.max(100,this.physics.springLength),l=this.from;l.width||l.resize(t),l.width>l.height?(a=l.x+.5*l.width,h=l.y-d):(a=l.x+d,h=l.y-.5*l.height),this._circle(t,a,h,d);var s=.2*Math.PI,o=(10+5*this.options.width)*this.options.arrowScaleFactor;e=this._pointOnCircle(a,h,d,.5),t.arrow(e.x,e.y,s,o),t.fill(),t.stroke(),this.label&&(e=this._pointOnCircle(a,h,d,.5),this._label(t,this.label,e.x,e.y))}},s.prototype._drawArrow=function(t){t.strokeStyle=this._getColor(),t.lineWidth=this._getLineWidth();var e,i;if(this.from!=this.to){e=Math.atan2(this.to.y-this.from.y,this.to.x-this.from.x);var s,o=this.to.x-this.from.x,n=this.to.y-this.from.y,r=Math.sqrt(o*o+n*n),a=this.from.distanceToBorder(t,e+Math.PI),h=(r-a)/r,d=h*this.from.x+(1-h)*this.to.x,l=h*this.from.y+(1-h)*this.to.y;1==this.options.smoothCurves.dynamic&&1==this.options.smoothCurves.enabled?s=this.via:1==this.options.smoothCurves.enabled&&(s=this._getViaCoordinates()),1==this.options.smoothCurves.enabled&&null!=s.x&&(e=Math.atan2(this.to.y-s.y,this.to.x-s.x),o=this.to.x-s.x,n=this.to.y-s.y,r=Math.sqrt(o*o+n*n));var c,p,u=this.to.distanceToBorder(t,e),f=(r-u)/r;if(1==this.options.smoothCurves.enabled&&null!=s.x?(c=(1-f)*s.x+f*this.to.x,p=(1-f)*s.y+f*this.to.y):(c=(1-f)*this.from.x+f*this.to.x,p=(1-f)*this.from.y+f*this.to.y),t.beginPath(),t.moveTo(d,l),1==this.options.smoothCurves.enabled&&null!=s.x?t.quadraticCurveTo(s.x,s.y,c,p):t.lineTo(c,p),t.stroke(),i=(10+5*this.options.width)*this.options.arrowScaleFactor,t.arrow(c,p,e,i),t.fill(),t.stroke(),this.label){var m;if(1==this.options.smoothCurves.enabled&&null!=s){var g=.5*(.5*(this.from.x+s.x)+.5*(this.to.x+s.x)),v=.5*(.5*(this.from.y+s.y)+.5*(this.to.y+s.y));m={x:g,y:v}}else m=this._pointOnLine(.5);this._label(t,this.label,m.x,m.y)}}else{var y,b,_,x=this.from,w=.25*Math.max(100,this.physics.springLength);x.width||x.resize(t),x.width>x.height?(y=x.x+.5*x.width,b=x.y-w,_={x:y,y:x.y,angle:.9*Math.PI}):(y=x.x+w,b=x.y-.5*x.height,_={x:x.x,y:b,angle:.6*Math.PI}),t.beginPath(),t.arc(y,b,w,0,2*Math.PI,!1),t.stroke();var i=(10+5*this.options.width)*this.options.arrowScaleFactor;t.arrow(_.x,_.y,_.angle,i),t.fill(),t.stroke(),this.label&&(m=this._pointOnCircle(y,b,w,.5),this._label(t,this.label,m.x,m.y))}},s.prototype._getDistanceToEdge=function(t,e,i,s,o,n){var r=0;if(this.from!=this.to)if(1==this.options.smoothCurves.enabled){var a,h;if(1==this.options.smoothCurves.enabled&&1==this.options.smoothCurves.dynamic)a=this.via.x,h=this.via.y;else{var d=this._getViaCoordinates();a=d.x,h=d.y}var l,c,p,u,f,m,g,v=1e9;for(c=0;10>c;c++)p=.1*c,u=Math.pow(1-p,2)*t+2*p*(1-p)*a+Math.pow(p,2)*i,f=Math.pow(1-p,2)*e+2*p*(1-p)*h+Math.pow(p,2)*s,c>0&&(l=this._getDistanceToLine(m,g,u,f,o,n),v=v>l?l:v),m=u,g=f;r=v}else r=this._getDistanceToLine(t,e,i,s,o,n);else{var u,f,y,b,_=.25*this.physics.springLength,x=this.from;x.width>x.height?(u=x.x+.5*x.width,f=x.y-_):(u=x.x+_,f=x.y-.5*x.height),y=u-o,b=f-n,r=Math.abs(Math.sqrt(y*y+b*b)-_)}return this.labelDimensions.lefto&&this.labelDimensions.topn?0:r},s.prototype._getDistanceToLine=function(t,e,i,s,o,n){var r=i-t,a=s-e,h=r*r+a*a,d=((o-t)*r+(n-e)*a)/h;d>1?d=1:0>d&&(d=0);var l=t+d*r,c=e+d*a,p=l-o,u=c-n;return Math.sqrt(p*p+u*u)},s.prototype.setScale=function(t){this.networkScaleInv=1/t},s.prototype.select=function(){this.selected=!0},s.prototype.unselect=function(){this.selected=!1},s.prototype.positionBezierNode=function(){null!==this.via&&null!==this.from&&null!==this.to&&(this.via.x=.5*(this.from.x+this.to.x),this.via.y=.5*(this.from.y+this.to.y))},s.prototype._drawControlNodes=function(t){if(1==this.controlNodesEnabled){if(null===this.controlNodes.from&&null===this.controlNodes.to){var e="edgeIdFrom:".concat(this.id),i="edgeIdTo:".concat(this.id),s={nodes:{group:"",radius:8},physics:{damping:0},clustering:{maxNodeSizeIncrements:0,nodeScaling:{width:0,height:0,radius:0}}};this.controlNodes.from=new n({id:e,shape:"dot",color:{background:"#ff4e00",border:"#3c3c3c",highlight:{background:"#07f968"}}},{},{},s),this.controlNodes.to=new n({id:i,shape:"dot",color:{background:"#ff4e00",border:"#3c3c3c",highlight:{background:"#07f968"}}},{},{},s)}0==this.controlNodes.from.selected&&0==this.controlNodes.to.selected&&(this.controlNodes.positions=this.getControlNodePositions(t),this.controlNodes.from.x=this.controlNodes.positions.from.x,this.controlNodes.from.y=this.controlNodes.positions.from.y,this.controlNodes.to.x=this.controlNodes.positions.to.x,this.controlNodes.to.y=this.controlNodes.positions.to.y),this.controlNodes.from.draw(t),this.controlNodes.to.draw(t)}else this.controlNodes={from:null,to:null,positions:{}}},s.prototype._enableControlNodes=function(){this.controlNodesEnabled=!0},s.prototype._disableControlNodes=function(){this.controlNodesEnabled=!1},s.prototype._getSelectedControlNode=function(t,e){var i=this.controlNodes.positions,s=Math.sqrt(Math.pow(t-i.from.x,2)+Math.pow(e-i.from.y,2)),o=Math.sqrt(Math.pow(t-i.to.x,2)+Math.pow(e-i.to.y,2));return 15>s?(this.connectedNode=this.from,this.from=this.controlNodes.from,this.controlNodes.from):15>o?(this.connectedNode=this.to,this.to=this.controlNodes.to,this.controlNodes.to):null},s.prototype._restoreControlNodes=function(){1==this.controlNodes.from.selected&&(this.from=this.connectedNode,this.connectedNode=null,this.controlNodes.from.unselect()),1==this.controlNodes.to.selected&&(this.to=this.connectedNode,this.connectedNode=null,this.controlNodes.to.unselect())},s.prototype.getControlNodePositions=function(t){var e,i=Math.atan2(this.to.y-this.from.y,this.to.x-this.from.x),s=this.to.x-this.from.x,o=this.to.y-this.from.y,n=Math.sqrt(s*s+o*o),r=this.from.distanceToBorder(t,i+Math.PI),a=(n-r)/n,h=a*this.from.x+(1-a)*this.to.x,d=a*this.from.y+(1-a)*this.to.y;1==this.options.smoothCurves.dynamic&&1==this.options.smoothCurves.enabled?e=this.via:1==this.options.smoothCurves.enabled&&(e=this._getViaCoordinates()),1==this.options.smoothCurves.enabled&&null!=e.x&&(i=Math.atan2(this.to.y-e.y,this.to.x-e.x),s=this.to.x-e.x,o=this.to.y-e.y,n=Math.sqrt(s*s+o*o));var l,c,p=this.to.distanceToBorder(t,i),u=(n-p)/n;return 1==this.options.smoothCurves.enabled&&null!=e.x?(l=(1-u)*e.x+u*this.to.x,c=(1-u)*e.y+u*this.to.y):(l=(1-u)*this.from.x+u*this.to.x,c=(1-u)*this.from.y+u*this.to.y),{from:{x:h,y:d},to:{x:l,y:c}}},t.exports=s},function(t,e,i){function s(){this.clear(),this.defaultIndex=0}var o=i(1);s.DEFAULT=[{border:"#2B7CE9",background:"#97C2FC",highlight:{border:"#2B7CE9",background:"#D2E5FF"},hover:{border:"#2B7CE9",background:"#D2E5FF"}},{border:"#FFA500",background:"#FFFF00",highlight:{border:"#FFA500",background:"#FFFFA3"},hover:{border:"#FFA500",background:"#FFFFA3"}},{border:"#FA0A10",background:"#FB7E81",highlight:{border:"#FA0A10",background:"#FFAFB1"},hover:{border:"#FA0A10",background:"#FFAFB1"}},{border:"#41A906",background:"#7BE141",highlight:{border:"#41A906",background:"#A1EC76"},hover:{border:"#41A906",background:"#A1EC76"}},{border:"#E129F0",background:"#EB7DF4",highlight:{border:"#E129F0",background:"#F0B3F5"},hover:{border:"#E129F0",background:"#F0B3F5"}},{border:"#7C29F0",background:"#AD85E4",highlight:{border:"#7C29F0",background:"#D3BDF0"},hover:{border:"#7C29F0",background:"#D3BDF0"}},{border:"#C37F00",background:"#FFA807",highlight:{border:"#C37F00",background:"#FFCA66"},hover:{border:"#C37F00",background:"#FFCA66"}},{border:"#4220FB",background:"#6E6EFD",highlight:{border:"#4220FB",background:"#9B9BFD"},hover:{border:"#4220FB",background:"#9B9BFD"}},{border:"#FD5A77",background:"#FFC0CB",highlight:{border:"#FD5A77",background:"#FFD1D9"},hover:{border:"#FD5A77",background:"#FFD1D9"}},{border:"#4AD63A",background:"#C2FABC",highlight:{border:"#4AD63A",background:"#E6FFE3"},hover:{border:"#4AD63A",background:"#E6FFE3"}}],s.prototype.clear=function(){this.groups={},this.groups.length=function(){var t=0;for(var e in this)this.hasOwnProperty(e)&&t++;return t}},s.prototype.get=function(t){var e=this.groups[t];if(void 0==e){var i=this.defaultIndex%s.DEFAULT.length;this.defaultIndex++,e={},e.color=s.DEFAULT[i],this.groups[t]=e}return e},s.prototype.add=function(t,e){return this.groups[t]=e,e.color&&(e.color=o.parseColor(e.color)),e},t.exports=s},function(t){function e(){this.images={},this.callback=void 0}e.prototype.setOnloadCallback=function(t){this.callback=t},e.prototype.load=function(t,e){var i=this.images[t];if(void 0==i){var s=this;i=new Image,this.images[t]=i,i.onload=function(){s.callback&&s.callback(this)},i.onerror=function(){this.src=e,s.callback&&s.callback(this)},i.src=t}return i},t.exports=e},function(t,e,i){function s(t,e,i,s){var n=o.selectiveBridgeObject(["nodes"],s);this.options=n.nodes,this.selected=!1,this.hover=!1,this.edges=[],this.dynamicEdges=[],this.reroutedEdges={},this.fontDrawThreshold=3,this.id=void 0,this.x=null,this.y=null,this.allowedToMoveX=!1,this.allowedToMoveY=!1,this.xFixed=!1,this.yFixed=!1,this.horizontalAlignLeft=!0,this.verticalAlignTop=!0,this.baseRadiusValue=s.nodes.radius,this.radiusFixed=!1,this.level=-1,this.preassignedLevel=!1,this.hierarchyEnumerated=!1,this.labelDimensions={top:0,left:0,width:0,height:0,yLine:0},this.imagelist=e,this.grouplist=i,this.fx=0,this.fy=0,this.vx=0,this.vy=0,this.damping=s.physics.damping,this.fixedData={x:null,y:null},this.setProperties(t,n),this.resetCluster(),this.dynamicEdgesLength=0,this.clusterSession=0,this.clusterSizeWidthFactor=s.clustering.nodeScaling.width,this.clusterSizeHeightFactor=s.clustering.nodeScaling.height,this.clusterSizeRadiusFactor=s.clustering.nodeScaling.radius,this.maxNodeSizeIncrements=s.clustering.maxNodeSizeIncrements,this.growthIndicator=0,this.networkScaleInv=1,this.networkScale=1,this.canvasTopLeft={x:-300,y:-300},this.canvasBottomRight={x:300,y:300},this.parentEdgeId=null}var o=i(1);s.prototype.resetCluster=function(){this.formationScale=void 0,this.clusterSize=1,this.containedNodes={},this.containedEdges={},this.clusterSessions=[]},s.prototype.attachEdge=function(t){-1==this.edges.indexOf(t)&&this.edges.push(t),-1==this.dynamicEdges.indexOf(t)&&this.dynamicEdges.push(t),this.dynamicEdgesLength=this.dynamicEdges.length},s.prototype.detachEdge=function(t){var e=this.edges.indexOf(t);-1!=e&&this.edges.splice(e,1),e=this.dynamicEdges.indexOf(t),-1!=e&&this.dynamicEdges.splice(e,1),this.dynamicEdgesLength=this.dynamicEdges.length},s.prototype.setProperties=function(t,e){if(t){var i=["borderWidth","borderWidthSelected","shape","image","brokenImage","radius","fontColor","fontSize","fontFace","fontFill","group","mass"];if(o.selectiveDeepExtend(i,this.options,t),void 0!==t.id&&(this.id=t.id),void 0!==t.label&&(this.label=t.label,this.originalLabel=t.label),void 0!==t.title&&(this.title=t.title),void 0!==t.x&&(this.x=t.x),void 0!==t.y&&(this.y=t.y),void 0!==t.value&&(this.value=t.value),void 0!==t.level&&(this.level=t.level,this.preassignedLevel=!0),void 0!==t.horizontalAlignLeft&&(this.horizontalAlignLeft=t.horizontalAlignLeft),void 0!==t.verticalAlignTop&&(this.verticalAlignTop=t.verticalAlignTop),void 0!==t.triggerFunction&&(this.triggerFunction=t.triggerFunction),void 0===this.id)throw"Node must have an id";if("number"==typeof this.options.group||"string"==typeof this.options.group&&""!=this.options.group){var s=this.grouplist.get(this.options.group);for(var n in s)s.hasOwnProperty(n)&&(this.options[n]=s[n])}if(void 0!==t.radius&&(this.baseRadiusValue=this.options.radius),void 0!==t.color&&(this.options.color=o.parseColor(t.color)),void 0!==this.options.image&&""!=this.options.image){if(!this.imagelist)throw"No imagelist provided";this.imageObj=this.imagelist.load(this.options.image,this.options.brokenImage)}switch(void 0!==t.allowedToMoveX?(this.xFixed=!t.allowedToMoveX,this.allowedToMoveX=t.allowedToMoveX):void 0!==t.x&&0==this.allowedToMoveX&&(this.xFixed=!0),void 0!==t.allowedToMoveY?(this.yFixed=!t.allowedToMoveY,this.allowedToMoveY=t.allowedToMoveY):void 0!==t.y&&0==this.allowedToMoveY&&(this.yFixed=!0),this.radiusFixed=this.radiusFixed||void 0!==t.radius,"image"==this.options.shape&&(this.options.radiusMin=e.nodes.widthMin,this.options.radiusMax=e.nodes.widthMax),this.options.shape){case"database":this.draw=this._drawDatabase,this.resize=this._resizeDatabase;break;case"box":this.draw=this._drawBox,this.resize=this._resizeBox;break;case"circle":this.draw=this._drawCircle,this.resize=this._resizeCircle;break;case"ellipse":this.draw=this._drawEllipse,this.resize=this._resizeEllipse;break;case"image":this.draw=this._drawImage,this.resize=this._resizeImage;break;case"text":this.draw=this._drawText,this.resize=this._resizeText;break;case"dot":this.draw=this._drawDot,this.resize=this._resizeShape;break;case"square":this.draw=this._drawSquare,this.resize=this._resizeShape;break;case"triangle":this.draw=this._drawTriangle,this.resize=this._resizeShape;break;case"triangleDown":this.draw=this._drawTriangleDown,this.resize=this._resizeShape;break;case"star":this.draw=this._drawStar,this.resize=this._resizeShape;break;default:this.draw=this._drawEllipse,this.resize=this._resizeEllipse}this._reset()}},s.prototype.select=function(){this.selected=!0,this._reset()},s.prototype.unselect=function(){this.selected=!1,this._reset()},s.prototype.clearSizeCache=function(){this._reset()},s.prototype._reset=function(){this.width=void 0,this.height=void 0},s.prototype.getTitle=function(){return"function"==typeof this.title?this.title():this.title},s.prototype.distanceToBorder=function(t,e){var i=1;switch(this.width||this.resize(t),this.options.shape){case"circle":case"dot":return this.options.radius+i;case"ellipse":var s=this.width/2,o=this.height/2,n=Math.sin(e)*s,r=Math.cos(e)*o;return s*o/Math.sqrt(n*n+r*r);case"box":case"image":case"text":default:return this.width?Math.min(Math.abs(this.width/2/Math.cos(e)),Math.abs(this.height/2/Math.sin(e)))+i:0}},s.prototype._setForce=function(t,e){this.fx=t,this.fy=e},s.prototype._addForce=function(t,e){this.fx+=t,this.fy+=e},s.prototype.discreteStep=function(t){if(this.xFixed)this.fx=0,this.vx=0;else{var e=this.damping*this.vx,i=(this.fx-e)/this.options.mass;this.vx+=i*t,this.x+=this.vx*t}if(this.yFixed)this.fy=0,this.vy=0;else{var s=this.damping*this.vy,o=(this.fy-s)/this.options.mass;this.vy+=o*t,this.y+=this.vy*t}},s.prototype.discreteStepLimited=function(t,e){if(this.xFixed)this.fx=0,this.vx=0;else{var i=this.damping*this.vx,s=(this.fx-i)/this.options.mass;this.vx+=s*t,this.vx=Math.abs(this.vx)>e?this.vx>0?e:-e:this.vx,this.x+=this.vx*t}if(this.yFixed)this.fy=0,this.vy=0;else{var o=this.damping*this.vy,n=(this.fy-o)/this.options.mass;this.vy+=n*t,this.vy=Math.abs(this.vy)>e?this.vy>0?e:-e:this.vy,this.y+=this.vy*t}},s.prototype.isFixed=function(){return this.xFixed&&this.yFixed},s.prototype.isMoving=function(t){var e=Math.sqrt(Math.pow(this.vx,2)+Math.pow(this.vy,2));return e>t},s.prototype.isSelected=function(){return this.selected},s.prototype.getValue=function(){return this.value},s.prototype.getDistance=function(t,e){var i=this.x-t,s=this.y-e;return Math.sqrt(i*i+s*s)},s.prototype.setValueRange=function(t,e){if(!this.radiusFixed&&void 0!==this.value)if(e==t)this.options.radius=(this.options.radiusMin+this.options.radiusMax)/2;else{var i=(this.options.radiusMax-this.options.radiusMin)/(e-t);this.options.radius=(this.value-t)*i+this.options.radiusMin}this.baseRadiusValue=this.options.radius},s.prototype.draw=function(){throw"Draw method not initialized for node"},s.prototype.resize=function(){throw"Resize method not initialized for node"},s.prototype.isOverlappingWith=function(t){return this.leftt.left&&this.topt.top},s.prototype._resizeImage=function(){if(!this.width||!this.height){var t,e;if(this.value){this.options.radius=this.baseRadiusValue;var i=this.imageObj.height/this.imageObj.width;void 0!==i?(t=this.options.radius||this.imageObj.width,e=this.options.radius*i||this.imageObj.height):(t=0,e=0)}else t=this.imageObj.width,e=this.imageObj.height;this.width=t,this.height=e,this.growthIndicator=0,this.width>0&&this.height>0&&(this.width+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeWidthFactor,this.height+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeHeightFactor,this.options.radius+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeRadiusFactor,this.growthIndicator=this.width-t)}},s.prototype._drawImage=function(t){this._resizeImage(t),this.left=this.x-this.width/2,this.top=this.y-this.height/2;var e;if(0!=this.imageObj.width){if(this.clusterSize>1){var i=this.clusterSize>1?10:0;i*=this.networkScaleInv,i=Math.min(.2*this.width,i),t.globalAlpha=.5,t.drawImage(this.imageObj,this.left-i,this.top-i,this.width+2*i,this.height+2*i)}t.globalAlpha=1,t.drawImage(this.imageObj,this.left,this.top,this.width,this.height),e=this.y+this.height/2}else e=this.y;this._label(t,this.label,this.x,e,void 0,"top")},s.prototype._resizeBox=function(t){if(!this.width){var e=5,i=this.getTextSize(t);this.width=i.width+2*e,this.height=i.height+2*e,this.width+=.5*Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeWidthFactor,this.height+=.5*Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeHeightFactor,this.growthIndicator=this.width-(i.width+2*e)}},s.prototype._drawBox=function(t){this._resizeBox(t),this.left=this.x-this.width/2,this.top=this.y-this.height/2;var e=2.5,i=this.options.borderWidth,s=this.options.borderWidthSelected||2*this.options.borderWidth;t.strokeStyle=this.selected?this.options.color.highlight.border:this.hover?this.options.color.hover.border:this.options.color.border,this.clusterSize>1&&(t.lineWidth=(this.selected?s:i)+(this.clusterSize>1?e:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t.roundRect(this.left-2*t.lineWidth,this.top-2*t.lineWidth,this.width+4*t.lineWidth,this.height+4*t.lineWidth,this.options.radius),t.stroke()),t.lineWidth=(this.selected?s:i)+(this.clusterSize>1?e:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t.fillStyle=this.selected?this.options.color.highlight.background:this.options.color.background,t.roundRect(this.left,this.top,this.width,this.height,this.options.radius),t.fill(),t.stroke(),this._label(t,this.label,this.x,this.y)},s.prototype._resizeDatabase=function(t){if(!this.width){var e=5,i=this.getTextSize(t),s=i.width+2*e;this.width=s,this.height=s,this.width+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeWidthFactor,this.height+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeHeightFactor,this.options.radius+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeRadiusFactor,this.growthIndicator=this.width-s}},s.prototype._drawDatabase=function(t){this._resizeDatabase(t),this.left=this.x-this.width/2,this.top=this.y-this.height/2;var e=2.5,i=this.options.borderWidth,s=this.options.borderWidthSelected||2*this.options.borderWidth;t.strokeStyle=this.selected?this.options.color.highlight.border:this.hover?this.options.color.hover.border:this.options.color.border,this.clusterSize>1&&(t.lineWidth=(this.selected?s:i)+(this.clusterSize>1?e:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t.database(this.x-this.width/2-2*t.lineWidth,this.y-.5*this.height-2*t.lineWidth,this.width+4*t.lineWidth,this.height+4*t.lineWidth),t.stroke()),t.lineWidth=(this.selected?s:i)+(this.clusterSize>1?e:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t.fillStyle=this.selected?this.options.color.highlight.background:this.hover?this.options.color.hover.background:this.options.color.background,t.database(this.x-this.width/2,this.y-.5*this.height,this.width,this.height),t.fill(),t.stroke(),this._label(t,this.label,this.x,this.y)},s.prototype._resizeCircle=function(t){if(!this.width){var e=5,i=this.getTextSize(t),s=Math.max(i.width,i.height)+2*e;this.options.radius=s/2,this.width=s,this.height=s,this.options.radius+=.5*Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeRadiusFactor,this.growthIndicator=this.options.radius-.5*s}},s.prototype._drawCircle=function(t){this._resizeCircle(t),this.left=this.x-this.width/2,this.top=this.y-this.height/2;var e=2.5,i=this.options.borderWidth,s=this.options.borderWidthSelected||2*this.options.borderWidth;t.strokeStyle=this.selected?this.options.color.highlight.border:this.hover?this.options.color.hover.border:this.options.color.border,this.clusterSize>1&&(t.lineWidth=(this.selected?s:i)+(this.clusterSize>1?e:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t.circle(this.x,this.y,this.options.radius+2*t.lineWidth),t.stroke()),t.lineWidth=(this.selected?s:i)+(this.clusterSize>1?e:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t.fillStyle=this.selected?this.options.color.highlight.background:this.hover?this.options.color.hover.background:this.options.color.background,t.circle(this.x,this.y,this.options.radius),t.fill(),t.stroke(),this._label(t,this.label,this.x,this.y)},s.prototype._resizeEllipse=function(t){if(!this.width){var e=this.getTextSize(t);this.width=1.5*e.width,this.height=2*e.height,this.width1&&(t.lineWidth=(this.selected?s:i)+(this.clusterSize>1?e:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t.ellipse(this.left-2*t.lineWidth,this.top-2*t.lineWidth,this.width+4*t.lineWidth,this.height+4*t.lineWidth),t.stroke()),t.lineWidth=(this.selected?s:i)+(this.clusterSize>1?e:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t.fillStyle=this.selected?this.options.color.highlight.background:this.hover?this.options.color.hover.background:this.options.color.background,t.ellipse(this.left,this.top,this.width,this.height),t.fill(),t.stroke(),this._label(t,this.label,this.x,this.y)},s.prototype._drawDot=function(t){this._drawShape(t,"circle")},s.prototype._drawTriangle=function(t){this._drawShape(t,"triangle")},s.prototype._drawTriangleDown=function(t){this._drawShape(t,"triangleDown")},s.prototype._drawSquare=function(t){this._drawShape(t,"square")},s.prototype._drawStar=function(t){this._drawShape(t,"star")},s.prototype._resizeShape=function(){if(!this.width){this.options.radius=this.baseRadiusValue;var t=2*this.options.radius;this.width=t,this.height=t,this.width+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeWidthFactor,this.height+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeHeightFactor,this.options.radius+=.5*Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeRadiusFactor,this.growthIndicator=this.width-t}},s.prototype._drawShape=function(t,e){this._resizeShape(t),this.left=this.x-this.width/2,this.top=this.y-this.height/2;var i=2.5,s=this.options.borderWidth,o=this.options.borderWidthSelected||2*this.options.borderWidth,n=2;switch(e){case"dot":n=2;break;case"square":n=2;break;case"triangle":n=3;break;case"triangleDown":n=3;break;case"star":n=4}t.strokeStyle=this.selected?this.options.color.highlight.border:this.hover?this.options.color.hover.border:this.options.color.border,this.clusterSize>1&&(t.lineWidth=(this.selected?o:s)+(this.clusterSize>1?i:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t[e](this.x,this.y,this.options.radius+n*t.lineWidth),t.stroke()),t.lineWidth=(this.selected?o:s)+(this.clusterSize>1?i:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t.fillStyle=this.selected?this.options.color.highlight.background:this.hover?this.options.color.hover.background:this.options.color.background,t[e](this.x,this.y,this.options.radius),t.fill(),t.stroke(),this.label&&this._label(t,this.label,this.x,this.y+this.height/2,void 0,"top",!0)},s.prototype._resizeText=function(t){if(!this.width){var e=5,i=this.getTextSize(t);this.width=i.width+2*e,this.height=i.height+2*e,this.width+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeWidthFactor,this.height+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeHeightFactor,this.options.radius+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeRadiusFactor,this.growthIndicator=this.width-(i.width+2*e)}},s.prototype._drawText=function(t){this._resizeText(t),this.left=this.x-this.width/2,this.top=this.y-this.height/2,this._label(t,this.label,this.x,this.y)},s.prototype._label=function(t,e,i,s,o,n,r){if(e&&Number(this.options.fontSize)*this.networkScale>this.fontDrawThreshold){t.font=(this.selected?"bold ":"")+this.options.fontSize+"px "+this.options.fontFace;var a=e.split("\n"),h=a.length,d=Number(this.options.fontSize)+4,l=s+(1-h)/2*d;1==r&&(l=s+(1-h)/(2*d));for(var c=t.measureText(a[0]).width,p=1;h>p;p++){var u=t.measureText(a[p]).width;c=u>c?u:c}var f=this.options.fontSize*h,m=i-c/2,g=s-f/2;"top"==n&&(g+=.5*d),this.labelDimensions={top:g,left:m,width:c,height:f,yLine:l},void 0!==this.options.fontFill&&null!==this.options.fontFill&&"none"!==this.options.fontFill&&(t.fillStyle=this.options.fontFill,t.fillRect(m,g,c,f)),t.fillStyle=this.options.fontColor||"black",t.textAlign=o||"center",t.textBaseline=n||"middle";for(var p=0;h>p;p++)t.fillText(a[p],i,l),l+=d}},s.prototype.getTextSize=function(t){if(void 0!==this.label){t.font=(this.selected?"bold ":"")+this.options.fontSize+"px "+this.options.fontFace;for(var e=this.label.split("\n"),i=(Number(this.options.fontSize)+4)*e.length,s=0,o=0,n=e.length;n>o;o++)s=Math.max(s,t.measureText(e[o]).width);return{width:s,height:i}}return{width:0,height:0}},s.prototype.inArea=function(){return void 0!==this.width?this.x+this.width*this.networkScaleInv>=this.canvasTopLeft.x&&this.x-this.width*this.networkScaleInv=this.canvasTopLeft.y&&this.y-this.height*this.networkScaleInv=this.canvasTopLeft.x&&this.x=this.canvasTopLeft.y&&this.ys&&(n=s-e-this.padding),no&&(r=o-i-this.padding),ri;i++)if(e.id===r.nodes[i].id){o=r.nodes[i];break}for(o||(o={id:e.id},t.node&&(o.attr=a(o.attr,t.node))),i=n.length-1;i>=0;i--){var h=n[i];h.nodes||(h.nodes=[]),-1==h.nodes.indexOf(o)&&h.nodes.push(o)}e.attr&&(o.attr=a(o.attr,e.attr))}function l(t,e){if(t.edges||(t.edges=[]),t.edges.push(e),t.edge){var i=a({},t.edge);e.attr=a(i,e.attr)}}function c(t,e,i,s,o){var n={from:e,to:i,type:s};return t.edge&&(n.attr=a({},t.edge)),n.attr=a(n.attr||{},o),n}function p(){for(k=M.NULL,L="";" "==O||" "==O||"\n"==O||"\r"==O;)o();do{var t=!1;if("#"==O){for(var e=T-1;" "==E.charAt(e)||" "==E.charAt(e);)e--;if("\n"==E.charAt(e)||""==E.charAt(e)){for(;""!=O&&"\n"!=O;)o();t=!0}}if("/"==O&&"/"==n()){for(;""!=O&&"\n"!=O;)o();t=!0}if("/"==O&&"*"==n()){for(;""!=O;){if("*"==O&&"/"==n()){o(),o();break}o()}t=!0}for(;" "==O||" "==O||"\n"==O||"\r"==O;)o()}while(t);if(""==O)return void(k=M.DELIMITER);var i=O+n();if(C[i])return k=M.DELIMITER,L=i,o(),void o();if(C[O])return k=M.DELIMITER,L=O,void o();if(r(O)||"-"==O){for(L+=O,o();r(O);)L+=O,o();return"false"==L?L=!1:"true"==L?L=!0:isNaN(Number(L))||(L=Number(L)),void(k=M.IDENTIFIER)}if('"'==O){for(o();""!=O&&('"'!=O||'"'==O&&'"'==n());)L+=O,'"'==O&&o(),o();if('"'!=O)throw x('End of string " expected');return o(),void(k=M.IDENTIFIER)}for(k=M.UNKNOWN;""!=O;)L+=O,o();throw new SyntaxError('Syntax error in part "'+w(L,30)+'"')}function u(){var t={};if(s(),p(),"strict"==L&&(t.strict=!0,p()),("graph"==L||"digraph"==L)&&(t.type=L,p()),k==M.IDENTIFIER&&(t.id=L,p()),"{"!=L)throw x("Angle bracket { expected");if(p(),f(t),"}"!=L)throw x("Angle bracket } expected");if(p(),""!==L)throw x("End of file expected");return p(),delete t.node,delete t.edge,delete t.graph,t}function f(t){for(;""!==L&&"}"!=L;)m(t),";"==L&&p()}function m(t){var e=g(t);if(e)return void b(t,e);var i=v(t);if(!i){if(k!=M.IDENTIFIER)throw x("Identifier expected");var s=L;if(p(),"="==L){if(p(),k!=M.IDENTIFIER)throw x("Identifier expected");t[s]=L,p()}else y(t,s)}}function g(t){var e=null;if("subgraph"==L&&(e={},e.type="subgraph",p(),k==M.IDENTIFIER&&(e.id=L,p())),"{"==L){if(p(),e||(e={}),e.parent=t,e.node=t.node,e.edge=t.edge,e.graph=t.graph,f(e),"}"!=L)throw x("Angle bracket } expected");p(),delete e.node,delete e.edge,delete e.graph,delete e.parent,t.subgraphs||(t.subgraphs=[]),t.subgraphs.push(e)}return e}function v(t){return"node"==L?(p(),t.node=_(),"node"):"edge"==L?(p(),t.edge=_(),"edge"):"graph"==L?(p(),t.graph=_(),"graph"):null}function y(t,e){var i={id:e},s=_();s&&(i.attr=s),d(t,i),b(t,e)}function b(t,e){for(;"->"==L||"--"==L;){var i,s=L;p();var o=g(t);if(o)i=o;else{if(k!=M.IDENTIFIER)throw x("Identifier or subgraph expected");i=L,d(t,{id:i}),p()}var n=_(),r=c(t,e,i,s,n);l(t,r),e=i}}function _(){for(var t=null;"["==L;){for(p(),t={};""!==L&&"]"!=L;){if(k!=M.IDENTIFIER)throw x("Attribute name expected");var e=L;if(p(),"="!=L)throw x("Equal sign = expected");if(p(),k!=M.IDENTIFIER)throw x("Attribute value expected");var i=L;h(t,e,i),p(),","==L&&p()}if("]"!=L)throw x("Bracket ] expected");p()}return t}function x(t){return new SyntaxError(t+', got "'+w(L,30)+'" (char '+T+")")}function w(t,e){return t.length<=e?t:t.substr(0,27)+"..."}function S(t,e,i){Array.isArray(t)?t.forEach(function(t){Array.isArray(e)?e.forEach(function(e){i(t,e)}):i(t,e)}):Array.isArray(e)?e.forEach(function(e){i(t,e)}):i(t,e)}function D(t){function e(t){var e={from:t.from,to:t.to};return a(e,t.attr),e.style="->"==t.type?"arrow":"line",e}var s=i(t),o={nodes:[],edges:[],options:{}};return s.nodes&&s.nodes.forEach(function(t){var e={id:t.id,label:String(t.label||t.id)};a(e,t.attr),e.image&&(e.shape="image"),o.nodes.push(e)}),s.edges&&s.edges.forEach(function(t){var i,s;i=t.from instanceof Object?t.from.nodes:{id:t.from},s=t.to instanceof Object?t.to.nodes:{id:t.to},t.from instanceof Object&&t.from.edges&&t.from.edges.forEach(function(t){var i=e(t);o.edges.push(i)}),S(i,s,function(i,s){var n=c(o,i.id,s.id,t.type,t.attr),r=e(n);o.edges.push(r)}),t.to instanceof Object&&t.to.edges&&t.to.edges.forEach(function(t){var i=e(t);o.edges.push(i)})}),s.attr&&(o.options=s.attr),o}var M={NULL:0,DELIMITER:1,IDENTIFIER:2,UNKNOWN:3},C={"{":!0,"}":!0,"[":!0,"]":!0,";":!0,"=":!0,",":!0,"->":!0,"--":!0},E="",T=0,O="",L="",k=M.NULL,N=/[a-zA-Z_0-9.:#]/;e.parseDOT=i,e.DOTToGraph=D},function(t,e){function i(t,e){var i=[],s=[];this.options={edges:{inheritColor:!0},nodes:{allowedToMove:!1,parseColor:!1}},void 0!==e&&(this.options.nodes.allowedToMove=e.allowedToMove|!1,this.options.nodes.parseColor=e.parseColor|!1,this.options.edges.inheritColor=e.inheritColor|!0);for(var o=t.edges,n=t.nodes,r=0;rthis.max&&this.flush(),"number"==typeof this.delay){var e=this;clearTimeout(this._timeout),this._timeout=setTimeout(function(){e.flush()},this.delay)}},e.prototype.flush=function(){for(;this._queue.length>0;){var t=this._queue.shift();t.fn.apply(t.context||t.fn,t.args||[])}},t.exports=e},function(t,e,i){function s(){}var o=i(53),n=i(44),r=i(1),a=(i(3),i(4),i(16),i(29),i(20),i(21),i(26),i(52)),h=i(14);o(s.prototype),s.prototype._create=function(t){this.dom={},this.dom.root=document.createElement("div"),this.dom.background=document.createElement("div"),this.dom.backgroundVertical=document.createElement("div"),this.dom.backgroundHorizontal=document.createElement("div"),this.dom.centerContainer=document.createElement("div"),this.dom.leftContainer=document.createElement("div"),this.dom.rightContainer=document.createElement("div"),this.dom.center=document.createElement("div"),this.dom.left=document.createElement("div"),this.dom.right=document.createElement("div"),this.dom.top=document.createElement("div"),this.dom.bottom=document.createElement("div"),this.dom.shadowTop=document.createElement("div"),this.dom.shadowBottom=document.createElement("div"),this.dom.shadowTopLeft=document.createElement("div"),this.dom.shadowBottomLeft=document.createElement("div"),this.dom.shadowTopRight=document.createElement("div"),this.dom.shadowBottomRight=document.createElement("div"),this.dom.root.className="vis timeline root",this.dom.background.className="vispanel background",this.dom.backgroundVertical.className="vispanel background vertical",this.dom.backgroundHorizontal.className="vispanel background horizontal",this.dom.centerContainer.className="vispanel center",this.dom.leftContainer.className="vispanel left",this.dom.rightContainer.className="vispanel right",this.dom.top.className="vispanel top",this.dom.bottom.className="vispanel bottom",this.dom.left.className="content",this.dom.center.className="content",this.dom.right.className="content",this.dom.shadowTop.className="shadow top",this.dom.shadowBottom.className="shadow bottom",this.dom.shadowTopLeft.className="shadow top",this.dom.shadowBottomLeft.className="shadow bottom",this.dom.shadowTopRight.className="shadow top",this.dom.shadowBottomRight.className="shadow bottom",this.dom.root.appendChild(this.dom.background),this.dom.root.appendChild(this.dom.backgroundVertical),this.dom.root.appendChild(this.dom.backgroundHorizontal),this.dom.root.appendChild(this.dom.centerContainer),this.dom.root.appendChild(this.dom.leftContainer),this.dom.root.appendChild(this.dom.rightContainer),this.dom.root.appendChild(this.dom.top),this.dom.root.appendChild(this.dom.bottom),this.dom.centerContainer.appendChild(this.dom.center),this.dom.leftContainer.appendChild(this.dom.left),this.dom.rightContainer.appendChild(this.dom.right),this.dom.centerContainer.appendChild(this.dom.shadowTop),this.dom.centerContainer.appendChild(this.dom.shadowBottom),this.dom.leftContainer.appendChild(this.dom.shadowTopLeft),this.dom.leftContainer.appendChild(this.dom.shadowBottomLeft),this.dom.rightContainer.appendChild(this.dom.shadowTopRight),this.dom.rightContainer.appendChild(this.dom.shadowBottomRight),this.on("rangechange",this.redraw.bind(this)),this.on("touch",this._onTouch.bind(this)),this.on("pinch",this._onPinch.bind(this)),this.on("dragstart",this._onDragStart.bind(this)),this.on("drag",this._onDrag.bind(this));var e=this;this.on("change",function(t){t&&1==t.queue?e._redrawTimer||(e._redrawTimer=setTimeout(function(){e._redrawTimer=null,e.redraw()},0)):e.redraw()}),this.hammer=n(this.dom.root,{preventDefault:!0}),this.listeners={};var i=["touch","pinch","tap","doubletap","hold","dragstart","drag","dragend","mousewheel","DOMMouseScroll"];if(i.forEach(function(t){var i=function(){var i=[t].concat(Array.prototype.slice.call(arguments,0));e.isActive()&&e.emit.apply(e,i)};e.hammer.on(t,i),e.listeners[t]=i}),this.props={root:{},background:{},centerContainer:{},leftContainer:{},rightContainer:{},center:{},left:{},right:{},top:{},bottom:{},border:{},scrollTop:0,scrollTopMin:0},this.touch={},!t)throw new Error("No container provided");t.appendChild(this.dom.root)},s.prototype.setOptions=function(t){if(t){var e=["width","height","minHeight","maxHeight","autoResize","start","end","orientation","clickToUse","dataAttributes","hiddenDates"];r.selectiveExtend(e,this.options,t),"hiddenDates"in this.options&&h.convertHiddenOptions(this.body,this.options.hiddenDates),"clickToUse"in t&&(t.clickToUse?this.activator=new a(this.dom.root):this.activator&&(this.activator.destroy(),delete this.activator)),this._initAutoResize()}if(this.components.forEach(function(e){e.setOptions(t)}),t&&t.order)throw new Error("Option order is deprecated. There is no replacement for this feature.");this.redraw()},s.prototype.isActive=function(){return!this.activator||this.activator.active},s.prototype.destroy=function(){this.clear(),this.off(),this._stopAutoResize(),this.dom.root.parentNode&&this.dom.root.parentNode.removeChild(this.dom.root),this.dom=null,this.activator&&(this.activator.destroy(),delete this.activator);for(var t in this.listeners)this.listeners.hasOwnProperty(t)&&delete this.listeners[t];this.listeners=null,this.hammer=null,this.components.forEach(function(t){t.destroy()}),this.body=null},s.prototype.setCustomTime=function(t){if(!this.customTime)throw new Error("Cannot get custom time: Custom time bar is not enabled");this.customTime.setCustomTime(t)},s.prototype.getCustomTime=function(){if(!this.customTime)throw new Error("Cannot get custom time: Custom time bar is not enabled");return this.customTime.getCustomTime()},s.prototype.getVisibleItems=function(){return this.itemSet&&this.itemSet.getVisibleItems()||[]},s.prototype.clear=function(t){(!t||t.items)&&this.setItems(null),(!t||t.groups)&&this.setGroups(null),(!t||t.options)&&(this.components.forEach(function(t){t.setOptions(t.defaultOptions)}),this.setOptions(this.defaultOptions))},s.prototype.fit=function(t){var e=this.getItemRange(),i=e.min,s=e.max;if(null!=i&&null!=s){var o=s.valueOf()-i.valueOf();0>=o&&(o=864e5),i=new Date(i.valueOf()-.05*o),s=new Date(s.valueOf()+.05*o)}if(null!==i||null!==s){var n=t&&void 0!==t.animate?t.animate:!0;this.range.setRange(i,s,n)}},s.prototype.setWindow=function(t,e,i){var s=i&&void 0!==i.animate?i.animate:!0;if(1==arguments.length){var o=arguments[0];this.range.setRange(o.start,o.end,s)}else this.range.setRange(t,e,s)},s.prototype.moveTo=function(t,e){var i=this.range.end-this.range.start,s=r.convert(t,"Date").valueOf(),o=s-i/2,n=s+i/2,a=e&&void 0!==e.animate?e.animate:!0;this.range.setRange(o,n,a)},s.prototype.getWindow=function(){var t=this.range.getRange();return{start:new Date(t.start),end:new Date(t.end)}},s.prototype.redraw=function(){var t=!1,e=this.options,i=this.props,s=this.dom;if(s){h.updateHiddenDates(this.body,this.options.hiddenDates),"top"==e.orientation?(r.addClassName(s.root,"top"),r.removeClassName(s.root,"bottom")):(r.removeClassName(s.root,"top"),r.addClassName(s.root,"bottom")),s.root.style.maxHeight=r.option.asSize(e.maxHeight,""),s.root.style.minHeight=r.option.asSize(e.minHeight,""),s.root.style.width=r.option.asSize(e.width,""),i.border.left=(s.centerContainer.offsetWidth-s.centerContainer.clientWidth)/2,i.border.right=i.border.left,i.border.top=(s.centerContainer.offsetHeight-s.centerContainer.clientHeight)/2,i.border.bottom=i.border.top;var o=s.root.offsetHeight-s.root.clientHeight,n=s.root.offsetWidth-s.root.clientWidth;0===s.centerContainer.clientHeight&&(i.border.left=i.border.top,i.border.right=i.border.left),0===s.root.clientHeight&&(n=o),i.center.height=s.center.offsetHeight,i.left.height=s.left.offsetHeight,i.right.height=s.right.offsetHeight,i.top.height=s.top.clientHeight||-i.border.top,i.bottom.height=s.bottom.clientHeight||-i.border.bottom;var a=Math.max(i.left.height,i.center.height,i.right.height),d=i.top.height+a+i.bottom.height+o+i.border.top+i.border.bottom;s.root.style.height=r.option.asSize(e.height,d+"px"),i.root.height=s.root.offsetHeight,i.background.height=i.root.height-o;var l=i.root.height-i.top.height-i.bottom.height-o;i.centerContainer.height=l,i.leftContainer.height=l,i.rightContainer.height=i.leftContainer.height,i.root.width=s.root.offsetWidth,i.background.width=i.root.width-n,i.left.width=s.leftContainer.clientWidth||-i.border.left,i.leftContainer.width=i.left.width,i.right.width=s.rightContainer.clientWidth||-i.border.right,i.rightContainer.width=i.right.width;var c=i.root.width-i.left.width-i.right.width-n;i.center.width=c,i.centerContainer.width=c,i.top.width=c,i.bottom.width=c,s.background.style.height=i.background.height+"px",s.backgroundVertical.style.height=i.background.height+"px",s.backgroundHorizontal.style.height=i.centerContainer.height+"px",s.centerContainer.style.height=i.centerContainer.height+"px",s.leftContainer.style.height=i.leftContainer.height+"px",s.rightContainer.style.height=i.rightContainer.height+"px",s.background.style.width=i.background.width+"px",s.backgroundVertical.style.width=i.centerContainer.width+"px",s.backgroundHorizontal.style.width=i.background.width+"px",s.centerContainer.style.width=i.center.width+"px",s.top.style.width=i.top.width+"px",s.bottom.style.width=i.bottom.width+"px",s.background.style.left="0",s.background.style.top="0",s.backgroundVertical.style.left=i.left.width+i.border.left+"px",s.backgroundVertical.style.top="0",s.backgroundHorizontal.style.left="0",s.backgroundHorizontal.style.top=i.top.height+"px",s.centerContainer.style.left=i.left.width+"px",s.centerContainer.style.top=i.top.height+"px",s.leftContainer.style.left="0",s.leftContainer.style.top=i.top.height+"px",s.rightContainer.style.left=i.left.width+i.center.width+"px",s.rightContainer.style.top=i.top.height+"px",s.top.style.left=i.left.width+"px",s.top.style.top="0",s.bottom.style.left=i.left.width+"px",s.bottom.style.top=i.top.height+i.centerContainer.height+"px",this._updateScrollTop();var p=this.props.scrollTop;"bottom"==e.orientation&&(p+=Math.max(this.props.centerContainer.height-this.props.center.height-this.props.border.top-this.props.border.bottom,0)),s.center.style.left="0",s.center.style.top=p+"px",s.left.style.left="0",s.left.style.top=p+"px",s.right.style.left="0",s.right.style.top=p+"px";var u=0==this.props.scrollTop?"hidden":"",f=this.props.scrollTop==this.props.scrollTopMin?"hidden":"";s.shadowTop.style.visibility=u,s.shadowBottom.style.visibility=f,s.shadowTopLeft.style.visibility=u,s.shadowBottomLeft.style.visibility=f,s.shadowTopRight.style.visibility=u,s.shadowBottomRight.style.visibility=f,this.components.forEach(function(e){t=e.redraw()||t}),t&&this.redraw()}},s.prototype.repaint=function(){throw new Error("Function repaint is deprecated. Use redraw instead.")},s.prototype.setCurrentTime=function(t){if(!this.currentTime)throw new Error("Option showCurrentTime must be true");this.currentTime.setCurrentTime(t)},s.prototype.getCurrentTime=function(){if(!this.currentTime)throw new Error("Option showCurrentTime must be true");return this.currentTime.getCurrentTime()},s.prototype._toTime=function(t){return h.toTime(this.body,this.range,t,this.props.center.width)},s.prototype._toGlobalTime=function(t){return h.toTime(this.body,this.range,t,this.props.root.width)},s.prototype._toScreen=function(t){return h.toScreen(this,t,this.props.center.width)},s.prototype._toGlobalScreen=function(t){return h.toScreen(this,t,this.props.root.width)},s.prototype._initAutoResize=function(){1==this.options.autoResize?this._startAutoResize():this._stopAutoResize()},s.prototype._startAutoResize=function(){var t=this;this._stopAutoResize(),this._onResize=function(){return 1!=t.options.autoResize?void t._stopAutoResize():void(t.dom.root&&(t.dom.root.offsetWidth!=t.props.lastWidth||t.dom.root.offsetHeight!=t.props.lastHeight)&&(t.props.lastWidth=t.dom.root.offsetWidth,t.props.lastHeight=t.dom.root.offsetHeight,t.emit("change")))},r.addEventListener(window,"resize",this._onResize),this.watchTimer=setInterval(this._onResize,1e3)},s.prototype._stopAutoResize=function(){this.watchTimer&&(clearInterval(this.watchTimer),this.watchTimer=void 0),r.removeEventListener(window,"resize",this._onResize),this._onResize=null},s.prototype._onTouch=function(){this.touch.allowDragging=!0},s.prototype._onPinch=function(){this.touch.allowDragging=!1},s.prototype._onDragStart=function(){this.touch.initialScrollTop=this.props.scrollTop},s.prototype._onDrag=function(t){if(this.touch.allowDragging){var e=t.gesture.deltaY,i=this._getScrollTop(),s=this._setScrollTop(this.touch.initialScrollTop+e);s!=i&&this.redraw()}},s.prototype._setScrollTop=function(t){return this.props.scrollTop=t,this._updateScrollTop(),this.props.scrollTop},s.prototype._updateScrollTop=function(){var t=Math.min(this.props.centerContainer.height-this.props.center.height,0);return t!=this.props.scrollTopMin&&("bottom"==this.options.orientation&&(this.props.scrollTop+=t-this.props.scrollTopMin),this.props.scrollTopMin=t),this.props.scrollTop>0&&(this.props.scrollTop=0),this.props.scrollTops;s++){var o=s%2===0?1.3*i:.5*i;this.lineTo(t+o*Math.sin(2*s*Math.PI/10),e-o*Math.cos(2*s*Math.PI/10))}this.closePath()},CanvasRenderingContext2D.prototype.roundRect=function(t,e,i,s,o){var n=Math.PI/180;0>i-2*o&&(o=i/2),0>s-2*o&&(o=s/2),this.beginPath(),this.moveTo(t+o,e),this.lineTo(t+i-o,e),this.arc(t+i-o,e+o,o,270*n,360*n,!1),this.lineTo(t+i,e+s-o),this.arc(t+i-o,e+s-o,o,0,90*n,!1),this.lineTo(t+o,e+s),this.arc(t+o,e+s-o,o,90*n,180*n,!1),this.lineTo(t,e+o),this.arc(t+o,e+o,o,180*n,270*n,!1)},CanvasRenderingContext2D.prototype.ellipse=function(t,e,i,s){var o=.5522848,n=i/2*o,r=s/2*o,a=t+i,h=e+s,d=t+i/2,l=e+s/2;this.beginPath(),this.moveTo(t,l),this.bezierCurveTo(t,l-r,d-n,e,d,e),this.bezierCurveTo(d+n,e,a,l-r,a,l),this.bezierCurveTo(a,l+r,d+n,h,d,h),this.bezierCurveTo(d-n,h,t,l+r,t,l)},CanvasRenderingContext2D.prototype.database=function(t,e,i,s){var o=1/3,n=i,r=s*o,a=.5522848,h=n/2*a,d=r/2*a,l=t+n,c=e+r,p=t+n/2,u=e+r/2,f=e+(s-r/2),m=e+s;this.beginPath(),this.moveTo(l,u),this.bezierCurveTo(l,u+d,p+h,c,p,c),this.bezierCurveTo(p-h,c,t,u+d,t,u),this.bezierCurveTo(t,u-d,p-h,e,p,e),this.bezierCurveTo(p+h,e,l,u-d,l,u),this.lineTo(l,f),this.bezierCurveTo(l,f+d,p+h,m,p,m),this.bezierCurveTo(p-h,m,t,f+d,t,f),this.lineTo(t,u)},CanvasRenderingContext2D.prototype.arrow=function(t,e,i,s){var o=t-s*Math.cos(i),n=e-s*Math.sin(i),r=t-.9*s*Math.cos(i),a=e-.9*s*Math.sin(i),h=o+s/3*Math.cos(i+.5*Math.PI),d=n+s/3*Math.sin(i+.5*Math.PI),l=o+s/3*Math.cos(i-.5*Math.PI),c=n+s/3*Math.sin(i-.5*Math.PI);this.beginPath(),this.moveTo(t,e),this.lineTo(h,d),this.lineTo(r,a),this.lineTo(l,c),this.closePath()},CanvasRenderingContext2D.prototype.dashedLine=function(t,e,i,s,o){o||(o=[10,5]),0==p&&(p=.001);var n=o.length;this.moveTo(t,e);for(var r=i-t,a=s-e,h=a/r,d=Math.sqrt(r*r+a*a),l=0,c=!0;d>=.1;){var p=o[l++%n];p>d&&(p=d);var u=Math.sqrt(p*p/(1+h*h));0>r&&(u=-u),t+=u,e+=h*u,this[c?"lineTo":"moveTo"](t,e),d-=p,c=!c}})},function(t,e,i){var s=i(63),o=i(57),n=i(58),r=i(59),a=i(60),h=i(61),d=i(62);e._loadMixin=function(t){for(var e in t)t.hasOwnProperty(e)&&(this[e]=t[e])},e._clearMixin=function(t){for(var e in t)t.hasOwnProperty(e)&&(this[e]=void 0)},e._loadPhysicsSystem=function(){this._loadMixin(s),this._loadSelectedForceSolver(),1==this.constants.configurePhysics&&this._loadPhysicsConfiguration()},e._loadClusterSystem=function(){this.clusterSession=0,this.hubThreshold=5,this._loadMixin(o)},e._loadSectorSystem=function(){this.sectors={},this.activeSector=["default"],this.sectors.active={},this.sectors.active["default"]={nodes:{},edges:{},nodeIndices:[],formationScale:1,drawingNode:void 0},this.sectors.frozen={},this.sectors.support={nodes:{},edges:{},nodeIndices:[],formationScale:1,drawingNode:void 0},this.nodeIndices=this.sectors.active["default"].nodeIndices,this._loadMixin(n)},e._loadSelectionSystem=function(){this.selectionObj={nodes:{},edges:{}},this._loadMixin(r)},e._loadManipulationSystem=function(){this.blockConnectingEdgeSelection=!1,this.forceAppendSelection=!1,1==this.constants.dataManipulation.enabled?(void 0===this.manipulationDiv&&(this.manipulationDiv=document.createElement("div"),this.manipulationDiv.className="network-manipulationDiv",this.manipulationDiv.id="network-manipulationDiv",this.manipulationDiv.style.display=1==this.editMode?"block":"none",this.frame.appendChild(this.manipulationDiv)),void 0===this.editModeDiv&&(this.editModeDiv=document.createElement("div"),this.editModeDiv.className="network-manipulation-editMode",this.editModeDiv.id="network-manipulation-editMode",this.editModeDiv.style.display=1==this.editMode?"none":"block",this.frame.appendChild(this.editModeDiv)),void 0===this.closeDiv&&(this.closeDiv=document.createElement("div"),this.closeDiv.className="network-manipulation-closeDiv",this.closeDiv.id="network-manipulation-closeDiv",this.closeDiv.style.display=this.manipulationDiv.style.display,this.frame.appendChild(this.closeDiv)),this._loadMixin(a),this._createManipulatorBar()):void 0!==this.manipulationDiv&&(this._createManipulatorBar(),this.frame.removeChild(this.manipulationDiv),this.frame.removeChild(this.editModeDiv),this.frame.removeChild(this.closeDiv),this.manipulationDiv=void 0,this.editModeDiv=void 0,this.closeDiv=void 0,this._clearMixin(a))},e._loadNavigationControls=function(){this._loadMixin(h),this._cleanNavigation(),1==this.constants.navigation.enabled&&this._loadNavigationElements()},e._loadHierarchySystem=function(){this._loadMixin(d)}},function(t,e,i){function s(t){this.active=!1,this.dom={container:t},this.dom.overlay=document.createElement("div"),this.dom.overlay.className="overlay",this.dom.container.appendChild(this.dom.overlay),this.hammer=a(this.dom.overlay,{prevent_default:!1}),this.hammer.on("tap",this._onTapOverlay.bind(this));var e=this,i=["touch","pinch","doubletap","hold","dragstart","drag","dragend","mousewheel","DOMMouseScroll"];i.forEach(function(t){e.hammer.on(t,function(t){t.stopPropagation()})}),this.windowHammer=a(window,{prevent_default:!1}),this.windowHammer.on("tap",function(i){o(i.target,t)||e.deactivate()}),this.escListener=this.deactivate.bind(this)}function o(t,e){for(;t;){if(t===e)return!0;t=t.parentNode}return!1}var n=i(54),r=i(53),a=i(44),h=i(1);r(s.prototype),s.current=null,s.prototype.destroy=function(){this.deactivate(),this.dom.overlay.parentNode.removeChild(this.dom.overlay),this.hammer=null,this.windowHammer=null},s.prototype.activate=function(){s.current&&s.current.deactivate(),s.current=this,this.active=!0,this.dom.overlay.style.display="none",h.addClassName(this.dom.container,"vis-active"),this.emit("change"),this.emit("activate"),n.bind("esc",this.escListener)},s.prototype.deactivate=function(){this.active=!1,this.dom.overlay.style.display="",h.removeClassName(this.dom.container,"vis-active"),n.unbind("esc",this.escListener),this.emit("change"),this.emit("deactivate")},s.prototype._onTapOverlay=function(t){this.activate(),t.stopPropagation()},t.exports=s},function(t){function e(t){return t?i(t):void 0}function i(t){for(var i in e.prototype)t[i]=e.prototype[i];return t}t.exports=e,e.prototype.on=e.prototype.addEventListener=function(t,e){return this._callbacks=this._callbacks||{},(this._callbacks[t]=this._callbacks[t]||[]).push(e),this},e.prototype.once=function(t,e){function i(){s.off(t,i),e.apply(this,arguments)}var s=this;return this._callbacks=this._callbacks||{},i.fn=e,this.on(t,i),this},e.prototype.off=e.prototype.removeListener=e.prototype.removeAllListeners=e.prototype.removeEventListener=function(t,e){if(this._callbacks=this._callbacks||{},0==arguments.length)return this._callbacks={},this;var i=this._callbacks[t];if(!i)return this;if(1==arguments.length)return delete this._callbacks[t],this;for(var s,o=0;os;++s)i[s].apply(this,e)}return this},e.prototype.listeners=function(t){return this._callbacks=this._callbacks||{},this._callbacks[t]||[]},e.prototype.hasListeners=function(t){return!!this.listeners(t).length}},function(t){function e(t,e,i){return t.addEventListener?t.addEventListener(e,i,!1):void t.attachEvent("on"+e,i)}function i(t){return"keypress"==t.type?String.fromCharCode(t.which):_[t.which]?_[t.which]:x[t.which]?x[t.which]:String.fromCharCode(t.which).toLowerCase()}function s(t){var e=t.target||t.srcElement,i=e.tagName;return(" "+e.className+" ").indexOf(" mousetrap ")>-1?!1:"INPUT"==i||"SELECT"==i||"TEXTAREA"==i||e.contentEditable&&"true"==e.contentEditable}function o(t,e){return t.sort().join(",")===e.sort().join(",")}function n(t){t=t||{};var e,i=!1;for(e in C)t[e]?i=!0:C[e]=0;i||(T=!1)}function r(t,e,i,s,n){var r,a,h=[];if(!D[t])return[];for("keyup"==i&&c(t)&&(e=[t]),r=0;r95&&112>t||_.hasOwnProperty(t)&&(y[_[t]]=t)}return y}function f(t,e,i){return i||(i=u()[t]?"keydown":"keypress"),"keypress"==i&&e.length&&(i="keydown"),i}function m(t,e,s,o){C[t]=0,o||(o=f(e[0],[]));var r,a=function(){T=o,++C[t],p()},d=function(t){h(s,t),"keyup"!==o&&(E=i(t)),setTimeout(n,10)};for(r=0;r1)return m(t,d,e,i);for(h="+"===t?["+"]:t.split("+"),n=0;n":".","?":"/","|":"\\"},S={option:"alt",command:"meta","return":"enter",escape:"esc"},D={},M={},C={},E=!1,T=!1,O=1;20>O;++O)_[111+O]="f"+O; -for(O=0;9>=O;++O)_[O+96]=O;e(document,"keypress",l),e(document,"keydown",l),e(document,"keyup",l);var L={bind:function(t,e,i){return v(t instanceof Array?t:[t],e,i),M[t+":"+i]=e,this},unbind:function(t,e){return M[t+":"+e]&&(delete M[t+":"+e],this.bind(t,function(){},e)),this},trigger:function(t,e){return M[t+":"+e](),this},reset:function(){return D={},M={},this}};t.exports=L},function(t,e,i){var s;(function(t,o){(function(n){function r(t,e,i){switch(arguments.length){case 2:return null!=t?t:e;case 3:return null!=t?t:null!=e?e:i;default:throw new Error("Implement me")}}function a(t,e){return Le.call(t,e)}function h(){return{empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1}}function d(t){De.suppressDeprecationWarnings===!1&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+t)}function l(t,e){var i=!0;return v(function(){return i&&(d(t),i=!1),e.apply(this,arguments)},e)}function c(t,e){xi[t]||(d(e),xi[t]=!0)}function p(t,e){return function(i){return _(t.call(this,i),e)}}function u(t,e){return function(i){return this.localeData().ordinal(t.call(this,i),e)}}function f(){}function m(t,e){e!==!1&&P(t),y(this,t),this._d=new Date(+t._d)}function g(t){var e=O(t),i=e.year||0,s=e.quarter||0,o=e.month||0,n=e.week||0,r=e.day||0,a=e.hour||0,h=e.minute||0,d=e.second||0,l=e.millisecond||0;this._milliseconds=+l+1e3*d+6e4*h+36e5*a,this._days=+r+7*n,this._months=+o+3*s+12*i,this._data={},this._locale=De.localeData(),this._bubble()}function v(t,e){for(var i in e)a(e,i)&&(t[i]=e[i]);return a(e,"toString")&&(t.toString=e.toString),a(e,"valueOf")&&(t.valueOf=e.valueOf),t}function y(t,e){var i,s,o;if("undefined"!=typeof e._isAMomentObject&&(t._isAMomentObject=e._isAMomentObject),"undefined"!=typeof e._i&&(t._i=e._i),"undefined"!=typeof e._f&&(t._f=e._f),"undefined"!=typeof e._l&&(t._l=e._l),"undefined"!=typeof e._strict&&(t._strict=e._strict),"undefined"!=typeof e._tzm&&(t._tzm=e._tzm),"undefined"!=typeof e._isUTC&&(t._isUTC=e._isUTC),"undefined"!=typeof e._offset&&(t._offset=e._offset),"undefined"!=typeof e._pf&&(t._pf=e._pf),"undefined"!=typeof e._locale&&(t._locale=e._locale),He.length>0)for(i in He)s=He[i],o=e[s],"undefined"!=typeof o&&(t[s]=o);return t}function b(t){return 0>t?Math.ceil(t):Math.floor(t)}function _(t,e,i){for(var s=""+Math.abs(t),o=t>=0;s.lengths;s++)(i&&t[s]!==e[s]||!i&&k(t[s])!==k(e[s]))&&r++;return r+n}function T(t){if(t){var e=t.toLowerCase().replace(/(.)s$/,"$1");t=fi[t]||mi[e]||e}return t}function O(t){var e,i,s={};for(i in t)a(t,i)&&(e=T(i),e&&(s[e]=t[i]));return s}function L(t){var e,i;if(0===t.indexOf("week"))e=7,i="day";else{if(0!==t.indexOf("month"))return;e=12,i="month"}De[t]=function(s,o){var r,a,h=De._locale[t],d=[];if("number"==typeof s&&(o=s,s=n),a=function(t){var e=De().utc().set(i,t);return h.call(De._locale,e,s||"")},null!=o)return a(o);for(r=0;e>r;r++)d.push(a(r));return d}}function k(t){var e=+t,i=0;return 0!==e&&isFinite(e)&&(i=e>=0?Math.floor(e):Math.ceil(e)),i}function N(t,e){return new Date(Date.UTC(t,e+1,0)).getUTCDate()}function I(t,e,i){return pe(De([t,11,31+e-i]),e,i).week}function A(t){return z(t)?366:365}function z(t){return t%4===0&&t%100!==0||t%400===0}function P(t){var e;t._a&&-2===t._pf.overflow&&(e=t._a[Ne]<0||t._a[Ne]>11?Ne:t._a[Ie]<1||t._a[Ie]>N(t._a[ke],t._a[Ne])?Ie:t._a[Ae]<0||t._a[Ae]>23?Ae:t._a[ze]<0||t._a[ze]>59?ze:t._a[Pe]<0||t._a[Pe]>59?Pe:t._a[Re]<0||t._a[Re]>999?Re:-1,t._pf._overflowDayOfYear&&(ke>e||e>Ie)&&(e=Ie),t._pf.overflow=e)}function R(t){return null==t._isValid&&(t._isValid=!isNaN(t._d.getTime())&&t._pf.overflow<0&&!t._pf.empty&&!t._pf.invalidMonth&&!t._pf.nullInput&&!t._pf.invalidFormat&&!t._pf.userInvalidated,t._strict&&(t._isValid=t._isValid&&0===t._pf.charsLeftOver&&0===t._pf.unusedTokens.length)),t._isValid}function F(t){return t?t.toLowerCase().replace("_","-"):t}function H(t){for(var e,i,s,o,n=0;n0;){if(s=Y(o.slice(0,e).join("-")))return s;if(i&&i.length>=e&&E(o,i,!0)>=e-1)break;e--}n++}return null}function Y(t){var e=null;if(!Fe[t]&&Ye)try{e=De.locale(),!function(){var t=new Error('Cannot find module "./locale"');throw t.code="MODULE_NOT_FOUND",t}(),De.locale(e)}catch(i){}return Fe[t]}function B(t,e){return e._isUTC?De(t).zone(e._offset||0):De(t).local()}function W(t){return t.match(/\[[\s\S]/)?t.replace(/^\[|\]$/g,""):t.replace(/\\/g,"")}function G(t){var e,i,s=t.match(je);for(e=0,i=s.length;i>e;e++)s[e]=_i[s[e]]?_i[s[e]]:W(s[e]);return function(o){var n="";for(e=0;i>e;e++)n+=s[e]instanceof Function?s[e].call(o,t):s[e];return n}}function j(t,e){return t.isValid()?(e=U(e,t.localeData()),gi[e]||(gi[e]=G(e)),gi[e](t)):t.localeData().invalidDate()}function U(t,e){function i(t){return e.longDateFormat(t)||t}var s=5;for(Ue.lastIndex=0;s>=0&&Ue.test(t);)t=t.replace(Ue,i),Ue.lastIndex=0,s-=1;return t}function V(t,e){var i,s=e._strict;switch(t){case"Q":return ii;case"DDDD":return oi;case"YYYY":case"GGGG":case"gggg":return s?ni:qe;case"Y":case"G":case"g":return ai;case"YYYYYY":case"YYYYY":case"GGGGG":case"ggggg":return s?ri:Ze;case"S":if(s)return ii;case"SS":if(s)return si;case"SSS":if(s)return oi;case"DDD":return Xe;case"MMM":case"MMMM":case"dd":case"ddd":case"dddd":return Qe;case"a":case"A":return e._locale._meridiemParse;case"X":return ti;case"Z":case"ZZ":return $e;case"T":return Je;case"SSSS":return Ke;case"MM":case"DD":case"YY":case"GG":case"gg":case"HH":case"hh":case"mm":case"ss":case"ww":case"WW":return s?si:Ve;case"M":case"D":case"d":case"H":case"h":case"m":case"s":case"w":case"W":case"e":case"E":return Ve;case"Do":return ei;default:return i=new RegExp(ee(te(t.replace("\\","")),"i"))}}function X(t){t=t||"";var e=t.match($e)||[],i=e[e.length-1]||[],s=(i+"").match(pi)||["-",0,0],o=+(60*s[1])+k(s[2]);return"+"===s[0]?-o:o}function q(t,e,i){var s,o=i._a;switch(t){case"Q":null!=e&&(o[Ne]=3*(k(e)-1));break;case"M":case"MM":null!=e&&(o[Ne]=k(e)-1);break;case"MMM":case"MMMM":s=i._locale.monthsParse(e),null!=s?o[Ne]=s:i._pf.invalidMonth=e;break;case"D":case"DD":null!=e&&(o[Ie]=k(e));break;case"Do":null!=e&&(o[Ie]=k(parseInt(e,10)));break;case"DDD":case"DDDD":null!=e&&(i._dayOfYear=k(e));break;case"YY":o[ke]=De.parseTwoDigitYear(e);break;case"YYYY":case"YYYYY":case"YYYYYY":o[ke]=k(e);break;case"a":case"A":i._isPm=i._locale.isPM(e);break;case"H":case"HH":case"h":case"hh":o[Ae]=k(e);break;case"m":case"mm":o[ze]=k(e);break;case"s":case"ss":o[Pe]=k(e);break;case"S":case"SS":case"SSS":case"SSSS":o[Re]=k(1e3*("0."+e));break;case"X":i._d=new Date(1e3*parseFloat(e));break;case"Z":case"ZZ":i._useUTC=!0,i._tzm=X(e);break;case"dd":case"ddd":case"dddd":s=i._locale.weekdaysParse(e),null!=s?(i._w=i._w||{},i._w.d=s):i._pf.invalidWeekday=e;break;case"w":case"ww":case"W":case"WW":case"d":case"e":case"E":t=t.substr(0,1);case"gggg":case"GGGG":case"GGGGG":t=t.substr(0,2),e&&(i._w=i._w||{},i._w[t]=k(e));break;case"gg":case"GG":i._w=i._w||{},i._w[t]=De.parseTwoDigitYear(e)}}function Z(t){var e,i,s,o,n,a,h;e=t._w,null!=e.GG||null!=e.W||null!=e.E?(n=1,a=4,i=r(e.GG,t._a[ke],pe(De(),1,4).year),s=r(e.W,1),o=r(e.E,1)):(n=t._locale._week.dow,a=t._locale._week.doy,i=r(e.gg,t._a[ke],pe(De(),n,a).year),s=r(e.w,1),null!=e.d?(o=e.d,n>o&&++s):o=null!=e.e?e.e+n:n),h=ue(i,s,o,a,n),t._a[ke]=h.year,t._dayOfYear=h.dayOfYear}function K(t){var e,i,s,o,n=[];if(!t._d){for(s=$(t),t._w&&null==t._a[Ie]&&null==t._a[Ne]&&Z(t),t._dayOfYear&&(o=r(t._a[ke],s[ke]),t._dayOfYear>A(o)&&(t._pf._overflowDayOfYear=!0),i=he(o,0,t._dayOfYear),t._a[Ne]=i.getUTCMonth(),t._a[Ie]=i.getUTCDate()),e=0;3>e&&null==t._a[e];++e)t._a[e]=n[e]=s[e];for(;7>e;e++)t._a[e]=n[e]=null==t._a[e]?2===e?1:0:t._a[e];t._d=(t._useUTC?he:ae).apply(null,n),null!=t._tzm&&t._d.setUTCMinutes(t._d.getUTCMinutes()+t._tzm)}}function Q(t){var e;t._d||(e=O(t._i),t._a=[e.year,e.month,e.day,e.hour,e.minute,e.second,e.millisecond],K(t))}function $(t){var e=new Date;return t._useUTC?[e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()]:[e.getFullYear(),e.getMonth(),e.getDate()]}function J(t){if(t._f===De.ISO_8601)return void se(t);t._a=[],t._pf.empty=!0;var e,i,s,o,n,r=""+t._i,a=r.length,h=0;for(s=U(t._f,t._locale).match(je)||[],e=0;e0&&t._pf.unusedInput.push(n),r=r.slice(r.indexOf(i)+i.length),h+=i.length),_i[o]?(i?t._pf.empty=!1:t._pf.unusedTokens.push(o),q(o,i,t)):t._strict&&!i&&t._pf.unusedTokens.push(o);t._pf.charsLeftOver=a-h,r.length>0&&t._pf.unusedInput.push(r),t._isPm&&t._a[Ae]<12&&(t._a[Ae]+=12),t._isPm===!1&&12===t._a[Ae]&&(t._a[Ae]=0),K(t),P(t)}function te(t){return t.replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(t,e,i,s,o){return e||i||s||o})}function ee(t){return t.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function ie(t){var e,i,s,o,n;if(0===t._f.length)return t._pf.invalidFormat=!0,void(t._d=new Date(0/0));for(o=0;on)&&(s=n,i=e));v(t,i||e)}function se(t){var e,i,s=t._i,o=hi.exec(s);if(o){for(t._pf.iso=!0,e=0,i=li.length;i>e;e++)if(li[e][1].exec(s)){t._f=li[e][0]+(o[6]||" ");break}for(e=0,i=ci.length;i>e;e++)if(ci[e][1].exec(s)){t._f+=ci[e][0];break}s.match($e)&&(t._f+="Z"),J(t)}else t._isValid=!1}function oe(t){se(t),t._isValid===!1&&(delete t._isValid,De.createFromInputFallback(t))}function ne(t,e){var i,s=[];for(i=0;it&&a.setFullYear(t),a}function he(t){var e=new Date(Date.UTC.apply(null,arguments));return 1970>t&&e.setUTCFullYear(t),e}function de(t,e){if("string"==typeof t)if(isNaN(t)){if(t=e.weekdaysParse(t),"number"!=typeof t)return null}else t=parseInt(t,10);return t}function le(t,e,i,s,o){return o.relativeTime(e||1,!!i,t,s)}function ce(t,e,i){var s=De.duration(t).abs(),o=Oe(s.as("s")),n=Oe(s.as("m")),r=Oe(s.as("h")),a=Oe(s.as("d")),h=Oe(s.as("M")),d=Oe(s.as("y")),l=o0,l[4]=i,le.apply({},l)}function pe(t,e,i){var s,o=i-e,n=i-t.day();return n>o&&(n-=7),o-7>n&&(n+=7),s=De(t).add(n,"d"),{week:Math.ceil(s.dayOfYear()/7),year:s.year()}}function ue(t,e,i,s,o){var n,r,a=he(t,0,1).getUTCDay();return a=0===a?7:a,i=null!=i?i:o,n=o-a+(a>s?7:0)-(o>a?7:0),r=7*(e-1)+(i-o)+n+1,{year:r>0?t:t-1,dayOfYear:r>0?r:A(t-1)+r}}function fe(t){var e=t._i,i=t._f;return t._locale=t._locale||De.localeData(t._l),null===e||i===n&&""===e?De.invalid({nullInput:!0}):("string"==typeof e&&(t._i=e=t._locale.preparse(e)),De.isMoment(e)?new m(e,!0):(i?M(i)?ie(t):J(t):re(t),new m(t)))}function me(t,e){var i,s;if(1===e.length&&M(e[0])&&(e=e[0]),!e.length)return De();for(i=e[0],s=1;s=0?"+":"-";return e+_(Math.abs(t),6)},gg:function(){return _(this.weekYear()%100,2)},gggg:function(){return _(this.weekYear(),4)},ggggg:function(){return _(this.weekYear(),5)},GG:function(){return _(this.isoWeekYear()%100,2)},GGGG:function(){return _(this.isoWeekYear(),4)},GGGGG:function(){return _(this.isoWeekYear(),5)},e:function(){return this.weekday()},E:function(){return this.isoWeekday()},a:function(){return this.localeData().meridiem(this.hours(),this.minutes(),!0)},A:function(){return this.localeData().meridiem(this.hours(),this.minutes(),!1)},H:function(){return this.hours()},h:function(){return this.hours()%12||12},m:function(){return this.minutes()},s:function(){return this.seconds()},S:function(){return k(this.milliseconds()/100)},SS:function(){return _(k(this.milliseconds()/10),2)},SSS:function(){return _(this.milliseconds(),3)},SSSS:function(){return _(this.milliseconds(),3)},Z:function(){var t=-this.zone(),e="+";return 0>t&&(t=-t,e="-"),e+_(k(t/60),2)+":"+_(k(t)%60,2)},ZZ:function(){var t=-this.zone(),e="+";return 0>t&&(t=-t,e="-"),e+_(k(t/60),2)+_(k(t)%60,2)},z:function(){return this.zoneAbbr()},zz:function(){return this.zoneName()},X:function(){return this.unix()},Q:function(){return this.quarter()}},xi={},wi=["months","monthsShort","weekdays","weekdaysShort","weekdaysMin"];yi.length;)Ce=yi.pop(),_i[Ce+"o"]=u(_i[Ce],Ce);for(;bi.length;)Ce=bi.pop(),_i[Ce+Ce]=p(_i[Ce],2);_i.DDDD=p(_i.DDD,3),v(f.prototype,{set:function(t){var e,i;for(i in t)e=t[i],"function"==typeof e?this[i]=e:this["_"+i]=e},_months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),months:function(t){return this._months[t.month()]},_monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),monthsShort:function(t){return this._monthsShort[t.month()]},monthsParse:function(t){var e,i,s;for(this._monthsParse||(this._monthsParse=[]),e=0;12>e;e++)if(this._monthsParse[e]||(i=De.utc([2e3,e]),s="^"+this.months(i,"")+"|^"+this.monthsShort(i,""),this._monthsParse[e]=new RegExp(s.replace(".",""),"i")),this._monthsParse[e].test(t))return e},_weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdays:function(t){return this._weekdays[t.day()]},_weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysShort:function(t){return this._weekdaysShort[t.day()]},_weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),weekdaysMin:function(t){return this._weekdaysMin[t.day()]},weekdaysParse:function(t){var e,i,s;for(this._weekdaysParse||(this._weekdaysParse=[]),e=0;7>e;e++)if(this._weekdaysParse[e]||(i=De([2e3,1]).day(e),s="^"+this.weekdays(i,"")+"|^"+this.weekdaysShort(i,"")+"|^"+this.weekdaysMin(i,""),this._weekdaysParse[e]=new RegExp(s.replace(".",""),"i")),this._weekdaysParse[e].test(t))return e},_longDateFormat:{LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY LT",LLLL:"dddd, MMMM D, YYYY LT"},longDateFormat:function(t){var e=this._longDateFormat[t];return!e&&this._longDateFormat[t.toUpperCase()]&&(e=this._longDateFormat[t.toUpperCase()].replace(/MMMM|MM|DD|dddd/g,function(t){return t.slice(1)}),this._longDateFormat[t]=e),e},isPM:function(t){return"p"===(t+"").toLowerCase().charAt(0)},_meridiemParse:/[ap]\.?m?\.?/i,meridiem:function(t,e,i){return t>11?i?"pm":"PM":i?"am":"AM"},_calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},calendar:function(t,e){var i=this._calendar[t];return"function"==typeof i?i.apply(e):i},_relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},relativeTime:function(t,e,i,s){var o=this._relativeTime[i];return"function"==typeof o?o(t,e,i,s):o.replace(/%d/i,t)},pastFuture:function(t,e){var i=this._relativeTime[t>0?"future":"past"];return"function"==typeof i?i(e):i.replace(/%s/i,e)},ordinal:function(t){return this._ordinal.replace("%d",t)},_ordinal:"%d",preparse:function(t){return t},postformat:function(t){return t},week:function(t){return pe(t,this._week.dow,this._week.doy).week},_week:{dow:0,doy:6},_invalidDate:"Invalid date",invalidDate:function(){return this._invalidDate}}),De=function(t,e,i,s){var o;return"boolean"==typeof i&&(s=i,i=n),o={},o._isAMomentObject=!0,o._i=t,o._f=e,o._l=i,o._strict=s,o._isUTC=!1,o._pf=h(),fe(o)},De.suppressDeprecationWarnings=!1,De.createFromInputFallback=l("moment construction falls back to js Date. This is discouraged and will be removed in upcoming major release. Please refer to https://github.com/moment/moment/issues/1407 for more info.",function(t){t._d=new Date(t._i)}),De.min=function(){var t=[].slice.call(arguments,0);return me("isBefore",t)},De.max=function(){var t=[].slice.call(arguments,0);return me("isAfter",t)},De.utc=function(t,e,i,s){var o;return"boolean"==typeof i&&(s=i,i=n),o={},o._isAMomentObject=!0,o._useUTC=!0,o._isUTC=!0,o._l=i,o._i=t,o._f=e,o._strict=s,o._pf=h(),fe(o).utc()},De.unix=function(t){return De(1e3*t)},De.duration=function(t,e){var i,s,o,n,r=t,h=null;return De.isDuration(t)?r={ms:t._milliseconds,d:t._days,M:t._months}:"number"==typeof t?(r={},e?r[e]=t:r.milliseconds=t):(h=We.exec(t))?(i="-"===h[1]?-1:1,r={y:0,d:k(h[Ie])*i,h:k(h[Ae])*i,m:k(h[ze])*i,s:k(h[Pe])*i,ms:k(h[Re])*i}):(h=Ge.exec(t))?(i="-"===h[1]?-1:1,o=function(t){var e=t&&parseFloat(t.replace(",","."));return(isNaN(e)?0:e)*i},r={y:o(h[2]),M:o(h[3]),d:o(h[4]),h:o(h[5]),m:o(h[6]),s:o(h[7]),w:o(h[8])}):"object"==typeof r&&("from"in r||"to"in r)&&(n=w(De(r.from),De(r.to)),r={},r.ms=n.milliseconds,r.M=n.months),s=new g(r),De.isDuration(t)&&a(t,"_locale")&&(s._locale=t._locale),s},De.version=Ee,De.defaultFormat=di,De.ISO_8601=function(){},De.momentProperties=He,De.updateOffset=function(){},De.relativeTimeThreshold=function(t,e){return vi[t]===n?!1:e===n?vi[t]:(vi[t]=e,!0)},De.lang=l("moment.lang is deprecated. Use moment.locale instead.",function(t,e){return De.locale(t,e)}),De.locale=function(t,e){var i;return t&&(i="undefined"!=typeof e?De.defineLocale(t,e):De.localeData(t),i&&(De.duration._locale=De._locale=i)),De._locale._abbr},De.defineLocale=function(t,e){return null!==e?(e.abbr=t,Fe[t]||(Fe[t]=new f),Fe[t].set(e),De.locale(t),Fe[t]):(delete Fe[t],null)},De.langData=l("moment.langData is deprecated. Use moment.localeData instead.",function(t){return De.localeData(t)}),De.localeData=function(t){var e;if(t&&t._locale&&t._locale._abbr&&(t=t._locale._abbr),!t)return De._locale;if(!M(t)){if(e=Y(t))return e;t=[t]}return H(t)},De.isMoment=function(t){return t instanceof m||null!=t&&a(t,"_isAMomentObject")},De.isDuration=function(t){return t instanceof g};for(Ce=wi.length-1;Ce>=0;--Ce)L(wi[Ce]);De.normalizeUnits=function(t){return T(t)},De.invalid=function(t){var e=De.utc(0/0);return null!=t?v(e._pf,t):e._pf.userInvalidated=!0,e},De.parseZone=function(){return De.apply(null,arguments).parseZone()},De.parseTwoDigitYear=function(t){return k(t)+(k(t)>68?1900:2e3)},v(De.fn=m.prototype,{clone:function(){return De(this)},valueOf:function(){return+this._d+6e4*(this._offset||0)},unix:function(){return Math.floor(+this/1e3)},toString:function(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},toDate:function(){return this._offset?new Date(+this):this._d},toISOString:function(){var t=De(this).utc();return 00:!1},parsingFlags:function(){return v({},this._pf)},invalidAt:function(){return this._pf.overflow},utc:function(t){return this.zone(0,t)},local:function(t){return this._isUTC&&(this.zone(0,t),this._isUTC=!1,t&&this.add(this._dateTzOffset(),"m")),this},format:function(t){var e=j(this,t||De.defaultFormat);return this.localeData().postformat(e)},add:S(1,"add"),subtract:S(-1,"subtract"),diff:function(t,e,i){var s,o,n,r=B(t,this),a=6e4*(this.zone()-r.zone());return e=T(e),"year"===e||"month"===e?(s=432e5*(this.daysInMonth()+r.daysInMonth()),o=12*(this.year()-r.year())+(this.month()-r.month()),n=this-De(this).startOf("month")-(r-De(r).startOf("month")),n-=6e4*(this.zone()-De(this).startOf("month").zone()-(r.zone()-De(r).startOf("month").zone())),o+=n/s,"year"===e&&(o/=12)):(s=this-r,o="second"===e?s/1e3:"minute"===e?s/6e4:"hour"===e?s/36e5:"day"===e?(s-a)/864e5:"week"===e?(s-a)/6048e5:s),i?o:b(o)},from:function(t,e){return De.duration({to:this,from:t}).locale(this.locale()).humanize(!e)},fromNow:function(t){return this.from(De(),t)},calendar:function(t){var e=t||De(),i=B(e,this).startOf("day"),s=this.diff(i,"days",!0),o=-6>s?"sameElse":-1>s?"lastWeek":0>s?"lastDay":1>s?"sameDay":2>s?"nextDay":7>s?"nextWeek":"sameElse";return this.format(this.localeData().calendar(o,this))},isLeapYear:function(){return z(this.year())},isDST:function(){return this.zone()+t):+this.clone().startOf(e)>+De(t).startOf(e)},isBefore:function(t,e){return e=T("undefined"!=typeof e?e:"millisecond"),"millisecond"===e?(t=De.isMoment(t)?t:De(t),+t>+this):+this.clone().startOf(e)<+De(t).startOf(e)},isSame:function(t,e){return e=T(e||"millisecond"),"millisecond"===e?(t=De.isMoment(t)?t:De(t),+this===+t):+this.clone().startOf(e)===+B(t,this).startOf(e)},min:l("moment().min is deprecated, use moment.min instead. https://github.com/moment/moment/issues/1548",function(t){return t=De.apply(null,arguments),this>t?this:t}),max:l("moment().max is deprecated, use moment.max instead. https://github.com/moment/moment/issues/1548",function(t){return t=De.apply(null,arguments),t>this?this:t}),zone:function(t,e){var i,s=this._offset||0;return null==t?this._isUTC?s:this._dateTzOffset():("string"==typeof t&&(t=X(t)),Math.abs(t)<16&&(t=60*t),!this._isUTC&&e&&(i=this._dateTzOffset()),this._offset=t,this._isUTC=!0,null!=i&&this.subtract(i,"m"),s!==t&&(!e||this._changeInProgress?D(this,De.duration(s-t,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,De.updateOffset(this,!0),this._changeInProgress=null)),this)},zoneAbbr:function(){return this._isUTC?"UTC":""},zoneName:function(){return this._isUTC?"Coordinated Universal Time":""},parseZone:function(){return this._tzm?this.zone(this._tzm):"string"==typeof this._i&&this.zone(this._i),this},hasAlignedHourOffset:function(t){return t=t?De(t).zone():0,(this.zone()-t)%60===0},daysInMonth:function(){return N(this.year(),this.month())},dayOfYear:function(t){var e=Oe((De(this).startOf("day")-De(this).startOf("year"))/864e5)+1;return null==t?e:this.add(t-e,"d")},quarter:function(t){return null==t?Math.ceil((this.month()+1)/3):this.month(3*(t-1)+this.month()%3)},weekYear:function(t){var e=pe(this,this.localeData()._week.dow,this.localeData()._week.doy).year;return null==t?e:this.add(t-e,"y")},isoWeekYear:function(t){var e=pe(this,1,4).year;return null==t?e:this.add(t-e,"y")},week:function(t){var e=this.localeData().week(this);return null==t?e:this.add(7*(t-e),"d")},isoWeek:function(t){var e=pe(this,1,4).week;return null==t?e:this.add(7*(t-e),"d")},weekday:function(t){var e=(this.day()+7-this.localeData()._week.dow)%7;return null==t?e:this.add(t-e,"d")},isoWeekday:function(t){return null==t?this.day()||7:this.day(this.day()%7?t:t-7)},isoWeeksInYear:function(){return I(this.year(),1,4)},weeksInYear:function(){var t=this.localeData()._week;return I(this.year(),t.dow,t.doy)},get:function(t){return t=T(t),this[t]()},set:function(t,e){return t=T(t),"function"==typeof this[t]&&this[t](e),this},locale:function(t){var e;return t===n?this._locale._abbr:(e=De.localeData(t),null!=e&&(this._locale=e),this)},lang:l("moment().lang() is deprecated. Use moment().localeData() instead.",function(t){return t===n?this.localeData():this.locale(t)}),localeData:function(){return this._locale},_dateTzOffset:function(){return 15*Math.round(this._d.getTimezoneOffset()/15)}}),De.fn.millisecond=De.fn.milliseconds=be("Milliseconds",!1),De.fn.second=De.fn.seconds=be("Seconds",!1),De.fn.minute=De.fn.minutes=be("Minutes",!1),De.fn.hour=De.fn.hours=be("Hours",!0),De.fn.date=be("Date",!0),De.fn.dates=l("dates accessor is deprecated. Use date instead.",be("Date",!0)),De.fn.year=be("FullYear",!0),De.fn.years=l("years accessor is deprecated. Use year instead.",be("FullYear",!0)),De.fn.days=De.fn.day,De.fn.months=De.fn.month,De.fn.weeks=De.fn.week,De.fn.isoWeeks=De.fn.isoWeek,De.fn.quarters=De.fn.quarter,De.fn.toJSON=De.fn.toISOString,v(De.duration.fn=g.prototype,{_bubble:function(){var t,e,i,s=this._milliseconds,o=this._days,n=this._months,r=this._data,a=0;r.milliseconds=s%1e3,t=b(s/1e3),r.seconds=t%60,e=b(t/60),r.minutes=e%60,i=b(e/60),r.hours=i%24,o+=b(i/24),a=b(_e(o)),o-=b(xe(a)),n+=b(o/30),o%=30,a+=b(n/12),n%=12,r.days=o,r.months=n,r.years=a},abs:function(){return this._milliseconds=Math.abs(this._milliseconds),this._days=Math.abs(this._days),this._months=Math.abs(this._months),this._data.milliseconds=Math.abs(this._data.milliseconds),this._data.seconds=Math.abs(this._data.seconds),this._data.minutes=Math.abs(this._data.minutes),this._data.hours=Math.abs(this._data.hours),this._data.months=Math.abs(this._data.months),this._data.years=Math.abs(this._data.years),this},weeks:function(){return b(this.days()/7)},valueOf:function(){return this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*k(this._months/12)},humanize:function(t){var e=ce(this,!t,this.localeData());return t&&(e=this.localeData().pastFuture(+this,e)),this.localeData().postformat(e)},add:function(t,e){var i=De.duration(t,e);return this._milliseconds+=i._milliseconds,this._days+=i._days,this._months+=i._months,this._bubble(),this},subtract:function(t,e){var i=De.duration(t,e);return this._milliseconds-=i._milliseconds,this._days-=i._days,this._months-=i._months,this._bubble(),this},get:function(t){return t=T(t),this[t.toLowerCase()+"s"]()},as:function(t){var e,i;if(t=T(t),"month"===t||"year"===t)return e=this._days+this._milliseconds/864e5,i=this._months+12*_e(e),"month"===t?i:i/12;switch(e=this._days+xe(this._months/12),t){case"week":return e/7+this._milliseconds/6048e5;case"day":return e+this._milliseconds/864e5;case"hour":return 24*e+this._milliseconds/36e5;case"minute":return 24*e*60+this._milliseconds/6e4;case"second":return 24*e*60*60+this._milliseconds/1e3;case"millisecond":return Math.floor(24*e*60*60*1e3)+this._milliseconds;default:throw new Error("Unknown unit "+t)}},lang:De.fn.lang,locale:De.fn.locale,toIsoString:l("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",function(){return this.toISOString()}),toISOString:function(){var t=Math.abs(this.years()),e=Math.abs(this.months()),i=Math.abs(this.days()),s=Math.abs(this.hours()),o=Math.abs(this.minutes()),n=Math.abs(this.seconds()+this.milliseconds()/1e3);return this.asSeconds()?(this.asSeconds()<0?"-":"")+"P"+(t?t+"Y":"")+(e?e+"M":"")+(i?i+"D":"")+(s||o||n?"T":"")+(s?s+"H":"")+(o?o+"M":"")+(n?n+"S":""):"P0D"},localeData:function(){return this._locale}}),De.duration.fn.toString=De.duration.fn.toISOString;for(Ce in ui)a(ui,Ce)&&we(Ce.toLowerCase());De.duration.fn.asMilliseconds=function(){return this.as("ms") -},De.duration.fn.asSeconds=function(){return this.as("s")},De.duration.fn.asMinutes=function(){return this.as("m")},De.duration.fn.asHours=function(){return this.as("h")},De.duration.fn.asDays=function(){return this.as("d")},De.duration.fn.asWeeks=function(){return this.as("weeks")},De.duration.fn.asMonths=function(){return this.as("M")},De.duration.fn.asYears=function(){return this.as("y")},De.locale("en",{ordinal:function(t){var e=t%10,i=1===k(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th";return t+i}}),Ye?o.exports=De:(s=function(t,e,i){return i.config&&i.config()&&i.config().noGlobal===!0&&(Te.moment=Me),De}.call(e,i,e,o),!(s!==n&&(o.exports=s)),Se(!0))}).call(this)}).call(e,function(){return this}(),i(68)(t))},function(t,e,i){var s;!function(o,n){"use strict";function r(){a.READY||(w.determineEventTypes(),x.each(a.gestures,function(t){D.register(t)}),w.onTouch(a.DOCUMENT,v,D.detect),w.onTouch(a.DOCUMENT,y,D.detect),a.READY=!0)}var a=function M(t,e){return new M.Instance(t,e||{})};a.VERSION="1.1.3",a.defaults={behavior:{userSelect:"none",touchAction:"pan-y",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}},a.DOCUMENT=document,a.HAS_POINTEREVENTS=navigator.pointerEnabled||navigator.msPointerEnabled,a.HAS_TOUCHEVENTS="ontouchstart"in o,a.IS_MOBILE=/mobile|tablet|ip(ad|hone|od)|android|silk/i.test(navigator.userAgent),a.NO_MOUSEEVENTS=a.HAS_TOUCHEVENTS&&a.IS_MOBILE||a.HAS_POINTEREVENTS,a.CALCULATE_INTERVAL=25;var h={},d=a.DIRECTION_DOWN="down",l=a.DIRECTION_LEFT="left",c=a.DIRECTION_UP="up",p=a.DIRECTION_RIGHT="right",u=a.POINTER_MOUSE="mouse",f=a.POINTER_TOUCH="touch",m=a.POINTER_PEN="pen",g=a.EVENT_START="start",v=a.EVENT_MOVE="move",y=a.EVENT_END="end",b=a.EVENT_RELEASE="release",_=a.EVENT_TOUCH="touch";a.READY=!1,a.plugins=a.plugins||{},a.gestures=a.gestures||{};var x=a.utils={extend:function(t,e,i){for(var s in e)!e.hasOwnProperty(s)||t[s]!==n&&i||(t[s]=e[s]);return t},on:function(t,e,i){t.addEventListener(e,i,!1)},off:function(t,e,i){t.removeEventListener(e,i,!1)},each:function(t,e,i){var s,o;if("forEach"in t)t.forEach(e,i);else if(t.length!==n){for(s=0,o=t.length;o>s;s++)if(e.call(i,t[s],s,t)===!1)return}else for(s in t)if(t.hasOwnProperty(s)&&e.call(i,t[s],s,t)===!1)return},inStr:function(t,e){return t.indexOf(e)>-1},inArray:function(t,e){if(t.indexOf){var i=t.indexOf(e);return-1===i?!1:i}for(var s=0,o=t.length;o>s;s++)if(t[s]===e)return s;return!1},toArray:function(t){return Array.prototype.slice.call(t,0)},hasParent:function(t,e){for(;t;){if(t==e)return!0;t=t.parentNode}return!1},getCenter:function(t){var e=[],i=[],s=[],o=[],n=Math.min,r=Math.max;return 1===t.length?{pageX:t[0].pageX,pageY:t[0].pageY,clientX:t[0].clientX,clientY:t[0].clientY}:(x.each(t,function(t){e.push(t.pageX),i.push(t.pageY),s.push(t.clientX),o.push(t.clientY)}),{pageX:(n.apply(Math,e)+r.apply(Math,e))/2,pageY:(n.apply(Math,i)+r.apply(Math,i))/2,clientX:(n.apply(Math,s)+r.apply(Math,s))/2,clientY:(n.apply(Math,o)+r.apply(Math,o))/2})},getVelocity:function(t,e,i){return{x:Math.abs(e/t)||0,y:Math.abs(i/t)||0}},getAngle:function(t,e){var i=e.clientX-t.clientX,s=e.clientY-t.clientY;return 180*Math.atan2(s,i)/Math.PI},getDirection:function(t,e){var i=Math.abs(t.clientX-e.clientX),s=Math.abs(t.clientY-e.clientY);return i>=s?t.clientX-e.clientX>0?l:p:t.clientY-e.clientY>0?c:d},getDistance:function(t,e){var i=e.clientX-t.clientX,s=e.clientY-t.clientY;return Math.sqrt(i*i+s*s)},getScale:function(t,e){return t.length>=2&&e.length>=2?this.getDistance(e[0],e[1])/this.getDistance(t[0],t[1]):1},getRotation:function(t,e){return t.length>=2&&e.length>=2?this.getAngle(e[1],e[0])-this.getAngle(t[1],t[0]):0},isVertical:function(t){return t==c||t==d},setPrefixedCss:function(t,e,i,s){var o=["","Webkit","Moz","O","ms"];e=x.toCamelCase(e);for(var n=0;n0&&this.started&&(r=v),this.started=!0;var d=this.collectEventData(i,r,o,t);return e!=y&&s.call(D,d),a&&(d.changedLength=h,d.eventType=a,s.call(D,d),d.eventType=r,delete d.changedLength),r==y&&(s.call(D,d),this.started=!1),r},determineEventTypes:function(){var t;return t=a.HAS_POINTEREVENTS?o.PointerEvent?["pointerdown","pointermove","pointerup pointercancel lostpointercapture"]:["MSPointerDown","MSPointerMove","MSPointerUp MSPointerCancel MSLostPointerCapture"]:a.NO_MOUSEEVENTS?["touchstart","touchmove","touchend touchcancel"]:["touchstart mousedown","touchmove mousemove","touchend touchcancel mouseup"],h[g]=t[0],h[v]=t[1],h[y]=t[2],h},getTouchList:function(t,e){if(a.HAS_POINTEREVENTS)return S.getTouchList();if(t.touches){if(e==v)return t.touches;var i=[],s=[].concat(x.toArray(t.touches),x.toArray(t.changedTouches)),o=[];return x.each(s,function(t){x.inArray(i,t.identifier)===!1&&o.push(t),i.push(t.identifier)}),o}return t.identifier=1,[t]},collectEventData:function(t,e,i,s){var o=f;return x.inStr(s.type,"mouse")||S.matchType(u,s)?o=u:S.matchType(m,s)&&(o=m),{center:x.getCenter(i),timeStamp:Date.now(),target:s.target,touches:i,eventType:e,pointerType:o,srcEvent:s,preventDefault:function(){var t=this.srcEvent;t.preventManipulation&&t.preventManipulation(),t.preventDefault&&t.preventDefault()},stopPropagation:function(){this.srcEvent.stopPropagation()},stopDetect:function(){return D.stopDetect()}}}},S=a.PointerEvent={pointers:{},getTouchList:function(){var t=[];return x.each(this.pointers,function(e){t.push(e)}),t},updatePointer:function(t,e){t==y||t!=y&&1!==e.buttons?delete this.pointers[e.pointerId]:(e.identifier=e.pointerId,this.pointers[e.pointerId]=e)},matchType:function(t,e){if(!e.pointerType)return!1;var i=e.pointerType,s={};return s[u]=i===(e.MSPOINTER_TYPE_MOUSE||u),s[f]=i===(e.MSPOINTER_TYPE_TOUCH||f),s[m]=i===(e.MSPOINTER_TYPE_PEN||m),s[t]},reset:function(){this.pointers={}}},D=a.detection={gestures:[],current:null,previous:null,stopped:!1,startDetect:function(t,e){this.current||(this.stopped=!1,this.current={inst:t,startEvent:x.extend({},e),lastEvent:!1,lastCalcEvent:!1,futureCalcEvent:!1,lastCalcData:{},name:""},this.detect(e))},detect:function(t){if(this.current&&!this.stopped){t=this.extendEventData(t);var e=this.current.inst,i=e.options;return x.each(this.gestures,function(s){!this.stopped&&e.enabled&&i[s.name]&&s.handler.call(s,t,e)},this),this.current&&(this.current.lastEvent=t),t.eventType==y&&this.stopDetect(),t}},stopDetect:function(){this.previous=x.extend({},this.current),this.current=null,this.stopped=!0},getCalculatedData:function(t,e,i,s,o){var n=this.current,r=!1,h=n.lastCalcEvent,d=n.lastCalcData;h&&t.timeStamp-h.timeStamp>a.CALCULATE_INTERVAL&&(e=h.center,i=t.timeStamp-h.timeStamp,s=t.center.clientX-h.center.clientX,o=t.center.clientY-h.center.clientY,r=!0),(t.eventType==_||t.eventType==b)&&(n.futureCalcEvent=t),(!n.lastCalcEvent||r)&&(d.velocity=x.getVelocity(i,s,o),d.angle=x.getAngle(e,t.center),d.direction=x.getDirection(e,t.center),n.lastCalcEvent=n.futureCalcEvent||t,n.futureCalcEvent=t),t.velocityX=d.velocity.x,t.velocityY=d.velocity.y,t.interimAngle=d.angle,t.interimDirection=d.direction},extendEventData:function(t){var e=this.current,i=e.startEvent,s=e.lastEvent||i;(t.eventType==_||t.eventType==b)&&(i.touches=[],x.each(t.touches,function(t){i.touches.push({clientX:t.clientX,clientY:t.clientY})}));var o=t.timeStamp-i.timeStamp,n=t.center.clientX-i.center.clientX,r=t.center.clientY-i.center.clientY;return this.getCalculatedData(t,s.center,o,n,r),x.extend(t,{startEvent:i,deltaTime:o,deltaX:n,deltaY:r,distance:x.getDistance(i.center,t.center),angle:x.getAngle(i.center,t.center),direction:x.getDirection(i.center,t.center),scale:x.getScale(i.touches,t.touches),rotation:x.getRotation(i.touches,t.touches)}),t},register:function(t){var e=t.defaults||{};return e[t.name]===n&&(e[t.name]=!0),x.extend(a.defaults,e,!0),t.index=t.index||1e3,this.gestures.push(t),this.gestures.sort(function(t,e){return t.indexe.index?1:0}),this.gestures}};a.Instance=function(t,e){var i=this;r(),this.element=t,this.enabled=!0,x.each(e,function(t,i){delete e[i],e[x.toCamelCase(i)]=t}),this.options=x.extend(x.extend({},a.defaults),e||{}),this.options.behavior&&x.toggleBehavior(this.element,this.options.behavior,!0),this.eventStartHandler=w.onTouch(t,g,function(t){i.enabled&&t.eventType==g?D.startDetect(i,t):t.eventType==_&&D.detect(t)}),this.eventHandlers=[]},a.Instance.prototype={on:function(t,e){var i=this;return w.on(i.element,t,e,function(t){i.eventHandlers.push({gesture:t,handler:e})}),i},off:function(t,e){var i=this;return w.off(i.element,t,e,function(t){var s=x.inArray({gesture:t,handler:e});s!==!1&&i.eventHandlers.splice(s,1)}),i},trigger:function(t,e){e||(e={});var i=a.DOCUMENT.createEvent("Event");i.initEvent(t,!0,!0),i.gesture=e;var s=this.element;return x.hasParent(e.target,s)&&(s=e.target),s.dispatchEvent(i),this},enable:function(t){return this.enabled=t,this},dispose:function(){var t,e;for(x.toggleBehavior(this.element,this.options.behavior,!1),t=-1;e=this.eventHandlers[++t];)x.off(this.element,e.gesture,e.handler);return this.eventHandlers=[],w.off(this.element,h[g],this.eventStartHandler),null}},function(t){function e(e,s){var o=D.current;if(!(s.options.dragMaxTouches>0&&e.touches.length>s.options.dragMaxTouches))switch(e.eventType){case g:i=!1;break;case v:if(e.distance0)){var r=Math.abs(s.options.dragMinDistance/e.distance);n.pageX+=e.deltaX*r,n.pageY+=e.deltaY*r,n.clientX+=e.deltaX*r,n.clientY+=e.deltaY*r,e=D.extendEventData(e)}(o.lastEvent.dragLockToAxis||s.options.dragLockToAxis&&s.options.dragLockMinDistance<=e.distance)&&(e.dragLockToAxis=!0);var a=o.lastEvent.direction;e.dragLockToAxis&&a!==e.direction&&(e.direction=x.isVertical(a)?e.deltaY<0?c:d:e.deltaX<0?l:p),i||(s.trigger(t+"start",e),i=!0),s.trigger(t,e),s.trigger(t+e.direction,e);var h=x.isVertical(e.direction);(s.options.dragBlockVertical&&h||s.options.dragBlockHorizontal&&!h)&&e.preventDefault();break;case b:i&&e.changedLength<=s.options.dragMaxTouches&&(s.trigger(t+"end",e),i=!1);break;case y:i=!1}}var i=!1;a.gestures.Drag={name:t,index:50,handler:e,defaults:{dragMinDistance:10,dragDistanceCorrection:!0,dragMaxTouches:1,dragBlockHorizontal:!1,dragBlockVertical:!1,dragLockToAxis:!1,dragLockMinDistance:25}}}("drag"),a.gestures.Gesture={name:"gesture",index:1337,handler:function(t,e){e.trigger(this.name,t)}},function(t){function e(e,s){var o=s.options,n=D.current;switch(e.eventType){case g:clearTimeout(i),n.name=t,i=setTimeout(function(){n&&n.name==t&&s.trigger(t,e)},o.holdTimeout);break;case v:e.distance>o.holdThreshold&&clearTimeout(i);break;case b:clearTimeout(i)}}var i;a.gestures.Hold={name:t,index:10,defaults:{holdTimeout:500,holdThreshold:2},handler:e}}("hold"),a.gestures.Release={name:"release",index:1/0,handler:function(t,e){t.eventType==b&&e.trigger(this.name,t)}},a.gestures.Swipe={name:"swipe",index:40,defaults:{swipeMinTouches:1,swipeMaxTouches:1,swipeVelocityX:.6,swipeVelocityY:.6},handler:function(t,e){if(t.eventType==b){var i=t.touches.length,s=e.options;if(is.swipeMaxTouches)return;(t.velocityX>s.swipeVelocityX||t.velocityY>s.swipeVelocityY)&&(e.trigger(this.name,t),e.trigger(this.name+t.direction,t))}}},function(t){function e(e,s){var o,n,r=s.options,a=D.current,h=D.previous;switch(e.eventType){case g:i=!1;break;case v:i=i||e.distance>r.tapMaxDistance;break;case y:!x.inStr(e.srcEvent.type,"cancel")&&e.deltaTimes.options.transformMinRotation&&s.trigger("rotate",e),o>s.options.transformMinScale&&(s.trigger("pinch",e),s.trigger("pinch"+(e.scale<1?"in":"out"),e));break;case b:i&&e.changedLength<2&&(s.trigger(t+"end",e),i=!1)}}var i=!1;a.gestures.Transform={name:t,index:45,defaults:{transformMinScale:.01,transformMinRotation:1},handler:e}}("transform"),s=function(){return a}.call(e,i,e,t),!(s!==n&&(t.exports=s))}(window)},function(t,e){e.startWithClustering=function(){this.clusterToFit(this.constants.clustering.initialMaxNodes,!0),this.updateLabels(),this.stabilize&&this._stabilize(),this.start()},e.clusterToFit=function(t,e){for(var i=this.nodeIndices.length,s=50,o=0;i>t&&s>o;)o%3==0?(this.forceAggregateHubs(!0),this.normalizeClusterLevels()):this.increaseClusterLevel(),i=this.nodeIndices.length,o+=1;o>0&&1==e&&this.repositionNodes(),this._updateCalculationNodes()},e.openCluster=function(t){var e=this.moving;if(t.clusterSize>this.constants.clustering.sectorThreshold&&this._nodeInActiveArea(t)&&("default"!=this._sector()||1!=this.nodeIndices.length)){this._addSector(t);for(var i=0;this.nodeIndices.lengthi;)this.decreaseClusterLevel(),i+=1}else this._expandClusterNode(t,!1,!0),this._updateNodeIndexList(),this._updateDynamicEdges(),this._updateCalculationNodes(),this.updateLabels();this.moving!=e&&this.start()},e.updateClustersDefault=function(){1==this.constants.clustering.enabled&&this.updateClusters(0,!1,!1)},e.increaseClusterLevel=function(){this.updateClusters(-1,!1,!0)},e.decreaseClusterLevel=function(){this.updateClusters(1,!1,!0)},e.updateClusters=function(t,e,i,s){var o=this.moving,n=this.nodeIndices.length;this.previousScale>this.scale&&0==t&&this._collapseSector(),this.previousScale>this.scale||-1==t?this._formClusters(i):(this.previousScalethis.scale||-1==t)&&(this._aggregateHubs(i),this._updateNodeIndexList()),(this.previousScale>this.scale||-1==t)&&(this.handleChains(),this._updateNodeIndexList()),this.previousScale=this.scale,this._updateDynamicEdges(),this.updateLabels(),this.nodeIndices.lengththis.constants.clustering.chainThreshold&&this._reduceAmountOfChains(1-this.constants.clustering.chainThreshold/t)},e._aggregateHubs=function(t){this._getHubSize(),this._formClustersByHub(t,!1)},e.forceAggregateHubs=function(t){var e=this.moving,i=this.nodeIndices.length;this._aggregateHubs(!0),this._updateNodeIndexList(),this._updateDynamicEdges(),this.updateLabels(),this.nodeIndices.length!=i&&(this.clusterSession+=1),(0==t||void 0===t)&&this.moving!=e&&this.start()},e._openClustersBySize=function(){for(var t in this.nodes)if(this.nodes.hasOwnProperty(t)){var e=this.nodes[t];1==e.inView()&&(e.width*this.scale>this.constants.clustering.screenSizeThreshold*this.frame.canvas.clientWidth||e.height*this.scale>this.constants.clustering.screenSizeThreshold*this.frame.canvas.clientHeight)&&this.openCluster(e)}},e._openClusters=function(t,e){for(var i=0;i1&&(t.clusterSizei)){var r=n.from,a=n.to;n.to.options.mass>n.from.options.mass&&(r=n.to,a=n.from),1==a.dynamicEdgesLength?this._addToCluster(r,a,!1):1==r.dynamicEdgesLength&&this._addToCluster(a,r,!1)}}},e._forceClustersByZoom=function(){for(var t in this.nodes)if(this.nodes.hasOwnProperty(t)){var e=this.nodes[t];if(1==e.dynamicEdgesLength&&0!=e.dynamicEdges.length){var i=e.dynamicEdges[0],s=i.toId==e.id?this.nodes[i.fromId]:this.nodes[i.toId];e.id!=s.id&&(s.options.mass>e.options.mass?this._addToCluster(s,e,!0):this._addToCluster(e,s,!0))}}},e._clusterToSmallestNeighbour=function(t){for(var e=-1,i=null,s=0;so.clusterSessions.length&&(e=o.clusterSessions.length,i=o)}null!=o&&void 0!==this.nodes[o.id]&&this._addToCluster(o,t,!0)},e._formClustersByHub=function(t,e){for(var i in this.nodes)this.nodes.hasOwnProperty(i)&&this._formClusterFromHub(this.nodes[i],t,e)},e._formClusterFromHub=function(t,e,i,s){if(void 0===s&&(s=0),t.dynamicEdgesLength>=this.hubThreshold&&0==i||t.dynamicEdgesLength==this.hubThreshold&&1==i){for(var o,n,r,a=this.constants.clustering.clusterEdgeThreshold/this.scale,h=!1,d=[],l=t.dynamicEdges.length,c=0;l>c;c++)d.push(t.dynamicEdges[c].id);if(0==e)for(h=!1,c=0;l>c;c++){var p=this.edges[d[c]];if(void 0!==p&&p.connected&&p.toId!=p.fromId&&(o=p.to.x-p.from.x,n=p.to.y-p.from.y,r=Math.sqrt(o*o+n*n),a>r)){h=!0;break}}if(!e&&h||e)for(c=0;l>c;c++)if(p=this.edges[d[c]],void 0!==p){var u=this.nodes[p.fromId==t.id?p.toId:p.fromId];u.dynamicEdges.length<=this.hubThreshold+s&&u.id!=t.id&&this._addToCluster(t,u,e)}}},e._addToCluster=function(t,e,i){t.containedNodes[e.id]=e;for(var s=0;s1)for(var s=0;s1&&(e.label="[".concat(String(e.clusterSize),"]"))}for(t in this.nodes)this.nodes.hasOwnProperty(t)&&(e=this.nodes[t],1==e.clusterSize&&(e.label=void 0!==e.originalLabel?e.originalLabel:String(e.id)))},e.normalizeClusterLevels=function(){var t,e=0,i=1e9,s=0;for(t in this.nodes)this.nodes.hasOwnProperty(t)&&(s=this.nodes[t].clusterSessions.length,s>e&&(e=s),i>s&&(i=s));if(e-i>this.constants.clustering.clusterLevelDifference){var o=this.nodeIndices.length,n=e-this.constants.clustering.clusterLevelDifference;for(t in this.nodes)this.nodes.hasOwnProperty(t)&&this.nodes[t].clusterSessions.lengths&&(s=n.dynamicEdgesLength),t+=n.dynamicEdgesLength,e+=Math.pow(n.dynamicEdgesLength,2),i+=1}t/=i,e/=i;var r=e-Math.pow(t,2),a=Math.sqrt(r);this.hubThreshold=Math.floor(t+2*a),this.hubThreshold>s&&(this.hubThreshold=s)},e._reduceAmountOfChains=function(t){this.hubThreshold=2;var e=Math.floor(this.nodeIndices.length*t);for(var i in this.nodes)this.nodes.hasOwnProperty(i)&&2==this.nodes[i].dynamicEdgesLength&&this.nodes[i].dynamicEdges.length>=2&&e>0&&(this._formClusterFromHub(this.nodes[i],!0,!0,1),e-=1)},e._getChainFraction=function(){var t=0,e=0;for(var i in this.nodes)this.nodes.hasOwnProperty(i)&&(2==this.nodes[i].dynamicEdgesLength&&this.nodes[i].dynamicEdges.length>=2&&(t+=1),e+=1);return t/e}},function(t,e,i){var s=i(1),o=i(39);e._putDataInSector=function(){this.sectors.active[this._sector()].nodes=this.nodes,this.sectors.active[this._sector()].edges=this.edges,this.sectors.active[this._sector()].nodeIndices=this.nodeIndices},e._switchToSector=function(t,e){void 0===e||"active"==e?this._switchToActiveSector(t):this._switchToFrozenSector(t)},e._switchToActiveSector=function(t){this.nodeIndices=this.sectors.active[t].nodeIndices,this.nodes=this.sectors.active[t].nodes,this.edges=this.sectors.active[t].edges},e._switchToSupportSector=function(){this.nodeIndices=this.sectors.support.nodeIndices,this.nodes=this.sectors.support.nodes,this.edges=this.sectors.support.edges},e._switchToFrozenSector=function(t){this.nodeIndices=this.sectors.frozen[t].nodeIndices,this.nodes=this.sectors.frozen[t].nodes,this.edges=this.sectors.frozen[t].edges},e._loadLatestSector=function(){this._switchToSector(this._sector())},e._sector=function(){return this.activeSector[this.activeSector.length-1]},e._previousSector=function(){if(this.activeSector.length>1)return this.activeSector[this.activeSector.length-2];throw new TypeError("there are not enough sectors in the this.activeSector array.")},e._setActiveSector=function(t){this.activeSector.push(t)},e._forgetLastSector=function(){this.activeSector.pop()},e._createNewSector=function(t){this.sectors.active[t]={nodes:{},edges:{},nodeIndices:[],formationScale:this.scale,drawingNode:void 0},this.sectors.active[t].drawingNode=new o({id:t,color:{background:"#eaefef",border:"495c5e"}},{},{},this.constants),this.sectors.active[t].drawingNode.clusterSize=2},e._deleteActiveSector=function(t){delete this.sectors.active[t]},e._deleteFrozenSector=function(t){delete this.sectors.frozen[t]},e._freezeSector=function(t){this.sectors.frozen[t]=this.sectors.active[t],this._deleteActiveSector(t)},e._activateSector=function(t){this.sectors.active[t]=this.sectors.frozen[t],this._deleteFrozenSector(t)},e._mergeThisWithFrozen=function(t){for(var e in this.nodes)this.nodes.hasOwnProperty(e)&&(this.sectors.frozen[t].nodes[e]=this.nodes[e]);for(var i in this.edges)this.edges.hasOwnProperty(i)&&(this.sectors.frozen[t].edges[i]=this.edges[i]);for(var s=0;s1?this[t](o[0],o[1]):this[t](e))}return this._loadLatestSector(),i},e._doInSupportSector=function(t,e){var i=!1;if(void 0===e)this._switchToSupportSector(),i=this[t]();else{this._switchToSupportSector();var s=Array.prototype.splice.call(arguments,1);i=s.length>1?this[t](s[0],s[1]):this[t](e)}return this._loadLatestSector(),i},e._doInAllFrozenSectors=function(t,e){if(void 0===e)for(var i in this.sectors.frozen)this.sectors.frozen.hasOwnProperty(i)&&(this._switchToFrozenSector(i),this[t]());else for(var i in this.sectors.frozen)if(this.sectors.frozen.hasOwnProperty(i)){this._switchToFrozenSector(i);var s=Array.prototype.splice.call(arguments,1);s.length>1?this[t](s[0],s[1]):this[t](e)}this._loadLatestSector()},e._doInAllSectors=function(t,e){var i=Array.prototype.splice.call(arguments,1);void 0===e?(this._doInAllActiveSectors(t),this._doInAllFrozenSectors(t)):i.length>1?(this._doInAllActiveSectors(t,i[0],i[1]),this._doInAllFrozenSectors(t,i[0],i[1])):(this._doInAllActiveSectors(t,e),this._doInAllFrozenSectors(t,e))},e._clearNodeIndexList=function(){var t=this._sector();this.sectors.active[t].nodeIndices=[],this.nodeIndices=this.sectors.active[t].nodeIndices},e._drawSectorNodes=function(t,e){var i,s=1e9,o=-1e9,n=1e9,r=-1e9;for(var a in this.sectors[e])if(this.sectors[e].hasOwnProperty(a)&&void 0!==this.sectors[e][a].drawingNode){this._switchToSector(a,e),s=1e9,o=-1e9,n=1e9,r=-1e9;for(var h in this.nodes)this.nodes.hasOwnProperty(h)&&(i=this.nodes[h],i.resize(t),n>i.x-.5*i.width&&(n=i.x-.5*i.width),ri.y-.5*i.height&&(s=i.y-.5*i.height),o0?this.nodes[i[i.length-1]]:null},e._getEdgesOverlappingWith=function(t,e){var i=this.edges;for(var s in i)i.hasOwnProperty(s)&&i[s].isOverlappingWith(t)&&e.push(s)},e._getAllEdgesOverlappingWith=function(t){var e=[];return this._doInAllActiveSectors("_getEdgesOverlappingWith",t,e),e},e._getEdgeAt=function(t){var e=this._pointerToPositionObject(t),i=this._getAllEdgesOverlappingWith(e);return i.length>0?this.edges[i[i.length-1]]:null},e._addToSelection=function(t){t instanceof s?this.selectionObj.nodes[t.id]=t:this.selectionObj.edges[t.id]=t},e._addToHover=function(t){t instanceof s?this.hoverObj.nodes[t.id]=t:this.hoverObj.edges[t.id]=t},e._removeFromSelection=function(t){t instanceof s?delete this.selectionObj.nodes[t.id]:delete this.selectionObj.edges[t.id]},e._unselectAll=function(t){void 0===t&&(t=!1);for(var e in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(e)&&this.selectionObj.nodes[e].unselect();for(var i in this.selectionObj.edges)this.selectionObj.edges.hasOwnProperty(i)&&this.selectionObj.edges[i].unselect();this.selectionObj={nodes:{},edges:{}},0==t&&this.emit("select",this.getSelection())},e._unselectClusters=function(t){void 0===t&&(t=!1);for(var e in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(e)&&this.selectionObj.nodes[e].clusterSize>1&&(this.selectionObj.nodes[e].unselect(),this._removeFromSelection(this.selectionObj.nodes[e]));0==t&&this.emit("select",this.getSelection())},e._getSelectedNodeCount=function(){var t=0;for(var e in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(e)&&(t+=1);return t},e._getSelectedNode=function(){for(var t in this.selectionObj.nodes)if(this.selectionObj.nodes.hasOwnProperty(t))return this.selectionObj.nodes[t];return null},e._getSelectedEdge=function(){for(var t in this.selectionObj.edges)if(this.selectionObj.edges.hasOwnProperty(t))return this.selectionObj.edges[t];return null},e._getSelectedEdgeCount=function(){var t=0;for(var e in this.selectionObj.edges)this.selectionObj.edges.hasOwnProperty(e)&&(t+=1);return t},e._getSelectedObjectCount=function(){var t=0;for(var e in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(e)&&(t+=1);for(var i in this.selectionObj.edges)this.selectionObj.edges.hasOwnProperty(i)&&(t+=1);return t},e._selectionIsEmpty=function(){for(var t in this.selectionObj.nodes)if(this.selectionObj.nodes.hasOwnProperty(t))return!1;for(var e in this.selectionObj.edges)if(this.selectionObj.edges.hasOwnProperty(e))return!1;return!0},e._clusterInSelection=function(){for(var t in this.selectionObj.nodes)if(this.selectionObj.nodes.hasOwnProperty(t)&&this.selectionObj.nodes[t].clusterSize>1)return!0;return!1},e._selectConnectedEdges=function(t){for(var e=0;ei;i++){o=t[i];var n=this.nodes[o];if(!n)throw new RangeError('Node with id "'+o+'" not found');this._selectObject(n,!0,!0,e,!0)}this.redraw()},e.selectEdges=function(t){var e,i,s;if(!t||void 0==t.length)throw"Selection must be an array with ids";for(this._unselectAll(!0),e=0,i=t.length;i>e;e++){s=t[e];var o=this.edges[s];if(!o)throw new RangeError('Edge with id "'+s+'" not found');this._selectObject(o,!0,!0,!1,!0)}this.redraw()},e._updateSelection=function(){for(var t in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(t)&&(this.nodes.hasOwnProperty(t)||delete this.selectionObj.nodes[t]);for(var e in this.selectionObj.edges)this.selectionObj.edges.hasOwnProperty(e)&&(this.edges.hasOwnProperty(e)||delete this.selectionObj.edges[e])}},function(t,e,i){var s=i(1),o=i(39),n=i(36);e._clearManipulatorBar=function(){for(;this.manipulationDiv.hasChildNodes();)this.manipulationDiv.removeChild(this.manipulationDiv.firstChild);this._manipulationReleaseOverload=function(){},delete this.sectors.support.nodes.targetNode,delete this.sectors.support.nodes.targetViaNode,this.controlNodesActive=!1},e._restoreOverloadedFunctions=function(){for(var t in this.cachedFunctions)this.cachedFunctions.hasOwnProperty(t)&&(this[t]=this.cachedFunctions[t])},e._toggleEditMode=function(){this.editMode=!this.editMode;var t=document.getElementById("network-manipulationDiv"),e=document.getElementById("network-manipulation-closeDiv"),i=document.getElementById("network-manipulation-editMode");1==this.editMode?(t.style.display="block",e.style.display="block",i.style.display="none",e.onclick=this._toggleEditMode.bind(this)):(t.style.display="none",e.style.display="none",i.style.display="block",e.onclick=null),this._createManipulatorBar()},e._createManipulatorBar=function(){this.boundFunction&&this.off("select",this.boundFunction);var t=this.constants.locales[this.constants.locale];if(void 0!==this.edgeBeingEdited&&(this.edgeBeingEdited._disableControlNodes(),this.edgeBeingEdited=void 0,this.selectedControlNode=null,this.controlNodesActive=!1),this._restoreOverloadedFunctions(),this.freezeSimulation=!1,this.blockConnectingEdgeSelection=!1,this.forceAppendSelection=!1,1==this.editMode){for(;this.manipulationDiv.hasChildNodes();)this.manipulationDiv.removeChild(this.manipulationDiv.firstChild);this.manipulationDiv.innerHTML=""+t.addNode+"
"+t.addEdge+"",1==this._getSelectedNodeCount()&&this.triggerFunctions.edit?this.manipulationDiv.innerHTML+="
"+t.editNode+"":1==this._getSelectedEdgeCount()&&0==this._getSelectedNodeCount()&&(this.manipulationDiv.innerHTML+="
"+t.editEdge+""),0==this._selectionIsEmpty()&&(this.manipulationDiv.innerHTML+="
"+t.del+"");var e=document.getElementById("network-manipulate-addNode");e.onclick=this._createAddNodeToolbar.bind(this);var i=document.getElementById("network-manipulate-connectNode");if(i.onclick=this._createAddEdgeToolbar.bind(this),1==this._getSelectedNodeCount()&&this.triggerFunctions.edit){var s=document.getElementById("network-manipulate-editNode");s.onclick=this._editNode.bind(this)}else if(1==this._getSelectedEdgeCount()&&0==this._getSelectedNodeCount()){var s=document.getElementById("network-manipulate-editEdge");s.onclick=this._createEditEdgeToolbar.bind(this)}if(0==this._selectionIsEmpty()){var o=document.getElementById("network-manipulate-delete");o.onclick=this._deleteSelected.bind(this)}var n=document.getElementById("network-manipulation-closeDiv");n.onclick=this._toggleEditMode.bind(this),this.boundFunction=this._createManipulatorBar.bind(this),this.on("select",this.boundFunction)}else{this.editModeDiv.innerHTML=""+t.edit+"";var r=document.getElementById("network-manipulate-editModeButton");r.onclick=this._toggleEditMode.bind(this)}},e._createAddNodeToolbar=function(){this._clearManipulatorBar(),this.boundFunction&&this.off("select",this.boundFunction);var t=this.constants.locales[this.constants.locale];this.manipulationDiv.innerHTML=""+t.back+"
"+t.addDescription+"";var e=document.getElementById("network-manipulate-back");e.onclick=this._createManipulatorBar.bind(this),this.boundFunction=this._addNode.bind(this),this.on("select",this.boundFunction)},e._createAddEdgeToolbar=function(){this._clearManipulatorBar(),this._unselectAll(!0),this.freezeSimulation=!0;var t=this.constants.locales[this.constants.locale];this.boundFunction&&this.off("select",this.boundFunction),this._unselectAll(),this.forceAppendSelection=!1,this.blockConnectingEdgeSelection=!0,this.manipulationDiv.innerHTML=""+t.back+"
"+t.edgeDescription+"";var e=document.getElementById("network-manipulate-back");e.onclick=this._createManipulatorBar.bind(this),this.boundFunction=this._handleConnect.bind(this),this.on("select",this.boundFunction),this.cachedFunctions._handleTouch=this._handleTouch,this.cachedFunctions._manipulationReleaseOverload=this._manipulationReleaseOverload,this.cachedFunctions._handleDragStart=this._handleDragStart,this.cachedFunctions._handleDragEnd=this._handleDragEnd,this._handleTouch=this._handleConnect,this._manipulationReleaseOverload=function(){},this._handleDragStart=function(){},this._handleDragEnd=this._finishConnect,this._redraw()},e._createEditEdgeToolbar=function(){this._clearManipulatorBar(),this.controlNodesActive=!0,this.boundFunction&&this.off("select",this.boundFunction),this.edgeBeingEdited=this._getSelectedEdge(),this.edgeBeingEdited._enableControlNodes();var t=this.constants.locales[this.constants.locale];this.manipulationDiv.innerHTML=""+t.back+"
"+t.editEdgeDescription+"";var e=document.getElementById("network-manipulate-back");e.onclick=this._createManipulatorBar.bind(this),this.cachedFunctions._handleTouch=this._handleTouch,this.cachedFunctions._manipulationReleaseOverload=this._manipulationReleaseOverload,this.cachedFunctions._handleTap=this._handleTap,this.cachedFunctions._handleDragStart=this._handleDragStart,this.cachedFunctions._handleOnDrag=this._handleOnDrag,this._handleTouch=this._selectControlNode,this._handleTap=function(){},this._handleOnDrag=this._controlNodeDrag,this._handleDragStart=function(){},this._manipulationReleaseOverload=this._releaseControlNode,this._redraw()},e._selectControlNode=function(t){this.edgeBeingEdited.controlNodes.from.unselect(),this.edgeBeingEdited.controlNodes.to.unselect(),this.selectedControlNode=this.edgeBeingEdited._getSelectedControlNode(this._XconvertDOMtoCanvas(t.x),this._YconvertDOMtoCanvas(t.y)),null!==this.selectedControlNode&&(this.selectedControlNode.select(),this.freezeSimulation=!0),this._redraw()},e._controlNodeDrag=function(t){var e=this._getPointer(t.gesture.center);null!==this.selectedControlNode&&void 0!==this.selectedControlNode&&(this.selectedControlNode.x=this._XconvertDOMtoCanvas(e.x),this.selectedControlNode.y=this._YconvertDOMtoCanvas(e.y)),this._redraw()},e._releaseControlNode=function(t){var e=this._getNodeAt(t);null!=e?(1==this.edgeBeingEdited.controlNodes.from.selected&&(this._editEdge(e.id,this.edgeBeingEdited.to.id),this.edgeBeingEdited.controlNodes.from.unselect()),1==this.edgeBeingEdited.controlNodes.to.selected&&(this._editEdge(this.edgeBeingEdited.from.id,e.id),this.edgeBeingEdited.controlNodes.to.unselect())):this.edgeBeingEdited._restoreControlNodes(),this.freezeSimulation=!1,this._redraw()},e._handleConnect=function(t){if(0==this._getSelectedNodeCount()){var e=this._getNodeAt(t);if(null!=e)if(e.clusterSize>1)alert(this.constants.locales[this.constants.locale].createEdgeError);else{this._selectObject(e,!1);var i=this.sectors.support.nodes;i.targetNode=new o({id:"targetNode"},{},{},this.constants);var s=i.targetNode;s.x=e.x,s.y=e.y,this.edges.connectionEdge=new n({id:"connectionEdge",from:e.id,to:s.id},this,this.constants);var r=this.edges.connectionEdge;r.from=e,r.connected=!0,r.options.smoothCurves={enabled:!0,dynamic:!1,type:"continuous",roundness:.5},r.selected=!0,r.to=s,this.cachedFunctions._handleOnDrag=this._handleOnDrag,this._handleOnDrag=function(t){var e=this._getPointer(t.gesture.center),i=this.edges.connectionEdge;i.to.x=this._XconvertDOMtoCanvas(e.x),i.to.y=this._YconvertDOMtoCanvas(e.y)},this.moving=!0,this.start()}}},e._finishConnect=function(t){if(1==this._getSelectedNodeCount()){var e=this._getPointer(t.gesture.center);this._handleOnDrag=this.cachedFunctions._handleOnDrag,delete this.cachedFunctions._handleOnDrag;var i=this.edges.connectionEdge.fromId;delete this.edges.connectionEdge,delete this.sectors.support.nodes.targetNode,delete this.sectors.support.nodes.targetViaNode;var s=this._getNodeAt(e);null!=s&&(s.clusterSize>1?alert(this.constants.locales[this.constants.locale].createEdgeError):(this._createEdge(i,s.id),this._createManipulatorBar())),this._unselectAll()}},e._addNode=function(){if(this._selectionIsEmpty()&&1==this.editMode){var t=this._pointerToPositionObject(this.pointerPosition),e={id:s.randomUUID(),x:t.left,y:t.top,label:"new",allowedToMoveX:!0,allowedToMoveY:!0};if(this.triggerFunctions.add){if(2!=this.triggerFunctions.add.length)throw new Error("The function for add does not support two arguments (data,callback)");var i=this;this.triggerFunctions.add(e,function(t){i.nodesData.add(t),i._createManipulatorBar(),i.moving=!0,i.start()})}else this.nodesData.add(e),this._createManipulatorBar(),this.moving=!0,this.start()}},e._createEdge=function(t,e){if(1==this.editMode){var i={from:t,to:e};if(this.triggerFunctions.connect){if(2!=this.triggerFunctions.connect.length)throw new Error("The function for connect does not support two arguments (data,callback)");var s=this;this.triggerFunctions.connect(i,function(t){s.edgesData.add(t),s.moving=!0,s.start()})}else this.edgesData.add(i),this.moving=!0,this.start()}},e._editEdge=function(t,e){if(1==this.editMode){var i={id:this.edgeBeingEdited.id,from:t,to:e};if(this.triggerFunctions.editEdge){if(2!=this.triggerFunctions.editEdge.length)throw new Error("The function for edit does not support two arguments (data, callback)");var s=this;this.triggerFunctions.editEdge(i,function(t){s.edgesData.update(t),s.moving=!0,s.start()})}else this.edgesData.update(i),this.moving=!0,this.start()}},e._editNode=function(){if(!this.triggerFunctions.edit||1!=this.editMode)throw new Error("No edit function has been bound to this button");var t=this._getSelectedNode(),e={id:t.id,label:t.label,group:t.options.group,shape:t.options.shape,color:{background:t.options.color.background,border:t.options.color.border,highlight:{background:t.options.color.highlight.background,border:t.options.color.highlight.border}}};if(2!=this.triggerFunctions.edit.length)throw new Error("The function for edit does not support two arguments (data, callback)");var i=this;this.triggerFunctions.edit(e,function(t){i.nodesData.update(t),i._createManipulatorBar(),i.moving=!0,i.start()})},e._deleteSelected=function(){if(!this._selectionIsEmpty()&&1==this.editMode)if(this._clusterInSelection())alert(this.constants.locales[this.constants.locale].deleteClusterError);else{var t=this.getSelectedNodes(),e=this.getSelectedEdges();if(this.triggerFunctions.del){var i=this,s={nodes:t,edges:e};if(!(this.triggerFunctions.del.length=2))throw new Error("The function for delete does not support two arguments (data, callback)");this.triggerFunctions.del(s,function(t){i.edgesData.remove(t.edges),i.nodesData.remove(t.nodes),i._unselectAll(),i.moving=!0,i.start()})}else this.edgesData.remove(e),this.nodesData.remove(t),this._unselectAll(),this.moving=!0,this.start()}}},function(t,e,i){var s=(i(1),i(44));e._cleanNavigation=function(){if(0!=this.navigationHammers.existing.length){for(var t=0;t0){"RL"==this.constants.hierarchicalLayout.direction||"DU"==this.constants.hierarchicalLayout.direction?this.constants.hierarchicalLayout.levelSeparation*=-1:this.constants.hierarchicalLayout.levelSeparation=Math.abs(this.constants.hierarchicalLayout.levelSeparation),"RL"==this.constants.hierarchicalLayout.direction||"LR"==this.constants.hierarchicalLayout.direction?1==this.constants.smoothCurves.enabled&&(this.constants.smoothCurves.type="vertical"):1==this.constants.smoothCurves.enabled&&(this.constants.smoothCurves.type="horizontal");var t,e,i=0,s=!1,o=!1;for(e in this.nodes)this.nodes.hasOwnProperty(e)&&(t=this.nodes[e],-1!=t.level?s=!0:o=!0,is&&(n.xFixed=!1,n.x=i[n.level].minPos,r=!0):n.yFixed&&n.level>s&&(n.yFixed=!1,n.y=i[n.level].minPos,r=!0),1==r&&(i[n.level].minPos+=i[n.level].nodeSpacing,n.edges.length>1&&this._placeBranchNodes(n.edges,n.id,i,n.level))}},e._setLevel=function(t,e,i){for(var s=0;st)&&(o.level=t,o.edges.length>1&&this._setLevel(t+1,o.edges,o.id))}},e._setLevelDirected=function(t,e,i){this.nodes[i].hierarchyEnumerated=!0;for(var s=0;s1&&o.hierarchyEnumerated===!1&&this._setLevelDirected(o.level,o.edges,o.id)}},e._restoreNodes=function(){for(var t in this.nodes)this.nodes.hasOwnProperty(t)&&(this.nodes[t].xFixed=!1,this.nodes[t].yFixed=!1)}},function(t,e,i){function s(){this.constants.smoothCurves.enabled=!this.constants.smoothCurves.enabled;var t=document.getElementById("graph_toggleSmooth");t.style.background=1==this.constants.smoothCurves.enabled?"#A4FF56":"#FF8532",this._configureSmoothCurves(!1)}function o(){for(var t in this.calculationNodes)this.calculationNodes.hasOwnProperty(t)&&(this.calculationNodes[t].vx=0,this.calculationNodes[t].vy=0,this.calculationNodes[t].fx=0,this.calculationNodes[t].fy=0);1==this.constants.hierarchicalLayout.enabled?(this._setupHierarchicalLayout(),a.call(this,"graph_H_nd",1,"physics_hierarchicalRepulsion_nodeDistance"),a.call(this,"graph_H_cg",1,"physics_centralGravity"),a.call(this,"graph_H_sc",1,"physics_springConstant"),a.call(this,"graph_H_sl",1,"physics_springLength"),a.call(this,"graph_H_damp",1,"physics_damping")):this.repositionNodes(),this.moving=!0,this.start()}function n(){var t="No options are required, default values used.",e=[],i=document.getElementById("graph_physicsMethod1"),s=document.getElementById("graph_physicsMethod2");if(1==i.checked){if(this.constants.physics.barnesHut.gravitationalConstant!=this.backupConstants.physics.barnesHut.gravitationalConstant&&e.push("gravitationalConstant: "+this.constants.physics.barnesHut.gravitationalConstant),this.constants.physics.centralGravity!=this.backupConstants.physics.barnesHut.centralGravity&&e.push("centralGravity: "+this.constants.physics.centralGravity),this.constants.physics.springLength!=this.backupConstants.physics.barnesHut.springLength&&e.push("springLength: "+this.constants.physics.springLength),this.constants.physics.springConstant!=this.backupConstants.physics.barnesHut.springConstant&&e.push("springConstant: "+this.constants.physics.springConstant),this.constants.physics.damping!=this.backupConstants.physics.barnesHut.damping&&e.push("damping: "+this.constants.physics.damping),0!=e.length){t="var options = {",t+="physics: {barnesHut: {";for(var o=0;othis.constants.clustering.clusterThreshold&&1==this.constants.clustering.enabled&&this.clusterToFit(this.constants.clustering.reduceToNodes,!1),this._calculateForces())},e._calculateForces=function(){this._calculateGravitationalForces(),this._calculateNodeForces(),this.constants.physics.springConstant>0&&(1==this.constants.smoothCurves.enabled&&1==this.constants.smoothCurves.dynamic?this._calculateSpringForcesWithSupport():1==this.constants.physics.hierarchicalRepulsion.enabled?this._calculateHierarchicalSpringForces():this._calculateSpringForces())},e._updateCalculationNodes=function(){if(1==this.constants.smoothCurves.enabled&&1==this.constants.smoothCurves.dynamic){this.calculationNodes={},this.calculationNodeIndices=[];for(var t in this.nodes)this.nodes.hasOwnProperty(t)&&(this.calculationNodes[t]=this.nodes[t]);var e=this.sectors.support.nodes;for(var i in e)e.hasOwnProperty(i)&&(this.edges.hasOwnProperty(e[i].parentEdgeId)?this.calculationNodes[i]=e[i]:e[i]._setForce(0,0));for(var s in this.calculationNodes)this.calculationNodes.hasOwnProperty(s)&&this.calculationNodeIndices.push(s)}else this.calculationNodes=this.nodes,this.calculationNodeIndices=this.nodeIndices},e._calculateGravitationalForces=function(){var t,e,i,s,o,n=this.calculationNodes,r=this.constants.physics.centralGravity,a=0;for(o=0;oSimulation Mode:Barnes HutRepulsionHierarchical
Options:
',this.containerElement.parentElement.insertBefore(this.physicsConfiguration,this.containerElement),this.optionsDiv=document.createElement("div"),this.optionsDiv.style.fontSize="14px",this.optionsDiv.style.fontFamily="verdana",this.containerElement.parentElement.insertBefore(this.optionsDiv,this.containerElement);var e;e=document.getElementById("graph_BH_gc"),e.onchange=a.bind(this,"graph_BH_gc",-1,"physics_barnesHut_gravitationalConstant"),e=document.getElementById("graph_BH_cg"),e.onchange=a.bind(this,"graph_BH_cg",1,"physics_centralGravity"),e=document.getElementById("graph_BH_sc"),e.onchange=a.bind(this,"graph_BH_sc",1,"physics_springConstant"),e=document.getElementById("graph_BH_sl"),e.onchange=a.bind(this,"graph_BH_sl",1,"physics_springLength"),e=document.getElementById("graph_BH_damp"),e.onchange=a.bind(this,"graph_BH_damp",1,"physics_damping"),e=document.getElementById("graph_R_nd"),e.onchange=a.bind(this,"graph_R_nd",1,"physics_repulsion_nodeDistance"),e=document.getElementById("graph_R_cg"),e.onchange=a.bind(this,"graph_R_cg",1,"physics_centralGravity"),e=document.getElementById("graph_R_sc"),e.onchange=a.bind(this,"graph_R_sc",1,"physics_springConstant"),e=document.getElementById("graph_R_sl"),e.onchange=a.bind(this,"graph_R_sl",1,"physics_springLength"),e=document.getElementById("graph_R_damp"),e.onchange=a.bind(this,"graph_R_damp",1,"physics_damping"),e=document.getElementById("graph_H_nd"),e.onchange=a.bind(this,"graph_H_nd",1,"physics_hierarchicalRepulsion_nodeDistance"),e=document.getElementById("graph_H_cg"),e.onchange=a.bind(this,"graph_H_cg",1,"physics_centralGravity"),e=document.getElementById("graph_H_sc"),e.onchange=a.bind(this,"graph_H_sc",1,"physics_springConstant"),e=document.getElementById("graph_H_sl"),e.onchange=a.bind(this,"graph_H_sl",1,"physics_springLength"),e=document.getElementById("graph_H_damp"),e.onchange=a.bind(this,"graph_H_damp",1,"physics_damping"),e=document.getElementById("graph_H_direction"),e.onchange=a.bind(this,"graph_H_direction",t,"hierarchicalLayout_direction"),e=document.getElementById("graph_H_levsep"),e.onchange=a.bind(this,"graph_H_levsep",1,"hierarchicalLayout_levelSeparation"),e=document.getElementById("graph_H_nspac"),e.onchange=a.bind(this,"graph_H_nspac",1,"hierarchicalLayout_nodeSpacing");var i=document.getElementById("graph_physicsMethod1"),d=document.getElementById("graph_physicsMethod2"),l=document.getElementById("graph_physicsMethod3");d.checked=!0,this.constants.physics.barnesHut.enabled&&(i.checked=!0),this.constants.hierarchicalLayout.enabled&&(l.checked=!0);var c=document.getElementById("graph_toggleSmooth"),p=document.getElementById("graph_repositionNodes"),u=document.getElementById("graph_generateOptions");c.onclick=s.bind(this),p.onclick=o.bind(this),u.onclick=n.bind(this),c.style.background=1==this.constants.smoothCurves&&0==this.constants.dynamicSmoothCurves?"#A4FF56":"#FF8532",r.apply(this),i.onchange=r.bind(this),d.onchange=r.bind(this),l.onchange=r.bind(this)}},e._overWriteGraphConstants=function(t,e){var i=t.split("_");1==i.length?this.constants[i[0]]=e:2==i.length?this.constants[i[0]][i[1]]=e:3==i.length&&(this.constants[i[0]][i[1]][i[2]]=e)}},function(t){function e(t){throw new Error("Cannot find module '"+t+"'.")}e.keys=function(){return[]},e.resolve=e,t.exports=e,e.id=64},function(t,e){e._calculateNodeForces=function(){var t,e,i,s,o,n,r,a,h,d,l,c=this.calculationNodes,p=this.calculationNodeIndices,u=-2/3,f=4/3,m=this.constants.physics.repulsion.nodeDistance,g=m;for(d=0;di&&(r=.5*g>i?1:v*i+f,r*=0==n?1:1+n*this.constants.clustering.forceAmplification,r/=i,s=t*r,o=e*r,a.fx-=s,a.fy-=o,h.fx+=s,h.fy+=o)}}},function(t,e){e._calculateNodeForces=function(){var t,e,i,s,o,n,r,a,h,d,l=this.calculationNodes,c=this.calculationNodeIndices,p=this.constants.physics.hierarchicalRepulsion.nodeDistance;for(h=0;hi?-Math.pow(u*i,2)+Math.pow(u*p,2):0,0==i?i=.01:n/=i,s=t*n,o=e*n,r.fx-=s,r.fy-=o,a.fx+=s,a.fy+=o}},e._calculateHierarchicalSpringForces=function(){for(var t,e,i,s,o,n,r,a,h,d=this.edges,l=this.calculationNodes,c=this.calculationNodeIndices,p=0;pn;n++)t=e[i[n]],t.options.mass>0&&(this._getForceContribution(o.root.children.NW,t),this._getForceContribution(o.root.children.NE,t),this._getForceContribution(o.root.children.SW,t),this._getForceContribution(o.root.children.SE,t))}},e._getForceContribution=function(t,e){if(t.childrenCount>0){var i,s,o;if(i=t.centerOfMass.x-e.x,s=t.centerOfMass.y-e.y,o=Math.sqrt(i*i+s*s),o*t.calcSize>this.constants.physics.barnesHut.theta){0==o&&(o=.1*Math.random(),i=o);var n=this.constants.physics.barnesHut.gravitationalConstant*t.mass*e.options.mass/(o*o*o),r=i*n,a=s*n;e.fx+=r,e.fy+=a}else if(4==t.childrenCount)this._getForceContribution(t.children.NW,e),this._getForceContribution(t.children.NE,e),this._getForceContribution(t.children.SW,e),this._getForceContribution(t.children.SE,e);else if(t.children.data.id!=e.id){0==o&&(o=.5*Math.random(),i=o);var n=this.constants.physics.barnesHut.gravitationalConstant*t.mass*e.options.mass/(o*o*o),r=i*n,a=s*n;e.fx+=r,e.fy+=a}}},e._formBarnesHutTree=function(t,e){for(var i,s=e.length,o=Number.MAX_VALUE,n=Number.MAX_VALUE,r=-Number.MAX_VALUE,a=-Number.MAX_VALUE,h=0;s>h;h++){var d=t[e[h]].x,l=t[e[h]].y;t[e[h]].options.mass>0&&(o>d&&(o=d),d>r&&(r=d),n>l&&(n=l),l>a&&(a=l))}var c=Math.abs(r-o)-Math.abs(a-n);c>0?(n-=.5*c,a+=.5*c):(o+=.5*c,r-=.5*c);var p=1e-5,u=Math.max(p,Math.abs(r-o)),f=.5*u,m=.5*(o+r),g=.5*(n+a),v={root:{centerOfMass:{x:0,y:0},mass:0,range:{minX:m-f,maxX:m+f,minY:g-f,maxY:g+f},size:u,calcSize:1/u,children:{data:null},maxWidth:0,level:0,childrenCount:4}};for(this._splitBranch(v.root),h=0;s>h;h++)i=t[e[h]],i.options.mass>0&&this._placeInTree(v.root,i);this.barnesHutTree=v},e._updateBranchMass=function(t,e){var i=t.mass+e.options.mass,s=1/i;t.centerOfMass.x=t.centerOfMass.x*t.mass+e.x*e.options.mass,t.centerOfMass.x*=s,t.centerOfMass.y=t.centerOfMass.y*t.mass+e.y*e.options.mass,t.centerOfMass.y*=s,t.mass=i;var o=Math.max(Math.max(e.height,e.radius),e.width);t.maxWidth=t.maxWidthe.x?t.children.NW.range.maxY>e.y?this._placeInRegion(t,e,"NW"):this._placeInRegion(t,e,"SW"):t.children.NW.range.maxY>e.y?this._placeInRegion(t,e,"NE"):this._placeInRegion(t,e,"SE")},e._placeInRegion=function(t,e,i){switch(t.children[i].childrenCount){case 0:t.children[i].children.data=e,t.children[i].childrenCount=1,this._updateBranchMass(t.children[i],e);break;case 1:t.children[i].children.data.x==e.x&&t.children[i].children.data.y==e.y?(e.x+=Math.random(),e.y+=Math.random()):(this._splitBranch(t.children[i]),this._placeInTree(t.children[i],e));break;case 4:this._placeInTree(t.children[i],e)}},e._splitBranch=function(t){var e=null;1==t.childrenCount&&(e=t.children.data,t.mass=0,t.centerOfMass.x=0,t.centerOfMass.y=0),t.childrenCount=4,t.children.data=null,this._insertRegion(t,"NW"),this._insertRegion(t,"NE"),this._insertRegion(t,"SW"),this._insertRegion(t,"SE"),null!=e&&this._placeInTree(t,e)},e._insertRegion=function(t,e){var i,s,o,n,r=.5*t.size;switch(e){case"NW":i=t.range.minX,s=t.range.minX+r,o=t.range.minY,n=t.range.minY+r;break;case"NE":i=t.range.minX+r,s=t.range.maxX,o=t.range.minY,n=t.range.minY+r;break;case"SW":i=t.range.minX,s=t.range.minX+r,o=t.range.minY+r,n=t.range.maxY;break;case"SE":i=t.range.minX+r,s=t.range.maxX,o=t.range.minY+r,n=t.range.maxY}t.children[e]={centerOfMass:{x:0,y:0},mass:0,range:{minX:i,maxX:s,minY:o,maxY:n},size:.5*t.size,calcSize:2*t.calcSize,children:{data:null},maxWidth:0,level:t.level+1,childrenCount:0}},e._drawTree=function(t,e){void 0!==this.barnesHutTree&&(t.lineWidth=1,this._drawBranch(this.barnesHutTree.root,t,e))},e._drawBranch=function(t,e,i){void 0===i&&(i="#FF0000"),4==t.childrenCount&&(this._drawBranch(t.children.NW,e),this._drawBranch(t.children.NE,e),this._drawBranch(t.children.SE,e),this._drawBranch(t.children.SW,e)),e.strokeStyle=i,e.beginPath(),e.moveTo(t.range.minX,t.range.minY),e.lineTo(t.range.maxX,t.range.minY),e.stroke(),e.beginPath(),e.moveTo(t.range.maxX,t.range.minY),e.lineTo(t.range.maxX,t.range.maxY),e.stroke(),e.beginPath(),e.moveTo(t.range.maxX,t.range.maxY),e.lineTo(t.range.minX,t.range.maxY),e.stroke(),e.beginPath(),e.moveTo(t.range.minX,t.range.maxY),e.lineTo(t.range.minX,t.range.minY),e.stroke()}},function(t){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children=[],t.webpackPolyfill=1),t}}])}); +!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):"object"==typeof exports?exports.vis=e():t.vis=e()}(this,function(){return function(t){function e(s){if(i[s])return i[s].exports;var o=i[s]={exports:{},id:s,loaded:!1};return t[s].call(o.exports,o,o.exports,e),o.loaded=!0,o.exports}var i={};return e.m=t,e.c=i,e.p="",e(0)}([function(t,e,i){e.util=i(1),e.DOMutil=i(2),e.DataSet=i(3),e.DataView=i(4),e.Queue=i(5),e.Graph3d=i(6),e.graph3d={Camera:i(7),Filter:i(8),Point2d:i(9),Point3d:i(10),Slider:i(11),StepNumber:i(12)},e.Timeline=i(13),e.Graph2d=i(14),e.timeline={DateUtil:i(15),DataStep:i(16),Range:i(17),stack:i(18),TimeStep:i(19),components:{items:{Item:i(31),BackgroundItem:i(32),BoxItem:i(33),PointItem:i(34),RangeItem:i(35)},Component:i(20),CurrentTime:i(21),CustomTime:i(22),DataAxis:i(23),GraphGroup:i(24),Group:i(25),BackgroundGroup:i(26),ItemSet:i(27),Legend:i(28),LineGraph:i(29),TimeAxis:i(30)}},e.Network=i(36),e.network={Edge:i(37),Groups:i(38),Images:i(39),Node:i(40),Popup:i(41),dotparser:i(42),gephiParser:i(43)},e.Graph=function(){throw new Error("Graph is renamed to Network. Please create a graph as new vis.Network(...)")},e.moment=i(44),e.hammer=i(45)},function(module,exports,__webpack_require__){var moment=__webpack_require__(44);exports.isNumber=function(t){return t instanceof Number||"number"==typeof t},exports.isString=function(t){return t instanceof String||"string"==typeof t},exports.isDate=function(t){if(t instanceof Date)return!0;if(exports.isString(t)){var e=ASPDateRegex.exec(t);if(e)return!0;if(!isNaN(Date.parse(t)))return!0}return!1},exports.isDataTable=function(t){return"undefined"!=typeof google&&google.visualization&&google.visualization.DataTable&&t instanceof google.visualization.DataTable},exports.randomUUID=function(){var t=function(){return Math.floor(65536*Math.random()).toString(16)};return t()+t()+"-"+t()+"-"+t()+"-"+t()+"-"+t()+t()+t()},exports.extend=function(t){for(var e=1,i=arguments.length;i>e;e++){var s=arguments[e];for(var o in s)s.hasOwnProperty(o)&&(t[o]=s[o])}return t},exports.selectiveExtend=function(t,e){if(!Array.isArray(t))throw new Error("Array with property names expected as first argument");for(var i=2;ii;i++)if(t[i]!=e[i])return!1;return!0},exports.convert=function(t,e){var i;if(void 0===t)return void 0;if(null===t)return null;if(!e)return t;if("string"!=typeof e&&!(e instanceof String))throw new Error("Type must be a string");switch(e){case"boolean":case"Boolean":return Boolean(t);case"number":case"Number":return Number(t.valueOf());case"string":case"String":return String(t);case"Date":if(exports.isNumber(t))return new Date(t);if(t instanceof Date)return new Date(t.valueOf());if(moment.isMoment(t))return new Date(t.valueOf());if(exports.isString(t))return i=ASPDateRegex.exec(t),i?new Date(Number(i[1])):moment(t).toDate();throw new Error("Cannot convert object of type "+exports.getType(t)+" to type Date");case"Moment":if(exports.isNumber(t))return moment(t);if(t instanceof Date)return moment(t.valueOf());if(moment.isMoment(t))return moment(t);if(exports.isString(t))return i=ASPDateRegex.exec(t),moment(i?Number(i[1]):t);throw new Error("Cannot convert object of type "+exports.getType(t)+" to type Date");case"ISODate":if(exports.isNumber(t))return new Date(t);if(t instanceof Date)return t.toISOString();if(moment.isMoment(t))return t.toDate().toISOString();if(exports.isString(t))return i=ASPDateRegex.exec(t),i?new Date(Number(i[1])).toISOString():new Date(t).toISOString();throw new Error("Cannot convert object of type "+exports.getType(t)+" to type ISODate");case"ASPDate":if(exports.isNumber(t))return"/Date("+t+")/";if(t instanceof Date)return"/Date("+t.valueOf()+")/";if(exports.isString(t)){i=ASPDateRegex.exec(t);var s;return s=i?new Date(Number(i[1])).valueOf():new Date(t).valueOf(),"/Date("+s+")/"}throw new Error("Cannot convert object of type "+exports.getType(t)+" to type ASPDate");default:throw new Error('Unknown type "'+e+'"')}};var ASPDateRegex=/^\/?Date\((\-?\d+)/i;exports.getType=function(t){var e=typeof t;return"object"==e?null==t?"null":t instanceof Boolean?"Boolean":t instanceof Number?"Number":t instanceof String?"String":Array.isArray(t)?"Array":t instanceof Date?"Date":"Object":"number"==e?"Number":"boolean"==e?"Boolean":"string"==e?"String":e},exports.getAbsoluteLeft=function(t){return t.getBoundingClientRect().left+window.pageXOffset},exports.getAbsoluteTop=function(t){return t.getBoundingClientRect().top+window.pageYOffset},exports.addClassName=function(t,e){var i=t.className.split(" ");-1==i.indexOf(e)&&(i.push(e),t.className=i.join(" "))},exports.removeClassName=function(t,e){var i=t.className.split(" "),s=i.indexOf(e);-1!=s&&(i.splice(s,1),t.className=i.join(" "))},exports.forEach=function(t,e){var i,s;if(Array.isArray(t))for(i=0,s=t.length;s>i;i++)e(t[i],i,t);else for(i in t)t.hasOwnProperty(i)&&e(t[i],i,t)},exports.toArray=function(t){var e=[];for(var i in t)t.hasOwnProperty(i)&&e.push(t[i]);return e},exports.updateProperty=function(t,e,i){return t[e]!==i?(t[e]=i,!0):!1},exports.addEventListener=function(t,e,i,s){t.addEventListener?(void 0===s&&(s=!1),"mousewheel"===e&&navigator.userAgent.indexOf("Firefox")>=0&&(e="DOMMouseScroll"),t.addEventListener(e,i,s)):t.attachEvent("on"+e,i)},exports.removeEventListener=function(t,e,i,s){t.removeEventListener?(void 0===s&&(s=!1),"mousewheel"===e&&navigator.userAgent.indexOf("Firefox")>=0&&(e="DOMMouseScroll"),t.removeEventListener(e,i,s)):t.detachEvent("on"+e,i)},exports.preventDefault=function(t){t||(t=window.event),t.preventDefault?t.preventDefault():t.returnValue=!1},exports.getTarget=function(t){t||(t=window.event);var e;return t.target?e=t.target:t.srcElement&&(e=t.srcElement),void 0!=e.nodeType&&3==e.nodeType&&(e=e.parentNode),e},exports.option={},exports.option.asBoolean=function(t,e){return"function"==typeof t&&(t=t()),null!=t?0!=t:e||null},exports.option.asNumber=function(t,e){return"function"==typeof t&&(t=t()),null!=t?Number(t)||e||null:e||null},exports.option.asString=function(t,e){return"function"==typeof t&&(t=t()),null!=t?String(t):e||null},exports.option.asSize=function(t,e){return"function"==typeof t&&(t=t()),exports.isString(t)?t:exports.isNumber(t)?t+"px":e||null},exports.option.asElement=function(t,e){return"function"==typeof t&&(t=t()),t||e||null},exports.GiveDec=function(Hex){var Value;return Value="A"==Hex?10:"B"==Hex?11:"C"==Hex?12:"D"==Hex?13:"E"==Hex?14:"F"==Hex?15:eval(Hex)},exports.GiveHex=function(t){var e;return e=10==t?"A":11==t?"B":12==t?"C":13==t?"D":14==t?"E":15==t?"F":""+t},exports.parseColor=function(t){var e;if(exports.isString(t)){if(exports.isValidRGB(t)){var i=t.substr(4).substr(0,t.length-5).split(",");t=exports.RGBToHex(i[0],i[1],i[2])}if(exports.isValidHex(t)){var s=exports.hexToHSV(t),o={h:s.h,s:.45*s.s,v:Math.min(1,1.05*s.v)},n={h:s.h,s:Math.min(1,1.25*s.v),v:.6*s.v},r=exports.HSVToHex(n.h,n.h,n.v),a=exports.HSVToHex(o.h,o.s,o.v);e={background:t,border:r,highlight:{background:a,border:r},hover:{background:a,border:r}}}else e={background:t,border:t,highlight:{background:t,border:t},hover:{background:t,border:t}}}else e={},e.background=t.background||"white",e.border=t.border||e.background,exports.isString(t.highlight)?e.highlight={border:t.highlight,background:t.highlight}:(e.highlight={},e.highlight.background=t.highlight&&t.highlight.background||e.background,e.highlight.border=t.highlight&&t.highlight.border||e.border),exports.isString(t.hover)?e.hover={border:t.hover,background:t.hover}:(e.hover={},e.hover.background=t.hover&&t.hover.background||e.background,e.hover.border=t.hover&&t.hover.border||e.border);return e},exports.hexToRGB=function(t){t=t.replace("#","").toUpperCase();var e=exports.GiveDec(t.substring(0,1)),i=exports.GiveDec(t.substring(1,2)),s=exports.GiveDec(t.substring(2,3)),o=exports.GiveDec(t.substring(3,4)),n=exports.GiveDec(t.substring(4,5)),r=exports.GiveDec(t.substring(5,6)),a=16*e+i,h=16*s+o,i=16*n+r;return{r:a,g:h,b:i}},exports.RGBToHex=function(t,e,i){var s=exports.GiveHex(Math.floor(t/16)),o=exports.GiveHex(t%16),n=exports.GiveHex(Math.floor(e/16)),r=exports.GiveHex(e%16),a=exports.GiveHex(Math.floor(i/16)),h=exports.GiveHex(i%16),d=s+o+n+r+a+h;return"#"+d},exports.RGBToHSV=function(t,e,i){t/=255,e/=255,i/=255;var s=Math.min(t,Math.min(e,i)),o=Math.max(t,Math.max(e,i));if(s==o)return{h:0,s:0,v:s};var n=t==s?e-i:i==s?t-e:i-t,r=t==s?3:i==s?1:5,a=60*(r-n/(o-s))/360,h=(o-s)/o,d=o;return{h:a,s:h,v:d}};var cssUtil={split:function(t){var e={};return t.split(";").forEach(function(t){if(""!=t.trim()){var i=t.split(":"),s=i[0].trim(),o=i[1].trim();e[s]=o}}),e},join:function(t){return Object.keys(t).map(function(e){return e+": "+t[e]}).join("; ")}};exports.addCssText=function(t,e){var i=cssUtil.split(t.style.cssText),s=cssUtil.split(e),o=exports.extend(i,s);t.style.cssText=cssUtil.join(o)},exports.removeCssText=function(t,e){var i=cssUtil.split(t.style.cssText),s=cssUtil.split(e);for(var o in s)s.hasOwnProperty(o)&&delete i[o];t.style.cssText=cssUtil.join(i)},exports.HSVToRGB=function(t,e,i){var s,o,n,r=Math.floor(6*t),a=6*t-r,h=i*(1-e),d=i*(1-a*e),l=i*(1-(1-a)*e);switch(r%6){case 0:s=i,o=l,n=h;break;case 1:s=d,o=i,n=h;break;case 2:s=h,o=i,n=l;break;case 3:s=h,o=d,n=i;break;case 4:s=l,o=h,n=i;break;case 5:s=i,o=h,n=d}return{r:Math.floor(255*s),g:Math.floor(255*o),b:Math.floor(255*n)}},exports.HSVToHex=function(t,e,i){var s=exports.HSVToRGB(t,e,i);return exports.RGBToHex(s.r,s.g,s.b)},exports.hexToHSV=function(t){var e=exports.hexToRGB(t);return exports.RGBToHSV(e.r,e.g,e.b)},exports.isValidHex=function(t){var e=/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(t);return e},exports.isValidRGB=function(t){t=t.replace(" ","");var e=/rgb\((\d{1,3}),(\d{1,3}),(\d{1,3})\)/i.test(t);return e},exports.selectiveBridgeObject=function(t,e){if("object"==typeof e){for(var i=Object.create(e),s=0;s=r&&o>n;){var h=Math.floor((r+a)/2),d=t[h];if(d.isVisible(e))return h;var l=void 0===s?d[i]:d[i][s];ld;)n=l[Math.max(0,g-1)][i],r=l[g][i],a=l[Math.min(l.length-1,g+1)][i],r==e||e>n&&r>e||e>r&&a>e?(c=!0,r!=e&&("before"==s?e>n&&r>e&&(g=Math.max(0,g-1)):e>r&&a>e&&(g=Math.min(l.length-1,g+1)))):(e>r?f=Math.floor(.5*(u+p)):m=Math.floor(.5*(u+p)),o=Math.floor(.5*(u+p)),p==f&&u==m?(g=-1,c=!0):(u=m,p=f,g=Math.floor(.5*(u+p)))),d++;d>=h&&console.log("BinarySearch too many iterations. Aborting.")}return g},exports.easeInOutQuad=function(t,e,i,s){var o=i-e;return t/=s/2,1>t?o/2*t*t+e:(t--,-o/2*(t*(t-2)-1)+e)},exports.easingFunctions={linear:function(t){return t},easeInQuad:function(t){return t*t},easeOutQuad:function(t){return t*(2-t)},easeInOutQuad:function(t){return.5>t?2*t*t:-1+(4-2*t)*t},easeInCubic:function(t){return t*t*t},easeOutCubic:function(t){return--t*t*t+1},easeInOutCubic:function(t){return.5>t?4*t*t*t:(t-1)*(2*t-2)*(2*t-2)+1},easeInQuart:function(t){return t*t*t*t},easeOutQuart:function(t){return 1- --t*t*t*t},easeInOutQuart:function(t){return.5>t?8*t*t*t*t:1-8*--t*t*t*t},easeInQuint:function(t){return t*t*t*t*t},easeOutQuint:function(t){return 1+--t*t*t*t*t},easeInOutQuint:function(t){return.5>t?16*t*t*t*t*t:1+16*--t*t*t*t*t}}},function(t,e){e.prepareElements=function(t){for(var e in t)t.hasOwnProperty(e)&&(t[e].redundant=t[e].used,t[e].used=[])},e.cleanupElements=function(t){for(var e in t)if(t.hasOwnProperty(e)&&t[e].redundant){for(var i=0;i0?(s=e[t].redundant[0],e[t].redundant.shift()):(s=document.createElementNS("http://www.w3.org/2000/svg",t),i.appendChild(s)):(s=document.createElementNS("http://www.w3.org/2000/svg",t),e[t]={used:[],redundant:[]},i.appendChild(s)),e[t].used.push(s),s},e.getDOMElement=function(t,e,i,s){var o;return e.hasOwnProperty(t)?e[t].redundant.length>0?(o=e[t].redundant[0],e[t].redundant.shift()):(o=document.createElement(t),void 0!==s?i.insertBefore(o,s):i.appendChild(o)):(o=document.createElement(t),e[t]={used:[],redundant:[]},void 0!==s?i.insertBefore(o,s):i.appendChild(o)),e[t].used.push(o),o},e.drawPoint=function(t,i,s,o,n){var r;return"circle"==s.options.drawPoints.style?(r=e.getSVGElement("circle",o,n),r.setAttributeNS(null,"cx",t),r.setAttributeNS(null,"cy",i),r.setAttributeNS(null,"r",.5*s.options.drawPoints.size),r.setAttributeNS(null,"class",s.className+" point")):(r=e.getSVGElement("rect",o,n),r.setAttributeNS(null,"x",t-.5*s.options.drawPoints.size),r.setAttributeNS(null,"y",i-.5*s.options.drawPoints.size),r.setAttributeNS(null,"width",s.options.drawPoints.size),r.setAttributeNS(null,"height",s.options.drawPoints.size),r.setAttributeNS(null,"class",s.className+" point")),r},e.drawBar=function(t,i,s,o,n,r,a){if(0!=o){0>o&&(o*=-1,i-=o);var h=e.getSVGElement("rect",r,a);h.setAttributeNS(null,"x",t-.5*s),h.setAttributeNS(null,"y",i),h.setAttributeNS(null,"width",s),h.setAttributeNS(null,"height",o),h.setAttributeNS(null,"class",n)}}},function(t,e,i){function s(t,e){if(!t||Array.isArray(t)||o.isDataTable(t)||(e=t,t=null),this._options=e||{},this._data={},this._fieldId=this._options.fieldId||"id",this._type={},this._options.type)for(var i in this._options.type)if(this._options.type.hasOwnProperty(i)){var s=this._options.type[i];this._type[i]="Date"==s||"ISODate"==s||"ASPDate"==s?"Date":s}if(this._options.convert)throw new Error('Option "convert" is deprecated. Use "type" instead.');this._subscribers={},t&&this.add(t),this.setOptions(e)}var o=i(1),n=i(5);s.prototype.setOptions=function(t){t&&void 0!==t.queue&&(t.queue===!1?this._queue&&(this._queue.destroy(),delete this._queue):(this._queue||(this._queue=n.extend(this,{replace:["add","update","remove"]})),"object"==typeof t.queue&&this._queue.setOptions(t.queue)))},s.prototype.on=function(t,e){var i=this._subscribers[t];i||(i=[],this._subscribers[t]=i),i.push({callback:e})},s.prototype.subscribe=s.prototype.on,s.prototype.off=function(t,e){var i=this._subscribers[t];i&&(this._subscribers[t]=i.filter(function(t){return t.callback!=e}))},s.prototype.unsubscribe=s.prototype.off,s.prototype._trigger=function(t,e,i){if("*"==t)throw new Error("Cannot trigger event *");var s=[];t in this._subscribers&&(s=s.concat(this._subscribers[t])),"*"in this._subscribers&&(s=s.concat(this._subscribers["*"]));for(var o=0;or;r++)i=n._addItem(t[r]),s.push(i);else if(o.isDataTable(t))for(var h=this._getColumnNames(t),d=0,l=t.getNumberOfRows();l>d;d++){for(var c={},p=0,u=h.length;u>p;p++){var f=h[p];c[f]=t.getValue(d,p)}i=n._addItem(c),s.push(i)}else{if(!(t instanceof Object))throw new Error("Unknown dataType");i=n._addItem(t),s.push(i)}return s.length&&this._trigger("add",{items:s},e),s},s.prototype.update=function(t,e){var i=[],s=[],n=[],r=this,a=r._fieldId,h=function(t){var e=t[a];r._data[e]?(e=r._updateItem(t),s.push(e),n.push(t)):(e=r._addItem(t),i.push(e))};if(Array.isArray(t))for(var d=0,l=t.length;l>d;d++)h(t[d]);else if(o.isDataTable(t))for(var c=this._getColumnNames(t),p=0,u=t.getNumberOfRows();u>p;p++){for(var f={},m=0,g=c.length;g>m;m++){var v=c[m];f[v]=t.getValue(p,m)}h(f)}else{if(!(t instanceof Object))throw new Error("Unknown dataType");h(t)}return i.length&&this._trigger("add",{items:i},e),s.length&&this._trigger("update",{items:s,data:n},e),i.concat(s)},s.prototype.get=function(){var t,e,i,s,n=this,r=o.getType(arguments[0]);"String"==r||"Number"==r?(t=arguments[0],i=arguments[1],s=arguments[2]):"Array"==r?(e=arguments[0],i=arguments[1],s=arguments[2]):(i=arguments[0],s=arguments[1]);var a;if(i&&i.returnType){var h=["DataTable","Array","Object"];if(a=-1==h.indexOf(i.returnType)?"Array":i.returnType,s&&a!=o.getType(s))throw new Error('Type of parameter "data" ('+o.getType(s)+") does not correspond with specified options.type ("+i.type+")");if("DataTable"==a&&!o.isDataTable(s))throw new Error('Parameter "data" must be a DataTable when options.type is "DataTable"')}else a=s&&"DataTable"==o.getType(s)?"DataTable":"Array";var d,l,c,p,u=i&&i.type||this._options.type,f=i&&i.filter,m=[];if(void 0!=t)d=n._getItem(t,u),f&&!f(d)&&(d=null);else if(void 0!=e)for(c=0,p=e.length;p>c;c++)d=n._getItem(e[c],u),(!f||f(d))&&m.push(d);else for(l in this._data)this._data.hasOwnProperty(l)&&(d=n._getItem(l,u),(!f||f(d))&&m.push(d));if(i&&i.order&&void 0==t&&this._sort(m,i.order),i&&i.fields){var g=i.fields;if(void 0!=t)d=this._filterFields(d,g);else for(c=0,p=m.length;p>c;c++)m[c]=this._filterFields(m[c],g)}if("DataTable"==a){var v=this._getColumnNames(s);if(void 0!=t)n._appendRow(s,v,d);else for(c=0;cc;c++)s.push(m[c]);return s}return m},s.prototype.getIds=function(t){var e,i,s,o,n,r=this._data,a=t&&t.filter,h=t&&t.order,d=t&&t.type||this._options.type,l=[];if(a)if(h){n=[];for(s in r)r.hasOwnProperty(s)&&(o=this._getItem(s,d),a(o)&&n.push(o));for(this._sort(n,h),e=0,i=n.length;i>e;e++)l[e]=n[e][this._fieldId]}else for(s in r)r.hasOwnProperty(s)&&(o=this._getItem(s,d),a(o)&&l.push(o[this._fieldId]));else if(h){n=[];for(s in r)r.hasOwnProperty(s)&&n.push(r[s]);for(this._sort(n,h),e=0,i=n.length;i>e;e++)l[e]=n[e][this._fieldId]}else for(s in r)r.hasOwnProperty(s)&&(o=r[s],l.push(o[this._fieldId]));return l},s.prototype.getDataSet=function(){return this},s.prototype.forEach=function(t,e){var i,s,o=e&&e.filter,n=e&&e.type||this._options.type,r=this._data;if(e&&e.order)for(var a=this.get(e),h=0,d=a.length;d>h;h++)i=a[h],s=i[this._fieldId],t(i,s);else for(s in r)r.hasOwnProperty(s)&&(i=this._getItem(s,n),(!o||o(i))&&t(i,s))},s.prototype.map=function(t,e){var i,s=e&&e.filter,o=e&&e.type||this._options.type,n=[],r=this._data;for(var a in r)r.hasOwnProperty(a)&&(i=this._getItem(a,o),(!s||s(i))&&n.push(t(i,a)));return e&&e.order&&this._sort(n,e.order),n},s.prototype._filterFields=function(t,e){var i={};for(var s in t)t.hasOwnProperty(s)&&-1!=e.indexOf(s)&&(i[s]=t[s]);return i},s.prototype._sort=function(t,e){if(o.isString(e)){var i=e;t.sort(function(t,e){var s=t[i],o=e[i];return s>o?1:o>s?-1:0})}else{if("function"!=typeof e)throw new TypeError("Order must be a function or a string");t.sort(e)}},s.prototype.remove=function(t,e){var i,s,o,n=[];if(Array.isArray(t))for(i=0,s=t.length;s>i;i++)o=this._remove(t[i]),null!=o&&n.push(o);else o=this._remove(t),null!=o&&n.push(o);return n.length&&this._trigger("remove",{items:n},e),n},s.prototype._remove=function(t){if(o.isNumber(t)||o.isString(t)){if(this._data[t])return delete this._data[t],t}else if(t instanceof Object){var e=t[this._fieldId];if(e&&this._data[e])return delete this._data[e],e}return null},s.prototype.clear=function(t){var e=Object.keys(this._data);return this._data={},this._trigger("remove",{items:e},t),e},s.prototype.max=function(t){var e=this._data,i=null,s=null;for(var o in e)if(e.hasOwnProperty(o)){var n=e[o],r=n[t];null!=r&&(!i||r>s)&&(i=n,s=r)}return i},s.prototype.min=function(t){var e=this._data,i=null,s=null;for(var o in e)if(e.hasOwnProperty(o)){var n=e[o],r=n[t];null!=r&&(!i||s>r)&&(i=n,s=r)}return i},s.prototype.distinct=function(t){var e,i=this._data,s=[],n=this._options.type&&this._options.type[t]||null,r=0;for(var a in i)if(i.hasOwnProperty(a)){var h=i[a],d=h[t],l=!1;for(e=0;r>e;e++)if(s[e]==d){l=!0;break}l||void 0===d||(s[r]=d,r++)}if(n)for(e=0;ei;i++)e[i]=t.getColumnId(i)||t.getColumnLabel(i);return e},s.prototype._appendRow=function(t,e,i){for(var s=t.addRow(),o=0,n=e.length;n>o;o++){var r=e[o];t.setValue(s,o,i[r])}},t.exports=s},function(t,e,i){function s(t,e){this._data=null,this._ids={},this._options=e||{},this._fieldId="id",this._subscribers={};var i=this;this.listener=function(){i._onEvent.apply(i,arguments)},this.setData(t)}var o=i(1),n=i(3);s.prototype.setData=function(t){var e,i,s;if(this._data){this._data.unsubscribe&&this._data.unsubscribe("*",this.listener),e=[];for(var o in this._ids)this._ids.hasOwnProperty(o)&&e.push(o);this._ids={},this._trigger("remove",{items:e})}if(this._data=t,this._data){for(this._fieldId=this._options.fieldId||this._data&&this._data.options&&this._data.options.fieldId||"id",e=this._data.getIds({filter:this._options&&this._options.filter}),i=0,s=e.length;s>i;i++)o=e[i],this._ids[o]=!0;this._trigger("add",{items:e}),this._data.on&&this._data.on("*",this.listener)}},s.prototype.get=function(){var t,e,i,s=this,n=o.getType(arguments[0]);"String"==n||"Number"==n||"Array"==n?(t=arguments[0],e=arguments[1],i=arguments[2]):(e=arguments[0],i=arguments[1]);var r=o.extend({},this._options,e);this._options.filter&&e&&e.filter&&(r.filter=function(t){return s._options.filter(t)&&e.filter(t)});var a=[];return void 0!=t&&a.push(t),a.push(r),a.push(i),this._data&&this._data.get.apply(this._data,a)},s.prototype.getIds=function(t){var e;if(this._data){var i,s=this._options.filter;i=t&&t.filter?s?function(e){return s(e)&&t.filter(e)}:t.filter:s,e=this._data.getIds({filter:i,order:t&&t.order})}else e=[];return e},s.prototype.getDataSet=function(){for(var t=this;t instanceof s;)t=t._data;return t||null},s.prototype._onEvent=function(t,e,i){var s,o,n,r,a=e&&e.items,h=this._data,d=[],l=[],c=[];if(a&&h){switch(t){case"add":for(s=0,o=a.length;o>s;s++)n=a[s],r=this.get(n),r&&(this._ids[n]=!0,d.push(n));break;case"update":for(s=0,o=a.length;o>s;s++)n=a[s],r=this.get(n),r?this._ids[n]?l.push(n):(this._ids[n]=!0,d.push(n)):this._ids[n]&&(delete this._ids[n],c.push(n));break;case"remove":for(s=0,o=a.length;o>s;s++)n=a[s],this._ids[n]&&(delete this._ids[n],c.push(n))}d.length&&this._trigger("add",{items:d},i),l.length&&this._trigger("update",{items:l},i),c.length&&this._trigger("remove",{items:c},i)}},s.prototype.on=n.prototype.on,s.prototype.off=n.prototype.off,s.prototype._trigger=n.prototype._trigger,s.prototype.subscribe=s.prototype.on,s.prototype.unsubscribe=s.prototype.off,t.exports=s},function(t){function e(t){this.delay=null,this.max=1/0,this._queue=[],this._timeout=null,this._extended=null,this.setOptions(t)}e.prototype.setOptions=function(t){t&&"undefined"!=typeof t.delay&&(this.delay=t.delay),t&&"undefined"!=typeof t.max&&(this.max=t.max),this._flushIfNeeded()},e.extend=function(t,i){var s=new e(i);if(void 0!==t.flush)throw new Error("Target object already has a property flush");t.flush=function(){s.flush()};var o=[{name:"flush",original:void 0}];if(i&&i.replace)for(var n=0;nthis.max&&this.flush(),clearTimeout(this._timeout),this.queue.length>0&&"number"==typeof this.delay){var t=this;this._timeout=setTimeout(function(){t.flush()},this.delay)}},e.prototype.flush=function(){for(;this._queue.length>0;){var t=this._queue.shift();t.fn.apply(t.context||t.fn,t.args||[])}},t.exports=e},function(t,e,i){function s(t,e,i){if(!(this instanceof s))throw new SyntaxError("Constructor must be called with the new operator");this.containerElement=t,this.width="400px",this.height="400px",this.margin=10,this.defaultXCenter="55%",this.defaultYCenter="50%",this.xLabel="x",this.yLabel="y",this.zLabel="z";var o=function(t){return t};this.xValueLabel=o,this.yValueLabel=o,this.zValueLabel=o,this.filterLabel="time",this.legendLabel="value",this.style=s.STYLE.DOT,this.showPerspective=!0,this.showGrid=!0,this.keepAspectRatio=!0,this.showShadow=!1,this.showGrayBottom=!1,this.showTooltip=!1,this.verticalRatio=.5,this.animationInterval=1e3,this.animationPreload=!1,this.camera=new l,this.eye=new h(0,0,-1),this.dataTable=null,this.dataPoints=null,this.colX=void 0,this.colY=void 0,this.colZ=void 0,this.colValue=void 0,this.colFilter=void 0,this.xMin=0,this.xStep=void 0,this.xMax=1,this.yMin=0,this.yStep=void 0,this.yMax=1,this.zMin=0,this.zStep=void 0,this.zMax=1,this.valueMin=0,this.valueMax=1,this.xBarWidth=1,this.yBarWidth=1,this.colorAxis="#4D4D4D",this.colorGrid="#D3D3D3",this.colorDot="#7DC1FF",this.colorDotBorder="#3267D2",this.create(),this.setOptions(i),e&&this.setData(e)}var o=i(53),n=i(3),r=i(4),a=i(1),h=i(10),d=i(9),l=i(7),c=i(8),p=i(11),u=i(12);o(s.prototype),s.prototype._setScale=function(){this.scale=new h(1/(this.xMax-this.xMin),1/(this.yMax-this.yMin),1/(this.zMax-this.zMin)),this.keepAspectRatio&&(this.scale.x3&&(this.colFilter=3);else{if(this.style!==s.STYLE.DOTCOLOR&&this.style!==s.STYLE.DOTSIZE&&this.style!==s.STYLE.BARCOLOR&&this.style!==s.STYLE.BARSIZE)throw'Unknown style "'+this.style+'"';this.colX=0,this.colY=1,this.colZ=2,this.colValue=3,t.getNumberOfColumns()>4&&(this.colFilter=4)}},s.prototype.getNumberOfRows=function(t){return t.length},s.prototype.getNumberOfColumns=function(t){var e=0;for(var i in t[0])t[0].hasOwnProperty(i)&&e++;return e},s.prototype.getDistinctValues=function(t,e){for(var i=[],s=0;st[s][e]&&(i.min=t[s][e]),i.maxt;t++){var m=(t-p)/(f-p),g=240*m,v=this._hsv2rgb(g,1,1);c.strokeStyle=v,c.beginPath(),c.moveTo(h,r+t),c.lineTo(a,r+t),c.stroke()}c.strokeStyle=this.colorAxis,c.strokeRect(h,r,i,n)}if(this.style===s.STYLE.DOTSIZE&&(c.strokeStyle=this.colorAxis,c.fillStyle=this.colorDot,c.beginPath(),c.moveTo(h,r),c.lineTo(a,r),c.lineTo(a-i+e,d),c.lineTo(h,d),c.closePath(),c.fill(),c.stroke()),this.style===s.STYLE.DOTCOLOR||this.style===s.STYLE.DOTSIZE){var y=5,b=new u(this.valueMin,this.valueMax,(this.valueMax-this.valueMin)/5,!0);for(b.start(),b.getCurrent()0?this.yMin:this.yMax,o=this._convert3Dto2D(new h(x,r,this.zMin)),Math.cos(2*_)>0?(g.textAlign="center",g.textBaseline="top",o.y+=b):Math.sin(2*_)<0?(g.textAlign="right",g.textBaseline="middle"):(g.textAlign="left",g.textBaseline="middle"),g.fillStyle=this.colorAxis,g.fillText(" "+this.xValueLabel(i.getCurrent())+" ",o.x,o.y),i.next()}for(g.lineWidth=1,s=void 0===this.defaultYStep,i=new u(this.yMin,this.yMax,this.yStep,s),i.start(),i.getCurrent()0?this.xMin:this.xMax,o=this._convert3Dto2D(new h(n,i.getCurrent(),this.zMin)),Math.cos(2*_)<0?(g.textAlign="center",g.textBaseline="top",o.y+=b):Math.sin(2*_)>0?(g.textAlign="right",g.textBaseline="middle"):(g.textAlign="left",g.textBaseline="middle"),g.fillStyle=this.colorAxis,g.fillText(" "+this.yValueLabel(i.getCurrent())+" ",o.x,o.y),i.next();for(g.lineWidth=1,s=void 0===this.defaultZStep,i=new u(this.zMin,this.zMax,this.zStep,s),i.start(),i.getCurrent()0?this.xMin:this.xMax,r=Math.sin(_)<0?this.yMin:this.yMax;!i.end();)t=this._convert3Dto2D(new h(n,r,i.getCurrent())),g.strokeStyle=this.colorAxis,g.beginPath(),g.moveTo(t.x,t.y),g.lineTo(t.x-b,t.y),g.stroke(),g.textAlign="right",g.textBaseline="middle",g.fillStyle=this.colorAxis,g.fillText(this.zValueLabel(i.getCurrent())+" ",t.x-5,t.y),i.next();g.lineWidth=1,t=this._convert3Dto2D(new h(n,r,this.zMin)),e=this._convert3Dto2D(new h(n,r,this.zMax)),g.strokeStyle=this.colorAxis,g.beginPath(),g.moveTo(t.x,t.y),g.lineTo(e.x,e.y),g.stroke(),g.lineWidth=1,p=this._convert3Dto2D(new h(this.xMin,this.yMin,this.zMin)),f=this._convert3Dto2D(new h(this.xMax,this.yMin,this.zMin)),g.strokeStyle=this.colorAxis,g.beginPath(),g.moveTo(p.x,p.y),g.lineTo(f.x,f.y),g.stroke(),p=this._convert3Dto2D(new h(this.xMin,this.yMax,this.zMin)),f=this._convert3Dto2D(new h(this.xMax,this.yMax,this.zMin)),g.strokeStyle=this.colorAxis,g.beginPath(),g.moveTo(p.x,p.y),g.lineTo(f.x,f.y),g.stroke(),g.lineWidth=1,t=this._convert3Dto2D(new h(this.xMin,this.yMin,this.zMin)),e=this._convert3Dto2D(new h(this.xMin,this.yMax,this.zMin)),g.strokeStyle=this.colorAxis,g.beginPath(),g.moveTo(t.x,t.y),g.lineTo(e.x,e.y),g.stroke(),t=this._convert3Dto2D(new h(this.xMax,this.yMin,this.zMin)),e=this._convert3Dto2D(new h(this.xMax,this.yMax,this.zMin)),g.strokeStyle=this.colorAxis,g.beginPath(),g.moveTo(t.x,t.y),g.lineTo(e.x,e.y),g.stroke();var w=this.xLabel;w.length>0&&(c=.1/this.scale.y,n=(this.xMin+this.xMax)/2,r=Math.cos(_)>0?this.yMin-c:this.yMax+c,o=this._convert3Dto2D(new h(n,r,this.zMin)),Math.cos(2*_)>0?(g.textAlign="center",g.textBaseline="top"):Math.sin(2*_)<0?(g.textAlign="right",g.textBaseline="middle"):(g.textAlign="left",g.textBaseline="middle"),g.fillStyle=this.colorAxis,g.fillText(w,o.x,o.y));var S=this.yLabel;S.length>0&&(l=.1/this.scale.x,n=Math.sin(_)>0?this.xMin-l:this.xMax+l,r=(this.yMin+this.yMax)/2,o=this._convert3Dto2D(new h(n,r,this.zMin)),Math.cos(2*_)<0?(g.textAlign="center",g.textBaseline="top"):Math.sin(2*_)>0?(g.textAlign="right",g.textBaseline="middle"):(g.textAlign="left",g.textBaseline="middle"),g.fillStyle=this.colorAxis,g.fillText(S,o.x,o.y));var D=this.zLabel;D.length>0&&(d=30,n=Math.cos(_)>0?this.xMin:this.xMax,r=Math.sin(_)<0?this.yMin:this.yMax,a=(this.zMin+this.zMax)/2,o=this._convert3Dto2D(new h(n,r,a)),g.textAlign="right",g.textBaseline="middle",g.fillStyle=this.colorAxis,g.fillText(D,o.x-d,o.y))},s.prototype._hsv2rgb=function(t,e,i){var s,o,n,r,a,h;switch(r=i*e,a=Math.floor(t/60),h=r*(1-Math.abs(t/60%2-1)),a){case 0:s=r,o=h,n=0;break;case 1:s=h,o=r,n=0;break;case 2:s=0,o=r,n=h;break;case 3:s=0,o=h,n=r;break;case 4:s=h,o=0,n=r;break;case 5:s=r,o=0,n=h;break;default:s=0,o=0,n=0}return"RGB("+parseInt(255*s)+","+parseInt(255*o)+","+parseInt(255*n)+")"},s.prototype._redrawDataGrid=function(){var t,e,i,o,n,r,a,d,l,c,p,u,f,m=this.frame.canvas,g=m.getContext("2d");if(!(void 0===this.dataPoints||this.dataPoints.length<=0)){for(n=0;n0}else r=!0;r?(f=(t.point.z+e.point.z+i.point.z+o.point.z)/4,c=240*(1-(f-this.zMin)*this.scale.z/this.verticalRatio),p=1,this.showShadow?(u=Math.min(1+S.x/D/2,1),a=this._hsv2rgb(c,p,u),d=a):(u=1,a=this._hsv2rgb(c,p,u),d=this.colorAxis)):(a="gray",d=this.colorAxis),l=.5,g.lineWidth=l,g.fillStyle=a,g.strokeStyle=d,g.beginPath(),g.moveTo(t.screen.x,t.screen.y),g.lineTo(e.screen.x,e.screen.y),g.lineTo(o.screen.x,o.screen.y),g.lineTo(i.screen.x,i.screen.y),g.closePath(),g.fill(),g.stroke()}}else for(n=0;np&&(p=0);var u,f,m;this.style===s.STYLE.DOTCOLOR?(u=240*(1-(d.point.value-this.valueMin)*this.scale.value),f=this._hsv2rgb(u,1,1),m=this._hsv2rgb(u,1,.8)):this.style===s.STYLE.DOTSIZE?(f=this.colorDot,m=this.colorDotBorder):(u=240*(1-(d.point.z-this.zMin)*this.scale.z/this.verticalRatio),f=this._hsv2rgb(u,1,1),m=this._hsv2rgb(u,1,.8)),i.lineWidth=1,i.strokeStyle=m,i.fillStyle=f,i.beginPath(),i.arc(d.screen.x,d.screen.y,p,0,2*Math.PI,!0),i.fill(),i.stroke()}}},s.prototype._redrawDataBar=function(){var t,e,i,o,n=this.frame.canvas,r=n.getContext("2d");if(!(void 0===this.dataPoints||this.dataPoints.length<=0)){for(t=0;t0&&(t=this.dataPoints[0],s.lineWidth=1,s.strokeStyle="blue",s.beginPath(),s.moveTo(t.screen.x,t.screen.y)),e=1;e0&&s.stroke()}},s.prototype._onMouseDown=function(t){if(t=t||window.event,this.leftButtonDown&&this._onMouseUp(t),this.leftButtonDown=t.which?1===t.which:1===t.button,this.leftButtonDown||this.touchDown){this.startMouseX=getMouseX(t),this.startMouseY=getMouseY(t),this.startStart=new Date(this.start),this.startEnd=new Date(this.end),this.startArmRotation=this.camera.getArmRotation(),this.frame.style.cursor="move";var e=this;this.onmousemove=function(t){e._onMouseMove(t)},this.onmouseup=function(t){e._onMouseUp(t)},a.addEventListener(document,"mousemove",e.onmousemove),a.addEventListener(document,"mouseup",e.onmouseup),a.preventDefault(t)}},s.prototype._onMouseMove=function(t){t=t||window.event;var e=parseFloat(getMouseX(t))-this.startMouseX,i=parseFloat(getMouseY(t))-this.startMouseY,s=this.startArmRotation.horizontal+e/200,o=this.startArmRotation.vertical+i/200,n=4,r=Math.sin(n/360*2*Math.PI);Math.abs(Math.sin(s))0?1:0>t?-1:0}var s=e[0],o=e[1],n=e[2],r=i((o.x-s.x)*(t.y-s.y)-(o.y-s.y)*(t.x-s.x)),a=i((n.x-o.x)*(t.y-o.y)-(n.y-o.y)*(t.x-o.x)),h=i((s.x-n.x)*(t.y-n.y)-(s.y-n.y)*(t.x-n.x));return!(0!=r&&0!=a&&r!=a||0!=a&&0!=h&&a!=h||0!=r&&0!=h&&r!=h)},s.prototype._dataPointFromXY=function(t,e){var i,o=100,n=null,r=null,a=null,h=new d(t,e);if(this.style===s.STYLE.BAR||this.style===s.STYLE.BARCOLOR||this.style===s.STYLE.BARSIZE)for(i=this.dataPoints.length-1;i>=0;i--){n=this.dataPoints[i];var l=n.surfaces;if(l)for(var c=l.length-1;c>=0;c--){var p=l[c],u=p.corners,f=[u[0].screen,u[1].screen,u[2].screen],m=[u[2].screen,u[3].screen,u[0].screen];if(this._insideTriangle(h,f)||this._insideTriangle(h,m))return n}}else for(i=0;ib)&&o>b&&(a=b,r=n)}}return r},s.prototype._showTooltip=function(t){var e,i,s;this.tooltip?(e=this.tooltip.dom.content,i=this.tooltip.dom.line,s=this.tooltip.dom.dot):(e=document.createElement("div"),e.style.position="absolute",e.style.padding="10px",e.style.border="1px solid #4d4d4d",e.style.color="#1a1a1a",e.style.background="rgba(255,255,255,0.7)",e.style.borderRadius="2px",e.style.boxShadow="5px 5px 10px rgba(128,128,128,0.5)",i=document.createElement("div"),i.style.position="absolute",i.style.height="40px",i.style.width="0",i.style.borderLeft="1px solid #4d4d4d",s=document.createElement("div"),s.style.position="absolute",s.style.height="0",s.style.width="0",s.style.border="5px solid #4d4d4d",s.style.borderRadius="5px",this.tooltip={dataPoint:null,dom:{content:e,line:i,dot:s}}),this._hideTooltip(),this.tooltip.dataPoint=t,e.innerHTML="function"==typeof this.showTooltip?this.showTooltip(t.point):"
x:"+t.point.x+"
y:"+t.point.y+"
z:"+t.point.z+"
",e.style.left="0",e.style.top="0",this.frame.appendChild(e),this.frame.appendChild(i),this.frame.appendChild(s);var o=e.offsetWidth,n=e.offsetHeight,r=i.offsetHeight,a=s.offsetWidth,h=s.offsetHeight,d=t.screen.x-o/2;d=Math.min(Math.max(d,10),this.frame.clientWidth-10-o),i.style.left=t.screen.x+"px",i.style.top=t.screen.y-r+"px",e.style.left=d+"px",e.style.top=t.screen.y-r-n+"px",s.style.left=t.screen.x-a/2+"px",s.style.top=t.screen.y-h/2+"px"},s.prototype._hideTooltip=function(){if(this.tooltip){this.tooltip.dataPoint=null;for(var t in this.tooltip.dom)if(this.tooltip.dom.hasOwnProperty(t)){var e=this.tooltip.dom[t];e&&e.parentNode&&e.parentNode.removeChild(e)}}},getMouseX=function(t){return"clientX"in t?t.clientX:t.targetTouches[0]&&t.targetTouches[0].clientX||0},getMouseY=function(t){return"clientY"in t?t.clientY:t.targetTouches[0]&&t.targetTouches[0].clientY||0},t.exports=s},function(t,e,i){var s=i(10);Camera=function(){this.armLocation=new s,this.armRotation={},this.armRotation.horizontal=0,this.armRotation.vertical=0,this.armLength=1.7,this.cameraLocation=new s,this.cameraRotation=new s(.5*Math.PI,0,0),this.calculateCameraOrientation()},Camera.prototype.setArmLocation=function(t,e,i){this.armLocation.x=t,this.armLocation.y=e,this.armLocation.z=i,this.calculateCameraOrientation()},Camera.prototype.setArmRotation=function(t,e){void 0!==t&&(this.armRotation.horizontal=t),void 0!==e&&(this.armRotation.vertical=e,this.armRotation.vertical<0&&(this.armRotation.vertical=0),this.armRotation.vertical>.5*Math.PI&&(this.armRotation.vertical=.5*Math.PI)),(void 0!==t||void 0!==e)&&this.calculateCameraOrientation()},Camera.prototype.getArmRotation=function(){var t={};return t.horizontal=this.armRotation.horizontal,t.vertical=this.armRotation.vertical,t},Camera.prototype.setArmLength=function(t){void 0!==t&&(this.armLength=t,this.armLength<.71&&(this.armLength=.71),this.armLength>5&&(this.armLength=5),this.calculateCameraOrientation())},Camera.prototype.getArmLength=function(){return this.armLength},Camera.prototype.getCameraLocation=function(){return this.cameraLocation},Camera.prototype.getCameraRotation=function(){return this.cameraRotation},Camera.prototype.calculateCameraOrientation=function(){this.cameraLocation.x=this.armLocation.x-this.armLength*Math.sin(this.armRotation.horizontal)*Math.cos(this.armRotation.vertical),this.cameraLocation.y=this.armLocation.y-this.armLength*Math.cos(this.armRotation.horizontal)*Math.cos(this.armRotation.vertical),this.cameraLocation.z=this.armLocation.z+this.armLength*Math.sin(this.armRotation.vertical),this.cameraRotation.x=Math.PI/2-this.armRotation.vertical,this.cameraRotation.y=0,this.cameraRotation.z=-this.armRotation.horizontal},t.exports=Camera},function(t,e,i){function s(t,e,i){this.data=t,this.column=e,this.graph=i,this.index=void 0,this.value=void 0,this.values=i.getDistinctValues(t.get(),this.column),this.values.sort(function(t,e){return t>e?1:e>t?-1:0}),this.values.length>0&&this.selectValue(0),this.dataPoints=[],this.loaded=!1,this.onLoadCallback=void 0,i.animationPreload?(this.loaded=!1,this.loadInBackground()):this.loaded=!0}var o=i(4);s.prototype.isLoaded=function(){return this.loaded},s.prototype.getLoadedProgress=function(){for(var t=this.values.length,e=0;this.dataPoints[e];)e++; +return Math.round(e/t*100)},s.prototype.getLabel=function(){return this.graph.filterLabel},s.prototype.getColumn=function(){return this.column},s.prototype.getSelectedValue=function(){return void 0===this.index?void 0:this.values[this.index]},s.prototype.getValues=function(){return this.values},s.prototype.getValue=function(t){if(t>=this.values.length)throw"Error: index out of range";return this.values[t]},s.prototype._getDataPoints=function(t){if(void 0===t&&(t=this.index),void 0===t)return[];var e;if(this.dataPoints[t])e=this.dataPoints[t];else{var i={};i.column=this.column,i.value=this.values[t];var s=new o(this.data,{filter:function(t){return t[i.column]==i.value}}).get();e=this.graph._getDataPoints(s),this.dataPoints[t]=e}return e},s.prototype.setOnLoadCallback=function(t){this.onLoadCallback=t},s.prototype.selectValue=function(t){if(t>=this.values.length)throw"Error: index out of range";this.index=t,this.value=this.values[t]},s.prototype.loadInBackground=function(t){void 0===t&&(t=0);var e=this.graph.frame;if(t0&&(t--,this.setIndex(t))},s.prototype.next=function(){var t=this.getIndex();t0?this.setIndex(0):this.index=void 0},s.prototype.setIndex=function(t){if(!(ts&&(s=0),s>this.values.length-1&&(s=this.values.length-1),s},s.prototype.indexToLeft=function(t){var e=parseFloat(this.frame.bar.style.width)-this.frame.slide.clientWidth-10,i=t/(this.values.length-1)*e,s=i+3;return s},s.prototype._onMouseMove=function(t){var e=t.clientX-this.startClientX,i=this.startSlideX+e,s=this.leftToIndex(i);this.setIndex(s),o.preventDefault()},s.prototype._onMouseUp=function(){this.frame.style.cursor="auto",o.removeEventListener(document,"mousemove",this.onmousemove),o.removeEventListener(document,"mouseup",this.onmouseup),o.preventDefault()},t.exports=s},function(t){function e(t,e,i,s){this._start=0,this._end=0,this._step=1,this.prettyStep=!0,this.precision=5,this._current=0,this.setRange(t,e,i,s)}e.prototype.setRange=function(t,e,i,s){this._start=t?t:0,this._end=e?e:0,this.setStep(i,s)},e.prototype.setStep=function(t,i){void 0===t||0>=t||(void 0!==i&&(this.prettyStep=i),this._step=this.prettyStep===!0?e.calculatePrettyStep(t):t)},e.calculatePrettyStep=function(t){var e=function(t){return Math.log(t)/Math.LN10},i=Math.pow(10,Math.round(e(t))),s=2*Math.pow(10,Math.round(e(t/2))),o=5*Math.pow(10,Math.round(e(t/5))),n=i;return Math.abs(s-t)<=Math.abs(n-t)&&(n=s),Math.abs(o-t)<=Math.abs(n-t)&&(n=o),0>=n&&(n=1),n},e.prototype.getCurrent=function(){return parseFloat(this._current.toPrecision(this.precision))},e.prototype.getStep=function(){return this._step},e.prototype.start=function(){this._current=this._start-this._start%this._step},e.prototype.next=function(){this._current+=this._step},e.prototype.end=function(){return this._current>this._end},t.exports=e},function(t,e,i){function s(t,e,i,r){if(!(this instanceof s))throw new SyntaxError("Constructor must be called with the new operator");if(!(Array.isArray(i)||i instanceof n)&&i instanceof Object){var h=r;r=i,i=h}var u=this;this.defaultOptions={start:null,end:null,autoResize:!0,orientation:"bottom",width:null,height:null,maxHeight:null,minHeight:null},this.options=o.deepExtend({},this.defaultOptions),this._create(t),this.components=[],this.body={dom:this.dom,domProps:this.props,emitter:{on:this.on.bind(this),off:this.off.bind(this),emit:this.emit.bind(this)},hiddenDates:[],util:{snap:null,toScreen:u._toScreen.bind(u),toGlobalScreen:u._toGlobalScreen.bind(u),toTime:u._toTime.bind(u),toGlobalTime:u._toGlobalTime.bind(u)}},this.range=new a(this.body),this.components.push(this.range),this.body.range=this.range,this.timeAxis=new d(this.body),this.components.push(this.timeAxis),this.body.util.snap=this.timeAxis.snap.bind(this.timeAxis),this.currentTime=new l(this.body),this.components.push(this.currentTime),this.customTime=new c(this.body),this.components.push(this.customTime),this.itemSet=new p(this.body),this.components.push(this.itemSet),this.itemsData=null,this.groupsData=null,r&&this.setOptions(r),i&&this.setGroups(i),e?this.setItems(e):this.redraw()}var o=(i(53),i(45),i(1)),n=i(3),r=i(4),a=i(17),h=i(46),d=i(30),l=i(21),c=i(22),p=i(27);s.prototype=new h,s.prototype.setItems=function(t){var e,i=null==this.itemsData;if(e=t?t instanceof n||t instanceof r?t:new n(t,{type:{start:"Date",end:"Date"}}):null,this.itemsData=e,this.itemSet&&this.itemSet.setItems(e),i)if(void 0!=this.options.start||void 0!=this.options.end){var s=void 0!=this.options.start?this.options.start:null,o=void 0!=this.options.end?this.options.end:null;this.setWindow(s,o,{animate:!1})}else this.fit({animate:!1})},s.prototype.setGroups=function(t){var e;e=t?t instanceof n||t instanceof r?t:new n(t):null,this.groupsData=e,this.itemSet.setGroups(e)},s.prototype.setSelection=function(t,e){this.itemSet&&this.itemSet.setSelection(t),e&&e.focus&&this.focus(t,e)},s.prototype.getSelection=function(){return this.itemSet&&this.itemSet.getSelection()||[]},s.prototype.focus=function(t,e){if(this.itemsData&&void 0!=t){var i=Array.isArray(t)?t:[t],s=this.itemsData.getDataSet().get(i,{type:{start:"Date",end:"Date"}}),o=null,n=null;if(s.forEach(function(t){var e=t.start.valueOf(),i="end"in t?t.end.valueOf():t.start.valueOf();(null===o||o>e)&&(o=e),(null===n||i>n)&&(n=i)}),null!==o&&null!==n){var r=(o+n)/2,a=Math.max(this.range.end-this.range.start,1.1*(n-o)),h=e&&void 0!==e.animate?e.animate:!0;this.range.setRange(r-a/2,r+a/2,h)}}},s.prototype.getItemRange=function(){var t=this.itemsData.getDataSet(),e=null,i=null;if(t){var s=t.min("start");e=s?o.convert(s.start,"Date").valueOf():null;var n=t.max("start");n&&(i=o.convert(n.start,"Date").valueOf());var r=t.max("end");r&&(i=null==i?o.convert(r.end,"Date").valueOf():Math.max(i,o.convert(r.end,"Date").valueOf()))}return{min:null!=e?new Date(e):null,max:null!=i?new Date(i):null}},t.exports=s},function(t,e,i){function s(t,e,i,s){if(!(Array.isArray(i)||i instanceof n)&&i instanceof Object){var r=s;s=i,i=r}var h=this;this.defaultOptions={start:null,end:null,autoResize:!0,orientation:"bottom",width:null,height:null,maxHeight:null,minHeight:null},this.options=o.deepExtend({},this.defaultOptions),this._create(t),this.components=[],this.body={dom:this.dom,domProps:this.props,emitter:{on:this.on.bind(this),off:this.off.bind(this),emit:this.emit.bind(this)},hiddenDates:[],util:{snap:null,toScreen:h._toScreen.bind(h),toGlobalScreen:h._toGlobalScreen.bind(h),toTime:h._toTime.bind(h),toGlobalTime:h._toGlobalTime.bind(h)}},this.range=new a(this.body),this.components.push(this.range),this.body.range=this.range,this.timeAxis=new d(this.body),this.components.push(this.timeAxis),this.body.util.snap=this.timeAxis.snap.bind(this.timeAxis),this.currentTime=new l(this.body),this.components.push(this.currentTime),this.customTime=new c(this.body),this.components.push(this.customTime),this.linegraph=new p(this.body),this.components.push(this.linegraph),this.itemsData=null,this.groupsData=null,s&&this.setOptions(s),i&&this.setGroups(i),e?this.setItems(e):this.redraw()}var o=(i(53),i(45),i(1)),n=i(3),r=i(4),a=i(17),h=i(46),d=i(30),l=i(21),c=i(22),p=i(29);s.prototype=new h,s.prototype.setItems=function(t){var e,i=null==this.itemsData;if(e=t?t instanceof n||t instanceof r?t:new n(t,{type:{start:"Date",end:"Date"}}):null,this.itemsData=e,this.linegraph&&this.linegraph.setItems(e),i)if(void 0!=this.options.start||void 0!=this.options.end){var s=void 0!=this.options.start?this.options.start:null,o=void 0!=this.options.end?this.options.end:null;this.setWindow(s,o,{animate:!1})}else this.fit({animate:!1})},s.prototype.setGroups=function(t){var e;e=t?t instanceof n||t instanceof r?t:new n(t):null,this.groupsData=e,this.linegraph.setGroups(e)},s.prototype.getLegend=function(t,e,i){return void 0===e&&(e=15),void 0===i&&(i=15),void 0!==this.linegraph.groups[t]?this.linegraph.groups[t].getLegend(e,i):"cannot find group:"+t},s.prototype.isGroupVisible=function(t){return void 0!==this.linegraph.groups[t]?this.linegraph.groups[t].visible&&(void 0===this.linegraph.options.groups.visibility[t]||1==this.linegraph.options.groups.visibility[t]):!1},s.prototype.getItemRange=function(){var t=null,e=null;for(var i in this.linegraph.groups)if(this.linegraph.groups.hasOwnProperty(i)&&1==this.linegraph.groups[i].visible)for(var s=0;sr?r:t,e=null==e?r:r>e?r:e}return{min:null!=t?new Date(t):null,max:null!=e?new Date(e):null}},t.exports=s},function(t,e,i){var s=i(44);e.convertHiddenOptions=function(t,e){if(t.hiddenDates=[],e&&1==Array.isArray(e)){for(var i=0;i=4*a){var p=0,u=n.clone();switch(i[h].repeat){case"daily":d.day()!=l.day()&&(p=1),d.dayOfYear(o.dayOfYear()),d.year(o.year()),d.subtract(7,"days"),l.dayOfYear(o.dayOfYear()),l.year(o.year()),l.subtract(7-p,"days"),u.add(1,"weeks");break;case"weekly":var f=l.diff(d,"days"),m=d.day();d.date(o.date()),d.month(o.month()),d.year(o.year()),l=d.clone(),d.day(m),l.day(m),l.add(f,"days"),d.subtract(1,"weeks"),l.subtract(1,"weeks"),u.add(1,"weeks");break;case"monthly":d.month()!=l.month()&&(p=1),d.month(o.month()),d.year(o.year()),d.subtract(1,"months"),l.month(o.month()),l.year(o.year()),l.subtract(1,"months"),l.add(p,"months"),u.add(1,"months");break;case"yearly":d.year()!=l.year()&&(p=1),d.year(o.year()),d.subtract(1,"years"),l.year(o.year()),l.subtract(1,"years"),l.add(p,"years"),u.add(1,"years");break;default:return void console.log("Wrong repeat format, allowed are: daily, weekly, monthly, yearly. Given:",i[h].repeat)}for(;u>d;)switch(t.hiddenDates.push({start:d.valueOf(),end:l.valueOf()}),i[h].repeat){case"daily":d.add(1,"days"),l.add(1,"days");break;case"weekly":d.add(1,"weeks"),l.add(1,"weeks");break;case"monthly":d.add(1,"months"),l.add(1,"months");break;case"yearly":d.add(1,"y"),l.add(1,"y");break;default:return void console.log("Wrong repeat format, allowed are: daily, weekly, monthly, yearly. Given:",i[h].repeat)}t.hiddenDates.push({start:d.valueOf(),end:l.valueOf()})}}e.removeDuplicates(t);var g=e.isHidden(t.range.start,t.hiddenDates),v=e.isHidden(t.range.end,t.hiddenDates),y=t.range.start,b=t.range.end;1==g.hidden&&(y=1==t.range.startToFront?g.startDate-1:g.endDate+1),1==v.hidden&&(b=1==t.range.endToFront?v.startDate-1:v.endDate+1),(1==g.hidden||1==v.hidden)&&t.range._applyRange(y,b)}},e.removeDuplicates=function(t){for(var e=t.hiddenDates,i=[],s=0;s=e[s].start&&e[o].end<=e[s].end?e[o].remove=!0:e[o].start>=e[s].start&&e[o].start<=e[s].end?(e[s].end=e[o].end,e[o].remove=!0):e[o].end>=e[s].start&&e[o].end<=e[s].end&&(e[s].start=e[o].start,e[o].remove=!0));for(var s=0;s=r&&a>o){i=!0;break}}if(1==i&&o=n&&r>i){e=!0;break}}if(1==e&&i<=t._end.valueOf()){var a=s(r);t.current=a.toDate()}},e.toScreen=function(t,i,s){var o=e.isHidden(i,t.body.hiddenDates);1==o.hidden&&(i=o.startDate);var n=e.getHiddenDurationBetween(t.body.hiddenDates,t.range.start,t.range.end);i=e.correctTimeForHidden(t.body.hiddenDates,t.range,i);var r=t.range.conversion(s,n);return(i.valueOf()-r.offset)*r.scale},e.toTime=function(t,i,s,o){var n=e.getHiddenDurationBetween(t.hiddenDates,i.start,i.end),r=i.end-i.start-n,a=r*s/o,h=e.getAccumulatedHiddenDuration(t.hiddenDates,i,a),d=new Date(h+a+i.start);return d},e.getHiddenDurationBetween=function(t,e,i){for(var s=0,o=0;o=e&&i>r&&(s+=r-n)}return s},e.correctTimeForHidden=function(t,i,o){return o=s(o).toDate().valueOf(),o-=e.getHiddenDurationBefore(t,i,o)},e.getHiddenDurationBefore=function(t,e,i){var o=0;i=s(i).toDate().valueOf();for(var n=0;n=e.start&&a=a&&(o+=a-r)}return o},e.getAccumulatedHiddenDuration=function(t,e,i){for(var s=0,o=0,n=e.start,r=0;r=e.start&&h=i)break;s+=h-a}}return s},e.snapAwayFromHidden=function(t,i,s,o){var n=e.isHidden(i,t);return 1==n.hidden?0>s?1==o?n.startDate-(n.endDate-i)-1:n.startDate-1:1==o?n.endDate+(i-n.startDate)+1:n.endDate+1:i},e.isHidden=function(t,e){for(var i=0;i=s&&o>t)return{hidden:!0,startDate:s,endDate:o}}return{hidden:!1,startDate:s,endDate:o}}},function(t){function e(t,e,i,s,o){this.current=0,this.autoScale=!0,this.stepIndex=0,this.step=1,this.scale=1,this.marginStart,this.marginEnd,this.deadSpace=0,this.majorSteps=[1,2,5,10],this.minorSteps=[.25,.5,1,2],this.setRange(t,e,i,s,o)}e.prototype.setRange=function(t,e,i,s,o){this._start=void 0===o.min?t:o.min,this._end=void 0===o.max?e:o.max,this._start==this._end&&(this._start-=.75,this._end+=1),this.autoScale&&this.setMinimumStep(i,s),this.setFirst(o)},e.prototype.setMinimumStep=function(t,e){var i=this._end-this._start,s=1.2*i,o=t*(s/e),n=Math.round(Math.log(s)/Math.LN10),r=-1,a=Math.pow(10,n),h=0;0>n&&(h=n);for(var d=!1,l=h;Math.abs(l)<=Math.abs(n);l++){a=Math.pow(10,l);for(var c=0;c=o){d=!0,r=c;break}}if(1==d)break}this.stepIndex=r,this.scale=a,this.step=a*this.minorSteps[r]},e.prototype.setFirst=function(t){void 0===t&&(t={});var e=void 0===t.min?this._start-2*this.scale*this.minorSteps[this.stepIndex]:t.min,i=void 0===t.max?this._end+this.scale*this.minorSteps[this.stepIndex]:t.max;this.marginEnd=void 0===t.max?this.roundToMinor(i):t.max,this.marginStart=void 0===t.min?this.roundToMinor(e):t.min,this.deadSpace=this.roundToMinor(i)-i+this.roundToMinor(e)-e,this.marginRange=this.marginEnd-this.marginStart,this.current=this.marginEnd},e.prototype.roundToMinor=function(t){var e=t-t%(this.scale*this.minorSteps[this.stepIndex]);return t%(this.scale*this.minorSteps[this.stepIndex])>.5*this.scale*this.minorSteps[this.stepIndex]?e+this.scale*this.minorSteps[this.stepIndex]:e},e.prototype.hasNext=function(){return this.current>=this.marginStart},e.prototype.next=function(){var t=this.current;this.current-=this.step,this.current==t&&(this.current=this._end)},e.prototype.previous=function(){this.current+=this.step,this.marginEnd+=this.step,this.marginRange=this.marginEnd-this.marginStart},e.prototype.getCurrent=function(){var t=""+Number(this.current).toPrecision(5);if(-1!=t.indexOf(",")||-1!=t.indexOf("."))for(var e=t.length-1;e>0;e--){if("0"!=t[e]){if("."==t[e]||","==t[e]){t=t.slice(0,e);break}break}t=t.slice(0,e)}return t},e.prototype.snap=function(){},e.prototype.isMajor=function(){return this.current%(this.scale*this.majorSteps[this.stepIndex])==0},t.exports=e},function(t,e,i){function s(t,e){var i=h().hours(0).minutes(0).seconds(0).milliseconds(0);this.start=i.clone().add(-3,"days").valueOf(),this.end=i.clone().add(4,"days").valueOf(),this.body=t,this.deltaDifference=0,this.scaleOffset=0,this.startToFront=!1,this.endToFront=!0,this.defaultOptions={start:null,end:null,direction:"horizontal",moveable:!0,zoomable:!0,min:null,max:null,zoomMin:10,zoomMax:31536e10},this.options=r.extend({},this.defaultOptions),this.props={touch:{}},this.animateTimer=null,this.body.emitter.on("dragstart",this._onDragStart.bind(this)),this.body.emitter.on("drag",this._onDrag.bind(this)),this.body.emitter.on("dragend",this._onDragEnd.bind(this)),this.body.emitter.on("hold",this._onHold.bind(this)),this.body.emitter.on("mousewheel",this._onMouseWheel.bind(this)),this.body.emitter.on("DOMMouseScroll",this._onMouseWheel.bind(this)),this.body.emitter.on("touch",this._onTouch.bind(this)),this.body.emitter.on("pinch",this._onPinch.bind(this)),this.setOptions(e)}function o(t){if("horizontal"!=t&&"vertical"!=t)throw new TypeError('Unknown direction "'+t+'". Choose "horizontal" or "vertical".')}function n(t,e){return{x:t.pageX-r.getAbsoluteLeft(e),y:t.pageY-r.getAbsoluteTop(e)}}var r=i(1),a=i(47),h=i(44),d=i(20),l=i(15);s.prototype=new d,s.prototype.setOptions=function(t){if(t){var e=["direction","min","max","zoomMin","zoomMax","moveable","zoomable","activate","hiddenDates"];r.selectiveExtend(e,this.options,t),("start"in t||"end"in t)&&this.setRange(t.start,t.end)}},s.prototype.setRange=function(t,e,i){function s(){if(!a.props.touch.dragging){var t=(new Date).valueOf(),e=t-p,i=e>c,m=i||null===o?o:r.easeInOutQuad(e,h,o,c),g=i||null===n?n:r.easeInOutQuad(e,d,n,c);f=a._applyRange(m,g),l.updateHiddenDates(a.body,a.options.hiddenDates),u=u||f,f&&a.body.emitter.emit("rangechange",{start:new Date(a.start),end:new Date(a.end)}),i?u&&a.body.emitter.emit("rangechanged",{start:new Date(a.start),end:new Date(a.end)}):a.animateTimer=setTimeout(s,20)}}var o=void 0!=t?r.convert(t,"Date").valueOf():null,n=void 0!=e?r.convert(e,"Date").valueOf():null;if(this._cancelAnimation(),i){var a=this,h=this.start,d=this.end,c="number"==typeof i?i:500,p=(new Date).valueOf(),u=!1;return s()}var f=this._applyRange(o,n);if(l.updateHiddenDates(this.body,this.options.hiddenDates),f){var m={start:new Date(this.start),end:new Date(this.end)};this.body.emitter.emit("rangechange",m),this.body.emitter.emit("rangechanged",m)}},s.prototype._cancelAnimation=function(){this.animateTimer&&(clearTimeout(this.animateTimer),this.animateTimer=null)},s.prototype._applyRange=function(t,e){var i,s=null!=t?r.convert(t,"Date").valueOf():this.start,o=null!=e?r.convert(e,"Date").valueOf():this.end,n=null!=this.options.max?r.convert(this.options.max,"Date").valueOf():null,a=null!=this.options.min?r.convert(this.options.min,"Date").valueOf():null;if(isNaN(s)||null===s)throw new Error('Invalid start "'+t+'"');if(isNaN(o)||null===o)throw new Error('Invalid end "'+e+'"');if(s>o&&(o=s),null!==a&&a>s&&(i=a-s,s+=i,o+=i,null!=n&&o>n&&(o=n)),null!==n&&o>n&&(i=o-n,s-=i,o-=i,null!=a&&a>s&&(s=a)),null!==this.options.zoomMin){var h=parseFloat(this.options.zoomMin);0>h&&(h=0),h>o-s&&(this.end-this.start===h?(s=this.start,o=this.end):(i=h-(o-s),s-=i/2,o+=i/2))}if(null!==this.options.zoomMax){var d=parseFloat(this.options.zoomMax);0>d&&(d=0),o-s>d&&(this.end-this.start===d?(s=this.start,o=this.end):(i=o-s-d,s+=i/2,o-=i/2))}var l=this.start!=s||this.end!=o;return this.start=s,this.end=o,l},s.prototype.getRange=function(){return{start:this.start,end:this.end}},s.prototype.conversion=function(t,e){return s.conversion(this.start,this.end,t,e)},s.conversion=function(t,e,i,s){return void 0===s&&(s=0),0!=i&&e-t!=0?{offset:t,scale:i/(e-t-s)}:{offset:0,scale:1}},s.prototype._onDragStart=function(){this.deltaDifference=0,this.previousDelta=0,this.options.moveable&&this.props.touch.allowDragging&&(this.props.touch.start=this.start,this.props.touch.end=this.end,this.props.touch.dragging=!0,this.body.dom.root&&(this.body.dom.root.style.cursor="move"))},s.prototype._onDrag=function(t){if(this.options.moveable&&this.props.touch.allowDragging){var e=this.options.direction;o(e);var i="horizontal"==e?t.gesture.deltaX:t.gesture.deltaY;i-=this.deltaDifference;var s=this.props.touch.end-this.props.touch.start,n=l.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end);s-=n;var r="horizontal"==e?this.body.domProps.center.width:this.body.domProps.center.height,a=-i/r*s,h=this.props.touch.start+a,d=this.props.touch.end+a,c=l.snapAwayFromHidden(this.body.hiddenDates,h,this.previousDelta-i,!0),p=l.snapAwayFromHidden(this.body.hiddenDates,d,this.previousDelta-i,!0);if(c!=h||p!=d)return this.deltaDifference+=i,this.props.touch.start=c,this.props.touch.end=p,void this._onDrag(t);this.previousDelta=i,this._applyRange(h,d),this.body.emitter.emit("rangechange",{start:new Date(this.start),end:new Date(this.end)})}},s.prototype._onDragEnd=function(){this.options.moveable&&this.props.touch.allowDragging&&(this.props.touch.dragging=!1,this.body.dom.root&&(this.body.dom.root.style.cursor="auto"),this.body.emitter.emit("rangechanged",{start:new Date(this.start),end:new Date(this.end)}))},s.prototype._onMouseWheel=function(t){if(this.options.zoomable&&this.options.moveable){var e=0;if(t.wheelDelta?e=t.wheelDelta/120:t.detail&&(e=-t.detail/3),e){var i;i=0>e?1-e/5:1/(1+e/5);var s=a.fakeGesture(this,t),o=n(s.center,this.body.dom.center),r=this._pointerToDate(o);this.zoom(i,r,e)}t.preventDefault()}},s.prototype._onTouch=function(){this.props.touch.start=this.start,this.props.touch.end=this.end,this.props.touch.allowDragging=!0,this.props.touch.center=null,this.scaleOffset=0,this.deltaDifference=0},s.prototype._onHold=function(){this.props.touch.allowDragging=!1},s.prototype._onPinch=function(t){if(this.options.zoomable&&this.options.moveable&&(this.props.touch.allowDragging=!1,t.gesture.touches.length>1)){this.props.touch.center||(this.props.touch.center=n(t.gesture.center,this.body.dom.center));var e=1/(t.gesture.scale+this.scaleOffset),i=this._pointerToDate(this.props.touch.center),s=l.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end),o=l.getHiddenDurationBefore(this.body.hiddenDates,this,i),r=s-o,a=i-o+(this.start-(i-o))*e,h=i+r+(this.end-(i+r))*e;this.startToFront=1-e>0?!1:!0,this.endToFront=e-1>0?!1:!0;var d=l.snapAwayFromHidden(this.body.hiddenDates,a,1-e,!0),c=l.snapAwayFromHidden(this.body.hiddenDates,h,e-1,!0);(d!=a||c!=h)&&(this.props.touch.start=d,this.props.touch.end=c,this.scaleOffset=1-t.gesture.scale,a=d,h=c),this.setRange(a,h),this.startToFront=!1,this.endToFront=!0}},s.prototype._pointerToDate=function(t){var e,i=this.options.direction;if(o(i),"horizontal"==i)return this.body.util.toTime(t.x).valueOf();var s=this.body.domProps.center.height;return e=this.conversion(s),t.y/e.scale+e.offset},s.prototype.zoom=function(t,e,i){null==e&&(e=(this.start+this.end)/2);var s=l.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end),o=l.getHiddenDurationBefore(this.body.hiddenDates,this,e),n=s-o,r=e-o+(this.start-(e-o))*t,a=e+n+(this.end-(e+n))*t;this.startToFront=i>0?!1:!0,this.endToFront=-i>0?!1:!0;var h=l.snapAwayFromHidden(this.body.hiddenDates,r,i,!0),d=l.snapAwayFromHidden(this.body.hiddenDates,a,-i,!0);(h!=r||d!=a)&&(r=h,a=d),this.setRange(r,a),this.startToFront=!1,this.endToFront=!0},s.prototype.move=function(t){var e=this.end-this.start,i=this.start+e*t,s=this.end+e*t;this.start=i,this.end=s},s.prototype.moveTo=function(t){var e=(this.start+this.end)/2,i=e-t,s=this.start-i,o=this.end-i;this.setRange(s,o)},t.exports=s},function(t,e){var i=.001;e.orderByStart=function(t){t.sort(function(t,e){return t.data.start-e.data.start})},e.orderByEnd=function(t){t.sort(function(t,e){var i="end"in t.data?t.data.end:t.data.start,s="end"in e.data?e.data.end:e.data.start;return i-s})},e.stack=function(t,i,s){var o,n;if(s)for(o=0,n=t.length;n>o;o++)t[o].top=null;for(o=0,n=t.length;n>o;o++){var r=t[o];if(r.stack&&null===r.top){r.top=i.axis;do{for(var a=null,h=0,d=t.length;d>h;h++){var l=t[h];if(null!==l.top&&l!==r&&l.stack&&e.collision(r,l,i.item)){a=l;break}}null!=a&&(r.top=a.top+a.height+i.item.vertical)}while(a)}}},e.nostack=function(t,e,i){var s,o,n;for(s=0,o=t.length;o>s;s++)if(void 0!==t[s].data.subgroup){n=e.axis;for(var r in i)i.hasOwnProperty(r)&&1==i[r].visible&&i[r].indexe.left&&t.top-s.vertical+ie.top}},function(t,e,i){function s(t,e,i,o){this.current=new Date,this._start=new Date,this._end=new Date,this.autoScale=!0,this.scale=s.SCALE.DAY,this.step=1,this.setRange(t,e,i),this.switchedDay=!1,this.switchedMonth=!1,this.switchedYear=!1,this.hiddenDates=o,void 0===o&&(this.hiddenDates=[])}var o=i(44),n=i(15);s.SCALE={MILLISECOND:1,SECOND:2,MINUTE:3,HOUR:4,DAY:5,WEEKDAY:6,MONTH:7,YEAR:8},s.prototype.setRange=function(t,e,i){if(!(t instanceof Date&&e instanceof Date))throw"No legal start or end date in method setRange";this._start=void 0!=t?new Date(t.valueOf()):new Date,this._end=void 0!=e?new Date(e.valueOf()):new Date,this.autoScale&&this.setMinimumStep(i)},s.prototype.first=function(){this.current=new Date(this._start.valueOf()),this.roundToMinor()},s.prototype.roundToMinor=function(){switch(this.scale){case s.SCALE.YEAR:this.current.setFullYear(this.step*Math.floor(this.current.getFullYear()/this.step)),this.current.setMonth(0);case s.SCALE.MONTH:this.current.setDate(1);case s.SCALE.DAY:case s.SCALE.WEEKDAY:this.current.setHours(0);case s.SCALE.HOUR:this.current.setMinutes(0);case s.SCALE.MINUTE:this.current.setSeconds(0);case s.SCALE.SECOND:this.current.setMilliseconds(0)}if(1!=this.step)switch(this.scale){case s.SCALE.MILLISECOND:this.current.setMilliseconds(this.current.getMilliseconds()-this.current.getMilliseconds()%this.step);break;case s.SCALE.SECOND:this.current.setSeconds(this.current.getSeconds()-this.current.getSeconds()%this.step);break;case s.SCALE.MINUTE:this.current.setMinutes(this.current.getMinutes()-this.current.getMinutes()%this.step);break;case s.SCALE.HOUR:this.current.setHours(this.current.getHours()-this.current.getHours()%this.step);break;case s.SCALE.WEEKDAY:case s.SCALE.DAY:this.current.setDate(this.current.getDate()-1-(this.current.getDate()-1)%this.step+1);break;case s.SCALE.MONTH:this.current.setMonth(this.current.getMonth()-this.current.getMonth()%this.step);break;case s.SCALE.YEAR:this.current.setFullYear(this.current.getFullYear()-this.current.getFullYear()%this.step) +}},s.prototype.hasNext=function(){return this.current.valueOf()<=this._end.valueOf()},s.prototype.next=function(){var t=this.current.valueOf();if(this.current.getMonth()<6)switch(this.scale){case s.SCALE.MILLISECOND:this.current=new Date(this.current.valueOf()+this.step);break;case s.SCALE.SECOND:this.current=new Date(this.current.valueOf()+1e3*this.step);break;case s.SCALE.MINUTE:this.current=new Date(this.current.valueOf()+1e3*this.step*60);break;case s.SCALE.HOUR:this.current=new Date(this.current.valueOf()+1e3*this.step*60*60);var e=this.current.getHours();this.current.setHours(e-e%this.step);break;case s.SCALE.WEEKDAY:case s.SCALE.DAY:this.current.setDate(this.current.getDate()+this.step);break;case s.SCALE.MONTH:this.current.setMonth(this.current.getMonth()+this.step);break;case s.SCALE.YEAR:this.current.setFullYear(this.current.getFullYear()+this.step)}else switch(this.scale){case s.SCALE.MILLISECOND:this.current=new Date(this.current.valueOf()+this.step);break;case s.SCALE.SECOND:this.current.setSeconds(this.current.getSeconds()+this.step);break;case s.SCALE.MINUTE:this.current.setMinutes(this.current.getMinutes()+this.step);break;case s.SCALE.HOUR:this.current.setHours(this.current.getHours()+this.step);break;case s.SCALE.WEEKDAY:case s.SCALE.DAY:this.current.setDate(this.current.getDate()+this.step);break;case s.SCALE.MONTH:this.current.setMonth(this.current.getMonth()+this.step);break;case s.SCALE.YEAR:this.current.setFullYear(this.current.getFullYear()+this.step)}if(1!=this.step)switch(this.scale){case s.SCALE.MILLISECOND:this.current.getMilliseconds()0&&(this.step=e),this.autoScale=!1},s.prototype.setAutoScale=function(t){this.autoScale=t},s.prototype.setMinimumStep=function(t){if(void 0!=t){var e=31104e6,i=2592e6,o=864e5,n=36e5,r=6e4,a=1e3,h=1;1e3*e>t&&(this.scale=s.SCALE.YEAR,this.step=1e3),500*e>t&&(this.scale=s.SCALE.YEAR,this.step=500),100*e>t&&(this.scale=s.SCALE.YEAR,this.step=100),50*e>t&&(this.scale=s.SCALE.YEAR,this.step=50),10*e>t&&(this.scale=s.SCALE.YEAR,this.step=10),5*e>t&&(this.scale=s.SCALE.YEAR,this.step=5),e>t&&(this.scale=s.SCALE.YEAR,this.step=1),3*i>t&&(this.scale=s.SCALE.MONTH,this.step=3),i>t&&(this.scale=s.SCALE.MONTH,this.step=1),5*o>t&&(this.scale=s.SCALE.DAY,this.step=5),2*o>t&&(this.scale=s.SCALE.DAY,this.step=2),o>t&&(this.scale=s.SCALE.DAY,this.step=1),o/2>t&&(this.scale=s.SCALE.WEEKDAY,this.step=1),4*n>t&&(this.scale=s.SCALE.HOUR,this.step=4),n>t&&(this.scale=s.SCALE.HOUR,this.step=1),15*r>t&&(this.scale=s.SCALE.MINUTE,this.step=15),10*r>t&&(this.scale=s.SCALE.MINUTE,this.step=10),5*r>t&&(this.scale=s.SCALE.MINUTE,this.step=5),r>t&&(this.scale=s.SCALE.MINUTE,this.step=1),15*a>t&&(this.scale=s.SCALE.SECOND,this.step=15),10*a>t&&(this.scale=s.SCALE.SECOND,this.step=10),5*a>t&&(this.scale=s.SCALE.SECOND,this.step=5),a>t&&(this.scale=s.SCALE.SECOND,this.step=1),200*h>t&&(this.scale=s.SCALE.MILLISECOND,this.step=200),100*h>t&&(this.scale=s.SCALE.MILLISECOND,this.step=100),50*h>t&&(this.scale=s.SCALE.MILLISECOND,this.step=50),10*h>t&&(this.scale=s.SCALE.MILLISECOND,this.step=10),5*h>t&&(this.scale=s.SCALE.MILLISECOND,this.step=5),h>t&&(this.scale=s.SCALE.MILLISECOND,this.step=1)}},s.prototype.snap=function(t){var e=new Date(t.valueOf());if(this.scale==s.SCALE.YEAR){var i=e.getFullYear()+Math.round(e.getMonth()/12);e.setFullYear(Math.round(i/this.step)*this.step),e.setMonth(0),e.setDate(0),e.setHours(0),e.setMinutes(0),e.setSeconds(0),e.setMilliseconds(0)}else if(this.scale==s.SCALE.MONTH)e.getDate()>15?(e.setDate(1),e.setMonth(e.getMonth()+1)):e.setDate(1),e.setHours(0),e.setMinutes(0),e.setSeconds(0),e.setMilliseconds(0);else if(this.scale==s.SCALE.DAY){switch(this.step){case 5:case 2:e.setHours(24*Math.round(e.getHours()/24));break;default:e.setHours(12*Math.round(e.getHours()/12))}e.setMinutes(0),e.setSeconds(0),e.setMilliseconds(0)}else if(this.scale==s.SCALE.WEEKDAY){switch(this.step){case 5:case 2:e.setHours(12*Math.round(e.getHours()/12));break;default:e.setHours(6*Math.round(e.getHours()/6))}e.setMinutes(0),e.setSeconds(0),e.setMilliseconds(0)}else if(this.scale==s.SCALE.HOUR){switch(this.step){case 4:e.setMinutes(60*Math.round(e.getMinutes()/60));break;default:e.setMinutes(30*Math.round(e.getMinutes()/30))}e.setSeconds(0),e.setMilliseconds(0)}else if(this.scale==s.SCALE.MINUTE){switch(this.step){case 15:case 10:e.setMinutes(5*Math.round(e.getMinutes()/5)),e.setSeconds(0);break;case 5:e.setSeconds(60*Math.round(e.getSeconds()/60));break;default:e.setSeconds(30*Math.round(e.getSeconds()/30))}e.setMilliseconds(0)}else if(this.scale==s.SCALE.SECOND)switch(this.step){case 15:case 10:e.setSeconds(5*Math.round(e.getSeconds()/5)),e.setMilliseconds(0);break;case 5:e.setMilliseconds(1e3*Math.round(e.getMilliseconds()/1e3));break;default:e.setMilliseconds(500*Math.round(e.getMilliseconds()/500))}else if(this.scale==s.SCALE.MILLISECOND){var o=this.step>5?this.step/2:1;e.setMilliseconds(Math.round(e.getMilliseconds()/o)*o)}return e},s.prototype.isMajor=function(){if(1==this.switchedYear)switch(this.switchedYear=!1,this.scale){case s.SCALE.YEAR:case s.SCALE.MONTH:case s.SCALE.WEEKDAY:case s.SCALE.DAY:case s.SCALE.HOUR:case s.SCALE.MINUTE:case s.SCALE.SECOND:case s.SCALE.MILLISECOND:return!0;default:return!1}else if(1==this.switchedMonth)switch(this.switchedMonth=!1,this.scale){case s.SCALE.WEEKDAY:case s.SCALE.DAY:case s.SCALE.HOUR:case s.SCALE.MINUTE:case s.SCALE.SECOND:case s.SCALE.MILLISECOND:return!0;default:return!1}else if(1==this.switchedDay)switch(this.switchedDay=!1,this.scale){case s.SCALE.MILLISECOND:case s.SCALE.SECOND:case s.SCALE.MINUTE:case s.SCALE.HOUR:return!0;default:return!1}switch(this.scale){case s.SCALE.MILLISECOND:return 0==this.current.getMilliseconds();case s.SCALE.SECOND:return 0==this.current.getSeconds();case s.SCALE.MINUTE:return 0==this.current.getHours()&&0==this.current.getMinutes();case s.SCALE.HOUR:return 0==this.current.getHours();case s.SCALE.WEEKDAY:case s.SCALE.DAY:return 1==this.current.getDate();case s.SCALE.MONTH:return 0==this.current.getMonth();case s.SCALE.YEAR:return!1;default:return!1}},s.prototype.getLabelMinor=function(t){switch(void 0==t&&(t=this.current),this.scale){case s.SCALE.MILLISECOND:return o(t).format("SSS");case s.SCALE.SECOND:return o(t).format("s");case s.SCALE.MINUTE:return o(t).format("HH:mm");case s.SCALE.HOUR:return o(t).format("HH:mm");case s.SCALE.WEEKDAY:return o(t).format("ddd D");case s.SCALE.DAY:return o(t).format("D");case s.SCALE.MONTH:return o(t).format("MMM");case s.SCALE.YEAR:return o(t).format("YYYY");default:return""}},s.prototype.getLabelMajor=function(t){switch(void 0==t&&(t=this.current),this.scale){case s.SCALE.MILLISECOND:return o(t).format("HH:mm:ss");case s.SCALE.SECOND:return o(t).format("D MMMM HH:mm");case s.SCALE.MINUTE:case s.SCALE.HOUR:return o(t).format("ddd D MMMM");case s.SCALE.WEEKDAY:case s.SCALE.DAY:return o(t).format("MMMM YYYY");case s.SCALE.MONTH:return o(t).format("YYYY");case s.SCALE.YEAR:return"";default:return""}},t.exports=s},function(t){function e(){this.options=null,this.props=null}e.prototype.setOptions=function(t){t&&util.extend(this.options,t)},e.prototype.redraw=function(){return!1},e.prototype.destroy=function(){},e.prototype._isResized=function(){var t=this.props._previousWidth!==this.props.width||this.props._previousHeight!==this.props.height;return this.props._previousWidth=this.props.width,this.props._previousHeight=this.props.height,t},t.exports=e},function(t,e,i){function s(t,e){this.body=t,this.defaultOptions={showCurrentTime:!0,locales:a,locale:"en"},this.options=o.extend({},this.defaultOptions),this.offset=0,this._create(),this.setOptions(e)}var o=i(1),n=i(20),r=i(44),a=i(48);s.prototype=new n,s.prototype._create=function(){var t=document.createElement("div");t.className="currenttime",t.style.position="absolute",t.style.top="0px",t.style.height="100%",this.bar=t},s.prototype.destroy=function(){this.options.showCurrentTime=!1,this.redraw(),this.body=null},s.prototype.setOptions=function(t){t&&o.selectiveExtend(["showCurrentTime","locale","locales"],this.options,t)},s.prototype.redraw=function(){if(this.options.showCurrentTime){var t=this.body.dom.backgroundVertical;this.bar.parentNode!=t&&(this.bar.parentNode&&this.bar.parentNode.removeChild(this.bar),t.appendChild(this.bar),this.start());var e=new Date((new Date).valueOf()+this.offset),i=this.body.util.toScreen(e),s=this.options.locales[this.options.locale],o=s.current+" "+s.time+": "+r(e).format("dddd, MMMM Do YYYY, H:mm:ss");o=o.charAt(0).toUpperCase()+o.substring(1),this.bar.style.left=i+"px",this.bar.title=o}else this.bar.parentNode&&this.bar.parentNode.removeChild(this.bar),this.stop();return!1},s.prototype.start=function(){function t(){e.stop();var i=e.body.range.conversion(e.body.domProps.center.width).scale,s=1/i/10;30>s&&(s=30),s>1e3&&(s=1e3),e.redraw(),e.currentTimeTimer=setTimeout(t,s)}var e=this;t()},s.prototype.stop=function(){void 0!==this.currentTimeTimer&&(clearTimeout(this.currentTimeTimer),delete this.currentTimeTimer)},s.prototype.setCurrentTime=function(t){var e=o.convert(t,"Date").valueOf(),i=(new Date).valueOf();this.offset=e-i,this.redraw()},s.prototype.getCurrentTime=function(){return new Date((new Date).valueOf()+this.offset)},t.exports=s},function(t,e,i){function s(t,e){this.body=t,this.defaultOptions={showCustomTime:!1,locales:h,locale:"en"},this.options=n.extend({},this.defaultOptions),this.customTime=new Date,this.eventParams={},this._create(),this.setOptions(e)}var o=i(45),n=i(1),r=i(20),a=i(44),h=i(48);s.prototype=new r,s.prototype.setOptions=function(t){t&&n.selectiveExtend(["showCustomTime","locale","locales"],this.options,t)},s.prototype._create=function(){var t=document.createElement("div");t.className="customtime",t.style.position="absolute",t.style.top="0px",t.style.height="100%",this.bar=t;var e=document.createElement("div");e.style.position="relative",e.style.top="0px",e.style.left="-10px",e.style.height="100%",e.style.width="20px",t.appendChild(e),this.hammer=o(t,{prevent_default:!0}),this.hammer.on("dragstart",this._onDragStart.bind(this)),this.hammer.on("drag",this._onDrag.bind(this)),this.hammer.on("dragend",this._onDragEnd.bind(this))},s.prototype.destroy=function(){this.options.showCustomTime=!1,this.redraw(),this.hammer.enable(!1),this.hammer=null,this.body=null},s.prototype.redraw=function(){if(this.options.showCustomTime){var t=this.body.dom.backgroundVertical;this.bar.parentNode!=t&&(this.bar.parentNode&&this.bar.parentNode.removeChild(this.bar),t.appendChild(this.bar));var e=this.body.util.toScreen(this.customTime),i=this.options.locales[this.options.locale],s=i.time+": "+a(this.customTime).format("dddd, MMMM Do YYYY, H:mm:ss");s=s.charAt(0).toUpperCase()+s.substring(1),this.bar.style.left=e+"px",this.bar.title=s}else this.bar.parentNode&&this.bar.parentNode.removeChild(this.bar);return!1},s.prototype.setCustomTime=function(t){this.customTime=n.convert(t,"Date"),this.redraw()},s.prototype.getCustomTime=function(){return new Date(this.customTime.valueOf())},s.prototype._onDragStart=function(t){this.eventParams.dragging=!0,this.eventParams.customTime=this.customTime,t.stopPropagation(),t.preventDefault()},s.prototype._onDrag=function(t){if(this.eventParams.dragging){var e=t.gesture.deltaX,i=this.body.util.toScreen(this.eventParams.customTime)+e,s=this.body.util.toTime(i);this.setCustomTime(s),this.body.emitter.emit("timechange",{time:new Date(this.customTime.valueOf())}),t.stopPropagation(),t.preventDefault()}},s.prototype._onDragEnd=function(t){this.eventParams.dragging&&(this.body.emitter.emit("timechanged",{time:new Date(this.customTime.valueOf())}),t.stopPropagation(),t.preventDefault())},t.exports=s},function(t,e,i){function s(t,e,i,s){this.id=o.randomUUID(),this.body=t,this.defaultOptions={orientation:"left",showMinorLabels:!0,showMajorLabels:!0,icons:!0,majorLinesOffset:7,minorLinesOffset:4,labelOffsetX:10,labelOffsetY:2,iconWidth:20,width:"40px",visible:!0,customRange:{left:{min:void 0,max:void 0},right:{min:void 0,max:void 0}}},this.linegraphOptions=s,this.linegraphSVG=i,this.props={},this.DOMelements={lines:{},labels:{}},this.dom={},this.range={start:0,end:0},this.options=o.extend({},this.defaultOptions),this.conversionFactor=1,this.setOptions(e),this.width=Number((""+this.options.width).replace("px","")),this.minWidth=this.width,this.height=this.linegraphSVG.offsetHeight,this.stepPixels=25,this.stepPixelsForced=25,this.lineOffset=0,this.master=!0,this.svgElements={},this.groups={},this.amountOfGroups=0,this._create()}var o=i(1),n=i(2),r=i(20),a=i(16);s.prototype=new r,s.prototype.addGroup=function(t,e){this.groups.hasOwnProperty(t)||(this.groups[t]=e),this.amountOfGroups+=1},s.prototype.updateGroup=function(t,e){this.groups[t]=e},s.prototype.removeGroup=function(t){this.groups.hasOwnProperty(t)&&(delete this.groups[t],this.amountOfGroups-=1)},s.prototype.setOptions=function(t){if(t){var e=!1;this.options.orientation!=t.orientation&&void 0!==t.orientation&&(e=!0);var i=["orientation","showMinorLabels","showMajorLabels","icons","majorLinesOffset","minorLinesOffset","labelOffsetX","labelOffsetY","iconWidth","width","visible","customRange"];o.selectiveExtend(i,this.options,t),this.minWidth=Number((""+this.options.width).replace("px","")),1==e&&this.dom.frame&&(this.hide(),this.show())}},s.prototype._create=function(){this.dom.frame=document.createElement("div"),this.dom.frame.style.width=this.options.width,this.dom.frame.style.height=this.height,this.dom.lineContainer=document.createElement("div"),this.dom.lineContainer.style.width="100%",this.dom.lineContainer.style.height=this.height,this.svg=document.createElementNS("http://www.w3.org/2000/svg","svg"),this.svg.style.position="absolute",this.svg.style.top="0px",this.svg.style.height="100%",this.svg.style.width="100%",this.svg.style.display="block",this.dom.frame.appendChild(this.svg)},s.prototype._redrawGroupIcons=function(){n.prepareElements(this.svgElements);var t,e=this.options.iconWidth,i=15,s=4,o=s+.5*i;t="left"==this.options.orientation?s:this.width-e-s;for(var r in this.groups)this.groups.hasOwnProperty(r)&&(1!=this.groups[r].visible||void 0!==this.linegraphOptions.visibility[r]&&1!=this.linegraphOptions.visibility[r]||(this.groups[r].drawIcon(t,o,this.svgElements,this.svg,e,i),o+=i+s));n.cleanupElements(this.svgElements)},s.prototype.show=function(){this.dom.frame.parentNode||("left"==this.options.orientation?this.body.dom.left.appendChild(this.dom.frame):this.body.dom.right.appendChild(this.dom.frame)),this.dom.lineContainer.parentNode||this.body.dom.backgroundHorizontal.appendChild(this.dom.lineContainer)},s.prototype.hide=function(){this.dom.frame.parentNode&&this.dom.frame.parentNode.removeChild(this.dom.frame),this.dom.lineContainer.parentNode&&this.dom.lineContainer.parentNode.removeChild(this.dom.lineContainer)},s.prototype.setRange=function(t,e){this.range.start=t,this.range.end=e},s.prototype.redraw=function(){var t=!1,e=0;for(var i in this.groups)this.groups.hasOwnProperty(i)&&(1!=this.groups[i].visible||void 0!==this.linegraphOptions.visibility[i]&&1!=this.linegraphOptions.visibility[i]||e++);if(0==this.amountOfGroups||0==e)this.hide();else{this.show(),this.height=Number(this.linegraphSVG.style.height.replace("px","")),this.dom.lineContainer.style.height=this.height+"px",this.width=1==this.options.visible?Number((""+this.options.width).replace("px","")):0;var s=this.props,o=this.dom.frame;o.className="dataaxis",this._calculateCharSize();var n=this.options.orientation,r=this.options.showMinorLabels,a=this.options.showMajorLabels;s.minorLabelHeight=r?s.minorCharHeight:0,s.majorLabelHeight=a?s.majorCharHeight:0,s.minorLineWidth=this.body.dom.backgroundHorizontal.offsetWidth-this.lineOffset-this.width+2*this.options.minorLinesOffset,s.minorLineHeight=1,s.majorLineWidth=this.body.dom.backgroundHorizontal.offsetWidth-this.lineOffset-this.width+2*this.options.majorLinesOffset,s.majorLineHeight=1,"left"==n?(o.style.top="0",o.style.left="0",o.style.bottom="",o.style.width=this.width+"px",o.style.height=this.height+"px"):(o.style.top="",o.style.bottom="0",o.style.left="0",o.style.width=this.width+"px",o.style.height=this.height+"px"),t=this._redrawLabels(),1==this.options.icons&&this._redrawGroupIcons()}return t},s.prototype._redrawLabels=function(){n.prepareElements(this.DOMelements.lines),n.prepareElements(this.DOMelements.labels);var t=this.options.orientation,e=this.master?this.props.majorCharHeight||10:this.stepPixelsForced,i=new a(this.range.start,this.range.end,e,this.dom.frame.offsetHeight,this.options.customRange[this.options.orientation]);this.step=i;var s=(this.dom.frame.offsetHeight-i.deadSpace*(this.dom.frame.offsetHeight/i.marginRange))/((i.marginRange-i.deadSpace)/i.step);this.stepPixels=s;var o=this.height/s,r=0;if(0==this.master){s=this.stepPixelsForced,r=Math.round(this.dom.frame.offsetHeight/s-o);for(var h=0;.5*r>h;h++)i.previous();o=this.height/s}else o+=.25;this.valueAtZero=i.marginEnd;var d=0,l=1;this.maxLabelSize=0;for(var c=0;l=0&&this._redrawLabel(c-2,i.getCurrent(),t,"yAxis major",this.props.majorCharHeight),this._redrawLine(c,t,"grid horizontal major",this.options.majorLinesOffset,this.props.majorLineWidth)):this._redrawLine(c,t,"grid horizontal minor",this.options.minorLinesOffset,this.props.minorLineWidth),l++}this.conversionFactor=0==this.master?c/(this.valueAtZero-i.current):this.dom.frame.offsetHeight/i.marginRange;var u=1==this.options.icons?this.options.iconWidth+this.options.labelOffsetX+15:this.options.labelOffsetX+15;return this.maxLabelSize>this.width-u&&1==this.options.visible?(this.width=this.maxLabelSize+u,this.options.width=this.width+"px",n.cleanupElements(this.DOMelements.lines),n.cleanupElements(this.DOMelements.labels),this.redraw(),!0):this.maxLabelSizethis.minWidth?(this.width=Math.max(this.minWidth,this.maxLabelSize+u),this.options.width=this.width+"px",n.cleanupElements(this.DOMelements.lines),n.cleanupElements(this.DOMelements.labels),this.redraw(),!0):(n.cleanupElements(this.DOMelements.lines),n.cleanupElements(this.DOMelements.labels),!1)},s.prototype.convertValue=function(t){var e=this.valueAtZero-t,i=e*this.conversionFactor;return i},s.prototype._redrawLabel=function(t,e,i,s,o){var r=n.getDOMElement("div",this.DOMelements.labels,this.dom.frame);r.className=s,r.innerHTML=e,"left"==i?(r.style.left="-"+this.options.labelOffsetX+"px",r.style.textAlign="right"):(r.style.right="-"+this.options.labelOffsetX+"px",r.style.textAlign="left"),r.style.top=t-.5*o+this.options.labelOffsetY+"px",e+="";var a=Math.max(this.props.majorCharWidth,this.props.minorCharWidth);this.maxLabelSized;d++){var c=this.visibleItems[d];c.repositionY(e)}return s},s.prototype._calculateHeight=function(t){var e,i=this.visibleItems;this.resetSubgroups();var s=this;if(i.length){var n=i[0].top,r=i[0].top+i[0].height;if(o.forEach(i,function(t){n=Math.min(n,t.top),r=Math.max(r,t.top+t.height),void 0!==t.data.subgroup&&(s.subgroups[t.data.subgroup].height=Math.max(s.subgroups[t.data.subgroup].height,t.height),s.subgroups[t.data.subgroup].visible=!0)}),n>t.axis){var a=n-t.axis;r-=a,o.forEach(i,function(t){t.top-=a})}e=r+t.item.vertical/2}else e=t.axis+t.item.vertical;return e=Math.max(e,this.props.label.height)},s.prototype.show=function(){this.dom.label.parentNode||this.itemSet.dom.labelSet.appendChild(this.dom.label),this.dom.foreground.parentNode||this.itemSet.dom.foreground.appendChild(this.dom.foreground),this.dom.background.parentNode||this.itemSet.dom.background.appendChild(this.dom.background),this.dom.axis.parentNode||this.itemSet.dom.axis.appendChild(this.dom.axis)},s.prototype.hide=function(){var t=this.dom.label;t.parentNode&&t.parentNode.removeChild(t);var e=this.dom.foreground;e.parentNode&&e.parentNode.removeChild(e);var i=this.dom.background;i.parentNode&&i.parentNode.removeChild(i);var s=this.dom.axis;s.parentNode&&s.parentNode.removeChild(s)},s.prototype.add=function(t){if(this.items[t.id]=t,t.setParent(this),void 0!==t.data.subgroup&&(void 0===this.subgroups[t.data.subgroup]&&(this.subgroups[t.data.subgroup]={height:0,visible:!1,index:this.subgroupIndex,items:[]},this.subgroupIndex++),this.subgroups[t.data.subgroup].items.push(t)),this.orderSubgroups(),-1==this.visibleItems.indexOf(t)){var e=this.itemSet.body.range;this._checkIfVisible(t,this.visibleItems,e)}},s.prototype.orderSubgroups=function(){if(void 0!==this.subgroupOrderer){var t=[];if("string"==typeof this.subgroupOrderer){for(var e in this.subgroups)t.push({subgroup:e,sortField:this.subgroups[e].items[0].data[this.subgroupOrderer]});t.sort(function(t,e){return t.sortField-e.sortField})}else if("function"==typeof this.subgroupOrderer){for(var e in this.subgroups)t.push(this.subgroups[e].items[0].data);t.sort(this.subgroupOrderer)}if(t.length>0)for(var i=0;i0)for(n=0;n=0&&!this._checkIfInvisible(t.byStart[n],r,i);n--);for(n=s+1;n=0&&!this._checkIfInvisible(t.byEnd[n],r,i);n--);for(n=a+1;ns;s++){var n=this.visibleItems[s];n.repositionY(e)}return i},s.prototype.show=function(){this.dom.background.parentNode||this.itemSet.dom.background.appendChild(this.dom.background)},t.exports=s},function(t,e,i){function s(t,e){this.body=t,this.defaultOptions={type:null,orientation:"bottom",align:"auto",stack:!0,groupOrder:null,selectable:!0,editable:{updateTime:!1,updateGroup:!1,add:!1,remove:!1},onAdd:function(t,e){e(t)},onUpdate:function(t,e){e(t)},onMove:function(t,e){e(t)},onRemove:function(t,e){e(t)},onMoving:function(t,e){e(t)},margin:{item:{horizontal:10,vertical:10},axis:20},padding:5},this.options=n.extend({},this.defaultOptions),this.itemOptions={type:{start:"Date",end:"Date"}},this.conversion={toScreen:t.util.toScreen,toTime:t.util.toTime},this.dom={},this.props={},this.hammer=null;var i=this;this.itemsData=null,this.groupsData=null,this.itemListeners={add:function(t,e){i._onAdd(e.items)},update:function(t,e){i._onUpdate(e.items)},remove:function(t,e){i._onRemove(e.items)}},this.groupListeners={add:function(t,e){i._onAddGroups(e.items)},update:function(t,e){i._onUpdateGroups(e.items)},remove:function(t,e){i._onRemoveGroups(e.items)}},this.items={},this.groups={},this.groupIds=[],this.selection=[],this.stackDirty=!0,this.touchParams={},this._create(),this.setOptions(e)}var o=i(45),n=i(1),r=i(3),a=i(4),h=i(20),d=i(25),l=i(26),c=i(33),p=i(34),u=i(35),f=i(32),m="__ungrouped__",g="__background__";s.prototype=new h,s.types={background:f,box:c,range:u,point:p},s.prototype._create=function(){var t=document.createElement("div"); +t.className="itemset",t["timeline-itemset"]=this,this.dom.frame=t;var e=document.createElement("div");e.className="background",t.appendChild(e),this.dom.background=e;var i=document.createElement("div");i.className="foreground",t.appendChild(i),this.dom.foreground=i;var s=document.createElement("div");s.className="axis",this.dom.axis=s;var n=document.createElement("div");n.className="labelset",this.dom.labelSet=n,this._updateUngrouped();var r=new l(g,null,this);r.show(),this.groups[g]=r,this.hammer=o(this.body.dom.centerContainer,{prevent_default:!0}),this.hammer.on("touch",this._onTouch.bind(this)),this.hammer.on("dragstart",this._onDragStart.bind(this)),this.hammer.on("drag",this._onDrag.bind(this)),this.hammer.on("dragend",this._onDragEnd.bind(this)),this.hammer.on("tap",this._onSelectItem.bind(this)),this.hammer.on("hold",this._onMultiSelectItem.bind(this)),this.hammer.on("doubletap",this._onAddItem.bind(this)),this.show()},s.prototype.setOptions=function(t){if(t){var e=["type","align","orientation","padding","stack","selectable","groupOrder","dataAttributes","template","hide"];n.selectiveExtend(e,this.options,t),"margin"in t&&("number"==typeof t.margin?(this.options.margin.axis=t.margin,this.options.margin.item.horizontal=t.margin,this.options.margin.item.vertical=t.margin):"object"==typeof t.margin&&(n.selectiveExtend(["axis"],this.options.margin,t.margin),"item"in t.margin&&("number"==typeof t.margin.item?(this.options.margin.item.horizontal=t.margin.item,this.options.margin.item.vertical=t.margin.item):"object"==typeof t.margin.item&&n.selectiveExtend(["horizontal","vertical"],this.options.margin.item,t.margin.item)))),"editable"in t&&("boolean"==typeof t.editable?(this.options.editable.updateTime=t.editable,this.options.editable.updateGroup=t.editable,this.options.editable.add=t.editable,this.options.editable.remove=t.editable):"object"==typeof t.editable&&n.selectiveExtend(["updateTime","updateGroup","add","remove"],this.options.editable,t.editable));var i=function(e){var i=t[e];if(i){if(!(i instanceof Function))throw new Error("option "+e+" must be a function "+e+"(item, callback)");this.options[e]=i}}.bind(this);["onAdd","onUpdate","onRemove","onMove","onMoving"].forEach(i),this.markDirty()}},s.prototype.markDirty=function(){this.groupIds=[],this.stackDirty=!0},s.prototype.destroy=function(){this.hide(),this.setItems(null),this.setGroups(null),this.hammer=null,this.body=null,this.conversion=null},s.prototype.hide=function(){this.dom.frame.parentNode&&this.dom.frame.parentNode.removeChild(this.dom.frame),this.dom.axis.parentNode&&this.dom.axis.parentNode.removeChild(this.dom.axis),this.dom.labelSet.parentNode&&this.dom.labelSet.parentNode.removeChild(this.dom.labelSet)},s.prototype.show=function(){this.dom.frame.parentNode||this.body.dom.center.appendChild(this.dom.frame),this.dom.axis.parentNode||this.body.dom.backgroundVertical.appendChild(this.dom.axis),this.dom.labelSet.parentNode||this.body.dom.left.appendChild(this.dom.labelSet)},s.prototype.setSelection=function(t){var e,i,s,o;for(void 0==t&&(t=[]),Array.isArray(t)||(t=[t]),e=0,i=this.selection.length;i>e;e++)s=this.selection[e],o=this.items[s],o&&o.unselect();for(this.selection=[],e=0,i=t.length;i>e;e++)s=t[e],o=this.items[s],o&&(this.selection.push(s),o.select())},s.prototype.getSelection=function(){return this.selection.concat([])},s.prototype.getVisibleItems=function(){var t=this.body.range.getRange(),e=this.body.util.toScreen(t.start),i=this.body.util.toScreen(t.end),s=[];for(var o in this.groups)if(this.groups.hasOwnProperty(o))for(var n=this.groups[o],r=n.visibleItems,a=0;ae&&s.push(h.id)}return s},s.prototype._deselect=function(t){for(var e=this.selection,i=0,s=e.length;s>i;i++)if(e[i]==t){e.splice(i,1);break}},s.prototype.redraw=function(){var t=this.options.margin,e=this.body.range,i=n.option.asSize,s=this.options,o=s.orientation,r=!1,a=this.dom.frame,h=s.editable.updateTime||s.editable.updateGroup;this.props.top=this.body.domProps.top.height+this.body.domProps.border.top,this.props.left=this.body.domProps.left.width+this.body.domProps.border.left,a.className="itemset"+(h?" editable":""),r=this._orderGroups()||r;var d=e.end-e.start,l=d!=this.lastVisibleInterval||this.props.width!=this.props.lastWidth;l&&(this.stackDirty=!0),this.lastVisibleInterval=d,this.props.lastWidth=this.props.width;var c=this.stackDirty,p=this._firstGroup(),u={item:t.item,axis:t.axis},f={item:t.item,axis:t.item.vertical/2},m=0,v=t.axis+t.item.vertical;return this.groups[g].redraw(e,f,c),n.forEach(this.groups,function(t){var i=t==p?u:f,s=t.redraw(e,i,c);r=s||r,m+=t.height}),m=Math.max(m,v),this.stackDirty=!1,a.style.height=i(m),this.props.width=a.offsetWidth,this.props.height=m,this.dom.axis.style.top=i("top"==o?this.body.domProps.top.height+this.body.domProps.border.top:this.body.domProps.top.height+this.body.domProps.centerContainer.height),this.dom.axis.style.left="0",r=this._isResized()||r},s.prototype._firstGroup=function(){var t="top"==this.options.orientation?0:this.groupIds.length-1,e=this.groupIds[t],i=this.groups[e]||this.groups[m];return i||null},s.prototype._updateUngrouped=function(){{var t,e,i=this.groups[m];this.groups[g]}if(this.groupsData){if(i){i.hide(),delete this.groups[m];for(e in this.items)if(this.items.hasOwnProperty(e)){t=this.items[e],t.parent&&t.parent.remove(t);var s=this._getGroupId(t.data),o=this.groups[s];o&&o.add(t)||t.hide()}}}else if(!i){var n=null,r=null;i=new d(n,r,this),this.groups[m]=i;for(e in this.items)this.items.hasOwnProperty(e)&&(t=this.items[e],i.add(t));i.show()}},s.prototype.getLabelSet=function(){return this.dom.labelSet},s.prototype.setItems=function(t){var e,i=this,s=this.itemsData;if(t){if(!(t instanceof r||t instanceof a))throw new TypeError("Data must be an instance of DataSet or DataView");this.itemsData=t}else this.itemsData=null;if(s&&(n.forEach(this.itemListeners,function(t,e){s.off(e,t)}),e=s.getIds(),this._onRemove(e)),this.itemsData){var o=this.id;n.forEach(this.itemListeners,function(t,e){i.itemsData.on(e,t,o)}),e=this.itemsData.getIds(),this._onAdd(e),this._updateUngrouped()}},s.prototype.getItems=function(){return this.itemsData},s.prototype.setGroups=function(t){var e,i=this;if(this.groupsData&&(n.forEach(this.groupListeners,function(t,e){i.groupsData.unsubscribe(e,t)}),e=this.groupsData.getIds(),this.groupsData=null,this._onRemoveGroups(e)),t){if(!(t instanceof r||t instanceof a))throw new TypeError("Data must be an instance of DataSet or DataView");this.groupsData=t}else this.groupsData=null;if(this.groupsData){var s=this.id;n.forEach(this.groupListeners,function(t,e){i.groupsData.on(e,t,s)}),e=this.groupsData.getIds(),this._onAddGroups(e)}this._updateUngrouped(),this._order(),this.body.emitter.emit("change",{queue:!0})},s.prototype.getGroups=function(){return this.groupsData},s.prototype.removeItem=function(t){var e=this.itemsData.get(t),i=this.itemsData.getDataSet();e&&this.options.onRemove(e,function(e){e&&i.remove(t)})},s.prototype._getType=function(t){return t.type||this.options.type||(t.end?"range":"box")},s.prototype._getGroupId=function(t){var e=this._getType(t);return"background"==e&&void 0==t.group?g:this.groupsData?t.group:m},s.prototype._onUpdate=function(t){var e=this;t.forEach(function(t){var i=e.itemsData.get(t,e.itemOptions),o=e.items[t],n=e._getType(i),r=s.types[n];if(o&&(r&&o instanceof r?e._updateItem(o,i):(e._removeItem(o),o=null)),!o){if(!r)throw new TypeError("rangeoverflow"==n?'Item type "rangeoverflow" is deprecated. Use css styling instead: .vis.timeline .item.range .content {overflow: visible;}':'Unknown item type "'+n+'"');o=new r(i,e.conversion,e.options),o.id=t,e._addItem(o)}}),this._order(),this.stackDirty=!0,this.body.emitter.emit("change",{queue:!0})},s.prototype._onAdd=s.prototype._onUpdate,s.prototype._onRemove=function(t){var e=0,i=this;t.forEach(function(t){var s=i.items[t];s&&(e++,i._removeItem(s))}),e&&(this._order(),this.stackDirty=!0,this.body.emitter.emit("change",{queue:!0}))},s.prototype._order=function(){n.forEach(this.groups,function(t){t.order()})},s.prototype._onUpdateGroups=function(t){this._onAddGroups(t)},s.prototype._onAddGroups=function(t){var e=this;t.forEach(function(t){var i=e.groupsData.get(t),s=e.groups[t];if(s)s.setData(i);else{if(t==m||t==g)throw new Error("Illegal group id. "+t+" is a reserved id.");var o=Object.create(e.options);n.extend(o,{height:null}),s=new d(t,i,e),e.groups[t]=s;for(var r in e.items)if(e.items.hasOwnProperty(r)){var a=e.items[r];a.data.group==t&&s.add(a)}s.order(),s.show()}}),this.body.emitter.emit("change",{queue:!0})},s.prototype._onRemoveGroups=function(t){var e=this.groups;t.forEach(function(t){var i=e[t];i&&(i.hide(),delete e[t])}),this.markDirty(),this.body.emitter.emit("change",{queue:!0})},s.prototype._orderGroups=function(){if(this.groupsData){var t=this.groupsData.getIds({order:this.options.groupOrder}),e=!n.equalArray(t,this.groupIds);if(e){var i=this.groups;t.forEach(function(t){i[t].hide()}),t.forEach(function(t){i[t].show()}),this.groupIds=t}return e}return!1},s.prototype._addItem=function(t){this.items[t.id]=t;var e=this._getGroupId(t.data),i=this.groups[e];i&&i.add(t)},s.prototype._updateItem=function(t,e){var i=t.data.group;if(t.setData(e),i!=t.data.group){var s=this.groups[i];s&&s.remove(t);var o=this._getGroupId(t.data),n=this.groups[o];n&&n.add(t)}},s.prototype._removeItem=function(t){t.hide(),delete this.items[t.id];var e=this.selection.indexOf(t.id);-1!=e&&this.selection.splice(e,1),t.parent&&t.parent.remove(t)},s.prototype._constructByEndArray=function(t){for(var e=[],i=0;i0||o.length>0)&&this.body.emitter.emit("select",{items:this.getSelection()})}},s.prototype._onAddItem=function(t){if(this.options.selectable&&this.options.editable.add){var e=this,i=this.body.util.snap||null,o=s.itemFromTarget(t);if(o){var r=e.itemsData.get(o.id);this.options.onUpdate(r,function(t){t&&e.itemsData.update(t)})}else{var a=n.getAbsoluteLeft(this.dom.frame),h=t.gesture.center.pageX-a,d=this.body.util.toTime(h),l={start:i?i(d):d,content:"new item"};if("range"===this.options.type){var c=this.body.util.toTime(h+this.props.width/5);l.end=i?i(c):c}l[this.itemsData._fieldId]=n.randomUUID();var p=s.groupFromTarget(t);p&&(l.group=p.groupId),this.options.onAdd(l,function(t){t&&e.itemsData.add(t)})}}},s.prototype._onMultiSelectItem=function(t){if(this.options.selectable){var e,i=s.itemFromTarget(t);if(i){e=this.getSelection();var o=e.indexOf(i.id);-1==o?e.push(i.id):e.splice(o,1),this.setSelection(e),this.body.emitter.emit("select",{items:this.getSelection()})}}},s.itemFromTarget=function(t){for(var e=t.target;e;){if(e.hasOwnProperty("timeline-item"))return e["timeline-item"];e=e.parentNode}return null},s.groupFromTarget=function(t){for(var e=t.target;e;){if(e.hasOwnProperty("timeline-group"))return e["timeline-group"];e=e.parentNode}return null},s.itemSetFromTarget=function(t){for(var e=t.target;e;){if(e.hasOwnProperty("timeline-itemset"))return e["timeline-itemset"];e=e.parentNode}return null},t.exports=s},function(t,e,i){function s(t,e,i,s){this.body=t,this.defaultOptions={enabled:!0,icons:!0,iconSize:20,iconSpacing:6,left:{visible:!0,position:"top-left"},right:{visible:!0,position:"top-left"}},this.side=i,this.options=o.extend({},this.defaultOptions),this.linegraphOptions=s,this.svgElements={},this.dom={},this.groups={},this.amountOfGroups=0,this._create(),this.setOptions(e)}var o=i(1),n=i(2),r=i(20);s.prototype=new r,s.prototype.addGroup=function(t,e){this.groups.hasOwnProperty(t)||(this.groups[t]=e),this.amountOfGroups+=1},s.prototype.updateGroup=function(t,e){this.groups[t]=e},s.prototype.removeGroup=function(t){this.groups.hasOwnProperty(t)&&(delete this.groups[t],this.amountOfGroups-=1)},s.prototype._create=function(){this.dom.frame=document.createElement("div"),this.dom.frame.className="legend",this.dom.frame.style.position="absolute",this.dom.frame.style.top="10px",this.dom.frame.style.display="block",this.dom.textArea=document.createElement("div"),this.dom.textArea.className="legendText",this.dom.textArea.style.position="relative",this.dom.textArea.style.top="0px",this.svg=document.createElementNS("http://www.w3.org/2000/svg","svg"),this.svg.style.position="absolute",this.svg.style.top="0px",this.svg.style.width=this.options.iconSize+5+"px",this.svg.style.height="100%",this.dom.frame.appendChild(this.svg),this.dom.frame.appendChild(this.dom.textArea)},s.prototype.hide=function(){this.dom.frame.parentNode&&this.dom.frame.parentNode.removeChild(this.dom.frame)},s.prototype.show=function(){this.dom.frame.parentNode||this.body.dom.center.appendChild(this.dom.frame)},s.prototype.setOptions=function(t){var e=["enabled","orientation","icons","left","right"];o.selectiveDeepExtend(e,this.options,t)},s.prototype.redraw=function(){var t=0;for(var e in this.groups)this.groups.hasOwnProperty(e)&&(1!=this.groups[e].visible||void 0!==this.linegraphOptions.visibility[e]&&1!=this.linegraphOptions.visibility[e]||t++);if(0==this.options[this.side].visible||0==this.amountOfGroups||0==this.options.enabled||0==t)this.hide();else{this.show(),"top-left"==this.options[this.side].position||"bottom-left"==this.options[this.side].position?(this.dom.frame.style.left="4px",this.dom.frame.style.textAlign="left",this.dom.textArea.style.textAlign="left",this.dom.textArea.style.left=this.options.iconSize+15+"px",this.dom.textArea.style.right="",this.svg.style.left="0px",this.svg.style.right=""):(this.dom.frame.style.right="4px",this.dom.frame.style.textAlign="right",this.dom.textArea.style.textAlign="right",this.dom.textArea.style.right=this.options.iconSize+15+"px",this.dom.textArea.style.left="",this.svg.style.right="0px",this.svg.style.left=""),"top-left"==this.options[this.side].position||"top-right"==this.options[this.side].position?(this.dom.frame.style.top=4-Number(this.body.dom.center.style.top.replace("px",""))+"px",this.dom.frame.style.bottom=""):(this.dom.frame.style.bottom=4-Number(this.body.dom.center.style.top.replace("px",""))+"px",this.dom.frame.style.top=""),0==this.options.icons?(this.dom.frame.style.width=this.dom.textArea.offsetWidth+10+"px",this.dom.textArea.style.right="",this.dom.textArea.style.left="",this.svg.style.width="0px"):(this.dom.frame.style.width=this.options.iconSize+15+this.dom.textArea.offsetWidth+10+"px",this.drawLegendIcons());var i="";for(var e in this.groups)this.groups.hasOwnProperty(e)&&(1!=this.groups[e].visible||void 0!==this.linegraphOptions.visibility[e]&&1!=this.linegraphOptions.visibility[e]||(i+=this.groups[e].content+"
"));this.dom.textArea.innerHTML=i,this.dom.textArea.style.lineHeight=.75*this.options.iconSize+this.options.iconSpacing+"px"}},s.prototype.drawLegendIcons=function(){if(this.dom.frame.parentNode){n.prepareElements(this.svgElements);var t=window.getComputedStyle(this.dom.frame).paddingTop,e=Number(t.replace("px","")),i=e,s=this.options.iconSize,o=.75*this.options.iconSize,r=e+.5*o+3;this.svg.style.width=s+5+e+"px";for(var a in this.groups)this.groups.hasOwnProperty(a)&&(1!=this.groups[a].visible||void 0!==this.linegraphOptions.visibility[a]&&1!=this.linegraphOptions.visibility[a]||(this.groups[a].drawIcon(i,r,this.svgElements,this.svg,s,o),r+=o+this.options.iconSpacing));n.cleanupElements(this.svgElements)}},t.exports=s},function(t,e,i){function s(t,e){this.id=o.randomUUID(),this.body=t,this.defaultOptions={yAxisOrientation:"left",defaultGroup:"default",sort:!0,sampling:!0,graphHeight:"400px",shaded:{enabled:!1,orientation:"bottom"},style:"line",barChart:{width:50,handleOverlap:"overlap",align:"center"},catmullRom:{enabled:!0,parametrization:"centripetal",alpha:.5},drawPoints:{enabled:!0,size:6,style:"square"},dataAxis:{showMinorLabels:!0,showMajorLabels:!0,icons:!1,width:"40px",visible:!0,customRange:{left:{min:void 0,max:void 0},right:{min:void 0,max:void 0}}},legend:{enabled:!1,icons:!0,left:{visible:!0,position:"top-left"},right:{visible:!0,position:"top-right"}},groups:{visibility:{}}},this.options=o.extend({},this.defaultOptions),this.dom={},this.props={},this.hammer=null,this.groups={},this.abortedGraphUpdate=!1;var i=this;this.itemsData=null,this.groupsData=null,this.itemListeners={add:function(t,e){i._onAdd(e.items)},update:function(t,e){i._onUpdate(e.items)},remove:function(t,e){i._onRemove(e.items)}},this.groupListeners={add:function(t,e){i._onAddGroups(e.items)},update:function(t,e){i._onUpdateGroups(e.items)},remove:function(t,e){i._onRemoveGroups(e.items)}},this.items={},this.selection=[],this.lastStart=this.body.range.start,this.touchParams={},this.svgElements={},this.setOptions(e),this.groupsUsingDefaultStyles=[0],this.body.emitter.on("rangechanged",function(){i.lastStart=i.body.range.start,i.svg.style.left=o.option.asSize(-i.width),i._updateGraph.apply(i)}),this._create(),this.body.emitter.emit("change")}var o=i(1),n=i(2),r=i(3),a=i(4),h=i(20),d=i(23),l=i(24),c=i(28),p="__ungrouped__";s.prototype=new h,s.prototype._create=function(){var t=document.createElement("div");t.className="LineGraph",this.dom.frame=t,this.svg=document.createElementNS("http://www.w3.org/2000/svg","svg"),this.svg.style.position="relative",this.svg.style.height=(""+this.options.graphHeight).replace("px","")+"px",this.svg.style.display="block",t.appendChild(this.svg),this.options.dataAxis.orientation="left",this.yAxisLeft=new d(this.body,this.options.dataAxis,this.svg,this.options.groups),this.options.dataAxis.orientation="right",this.yAxisRight=new d(this.body,this.options.dataAxis,this.svg,this.options.groups),delete this.options.dataAxis.orientation,this.legendLeft=new c(this.body,this.options.legend,"left",this.options.groups),this.legendRight=new c(this.body,this.options.legend,"right",this.options.groups),this.show()},s.prototype.setOptions=function(t){if(t){var e=["sampling","defaultGroup","graphHeight","yAxisOrientation","style","barChart","dataAxis","sort","groups"];o.selectiveDeepExtend(e,this.options,t),o.mergeOptions(this.options,t,"catmullRom"),o.mergeOptions(this.options,t,"drawPoints"),o.mergeOptions(this.options,t,"shaded"),o.mergeOptions(this.options,t,"legend"),t.catmullRom&&"object"==typeof t.catmullRom&&t.catmullRom.parametrization&&("uniform"==t.catmullRom.parametrization?this.options.catmullRom.alpha=0:"chordal"==t.catmullRom.parametrization?this.options.catmullRom.alpha=1:(this.options.catmullRom.parametrization="centripetal",this.options.catmullRom.alpha=.5)),this.yAxisLeft&&void 0!==t.dataAxis&&(this.yAxisLeft.setOptions(this.options.dataAxis),this.yAxisRight.setOptions(this.options.dataAxis)),this.legendLeft&&void 0!==t.legend&&(this.legendLeft.setOptions(this.options.legend),this.legendRight.setOptions(this.options.legend)),this.groups.hasOwnProperty(p)&&this.groups[p].setOptions(t)}this.dom.frame&&this._updateGraph()},s.prototype.hide=function(){this.dom.frame.parentNode&&this.dom.frame.parentNode.removeChild(this.dom.frame)},s.prototype.show=function(){this.dom.frame.parentNode||this.body.dom.center.appendChild(this.dom.frame)},s.prototype.setItems=function(t){var e,i=this,s=this.itemsData;if(t){if(!(t instanceof r||t instanceof a))throw new TypeError("Data must be an instance of DataSet or DataView");this.itemsData=t}else this.itemsData=null;if(s&&(o.forEach(this.itemListeners,function(t,e){s.off(e,t)}),e=s.getIds(),this._onRemove(e)),this.itemsData){var n=this.id;o.forEach(this.itemListeners,function(t,e){i.itemsData.on(e,t,n)}),e=this.itemsData.getIds(),this._onAdd(e)}this._updateUngrouped(),this._updateGraph(),this.redraw()},s.prototype.setGroups=function(t){var e,i=this;if(this.groupsData&&(o.forEach(this.groupListeners,function(t,e){i.groupsData.unsubscribe(e,t)}),e=this.groupsData.getIds(),this.groupsData=null,this._onRemoveGroups(e)),t){if(!(t instanceof r||t instanceof a))throw new TypeError("Data must be an instance of DataSet or DataView");this.groupsData=t}else this.groupsData=null;if(this.groupsData){var s=this.id;o.forEach(this.groupListeners,function(t,e){i.groupsData.on(e,t,s)}),e=this.groupsData.getIds(),this._onAddGroups(e)}this._onUpdate()},s.prototype._onUpdate=function(){this._updateUngrouped(),this._updateAllGroupData(),this._updateGraph(),this.redraw()},s.prototype._onAdd=function(t){this._onUpdate(t)},s.prototype._onRemove=function(t){this._onUpdate(t)},s.prototype._onUpdateGroups=function(t){for(var e=0;e0){var d=this.body.util.toGlobalTime(-this.body.domProps.root.width),l=this.body.util.toGlobalTime(2*this.body.domProps.root.width),c={};for(this._getRelevantData(a,c,d,l),e=0;e0)for(r=0;rs){d.push(h);break}d.push(h)}}else for(a=0;ai&&h.x0)for(var s=0;s0){var n=1,r=o.length,a=this.body.util.toGlobalScreen(o[o.length-1].x)-this.body.util.toGlobalScreen(o[0].x),h=r/a;n=Math.min(Math.ceil(.2*r),Math.max(1,Math.round(h)));for(var d=[],l=0;r>l;l+=n)d.push(o[l]);e[t[s]]=d}}},s.prototype._getYRanges=function(t,e,i){var s,o,n,r,a,h=[],d=[];if(t.length>0){for(n=0;n0)if(o=this.groups[t[n]],"line"==o.options.style||"stack"!=o.options.barChart.handleOverlap){var l=s[0].y,c=s[0].y;for(r=0;rs[r].y?s[r].y:l,c=c0&&(h.sort(function(t,e){return t.x==e.x?t.groupId-e.groupId:t.x-e.x}),p={},this._getDataIntersections(p,h),i.__barchartLeft=this._getStackedBarYRange(p,h),i.__barchartLeft.yAxisOrientation="left",t.push("__barchartLeft")),d.length>0&&(d.sort(function(t,e){return t.x==e.x?t.groupId-e.groupId:t.x-e.x}),p={},this._getDataIntersections(p,d),i.__barchartRight=this._getStackedBarYRange(p,d),i.__barchartRight.yAxisOrientation="right",t.push("__barchartRight"))}},s.prototype._getStackedBarYRange=function(t,e){for(var i,s=e[0].y,o=e[0].y,n=0;ne[n].y?e[n].y:s,o=ot[r].accumulated?t[r].accumulated:s,o=o0){for(var c=0;ci?i:a,d=s>d?s:d):(r=!0,h=h>i?i:h,l=s>l?s:l));1==n&&this.yAxisLeft.setRange(a,d),1==r&&this.yAxisRight.setRange(h,l)}return o=this._toggleAxisVisiblity(n,this.yAxisLeft)||o,o=this._toggleAxisVisiblity(r,this.yAxisRight)||o,1==r&&1==n?(this.yAxisLeft.drawIcons=!0,this.yAxisRight.drawIcons=!0):(this.yAxisLeft.drawIcons=!1,this.yAxisRight.drawIcons=!1),this.yAxisRight.master=!n,0==this.yAxisRight.master?(this.yAxisLeft.lineOffset=1==r?this.yAxisRight.width:0,o=this.yAxisLeft.redraw()||o,this.yAxisRight.stepPixelsForced=this.yAxisLeft.stepPixels,o=this.yAxisRight.redraw()||o):o=this.yAxisRight.redraw()||o,-1!=t.indexOf("__barchartLeft")&&t.splice(t.indexOf("__barchartLeft"),1),-1!=t.indexOf("__barchartRight")&&t.splice(t.indexOf("__barchartRight"),1),o},s.prototype._toggleAxisVisiblity=function(t,e){var i=!1;return 0==t?e.dom.frame.parentNode&&(e.hide(),i=!0):e.dom.frame.parentNode||(e.show(),i=!0),i},s.prototype._drawBarGraphs=function(t,e){var i,s,o,r,a,h,d=[],l={},c=0;for(a=0;a0&&(i=Math.min(i,Math.abs(d[a-1].x-s))),o=this._getSafeDrawData(i,r,p);else{var f=a+(l[s].amount-l[s].resolved),m=a-(l[s].resolved+1); +f0&&(i=Math.min(i,Math.abs(d[m].x-s))),o=this._getSafeDrawData(i,r,p),l[s].resolved+=1,"stack"==r.options.barChart.handleOverlap?(u=l[s].accumulated,l[s].accumulated+=r.zeroPosition-d[a].y):"sideBySide"==r.options.barChart.handleOverlap&&(o.width=o.width/l[s].amount,o.offset+=l[s].resolved*o.width-.5*o.width*(l[s].amount+1),"left"==r.options.barChart.align?o.offset-=.5*o.width:"right"==r.options.barChart.align&&(o.offset+=.5*o.width))}n.drawBar(d[a].x+o.offset,d[a].y-u,o.width,r.zeroPosition-d[a].y,r.className+" bar",this.svgElements,this.svg),1==r.options.drawPoints.enabled&&n.drawPoint(d[a].x+o.offset,d[a].y-u,r,this.svgElements,this.svg)}},s.prototype._getDataIntersections=function(t,e){for(var i,s=0;s0&&(i=Math.min(i,Math.abs(e[s-1].x-e[s].x))),0==i&&(void 0===t[e[s].x]&&(t[e[s].x]={amount:0,resolved:0,accumulated:0}),t[e[s].x].amount+=1)},s.prototype._getSafeDrawData=function(t,e,i){var s,o;return t0?(s=i>t?i:t,o=0,"left"==e.options.barChart.align?o-=.5*t:"right"==e.options.barChart.align&&(o+=.5*t)):(s=e.options.barChart.width,o=0,"left"==e.options.barChart.align?o-=.5*e.options.barChart.width:"right"==e.options.barChart.align&&(o+=.5*e.options.barChart.width)),{width:s,offset:o}},s.prototype._drawLineGraph=function(t,e){if(null!=t&&t.length>0){var i,s,o=Number(this.svg.style.height.replace("px",""));if(i=n.getSVGElement("path",this.svgElements,this.svg),i.setAttributeNS(null,"class",e.className),s=1==e.options.catmullRom.enabled?this._catmullRom(t,e):this._linear(t),1==e.options.shaded.enabled){var r,a=n.getSVGElement("path",this.svgElements,this.svg);r="top"==e.options.shaded.orientation?"M"+t[0].x+",0 "+s+"L"+t[t.length-1].x+",0":"M"+t[0].x+","+o+" "+s+"L"+t[t.length-1].x+","+o,a.setAttributeNS(null,"class",e.className+" fill"),a.setAttributeNS(null,"d",r)}i.setAttributeNS(null,"d","M"+s),1==e.options.drawPoints.enabled&&this._drawPoints(t,e,this.svgElements,this.svg)}},s.prototype._drawPoints=function(t,e,i,s,o){void 0===o&&(o=0);for(var r=0;rl;l++)e=0==l?t[0]:t[l-1],i=t[l],s=t[l+1],o=d>l+2?t[l+2]:s,n={x:(-e.x+6*i.x+s.x)*h,y:(-e.y+6*i.y+s.y)*h},r={x:(i.x+6*s.x-o.x)*h,y:(i.y+6*s.y-o.y)*h},a+="C"+n.x+","+n.y+" "+r.x+","+r.y+" "+s.x+","+s.y+" ";return a},s.prototype._catmullRom=function(t,e){var i=e.options.catmullRom.alpha;if(0==i||void 0===i)return this._catmullRomUniform(t);for(var s,o,n,r,a,h,d,l,c,p,u,f,m,g,v,y,b,_,x,w=Math.round(t[0].x)+","+Math.round(t[0].y)+" ",S=t.length,D=0;S-1>D;D++)s=0==D?t[0]:t[D-1],o=t[D],n=t[D+1],r=S>D+2?t[D+2]:n,d=Math.sqrt(Math.pow(s.x-o.x,2)+Math.pow(s.y-o.y,2)),l=Math.sqrt(Math.pow(o.x-n.x,2)+Math.pow(o.y-n.y,2)),c=Math.sqrt(Math.pow(n.x-r.x,2)+Math.pow(n.y-r.y,2)),g=Math.pow(c,i),y=Math.pow(c,2*i),v=Math.pow(l,i),b=Math.pow(l,2*i),x=Math.pow(d,i),_=Math.pow(d,2*i),p=2*_+3*x*v+b,u=2*y+3*g*v+b,f=3*x*(x+v),f>0&&(f=1/f),m=3*g*(g+v),m>0&&(m=1/m),a={x:(-b*s.x+p*o.x+_*n.x)*f,y:(-b*s.y+p*o.y+_*n.y)*f},h={x:(y*o.x+u*n.x-b*r.x)*m,y:(y*o.y+u*n.y-b*r.y)*m},0==a.x&&0==a.y&&(a=o),0==h.x&&0==h.y&&(h=n),w+="C"+a.x+","+a.y+" "+h.x+","+h.y+" "+n.x+","+n.y+" ";return w},s.prototype._linear=function(t){for(var e="",i=0;ic;){c++;var p=h.getCurrent(),u=this.body.util.toScreen(p),f=h.isMajor();this.options.showMinorLabels&&this._repaintMinorText(u,h.getLabelMinor(),t),f&&this.options.showMajorLabels?(u>0&&(void 0==l&&(l=u),this._repaintMajorText(u,h.getLabelMajor(),t)),this._repaintMajorLine(u,t)):this._repaintMinorLine(u,t),h.next()}if(this.options.showMajorLabels){var m=this.body.util.toTime(0),g=h.getLabelMajor(m),v=g.length*(this.props.majorCharWidth||10)+10;(void 0==l||l>v)&&this._repaintMajorText(0,g,t)}o.forEach(this.dom.redundant,function(t){for(;t.length;){var e=t.pop();e&&e.parentNode&&e.parentNode.removeChild(e)}})},s.prototype._repaintMinorText=function(t,e,i){var s=this.dom.redundant.minorTexts.shift();if(!s){var o=document.createTextNode("");s=document.createElement("div"),s.appendChild(o),s.className="text minor",this.dom.foreground.appendChild(s)}this.dom.minorTexts.push(s),s.childNodes[0].nodeValue=e,s.style.top="top"==i?this.props.majorLabelHeight+"px":"0",s.style.left=t+"px"},s.prototype._repaintMajorText=function(t,e,i){var s=this.dom.redundant.majorTexts.shift();if(!s){var o=document.createTextNode(e);s=document.createElement("div"),s.className="text major",s.appendChild(o),this.dom.foreground.appendChild(s)}this.dom.majorTexts.push(s),s.childNodes[0].nodeValue=e,s.style.top="top"==i?"0":this.props.minorLabelHeight+"px",s.style.left=t+"px"},s.prototype._repaintMinorLine=function(t,e){var i=this.dom.redundant.minorLines.shift();i||(i=document.createElement("div"),i.className="grid vertical minor",this.dom.background.appendChild(i)),this.dom.minorLines.push(i);var s=this.props;i.style.top="top"==e?s.majorLabelHeight+"px":this.body.domProps.top.height+"px",i.style.height=s.minorLineHeight+"px",i.style.left=t-s.minorLineWidth/2+"px"},s.prototype._repaintMajorLine=function(t,e){var i=this.dom.redundant.majorLines.shift();i||(i=document.createElement("DIV"),i.className="grid vertical major",this.dom.background.appendChild(i)),this.dom.majorLines.push(i);var s=this.props;i.style.top="top"==e?"0":this.body.domProps.top.height+"px",i.style.left=t-s.majorLineWidth/2+"px",i.style.height=s.majorLineHeight+"px"},s.prototype._calculateCharSize=function(){this.dom.measureCharMinor||(this.dom.measureCharMinor=document.createElement("DIV"),this.dom.measureCharMinor.className="text minor measure",this.dom.measureCharMinor.style.position="absolute",this.dom.measureCharMinor.appendChild(document.createTextNode("0")),this.dom.foreground.appendChild(this.dom.measureCharMinor)),this.props.minorCharHeight=this.dom.measureCharMinor.clientHeight,this.props.minorCharWidth=this.dom.measureCharMinor.clientWidth,this.dom.measureCharMajor||(this.dom.measureCharMajor=document.createElement("DIV"),this.dom.measureCharMajor.className="text major measure",this.dom.measureCharMajor.style.position="absolute",this.dom.measureCharMajor.appendChild(document.createTextNode("0")),this.dom.foreground.appendChild(this.dom.measureCharMajor)),this.props.majorCharHeight=this.dom.measureCharMajor.clientHeight,this.props.majorCharWidth=this.dom.measureCharMajor.clientWidth},s.prototype.snap=function(t){return this.step.snap(t)},t.exports=s},function(t,e,i){function s(t,e,i){this.id=null,this.parent=null,this.data=t,this.dom=null,this.conversion=e||{},this.options=i||{},this.selected=!1,this.displayed=!1,this.dirty=!0,this.top=null,this.left=null,this.width=null,this.height=null}var o=i(45),n=i(1);s.prototype.stack=!0,s.prototype.select=function(){this.selected=!0,this.dirty=!0,this.displayed&&this.redraw()},s.prototype.unselect=function(){this.selected=!1,this.dirty=!0,this.displayed&&this.redraw()},s.prototype.setData=function(t){this.data=t,this.dirty=!0,this.displayed&&this.redraw()},s.prototype.setParent=function(t){this.displayed?(this.hide(),this.parent=t,this.parent&&this.show()):this.parent=t},s.prototype.isVisible=function(){return!1},s.prototype.show=function(){return!1},s.prototype.hide=function(){return!1},s.prototype.redraw=function(){},s.prototype.repositionX=function(){},s.prototype.repositionY=function(){},s.prototype._repaintDeleteButton=function(t){if(this.selected&&this.options.editable.remove&&!this.dom.deleteButton){var e=this,i=document.createElement("div");i.className="delete",i.title="Delete this item",o(i,{preventDefault:!0}).on("tap",function(t){e.parent.removeFromDataSet(e),t.stopPropagation()}),t.appendChild(i),this.dom.deleteButton=i}else!this.selected&&this.dom.deleteButton&&(this.dom.deleteButton.parentNode&&this.dom.deleteButton.parentNode.removeChild(this.dom.deleteButton),this.dom.deleteButton=null)},s.prototype._updateContents=function(t){var e;if(this.options.template){var i=this.parent.itemSet.itemsData.get(this.id);e=this.options.template(i)}else e=this.data.content;if(e!==this.content){if(e instanceof Element)t.innerHTML="",t.appendChild(e);else if(void 0!=e)t.innerHTML=e;else if("background"!=this.data.type||void 0!==this.data.content)throw new Error('Property "content" missing in item '+this.id);this.content=e}},s.prototype._updateTitle=function(t){null!=this.data.title?t.title=this.data.title||"":t.removeAttribute("title")},s.prototype._updateDataAttributes=function(t){if(this.options.dataAttributes&&this.options.dataAttributes.length>0){var e=[];if(Array.isArray(this.options.dataAttributes))e=this.options.dataAttributes;else{if("all"!=this.options.dataAttributes)return;e=Object.keys(this.data)}for(var i=0;it.start},s.prototype.redraw=function(){var t=this.dom;if(t||(this.dom={},t=this.dom,t.box=document.createElement("div"),t.content=document.createElement("div"),t.content.className="content",t.box.appendChild(t.content),t.box["timeline-item"]=this,this.dirty=!0),!this.parent)throw new Error("Cannot redraw item: no parent attached");if(!t.box.parentNode){var e=this.parent.dom.background;if(!e)throw new Error("Cannot redraw item: parent has no background container element");e.appendChild(t.box)}if(this.displayed=!0,this.dirty){this._updateContents(this.dom.content),this._updateTitle(this.dom.content),this._updateDataAttributes(this.dom.content),this._updateStyle(this.dom.box);var i=(this.data.className?" "+this.data.className:"")+(this.selected?" selected":"");t.box.className=this.baseClassName+i,this.overflow="hidden"!==window.getComputedStyle(t.content).overflow,this.props.content.width=this.dom.content.offsetWidth,this.height=0,this.dirty=!1}},s.prototype.show=r.prototype.show,s.prototype.hide=r.prototype.hide,s.prototype.repositionX=r.prototype.repositionX,s.prototype.repositionY=function(t){var e="top"===this.options.orientation;this.dom.content.style.top=e?"":"0",this.dom.content.style.bottom=e?"0":"";var i;if(void 0!==this.data.subgroup){var s=this.data.subgroup,o=this.parent.subgroups,r=o[s].index;if(1==e){i=this.parent.subgroups[s].height+t.item.vertical,i+=0==r?t.axis-.5*t.item.vertical:0;var a=this.parent.top;for(var h in o)o.hasOwnProperty(h)&&1==o[h].visible&&o[h].indexr&&(a+=o[h].height+t.item.vertical);i=this.parent.subgroups[s].height+t.item.vertical,this.dom.box.style.top=a+"px",this.dom.box.style.bottom=""}}else this.parent instanceof n?(i=Math.max(this.parent.height,this.parent.itemSet.body.domProps.centerContainer.height),this.dom.box.style.top=e?"0":"",this.dom.box.style.bottom=e?"":"0"):(i=this.parent.height,this.dom.box.style.top=this.parent.top+"px",this.dom.box.style.bottom="");this.dom.box.style.height=i+"px"},t.exports=s},function(t,e,i){function s(t,e,i){if(this.props={dot:{width:0,height:0},line:{width:0,height:0}},t&&void 0==t.start)throw new Error('Property "start" missing in item '+t);o.call(this,t,e,i)}{var o=i(31);i(1)}s.prototype=new o(null,null,null),s.prototype.isVisible=function(t){var e=(t.end-t.start)/4;return this.data.start>t.start-e&&this.data.startt.start-e&&this.data.startt.start},s.prototype.redraw=function(){var t=this.dom;if(t||(this.dom={},t=this.dom,t.box=document.createElement("div"),t.content=document.createElement("div"),t.content.className="content",t.box.appendChild(t.content),t.box["timeline-item"]=this,this.dirty=!0),!this.parent)throw new Error("Cannot redraw item: no parent attached");if(!t.box.parentNode){var e=this.parent.dom.foreground;if(!e)throw new Error("Cannot redraw item: parent has no foreground container element");e.appendChild(t.box)}if(this.displayed=!0,this.dirty){this._updateContents(this.dom.content),this._updateTitle(this.dom.box),this._updateDataAttributes(this.dom.box),this._updateStyle(this.dom.box);var i=(this.data.className?" "+this.data.className:"")+(this.selected?" selected":"");t.box.className=this.baseClassName+i,this.overflow="hidden"!==window.getComputedStyle(t.content).overflow,this.props.content.width=this.dom.content.offsetWidth,this.height=this.dom.box.offsetHeight,this.dirty=!1}this._repaintDeleteButton(t.box),this._repaintDragLeft(),this._repaintDragRight()},s.prototype.show=function(){this.displayed||this.redraw()},s.prototype.hide=function(){if(this.displayed){var t=this.dom.box;t.parentNode&&t.parentNode.removeChild(t),this.top=null,this.left=null,this.displayed=!1}},s.prototype.repositionX=function(){var t,e,i=this.parent.width,s=this.conversion.toScreen(this.data.start),o=this.conversion.toScreen(this.data.end);-i>s&&(s=-i),o>2*i&&(o=2*i);var n=Math.max(o-s,1);switch(this.overflow?(this.left=s,this.width=n+this.props.content.width,e=this.props.content.width):(this.left=s,this.width=n,e=Math.min(o-s,this.props.content.width)),this.dom.box.style.left=this.left+"px",this.dom.box.style.width=n+"px",this.options.align){case"left":this.dom.content.style.left="0";break;case"right":this.dom.content.style.left=Math.max(n-e-2*this.options.padding,0)+"px";break;case"center":this.dom.content.style.left=Math.max((n-e-2*this.options.padding)/2,0)+"px";break;default:t=this.overflow?Math.max(-s,0):0>s?Math.min(-s,o-s-this.props.content.width-2*this.options.padding):0,this.dom.content.style.left=t+"px"}},s.prototype.repositionY=function(){var t=this.options.orientation,e=this.dom.box;e.style.top="top"==t?this.top+"px":this.parent.height-this.top-this.height+"px"},s.prototype._repaintDragLeft=function(){if(this.selected&&this.options.editable.updateTime&&!this.dom.dragLeft){var t=document.createElement("div");t.className="drag-left",t.dragLeftItem=this,o(t,{preventDefault:!0}).on("drag",function(){}),this.dom.box.appendChild(t),this.dom.dragLeft=t}else!this.selected&&this.dom.dragLeft&&(this.dom.dragLeft.parentNode&&this.dom.dragLeft.parentNode.removeChild(this.dom.dragLeft),this.dom.dragLeft=null)},s.prototype._repaintDragRight=function(){if(this.selected&&this.options.editable.updateTime&&!this.dom.dragRight){var t=document.createElement("div");t.className="drag-right",t.dragRightItem=this,o(t,{preventDefault:!0}).on("drag",function(){}),this.dom.box.appendChild(t),this.dom.dragRight=t}else!this.selected&&this.dom.dragRight&&(this.dom.dragRight.parentNode&&this.dom.dragRight.parentNode.removeChild(this.dom.dragRight),this.dom.dragRight=null)},t.exports=s},function(t,e,i){function s(t,e,i){if(!(this instanceof s))throw new SyntaxError("Constructor must be called with the new operator");this._initializeMixinLoaders(),this.containerElement=t,this.renderRefreshRate=60,this.renderTimestep=1e3/this.renderRefreshRate,this.renderTime=.5*this.renderTimestep,this.maxPhysicsTicksPerRender=3,this.physicsDiscreteStepsize=.5,this.initializing=!0,this.triggerFunctions={add:null,edit:null,editEdge:null,connect:null,del:null},this.defaultOptions={nodes:{mass:1,radiusMin:10,radiusMax:30,radius:10,shape:"ellipse",image:void 0,widthMin:16,widthMax:64,fontColor:"black",fontSize:14,fontFace:"verdana",fontFill:void 0,level:-1,color:{border:"#2B7CE9",background:"#97C2FC",highlight:{border:"#2B7CE9",background:"#D2E5FF"},hover:{border:"#2B7CE9",background:"#D2E5FF"}},borderColor:"#2B7CE9",backgroundColor:"#97C2FC",highlightColor:"#D2E5FF",group:void 0,borderWidth:1,borderWidthSelected:void 0},edges:{widthMin:1,widthMax:15,width:1,widthSelectionMultiplier:2,hoverWidth:1.5,style:"line",color:{color:"#848484",highlight:"#848484",hover:"#848484"},fontColor:"#343434",fontSize:14,fontFace:"arial",fontFill:"white",arrowScaleFactor:1,dash:{length:10,gap:5,altLength:void 0},inheritColor:"from"},configurePhysics:!1,physics:{barnesHut:{enabled:!0,theta:1/.6,gravitationalConstant:-2e3,centralGravity:.3,springLength:95,springConstant:.04,damping:.09},repulsion:{centralGravity:0,springLength:200,springConstant:.05,nodeDistance:100,damping:.09},hierarchicalRepulsion:{enabled:!1,centralGravity:0,springLength:100,springConstant:.01,nodeDistance:150,damping:.09},damping:null,centralGravity:null,springLength:null,springConstant:null},clustering:{enabled:!1,initialMaxNodes:100,clusterThreshold:500,reduceToNodes:300,chainThreshold:.4,clusterEdgeThreshold:20,sectorThreshold:100,screenSizeThreshold:.2,fontSizeMultiplier:4,maxFontSize:1e3,forceAmplification:.1,distanceAmplification:.1,edgeGrowth:20,nodeScaling:{width:1,height:1,radius:1},maxNodeSizeIncrements:600,activeAreaBoxSize:80,clusterLevelDifference:2},navigation:{enabled:!1},keyboard:{enabled:!1,speed:{x:10,y:10,zoom:.02}},dataManipulation:{enabled:!1,initiallyVisible:!1},hierarchicalLayout:{enabled:!1,levelSeparation:150,nodeSpacing:100,direction:"UD",layout:"hubsize"},freezeForStabilization:!1,smoothCurves:{enabled:!0,dynamic:!0,type:"continuous",roundness:.5},dynamicSmoothCurves:!0,maxVelocity:30,minVelocity:.1,stabilize:!0,stabilizationIterations:1e3,locale:"en",locales:_,tooltip:{delay:300,fontColor:"black",fontSize:14,fontFace:"verdana",color:{border:"#666",background:"#FFFFC6"}},dragNetwork:!0,dragNodes:!0,zoomable:!0,hover:!1,hideEdgesOnDrag:!1,hideNodesOnDrag:!1,width:"100%",height:"100%",selectable:!0},this.constants=a.extend({},this.defaultOptions),this.hoverObj={nodes:{},edges:{}},this.controlNodesActive=!1,this.navigationHammers={existing:[],"new":[]},this.animationSpeed=1/this.renderRefreshRate,this.animationEasingFunction="easeInOutQuint",this.easingTime=0,this.sourceScale=0,this.targetScale=0,this.sourceTranslation=0,this.targetTranslation=0,this.lockedOnNodeId=null,this.lockedOnNodeOffset=null;var o=this;this.groups=new u,this.images=new f,this.images.setOnloadCallback(function(){o._redraw()}),this.xIncrement=0,this.yIncrement=0,this.zoomIncrement=0,this._loadPhysicsSystem(),this._create(),this._loadSectorSystem(),this._loadClusterSystem(),this._loadSelectionSystem(),this._loadHierarchySystem(),this._setTranslation(this.frame.clientWidth/2,this.frame.clientHeight/2),this._setScale(1),this.setOptions(i),this.freezeSimulation=!1,this.cachedFunctions={},this.startedStabilization=!1,this.stabilized=!1,this.stabilizationIterations=null,this.calculationNodes={},this.calculationNodeIndices=[],this.nodeIndices=[],this.nodes={},this.edges={},this.canvasTopLeft={x:0,y:0},this.canvasBottomRight={x:0,y:0},this.pointerPosition={x:0,y:0},this.areaCenter={},this.scale=1,this.previousScale=this.scale,this.nodesData=null,this.edgesData=null,this.nodesListeners={add:function(t,e){o._addNodes(e.items),o.start()},update:function(t,e){o._updateNodes(e.items,e.data),o.start()},remove:function(t,e){o._removeNodes(e.items),o.start()}},this.edgesListeners={add:function(t,e){o._addEdges(e.items),o.start()},update:function(t,e){o._updateEdges(e.items),o.start()},remove:function(t,e){o._removeEdges(e.items),o.start()}},this.moving=!0,this.timer=void 0,this.setData(e,this.constants.clustering.enabled||this.constants.hierarchicalLayout.enabled),this.initializing=!1,1==this.constants.hierarchicalLayout.enabled?this._setupHierarchicalLayout():0==this.constants.stabilize&&this.zoomExtent(void 0,!0,this.constants.clustering.enabled),this.constants.clustering.enabled&&this.startWithClustering()}var o=i(53),n=i(45),r=i(54),a=i(1),h=i(47),d=i(3),l=i(4),c=i(42),p=i(43),u=i(38),f=i(39),m=i(40),g=i(37),v=i(41),y=i(51),b=i(52),_=i(49);i(50),o(s.prototype),s.prototype._getScriptPath=function(){for(var t=document.getElementsByTagName("script"),e=0;et.x&&(s=t.x),ot.y&&(e=t.y),i=this.constants.clustering.initialMaxNodes?49.07548/(n+142.05338)+91444e-8:12.662/(n+7.4147)+.0964822:1==this.constants.clustering.enabled&&n>=this.constants.clustering.initialMaxNodes?77.5271985/(n+187.266146)+476710517e-13:30.5062972/(n+19.93597763)+.08413486;var r=Math.min(this.frame.canvas.clientWidth/600,this.frame.canvas.clientHeight/600);s*=r}else{var a=1.1*Math.abs(o.maxX-o.minX),h=1.1*Math.abs(o.maxY-o.minY),d=this.frame.canvas.clientWidth/a,l=this.frame.canvas.clientHeight/h;s=l>=d?d:l}s>1&&(s=1);var c=this._findCenter(o);if(0==i){var p={position:c,scale:s,animation:t};this.moveTo(p),this.moving=!0,this.start()}else c.x*=s,c.y*=s,c.x-=.5*this.frame.canvas.clientWidth,c.y-=.5*this.frame.canvas.clientHeight,this._setScale(s),this._setTranslation(-c.x,-c.y)},s.prototype._updateNodeIndexList=function(){this._clearNodeIndexList();for(var t in this.nodes)this.nodes.hasOwnProperty(t)&&this.nodeIndices.push(t)},s.prototype.setData=function(t,e){if(void 0===e&&(e=!1),this.initializing=!0,t&&t.dot&&(t.nodes||t.edges))throw new SyntaxError('Data must contain either parameter "dot" or parameter pair "nodes" and "edges", but not both.');if(this.setOptions(t&&t.options),t&&t.dot){if(t&&t.dot){var i=c.DOTToGraph(t.dot);return void this.setData(i)}}else if(t&&t.gephi){if(t&&t.gephi){var s=p.parseGephi(t.gephi);return void this.setData(s)}}else this._setNodes(t&&t.nodes),this._setEdges(t&&t.edges);this._putDataInSector(),0==e&&(1==this.constants.hierarchicalLayout.enabled?(this._resetLevels(),this._setupHierarchicalLayout()):this.constants.stabilize&&this._stabilize(),this.start()),this.initializing=!1},s.prototype.setOptions=function(t){if(t){var e,i=["nodes","edges","smoothCurves","hierarchicalLayout","clustering","navigation","keyboard","dataManipulation","onAdd","onEdit","onEditEdge","onConnect","onDelete","clickToUse"];if(a.selectiveNotDeepExtend(i,this.constants,t),a.selectiveNotDeepExtend(["color"],this.constants.nodes,t.nodes),a.selectiveNotDeepExtend(["color","length"],this.constants.edges,t.edges),t.physics&&(a.mergeOptions(this.constants.physics,t.physics,"barnesHut"),a.mergeOptions(this.constants.physics,t.physics,"repulsion"),t.physics.hierarchicalRepulsion)){this.constants.hierarchicalLayout.enabled=!0,this.constants.physics.hierarchicalRepulsion.enabled=!0,this.constants.physics.barnesHut.enabled=!1; +for(e in t.physics.hierarchicalRepulsion)t.physics.hierarchicalRepulsion.hasOwnProperty(e)&&(this.constants.physics.hierarchicalRepulsion[e]=t.physics.hierarchicalRepulsion[e])}if(t.onAdd&&(this.triggerFunctions.add=t.onAdd),t.onEdit&&(this.triggerFunctions.edit=t.onEdit),t.onEditEdge&&(this.triggerFunctions.editEdge=t.onEditEdge),t.onConnect&&(this.triggerFunctions.connect=t.onConnect),t.onDelete&&(this.triggerFunctions.del=t.onDelete),a.mergeOptions(this.constants,t,"smoothCurves"),a.mergeOptions(this.constants,t,"hierarchicalLayout"),a.mergeOptions(this.constants,t,"clustering"),a.mergeOptions(this.constants,t,"navigation"),a.mergeOptions(this.constants,t,"keyboard"),a.mergeOptions(this.constants,t,"dataManipulation"),t.dataManipulation&&(this.editMode=this.constants.dataManipulation.initiallyVisible),t.edges&&(void 0!==t.edges.color&&(a.isString(t.edges.color)?(this.constants.edges.color={},this.constants.edges.color.color=t.edges.color,this.constants.edges.color.highlight=t.edges.color,this.constants.edges.color.hover=t.edges.color):(void 0!==t.edges.color.color&&(this.constants.edges.color.color=t.edges.color.color),void 0!==t.edges.color.highlight&&(this.constants.edges.color.highlight=t.edges.color.highlight),void 0!==t.edges.color.hover&&(this.constants.edges.color.hover=t.edges.color.hover))),t.edges.fontColor||void 0!==t.edges.color&&(a.isString(t.edges.color)?this.constants.edges.fontColor=t.edges.color:void 0!==t.edges.color.color&&(this.constants.edges.fontColor=t.edges.color.color))),t.nodes&&t.nodes.color){var s=a.parseColor(t.nodes.color);this.constants.nodes.color.background=s.background,this.constants.nodes.color.border=s.border,this.constants.nodes.color.highlight.background=s.highlight.background,this.constants.nodes.color.highlight.border=s.highlight.border,this.constants.nodes.color.hover.background=s.hover.background,this.constants.nodes.color.hover.border=s.hover.border}if(t.groups)for(var o in t.groups)if(t.groups.hasOwnProperty(o)){var n=t.groups[o];this.groups.add(o,n)}if(t.tooltip){for(e in t.tooltip)t.tooltip.hasOwnProperty(e)&&(this.constants.tooltip[e]=t.tooltip[e]);t.tooltip.color&&(this.constants.tooltip.color=a.parseColor(t.tooltip.color))}if("clickToUse"in t&&(t.clickToUse?(this.activator=new b(this.frame),this.activator.on("change",this._createKeyBinds.bind(this))):this.activator&&(this.activator.destroy(),delete this.activator)),t.labels)throw new Error('Option "labels" is deprecated. Use options "locale" and "locales" instead.')}this._loadPhysicsSystem(),this._loadNavigationControls(),this._loadManipulationSystem(),this._configureSmoothCurves(),this._createKeyBinds(),this.setSize(this.constants.width,this.constants.height),this.moving=!0,this.start()},s.prototype._create=function(){for(;this.containerElement.hasChildNodes();)this.containerElement.removeChild(this.containerElement.firstChild);if(this.frame=document.createElement("div"),this.frame.className="vis network-frame",this.frame.style.position="relative",this.frame.style.overflow="hidden",this.frame.canvas=document.createElement("canvas"),this.frame.canvas.style.position="relative",this.frame.appendChild(this.frame.canvas),!this.frame.canvas.getContext){var t=document.createElement("DIV");t.style.color="red",t.style.fontWeight="bold",t.style.padding="10px",t.innerHTML="Error: your browser does not support HTML canvas",this.frame.canvas.appendChild(t)}var e=this;this.drag={},this.pinch={},this.hammer=n(this.frame.canvas,{prevent_default:!0}),this.hammer.on("tap",e._onTap.bind(e)),this.hammer.on("doubletap",e._onDoubleTap.bind(e)),this.hammer.on("hold",e._onHold.bind(e)),this.hammer.on("pinch",e._onPinch.bind(e)),this.hammer.on("touch",e._onTouch.bind(e)),this.hammer.on("dragstart",e._onDragStart.bind(e)),this.hammer.on("drag",e._onDrag.bind(e)),this.hammer.on("dragend",e._onDragEnd.bind(e)),this.hammer.on("release",e._onRelease.bind(e)),this.hammer.on("mousewheel",e._onMouseWheel.bind(e)),this.hammer.on("DOMMouseScroll",e._onMouseWheel.bind(e)),this.hammer.on("mousemove",e._onMouseMoveTitle.bind(e)),this.containerElement.appendChild(this.frame)},s.prototype._createKeyBinds=function(){var t=this;this.mousetrap=r,this.mousetrap.reset(),this.constants.keyboard.enabled&&this.isActive()&&(this.mousetrap.bind("up",this._moveUp.bind(t),"keydown"),this.mousetrap.bind("up",this._yStopMoving.bind(t),"keyup"),this.mousetrap.bind("down",this._moveDown.bind(t),"keydown"),this.mousetrap.bind("down",this._yStopMoving.bind(t),"keyup"),this.mousetrap.bind("left",this._moveLeft.bind(t),"keydown"),this.mousetrap.bind("left",this._xStopMoving.bind(t),"keyup"),this.mousetrap.bind("right",this._moveRight.bind(t),"keydown"),this.mousetrap.bind("right",this._xStopMoving.bind(t),"keyup"),this.mousetrap.bind("=",this._zoomIn.bind(t),"keydown"),this.mousetrap.bind("=",this._stopZoom.bind(t),"keyup"),this.mousetrap.bind("-",this._zoomOut.bind(t),"keydown"),this.mousetrap.bind("-",this._stopZoom.bind(t),"keyup"),this.mousetrap.bind("[",this._zoomIn.bind(t),"keydown"),this.mousetrap.bind("[",this._stopZoom.bind(t),"keyup"),this.mousetrap.bind("]",this._zoomOut.bind(t),"keydown"),this.mousetrap.bind("]",this._stopZoom.bind(t),"keyup"),this.mousetrap.bind("pageup",this._zoomIn.bind(t),"keydown"),this.mousetrap.bind("pageup",this._stopZoom.bind(t),"keyup"),this.mousetrap.bind("pagedown",this._zoomOut.bind(t),"keydown"),this.mousetrap.bind("pagedown",this._stopZoom.bind(t),"keyup")),1==this.constants.dataManipulation.enabled&&(this.mousetrap.bind("escape",this._createManipulatorBar.bind(t)),this.mousetrap.bind("del",this._deleteSelected.bind(t)))},s.prototype._getPointer=function(t){return{x:t.pageX-a.getAbsoluteLeft(this.frame.canvas),y:t.pageY-a.getAbsoluteTop(this.frame.canvas)}},s.prototype._onTouch=function(t){this.drag.pointer=this._getPointer(t.gesture.center),this.drag.pinched=!1,this.pinch.scale=this._getScale(),this._handleTouch(this.drag.pointer)},s.prototype._onDragStart=function(){this._handleDragStart()},s.prototype._handleDragStart=function(){var t=this.drag,e=this._getNodeAt(t.pointer);if(t.dragging=!0,t.selection=[],t.translation=this._getTranslation(),t.nodeId=null,null!=e&&1==this.constants.dragNodes){t.nodeId=e.id,e.isSelected()||this._selectObject(e,!1),this.emit("dragStart",{nodeIds:this.getSelection().nodes});for(var i in this.selectionObj.nodes)if(this.selectionObj.nodes.hasOwnProperty(i)){var s=this.selectionObj.nodes[i],o={id:s.id,node:s,x:s.x,y:s.y,xFixed:s.xFixed,yFixed:s.yFixed};s.xFixed=!0,s.yFixed=!0,t.selection.push(o)}}},s.prototype._onDrag=function(t){this._handleOnDrag(t)},s.prototype._handleOnDrag=function(t){if(!this.drag.pinched){this.releaseNode();var e=this._getPointer(t.gesture.center),i=this,s=this.drag,o=s.selection;if(o&&o.length&&1==this.constants.dragNodes){var n=e.x-s.pointer.x,r=e.y-s.pointer.y;o.forEach(function(t){var e=t.node;t.xFixed||(e.x=i._XconvertDOMtoCanvas(i._XconvertCanvasToDOM(t.x)+n)),t.yFixed||(e.y=i._YconvertDOMtoCanvas(i._YconvertCanvasToDOM(t.y)+r))}),this.moving||(this.moving=!0,this.start())}else if(1==this.constants.dragNetwork){var a=e.x-this.drag.pointer.x,h=e.y-this.drag.pointer.y;this._setTranslation(this.drag.translation.x+a,this.drag.translation.y+h),this._redraw()}}},s.prototype._onDragEnd=function(t){this._handleDragEnd(t)},s.prototype._handleDragEnd=function(){this.drag.dragging=!1;var t=this.drag.selection;t&&t.length?(t.forEach(function(t){t.node.xFixed=t.xFixed,t.node.yFixed=t.yFixed}),this.moving=!0,this.start()):this._redraw(),this.emit("dragEnd",{nodeIds:this.getSelection().nodes})},s.prototype._onTap=function(t){var e=this._getPointer(t.gesture.center);this.pointerPosition=e,this._handleTap(e)},s.prototype._onDoubleTap=function(t){var e=this._getPointer(t.gesture.center);this._handleDoubleTap(e)},s.prototype._onHold=function(t){var e=this._getPointer(t.gesture.center);this.pointerPosition=e,this._handleOnHold(e)},s.prototype._onRelease=function(t){var e=this._getPointer(t.gesture.center);this._handleOnRelease(e)},s.prototype._onPinch=function(t){var e=this._getPointer(t.gesture.center);this.drag.pinched=!0,"scale"in this.pinch||(this.pinch.scale=1);var i=this.pinch.scale*t.gesture.scale;this._zoom(i,e)},s.prototype._zoom=function(t,e){if(1==this.constants.zoomable){var i=this._getScale();1e-5>t&&(t=1e-5),t>10&&(t=10);var s=null;void 0!==this.drag&&1==this.drag.dragging&&(s=this.DOMtoCanvas(this.drag.pointer));var o=this._getTranslation(),n=t/i,r=(1-n)*e.x+o.x*n,a=(1-n)*e.y+o.y*n;if(this.areaCenter={x:this._XconvertDOMtoCanvas(e.x),y:this._YconvertDOMtoCanvas(e.y)},this._setScale(t),this._setTranslation(r,a),this.updateClustersDefault(),null!=s){var h=this.canvasToDOM(s);this.drag.pointer.x=h.x,this.drag.pointer.y=h.y}return this._redraw(),t>i?this.emit("zoom",{direction:"+"}):this.emit("zoom",{direction:"-"}),t}},s.prototype._onMouseWheel=function(t){var e=0;if(t.wheelDelta?e=t.wheelDelta/120:t.detail&&(e=-t.detail/3),e){var i=this._getScale(),s=e/10;0>e&&(s/=1-s),i*=1+s;var o=h.fakeGesture(this,t),n=this._getPointer(o.center);this._zoom(i,n)}t.preventDefault()},s.prototype._onMouseMoveTitle=function(t){var e=h.fakeGesture(this,t),i=this._getPointer(e.center);this.popupObj&&this._checkHidePopup(i);var s=this,o=function(){s._checkShowPopup(i)};if(this.popupTimer&&clearInterval(this.popupTimer),this.drag.dragging||(this.popupTimer=setTimeout(o,this.constants.tooltip.delay)),1==this.constants.hover){for(var n in this.hoverObj.edges)this.hoverObj.edges.hasOwnProperty(n)&&(this.hoverObj.edges[n].hover=!1,delete this.hoverObj.edges[n]);var r=this._getNodeAt(i);null==r&&(r=this._getEdgeAt(i)),null!=r&&this._hoverObject(r);for(var a in this.hoverObj.nodes)this.hoverObj.nodes.hasOwnProperty(a)&&(r instanceof m&&r.id!=a||r instanceof g||null==r)&&(this._blurObject(this.hoverObj.nodes[a]),delete this.hoverObj.nodes[a]);this.redraw()}},s.prototype._checkShowPopup=function(t){var e,i={left:this._XconvertDOMtoCanvas(t.x),top:this._YconvertDOMtoCanvas(t.y),right:this._XconvertDOMtoCanvas(t.x),bottom:this._YconvertDOMtoCanvas(t.y)},s=this.popupObj;if(void 0==this.popupObj){var o=this.nodes;for(e in o)if(o.hasOwnProperty(e)){var n=o[e];if(void 0!==n.getTitle()&&n.isOverlappingWith(i)){this.popupObj=n;break}}}if(void 0===this.popupObj){var r=this.edges;for(e in r)if(r.hasOwnProperty(e)){var a=r[e];if(a.connected&&void 0!==a.getTitle()&&a.isOverlappingWith(i)){this.popupObj=a;break}}}if(this.popupObj){if(this.popupObj!=s){var h=this;h.popup||(h.popup=new v(h.frame,h.constants.tooltip)),h.popup.setPosition(t.x-3,t.y-3),h.popup.setText(h.popupObj.getTitle()),h.popup.show()}}else this.popup&&this.popup.hide()},s.prototype._checkHidePopup=function(t){this.popupObj&&this._getNodeAt(t)||(this.popupObj=void 0,this.popup&&this.popup.hide())},s.prototype.setSize=function(t,e){var i=!1,s=this.frame.canvas.width,o=this.frame.canvas.height;t!=this.constants.width||e!=this.constants.height||this.frame.style.width!=t||this.frame.style.height!=e?(this.frame.style.width=t,this.frame.style.height=e,this.frame.canvas.style.width="100%",this.frame.canvas.style.height="100%",this.frame.canvas.width=this.frame.canvas.clientWidth,this.frame.canvas.height=this.frame.canvas.clientHeight,this.constants.width=t,this.constants.height=e,i=!0):(this.frame.canvas.width!=this.frame.canvas.clientWidth&&(this.frame.canvas.width=this.frame.canvas.clientWidth,i=!0),this.frame.canvas.height!=this.frame.canvas.clientHeight&&(this.frame.canvas.height=this.frame.canvas.clientHeight,i=!0)),1==i&&this.emit("resize",{width:this.frame.canvas.width,height:this.frame.canvas.height,oldWidth:s,oldHeight:o})},s.prototype._setNodes=function(t){var e=this.nodesData;if(t instanceof d||t instanceof l)this.nodesData=t;else if(Array.isArray(t))this.nodesData=new d,this.nodesData.add(t);else{if(t)throw new TypeError("Array or DataSet expected");this.nodesData=new d}if(e&&a.forEach(this.nodesListeners,function(t,i){e.off(i,t)}),this.nodes={},this.nodesData){var i=this;a.forEach(this.nodesListeners,function(t,e){i.nodesData.on(e,t)});var s=this.nodesData.getIds();this._addNodes(s)}this._updateSelection()},s.prototype._addNodes=function(t){for(var e,i=0,s=t.length;s>i;i++){e=t[i];var o=this.nodesData.get(e),n=new m(o,this.images,this.groups,this.constants);if(this.nodes[e]=n,!(0!=n.xFixed&&0!=n.yFixed||null!==n.x&&null!==n.y)){var r=1*t.length+10,a=2*Math.PI*Math.random();0==n.xFixed&&(n.x=r*Math.cos(a)),0==n.yFixed&&(n.y=r*Math.sin(a))}this.moving=!0}this._updateNodeIndexList(),1==this.constants.hierarchicalLayout.enabled&&0==this.initializing&&(this._resetLevels(),this._setupHierarchicalLayout()),this._updateCalculationNodes(),this._reconnectEdges(),this._updateValueRange(this.nodes),this.updateLabels()},s.prototype._updateNodes=function(t,e){for(var i=this.nodes,s=0,o=t.length;o>s;s++){var n=t[s],r=i[n],a=e[s];r?r.setProperties(a,this.constants):(r=new m(properties,this.images,this.groups,this.constants),i[n]=r)}this.moving=!0,1==this.constants.hierarchicalLayout.enabled&&0==this.initializing&&(this._resetLevels(),this._setupHierarchicalLayout()),this._updateNodeIndexList(),this._updateValueRange(i)},s.prototype._removeNodes=function(t){for(var e=this.nodes,i=0,s=t.length;s>i;i++){var o=t[i];delete e[o]}this._updateNodeIndexList(),1==this.constants.hierarchicalLayout.enabled&&0==this.initializing&&(this._resetLevels(),this._setupHierarchicalLayout()),this._updateCalculationNodes(),this._reconnectEdges(),this._updateSelection(),this._updateValueRange(e)},s.prototype._setEdges=function(t){var e=this.edgesData;if(t instanceof d||t instanceof l)this.edgesData=t;else if(Array.isArray(t))this.edgesData=new d,this.edgesData.add(t);else{if(t)throw new TypeError("Array or DataSet expected");this.edgesData=new d}if(e&&a.forEach(this.edgesListeners,function(t,i){e.off(i,t)}),this.edges={},this.edgesData){var i=this;a.forEach(this.edgesListeners,function(t,e){i.edgesData.on(e,t)});var s=this.edgesData.getIds();this._addEdges(s)}this._reconnectEdges()},s.prototype._addEdges=function(t){for(var e=this.edges,i=this.edgesData,s=0,o=t.length;o>s;s++){var n=t[s],r=e[n];r&&r.disconnect();var a=i.get(n,{showInternalIds:!0});e[n]=new g(a,this,this.constants)}this.moving=!0,this._updateValueRange(e),this._createBezierNodes(),this._updateCalculationNodes(),1==this.constants.hierarchicalLayout.enabled&&0==this.initializing&&(this._resetLevels(),this._setupHierarchicalLayout())},s.prototype._updateEdges=function(t){for(var e=this.edges,i=this.edgesData,s=0,o=t.length;o>s;s++){var n=t[s],r=i.get(n),a=e[n];a?(a.disconnect(),a.setProperties(r,this.constants),a.connect()):(a=new g(r,this,this.constants),this.edges[n]=a)}this._createBezierNodes(),1==this.constants.hierarchicalLayout.enabled&&0==this.initializing&&(this._resetLevels(),this._setupHierarchicalLayout()),this.moving=!0,this._updateValueRange(e)},s.prototype._removeEdges=function(t){for(var e=this.edges,i=0,s=t.length;s>i;i++){var o=t[i],n=e[o];n&&(null!=n.via&&delete this.sectors.support.nodes[n.via.id],n.disconnect(),delete e[o])}this.moving=!0,this._updateValueRange(e),1==this.constants.hierarchicalLayout.enabled&&0==this.initializing&&(this._resetLevels(),this._setupHierarchicalLayout()),this._updateCalculationNodes()},s.prototype._reconnectEdges=function(){var t,e=this.nodes,i=this.edges;for(t in e)e.hasOwnProperty(t)&&(e[t].edges=[],e[t].dynamicEdges=[]);for(t in i)if(i.hasOwnProperty(t)){var s=i[t];s.from=null,s.to=null,s.connect()}},s.prototype._updateValueRange=function(t){var e,i=void 0,s=void 0;for(e in t)if(t.hasOwnProperty(e)){var o=t[e].getValue();void 0!==o&&(i=void 0===i?o:Math.min(o,i),s=void 0===s?o:Math.max(o,s))}if(void 0!==i&&void 0!==s)for(e in t)t.hasOwnProperty(e)&&t[e].setValueRange(i,s)},s.prototype.redraw=function(){this.setSize(this.constants.width,this.constants.height),this._redraw()},s.prototype._redraw=function(){var t=this.frame.canvas.getContext("2d"),e=this.frame.canvas.width,i=this.frame.canvas.height;t.clearRect(0,0,e,i),t.save(),t.translate(this.translation.x,this.translation.y),t.scale(this.scale,this.scale),this.canvasTopLeft={x:this._XconvertDOMtoCanvas(0),y:this._YconvertDOMtoCanvas(0)},this.canvasBottomRight={x:this._XconvertDOMtoCanvas(this.frame.canvas.clientWidth),y:this._YconvertDOMtoCanvas(this.frame.canvas.clientHeight)},this._doInAllSectors("_drawAllSectorNodes",t),(0==this.drag.dragging||void 0===this.drag.dragging||0==this.constants.hideEdgesOnDrag)&&this._doInAllSectors("_drawEdges",t),(0==this.drag.dragging||void 0===this.drag.dragging||0==this.constants.hideNodesOnDrag)&&this._doInAllSectors("_drawNodes",t,!1),1==this.controlNodesActive&&this._doInAllSectors("_drawControlNodes",t),t.restore()},s.prototype._setTranslation=function(t,e){void 0===this.translation&&(this.translation={x:0,y:0}),void 0!==t&&(this.translation.x=t),void 0!==e&&(this.translation.y=e),this.emit("viewChanged")},s.prototype._getTranslation=function(){return{x:this.translation.x,y:this.translation.y}},s.prototype._setScale=function(t){this.scale=t},s.prototype._getScale=function(){return this.scale},s.prototype._XconvertDOMtoCanvas=function(t){return(t-this.translation.x)/this.scale},s.prototype._XconvertCanvasToDOM=function(t){return t*this.scale+this.translation.x},s.prototype._YconvertDOMtoCanvas=function(t){return(t-this.translation.y)/this.scale},s.prototype._YconvertCanvasToDOM=function(t){return t*this.scale+this.translation.y},s.prototype.canvasToDOM=function(t){return{x:this._XconvertCanvasToDOM(t.x),y:this._YconvertCanvasToDOM(t.y)}},s.prototype.DOMtoCanvas=function(t){return{x:this._XconvertDOMtoCanvas(t.x),y:this._YconvertDOMtoCanvas(t.y)}},s.prototype._drawNodes=function(t,e){void 0===e&&(e=!1);var i=this.nodes,s=[];for(var o in i)i.hasOwnProperty(o)&&(i[o].setScaleAndPos(this.scale,this.canvasTopLeft,this.canvasBottomRight),i[o].isSelected()?s.push(o):(i[o].inArea()||e)&&i[o].draw(t));for(var n=0,r=s.length;r>n;n++)(i[s[n]].inArea()||e)&&i[s[n]].draw(t)},s.prototype._drawEdges=function(t){var e=this.edges;for(var i in e)if(e.hasOwnProperty(i)){var s=e[i];s.setScale(this.scale),s.connected&&e[i].draw(t)}},s.prototype._drawControlNodes=function(t){var e=this.edges;for(var i in e)e.hasOwnProperty(i)&&e[i]._drawControlNodes(t)},s.prototype._stabilize=function(){1==this.constants.freezeForStabilization&&this._freezeDefinedNodes();for(var t=0;this.moving&&t0)for(t in i)i.hasOwnProperty(t)&&(i[t].discreteStepLimited(e,this.constants.maxVelocity),s=!0);else for(t in i)i.hasOwnProperty(t)&&(i[t].discreteStep(e),s=!0);if(1==s){var o=this.constants.minVelocity/Math.max(this.scale,.05);return o>.5*this.constants.maxVelocity?!0:this._isMoving(o)}return!1},s.prototype._physicsTick=function(){if(!this.freezeSimulation&&1==this.moving){var t=!1,e=!1;this._doInAllActiveSectors("_initializeForceCalculation");var i=this._doInAllActiveSectors("_discreteStepNodes");1==this.constants.smoothCurves.enabled&&1==this.constants.smoothCurves.dynamic&&(e=this._doInSupportSector("_discreteStepNodes"));for(var s=0;s0){var i=this,s={iterations:i.stabilizationIterations};i.stabilizationIterations=0,i.startedStabilization=!1,setTimeout(function(){i.emit("stabilized",s)},0)}},s.prototype._handleNavigation=function(){if(0!=this.xIncrement||0!=this.yIncrement){var t=this._getTranslation();this._setTranslation(t.x+this.xIncrement,t.y+this.yIncrement)}if(0!=this.zoomIncrement){var e={x:this.frame.canvas.clientWidth/2,y:this.frame.canvas.clientHeight/2};this._zoom(this.scale*(1+this.zoomIncrement),e)}},s.prototype.toggleFreeze=function(){0==this.freezeSimulation?this.freezeSimulation=!0:(this.freezeSimulation=!1,this.start())},s.prototype._configureSmoothCurves=function(t){if(void 0===t&&(t=!0),1==this.constants.smoothCurves.enabled&&1==this.constants.smoothCurves.dynamic){this._createBezierNodes();for(var e in this.sectors.support.nodes)this.sectors.support.nodes.hasOwnProperty(e)&&void 0===this.edges[this.sectors.support.nodes[e].parentEdgeId]&&delete this.sectors.support.nodes[e]}else{this.sectors.support.nodes={};for(var i in this.edges)this.edges.hasOwnProperty(i)&&(this.edges[i].via=null)}this._updateCalculationNodes(),t||(this.moving=!0,this.start())},s.prototype._createBezierNodes=function(){if(1==this.constants.smoothCurves.enabled&&1==this.constants.smoothCurves.dynamic)for(var t in this.edges)if(this.edges.hasOwnProperty(t)){var e=this.edges[t];if(null==e.via){var i="edgeId:".concat(e.id);this.sectors.support.nodes[i]=new m({id:i,mass:1,shape:"circle",image:"",internalMultiplier:1},{},{},this.constants),e.via=this.sectors.support.nodes[i],e.via.parentEdgeId=e.id,e.positionBezierNode()}}},s.prototype._initializeMixinLoaders=function(){for(var t in y)y.hasOwnProperty(t)&&(s.prototype[t]=y[t])},s.prototype.storePosition=function(){console.log("storePosition is depricated: use .storePositions() from now on."),this.storePositions()},s.prototype.storePositions=function(){var t=[];for(var e in this.nodes)if(this.nodes.hasOwnProperty(e)){var i=this.nodes[e],s=!this.nodes.xFixed,o=!this.nodes.yFixed;(this.nodesData._data[e].x!=Math.round(i.x)||this.nodesData._data[e].y!=Math.round(i.y))&&t.push({id:e,x:Math.round(i.x),y:Math.round(i.y),allowedToMoveX:s,allowedToMoveY:o})}this.nodesData.update(t)},s.prototype.getPositions=function(t){var e={};if(void 0!==t){if(1==Array.isArray(t)){for(var i=0;i=1&&(this.easingTime=0,this._redraw=null!=this.lockedOnNodeId?this._lockedRedraw:this._classicRedraw,this.emit("animationFinished"))},s.prototype._classicRedraw=function(){},s.prototype.isActive=function(){return!this.activator||this.activator.active},s.prototype.setScale=function(){return this._setScale()},s.prototype.getScale=function(){return this._getScale()},s.prototype.getCenterCoordinates=function(){return this.DOMtoCanvas({x:.5*this.frame.canvas.clientWidth,y:.5*this.frame.canvas.clientHeight})},t.exports=s},function(t,e,i){function s(t,e,i){if(!e)throw"No network provided";var s=["edges","physics"],n=o.selectiveBridgeObject(s,i);this.options=n.edges,this.physics=n.physics,this.options.smoothCurves=i.smoothCurves,this.network=e,this.id=void 0,this.fromId=void 0,this.toId=void 0,this.title=void 0,this.widthSelected=this.options.width*this.options.widthSelectionMultiplier,this.value=void 0,this.selected=!1,this.hover=!1,this.labelDimensions={top:0,left:0,width:0,height:0,yLine:0},this.dirtyLabel=!0,this.from=null,this.to=null,this.via=null,this.originalFromId=[],this.originalToId=[],this.connected=!1,this.widthFixed=!1,this.lengthFixed=!1,this.setProperties(t),this.controlNodesEnabled=!1,this.controlNodes={from:null,to:null,positions:{}},this.connectedNode=null}var o=i(1),n=i(40);s.prototype.setProperties=function(t){if(t){var e=["style","fontSize","fontFace","fontColor","fontFill","width","widthSelectionMultiplier","hoverWidth","arrowScaleFactor","dash","inheritColor"];switch(o.selectiveDeepExtend(e,this.options,t),void 0!==t.from&&(this.fromId=t.from),void 0!==t.to&&(this.toId=t.to),void 0!==t.id&&(this.id=t.id),void 0!==t.label&&(this.label=t.label,this.dirtyLabel=!0),void 0!==t.title&&(this.title=t.title),void 0!==t.value&&(this.value=t.value),void 0!==t.length&&(this.physics.springLength=t.length),void 0!==t.color&&(this.options.inheritColor=!1,o.isString(t.color)?(this.options.color.color=t.color,this.options.color.highlight=t.color):(void 0!==t.color.color&&(this.options.color.color=t.color.color),void 0!==t.color.highlight&&(this.options.color.highlight=t.color.highlight),void 0!==t.color.hover&&(this.options.color.hover=t.color.hover))),this.connect(),this.widthFixed=this.widthFixed||void 0!==t.width,this.lengthFixed=this.lengthFixed||void 0!==t.length,this.widthSelected=this.options.width*this.options.widthSelectionMultiplier,this.options.style){case"line":this.draw=this._drawLine;break;case"arrow":this.draw=this._drawArrow;break;case"arrow-center":this.draw=this._drawArrowCenter;break;case"dash-line":this.draw=this._drawDashLine;break;default:this.draw=this._drawLine}}},s.prototype.connect=function(){this.disconnect(),this.from=this.network.nodes[this.fromId]||null,this.to=this.network.nodes[this.toId]||null,this.connected=this.from&&this.to,this.connected?(this.from.attachEdge(this),this.to.attachEdge(this)):(this.from&&this.from.detachEdge(this),this.to&&this.to.detachEdge(this))},s.prototype.disconnect=function(){this.from&&(this.from.detachEdge(this),this.from=null),this.to&&(this.to.detachEdge(this),this.to=null),this.connected=!1},s.prototype.getTitle=function(){return"function"==typeof this.title?this.title():this.title},s.prototype.getValue=function(){return this.value},s.prototype.setValueRange=function(t,e){if(!this.widthFixed&&void 0!==this.value){var i=(this.options.widthMax-this.options.widthMin)/(e-t);this.options.width=(this.value-t)*i+this.options.widthMin,this.widthSelected=this.options.width*this.options.widthSelectionMultiplier}},s.prototype.draw=function(){throw"Method draw not initialized in edge"},s.prototype.isOverlappingWith=function(t){if(this.connected){var e=10,i=this.from.x,s=this.from.y,o=this.to.x,n=this.to.y,r=t.left,a=t.top,h=this._getDistanceToEdge(i,s,o,n,r,a);return e>h}return!1},s.prototype._getColor=function(){var t=this.options.color;return"to"==this.options.inheritColor?t={highlight:this.to.options.color.highlight.border,hover:this.to.options.color.hover.border,color:this.to.options.color.border}:("from"==this.options.inheritColor||1==this.options.inheritColor)&&(t={highlight:this.from.options.color.highlight.border,hover:this.from.options.color.hover.border,color:this.from.options.color.border}),1==this.selected?t.highlight:1==this.hover?t.hover:t.color},s.prototype._drawLine=function(t){if(t.strokeStyle=this._getColor(),t.lineWidth=this._getLineWidth(),this.from!=this.to){var e,i=this._line(t);if(this.label){if(1==this.options.smoothCurves.enabled&&null!=i){var s=.5*(.5*(this.from.x+i.x)+.5*(this.to.x+i.x)),o=.5*(.5*(this.from.y+i.y)+.5*(this.to.y+i.y));e={x:s,y:o}}else e=this._pointOnLine(.5);this._label(t,this.label,e.x,e.y)}}else{var n,r,a=this.physics.springLength/4,h=this.from;h.width||h.resize(t),h.width>h.height?(n=h.x+h.width/2,r=h.y-a):(n=h.x+a,r=h.y-h.height/2),this._circle(t,n,r,a),e=this._pointOnCircle(n,r,a,.5),this._label(t,this.label,e.x,e.y)}},s.prototype._getLineWidth=function(){return 1==this.selected?Math.max(Math.min(this.widthSelected,this.options.widthMax),.3*this.networkScaleInv):1==this.hover?Math.max(Math.min(this.options.hoverWidth,this.options.widthMax),.3*this.networkScaleInv):Math.max(this.options.width,.3*this.networkScaleInv)},s.prototype._getViaCoordinates=function(){var t=null,e=null,i=this.options.smoothCurves.roundness,s=this.options.smoothCurves.type,o=Math.abs(this.from.x-this.to.x),n=Math.abs(this.from.y-this.to.y); +return"discrete"==s||"diagonalCross"==s?Math.abs(this.from.x-this.to.x)this.to.y?this.from.xthis.to.x&&(t=this.from.x-i*n,e=this.from.y-i*n):this.from.ythis.to.x&&(t=this.from.x-i*n,e=this.from.y+i*n)),"discrete"==s&&(t=i*n>o?this.from.x:t)):Math.abs(this.from.x-this.to.x)>Math.abs(this.from.y-this.to.y)&&(this.from.y>this.to.y?this.from.xthis.to.x&&(t=this.from.x-i*o,e=this.from.y-i*o):this.from.ythis.to.x&&(t=this.from.x-i*o,e=this.from.y+i*o)),"discrete"==s&&(e=i*o>n?this.from.y:e)):"straightCross"==s?Math.abs(this.from.x-this.to.x)Math.abs(this.from.y-this.to.y)&&(t=this.from.xthis.to.y?this.from.xthis.to.x&&(t=this.from.x-i*n,e=this.from.y-i*n,t=this.to.x>t?this.to.x:t):this.from.ythis.to.x&&(t=this.from.x-i*n,e=this.from.y+i*n,t=this.to.x>t?this.to.x:t)):Math.abs(this.from.x-this.to.x)>Math.abs(this.from.y-this.to.y)&&(this.from.y>this.to.y?this.from.xe?this.to.y:e):this.from.x>this.to.x&&(t=this.from.x-i*o,e=this.from.y-i*o,e=this.to.y>e?this.to.y:e):this.from.ythis.to.x&&(t=this.from.x-i*o,e=this.from.y+i*o,e=this.to.yd;d++){var l=t.measureText(n[d]).width;h=l>h?l:h}var c=this.options.fontSize*r,p=i-h/2,u=s-c/2;this.labelDimensions={top:u,left:p,width:h,height:c,yLine:o}}void 0!==this.options.fontFill&&null!==this.options.fontFill&&"none"!==this.options.fontFill&&(t.fillStyle=this.options.fontFill,t.fillRect(this.labelDimensions.left,this.labelDimensions.top,this.labelDimensions.width,this.labelDimensions.height)),t.fillStyle=this.options.fontColor||"black",t.textAlign="center",t.textBaseline="middle",o=this.labelDimensions.yLine;for(var d=0;r>d;d++)t.fillText(n[d],i,o),o+=a}},s.prototype._drawDashLine=function(t){t.strokeStyle=this._getColor(),t.lineWidth=this._getLineWidth();var e=null;if(void 0!==t.mozDash||void 0!==t.setLineDash){var i=[0];i=void 0!==this.options.dash.length&&void 0!==this.options.dash.gap?[this.options.dash.length,this.options.dash.gap]:[5,5],"undefined"!=typeof t.setLineDash?(t.setLineDash(i),t.lineDashOffset=0):(t.mozDash=i,t.mozDashOffset=0),e=this._line(t),"undefined"!=typeof t.setLineDash?(t.setLineDash([0]),t.lineDashOffset=0):(t.mozDash=[0],t.mozDashOffset=0)}else t.beginPath(),t.lineCap="round",void 0!==this.options.dash.altLength?t.dashedLine(this.from.x,this.from.y,this.to.x,this.to.y,[this.options.dash.length,this.options.dash.gap,this.options.dash.altLength,this.options.dash.gap]):void 0!==this.options.dash.length&&void 0!==this.options.dash.gap?t.dashedLine(this.from.x,this.from.y,this.to.x,this.to.y,[this.options.dash.length,this.options.dash.gap]):(t.moveTo(this.from.x,this.from.y),t.lineTo(this.to.x,this.to.y)),t.stroke();if(this.label){var s;if(1==this.options.smoothCurves.enabled&&null!=e){var o=.5*(.5*(this.from.x+e.x)+.5*(this.to.x+e.x)),n=.5*(.5*(this.from.y+e.y)+.5*(this.to.y+e.y));s={x:o,y:n}}else s=this._pointOnLine(.5);this._label(t,this.label,s.x,s.y)}},s.prototype._pointOnLine=function(t){return{x:(1-t)*this.from.x+t*this.to.x,y:(1-t)*this.from.y+t*this.to.y}},s.prototype._pointOnCircle=function(t,e,i,s){var o=2*(s-3/8)*Math.PI;return{x:t+i*Math.cos(o),y:e-i*Math.sin(o)}},s.prototype._drawArrowCenter=function(t){var e;if(t.strokeStyle=this._getColor(),t.lineWidth=this._getLineWidth(),this.from!=this.to){var i=this._line(t),s=Math.atan2(this.to.y-this.from.y,this.to.x-this.from.x),o=(10+5*this.options.width)*this.options.arrowScaleFactor;if(1==this.options.smoothCurves.enabled&&null!=i){var n=.5*(.5*(this.from.x+i.x)+.5*(this.to.x+i.x)),r=.5*(.5*(this.from.y+i.y)+.5*(this.to.y+i.y));e={x:n,y:r}}else e=this._pointOnLine(.5);t.arrow(e.x,e.y,s,o),t.fill(),t.stroke(),this.label&&this._label(t,this.label,e.x,e.y)}else{var a,h,d=.25*Math.max(100,this.physics.springLength),l=this.from;l.width||l.resize(t),l.width>l.height?(a=l.x+.5*l.width,h=l.y-d):(a=l.x+d,h=l.y-.5*l.height),this._circle(t,a,h,d);var s=.2*Math.PI,o=(10+5*this.options.width)*this.options.arrowScaleFactor;e=this._pointOnCircle(a,h,d,.5),t.arrow(e.x,e.y,s,o),t.fill(),t.stroke(),this.label&&(e=this._pointOnCircle(a,h,d,.5),this._label(t,this.label,e.x,e.y))}},s.prototype._drawArrow=function(t){t.strokeStyle=this._getColor(),t.lineWidth=this._getLineWidth();var e,i;if(this.from!=this.to){e=Math.atan2(this.to.y-this.from.y,this.to.x-this.from.x);var s,o=this.to.x-this.from.x,n=this.to.y-this.from.y,r=Math.sqrt(o*o+n*n),a=this.from.distanceToBorder(t,e+Math.PI),h=(r-a)/r,d=h*this.from.x+(1-h)*this.to.x,l=h*this.from.y+(1-h)*this.to.y;1==this.options.smoothCurves.dynamic&&1==this.options.smoothCurves.enabled?s=this.via:1==this.options.smoothCurves.enabled&&(s=this._getViaCoordinates()),1==this.options.smoothCurves.enabled&&null!=s.x&&(e=Math.atan2(this.to.y-s.y,this.to.x-s.x),o=this.to.x-s.x,n=this.to.y-s.y,r=Math.sqrt(o*o+n*n));var c,p,u=this.to.distanceToBorder(t,e),f=(r-u)/r;if(1==this.options.smoothCurves.enabled&&null!=s.x?(c=(1-f)*s.x+f*this.to.x,p=(1-f)*s.y+f*this.to.y):(c=(1-f)*this.from.x+f*this.to.x,p=(1-f)*this.from.y+f*this.to.y),t.beginPath(),t.moveTo(d,l),1==this.options.smoothCurves.enabled&&null!=s.x?t.quadraticCurveTo(s.x,s.y,c,p):t.lineTo(c,p),t.stroke(),i=(10+5*this.options.width)*this.options.arrowScaleFactor,t.arrow(c,p,e,i),t.fill(),t.stroke(),this.label){var m;if(1==this.options.smoothCurves.enabled&&null!=s){var g=.5*(.5*(this.from.x+s.x)+.5*(this.to.x+s.x)),v=.5*(.5*(this.from.y+s.y)+.5*(this.to.y+s.y));m={x:g,y:v}}else m=this._pointOnLine(.5);this._label(t,this.label,m.x,m.y)}}else{var y,b,_,x=this.from,w=.25*Math.max(100,this.physics.springLength);x.width||x.resize(t),x.width>x.height?(y=x.x+.5*x.width,b=x.y-w,_={x:y,y:x.y,angle:.9*Math.PI}):(y=x.x+w,b=x.y-.5*x.height,_={x:x.x,y:b,angle:.6*Math.PI}),t.beginPath(),t.arc(y,b,w,0,2*Math.PI,!1),t.stroke();var i=(10+5*this.options.width)*this.options.arrowScaleFactor;t.arrow(_.x,_.y,_.angle,i),t.fill(),t.stroke(),this.label&&(m=this._pointOnCircle(y,b,w,.5),this._label(t,this.label,m.x,m.y))}},s.prototype._getDistanceToEdge=function(t,e,i,s,o,n){var r=0;if(this.from!=this.to)if(1==this.options.smoothCurves.enabled){var a,h;if(1==this.options.smoothCurves.enabled&&1==this.options.smoothCurves.dynamic)a=this.via.x,h=this.via.y;else{var d=this._getViaCoordinates();a=d.x,h=d.y}var l,c,p,u,f,m,g,v=1e9;for(c=0;10>c;c++)p=.1*c,u=Math.pow(1-p,2)*t+2*p*(1-p)*a+Math.pow(p,2)*i,f=Math.pow(1-p,2)*e+2*p*(1-p)*h+Math.pow(p,2)*s,c>0&&(l=this._getDistanceToLine(m,g,u,f,o,n),v=v>l?l:v),m=u,g=f;r=v}else r=this._getDistanceToLine(t,e,i,s,o,n);else{var u,f,y,b,_=.25*this.physics.springLength,x=this.from;x.width>x.height?(u=x.x+.5*x.width,f=x.y-_):(u=x.x+_,f=x.y-.5*x.height),y=u-o,b=f-n,r=Math.abs(Math.sqrt(y*y+b*b)-_)}return this.labelDimensions.lefto&&this.labelDimensions.topn?0:r},s.prototype._getDistanceToLine=function(t,e,i,s,o,n){var r=i-t,a=s-e,h=r*r+a*a,d=((o-t)*r+(n-e)*a)/h;d>1?d=1:0>d&&(d=0);var l=t+d*r,c=e+d*a,p=l-o,u=c-n;return Math.sqrt(p*p+u*u)},s.prototype.setScale=function(t){this.networkScaleInv=1/t},s.prototype.select=function(){this.selected=!0},s.prototype.unselect=function(){this.selected=!1},s.prototype.positionBezierNode=function(){null!==this.via&&null!==this.from&&null!==this.to&&(this.via.x=.5*(this.from.x+this.to.x),this.via.y=.5*(this.from.y+this.to.y))},s.prototype._drawControlNodes=function(t){if(1==this.controlNodesEnabled){if(null===this.controlNodes.from&&null===this.controlNodes.to){var e="edgeIdFrom:".concat(this.id),i="edgeIdTo:".concat(this.id),s={nodes:{group:"",radius:8},physics:{damping:0},clustering:{maxNodeSizeIncrements:0,nodeScaling:{width:0,height:0,radius:0}}};this.controlNodes.from=new n({id:e,shape:"dot",color:{background:"#ff4e00",border:"#3c3c3c",highlight:{background:"#07f968"}}},{},{},s),this.controlNodes.to=new n({id:i,shape:"dot",color:{background:"#ff4e00",border:"#3c3c3c",highlight:{background:"#07f968"}}},{},{},s)}0==this.controlNodes.from.selected&&0==this.controlNodes.to.selected&&(this.controlNodes.positions=this.getControlNodePositions(t),this.controlNodes.from.x=this.controlNodes.positions.from.x,this.controlNodes.from.y=this.controlNodes.positions.from.y,this.controlNodes.to.x=this.controlNodes.positions.to.x,this.controlNodes.to.y=this.controlNodes.positions.to.y),this.controlNodes.from.draw(t),this.controlNodes.to.draw(t)}else this.controlNodes={from:null,to:null,positions:{}}},s.prototype._enableControlNodes=function(){this.controlNodesEnabled=!0},s.prototype._disableControlNodes=function(){this.controlNodesEnabled=!1},s.prototype._getSelectedControlNode=function(t,e){var i=this.controlNodes.positions,s=Math.sqrt(Math.pow(t-i.from.x,2)+Math.pow(e-i.from.y,2)),o=Math.sqrt(Math.pow(t-i.to.x,2)+Math.pow(e-i.to.y,2));return 15>s?(this.connectedNode=this.from,this.from=this.controlNodes.from,this.controlNodes.from):15>o?(this.connectedNode=this.to,this.to=this.controlNodes.to,this.controlNodes.to):null},s.prototype._restoreControlNodes=function(){1==this.controlNodes.from.selected&&(this.from=this.connectedNode,this.connectedNode=null,this.controlNodes.from.unselect()),1==this.controlNodes.to.selected&&(this.to=this.connectedNode,this.connectedNode=null,this.controlNodes.to.unselect())},s.prototype.getControlNodePositions=function(t){var e,i=Math.atan2(this.to.y-this.from.y,this.to.x-this.from.x),s=this.to.x-this.from.x,o=this.to.y-this.from.y,n=Math.sqrt(s*s+o*o),r=this.from.distanceToBorder(t,i+Math.PI),a=(n-r)/n,h=a*this.from.x+(1-a)*this.to.x,d=a*this.from.y+(1-a)*this.to.y;1==this.options.smoothCurves.dynamic&&1==this.options.smoothCurves.enabled?e=this.via:1==this.options.smoothCurves.enabled&&(e=this._getViaCoordinates()),1==this.options.smoothCurves.enabled&&null!=e.x&&(i=Math.atan2(this.to.y-e.y,this.to.x-e.x),s=this.to.x-e.x,o=this.to.y-e.y,n=Math.sqrt(s*s+o*o));var l,c,p=this.to.distanceToBorder(t,i),u=(n-p)/n;return 1==this.options.smoothCurves.enabled&&null!=e.x?(l=(1-u)*e.x+u*this.to.x,c=(1-u)*e.y+u*this.to.y):(l=(1-u)*this.from.x+u*this.to.x,c=(1-u)*this.from.y+u*this.to.y),{from:{x:h,y:d},to:{x:l,y:c}}},t.exports=s},function(t,e,i){function s(){this.clear(),this.defaultIndex=0}var o=i(1);s.DEFAULT=[{border:"#2B7CE9",background:"#97C2FC",highlight:{border:"#2B7CE9",background:"#D2E5FF"},hover:{border:"#2B7CE9",background:"#D2E5FF"}},{border:"#FFA500",background:"#FFFF00",highlight:{border:"#FFA500",background:"#FFFFA3"},hover:{border:"#FFA500",background:"#FFFFA3"}},{border:"#FA0A10",background:"#FB7E81",highlight:{border:"#FA0A10",background:"#FFAFB1"},hover:{border:"#FA0A10",background:"#FFAFB1"}},{border:"#41A906",background:"#7BE141",highlight:{border:"#41A906",background:"#A1EC76"},hover:{border:"#41A906",background:"#A1EC76"}},{border:"#E129F0",background:"#EB7DF4",highlight:{border:"#E129F0",background:"#F0B3F5"},hover:{border:"#E129F0",background:"#F0B3F5"}},{border:"#7C29F0",background:"#AD85E4",highlight:{border:"#7C29F0",background:"#D3BDF0"},hover:{border:"#7C29F0",background:"#D3BDF0"}},{border:"#C37F00",background:"#FFA807",highlight:{border:"#C37F00",background:"#FFCA66"},hover:{border:"#C37F00",background:"#FFCA66"}},{border:"#4220FB",background:"#6E6EFD",highlight:{border:"#4220FB",background:"#9B9BFD"},hover:{border:"#4220FB",background:"#9B9BFD"}},{border:"#FD5A77",background:"#FFC0CB",highlight:{border:"#FD5A77",background:"#FFD1D9"},hover:{border:"#FD5A77",background:"#FFD1D9"}},{border:"#4AD63A",background:"#C2FABC",highlight:{border:"#4AD63A",background:"#E6FFE3"},hover:{border:"#4AD63A",background:"#E6FFE3"}}],s.prototype.clear=function(){this.groups={},this.groups.length=function(){var t=0;for(var e in this)this.hasOwnProperty(e)&&t++;return t}},s.prototype.get=function(t){var e=this.groups[t];if(void 0==e){var i=this.defaultIndex%s.DEFAULT.length;this.defaultIndex++,e={},e.color=s.DEFAULT[i],this.groups[t]=e}return e},s.prototype.add=function(t,e){return this.groups[t]=e,e.color&&(e.color=o.parseColor(e.color)),e},t.exports=s},function(t){function e(){this.images={},this.callback=void 0}e.prototype.setOnloadCallback=function(t){this.callback=t},e.prototype.load=function(t,e){var i=this.images[t];if(void 0==i){var s=this;i=new Image,this.images[t]=i,i.onload=function(){s.callback&&s.callback(this)},i.onerror=function(){this.src=e,s.callback&&s.callback(this)},i.src=t}return i},t.exports=e},function(t,e,i){function s(t,e,i,s){var n=o.selectiveBridgeObject(["nodes"],s);this.options=n.nodes,this.selected=!1,this.hover=!1,this.edges=[],this.dynamicEdges=[],this.reroutedEdges={},this.fontDrawThreshold=3,this.id=void 0,this.x=null,this.y=null,this.allowedToMoveX=!1,this.allowedToMoveY=!1,this.xFixed=!1,this.yFixed=!1,this.horizontalAlignLeft=!0,this.verticalAlignTop=!0,this.baseRadiusValue=s.nodes.radius,this.radiusFixed=!1,this.level=-1,this.preassignedLevel=!1,this.hierarchyEnumerated=!1,this.labelDimensions={top:0,left:0,width:0,height:0,yLine:0},this.imagelist=e,this.grouplist=i,this.fx=0,this.fy=0,this.vx=0,this.vy=0,this.damping=s.physics.damping,this.fixedData={x:null,y:null},this.setProperties(t,n),this.resetCluster(),this.dynamicEdgesLength=0,this.clusterSession=0,this.clusterSizeWidthFactor=s.clustering.nodeScaling.width,this.clusterSizeHeightFactor=s.clustering.nodeScaling.height,this.clusterSizeRadiusFactor=s.clustering.nodeScaling.radius,this.maxNodeSizeIncrements=s.clustering.maxNodeSizeIncrements,this.growthIndicator=0,this.networkScaleInv=1,this.networkScale=1,this.canvasTopLeft={x:-300,y:-300},this.canvasBottomRight={x:300,y:300},this.parentEdgeId=null}var o=i(1);s.prototype.resetCluster=function(){this.formationScale=void 0,this.clusterSize=1,this.containedNodes={},this.containedEdges={},this.clusterSessions=[]},s.prototype.attachEdge=function(t){-1==this.edges.indexOf(t)&&this.edges.push(t),-1==this.dynamicEdges.indexOf(t)&&this.dynamicEdges.push(t),this.dynamicEdgesLength=this.dynamicEdges.length},s.prototype.detachEdge=function(t){var e=this.edges.indexOf(t);-1!=e&&this.edges.splice(e,1),e=this.dynamicEdges.indexOf(t),-1!=e&&this.dynamicEdges.splice(e,1),this.dynamicEdgesLength=this.dynamicEdges.length},s.prototype.setProperties=function(t,e){if(t){var i=["borderWidth","borderWidthSelected","shape","image","brokenImage","radius","fontColor","fontSize","fontFace","fontFill","group","mass"];if(o.selectiveDeepExtend(i,this.options,t),void 0!==t.id&&(this.id=t.id),void 0!==t.label&&(this.label=t.label,this.originalLabel=t.label),void 0!==t.title&&(this.title=t.title),void 0!==t.x&&(this.x=t.x),void 0!==t.y&&(this.y=t.y),void 0!==t.value&&(this.value=t.value),void 0!==t.level&&(this.level=t.level,this.preassignedLevel=!0),void 0!==t.horizontalAlignLeft&&(this.horizontalAlignLeft=t.horizontalAlignLeft),void 0!==t.verticalAlignTop&&(this.verticalAlignTop=t.verticalAlignTop),void 0!==t.triggerFunction&&(this.triggerFunction=t.triggerFunction),void 0===this.id)throw"Node must have an id";if("number"==typeof this.options.group||"string"==typeof this.options.group&&""!=this.options.group){var s=this.grouplist.get(this.options.group);for(var n in s)s.hasOwnProperty(n)&&(this.options[n]=s[n])}if(void 0!==t.radius&&(this.baseRadiusValue=this.options.radius),void 0!==t.color&&(this.options.color=o.parseColor(t.color)),void 0!==this.options.image&&""!=this.options.image){if(!this.imagelist)throw"No imagelist provided";this.imageObj=this.imagelist.load(this.options.image,this.options.brokenImage)}switch(void 0!==t.allowedToMoveX?(this.xFixed=!t.allowedToMoveX,this.allowedToMoveX=t.allowedToMoveX):void 0!==t.x&&0==this.allowedToMoveX&&(this.xFixed=!0),void 0!==t.allowedToMoveY?(this.yFixed=!t.allowedToMoveY,this.allowedToMoveY=t.allowedToMoveY):void 0!==t.y&&0==this.allowedToMoveY&&(this.yFixed=!0),this.radiusFixed=this.radiusFixed||void 0!==t.radius,"image"==this.options.shape&&(this.options.radiusMin=e.nodes.widthMin,this.options.radiusMax=e.nodes.widthMax),this.options.shape){case"database":this.draw=this._drawDatabase,this.resize=this._resizeDatabase;break;case"box":this.draw=this._drawBox,this.resize=this._resizeBox;break;case"circle":this.draw=this._drawCircle,this.resize=this._resizeCircle;break;case"ellipse":this.draw=this._drawEllipse,this.resize=this._resizeEllipse;break;case"image":this.draw=this._drawImage,this.resize=this._resizeImage;break;case"text":this.draw=this._drawText,this.resize=this._resizeText;break;case"dot":this.draw=this._drawDot,this.resize=this._resizeShape;break;case"square":this.draw=this._drawSquare,this.resize=this._resizeShape;break;case"triangle":this.draw=this._drawTriangle,this.resize=this._resizeShape;break;case"triangleDown":this.draw=this._drawTriangleDown,this.resize=this._resizeShape;break;case"star":this.draw=this._drawStar,this.resize=this._resizeShape;break;default:this.draw=this._drawEllipse,this.resize=this._resizeEllipse}this._reset()}},s.prototype.select=function(){this.selected=!0,this._reset()},s.prototype.unselect=function(){this.selected=!1,this._reset()},s.prototype.clearSizeCache=function(){this._reset()},s.prototype._reset=function(){this.width=void 0,this.height=void 0},s.prototype.getTitle=function(){return"function"==typeof this.title?this.title():this.title},s.prototype.distanceToBorder=function(t,e){var i=1;switch(this.width||this.resize(t),this.options.shape){case"circle":case"dot":return this.options.radius+i;case"ellipse":var s=this.width/2,o=this.height/2,n=Math.sin(e)*s,r=Math.cos(e)*o;return s*o/Math.sqrt(n*n+r*r);case"box":case"image":case"text":default:return this.width?Math.min(Math.abs(this.width/2/Math.cos(e)),Math.abs(this.height/2/Math.sin(e)))+i:0}},s.prototype._setForce=function(t,e){this.fx=t,this.fy=e},s.prototype._addForce=function(t,e){this.fx+=t,this.fy+=e},s.prototype.discreteStep=function(t){if(this.xFixed)this.fx=0,this.vx=0;else{var e=this.damping*this.vx,i=(this.fx-e)/this.options.mass;this.vx+=i*t,this.x+=this.vx*t}if(this.yFixed)this.fy=0,this.vy=0;else{var s=this.damping*this.vy,o=(this.fy-s)/this.options.mass;this.vy+=o*t,this.y+=this.vy*t}},s.prototype.discreteStepLimited=function(t,e){if(this.xFixed)this.fx=0,this.vx=0;else{var i=this.damping*this.vx,s=(this.fx-i)/this.options.mass;this.vx+=s*t,this.vx=Math.abs(this.vx)>e?this.vx>0?e:-e:this.vx,this.x+=this.vx*t}if(this.yFixed)this.fy=0,this.vy=0;else{var o=this.damping*this.vy,n=(this.fy-o)/this.options.mass;this.vy+=n*t,this.vy=Math.abs(this.vy)>e?this.vy>0?e:-e:this.vy,this.y+=this.vy*t}},s.prototype.isFixed=function(){return this.xFixed&&this.yFixed},s.prototype.isMoving=function(t){var e=Math.sqrt(Math.pow(this.vx,2)+Math.pow(this.vy,2));return e>t},s.prototype.isSelected=function(){return this.selected},s.prototype.getValue=function(){return this.value},s.prototype.getDistance=function(t,e){var i=this.x-t,s=this.y-e;return Math.sqrt(i*i+s*s)},s.prototype.setValueRange=function(t,e){if(!this.radiusFixed&&void 0!==this.value)if(e==t)this.options.radius=(this.options.radiusMin+this.options.radiusMax)/2;else{var i=(this.options.radiusMax-this.options.radiusMin)/(e-t);this.options.radius=(this.value-t)*i+this.options.radiusMin}this.baseRadiusValue=this.options.radius},s.prototype.draw=function(){throw"Draw method not initialized for node"},s.prototype.resize=function(){throw"Resize method not initialized for node"},s.prototype.isOverlappingWith=function(t){return this.leftt.left&&this.topt.top},s.prototype._resizeImage=function(){if(!this.width||!this.height){var t,e;if(this.value){this.options.radius=this.baseRadiusValue;var i=this.imageObj.height/this.imageObj.width;void 0!==i?(t=this.options.radius||this.imageObj.width,e=this.options.radius*i||this.imageObj.height):(t=0,e=0)}else t=this.imageObj.width,e=this.imageObj.height;this.width=t,this.height=e,this.growthIndicator=0,this.width>0&&this.height>0&&(this.width+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeWidthFactor,this.height+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeHeightFactor,this.options.radius+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeRadiusFactor,this.growthIndicator=this.width-t)}},s.prototype._drawImage=function(t){this._resizeImage(t),this.left=this.x-this.width/2,this.top=this.y-this.height/2;var e;if(0!=this.imageObj.width){if(this.clusterSize>1){var i=this.clusterSize>1?10:0;i*=this.networkScaleInv,i=Math.min(.2*this.width,i),t.globalAlpha=.5,t.drawImage(this.imageObj,this.left-i,this.top-i,this.width+2*i,this.height+2*i)}t.globalAlpha=1,t.drawImage(this.imageObj,this.left,this.top,this.width,this.height),e=this.y+this.height/2}else e=this.y;this._label(t,this.label,this.x,e,void 0,"top")},s.prototype._resizeBox=function(t){if(!this.width){var e=5,i=this.getTextSize(t);this.width=i.width+2*e,this.height=i.height+2*e,this.width+=.5*Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeWidthFactor,this.height+=.5*Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeHeightFactor,this.growthIndicator=this.width-(i.width+2*e)}},s.prototype._drawBox=function(t){this._resizeBox(t),this.left=this.x-this.width/2,this.top=this.y-this.height/2;var e=2.5,i=this.options.borderWidth,s=this.options.borderWidthSelected||2*this.options.borderWidth;t.strokeStyle=this.selected?this.options.color.highlight.border:this.hover?this.options.color.hover.border:this.options.color.border,this.clusterSize>1&&(t.lineWidth=(this.selected?s:i)+(this.clusterSize>1?e:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t.roundRect(this.left-2*t.lineWidth,this.top-2*t.lineWidth,this.width+4*t.lineWidth,this.height+4*t.lineWidth,this.options.radius),t.stroke()),t.lineWidth=(this.selected?s:i)+(this.clusterSize>1?e:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t.fillStyle=this.selected?this.options.color.highlight.background:this.options.color.background,t.roundRect(this.left,this.top,this.width,this.height,this.options.radius),t.fill(),t.stroke(),this._label(t,this.label,this.x,this.y)},s.prototype._resizeDatabase=function(t){if(!this.width){var e=5,i=this.getTextSize(t),s=i.width+2*e;this.width=s,this.height=s,this.width+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeWidthFactor,this.height+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeHeightFactor,this.options.radius+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeRadiusFactor,this.growthIndicator=this.width-s}},s.prototype._drawDatabase=function(t){this._resizeDatabase(t),this.left=this.x-this.width/2,this.top=this.y-this.height/2;var e=2.5,i=this.options.borderWidth,s=this.options.borderWidthSelected||2*this.options.borderWidth;t.strokeStyle=this.selected?this.options.color.highlight.border:this.hover?this.options.color.hover.border:this.options.color.border,this.clusterSize>1&&(t.lineWidth=(this.selected?s:i)+(this.clusterSize>1?e:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t.database(this.x-this.width/2-2*t.lineWidth,this.y-.5*this.height-2*t.lineWidth,this.width+4*t.lineWidth,this.height+4*t.lineWidth),t.stroke()),t.lineWidth=(this.selected?s:i)+(this.clusterSize>1?e:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t.fillStyle=this.selected?this.options.color.highlight.background:this.hover?this.options.color.hover.background:this.options.color.background,t.database(this.x-this.width/2,this.y-.5*this.height,this.width,this.height),t.fill(),t.stroke(),this._label(t,this.label,this.x,this.y)},s.prototype._resizeCircle=function(t){if(!this.width){var e=5,i=this.getTextSize(t),s=Math.max(i.width,i.height)+2*e;this.options.radius=s/2,this.width=s,this.height=s,this.options.radius+=.5*Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeRadiusFactor,this.growthIndicator=this.options.radius-.5*s}},s.prototype._drawCircle=function(t){this._resizeCircle(t),this.left=this.x-this.width/2,this.top=this.y-this.height/2;var e=2.5,i=this.options.borderWidth,s=this.options.borderWidthSelected||2*this.options.borderWidth;t.strokeStyle=this.selected?this.options.color.highlight.border:this.hover?this.options.color.hover.border:this.options.color.border,this.clusterSize>1&&(t.lineWidth=(this.selected?s:i)+(this.clusterSize>1?e:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t.circle(this.x,this.y,this.options.radius+2*t.lineWidth),t.stroke()),t.lineWidth=(this.selected?s:i)+(this.clusterSize>1?e:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t.fillStyle=this.selected?this.options.color.highlight.background:this.hover?this.options.color.hover.background:this.options.color.background,t.circle(this.x,this.y,this.options.radius),t.fill(),t.stroke(),this._label(t,this.label,this.x,this.y)},s.prototype._resizeEllipse=function(t){if(!this.width){var e=this.getTextSize(t);this.width=1.5*e.width,this.height=2*e.height,this.width1&&(t.lineWidth=(this.selected?s:i)+(this.clusterSize>1?e:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t.ellipse(this.left-2*t.lineWidth,this.top-2*t.lineWidth,this.width+4*t.lineWidth,this.height+4*t.lineWidth),t.stroke()),t.lineWidth=(this.selected?s:i)+(this.clusterSize>1?e:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t.fillStyle=this.selected?this.options.color.highlight.background:this.hover?this.options.color.hover.background:this.options.color.background,t.ellipse(this.left,this.top,this.width,this.height),t.fill(),t.stroke(),this._label(t,this.label,this.x,this.y)},s.prototype._drawDot=function(t){this._drawShape(t,"circle")},s.prototype._drawTriangle=function(t){this._drawShape(t,"triangle")},s.prototype._drawTriangleDown=function(t){this._drawShape(t,"triangleDown")},s.prototype._drawSquare=function(t){this._drawShape(t,"square")},s.prototype._drawStar=function(t){this._drawShape(t,"star")},s.prototype._resizeShape=function(){if(!this.width){this.options.radius=this.baseRadiusValue;var t=2*this.options.radius;this.width=t,this.height=t,this.width+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeWidthFactor,this.height+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeHeightFactor,this.options.radius+=.5*Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeRadiusFactor,this.growthIndicator=this.width-t}},s.prototype._drawShape=function(t,e){this._resizeShape(t),this.left=this.x-this.width/2,this.top=this.y-this.height/2;var i=2.5,s=this.options.borderWidth,o=this.options.borderWidthSelected||2*this.options.borderWidth,n=2;switch(e){case"dot":n=2;break;case"square":n=2;break;case"triangle":n=3;break;case"triangleDown":n=3;break;case"star":n=4}t.strokeStyle=this.selected?this.options.color.highlight.border:this.hover?this.options.color.hover.border:this.options.color.border,this.clusterSize>1&&(t.lineWidth=(this.selected?o:s)+(this.clusterSize>1?i:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t[e](this.x,this.y,this.options.radius+n*t.lineWidth),t.stroke()),t.lineWidth=(this.selected?o:s)+(this.clusterSize>1?i:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t.fillStyle=this.selected?this.options.color.highlight.background:this.hover?this.options.color.hover.background:this.options.color.background,t[e](this.x,this.y,this.options.radius),t.fill(),t.stroke(),this.label&&this._label(t,this.label,this.x,this.y+this.height/2,void 0,"top",!0)},s.prototype._resizeText=function(t){if(!this.width){var e=5,i=this.getTextSize(t);this.width=i.width+2*e,this.height=i.height+2*e,this.width+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeWidthFactor,this.height+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeHeightFactor,this.options.radius+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeRadiusFactor,this.growthIndicator=this.width-(i.width+2*e)}},s.prototype._drawText=function(t){this._resizeText(t),this.left=this.x-this.width/2,this.top=this.y-this.height/2,this._label(t,this.label,this.x,this.y)},s.prototype._label=function(t,e,i,s,o,n,r){if(e&&Number(this.options.fontSize)*this.networkScale>this.fontDrawThreshold){t.font=(this.selected?"bold ":"")+this.options.fontSize+"px "+this.options.fontFace;var a=e.split("\n"),h=a.length,d=Number(this.options.fontSize)+4,l=s+(1-h)/2*d;1==r&&(l=s+(1-h)/(2*d));for(var c=t.measureText(a[0]).width,p=1;h>p;p++){var u=t.measureText(a[p]).width;c=u>c?u:c}var f=this.options.fontSize*h,m=i-c/2,g=s-f/2;"top"==n&&(g+=.5*d),this.labelDimensions={top:g,left:m,width:c,height:f,yLine:l},void 0!==this.options.fontFill&&null!==this.options.fontFill&&"none"!==this.options.fontFill&&(t.fillStyle=this.options.fontFill,t.fillRect(m,g,c,f)),t.fillStyle=this.options.fontColor||"black",t.textAlign=o||"center",t.textBaseline=n||"middle";for(var p=0;h>p;p++)t.fillText(a[p],i,l),l+=d}},s.prototype.getTextSize=function(t){if(void 0!==this.label){t.font=(this.selected?"bold ":"")+this.options.fontSize+"px "+this.options.fontFace;for(var e=this.label.split("\n"),i=(Number(this.options.fontSize)+4)*e.length,s=0,o=0,n=e.length;n>o;o++)s=Math.max(s,t.measureText(e[o]).width); +return{width:s,height:i}}return{width:0,height:0}},s.prototype.inArea=function(){return void 0!==this.width?this.x+this.width*this.networkScaleInv>=this.canvasTopLeft.x&&this.x-this.width*this.networkScaleInv=this.canvasTopLeft.y&&this.y-this.height*this.networkScaleInv=this.canvasTopLeft.x&&this.x=this.canvasTopLeft.y&&this.ys&&(n=s-e-this.padding),no&&(r=o-i-this.padding),ri;i++)if(e.id===r.nodes[i].id){o=r.nodes[i];break}for(o||(o={id:e.id},t.node&&(o.attr=a(o.attr,t.node))),i=n.length-1;i>=0;i--){var h=n[i];h.nodes||(h.nodes=[]),-1==h.nodes.indexOf(o)&&h.nodes.push(o)}e.attr&&(o.attr=a(o.attr,e.attr))}function l(t,e){if(t.edges||(t.edges=[]),t.edges.push(e),t.edge){var i=a({},t.edge);e.attr=a(i,e.attr)}}function c(t,e,i,s,o){var n={from:e,to:i,type:s};return t.edge&&(n.attr=a({},t.edge)),n.attr=a(n.attr||{},o),n}function p(){for(k=M.NULL,L="";" "==O||" "==O||"\n"==O||"\r"==O;)o();do{var t=!1;if("#"==O){for(var e=T-1;" "==E.charAt(e)||" "==E.charAt(e);)e--;if("\n"==E.charAt(e)||""==E.charAt(e)){for(;""!=O&&"\n"!=O;)o();t=!0}}if("/"==O&&"/"==n()){for(;""!=O&&"\n"!=O;)o();t=!0}if("/"==O&&"*"==n()){for(;""!=O;){if("*"==O&&"/"==n()){o(),o();break}o()}t=!0}for(;" "==O||" "==O||"\n"==O||"\r"==O;)o()}while(t);if(""==O)return void(k=M.DELIMITER);var i=O+n();if(C[i])return k=M.DELIMITER,L=i,o(),void o();if(C[O])return k=M.DELIMITER,L=O,void o();if(r(O)||"-"==O){for(L+=O,o();r(O);)L+=O,o();return"false"==L?L=!1:"true"==L?L=!0:isNaN(Number(L))||(L=Number(L)),void(k=M.IDENTIFIER)}if('"'==O){for(o();""!=O&&('"'!=O||'"'==O&&'"'==n());)L+=O,'"'==O&&o(),o();if('"'!=O)throw x('End of string " expected');return o(),void(k=M.IDENTIFIER)}for(k=M.UNKNOWN;""!=O;)L+=O,o();throw new SyntaxError('Syntax error in part "'+w(L,30)+'"')}function u(){var t={};if(s(),p(),"strict"==L&&(t.strict=!0,p()),("graph"==L||"digraph"==L)&&(t.type=L,p()),k==M.IDENTIFIER&&(t.id=L,p()),"{"!=L)throw x("Angle bracket { expected");if(p(),f(t),"}"!=L)throw x("Angle bracket } expected");if(p(),""!==L)throw x("End of file expected");return p(),delete t.node,delete t.edge,delete t.graph,t}function f(t){for(;""!==L&&"}"!=L;)m(t),";"==L&&p()}function m(t){var e=g(t);if(e)return void b(t,e);var i=v(t);if(!i){if(k!=M.IDENTIFIER)throw x("Identifier expected");var s=L;if(p(),"="==L){if(p(),k!=M.IDENTIFIER)throw x("Identifier expected");t[s]=L,p()}else y(t,s)}}function g(t){var e=null;if("subgraph"==L&&(e={},e.type="subgraph",p(),k==M.IDENTIFIER&&(e.id=L,p())),"{"==L){if(p(),e||(e={}),e.parent=t,e.node=t.node,e.edge=t.edge,e.graph=t.graph,f(e),"}"!=L)throw x("Angle bracket } expected");p(),delete e.node,delete e.edge,delete e.graph,delete e.parent,t.subgraphs||(t.subgraphs=[]),t.subgraphs.push(e)}return e}function v(t){return"node"==L?(p(),t.node=_(),"node"):"edge"==L?(p(),t.edge=_(),"edge"):"graph"==L?(p(),t.graph=_(),"graph"):null}function y(t,e){var i={id:e},s=_();s&&(i.attr=s),d(t,i),b(t,e)}function b(t,e){for(;"->"==L||"--"==L;){var i,s=L;p();var o=g(t);if(o)i=o;else{if(k!=M.IDENTIFIER)throw x("Identifier or subgraph expected");i=L,d(t,{id:i}),p()}var n=_(),r=c(t,e,i,s,n);l(t,r),e=i}}function _(){for(var t=null;"["==L;){for(p(),t={};""!==L&&"]"!=L;){if(k!=M.IDENTIFIER)throw x("Attribute name expected");var e=L;if(p(),"="!=L)throw x("Equal sign = expected");if(p(),k!=M.IDENTIFIER)throw x("Attribute value expected");var i=L;h(t,e,i),p(),","==L&&p()}if("]"!=L)throw x("Bracket ] expected");p()}return t}function x(t){return new SyntaxError(t+', got "'+w(L,30)+'" (char '+T+")")}function w(t,e){return t.length<=e?t:t.substr(0,27)+"..."}function S(t,e,i){Array.isArray(t)?t.forEach(function(t){Array.isArray(e)?e.forEach(function(e){i(t,e)}):i(t,e)}):Array.isArray(e)?e.forEach(function(e){i(t,e)}):i(t,e)}function D(t){function e(t){var e={from:t.from,to:t.to};return a(e,t.attr),e.style="->"==t.type?"arrow":"line",e}var s=i(t),o={nodes:[],edges:[],options:{}};return s.nodes&&s.nodes.forEach(function(t){var e={id:t.id,label:String(t.label||t.id)};a(e,t.attr),e.image&&(e.shape="image"),o.nodes.push(e)}),s.edges&&s.edges.forEach(function(t){var i,s;i=t.from instanceof Object?t.from.nodes:{id:t.from},s=t.to instanceof Object?t.to.nodes:{id:t.to},t.from instanceof Object&&t.from.edges&&t.from.edges.forEach(function(t){var i=e(t);o.edges.push(i)}),S(i,s,function(i,s){var n=c(o,i.id,s.id,t.type,t.attr),r=e(n);o.edges.push(r)}),t.to instanceof Object&&t.to.edges&&t.to.edges.forEach(function(t){var i=e(t);o.edges.push(i)})}),s.attr&&(o.options=s.attr),o}var M={NULL:0,DELIMITER:1,IDENTIFIER:2,UNKNOWN:3},C={"{":!0,"}":!0,"[":!0,"]":!0,";":!0,"=":!0,",":!0,"->":!0,"--":!0},E="",T=0,O="",L="",k=M.NULL,N=/[a-zA-Z_0-9.:#]/;e.parseDOT=i,e.DOTToGraph=D},function(t,e){function i(t,e){var i=[],s=[];this.options={edges:{inheritColor:!0},nodes:{allowedToMove:!1,parseColor:!1}},void 0!==e&&(this.options.nodes.allowedToMove=e.allowedToMove|!1,this.options.nodes.parseColor=e.parseColor|!1,this.options.edges.inheritColor=e.inheritColor|!0);for(var o=t.edges,n=t.nodes,r=0;r=o&&(o=864e5),i=new Date(i.valueOf()-.05*o),s=new Date(s.valueOf()+.05*o)}if(null!==i||null!==s){var n=t&&void 0!==t.animate?t.animate:!0;this.range.setRange(i,s,n)}},s.prototype.setWindow=function(t,e,i){var s=i&&void 0!==i.animate?i.animate:!0;if(1==arguments.length){var o=arguments[0];this.range.setRange(o.start,o.end,s)}else this.range.setRange(t,e,s)},s.prototype.moveTo=function(t,e){var i=this.range.end-this.range.start,s=r.convert(t,"Date").valueOf(),o=s-i/2,n=s+i/2,a=e&&void 0!==e.animate?e.animate:!0;this.range.setRange(o,n,a)},s.prototype.getWindow=function(){var t=this.range.getRange();return{start:new Date(t.start),end:new Date(t.end)}},s.prototype.redraw=function(){var t=!1,e=this.options,i=this.props,s=this.dom;if(s){h.updateHiddenDates(this.body,this.options.hiddenDates),"top"==e.orientation?(r.addClassName(s.root,"top"),r.removeClassName(s.root,"bottom")):(r.removeClassName(s.root,"top"),r.addClassName(s.root,"bottom")),s.root.style.maxHeight=r.option.asSize(e.maxHeight,""),s.root.style.minHeight=r.option.asSize(e.minHeight,""),s.root.style.width=r.option.asSize(e.width,""),i.border.left=(s.centerContainer.offsetWidth-s.centerContainer.clientWidth)/2,i.border.right=i.border.left,i.border.top=(s.centerContainer.offsetHeight-s.centerContainer.clientHeight)/2,i.border.bottom=i.border.top;var o=s.root.offsetHeight-s.root.clientHeight,n=s.root.offsetWidth-s.root.clientWidth;0===s.centerContainer.clientHeight&&(i.border.left=i.border.top,i.border.right=i.border.left),0===s.root.clientHeight&&(n=o),i.center.height=s.center.offsetHeight,i.left.height=s.left.offsetHeight,i.right.height=s.right.offsetHeight,i.top.height=s.top.clientHeight||-i.border.top,i.bottom.height=s.bottom.clientHeight||-i.border.bottom;var a=Math.max(i.left.height,i.center.height,i.right.height),d=i.top.height+a+i.bottom.height+o+i.border.top+i.border.bottom;s.root.style.height=r.option.asSize(e.height,d+"px"),i.root.height=s.root.offsetHeight,i.background.height=i.root.height-o;var l=i.root.height-i.top.height-i.bottom.height-o;i.centerContainer.height=l,i.leftContainer.height=l,i.rightContainer.height=i.leftContainer.height,i.root.width=s.root.offsetWidth,i.background.width=i.root.width-n,i.left.width=s.leftContainer.clientWidth||-i.border.left,i.leftContainer.width=i.left.width,i.right.width=s.rightContainer.clientWidth||-i.border.right,i.rightContainer.width=i.right.width;var c=i.root.width-i.left.width-i.right.width-n;i.center.width=c,i.centerContainer.width=c,i.top.width=c,i.bottom.width=c,s.background.style.height=i.background.height+"px",s.backgroundVertical.style.height=i.background.height+"px",s.backgroundHorizontal.style.height=i.centerContainer.height+"px",s.centerContainer.style.height=i.centerContainer.height+"px",s.leftContainer.style.height=i.leftContainer.height+"px",s.rightContainer.style.height=i.rightContainer.height+"px",s.background.style.width=i.background.width+"px",s.backgroundVertical.style.width=i.centerContainer.width+"px",s.backgroundHorizontal.style.width=i.background.width+"px",s.centerContainer.style.width=i.center.width+"px",s.top.style.width=i.top.width+"px",s.bottom.style.width=i.bottom.width+"px",s.background.style.left="0",s.background.style.top="0",s.backgroundVertical.style.left=i.left.width+i.border.left+"px",s.backgroundVertical.style.top="0",s.backgroundHorizontal.style.left="0",s.backgroundHorizontal.style.top=i.top.height+"px",s.centerContainer.style.left=i.left.width+"px",s.centerContainer.style.top=i.top.height+"px",s.leftContainer.style.left="0",s.leftContainer.style.top=i.top.height+"px",s.rightContainer.style.left=i.left.width+i.center.width+"px",s.rightContainer.style.top=i.top.height+"px",s.top.style.left=i.left.width+"px",s.top.style.top="0",s.bottom.style.left=i.left.width+"px",s.bottom.style.top=i.top.height+i.centerContainer.height+"px",this._updateScrollTop();var p=this.props.scrollTop;"bottom"==e.orientation&&(p+=Math.max(this.props.centerContainer.height-this.props.center.height-this.props.border.top-this.props.border.bottom,0)),s.center.style.left="0",s.center.style.top=p+"px",s.left.style.left="0",s.left.style.top=p+"px",s.right.style.left="0",s.right.style.top=p+"px";var u=0==this.props.scrollTop?"hidden":"",f=this.props.scrollTop==this.props.scrollTopMin?"hidden":"";s.shadowTop.style.visibility=u,s.shadowBottom.style.visibility=f,s.shadowTopLeft.style.visibility=u,s.shadowBottomLeft.style.visibility=f,s.shadowTopRight.style.visibility=u,s.shadowBottomRight.style.visibility=f,this.components.forEach(function(e){t=e.redraw()||t}),t&&this.redraw()}},s.prototype.repaint=function(){throw new Error("Function repaint is deprecated. Use redraw instead.")},s.prototype.setCurrentTime=function(t){if(!this.currentTime)throw new Error("Option showCurrentTime must be true");this.currentTime.setCurrentTime(t)},s.prototype.getCurrentTime=function(){if(!this.currentTime)throw new Error("Option showCurrentTime must be true");return this.currentTime.getCurrentTime()},s.prototype._toTime=function(t){return h.toTime(this.body,this.range,t,this.props.center.width)},s.prototype._toGlobalTime=function(t){return h.toTime(this.body,this.range,t,this.props.root.width)},s.prototype._toScreen=function(t){return h.toScreen(this,t,this.props.center.width)},s.prototype._toGlobalScreen=function(t){return h.toScreen(this,t,this.props.root.width)},s.prototype._initAutoResize=function(){1==this.options.autoResize?this._startAutoResize():this._stopAutoResize()},s.prototype._startAutoResize=function(){var t=this;this._stopAutoResize(),this._onResize=function(){return 1!=t.options.autoResize?void t._stopAutoResize():void(t.dom.root&&(t.dom.root.offsetWidth!=t.props.lastWidth||t.dom.root.offsetHeight!=t.props.lastHeight)&&(t.props.lastWidth=t.dom.root.offsetWidth,t.props.lastHeight=t.dom.root.offsetHeight,t.emit("change")))},r.addEventListener(window,"resize",this._onResize),this.watchTimer=setInterval(this._onResize,1e3)},s.prototype._stopAutoResize=function(){this.watchTimer&&(clearInterval(this.watchTimer),this.watchTimer=void 0),r.removeEventListener(window,"resize",this._onResize),this._onResize=null},s.prototype._onTouch=function(){this.touch.allowDragging=!0},s.prototype._onPinch=function(){this.touch.allowDragging=!1},s.prototype._onDragStart=function(){this.touch.initialScrollTop=this.props.scrollTop},s.prototype._onDrag=function(t){if(this.touch.allowDragging){var e=t.gesture.deltaY,i=this._getScrollTop(),s=this._setScrollTop(this.touch.initialScrollTop+e);s!=i&&this.redraw()}},s.prototype._setScrollTop=function(t){return this.props.scrollTop=t,this._updateScrollTop(),this.props.scrollTop},s.prototype._updateScrollTop=function(){var t=Math.min(this.props.centerContainer.height-this.props.center.height,0);return t!=this.props.scrollTopMin&&("bottom"==this.options.orientation&&(this.props.scrollTop+=t-this.props.scrollTopMin),this.props.scrollTopMin=t),this.props.scrollTop>0&&(this.props.scrollTop=0),this.props.scrollTops;s++){var o=s%2===0?1.3*i:.5*i;this.lineTo(t+o*Math.sin(2*s*Math.PI/10),e-o*Math.cos(2*s*Math.PI/10))}this.closePath()},CanvasRenderingContext2D.prototype.roundRect=function(t,e,i,s,o){var n=Math.PI/180;0>i-2*o&&(o=i/2),0>s-2*o&&(o=s/2),this.beginPath(),this.moveTo(t+o,e),this.lineTo(t+i-o,e),this.arc(t+i-o,e+o,o,270*n,360*n,!1),this.lineTo(t+i,e+s-o),this.arc(t+i-o,e+s-o,o,0,90*n,!1),this.lineTo(t+o,e+s),this.arc(t+o,e+s-o,o,90*n,180*n,!1),this.lineTo(t,e+o),this.arc(t+o,e+o,o,180*n,270*n,!1)},CanvasRenderingContext2D.prototype.ellipse=function(t,e,i,s){var o=.5522848,n=i/2*o,r=s/2*o,a=t+i,h=e+s,d=t+i/2,l=e+s/2;this.beginPath(),this.moveTo(t,l),this.bezierCurveTo(t,l-r,d-n,e,d,e),this.bezierCurveTo(d+n,e,a,l-r,a,l),this.bezierCurveTo(a,l+r,d+n,h,d,h),this.bezierCurveTo(d-n,h,t,l+r,t,l)},CanvasRenderingContext2D.prototype.database=function(t,e,i,s){var o=1/3,n=i,r=s*o,a=.5522848,h=n/2*a,d=r/2*a,l=t+n,c=e+r,p=t+n/2,u=e+r/2,f=e+(s-r/2),m=e+s;this.beginPath(),this.moveTo(l,u),this.bezierCurveTo(l,u+d,p+h,c,p,c),this.bezierCurveTo(p-h,c,t,u+d,t,u),this.bezierCurveTo(t,u-d,p-h,e,p,e),this.bezierCurveTo(p+h,e,l,u-d,l,u),this.lineTo(l,f),this.bezierCurveTo(l,f+d,p+h,m,p,m),this.bezierCurveTo(p-h,m,t,f+d,t,f),this.lineTo(t,u)},CanvasRenderingContext2D.prototype.arrow=function(t,e,i,s){var o=t-s*Math.cos(i),n=e-s*Math.sin(i),r=t-.9*s*Math.cos(i),a=e-.9*s*Math.sin(i),h=o+s/3*Math.cos(i+.5*Math.PI),d=n+s/3*Math.sin(i+.5*Math.PI),l=o+s/3*Math.cos(i-.5*Math.PI),c=n+s/3*Math.sin(i-.5*Math.PI);this.beginPath(),this.moveTo(t,e),this.lineTo(h,d),this.lineTo(r,a),this.lineTo(l,c),this.closePath()},CanvasRenderingContext2D.prototype.dashedLine=function(t,e,i,s,o){o||(o=[10,5]),0==p&&(p=.001);var n=o.length;this.moveTo(t,e);for(var r=i-t,a=s-e,h=a/r,d=Math.sqrt(r*r+a*a),l=0,c=!0;d>=.1;){var p=o[l++%n];p>d&&(p=d);var u=Math.sqrt(p*p/(1+h*h));0>r&&(u=-u),t+=u,e+=h*u,this[c?"lineTo":"moveTo"](t,e),d-=p,c=!c}})},function(t,e,i){var s=i(63),o=i(57),n=i(58),r=i(59),a=i(60),h=i(61),d=i(62);e._loadMixin=function(t){for(var e in t)t.hasOwnProperty(e)&&(this[e]=t[e])},e._clearMixin=function(t){for(var e in t)t.hasOwnProperty(e)&&(this[e]=void 0)},e._loadPhysicsSystem=function(){this._loadMixin(s),this._loadSelectedForceSolver(),1==this.constants.configurePhysics&&this._loadPhysicsConfiguration()},e._loadClusterSystem=function(){this.clusterSession=0,this.hubThreshold=5,this._loadMixin(o)},e._loadSectorSystem=function(){this.sectors={},this.activeSector=["default"],this.sectors.active={},this.sectors.active["default"]={nodes:{},edges:{},nodeIndices:[],formationScale:1,drawingNode:void 0},this.sectors.frozen={},this.sectors.support={nodes:{},edges:{},nodeIndices:[],formationScale:1,drawingNode:void 0},this.nodeIndices=this.sectors.active["default"].nodeIndices,this._loadMixin(n)},e._loadSelectionSystem=function(){this.selectionObj={nodes:{},edges:{}},this._loadMixin(r)},e._loadManipulationSystem=function(){this.blockConnectingEdgeSelection=!1,this.forceAppendSelection=!1,1==this.constants.dataManipulation.enabled?(void 0===this.manipulationDiv&&(this.manipulationDiv=document.createElement("div"),this.manipulationDiv.className="network-manipulationDiv",this.manipulationDiv.id="network-manipulationDiv",this.manipulationDiv.style.display=1==this.editMode?"block":"none",this.frame.appendChild(this.manipulationDiv)),void 0===this.editModeDiv&&(this.editModeDiv=document.createElement("div"),this.editModeDiv.className="network-manipulation-editMode",this.editModeDiv.id="network-manipulation-editMode",this.editModeDiv.style.display=1==this.editMode?"none":"block",this.frame.appendChild(this.editModeDiv)),void 0===this.closeDiv&&(this.closeDiv=document.createElement("div"),this.closeDiv.className="network-manipulation-closeDiv",this.closeDiv.id="network-manipulation-closeDiv",this.closeDiv.style.display=this.manipulationDiv.style.display,this.frame.appendChild(this.closeDiv)),this._loadMixin(a),this._createManipulatorBar()):void 0!==this.manipulationDiv&&(this._createManipulatorBar(),this.frame.removeChild(this.manipulationDiv),this.frame.removeChild(this.editModeDiv),this.frame.removeChild(this.closeDiv),this.manipulationDiv=void 0,this.editModeDiv=void 0,this.closeDiv=void 0,this._clearMixin(a))},e._loadNavigationControls=function(){this._loadMixin(h),this._cleanNavigation(),1==this.constants.navigation.enabled&&this._loadNavigationElements()},e._loadHierarchySystem=function(){this._loadMixin(d)}},function(t,e,i){function s(t){this.active=!1,this.dom={container:t},this.dom.overlay=document.createElement("div"),this.dom.overlay.className="overlay",this.dom.container.appendChild(this.dom.overlay),this.hammer=a(this.dom.overlay,{prevent_default:!1}),this.hammer.on("tap",this._onTapOverlay.bind(this));var e=this,i=["touch","pinch","doubletap","hold","dragstart","drag","dragend","mousewheel","DOMMouseScroll"];i.forEach(function(t){e.hammer.on(t,function(t){t.stopPropagation()})}),this.windowHammer=a(window,{prevent_default:!1}),this.windowHammer.on("tap",function(i){o(i.target,t)||e.deactivate()}),this.escListener=this.deactivate.bind(this)}function o(t,e){for(;t;){if(t===e)return!0;t=t.parentNode}return!1}var n=i(54),r=i(53),a=i(45),h=i(1);r(s.prototype),s.current=null,s.prototype.destroy=function(){this.deactivate(),this.dom.overlay.parentNode.removeChild(this.dom.overlay),this.hammer=null,this.windowHammer=null},s.prototype.activate=function(){s.current&&s.current.deactivate(),s.current=this,this.active=!0,this.dom.overlay.style.display="none",h.addClassName(this.dom.container,"vis-active"),this.emit("change"),this.emit("activate"),n.bind("esc",this.escListener)},s.prototype.deactivate=function(){this.active=!1,this.dom.overlay.style.display="",h.removeClassName(this.dom.container,"vis-active"),n.unbind("esc",this.escListener),this.emit("change"),this.emit("deactivate")},s.prototype._onTapOverlay=function(t){this.activate(),t.stopPropagation()},t.exports=s},function(t){function e(t){return t?i(t):void 0}function i(t){for(var i in e.prototype)t[i]=e.prototype[i];return t}t.exports=e,e.prototype.on=e.prototype.addEventListener=function(t,e){return this._callbacks=this._callbacks||{},(this._callbacks[t]=this._callbacks[t]||[]).push(e),this},e.prototype.once=function(t,e){function i(){s.off(t,i),e.apply(this,arguments)}var s=this;return this._callbacks=this._callbacks||{},i.fn=e,this.on(t,i),this},e.prototype.off=e.prototype.removeListener=e.prototype.removeAllListeners=e.prototype.removeEventListener=function(t,e){if(this._callbacks=this._callbacks||{},0==arguments.length)return this._callbacks={},this;var i=this._callbacks[t];if(!i)return this;if(1==arguments.length)return delete this._callbacks[t],this;for(var s,o=0;os;++s)i[s].apply(this,e)}return this},e.prototype.listeners=function(t){return this._callbacks=this._callbacks||{},this._callbacks[t]||[]},e.prototype.hasListeners=function(t){return!!this.listeners(t).length}},function(t){function e(t,e,i){return t.addEventListener?t.addEventListener(e,i,!1):void t.attachEvent("on"+e,i)}function i(t){return"keypress"==t.type?String.fromCharCode(t.which):_[t.which]?_[t.which]:x[t.which]?x[t.which]:String.fromCharCode(t.which).toLowerCase()}function s(t){var e=t.target||t.srcElement,i=e.tagName;return(" "+e.className+" ").indexOf(" mousetrap ")>-1?!1:"INPUT"==i||"SELECT"==i||"TEXTAREA"==i||e.contentEditable&&"true"==e.contentEditable}function o(t,e){return t.sort().join(",")===e.sort().join(",")}function n(t){t=t||{};var e,i=!1;for(e in C)t[e]?i=!0:C[e]=0;i||(T=!1)}function r(t,e,i,s,n){var r,a,h=[];if(!D[t])return[];for("keyup"==i&&c(t)&&(e=[t]),r=0;r95&&112>t||_.hasOwnProperty(t)&&(y[_[t]]=t)}return y}function f(t,e,i){return i||(i=u()[t]?"keydown":"keypress"),"keypress"==i&&e.length&&(i="keydown"),i}function m(t,e,s,o){C[t]=0,o||(o=f(e[0],[]));var r,a=function(){T=o,++C[t],p()},d=function(t){h(s,t),"keyup"!==o&&(E=i(t)),setTimeout(n,10)};for(r=0;r1)return m(t,d,e,i);for(h="+"===t?["+"]:t.split("+"),n=0;n":".","?":"/","|":"\\"},S={option:"alt",command:"meta","return":"enter",escape:"esc"},D={},M={},C={},E=!1,T=!1,O=1;20>O;++O)_[111+O]="f"+O;for(O=0;9>=O;++O)_[O+96]=O;e(document,"keypress",l),e(document,"keydown",l),e(document,"keyup",l);var L={bind:function(t,e,i){return v(t instanceof Array?t:[t],e,i),M[t+":"+i]=e,this},unbind:function(t,e){return M[t+":"+e]&&(delete M[t+":"+e],this.bind(t,function(){},e)),this},trigger:function(t,e){return M[t+":"+e](),this},reset:function(){return D={},M={},this}};t.exports=L},function(t,e,i){var s;(function(t,o){(function(n){function r(t,e,i){switch(arguments.length){case 2:return null!=t?t:e;case 3:return null!=t?t:null!=e?e:i;default:throw new Error("Implement me")}}function a(t,e){return Le.call(t,e)}function h(){return{empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1}}function d(t){De.suppressDeprecationWarnings===!1&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+t)}function l(t,e){var i=!0;return v(function(){return i&&(d(t),i=!1),e.apply(this,arguments)},e)}function c(t,e){xi[t]||(d(e),xi[t]=!0)}function p(t,e){return function(i){return _(t.call(this,i),e)}}function u(t,e){return function(i){return this.localeData().ordinal(t.call(this,i),e)}}function f(){}function m(t,e){e!==!1&&P(t),y(this,t),this._d=new Date(+t._d)}function g(t){var e=O(t),i=e.year||0,s=e.quarter||0,o=e.month||0,n=e.week||0,r=e.day||0,a=e.hour||0,h=e.minute||0,d=e.second||0,l=e.millisecond||0;this._milliseconds=+l+1e3*d+6e4*h+36e5*a,this._days=+r+7*n,this._months=+o+3*s+12*i,this._data={},this._locale=De.localeData(),this._bubble()}function v(t,e){for(var i in e)a(e,i)&&(t[i]=e[i]);return a(e,"toString")&&(t.toString=e.toString),a(e,"valueOf")&&(t.valueOf=e.valueOf),t}function y(t,e){var i,s,o;if("undefined"!=typeof e._isAMomentObject&&(t._isAMomentObject=e._isAMomentObject),"undefined"!=typeof e._i&&(t._i=e._i),"undefined"!=typeof e._f&&(t._f=e._f),"undefined"!=typeof e._l&&(t._l=e._l),"undefined"!=typeof e._strict&&(t._strict=e._strict),"undefined"!=typeof e._tzm&&(t._tzm=e._tzm),"undefined"!=typeof e._isUTC&&(t._isUTC=e._isUTC),"undefined"!=typeof e._offset&&(t._offset=e._offset),"undefined"!=typeof e._pf&&(t._pf=e._pf),"undefined"!=typeof e._locale&&(t._locale=e._locale),He.length>0)for(i in He)s=He[i],o=e[s],"undefined"!=typeof o&&(t[s]=o);return t}function b(t){return 0>t?Math.ceil(t):Math.floor(t)}function _(t,e,i){for(var s=""+Math.abs(t),o=t>=0;s.lengths;s++)(i&&t[s]!==e[s]||!i&&k(t[s])!==k(e[s]))&&r++;return r+n}function T(t){if(t){var e=t.toLowerCase().replace(/(.)s$/,"$1");t=fi[t]||mi[e]||e}return t}function O(t){var e,i,s={};for(i in t)a(t,i)&&(e=T(i),e&&(s[e]=t[i]));return s}function L(t){var e,i;if(0===t.indexOf("week"))e=7,i="day";else{if(0!==t.indexOf("month"))return;e=12,i="month"}De[t]=function(s,o){var r,a,h=De._locale[t],d=[];if("number"==typeof s&&(o=s,s=n),a=function(t){var e=De().utc().set(i,t);return h.call(De._locale,e,s||"")},null!=o)return a(o);for(r=0;e>r;r++)d.push(a(r));return d}}function k(t){var e=+t,i=0;return 0!==e&&isFinite(e)&&(i=e>=0?Math.floor(e):Math.ceil(e)),i}function N(t,e){return new Date(Date.UTC(t,e+1,0)).getUTCDate()}function I(t,e,i){return pe(De([t,11,31+e-i]),e,i).week}function A(t){return z(t)?366:365}function z(t){return t%4===0&&t%100!==0||t%400===0}function P(t){var e;t._a&&-2===t._pf.overflow&&(e=t._a[Ne]<0||t._a[Ne]>11?Ne:t._a[Ie]<1||t._a[Ie]>N(t._a[ke],t._a[Ne])?Ie:t._a[Ae]<0||t._a[Ae]>23?Ae:t._a[ze]<0||t._a[ze]>59?ze:t._a[Pe]<0||t._a[Pe]>59?Pe:t._a[Re]<0||t._a[Re]>999?Re:-1,t._pf._overflowDayOfYear&&(ke>e||e>Ie)&&(e=Ie),t._pf.overflow=e)}function R(t){return null==t._isValid&&(t._isValid=!isNaN(t._d.getTime())&&t._pf.overflow<0&&!t._pf.empty&&!t._pf.invalidMonth&&!t._pf.nullInput&&!t._pf.invalidFormat&&!t._pf.userInvalidated,t._strict&&(t._isValid=t._isValid&&0===t._pf.charsLeftOver&&0===t._pf.unusedTokens.length)),t._isValid}function F(t){return t?t.toLowerCase().replace("_","-"):t}function H(t){for(var e,i,s,o,n=0;n0;){if(s=Y(o.slice(0,e).join("-")))return s;if(i&&i.length>=e&&E(o,i,!0)>=e-1)break;e--}n++}return null}function Y(t){var e=null;if(!Fe[t]&&Ye)try{e=De.locale(),!function(){var t=new Error('Cannot find module "./locale"');throw t.code="MODULE_NOT_FOUND",t}(),De.locale(e)}catch(i){}return Fe[t]}function B(t,e){return e._isUTC?De(t).zone(e._offset||0):De(t).local()}function W(t){return t.match(/\[[\s\S]/)?t.replace(/^\[|\]$/g,""):t.replace(/\\/g,"")}function G(t){var e,i,s=t.match(je);for(e=0,i=s.length;i>e;e++)s[e]=_i[s[e]]?_i[s[e]]:W(s[e]);return function(o){var n="";for(e=0;i>e;e++)n+=s[e]instanceof Function?s[e].call(o,t):s[e];return n}}function j(t,e){return t.isValid()?(e=U(e,t.localeData()),gi[e]||(gi[e]=G(e)),gi[e](t)):t.localeData().invalidDate()}function U(t,e){function i(t){return e.longDateFormat(t)||t}var s=5;for(Ue.lastIndex=0;s>=0&&Ue.test(t);)t=t.replace(Ue,i),Ue.lastIndex=0,s-=1;return t}function V(t,e){var i,s=e._strict;switch(t){case"Q":return ii;case"DDDD":return oi;case"YYYY":case"GGGG":case"gggg":return s?ni:qe;case"Y":case"G":case"g":return ai;case"YYYYYY":case"YYYYY":case"GGGGG":case"ggggg":return s?ri:Ze;case"S":if(s)return ii;case"SS":if(s)return si;case"SSS":if(s)return oi;case"DDD":return Xe;case"MMM":case"MMMM":case"dd":case"ddd":case"dddd":return Qe;case"a":case"A":return e._locale._meridiemParse;case"X":return ti;case"Z":case"ZZ":return $e;case"T":return Je;case"SSSS":return Ke;case"MM":case"DD":case"YY":case"GG":case"gg":case"HH":case"hh":case"mm":case"ss":case"ww":case"WW":return s?si:Ve;case"M":case"D":case"d":case"H":case"h":case"m":case"s":case"w":case"W":case"e":case"E":return Ve;case"Do":return ei;default:return i=new RegExp(ee(te(t.replace("\\","")),"i"))}}function X(t){t=t||"";var e=t.match($e)||[],i=e[e.length-1]||[],s=(i+"").match(pi)||["-",0,0],o=+(60*s[1])+k(s[2]);return"+"===s[0]?-o:o}function q(t,e,i){var s,o=i._a;switch(t){case"Q":null!=e&&(o[Ne]=3*(k(e)-1));break;case"M":case"MM":null!=e&&(o[Ne]=k(e)-1);break;case"MMM":case"MMMM":s=i._locale.monthsParse(e),null!=s?o[Ne]=s:i._pf.invalidMonth=e;break;case"D":case"DD":null!=e&&(o[Ie]=k(e));break;case"Do":null!=e&&(o[Ie]=k(parseInt(e,10)));break;case"DDD":case"DDDD":null!=e&&(i._dayOfYear=k(e));break;case"YY":o[ke]=De.parseTwoDigitYear(e);break;case"YYYY":case"YYYYY":case"YYYYYY":o[ke]=k(e);break;case"a":case"A":i._isPm=i._locale.isPM(e);break;case"H":case"HH":case"h":case"hh":o[Ae]=k(e);break;case"m":case"mm":o[ze]=k(e);break;case"s":case"ss":o[Pe]=k(e);break;case"S":case"SS":case"SSS":case"SSSS":o[Re]=k(1e3*("0."+e));break;case"X":i._d=new Date(1e3*parseFloat(e));break;case"Z":case"ZZ":i._useUTC=!0,i._tzm=X(e);break;case"dd":case"ddd":case"dddd":s=i._locale.weekdaysParse(e),null!=s?(i._w=i._w||{},i._w.d=s):i._pf.invalidWeekday=e;break;case"w":case"ww":case"W":case"WW":case"d":case"e":case"E":t=t.substr(0,1);case"gggg":case"GGGG":case"GGGGG":t=t.substr(0,2),e&&(i._w=i._w||{},i._w[t]=k(e));break;case"gg":case"GG":i._w=i._w||{},i._w[t]=De.parseTwoDigitYear(e)}}function Z(t){var e,i,s,o,n,a,h;e=t._w,null!=e.GG||null!=e.W||null!=e.E?(n=1,a=4,i=r(e.GG,t._a[ke],pe(De(),1,4).year),s=r(e.W,1),o=r(e.E,1)):(n=t._locale._week.dow,a=t._locale._week.doy,i=r(e.gg,t._a[ke],pe(De(),n,a).year),s=r(e.w,1),null!=e.d?(o=e.d,n>o&&++s):o=null!=e.e?e.e+n:n),h=ue(i,s,o,a,n),t._a[ke]=h.year,t._dayOfYear=h.dayOfYear}function K(t){var e,i,s,o,n=[];if(!t._d){for(s=$(t),t._w&&null==t._a[Ie]&&null==t._a[Ne]&&Z(t),t._dayOfYear&&(o=r(t._a[ke],s[ke]),t._dayOfYear>A(o)&&(t._pf._overflowDayOfYear=!0),i=he(o,0,t._dayOfYear),t._a[Ne]=i.getUTCMonth(),t._a[Ie]=i.getUTCDate()),e=0;3>e&&null==t._a[e];++e)t._a[e]=n[e]=s[e];for(;7>e;e++)t._a[e]=n[e]=null==t._a[e]?2===e?1:0:t._a[e];t._d=(t._useUTC?he:ae).apply(null,n),null!=t._tzm&&t._d.setUTCMinutes(t._d.getUTCMinutes()+t._tzm)}}function Q(t){var e;t._d||(e=O(t._i),t._a=[e.year,e.month,e.day,e.hour,e.minute,e.second,e.millisecond],K(t))}function $(t){var e=new Date;return t._useUTC?[e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()]:[e.getFullYear(),e.getMonth(),e.getDate()]}function J(t){if(t._f===De.ISO_8601)return void se(t);t._a=[],t._pf.empty=!0;var e,i,s,o,n,r=""+t._i,a=r.length,h=0;for(s=U(t._f,t._locale).match(je)||[],e=0;e0&&t._pf.unusedInput.push(n),r=r.slice(r.indexOf(i)+i.length),h+=i.length),_i[o]?(i?t._pf.empty=!1:t._pf.unusedTokens.push(o),q(o,i,t)):t._strict&&!i&&t._pf.unusedTokens.push(o);t._pf.charsLeftOver=a-h,r.length>0&&t._pf.unusedInput.push(r),t._isPm&&t._a[Ae]<12&&(t._a[Ae]+=12),t._isPm===!1&&12===t._a[Ae]&&(t._a[Ae]=0),K(t),P(t)}function te(t){return t.replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(t,e,i,s,o){return e||i||s||o})}function ee(t){return t.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function ie(t){var e,i,s,o,n;if(0===t._f.length)return t._pf.invalidFormat=!0,void(t._d=new Date(0/0));for(o=0;on)&&(s=n,i=e));v(t,i||e)}function se(t){var e,i,s=t._i,o=hi.exec(s);if(o){for(t._pf.iso=!0,e=0,i=li.length;i>e;e++)if(li[e][1].exec(s)){t._f=li[e][0]+(o[6]||" ");break}for(e=0,i=ci.length;i>e;e++)if(ci[e][1].exec(s)){t._f+=ci[e][0];break}s.match($e)&&(t._f+="Z"),J(t)}else t._isValid=!1}function oe(t){se(t),t._isValid===!1&&(delete t._isValid,De.createFromInputFallback(t))}function ne(t,e){var i,s=[];for(i=0;it&&a.setFullYear(t),a}function he(t){var e=new Date(Date.UTC.apply(null,arguments));return 1970>t&&e.setUTCFullYear(t),e}function de(t,e){if("string"==typeof t)if(isNaN(t)){if(t=e.weekdaysParse(t),"number"!=typeof t)return null}else t=parseInt(t,10);return t}function le(t,e,i,s,o){return o.relativeTime(e||1,!!i,t,s)}function ce(t,e,i){var s=De.duration(t).abs(),o=Oe(s.as("s")),n=Oe(s.as("m")),r=Oe(s.as("h")),a=Oe(s.as("d")),h=Oe(s.as("M")),d=Oe(s.as("y")),l=o0,l[4]=i,le.apply({},l)}function pe(t,e,i){var s,o=i-e,n=i-t.day();return n>o&&(n-=7),o-7>n&&(n+=7),s=De(t).add(n,"d"),{week:Math.ceil(s.dayOfYear()/7),year:s.year()}}function ue(t,e,i,s,o){var n,r,a=he(t,0,1).getUTCDay();return a=0===a?7:a,i=null!=i?i:o,n=o-a+(a>s?7:0)-(o>a?7:0),r=7*(e-1)+(i-o)+n+1,{year:r>0?t:t-1,dayOfYear:r>0?r:A(t-1)+r}}function fe(t){var e=t._i,i=t._f;return t._locale=t._locale||De.localeData(t._l),null===e||i===n&&""===e?De.invalid({nullInput:!0}):("string"==typeof e&&(t._i=e=t._locale.preparse(e)),De.isMoment(e)?new m(e,!0):(i?M(i)?ie(t):J(t):re(t),new m(t)))}function me(t,e){var i,s;if(1===e.length&&M(e[0])&&(e=e[0]),!e.length)return De();for(i=e[0],s=1;s=0?"+":"-";return e+_(Math.abs(t),6)},gg:function(){return _(this.weekYear()%100,2)},gggg:function(){return _(this.weekYear(),4)},ggggg:function(){return _(this.weekYear(),5)},GG:function(){return _(this.isoWeekYear()%100,2)},GGGG:function(){return _(this.isoWeekYear(),4)},GGGGG:function(){return _(this.isoWeekYear(),5)},e:function(){return this.weekday()},E:function(){return this.isoWeekday()},a:function(){return this.localeData().meridiem(this.hours(),this.minutes(),!0)},A:function(){return this.localeData().meridiem(this.hours(),this.minutes(),!1)},H:function(){return this.hours()},h:function(){return this.hours()%12||12},m:function(){return this.minutes()},s:function(){return this.seconds()},S:function(){return k(this.milliseconds()/100)},SS:function(){return _(k(this.milliseconds()/10),2)},SSS:function(){return _(this.milliseconds(),3)},SSSS:function(){return _(this.milliseconds(),3)},Z:function(){var t=-this.zone(),e="+";return 0>t&&(t=-t,e="-"),e+_(k(t/60),2)+":"+_(k(t)%60,2)},ZZ:function(){var t=-this.zone(),e="+";return 0>t&&(t=-t,e="-"),e+_(k(t/60),2)+_(k(t)%60,2)},z:function(){return this.zoneAbbr()},zz:function(){return this.zoneName()},X:function(){return this.unix()},Q:function(){return this.quarter()}},xi={},wi=["months","monthsShort","weekdays","weekdaysShort","weekdaysMin"];yi.length;)Ce=yi.pop(),_i[Ce+"o"]=u(_i[Ce],Ce);for(;bi.length;)Ce=bi.pop(),_i[Ce+Ce]=p(_i[Ce],2);_i.DDDD=p(_i.DDD,3),v(f.prototype,{set:function(t){var e,i;for(i in t)e=t[i],"function"==typeof e?this[i]=e:this["_"+i]=e},_months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),months:function(t){return this._months[t.month()]},_monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),monthsShort:function(t){return this._monthsShort[t.month()]},monthsParse:function(t){var e,i,s;for(this._monthsParse||(this._monthsParse=[]),e=0;12>e;e++)if(this._monthsParse[e]||(i=De.utc([2e3,e]),s="^"+this.months(i,"")+"|^"+this.monthsShort(i,""),this._monthsParse[e]=new RegExp(s.replace(".",""),"i")),this._monthsParse[e].test(t))return e},_weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdays:function(t){return this._weekdays[t.day()]},_weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysShort:function(t){return this._weekdaysShort[t.day()]},_weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),weekdaysMin:function(t){return this._weekdaysMin[t.day()]},weekdaysParse:function(t){var e,i,s;for(this._weekdaysParse||(this._weekdaysParse=[]),e=0;7>e;e++)if(this._weekdaysParse[e]||(i=De([2e3,1]).day(e),s="^"+this.weekdays(i,"")+"|^"+this.weekdaysShort(i,"")+"|^"+this.weekdaysMin(i,""),this._weekdaysParse[e]=new RegExp(s.replace(".",""),"i")),this._weekdaysParse[e].test(t))return e},_longDateFormat:{LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY LT",LLLL:"dddd, MMMM D, YYYY LT"},longDateFormat:function(t){var e=this._longDateFormat[t];return!e&&this._longDateFormat[t.toUpperCase()]&&(e=this._longDateFormat[t.toUpperCase()].replace(/MMMM|MM|DD|dddd/g,function(t){return t.slice(1)}),this._longDateFormat[t]=e),e},isPM:function(t){return"p"===(t+"").toLowerCase().charAt(0)},_meridiemParse:/[ap]\.?m?\.?/i,meridiem:function(t,e,i){return t>11?i?"pm":"PM":i?"am":"AM"},_calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},calendar:function(t,e){var i=this._calendar[t];return"function"==typeof i?i.apply(e):i},_relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},relativeTime:function(t,e,i,s){var o=this._relativeTime[i];return"function"==typeof o?o(t,e,i,s):o.replace(/%d/i,t)},pastFuture:function(t,e){var i=this._relativeTime[t>0?"future":"past"];return"function"==typeof i?i(e):i.replace(/%s/i,e)},ordinal:function(t){return this._ordinal.replace("%d",t)},_ordinal:"%d",preparse:function(t){return t},postformat:function(t){return t},week:function(t){return pe(t,this._week.dow,this._week.doy).week},_week:{dow:0,doy:6},_invalidDate:"Invalid date",invalidDate:function(){return this._invalidDate}}),De=function(t,e,i,s){var o;return"boolean"==typeof i&&(s=i,i=n),o={},o._isAMomentObject=!0,o._i=t,o._f=e,o._l=i,o._strict=s,o._isUTC=!1,o._pf=h(),fe(o)},De.suppressDeprecationWarnings=!1,De.createFromInputFallback=l("moment construction falls back to js Date. This is discouraged and will be removed in upcoming major release. Please refer to https://github.com/moment/moment/issues/1407 for more info.",function(t){t._d=new Date(t._i)}),De.min=function(){var t=[].slice.call(arguments,0);return me("isBefore",t)},De.max=function(){var t=[].slice.call(arguments,0);return me("isAfter",t)},De.utc=function(t,e,i,s){var o;return"boolean"==typeof i&&(s=i,i=n),o={},o._isAMomentObject=!0,o._useUTC=!0,o._isUTC=!0,o._l=i,o._i=t,o._f=e,o._strict=s,o._pf=h(),fe(o).utc()},De.unix=function(t){return De(1e3*t)},De.duration=function(t,e){var i,s,o,n,r=t,h=null;return De.isDuration(t)?r={ms:t._milliseconds,d:t._days,M:t._months}:"number"==typeof t?(r={},e?r[e]=t:r.milliseconds=t):(h=We.exec(t))?(i="-"===h[1]?-1:1,r={y:0,d:k(h[Ie])*i,h:k(h[Ae])*i,m:k(h[ze])*i,s:k(h[Pe])*i,ms:k(h[Re])*i}):(h=Ge.exec(t))?(i="-"===h[1]?-1:1,o=function(t){var e=t&&parseFloat(t.replace(",","."));return(isNaN(e)?0:e)*i},r={y:o(h[2]),M:o(h[3]),d:o(h[4]),h:o(h[5]),m:o(h[6]),s:o(h[7]),w:o(h[8])}):"object"==typeof r&&("from"in r||"to"in r)&&(n=w(De(r.from),De(r.to)),r={},r.ms=n.milliseconds,r.M=n.months),s=new g(r),De.isDuration(t)&&a(t,"_locale")&&(s._locale=t._locale),s},De.version=Ee,De.defaultFormat=di,De.ISO_8601=function(){},De.momentProperties=He,De.updateOffset=function(){},De.relativeTimeThreshold=function(t,e){return vi[t]===n?!1:e===n?vi[t]:(vi[t]=e,!0)},De.lang=l("moment.lang is deprecated. Use moment.locale instead.",function(t,e){return De.locale(t,e)}),De.locale=function(t,e){var i;return t&&(i="undefined"!=typeof e?De.defineLocale(t,e):De.localeData(t),i&&(De.duration._locale=De._locale=i)),De._locale._abbr},De.defineLocale=function(t,e){return null!==e?(e.abbr=t,Fe[t]||(Fe[t]=new f),Fe[t].set(e),De.locale(t),Fe[t]):(delete Fe[t],null)},De.langData=l("moment.langData is deprecated. Use moment.localeData instead.",function(t){return De.localeData(t)}),De.localeData=function(t){var e;if(t&&t._locale&&t._locale._abbr&&(t=t._locale._abbr),!t)return De._locale;if(!M(t)){if(e=Y(t))return e;t=[t]}return H(t)},De.isMoment=function(t){return t instanceof m||null!=t&&a(t,"_isAMomentObject")},De.isDuration=function(t){return t instanceof g};for(Ce=wi.length-1;Ce>=0;--Ce)L(wi[Ce]);De.normalizeUnits=function(t){return T(t)},De.invalid=function(t){var e=De.utc(0/0);return null!=t?v(e._pf,t):e._pf.userInvalidated=!0,e},De.parseZone=function(){return De.apply(null,arguments).parseZone()},De.parseTwoDigitYear=function(t){return k(t)+(k(t)>68?1900:2e3)},v(De.fn=m.prototype,{clone:function(){return De(this)},valueOf:function(){return+this._d+6e4*(this._offset||0)},unix:function(){return Math.floor(+this/1e3)},toString:function(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},toDate:function(){return this._offset?new Date(+this):this._d},toISOString:function(){var t=De(this).utc();return 00:!1},parsingFlags:function(){return v({},this._pf)},invalidAt:function(){return this._pf.overflow},utc:function(t){return this.zone(0,t)},local:function(t){return this._isUTC&&(this.zone(0,t),this._isUTC=!1,t&&this.add(this._dateTzOffset(),"m")),this},format:function(t){var e=j(this,t||De.defaultFormat);return this.localeData().postformat(e)},add:S(1,"add"),subtract:S(-1,"subtract"),diff:function(t,e,i){var s,o,n,r=B(t,this),a=6e4*(this.zone()-r.zone());return e=T(e),"year"===e||"month"===e?(s=432e5*(this.daysInMonth()+r.daysInMonth()),o=12*(this.year()-r.year())+(this.month()-r.month()),n=this-De(this).startOf("month")-(r-De(r).startOf("month")),n-=6e4*(this.zone()-De(this).startOf("month").zone()-(r.zone()-De(r).startOf("month").zone())),o+=n/s,"year"===e&&(o/=12)):(s=this-r,o="second"===e?s/1e3:"minute"===e?s/6e4:"hour"===e?s/36e5:"day"===e?(s-a)/864e5:"week"===e?(s-a)/6048e5:s),i?o:b(o)},from:function(t,e){return De.duration({to:this,from:t}).locale(this.locale()).humanize(!e)},fromNow:function(t){return this.from(De(),t)},calendar:function(t){var e=t||De(),i=B(e,this).startOf("day"),s=this.diff(i,"days",!0),o=-6>s?"sameElse":-1>s?"lastWeek":0>s?"lastDay":1>s?"sameDay":2>s?"nextDay":7>s?"nextWeek":"sameElse";return this.format(this.localeData().calendar(o,this))},isLeapYear:function(){return z(this.year())},isDST:function(){return this.zone()+t):+this.clone().startOf(e)>+De(t).startOf(e)},isBefore:function(t,e){return e=T("undefined"!=typeof e?e:"millisecond"),"millisecond"===e?(t=De.isMoment(t)?t:De(t),+t>+this):+this.clone().startOf(e)<+De(t).startOf(e)},isSame:function(t,e){return e=T(e||"millisecond"),"millisecond"===e?(t=De.isMoment(t)?t:De(t),+this===+t):+this.clone().startOf(e)===+B(t,this).startOf(e)},min:l("moment().min is deprecated, use moment.min instead. https://github.com/moment/moment/issues/1548",function(t){return t=De.apply(null,arguments),this>t?this:t}),max:l("moment().max is deprecated, use moment.max instead. https://github.com/moment/moment/issues/1548",function(t){return t=De.apply(null,arguments),t>this?this:t}),zone:function(t,e){var i,s=this._offset||0;return null==t?this._isUTC?s:this._dateTzOffset():("string"==typeof t&&(t=X(t)),Math.abs(t)<16&&(t=60*t),!this._isUTC&&e&&(i=this._dateTzOffset()),this._offset=t,this._isUTC=!0,null!=i&&this.subtract(i,"m"),s!==t&&(!e||this._changeInProgress?D(this,De.duration(s-t,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,De.updateOffset(this,!0),this._changeInProgress=null)),this)},zoneAbbr:function(){return this._isUTC?"UTC":""},zoneName:function(){return this._isUTC?"Coordinated Universal Time":""},parseZone:function(){return this._tzm?this.zone(this._tzm):"string"==typeof this._i&&this.zone(this._i),this},hasAlignedHourOffset:function(t){return t=t?De(t).zone():0,(this.zone()-t)%60===0},daysInMonth:function(){return N(this.year(),this.month())},dayOfYear:function(t){var e=Oe((De(this).startOf("day")-De(this).startOf("year"))/864e5)+1;return null==t?e:this.add(t-e,"d")},quarter:function(t){return null==t?Math.ceil((this.month()+1)/3):this.month(3*(t-1)+this.month()%3)},weekYear:function(t){var e=pe(this,this.localeData()._week.dow,this.localeData()._week.doy).year;return null==t?e:this.add(t-e,"y")},isoWeekYear:function(t){var e=pe(this,1,4).year;return null==t?e:this.add(t-e,"y")},week:function(t){var e=this.localeData().week(this);return null==t?e:this.add(7*(t-e),"d")},isoWeek:function(t){var e=pe(this,1,4).week;return null==t?e:this.add(7*(t-e),"d")},weekday:function(t){var e=(this.day()+7-this.localeData()._week.dow)%7;return null==t?e:this.add(t-e,"d")},isoWeekday:function(t){return null==t?this.day()||7:this.day(this.day()%7?t:t-7)},isoWeeksInYear:function(){return I(this.year(),1,4)},weeksInYear:function(){var t=this.localeData()._week;return I(this.year(),t.dow,t.doy)},get:function(t){return t=T(t),this[t]()},set:function(t,e){return t=T(t),"function"==typeof this[t]&&this[t](e),this},locale:function(t){var e;return t===n?this._locale._abbr:(e=De.localeData(t),null!=e&&(this._locale=e),this)},lang:l("moment().lang() is deprecated. Use moment().localeData() instead.",function(t){return t===n?this.localeData():this.locale(t)}),localeData:function(){return this._locale},_dateTzOffset:function(){return 15*Math.round(this._d.getTimezoneOffset()/15)}}),De.fn.millisecond=De.fn.milliseconds=be("Milliseconds",!1),De.fn.second=De.fn.seconds=be("Seconds",!1),De.fn.minute=De.fn.minutes=be("Minutes",!1),De.fn.hour=De.fn.hours=be("Hours",!0),De.fn.date=be("Date",!0),De.fn.dates=l("dates accessor is deprecated. Use date instead.",be("Date",!0)),De.fn.year=be("FullYear",!0),De.fn.years=l("years accessor is deprecated. Use year instead.",be("FullYear",!0)),De.fn.days=De.fn.day,De.fn.months=De.fn.month,De.fn.weeks=De.fn.week,De.fn.isoWeeks=De.fn.isoWeek,De.fn.quarters=De.fn.quarter,De.fn.toJSON=De.fn.toISOString,v(De.duration.fn=g.prototype,{_bubble:function(){var t,e,i,s=this._milliseconds,o=this._days,n=this._months,r=this._data,a=0;r.milliseconds=s%1e3,t=b(s/1e3),r.seconds=t%60,e=b(t/60),r.minutes=e%60,i=b(e/60),r.hours=i%24,o+=b(i/24),a=b(_e(o)),o-=b(xe(a)),n+=b(o/30),o%=30,a+=b(n/12),n%=12,r.days=o,r.months=n,r.years=a},abs:function(){return this._milliseconds=Math.abs(this._milliseconds),this._days=Math.abs(this._days),this._months=Math.abs(this._months),this._data.milliseconds=Math.abs(this._data.milliseconds),this._data.seconds=Math.abs(this._data.seconds),this._data.minutes=Math.abs(this._data.minutes),this._data.hours=Math.abs(this._data.hours),this._data.months=Math.abs(this._data.months),this._data.years=Math.abs(this._data.years),this},weeks:function(){return b(this.days()/7)},valueOf:function(){return this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*k(this._months/12)},humanize:function(t){var e=ce(this,!t,this.localeData()); +return t&&(e=this.localeData().pastFuture(+this,e)),this.localeData().postformat(e)},add:function(t,e){var i=De.duration(t,e);return this._milliseconds+=i._milliseconds,this._days+=i._days,this._months+=i._months,this._bubble(),this},subtract:function(t,e){var i=De.duration(t,e);return this._milliseconds-=i._milliseconds,this._days-=i._days,this._months-=i._months,this._bubble(),this},get:function(t){return t=T(t),this[t.toLowerCase()+"s"]()},as:function(t){var e,i;if(t=T(t),"month"===t||"year"===t)return e=this._days+this._milliseconds/864e5,i=this._months+12*_e(e),"month"===t?i:i/12;switch(e=this._days+xe(this._months/12),t){case"week":return e/7+this._milliseconds/6048e5;case"day":return e+this._milliseconds/864e5;case"hour":return 24*e+this._milliseconds/36e5;case"minute":return 24*e*60+this._milliseconds/6e4;case"second":return 24*e*60*60+this._milliseconds/1e3;case"millisecond":return Math.floor(24*e*60*60*1e3)+this._milliseconds;default:throw new Error("Unknown unit "+t)}},lang:De.fn.lang,locale:De.fn.locale,toIsoString:l("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",function(){return this.toISOString()}),toISOString:function(){var t=Math.abs(this.years()),e=Math.abs(this.months()),i=Math.abs(this.days()),s=Math.abs(this.hours()),o=Math.abs(this.minutes()),n=Math.abs(this.seconds()+this.milliseconds()/1e3);return this.asSeconds()?(this.asSeconds()<0?"-":"")+"P"+(t?t+"Y":"")+(e?e+"M":"")+(i?i+"D":"")+(s||o||n?"T":"")+(s?s+"H":"")+(o?o+"M":"")+(n?n+"S":""):"P0D"},localeData:function(){return this._locale}}),De.duration.fn.toString=De.duration.fn.toISOString;for(Ce in ui)a(ui,Ce)&&we(Ce.toLowerCase());De.duration.fn.asMilliseconds=function(){return this.as("ms")},De.duration.fn.asSeconds=function(){return this.as("s")},De.duration.fn.asMinutes=function(){return this.as("m")},De.duration.fn.asHours=function(){return this.as("h")},De.duration.fn.asDays=function(){return this.as("d")},De.duration.fn.asWeeks=function(){return this.as("weeks")},De.duration.fn.asMonths=function(){return this.as("M")},De.duration.fn.asYears=function(){return this.as("y")},De.locale("en",{ordinal:function(t){var e=t%10,i=1===k(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th";return t+i}}),Ye?o.exports=De:(s=function(t,e,i){return i.config&&i.config()&&i.config().noGlobal===!0&&(Te.moment=Me),De}.call(e,i,e,o),!(s!==n&&(o.exports=s)),Se(!0))}).call(this)}).call(e,function(){return this}(),i(68)(t))},function(t,e,i){var s;!function(o,n){"use strict";function r(){a.READY||(w.determineEventTypes(),x.each(a.gestures,function(t){D.register(t)}),w.onTouch(a.DOCUMENT,v,D.detect),w.onTouch(a.DOCUMENT,y,D.detect),a.READY=!0)}var a=function M(t,e){return new M.Instance(t,e||{})};a.VERSION="1.1.3",a.defaults={behavior:{userSelect:"none",touchAction:"pan-y",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}},a.DOCUMENT=document,a.HAS_POINTEREVENTS=navigator.pointerEnabled||navigator.msPointerEnabled,a.HAS_TOUCHEVENTS="ontouchstart"in o,a.IS_MOBILE=/mobile|tablet|ip(ad|hone|od)|android|silk/i.test(navigator.userAgent),a.NO_MOUSEEVENTS=a.HAS_TOUCHEVENTS&&a.IS_MOBILE||a.HAS_POINTEREVENTS,a.CALCULATE_INTERVAL=25;var h={},d=a.DIRECTION_DOWN="down",l=a.DIRECTION_LEFT="left",c=a.DIRECTION_UP="up",p=a.DIRECTION_RIGHT="right",u=a.POINTER_MOUSE="mouse",f=a.POINTER_TOUCH="touch",m=a.POINTER_PEN="pen",g=a.EVENT_START="start",v=a.EVENT_MOVE="move",y=a.EVENT_END="end",b=a.EVENT_RELEASE="release",_=a.EVENT_TOUCH="touch";a.READY=!1,a.plugins=a.plugins||{},a.gestures=a.gestures||{};var x=a.utils={extend:function(t,e,i){for(var s in e)!e.hasOwnProperty(s)||t[s]!==n&&i||(t[s]=e[s]);return t},on:function(t,e,i){t.addEventListener(e,i,!1)},off:function(t,e,i){t.removeEventListener(e,i,!1)},each:function(t,e,i){var s,o;if("forEach"in t)t.forEach(e,i);else if(t.length!==n){for(s=0,o=t.length;o>s;s++)if(e.call(i,t[s],s,t)===!1)return}else for(s in t)if(t.hasOwnProperty(s)&&e.call(i,t[s],s,t)===!1)return},inStr:function(t,e){return t.indexOf(e)>-1},inArray:function(t,e){if(t.indexOf){var i=t.indexOf(e);return-1===i?!1:i}for(var s=0,o=t.length;o>s;s++)if(t[s]===e)return s;return!1},toArray:function(t){return Array.prototype.slice.call(t,0)},hasParent:function(t,e){for(;t;){if(t==e)return!0;t=t.parentNode}return!1},getCenter:function(t){var e=[],i=[],s=[],o=[],n=Math.min,r=Math.max;return 1===t.length?{pageX:t[0].pageX,pageY:t[0].pageY,clientX:t[0].clientX,clientY:t[0].clientY}:(x.each(t,function(t){e.push(t.pageX),i.push(t.pageY),s.push(t.clientX),o.push(t.clientY)}),{pageX:(n.apply(Math,e)+r.apply(Math,e))/2,pageY:(n.apply(Math,i)+r.apply(Math,i))/2,clientX:(n.apply(Math,s)+r.apply(Math,s))/2,clientY:(n.apply(Math,o)+r.apply(Math,o))/2})},getVelocity:function(t,e,i){return{x:Math.abs(e/t)||0,y:Math.abs(i/t)||0}},getAngle:function(t,e){var i=e.clientX-t.clientX,s=e.clientY-t.clientY;return 180*Math.atan2(s,i)/Math.PI},getDirection:function(t,e){var i=Math.abs(t.clientX-e.clientX),s=Math.abs(t.clientY-e.clientY);return i>=s?t.clientX-e.clientX>0?l:p:t.clientY-e.clientY>0?c:d},getDistance:function(t,e){var i=e.clientX-t.clientX,s=e.clientY-t.clientY;return Math.sqrt(i*i+s*s)},getScale:function(t,e){return t.length>=2&&e.length>=2?this.getDistance(e[0],e[1])/this.getDistance(t[0],t[1]):1},getRotation:function(t,e){return t.length>=2&&e.length>=2?this.getAngle(e[1],e[0])-this.getAngle(t[1],t[0]):0},isVertical:function(t){return t==c||t==d},setPrefixedCss:function(t,e,i,s){var o=["","Webkit","Moz","O","ms"];e=x.toCamelCase(e);for(var n=0;n0&&this.started&&(r=v),this.started=!0;var d=this.collectEventData(i,r,o,t);return e!=y&&s.call(D,d),a&&(d.changedLength=h,d.eventType=a,s.call(D,d),d.eventType=r,delete d.changedLength),r==y&&(s.call(D,d),this.started=!1),r},determineEventTypes:function(){var t;return t=a.HAS_POINTEREVENTS?o.PointerEvent?["pointerdown","pointermove","pointerup pointercancel lostpointercapture"]:["MSPointerDown","MSPointerMove","MSPointerUp MSPointerCancel MSLostPointerCapture"]:a.NO_MOUSEEVENTS?["touchstart","touchmove","touchend touchcancel"]:["touchstart mousedown","touchmove mousemove","touchend touchcancel mouseup"],h[g]=t[0],h[v]=t[1],h[y]=t[2],h},getTouchList:function(t,e){if(a.HAS_POINTEREVENTS)return S.getTouchList();if(t.touches){if(e==v)return t.touches;var i=[],s=[].concat(x.toArray(t.touches),x.toArray(t.changedTouches)),o=[];return x.each(s,function(t){x.inArray(i,t.identifier)===!1&&o.push(t),i.push(t.identifier)}),o}return t.identifier=1,[t]},collectEventData:function(t,e,i,s){var o=f;return x.inStr(s.type,"mouse")||S.matchType(u,s)?o=u:S.matchType(m,s)&&(o=m),{center:x.getCenter(i),timeStamp:Date.now(),target:s.target,touches:i,eventType:e,pointerType:o,srcEvent:s,preventDefault:function(){var t=this.srcEvent;t.preventManipulation&&t.preventManipulation(),t.preventDefault&&t.preventDefault()},stopPropagation:function(){this.srcEvent.stopPropagation()},stopDetect:function(){return D.stopDetect()}}}},S=a.PointerEvent={pointers:{},getTouchList:function(){var t=[];return x.each(this.pointers,function(e){t.push(e)}),t},updatePointer:function(t,e){t==y||t!=y&&1!==e.buttons?delete this.pointers[e.pointerId]:(e.identifier=e.pointerId,this.pointers[e.pointerId]=e)},matchType:function(t,e){if(!e.pointerType)return!1;var i=e.pointerType,s={};return s[u]=i===(e.MSPOINTER_TYPE_MOUSE||u),s[f]=i===(e.MSPOINTER_TYPE_TOUCH||f),s[m]=i===(e.MSPOINTER_TYPE_PEN||m),s[t]},reset:function(){this.pointers={}}},D=a.detection={gestures:[],current:null,previous:null,stopped:!1,startDetect:function(t,e){this.current||(this.stopped=!1,this.current={inst:t,startEvent:x.extend({},e),lastEvent:!1,lastCalcEvent:!1,futureCalcEvent:!1,lastCalcData:{},name:""},this.detect(e))},detect:function(t){if(this.current&&!this.stopped){t=this.extendEventData(t);var e=this.current.inst,i=e.options;return x.each(this.gestures,function(s){!this.stopped&&e.enabled&&i[s.name]&&s.handler.call(s,t,e)},this),this.current&&(this.current.lastEvent=t),t.eventType==y&&this.stopDetect(),t}},stopDetect:function(){this.previous=x.extend({},this.current),this.current=null,this.stopped=!0},getCalculatedData:function(t,e,i,s,o){var n=this.current,r=!1,h=n.lastCalcEvent,d=n.lastCalcData;h&&t.timeStamp-h.timeStamp>a.CALCULATE_INTERVAL&&(e=h.center,i=t.timeStamp-h.timeStamp,s=t.center.clientX-h.center.clientX,o=t.center.clientY-h.center.clientY,r=!0),(t.eventType==_||t.eventType==b)&&(n.futureCalcEvent=t),(!n.lastCalcEvent||r)&&(d.velocity=x.getVelocity(i,s,o),d.angle=x.getAngle(e,t.center),d.direction=x.getDirection(e,t.center),n.lastCalcEvent=n.futureCalcEvent||t,n.futureCalcEvent=t),t.velocityX=d.velocity.x,t.velocityY=d.velocity.y,t.interimAngle=d.angle,t.interimDirection=d.direction},extendEventData:function(t){var e=this.current,i=e.startEvent,s=e.lastEvent||i;(t.eventType==_||t.eventType==b)&&(i.touches=[],x.each(t.touches,function(t){i.touches.push({clientX:t.clientX,clientY:t.clientY})}));var o=t.timeStamp-i.timeStamp,n=t.center.clientX-i.center.clientX,r=t.center.clientY-i.center.clientY;return this.getCalculatedData(t,s.center,o,n,r),x.extend(t,{startEvent:i,deltaTime:o,deltaX:n,deltaY:r,distance:x.getDistance(i.center,t.center),angle:x.getAngle(i.center,t.center),direction:x.getDirection(i.center,t.center),scale:x.getScale(i.touches,t.touches),rotation:x.getRotation(i.touches,t.touches)}),t},register:function(t){var e=t.defaults||{};return e[t.name]===n&&(e[t.name]=!0),x.extend(a.defaults,e,!0),t.index=t.index||1e3,this.gestures.push(t),this.gestures.sort(function(t,e){return t.indexe.index?1:0}),this.gestures}};a.Instance=function(t,e){var i=this;r(),this.element=t,this.enabled=!0,x.each(e,function(t,i){delete e[i],e[x.toCamelCase(i)]=t}),this.options=x.extend(x.extend({},a.defaults),e||{}),this.options.behavior&&x.toggleBehavior(this.element,this.options.behavior,!0),this.eventStartHandler=w.onTouch(t,g,function(t){i.enabled&&t.eventType==g?D.startDetect(i,t):t.eventType==_&&D.detect(t)}),this.eventHandlers=[]},a.Instance.prototype={on:function(t,e){var i=this;return w.on(i.element,t,e,function(t){i.eventHandlers.push({gesture:t,handler:e})}),i},off:function(t,e){var i=this;return w.off(i.element,t,e,function(t){var s=x.inArray({gesture:t,handler:e});s!==!1&&i.eventHandlers.splice(s,1)}),i},trigger:function(t,e){e||(e={});var i=a.DOCUMENT.createEvent("Event");i.initEvent(t,!0,!0),i.gesture=e;var s=this.element;return x.hasParent(e.target,s)&&(s=e.target),s.dispatchEvent(i),this},enable:function(t){return this.enabled=t,this},dispose:function(){var t,e;for(x.toggleBehavior(this.element,this.options.behavior,!1),t=-1;e=this.eventHandlers[++t];)x.off(this.element,e.gesture,e.handler);return this.eventHandlers=[],w.off(this.element,h[g],this.eventStartHandler),null}},function(t){function e(e,s){var o=D.current;if(!(s.options.dragMaxTouches>0&&e.touches.length>s.options.dragMaxTouches))switch(e.eventType){case g:i=!1;break;case v:if(e.distance0)){var r=Math.abs(s.options.dragMinDistance/e.distance);n.pageX+=e.deltaX*r,n.pageY+=e.deltaY*r,n.clientX+=e.deltaX*r,n.clientY+=e.deltaY*r,e=D.extendEventData(e)}(o.lastEvent.dragLockToAxis||s.options.dragLockToAxis&&s.options.dragLockMinDistance<=e.distance)&&(e.dragLockToAxis=!0);var a=o.lastEvent.direction;e.dragLockToAxis&&a!==e.direction&&(e.direction=x.isVertical(a)?e.deltaY<0?c:d:e.deltaX<0?l:p),i||(s.trigger(t+"start",e),i=!0),s.trigger(t,e),s.trigger(t+e.direction,e);var h=x.isVertical(e.direction);(s.options.dragBlockVertical&&h||s.options.dragBlockHorizontal&&!h)&&e.preventDefault();break;case b:i&&e.changedLength<=s.options.dragMaxTouches&&(s.trigger(t+"end",e),i=!1);break;case y:i=!1}}var i=!1;a.gestures.Drag={name:t,index:50,handler:e,defaults:{dragMinDistance:10,dragDistanceCorrection:!0,dragMaxTouches:1,dragBlockHorizontal:!1,dragBlockVertical:!1,dragLockToAxis:!1,dragLockMinDistance:25}}}("drag"),a.gestures.Gesture={name:"gesture",index:1337,handler:function(t,e){e.trigger(this.name,t)}},function(t){function e(e,s){var o=s.options,n=D.current;switch(e.eventType){case g:clearTimeout(i),n.name=t,i=setTimeout(function(){n&&n.name==t&&s.trigger(t,e)},o.holdTimeout);break;case v:e.distance>o.holdThreshold&&clearTimeout(i);break;case b:clearTimeout(i)}}var i;a.gestures.Hold={name:t,index:10,defaults:{holdTimeout:500,holdThreshold:2},handler:e}}("hold"),a.gestures.Release={name:"release",index:1/0,handler:function(t,e){t.eventType==b&&e.trigger(this.name,t)}},a.gestures.Swipe={name:"swipe",index:40,defaults:{swipeMinTouches:1,swipeMaxTouches:1,swipeVelocityX:.6,swipeVelocityY:.6},handler:function(t,e){if(t.eventType==b){var i=t.touches.length,s=e.options;if(is.swipeMaxTouches)return;(t.velocityX>s.swipeVelocityX||t.velocityY>s.swipeVelocityY)&&(e.trigger(this.name,t),e.trigger(this.name+t.direction,t))}}},function(t){function e(e,s){var o,n,r=s.options,a=D.current,h=D.previous;switch(e.eventType){case g:i=!1;break;case v:i=i||e.distance>r.tapMaxDistance;break;case y:!x.inStr(e.srcEvent.type,"cancel")&&e.deltaTimes.options.transformMinRotation&&s.trigger("rotate",e),o>s.options.transformMinScale&&(s.trigger("pinch",e),s.trigger("pinch"+(e.scale<1?"in":"out"),e));break;case b:i&&e.changedLength<2&&(s.trigger(t+"end",e),i=!1)}}var i=!1;a.gestures.Transform={name:t,index:45,defaults:{transformMinScale:.01,transformMinRotation:1},handler:e}}("transform"),s=function(){return a}.call(e,i,e,t),!(s!==n&&(t.exports=s))}(window)},function(t,e){e.startWithClustering=function(){this.clusterToFit(this.constants.clustering.initialMaxNodes,!0),this.updateLabels(),this.stabilize&&this._stabilize(),this.start()},e.clusterToFit=function(t,e){for(var i=this.nodeIndices.length,s=50,o=0;i>t&&s>o;)o%3==0?(this.forceAggregateHubs(!0),this.normalizeClusterLevels()):this.increaseClusterLevel(),i=this.nodeIndices.length,o+=1;o>0&&1==e&&this.repositionNodes(),this._updateCalculationNodes()},e.openCluster=function(t){var e=this.moving;if(t.clusterSize>this.constants.clustering.sectorThreshold&&this._nodeInActiveArea(t)&&("default"!=this._sector()||1!=this.nodeIndices.length)){this._addSector(t);for(var i=0;this.nodeIndices.lengthi;)this.decreaseClusterLevel(),i+=1}else this._expandClusterNode(t,!1,!0),this._updateNodeIndexList(),this._updateDynamicEdges(),this._updateCalculationNodes(),this.updateLabels();this.moving!=e&&this.start()},e.updateClustersDefault=function(){1==this.constants.clustering.enabled&&this.updateClusters(0,!1,!1)},e.increaseClusterLevel=function(){this.updateClusters(-1,!1,!0)},e.decreaseClusterLevel=function(){this.updateClusters(1,!1,!0)},e.updateClusters=function(t,e,i,s){var o=this.moving,n=this.nodeIndices.length;this.previousScale>this.scale&&0==t&&this._collapseSector(),this.previousScale>this.scale||-1==t?this._formClusters(i):(this.previousScalethis.scale||-1==t)&&(this._aggregateHubs(i),this._updateNodeIndexList()),(this.previousScale>this.scale||-1==t)&&(this.handleChains(),this._updateNodeIndexList()),this.previousScale=this.scale,this._updateDynamicEdges(),this.updateLabels(),this.nodeIndices.lengththis.constants.clustering.chainThreshold&&this._reduceAmountOfChains(1-this.constants.clustering.chainThreshold/t)},e._aggregateHubs=function(t){this._getHubSize(),this._formClustersByHub(t,!1)},e.forceAggregateHubs=function(t){var e=this.moving,i=this.nodeIndices.length;this._aggregateHubs(!0),this._updateNodeIndexList(),this._updateDynamicEdges(),this.updateLabels(),this.nodeIndices.length!=i&&(this.clusterSession+=1),(0==t||void 0===t)&&this.moving!=e&&this.start()},e._openClustersBySize=function(){for(var t in this.nodes)if(this.nodes.hasOwnProperty(t)){var e=this.nodes[t];1==e.inView()&&(e.width*this.scale>this.constants.clustering.screenSizeThreshold*this.frame.canvas.clientWidth||e.height*this.scale>this.constants.clustering.screenSizeThreshold*this.frame.canvas.clientHeight)&&this.openCluster(e)}},e._openClusters=function(t,e){for(var i=0;i1&&(t.clusterSizei)){var r=n.from,a=n.to;n.to.options.mass>n.from.options.mass&&(r=n.to,a=n.from),1==a.dynamicEdgesLength?this._addToCluster(r,a,!1):1==r.dynamicEdgesLength&&this._addToCluster(a,r,!1)}}},e._forceClustersByZoom=function(){for(var t in this.nodes)if(this.nodes.hasOwnProperty(t)){var e=this.nodes[t];if(1==e.dynamicEdgesLength&&0!=e.dynamicEdges.length){var i=e.dynamicEdges[0],s=i.toId==e.id?this.nodes[i.fromId]:this.nodes[i.toId];e.id!=s.id&&(s.options.mass>e.options.mass?this._addToCluster(s,e,!0):this._addToCluster(e,s,!0))}}},e._clusterToSmallestNeighbour=function(t){for(var e=-1,i=null,s=0;so.clusterSessions.length&&(e=o.clusterSessions.length,i=o)}null!=o&&void 0!==this.nodes[o.id]&&this._addToCluster(o,t,!0)},e._formClustersByHub=function(t,e){for(var i in this.nodes)this.nodes.hasOwnProperty(i)&&this._formClusterFromHub(this.nodes[i],t,e)},e._formClusterFromHub=function(t,e,i,s){if(void 0===s&&(s=0),t.dynamicEdgesLength>=this.hubThreshold&&0==i||t.dynamicEdgesLength==this.hubThreshold&&1==i){for(var o,n,r,a=this.constants.clustering.clusterEdgeThreshold/this.scale,h=!1,d=[],l=t.dynamicEdges.length,c=0;l>c;c++)d.push(t.dynamicEdges[c].id);if(0==e)for(h=!1,c=0;l>c;c++){var p=this.edges[d[c]];if(void 0!==p&&p.connected&&p.toId!=p.fromId&&(o=p.to.x-p.from.x,n=p.to.y-p.from.y,r=Math.sqrt(o*o+n*n),a>r)){h=!0;break}}if(!e&&h||e)for(c=0;l>c;c++)if(p=this.edges[d[c]],void 0!==p){var u=this.nodes[p.fromId==t.id?p.toId:p.fromId];u.dynamicEdges.length<=this.hubThreshold+s&&u.id!=t.id&&this._addToCluster(t,u,e)}}},e._addToCluster=function(t,e,i){t.containedNodes[e.id]=e;for(var s=0;s1)for(var s=0;s1&&(e.label="[".concat(String(e.clusterSize),"]"))}for(t in this.nodes)this.nodes.hasOwnProperty(t)&&(e=this.nodes[t],1==e.clusterSize&&(e.label=void 0!==e.originalLabel?e.originalLabel:String(e.id)))},e.normalizeClusterLevels=function(){var t,e=0,i=1e9,s=0;for(t in this.nodes)this.nodes.hasOwnProperty(t)&&(s=this.nodes[t].clusterSessions.length,s>e&&(e=s),i>s&&(i=s));if(e-i>this.constants.clustering.clusterLevelDifference){var o=this.nodeIndices.length,n=e-this.constants.clustering.clusterLevelDifference;for(t in this.nodes)this.nodes.hasOwnProperty(t)&&this.nodes[t].clusterSessions.lengths&&(s=n.dynamicEdgesLength),t+=n.dynamicEdgesLength,e+=Math.pow(n.dynamicEdgesLength,2),i+=1}t/=i,e/=i;var r=e-Math.pow(t,2),a=Math.sqrt(r);this.hubThreshold=Math.floor(t+2*a),this.hubThreshold>s&&(this.hubThreshold=s)},e._reduceAmountOfChains=function(t){this.hubThreshold=2;var e=Math.floor(this.nodeIndices.length*t);for(var i in this.nodes)this.nodes.hasOwnProperty(i)&&2==this.nodes[i].dynamicEdgesLength&&this.nodes[i].dynamicEdges.length>=2&&e>0&&(this._formClusterFromHub(this.nodes[i],!0,!0,1),e-=1)},e._getChainFraction=function(){var t=0,e=0;for(var i in this.nodes)this.nodes.hasOwnProperty(i)&&(2==this.nodes[i].dynamicEdgesLength&&this.nodes[i].dynamicEdges.length>=2&&(t+=1),e+=1);return t/e}},function(t,e,i){var s=i(1),o=i(40);e._putDataInSector=function(){this.sectors.active[this._sector()].nodes=this.nodes,this.sectors.active[this._sector()].edges=this.edges,this.sectors.active[this._sector()].nodeIndices=this.nodeIndices},e._switchToSector=function(t,e){void 0===e||"active"==e?this._switchToActiveSector(t):this._switchToFrozenSector(t)},e._switchToActiveSector=function(t){this.nodeIndices=this.sectors.active[t].nodeIndices,this.nodes=this.sectors.active[t].nodes,this.edges=this.sectors.active[t].edges},e._switchToSupportSector=function(){this.nodeIndices=this.sectors.support.nodeIndices,this.nodes=this.sectors.support.nodes,this.edges=this.sectors.support.edges},e._switchToFrozenSector=function(t){this.nodeIndices=this.sectors.frozen[t].nodeIndices,this.nodes=this.sectors.frozen[t].nodes,this.edges=this.sectors.frozen[t].edges},e._loadLatestSector=function(){this._switchToSector(this._sector())},e._sector=function(){return this.activeSector[this.activeSector.length-1]},e._previousSector=function(){if(this.activeSector.length>1)return this.activeSector[this.activeSector.length-2];throw new TypeError("there are not enough sectors in the this.activeSector array.")},e._setActiveSector=function(t){this.activeSector.push(t)},e._forgetLastSector=function(){this.activeSector.pop()},e._createNewSector=function(t){this.sectors.active[t]={nodes:{},edges:{},nodeIndices:[],formationScale:this.scale,drawingNode:void 0},this.sectors.active[t].drawingNode=new o({id:t,color:{background:"#eaefef",border:"495c5e"}},{},{},this.constants),this.sectors.active[t].drawingNode.clusterSize=2},e._deleteActiveSector=function(t){delete this.sectors.active[t]},e._deleteFrozenSector=function(t){delete this.sectors.frozen[t]},e._freezeSector=function(t){this.sectors.frozen[t]=this.sectors.active[t],this._deleteActiveSector(t)},e._activateSector=function(t){this.sectors.active[t]=this.sectors.frozen[t],this._deleteFrozenSector(t)},e._mergeThisWithFrozen=function(t){for(var e in this.nodes)this.nodes.hasOwnProperty(e)&&(this.sectors.frozen[t].nodes[e]=this.nodes[e]);for(var i in this.edges)this.edges.hasOwnProperty(i)&&(this.sectors.frozen[t].edges[i]=this.edges[i]);for(var s=0;s1?this[t](o[0],o[1]):this[t](e))}return this._loadLatestSector(),i},e._doInSupportSector=function(t,e){var i=!1;if(void 0===e)this._switchToSupportSector(),i=this[t]();else{this._switchToSupportSector();var s=Array.prototype.splice.call(arguments,1);i=s.length>1?this[t](s[0],s[1]):this[t](e)}return this._loadLatestSector(),i},e._doInAllFrozenSectors=function(t,e){if(void 0===e)for(var i in this.sectors.frozen)this.sectors.frozen.hasOwnProperty(i)&&(this._switchToFrozenSector(i),this[t]());else for(var i in this.sectors.frozen)if(this.sectors.frozen.hasOwnProperty(i)){this._switchToFrozenSector(i);var s=Array.prototype.splice.call(arguments,1);s.length>1?this[t](s[0],s[1]):this[t](e)}this._loadLatestSector()},e._doInAllSectors=function(t,e){var i=Array.prototype.splice.call(arguments,1); +void 0===e?(this._doInAllActiveSectors(t),this._doInAllFrozenSectors(t)):i.length>1?(this._doInAllActiveSectors(t,i[0],i[1]),this._doInAllFrozenSectors(t,i[0],i[1])):(this._doInAllActiveSectors(t,e),this._doInAllFrozenSectors(t,e))},e._clearNodeIndexList=function(){var t=this._sector();this.sectors.active[t].nodeIndices=[],this.nodeIndices=this.sectors.active[t].nodeIndices},e._drawSectorNodes=function(t,e){var i,s=1e9,o=-1e9,n=1e9,r=-1e9;for(var a in this.sectors[e])if(this.sectors[e].hasOwnProperty(a)&&void 0!==this.sectors[e][a].drawingNode){this._switchToSector(a,e),s=1e9,o=-1e9,n=1e9,r=-1e9;for(var h in this.nodes)this.nodes.hasOwnProperty(h)&&(i=this.nodes[h],i.resize(t),n>i.x-.5*i.width&&(n=i.x-.5*i.width),ri.y-.5*i.height&&(s=i.y-.5*i.height),o0?this.nodes[i[i.length-1]]:null},e._getEdgesOverlappingWith=function(t,e){var i=this.edges;for(var s in i)i.hasOwnProperty(s)&&i[s].isOverlappingWith(t)&&e.push(s)},e._getAllEdgesOverlappingWith=function(t){var e=[];return this._doInAllActiveSectors("_getEdgesOverlappingWith",t,e),e},e._getEdgeAt=function(t){var e=this._pointerToPositionObject(t),i=this._getAllEdgesOverlappingWith(e);return i.length>0?this.edges[i[i.length-1]]:null},e._addToSelection=function(t){t instanceof s?this.selectionObj.nodes[t.id]=t:this.selectionObj.edges[t.id]=t},e._addToHover=function(t){t instanceof s?this.hoverObj.nodes[t.id]=t:this.hoverObj.edges[t.id]=t},e._removeFromSelection=function(t){t instanceof s?delete this.selectionObj.nodes[t.id]:delete this.selectionObj.edges[t.id]},e._unselectAll=function(t){void 0===t&&(t=!1);for(var e in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(e)&&this.selectionObj.nodes[e].unselect();for(var i in this.selectionObj.edges)this.selectionObj.edges.hasOwnProperty(i)&&this.selectionObj.edges[i].unselect();this.selectionObj={nodes:{},edges:{}},0==t&&this.emit("select",this.getSelection())},e._unselectClusters=function(t){void 0===t&&(t=!1);for(var e in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(e)&&this.selectionObj.nodes[e].clusterSize>1&&(this.selectionObj.nodes[e].unselect(),this._removeFromSelection(this.selectionObj.nodes[e]));0==t&&this.emit("select",this.getSelection())},e._getSelectedNodeCount=function(){var t=0;for(var e in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(e)&&(t+=1);return t},e._getSelectedNode=function(){for(var t in this.selectionObj.nodes)if(this.selectionObj.nodes.hasOwnProperty(t))return this.selectionObj.nodes[t];return null},e._getSelectedEdge=function(){for(var t in this.selectionObj.edges)if(this.selectionObj.edges.hasOwnProperty(t))return this.selectionObj.edges[t];return null},e._getSelectedEdgeCount=function(){var t=0;for(var e in this.selectionObj.edges)this.selectionObj.edges.hasOwnProperty(e)&&(t+=1);return t},e._getSelectedObjectCount=function(){var t=0;for(var e in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(e)&&(t+=1);for(var i in this.selectionObj.edges)this.selectionObj.edges.hasOwnProperty(i)&&(t+=1);return t},e._selectionIsEmpty=function(){for(var t in this.selectionObj.nodes)if(this.selectionObj.nodes.hasOwnProperty(t))return!1;for(var e in this.selectionObj.edges)if(this.selectionObj.edges.hasOwnProperty(e))return!1;return!0},e._clusterInSelection=function(){for(var t in this.selectionObj.nodes)if(this.selectionObj.nodes.hasOwnProperty(t)&&this.selectionObj.nodes[t].clusterSize>1)return!0;return!1},e._selectConnectedEdges=function(t){for(var e=0;ei;i++){o=t[i];var n=this.nodes[o];if(!n)throw new RangeError('Node with id "'+o+'" not found');this._selectObject(n,!0,!0,e,!0)}this.redraw()},e.selectEdges=function(t){var e,i,s;if(!t||void 0==t.length)throw"Selection must be an array with ids";for(this._unselectAll(!0),e=0,i=t.length;i>e;e++){s=t[e];var o=this.edges[s];if(!o)throw new RangeError('Edge with id "'+s+'" not found');this._selectObject(o,!0,!0,!1,!0)}this.redraw()},e._updateSelection=function(){for(var t in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(t)&&(this.nodes.hasOwnProperty(t)||delete this.selectionObj.nodes[t]);for(var e in this.selectionObj.edges)this.selectionObj.edges.hasOwnProperty(e)&&(this.edges.hasOwnProperty(e)||delete this.selectionObj.edges[e])}},function(t,e,i){var s=i(1),o=i(40),n=i(37);e._clearManipulatorBar=function(){for(;this.manipulationDiv.hasChildNodes();)this.manipulationDiv.removeChild(this.manipulationDiv.firstChild);this._manipulationReleaseOverload=function(){},delete this.sectors.support.nodes.targetNode,delete this.sectors.support.nodes.targetViaNode,this.controlNodesActive=!1},e._restoreOverloadedFunctions=function(){for(var t in this.cachedFunctions)this.cachedFunctions.hasOwnProperty(t)&&(this[t]=this.cachedFunctions[t])},e._toggleEditMode=function(){this.editMode=!this.editMode;var t=document.getElementById("network-manipulationDiv"),e=document.getElementById("network-manipulation-closeDiv"),i=document.getElementById("network-manipulation-editMode");1==this.editMode?(t.style.display="block",e.style.display="block",i.style.display="none",e.onclick=this._toggleEditMode.bind(this)):(t.style.display="none",e.style.display="none",i.style.display="block",e.onclick=null),this._createManipulatorBar()},e._createManipulatorBar=function(){this.boundFunction&&this.off("select",this.boundFunction);var t=this.constants.locales[this.constants.locale];if(void 0!==this.edgeBeingEdited&&(this.edgeBeingEdited._disableControlNodes(),this.edgeBeingEdited=void 0,this.selectedControlNode=null,this.controlNodesActive=!1),this._restoreOverloadedFunctions(),this.freezeSimulation=!1,this.blockConnectingEdgeSelection=!1,this.forceAppendSelection=!1,1==this.editMode){for(;this.manipulationDiv.hasChildNodes();)this.manipulationDiv.removeChild(this.manipulationDiv.firstChild);this.manipulationDiv.innerHTML=""+t.addNode+"
"+t.addEdge+"",1==this._getSelectedNodeCount()&&this.triggerFunctions.edit?this.manipulationDiv.innerHTML+="
"+t.editNode+"":1==this._getSelectedEdgeCount()&&0==this._getSelectedNodeCount()&&(this.manipulationDiv.innerHTML+="
"+t.editEdge+""),0==this._selectionIsEmpty()&&(this.manipulationDiv.innerHTML+="
"+t.del+"");var e=document.getElementById("network-manipulate-addNode");e.onclick=this._createAddNodeToolbar.bind(this);var i=document.getElementById("network-manipulate-connectNode");if(i.onclick=this._createAddEdgeToolbar.bind(this),1==this._getSelectedNodeCount()&&this.triggerFunctions.edit){var s=document.getElementById("network-manipulate-editNode");s.onclick=this._editNode.bind(this)}else if(1==this._getSelectedEdgeCount()&&0==this._getSelectedNodeCount()){var s=document.getElementById("network-manipulate-editEdge");s.onclick=this._createEditEdgeToolbar.bind(this)}if(0==this._selectionIsEmpty()){var o=document.getElementById("network-manipulate-delete");o.onclick=this._deleteSelected.bind(this)}var n=document.getElementById("network-manipulation-closeDiv");n.onclick=this._toggleEditMode.bind(this),this.boundFunction=this._createManipulatorBar.bind(this),this.on("select",this.boundFunction)}else{this.editModeDiv.innerHTML=""+t.edit+"";var r=document.getElementById("network-manipulate-editModeButton");r.onclick=this._toggleEditMode.bind(this)}},e._createAddNodeToolbar=function(){this._clearManipulatorBar(),this.boundFunction&&this.off("select",this.boundFunction);var t=this.constants.locales[this.constants.locale];this.manipulationDiv.innerHTML=""+t.back+"
"+t.addDescription+"";var e=document.getElementById("network-manipulate-back");e.onclick=this._createManipulatorBar.bind(this),this.boundFunction=this._addNode.bind(this),this.on("select",this.boundFunction)},e._createAddEdgeToolbar=function(){this._clearManipulatorBar(),this._unselectAll(!0),this.freezeSimulation=!0;var t=this.constants.locales[this.constants.locale];this.boundFunction&&this.off("select",this.boundFunction),this._unselectAll(),this.forceAppendSelection=!1,this.blockConnectingEdgeSelection=!0,this.manipulationDiv.innerHTML=""+t.back+"
"+t.edgeDescription+"";var e=document.getElementById("network-manipulate-back");e.onclick=this._createManipulatorBar.bind(this),this.boundFunction=this._handleConnect.bind(this),this.on("select",this.boundFunction),this.cachedFunctions._handleTouch=this._handleTouch,this.cachedFunctions._manipulationReleaseOverload=this._manipulationReleaseOverload,this.cachedFunctions._handleDragStart=this._handleDragStart,this.cachedFunctions._handleDragEnd=this._handleDragEnd,this._handleTouch=this._handleConnect,this._manipulationReleaseOverload=function(){},this._handleDragStart=function(){},this._handleDragEnd=this._finishConnect,this._redraw()},e._createEditEdgeToolbar=function(){this._clearManipulatorBar(),this.controlNodesActive=!0,this.boundFunction&&this.off("select",this.boundFunction),this.edgeBeingEdited=this._getSelectedEdge(),this.edgeBeingEdited._enableControlNodes();var t=this.constants.locales[this.constants.locale];this.manipulationDiv.innerHTML=""+t.back+"
"+t.editEdgeDescription+"";var e=document.getElementById("network-manipulate-back");e.onclick=this._createManipulatorBar.bind(this),this.cachedFunctions._handleTouch=this._handleTouch,this.cachedFunctions._manipulationReleaseOverload=this._manipulationReleaseOverload,this.cachedFunctions._handleTap=this._handleTap,this.cachedFunctions._handleDragStart=this._handleDragStart,this.cachedFunctions._handleOnDrag=this._handleOnDrag,this._handleTouch=this._selectControlNode,this._handleTap=function(){},this._handleOnDrag=this._controlNodeDrag,this._handleDragStart=function(){},this._manipulationReleaseOverload=this._releaseControlNode,this._redraw()},e._selectControlNode=function(t){this.edgeBeingEdited.controlNodes.from.unselect(),this.edgeBeingEdited.controlNodes.to.unselect(),this.selectedControlNode=this.edgeBeingEdited._getSelectedControlNode(this._XconvertDOMtoCanvas(t.x),this._YconvertDOMtoCanvas(t.y)),null!==this.selectedControlNode&&(this.selectedControlNode.select(),this.freezeSimulation=!0),this._redraw()},e._controlNodeDrag=function(t){var e=this._getPointer(t.gesture.center);null!==this.selectedControlNode&&void 0!==this.selectedControlNode&&(this.selectedControlNode.x=this._XconvertDOMtoCanvas(e.x),this.selectedControlNode.y=this._YconvertDOMtoCanvas(e.y)),this._redraw()},e._releaseControlNode=function(t){var e=this._getNodeAt(t);null!=e?(1==this.edgeBeingEdited.controlNodes.from.selected&&(this._editEdge(e.id,this.edgeBeingEdited.to.id),this.edgeBeingEdited.controlNodes.from.unselect()),1==this.edgeBeingEdited.controlNodes.to.selected&&(this._editEdge(this.edgeBeingEdited.from.id,e.id),this.edgeBeingEdited.controlNodes.to.unselect())):this.edgeBeingEdited._restoreControlNodes(),this.freezeSimulation=!1,this._redraw()},e._handleConnect=function(t){if(0==this._getSelectedNodeCount()){var e=this._getNodeAt(t);if(null!=e)if(e.clusterSize>1)alert(this.constants.locales[this.constants.locale].createEdgeError);else{this._selectObject(e,!1);var i=this.sectors.support.nodes;i.targetNode=new o({id:"targetNode"},{},{},this.constants);var s=i.targetNode;s.x=e.x,s.y=e.y,this.edges.connectionEdge=new n({id:"connectionEdge",from:e.id,to:s.id},this,this.constants);var r=this.edges.connectionEdge;r.from=e,r.connected=!0,r.options.smoothCurves={enabled:!0,dynamic:!1,type:"continuous",roundness:.5},r.selected=!0,r.to=s,this.cachedFunctions._handleOnDrag=this._handleOnDrag,this._handleOnDrag=function(t){var e=this._getPointer(t.gesture.center),i=this.edges.connectionEdge;i.to.x=this._XconvertDOMtoCanvas(e.x),i.to.y=this._YconvertDOMtoCanvas(e.y)},this.moving=!0,this.start()}}},e._finishConnect=function(t){if(1==this._getSelectedNodeCount()){var e=this._getPointer(t.gesture.center);this._handleOnDrag=this.cachedFunctions._handleOnDrag,delete this.cachedFunctions._handleOnDrag;var i=this.edges.connectionEdge.fromId;delete this.edges.connectionEdge,delete this.sectors.support.nodes.targetNode,delete this.sectors.support.nodes.targetViaNode;var s=this._getNodeAt(e);null!=s&&(s.clusterSize>1?alert(this.constants.locales[this.constants.locale].createEdgeError):(this._createEdge(i,s.id),this._createManipulatorBar())),this._unselectAll()}},e._addNode=function(){if(this._selectionIsEmpty()&&1==this.editMode){var t=this._pointerToPositionObject(this.pointerPosition),e={id:s.randomUUID(),x:t.left,y:t.top,label:"new",allowedToMoveX:!0,allowedToMoveY:!0};if(this.triggerFunctions.add){if(2!=this.triggerFunctions.add.length)throw new Error("The function for add does not support two arguments (data,callback)");var i=this;this.triggerFunctions.add(e,function(t){i.nodesData.add(t),i._createManipulatorBar(),i.moving=!0,i.start()})}else this.nodesData.add(e),this._createManipulatorBar(),this.moving=!0,this.start()}},e._createEdge=function(t,e){if(1==this.editMode){var i={from:t,to:e};if(this.triggerFunctions.connect){if(2!=this.triggerFunctions.connect.length)throw new Error("The function for connect does not support two arguments (data,callback)");var s=this;this.triggerFunctions.connect(i,function(t){s.edgesData.add(t),s.moving=!0,s.start()})}else this.edgesData.add(i),this.moving=!0,this.start()}},e._editEdge=function(t,e){if(1==this.editMode){var i={id:this.edgeBeingEdited.id,from:t,to:e};if(this.triggerFunctions.editEdge){if(2!=this.triggerFunctions.editEdge.length)throw new Error("The function for edit does not support two arguments (data, callback)");var s=this;this.triggerFunctions.editEdge(i,function(t){s.edgesData.update(t),s.moving=!0,s.start()})}else this.edgesData.update(i),this.moving=!0,this.start()}},e._editNode=function(){if(!this.triggerFunctions.edit||1!=this.editMode)throw new Error("No edit function has been bound to this button");var t=this._getSelectedNode(),e={id:t.id,label:t.label,group:t.options.group,shape:t.options.shape,color:{background:t.options.color.background,border:t.options.color.border,highlight:{background:t.options.color.highlight.background,border:t.options.color.highlight.border}}};if(2!=this.triggerFunctions.edit.length)throw new Error("The function for edit does not support two arguments (data, callback)");var i=this;this.triggerFunctions.edit(e,function(t){i.nodesData.update(t),i._createManipulatorBar(),i.moving=!0,i.start()})},e._deleteSelected=function(){if(!this._selectionIsEmpty()&&1==this.editMode)if(this._clusterInSelection())alert(this.constants.locales[this.constants.locale].deleteClusterError);else{var t=this.getSelectedNodes(),e=this.getSelectedEdges();if(this.triggerFunctions.del){var i=this,s={nodes:t,edges:e};if(!(this.triggerFunctions.del.length=2))throw new Error("The function for delete does not support two arguments (data, callback)");this.triggerFunctions.del(s,function(t){i.edgesData.remove(t.edges),i.nodesData.remove(t.nodes),i._unselectAll(),i.moving=!0,i.start()})}else this.edgesData.remove(e),this.nodesData.remove(t),this._unselectAll(),this.moving=!0,this.start()}}},function(t,e,i){var s=(i(1),i(45));e._cleanNavigation=function(){if(0!=this.navigationHammers.existing.length){for(var t=0;t0){"RL"==this.constants.hierarchicalLayout.direction||"DU"==this.constants.hierarchicalLayout.direction?this.constants.hierarchicalLayout.levelSeparation*=-1:this.constants.hierarchicalLayout.levelSeparation=Math.abs(this.constants.hierarchicalLayout.levelSeparation),"RL"==this.constants.hierarchicalLayout.direction||"LR"==this.constants.hierarchicalLayout.direction?1==this.constants.smoothCurves.enabled&&(this.constants.smoothCurves.type="vertical"):1==this.constants.smoothCurves.enabled&&(this.constants.smoothCurves.type="horizontal");var t,e,i=0,s=!1,o=!1;for(e in this.nodes)this.nodes.hasOwnProperty(e)&&(t=this.nodes[e],-1!=t.level?s=!0:o=!0,is&&(n.xFixed=!1,n.x=i[n.level].minPos,r=!0):n.yFixed&&n.level>s&&(n.yFixed=!1,n.y=i[n.level].minPos,r=!0),1==r&&(i[n.level].minPos+=i[n.level].nodeSpacing,n.edges.length>1&&this._placeBranchNodes(n.edges,n.id,i,n.level))}},e._setLevel=function(t,e,i){for(var s=0;st)&&(o.level=t,o.edges.length>1&&this._setLevel(t+1,o.edges,o.id))}},e._setLevelDirected=function(t,e,i){this.nodes[i].hierarchyEnumerated=!0;for(var s=0;s1&&o.hierarchyEnumerated===!1&&this._setLevelDirected(o.level,o.edges,o.id)}},e._restoreNodes=function(){for(var t in this.nodes)this.nodes.hasOwnProperty(t)&&(this.nodes[t].xFixed=!1,this.nodes[t].yFixed=!1)}},function(t,e,i){function s(){this.constants.smoothCurves.enabled=!this.constants.smoothCurves.enabled;var t=document.getElementById("graph_toggleSmooth");t.style.background=1==this.constants.smoothCurves.enabled?"#A4FF56":"#FF8532",this._configureSmoothCurves(!1)}function o(){for(var t in this.calculationNodes)this.calculationNodes.hasOwnProperty(t)&&(this.calculationNodes[t].vx=0,this.calculationNodes[t].vy=0,this.calculationNodes[t].fx=0,this.calculationNodes[t].fy=0);1==this.constants.hierarchicalLayout.enabled?(this._setupHierarchicalLayout(),a.call(this,"graph_H_nd",1,"physics_hierarchicalRepulsion_nodeDistance"),a.call(this,"graph_H_cg",1,"physics_centralGravity"),a.call(this,"graph_H_sc",1,"physics_springConstant"),a.call(this,"graph_H_sl",1,"physics_springLength"),a.call(this,"graph_H_damp",1,"physics_damping")):this.repositionNodes(),this.moving=!0,this.start()}function n(){var t="No options are required, default values used.",e=[],i=document.getElementById("graph_physicsMethod1"),s=document.getElementById("graph_physicsMethod2");if(1==i.checked){if(this.constants.physics.barnesHut.gravitationalConstant!=this.backupConstants.physics.barnesHut.gravitationalConstant&&e.push("gravitationalConstant: "+this.constants.physics.barnesHut.gravitationalConstant),this.constants.physics.centralGravity!=this.backupConstants.physics.barnesHut.centralGravity&&e.push("centralGravity: "+this.constants.physics.centralGravity),this.constants.physics.springLength!=this.backupConstants.physics.barnesHut.springLength&&e.push("springLength: "+this.constants.physics.springLength),this.constants.physics.springConstant!=this.backupConstants.physics.barnesHut.springConstant&&e.push("springConstant: "+this.constants.physics.springConstant),this.constants.physics.damping!=this.backupConstants.physics.barnesHut.damping&&e.push("damping: "+this.constants.physics.damping),0!=e.length){t="var options = {",t+="physics: {barnesHut: {";for(var o=0;othis.constants.clustering.clusterThreshold&&1==this.constants.clustering.enabled&&this.clusterToFit(this.constants.clustering.reduceToNodes,!1),this._calculateForces())},e._calculateForces=function(){this._calculateGravitationalForces(),this._calculateNodeForces(),this.constants.physics.springConstant>0&&(1==this.constants.smoothCurves.enabled&&1==this.constants.smoothCurves.dynamic?this._calculateSpringForcesWithSupport():1==this.constants.physics.hierarchicalRepulsion.enabled?this._calculateHierarchicalSpringForces():this._calculateSpringForces())},e._updateCalculationNodes=function(){if(1==this.constants.smoothCurves.enabled&&1==this.constants.smoothCurves.dynamic){this.calculationNodes={},this.calculationNodeIndices=[];for(var t in this.nodes)this.nodes.hasOwnProperty(t)&&(this.calculationNodes[t]=this.nodes[t]);var e=this.sectors.support.nodes;for(var i in e)e.hasOwnProperty(i)&&(this.edges.hasOwnProperty(e[i].parentEdgeId)?this.calculationNodes[i]=e[i]:e[i]._setForce(0,0));for(var s in this.calculationNodes)this.calculationNodes.hasOwnProperty(s)&&this.calculationNodeIndices.push(s)}else this.calculationNodes=this.nodes,this.calculationNodeIndices=this.nodeIndices},e._calculateGravitationalForces=function(){var t,e,i,s,o,n=this.calculationNodes,r=this.constants.physics.centralGravity,a=0;for(o=0;oSimulation Mode:Barnes HutRepulsionHierarchical
Options:
',this.containerElement.parentElement.insertBefore(this.physicsConfiguration,this.containerElement),this.optionsDiv=document.createElement("div"),this.optionsDiv.style.fontSize="14px",this.optionsDiv.style.fontFamily="verdana",this.containerElement.parentElement.insertBefore(this.optionsDiv,this.containerElement);var e;e=document.getElementById("graph_BH_gc"),e.onchange=a.bind(this,"graph_BH_gc",-1,"physics_barnesHut_gravitationalConstant"),e=document.getElementById("graph_BH_cg"),e.onchange=a.bind(this,"graph_BH_cg",1,"physics_centralGravity"),e=document.getElementById("graph_BH_sc"),e.onchange=a.bind(this,"graph_BH_sc",1,"physics_springConstant"),e=document.getElementById("graph_BH_sl"),e.onchange=a.bind(this,"graph_BH_sl",1,"physics_springLength"),e=document.getElementById("graph_BH_damp"),e.onchange=a.bind(this,"graph_BH_damp",1,"physics_damping"),e=document.getElementById("graph_R_nd"),e.onchange=a.bind(this,"graph_R_nd",1,"physics_repulsion_nodeDistance"),e=document.getElementById("graph_R_cg"),e.onchange=a.bind(this,"graph_R_cg",1,"physics_centralGravity"),e=document.getElementById("graph_R_sc"),e.onchange=a.bind(this,"graph_R_sc",1,"physics_springConstant"),e=document.getElementById("graph_R_sl"),e.onchange=a.bind(this,"graph_R_sl",1,"physics_springLength"),e=document.getElementById("graph_R_damp"),e.onchange=a.bind(this,"graph_R_damp",1,"physics_damping"),e=document.getElementById("graph_H_nd"),e.onchange=a.bind(this,"graph_H_nd",1,"physics_hierarchicalRepulsion_nodeDistance"),e=document.getElementById("graph_H_cg"),e.onchange=a.bind(this,"graph_H_cg",1,"physics_centralGravity"),e=document.getElementById("graph_H_sc"),e.onchange=a.bind(this,"graph_H_sc",1,"physics_springConstant"),e=document.getElementById("graph_H_sl"),e.onchange=a.bind(this,"graph_H_sl",1,"physics_springLength"),e=document.getElementById("graph_H_damp"),e.onchange=a.bind(this,"graph_H_damp",1,"physics_damping"),e=document.getElementById("graph_H_direction"),e.onchange=a.bind(this,"graph_H_direction",t,"hierarchicalLayout_direction"),e=document.getElementById("graph_H_levsep"),e.onchange=a.bind(this,"graph_H_levsep",1,"hierarchicalLayout_levelSeparation"),e=document.getElementById("graph_H_nspac"),e.onchange=a.bind(this,"graph_H_nspac",1,"hierarchicalLayout_nodeSpacing");var i=document.getElementById("graph_physicsMethod1"),d=document.getElementById("graph_physicsMethod2"),l=document.getElementById("graph_physicsMethod3");d.checked=!0,this.constants.physics.barnesHut.enabled&&(i.checked=!0),this.constants.hierarchicalLayout.enabled&&(l.checked=!0);var c=document.getElementById("graph_toggleSmooth"),p=document.getElementById("graph_repositionNodes"),u=document.getElementById("graph_generateOptions");c.onclick=s.bind(this),p.onclick=o.bind(this),u.onclick=n.bind(this),c.style.background=1==this.constants.smoothCurves&&0==this.constants.dynamicSmoothCurves?"#A4FF56":"#FF8532",r.apply(this),i.onchange=r.bind(this),d.onchange=r.bind(this),l.onchange=r.bind(this)}},e._overWriteGraphConstants=function(t,e){var i=t.split("_");1==i.length?this.constants[i[0]]=e:2==i.length?this.constants[i[0]][i[1]]=e:3==i.length&&(this.constants[i[0]][i[1]][i[2]]=e)}},function(t){function e(t){throw new Error("Cannot find module '"+t+"'.")}e.keys=function(){return[]},e.resolve=e,t.exports=e,e.id=64},function(t,e){e._calculateNodeForces=function(){var t,e,i,s,o,n,r,a,h,d,l,c=this.calculationNodes,p=this.calculationNodeIndices,u=-2/3,f=4/3,m=this.constants.physics.repulsion.nodeDistance,g=m;for(d=0;di&&(r=.5*g>i?1:v*i+f,r*=0==n?1:1+n*this.constants.clustering.forceAmplification,r/=i,s=t*r,o=e*r,a.fx-=s,a.fy-=o,h.fx+=s,h.fy+=o)}}},function(t,e){e._calculateNodeForces=function(){var t,e,i,s,o,n,r,a,h,d,l=this.calculationNodes,c=this.calculationNodeIndices,p=this.constants.physics.hierarchicalRepulsion.nodeDistance;for(h=0;hi?-Math.pow(u*i,2)+Math.pow(u*p,2):0,0==i?i=.01:n/=i,s=t*n,o=e*n,r.fx-=s,r.fy-=o,a.fx+=s,a.fy+=o}},e._calculateHierarchicalSpringForces=function(){for(var t,e,i,s,o,n,r,a,h,d=this.edges,l=this.calculationNodes,c=this.calculationNodeIndices,p=0;pn;n++)t=e[i[n]],t.options.mass>0&&(this._getForceContribution(o.root.children.NW,t),this._getForceContribution(o.root.children.NE,t),this._getForceContribution(o.root.children.SW,t),this._getForceContribution(o.root.children.SE,t))}},e._getForceContribution=function(t,e){if(t.childrenCount>0){var i,s,o;if(i=t.centerOfMass.x-e.x,s=t.centerOfMass.y-e.y,o=Math.sqrt(i*i+s*s),o*t.calcSize>this.constants.physics.barnesHut.theta){0==o&&(o=.1*Math.random(),i=o);var n=this.constants.physics.barnesHut.gravitationalConstant*t.mass*e.options.mass/(o*o*o),r=i*n,a=s*n;e.fx+=r,e.fy+=a}else if(4==t.childrenCount)this._getForceContribution(t.children.NW,e),this._getForceContribution(t.children.NE,e),this._getForceContribution(t.children.SW,e),this._getForceContribution(t.children.SE,e);else if(t.children.data.id!=e.id){0==o&&(o=.5*Math.random(),i=o);var n=this.constants.physics.barnesHut.gravitationalConstant*t.mass*e.options.mass/(o*o*o),r=i*n,a=s*n;e.fx+=r,e.fy+=a}}},e._formBarnesHutTree=function(t,e){for(var i,s=e.length,o=Number.MAX_VALUE,n=Number.MAX_VALUE,r=-Number.MAX_VALUE,a=-Number.MAX_VALUE,h=0;s>h;h++){var d=t[e[h]].x,l=t[e[h]].y;t[e[h]].options.mass>0&&(o>d&&(o=d),d>r&&(r=d),n>l&&(n=l),l>a&&(a=l))}var c=Math.abs(r-o)-Math.abs(a-n);c>0?(n-=.5*c,a+=.5*c):(o+=.5*c,r-=.5*c);var p=1e-5,u=Math.max(p,Math.abs(r-o)),f=.5*u,m=.5*(o+r),g=.5*(n+a),v={root:{centerOfMass:{x:0,y:0},mass:0,range:{minX:m-f,maxX:m+f,minY:g-f,maxY:g+f},size:u,calcSize:1/u,children:{data:null},maxWidth:0,level:0,childrenCount:4}};for(this._splitBranch(v.root),h=0;s>h;h++)i=t[e[h]],i.options.mass>0&&this._placeInTree(v.root,i);this.barnesHutTree=v},e._updateBranchMass=function(t,e){var i=t.mass+e.options.mass,s=1/i;t.centerOfMass.x=t.centerOfMass.x*t.mass+e.x*e.options.mass,t.centerOfMass.x*=s,t.centerOfMass.y=t.centerOfMass.y*t.mass+e.y*e.options.mass,t.centerOfMass.y*=s,t.mass=i;var o=Math.max(Math.max(e.height,e.radius),e.width);t.maxWidth=t.maxWidthe.x?t.children.NW.range.maxY>e.y?this._placeInRegion(t,e,"NW"):this._placeInRegion(t,e,"SW"):t.children.NW.range.maxY>e.y?this._placeInRegion(t,e,"NE"):this._placeInRegion(t,e,"SE")},e._placeInRegion=function(t,e,i){switch(t.children[i].childrenCount){case 0:t.children[i].children.data=e,t.children[i].childrenCount=1,this._updateBranchMass(t.children[i],e);break;case 1:t.children[i].children.data.x==e.x&&t.children[i].children.data.y==e.y?(e.x+=Math.random(),e.y+=Math.random()):(this._splitBranch(t.children[i]),this._placeInTree(t.children[i],e));break;case 4:this._placeInTree(t.children[i],e)}},e._splitBranch=function(t){var e=null;1==t.childrenCount&&(e=t.children.data,t.mass=0,t.centerOfMass.x=0,t.centerOfMass.y=0),t.childrenCount=4,t.children.data=null,this._insertRegion(t,"NW"),this._insertRegion(t,"NE"),this._insertRegion(t,"SW"),this._insertRegion(t,"SE"),null!=e&&this._placeInTree(t,e)},e._insertRegion=function(t,e){var i,s,o,n,r=.5*t.size;switch(e){case"NW":i=t.range.minX,s=t.range.minX+r,o=t.range.minY,n=t.range.minY+r;break;case"NE":i=t.range.minX+r,s=t.range.maxX,o=t.range.minY,n=t.range.minY+r;break;case"SW":i=t.range.minX,s=t.range.minX+r,o=t.range.minY+r,n=t.range.maxY;break;case"SE":i=t.range.minX+r,s=t.range.maxX,o=t.range.minY+r,n=t.range.maxY}t.children[e]={centerOfMass:{x:0,y:0},mass:0,range:{minX:i,maxX:s,minY:o,maxY:n},size:.5*t.size,calcSize:2*t.calcSize,children:{data:null},maxWidth:0,level:t.level+1,childrenCount:0}},e._drawTree=function(t,e){void 0!==this.barnesHutTree&&(t.lineWidth=1,this._drawBranch(this.barnesHutTree.root,t,e))},e._drawBranch=function(t,e,i){void 0===i&&(i="#FF0000"),4==t.childrenCount&&(this._drawBranch(t.children.NW,e),this._drawBranch(t.children.NE,e),this._drawBranch(t.children.SE,e),this._drawBranch(t.children.SW,e)),e.strokeStyle=i,e.beginPath(),e.moveTo(t.range.minX,t.range.minY),e.lineTo(t.range.maxX,t.range.minY),e.stroke(),e.beginPath(),e.moveTo(t.range.maxX,t.range.minY),e.lineTo(t.range.maxX,t.range.maxY),e.stroke(),e.beginPath(),e.moveTo(t.range.maxX,t.range.maxY),e.lineTo(t.range.minX,t.range.maxY),e.stroke(),e.beginPath(),e.moveTo(t.range.minX,t.range.maxY),e.lineTo(t.range.minX,t.range.minY),e.stroke()}},function(t){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children=[],t.webpackPolyfill=1),t}}])}); //# sourceMappingURL=vis.map \ No newline at end of file diff --git a/package.json b/package.json index 6cd0b8b0..d0384949 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "vis", - "version": "3.6.3-SNAPSHOT", + "version": "3.6.3", "description": "A dynamic, browser-based visualization library.", "homepage": "http://visjs.org/", "repository": {