From 76757c978e28db27a0cd9c6c1a1446999ff77d6c Mon Sep 17 00:00:00 2001 From: jos Date: Tue, 10 Feb 2015 16:55:41 +0100 Subject: [PATCH] Fixed #443: not being able to drag items to an other group on mobile devices. --- HISTORY.md | 1 + dist/vis.js | 184 ++++++++++++++++-------------- dist/vis.map | 2 +- dist/vis.min.js | 26 ++--- lib/timeline/component/ItemSet.js | 40 +++++-- test/timeline_groups.html | 6 + 6 files changed, 149 insertions(+), 110 deletions(-) diff --git a/HISTORY.md b/HISTORY.md index 1096ce5d..7bc5f2b2 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -36,6 +36,7 @@ http://visjs.org fixed scale. - Fixed width of range items not always being maintained when moving due to snapping to nice dates. +- Fixed not being able to drag items to an other group on mobile devices. ## 2015-01-16, version 3.9.1 diff --git a/dist/vis.js b/dist/vis.js index a1ba2db1..07a4c4d9 100644 --- a/dist/vis.js +++ b/dist/vis.js @@ -5,7 +5,7 @@ * A dynamic, browser-based visualization library. * * @version 3.9.2-SNAPSHOT - * @date 2015-02-09 + * @date 2015-02-10 * * @license * Copyright (C) 2011-2014 Almende B.V, http://almende.com @@ -6503,7 +6503,13 @@ return /******/ (function(modules) { // webpackBootstrap }, hiddenDates: [], util: { - snap: null, // will be specified after TimeAxis is created + getScale: function () { + return me.timeAxis.step.scale; + }, + getStep: function () { + return me.timeAxis.step.step; + }, + toScreen: me._toScreen.bind(me), toGlobalScreen: me._toGlobalScreen.bind(me), // this refers to the root.width toTime: me._toTime.bind(me), @@ -6519,7 +6525,6 @@ return /******/ (function(modules) { // webpackBootstrap // time axis this.timeAxis = new TimeAxis(this.body); this.components.push(this.timeAxis); - this.body.util.snap = this.timeAxis.snap.bind(this.timeAxis); // current time bar this.currentTime = new CurrentTime(this.body); @@ -6828,7 +6833,6 @@ return /******/ (function(modules) { // webpackBootstrap }, hiddenDates: [], util: { - snap: null, // will be specified after TimeAxis is created toScreen: me._toScreen.bind(me), toGlobalScreen: me._toGlobalScreen.bind(me), // this refers to the root.width toTime: me._toTime.bind(me), @@ -6844,7 +6848,7 @@ return /******/ (function(modules) { // webpackBootstrap // time axis this.timeAxis = new TimeAxis(this.body); this.components.push(this.timeAxis); - this.body.util.snap = this.timeAxis.snap.bind(this.timeAxis); + //this.body.util.snap = this.timeAxis.snap.bind(this.timeAxis); // current time bar this.currentTime = new CurrentTime(this.body); @@ -7742,18 +7746,6 @@ return /******/ (function(modules) { // webpackBootstrap return toPrecision; }; - - - /** - * Snap a date to a rounded value. - * The snap intervals are dependent on the current scale and step. - * @param {Date} date the date to be snapped. - * @return {Date} snappedDate - */ - DataStep.prototype.snap = function(date) { - - }; - /** * Check if the current value is a major value (for example when the step * is DAY, a major value is each first day of the MONTH) @@ -8909,15 +8901,19 @@ return /******/ (function(modules) { // webpackBootstrap /** * Snap a date to a rounded value. * The snap intervals are dependent on the current scale and step. - * @param {Date} date the date to be snapped. + * Static function + * @param {Date} date the date to be snapped. + * @param {string} scale Current scale, can be 'millisecond', 'second', + * 'minute', 'hour', 'weekday, 'day, 'month, 'year'. + * @param {number} step Current step (1, 2, 4, 5, ... * @return {Date} snappedDate */ - TimeStep.prototype.snap = function(date) { + TimeStep.snap = function(date, scale, step) { var clone = new Date(date.valueOf()); - if (this.scale == 'year') { + if (scale == 'year') { var year = clone.getFullYear() + Math.round(clone.getMonth() / 12); - clone.setFullYear(Math.round(year / this.step) * this.step); + clone.setFullYear(Math.round(year / step) * step); clone.setMonth(0); clone.setDate(0); clone.setHours(0); @@ -8925,7 +8921,7 @@ return /******/ (function(modules) { // webpackBootstrap clone.setSeconds(0); clone.setMilliseconds(0); } - else if (this.scale == 'month') { + else if (scale == 'month') { if (clone.getDate() > 15) { clone.setDate(1); clone.setMonth(clone.getMonth() + 1); @@ -8940,9 +8936,9 @@ return /******/ (function(modules) { // webpackBootstrap clone.setSeconds(0); clone.setMilliseconds(0); } - else if (this.scale == 'day') { + else if (scale == 'day') { //noinspection FallthroughInSwitchStatementJS - switch (this.step) { + switch (step) { case 5: case 2: clone.setHours(Math.round(clone.getHours() / 24) * 24); break; @@ -8953,9 +8949,9 @@ return /******/ (function(modules) { // webpackBootstrap clone.setSeconds(0); clone.setMilliseconds(0); } - else if (this.scale == 'weekday') { + else if (scale == 'weekday') { //noinspection FallthroughInSwitchStatementJS - switch (this.step) { + switch (step) { case 5: case 2: clone.setHours(Math.round(clone.getHours() / 12) * 12); break; @@ -8966,8 +8962,8 @@ return /******/ (function(modules) { // webpackBootstrap clone.setSeconds(0); clone.setMilliseconds(0); } - else if (this.scale == 'hour') { - switch (this.step) { + else if (scale == 'hour') { + switch (step) { case 4: clone.setMinutes(Math.round(clone.getMinutes() / 60) * 60); break; default: @@ -8975,9 +8971,9 @@ return /******/ (function(modules) { // webpackBootstrap } clone.setSeconds(0); clone.setMilliseconds(0); - } else if (this.scale == 'minute') { + } else if (scale == 'minute') { //noinspection FallthroughInSwitchStatementJS - switch (this.step) { + switch (step) { case 15: case 10: clone.setMinutes(Math.round(clone.getMinutes() / 5) * 5); @@ -8990,9 +8986,9 @@ return /******/ (function(modules) { // webpackBootstrap } clone.setMilliseconds(0); } - else if (this.scale == 'second') { + else if (scale == 'second') { //noinspection FallthroughInSwitchStatementJS - switch (this.step) { + switch (step) { case 15: case 10: clone.setSeconds(Math.round(clone.getSeconds() / 5) * 5); @@ -9004,9 +9000,9 @@ return /******/ (function(modules) { // webpackBootstrap clone.setMilliseconds(Math.round(clone.getMilliseconds() / 500) * 500); break; } } - else if (this.scale == 'millisecond') { - var step = this.step > 5 ? this.step / 2 : 1; - clone.setMilliseconds(Math.round(clone.getMilliseconds() / step) * step); + else if (scale == 'millisecond') { + var _step = step > 5 ? step / 2 : 1; + clone.setMilliseconds(Math.round(clone.getMilliseconds() / _step) * _step); } return clone; @@ -11457,16 +11453,6 @@ return /******/ (function(modules) { // webpackBootstrap } }; - /** - * Snap a date to a rounded value. - * The snap intervals are dependent on the current scale and step. - * @param {Date} date the date to be snapped. - * @return {Date} snappedDate - */ - DataAxis.prototype.snap = function(date) { - return this.step.snap(date); - }; - module.exports = DataAxis; @@ -12321,6 +12307,7 @@ return /******/ (function(modules) { // webpackBootstrap var util = __webpack_require__(1); var DataSet = __webpack_require__(3); var DataView = __webpack_require__(4); + var TimeStep = __webpack_require__(19); var Component = __webpack_require__(25); var Group = __webpack_require__(30); var BackgroundGroup = __webpack_require__(31); @@ -12360,6 +12347,8 @@ return /******/ (function(modules) { // webpackBootstrap remove: false }, + snap: TimeStep.snap, + onAdd: function (item, callback) { callback(item); }, @@ -12590,7 +12579,7 @@ return /******/ (function(modules) { // webpackBootstrap ItemSet.prototype.setOptions = function(options) { if (options) { // copy all options that we know - var fields = ['type', 'align', 'orientation', 'padding', 'stack', 'selectable', 'groupOrder', 'dataAttributes', 'template','hide']; + var fields = ['type', 'align', 'orientation', 'padding', 'stack', 'selectable', 'groupOrder', 'dataAttributes', 'template','hide', 'snap']; util.selectiveExtend(fields, this.options, options); if ('margin' in options) { @@ -13490,8 +13479,10 @@ return /******/ (function(modules) { // webpackBootstrap if (this.touchParams.itemProps) { var me = this; - var snap = this.body.util.snap || null; + var snap = this.options.snap || null; var xOffset = this.body.dom.root.offsetLeft + this.body.domProps.left.width; + var scale = this.body.util.getScale(); + var step = this.body.util.getStep(); // move this.touchParams.itemProps.forEach(function (props) { @@ -13502,12 +13493,12 @@ return /******/ (function(modules) { // webpackBootstrap if ('start' in props) { var start = new Date(props.start + offset); - newProps.start = snap ? snap(start) : start; + newProps.start = snap ? snap(start, scale, step) : start; } if ('end' in props) { var end = new Date(props.end + offset); - newProps.end = snap ? snap(end) : end; + newProps.end = snap ? snap(end, scale, step) : end; } else if ('duration' in props) { newProps.end = new Date(newProps.start.valueOf() + props.duration); @@ -13515,7 +13506,7 @@ return /******/ (function(modules) { // webpackBootstrap if ('group' in props) { // drag from one group to another - var group = ItemSet.groupFromTarget(event); + var group = me.groupFromTarget(event); newProps.group = group && group.groupId; } @@ -13675,7 +13666,7 @@ return /******/ (function(modules) { // webpackBootstrap if (!this.options.editable.add) return; var me = this, - snap = this.body.util.snap || null, + snap = this.options.snap || null, item = ItemSet.itemFromTarget(event); if (item) { @@ -13694,20 +13685,23 @@ return /******/ (function(modules) { // webpackBootstrap var xAbs = util.getAbsoluteLeft(this.dom.frame); var x = event.gesture.center.pageX - xAbs; var start = this.body.util.toTime(x); + var scale = this.body.util.getScale(); + var step = this.body.util.getStep(); + var newItem = { - start: snap ? snap(start) : start, + start: snap ? snap(start, scale, step) : start, content: 'new item' }; // when default type is a range, add a default end date to the new item if (this.options.type === 'range') { var end = this.body.util.toTime(x + this.props.width / 5); - newItem.end = snap ? snap(end) : end; + newItem.end = snap ? snap(end, scale, step) : end; } newItem[this.itemsData._fieldId] = util.randomUUID(); - var group = ItemSet.groupFromTarget(event); + var group = this.groupFromTarget(event); if (group) { newItem.group = group.groupId; } @@ -13837,13 +13831,37 @@ return /******/ (function(modules) { // webpackBootstrap * @param {Event} event * @return {Group | null} group */ - ItemSet.groupFromTarget = function(event) { - var target = event.target; - while (target) { - if (target.hasOwnProperty('timeline-group')) { - return target['timeline-group']; + ItemSet.prototype.groupFromTarget = function(event) { + // TODO: cleanup when the new solution is stable (also on mobile) + //var target = event.target; + //while (target) { + // if (target.hasOwnProperty('timeline-group')) { + // return target['timeline-group']; + // } + // target = target.parentNode; + //} + // + + var clientY = event.gesture.center.clientY; + for (var i = 0; i < this.groupIds.length; i++) { + var groupId = this.groupIds[i]; + var group = this.groups[groupId]; + var foreground = group.dom.foreground; + var top = util.getAbsoluteTop(foreground); + if (clientY > top && clientY < top + foreground.offsetHeight) { + return group; + } + + if (this.options.orientation === 'top') { + if (i === this.groupIds.length - 1 && clientY > top) { + return group; + } + } + else { + if (i === 0 && clientY < top + foreground.offset) { + return group; + } } - target = target.parentNode; } return null; @@ -15520,16 +15538,6 @@ return /******/ (function(modules) { // webpackBootstrap this.props.majorCharWidth = this.dom.measureCharMajor.clientWidth; }; - /** - * Snap a date to a rounded value. - * The snap intervals are dependent on the current scale and step. - * @param {Date} date the date to be snapped. - * @return {Date} snappedDate - */ - TimeAxis.prototype.snap = function(date) { - return this.step.snap(date); - }; - module.exports = TimeAxis; @@ -29871,9 +29879,9 @@ return /******/ (function(modules) { // webpackBootstrap /***/ function(module, exports, __webpack_require__) { var util = __webpack_require__(1); - var RepulsionMixin = __webpack_require__(68); - var HierarchialRepulsionMixin = __webpack_require__(69); - var BarnesHutMixin = __webpack_require__(70); + var RepulsionMixin = __webpack_require__(67); + var HierarchialRepulsionMixin = __webpack_require__(68); + var BarnesHutMixin = __webpack_require__(69); /** * Toggling barnes Hut calculation on and off. @@ -34290,19 +34298,6 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, /* 67 */ -/***/ function(module, exports, __webpack_require__) { - - function webpackContext(req) { - throw new Error("Cannot find module '" + req + "'."); - } - webpackContext.keys = function() { return []; }; - webpackContext.resolve = webpackContext; - module.exports = webpackContext; - webpackContext.id = 67; - - -/***/ }, -/* 68 */ /***/ function(module, exports, __webpack_require__) { /** @@ -34372,7 +34367,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 69 */ +/* 68 */ /***/ function(module, exports, __webpack_require__) { /** @@ -34531,7 +34526,7 @@ return /******/ (function(modules) { // webpackBootstrap }; /***/ }, -/* 70 */ +/* 69 */ /***/ function(module, exports, __webpack_require__) { /** @@ -34935,6 +34930,19 @@ return /******/ (function(modules) { // webpackBootstrap }; +/***/ }, +/* 70 */ +/***/ function(module, exports, __webpack_require__) { + + function webpackContext(req) { + throw new Error("Cannot find module '" + req + "'."); + } + webpackContext.keys = function() { return []; }; + webpackContext.resolve = webpackContext; + module.exports = webpackContext; + webpackContext.id = 70; + + /***/ }, /* 71 */ /***/ function(module, exports, __webpack_require__) { diff --git a/dist/vis.map b/dist/vis.map index b8fdbe27..52f48768 100644 --- a/dist/vis.map +++ b/dist/vis.map @@ -1 +1 @@ -{"version":3,"file":"vis.map","sources":["./dist/vis.js"],"names":["root","factory","exports","module","define","amd","this","modules","__webpack_require__","moduleId","installedModules","id","loaded","call","m","c","p","util","DOMutil","DataSet","DataView","Queue","Graph3d","graph3d","Camera","Filter","Point2d","Point3d","Slider","StepNumber","Timeline","Graph2d","timeline","DateUtil","DataStep","Range","stack","TimeStep","components","items","Item","BackgroundItem","BoxItem","PointItem","RangeItem","Component","CurrentTime","CustomTime","DataAxis","GraphGroup","Group","BackgroundGroup","ItemSet","Legend","LineGraph","TimeAxis","Network","network","Edge","Groups","Images","Node","Popup","dotparser","gephiParser","Graph","Error","moment","hammer","isNumber","object","Number","giveRange","min","max","total","value","scale","Math","isString","String","isDate","Date","match","ASPDateRegex","exec","isNaN","parse","isDataTable","google","visualization","DataTable","randomUUID","S4","floor","random","toString","extend","a","i","len","arguments","length","other","prop","hasOwnProperty","selectiveExtend","props","Array","isArray","selectiveDeepExtend","b","TypeError","constructor","Object","undefined","deepExtend","selectiveNotDeepExtend","indexOf","equalArray","convert","type","Boolean","valueOf","isMoment","toDate","getType","toISOString","getAbsoluteLeft","elem","getBoundingClientRect","left","window","pageXOffset","getAbsoluteTop","top","pageYOffset","addClassName","className","classes","split","push","join","removeClassName","index","splice","forEach","callback","toArray","array","updateProperty","key","addEventListener","element","action","listener","useCapture","navigator","userAgent","attachEvent","removeEventListener","detachEvent","preventDefault","event","returnValue","getTarget","target","srcElement","nodeType","parentNode","option","asBoolean","defaultValue","asNumber","asString","asSize","asElement","hexToRGB","hex","shorthandRegex","replace","r","g","result","parseInt","overrideOpacity","color","opacity","rgb","substr","RGBToHex","red","green","blue","slice","parseColor","isValidRGB","isValidHex","hsv","hexToHSV","lighterColorHSV","h","s","v","darkerColorHSV","darkerColorHex","HSVToHex","lighterColorHex","background","border","highlight","hover","RGBToHSV","minRGB","maxRGB","d","hue","saturation","cssUtil","cssText","styles","style","trim","parts","keys","map","addCssText","currentStyles","newStyles","removeCssText","removeStyles","HSVToRGB","f","q","t","isOk","test","selectiveBridgeObject","fields","referenceObject","objectTo","create","bridgeObject","mergeOptions","mergeTarget","options","enabled","binarySearchCustom","orderedItems","searchFunction","field","field2","maxIterations","iteration","low","high","middle","item","searchResult","binarySearchValue","sidePreference","prevValue","nextValue","easeInOutQuad","start","end","duration","change","easingFunctions","linear","easeInQuad","easeOutQuad","easeInCubic","easeOutCubic","easeInOutCubic","easeInQuart","easeOutQuart","easeInOutQuart","easeInQuint","easeOutQuint","easeInOutQuint","prepareElements","JSONcontainer","elementType","redundant","used","cleanupElements","removeChild","getSVGElement","svgContainer","shift","document","createElementNS","appendChild","getDOMElement","DOMContainer","insertBefore","createElement","drawPoint","x","y","group","point","drawPoints","setAttributeNS","size","drawBar","width","height","rect","data","_options","_data","_fieldId","fieldId","_type","_subscribers","add","setOptions","prototype","queue","_queue","destroy","on","subscribers","subscribe","off","filter","unsubscribe","_trigger","params","senderId","concat","subscriber","addedIds","me","_addItem","columns","_getColumnNames","row","rows","getNumberOfRows","col","cols","getValue","update","updatedIds","updatedData","addOrUpdate","_updateItem","get","ids","firstType","returnType","allowedValues","itemId","_getItem","order","_sort","_filterFields","_appendRow","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","label","visible","setValues","setPlayInterval","onchange","getIndex","selectValue","setOnChangeCallback","lineStyle","getLabel","getSelectedValue","from","to","prettyStep","text","xText","yText","zText","offset","xOffset","yOffset","xMin2d","xMax2d","gridLenX","gridLenY","textMargin","armAngle","H","S","V","R","G","B","C","Hi","X","abs","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","content","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","snap","toScreen","_toScreen","toGlobalScreen","_toGlobalScreen","toTime","_toTime","toGlobalTime","_toGlobalTime","range","timeAxis","currentTime","customTime","itemSet","itemsData","groupsData","setGroups","setItems","_redraw","Core","markDirty","refreshItems","newDataSet","initialLoad","dataRange","_getDataRange","setWindow","animate","fit","setSelection","focus","getSelection","itemData","e","getItemRange","dataset","minItem","maxStartItem","maxEndItem","linegraph","getLegend","groupId","isGroupVisible","visibility","convertHiddenOptions","repeat","dateItem","updateHiddenDates","centerContainer","totalRange","pixelTime","startDate","endDate","_d","runUntil","clone","day","dayOfYear","year","dayOffset","date","month","console","removeDuplicates","startHidden","isHidden","endHidden","rangeStart","rangeEnd","hidden","startToFront","endToFront","_applyRange","safeDates","printDates","dates","stepOverHiddenDates","timeStep","previousTime","stepInHidden","currentValue","current","newValue","switchedYear","switchedMonth","switchedDay","time","conversion","getHiddenDurationBetween","correctTimeForHidden","hiddenDuration","totalDuration","partialDuration","accumulatedHiddenDuration","getAccumulatedHiddenDuration","newTime","getHiddenDurationBefore","timeOffset","requiredDuration","previousPoint","snapAwayFromHidden","direction","correctionEnabled","minimumStep","containerHeight","customRange","alignZeros","autoScale","stepIndex","marginStart","marginEnd","deadSpace","majorSteps","minorSteps","setMinimumStep","setFirst","safeSize","minimumStepValue","orderOfMagnitude","minorStepIdx","magnitudefactor","solutionFound","stepSize","niceStart","niceEnd","roundToMinor","marginRange","rounded","hasNext","previous","decimals","exp","cnt","isMajor","now","hours","minutes","seconds","milliseconds","deltaDifference","scaleOffset","moveable","zoomable","zoomMin","zoomMax","touch","animateTimer","_onDragStart","_onDrag","_onDragEnd","_onHold","_onMouseWheel","_onTouch","_onPinch","validateDirection","getPointer","pageX","pageY","hammerUtil","byUser","_cancelAnimation","initStart","initEnd","initTime","anyChanged","dragging","done","changed","newStart","newEnd","getRange","totalHidden","previousDelta","allowDragging","gesture","deltaX","deltaY","diffRange","safeStart","safeEnd","fakeGesture","pointer","pointerDate","_pointerToDate","zoom","touches","centerDate","hiddenDurationBefore","hiddenDurationAfter","move","EPSILON","orderByStart","orderByEnd","aTime","bTime","force","iMax","axis","collidingItem","jj","collision","nostack","subgroups","newTop","subgroup","format","FORMAT","minorLabels","millisecond","second","minute","hour","weekday","majorLabels","setFormat","defaultFormat","first","setFullYear","getFullYear","setMonth","setDate","setHours","setMinutes","setSeconds","setMilliseconds","getMilliseconds","getSeconds","getMinutes","getHours","getDate","getMonth","setScale","setAutoScale","enable","stepYear","stepMonth","stepDay","stepHour","stepMinute","stepSecond","stepMillisecond","getLabelMinor","getLabelMajor","getClassName","even","today","isSame","currentWeek","currentMonth","currentYear","locale","lang","toLowerCase","parent","selected","displayed","dirty","Hammer","select","unselect","setParent","hide","show","isVisible","repositionX","repositionY","_repaintDeleteButton","anchor","editable","deleteButton","title","removeFromDataSet","stopPropagation","_updateContents","template","Element","_updateTitle","removeAttribute","_updateDataAttributes","dataAttributes","attributes","setAttribute","_updateStyle","emptyContent","baseClassName","box","getComputedStyle","onTop","itemSubgroup","subgroupIndex","foreground","align","itemSetHeight","marginLeft","maxWidth","_repaintDragLeft","_repaintDragRight","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","_updateVisibleItems","markerHeight","lastMarkerHeight","_calculateHeight","offsetTop","offsetLeft","ii","resetSubgroups","labelSet","orderSubgroups","_checkIfVisible","sortArray","sortField","removeItem","startArray","endArray","oldVisibleItems","visibleItemsLookup","lowerBound","upperBound","_checkIfVisibleWithReference","initialPosByStart","_traceVisible","initialPosByEnd","initialPos","breakCondition","groupOrder","selectable","onAdd","onUpdate","onMove","onRemove","onMoving","itemOptions","itemListeners","_onAdd","_onUpdate","_onRemove","groupListeners","_onAddGroups","_onUpdateGroups","_onRemoveGroups","groupIds","selection","stackDirty","touchParams","UNGROUPED","BACKGROUND","_updateUngrouped","backgroundGroup","_onSelectItem","_onMultiSelectItem","_onAddItem","addCallback","Function","getVisibleItems","rawVisibleItems","_deselect","_orderGroups","visibleInterval","zoomed","lastVisibleInterval","lastWidth","firstGroup","_firstGroup","firstMargin","nonFirstMargin","groupMargin","groupResized","firstGroupIndex","firstGroupId","ungrouped","_getGroupId","getLabelSet","oldItemsData","getItems","_order","getGroups","_getType","_removeItem","groupOptions","oldGroupId","oldGroup","_constructByEndArray","itemFromTarget","initialX","itemProps","newProps","initial","groupFromTarget","_updateItemProps","_moveToGroup","changes","ctrlKey","srcEvent","shiftKey","oldSelection","newSelection","xAbs","newItem","_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","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","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","constants","pixelRatio","hoverObj","controlNodesActive","navigationHammers","existing","_new","animationSpeed","animationEasingFunction","animating","easingTime","sourceScale","targetScale","sourceTranslation","targetTranslation","lockedOnNodeId","lockedOnNodeOffset","touchTime","images","setOnloadCallback","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","_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","popupObj","_checkHidePopup","checkShow","_checkShowPopup","popupTimer","edgeId","_getEdgeAt","_hoverObject","_blurObject","lastPopupNode","nodeUnderCursor","overlappingNodes","isOverlappingWith","getTitle","overlappingEdges","edge","connected","popup","setPosition","setText","emitEvent","oldWidth","oldHeight","oldNodesData","_updateSelection","angle","_updateCalculationNodes","_reconnectEdges","_updateValueRange","updateLabels","changedData","setProperties","properties","colorDirty","oldEdgesData","oldEdge","disconnect","showInternalIds","_createBezierNodes","via","sectors","dynamicEdges","valueTotal","setValueRange","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","requestAnimationFrame","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","getScale","getCenterCoordinates","getBoundingBox","getConnectedNodes","nodeList","nodeObj","toId","fromId","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","_getLineWidth","_line","midpointX","midpointY","_pointOnLine","_label","resize","_circle","_pointOnCircle","networkScaleInv","_getViaCoordinates","xVia","yVia","quadraticCurveTo","lineCount","measureText","_rotateForLabelAlignment","_drawLabelRect","_drawLabelText","angleInDegrees","atan2","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","DEFAULT","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","_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","baseline","labelUnderNode","relativeFontSize","strokecolor","inView","clearVelocity","updateVelocity","massBeforeClustering","energyBefore","styleAttr","fontFamily","WebkitBorderRadius","whiteSpace","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","what","getWindow","borderRootHeight","borderRootWidth","autoHeight","centerWidth","_updateScrollTop","visibilityTop","visibilityBottom","MAX_REDRAWS","repaint","_startAutoResize","_onResize","lastHeight","watchTimer","setInterval","initialScrollTop","oldScrollTop","_getScrollTop","newScrollTop","_setScrollTop","eventType","getTouchList","collectEventData","custom","_catmullRom","_linear","dFill","_catmullRomUniform","p0","p1","p2","p3","bp1","bp2","normalization","d1","d2","d3","A","N","M","d3powA","d2powA","d3pow2A","d2pow2A","d1pow2A","d1powA","Bargraph","barCombinedData","coreDistance","drawData","combinedData","intersections","barPoints","_getDataIntersections","heightOffset","_getSafeDrawData","nextKey","amount","resolved","prevKey","accumulated","groupLabel","_getStackedBarYRange","xpos","PhysicsMixin","ClusterMixin","SectorsMixin","SelectionMixin","ManipulationMixin","NavigationMixin","HierarchicalLayoutMixin","_loadMixin","sourceVariable","mixinFunction","_clearMixin","_loadSelectedForceSolver","_loadPhysicsConfiguration","hubThreshold","activeSector","drawingNode","blockConnectingEdgeSelection","forceAppendSelection","manipulationDiv","editModeDiv","closeDiv","_cleanNavigation","_loadNavigationElements","overlay","_onTapOverlay","windowHammer","_hasParent","deactivate","escListener","activate","unbind","back","editNode","addDescription","edgeDescription","editEdgeDescription","createEdgeError","deleteClusterError","CanvasRenderingContext2D","square","s2","ir","triangleDown","star","n","r2d","kappa","ox","oy","xe","ye","xm","ym","bezierCurveTo","wEllipse","hEllipse","ymb","yeb","xt","yt","xi","yi","xl","yl","xr","yr","dashArray","dashLength","dashCount","slope","distRemaining","dashIndex","_callbacks","once","self","removeListener","removeAllListeners","callbacks","cb","hasListeners","__WEBPACK_AMD_DEFINE_FACTORY__","__WEBPACK_AMD_DEFINE_ARRAY__","__WEBPACK_AMD_DEFINE_RESULT__","_exportFunctions","_bound","keydown","keyup","_keys","fromCharCode","code","down","handleEvent","up","keyCode","bound","bindAll","getKey","newBindings","global","dfl","hasOwnProp","defaultParsingFlags","empty","unusedTokens","unusedInput","charsLeftOver","nullInput","invalidMonth","invalidFormat","userInvalidated","iso","printMsg","msg","suppressDeprecationWarnings","warn","deprecate","firstTime","deprecateSimple","deprecations","padToken","func","leftZeroFill","ordinalizeToken","period","localeData","ordinal","monthDiff","anchor2","adjust","wholeMonthDiff","meridiemFixWrap","meridiem","isPm","meridiemHour","isPM","Locale","Moment","config","skipOverflow","checkOverflow","copyConfig","updateInProgress","updateOffset","Duration","normalizedInput","normalizeObjectUnits","years","quarters","quarter","months","weeks","week","days","_milliseconds","_days","_months","_locale","_bubble","val","_isAMomentObject","_i","_f","_l","_strict","_tzm","_isUTC","_offset","_pf","momentProperties","absRound","number","targetLength","forceSign","output","positiveMomentsDifference","base","res","isAfter","momentsDifference","makeAs","isBefore","createAdder","dur","tmp","addOrSubtractDurationFromMoment","mom","isAdding","setTime","rawSetter","rawGetter","rawMonthSetter","input","compareArrays","dontConvert","lengthDiff","diffs","toInt","normalizeUnits","units","lowered","unitAliases","camelFunctions","inputObject","normalizedProp","makeList","setter","getter","results","utc","set","argumentForCoercion","coercedNumber","isFinite","daysInMonth","UTC","getUTCDate","weeksInYear","dow","doy","weekOfYear","daysInYear","isLeapYear","_a","MONTH","DATE","YEAR","HOUR","MINUTE","SECOND","MILLISECOND","_overflowDayOfYear","isValid","_isValid","getTime","bigHour","normalizeLocale","chooseLocale","names","loadLocale","oldLocale","hasModule","model","local","removeFormattingTokens","makeFormatFunction","formattingTokens","formatTokenFunctions","formatMoment","expandFormat","formatFunctions","invalidDate","replaceLongDateFormatTokens","longDateFormat","localFormattingTokens","lastIndex","getParseRegexForToken","parseTokenOneDigit","parseTokenThreeDigits","parseTokenFourDigits","parseTokenOneToFourDigits","parseTokenSignedNumber","parseTokenSixDigits","parseTokenOneToSixDigits","parseTokenTwoDigits","parseTokenOneToThreeDigits","parseTokenWord","_meridiemParse","parseTokenOffsetMs","parseTokenTimestampMs","parseTokenTimezone","parseTokenT","parseTokenDigits","parseTokenOneOrTwoDigits","_ordinalParse","_ordinalParseLenient","RegExp","regexpEscape","unescapeFormat","utcOffsetFromString","string","possibleTzMatches","tzChunk","parseTimezoneChunker","addTimeToArrayFromToken","datePartArray","monthsParse","_dayOfYear","parseTwoDigitYear","_meridiem","_useUTC","weekdaysParse","_w","invalidWeekday","dayOfYearFromWeekInfo","weekYear","temp","GG","W","E","_week","gg","dayOfYearFromWeeks","dateFromConfig","currentDate","yearToUse","currentDateArray","makeUTCDate","getUTCMonth","_nextDay","makeDate","setUTCMinutes","getUTCMinutes","dateFromObject","getUTCFullYear","makeDateFromStringAndFormat","ISO_8601","parseISO","parsedInput","tokens","skipped","stringLength","totalParsedInputLength","matched","p4","makeDateFromStringAndArray","tempConfig","bestMoment","scoreToBeat","currentScore","NaN","score","l","isoRegex","isoDates","isoTimes","makeDateFromString","createFromInputFallback","makeDateFromInput","aspNetJsonRegex","ms","setUTCFullYear","parseWeekday","substituteTimeAgo","withoutSuffix","isFuture","relativeTime","posNegDuration","relativeTimeThresholds","firstDayOfWeek","firstDayOfWeekOfYear","adjustedMoment","daysToDayOfWeek","daysToAdd","getUTCDay","makeMoment","invalid","preparse","pickBy","moments","dayOfMonth","unit","makeAccessor","keepTime","daysToYears","yearsToDays","makeDurationGetter","makeGlobal","shouldDeprecate","ender","oldGlobalMoment","globalScope","VERSION","aspNetTimeSpanJsonRegex","isoDurationRegex","isoFormat","unitMillisecondFactors","Milliseconds","Seconds","Minutes","Hours","Days","Months","Years","D","Q","DDD","dayofyear","isoweekday","isoweek","weekyear","isoweekyear","ordinalizeTokens","paddedTokens","MMM","monthsShort","MMMM","dd","weekdaysMin","ddd","weekdaysShort","dddd","weekdays","isoWeek","YY","YYYY","YYYYY","YYYYYY","gggg","ggggg","isoWeekYear","GGGG","GGGGG","isoWeekday","SS","SSS","SSSS","Z","utcOffset","ZZ","zoneAbbr","zz","zoneName","unix","lists","DDDD","_monthsShort","monthName","regex","_monthsParse","_longMonthsParse","_shortMonthsParse","_weekdays","_weekdaysShort","_weekdaysMin","weekdayName","_weekdaysParse","_longDateFormat","LTS","LT","L","LL","LLL","LLLL","isLower","_calendar","sameDay","nextDay","nextWeek","lastDay","lastWeek","sameElse","calendar","_relativeTime","future","past","mm","hh","MM","yy","pastFuture","_ordinal","postformat","firstDayOfYear","_invalidDate","ret","parseIso","diffRes","isDuration","inp","version","relativeTimeThreshold","limit","defineLocale","_abbr","abbr","langData","flags","parseZone","isDSTShifted","parsingFlags","invalidAt","keepLocalTime","_dateUtcOffset","inputString","asFloat","that","zoneDiff","humanize","fromNow","sod","startOf","isDST","getDay","endOf","inputMs","isBetween","zone","localAdjust","_changeInProgress","isLocal","isUtcOffset","isUtc","hasAlignedHourOffset","isoWeeksInYear","weekInfo","newLocaleData","getTimezoneOffset","isoWeeks","toJSON","isUTC","withSuffix","toIsoString","asSeconds","asMilliseconds","asMinutes","asHours","asDays","asWeeks","asMonths","asYears","ordinalParse","require","noGlobal","setup","READY","Event","determineEventTypes","Utils","each","gestures","Detection","register","onTouch","DOCUMENT","EVENT_MOVE","detect","EVENT_END","Instance","defaults","behavior","userSelect","touchAction","touchCallout","contentZooming","userDrag","tapHighlightColor","HAS_POINTEREVENTS","pointerEnabled","msPointerEnabled","HAS_TOUCHEVENTS","IS_MOBILE","NO_MOUSEEVENTS","CALCULATE_INTERVAL","EVENT_TYPES","DIRECTION_DOWN","DIRECTION_LEFT","DIRECTION_UP","DIRECTION_RIGHT","POINTER_MOUSE","POINTER_TOUCH","POINTER_PEN","EVENT_START","EVENT_RELEASE","EVENT_TOUCH","plugins","utils","dest","handler","iterator","inStr","find","inArray","hasParent","getCenter","getVelocity","deltaTime","getAngle","touch1","touch2","getDirection","getRotation","isVertical","setPrefixedCss","toggle","prefixes","toCamelCase","toggleBehavior","falseFn","onselectstart","ondragstart","str","preventMouseEvents","started","shouldDetect","hook","onTouchHandler","ev","triggerType","srcType","isPointer","isMouse","buttons","PointerEvent","matchType","updatePointer","doDetect","touchList","touchListLength","triggerChange","trigger","changedLength","changedTouches","evData","identifiers","identifier","pointerType","timeStamp","preventManipulation","stopDetect","pointers","touchlist","pointerEvent","pointerId","pt","MSPOINTER_TYPE_MOUSE","MSPOINTER_TYPE_TOUCH","MSPOINTER_TYPE_PEN","detection","stopped","startDetect","inst","eventData","startEvent","lastEvent","lastCalcEvent","futureCalcEvent","lastCalcData","extendEventData","instOptions","getCalculatedData","recalc","calcEv","calcData","velocityX","velocityY","interimAngle","interimDirection","startEv","lastEv","rotation","eventStartHandler","eventHandlers","createEvent","initEvent","dispatchEvent","state","eh","dragGesture","dragMaxTouches","triggered","dragMinDistance","startCenter","dragDistanceCorrection","dragLockToAxis","dragLockMinDistance","lastDirection","dragBlockVertical","dragBlockHorizontal","Drag","Gesture","holdGesture","holdTimeout","holdThreshold","Hold","Release","Swipe","swipeMinTouches","swipeMaxTouches","swipeVelocityX","swipeVelocityY","tapGesture","sincePrev","didDoubleTap","hasMoved","tapMaxDistance","tapMaxTime","doubleTapInterval","doubleTapDistance","tapAlways","Tap","Touch","preventMouse","transformGesture","scaleThreshold","rotationThreshold","transformMinScale","transformMinRotation","Transform","graphToggleSmoothCurves","graph_toggleSmooth","getElementById","graphRepositionNodes","showValueOfRange","repositionNodes","graphGenerateOptions","optionsSpecific","radioButton1","radioButton2","checked","backupConstants","optionsDiv","switchConfigurations","radioButton","querySelector","tableId","table","_restoreNodes","constantsVariableName","valueId","rangeValue","_overWriteGraphConstants","RepulsionMixin","HierarchialRepulsionMixin","BarnesHutMixin","_toggleBarnesHut","barnesHutTree","_initializeForceCalculation","clusterToFit","_calculateForces","_calculateGravitationalForces","_calculateNodeForces","_calculateSpringForcesWithSupport","_calculateHierarchicalSpringForces","_calculateSpringForces","supportNodes","supportNodeId","gravity","gravityForce","_sector","edgeLength","springForce","combinedClusterSize","node1","node2","node3","_calculateSpringForce","physicsConfiguration","maxGravitational","maxSpring","hierarchicalLayoutDirections","parentElement","rangeElement","radioButton3","graph_repositionNodes","graph_generateOptions","dynamicSmoothCurves","nameArray","maxNumberOfNodes","reposition","maxLevels","forceAggregateHubs","normalizeClusterLevels","increaseClusterLevel","openCluster","isMovingBeforeClustering","_nodeInActiveArea","_addSector","decreaseClusterLevel","_expandClusterNode","updateClusters","zoomDirection","recursive","doNotStart","amountOfNodes","detectedZoomingIn","detectedZoomingOut","_collapseSector","_formClusters","_openClusters","_aggregateHubs","handleChains","chainPercentage","_getChainFraction","_reduceAmountOfChains","_getHubSize","_formClustersByHub","_openClustersBySize","openAll","containedNodeId","childNode","_expelChildFromParent","_unselectAll","_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","_removeFromSelection","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","_restoreOverloadedFunctions","functionName","_toggleEditMode","toolbar","boundFunction","edgeBeingEdited","selectedControlNode","_createAddNodeToolbar","_createAddEdgeToolbar","_editNode","_createEditEdgeToolbar","_addNode","_handleConnect","_finishConnect","_selectControlNode","_controlNodeDrag","_releaseControlNode","newNode","_editEdge","alert","targetNode","connectionEdge","connectFromId","_createEdge","defaultData","finalizedData","sourceNodeId","targetNodeId","selectedNodes","selectedEdges","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","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","point","drawPoints","setAttributeNS","size","drawBar","width","height","rect","data","_options","_data","_fieldId","fieldId","_type","_subscribers","add","setOptions","prototype","queue","_queue","destroy","on","subscribers","subscribe","off","filter","unsubscribe","_trigger","params","senderId","concat","subscriber","addedIds","me","_addItem","columns","_getColumnNames","row","rows","getNumberOfRows","col","cols","getValue","update","updatedIds","updatedData","addOrUpdate","_updateItem","get","ids","firstType","returnType","allowedValues","itemId","_getItem","order","_sort","_filterFields","_appendRow","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","label","visible","setValues","setPlayInterval","onchange","getIndex","selectValue","setOnChangeCallback","lineStyle","getLabel","getSelectedValue","from","to","prettyStep","text","xText","yText","zText","offset","xOffset","yOffset","xMin2d","xMax2d","gridLenX","gridLenY","textMargin","armAngle","H","S","V","R","G","B","C","Hi","X","abs","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","content","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","currentTime","customTime","itemSet","itemsData","groupsData","setGroups","setItems","_redraw","Core","markDirty","refreshItems","newDataSet","initialLoad","dataRange","_getDataRange","setWindow","animate","fit","setSelection","focus","getSelection","itemData","e","getItemRange","dataset","minItem","maxStartItem","maxEndItem","linegraph","getLegend","groupId","isGroupVisible","visibility","convertHiddenOptions","repeat","dateItem","updateHiddenDates","centerContainer","totalRange","pixelTime","startDate","endDate","_d","runUntil","clone","day","dayOfYear","year","dayOffset","date","month","console","removeDuplicates","startHidden","isHidden","endHidden","rangeStart","rangeEnd","hidden","startToFront","endToFront","_applyRange","safeDates","printDates","dates","stepOverHiddenDates","timeStep","previousTime","stepInHidden","currentValue","current","newValue","switchedYear","switchedMonth","switchedDay","time","conversion","getHiddenDurationBetween","correctTimeForHidden","hiddenDuration","totalDuration","partialDuration","accumulatedHiddenDuration","getAccumulatedHiddenDuration","newTime","getHiddenDurationBefore","timeOffset","requiredDuration","previousPoint","snapAwayFromHidden","direction","correctionEnabled","minimumStep","containerHeight","customRange","alignZeros","autoScale","stepIndex","marginStart","marginEnd","deadSpace","majorSteps","minorSteps","setMinimumStep","setFirst","safeSize","minimumStepValue","orderOfMagnitude","minorStepIdx","magnitudefactor","solutionFound","stepSize","niceStart","niceEnd","roundToMinor","marginRange","rounded","hasNext","previous","decimals","exp","cnt","isMajor","now","hours","minutes","seconds","milliseconds","deltaDifference","scaleOffset","moveable","zoomable","zoomMin","zoomMax","touch","animateTimer","_onDragStart","_onDrag","_onDragEnd","_onHold","_onMouseWheel","_onTouch","_onPinch","validateDirection","getPointer","pageX","pageY","hammerUtil","byUser","_cancelAnimation","initStart","initEnd","initTime","anyChanged","dragging","done","changed","newStart","newEnd","getRange","totalHidden","previousDelta","allowDragging","gesture","deltaX","deltaY","diffRange","safeStart","safeEnd","fakeGesture","pointer","pointerDate","_pointerToDate","zoom","touches","centerDate","hiddenDurationBefore","hiddenDurationAfter","move","EPSILON","orderByStart","orderByEnd","aTime","bTime","force","iMax","axis","collidingItem","jj","collision","nostack","subgroups","newTop","subgroup","format","FORMAT","minorLabels","millisecond","second","minute","hour","weekday","majorLabels","setFormat","defaultFormat","first","setFullYear","getFullYear","setMonth","setDate","setHours","setMinutes","setSeconds","setMilliseconds","getMilliseconds","getSeconds","getMinutes","getHours","getDate","getMonth","setScale","setAutoScale","enable","stepYear","stepMonth","stepDay","stepHour","stepMinute","stepSecond","stepMillisecond","snap","getLabelMinor","getLabelMajor","getClassName","even","today","isSame","currentWeek","currentMonth","currentYear","locale","lang","toLowerCase","parent","selected","displayed","dirty","Hammer","select","unselect","setParent","hide","show","isVisible","repositionX","repositionY","_repaintDeleteButton","anchor","editable","deleteButton","title","removeFromDataSet","stopPropagation","_updateContents","template","Element","_updateTitle","removeAttribute","_updateDataAttributes","dataAttributes","attributes","setAttribute","_updateStyle","emptyContent","baseClassName","box","getComputedStyle","onTop","itemSubgroup","subgroupIndex","foreground","align","itemSetHeight","marginLeft","maxWidth","_repaintDragLeft","_repaintDragRight","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","_updateVisibleItems","markerHeight","lastMarkerHeight","_calculateHeight","offsetTop","offsetLeft","ii","resetSubgroups","labelSet","orderSubgroups","_checkIfVisible","sortArray","sortField","removeItem","startArray","endArray","oldVisibleItems","visibleItemsLookup","lowerBound","upperBound","_checkIfVisibleWithReference","initialPosByStart","_traceVisible","initialPosByEnd","initialPos","breakCondition","groupOrder","selectable","onAdd","onUpdate","onMove","onRemove","onMoving","itemOptions","itemListeners","_onAdd","_onUpdate","_onRemove","groupListeners","_onAddGroups","_onUpdateGroups","_onRemoveGroups","groupIds","selection","stackDirty","touchParams","UNGROUPED","BACKGROUND","_updateUngrouped","backgroundGroup","_onSelectItem","_onMultiSelectItem","_onAddItem","addCallback","Function","getVisibleItems","rawVisibleItems","_deselect","_orderGroups","visibleInterval","zoomed","lastVisibleInterval","lastWidth","firstGroup","_firstGroup","firstMargin","nonFirstMargin","groupMargin","groupResized","firstGroupIndex","firstGroupId","ungrouped","_getGroupId","getLabelSet","oldItemsData","getItems","_order","getGroups","_getType","_removeItem","groupOptions","oldGroupId","oldGroup","_constructByEndArray","itemFromTarget","initialX","itemProps","newProps","initial","groupFromTarget","_updateItemProps","_moveToGroup","changes","ctrlKey","srcEvent","shiftKey","oldSelection","newSelection","xAbs","newItem","_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","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","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","constants","pixelRatio","hoverObj","controlNodesActive","navigationHammers","existing","_new","animationSpeed","animationEasingFunction","animating","easingTime","sourceScale","targetScale","sourceTranslation","targetTranslation","lockedOnNodeId","lockedOnNodeOffset","touchTime","images","setOnloadCallback","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","_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","popupObj","_checkHidePopup","checkShow","_checkShowPopup","popupTimer","edgeId","_getEdgeAt","_hoverObject","_blurObject","lastPopupNode","nodeUnderCursor","overlappingNodes","isOverlappingWith","getTitle","overlappingEdges","edge","connected","popup","setPosition","setText","emitEvent","oldWidth","oldHeight","oldNodesData","_updateSelection","angle","_updateCalculationNodes","_reconnectEdges","_updateValueRange","updateLabels","changedData","setProperties","properties","colorDirty","oldEdgesData","oldEdge","disconnect","showInternalIds","_createBezierNodes","via","sectors","dynamicEdges","valueTotal","setValueRange","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","requestAnimationFrame","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","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","_getLineWidth","_line","midpointX","midpointY","_pointOnLine","_label","resize","_circle","_pointOnCircle","networkScaleInv","_getViaCoordinates","xVia","yVia","quadraticCurveTo","lineCount","measureText","_rotateForLabelAlignment","_drawLabelRect","_drawLabelText","angleInDegrees","atan2","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","DEFAULT","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","_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","baseline","labelUnderNode","relativeFontSize","strokecolor","inView","clearVelocity","updateVelocity","massBeforeClustering","energyBefore","styleAttr","fontFamily","WebkitBorderRadius","whiteSpace","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","what","getWindow","borderRootHeight","borderRootWidth","autoHeight","centerWidth","_updateScrollTop","visibilityTop","visibilityBottom","MAX_REDRAWS","repaint","_startAutoResize","_onResize","lastHeight","watchTimer","setInterval","initialScrollTop","oldScrollTop","_getScrollTop","newScrollTop","_setScrollTop","eventType","getTouchList","collectEventData","custom","_catmullRom","_linear","dFill","_catmullRomUniform","p0","p1","p2","p3","bp1","bp2","normalization","d1","d2","d3","A","N","M","d3powA","d2powA","d3pow2A","d2pow2A","d1pow2A","d1powA","Bargraph","barCombinedData","coreDistance","drawData","combinedData","intersections","barPoints","_getDataIntersections","heightOffset","_getSafeDrawData","nextKey","amount","resolved","prevKey","accumulated","groupLabel","_getStackedBarYRange","xpos","PhysicsMixin","ClusterMixin","SectorsMixin","SelectionMixin","ManipulationMixin","NavigationMixin","HierarchicalLayoutMixin","_loadMixin","sourceVariable","mixinFunction","_clearMixin","_loadSelectedForceSolver","_loadPhysicsConfiguration","hubThreshold","activeSector","drawingNode","blockConnectingEdgeSelection","forceAppendSelection","manipulationDiv","editModeDiv","closeDiv","_cleanNavigation","_loadNavigationElements","overlay","_onTapOverlay","windowHammer","_hasParent","deactivate","escListener","activate","unbind","back","editNode","addDescription","edgeDescription","editEdgeDescription","createEdgeError","deleteClusterError","CanvasRenderingContext2D","square","s2","ir","triangleDown","star","n","r2d","kappa","ox","oy","xe","ye","xm","ym","bezierCurveTo","wEllipse","hEllipse","ymb","yeb","xt","yt","xi","yi","xl","yl","xr","yr","dashArray","dashLength","dashCount","slope","distRemaining","dashIndex","_callbacks","once","self","removeListener","removeAllListeners","callbacks","cb","hasListeners","__WEBPACK_AMD_DEFINE_FACTORY__","__WEBPACK_AMD_DEFINE_ARRAY__","__WEBPACK_AMD_DEFINE_RESULT__","_exportFunctions","_bound","keydown","keyup","_keys","fromCharCode","code","down","handleEvent","up","keyCode","bound","bindAll","getKey","newBindings","global","dfl","hasOwnProp","defaultParsingFlags","empty","unusedTokens","unusedInput","charsLeftOver","nullInput","invalidMonth","invalidFormat","userInvalidated","iso","printMsg","msg","suppressDeprecationWarnings","warn","deprecate","firstTime","deprecateSimple","deprecations","padToken","func","leftZeroFill","ordinalizeToken","period","localeData","ordinal","monthDiff","anchor2","adjust","wholeMonthDiff","meridiemFixWrap","meridiem","isPm","meridiemHour","isPM","Locale","Moment","config","skipOverflow","checkOverflow","copyConfig","updateInProgress","updateOffset","Duration","normalizedInput","normalizeObjectUnits","years","quarters","quarter","months","weeks","week","days","_milliseconds","_days","_months","_locale","_bubble","val","_isAMomentObject","_i","_f","_l","_strict","_tzm","_isUTC","_offset","_pf","momentProperties","absRound","number","targetLength","forceSign","output","positiveMomentsDifference","base","res","isAfter","momentsDifference","makeAs","isBefore","createAdder","dur","tmp","addOrSubtractDurationFromMoment","mom","isAdding","setTime","rawSetter","rawGetter","rawMonthSetter","input","compareArrays","dontConvert","lengthDiff","diffs","toInt","normalizeUnits","units","lowered","unitAliases","camelFunctions","inputObject","normalizedProp","makeList","setter","getter","results","utc","set","argumentForCoercion","coercedNumber","isFinite","daysInMonth","UTC","getUTCDate","weeksInYear","dow","doy","weekOfYear","daysInYear","isLeapYear","_a","MONTH","DATE","YEAR","HOUR","MINUTE","SECOND","MILLISECOND","_overflowDayOfYear","isValid","_isValid","getTime","bigHour","normalizeLocale","chooseLocale","names","loadLocale","oldLocale","hasModule","model","local","removeFormattingTokens","makeFormatFunction","formattingTokens","formatTokenFunctions","formatMoment","expandFormat","formatFunctions","invalidDate","replaceLongDateFormatTokens","longDateFormat","localFormattingTokens","lastIndex","getParseRegexForToken","parseTokenOneDigit","parseTokenThreeDigits","parseTokenFourDigits","parseTokenOneToFourDigits","parseTokenSignedNumber","parseTokenSixDigits","parseTokenOneToSixDigits","parseTokenTwoDigits","parseTokenOneToThreeDigits","parseTokenWord","_meridiemParse","parseTokenOffsetMs","parseTokenTimestampMs","parseTokenTimezone","parseTokenT","parseTokenDigits","parseTokenOneOrTwoDigits","_ordinalParse","_ordinalParseLenient","RegExp","regexpEscape","unescapeFormat","utcOffsetFromString","string","possibleTzMatches","tzChunk","parseTimezoneChunker","addTimeToArrayFromToken","datePartArray","monthsParse","_dayOfYear","parseTwoDigitYear","_meridiem","_useUTC","weekdaysParse","_w","invalidWeekday","dayOfYearFromWeekInfo","weekYear","temp","GG","W","E","_week","gg","dayOfYearFromWeeks","dateFromConfig","currentDate","yearToUse","currentDateArray","makeUTCDate","getUTCMonth","_nextDay","makeDate","setUTCMinutes","getUTCMinutes","dateFromObject","getUTCFullYear","makeDateFromStringAndFormat","ISO_8601","parseISO","parsedInput","tokens","skipped","stringLength","totalParsedInputLength","matched","p4","makeDateFromStringAndArray","tempConfig","bestMoment","scoreToBeat","currentScore","NaN","score","l","isoRegex","isoDates","isoTimes","makeDateFromString","createFromInputFallback","makeDateFromInput","aspNetJsonRegex","ms","setUTCFullYear","parseWeekday","substituteTimeAgo","withoutSuffix","isFuture","relativeTime","posNegDuration","relativeTimeThresholds","firstDayOfWeek","firstDayOfWeekOfYear","adjustedMoment","daysToDayOfWeek","daysToAdd","getUTCDay","makeMoment","invalid","preparse","pickBy","moments","dayOfMonth","unit","makeAccessor","keepTime","daysToYears","yearsToDays","makeDurationGetter","makeGlobal","shouldDeprecate","ender","oldGlobalMoment","globalScope","VERSION","aspNetTimeSpanJsonRegex","isoDurationRegex","isoFormat","unitMillisecondFactors","Milliseconds","Seconds","Minutes","Hours","Days","Months","Years","D","Q","DDD","dayofyear","isoweekday","isoweek","weekyear","isoweekyear","ordinalizeTokens","paddedTokens","MMM","monthsShort","MMMM","dd","weekdaysMin","ddd","weekdaysShort","dddd","weekdays","isoWeek","YY","YYYY","YYYYY","YYYYYY","gggg","ggggg","isoWeekYear","GGGG","GGGGG","isoWeekday","SS","SSS","SSSS","Z","utcOffset","ZZ","zoneAbbr","zz","zoneName","unix","lists","DDDD","_monthsShort","monthName","regex","_monthsParse","_longMonthsParse","_shortMonthsParse","_weekdays","_weekdaysShort","_weekdaysMin","weekdayName","_weekdaysParse","_longDateFormat","LTS","LT","L","LL","LLL","LLLL","isLower","_calendar","sameDay","nextDay","nextWeek","lastDay","lastWeek","sameElse","calendar","_relativeTime","future","past","mm","hh","MM","yy","pastFuture","_ordinal","postformat","firstDayOfYear","_invalidDate","ret","parseIso","diffRes","isDuration","inp","version","relativeTimeThreshold","limit","defineLocale","_abbr","abbr","langData","flags","parseZone","isDSTShifted","parsingFlags","invalidAt","keepLocalTime","_dateUtcOffset","inputString","asFloat","that","zoneDiff","humanize","fromNow","sod","startOf","isDST","getDay","endOf","inputMs","isBetween","zone","localAdjust","_changeInProgress","isLocal","isUtcOffset","isUtc","hasAlignedHourOffset","isoWeeksInYear","weekInfo","newLocaleData","getTimezoneOffset","isoWeeks","toJSON","isUTC","withSuffix","toIsoString","asSeconds","asMilliseconds","asMinutes","asHours","asDays","asWeeks","asMonths","asYears","ordinalParse","require","noGlobal","setup","READY","Event","determineEventTypes","Utils","each","gestures","Detection","register","onTouch","DOCUMENT","EVENT_MOVE","detect","EVENT_END","Instance","defaults","behavior","userSelect","touchAction","touchCallout","contentZooming","userDrag","tapHighlightColor","HAS_POINTEREVENTS","pointerEnabled","msPointerEnabled","HAS_TOUCHEVENTS","IS_MOBILE","NO_MOUSEEVENTS","CALCULATE_INTERVAL","EVENT_TYPES","DIRECTION_DOWN","DIRECTION_LEFT","DIRECTION_UP","DIRECTION_RIGHT","POINTER_MOUSE","POINTER_TOUCH","POINTER_PEN","EVENT_START","EVENT_RELEASE","EVENT_TOUCH","plugins","utils","dest","handler","iterator","inStr","find","inArray","hasParent","getCenter","getVelocity","deltaTime","getAngle","touch1","touch2","getDirection","getRotation","isVertical","setPrefixedCss","toggle","prefixes","toCamelCase","toggleBehavior","falseFn","onselectstart","ondragstart","str","preventMouseEvents","started","shouldDetect","hook","onTouchHandler","ev","triggerType","srcType","isPointer","isMouse","buttons","PointerEvent","matchType","updatePointer","doDetect","touchList","touchListLength","triggerChange","trigger","changedLength","changedTouches","evData","identifiers","identifier","pointerType","timeStamp","preventManipulation","stopDetect","pointers","touchlist","pointerEvent","pointerId","pt","MSPOINTER_TYPE_MOUSE","MSPOINTER_TYPE_TOUCH","MSPOINTER_TYPE_PEN","detection","stopped","startDetect","inst","eventData","startEvent","lastEvent","lastCalcEvent","futureCalcEvent","lastCalcData","extendEventData","instOptions","getCalculatedData","recalc","calcEv","calcData","velocityX","velocityY","interimAngle","interimDirection","startEv","lastEv","rotation","eventStartHandler","eventHandlers","createEvent","initEvent","dispatchEvent","state","eh","dragGesture","dragMaxTouches","triggered","dragMinDistance","startCenter","dragDistanceCorrection","dragLockToAxis","dragLockMinDistance","lastDirection","dragBlockVertical","dragBlockHorizontal","Drag","Gesture","holdGesture","holdTimeout","holdThreshold","Hold","Release","Swipe","swipeMinTouches","swipeMaxTouches","swipeVelocityX","swipeVelocityY","tapGesture","sincePrev","didDoubleTap","hasMoved","tapMaxDistance","tapMaxTime","doubleTapInterval","doubleTapDistance","tapAlways","Tap","Touch","preventMouse","transformGesture","scaleThreshold","rotationThreshold","transformMinScale","transformMinRotation","Transform","graphToggleSmoothCurves","graph_toggleSmooth","getElementById","graphRepositionNodes","showValueOfRange","repositionNodes","graphGenerateOptions","optionsSpecific","radioButton1","radioButton2","checked","backupConstants","optionsDiv","switchConfigurations","radioButton","querySelector","tableId","table","_restoreNodes","constantsVariableName","valueId","rangeValue","_overWriteGraphConstants","RepulsionMixin","HierarchialRepulsionMixin","BarnesHutMixin","_toggleBarnesHut","barnesHutTree","_initializeForceCalculation","clusterToFit","_calculateForces","_calculateGravitationalForces","_calculateNodeForces","_calculateSpringForcesWithSupport","_calculateHierarchicalSpringForces","_calculateSpringForces","supportNodes","supportNodeId","gravity","gravityForce","_sector","edgeLength","springForce","combinedClusterSize","node1","node2","node3","_calculateSpringForce","physicsConfiguration","maxGravitational","maxSpring","hierarchicalLayoutDirections","parentElement","rangeElement","radioButton3","graph_repositionNodes","graph_generateOptions","dynamicSmoothCurves","nameArray","maxNumberOfNodes","reposition","maxLevels","forceAggregateHubs","normalizeClusterLevels","increaseClusterLevel","openCluster","isMovingBeforeClustering","_nodeInActiveArea","_addSector","decreaseClusterLevel","_expandClusterNode","updateClusters","zoomDirection","recursive","doNotStart","amountOfNodes","detectedZoomingIn","detectedZoomingOut","_collapseSector","_formClusters","_openClusters","_aggregateHubs","handleChains","chainPercentage","_getChainFraction","_reduceAmountOfChains","_getHubSize","_formClustersByHub","_openClustersBySize","openAll","containedNodeId","childNode","_expelChildFromParent","_unselectAll","_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","_removeFromSelection","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","_restoreOverloadedFunctions","functionName","_toggleEditMode","toolbar","boundFunction","edgeBeingEdited","selectedControlNode","_createAddNodeToolbar","_createAddEdgeToolbar","_editNode","_createEditEdgeToolbar","_addNode","_handleConnect","_finishConnect","_selectControlNode","_controlNodeDrag","_releaseControlNode","newNode","_editEdge","alert","targetNode","connectionEdge","connectFromId","_createEdge","defaultData","finalizedData","sourceNodeId","targetNodeId","selectedNodes","selectedEdges","navigationDivs","navigationDivActions","_stopMovement","_zoomExtent","hubsize","definedLevel","undefinedLevel","_changeConstants","_determineLevels","_determineLevelsDirected","distribution","_getDistribution","_placeNodesByHierarchy","minPos","_placeBranchNodes","maxCount","_setLevel","firstNode","_setLevelDirected","parentId","parentLevel","nodeMoved","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","webpackContext","req","resolve","webpackPolyfill","paths"],"mappings":"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"} \ No newline at end of file diff --git a/dist/vis.min.js b/dist/vis.min.js index bd6792f1..dcad9d90 100644 --- a/dist/vis.min.js +++ b/dist/vis.min.js @@ -5,7 +5,7 @@ * A dynamic, browser-based visualization library. * * @version 3.9.2-SNAPSHOT - * @date 2015-02-09 + * @date 2015-02-10 * * @license * Copyright (C) 2011-2014 Almende B.V, http://almende.com @@ -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.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){var r;return"circle"==s.options.drawPoints.style?(r=e.getSVGElement("circle",o,n),r.setAttributeNS(null,"cx",t),r.setAttributeNS(null,"cy",i),r.setAttributeNS(null,"r",.5*s.options.drawPoints.size)):(r=e.getSVGElement("rect",o,n),r.setAttributeNS(null,"x",t-.5*s.options.drawPoints.size),r.setAttributeNS(null,"y",i-.5*s.options.drawPoints.size),r.setAttributeNS(null,"width",s.options.drawPoints.size),r.setAttributeNS(null,"height",s.options.drawPoints.size)),void 0!==s.options.drawPoints.styles&&r.setAttributeNS(null,"style",s.group.options.drawPoints.styles),r.setAttributeNS(null,"class",s.className+" point"),r},e.drawBar=function(t,i,s,o,n,r,a){if(0!=o){0>o&&(o*=-1,i-=o);var h=e.getSVGElement("rect",r,a);h.setAttributeNS(null,"x",t-.5*s),h.setAttributeNS(null,"y",i),h.setAttributeNS(null,"width",s),h.setAttributeNS(null,"height",o),h.setAttributeNS(null,"class",n)}}},function(t,e,i){function s(t,e){if(!t||Array.isArray(t)||o.isDataTable(t)||(e=t,t=null),this._options=e||{},this._data={},this.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={};for(var s in t)t.hasOwnProperty(s)&&-1!=e.indexOf(s)&&(i[s]=t[s]);return i},s.prototype._sort=function(t,e){if(o.isString(e)){var i=e;t.sort(function(t,e){var s=t[i],o=e[i];return s>o?1:o>s?-1:0})}else{if("function"!=typeof e)throw new TypeError("Order must be a function or a string");t.sort(e)}},s.prototype.remove=function(t,e){var i,s,o,n=[];if(Array.isArray(t))for(i=0,s=t.length;s>i;i++)o=this._remove(t[i]),null!=o&&n.push(o);else o=this._remove(t),null!=o&&n.push(o);return n.length&&this._trigger("remove",{items:n},e),n},s.prototype._remove=function(t){if(o.isNumber(t)||o.isString(t)){if(this._data[t])return delete this._data[t],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,d.push(n));break;case"update":for(s=0,o=a.length;o>s;s++)n=a[s],r=this.get(n),r?this._ids[n]?l.push(n):(this._ids[n]=!0,d.push(n)):this._ids[n]&&(delete this._ids[n],c.push(n));break;case"remove":for(s=0,o=a.length;o>s;s++)n=a[s],this._ids[n]&&(delete this._ids[n],c.push(n))}this.length+=d.length-c.length,d.length&&this._trigger("add",{items:d},i),l.length&&this._trigger("update",{items:l},i),c.length&&this._trigger("remove",{items:c},i)}},s.prototype.on=n.prototype.on,s.prototype.off=n.prototype.off,s.prototype._trigger=n.prototype._trigger,s.prototype.subscribe=s.prototype.on,s.prototype.unsubscribe=s.prototype.off,t.exports=s},function(t){function e(t){this.delay=null,this.max=1/0,this._queue=[],this._timeout=null,this._extended=null,this.setOptions(t)}e.prototype.setOptions=function(t){t&&"undefined"!=typeof t.delay&&(this.delay=t.delay),t&&"undefined"!=typeof t.max&&(this.max=t.max),this._flushIfNeeded()},e.extend=function(t,i){var s=new e(i);if(void 0!==t.flush)throw new Error("Target object already has a property flush");t.flush=function(){s.flush()};var o=[{name:"flush",original:void 0}];if(i&&i.replace)for(var n=0;nthis.max&&this.flush(),clearTimeout(this._timeout),this.queue.length>0&&"number"==typeof this.delay){var t=this;this._timeout=setTimeout(function(){t.flush()},this.delay)}},e.prototype.flush=function(){for(;this._queue.length>0;){var t=this._queue.shift();t.fn.apply(t.context||t.fn,t.args||[])}},t.exports=e},function(t,e,i){function s(t,e,i){if(!(this instanceof s))throw new SyntaxError("Constructor must be called with the new operator");this.containerElement=t,this.width="400px",this.height="400px",this.margin=10,this.defaultXCenter="55%",this.defaultYCenter="50%",this.xLabel="x",this.yLabel="y",this.zLabel="z";var o=function(t){return t};this.xValueLabel=o,this.yValueLabel=o,this.zValueLabel=o,this.filterLabel="time",this.legendLabel="value",this.style=s.STYLE.DOT,this.showPerspective=!0,this.showGrid=!0,this.keepAspectRatio=!0,this.showShadow=!1,this.showGrayBottom=!1,this.showTooltip=!1,this.verticalRatio=.5,this.animationInterval=1e3,this.animationPreload=!1,this.camera=new 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 M=this.yLabel;M.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(M,o.x,o.y));var S=this.zLabel;S.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(S,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+M.x/S/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,r){if(!(this instanceof s))throw new SyntaxError("Constructor must be called with the new operator");if(!(Array.isArray(i)||i instanceof n)&&i instanceof Object){var h=r;r=i,i=h}var u=this;this.defaultOptions={start:null,end:null,autoResize:!0,orientation:"bottom",width:null,height:null,maxHeight:null,minHeight:null},this.options=o.deepExtend({},this.defaultOptions),this._create(t),this.components=[],this.body={dom:this.dom,domProps:this.props,emitter:{on:this.on.bind(this),off:this.off.bind(this),emit:this.emit.bind(this)},hiddenDates:[],util:{snap:null,toScreen:u._toScreen.bind(u),toGlobalScreen:u._toGlobalScreen.bind(u),toTime:u._toTime.bind(u),toGlobalTime:u._toGlobalTime.bind(u)}},this.range=new a(this.body),this.components.push(this.range),this.body.range=this.range,this.timeAxis=new d(this.body),this.components.push(this.timeAxis),this.body.util.snap=this.timeAxis.snap.bind(this.timeAxis),this.currentTime=new l(this.body),this.components.push(this.currentTime),this.customTime=new c(this.body),this.components.push(this.customTime),this.itemSet=new p(this.body),this.components.push(this.itemSet),this.itemsData=null,this.groupsData=null,r&&this.setOptions(r),i&&this.setGroups(i),e?this.setItems(e):this._redraw()}var o=(i(56),i(45),i(1)),n=i(3),r=i(4),a=i(17),h=i(46),d=i(35),l=i(26),c=i(27),p=i(32);s.prototype=new h,s.prototype.redraw=function(){this.itemSet&&this.itemSet.markDirty({refreshItems:!0}),this._redraw()},s.prototype.setItems=function(t){var e,i=null==this.itemsData;if(e=t?t instanceof n||t instanceof r?t:new n(t,{type:{start:"Date",end:"Date"}}):null,this.itemsData=e,this.itemSet&&this.itemSet.setItems(e),i)if(void 0!=this.options.start||void 0!=this.options.end){if(void 0==this.options.start||void 0==this.options.end)var s=this._getDataRange();var o=void 0!=this.options.start?this.options.start:s.start,a=void 0!=this.options.end?this.options.end:s.end;this.setWindow(o,a,{animate:!1})}else this.fit({animate:!1})},s.prototype.setGroups=function(t){var e;e=t?t instanceof n||t instanceof r?t:new n(t):null,this.groupsData=e,this.itemSet.setGroups(e)},s.prototype.setSelection=function(t,e){this.itemSet&&this.itemSet.setSelection(t),e&&e.focus&&this.focus(t,e)},s.prototype.getSelection=function(){return this.itemSet&&this.itemSet.getSelection()||[]},s.prototype.focus=function(t,e){if(this.itemsData&&void 0!=t){var i=Array.isArray(t)?t:[t],s=this.itemsData.getDataSet().get(i,{type:{start:"Date",end:"Date"}}),o=null,n=null;if(s.forEach(function(t){var e=t.start.valueOf(),i="end"in t?t.end.valueOf():t.start.valueOf();(null===o||o>e)&&(o=e),(null===n||i>n)&&(n=i)}),null!==o&&null!==n){var r=(o+n)/2,a=Math.max(this.range.end-this.range.start,1.1*(n-o)),h=e&&void 0!==e.animate?e.animate:!0;this.range.setRange(r-a/2,r+a/2,h)}}},s.prototype.getItemRange=function(){var t=this.itemsData.getDataSet(),e=null,i=null;if(t){var s=t.min("start");e=s?o.convert(s.start,"Date").valueOf():null;var n=t.max("start");n&&(i=o.convert(n.start,"Date").valueOf());var r=t.max("end");r&&(i=null==i?o.convert(r.end,"Date").valueOf():Math.max(i,o.convert(r.end,"Date").valueOf()))}return{min:null!=e?new Date(e):null,max:null!=i?new Date(i):null}},t.exports=s},function(t,e,i){function s(t,e,i,s){if(!(Array.isArray(i)||i instanceof n)&&i instanceof Object){var r=s;s=i,i=r}var h=this;this.defaultOptions={start:null,end:null,autoResize:!0,orientation:"bottom",width:null,height:null,maxHeight:null,minHeight:null},this.options=o.deepExtend({},this.defaultOptions),this._create(t),this.components=[],this.body={dom:this.dom,domProps:this.props,emitter:{on:this.on.bind(this),off:this.off.bind(this),emit:this.emit.bind(this)},hiddenDates:[],util:{snap:null,toScreen:h._toScreen.bind(h),toGlobalScreen:h._toGlobalScreen.bind(h),toTime:h._toTime.bind(h),toGlobalTime:h._toGlobalTime.bind(h)}},this.range=new a(this.body),this.components.push(this.range),this.body.range=this.range,this.timeAxis=new d(this.body),this.components.push(this.timeAxis),this.body.util.snap=this.timeAxis.snap.bind(this.timeAxis),this.currentTime=new l(this.body),this.components.push(this.currentTime),this.customTime=new c(this.body),this.components.push(this.customTime),this.linegraph=new p(this.body),this.components.push(this.linegraph),this.itemsData=null,this.groupsData=null,s&&this.setOptions(s),i&&this.setGroups(i),e?this.setItems(e):this._redraw()}var o=(i(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.snap=function(){},e.prototype.isMajor=function(){return this.current%(this.scale*this.majorSteps[this.stepIndex])==0},t.exports=e},function(t,e,i){function s(t,e){var i=h().hours(0).minutes(0).seconds(0).milliseconds(0);this.start=i.clone().add(-3,"days").valueOf(),this.end=i.clone().add(4,"days").valueOf(),this.body=t,this.deltaDifference=0,this.scaleOffset=0,this.startToFront=!1,this.endToFront=!0,this.defaultOptions={start:null,end:null,direction:"horizontal",moveable:!0,zoomable:!0,min:null,max:null,zoomMin:10,zoomMax:31536e10},this.options=r.extend({},this.defaultOptions),this.props={touch:{}},this.animateTimer=null,this.body.emitter.on("dragstart",this._onDragStart.bind(this)),this.body.emitter.on("drag",this._onDrag.bind(this)),this.body.emitter.on("dragend",this._onDragEnd.bind(this)),this.body.emitter.on("hold",this._onHold.bind(this)),this.body.emitter.on("mousewheel",this._onMouseWheel.bind(this)),this.body.emitter.on("DOMMouseScroll",this._onMouseWheel.bind(this)),this.body.emitter.on("touch",this._onTouch.bind(this)),this.body.emitter.on("pinch",this._onPinch.bind(this)),this.setOptions(e)}function o(t){if("horizontal"!=t&&"vertical"!=t)throw new TypeError('Unknown direction "'+t+'". Choose "horizontal" or "vertical".')}function n(t,e){return{x:t.pageX-r.getAbsoluteLeft(e),y:t.pageY-r.getAbsoluteTop(e)}}var r=i(1),a=i(47),h=i(44),d=i(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,o=this.end):(i=h-(o-s),s-=i/2,o+=i/2))}if(null!==this.options.zoomMax){var d=parseFloat(this.options.zoomMax);0>d&&(d=0),o-s>d&&(this.end-this.start===d?(s=this.start,o=this.end):(i=o-s-d,s+=i/2,o-=i/2))}var l=this.start!=s||this.end!=o;return 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.prototype.snap=function(t){var e=new Date(t.valueOf());if("year"==this.scale){var i=e.getFullYear()+Math.round(e.getMonth()/12);e.setFullYear(Math.round(i/this.step)*this.step),e.setMonth(0),e.setDate(0),e.setHours(0),e.setMinutes(0),e.setSeconds(0),e.setMilliseconds(0)}else if("month"==this.scale)e.getDate()>15?(e.setDate(1),e.setMonth(e.getMonth()+1)):e.setDate(1),e.setHours(0),e.setMinutes(0),e.setSeconds(0),e.setMilliseconds(0);else if("day"==this.scale){switch(this.step){case 5:case 2:e.setHours(24*Math.round(e.getHours()/24));break;default:e.setHours(12*Math.round(e.getHours()/12))}e.setMinutes(0),e.setSeconds(0),e.setMilliseconds(0)}else if("weekday"==this.scale){switch(this.step){case 5:case 2:e.setHours(12*Math.round(e.getHours()/12));break;default:e.setHours(6*Math.round(e.getHours()/6))}e.setMinutes(0),e.setSeconds(0),e.setMilliseconds(0)}else if("hour"==this.scale){switch(this.step){case 4:e.setMinutes(60*Math.round(e.getMinutes()/60));break;default:e.setMinutes(30*Math.round(e.getMinutes()/30))}e.setSeconds(0),e.setMilliseconds(0)}else if("minute"==this.scale){switch(this.step){case 15:case 10:e.setMinutes(5*Math.round(e.getMinutes()/5)),e.setSeconds(0);break;case 5:e.setSeconds(60*Math.round(e.getSeconds()/60));break;default:e.setSeconds(30*Math.round(e.getSeconds()/30))}e.setMilliseconds(0)}else if("second"==this.scale)switch(this.step){case 15:case 10:e.setSeconds(5*Math.round(e.getSeconds()/5)),e.setMilliseconds(0);break;case 5:e.setMilliseconds(1e3*Math.round(e.getMilliseconds()/1e3));break;default:e.setMilliseconds(500*Math.round(e.getMilliseconds()/500))}else if("millisecond"==this.scale){var s=this.step>5?this.step/2:1;e.setMilliseconds(Math.round(e.getMilliseconds()/s)*s)}return e},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+=o[h].height+t.item.vertical);i=this.parent.subgroups[s].height+t.item.vertical,this.dom.box.style.top=a+"px",this.dom.box.style.bottom=""}}else this.parent instanceof n?(i=Math.max(this.parent.height,this.parent.itemSet.body.domProps.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.top=null,this.left=null,this.displayed=!1}},s.prototype.repositionX=function(){var t,e,i=this.parent.width,s=this.conversion.toScreen(this.data.start),o=this.conversion.toScreen(this.data.end);-i>s&&(s=-i),o>2*i&&(o=2*i);var n=Math.max(o-s,1);switch(this.overflow?(this.left=s,this.width=n+this.props.content.width,e=this.props.content.width):(this.left=s,this.width=n,e=Math.min(o-s-2*this.options.padding,this.props.content.width)),this.dom.box.style.left=this.left+"px",this.dom.box.style.width=n+"px",this.options.align){case"left":this.dom.content.style.left="0";break;case"right":this.dom.content.style.left=Math.max(n-e-2*this.options.padding,0)+"px";break;case"center":this.dom.content.style.left=Math.max((n-e-2*this.options.padding)/2,0)+"px";break;default:t=this.overflow?o>0?Math.max(-s,0):-e:0>s?Math.min(-s,o-s-e-2*this.options.padding):0,this.dom.content.style.left=t+"px"}},s.prototype.repositionY=function(){var t=this.options.orientation,e=this.dom.box;e.style.top="top"==t?this.top+"px":this.parent.height-this.top-this.height+"px"},s.prototype._repaintDragLeft=function(){if(this.selected&&this.options.editable.updateTime&&!this.dom.dragLeft){var t=document.createElement("div");t.className="drag-left",t.dragLeftItem=this,o(t,{preventDefault:!0}).on("drag",function(){}),this.dom.box.appendChild(t),this.dom.dragLeft=t}else!this.selected&&this.dom.dragLeft&&(this.dom.dragLeft.parentNode&&this.dom.dragLeft.parentNode.removeChild(this.dom.dragLeft),this.dom.dragLeft=null)},s.prototype._repaintDragRight=function(){if(this.selected&&this.options.editable.updateTime&&!this.dom.dragRight){var t=document.createElement("div");t.className="drag-right",t.dragRightItem=this,o(t,{preventDefault:!0}).on("drag",function(){}),this.dom.box.appendChild(t),this.dom.dragRight=t}else!this.selected&&this.dom.dragRight&&(this.dom.dragRight.parentNode&&this.dom.dragRight.parentNode.removeChild(this.dom.dragRight),this.dom.dragRight=null)},t.exports=s},function(t){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"},this.options=n.extend({},this.defaultOptions),this.customTime=new Date,this.eventParams={},this._create(),this.setOptions(e)}var o=i(45),n=i(1),r=i(25),a=i(44),h=i(48);s.prototype=new r,s.prototype.setOptions=function(t){t&&n.selectiveExtend(["showCustomTime","locale","locales"],this.options,t)},s.prototype._create=function(){var t=document.createElement("div");t.className="customtime",t.style.position="absolute",t.style.top="0px",t.style.height="100%",this.bar=t;var e=document.createElement("div");e.style.position="relative",e.style.top="0px",e.style.left="-10px",e.style.height="100%",e.style.width="20px",t.appendChild(e),this.hammer=o(t,{prevent_default:!0}),this.hammer.on("dragstart",this._onDragStart.bind(this)),this.hammer.on("drag",this._onDrag.bind(this)),this.hammer.on("dragend",this._onDragEnd.bind(this))},s.prototype.destroy=function(){this.options.showCustomTime=!1,this.redraw(),this.hammer.enable(!1),this.hammer=null,this.body=null},s.prototype.redraw=function(){if(this.options.showCustomTime){var t=this.body.dom.backgroundVertical;this.bar.parentNode!=t&&(this.bar.parentNode&&this.bar.parentNode.removeChild(this.bar),t.appendChild(this.bar));var e=this.body.util.toScreen(this.customTime),i=this.options.locales[this.options.locale],s=i.time+": "+a(this.customTime).format("dddd, MMMM Do YYYY, H:mm:ss");s=s.charAt(0).toUpperCase()+s.substring(1),this.bar.style.left=e+"px",this.bar.title=s}else this.bar.parentNode&&this.bar.parentNode.removeChild(this.bar);return!1},s.prototype.setCustomTime=function(t){this.customTime=n.convert(t,"Date"),this.redraw()},s.prototype.getCustomTime=function(){return new Date(this.customTime.valueOf())},s.prototype._onDragStart=function(t){this.eventParams.dragging=!0,this.eventParams.customTime=this.customTime,t.stopPropagation(),t.preventDefault()},s.prototype._onDrag=function(t){if(this.eventParams.dragging){var e=t.gesture.deltaX,i=this.body.util.toScreen(this.eventParams.customTime)+e,s=this.body.util.toTime(i);this.setCustomTime(s),this.body.emitter.emit("timechange",{time:new Date(this.customTime.valueOf())}),t.stopPropagation(),t.preventDefault()}},s.prototype._onDragEnd=function(t){this.eventParams.dragging&&(this.body.emitter.emit("timechanged",{time:new Date(this.customTime.valueOf())}),t.stopPropagation(),t.preventDefault())},t.exports=s},function(t,e,i){function s(t,e,i,s){this.id=o.randomUUID(),this.body=t,this.defaultOptions={orientation:"left",showMinorLabels:!0,showMajorLabels:!0,icons:!0,majorLinesOffset:7,minorLinesOffset:4,labelOffsetX:10,labelOffsetY:2,iconWidth:20,width:"40px",visible:!0,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.maxLabelSized;d++){var c=this.visibleItems[d];c.repositionY(e)}return s},s.prototype._calculateHeight=function(t){var e,i=this.visibleItems;this.resetSubgroups();var s=this;if(i.length){var n=i[0].top,r=i[0].top+i[0].height;if(o.forEach(i,function(t){n=Math.min(n,t.top),r=Math.max(r,t.top+t.height),void 0!==t.data.subgroup&&(s.subgroups[t.data.subgroup].height=Math.max(s.subgroups[t.data.subgroup].height,t.height),s.subgroups[t.data.subgroup].visible=!0)}),n>t.axis){var a=n-t.axis;r-=a,o.forEach(i,function(t){t.top-=a})}e=r+t.item.vertical/2}else e=t.axis+t.item.vertical;return e=Math.max(e,this.props.label.height)},s.prototype.show=function(){this.dom.label.parentNode||this.itemSet.dom.labelSet.appendChild(this.dom.label),this.dom.foreground.parentNode||this.itemSet.dom.foreground.appendChild(this.dom.foreground),this.dom.background.parentNode||this.itemSet.dom.background.appendChild(this.dom.background),this.dom.axis.parentNode||this.itemSet.dom.axis.appendChild(this.dom.axis)},s.prototype.hide=function(){var t=this.dom.label;t.parentNode&&t.parentNode.removeChild(t);var e=this.dom.foreground;e.parentNode&&e.parentNode.removeChild(e);var i=this.dom.background;i.parentNode&&i.parentNode.removeChild(i);var s=this.dom.axis;s.parentNode&&s.parentNode.removeChild(s)},s.prototype.add=function(t){if(this.items[t.id]=t,t.setParent(this),void 0!==t.data.subgroup&&(void 0===this.subgroups[t.data.subgroup]&&(this.subgroups[t.data.subgroup]={height:0,visible:!1,index:this.subgroupIndex,items:[]},this.subgroupIndex++),this.subgroups[t.data.subgroup].items.push(t)),this.orderSubgroups(),-1==this.visibleItems.indexOf(t)){var e=this.itemSet.body.range;this._checkIfVisible(t,this.visibleItems,e)}},s.prototype.orderSubgroups=function(){if(void 0!==this.subgroupOrderer){var t=[];if("string"==typeof this.subgroupOrderer){for(var e in this.subgroups)t.push({subgroup:e,sortField:this.subgroups[e].items[0].data[this.subgroupOrderer]});t.sort(function(t,e){return t.sortField-e.sortField})}else if("function"==typeof this.subgroupOrderer){for(var e in this.subgroups)t.push(this.subgroups[e].items[0].data);t.sort(this.subgroupOrderer)}if(t.length>0)for(var i=0;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},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(25),d=i(30),l=i(31),c=i(22),p=i(23),u=i(24),m=i(21),f="__ungrouped__",g="__background__";s.prototype=new h,s.types={background:m,box:c,range:u,point:p},s.prototype._create=function(){var t=document.createElement("div");t.className="itemset",t["timeline-itemset"]=this,this.dom.frame=t;var e=document.createElement("div");e.className="background",t.appendChild(e),this.dom.background=e;var i=document.createElement("div");i.className="foreground",t.appendChild(i),this.dom.foreground=i;var s=document.createElement("div");s.className="axis",this.dom.axis=s;var n=document.createElement("div");n.className="labelset",this.dom.labelSet=n,this._updateUngrouped();var r=new l(g,null,this);r.show(),this.groups[g]=r,this.hammer=o(this.body.dom.centerContainer,{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","padding","stack","selectable","groupOrder","dataAttributes","template","hide"];n.selectiveExtend(e,this.options,t),"margin"in t&&("number"==typeof t.margin?(this.options.margin.axis=t.margin,this.options.margin.item.horizontal=t.margin,this.options.margin.item.vertical=t.margin):"object"==typeof t.margin&&(n.selectiveExtend(["axis"],this.options.margin,t.margin),"item"in t.margin&&("number"==typeof t.margin.item?(this.options.margin.item.horizontal=t.margin.item,this.options.margin.item.vertical=t.margin.item):"object"==typeof t.margin.item&&n.selectiveExtend(["horizontal","vertical"],this.options.margin.item,t.margin.item)))),"editable"in t&&("boolean"==typeof t.editable?(this.options.editable.updateTime=t.editable,this.options.editable.updateGroup=t.editable,this.options.editable.add=t.editable,this.options.editable.remove=t.editable):"object"==typeof t.editable&&n.selectiveExtend(["updateTime","updateGroup","add","remove"],this.options.editable,t.editable));var i=function(e){var i=t[e];if(i){if(!(i instanceof Function))throw new Error("option "+e+" must be a function "+e+"(item, callback)");this.options[e]=i}}.bind(this);["onAdd","onUpdate","onRemove","onMove","onMoving"].forEach(i),this.markDirty()}},s.prototype.markDirty=function(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,v=t.axis+t.item.vertical;return this.groups[g].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,v),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[f];return i||null},s.prototype._updateUngrouped=function(){{var t,e,i=this.groups[f];this.groups[g]}if(this.groupsData){if(i){i.hide(),delete this.groups[f];for(e in this.items)if(this.items.hasOwnProperty(e)){t=this.items[e],t.parent&&t.parent.remove(t);var s=this._getGroupId(t.data),o=this.groups[s];o&&o.add(t)||t.hide()}}}else if(!i){var n=null,r=null;i=new d(n,r,this),this.groups[f]=i;for(e in this.items)this.items.hasOwnProperty(e)&&(t=this.items[e],i.add(t));i.show()}},s.prototype.getLabelSet=function(){return this.dom.labelSet},s.prototype.setItems=function(t){var e,i=this,s=this.itemsData;if(t){if(!(t instanceof r||t instanceof a))throw new TypeError("Data must be an instance of DataSet or DataView");this.itemsData=t}else this.itemsData=null;if(s&&(n.forEach(this.itemListeners,function(t,e){s.off(e,t)}),e=s.getIds(),this._onRemove(e)),this.itemsData){var o=this.id;n.forEach(this.itemListeners,function(t,e){i.itemsData.on(e,t,o)}),e=this.itemsData.getIds(),this._onAdd(e),this._updateUngrouped()}},s.prototype.getItems=function(){return this.itemsData},s.prototype.setGroups=function(t){var e,i=this;if(this.groupsData&&(n.forEach(this.groupListeners,function(t,e){i.groupsData.unsubscribe(e,t)}),e=this.groupsData.getIds(),this.groupsData=null,this._onRemoveGroups(e)),t){if(!(t instanceof r||t instanceof a))throw new TypeError("Data must be an instance of DataSet or DataView");this.groupsData=t}else this.groupsData=null;if(this.groupsData){var s=this.id;n.forEach(this.groupListeners,function(t,e){i.groupsData.on(e,t,s)}),e=this.groupsData.getIds(),this._onAddGroups(e)}this._updateUngrouped(),this._order(),this.body.emitter.emit("change",{queue:!0})},s.prototype.getGroups=function(){return this.groupsData},s.prototype.removeItem=function(t){var e=this.itemsData.get(t),i=this.itemsData.getDataSet();e&&this.options.onRemove(e,function(e){e&&i.remove(t)})},s.prototype._getType=function(t){return t.type||this.options.type||(t.end?"range":"box")},s.prototype._getGroupId=function(t){var e=this._getType(t);return"background"==e&&void 0==t.group?g:this.groupsData?t.group:f},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==f||t==g)throw new Error("Illegal group id. "+t+" is a reserved id.");var o=Object.create(e.options);n.extend(o,{height:null}),s=new d(t,i,e),e.groups[t]=s;for(var r in e.items)if(e.items.hasOwnProperty(r)){var a=e.items[r];a.data.group==t&&s.add(a)}s.order(),s.show()}}),this.body.emitter.emit("change",{queue:!0})},s.prototype._onRemoveGroups=function(t){var e=this.groups;t.forEach(function(t){var i=e[t];i&&(i.hide(),delete e[t])}),this.markDirty(),this.body.emitter.emit("change",{queue:!0})},s.prototype._orderGroups=function(){if(this.groupsData){var t=this.groupsData.getIds({order:this.options.groupOrder}),e=!n.equalArray(t,this.groupIds);if(e){var i=this.groups;t.forEach(function(t){i[t].hide()}),t.forEach(function(t){i[t].show()}),this.groupIds=t}return e}return!1},s.prototype._addItem=function(t){this.items[t.id]=t;var e=this._getGroupId(t.data),i=this.groups[e];i&&i.add(t)},s.prototype._updateItem=function(t,e){var i=t.data.group;if(t.setData(e),i!=t.data.group){var s=this.groups[i];s&&s.remove(t);var o=this._getGroupId(t.data),n=this.groups[o];n&&n.add(t)}},s.prototype._removeItem=function(t){t.hide(),delete this.items[t.id];var e=this.selection.indexOf(t.id);-1!=e&&this.selection.splice(e,1),t.parent&&t.parent.remove(t)},s.prototype._constructByEndArray=function(t){for(var e=[],i=0;i0||o.length>0)&&this.body.emitter.emit("select",{items:a})}},s.prototype._onAddItem=function(t){if(this.options.selectable&&this.options.editable.add){var e=this,i=this.body.util.snap||null,o=s.itemFromTarget(t);if(o){var r=e.itemsData.get(o.id);this.options.onUpdate(r,function(t){t&&e.itemsData.getDataSet().update(t)})}else{var a=n.getAbsoluteLeft(this.dom.frame),h=t.gesture.center.pageX-a,d=this.body.util.toTime(h),l={start:i?i(d):d,content:"new item"};if("range"===this.options.type){var c=this.body.util.toTime(h+this.props.width/5);l.end=i?i(c):c}l[this.itemsData._fieldId]=n.randomUUID();var p=s.groupFromTarget(t);p&&(l.group=p.groupId),this.options.onAdd(l,function(t){t&&e.itemsData.getDataSet().add(t)})}}},s.prototype._onMultiSelectItem=function(t){if(this.options.selectable){var e,i=s.itemFromTarget(t);if(i){e=this.getSelection();var o=t.gesture.touches[0]&&t.gesture.touches[0].shiftKey||!1;if(o){e.push(i.id);var n=s._getItemRange(this.itemsData.get(e,this.itemOptions));e=[];for(var r in this.items)if(this.items.hasOwnProperty(r)){var a=this.items[r],h=a.data.start,d=void 0!==a.data.end?a.data.end:h;h>=n.min&&d<=n.max&&e.push(a.id)}}else{var l=e.indexOf(i.id);-1==l?e.push(i.id):e.splice(l,1)}this.setSelection(e),this.body.emitter.emit("select",{items:this.getSelection()})}}},s._getItemRange=function(t){var e=null,i=null;return t.forEach(function(t){(null==i||t.starte)&&(e=t.end):(null==e||t.start>e)&&(e=t.start)}),{min:i,max:e}},s.itemFromTarget=function(t){for(var e=t.target;e;){if(e.hasOwnProperty("timeline-item"))return e["timeline-item"];e=e.parentNode}return null -},s.groupFromTarget=function(t){for(var e=t.target;e;){if(e.hasOwnProperty("timeline-group"))return e["timeline-group"];e=e.parentNode}return null},s.itemSetFromTarget=function(t){for(var e=t.target;e;){if(e.hasOwnProperty("timeline-itemset"))return e["timeline-itemset"];e=e.parentNode}return null},t.exports=s},function(t,e,i){function s(t,e,i,s){this.body=t,this.defaultOptions={enabled:!0,icons:!0,iconSize:20,iconSpacing:6,left:{visible:!0,position:"top-left"},right:{visible:!0,position:"top-left"}},this.side=i,this.options=o.extend({},this.defaultOptions),this.linegraphOptions=s,this.svgElements={},this.dom={},this.groups={},this.amountOfGroups=0,this._create(),this.setOptions(e)}var o=i(1),n=i(2),r=i(25);s.prototype=new r,s.prototype.clear=function(){this.groups={},this.amountOfGroups=0},s.prototype.addGroup=function(t,e){this.groups.hasOwnProperty(t)||(this.groups[t]=e),this.amountOfGroups+=1},s.prototype.updateGroup=function(t,e){this.groups[t]=e},s.prototype.removeGroup=function(t){this.groups.hasOwnProperty(t)&&(delete this.groups[t],this.amountOfGroups-=1)},s.prototype._create=function(){this.dom.frame=document.createElement("div"),this.dom.frame.className="legend",this.dom.frame.style.position="absolute",this.dom.frame.style.top="10px",this.dom.frame.style.display="block",this.dom.textArea=document.createElement("div"),this.dom.textArea.className="legendText",this.dom.textArea.style.position="relative",this.dom.textArea.style.top="0px",this.svg=document.createElementNS("http://www.w3.org/2000/svg","svg"),this.svg.style.position="absolute",this.svg.style.top="0px",this.svg.style.width=this.options.iconSize+5+"px",this.svg.style.height="100%",this.dom.frame.appendChild(this.svg),this.dom.frame.appendChild(this.dom.textArea)},s.prototype.hide=function(){this.dom.frame.parentNode&&this.dom.frame.parentNode.removeChild(this.dom.frame)},s.prototype.show=function(){this.dom.frame.parentNode||this.body.dom.center.appendChild(this.dom.frame)},s.prototype.setOptions=function(t){var e=["enabled","orientation","icons","left","right"];o.selectiveDeepExtend(e,this.options,t)},s.prototype.redraw=function(){var t=0;for(var e in this.groups)this.groups.hasOwnProperty(e)&&(1!=this.groups[e].visible||void 0!==this.linegraphOptions.visibility[e]&&1!=this.linegraphOptions.visibility[e]||t++);if(0==this.options[this.side].visible||0==this.amountOfGroups||0==this.options.enabled||0==t)this.hide();else{if(this.show(),"top-left"==this.options[this.side].position||"bottom-left"==this.options[this.side].position?(this.dom.frame.style.left="4px",this.dom.frame.style.textAlign="left",this.dom.textArea.style.textAlign="left",this.dom.textArea.style.left=this.options.iconSize+15+"px",this.dom.textArea.style.right="",this.svg.style.left="0px",this.svg.style.right=""):(this.dom.frame.style.right="4px",this.dom.frame.style.textAlign="right",this.dom.textArea.style.textAlign="right",this.dom.textArea.style.right=this.options.iconSize+15+"px",this.dom.textArea.style.left="",this.svg.style.right="0px",this.svg.style.left=""),"top-left"==this.options[this.side].position||"top-right"==this.options[this.side].position)this.dom.frame.style.top=4-Number(this.body.dom.center.style.top.replace("px",""))+"px",this.dom.frame.style.bottom="";else{var i=this.body.domProps.center.height-this.body.domProps.centerContainer.height;this.dom.frame.style.bottom=4+i+Number(this.body.dom.center.style.top.replace("px",""))+"px",this.dom.frame.style.top=""}0==this.options.icons?(this.dom.frame.style.width=this.dom.textArea.offsetWidth+10+"px",this.dom.textArea.style.right="",this.dom.textArea.style.left="",this.svg.style.width="0px"):(this.dom.frame.style.width=this.options.iconSize+15+this.dom.textArea.offsetWidth+10+"px",this.drawLegendIcons());var s="";for(var e in this.groups)this.groups.hasOwnProperty(e)&&(1!=this.groups[e].visible||void 0!==this.linegraphOptions.visibility[e]&&1!=this.linegraphOptions.visibility[e]||(s+=this.groups[e].content+"
"));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},s.prototype.snap=function(t){return this.step.snap(t)},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"},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},this.constants=a.extend({},this.defaultOptions),this.pixelRatio=1,this.hoverObj={nodes:{},edges:{}},this.controlNodesActive=!1,this.navigationHammers={existing:[],_new:[]},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;var n=this;this.groups=new u,this.images=new m,this.images.setOnloadCallback(function(){n._redraw()}),this.xIncrement=0,this.yIncrement=0,this.zoomIncrement=0,this._loadPhysicsSystem(),this._create(),this._loadSectorSystem(),this._loadClusterSystem(),this._loadSelectionSystem(),this._loadHierarchySystem(),this._setTranslation(this.frame.clientWidth/2,this.frame.clientHeight/2),this._setScale(1),this.setOptions(i),this.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,e.data),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.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),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,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);this.popupObj&&this._checkHidePopup(i),0==this.constants.keyboard.bindToWindow&&1==this.constants.keyboard.enabled&&this.frame.focus();var s=this,o=function(){s._checkShowPopup(i)};if(this.popupTimer&&clearInterval(this.popupTimer),this.drag.dragging||(this.popupTimer=setTimeout(o,this.constants.tooltip.delay)),1==this.constants.hover){for(var n in this.hoverObj.edges)this.hoverObj.edges.hasOwnProperty(n)&&(this.hoverObj.edges[n].hover=!1,delete this.hoverObj.edges[n]);var r=this._getNodeAt(i);null==r&&(r=this._getEdgeAt(i)),null!=r&&this._hoverObject(r);for(var a in this.hoverObj.nodes)this.hoverObj.nodes.hasOwnProperty(a)&&(r instanceof f&&r.id!=a||r instanceof g||null==r)&&(this._blurObject(this.hoverObj.nodes[a]),delete this.hoverObj.nodes[a]);this.redraw()}},s.prototype._checkShowPopup=function(t){var e,i={left:this._XconvertDOMtoCanvas(t.x),top:this._YconvertDOMtoCanvas(t.y),right:this._XconvertDOMtoCanvas(t.x),bottom:this._YconvertDOMtoCanvas(t.y)},s=this.popupObj,o=!1;if(void 0==this.popupObj){var n=this.nodes,r=[];for(e in n)if(n.hasOwnProperty(e)){var a=n[e];a.isOverlappingWith(i)&&void 0!==a.getTitle()&&r.push(e)}r.length>0&&(this.popupObj=this.nodes[r[r.length-1]],o=!0)}if(void 0===this.popupObj&&0==o){var h=this.edges,d=[];for(e in h)if(h.hasOwnProperty(e)){var l=h[e];l.connected&&void 0!==l.getTitle()&&l.isOverlappingWith(i)&&d.push(e)}d.length>0&&(this.popupObj=this.edges[d[d.length-1]])}if(this.popupObj){if(this.popupObj!=s){var c=this;c.popup||(c.popup=new v(c.frame,c.constants.tooltip)),c.popup.setPosition(t.x-3,t.y-3),c.popup.setText(c.popupObj.getTitle()),c.popup.show()}}else this.popup&&this.popup.hide()},s.prototype._checkHidePopup=function(t){this.popupObj&&this._getNodeAt(t)||(this.popupObj=void 0,this.popup&&this.popup.hide())},s.prototype.setSize=function(t,e){var i=!1,s=this.frame.canvas.width,o=this.frame.canvas.height;t!=this.constants.width||e!=this.constants.height||this.frame.style.width!=t||this.frame.style.height!=e?(this.frame.style.width=t,this.frame.style.height=e,this.frame.canvas.style.width="100%",this.frame.canvas.style.height="100%",this.frame.canvas.width=this.frame.canvas.clientWidth*this.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,e){for(var i=this.nodes,s=0,o=t.length;o>s;s++){var n=t[s],r=i[n],a=e[s];r?r.setProperties(a,this.constants):(r=new 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++){var o=t[i];delete e[o]}this._updateNodeIndexList(),1==this.constants.hierarchicalLayout.enabled&&0==this.initializing&&(this._resetLevels(),this._setupHierarchicalLayout()),this._updateCalculationNodes(),this._reconnectEdges(),this._updateSelection(),this._updateValueRange(e)},s.prototype._setEdges=function(t){var e=this.edgesData;if(t instanceof d||t instanceof l)this.edgesData=t;else if(Array.isArray(t))this.edgesData=new d,this.edgesData.add(t);else{if(t)throw new TypeError("Array or DataSet expected");this.edgesData=new d}if(e&&a.forEach(this.edgesListeners,function(t,i){e.off(i,t)}),this.edges={},this.edgesData){var i=this;a.forEach(this.edgesListeners,function(t,e){i.edgesData.on(e,t)});var s=this.edgesData.getIds();this._addEdges(s)}this._reconnectEdges()},s.prototype._addEdges=function(t){for(var e=this.edges,i=this.edgesData,s=0,o=t.length;o>s;s++){var n=t[s],r=e[n];r&&r.disconnect();var a=i.get(n,{showInternalIds:!0});e[n]=new g(a,this,this.constants)}this.moving=!0,this._updateValueRange(e),this._createBezierNodes(),this._updateCalculationNodes(),1==this.constants.hierarchicalLayout.enabled&&0==this.initializing&&(this._resetLevels(),this._setupHierarchicalLayout())},s.prototype._updateEdges=function(t){for(var e=this.edges,i=this.edgesData,s=0,o=t.length;o>s;s++){var n=t[s],r=i.get(n),a=e[n];a?(a.disconnect(),a.setProperties(r,this.constants),a.connect()):(a=new g(r,this,this.constants),this.edges[n]=a)}this._createBezierNodes(),1==this.constants.hierarchicalLayout.enabled&&0==this.initializing&&(this._resetLevels(),this._setupHierarchicalLayout()),this.moving=!0,this._updateValueRange(e)},s.prototype._removeEdges=function(t){for(var e=this.edges,i=0,s=t.length;s>i;i++){var o=t[i],n=e[o];n&&(null!=n.via&&delete this.sectors.support.nodes[n.via.id],n.disconnect(),delete e[o])}this.moving=!0,this._updateValueRange(e),1==this.constants.hierarchicalLayout.enabled&&0==this.initializing&&(this._resetLevels(),this._setupHierarchicalLayout()),this._updateCalculationNodes()},s.prototype._reconnectEdges=function(){var t,e=this.nodes,i=this.edges;for(t in e)e.hasOwnProperty(t)&&(e[t].edges=[],e[t].dynamicEdges=[]);for(t in i)if(i.hasOwnProperty(t)){var s=i[t];s.from=null,s.to=null,s.connect()}},s.prototype._updateValueRange=function(t){var e,i=void 0,s=void 0,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._redraw=function(t){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)},1!=t&&(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),1!=t&&1==this.controlNodesActive&&this._doInAllSectors("_drawControlNodes",e),e.restore(),1==t&&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,this.start()},"undefined"!=typeof window&&(window.requestAnimationFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame),s.prototype.start=function(){if(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._redraw(),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(){var t=this.options.color;return this.colorDirty===!0&&("to"==this.options.inheritColor?t={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)&&(t={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=t,this.colorDirty=!1),1==this.selected?t.highlight:1==this.hover?t.hover:t.color},s.prototype._drawLine=function(t){if(t.strokeStyle=this._getColor(),t.lineWidth=this._getLineWidth(),this.from!=this.to){var e,i=this._line(t);if(this.label){if(1==this.options.smoothCurves.enabled&&null!=i){var s=.5*(.5*(this.from.x+i.x)+.5*(this.to.x+i.x)),o=.5*(.5*(this.from.y+i.y)+.5*(this.to.y+i.y));e={x:s,y:o}}else e=this._pointOnLine(.5);this._label(t,this.label,e.x,e.y)}}else{var n,r,a=this.physics.springLength/4,h=this.from;h.width||h.resize(t),h.width>h.height?(n=h.x+h.width/2,r=h.y-a):(n=h.x+a,r=h.y-h.height/2),this._circle(t,n,r,a),e=this._pointOnCircle(n,r,a,.5),this._label(t,this.label,e.x,e.y)}},s.prototype._getLineWidth=function(){return 1==this.selected?Math.max(Math.min(this.widthSelected,this.options.widthMax),.3*this.networkScaleInv):1==this.hover?Math.max(Math.min(this.options.hoverWidth,this.options.widthMax),.3*this.networkScaleInv):Math.max(this.options.width,.3*this.networkScaleInv)},s.prototype._getViaCoordinates=function(){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);return"discrete"==s||"diagonalCross"==s?Math.abs(this.from.x-this.to.x)this.to.y?this.from.xthis.to.x&&(t=this.from.x-i*n,e=this.from.y-i*n):this.from.ythis.to.x&&(t=this.from.x-i*n,e=this.from.y+i*n)),"discrete"==s&&(t=i*n>o?this.from.x:t)):Math.abs(this.from.x-this.to.x)>Math.abs(this.from.y-this.to.y)&&(this.from.y>this.to.y?this.from.xthis.to.x&&(t=this.from.x-i*o,e=this.from.y-i*o):this.from.ythis.to.x&&(t=this.from.x-i*o,e=this.from.y+i*o)),"discrete"==s&&(e=i*o>n?this.from.y:e)):"straightCross"==s?Math.abs(this.from.x-this.to.x)Math.abs(this.from.y-this.to.y)&&(t=this.from.xthis.to.y?this.from.xthis.to.x&&(t=this.from.x-i*n,e=this.from.y-i*n,t=this.to.x>t?this.to.x:t):this.from.ythis.to.x&&(t=this.from.x-i*n,e=this.from.y+i*n,t=this.to.x>t?this.to.x:t)):Math.abs(this.from.x-this.to.x)>Math.abs(this.from.y-this.to.y)&&(this.from.y>this.to.y?this.from.xe?this.to.y:e):this.from.x>this.to.x&&(t=this.from.x-i*o,e=this.from.y-i*o,e=this.to.y>e?this.to.y:e):this.from.ythis.to.x&&(t=this.from.x-i*o,e=this.from.y+i*o,e=this.to.yd;d++){var l=t.measureText(n[d]).width;h=l>h?l:h}var c=this.options.fontSize*r,p=i-h/2,u=s-c/2;this.labelDimensions={top:u,left:p,width:h,height:c,yLine:o}}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.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.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.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}i(1);s.DEFAULT=[{border:"#2B7CE9",background:"#97C2FC",highlight:{border:"#2B7CE9",background:"#D2E5FF"},hover:{border:"#2B7CE9",background:"#D2E5FF"}},{border:"#FFA500",background:"#FFFF00",highlight:{border:"#FFA500",background:"#FFFFA3"},hover:{border:"#FFA500",background:"#FFFFA3"}},{border:"#FA0A10",background:"#FB7E81",highlight:{border:"#FA0A10",background:"#FFAFB1"},hover:{border:"#FA0A10",background:"#FFAFB1"}},{border:"#41A906",background:"#7BE141",highlight:{border:"#41A906",background:"#A1EC76"},hover:{border:"#41A906",background:"#A1EC76"}},{border:"#E129F0",background:"#EB7DF4",highlight:{border:"#E129F0",background:"#F0B3F5"},hover:{border:"#E129F0",background:"#F0B3F5"}},{border:"#7C29F0",background:"#AD85E4",highlight:{border:"#7C29F0",background:"#D3BDF0"},hover:{border:"#7C29F0",background:"#D3BDF0"}},{border:"#C37F00",background:"#FFA807",highlight:{border:"#C37F00",background:"#FFCA66"},hover:{border:"#C37F00",background:"#FFCA66"}},{border:"#4220FB",background:"#6E6EFD",highlight:{border:"#4220FB",background:"#9B9BFD"},hover:{border:"#4220FB",background:"#9B9BFD"}},{border:"#FD5A77",background:"#FFC0CB",highlight:{border:"#FD5A77",background:"#FFD1D9"},hover:{border:"#FD5A77",background:"#FFD1D9"}},{border:"#4AD63A",background:"#C2FABC",highlight:{border:"#4AD63A",background:"#E6FFE3"},hover:{border:"#4AD63A",background:"#E6FFE3"}}],s.prototype.clear=function(){this.groups={},this.groups.length=function(){var t=0;for(var e in this)this.hasOwnProperty(e)&&t++;return t}},s.prototype.get=function(t){var e=this.groups[t];if(void 0==e){var i=this.defaultIndex%s.DEFAULT.length;this.defaultIndex++,e={},e.color=s.DEFAULT[i],this.groups[t]=e}return e},s.prototype.add=function(t,e){return this.groups[t]=e,e},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"];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;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._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=D.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=D.DELIMITER);var i=E+n();if(C[i])return N=D.DELIMITER,k=i,o(),void o();if(C[E])return N=D.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=D.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=D.IDENTIFIER)}for(N=D.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==D.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!=D.IDENTIFIER)throw x("Identifier expected");var s=k;if(p(),"="==k){if(p(),N!=D.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==D.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!=D.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!=D.IDENTIFIER)throw x("Attribute name expected");var e=k;if(p(),"="!=k)throw x("Equal sign = expected");if(p(),N!=D.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 M(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 S(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)}),M(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 D={NULL:0,DELIMITER:1,IDENTIFIER:2,UNKNOWN:3},C={"{":!0,"}":!0,"[":!0,"]":!0,";":!0,"=":!0,",":!0,"->":!0,"--":!0},T="",O=0,E="",k="",N=D.NULL,I=/[a-zA-Z_0-9.:#]/;e.parseDOT=i,e.DOTToGraph=S},function(t,e){function i(t,e){var i=[],s=[];this.options={edges:{inheritColor:!0},nodes:{allowedToMove:!1,parseColor:!1}},void 0!==e&&(this.options.nodes.allowedToMove=e.allowedToMove|!1,this.options.nodes.parseColor=e.parseColor|!1,this.options.edges.inheritColor=e.inheritColor|!0);for(var o=t.edges,n=t.nodes,r=0;r=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=i&&void 0!==i.animate?i.animate:!0;if(1==arguments.length){var o=arguments[0];this.range.setRange(o.start,o.end,s)}else this.range.setRange(t,e,s)},s.prototype.moveTo=function(t,e){var i=this.range.end-this.range.start,s=r.convert(t,"Date").valueOf(),o=s-i/2,n=s+i/2,a=e&&void 0!==e.animate?e.animate:!0;this.range.setRange(o,n,a)},s.prototype.getWindow=function(){var t=this.range.getRange();return{start:new Date(t.start),end:new Date(t.end)}},s.prototype.redraw=function(){this._redraw()},s.prototype._redraw=function(){var t=!1,e=this.options,i=this.props,s=this.dom;if(s){h.updateHiddenDates(this.body,this.options.hiddenDates),"top"==e.orientation?(r.addClassName(s.root,"top"),r.removeClassName(s.root,"bottom")):(r.removeClassName(s.root,"top"),r.addClassName(s.root,"bottom")),s.root.style.maxHeight=r.option.asSize(e.maxHeight,""),s.root.style.minHeight=r.option.asSize(e.minHeight,""),s.root.style.width=r.option.asSize(e.width,""),i.border.left=(s.centerContainer.offsetWidth-s.centerContainer.clientWidth)/2,i.border.right=i.border.left,i.border.top=(s.centerContainer.offsetHeight-s.centerContainer.clientHeight)/2,i.border.bottom=i.border.top;var o=s.root.offsetHeight-s.root.clientHeight,n=s.root.offsetWidth-s.root.clientWidth;0===s.centerContainer.clientHeight&&(i.border.left=i.border.top,i.border.right=i.border.left),0===s.root.clientHeight&&(n=o),i.center.height=s.center.offsetHeight,i.left.height=s.left.offsetHeight,i.right.height=s.right.offsetHeight,i.top.height=s.top.clientHeight||-i.border.top,i.bottom.height=s.bottom.clientHeight||-i.border.bottom;var a=Math.max(i.left.height,i.center.height,i.right.height),d=i.top.height+a+i.bottom.height+o+i.border.top+i.border.bottom;s.root.style.height=r.option.asSize(e.height,d+"px"),i.root.height=s.root.offsetHeight,i.background.height=i.root.height-o;var l=i.root.height-i.top.height-i.bottom.height-o;i.centerContainer.height=l,i.leftContainer.height=l,i.rightContainer.height=i.leftContainer.height,i.root.width=s.root.offsetWidth,i.background.width=i.root.width-n,i.left.width=s.leftContainer.clientWidth||-i.border.left,i.leftContainer.width=i.left.width,i.right.width=s.rightContainer.clientWidth||-i.border.right,i.rightContainer.width=i.right.width;var c=i.root.width-i.left.width-i.right.width-n;i.center.width=c,i.centerContainer.width=c,i.top.width=c,i.bottom.width=c,s.background.style.height=i.background.height+"px",s.backgroundVertical.style.height=i.background.height+"px",s.backgroundHorizontal.style.height=i.centerContainer.height+"px",s.centerContainer.style.height=i.centerContainer.height+"px",s.leftContainer.style.height=i.leftContainer.height+"px",s.rightContainer.style.height=i.rightContainer.height+"px",s.background.style.width=i.background.width+"px",s.backgroundVertical.style.width=i.centerContainer.width+"px",s.backgroundHorizontal.style.width=i.background.width+"px",s.centerContainer.style.width=i.center.width+"px",s.top.style.width=i.top.width+"px",s.bottom.style.width=i.bottom.width+"px",s.background.style.left="0",s.background.style.top="0",s.backgroundVertical.style.left=i.left.width+i.border.left+"px",s.backgroundVertical.style.top="0",s.backgroundHorizontal.style.left="0",s.backgroundHorizontal.style.top=i.top.height+"px",s.centerContainer.style.left=i.left.width+"px",s.centerContainer.style.top=i.top.height+"px",s.leftContainer.style.left="0",s.leftContainer.style.top=i.top.height+"px",s.rightContainer.style.left=i.left.width+i.center.width+"px",s.rightContainer.style.top=i.top.height+"px",s.top.style.left=i.left.width+"px",s.top.style.top="0",s.bottom.style.left=i.left.width+"px",s.bottom.style.top=i.top.height+i.centerContainer.height+"px",this._updateScrollTop();var p=this.props.scrollTop;"bottom"==e.orientation&&(p+=Math.max(this.props.centerContainer.height-this.props.center.height-this.props.border.top-this.props.border.bottom,0)),s.center.style.left="0",s.center.style.top=p+"px",s.left.style.left="0",s.left.style.top=p+"px",s.right.style.left="0",s.right.style.top=p+"px";var u=0==this.props.scrollTop?"hidden":"",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)+" ",M=t.length,S=0;M-1>S;S++)s=0==S?t[0]:t[S-1],o=t[S],n=t[S+1],r=M>S+2?t[S+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&&F(t),_(this,t),this._d=new Date(+t._d),Di===!1&&(Di=!0,Ce.updateOffset(this),Di=!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 P(t,e,i){return me(Ce([t,11,31+e-i]),e,i).week}function A(t){return R(t)?366:365}function R(t){return t%4===0&&t%100!==0||t%400===0}function F(t){var e;t._a&&-2===t._pf.overflow&&(e=t._a[ze]<0||t._a[ze]>11?ze:t._a[Pe]<1||t._a[Pe]>z(t._a[Le],t._a[ze])?Pe:t._a[Ae]<0||t._a[Ae]>24||24===t._a[Ae]&&(0!==t._a[Re]||0!==t._a[Fe]||0!==t._a[He])?Ae:t._a[Re]<0||t._a[Re]>59?Re:t._a[Fe]<0||t._a[Fe]>59?Fe:t._a[He]<0||t._a[He]>999?He:-1,t._pf._overflowDayOfYear&&(Le>e||e>Pe)&&(e=Pe),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[Pe]=L(e));break;case"Do":null!=e&&(o[Pe]=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[Ae]=L(e);break;case"m":case"mm":o[Re]=L(e);break;case"s":case"ss":o[Fe]=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[Pe]&&null==t._a[ze]&&K(t),t._dayOfYear&&(o=r(t._a[Le],s[Le]),t._dayOfYear>A(o)&&(t._pf._overflowDayOfYear=!0),i=le(o,0,t._dayOfYear),t._a[ze]=i.getUTCMonth(),t._a[Pe]=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[Ae]&&0===t._a[Re]&&0===t._a[Fe]&&0===t._a[He]&&(t._nextDay=!0,t._a[Ae]=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[Ae]=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[Ae]<=12&&(t._pf.bigHour=n),t._a[Ae]=f(t._locale,t._a[Ae],t._meridiem),$(t),F(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:A(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()}},Mi={},Si=["months","monthsShort","weekdays","weekdaysShort","weekdaysMin"],Di=!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[Pe])*i,h:L(h[Ae])*i,m:L(h[Re])*i,s:L(h[Fe])*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=S(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=Si.length-1;Oe>=0;--Oe)I(Si[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:D(1,"add"),subtract:D(-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 R(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 P(this.year(),1,4)},weeksInYear:function(){var t=this.localeData()._week;return P(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(Me(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(Me(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)&&Se(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)),De(!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){S.register(t)}),w.onTouch(a.DOCUMENT,v,S.detect),w.onTouch(a.DOCUMENT,y,S.detect),a.READY=!0)}var a=function D(t,e){return new D.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(S,d),a&&(d.changedLength=h,d.eventType=a,s.call(S,d),d.eventType=r,delete d.changedLength),r==y&&(s.call(S,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 M.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")||M.matchType(u,s)?o=u:M.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 S.stopDetect()}}}},M=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={}}},S=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?S.startDetect(i,t):t.eventType==_&&S.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=S.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=S.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=S.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=S.current,h=S.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);e._clearManipulatorBar=function(){this._recursiveDOMDelete(this.manipulationDiv),this.manipulationDOM={},this._manipulationReleaseOverload=function(){},delete this.sectors.support.nodes.targetNode,delete this.sectors.support.nodes.targetViaNode,this.controlNodesActive=!1,this.freezeSimulationEnabled=!1},e._restoreOverloadedFunctions=function(){for(var t in this.cachedFunctions)this.cachedFunctions.hasOwnProperty(t)&&(this[t]=this.cachedFunctions[t],delete this.cachedFunctions[t])},e._toggleEditMode=function(){this.editMode=!this.editMode;var t=this.manipulationDiv,e=this.closeDiv,i=this.editModeDiv;1==this.editMode?(t.style.display="block",e.style.display="block",i.style.display="none",e.onclick=this._toggleEditMode.bind(this)):(t.style.display="none",e.style.display="none",i.style.display="block",e.onclick=null),this._createManipulatorBar()},e._createManipulatorBar=function(){this.boundFunction&&this.off("select",this.boundFunction);var t=this.constants.locales[this.constants.locale];if(void 0!==this.edgeBeingEdited&&(this.edgeBeingEdited._disableControlNodes(),this.edgeBeingEdited=void 0,this.selectedControlNode=null,this.controlNodesActive=!1,this._redraw()),this._restoreOverloadedFunctions(),this.freezeSimulationEnabled=!1,this.blockConnectingEdgeSelection=!1,this.forceAppendSelection=!1,this.manipulationDOM={},1==this.editMode){for(;this.manipulationDiv.hasChildNodes();)this.manipulationDiv.removeChild(this.manipulationDiv.firstChild);this.manipulationDOM.addNodeSpan=document.createElement("span"),this.manipulationDOM.addNodeSpan.className="network-manipulationUI add",this.manipulationDOM.addNodeLabelSpan=document.createElement("span"),this.manipulationDOM.addNodeLabelSpan.className="network-manipulationLabel",this.manipulationDOM.addNodeLabelSpan.innerHTML=t.addNode,this.manipulationDOM.addNodeSpan.appendChild(this.manipulationDOM.addNodeLabelSpan),this.manipulationDOM.seperatorLineDiv1=document.createElement("div"),this.manipulationDOM.seperatorLineDiv1.className="network-seperatorLine",this.manipulationDOM.addEdgeSpan=document.createElement("span"),this.manipulationDOM.addEdgeSpan.className="network-manipulationUI connect",this.manipulationDOM.addEdgeLabelSpan=document.createElement("span"),this.manipulationDOM.addEdgeLabelSpan.className="network-manipulationLabel",this.manipulationDOM.addEdgeLabelSpan.innerHTML=t.addEdge,this.manipulationDOM.addEdgeSpan.appendChild(this.manipulationDOM.addEdgeLabelSpan),this.manipulationDiv.appendChild(this.manipulationDOM.addNodeSpan),this.manipulationDiv.appendChild(this.manipulationDOM.seperatorLineDiv1),this.manipulationDiv.appendChild(this.manipulationDOM.addEdgeSpan),1==this._getSelectedNodeCount()&&this.triggerFunctions.edit?(this.manipulationDOM.seperatorLineDiv2=document.createElement("div"),this.manipulationDOM.seperatorLineDiv2.className="network-seperatorLine",this.manipulationDOM.editNodeSpan=document.createElement("span"),this.manipulationDOM.editNodeSpan.className="network-manipulationUI edit",this.manipulationDOM.editNodeLabelSpan=document.createElement("span"),this.manipulationDOM.editNodeLabelSpan.className="network-manipulationLabel",this.manipulationDOM.editNodeLabelSpan.innerHTML=t.editNode,this.manipulationDOM.editNodeSpan.appendChild(this.manipulationDOM.editNodeLabelSpan),this.manipulationDiv.appendChild(this.manipulationDOM.seperatorLineDiv2),this.manipulationDiv.appendChild(this.manipulationDOM.editNodeSpan)):1==this._getSelectedEdgeCount()&&0==this._getSelectedNodeCount()&&(this.manipulationDOM.seperatorLineDiv3=document.createElement("div"),this.manipulationDOM.seperatorLineDiv3.className="network-seperatorLine",this.manipulationDOM.editEdgeSpan=document.createElement("span"),this.manipulationDOM.editEdgeSpan.className="network-manipulationUI edit",this.manipulationDOM.editEdgeLabelSpan=document.createElement("span"),this.manipulationDOM.editEdgeLabelSpan.className="network-manipulationLabel",this.manipulationDOM.editEdgeLabelSpan.innerHTML=t.editEdge,this.manipulationDOM.editEdgeSpan.appendChild(this.manipulationDOM.editEdgeLabelSpan),this.manipulationDiv.appendChild(this.manipulationDOM.seperatorLineDiv3),this.manipulationDiv.appendChild(this.manipulationDOM.editEdgeSpan)),0==this._selectionIsEmpty()&&(this.manipulationDOM.seperatorLineDiv4=document.createElement("div"),this.manipulationDOM.seperatorLineDiv4.className="network-seperatorLine",this.manipulationDOM.deleteSpan=document.createElement("span"),this.manipulationDOM.deleteSpan.className="network-manipulationUI delete",this.manipulationDOM.deleteLabelSpan=document.createElement("span"),this.manipulationDOM.deleteLabelSpan.className="network-manipulationLabel",this.manipulationDOM.deleteLabelSpan.innerHTML=t.del,this.manipulationDOM.deleteSpan.appendChild(this.manipulationDOM.deleteLabelSpan),this.manipulationDiv.appendChild(this.manipulationDOM.seperatorLineDiv4),this.manipulationDiv.appendChild(this.manipulationDOM.deleteSpan)),this.manipulationDOM.addNodeSpan.onclick=this._createAddNodeToolbar.bind(this),this.manipulationDOM.addEdgeSpan.onclick=this._createAddEdgeToolbar.bind(this),1==this._getSelectedNodeCount()&&this.triggerFunctions.edit?this.manipulationDOM.editNodeSpan.onclick=this._editNode.bind(this):1==this._getSelectedEdgeCount()&&0==this._getSelectedNodeCount()&&(this.manipulationDOM.editEdgeSpan.onclick=this._createEditEdgeToolbar.bind(this)),0==this._selectionIsEmpty()&&(this.manipulationDOM.deleteSpan.onclick=this._deleteSelected.bind(this)),this.closeDiv.onclick=this._toggleEditMode.bind(this);var e=this;this.boundFunction=e._createManipulatorBar,this.on("select",this.boundFunction)}else{for(;this.editModeDiv.hasChildNodes();)this.editModeDiv.removeChild(this.editModeDiv.firstChild);this.manipulationDOM.editModeSpan=document.createElement("span"),this.manipulationDOM.editModeSpan.className="network-manipulationUI edit editmode",this.manipulationDOM.editModeLabelSpan=document.createElement("span"),this.manipulationDOM.editModeLabelSpan.className="network-manipulationLabel",this.manipulationDOM.editModeLabelSpan.innerHTML=t.edit,this.manipulationDOM.editModeSpan.appendChild(this.manipulationDOM.editModeLabelSpan),this.editModeDiv.appendChild(this.manipulationDOM.editModeSpan),this.manipulationDOM.editModeSpan.onclick=this._toggleEditMode.bind(this)}},e._createAddNodeToolbar=function(){this._clearManipulatorBar(),this.boundFunction&&this.off("select",this.boundFunction);var t=this.constants.locales[this.constants.locale];this.manipulationDOM={},this.manipulationDOM.backSpan=document.createElement("span"),this.manipulationDOM.backSpan.className="network-manipulationUI back",this.manipulationDOM.backLabelSpan=document.createElement("span"),this.manipulationDOM.backLabelSpan.className="network-manipulationLabel",this.manipulationDOM.backLabelSpan.innerHTML=t.back,this.manipulationDOM.backSpan.appendChild(this.manipulationDOM.backLabelSpan),this.manipulationDOM.seperatorLineDiv1=document.createElement("div"),this.manipulationDOM.seperatorLineDiv1.className="network-seperatorLine",this.manipulationDOM.descriptionSpan=document.createElement("span"),this.manipulationDOM.descriptionSpan.className="network-manipulationUI none",this.manipulationDOM.descriptionLabelSpan=document.createElement("span"),this.manipulationDOM.descriptionLabelSpan.className="network-manipulationLabel",this.manipulationDOM.descriptionLabelSpan.innerHTML=t.addDescription,this.manipulationDOM.descriptionSpan.appendChild(this.manipulationDOM.descriptionLabelSpan),this.manipulationDiv.appendChild(this.manipulationDOM.backSpan),this.manipulationDiv.appendChild(this.manipulationDOM.seperatorLineDiv1),this.manipulationDiv.appendChild(this.manipulationDOM.descriptionSpan),this.manipulationDOM.backSpan.onclick=this._createManipulatorBar.bind(this);var e=this;this.boundFunction=e._addNode,this.on("select",this.boundFunction)},e._createAddEdgeToolbar=function(){this._clearManipulatorBar(),this._unselectAll(!0),this.freezeSimulationEnabled=!0,this.boundFunction&&this.off("select",this.boundFunction);var t=this.constants.locales[this.constants.locale];this._unselectAll(),this.forceAppendSelection=!1,this.blockConnectingEdgeSelection=!0,this.manipulationDOM={},this.manipulationDOM.backSpan=document.createElement("span"),this.manipulationDOM.backSpan.className="network-manipulationUI back",this.manipulationDOM.backLabelSpan=document.createElement("span"),this.manipulationDOM.backLabelSpan.className="network-manipulationLabel",this.manipulationDOM.backLabelSpan.innerHTML=t.back,this.manipulationDOM.backSpan.appendChild(this.manipulationDOM.backLabelSpan),this.manipulationDOM.seperatorLineDiv1=document.createElement("div"),this.manipulationDOM.seperatorLineDiv1.className="network-seperatorLine",this.manipulationDOM.descriptionSpan=document.createElement("span"),this.manipulationDOM.descriptionSpan.className="network-manipulationUI none",this.manipulationDOM.descriptionLabelSpan=document.createElement("span"),this.manipulationDOM.descriptionLabelSpan.className="network-manipulationLabel",this.manipulationDOM.descriptionLabelSpan.innerHTML=t.edgeDescription,this.manipulationDOM.descriptionSpan.appendChild(this.manipulationDOM.descriptionLabelSpan),this.manipulationDiv.appendChild(this.manipulationDOM.backSpan),this.manipulationDiv.appendChild(this.manipulationDOM.seperatorLineDiv1),this.manipulationDiv.appendChild(this.manipulationDOM.descriptionSpan),this.manipulationDOM.backSpan.onclick=this._createManipulatorBar.bind(this);var e=this;this.boundFunction=e._handleConnect,this.on("select",this.boundFunction),this.cachedFunctions._handleTouch=this._handleTouch,this.cachedFunctions._manipulationReleaseOverload=this._manipulationReleaseOverload,this.cachedFunctions._handleDragStart=this._handleDragStart,this.cachedFunctions._handleDragEnd=this._handleDragEnd,this.cachedFunctions._handleOnHold=this._handleOnHold,this._handleTouch=this._handleConnect,this._manipulationReleaseOverload=function(){},this._handleOnHold=function(){},this._handleDragStart=function(){},this._handleDragEnd=this._finishConnect,this._redraw()},e._createEditEdgeToolbar=function(){this._clearManipulatorBar(),this.controlNodesActive=!0,this.boundFunction&&this.off("select",this.boundFunction),this.edgeBeingEdited=this._getSelectedEdge(),this.edgeBeingEdited._enableControlNodes();var t=this.constants.locales[this.constants.locale];this.manipulationDOM={},this.manipulationDOM.backSpan=document.createElement("span"),this.manipulationDOM.backSpan.className="network-manipulationUI back",this.manipulationDOM.backLabelSpan=document.createElement("span"),this.manipulationDOM.backLabelSpan.className="network-manipulationLabel",this.manipulationDOM.backLabelSpan.innerHTML=t.back,this.manipulationDOM.backSpan.appendChild(this.manipulationDOM.backLabelSpan),this.manipulationDOM.seperatorLineDiv1=document.createElement("div"),this.manipulationDOM.seperatorLineDiv1.className="network-seperatorLine",this.manipulationDOM.descriptionSpan=document.createElement("span"),this.manipulationDOM.descriptionSpan.className="network-manipulationUI none",this.manipulationDOM.descriptionLabelSpan=document.createElement("span"),this.manipulationDOM.descriptionLabelSpan.className="network-manipulationLabel",this.manipulationDOM.descriptionLabelSpan.innerHTML=t.editEdgeDescription,this.manipulationDOM.descriptionSpan.appendChild(this.manipulationDOM.descriptionLabelSpan),this.manipulationDiv.appendChild(this.manipulationDOM.backSpan),this.manipulationDiv.appendChild(this.manipulationDOM.seperatorLineDiv1),this.manipulationDiv.appendChild(this.manipulationDOM.descriptionSpan),this.manipulationDOM.backSpan.onclick=this._createManipulatorBar.bind(this),this.cachedFunctions._handleTouch=this._handleTouch,this.cachedFunctions._manipulationReleaseOverload=this._manipulationReleaseOverload,this.cachedFunctions._handleTap=this._handleTap,this.cachedFunctions._handleDragStart=this._handleDragStart,this.cachedFunctions._handleOnDrag=this._handleOnDrag,this._handleTouch=this._selectControlNode,this._handleTap=function(){},this._handleOnDrag=this._controlNodeDrag,this._handleDragStart=function(){},this._manipulationReleaseOverload=this._releaseControlNode,this._redraw()},e._selectControlNode=function(t){this.edgeBeingEdited.controlNodes.from.unselect(),this.edgeBeingEdited.controlNodes.to.unselect(),this.selectedControlNode=this.edgeBeingEdited._getSelectedControlNode(this._XconvertDOMtoCanvas(t.x),this._YconvertDOMtoCanvas(t.y)),null!==this.selectedControlNode&&(this.selectedControlNode.select(),this.freezeSimulationEnabled=!0),this._redraw()},e._controlNodeDrag=function(t){var e=this._getPointer(t.gesture.center);null!==this.selectedControlNode&&void 0!==this.selectedControlNode&&(this.selectedControlNode.x=this._XconvertDOMtoCanvas(e.x),this.selectedControlNode.y=this._YconvertDOMtoCanvas(e.y)),this._redraw()},e._releaseControlNode=function(t){var e=this._getNodeAt(t);null!==e?(1==this.edgeBeingEdited.controlNodes.from.selected&&(this.edgeBeingEdited._restoreControlNodes(),this._editEdge(e.id,this.edgeBeingEdited.to.id),this.edgeBeingEdited.controlNodes.from.unselect()),1==this.edgeBeingEdited.controlNodes.to.selected&&(this.edgeBeingEdited._restoreControlNodes(),this._editEdge(this.edgeBeingEdited.from.id,e.id),this.edgeBeingEdited.controlNodes.to.unselect())):this.edgeBeingEdited._restoreControlNodes(),this.freezeSimulationEnabled=!1,this._redraw()},e._handleConnect=function(t){if(0==this._getSelectedNodeCount()){var e=this._getNodeAt(t);if(null!=e)if(e.clusterSize>1)alert(this.constants.locales[this.constants.locale].createEdgeError);else{this._selectObject(e,!1);var i=this.sectors.support.nodes;i.targetNode=new o({id:"targetNode"},{},{},this.constants);var s=i.targetNode;s.x=e.x,s.y=e.y,this.edges.connectionEdge=new n({id:"connectionEdge",from:e.id,to:s.id},this,this.constants);var r=this.edges.connectionEdge;r.from=e,r.connected=!0,r.options.smoothCurves={enabled:!0,dynamic:!1,type:"continuous",roundness:.5},r.selected=!0,r.to=s,this.cachedFunctions._handleOnDrag=this._handleOnDrag,this._handleOnDrag=function(t){var e=this._getPointer(t.gesture.center),i=this.edges.connectionEdge; -i.to.x=this._XconvertDOMtoCanvas(e.x),i.to.y=this._YconvertDOMtoCanvas(e.y)},this.moving=!0,this.start()}}},e._finishConnect=function(t){if(1==this._getSelectedNodeCount()){var e=this._getPointer(t.gesture.center);this._handleOnDrag=this.cachedFunctions._handleOnDrag,delete this.cachedFunctions._handleOnDrag;var i=this.edges.connectionEdge.fromId;delete this.edges.connectionEdge,delete this.sectors.support.nodes.targetNode,delete this.sectors.support.nodes.targetViaNode;var s=this._getNodeAt(e);null!=s&&(s.clusterSize>1?alert(this.constants.locales[this.constants.locale].createEdgeError):(this._createEdge(i,s.id),this._createManipulatorBar())),this._unselectAll()}},e._addNode=function(){if(this._selectionIsEmpty()&&1==this.editMode){var t=this._pointerToPositionObject(this.pointerPosition),e={id:s.randomUUID(),x:t.left,y:t.top,label:"new",allowedToMoveX:!0,allowedToMoveY:!0};if(this.triggerFunctions.add){if(2!=this.triggerFunctions.add.length)throw new Error("The function for add does not support two arguments (data,callback)");var i=this;this.triggerFunctions.add(e,function(t){i.nodesData.add(t),i._createManipulatorBar(),i.moving=!0,i.start()})}else this.nodesData.add(e),this._createManipulatorBar(),this.moving=!0,this.start()}},e._createEdge=function(t,e){if(1==this.editMode){var i={from:t,to:e};if(this.triggerFunctions.connect){if(2!=this.triggerFunctions.connect.length)throw new Error("The function for connect does not support two arguments (data,callback)");var s=this;this.triggerFunctions.connect(i,function(t){s.edgesData.add(t),s.moving=!0,s.start()})}else this.edgesData.add(i),this.moving=!0,this.start()}},e._editEdge=function(t,e){if(1==this.editMode){var i={id:this.edgeBeingEdited.id,from:t,to:e};if(this.triggerFunctions.editEdge){if(2!=this.triggerFunctions.editEdge.length)throw new Error("The function for edit does not support two arguments (data, callback)");var s=this;this.triggerFunctions.editEdge(i,function(t){s.edgesData.update(t),s.moving=!0,s.start()})}else this.edgesData.update(i),this.moving=!0,this.start()}},e._editNode=function(){if(!this.triggerFunctions.edit||1!=this.editMode)throw new Error("No edit function has been bound to this button");var t=this._getSelectedNode(),e={id:t.id,label:t.label,group:t.options.group,shape:t.options.shape,color:{background:t.options.color.background,border:t.options.color.border,highlight:{background:t.options.color.highlight.background,border:t.options.color.highlight.border}}};if(2!=this.triggerFunctions.edit.length)throw new Error("The function for edit does not support two arguments (data, callback)");var i=this;this.triggerFunctions.edit(e,function(t){i.nodesData.update(t),i._createManipulatorBar(),i.moving=!0,i.start()})},e._deleteSelected=function(){if(!this._selectionIsEmpty()&&1==this.editMode)if(this._clusterInSelection())alert(this.constants.locales[this.constants.locale].deleteClusterError);else{var t=this.getSelectedNodes(),e=this.getSelectedEdges();if(this.triggerFunctions.del){var i=this,s={nodes:t,edges:e};if(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.existing.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}}])}); +},s.prototype.selectValue=function(t){if(t>=this.values.length)throw"Error: index out of range";this.index=t,this.value=this.values[t]},s.prototype.loadInBackground=function(t){void 0===t&&(t=0);var e=this.graph.frame;if(t0&&(t--,this.setIndex(t))},s.prototype.next=function(){var t=this.getIndex();t0?this.setIndex(0):this.index=void 0},s.prototype.setIndex=function(t){if(!(ts&&(s=0),s>this.values.length-1&&(s=this.values.length-1),s},s.prototype.indexToLeft=function(t){var e=parseFloat(this.frame.bar.style.width)-this.frame.slide.clientWidth-10,i=t/(this.values.length-1)*e,s=i+3;return s},s.prototype._onMouseMove=function(t){var e=t.clientX-this.startClientX,i=this.startSlideX+e,s=this.leftToIndex(i);this.setIndex(s),o.preventDefault()},s.prototype._onMouseUp=function(){this.frame.style.cursor="auto",o.removeEventListener(document,"mousemove",this.onmousemove),o.removeEventListener(document,"mouseup",this.onmouseup),o.preventDefault()},t.exports=s},function(t){function e(t,e,i,s){this._start=0,this._end=0,this._step=1,this.prettyStep=!0,this.precision=5,this._current=0,this.setRange(t,e,i,s)}e.prototype.setRange=function(t,e,i,s){this._start=t?t:0,this._end=e?e:0,this.setStep(i,s)},e.prototype.setStep=function(t,i){void 0===t||0>=t||(void 0!==i&&(this.prettyStep=i),this._step=this.prettyStep===!0?e.calculatePrettyStep(t):t)},e.calculatePrettyStep=function(t){var e=function(t){return Math.log(t)/Math.LN10},i=Math.pow(10,Math.round(e(t))),s=2*Math.pow(10,Math.round(e(t/2))),o=5*Math.pow(10,Math.round(e(t/5))),n=i;return Math.abs(s-t)<=Math.abs(n-t)&&(n=s),Math.abs(o-t)<=Math.abs(n-t)&&(n=o),0>=n&&(n=1),n},e.prototype.getCurrent=function(){return parseFloat(this._current.toPrecision(this.precision))},e.prototype.getStep=function(){return this._step},e.prototype.start=function(){this._current=this._start-this._start%this._step},e.prototype.next=function(){this._current+=this._step},e.prototype.end=function(){return this._current>this._end},t.exports=e},function(t,e,i){function s(t,e,i,r){if(!(this instanceof s))throw new SyntaxError("Constructor must be called with the new operator");if(!(Array.isArray(i)||i instanceof n)&&i instanceof Object){var h=r;r=i,i=h}var u=this;this.defaultOptions={start:null,end:null,autoResize:!0,orientation:"bottom",width:null,height:null,maxHeight:null,minHeight:null},this.options=o.deepExtend({},this.defaultOptions),this._create(t),this.components=[],this.body={dom:this.dom,domProps:this.props,emitter:{on:this.on.bind(this),off:this.off.bind(this),emit:this.emit.bind(this)},hiddenDates:[],util:{getScale:function(){return u.timeAxis.step.scale},getStep:function(){return u.timeAxis.step.step},toScreen:u._toScreen.bind(u),toGlobalScreen:u._toGlobalScreen.bind(u),toTime:u._toTime.bind(u),toGlobalTime:u._toGlobalTime.bind(u)}},this.range=new a(this.body),this.components.push(this.range),this.body.range=this.range,this.timeAxis=new d(this.body),this.components.push(this.timeAxis),this.currentTime=new l(this.body),this.components.push(this.currentTime),this.customTime=new c(this.body),this.components.push(this.customTime),this.itemSet=new p(this.body),this.components.push(this.itemSet),this.itemsData=null,this.groupsData=null,r&&this.setOptions(r),i&&this.setGroups(i),e?this.setItems(e):this._redraw()}var o=(i(56),i(45),i(1)),n=i(3),r=i(4),a=i(17),h=i(46),d=i(35),l=i(26),c=i(27),p=i(32);s.prototype=new h,s.prototype.redraw=function(){this.itemSet&&this.itemSet.markDirty({refreshItems:!0}),this._redraw()},s.prototype.setItems=function(t){var e,i=null==this.itemsData;if(e=t?t instanceof n||t instanceof r?t:new n(t,{type:{start:"Date",end:"Date"}}):null,this.itemsData=e,this.itemSet&&this.itemSet.setItems(e),i)if(void 0!=this.options.start||void 0!=this.options.end){if(void 0==this.options.start||void 0==this.options.end)var s=this._getDataRange();var o=void 0!=this.options.start?this.options.start:s.start,a=void 0!=this.options.end?this.options.end:s.end;this.setWindow(o,a,{animate:!1})}else this.fit({animate:!1})},s.prototype.setGroups=function(t){var e;e=t?t instanceof n||t instanceof r?t:new n(t):null,this.groupsData=e,this.itemSet.setGroups(e)},s.prototype.setSelection=function(t,e){this.itemSet&&this.itemSet.setSelection(t),e&&e.focus&&this.focus(t,e)},s.prototype.getSelection=function(){return this.itemSet&&this.itemSet.getSelection()||[]},s.prototype.focus=function(t,e){if(this.itemsData&&void 0!=t){var i=Array.isArray(t)?t:[t],s=this.itemsData.getDataSet().get(i,{type:{start:"Date",end:"Date"}}),o=null,n=null;if(s.forEach(function(t){var e=t.start.valueOf(),i="end"in t?t.end.valueOf():t.start.valueOf();(null===o||o>e)&&(o=e),(null===n||i>n)&&(n=i)}),null!==o&&null!==n){var r=(o+n)/2,a=Math.max(this.range.end-this.range.start,1.1*(n-o)),h=e&&void 0!==e.animate?e.animate:!0;this.range.setRange(r-a/2,r+a/2,h)}}},s.prototype.getItemRange=function(){var t=this.itemsData.getDataSet(),e=null,i=null;if(t){var s=t.min("start");e=s?o.convert(s.start,"Date").valueOf():null;var n=t.max("start");n&&(i=o.convert(n.start,"Date").valueOf());var r=t.max("end");r&&(i=null==i?o.convert(r.end,"Date").valueOf():Math.max(i,o.convert(r.end,"Date").valueOf()))}return{min:null!=e?new Date(e):null,max:null!=i?new Date(i):null}},t.exports=s},function(t,e,i){function s(t,e,i,s){if(!(Array.isArray(i)||i instanceof n)&&i instanceof Object){var r=s;s=i,i=r}var h=this;this.defaultOptions={start:null,end:null,autoResize:!0,orientation:"bottom",width:null,height:null,maxHeight:null,minHeight:null},this.options=o.deepExtend({},this.defaultOptions),this._create(t),this.components=[],this.body={dom:this.dom,domProps:this.props,emitter:{on:this.on.bind(this),off:this.off.bind(this),emit:this.emit.bind(this)},hiddenDates:[],util:{toScreen:h._toScreen.bind(h),toGlobalScreen:h._toGlobalScreen.bind(h),toTime:h._toTime.bind(h),toGlobalTime:h._toGlobalTime.bind(h)}},this.range=new a(this.body),this.components.push(this.range),this.body.range=this.range,this.timeAxis=new d(this.body),this.components.push(this.timeAxis),this.currentTime=new l(this.body),this.components.push(this.currentTime),this.customTime=new c(this.body),this.components.push(this.customTime),this.linegraph=new p(this.body),this.components.push(this.linegraph),this.itemsData=null,this.groupsData=null,s&&this.setOptions(s),i&&this.setGroups(i),e?this.setItems(e):this._redraw()}var o=(i(56),i(45),i(1)),n=i(3),r=i(4),a=i(17),h=i(46),d=i(35),l=i(26),c=i(27),p=i(34);s.prototype=new h,s.prototype.setItems=function(t){var e,i=null==this.itemsData;if(e=t?t instanceof n||t instanceof r?t:new n(t,{type:{start:"Date",end:"Date"}}):null,this.itemsData=e,this.linegraph&&this.linegraph.setItems(e),i)if(void 0!=this.options.start||void 0!=this.options.end){var s=void 0!=this.options.start?this.options.start:null,o=void 0!=this.options.end?this.options.end:null;this.setWindow(s,o,{animate:!1})}else this.fit({animate:!1})},s.prototype.setGroups=function(t){var e;e=t?t instanceof n||t instanceof r?t:new n(t):null,this.groupsData=e,this.linegraph.setGroups(e)},s.prototype.getLegend=function(t,e,i){return void 0===e&&(e=15),void 0===i&&(i=15),void 0!==this.linegraph.groups[t]?this.linegraph.groups[t].getLegend(e,i):"cannot find group:"+t},s.prototype.isGroupVisible=function(t){return void 0!==this.linegraph.groups[t]?this.linegraph.groups[t].visible&&(void 0===this.linegraph.options.groups.visibility[t]||1==this.linegraph.options.groups.visibility[t]):!1},s.prototype.getItemRange=function(){var t=null,e=null;for(var i in this.linegraph.groups)if(this.linegraph.groups.hasOwnProperty(i)&&1==this.linegraph.groups[i].visible)for(var s=0;sr?r:t,e=null==e?r:r>e?r:e}return{min:null!=t?new Date(t):null,max:null!=e?new Date(e):null}},t.exports=s},function(t,e,i){var s=i(44);e.convertHiddenOptions=function(t,e){if(t.hiddenDates=[],e&&1==Array.isArray(e)){for(var i=0;i=4*a){var p=0,u=n.clone();switch(i[h].repeat){case"daily":d.day()!=l.day()&&(p=1),d.dayOfYear(o.dayOfYear()),d.year(o.year()),d.subtract(7,"days"),l.dayOfYear(o.dayOfYear()),l.year(o.year()),l.subtract(7-p,"days"),u.add(1,"weeks");break;case"weekly":var m=l.diff(d,"days"),f=d.day();d.date(o.date()),d.month(o.month()),d.year(o.year()),l=d.clone(),d.day(f),l.day(f),l.add(m,"days"),d.subtract(1,"weeks"),l.subtract(1,"weeks"),u.add(1,"weeks");break;case"monthly":d.month()!=l.month()&&(p=1),d.month(o.month()),d.year(o.year()),d.subtract(1,"months"),l.month(o.month()),l.year(o.year()),l.subtract(1,"months"),l.add(p,"months"),u.add(1,"months");break;case"yearly":d.year()!=l.year()&&(p=1),d.year(o.year()),d.subtract(1,"years"),l.year(o.year()),l.subtract(1,"years"),l.add(p,"years"),u.add(1,"years");break;default:return void console.log("Wrong repeat format, allowed are: daily, weekly, monthly, yearly. Given:",i[h].repeat)}for(;u>d;)switch(t.hiddenDates.push({start:d.valueOf(),end:l.valueOf()}),i[h].repeat){case"daily":d.add(1,"days"),l.add(1,"days");break;case"weekly":d.add(1,"weeks"),l.add(1,"weeks");break;case"monthly":d.add(1,"months"),l.add(1,"months");break;case"yearly":d.add(1,"y"),l.add(1,"y");break;default:return void console.log("Wrong repeat format, allowed are: daily, weekly, monthly, yearly. Given:",i[h].repeat)}t.hiddenDates.push({start:d.valueOf(),end:l.valueOf()})}}e.removeDuplicates(t);var g=e.isHidden(t.range.start,t.hiddenDates),v=e.isHidden(t.range.end,t.hiddenDates),y=t.range.start,b=t.range.end;1==g.hidden&&(y=1==t.range.startToFront?g.startDate-1:g.endDate+1),1==v.hidden&&(b=1==t.range.endToFront?v.startDate-1:v.endDate+1),(1==g.hidden||1==v.hidden)&&t.range._applyRange(y,b)}},e.removeDuplicates=function(t){for(var e=t.hiddenDates,i=[],s=0;s=e[s].start&&e[o].end<=e[s].end?e[o].remove=!0:e[o].start>=e[s].start&&e[o].start<=e[s].end?(e[s].end=e[o].end,e[o].remove=!0):e[o].end>=e[s].start&&e[o].end<=e[s].end&&(e[s].start=e[o].start,e[o].remove=!0));for(var s=0;s=r&&a>o){i=!0;break}}if(1==i&&o=e&&i>r&&(s+=r-n)}return s},e.correctTimeForHidden=function(t,i,o){return o=s(o).toDate().valueOf(),o-=e.getHiddenDurationBefore(t,i,o)},e.getHiddenDurationBefore=function(t,e,i){var o=0;i=s(i).toDate().valueOf();for(var n=0;n=e.start&&a=a&&(o+=a-r)}return o},e.getAccumulatedHiddenDuration=function(t,e,i){for(var s=0,o=0,n=e.start,r=0;r=e.start&&h=i)break;s+=h-a}}return s},e.snapAwayFromHidden=function(t,i,s,o){var n=e.isHidden(i,t);return 1==n.hidden?0>s?1==o?n.startDate-(n.endDate-i)-1:n.startDate-1:1==o?n.endDate+(i-n.startDate)+1:n.endDate+1:i},e.isHidden=function(t,e){for(var i=0;i=s&&o>t)return{hidden:!0,startDate:s,endDate:o}}return{hidden:!1,startDate:s,endDate:o}}},function(t){function e(t,e,i,s,o,n){this.current=0,this.autoScale=!0,this.stepIndex=0,this.step=1,this.scale=1,this.marginStart,this.marginEnd,this.deadSpace=0,this.majorSteps=[1,2,5,10],this.minorSteps=[.25,.5,1,2],this.alignZeros=n,this.setRange(t,e,i,s,o)}e.prototype.setRange=function(t,e,i,s,o){this._start=void 0===o.min?t:o.min,this._end=void 0===o.max?e:o.max,this._start==this._end&&(this._start-=.75,this._end+=1),1==this.autoScale&&this.setMinimumStep(i,s),this.setFirst(o)},e.prototype.setMinimumStep=function(t,e){var i=this._end-this._start,s=1.2*i,o=t*(s/e),n=Math.round(Math.log(s)/Math.LN10),r=-1,a=Math.pow(10,n),h=0;0>n&&(h=n);for(var d=!1,l=h;Math.abs(l)<=Math.abs(n);l++){a=Math.pow(10,l);for(var c=0;c=o){d=!0,r=c;break}}if(1==d)break}this.stepIndex=r,this.scale=a,this.step=a*this.minorSteps[r]},e.prototype.setFirst=function(t){void 0===t&&(t={});var e=void 0===t.min?this._start-2*this.scale*this.minorSteps[this.stepIndex]:t.min,i=void 0===t.max?this._end+this.scale*this.minorSteps[this.stepIndex]:t.max;this.marginEnd=void 0===t.max?this.roundToMinor(i):t.max,this.marginStart=void 0===t.min?this.roundToMinor(e):t.min,1==this.alignZeros&&(this.marginEnd-this.marginStart)%this.step!=0&&(this.marginEnd+=this.marginEnd%this.step),this.deadSpace=this.roundToMinor(i)-i+this.roundToMinor(e)-e,this.marginRange=this.marginEnd-this.marginStart,this.current=this.marginEnd},e.prototype.roundToMinor=function(t){var e=t-t%(this.scale*this.minorSteps[this.stepIndex]);return t%(this.scale*this.minorSteps[this.stepIndex])>.5*this.scale*this.minorSteps[this.stepIndex]?e+this.scale*this.minorSteps[this.stepIndex]:e},e.prototype.hasNext=function(){return this.current>=this.marginStart},e.prototype.next=function(){var t=this.current;this.current-=this.step,this.current==t&&(this.current=this._end)},e.prototype.previous=function(){this.current+=this.step,this.marginEnd+=this.step,this.marginRange=this.marginEnd-this.marginStart},e.prototype.getCurrent=function(t){var e=Math.abs(this.current)0;s--){if("0"!=i[s]){if("."==i[s]||","==i[s]){i=i.slice(0,s);break}break}i=i.slice(0,s)}}else{var o="",n=i.indexOf("e");if(-1!=n&&(o=i.slice(n),i=i.slice(0,n)),n=Math.max(i.indexOf(","),i.indexOf(".")),-1===n?(0!==t&&(i+="."),n=i.length+t):0!==t&&(n+=t+1),n>i.length)for(var r=n-i.length;r>0;r--)i+="0";else i=i.slice(0,n);i+=o}return i},e.prototype.isMajor=function(){return this.current%(this.scale*this.majorSteps[this.stepIndex])==0},t.exports=e},function(t,e,i){function s(t,e){var i=h().hours(0).minutes(0).seconds(0).milliseconds(0);this.start=i.clone().add(-3,"days").valueOf(),this.end=i.clone().add(4,"days").valueOf(),this.body=t,this.deltaDifference=0,this.scaleOffset=0,this.startToFront=!1,this.endToFront=!0,this.defaultOptions={start:null,end:null,direction:"horizontal",moveable:!0,zoomable:!0,min:null,max:null,zoomMin:10,zoomMax:31536e10},this.options=r.extend({},this.defaultOptions),this.props={touch:{}},this.animateTimer=null,this.body.emitter.on("dragstart",this._onDragStart.bind(this)),this.body.emitter.on("drag",this._onDrag.bind(this)),this.body.emitter.on("dragend",this._onDragEnd.bind(this)),this.body.emitter.on("hold",this._onHold.bind(this)),this.body.emitter.on("mousewheel",this._onMouseWheel.bind(this)),this.body.emitter.on("DOMMouseScroll",this._onMouseWheel.bind(this)),this.body.emitter.on("touch",this._onTouch.bind(this)),this.body.emitter.on("pinch",this._onPinch.bind(this)),this.setOptions(e)}function o(t){if("horizontal"!=t&&"vertical"!=t)throw new TypeError('Unknown direction "'+t+'". Choose "horizontal" or "vertical".')}function n(t,e){return{x:t.pageX-r.getAbsoluteLeft(e),y:t.pageY-r.getAbsoluteTop(e)}}var r=i(1),a=i(47),h=i(44),d=i(25),l=i(15);s.prototype=new d,s.prototype.setOptions=function(t){if(t){var e=["direction","min","max","zoomMin","zoomMax","moveable","zoomable","activate","hiddenDates"];r.selectiveExtend(e,this.options,t),("start"in t||"end"in t)&&this.setRange(t.start,t.end)}},s.prototype.setRange=function(t,e,i,s){s!==!0&&(s=!1);var o=void 0!=t?r.convert(t,"Date").valueOf():null,n=void 0!=e?r.convert(e,"Date").valueOf():null;if(this._cancelAnimation(),i){var a=this,h=this.start,d=this.end,c="number"==typeof i?i:500,p=(new Date).valueOf(),u=!1,m=function(){if(!a.props.touch.dragging){var t=(new Date).valueOf(),e=t-p,i=e>c,g=i||null===o?o:r.easeInOutQuad(e,h,o,c),v=i||null===n?n:r.easeInOutQuad(e,d,n,c);f=a._applyRange(g,v),l.updateHiddenDates(a.body,a.options.hiddenDates),u=u||f,f&&a.body.emitter.emit("rangechange",{start:new Date(a.start),end:new Date(a.end),byUser:s}),i?u&&a.body.emitter.emit("rangechanged",{start:new Date(a.start),end:new Date(a.end),byUser:s}):a.animateTimer=setTimeout(m,20)}};return m()}var f=this._applyRange(o,n);if(l.updateHiddenDates(this.body,this.options.hiddenDates),f){var g={start:new Date(this.start),end:new Date(this.end),byUser:s};this.body.emitter.emit("rangechange",g),this.body.emitter.emit("rangechanged",g)}},s.prototype._cancelAnimation=function(){this.animateTimer&&(clearTimeout(this.animateTimer),this.animateTimer=null)},s.prototype._applyRange=function(t,e){var i,s=null!=t?r.convert(t,"Date").valueOf():this.start,o=null!=e?r.convert(e,"Date").valueOf():this.end,n=null!=this.options.max?r.convert(this.options.max,"Date").valueOf():null,a=null!=this.options.min?r.convert(this.options.min,"Date").valueOf():null;if(isNaN(s)||null===s)throw new Error('Invalid start "'+t+'"');if(isNaN(o)||null===o)throw new Error('Invalid end "'+e+'"');if(s>o&&(o=s),null!==a&&a>s&&(i=a-s,s+=i,o+=i,null!=n&&o>n&&(o=n)),null!==n&&o>n&&(i=o-n,s-=i,o-=i,null!=a&&a>s&&(s=a)),null!==this.options.zoomMin){var h=parseFloat(this.options.zoomMin);0>h&&(h=0),h>o-s&&(this.end-this.start===h?(s=this.start,o=this.end):(i=h-(o-s),s-=i/2,o+=i/2))}if(null!==this.options.zoomMax){var d=parseFloat(this.options.zoomMax);0>d&&(d=0),o-s>d&&(this.end-this.start===d?(s=this.start,o=this.end):(i=o-s-d,s+=i/2,o-=i/2))}var l=this.start!=s||this.end!=o;return 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+=o[h].height+t.item.vertical);i=this.parent.subgroups[s].height+t.item.vertical,this.dom.box.style.top=a+"px",this.dom.box.style.bottom=""}}else this.parent instanceof n?(i=Math.max(this.parent.height,this.parent.itemSet.body.domProps.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.top=null,this.left=null,this.displayed=!1}},s.prototype.repositionX=function(){var t,e,i=this.parent.width,s=this.conversion.toScreen(this.data.start),o=this.conversion.toScreen(this.data.end);-i>s&&(s=-i),o>2*i&&(o=2*i);var n=Math.max(o-s,1);switch(this.overflow?(this.left=s,this.width=n+this.props.content.width,e=this.props.content.width):(this.left=s,this.width=n,e=Math.min(o-s-2*this.options.padding,this.props.content.width)),this.dom.box.style.left=this.left+"px",this.dom.box.style.width=n+"px",this.options.align){case"left":this.dom.content.style.left="0";break;case"right":this.dom.content.style.left=Math.max(n-e-2*this.options.padding,0)+"px";break;case"center":this.dom.content.style.left=Math.max((n-e-2*this.options.padding)/2,0)+"px";break;default:t=this.overflow?o>0?Math.max(-s,0):-e:0>s?Math.min(-s,o-s-e-2*this.options.padding):0,this.dom.content.style.left=t+"px"}},s.prototype.repositionY=function(){var t=this.options.orientation,e=this.dom.box;e.style.top="top"==t?this.top+"px":this.parent.height-this.top-this.height+"px"},s.prototype._repaintDragLeft=function(){if(this.selected&&this.options.editable.updateTime&&!this.dom.dragLeft){var t=document.createElement("div");t.className="drag-left",t.dragLeftItem=this,o(t,{preventDefault:!0}).on("drag",function(){}),this.dom.box.appendChild(t),this.dom.dragLeft=t}else!this.selected&&this.dom.dragLeft&&(this.dom.dragLeft.parentNode&&this.dom.dragLeft.parentNode.removeChild(this.dom.dragLeft),this.dom.dragLeft=null)},s.prototype._repaintDragRight=function(){if(this.selected&&this.options.editable.updateTime&&!this.dom.dragRight){var t=document.createElement("div");t.className="drag-right",t.dragRightItem=this,o(t,{preventDefault:!0}).on("drag",function(){}),this.dom.box.appendChild(t),this.dom.dragRight=t}else!this.selected&&this.dom.dragRight&&(this.dom.dragRight.parentNode&&this.dom.dragRight.parentNode.removeChild(this.dom.dragRight),this.dom.dragRight=null)},t.exports=s},function(t){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"},this.options=n.extend({},this.defaultOptions),this.customTime=new Date,this.eventParams={},this._create(),this.setOptions(e)}var o=i(45),n=i(1),r=i(25),a=i(44),h=i(48);s.prototype=new r,s.prototype.setOptions=function(t){t&&n.selectiveExtend(["showCustomTime","locale","locales"],this.options,t)},s.prototype._create=function(){var t=document.createElement("div");t.className="customtime",t.style.position="absolute",t.style.top="0px",t.style.height="100%",this.bar=t;var e=document.createElement("div");e.style.position="relative",e.style.top="0px",e.style.left="-10px",e.style.height="100%",e.style.width="20px",t.appendChild(e),this.hammer=o(t,{prevent_default:!0}),this.hammer.on("dragstart",this._onDragStart.bind(this)),this.hammer.on("drag",this._onDrag.bind(this)),this.hammer.on("dragend",this._onDragEnd.bind(this))},s.prototype.destroy=function(){this.options.showCustomTime=!1,this.redraw(),this.hammer.enable(!1),this.hammer=null,this.body=null},s.prototype.redraw=function(){if(this.options.showCustomTime){var t=this.body.dom.backgroundVertical;this.bar.parentNode!=t&&(this.bar.parentNode&&this.bar.parentNode.removeChild(this.bar),t.appendChild(this.bar));var e=this.body.util.toScreen(this.customTime),i=this.options.locales[this.options.locale],s=i.time+": "+a(this.customTime).format("dddd, MMMM Do YYYY, H:mm:ss");s=s.charAt(0).toUpperCase()+s.substring(1),this.bar.style.left=e+"px",this.bar.title=s}else this.bar.parentNode&&this.bar.parentNode.removeChild(this.bar);return!1},s.prototype.setCustomTime=function(t){this.customTime=n.convert(t,"Date"),this.redraw()},s.prototype.getCustomTime=function(){return new Date(this.customTime.valueOf())},s.prototype._onDragStart=function(t){this.eventParams.dragging=!0,this.eventParams.customTime=this.customTime,t.stopPropagation(),t.preventDefault()},s.prototype._onDrag=function(t){if(this.eventParams.dragging){var e=t.gesture.deltaX,i=this.body.util.toScreen(this.eventParams.customTime)+e,s=this.body.util.toTime(i);this.setCustomTime(s),this.body.emitter.emit("timechange",{time:new Date(this.customTime.valueOf())}),t.stopPropagation(),t.preventDefault()}},s.prototype._onDragEnd=function(t){this.eventParams.dragging&&(this.body.emitter.emit("timechanged",{time:new Date(this.customTime.valueOf())}),t.stopPropagation(),t.preventDefault())},t.exports=s},function(t,e,i){function s(t,e,i,s){this.id=o.randomUUID(),this.body=t,this.defaultOptions={orientation:"left",showMinorLabels:!0,showMajorLabels:!0,icons:!0,majorLinesOffset:7,minorLinesOffset:4,labelOffsetX:10,labelOffsetY:2,iconWidth:20,width:"40px",visible:!0,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.maxLabelSized;d++){var c=this.visibleItems[d];c.repositionY(e)}return s},s.prototype._calculateHeight=function(t){var e,i=this.visibleItems;this.resetSubgroups();var s=this;if(i.length){var n=i[0].top,r=i[0].top+i[0].height;if(o.forEach(i,function(t){n=Math.min(n,t.top),r=Math.max(r,t.top+t.height),void 0!==t.data.subgroup&&(s.subgroups[t.data.subgroup].height=Math.max(s.subgroups[t.data.subgroup].height,t.height),s.subgroups[t.data.subgroup].visible=!0)}),n>t.axis){var a=n-t.axis;r-=a,o.forEach(i,function(t){t.top-=a})}e=r+t.item.vertical/2}else e=t.axis+t.item.vertical;return e=Math.max(e,this.props.label.height)},s.prototype.show=function(){this.dom.label.parentNode||this.itemSet.dom.labelSet.appendChild(this.dom.label),this.dom.foreground.parentNode||this.itemSet.dom.foreground.appendChild(this.dom.foreground),this.dom.background.parentNode||this.itemSet.dom.background.appendChild(this.dom.background),this.dom.axis.parentNode||this.itemSet.dom.axis.appendChild(this.dom.axis)},s.prototype.hide=function(){var t=this.dom.label;t.parentNode&&t.parentNode.removeChild(t);var e=this.dom.foreground;e.parentNode&&e.parentNode.removeChild(e);var i=this.dom.background;i.parentNode&&i.parentNode.removeChild(i);var s=this.dom.axis;s.parentNode&&s.parentNode.removeChild(s)},s.prototype.add=function(t){if(this.items[t.id]=t,t.setParent(this),void 0!==t.data.subgroup&&(void 0===this.subgroups[t.data.subgroup]&&(this.subgroups[t.data.subgroup]={height:0,visible:!1,index:this.subgroupIndex,items:[]},this.subgroupIndex++),this.subgroups[t.data.subgroup].items.push(t)),this.orderSubgroups(),-1==this.visibleItems.indexOf(t)){var e=this.itemSet.body.range;this._checkIfVisible(t,this.visibleItems,e)}},s.prototype.orderSubgroups=function(){if(void 0!==this.subgroupOrderer){var t=[];if("string"==typeof this.subgroupOrderer){for(var e in this.subgroups)t.push({subgroup:e,sortField:this.subgroups[e].items[0].data[this.subgroupOrderer]});t.sort(function(t,e){return t.sortField-e.sortField})}else if("function"==typeof this.subgroupOrderer){for(var e in this.subgroups)t.push(this.subgroups[e].items[0].data);t.sort(this.subgroupOrderer)}if(t.length>0)for(var i=0;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","padding","stack","selectable","groupOrder","dataAttributes","template","hide","snap"];n.selectiveExtend(e,this.options,t),"margin"in t&&("number"==typeof t.margin?(this.options.margin.axis=t.margin,this.options.margin.item.horizontal=t.margin,this.options.margin.item.vertical=t.margin):"object"==typeof t.margin&&(n.selectiveExtend(["axis"],this.options.margin,t.margin),"item"in t.margin&&("number"==typeof t.margin.item?(this.options.margin.item.horizontal=t.margin.item,this.options.margin.item.vertical=t.margin.item):"object"==typeof t.margin.item&&n.selectiveExtend(["horizontal","vertical"],this.options.margin.item,t.margin.item)))),"editable"in t&&("boolean"==typeof t.editable?(this.options.editable.updateTime=t.editable,this.options.editable.updateGroup=t.editable,this.options.editable.add=t.editable,this.options.editable.remove=t.editable):"object"==typeof t.editable&&n.selectiveExtend(["updateTime","updateGroup","add","remove"],this.options.editable,t.editable));var i=function(e){var i=t[e];if(i){if(!(i instanceof Function))throw new Error("option "+e+" must be a function "+e+"(item, callback)");this.options[e]=i}}.bind(this);["onAdd","onUpdate","onRemove","onMove","onMoving"].forEach(i),this.markDirty()}},s.prototype.markDirty=function(t){this.groupIds=[],this.stackDirty=!0,t&&t.refreshItems&&n.forEach(this.items,function(t){t.dirty=!0,t.displayed&&t.redraw()})},s.prototype.destroy=function(){this.hide(),this.setItems(null),this.setGroups(null),this.hammer=null,this.body=null,this.conversion=null},s.prototype.hide=function(){this.dom.frame.parentNode&&this.dom.frame.parentNode.removeChild(this.dom.frame),this.dom.axis.parentNode&&this.dom.axis.parentNode.removeChild(this.dom.axis),this.dom.labelSet.parentNode&&this.dom.labelSet.parentNode.removeChild(this.dom.labelSet)},s.prototype.show=function(){this.dom.frame.parentNode||this.body.dom.center.appendChild(this.dom.frame),this.dom.axis.parentNode||this.body.dom.backgroundVertical.appendChild(this.dom.axis),this.dom.labelSet.parentNode||this.body.dom.left.appendChild(this.dom.labelSet)},s.prototype.setSelection=function(t){var e,i,s,o;for(void 0==t&&(t=[]),Array.isArray(t)||(t=[t]),e=0,i=this.selection.length;i>e;e++)s=this.selection[e],o=this.items[s],o&&o.unselect();for(this.selection=[],e=0,i=t.length;i>e;e++)s=t[e],o=this.items[s],o&&(this.selection.push(s),o.select())},s.prototype.getSelection=function(){return this.selection.concat([])},s.prototype.getVisibleItems=function(){var t=this.body.range.getRange(),e=this.body.util.toScreen(t.start),i=this.body.util.toScreen(t.end),s=[];for(var o in this.groups)if(this.groups.hasOwnProperty(o))for(var n=this.groups[o],r=n.visibleItems,a=0;ae&&s.push(h.id)}return s},s.prototype._deselect=function(t){for(var e=this.selection,i=0,s=e.length;s>i;i++)if(e[i]==t){e.splice(i,1);break}},s.prototype.redraw=function(){var t=this.options.margin,e=this.body.range,i=n.option.asSize,s=this.options,o=s.orientation,r=!1,a=this.dom.frame,h=s.editable.updateTime||s.editable.updateGroup;this.props.top=this.body.domProps.top.height+this.body.domProps.border.top,this.props.left=this.body.domProps.left.width+this.body.domProps.border.left,a.className="itemset"+(h?" editable":""),r=this._orderGroups()||r;var d=e.end-e.start,l=d!=this.lastVisibleInterval||this.props.width!=this.props.lastWidth;l&&(this.stackDirty=!0),this.lastVisibleInterval=d,this.props.lastWidth=this.props.width;var c=this.stackDirty,p=this._firstGroup(),u={item:t.item,axis:t.axis},m={item:t.item,axis:t.item.vertical/2},f=0,g=t.axis+t.item.vertical;return this.groups[v].redraw(e,m,c),n.forEach(this.groups,function(t){var i=t==p?u:m,s=t.redraw(e,i,c);r=s||r,f+=t.height}),f=Math.max(f,g),this.stackDirty=!1,a.style.height=i(f),this.props.width=a.offsetWidth,this.props.height=f,this.dom.axis.style.top=i("top"==o?this.body.domProps.top.height+this.body.domProps.border.top:this.body.domProps.top.height+this.body.domProps.centerContainer.height),this.dom.axis.style.left="0",r=this._isResized()||r},s.prototype._firstGroup=function(){var t="top"==this.options.orientation?0:this.groupIds.length-1,e=this.groupIds[t],i=this.groups[e]||this.groups[g];return i||null},s.prototype._updateUngrouped=function(){{var t,e,i=this.groups[g];this.groups[v]}if(this.groupsData){if(i){i.hide(),delete this.groups[g];for(e in this.items)if(this.items.hasOwnProperty(e)){t=this.items[e],t.parent&&t.parent.remove(t);var s=this._getGroupId(t.data),o=this.groups[s];o&&o.add(t)||t.hide()}}}else if(!i){var n=null,r=null;i=new l(n,r,this),this.groups[g]=i;for(e in this.items)this.items.hasOwnProperty(e)&&(t=this.items[e],i.add(t));i.show()}},s.prototype.getLabelSet=function(){return this.dom.labelSet},s.prototype.setItems=function(t){var e,i=this,s=this.itemsData;if(t){if(!(t instanceof r||t instanceof a))throw new TypeError("Data must be an instance of DataSet or DataView");this.itemsData=t}else this.itemsData=null;if(s&&(n.forEach(this.itemListeners,function(t,e){s.off(e,t)}),e=s.getIds(),this._onRemove(e)),this.itemsData){var o=this.id;n.forEach(this.itemListeners,function(t,e){i.itemsData.on(e,t,o)}),e=this.itemsData.getIds(),this._onAdd(e),this._updateUngrouped()}},s.prototype.getItems=function(){return this.itemsData},s.prototype.setGroups=function(t){var e,i=this;if(this.groupsData&&(n.forEach(this.groupListeners,function(t,e){i.groupsData.unsubscribe(e,t)}),e=this.groupsData.getIds(),this.groupsData=null,this._onRemoveGroups(e)),t){if(!(t instanceof r||t instanceof a))throw new TypeError("Data must be an instance of DataSet or DataView");this.groupsData=t}else this.groupsData=null;if(this.groupsData){var s=this.id;n.forEach(this.groupListeners,function(t,e){i.groupsData.on(e,t,s)}),e=this.groupsData.getIds(),this._onAddGroups(e)}this._updateUngrouped(),this._order(),this.body.emitter.emit("change",{queue:!0})},s.prototype.getGroups=function(){return this.groupsData},s.prototype.removeItem=function(t){var e=this.itemsData.get(t),i=this.itemsData.getDataSet();e&&this.options.onRemove(e,function(e){e&&i.remove(t)})},s.prototype._getType=function(t){return t.type||this.options.type||(t.end?"range":"box")},s.prototype._getGroupId=function(t){var e=this._getType(t);return"background"==e&&void 0==t.group?v:this.groupsData?t.group:g},s.prototype._onUpdate=function(t){var e=this;t.forEach(function(t){var i=e.itemsData.get(t,e.itemOptions),o=e.items[t],n=e._getType(i),r=s.types[n];if(o&&(r&&o instanceof r?e._updateItem(o,i):(e._removeItem(o),o=null)),!o){if(!r)throw new TypeError("rangeoverflow"==n?'Item type "rangeoverflow" is deprecated. Use css styling instead: .vis.timeline .item.range .content {overflow: visible;}':'Unknown item type "'+n+'"');o=new r(i,e.conversion,e.options),o.id=t,e._addItem(o)}}),this._order(),this.stackDirty=!0,this.body.emitter.emit("change",{queue:!0})},s.prototype._onAdd=s.prototype._onUpdate,s.prototype._onRemove=function(t){var e=0,i=this;t.forEach(function(t){var s=i.items[t];s&&(e++,i._removeItem(s))}),e&&(this._order(),this.stackDirty=!0,this.body.emitter.emit("change",{queue:!0}))},s.prototype._order=function(){n.forEach(this.groups,function(t){t.order()})},s.prototype._onUpdateGroups=function(t){this._onAddGroups(t)},s.prototype._onAddGroups=function(t){var e=this;t.forEach(function(t){var i=e.groupsData.get(t),s=e.groups[t];if(s)s.setData(i);else{if(t==g||t==v)throw new Error("Illegal group id. "+t+" is a reserved id.");var o=Object.create(e.options);n.extend(o,{height:null}),s=new l(t,i,e),e.groups[t]=s;for(var r in e.items)if(e.items.hasOwnProperty(r)){var a=e.items[r];a.data.group==t&&s.add(a)}s.order(),s.show()}}),this.body.emitter.emit("change",{queue:!0})},s.prototype._onRemoveGroups=function(t){var e=this.groups;t.forEach(function(t){var i=e[t];i&&(i.hide(),delete e[t])}),this.markDirty(),this.body.emitter.emit("change",{queue:!0})},s.prototype._orderGroups=function(){if(this.groupsData){var t=this.groupsData.getIds({order:this.options.groupOrder}),e=!n.equalArray(t,this.groupIds);if(e){var i=this.groups;t.forEach(function(t){i[t].hide()}),t.forEach(function(t){i[t].show()}),this.groupIds=t}return e}return!1},s.prototype._addItem=function(t){this.items[t.id]=t;var e=this._getGroupId(t.data),i=this.groups[e];i&&i.add(t)},s.prototype._updateItem=function(t,e){var i=t.data.group;if(t.setData(e),i!=t.data.group){var s=this.groups[i];s&&s.remove(t);var o=this._getGroupId(t.data),n=this.groups[o];n&&n.add(t)}},s.prototype._removeItem=function(t){t.hide(),delete this.items[t.id];var e=this.selection.indexOf(t.id);-1!=e&&this.selection.splice(e,1),t.parent&&t.parent.remove(t)},s.prototype._constructByEndArray=function(t){for(var e=[],i=0;i0||o.length>0)&&this.body.emitter.emit("select",{items:a})}},s.prototype._onAddItem=function(t){if(this.options.selectable&&this.options.editable.add){var e=this,i=this.options.snap||null,o=s.itemFromTarget(t);if(o){var r=e.itemsData.get(o.id);this.options.onUpdate(r,function(t){t&&e.itemsData.getDataSet().update(t)})}else{var a=n.getAbsoluteLeft(this.dom.frame),h=t.gesture.center.pageX-a,d=this.body.util.toTime(h),l=this.body.util.getScale(),c=this.body.util.getStep(),p={start:i?i(d,l,c):d,content:"new item"};if("range"===this.options.type){var u=this.body.util.toTime(h+this.props.width/5);p.end=i?i(u,l,c):u}p[this.itemsData._fieldId]=n.randomUUID();var m=this.groupFromTarget(t);m&&(p.group=m.groupId),this.options.onAdd(p,function(t){t&&e.itemsData.getDataSet().add(t)})}}},s.prototype._onMultiSelectItem=function(t){if(this.options.selectable){var e,i=s.itemFromTarget(t);if(i){e=this.getSelection();var o=t.gesture.touches[0]&&t.gesture.touches[0].shiftKey||!1;if(o){e.push(i.id);var n=s._getItemRange(this.itemsData.get(e,this.itemOptions));e=[];for(var r in this.items)if(this.items.hasOwnProperty(r)){var a=this.items[r],h=a.data.start,d=void 0!==a.data.end?a.data.end:h;h>=n.min&&d<=n.max&&e.push(a.id)}}else{var l=e.indexOf(i.id);-1==l?e.push(i.id):e.splice(l,1)}this.setSelection(e),this.body.emitter.emit("select",{items:this.getSelection()})}}},s._getItemRange=function(t){var e=null,i=null;return t.forEach(function(t){(null==i||t.starte)&&(e=t.end):(null==e||t.start>e)&&(e=t.start)}),{min:i,max:e}},s.itemFromTarget=function(t){for(var e=t.target;e;){if(e.hasOwnProperty("timeline-item"))return e["timeline-item"]; +e=e.parentNode}return null},s.prototype.groupFromTarget=function(t){for(var e=t.gesture.center.clientY,i=0;ia&&ea)return o}else if(0===i&&e"));this.dom.textArea.innerHTML=s,this.dom.textArea.style.lineHeight=.75*this.options.iconSize+this.options.iconSpacing+"px"}},s.prototype.drawLegendIcons=function(){if(this.dom.frame.parentNode){n.prepareElements(this.svgElements);var t=window.getComputedStyle(this.dom.frame).paddingTop,e=Number(t.replace("px","")),i=e,s=this.options.iconSize,o=.75*this.options.iconSize,r=e+.5*o+3;this.svg.style.width=s+5+e+"px";for(var a in this.groups)this.groups.hasOwnProperty(a)&&(1!=this.groups[a].visible||void 0!==this.linegraphOptions.visibility[a]&&1!=this.linegraphOptions.visibility[a]||(this.groups[a].drawIcon(i,r,this.svgElements,this.svg,s,o),r+=o+this.options.iconSpacing));n.cleanupElements(this.svgElements)}},t.exports=s},function(t,e,i){function s(t,e){this.id=o.randomUUID(),this.body=t,this.defaultOptions={yAxisOrientation:"left",defaultGroup:"default",sort:!0,sampling:!0,graphHeight:"400px",shaded:{enabled:!1,orientation:"bottom"},style:"line",barChart:{width:50,handleOverlap:"overlap",align:"center"},catmullRom:{enabled:!0,parametrization:"centripetal",alpha:.5},drawPoints:{enabled:!0,size:6,style:"square"},dataAxis:{showMinorLabels:!0,showMajorLabels:!0,icons:!1,width:"40px",visible:!0,alignZeros:!0,customRange:{left:{min:void 0,max:void 0},right:{min:void 0,max:void 0}}},legend:{enabled:!1,icons:!0,left:{visible:!0,position:"top-left"},right:{visible:!0,position:"top-right"}},groups:{visibility:{}}},this.options=o.extend({},this.defaultOptions),this.dom={},this.props={},this.hammer=null,this.groups={},this.abortedGraphUpdate=!1,this.updateSVGheight=!1,this.updateSVGheightOnResize=!1;var i=this;this.itemsData=null,this.groupsData=null,this.itemListeners={add:function(t,e){i._onAdd(e.items)},update:function(t,e){i._onUpdate(e.items)},remove:function(t,e){i._onRemove(e.items)}},this.groupListeners={add:function(t,e){i._onAddGroups(e.items)},update:function(t,e){i._onUpdateGroups(e.items)},remove:function(t,e){i._onRemoveGroups(e.items)}},this.items={},this.selection=[],this.lastStart=this.body.range.start,this.touchParams={},this.svgElements={},this.setOptions(e),this.groupsUsingDefaultStyles=[0],this.COUNTER=0,this.body.emitter.on("rangechanged",function(){i.lastStart=i.body.range.start,i.svg.style.left=o.option.asSize(-i.props.width),i.redraw.call(i,!0)}),this._create(),this.framework={svg:this.svg,svgElements:this.svgElements,options:this.options,groups:this.groups},this.body.emitter.emit("change")}var o=i(1),n=i(2),r=i(3),a=i(4),h=i(25),d=i(28),l=i(29),c=i(33),p=i(50),u="__ungrouped__";s.prototype=new h,s.prototype._create=function(){var t=document.createElement("div");t.className="LineGraph",this.dom.frame=t,this.svg=document.createElementNS("http://www.w3.org/2000/svg","svg"),this.svg.style.position="relative",this.svg.style.height=(""+this.options.graphHeight).replace("px","")+"px",this.svg.style.display="block",t.appendChild(this.svg),this.options.dataAxis.orientation="left",this.yAxisLeft=new d(this.body,this.options.dataAxis,this.svg,this.options.groups),this.options.dataAxis.orientation="right",this.yAxisRight=new d(this.body,this.options.dataAxis,this.svg,this.options.groups),delete this.options.dataAxis.orientation,this.legendLeft=new c(this.body,this.options.legend,"left",this.options.groups),this.legendRight=new c(this.body,this.options.legend,"right",this.options.groups),this.show()},s.prototype.setOptions=function(t){if(t){var e=["sampling","defaultGroup","height","graphHeight","yAxisOrientation","style","barChart","dataAxis","sort","groups"];void 0===t.graphHeight&&void 0!==t.height&&void 0!==this.body.domProps.centerContainer.height?(this.updateSVGheight=!0,this.updateSVGheightOnResize=!0):void 0!==this.body.domProps.centerContainer.height&&void 0!==t.graphHeight&&parseInt((t.graphHeight+"").replace("px",""))0){var d=this.body.util.toGlobalTime(-this.body.domProps.root.width),l=this.body.util.toGlobalTime(2*this.body.domProps.root.width),c={};for(this._getRelevantData(a,c,d,l),this._applySampling(a,c),e=0;eu&&console.log("WARNING: there may be an infinite loop in the _updateGraph emitter cycle."),this.COUNTER=0,this.abortedGraphUpdate=!1,e=0;e0)for(r=0;rs){d.push(h);break}d.push(h)}}else for(a=0;ai&&h.x0)for(var s=0;s0){var n=1,r=o.length,a=this.body.util.toGlobalScreen(o[o.length-1].x)-this.body.util.toGlobalScreen(o[0].x),h=r/a;n=Math.min(Math.ceil(.2*r),Math.max(1,Math.round(h)));for(var d=[],l=0;r>l;l+=n)d.push(o[l]);e[t[s]]=d}}},s.prototype._getYRanges=function(t,e,i){var s,o,n,r,a=[],h=[];if(t.length>0){for(n=0;n0&&(o=this.groups[t[n]],"stack"==r.barChart.handleOverlap&&"bar"==r.style?"left"==r.yAxisOrientation?a=a.concat(o.getYRange(s)):h=h.concat(o.getYRange(s)):i[t[n]]=o.getYRange(s,t[n]));p.getStackedBarYRange(a,i,t,"__barchartLeft","left"),p.getStackedBarYRange(h,i,t,"__barchartRight","right")}},s.prototype._updateYAxis=function(t,e){var i,s,o=!1,n=!1,r=!1,a=1e9,h=1e9,d=-1e9,l=-1e9;if(t.length>0){for(var c=0;ci?i:a,d=s>d?s:d):(r=!0,h=h>i?i:h,l=s>l?s:l));1==n&&this.yAxisLeft.setRange(a,d),1==r&&this.yAxisRight.setRange(h,l)}return o=this._toggleAxisVisiblity(n,this.yAxisLeft)||o,o=this._toggleAxisVisiblity(r,this.yAxisRight)||o,1==r&&1==n?(this.yAxisLeft.drawIcons=!0,this.yAxisRight.drawIcons=!0):(this.yAxisLeft.drawIcons=!1,this.yAxisRight.drawIcons=!1),this.yAxisRight.master=!n,0==this.yAxisRight.master?(this.yAxisLeft.lineOffset=1==r?this.yAxisRight.width:0,o=this.yAxisLeft.redraw()||o,this.yAxisRight.stepPixelsForced=this.yAxisLeft.stepPixels,this.yAxisRight.zeroCrossing=this.yAxisLeft.zeroCrossing,o=this.yAxisRight.redraw()||o):o=this.yAxisRight.redraw()||o,-1!=t.indexOf("__barchartLeft")&&t.splice(t.indexOf("__barchartLeft"),1),-1!=t.indexOf("__barchartRight")&&t.splice(t.indexOf("__barchartRight"),1),o},s.prototype._toggleAxisVisiblity=function(t,e){var i=!1;return 0==t?e.dom.frame.parentNode&&0==e.hidden&&(e.hide(),i=!0):e.dom.frame.parentNode||1!=e.hidden||(e.show(),i=!0),i},s.prototype._convertXcoordinates=function(t){for(var e,i,s=[],o=this.body.util.toScreen,n=0;ny;)y++,l=h.getCurrent(),c=h.isMajor(),u=h.getClassName(),f=m,m=this.body.util.toScreen(l),g=m-f,p&&(p.style.width=g+"px"),this.options.showMinorLabels&&this._repaintMinorText(m,h.getLabelMinor(),t,u),c&&this.options.showMajorLabels?(m>0&&(void 0==v&&(v=m),this._repaintMajorText(m,h.getLabelMajor(),t,u)),p=this._repaintMajorLine(m,t,u)):p=this._repaintMinorLine(m,t,u),h.next();if(this.options.showMajorLabels){var b=this.body.util.toTime(0),_=h.getLabelMajor(b),x=_.length*(this.props.majorCharWidth||10)+10;(void 0==v||v>x)&&this._repaintMajorText(0,_,t,u)}o.forEach(this.dom.redundant,function(t){for(;t.length;){var e=t.pop();e&&e.parentNode&&e.parentNode.removeChild(e)}})},s.prototype._repaintMinorText=function(t,e,i,s){var o=this.dom.redundant.minorTexts.shift();if(!o){var n=document.createTextNode("");o=document.createElement("div"),o.appendChild(n),this.dom.foreground.appendChild(o)}this.dom.minorTexts.push(o),o.childNodes[0].nodeValue=e,o.style.top="top"==i?this.props.majorLabelHeight+"px":"0",o.style.left=t+"px",o.className="text minor "+s},s.prototype._repaintMajorText=function(t,e,i,s){var o=this.dom.redundant.majorTexts.shift();if(!o){var n=document.createTextNode(e);o=document.createElement("div"),o.appendChild(n),this.dom.foreground.appendChild(o)}this.dom.majorTexts.push(o),o.childNodes[0].nodeValue=e,o.className="text major "+s,o.style.top="top"==i?"0":this.props.minorLabelHeight+"px",o.style.left=t+"px"},s.prototype._repaintMinorLine=function(t,e,i){var s=this.dom.redundant.lines.shift();s||(s=document.createElement("div"),this.dom.background.appendChild(s)),this.dom.lines.push(s);var o=this.props;return s.style.top="top"==e?o.majorLabelHeight+"px":this.body.domProps.top.height+"px",s.style.height=o.minorLineHeight+"px",s.style.left=t-o.minorLineWidth/2+"px",s.className="grid vertical minor "+i,s},s.prototype._repaintMajorLine=function(t,e,i){var s=this.dom.redundant.lines.shift();s||(s=document.createElement("div"),this.dom.background.appendChild(s)),this.dom.lines.push(s);var o=this.props;return s.style.top="top"==e?"0":this.body.domProps.top.height+"px",s.style.left=t-o.majorLineWidth/2+"px",s.style.height=o.majorLineHeight+"px",s.className="grid vertical major "+i,s},s.prototype._calculateCharSize=function(){this.dom.measureCharMinor||(this.dom.measureCharMinor=document.createElement("DIV"),this.dom.measureCharMinor.className="text minor measure",this.dom.measureCharMinor.style.position="absolute",this.dom.measureCharMinor.appendChild(document.createTextNode("0")),this.dom.foreground.appendChild(this.dom.measureCharMinor)),this.props.minorCharHeight=this.dom.measureCharMinor.clientHeight,this.props.minorCharWidth=this.dom.measureCharMinor.clientWidth,this.dom.measureCharMajor||(this.dom.measureCharMajor=document.createElement("DIV"),this.dom.measureCharMajor.className="text major measure",this.dom.measureCharMajor.style.position="absolute",this.dom.measureCharMajor.appendChild(document.createTextNode("0")),this.dom.foreground.appendChild(this.dom.measureCharMajor)),this.props.majorCharHeight=this.dom.measureCharMajor.clientHeight,this.props.majorCharWidth=this.dom.measureCharMajor.clientWidth},t.exports=s},function(t,e,i){function s(t,e,i){if(!(this instanceof s))throw new SyntaxError("Constructor must be called with the new operator");this._determineBrowserMethod(),this._initializeMixinLoaders(),this.containerElement=t,this.renderRefreshRate=60,this.renderTimestep=1e3/this.renderRefreshRate,this.renderTime=0,this.physicsTime=0,this.runDoubleSpeed=!1,this.physicsDiscreteStepsize=.5,this.initializing=!0,this.triggerFunctions={add:null,edit:null,editEdge:null,connect:null,del:null};var o=function(t,e,i,s){if(e==t)return.5;var o=1/(e-t);return Math.max(0,(s-t)*o)};this.defaultOptions={nodes:{customScalingFunction:o,mass:1,radiusMin:10,radiusMax:30,radius:10,shape:"ellipse",image:void 0,widthMin:16,widthMax:64,fontColor:"black",fontSize:14,fontFace:"verdana",fontFill:void 0,fontStrokeWidth:0,fontStrokeColor:"#ffffff",fontDrawThreshold:3,scaleFontWithValue:!1,fontSizeMin:14,fontSizeMax:30,fontSizeMaxVisible:30,level:-1,color:{border:"#2B7CE9",background:"#97C2FC",highlight:{border:"#2B7CE9",background:"#D2E5FF"},hover:{border:"#2B7CE9",background:"#D2E5FF"}},group:void 0,borderWidth:1,borderWidthSelected:void 0},edges:{customScalingFunction:o,widthMin:1,widthMax:15,width:1,widthSelectionMultiplier:2,hoverWidth:1.5,style:"line",color:{color:"#848484",highlight:"#848484",hover:"#848484"},opacity:1,fontColor:"#343434",fontSize:14,fontFace:"arial",fontFill:"white",fontStrokeWidth:0,fontStrokeColor:"white",labelAlignment:"horizontal",arrowScaleFactor:1,dash:{length:10,gap:5,altLength:void 0},inheritColor:"from"},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},this.constants=a.extend({},this.defaultOptions),this.pixelRatio=1,this.hoverObj={nodes:{},edges:{}},this.controlNodesActive=!1,this.navigationHammers={existing:[],_new:[]},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;var n=this;this.groups=new u,this.images=new m,this.images.setOnloadCallback(function(){n._redraw()}),this.xIncrement=0,this.yIncrement=0,this.zoomIncrement=0,this._loadPhysicsSystem(),this._create(),this._loadSectorSystem(),this._loadClusterSystem(),this._loadSelectionSystem(),this._loadHierarchySystem(),this._setTranslation(this.frame.clientWidth/2,this.frame.clientHeight/2),this._setScale(1),this.setOptions(i),this.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,e.data),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.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),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,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);this.popupObj&&this._checkHidePopup(i),0==this.constants.keyboard.bindToWindow&&1==this.constants.keyboard.enabled&&this.frame.focus();var s=this,o=function(){s._checkShowPopup(i)};if(this.popupTimer&&clearInterval(this.popupTimer),this.drag.dragging||(this.popupTimer=setTimeout(o,this.constants.tooltip.delay)),1==this.constants.hover){for(var n in this.hoverObj.edges)this.hoverObj.edges.hasOwnProperty(n)&&(this.hoverObj.edges[n].hover=!1,delete this.hoverObj.edges[n]);var r=this._getNodeAt(i);null==r&&(r=this._getEdgeAt(i)),null!=r&&this._hoverObject(r);for(var a in this.hoverObj.nodes)this.hoverObj.nodes.hasOwnProperty(a)&&(r instanceof f&&r.id!=a||r instanceof g||null==r)&&(this._blurObject(this.hoverObj.nodes[a]),delete this.hoverObj.nodes[a]);this.redraw()}},s.prototype._checkShowPopup=function(t){var e,i={left:this._XconvertDOMtoCanvas(t.x),top:this._YconvertDOMtoCanvas(t.y),right:this._XconvertDOMtoCanvas(t.x),bottom:this._YconvertDOMtoCanvas(t.y)},s=this.popupObj,o=!1;if(void 0==this.popupObj){var n=this.nodes,r=[];for(e in n)if(n.hasOwnProperty(e)){var a=n[e];a.isOverlappingWith(i)&&void 0!==a.getTitle()&&r.push(e)}r.length>0&&(this.popupObj=this.nodes[r[r.length-1]],o=!0)}if(void 0===this.popupObj&&0==o){var h=this.edges,d=[];for(e in h)if(h.hasOwnProperty(e)){var l=h[e];l.connected&&void 0!==l.getTitle()&&l.isOverlappingWith(i)&&d.push(e)}d.length>0&&(this.popupObj=this.edges[d[d.length-1]])}if(this.popupObj){if(this.popupObj!=s){var c=this;c.popup||(c.popup=new v(c.frame,c.constants.tooltip)),c.popup.setPosition(t.x-3,t.y-3),c.popup.setText(c.popupObj.getTitle()),c.popup.show()}}else this.popup&&this.popup.hide()},s.prototype._checkHidePopup=function(t){this.popupObj&&this._getNodeAt(t)||(this.popupObj=void 0,this.popup&&this.popup.hide())},s.prototype.setSize=function(t,e){var i=!1,s=this.frame.canvas.width,o=this.frame.canvas.height;t!=this.constants.width||e!=this.constants.height||this.frame.style.width!=t||this.frame.style.height!=e?(this.frame.style.width=t,this.frame.style.height=e,this.frame.canvas.style.width="100%",this.frame.canvas.style.height="100%",this.frame.canvas.width=this.frame.canvas.clientWidth*this.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,e){for(var i=this.nodes,s=0,o=t.length;o>s;s++){var n=t[s],r=i[n],a=e[s];r?r.setProperties(a,this.constants):(r=new 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++){var o=t[i];delete e[o]}this._updateNodeIndexList(),1==this.constants.hierarchicalLayout.enabled&&0==this.initializing&&(this._resetLevels(),this._setupHierarchicalLayout()),this._updateCalculationNodes(),this._reconnectEdges(),this._updateSelection(),this._updateValueRange(e)},s.prototype._setEdges=function(t){var e=this.edgesData;if(t instanceof d||t instanceof l)this.edgesData=t;else if(Array.isArray(t))this.edgesData=new d,this.edgesData.add(t);else{if(t)throw new TypeError("Array or DataSet expected");this.edgesData=new d}if(e&&a.forEach(this.edgesListeners,function(t,i){e.off(i,t)}),this.edges={},this.edgesData){var i=this;a.forEach(this.edgesListeners,function(t,e){i.edgesData.on(e,t)});var s=this.edgesData.getIds();this._addEdges(s)}this._reconnectEdges()},s.prototype._addEdges=function(t){for(var e=this.edges,i=this.edgesData,s=0,o=t.length;o>s;s++){var n=t[s],r=e[n];r&&r.disconnect();var a=i.get(n,{showInternalIds:!0});e[n]=new g(a,this,this.constants)}this.moving=!0,this._updateValueRange(e),this._createBezierNodes(),this._updateCalculationNodes(),1==this.constants.hierarchicalLayout.enabled&&0==this.initializing&&(this._resetLevels(),this._setupHierarchicalLayout())},s.prototype._updateEdges=function(t){for(var e=this.edges,i=this.edgesData,s=0,o=t.length;o>s;s++){var n=t[s],r=i.get(n),a=e[n];a?(a.disconnect(),a.setProperties(r,this.constants),a.connect()):(a=new g(r,this,this.constants),this.edges[n]=a)}this._createBezierNodes(),1==this.constants.hierarchicalLayout.enabled&&0==this.initializing&&(this._resetLevels(),this._setupHierarchicalLayout()),this.moving=!0,this._updateValueRange(e)},s.prototype._removeEdges=function(t){for(var e=this.edges,i=0,s=t.length;s>i;i++){var o=t[i],n=e[o];n&&(null!=n.via&&delete this.sectors.support.nodes[n.via.id],n.disconnect(),delete e[o])}this.moving=!0,this._updateValueRange(e),1==this.constants.hierarchicalLayout.enabled&&0==this.initializing&&(this._resetLevels(),this._setupHierarchicalLayout()),this._updateCalculationNodes()},s.prototype._reconnectEdges=function(){var t,e=this.nodes,i=this.edges;for(t in e)e.hasOwnProperty(t)&&(e[t].edges=[],e[t].dynamicEdges=[]);for(t in i)if(i.hasOwnProperty(t)){var s=i[t];s.from=null,s.to=null,s.connect()}},s.prototype._updateValueRange=function(t){var e,i=void 0,s=void 0,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._redraw=function(t){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)},1!=t&&(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),1!=t&&1==this.controlNodesActive&&this._doInAllSectors("_drawControlNodes",e),e.restore(),1==t&&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,this.start()},"undefined"!=typeof window&&(window.requestAnimationFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame),s.prototype.start=function(){if(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._redraw(),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(){var t=this.options.color;return this.colorDirty===!0&&("to"==this.options.inheritColor?t={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)&&(t={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=t,this.colorDirty=!1),1==this.selected?t.highlight:1==this.hover?t.hover:t.color},s.prototype._drawLine=function(t){if(t.strokeStyle=this._getColor(),t.lineWidth=this._getLineWidth(),this.from!=this.to){var e,i=this._line(t);if(this.label){if(1==this.options.smoothCurves.enabled&&null!=i){var s=.5*(.5*(this.from.x+i.x)+.5*(this.to.x+i.x)),o=.5*(.5*(this.from.y+i.y)+.5*(this.to.y+i.y));e={x:s,y:o}}else e=this._pointOnLine(.5);this._label(t,this.label,e.x,e.y)}}else{var n,r,a=this.physics.springLength/4,h=this.from;h.width||h.resize(t),h.width>h.height?(n=h.x+h.width/2,r=h.y-a):(n=h.x+a,r=h.y-h.height/2),this._circle(t,n,r,a),e=this._pointOnCircle(n,r,a,.5),this._label(t,this.label,e.x,e.y)}},s.prototype._getLineWidth=function(){return 1==this.selected?Math.max(Math.min(this.widthSelected,this.options.widthMax),.3*this.networkScaleInv):1==this.hover?Math.max(Math.min(this.options.hoverWidth,this.options.widthMax),.3*this.networkScaleInv):Math.max(this.options.width,.3*this.networkScaleInv)},s.prototype._getViaCoordinates=function(){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);return"discrete"==s||"diagonalCross"==s?Math.abs(this.from.x-this.to.x)this.to.y?this.from.xthis.to.x&&(t=this.from.x-i*n,e=this.from.y-i*n):this.from.ythis.to.x&&(t=this.from.x-i*n,e=this.from.y+i*n)),"discrete"==s&&(t=i*n>o?this.from.x:t)):Math.abs(this.from.x-this.to.x)>Math.abs(this.from.y-this.to.y)&&(this.from.y>this.to.y?this.from.xthis.to.x&&(t=this.from.x-i*o,e=this.from.y-i*o):this.from.ythis.to.x&&(t=this.from.x-i*o,e=this.from.y+i*o)),"discrete"==s&&(e=i*o>n?this.from.y:e)):"straightCross"==s?Math.abs(this.from.x-this.to.x)Math.abs(this.from.y-this.to.y)&&(t=this.from.xthis.to.y?this.from.xthis.to.x&&(t=this.from.x-i*n,e=this.from.y-i*n,t=this.to.x>t?this.to.x:t):this.from.ythis.to.x&&(t=this.from.x-i*n,e=this.from.y+i*n,t=this.to.x>t?this.to.x:t)):Math.abs(this.from.x-this.to.x)>Math.abs(this.from.y-this.to.y)&&(this.from.y>this.to.y?this.from.xe?this.to.y:e):this.from.x>this.to.x&&(t=this.from.x-i*o,e=this.from.y-i*o,e=this.to.y>e?this.to.y:e):this.from.ythis.to.x&&(t=this.from.x-i*o,e=this.from.y+i*o,e=this.to.yd;d++){var l=t.measureText(n[d]).width;h=l>h?l:h}var c=this.options.fontSize*r,p=i-h/2,u=s-c/2;this.labelDimensions={top:u,left:p,width:h,height:c,yLine:o}}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.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.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.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}i(1);s.DEFAULT=[{border:"#2B7CE9",background:"#97C2FC",highlight:{border:"#2B7CE9",background:"#D2E5FF"},hover:{border:"#2B7CE9",background:"#D2E5FF"}},{border:"#FFA500",background:"#FFFF00",highlight:{border:"#FFA500",background:"#FFFFA3"},hover:{border:"#FFA500",background:"#FFFFA3"}},{border:"#FA0A10",background:"#FB7E81",highlight:{border:"#FA0A10",background:"#FFAFB1"},hover:{border:"#FA0A10",background:"#FFAFB1"}},{border:"#41A906",background:"#7BE141",highlight:{border:"#41A906",background:"#A1EC76"},hover:{border:"#41A906",background:"#A1EC76"}},{border:"#E129F0",background:"#EB7DF4",highlight:{border:"#E129F0",background:"#F0B3F5"},hover:{border:"#E129F0",background:"#F0B3F5"}},{border:"#7C29F0",background:"#AD85E4",highlight:{border:"#7C29F0",background:"#D3BDF0"},hover:{border:"#7C29F0",background:"#D3BDF0"}},{border:"#C37F00",background:"#FFA807",highlight:{border:"#C37F00",background:"#FFCA66"},hover:{border:"#C37F00",background:"#FFCA66"}},{border:"#4220FB",background:"#6E6EFD",highlight:{border:"#4220FB",background:"#9B9BFD"},hover:{border:"#4220FB",background:"#9B9BFD"}},{border:"#FD5A77",background:"#FFC0CB",highlight:{border:"#FD5A77",background:"#FFD1D9"},hover:{border:"#FD5A77",background:"#FFD1D9"}},{border:"#4AD63A",background:"#C2FABC",highlight:{border:"#4AD63A",background:"#E6FFE3"},hover:{border:"#4AD63A",background:"#E6FFE3"}}],s.prototype.clear=function(){this.groups={},this.groups.length=function(){var t=0;for(var e in this)this.hasOwnProperty(e)&&t++;return t}},s.prototype.get=function(t){var e=this.groups[t];if(void 0==e){var i=this.defaultIndex%s.DEFAULT.length;this.defaultIndex++,e={},e.color=s.DEFAULT[i],this.groups[t]=e}return e},s.prototype.add=function(t,e){return this.groups[t]=e,e},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"];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;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._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=D.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=D.DELIMITER);var i=E+n();if(C[i])return N=D.DELIMITER,k=i,o(),void o();if(C[E])return N=D.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=D.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=D.IDENTIFIER)}for(N=D.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==D.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!=D.IDENTIFIER)throw x("Identifier expected");var s=k;if(p(),"="==k){if(p(),N!=D.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==D.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!=D.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!=D.IDENTIFIER)throw x("Attribute name expected");var e=k;if(p(),"="!=k)throw x("Equal sign = expected");if(p(),N!=D.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 M(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 S(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)}),M(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 D={NULL:0,DELIMITER:1,IDENTIFIER:2,UNKNOWN:3},C={"{":!0,"}":!0,"[":!0,"]":!0,";":!0,"=":!0,",":!0,"->":!0,"--":!0},T="",O=0,E="",k="",N=D.NULL,I=/[a-zA-Z_0-9.:#]/;e.parseDOT=i,e.DOTToGraph=S},function(t,e){function i(t,e){var i=[],s=[];this.options={edges:{inheritColor:!0},nodes:{allowedToMove:!1,parseColor:!1}},void 0!==e&&(this.options.nodes.allowedToMove=e.allowedToMove|!1,this.options.nodes.parseColor=e.parseColor|!1,this.options.edges.inheritColor=e.inheritColor|!0);for(var o=t.edges,n=t.nodes,r=0;r=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=i&&void 0!==i.animate?i.animate:!0;if(1==arguments.length){var o=arguments[0];this.range.setRange(o.start,o.end,s)}else this.range.setRange(t,e,s)},s.prototype.moveTo=function(t,e){var i=this.range.end-this.range.start,s=r.convert(t,"Date").valueOf(),o=s-i/2,n=s+i/2,a=e&&void 0!==e.animate?e.animate:!0;this.range.setRange(o,n,a)},s.prototype.getWindow=function(){var t=this.range.getRange();return{start:new Date(t.start),end:new Date(t.end)}},s.prototype.redraw=function(){this._redraw()},s.prototype._redraw=function(){var t=!1,e=this.options,i=this.props,s=this.dom;if(s){h.updateHiddenDates(this.body,this.options.hiddenDates),"top"==e.orientation?(r.addClassName(s.root,"top"),r.removeClassName(s.root,"bottom")):(r.removeClassName(s.root,"top"),r.addClassName(s.root,"bottom")),s.root.style.maxHeight=r.option.asSize(e.maxHeight,""),s.root.style.minHeight=r.option.asSize(e.minHeight,""),s.root.style.width=r.option.asSize(e.width,""),i.border.left=(s.centerContainer.offsetWidth-s.centerContainer.clientWidth)/2,i.border.right=i.border.left,i.border.top=(s.centerContainer.offsetHeight-s.centerContainer.clientHeight)/2,i.border.bottom=i.border.top;var o=s.root.offsetHeight-s.root.clientHeight,n=s.root.offsetWidth-s.root.clientWidth;0===s.centerContainer.clientHeight&&(i.border.left=i.border.top,i.border.right=i.border.left),0===s.root.clientHeight&&(n=o),i.center.height=s.center.offsetHeight,i.left.height=s.left.offsetHeight,i.right.height=s.right.offsetHeight,i.top.height=s.top.clientHeight||-i.border.top,i.bottom.height=s.bottom.clientHeight||-i.border.bottom;var a=Math.max(i.left.height,i.center.height,i.right.height),d=i.top.height+a+i.bottom.height+o+i.border.top+i.border.bottom;s.root.style.height=r.option.asSize(e.height,d+"px"),i.root.height=s.root.offsetHeight,i.background.height=i.root.height-o;var l=i.root.height-i.top.height-i.bottom.height-o;i.centerContainer.height=l,i.leftContainer.height=l,i.rightContainer.height=i.leftContainer.height,i.root.width=s.root.offsetWidth,i.background.width=i.root.width-n,i.left.width=s.leftContainer.clientWidth||-i.border.left,i.leftContainer.width=i.left.width,i.right.width=s.rightContainer.clientWidth||-i.border.right,i.rightContainer.width=i.right.width;var c=i.root.width-i.left.width-i.right.width-n;i.center.width=c,i.centerContainer.width=c,i.top.width=c,i.bottom.width=c,s.background.style.height=i.background.height+"px",s.backgroundVertical.style.height=i.background.height+"px",s.backgroundHorizontal.style.height=i.centerContainer.height+"px",s.centerContainer.style.height=i.centerContainer.height+"px",s.leftContainer.style.height=i.leftContainer.height+"px",s.rightContainer.style.height=i.rightContainer.height+"px",s.background.style.width=i.background.width+"px",s.backgroundVertical.style.width=i.centerContainer.width+"px",s.backgroundHorizontal.style.width=i.background.width+"px",s.centerContainer.style.width=i.center.width+"px",s.top.style.width=i.top.width+"px",s.bottom.style.width=i.bottom.width+"px",s.background.style.left="0",s.background.style.top="0",s.backgroundVertical.style.left=i.left.width+i.border.left+"px",s.backgroundVertical.style.top="0",s.backgroundHorizontal.style.left="0",s.backgroundHorizontal.style.top=i.top.height+"px",s.centerContainer.style.left=i.left.width+"px",s.centerContainer.style.top=i.top.height+"px",s.leftContainer.style.left="0",s.leftContainer.style.top=i.top.height+"px",s.rightContainer.style.left=i.left.width+i.center.width+"px",s.rightContainer.style.top=i.top.height+"px",s.top.style.left=i.left.width+"px",s.top.style.top="0",s.bottom.style.left=i.left.width+"px",s.bottom.style.top=i.top.height+i.centerContainer.height+"px",this._updateScrollTop();var p=this.props.scrollTop;"bottom"==e.orientation&&(p+=Math.max(this.props.centerContainer.height-this.props.center.height-this.props.border.top-this.props.border.bottom,0)),s.center.style.left="0",s.center.style.top=p+"px",s.left.style.left="0",s.left.style.top=p+"px",s.right.style.left="0",s.right.style.top=p+"px";var u=0==this.props.scrollTop?"hidden":"",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)+" ",M=t.length,S=0;M-1>S;S++)s=0==S?t[0]:t[S-1],o=t[S],n=t[S+1],r=M>S+2?t[S+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&&F(t),_(this,t),this._d=new Date(+t._d),Di===!1&&(Di=!0,Ce.updateOffset(this),Di=!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 P(t,e,i){return me(Ce([t,11,31+e-i]),e,i).week}function A(t){return R(t)?366:365}function R(t){return t%4===0&&t%100!==0||t%400===0}function F(t){var e;t._a&&-2===t._pf.overflow&&(e=t._a[ze]<0||t._a[ze]>11?ze:t._a[Pe]<1||t._a[Pe]>z(t._a[Le],t._a[ze])?Pe:t._a[Ae]<0||t._a[Ae]>24||24===t._a[Ae]&&(0!==t._a[Re]||0!==t._a[Fe]||0!==t._a[He])?Ae:t._a[Re]<0||t._a[Re]>59?Re:t._a[Fe]<0||t._a[Fe]>59?Fe:t._a[He]<0||t._a[He]>999?He:-1,t._pf._overflowDayOfYear&&(Le>e||e>Pe)&&(e=Pe),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[Pe]=L(e));break;case"Do":null!=e&&(o[Pe]=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[Ae]=L(e);break;case"m":case"mm":o[Re]=L(e);break;case"s":case"ss":o[Fe]=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[Pe]&&null==t._a[ze]&&K(t),t._dayOfYear&&(o=r(t._a[Le],s[Le]),t._dayOfYear>A(o)&&(t._pf._overflowDayOfYear=!0),i=le(o,0,t._dayOfYear),t._a[ze]=i.getUTCMonth(),t._a[Pe]=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[Ae]&&0===t._a[Re]&&0===t._a[Fe]&&0===t._a[He]&&(t._nextDay=!0,t._a[Ae]=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[Ae]=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[Ae]<=12&&(t._pf.bigHour=n),t._a[Ae]=f(t._locale,t._a[Ae],t._meridiem),$(t),F(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:A(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()}},Mi={},Si=["months","monthsShort","weekdays","weekdaysShort","weekdaysMin"],Di=!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[Pe])*i,h:L(h[Ae])*i,m:L(h[Re])*i,s:L(h[Fe])*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=S(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=Si.length-1;Oe>=0;--Oe)I(Si[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:D(1,"add"),subtract:D(-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 R(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 P(this.year(),1,4)},weeksInYear:function(){var t=this.localeData()._week;return P(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(Me(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(Me(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)&&Se(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)),De(!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){S.register(t)}),w.onTouch(a.DOCUMENT,v,S.detect),w.onTouch(a.DOCUMENT,y,S.detect),a.READY=!0)}var a=function D(t,e){return new D.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(S,d),a&&(d.changedLength=h,d.eventType=a,s.call(S,d),d.eventType=r,delete d.changedLength),r==y&&(s.call(S,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 M.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")||M.matchType(u,s)?o=u:M.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 S.stopDetect()}}}},M=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={}}},S=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?S.startDetect(i,t):t.eventType==_&&S.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=S.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=S.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=S.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=S.current,h=S.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);e._clearManipulatorBar=function(){this._recursiveDOMDelete(this.manipulationDiv),this.manipulationDOM={},this._manipulationReleaseOverload=function(){},delete this.sectors.support.nodes.targetNode,delete this.sectors.support.nodes.targetViaNode,this.controlNodesActive=!1,this.freezeSimulationEnabled=!1},e._restoreOverloadedFunctions=function(){for(var t in this.cachedFunctions)this.cachedFunctions.hasOwnProperty(t)&&(this[t]=this.cachedFunctions[t],delete this.cachedFunctions[t])},e._toggleEditMode=function(){this.editMode=!this.editMode;var t=this.manipulationDiv,e=this.closeDiv,i=this.editModeDiv;1==this.editMode?(t.style.display="block",e.style.display="block",i.style.display="none",e.onclick=this._toggleEditMode.bind(this)):(t.style.display="none",e.style.display="none",i.style.display="block",e.onclick=null),this._createManipulatorBar()},e._createManipulatorBar=function(){this.boundFunction&&this.off("select",this.boundFunction);var t=this.constants.locales[this.constants.locale];if(void 0!==this.edgeBeingEdited&&(this.edgeBeingEdited._disableControlNodes(),this.edgeBeingEdited=void 0,this.selectedControlNode=null,this.controlNodesActive=!1,this._redraw()),this._restoreOverloadedFunctions(),this.freezeSimulationEnabled=!1,this.blockConnectingEdgeSelection=!1,this.forceAppendSelection=!1,this.manipulationDOM={},1==this.editMode){for(;this.manipulationDiv.hasChildNodes();)this.manipulationDiv.removeChild(this.manipulationDiv.firstChild);this.manipulationDOM.addNodeSpan=document.createElement("span"),this.manipulationDOM.addNodeSpan.className="network-manipulationUI add",this.manipulationDOM.addNodeLabelSpan=document.createElement("span"),this.manipulationDOM.addNodeLabelSpan.className="network-manipulationLabel",this.manipulationDOM.addNodeLabelSpan.innerHTML=t.addNode,this.manipulationDOM.addNodeSpan.appendChild(this.manipulationDOM.addNodeLabelSpan),this.manipulationDOM.seperatorLineDiv1=document.createElement("div"),this.manipulationDOM.seperatorLineDiv1.className="network-seperatorLine",this.manipulationDOM.addEdgeSpan=document.createElement("span"),this.manipulationDOM.addEdgeSpan.className="network-manipulationUI connect",this.manipulationDOM.addEdgeLabelSpan=document.createElement("span"),this.manipulationDOM.addEdgeLabelSpan.className="network-manipulationLabel",this.manipulationDOM.addEdgeLabelSpan.innerHTML=t.addEdge,this.manipulationDOM.addEdgeSpan.appendChild(this.manipulationDOM.addEdgeLabelSpan),this.manipulationDiv.appendChild(this.manipulationDOM.addNodeSpan),this.manipulationDiv.appendChild(this.manipulationDOM.seperatorLineDiv1),this.manipulationDiv.appendChild(this.manipulationDOM.addEdgeSpan),1==this._getSelectedNodeCount()&&this.triggerFunctions.edit?(this.manipulationDOM.seperatorLineDiv2=document.createElement("div"),this.manipulationDOM.seperatorLineDiv2.className="network-seperatorLine",this.manipulationDOM.editNodeSpan=document.createElement("span"),this.manipulationDOM.editNodeSpan.className="network-manipulationUI edit",this.manipulationDOM.editNodeLabelSpan=document.createElement("span"),this.manipulationDOM.editNodeLabelSpan.className="network-manipulationLabel",this.manipulationDOM.editNodeLabelSpan.innerHTML=t.editNode,this.manipulationDOM.editNodeSpan.appendChild(this.manipulationDOM.editNodeLabelSpan),this.manipulationDiv.appendChild(this.manipulationDOM.seperatorLineDiv2),this.manipulationDiv.appendChild(this.manipulationDOM.editNodeSpan)):1==this._getSelectedEdgeCount()&&0==this._getSelectedNodeCount()&&(this.manipulationDOM.seperatorLineDiv3=document.createElement("div"),this.manipulationDOM.seperatorLineDiv3.className="network-seperatorLine",this.manipulationDOM.editEdgeSpan=document.createElement("span"),this.manipulationDOM.editEdgeSpan.className="network-manipulationUI edit",this.manipulationDOM.editEdgeLabelSpan=document.createElement("span"),this.manipulationDOM.editEdgeLabelSpan.className="network-manipulationLabel",this.manipulationDOM.editEdgeLabelSpan.innerHTML=t.editEdge,this.manipulationDOM.editEdgeSpan.appendChild(this.manipulationDOM.editEdgeLabelSpan),this.manipulationDiv.appendChild(this.manipulationDOM.seperatorLineDiv3),this.manipulationDiv.appendChild(this.manipulationDOM.editEdgeSpan)),0==this._selectionIsEmpty()&&(this.manipulationDOM.seperatorLineDiv4=document.createElement("div"),this.manipulationDOM.seperatorLineDiv4.className="network-seperatorLine",this.manipulationDOM.deleteSpan=document.createElement("span"),this.manipulationDOM.deleteSpan.className="network-manipulationUI delete",this.manipulationDOM.deleteLabelSpan=document.createElement("span"),this.manipulationDOM.deleteLabelSpan.className="network-manipulationLabel",this.manipulationDOM.deleteLabelSpan.innerHTML=t.del,this.manipulationDOM.deleteSpan.appendChild(this.manipulationDOM.deleteLabelSpan),this.manipulationDiv.appendChild(this.manipulationDOM.seperatorLineDiv4),this.manipulationDiv.appendChild(this.manipulationDOM.deleteSpan)),this.manipulationDOM.addNodeSpan.onclick=this._createAddNodeToolbar.bind(this),this.manipulationDOM.addEdgeSpan.onclick=this._createAddEdgeToolbar.bind(this),1==this._getSelectedNodeCount()&&this.triggerFunctions.edit?this.manipulationDOM.editNodeSpan.onclick=this._editNode.bind(this):1==this._getSelectedEdgeCount()&&0==this._getSelectedNodeCount()&&(this.manipulationDOM.editEdgeSpan.onclick=this._createEditEdgeToolbar.bind(this)),0==this._selectionIsEmpty()&&(this.manipulationDOM.deleteSpan.onclick=this._deleteSelected.bind(this)),this.closeDiv.onclick=this._toggleEditMode.bind(this);var e=this;this.boundFunction=e._createManipulatorBar,this.on("select",this.boundFunction)}else{for(;this.editModeDiv.hasChildNodes();)this.editModeDiv.removeChild(this.editModeDiv.firstChild);this.manipulationDOM.editModeSpan=document.createElement("span"),this.manipulationDOM.editModeSpan.className="network-manipulationUI edit editmode",this.manipulationDOM.editModeLabelSpan=document.createElement("span"),this.manipulationDOM.editModeLabelSpan.className="network-manipulationLabel",this.manipulationDOM.editModeLabelSpan.innerHTML=t.edit,this.manipulationDOM.editModeSpan.appendChild(this.manipulationDOM.editModeLabelSpan),this.editModeDiv.appendChild(this.manipulationDOM.editModeSpan),this.manipulationDOM.editModeSpan.onclick=this._toggleEditMode.bind(this)}},e._createAddNodeToolbar=function(){this._clearManipulatorBar(),this.boundFunction&&this.off("select",this.boundFunction);var t=this.constants.locales[this.constants.locale];this.manipulationDOM={},this.manipulationDOM.backSpan=document.createElement("span"),this.manipulationDOM.backSpan.className="network-manipulationUI back",this.manipulationDOM.backLabelSpan=document.createElement("span"),this.manipulationDOM.backLabelSpan.className="network-manipulationLabel",this.manipulationDOM.backLabelSpan.innerHTML=t.back,this.manipulationDOM.backSpan.appendChild(this.manipulationDOM.backLabelSpan),this.manipulationDOM.seperatorLineDiv1=document.createElement("div"),this.manipulationDOM.seperatorLineDiv1.className="network-seperatorLine",this.manipulationDOM.descriptionSpan=document.createElement("span"),this.manipulationDOM.descriptionSpan.className="network-manipulationUI none",this.manipulationDOM.descriptionLabelSpan=document.createElement("span"),this.manipulationDOM.descriptionLabelSpan.className="network-manipulationLabel",this.manipulationDOM.descriptionLabelSpan.innerHTML=t.addDescription,this.manipulationDOM.descriptionSpan.appendChild(this.manipulationDOM.descriptionLabelSpan),this.manipulationDiv.appendChild(this.manipulationDOM.backSpan),this.manipulationDiv.appendChild(this.manipulationDOM.seperatorLineDiv1),this.manipulationDiv.appendChild(this.manipulationDOM.descriptionSpan),this.manipulationDOM.backSpan.onclick=this._createManipulatorBar.bind(this);var e=this;this.boundFunction=e._addNode,this.on("select",this.boundFunction)},e._createAddEdgeToolbar=function(){this._clearManipulatorBar(),this._unselectAll(!0),this.freezeSimulationEnabled=!0,this.boundFunction&&this.off("select",this.boundFunction);var t=this.constants.locales[this.constants.locale];this._unselectAll(),this.forceAppendSelection=!1,this.blockConnectingEdgeSelection=!0,this.manipulationDOM={},this.manipulationDOM.backSpan=document.createElement("span"),this.manipulationDOM.backSpan.className="network-manipulationUI back",this.manipulationDOM.backLabelSpan=document.createElement("span"),this.manipulationDOM.backLabelSpan.className="network-manipulationLabel",this.manipulationDOM.backLabelSpan.innerHTML=t.back,this.manipulationDOM.backSpan.appendChild(this.manipulationDOM.backLabelSpan),this.manipulationDOM.seperatorLineDiv1=document.createElement("div"),this.manipulationDOM.seperatorLineDiv1.className="network-seperatorLine",this.manipulationDOM.descriptionSpan=document.createElement("span"),this.manipulationDOM.descriptionSpan.className="network-manipulationUI none",this.manipulationDOM.descriptionLabelSpan=document.createElement("span"),this.manipulationDOM.descriptionLabelSpan.className="network-manipulationLabel",this.manipulationDOM.descriptionLabelSpan.innerHTML=t.edgeDescription,this.manipulationDOM.descriptionSpan.appendChild(this.manipulationDOM.descriptionLabelSpan),this.manipulationDiv.appendChild(this.manipulationDOM.backSpan),this.manipulationDiv.appendChild(this.manipulationDOM.seperatorLineDiv1),this.manipulationDiv.appendChild(this.manipulationDOM.descriptionSpan),this.manipulationDOM.backSpan.onclick=this._createManipulatorBar.bind(this);var e=this;this.boundFunction=e._handleConnect,this.on("select",this.boundFunction),this.cachedFunctions._handleTouch=this._handleTouch,this.cachedFunctions._manipulationReleaseOverload=this._manipulationReleaseOverload,this.cachedFunctions._handleDragStart=this._handleDragStart,this.cachedFunctions._handleDragEnd=this._handleDragEnd,this.cachedFunctions._handleOnHold=this._handleOnHold,this._handleTouch=this._handleConnect,this._manipulationReleaseOverload=function(){},this._handleOnHold=function(){},this._handleDragStart=function(){},this._handleDragEnd=this._finishConnect,this._redraw()},e._createEditEdgeToolbar=function(){this._clearManipulatorBar(),this.controlNodesActive=!0,this.boundFunction&&this.off("select",this.boundFunction),this.edgeBeingEdited=this._getSelectedEdge(),this.edgeBeingEdited._enableControlNodes();var t=this.constants.locales[this.constants.locale];this.manipulationDOM={},this.manipulationDOM.backSpan=document.createElement("span"),this.manipulationDOM.backSpan.className="network-manipulationUI back",this.manipulationDOM.backLabelSpan=document.createElement("span"),this.manipulationDOM.backLabelSpan.className="network-manipulationLabel",this.manipulationDOM.backLabelSpan.innerHTML=t.back,this.manipulationDOM.backSpan.appendChild(this.manipulationDOM.backLabelSpan),this.manipulationDOM.seperatorLineDiv1=document.createElement("div"),this.manipulationDOM.seperatorLineDiv1.className="network-seperatorLine",this.manipulationDOM.descriptionSpan=document.createElement("span"),this.manipulationDOM.descriptionSpan.className="network-manipulationUI none",this.manipulationDOM.descriptionLabelSpan=document.createElement("span"),this.manipulationDOM.descriptionLabelSpan.className="network-manipulationLabel",this.manipulationDOM.descriptionLabelSpan.innerHTML=t.editEdgeDescription,this.manipulationDOM.descriptionSpan.appendChild(this.manipulationDOM.descriptionLabelSpan),this.manipulationDiv.appendChild(this.manipulationDOM.backSpan),this.manipulationDiv.appendChild(this.manipulationDOM.seperatorLineDiv1),this.manipulationDiv.appendChild(this.manipulationDOM.descriptionSpan),this.manipulationDOM.backSpan.onclick=this._createManipulatorBar.bind(this),this.cachedFunctions._handleTouch=this._handleTouch,this.cachedFunctions._manipulationReleaseOverload=this._manipulationReleaseOverload,this.cachedFunctions._handleTap=this._handleTap,this.cachedFunctions._handleDragStart=this._handleDragStart,this.cachedFunctions._handleOnDrag=this._handleOnDrag,this._handleTouch=this._selectControlNode,this._handleTap=function(){},this._handleOnDrag=this._controlNodeDrag,this._handleDragStart=function(){},this._manipulationReleaseOverload=this._releaseControlNode,this._redraw()},e._selectControlNode=function(t){this.edgeBeingEdited.controlNodes.from.unselect(),this.edgeBeingEdited.controlNodes.to.unselect(),this.selectedControlNode=this.edgeBeingEdited._getSelectedControlNode(this._XconvertDOMtoCanvas(t.x),this._YconvertDOMtoCanvas(t.y)),null!==this.selectedControlNode&&(this.selectedControlNode.select(),this.freezeSimulationEnabled=!0),this._redraw()},e._controlNodeDrag=function(t){var e=this._getPointer(t.gesture.center);null!==this.selectedControlNode&&void 0!==this.selectedControlNode&&(this.selectedControlNode.x=this._XconvertDOMtoCanvas(e.x),this.selectedControlNode.y=this._YconvertDOMtoCanvas(e.y)),this._redraw()},e._releaseControlNode=function(t){var e=this._getNodeAt(t);null!==e?(1==this.edgeBeingEdited.controlNodes.from.selected&&(this.edgeBeingEdited._restoreControlNodes(),this._editEdge(e.id,this.edgeBeingEdited.to.id),this.edgeBeingEdited.controlNodes.from.unselect()),1==this.edgeBeingEdited.controlNodes.to.selected&&(this.edgeBeingEdited._restoreControlNodes(),this._editEdge(this.edgeBeingEdited.from.id,e.id),this.edgeBeingEdited.controlNodes.to.unselect())):this.edgeBeingEdited._restoreControlNodes(),this.freezeSimulationEnabled=!1,this._redraw()},e._handleConnect=function(t){if(0==this._getSelectedNodeCount()){var e=this._getNodeAt(t);if(null!=e)if(e.clusterSize>1)alert(this.constants.locales[this.constants.locale].createEdgeError);else{this._selectObject(e,!1);var i=this.sectors.support.nodes;i.targetNode=new o({id:"targetNode"},{},{},this.constants); +var s=i.targetNode;s.x=e.x,s.y=e.y,this.edges.connectionEdge=new n({id:"connectionEdge",from:e.id,to:s.id},this,this.constants);var r=this.edges.connectionEdge;r.from=e,r.connected=!0,r.options.smoothCurves={enabled:!0,dynamic:!1,type:"continuous",roundness:.5},r.selected=!0,r.to=s,this.cachedFunctions._handleOnDrag=this._handleOnDrag,this._handleOnDrag=function(t){var e=this._getPointer(t.gesture.center),i=this.edges.connectionEdge;i.to.x=this._XconvertDOMtoCanvas(e.x),i.to.y=this._YconvertDOMtoCanvas(e.y)},this.moving=!0,this.start()}}},e._finishConnect=function(t){if(1==this._getSelectedNodeCount()){var e=this._getPointer(t.gesture.center);this._handleOnDrag=this.cachedFunctions._handleOnDrag,delete this.cachedFunctions._handleOnDrag;var i=this.edges.connectionEdge.fromId;delete this.edges.connectionEdge,delete this.sectors.support.nodes.targetNode,delete this.sectors.support.nodes.targetViaNode;var s=this._getNodeAt(e);null!=s&&(s.clusterSize>1?alert(this.constants.locales[this.constants.locale].createEdgeError):(this._createEdge(i,s.id),this._createManipulatorBar())),this._unselectAll()}},e._addNode=function(){if(this._selectionIsEmpty()&&1==this.editMode){var t=this._pointerToPositionObject(this.pointerPosition),e={id:s.randomUUID(),x:t.left,y:t.top,label:"new",allowedToMoveX:!0,allowedToMoveY:!0};if(this.triggerFunctions.add){if(2!=this.triggerFunctions.add.length)throw new Error("The function for add does not support two arguments (data,callback)");var i=this;this.triggerFunctions.add(e,function(t){i.nodesData.add(t),i._createManipulatorBar(),i.moving=!0,i.start()})}else this.nodesData.add(e),this._createManipulatorBar(),this.moving=!0,this.start()}},e._createEdge=function(t,e){if(1==this.editMode){var i={from:t,to:e};if(this.triggerFunctions.connect){if(2!=this.triggerFunctions.connect.length)throw new Error("The function for connect does not support two arguments (data,callback)");var s=this;this.triggerFunctions.connect(i,function(t){s.edgesData.add(t),s.moving=!0,s.start()})}else this.edgesData.add(i),this.moving=!0,this.start()}},e._editEdge=function(t,e){if(1==this.editMode){var i={id:this.edgeBeingEdited.id,from:t,to:e};if(this.triggerFunctions.editEdge){if(2!=this.triggerFunctions.editEdge.length)throw new Error("The function for edit does not support two arguments (data, callback)");var s=this;this.triggerFunctions.editEdge(i,function(t){s.edgesData.update(t),s.moving=!0,s.start()})}else this.edgesData.update(i),this.moving=!0,this.start()}},e._editNode=function(){if(!this.triggerFunctions.edit||1!=this.editMode)throw new Error("No edit function has been bound to this button");var t=this._getSelectedNode(),e={id:t.id,label:t.label,group:t.options.group,shape:t.options.shape,color:{background:t.options.color.background,border:t.options.color.border,highlight:{background:t.options.color.highlight.background,border:t.options.color.highlight.border}}};if(2!=this.triggerFunctions.edit.length)throw new Error("The function for edit does not support two arguments (data, callback)");var i=this;this.triggerFunctions.edit(e,function(t){i.nodesData.update(t),i._createManipulatorBar(),i.moving=!0,i.start()})},e._deleteSelected=function(){if(!this._selectionIsEmpty()&&1==this.editMode)if(this._clusterInSelection())alert(this.constants.locales[this.constants.locale].deleteClusterError);else{var t=this.getSelectedNodes(),e=this.getSelectedEdges();if(this.triggerFunctions.del){var i=this,s={nodes:t,edges:e};if(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.existing.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,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){function e(t){throw new Error("Cannot find module '"+t+"'.")}e.keys=function(){return[]},e.resolve=e,t.exports=e,e.id=70},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/lib/timeline/component/ItemSet.js b/lib/timeline/component/ItemSet.js index 05c45f39..dd6eb87a 100644 --- a/lib/timeline/component/ItemSet.js +++ b/lib/timeline/component/ItemSet.js @@ -1201,7 +1201,7 @@ ItemSet.prototype._onDrag = function (event) { if ('group' in props) { // drag from one group to another - var group = ItemSet.groupFromTarget(event); + var group = me.groupFromTarget(event); newProps.group = group && group.groupId; } @@ -1396,7 +1396,7 @@ ItemSet.prototype._onAddItem = function (event) { newItem[this.itemsData._fieldId] = util.randomUUID(); - var group = ItemSet.groupFromTarget(event); + var group = this.groupFromTarget(event); if (group) { newItem.group = group.groupId; } @@ -1526,13 +1526,37 @@ ItemSet.itemFromTarget = function(event) { * @param {Event} event * @return {Group | null} group */ -ItemSet.groupFromTarget = function(event) { - var target = event.target; - while (target) { - if (target.hasOwnProperty('timeline-group')) { - return target['timeline-group']; +ItemSet.prototype.groupFromTarget = function(event) { + // TODO: cleanup when the new solution is stable (also on mobile) + //var target = event.target; + //while (target) { + // if (target.hasOwnProperty('timeline-group')) { + // return target['timeline-group']; + // } + // target = target.parentNode; + //} + // + + var clientY = event.gesture.center.clientY; + for (var i = 0; i < this.groupIds.length; i++) { + var groupId = this.groupIds[i]; + var group = this.groups[groupId]; + var foreground = group.dom.foreground; + var top = util.getAbsoluteTop(foreground); + if (clientY > top && clientY < top + foreground.offsetHeight) { + return group; + } + + if (this.options.orientation === 'top') { + if (i === this.groupIds.length - 1 && clientY > top) { + return group; + } + } + else { + if (i === 0 && clientY < top + foreground.offset) { + return group; + } } - target = target.parentNode; } return null; diff --git a/test/timeline_groups.html b/test/timeline_groups.html index e5074c20..aab2561d 100644 --- a/test/timeline_groups.html +++ b/test/timeline_groups.html @@ -173,6 +173,12 @@ groups.on('update', console.log.bind(console)); groups.on('remove', console.log.bind(console)); + function log (msg) { + var logs = document.getElementById('logs'); + logs.innerHTML = msg + '
' + logs.innerHTML; + } + +
\ No newline at end of file