From 36cb8193d16104f6aea801ea2e7a99d4638f8248 Mon Sep 17 00:00:00 2001 From: jos Date: Thu, 5 Mar 2015 14:21:27 +0100 Subject: [PATCH] Implemented events `click`, `doubleClick`, and `contextMenu`. Implemented method `getEventProperties(event)`. --- HISTORY.md | 2 + dist/vis.js | 513 +++++++++++++++++------------- dist/vis.map | 2 +- dist/vis.min.js | 28 +- docs/network.html | 12 +- docs/timeline.html | 73 ++++- lib/timeline/Core.js | 12 +- lib/timeline/Timeline.js | 53 +++ lib/timeline/component/ItemSet.js | 22 +- lib/util.js | 18 ++ test/timeline.html | 12 +- test/timeline_groups.html | 12 + 12 files changed, 478 insertions(+), 281 deletions(-) diff --git a/HISTORY.md b/HISTORY.md index 5b6d0bf0..9b661c1f 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -26,6 +26,8 @@ http://visjs.org ctrl key down. - Implemented configuration option `order: function` to define a custom ordering for the items (see #538, #234). +- Implemented events `click`, `doubleClick`, and `contextMenu`. +- Implemented method `getEventProperties(event)`. - Fixed not property initializing with a DataView for groups. - Merged add custom timebar functionality, thanks @aytech! - Fixed #664: end of item not restored when canceling a move event. diff --git a/dist/vis.js b/dist/vis.js index 902da431..62bae35e 100644 --- a/dist/vis.js +++ b/dist/vis.js @@ -827,6 +827,24 @@ return /******/ (function(modules) { // webpackBootstrap return target; }; + /** + * Check if given element contains given parent somewhere in the DOM tree + * @param {Element} element + * @param {Element} parent + */ + exports.hasParent = function (element, parent) { + var e = element; + + while (e) { + if (e === parent) { + return true; + } + e = e.parentNode; + } + + return false; + }; + exports.option = {}; /** @@ -6576,6 +6594,16 @@ return /******/ (function(modules) { // webpackBootstrap this.itemsData = null; // DataSet this.groupsData = null; // DataSet + this.on('tap', function (event) { + me.emit('click', me.getEventProperties(event)) + }); + this.on('doubletap', function (event) { + me.emit('doubleClick', me.getEventProperties(event)) + }); + this.dom.root.oncontextmenu = function (event) { + me.emit('contextmenu', me.getEventProperties(event)) + }; + // apply options if (options) { this.setOptions(options); @@ -6800,6 +6828,49 @@ return /******/ (function(modules) { // webpackBootstrap }; }; + /** + * Generate Timeline related information from an event + * @param {Event} event + * @return {Object} An object with related information, like on which area + * The event happened, whether clicked on an item, etc. + */ + Timeline.prototype.getEventProperties = function (event) { + var item = this.itemSet.itemFromTarget(event); + var group = this.itemSet.groupFromTarget(event); + var pageX = event.gesture ? event.gesture.center.pageX : event.pageX; + var pageY = event.gesture ? event.gesture.center.pageY : event.pageY; + var x = pageX - util.getAbsoluteLeft(this.dom.centerContainer); + var y = pageY - util.getAbsoluteTop(this.dom.centerContainer); + + var snap = this.itemSet.options.snap || null; + var scale = this.body.util.getScale(); + var step = this.body.util.getStep(); + var time = this._toTime(x); + var snappedTime = snap ? snap(time, scale, step) : time; + + var element = util.getTarget(event); + var what = null; + if (item != null) {what = 'item';} + else if (util.hasParent(element, this.dom.center)) {what = 'background';} + else if (util.hasParent(element, this.timeAxis.dom.foreground)) {what = 'axis';} + else if (this.timeAxis2 && util.hasParent(element, this.timeAxis2.dom.foreground)) {what = 'axis';} + else if (util.hasParent(element, this.itemSet.dom.labelSet)) {what = 'group-label';} + else if (util.hasParent(element, this.customTime.bar)) {what = 'custom-time';} + else if (util.hasParent(element, this.currentTime.bar)) {what = 'current-time';} + + return { + event: event, + item: item ? item.id : null, + group: group ? group.groupId : null, + what: what, + pageX: pageX, + pageY: pageY, + x: x, + y: y, + time: time, + snappedTime: snappedTime + } + }; module.exports = Timeline; @@ -13466,7 +13537,7 @@ return /******/ (function(modules) { // webpackBootstrap */ ItemSet.prototype._onTouch = function (event) { // store the touched item, used in _onDragStart - this.touchParams.item = ItemSet.itemFromTarget(event); + this.touchParams.item = this.itemFromTarget(event); }; /** @@ -13791,7 +13862,7 @@ return /******/ (function(modules) { // webpackBootstrap var oldSelection = this.getSelection(); - var item = ItemSet.itemFromTarget(event); + var item = this.itemFromTarget(event); var selection = item ? [item.id] : []; this.setSelection(selection); @@ -13817,7 +13888,7 @@ return /******/ (function(modules) { // webpackBootstrap var me = this, snap = this.options.snap || null, - item = ItemSet.itemFromTarget(event); + item = this.itemFromTarget(event); if (item) { // update item @@ -13875,7 +13946,7 @@ return /******/ (function(modules) { // webpackBootstrap if (!this.options.selectable) return; var selection, - item = ItemSet.itemFromTarget(event); + item = this.itemFromTarget(event); if (item) { // multi select items @@ -13963,7 +14034,7 @@ return /******/ (function(modules) { // webpackBootstrap * @param {Event} event * @return {Item | null} item */ - ItemSet.itemFromTarget = function(event) { + ItemSet.prototype.itemFromTarget = function(event) { var target = event.target; while (target) { if (target.hasOwnProperty('timeline-item')) { @@ -13982,17 +14053,7 @@ return /******/ (function(modules) { // webpackBootstrap * @return {Group | null} group */ ItemSet.prototype.groupFromTarget = function(event) { - // TODO: cleanup when the new solution is stable (also on mobile) - //var target = event.target; - //while (target) { - // if (target.hasOwnProperty('timeline-group')) { - // return target['timeline-group']; - // } - // target = target.parentNode; - //} - // - - var clientY = event.gesture.center.clientY; + var clientY = event.gesture ? event.gesture.center.clientY : event.clientY; for (var i = 0; i < this.groupIds.length; i++) { var groupId = this.groupIds[i]; var group = this.groups[groupId]; @@ -15705,7 +15766,7 @@ return /******/ (function(modules) { // webpackBootstrap var Emitter = __webpack_require__(56); var Hammer = __webpack_require__(45); - var keycharm = __webpack_require__(57); + var keycharm = __webpack_require__(59); var util = __webpack_require__(1); var hammerUtil = __webpack_require__(47); var DataSet = __webpack_require__(3); @@ -22577,7 +22638,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. - module.exports = (typeof window !== 'undefined') && window['moment'] || __webpack_require__(58); + module.exports = (typeof window !== 'undefined') && window['moment'] || __webpack_require__(57); /***/ }, @@ -22587,7 +22648,7 @@ return /******/ (function(modules) { // webpackBootstrap // Only load hammer.js when in a browser environment // (loading hammer.js in a node.js environment gives errors) if (typeof window !== 'undefined') { - module.exports = window['Hammer'] || __webpack_require__(59); + module.exports = window['Hammer'] || __webpack_require__(58); } else { module.exports = function () { @@ -22629,7 +22690,7 @@ return /******/ (function(modules) { // webpackBootstrap * top, bottom, content, and background panel. * @param {Element} container The container element where the Core will * be attached. - * @private + * @protected */ Core.prototype._create = function (container) { this.dom = {}; @@ -22657,7 +22718,7 @@ return /******/ (function(modules) { // webpackBootstrap 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.centerContainer.className = 'vispanel center jooo'; this.dom.leftContainer.className = 'vispanel left'; this.dom.rightContainer.className = 'vispanel right'; this.dom.top.className = 'vispanel top'; @@ -23389,7 +23450,7 @@ return /******/ (function(modules) { // webpackBootstrap * Convert a position on screen (pixels) to a datetime * @param {int} x Position on the screen in pixels * @return {Date} time The datetime the corresponds with given position x - * @private + * @protected */ // TODO: move this function to Range Core.prototype._toTime = function(x) { @@ -23400,7 +23461,7 @@ return /******/ (function(modules) { // webpackBootstrap * Convert a position on the global screen (pixels) to a datetime * @param {int} x Position on the screen in pixels * @return {Date} time The datetime the corresponds with given position x - * @private + * @protected */ // TODO: move this function to Range Core.prototype._toGlobalTime = function(x) { @@ -23414,7 +23475,7 @@ return /******/ (function(modules) { // webpackBootstrap * @param {Date} time A date * @return {int} x The position on the screen in pixels which corresponds * with the given date. - * @private + * @protected */ // TODO: move this function to Range Core.prototype._toScreen = function(time) { @@ -23429,7 +23490,7 @@ return /******/ (function(modules) { // webpackBootstrap * @param {Date} time A date * @return {int} x The position on root in pixels which corresponds * with the given date. - * @private + * @protected */ // TODO: move this function to Range Core.prototype._toGlobalScreen = function(time) { @@ -24371,7 +24432,7 @@ return /******/ (function(modules) { // webpackBootstrap /* 53 */ /***/ function(module, exports, __webpack_require__) { - var keycharm = __webpack_require__(57); + var keycharm = __webpack_require__(59); var Emitter = __webpack_require__(56); var Hammer = __webpack_require__(45); var util = __webpack_require__(1); @@ -24968,205 +25029,6 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, /* 57 */ -/***/ function(module, exports, __webpack_require__) { - - var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;"use strict"; - /** - * Created by Alex on 11/6/2014. - */ - - // https://github.com/umdjs/umd/blob/master/returnExports.js#L40-L60 - // if the module has no dependencies, the above pattern can be simplified to - (function (root, factory) { - if (true) { - // AMD. Register as an anonymous module. - !(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); - } else if (typeof exports === 'object') { - // Node. Does not work with strict CommonJS, but - // only CommonJS-like environments that support module.exports, - // like Node. - module.exports = factory(); - } else { - // Browser globals (root is window) - root.keycharm = factory(); - } - }(this, function () { - - function keycharm(options) { - var preventDefault = options && options.preventDefault || false; - - var container = options && options.container || window; - - var _exportFunctions = {}; - var _bound = {keydown:{}, keyup:{}}; - var _keys = {}; - var i; - - // a - z - for (i = 97; i <= 122; i++) {_keys[String.fromCharCode(i)] = {code:65 + (i - 97), shift: false};} - // A - Z - for (i = 65; i <= 90; i++) {_keys[String.fromCharCode(i)] = {code:i, shift: true};} - // 0 - 9 - for (i = 0; i <= 9; i++) {_keys['' + i] = {code:48 + i, shift: false};} - // F1 - F12 - for (i = 1; i <= 12; i++) {_keys['F' + i] = {code:111 + i, shift: false};} - // num0 - num9 - for (i = 0; i <= 9; i++) {_keys['num' + i] = {code:96 + i, shift: false};} - - // numpad misc - _keys['num*'] = {code:106, shift: false}; - _keys['num+'] = {code:107, shift: false}; - _keys['num-'] = {code:109, shift: false}; - _keys['num/'] = {code:111, shift: false}; - _keys['num.'] = {code:110, shift: false}; - // arrows - _keys['left'] = {code:37, shift: false}; - _keys['up'] = {code:38, shift: false}; - _keys['right'] = {code:39, shift: false}; - _keys['down'] = {code:40, shift: false}; - // extra keys - _keys['space'] = {code:32, shift: false}; - _keys['enter'] = {code:13, shift: false}; - _keys['shift'] = {code:16, shift: undefined}; - _keys['esc'] = {code:27, shift: false}; - _keys['backspace'] = {code:8, shift: false}; - _keys['tab'] = {code:9, shift: false}; - _keys['ctrl'] = {code:17, shift: false}; - _keys['alt'] = {code:18, shift: false}; - _keys['delete'] = {code:46, shift: false}; - _keys['pageup'] = {code:33, shift: false}; - _keys['pagedown'] = {code:34, shift: false}; - // symbols - _keys['='] = {code:187, shift: false}; - _keys['-'] = {code:189, shift: false}; - _keys[']'] = {code:221, shift: false}; - _keys['['] = {code:219, shift: false}; - - - - var down = function(event) {handleEvent(event,'keydown');}; - var up = function(event) {handleEvent(event,'keyup');}; - - // handle the actualy bound key with the event - var handleEvent = function(event,type) { - if (_bound[type][event.keyCode] !== undefined) { - var bound = _bound[type][event.keyCode]; - for (var i = 0; i < bound.length; i++) { - if (bound[i].shift === undefined) { - bound[i].fn(event); - } - else if (bound[i].shift == true && event.shiftKey == true) { - bound[i].fn(event); - } - else if (bound[i].shift == false && event.shiftKey == false) { - bound[i].fn(event); - } - } - - if (preventDefault == true) { - event.preventDefault(); - } - } - }; - - // bind a key to a callback - _exportFunctions.bind = function(key, callback, type) { - if (type === undefined) { - type = 'keydown'; - } - if (_keys[key] === undefined) { - throw new Error("unsupported key: " + key); - } - if (_bound[type][_keys[key].code] === undefined) { - _bound[type][_keys[key].code] = []; - } - _bound[type][_keys[key].code].push({fn:callback, shift:_keys[key].shift}); - }; - - - // bind all keys to a call back (demo purposes) - _exportFunctions.bindAll = function(callback, type) { - if (type === undefined) { - type = 'keydown'; - } - for (var key in _keys) { - if (_keys.hasOwnProperty(key)) { - _exportFunctions.bind(key,callback,type); - } - } - }; - - // get the key label from an event - _exportFunctions.getKey = function(event) { - for (var key in _keys) { - if (_keys.hasOwnProperty(key)) { - if (event.shiftKey == true && _keys[key].shift == true && event.keyCode == _keys[key].code) { - return key; - } - else if (event.shiftKey == false && _keys[key].shift == false && event.keyCode == _keys[key].code) { - return key; - } - else if (event.keyCode == _keys[key].code && key == 'shift') { - return key; - } - } - } - return "unknown key, currently not supported"; - }; - - // unbind either a specific callback from a key or all of them (by leaving callback undefined) - _exportFunctions.unbind = function(key, callback, type) { - if (type === undefined) { - type = 'keydown'; - } - if (_keys[key] === undefined) { - throw new Error("unsupported key: " + key); - } - if (callback !== undefined) { - var newBindings = []; - var bound = _bound[type][_keys[key].code]; - if (bound !== undefined) { - for (var i = 0; i < bound.length; i++) { - if (!(bound[i].fn == callback && bound[i].shift == _keys[key].shift)) { - newBindings.push(_bound[type][_keys[key].code][i]); - } - } - } - _bound[type][_keys[key].code] = newBindings; - } - else { - _bound[type][_keys[key].code] = []; - } - }; - - // reset all bound variables. - _exportFunctions.reset = function() { - _bound = {keydown:{}, keyup:{}}; - }; - - // unbind all listeners and reset all variables. - _exportFunctions.destroy = function() { - _bound = {keydown:{}, keyup:{}}; - container.removeEventListener('keydown', down, true); - container.removeEventListener('keyup', up, true); - }; - - // create listeners. - container.addEventListener('keydown',down,true); - container.addEventListener('keyup',up,true); - - // return the public functions. - return _exportFunctions; - } - - return keycharm; - })); - - - - -/***/ }, -/* 58 */ /***/ function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_RESULT__;/* WEBPACK VAR INJECTION */(function(global, module) {//! moment.js @@ -28216,7 +28078,7 @@ return /******/ (function(modules) { // webpackBootstrap /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }()), __webpack_require__(71)(module))) /***/ }, -/* 59 */ +/* 58 */ /***/ function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_RESULT__;/*! Hammer.JS - v1.1.3 - 2014-05-20 @@ -30382,6 +30244,205 @@ return /******/ (function(modules) { // webpackBootstrap })(window); +/***/ }, +/* 59 */ +/***/ function(module, exports, __webpack_require__) { + + var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;"use strict"; + /** + * Created by Alex on 11/6/2014. + */ + + // https://github.com/umdjs/umd/blob/master/returnExports.js#L40-L60 + // if the module has no dependencies, the above pattern can be simplified to + (function (root, factory) { + if (true) { + // AMD. Register as an anonymous module. + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); + } else if (typeof exports === 'object') { + // Node. Does not work with strict CommonJS, but + // only CommonJS-like environments that support module.exports, + // like Node. + module.exports = factory(); + } else { + // Browser globals (root is window) + root.keycharm = factory(); + } + }(this, function () { + + function keycharm(options) { + var preventDefault = options && options.preventDefault || false; + + var container = options && options.container || window; + + var _exportFunctions = {}; + var _bound = {keydown:{}, keyup:{}}; + var _keys = {}; + var i; + + // a - z + for (i = 97; i <= 122; i++) {_keys[String.fromCharCode(i)] = {code:65 + (i - 97), shift: false};} + // A - Z + for (i = 65; i <= 90; i++) {_keys[String.fromCharCode(i)] = {code:i, shift: true};} + // 0 - 9 + for (i = 0; i <= 9; i++) {_keys['' + i] = {code:48 + i, shift: false};} + // F1 - F12 + for (i = 1; i <= 12; i++) {_keys['F' + i] = {code:111 + i, shift: false};} + // num0 - num9 + for (i = 0; i <= 9; i++) {_keys['num' + i] = {code:96 + i, shift: false};} + + // numpad misc + _keys['num*'] = {code:106, shift: false}; + _keys['num+'] = {code:107, shift: false}; + _keys['num-'] = {code:109, shift: false}; + _keys['num/'] = {code:111, shift: false}; + _keys['num.'] = {code:110, shift: false}; + // arrows + _keys['left'] = {code:37, shift: false}; + _keys['up'] = {code:38, shift: false}; + _keys['right'] = {code:39, shift: false}; + _keys['down'] = {code:40, shift: false}; + // extra keys + _keys['space'] = {code:32, shift: false}; + _keys['enter'] = {code:13, shift: false}; + _keys['shift'] = {code:16, shift: undefined}; + _keys['esc'] = {code:27, shift: false}; + _keys['backspace'] = {code:8, shift: false}; + _keys['tab'] = {code:9, shift: false}; + _keys['ctrl'] = {code:17, shift: false}; + _keys['alt'] = {code:18, shift: false}; + _keys['delete'] = {code:46, shift: false}; + _keys['pageup'] = {code:33, shift: false}; + _keys['pagedown'] = {code:34, shift: false}; + // symbols + _keys['='] = {code:187, shift: false}; + _keys['-'] = {code:189, shift: false}; + _keys[']'] = {code:221, shift: false}; + _keys['['] = {code:219, shift: false}; + + + + var down = function(event) {handleEvent(event,'keydown');}; + var up = function(event) {handleEvent(event,'keyup');}; + + // handle the actualy bound key with the event + var handleEvent = function(event,type) { + if (_bound[type][event.keyCode] !== undefined) { + var bound = _bound[type][event.keyCode]; + for (var i = 0; i < bound.length; i++) { + if (bound[i].shift === undefined) { + bound[i].fn(event); + } + else if (bound[i].shift == true && event.shiftKey == true) { + bound[i].fn(event); + } + else if (bound[i].shift == false && event.shiftKey == false) { + bound[i].fn(event); + } + } + + if (preventDefault == true) { + event.preventDefault(); + } + } + }; + + // bind a key to a callback + _exportFunctions.bind = function(key, callback, type) { + if (type === undefined) { + type = 'keydown'; + } + if (_keys[key] === undefined) { + throw new Error("unsupported key: " + key); + } + if (_bound[type][_keys[key].code] === undefined) { + _bound[type][_keys[key].code] = []; + } + _bound[type][_keys[key].code].push({fn:callback, shift:_keys[key].shift}); + }; + + + // bind all keys to a call back (demo purposes) + _exportFunctions.bindAll = function(callback, type) { + if (type === undefined) { + type = 'keydown'; + } + for (var key in _keys) { + if (_keys.hasOwnProperty(key)) { + _exportFunctions.bind(key,callback,type); + } + } + }; + + // get the key label from an event + _exportFunctions.getKey = function(event) { + for (var key in _keys) { + if (_keys.hasOwnProperty(key)) { + if (event.shiftKey == true && _keys[key].shift == true && event.keyCode == _keys[key].code) { + return key; + } + else if (event.shiftKey == false && _keys[key].shift == false && event.keyCode == _keys[key].code) { + return key; + } + else if (event.keyCode == _keys[key].code && key == 'shift') { + return key; + } + } + } + return "unknown key, currently not supported"; + }; + + // unbind either a specific callback from a key or all of them (by leaving callback undefined) + _exportFunctions.unbind = function(key, callback, type) { + if (type === undefined) { + type = 'keydown'; + } + if (_keys[key] === undefined) { + throw new Error("unsupported key: " + key); + } + if (callback !== undefined) { + var newBindings = []; + var bound = _bound[type][_keys[key].code]; + if (bound !== undefined) { + for (var i = 0; i < bound.length; i++) { + if (!(bound[i].fn == callback && bound[i].shift == _keys[key].shift)) { + newBindings.push(_bound[type][_keys[key].code][i]); + } + } + } + _bound[type][_keys[key].code] = newBindings; + } + else { + _bound[type][_keys[key].code] = []; + } + }; + + // reset all bound variables. + _exportFunctions.reset = function() { + _bound = {keydown:{}, keyup:{}}; + }; + + // unbind all listeners and reset all variables. + _exportFunctions.destroy = function() { + _bound = {keydown:{}, keyup:{}}; + container.removeEventListener('keydown', down, true); + container.removeEventListener('keyup', up, true); + }; + + // create listeners. + container.addEventListener('keydown',down,true); + container.addEventListener('keyup',up,true); + + // return the public functions. + return _exportFunctions; + } + + return keycharm; + })); + + + + /***/ }, /* 60 */ /***/ function(module, exports, __webpack_require__) { diff --git a/dist/vis.map b/dist/vis.map index 77880c61..16496935 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","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","giveRange","min","max","total","value","scale","Math","isString","String","isDate","Date","match","ASPDateRegex","exec","isNaN","parse","isDataTable","google","visualization","DataTable","randomUUID","S4","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","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","hexToRGB","hex","shorthandRegex","replace","r","g","result","parseInt","overrideOpacity","color","opacity","rgb","substr","RGBToHex","red","green","blue","slice","parseColor","isValidRGB","isValidHex","hsv","hexToHSV","lighterColorHSV","h","s","v","darkerColorHSV","darkerColorHex","HSVToHex","lighterColorHex","background","border","highlight","hover","RGBToHSV","minRGB","maxRGB","d","hue","saturation","cssUtil","cssText","styles","style","trim","parts","keys","map","addCssText","currentStyles","newStyles","removeCssText","removeStyles","HSVToRGB","f","q","t","isOk","test","selectiveBridgeObject","fields","referenceObject","objectTo","create","bridgeObject","mergeOptions","mergeTarget","options","enabled","binarySearchCustom","orderedItems","searchFunction","field","field2","maxIterations","iteration","low","high","middle","item","searchResult","binarySearchValue","sidePreference","prevValue","nextValue","easeInOutQuad","start","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","labelObj","point","drawPoints","setAttributeNS","size","label","xOffset","yOffset","content","textContent","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","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","refresh","newIds","added","removed","viewOptions","getArguments","defaultFilter","dataSet","updated","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","getMouseX","clientX","targetTouches","getMouseY","clientY","Emitter","_setScale","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","obj","sortNumber","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","visible","setValues","setPlayInterval","onchange","getIndex","selectValue","setOnChangeCallback","lineStyle","getLabel","getSelectedValue","from","to","prettyStep","text","xText","yText","zText","offset","xMin2d","xMax2d","gridLenX","gridLenY","textMargin","armAngle","H","S","V","R","G","B","C","Hi","X","abs","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","startMouseY","startStart","startEnd","startArmRotation","cursor","onmousemove","_onMouseMove","onmouseup","diffX","diffY","horizontalNew","verticalNew","snapAngle","snapValue","round","parameters","emit","boundingRect","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","line","dot","dom","borderRadius","boxShadow","borderLeft","contentWidth","offsetWidth","contentHeight","offsetHeight","lineHeight","dotWidth","dotHeight","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","log","LN10","step1","pow","step2","step5","toPrecision","getStep","groups","forthArgument","defaultOptions","autoResize","orientation","maxHeight","minHeight","_create","body","domProps","emitter","bind","hiddenDates","getScale","timeAxis","toScreen","_toScreen","toGlobalScreen","_toGlobalScreen","toTime","_toTime","toGlobalTime","_toGlobalTime","range","timeAxis2","currentTime","customTime","itemSet","itemsData","groupsData","setGroups","setItems","_redraw","Core","markDirty","refreshItems","newDataSet","initialLoad","dataRange","_getDataRange","setWindow","animate","fit","setSelection","focus","getSelection","itemData","e","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","console","removeDuplicates","startHidden","isHidden","endHidden","rangeStart","rangeEnd","hidden","startToFront","endToFront","_applyRange","safeDates","printDates","dates","stepOverHiddenDates","timeStep","previousTime","stepInHidden","currentValue","current","newValue","switchedYear","switchedMonth","switchedDay","time","conversion","getHiddenDurationBetween","correctTimeForHidden","hiddenDuration","totalDuration","partialDuration","accumulatedHiddenDuration","getAccumulatedHiddenDuration","newTime","getHiddenDurationBefore","timeOffset","requiredDuration","previousPoint","snapAwayFromHidden","direction","correctionEnabled","minimumStep","containerHeight","customRange","alignZeros","autoScale","stepIndex","marginStart","marginEnd","deadSpace","majorSteps","minorSteps","setMinimumStep","setFirst","safeSize","minimumStepValue","orderOfMagnitude","minorStepIdx","magnitudefactor","solutionFound","stepSize","niceStart","niceEnd","roundToMinor","marginRange","rounded","hasNext","previous","decimals","exp","cnt","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","byUser","_cancelAnimation","initStart","initEnd","initTime","anyChanged","dragging","done","changed","newStart","newEnd","getRange","totalHidden","previousDelta","allowDragging","gesture","deltaX","deltaY","diffRange","safeStart","safeEnd","fakeGesture","pointer","pointerDate","_pointerToDate","zoom","touches","centerDate","hiddenDurationBefore","hiddenDurationAfter","move","EPSILON","orderByStart","orderByEnd","aTime","bTime","force","iMax","axis","collidingItem","jj","collision","nostack","subgroups","newTop","subgroup","format","FORMAT","minorLabels","millisecond","second","minute","hour","weekday","majorLabels","setFormat","defaultFormat","first","setFullYear","getFullYear","setMonth","setDate","setHours","setMinutes","setSeconds","setMilliseconds","getMilliseconds","getSeconds","getMinutes","getHours","getDate","getMonth","setScale","setAutoScale","enable","stepYear","stepMonth","stepDay","stepHour","stepMinute","stepSecond","stepMillisecond","snap","getLabelMinor","getLabelMajor","getClassName","even","today","isSame","currentWeek","currentMonth","currentYear","locale","lang","toLowerCase","parent","selected","displayed","dirty","Hammer","select","unselect","setParent","hide","show","isVisible","repositionX","repositionY","_repaintDeleteButton","anchor","editable","deleteButton","title","removeFromDataSet","stopPropagation","_updateContents","template","Element","_updateTitle","removeAttribute","_updateDataAttributes","dataAttributes","attributes","setAttribute","_updateStyle","emptyContent","baseClassName","box","getComputedStyle","onTop","itemSubgroup","subgroupIndex","totalHeight","newHeight","foreground","align","itemSetHeight","marginLeft","maxWidth","_repaintDragLeft","_repaintDragRight","limitSize","contentLeft","parentWidth","boxWidth","updateTime","dragLeft","dragLeftItem","dragRight","dragRightItem","_isResized","resized","_previousWidth","_previousHeight","showCurrentTime","locales","backgroundVertical","toUpperCase","substring","currentTimeTimer","setCurrentTime","getCurrentTime","showCustomTime","eventParams","drag","prevent_default","setCustomTime","getCustomTime","svg","linegraphOptions","showMinorLabels","showMajorLabels","icons","majorLinesOffset","minorLinesOffset","labelOffsetX","labelOffsetY","iconWidth","linegraphSVG","DOMelements","lines","labels","conversionFactor","minWidth","stepPixels","stepPixelsForced","zeroCrossing","lineOffset","master","svgElements","iconsRemoved","amountOfGroups","lineContainer","scrollTop","addGroup","graphOptions","updateGroup","removeGroup","display","_redrawGroupIcons","iconHeight","iconOffset","drawIcon","_cleanupIcons","backgroundHorizontal","activeGroups","_calculateCharSize","minorLabelHeight","minorCharHeight","majorLabelHeight","majorCharHeight","minorLineWidth","minorLineHeight","majorLineWidth","majorLineHeight","_redrawLabels","_redrawTitle","amountOfSteps","stepDifference","zeroStepDifference","valueAtZero","marginStartPos","maxLabelSize","_redrawLabel","_redrawLine","titleWidth","titleCharHeight","convertValue","invertedValue","convertedValue","characterHeight","largestWidth","majorCharWidth","minorCharWidth","textMinor","createTextNode","measureCharMinor","textMajor","measureCharMajor","textTitle","measureCharTitle","titleCharWidth","groupsUsingDefaultStyles","usingDefaultStyle","zeroPosition","Line","Bar","Points","setZeroPosition","catmullRom","parametrization","alpha","SVGcontainer","path","fillPath","fillHeight","outline","shaded","barWidth","bar1Height","bar2Height","icon","yAxisOrientation","getYRange","groupData","draw","framework","subgroupOrderer","subgroupOrder","visibleItems","byStart","byEnd","checkRangedItems","inner","marker","getLabelWidth","restack","markerHeight","lastMarkerHeight","customOrderedItems","_updateVisibleItems","_calculateHeight","offsetTop","offsetLeft","ii","resetSubgroups","labelSet","orderSubgroups","_checkIfVisible","sortArray","sortField","removeItem","startArray","endArray","oldVisibleItems","visibleItemsLookup","lowerBound","upperBound","_checkIfVisibleWithReference","initialPosByStart","_traceVisible","initialPosByEnd","initialPos","breakCondition","groupOrder","selectable","onAdd","onUpdate","onMove","onRemove","onMoving","itemOptions","itemListeners","_onAdd","_onUpdate","_onRemove","groupListeners","_onAddGroups","_onUpdateGroups","_onRemoveGroups","groupIds","selection","stackDirty","touchParams","UNGROUPED","BACKGROUND","_updateUngrouped","backgroundGroup","_onSelectItem","_onMultiSelectItem","_onAddItem","addCallback","Function","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","groupOptions","oldGroupId","oldGroup","_constructByEndArray","itemFromTarget","initialX","itemProps","srcEvent","ctrlKey","_onDragStartAddItem","xAbs","groupFromTarget","newItem","newProps","initial","_updateItemProps","_moveToGroup","changes","shiftKey","oldSelection","newSelection","_getItemRange","_item","itemSetFromTarget","side","iconSize","iconSpacing","textArea","scrollableHeight","drawLegendIcons","paddingTop","defaultGroup","sampling","graphHeight","barChart","handleOverlap","dataAxis","legend","abortedGraphUpdate","updateSVGheight","updateSVGheightOnResize","lastStart","COUNTER","BarGraphFunctions","yAxisLeft","yAxisRight","legendLeft","legendRight","_updateAllGroupData","_updateGroup","groupsContent","ungroupedCounter","forceGraphUpdate","_updateGraph","rangePerPixelInv","preprocessedGroupData","processedGroupData","groupRanges","changeCalled","minDate","maxDate","_getRelevantData","_applySampling","_convertXcoordinates","_getYRanges","_updateYAxis","MAX_CYCLES","_convertYcoordinates","dataContainer","guess","increment","amountOfPoints","xDistance","pointsPerPixel","ceil","sampledData","barCombinedDataLeft","barCombinedDataRight","getStackedBarYRange","minVal","maxVal","yAxisLeftUsed","yAxisRightUsed","minLeft","minRight","maxLeft","maxRight","ignore","_toggleAxisVisiblity","drawIcons","axisUsed","datapoints","xValue","yValue","extractedData","svgHeight","labelValue","majorTexts","minorTexts","lineTop","parentChanged","foregroundNextSibling","nextSibling","backgroundNextSibling","_repaintLabels","timeLabelsize","cur","prevLine","xPrev","xFirstMajorLabel","_repaintMinorText","_repaintMajorText","_repaintMajorLine","_repaintMinorLine","leftTime","leftText","widthText","arr","pop","childNodes","nodeValue","_determineBrowserMethod","_initializeMixinLoaders","renderRefreshRate","renderTimestep","renderTime","physicsTime","runDoubleSpeed","physicsDiscreteStepsize","initializing","triggerFunctions","edit","editEdge","connect","del","customScalingFunction","nodes","mass","radiusMin","radiusMax","shape","image","fontColor","fontSize","fontFace","fontFill","fontStrokeWidth","fontStrokeColor","fontDrawThreshold","scaleFontWithValue","fontSizeMin","fontSizeMax","fontSizeMaxVisible","level","borderWidthSelected","edges","widthSelectionMultiplier","hoverWidth","labelAlignment","arrowScaleFactor","dash","gap","altLength","inheritColor","useGradients","configurePhysics","physics","barnesHut","thetaInverted","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","clusterByZoom","navigation","keyboard","speed","bindToWindow","dataManipulation","initiallyVisible","hierarchicalLayout","levelSeparation","nodeSpacing","layout","freezeForStabilization","smoothCurves","dynamic","roundness","maxVelocity","minVelocity","stabilize","stabilizationIterations","zoomExtentOnStabilize","dragNetwork","dragNodes","hideEdgesOnDrag","hideNodesOnDrag","useDefaultGroups","constants","pixelRatio","hoverObj","controlNodesActive","navigationHammers","manipulationHammers","animationSpeed","animationEasingFunction","animating","easingTime","sourceScale","targetScale","sourceTranslation","targetTranslation","lockedOnNodeId","lockedOnNodeOffset","touchTime","redrawRequested","images","setOnloadCallback","_requestRedraw","xIncrement","yIncrement","zoomIncrement","_loadPhysicsSystem","_loadSectorSystem","_loadClusterSystem","_loadSelectionSystem","_loadHierarchySystem","_setTranslation","freezeSimulationEnabled","cachedFunctions","startedStabilization","stabilized","draggingNodes","calculationNodes","calculationNodeIndices","nodeIndices","canvasTopLeft","canvasBottomRight","pointerPosition","areaCenter","previousScale","nodesData","edgesData","nodesListeners","_addNodes","_updateNodes","_removeNodes","edgesListeners","_addEdges","_updateEdges","_removeEdges","moving","timer","_setupHierarchicalLayout","zoomExtent","startWithClustering","keycharm","MixinLoader","Activator","browserType","requiresTimeout","_getScriptPath","scripts","getElementsByTagName","src","_getRange","specificNodes","node","minY","maxY","minX","maxX","boundingBox","nodeId","_findCenter","initialZoom","disableStart","zoomLevel","positionDefined","predefinedPosition","numberOfNodes","factor","yDistance","xZoomLevel","yZoomLevel","animation","_updateNodeIndexList","_clearNodeIndexList","idx","_unselectAll","_createManipulatorBar","dotData","DOTToGraph","gephi","gephiData","parseGephi","_setNodes","_setEdges","_putDataInSector","_resetLevels","_stabilize","onEdit","onEditEdge","onConnect","onDelete","editMode","newColorObj","groupname","clickToUse","activator","_createKeyBinds","_loadNavigationControls","_loadManipulationSystem","_configureSmoothCurves","_bindHammer","_markAllEdgesAsDirty","tabIndex","devicePixelRatio","webkitBackingStorePixelRatio","mozBackingStorePixelRatio","msBackingStorePixelRatio","oBackingStorePixelRatio","backingStorePixelRatio","setTransform","dispose","pinch","_onTap","_onDoubleTap","_onMouseMoveTitle","hammerFrame","_onRelease","reset","isActive","_moveUp","_yStopMoving","_moveDown","_moveLeft","_xStopMoving","_moveRight","_zoomIn","_stopZoom","_zoomOut","_deleteSelected","_cleanupPhysicsConfiguration","_recursiveDOMDelete","DOMobject","_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","popupVisible","popup","_checkHidePopup","setPosition","checkShow","_checkShowPopup","popupTimer","edgeId","_getEdgeAt","_hoverObject","_blurObject","previousPopupObjId","popupObj","nodeUnderCursor","popupType","overlappingNodes","isOverlappingWith","getTitle","overlappingEdges","edge","connected","popupTargetType","popupTargetId","setText","pointerObj","stillOnObj","overNode","emitEvent","oldWidth","oldHeight","oldNodesData","_updateSelection","angle","_updateCalculationNodes","_reconnectEdges","_updateValueRange","updateLabels","setProperties","properties","colorDirty","_removeFromSelection","oldEdgesData","oldEdge","disconnect","showInternalIds","_createBezierNodes","via","sectors","dynamicEdges","valueTotal","setValueRange","requestAnimationFrame","w","save","translate","_doInAllSectors","restore","offsetX","offsetY","_drawNodes","alwaysShow","setScaleAndPos","inArea","sMax","_drawEdges","_drawControlNodes","_freezeDefinedNodes","_physicsTick","_restoreFrozenNodes","fixedData","_isMoving","vmin","isMoving","_discreteStepNodes","nodesPresent","discreteStepLimited","discreteStep","vminCorrected","_revertPhysicsState","revertPosition","_revertPhysicsTick","_doInAllActiveSectors","_doInSupportSector","mainMovingStatus","supportMovingStatus","mainMoving","_animationStep","_handleNavigation","startTime","renderStartTime","mozRequestAnimationFrame","webkitRequestAnimationFrame","msRequestAnimationFrame","iterations","freezeSimulation","freeze","parentEdgeId","internalMultiplier","positionBezierNode","mixin","storePosition","storePositions","dataArray","allowedToMoveX","allowedToMoveY","getPositions","focusOnNode","nodePosition","lockedOnNode","easingFunction","animateView","locked","_transitionRedraw","viewCenter","distanceFromCenter","_classicRedraw","_lockedRedraw","active","getCenterCoordinates","getBoundingBox","getConnectedNodes","nodeList","nodeObj","toId","fromId","getEdgesFromNode","edgesList","generateColorObject","networkConstants","widthSelected","labelDimensions","yLine","dirtyLabel","fromBackup","toBackup","originalFromId","originalToId","widthFixed","lengthFixed","controlNodesEnabled","controlNodes","positions","connectedNode","_drawLine","_drawArrow","_drawArrowCenter","_drawDashLine","attachEdge","detachEdge","widthDiff","xFrom","yFrom","xTo","yTo","xObj","yObj","_getDistanceToEdge","_getColor","colorObj","fromColor","toColor","grd","createLinearGradient","addColorStop","_getLineWidth","_line","midpointX","midpointY","_pointOnLine","_label","resize","_circle","_pointOnCircle","networkScaleInv","_getViaCoordinates","xVia","yVia","pi","originalAngle","atan2","myAngle","quadraticCurveTo","lineCount","measureText","_rotateForLabelAlignment","_drawLabelRect","_drawLabelText","angleInDegrees","rotate","lineMargin","fillRect","lineJoin","strokeText","setLineDash","pattern","lineDashOffset","lineCap","dashedLine","percentage","arrow","_pointOnBezier","_findBorderPosition","distanceToBorder","distanceToNodes","difference","threshold","arrowPos","guidePos","edgeSegmentLength","toBorderDist","toBorderPoint","x1","y1","x2","y2","x3","y3","lastX","lastY","minDistance","_getDistanceToLine","px","py","something","u","nodeIdFrom","nodeIdTo","getControlNodeFromPosition","getControlNodeToPosition","_enableControlNodes","_disableControlNodes","_getSelectedControlNode","fromDistance","toDistance","_restoreControlNodes","controlnodeFromPos","fromBorderDist","fromBorderPoint","controlnodeToPos","defaultIndex","groupsArray","groupIndex","DEFAULT","groupName","imageBroken","load","url","brokenUrl","img","Image","onload","onerror","error","imagelist","grouplist","reroutedEdges","horizontalAlignLeft","verticalAlignTop","baseRadiusValue","radiusFixed","preassignedLevel","hierarchyEnumerated","fx","fy","vx","vy","previousState","resetCluster","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","_drawCircularImage","_resizeCircularImage","_drawText","_resizeText","_drawDot","_resizeShape","_drawSquare","_drawTriangle","_drawTriangleDown","_drawStar","_drawIcon","_resizeIcon","_reset","clearSizeCache","_setForce","_addForce","storeState","isFixed","velocity","getDistance","radiusDiff","fontDiff","_drawImageAtPosition","globalAlpha","drawImage","_drawImageLabel","getTextSize","_swapToImageResizeWhenImageLoaded","diameter","centerX","centerY","_drawRawCircle","circle","clip","textSize","clusterLineWidth","selectionLineWidth","roundRect","database","defaultSize","ellipse","_drawShape","radiusMultiplier","_icon","iconTextSpacing","relativeIconSize","iconFontFace","iconColor","baseline","labelUnderNode","relativeFontSize","strokecolor","inView","clearVelocity","updateVelocity","massBeforeClustering","energyBefore","fontFamily","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","graphData","dotNode","graphNode","convertEdge","dotEdge","graphEdge","subEdge","{","}","[","]",";","=",",","->","--","gephiJSON","allowedToMove","gEdges","gNodes","gEdge","source","gNode","leftContainer","rightContainer","shadowTop","shadowBottom","shadowTopLeft","shadowBottomLeft","shadowTopRight","shadowBottomRight","_redrawTimer","listeners","events","scrollTopMin","redrawCount","_initAutoResize","component","_stopAutoResize","barId","addCustomTime","numIds","customBarId","ts","customBarIds","removeCustomTime","what","getWindow","borderRootHeight","borderRootWidth","autoHeight","centerWidth","_updateScrollTop","visibilityTop","visibilityBottom","MAX_REDRAWS","repaint","_startAutoResize","_onResize","lastHeight","watchTimer","setInterval","initialScrollTop","oldScrollTop","_getScrollTop","newScrollTop","_setScrollTop","eventType","getTouchList","collectEventData","custom","_catmullRom","_linear","dFill","_catmullRomUniform","p0","p1","p2","p3","bp1","bp2","normalization","d1","d2","d3","A","N","M","d3powA","d2powA","d3pow2A","d2pow2A","d1pow2A","d1powA","Bargraph","barCombinedData","coreDistance","drawData","combinedData","intersections","barPoints","_getDataIntersections","heightOffset","_getSafeDrawData","nextKey","amount","resolved","prevKey","accumulated","groupLabel","_getStackedBarYRange","xpos","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","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","_callbacks","once","self","removeListener","removeAllListeners","callbacks","cb","hasListeners","__WEBPACK_AMD_DEFINE_FACTORY__","__WEBPACK_AMD_DEFINE_ARRAY__","__WEBPACK_AMD_DEFINE_RESULT__","_exportFunctions","_bound","keydown","keyup","_keys","fromCharCode","code","down","handleEvent","up","keyCode","bound","bindAll","getKey","newBindings","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","monthDiff","anchor2","adjust","wholeMonthDiff","meridiemFixWrap","meridiem","isPm","meridiemHour","isPM","Locale","Moment","config","skipOverflow","checkOverflow","copyConfig","updateInProgress","updateOffset","Duration","normalizedInput","normalizeObjectUnits","years","quarters","quarter","months","weeks","week","days","_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","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","MONTH","DATE","YEAR","HOUR","MINUTE","SECOND","MILLISECOND","_overflowDayOfYear","isValid","_isValid","getTime","bigHour","normalizeLocale","chooseLocale","names","loadLocale","oldLocale","hasModule","model","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","parseTokenOffsetMs","parseTokenTimestampMs","parseTokenTimezone","parseTokenT","parseTokenDigits","parseTokenOneOrTwoDigits","_ordinalParse","_ordinalParseLenient","RegExp","regexpEscape","unescapeFormat","utcOffsetFromString","string","possibleTzMatches","tzChunk","parseTimezoneChunker","addTimeToArrayFromToken","datePartArray","monthsParse","_dayOfYear","parseTwoDigitYear","_meridiem","_useUTC","weekdaysParse","_w","invalidWeekday","dayOfYearFromWeekInfo","weekYear","temp","GG","W","E","_week","gg","dayOfYearFromWeeks","dateFromConfig","currentDate","yearToUse","currentDateArray","makeUTCDate","getUTCMonth","_nextDay","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","SS","SSS","SSSS","Z","utcOffset","ZZ","zoneAbbr","zz","zoneName","unix","lists","DDDD","_monthsShort","monthName","regex","_monthsParse","_longMonthsParse","_shortMonthsParse","_weekdays","_weekdaysShort","_weekdaysMin","weekdayName","_weekdaysParse","_longDateFormat","LTS","LT","L","LL","LLL","LLLL","isLower","_calendar","sameDay","nextDay","nextWeek","lastDay","lastWeek","sameElse","calendar","_relativeTime","future","past","mm","hh","MM","yy","pastFuture","_ordinal","postformat","firstDayOfYear","_invalidDate","ret","parseIso","diffRes","isDuration","inp","version","relativeTimeThreshold","limit","defineLocale","_abbr","abbr","langData","flags","parseZone","isDSTShifted","parsingFlags","invalidAt","keepLocalTime","_dateUtcOffset","inputString","asFloat","that","zoneDiff","humanize","fromNow","sod","startOf","isDST","getDay","endOf","inputMs","isBetween","zone","localAdjust","_changeInProgress","isLocal","isUtcOffset","isUtc","hasAlignedHourOffset","isoWeeksInYear","weekInfo","newLocaleData","getTimezoneOffset","isoWeeks","toJSON","isUTC","withSuffix","toIsoString","asSeconds","asMilliseconds","asMinutes","asHours","asDays","asWeeks","asMonths","asYears","ordinalParse","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","trigger","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","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","graphToggleSmoothCurves","graph_toggleSmooth","getElementById","graphRepositionNodes","showValueOfRange","repositionNodes","graphGenerateOptions","optionsSpecific","radioButton1","radioButton2","checked","backupConstants","optionsDiv","switchConfigurations","radioButton","querySelector","tableId","table","_restoreNodes","constantsVariableName","valueId","rangeValue","_overWriteGraphConstants","RepulsionMixin","HierarchialRepulsionMixin","BarnesHutMixin","_toggleBarnesHut","barnesHutTree","_initializeForceCalculation","clusterToFit","_calculateForces","_calculateGravitationalForces","_calculateNodeForces","_calculateSpringForcesWithSupport","_calculateHierarchicalSpringForces","_calculateSpringForces","supportNodes","supportNodeId","gravity","gravityForce","_sector","edgeLength","springForce","combinedClusterSize","node1","node2","node3","_calculateSpringForce","physicsConfiguration","maxGravitational","maxSpring","hierarchicalLayoutDirections","parentElement","rangeElement","radioButton3","graph_repositionNodes","graph_generateOptions","dynamicSmoothCurves","nameArray","maxNumberOfNodes","reposition","maxLevels","forceAggregateHubs","normalizeClusterLevels","increaseClusterLevel","openCluster","isMovingBeforeClustering","_nodeInActiveArea","_addSector","decreaseClusterLevel","_expandClusterNode","updateClusters","zoomDirection","recursive","doNotStart","amountOfNodes","detectedZoomingIn","detectedZoomingOut","_collapseSector","_formClusters","_openClusters","_aggregateHubs","handleChains","chainPercentage","_getChainFraction","_reduceAmountOfChains","_getHubSize","_formClustersByHub","_openClustersBySize","openAll","containedNodeId","childNode","_expelChildFromParent","_releaseContainedEdges","_connectEdgeBackToChild","_validateEdges","othersPresent","childNodeId","_repositionBezierNodes","_formClustersByZoom","_forceClustersByZoom","minLength","_addToCluster","_clusterToSmallestNeighbour","smallestNeighbour","smallestNeighbourNode","neighbour","onlyEqual","_formClusterFromHub","hubNode","absorptionSizeOffset","allowCluster","edgesIdarray","amountOfInitialEdges","children","childrenIds","_addToContainedEdges","_connectEdgeToCluster","_containCircularEdgesFromNode","massBefore","_addToReroutedEdges","maxLevel","minLevel","clusterLevel","targetLevel","average","averageSquared","hubCounter","largestHub","variance","standardDeviation","fraction","reduceAmount","chains","_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","_getAllNodesOverlappingWith","_pointerToPositionObject","positionObject","_getEdgesOverlappingWith","_getAllEdgesOverlappingWith","_addToSelection","_addToHover","doNotTrigger","_unselectClusters","_getSelectedNodeCount","_getSelectedNode","_getSelectedEdge","_getSelectedEdgeCount","_getSelectedObjectCount","_selectionIsEmpty","_clusterInSelection","_selectConnectedEdges","_hoverConnectedEdges","_unselectConnectedEdges","append","highlightEdges","overrideSelectable","DOM","_manipulationReleaseOverload","_navigationReleaseOverload","getSelectedNodes","edgeIds","getSelectedEdges","idArray","selectNodes","RangeError","selectEdges","_clearManipulatorBar","manipulationDOM","_cleanManipulatorHammers","_restoreOverloadedFunctions","functionName","_toggleEditMode","toolbar","_bindHammerToDiv","boundFunction","edgeBeingEdited","selectedControlNode","domElement","funct","_createAddNodeToolbar","_addNode","_createAddEdgeToolbar","_handleConnect","_finishConnect","_createEditEdgeToolbar","_selectControlNode","_controlNodeDrag","_releaseControlNode","newNode","_editEdge","alert","targetNode","connectionEdge","connectFromId","_createEdge","defaultData","finalizedData","sourceNodeId","targetNodeId","_editNode","selectedNodes","selectedEdges","navigationDOM","navigationDivs","navigationDivActions","_stopMovement","_zoomExtent","hubsize","definedLevel","undefinedLevel","_changeConstants","_determineLevels","_determineLevelsDirected","distribution","_getDistribution","_placeNodesByHierarchy","minPos","_placeBranchNodes","maxCount","_setLevel","firstNode","_setLevelDirected","parentId","parentLevel","nodeMoved","webpackContext","req","resolve","repulsingForce","a_base","minimumDistance","steepness","springFx","springFy","totalFx","totalFy","correctionFx","correctionFy","nodeCount","_formBarnesHutTree","_getForceContribution","NW","NE","SW","SE","parentBranch","childrenCount","centerOfMass","calcSize","MAX_VALUE","sizeDiff","minimumTreeSize","rootSize","halfRootSize","_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","giveRange","min","max","total","value","scale","Math","isString","String","isDate","Date","match","ASPDateRegex","exec","isNaN","parse","isDataTable","google","visualization","DataTable","randomUUID","S4","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","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","hasParent","parent","e","option","asBoolean","defaultValue","asNumber","asString","asSize","asElement","hexToRGB","hex","shorthandRegex","replace","r","g","result","parseInt","overrideOpacity","color","opacity","rgb","substr","RGBToHex","red","green","blue","slice","parseColor","isValidRGB","isValidHex","hsv","hexToHSV","lighterColorHSV","h","s","v","darkerColorHSV","darkerColorHex","HSVToHex","lighterColorHex","background","border","highlight","hover","RGBToHSV","minRGB","maxRGB","d","hue","saturation","cssUtil","cssText","styles","style","trim","parts","keys","map","addCssText","currentStyles","newStyles","removeCssText","removeStyles","HSVToRGB","f","q","t","isOk","test","selectiveBridgeObject","fields","referenceObject","objectTo","create","bridgeObject","mergeOptions","mergeTarget","options","enabled","binarySearchCustom","orderedItems","searchFunction","field","field2","maxIterations","iteration","low","high","middle","item","searchResult","binarySearchValue","sidePreference","prevValue","nextValue","easeInOutQuad","start","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","labelObj","point","drawPoints","setAttributeNS","size","label","xOffset","yOffset","content","textContent","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","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","refresh","newIds","added","removed","viewOptions","getArguments","defaultFilter","dataSet","updated","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","getMouseX","clientX","targetTouches","getMouseY","clientY","Emitter","_setScale","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","obj","sortNumber","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","visible","setValues","setPlayInterval","onchange","getIndex","selectValue","setOnChangeCallback","lineStyle","getLabel","getSelectedValue","from","to","prettyStep","text","xText","yText","zText","offset","xMin2d","xMax2d","gridLenX","gridLenY","textMargin","armAngle","H","S","V","R","G","B","C","Hi","X","abs","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","startMouseY","startStart","startEnd","startArmRotation","cursor","onmousemove","_onMouseMove","onmouseup","diffX","diffY","horizontalNew","verticalNew","snapAngle","snapValue","round","parameters","emit","boundingRect","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","line","dot","dom","borderRadius","boxShadow","borderLeft","contentWidth","offsetWidth","contentHeight","offsetHeight","lineHeight","dotWidth","dotHeight","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","log","LN10","step1","pow","step2","step5","toPrecision","getStep","groups","forthArgument","defaultOptions","autoResize","orientation","maxHeight","minHeight","_create","body","domProps","emitter","bind","hiddenDates","getScale","timeAxis","toScreen","_toScreen","toGlobalScreen","_toGlobalScreen","toTime","_toTime","toGlobalTime","_toGlobalTime","range","timeAxis2","currentTime","customTime","itemSet","itemsData","groupsData","getEventProperties","oncontextmenu","setGroups","setItems","_redraw","Core","markDirty","refreshItems","newDataSet","initialLoad","dataRange","_getDataRange","setWindow","animate","fit","setSelection","focus","getSelection","itemData","getItemRange","dataset","minItem","maxStartItem","maxEndItem","itemFromTarget","groupFromTarget","pageX","gesture","pageY","centerContainer","snap","time","snappedTime","what","foreground","labelSet","groupId","linegraph","getLegend","isGroupVisible","visibility","convertHiddenOptions","repeat","dateItem","updateHiddenDates","totalRange","pixelTime","startDate","endDate","_d","runUntil","clone","day","dayOfYear","year","dayOffset","date","month","console","removeDuplicates","startHidden","isHidden","endHidden","rangeStart","rangeEnd","hidden","startToFront","endToFront","_applyRange","safeDates","printDates","dates","stepOverHiddenDates","timeStep","previousTime","stepInHidden","currentValue","current","newValue","switchedYear","switchedMonth","switchedDay","conversion","getHiddenDurationBetween","correctTimeForHidden","hiddenDuration","totalDuration","partialDuration","accumulatedHiddenDuration","getAccumulatedHiddenDuration","newTime","getHiddenDurationBefore","timeOffset","requiredDuration","previousPoint","snapAwayFromHidden","direction","correctionEnabled","minimumStep","containerHeight","customRange","alignZeros","autoScale","stepIndex","marginStart","marginEnd","deadSpace","majorSteps","minorSteps","setMinimumStep","setFirst","safeSize","minimumStepValue","orderOfMagnitude","minorStepIdx","magnitudefactor","solutionFound","stepSize","niceStart","niceEnd","roundToMinor","marginRange","rounded","hasNext","previous","decimals","exp","cnt","isMajor","now","hours","minutes","seconds","milliseconds","deltaDifference","scaleOffset","moveable","zoomable","zoomMin","zoomMax","touch","animateTimer","_onDragStart","_onDrag","_onDragEnd","_onHold","_onMouseWheel","_onTouch","_onPinch","validateDirection","getPointer","hammerUtil","byUser","_cancelAnimation","initStart","initEnd","initTime","anyChanged","dragging","done","changed","newStart","newEnd","getRange","totalHidden","previousDelta","allowDragging","deltaX","deltaY","diffRange","safeStart","safeEnd","fakeGesture","pointer","pointerDate","_pointerToDate","zoom","touches","centerDate","hiddenDurationBefore","hiddenDurationAfter","move","EPSILON","orderByStart","orderByEnd","aTime","bTime","force","iMax","axis","collidingItem","jj","collision","nostack","subgroups","newTop","subgroup","format","FORMAT","minorLabels","millisecond","second","minute","hour","weekday","majorLabels","setFormat","defaultFormat","first","setFullYear","getFullYear","setMonth","setDate","setHours","setMinutes","setSeconds","setMilliseconds","getMilliseconds","getSeconds","getMinutes","getHours","getDate","getMonth","setScale","setAutoScale","enable","stepYear","stepMonth","stepDay","stepHour","stepMinute","stepSecond","stepMillisecond","getLabelMinor","getLabelMajor","getClassName","even","today","isSame","currentWeek","currentMonth","currentYear","locale","lang","toLowerCase","selected","displayed","dirty","Hammer","select","unselect","setParent","hide","show","isVisible","repositionX","repositionY","_repaintDeleteButton","anchor","editable","deleteButton","title","removeFromDataSet","stopPropagation","_updateContents","template","Element","_updateTitle","removeAttribute","_updateDataAttributes","dataAttributes","attributes","setAttribute","_updateStyle","emptyContent","baseClassName","box","getComputedStyle","onTop","itemSubgroup","subgroupIndex","totalHeight","newHeight","align","itemSetHeight","marginLeft","maxWidth","_repaintDragLeft","_repaintDragRight","limitSize","contentLeft","parentWidth","boxWidth","updateTime","dragLeft","dragLeftItem","dragRight","dragRightItem","_isResized","resized","_previousWidth","_previousHeight","showCurrentTime","locales","backgroundVertical","toUpperCase","substring","currentTimeTimer","setCurrentTime","getCurrentTime","showCustomTime","eventParams","drag","prevent_default","setCustomTime","getCustomTime","svg","linegraphOptions","showMinorLabels","showMajorLabels","icons","majorLinesOffset","minorLinesOffset","labelOffsetX","labelOffsetY","iconWidth","linegraphSVG","DOMelements","lines","labels","conversionFactor","minWidth","stepPixels","stepPixelsForced","zeroCrossing","lineOffset","master","svgElements","iconsRemoved","amountOfGroups","lineContainer","scrollTop","addGroup","graphOptions","updateGroup","removeGroup","display","_redrawGroupIcons","iconHeight","iconOffset","drawIcon","_cleanupIcons","backgroundHorizontal","activeGroups","_calculateCharSize","minorLabelHeight","minorCharHeight","majorLabelHeight","majorCharHeight","minorLineWidth","minorLineHeight","majorLineWidth","majorLineHeight","_redrawLabels","_redrawTitle","amountOfSteps","stepDifference","zeroStepDifference","valueAtZero","marginStartPos","maxLabelSize","_redrawLabel","_redrawLine","titleWidth","titleCharHeight","convertValue","invertedValue","convertedValue","characterHeight","largestWidth","majorCharWidth","minorCharWidth","textMinor","createTextNode","measureCharMinor","textMajor","measureCharMajor","textTitle","measureCharTitle","titleCharWidth","groupsUsingDefaultStyles","usingDefaultStyle","zeroPosition","Line","Bar","Points","setZeroPosition","catmullRom","parametrization","alpha","SVGcontainer","path","fillPath","fillHeight","outline","shaded","barWidth","bar1Height","bar2Height","icon","yAxisOrientation","getYRange","groupData","draw","framework","subgroupOrderer","subgroupOrder","visibleItems","byStart","byEnd","checkRangedItems","inner","marker","getLabelWidth","restack","markerHeight","lastMarkerHeight","customOrderedItems","_updateVisibleItems","_calculateHeight","offsetTop","offsetLeft","ii","resetSubgroups","orderSubgroups","_checkIfVisible","sortArray","sortField","removeItem","startArray","endArray","oldVisibleItems","visibleItemsLookup","lowerBound","upperBound","_checkIfVisibleWithReference","initialPosByStart","_traceVisible","initialPosByEnd","initialPos","breakCondition","groupOrder","selectable","onAdd","onUpdate","onMove","onRemove","onMoving","itemOptions","itemListeners","_onAdd","_onUpdate","_onRemove","groupListeners","_onAddGroups","_onUpdateGroups","_onRemoveGroups","groupIds","selection","stackDirty","touchParams","UNGROUPED","BACKGROUND","_updateUngrouped","backgroundGroup","_onSelectItem","_onMultiSelectItem","_onAddItem","addCallback","Function","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","groupOptions","oldGroupId","oldGroup","_constructByEndArray","initialX","itemProps","srcEvent","ctrlKey","_onDragStartAddItem","xAbs","newItem","newProps","initial","_updateItemProps","_moveToGroup","changes","shiftKey","oldSelection","newSelection","_getItemRange","_item","itemSetFromTarget","side","iconSize","iconSpacing","textArea","scrollableHeight","drawLegendIcons","paddingTop","defaultGroup","sampling","graphHeight","barChart","handleOverlap","dataAxis","legend","abortedGraphUpdate","updateSVGheight","updateSVGheightOnResize","lastStart","COUNTER","BarGraphFunctions","yAxisLeft","yAxisRight","legendLeft","legendRight","_updateAllGroupData","_updateGroup","groupsContent","ungroupedCounter","forceGraphUpdate","_updateGraph","rangePerPixelInv","preprocessedGroupData","processedGroupData","groupRanges","changeCalled","minDate","maxDate","_getRelevantData","_applySampling","_convertXcoordinates","_getYRanges","_updateYAxis","MAX_CYCLES","_convertYcoordinates","dataContainer","guess","increment","amountOfPoints","xDistance","pointsPerPixel","ceil","sampledData","barCombinedDataLeft","barCombinedDataRight","getStackedBarYRange","minVal","maxVal","yAxisLeftUsed","yAxisRightUsed","minLeft","minRight","maxLeft","maxRight","ignore","_toggleAxisVisiblity","drawIcons","axisUsed","datapoints","xValue","yValue","extractedData","svgHeight","labelValue","majorTexts","minorTexts","lineTop","parentChanged","foregroundNextSibling","nextSibling","backgroundNextSibling","_repaintLabels","timeLabelsize","cur","prevLine","xPrev","xFirstMajorLabel","_repaintMinorText","_repaintMajorText","_repaintMajorLine","_repaintMinorLine","leftTime","leftText","widthText","arr","pop","childNodes","nodeValue","_determineBrowserMethod","_initializeMixinLoaders","renderRefreshRate","renderTimestep","renderTime","physicsTime","runDoubleSpeed","physicsDiscreteStepsize","initializing","triggerFunctions","edit","editEdge","connect","del","customScalingFunction","nodes","mass","radiusMin","radiusMax","shape","image","fontColor","fontSize","fontFace","fontFill","fontStrokeWidth","fontStrokeColor","fontDrawThreshold","scaleFontWithValue","fontSizeMin","fontSizeMax","fontSizeMaxVisible","level","borderWidthSelected","edges","widthSelectionMultiplier","hoverWidth","labelAlignment","arrowScaleFactor","dash","gap","altLength","inheritColor","useGradients","configurePhysics","physics","barnesHut","thetaInverted","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","clusterByZoom","navigation","keyboard","speed","bindToWindow","dataManipulation","initiallyVisible","hierarchicalLayout","levelSeparation","nodeSpacing","layout","freezeForStabilization","smoothCurves","dynamic","roundness","maxVelocity","minVelocity","stabilize","stabilizationIterations","zoomExtentOnStabilize","dragNetwork","dragNodes","hideEdgesOnDrag","hideNodesOnDrag","useDefaultGroups","constants","pixelRatio","hoverObj","controlNodesActive","navigationHammers","manipulationHammers","animationSpeed","animationEasingFunction","animating","easingTime","sourceScale","targetScale","sourceTranslation","targetTranslation","lockedOnNodeId","lockedOnNodeOffset","touchTime","redrawRequested","images","setOnloadCallback","_requestRedraw","xIncrement","yIncrement","zoomIncrement","_loadPhysicsSystem","_loadSectorSystem","_loadClusterSystem","_loadSelectionSystem","_loadHierarchySystem","_setTranslation","freezeSimulationEnabled","cachedFunctions","startedStabilization","stabilized","draggingNodes","calculationNodes","calculationNodeIndices","nodeIndices","canvasTopLeft","canvasBottomRight","pointerPosition","areaCenter","previousScale","nodesData","edgesData","nodesListeners","_addNodes","_updateNodes","_removeNodes","edgesListeners","_addEdges","_updateEdges","_removeEdges","moving","timer","_setupHierarchicalLayout","zoomExtent","startWithClustering","keycharm","MixinLoader","Activator","browserType","requiresTimeout","_getScriptPath","scripts","getElementsByTagName","src","_getRange","specificNodes","node","minY","maxY","minX","maxX","boundingBox","nodeId","_findCenter","initialZoom","disableStart","zoomLevel","positionDefined","predefinedPosition","numberOfNodes","factor","yDistance","xZoomLevel","yZoomLevel","animation","_updateNodeIndexList","_clearNodeIndexList","idx","_unselectAll","_createManipulatorBar","dotData","DOTToGraph","gephi","gephiData","parseGephi","_setNodes","_setEdges","_putDataInSector","_resetLevels","_stabilize","onEdit","onEditEdge","onConnect","onDelete","editMode","newColorObj","groupname","clickToUse","activator","_createKeyBinds","_loadNavigationControls","_loadManipulationSystem","_configureSmoothCurves","_bindHammer","_markAllEdgesAsDirty","tabIndex","devicePixelRatio","webkitBackingStorePixelRatio","mozBackingStorePixelRatio","msBackingStorePixelRatio","oBackingStorePixelRatio","backingStorePixelRatio","setTransform","dispose","pinch","_onTap","_onDoubleTap","_onMouseMoveTitle","hammerFrame","_onRelease","reset","isActive","_moveUp","_yStopMoving","_moveDown","_moveLeft","_xStopMoving","_moveRight","_zoomIn","_stopZoom","_zoomOut","_deleteSelected","_cleanupPhysicsConfiguration","_recursiveDOMDelete","DOMobject","_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","popupVisible","popup","_checkHidePopup","setPosition","checkShow","_checkShowPopup","popupTimer","edgeId","_getEdgeAt","_hoverObject","_blurObject","previousPopupObjId","popupObj","nodeUnderCursor","popupType","overlappingNodes","isOverlappingWith","getTitle","overlappingEdges","edge","connected","popupTargetType","popupTargetId","setText","pointerObj","stillOnObj","overNode","emitEvent","oldWidth","oldHeight","oldNodesData","_updateSelection","angle","_updateCalculationNodes","_reconnectEdges","_updateValueRange","updateLabels","setProperties","properties","colorDirty","_removeFromSelection","oldEdgesData","oldEdge","disconnect","showInternalIds","_createBezierNodes","via","sectors","dynamicEdges","valueTotal","setValueRange","requestAnimationFrame","w","save","translate","_doInAllSectors","restore","offsetX","offsetY","_drawNodes","alwaysShow","setScaleAndPos","inArea","sMax","_drawEdges","_drawControlNodes","_freezeDefinedNodes","_physicsTick","_restoreFrozenNodes","fixedData","_isMoving","vmin","isMoving","_discreteStepNodes","nodesPresent","discreteStepLimited","discreteStep","vminCorrected","_revertPhysicsState","revertPosition","_revertPhysicsTick","_doInAllActiveSectors","_doInSupportSector","mainMovingStatus","supportMovingStatus","mainMoving","_animationStep","_handleNavigation","startTime","renderStartTime","mozRequestAnimationFrame","webkitRequestAnimationFrame","msRequestAnimationFrame","iterations","freezeSimulation","freeze","parentEdgeId","internalMultiplier","positionBezierNode","mixin","storePosition","storePositions","dataArray","allowedToMoveX","allowedToMoveY","getPositions","focusOnNode","nodePosition","lockedOnNode","easingFunction","animateView","locked","_transitionRedraw","viewCenter","distanceFromCenter","_classicRedraw","_lockedRedraw","active","getCenterCoordinates","getBoundingBox","getConnectedNodes","nodeList","nodeObj","toId","fromId","getEdgesFromNode","edgesList","generateColorObject","networkConstants","widthSelected","labelDimensions","yLine","dirtyLabel","fromBackup","toBackup","originalFromId","originalToId","widthFixed","lengthFixed","controlNodesEnabled","controlNodes","positions","connectedNode","_drawLine","_drawArrow","_drawArrowCenter","_drawDashLine","attachEdge","detachEdge","widthDiff","xFrom","yFrom","xTo","yTo","xObj","yObj","_getDistanceToEdge","_getColor","colorObj","fromColor","toColor","grd","createLinearGradient","addColorStop","_getLineWidth","_line","midpointX","midpointY","_pointOnLine","_label","resize","_circle","_pointOnCircle","networkScaleInv","_getViaCoordinates","xVia","yVia","pi","originalAngle","atan2","myAngle","quadraticCurveTo","lineCount","measureText","_rotateForLabelAlignment","_drawLabelRect","_drawLabelText","angleInDegrees","rotate","lineMargin","fillRect","lineJoin","strokeText","setLineDash","pattern","lineDashOffset","lineCap","dashedLine","percentage","arrow","_pointOnBezier","_findBorderPosition","distanceToBorder","distanceToNodes","difference","threshold","arrowPos","guidePos","edgeSegmentLength","toBorderDist","toBorderPoint","x1","y1","x2","y2","x3","y3","lastX","lastY","minDistance","_getDistanceToLine","px","py","something","u","nodeIdFrom","nodeIdTo","getControlNodeFromPosition","getControlNodeToPosition","_enableControlNodes","_disableControlNodes","_getSelectedControlNode","fromDistance","toDistance","_restoreControlNodes","controlnodeFromPos","fromBorderDist","fromBorderPoint","controlnodeToPos","defaultIndex","groupsArray","groupIndex","DEFAULT","groupName","imageBroken","load","url","brokenUrl","img","Image","onload","onerror","error","imagelist","grouplist","reroutedEdges","horizontalAlignLeft","verticalAlignTop","baseRadiusValue","radiusFixed","preassignedLevel","hierarchyEnumerated","fx","fy","vx","vy","previousState","resetCluster","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","_drawCircularImage","_resizeCircularImage","_drawText","_resizeText","_drawDot","_resizeShape","_drawSquare","_drawTriangle","_drawTriangleDown","_drawStar","_drawIcon","_resizeIcon","_reset","clearSizeCache","_setForce","_addForce","storeState","isFixed","velocity","getDistance","radiusDiff","fontDiff","_drawImageAtPosition","globalAlpha","drawImage","_drawImageLabel","getTextSize","_swapToImageResizeWhenImageLoaded","diameter","centerX","centerY","_drawRawCircle","circle","clip","textSize","clusterLineWidth","selectionLineWidth","roundRect","database","defaultSize","ellipse","_drawShape","radiusMultiplier","_icon","iconTextSpacing","relativeIconSize","iconFontFace","iconColor","baseline","labelUnderNode","relativeFontSize","strokecolor","inView","clearVelocity","updateVelocity","massBeforeClustering","energyBefore","fontFamily","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","graphData","dotNode","graphNode","convertEdge","dotEdge","graphEdge","subEdge","{","}","[","]",";","=",",","->","--","gephiJSON","allowedToMove","gEdges","gNodes","gEdge","source","gNode","leftContainer","rightContainer","shadowTop","shadowBottom","shadowTopLeft","shadowBottomLeft","shadowTopRight","shadowBottomRight","_redrawTimer","listeners","events","scrollTopMin","redrawCount","_initAutoResize","component","_stopAutoResize","barId","addCustomTime","numIds","customBarId","ts","customBarIds","removeCustomTime","getWindow","borderRootHeight","borderRootWidth","autoHeight","centerWidth","_updateScrollTop","visibilityTop","visibilityBottom","MAX_REDRAWS","repaint","_startAutoResize","_onResize","lastHeight","watchTimer","setInterval","initialScrollTop","oldScrollTop","_getScrollTop","newScrollTop","_setScrollTop","eventType","getTouchList","collectEventData","custom","_catmullRom","_linear","dFill","_catmullRomUniform","p0","p1","p2","p3","bp1","bp2","normalization","d1","d2","d3","A","N","M","d3powA","d2powA","d3pow2A","d2pow2A","d1pow2A","d1powA","Bargraph","barCombinedData","coreDistance","drawData","combinedData","intersections","barPoints","_getDataIntersections","heightOffset","_getSafeDrawData","nextKey","amount","resolved","prevKey","accumulated","groupLabel","_getStackedBarYRange","xpos","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","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","_callbacks","once","self","removeListener","removeAllListeners","callbacks","cb","hasListeners","__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","monthDiff","anchor2","adjust","wholeMonthDiff","meridiemFixWrap","meridiem","isPm","meridiemHour","isPM","Locale","Moment","config","skipOverflow","checkOverflow","copyConfig","updateInProgress","updateOffset","Duration","normalizedInput","normalizeObjectUnits","years","quarters","quarter","months","weeks","week","days","_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","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","MONTH","DATE","YEAR","HOUR","MINUTE","SECOND","MILLISECOND","_overflowDayOfYear","isValid","_isValid","getTime","bigHour","normalizeLocale","chooseLocale","names","loadLocale","oldLocale","hasModule","code","model","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","parseTokenOffsetMs","parseTokenTimestampMs","parseTokenTimezone","parseTokenT","parseTokenDigits","parseTokenOneOrTwoDigits","_ordinalParse","_ordinalParseLenient","RegExp","regexpEscape","unescapeFormat","utcOffsetFromString","string","possibleTzMatches","tzChunk","parseTimezoneChunker","addTimeToArrayFromToken","datePartArray","monthsParse","_dayOfYear","parseTwoDigitYear","_meridiem","_useUTC","weekdaysParse","_w","invalidWeekday","dayOfYearFromWeekInfo","weekYear","temp","GG","W","E","_week","gg","dayOfYearFromWeeks","dateFromConfig","currentDate","yearToUse","currentDateArray","makeUTCDate","getUTCMonth","_nextDay","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","SS","SSS","SSSS","Z","utcOffset","ZZ","zoneAbbr","zz","zoneName","unix","lists","DDDD","_monthsShort","monthName","regex","_monthsParse","_longMonthsParse","_shortMonthsParse","_weekdays","_weekdaysShort","_weekdaysMin","weekdayName","_weekdaysParse","_longDateFormat","LTS","LT","L","LL","LLL","LLLL","isLower","_calendar","sameDay","nextDay","nextWeek","lastDay","lastWeek","sameElse","calendar","_relativeTime","future","past","mm","hh","MM","yy","pastFuture","_ordinal","postformat","firstDayOfYear","_invalidDate","ret","parseIso","diffRes","isDuration","inp","version","relativeTimeThreshold","limit","defineLocale","_abbr","abbr","langData","flags","parseZone","isDSTShifted","parsingFlags","invalidAt","keepLocalTime","_dateUtcOffset","inputString","asFloat","that","zoneDiff","humanize","fromNow","sod","startOf","isDST","getDay","endOf","inputMs","isBetween","zone","localAdjust","_changeInProgress","isLocal","isUtcOffset","isUtc","hasAlignedHourOffset","isoWeeksInYear","weekInfo","newLocaleData","getTimezoneOffset","isoWeeks","toJSON","isUTC","withSuffix","toIsoString","asSeconds","asMilliseconds","asMinutes","asHours","asDays","asWeeks","asMonths","asYears","ordinalParse","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","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","trigger","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","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","__WEBPACK_AMD_DEFINE_FACTORY__","__WEBPACK_AMD_DEFINE_ARRAY__","_exportFunctions","_bound","keydown","keyup","_keys","fromCharCode","down","handleEvent","up","keyCode","bound","bindAll","getKey","newBindings","graphToggleSmoothCurves","graph_toggleSmooth","getElementById","graphRepositionNodes","showValueOfRange","repositionNodes","graphGenerateOptions","optionsSpecific","radioButton1","radioButton2","checked","backupConstants","optionsDiv","switchConfigurations","radioButton","querySelector","tableId","table","_restoreNodes","constantsVariableName","valueId","rangeValue","_overWriteGraphConstants","RepulsionMixin","HierarchialRepulsionMixin","BarnesHutMixin","_toggleBarnesHut","barnesHutTree","_initializeForceCalculation","clusterToFit","_calculateForces","_calculateGravitationalForces","_calculateNodeForces","_calculateSpringForcesWithSupport","_calculateHierarchicalSpringForces","_calculateSpringForces","supportNodes","supportNodeId","gravity","gravityForce","_sector","edgeLength","springForce","combinedClusterSize","node1","node2","node3","_calculateSpringForce","physicsConfiguration","maxGravitational","maxSpring","hierarchicalLayoutDirections","parentElement","rangeElement","radioButton3","graph_repositionNodes","graph_generateOptions","dynamicSmoothCurves","nameArray","maxNumberOfNodes","reposition","maxLevels","forceAggregateHubs","normalizeClusterLevels","increaseClusterLevel","openCluster","isMovingBeforeClustering","_nodeInActiveArea","_addSector","decreaseClusterLevel","_expandClusterNode","updateClusters","zoomDirection","recursive","doNotStart","amountOfNodes","detectedZoomingIn","detectedZoomingOut","_collapseSector","_formClusters","_openClusters","_aggregateHubs","handleChains","chainPercentage","_getChainFraction","_reduceAmountOfChains","_getHubSize","_formClustersByHub","_openClustersBySize","openAll","containedNodeId","childNode","_expelChildFromParent","_releaseContainedEdges","_connectEdgeBackToChild","_validateEdges","othersPresent","childNodeId","_repositionBezierNodes","_formClustersByZoom","_forceClustersByZoom","minLength","_addToCluster","_clusterToSmallestNeighbour","smallestNeighbour","smallestNeighbourNode","neighbour","onlyEqual","_formClusterFromHub","hubNode","absorptionSizeOffset","allowCluster","edgesIdarray","amountOfInitialEdges","children","childrenIds","_addToContainedEdges","_connectEdgeToCluster","_containCircularEdgesFromNode","massBefore","_addToReroutedEdges","maxLevel","minLevel","clusterLevel","targetLevel","average","averageSquared","hubCounter","largestHub","variance","standardDeviation","fraction","reduceAmount","chains","_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","_getAllNodesOverlappingWith","_pointerToPositionObject","positionObject","_getEdgesOverlappingWith","_getAllEdgesOverlappingWith","_addToSelection","_addToHover","doNotTrigger","_unselectClusters","_getSelectedNodeCount","_getSelectedNode","_getSelectedEdge","_getSelectedEdgeCount","_getSelectedObjectCount","_selectionIsEmpty","_clusterInSelection","_selectConnectedEdges","_hoverConnectedEdges","_unselectConnectedEdges","append","highlightEdges","overrideSelectable","DOM","_manipulationReleaseOverload","_navigationReleaseOverload","getSelectedNodes","edgeIds","getSelectedEdges","idArray","selectNodes","RangeError","selectEdges","_clearManipulatorBar","manipulationDOM","_cleanManipulatorHammers","_restoreOverloadedFunctions","functionName","_toggleEditMode","toolbar","_bindHammerToDiv","boundFunction","edgeBeingEdited","selectedControlNode","domElement","funct","_createAddNodeToolbar","_addNode","_createAddEdgeToolbar","_handleConnect","_finishConnect","_createEditEdgeToolbar","_selectControlNode","_controlNodeDrag","_releaseControlNode","newNode","_editEdge","alert","targetNode","connectionEdge","connectFromId","_createEdge","defaultData","finalizedData","sourceNodeId","targetNodeId","_editNode","selectedNodes","selectedEdges","navigationDOM","navigationDivs","navigationDivActions","_stopMovement","_zoomExtent","hubsize","definedLevel","undefinedLevel","_changeConstants","_determineLevels","_determineLevelsDirected","distribution","_getDistribution","_placeNodesByHierarchy","minPos","_placeBranchNodes","maxCount","_setLevel","firstNode","_setLevelDirected","parentId","parentLevel","nodeMoved","webpackContext","req","resolve","repulsingForce","a_base","minimumDistance","steepness","springFx","springFy","totalFx","totalFy","correctionFx","correctionFy","nodeCount","_formBarnesHutTree","_getForceContribution","NW","NE","SW","SE","parentBranch","childrenCount","centerOfMass","calcSize","MAX_VALUE","sizeDiff","minimumTreeSize","rootSize","halfRootSize","_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 66fee846..3c993ef8 100644 --- a/dist/vis.min.js +++ b/dist/vis.min.js @@ -5,7 +5,7 @@ * A dynamic, browser-based visualization library. * * @version 3.10.1-SNAPSHOT - * @date 2015-03-04 + * @date 2015-03-05 * * @license * Copyright (C) 2011-2014 Almende B.V, http://almende.com @@ -22,18 +22,18 @@ * * Vis.js may be distributed under either license. */ -"use strict";!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(20),BackgroundItem:i(21),BoxItem:i(22),PointItem:i(23),RangeItem:i(24)},Component:i(25),CurrentTime:i(26),CustomTime:i(27),DataAxis:i(28),GraphGroup:i(29),Group:i(30),BackgroundGroup:i(31),ItemSet:i(32),Legend:i(33),LineGraph:i(34),TimeAxis:i(35)}},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(t,e,i){var s=i(44);e.isNumber=function(t){return t instanceof Number||"number"==typeof t},e.giveRange=function(t,e,i,s){if(e==t)return.5;var o=1/(e-t);return Math.max(0,(s-t)*o)},e.isString=function(t){return t instanceof String||"string"==typeof t},e.isDate=function(t){if(t instanceof Date)return!0;if(e.isString(t)){var i=o.exec(t);if(i)return!0;if(!isNaN(Date.parse(t)))return!0}return!1},e.isDataTable=function(t){return"undefined"!=typeof google&&google.visualization&&google.visualization.DataTable&&t instanceof google.visualization.DataTable},e.randomUUID=function(){var t=function(){return Math.floor(65536*Math.random()).toString(16)};return t()+t()+"-"+t()+"-"+t()+"-"+t()+"-"+t()+t()+t()},e.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},e.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},e.convert=function(t,i){var n;if(void 0===t)return void 0;if(null===t)return null;if(!i)return t;if("string"!=typeof i&&!(i instanceof String))throw new Error("Type must be a string");switch(i){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(e.isNumber(t))return new Date(t);if(t instanceof Date)return new Date(t.valueOf());if(s.isMoment(t))return new Date(t.valueOf());if(e.isString(t))return n=o.exec(t),n?new Date(Number(n[1])):s(t).toDate();throw new Error("Cannot convert object of type "+e.getType(t)+" to type Date");case"Moment":if(e.isNumber(t))return s(t);if(t instanceof Date)return s(t.valueOf());if(s.isMoment(t))return s(t);if(e.isString(t))return n=o.exec(t),s(n?Number(n[1]):t);throw new Error("Cannot convert object of type "+e.getType(t)+" to type Date");case"ISODate":if(e.isNumber(t))return new Date(t);if(t instanceof Date)return t.toISOString();if(s.isMoment(t))return t.toDate().toISOString();if(e.isString(t))return n=o.exec(t),n?new Date(Number(n[1])).toISOString():new Date(t).toISOString();throw new Error("Cannot convert object of type "+e.getType(t)+" to type ISODate");case"ASPDate":if(e.isNumber(t))return"/Date("+t+")/";if(t instanceof Date)return"/Date("+t.valueOf()+")/";if(e.isString(t)){n=o.exec(t);var r;return r=n?new Date(Number(n[1])).valueOf():new Date(t).valueOf(),"/Date("+r+")/"}throw new Error("Cannot convert object of type "+e.getType(t)+" to type ASPDate");default:throw new Error('Unknown type "'+i+'"')}};var o=/^\/?Date\((\-?\d+)/i;e.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},e.getAbsoluteLeft=function(t){return t.getBoundingClientRect().left+window.pageXOffset},e.getAbsoluteTop=function(t){return t.getBoundingClientRect().top+window.pageYOffset},e.addClassName=function(t,e){var i=t.className.split(" ");-1==i.indexOf(e)&&(i.push(e),t.className=i.join(" "))},e.removeClassName=function(t,e){var i=t.className.split(" "),s=i.indexOf(e);-1!=s&&(i.splice(s,1),t.className=i.join(" "))},e.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)},e.toArray=function(t){var e=[];for(var i in t)t.hasOwnProperty(i)&&e.push(t[i]);return e},e.updateProperty=function(t,e,i){return t[e]!==i?(t[e]=i,!0):!1},e.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)},e.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)},e.preventDefault=function(t){t||(t=window.event),t.preventDefault?t.preventDefault():t.returnValue=!1},e.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},e.option={},e.option.asBoolean=function(t,e){return"function"==typeof t&&(t=t()),null!=t?0!=t:e||null},e.option.asNumber=function(t,e){return"function"==typeof t&&(t=t()),null!=t?Number(t)||e||null:e||null},e.option.asString=function(t,e){return"function"==typeof t&&(t=t()),null!=t?String(t):e||null},e.option.asSize=function(t,i){return"function"==typeof t&&(t=t()),e.isString(t)?t:e.isNumber(t)?t+"px":i||null},e.option.asElement=function(t,e){return"function"==typeof t&&(t=t()),t||e||null},e.hexToRGB=function(t){var e=/^#?([a-f\d])([a-f\d])([a-f\d])$/i;t=t.replace(e,function(t,e,i,s){return e+e+i+i+s+s});var i=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);return i?{r:parseInt(i[1],16),g:parseInt(i[2],16),b:parseInt(i[3],16)}:null},e.overrideOpacity=function(t,i){if(-1!=t.indexOf("rgb")){var s=t.substr(t.indexOf("(")+1).replace(")","").split(",");return"rgba("+s[0]+","+s[1]+","+s[2]+","+i+")"}var s=e.hexToRGB(t);return null==s?t:"rgba("+s.r+","+s.g+","+s.b+","+i+")"},e.RGBToHex=function(t,e,i){return"#"+((1<<24)+(t<<16)+(e<<8)+i).toString(16).slice(1)},e.parseColor=function(t){var i;if(e.isString(t)){if(e.isValidRGB(t)){var s=t.substr(4).substr(0,t.length-5).split(",");t=e.RGBToHex(s[0],s[1],s[2])}if(e.isValidHex(t)){var o=e.hexToHSV(t),n={h:o.h,s:.45*o.s,v:Math.min(1,1.05*o.v)},r={h:o.h,s:Math.min(1,1.25*o.v),v:.6*o.v},a=e.HSVToHex(r.h,r.h,r.v),h=e.HSVToHex(n.h,n.s,n.v);i={background:t,border:a,highlight:{background:h,border:a},hover:{background:h,border:a}}}else i={background:t,border:t,highlight:{background:t,border:t},hover:{background:t,border:t}}}else i={},i.background=t.background||"white",i.border=t.border||i.background,e.isString(t.highlight)?i.highlight={border:t.highlight,background:t.highlight}:(i.highlight={},i.highlight.background=t.highlight&&t.highlight.background||i.background,i.highlight.border=t.highlight&&t.highlight.border||i.border),e.isString(t.hover)?i.hover={border:t.hover,background:t.hover}:(i.hover={},i.hover.background=t.hover&&t.hover.background||i.background,i.hover.border=t.hover&&t.hover.border||i.border);return i},e.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 n={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("; ")}};e.addCssText=function(t,i){var s=n.split(t.style.cssText),o=n.split(i),r=e.extend(s,o);t.style.cssText=n.join(r)},e.removeCssText=function(t,e){var i=n.split(t.style.cssText),s=n.split(e);for(var o in s)s.hasOwnProperty(o)&&delete i[o];t.style.cssText=n.join(i)},e.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)}},e.HSVToHex=function(t,i,s){var o=e.HSVToRGB(t,i,s);return e.RGBToHex(o.r,o.g,o.b)},e.hexToHSV=function(t){var i=e.hexToRGB(t);return e.RGBToHSV(i.r,i.g,i.b)},e.isValidHex=function(t){var e=/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(t);return e},e.isValidRGB=function(t){t=t.replace(" ","");var e=/rgb\((\d{1,3}),(\d{1,3}),(\d{1,3})\)/i.test(t);return e},e.selectiveBridgeObject=function(t,i){if("object"==typeof i){for(var s=Object.create(i),o=0;o=r&&o>n;){var h=Math.floor((r+a)/2),d=t[h],l=void 0===s?d[i]:d[i][s],c=e(l);if(0==c)return h;-1==c?r=h+1:a=h-1,n++}return-1},e.binarySearchValue=function(t,e,i,s){for(var o,n,r,a,h=1e4,d=0,l=0,c=t.length-1;c>=l&&h>d;){if(a=Math.floor(.5*(c+l)),o=t[Math.max(0,a-1)][i],n=t[a][i],r=t[Math.min(t.length-1,a+1)][i],n==e)return a;if(e>o&&n>e)return"before"==s?Math.max(0,a-1):a;if(e>n&&r>e)return"before"==s?a:Math.min(t.length-1,a+1);e>n?l=a+1:c=a-1,d++}return-1},e.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)},e.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,r){var a;"circle"==s.options.drawPoints.style?(a=e.getSVGElement("circle",o,n),a.setAttributeNS(null,"cx",t),a.setAttributeNS(null,"cy",i),a.setAttributeNS(null,"r",.5*s.options.drawPoints.size)):(a=e.getSVGElement("rect",o,n),a.setAttributeNS(null,"x",t-.5*s.options.drawPoints.size),a.setAttributeNS(null,"y",i-.5*s.options.drawPoints.size),a.setAttributeNS(null,"width",s.options.drawPoints.size),a.setAttributeNS(null,"height",s.options.drawPoints.size)),void 0!==s.options.drawPoints.styles&&a.setAttributeNS(null,"style",s.group.options.drawPoints.styles),a.setAttributeNS(null,"class",s.className+" point");var h=e.getSVGElement("text",o,n);return r&&(r.xOffset&&(t+=r.xOffset),r.yOffset&&(i+=r.yOffset),r.content&&(h.textContent=r.content),r.className&&h.setAttributeNS(null,"class",r.className+" label")),h.setAttributeNS(null,"x",t),h.setAttributeNS(null,"y",i),a},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.length=0,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 m=h[p];c[m]=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 m={},f=0,g=c.length;g>f;f++){var v=c[f];m[v]=t.getValue(p,f)}h(m)}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,m=i&&i.filter,f=[];if(void 0!=t)d=n._getItem(t,u),m&&!m(d)&&(d=null);else if(void 0!=e)for(c=0,p=e.length;p>c;c++)d=n._getItem(e[c],u),(!m||m(d))&&f.push(d);else for(l in this._data)this._data.hasOwnProperty(l)&&(d=n._getItem(l,u),(!m||m(d))&&f.push(d));if(i&&i.order&&void 0==t&&this._sort(f,i.order),i&&i.fields){var g=i.fields;if(void 0!=t)d=this._filterFields(d,g);else for(c=0,p=f.length;p>c;c++)f[c]=this._filterFields(f[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(f[c]);return s}return f},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){if(!t)return t;var i={};if(Array.isArray(e))for(var s in t)t.hasOwnProperty(s)&&-1!=e.indexOf(s)&&(i[s]=t[s]);else for(var s in t)t.hasOwnProperty(s)&&e.hasOwnProperty(s)&&(i[e[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],this.length--,t}else if(t instanceof Object){var e=t[this._fieldId];if(e&&this._data[e])return delete this._data[e],this.length--,e}return null},s.prototype.clear=function(t){var e=Object.keys(this._data);return this._data={},this.length=0,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.length=0,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.length=0,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.length=e.length,this._trigger("add",{items:e}),this._data.on&&this._data.on("*",this.listener)}},s.prototype.refresh=function(){for(var t,e=this._data.getIds({filter:this._options&&this._options.filter}),i={},s=[],o=[],n=0;ns;s++)n=a[s],r=this.get(n),r&&(this._ids[n]=!0,l.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]?(c.push(n),d.push(e.data[s])):(this._ids[n]=!0,l.push(n)):this._ids[n]&&(delete this._ids[n],p.push(n));break;case"remove":for(s=0,o=a.length;o>s;s++)n=a[s],this._ids[n]&&(delete this._ids[n],p.push(n))}this.length+=l.length-p.length,l.length&&this._trigger("add",{items:l},i),c.length&&this._trigger("update",{items:c,data:d},i),p.length&&this._trigger("remove",{items:p},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 p,this.eye=new l(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)}function o(t){return"clientX"in t?t.clientX:t.targetTouches[0]&&t.targetTouches[0].clientX||0}function n(t){return"clientY"in t?t.clientY:t.targetTouches[0]&&t.targetTouches[0].clientY||0}var r=i(56),a=i(3),h=i(4),d=i(1),l=i(10),c=i(9),p=i(7),u=i(8),m=i(11),f=i(12);r(s.prototype),s.prototype._setScale=function(){this.scale=new l(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)/(u-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 f(this.valueMin,this.valueMax,(this.valueMax-this.valueMin)/5,!0);for(b.start(),b.getCurrent()0?this.yMin:this.yMax,o=this._convert3Dto2D(new l(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 f(this.yMin,this.yMax,this.yStep,s),i.start(),i.getCurrent()0?this.xMin:this.xMax,o=this._convert3Dto2D(new l(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 f(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 l(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 l(n,r,this.zMin)),e=this._convert3Dto2D(new l(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 l(this.xMin,this.yMin,this.zMin)),u=this._convert3Dto2D(new l(this.xMax,this.yMin,this.zMin)),g.strokeStyle=this.colorAxis,g.beginPath(),g.moveTo(p.x,p.y),g.lineTo(u.x,u.y),g.stroke(),p=this._convert3Dto2D(new l(this.xMin,this.yMax,this.zMin)),u=this._convert3Dto2D(new l(this.xMax,this.yMax,this.zMin)),g.strokeStyle=this.colorAxis,g.beginPath(),g.moveTo(p.x,p.y),g.lineTo(u.x,u.y),g.stroke(),g.lineWidth=1,t=this._convert3Dto2D(new l(this.xMin,this.yMin,this.zMin)),e=this._convert3Dto2D(new l(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 l(this.xMax,this.yMin,this.zMin)),e=this._convert3Dto2D(new l(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 l(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 D=this.yLabel;D.length>0&&(d=.1/this.scale.x,n=Math.sin(_)>0?this.xMin-d:this.xMax+d,r=(this.yMin+this.yMax)/2,o=this._convert3Dto2D(new l(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(D,o.x,o.y));var M=this.zLabel;M.length>0&&(h=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 l(n,r,a)),g.textAlign="right",g.textBaseline="middle",g.fillStyle=this.colorAxis,g.fillText(M,o.x-h,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,h,d,c,p,u,m,f=this.frame.canvas,g=f.getContext("2d");if(!(void 0===this.dataPoints||this.dataPoints.length<=0)){for(n=0;n0}else r=!0;r?(m=(t.point.z+e.point.z+i.point.z+o.point.z)/4,c=240*(1-(m-this.zMin)*this.scale.z/this.verticalRatio),p=1,this.showShadow?(u=Math.min(1+D.x/M/2,1),a=this._hsv2rgb(c,p,u),h=a):(u=1,a=this._hsv2rgb(c,p,u),h=this.colorAxis)):(a="gray",h=this.colorAxis),d=.5,g.lineWidth=d,g.fillStyle=a,g.strokeStyle=h,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,m,f;this.style===s.STYLE.DOTCOLOR?(u=240*(1-(d.point.value-this.valueMin)*this.scale.value),m=this._hsv2rgb(u,1,1),f=this._hsv2rgb(u,1,.8)):this.style===s.STYLE.DOTSIZE?(m=this.colorDot,f=this.colorDotBorder):(u=240*(1-(d.point.z-this.zMin)*this.scale.z/this.verticalRatio),m=this._hsv2rgb(u,1,1),f=this._hsv2rgb(u,1,.8)),i.lineWidth=1,i.strokeStyle=f,i.fillStyle=m,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=o(t),this.startMouseY=n(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)},d.addEventListener(document,"mousemove",e.onmousemove),d.addEventListener(document,"mouseup",e.onmouseup),d.preventDefault(t)}},s.prototype._onMouseMove=function(t){t=t||window.event;var e=parseFloat(o(t))-this.startMouseX,i=parseFloat(n(t))-this.startMouseY,s=this.startArmRotation.horizontal+e/200,r=this.startArmRotation.vertical+i/200,a=4,h=Math.sin(a/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 c(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 d=n.surfaces;if(d)for(var l=d.length-1;l>=0;l--){var p=d[l],u=p.corners,m=[u[0].screen,u[1].screen,u[2].screen],f=[u[2].screen,u[3].screen,u[0].screen];if(this._insideTriangle(h,m)||this._insideTriangle(h,f))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)}}},t.exports=s},function(t,e,i){function s(){this.armLocation=new o,this.armRotation={},this.armRotation.horizontal=0,this.armRotation.vertical=0,this.armLength=1.7,this.cameraLocation=new o,this.cameraRotation=new o(.5*Math.PI,0,0),this.calculateCameraOrientation()}var o=i(10);s.prototype.setArmLocation=function(t,e,i){this.armLocation.x=t,this.armLocation.y=e,this.armLocation.z=i,this.calculateCameraOrientation()},s.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()},s.prototype.getArmRotation=function(){var t={};return t.horizontal=this.armRotation.horizontal,t.vertical=this.armRotation.vertical,t},s.prototype.setArmLength=function(t){void 0!==t&&(this.armLength=t,this.armLength<.71&&(this.armLength=.71),this.armLength>5&&(this.armLength=5),this.calculateCameraOrientation())},s.prototype.getArmLength=function(){return this.armLength},s.prototype.getCameraLocation=function(){return this.cameraLocation},s.prototype.getCameraRotation=function(){return this.cameraRotation},s.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=s},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,h){if(!(this instanceof s))throw new SyntaxError("Constructor must be called with the new operator");if(!(Array.isArray(i)||i instanceof n||i instanceof r)&&i instanceof Object){var u=h;h=i,i=u}var m=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:{getScale:function(){return m.timeAxis.step.scale},getStep:function(){return m.timeAxis.step.step},toScreen:m._toScreen.bind(m),toGlobalScreen:m._toGlobalScreen.bind(m),toTime:m._toTime.bind(m),toGlobalTime:m._toGlobalTime.bind(m)}},this.range=new a(this.body),this.components.push(this.range),this.body.range=this.range,this.timeAxis=new d(this.body),this.timeAxis2=null,this.components.push(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,h&&this.setOptions(h),i&&this.setGroups(i),e?this.setItems(e):this._redraw()}var o=(i(56),i(45),i(1)),n=i(3),r=i(4),a=i(17),h=i(46),d=i(35),l=i(26),c=i(27),p=i(32);s.prototype=new h,s.prototype.redraw=function(){this.itemSet&&this.itemSet.markDirty({refreshItems:!0}),this._redraw()},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){if(void 0==this.options.start||void 0==this.options.end)var s=this._getDataRange();var o=void 0!=this.options.start?this.options.start:s.start,a=void 0!=this.options.end?this.options.end:s.end;this.setWindow(o,a,{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:{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.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(56),i(45),i(1)),n=i(3),r=i(4),a=i(17),h=i(46),d=i(35),l=i(26),c=i(27),p=i(34);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 m=l.diff(d,"days"),f=d.day();d.date(o.date()),d.month(o.month()),d.year(o.year()),l=d.clone(),d.day(f),l.day(f),l.add(m,"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=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,n){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.alignZeros=n,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),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,1==this.alignZeros&&(this.marginEnd-this.marginStart)%this.step!=0&&(this.marginEnd+=this.marginEnd%this.step),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(t){var e=Math.abs(this.current)0;s--){if("0"!=i[s]){if("."==i[s]||","==i[s]){i=i.slice(0,s);break}break}i=i.slice(0,s)}}else{var o="",n=i.indexOf("e");if(-1!=n&&(o=i.slice(n),i=i.slice(0,n)),n=Math.max(i.indexOf(","),i.indexOf(".")),-1===n?(0!==t&&(i+="."),n=i.length+t):0!==t&&(n+=t+1),n>i.length)for(var r=n-i.length;r>0;r--)i+="0";else i=i.slice(0,n);i+=o}return i},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(25),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,s){s!==!0&&(s=!1);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,m=function(){if(!a.props.touch.dragging){var t=(new Date).valueOf(),e=t-p,i=e>c,g=i||null===o?o:r.easeInOutQuad(e,h,o,c),v=i||null===n?n:r.easeInOutQuad(e,d,n,c);f=a._applyRange(g,v),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),byUser:s}),i?u&&a.body.emitter.emit("rangechanged",{start:new Date(a.start),end:new Date(a.end),byUser:s}):a.animateTimer=setTimeout(m,20)}};return m()}var f=this._applyRange(o,n);if(l.updateHiddenDates(this.body,this.options.hiddenDates),f){var g={start:new Date(this.start),end:new Date(this.end),byUser:s};this.body.emitter.emit("rangechange",g),this.body.emitter.emit("rangechanged",g)}},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&&od&&(d=0),o-s>d&&(this.end-this.start===d&&sthis.end?(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 s>=this.start&&s<=this.end||o>=this.start&&o<=this.end||this.start>=s&&this.start<=o||this.end>=s&&this.end<=o||this.body.emitter.emit("checkRangedItems"),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),byUser:!0})}},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),byUser:!0}))},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.props.touch.start-(i-o))*e,h=i+r+(this.props.touch.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,!1,!0),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,!1,!0),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="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=[]),this.format=s.FORMAT}var o=i(44),n=i(15),r=i(1);s.FORMAT={minorLabels:{millisecond:"SSS",second:"s",minute:"HH:mm",hour:"HH:mm",weekday:"ddd D",day:"D",month:"MMM",year:"YYYY"},majorLabels:{millisecond:"HH:mm:ss",second:"D MMMM HH:mm",minute:"ddd D MMMM",hour:"ddd D MMMM",weekday:"MMMM YYYY",day:"MMMM YYYY",month:"YYYY",year:""}},s.prototype.setFormat=function(t){var e=r.deepExtend({},s.FORMAT);this.format=r.deepExtend(e,t)},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"year":this.current.setFullYear(this.step*Math.floor(this.current.getFullYear()/this.step)),this.current.setMonth(0);case"month":this.current.setDate(1);case"day":case"weekday":this.current.setHours(0);case"hour":this.current.setMinutes(0);case"minute":this.current.setSeconds(0);case"second":this.current.setMilliseconds(0)}if(1!=this.step)switch(this.scale){case"millisecond":this.current.setMilliseconds(this.current.getMilliseconds()-this.current.getMilliseconds()%this.step); -break;case"second":this.current.setSeconds(this.current.getSeconds()-this.current.getSeconds()%this.step);break;case"minute":this.current.setMinutes(this.current.getMinutes()-this.current.getMinutes()%this.step);break;case"hour":this.current.setHours(this.current.getHours()-this.current.getHours()%this.step);break;case"weekday":case"day":this.current.setDate(this.current.getDate()-1-(this.current.getDate()-1)%this.step+1);break;case"month":this.current.setMonth(this.current.getMonth()-this.current.getMonth()%this.step);break;case"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"millisecond":this.current=new Date(this.current.valueOf()+this.step);break;case"second":this.current=new Date(this.current.valueOf()+1e3*this.step);break;case"minute":this.current=new Date(this.current.valueOf()+1e3*this.step*60);break;case"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"weekday":case"day":this.current.setDate(this.current.getDate()+this.step);break;case"month":this.current.setMonth(this.current.getMonth()+this.step);break;case"year":this.current.setFullYear(this.current.getFullYear()+this.step)}else switch(this.scale){case"millisecond":this.current=new Date(this.current.valueOf()+this.step);break;case"second":this.current.setSeconds(this.current.getSeconds()+this.step);break;case"minute":this.current.setMinutes(this.current.getMinutes()+this.step);break;case"hour":this.current.setHours(this.current.getHours()+this.step);break;case"weekday":case"day":this.current.setDate(this.current.getDate()+this.step);break;case"month":this.current.setMonth(this.current.getMonth()+this.step);break;case"year":this.current.setFullYear(this.current.getFullYear()+this.step)}if(1!=this.step)switch(this.scale){case"millisecond":this.current.getMilliseconds()0?t.step:1,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,s=864e5,o=36e5,n=6e4,r=1e3,a=1;1e3*e>t&&(this.scale="year",this.step=1e3),500*e>t&&(this.scale="year",this.step=500),100*e>t&&(this.scale="year",this.step=100),50*e>t&&(this.scale="year",this.step=50),10*e>t&&(this.scale="year",this.step=10),5*e>t&&(this.scale="year",this.step=5),e>t&&(this.scale="year",this.step=1),3*i>t&&(this.scale="month",this.step=3),i>t&&(this.scale="month",this.step=1),5*s>t&&(this.scale="day",this.step=5),2*s>t&&(this.scale="day",this.step=2),s>t&&(this.scale="day",this.step=1),s/2>t&&(this.scale="weekday",this.step=1),4*o>t&&(this.scale="hour",this.step=4),o>t&&(this.scale="hour",this.step=1),15*n>t&&(this.scale="minute",this.step=15),10*n>t&&(this.scale="minute",this.step=10),5*n>t&&(this.scale="minute",this.step=5),n>t&&(this.scale="minute",this.step=1),15*r>t&&(this.scale="second",this.step=15),10*r>t&&(this.scale="second",this.step=10),5*r>t&&(this.scale="second",this.step=5),r>t&&(this.scale="second",this.step=1),200*a>t&&(this.scale="millisecond",this.step=200),100*a>t&&(this.scale="millisecond",this.step=100),50*a>t&&(this.scale="millisecond",this.step=50),10*a>t&&(this.scale="millisecond",this.step=10),5*a>t&&(this.scale="millisecond",this.step=5),a>t&&(this.scale="millisecond",this.step=1)}},s.snap=function(t,e,i){var s=new Date(t.valueOf());if("year"==e){var o=s.getFullYear()+Math.round(s.getMonth()/12);s.setFullYear(Math.round(o/i)*i),s.setMonth(0),s.setDate(0),s.setHours(0),s.setMinutes(0),s.setSeconds(0),s.setMilliseconds(0)}else if("month"==e)s.getDate()>15?(s.setDate(1),s.setMonth(s.getMonth()+1)):s.setDate(1),s.setHours(0),s.setMinutes(0),s.setSeconds(0),s.setMilliseconds(0);else if("day"==e){switch(i){case 5:case 2:s.setHours(24*Math.round(s.getHours()/24));break;default:s.setHours(12*Math.round(s.getHours()/12))}s.setMinutes(0),s.setSeconds(0),s.setMilliseconds(0)}else if("weekday"==e){switch(i){case 5:case 2:s.setHours(12*Math.round(s.getHours()/12));break;default:s.setHours(6*Math.round(s.getHours()/6))}s.setMinutes(0),s.setSeconds(0),s.setMilliseconds(0)}else if("hour"==e){switch(i){case 4:s.setMinutes(60*Math.round(s.getMinutes()/60));break;default:s.setMinutes(30*Math.round(s.getMinutes()/30))}s.setSeconds(0),s.setMilliseconds(0)}else if("minute"==e){switch(i){case 15:case 10:s.setMinutes(5*Math.round(s.getMinutes()/5)),s.setSeconds(0);break;case 5:s.setSeconds(60*Math.round(s.getSeconds()/60));break;default:s.setSeconds(30*Math.round(s.getSeconds()/30))}s.setMilliseconds(0)}else if("second"==e)switch(i){case 15:case 10:s.setSeconds(5*Math.round(s.getSeconds()/5)),s.setMilliseconds(0);break;case 5:s.setMilliseconds(1e3*Math.round(s.getMilliseconds()/1e3));break;default:s.setMilliseconds(500*Math.round(s.getMilliseconds()/500))}else if("millisecond"==e){var n=i>5?i/2:1;s.setMilliseconds(Math.round(s.getMilliseconds()/n)*n)}return s},s.prototype.isMajor=function(){if(1==this.switchedYear)switch(this.switchedYear=!1,this.scale){case"year":case"month":case"weekday":case"day":case"hour":case"minute":case"second":case"millisecond":return!0;default:return!1}else if(1==this.switchedMonth)switch(this.switchedMonth=!1,this.scale){case"weekday":case"day":case"hour":case"minute":case"second":case"millisecond":return!0;default:return!1}else if(1==this.switchedDay)switch(this.switchedDay=!1,this.scale){case"millisecond":case"second":case"minute":case"hour":return!0;default:return!1}switch(this.scale){case"millisecond":return 0==this.current.getMilliseconds();case"second":return 0==this.current.getSeconds();case"minute":return 0==this.current.getHours()&&0==this.current.getMinutes();case"hour":return 0==this.current.getHours();case"weekday":case"day":return 1==this.current.getDate();case"month":return 0==this.current.getMonth();case"year":return!1;default:return!1}},s.prototype.getLabelMinor=function(t){void 0==t&&(t=this.current);var e=this.format.minorLabels[this.scale];return e&&e.length>0?o(t).format(e):""},s.prototype.getLabelMajor=function(t){void 0==t&&(t=this.current);var e=this.format.majorLabels[this.scale];return e&&e.length>0?o(t).format(e):""},s.prototype.getClassName=function(){function t(t){return t/h%2==0?" even":" odd"}function e(t){return t.isSame(new Date,"day")?" today":t.isSame(o().add(1,"day"),"day")?" tomorrow":t.isSame(o().add(-1,"day"),"day")?" yesterday":""}function i(t){return t.isSame(new Date,"week")?" current-week":""}function s(t){return t.isSame(new Date,"month")?" current-month":""}function n(t){return t.isSame(new Date,"year")?" current-year":""}var r=o(this.current),a=r.locale?r.locale("en"):r.lang("en"),h=this.step;switch(this.scale){case"millisecond":return t(a.milliseconds()).trim();case"second":return t(a.seconds()).trim();case"minute":return t(a.minutes()).trim();case"hour":var d=a.hours();return 4==this.step&&(d=d+"-"+(d+4)),d+"h"+e(a)+t(a.hours());case"weekday":return a.format("dddd").toLowerCase()+e(a)+i(a)+t(a.date());case"day":var l=a.date(),c=a.format("MMMM").toLowerCase();return"day"+l+" "+c+s(a)+t(l-1);case"month":return a.format("MMMM").toLowerCase()+s(a)+t(a.month());case"year":var p=a.year();return"year"+p+n(a)+t(p);default:return""}},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),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+=l)}i=this.parent.subgroups[s].height+t.item.vertical,this.dom.box.style.top=this.parent.height-d+a+"px",this.dom.box.style.bottom=""}}else this.parent instanceof n?(i=Math.max(this.parent.height,this.parent.itemSet.body.domProps.center.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(20);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.dom.content.style.maxWidth="none",this.props.content.width=this.dom.content.offsetWidth,this.height=this.dom.box.offsetHeight,this.dom.content.style.maxWidth="",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.displayed=!1}},s.prototype.repositionX=function(t){var e,i,s=this.parent.width,o=this.conversion.toScreen(this.data.start),n=this.conversion.toScreen(this.data.end);(void 0===t||t===!0)&&(-s>o&&(o=-s),n>2*s&&(n=2*s));var r=Math.max(n-o,1);switch(this.overflow?(this.left=o,this.width=r+this.props.content.width,i=this.props.content.width):(this.left=o,this.width=r,i=Math.min(n-o-2*this.options.padding,this.props.content.width)),this.dom.box.style.left=this.left+"px",this.dom.box.style.width=r+"px",this.options.align){case"left":this.dom.content.style.left="0";break;case"right":this.dom.content.style.left=Math.max(r-i-2*this.options.padding,0)+"px";break;case"center":this.dom.content.style.left=Math.max((r-i-2*this.options.padding)/2,0)+"px";break;default:e=this.overflow?n>0?Math.max(-o,0):-i:0>o?Math.min(-o,n-o-i-2*this.options.padding):0,this.dom.content.style.left=e+"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){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(25),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",id:0},this.options=n.extend({},this.defaultOptions),this.customTime=e&&e.time?e.time:new Date,this.eventParams={},this._create(),this.setOptions(e)}var o=i(45),n=i(1),r=i(25),a=i(44),h=i(48);s.prototype=new r,s.prototype.setOptions=function(t){t&&(n.selectiveExtend(["showCustomTime","locale","locales","id"],this.options,t),this.options.id&&this.redraw())},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",{id:this.options.id,time:new Date(this.customTime.valueOf())}),t.stopPropagation(),t.preventDefault()}},s.prototype._onDragEnd=function(t){this.eventParams.dragging&&(this.body.emitter.emit("timechanged",{id:this.options.id,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,alignZeros:!0,customRange:{left:{min:void 0,max:void 0},right:{min:void 0,max:void 0}},title:{left:{text:void 0},right:{text:void 0}},format:{left:{decimals:void 0},right:{decimals:void 0}}},this.linegraphOptions=s,this.linegraphSVG=i,this.props={},this.DOMelements={lines:{},labels:{},title:{}},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.hidden=!1,this.stepPixels=25,this.stepPixelsForced=25,this.zeroCrossing=-1,this.lineOffset=0,this.master=!0,this.svgElements={},this.iconsRemoved=!1,this.groups={},this.amountOfGroups=0,this._create();var n=this;this.body.emitter.on("verticalDrag",function(){n.dom.lineContainer.style.top=n.body.domProps.scrollTop+"px"})}var o=i(1),n=i(2),r=i(25),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","title","format","alignZeros"];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.dom.lineContainer.style.position="relative",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),this.iconsRemoved=!1},s.prototype._cleanupIcons=function(){0==this.iconsRemoved&&(n.prepareElements(this.svgElements),n.cleanupElements(this.svgElements),this.iconsRemoved=!0)},s.prototype.show=function(){this.hidden=!1,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.hidden=!0,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){0==this.master&&1==this.options.alignZeros&&-1!=this.zeroCrossing&&t>0&&(t=0),this.range.start=t,this.range.end=e},s.prototype.redraw=function(){var t=!1,e=0;this.dom.lineContainer.style.top=this.body.domProps.scrollTop+"px";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",this.props.width=this.body.domProps.left.width,this.props.height=this.body.domProps.left.height):(o.style.top="",o.style.bottom="0",o.style.left="0",o.style.width=this.width+"px",o.style.height=this.height+"px",this.props.width=this.body.domProps.right.width,this.props.height=this.body.domProps.right.height),t=this._redrawLabels(),t=this._isResized()||t,1==this.options.icons?this._redrawGroupIcons():this._cleanupIcons(),this._redrawTitle(n) -}return t},s.prototype._redrawLabels=function(){var t=!1;n.prepareElements(this.DOMelements.lines),n.prepareElements(this.DOMelements.labels);var e=this.options.orientation,i=this.master?this.props.majorCharHeight||10:this.stepPixelsForced,s=new a(this.range.start,this.range.end,i,this.dom.frame.offsetHeight,this.options.customRange[this.options.orientation],0==this.master&&this.options.alignZeros);this.step=s;var o=(this.dom.frame.offsetHeight-s.deadSpace*(this.dom.frame.offsetHeight/s.marginRange))/((s.marginRange-s.deadSpace)/s.step);this.stepPixels=o;var r=this.height/o,h=0;if(0==this.master){o=this.stepPixelsForced,h=Math.round(this.dom.frame.offsetHeight/o-r);for(var d=0;.5*h>d;d++)s.previous();if(r=this.height/o,-1!=this.zeroCrossing&&1==this.options.alignZeros){var l=s.marginEnd/s.step-this.zeroCrossing;if(l>0)for(var d=0;l>d;d++)s.next();else if(0>l)for(var d=0;-l>d;d++)s.previous()}}else r+=.25;this.valueAtZero=s.marginEnd;var c,p=0,u=1;void 0!==this.options.format[e]&&(c=this.options.format[e].decimals),this.maxLabelSize=0;for(var m=0;u=0&&this._redrawLabel(m-2,s.getCurrent(c),e,"yAxis major",this.props.majorCharHeight),this._redrawLine(m,e,"grid horizontal major",this.options.majorLinesOffset,this.props.majorLineWidth)):this._redrawLine(m,e,"grid horizontal minor",this.options.minorLinesOffset,this.props.minorLineWidth),1==this.master&&0==s.current&&(this.zeroCrossing=u),u++}this.conversionFactor=0==this.master?m/(this.valueAtZero-s.current):this.dom.frame.offsetHeight/s.marginRange;var g=0;void 0!==this.options.title[e]&&void 0!==this.options.title[e].text&&(g=this.props.titleCharHeight);var v=1==this.options.icons?Math.max(this.options.iconWidth,g)+this.options.labelOffsetX+15:g+this.options.labelOffsetX+15;return this.maxLabelSize>this.width-v&&1==this.options.visible?(this.width=this.maxLabelSize+v,this.options.width=this.width+"px",n.cleanupElements(this.DOMelements.lines),n.cleanupElements(this.DOMelements.labels),this.redraw(),t=!0):this.maxLabelSizethis.minWidth?(this.width=Math.max(this.minWidth,this.maxLabelSize+v),this.options.width=this.width+"px",n.cleanupElements(this.DOMelements.lines),n.cleanupElements(this.DOMelements.labels),this.redraw(),t=!0):(n.cleanupElements(this.DOMelements.lines),n.cleanupElements(this.DOMelements.labels),t=!1),t},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.maxLabelSizep;p++){var m=this.visibleItems[p];m.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;it?-1:l>=t?0:1};if(e.length>0)for(n=0;nl}),1==this.checkRangedItems)for(this.checkRangedItems=!1,n=0;nl})}for(n=0;n=0&&(n=e[r],!o(n));r--)void 0===s[n.id]&&(s[n.id]=!0,i.push(n));for(r=t+1;rs;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},snap:h.snap,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(19),d=i(25),l=i(30),c=i(31),p=i(22),u=i(23),m=i(24),f=i(21),g="__ungrouped__",v="__background__";s.prototype=new d,s.types={background:f,box:p,range:m,point:u},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 c(v,null,this);r.show(),this.groups[v]=r,this.hammer=o(this.body.dom.centerContainer,{preventDefault:!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","order","padding","stack","selectable","groupOrder","dataAttributes","template","hide","snap"];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(t){this.groupIds=[],this.stackDirty=!0,t&&t.refreshItems&&n.forEach(this.items,function(t){t.dirty=!0,t.displayed&&t.redraw()})},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},m={item:t.item,axis:t.item.vertical/2},f=0,g=t.axis+t.item.vertical;return this.groups[v].redraw(e,m,c),n.forEach(this.groups,function(t){var i=t==p?u:m,s=t.redraw(e,i,c);r=s||r,f+=t.height}),f=Math.max(f,g),this.stackDirty=!1,a.style.height=i(f),this.props.width=a.offsetWidth,this.props.height=f,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[g];return i||null},s.prototype._updateUngrouped=function(){{var t,e,i=this.groups[g];this.groups[v]}if(this.groupsData){if(i){i.hide(),delete this.groups[g];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 l(n,r,this),this.groups[g]=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?v:this.groupsData?t.group:g},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==g||t==v)throw new Error("Illegal group id. "+t+" is a reserved id.");var o=Object.create(e.options);n.extend(o,{height:null}),s=new l(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:a})}},s.prototype._onAddItem=function(t){if(this.options.selectable&&this.options.editable.add){var e=this,i=this.options.snap||null,o=s.itemFromTarget(t);if(o){var r=e.itemsData.get(o.id);this.options.onUpdate(r,function(t){t&&e.itemsData.getDataSet().update(t)})}else{var a=n.getAbsoluteLeft(this.dom.frame),h=t.gesture.center.pageX-a,d=this.body.util.toTime(h),l=this.body.util.getScale(),c=this.body.util.getStep(),p={start:i?i(d,l,c):d,content:"new item"}; -if("range"===this.options.type){var u=this.body.util.toTime(h+this.props.width/5);p.end=i?i(u,l,c):u}p[this.itemsData._fieldId]=n.randomUUID();var m=this.groupFromTarget(t);m&&(p.group=m.groupId),this.options.onAdd(p,function(t){t&&e.itemsData.getDataSet().add(t)})}}},s.prototype._onMultiSelectItem=function(t){if(this.options.selectable){var e,i=s.itemFromTarget(t);if(i){e=this.getSelection();var o=t.gesture.touches[0]&&t.gesture.touches[0].shiftKey||!1;if(o){e.push(i.id);var n=s._getItemRange(this.itemsData.get(e,this.itemOptions));e=[];for(var r in this.items)if(this.items.hasOwnProperty(r)){var a=this.items[r],h=a.data.start,d=void 0!==a.data.end?a.data.end:h;h>=n.min&&d<=n.max&&e.push(a.id)}}else{var l=e.indexOf(i.id);-1==l?e.push(i.id):e.splice(l,1)}this.setSelection(e),this.body.emitter.emit("select",{items:this.getSelection()})}}},s._getItemRange=function(t){var e=null,i=null;return t.forEach(function(t){(null==i||t.starte)&&(e=t.end):(null==e||t.start>e)&&(e=t.start)}),{min:i,max:e}},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.prototype.groupFromTarget=function(t){for(var e=t.gesture.center.clientY,i=0;ia&&ea)return o}else if(0===i&&e"));this.dom.textArea.innerHTML=s,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,alignZeros:!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,this.updateSVGheight=!1,this.updateSVGheightOnResize=!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.COUNTER=0,this.body.emitter.on("rangechanged",function(){i.lastStart=i.body.range.start,i.svg.style.left=o.option.asSize(-i.props.width),i.redraw.call(i,!0)}),this._create(),this.framework={svg:this.svg,svgElements:this.svgElements,options:this.options,groups:this.groups},this.body.emitter.emit("change")}var o=i(1),n=i(2),r=i(3),a=i(4),h=i(25),d=i(28),l=i(29),c=i(33),p=i(50),u="__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","height","graphHeight","yAxisOrientation","style","barChart","dataAxis","sort","groups"];void 0===t.graphHeight&&void 0!==t.height&&void 0!==this.body.domProps.centerContainer.height?(this.updateSVGheight=!0,this.updateSVGheightOnResize=!0):void 0!==this.body.domProps.centerContainer.height&&void 0!==t.graphHeight&&parseInt((t.graphHeight+"").replace("px",""))0){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),this._applySampling(a,c),e=0;eu&&console.log("WARNING: there may be an infinite loop in the _updateGraph emitter cycle."),this.COUNTER=0,this.abortedGraphUpdate=!1,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=[];if(t.length>0){for(n=0;n0&&(o=this.groups[t[n]],"stack"==r.barChart.handleOverlap&&"bar"==r.style?"left"==r.yAxisOrientation?a=a.concat(o.getYRange(s)):h=h.concat(o.getYRange(s)):i[t[n]]=o.getYRange(s,t[n]));p.getStackedBarYRange(a,i,t,"__barchartLeft","left"),p.getStackedBarYRange(h,i,t,"__barchartRight","right")}},s.prototype._updateYAxis=function(t,e){var i,s,o=!1,n=!1,r=!1,a=1e9,h=1e9,d=-1e9,l=-1e9;if(t.length>0){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,this.yAxisRight.zeroCrossing=this.yAxisLeft.zeroCrossing,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&&0==e.hidden&&(e.hide(),i=!0):e.dom.frame.parentNode||1!=e.hidden||(e.show(),i=!0),i},s.prototype._convertXcoordinates=function(t){for(var e,i,s=[],o=this.body.util.toScreen,n=0;ny;)y++,l=h.getCurrent(),c=h.isMajor(),u=h.getClassName(),f=m,m=this.body.util.toScreen(l),g=m-f,p&&(p.style.width=g+"px"),this.options.showMinorLabels&&this._repaintMinorText(m,h.getLabelMinor(),t,u),c&&this.options.showMajorLabels?(m>0&&(void 0==v&&(v=m),this._repaintMajorText(m,h.getLabelMajor(),t,u)),p=this._repaintMajorLine(m,t,u)):p=this._repaintMinorLine(m,t,u),h.next();if(this.options.showMajorLabels){var b=this.body.util.toTime(0),_=h.getLabelMajor(b),x=_.length*(this.props.majorCharWidth||10)+10;(void 0==v||v>x)&&this._repaintMajorText(0,_,t,u)}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,s){var o=this.dom.redundant.minorTexts.shift();if(!o){var n=document.createTextNode("");o=document.createElement("div"),o.appendChild(n),this.dom.foreground.appendChild(o)}this.dom.minorTexts.push(o),o.childNodes[0].nodeValue=e,o.style.top="top"==i?this.props.majorLabelHeight+"px":"0",o.style.left=t+"px",o.className="text minor "+s},s.prototype._repaintMajorText=function(t,e,i,s){var o=this.dom.redundant.majorTexts.shift();if(!o){var n=document.createTextNode(e);o=document.createElement("div"),o.appendChild(n),this.dom.foreground.appendChild(o)}this.dom.majorTexts.push(o),o.childNodes[0].nodeValue=e,o.className="text major "+s,o.style.top="top"==i?"0":this.props.minorLabelHeight+"px",o.style.left=t+"px"},s.prototype._repaintMinorLine=function(t,e,i){var s=this.dom.redundant.lines.shift();s||(s=document.createElement("div"),this.dom.background.appendChild(s)),this.dom.lines.push(s);var o=this.props;return s.style.top="top"==e?o.majorLabelHeight+"px":this.body.domProps.top.height+"px",s.style.height=o.minorLineHeight+"px",s.style.left=t-o.minorLineWidth/2+"px",s.className="grid vertical minor "+i,s},s.prototype._repaintMajorLine=function(t,e,i){var s=this.dom.redundant.lines.shift();s||(s=document.createElement("div"),this.dom.background.appendChild(s)),this.dom.lines.push(s);var o=this.props;return s.style.top="top"==e?"0":this.body.domProps.top.height+"px",s.style.left=t-o.majorLineWidth/2+"px",s.style.height=o.majorLineHeight+"px",s.className="grid vertical major "+i,s},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},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._determineBrowserMethod(),this._initializeMixinLoaders(),this.containerElement=t,this.renderRefreshRate=60,this.renderTimestep=1e3/this.renderRefreshRate,this.renderTime=0,this.physicsTime=0,this.runDoubleSpeed=!1,this.physicsDiscreteStepsize=.5,this.initializing=!0,this.triggerFunctions={add:null,edit:null,editEdge:null,connect:null,del:null};var o=function(t,e,i,s){if(e==t)return.5;var o=1/(e-t);return Math.max(0,(s-t)*o)};this.defaultOptions={nodes:{customScalingFunction:o,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,fontStrokeWidth:0,fontStrokeColor:"#ffffff",fontDrawThreshold:3,scaleFontWithValue:!1,fontSizeMin:14,fontSizeMax:30,fontSizeMaxVisible:30,level:-1,color:{border:"#2B7CE9",background:"#97C2FC",highlight:{border:"#2B7CE9",background:"#D2E5FF"},hover:{border:"#2B7CE9",background:"#D2E5FF"}},group:void 0,borderWidth:1,borderWidthSelected:void 0},edges:{customScalingFunction:o,widthMin:1,widthMax:15,width:1,widthSelectionMultiplier:2,hoverWidth:1.5,style:"line",color:{color:"#848484",highlight:"#848484",hover:"#848484"},opacity:1,fontColor:"#343434",fontSize:14,fontFace:"arial",fontFill:"white",fontStrokeWidth:0,fontStrokeColor:"white",labelAlignment:"horizontal",arrowScaleFactor:1,dash:{length:10,gap:5,altLength:void 0},inheritColor:"from",useGradients:!1},configurePhysics:!1,physics:{barnesHut:{enabled:!0,thetaInverted:2,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,clusterByZoom:!0},navigation:{enabled:!1},keyboard:{enabled:!1,speed:{x:10,y:10,zoom:.02},bindToWindow:!0},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},maxVelocity:50,minVelocity:.1,stabilize:!0,stabilizationIterations:1e3,zoomExtentOnStabilize:!0,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,useDefaultGroups:!0},this.constants=a.extend({},this.defaultOptions),this.pixelRatio=1,this.hoverObj={nodes:{},edges:{}},this.controlNodesActive=!1,this.navigationHammers=[],this.manipulationHammers=[],this.animationSpeed=1/this.renderRefreshRate,this.animationEasingFunction="easeInOutQuint",this.animating=!1,this.easingTime=0,this.sourceScale=0,this.targetScale=0,this.sourceTranslation=0,this.targetTranslation=0,this.lockedOnNodeId=null,this.lockedOnNodeOffset=null,this.touchTime=0,this.redrawRequested=!1;var n=this;this.groups=new u,this.images=new m,this.images.setOnloadCallback(function(){n._requestRedraw()}),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.freezeSimulationEnabled=!1,this.cachedFunctions={},this.startedStabilization=!1,this.stabilized=!1,this.stabilizationIterations=null,this.draggingNodes=!1,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){n._addNodes(e.items),n.start()},update:function(t,e){n._updateNodes(e.items),n.start()},remove:function(t,e){n._removeNodes(e.items),n.start()}},this.edgesListeners={add:function(t,e){n._addEdges(e.items),n.start()},update:function(t,e){n._updateEdges(e.items),n.start()},remove:function(t,e){n._removeEdges(e.items),n.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({duration:0},!0,this.constants.clustering.enabled),this.constants.clustering.enabled&&this.startWithClustering()}var o=i(56),n=i(45),r=i(57),a=i(1),h=i(47),d=i(3),l=i(4),c=i(42),p=i(43),u=i(38),m=i(39),f=i(40),g=i(37),v=i(41),y=i(52),b=i(53),_=i(54);i(55),o(s.prototype),s.prototype._determineBrowserMethod=function(){var t=navigator.userAgent.toLowerCase();this.requiresTimeout=!1,-1!=t.indexOf("msie 9.0")?this.requiresTimeout=!0:-1!=t.indexOf("safari")&&t.indexOf("chrome")<=-1&&(this.requiresTimeout=!0)},s.prototype._getScriptPath=function(){for(var t=document.getElementsByTagName("script"),e=0;e0)for(var r=0;re.boundingBox.left&&(o=e.boundingBox.left),ne.boundingBox.bottom&&(i=e.boundingBox.top),se.boundingBox.left&&(o=e.boundingBox.left),ne.boundingBox.bottom&&(i=e.boundingBox.top),s.5*this.nodeIndices.length)return void this.zoomExtent(t,!1,i);s=this._getRange(t.nodes);var h=this.nodeIndices.length;o=1==this.constants.smoothCurves?1==this.constants.clustering.enabled&&h>=this.constants.clustering.initialMaxNodes?49.07548/(h+142.05338)+91444e-8:12.662/(h+7.4147)+.0964822:1==this.constants.clustering.enabled&&h>=this.constants.clustering.initialMaxNodes?77.5271985/(h+187.266146)+476710517e-13:30.5062972/(h+19.93597763)+.08413486;var d=Math.min(this.frame.canvas.clientWidth/600,this.frame.canvas.clientHeight/600);o*=d}else{s=this._getRange(t.nodes);var l=1.1*Math.abs(s.maxX-s.minX),c=1.1*Math.abs(s.maxY-s.minY),p=this.frame.canvas.clientWidth/l,u=this.frame.canvas.clientHeight/c;o=u>=p?p:u}o>1&&(o=1);var m=this._findCenter(s);if(0==i){var t={position:m,scale:o,animation:t};this.moveTo(t),this.moving=!0,this.start()}else m.x*=o,m.y*=o,m.x-=.5*this.frame.canvas.clientWidth,m.y-=.5*this.frame.canvas.clientHeight,this._setScale(o),this._setTranslation(-m.x,-m.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._unselectAll(!0),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(1==this.constants.dataManipulation.enabled&&this._createManipulatorBar(),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()):1==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),this.groups.useDefaultGroups=this.constants.useDefaultGroups,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)),this.constants.edges.inheritColor=!1),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||(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._bindHammer(),this._createKeyBinds(),this._markAllEdgesAsDirty(),this.setSize(this.constants.width,this.constants.height),this.moving=!0,1==this.constants.hierarchicalLayout.enabled&&0==this.initializing&&(this._resetLevels(),this._setupHierarchicalLayout()),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.tabIndex=900,this.frame.canvas=document.createElement("canvas"),this.frame.canvas.style.position="relative",this.frame.appendChild(this.frame.canvas),this.frame.canvas.getContext){var t=this.frame.canvas.getContext("2d");this.pixelRatio=(window.devicePixelRatio||1)/(t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1),this.frame.canvas.getContext("2d").setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0)}else{var e=document.createElement("DIV");e.style.color="red",e.style.fontWeight="bold",e.style.padding="10px",e.innerHTML="Error: your browser does not support HTML canvas",this.frame.canvas.appendChild(e)}this._bindHammer()},s.prototype._bindHammer=function(){var t=this;void 0!==this.hammer&&this.hammer.dispose(),this.drag={},this.pinch={},this.hammer=n(this.frame.canvas,{prevent_default:!0}),this.hammer.on("tap",t._onTap.bind(t)),this.hammer.on("doubletap",t._onDoubleTap.bind(t)),this.hammer.on("hold",t._onHold.bind(t)),this.hammer.on("touch",t._onTouch.bind(t)),this.hammer.on("dragstart",t._onDragStart.bind(t)),this.hammer.on("drag",t._onDrag.bind(t)),this.hammer.on("dragend",t._onDragEnd.bind(t)),1==this.constants.zoomable&&(this.hammer.on("mousewheel",t._onMouseWheel.bind(t)),this.hammer.on("DOMMouseScroll",t._onMouseWheel.bind(t)),this.hammer.on("pinch",t._onPinch.bind(t))),this.hammer.on("mousemove",t._onMouseMoveTitle.bind(t)),this.hammerFrame=n(this.frame,{prevent_default:!0}),this.hammerFrame.on("release",t._onRelease.bind(t)),this.containerElement.appendChild(this.frame)},s.prototype._createKeyBinds=function(){var t=this;void 0!==this.keycharm&&this.keycharm.destroy(),this.keycharm=r(1==this.constants.keyboard.bindToWindow?{container:window,preventDefault:!1}:{container:this.frame,preventDefault:!1}),this.keycharm.reset(),this.constants.keyboard.enabled&&this.isActive()&&(this.keycharm.bind("up",this._moveUp.bind(t),"keydown"),this.keycharm.bind("up",this._yStopMoving.bind(t),"keyup"),this.keycharm.bind("down",this._moveDown.bind(t),"keydown"),this.keycharm.bind("down",this._yStopMoving.bind(t),"keyup"),this.keycharm.bind("left",this._moveLeft.bind(t),"keydown"),this.keycharm.bind("left",this._xStopMoving.bind(t),"keyup"),this.keycharm.bind("right",this._moveRight.bind(t),"keydown"),this.keycharm.bind("right",this._xStopMoving.bind(t),"keyup"),this.keycharm.bind("=",this._zoomIn.bind(t),"keydown"),this.keycharm.bind("=",this._stopZoom.bind(t),"keyup"),this.keycharm.bind("num+",this._zoomIn.bind(t),"keydown"),this.keycharm.bind("num+",this._stopZoom.bind(t),"keyup"),this.keycharm.bind("num-",this._zoomOut.bind(t),"keydown"),this.keycharm.bind("num-",this._stopZoom.bind(t),"keyup"),this.keycharm.bind("-",this._zoomOut.bind(t),"keydown"),this.keycharm.bind("-",this._stopZoom.bind(t),"keyup"),this.keycharm.bind("[",this._zoomIn.bind(t),"keydown"),this.keycharm.bind("[",this._stopZoom.bind(t),"keyup"),this.keycharm.bind("]",this._zoomOut.bind(t),"keydown"),this.keycharm.bind("]",this._stopZoom.bind(t),"keyup"),this.keycharm.bind("pageup",this._zoomIn.bind(t),"keydown"),this.keycharm.bind("pageup",this._stopZoom.bind(t),"keyup"),this.keycharm.bind("pagedown",this._zoomOut.bind(t),"keydown"),this.keycharm.bind("pagedown",this._stopZoom.bind(t),"keyup")),1==this.constants.dataManipulation.enabled&&(this.keycharm.bind("esc",this._createManipulatorBar.bind(t)),this.keycharm.bind("delete",this._deleteSelected.bind(t)))},s.prototype.destroy=function(){this.start=function(){},this.redraw=function(){},this.timer=!1,this._cleanupPhysicsConfiguration(),this.keycharm.reset(),this.hammer.dispose(),this.off(),this._recursiveDOMDelete(this.containerElement)},s.prototype._recursiveDOMDelete=function(t){for(;1==t.hasChildNodes();)this._recursiveDOMDelete(t.firstChild),t.removeChild(t.firstChild)},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){(new Date).valueOf()-this.touchTime>100&&(this.drag.pointer=this._getPointer(t.gesture.center),this.drag.pinched=!1,this.pinch.scale=this._getScale(),this.touchTime=(new Date).valueOf(),this._handleTouch(this.drag.pointer))},s.prototype._onDragStart=function(t){this._handleDragStart(t)},s.prototype._handleDragStart=function(t){void 0===this.drag.pointer&&this._onTouch(t);var e=this._getNodeAt(this.drag.pointer);if(this.drag.dragging=!0,this.drag.selection=[],this.drag.translation=this._getTranslation(),this.drag.nodeId=null,this.draggingNodes=!1,null!=e&&1==this.constants.dragNodes){this.draggingNodes=!0,this.drag.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,this.drag.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){if(void 0===this.drag.pointer)return void this._handleDragStart(t);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(),0==this.draggingNodes?this.emit("dragEnd",{nodeIds:[]}):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),s=!1;if(void 0!==this.popup&&(this.popup.hidden===!1&&this._checkHidePopup(i),this.popup.hidden===!1&&(s=!0,this.popup.setPosition(i.x+3,i.y-5),this.popup.show())),0==this.constants.keyboard.bindToWindow&&1==this.constants.keyboard.enabled&&this.frame.focus(),s===!1){var o=this,n=function(){o._checkShowPopup(i)};this.popupTimer&&clearInterval(this.popupTimer),this.drag.dragging||(this.popupTimer=setTimeout(n,this.constants.tooltip.delay))}if(1==this.constants.hover){for(var r in this.hoverObj.edges)this.hoverObj.edges.hasOwnProperty(r)&&(this.hoverObj.edges[r].hover=!1,delete this.hoverObj.edges[r]);var a=this._getNodeAt(i);null==a&&(a=this._getEdgeAt(i)),null!=a&&this._hoverObject(a);for(var d in this.hoverObj.nodes)this.hoverObj.nodes.hasOwnProperty(d)&&(a instanceof f&&a.id!=d||a instanceof g||null==a)&&(this._blurObject(this.hoverObj.nodes[d]),delete this.hoverObj.nodes[d]);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=void 0===this.popupObj?"":this.popupObj.id,o=!1,n="node";if(void 0==this.popupObj){var r=this.nodes,a=[];for(e in r)if(r.hasOwnProperty(e)){var h=r[e];h.isOverlappingWith(i)&&void 0!==h.getTitle()&&a.push(e)}a.length>0&&(this.popupObj=this.nodes[a[a.length-1]],o=!0)}if(void 0===this.popupObj&&0==o){var d=this.edges,l=[];for(e in d)if(d.hasOwnProperty(e)){var c=d[e];c.connected&&void 0!==c.getTitle()&&c.isOverlappingWith(i)&&l.push(e)}l.length>0&&(this.popupObj=this.edges[l[l.length-1]],n="edge")}this.popupObj?this.popupObj.id!=s&&(void 0===this.popup&&(this.popup=new v(this.frame,this.constants.tooltip)),this.popup.popupTargetType=n,this.popup.popupTargetId=this.popupObj.id,this.popup.setPosition(t.x+3,t.y-5),this.popup.setText(this.popupObj.getTitle()),this.popup.show()):this.popup&&this.popup.hide()},s.prototype._checkHidePopup=function(t){var e={left:this._XconvertDOMtoCanvas(t.x),top:this._YconvertDOMtoCanvas(t.y),right:this._XconvertDOMtoCanvas(t.x),bottom:this._YconvertDOMtoCanvas(t.y)},i=!1;if("node"==this.popup.popupTargetType){if(i=this.nodes[this.popup.popupTargetId].isOverlappingWith(e),i===!0){var s=this._getNodeAt(t);i=s.id==this.popup.popupTargetId}}else null===this._getNodeAt(t)&&(i=this.edges[this.popup.popupTargetId].isOverlappingWith(e));i===!1&&(this.popupObj=void 0,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.pixelRatio,this.frame.canvas.height=this.frame.canvas.clientHeight*this.pixelRatio,this.constants.width=t,this.constants.height=e,i=!0):(this.frame.canvas.width!=this.frame.canvas.clientWidth*this.pixelRatio&&(this.frame.canvas.width=this.frame.canvas.clientWidth*this.pixelRatio,i=!0),this.frame.canvas.height!=this.frame.canvas.clientHeight*this.pixelRatio&&(this.frame.canvas.height=this.frame.canvas.clientHeight*this.pixelRatio,i=!0)),1==i&&this.emit("resize",{width:this.frame.canvas.width*this.pixelRatio,height:this.frame.canvas.height*this.pixelRatio,oldWidth:s*this.pixelRatio,oldHeight:o*this.pixelRatio})},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 f(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){for(var e=this.nodesData.get(t),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 f(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),this._markAllEdgesAsDirty()},s.prototype._markAllEdgesAsDirty=function(){for(var t in this.edges)this.edges[t].colorDirty=!0},s.prototype._removeNodes=function(t){for(var e=this.nodes,i=0,s=t.length;s>i;i++)void 0!==this.selectionObj.nodes[t[i]]&&(this.nodes[t[i]].unselect(),this._removeFromSelection(this.nodes[t[i]]));for(var 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++)void 0!==this.selectionObj.edges[t[i]]&&(e[t[i]].unselect(),this._removeFromSelection(e[t[i]]));for(var 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,o=0;for(e in t)if(t.hasOwnProperty(e)){var n=t[e].getValue();void 0!==n&&(i=void 0===i?n:Math.min(n,i),s=void 0===s?n:Math.max(n,s),o+=n)}if(void 0!==i&&void 0!==s)for(e in t)t.hasOwnProperty(e)&&t[e].setValueRange(i,s,o)},s.prototype.redraw=function(){this.setSize(this.constants.width,this.constants.height),this._redraw()},s.prototype._requestRedraw=function(t){this.redrawRequested!==!0&&(this.redrawRequested=!0,this.requiresTimeout===!0?window.setTimeout(this._redraw.bind(this,t),0):window.requestAnimationFrame(this._redraw.bind(this,t,!0)))},s.prototype._redraw=function(t){void 0===t&&(t=!1),this.redrawRequested=!1;var e=this.frame.canvas.getContext("2d");e.setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0);var i=this.frame.canvas.clientWidth,s=this.frame.canvas.clientHeight;e.clearRect(0,0,i,s),e.save(),e.translate(this.translation.x,this.translation.y),e.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)},t===!1&&(this._doInAllSectors("_drawAllSectorNodes",e),(0==this.drag.dragging||void 0===this.drag.dragging||0==this.constants.hideEdgesOnDrag)&&this._doInAllSectors("_drawEdges",e)),(0==this.drag.dragging||void 0===this.drag.dragging||0==this.constants.hideNodesOnDrag)&&this._doInAllSectors("_drawNodes",e,!1),t===!1&&1==this.controlNodesActive&&this._doInAllSectors("_drawControlNodes",e),e.restore(),t===!0&&e.clearRect(0,0,i,s)},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._revertPhysicsState=function(){var t=this.nodes;for(var e in t)t.hasOwnProperty(e)&&t[e].revertPosition()},s.prototype._revertPhysicsTick=function(){this._doInAllActiveSectors("_revertPhysicsState"),1==this.constants.smoothCurves.enabled&&1==this.constants.smoothCurves.dynamic&&this._doInSupportSector("_revertPhysicsState")},s.prototype._physicsTick=function(){if(!this.freezeSimulationEnabled&&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;s2*e||1==this.runDoubleSpeed)&&1==this.moving&&(this._physicsTick(),0!=this.renderTime&&(this.runDoubleSpeed=!0))}var i=Date.now();this._redraw(),this.renderTime=Date.now()-i,0==this.requiresTimeout&&this.start()},"undefined"!=typeof window&&(window.requestAnimationFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame),s.prototype.start=function(){if(1==this.freezeSimulationEnabled&&(this.moving=!1),1==this.moving||0!=this.xIncrement||0!=this.yIncrement||0!=this.zoomIncrement||1==this.animating)this.timer||(this.timer=1==this.requiresTimeout?window.setTimeout(this._animationStep.bind(this),this.renderTimestep):window.requestAnimationFrame(this._animationStep.bind(this)));else if(this._requestRedraw(),this.stabilizationIterations>1){var t=this,e={iterations:t.stabilizationIterations};this.stabilizationIterations=0,this.startedStabilization=!1,setTimeout(function(){t.emit("stabilized",e)},0)}else this.stabilizationIterations=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.freezeSimulation=function(t){1==t?(this.freezeSimulationEnabled=!0,this.moving=!1):(this.freezeSimulationEnabled=!1,this.moving=!0,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 f({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.animating=!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})},s.prototype.getBoundingBox=function(t){return void 0!==this.nodes[t]?this.nodes[t].boundingBox:void 0},s.prototype.getConnectedNodes=function(t){var e=[];if(void 0!==this.nodes[t])for(var i=this.nodes[t],s={nodeId:!0},o=0;oh}return!1},s.prototype._getColor=function(t){var e=this.options.color;if(1==this.options.useGradients){var i,s,n=t.createLinearGradient(this.from.x,this.from.y,this.to.x,this.to.y);return i=this.from.options.color.highlight.border,s=this.to.options.color.highlight.border,0==this.from.selected&&0==this.to.selected?(i=o.overrideOpacity(this.from.options.color.border,this.options.opacity),s=o.overrideOpacity(this.to.options.color.border,this.options.opacity)):1==this.from.selected&&0==this.to.selected?s=this.to.options.color.border:0==this.from.selected&&1==this.to.selected&&(i=this.from.options.color.border),n.addColorStop(0,i),n.addColorStop(1,s),n}return this.colorDirty===!0&&("to"==this.options.inheritColor?e={highlight:this.to.options.color.highlight.border,hover:this.to.options.color.hover.border,color:o.overrideOpacity(this.from.options.color.border,this.options.opacity)}:("from"==this.options.inheritColor||1==this.options.inheritColor)&&(e={highlight:this.from.options.color.highlight.border,hover:this.from.options.color.hover.border,color:o.overrideOpacity(this.from.options.color.border,this.options.opacity)}),this.options.color=e,this.colorDirty=!1),1==this.selected?e.highlight:1==this.hover?e.hover:e.color},s.prototype._drawLine=function(t){if(t.strokeStyle=this._getColor(t),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(){if(1==this.options.smoothCurves.dynamic&&1==this.options.smoothCurves.enabled)return this.via;if(0==this.options.smoothCurves.enabled)return{x:0,y:0};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);if("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));else if("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}}var o=this.labelDimensions.yLine;t.save(),"horizontal"!=this.options.labelAlignment&&(t.translate(i,o),this._rotateForLabelAlignment(t),i=0,o=0),this._drawLabelRect(t),this._drawLabelText(t,i,o,n,r,a),t.restore()}},s.prototype._rotateForLabelAlignment=function(t){var e=this.from.y-this.to.y,i=this.from.x-this.to.x,s=Math.atan2(e,i);(-1>s&&0>i||s>0&&0>i)&&(s+=Math.PI),t.rotate(s)},s.prototype._drawLabelRect=function(t){if(void 0!==this.options.fontFill&&null!==this.options.fontFill&&"none"!==this.options.fontFill){t.fillStyle=this.options.fontFill;var e=2;"line-center"==this.options.labelAlignment?t.fillRect(.5*-this.labelDimensions.width,.5*-this.labelDimensions.height,this.labelDimensions.width,this.labelDimensions.height):"line-above"==this.options.labelAlignment?t.fillRect(.5*-this.labelDimensions.width,-(this.labelDimensions.height+e),this.labelDimensions.width,this.labelDimensions.height):"line-below"==this.options.labelAlignment?t.fillRect(.5*-this.labelDimensions.width,e,this.labelDimensions.width,this.labelDimensions.height):t.fillRect(this.labelDimensions.left,this.labelDimensions.top,this.labelDimensions.width,this.labelDimensions.height)}},s.prototype._drawLabelText=function(t,e,i,s,o,n){if(t.fillStyle=this.options.fontColor||"black",t.textAlign="center","horizontal"!=this.options.labelAlignment){var r=2;"line-above"==this.options.labelAlignment?(t.textBaseline="alphabetic",i-=2*r):"line-below"==this.options.labelAlignment?(t.textBaseline="hanging",i+=2*r):t.textBaseline="middle"}else t.textBaseline="middle";this.options.fontStrokeWidth>0&&(t.lineWidth=this.options.fontStrokeWidth,t.strokeStyle=this.options.fontStrokeColor,t.lineJoin="round");for(var a=0;o>a;a++)this.options.fontStrokeWidth>0&&t.strokeText(s[a],e,i),t.fillText(s[a],e,i),i+=n},s.prototype._drawDashLine=function(t){t.strokeStyle=this._getColor(t),t.lineWidth=this._getLineWidth();var e=null;if(void 0!==t.setLineDash){t.save();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],t.setLineDash(i),t.lineDashOffset=0,e=this._line(t),t.setLineDash([0]),t.lineDashOffset=0,t.restore()}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),t.fillStyle=t.strokeStyle,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._pointOnBezier=function(t){var e=this._getViaCoordinates(),i=Math.pow(1-t,2)*this.from.x+2*t*(1-t)*e.x+Math.pow(t,2)*this.to.x,s=Math.pow(1-t,2)*this.from.y+2*t*(1-t)*e.y+Math.pow(t,2)*this.to.y;return{x:i,y:s}},s.prototype._findBorderPosition=function(t,e){var i,s,o,n,r,a=10,h=0,d=0,l=1,c=.2,p=this.to;for(1==t&&(p=this.from);l>=d&&a>h;){var u=.5*(d+l);if(i=this._pointOnBezier(u),s=Math.atan2(p.y-i.y,p.x-i.x),o=p.distanceToBorder(e,s),n=Math.sqrt(Math.pow(i.x-p.x,2)+Math.pow(i.y-p.y,2)),r=o-n,Math.abs(r)r?0==t?d=u:l=u:0==t?l=u:d=u,h++}return i.t=u,i},s.prototype._drawArrow=function(t){t.strokeStyle=this._getColor(t),t.fillStyle=t.strokeStyle,t.lineWidth=this._getLineWidth();var e,i,s;if(this.from!=this.to){if(this._line(t),1==this.options.smoothCurves.enabled){var o=this._getViaCoordinates();s=this._findBorderPosition(!1,t);var n=this._pointOnBezier(Math.max(0,s.t-.1));e=Math.atan2(s.y-n.y,s.x-n.x)}else{e=Math.atan2(this.to.y-this.from.y,this.to.x-this.from.x);var r=this.to.x-this.from.x,a=this.to.y-this.from.y,h=Math.sqrt(r*r+a*a),d=this.to.distanceToBorder(t,e),l=(h-d)/h;s={},s.x=(1-l)*this.from.x+l*this.to.x,s.y=(1-l)*this.from.y+l*this.to.y}if(i=(10+5*this.options.width)*this.options.arrowScaleFactor,t.arrow(s.x,s.y,e,i),t.fill(),t.stroke(),this.label){var c;c=1==this.options.smoothCurves.enabled&&null!=o?this._pointOnBezier(.5):this._pointOnLine(.5),this._label(t,this.label,c.x,c.y)}}else{var p,u,m,f=this.from,g=.25*Math.max(100,this.physics.springLength);f.width||f.resize(t),f.width>f.height?(p=f.x+.5*f.width,u=f.y-g,m={x:p,y:f.y,angle:.9*Math.PI}):(p=f.x+g,u=f.y-.5*f.height,m={x:f.x,y:u,angle:.6*Math.PI}),t.beginPath(),t.arc(p,u,g,0,2*Math.PI,!1),t.stroke();var i=(10+5*this.options.width)*this.options.arrowScaleFactor;t.arrow(m.x,m.y,m.angle,i),t.fill(),t.stroke(),this.label&&(c=this._pointOnCircle(p,u,g,.5),this._label(t,this.label,c.x,c.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,m,f,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,m=Math.pow(1-p,2)*e+2*p*(1-p)*h+Math.pow(p,2)*s,c>0&&(l=this._getDistanceToLine(f,g,u,m,o,n),v=v>l?l:v),f=u,g=m;r=v}else r=this._getDistanceToLine(t,e,i,s,o,n);else{var u,m,y,b,_=.25*this.physics.springLength,x=this.from;x.width>x.height?(u=x.x+.5*x.width,m=x.y-_):(u=x.x+_,m=x.y-.5*x.height),y=u-o,b=m-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)):null!==this.via&&(this.via.x=0,this.via.y=0)},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:7,borderWidth:2,borderWidthSelected:2},physics:{damping:0},clustering:{maxNodeSizeIncrements:0,nodeScaling:{width:0,height:0,radius:0}}};this.controlNodes.from=new n({id:e,shape:"dot",color:{background:"#ff0000",border:"#3c3c3c",highlight:{background:"#07f968"}}},{},{},s),this.controlNodes.to=new n({id:i,shape:"dot",color:{background:"#ff0000",border:"#3c3c3c",highlight:{background:"#07f968"}}},{},{},s)}this.controlNodes.positions={},0==this.controlNodes.from.selected&&(this.controlNodes.positions.from=this.getControlNodeFromPosition(t),this.controlNodes.from.x=this.controlNodes.positions.from.x,this.controlNodes.from.y=this.controlNodes.positions.from.y),0==this.controlNodes.to.selected&&(this.controlNodes.positions.to=this.getControlNodeToPosition(t),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.fromBackup=this.from,this.toBackup=this.to,this.controlNodesEnabled=!0},s.prototype._disableControlNodes=function(){this.fromId=this.from.id,this.toId=this.to.id,this.fromId!=this.fromBackup.id?this.fromBackup.detachEdge(this):this.toId!=this.toBackup.id&&this.toBackup.detachEdge(this),this.fromBackup=null,this.toBackup=null,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.getControlNodeFromPosition=function(t){var e;if(1==this.options.smoothCurves.enabled)e=this._findBorderPosition(!0,t);else{var 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;e={},e.x=a*this.from.x+(1-a)*this.to.x,e.y=a*this.from.y+(1-a)*this.to.y}return e},s.prototype.getControlNodeToPosition=function(t){var e;if(1==this.options.smoothCurves.enabled)e=this._findBorderPosition(!1,t);else{var 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.to.distanceToBorder(t,i),a=(n-r)/n;e={},e.x=(1-a)*this.from.x+a*this.to.x,e.y=(1-a)*this.from.y+a*this.to.y}return e},t.exports=s},function(t,e,i){function s(){this.clear(),this.defaultIndex=0,this.groupsArray=[],this.groupIndex=0,this.useDefaultGroups=!0}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"}},{border:"#990000",background:"#EE0000",highlight:{border:"#BB0000",background:"#FF3333"},hover:{border:"#BB0000",background:"#FF3333"}},{border:"#FF6000",background:"#FF6000",highlight:{border:"#FF6000",background:"#FF6000"},hover:{border:"#FF6000",background:"#FF6000"}},{border:"#97C2FC",background:"#2B7CE9",highlight:{border:"#D2E5FF",background:"#2B7CE9"},hover:{border:"#D2E5FF",background:"#2B7CE9"}},{border:"#399605",background:"#255C03",highlight:{border:"#399605",background:"#255C03"},hover:{border:"#399605",background:"#255C03"}},{border:"#B70054",background:"#FF007E",highlight:{border:"#B70054",background:"#FF007E"},hover:{border:"#B70054",background:"#FF007E"}},{border:"#AD85E4",background:"#7C29F0",highlight:{border:"#D3BDF0",background:"#7C29F0"},hover:{border:"#D3BDF0",background:"#7C29F0"}},{border:"#4557FA",background:"#000EA1",highlight:{border:"#6E6EFD",background:"#000EA1"},hover:{border:"#6E6EFD",background:"#000EA1"}},{border:"#FFC0CB",background:"#FD5A77",highlight:{border:"#FFD1D9",background:"#FD5A77"},hover:{border:"#FFD1D9",background:"#FD5A77"}},{border:"#C2FABC",background:"#74D66A",highlight:{border:"#E6FFE3",background:"#74D66A"},hover:{border:"#E6FFE3",background:"#74D66A"}},{border:"#EE0000",background:"#990000",highlight:{border:"#FF3333",background:"#BB0000"},hover:{border:"#FF3333",background:"#BB0000"}}],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)if(this.useDefaultGroups===!1&&this.groupsArray.length>0){var i=this.groupIndex%this.groupsArray.length;this.groupIndex++,e={},e.color=this.groups[this.groupsArray[i]],this.groups[t]=e}else{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,this.groupsArray.push(t),e},t.exports=s},function(t){function e(){this.images={},this.imageBroken={},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,i.onload=function(){0==this.width&&(document.body.appendChild(this),this.width=this.offsetWidth,this.height=this.offsetHeight,document.body.removeChild(this)),s.callback&&(s.images[t]=i,s.callback(this))},i.onerror=function(){void 0===e?(console.error("Could not load image:",t),delete this.src,s.callback&&s.callback(this)):s.imageBroken[t]===!0?this.src==e?(console.error("Could not load brokenImage:",e),delete this.src,s.callback&&s.callback(this)):(console.error("Could not load image:",t),this.src=e):(console.error("Could not load image:",t),this.src=e,s.imageBroken[t]=!0)},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.id=void 0,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.boundingBox={top:0,left:0,right:0,bottom:0},this.imagelist=e,this.grouplist=i,this.fx=0,this.fy=0,this.vx=0,this.vy=0,this.x=null,this.y=null,this.predefinedPosition=!1,this.previousState={vx:0,vy:0,x:0,y:0},this.damping=s.physics.damping,this.fixedData={x:null,y:null},this.setProperties(t,n),this.resetCluster(),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.revertPosition=function(){this.x=this.previousState.x,this.y=this.previousState.y,this.vx=this.previousState.vx,this.vy=this.previousState.vy},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)},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)},s.prototype.setProperties=function(t,e){if(t){var i=["borderWidth","borderWidthSelected","shape","image","brokenImage","radius","fontColor","fontSize","fontFace","fontFill","fontStrokeWidth","fontStrokeColor","group","mass","fontDrawThreshold","scaleFontWithValue","fontSizeMaxVisible","customScalingFunction","iconFontFace","icon","iconColor","iconSize"];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,this.predefinedPosition=!0),void 0!==t.y&&(this.y=t.y,this.predefinedPosition=!0),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 t.group||"string"==typeof t.group&&""!=t.group){var s=this.grouplist.get(t.group);o.deepExtend(this.options,s),this.options.color=o.parseColor(this.options.color)}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||"circularImage"===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"circularImage":this.draw=this._drawCircularImage,this.resize=this._resizeCircularImage;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;case"icon":this.draw=this._drawIcon,this.resize=this._resizeIcon;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.storeState=function(){this.previousState.x=this.x,this.previousState.y=this.y,this.previousState.vx=this.vx,this.previousState.vy=this.vy},s.prototype.discreteStep=function(t){if(this.storeState(),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.storeState(),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,i){if(!this.radiusFixed&&void 0!==this.value){var s=this.options.customScalingFunction(t,e,i,this.value),o=this.options.radiusMax-this.options.radiusMin;if(1==this.options.scaleFontWithValue){var n=this.options.fontSizeMax-this.options.fontSizeMin;this.options.fontSize=this.options.fontSizeMin+s*n}this.options.radius=this.options.radiusMin+s*o}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._drawImageAtPosition=function(t){if(0!=this.imageObj.width){if(this.clusterSize>1){var e=this.clusterSize>1?10:0;e*=this.networkScaleInv,e=Math.min(.2*this.width,e),t.globalAlpha=.5,t.drawImage(this.imageObj,this.left-e,this.top-e,this.width+2*e,this.height+2*e)}t.globalAlpha=1,t.drawImage(this.imageObj,this.left,this.top,this.width,this.height)}},s.prototype._drawImageLabel=function(t){var e,i=0;if(this.height){i=this.height/2;var s=this.getTextSize(t);s.lineCount>=1&&(i+=s.height/2,i+=3)}e=this.y+i,this._label(t,this.label,this.x,e,void 0)},s.prototype._drawImage=function(t){this._resizeImage(t),this.left=this.x-this.width/2,this.top=this.y-this.height/2,this._drawImageAtPosition(t),this.boundingBox.top=this.top,this.boundingBox.left=this.left,this.boundingBox.right=this.left+this.width,this.boundingBox.bottom=this.top+this.height,this._drawImageLabel(t),this.boundingBox.left=Math.min(this.boundingBox.left,this.labelDimensions.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelDimensions.left+this.labelDimensions.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelDimensions.height)},s.prototype._resizeCircularImage=function(t){if(this.imageObj.src&&this.imageObj.width&&this.imageObj.height)this._swapToImageResizeWhenImageLoaded&&(this.width=0,this.height=0,delete this._swapToImageResizeWhenImageLoaded),this._resizeImage(t);else if(!this.width){var e=2*this.options.radius;this.width=e,this.height=e,this.options.radius+=.5*Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeRadiusFactor,this.growthIndicator=this.options.radius-.5*e,this._swapToImageResizeWhenImageLoaded=!0}},s.prototype._drawCircularImage=function(t){this._resizeCircularImage(t),this.left=this.x-this.width/2,this.top=this.y-this.height/2;var e=this.left+this.width/2,i=this.top+this.height/2,s=Math.abs(this.height/2);this._drawRawCircle(t,e,i,s),t.save(),t.circle(this.x,this.y,s),t.stroke(),t.clip(),this._drawImageAtPosition(t),t.restore(),this.boundingBox.top=this.y-this.options.radius,this.boundingBox.left=this.x-this.options.radius,this.boundingBox.right=this.x+this.options.radius,this.boundingBox.bottom=this.y+this.options.radius,this._drawImageLabel(t),this.boundingBox.left=Math.min(this.boundingBox.left,this.labelDimensions.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelDimensions.left+this.labelDimensions.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelDimensions.height)},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.hover?this.options.color.hover.background:this.options.color.background,t.roundRect(this.left,this.top,this.width,this.height,this.options.radius),t.fill(),t.stroke(),this.boundingBox.top=this.top,this.boundingBox.left=this.left,this.boundingBox.right=this.left+this.width,this.boundingBox.bottom=this.top+this.height,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.boundingBox.top=this.top,this.boundingBox.left=this.left,this.boundingBox.right=this.left+this.width,this.boundingBox.bottom=this.top+this.height,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._drawRawCircle=function(t,e,i,s){var o=2.5,n=this.options.borderWidth,r=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?r:n)+(this.clusterSize>1?o:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t.circle(e,i,s+2*t.lineWidth),t.stroke()),t.lineWidth=(this.selected?r:n)+(this.clusterSize>1?o: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,s),t.fill(),t.stroke()},s.prototype._drawCircle=function(t){this._resizeCircle(t),this.left=this.x-this.width/2,this.top=this.y-this.height/2,this._drawRawCircle(t,this.x,this.y,this.options.radius),this.boundingBox.top=this.y-this.options.radius,this.boundingBox.left=this.x-this.options.radius,this.boundingBox.right=this.x+this.options.radius,this.boundingBox.bottom=this.y+this.options.radius,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.boundingBox.top=this.top,this.boundingBox.left=this.left,this.boundingBox.right=this.left+this.width,this.boundingBox.bottom=this.top+this.height,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.boundingBox.top=this.y-this.options.radius,this.boundingBox.left=this.x-this.options.radius,this.boundingBox.right=this.x+this.options.radius,this.boundingBox.bottom=this.y+this.options.radius,this.label&&(this._label(t,this.label,this.x,this.y+this.height/2,void 0,"hanging",!0),this.boundingBox.left=Math.min(this.boundingBox.left,this.labelDimensions.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelDimensions.left+this.labelDimensions.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelDimensions.height))},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),this.boundingBox.top=this.top,this.boundingBox.left=this.left,this.boundingBox.right=this.left+this.width,this.boundingBox.bottom=this.top+this.height},s.prototype._resizeIcon=function(){if(!this.width){var t=5,e={width:Number(this.options.iconSize),height:Number(this.options.iconSize)};this.width=e.width+2*t,this.height=e.height+2*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+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeRadiusFactor,this.growthIndicator=this.width-(e.width+2*t)}},s.prototype._drawIcon=function(t){if(this._resizeIcon(t),this.options.iconSize=this.options.iconSize||50,this.left=this.x-this.width/2,this.top=this.y-this.height/2,this._icon(t),this.boundingBox.top=this.y-this.options.iconSize/2,this.boundingBox.left=this.x-this.options.iconSize/2,this.boundingBox.right=this.x+this.options.iconSize/2,this.boundingBox.bottom=this.y+this.options.iconSize/2,this.label){var e=5;this._label(t,this.label,this.x,this.y+this.height/2+e,"top",!0),this.boundingBox.left=Math.min(this.boundingBox.left,this.labelDimensions.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelDimensions.left+this.labelDimensions.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelDimensions.height)}},s.prototype._icon=function(t){var e=Number(this.options.iconSize)*this.networkScale;if(this.options.icon&&e>this.options.fontDrawThreshold-1){var i=Number(this.options.iconSize);t.font=(this.selected?"bold ":"")+i+"px "+this.options.iconFontFace,t.fillStyle=this.options.iconColor||"black",t.textAlign="center",t.textBaseline="middle",t.fillText(this.options.icon,this.x,this.y)}},s.prototype._label=function(t,e,i,s,n,r,a){var h=Number(this.options.fontSize)*this.networkScale;if(e&&h>=this.options.fontDrawThreshold-1){var d=Number(this.options.fontSize);h>=this.options.fontSizeMaxVisible&&(d=Number(this.options.fontSizeMaxVisible)*this.networkScaleInv);var l=this.options.fontColor||"#000000",c=this.options.fontStrokeColor;if(h<=this.options.fontDrawThreshold){var p=Math.max(0,Math.min(1,1-(this.options.fontDrawThreshold-h)));l=o.overrideOpacity(l,p),c=o.overrideOpacity(c,p)}t.font=(this.selected?"bold ":"")+d+"px "+this.options.fontFace;var u=e.split("\n"),m=u.length,f=s+(1-m)/2*d;1==a&&(f=s+(1-m)/(2*d));for(var g=t.measureText(u[0]).width,v=1;m>v;v++){var y=t.measureText(u[v]).width;g=y>g?y:g}var b=d*m,_=i-g/2,x=s-b/2;"hanging"==r&&(x+=.5*d,x+=4,f+=4),this.labelDimensions={top:x,left:_,width:g,height:b,yLine:f},void 0!==this.options.fontFill&&null!==this.options.fontFill&&"none"!==this.options.fontFill&&(t.fillStyle=this.options.fontFill,t.fillRect(_,x,g,b)),t.fillStyle=l,t.textAlign=n||"center",t.textBaseline=r||"middle",this.options.fontStrokeWidth>0&&(t.lineWidth=this.options.fontStrokeWidth,t.strokeStyle=c,t.lineJoin="round");for(var v=0;m>v;v++)this.options.fontStrokeWidth&&t.strokeText(u[v],i,f),t.fillText(u[v],i,f),f+=d}},s.prototype.getTextSize=function(t){if(void 0!==this.label){var e=Number(this.options.fontSize);e*this.networkScale>this.options.fontSizeMaxVisible&&(e=Number(this.options.fontSizeMaxVisible)*this.networkScaleInv),t.font=(this.selected?"bold ":"")+e+"px "+this.options.fontFace;for(var i=this.label.split("\n"),s=(e+4)*i.length,o=0,n=0,r=i.length;r>n;n++)o=Math.max(o,t.measureText(i[n]).width);return{width:o,height:s,lineCount:i.length}}return{width:0,height:0,lineCount: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(N=S.NULL,k="";" "==E||" "==E||"\n"==E||"\r"==E;)o();do{var t=!1;if("#"==E){for(var e=O-1;" "==T.charAt(e)||" "==T.charAt(e);)e--;if("\n"==T.charAt(e)||""==T.charAt(e)){for(;""!=E&&"\n"!=E;)o();t=!0}}if("/"==E&&"/"==n()){for(;""!=E&&"\n"!=E;)o();t=!0}if("/"==E&&"*"==n()){for(;""!=E;){if("*"==E&&"/"==n()){o(),o();break}o()}t=!0}for(;" "==E||" "==E||"\n"==E||"\r"==E;)o()}while(t);if(""==E)return void(N=S.DELIMITER);var i=E+n();if(C[i])return N=S.DELIMITER,k=i,o(),void o();if(C[E])return N=S.DELIMITER,k=E,void o();if(r(E)||"-"==E){for(k+=E,o();r(E);)k+=E,o();return"false"==k?k=!1:"true"==k?k=!0:isNaN(Number(k))||(k=Number(k)),void(N=S.IDENTIFIER)}if('"'==E){for(o();""!=E&&('"'!=E||'"'==E&&'"'==n());)k+=E,'"'==E&&o(),o();if('"'!=E)throw x('End of string " expected');return o(),void(N=S.IDENTIFIER)}for(N=S.UNKNOWN;""!=E;)k+=E,o();throw new SyntaxError('Syntax error in part "'+w(k,30)+'"')}function u(){var t={};if(s(),p(),"strict"==k&&(t.strict=!0,p()),("graph"==k||"digraph"==k)&&(t.type=k,p()),N==S.IDENTIFIER&&(t.id=k,p()),"{"!=k)throw x("Angle bracket { expected");if(p(),m(t),"}"!=k)throw x("Angle bracket } expected");if(p(),""!==k)throw x("End of file expected");return p(),delete t.node,delete t.edge,delete t.graph,t}function m(t){for(;""!==k&&"}"!=k;)f(t),";"==k&&p()}function f(t){var e=g(t);if(e)return void b(t,e);var i=v(t);if(!i){if(N!=S.IDENTIFIER)throw x("Identifier expected");var s=k;if(p(),"="==k){if(p(),N!=S.IDENTIFIER)throw x("Identifier expected");t[s]=k,p()}else y(t,s)}}function g(t){var e=null;if("subgraph"==k&&(e={},e.type="subgraph",p(),N==S.IDENTIFIER&&(e.id=k,p())),"{"==k){if(p(),e||(e={}),e.parent=t,e.node=t.node,e.edge=t.edge,e.graph=t.graph,m(e),"}"!=k)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"==k?(p(),t.node=_(),"node"):"edge"==k?(p(),t.edge=_(),"edge"):"graph"==k?(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(;"->"==k||"--"==k;){var i,s=k;p();var o=g(t);if(o)i=o;else{if(N!=S.IDENTIFIER)throw x("Identifier or subgraph expected");i=k,d(t,{id:i}),p()}var n=_(),r=c(t,e,i,s,n);l(t,r),e=i}}function _(){for(var t=null;"["==k;){for(p(),t={};""!==k&&"]"!=k;){if(N!=S.IDENTIFIER)throw x("Attribute name expected");var e=k;if(p(),"="!=k)throw x("Equal sign = expected");if(p(),N!=S.IDENTIFIER)throw x("Attribute value expected");var i=k;h(t,e,i),p(),","==k&&p()}if("]"!=k)throw x("Bracket ] expected");p()}return t}function x(t){return new SyntaxError(t+', got "'+w(k,30)+'" (char '+O+")")}function w(t,e){return t.length<=e?t:t.substr(0,27)+"..."}function D(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 M(t){var e=i(t),s={nodes:[],edges:[],options:{}};if(e.nodes&&e.nodes.forEach(function(t){var e={id:t.id,label:String(t.label||t.id)};a(e,t.attr),e.image&&(e.shape="image"),s.nodes.push(e)}),e.edges){var o=function(t){var e={from:t.from,to:t.to};return a(e,t.attr),e.style="->"==t.type?"arrow":"line",e};e.edges.forEach(function(t){var e,i;e=t.from instanceof Object?t.from.nodes:{id:t.from},i=t.to instanceof Object?t.to.nodes:{id:t.to},t.from instanceof Object&&t.from.edges&&t.from.edges.forEach(function(t){var e=o(t);s.edges.push(e)}),D(e,i,function(e,i){var n=c(s,e.id,i.id,t.type,t.attr),r=o(n);s.edges.push(r)}),t.to instanceof Object&&t.to.edges&&t.to.edges.forEach(function(t){var e=o(t);s.edges.push(e)})})}return e.attr&&(s.options=e.attr),s}var S={NULL:0,DELIMITER:1,IDENTIFIER:2,UNKNOWN:3},C={"{":!0,"}":!0,"[":!0,"]":!0,";":!0,"=":!0,",":!0,"->":!0,"--":!0},T="",O=0,E="",k="",N=S.NULL,I=/[a-zA-Z_0-9.:#]/;e.parseDOT=i,e.DOTToGraph=M},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;r0?Math.max.apply(null,i)+1:1):(this.customBarIds.forEach(function(t){if(t===e)throw new Error("Custom time ID already exists")}),o=e),this.customBarIds.push(o),s=new l(this.body,{showCustomTime:!0,time:n,id:o}),this.components.push(s),this.redraw(),o},s.prototype.removeCustomTime=function(t){var e=this;this.components.forEach(function(i,s,o){i instanceof l&&i.options.id===t&&0!==i.options.id&&(e.customBarIds.splice(e.customBarIds.indexOf(t),1),o.splice(s,1),i.destroy())})},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._getDataRange();if(null!==e.start||null!==e.end){var i=t&&void 0!==t.animate?t.animate:!0;this.range.setRange(e.start,e.end,i)}},s.prototype._getDataRange=function(){var t=this.getItemRange(),e=t.min,i=t.max;if(null!=e&&null!=i){var s=i.valueOf()-e.valueOf();0>=s&&(s=864e5),e=new Date(e.valueOf()-.05*s),i=new Date(i.valueOf()+.05*s)}return{start:e,end:i}},s.prototype.setWindow=function(t,e,i){var s;if(1==arguments.length){var o=arguments[0];s=void 0!==o.animate?o.animate:!0,this.range.setRange(o.start,o.end,s)}else s=i&&void 0!==i.animate?i.animate:!0,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(){this._redraw()},s.prototype._redraw=function(){var t=!1,e=this.options,i=this.props,s=this.dom;if(s){d.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),h=i.top.height+a+i.bottom.height+o+i.border.top+i.border.bottom;s.root.style.height=r.option.asSize(e.height,h+"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":"",m=this.props.scrollTop==this.props.scrollTopMin?"hidden":"";if(s.shadowTop.style.visibility=u,s.shadowBottom.style.visibility=m,s.shadowTopLeft.style.visibility=u,s.shadowBottomLeft.style.visibility=m,s.shadowTopRight.style.visibility=u,s.shadowBottomRight.style.visibility=m,this.components.forEach(function(e){t=e.redraw()||t}),t){var f=3;this.redrawCount0&&(this.props.scrollTop=0),this.props.scrollTopt[s].y?t[s].y:e,i=i0){var r,a,h=Number(i.svg.style.height.replace("px",""));if(r=o.getSVGElement("path",i.svgElements,i.svg),r.setAttributeNS(null,"class",e.className),void 0!==e.style&&r.setAttributeNS(null,"style",e.style),a=1==e.options.catmullRom.enabled?s._catmullRom(t,e):s._linear(t),1==e.options.shaded.enabled){var d,l=o.getSVGElement("path",i.svgElements,i.svg);d="top"==e.options.shaded.orientation?"M"+t[0].x+",0 "+a+"L"+t[t.length-1].x+",0":"M"+t[0].x+","+h+" "+a+"L"+t[t.length-1].x+","+h,l.setAttributeNS(null,"class",e.className+" fill"),void 0!==e.options.shaded.style&&l.setAttributeNS(null,"style",e.options.shaded.style),l.setAttributeNS(null,"d",d)}r.setAttributeNS(null,"d","M"+a),1==e.options.drawPoints.enabled&&n.draw(t,e,i)}},s._catmullRomUniform=function(t){for(var e,i,s,o,n,r,a=Math.round(t[0].x)+","+Math.round(t[0].y)+" ",h=1/6,d=t.length,l=0;d-1>l;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._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,m,f,g,v,y,b,_,x,w=Math.round(t[0].x)+","+Math.round(t[0].y)+" ",D=t.length,M=0;D-1>M;M++)s=0==M?t[0]:t[M-1],o=t[M],n=t[M+1],r=D>M+2?t[M+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,m=3*x*(x+v),m>0&&(m=1/m),f=3*g*(g+v),f>0&&(f=1/f),a={x:(-b*s.x+p*o.x+_*n.x)*m,y:(-b*s.y+p*o.y+_*n.y)*m},h={x:(y*o.x+u*n.x-b*r.x)*f,y:(y*o.y+u*n.y-b*r.y)*f},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._linear=function(t){for(var e="",i=0;it[s].y?t[s].y:e,i=i0&&(n=Math.min(n,Math.abs(c[d-1].x-r))),a=s._getSafeDrawData(n,h,m);else{var g=d+(p[r].amount-p[r].resolved),v=d-(p[r].resolved+1);g0&&(n=Math.min(n,Math.abs(c[v].x-r))),a=s._getSafeDrawData(n,h,m),p[r].resolved+=1,"stack"==h.options.barChart.handleOverlap?(f=p[r].accumulated,p[r].accumulated+=h.zeroPosition-c[d].y):"sideBySide"==h.options.barChart.handleOverlap&&(a.width=a.width/p[r].amount,a.offset+=p[r].resolved*a.width-.5*a.width*(p[r].amount+1),"left"==h.options.barChart.align?a.offset-=.5*a.width:"right"==h.options.barChart.align&&(a.offset+=.5*a.width))}o.drawBar(c[d].x+a.offset,c[d].y-f,a.width,h.zeroPosition-c[d].y,h.className+" bar",i.svgElements,i.svg),1==h.options.drawPoints.enabled&&o.drawPoint(c[d].x+a.offset,c[d].y,h,i.svgElements,i.svg)}},s._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._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.getStackedBarYRange=function(t,e,i,o,n){if(t.length>0){t.sort(function(t,e){return t.x==e.x?t.groupId-e.groupId:t.x-e.x});var r={};s._getDataIntersections(r,t),e[o]=s._getStackedBarYRange(r,t),e[o].yAxisOrientation=n,i.push(o)}},s._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=ot[s].y?t[s].y:e,i=is;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,m=e+(s-r/2),f=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,m),this.bezierCurveTo(l,m+d,p+h,f,p,f),this.bezierCurveTo(p-h,f,t,m+d,t,m),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){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,e){var i,s,o;!function(n,r){s=[],i=r,o="function"==typeof i?i.apply(e,s):i,!(void 0!==o&&(t.exports=o))}(this,function(){function t(t){var e,i=t&&t.preventDefault||!1,s=t&&t.container||window,o={},n={keydown:{},keyup:{}},r={};for(e=97;122>=e;e++)r[String.fromCharCode(e)]={code:65+(e-97),shift:!1};for(e=65;90>=e;e++)r[String.fromCharCode(e)]={code:e,shift:!0};for(e=0;9>=e;e++)r[""+e]={code:48+e,shift:!1};for(e=1;12>=e;e++)r["F"+e]={code:111+e,shift:!1};for(e=0;9>=e;e++)r["num"+e]={code:96+e,shift:!1};r["num*"]={code:106,shift:!1},r["num+"]={code:107,shift:!1},r["num-"]={code:109,shift:!1},r["num/"]={code:111,shift:!1},r["num."]={code:110,shift:!1},r.left={code:37,shift:!1},r.up={code:38,shift:!1},r.right={code:39,shift:!1},r.down={code:40,shift:!1},r.space={code:32,shift:!1},r.enter={code:13,shift:!1},r.shift={code:16,shift:void 0},r.esc={code:27,shift:!1},r.backspace={code:8,shift:!1},r.tab={code:9,shift:!1},r.ctrl={code:17,shift:!1},r.alt={code:18,shift:!1},r["delete"]={code:46,shift:!1},r.pageup={code:33,shift:!1},r.pagedown={code:34,shift:!1},r["="]={code:187,shift:!1},r["-"]={code:189,shift:!1},r["]"]={code:221,shift:!1},r["["]={code:219,shift:!1};var a=function(t){d(t,"keydown")},h=function(t){d(t,"keyup")},d=function(t,e){if(void 0!==n[e][t.keyCode]){for(var s=n[e][t.keyCode],o=0;oe-n?(i=t.clone().add(o-1,"months"),s=(e-n)/(n-i)):(i=t.clone().add(o+1,"months"),s=(e-n)/(i-n)),-(o+s)}function f(t,e,i){var s;return null==i?e:null!=t.meridiemHour?t.meridiemHour(e,i):null!=t.isPM?(s=t.isPM(i),s&&12>e&&(e+=12),s||12!==e||(e=0),e):e}function g(){}function v(t,e){e!==!1&&R(t),_(this,t),this._d=new Date(+t._d),Si===!1&&(Si=!0,Ce.updateOffset(this),Si=!1)}function y(t){var e=N(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=Ce.localeData(),this._bubble()}function b(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 _(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),Ye.length>0)for(i in Ye)s=Ye[i],o=e[s],"undefined"!=typeof o&&(t[s]=o);return t}function x(t){return 0>t?Math.ceil(t):Math.floor(t)}function w(t,e,i){for(var s=""+Math.abs(t),o=t>=0;s.lengths;s++)(i&&t[s]!==e[s]||!i&&L(t[s])!==L(e[s]))&&r++;return r+n}function k(t){if(t){var e=t.toLowerCase().replace(/(.)s$/,"$1");t=gi[t]||vi[e]||e}return t}function N(t){var e,i,s={};for(i in t)a(t,i)&&(e=k(i),e&&(s[e]=t[i]));return s}function I(t){var e,i;if(0===t.indexOf("week"))e=7,i="day";else{if(0!==t.indexOf("month"))return;e=12,i="month"}Ce[t]=function(s,o){var r,a,h=Ce._locale[t],d=[];if("number"==typeof s&&(o=s,s=n),a=function(t){var e=Ce().utc().set(i,t);return h.call(Ce._locale,e,s||"")},null!=o)return a(o);for(r=0;e>r;r++)d.push(a(r));return d}}function L(t){var e=+t,i=0;return 0!==e&&isFinite(e)&&(i=e>=0?Math.floor(e):Math.ceil(e)),i}function z(t,e){return new Date(Date.UTC(t,e+1,0)).getUTCDate()}function A(t,e,i){return me(Ce([t,11,31+e-i]),e,i).week}function P(t){return F(t)?366:365}function F(t){return t%4===0&&t%100!==0||t%400===0}function R(t){var e;t._a&&-2===t._pf.overflow&&(e=t._a[ze]<0||t._a[ze]>11?ze:t._a[Ae]<1||t._a[Ae]>z(t._a[Le],t._a[ze])?Ae:t._a[Pe]<0||t._a[Pe]>24||24===t._a[Pe]&&(0!==t._a[Fe]||0!==t._a[Re]||0!==t._a[He])?Pe:t._a[Fe]<0||t._a[Fe]>59?Fe:t._a[Re]<0||t._a[Re]>59?Re:t._a[He]<0||t._a[He]>999?He:-1,t._pf._overflowDayOfYear&&(Le>e||e>Ae)&&(e=Ae),t._pf.overflow=e)}function H(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._pf.bigHour===n)),t._isValid}function B(t){return t?t.toLowerCase().replace("_","-"):t}function Y(t){for(var e,i,s,o,n=0;n0;){if(s=W(o.slice(0,e).join("-")))return s;if(i&&i.length>=e&&E(o,i,!0)>=e-1)break;e--}n++}return null}function W(t){var e=null;if(!Be[t]&&We)try{e=Ce.locale(),!function(){var t=new Error('Cannot find module "./locale"');throw t.code="MODULE_NOT_FOUND",t}(),Ce.locale(e)}catch(i){}return Be[t]}function G(t,e){var i,s;return e._isUTC?(i=e.clone(),s=(Ce.isMoment(t)||O(t)?+t:+Ce(t))-+i,i._d.setTime(+i._d+s),Ce.updateOffset(i,!1),i):Ce(t).local()}function j(t){return t.match(/\[[\s\S]/)?t.replace(/^\[|\]$/g,""):t.replace(/\\/g,"")}function V(t){var e,i,s=t.match(Ue);for(e=0,i=s.length;i>e;e++)s[e]=wi[s[e]]?wi[s[e]]:j(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 U(t,e){return t.isValid()?(e=X(e,t.localeData()),yi[e]||(yi[e]=V(e)),yi[e](t)):t.localeData().invalidDate()}function X(t,e){function i(t){return e.longDateFormat(t)||t}var s=5;for(Xe.lastIndex=0;s>=0&&Xe.test(t);)t=t.replace(Xe,i),Xe.lastIndex=0,s-=1;return t}function q(t,e){var i,s=e._strict;switch(t){case"Q":return oi;case"DDDD":return ri;case"YYYY":case"GGGG":case"gggg":return s?ai:Qe;case"Y":case"G":case"g":return di;case"YYYYYY":case"YYYYY":case"GGGGG":case"ggggg":return s?hi:Ke;case"S":if(s)return oi;case"SS":if(s)return ni;case"SSS":if(s)return ri;case"DDD":return Ze;case"MMM":case"MMMM":case"dd":case"ddd":case"dddd":return Je;case"a":case"A":return e._locale._meridiemParse;case"x":return ii;case"X":return si;case"Z":case"ZZ":return ti;case"T":return ei;case"SSSS":return $e;case"MM":case"DD":case"YY":case"GG":case"gg":case"HH":case"hh":case"mm":case"ss":case"ww":case"WW":return s?ni:qe;case"M":case"D":case"d":case"H":case"h":case"m":case"s":case"w":case"W":case"e":case"E":return qe;case"Do":return s?e._locale._ordinalParse:e._locale._ordinalParseLenient;default:return i=new RegExp(se(ie(t.replace("\\","")),"i"))}}function Z(t){t=t||"";var e=t.match(ti)||[],i=e[e.length-1]||[],s=(i+"").match(mi)||["-",0,0],o=+(60*s[1])+L(s[2]);return"+"===s[0]?o:-o}function Q(t,e,i){var s,o=i._a;switch(t){case"Q":null!=e&&(o[ze]=3*(L(e)-1));break;case"M":case"MM":null!=e&&(o[ze]=L(e)-1);break;case"MMM":case"MMMM":s=i._locale.monthsParse(e,t,i._strict),null!=s?o[ze]=s:i._pf.invalidMonth=e;break;case"D":case"DD":null!=e&&(o[Ae]=L(e));break;case"Do":null!=e&&(o[Ae]=L(parseInt(e.match(/\d{1,2}/)[0],10)));break;case"DDD":case"DDDD":null!=e&&(i._dayOfYear=L(e));break;case"YY":o[Le]=Ce.parseTwoDigitYear(e);break;case"YYYY":case"YYYYY":case"YYYYYY":o[Le]=L(e);break;case"a":case"A":i._meridiem=e;break;case"h":case"hh":i._pf.bigHour=!0;case"H":case"HH":o[Pe]=L(e);break;case"m":case"mm":o[Fe]=L(e);break;case"s":case"ss":o[Re]=L(e);break;case"S":case"SS":case"SSS":case"SSSS":o[He]=L(1e3*("0."+e));break;case"x":i._d=new Date(L(e));break;case"X":i._d=new Date(1e3*parseFloat(e));break;case"Z":case"ZZ":i._useUTC=!0,i._tzm=Z(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]=L(e));break;case"gg":case"GG":i._w=i._w||{},i._w[t]=Ce.parseTwoDigitYear(e)}}function K(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[Le],me(Ce(),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[Le],me(Ce(),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=fe(i,s,o,a,n),t._a[Le]=h.year,t._dayOfYear=h.dayOfYear}function $(t){var e,i,s,o,n=[];if(!t._d){for(s=te(t),t._w&&null==t._a[Ae]&&null==t._a[ze]&&K(t),t._dayOfYear&&(o=r(t._a[Le],s[Le]),t._dayOfYear>P(o)&&(t._pf._overflowDayOfYear=!0),i=le(o,0,t._dayOfYear),t._a[ze]=i.getUTCMonth(),t._a[Ae]=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];24===t._a[Pe]&&0===t._a[Fe]&&0===t._a[Re]&&0===t._a[He]&&(t._nextDay=!0,t._a[Pe]=0),t._d=(t._useUTC?le:de).apply(null,n),null!=t._tzm&&t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),t._nextDay&&(t._a[Pe]=24)}}function J(t){var e;t._d||(e=N(t._i),t._a=[e.year,e.month,e.day||e.date,e.hour,e.minute,e.second,e.millisecond],$(t))}function te(t){var e=new Date;return t._useUTC?[e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()]:[e.getFullYear(),e.getMonth(),e.getDate()]}function ee(t){if(t._f===Ce.ISO_8601)return void ne(t);t._a=[],t._pf.empty=!0;var e,i,s,o,r,a=""+t._i,h=a.length,d=0;for(s=X(t._f,t._locale).match(Ue)||[],e=0;e0&&t._pf.unusedInput.push(r),a=a.slice(a.indexOf(i)+i.length),d+=i.length),wi[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=h-d,a.length>0&&t._pf.unusedInput.push(a),t._pf.bigHour===!0&&t._a[Pe]<=12&&(t._pf.bigHour=n),t._a[Pe]=f(t._locale,t._a[Pe],t._meridiem),$(t),R(t)}function ie(t){return t.replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(t,e,i,s,o){return e||i||s||o})}function se(t){return t.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function oe(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));b(t,i||e)}function ne(t){var e,i,s=t._i,o=li.exec(s);if(o){for(t._pf.iso=!0,e=0,i=pi.length;i>e;e++)if(pi[e][1].exec(s)){t._f=pi[e][0]+(o[6]||" ");break}for(e=0,i=ui.length;i>e;e++)if(ui[e][1].exec(s)){t._f+=ui[e][0];break}s.match(ti)&&(t._f+="Z"),ee(t)}else t._isValid=!1}function re(t){ne(t),t._isValid===!1&&(delete t._isValid,Ce.createFromInputFallback(t))}function ae(t,e){var i,s=[];for(i=0;it&&a.setFullYear(t),a}function le(t){var e=new Date(Date.UTC.apply(null,arguments));return 1970>t&&e.setUTCFullYear(t),e}function ce(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 pe(t,e,i,s,o){return o.relativeTime(e||1,!!i,t,s)}function ue(t,e,i){var s=Ce.duration(t).abs(),o=Ne(s.as("s")),n=Ne(s.as("m")),r=Ne(s.as("h")),a=Ne(s.as("d")),h=Ne(s.as("M")),d=Ne(s.as("y")),l=o0,l[4]=i,pe.apply({},l)}function me(t,e,i){var s,o=i-e,n=i-t.day();return n>o&&(n-=7),o-7>n&&(n+=7),s=Ce(t).add(n,"d"),{week:Math.ceil(s.dayOfYear()/7),year:s.year()}}function fe(t,e,i,s,o){var n,r,a=le(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:P(t-1)+r}}function ge(t){var e,i=t._i,s=t._f;return t._locale=t._locale||Ce.localeData(t._l),null===i||s===n&&""===i?Ce.invalid({nullInput:!0}):("string"==typeof i&&(t._i=i=t._locale.preparse(i)),Ce.isMoment(i)?new v(i,!0):(s?T(s)?oe(t):ee(t):he(t),e=new v(t),e._nextDay&&(e.add(1,"d"),e._nextDay=n),e))}function ve(t,e){var i,s;if(1===e.length&&T(e[0])&&(e=e[0]),!e.length)return Ce();for(i=e[0],s=1;s=0?"+":"-";return e+w(Math.abs(t),6)},gg:function(){return w(this.weekYear()%100,2)},gggg:function(){return w(this.weekYear(),4)},ggggg:function(){return w(this.weekYear(),5)},GG:function(){return w(this.isoWeekYear()%100,2)},GGGG:function(){return w(this.isoWeekYear(),4)},GGGGG:function(){return w(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 L(this.milliseconds()/100)},SS:function(){return w(L(this.milliseconds()/10),2)},SSS:function(){return w(this.milliseconds(),3)},SSSS:function(){return w(this.milliseconds(),3)},Z:function(){var t=this.utcOffset(),e="+";return 0>t&&(t=-t,e="-"),e+w(L(t/60),2)+":"+w(L(t)%60,2)},ZZ:function(){var t=this.utcOffset(),e="+";return 0>t&&(t=-t,e="-"),e+w(L(t/60),2)+w(L(t)%60,2)},z:function(){return this.zoneAbbr()},zz:function(){return this.zoneName()},x:function(){return this.valueOf()},X:function(){return this.unix()},Q:function(){return this.quarter()}},Di={},Mi=["months","monthsShort","weekdays","weekdaysShort","weekdaysMin"],Si=!1;_i.length;)Oe=_i.pop(),wi[Oe+"o"]=u(wi[Oe],Oe);for(;xi.length;)Oe=xi.pop(),wi[Oe+Oe]=p(wi[Oe],2);wi.DDDD=p(wi.DDD,3),b(g.prototype,{set:function(t){var e,i;for(i in t)e=t[i],"function"==typeof e?this[i]=e:this["_"+i]=e;this._ordinalParseLenient=new RegExp(this._ordinalParse.source+"|"+/\d{1,2}/.source)},_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,e,i){var s,o,n;for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),s=0;12>s;s++){if(o=Ce.utc([2e3,s]),i&&!this._longMonthsParse[s]&&(this._longMonthsParse[s]=new RegExp("^"+this.months(o,"").replace(".","")+"$","i"),this._shortMonthsParse[s]=new RegExp("^"+this.monthsShort(o,"").replace(".","")+"$","i")),i||this._monthsParse[s]||(n="^"+this.months(o,"")+"|^"+this.monthsShort(o,""),this._monthsParse[s]=new RegExp(n.replace(".",""),"i")),i&&"MMMM"===e&&this._longMonthsParse[s].test(t))return s;if(i&&"MMM"===e&&this._shortMonthsParse[s].test(t))return s;if(!i&&this._monthsParse[s].test(t))return s}},_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=Ce([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:{LTS:"h:mm:ss A",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,i){var s=this._calendar[t];return"function"==typeof s?s.apply(e,[i]):s},_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",_ordinalParse:/\d{1,2}/,preparse:function(t){return t},postformat:function(t){return t},week:function(t){return me(t,this._week.dow,this._week.doy).week},_week:{dow:0,doy:6},firstDayOfWeek:function(){return this._week.dow},firstDayOfYear:function(){return this._week.doy},_invalidDate:"Invalid date",invalidDate:function(){return this._invalidDate}}),Ce=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(),ge(o)},Ce.suppressDeprecationWarnings=!1,Ce.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+(t._useUTC?" UTC":""))}),Ce.min=function(){var t=[].slice.call(arguments,0);return ve("isBefore",t)},Ce.max=function(){var t=[].slice.call(arguments,0);return ve("isAfter",t)},Ce.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(),ge(o).utc()},Ce.unix=function(t){return Ce(1e3*t)},Ce.duration=function(t,e){var i,s,o,n,r=t,h=null;return Ce.isDuration(t)?r={ms:t._milliseconds,d:t._days,M:t._months}:"number"==typeof t?(r={},e?r[e]=t:r.milliseconds=t):(h=je.exec(t))?(i="-"===h[1]?-1:1,r={y:0,d:L(h[Ae])*i,h:L(h[Pe])*i,m:L(h[Fe])*i,s:L(h[Re])*i,ms:L(h[He])*i}):(h=Ve.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])}):null==r?r={}:"object"==typeof r&&("from"in r||"to"in r)&&(n=M(Ce(r.from),Ce(r.to)),r={},r.ms=n.milliseconds,r.M=n.months),s=new y(r),Ce.isDuration(t)&&a(t,"_locale")&&(s._locale=t._locale),s},Ce.version=Ee,Ce.defaultFormat=ci,Ce.ISO_8601=function(){},Ce.momentProperties=Ye,Ce.updateOffset=function(){},Ce.relativeTimeThreshold=function(t,e){return bi[t]===n?!1:e===n?bi[t]:(bi[t]=e,!0)},Ce.lang=l("moment.lang is deprecated. Use moment.locale instead.",function(t,e){return Ce.locale(t,e)}),Ce.locale=function(t,e){var i;return t&&(i="undefined"!=typeof e?Ce.defineLocale(t,e):Ce.localeData(t),i&&(Ce.duration._locale=Ce._locale=i)),Ce._locale._abbr},Ce.defineLocale=function(t,e){return null!==e?(e.abbr=t,Be[t]||(Be[t]=new g),Be[t].set(e),Ce.locale(t),Be[t]):(delete Be[t],null)},Ce.langData=l("moment.langData is deprecated. Use moment.localeData instead.",function(t){return Ce.localeData(t)}),Ce.localeData=function(t){var e;if(t&&t._locale&&t._locale._abbr&&(t=t._locale._abbr),!t)return Ce._locale;if(!T(t)){if(e=W(t))return e;t=[t]}return Y(t)},Ce.isMoment=function(t){return t instanceof v||null!=t&&a(t,"_isAMomentObject")},Ce.isDuration=function(t){return t instanceof y};for(Oe=Mi.length-1;Oe>=0;--Oe)I(Mi[Oe]);Ce.normalizeUnits=function(t){return k(t)},Ce.invalid=function(t){var e=Ce.utc(0/0);return null!=t?b(e._pf,t):e._pf.userInvalidated=!0,e},Ce.parseZone=function(){return Ce.apply(null,arguments).parseZone()},Ce.parseTwoDigitYear=function(t){return L(t)+(L(t)>68?1900:2e3)},Ce.isDate=O,b(Ce.fn=v.prototype,{clone:function(){return Ce(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=Ce(this).utc();return 00:!1},parsingFlags:function(){return b({},this._pf)},invalidAt:function(){return this._pf.overflow},utc:function(t){return this.utcOffset(0,t)},local:function(t){return this._isUTC&&(this.utcOffset(0,t),this._isUTC=!1,t&&this.subtract(this._dateUtcOffset(),"m")),this},format:function(t){var e=U(this,t||Ce.defaultFormat);return this.localeData().postformat(e)},add:S(1,"add"),subtract:S(-1,"subtract"),diff:function(t,e,i){var s,o,n=G(t,this),r=6e4*(n.utcOffset()-this.utcOffset());return e=k(e),"year"===e||"month"===e||"quarter"===e?(o=m(this,n),"quarter"===e?o/=3:"year"===e&&(o/=12)):(s=this-n,o="second"===e?s/1e3:"minute"===e?s/6e4:"hour"===e?s/36e5:"day"===e?(s-r)/864e5:"week"===e?(s-r)/6048e5:s),i?o:x(o)},from:function(t,e){return Ce.duration({to:this,from:t}).locale(this.locale()).humanize(!e)},fromNow:function(t){return this.from(Ce(),t)},calendar:function(t){var e=t||Ce(),i=G(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,Ce(e)))},isLeapYear:function(){return F(this.year())},isDST:function(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()},day:function(t){var e=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=t?(t=ce(t,this.localeData()),this.add(t-e,"d")):e},month:xe("Month",!0),startOf:function(t){switch(t=k(t)){case"year":this.month(0);case"quarter":case"month":this.date(1);case"week":case"isoWeek":case"day":this.hours(0);case"hour":this.minutes(0);case"minute":this.seconds(0);case"second":this.milliseconds(0)}return"week"===t?this.weekday(0):"isoWeek"===t&&this.isoWeekday(1),"quarter"===t&&this.month(3*Math.floor(this.month()/3)),this},endOf:function(t){return t=k(t),t===n||"millisecond"===t?this:this.startOf(t).add(1,"isoWeek"===t?"week":t).subtract(1,"ms")},isAfter:function(t,e){var i;return e=k("undefined"!=typeof e?e:"millisecond"),"millisecond"===e?(t=Ce.isMoment(t)?t:Ce(t),+this>+t):(i=Ce.isMoment(t)?+t:+Ce(t),i<+this.clone().startOf(e))},isBefore:function(t,e){var i;return e=k("undefined"!=typeof e?e:"millisecond"),"millisecond"===e?(t=Ce.isMoment(t)?t:Ce(t),+t>+this):(i=Ce.isMoment(t)?+t:+Ce(t),+this.clone().endOf(e)t?this:t}),max:l("moment().max is deprecated, use moment.max instead. https://github.com/moment/moment/issues/1548",function(t){return t=Ce.apply(null,arguments),t>this?this:t}),zone:l("moment().zone is deprecated, use moment().utcOffset instead. https://github.com/moment/moment/issues/1779",function(t,e){return null!=t?("string"!=typeof t&&(t=-t),this.utcOffset(t,e),this):-this.utcOffset()}),utcOffset:function(t,e){var i,s=this._offset||0;return null!=t?("string"==typeof t&&(t=Z(t)),Math.abs(t)<16&&(t=60*t),!this._isUTC&&e&&(i=this._dateUtcOffset()),this._offset=t,this._isUTC=!0,null!=i&&this.add(i,"m"),s!==t&&(!e||this._changeInProgress?C(this,Ce.duration(t-s,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,Ce.updateOffset(this,!0),this._changeInProgress=null)),this):this._isUTC?s:this._dateUtcOffset()},isLocal:function(){return!this._isUTC},isUtcOffset:function(){return this._isUTC},isUtc:function(){return this._isUTC&&0===this._offset},zoneAbbr:function(){return this._isUTC?"UTC":""},zoneName:function(){return this._isUTC?"Coordinated Universal Time":""},parseZone:function(){return this._tzm?this.utcOffset(this._tzm):"string"==typeof this._i&&this.utcOffset(Z(this._i)),this},hasAlignedHourOffset:function(t){return t=t?Ce(t).utcOffset():0,(this.utcOffset()-t)%60===0},daysInMonth:function(){return z(this.year(),this.month())},dayOfYear:function(t){var e=Ne((Ce(this).startOf("day")-Ce(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=me(this,this.localeData()._week.dow,this.localeData()._week.doy).year;return null==t?e:this.add(t-e,"y")},isoWeekYear:function(t){var e=me(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=me(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 A(this.year(),1,4)},weeksInYear:function(){var t=this.localeData()._week;return A(this.year(),t.dow,t.doy)},get:function(t){return t=k(t),this[t]()},set:function(t,e){var i;if("object"==typeof t)for(i in t)this.set(i,t[i]);else t=k(t),"function"==typeof this[t]&&this[t](e);return this},locale:function(t){var e;return t===n?this._locale._abbr:(e=Ce.localeData(t),null!=e&&(this._locale=e),this)},lang:l("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(t){return t===n?this.localeData():this.locale(t)}),localeData:function(){return this._locale},_dateUtcOffset:function(){return 15*-Math.round(this._d.getTimezoneOffset()/15)}}),Ce.fn.millisecond=Ce.fn.milliseconds=xe("Milliseconds",!1),Ce.fn.second=Ce.fn.seconds=xe("Seconds",!1),Ce.fn.minute=Ce.fn.minutes=xe("Minutes",!1),Ce.fn.hour=Ce.fn.hours=xe("Hours",!0),Ce.fn.date=xe("Date",!0),Ce.fn.dates=l("dates accessor is deprecated. Use date instead.",xe("Date",!0)),Ce.fn.year=xe("FullYear",!0),Ce.fn.years=l("years accessor is deprecated. Use year instead.",xe("FullYear",!0)),Ce.fn.days=Ce.fn.day,Ce.fn.months=Ce.fn.month,Ce.fn.weeks=Ce.fn.week,Ce.fn.isoWeeks=Ce.fn.isoWeek,Ce.fn.quarters=Ce.fn.quarter,Ce.fn.toJSON=Ce.fn.toISOString,Ce.fn.isUTC=Ce.fn.isUtc,b(Ce.duration.fn=y.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=x(s/1e3),r.seconds=t%60,e=x(t/60),r.minutes=e%60,i=x(e/60),r.hours=i%24,o+=x(i/24),a=x(we(o)),o-=x(De(a)),n+=x(o/30),o%=30,a+=x(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 x(this.days()/7)},valueOf:function(){return this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*L(this._months/12)},humanize:function(t){var e=ue(this,!t,this.localeData());return t&&(e=this.localeData().pastFuture(+this,e)),this.localeData().postformat(e)},add:function(t,e){var i=Ce.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=Ce.duration(t,e);return this._milliseconds-=i._milliseconds,this._days-=i._days,this._months-=i._months,this._bubble(),this},get:function(t){return t=k(t),this[t.toLowerCase()+"s"]()},as:function(t){var e,i;if(t=k(t),"month"===t||"year"===t)return e=this._days+this._milliseconds/864e5,i=this._months+12*we(e),"month"===t?i:i/12;switch(e=this._days+Math.round(De(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:Ce.fn.lang,locale:Ce.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},toJSON:function(){return this.toISOString()}}),Ce.duration.fn.toString=Ce.duration.fn.toISOString;for(Oe in fi)a(fi,Oe)&&Me(Oe.toLowerCase());Ce.duration.fn.asMilliseconds=function(){return this.as("ms")},Ce.duration.fn.asSeconds=function(){return this.as("s")},Ce.duration.fn.asMinutes=function(){return this.as("m")},Ce.duration.fn.asHours=function(){return this.as("h")},Ce.duration.fn.asDays=function(){return this.as("d")},Ce.duration.fn.asWeeks=function(){return this.as("weeks")},Ce.duration.fn.asMonths=function(){return this.as("M")},Ce.duration.fn.asYears=function(){return this.as("y")},Ce.locale("en",{ordinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(t){var e=t%10,i=1===L(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th";return t+i}}),We?o.exports=Ce:(s=function(t,e,i){return i.config&&i.config()&&i.config().noGlobal===!0&&(ke.moment=Te),Ce}.call(e,i,e,o),!(s!==n&&(o.exports=s)),Se(!0))}).call(this)}).call(e,function(){return this}(),i(71)(t))},function(t,e,i){var s;!function(o,n){function r(){a.READY||(w.determineEventTypes(),x.each(a.gestures,function(t){M.register(t)}),w.onTouch(a.DOCUMENT,v,M.detect),w.onTouch(a.DOCUMENT,y,M.detect),a.READY=!0)}var a=function S(t,e){return new S.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",m=a.POINTER_TOUCH="touch",f=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(M,d),a&&(d.changedLength=h,d.eventType=a,s.call(M,d),d.eventType=r,delete d.changedLength),r==y&&(s.call(M,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 D.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=m;return x.inStr(s.type,"mouse")||D.matchType(u,s)?o=u:D.matchType(f,s)&&(o=f),{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 M.stopDetect()}}}},D=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[m]=i===(e.MSPOINTER_TYPE_TOUCH||m),s[f]=i===(e.MSPOINTER_TYPE_PEN||f),s[t]},reset:function(){this.pointers={}}},M=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?M.startDetect(i,t):t.eventType==_&&M.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=M.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=M.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=M.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=M.current,h=M.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,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 d;d=document.getElementById("graph_BH_gc"),d.onchange=a.bind(this,"graph_BH_gc",-1,"physics_barnesHut_gravitationalConstant"),d=document.getElementById("graph_BH_cg"),d.onchange=a.bind(this,"graph_BH_cg",1,"physics_centralGravity"),d=document.getElementById("graph_BH_sc"),d.onchange=a.bind(this,"graph_BH_sc",1,"physics_springConstant"),d=document.getElementById("graph_BH_sl"),d.onchange=a.bind(this,"graph_BH_sl",1,"physics_springLength"),d=document.getElementById("graph_BH_damp"),d.onchange=a.bind(this,"graph_BH_damp",1,"physics_damping"),d=document.getElementById("graph_R_nd"),d.onchange=a.bind(this,"graph_R_nd",1,"physics_repulsion_nodeDistance"),d=document.getElementById("graph_R_cg"),d.onchange=a.bind(this,"graph_R_cg",1,"physics_centralGravity"),d=document.getElementById("graph_R_sc"),d.onchange=a.bind(this,"graph_R_sc",1,"physics_springConstant"),d=document.getElementById("graph_R_sl"),d.onchange=a.bind(this,"graph_R_sl",1,"physics_springLength"),d=document.getElementById("graph_R_damp"),d.onchange=a.bind(this,"graph_R_damp",1,"physics_damping"),d=document.getElementById("graph_H_nd"),d.onchange=a.bind(this,"graph_H_nd",1,"physics_hierarchicalRepulsion_nodeDistance"),d=document.getElementById("graph_H_cg"),d.onchange=a.bind(this,"graph_H_cg",1,"physics_centralGravity"),d=document.getElementById("graph_H_sc"),d.onchange=a.bind(this,"graph_H_sc",1,"physics_springConstant"),d=document.getElementById("graph_H_sl"),d.onchange=a.bind(this,"graph_H_sl",1,"physics_springLength"),d=document.getElementById("graph_H_damp"),d.onchange=a.bind(this,"graph_H_damp",1,"physics_damping"),d=document.getElementById("graph_H_direction"),d.onchange=a.bind(this,"graph_H_direction",i,"hierarchicalLayout_direction"),d=document.getElementById("graph_H_levsep"),d.onchange=a.bind(this,"graph_H_levsep",1,"hierarchicalLayout_levelSeparation"),d=document.getElementById("graph_H_nspac"),d.onchange=a.bind(this,"graph_H_nspac",1,"hierarchicalLayout_nodeSpacing");var l=document.getElementById("graph_physicsMethod1"),c=document.getElementById("graph_physicsMethod2"),p=document.getElementById("graph_physicsMethod3");c.checked=!0,this.constants.physics.barnesHut.enabled&&(l.checked=!0),this.constants.hierarchicalLayout.enabled&&(p.checked=!0);var u=document.getElementById("graph_toggleSmooth"),m=document.getElementById("graph_repositionNodes"),f=document.getElementById("graph_generateOptions");u.onclick=s.bind(this),m.onclick=o.bind(this),f.onclick=n.bind(this),u.style.background=1==this.constants.smoothCurves&&0==this.constants.dynamicSmoothCurves?"#A4FF56":"#FF8532",r.apply(this),l.onchange=r.bind(this),c.onchange=r.bind(this),p.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,e){e.startWithClustering=function(){this.clusterToFit(this.constants.clustering.initialMaxNodes,!0),this.updateLabels(),1==this.constants.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(),this.forceAggregateHubs(!0),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._updateCalculationNodes(),this.updateLabels();this.moving!=e&&this.start()},e.updateClustersDefault=function(){1==this.constants.clustering.enabled&&1==this.constants.clustering.clusterByZoom&&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,r=this.previousScalethis.scale&&0==t;1==a&&this._collapseSector(),1==a||-1==t?this._formClusters(i):(1==r||1==t)&&(1==i?this._openClusters(e,i):this._openClusters(e,!1)),this._updateNodeIndexList(),this.nodeIndices.length!=n||1!=a&&-1!=t||(this._aggregateHubs(i),this._updateNodeIndexList()),(1==a||-1==t)&&(this.handleChains(),this._updateNodeIndexList()),this.previousScale=this.scale,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.updateLabels(),this._updateCalculationNodes(),this.nodeIndices.length!=i&&(this.clusterSession+=1),(0==t||void 0===t)&&this.moving!=e&&this.start()},e._openClustersBySize=function(){if(1==this.constants.clustering.clusterByZoom)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&&(void 0===s&&(s=!1),e=s||e,t.formationScalei)){var r=n.from,a=n.to;n.to.options.mass>n.from.options.mass&&(r=n.to,a=n.from),1==a.dynamicEdges.length?this._addToCluster(r,a,!1):1==r.dynamicEdges.length&&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.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.dynamicEdges.length>=this.hubThreshold&&0==i||t.dynamicEdges.length==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){var u=[],m={};for(c=0;l>c;c++){p=this.edges[d[c]];var f=this.nodes[p.fromId==t.id?p.toId:p.fromId];void 0===m[f.id]&&(m[f.id]=!0,u.push(f))}for(c=0;c1&&(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.dynamicEdges.length),t+=n.dynamicEdges.length,e+=Math.pow(n.dynamicEdges.length,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].dynamicEdges.length&&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].dynamicEdges.length&&(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),r=i(45);e._clearManipulatorBar=function(){this._recursiveDOMDelete(this.manipulationDiv),this.manipulationDOM={},this._cleanManipulatorHammers(),this._manipulationReleaseOverload=function(){},delete this.sectors.support.nodes.targetNode,delete this.sectors.support.nodes.targetViaNode,this.controlNodesActive=!1,this.freezeSimulation(!1)},e._cleanManipulatorHammers=function(){if(0!=this.manipulationHammers.length){for(var t=0;te;e++){var s=arguments[e];for(var o in s)s.hasOwnProperty(o)&&(t[o]=s[o])}return t},e.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},e.convert=function(t,i){var n;if(void 0===t)return void 0;if(null===t)return null;if(!i)return t;if("string"!=typeof i&&!(i instanceof String))throw new Error("Type must be a string");switch(i){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(e.isNumber(t))return new Date(t);if(t instanceof Date)return new Date(t.valueOf());if(s.isMoment(t))return new Date(t.valueOf());if(e.isString(t))return n=o.exec(t),n?new Date(Number(n[1])):s(t).toDate();throw new Error("Cannot convert object of type "+e.getType(t)+" to type Date");case"Moment":if(e.isNumber(t))return s(t);if(t instanceof Date)return s(t.valueOf());if(s.isMoment(t))return s(t);if(e.isString(t))return n=o.exec(t),s(n?Number(n[1]):t);throw new Error("Cannot convert object of type "+e.getType(t)+" to type Date");case"ISODate":if(e.isNumber(t))return new Date(t);if(t instanceof Date)return t.toISOString();if(s.isMoment(t))return t.toDate().toISOString();if(e.isString(t))return n=o.exec(t),n?new Date(Number(n[1])).toISOString():new Date(t).toISOString();throw new Error("Cannot convert object of type "+e.getType(t)+" to type ISODate");case"ASPDate":if(e.isNumber(t))return"/Date("+t+")/";if(t instanceof Date)return"/Date("+t.valueOf()+")/";if(e.isString(t)){n=o.exec(t);var r;return r=n?new Date(Number(n[1])).valueOf():new Date(t).valueOf(),"/Date("+r+")/"}throw new Error("Cannot convert object of type "+e.getType(t)+" to type ASPDate");default:throw new Error('Unknown type "'+i+'"')}};var o=/^\/?Date\((\-?\d+)/i;e.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},e.getAbsoluteLeft=function(t){return t.getBoundingClientRect().left+window.pageXOffset},e.getAbsoluteTop=function(t){return t.getBoundingClientRect().top+window.pageYOffset},e.addClassName=function(t,e){var i=t.className.split(" ");-1==i.indexOf(e)&&(i.push(e),t.className=i.join(" "))},e.removeClassName=function(t,e){var i=t.className.split(" "),s=i.indexOf(e);-1!=s&&(i.splice(s,1),t.className=i.join(" "))},e.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)},e.toArray=function(t){var e=[];for(var i in t)t.hasOwnProperty(i)&&e.push(t[i]);return e},e.updateProperty=function(t,e,i){return t[e]!==i?(t[e]=i,!0):!1},e.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)},e.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)},e.preventDefault=function(t){t||(t=window.event),t.preventDefault?t.preventDefault():t.returnValue=!1},e.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},e.hasParent=function(t,e){for(var i=t;i;){if(i===e)return!0;i=i.parentNode}return!1},e.option={},e.option.asBoolean=function(t,e){return"function"==typeof t&&(t=t()),null!=t?0!=t:e||null},e.option.asNumber=function(t,e){return"function"==typeof t&&(t=t()),null!=t?Number(t)||e||null:e||null},e.option.asString=function(t,e){return"function"==typeof t&&(t=t()),null!=t?String(t):e||null},e.option.asSize=function(t,i){return"function"==typeof t&&(t=t()),e.isString(t)?t:e.isNumber(t)?t+"px":i||null},e.option.asElement=function(t,e){return"function"==typeof t&&(t=t()),t||e||null},e.hexToRGB=function(t){var e=/^#?([a-f\d])([a-f\d])([a-f\d])$/i;t=t.replace(e,function(t,e,i,s){return e+e+i+i+s+s});var i=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);return i?{r:parseInt(i[1],16),g:parseInt(i[2],16),b:parseInt(i[3],16)}:null},e.overrideOpacity=function(t,i){if(-1!=t.indexOf("rgb")){var s=t.substr(t.indexOf("(")+1).replace(")","").split(",");return"rgba("+s[0]+","+s[1]+","+s[2]+","+i+")"}var s=e.hexToRGB(t);return null==s?t:"rgba("+s.r+","+s.g+","+s.b+","+i+")"},e.RGBToHex=function(t,e,i){return"#"+((1<<24)+(t<<16)+(e<<8)+i).toString(16).slice(1)},e.parseColor=function(t){var i;if(e.isString(t)){if(e.isValidRGB(t)){var s=t.substr(4).substr(0,t.length-5).split(",");t=e.RGBToHex(s[0],s[1],s[2])}if(e.isValidHex(t)){var o=e.hexToHSV(t),n={h:o.h,s:.45*o.s,v:Math.min(1,1.05*o.v)},r={h:o.h,s:Math.min(1,1.25*o.v),v:.6*o.v},a=e.HSVToHex(r.h,r.h,r.v),h=e.HSVToHex(n.h,n.s,n.v);i={background:t,border:a,highlight:{background:h,border:a},hover:{background:h,border:a}}}else i={background:t,border:t,highlight:{background:t,border:t},hover:{background:t,border:t}}}else i={},i.background=t.background||"white",i.border=t.border||i.background,e.isString(t.highlight)?i.highlight={border:t.highlight,background:t.highlight}:(i.highlight={},i.highlight.background=t.highlight&&t.highlight.background||i.background,i.highlight.border=t.highlight&&t.highlight.border||i.border),e.isString(t.hover)?i.hover={border:t.hover,background:t.hover}:(i.hover={},i.hover.background=t.hover&&t.hover.background||i.background,i.hover.border=t.hover&&t.hover.border||i.border);return i},e.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 n={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("; ")}};e.addCssText=function(t,i){var s=n.split(t.style.cssText),o=n.split(i),r=e.extend(s,o);t.style.cssText=n.join(r)},e.removeCssText=function(t,e){var i=n.split(t.style.cssText),s=n.split(e);for(var o in s)s.hasOwnProperty(o)&&delete i[o];t.style.cssText=n.join(i)},e.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)}},e.HSVToHex=function(t,i,s){var o=e.HSVToRGB(t,i,s);return e.RGBToHex(o.r,o.g,o.b)},e.hexToHSV=function(t){var i=e.hexToRGB(t);return e.RGBToHSV(i.r,i.g,i.b)},e.isValidHex=function(t){var e=/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(t);return e},e.isValidRGB=function(t){t=t.replace(" ","");var e=/rgb\((\d{1,3}),(\d{1,3}),(\d{1,3})\)/i.test(t);return e},e.selectiveBridgeObject=function(t,i){if("object"==typeof i){for(var s=Object.create(i),o=0;o=r&&o>n;){var h=Math.floor((r+a)/2),d=t[h],l=void 0===s?d[i]:d[i][s],c=e(l);if(0==c)return h;-1==c?r=h+1:a=h-1,n++}return-1},e.binarySearchValue=function(t,e,i,s){for(var o,n,r,a,h=1e4,d=0,l=0,c=t.length-1;c>=l&&h>d;){if(a=Math.floor(.5*(c+l)),o=t[Math.max(0,a-1)][i],n=t[a][i],r=t[Math.min(t.length-1,a+1)][i],n==e)return a;if(e>o&&n>e)return"before"==s?Math.max(0,a-1):a;if(e>n&&r>e)return"before"==s?a:Math.min(t.length-1,a+1);e>n?l=a+1:c=a-1,d++}return-1},e.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)},e.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,r){var a;"circle"==s.options.drawPoints.style?(a=e.getSVGElement("circle",o,n),a.setAttributeNS(null,"cx",t),a.setAttributeNS(null,"cy",i),a.setAttributeNS(null,"r",.5*s.options.drawPoints.size)):(a=e.getSVGElement("rect",o,n),a.setAttributeNS(null,"x",t-.5*s.options.drawPoints.size),a.setAttributeNS(null,"y",i-.5*s.options.drawPoints.size),a.setAttributeNS(null,"width",s.options.drawPoints.size),a.setAttributeNS(null,"height",s.options.drawPoints.size)),void 0!==s.options.drawPoints.styles&&a.setAttributeNS(null,"style",s.group.options.drawPoints.styles),a.setAttributeNS(null,"class",s.className+" point");var h=e.getSVGElement("text",o,n);return r&&(r.xOffset&&(t+=r.xOffset),r.yOffset&&(i+=r.yOffset),r.content&&(h.textContent=r.content),r.className&&h.setAttributeNS(null,"class",r.className+" label")),h.setAttributeNS(null,"x",t),h.setAttributeNS(null,"y",i),a},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.length=0,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 m=h[p];c[m]=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 m={},f=0,g=c.length;g>f;f++){var v=c[f];m[v]=t.getValue(p,f)}h(m)}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,m=i&&i.filter,f=[];if(void 0!=t)d=n._getItem(t,u),m&&!m(d)&&(d=null);else if(void 0!=e)for(c=0,p=e.length;p>c;c++)d=n._getItem(e[c],u),(!m||m(d))&&f.push(d);else for(l in this._data)this._data.hasOwnProperty(l)&&(d=n._getItem(l,u),(!m||m(d))&&f.push(d));if(i&&i.order&&void 0==t&&this._sort(f,i.order),i&&i.fields){var g=i.fields;if(void 0!=t)d=this._filterFields(d,g);else for(c=0,p=f.length;p>c;c++)f[c]=this._filterFields(f[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(f[c]);return s}return f},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){if(!t)return t;var i={};if(Array.isArray(e))for(var s in t)t.hasOwnProperty(s)&&-1!=e.indexOf(s)&&(i[s]=t[s]);else for(var s in t)t.hasOwnProperty(s)&&e.hasOwnProperty(s)&&(i[e[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],this.length--,t}else if(t instanceof Object){var e=t[this._fieldId];if(e&&this._data[e])return delete this._data[e],this.length--,e}return null},s.prototype.clear=function(t){var e=Object.keys(this._data);return this._data={},this.length=0,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.length=0,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.length=0,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.length=e.length,this._trigger("add",{items:e}),this._data.on&&this._data.on("*",this.listener)}},s.prototype.refresh=function(){for(var t,e=this._data.getIds({filter:this._options&&this._options.filter}),i={},s=[],o=[],n=0;ns;s++)n=a[s],r=this.get(n),r&&(this._ids[n]=!0,l.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]?(c.push(n),d.push(e.data[s])):(this._ids[n]=!0,l.push(n)):this._ids[n]&&(delete this._ids[n],p.push(n));break;case"remove":for(s=0,o=a.length;o>s;s++)n=a[s],this._ids[n]&&(delete this._ids[n],p.push(n))}this.length+=l.length-p.length,l.length&&this._trigger("add",{items:l},i),c.length&&this._trigger("update",{items:c,data:d},i),p.length&&this._trigger("remove",{items:p},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 p,this.eye=new l(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)}function o(t){return"clientX"in t?t.clientX:t.targetTouches[0]&&t.targetTouches[0].clientX||0}function n(t){return"clientY"in t?t.clientY:t.targetTouches[0]&&t.targetTouches[0].clientY||0}var r=i(56),a=i(3),h=i(4),d=i(1),l=i(10),c=i(9),p=i(7),u=i(8),m=i(11),f=i(12);r(s.prototype),s.prototype._setScale=function(){this.scale=new l(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)/(u-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 f(this.valueMin,this.valueMax,(this.valueMax-this.valueMin)/5,!0);for(b.start(),b.getCurrent()0?this.yMin:this.yMax,o=this._convert3Dto2D(new l(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 f(this.yMin,this.yMax,this.yStep,s),i.start(),i.getCurrent()0?this.xMin:this.xMax,o=this._convert3Dto2D(new l(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 f(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 l(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 l(n,r,this.zMin)),e=this._convert3Dto2D(new l(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 l(this.xMin,this.yMin,this.zMin)),u=this._convert3Dto2D(new l(this.xMax,this.yMin,this.zMin)),g.strokeStyle=this.colorAxis,g.beginPath(),g.moveTo(p.x,p.y),g.lineTo(u.x,u.y),g.stroke(),p=this._convert3Dto2D(new l(this.xMin,this.yMax,this.zMin)),u=this._convert3Dto2D(new l(this.xMax,this.yMax,this.zMin)),g.strokeStyle=this.colorAxis,g.beginPath(),g.moveTo(p.x,p.y),g.lineTo(u.x,u.y),g.stroke(),g.lineWidth=1,t=this._convert3Dto2D(new l(this.xMin,this.yMin,this.zMin)),e=this._convert3Dto2D(new l(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 l(this.xMax,this.yMin,this.zMin)),e=this._convert3Dto2D(new l(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 l(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&&(d=.1/this.scale.x,n=Math.sin(_)>0?this.xMin-d:this.xMax+d,r=(this.yMin+this.yMax)/2,o=this._convert3Dto2D(new l(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&&(h=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 l(n,r,a)),g.textAlign="right",g.textBaseline="middle",g.fillStyle=this.colorAxis,g.fillText(D,o.x-h,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,h,d,c,p,u,m,f=this.frame.canvas,g=f.getContext("2d");if(!(void 0===this.dataPoints||this.dataPoints.length<=0)){for(n=0;n0}else r=!0;r?(m=(t.point.z+e.point.z+i.point.z+o.point.z)/4,c=240*(1-(m-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),h=a):(u=1,a=this._hsv2rgb(c,p,u),h=this.colorAxis)):(a="gray",h=this.colorAxis),d=.5,g.lineWidth=d,g.fillStyle=a,g.strokeStyle=h,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,m,f;this.style===s.STYLE.DOTCOLOR?(u=240*(1-(d.point.value-this.valueMin)*this.scale.value),m=this._hsv2rgb(u,1,1),f=this._hsv2rgb(u,1,.8)):this.style===s.STYLE.DOTSIZE?(m=this.colorDot,f=this.colorDotBorder):(u=240*(1-(d.point.z-this.zMin)*this.scale.z/this.verticalRatio),m=this._hsv2rgb(u,1,1),f=this._hsv2rgb(u,1,.8)),i.lineWidth=1,i.strokeStyle=f,i.fillStyle=m,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=o(t),this.startMouseY=n(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)},d.addEventListener(document,"mousemove",e.onmousemove),d.addEventListener(document,"mouseup",e.onmouseup),d.preventDefault(t)}},s.prototype._onMouseMove=function(t){t=t||window.event;var e=parseFloat(o(t))-this.startMouseX,i=parseFloat(n(t))-this.startMouseY,s=this.startArmRotation.horizontal+e/200,r=this.startArmRotation.vertical+i/200,a=4,h=Math.sin(a/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 c(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 d=n.surfaces;if(d)for(var l=d.length-1;l>=0;l--){var p=d[l],u=p.corners,m=[u[0].screen,u[1].screen,u[2].screen],f=[u[2].screen,u[3].screen,u[0].screen];if(this._insideTriangle(h,m)||this._insideTriangle(h,f))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)}}},t.exports=s},function(t,e,i){function s(){this.armLocation=new o,this.armRotation={},this.armRotation.horizontal=0,this.armRotation.vertical=0,this.armLength=1.7,this.cameraLocation=new o,this.cameraRotation=new o(.5*Math.PI,0,0),this.calculateCameraOrientation()}var o=i(10);s.prototype.setArmLocation=function(t,e,i){this.armLocation.x=t,this.armLocation.y=e,this.armLocation.z=i,this.calculateCameraOrientation()},s.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()},s.prototype.getArmRotation=function(){var t={};return t.horizontal=this.armRotation.horizontal,t.vertical=this.armRotation.vertical,t},s.prototype.setArmLength=function(t){void 0!==t&&(this.armLength=t,this.armLength<.71&&(this.armLength=.71),this.armLength>5&&(this.armLength=5),this.calculateCameraOrientation())},s.prototype.getArmLength=function(){return this.armLength},s.prototype.getCameraLocation=function(){return this.cameraLocation},s.prototype.getCameraRotation=function(){return this.cameraRotation},s.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=s},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,h){if(!(this instanceof s))throw new SyntaxError("Constructor must be called with the new operator");if(!(Array.isArray(i)||i instanceof n||i instanceof r)&&i instanceof Object){var u=h;h=i,i=u}var m=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:{getScale:function(){return m.timeAxis.step.scale},getStep:function(){return m.timeAxis.step.step},toScreen:m._toScreen.bind(m),toGlobalScreen:m._toGlobalScreen.bind(m),toTime:m._toTime.bind(m),toGlobalTime:m._toGlobalTime.bind(m)}},this.range=new a(this.body),this.components.push(this.range),this.body.range=this.range,this.timeAxis=new d(this.body),this.timeAxis2=null,this.components.push(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,this.on("tap",function(t){m.emit("click",m.getEventProperties(t))}),this.on("doubletap",function(t){m.emit("doubleClick",m.getEventProperties(t))}),this.dom.root.oncontextmenu=function(t){m.emit("contextmenu",m.getEventProperties(t))},h&&this.setOptions(h),i&&this.setGroups(i),e?this.setItems(e):this._redraw()}var o=(i(56),i(45),i(1)),n=i(3),r=i(4),a=i(17),h=i(46),d=i(35),l=i(26),c=i(27),p=i(32);s.prototype=new h,s.prototype.redraw=function(){this.itemSet&&this.itemSet.markDirty({refreshItems:!0}),this._redraw()},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){if(void 0==this.options.start||void 0==this.options.end)var s=this._getDataRange();var o=void 0!=this.options.start?this.options.start:s.start,a=void 0!=this.options.end?this.options.end:s.end;this.setWindow(o,a,{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}},s.prototype.getEventProperties=function(t){var e=this.itemSet.itemFromTarget(t),i=this.itemSet.groupFromTarget(t),s=t.gesture?t.gesture.center.pageX:t.pageX,n=t.gesture?t.gesture.center.pageY:t.pageY,r=s-o.getAbsoluteLeft(this.dom.centerContainer),a=n-o.getAbsoluteTop(this.dom.centerContainer),h=this.itemSet.options.snap||null,d=this.body.util.getScale(),l=this.body.util.getStep(),c=this._toTime(r),p=h?h(c,d,l):c,u=o.getTarget(t),m=null;return null!=e?m="item":o.hasParent(u,this.dom.center)?m="background":o.hasParent(u,this.timeAxis.dom.foreground)?m="axis":this.timeAxis2&&o.hasParent(u,this.timeAxis2.dom.foreground)?m="axis":o.hasParent(u,this.itemSet.dom.labelSet)?m="group-label":o.hasParent(u,this.customTime.bar)?m="custom-time":o.hasParent(u,this.currentTime.bar)&&(m="current-time"),{event:t,item:e?e.id:null,group:i?i.groupId:null,what:m,pageX:s,pageY:n,x:r,y:a,time:c,snappedTime:p}},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:{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.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(56),i(45),i(1)),n=i(3),r=i(4),a=i(17),h=i(46),d=i(35),l=i(26),c=i(27),p=i(34);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 m=l.diff(d,"days"),f=d.day();d.date(o.date()),d.month(o.month()),d.year(o.year()),l=d.clone(),d.day(f),l.day(f),l.add(m,"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=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,n){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.alignZeros=n,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),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,1==this.alignZeros&&(this.marginEnd-this.marginStart)%this.step!=0&&(this.marginEnd+=this.marginEnd%this.step),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(t){var e=Math.abs(this.current)0;s--){if("0"!=i[s]){if("."==i[s]||","==i[s]){i=i.slice(0,s);break}break}i=i.slice(0,s)}}else{var o="",n=i.indexOf("e");if(-1!=n&&(o=i.slice(n),i=i.slice(0,n)),n=Math.max(i.indexOf(","),i.indexOf(".")),-1===n?(0!==t&&(i+="."),n=i.length+t):0!==t&&(n+=t+1),n>i.length)for(var r=n-i.length;r>0;r--)i+="0";else i=i.slice(0,n);i+=o}return i},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(25),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,s){s!==!0&&(s=!1);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,m=function(){if(!a.props.touch.dragging){var t=(new Date).valueOf(),e=t-p,i=e>c,g=i||null===o?o:r.easeInOutQuad(e,h,o,c),v=i||null===n?n:r.easeInOutQuad(e,d,n,c);f=a._applyRange(g,v),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),byUser:s}),i?u&&a.body.emitter.emit("rangechanged",{start:new Date(a.start),end:new Date(a.end),byUser:s}):a.animateTimer=setTimeout(m,20)}};return m()}var f=this._applyRange(o,n);if(l.updateHiddenDates(this.body,this.options.hiddenDates),f){var g={start:new Date(this.start),end:new Date(this.end),byUser:s};this.body.emitter.emit("rangechange",g),this.body.emitter.emit("rangechanged",g)}},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&&od&&(d=0),o-s>d&&(this.end-this.start===d&&sthis.end?(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 s>=this.start&&s<=this.end||o>=this.start&&o<=this.end||this.start>=s&&this.start<=o||this.end>=s&&this.end<=o||this.body.emitter.emit("checkRangedItems"),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),byUser:!0})}},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),byUser:!0}))},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.props.touch.start-(i-o))*e,h=i+r+(this.props.touch.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,!1,!0),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,!1,!0),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="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=[]),this.format=s.FORMAT +}var o=i(44),n=i(15),r=i(1);s.FORMAT={minorLabels:{millisecond:"SSS",second:"s",minute:"HH:mm",hour:"HH:mm",weekday:"ddd D",day:"D",month:"MMM",year:"YYYY"},majorLabels:{millisecond:"HH:mm:ss",second:"D MMMM HH:mm",minute:"ddd D MMMM",hour:"ddd D MMMM",weekday:"MMMM YYYY",day:"MMMM YYYY",month:"YYYY",year:""}},s.prototype.setFormat=function(t){var e=r.deepExtend({},s.FORMAT);this.format=r.deepExtend(e,t)},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"year":this.current.setFullYear(this.step*Math.floor(this.current.getFullYear()/this.step)),this.current.setMonth(0);case"month":this.current.setDate(1);case"day":case"weekday":this.current.setHours(0);case"hour":this.current.setMinutes(0);case"minute":this.current.setSeconds(0);case"second":this.current.setMilliseconds(0)}if(1!=this.step)switch(this.scale){case"millisecond":this.current.setMilliseconds(this.current.getMilliseconds()-this.current.getMilliseconds()%this.step);break;case"second":this.current.setSeconds(this.current.getSeconds()-this.current.getSeconds()%this.step);break;case"minute":this.current.setMinutes(this.current.getMinutes()-this.current.getMinutes()%this.step);break;case"hour":this.current.setHours(this.current.getHours()-this.current.getHours()%this.step);break;case"weekday":case"day":this.current.setDate(this.current.getDate()-1-(this.current.getDate()-1)%this.step+1);break;case"month":this.current.setMonth(this.current.getMonth()-this.current.getMonth()%this.step);break;case"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"millisecond":this.current=new Date(this.current.valueOf()+this.step);break;case"second":this.current=new Date(this.current.valueOf()+1e3*this.step);break;case"minute":this.current=new Date(this.current.valueOf()+1e3*this.step*60);break;case"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"weekday":case"day":this.current.setDate(this.current.getDate()+this.step);break;case"month":this.current.setMonth(this.current.getMonth()+this.step);break;case"year":this.current.setFullYear(this.current.getFullYear()+this.step)}else switch(this.scale){case"millisecond":this.current=new Date(this.current.valueOf()+this.step);break;case"second":this.current.setSeconds(this.current.getSeconds()+this.step);break;case"minute":this.current.setMinutes(this.current.getMinutes()+this.step);break;case"hour":this.current.setHours(this.current.getHours()+this.step);break;case"weekday":case"day":this.current.setDate(this.current.getDate()+this.step);break;case"month":this.current.setMonth(this.current.getMonth()+this.step);break;case"year":this.current.setFullYear(this.current.getFullYear()+this.step)}if(1!=this.step)switch(this.scale){case"millisecond":this.current.getMilliseconds()0?t.step:1,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,s=864e5,o=36e5,n=6e4,r=1e3,a=1;1e3*e>t&&(this.scale="year",this.step=1e3),500*e>t&&(this.scale="year",this.step=500),100*e>t&&(this.scale="year",this.step=100),50*e>t&&(this.scale="year",this.step=50),10*e>t&&(this.scale="year",this.step=10),5*e>t&&(this.scale="year",this.step=5),e>t&&(this.scale="year",this.step=1),3*i>t&&(this.scale="month",this.step=3),i>t&&(this.scale="month",this.step=1),5*s>t&&(this.scale="day",this.step=5),2*s>t&&(this.scale="day",this.step=2),s>t&&(this.scale="day",this.step=1),s/2>t&&(this.scale="weekday",this.step=1),4*o>t&&(this.scale="hour",this.step=4),o>t&&(this.scale="hour",this.step=1),15*n>t&&(this.scale="minute",this.step=15),10*n>t&&(this.scale="minute",this.step=10),5*n>t&&(this.scale="minute",this.step=5),n>t&&(this.scale="minute",this.step=1),15*r>t&&(this.scale="second",this.step=15),10*r>t&&(this.scale="second",this.step=10),5*r>t&&(this.scale="second",this.step=5),r>t&&(this.scale="second",this.step=1),200*a>t&&(this.scale="millisecond",this.step=200),100*a>t&&(this.scale="millisecond",this.step=100),50*a>t&&(this.scale="millisecond",this.step=50),10*a>t&&(this.scale="millisecond",this.step=10),5*a>t&&(this.scale="millisecond",this.step=5),a>t&&(this.scale="millisecond",this.step=1)}},s.snap=function(t,e,i){var s=new Date(t.valueOf());if("year"==e){var o=s.getFullYear()+Math.round(s.getMonth()/12);s.setFullYear(Math.round(o/i)*i),s.setMonth(0),s.setDate(0),s.setHours(0),s.setMinutes(0),s.setSeconds(0),s.setMilliseconds(0)}else if("month"==e)s.getDate()>15?(s.setDate(1),s.setMonth(s.getMonth()+1)):s.setDate(1),s.setHours(0),s.setMinutes(0),s.setSeconds(0),s.setMilliseconds(0);else if("day"==e){switch(i){case 5:case 2:s.setHours(24*Math.round(s.getHours()/24));break;default:s.setHours(12*Math.round(s.getHours()/12))}s.setMinutes(0),s.setSeconds(0),s.setMilliseconds(0)}else if("weekday"==e){switch(i){case 5:case 2:s.setHours(12*Math.round(s.getHours()/12));break;default:s.setHours(6*Math.round(s.getHours()/6))}s.setMinutes(0),s.setSeconds(0),s.setMilliseconds(0)}else if("hour"==e){switch(i){case 4:s.setMinutes(60*Math.round(s.getMinutes()/60));break;default:s.setMinutes(30*Math.round(s.getMinutes()/30))}s.setSeconds(0),s.setMilliseconds(0)}else if("minute"==e){switch(i){case 15:case 10:s.setMinutes(5*Math.round(s.getMinutes()/5)),s.setSeconds(0);break;case 5:s.setSeconds(60*Math.round(s.getSeconds()/60));break;default:s.setSeconds(30*Math.round(s.getSeconds()/30))}s.setMilliseconds(0)}else if("second"==e)switch(i){case 15:case 10:s.setSeconds(5*Math.round(s.getSeconds()/5)),s.setMilliseconds(0);break;case 5:s.setMilliseconds(1e3*Math.round(s.getMilliseconds()/1e3));break;default:s.setMilliseconds(500*Math.round(s.getMilliseconds()/500))}else if("millisecond"==e){var n=i>5?i/2:1;s.setMilliseconds(Math.round(s.getMilliseconds()/n)*n)}return s},s.prototype.isMajor=function(){if(1==this.switchedYear)switch(this.switchedYear=!1,this.scale){case"year":case"month":case"weekday":case"day":case"hour":case"minute":case"second":case"millisecond":return!0;default:return!1}else if(1==this.switchedMonth)switch(this.switchedMonth=!1,this.scale){case"weekday":case"day":case"hour":case"minute":case"second":case"millisecond":return!0;default:return!1}else if(1==this.switchedDay)switch(this.switchedDay=!1,this.scale){case"millisecond":case"second":case"minute":case"hour":return!0;default:return!1}switch(this.scale){case"millisecond":return 0==this.current.getMilliseconds();case"second":return 0==this.current.getSeconds();case"minute":return 0==this.current.getHours()&&0==this.current.getMinutes();case"hour":return 0==this.current.getHours();case"weekday":case"day":return 1==this.current.getDate();case"month":return 0==this.current.getMonth();case"year":return!1;default:return!1}},s.prototype.getLabelMinor=function(t){void 0==t&&(t=this.current);var e=this.format.minorLabels[this.scale];return e&&e.length>0?o(t).format(e):""},s.prototype.getLabelMajor=function(t){void 0==t&&(t=this.current);var e=this.format.majorLabels[this.scale];return e&&e.length>0?o(t).format(e):""},s.prototype.getClassName=function(){function t(t){return t/h%2==0?" even":" odd"}function e(t){return t.isSame(new Date,"day")?" today":t.isSame(o().add(1,"day"),"day")?" tomorrow":t.isSame(o().add(-1,"day"),"day")?" yesterday":""}function i(t){return t.isSame(new Date,"week")?" current-week":""}function s(t){return t.isSame(new Date,"month")?" current-month":""}function n(t){return t.isSame(new Date,"year")?" current-year":""}var r=o(this.current),a=r.locale?r.locale("en"):r.lang("en"),h=this.step;switch(this.scale){case"millisecond":return t(a.milliseconds()).trim();case"second":return t(a.seconds()).trim();case"minute":return t(a.minutes()).trim();case"hour":var d=a.hours();return 4==this.step&&(d=d+"-"+(d+4)),d+"h"+e(a)+t(a.hours());case"weekday":return a.format("dddd").toLowerCase()+e(a)+i(a)+t(a.date());case"day":var l=a.date(),c=a.format("MMMM").toLowerCase();return"day"+l+" "+c+s(a)+t(l-1);case"month":return a.format("MMMM").toLowerCase()+s(a)+t(a.month());case"year":var p=a.year();return"year"+p+n(a)+t(p);default:return""}},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),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+=l)}i=this.parent.subgroups[s].height+t.item.vertical,this.dom.box.style.top=this.parent.height-d+a+"px",this.dom.box.style.bottom=""}}else this.parent instanceof n?(i=Math.max(this.parent.height,this.parent.itemSet.body.domProps.center.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(20);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.dom.content.style.maxWidth="none",this.props.content.width=this.dom.content.offsetWidth,this.height=this.dom.box.offsetHeight,this.dom.content.style.maxWidth="",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.displayed=!1}},s.prototype.repositionX=function(t){var e,i,s=this.parent.width,o=this.conversion.toScreen(this.data.start),n=this.conversion.toScreen(this.data.end);(void 0===t||t===!0)&&(-s>o&&(o=-s),n>2*s&&(n=2*s));var r=Math.max(n-o,1);switch(this.overflow?(this.left=o,this.width=r+this.props.content.width,i=this.props.content.width):(this.left=o,this.width=r,i=Math.min(n-o-2*this.options.padding,this.props.content.width)),this.dom.box.style.left=this.left+"px",this.dom.box.style.width=r+"px",this.options.align){case"left":this.dom.content.style.left="0";break;case"right":this.dom.content.style.left=Math.max(r-i-2*this.options.padding,0)+"px";break;case"center":this.dom.content.style.left=Math.max((r-i-2*this.options.padding)/2,0)+"px";break;default:e=this.overflow?n>0?Math.max(-o,0):-i:0>o?Math.min(-o,n-o-i-2*this.options.padding):0,this.dom.content.style.left=e+"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){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(25),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",id:0},this.options=n.extend({},this.defaultOptions),this.customTime=e&&e.time?e.time:new Date,this.eventParams={},this._create(),this.setOptions(e)}var o=i(45),n=i(1),r=i(25),a=i(44),h=i(48);s.prototype=new r,s.prototype.setOptions=function(t){t&&(n.selectiveExtend(["showCustomTime","locale","locales","id"],this.options,t),this.options.id&&this.redraw())},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",{id:this.options.id,time:new Date(this.customTime.valueOf())}),t.stopPropagation(),t.preventDefault()}},s.prototype._onDragEnd=function(t){this.eventParams.dragging&&(this.body.emitter.emit("timechanged",{id:this.options.id,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,alignZeros:!0,customRange:{left:{min:void 0,max:void 0},right:{min:void 0,max:void 0}},title:{left:{text:void 0},right:{text:void 0}},format:{left:{decimals:void 0},right:{decimals:void 0}}},this.linegraphOptions=s,this.linegraphSVG=i,this.props={},this.DOMelements={lines:{},labels:{},title:{}},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.hidden=!1,this.stepPixels=25,this.stepPixelsForced=25,this.zeroCrossing=-1,this.lineOffset=0,this.master=!0,this.svgElements={},this.iconsRemoved=!1,this.groups={},this.amountOfGroups=0,this._create();var n=this;this.body.emitter.on("verticalDrag",function(){n.dom.lineContainer.style.top=n.body.domProps.scrollTop+"px"})}var o=i(1),n=i(2),r=i(25),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","title","format","alignZeros"];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.dom.lineContainer.style.position="relative",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),this.iconsRemoved=!1},s.prototype._cleanupIcons=function(){0==this.iconsRemoved&&(n.prepareElements(this.svgElements),n.cleanupElements(this.svgElements),this.iconsRemoved=!0)},s.prototype.show=function(){this.hidden=!1,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.hidden=!0,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){0==this.master&&1==this.options.alignZeros&&-1!=this.zeroCrossing&&t>0&&(t=0),this.range.start=t,this.range.end=e},s.prototype.redraw=function(){var t=!1,e=0;this.dom.lineContainer.style.top=this.body.domProps.scrollTop+"px";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",this.props.width=this.body.domProps.left.width,this.props.height=this.body.domProps.left.height):(o.style.top="",o.style.bottom="0",o.style.left="0",o.style.width=this.width+"px",o.style.height=this.height+"px",this.props.width=this.body.domProps.right.width,this.props.height=this.body.domProps.right.height),t=this._redrawLabels(),t=this._isResized()||t,1==this.options.icons?this._redrawGroupIcons():this._cleanupIcons(),this._redrawTitle(n)}return t},s.prototype._redrawLabels=function(){var t=!1;n.prepareElements(this.DOMelements.lines),n.prepareElements(this.DOMelements.labels);var e=this.options.orientation,i=this.master?this.props.majorCharHeight||10:this.stepPixelsForced,s=new a(this.range.start,this.range.end,i,this.dom.frame.offsetHeight,this.options.customRange[this.options.orientation],0==this.master&&this.options.alignZeros);this.step=s;var o=(this.dom.frame.offsetHeight-s.deadSpace*(this.dom.frame.offsetHeight/s.marginRange))/((s.marginRange-s.deadSpace)/s.step);this.stepPixels=o;var r=this.height/o,h=0;if(0==this.master){o=this.stepPixelsForced,h=Math.round(this.dom.frame.offsetHeight/o-r);for(var d=0;.5*h>d;d++)s.previous();if(r=this.height/o,-1!=this.zeroCrossing&&1==this.options.alignZeros){var l=s.marginEnd/s.step-this.zeroCrossing;if(l>0)for(var d=0;l>d;d++)s.next();else if(0>l)for(var d=0;-l>d;d++)s.previous()}}else r+=.25;this.valueAtZero=s.marginEnd;var c,p=0,u=1;void 0!==this.options.format[e]&&(c=this.options.format[e].decimals),this.maxLabelSize=0;for(var m=0;u=0&&this._redrawLabel(m-2,s.getCurrent(c),e,"yAxis major",this.props.majorCharHeight),this._redrawLine(m,e,"grid horizontal major",this.options.majorLinesOffset,this.props.majorLineWidth)):this._redrawLine(m,e,"grid horizontal minor",this.options.minorLinesOffset,this.props.minorLineWidth),1==this.master&&0==s.current&&(this.zeroCrossing=u),u++}this.conversionFactor=0==this.master?m/(this.valueAtZero-s.current):this.dom.frame.offsetHeight/s.marginRange;var g=0;void 0!==this.options.title[e]&&void 0!==this.options.title[e].text&&(g=this.props.titleCharHeight);var v=1==this.options.icons?Math.max(this.options.iconWidth,g)+this.options.labelOffsetX+15:g+this.options.labelOffsetX+15;return this.maxLabelSize>this.width-v&&1==this.options.visible?(this.width=this.maxLabelSize+v,this.options.width=this.width+"px",n.cleanupElements(this.DOMelements.lines),n.cleanupElements(this.DOMelements.labels),this.redraw(),t=!0):this.maxLabelSizethis.minWidth?(this.width=Math.max(this.minWidth,this.maxLabelSize+v),this.options.width=this.width+"px",n.cleanupElements(this.DOMelements.lines),n.cleanupElements(this.DOMelements.labels),this.redraw(),t=!0):(n.cleanupElements(this.DOMelements.lines),n.cleanupElements(this.DOMelements.labels),t=!1),t},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.maxLabelSizep;p++){var m=this.visibleItems[p];m.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;it?-1:l>=t?0:1};if(e.length>0)for(n=0;nl}),1==this.checkRangedItems)for(this.checkRangedItems=!1,n=0;nl})}for(n=0;n=0&&(n=e[r],!o(n));r--)void 0===s[n.id]&&(s[n.id]=!0,i.push(n));for(r=t+1;rs;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},snap:h.snap,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(19),d=i(25),l=i(30),c=i(31),p=i(22),u=i(23),m=i(24),f=i(21),g="__ungrouped__",v="__background__";s.prototype=new d,s.types={background:f,box:p,range:m,point:u},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 c(v,null,this);r.show(),this.groups[v]=r,this.hammer=o(this.body.dom.centerContainer,{preventDefault:!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","order","padding","stack","selectable","groupOrder","dataAttributes","template","hide","snap"];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(t){this.groupIds=[],this.stackDirty=!0,t&&t.refreshItems&&n.forEach(this.items,function(t){t.dirty=!0,t.displayed&&t.redraw()})},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},m={item:t.item,axis:t.item.vertical/2},f=0,g=t.axis+t.item.vertical;return this.groups[v].redraw(e,m,c),n.forEach(this.groups,function(t){var i=t==p?u:m,s=t.redraw(e,i,c);r=s||r,f+=t.height}),f=Math.max(f,g),this.stackDirty=!1,a.style.height=i(f),this.props.width=a.offsetWidth,this.props.height=f,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[g];return i||null},s.prototype._updateUngrouped=function(){{var t,e,i=this.groups[g];this.groups[v]}if(this.groupsData){if(i){i.hide(),delete this.groups[g];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 l(n,r,this),this.groups[g]=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?v:this.groupsData?t.group:g},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==g||t==v)throw new Error("Illegal group id. "+t+" is a reserved id.");var o=Object.create(e.options);n.extend(o,{height:null}),s=new l(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||s.length>0)&&this.body.emitter.emit("select",{items:r})}},s.prototype._onAddItem=function(t){if(this.options.selectable&&this.options.editable.add){var e=this,i=this.options.snap||null,s=this.itemFromTarget(t);if(s){var o=e.itemsData.get(s.id);this.options.onUpdate(o,function(t){t&&e.itemsData.getDataSet().update(t)})}else{var r=n.getAbsoluteLeft(this.dom.frame),a=t.gesture.center.pageX-r,h=this.body.util.toTime(a),d=this.body.util.getScale(),l=this.body.util.getStep(),c={start:i?i(h,d,l):h,content:"new item"};if("range"===this.options.type){var p=this.body.util.toTime(a+this.props.width/5);c.end=i?i(p,d,l):p}c[this.itemsData._fieldId]=n.randomUUID();var u=this.groupFromTarget(t);u&&(c.group=u.groupId),this.options.onAdd(c,function(t){t&&e.itemsData.getDataSet().add(t)})}}},s.prototype._onMultiSelectItem=function(t){if(this.options.selectable){var e,i=this.itemFromTarget(t);if(i){e=this.getSelection();var o=t.gesture.touches[0]&&t.gesture.touches[0].shiftKey||!1;if(o){e.push(i.id);var n=s._getItemRange(this.itemsData.get(e,this.itemOptions));e=[];for(var r in this.items)if(this.items.hasOwnProperty(r)){var a=this.items[r],h=a.data.start,d=void 0!==a.data.end?a.data.end:h;h>=n.min&&d<=n.max&&e.push(a.id)}}else{var l=e.indexOf(i.id);-1==l?e.push(i.id):e.splice(l,1)}this.setSelection(e),this.body.emitter.emit("select",{items:this.getSelection()})}}},s._getItemRange=function(t){var e=null,i=null;return t.forEach(function(t){(null==i||t.starte)&&(e=t.end):(null==e||t.start>e)&&(e=t.start)}),{min:i,max:e}},s.prototype.itemFromTarget=function(t){for(var e=t.target;e;){if(e.hasOwnProperty("timeline-item"))return e["timeline-item"];e=e.parentNode}return null},s.prototype.groupFromTarget=function(t){for(var e=t.gesture?t.gesture.center.clientY:t.clientY,i=0;ia&&ea)return o}else if(0===i&&e"));this.dom.textArea.innerHTML=s,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,alignZeros:!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,this.updateSVGheight=!1,this.updateSVGheightOnResize=!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.COUNTER=0,this.body.emitter.on("rangechanged",function(){i.lastStart=i.body.range.start,i.svg.style.left=o.option.asSize(-i.props.width),i.redraw.call(i,!0)}),this._create(),this.framework={svg:this.svg,svgElements:this.svgElements,options:this.options,groups:this.groups},this.body.emitter.emit("change")}var o=i(1),n=i(2),r=i(3),a=i(4),h=i(25),d=i(28),l=i(29),c=i(33),p=i(50),u="__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","height","graphHeight","yAxisOrientation","style","barChart","dataAxis","sort","groups"];void 0===t.graphHeight&&void 0!==t.height&&void 0!==this.body.domProps.centerContainer.height?(this.updateSVGheight=!0,this.updateSVGheightOnResize=!0):void 0!==this.body.domProps.centerContainer.height&&void 0!==t.graphHeight&&parseInt((t.graphHeight+"").replace("px",""))0){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),this._applySampling(a,c),e=0;eu&&console.log("WARNING: there may be an infinite loop in the _updateGraph emitter cycle."),this.COUNTER=0,this.abortedGraphUpdate=!1,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=[];if(t.length>0){for(n=0;n0&&(o=this.groups[t[n]],"stack"==r.barChart.handleOverlap&&"bar"==r.style?"left"==r.yAxisOrientation?a=a.concat(o.getYRange(s)):h=h.concat(o.getYRange(s)):i[t[n]]=o.getYRange(s,t[n]));p.getStackedBarYRange(a,i,t,"__barchartLeft","left"),p.getStackedBarYRange(h,i,t,"__barchartRight","right")}},s.prototype._updateYAxis=function(t,e){var i,s,o=!1,n=!1,r=!1,a=1e9,h=1e9,d=-1e9,l=-1e9;if(t.length>0){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,this.yAxisRight.zeroCrossing=this.yAxisLeft.zeroCrossing,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&&0==e.hidden&&(e.hide(),i=!0):e.dom.frame.parentNode||1!=e.hidden||(e.show(),i=!0),i},s.prototype._convertXcoordinates=function(t){for(var e,i,s=[],o=this.body.util.toScreen,n=0;ny;)y++,l=h.getCurrent(),c=h.isMajor(),u=h.getClassName(),f=m,m=this.body.util.toScreen(l),g=m-f,p&&(p.style.width=g+"px"),this.options.showMinorLabels&&this._repaintMinorText(m,h.getLabelMinor(),t,u),c&&this.options.showMajorLabels?(m>0&&(void 0==v&&(v=m),this._repaintMajorText(m,h.getLabelMajor(),t,u)),p=this._repaintMajorLine(m,t,u)):p=this._repaintMinorLine(m,t,u),h.next();if(this.options.showMajorLabels){var b=this.body.util.toTime(0),_=h.getLabelMajor(b),x=_.length*(this.props.majorCharWidth||10)+10;(void 0==v||v>x)&&this._repaintMajorText(0,_,t,u)}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,s){var o=this.dom.redundant.minorTexts.shift();if(!o){var n=document.createTextNode("");o=document.createElement("div"),o.appendChild(n),this.dom.foreground.appendChild(o)}this.dom.minorTexts.push(o),o.childNodes[0].nodeValue=e,o.style.top="top"==i?this.props.majorLabelHeight+"px":"0",o.style.left=t+"px",o.className="text minor "+s},s.prototype._repaintMajorText=function(t,e,i,s){var o=this.dom.redundant.majorTexts.shift();if(!o){var n=document.createTextNode(e);o=document.createElement("div"),o.appendChild(n),this.dom.foreground.appendChild(o)}this.dom.majorTexts.push(o),o.childNodes[0].nodeValue=e,o.className="text major "+s,o.style.top="top"==i?"0":this.props.minorLabelHeight+"px",o.style.left=t+"px"},s.prototype._repaintMinorLine=function(t,e,i){var s=this.dom.redundant.lines.shift();s||(s=document.createElement("div"),this.dom.background.appendChild(s)),this.dom.lines.push(s);var o=this.props;return s.style.top="top"==e?o.majorLabelHeight+"px":this.body.domProps.top.height+"px",s.style.height=o.minorLineHeight+"px",s.style.left=t-o.minorLineWidth/2+"px",s.className="grid vertical minor "+i,s},s.prototype._repaintMajorLine=function(t,e,i){var s=this.dom.redundant.lines.shift();s||(s=document.createElement("div"),this.dom.background.appendChild(s)),this.dom.lines.push(s);var o=this.props;return s.style.top="top"==e?"0":this.body.domProps.top.height+"px",s.style.left=t-o.majorLineWidth/2+"px",s.style.height=o.majorLineHeight+"px",s.className="grid vertical major "+i,s},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},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._determineBrowserMethod(),this._initializeMixinLoaders(),this.containerElement=t,this.renderRefreshRate=60,this.renderTimestep=1e3/this.renderRefreshRate,this.renderTime=0,this.physicsTime=0,this.runDoubleSpeed=!1,this.physicsDiscreteStepsize=.5,this.initializing=!0,this.triggerFunctions={add:null,edit:null,editEdge:null,connect:null,del:null};var o=function(t,e,i,s){if(e==t)return.5;var o=1/(e-t);return Math.max(0,(s-t)*o)};this.defaultOptions={nodes:{customScalingFunction:o,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,fontStrokeWidth:0,fontStrokeColor:"#ffffff",fontDrawThreshold:3,scaleFontWithValue:!1,fontSizeMin:14,fontSizeMax:30,fontSizeMaxVisible:30,level:-1,color:{border:"#2B7CE9",background:"#97C2FC",highlight:{border:"#2B7CE9",background:"#D2E5FF"},hover:{border:"#2B7CE9",background:"#D2E5FF"}},group:void 0,borderWidth:1,borderWidthSelected:void 0},edges:{customScalingFunction:o,widthMin:1,widthMax:15,width:1,widthSelectionMultiplier:2,hoverWidth:1.5,style:"line",color:{color:"#848484",highlight:"#848484",hover:"#848484"},opacity:1,fontColor:"#343434",fontSize:14,fontFace:"arial",fontFill:"white",fontStrokeWidth:0,fontStrokeColor:"white",labelAlignment:"horizontal",arrowScaleFactor:1,dash:{length:10,gap:5,altLength:void 0},inheritColor:"from",useGradients:!1},configurePhysics:!1,physics:{barnesHut:{enabled:!0,thetaInverted:2,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,clusterByZoom:!0},navigation:{enabled:!1},keyboard:{enabled:!1,speed:{x:10,y:10,zoom:.02},bindToWindow:!0},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},maxVelocity:50,minVelocity:.1,stabilize:!0,stabilizationIterations:1e3,zoomExtentOnStabilize:!0,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,useDefaultGroups:!0},this.constants=a.extend({},this.defaultOptions),this.pixelRatio=1,this.hoverObj={nodes:{},edges:{}},this.controlNodesActive=!1,this.navigationHammers=[],this.manipulationHammers=[],this.animationSpeed=1/this.renderRefreshRate,this.animationEasingFunction="easeInOutQuint",this.animating=!1,this.easingTime=0,this.sourceScale=0,this.targetScale=0,this.sourceTranslation=0,this.targetTranslation=0,this.lockedOnNodeId=null,this.lockedOnNodeOffset=null,this.touchTime=0,this.redrawRequested=!1;var n=this;this.groups=new u,this.images=new m,this.images.setOnloadCallback(function(){n._requestRedraw()}),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.freezeSimulationEnabled=!1,this.cachedFunctions={},this.startedStabilization=!1,this.stabilized=!1,this.stabilizationIterations=null,this.draggingNodes=!1,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){n._addNodes(e.items),n.start() +},update:function(t,e){n._updateNodes(e.items),n.start()},remove:function(t,e){n._removeNodes(e.items),n.start()}},this.edgesListeners={add:function(t,e){n._addEdges(e.items),n.start()},update:function(t,e){n._updateEdges(e.items),n.start()},remove:function(t,e){n._removeEdges(e.items),n.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({duration:0},!0,this.constants.clustering.enabled),this.constants.clustering.enabled&&this.startWithClustering()}var o=i(56),n=i(45),r=i(59),a=i(1),h=i(47),d=i(3),l=i(4),c=i(42),p=i(43),u=i(38),m=i(39),f=i(40),g=i(37),v=i(41),y=i(52),b=i(53),_=i(54);i(55),o(s.prototype),s.prototype._determineBrowserMethod=function(){var t=navigator.userAgent.toLowerCase();this.requiresTimeout=!1,-1!=t.indexOf("msie 9.0")?this.requiresTimeout=!0:-1!=t.indexOf("safari")&&t.indexOf("chrome")<=-1&&(this.requiresTimeout=!0)},s.prototype._getScriptPath=function(){for(var t=document.getElementsByTagName("script"),e=0;e0)for(var r=0;re.boundingBox.left&&(o=e.boundingBox.left),ne.boundingBox.bottom&&(i=e.boundingBox.top),se.boundingBox.left&&(o=e.boundingBox.left),ne.boundingBox.bottom&&(i=e.boundingBox.top),s.5*this.nodeIndices.length)return void this.zoomExtent(t,!1,i);s=this._getRange(t.nodes);var h=this.nodeIndices.length;o=1==this.constants.smoothCurves?1==this.constants.clustering.enabled&&h>=this.constants.clustering.initialMaxNodes?49.07548/(h+142.05338)+91444e-8:12.662/(h+7.4147)+.0964822:1==this.constants.clustering.enabled&&h>=this.constants.clustering.initialMaxNodes?77.5271985/(h+187.266146)+476710517e-13:30.5062972/(h+19.93597763)+.08413486;var d=Math.min(this.frame.canvas.clientWidth/600,this.frame.canvas.clientHeight/600);o*=d}else{s=this._getRange(t.nodes);var l=1.1*Math.abs(s.maxX-s.minX),c=1.1*Math.abs(s.maxY-s.minY),p=this.frame.canvas.clientWidth/l,u=this.frame.canvas.clientHeight/c;o=u>=p?p:u}o>1&&(o=1);var m=this._findCenter(s);if(0==i){var t={position:m,scale:o,animation:t};this.moveTo(t),this.moving=!0,this.start()}else m.x*=o,m.y*=o,m.x-=.5*this.frame.canvas.clientWidth,m.y-=.5*this.frame.canvas.clientHeight,this._setScale(o),this._setTranslation(-m.x,-m.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._unselectAll(!0),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(1==this.constants.dataManipulation.enabled&&this._createManipulatorBar(),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()):1==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),this.groups.useDefaultGroups=this.constants.useDefaultGroups,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)),this.constants.edges.inheritColor=!1),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||(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._bindHammer(),this._createKeyBinds(),this._markAllEdgesAsDirty(),this.setSize(this.constants.width,this.constants.height),this.moving=!0,1==this.constants.hierarchicalLayout.enabled&&0==this.initializing&&(this._resetLevels(),this._setupHierarchicalLayout()),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.tabIndex=900,this.frame.canvas=document.createElement("canvas"),this.frame.canvas.style.position="relative",this.frame.appendChild(this.frame.canvas),this.frame.canvas.getContext){var t=this.frame.canvas.getContext("2d");this.pixelRatio=(window.devicePixelRatio||1)/(t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1),this.frame.canvas.getContext("2d").setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0)}else{var e=document.createElement("DIV");e.style.color="red",e.style.fontWeight="bold",e.style.padding="10px",e.innerHTML="Error: your browser does not support HTML canvas",this.frame.canvas.appendChild(e)}this._bindHammer()},s.prototype._bindHammer=function(){var t=this;void 0!==this.hammer&&this.hammer.dispose(),this.drag={},this.pinch={},this.hammer=n(this.frame.canvas,{prevent_default:!0}),this.hammer.on("tap",t._onTap.bind(t)),this.hammer.on("doubletap",t._onDoubleTap.bind(t)),this.hammer.on("hold",t._onHold.bind(t)),this.hammer.on("touch",t._onTouch.bind(t)),this.hammer.on("dragstart",t._onDragStart.bind(t)),this.hammer.on("drag",t._onDrag.bind(t)),this.hammer.on("dragend",t._onDragEnd.bind(t)),1==this.constants.zoomable&&(this.hammer.on("mousewheel",t._onMouseWheel.bind(t)),this.hammer.on("DOMMouseScroll",t._onMouseWheel.bind(t)),this.hammer.on("pinch",t._onPinch.bind(t))),this.hammer.on("mousemove",t._onMouseMoveTitle.bind(t)),this.hammerFrame=n(this.frame,{prevent_default:!0}),this.hammerFrame.on("release",t._onRelease.bind(t)),this.containerElement.appendChild(this.frame)},s.prototype._createKeyBinds=function(){var t=this;void 0!==this.keycharm&&this.keycharm.destroy(),this.keycharm=r(1==this.constants.keyboard.bindToWindow?{container:window,preventDefault:!1}:{container:this.frame,preventDefault:!1}),this.keycharm.reset(),this.constants.keyboard.enabled&&this.isActive()&&(this.keycharm.bind("up",this._moveUp.bind(t),"keydown"),this.keycharm.bind("up",this._yStopMoving.bind(t),"keyup"),this.keycharm.bind("down",this._moveDown.bind(t),"keydown"),this.keycharm.bind("down",this._yStopMoving.bind(t),"keyup"),this.keycharm.bind("left",this._moveLeft.bind(t),"keydown"),this.keycharm.bind("left",this._xStopMoving.bind(t),"keyup"),this.keycharm.bind("right",this._moveRight.bind(t),"keydown"),this.keycharm.bind("right",this._xStopMoving.bind(t),"keyup"),this.keycharm.bind("=",this._zoomIn.bind(t),"keydown"),this.keycharm.bind("=",this._stopZoom.bind(t),"keyup"),this.keycharm.bind("num+",this._zoomIn.bind(t),"keydown"),this.keycharm.bind("num+",this._stopZoom.bind(t),"keyup"),this.keycharm.bind("num-",this._zoomOut.bind(t),"keydown"),this.keycharm.bind("num-",this._stopZoom.bind(t),"keyup"),this.keycharm.bind("-",this._zoomOut.bind(t),"keydown"),this.keycharm.bind("-",this._stopZoom.bind(t),"keyup"),this.keycharm.bind("[",this._zoomIn.bind(t),"keydown"),this.keycharm.bind("[",this._stopZoom.bind(t),"keyup"),this.keycharm.bind("]",this._zoomOut.bind(t),"keydown"),this.keycharm.bind("]",this._stopZoom.bind(t),"keyup"),this.keycharm.bind("pageup",this._zoomIn.bind(t),"keydown"),this.keycharm.bind("pageup",this._stopZoom.bind(t),"keyup"),this.keycharm.bind("pagedown",this._zoomOut.bind(t),"keydown"),this.keycharm.bind("pagedown",this._stopZoom.bind(t),"keyup")),1==this.constants.dataManipulation.enabled&&(this.keycharm.bind("esc",this._createManipulatorBar.bind(t)),this.keycharm.bind("delete",this._deleteSelected.bind(t)))},s.prototype.destroy=function(){this.start=function(){},this.redraw=function(){},this.timer=!1,this._cleanupPhysicsConfiguration(),this.keycharm.reset(),this.hammer.dispose(),this.off(),this._recursiveDOMDelete(this.containerElement)},s.prototype._recursiveDOMDelete=function(t){for(;1==t.hasChildNodes();)this._recursiveDOMDelete(t.firstChild),t.removeChild(t.firstChild)},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){(new Date).valueOf()-this.touchTime>100&&(this.drag.pointer=this._getPointer(t.gesture.center),this.drag.pinched=!1,this.pinch.scale=this._getScale(),this.touchTime=(new Date).valueOf(),this._handleTouch(this.drag.pointer))},s.prototype._onDragStart=function(t){this._handleDragStart(t)},s.prototype._handleDragStart=function(t){void 0===this.drag.pointer&&this._onTouch(t);var e=this._getNodeAt(this.drag.pointer);if(this.drag.dragging=!0,this.drag.selection=[],this.drag.translation=this._getTranslation(),this.drag.nodeId=null,this.draggingNodes=!1,null!=e&&1==this.constants.dragNodes){this.draggingNodes=!0,this.drag.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,this.drag.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){if(void 0===this.drag.pointer)return void this._handleDragStart(t);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(),0==this.draggingNodes?this.emit("dragEnd",{nodeIds:[]}):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),s=!1;if(void 0!==this.popup&&(this.popup.hidden===!1&&this._checkHidePopup(i),this.popup.hidden===!1&&(s=!0,this.popup.setPosition(i.x+3,i.y-5),this.popup.show())),0==this.constants.keyboard.bindToWindow&&1==this.constants.keyboard.enabled&&this.frame.focus(),s===!1){var o=this,n=function(){o._checkShowPopup(i)};this.popupTimer&&clearInterval(this.popupTimer),this.drag.dragging||(this.popupTimer=setTimeout(n,this.constants.tooltip.delay))}if(1==this.constants.hover){for(var r in this.hoverObj.edges)this.hoverObj.edges.hasOwnProperty(r)&&(this.hoverObj.edges[r].hover=!1,delete this.hoverObj.edges[r]);var a=this._getNodeAt(i);null==a&&(a=this._getEdgeAt(i)),null!=a&&this._hoverObject(a);for(var d in this.hoverObj.nodes)this.hoverObj.nodes.hasOwnProperty(d)&&(a instanceof f&&a.id!=d||a instanceof g||null==a)&&(this._blurObject(this.hoverObj.nodes[d]),delete this.hoverObj.nodes[d]);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=void 0===this.popupObj?"":this.popupObj.id,o=!1,n="node";if(void 0==this.popupObj){var r=this.nodes,a=[];for(e in r)if(r.hasOwnProperty(e)){var h=r[e];h.isOverlappingWith(i)&&void 0!==h.getTitle()&&a.push(e)}a.length>0&&(this.popupObj=this.nodes[a[a.length-1]],o=!0)}if(void 0===this.popupObj&&0==o){var d=this.edges,l=[];for(e in d)if(d.hasOwnProperty(e)){var c=d[e];c.connected&&void 0!==c.getTitle()&&c.isOverlappingWith(i)&&l.push(e)}l.length>0&&(this.popupObj=this.edges[l[l.length-1]],n="edge")}this.popupObj?this.popupObj.id!=s&&(void 0===this.popup&&(this.popup=new v(this.frame,this.constants.tooltip)),this.popup.popupTargetType=n,this.popup.popupTargetId=this.popupObj.id,this.popup.setPosition(t.x+3,t.y-5),this.popup.setText(this.popupObj.getTitle()),this.popup.show()):this.popup&&this.popup.hide()},s.prototype._checkHidePopup=function(t){var e={left:this._XconvertDOMtoCanvas(t.x),top:this._YconvertDOMtoCanvas(t.y),right:this._XconvertDOMtoCanvas(t.x),bottom:this._YconvertDOMtoCanvas(t.y)},i=!1;if("node"==this.popup.popupTargetType){if(i=this.nodes[this.popup.popupTargetId].isOverlappingWith(e),i===!0){var s=this._getNodeAt(t);i=s.id==this.popup.popupTargetId}}else null===this._getNodeAt(t)&&(i=this.edges[this.popup.popupTargetId].isOverlappingWith(e));i===!1&&(this.popupObj=void 0,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.pixelRatio,this.frame.canvas.height=this.frame.canvas.clientHeight*this.pixelRatio,this.constants.width=t,this.constants.height=e,i=!0):(this.frame.canvas.width!=this.frame.canvas.clientWidth*this.pixelRatio&&(this.frame.canvas.width=this.frame.canvas.clientWidth*this.pixelRatio,i=!0),this.frame.canvas.height!=this.frame.canvas.clientHeight*this.pixelRatio&&(this.frame.canvas.height=this.frame.canvas.clientHeight*this.pixelRatio,i=!0)),1==i&&this.emit("resize",{width:this.frame.canvas.width*this.pixelRatio,height:this.frame.canvas.height*this.pixelRatio,oldWidth:s*this.pixelRatio,oldHeight:o*this.pixelRatio})},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 f(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){for(var e=this.nodesData.get(t),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 f(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),this._markAllEdgesAsDirty()},s.prototype._markAllEdgesAsDirty=function(){for(var t in this.edges)this.edges[t].colorDirty=!0},s.prototype._removeNodes=function(t){for(var e=this.nodes,i=0,s=t.length;s>i;i++)void 0!==this.selectionObj.nodes[t[i]]&&(this.nodes[t[i]].unselect(),this._removeFromSelection(this.nodes[t[i]]));for(var 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++)void 0!==this.selectionObj.edges[t[i]]&&(e[t[i]].unselect(),this._removeFromSelection(e[t[i]]));for(var 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,o=0;for(e in t)if(t.hasOwnProperty(e)){var n=t[e].getValue();void 0!==n&&(i=void 0===i?n:Math.min(n,i),s=void 0===s?n:Math.max(n,s),o+=n)}if(void 0!==i&&void 0!==s)for(e in t)t.hasOwnProperty(e)&&t[e].setValueRange(i,s,o)},s.prototype.redraw=function(){this.setSize(this.constants.width,this.constants.height),this._redraw()},s.prototype._requestRedraw=function(t){this.redrawRequested!==!0&&(this.redrawRequested=!0,this.requiresTimeout===!0?window.setTimeout(this._redraw.bind(this,t),0):window.requestAnimationFrame(this._redraw.bind(this,t,!0)))},s.prototype._redraw=function(t){void 0===t&&(t=!1),this.redrawRequested=!1;var e=this.frame.canvas.getContext("2d");e.setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0);var i=this.frame.canvas.clientWidth,s=this.frame.canvas.clientHeight;e.clearRect(0,0,i,s),e.save(),e.translate(this.translation.x,this.translation.y),e.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)},t===!1&&(this._doInAllSectors("_drawAllSectorNodes",e),(0==this.drag.dragging||void 0===this.drag.dragging||0==this.constants.hideEdgesOnDrag)&&this._doInAllSectors("_drawEdges",e)),(0==this.drag.dragging||void 0===this.drag.dragging||0==this.constants.hideNodesOnDrag)&&this._doInAllSectors("_drawNodes",e,!1),t===!1&&1==this.controlNodesActive&&this._doInAllSectors("_drawControlNodes",e),e.restore(),t===!0&&e.clearRect(0,0,i,s)},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._revertPhysicsState=function(){var t=this.nodes;for(var e in t)t.hasOwnProperty(e)&&t[e].revertPosition()},s.prototype._revertPhysicsTick=function(){this._doInAllActiveSectors("_revertPhysicsState"),1==this.constants.smoothCurves.enabled&&1==this.constants.smoothCurves.dynamic&&this._doInSupportSector("_revertPhysicsState")},s.prototype._physicsTick=function(){if(!this.freezeSimulationEnabled&&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;s2*e||1==this.runDoubleSpeed)&&1==this.moving&&(this._physicsTick(),0!=this.renderTime&&(this.runDoubleSpeed=!0))}var i=Date.now();this._redraw(),this.renderTime=Date.now()-i,0==this.requiresTimeout&&this.start()},"undefined"!=typeof window&&(window.requestAnimationFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame),s.prototype.start=function(){if(1==this.freezeSimulationEnabled&&(this.moving=!1),1==this.moving||0!=this.xIncrement||0!=this.yIncrement||0!=this.zoomIncrement||1==this.animating)this.timer||(this.timer=1==this.requiresTimeout?window.setTimeout(this._animationStep.bind(this),this.renderTimestep):window.requestAnimationFrame(this._animationStep.bind(this)));else if(this._requestRedraw(),this.stabilizationIterations>1){var t=this,e={iterations:t.stabilizationIterations};this.stabilizationIterations=0,this.startedStabilization=!1,setTimeout(function(){t.emit("stabilized",e)},0)}else this.stabilizationIterations=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.freezeSimulation=function(t){1==t?(this.freezeSimulationEnabled=!0,this.moving=!1):(this.freezeSimulationEnabled=!1,this.moving=!0,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 f({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.animating=!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})},s.prototype.getBoundingBox=function(t){return void 0!==this.nodes[t]?this.nodes[t].boundingBox:void 0},s.prototype.getConnectedNodes=function(t){var e=[];if(void 0!==this.nodes[t])for(var i=this.nodes[t],s={nodeId:!0},o=0;oh}return!1},s.prototype._getColor=function(t){var e=this.options.color;if(1==this.options.useGradients){var i,s,n=t.createLinearGradient(this.from.x,this.from.y,this.to.x,this.to.y);return i=this.from.options.color.highlight.border,s=this.to.options.color.highlight.border,0==this.from.selected&&0==this.to.selected?(i=o.overrideOpacity(this.from.options.color.border,this.options.opacity),s=o.overrideOpacity(this.to.options.color.border,this.options.opacity)):1==this.from.selected&&0==this.to.selected?s=this.to.options.color.border:0==this.from.selected&&1==this.to.selected&&(i=this.from.options.color.border),n.addColorStop(0,i),n.addColorStop(1,s),n}return this.colorDirty===!0&&("to"==this.options.inheritColor?e={highlight:this.to.options.color.highlight.border,hover:this.to.options.color.hover.border,color:o.overrideOpacity(this.from.options.color.border,this.options.opacity)}:("from"==this.options.inheritColor||1==this.options.inheritColor)&&(e={highlight:this.from.options.color.highlight.border,hover:this.from.options.color.hover.border,color:o.overrideOpacity(this.from.options.color.border,this.options.opacity)}),this.options.color=e,this.colorDirty=!1),1==this.selected?e.highlight:1==this.hover?e.hover:e.color},s.prototype._drawLine=function(t){if(t.strokeStyle=this._getColor(t),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(){if(1==this.options.smoothCurves.dynamic&&1==this.options.smoothCurves.enabled)return this.via;if(0==this.options.smoothCurves.enabled)return{x:0,y:0};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);if("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));else if("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}}var o=this.labelDimensions.yLine;t.save(),"horizontal"!=this.options.labelAlignment&&(t.translate(i,o),this._rotateForLabelAlignment(t),i=0,o=0),this._drawLabelRect(t),this._drawLabelText(t,i,o,n,r,a),t.restore()}},s.prototype._rotateForLabelAlignment=function(t){var e=this.from.y-this.to.y,i=this.from.x-this.to.x,s=Math.atan2(e,i);(-1>s&&0>i||s>0&&0>i)&&(s+=Math.PI),t.rotate(s)},s.prototype._drawLabelRect=function(t){if(void 0!==this.options.fontFill&&null!==this.options.fontFill&&"none"!==this.options.fontFill){t.fillStyle=this.options.fontFill;var e=2;"line-center"==this.options.labelAlignment?t.fillRect(.5*-this.labelDimensions.width,.5*-this.labelDimensions.height,this.labelDimensions.width,this.labelDimensions.height):"line-above"==this.options.labelAlignment?t.fillRect(.5*-this.labelDimensions.width,-(this.labelDimensions.height+e),this.labelDimensions.width,this.labelDimensions.height):"line-below"==this.options.labelAlignment?t.fillRect(.5*-this.labelDimensions.width,e,this.labelDimensions.width,this.labelDimensions.height):t.fillRect(this.labelDimensions.left,this.labelDimensions.top,this.labelDimensions.width,this.labelDimensions.height)}},s.prototype._drawLabelText=function(t,e,i,s,o,n){if(t.fillStyle=this.options.fontColor||"black",t.textAlign="center","horizontal"!=this.options.labelAlignment){var r=2;"line-above"==this.options.labelAlignment?(t.textBaseline="alphabetic",i-=2*r):"line-below"==this.options.labelAlignment?(t.textBaseline="hanging",i+=2*r):t.textBaseline="middle"}else t.textBaseline="middle";this.options.fontStrokeWidth>0&&(t.lineWidth=this.options.fontStrokeWidth,t.strokeStyle=this.options.fontStrokeColor,t.lineJoin="round");for(var a=0;o>a;a++)this.options.fontStrokeWidth>0&&t.strokeText(s[a],e,i),t.fillText(s[a],e,i),i+=n},s.prototype._drawDashLine=function(t){t.strokeStyle=this._getColor(t),t.lineWidth=this._getLineWidth();var e=null;if(void 0!==t.setLineDash){t.save();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],t.setLineDash(i),t.lineDashOffset=0,e=this._line(t),t.setLineDash([0]),t.lineDashOffset=0,t.restore()}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),t.fillStyle=t.strokeStyle,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._pointOnBezier=function(t){var e=this._getViaCoordinates(),i=Math.pow(1-t,2)*this.from.x+2*t*(1-t)*e.x+Math.pow(t,2)*this.to.x,s=Math.pow(1-t,2)*this.from.y+2*t*(1-t)*e.y+Math.pow(t,2)*this.to.y;return{x:i,y:s}},s.prototype._findBorderPosition=function(t,e){var i,s,o,n,r,a=10,h=0,d=0,l=1,c=.2,p=this.to;for(1==t&&(p=this.from);l>=d&&a>h;){var u=.5*(d+l);if(i=this._pointOnBezier(u),s=Math.atan2(p.y-i.y,p.x-i.x),o=p.distanceToBorder(e,s),n=Math.sqrt(Math.pow(i.x-p.x,2)+Math.pow(i.y-p.y,2)),r=o-n,Math.abs(r)r?0==t?d=u:l=u:0==t?l=u:d=u,h++}return i.t=u,i},s.prototype._drawArrow=function(t){t.strokeStyle=this._getColor(t),t.fillStyle=t.strokeStyle,t.lineWidth=this._getLineWidth();var e,i,s;if(this.from!=this.to){if(this._line(t),1==this.options.smoothCurves.enabled){var o=this._getViaCoordinates();s=this._findBorderPosition(!1,t);var n=this._pointOnBezier(Math.max(0,s.t-.1));e=Math.atan2(s.y-n.y,s.x-n.x)}else{e=Math.atan2(this.to.y-this.from.y,this.to.x-this.from.x);var r=this.to.x-this.from.x,a=this.to.y-this.from.y,h=Math.sqrt(r*r+a*a),d=this.to.distanceToBorder(t,e),l=(h-d)/h;s={},s.x=(1-l)*this.from.x+l*this.to.x,s.y=(1-l)*this.from.y+l*this.to.y}if(i=(10+5*this.options.width)*this.options.arrowScaleFactor,t.arrow(s.x,s.y,e,i),t.fill(),t.stroke(),this.label){var c;c=1==this.options.smoothCurves.enabled&&null!=o?this._pointOnBezier(.5):this._pointOnLine(.5),this._label(t,this.label,c.x,c.y)}}else{var p,u,m,f=this.from,g=.25*Math.max(100,this.physics.springLength);f.width||f.resize(t),f.width>f.height?(p=f.x+.5*f.width,u=f.y-g,m={x:p,y:f.y,angle:.9*Math.PI}):(p=f.x+g,u=f.y-.5*f.height,m={x:f.x,y:u,angle:.6*Math.PI}),t.beginPath(),t.arc(p,u,g,0,2*Math.PI,!1),t.stroke();var i=(10+5*this.options.width)*this.options.arrowScaleFactor;t.arrow(m.x,m.y,m.angle,i),t.fill(),t.stroke(),this.label&&(c=this._pointOnCircle(p,u,g,.5),this._label(t,this.label,c.x,c.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,m,f,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,m=Math.pow(1-p,2)*e+2*p*(1-p)*h+Math.pow(p,2)*s,c>0&&(l=this._getDistanceToLine(f,g,u,m,o,n),v=v>l?l:v),f=u,g=m;r=v}else r=this._getDistanceToLine(t,e,i,s,o,n);else{var u,m,y,b,_=.25*this.physics.springLength,x=this.from;x.width>x.height?(u=x.x+.5*x.width,m=x.y-_):(u=x.x+_,m=x.y-.5*x.height),y=u-o,b=m-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)):null!==this.via&&(this.via.x=0,this.via.y=0)},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:7,borderWidth:2,borderWidthSelected:2},physics:{damping:0},clustering:{maxNodeSizeIncrements:0,nodeScaling:{width:0,height:0,radius:0}}};this.controlNodes.from=new n({id:e,shape:"dot",color:{background:"#ff0000",border:"#3c3c3c",highlight:{background:"#07f968"}}},{},{},s),this.controlNodes.to=new n({id:i,shape:"dot",color:{background:"#ff0000",border:"#3c3c3c",highlight:{background:"#07f968"}}},{},{},s)}this.controlNodes.positions={},0==this.controlNodes.from.selected&&(this.controlNodes.positions.from=this.getControlNodeFromPosition(t),this.controlNodes.from.x=this.controlNodes.positions.from.x,this.controlNodes.from.y=this.controlNodes.positions.from.y),0==this.controlNodes.to.selected&&(this.controlNodes.positions.to=this.getControlNodeToPosition(t),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.fromBackup=this.from,this.toBackup=this.to,this.controlNodesEnabled=!0},s.prototype._disableControlNodes=function(){this.fromId=this.from.id,this.toId=this.to.id,this.fromId!=this.fromBackup.id?this.fromBackup.detachEdge(this):this.toId!=this.toBackup.id&&this.toBackup.detachEdge(this),this.fromBackup=null,this.toBackup=null,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.getControlNodeFromPosition=function(t){var e;if(1==this.options.smoothCurves.enabled)e=this._findBorderPosition(!0,t);else{var 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;e={},e.x=a*this.from.x+(1-a)*this.to.x,e.y=a*this.from.y+(1-a)*this.to.y}return e},s.prototype.getControlNodeToPosition=function(t){var e;if(1==this.options.smoothCurves.enabled)e=this._findBorderPosition(!1,t);else{var 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.to.distanceToBorder(t,i),a=(n-r)/n;e={},e.x=(1-a)*this.from.x+a*this.to.x,e.y=(1-a)*this.from.y+a*this.to.y}return e},t.exports=s},function(t,e,i){function s(){this.clear(),this.defaultIndex=0,this.groupsArray=[],this.groupIndex=0,this.useDefaultGroups=!0}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"}},{border:"#990000",background:"#EE0000",highlight:{border:"#BB0000",background:"#FF3333"},hover:{border:"#BB0000",background:"#FF3333"}},{border:"#FF6000",background:"#FF6000",highlight:{border:"#FF6000",background:"#FF6000"},hover:{border:"#FF6000",background:"#FF6000"}},{border:"#97C2FC",background:"#2B7CE9",highlight:{border:"#D2E5FF",background:"#2B7CE9"},hover:{border:"#D2E5FF",background:"#2B7CE9"}},{border:"#399605",background:"#255C03",highlight:{border:"#399605",background:"#255C03"},hover:{border:"#399605",background:"#255C03"}},{border:"#B70054",background:"#FF007E",highlight:{border:"#B70054",background:"#FF007E"},hover:{border:"#B70054",background:"#FF007E"}},{border:"#AD85E4",background:"#7C29F0",highlight:{border:"#D3BDF0",background:"#7C29F0"},hover:{border:"#D3BDF0",background:"#7C29F0"}},{border:"#4557FA",background:"#000EA1",highlight:{border:"#6E6EFD",background:"#000EA1"},hover:{border:"#6E6EFD",background:"#000EA1"}},{border:"#FFC0CB",background:"#FD5A77",highlight:{border:"#FFD1D9",background:"#FD5A77"},hover:{border:"#FFD1D9",background:"#FD5A77"}},{border:"#C2FABC",background:"#74D66A",highlight:{border:"#E6FFE3",background:"#74D66A"},hover:{border:"#E6FFE3",background:"#74D66A"}},{border:"#EE0000",background:"#990000",highlight:{border:"#FF3333",background:"#BB0000"},hover:{border:"#FF3333",background:"#BB0000"}}],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)if(this.useDefaultGroups===!1&&this.groupsArray.length>0){var i=this.groupIndex%this.groupsArray.length;this.groupIndex++,e={},e.color=this.groups[this.groupsArray[i]],this.groups[t]=e}else{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,this.groupsArray.push(t),e},t.exports=s},function(t){function e(){this.images={},this.imageBroken={},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,i.onload=function(){0==this.width&&(document.body.appendChild(this),this.width=this.offsetWidth,this.height=this.offsetHeight,document.body.removeChild(this)),s.callback&&(s.images[t]=i,s.callback(this))},i.onerror=function(){void 0===e?(console.error("Could not load image:",t),delete this.src,s.callback&&s.callback(this)):s.imageBroken[t]===!0?this.src==e?(console.error("Could not load brokenImage:",e),delete this.src,s.callback&&s.callback(this)):(console.error("Could not load image:",t),this.src=e):(console.error("Could not load image:",t),this.src=e,s.imageBroken[t]=!0)},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.id=void 0,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.boundingBox={top:0,left:0,right:0,bottom:0},this.imagelist=e,this.grouplist=i,this.fx=0,this.fy=0,this.vx=0,this.vy=0,this.x=null,this.y=null,this.predefinedPosition=!1,this.previousState={vx:0,vy:0,x:0,y:0},this.damping=s.physics.damping,this.fixedData={x:null,y:null},this.setProperties(t,n),this.resetCluster(),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.revertPosition=function(){this.x=this.previousState.x,this.y=this.previousState.y,this.vx=this.previousState.vx,this.vy=this.previousState.vy},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)},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)},s.prototype.setProperties=function(t,e){if(t){var i=["borderWidth","borderWidthSelected","shape","image","brokenImage","radius","fontColor","fontSize","fontFace","fontFill","fontStrokeWidth","fontStrokeColor","group","mass","fontDrawThreshold","scaleFontWithValue","fontSizeMaxVisible","customScalingFunction","iconFontFace","icon","iconColor","iconSize"];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,this.predefinedPosition=!0),void 0!==t.y&&(this.y=t.y,this.predefinedPosition=!0),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 t.group||"string"==typeof t.group&&""!=t.group){var s=this.grouplist.get(t.group);o.deepExtend(this.options,s),this.options.color=o.parseColor(this.options.color)}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||"circularImage"===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"circularImage":this.draw=this._drawCircularImage,this.resize=this._resizeCircularImage;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;case"icon":this.draw=this._drawIcon,this.resize=this._resizeIcon;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.storeState=function(){this.previousState.x=this.x,this.previousState.y=this.y,this.previousState.vx=this.vx,this.previousState.vy=this.vy},s.prototype.discreteStep=function(t){if(this.storeState(),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.storeState(),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,i){if(!this.radiusFixed&&void 0!==this.value){var s=this.options.customScalingFunction(t,e,i,this.value),o=this.options.radiusMax-this.options.radiusMin;if(1==this.options.scaleFontWithValue){var n=this.options.fontSizeMax-this.options.fontSizeMin;this.options.fontSize=this.options.fontSizeMin+s*n}this.options.radius=this.options.radiusMin+s*o}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._drawImageAtPosition=function(t){if(0!=this.imageObj.width){if(this.clusterSize>1){var e=this.clusterSize>1?10:0;e*=this.networkScaleInv,e=Math.min(.2*this.width,e),t.globalAlpha=.5,t.drawImage(this.imageObj,this.left-e,this.top-e,this.width+2*e,this.height+2*e)}t.globalAlpha=1,t.drawImage(this.imageObj,this.left,this.top,this.width,this.height)}},s.prototype._drawImageLabel=function(t){var e,i=0;if(this.height){i=this.height/2;var s=this.getTextSize(t);s.lineCount>=1&&(i+=s.height/2,i+=3)}e=this.y+i,this._label(t,this.label,this.x,e,void 0)},s.prototype._drawImage=function(t){this._resizeImage(t),this.left=this.x-this.width/2,this.top=this.y-this.height/2,this._drawImageAtPosition(t),this.boundingBox.top=this.top,this.boundingBox.left=this.left,this.boundingBox.right=this.left+this.width,this.boundingBox.bottom=this.top+this.height,this._drawImageLabel(t),this.boundingBox.left=Math.min(this.boundingBox.left,this.labelDimensions.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelDimensions.left+this.labelDimensions.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelDimensions.height)},s.prototype._resizeCircularImage=function(t){if(this.imageObj.src&&this.imageObj.width&&this.imageObj.height)this._swapToImageResizeWhenImageLoaded&&(this.width=0,this.height=0,delete this._swapToImageResizeWhenImageLoaded),this._resizeImage(t);else if(!this.width){var e=2*this.options.radius;this.width=e,this.height=e,this.options.radius+=.5*Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeRadiusFactor,this.growthIndicator=this.options.radius-.5*e,this._swapToImageResizeWhenImageLoaded=!0}},s.prototype._drawCircularImage=function(t){this._resizeCircularImage(t),this.left=this.x-this.width/2,this.top=this.y-this.height/2;var e=this.left+this.width/2,i=this.top+this.height/2,s=Math.abs(this.height/2);this._drawRawCircle(t,e,i,s),t.save(),t.circle(this.x,this.y,s),t.stroke(),t.clip(),this._drawImageAtPosition(t),t.restore(),this.boundingBox.top=this.y-this.options.radius,this.boundingBox.left=this.x-this.options.radius,this.boundingBox.right=this.x+this.options.radius,this.boundingBox.bottom=this.y+this.options.radius,this._drawImageLabel(t),this.boundingBox.left=Math.min(this.boundingBox.left,this.labelDimensions.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelDimensions.left+this.labelDimensions.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelDimensions.height)},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.hover?this.options.color.hover.background:this.options.color.background,t.roundRect(this.left,this.top,this.width,this.height,this.options.radius),t.fill(),t.stroke(),this.boundingBox.top=this.top,this.boundingBox.left=this.left,this.boundingBox.right=this.left+this.width,this.boundingBox.bottom=this.top+this.height,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.boundingBox.top=this.top,this.boundingBox.left=this.left,this.boundingBox.right=this.left+this.width,this.boundingBox.bottom=this.top+this.height,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._drawRawCircle=function(t,e,i,s){var o=2.5,n=this.options.borderWidth,r=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?r:n)+(this.clusterSize>1?o:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t.circle(e,i,s+2*t.lineWidth),t.stroke()),t.lineWidth=(this.selected?r:n)+(this.clusterSize>1?o: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,s),t.fill(),t.stroke()},s.prototype._drawCircle=function(t){this._resizeCircle(t),this.left=this.x-this.width/2,this.top=this.y-this.height/2,this._drawRawCircle(t,this.x,this.y,this.options.radius),this.boundingBox.top=this.y-this.options.radius,this.boundingBox.left=this.x-this.options.radius,this.boundingBox.right=this.x+this.options.radius,this.boundingBox.bottom=this.y+this.options.radius,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.boundingBox.top=this.top,this.boundingBox.left=this.left,this.boundingBox.right=this.left+this.width,this.boundingBox.bottom=this.top+this.height,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.boundingBox.top=this.y-this.options.radius,this.boundingBox.left=this.x-this.options.radius,this.boundingBox.right=this.x+this.options.radius,this.boundingBox.bottom=this.y+this.options.radius,this.label&&(this._label(t,this.label,this.x,this.y+this.height/2,void 0,"hanging",!0),this.boundingBox.left=Math.min(this.boundingBox.left,this.labelDimensions.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelDimensions.left+this.labelDimensions.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelDimensions.height))},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),this.boundingBox.top=this.top,this.boundingBox.left=this.left,this.boundingBox.right=this.left+this.width,this.boundingBox.bottom=this.top+this.height},s.prototype._resizeIcon=function(){if(!this.width){var t=5,e={width:Number(this.options.iconSize),height:Number(this.options.iconSize)};this.width=e.width+2*t,this.height=e.height+2*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+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeRadiusFactor,this.growthIndicator=this.width-(e.width+2*t)}},s.prototype._drawIcon=function(t){if(this._resizeIcon(t),this.options.iconSize=this.options.iconSize||50,this.left=this.x-this.width/2,this.top=this.y-this.height/2,this._icon(t),this.boundingBox.top=this.y-this.options.iconSize/2,this.boundingBox.left=this.x-this.options.iconSize/2,this.boundingBox.right=this.x+this.options.iconSize/2,this.boundingBox.bottom=this.y+this.options.iconSize/2,this.label){var e=5;this._label(t,this.label,this.x,this.y+this.height/2+e,"top",!0),this.boundingBox.left=Math.min(this.boundingBox.left,this.labelDimensions.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelDimensions.left+this.labelDimensions.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelDimensions.height)}},s.prototype._icon=function(t){var e=Number(this.options.iconSize)*this.networkScale;if(this.options.icon&&e>this.options.fontDrawThreshold-1){var i=Number(this.options.iconSize);t.font=(this.selected?"bold ":"")+i+"px "+this.options.iconFontFace,t.fillStyle=this.options.iconColor||"black",t.textAlign="center",t.textBaseline="middle",t.fillText(this.options.icon,this.x,this.y)}},s.prototype._label=function(t,e,i,s,n,r,a){var h=Number(this.options.fontSize)*this.networkScale;if(e&&h>=this.options.fontDrawThreshold-1){var d=Number(this.options.fontSize);h>=this.options.fontSizeMaxVisible&&(d=Number(this.options.fontSizeMaxVisible)*this.networkScaleInv);var l=this.options.fontColor||"#000000",c=this.options.fontStrokeColor;if(h<=this.options.fontDrawThreshold){var p=Math.max(0,Math.min(1,1-(this.options.fontDrawThreshold-h)));l=o.overrideOpacity(l,p),c=o.overrideOpacity(c,p)}t.font=(this.selected?"bold ":"")+d+"px "+this.options.fontFace;var u=e.split("\n"),m=u.length,f=s+(1-m)/2*d;1==a&&(f=s+(1-m)/(2*d));for(var g=t.measureText(u[0]).width,v=1;m>v;v++){var y=t.measureText(u[v]).width;g=y>g?y:g}var b=d*m,_=i-g/2,x=s-b/2;"hanging"==r&&(x+=.5*d,x+=4,f+=4),this.labelDimensions={top:x,left:_,width:g,height:b,yLine:f},void 0!==this.options.fontFill&&null!==this.options.fontFill&&"none"!==this.options.fontFill&&(t.fillStyle=this.options.fontFill,t.fillRect(_,x,g,b)),t.fillStyle=l,t.textAlign=n||"center",t.textBaseline=r||"middle",this.options.fontStrokeWidth>0&&(t.lineWidth=this.options.fontStrokeWidth,t.strokeStyle=c,t.lineJoin="round");for(var v=0;m>v;v++)this.options.fontStrokeWidth&&t.strokeText(u[v],i,f),t.fillText(u[v],i,f),f+=d}},s.prototype.getTextSize=function(t){if(void 0!==this.label){var e=Number(this.options.fontSize);e*this.networkScale>this.options.fontSizeMaxVisible&&(e=Number(this.options.fontSizeMaxVisible)*this.networkScaleInv),t.font=(this.selected?"bold ":"")+e+"px "+this.options.fontFace;for(var i=this.label.split("\n"),s=(e+4)*i.length,o=0,n=0,r=i.length;r>n;n++)o=Math.max(o,t.measureText(i[n]).width);return{width:o,height:s,lineCount:i.length}}return{width:0,height:0,lineCount: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(N=M.NULL,k="";" "==E||" "==E||"\n"==E||"\r"==E;)o();do{var t=!1;if("#"==E){for(var e=O-1;" "==T.charAt(e)||" "==T.charAt(e);)e--;if("\n"==T.charAt(e)||""==T.charAt(e)){for(;""!=E&&"\n"!=E;)o();t=!0}}if("/"==E&&"/"==n()){for(;""!=E&&"\n"!=E;)o();t=!0}if("/"==E&&"*"==n()){for(;""!=E;){if("*"==E&&"/"==n()){o(),o();break}o()}t=!0}for(;" "==E||" "==E||"\n"==E||"\r"==E;)o()}while(t);if(""==E)return void(N=M.DELIMITER);var i=E+n();if(C[i])return N=M.DELIMITER,k=i,o(),void o();if(C[E])return N=M.DELIMITER,k=E,void o();if(r(E)||"-"==E){for(k+=E,o();r(E);)k+=E,o();return"false"==k?k=!1:"true"==k?k=!0:isNaN(Number(k))||(k=Number(k)),void(N=M.IDENTIFIER)}if('"'==E){for(o();""!=E&&('"'!=E||'"'==E&&'"'==n());)k+=E,'"'==E&&o(),o();if('"'!=E)throw x('End of string " expected');return o(),void(N=M.IDENTIFIER)}for(N=M.UNKNOWN;""!=E;)k+=E,o();throw new SyntaxError('Syntax error in part "'+w(k,30)+'"')}function u(){var t={};if(s(),p(),"strict"==k&&(t.strict=!0,p()),("graph"==k||"digraph"==k)&&(t.type=k,p()),N==M.IDENTIFIER&&(t.id=k,p()),"{"!=k)throw x("Angle bracket { expected");if(p(),m(t),"}"!=k)throw x("Angle bracket } expected");if(p(),""!==k)throw x("End of file expected");return p(),delete t.node,delete t.edge,delete t.graph,t}function m(t){for(;""!==k&&"}"!=k;)f(t),";"==k&&p()}function f(t){var e=g(t);if(e)return void b(t,e);var i=v(t);if(!i){if(N!=M.IDENTIFIER)throw x("Identifier expected");var s=k;if(p(),"="==k){if(p(),N!=M.IDENTIFIER)throw x("Identifier expected");t[s]=k,p()}else y(t,s)}}function g(t){var e=null;if("subgraph"==k&&(e={},e.type="subgraph",p(),N==M.IDENTIFIER&&(e.id=k,p())),"{"==k){if(p(),e||(e={}),e.parent=t,e.node=t.node,e.edge=t.edge,e.graph=t.graph,m(e),"}"!=k)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"==k?(p(),t.node=_(),"node"):"edge"==k?(p(),t.edge=_(),"edge"):"graph"==k?(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(;"->"==k||"--"==k;){var i,s=k;p();var o=g(t);if(o)i=o;else{if(N!=M.IDENTIFIER)throw x("Identifier or subgraph expected");i=k,d(t,{id:i}),p()}var n=_(),r=c(t,e,i,s,n);l(t,r),e=i}}function _(){for(var t=null;"["==k;){for(p(),t={};""!==k&&"]"!=k;){if(N!=M.IDENTIFIER)throw x("Attribute name expected");var e=k;if(p(),"="!=k)throw x("Equal sign = expected");if(p(),N!=M.IDENTIFIER)throw x("Attribute value expected");var i=k;h(t,e,i),p(),","==k&&p()}if("]"!=k)throw x("Bracket ] expected");p()}return t}function x(t){return new SyntaxError(t+', got "'+w(k,30)+'" (char '+O+")")}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){var e=i(t),s={nodes:[],edges:[],options:{}};if(e.nodes&&e.nodes.forEach(function(t){var e={id:t.id,label:String(t.label||t.id)};a(e,t.attr),e.image&&(e.shape="image"),s.nodes.push(e)}),e.edges){var o=function(t){var e={from:t.from,to:t.to};return a(e,t.attr),e.style="->"==t.type?"arrow":"line",e};e.edges.forEach(function(t){var e,i;e=t.from instanceof Object?t.from.nodes:{id:t.from},i=t.to instanceof Object?t.to.nodes:{id:t.to},t.from instanceof Object&&t.from.edges&&t.from.edges.forEach(function(t){var e=o(t);s.edges.push(e)}),S(e,i,function(e,i){var n=c(s,e.id,i.id,t.type,t.attr),r=o(n);s.edges.push(r)}),t.to instanceof Object&&t.to.edges&&t.to.edges.forEach(function(t){var e=o(t);s.edges.push(e)})})}return e.attr&&(s.options=e.attr),s}var M={NULL:0,DELIMITER:1,IDENTIFIER:2,UNKNOWN:3},C={"{":!0,"}":!0,"[":!0,"]":!0,";":!0,"=":!0,",":!0,"->":!0,"--":!0},T="",O=0,E="",k="",N=M.NULL,I=/[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;r0?Math.max.apply(null,i)+1:1):(this.customBarIds.forEach(function(t){if(t===e)throw new Error("Custom time ID already exists")}),o=e),this.customBarIds.push(o),s=new l(this.body,{showCustomTime:!0,time:n,id:o}),this.components.push(s),this.redraw(),o},s.prototype.removeCustomTime=function(t){var e=this;this.components.forEach(function(i,s,o){i instanceof l&&i.options.id===t&&0!==i.options.id&&(e.customBarIds.splice(e.customBarIds.indexOf(t),1),o.splice(s,1),i.destroy())})},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._getDataRange();if(null!==e.start||null!==e.end){var i=t&&void 0!==t.animate?t.animate:!0;this.range.setRange(e.start,e.end,i)}},s.prototype._getDataRange=function(){var t=this.getItemRange(),e=t.min,i=t.max;if(null!=e&&null!=i){var s=i.valueOf()-e.valueOf();0>=s&&(s=864e5),e=new Date(e.valueOf()-.05*s),i=new Date(i.valueOf()+.05*s)}return{start:e,end:i}},s.prototype.setWindow=function(t,e,i){var s;if(1==arguments.length){var o=arguments[0];s=void 0!==o.animate?o.animate:!0,this.range.setRange(o.start,o.end,s)}else s=i&&void 0!==i.animate?i.animate:!0,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(){this._redraw()},s.prototype._redraw=function(){var t=!1,e=this.options,i=this.props,s=this.dom;if(s){d.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),h=i.top.height+a+i.bottom.height+o+i.border.top+i.border.bottom;s.root.style.height=r.option.asSize(e.height,h+"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":"",m=this.props.scrollTop==this.props.scrollTopMin?"hidden":"";if(s.shadowTop.style.visibility=u,s.shadowBottom.style.visibility=m,s.shadowTopLeft.style.visibility=u,s.shadowBottomLeft.style.visibility=m,s.shadowTopRight.style.visibility=u,s.shadowBottomRight.style.visibility=m,this.components.forEach(function(e){t=e.redraw()||t}),t){var f=3;this.redrawCount0&&(this.props.scrollTop=0),this.props.scrollTopt[s].y?t[s].y:e,i=i0){var r,a,h=Number(i.svg.style.height.replace("px",""));if(r=o.getSVGElement("path",i.svgElements,i.svg),r.setAttributeNS(null,"class",e.className),void 0!==e.style&&r.setAttributeNS(null,"style",e.style),a=1==e.options.catmullRom.enabled?s._catmullRom(t,e):s._linear(t),1==e.options.shaded.enabled){var d,l=o.getSVGElement("path",i.svgElements,i.svg);d="top"==e.options.shaded.orientation?"M"+t[0].x+",0 "+a+"L"+t[t.length-1].x+",0":"M"+t[0].x+","+h+" "+a+"L"+t[t.length-1].x+","+h,l.setAttributeNS(null,"class",e.className+" fill"),void 0!==e.options.shaded.style&&l.setAttributeNS(null,"style",e.options.shaded.style),l.setAttributeNS(null,"d",d)}r.setAttributeNS(null,"d","M"+a),1==e.options.drawPoints.enabled&&n.draw(t,e,i)}},s._catmullRomUniform=function(t){for(var e,i,s,o,n,r,a=Math.round(t[0].x)+","+Math.round(t[0].y)+" ",h=1/6,d=t.length,l=0;d-1>l;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._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,m,f,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,m=3*x*(x+v),m>0&&(m=1/m),f=3*g*(g+v),f>0&&(f=1/f),a={x:(-b*s.x+p*o.x+_*n.x)*m,y:(-b*s.y+p*o.y+_*n.y)*m},h={x:(y*o.x+u*n.x-b*r.x)*f,y:(y*o.y+u*n.y-b*r.y)*f},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._linear=function(t){for(var e="",i=0;it[s].y?t[s].y:e,i=i0&&(n=Math.min(n,Math.abs(c[d-1].x-r))),a=s._getSafeDrawData(n,h,m);else{var g=d+(p[r].amount-p[r].resolved),v=d-(p[r].resolved+1);g0&&(n=Math.min(n,Math.abs(c[v].x-r))),a=s._getSafeDrawData(n,h,m),p[r].resolved+=1,"stack"==h.options.barChart.handleOverlap?(f=p[r].accumulated,p[r].accumulated+=h.zeroPosition-c[d].y):"sideBySide"==h.options.barChart.handleOverlap&&(a.width=a.width/p[r].amount,a.offset+=p[r].resolved*a.width-.5*a.width*(p[r].amount+1),"left"==h.options.barChart.align?a.offset-=.5*a.width:"right"==h.options.barChart.align&&(a.offset+=.5*a.width))}o.drawBar(c[d].x+a.offset,c[d].y-f,a.width,h.zeroPosition-c[d].y,h.className+" bar",i.svgElements,i.svg),1==h.options.drawPoints.enabled&&o.drawPoint(c[d].x+a.offset,c[d].y,h,i.svgElements,i.svg)}},s._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._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.getStackedBarYRange=function(t,e,i,o,n){if(t.length>0){t.sort(function(t,e){return t.x==e.x?t.groupId-e.groupId:t.x-e.x});var r={};s._getDataIntersections(r,t),e[o]=s._getStackedBarYRange(r,t),e[o].yAxisOrientation=n,i.push(o)}},s._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=ot[s].y?t[s].y:e,i=is;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,m=e+(s-r/2),f=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,m),this.bezierCurveTo(l,m+d,p+h,f,p,f),this.bezierCurveTo(p-h,f,t,m+d,t,m),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){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,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 Ie.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){Ce.suppressDeprecationWarnings===!1&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+t)}function l(t,e){var i=!0;return b(function(){return i&&(d(t),i=!1),e.apply(this,arguments)},e)}function c(t,e){Si[t]||(d(e),Si[t]=!0)}function p(t,e){return function(i){return w(t.call(this,i),e)}}function u(t,e){return function(i){return this.localeData().ordinal(t.call(this,i),e)}}function m(t,e){var i,s,o=12*(e.year()-t.year())+(e.month()-t.month()),n=t.clone().add(o,"months");return 0>e-n?(i=t.clone().add(o-1,"months"),s=(e-n)/(n-i)):(i=t.clone().add(o+1,"months"),s=(e-n)/(i-n)),-(o+s)}function f(t,e,i){var s;return null==i?e:null!=t.meridiemHour?t.meridiemHour(e,i):null!=t.isPM?(s=t.isPM(i),s&&12>e&&(e+=12),s||12!==e||(e=0),e):e}function g(){}function v(t,e){e!==!1&&R(t),_(this,t),this._d=new Date(+t._d),Mi===!1&&(Mi=!0,Ce.updateOffset(this),Mi=!1)}function y(t){var e=N(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=Ce.localeData(),this._bubble()}function b(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 _(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),Ye.length>0)for(i in Ye)s=Ye[i],o=e[s],"undefined"!=typeof o&&(t[s]=o);return t}function x(t){return 0>t?Math.ceil(t):Math.floor(t)}function w(t,e,i){for(var s=""+Math.abs(t),o=t>=0;s.lengths;s++)(i&&t[s]!==e[s]||!i&&L(t[s])!==L(e[s]))&&r++;return r+n}function k(t){if(t){var e=t.toLowerCase().replace(/(.)s$/,"$1");t=gi[t]||vi[e]||e}return t}function N(t){var e,i,s={};for(i in t)a(t,i)&&(e=k(i),e&&(s[e]=t[i]));return s}function I(t){var e,i;if(0===t.indexOf("week"))e=7,i="day";else{if(0!==t.indexOf("month"))return;e=12,i="month"}Ce[t]=function(s,o){var r,a,h=Ce._locale[t],d=[];if("number"==typeof s&&(o=s,s=n),a=function(t){var e=Ce().utc().set(i,t);return h.call(Ce._locale,e,s||"")},null!=o)return a(o);for(r=0;e>r;r++)d.push(a(r));return d}}function L(t){var e=+t,i=0;return 0!==e&&isFinite(e)&&(i=e>=0?Math.floor(e):Math.ceil(e)),i}function z(t,e){return new Date(Date.UTC(t,e+1,0)).getUTCDate()}function A(t,e,i){return me(Ce([t,11,31+e-i]),e,i).week}function P(t){return F(t)?366:365}function F(t){return t%4===0&&t%100!==0||t%400===0}function R(t){var e;t._a&&-2===t._pf.overflow&&(e=t._a[ze]<0||t._a[ze]>11?ze:t._a[Ae]<1||t._a[Ae]>z(t._a[Le],t._a[ze])?Ae:t._a[Pe]<0||t._a[Pe]>24||24===t._a[Pe]&&(0!==t._a[Fe]||0!==t._a[Re]||0!==t._a[He])?Pe:t._a[Fe]<0||t._a[Fe]>59?Fe:t._a[Re]<0||t._a[Re]>59?Re:t._a[He]<0||t._a[He]>999?He:-1,t._pf._overflowDayOfYear&&(Le>e||e>Ae)&&(e=Ae),t._pf.overflow=e)}function H(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._pf.bigHour===n)),t._isValid}function B(t){return t?t.toLowerCase().replace("_","-"):t}function Y(t){for(var e,i,s,o,n=0;n0;){if(s=W(o.slice(0,e).join("-")))return s;if(i&&i.length>=e&&E(o,i,!0)>=e-1)break;e--}n++}return null}function W(t){var e=null; +if(!Be[t]&&We)try{e=Ce.locale(),!function(){var t=new Error('Cannot find module "./locale"');throw t.code="MODULE_NOT_FOUND",t}(),Ce.locale(e)}catch(i){}return Be[t]}function G(t,e){var i,s;return e._isUTC?(i=e.clone(),s=(Ce.isMoment(t)||O(t)?+t:+Ce(t))-+i,i._d.setTime(+i._d+s),Ce.updateOffset(i,!1),i):Ce(t).local()}function j(t){return t.match(/\[[\s\S]/)?t.replace(/^\[|\]$/g,""):t.replace(/\\/g,"")}function V(t){var e,i,s=t.match(Ue);for(e=0,i=s.length;i>e;e++)s[e]=wi[s[e]]?wi[s[e]]:j(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 U(t,e){return t.isValid()?(e=X(e,t.localeData()),yi[e]||(yi[e]=V(e)),yi[e](t)):t.localeData().invalidDate()}function X(t,e){function i(t){return e.longDateFormat(t)||t}var s=5;for(Xe.lastIndex=0;s>=0&&Xe.test(t);)t=t.replace(Xe,i),Xe.lastIndex=0,s-=1;return t}function q(t,e){var i,s=e._strict;switch(t){case"Q":return oi;case"DDDD":return ri;case"YYYY":case"GGGG":case"gggg":return s?ai:Qe;case"Y":case"G":case"g":return di;case"YYYYYY":case"YYYYY":case"GGGGG":case"ggggg":return s?hi:Ke;case"S":if(s)return oi;case"SS":if(s)return ni;case"SSS":if(s)return ri;case"DDD":return Ze;case"MMM":case"MMMM":case"dd":case"ddd":case"dddd":return Je;case"a":case"A":return e._locale._meridiemParse;case"x":return ii;case"X":return si;case"Z":case"ZZ":return ti;case"T":return ei;case"SSSS":return $e;case"MM":case"DD":case"YY":case"GG":case"gg":case"HH":case"hh":case"mm":case"ss":case"ww":case"WW":return s?ni:qe;case"M":case"D":case"d":case"H":case"h":case"m":case"s":case"w":case"W":case"e":case"E":return qe;case"Do":return s?e._locale._ordinalParse:e._locale._ordinalParseLenient;default:return i=new RegExp(se(ie(t.replace("\\","")),"i"))}}function Z(t){t=t||"";var e=t.match(ti)||[],i=e[e.length-1]||[],s=(i+"").match(mi)||["-",0,0],o=+(60*s[1])+L(s[2]);return"+"===s[0]?o:-o}function Q(t,e,i){var s,o=i._a;switch(t){case"Q":null!=e&&(o[ze]=3*(L(e)-1));break;case"M":case"MM":null!=e&&(o[ze]=L(e)-1);break;case"MMM":case"MMMM":s=i._locale.monthsParse(e,t,i._strict),null!=s?o[ze]=s:i._pf.invalidMonth=e;break;case"D":case"DD":null!=e&&(o[Ae]=L(e));break;case"Do":null!=e&&(o[Ae]=L(parseInt(e.match(/\d{1,2}/)[0],10)));break;case"DDD":case"DDDD":null!=e&&(i._dayOfYear=L(e));break;case"YY":o[Le]=Ce.parseTwoDigitYear(e);break;case"YYYY":case"YYYYY":case"YYYYYY":o[Le]=L(e);break;case"a":case"A":i._meridiem=e;break;case"h":case"hh":i._pf.bigHour=!0;case"H":case"HH":o[Pe]=L(e);break;case"m":case"mm":o[Fe]=L(e);break;case"s":case"ss":o[Re]=L(e);break;case"S":case"SS":case"SSS":case"SSSS":o[He]=L(1e3*("0."+e));break;case"x":i._d=new Date(L(e));break;case"X":i._d=new Date(1e3*parseFloat(e));break;case"Z":case"ZZ":i._useUTC=!0,i._tzm=Z(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]=L(e));break;case"gg":case"GG":i._w=i._w||{},i._w[t]=Ce.parseTwoDigitYear(e)}}function K(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[Le],me(Ce(),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[Le],me(Ce(),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=fe(i,s,o,a,n),t._a[Le]=h.year,t._dayOfYear=h.dayOfYear}function $(t){var e,i,s,o,n=[];if(!t._d){for(s=te(t),t._w&&null==t._a[Ae]&&null==t._a[ze]&&K(t),t._dayOfYear&&(o=r(t._a[Le],s[Le]),t._dayOfYear>P(o)&&(t._pf._overflowDayOfYear=!0),i=le(o,0,t._dayOfYear),t._a[ze]=i.getUTCMonth(),t._a[Ae]=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];24===t._a[Pe]&&0===t._a[Fe]&&0===t._a[Re]&&0===t._a[He]&&(t._nextDay=!0,t._a[Pe]=0),t._d=(t._useUTC?le:de).apply(null,n),null!=t._tzm&&t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),t._nextDay&&(t._a[Pe]=24)}}function J(t){var e;t._d||(e=N(t._i),t._a=[e.year,e.month,e.day||e.date,e.hour,e.minute,e.second,e.millisecond],$(t))}function te(t){var e=new Date;return t._useUTC?[e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()]:[e.getFullYear(),e.getMonth(),e.getDate()]}function ee(t){if(t._f===Ce.ISO_8601)return void ne(t);t._a=[],t._pf.empty=!0;var e,i,s,o,r,a=""+t._i,h=a.length,d=0;for(s=X(t._f,t._locale).match(Ue)||[],e=0;e0&&t._pf.unusedInput.push(r),a=a.slice(a.indexOf(i)+i.length),d+=i.length),wi[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=h-d,a.length>0&&t._pf.unusedInput.push(a),t._pf.bigHour===!0&&t._a[Pe]<=12&&(t._pf.bigHour=n),t._a[Pe]=f(t._locale,t._a[Pe],t._meridiem),$(t),R(t)}function ie(t){return t.replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(t,e,i,s,o){return e||i||s||o})}function se(t){return t.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function oe(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));b(t,i||e)}function ne(t){var e,i,s=t._i,o=li.exec(s);if(o){for(t._pf.iso=!0,e=0,i=pi.length;i>e;e++)if(pi[e][1].exec(s)){t._f=pi[e][0]+(o[6]||" ");break}for(e=0,i=ui.length;i>e;e++)if(ui[e][1].exec(s)){t._f+=ui[e][0];break}s.match(ti)&&(t._f+="Z"),ee(t)}else t._isValid=!1}function re(t){ne(t),t._isValid===!1&&(delete t._isValid,Ce.createFromInputFallback(t))}function ae(t,e){var i,s=[];for(i=0;it&&a.setFullYear(t),a}function le(t){var e=new Date(Date.UTC.apply(null,arguments));return 1970>t&&e.setUTCFullYear(t),e}function ce(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 pe(t,e,i,s,o){return o.relativeTime(e||1,!!i,t,s)}function ue(t,e,i){var s=Ce.duration(t).abs(),o=Ne(s.as("s")),n=Ne(s.as("m")),r=Ne(s.as("h")),a=Ne(s.as("d")),h=Ne(s.as("M")),d=Ne(s.as("y")),l=o0,l[4]=i,pe.apply({},l)}function me(t,e,i){var s,o=i-e,n=i-t.day();return n>o&&(n-=7),o-7>n&&(n+=7),s=Ce(t).add(n,"d"),{week:Math.ceil(s.dayOfYear()/7),year:s.year()}}function fe(t,e,i,s,o){var n,r,a=le(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:P(t-1)+r}}function ge(t){var e,i=t._i,s=t._f;return t._locale=t._locale||Ce.localeData(t._l),null===i||s===n&&""===i?Ce.invalid({nullInput:!0}):("string"==typeof i&&(t._i=i=t._locale.preparse(i)),Ce.isMoment(i)?new v(i,!0):(s?T(s)?oe(t):ee(t):he(t),e=new v(t),e._nextDay&&(e.add(1,"d"),e._nextDay=n),e))}function ve(t,e){var i,s;if(1===e.length&&T(e[0])&&(e=e[0]),!e.length)return Ce();for(i=e[0],s=1;s=0?"+":"-";return e+w(Math.abs(t),6)},gg:function(){return w(this.weekYear()%100,2)},gggg:function(){return w(this.weekYear(),4)},ggggg:function(){return w(this.weekYear(),5)},GG:function(){return w(this.isoWeekYear()%100,2)},GGGG:function(){return w(this.isoWeekYear(),4)},GGGGG:function(){return w(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 L(this.milliseconds()/100)},SS:function(){return w(L(this.milliseconds()/10),2)},SSS:function(){return w(this.milliseconds(),3)},SSSS:function(){return w(this.milliseconds(),3)},Z:function(){var t=this.utcOffset(),e="+";return 0>t&&(t=-t,e="-"),e+w(L(t/60),2)+":"+w(L(t)%60,2)},ZZ:function(){var t=this.utcOffset(),e="+";return 0>t&&(t=-t,e="-"),e+w(L(t/60),2)+w(L(t)%60,2)},z:function(){return this.zoneAbbr()},zz:function(){return this.zoneName()},x:function(){return this.valueOf()},X:function(){return this.unix()},Q:function(){return this.quarter()}},Si={},Di=["months","monthsShort","weekdays","weekdaysShort","weekdaysMin"],Mi=!1;_i.length;)Oe=_i.pop(),wi[Oe+"o"]=u(wi[Oe],Oe);for(;xi.length;)Oe=xi.pop(),wi[Oe+Oe]=p(wi[Oe],2);wi.DDDD=p(wi.DDD,3),b(g.prototype,{set:function(t){var e,i;for(i in t)e=t[i],"function"==typeof e?this[i]=e:this["_"+i]=e;this._ordinalParseLenient=new RegExp(this._ordinalParse.source+"|"+/\d{1,2}/.source)},_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,e,i){var s,o,n;for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),s=0;12>s;s++){if(o=Ce.utc([2e3,s]),i&&!this._longMonthsParse[s]&&(this._longMonthsParse[s]=new RegExp("^"+this.months(o,"").replace(".","")+"$","i"),this._shortMonthsParse[s]=new RegExp("^"+this.monthsShort(o,"").replace(".","")+"$","i")),i||this._monthsParse[s]||(n="^"+this.months(o,"")+"|^"+this.monthsShort(o,""),this._monthsParse[s]=new RegExp(n.replace(".",""),"i")),i&&"MMMM"===e&&this._longMonthsParse[s].test(t))return s;if(i&&"MMM"===e&&this._shortMonthsParse[s].test(t))return s;if(!i&&this._monthsParse[s].test(t))return s}},_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=Ce([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:{LTS:"h:mm:ss A",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,i){var s=this._calendar[t];return"function"==typeof s?s.apply(e,[i]):s},_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",_ordinalParse:/\d{1,2}/,preparse:function(t){return t},postformat:function(t){return t},week:function(t){return me(t,this._week.dow,this._week.doy).week},_week:{dow:0,doy:6},firstDayOfWeek:function(){return this._week.dow},firstDayOfYear:function(){return this._week.doy},_invalidDate:"Invalid date",invalidDate:function(){return this._invalidDate}}),Ce=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(),ge(o)},Ce.suppressDeprecationWarnings=!1,Ce.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+(t._useUTC?" UTC":""))}),Ce.min=function(){var t=[].slice.call(arguments,0);return ve("isBefore",t)},Ce.max=function(){var t=[].slice.call(arguments,0);return ve("isAfter",t)},Ce.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(),ge(o).utc()},Ce.unix=function(t){return Ce(1e3*t)},Ce.duration=function(t,e){var i,s,o,n,r=t,h=null;return Ce.isDuration(t)?r={ms:t._milliseconds,d:t._days,M:t._months}:"number"==typeof t?(r={},e?r[e]=t:r.milliseconds=t):(h=je.exec(t))?(i="-"===h[1]?-1:1,r={y:0,d:L(h[Ae])*i,h:L(h[Pe])*i,m:L(h[Fe])*i,s:L(h[Re])*i,ms:L(h[He])*i}):(h=Ve.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])}):null==r?r={}:"object"==typeof r&&("from"in r||"to"in r)&&(n=D(Ce(r.from),Ce(r.to)),r={},r.ms=n.milliseconds,r.M=n.months),s=new y(r),Ce.isDuration(t)&&a(t,"_locale")&&(s._locale=t._locale),s},Ce.version=Ee,Ce.defaultFormat=ci,Ce.ISO_8601=function(){},Ce.momentProperties=Ye,Ce.updateOffset=function(){},Ce.relativeTimeThreshold=function(t,e){return bi[t]===n?!1:e===n?bi[t]:(bi[t]=e,!0)},Ce.lang=l("moment.lang is deprecated. Use moment.locale instead.",function(t,e){return Ce.locale(t,e)}),Ce.locale=function(t,e){var i;return t&&(i="undefined"!=typeof e?Ce.defineLocale(t,e):Ce.localeData(t),i&&(Ce.duration._locale=Ce._locale=i)),Ce._locale._abbr},Ce.defineLocale=function(t,e){return null!==e?(e.abbr=t,Be[t]||(Be[t]=new g),Be[t].set(e),Ce.locale(t),Be[t]):(delete Be[t],null)},Ce.langData=l("moment.langData is deprecated. Use moment.localeData instead.",function(t){return Ce.localeData(t)}),Ce.localeData=function(t){var e;if(t&&t._locale&&t._locale._abbr&&(t=t._locale._abbr),!t)return Ce._locale;if(!T(t)){if(e=W(t))return e;t=[t]}return Y(t)},Ce.isMoment=function(t){return t instanceof v||null!=t&&a(t,"_isAMomentObject")},Ce.isDuration=function(t){return t instanceof y};for(Oe=Di.length-1;Oe>=0;--Oe)I(Di[Oe]);Ce.normalizeUnits=function(t){return k(t)},Ce.invalid=function(t){var e=Ce.utc(0/0);return null!=t?b(e._pf,t):e._pf.userInvalidated=!0,e},Ce.parseZone=function(){return Ce.apply(null,arguments).parseZone()},Ce.parseTwoDigitYear=function(t){return L(t)+(L(t)>68?1900:2e3)},Ce.isDate=O,b(Ce.fn=v.prototype,{clone:function(){return Ce(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=Ce(this).utc();return 00:!1},parsingFlags:function(){return b({},this._pf)},invalidAt:function(){return this._pf.overflow},utc:function(t){return this.utcOffset(0,t)},local:function(t){return this._isUTC&&(this.utcOffset(0,t),this._isUTC=!1,t&&this.subtract(this._dateUtcOffset(),"m")),this},format:function(t){var e=U(this,t||Ce.defaultFormat);return this.localeData().postformat(e)},add:M(1,"add"),subtract:M(-1,"subtract"),diff:function(t,e,i){var s,o,n=G(t,this),r=6e4*(n.utcOffset()-this.utcOffset());return e=k(e),"year"===e||"month"===e||"quarter"===e?(o=m(this,n),"quarter"===e?o/=3:"year"===e&&(o/=12)):(s=this-n,o="second"===e?s/1e3:"minute"===e?s/6e4:"hour"===e?s/36e5:"day"===e?(s-r)/864e5:"week"===e?(s-r)/6048e5:s),i?o:x(o)},from:function(t,e){return Ce.duration({to:this,from:t}).locale(this.locale()).humanize(!e)},fromNow:function(t){return this.from(Ce(),t)},calendar:function(t){var e=t||Ce(),i=G(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,Ce(e)))},isLeapYear:function(){return F(this.year())},isDST:function(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()},day:function(t){var e=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=t?(t=ce(t,this.localeData()),this.add(t-e,"d")):e},month:xe("Month",!0),startOf:function(t){switch(t=k(t)){case"year":this.month(0);case"quarter":case"month":this.date(1);case"week":case"isoWeek":case"day":this.hours(0);case"hour":this.minutes(0);case"minute":this.seconds(0);case"second":this.milliseconds(0)}return"week"===t?this.weekday(0):"isoWeek"===t&&this.isoWeekday(1),"quarter"===t&&this.month(3*Math.floor(this.month()/3)),this},endOf:function(t){return t=k(t),t===n||"millisecond"===t?this:this.startOf(t).add(1,"isoWeek"===t?"week":t).subtract(1,"ms")},isAfter:function(t,e){var i;return e=k("undefined"!=typeof e?e:"millisecond"),"millisecond"===e?(t=Ce.isMoment(t)?t:Ce(t),+this>+t):(i=Ce.isMoment(t)?+t:+Ce(t),i<+this.clone().startOf(e))},isBefore:function(t,e){var i;return e=k("undefined"!=typeof e?e:"millisecond"),"millisecond"===e?(t=Ce.isMoment(t)?t:Ce(t),+t>+this):(i=Ce.isMoment(t)?+t:+Ce(t),+this.clone().endOf(e)t?this:t}),max:l("moment().max is deprecated, use moment.max instead. https://github.com/moment/moment/issues/1548",function(t){return t=Ce.apply(null,arguments),t>this?this:t}),zone:l("moment().zone is deprecated, use moment().utcOffset instead. https://github.com/moment/moment/issues/1779",function(t,e){return null!=t?("string"!=typeof t&&(t=-t),this.utcOffset(t,e),this):-this.utcOffset()}),utcOffset:function(t,e){var i,s=this._offset||0;return null!=t?("string"==typeof t&&(t=Z(t)),Math.abs(t)<16&&(t=60*t),!this._isUTC&&e&&(i=this._dateUtcOffset()),this._offset=t,this._isUTC=!0,null!=i&&this.add(i,"m"),s!==t&&(!e||this._changeInProgress?C(this,Ce.duration(t-s,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,Ce.updateOffset(this,!0),this._changeInProgress=null)),this):this._isUTC?s:this._dateUtcOffset()},isLocal:function(){return!this._isUTC},isUtcOffset:function(){return this._isUTC},isUtc:function(){return this._isUTC&&0===this._offset},zoneAbbr:function(){return this._isUTC?"UTC":""},zoneName:function(){return this._isUTC?"Coordinated Universal Time":""},parseZone:function(){return this._tzm?this.utcOffset(this._tzm):"string"==typeof this._i&&this.utcOffset(Z(this._i)),this},hasAlignedHourOffset:function(t){return t=t?Ce(t).utcOffset():0,(this.utcOffset()-t)%60===0},daysInMonth:function(){return z(this.year(),this.month())},dayOfYear:function(t){var e=Ne((Ce(this).startOf("day")-Ce(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=me(this,this.localeData()._week.dow,this.localeData()._week.doy).year;return null==t?e:this.add(t-e,"y")},isoWeekYear:function(t){var e=me(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=me(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 A(this.year(),1,4)},weeksInYear:function(){var t=this.localeData()._week;return A(this.year(),t.dow,t.doy)},get:function(t){return t=k(t),this[t]()},set:function(t,e){var i;if("object"==typeof t)for(i in t)this.set(i,t[i]);else t=k(t),"function"==typeof this[t]&&this[t](e);return this},locale:function(t){var e;return t===n?this._locale._abbr:(e=Ce.localeData(t),null!=e&&(this._locale=e),this)},lang:l("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(t){return t===n?this.localeData():this.locale(t)}),localeData:function(){return this._locale},_dateUtcOffset:function(){return 15*-Math.round(this._d.getTimezoneOffset()/15)}}),Ce.fn.millisecond=Ce.fn.milliseconds=xe("Milliseconds",!1),Ce.fn.second=Ce.fn.seconds=xe("Seconds",!1),Ce.fn.minute=Ce.fn.minutes=xe("Minutes",!1),Ce.fn.hour=Ce.fn.hours=xe("Hours",!0),Ce.fn.date=xe("Date",!0),Ce.fn.dates=l("dates accessor is deprecated. Use date instead.",xe("Date",!0)),Ce.fn.year=xe("FullYear",!0),Ce.fn.years=l("years accessor is deprecated. Use year instead.",xe("FullYear",!0)),Ce.fn.days=Ce.fn.day,Ce.fn.months=Ce.fn.month,Ce.fn.weeks=Ce.fn.week,Ce.fn.isoWeeks=Ce.fn.isoWeek,Ce.fn.quarters=Ce.fn.quarter,Ce.fn.toJSON=Ce.fn.toISOString,Ce.fn.isUTC=Ce.fn.isUtc,b(Ce.duration.fn=y.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=x(s/1e3),r.seconds=t%60,e=x(t/60),r.minutes=e%60,i=x(e/60),r.hours=i%24,o+=x(i/24),a=x(we(o)),o-=x(Se(a)),n+=x(o/30),o%=30,a+=x(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 x(this.days()/7)},valueOf:function(){return this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*L(this._months/12)},humanize:function(t){var e=ue(this,!t,this.localeData());return t&&(e=this.localeData().pastFuture(+this,e)),this.localeData().postformat(e)},add:function(t,e){var i=Ce.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=Ce.duration(t,e);return this._milliseconds-=i._milliseconds,this._days-=i._days,this._months-=i._months,this._bubble(),this},get:function(t){return t=k(t),this[t.toLowerCase()+"s"]()},as:function(t){var e,i;if(t=k(t),"month"===t||"year"===t)return e=this._days+this._milliseconds/864e5,i=this._months+12*we(e),"month"===t?i:i/12;switch(e=this._days+Math.round(Se(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:Ce.fn.lang,locale:Ce.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},toJSON:function(){return this.toISOString()}}),Ce.duration.fn.toString=Ce.duration.fn.toISOString;for(Oe in fi)a(fi,Oe)&&De(Oe.toLowerCase());Ce.duration.fn.asMilliseconds=function(){return this.as("ms")},Ce.duration.fn.asSeconds=function(){return this.as("s")},Ce.duration.fn.asMinutes=function(){return this.as("m")},Ce.duration.fn.asHours=function(){return this.as("h")},Ce.duration.fn.asDays=function(){return this.as("d")},Ce.duration.fn.asWeeks=function(){return this.as("weeks")},Ce.duration.fn.asMonths=function(){return this.as("M")},Ce.duration.fn.asYears=function(){return this.as("y")},Ce.locale("en",{ordinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(t){var e=t%10,i=1===L(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th";return t+i}}),We?o.exports=Ce:(s=function(t,e,i){return i.config&&i.config()&&i.config().noGlobal===!0&&(ke.moment=Te),Ce}.call(e,i,e,o),!(s!==n&&(o.exports=s)),Me(!0))}).call(this)}).call(e,function(){return this}(),i(71)(t))},function(t,e,i){var s;!function(o,n){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",m=a.POINTER_TOUCH="touch",f=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=m;return x.inStr(s.type,"mouse")||S.matchType(u,s)?o=u:S.matchType(f,s)&&(o=f),{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[m]=i===(e.MSPOINTER_TYPE_TOUCH||m),s[f]=i===(e.MSPOINTER_TYPE_PEN||f),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){var i,s,o;!function(n,r){s=[],i=r,o="function"==typeof i?i.apply(e,s):i,!(void 0!==o&&(t.exports=o))}(this,function(){function t(t){var e,i=t&&t.preventDefault||!1,s=t&&t.container||window,o={},n={keydown:{},keyup:{}},r={};for(e=97;122>=e;e++)r[String.fromCharCode(e)]={code:65+(e-97),shift:!1};for(e=65;90>=e;e++)r[String.fromCharCode(e)]={code:e,shift:!0};for(e=0;9>=e;e++)r[""+e]={code:48+e,shift:!1};for(e=1;12>=e;e++)r["F"+e]={code:111+e,shift:!1};for(e=0;9>=e;e++)r["num"+e]={code:96+e,shift:!1};r["num*"]={code:106,shift:!1},r["num+"]={code:107,shift:!1},r["num-"]={code:109,shift:!1},r["num/"]={code:111,shift:!1},r["num."]={code:110,shift:!1},r.left={code:37,shift:!1},r.up={code:38,shift:!1},r.right={code:39,shift:!1},r.down={code:40,shift:!1},r.space={code:32,shift:!1},r.enter={code:13,shift:!1},r.shift={code:16,shift:void 0},r.esc={code:27,shift:!1},r.backspace={code:8,shift:!1},r.tab={code:9,shift:!1},r.ctrl={code:17,shift:!1},r.alt={code:18,shift:!1},r["delete"]={code:46,shift:!1},r.pageup={code:33,shift:!1},r.pagedown={code:34,shift:!1},r["="]={code:187,shift:!1},r["-"]={code:189,shift:!1},r["]"]={code:221,shift:!1},r["["]={code:219,shift:!1};var a=function(t){d(t,"keydown")},h=function(t){d(t,"keyup")},d=function(t,e){if(void 0!==n[e][t.keyCode]){for(var s=n[e][t.keyCode],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 d;d=document.getElementById("graph_BH_gc"),d.onchange=a.bind(this,"graph_BH_gc",-1,"physics_barnesHut_gravitationalConstant"),d=document.getElementById("graph_BH_cg"),d.onchange=a.bind(this,"graph_BH_cg",1,"physics_centralGravity"),d=document.getElementById("graph_BH_sc"),d.onchange=a.bind(this,"graph_BH_sc",1,"physics_springConstant"),d=document.getElementById("graph_BH_sl"),d.onchange=a.bind(this,"graph_BH_sl",1,"physics_springLength"),d=document.getElementById("graph_BH_damp"),d.onchange=a.bind(this,"graph_BH_damp",1,"physics_damping"),d=document.getElementById("graph_R_nd"),d.onchange=a.bind(this,"graph_R_nd",1,"physics_repulsion_nodeDistance"),d=document.getElementById("graph_R_cg"),d.onchange=a.bind(this,"graph_R_cg",1,"physics_centralGravity"),d=document.getElementById("graph_R_sc"),d.onchange=a.bind(this,"graph_R_sc",1,"physics_springConstant"),d=document.getElementById("graph_R_sl"),d.onchange=a.bind(this,"graph_R_sl",1,"physics_springLength"),d=document.getElementById("graph_R_damp"),d.onchange=a.bind(this,"graph_R_damp",1,"physics_damping"),d=document.getElementById("graph_H_nd"),d.onchange=a.bind(this,"graph_H_nd",1,"physics_hierarchicalRepulsion_nodeDistance"),d=document.getElementById("graph_H_cg"),d.onchange=a.bind(this,"graph_H_cg",1,"physics_centralGravity"),d=document.getElementById("graph_H_sc"),d.onchange=a.bind(this,"graph_H_sc",1,"physics_springConstant"),d=document.getElementById("graph_H_sl"),d.onchange=a.bind(this,"graph_H_sl",1,"physics_springLength"),d=document.getElementById("graph_H_damp"),d.onchange=a.bind(this,"graph_H_damp",1,"physics_damping"),d=document.getElementById("graph_H_direction"),d.onchange=a.bind(this,"graph_H_direction",i,"hierarchicalLayout_direction"),d=document.getElementById("graph_H_levsep"),d.onchange=a.bind(this,"graph_H_levsep",1,"hierarchicalLayout_levelSeparation"),d=document.getElementById("graph_H_nspac"),d.onchange=a.bind(this,"graph_H_nspac",1,"hierarchicalLayout_nodeSpacing");var l=document.getElementById("graph_physicsMethod1"),c=document.getElementById("graph_physicsMethod2"),p=document.getElementById("graph_physicsMethod3");c.checked=!0,this.constants.physics.barnesHut.enabled&&(l.checked=!0),this.constants.hierarchicalLayout.enabled&&(p.checked=!0);var u=document.getElementById("graph_toggleSmooth"),m=document.getElementById("graph_repositionNodes"),f=document.getElementById("graph_generateOptions");u.onclick=s.bind(this),m.onclick=o.bind(this),f.onclick=n.bind(this),u.style.background=1==this.constants.smoothCurves&&0==this.constants.dynamicSmoothCurves?"#A4FF56":"#FF8532",r.apply(this),l.onchange=r.bind(this),c.onchange=r.bind(this),p.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,e){e.startWithClustering=function(){this.clusterToFit(this.constants.clustering.initialMaxNodes,!0),this.updateLabels(),1==this.constants.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(),this.forceAggregateHubs(!0),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._updateCalculationNodes(),this.updateLabels();this.moving!=e&&this.start()},e.updateClustersDefault=function(){1==this.constants.clustering.enabled&&1==this.constants.clustering.clusterByZoom&&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,r=this.previousScalethis.scale&&0==t;1==a&&this._collapseSector(),1==a||-1==t?this._formClusters(i):(1==r||1==t)&&(1==i?this._openClusters(e,i):this._openClusters(e,!1)),this._updateNodeIndexList(),this.nodeIndices.length!=n||1!=a&&-1!=t||(this._aggregateHubs(i),this._updateNodeIndexList()),(1==a||-1==t)&&(this.handleChains(),this._updateNodeIndexList()),this.previousScale=this.scale,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.updateLabels(),this._updateCalculationNodes(),this.nodeIndices.length!=i&&(this.clusterSession+=1),(0==t||void 0===t)&&this.moving!=e&&this.start()},e._openClustersBySize=function(){if(1==this.constants.clustering.clusterByZoom)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&&(void 0===s&&(s=!1),e=s||e,t.formationScalei)){var r=n.from,a=n.to;n.to.options.mass>n.from.options.mass&&(r=n.to,a=n.from),1==a.dynamicEdges.length?this._addToCluster(r,a,!1):1==r.dynamicEdges.length&&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.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.dynamicEdges.length>=this.hubThreshold&&0==i||t.dynamicEdges.length==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){var u=[],m={};for(c=0;l>c;c++){p=this.edges[d[c]];var f=this.nodes[p.fromId==t.id?p.toId:p.fromId];void 0===m[f.id]&&(m[f.id]=!0,u.push(f))}for(c=0;c1&&(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.dynamicEdges.length),t+=n.dynamicEdges.length,e+=Math.pow(n.dynamicEdges.length,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].dynamicEdges.length&&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].dynamicEdges.length&&(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),r=i(45);e._clearManipulatorBar=function(){this._recursiveDOMDelete(this.manipulationDiv),this.manipulationDOM={},this._cleanManipulatorHammers(),this._manipulationReleaseOverload=function(){},delete this.sectors.support.nodes.targetNode,delete this.sectors.support.nodes.targetViaNode,this.controlNodesActive=!1,this.freezeSimulation(!1)},e._cleanManipulatorHammers=function(){if(0!=this.manipulationHammers.length){for(var t=0;t1)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;var a=this;this._handleOnDrag=function(t){var e=this._getPointer(t.gesture.center),i=a.edges.connectionEdge;i.to.x=a._XconvertDOMtoCanvas(e.x),i.to.y=a._YconvertDOMtoCanvas(e.y),a._redraw()},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(2!=this.triggerFunctions.del.length)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.length){for(var t=0;t0){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,o,n=0;n1&&s.hierarchyEnumerated===!1&&this._setLevelDirected(s.level,s.edges,s.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){function e(t){throw new Error("Cannot find module '"+t+"'.")}e.keys=function(){return[]},e.resolve=e,t.exports=e,e.id=67},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,m=4/3,f=this.constants.physics.repulsion.nodeDistance,g=f;for(d=0;di&&(r=.5*g>i?1:v*i+m,r*=0==n?1:1+n*this.constants.clustering.forceAmplification,r/=Math.max(i,.01*g),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.thetaInverted){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)),m=.5*u,f=.5*(o+r),g=.5*(n+a),v={root:{centerOfMass:{x:0,y:0},mass:0,range:{minX:f-m,maxX:f+m,minY:g-m,maxY:g+m},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 diff --git a/docs/network.html b/docs/network.html index dfbac7e0..c032f99a 100644 --- a/docs/network.html +++ b/docs/network.html @@ -165,14 +165,14 @@ The constructor accepts three parameters: edges, which both contain an array with objects. Optionally, data may contain an options object. The parameter data is optional, data can also be set using - the method setData. Section Data Format + the method setData. Section Data Format describes the data object.
  • options is an optional Object containing a name-value map with options. Options can also be set using the method setOptions. - Section Configuration Options + Section Configuration Options describes the available options.
  • @@ -214,7 +214,7 @@ var data = { A property options, containing an object with global options. Options can be provided as third parameter in the network constructor - as well. Section Configuration Options + as well. Section Configuration Options describes the available options. @@ -647,7 +647,7 @@ var options = { - freezeForStabilization + freezeForStabilization Boolean false @@ -972,7 +972,7 @@ mySize = minSize + diff * scale; When using values, you can let the font scale with the size of the nodes if you enable the scaleFontWithValue option. This is the minimum value of the fontSize. - fontSizeMax + fontSizeMax Number 30 When using values, you can let the font scale with the size of the nodes if you enable the scaleFontWithValue option. This is the maximum value of the fontSize. @@ -1483,7 +1483,7 @@ To unify the physics system, the damping, repulsion distance and edge length hav If no options for the physics system are supplied, the Barnes-Hut method will be used with the default parameters. If you want to customize the physics system easily, you can use the configurePhysics option.
    When using the hierarchical display option, hierarchicalRepulsion is automatically used as the physics solver. Similarly, if you use the hierarchicalRepulsion physics option, hierarchical display is automatically turned on with default settings. -

    Note: if the behaviour of your network is not the way you want it, use configurePhysics as described below or by example 25.

    +

    Note: if the behaviour of your network is not the way you want it, use configurePhysics as described below or by example 25.

     // These variables must be defined in an options object named physics.
    diff --git a/docs/timeline.html b/docs/timeline.html
    index e6cb1ca3..5034cb9e 100644
    --- a/docs/timeline.html
    +++ b/docs/timeline.html
    @@ -919,6 +919,26 @@ timeline.clear({options: true}); // clear options only
         
       
     
    +  
    +    getEventProperties(event)
    +    Object
    +    
    +      Returns an Object with relevant properties from an event:
    +      
      +
    • group (Number | null): the id of the clicked group.
    • +
    • item (Number | null): the id of the clicked item.
    • +
    • pageX (Number): absolute horizontal position of the click event.
    • +
    • pageY (Number): absolute vertical position of the click event.
    • +
    • x (Number): relative horizontal position of the click event.
    • +
    • y (Number): relative vertical position of the click event.
    • +
    • time (Date): Date of the clicked event.
    • +
    • snappedTime (Date): Date of the clicked event, snapped to a nice value.
    • +
    • what (String | null): name of the clicked thing: item, background, axis, group-label, custom-time, or current-time.
    • +
    • event (Object): the original click event.
    • +
    + + + getSelection() Number[] @@ -1093,16 +1113,49 @@ timeline.off('select', onSelect); Description Properties - - finishedRedraw - Fired after a redraw is complete. When moving the timeline around, this could be fired frequently. - - - none. - - - - + + + click + Fired when clicked inside the Timeline. + + + Passes a properties object as returned by the method Timeline.getEventProperties(event). + + + + + contextmenu + Fired when right-clicked inside the Timeline. Note that in order to prevent the context menu from showing up, default behavior of the event must be stopped: +
    timeline.on('contextmenu', function (props) {
    +  alert('Right click!');
    +  props.event.preventDefault();
    +});
    +
    + + + Passes a properties object as returned by the method Timeline.getEventProperties(event). + + + + + doubleClick + Fired when double clicked inside the Timeline. + + + Passes a properties object as returned by the method Timeline.getEventProperties(event). + + + + + finishedRedraw + Fired after a redraw is complete. When moving the timeline around, this could be fired frequently. + + + none. + + + + rangechange Fired repeatedly when the timeline window is being changed. diff --git a/lib/timeline/Core.js b/lib/timeline/Core.js index b64c5021..2e0d945c 100644 --- a/lib/timeline/Core.js +++ b/lib/timeline/Core.js @@ -27,7 +27,7 @@ Emitter(Core.prototype); * top, bottom, content, and background panel. * @param {Element} container The container element where the Core will * be attached. - * @private + * @protected */ Core.prototype._create = function (container) { this.dom = {}; @@ -55,7 +55,7 @@ Core.prototype._create = function (container) { 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.centerContainer.className = 'vispanel center jooo'; this.dom.leftContainer.className = 'vispanel left'; this.dom.rightContainer.className = 'vispanel right'; this.dom.top.className = 'vispanel top'; @@ -787,7 +787,7 @@ Core.prototype.getCurrentTime = function() { * Convert a position on screen (pixels) to a datetime * @param {int} x Position on the screen in pixels * @return {Date} time The datetime the corresponds with given position x - * @private + * @protected */ // TODO: move this function to Range Core.prototype._toTime = function(x) { @@ -798,7 +798,7 @@ Core.prototype._toTime = function(x) { * Convert a position on the global screen (pixels) to a datetime * @param {int} x Position on the screen in pixels * @return {Date} time The datetime the corresponds with given position x - * @private + * @protected */ // TODO: move this function to Range Core.prototype._toGlobalTime = function(x) { @@ -812,7 +812,7 @@ Core.prototype._toGlobalTime = function(x) { * @param {Date} time A date * @return {int} x The position on the screen in pixels which corresponds * with the given date. - * @private + * @protected */ // TODO: move this function to Range Core.prototype._toScreen = function(time) { @@ -827,7 +827,7 @@ Core.prototype._toScreen = function(time) { * @param {Date} time A date * @return {int} x The position on root in pixels which corresponds * with the given date. - * @private + * @protected */ // TODO: move this function to Range Core.prototype._toGlobalScreen = function(time) { diff --git a/lib/timeline/Timeline.js b/lib/timeline/Timeline.js index 67c1da44..9c177c75 100644 --- a/lib/timeline/Timeline.js +++ b/lib/timeline/Timeline.js @@ -102,6 +102,16 @@ function Timeline (container, items, groups, options) { this.itemsData = null; // DataSet this.groupsData = null; // DataSet + this.on('tap', function (event) { + me.emit('click', me.getEventProperties(event)) + }); + this.on('doubletap', function (event) { + me.emit('doubleClick', me.getEventProperties(event)) + }); + this.dom.root.oncontextmenu = function (event) { + me.emit('contextmenu', me.getEventProperties(event)) + }; + // apply options if (options) { this.setOptions(options); @@ -326,5 +336,48 @@ Timeline.prototype.getItemRange = function() { }; }; +/** + * Generate Timeline related information from an event + * @param {Event} event + * @return {Object} An object with related information, like on which area + * The event happened, whether clicked on an item, etc. + */ +Timeline.prototype.getEventProperties = function (event) { + var item = this.itemSet.itemFromTarget(event); + var group = this.itemSet.groupFromTarget(event); + var pageX = event.gesture ? event.gesture.center.pageX : event.pageX; + var pageY = event.gesture ? event.gesture.center.pageY : event.pageY; + var x = pageX - util.getAbsoluteLeft(this.dom.centerContainer); + var y = pageY - util.getAbsoluteTop(this.dom.centerContainer); + + var snap = this.itemSet.options.snap || null; + var scale = this.body.util.getScale(); + var step = this.body.util.getStep(); + var time = this._toTime(x); + var snappedTime = snap ? snap(time, scale, step) : time; + + var element = util.getTarget(event); + var what = null; + if (item != null) {what = 'item';} + else if (util.hasParent(element, this.dom.center)) {what = 'background';} + else if (util.hasParent(element, this.timeAxis.dom.foreground)) {what = 'axis';} + else if (this.timeAxis2 && util.hasParent(element, this.timeAxis2.dom.foreground)) {what = 'axis';} + else if (util.hasParent(element, this.itemSet.dom.labelSet)) {what = 'group-label';} + else if (util.hasParent(element, this.customTime.bar)) {what = 'custom-time';} + else if (util.hasParent(element, this.currentTime.bar)) {what = 'current-time';} + + return { + event: event, + item: item ? item.id : null, + group: group ? group.groupId : null, + what: what, + pageX: pageX, + pageY: pageY, + x: x, + y: y, + time: time, + snappedTime: snappedTime + } +}; module.exports = Timeline; diff --git a/lib/timeline/component/ItemSet.js b/lib/timeline/component/ItemSet.js index ef831474..2f5b6977 100644 --- a/lib/timeline/component/ItemSet.js +++ b/lib/timeline/component/ItemSet.js @@ -1082,7 +1082,7 @@ ItemSet.prototype._constructByEndArray = function(array) { */ ItemSet.prototype._onTouch = function (event) { // store the touched item, used in _onDragStart - this.touchParams.item = ItemSet.itemFromTarget(event); + this.touchParams.item = this.itemFromTarget(event); }; /** @@ -1407,7 +1407,7 @@ ItemSet.prototype._onSelectItem = function (event) { var oldSelection = this.getSelection(); - var item = ItemSet.itemFromTarget(event); + var item = this.itemFromTarget(event); var selection = item ? [item.id] : []; this.setSelection(selection); @@ -1433,7 +1433,7 @@ ItemSet.prototype._onAddItem = function (event) { var me = this, snap = this.options.snap || null, - item = ItemSet.itemFromTarget(event); + item = this.itemFromTarget(event); if (item) { // update item @@ -1491,7 +1491,7 @@ ItemSet.prototype._onMultiSelectItem = function (event) { if (!this.options.selectable) return; var selection, - item = ItemSet.itemFromTarget(event); + item = this.itemFromTarget(event); if (item) { // multi select items @@ -1579,7 +1579,7 @@ ItemSet._getItemRange = function(itemsData) { * @param {Event} event * @return {Item | null} item */ -ItemSet.itemFromTarget = function(event) { +ItemSet.prototype.itemFromTarget = function(event) { var target = event.target; while (target) { if (target.hasOwnProperty('timeline-item')) { @@ -1598,17 +1598,7 @@ ItemSet.itemFromTarget = function(event) { * @return {Group | null} group */ ItemSet.prototype.groupFromTarget = function(event) { - // TODO: cleanup when the new solution is stable (also on mobile) - //var target = event.target; - //while (target) { - // if (target.hasOwnProperty('timeline-group')) { - // return target['timeline-group']; - // } - // target = target.parentNode; - //} - // - - var clientY = event.gesture.center.clientY; + var clientY = event.gesture ? event.gesture.center.clientY : event.clientY; for (var i = 0; i < this.groupIds.length; i++) { var groupId = this.groupIds[i]; var group = this.groups[groupId]; diff --git a/lib/util.js b/lib/util.js index c4416276..8f6ffde2 100644 --- a/lib/util.js +++ b/lib/util.js @@ -665,6 +665,24 @@ exports.getTarget = function(event) { return target; }; +/** + * Check if given element contains given parent somewhere in the DOM tree + * @param {Element} element + * @param {Element} parent + */ +exports.hasParent = function (element, parent) { + var e = element; + + while (e) { + if (e === parent) { + return true; + } + e = e.parentNode; + } + + return false; +}; + exports.option = {}; /** diff --git a/test/timeline.html b/test/timeline.html index 84b7ce99..5824337a 100644 --- a/test/timeline.html +++ b/test/timeline.html @@ -26,12 +26,12 @@ #visualization .grid.vertical.saturday, #visualization .grid.vertical.sunday { - background: gray; + background: #ffef9f; } #visualization .text.saturday, #visualization .text.sunday { - color: white; + color: #ff7c02; } @@ -140,6 +140,14 @@ console.log('select', selection); }); + timeline.on('click', function (props) { + console.log('click', props); + }); + + timeline.on('contextmenu', function (props) { + console.log('contextmenu', props); + }); + /* timeline.on('rangechange', function (range) { console.log('rangechange', range); diff --git a/test/timeline_groups.html b/test/timeline_groups.html index aab2561d..15fc73dd 100644 --- a/test/timeline_groups.html +++ b/test/timeline_groups.html @@ -165,6 +165,18 @@ }); */ + timeline.on('click', function (props) { + console.log('click', props); + }); + + timeline.on('doubleClick', function (props) { + console.log('doubleClick', props); + }); + + timeline.on('contextmenu', function (props) { + console.log('contextmenu', props); + }); + items.on('add', console.log.bind(console)); items.on('update', console.log.bind(console)); items.on('remove', console.log.bind(console));