From 0fcae5c2c97fc366341da1f32c06ed230ccf2a74 Mon Sep 17 00:00:00 2001 From: jos Date: Thu, 5 Mar 2015 14:57:31 +0100 Subject: [PATCH] Graph2d: Implemented events `click`, `doubleClick`, and `contextMenu`. Implemented method `getEventProperties(event)`. --- HISTORY.md | 4 + dist/vis.js | 477 ++++++++++++++++------------- dist/vis.map | 2 +- dist/vis.min.js | 20 +- docs/graph2d.html | 18 ++ lib/timeline/Graph2d.js | 61 +++- lib/timeline/Timeline.js | 4 +- lib/timeline/component/DataAxis.js | 4 + 8 files changed, 367 insertions(+), 223 deletions(-) diff --git a/HISTORY.md b/HISTORY.md index 2a981b57..525c7a89 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -36,6 +36,10 @@ http://visjs.org - Fixed #676: misalignment of background items when using subgroups and the group label's height is larger than the contents. +### Graph2d + +- Implemented events `click`, `doubleClick`, and `contextMenu`. +- Implemented method `getEventProperties(event)`. ### DataSet/DataView diff --git a/dist/vis.js b/dist/vis.js index 62bae35e..3d95cfba 100644 --- a/dist/vis.js +++ b/dist/vis.js @@ -6851,12 +6851,12 @@ return /******/ (function(modules) { // webpackBootstrap 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.customTime.bar)) {what = 'custom-time';} // TODO: fix for multiple custom time bars else if (util.hasParent(element, this.currentTime.bar)) {what = 'current-time';} + else if (util.hasParent(element, this.dom.center)) {what = 'background';} return { event: event, @@ -6971,6 +6971,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); @@ -7072,7 +7082,7 @@ return /******/ (function(modules) { // webpackBootstrap else { return "cannot find group:" + groupId; } - } + }; /** * This checks if the visible option of the supplied group (by ID) is true or false. @@ -7086,7 +7096,7 @@ return /******/ (function(modules) { // webpackBootstrap else { return false; } - } + }; /** @@ -7120,6 +7130,53 @@ 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. + */ + Graph2d.prototype.getEventProperties = function (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 time = this._toTime(x); + + var element = util.getTarget(event); + var what = null; + 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.linegraph.yAxisLeft.dom.frame)) {what = 'data-axis';} + else if (util.hasParent(element, this.linegraph.yAxisRight.dom.frame)) {what = 'data-axis';} + else if (util.hasParent(element, this.linegraph.legendLeft.dom.frame)) {what = 'legend';} + else if (util.hasParent(element, this.linegraph.legendRight.dom.frame)) {what = 'legend';} + else if (util.hasParent(element, this.customTime.bar)) {what = 'custom-time';} // TODO: fix for multiple custom time bars + else if (util.hasParent(element, this.currentTime.bar)) {what = 'current-time';} + else if (util.hasParent(element, this.dom.center)) {what = 'background';} + + var value = []; + var yAxisLeft = this.linegraph.yAxisLeft; + var yAxisRight = this.linegraph.yAxisRight; + if (!yAxisLeft.hidden) { + value.push(yAxisLeft.screenToValue(y)); + } + if (!yAxisRight.hidden) { + value.push(yAxisRight.screenToValue(y)); + } + + return { + event: event, + what: what, + pageX: pageX, + pageY: pageY, + x: x, + y: y, + time: time, + value: value + } + }; + module.exports = Graph2d; @@ -11432,6 +11489,10 @@ return /******/ (function(modules) { // webpackBootstrap return convertedValue; }; + DataAxis.prototype.screenToValue = function (x) { + return this.valueAtZero - (x / this.conversionFactor); + }; + /** * Create a label for the axis at position x * @private @@ -15766,7 +15827,7 @@ return /******/ (function(modules) { // webpackBootstrap var Emitter = __webpack_require__(56); var Hammer = __webpack_require__(45); - var keycharm = __webpack_require__(59); + var keycharm = __webpack_require__(57); var util = __webpack_require__(1); var hammerUtil = __webpack_require__(47); var DataSet = __webpack_require__(3); @@ -22638,7 +22699,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__(57); + module.exports = (typeof window !== 'undefined') && window['moment'] || __webpack_require__(58); /***/ }, @@ -22648,7 +22709,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__(58); + module.exports = window['Hammer'] || __webpack_require__(59); } else { module.exports = function () { @@ -24432,7 +24493,7 @@ return /******/ (function(modules) { // webpackBootstrap /* 53 */ /***/ function(module, exports, __webpack_require__) { - var keycharm = __webpack_require__(59); + var keycharm = __webpack_require__(57); var Emitter = __webpack_require__(56); var Hammer = __webpack_require__(45); var util = __webpack_require__(1); @@ -25029,6 +25090,205 @@ 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 @@ -28078,7 +28338,7 @@ return /******/ (function(modules) { // webpackBootstrap /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }()), __webpack_require__(71)(module))) /***/ }, -/* 58 */ +/* 59 */ /***/ function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_RESULT__;/*! Hammer.JS - v1.1.3 - 2014-05-20 @@ -30244,205 +30504,6 @@ 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 16496935..8932959c 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","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 +{"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","yAxisLeft","yAxisRight","legendLeft","legendRight","hidden","screenToValue","convertHiddenOptions","repeat","dateItem","updateHiddenDates","totalRange","pixelTime","startDate","endDate","_d","runUntil","clone","day","dayOfYear","year","dayOffset","date","month","console","removeDuplicates","startHidden","isHidden","endHidden","rangeStart","rangeEnd","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","_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_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","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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AQF,OAAQ,UAAWD,WAAY,aACxIC,OAAQ,UAAWD,WAAY,UAAWE,WAAYD,OAAQ,UAAWD,WAAY,WAAYG,OAAQF,OAAQ,UAAWD,WAAY,aACxIC,OAAQ,UAAWD,WAAY,UAAWE,WAAYD,OAAQ,UAAWD,WAAY,WAAYG,OAAQF,OAAQ,UAAWD,WAAY,aACxIC,OAAQ,UAAWD,WAAY,UAAWE,WAAYD,OAAQ,UAAWD,WAAY,WAAYG,OAAQF,OAAQ,UAAWD,WAAY,aACxIC,OAAQ,UAAWD,WAAY,UAAWE,WAAYD,OAAQ,UAAWD,WAAY,WAAYG,OAAQF,OAAQ,UAAWD,WAAY,aACxIC,OAAQ,UAAWD,WAAY,UAAWE,WAAYD,OAAQ,UAAWD,WAAY,WAAYG,OAAQF,OAAQ,UAAWD,WAAY,aACxIC,OAAQ,UAAWD,WAAY,UAAWE,WAAYD,OAAQ,UAAWD,WAAY,WAAYG,OAAQF,OAAQ,UAAWD,WAAY,aAExIC,OAAQ,UAAWD,WAAY,UAAWE,WAAYD,OAAQ,UAAWD,WAAY,WAAYG,OAAQF,OAAQ,UAAWD,WAAY,aAExIC,OAAQ,UAAWD,WAAY,UAAWE,WAAYD,OAAQ,UAAWD,WAAY,WAAYG,OAAQF,OAAQ,UAAWD,WAAY,aACxIC,OAAQ,UAAWD,WAAY,UAAWE,WAAYD,OAAQ,UAAWD,WAAY,WAAYG,OAAQF,OAAQ,UAAWD,WAAY,aACxIC,OAAQ,UAAWD,WAAY,UAAWE,WAAYD,OAAQ,UAAWD,WAAY,WAAYG,OAAQF,OAAQ,UAAWD,WAAY,aACxIC,OAAQ,UAAWD,WAAY,UAAWE,WAAYD,OAAQ,UAAWD,WAAY,WAAYG,OAAQF,OAAQ,UAAWD,WAAY,aACxIC,OAAQ,UAAWD,WAAY,UAAWE,WAAYD,OAAQ,UAAWD,WAAY,WAAYG,OAAQF,OAAQ,UAAWD,WAAY,aACxIC,OAAQ,UAAWD,WAAY,UAAWE,WAAYD,OAAQ,UAAWD,WAAY,WAAYG,OAAQF,OAAQ,UAAWD,WAAY,aACxIC,OAAQ,UAAWD,WAAY,UAAWE,WAAYD,OAAQ,UAAWD,WAAY,WAAYG,OAAQF,OAAQ,UAAWD,WAAY,aACxIC,OAAQ,UAAWD,WAAY,UAAWE,WAAYD,OAAQ,UAAWD,WAAY,WAAYG,OAAQF,OAAQ,UAAWD,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"} \ No newline at end of file diff --git a/dist/vis.min.js b/dist/vis.min.js index 3c993ef8..f8759b40 100644 --- a/dist/vis.min.js +++ b/dist/vis.min.js @@ -24,16 +24,16 @@ */ "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.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); +},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.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":o.hasParent(u,this.dom.center)&&(m="background"),{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,this.on("tap",function(t){h.emit("click",h.getEventProperties(t))}),this.on("doubletap",function(t){h.emit("doubleClick",h.getEventProperties(t))}),this.dom.root.oncontextmenu=function(t){h.emit("contextmenu",h.getEventProperties(t))},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}},s.prototype.getEventProperties=function(t){var e=t.gesture?t.gesture.center.pageX:t.pageX,i=t.gesture?t.gesture.center.pageY:t.pageY,s=e-o.getAbsoluteLeft(this.dom.centerContainer),n=i-o.getAbsoluteTop(this.dom.centerContainer),r=this._toTime(s),a=o.getTarget(t),h=null;o.hasParent(a,this.timeAxis.dom.foreground)?h="axis":this.timeAxis2&&o.hasParent(a,this.timeAxis2.dom.foreground)?h="axis":o.hasParent(a,this.linegraph.yAxisLeft.dom.frame)?h="data-axis":o.hasParent(a,this.linegraph.yAxisRight.dom.frame)?h="data-axis":o.hasParent(a,this.linegraph.legendLeft.dom.frame)?h="legend":o.hasParent(a,this.linegraph.legendRight.dom.frame)?h="legend":o.hasParent(a,this.customTime.bar)?h="custom-time":o.hasParent(a,this.currentTime.bar)?h="current-time":o.hasParent(a,this.dom.center)&&(h="background");var d=[],l=this.linegraph.yAxisLeft,c=this.linegraph.yAxisRight;return l.hidden||d.push(l.screenToValue(n)),c.hidden||d.push(c.screenToValue(n)),{event:t,what:h,pageX:e,pageY:i,x:s,y:n,time:r,value:d}},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.screenToValue=function(t){return this.valueAtZero-t/this.conversionFactor},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(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=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){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),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,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;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/graph2d.html b/docs/graph2d.html index 05b741a1..9f895282 100644 --- a/docs/graph2d.html +++ b/docs/graph2d.html @@ -834,6 +834,24 @@ Graph2d.clear({options: true}); // clear options only + + getEventProperties(event) + Object + + Returns an Object with relevant properties from an event: +
    +
  • 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.
  • +
  • value (Number[]): The data value of the click event. The array contains one value when there is one data axis visible, and two values when there are two visible data axes.
  • +
  • what (String | null): name of the clicked thing: background, axis, dat-axis, custom-time, or current-time, legend.
  • +
  • event (Object): the original click event.
  • +
+ + + getLegend(groupId, iconWidth, iconHeight) SVGelement, String, String diff --git a/lib/timeline/Graph2d.js b/lib/timeline/Graph2d.js index 07fe656d..3f8fd7cf 100644 --- a/lib/timeline/Graph2d.js +++ b/lib/timeline/Graph2d.js @@ -90,6 +90,16 @@ function Graph2d (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); @@ -191,7 +201,7 @@ Graph2d.prototype.getLegend = function(groupId, width, height) { else { return "cannot find group:" + groupId; } -} +}; /** * This checks if the visible option of the supplied group (by ID) is true or false. @@ -205,7 +215,7 @@ Graph2d.prototype.isGroupVisible = function(groupId) { else { return false; } -} +}; /** @@ -239,5 +249,52 @@ Graph2d.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. + */ +Graph2d.prototype.getEventProperties = function (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 time = this._toTime(x); + + var element = util.getTarget(event); + var what = null; + 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.linegraph.yAxisLeft.dom.frame)) {what = 'data-axis';} + else if (util.hasParent(element, this.linegraph.yAxisRight.dom.frame)) {what = 'data-axis';} + else if (util.hasParent(element, this.linegraph.legendLeft.dom.frame)) {what = 'legend';} + else if (util.hasParent(element, this.linegraph.legendRight.dom.frame)) {what = 'legend';} + else if (util.hasParent(element, this.customTime.bar)) {what = 'custom-time';} // TODO: fix for multiple custom time bars + else if (util.hasParent(element, this.currentTime.bar)) {what = 'current-time';} + else if (util.hasParent(element, this.dom.center)) {what = 'background';} + + var value = []; + var yAxisLeft = this.linegraph.yAxisLeft; + var yAxisRight = this.linegraph.yAxisRight; + if (!yAxisLeft.hidden) { + value.push(yAxisLeft.screenToValue(y)); + } + if (!yAxisRight.hidden) { + value.push(yAxisRight.screenToValue(y)); + } + + return { + event: event, + what: what, + pageX: pageX, + pageY: pageY, + x: x, + y: y, + time: time, + value: value + } +}; + module.exports = Graph2d; diff --git a/lib/timeline/Timeline.js b/lib/timeline/Timeline.js index 9c177c75..e8380d39 100644 --- a/lib/timeline/Timeline.js +++ b/lib/timeline/Timeline.js @@ -359,12 +359,12 @@ Timeline.prototype.getEventProperties = function (event) { 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.customTime.bar)) {what = 'custom-time';} // TODO: fix for multiple custom time bars else if (util.hasParent(element, this.currentTime.bar)) {what = 'current-time';} + else if (util.hasParent(element, this.dom.center)) {what = 'background';} return { event: event, diff --git a/lib/timeline/component/DataAxis.js b/lib/timeline/component/DataAxis.js index 0af46490..288e3180 100644 --- a/lib/timeline/component/DataAxis.js +++ b/lib/timeline/component/DataAxis.js @@ -484,6 +484,10 @@ DataAxis.prototype.convertValue = function (value) { return convertedValue; }; +DataAxis.prototype.screenToValue = function (x) { + return this.valueAtZero - (x / this.conversionFactor); +}; + /** * Create a label for the axis at position x * @private