From dd74b21652d6f76f05f4a814c88f71a13456acd1 Mon Sep 17 00:00:00 2001 From: Jerome Sadi Date: Fri, 22 Jun 2018 12:20:33 +0200 Subject: [PATCH] #450 workaround --- dist/vis-graph3d.min.js | 2 +- dist/vis-network.min.js | 2 +- dist/vis-timeline-graph2d.min.js | 4 +-- dist/vis.js | 60 +++++++++++++++++++++++++++----- dist/vis.map | 2 +- dist/vis.min.js | 42 +++++++++++----------- lib/timeline/Core.js | 58 ++++++++++++++++++++++++++---- 7 files changed, 129 insertions(+), 41 deletions(-) diff --git a/dist/vis-graph3d.min.js b/dist/vis-graph3d.min.js index 6b3b8ab4a..df7cbd35e 100644 --- a/dist/vis-graph3d.min.js +++ b/dist/vis-graph3d.min.js @@ -5,7 +5,7 @@ * A dynamic, browser-based visualization library. * * @version 4.21.0 - * @date 2018-06-21 + * @date 2018-06-22 * * @license * Copyright (C) 2011-2017 Almende B.V, http://almende.com diff --git a/dist/vis-network.min.js b/dist/vis-network.min.js index 45ffba392..d48bc6044 100644 --- a/dist/vis-network.min.js +++ b/dist/vis-network.min.js @@ -5,7 +5,7 @@ * A dynamic, browser-based visualization library. * * @version 4.21.0 - * @date 2018-06-21 + * @date 2018-06-22 * * @license * Copyright (C) 2011-2017 Almende B.V, http://almende.com diff --git a/dist/vis-timeline-graph2d.min.js b/dist/vis-timeline-graph2d.min.js index fcfb52257..84c9b4ea5 100644 --- a/dist/vis-timeline-graph2d.min.js +++ b/dist/vis-timeline-graph2d.min.js @@ -5,7 +5,7 @@ * A dynamic, browser-based visualization library. * * @version 4.21.0 - * @date 2018-06-21 + * @date 2018-06-22 * * @license * Copyright (C) 2011-2017 Almende B.V, http://almende.com @@ -22,7 +22,7 @@ * * Vis.js may be distributed under either license. */ -"use strict";!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.vis=e():t.vis=e()}("undefined"!=typeof self?self:this,function(){return function(t){function e(o){if(i[o])return i[o].exports;var n=i[o]={i:o,l:!1,exports:{}};return t[o].call(n.exports,n,n.exports,e),n.l=!0,n.exports}var i={};return e.m=t,e.c=i,e.d=function(t,i,o){e.o(t,i)||Object.defineProperty(t,i,{configurable:!1,enumerable:!0,get:o})},e.n=function(t){var i=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(i,"a",i),i},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="",e(e.s=85)}([function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}function n(t,e,i,o){var n=!1;!0===o&&(n=null===e[i]&&void 0!==t[i]),n?delete t[i]:t[i]=e[i]}var s=i(86),r=o(s),a=i(43),h=o(a),d=i(4),l=o(d),u=i(1),p=o(u),c=i(3),m=i(126);e.isNumber=function(t){return t instanceof Number||"number"==typeof t},e.recursiveDOMDelete=function(t){if(t)for(;!0===t.hasChildNodes();)e.recursiveDOMDelete(t.firstChild),t.removeChild(t.firstChild)},e.giveRange=function(t,e,i,o){if(e==t)return.5;var n=1/(e-t);return Math.max(0,(o-t)*n)},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)){if(f.exec(t))return!0;if(!isNaN(Date.parse(t)))return!0}return!1},e.randomUUID=function(){return m.v4()},e.assignAllKeys=function(t,e){for(var i in t)t.hasOwnProperty(i)&&"object"!==(0,p.default)(t[i])&&(t[i]=e)},e.fillIfDefined=function(t,i){var o=arguments.length>2&&void 0!==arguments[2]&&arguments[2];for(var s in t)void 0!==i[s]&&(null===i[s]||"object"!==(0,p.default)(i[s])?n(t,i,s,o):"object"===(0,p.default)(t[s])&&e.fillIfDefined(t[s],i[s],o))},e.extend=function(t,e){for(var i=1;i3&&void 0!==arguments[3]&&arguments[3];if(Array.isArray(o))throw new TypeError("Arrays are not supported by deepExtend");for(var r=0;r3&&void 0!==arguments[3]&&arguments[3];if(Array.isArray(o))throw new TypeError("Arrays are not supported by deepExtend");for(var r in o)if(o.hasOwnProperty(r)&&-1===t.indexOf(r))if(o[r]&&o[r].constructor===Object)void 0===i[r]&&(i[r]={}),i[r].constructor===Object?e.deepExtend(i[r],o[r]):n(i,o,r,s);else if(Array.isArray(o[r])){i[r]=[];for(var a=0;a2&&void 0!==arguments[2]&&arguments[2],s=arguments.length>3&&void 0!==arguments[3]&&arguments[3];for(var r in i)if(i.hasOwnProperty(r)||!0===o)if(i[r]&&i[r].constructor===Object)void 0===t[r]&&(t[r]={}),t[r].constructor===Object?e.deepExtend(t[r],i[r],o):n(t,i,r,s);else if(Array.isArray(i[r])){t[r]=[];for(var a=0;a=0&&(e="DOMMouseScroll"),t.addEventListener(e,i,o)):t.attachEvent("on"+e,i)},e.removeEventListener=function(t,e,i,o){t.removeEventListener?(void 0===o&&(o=!1),"mousewheel"===e&&navigator.userAgent.indexOf("Firefox")>=0&&(e="DOMMouseScroll"),t.removeEventListener(e,i,o)):t.detachEvent("on"+e,i)},e.preventDefault=function(t){t||(t=window.event),t.preventDefault?t.preventDefault():t.returnValue=!1},e.getTarget=function(t){t||(t=window.event);var e;return t.target?e=t.target:t.srcElement&&(e=t.srcElement),void 0!=e.nodeType&&3==e.nodeType&&(e=e.parentNode),e},e.hasParent=function(t,e){for(var i=t;i;){if(i===e)return!0;i=i.parentNode}return!1},e.option={},e.option.asBoolean=function(t,e){return"function"==typeof t&&(t=t()),null!=t?0!=t:e||null},e.option.asNumber=function(t,e){return"function"==typeof t&&(t=t()),null!=t?Number(t)||e||null:e||null},e.option.asString=function(t,e){return"function"==typeof t&&(t=t()),null!=t?String(t):e||null},e.option.asSize=function(t,i){return"function"==typeof t&&(t=t()),e.isString(t)?t:e.isNumber(t)?t+"px":i||null},e.option.asElement=function(t,e){return"function"==typeof t&&(t=t()),t||e||null},e.hexToRGB=function(t){var e=/^#?([a-f\d])([a-f\d])([a-f\d])$/i;t=t.replace(e,function(t,e,i,o){return e+e+i+i+o+o});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){var o;return-1!=t.indexOf("rgba")?t:-1!=t.indexOf("rgb")?(o=t.substr(t.indexOf("(")+1).replace(")","").split(","),"rgba("+o[0]+","+o[1]+","+o[2]+","+i+")"):(o=e.hexToRGB(t),null==o?t:"rgba("+o.r+","+o.g+","+o.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(!0===e.isString(t)){if(!0===e.isValidRGB(t)){var o=t.substr(4).substr(0,t.length-5).split(",").map(function(t){return parseInt(t)});t=e.RGBToHex(o[0],o[1],o[2])}if(!0===e.isValidHex(t)){var n=e.hexToHSV(t),s={h:n.h,s:.8*n.s,v:Math.min(1,1.02*n.v)},r={h:n.h,s:Math.min(1,1.25*n.s),v:.8*n.v},a=e.HSVToHex(r.h,r.s,r.v),h=e.HSVToHex(s.h,s.s,s.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||void 0,i.border=t.border||void 0,e.isString(t.highlight)?i.highlight={border:t.highlight,background:t.highlight}:(i.highlight={},i.highlight.background=t.highlight&&t.highlight.background||void 0,i.highlight.border=t.highlight&&t.highlight.border||void 0),e.isString(t.hover)?i.hover={border:t.hover,background:t.hover}:(i.hover={},i.hover.background=t.hover&&t.hover.background||void 0,i.hover.border=t.hover&&t.hover.border||void 0);return i},e.RGBToHSV=function(t,e,i){t/=255,e/=255,i/=255;var o=Math.min(t,Math.min(e,i)),n=Math.max(t,Math.max(e,i));if(o==n)return{h:0,s:0,v:o};var s=t==o?e-i:i==o?t-e:i-t;return{h:60*((t==o?3:i==o?1:5)-s/(n-o))/360,s:(n-o)/n,v:n}};var g={split:function(t){var e={};return t.split(";").forEach(function(t){if(""!=t.trim()){var i=t.split(":"),o=i[0].trim(),n=i[1].trim();e[o]=n}}),e},join:function(t){return(0,l.default)(t).map(function(e){return e+": "+t[e]}).join("; ")}};e.addCssText=function(t,i){var o=g.split(t.style.cssText),n=g.split(i),s=e.extend(o,n);t.style.cssText=g.join(s)},e.removeCssText=function(t,e){var i=g.split(t.style.cssText),o=g.split(e);for(var n in o)o.hasOwnProperty(n)&&delete i[n];t.style.cssText=g.join(i)},e.HSVToRGB=function(t,e,i){var o,n,s,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:o=i,n=l,s=h;break;case 1:o=d,n=i,s=h;break;case 2:o=h,n=i,s=l;break;case 3:o=h,n=d,s=i;break;case 4:o=l,n=h,s=i;break;case 5:o=i,n=h,s=d}return{r:Math.floor(255*o),g:Math.floor(255*n),b:Math.floor(255*s)}},e.HSVToHex=function(t,i,o){var n=e.HSVToRGB(t,i,o);return e.RGBToHex(n.r,n.g,n.b)},e.hexToHSV=function(t){var i=e.hexToRGB(t);return e.RGBToHSV(i.r,i.g,i.b)},e.isValidHex=function(t){return/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(t)},e.isValidRGB=function(t){return t=t.replace(" ",""),/rgb\((\d{1,3}),(\d{1,3}),(\d{1,3})\)/i.test(t)},e.isValidRGBA=function(t){return t=t.replace(" ",""),/rgba\((\d{1,3}),(\d{1,3}),(\d{1,3}),(.{1,3})\)/i.test(t)},e.selectiveBridgeObject=function(t,i){if(null!==i&&"object"===(void 0===i?"undefined":(0,p.default)(i))){for(var o=(0,h.default)(i),n=0;n0&&e(o,t[n-1])<0;n--)t[n]=t[n-1];t[n]=o}return t},e.mergeOptions=function(t,e,i){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},n=function(t){return null!==t&&void 0!==t},s=function(t){return null!==t&&"object"===(void 0===t?"undefined":(0,p.default)(t))};if(!s(t))throw new Error("Parameter mergeTarget must be an object");if(!s(e))throw new Error("Parameter options must be an object");if(!n(i))throw new Error("Parameter option must have a value");if(!s(o))throw new Error("Parameter globalOptions must be an object");var r=e[i],a=s(o)&&!function(t){for(var e in t)if(t.hasOwnProperty(e))return!1;return!0}(o),d=a?o[i]:void 0,l=d?d.enabled:void 0;if(void 0!==r){if("boolean"==typeof r)return s(t[i])||(t[i]={}),void(t[i].enabled=r);if(null===r&&!s(t[i])){if(!n(d))return;t[i]=(0,h.default)(d)}if(s(r)){var u=!0;void 0!==r.enabled?u=r.enabled:void 0!==l&&(u=d.enabled),function(t,e,i){s(t[i])||(t[i]={});var o=e[i],n=t[i];for(var r in o)o.hasOwnProperty(r)&&(n[r]=o[r])}(t,e,i),t[i].enabled=u}}},e.binarySearchCustom=function(t,e,i,o){for(var n=0,s=0,r=t.length-1;s<=r&&n<1e4;){var a=Math.floor((s+r)/2),h=t[a],d=void 0===o?h[i]:h[i][o],l=e(d);if(0==l)return a;-1==l?s=a+1:r=a-1,n++}return-1},e.binarySearchValue=function(t,e,i,o,n){var s,r,a,h,d=0,l=0,u=t.length-1;for(n=void 0!=n?n:function(t,e){return t==e?0:t0)return"before"==o?Math.max(0,h-1):h;if(n(r,e)<0&&n(a,e)>0)return"before"==o?h:Math.min(t.length-1,h+1);n(r,e)<0?l=h+1:u=h-1,d++}return-1},e.easingFunctions={linear:function(t){return t},easeInQuad:function(t){return t*t},easeOutQuad:function(t){return t*(2-t)},easeInOutQuad:function(t){return t<.5?2*t*t:(4-2*t)*t-1},easeInCubic:function(t){return t*t*t},easeOutCubic:function(t){return--t*t*t+1},easeInOutCubic:function(t){return t<.5?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 t<.5?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 t<.5?16*t*t*t*t*t:1+16*--t*t*t*t*t}},e.getScrollBarWidth=function(){var t=document.createElement("p");t.style.width="100%",t.style.height="200px";var e=document.createElement("div");e.style.position="absolute",e.style.top="0px",e.style.left="0px",e.style.visibility="hidden",e.style.width="200px",e.style.height="150px",e.style.overflow="hidden",e.appendChild(t),document.body.appendChild(e);var i=t.offsetWidth;e.style.overflow="scroll";var o=t.offsetWidth;return i==o&&(o=e.clientWidth),document.body.removeChild(e),i-o},e.topMost=function(t,e){var i=void 0;Array.isArray(e)||(e=[e]);var o=!0,n=!1,s=void 0;try{for(var a,h=(0,r.default)(t);!(o=(a=h.next()).done);o=!0){var d=a.value;if(d){i=d[e[0]];for(var l=1;l0?(o=e[t].redundant[0],e[t].redundant.shift()):(o=document.createElementNS("http://www.w3.org/2000/svg",t),i.appendChild(o)):(o=document.createElementNS("http://www.w3.org/2000/svg",t),e[t]={used:[],redundant:[]},i.appendChild(o)),e[t].used.push(o),o},e.getDOMElement=function(t,e,i,o){var n;return e.hasOwnProperty(t)?e[t].redundant.length>0?(n=e[t].redundant[0],e[t].redundant.shift()):(n=document.createElement(t),void 0!==o?i.insertBefore(n,o):i.appendChild(n)):(n=document.createElement(t),e[t]={used:[],redundant:[]},void 0!==o?i.insertBefore(n,o):i.appendChild(n)),e[t].used.push(n),n},e.drawPoint=function(t,i,o,n,s,r){var a;if("circle"==o.style?(a=e.getSVGElement("circle",n,s),a.setAttributeNS(null,"cx",t),a.setAttributeNS(null,"cy",i),a.setAttributeNS(null,"r",.5*o.size)):(a=e.getSVGElement("rect",n,s),a.setAttributeNS(null,"x",t-.5*o.size),a.setAttributeNS(null,"y",i-.5*o.size),a.setAttributeNS(null,"width",o.size),a.setAttributeNS(null,"height",o.size)),void 0!==o.styles&&a.setAttributeNS(null,"style",o.styles),a.setAttributeNS(null,"class",o.className+" vis-point"),r){var h=e.getSVGElement("text",n,s);r.xOffset&&(t+=r.xOffset),r.yOffset&&(i+=r.yOffset),r.content&&(h.textContent=r.content),r.className&&h.setAttributeNS(null,"class",r.className+" vis-label"),h.setAttributeNS(null,"x",t),h.setAttributeNS(null,"y",i)}return a},e.drawBar=function(t,i,o,n,s,r,a,h){if(0!=n){n<0&&(n*=-1,i-=n);var d=e.getSVGElement("rect",r,a);d.setAttributeNS(null,"x",t-.5*o),d.setAttributeNS(null,"y",i),d.setAttributeNS(null,"width",o),d.setAttributeNS(null,"height",n),d.setAttributeNS(null,"class",s),h&&d.setAttributeNS(null,"style",h)}}},function(t,e,i){function o(){var t=function(){};return{on:t,off:t,destroy:t,emit:t,get:function(e){return{set:t}}}}if("undefined"!=typeof window){var n=i(130),s=window.Hammer||i(131);t.exports=n(s,{preventDefault:"mouse"})}else t.exports=function(){return o()}},function(t,e,i){var o=i(91),n=i(35);t.exports=function(t){return o(n(t))}},function(t,e,i){var o=i(8),n=i(26);t.exports=i(9)?function(t,e,i){return o.f(t,e,n(1,i))}:function(t,e,i){return t[e]=i,t}},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}function n(t,e){if(t&&!Array.isArray(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=(0,l.default)(this._options.type),o=0,n=i.length;on?1:or)&&(s=h,r=d)}return s},n.prototype.min=function(t){var e,i,o=this._data,n=(0,l.default)(o),s=null,r=null;for(e=0,i=n.length;e=4*a){var p=0,c=s.clone();switch(o[h].repeat){case"daily":d.day()!=l.day()&&(p=1),d.dayOfYear(n.dayOfYear()),d.year(n.year()),d.subtract(7,"days"),l.dayOfYear(n.dayOfYear()),l.year(n.year()),l.subtract(7-p,"days"),c.add(1,"weeks");break;case"weekly":var m=l.diff(d,"days"),f=d.day();d.date(n.date()),d.month(n.month()),d.year(n.year()),l=d.clone(),d.day(f),l.day(f),l.add(m,"days"),d.subtract(1,"weeks"),l.subtract(1,"weeks"),c.add(1,"weeks");break;case"monthly":d.month()!=l.month()&&(p=1),d.month(n.month()),d.year(n.year()),d.subtract(1,"months"),l.month(n.month()),l.year(n.year()),l.subtract(1,"months"),l.add(p,"months"),c.add(1,"months");break;case"yearly":d.year()!=l.year()&&(p=1),d.year(n.year()),d.subtract(1,"years"),l.year(n.year()),l.subtract(1,"years"),l.add(p,"years"),c.add(1,"years");break;default:return void console.log("Wrong repeat format, allowed are: daily, weekly, monthly, yearly. Given:",o[h].repeat)}for(;d=e[o].start&&e[n].end<=e[o].end?e[n].remove=!0:e[n].start>=e[o].start&&e[n].start<=e[o].end?(e[o].end=e[n].end,e[n].remove=!0):e[n].end>=e[o].start&&e[n].end<=e[o].end&&(e[o].start=e[n].start,e[n].remove=!0));for(o=0;o=r&&nt.range.end){var h={start:t.range.start,end:i};return i=e.correctTimeForHidden(t.options.moment,t.body.hiddenDates,h,i),n=t.range.conversion(o,r),(i.valueOf()-n.offset)*n.scale}return i=e.correctTimeForHidden(t.options.moment,t.body.hiddenDates,t.range,i),n=t.range.conversion(o,r),(i.valueOf()-n.offset)*n.scale},e.toTime=function(t,i,o){if(0==t.body.hiddenDates.length){var n=t.range.conversion(o);return new Date(i/n.scale+n.offset)}var s=e.getHiddenDurationBetween(t.body.hiddenDates,t.range.start,t.range.end),r=t.range.end-t.range.start-s,a=r*i/o,h=e.getAccumulatedHiddenDuration(t.body.hiddenDates,t.range,a);return new Date(h+a+t.range.start)},e.getHiddenDurationBetween=function(t,e,i){for(var o=0,n=0;n=e&&r=e&&r<=i&&(o+=r-s)}return o},e.correctTimeForHidden=function(t,i,o,n){return n=t(n).toDate().valueOf(),n-=e.getHiddenDurationBefore(t,i,o,n)},e.getHiddenDurationBefore=function(t,e,i,o){var n=0;o=t(o).toDate().valueOf();for(var s=0;s=i.start&&a=a&&(n+=a-r)}return n},e.getAccumulatedHiddenDuration=function(t,e,i){for(var o=0,n=0,s=e.start,r=0;r=e.start&&h=i)break;o+=h-a}}return o},e.snapAwayFromHidden=function(t,i,o,n){var s=e.isHidden(i,t);return 1==s.hidden?o<0?1==n?s.startDate-(s.endDate-i)-1:s.startDate-1:1==n?s.endDate+(i-s.startDate)+1:s.endDate+1:i},e.isHidden=function(t,e){for(var i=0;i=o&&t0){var e=[];if(Array.isArray(this.options.dataAttributes))e=this.options.dataAttributes;else{if("all"!=this.options.dataAttributes)return;e=(0,h.default)(this.data)}for(var i=0;i=.4*g}if(this.options.showMinorLabels&&f){var D=this._repaintMinorText(p,y,t,b);D.style.width=_+"px"}m&&this.options.showMajorLabels?(p>0&&(void 0==w&&(w=p),D=this._repaintMajorText(p,s.getLabelMajor(),t,b)),v=this._repaintMajorLine(p,_,t,b)):f?v=this._repaintMinorLine(p,_,t,b):v&&(v.style.width=parseInt(v.style.width)+_+"px")}if(1e3!==x||u||(console.warn("Something is wrong with the Timeline scale. Limited drawing of grid lines to 1000 lines."),u=!0),this.options.showMajorLabels){var S=this.body.util.toTime(0),k=s.getLabelMajor(S),T=k.length*(this.props.majorCharWidth||10)+10;(void 0==w||Ts.distance?" in "+t.printLocation(n.path,e,"")+"Perhaps it was misplaced? Matching option found at: "+t.printLocation(s.path,s.closestMatch,""):n.distance<=8?'. Did you mean "'+n.closestMatch+'"?'+t.printLocation(n.path,e):". Did you mean one of these: "+t.print((0,d.default)(i))+t.printLocation(o,e),console.log('%cUnknown option detected: "'+e+'"'+r,v),f=!0}},{key:"findInOptions",value:function(e,i,o){var n=arguments.length>3&&void 0!==arguments[3]&&arguments[3],s=1e9,r="",a=[],h=e.toLowerCase(),d=void 0;for(var l in i){var u=void 0;if(void 0!==i[l].__type__&&!0===n){var p=t.findInOptions(e,i[l],m.copyAndExtendArray(o,l));s>p.distance&&(r=p.closestMatch,a=p.path,s=p.distance,d=p.indexMatch)}else-1!==l.toLowerCase().indexOf(h)&&(d=l),u=t.levenshteinDistance(e,l),s>u&&(r=l,a=m.copyArray(o),s=u)}return{closestMatch:r,path:a,distance:s,indexMatch:d}}},{key:"printLocation",value:function(t,e){for(var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"Problem value found at: \n",o="\n\n"+i+"options = {\n",n=0;ndocument.F=Object<\/script>"),t.close(),h=t.F;o--;)delete h.prototype[s[o]];return h()};t.exports=Object.create||function(t,e){var i;return null!==t?(a.prototype=o(t),i=new a,a.prototype=null,i[r]=t):i=h(),void 0===e?i:n(i,e)}},function(t,e){var i=Math.ceil,o=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?o:i)(t)}},function(t,e,i){var o=i(40)("keys"),n=i(28);t.exports=function(t){return o[t]||(o[t]=n(t))}},function(t,e,i){var o=i(2),n=i(6),s=n["__core-js_shared__"]||(n["__core-js_shared__"]={});(t.exports=function(t,e){return s[t]||(s[t]=void 0!==e?e:{})})("versions",[]).push({version:o.version,mode:i(25)?"pure":"global",copyright:"© 2018 Denis Pushkarev (zloirock.ru)"})},function(t,e){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(t,e,i){var o=i(8).f,n=i(10),s=i(7)("toStringTag");t.exports=function(t,e,i){t&&!n(t=i?t:t.prototype,s)&&o(t,s,{configurable:!0,value:e})}},function(t,e,i){t.exports={default:i(105),__esModule:!0}},function(t,e,i){e.f=i(7)},function(t,e,i){var o=i(6),n=i(2),s=i(25),r=i(44),a=i(8).f;t.exports=function(t){var e=n.Symbol||(n.Symbol=s?{}:o.Symbol||{});"_"==t.charAt(0)||t in e||a(e,t,{value:r.f(t)})}},function(t,e){e.f={}.propertyIsEnumerable},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}function n(t,e){var i=c().hours(0).minutes(0).seconds(0).milliseconds(0),o=i.clone().add(-3,"days").valueOf(),n=i.clone().add(3,"days").valueOf();this.millisecondsPerPixelCache=void 0,void 0===e?(this.start=o,this.end=n):(this.start=e.start||o,this.end=e.end||n),this.rolling=!1,this.body=t,this.deltaDifference=0,this.scaleOffset=0,this.startToFront=!1,this.endToFront=!0,this.defaultOptions={rtl:!1,start:null,end:null,moment:c,direction:"horizontal",moveable:!0,zoomable:!0,min:null,max:null,zoomMin:10,zoomMax:31536e10,rollingMode:{follow:!1,offset:.5}},this.options=p.extend({},this.defaultOptions),this.props={touch:{}},this.animationTimer=null,this.body.emitter.on("panstart",this._onDragStart.bind(this)),this.body.emitter.on("panmove",this._onDrag.bind(this)),this.body.emitter.on("panend",this._onDragEnd.bind(this)),this.body.emitter.on("mousewheel",this._onMouseWheel.bind(this)),this.body.emitter.on("touch",this._onTouch.bind(this)),this.body.emitter.on("pinch",this._onPinch.bind(this)),this.body.dom.rollingModeBtn.addEventListener("click",this.startRolling.bind(this)),this.setOptions(e)}function s(t){if("horizontal"!=t&&"vertical"!=t)throw new TypeError('Unknown direction "'+t+'". Choose "horizontal" or "vertical".')}var r=i(4),a=o(r),h=i(16),d=o(h),l=i(1),u=o(l),p=i(0),c=i(3),m=i(5),f=i(22);n.prototype=new m,n.prototype.setOptions=function(t){if(t){var e=["animation","direction","min","max","zoomMin","zoomMax","moveable","zoomable","moment","activate","hiddenDates","zoomKey","rtl","showCurrentTime","rollingMode","horizontalScroll"];p.selectiveExtend(e,this.options,t),t.rollingMode&&t.rollingMode.follow&&this.startRolling(),("start"in t||"end"in t)&&this.setRange(t.start,t.end)}},n.prototype.startRolling=function(){function t(){e.stopRolling(),e.rolling=!0;var i=e.end-e.start,o=p.convert(new Date,"Date").valueOf(),n=o-i*e.options.rollingMode.offset,s=o+i*(1-e.options.rollingMode.offset),r={animation:!1};e.setRange(n,s,r),i=1/e.conversion(e.body.domProps.center.width).scale/10,i<30&&(i=30),i>1e3&&(i=1e3),e.body.dom.rollingModeBtn.style.visibility="hidden",e.currentTimeTimer=setTimeout(t,i)}var e=this;t()},n.prototype.stopRolling=function(){void 0!==this.currentTimeTimer&&(clearTimeout(this.currentTimeTimer),this.rolling=!1,this.body.dom.rollingModeBtn.style.visibility="visible")},n.prototype.setRange=function(t,e,i,o,n){i||(i={}),!0!==i.byUser&&(i.byUser=!1);var s=this,r=void 0!=t?p.convert(t,"Date").valueOf():null,h=void 0!=e?p.convert(e,"Date").valueOf():null;if(this._cancelAnimation(),this.millisecondsPerPixelCache=void 0,i.animation){var l=this.start,c=this.end,m="object"===(0,u.default)(i.animation)&&"duration"in i.animation?i.animation.duration:500,g="object"===(0,u.default)(i.animation)&&"easingFunction"in i.animation?i.animation.easingFunction:"easeInOutQuad",v=p.easingFunctions[g];if(!v)throw new Error("Unknown easing function "+(0,d.default)(g)+". Choose from: "+(0,a.default)(p.easingFunctions).join(", "));var y=(new Date).valueOf(),b=!1;return function t(){if(!s.props.touch.dragging){var e=(new Date).valueOf(),a=e-y,d=v(a/m),u=a>m,p=u||null===r?r:l+(r-l)*d,g=u||null===h?h:c+(h-c)*d;_=s._applyRange(p,g),f.updateHiddenDates(s.options.moment,s.body,s.options.hiddenDates),b=b||_;var w={start:new Date(s.start),end:new Date(s.end),byUser:i.byUser,event:i.event};if(n&&n(d,_,u),_&&s.body.emitter.emit("rangechange",w),u){if(b&&(s.body.emitter.emit("rangechanged",w),o))return o()}else s.animationTimer=setTimeout(t,20)}}()}var _=this._applyRange(r,h);if(f.updateHiddenDates(this.options.moment,this.body,this.options.hiddenDates),_){var w={start:new Date(this.start),end:new Date(this.end),byUser:i.byUser,event:i.event};if(this.body.emitter.emit("rangechange",w),clearTimeout(s.timeoutID),s.timeoutID=setTimeout(function(){s.body.emitter.emit("rangechanged",w)},200),o)return o()}},n.prototype.getMillisecondsPerPixel=function(){return void 0===this.millisecondsPerPixelCache&&(this.millisecondsPerPixelCache=(this.end-this.start)/this.body.dom.center.clientWidth),this.millisecondsPerPixelCache},n.prototype._cancelAnimation=function(){this.animationTimer&&(clearTimeout(this.animationTimer),this.animationTimer=null)},n.prototype._applyRange=function(t,e){var i,o=null!=t?p.convert(t,"Date").valueOf():this.start,n=null!=e?p.convert(e,"Date").valueOf():this.end,s=null!=this.options.max?p.convert(this.options.max,"Date").valueOf():null,r=null!=this.options.min?p.convert(this.options.min,"Date").valueOf():null;if(isNaN(o)||null===o)throw new Error('Invalid start "'+t+'"');if(isNaN(n)||null===n)throw new Error('Invalid end "'+e+'"');if(ns&&(n=s)),null!==s&&n>s&&(i=n-s,o-=i,n-=i,null!=r&&o=this.start-.5&&n<=this.end?(o=this.start,n=this.end):(i=a-(n-o),o-=i/2,n+=i/2)}}if(null!==this.options.zoomMax){var h=parseFloat(this.options.zoomMax);h<0&&(h=0),n-o>h&&(this.end-this.start===h&&othis.end?(o=this.start,n=this.end):(i=n-o-h,o+=i/2,n-=i/2))}var d=this.start!=o||this.end!=n;return o>=this.start&&o<=this.end||n>=this.start&&n<=this.end||this.start>=o&&this.start<=n||this.end>=o&&this.end<=n||this.body.emitter.emit("checkRangedItems"),this.start=o,this.end=n,d},n.prototype.getRange=function(){return{start:this.start,end:this.end}},n.prototype.conversion=function(t,e){return n.conversion(this.start,this.end,t,e)},n.conversion=function(t,e,i,o){return void 0===o&&(o=0),0!=i&&e-t!=0?{offset:t,scale:i/(e-t-o)}:{offset:0,scale:1}},n.prototype._onDragStart=function(t){this.deltaDifference=0,this.previousDelta=0,this.options.moveable&&this._isInsideRange(t)&&this.props.touch.allowDragging&&(this.stopRolling(),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"))},n.prototype._onDrag=function(t){if(t&&this.props.touch.dragging&&this.options.moveable&&this.props.touch.allowDragging){var e=this.options.direction;s(e);var i="horizontal"==e?t.deltaX:t.deltaY;i-=this.deltaDifference;var o=this.props.touch.end-this.props.touch.start;o-=f.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end);var n,r="horizontal"==e?this.body.domProps.center.width:this.body.domProps.center.height;n=this.options.rtl?i/r*o:-i/r*o;var a=this.props.touch.start+n,h=this.props.touch.end+n,d=f.snapAwayFromHidden(this.body.hiddenDates,a,this.previousDelta-i,!0),l=f.snapAwayFromHidden(this.body.hiddenDates,h,this.previousDelta-i,!0);if(d!=a||l!=h)return this.deltaDifference+=i,this.props.touch.start=d,this.props.touch.end=l,void this._onDrag(t);this.previousDelta=i,this._applyRange(a,h);var u=new Date(this.start),p=new Date(this.end);this.body.emitter.emit("rangechange",{start:u,end:p,byUser:!0,event:t}),this.body.emitter.emit("panmove")}},n.prototype._onDragEnd=function(t){this.props.touch.dragging&&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,event:t}))},n.prototype._onMouseWheel=function(t){var e=0;if(t.wheelDelta?e=t.wheelDelta/120:t.detail&&(e=-t.detail/3),!(this.options.zoomKey&&!t[this.options.zoomKey]&&this.options.zoomable||!this.options.zoomable&&this.options.moveable)&&this.options.zoomable&&this.options.moveable&&this._isInsideRange(t)&&e){var i;i=e<0?1-e/5:1/(1+e/5);var o;if(this.rolling)o=this.start+(this.end-this.start)*this.options.rollingMode.offset;else{var n=this.getPointer({x:t.clientX,y:t.clientY},this.body.dom.center);o=this._pointerToDate(n)}this.zoom(i,o,e,t),t.preventDefault()}},n.prototype._onTouch=function(t){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,p.preventDefault(t)},n.prototype._onPinch=function(t){if(this.options.zoomable&&this.options.moveable){p.preventDefault(t),this.props.touch.allowDragging=!1,this.props.touch.center||(this.props.touch.center=this.getPointer(t.center,this.body.dom.center)),this.stopRolling();var e=1/(t.scale+this.scaleOffset),i=this._pointerToDate(this.props.touch.center),o=f.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end),n=f.getHiddenDurationBefore(this.options.moment,this.body.hiddenDates,this,i),s=o-n,r=i-n+(this.props.touch.start-(i-n))*e,a=i+s+(this.props.touch.end-(i+s))*e;this.startToFront=1-e<=0,this.endToFront=e-1<=0;var h=f.snapAwayFromHidden(this.body.hiddenDates,r,1-e,!0),d=f.snapAwayFromHidden(this.body.hiddenDates,a,e-1,!0);h==r&&d==a||(this.props.touch.start=h,this.props.touch.end=d,this.scaleOffset=1-t.scale,r=h,a=d);var l={animation:!1,byUser:!0,event:t};this.setRange(r,a,l),this.startToFront=!1,this.endToFront=!0}},n.prototype._isInsideRange=function(t){var e,i=t.center?t.center.x:t.clientX;e=this.options.rtl?i-p.getAbsoluteLeft(this.body.dom.centerContainer):p.getAbsoluteRight(this.body.dom.centerContainer)-i;var o=this.body.util.toTime(e);return o>=this.start&&o<=this.end},n.prototype._pointerToDate=function(t){var e,i=this.options.direction;if(s(i),"horizontal"==i)return this.body.util.toTime(t.x).valueOf();var o=this.body.domProps.center.height;return e=this.conversion(o),t.y/e.scale+e.offset},n.prototype.getPointer=function(t,e){return this.options.rtl?{x:p.getAbsoluteRight(e)-t.x,y:t.y-p.getAbsoluteTop(e)}:{x:t.x-p.getAbsoluteLeft(e),y:t.y-p.getAbsoluteTop(e)}},n.prototype.zoom=function(t,e,i,o){null==e&&(e=(this.start+this.end)/2);var n=f.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end),s=f.getHiddenDurationBefore(this.options.moment,this.body.hiddenDates,this,e),r=n-s,a=e-s+(this.start-(e-s))*t,h=e+r+(this.end-(e+r))*t;this.startToFront=!(i>0),this.endToFront=!(-i>0);var d=f.snapAwayFromHidden(this.body.hiddenDates,a,i,!0),l=f.snapAwayFromHidden(this.body.hiddenDates,h,-i,!0);d==a&&l==h||(a=d,h=l);var u={animation:!1,byUser:!0,event:o};this.setRange(a,h,u),this.startToFront=!1,this.endToFront=!0},n.prototype.move=function(t){var e=this.end-this.start,i=this.start+e*t,o=this.end+e*t;this.start=i,this.end=o},n.prototype.moveTo=function(t){var e=(this.start+this.end)/2,i=e-t,o=this.start-i,n=this.end-i,s={animation:!1,byUser:!0,event:null};this.setRange(o,n,s)},t.exports=n},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}function n(){}var s=i(16),r=o(s),a=i(1),h=o(a),d=i(66),l=i(12),u=i(67),p=i(0),c=i(29),m=i(132),f=i(22),g=i(30);d(n.prototype),n.prototype._create=function(t){function e(t){this.isActive()&&this.emit("mousewheel",t);var e=0,i=0;if("detail"in t&&(i=-1*t.detail),"wheelDelta"in t&&(i=t.wheelDelta),"wheelDeltaY"in t&&(i=t.wheelDeltaY),"wheelDeltaX"in t&&(e=-1*t.wheelDeltaX),"axis"in t&&t.axis===t.HORIZONTAL_AXIS&&(e=-1*i,i=0),"deltaY"in t&&(i=-1*t.deltaY),"deltaX"in t&&(e=t.deltaX),this.options.zoomKey&&!t[this.options.zoomKey])if(t.preventDefault(),this.options.verticalScroll&&Math.abs(i)>=Math.abs(e)){var o=this.props.scrollTop,n=o+i;this.isActive()&&(this._setScrollTop(n),this._redraw(),this.emit("scroll",t))}else if(this.options.horizontalScroll){var s=Math.abs(e)>=Math.abs(i)?e:i,r=s/120*(this.range.end-this.range.start)/20,a=this.range.start+r,h=this.range.end+r,d={animation:!1,byUser:!0,event:t};this.range.setRange(a,h,d)}}function i(t){if(s.options.verticalScroll&&(t.preventDefault(),s.isActive())){var e=-t.target.scrollTop;s._setScrollTop(e),s._redraw(),s.emit("scrollSide",t)}}function o(t){if(t.preventDefault&&t.preventDefault(),!(!t.target.className.indexOf("vis")>-1||a))return t.dataTransfer.dropEffect="move",a=!0,!1}function n(t){t.preventDefault&&t.preventDefault(),t.stopPropagation&&t.stopPropagation();try{var e=JSON.parse(t.dataTransfer.getData("text"));if(!e||!e.content)return}catch(t){return!1}return a=!1,t.center={x:t.clientX,y:t.clientY},"item"!==e.target?s.itemSet._onAddItem(t):s.itemSet._onDropObjectOnItem(t),s.emit("drop",s.getEventProperties(t)),!1}this.dom={},this.dom.container=t,this.dom.root=document.createElement("div"),this.dom.background=document.createElement("div"),this.dom.backgroundVertical=document.createElement("div"),this.dom.backgroundHorizontal=document.createElement("div"),this.dom.centerContainer=document.createElement("div"),this.dom.leftContainer=document.createElement("div"),this.dom.rightContainer=document.createElement("div"),this.dom.center=document.createElement("div"),this.dom.left=document.createElement("div"),this.dom.right=document.createElement("div"),this.dom.top=document.createElement("div"),this.dom.bottom=document.createElement("div"),this.dom.shadowTop=document.createElement("div"),this.dom.shadowBottom=document.createElement("div"),this.dom.shadowTopLeft=document.createElement("div"),this.dom.shadowBottomLeft=document.createElement("div"),this.dom.shadowTopRight=document.createElement("div"),this.dom.shadowBottomRight=document.createElement("div"),this.dom.rollingModeBtn=document.createElement("div"),this.dom.root.className="vis-timeline",this.dom.background.className="vis-panel vis-background",this.dom.backgroundVertical.className="vis-panel vis-background vis-vertical",this.dom.backgroundHorizontal.className="vis-panel vis-background vis-horizontal",this.dom.centerContainer.className="vis-panel vis-center",this.dom.leftContainer.className="vis-panel vis-left",this.dom.rightContainer.className="vis-panel vis-right",this.dom.top.className="vis-panel vis-top",this.dom.bottom.className="vis-panel vis-bottom",this.dom.left.className="vis-content",this.dom.center.className="vis-content",this.dom.right.className="vis-content",this.dom.shadowTop.className="vis-shadow vis-top",this.dom.shadowBottom.className="vis-shadow vis-bottom",this.dom.shadowTopLeft.className="vis-shadow vis-top",this.dom.shadowBottomLeft.className="vis-shadow vis-bottom",this.dom.shadowTopRight.className="vis-shadow vis-top",this.dom.shadowBottomRight.className="vis-shadow vis-bottom",this.dom.rollingModeBtn.className="vis-rolling-mode-btn",this.dom.root.appendChild(this.dom.background),this.dom.root.appendChild(this.dom.backgroundVertical),this.dom.root.appendChild(this.dom.backgroundHorizontal),this.dom.root.appendChild(this.dom.centerContainer),this.dom.root.appendChild(this.dom.leftContainer),this.dom.root.appendChild(this.dom.rightContainer),this.dom.root.appendChild(this.dom.top),this.dom.root.appendChild(this.dom.bottom),this.dom.root.appendChild(this.dom.bottom),this.dom.root.appendChild(this.dom.rollingModeBtn),this.dom.centerContainer.appendChild(this.dom.center),this.dom.leftContainer.appendChild(this.dom.left),this.dom.rightContainer.appendChild(this.dom.right),this.dom.centerContainer.appendChild(this.dom.shadowTop),this.dom.centerContainer.appendChild(this.dom.shadowBottom),this.dom.leftContainer.appendChild(this.dom.shadowTopLeft),this.dom.leftContainer.appendChild(this.dom.shadowBottomLeft),this.dom.rightContainer.appendChild(this.dom.shadowTopRight),this.dom.rightContainer.appendChild(this.dom.shadowBottomRight),this.props={root:{},background:{},centerContainer:{},leftContainer:{},rightContainer:{},center:{},left:{},right:{},top:{},bottom:{},border:{},scrollTop:0,scrollTopMin:0},this.on("rangechange",function(){!0===this.initialDrawDone&&this._redraw()}.bind(this)),this.on("rangechanged",function(){this.initialRangeChangeDone||(this.initialRangeChangeDone=!0)}.bind(this)),this.on("touch",this._onTouch.bind(this)),this.on("panmove",this._onDrag.bind(this));var s=this;this._origRedraw=this._redraw.bind(this),this._redraw=p.throttle(this._origRedraw),this.on("_change",function(t){s.itemSet&&s.itemSet.initialItemSetDrawn&&t&&1==t.queue?s._redraw():s._origRedraw()}),this.hammer=new l(this.dom.root);var r=this.hammer.get("pinch").set({enable:!0});u.disablePreventDefaultVertically(r),this.hammer.get("pan").set({threshold:5,direction:l.DIRECTION_HORIZONTAL}),this.listeners={},["tap","doubletap","press","pinch","pan","panstart","panmove","panend"].forEach(function(t){var e=function(e){s.isActive()&&s.emit(t,e)};s.hammer.on(t,e),s.listeners[t]=e}),u.onTouch(this.hammer,function(t){s.emit("touch",t)}.bind(this)),u.onRelease(this.hammer,function(t){s.emit("release",t)}.bind(this)),this.dom.centerContainer.addEventListener?(this.dom.centerContainer.addEventListener("mousewheel",e.bind(this),!1),this.dom.centerContainer.addEventListener("DOMMouseScroll",e.bind(this),!1)):this.dom.centerContainer.attachEvent("onmousewheel",e.bind(this)),this.dom.left.parentNode.addEventListener("scroll",i.bind(this)),this.dom.right.parentNode.addEventListener("scroll",i.bind(this));var a=!1;if(this.dom.center.addEventListener("dragover",o.bind(this),!1),this.dom.center.addEventListener("drop",n.bind(this),!1),this.customTimes=[],this.touch={},this.redrawCount=0,this.initialDrawDone=!1,this.initialRangeChangeDone=!1,!t)throw new Error("No container provided");t.appendChild(this.dom.root)},n.prototype.setOptions=function(t){if(t){var e=["width","height","minHeight","maxHeight","autoResize","start","end","clickToUse","dataAttributes","hiddenDates","locale","locales","moment","rtl","zoomKey","horizontalScroll","verticalScroll"];if(p.selectiveExtend(e,this.options,t),this.dom.rollingModeBtn.style.visibility="hidden",this.options.rtl&&(this.dom.container.style.direction="rtl",this.dom.backgroundVertical.className="vis-panel vis-background vis-vertical-rtl"),this.options.verticalScroll&&(this.options.rtl?this.dom.rightContainer.className="vis-panel vis-right vis-vertical-scroll":this.dom.leftContainer.className="vis-panel vis-left vis-vertical-scroll"),"object"!==(0,h.default)(this.options.orientation)&&(this.options.orientation={item:void 0,axis:void 0}),"orientation"in t&&("string"==typeof t.orientation?this.options.orientation={item:t.orientation,axis:t.orientation}:"object"===(0,h.default)(t.orientation)&&("item"in t.orientation&&(this.options.orientation.item=t.orientation.item),"axis"in t.orientation&&(this.options.orientation.axis=t.orientation.axis))),"both"===this.options.orientation.axis){if(!this.timeAxis2){var i=this.timeAxis2=new c(this.body);i.setOptions=function(t){var e=t?p.extend({},t):{};e.orientation="top",c.prototype.setOptions.call(i,e)},this.components.push(i)}}else if(this.timeAxis2){var o=this.components.indexOf(this.timeAxis2);-1!==o&&this.components.splice(o,1),this.timeAxis2.destroy(),this.timeAxis2=null}if("function"==typeof t.drawPoints&&(t.drawPoints={onRender:t.drawPoints}),"hiddenDates"in this.options&&f.convertHiddenOptions(this.options.moment,this.body,this.options.hiddenDates),"clickToUse"in t&&(t.clickToUse?this.activator||(this.activator=new m(this.dom.root)):this.activator&&(this.activator.destroy(),delete this.activator)),"showCustomTime"in t)throw new Error("Option `showCustomTime` is deprecated. Create a custom time bar via timeline.addCustomTime(time [, id])");this._initAutoResize()}if(this.components.forEach(function(e){return e.setOptions(t)}),"configure"in t){this.configurator||(this.configurator=this._createConfigurator()),this.configurator.setOptions(t.configure);var n=p.deepExtend({},this.options);this.components.forEach(function(t){p.deepExtend(n,t.options)}),this.configurator.setModuleOptions({global:n})}this._redraw()},n.prototype.isActive=function(){return!this.activator||this.activator.active},n.prototype.destroy=function(){this.setItems(null),this.setGroups(null),this.off(),this._stopAutoResize(),this.dom.root.parentNode&&this.dom.root.parentNode.removeChild(this.dom.root),this.dom=null,this.activator&&(this.activator.destroy(),delete this.activator);for(var t in this.listeners)this.listeners.hasOwnProperty(t)&&delete this.listeners[t];this.listeners=null,this.hammer=null,this.components.forEach(function(t){return t.destroy()}),this.body=null},n.prototype.setCustomTime=function(t,e){var i=this.customTimes.filter(function(t){return e===t.options.id});if(0===i.length)throw new Error("No custom time bar found with id "+(0,r.default)(e));i.length>0&&i[0].setCustomTime(t)},n.prototype.getCustomTime=function(t){var e=this.customTimes.filter(function(e){return e.options.id===t});if(0===e.length)throw new Error("No custom time bar found with id "+(0,r.default)(t));return e[0].getCustomTime()},n.prototype.setCustomTimeTitle=function(t,e){var i=this.customTimes.filter(function(t){return t.options.id===e});if(0===i.length)throw new Error("No custom time bar found with id "+(0,r.default)(e));if(i.length>0)return i[0].setCustomTitle(t)},n.prototype.getEventProperties=function(t){return{event:t}},n.prototype.addCustomTime=function(t,e){var i=void 0!==t?p.convert(t,"Date").valueOf():new Date;if(this.customTimes.some(function(t){return t.options.id===e}))throw new Error("A custom time with id "+(0,r.default)(e)+" already exists");var o=new g(this.body,p.extend({},this.options,{time:i,id:e}));return this.customTimes.push(o),this.components.push(o),this._redraw(),e},n.prototype.removeCustomTime=function(t){var e=this.customTimes.filter(function(e){return e.options.id===t});if(0===e.length)throw new Error("No custom time bar found with id "+(0,r.default)(t));e.forEach(function(t){this.customTimes.splice(this.customTimes.indexOf(t),1),this.components.splice(this.components.indexOf(t),1),t.destroy()}.bind(this))},n.prototype.getVisibleItems=function(){return this.itemSet&&this.itemSet.getVisibleItems()||[]},n.prototype.fit=function(t,e){var i=this.getDataRange();if(null!==i.min||null!==i.max){var o=i.max-i.min,n=new Date(i.min.valueOf()-.01*o),s=new Date(i.max.valueOf()+.01*o),r=!t||void 0===t.animation||t.animation;this.range.setRange(n,s,{animation:r},e)}},n.prototype.getDataRange=function(){throw new Error("Cannot invoke abstract method getDataRange")},n.prototype.setWindow=function(t,e,i,o){"function"==typeof arguments[2]&&(o=arguments[2],i={});var n,s;1==arguments.length?(s=arguments[0],n=void 0===s.animation||s.animation,this.range.setRange(s.start,s.end,{animation:n})):2==arguments.length&&"function"==typeof arguments[1]?(s=arguments[0],o=arguments[1],n=void 0===s.animation||s.animation,this.range.setRange(s.start,s.end,{animation:n},o)):(n=!i||void 0===i.animation||i.animation,this.range.setRange(t,e,{animation:n},o))},n.prototype.moveTo=function(t,e,i){"function"==typeof arguments[1]&&(i=arguments[1],e={});var o=this.range.end-this.range.start,n=p.convert(t,"Date").valueOf(),s=n-o/2,r=n+o/2,a=!e||void 0===e.animation||e.animation;this.range.setRange(s,r,{animation:a},i)},n.prototype.getWindow=function(){var t=this.range.getRange();return{start:new Date(t.start),end:new Date(t.end)}},n.prototype.zoomIn=function(t,e,i){if(!(!t||t<0||t>1)){"function"==typeof arguments[1]&&(i=arguments[1],e={});var o=this.getWindow(),n=o.start.valueOf(),s=o.end.valueOf(),r=s-n,a=r/(1+t),h=(r-a)/2,d=n+h,l=s-h;this.setWindow(d,l,e,i)}},n.prototype.zoomOut=function(t,e,i){if(!(!t||t<0||t>1)){"function"==typeof arguments[1]&&(i=arguments[1],e={});var o=this.getWindow(),n=o.start.valueOf(),s=o.end.valueOf(),r=s-n,a=n-r*t/2,h=s+r*t/2;this.setWindow(a,h,e,i)}},n.prototype.redraw=function(){this._redraw()},n.prototype._redraw=function(){this.redrawCount++;var t=!1,e=this.options,i=this.props,o=this.dom;if(o&&o.container&&0!=o.root.offsetWidth){f.updateHiddenDates(this.options.moment,this.body,this.options.hiddenDates),"top"==e.orientation?(p.addClassName(o.root,"vis-top"),p.removeClassName(o.root,"vis-bottom")):(p.removeClassName(o.root,"vis-top"),p.addClassName(o.root,"vis-bottom")),o.root.style.maxHeight=p.option.asSize(e.maxHeight,""),o.root.style.minHeight=p.option.asSize(e.minHeight,""),o.root.style.width=p.option.asSize(e.width,""),i.border.left=(o.centerContainer.offsetWidth-o.centerContainer.clientWidth)/2,console.log("props.border.left: "+i.border.left),i.border.right=i.border.left,i.border.top=(o.centerContainer.offsetHeight-o.centerContainer.clientHeight)/2,i.border.bottom=i.border.top,console.log("props.border.top: "+i.border.top),i.borderRootHeight=o.root.offsetHeight-o.root.clientHeight,i.borderRootWidth=o.root.offsetWidth-o.root.clientWidth,console.log("props.borderRootHeight: "+i.borderRootHeight),0===o.centerContainer.clientHeight&&(i.border.left=i.border.top,i.border.right=i.border.left),0===o.root.clientHeight&&(i.borderRootWidth=i.borderRootHeight),i.center.height=o.center.offsetHeight,i.left.height=o.left.offsetHeight,i.right.height=o.right.offsetHeight,i.top.height=o.top.clientHeight||-i.border.top,i.bottom.height=o.bottom.clientHeight||-i.border.bottom;var n=Math.max(i.left.height,i.center.height,i.right.height),s=i.top.height+n+i.bottom.height+i.borderRootHeight+i.border.top+i.border.bottom;o.root.style.height=p.option.asSize(e.height,s+"px"),i.root.height=o.root.offsetHeight,i.background.height=i.root.height-i.borderRootHeight;var r=i.root.height-i.top.height-i.bottom.height-i.borderRootHeight;i.centerContainer.height=r,i.leftContainer.height=r,i.rightContainer.height=i.leftContainer.height,i.root.width=o.root.offsetWidth,i.background.width=i.root.width-i.borderRootWidth,this.initialDrawDone||(i.scrollbarWidth=p.getScrollBarWidth()),e.verticalScroll?e.rtl?(i.left.width=o.leftContainer.clientWidth||-i.border.left,i.right.width=o.rightContainer.clientWidth+i.scrollbarWidth||-i.border.right):(i.left.width=o.leftContainer.clientWidth+i.scrollbarWidth||-i.border.left,i.right.width=o.rightContainer.clientWidth||-i.border.right):(i.left.width=o.leftContainer.clientWidth||-i.border.left,i.right.width=o.rightContainer.clientWidth||-i.border.right),this._setDOM();var a=this._updateScrollTop();"top"!=e.orientation.item&&(a+=Math.max(i.centerContainer.height-i.center.height-i.border.top-i.border.bottom,0)),o.center.style.top=a+"px";var h=0==i.scrollTop?"hidden":"",d=i.scrollTop==i.scrollTopMin?"hidden":"";o.shadowTop.style.visibility=h,o.shadowBottom.style.visibility=d,o.shadowTopLeft.style.visibility=h,o.shadowBottomLeft.style.visibility=d,o.shadowTopRight.style.visibility=h,o.shadowBottomRight.style.visibility=d,e.verticalScroll&&(o.rightContainer.className="vis-panel vis-right vis-vertical-scroll",o.leftContainer.className="vis-panel vis-left vis-vertical-scroll",o.shadowTopRight.style.visibility="hidden",o.shadowBottomRight.style.visibility="hidden",o.shadowTopLeft.style.visibility="hidden",o.shadowBottomLeft.style.visibility="hidden",o.left.style.top="0px",o.right.style.top="0px"),(!e.verticalScroll||i.center.heighti.centerContainer.height;this.hammer.get("pan").set({direction:u?l.DIRECTION_ALL:l.DIRECTION_HORIZONTAL}),this.components.forEach(function(e){t=e.redraw()||t});if(t){if(this.redrawCount<2)return void this.body.emitter.emit("_change");console.log("WARNING: infinite loop in redraw? ...")}else this.redrawCount=0;this.body.emitter.emit("changed")}},n.prototype._setDOM=function(){var t=this.props,e=this.dom;t.leftContainer.width=t.left.width,t.rightContainer.width=t.right.width;var i=t.root.width-t.left.width-t.right.width-t.borderRootWidth;t.center.width=i,t.centerContainer.width=i,t.top.width=i,t.bottom.width=i,e.background.style.height=t.background.height+"px",e.backgroundVertical.style.height=t.background.height+"px",e.backgroundHorizontal.style.height=t.centerContainer.height+"px",e.centerContainer.style.height=t.centerContainer.height+"px",e.leftContainer.style.height=t.leftContainer.height+"px",e.rightContainer.style.height=t.rightContainer.height+"px",e.background.style.width=t.background.width+"px",e.backgroundVertical.style.width=t.centerContainer.width+"px",e.backgroundHorizontal.style.width=t.background.width+"px",e.centerContainer.style.width=t.center.width+"px",e.top.style.width=t.top.width+"px",e.bottom.style.width=t.bottom.width+"px",e.background.style.left="0",e.background.style.top="0",e.backgroundVertical.style.left=t.left.width+t.border.left+"px",e.backgroundVertical.style.top="0",e.backgroundHorizontal.style.left="0",e.backgroundHorizontal.style.top=t.top.height+"px",e.centerContainer.style.left=t.left.width+"px",e.centerContainer.style.top=t.top.height+"px",e.leftContainer.style.left="0",e.leftContainer.style.top=t.top.height+"px",e.rightContainer.style.left=t.left.width+t.center.width+"px",e.rightContainer.style.top=t.top.height+"px",e.top.style.left=t.left.width+"px",e.top.style.top="0",e.bottom.style.left=t.left.width+"px",e.bottom.style.top=t.top.height+t.centerContainer.height+"px",e.center.style.left="0",e.left.style.left="0",e.right.style.left="0"},n.prototype.repaint=function(){throw new Error("Function repaint is deprecated. Use redraw instead.")},n.prototype.setCurrentTime=function(t){if(!this.currentTime)throw new Error("Option showCurrentTime must be true");this.currentTime.setCurrentTime(t)},n.prototype.getCurrentTime=function(){if(!this.currentTime)throw new Error("Option showCurrentTime must be true");return this.currentTime.getCurrentTime()},n.prototype._toTime=function(t){return f.toTime(this,t,this.props.center.width)},n.prototype._toGlobalTime=function(t){return f.toTime(this,t,this.props.root.width)},n.prototype._toScreen=function(t){return f.toScreen(this,t,this.props.center.width)},n.prototype._toGlobalScreen=function(t){return f.toScreen(this,t,this.props.root.width)},n.prototype._initAutoResize=function(){1==this.options.autoResize?this._startAutoResize():this._stopAutoResize()},n.prototype._startAutoResize=function(){var t=this;this._stopAutoResize(),this._onResize=function(){if(1!=t.options.autoResize)return void t._stopAutoResize();t.dom.root&&(t.dom.root.offsetWidth==t.props.lastWidth&&t.dom.root.offsetHeight==t.props.lastHeight||(t.props.lastWidth=t.dom.root.offsetWidth,t.props.lastHeight=t.dom.root.offsetHeight,t.props.scrollbarWidth=p.getScrollBarWidth(),t.body.emitter.emit("_change")))},p.addEventListener(window,"resize",this._onResize),t.dom.root&&(t.props.lastWidth=t.dom.root.offsetWidth,t.props.lastHeight=t.dom.root.offsetHeight),this.watchTimer=setInterval(this._onResize,1e3)},n.prototype._stopAutoResize=function(){this.watchTimer&&(clearInterval(this.watchTimer),this.watchTimer=void 0),this._onResize&&(p.removeEventListener(window,"resize",this._onResize),this._onResize=null)},n.prototype._onTouch=function(t){this.touch.allowDragging=!0,this.touch.initialScrollTop=this.props.scrollTop},n.prototype._onPinch=function(t){this.touch.allowDragging=!1},n.prototype._onDrag=function(t){if(t&&this.touch.allowDragging){var e=t.deltaY,i=this._getScrollTop(),o=this._setScrollTop(this.touch.initialScrollTop+e);this.options.verticalScroll&&(this.dom.left.parentNode.scrollTop=-this.props.scrollTop,this.dom.right.parentNode.scrollTop=-this.props.scrollTop),o!=i&&this.emit("verticalDrag")}},n.prototype._setScrollTop=function(t){return this.props.scrollTop=t,this._updateScrollTop(),this.props.scrollTop},n.prototype._updateScrollTop=function(){var t=Math.min(this.props.centerContainer.height-this.props.center.height,0);return t!=this.props.scrollTopMin&&("top"!=this.options.orientation.item&&(this.props.scrollTop+=t-this.props.scrollTopMin),this.props.scrollTopMin=t),this.props.scrollTop>0&&(this.props.scrollTop=0),this.props.scrollTop0&&this.current.milliseconds()0&&this.current.seconds()0&&this.current.minutes()0&&this.current.hours()0?t.step:1,this.autoScale=!1)},o.prototype.setAutoScale=function(t){this.autoScale=t},o.prototype.setMinimumStep=function(t){if(void 0!=t){31104e9>t&&(this.scale="year",this.step=1e3),15552e9>t&&(this.scale="year",this.step=500),31104e8>t&&(this.scale="year",this.step=100),15552e8>t&&(this.scale="year",this.step=50),31104e7>t&&(this.scale="year",this.step=10),15552e7>t&&(this.scale="year",this.step=5),31104e6>t&&(this.scale="year",this.step=1),7776e6>t&&(this.scale="month",this.step=3),2592e6>t&&(this.scale="month",this.step=1),432e6>t&&(this.scale="day",this.step=5),1728e5>t&&(this.scale="day",this.step=2),864e5>t&&(this.scale="day",this.step=1),432e5>t&&(this.scale="weekday",this.step=1),144e5>t&&(this.scale="hour",this.step=4),36e5>t&&(this.scale="hour",this.step=1),9e5>t&&(this.scale="minute",this.step=15),6e5>t&&(this.scale="minute",this.step=10),3e5>t&&(this.scale="minute",this.step=5),6e4>t&&(this.scale="minute",this.step=1),15e3>t&&(this.scale="second",this.step=15),1e4>t&&(this.scale="second",this.step=10),5e3>t&&(this.scale="second",this.step=5),1e3>t&&(this.scale="second",this.step=1),200>t&&(this.scale="millisecond",this.step=200),100>t&&(this.scale="millisecond",this.step=100),50>t&&(this.scale="millisecond",this.step=50),10>t&&(this.scale="millisecond",this.step=10),5>t&&(this.scale="millisecond",this.step=5),1>t&&(this.scale="millisecond",this.step=1)}},o.snap=function(t,e,i){var o=n(t);if("year"==e){var s=o.year()+Math.round(o.month()/12);o.year(Math.round(s/i)*i),o.month(0),o.date(0),o.hours(0),o.minutes(0),o.seconds(0),o.milliseconds(0)}else if("month"==e)o.date()>15?(o.date(1),o.add(1,"month")):o.date(1),o.hours(0),o.minutes(0),o.seconds(0),o.milliseconds(0);else if("week"==e)o.weekday()>2?(o.weekday(0),o.add(1,"week")):o.weekday(0),o.hours(0),o.minutes(0),o.seconds(0),o.milliseconds(0);else if("day"==e){switch(i){case 5:case 2:o.hours(24*Math.round(o.hours()/24));break;default:o.hours(12*Math.round(o.hours()/12))}o.minutes(0),o.seconds(0),o.milliseconds(0)}else if("weekday"==e){switch(i){case 5:case 2:o.hours(12*Math.round(o.hours()/12));break;default:o.hours(6*Math.round(o.hours()/6))}o.minutes(0),o.seconds(0),o.milliseconds(0)}else if("hour"==e){switch(i){case 4:o.minutes(60*Math.round(o.minutes()/60));break;default:o.minutes(30*Math.round(o.minutes()/30))}o.seconds(0),o.milliseconds(0)}else if("minute"==e){switch(i){case 15:case 10:o.minutes(5*Math.round(o.minutes()/5)),o.seconds(0);break;case 5:o.seconds(60*Math.round(o.seconds()/60));break;default:o.seconds(30*Math.round(o.seconds()/30))}o.milliseconds(0)}else if("second"==e)switch(i){case 15:case 10:o.seconds(5*Math.round(o.seconds()/5)),o.milliseconds(0);break;case 5:o.milliseconds(1e3*Math.round(o.milliseconds()/1e3));break;default:o.milliseconds(500*Math.round(o.milliseconds()/500))}else if("millisecond"==e){var r=i>5?i/2:1;o.milliseconds(Math.round(o.milliseconds()/r)*r)}return o},o.prototype.isMajor=function(){if(1==this.switchedYear)switch(this.scale){case"year":case"month":case"week":case"weekday":case"day":case"hour":case"minute":case"second":case"millisecond":return!0;default:return!1}else if(1==this.switchedMonth)switch(this.scale){case"week":case"weekday":case"day":case"hour":case"minute":case"second":case"millisecond":return!0;default:return!1}else if(1==this.switchedDay)switch(this.scale){case"millisecond":case"second":case"minute":case"hour":return!0;default:return!1}var t=this.moment(this.current);switch(this.scale){case"millisecond":return 0==t.milliseconds();case"second":return 0==t.seconds();case"minute":return 0==t.hours()&&0==t.minutes();case"hour":return 0==t.hours();case"weekday":case"day":case"week":return 1==t.date();case"month":return 0==t.month();case"year":default:return!1}},o.prototype.getLabelMinor=function(t){if(void 0==t&&(t=this.current),t instanceof Date&&(t=this.moment(t)),"function"==typeof this.format.minorLabels)return this.format.minorLabels(t,this.scale,this.step);var e=this.format.minorLabels[this.scale];switch(this.scale){case"week":if(this.isMajor()&&0!==t.weekday())return"";default:return e&&e.length>0?this.moment(t).format(e):""}},o.prototype.getLabelMajor=function(t){if(void 0==t&&(t=this.current),t instanceof Date&&(t=this.moment(t)),"function"==typeof this.format.majorLabels)return this.format.majorLabels(t,this.scale,this.step);var e=this.format.majorLabels[this.scale];return e&&e.length>0?this.moment(t).format(e):""},o.prototype.getClassName=function(){function t(t){return t/a%2==0?" vis-even":" vis-odd"}function e(t){return t.isSame(new Date,"day")?" vis-today":t.isSame(n().add(1,"day"),"day")?" vis-tomorrow":t.isSame(n().add(-1,"day"),"day")?" vis-yesterday":""}function i(t){return t.isSame(new Date,"week")?" vis-current-week":""}function o(t){return t.isSame(new Date,"month")?" vis-current-month":""}var n=this.moment,s=this.moment(this.current),r=s.locale?s.locale("en"):s.lang("en"),a=this.step,h=[];switch(this.scale){case"millisecond":h.push(e(r)),h.push(t(r.milliseconds()));break;case"second":h.push(e(r)),h.push(t(r.seconds()));break;case"minute":h.push(e(r)),h.push(t(r.minutes()));break;case"hour":h.push("vis-h"+r.hours()+(4==this.step?"-h"+(r.hours()+4):"")),h.push(e(r)),h.push(t(r.hours()));break;case"weekday":h.push("vis-"+r.format("dddd").toLowerCase()),h.push(e(r)),h.push(i(r)),h.push(t(r.date()));break;case"day":h.push("vis-day"+r.date()),h.push("vis-"+r.format("MMMM").toLowerCase()),h.push(e(r)),h.push(o(r)),h.push(this.step<=2?e(r):""),h.push(this.step<=2?"vis-"+r.format("dddd").toLowerCase():""),h.push(t(r.date()-1));break;case"week":h.push("vis-week"+r.format("w")),h.push(i(r)),h.push(t(r.week()));break;case"month":h.push("vis-"+r.format("MMMM").toLowerCase()),h.push(o(r)),h.push(t(r.month()));break;case"year":h.push("vis-year"+r.year()),h.push(function(t){return t.isSame(new Date,"year")?" vis-current-year":""}(r)),h.push(t(r.year()))}return h.filter(String).join(" ")},t.exports=o},function(t,e,i){function o(t,e){this.body=t,this.defaultOptions={rtl:!1,showCurrentTime:!0,moment:r,locales:a,locale:"en"},this.options=n.extend({},this.defaultOptions),this.offset=0,this._create(),this.setOptions(e)}var n=i(0),s=i(5),r=i(3),a=i(69);o.prototype=new s,o.prototype._create=function(){var t=document.createElement("div");t.className="vis-current-time",t.style.position="absolute",t.style.top="0px",t.style.height="100%",this.bar=t},o.prototype.destroy=function(){this.options.showCurrentTime=!1,this.redraw(),this.body=null},o.prototype.setOptions=function(t){t&&n.selectiveExtend(["rtl","showCurrentTime","moment","locale","locales"],this.options,t)},o.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=this.options.moment((new Date).valueOf()+this.offset),i=this.body.util.toScreen(e),o=this.options.locales[this.options.locale];o||(this.warned||(console.log("WARNING: options.locales['"+this.options.locale+"'] not found. See http://visjs.org/docs/timeline/#Localization"),this.warned=!0),o=this.options.locales.en);var n=o.current+" "+o.time+": "+e.format("dddd, MMMM Do YYYY, H:mm:ss");n=n.charAt(0).toUpperCase()+n.substring(1),this.options.rtl?this.bar.style.right=i+"px":this.bar.style.left=i+"px",this.bar.title=n}else this.bar.parentNode&&this.bar.parentNode.removeChild(this.bar),this.stop();return!1},o.prototype.start=function(){function t(){e.stop();var i=e.body.range.conversion(e.body.domProps.center.width).scale,o=1/i/10;o<30&&(o=30),o>1e3&&(o=1e3),e.redraw(),e.body.emitter.emit("currentTimeTick"),e.currentTimeTimer=setTimeout(t,o)}var e=this;t()},o.prototype.stop=function(){void 0!==this.currentTimeTimer&&(clearTimeout(this.currentTimeTimer),delete this.currentTimeTimer)},o.prototype.setCurrentTime=function(t){var e=n.convert(t,"Date").valueOf(),i=(new Date).valueOf();this.offset=e-i,this.redraw()},o.prototype.getCurrentTime=function(){return new Date((new Date).valueOf()+this.offset)},t.exports=o},function(t,e,i){function o(t,e,i){if(this.groupId=t,this.subgroups={},this.subgroupStack={},this.subgroupStackAll=!1,this.doInnerStack=!1,this.subgroupIndex=0,this.subgroupOrderer=e&&e.subgroupOrder,this.itemSet=i,this.isVisible=null,this.stackDirty=!0,e&&e.nestedGroups&&(this.nestedGroups=e.nestedGroups,0==e.showNested?this.showNested=!1:this.showNested=!0),e&&e.subgroupStack)if("boolean"==typeof e.subgroupStack)this.doInnerStack=e.subgroupStack,this.subgroupStackAll=e.subgroupStack;else for(var o in e.subgroupStack)this.subgroupStack[o]=e.subgroupStack[o],this.doInnerStack=this.doInnerStack||e.subgroupStack[o];this.nestedInGroup=null,this.dom={},this.props={label:{width:0,height:0}},this.className=null,this.items={},this.visibleItems=[],this.itemsInRange=[],this.orderedItems={byStart:[],byEnd:[]},this.checkRangedItems=!1;var n=this;this.itemSet.body.emitter.on("checkRangedItems",function(){n.checkRangedItems=!0}),this._create(),this.setData(e)}var n=i(4),s=function(t){return t&&t.__esModule?t:{default:t}}(n),r=i(0),a=i(71);o.prototype._create=function(){var t=document.createElement("div");this.itemSet.options.groupEditable.order?t.className="vis-label draggable":t.className="vis-label",this.dom.label=t;var e=document.createElement("div");e.className="vis-inner",t.appendChild(e),this.dom.inner=e;var i=document.createElement("div");i.className="vis-group",i["timeline-group"]=this,this.dom.foreground=i,this.dom.background=document.createElement("div"),this.dom.background.className="vis-group",this.dom.axis=document.createElement("div"),this.dom.axis.className="vis-group",this.dom.marker=document.createElement("div"),this.dom.marker.style.visibility="hidden",this.dom.marker.style.position="absolute",this.dom.marker.innerHTML="",this.dom.background.appendChild(this.dom.marker)},o.prototype.setData=function(t){var e,i;if(this.itemSet.options&&this.itemSet.options.groupTemplate?(i=this.itemSet.options.groupTemplate.bind(this),e=i(t,this.dom.inner)):e=t&&t.content,e instanceof Element){for(this.dom.inner.appendChild(e);this.dom.inner.firstChild;)this.dom.inner.removeChild(this.dom.inner.firstChild);this.dom.inner.appendChild(e)}else e instanceof Object?i(t,this.dom.inner):this.dom.inner.innerHTML=void 0!==e&&null!==e?e:this.groupId||"";if(this.dom.label.title=t&&t.title||"",this.dom.inner.firstChild?r.removeClassName(this.dom.inner,"vis-hidden"):r.addClassName(this.dom.inner,"vis-hidden"),t&&t.nestedGroups){this.nestedGroups&&this.nestedGroups==t.nestedGroups||(this.nestedGroups=t.nestedGroups),void 0===t.showNested&&void 0!==this.showNested||(0==t.showNested?this.showNested=!1:this.showNested=!0),r.addClassName(this.dom.label,"vis-nesting-group");var o=this.itemSet.options.rtl?"collapsed-rtl":"collapsed";this.showNested?(r.removeClassName(this.dom.label,o),r.addClassName(this.dom.label,"expanded")):(r.removeClassName(this.dom.label,"expanded"),r.addClassName(this.dom.label,o))}else this.nestedGroups&&(this.nestedGroups=null,o=this.itemSet.options.rtl?"collapsed-rtl":"collapsed",r.removeClassName(this.dom.label,o),r.removeClassName(this.dom.label,"expanded"),r.removeClassName(this.dom.label,"vis-nesting-group"));t&&t.nestedInGroup&&(r.addClassName(this.dom.label,"vis-nested-group"),this.itemSet.options&&this.itemSet.options.rtl?this.dom.inner.style.paddingRight="30px":this.dom.inner.style.paddingLeft="30px");var n=t&&t.className||null;n!=this.className&&(this.className&&(r.removeClassName(this.dom.label,this.className),r.removeClassName(this.dom.foreground,this.className),r.removeClassName(this.dom.background,this.className),r.removeClassName(this.dom.axis,this.className)),r.addClassName(this.dom.label,n),r.addClassName(this.dom.foreground,n),r.addClassName(this.dom.background,n),r.addClassName(this.dom.axis,n),this.className=n),this.style&&(r.removeCssText(this.dom.label,this.style),this.style=null),t&&t.style&&(r.addCssText(this.dom.label,t.style),this.style=t.style)},o.prototype.getLabelWidth=function(){return this.props.label.width},o.prototype._didMarkerHeightChange=function(){var t=this.dom.marker.clientHeight;if(t!=this.lastMarkerHeight){this.lastMarkerHeight=t;var e={},i=0;r.forEach(this.items,function(t,o){if(t.dirty=!0,t.displayed){e[o]=t.redraw(!0),i=e[o].length}});if(i>0)for(var o=0;o0)for(var u=0;u0){var e=this;this.resetSubgroups(),r.forEach(this.visibleItems,function(i){void 0!==i.data.subgroup&&(e.subgroups[i.data.subgroup].height=Math.max(e.subgroups[i.data.subgroup].height,i.height+t.item.vertical),e.subgroups[i.data.subgroup].visible=!0)})}},o.prototype._isGroupVisible=function(t,e){return this.top<=t.body.domProps.centerContainer.height-t.body.domProps.scrollTop+e.axis&&this.top+this.height+e.axis>=-t.body.domProps.scrollTop},o.prototype._calculateHeight=function(t){var e,i=this.visibleItems;if(i.length>0){var o=i[0].top,n=i[0].top+i[0].height;if(r.forEach(i,function(t){o=Math.min(o,t.top),n=Math.max(n,t.top+t.height)}),o>t.axis){var s=o-t.axis;n-=s,r.forEach(i,function(t){t.top-=s})}e=n+t.item.vertical/2}else e=0;return e=Math.max(e,this.props.label.height)},o.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)},o.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 o=this.dom.axis;o.parentNode&&o.parentNode.removeChild(o)},o.prototype.add=function(t){if(this.items[t.id]=t,t.setParent(this),this.stackDirty=!0,void 0!==t.data.subgroup&&(this._addToSubgroup(t),this.orderSubgroups()),-1==this.visibleItems.indexOf(t)){var e=this.itemSet.body.range;this._checkIfVisible(t,this.visibleItems,e)}},o.prototype._addToSubgroup=function(t,e){e=e||t.data.subgroup,void 0!=e&&void 0===this.subgroups[e]&&(this.subgroups[e]={height:0,top:0,start:t.data.start,end:t.data.end||t.data.start,visible:!1,index:this.subgroupIndex,items:[],stack:this.subgroupStackAll||this.subgroupStack[e]||!1},this.subgroupIndex++),new Date(t.data.start)new Date(this.subgroups[e].end)&&(this.subgroups[e].end=i),this.subgroups[e].items.push(t)},o.prototype._updateSubgroupsSizes=function(){var t=this;if(t.subgroups)for(var e in t.subgroups){var i=t.subgroups[e].items[0].data.end||t.subgroups[e].items[0].data.start,o=t.subgroups[e].items[0].data.start,n=i-1;t.subgroups[e].items.forEach(function(t){new Date(t.data.start)new Date(n)&&(n=e)}),t.subgroups[e].start=o,t.subgroups[e].end=new Date(n-1)}},o.prototype.orderSubgroups=function(){if(void 0!==this.subgroupOrderer){var t,e=[];if("string"==typeof this.subgroupOrderer){for(t in this.subgroups)e.push({subgroup:t,sortField:this.subgroups[t].items[0].data[this.subgroupOrderer]});e.sort(function(t,e){return t.sortField-e.sortField})}else if("function"==typeof this.subgroupOrderer){for(t in this.subgroups)e.push(this.subgroups[t].items[0].data);e.sort(this.subgroupOrderer)}if(e.length>0)for(var i=0;i=0&&(i.items.splice(o,1),i.items.length?this._updateSubgroupsSizes():delete this.subgroups[e])}}},o.prototype.removeFromDataSet=function(t){this.itemSet.removeItem(t.id)},o.prototype.order=function(){for(var t=r.toArray(this.items),e=[],i=[],o=0;o0)for(var l=0;lh}),1==this.checkRangedItems)for(this.checkRangedItems=!1,l=0;lh})}var c={},m=0;for(l=0;l0)for(var g=0;g=0&&(r=e[s],!n(r));s--)void 0===o[r.id]&&(o[r.id]=!0,i.push(r));for(s=t+1;st.start},o.prototype._createDomElement=function(){this.dom||(this.dom={},this.dom.box=document.createElement("div"),this.dom.frame=document.createElement("div"),this.dom.frame.className="vis-item-overflow",this.dom.box.appendChild(this.dom.frame),this.dom.visibleFrame=document.createElement("div"),this.dom.visibleFrame.className="vis-item-visible-frame",this.dom.box.appendChild(this.dom.visibleFrame),this.dom.content=document.createElement("div"),this.dom.content.className="vis-item-content",this.dom.frame.appendChild(this.dom.content),this.dom.box["timeline-item"]=this,this.dirty=!0)},o.prototype._appendDomElement=function(){if(!this.parent)throw new Error("Cannot redraw item: no parent attached");if(!this.dom.box.parentNode){var t=this.parent.dom.foreground;if(!t)throw new Error("Cannot redraw item: parent has no foreground container element");t.appendChild(this.dom.box)}this.displayed=!0},o.prototype._updateDirtyDomComponents=function(){if(this.dirty){this._updateContents(this.dom.content),this._updateDataAttributes(this.dom.box),this._updateStyle(this.dom.box);var t=this.editable.updateTime||this.editable.updateGroup,e=(this.data.className?" "+this.data.className:"")+(this.selected?" vis-selected":"")+(t?" vis-editable":" vis-readonly");this.dom.box.className=this.baseClassName+e,this.dom.content.style.maxWidth="none"}},o.prototype._getDomComponentsSizes=function(){return this.overflow="hidden"!==window.getComputedStyle(this.dom.frame).overflow,{content:{width:this.dom.content.offsetWidth},box:{height:this.dom.box.offsetHeight}}},o.prototype._updateDomComponentsSizes=function(t){this.props.content.width=t.content.width,this.height=t.box.height,this.dom.content.style.maxWidth="",this.dirty=!1},o.prototype._repaintDomAdditionals=function(){this._repaintOnItemUpdateTimeTooltip(this.dom.box),this._repaintDeleteButton(this.dom.box),this._repaintDragCenter(),this._repaintDragLeft(),this._repaintDragRight()},o.prototype.redraw=function(t){var e,i=[this._createDomElement.bind(this),this._appendDomElement.bind(this),this._updateDirtyDomComponents.bind(this),function(){this.dirty&&(e=this._getDomComponentsSizes.bind(this)())}.bind(this),function(){this.dirty&&this._updateDomComponentsSizes.bind(this)(e)}.bind(this),this._repaintDomAdditionals.bind(this)];if(t)return i;var o;return i.forEach(function(t){o=t()}),o},o.prototype.show=function(){this.displayed||this.redraw()},o.prototype.hide=function(){if(this.displayed){var t=this.dom.box;t.parentNode&&t.parentNode.removeChild(t),this.displayed=!1}},o.prototype.repositionX=function(t){var e,i,o=this.parent.width,n=this.conversion.toScreen(this.data.start),s=this.conversion.toScreen(this.data.end),r=void 0===this.data.align?this.options.align:this.data.align;!1===this.data.limitSize||void 0!==t&&!0!==t||(n<-o&&(n=-o),s>2*o&&(s=2*o));var a=Math.max(s-n+.5,1);switch(this.overflow?(this.options.rtl?this.right=n:this.left=n,this.width=a+this.props.content.width,i=this.props.content.width):(this.options.rtl?this.right=n:this.left=n,this.width=a,i=Math.min(s-n,this.props.content.width)),this.options.rtl?this.dom.box.style.right=this.right+"px":this.dom.box.style.left=this.left+"px",this.dom.box.style.width=a+"px",r){case"left":this.options.rtl?this.dom.content.style.right="0":this.dom.content.style.left="0";break;case"right":this.options.rtl?this.dom.content.style.right=Math.max(a-i,0)+"px":this.dom.content.style.left=Math.max(a-i,0)+"px";break;case"center":this.options.rtl?this.dom.content.style.right=Math.max((a-i)/2,0)+"px":this.dom.content.style.left=Math.max((a-i)/2,0)+"px";break;default:e=this.overflow?s>0?Math.max(-n,0):-i:n<0?-n:0,this.options.rtl?this.dom.content.style.right=e+"px":(this.dom.content.style.left=e+"px",this.dom.content.style.width="calc(100% - "+e+"px)")}},o.prototype.repositionY=function(){var t=this.options.orientation.item,e=this.dom.box;e.style.top="top"==t?this.top+"px":this.parent.height-this.top-this.height+"px"},o.prototype._repaintDragLeft=function(){if((this.selected||this.options.itemsAlwaysDraggable.range)&&this.options.editable.updateTime&&!this.dom.dragLeft){var t=document.createElement("div");t.className="vis-drag-left",t.dragLeftItem=this,this.dom.box.appendChild(t),this.dom.dragLeft=t}else this.selected||this.options.itemsAlwaysDraggable.range||!this.dom.dragLeft||(this.dom.dragLeft.parentNode&&this.dom.dragLeft.parentNode.removeChild(this.dom.dragLeft),this.dom.dragLeft=null)},o.prototype._repaintDragRight=function(){if((this.selected||this.options.itemsAlwaysDraggable.range)&&this.options.editable.updateTime&&!this.dom.dragRight){var t=document.createElement("div");t.className="vis-drag-right",t.dragRightItem=this,this.dom.box.appendChild(t),this.dom.dragRight=t}else this.selected||this.options.itemsAlwaysDraggable.range||!this.dom.dragRight||(this.dom.dragRight.parentNode&&this.dom.dragRight.parentNode.removeChild(this.dom.dragRight),this.dom.dragRight=null)},t.exports=o},function(t,e,i){function o(t,e){}function n(t,e){return e=void 0===e?{}:e,{style:e.style||t.options.drawPoints.style,styles:e.styles||t.options.drawPoints.styles,size:e.size||t.options.drawPoints.size,className:e.className||t.className}}function s(t,e){var i=void 0;return t.options&&t.options.drawPoints&&t.options.drawPoints.onRender&&"function"==typeof t.options.drawPoints.onRender&&(i=t.options.drawPoints.onRender),e.group.options&&e.group.options.drawPoints&&e.group.options.drawPoints.onRender&&"function"==typeof e.group.options.drawPoints.onRender&&(i=e.group.options.drawPoints.onRender),i}var r=i(1),a=function(t){return t&&t.__esModule?t:{default:t}}(r),h=i(11);o.draw=function(t,e,i,o){o=o||0;for(var r=s(i,e),d=0;dh;)o(a,i=e[h++])&&(~s(d,i)||d.push(i));return d}},function(t,e,i){var o=i(35);t.exports=function(t){return Object(o(t))}},function(t,e,i){var o=i(101)(!0);i(56)(String,"String",function(t){this._t=String(t),this._i=0},function(){var t,e=this._t,i=this._i;return i>=e.length?{value:void 0,done:!0}:(t=o(e,i),this._i+=t.length,{value:t,done:!1})})},function(t,e){e.f=Object.getOwnPropertySymbols},function(t,e,i){var o=i(60),n=i(41).concat("length","prototype");e.f=Object.getOwnPropertyNames||function(t){return o(t,n)}},function(t,e,i){function o(t){this.delay=null,this.max=1/0,this._queue=[],this._timeout=null,this._extended=null,this.setOptions(t)}o.prototype.setOptions=function(t){t&&void 0!==t.delay&&(this.delay=t.delay),t&&void 0!==t.max&&(this.max=t.max),this._flushIfNeeded()},o.extend=function(t,e){var i=new o(e);if(void 0!==t.flush)throw new Error("Target object already has a property flush");t.flush=function(){i.flush()};var n=[{name:"flush",original:void 0}];if(e&&e.replace)for(var s=0;sthis.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)}},o.prototype.flush=function(){for(;this._queue.length>0;){var t=this._queue.shift();t.fn.apply(t.context||t.fn,t.args||[])}},t.exports=o},function(t,e){function i(t){if(t)return o(t)}function o(t){for(var e in i.prototype)t[e]=i.prototype[e];return t}t.exports=i,i.prototype.on=i.prototype.addEventListener=function(t,e){return this._callbacks=this._callbacks||{},(this._callbacks[t]=this._callbacks[t]||[]).push(e),this},i.prototype.once=function(t,e){function i(){o.off(t,i),e.apply(this,arguments)}var o=this;return this._callbacks=this._callbacks||{},i.fn=e,this.on(t,i),this},i.prototype.off=i.prototype.removeListener=i.prototype.removeAllListeners=i.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 o,n=0;n0){var n=i.groupsData.getDataSet();n.get().forEach(function(t){if(t.nestedGroups){0!=t.showNested&&(t.showNested=!0);var e=[];t.nestedGroups.forEach(function(i){var o=n.get(i);o&&(o.nestedInGroup=t.id,0==t.showNested&&(o.visible=!1),e=e.concat(o))}),n.update(e,o)}})}},update:function(t,e,o){i._onUpdateGroups(e.items)},remove:function(t,e,o){i._onRemoveGroups(e.items)}},this.items={},this.groups={},this.groupIds=[],this.selection=[],this.popup=null,this.touchParams={},this.groupTouchParams={},this._create(),this.setOptions(e)}var s=i(43),r=o(s),a=i(1),h=o(a),d=i(12),l=i(0),u=i(15),p=i(21),c=i(49),m=i(5),f=i(51),g=i(52),v=i(72),y=i(73),b=i(53),_=i(74),w=i(133).default,x="__ungrouped__",D="__background__";n.prototype=new m,n.types={background:_,box:v,range:b,point:y},n.prototype._create=function(){var t=document.createElement("div");t.className="vis-itemset",t["timeline-itemset"]=this,this.dom.frame=t;var e=document.createElement("div");e.className="vis-background",t.appendChild(e),this.dom.background=e;var i=document.createElement("div");i.className="vis-foreground",t.appendChild(i),this.dom.foreground=i;var o=document.createElement("div");o.className="vis-axis",this.dom.axis=o;var n=document.createElement("div");n.className="vis-labelset",this.dom.labelSet=n,this._updateUngrouped();var s=new g(D,null,this);s.show(),this.groups[D]=s,this.hammer=new d(this.body.dom.centerContainer),this.hammer.on("hammer.input",function(t){t.isFirst&&this._onTouch(t)}.bind(this)),this.hammer.on("panstart",this._onDragStart.bind(this)),this.hammer.on("panmove",this._onDrag.bind(this)),this.hammer.on("panend",this._onDragEnd.bind(this)),this.hammer.get("pan").set({threshold:5,direction:d.DIRECTION_HORIZONTAL}),this.hammer.on("tap",this._onSelectItem.bind(this)),this.hammer.on("press",this._onMultiSelectItem.bind(this)),this.hammer.on("doubletap",this._onAddItem.bind(this)),this.options.rtl?this.groupHammer=new d(this.body.dom.rightContainer):this.groupHammer=new d(this.body.dom.leftContainer),this.groupHammer.on("tap",this._onGroupClick.bind(this)),this.groupHammer.on("panstart",this._onGroupDragStart.bind(this)),this.groupHammer.on("panmove",this._onGroupDrag.bind(this)),this.groupHammer.on("panend",this._onGroupDragEnd.bind(this)),this.groupHammer.get("pan").set({threshold:5,direction:d.DIRECTION_VERTICAL}),this.body.dom.centerContainer.addEventListener("mouseover",this._onMouseOver.bind(this)),this.body.dom.centerContainer.addEventListener("mouseout",this._onMouseOut.bind(this)),this.body.dom.centerContainer.addEventListener("mousemove",this._onMouseMove.bind(this)),this.body.dom.centerContainer.addEventListener("contextmenu",this._onDragEnd.bind(this)),this.body.dom.centerContainer.addEventListener("mousewheel",this._onMouseWheel.bind(this)),this.show()},n.prototype.setOptions=function(t){if(t){var e=["type","rtl","align","order","stack","stackSubgroups","selectable","multiselect","multiselectPerGroup","groupOrder","dataAttributes","template","groupTemplate","visibleFrameTemplate","hide","snap","groupOrderSwap","showTooltips","tooltip","tooltipOnItemUpdateTime"];l.selectiveExtend(e,this.options,t),"itemsAlwaysDraggable"in t&&("boolean"==typeof t.itemsAlwaysDraggable?(this.options.itemsAlwaysDraggable.item=t.itemsAlwaysDraggable,this.options.itemsAlwaysDraggable.range=!1):"object"===(0,h.default)(t.itemsAlwaysDraggable)&&(l.selectiveExtend(["item","range"],this.options.itemsAlwaysDraggable,t.itemsAlwaysDraggable),this.options.itemsAlwaysDraggable.item||(this.options.itemsAlwaysDraggable.range=!1))),"orientation"in t&&("string"==typeof t.orientation?this.options.orientation.item="top"===t.orientation?"top":"bottom":"object"===(0,h.default)(t.orientation)&&"item"in t.orientation&&(this.options.orientation.item=t.orientation.item)),"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"===(0,h.default)(t.margin)&&(l.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"===(0,h.default)(t.margin.item)&&l.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,this.options.editable.overrideItems=!1):"object"===(0,h.default)(t.editable)&&l.selectiveExtend(["updateTime","updateGroup","add","remove","overrideItems"],this.options.editable,t.editable)),"groupEditable"in t&&("boolean"==typeof t.groupEditable?(this.options.groupEditable.order=t.groupEditable,this.options.groupEditable.add=t.groupEditable,this.options.groupEditable.remove=t.groupEditable):"object"===(0,h.default)(t.groupEditable)&&l.selectiveExtend(["order","add","remove"],this.options.groupEditable,t.groupEditable));["onDropObjectOnItem","onAdd","onUpdate","onRemove","onMove","onMoving","onAddGroup","onMoveGroup","onRemoveGroup"].forEach(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)),this.markDirty()}},n.prototype.markDirty=function(t){this.groupIds=[],t&&t.refreshItems&&l.forEach(this.items,function(t){t.dirty=!0,t.displayed&&t.redraw()})},n.prototype.destroy=function(){this.hide(),this.setItems(null),this.setGroups(null),this.hammer=null,this.body=null,this.conversion=null},n.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)},n.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.options.rtl?this.body.dom.right.appendChild(this.dom.labelSet):this.body.dom.left.appendChild(this.dom.labelSet))},n.prototype.setSelection=function(t){var e,i,o,n;for(void 0==t&&(t=[]),Array.isArray(t)||(t=[t]),e=0,i=this.selection.length;et&&o.push(h.id):h.lefte&&o.push(h.id)}return o},n.prototype._deselect=function(t){for(var e=this.selection,i=0,o=e.length;i0){for(var w={},x=0;x<_;x++)l.forEach(b,function(t,e){w[e]=t[x]()});l.forEach(this.groups,function(t,e){if(e!==D){var i=w[e];s=i||s,v+=t.height}}),v=Math.max(v,y)}return v=Math.max(v,y),r.style.height=i(v),this.props.width=r.offsetWidth,this.props.height=v,this.dom.axis.style.top=i("top"==n?this.body.domProps.top.height+this.body.domProps.border.top:this.body.domProps.top.height+this.body.domProps.centerContainer.height),this.options.rtl?this.dom.axis.style.right="0":this.dom.axis.style.left="0",this.initialItemSetDrawn=!0,s=this._isResized()||s},n.prototype._firstGroup=function(){var t="top"==this.options.orientation.item?0:this.groupIds.length-1,e=this.groupIds[t];return this.groups[e]||this.groups[x]||null},n.prototype._updateUngrouped=function(){var t,e,i=this.groups[x];if(this.groupsData){if(i){i.hide(),delete this.groups[x];for(e in this.items)if(this.items.hasOwnProperty(e)){t=this.items[e],t.parent&&t.parent.remove(t);var o=this._getGroupId(t.data),n=this.groups[o];n&&n.add(t)||t.hide()}}}else if(!i){i=new f(null,null,this),this.groups[x]=i;for(e in this.items)this.items.hasOwnProperty(e)&&(t=this.items[e],i.add(t));i.show()}},n.prototype.getLabelSet=function(){return this.dom.labelSet},n.prototype.setItems=function(t){var e,i=this,o=this.itemsData;if(t){if(!(t instanceof u||t instanceof p))throw new TypeError("Data must be an instance of DataSet or DataView");this.itemsData=t}else this.itemsData=null;if(o&&(l.forEach(this.itemListeners,function(t,e){o.off(e,t)}),e=o.getIds(),this._onRemove(e)),this.itemsData){var n=this.id;l.forEach(this.itemListeners,function(t,e){i.itemsData.on(e,t,n)}),e=this.itemsData.getIds(),this._onAdd(e),this._updateUngrouped()}this.body.emitter.emit("_change",{queue:!0})},n.prototype.getItems=function(){return this.itemsData},n.prototype.setGroups=function(t){var e,i=this;if(this.groupsData&&(l.forEach(this.groupListeners,function(t,e){i.groupsData.off(e,t)}),e=this.groupsData.getIds(),this.groupsData=null,this._onRemoveGroups(e)),t){if(!(t instanceof u||t instanceof p))throw new TypeError("Data must be an instance of DataSet or DataView");this.groupsData=t}else this.groupsData=null;if(this.groupsData){var o=this.groupsData;this.groupsData instanceof p&&(o=this.groupsData.getDataSet()),o.get().forEach(function(t){t.nestedGroups&&t.nestedGroups.forEach(function(e){var i=o.get(e);i.nestedInGroup=t.id,0==t.showNested&&(i.visible=!1),o.update(i)})});var n=this.id;l.forEach(this.groupListeners,function(t,e){i.groupsData.on(e,t,n)}),e=this.groupsData.getIds(),this._onAddGroups(e)}this._updateUngrouped(),this._order(),this.body.emitter.emit("_change",{queue:!0})},n.prototype.getGroups=function(){return this.groupsData},n.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)})},n.prototype._getType=function(t){return t.type||this.options.type||(t.end?"range":"box")},n.prototype._getGroupId=function(t){return"background"==this._getType(t)&&void 0==t.group?D:this.groupsData?t.group:x},n.prototype._onUpdate=function(t){var e=this;t.forEach(function(t){var i,o=e.itemsData.get(t,e.itemOptions),s=e.items[t],r=o?e._getType(o):null,a=n.types[r];if(s&&(a&&s instanceof a?e._updateItem(s,o):(i=s.selected,e._removeItem(s),s=null)),!s&&o){if(!a)throw"rangeoverflow"==r?new TypeError('Item type "rangeoverflow" is deprecated. Use css styling instead: .vis-item.vis-range .vis-item-content {overflow: visible;}'):new TypeError('Unknown item type "'+r+'"');s=new a(o,e.conversion,e.options),s.id=t,e._addItem(s),i&&(this.selection.push(t),s.select())}}.bind(this)),this._order(),this.body.emitter.emit("_change",{queue:!0})},n.prototype._onAdd=n.prototype._onUpdate,n.prototype._onRemove=function(t){var e=0,i=this;t.forEach(function(t){var o=i.items[t];o&&(e++,i._removeItem(o))}),e&&(this._order(),this.body.emitter.emit("_change",{queue:!0}))},n.prototype._order=function(){l.forEach(this.groups,function(t){t.order()})},n.prototype._onUpdateGroups=function(t){this._onAddGroups(t)},n.prototype._onAddGroups=function(t){var e=this;t.forEach(function(t){var i=e.groupsData.get(t),o=e.groups[t];if(o)o.setData(i);else{if(t==x||t==D)throw new Error("Illegal group id. "+t+" is a reserved id.");var n=(0,r.default)(e.options);l.extend(n,{height:null}),o=new f(t,i,e),e.groups[t]=o;for(var s in e.items)if(e.items.hasOwnProperty(s)){var a=e.items[s];a.data.group==t&&o.add(a)}o.order(),o.show()}}),this.body.emitter.emit("_change",{queue:!0})},n.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})},n.prototype._orderGroups=function(){if(this.groupsData){var t=this.groupsData.getIds({order:this.options.groupOrder});t=this._orderNestedGroups(t);var e=!l.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},n.prototype._orderNestedGroups=function(t){var e=[];return t.forEach(function(t){var i=this.groupsData.get(t);if(i.nestedInGroup||e.push(t),i.nestedGroups){var o=this.groupsData.get({filter:function(e){return e.nestedInGroup==t},order:this.options.groupOrder}),n=o.map(function(t){return t.id});e=e.concat(n)}},this),e},n.prototype._addItem=function(t){this.items[t.id]=t;var e=this._getGroupId(t.data),i=this.groups[e];i?i&&i.data&&i.data.showNested&&(t.groupShowing=!0):t.groupShowing=!1,i&&i.add(t)},n.prototype._updateItem=function(t,e){t.setData(e);var i=this._getGroupId(t.data),o=this.groups[i];o?o&&o.data&&o.data.showNested&&(t.groupShowing=!0):t.groupShowing=!1},n.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)},n.prototype._constructByEndArray=function(t){for(var e=[],i=0;in)return}}if(i&&i!=this.groupTouchParams.group){var a=e.get(i.groupId),h=e.get(this.groupTouchParams.group.groupId);h&&a&&(this.options.groupOrderSwap(h,a,e),e.update(h),e.update(a));var d=e.getIds({order:this.options.groupOrder});if(!l.equalArray(d,this.groupTouchParams.originalOrder))for(var u=this.groupTouchParams.originalOrder,c=this.groupTouchParams.group.groupId,m=Math.min(u.length,d.length),f=0,g=0,v=0;f=m)break;if(d[f+g]==c)g=1;else if(u[f+v]==c)v=1;else{var y=d.indexOf(u[f+v]),b=e.get(d[f+g]),_=e.get(u[f+v]);this.options.groupOrderSwap(b,_,e),e.update(b),e.update(_);var w=d[f+g];d[f+g]=u[f+v],d[y]=w,f++}}}}},n.prototype._onGroupDragEnd=function(t){if(this.options.groupEditable.order&&this.groupTouchParams.group){t.stopPropagation();var e=this,i=e.groupTouchParams.group.groupId,o=e.groupsData.getDataSet(),n=l.extend({},o.get(i));e.options.onMoveGroup(n,function(t){if(t)t[o._fieldId]=i,o.update(t);else{var n=o.getIds({order:e.options.groupOrder});if(!l.equalArray(n,e.groupTouchParams.originalOrder))for(var s=e.groupTouchParams.originalOrder,r=Math.min(s.length,n.length),a=0;a=r)break;var h=n.indexOf(s[a]),d=o.get(n[a]),u=o.get(s[a]);e.options.groupOrderSwap(d,u,o),o.update(d),o.update(u);var p=n[a];n[a]=s[a],n[h]=p,a++}}}),e.body.emitter.emit("groupDragged",{groupId:i})}},n.prototype._onSelectItem=function(t){if(this.options.selectable){var e=t.srcEvent&&(t.srcEvent.ctrlKey||t.srcEvent.metaKey),i=t.srcEvent&&t.srcEvent.shiftKey;if(e||i)return void this._onMultiSelectItem(t);var o=this.getSelection(),n=this.itemFromTarget(t),s=n?[n.id]:[];this.setSelection(s);var r=this.getSelection();(r.length>0||o.length>0)&&this.body.emitter.emit("select",{items:r,event:t})}},n.prototype._onMouseOver=function(t){var e=this.itemFromTarget(t);if(e){if(e!==this.itemFromRelatedTarget(t)){var i=e.getTitle();if(this.options.showTooltips&&i){null==this.popup&&(this.popup=new w(this.body.dom.root,this.options.tooltip.overflowMethod||"flip")),this.popup.setText(i);var o=this.body.dom.centerContainer;this.popup.setPosition(t.clientX-l.getAbsoluteLeft(o)+o.offsetLeft,t.clientY-l.getAbsoluteTop(o)+o.offsetTop),this.popup.show()}else null!=this.popup&&this.popup.hide();this.body.emitter.emit("itemover",{item:e.id,event:t})}}},n.prototype._onMouseOut=function(t){var e=this.itemFromTarget(t);if(e){e!==this.itemFromRelatedTarget(t)&&(null!=this.popup&&this.popup.hide(),this.body.emitter.emit("itemout",{item:e.id,event:t}))}},n.prototype._onMouseMove=function(t){if(this.itemFromTarget(t)&&this.options.showTooltips&&this.options.tooltip.followMouse&&this.popup&&!this.popup.hidden){var e=this.body.dom.centerContainer;this.popup.setPosition(t.clientX-l.getAbsoluteLeft(e)+e.offsetLeft,t.clientY-l.getAbsoluteTop(e)+e.offsetTop),this.popup.show()}},n.prototype._onMouseWheel=function(t){this.touchParams.itemIsDragging&&this._onDragEnd(t)},n.prototype._onUpdateItem=function(t){if(this.options.selectable&&this.options.editable.add){var e=this;if(t){var i=e.itemsData.get(t.id);this.options.onUpdate(i,function(t){t&&e.itemsData.getDataSet().update(t)})}}},n.prototype._onDropObjectOnItem=function(t){var e=this.itemFromTarget(t),i=JSON.parse(t.dataTransfer.getData("text"));this.options.onDropObjectOnItem(i,e)},n.prototype._onAddItem=function(t){if(this.options.selectable&&this.options.editable.add){var e,i,o=this,n=this.options.snap||null;this.options.rtl?(e=l.getAbsoluteRight(this.dom.frame),i=e-t.center.x):(e=l.getAbsoluteLeft(this.dom.frame),i=t.center.x-e);var s,r,a=this.body.util.toTime(i),h=this.body.util.getScale(),d=this.body.util.getStep();"drop"==t.type?(r=JSON.parse(t.dataTransfer.getData("text")),r.content=r.content?r.content:"new item",r.start=r.start?r.start:n?n(a,h,d):a,r.type=r.type||"box",r[this.itemsData._fieldId]=r.id||l.randomUUID(),"range"!=r.type||r.end||(s=this.body.util.toTime(i+this.props.width/5),r.end=n?n(s,h,d):s)):(r={start:n?n(a,h,d):a,content:"new item"},r[this.itemsData._fieldId]=l.randomUUID(),"range"===this.options.type&&(s=this.body.util.toTime(i+this.props.width/5),r.end=n?n(s,h,d):s));var u=this.groupFromTarget(t);u&&(r.group=u.groupId),r=this._cloneItemData(r),this.options.onAdd(r,function(e){e&&(o.itemsData.getDataSet().add(e),"drop"==t.type&&o.setSelection([e.id]))})}},n.prototype._onMultiSelectItem=function(t){if(this.options.selectable){var e=this.itemFromTarget(t);if(e){var i=this.options.multiselect?this.getSelection():[];if((t.srcEvent&&t.srcEvent.shiftKey||!1)&&this.options.multiselect){var o=this.itemsData.get(e.id).group,s=void 0;this.options.multiselectPerGroup&&i.length>0&&(s=this.itemsData.get(i[0]).group),this.options.multiselectPerGroup&&void 0!=s&&s!=o||i.push(e.id);var r=n._getItemRange(this.itemsData.get(i,this.itemOptions));if(!this.options.multiselectPerGroup||s==o){i=[];for(var a in this.items)if(this.items.hasOwnProperty(a)){var h=this.items[a],d=h.data.start,l=void 0!==h.data.end?h.data.end:d;!(d>=r.min&&l<=r.max)||this.options.multiselectPerGroup&&s!=this.itemsData.get(h.id).group||h instanceof _||i.push(h.id)}}}else{var u=i.indexOf(e.id);-1==u?i.push(e.id):i.splice(u,1)}this.setSelection(i),this.body.emitter.emit("select",{items:this.getSelection(),event:t})}}},n._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}},n.prototype.itemFromElement=function(t){for(var e=t;e;){if(e.hasOwnProperty("timeline-item"))return e["timeline-item"];e=e.parentNode}return null},n.prototype.itemFromTarget=function(t){return this.itemFromElement(t.target)},n.prototype.itemFromRelatedTarget=function(t){return this.itemFromElement(t.relatedTarget)},n.prototype.groupFromTarget=function(t){var e=t.center?t.center.y:t.clientY,i=this.groupIds;i.length<=0&&this.groupsData&&(i=this.groupsData.getIds({order:this.options.groupOrder}));for(var o=0;oa&&ea)return s}else if(0===o&&es&&(s=r.top+r.height)}while(a)}}o.height=s-o.top+.5*i.item.vertical},e.nostack=function(t,i,o,n){for(var s=0;so[r].index&&e.collisionByTimes(o[n],o[r])){s=o[r];break}null!=s&&(o[n].top=s.top+s.height)}while(s)}for(var a=0;ao[h].index&&(o[r].top+=o[h].height);for(var d=t[r],l=0;le.right&&t.top-i.vertical+.001e.top:t.left-i.horizontal+.001e.left&&t.top-i.vertical+.001e.top},e.collisionByTimes=function(t,e){return t.start<=e.start&&t.end>=e.start&&t.tope.top||e.start<=t.start&&e.end>=t.start&&e.topt.top}},function(t,e,i){function o(t,e,i){if(this.props={dot:{width:0,height:0},line:{width:0,height:0}},this.options=i,t&&void 0==t.start)throw new Error('Property "start" missing in item '+t);n.call(this,t,e,i)}var n=i(23);o.prototype=new n(null,null,null),o.prototype.isVisible=function(t){var e=this.options.align,i=this.width*t.getMillisecondsPerPixel();return"right"==e?this.data.start.getTime()>t.start&&this.data.start.getTime()-it.start&&this.data.start.getTime()t.start&&this.data.start.getTime()-i/2t.start&&this.data.startt.start},o.prototype._createDomElement=function(){this.dom||(this.dom={},this.dom.box=document.createElement("div"),this.dom.frame=document.createElement("div"),this.dom.frame.className="vis-item-overflow",this.dom.box.appendChild(this.dom.frame),this.dom.content=document.createElement("div"),this.dom.content.className="vis-item-content",this.dom.frame.appendChild(this.dom.content),this.dirty=!0)},o.prototype._appendDomElement=function(){if(!this.parent)throw new Error("Cannot redraw item: no parent attached");if(!this.dom.box.parentNode){var t=this.parent.dom.background;if(!t)throw new Error("Cannot redraw item: parent has no background container element");t.appendChild(this.dom.box)}this.displayed=!0},o.prototype._updateDirtyDomComponents=function(){if(this.dirty){this._updateContents(this.dom.content),this._updateDataAttributes(this.dom.content),this._updateStyle(this.dom.box);var t=(this.data.className?" "+this.data.className:"")+(this.selected?" vis-selected":"");this.dom.box.className=this.baseClassName+t}},o.prototype._getDomComponentsSizes=function(){return this.overflow="hidden"!==window.getComputedStyle(this.dom.content).overflow,{content:{width:this.dom.content.offsetWidth}}},o.prototype._updateDomComponentsSizes=function(t){this.props.content.width=t.content.width,this.height=0,this.dirty=!1},o.prototype._repaintDomAdditionals=function(){},o.prototype.redraw=function(t){var e,i=[this._createDomElement.bind(this),this._appendDomElement.bind(this),this._updateDirtyDomComponents.bind(this),function(){this.dirty&&(e=this._getDomComponentsSizes.bind(this)())}.bind(this),function(){this.dirty&&this._updateDomComponentsSizes.bind(this)(e)}.bind(this),this._repaintDomAdditionals.bind(this)];if(t)return i;var o;return i.forEach(function(t){o=t()}),o},o.prototype.show=r.prototype.show,o.prototype.hide=r.prototype.hide,o.prototype.repositionX=r.prototype.repositionX,o.prototype.repositionY=function(t){var e,i=this.options.orientation.item;if(void 0!==this.data.subgroup){var o=this.data.subgroup;this.dom.box.style.height=this.parent.subgroups[o].height+"px",this.dom.box.style.top="top"==i?this.parent.top+this.parent.subgroups[o].top+"px":this.parent.top+this.parent.height-this.parent.subgroups[o].top-this.parent.subgroups[o].height+"px",this.dom.box.style.bottom=""}else this.parent instanceof s?(e=Math.max(this.parent.height,this.parent.itemSet.body.domProps.center.height,this.parent.itemSet.body.domProps.centerContainer.height),this.dom.box.style.bottom="bottom"==i?"0":"",this.dom.box.style.top="top"==i?"0":""):(e=this.parent.height,this.dom.box.style.top=this.parent.top+"px",this.dom.box.style.bottom="");this.dom.box.style.height=e+"px"},t.exports=o},function(t,e,i){Object.defineProperty(e,"__esModule",{value:!0});var o="string",n="boolean",s="number",r="object",a={configure:{enabled:{boolean:n},filter:{boolean:n,function:"function"},container:{dom:"dom"},__type__:{object:r,boolean:n,function:"function"}},align:{string:o},rtl:{boolean:n,undefined:"undefined"},rollingMode:{follow:{boolean:n},offset:{number:s,undefined:"undefined"},__type__:{object:r}},verticalScroll:{boolean:n,undefined:"undefined"},horizontalScroll:{boolean:n,undefined:"undefined"},autoResize:{boolean:n},throttleRedraw:{number:s},clickToUse:{boolean:n},dataAttributes:{string:o,array:"array"},editable:{add:{boolean:n,undefined:"undefined"},remove:{boolean:n,undefined:"undefined"},updateGroup:{boolean:n,undefined:"undefined"},updateTime:{boolean:n,undefined:"undefined"},overrideItems:{boolean:n,undefined:"undefined"},__type__:{boolean:n,object:r}},end:{number:s,date:"date",string:o,moment:"moment"},format:{minorLabels:{millisecond:{string:o,undefined:"undefined"},second:{string:o,undefined:"undefined"},minute:{string:o,undefined:"undefined"},hour:{string:o,undefined:"undefined"},weekday:{string:o,undefined:"undefined"},day:{string:o,undefined:"undefined"},week:{string:o,undefined:"undefined"},month:{string:o,undefined:"undefined"},year:{string:o,undefined:"undefined"},__type__:{object:r,function:"function"}},majorLabels:{millisecond:{string:o,undefined:"undefined"},second:{string:o,undefined:"undefined"},minute:{string:o,undefined:"undefined"},hour:{string:o,undefined:"undefined"},weekday:{string:o,undefined:"undefined"},day:{string:o,undefined:"undefined"},week:{string:o,undefined:"undefined"},month:{string:o,undefined:"undefined"},year:{string:o,undefined:"undefined"},__type__:{object:r,function:"function"}},__type__:{object:r}},moment:{function:"function"},groupOrder:{string:o,function:"function"},groupEditable:{add:{boolean:n,undefined:"undefined"},remove:{boolean:n,undefined:"undefined"},order:{boolean:n,undefined:"undefined"},__type__:{boolean:n,object:r}},groupOrderSwap:{function:"function"},height:{string:o,number:s},hiddenDates:{start:{date:"date",number:s,string:o,moment:"moment"},end:{date:"date",number:s,string:o,moment:"moment"},repeat:{string:o},__type__:{object:r,array:"array"}},itemsAlwaysDraggable:{item:{boolean:n,undefined:"undefined"},range:{boolean:n,undefined:"undefined"},__type__:{boolean:n,object:r}},limitSize:{boolean:n},locale:{string:o},locales:{__any__:{any:"any"},__type__:{object:r}},margin:{axis:{number:s},item:{horizontal:{number:s,undefined:"undefined"},vertical:{number:s,undefined:"undefined"},__type__:{object:r,number:s}},__type__:{object:r,number:s}},max:{date:"date",number:s,string:o,moment:"moment"},maxHeight:{number:s,string:o},maxMinorChars:{number:s},min:{date:"date",number:s,string:o,moment:"moment"},minHeight:{number:s,string:o},moveable:{boolean:n},multiselect:{boolean:n},multiselectPerGroup:{boolean:n},onAdd:{function:"function"},onDropObjectOnItem:{function:"function"},onUpdate:{function:"function"},onMove:{function:"function"},onMoving:{function:"function"},onRemove:{function:"function"},onAddGroup:{function:"function"},onMoveGroup:{function:"function"},onRemoveGroup:{function:"function"},onInitialDrawComplete:{function:"function"},order:{function:"function"},orientation:{axis:{string:o,undefined:"undefined"},item:{string:o,undefined:"undefined"},__type__:{string:o,object:r}},selectable:{boolean:n},showCurrentTime:{boolean:n},showMajorLabels:{boolean:n},showMinorLabels:{boolean:n},stack:{boolean:n},stackSubgroups:{boolean:n},snap:{function:"function",null:"null"},start:{date:"date",number:s,string:o,moment:"moment"},template:{function:"function"},groupTemplate:{function:"function"},visibleFrameTemplate:{string:o,function:"function"},showTooltips:{boolean:n},tooltip:{followMouse:{boolean:n},overflowMethod:{string:["cap","flip"]},__type__:{object:r}},tooltipOnItemUpdateTime:{template:{function:"function"},__type__:{boolean:n,object:r}},timeAxis:{scale:{string:o,undefined:"undefined"},step:{number:s,undefined:"undefined"},__type__:{object:r}},type:{string:o},width:{string:o,number:s},zoomable:{boolean:n},zoomKey:{string:["ctrlKey","altKey","metaKey",""]},zoomMax:{number:s},zoomMin:{number:s},__type__:{object:r}},h={global:{align:["center","left","right"],direction:!1,autoResize:!0,clickToUse:!1,editable:{add:!1,remove:!1,updateGroup:!1,updateTime:!1},end:"",format:{minorLabels:{millisecond:"SSS",second:"s",minute:"HH:mm",hour:"HH:mm",weekday:"ddd D",day:"D",week:"w",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",week:"MMMM YYYY",month:"YYYY",year:""}},groupsDraggable:!1,height:"",locale:"",margin:{axis:[20,0,100,1],item:{horizontal:[10,0,100,1],vertical:[10,0,100,1]}},max:"",maxHeight:"",maxMinorChars:[7,0,20,1],min:"",minHeight:"",moveable:!1,multiselect:!1,multiselectPerGroup:!1,orientation:{axis:["both","bottom","top"],item:["bottom","top"]},selectable:!0,showCurrentTime:!1,showMajorLabels:!0,showMinorLabels:!0,stack:!0,stackSubgroups:!0,start:"",showTooltips:!0,tooltip:{followMouse:!1,overflowMethod:"flip"},tooltipOnItemUpdateTime:!1,type:["box","point","range","background"],width:"100%",zoomable:!0,zoomKey:["ctrlKey","altKey","metaKey",""],zoomMax:[31536e10,10,31536e10,1],zoomMin:[10,10,31536e10,1]}};e.allOptions=a,e.configureOptions=h},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(16),s=o(n),r=i(1),a=o(r),h=i(31),d=o(h),l=i(32),u=o(l),p=i(0),c=i(137).default,m=function(){function t(e,i,o){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;(0,d.default)(this,t),this.parent=e,this.changedOptions=[],this.container=i,this.allowCreation=!1,this.options={},this.initialized=!1,this.popupCounter=0,this.defaultOptions={enabled:!1,filter:!0,container:void 0,showButton:!0},p.extend(this.options,this.defaultOptions),this.configureOptions=o,this.moduleOptions={},this.domElements=[],this.popupDiv={},this.popupLimit=5,this.popupHistory={},this.colorPicker=new c(n),this.wrapper=void 0}return(0,u.default)(t,[{key:"setOptions",value:function(t){if(void 0!==t){this.popupHistory={},this._removePopup();var e=!0;"string"==typeof t?this.options.filter=t:t instanceof Array?this.options.filter=t.join():"object"===(void 0===t?"undefined":(0,a.default)(t))?(void 0!==t.container&&(this.options.container=t.container),void 0!==t.filter&&(this.options.filter=t.filter),void 0!==t.showButton&&(this.options.showButton=t.showButton),void 0!==t.enabled&&(e=t.enabled)):"boolean"==typeof t?(this.options.filter=!0,e=t):"function"==typeof t&&(this.options.filter=t,e=!0),!1===this.options.filter&&(e=!1),this.options.enabled=e}this._clean()}},{key:"setModuleOptions",value:function(t){this.moduleOptions=t,!0===this.options.enabled&&(this._clean(),void 0!==this.options.container&&(this.container=this.options.container),this._create())}},{key:"_create",value:function(){var t=this;this._clean(),this.changedOptions=[];var e=this.options.filter,i=0,o=!1;for(var n in this.configureOptions)this.configureOptions.hasOwnProperty(n)&&(this.allowCreation=!1,o=!1,"function"==typeof e?(o=e(n,[]),o=o||this._handleObject(this.configureOptions[n],[n],!0)):!0!==e&&-1===e.indexOf(n)||(o=!0),!1!==o&&(this.allowCreation=!0,i>0&&this._makeItem([]),this._makeHeader(n),this._handleObject(this.configureOptions[n],[n])),i++);if(!0===this.options.showButton){var s=document.createElement("div");s.className="vis-configuration vis-config-button",s.innerHTML="generate options",s.onclick=function(){t._printOptions()},s.onmouseover=function(){s.className="vis-configuration vis-config-button hover"},s.onmouseout=function(){s.className="vis-configuration vis-config-button"},this.optionsContainer=document.createElement("div"),this.optionsContainer.className="vis-configuration vis-config-option-container",this.domElements.push(this.optionsContainer),this.domElements.push(s)}this._push()}},{key:"_push",value:function(){this.wrapper=document.createElement("div"),this.wrapper.className="vis-configuration-wrapper",this.container.appendChild(this.wrapper);for(var t=0;t1?i-1:0),n=1;n2&&void 0!==arguments[2]&&arguments[2],o=document.createElement("div");return o.className="vis-configuration vis-config-label vis-config-s"+e.length,o.innerHTML=!0===i?""+t+":":t+":",o}},{key:"_makeDropdown",value:function(t,e,i){var o=document.createElement("select");o.className="vis-configuration vis-config-select";var n=0;void 0!==e&&-1!==t.indexOf(e)&&(n=t.indexOf(e));for(var s=0;ss&&1!==s&&(a.max=Math.ceil(1.2*e),d=a.max,h="range increased"),a.value=e}else a.value=o;var l=document.createElement("input");l.className="vis-configuration vis-config-rangeinput",l.value=a.value;var u=this;a.onchange=function(){l.value=this.value,u._update(Number(this.value),i)},a.oninput=function(){l.value=this.value};var p=this._makeLabel(i[i.length-1],i),c=this._makeItem(i,p,a,l);""!==h&&this.popupHistory[c]!==d&&(this.popupHistory[c]=d,this._setupPopup(h,c))}},{key:"_setupPopup",value:function(t,e){var i=this;if(!0===this.initialized&&!0===this.allowCreation&&this.popupCounter1&&void 0!==arguments[1]?arguments[1]:[],i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=!1,n=this.options.filter,s=!1;for(var r in t)if(t.hasOwnProperty(r)){o=!0;var a=t[r],h=p.copyAndExtendArray(e,r);if("function"==typeof n&&!1===(o=n(r,e))&&!(a instanceof Array)&&"string"!=typeof a&&"boolean"!=typeof a&&a instanceof Object&&(this.allowCreation=!1,o=this._handleObject(a,h,!0),this.allowCreation=!1===i),!1!==o){s=!0;var d=this._getValue(h);if(a instanceof Array)this._handleArray(a,d,h);else if("string"==typeof a)this._makeTextInput(a,d,h);else if("boolean"==typeof a)this._makeCheckbox(a,d,h);else if(a instanceof Object){var l=!0;if(-1!==e.indexOf("physics")&&this.moduleOptions.physics.solver!==r&&(l=!1),!0===l)if(void 0!==a.enabled){var u=p.copyAndExtendArray(h,"enabled"),c=this._getValue(u);if(!0===c){var m=this._makeLabel(r,h,!0);this._makeItem(h,m),s=this._handleObject(a,h)||s}else this._makeCheckbox(a,c,h)}else{var f=this._makeLabel(r,h,!0);this._makeItem(h,f),s=this._handleObject(a,h)||s}}else console.error("dont know how to handle",a,r,h)}}return s}},{key:"_handleArray",value:function(t,e,i){"string"==typeof t[0]&&"color"===t[0]?(this._makeColorField(t,e,i),t[1]!==e&&this.changedOptions.push({path:i,value:e})):"string"==typeof t[0]?(this._makeDropdown(t,e,i),t[0]!==e&&this.changedOptions.push({path:i,value:e})):"number"==typeof t[0]&&(this._makeRange(t,e,i),t[0]!==e&&this.changedOptions.push({path:i,value:Number(e)}))}},{key:"_update",value:function(t,e){var i=this._constructOptions(t,e);this.parent.body&&this.parent.body.emitter&&this.parent.body.emitter.emit&&this.parent.body.emitter.emit("configChange",i),this.initialized=!0,this.parent.setOptions(i)}},{key:"_constructOptions",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=i;t="true"===t||t,t="false"!==t&&t;for(var n=0;nvar options = "+(0,s.default)(t,null,2)+""}},{key:"getOptions",value:function(){for(var t={},e=0;e0){var r={};for(this._getRelevantData(s,r,o,n),this._applySampling(s,r),e=0;e0)switch(t.options.style){case"line":d.hasOwnProperty(s[e])||(d[s[e]]=f.calcPath(r[s[e]],t)),f.draw(d[s[e]],t,this.framework);case"point":case"points":"point"!=t.options.style&&"points"!=t.options.style&&1!=t.options.drawPoints.enabled||g.draw(r[s[e]],t,this.framework)}}}return a.cleanupElements(this.svgElements),!1},o.prototype._stack=function(t,e){var i,o,n,s,r;i=0;for(var a=0;at[a].x){r=e[h],s=0==h?r:e[h-1],i=h;break}}void 0===r&&(s=e[e.length-1],r=e[e.length-1]),o=r.x-s.x,n=r.y-s.y,t[a].y=0==o?t[a].orginalY+r.y:t[a].orginalY+n/o*(t[a].x-s.x)+s.y}},o.prototype._getRelevantData=function(t,e,i,o){var n,s,a,h;if(t.length>0)for(s=0;s0)for(var o=0;o0){var s=1,r=n.length,a=this.body.util.toGlobalScreen(n[n.length-1].x)-this.body.util.toGlobalScreen(n[0].x),h=r/a;s=Math.min(Math.ceil(.2*r),Math.max(1,Math.round(h)));for(var d=new Array(r),l=0;l0){for(s=0;s0&&(n=this.groups[t[s]],!0===r.stack&&"bar"===r.style?"left"===r.yAxisOrientation?a=a.concat(o):h=h.concat(o):i[t[s]]=n.getYRange(o,t[s]));m.getStackedYRange(a,i,t,"__barStackLeft","left"),m.getStackedYRange(h,i,t,"__barStackRight","right")}},o.prototype._updateYAxis=function(t,e){var i,o,n=!1,s=!1,r=!1,a=1e9,h=1e9,d=-1e9,l=-1e9;if(t.length>0){for(var u=0;ui?i:a,d=di?i:h,l=l=0&&t._redrawLabel(o-2,e.val,i,"vis-y-axis vis-major",t.props.majorCharHeight),!0===t.master&&(n?t._redrawLine(o,i,"vis-grid vis-horizontal vis-major",t.options.majorLinesOffset,t.props.majorLineWidth):t._redrawLine(o,i,"vis-grid vis-horizontal vis-minor",t.options.minorLinesOffset,t.props.minorLineWidth))});var r=0;void 0!==this.options[i].title&&void 0!==this.options[i].title.text&&(r=this.props.titleCharHeight);var h=!0===this.options.icons?Math.max(this.options.iconWidth,r)+this.options.labelOffsetX+15:r+this.options.labelOffsetX+15;return this.maxLabelSize>this.width-h&&!0===this.options.visible?(this.width=this.maxLabelSize+h,this.options.width=this.width+"px",a.cleanupElements(this.DOMelements.lines),a.cleanupElements(this.DOMelements.labels),this.redraw(),e=!0):this.maxLabelSizethis.minWidth?(this.width=Math.max(this.minWidth,this.maxLabelSize+h),this.options.width=this.width+"px",a.cleanupElements(this.DOMelements.lines),a.cleanupElements(this.DOMelements.labels),this.redraw(),e=!0):(a.cleanupElements(this.DOMelements.lines),a.cleanupElements(this.DOMelements.labels),e=!1),e},o.prototype.convertValue=function(t){return this.scale.convertValue(t)},o.prototype.screenToValue=function(t){return this.scale.screenToValue(t)},o.prototype._redrawLabel=function(t,e,i,o,n){var s=a.getDOMElement("div",this.DOMelements.labels,this.dom.frame);s.className=o,s.innerHTML=e,"left"===i?(s.style.left="-"+this.options.labelOffsetX+"px",s.style.textAlign="right"):(s.style.right="-"+this.options.labelOffsetX+"px",s.style.textAlign="left"),s.style.top=t-.5*n+this.options.labelOffsetY+"px",e+="";var r=Math.max(this.props.majorCharWidth,this.props.minorCharWidth);this.maxLabelSize6&&void 0!==arguments[6]&&arguments[6],a=arguments.length>7&&void 0!==arguments[7]&&arguments[7];if(this.majorSteps=[1,2,5,10],this.minorSteps=[.25,.5,1,2],this.customLines=null,this.containerHeight=n,this.majorCharHeight=s,this._start=t,this._end=e,this.scale=1,this.minorStepIdx=-1,this.magnitudefactor=1,this.determineScale(),this.zeroAlign=r,this.autoScaleStart=i,this.autoScaleEnd=o,this.formattingFunction=a,i||o){var h=this,d=function(t){var e=t-t%(h.magnitudefactor*h.minorSteps[h.minorStepIdx]);return t%(h.magnitudefactor*h.minorSteps[h.minorStepIdx])>h.magnitudefactor*h.minorSteps[h.minorStepIdx]*.5?e+h.magnitudefactor*h.minorSteps[h.minorStepIdx]:e};i&&(this._start-=2*this.magnitudefactor*this.minorSteps[this.minorStepIdx],this._start=d(this._start)),o&&(this._end+=this.magnitudefactor*this.minorSteps[this.minorStepIdx],this._end=d(this._end)),this.determineScale()}}o.prototype.setCharHeight=function(t){this.majorCharHeight=t},o.prototype.setHeight=function(t){this.containerHeight=t},o.prototype.determineScale=function(){var t=this._end-this._start;this.scale=this.containerHeight/t;var e=this.majorCharHeight/this.scale,i=t>0?Math.round(Math.log(t)/Math.LN10):0;this.minorStepIdx=-1,this.magnitudefactor=Math.pow(10,i);var o=0;i<0&&(o=i);for(var n=!1,s=o;Math.abs(s)<=Math.abs(i);s++){this.magnitudefactor=Math.pow(10,s);for(var r=0;r=e){n=!0,this.minorStepIdx=r;break}}if(!0===n)break}},o.prototype.is_major=function(t){return t%(this.magnitudefactor*this.majorSteps[this.minorStepIdx])==0},o.prototype.getStep=function(){return this.magnitudefactor*this.minorSteps[this.minorStepIdx]},o.prototype.getFirstMajor=function(){var t=this.magnitudefactor*this.majorSteps[this.minorStepIdx];return this.convertValue(this._start+(t-this._start%t)%t)},o.prototype.formatValue=function(t){var e=t.toPrecision(5);return"function"==typeof this.formattingFunction&&(e=this.formattingFunction(t)),"number"==typeof e?""+e:"string"==typeof e?e:t.toPrecision(5)},o.prototype.getLines=function(){for(var t=[],e=this.getStep(),i=(e-this._start%e)%e,o=this._start+i;this._end-o>1e-5;o+=e)o!=this._start&&t.push({major:this.is_major(o),y:this.convertValue(o),val:this.formatValue(o)});return t},o.prototype.followScale=function(t){var e=this.minorStepIdx,i=this._start,o=this._end,n=this,s=function(){n.magnitudefactor*=2},r=function(){n.magnitudefactor/=2};t.minorStepIdx<=1&&this.minorStepIdx<=1||t.minorStepIdx>1&&this.minorStepIdx>1||(t.minorStepIdxo+1e-5)r(),d=!1;else{if(!this.autoScaleStart&&this._start=0)){r(),d=!1;continue}console.warn("Can't adhere to given 'min' range, due to zeroalign")}this.autoScaleStart&&this.autoScaleEnd&&ue.x?1:-1})):this.itemsData=[]},o.prototype.getItems=function(){return this.itemsData},o.prototype.setZeroPosition=function(t){this.zeroPosition=t},o.prototype.setOptions=function(t){if(void 0!==t){var e=["sampling","style","sort","yAxisOrientation","barChart","zIndex","excludeFromStacking","excludeFromLegend"];r.selectiveDeepExtend(e,this.options,t),"function"==typeof t.drawPoints&&(t.drawPoints={onRender:t.drawPoints}),r.mergeOptions(this.options,t,"interpolation"),r.mergeOptions(this.options,t,"drawPoints"),r.mergeOptions(this.options,t,"shaded"),t.interpolation&&"object"==(0,s.default)(t.interpolation)&&t.interpolation.parametrization&&("uniform"==t.interpolation.parametrization?this.options.interpolation.alpha=0:"chordal"==t.interpolation.parametrization?this.options.interpolation.alpha=1:(this.options.interpolation.parametrization="centripetal",this.options.interpolation.alpha=.5))}},o.prototype.update=function(t){this.group=t,this.content=t.content||"graph",this.className=t.className||this.className||"vis-graph-group"+this.groupsUsingDefaultStyles[0]%10,this.visible=void 0===t.visible||t.visible,this.style=t.style,this.setOptions(t.options)},o.prototype.getLegend=function(t,e,i,o,n){if(void 0==i||null==i){i={svg:document.createElementNS("http://www.w3.org/2000/svg","svg"),svgElements:{},options:this.options,groups:[this]}}switch(void 0!=o&&null!=o||(o=0),void 0!=n&&null!=n||(n=.5*e),this.options.style){case"line":h.drawIcon(this,o,n,t,e,i);break;case"points":case"point":d.drawIcon(this,o,n,t,e,i);break;case"bar":a.drawIcon(this,o,n,t,e,i)}return{icon:i.svg,label:this.content,orientation:this.options.yAxisOrientation}},o.prototype.getYRange=function(t){for(var e=t[0].y,i=t[0].y,o=0;ot[o].y?t[o].y:e,i=i0&&(i=Math.min(i,Math.abs(e[o-1].screen_x-e[o].screen_x))),0===i&&(void 0===t[e[o].screen_x]&&(t[e[o].screen_x]={amount:0,resolved:0,accumulatedPositive:0,accumulatedNegative:0}),t[e[o].screen_x].amount+=1)},o._getSafeDrawData=function(t,e,i){var o,n;return t0?(o=t0){t.sort(function(t,e){return t.screen_x===e.screen_x?t.groupIde[s].screen_y?e[s].screen_y:o,n=nt[r].accumulatedNegative?t[r].accumulatedNegative:o,o=o>t[r].accumulatedPositive?t[r].accumulatedPositive:o,n=n0){return 1==e.options.interpolation.enabled?o._catmullRom(t,e):o._linear(t)}},o.drawIcon=function(t,e,i,o,s,r){var a,h,d=.5*s,l=n.getSVGElement("rect",r.svgElements,r.svg);if(l.setAttributeNS(null,"x",e),l.setAttributeNS(null,"y",i-d),l.setAttributeNS(null,"width",o),l.setAttributeNS(null,"height",2*d),l.setAttributeNS(null,"class","vis-outline"),a=n.getSVGElement("path",r.svgElements,r.svg),a.setAttributeNS(null,"class",t.className),void 0!==t.style&&a.setAttributeNS(null,"style",t.style),a.setAttributeNS(null,"d","M"+e+","+i+" L"+(e+o)+","+i),1==t.options.shaded.enabled&&(h=n.getSVGElement("path",r.svgElements,r.svg),"top"==t.options.shaded.orientation?h.setAttributeNS(null,"d","M"+e+", "+(i-d)+"L"+e+","+i+" L"+(e+o)+","+i+" L"+(e+o)+","+(i-d)):h.setAttributeNS(null,"d","M"+e+","+i+" L"+e+","+(i+d)+" L"+(e+o)+","+(i+d)+"L"+(e+o)+","+i),h.setAttributeNS(null,"class",t.className+" vis-icon-fill"),void 0!==t.options.shaded.style&&""!==t.options.shaded.style&&h.setAttributeNS(null,"style",t.options.shaded.style)),1==t.options.drawPoints.enabled){var u={style:t.options.drawPoints.style,styles:t.options.drawPoints.styles,size:t.options.drawPoints.size,className:t.className};n.drawPoint(e+.5*o,i,u,r.svgElements,r.svg)}},o.drawShading=function(t,e,i,o){if(1==e.options.shaded.enabled){var s=Number(o.svg.style.height.replace("px","")),r=n.getSVGElement("path",o.svgElements,o.svg),a="L";1==e.options.interpolation.enabled&&(a="C");var h,d=0;d="top"==e.options.shaded.orientation?0:"bottom"==e.options.shaded.orientation?s:Math.min(Math.max(0,e.zeroPosition),s),h="group"==e.options.shaded.orientation&&null!=i&&void 0!=i?"M"+t[0][0]+","+t[0][1]+" "+this.serializePath(t,a,!1)+" L"+i[i.length-1][0]+","+i[i.length-1][1]+" "+this.serializePath(i,a,!0)+i[0][0]+","+i[0][1]+" Z":"M"+t[0][0]+","+t[0][1]+" "+this.serializePath(t,a,!1)+" V"+d+" H"+t[0][0]+" Z",r.setAttributeNS(null,"class",e.className+" vis-fill"),void 0!==e.options.shaded.style&&r.setAttributeNS(null,"style",e.options.shaded.style),r.setAttributeNS(null,"d",h)}},o.draw=function(t,e,i){if(null!=t&&void 0!=t){var o=n.getSVGElement("path",i.svgElements,i.svg);o.setAttributeNS(null,"class",e.className),void 0!==e.style&&o.setAttributeNS(null,"style",e.style);var s="L";1==e.options.interpolation.enabled&&(s="C"),o.setAttributeNS(null,"d","M"+t[0][0]+","+t[0][1]+" "+this.serializePath(t,s,!1))}},o.serializePath=function(t,e,i){if(t.length<2)return"";var o,n=e;if(i)for(o=t.length-2;o>0;o--)n+=t[o][0]+","+t[o][1]+" ";else for(o=1;o0&&(m=1/m),f=3*g*(g+v),f>0&&(f=1/f),a={screen_x:(-b*o.screen_x+p*n.screen_x+_*s.screen_x)*m,screen_y:(-b*o.screen_y+p*n.screen_y+_*s.screen_y)*m},h={screen_x:(y*n.screen_x+c*s.screen_x-b*r.screen_x)*f,screen_y:(y*n.screen_y+c*s.screen_y-b*r.screen_y)*f},0==a.screen_x&&0==a.screen_y&&(a=n),0==h.screen_x&&0==h.screen_y&&(h=s),x.push([a.screen_x,a.screen_y]),x.push([h.screen_x,h.screen_y]),x.push([s.screen_x,s.screen_y]);return x},o._linear=function(t){for(var e=[],i=0;i");this.dom.textArea.innerHTML=r,this.dom.textArea.style.lineHeight=.75*this.options.iconSize+this.options.iconSpacing+"px"}},o.prototype.drawLegendIcons=function(){if(this.dom.frame.parentNode){var t=(0,s.default)(this.groups);t.sort(function(t,e){return t=t.length?(this._t=void 0,n(1)):"keys"==e?n(0,i):"values"==e?n(0,t[i]):n(0,[i,t[i]])},"values"),s.Arguments=s.Array,o("keys"),o("values"),o("entries")},function(t,e){t.exports=function(){}},function(t,e){t.exports=function(t,e){return{value:e,done:!!t}}},function(t,e,i){var o=i(34);t.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==o(t)?t.split(""):Object(t)}},function(t,e,i){var o=i(93);t.exports=function(t,e,i){if(o(t),void 0===e)return t;switch(i){case 1:return function(i){return t.call(e,i)};case 2:return function(i,o){return t.call(e,i,o)};case 3:return function(i,o,n){return t.call(e,i,o,n)}}return function(){return t.apply(e,arguments)}}},function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},function(t,e,i){var o=i(37),n=i(26),s=i(42),r={};i(14)(r,i(7)("iterator"),function(){return this}),t.exports=function(t,e,i){t.prototype=o(r,{next:n(1,i)}),s(t,e+" Iterator")}},function(t,e,i){var o=i(8),n=i(18),s=i(27);t.exports=i(9)?Object.defineProperties:function(t,e){n(t);for(var i,r=s(e),a=r.length,h=0;a>h;)o.f(t,i=r[h++],e[i]);return t}},function(t,e,i){var o=i(13),n=i(97),s=i(98);t.exports=function(t){return function(e,i,r){var a,h=o(e),d=n(h.length),l=s(r,d);if(t&&i!=i){for(;d>l;)if((a=h[l++])!=a)return!0}else for(;d>l;l++)if((t||l in h)&&h[l]===i)return t||l||0;return!t&&-1}}},function(t,e,i){var o=i(38),n=Math.min;t.exports=function(t){return t>0?n(o(t),9007199254740991):0}},function(t,e,i){var o=i(38),n=Math.max,s=Math.min;t.exports=function(t,e){return t=o(t),t<0?n(t+e,0):s(t,e)}},function(t,e,i){var o=i(6).document;t.exports=o&&o.documentElement},function(t,e,i){var o=i(10),n=i(61),s=i(39)("IE_PROTO"),r=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=n(t),o(t,s)?t[s]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?r:null}},function(t,e,i){var o=i(38),n=i(35);t.exports=function(t){return function(e,i){var s,r,a=String(n(e)),h=o(i),d=a.length;return h<0||h>=d?t?"":void 0:(s=a.charCodeAt(h),s<55296||s>56319||h+1===d||(r=a.charCodeAt(h+1))<56320||r>57343?t?a.charAt(h):s:t?a.slice(h,h+2):r-56320+(s-55296<<10)+65536)}}},function(t,e,i){var o=i(18),n=i(103);t.exports=i(2).getIterator=function(t){var e=n(t);if("function"!=typeof e)throw TypeError(t+" is not iterable!");return o(e.call(t))}},function(t,e,i){var o=i(104),n=i(7)("iterator"),s=i(24);t.exports=i(2).getIteratorMethod=function(t){if(void 0!=t)return t[n]||t["@@iterator"]||s[o(t)]}},function(t,e,i){var o=i(34),n=i(7)("toStringTag"),s="Arguments"==o(function(){return arguments}()),r=function(t,e){try{return t[e]}catch(t){}};t.exports=function(t){var e,i,a;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(i=r(e=Object(t),n))?i:s?o(e):"Object"==(a=o(e))&&"function"==typeof e.callee?"Arguments":a}},function(t,e,i){i(106);var o=i(2).Object;t.exports=function(t,e){return o.create(t,e)}},function(t,e,i){var o=i(17);o(o.S,"Object",{create:i(37)})},function(t,e,i){i(108),t.exports=i(2).Object.keys},function(t,e,i){var o=i(61),n=i(27);i(109)("keys",function(){return function(t){return n(o(t))}})},function(t,e,i){var o=i(17),n=i(2),s=i(20);t.exports=function(t,e){var i=(n.Object||{})[t]||Object[t],r={};r[t]=e(i),o(o.S+o.F*s(function(){i(1)}),"Object",r)}},function(t,e,i){t.exports={default:i(111),__esModule:!0}},function(t,e,i){i(62),i(55),t.exports=i(44).f("iterator")},function(t,e,i){t.exports={default:i(113),__esModule:!0}},function(t,e,i){i(114),i(120),i(121),i(122),t.exports=i(2).Symbol},function(t,e,i){var o=i(6),n=i(10),s=i(9),r=i(17),a=i(59),h=i(115).KEY,d=i(20),l=i(40),u=i(42),p=i(28),c=i(7),m=i(44),f=i(45),g=i(116),v=i(117),y=i(18),b=i(19),_=i(13),w=i(36),x=i(26),D=i(37),S=i(118),k=i(119),T=i(8),C=i(27),M=k.f,O=T.f,E=S.f,P=o.Symbol,I=o.JSON,A=I&&I.stringify,N=c("_hidden"),R=c("toPrimitive"),L={}.propertyIsEnumerable,F=l("symbol-registry"),H=l("symbols"),Y=l("op-symbols"),j=Object.prototype,G="function"==typeof P,z=o.QObject,W=!z||!z.prototype||!z.prototype.findChild,V=s&&d(function(){return 7!=D(O({},"a",{get:function(){return O(this,"a",{value:7}).a}})).a})?function(t,e,i){var o=M(j,e);o&&delete j[e],O(t,e,i),o&&t!==j&&O(j,e,o)}:O,B=function(t){var e=H[t]=D(P.prototype);return e._k=t,e},U=G&&"symbol"==typeof P.iterator?function(t){return"symbol"==typeof t}:function(t){return t instanceof P},q=function(t,e,i){return t===j&&q(Y,e,i),y(t),e=w(e,!0),y(i),n(H,e)?(i.enumerable?(n(t,N)&&t[N][e]&&(t[N][e]=!1),i=D(i,{enumerable:x(0,!1)})):(n(t,N)||O(t,N,x(1,{})),t[N][e]=!0),V(t,e,i)):O(t,e,i)},X=function(t,e){y(t);for(var i,o=g(e=_(e)),n=0,s=o.length;s>n;)q(t,i=o[n++],e[i]);return t},Z=function(t,e){return void 0===e?D(t):X(D(t),e)},K=function(t){var e=L.call(this,t=w(t,!0));return!(this===j&&n(H,t)&&!n(Y,t))&&(!(e||!n(this,t)||!n(H,t)||n(this,N)&&this[N][t])||e)},J=function(t,e){if(t=_(t),e=w(e,!0),t!==j||!n(H,e)||n(Y,e)){var i=M(t,e);return!i||!n(H,e)||n(t,N)&&t[N][e]||(i.enumerable=!0),i}},$=function(t){for(var e,i=E(_(t)),o=[],s=0;i.length>s;)n(H,e=i[s++])||e==N||e==h||o.push(e);return o},Q=function(t){for(var e,i=t===j,o=E(i?Y:_(t)),s=[],r=0;o.length>r;)!n(H,e=o[r++])||i&&!n(j,e)||s.push(H[e]);return s};G||(P=function(){if(this instanceof P)throw TypeError("Symbol is not a constructor!");var t=p(arguments.length>0?arguments[0]:void 0),e=function(i){this===j&&e.call(Y,i),n(this,N)&&n(this[N],t)&&(this[N][t]=!1),V(this,t,x(1,i))};return s&&W&&V(j,t,{configurable:!0,set:e}),B(t)},a(P.prototype,"toString",function(){return this._k}),k.f=J,T.f=q,i(64).f=S.f=$,i(46).f=K,i(63).f=Q,s&&!i(25)&&a(j,"propertyIsEnumerable",K,!0),m.f=function(t){return B(c(t))}),r(r.G+r.W+r.F*!G,{Symbol:P});for(var tt="hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","),et=0;tt.length>et;)c(tt[et++]);for(var it=C(c.store),ot=0;it.length>ot;)f(it[ot++]);r(r.S+r.F*!G,"Symbol",{for:function(t){return n(F,t+="")?F[t]:F[t]=P(t)},keyFor:function(t){if(!U(t))throw TypeError(t+" is not a symbol!");for(var e in F)if(F[e]===t)return e},useSetter:function(){W=!0},useSimple:function(){W=!1}}),r(r.S+r.F*!G,"Object",{create:Z,defineProperty:q,defineProperties:X,getOwnPropertyDescriptor:J,getOwnPropertyNames:$,getOwnPropertySymbols:Q}),I&&r(r.S+r.F*(!G||d(function(){var t=P();return"[null]"!=A([t])||"{}"!=A({a:t})||"{}"!=A(Object(t))})),"JSON",{stringify:function(t){for(var e,i,o=[t],n=1;arguments.length>n;)o.push(arguments[n++]);if(i=e=o[1],(b(e)||void 0!==t)&&!U(t))return v(e)||(e=function(t,e){if("function"==typeof i&&(e=i.call(this,t,e)),!U(e))return e}),o[1]=e,A.apply(I,o)}}),P.prototype[R]||i(14)(P.prototype,R,P.prototype.valueOf),u(P,"Symbol"),u(Math,"Math",!0),u(o.JSON,"JSON",!0)},function(t,e,i){var o=i(28)("meta"),n=i(19),s=i(10),r=i(8).f,a=0,h=Object.isExtensible||function(){return!0},d=!i(20)(function(){return h(Object.preventExtensions({}))}),l=function(t){r(t,o,{value:{i:"O"+ ++a,w:{}}})},u=function(t,e){if(!n(t))return"symbol"==typeof t?t:("string"==typeof t?"S":"P")+t;if(!s(t,o)){if(!h(t))return"F";if(!e)return"E";l(t)}return t[o].i},p=function(t,e){if(!s(t,o)){if(!h(t))return!0;if(!e)return!1;l(t)}return t[o].w},c=function(t){return d&&m.NEED&&h(t)&&!s(t,o)&&l(t),t},m=t.exports={KEY:o,NEED:!1,fastKey:u,getWeak:p,onFreeze:c}},function(t,e,i){var o=i(27),n=i(63),s=i(46);t.exports=function(t){var e=o(t),i=n.f;if(i)for(var r,a=i(t),h=s.f,d=0;a.length>d;)h.call(t,r=a[d++])&&e.push(r);return e}},function(t,e,i){var o=i(34);t.exports=Array.isArray||function(t){return"Array"==o(t)}},function(t,e,i){var o=i(13),n=i(64).f,s={}.toString,r="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],a=function(t){try{return n(t)}catch(t){return r.slice()}};t.exports.f=function(t){return r&&"[object Window]"==s.call(t)?a(t):n(o(t))}},function(t,e,i){var o=i(46),n=i(26),s=i(13),r=i(36),a=i(10),h=i(57),d=Object.getOwnPropertyDescriptor;e.f=i(9)?d:function(t,e){if(t=s(t),e=r(e,!0),h)try{return d(t,e)}catch(t){}if(a(t,e))return n(!o.f.call(t,e),t[e])}},function(t,e){},function(t,e,i){i(45)("asyncIterator")},function(t,e,i){i(45)("observable")},function(t,e,i){(function(t){!function(e,i){t.exports=i()}(0,function(){function e(){return Co.apply(null,arguments)}function i(t){return t instanceof Array||"[object Array]"===Object.prototype.toString.call(t)}function o(t){return null!=t&&"[object Object]"===Object.prototype.toString.call(t)}function n(t){if(Object.getOwnPropertyNames)return 0===Object.getOwnPropertyNames(t).length;var e;for(e in t)if(t.hasOwnProperty(e))return!1;return!0}function s(t){return void 0===t}function r(t){return"number"==typeof t||"[object Number]"===Object.prototype.toString.call(t)}function a(t){return t instanceof Date||"[object Date]"===Object.prototype.toString.call(t)}function h(t,e){var i,o=[];for(i=0;i0)for(i=0;i0?"future":"past"];return k(i)?i(e):i.replace(/%s/i,e)}function R(t,e){var i=t.toLowerCase();Fo[i]=Fo[i+"s"]=Fo[e]=t}function L(t){return"string"==typeof t?Fo[t]||Fo[t.toLowerCase()]:void 0}function F(t){var e,i,o={};for(i in t)d(t,i)&&(e=L(i))&&(o[e]=t[i]);return o}function H(t,e){Ho[t]=e}function Y(t){var e=[];for(var i in t)e.push({unit:i,priority:Ho[i]});return e.sort(function(t,e){return t.priority-e.priority}),e}function j(t,e,i){var o=""+Math.abs(t),n=e-o.length;return(t>=0?i?"+":"":"-")+Math.pow(10,Math.max(0,n)).toString().substr(1)+o}function G(t,e,i,o){var n=o;"string"==typeof o&&(n=function(){return this[o]()}),t&&(zo[t]=n),e&&(zo[e[0]]=function(){return j(n.apply(this,arguments),e[1],e[2])}),i&&(zo[i]=function(){return this.localeData().ordinal(n.apply(this,arguments),t)})}function z(t){return t.match(/\[[\s\S]/)?t.replace(/^\[|\]$/g,""):t.replace(/\\/g,"")}function W(t){var e,i,o=t.match(Yo);for(e=0,i=o.length;e=0&&jo.test(t);)t=t.replace(jo,i),jo.lastIndex=0,o-=1;return t}function U(t,e,i){an[t]=k(e)?e:function(t,o){return t&&i?i:e}}function q(t,e){return d(an,t)?an[t](e._strict,e._locale):new RegExp(X(t))}function X(t){return Z(t.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(t,e,i,o,n){return e||i||o||n}))}function Z(t){return t.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function K(t,e){var i,o=e;for("string"==typeof t&&(t=[t]),r(e)&&(o=function(t,i){i[e]=_(t)}),i=0;i=0&&isFinite(a.getFullYear())&&a.setFullYear(t),a}function _t(t){var e=new Date(Date.UTC.apply(null,arguments));return t<100&&t>=0&&isFinite(e.getUTCFullYear())&&e.setUTCFullYear(t),e}function wt(t,e,i){var o=7+e-i;return-(7+_t(t,0,o).getUTCDay()-e)%7+o-1}function xt(t,e,i,o,n){var s,r,a=(7+i-o)%7,h=wt(t,o,n),d=1+7*(e-1)+a+h;return d<=0?(s=t-1,r=Q(s)+d):d>Q(t)?(s=t+1,r=d-Q(t)):(s=t,r=d),{year:s,dayOfYear:r}}function Dt(t,e,i){var o,n,s=wt(t.year(),e,i),r=Math.floor((t.dayOfYear()-s-1)/7)+1;return r<1?(n=t.year()-1,o=r+St(n,e,i)):r>St(t.year(),e,i)?(o=r-St(t.year(),e,i),n=t.year()+1):(n=t.year(),o=r),{week:o,year:n}}function St(t,e,i){var o=wt(t,e,i),n=wt(t+1,e,i);return(Q(t)-o+n)/7}function kt(t){return Dt(t,this._week.dow,this._week.doy).week}function Tt(){return this._week.dow}function Ct(){return this._week.doy}function Mt(t){var e=this.localeData().week(this);return null==t?e:this.add(7*(t-e),"d")}function Ot(t){var e=Dt(this,1,4).week;return null==t?e:this.add(7*(t-e),"d")}function Et(t,e){return"string"!=typeof t?t:isNaN(t)?(t=e.weekdaysParse(t),"number"==typeof t?t:null):parseInt(t,10)}function Pt(t,e){return"string"==typeof t?e.weekdaysParse(t)%7||7:isNaN(t)?null:t}function It(t,e){return t?i(this._weekdays)?this._weekdays[t.day()]:this._weekdays[this._weekdays.isFormat.test(e)?"format":"standalone"][t.day()]:i(this._weekdays)?this._weekdays:this._weekdays.standalone}function At(t){return t?this._weekdaysShort[t.day()]:this._weekdaysShort}function Nt(t){return t?this._weekdaysMin[t.day()]:this._weekdaysMin}function Rt(t,e,i){var o,n,s,r=t.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],o=0;o<7;++o)s=u([2e3,1]).day(o),this._minWeekdaysParse[o]=this.weekdaysMin(s,"").toLocaleLowerCase(),this._shortWeekdaysParse[o]=this.weekdaysShort(s,"").toLocaleLowerCase(),this._weekdaysParse[o]=this.weekdays(s,"").toLocaleLowerCase();return i?"dddd"===e?(n=yn.call(this._weekdaysParse,r),-1!==n?n:null):"ddd"===e?(n=yn.call(this._shortWeekdaysParse,r),-1!==n?n:null):(n=yn.call(this._minWeekdaysParse,r),-1!==n?n:null):"dddd"===e?-1!==(n=yn.call(this._weekdaysParse,r))?n:-1!==(n=yn.call(this._shortWeekdaysParse,r))?n:(n=yn.call(this._minWeekdaysParse,r),-1!==n?n:null):"ddd"===e?-1!==(n=yn.call(this._shortWeekdaysParse,r))?n:-1!==(n=yn.call(this._weekdaysParse,r))?n:(n=yn.call(this._minWeekdaysParse,r),-1!==n?n:null):-1!==(n=yn.call(this._minWeekdaysParse,r))?n:-1!==(n=yn.call(this._weekdaysParse,r))?n:(n=yn.call(this._shortWeekdaysParse,r),-1!==n?n:null)}function Lt(t,e,i){var o,n,s;if(this._weekdaysParseExact)return Rt.call(this,t,e,i);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),o=0;o<7;o++){if(n=u([2e3,1]).day(o),i&&!this._fullWeekdaysParse[o]&&(this._fullWeekdaysParse[o]=new RegExp("^"+this.weekdays(n,"").replace(".","\\.?")+"$","i"),this._shortWeekdaysParse[o]=new RegExp("^"+this.weekdaysShort(n,"").replace(".","\\.?")+"$","i"),this._minWeekdaysParse[o]=new RegExp("^"+this.weekdaysMin(n,"").replace(".","\\.?")+"$","i")),this._weekdaysParse[o]||(s="^"+this.weekdays(n,"")+"|^"+this.weekdaysShort(n,"")+"|^"+this.weekdaysMin(n,""),this._weekdaysParse[o]=new RegExp(s.replace(".",""),"i")),i&&"dddd"===e&&this._fullWeekdaysParse[o].test(t))return o;if(i&&"ddd"===e&&this._shortWeekdaysParse[o].test(t))return o;if(i&&"dd"===e&&this._minWeekdaysParse[o].test(t))return o;if(!i&&this._weekdaysParse[o].test(t))return o}}function Ft(t){if(!this.isValid())return null!=t?this:NaN;var e=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=t?(t=Et(t,this.localeData()),this.add(t-e,"d")):e}function Ht(t){if(!this.isValid())return null!=t?this:NaN;var e=(this.day()+7-this.localeData()._week.dow)%7;return null==t?e:this.add(t-e,"d")}function Yt(t){if(!this.isValid())return null!=t?this:NaN;if(null!=t){var e=Pt(t,this.localeData());return this.day(this.day()%7?e:e-7)}return this.day()||7}function jt(t){return this._weekdaysParseExact?(d(this,"_weekdaysRegex")||Wt.call(this),t?this._weekdaysStrictRegex:this._weekdaysRegex):(d(this,"_weekdaysRegex")||(this._weekdaysRegex=On),this._weekdaysStrictRegex&&t?this._weekdaysStrictRegex:this._weekdaysRegex)}function Gt(t){return this._weekdaysParseExact?(d(this,"_weekdaysRegex")||Wt.call(this),t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(d(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=En),this._weekdaysShortStrictRegex&&t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)}function zt(t){return this._weekdaysParseExact?(d(this,"_weekdaysRegex")||Wt.call(this),t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(d(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=Pn),this._weekdaysMinStrictRegex&&t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)}function Wt(){function t(t,e){return e.length-t.length}var e,i,o,n,s,r=[],a=[],h=[],d=[];for(e=0;e<7;e++)i=u([2e3,1]).day(e),o=this.weekdaysMin(i,""),n=this.weekdaysShort(i,""),s=this.weekdays(i,""),r.push(o),a.push(n),h.push(s),d.push(o),d.push(n),d.push(s);for(r.sort(t),a.sort(t),h.sort(t),d.sort(t),e=0;e<7;e++)a[e]=Z(a[e]),h[e]=Z(h[e]),d[e]=Z(d[e]);this._weekdaysRegex=new RegExp("^("+d.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+h.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+a.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+r.join("|")+")","i")}function Vt(){return this.hours()%12||12}function Bt(){return this.hours()||24}function Ut(t,e){G(t,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),e)})}function qt(t,e){return e._meridiemParse}function Xt(t){return"p"===(t+"").toLowerCase().charAt(0)}function Zt(t,e,i){return t>11?i?"pm":"PM":i?"am":"AM"}function Kt(t){return t?t.toLowerCase().replace("_","-"):t}function Jt(t){for(var e,i,o,n,s=0;s0;){if(o=$t(n.slice(0,e).join("-")))return o;if(i&&i.length>=e&&w(n,i,!0)>=e-1)break;e--}s++}return In}function $t(e){var i=null;if(!Ln[e]&&void 0!==t&&t&&t.exports)try{i=In._abbr;!function(){var t=new Error('Cannot find module "./locale"');throw t.code="MODULE_NOT_FOUND",t}(),Qt(i)}catch(t){}return Ln[e]}function Qt(t,e){var i;return t&&(i=s(e)?ie(t):te(t,e),i?In=i:"undefined"!=typeof console&&console.warn&&console.warn("Locale "+t+" not found. Did you forget to load it?")),In._abbr}function te(t,e){if(null!==e){var i,o=Rn;if(e.abbr=t,null!=Ln[t])S("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),o=Ln[t]._config;else if(null!=e.parentLocale)if(null!=Ln[e.parentLocale])o=Ln[e.parentLocale]._config;else{if(null==(i=$t(e.parentLocale)))return Fn[e.parentLocale]||(Fn[e.parentLocale]=[]),Fn[e.parentLocale].push({name:t,config:e}),null;o=i._config}return Ln[t]=new M(C(o,e)),Fn[t]&&Fn[t].forEach(function(t){te(t.name,t.config)}),Qt(t),Ln[t]}return delete Ln[t],null}function ee(t,e){if(null!=e){var i,o,n=Rn;o=$t(t),null!=o&&(n=o._config),e=C(n,e),i=new M(e),i.parentLocale=Ln[t],Ln[t]=i,Qt(t)}else null!=Ln[t]&&(null!=Ln[t].parentLocale?Ln[t]=Ln[t].parentLocale:null!=Ln[t]&&delete Ln[t]);return Ln[t]}function ie(t){var e;if(t&&t._locale&&t._locale._abbr&&(t=t._locale._abbr),!t)return In;if(!i(t)){if(e=$t(t))return e;t=[t]}return Jt(t)}function oe(){return Io(Ln)}function ne(t){var e,i=t._a;return i&&-2===c(t).overflow&&(e=i[ln]<0||i[ln]>11?ln:i[un]<1||i[un]>ht(i[dn],i[ln])?un:i[pn]<0||i[pn]>24||24===i[pn]&&(0!==i[cn]||0!==i[mn]||0!==i[fn])?pn:i[cn]<0||i[cn]>59?cn:i[mn]<0||i[mn]>59?mn:i[fn]<0||i[fn]>999?fn:-1,c(t)._overflowDayOfYear&&(eun)&&(e=un),c(t)._overflowWeeks&&-1===e&&(e=gn),c(t)._overflowWeekday&&-1===e&&(e=vn),c(t).overflow=e),t}function se(t,e,i){return null!=t?t:null!=e?e:i}function re(t){var i=new Date(e.now());return t._useUTC?[i.getUTCFullYear(),i.getUTCMonth(),i.getUTCDate()]:[i.getFullYear(),i.getMonth(),i.getDate()]}function ae(t){var e,i,o,n,s,r=[];if(!t._d){for(o=re(t),t._w&&null==t._a[un]&&null==t._a[ln]&&he(t),null!=t._dayOfYear&&(s=se(t._a[dn],o[dn]),(t._dayOfYear>Q(s)||0===t._dayOfYear)&&(c(t)._overflowDayOfYear=!0),i=_t(s,0,t._dayOfYear),t._a[ln]=i.getUTCMonth(),t._a[un]=i.getUTCDate()),e=0;e<3&&null==t._a[e];++e)t._a[e]=r[e]=o[e];for(;e<7;e++)t._a[e]=r[e]=null==t._a[e]?2===e?1:0:t._a[e];24===t._a[pn]&&0===t._a[cn]&&0===t._a[mn]&&0===t._a[fn]&&(t._nextDay=!0,t._a[pn]=0),t._d=(t._useUTC?_t:bt).apply(null,r),n=t._useUTC?t._d.getUTCDay():t._d.getDay(),null!=t._tzm&&t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),t._nextDay&&(t._a[pn]=24),t._w&&void 0!==t._w.d&&t._w.d!==n&&(c(t).weekdayMismatch=!0)}}function he(t){var e,i,o,n,s,r,a,h;if(e=t._w,null!=e.GG||null!=e.W||null!=e.E)s=1,r=4,i=se(e.GG,t._a[dn],Dt(ke(),1,4).year),o=se(e.W,1),((n=se(e.E,1))<1||n>7)&&(h=!0);else{s=t._locale._week.dow,r=t._locale._week.doy;var d=Dt(ke(),s,r);i=se(e.gg,t._a[dn],d.year),o=se(e.w,d.week),null!=e.d?((n=e.d)<0||n>6)&&(h=!0):null!=e.e?(n=e.e+s,(e.e<0||e.e>6)&&(h=!0)):n=s}o<1||o>St(i,s,r)?c(t)._overflowWeeks=!0:null!=h?c(t)._overflowWeekday=!0:(a=xt(i,o,n,s,r),t._a[dn]=a.year,t._dayOfYear=a.dayOfYear)}function de(t){var e,i,o,n,s,r,a=t._i,h=Hn.exec(a)||Yn.exec(a);if(h){for(c(t).iso=!0,e=0,i=Gn.length;e0&&c(t).unusedInput.push(r),a=a.slice(a.indexOf(o)+o.length),d+=o.length),zo[s]?(o?c(t).empty=!1:c(t).unusedTokens.push(s),$(s,o,t)):t._strict&&!o&&c(t).unusedTokens.push(s);c(t).charsLeftOver=h-d,a.length>0&&c(t).unusedInput.push(a),t._a[pn]<=12&&!0===c(t).bigHour&&t._a[pn]>0&&(c(t).bigHour=void 0),c(t).parsedDateParts=t._a.slice(0),c(t).meridiem=t._meridiem,t._a[pn]=ye(t._locale,t._a[pn],t._meridiem),ae(t),ne(t)}function ye(t,e,i){var o;return null==i?e:null!=t.meridiemHour?t.meridiemHour(e,i):null!=t.isPM?(o=t.isPM(i),o&&e<12&&(e+=12),o||12!==e||(e=0),e):e}function be(t){var e,i,o,n,s;if(0===t._f.length)return c(t).invalidFormat=!0,void(t._d=new Date(NaN));for(n=0;nthis.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function Ue(){if(!s(this._isDSTShifted))return this._isDSTShifted;var t={};if(g(t,this),t=xe(t),t._a){var e=t._isUTC?u(t._a):ke(t._a);this._isDSTShifted=this.isValid()&&w(t._a,e.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted}function qe(){return!!this.isValid()&&!this._isUTC}function Xe(){return!!this.isValid()&&this._isUTC}function Ze(){return!!this.isValid()&&(this._isUTC&&0===this._offset)}function Ke(t,e){var i,o,n,s=t,a=null;return Ae(t)?s={ms:t._milliseconds,d:t._days,M:t._months}:r(t)?(s={},e?s[e]=t:s.milliseconds=t):(a=Jn.exec(t))?(i="-"===a[1]?-1:1,s={y:0,d:_(a[un])*i,h:_(a[pn])*i,m:_(a[cn])*i,s:_(a[mn])*i,ms:_(Ne(1e3*a[fn]))*i}):(a=$n.exec(t))?(i="-"===a[1]?-1:(a[1],1),s={y:Je(a[2],i),M:Je(a[3],i),w:Je(a[4],i),d:Je(a[5],i),h:Je(a[6],i),m:Je(a[7],i),s:Je(a[8],i)}):null==s?s={}:"object"==typeof s&&("from"in s||"to"in s)&&(n=Qe(ke(s.from),ke(s.to)),s={},s.ms=n.milliseconds,s.M=n.months),o=new Ie(s),Ae(t)&&d(t,"_locale")&&(o._locale=t._locale),o}function Je(t,e){var i=t&&parseFloat(t.replace(",","."));return(isNaN(i)?0:i)*e}function $e(t,e){var i={milliseconds:0,months:0};return i.months=e.month()-t.month()+12*(e.year()-t.year()),t.clone().add(i.months,"M").isAfter(e)&&--i.months,i.milliseconds=+e-+t.clone().add(i.months,"M"),i}function Qe(t,e){var i;return t.isValid()&&e.isValid()?(e=Fe(e,t),t.isBefore(e)?i=$e(t,e):(i=$e(e,t),i.milliseconds=-i.milliseconds,i.months=-i.months),i):{milliseconds:0,months:0}}function ti(t,e){return function(i,o){var n,s;return null===o||isNaN(+o)||(S(e,"moment()."+e+"(period, number) is deprecated. Please use moment()."+e+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),s=i,i=o,o=s),i="string"==typeof i?+i:i,n=Ke(i,o),ei(this,n,t),this}}function ei(t,i,o,n){var s=i._milliseconds,r=Ne(i._days),a=Ne(i._months);t.isValid()&&(n=null==n||n,a&&ct(t,ot(t,"Month")+a*o),r&&nt(t,"Date",ot(t,"Date")+r*o),s&&t._d.setTime(t._d.valueOf()+s*o),n&&e.updateOffset(t,r||a))}function ii(t,e){var i=t.diff(e,"days",!0);return i<-6?"sameElse":i<-1?"lastWeek":i<0?"lastDay":i<1?"sameDay":i<2?"nextDay":i<7?"nextWeek":"sameElse"}function oi(t,i){var o=t||ke(),n=Fe(o,this).startOf("day"),s=e.calendarFormat(this,n)||"sameElse",r=i&&(k(i[s])?i[s].call(this,o):i[s]);return this.format(r||this.localeData().calendar(s,this,ke(o)))}function ni(){return new v(this)}function si(t,e){var i=y(t)?t:ke(t);return!(!this.isValid()||!i.isValid())&&(e=L(s(e)?"millisecond":e),"millisecond"===e?this.valueOf()>i.valueOf():i.valueOf()9999?V(i,e?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"):k(Date.prototype.toISOString)?e?this.toDate().toISOString():new Date(this.valueOf()+60*this.utcOffset()*1e3).toISOString().replace("Z",V(i,"Z")):V(i,e?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ")}function fi(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var t="moment",e="";this.isLocal()||(t=0===this.utcOffset()?"moment.utc":"moment.parseZone",e="Z");var i="["+t+'("]',o=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",n=e+'[")]';return this.format(i+o+"-MM-DD[T]HH:mm:ss.SSS"+n)}function gi(t){t||(t=this.isUtc()?e.defaultFormatUtc:e.defaultFormat);var i=V(this,t);return this.localeData().postformat(i)}function vi(t,e){return this.isValid()&&(y(t)&&t.isValid()||ke(t).isValid())?Ke({to:this,from:t}).locale(this.locale()).humanize(!e):this.localeData().invalidDate()}function yi(t){return this.from(ke(),t)}function bi(t,e){return this.isValid()&&(y(t)&&t.isValid()||ke(t).isValid())?Ke({from:this,to:t}).locale(this.locale()).humanize(!e):this.localeData().invalidDate()}function _i(t){return this.to(ke(),t)}function wi(t){var e;return void 0===t?this._locale._abbr:(e=ie(t),null!=e&&(this._locale=e),this)}function xi(){return this._locale}function Di(t){switch(t=L(t)){case"year":this.month(0);case"quarter":case"month":this.date(1);case"week":case"isoWeek":case"day":case"date":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}function Si(t){return void 0===(t=L(t))||"millisecond"===t?this:("date"===t&&(t="day"),this.startOf(t).add(1,"isoWeek"===t?"week":t).subtract(1,"ms"))}function ki(){return this._d.valueOf()-6e4*(this._offset||0)}function Ti(){return Math.floor(this.valueOf()/1e3)}function Ci(){return new Date(this.valueOf())}function Mi(){var t=this;return[t.year(),t.month(),t.date(),t.hour(),t.minute(),t.second(),t.millisecond()]}function Oi(){var t=this;return{years:t.year(),months:t.month(),date:t.date(),hours:t.hours(),minutes:t.minutes(),seconds:t.seconds(),milliseconds:t.milliseconds()}}function Ei(){return this.isValid()?this.toISOString():null}function Pi(){return m(this)}function Ii(){return l({},c(this))}function Ai(){return c(this).overflow}function Ni(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}}function Ri(t,e){G(0,[t,t.length],0,e)}function Li(t){return ji.call(this,t,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)}function Fi(t){return ji.call(this,t,this.isoWeek(),this.isoWeekday(),1,4)}function Hi(){return St(this.year(),1,4)}function Yi(){var t=this.localeData()._week;return St(this.year(),t.dow,t.doy)}function ji(t,e,i,o,n){var s;return null==t?Dt(this,o,n).year:(s=St(t,o,n),e>s&&(e=s),Gi.call(this,t,e,i,o,n))}function Gi(t,e,i,o,n){var s=xt(t,e,i,o,n),r=_t(s.year,0,s.dayOfYear);return this.year(r.getUTCFullYear()),this.month(r.getUTCMonth()),this.date(r.getUTCDate()),this}function zi(t){return null==t?Math.ceil((this.month()+1)/3):this.month(3*(t-1)+this.month()%3)}function Wi(t){var e=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==t?e:this.add(t-e,"d")}function Vi(t,e){e[fn]=_(1e3*("0."+t))}function Bi(){return this._isUTC?"UTC":""}function Ui(){return this._isUTC?"Coordinated Universal Time":""}function qi(t){return ke(1e3*t)}function Xi(){return ke.apply(null,arguments).parseZone()}function Zi(t){return t}function Ki(t,e,i,o){var n=ie(),s=u().set(o,e);return n[i](s,t)}function Ji(t,e,i){if(r(t)&&(e=t,t=void 0),t=t||"",null!=e)return Ki(t,e,i,"month");var o,n=[];for(o=0;o<12;o++)n[o]=Ki(t,o,i,"month");return n}function $i(t,e,i,o){"boolean"==typeof t?(r(e)&&(i=e,e=void 0),e=e||""):(e=t,i=e,t=!1,r(e)&&(i=e,e=void 0),e=e||"");var n=ie(),s=t?n._week.dow:0;if(null!=i)return Ki(e,(i+s)%7,o,"day");var a,h=[];for(a=0;a<7;a++)h[a]=Ki(e,(a+s)%7,o,"day");return h}function Qi(t,e){return Ji(t,e,"months")}function to(t,e){return Ji(t,e,"monthsShort")}function eo(t,e,i){return $i(t,e,i,"weekdays")}function io(t,e,i){return $i(t,e,i,"weekdaysShort")}function oo(t,e,i){return $i(t,e,i,"weekdaysMin")}function no(){var t=this._data;return this._milliseconds=ds(this._milliseconds),this._days=ds(this._days),this._months=ds(this._months),t.milliseconds=ds(t.milliseconds),t.seconds=ds(t.seconds),t.minutes=ds(t.minutes),t.hours=ds(t.hours),t.months=ds(t.months),t.years=ds(t.years),this}function so(t,e,i,o){var n=Ke(e,i);return t._milliseconds+=o*n._milliseconds,t._days+=o*n._days,t._months+=o*n._months,t._bubble()}function ro(t,e){return so(this,t,e,1)}function ao(t,e){return so(this,t,e,-1)}function ho(t){return t<0?Math.floor(t):Math.ceil(t)}function lo(){var t,e,i,o,n,s=this._milliseconds,r=this._days,a=this._months,h=this._data;return s>=0&&r>=0&&a>=0||s<=0&&r<=0&&a<=0||(s+=864e5*ho(po(a)+r),r=0,a=0),h.milliseconds=s%1e3,t=b(s/1e3),h.seconds=t%60,e=b(t/60),h.minutes=e%60,i=b(e/60),h.hours=i%24,r+=b(i/24),n=b(uo(r)),a+=n,r-=ho(po(n)),o=b(a/12),a%=12,h.days=r,h.months=a,h.years=o,this}function uo(t){return 4800*t/146097}function po(t){return 146097*t/4800}function co(t){if(!this.isValid())return NaN;var e,i,o=this._milliseconds;if("month"===(t=L(t))||"year"===t)return e=this._days+o/864e5,i=this._months+uo(e),"month"===t?i:i/12;switch(e=this._days+Math.round(po(this._months)),t){case"week":return e/7+o/6048e5;case"day":return e+o/864e5;case"hour":return 24*e+o/36e5;case"minute":return 1440*e+o/6e4;case"second":return 86400*e+o/1e3;case"millisecond":return Math.floor(864e5*e)+o;default:throw new Error("Unknown unit "+t)}}function mo(){return this.isValid()?this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*_(this._months/12):NaN}function fo(t){return function(){return this.as(t)}}function go(){return Ke(this)}function vo(t){return t=L(t),this.isValid()?this[t+"s"]():NaN}function yo(t){return function(){return this.isValid()?this._data[t]:NaN}}function bo(){return b(this.days()/7)}function _o(t,e,i,o,n){return n.relativeTime(e||1,!!i,t,o)}function wo(t,e,i){var o=Ke(t).abs(),n=ks(o.as("s")),s=ks(o.as("m")),r=ks(o.as("h")),a=ks(o.as("d")),h=ks(o.as("M")),d=ks(o.as("y")),l=n<=Ts.ss&&["s",n]||n0,l[4]=i,_o.apply(null,l)}function xo(t){return void 0===t?ks:"function"==typeof t&&(ks=t,!0)}function Do(t,e){return void 0!==Ts[t]&&(void 0===e?Ts[t]:(Ts[t]=e,"s"===t&&(Ts.ss=e-1),!0))}function So(t){if(!this.isValid())return this.localeData().invalidDate();var e=this.localeData(),i=wo(this,!t,e);return t&&(i=e.pastFuture(+this,i)),e.postformat(i)}function ko(t){return(t>0)-(t<0)||+t}function To(){if(!this.isValid())return this.localeData().invalidDate();var t,e,i,o=Cs(this._milliseconds)/1e3,n=Cs(this._days),s=Cs(this._months);t=b(o/60),e=b(t/60),o%=60,t%=60,i=b(s/12),s%=12;var r=i,a=s,h=n,d=e,l=t,u=o?o.toFixed(3).replace(/\.?0+$/,""):"",p=this.asSeconds();if(!p)return"P0D";var c=p<0?"-":"",m=ko(this._months)!==ko(p)?"-":"",f=ko(this._days)!==ko(p)?"-":"",g=ko(this._milliseconds)!==ko(p)?"-":"";return c+"P"+(r?m+r+"Y":"")+(a?m+a+"M":"")+(h?f+h+"D":"")+(d||l||u?"T":"")+(d?g+d+"H":"")+(l?g+l+"M":"")+(u?g+u+"S":"")}var Co,Mo;Mo=Array.prototype.some?Array.prototype.some:function(t){for(var e=Object(this),i=e.length>>>0,o=0;o68?1900:2e3)};var yn,bn=it("FullYear",!0);yn=Array.prototype.indexOf?Array.prototype.indexOf:function(t){var e;for(e=0;ethis?this:t:f()}),Xn=function(){return Date.now?Date.now():+new Date},Zn=["year","quarter","month","week","day","hour","minute","second","millisecond"];Re("Z",":"),Re("ZZ",""),U("Z",nn),U("ZZ",nn),K(["Z","ZZ"],function(t,e,i){i._useUTC=!0,i._tzm=Le(nn,t)});var Kn=/([\+\-]|\d\d)/gi;e.updateOffset=function(){};var Jn=/^(\-|\+)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d*)?)?$/,$n=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;Ke.fn=Ie.prototype,Ke.invalid=Pe;var Qn=ti(1,"add"),ts=ti(-1,"subtract");e.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",e.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";var es=D("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(t){return void 0===t?this.localeData():this.locale(t)});G(0,["gg",2],0,function(){return this.weekYear()%100}),G(0,["GG",2],0,function(){return this.isoWeekYear()%100}),Ri("gggg","weekYear"),Ri("ggggg","weekYear"),Ri("GGGG","isoWeekYear"),Ri("GGGGG","isoWeekYear"),R("weekYear","gg"),R("isoWeekYear","GG"),H("weekYear",1),H("isoWeekYear",1),U("G",en),U("g",en),U("GG",Xo,Vo),U("gg",Xo,Vo),U("GGGG",$o,Uo),U("gggg",$o,Uo),U("GGGGG",Qo,qo),U("ggggg",Qo,qo),J(["gggg","ggggg","GGGG","GGGGG"],function(t,e,i,o){e[o.substr(0,2)]=_(t)}),J(["gg","GG"],function(t,i,o,n){i[n]=e.parseTwoDigitYear(t)}),G("Q",0,"Qo","quarter"),R("quarter","Q"),H("quarter",7),U("Q",Wo),K("Q",function(t,e){e[ln]=3*(_(t)-1)}),G("D",["DD",2],"Do","date"),R("date","D"),H("date",9),U("D",Xo),U("DD",Xo,Vo),U("Do",function(t,e){return t?e._dayOfMonthOrdinalParse||e._ordinalParse:e._dayOfMonthOrdinalParseLenient}),K(["D","DD"],un),K("Do",function(t,e){e[un]=_(t.match(Xo)[0])});var is=it("Date",!0);G("DDD",["DDDD",3],"DDDo","dayOfYear"),R("dayOfYear","DDD"),H("dayOfYear",4),U("DDD",Jo),U("DDDD",Bo),K(["DDD","DDDD"],function(t,e,i){i._dayOfYear=_(t)}),G("m",["mm",2],0,"minute"),R("minute","m"),H("minute",14),U("m",Xo),U("mm",Xo,Vo),K(["m","mm"],cn);var os=it("Minutes",!1);G("s",["ss",2],0,"second"),R("second","s"),H("second",15),U("s",Xo),U("ss",Xo,Vo),K(["s","ss"],mn);var ns=it("Seconds",!1);G("S",0,0,function(){return~~(this.millisecond()/100)}),G(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),G(0,["SSS",3],0,"millisecond"),G(0,["SSSS",4],0,function(){return 10*this.millisecond()}),G(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),G(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),G(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),G(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),G(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),R("millisecond","ms"),H("millisecond",16),U("S",Jo,Wo),U("SS",Jo,Vo),U("SSS",Jo,Bo);var ss;for(ss="SSSS";ss.length<=9;ss+="S")U(ss,tn);for(ss="S";ss.length<=9;ss+="S")K(ss,Vi);var rs=it("Milliseconds",!1);G("z",0,0,"zoneAbbr"),G("zz",0,0,"zoneName");var as=v.prototype;as.add=Qn,as.calendar=oi,as.clone=ni,as.diff=ui,as.endOf=Si,as.format=gi,as.from=vi,as.fromNow=yi,as.to=bi,as.toNow=_i,as.get=st,as.invalidAt=Ai,as.isAfter=si,as.isBefore=ri,as.isBetween=ai,as.isSame=hi,as.isSameOrAfter=di,as.isSameOrBefore=li,as.isValid=Pi,as.lang=es,as.locale=wi,as.localeData=xi,as.max=qn,as.min=Un,as.parsingFlags=Ii,as.set=rt,as.startOf=Di,as.subtract=ts,as.toArray=Mi,as.toObject=Oi,as.toDate=Ci,as.toISOString=mi,as.inspect=fi,as.toJSON=Ei,as.toString=ci,as.unix=Ti,as.valueOf=ki,as.creationData=Ni,as.year=bn,as.isLeapYear=et,as.weekYear=Li,as.isoWeekYear=Fi,as.quarter=as.quarters=zi,as.month=mt,as.daysInMonth=ft,as.week=as.weeks=Mt,as.isoWeek=as.isoWeeks=Ot,as.weeksInYear=Yi,as.isoWeeksInYear=Hi,as.date=is,as.day=as.days=Ft,as.weekday=Ht,as.isoWeekday=Yt,as.dayOfYear=Wi,as.hour=as.hours=Nn,as.minute=as.minutes=os,as.second=as.seconds=ns,as.millisecond=as.milliseconds=rs,as.utcOffset=Ye,as.utc=Ge,as.local=ze,as.parseZone=We,as.hasAlignedHourOffset=Ve,as.isDST=Be,as.isLocal=qe,as.isUtcOffset=Xe,as.isUtc=Ze,as.isUTC=Ze,as.zoneAbbr=Bi,as.zoneName=Ui,as.dates=D("dates accessor is deprecated. Use date instead.",is),as.months=D("months accessor is deprecated. Use month instead",mt),as.years=D("years accessor is deprecated. Use year instead",bn),as.zone=D("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",je),as.isDSTShifted=D("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",Ue);var hs=M.prototype;hs.calendar=O,hs.longDateFormat=E,hs.invalidDate=P,hs.ordinal=I,hs.preparse=Zi,hs.postformat=Zi,hs.relativeTime=A,hs.pastFuture=N,hs.set=T,hs.months=dt,hs.monthsShort=lt,hs.monthsParse=pt,hs.monthsRegex=vt,hs.monthsShortRegex=gt,hs.week=kt,hs.firstDayOfYear=Ct,hs.firstDayOfWeek=Tt,hs.weekdays=It,hs.weekdaysMin=Nt,hs.weekdaysShort=At,hs.weekdaysParse=Lt,hs.weekdaysRegex=jt,hs.weekdaysShortRegex=Gt,hs.weekdaysMinRegex=zt,hs.isPM=Xt,hs.meridiem=Zt,Qt("en",{dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(t){var e=t%10;return t+(1===_(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th")}}),e.lang=D("moment.lang is deprecated. Use moment.locale instead.",Qt),e.langData=D("moment.langData is deprecated. Use moment.localeData instead.",ie);var ds=Math.abs,ls=fo("ms"),us=fo("s"),ps=fo("m"),cs=fo("h"),ms=fo("d"),fs=fo("w"),gs=fo("M"),vs=fo("y"),ys=yo("milliseconds"),bs=yo("seconds"),_s=yo("minutes"),ws=yo("hours"),xs=yo("days"),Ds=yo("months"),Ss=yo("years"),ks=Math.round,Ts={ss:44,s:45,m:45,h:22,d:26,M:11},Cs=Math.abs,Ms=Ie.prototype;return Ms.isValid=Ee,Ms.abs=no,Ms.add=ro,Ms.subtract=ao,Ms.as=co,Ms.asMilliseconds=ls,Ms.asSeconds=us,Ms.asMinutes=ps,Ms.asHours=cs,Ms.asDays=ms,Ms.asWeeks=fs,Ms.asMonths=gs,Ms.asYears=vs,Ms.valueOf=mo,Ms._bubble=lo,Ms.clone=go,Ms.get=vo,Ms.milliseconds=ys,Ms.seconds=bs,Ms.minutes=_s,Ms.hours=ws,Ms.days=xs,Ms.weeks=bo,Ms.months=Ds,Ms.years=Ss,Ms.humanize=So,Ms.toISOString=To,Ms.toString=To,Ms.toJSON=To,Ms.locale=wi,Ms.localeData=xi,Ms.toIsoString=D("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",To),Ms.lang=es,G("X",0,0,"unix"),G("x",0,0,"valueOf"),U("x",en),U("X",sn),K("X",function(t,e,i){i._d=new Date(1e3*parseFloat(t,10))}),K("x",function(t,e,i){i._d=new Date(_(t))}),e.version="2.22.2",function(t){Co=t}(ke),e.fn=as,e.min=Ce,e.max=Me,e.now=Xn,e.utc=u,e.unix=qi,e.months=Qi,e.isDate=a,e.locale=Qt,e.invalid=f,e.duration=Ke,e.isMoment=y,e.weekdays=eo,e.parseZone=Xi,e.localeData=ie,e.isDuration=Ae,e.monthsShort=to,e.weekdaysMin=oo,e.defineLocale=te,e.updateLocale=ee,e.locales=oe,e.weekdaysShort=io,e.normalizeUnits=L,e.relativeTimeRounding=xo,e.relativeTimeThreshold=Do,e.calendarFormat=ii,e.prototype=as,e.HTML5_FMT={DATETIME_LOCAL:"YYYY-MM-DDTHH:mm",DATETIME_LOCAL_SECONDS:"YYYY-MM-DDTHH:mm:ss",DATETIME_LOCAL_MS:"YYYY-MM-DDTHH:mm:ss.SSS",DATE:"YYYY-MM-DD",TIME:"HH:mm",TIME_SECONDS:"HH:mm:ss",TIME_MS:"HH:mm:ss.SSS",WEEK:"YYYY-[W]WW",MONTH:"YYYY-MM"},e})}).call(e,i(124)(t))},function(t,e){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children||(t.children=[]),Object.defineProperty(t,"loaded",{enumerable:!0,get:function(){return t.l}}),Object.defineProperty(t,"id",{enumerable:!0,get:function(){return t.i}}),t.webpackPolyfill=1),t}},function(t,e){function i(t){throw new Error("Cannot find module '"+t+"'.")}i.keys=function(){return[]},i.resolve=i,t.exports=i,i.id=125},function(t,e,i){(function(e){function i(t,e,i){var o=e&&i||0,n=0;for(e=e||[],t.toLowerCase().replace(/[0-9a-f]{2}/g,function(t){n<16&&(e[o+n++]=u[t])});n<16;)e[o+n++]=0;return e}function o(t,e){var i=e||0,o=l;return o[t[i++]]+o[t[i++]]+o[t[i++]]+o[t[i++]]+"-"+o[t[i++]]+o[t[i++]]+"-"+o[t[i++]]+o[t[i++]]+"-"+o[t[i++]]+o[t[i++]]+"-"+o[t[i++]]+o[t[i++]]+o[t[i++]]+o[t[i++]]+o[t[i++]]+o[t[i++]]}function n(t,e,i){var n=e&&i||0,s=e||[];t=t||{};var r=void 0!==t.clockseq?t.clockseq:f,a=void 0!==t.msecs?t.msecs:(new Date).getTime(),h=void 0!==t.nsecs?t.nsecs:v+1,d=a-g+(h-v)/1e4;if(d<0&&void 0===t.clockseq&&(r=r+1&16383),(d<0||a>g)&&void 0===t.nsecs&&(h=0),h>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");g=a,v=h,f=r,a+=122192928e5;var l=(1e4*(268435455&a)+h)%4294967296;s[n++]=l>>>24&255,s[n++]=l>>>16&255,s[n++]=l>>>8&255,s[n++]=255&l;var u=a/4294967296*1e4&268435455;s[n++]=u>>>8&255,s[n++]=255&u,s[n++]=u>>>24&15|16,s[n++]=u>>>16&255,s[n++]=r>>>8|128,s[n++]=255&r;for(var p=t.node||m,c=0;c<6;c++)s[n+c]=p[c];return e||o(s)}function s(t,e,i){var n=e&&i||0;"string"==typeof t&&(e="binary"==t?new Array(16):null,t=null),t=t||{};var s=t.random||(t.rng||r)();if(s[6]=15&s[6]|64,s[8]=63&s[8]|128,e)for(var a=0;a<16;a++)e[n+a]=s[a];return e||o(s)}var r,a="undefined"!=typeof window?window:void 0!==e?e:null;if(a&&a.crypto&&crypto.getRandomValues){var h=new Uint8Array(16);r=function(){return crypto.getRandomValues(h),h}}if(!r){var d=new Array(16);r=function(){for(var t,e=0;e<16;e++)0==(3&e)&&(t=4294967296*Math.random()),d[e]=t>>>((3&e)<<3)&255;return d}}for(var l=[],u={},p=0;p<256;p++)l[p]=(p+256).toString(16).substr(1),u[l[p]]=p;var c=r(),m=[1|c[0],c[1],c[2],c[3],c[4],c[5]],f=16383&(c[6]<<8|c[7]),g=0,v=0,y=s;y.v1=n,y.v4=s,y.parse=i,y.unparse=o,t.exports=y}).call(e,i(127))},function(t,e){var i;i=function(){return this}();try{i=i||Function("return this")()||(0,eval)("this")}catch(t){"object"==typeof window&&(i=window)}t.exports=i},function(t,e,i){var o=i(2),n=o.JSON||(o.JSON={stringify:JSON.stringify});t.exports=function(t){return n.stringify.apply(n,arguments)}},function(t,e,i){function o(t,e,i,n){if(!(this instanceof o))throw new SyntaxError("Constructor must be called with the new operator");if(!(Array.isArray(i)||i instanceof d||i instanceof l)&&i instanceof Object){var s=n;n=i,i=s}n&&n.throttleRedraw&&console.warn('Timeline option "throttleRedraw" is DEPRICATED and no longer supported. It will be removed in the next MAJOR release.');var r=this;if(this.defaultOptions={start:null,end:null,autoResize:!0,orientation:{axis:"bottom",item:"bottom"},moment:a,width:null,height:null,maxHeight:null,minHeight:null},this.options=h.deepExtend({},this.defaultOptions),this._create(t),!n||n&&void 0===n.rtl){this.dom.root.style.visibility="hidden";for(var p,f=this.dom.root;!p&&f;)p=window.getComputedStyle(f,null).direction,f=f.parentElement;this.options.rtl=p&&"rtl"==p.toLowerCase()}else this.options.rtl=n.rtl;this.options.rollingMode=n&&n.rollingMode,this.options.onInitialDrawComplete=n&&n.onInitialDrawComplete,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 r.timeAxis.step.scale},getStep:function(){return r.timeAxis.step.step},toScreen:r._toScreen.bind(r),toGlobalScreen:r._toGlobalScreen.bind(r),toTime:r._toTime.bind(r),toGlobalTime:r._toGlobalTime.bind(r)}},this.range=new u(this.body,this.options),this.components.push(this.range),this.body.range=this.range,this.timeAxis=new c(this.body,this.options),this.timeAxis2=null,this.components.push(this.timeAxis),this.currentTime=new m(this.body,this.options),this.components.push(this.currentTime),this.itemSet=new g(this.body,this.options),this.components.push(this.itemSet),this.itemsData=null,this.groupsData=null,this.dom.root.onclick=function(t){r.emit("click",r.getEventProperties(t))},this.dom.root.ondblclick=function(t){r.emit("doubleClick",r.getEventProperties(t))},this.dom.root.oncontextmenu=function(t){r.emit("contextmenu",r.getEventProperties(t))},this.dom.root.onmouseover=function(t){r.emit("mouseOver",r.getEventProperties(t))},window.PointerEvent?(this.dom.root.onpointerdown=function(t){r.emit("mouseDown",r.getEventProperties(t))},this.dom.root.onpointermove=function(t){r.emit("mouseMove",r.getEventProperties(t))},this.dom.root.onpointerup=function(t){r.emit("mouseUp",r.getEventProperties(t))}):(this.dom.root.onmousemove=function(t){r.emit("mouseMove",r.getEventProperties(t))},this.dom.root.onmousedown=function(t){r.emit("mouseDown",r.getEventProperties(t))},this.dom.root.onmouseup=function(t){r.emit("mouseUp",r.getEventProperties(t))}),this.initialFitDone=!1,this.on("changed",function(){if(null!=this.itemsData&&!this.options.rollingMode){if(!r.initialFitDone)if(r.initialFitDone=!0,void 0!=r.options.start||void 0!=r.options.end){if(void 0==r.options.start||void 0==r.options.end)var t=r.getItemRange();var e=void 0!=r.options.start?r.options.start:t.min,i=void 0!=r.options.end?r.options.end:t.max;r.setWindow(e,i,{animation:!1})}else r.fit({animation:!1});!r.initialDrawDone&&r.initialRangeChangeDone&&(r.initialDrawDone=!0,r.dom.root.style.visibility="visible",r.options.onInitialDrawComplete&&setTimeout(function(){return r.options.onInitialDrawComplete()},0))}}),n&&this.setOptions(n),i&&this.setGroups(i),e&&this.setItems(e),this._redraw()}function n(t){return h.convert(t.data.start,"Date").valueOf()}function s(t){var e=void 0!=t.data.end?t.data.end:t.data.start;return h.convert(e,"Date").valueOf()}function r(t,e){var i=t.props.leftContainer.height,o=t.props.left.height,n=e.parent,s=n.top,r=!0,a=t.timeAxis.options.orientation.axis,h=function(){return"bottom"==a?n.height-e.top-e.height:e.top},d=-1*t._getScrollTop(),l=s+h(),u=e.height;return ld+i?s+=h()+u-i+t.itemSet.options.margin.item.vertical:r=!1,s=Math.min(s,o-i),{shouldScroll:r,scrollOffset:s,itemTop:l}}var a=i(3),h=i(0),d=i(15),l=i(21),u=i(47),p=i(48),c=i(29),m=i(50),f=i(30),g=i(70),v=i(33).printStyle,y=i(75).allOptions,b=i(75).configureOptions,_=i(76).default,w=i(33).default;o.prototype=new p,o.prototype._createConfigurator=function(){return new _(this,this.dom.container,b)},o.prototype.redraw=function(){this.itemSet&&this.itemSet.markDirty({refreshItems:!0}),this._redraw()},o.prototype.setOptions=function(t){if(!0===w.validate(t,y)&&console.log("%cErrors have been found in the supplied options object.",v),p.prototype.setOptions.call(this,t),"type"in t&&t.type!==this.options.type){this.options.type=t.type;var e=this.itemsData;if(e){var i=this.getSelection();this.setItems(null),this.setItems(e),this.setSelection(i)}}},o.prototype.setItems=function(t){var e;e=t?t instanceof d||t instanceof l?t:new d(t,{type:{start:"Date",end:"Date"}}):null,this.itemsData=e,this.itemSet&&this.itemSet.setItems(e)},o.prototype.setGroups=function(t){var e;if(t){var i=function(t){return!1!==t.visible};e=t instanceof d||t instanceof l?new l(t,{filter:i}):new d(t.filter(i))}else e=null;this.groupsData=e,this.itemSet.setGroups(e)},o.prototype.setData=function(t){t&&t.groups&&this.setGroups(t.groups),t&&t.items&&this.setItems(t.items)},o.prototype.setSelection=function(t,e){this.itemSet&&this.itemSet.setSelection(t),e&&e.focus&&this.focus(t,e)},o.prototype.getSelection=function(){return this.itemSet&&this.itemSet.getSelection()||[]},o.prototype.focus=function(t,e){if(this.itemsData&&void 0!=t){var i=Array.isArray(t)?t:[t],o=this.itemsData.getDataSet().get(i,{type:{start:"Date",end:"Date"}}),n=null,s=null;if(o.forEach(function(t){var e=t.start.valueOf(),i="end"in t?t.end.valueOf():t.start.valueOf();(null===n||es)&&(s=i)}),null!==n&&null!==s){var a=this,h=this.itemSet.items[i[0]],d=-1*this._getScrollTop(),l=null,u=function(t,e,i){var o=r(a,h);if(l||(l=o),l.itemTop!=o.itemTop||l.shouldScroll){l.itemTop!=o.itemTop&&o.shouldScroll&&(l=o,d=-1*a._getScrollTop());var n=d,s=l.scrollOffset,u=i?s:n+(s-n)*t;a._setScrollTop(-u),e||a._redraw()}},p=function(){var t=r(a,h);t.shouldScroll&&t.itemTop!=l.itemTop&&(a._setScrollTop(-t.scrollOffset),a._redraw())},c=function(){p(),setTimeout(p,100)},m=(n+s)/2,f=Math.max(this.range.end-this.range.start,1.1*(s-n)),g=!e||void 0===e.animation||e.animation;g||(l={shouldScroll:!1,scrollOffset:-1,itemTop:-1}),this.range.setRange(m-f/2,m+f/2,{animation:g},c,u)}}},o.prototype.fit=function(t,e){var i,o=!t||void 0===t.animation||t.animation,n=this.itemsData&&this.itemsData.getDataSet();1===n.length&&void 0===n.get()[0].end?(i=this.getDataRange(),this.moveTo(i.min.valueOf(),{animation:o},e)):(i=this.getItemRange(),this.range.setRange(i.min,i.max,{animation:o},e))},o.prototype.getItemRange=function(){var t=this.getDataRange(),e=null!==t.min?t.min.valueOf():null,i=null!==t.max?t.max.valueOf():null,o=null,r=null;if(null!=e&&null!=i){var a=i-e;a<=0&&(a=10);var d=a/this.props.center.width,l={},u=0;h.forEach(this.itemSet.items,function(t,e){if(t.groupShowing){l[e]=t.redraw(!0),u=l[e].length}});if(u>0)for(var p=0;pi&&(i=h,r=t)}.bind(this)),o&&r){var c=o.getWidthLeft()+10,m=r.getWidthRight()+10,f=this.props.center.width-c-m;f>0&&(this.options.rtl?(e=n(o)-m*a/f,i=s(r)+c*a/f):(e=n(o)-c*a/f,i=s(r)+m*a/f))}}return{min:null!=e?new Date(e):null,max:null!=i?new Date(i):null}},o.prototype.getDataRange=function(){var t=null,e=null,i=this.itemsData&&this.itemsData.getDataSet();return i&&i.forEach(function(i){var o=h.convert(i.start,"Date").valueOf(),n=h.convert(void 0!=i.end?i.end:i.start,"Date").valueOf();(null===t||oe)&&(e=n)}),{min:null!=t?new Date(t):null,max:null!=e?new Date(e):null}},o.prototype.getEventProperties=function(t){var e,i=t.center?t.center.x:t.clientX,o=t.center?t.center.y:t.clientY;e=this.options.rtl?h.getAbsoluteRight(this.dom.centerContainer)-i:i-h.getAbsoluteLeft(this.dom.centerContainer);var n=o-h.getAbsoluteTop(this.dom.centerContainer),s=this.itemSet.itemFromTarget(t),r=this.itemSet.groupFromTarget(t),a=f.customTimeFromTarget(t),d=this.itemSet.options.snap||null,l=this.body.util.getScale(),u=this.body.util.getStep(),p=this._toTime(e),c=d?d(p,l,u):p,m=h.getTarget(t),g=null;return null!=s?g="item":null!=a?g="custom-time":h.hasParent(m,this.timeAxis.dom.foreground)?g="axis":this.timeAxis2&&h.hasParent(m,this.timeAxis2.dom.foreground)?g="axis":h.hasParent(m,this.itemSet.dom.labelSet)?g="group-label":h.hasParent(m,this.currentTime.bar)?g="current-time":h.hasParent(m,this.dom.center)&&(g="background"),{event:t,item:s?s.id:null,group:r?r.groupId:null,what:g,pageX:t.srcEvent?t.srcEvent.pageX:t.pageX,pageY:t.srcEvent?t.srcEvent.pageY:t.pageY,x:e,y:n,time:p,snappedTime:c}},o.prototype.toggleRollingMode=function(){this.range.rolling?this.range.stopRolling():(void 0==this.options.rollingMode&&this.setOptions(this.options),this.range.startRolling())},t.exports=o},function(t,e,i){var o,n,s;!function(i){n=[],o=i,void 0!==(s="function"==typeof o?o.apply(e,n):o)&&(t.exports=s)}(function(){var t=null;return function e(i,o){function n(t){return t.match(/[^ ]+/g)}function s(e){if("hammer.input"!==e.type){if(e.srcEvent._handled||(e.srcEvent._handled={}),e.srcEvent._handled[e.type])return;e.srcEvent._handled[e.type]=!0}var i=!1;e.stopPropagation=function(){i=!0};var o=e.srcEvent.stopPropagation.bind(e.srcEvent);"function"==typeof o&&(e.srcEvent.stopPropagation=function(){o(),e.stopPropagation()}),e.firstTarget=t;for(var n=t;n&&!i;){var s=n.hammer;if(s)for(var r,a=0;a0?d._handlers[t]=o:(i.off(t,s),delete d._handlers[t]))}),d},d.emit=function(e,o){t=o.target,i.emit(e,o)},d.destroy=function(){var t=i.element.hammer,e=t.indexOf(d);-1!==e&&t.splice(e,1),t.length||delete i.element.hammer,d._handlers={},i.destroy()},d}})},function(t,e,i){var o;/*! Hammer.JS - v2.0.7 - 2016-04-22 +"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()}("undefined"!=typeof self?self:this,function(){return function(t){function e(o){if(i[o])return i[o].exports;var n=i[o]={i:o,l:!1,exports:{}};return t[o].call(n.exports,n,n.exports,e),n.l=!0,n.exports}var i={};return e.m=t,e.c=i,e.d=function(t,i,o){e.o(t,i)||Object.defineProperty(t,i,{configurable:!1,enumerable:!0,get:o})},e.n=function(t){var i=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(i,"a",i),i},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="",e(e.s=85)}([function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}function n(t,e,i,o){var n=!1;!0===o&&(n=null===e[i]&&void 0!==t[i]),n?delete t[i]:t[i]=e[i]}var s=i(86),r=o(s),a=i(43),h=o(a),d=i(4),l=o(d),u=i(1),p=o(u),c=i(3),m=i(126);e.isNumber=function(t){return t instanceof Number||"number"==typeof t},e.recursiveDOMDelete=function(t){if(t)for(;!0===t.hasChildNodes();)e.recursiveDOMDelete(t.firstChild),t.removeChild(t.firstChild)},e.giveRange=function(t,e,i,o){if(e==t)return.5;var n=1/(e-t);return Math.max(0,(o-t)*n)},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)){if(f.exec(t))return!0;if(!isNaN(Date.parse(t)))return!0}return!1},e.randomUUID=function(){return m.v4()},e.assignAllKeys=function(t,e){for(var i in t)t.hasOwnProperty(i)&&"object"!==(0,p.default)(t[i])&&(t[i]=e)},e.fillIfDefined=function(t,i){var o=arguments.length>2&&void 0!==arguments[2]&&arguments[2];for(var s in t)void 0!==i[s]&&(null===i[s]||"object"!==(0,p.default)(i[s])?n(t,i,s,o):"object"===(0,p.default)(t[s])&&e.fillIfDefined(t[s],i[s],o))},e.extend=function(t,e){for(var i=1;i3&&void 0!==arguments[3]&&arguments[3];if(Array.isArray(o))throw new TypeError("Arrays are not supported by deepExtend");for(var r=0;r3&&void 0!==arguments[3]&&arguments[3];if(Array.isArray(o))throw new TypeError("Arrays are not supported by deepExtend");for(var r in o)if(o.hasOwnProperty(r)&&-1===t.indexOf(r))if(o[r]&&o[r].constructor===Object)void 0===i[r]&&(i[r]={}),i[r].constructor===Object?e.deepExtend(i[r],o[r]):n(i,o,r,s);else if(Array.isArray(o[r])){i[r]=[];for(var a=0;a2&&void 0!==arguments[2]&&arguments[2],s=arguments.length>3&&void 0!==arguments[3]&&arguments[3];for(var r in i)if(i.hasOwnProperty(r)||!0===o)if(i[r]&&i[r].constructor===Object)void 0===t[r]&&(t[r]={}),t[r].constructor===Object?e.deepExtend(t[r],i[r],o):n(t,i,r,s);else if(Array.isArray(i[r])){t[r]=[];for(var a=0;a=0&&(e="DOMMouseScroll"),t.addEventListener(e,i,o)):t.attachEvent("on"+e,i)},e.removeEventListener=function(t,e,i,o){t.removeEventListener?(void 0===o&&(o=!1),"mousewheel"===e&&navigator.userAgent.indexOf("Firefox")>=0&&(e="DOMMouseScroll"),t.removeEventListener(e,i,o)):t.detachEvent("on"+e,i)},e.preventDefault=function(t){t||(t=window.event),t.preventDefault?t.preventDefault():t.returnValue=!1},e.getTarget=function(t){t||(t=window.event);var e;return t.target?e=t.target:t.srcElement&&(e=t.srcElement),void 0!=e.nodeType&&3==e.nodeType&&(e=e.parentNode),e},e.hasParent=function(t,e){for(var i=t;i;){if(i===e)return!0;i=i.parentNode}return!1},e.option={},e.option.asBoolean=function(t,e){return"function"==typeof t&&(t=t()),null!=t?0!=t:e||null},e.option.asNumber=function(t,e){return"function"==typeof t&&(t=t()),null!=t?Number(t)||e||null:e||null},e.option.asString=function(t,e){return"function"==typeof t&&(t=t()),null!=t?String(t):e||null},e.option.asSize=function(t,i){return"function"==typeof t&&(t=t()),e.isString(t)?t:e.isNumber(t)?t+"px":i||null},e.option.asElement=function(t,e){return"function"==typeof t&&(t=t()),t||e||null},e.hexToRGB=function(t){var e=/^#?([a-f\d])([a-f\d])([a-f\d])$/i;t=t.replace(e,function(t,e,i,o){return e+e+i+i+o+o});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){var o;return-1!=t.indexOf("rgba")?t:-1!=t.indexOf("rgb")?(o=t.substr(t.indexOf("(")+1).replace(")","").split(","),"rgba("+o[0]+","+o[1]+","+o[2]+","+i+")"):(o=e.hexToRGB(t),null==o?t:"rgba("+o.r+","+o.g+","+o.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(!0===e.isString(t)){if(!0===e.isValidRGB(t)){var o=t.substr(4).substr(0,t.length-5).split(",").map(function(t){return parseInt(t)});t=e.RGBToHex(o[0],o[1],o[2])}if(!0===e.isValidHex(t)){var n=e.hexToHSV(t),s={h:n.h,s:.8*n.s,v:Math.min(1,1.02*n.v)},r={h:n.h,s:Math.min(1,1.25*n.s),v:.8*n.v},a=e.HSVToHex(r.h,r.s,r.v),h=e.HSVToHex(s.h,s.s,s.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||void 0,i.border=t.border||void 0,e.isString(t.highlight)?i.highlight={border:t.highlight,background:t.highlight}:(i.highlight={},i.highlight.background=t.highlight&&t.highlight.background||void 0,i.highlight.border=t.highlight&&t.highlight.border||void 0),e.isString(t.hover)?i.hover={border:t.hover,background:t.hover}:(i.hover={},i.hover.background=t.hover&&t.hover.background||void 0,i.hover.border=t.hover&&t.hover.border||void 0);return i},e.RGBToHSV=function(t,e,i){t/=255,e/=255,i/=255;var o=Math.min(t,Math.min(e,i)),n=Math.max(t,Math.max(e,i));if(o==n)return{h:0,s:0,v:o};var s=t==o?e-i:i==o?t-e:i-t;return{h:60*((t==o?3:i==o?1:5)-s/(n-o))/360,s:(n-o)/n,v:n}};var g={split:function(t){var e={};return t.split(";").forEach(function(t){if(""!=t.trim()){var i=t.split(":"),o=i[0].trim(),n=i[1].trim();e[o]=n}}),e},join:function(t){return(0,l.default)(t).map(function(e){return e+": "+t[e]}).join("; ")}};e.addCssText=function(t,i){var o=g.split(t.style.cssText),n=g.split(i),s=e.extend(o,n);t.style.cssText=g.join(s)},e.removeCssText=function(t,e){var i=g.split(t.style.cssText),o=g.split(e);for(var n in o)o.hasOwnProperty(n)&&delete i[n];t.style.cssText=g.join(i)},e.HSVToRGB=function(t,e,i){var o,n,s,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:o=i,n=l,s=h;break;case 1:o=d,n=i,s=h;break;case 2:o=h,n=i,s=l;break;case 3:o=h,n=d,s=i;break;case 4:o=l,n=h,s=i;break;case 5:o=i,n=h,s=d}return{r:Math.floor(255*o),g:Math.floor(255*n),b:Math.floor(255*s)}},e.HSVToHex=function(t,i,o){var n=e.HSVToRGB(t,i,o);return e.RGBToHex(n.r,n.g,n.b)},e.hexToHSV=function(t){var i=e.hexToRGB(t);return e.RGBToHSV(i.r,i.g,i.b)},e.isValidHex=function(t){return/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(t)},e.isValidRGB=function(t){return t=t.replace(" ",""),/rgb\((\d{1,3}),(\d{1,3}),(\d{1,3})\)/i.test(t)},e.isValidRGBA=function(t){return t=t.replace(" ",""),/rgba\((\d{1,3}),(\d{1,3}),(\d{1,3}),(.{1,3})\)/i.test(t)},e.selectiveBridgeObject=function(t,i){if(null!==i&&"object"===(void 0===i?"undefined":(0,p.default)(i))){for(var o=(0,h.default)(i),n=0;n0&&e(o,t[n-1])<0;n--)t[n]=t[n-1];t[n]=o}return t},e.mergeOptions=function(t,e,i){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},n=function(t){return null!==t&&void 0!==t},s=function(t){return null!==t&&"object"===(void 0===t?"undefined":(0,p.default)(t))};if(!s(t))throw new Error("Parameter mergeTarget must be an object");if(!s(e))throw new Error("Parameter options must be an object");if(!n(i))throw new Error("Parameter option must have a value");if(!s(o))throw new Error("Parameter globalOptions must be an object");var r=e[i],a=s(o)&&!function(t){for(var e in t)if(t.hasOwnProperty(e))return!1;return!0}(o),d=a?o[i]:void 0,l=d?d.enabled:void 0;if(void 0!==r){if("boolean"==typeof r)return s(t[i])||(t[i]={}),void(t[i].enabled=r);if(null===r&&!s(t[i])){if(!n(d))return;t[i]=(0,h.default)(d)}if(s(r)){var u=!0;void 0!==r.enabled?u=r.enabled:void 0!==l&&(u=d.enabled),function(t,e,i){s(t[i])||(t[i]={});var o=e[i],n=t[i];for(var r in o)o.hasOwnProperty(r)&&(n[r]=o[r])}(t,e,i),t[i].enabled=u}}},e.binarySearchCustom=function(t,e,i,o){for(var n=0,s=0,r=t.length-1;s<=r&&n<1e4;){var a=Math.floor((s+r)/2),h=t[a],d=void 0===o?h[i]:h[i][o],l=e(d);if(0==l)return a;-1==l?s=a+1:r=a-1,n++}return-1},e.binarySearchValue=function(t,e,i,o,n){var s,r,a,h,d=0,l=0,u=t.length-1;for(n=void 0!=n?n:function(t,e){return t==e?0:t0)return"before"==o?Math.max(0,h-1):h;if(n(r,e)<0&&n(a,e)>0)return"before"==o?h:Math.min(t.length-1,h+1);n(r,e)<0?l=h+1:u=h-1,d++}return-1},e.easingFunctions={linear:function(t){return t},easeInQuad:function(t){return t*t},easeOutQuad:function(t){return t*(2-t)},easeInOutQuad:function(t){return t<.5?2*t*t:(4-2*t)*t-1},easeInCubic:function(t){return t*t*t},easeOutCubic:function(t){return--t*t*t+1},easeInOutCubic:function(t){return t<.5?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 t<.5?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 t<.5?16*t*t*t*t*t:1+16*--t*t*t*t*t}},e.getScrollBarWidth=function(){var t=document.createElement("p");t.style.width="100%",t.style.height="200px";var e=document.createElement("div");e.style.position="absolute",e.style.top="0px",e.style.left="0px",e.style.visibility="hidden",e.style.width="200px",e.style.height="150px",e.style.overflow="hidden",e.appendChild(t),document.body.appendChild(e);var i=t.offsetWidth;e.style.overflow="scroll";var o=t.offsetWidth;return i==o&&(o=e.clientWidth),document.body.removeChild(e),i-o},e.topMost=function(t,e){var i=void 0;Array.isArray(e)||(e=[e]);var o=!0,n=!1,s=void 0;try{for(var a,h=(0,r.default)(t);!(o=(a=h.next()).done);o=!0){var d=a.value;if(d){i=d[e[0]];for(var l=1;l0?(o=e[t].redundant[0],e[t].redundant.shift()):(o=document.createElementNS("http://www.w3.org/2000/svg",t),i.appendChild(o)):(o=document.createElementNS("http://www.w3.org/2000/svg",t),e[t]={used:[],redundant:[]},i.appendChild(o)),e[t].used.push(o),o},e.getDOMElement=function(t,e,i,o){var n;return e.hasOwnProperty(t)?e[t].redundant.length>0?(n=e[t].redundant[0],e[t].redundant.shift()):(n=document.createElement(t),void 0!==o?i.insertBefore(n,o):i.appendChild(n)):(n=document.createElement(t),e[t]={used:[],redundant:[]},void 0!==o?i.insertBefore(n,o):i.appendChild(n)),e[t].used.push(n),n},e.drawPoint=function(t,i,o,n,s,r){var a;if("circle"==o.style?(a=e.getSVGElement("circle",n,s),a.setAttributeNS(null,"cx",t),a.setAttributeNS(null,"cy",i),a.setAttributeNS(null,"r",.5*o.size)):(a=e.getSVGElement("rect",n,s),a.setAttributeNS(null,"x",t-.5*o.size),a.setAttributeNS(null,"y",i-.5*o.size),a.setAttributeNS(null,"width",o.size),a.setAttributeNS(null,"height",o.size)),void 0!==o.styles&&a.setAttributeNS(null,"style",o.styles),a.setAttributeNS(null,"class",o.className+" vis-point"),r){var h=e.getSVGElement("text",n,s);r.xOffset&&(t+=r.xOffset),r.yOffset&&(i+=r.yOffset),r.content&&(h.textContent=r.content),r.className&&h.setAttributeNS(null,"class",r.className+" vis-label"),h.setAttributeNS(null,"x",t),h.setAttributeNS(null,"y",i)}return a},e.drawBar=function(t,i,o,n,s,r,a,h){if(0!=n){n<0&&(n*=-1,i-=n);var d=e.getSVGElement("rect",r,a);d.setAttributeNS(null,"x",t-.5*o),d.setAttributeNS(null,"y",i),d.setAttributeNS(null,"width",o),d.setAttributeNS(null,"height",n),d.setAttributeNS(null,"class",s),h&&d.setAttributeNS(null,"style",h)}}},function(t,e,i){function o(){var t=function(){};return{on:t,off:t,destroy:t,emit:t,get:function(e){return{set:t}}}}if("undefined"!=typeof window){var n=i(130),s=window.Hammer||i(131);t.exports=n(s,{preventDefault:"mouse"})}else t.exports=function(){return o()}},function(t,e,i){var o=i(91),n=i(35);t.exports=function(t){return o(n(t))}},function(t,e,i){var o=i(8),n=i(26);t.exports=i(9)?function(t,e,i){return o.f(t,e,n(1,i))}:function(t,e,i){return t[e]=i,t}},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}function n(t,e){if(t&&!Array.isArray(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=(0,l.default)(this._options.type),o=0,n=i.length;on?1:or)&&(s=h,r=d)}return s},n.prototype.min=function(t){var e,i,o=this._data,n=(0,l.default)(o),s=null,r=null;for(e=0,i=n.length;e=4*a){var p=0,c=s.clone();switch(o[h].repeat){case"daily":d.day()!=l.day()&&(p=1),d.dayOfYear(n.dayOfYear()),d.year(n.year()),d.subtract(7,"days"),l.dayOfYear(n.dayOfYear()),l.year(n.year()),l.subtract(7-p,"days"),c.add(1,"weeks");break;case"weekly":var m=l.diff(d,"days"),f=d.day();d.date(n.date()),d.month(n.month()),d.year(n.year()),l=d.clone(),d.day(f),l.day(f),l.add(m,"days"),d.subtract(1,"weeks"),l.subtract(1,"weeks"),c.add(1,"weeks");break;case"monthly":d.month()!=l.month()&&(p=1),d.month(n.month()),d.year(n.year()),d.subtract(1,"months"),l.month(n.month()),l.year(n.year()),l.subtract(1,"months"),l.add(p,"months"),c.add(1,"months");break;case"yearly":d.year()!=l.year()&&(p=1),d.year(n.year()),d.subtract(1,"years"),l.year(n.year()),l.subtract(1,"years"),l.add(p,"years"),c.add(1,"years");break;default:return void console.log("Wrong repeat format, allowed are: daily, weekly, monthly, yearly. Given:",o[h].repeat)}for(;d=e[o].start&&e[n].end<=e[o].end?e[n].remove=!0:e[n].start>=e[o].start&&e[n].start<=e[o].end?(e[o].end=e[n].end,e[n].remove=!0):e[n].end>=e[o].start&&e[n].end<=e[o].end&&(e[o].start=e[n].start,e[n].remove=!0));for(o=0;o=r&&nt.range.end){var h={start:t.range.start,end:i};return i=e.correctTimeForHidden(t.options.moment,t.body.hiddenDates,h,i),n=t.range.conversion(o,r),(i.valueOf()-n.offset)*n.scale}return i=e.correctTimeForHidden(t.options.moment,t.body.hiddenDates,t.range,i),n=t.range.conversion(o,r),(i.valueOf()-n.offset)*n.scale},e.toTime=function(t,i,o){if(0==t.body.hiddenDates.length){var n=t.range.conversion(o);return new Date(i/n.scale+n.offset)}var s=e.getHiddenDurationBetween(t.body.hiddenDates,t.range.start,t.range.end),r=t.range.end-t.range.start-s,a=r*i/o,h=e.getAccumulatedHiddenDuration(t.body.hiddenDates,t.range,a);return new Date(h+a+t.range.start)},e.getHiddenDurationBetween=function(t,e,i){for(var o=0,n=0;n=e&&r=e&&r<=i&&(o+=r-s)}return o},e.correctTimeForHidden=function(t,i,o,n){return n=t(n).toDate().valueOf(),n-=e.getHiddenDurationBefore(t,i,o,n)},e.getHiddenDurationBefore=function(t,e,i,o){var n=0;o=t(o).toDate().valueOf();for(var s=0;s=i.start&&a=a&&(n+=a-r)}return n},e.getAccumulatedHiddenDuration=function(t,e,i){for(var o=0,n=0,s=e.start,r=0;r=e.start&&h=i)break;o+=h-a}}return o},e.snapAwayFromHidden=function(t,i,o,n){var s=e.isHidden(i,t);return 1==s.hidden?o<0?1==n?s.startDate-(s.endDate-i)-1:s.startDate-1:1==n?s.endDate+(i-s.startDate)+1:s.endDate+1:i},e.isHidden=function(t,e){for(var i=0;i=o&&t0){var e=[];if(Array.isArray(this.options.dataAttributes))e=this.options.dataAttributes;else{if("all"!=this.options.dataAttributes)return;e=(0,h.default)(this.data)}for(var i=0;i=.4*g}if(this.options.showMinorLabels&&f){var D=this._repaintMinorText(p,y,t,b);D.style.width=_+"px"}m&&this.options.showMajorLabels?(p>0&&(void 0==w&&(w=p),D=this._repaintMajorText(p,s.getLabelMajor(),t,b)),v=this._repaintMajorLine(p,_,t,b)):f?v=this._repaintMinorLine(p,_,t,b):v&&(v.style.width=parseInt(v.style.width)+_+"px")}if(1e3!==x||u||(console.warn("Something is wrong with the Timeline scale. Limited drawing of grid lines to 1000 lines."),u=!0),this.options.showMajorLabels){var S=this.body.util.toTime(0),k=s.getLabelMajor(S),T=k.length*(this.props.majorCharWidth||10)+10;(void 0==w||Ts.distance?" in "+t.printLocation(n.path,e,"")+"Perhaps it was misplaced? Matching option found at: "+t.printLocation(s.path,s.closestMatch,""):n.distance<=8?'. Did you mean "'+n.closestMatch+'"?'+t.printLocation(n.path,e):". Did you mean one of these: "+t.print((0,d.default)(i))+t.printLocation(o,e),console.log('%cUnknown option detected: "'+e+'"'+r,v),f=!0}},{key:"findInOptions",value:function(e,i,o){var n=arguments.length>3&&void 0!==arguments[3]&&arguments[3],s=1e9,r="",a=[],h=e.toLowerCase(),d=void 0;for(var l in i){var u=void 0;if(void 0!==i[l].__type__&&!0===n){var p=t.findInOptions(e,i[l],m.copyAndExtendArray(o,l));s>p.distance&&(r=p.closestMatch,a=p.path,s=p.distance,d=p.indexMatch)}else-1!==l.toLowerCase().indexOf(h)&&(d=l),u=t.levenshteinDistance(e,l),s>u&&(r=l,a=m.copyArray(o),s=u)}return{closestMatch:r,path:a,distance:s,indexMatch:d}}},{key:"printLocation",value:function(t,e){for(var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"Problem value found at: \n",o="\n\n"+i+"options = {\n",n=0;ndocument.F=Object<\/script>"),t.close(),h=t.F;o--;)delete h.prototype[s[o]];return h()};t.exports=Object.create||function(t,e){var i;return null!==t?(a.prototype=o(t),i=new a,a.prototype=null,i[r]=t):i=h(),void 0===e?i:n(i,e)}},function(t,e){var i=Math.ceil,o=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?o:i)(t)}},function(t,e,i){var o=i(40)("keys"),n=i(28);t.exports=function(t){return o[t]||(o[t]=n(t))}},function(t,e,i){var o=i(2),n=i(6),s=n["__core-js_shared__"]||(n["__core-js_shared__"]={});(t.exports=function(t,e){return s[t]||(s[t]=void 0!==e?e:{})})("versions",[]).push({version:o.version,mode:i(25)?"pure":"global",copyright:"© 2018 Denis Pushkarev (zloirock.ru)"})},function(t,e){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(t,e,i){var o=i(8).f,n=i(10),s=i(7)("toStringTag");t.exports=function(t,e,i){t&&!n(t=i?t:t.prototype,s)&&o(t,s,{configurable:!0,value:e})}},function(t,e,i){t.exports={default:i(105),__esModule:!0}},function(t,e,i){e.f=i(7)},function(t,e,i){var o=i(6),n=i(2),s=i(25),r=i(44),a=i(8).f;t.exports=function(t){var e=n.Symbol||(n.Symbol=s?{}:o.Symbol||{});"_"==t.charAt(0)||t in e||a(e,t,{value:r.f(t)})}},function(t,e){e.f={}.propertyIsEnumerable},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}function n(t,e){var i=c().hours(0).minutes(0).seconds(0).milliseconds(0),o=i.clone().add(-3,"days").valueOf(),n=i.clone().add(3,"days").valueOf();this.millisecondsPerPixelCache=void 0,void 0===e?(this.start=o,this.end=n):(this.start=e.start||o,this.end=e.end||n),this.rolling=!1,this.body=t,this.deltaDifference=0,this.scaleOffset=0,this.startToFront=!1,this.endToFront=!0,this.defaultOptions={rtl:!1,start:null,end:null,moment:c,direction:"horizontal",moveable:!0,zoomable:!0,min:null,max:null,zoomMin:10,zoomMax:31536e10,rollingMode:{follow:!1,offset:.5}},this.options=p.extend({},this.defaultOptions),this.props={touch:{}},this.animationTimer=null,this.body.emitter.on("panstart",this._onDragStart.bind(this)),this.body.emitter.on("panmove",this._onDrag.bind(this)),this.body.emitter.on("panend",this._onDragEnd.bind(this)),this.body.emitter.on("mousewheel",this._onMouseWheel.bind(this)),this.body.emitter.on("touch",this._onTouch.bind(this)),this.body.emitter.on("pinch",this._onPinch.bind(this)),this.body.dom.rollingModeBtn.addEventListener("click",this.startRolling.bind(this)),this.setOptions(e)}function s(t){if("horizontal"!=t&&"vertical"!=t)throw new TypeError('Unknown direction "'+t+'". Choose "horizontal" or "vertical".')}var r=i(4),a=o(r),h=i(16),d=o(h),l=i(1),u=o(l),p=i(0),c=i(3),m=i(5),f=i(22);n.prototype=new m,n.prototype.setOptions=function(t){if(t){var e=["animation","direction","min","max","zoomMin","zoomMax","moveable","zoomable","moment","activate","hiddenDates","zoomKey","rtl","showCurrentTime","rollingMode","horizontalScroll"];p.selectiveExtend(e,this.options,t),t.rollingMode&&t.rollingMode.follow&&this.startRolling(),("start"in t||"end"in t)&&this.setRange(t.start,t.end)}},n.prototype.startRolling=function(){function t(){e.stopRolling(),e.rolling=!0;var i=e.end-e.start,o=p.convert(new Date,"Date").valueOf(),n=o-i*e.options.rollingMode.offset,s=o+i*(1-e.options.rollingMode.offset),r={animation:!1};e.setRange(n,s,r),i=1/e.conversion(e.body.domProps.center.width).scale/10,i<30&&(i=30),i>1e3&&(i=1e3),e.body.dom.rollingModeBtn.style.visibility="hidden",e.currentTimeTimer=setTimeout(t,i)}var e=this;t()},n.prototype.stopRolling=function(){void 0!==this.currentTimeTimer&&(clearTimeout(this.currentTimeTimer),this.rolling=!1,this.body.dom.rollingModeBtn.style.visibility="visible")},n.prototype.setRange=function(t,e,i,o,n){i||(i={}),!0!==i.byUser&&(i.byUser=!1);var s=this,r=void 0!=t?p.convert(t,"Date").valueOf():null,h=void 0!=e?p.convert(e,"Date").valueOf():null;if(this._cancelAnimation(),this.millisecondsPerPixelCache=void 0,i.animation){var l=this.start,c=this.end,m="object"===(0,u.default)(i.animation)&&"duration"in i.animation?i.animation.duration:500,g="object"===(0,u.default)(i.animation)&&"easingFunction"in i.animation?i.animation.easingFunction:"easeInOutQuad",v=p.easingFunctions[g];if(!v)throw new Error("Unknown easing function "+(0,d.default)(g)+". Choose from: "+(0,a.default)(p.easingFunctions).join(", "));var y=(new Date).valueOf(),b=!1;return function t(){if(!s.props.touch.dragging){var e=(new Date).valueOf(),a=e-y,d=v(a/m),u=a>m,p=u||null===r?r:l+(r-l)*d,g=u||null===h?h:c+(h-c)*d;_=s._applyRange(p,g),f.updateHiddenDates(s.options.moment,s.body,s.options.hiddenDates),b=b||_;var w={start:new Date(s.start),end:new Date(s.end),byUser:i.byUser,event:i.event};if(n&&n(d,_,u),_&&s.body.emitter.emit("rangechange",w),u){if(b&&(s.body.emitter.emit("rangechanged",w),o))return o()}else s.animationTimer=setTimeout(t,20)}}()}var _=this._applyRange(r,h);if(f.updateHiddenDates(this.options.moment,this.body,this.options.hiddenDates),_){var w={start:new Date(this.start),end:new Date(this.end),byUser:i.byUser,event:i.event};if(this.body.emitter.emit("rangechange",w),clearTimeout(s.timeoutID),s.timeoutID=setTimeout(function(){s.body.emitter.emit("rangechanged",w)},200),o)return o()}},n.prototype.getMillisecondsPerPixel=function(){return void 0===this.millisecondsPerPixelCache&&(this.millisecondsPerPixelCache=(this.end-this.start)/this.body.dom.center.clientWidth),this.millisecondsPerPixelCache},n.prototype._cancelAnimation=function(){this.animationTimer&&(clearTimeout(this.animationTimer),this.animationTimer=null)},n.prototype._applyRange=function(t,e){var i,o=null!=t?p.convert(t,"Date").valueOf():this.start,n=null!=e?p.convert(e,"Date").valueOf():this.end,s=null!=this.options.max?p.convert(this.options.max,"Date").valueOf():null,r=null!=this.options.min?p.convert(this.options.min,"Date").valueOf():null;if(isNaN(o)||null===o)throw new Error('Invalid start "'+t+'"');if(isNaN(n)||null===n)throw new Error('Invalid end "'+e+'"');if(ns&&(n=s)),null!==s&&n>s&&(i=n-s,o-=i,n-=i,null!=r&&o=this.start-.5&&n<=this.end?(o=this.start,n=this.end):(i=a-(n-o),o-=i/2,n+=i/2)}}if(null!==this.options.zoomMax){var h=parseFloat(this.options.zoomMax);h<0&&(h=0),n-o>h&&(this.end-this.start===h&&othis.end?(o=this.start,n=this.end):(i=n-o-h,o+=i/2,n-=i/2))}var d=this.start!=o||this.end!=n;return o>=this.start&&o<=this.end||n>=this.start&&n<=this.end||this.start>=o&&this.start<=n||this.end>=o&&this.end<=n||this.body.emitter.emit("checkRangedItems"),this.start=o,this.end=n,d},n.prototype.getRange=function(){return{start:this.start,end:this.end}},n.prototype.conversion=function(t,e){return n.conversion(this.start,this.end,t,e)},n.conversion=function(t,e,i,o){return void 0===o&&(o=0),0!=i&&e-t!=0?{offset:t,scale:i/(e-t-o)}:{offset:0,scale:1}},n.prototype._onDragStart=function(t){this.deltaDifference=0,this.previousDelta=0,this.options.moveable&&this._isInsideRange(t)&&this.props.touch.allowDragging&&(this.stopRolling(),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"))},n.prototype._onDrag=function(t){if(t&&this.props.touch.dragging&&this.options.moveable&&this.props.touch.allowDragging){var e=this.options.direction;s(e);var i="horizontal"==e?t.deltaX:t.deltaY;i-=this.deltaDifference;var o=this.props.touch.end-this.props.touch.start;o-=f.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end);var n,r="horizontal"==e?this.body.domProps.center.width:this.body.domProps.center.height;n=this.options.rtl?i/r*o:-i/r*o;var a=this.props.touch.start+n,h=this.props.touch.end+n,d=f.snapAwayFromHidden(this.body.hiddenDates,a,this.previousDelta-i,!0),l=f.snapAwayFromHidden(this.body.hiddenDates,h,this.previousDelta-i,!0);if(d!=a||l!=h)return this.deltaDifference+=i,this.props.touch.start=d,this.props.touch.end=l,void this._onDrag(t);this.previousDelta=i,this._applyRange(a,h);var u=new Date(this.start),p=new Date(this.end);this.body.emitter.emit("rangechange",{start:u,end:p,byUser:!0,event:t}),this.body.emitter.emit("panmove")}},n.prototype._onDragEnd=function(t){this.props.touch.dragging&&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,event:t}))},n.prototype._onMouseWheel=function(t){var e=0;if(t.wheelDelta?e=t.wheelDelta/120:t.detail&&(e=-t.detail/3),!(this.options.zoomKey&&!t[this.options.zoomKey]&&this.options.zoomable||!this.options.zoomable&&this.options.moveable)&&this.options.zoomable&&this.options.moveable&&this._isInsideRange(t)&&e){var i;i=e<0?1-e/5:1/(1+e/5);var o;if(this.rolling)o=this.start+(this.end-this.start)*this.options.rollingMode.offset;else{var n=this.getPointer({x:t.clientX,y:t.clientY},this.body.dom.center);o=this._pointerToDate(n)}this.zoom(i,o,e,t),t.preventDefault()}},n.prototype._onTouch=function(t){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,p.preventDefault(t)},n.prototype._onPinch=function(t){if(this.options.zoomable&&this.options.moveable){p.preventDefault(t),this.props.touch.allowDragging=!1,this.props.touch.center||(this.props.touch.center=this.getPointer(t.center,this.body.dom.center)),this.stopRolling();var e=1/(t.scale+this.scaleOffset),i=this._pointerToDate(this.props.touch.center),o=f.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end),n=f.getHiddenDurationBefore(this.options.moment,this.body.hiddenDates,this,i),s=o-n,r=i-n+(this.props.touch.start-(i-n))*e,a=i+s+(this.props.touch.end-(i+s))*e;this.startToFront=1-e<=0,this.endToFront=e-1<=0;var h=f.snapAwayFromHidden(this.body.hiddenDates,r,1-e,!0),d=f.snapAwayFromHidden(this.body.hiddenDates,a,e-1,!0);h==r&&d==a||(this.props.touch.start=h,this.props.touch.end=d,this.scaleOffset=1-t.scale,r=h,a=d);var l={animation:!1,byUser:!0,event:t};this.setRange(r,a,l),this.startToFront=!1,this.endToFront=!0}},n.prototype._isInsideRange=function(t){var e,i=t.center?t.center.x:t.clientX;e=this.options.rtl?i-p.getAbsoluteLeft(this.body.dom.centerContainer):p.getAbsoluteRight(this.body.dom.centerContainer)-i;var o=this.body.util.toTime(e);return o>=this.start&&o<=this.end},n.prototype._pointerToDate=function(t){var e,i=this.options.direction;if(s(i),"horizontal"==i)return this.body.util.toTime(t.x).valueOf();var o=this.body.domProps.center.height;return e=this.conversion(o),t.y/e.scale+e.offset},n.prototype.getPointer=function(t,e){return this.options.rtl?{x:p.getAbsoluteRight(e)-t.x,y:t.y-p.getAbsoluteTop(e)}:{x:t.x-p.getAbsoluteLeft(e),y:t.y-p.getAbsoluteTop(e)}},n.prototype.zoom=function(t,e,i,o){null==e&&(e=(this.start+this.end)/2);var n=f.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end),s=f.getHiddenDurationBefore(this.options.moment,this.body.hiddenDates,this,e),r=n-s,a=e-s+(this.start-(e-s))*t,h=e+r+(this.end-(e+r))*t;this.startToFront=!(i>0),this.endToFront=!(-i>0);var d=f.snapAwayFromHidden(this.body.hiddenDates,a,i,!0),l=f.snapAwayFromHidden(this.body.hiddenDates,h,-i,!0);d==a&&l==h||(a=d,h=l);var u={animation:!1,byUser:!0,event:o};this.setRange(a,h,u),this.startToFront=!1,this.endToFront=!0},n.prototype.move=function(t){var e=this.end-this.start,i=this.start+e*t,o=this.end+e*t;this.start=i,this.end=o},n.prototype.moveTo=function(t){var e=(this.start+this.end)/2,i=e-t,o=this.start-i,n=this.end-i,s={animation:!1,byUser:!0,event:null};this.setRange(o,n,s)},t.exports=n},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}function n(){}var s=i(16),r=o(s),a=i(1),h=o(a),d=i(66),l=i(12),u=i(67),p=i(0),c=i(29),m=i(132),f=i(22),g=i(30);d(n.prototype),n.prototype._create=function(t){function e(t){this.isActive()&&this.emit("mousewheel",t);var e=0,i=0;if("detail"in t&&(i=-1*t.detail),"wheelDelta"in t&&(i=t.wheelDelta),"wheelDeltaY"in t&&(i=t.wheelDeltaY),"wheelDeltaX"in t&&(e=-1*t.wheelDeltaX),"axis"in t&&t.axis===t.HORIZONTAL_AXIS&&(e=-1*i,i=0),"deltaY"in t&&(i=-1*t.deltaY),"deltaX"in t&&(e=t.deltaX),this.options.zoomKey&&!t[this.options.zoomKey])if(t.preventDefault(),this.options.verticalScroll&&Math.abs(i)>=Math.abs(e)){var o=this.props.scrollTop,n=o+i;this.isActive()&&(this._setScrollTop(n),this._redraw(),this.emit("scroll",t))}else if(this.options.horizontalScroll){var s=Math.abs(e)>=Math.abs(i)?e:i,r=s/120*(this.range.end-this.range.start)/20,a=this.range.start+r,h=this.range.end+r,d={animation:!1,byUser:!0,event:t};this.range.setRange(a,h,d)}}function i(t){if(s.options.verticalScroll&&(t.preventDefault(),s.isActive())){var e=-t.target.scrollTop;s._setScrollTop(e),s._redraw(),s.emit("scrollSide",t)}}function o(t){if(t.preventDefault&&t.preventDefault(),!(!t.target.className.indexOf("vis")>-1||a))return t.dataTransfer.dropEffect="move",a=!0,!1}function n(t){t.preventDefault&&t.preventDefault(),t.stopPropagation&&t.stopPropagation();try{var e=JSON.parse(t.dataTransfer.getData("text"));if(!e||!e.content)return}catch(t){return!1}return a=!1,t.center={x:t.clientX,y:t.clientY},"item"!==e.target?s.itemSet._onAddItem(t):s.itemSet._onDropObjectOnItem(t),s.emit("drop",s.getEventProperties(t)),!1}this.dom={},this.dom.container=t,this.dom.root=document.createElement("div"),this.dom.background=document.createElement("div"),this.dom.backgroundVertical=document.createElement("div"),this.dom.backgroundHorizontal=document.createElement("div"),this.dom.centerContainer=document.createElement("div"),this.dom.leftContainer=document.createElement("div"),this.dom.rightContainer=document.createElement("div"),this.dom.center=document.createElement("div"),this.dom.left=document.createElement("div"),this.dom.right=document.createElement("div"),this.dom.top=document.createElement("div"),this.dom.bottom=document.createElement("div"),this.dom.shadowTop=document.createElement("div"),this.dom.shadowBottom=document.createElement("div"),this.dom.shadowTopLeft=document.createElement("div"),this.dom.shadowBottomLeft=document.createElement("div"),this.dom.shadowTopRight=document.createElement("div"),this.dom.shadowBottomRight=document.createElement("div"),this.dom.rollingModeBtn=document.createElement("div"),this.dom.root.className="vis-timeline",this.dom.background.className="vis-panel vis-background",this.dom.backgroundVertical.className="vis-panel vis-background vis-vertical",this.dom.backgroundHorizontal.className="vis-panel vis-background vis-horizontal",this.dom.centerContainer.className="vis-panel vis-center",this.dom.leftContainer.className="vis-panel vis-left",this.dom.rightContainer.className="vis-panel vis-right",this.dom.top.className="vis-panel vis-top",this.dom.bottom.className="vis-panel vis-bottom",this.dom.left.className="vis-content",this.dom.center.className="vis-content",this.dom.right.className="vis-content",this.dom.shadowTop.className="vis-shadow vis-top",this.dom.shadowBottom.className="vis-shadow vis-bottom",this.dom.shadowTopLeft.className="vis-shadow vis-top",this.dom.shadowBottomLeft.className="vis-shadow vis-bottom",this.dom.shadowTopRight.className="vis-shadow vis-top",this.dom.shadowBottomRight.className="vis-shadow vis-bottom",this.dom.rollingModeBtn.className="vis-rolling-mode-btn",this.dom.root.appendChild(this.dom.background),this.dom.root.appendChild(this.dom.backgroundVertical),this.dom.root.appendChild(this.dom.backgroundHorizontal),this.dom.root.appendChild(this.dom.centerContainer),this.dom.root.appendChild(this.dom.leftContainer),this.dom.root.appendChild(this.dom.rightContainer),this.dom.root.appendChild(this.dom.top),this.dom.root.appendChild(this.dom.bottom),this.dom.root.appendChild(this.dom.bottom),this.dom.root.appendChild(this.dom.rollingModeBtn),this.dom.centerContainer.appendChild(this.dom.center),this.dom.leftContainer.appendChild(this.dom.left),this.dom.rightContainer.appendChild(this.dom.right),this.dom.centerContainer.appendChild(this.dom.shadowTop),this.dom.centerContainer.appendChild(this.dom.shadowBottom),this.dom.leftContainer.appendChild(this.dom.shadowTopLeft),this.dom.leftContainer.appendChild(this.dom.shadowBottomLeft),this.dom.rightContainer.appendChild(this.dom.shadowTopRight),this.dom.rightContainer.appendChild(this.dom.shadowBottomRight),this.tmpData={},this.props={root:{},background:{},centerContainer:{},leftContainer:{},rightContainer:{},center:{},left:{},right:{},top:{},bottom:{},border:{},scrollTop:0,scrollTopMin:0},this.on("rangechange",function(){!0===this.initialDrawDone&&this._redraw()}.bind(this)),this.on("rangechanged",function(){this.initialRangeChangeDone||(this.initialRangeChangeDone=!0)}.bind(this)),this.on("touch",this._onTouch.bind(this)),this.on("panmove",this._onDrag.bind(this));var s=this;this._origRedraw=this._redraw.bind(this),this._redraw=p.throttle(this._origRedraw),this.on("_change",function(t){s.itemSet&&s.itemSet.initialItemSetDrawn&&t&&1==t.queue?s._redraw():s._origRedraw()}),this.hammer=new l(this.dom.root);var r=this.hammer.get("pinch").set({enable:!0});u.disablePreventDefaultVertically(r),this.hammer.get("pan").set({threshold:5,direction:l.DIRECTION_HORIZONTAL}),this.listeners={},["tap","doubletap","press","pinch","pan","panstart","panmove","panend"].forEach(function(t){var e=function(e){s.isActive()&&s.emit(t,e)};s.hammer.on(t,e),s.listeners[t]=e}),u.onTouch(this.hammer,function(t){s.emit("touch",t)}.bind(this)),u.onRelease(this.hammer,function(t){s.emit("release",t)}.bind(this)),this.dom.centerContainer.addEventListener?(this.dom.centerContainer.addEventListener("mousewheel",e.bind(this),!1),this.dom.centerContainer.addEventListener("DOMMouseScroll",e.bind(this),!1)):this.dom.centerContainer.attachEvent("onmousewheel",e.bind(this)),this.dom.left.parentNode.addEventListener("scroll",i.bind(this)),this.dom.right.parentNode.addEventListener("scroll",i.bind(this));var a=!1;if(this.dom.center.addEventListener("dragover",o.bind(this),!1),this.dom.center.addEventListener("drop",n.bind(this),!1),this.customTimes=[],this.touch={},this.redrawCount=0,this.initialDrawDone=!1,this.initialRangeChangeDone=!1,!t)throw new Error("No container provided");t.appendChild(this.dom.root)},n.prototype.setOptions=function(t){if(t){var e=["width","height","minHeight","maxHeight","autoResize","start","end","clickToUse","dataAttributes","hiddenDates","locale","locales","moment","rtl","zoomKey","horizontalScroll","verticalScroll"];if(p.selectiveExtend(e,this.options,t),this.dom.rollingModeBtn.style.visibility="hidden",this.options.rtl&&(this.dom.container.style.direction="rtl",this.dom.backgroundVertical.className="vis-panel vis-background vis-vertical-rtl"),this.options.verticalScroll&&(this.options.rtl?this.dom.rightContainer.className="vis-panel vis-right vis-vertical-scroll":this.dom.leftContainer.className="vis-panel vis-left vis-vertical-scroll"),"object"!==(0,h.default)(this.options.orientation)&&(this.options.orientation={item:void 0,axis:void 0}),"orientation"in t&&("string"==typeof t.orientation?this.options.orientation={item:t.orientation,axis:t.orientation}:"object"===(0,h.default)(t.orientation)&&("item"in t.orientation&&(this.options.orientation.item=t.orientation.item),"axis"in t.orientation&&(this.options.orientation.axis=t.orientation.axis))),"both"===this.options.orientation.axis){if(!this.timeAxis2){var i=this.timeAxis2=new c(this.body);i.setOptions=function(t){var e=t?p.extend({},t):{};e.orientation="top",c.prototype.setOptions.call(i,e)},this.components.push(i)}}else if(this.timeAxis2){var o=this.components.indexOf(this.timeAxis2);-1!==o&&this.components.splice(o,1),this.timeAxis2.destroy(),this.timeAxis2=null}if("function"==typeof t.drawPoints&&(t.drawPoints={onRender:t.drawPoints}),"hiddenDates"in this.options&&f.convertHiddenOptions(this.options.moment,this.body,this.options.hiddenDates),"clickToUse"in t&&(t.clickToUse?this.activator||(this.activator=new m(this.dom.root)):this.activator&&(this.activator.destroy(),delete this.activator)),"showCustomTime"in t)throw new Error("Option `showCustomTime` is deprecated. Create a custom time bar via timeline.addCustomTime(time [, id])");this._initAutoResize()}if(this.components.forEach(function(e){return e.setOptions(t)}),"configure"in t){this.configurator||(this.configurator=this._createConfigurator()),this.configurator.setOptions(t.configure);var n=p.deepExtend({},this.options);this.components.forEach(function(t){p.deepExtend(n,t.options)}),this.configurator.setModuleOptions({global:n})}this._redraw()},n.prototype.isActive=function(){return!this.activator||this.activator.active},n.prototype.destroy=function(){this.setItems(null),this.setGroups(null),this.off(),this._stopAutoResize(),this.dom.root.parentNode&&this.dom.root.parentNode.removeChild(this.dom.root),this.dom=null,this.activator&&(this.activator.destroy(),delete this.activator);for(var t in this.listeners)this.listeners.hasOwnProperty(t)&&delete this.listeners[t];this.listeners=null,this.hammer=null,this.components.forEach(function(t){return t.destroy()}),this.body=null},n.prototype.setCustomTime=function(t,e){var i=this.customTimes.filter(function(t){return e===t.options.id});if(0===i.length)throw new Error("No custom time bar found with id "+(0,r.default)(e));i.length>0&&i[0].setCustomTime(t)},n.prototype.getCustomTime=function(t){var e=this.customTimes.filter(function(e){return e.options.id===t});if(0===e.length)throw new Error("No custom time bar found with id "+(0,r.default)(t));return e[0].getCustomTime()},n.prototype.setCustomTimeTitle=function(t,e){var i=this.customTimes.filter(function(t){return t.options.id===e});if(0===i.length)throw new Error("No custom time bar found with id "+(0,r.default)(e));if(i.length>0)return i[0].setCustomTitle(t)},n.prototype.getEventProperties=function(t){return{event:t}},n.prototype.addCustomTime=function(t,e){var i=void 0!==t?p.convert(t,"Date").valueOf():new Date;if(this.customTimes.some(function(t){return t.options.id===e}))throw new Error("A custom time with id "+(0,r.default)(e)+" already exists");var o=new g(this.body,p.extend({},this.options,{time:i,id:e}));return this.customTimes.push(o),this.components.push(o),this._redraw(),e},n.prototype.removeCustomTime=function(t){var e=this.customTimes.filter(function(e){return e.options.id===t});if(0===e.length)throw new Error("No custom time bar found with id "+(0,r.default)(t));e.forEach(function(t){this.customTimes.splice(this.customTimes.indexOf(t),1),this.components.splice(this.components.indexOf(t),1),t.destroy()}.bind(this))},n.prototype.getVisibleItems=function(){return this.itemSet&&this.itemSet.getVisibleItems()||[]},n.prototype.fit=function(t,e){var i=this.getDataRange();if(null!==i.min||null!==i.max){var o=i.max-i.min,n=new Date(i.min.valueOf()-.01*o),s=new Date(i.max.valueOf()+.01*o),r=!t||void 0===t.animation||t.animation;this.range.setRange(n,s,{animation:r},e)}},n.prototype.getDataRange=function(){throw new Error("Cannot invoke abstract method getDataRange")},n.prototype.setWindow=function(t,e,i,o){"function"==typeof arguments[2]&&(o=arguments[2],i={});var n,s;1==arguments.length?(s=arguments[0],n=void 0===s.animation||s.animation,this.range.setRange(s.start,s.end,{animation:n})):2==arguments.length&&"function"==typeof arguments[1]?(s=arguments[0],o=arguments[1],n=void 0===s.animation||s.animation,this.range.setRange(s.start,s.end,{animation:n},o)):(n=!i||void 0===i.animation||i.animation,this.range.setRange(t,e,{animation:n},o))},n.prototype.moveTo=function(t,e,i){"function"==typeof arguments[1]&&(i=arguments[1],e={});var o=this.range.end-this.range.start,n=p.convert(t,"Date").valueOf(),s=n-o/2,r=n+o/2,a=!e||void 0===e.animation||e.animation;this.range.setRange(s,r,{animation:a},i)},n.prototype.getWindow=function(){var t=this.range.getRange();return{start:new Date(t.start),end:new Date(t.end)}},n.prototype.zoomIn=function(t,e,i){if(!(!t||t<0||t>1)){"function"==typeof arguments[1]&&(i=arguments[1],e={});var o=this.getWindow(),n=o.start.valueOf(),s=o.end.valueOf(),r=s-n,a=r/(1+t),h=(r-a)/2,d=n+h,l=s-h;this.setWindow(d,l,e,i)}},n.prototype.zoomOut=function(t,e,i){if(!(!t||t<0||t>1)){"function"==typeof arguments[1]&&(i=arguments[1],e={});var o=this.getWindow(),n=o.start.valueOf(),s=o.end.valueOf(),r=s-n,a=n-r*t/2,h=s+r*t/2;this.setWindow(a,h,e,i)}},n.prototype.redraw=function(){this._redraw()},n.prototype._redraw=function(){this.redrawCount++;var t=!1,e=this.options,i=this.props,o=this.dom;if(o&&o.container&&0!=o.root.offsetWidth){f.updateHiddenDates(this.options.moment,this.body,this.options.hiddenDates),"top"==e.orientation?(p.addClassName(o.root,"vis-top"),p.removeClassName(o.root,"vis-bottom")):(p.removeClassName(o.root,"vis-top"),p.addClassName(o.root,"vis-bottom")),o.root.style.maxHeight=p.option.asSize(e.maxHeight,""),o.root.style.minHeight=p.option.asSize(e.minHeight,""),o.root.style.width=p.option.asSize(e.width,""),this.tmpData&&this.tmpData.left||(this.tmpData={left:(o.centerContainer.offsetWidth-o.centerContainer.clientWidth)/2,top:(o.centerContainer.offsetHeight-o.centerContainer.clientHeight)/2,height:o.root.offsetHeight-o.root.clientHeight,width:o.root.offsetWidth-o.root.clientWidth});var n={left:(o.centerContainer.offsetWidth-o.centerContainer.clientWidth)/2,top:(o.centerContainer.offsetHeight-o.centerContainer.clientHeight)/2,height:o.root.offsetHeight-o.root.clientHeight,width:o.root.offsetWidth-o.root.clientWidth},s=this.tmpData.left-n.left,r=this.tmpData.top-n.top,a=this.tmpData.height-n.height,h=this.tmpData.width-n.width;s<=3||s>=-3?i.border.left=this.tmpData.left:(i.border.left=n.left,this.tmpData.left=n.left),r<=3||r>=-3?i.border.top=this.tmpData.top:(i.border.top=n.top,this.tmpData.top=n.top),a<=3||a>=-3?i.borderRootHeight=this.tmpData.height:(i.borderRootHeight=n.height,this.tmpData.height=n.height),h<=3||h>=-3?i.borderRootWidth=this.tmpData.width:(i.borderRootWidth=n.width,this.tmpData.width=n.width),i.border.right=i.border.left,i.border.bottom=i.border.top,0===o.centerContainer.clientHeight&&(i.border.left=i.border.top,i.border.right=i.border.left),0===o.root.clientHeight&&(i.borderRootWidth=i.borderRootHeight),i.center.height=o.center.offsetHeight,i.left.height=o.left.offsetHeight,i.right.height=o.right.offsetHeight,i.top.height=o.top.clientHeight||-i.border.top,i.bottom.height=o.bottom.clientHeight||-i.border.bottom;var d=Math.max(i.left.height,i.center.height,i.right.height),u=i.top.height+d+i.bottom.height+i.borderRootHeight+i.border.top+i.border.bottom;o.root.style.height=p.option.asSize(e.height,u+"px"),i.root.height=o.root.offsetHeight,i.background.height=i.root.height-i.borderRootHeight;var c=i.root.height-i.top.height-i.bottom.height-i.borderRootHeight;i.centerContainer.height=c,i.leftContainer.height=c,i.rightContainer.height=i.leftContainer.height,i.root.width=o.root.offsetWidth,i.background.width=i.root.width-i.borderRootWidth,this.initialDrawDone||(i.scrollbarWidth=p.getScrollBarWidth()),e.verticalScroll?e.rtl?(i.left.width=o.leftContainer.clientWidth||-i.border.left,i.right.width=o.rightContainer.clientWidth+i.scrollbarWidth||-i.border.right):(i.left.width=o.leftContainer.clientWidth+i.scrollbarWidth||-i.border.left,i.right.width=o.rightContainer.clientWidth||-i.border.right):(i.left.width=o.leftContainer.clientWidth||-i.border.left,i.right.width=o.rightContainer.clientWidth||-i.border.right),this._setDOM();var m=this._updateScrollTop();"top"!=e.orientation.item&&(m+=Math.max(i.centerContainer.height-i.center.height-i.border.top-i.border.bottom,0)),o.center.style.top=m+"px";var g=0==i.scrollTop?"hidden":"",v=i.scrollTop==i.scrollTopMin?"hidden":"";o.shadowTop.style.visibility=g,o.shadowBottom.style.visibility=v,o.shadowTopLeft.style.visibility=g,o.shadowBottomLeft.style.visibility=v,o.shadowTopRight.style.visibility=g,o.shadowBottomRight.style.visibility=v,e.verticalScroll&&(o.rightContainer.className="vis-panel vis-right vis-vertical-scroll",o.leftContainer.className="vis-panel vis-left vis-vertical-scroll",o.shadowTopRight.style.visibility="hidden",o.shadowBottomRight.style.visibility="hidden",o.shadowTopLeft.style.visibility="hidden",o.shadowBottomLeft.style.visibility="hidden",o.left.style.top="0px",o.right.style.top="0px"),(!e.verticalScroll||i.center.heighti.centerContainer.height;this.hammer.get("pan").set({direction:y?l.DIRECTION_ALL:l.DIRECTION_HORIZONTAL}),this.components.forEach(function(e){t=e.redraw()||t});if(t){if(this.redrawCount<2)return void this.body.emitter.emit("_change");console.log("WARNING: infinite loop in redraw? ...")}else this.redrawCount=0;this.body.emitter.emit("changed")}},n.prototype._setDOM=function(){var t=this.props,e=this.dom;t.leftContainer.width=t.left.width,t.rightContainer.width=t.right.width;var i=t.root.width-t.left.width-t.right.width-t.borderRootWidth;t.center.width=i,t.centerContainer.width=i,t.top.width=i,t.bottom.width=i,e.background.style.height=t.background.height+"px",e.backgroundVertical.style.height=t.background.height+"px",e.backgroundHorizontal.style.height=t.centerContainer.height+"px",e.centerContainer.style.height=t.centerContainer.height+"px",e.leftContainer.style.height=t.leftContainer.height+"px",e.rightContainer.style.height=t.rightContainer.height+"px",e.background.style.width=t.background.width+"px",e.backgroundVertical.style.width=t.centerContainer.width+"px",e.backgroundHorizontal.style.width=t.background.width+"px",e.centerContainer.style.width=t.center.width+"px",e.top.style.width=t.top.width+"px",e.bottom.style.width=t.bottom.width+"px",e.background.style.left="0",e.background.style.top="0",e.backgroundVertical.style.left=t.left.width+t.border.left+"px",e.backgroundVertical.style.top="0",e.backgroundHorizontal.style.left="0",e.backgroundHorizontal.style.top=t.top.height+"px",e.centerContainer.style.left=t.left.width+"px",e.centerContainer.style.top=t.top.height+"px",e.leftContainer.style.left="0",e.leftContainer.style.top=t.top.height+"px",e.rightContainer.style.left=t.left.width+t.center.width+"px",e.rightContainer.style.top=t.top.height+"px",e.top.style.left=t.left.width+"px",e.top.style.top="0",e.bottom.style.left=t.left.width+"px",e.bottom.style.top=t.top.height+t.centerContainer.height+"px",e.center.style.left="0",e.left.style.left="0",e.right.style.left="0"},n.prototype.repaint=function(){throw new Error("Function repaint is deprecated. Use redraw instead.")},n.prototype.setCurrentTime=function(t){if(!this.currentTime)throw new Error("Option showCurrentTime must be true");this.currentTime.setCurrentTime(t)},n.prototype.getCurrentTime=function(){if(!this.currentTime)throw new Error("Option showCurrentTime must be true");return this.currentTime.getCurrentTime()},n.prototype._toTime=function(t){return f.toTime(this,t,this.props.center.width)},n.prototype._toGlobalTime=function(t){return f.toTime(this,t,this.props.root.width)},n.prototype._toScreen=function(t){return f.toScreen(this,t,this.props.center.width)},n.prototype._toGlobalScreen=function(t){return f.toScreen(this,t,this.props.root.width)},n.prototype._initAutoResize=function(){1==this.options.autoResize?this._startAutoResize():this._stopAutoResize()},n.prototype._startAutoResize=function(){var t=this;this._stopAutoResize(),this._onResize=function(){if(1!=t.options.autoResize)return void t._stopAutoResize();t.dom.root&&(t.dom.root.offsetWidth==t.props.lastWidth&&t.dom.root.offsetHeight==t.props.lastHeight||(t.props.lastWidth=t.dom.root.offsetWidth,t.props.lastHeight=t.dom.root.offsetHeight,t.props.scrollbarWidth=p.getScrollBarWidth(),t.body.emitter.emit("_change")))},p.addEventListener(window,"resize",this._onResize),t.dom.root&&(t.props.lastWidth=t.dom.root.offsetWidth,t.props.lastHeight=t.dom.root.offsetHeight),this.watchTimer=setInterval(this._onResize,1e3)},n.prototype._stopAutoResize=function(){this.watchTimer&&(clearInterval(this.watchTimer),this.watchTimer=void 0),this._onResize&&(p.removeEventListener(window,"resize",this._onResize),this._onResize=null)},n.prototype._onTouch=function(t){this.touch.allowDragging=!0,this.touch.initialScrollTop=this.props.scrollTop},n.prototype._onPinch=function(t){this.touch.allowDragging=!1},n.prototype._onDrag=function(t){if(t&&this.touch.allowDragging){var e=t.deltaY,i=this._getScrollTop(),o=this._setScrollTop(this.touch.initialScrollTop+e);this.options.verticalScroll&&(this.dom.left.parentNode.scrollTop=-this.props.scrollTop,this.dom.right.parentNode.scrollTop=-this.props.scrollTop),o!=i&&this.emit("verticalDrag")}},n.prototype._setScrollTop=function(t){return this.props.scrollTop=t,this._updateScrollTop(),this.props.scrollTop},n.prototype._updateScrollTop=function(){var t=Math.min(this.props.centerContainer.height-this.props.center.height,0);return t!=this.props.scrollTopMin&&("top"!=this.options.orientation.item&&(this.props.scrollTop+=t-this.props.scrollTopMin),this.props.scrollTopMin=t),this.props.scrollTop>0&&(this.props.scrollTop=0),this.props.scrollTop0&&this.current.milliseconds()0&&this.current.seconds()0&&this.current.minutes()0&&this.current.hours()0?t.step:1,this.autoScale=!1)},o.prototype.setAutoScale=function(t){this.autoScale=t},o.prototype.setMinimumStep=function(t){if(void 0!=t){31104e9>t&&(this.scale="year",this.step=1e3),15552e9>t&&(this.scale="year",this.step=500),31104e8>t&&(this.scale="year",this.step=100),15552e8>t&&(this.scale="year",this.step=50),31104e7>t&&(this.scale="year",this.step=10),15552e7>t&&(this.scale="year",this.step=5),31104e6>t&&(this.scale="year",this.step=1),7776e6>t&&(this.scale="month",this.step=3),2592e6>t&&(this.scale="month",this.step=1),432e6>t&&(this.scale="day",this.step=5),1728e5>t&&(this.scale="day",this.step=2),864e5>t&&(this.scale="day",this.step=1),432e5>t&&(this.scale="weekday",this.step=1),144e5>t&&(this.scale="hour",this.step=4),36e5>t&&(this.scale="hour",this.step=1),9e5>t&&(this.scale="minute",this.step=15),6e5>t&&(this.scale="minute",this.step=10),3e5>t&&(this.scale="minute",this.step=5),6e4>t&&(this.scale="minute",this.step=1),15e3>t&&(this.scale="second",this.step=15),1e4>t&&(this.scale="second",this.step=10),5e3>t&&(this.scale="second",this.step=5),1e3>t&&(this.scale="second",this.step=1),200>t&&(this.scale="millisecond",this.step=200),100>t&&(this.scale="millisecond",this.step=100),50>t&&(this.scale="millisecond",this.step=50),10>t&&(this.scale="millisecond",this.step=10),5>t&&(this.scale="millisecond",this.step=5),1>t&&(this.scale="millisecond",this.step=1)}},o.snap=function(t,e,i){var o=n(t);if("year"==e){var s=o.year()+Math.round(o.month()/12);o.year(Math.round(s/i)*i),o.month(0),o.date(0),o.hours(0),o.minutes(0),o.seconds(0),o.milliseconds(0)}else if("month"==e)o.date()>15?(o.date(1),o.add(1,"month")):o.date(1),o.hours(0),o.minutes(0),o.seconds(0),o.milliseconds(0);else if("week"==e)o.weekday()>2?(o.weekday(0),o.add(1,"week")):o.weekday(0),o.hours(0),o.minutes(0),o.seconds(0),o.milliseconds(0);else if("day"==e){switch(i){case 5:case 2:o.hours(24*Math.round(o.hours()/24));break;default:o.hours(12*Math.round(o.hours()/12))}o.minutes(0),o.seconds(0),o.milliseconds(0)}else if("weekday"==e){switch(i){case 5:case 2:o.hours(12*Math.round(o.hours()/12));break;default:o.hours(6*Math.round(o.hours()/6))}o.minutes(0),o.seconds(0),o.milliseconds(0)}else if("hour"==e){switch(i){case 4:o.minutes(60*Math.round(o.minutes()/60));break;default:o.minutes(30*Math.round(o.minutes()/30))}o.seconds(0),o.milliseconds(0)}else if("minute"==e){switch(i){case 15:case 10:o.minutes(5*Math.round(o.minutes()/5)),o.seconds(0);break;case 5:o.seconds(60*Math.round(o.seconds()/60));break;default:o.seconds(30*Math.round(o.seconds()/30))}o.milliseconds(0)}else if("second"==e)switch(i){case 15:case 10:o.seconds(5*Math.round(o.seconds()/5)),o.milliseconds(0);break;case 5:o.milliseconds(1e3*Math.round(o.milliseconds()/1e3));break;default:o.milliseconds(500*Math.round(o.milliseconds()/500))}else if("millisecond"==e){var r=i>5?i/2:1;o.milliseconds(Math.round(o.milliseconds()/r)*r)}return o},o.prototype.isMajor=function(){if(1==this.switchedYear)switch(this.scale){case"year":case"month":case"week":case"weekday":case"day":case"hour":case"minute":case"second":case"millisecond":return!0;default:return!1}else if(1==this.switchedMonth)switch(this.scale){case"week":case"weekday":case"day":case"hour":case"minute":case"second":case"millisecond":return!0;default:return!1}else if(1==this.switchedDay)switch(this.scale){case"millisecond":case"second":case"minute":case"hour":return!0;default:return!1}var t=this.moment(this.current);switch(this.scale){case"millisecond":return 0==t.milliseconds();case"second":return 0==t.seconds();case"minute":return 0==t.hours()&&0==t.minutes();case"hour":return 0==t.hours();case"weekday":case"day":case"week":return 1==t.date();case"month":return 0==t.month();case"year":default:return!1}},o.prototype.getLabelMinor=function(t){if(void 0==t&&(t=this.current),t instanceof Date&&(t=this.moment(t)),"function"==typeof this.format.minorLabels)return this.format.minorLabels(t,this.scale,this.step);var e=this.format.minorLabels[this.scale];switch(this.scale){case"week":if(this.isMajor()&&0!==t.weekday())return"";default:return e&&e.length>0?this.moment(t).format(e):""}},o.prototype.getLabelMajor=function(t){if(void 0==t&&(t=this.current),t instanceof Date&&(t=this.moment(t)),"function"==typeof this.format.majorLabels)return this.format.majorLabels(t,this.scale,this.step);var e=this.format.majorLabels[this.scale];return e&&e.length>0?this.moment(t).format(e):""},o.prototype.getClassName=function(){function t(t){return t/a%2==0?" vis-even":" vis-odd"}function e(t){return t.isSame(new Date,"day")?" vis-today":t.isSame(n().add(1,"day"),"day")?" vis-tomorrow":t.isSame(n().add(-1,"day"),"day")?" vis-yesterday":""}function i(t){return t.isSame(new Date,"week")?" vis-current-week":""}function o(t){return t.isSame(new Date,"month")?" vis-current-month":""}var n=this.moment,s=this.moment(this.current),r=s.locale?s.locale("en"):s.lang("en"),a=this.step,h=[];switch(this.scale){case"millisecond":h.push(e(r)),h.push(t(r.milliseconds()));break;case"second":h.push(e(r)),h.push(t(r.seconds()));break;case"minute":h.push(e(r)),h.push(t(r.minutes()));break;case"hour":h.push("vis-h"+r.hours()+(4==this.step?"-h"+(r.hours()+4):"")),h.push(e(r)),h.push(t(r.hours()));break;case"weekday":h.push("vis-"+r.format("dddd").toLowerCase()),h.push(e(r)),h.push(i(r)),h.push(t(r.date()));break;case"day":h.push("vis-day"+r.date()),h.push("vis-"+r.format("MMMM").toLowerCase()),h.push(e(r)),h.push(o(r)),h.push(this.step<=2?e(r):""),h.push(this.step<=2?"vis-"+r.format("dddd").toLowerCase():""),h.push(t(r.date()-1));break;case"week":h.push("vis-week"+r.format("w")),h.push(i(r)),h.push(t(r.week()));break;case"month":h.push("vis-"+r.format("MMMM").toLowerCase()),h.push(o(r)),h.push(t(r.month()));break;case"year":h.push("vis-year"+r.year()),h.push(function(t){return t.isSame(new Date,"year")?" vis-current-year":""}(r)),h.push(t(r.year()))}return h.filter(String).join(" ")},t.exports=o},function(t,e,i){function o(t,e){this.body=t,this.defaultOptions={rtl:!1,showCurrentTime:!0,moment:r,locales:a,locale:"en"},this.options=n.extend({},this.defaultOptions),this.offset=0,this._create(),this.setOptions(e)}var n=i(0),s=i(5),r=i(3),a=i(69);o.prototype=new s,o.prototype._create=function(){var t=document.createElement("div");t.className="vis-current-time",t.style.position="absolute",t.style.top="0px",t.style.height="100%",this.bar=t},o.prototype.destroy=function(){this.options.showCurrentTime=!1,this.redraw(),this.body=null},o.prototype.setOptions=function(t){t&&n.selectiveExtend(["rtl","showCurrentTime","moment","locale","locales"],this.options,t)},o.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=this.options.moment((new Date).valueOf()+this.offset),i=this.body.util.toScreen(e),o=this.options.locales[this.options.locale];o||(this.warned||(console.log("WARNING: options.locales['"+this.options.locale+"'] not found. See http://visjs.org/docs/timeline/#Localization"),this.warned=!0),o=this.options.locales.en);var n=o.current+" "+o.time+": "+e.format("dddd, MMMM Do YYYY, H:mm:ss");n=n.charAt(0).toUpperCase()+n.substring(1),this.options.rtl?this.bar.style.right=i+"px":this.bar.style.left=i+"px",this.bar.title=n}else this.bar.parentNode&&this.bar.parentNode.removeChild(this.bar),this.stop();return!1},o.prototype.start=function(){function t(){e.stop();var i=e.body.range.conversion(e.body.domProps.center.width).scale,o=1/i/10;o<30&&(o=30),o>1e3&&(o=1e3),e.redraw(),e.body.emitter.emit("currentTimeTick"),e.currentTimeTimer=setTimeout(t,o)}var e=this;t()},o.prototype.stop=function(){void 0!==this.currentTimeTimer&&(clearTimeout(this.currentTimeTimer),delete this.currentTimeTimer)},o.prototype.setCurrentTime=function(t){var e=n.convert(t,"Date").valueOf(),i=(new Date).valueOf();this.offset=e-i,this.redraw()},o.prototype.getCurrentTime=function(){return new Date((new Date).valueOf()+this.offset)},t.exports=o},function(t,e,i){function o(t,e,i){if(this.groupId=t,this.subgroups={},this.subgroupStack={},this.subgroupStackAll=!1,this.doInnerStack=!1,this.subgroupIndex=0,this.subgroupOrderer=e&&e.subgroupOrder,this.itemSet=i,this.isVisible=null,this.stackDirty=!0,e&&e.nestedGroups&&(this.nestedGroups=e.nestedGroups,0==e.showNested?this.showNested=!1:this.showNested=!0),e&&e.subgroupStack)if("boolean"==typeof e.subgroupStack)this.doInnerStack=e.subgroupStack,this.subgroupStackAll=e.subgroupStack;else for(var o in e.subgroupStack)this.subgroupStack[o]=e.subgroupStack[o],this.doInnerStack=this.doInnerStack||e.subgroupStack[o];this.nestedInGroup=null,this.dom={},this.props={label:{width:0,height:0}},this.className=null,this.items={},this.visibleItems=[],this.itemsInRange=[],this.orderedItems={byStart:[],byEnd:[]},this.checkRangedItems=!1;var n=this;this.itemSet.body.emitter.on("checkRangedItems",function(){n.checkRangedItems=!0}),this._create(),this.setData(e)}var n=i(4),s=function(t){return t&&t.__esModule?t:{default:t}}(n),r=i(0),a=i(71);o.prototype._create=function(){var t=document.createElement("div");this.itemSet.options.groupEditable.order?t.className="vis-label draggable":t.className="vis-label",this.dom.label=t;var e=document.createElement("div");e.className="vis-inner",t.appendChild(e),this.dom.inner=e;var i=document.createElement("div");i.className="vis-group",i["timeline-group"]=this,this.dom.foreground=i,this.dom.background=document.createElement("div"),this.dom.background.className="vis-group",this.dom.axis=document.createElement("div"),this.dom.axis.className="vis-group",this.dom.marker=document.createElement("div"),this.dom.marker.style.visibility="hidden",this.dom.marker.style.position="absolute",this.dom.marker.innerHTML="",this.dom.background.appendChild(this.dom.marker)},o.prototype.setData=function(t){var e,i;if(this.itemSet.options&&this.itemSet.options.groupTemplate?(i=this.itemSet.options.groupTemplate.bind(this),e=i(t,this.dom.inner)):e=t&&t.content,e instanceof Element){for(this.dom.inner.appendChild(e);this.dom.inner.firstChild;)this.dom.inner.removeChild(this.dom.inner.firstChild);this.dom.inner.appendChild(e)}else e instanceof Object?i(t,this.dom.inner):this.dom.inner.innerHTML=void 0!==e&&null!==e?e:this.groupId||"";if(this.dom.label.title=t&&t.title||"",this.dom.inner.firstChild?r.removeClassName(this.dom.inner,"vis-hidden"):r.addClassName(this.dom.inner,"vis-hidden"),t&&t.nestedGroups){this.nestedGroups&&this.nestedGroups==t.nestedGroups||(this.nestedGroups=t.nestedGroups),void 0===t.showNested&&void 0!==this.showNested||(0==t.showNested?this.showNested=!1:this.showNested=!0),r.addClassName(this.dom.label,"vis-nesting-group");var o=this.itemSet.options.rtl?"collapsed-rtl":"collapsed";this.showNested?(r.removeClassName(this.dom.label,o),r.addClassName(this.dom.label,"expanded")):(r.removeClassName(this.dom.label,"expanded"),r.addClassName(this.dom.label,o))}else this.nestedGroups&&(this.nestedGroups=null,o=this.itemSet.options.rtl?"collapsed-rtl":"collapsed",r.removeClassName(this.dom.label,o),r.removeClassName(this.dom.label,"expanded"),r.removeClassName(this.dom.label,"vis-nesting-group"));t&&t.nestedInGroup&&(r.addClassName(this.dom.label,"vis-nested-group"),this.itemSet.options&&this.itemSet.options.rtl?this.dom.inner.style.paddingRight="30px":this.dom.inner.style.paddingLeft="30px");var n=t&&t.className||null;n!=this.className&&(this.className&&(r.removeClassName(this.dom.label,this.className),r.removeClassName(this.dom.foreground,this.className),r.removeClassName(this.dom.background,this.className),r.removeClassName(this.dom.axis,this.className)),r.addClassName(this.dom.label,n),r.addClassName(this.dom.foreground,n),r.addClassName(this.dom.background,n),r.addClassName(this.dom.axis,n),this.className=n),this.style&&(r.removeCssText(this.dom.label,this.style),this.style=null),t&&t.style&&(r.addCssText(this.dom.label,t.style),this.style=t.style)},o.prototype.getLabelWidth=function(){return this.props.label.width},o.prototype._didMarkerHeightChange=function(){var t=this.dom.marker.clientHeight;if(t!=this.lastMarkerHeight){this.lastMarkerHeight=t;var e={},i=0;r.forEach(this.items,function(t,o){if(t.dirty=!0,t.displayed){e[o]=t.redraw(!0),i=e[o].length}});if(i>0)for(var o=0;o0)for(var u=0;u0){var e=this;this.resetSubgroups(),r.forEach(this.visibleItems,function(i){void 0!==i.data.subgroup&&(e.subgroups[i.data.subgroup].height=Math.max(e.subgroups[i.data.subgroup].height,i.height+t.item.vertical),e.subgroups[i.data.subgroup].visible=!0)})}},o.prototype._isGroupVisible=function(t,e){return this.top<=t.body.domProps.centerContainer.height-t.body.domProps.scrollTop+e.axis&&this.top+this.height+e.axis>=-t.body.domProps.scrollTop},o.prototype._calculateHeight=function(t){var e,i=this.visibleItems;if(i.length>0){var o=i[0].top,n=i[0].top+i[0].height;if(r.forEach(i,function(t){o=Math.min(o,t.top),n=Math.max(n,t.top+t.height)}),o>t.axis){var s=o-t.axis;n-=s,r.forEach(i,function(t){t.top-=s})}e=n+t.item.vertical/2}else e=0;return e=Math.max(e,this.props.label.height)},o.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)},o.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 o=this.dom.axis;o.parentNode&&o.parentNode.removeChild(o)},o.prototype.add=function(t){if(this.items[t.id]=t,t.setParent(this),this.stackDirty=!0,void 0!==t.data.subgroup&&(this._addToSubgroup(t),this.orderSubgroups()),-1==this.visibleItems.indexOf(t)){var e=this.itemSet.body.range;this._checkIfVisible(t,this.visibleItems,e)}},o.prototype._addToSubgroup=function(t,e){e=e||t.data.subgroup,void 0!=e&&void 0===this.subgroups[e]&&(this.subgroups[e]={height:0,top:0,start:t.data.start,end:t.data.end||t.data.start,visible:!1,index:this.subgroupIndex,items:[],stack:this.subgroupStackAll||this.subgroupStack[e]||!1},this.subgroupIndex++),new Date(t.data.start)new Date(this.subgroups[e].end)&&(this.subgroups[e].end=i),this.subgroups[e].items.push(t)},o.prototype._updateSubgroupsSizes=function(){var t=this;if(t.subgroups)for(var e in t.subgroups){var i=t.subgroups[e].items[0].data.end||t.subgroups[e].items[0].data.start,o=t.subgroups[e].items[0].data.start,n=i-1;t.subgroups[e].items.forEach(function(t){new Date(t.data.start)new Date(n)&&(n=e)}),t.subgroups[e].start=o,t.subgroups[e].end=new Date(n-1)}},o.prototype.orderSubgroups=function(){if(void 0!==this.subgroupOrderer){var t,e=[];if("string"==typeof this.subgroupOrderer){for(t in this.subgroups)e.push({subgroup:t,sortField:this.subgroups[t].items[0].data[this.subgroupOrderer]});e.sort(function(t,e){return t.sortField-e.sortField})}else if("function"==typeof this.subgroupOrderer){for(t in this.subgroups)e.push(this.subgroups[t].items[0].data);e.sort(this.subgroupOrderer)}if(e.length>0)for(var i=0;i=0&&(i.items.splice(o,1),i.items.length?this._updateSubgroupsSizes():delete this.subgroups[e])}}},o.prototype.removeFromDataSet=function(t){this.itemSet.removeItem(t.id)},o.prototype.order=function(){for(var t=r.toArray(this.items),e=[],i=[],o=0;o0)for(var l=0;lh}),1==this.checkRangedItems)for(this.checkRangedItems=!1,l=0;lh})}var c={},m=0;for(l=0;l0)for(var g=0;g=0&&(r=e[s],!n(r));s--)void 0===o[r.id]&&(o[r.id]=!0,i.push(r));for(s=t+1;st.start},o.prototype._createDomElement=function(){this.dom||(this.dom={},this.dom.box=document.createElement("div"),this.dom.frame=document.createElement("div"),this.dom.frame.className="vis-item-overflow",this.dom.box.appendChild(this.dom.frame),this.dom.visibleFrame=document.createElement("div"),this.dom.visibleFrame.className="vis-item-visible-frame",this.dom.box.appendChild(this.dom.visibleFrame),this.dom.content=document.createElement("div"),this.dom.content.className="vis-item-content",this.dom.frame.appendChild(this.dom.content),this.dom.box["timeline-item"]=this,this.dirty=!0)},o.prototype._appendDomElement=function(){if(!this.parent)throw new Error("Cannot redraw item: no parent attached");if(!this.dom.box.parentNode){var t=this.parent.dom.foreground;if(!t)throw new Error("Cannot redraw item: parent has no foreground container element");t.appendChild(this.dom.box)}this.displayed=!0},o.prototype._updateDirtyDomComponents=function(){if(this.dirty){this._updateContents(this.dom.content),this._updateDataAttributes(this.dom.box),this._updateStyle(this.dom.box);var t=this.editable.updateTime||this.editable.updateGroup,e=(this.data.className?" "+this.data.className:"")+(this.selected?" vis-selected":"")+(t?" vis-editable":" vis-readonly");this.dom.box.className=this.baseClassName+e,this.dom.content.style.maxWidth="none"}},o.prototype._getDomComponentsSizes=function(){return this.overflow="hidden"!==window.getComputedStyle(this.dom.frame).overflow,{content:{width:this.dom.content.offsetWidth},box:{height:this.dom.box.offsetHeight}}},o.prototype._updateDomComponentsSizes=function(t){this.props.content.width=t.content.width,this.height=t.box.height,this.dom.content.style.maxWidth="",this.dirty=!1},o.prototype._repaintDomAdditionals=function(){this._repaintOnItemUpdateTimeTooltip(this.dom.box),this._repaintDeleteButton(this.dom.box),this._repaintDragCenter(),this._repaintDragLeft(),this._repaintDragRight()},o.prototype.redraw=function(t){var e,i=[this._createDomElement.bind(this),this._appendDomElement.bind(this),this._updateDirtyDomComponents.bind(this),function(){this.dirty&&(e=this._getDomComponentsSizes.bind(this)())}.bind(this),function(){this.dirty&&this._updateDomComponentsSizes.bind(this)(e)}.bind(this),this._repaintDomAdditionals.bind(this)];if(t)return i;var o;return i.forEach(function(t){o=t()}),o},o.prototype.show=function(){this.displayed||this.redraw()},o.prototype.hide=function(){if(this.displayed){var t=this.dom.box;t.parentNode&&t.parentNode.removeChild(t),this.displayed=!1}},o.prototype.repositionX=function(t){var e,i,o=this.parent.width,n=this.conversion.toScreen(this.data.start),s=this.conversion.toScreen(this.data.end),r=void 0===this.data.align?this.options.align:this.data.align;!1===this.data.limitSize||void 0!==t&&!0!==t||(n<-o&&(n=-o),s>2*o&&(s=2*o));var a=Math.max(s-n+.5,1);switch(this.overflow?(this.options.rtl?this.right=n:this.left=n,this.width=a+this.props.content.width,i=this.props.content.width):(this.options.rtl?this.right=n:this.left=n,this.width=a,i=Math.min(s-n,this.props.content.width)),this.options.rtl?this.dom.box.style.right=this.right+"px":this.dom.box.style.left=this.left+"px",this.dom.box.style.width=a+"px",r){case"left":this.options.rtl?this.dom.content.style.right="0":this.dom.content.style.left="0";break;case"right":this.options.rtl?this.dom.content.style.right=Math.max(a-i,0)+"px":this.dom.content.style.left=Math.max(a-i,0)+"px";break;case"center":this.options.rtl?this.dom.content.style.right=Math.max((a-i)/2,0)+"px":this.dom.content.style.left=Math.max((a-i)/2,0)+"px";break;default:e=this.overflow?s>0?Math.max(-n,0):-i:n<0?-n:0,this.options.rtl?this.dom.content.style.right=e+"px":(this.dom.content.style.left=e+"px",this.dom.content.style.width="calc(100% - "+e+"px)")}},o.prototype.repositionY=function(){var t=this.options.orientation.item,e=this.dom.box;e.style.top="top"==t?this.top+"px":this.parent.height-this.top-this.height+"px"},o.prototype._repaintDragLeft=function(){if((this.selected||this.options.itemsAlwaysDraggable.range)&&this.options.editable.updateTime&&!this.dom.dragLeft){var t=document.createElement("div");t.className="vis-drag-left",t.dragLeftItem=this,this.dom.box.appendChild(t),this.dom.dragLeft=t}else this.selected||this.options.itemsAlwaysDraggable.range||!this.dom.dragLeft||(this.dom.dragLeft.parentNode&&this.dom.dragLeft.parentNode.removeChild(this.dom.dragLeft),this.dom.dragLeft=null)},o.prototype._repaintDragRight=function(){if((this.selected||this.options.itemsAlwaysDraggable.range)&&this.options.editable.updateTime&&!this.dom.dragRight){var t=document.createElement("div");t.className="vis-drag-right",t.dragRightItem=this,this.dom.box.appendChild(t),this.dom.dragRight=t}else this.selected||this.options.itemsAlwaysDraggable.range||!this.dom.dragRight||(this.dom.dragRight.parentNode&&this.dom.dragRight.parentNode.removeChild(this.dom.dragRight),this.dom.dragRight=null)},t.exports=o},function(t,e,i){function o(t,e){}function n(t,e){return e=void 0===e?{}:e,{style:e.style||t.options.drawPoints.style,styles:e.styles||t.options.drawPoints.styles,size:e.size||t.options.drawPoints.size,className:e.className||t.className}}function s(t,e){var i=void 0;return t.options&&t.options.drawPoints&&t.options.drawPoints.onRender&&"function"==typeof t.options.drawPoints.onRender&&(i=t.options.drawPoints.onRender),e.group.options&&e.group.options.drawPoints&&e.group.options.drawPoints.onRender&&"function"==typeof e.group.options.drawPoints.onRender&&(i=e.group.options.drawPoints.onRender),i}var r=i(1),a=function(t){return t&&t.__esModule?t:{default:t}}(r),h=i(11);o.draw=function(t,e,i,o){o=o||0;for(var r=s(i,e),d=0;dh;)o(a,i=e[h++])&&(~s(d,i)||d.push(i));return d}},function(t,e,i){var o=i(35);t.exports=function(t){return Object(o(t))}},function(t,e,i){var o=i(101)(!0);i(56)(String,"String",function(t){this._t=String(t),this._i=0},function(){var t,e=this._t,i=this._i;return i>=e.length?{value:void 0,done:!0}:(t=o(e,i),this._i+=t.length,{value:t,done:!1})})},function(t,e){e.f=Object.getOwnPropertySymbols},function(t,e,i){var o=i(60),n=i(41).concat("length","prototype");e.f=Object.getOwnPropertyNames||function(t){return o(t,n)}},function(t,e,i){function o(t){this.delay=null,this.max=1/0,this._queue=[],this._timeout=null,this._extended=null,this.setOptions(t)}o.prototype.setOptions=function(t){t&&void 0!==t.delay&&(this.delay=t.delay),t&&void 0!==t.max&&(this.max=t.max),this._flushIfNeeded()},o.extend=function(t,e){var i=new o(e);if(void 0!==t.flush)throw new Error("Target object already has a property flush");t.flush=function(){i.flush()};var n=[{name:"flush",original:void 0}];if(e&&e.replace)for(var s=0;sthis.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)}},o.prototype.flush=function(){for(;this._queue.length>0;){var t=this._queue.shift();t.fn.apply(t.context||t.fn,t.args||[])}},t.exports=o},function(t,e){function i(t){if(t)return o(t)}function o(t){for(var e in i.prototype)t[e]=i.prototype[e];return t}t.exports=i,i.prototype.on=i.prototype.addEventListener=function(t,e){return this._callbacks=this._callbacks||{},(this._callbacks[t]=this._callbacks[t]||[]).push(e),this},i.prototype.once=function(t,e){function i(){o.off(t,i),e.apply(this,arguments)}var o=this;return this._callbacks=this._callbacks||{},i.fn=e,this.on(t,i),this},i.prototype.off=i.prototype.removeListener=i.prototype.removeAllListeners=i.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 o,n=0;n0){var n=i.groupsData.getDataSet();n.get().forEach(function(t){if(t.nestedGroups){0!=t.showNested&&(t.showNested=!0);var e=[];t.nestedGroups.forEach(function(i){var o=n.get(i);o&&(o.nestedInGroup=t.id,0==t.showNested&&(o.visible=!1),e=e.concat(o))}),n.update(e,o)}})}},update:function(t,e,o){i._onUpdateGroups(e.items)},remove:function(t,e,o){i._onRemoveGroups(e.items)}},this.items={},this.groups={},this.groupIds=[],this.selection=[],this.popup=null,this.touchParams={},this.groupTouchParams={},this._create(),this.setOptions(e)}var s=i(43),r=o(s),a=i(1),h=o(a),d=i(12),l=i(0),u=i(15),p=i(21),c=i(49),m=i(5),f=i(51),g=i(52),v=i(72),y=i(73),b=i(53),_=i(74),w=i(133).default,x="__ungrouped__",D="__background__";n.prototype=new m,n.types={background:_,box:v,range:b,point:y},n.prototype._create=function(){var t=document.createElement("div");t.className="vis-itemset",t["timeline-itemset"]=this,this.dom.frame=t;var e=document.createElement("div");e.className="vis-background",t.appendChild(e),this.dom.background=e;var i=document.createElement("div");i.className="vis-foreground",t.appendChild(i),this.dom.foreground=i;var o=document.createElement("div");o.className="vis-axis",this.dom.axis=o;var n=document.createElement("div");n.className="vis-labelset",this.dom.labelSet=n,this._updateUngrouped();var s=new g(D,null,this);s.show(),this.groups[D]=s,this.hammer=new d(this.body.dom.centerContainer),this.hammer.on("hammer.input",function(t){t.isFirst&&this._onTouch(t)}.bind(this)),this.hammer.on("panstart",this._onDragStart.bind(this)),this.hammer.on("panmove",this._onDrag.bind(this)),this.hammer.on("panend",this._onDragEnd.bind(this)),this.hammer.get("pan").set({threshold:5,direction:d.DIRECTION_HORIZONTAL}),this.hammer.on("tap",this._onSelectItem.bind(this)),this.hammer.on("press",this._onMultiSelectItem.bind(this)),this.hammer.on("doubletap",this._onAddItem.bind(this)),this.options.rtl?this.groupHammer=new d(this.body.dom.rightContainer):this.groupHammer=new d(this.body.dom.leftContainer),this.groupHammer.on("tap",this._onGroupClick.bind(this)),this.groupHammer.on("panstart",this._onGroupDragStart.bind(this)),this.groupHammer.on("panmove",this._onGroupDrag.bind(this)),this.groupHammer.on("panend",this._onGroupDragEnd.bind(this)),this.groupHammer.get("pan").set({threshold:5,direction:d.DIRECTION_VERTICAL}),this.body.dom.centerContainer.addEventListener("mouseover",this._onMouseOver.bind(this)),this.body.dom.centerContainer.addEventListener("mouseout",this._onMouseOut.bind(this)),this.body.dom.centerContainer.addEventListener("mousemove",this._onMouseMove.bind(this)),this.body.dom.centerContainer.addEventListener("contextmenu",this._onDragEnd.bind(this)),this.body.dom.centerContainer.addEventListener("mousewheel",this._onMouseWheel.bind(this)),this.show()},n.prototype.setOptions=function(t){if(t){var e=["type","rtl","align","order","stack","stackSubgroups","selectable","multiselect","multiselectPerGroup","groupOrder","dataAttributes","template","groupTemplate","visibleFrameTemplate","hide","snap","groupOrderSwap","showTooltips","tooltip","tooltipOnItemUpdateTime"];l.selectiveExtend(e,this.options,t),"itemsAlwaysDraggable"in t&&("boolean"==typeof t.itemsAlwaysDraggable?(this.options.itemsAlwaysDraggable.item=t.itemsAlwaysDraggable,this.options.itemsAlwaysDraggable.range=!1):"object"===(0,h.default)(t.itemsAlwaysDraggable)&&(l.selectiveExtend(["item","range"],this.options.itemsAlwaysDraggable,t.itemsAlwaysDraggable),this.options.itemsAlwaysDraggable.item||(this.options.itemsAlwaysDraggable.range=!1))),"orientation"in t&&("string"==typeof t.orientation?this.options.orientation.item="top"===t.orientation?"top":"bottom":"object"===(0,h.default)(t.orientation)&&"item"in t.orientation&&(this.options.orientation.item=t.orientation.item)),"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"===(0,h.default)(t.margin)&&(l.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"===(0,h.default)(t.margin.item)&&l.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,this.options.editable.overrideItems=!1):"object"===(0,h.default)(t.editable)&&l.selectiveExtend(["updateTime","updateGroup","add","remove","overrideItems"],this.options.editable,t.editable)),"groupEditable"in t&&("boolean"==typeof t.groupEditable?(this.options.groupEditable.order=t.groupEditable,this.options.groupEditable.add=t.groupEditable,this.options.groupEditable.remove=t.groupEditable):"object"===(0,h.default)(t.groupEditable)&&l.selectiveExtend(["order","add","remove"],this.options.groupEditable,t.groupEditable));["onDropObjectOnItem","onAdd","onUpdate","onRemove","onMove","onMoving","onAddGroup","onMoveGroup","onRemoveGroup"].forEach(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)),this.markDirty()}},n.prototype.markDirty=function(t){this.groupIds=[],t&&t.refreshItems&&l.forEach(this.items,function(t){t.dirty=!0,t.displayed&&t.redraw()})},n.prototype.destroy=function(){this.hide(),this.setItems(null),this.setGroups(null),this.hammer=null,this.body=null,this.conversion=null},n.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)},n.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.options.rtl?this.body.dom.right.appendChild(this.dom.labelSet):this.body.dom.left.appendChild(this.dom.labelSet))},n.prototype.setSelection=function(t){var e,i,o,n;for(void 0==t&&(t=[]),Array.isArray(t)||(t=[t]),e=0,i=this.selection.length;et&&o.push(h.id):h.lefte&&o.push(h.id)}return o},n.prototype._deselect=function(t){for(var e=this.selection,i=0,o=e.length;i0){for(var w={},x=0;x<_;x++)l.forEach(b,function(t,e){w[e]=t[x]()});l.forEach(this.groups,function(t,e){if(e!==D){var i=w[e];s=i||s,v+=t.height}}),v=Math.max(v,y)}return v=Math.max(v,y),r.style.height=i(v),this.props.width=r.offsetWidth,this.props.height=v,this.dom.axis.style.top=i("top"==n?this.body.domProps.top.height+this.body.domProps.border.top:this.body.domProps.top.height+this.body.domProps.centerContainer.height),this.options.rtl?this.dom.axis.style.right="0":this.dom.axis.style.left="0",this.initialItemSetDrawn=!0,s=this._isResized()||s},n.prototype._firstGroup=function(){var t="top"==this.options.orientation.item?0:this.groupIds.length-1,e=this.groupIds[t];return this.groups[e]||this.groups[x]||null},n.prototype._updateUngrouped=function(){var t,e,i=this.groups[x];if(this.groupsData){if(i){i.hide(),delete this.groups[x];for(e in this.items)if(this.items.hasOwnProperty(e)){t=this.items[e],t.parent&&t.parent.remove(t);var o=this._getGroupId(t.data),n=this.groups[o];n&&n.add(t)||t.hide()}}}else if(!i){i=new f(null,null,this),this.groups[x]=i;for(e in this.items)this.items.hasOwnProperty(e)&&(t=this.items[e],i.add(t));i.show()}},n.prototype.getLabelSet=function(){return this.dom.labelSet},n.prototype.setItems=function(t){var e,i=this,o=this.itemsData;if(t){if(!(t instanceof u||t instanceof p))throw new TypeError("Data must be an instance of DataSet or DataView");this.itemsData=t}else this.itemsData=null;if(o&&(l.forEach(this.itemListeners,function(t,e){o.off(e,t)}),e=o.getIds(),this._onRemove(e)),this.itemsData){var n=this.id;l.forEach(this.itemListeners,function(t,e){i.itemsData.on(e,t,n)}),e=this.itemsData.getIds(),this._onAdd(e),this._updateUngrouped()}this.body.emitter.emit("_change",{queue:!0})},n.prototype.getItems=function(){return this.itemsData},n.prototype.setGroups=function(t){var e,i=this;if(this.groupsData&&(l.forEach(this.groupListeners,function(t,e){i.groupsData.off(e,t)}),e=this.groupsData.getIds(),this.groupsData=null,this._onRemoveGroups(e)),t){if(!(t instanceof u||t instanceof p))throw new TypeError("Data must be an instance of DataSet or DataView");this.groupsData=t}else this.groupsData=null;if(this.groupsData){var o=this.groupsData;this.groupsData instanceof p&&(o=this.groupsData.getDataSet()),o.get().forEach(function(t){t.nestedGroups&&t.nestedGroups.forEach(function(e){var i=o.get(e);i.nestedInGroup=t.id,0==t.showNested&&(i.visible=!1),o.update(i)})});var n=this.id;l.forEach(this.groupListeners,function(t,e){i.groupsData.on(e,t,n)}),e=this.groupsData.getIds(),this._onAddGroups(e)}this._updateUngrouped(),this._order(),this.body.emitter.emit("_change",{queue:!0})},n.prototype.getGroups=function(){return this.groupsData},n.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)})},n.prototype._getType=function(t){return t.type||this.options.type||(t.end?"range":"box")},n.prototype._getGroupId=function(t){return"background"==this._getType(t)&&void 0==t.group?D:this.groupsData?t.group:x},n.prototype._onUpdate=function(t){var e=this;t.forEach(function(t){var i,o=e.itemsData.get(t,e.itemOptions),s=e.items[t],r=o?e._getType(o):null,a=n.types[r];if(s&&(a&&s instanceof a?e._updateItem(s,o):(i=s.selected,e._removeItem(s),s=null)),!s&&o){if(!a)throw"rangeoverflow"==r?new TypeError('Item type "rangeoverflow" is deprecated. Use css styling instead: .vis-item.vis-range .vis-item-content {overflow: visible;}'):new TypeError('Unknown item type "'+r+'"');s=new a(o,e.conversion,e.options),s.id=t,e._addItem(s),i&&(this.selection.push(t),s.select())}}.bind(this)),this._order(),this.body.emitter.emit("_change",{queue:!0})},n.prototype._onAdd=n.prototype._onUpdate,n.prototype._onRemove=function(t){var e=0,i=this;t.forEach(function(t){var o=i.items[t];o&&(e++,i._removeItem(o))}),e&&(this._order(),this.body.emitter.emit("_change",{queue:!0}))},n.prototype._order=function(){l.forEach(this.groups,function(t){t.order()})},n.prototype._onUpdateGroups=function(t){this._onAddGroups(t)},n.prototype._onAddGroups=function(t){var e=this;t.forEach(function(t){var i=e.groupsData.get(t),o=e.groups[t];if(o)o.setData(i);else{if(t==x||t==D)throw new Error("Illegal group id. "+t+" is a reserved id.");var n=(0,r.default)(e.options);l.extend(n,{height:null}),o=new f(t,i,e),e.groups[t]=o;for(var s in e.items)if(e.items.hasOwnProperty(s)){var a=e.items[s];a.data.group==t&&o.add(a)}o.order(),o.show()}}),this.body.emitter.emit("_change",{queue:!0})},n.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})},n.prototype._orderGroups=function(){if(this.groupsData){var t=this.groupsData.getIds({order:this.options.groupOrder});t=this._orderNestedGroups(t);var e=!l.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},n.prototype._orderNestedGroups=function(t){var e=[];return t.forEach(function(t){var i=this.groupsData.get(t);if(i.nestedInGroup||e.push(t),i.nestedGroups){var o=this.groupsData.get({filter:function(e){return e.nestedInGroup==t},order:this.options.groupOrder}),n=o.map(function(t){return t.id});e=e.concat(n)}},this),e},n.prototype._addItem=function(t){this.items[t.id]=t;var e=this._getGroupId(t.data),i=this.groups[e];i?i&&i.data&&i.data.showNested&&(t.groupShowing=!0):t.groupShowing=!1,i&&i.add(t)},n.prototype._updateItem=function(t,e){t.setData(e);var i=this._getGroupId(t.data),o=this.groups[i];o?o&&o.data&&o.data.showNested&&(t.groupShowing=!0):t.groupShowing=!1},n.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)},n.prototype._constructByEndArray=function(t){for(var e=[],i=0;in)return}}if(i&&i!=this.groupTouchParams.group){var a=e.get(i.groupId),h=e.get(this.groupTouchParams.group.groupId);h&&a&&(this.options.groupOrderSwap(h,a,e),e.update(h),e.update(a));var d=e.getIds({order:this.options.groupOrder});if(!l.equalArray(d,this.groupTouchParams.originalOrder))for(var u=this.groupTouchParams.originalOrder,c=this.groupTouchParams.group.groupId,m=Math.min(u.length,d.length),f=0,g=0,v=0;f=m)break;if(d[f+g]==c)g=1;else if(u[f+v]==c)v=1;else{var y=d.indexOf(u[f+v]),b=e.get(d[f+g]),_=e.get(u[f+v]);this.options.groupOrderSwap(b,_,e),e.update(b),e.update(_);var w=d[f+g];d[f+g]=u[f+v],d[y]=w,f++}}}}},n.prototype._onGroupDragEnd=function(t){if(this.options.groupEditable.order&&this.groupTouchParams.group){t.stopPropagation();var e=this,i=e.groupTouchParams.group.groupId,o=e.groupsData.getDataSet(),n=l.extend({},o.get(i));e.options.onMoveGroup(n,function(t){if(t)t[o._fieldId]=i,o.update(t);else{var n=o.getIds({order:e.options.groupOrder});if(!l.equalArray(n,e.groupTouchParams.originalOrder))for(var s=e.groupTouchParams.originalOrder,r=Math.min(s.length,n.length),a=0;a=r)break;var h=n.indexOf(s[a]),d=o.get(n[a]),u=o.get(s[a]);e.options.groupOrderSwap(d,u,o),o.update(d),o.update(u);var p=n[a];n[a]=s[a],n[h]=p,a++}}}),e.body.emitter.emit("groupDragged",{groupId:i})}},n.prototype._onSelectItem=function(t){if(this.options.selectable){var e=t.srcEvent&&(t.srcEvent.ctrlKey||t.srcEvent.metaKey),i=t.srcEvent&&t.srcEvent.shiftKey;if(e||i)return void this._onMultiSelectItem(t);var o=this.getSelection(),n=this.itemFromTarget(t),s=n?[n.id]:[];this.setSelection(s);var r=this.getSelection();(r.length>0||o.length>0)&&this.body.emitter.emit("select",{items:r,event:t})}},n.prototype._onMouseOver=function(t){var e=this.itemFromTarget(t);if(e){if(e!==this.itemFromRelatedTarget(t)){var i=e.getTitle();if(this.options.showTooltips&&i){null==this.popup&&(this.popup=new w(this.body.dom.root,this.options.tooltip.overflowMethod||"flip")),this.popup.setText(i);var o=this.body.dom.centerContainer;this.popup.setPosition(t.clientX-l.getAbsoluteLeft(o)+o.offsetLeft,t.clientY-l.getAbsoluteTop(o)+o.offsetTop),this.popup.show()}else null!=this.popup&&this.popup.hide();this.body.emitter.emit("itemover",{item:e.id,event:t})}}},n.prototype._onMouseOut=function(t){var e=this.itemFromTarget(t);if(e){e!==this.itemFromRelatedTarget(t)&&(null!=this.popup&&this.popup.hide(),this.body.emitter.emit("itemout",{item:e.id,event:t}))}},n.prototype._onMouseMove=function(t){if(this.itemFromTarget(t)&&this.options.showTooltips&&this.options.tooltip.followMouse&&this.popup&&!this.popup.hidden){var e=this.body.dom.centerContainer;this.popup.setPosition(t.clientX-l.getAbsoluteLeft(e)+e.offsetLeft,t.clientY-l.getAbsoluteTop(e)+e.offsetTop),this.popup.show()}},n.prototype._onMouseWheel=function(t){this.touchParams.itemIsDragging&&this._onDragEnd(t)},n.prototype._onUpdateItem=function(t){if(this.options.selectable&&this.options.editable.add){var e=this;if(t){var i=e.itemsData.get(t.id);this.options.onUpdate(i,function(t){t&&e.itemsData.getDataSet().update(t)})}}},n.prototype._onDropObjectOnItem=function(t){var e=this.itemFromTarget(t),i=JSON.parse(t.dataTransfer.getData("text"));this.options.onDropObjectOnItem(i,e)},n.prototype._onAddItem=function(t){if(this.options.selectable&&this.options.editable.add){var e,i,o=this,n=this.options.snap||null;this.options.rtl?(e=l.getAbsoluteRight(this.dom.frame),i=e-t.center.x):(e=l.getAbsoluteLeft(this.dom.frame),i=t.center.x-e);var s,r,a=this.body.util.toTime(i),h=this.body.util.getScale(),d=this.body.util.getStep();"drop"==t.type?(r=JSON.parse(t.dataTransfer.getData("text")),r.content=r.content?r.content:"new item",r.start=r.start?r.start:n?n(a,h,d):a,r.type=r.type||"box",r[this.itemsData._fieldId]=r.id||l.randomUUID(),"range"!=r.type||r.end||(s=this.body.util.toTime(i+this.props.width/5),r.end=n?n(s,h,d):s)):(r={start:n?n(a,h,d):a,content:"new item"},r[this.itemsData._fieldId]=l.randomUUID(),"range"===this.options.type&&(s=this.body.util.toTime(i+this.props.width/5),r.end=n?n(s,h,d):s));var u=this.groupFromTarget(t);u&&(r.group=u.groupId),r=this._cloneItemData(r),this.options.onAdd(r,function(e){e&&(o.itemsData.getDataSet().add(e),"drop"==t.type&&o.setSelection([e.id]))})}},n.prototype._onMultiSelectItem=function(t){if(this.options.selectable){var e=this.itemFromTarget(t);if(e){var i=this.options.multiselect?this.getSelection():[];if((t.srcEvent&&t.srcEvent.shiftKey||!1)&&this.options.multiselect){var o=this.itemsData.get(e.id).group,s=void 0;this.options.multiselectPerGroup&&i.length>0&&(s=this.itemsData.get(i[0]).group),this.options.multiselectPerGroup&&void 0!=s&&s!=o||i.push(e.id);var r=n._getItemRange(this.itemsData.get(i,this.itemOptions));if(!this.options.multiselectPerGroup||s==o){i=[];for(var a in this.items)if(this.items.hasOwnProperty(a)){var h=this.items[a],d=h.data.start,l=void 0!==h.data.end?h.data.end:d;!(d>=r.min&&l<=r.max)||this.options.multiselectPerGroup&&s!=this.itemsData.get(h.id).group||h instanceof _||i.push(h.id)}}}else{var u=i.indexOf(e.id);-1==u?i.push(e.id):i.splice(u,1)}this.setSelection(i),this.body.emitter.emit("select",{items:this.getSelection(),event:t})}}},n._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}},n.prototype.itemFromElement=function(t){for(var e=t;e;){if(e.hasOwnProperty("timeline-item"))return e["timeline-item"];e=e.parentNode}return null},n.prototype.itemFromTarget=function(t){return this.itemFromElement(t.target)},n.prototype.itemFromRelatedTarget=function(t){return this.itemFromElement(t.relatedTarget)},n.prototype.groupFromTarget=function(t){var e=t.center?t.center.y:t.clientY,i=this.groupIds;i.length<=0&&this.groupsData&&(i=this.groupsData.getIds({order:this.options.groupOrder}));for(var o=0;oa&&ea)return s}else if(0===o&&es&&(s=r.top+r.height)}while(a)}}o.height=s-o.top+.5*i.item.vertical},e.nostack=function(t,i,o,n){for(var s=0;so[r].index&&e.collisionByTimes(o[n],o[r])){s=o[r];break}null!=s&&(o[n].top=s.top+s.height)}while(s)}for(var a=0;ao[h].index&&(o[r].top+=o[h].height);for(var d=t[r],l=0;le.right&&t.top-i.vertical+.001e.top:t.left-i.horizontal+.001e.left&&t.top-i.vertical+.001e.top},e.collisionByTimes=function(t,e){return t.start<=e.start&&t.end>=e.start&&t.tope.top||e.start<=t.start&&e.end>=t.start&&e.topt.top}},function(t,e,i){function o(t,e,i){if(this.props={dot:{width:0,height:0},line:{width:0,height:0}},this.options=i,t&&void 0==t.start)throw new Error('Property "start" missing in item '+t);n.call(this,t,e,i)}var n=i(23);o.prototype=new n(null,null,null),o.prototype.isVisible=function(t){var e=this.options.align,i=this.width*t.getMillisecondsPerPixel();return"right"==e?this.data.start.getTime()>t.start&&this.data.start.getTime()-it.start&&this.data.start.getTime()t.start&&this.data.start.getTime()-i/2t.start&&this.data.startt.start},o.prototype._createDomElement=function(){this.dom||(this.dom={},this.dom.box=document.createElement("div"),this.dom.frame=document.createElement("div"),this.dom.frame.className="vis-item-overflow",this.dom.box.appendChild(this.dom.frame),this.dom.content=document.createElement("div"),this.dom.content.className="vis-item-content",this.dom.frame.appendChild(this.dom.content),this.dirty=!0)},o.prototype._appendDomElement=function(){if(!this.parent)throw new Error("Cannot redraw item: no parent attached");if(!this.dom.box.parentNode){var t=this.parent.dom.background;if(!t)throw new Error("Cannot redraw item: parent has no background container element");t.appendChild(this.dom.box)}this.displayed=!0},o.prototype._updateDirtyDomComponents=function(){if(this.dirty){this._updateContents(this.dom.content),this._updateDataAttributes(this.dom.content),this._updateStyle(this.dom.box);var t=(this.data.className?" "+this.data.className:"")+(this.selected?" vis-selected":"");this.dom.box.className=this.baseClassName+t}},o.prototype._getDomComponentsSizes=function(){return this.overflow="hidden"!==window.getComputedStyle(this.dom.content).overflow,{content:{width:this.dom.content.offsetWidth}}},o.prototype._updateDomComponentsSizes=function(t){this.props.content.width=t.content.width,this.height=0,this.dirty=!1},o.prototype._repaintDomAdditionals=function(){},o.prototype.redraw=function(t){var e,i=[this._createDomElement.bind(this),this._appendDomElement.bind(this),this._updateDirtyDomComponents.bind(this),function(){this.dirty&&(e=this._getDomComponentsSizes.bind(this)())}.bind(this),function(){this.dirty&&this._updateDomComponentsSizes.bind(this)(e)}.bind(this),this._repaintDomAdditionals.bind(this)];if(t)return i;var o;return i.forEach(function(t){o=t()}),o},o.prototype.show=r.prototype.show,o.prototype.hide=r.prototype.hide,o.prototype.repositionX=r.prototype.repositionX,o.prototype.repositionY=function(t){var e,i=this.options.orientation.item;if(void 0!==this.data.subgroup){var o=this.data.subgroup;this.dom.box.style.height=this.parent.subgroups[o].height+"px",this.dom.box.style.top="top"==i?this.parent.top+this.parent.subgroups[o].top+"px":this.parent.top+this.parent.height-this.parent.subgroups[o].top-this.parent.subgroups[o].height+"px",this.dom.box.style.bottom=""}else this.parent instanceof s?(e=Math.max(this.parent.height,this.parent.itemSet.body.domProps.center.height,this.parent.itemSet.body.domProps.centerContainer.height),this.dom.box.style.bottom="bottom"==i?"0":"",this.dom.box.style.top="top"==i?"0":""):(e=this.parent.height,this.dom.box.style.top=this.parent.top+"px",this.dom.box.style.bottom="");this.dom.box.style.height=e+"px"},t.exports=o},function(t,e,i){Object.defineProperty(e,"__esModule",{value:!0});var o="string",n="boolean",s="number",r="object",a={configure:{enabled:{boolean:n},filter:{boolean:n,function:"function"},container:{dom:"dom"},__type__:{object:r,boolean:n,function:"function"}},align:{string:o},rtl:{boolean:n,undefined:"undefined"},rollingMode:{follow:{boolean:n},offset:{number:s,undefined:"undefined"},__type__:{object:r}},verticalScroll:{boolean:n,undefined:"undefined"},horizontalScroll:{boolean:n,undefined:"undefined"},autoResize:{boolean:n},throttleRedraw:{number:s},clickToUse:{boolean:n},dataAttributes:{string:o,array:"array"},editable:{add:{boolean:n,undefined:"undefined"},remove:{boolean:n,undefined:"undefined"},updateGroup:{boolean:n,undefined:"undefined"},updateTime:{boolean:n,undefined:"undefined"},overrideItems:{boolean:n,undefined:"undefined"},__type__:{boolean:n,object:r}},end:{number:s,date:"date",string:o,moment:"moment"},format:{minorLabels:{millisecond:{string:o,undefined:"undefined"},second:{string:o,undefined:"undefined"},minute:{string:o,undefined:"undefined"},hour:{string:o,undefined:"undefined"},weekday:{string:o,undefined:"undefined"},day:{string:o,undefined:"undefined"},week:{string:o,undefined:"undefined"},month:{string:o,undefined:"undefined"},year:{string:o,undefined:"undefined"},__type__:{object:r,function:"function"}},majorLabels:{millisecond:{string:o,undefined:"undefined"},second:{string:o,undefined:"undefined"},minute:{string:o,undefined:"undefined"},hour:{string:o,undefined:"undefined"},weekday:{string:o,undefined:"undefined"},day:{string:o,undefined:"undefined"},week:{string:o,undefined:"undefined"},month:{string:o,undefined:"undefined"},year:{string:o,undefined:"undefined"},__type__:{object:r,function:"function"}},__type__:{object:r}},moment:{function:"function"},groupOrder:{string:o,function:"function"},groupEditable:{add:{boolean:n,undefined:"undefined"},remove:{boolean:n,undefined:"undefined"},order:{boolean:n,undefined:"undefined"},__type__:{boolean:n,object:r}},groupOrderSwap:{function:"function"},height:{string:o,number:s},hiddenDates:{start:{date:"date",number:s,string:o,moment:"moment"},end:{date:"date",number:s,string:o,moment:"moment"},repeat:{string:o},__type__:{object:r,array:"array"}},itemsAlwaysDraggable:{item:{boolean:n,undefined:"undefined"},range:{boolean:n,undefined:"undefined"},__type__:{boolean:n,object:r}},limitSize:{boolean:n},locale:{string:o},locales:{__any__:{any:"any"},__type__:{object:r}},margin:{axis:{number:s},item:{horizontal:{number:s,undefined:"undefined"},vertical:{number:s,undefined:"undefined"},__type__:{object:r,number:s}},__type__:{object:r,number:s}},max:{date:"date",number:s,string:o,moment:"moment"},maxHeight:{number:s,string:o},maxMinorChars:{number:s},min:{date:"date",number:s,string:o,moment:"moment"},minHeight:{number:s,string:o},moveable:{boolean:n},multiselect:{boolean:n},multiselectPerGroup:{boolean:n},onAdd:{function:"function"},onDropObjectOnItem:{function:"function"},onUpdate:{function:"function"},onMove:{function:"function"},onMoving:{function:"function"},onRemove:{function:"function"},onAddGroup:{function:"function"},onMoveGroup:{function:"function"},onRemoveGroup:{function:"function"},onInitialDrawComplete:{function:"function"},order:{function:"function"},orientation:{axis:{string:o,undefined:"undefined"},item:{string:o,undefined:"undefined"},__type__:{string:o,object:r}},selectable:{boolean:n},showCurrentTime:{boolean:n},showMajorLabels:{boolean:n},showMinorLabels:{boolean:n},stack:{boolean:n},stackSubgroups:{boolean:n},snap:{function:"function",null:"null"},start:{date:"date",number:s,string:o,moment:"moment"},template:{function:"function"},groupTemplate:{function:"function"},visibleFrameTemplate:{string:o,function:"function"},showTooltips:{boolean:n},tooltip:{followMouse:{boolean:n},overflowMethod:{string:["cap","flip"]},__type__:{object:r}},tooltipOnItemUpdateTime:{template:{function:"function"},__type__:{boolean:n,object:r}},timeAxis:{scale:{string:o,undefined:"undefined"},step:{number:s,undefined:"undefined"},__type__:{object:r}},type:{string:o},width:{string:o,number:s},zoomable:{boolean:n},zoomKey:{string:["ctrlKey","altKey","metaKey",""]},zoomMax:{number:s},zoomMin:{number:s},__type__:{object:r}},h={global:{align:["center","left","right"],direction:!1,autoResize:!0,clickToUse:!1,editable:{add:!1,remove:!1,updateGroup:!1,updateTime:!1},end:"",format:{minorLabels:{millisecond:"SSS",second:"s",minute:"HH:mm",hour:"HH:mm",weekday:"ddd D",day:"D",week:"w",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",week:"MMMM YYYY",month:"YYYY",year:""}},groupsDraggable:!1,height:"",locale:"",margin:{axis:[20,0,100,1],item:{horizontal:[10,0,100,1],vertical:[10,0,100,1]}},max:"",maxHeight:"",maxMinorChars:[7,0,20,1],min:"",minHeight:"",moveable:!1,multiselect:!1,multiselectPerGroup:!1,orientation:{axis:["both","bottom","top"],item:["bottom","top"]},selectable:!0,showCurrentTime:!1,showMajorLabels:!0,showMinorLabels:!0,stack:!0,stackSubgroups:!0,start:"",showTooltips:!0,tooltip:{followMouse:!1,overflowMethod:"flip"},tooltipOnItemUpdateTime:!1,type:["box","point","range","background"],width:"100%",zoomable:!0,zoomKey:["ctrlKey","altKey","metaKey",""],zoomMax:[31536e10,10,31536e10,1],zoomMin:[10,10,31536e10,1]}};e.allOptions=a,e.configureOptions=h},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(16),s=o(n),r=i(1),a=o(r),h=i(31),d=o(h),l=i(32),u=o(l),p=i(0),c=i(137).default,m=function(){function t(e,i,o){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;(0,d.default)(this,t),this.parent=e,this.changedOptions=[],this.container=i,this.allowCreation=!1,this.options={},this.initialized=!1,this.popupCounter=0,this.defaultOptions={enabled:!1,filter:!0,container:void 0,showButton:!0},p.extend(this.options,this.defaultOptions),this.configureOptions=o,this.moduleOptions={},this.domElements=[],this.popupDiv={},this.popupLimit=5,this.popupHistory={},this.colorPicker=new c(n),this.wrapper=void 0}return(0,u.default)(t,[{key:"setOptions",value:function(t){if(void 0!==t){this.popupHistory={},this._removePopup();var e=!0;"string"==typeof t?this.options.filter=t:t instanceof Array?this.options.filter=t.join():"object"===(void 0===t?"undefined":(0,a.default)(t))?(void 0!==t.container&&(this.options.container=t.container),void 0!==t.filter&&(this.options.filter=t.filter),void 0!==t.showButton&&(this.options.showButton=t.showButton),void 0!==t.enabled&&(e=t.enabled)):"boolean"==typeof t?(this.options.filter=!0,e=t):"function"==typeof t&&(this.options.filter=t,e=!0),!1===this.options.filter&&(e=!1),this.options.enabled=e}this._clean()}},{key:"setModuleOptions",value:function(t){this.moduleOptions=t,!0===this.options.enabled&&(this._clean(),void 0!==this.options.container&&(this.container=this.options.container),this._create())}},{key:"_create",value:function(){var t=this;this._clean(),this.changedOptions=[];var e=this.options.filter,i=0,o=!1;for(var n in this.configureOptions)this.configureOptions.hasOwnProperty(n)&&(this.allowCreation=!1,o=!1,"function"==typeof e?(o=e(n,[]),o=o||this._handleObject(this.configureOptions[n],[n],!0)):!0!==e&&-1===e.indexOf(n)||(o=!0),!1!==o&&(this.allowCreation=!0,i>0&&this._makeItem([]),this._makeHeader(n),this._handleObject(this.configureOptions[n],[n])),i++);if(!0===this.options.showButton){var s=document.createElement("div");s.className="vis-configuration vis-config-button",s.innerHTML="generate options",s.onclick=function(){t._printOptions()},s.onmouseover=function(){s.className="vis-configuration vis-config-button hover"},s.onmouseout=function(){s.className="vis-configuration vis-config-button"},this.optionsContainer=document.createElement("div"),this.optionsContainer.className="vis-configuration vis-config-option-container",this.domElements.push(this.optionsContainer),this.domElements.push(s)}this._push()}},{key:"_push",value:function(){this.wrapper=document.createElement("div"),this.wrapper.className="vis-configuration-wrapper",this.container.appendChild(this.wrapper);for(var t=0;t1?i-1:0),n=1;n2&&void 0!==arguments[2]&&arguments[2],o=document.createElement("div");return o.className="vis-configuration vis-config-label vis-config-s"+e.length,o.innerHTML=!0===i?""+t+":":t+":",o}},{key:"_makeDropdown",value:function(t,e,i){var o=document.createElement("select");o.className="vis-configuration vis-config-select";var n=0;void 0!==e&&-1!==t.indexOf(e)&&(n=t.indexOf(e));for(var s=0;ss&&1!==s&&(a.max=Math.ceil(1.2*e),d=a.max,h="range increased"),a.value=e}else a.value=o;var l=document.createElement("input");l.className="vis-configuration vis-config-rangeinput",l.value=a.value;var u=this;a.onchange=function(){l.value=this.value,u._update(Number(this.value),i)},a.oninput=function(){l.value=this.value};var p=this._makeLabel(i[i.length-1],i),c=this._makeItem(i,p,a,l);""!==h&&this.popupHistory[c]!==d&&(this.popupHistory[c]=d,this._setupPopup(h,c))}},{key:"_setupPopup",value:function(t,e){var i=this;if(!0===this.initialized&&!0===this.allowCreation&&this.popupCounter1&&void 0!==arguments[1]?arguments[1]:[],i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=!1,n=this.options.filter,s=!1;for(var r in t)if(t.hasOwnProperty(r)){o=!0;var a=t[r],h=p.copyAndExtendArray(e,r);if("function"==typeof n&&!1===(o=n(r,e))&&!(a instanceof Array)&&"string"!=typeof a&&"boolean"!=typeof a&&a instanceof Object&&(this.allowCreation=!1,o=this._handleObject(a,h,!0),this.allowCreation=!1===i),!1!==o){s=!0;var d=this._getValue(h);if(a instanceof Array)this._handleArray(a,d,h);else if("string"==typeof a)this._makeTextInput(a,d,h);else if("boolean"==typeof a)this._makeCheckbox(a,d,h);else if(a instanceof Object){var l=!0;if(-1!==e.indexOf("physics")&&this.moduleOptions.physics.solver!==r&&(l=!1),!0===l)if(void 0!==a.enabled){var u=p.copyAndExtendArray(h,"enabled"),c=this._getValue(u);if(!0===c){var m=this._makeLabel(r,h,!0);this._makeItem(h,m),s=this._handleObject(a,h)||s}else this._makeCheckbox(a,c,h)}else{var f=this._makeLabel(r,h,!0);this._makeItem(h,f),s=this._handleObject(a,h)||s}}else console.error("dont know how to handle",a,r,h)}}return s}},{key:"_handleArray",value:function(t,e,i){"string"==typeof t[0]&&"color"===t[0]?(this._makeColorField(t,e,i),t[1]!==e&&this.changedOptions.push({path:i,value:e})):"string"==typeof t[0]?(this._makeDropdown(t,e,i),t[0]!==e&&this.changedOptions.push({path:i,value:e})):"number"==typeof t[0]&&(this._makeRange(t,e,i),t[0]!==e&&this.changedOptions.push({path:i,value:Number(e)}))}},{key:"_update",value:function(t,e){var i=this._constructOptions(t,e);this.parent.body&&this.parent.body.emitter&&this.parent.body.emitter.emit&&this.parent.body.emitter.emit("configChange",i),this.initialized=!0,this.parent.setOptions(i)}},{key:"_constructOptions",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=i;t="true"===t||t,t="false"!==t&&t;for(var n=0;nvar options = "+(0,s.default)(t,null,2)+""}},{key:"getOptions",value:function(){for(var t={},e=0;e0){var r={};for(this._getRelevantData(s,r,o,n),this._applySampling(s,r),e=0;e0)switch(t.options.style){case"line":d.hasOwnProperty(s[e])||(d[s[e]]=f.calcPath(r[s[e]],t)),f.draw(d[s[e]],t,this.framework);case"point":case"points":"point"!=t.options.style&&"points"!=t.options.style&&1!=t.options.drawPoints.enabled||g.draw(r[s[e]],t,this.framework)}}}return a.cleanupElements(this.svgElements),!1},o.prototype._stack=function(t,e){var i,o,n,s,r;i=0;for(var a=0;at[a].x){r=e[h],s=0==h?r:e[h-1],i=h;break}}void 0===r&&(s=e[e.length-1],r=e[e.length-1]),o=r.x-s.x,n=r.y-s.y,t[a].y=0==o?t[a].orginalY+r.y:t[a].orginalY+n/o*(t[a].x-s.x)+s.y}},o.prototype._getRelevantData=function(t,e,i,o){var n,s,a,h;if(t.length>0)for(s=0;s0)for(var o=0;o0){var s=1,r=n.length,a=this.body.util.toGlobalScreen(n[n.length-1].x)-this.body.util.toGlobalScreen(n[0].x),h=r/a;s=Math.min(Math.ceil(.2*r),Math.max(1,Math.round(h)));for(var d=new Array(r),l=0;l0){for(s=0;s0&&(n=this.groups[t[s]],!0===r.stack&&"bar"===r.style?"left"===r.yAxisOrientation?a=a.concat(o):h=h.concat(o):i[t[s]]=n.getYRange(o,t[s]));m.getStackedYRange(a,i,t,"__barStackLeft","left"),m.getStackedYRange(h,i,t,"__barStackRight","right")}},o.prototype._updateYAxis=function(t,e){var i,o,n=!1,s=!1,r=!1,a=1e9,h=1e9,d=-1e9,l=-1e9;if(t.length>0){for(var u=0;ui?i:a,d=di?i:h,l=l=0&&t._redrawLabel(o-2,e.val,i,"vis-y-axis vis-major",t.props.majorCharHeight),!0===t.master&&(n?t._redrawLine(o,i,"vis-grid vis-horizontal vis-major",t.options.majorLinesOffset,t.props.majorLineWidth):t._redrawLine(o,i,"vis-grid vis-horizontal vis-minor",t.options.minorLinesOffset,t.props.minorLineWidth))});var r=0;void 0!==this.options[i].title&&void 0!==this.options[i].title.text&&(r=this.props.titleCharHeight);var h=!0===this.options.icons?Math.max(this.options.iconWidth,r)+this.options.labelOffsetX+15:r+this.options.labelOffsetX+15;return this.maxLabelSize>this.width-h&&!0===this.options.visible?(this.width=this.maxLabelSize+h,this.options.width=this.width+"px",a.cleanupElements(this.DOMelements.lines),a.cleanupElements(this.DOMelements.labels),this.redraw(),e=!0):this.maxLabelSizethis.minWidth?(this.width=Math.max(this.minWidth,this.maxLabelSize+h),this.options.width=this.width+"px",a.cleanupElements(this.DOMelements.lines),a.cleanupElements(this.DOMelements.labels),this.redraw(),e=!0):(a.cleanupElements(this.DOMelements.lines),a.cleanupElements(this.DOMelements.labels),e=!1),e},o.prototype.convertValue=function(t){return this.scale.convertValue(t)},o.prototype.screenToValue=function(t){return this.scale.screenToValue(t)},o.prototype._redrawLabel=function(t,e,i,o,n){var s=a.getDOMElement("div",this.DOMelements.labels,this.dom.frame);s.className=o,s.innerHTML=e,"left"===i?(s.style.left="-"+this.options.labelOffsetX+"px",s.style.textAlign="right"):(s.style.right="-"+this.options.labelOffsetX+"px",s.style.textAlign="left"),s.style.top=t-.5*n+this.options.labelOffsetY+"px",e+="";var r=Math.max(this.props.majorCharWidth,this.props.minorCharWidth);this.maxLabelSize6&&void 0!==arguments[6]&&arguments[6],a=arguments.length>7&&void 0!==arguments[7]&&arguments[7];if(this.majorSteps=[1,2,5,10],this.minorSteps=[.25,.5,1,2],this.customLines=null,this.containerHeight=n,this.majorCharHeight=s,this._start=t,this._end=e,this.scale=1,this.minorStepIdx=-1,this.magnitudefactor=1,this.determineScale(),this.zeroAlign=r,this.autoScaleStart=i,this.autoScaleEnd=o,this.formattingFunction=a,i||o){var h=this,d=function(t){var e=t-t%(h.magnitudefactor*h.minorSteps[h.minorStepIdx]);return t%(h.magnitudefactor*h.minorSteps[h.minorStepIdx])>h.magnitudefactor*h.minorSteps[h.minorStepIdx]*.5?e+h.magnitudefactor*h.minorSteps[h.minorStepIdx]:e};i&&(this._start-=2*this.magnitudefactor*this.minorSteps[this.minorStepIdx],this._start=d(this._start)),o&&(this._end+=this.magnitudefactor*this.minorSteps[this.minorStepIdx],this._end=d(this._end)),this.determineScale()}}o.prototype.setCharHeight=function(t){this.majorCharHeight=t},o.prototype.setHeight=function(t){this.containerHeight=t},o.prototype.determineScale=function(){var t=this._end-this._start;this.scale=this.containerHeight/t;var e=this.majorCharHeight/this.scale,i=t>0?Math.round(Math.log(t)/Math.LN10):0;this.minorStepIdx=-1,this.magnitudefactor=Math.pow(10,i);var o=0;i<0&&(o=i);for(var n=!1,s=o;Math.abs(s)<=Math.abs(i);s++){this.magnitudefactor=Math.pow(10,s);for(var r=0;r=e){n=!0,this.minorStepIdx=r;break}}if(!0===n)break}},o.prototype.is_major=function(t){return t%(this.magnitudefactor*this.majorSteps[this.minorStepIdx])==0},o.prototype.getStep=function(){return this.magnitudefactor*this.minorSteps[this.minorStepIdx]},o.prototype.getFirstMajor=function(){var t=this.magnitudefactor*this.majorSteps[this.minorStepIdx];return this.convertValue(this._start+(t-this._start%t)%t)},o.prototype.formatValue=function(t){var e=t.toPrecision(5);return"function"==typeof this.formattingFunction&&(e=this.formattingFunction(t)),"number"==typeof e?""+e:"string"==typeof e?e:t.toPrecision(5)},o.prototype.getLines=function(){for(var t=[],e=this.getStep(),i=(e-this._start%e)%e,o=this._start+i;this._end-o>1e-5;o+=e)o!=this._start&&t.push({major:this.is_major(o),y:this.convertValue(o),val:this.formatValue(o)});return t},o.prototype.followScale=function(t){var e=this.minorStepIdx,i=this._start,o=this._end,n=this,s=function(){n.magnitudefactor*=2},r=function(){n.magnitudefactor/=2};t.minorStepIdx<=1&&this.minorStepIdx<=1||t.minorStepIdx>1&&this.minorStepIdx>1||(t.minorStepIdxo+1e-5)r(),d=!1;else{if(!this.autoScaleStart&&this._start=0)){r(),d=!1;continue}console.warn("Can't adhere to given 'min' range, due to zeroalign")}this.autoScaleStart&&this.autoScaleEnd&&ue.x?1:-1})):this.itemsData=[]},o.prototype.getItems=function(){return this.itemsData},o.prototype.setZeroPosition=function(t){this.zeroPosition=t},o.prototype.setOptions=function(t){if(void 0!==t){var e=["sampling","style","sort","yAxisOrientation","barChart","zIndex","excludeFromStacking","excludeFromLegend"];r.selectiveDeepExtend(e,this.options,t),"function"==typeof t.drawPoints&&(t.drawPoints={onRender:t.drawPoints}),r.mergeOptions(this.options,t,"interpolation"),r.mergeOptions(this.options,t,"drawPoints"),r.mergeOptions(this.options,t,"shaded"),t.interpolation&&"object"==(0,s.default)(t.interpolation)&&t.interpolation.parametrization&&("uniform"==t.interpolation.parametrization?this.options.interpolation.alpha=0:"chordal"==t.interpolation.parametrization?this.options.interpolation.alpha=1:(this.options.interpolation.parametrization="centripetal",this.options.interpolation.alpha=.5))}},o.prototype.update=function(t){this.group=t,this.content=t.content||"graph",this.className=t.className||this.className||"vis-graph-group"+this.groupsUsingDefaultStyles[0]%10,this.visible=void 0===t.visible||t.visible,this.style=t.style,this.setOptions(t.options)},o.prototype.getLegend=function(t,e,i,o,n){if(void 0==i||null==i){i={svg:document.createElementNS("http://www.w3.org/2000/svg","svg"),svgElements:{},options:this.options,groups:[this]}}switch(void 0!=o&&null!=o||(o=0),void 0!=n&&null!=n||(n=.5*e),this.options.style){case"line":h.drawIcon(this,o,n,t,e,i);break;case"points":case"point":d.drawIcon(this,o,n,t,e,i);break;case"bar":a.drawIcon(this,o,n,t,e,i)}return{icon:i.svg,label:this.content,orientation:this.options.yAxisOrientation}},o.prototype.getYRange=function(t){for(var e=t[0].y,i=t[0].y,o=0;ot[o].y?t[o].y:e,i=i0&&(i=Math.min(i,Math.abs(e[o-1].screen_x-e[o].screen_x))),0===i&&(void 0===t[e[o].screen_x]&&(t[e[o].screen_x]={amount:0,resolved:0,accumulatedPositive:0,accumulatedNegative:0}),t[e[o].screen_x].amount+=1)},o._getSafeDrawData=function(t,e,i){var o,n;return t0?(o=t0){t.sort(function(t,e){return t.screen_x===e.screen_x?t.groupIde[s].screen_y?e[s].screen_y:o,n=nt[r].accumulatedNegative?t[r].accumulatedNegative:o,o=o>t[r].accumulatedPositive?t[r].accumulatedPositive:o,n=n0){return 1==e.options.interpolation.enabled?o._catmullRom(t,e):o._linear(t)}},o.drawIcon=function(t,e,i,o,s,r){var a,h,d=.5*s,l=n.getSVGElement("rect",r.svgElements,r.svg);if(l.setAttributeNS(null,"x",e),l.setAttributeNS(null,"y",i-d),l.setAttributeNS(null,"width",o),l.setAttributeNS(null,"height",2*d),l.setAttributeNS(null,"class","vis-outline"),a=n.getSVGElement("path",r.svgElements,r.svg),a.setAttributeNS(null,"class",t.className),void 0!==t.style&&a.setAttributeNS(null,"style",t.style),a.setAttributeNS(null,"d","M"+e+","+i+" L"+(e+o)+","+i),1==t.options.shaded.enabled&&(h=n.getSVGElement("path",r.svgElements,r.svg),"top"==t.options.shaded.orientation?h.setAttributeNS(null,"d","M"+e+", "+(i-d)+"L"+e+","+i+" L"+(e+o)+","+i+" L"+(e+o)+","+(i-d)):h.setAttributeNS(null,"d","M"+e+","+i+" L"+e+","+(i+d)+" L"+(e+o)+","+(i+d)+"L"+(e+o)+","+i),h.setAttributeNS(null,"class",t.className+" vis-icon-fill"),void 0!==t.options.shaded.style&&""!==t.options.shaded.style&&h.setAttributeNS(null,"style",t.options.shaded.style)),1==t.options.drawPoints.enabled){var u={style:t.options.drawPoints.style,styles:t.options.drawPoints.styles,size:t.options.drawPoints.size,className:t.className};n.drawPoint(e+.5*o,i,u,r.svgElements,r.svg)}},o.drawShading=function(t,e,i,o){if(1==e.options.shaded.enabled){var s=Number(o.svg.style.height.replace("px","")),r=n.getSVGElement("path",o.svgElements,o.svg),a="L";1==e.options.interpolation.enabled&&(a="C");var h,d=0;d="top"==e.options.shaded.orientation?0:"bottom"==e.options.shaded.orientation?s:Math.min(Math.max(0,e.zeroPosition),s),h="group"==e.options.shaded.orientation&&null!=i&&void 0!=i?"M"+t[0][0]+","+t[0][1]+" "+this.serializePath(t,a,!1)+" L"+i[i.length-1][0]+","+i[i.length-1][1]+" "+this.serializePath(i,a,!0)+i[0][0]+","+i[0][1]+" Z":"M"+t[0][0]+","+t[0][1]+" "+this.serializePath(t,a,!1)+" V"+d+" H"+t[0][0]+" Z",r.setAttributeNS(null,"class",e.className+" vis-fill"),void 0!==e.options.shaded.style&&r.setAttributeNS(null,"style",e.options.shaded.style),r.setAttributeNS(null,"d",h)}},o.draw=function(t,e,i){if(null!=t&&void 0!=t){var o=n.getSVGElement("path",i.svgElements,i.svg);o.setAttributeNS(null,"class",e.className),void 0!==e.style&&o.setAttributeNS(null,"style",e.style);var s="L";1==e.options.interpolation.enabled&&(s="C"),o.setAttributeNS(null,"d","M"+t[0][0]+","+t[0][1]+" "+this.serializePath(t,s,!1))}},o.serializePath=function(t,e,i){if(t.length<2)return"";var o,n=e;if(i)for(o=t.length-2;o>0;o--)n+=t[o][0]+","+t[o][1]+" ";else for(o=1;o0&&(m=1/m),f=3*g*(g+v),f>0&&(f=1/f),a={screen_x:(-b*o.screen_x+p*n.screen_x+_*s.screen_x)*m,screen_y:(-b*o.screen_y+p*n.screen_y+_*s.screen_y)*m},h={screen_x:(y*n.screen_x+c*s.screen_x-b*r.screen_x)*f,screen_y:(y*n.screen_y+c*s.screen_y-b*r.screen_y)*f},0==a.screen_x&&0==a.screen_y&&(a=n),0==h.screen_x&&0==h.screen_y&&(h=s),x.push([a.screen_x,a.screen_y]),x.push([h.screen_x,h.screen_y]),x.push([s.screen_x,s.screen_y]);return x},o._linear=function(t){for(var e=[],i=0;i");this.dom.textArea.innerHTML=r,this.dom.textArea.style.lineHeight=.75*this.options.iconSize+this.options.iconSpacing+"px"}},o.prototype.drawLegendIcons=function(){if(this.dom.frame.parentNode){var t=(0,s.default)(this.groups);t.sort(function(t,e){return t=t.length?(this._t=void 0,n(1)):"keys"==e?n(0,i):"values"==e?n(0,t[i]):n(0,[i,t[i]])},"values"),s.Arguments=s.Array,o("keys"),o("values"),o("entries")},function(t,e){t.exports=function(){}},function(t,e){t.exports=function(t,e){return{value:e,done:!!t}}},function(t,e,i){var o=i(34);t.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==o(t)?t.split(""):Object(t)}},function(t,e,i){var o=i(93);t.exports=function(t,e,i){if(o(t),void 0===e)return t;switch(i){case 1:return function(i){return t.call(e,i)};case 2:return function(i,o){return t.call(e,i,o)};case 3:return function(i,o,n){return t.call(e,i,o,n)}}return function(){return t.apply(e,arguments)}}},function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},function(t,e,i){var o=i(37),n=i(26),s=i(42),r={};i(14)(r,i(7)("iterator"),function(){return this}),t.exports=function(t,e,i){t.prototype=o(r,{next:n(1,i)}),s(t,e+" Iterator")}},function(t,e,i){var o=i(8),n=i(18),s=i(27);t.exports=i(9)?Object.defineProperties:function(t,e){n(t);for(var i,r=s(e),a=r.length,h=0;a>h;)o.f(t,i=r[h++],e[i]);return t}},function(t,e,i){var o=i(13),n=i(97),s=i(98);t.exports=function(t){return function(e,i,r){var a,h=o(e),d=n(h.length),l=s(r,d);if(t&&i!=i){for(;d>l;)if((a=h[l++])!=a)return!0}else for(;d>l;l++)if((t||l in h)&&h[l]===i)return t||l||0;return!t&&-1}}},function(t,e,i){var o=i(38),n=Math.min;t.exports=function(t){return t>0?n(o(t),9007199254740991):0}},function(t,e,i){var o=i(38),n=Math.max,s=Math.min;t.exports=function(t,e){return t=o(t),t<0?n(t+e,0):s(t,e)}},function(t,e,i){var o=i(6).document;t.exports=o&&o.documentElement},function(t,e,i){var o=i(10),n=i(61),s=i(39)("IE_PROTO"),r=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=n(t),o(t,s)?t[s]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?r:null}},function(t,e,i){var o=i(38),n=i(35);t.exports=function(t){return function(e,i){var s,r,a=String(n(e)),h=o(i),d=a.length;return h<0||h>=d?t?"":void 0:(s=a.charCodeAt(h),s<55296||s>56319||h+1===d||(r=a.charCodeAt(h+1))<56320||r>57343?t?a.charAt(h):s:t?a.slice(h,h+2):r-56320+(s-55296<<10)+65536)}}},function(t,e,i){var o=i(18),n=i(103);t.exports=i(2).getIterator=function(t){var e=n(t);if("function"!=typeof e)throw TypeError(t+" is not iterable!");return o(e.call(t))}},function(t,e,i){var o=i(104),n=i(7)("iterator"),s=i(24);t.exports=i(2).getIteratorMethod=function(t){if(void 0!=t)return t[n]||t["@@iterator"]||s[o(t)]}},function(t,e,i){var o=i(34),n=i(7)("toStringTag"),s="Arguments"==o(function(){return arguments}()),r=function(t,e){try{return t[e]}catch(t){}};t.exports=function(t){var e,i,a;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(i=r(e=Object(t),n))?i:s?o(e):"Object"==(a=o(e))&&"function"==typeof e.callee?"Arguments":a}},function(t,e,i){i(106);var o=i(2).Object;t.exports=function(t,e){return o.create(t,e)}},function(t,e,i){var o=i(17);o(o.S,"Object",{create:i(37)})},function(t,e,i){i(108),t.exports=i(2).Object.keys},function(t,e,i){var o=i(61),n=i(27);i(109)("keys",function(){return function(t){return n(o(t))}})},function(t,e,i){var o=i(17),n=i(2),s=i(20);t.exports=function(t,e){var i=(n.Object||{})[t]||Object[t],r={};r[t]=e(i),o(o.S+o.F*s(function(){i(1)}),"Object",r)}},function(t,e,i){t.exports={default:i(111),__esModule:!0}},function(t,e,i){i(62),i(55),t.exports=i(44).f("iterator")},function(t,e,i){t.exports={default:i(113),__esModule:!0}},function(t,e,i){i(114),i(120),i(121),i(122),t.exports=i(2).Symbol},function(t,e,i){var o=i(6),n=i(10),s=i(9),r=i(17),a=i(59),h=i(115).KEY,d=i(20),l=i(40),u=i(42),p=i(28),c=i(7),m=i(44),f=i(45),g=i(116),v=i(117),y=i(18),b=i(19),_=i(13),w=i(36),x=i(26),D=i(37),S=i(118),k=i(119),T=i(8),C=i(27),M=k.f,O=T.f,E=S.f,P=o.Symbol,I=o.JSON,A=I&&I.stringify,N=c("_hidden"),R=c("toPrimitive"),L={}.propertyIsEnumerable,F=l("symbol-registry"),H=l("symbols"),Y=l("op-symbols"),j=Object.prototype,G="function"==typeof P,z=o.QObject,W=!z||!z.prototype||!z.prototype.findChild,V=s&&d(function(){return 7!=D(O({},"a",{get:function(){return O(this,"a",{value:7}).a}})).a})?function(t,e,i){var o=M(j,e);o&&delete j[e],O(t,e,i),o&&t!==j&&O(j,e,o)}:O,B=function(t){var e=H[t]=D(P.prototype);return e._k=t,e},U=G&&"symbol"==typeof P.iterator?function(t){return"symbol"==typeof t}:function(t){return t instanceof P},q=function(t,e,i){return t===j&&q(Y,e,i),y(t),e=w(e,!0),y(i),n(H,e)?(i.enumerable?(n(t,N)&&t[N][e]&&(t[N][e]=!1),i=D(i,{enumerable:x(0,!1)})):(n(t,N)||O(t,N,x(1,{})),t[N][e]=!0),V(t,e,i)):O(t,e,i)},X=function(t,e){y(t);for(var i,o=g(e=_(e)),n=0,s=o.length;s>n;)q(t,i=o[n++],e[i]);return t},Z=function(t,e){return void 0===e?D(t):X(D(t),e)},K=function(t){var e=L.call(this,t=w(t,!0));return!(this===j&&n(H,t)&&!n(Y,t))&&(!(e||!n(this,t)||!n(H,t)||n(this,N)&&this[N][t])||e)},J=function(t,e){if(t=_(t),e=w(e,!0),t!==j||!n(H,e)||n(Y,e)){var i=M(t,e);return!i||!n(H,e)||n(t,N)&&t[N][e]||(i.enumerable=!0),i}},$=function(t){for(var e,i=E(_(t)),o=[],s=0;i.length>s;)n(H,e=i[s++])||e==N||e==h||o.push(e);return o},Q=function(t){for(var e,i=t===j,o=E(i?Y:_(t)),s=[],r=0;o.length>r;)!n(H,e=o[r++])||i&&!n(j,e)||s.push(H[e]);return s};G||(P=function(){if(this instanceof P)throw TypeError("Symbol is not a constructor!");var t=p(arguments.length>0?arguments[0]:void 0),e=function(i){this===j&&e.call(Y,i),n(this,N)&&n(this[N],t)&&(this[N][t]=!1),V(this,t,x(1,i))};return s&&W&&V(j,t,{configurable:!0,set:e}),B(t)},a(P.prototype,"toString",function(){return this._k}),k.f=J,T.f=q,i(64).f=S.f=$,i(46).f=K,i(63).f=Q,s&&!i(25)&&a(j,"propertyIsEnumerable",K,!0),m.f=function(t){return B(c(t))}),r(r.G+r.W+r.F*!G,{Symbol:P});for(var tt="hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","),et=0;tt.length>et;)c(tt[et++]);for(var it=C(c.store),ot=0;it.length>ot;)f(it[ot++]);r(r.S+r.F*!G,"Symbol",{for:function(t){return n(F,t+="")?F[t]:F[t]=P(t)},keyFor:function(t){if(!U(t))throw TypeError(t+" is not a symbol!");for(var e in F)if(F[e]===t)return e},useSetter:function(){W=!0},useSimple:function(){W=!1}}),r(r.S+r.F*!G,"Object",{create:Z,defineProperty:q,defineProperties:X,getOwnPropertyDescriptor:J,getOwnPropertyNames:$,getOwnPropertySymbols:Q}),I&&r(r.S+r.F*(!G||d(function(){var t=P();return"[null]"!=A([t])||"{}"!=A({a:t})||"{}"!=A(Object(t))})),"JSON",{stringify:function(t){for(var e,i,o=[t],n=1;arguments.length>n;)o.push(arguments[n++]);if(i=e=o[1],(b(e)||void 0!==t)&&!U(t))return v(e)||(e=function(t,e){if("function"==typeof i&&(e=i.call(this,t,e)),!U(e))return e}),o[1]=e,A.apply(I,o)}}),P.prototype[R]||i(14)(P.prototype,R,P.prototype.valueOf),u(P,"Symbol"),u(Math,"Math",!0),u(o.JSON,"JSON",!0)},function(t,e,i){var o=i(28)("meta"),n=i(19),s=i(10),r=i(8).f,a=0,h=Object.isExtensible||function(){return!0},d=!i(20)(function(){return h(Object.preventExtensions({}))}),l=function(t){r(t,o,{value:{i:"O"+ ++a,w:{}}})},u=function(t,e){if(!n(t))return"symbol"==typeof t?t:("string"==typeof t?"S":"P")+t;if(!s(t,o)){if(!h(t))return"F";if(!e)return"E";l(t)}return t[o].i},p=function(t,e){if(!s(t,o)){if(!h(t))return!0;if(!e)return!1;l(t)}return t[o].w},c=function(t){return d&&m.NEED&&h(t)&&!s(t,o)&&l(t),t},m=t.exports={KEY:o,NEED:!1,fastKey:u,getWeak:p,onFreeze:c}},function(t,e,i){var o=i(27),n=i(63),s=i(46);t.exports=function(t){var e=o(t),i=n.f;if(i)for(var r,a=i(t),h=s.f,d=0;a.length>d;)h.call(t,r=a[d++])&&e.push(r);return e}},function(t,e,i){var o=i(34);t.exports=Array.isArray||function(t){return"Array"==o(t)}},function(t,e,i){var o=i(13),n=i(64).f,s={}.toString,r="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],a=function(t){try{return n(t)}catch(t){return r.slice()}};t.exports.f=function(t){return r&&"[object Window]"==s.call(t)?a(t):n(o(t))}},function(t,e,i){var o=i(46),n=i(26),s=i(13),r=i(36),a=i(10),h=i(57),d=Object.getOwnPropertyDescriptor;e.f=i(9)?d:function(t,e){if(t=s(t),e=r(e,!0),h)try{return d(t,e)}catch(t){}if(a(t,e))return n(!o.f.call(t,e),t[e])}},function(t,e){},function(t,e,i){i(45)("asyncIterator")},function(t,e,i){i(45)("observable")},function(t,e,i){(function(t){!function(e,i){t.exports=i()}(0,function(){function e(){return Co.apply(null,arguments)}function i(t){return t instanceof Array||"[object Array]"===Object.prototype.toString.call(t)}function o(t){return null!=t&&"[object Object]"===Object.prototype.toString.call(t)}function n(t){if(Object.getOwnPropertyNames)return 0===Object.getOwnPropertyNames(t).length;var e;for(e in t)if(t.hasOwnProperty(e))return!1;return!0}function s(t){return void 0===t}function r(t){return"number"==typeof t||"[object Number]"===Object.prototype.toString.call(t)}function a(t){return t instanceof Date||"[object Date]"===Object.prototype.toString.call(t)}function h(t,e){var i,o=[];for(i=0;i0)for(i=0;i0?"future":"past"];return k(i)?i(e):i.replace(/%s/i,e)}function R(t,e){var i=t.toLowerCase();Fo[i]=Fo[i+"s"]=Fo[e]=t}function L(t){return"string"==typeof t?Fo[t]||Fo[t.toLowerCase()]:void 0}function F(t){var e,i,o={};for(i in t)d(t,i)&&(e=L(i))&&(o[e]=t[i]);return o}function H(t,e){Ho[t]=e}function Y(t){var e=[];for(var i in t)e.push({unit:i,priority:Ho[i]});return e.sort(function(t,e){return t.priority-e.priority}),e}function j(t,e,i){var o=""+Math.abs(t),n=e-o.length;return(t>=0?i?"+":"":"-")+Math.pow(10,Math.max(0,n)).toString().substr(1)+o}function G(t,e,i,o){var n=o;"string"==typeof o&&(n=function(){return this[o]()}),t&&(zo[t]=n),e&&(zo[e[0]]=function(){return j(n.apply(this,arguments),e[1],e[2])}),i&&(zo[i]=function(){return this.localeData().ordinal(n.apply(this,arguments),t)})}function z(t){return t.match(/\[[\s\S]/)?t.replace(/^\[|\]$/g,""):t.replace(/\\/g,"")}function W(t){var e,i,o=t.match(Yo);for(e=0,i=o.length;e=0&&jo.test(t);)t=t.replace(jo,i),jo.lastIndex=0,o-=1;return t}function U(t,e,i){an[t]=k(e)?e:function(t,o){return t&&i?i:e}}function q(t,e){return d(an,t)?an[t](e._strict,e._locale):new RegExp(X(t))}function X(t){return Z(t.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(t,e,i,o,n){return e||i||o||n}))}function Z(t){return t.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function K(t,e){var i,o=e;for("string"==typeof t&&(t=[t]),r(e)&&(o=function(t,i){i[e]=_(t)}),i=0;i=0&&isFinite(a.getFullYear())&&a.setFullYear(t),a}function _t(t){var e=new Date(Date.UTC.apply(null,arguments));return t<100&&t>=0&&isFinite(e.getUTCFullYear())&&e.setUTCFullYear(t),e}function wt(t,e,i){var o=7+e-i;return-(7+_t(t,0,o).getUTCDay()-e)%7+o-1}function xt(t,e,i,o,n){var s,r,a=(7+i-o)%7,h=wt(t,o,n),d=1+7*(e-1)+a+h;return d<=0?(s=t-1,r=Q(s)+d):d>Q(t)?(s=t+1,r=d-Q(t)):(s=t,r=d),{year:s,dayOfYear:r}}function Dt(t,e,i){var o,n,s=wt(t.year(),e,i),r=Math.floor((t.dayOfYear()-s-1)/7)+1;return r<1?(n=t.year()-1,o=r+St(n,e,i)):r>St(t.year(),e,i)?(o=r-St(t.year(),e,i),n=t.year()+1):(n=t.year(),o=r),{week:o,year:n}}function St(t,e,i){var o=wt(t,e,i),n=wt(t+1,e,i);return(Q(t)-o+n)/7}function kt(t){return Dt(t,this._week.dow,this._week.doy).week}function Tt(){return this._week.dow}function Ct(){return this._week.doy}function Mt(t){var e=this.localeData().week(this);return null==t?e:this.add(7*(t-e),"d")}function Ot(t){var e=Dt(this,1,4).week;return null==t?e:this.add(7*(t-e),"d")}function Et(t,e){return"string"!=typeof t?t:isNaN(t)?(t=e.weekdaysParse(t),"number"==typeof t?t:null):parseInt(t,10)}function Pt(t,e){return"string"==typeof t?e.weekdaysParse(t)%7||7:isNaN(t)?null:t}function It(t,e){return t?i(this._weekdays)?this._weekdays[t.day()]:this._weekdays[this._weekdays.isFormat.test(e)?"format":"standalone"][t.day()]:i(this._weekdays)?this._weekdays:this._weekdays.standalone}function At(t){return t?this._weekdaysShort[t.day()]:this._weekdaysShort}function Nt(t){return t?this._weekdaysMin[t.day()]:this._weekdaysMin}function Rt(t,e,i){var o,n,s,r=t.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],o=0;o<7;++o)s=u([2e3,1]).day(o),this._minWeekdaysParse[o]=this.weekdaysMin(s,"").toLocaleLowerCase(),this._shortWeekdaysParse[o]=this.weekdaysShort(s,"").toLocaleLowerCase(),this._weekdaysParse[o]=this.weekdays(s,"").toLocaleLowerCase();return i?"dddd"===e?(n=yn.call(this._weekdaysParse,r),-1!==n?n:null):"ddd"===e?(n=yn.call(this._shortWeekdaysParse,r),-1!==n?n:null):(n=yn.call(this._minWeekdaysParse,r),-1!==n?n:null):"dddd"===e?-1!==(n=yn.call(this._weekdaysParse,r))?n:-1!==(n=yn.call(this._shortWeekdaysParse,r))?n:(n=yn.call(this._minWeekdaysParse,r),-1!==n?n:null):"ddd"===e?-1!==(n=yn.call(this._shortWeekdaysParse,r))?n:-1!==(n=yn.call(this._weekdaysParse,r))?n:(n=yn.call(this._minWeekdaysParse,r),-1!==n?n:null):-1!==(n=yn.call(this._minWeekdaysParse,r))?n:-1!==(n=yn.call(this._weekdaysParse,r))?n:(n=yn.call(this._shortWeekdaysParse,r),-1!==n?n:null)}function Lt(t,e,i){var o,n,s;if(this._weekdaysParseExact)return Rt.call(this,t,e,i);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),o=0;o<7;o++){if(n=u([2e3,1]).day(o),i&&!this._fullWeekdaysParse[o]&&(this._fullWeekdaysParse[o]=new RegExp("^"+this.weekdays(n,"").replace(".","\\.?")+"$","i"),this._shortWeekdaysParse[o]=new RegExp("^"+this.weekdaysShort(n,"").replace(".","\\.?")+"$","i"),this._minWeekdaysParse[o]=new RegExp("^"+this.weekdaysMin(n,"").replace(".","\\.?")+"$","i")),this._weekdaysParse[o]||(s="^"+this.weekdays(n,"")+"|^"+this.weekdaysShort(n,"")+"|^"+this.weekdaysMin(n,""),this._weekdaysParse[o]=new RegExp(s.replace(".",""),"i")),i&&"dddd"===e&&this._fullWeekdaysParse[o].test(t))return o;if(i&&"ddd"===e&&this._shortWeekdaysParse[o].test(t))return o;if(i&&"dd"===e&&this._minWeekdaysParse[o].test(t))return o;if(!i&&this._weekdaysParse[o].test(t))return o}}function Ft(t){if(!this.isValid())return null!=t?this:NaN;var e=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=t?(t=Et(t,this.localeData()),this.add(t-e,"d")):e}function Ht(t){if(!this.isValid())return null!=t?this:NaN;var e=(this.day()+7-this.localeData()._week.dow)%7;return null==t?e:this.add(t-e,"d")}function Yt(t){if(!this.isValid())return null!=t?this:NaN;if(null!=t){var e=Pt(t,this.localeData());return this.day(this.day()%7?e:e-7)}return this.day()||7}function jt(t){return this._weekdaysParseExact?(d(this,"_weekdaysRegex")||Wt.call(this),t?this._weekdaysStrictRegex:this._weekdaysRegex):(d(this,"_weekdaysRegex")||(this._weekdaysRegex=On),this._weekdaysStrictRegex&&t?this._weekdaysStrictRegex:this._weekdaysRegex)}function Gt(t){return this._weekdaysParseExact?(d(this,"_weekdaysRegex")||Wt.call(this),t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(d(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=En),this._weekdaysShortStrictRegex&&t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)}function zt(t){return this._weekdaysParseExact?(d(this,"_weekdaysRegex")||Wt.call(this),t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(d(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=Pn),this._weekdaysMinStrictRegex&&t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)}function Wt(){function t(t,e){return e.length-t.length}var e,i,o,n,s,r=[],a=[],h=[],d=[];for(e=0;e<7;e++)i=u([2e3,1]).day(e),o=this.weekdaysMin(i,""),n=this.weekdaysShort(i,""),s=this.weekdays(i,""),r.push(o),a.push(n),h.push(s),d.push(o),d.push(n),d.push(s);for(r.sort(t),a.sort(t),h.sort(t),d.sort(t),e=0;e<7;e++)a[e]=Z(a[e]),h[e]=Z(h[e]),d[e]=Z(d[e]);this._weekdaysRegex=new RegExp("^("+d.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+h.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+a.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+r.join("|")+")","i")}function Vt(){return this.hours()%12||12}function Bt(){return this.hours()||24}function Ut(t,e){G(t,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),e)})}function qt(t,e){return e._meridiemParse}function Xt(t){return"p"===(t+"").toLowerCase().charAt(0)}function Zt(t,e,i){return t>11?i?"pm":"PM":i?"am":"AM"}function Kt(t){return t?t.toLowerCase().replace("_","-"):t}function Jt(t){for(var e,i,o,n,s=0;s0;){if(o=$t(n.slice(0,e).join("-")))return o;if(i&&i.length>=e&&w(n,i,!0)>=e-1)break;e--}s++}return In}function $t(e){var i=null;if(!Ln[e]&&void 0!==t&&t&&t.exports)try{i=In._abbr;!function(){var t=new Error('Cannot find module "./locale"');throw t.code="MODULE_NOT_FOUND",t}(),Qt(i)}catch(t){}return Ln[e]}function Qt(t,e){var i;return t&&(i=s(e)?ie(t):te(t,e),i?In=i:"undefined"!=typeof console&&console.warn&&console.warn("Locale "+t+" not found. Did you forget to load it?")),In._abbr}function te(t,e){if(null!==e){var i,o=Rn;if(e.abbr=t,null!=Ln[t])S("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),o=Ln[t]._config;else if(null!=e.parentLocale)if(null!=Ln[e.parentLocale])o=Ln[e.parentLocale]._config;else{if(null==(i=$t(e.parentLocale)))return Fn[e.parentLocale]||(Fn[e.parentLocale]=[]),Fn[e.parentLocale].push({name:t,config:e}),null;o=i._config}return Ln[t]=new M(C(o,e)),Fn[t]&&Fn[t].forEach(function(t){te(t.name,t.config)}),Qt(t),Ln[t]}return delete Ln[t],null}function ee(t,e){if(null!=e){var i,o,n=Rn;o=$t(t),null!=o&&(n=o._config),e=C(n,e),i=new M(e),i.parentLocale=Ln[t],Ln[t]=i,Qt(t)}else null!=Ln[t]&&(null!=Ln[t].parentLocale?Ln[t]=Ln[t].parentLocale:null!=Ln[t]&&delete Ln[t]);return Ln[t]}function ie(t){var e;if(t&&t._locale&&t._locale._abbr&&(t=t._locale._abbr),!t)return In;if(!i(t)){if(e=$t(t))return e;t=[t]}return Jt(t)}function oe(){return Io(Ln)}function ne(t){var e,i=t._a;return i&&-2===c(t).overflow&&(e=i[ln]<0||i[ln]>11?ln:i[un]<1||i[un]>ht(i[dn],i[ln])?un:i[pn]<0||i[pn]>24||24===i[pn]&&(0!==i[cn]||0!==i[mn]||0!==i[fn])?pn:i[cn]<0||i[cn]>59?cn:i[mn]<0||i[mn]>59?mn:i[fn]<0||i[fn]>999?fn:-1,c(t)._overflowDayOfYear&&(eun)&&(e=un),c(t)._overflowWeeks&&-1===e&&(e=gn),c(t)._overflowWeekday&&-1===e&&(e=vn),c(t).overflow=e),t}function se(t,e,i){return null!=t?t:null!=e?e:i}function re(t){var i=new Date(e.now());return t._useUTC?[i.getUTCFullYear(),i.getUTCMonth(),i.getUTCDate()]:[i.getFullYear(),i.getMonth(),i.getDate()]}function ae(t){var e,i,o,n,s,r=[];if(!t._d){for(o=re(t),t._w&&null==t._a[un]&&null==t._a[ln]&&he(t),null!=t._dayOfYear&&(s=se(t._a[dn],o[dn]),(t._dayOfYear>Q(s)||0===t._dayOfYear)&&(c(t)._overflowDayOfYear=!0),i=_t(s,0,t._dayOfYear),t._a[ln]=i.getUTCMonth(),t._a[un]=i.getUTCDate()),e=0;e<3&&null==t._a[e];++e)t._a[e]=r[e]=o[e];for(;e<7;e++)t._a[e]=r[e]=null==t._a[e]?2===e?1:0:t._a[e];24===t._a[pn]&&0===t._a[cn]&&0===t._a[mn]&&0===t._a[fn]&&(t._nextDay=!0,t._a[pn]=0),t._d=(t._useUTC?_t:bt).apply(null,r),n=t._useUTC?t._d.getUTCDay():t._d.getDay(),null!=t._tzm&&t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),t._nextDay&&(t._a[pn]=24),t._w&&void 0!==t._w.d&&t._w.d!==n&&(c(t).weekdayMismatch=!0)}}function he(t){var e,i,o,n,s,r,a,h;if(e=t._w,null!=e.GG||null!=e.W||null!=e.E)s=1,r=4,i=se(e.GG,t._a[dn],Dt(ke(),1,4).year),o=se(e.W,1),((n=se(e.E,1))<1||n>7)&&(h=!0);else{s=t._locale._week.dow,r=t._locale._week.doy;var d=Dt(ke(),s,r);i=se(e.gg,t._a[dn],d.year),o=se(e.w,d.week),null!=e.d?((n=e.d)<0||n>6)&&(h=!0):null!=e.e?(n=e.e+s,(e.e<0||e.e>6)&&(h=!0)):n=s}o<1||o>St(i,s,r)?c(t)._overflowWeeks=!0:null!=h?c(t)._overflowWeekday=!0:(a=xt(i,o,n,s,r),t._a[dn]=a.year,t._dayOfYear=a.dayOfYear)}function de(t){var e,i,o,n,s,r,a=t._i,h=Hn.exec(a)||Yn.exec(a);if(h){for(c(t).iso=!0,e=0,i=Gn.length;e0&&c(t).unusedInput.push(r),a=a.slice(a.indexOf(o)+o.length),d+=o.length),zo[s]?(o?c(t).empty=!1:c(t).unusedTokens.push(s),$(s,o,t)):t._strict&&!o&&c(t).unusedTokens.push(s);c(t).charsLeftOver=h-d,a.length>0&&c(t).unusedInput.push(a),t._a[pn]<=12&&!0===c(t).bigHour&&t._a[pn]>0&&(c(t).bigHour=void 0),c(t).parsedDateParts=t._a.slice(0),c(t).meridiem=t._meridiem,t._a[pn]=ye(t._locale,t._a[pn],t._meridiem),ae(t),ne(t)}function ye(t,e,i){var o;return null==i?e:null!=t.meridiemHour?t.meridiemHour(e,i):null!=t.isPM?(o=t.isPM(i),o&&e<12&&(e+=12),o||12!==e||(e=0),e):e}function be(t){var e,i,o,n,s;if(0===t._f.length)return c(t).invalidFormat=!0,void(t._d=new Date(NaN));for(n=0;nthis.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function Ue(){if(!s(this._isDSTShifted))return this._isDSTShifted;var t={};if(g(t,this),t=xe(t),t._a){var e=t._isUTC?u(t._a):ke(t._a);this._isDSTShifted=this.isValid()&&w(t._a,e.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted}function qe(){return!!this.isValid()&&!this._isUTC}function Xe(){return!!this.isValid()&&this._isUTC}function Ze(){return!!this.isValid()&&(this._isUTC&&0===this._offset)}function Ke(t,e){var i,o,n,s=t,a=null;return Ae(t)?s={ms:t._milliseconds,d:t._days,M:t._months}:r(t)?(s={},e?s[e]=t:s.milliseconds=t):(a=Jn.exec(t))?(i="-"===a[1]?-1:1,s={y:0,d:_(a[un])*i,h:_(a[pn])*i,m:_(a[cn])*i,s:_(a[mn])*i,ms:_(Ne(1e3*a[fn]))*i}):(a=$n.exec(t))?(i="-"===a[1]?-1:(a[1],1),s={y:Je(a[2],i),M:Je(a[3],i),w:Je(a[4],i),d:Je(a[5],i),h:Je(a[6],i),m:Je(a[7],i),s:Je(a[8],i)}):null==s?s={}:"object"==typeof s&&("from"in s||"to"in s)&&(n=Qe(ke(s.from),ke(s.to)),s={},s.ms=n.milliseconds,s.M=n.months),o=new Ie(s),Ae(t)&&d(t,"_locale")&&(o._locale=t._locale),o}function Je(t,e){var i=t&&parseFloat(t.replace(",","."));return(isNaN(i)?0:i)*e}function $e(t,e){var i={milliseconds:0,months:0};return i.months=e.month()-t.month()+12*(e.year()-t.year()),t.clone().add(i.months,"M").isAfter(e)&&--i.months,i.milliseconds=+e-+t.clone().add(i.months,"M"),i}function Qe(t,e){var i;return t.isValid()&&e.isValid()?(e=Fe(e,t),t.isBefore(e)?i=$e(t,e):(i=$e(e,t),i.milliseconds=-i.milliseconds,i.months=-i.months),i):{milliseconds:0,months:0}}function ti(t,e){return function(i,o){var n,s;return null===o||isNaN(+o)||(S(e,"moment()."+e+"(period, number) is deprecated. Please use moment()."+e+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),s=i,i=o,o=s),i="string"==typeof i?+i:i,n=Ke(i,o),ei(this,n,t),this}}function ei(t,i,o,n){var s=i._milliseconds,r=Ne(i._days),a=Ne(i._months);t.isValid()&&(n=null==n||n,a&&ct(t,ot(t,"Month")+a*o),r&&nt(t,"Date",ot(t,"Date")+r*o),s&&t._d.setTime(t._d.valueOf()+s*o),n&&e.updateOffset(t,r||a))}function ii(t,e){var i=t.diff(e,"days",!0);return i<-6?"sameElse":i<-1?"lastWeek":i<0?"lastDay":i<1?"sameDay":i<2?"nextDay":i<7?"nextWeek":"sameElse"}function oi(t,i){var o=t||ke(),n=Fe(o,this).startOf("day"),s=e.calendarFormat(this,n)||"sameElse",r=i&&(k(i[s])?i[s].call(this,o):i[s]);return this.format(r||this.localeData().calendar(s,this,ke(o)))}function ni(){return new v(this)}function si(t,e){var i=y(t)?t:ke(t);return!(!this.isValid()||!i.isValid())&&(e=L(s(e)?"millisecond":e),"millisecond"===e?this.valueOf()>i.valueOf():i.valueOf()9999?V(i,e?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"):k(Date.prototype.toISOString)?e?this.toDate().toISOString():new Date(this.valueOf()+60*this.utcOffset()*1e3).toISOString().replace("Z",V(i,"Z")):V(i,e?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ")}function fi(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var t="moment",e="";this.isLocal()||(t=0===this.utcOffset()?"moment.utc":"moment.parseZone",e="Z");var i="["+t+'("]',o=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",n=e+'[")]';return this.format(i+o+"-MM-DD[T]HH:mm:ss.SSS"+n)}function gi(t){t||(t=this.isUtc()?e.defaultFormatUtc:e.defaultFormat);var i=V(this,t);return this.localeData().postformat(i)}function vi(t,e){return this.isValid()&&(y(t)&&t.isValid()||ke(t).isValid())?Ke({to:this,from:t}).locale(this.locale()).humanize(!e):this.localeData().invalidDate()}function yi(t){return this.from(ke(),t)}function bi(t,e){return this.isValid()&&(y(t)&&t.isValid()||ke(t).isValid())?Ke({from:this,to:t}).locale(this.locale()).humanize(!e):this.localeData().invalidDate()}function _i(t){return this.to(ke(),t)}function wi(t){var e;return void 0===t?this._locale._abbr:(e=ie(t),null!=e&&(this._locale=e),this)}function xi(){return this._locale}function Di(t){switch(t=L(t)){case"year":this.month(0);case"quarter":case"month":this.date(1);case"week":case"isoWeek":case"day":case"date":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}function Si(t){return void 0===(t=L(t))||"millisecond"===t?this:("date"===t&&(t="day"),this.startOf(t).add(1,"isoWeek"===t?"week":t).subtract(1,"ms"))}function ki(){return this._d.valueOf()-6e4*(this._offset||0)}function Ti(){return Math.floor(this.valueOf()/1e3)}function Ci(){return new Date(this.valueOf())}function Mi(){var t=this;return[t.year(),t.month(),t.date(),t.hour(),t.minute(),t.second(),t.millisecond()]}function Oi(){var t=this;return{years:t.year(),months:t.month(),date:t.date(),hours:t.hours(),minutes:t.minutes(),seconds:t.seconds(),milliseconds:t.milliseconds()}}function Ei(){return this.isValid()?this.toISOString():null}function Pi(){return m(this)}function Ii(){return l({},c(this))}function Ai(){return c(this).overflow}function Ni(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}}function Ri(t,e){G(0,[t,t.length],0,e)}function Li(t){return ji.call(this,t,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)}function Fi(t){return ji.call(this,t,this.isoWeek(),this.isoWeekday(),1,4)}function Hi(){return St(this.year(),1,4)}function Yi(){var t=this.localeData()._week;return St(this.year(),t.dow,t.doy)}function ji(t,e,i,o,n){var s;return null==t?Dt(this,o,n).year:(s=St(t,o,n),e>s&&(e=s),Gi.call(this,t,e,i,o,n))}function Gi(t,e,i,o,n){var s=xt(t,e,i,o,n),r=_t(s.year,0,s.dayOfYear);return this.year(r.getUTCFullYear()),this.month(r.getUTCMonth()),this.date(r.getUTCDate()),this}function zi(t){return null==t?Math.ceil((this.month()+1)/3):this.month(3*(t-1)+this.month()%3)}function Wi(t){var e=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==t?e:this.add(t-e,"d")}function Vi(t,e){e[fn]=_(1e3*("0."+t))}function Bi(){return this._isUTC?"UTC":""}function Ui(){return this._isUTC?"Coordinated Universal Time":""}function qi(t){return ke(1e3*t)}function Xi(){return ke.apply(null,arguments).parseZone()}function Zi(t){return t}function Ki(t,e,i,o){var n=ie(),s=u().set(o,e);return n[i](s,t)}function Ji(t,e,i){if(r(t)&&(e=t,t=void 0),t=t||"",null!=e)return Ki(t,e,i,"month");var o,n=[];for(o=0;o<12;o++)n[o]=Ki(t,o,i,"month");return n}function $i(t,e,i,o){"boolean"==typeof t?(r(e)&&(i=e,e=void 0),e=e||""):(e=t,i=e,t=!1,r(e)&&(i=e,e=void 0),e=e||"");var n=ie(),s=t?n._week.dow:0;if(null!=i)return Ki(e,(i+s)%7,o,"day");var a,h=[];for(a=0;a<7;a++)h[a]=Ki(e,(a+s)%7,o,"day");return h}function Qi(t,e){return Ji(t,e,"months")}function to(t,e){return Ji(t,e,"monthsShort")}function eo(t,e,i){return $i(t,e,i,"weekdays")}function io(t,e,i){return $i(t,e,i,"weekdaysShort")}function oo(t,e,i){return $i(t,e,i,"weekdaysMin")}function no(){var t=this._data;return this._milliseconds=ds(this._milliseconds),this._days=ds(this._days),this._months=ds(this._months),t.milliseconds=ds(t.milliseconds),t.seconds=ds(t.seconds),t.minutes=ds(t.minutes),t.hours=ds(t.hours),t.months=ds(t.months),t.years=ds(t.years),this}function so(t,e,i,o){var n=Ke(e,i);return t._milliseconds+=o*n._milliseconds,t._days+=o*n._days,t._months+=o*n._months,t._bubble()}function ro(t,e){return so(this,t,e,1)}function ao(t,e){return so(this,t,e,-1)}function ho(t){return t<0?Math.floor(t):Math.ceil(t)}function lo(){var t,e,i,o,n,s=this._milliseconds,r=this._days,a=this._months,h=this._data;return s>=0&&r>=0&&a>=0||s<=0&&r<=0&&a<=0||(s+=864e5*ho(po(a)+r),r=0,a=0),h.milliseconds=s%1e3,t=b(s/1e3),h.seconds=t%60,e=b(t/60),h.minutes=e%60,i=b(e/60),h.hours=i%24,r+=b(i/24),n=b(uo(r)),a+=n,r-=ho(po(n)),o=b(a/12),a%=12,h.days=r,h.months=a,h.years=o,this}function uo(t){return 4800*t/146097}function po(t){return 146097*t/4800}function co(t){if(!this.isValid())return NaN;var e,i,o=this._milliseconds;if("month"===(t=L(t))||"year"===t)return e=this._days+o/864e5,i=this._months+uo(e),"month"===t?i:i/12;switch(e=this._days+Math.round(po(this._months)),t){case"week":return e/7+o/6048e5;case"day":return e+o/864e5;case"hour":return 24*e+o/36e5;case"minute":return 1440*e+o/6e4;case"second":return 86400*e+o/1e3;case"millisecond":return Math.floor(864e5*e)+o;default:throw new Error("Unknown unit "+t)}}function mo(){return this.isValid()?this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*_(this._months/12):NaN}function fo(t){return function(){return this.as(t)}}function go(){return Ke(this)}function vo(t){return t=L(t),this.isValid()?this[t+"s"]():NaN}function yo(t){return function(){return this.isValid()?this._data[t]:NaN}}function bo(){return b(this.days()/7)}function _o(t,e,i,o,n){return n.relativeTime(e||1,!!i,t,o)}function wo(t,e,i){var o=Ke(t).abs(),n=ks(o.as("s")),s=ks(o.as("m")),r=ks(o.as("h")),a=ks(o.as("d")),h=ks(o.as("M")),d=ks(o.as("y")),l=n<=Ts.ss&&["s",n]||n0,l[4]=i,_o.apply(null,l)}function xo(t){return void 0===t?ks:"function"==typeof t&&(ks=t,!0)}function Do(t,e){return void 0!==Ts[t]&&(void 0===e?Ts[t]:(Ts[t]=e,"s"===t&&(Ts.ss=e-1),!0))}function So(t){if(!this.isValid())return this.localeData().invalidDate();var e=this.localeData(),i=wo(this,!t,e);return t&&(i=e.pastFuture(+this,i)),e.postformat(i)}function ko(t){return(t>0)-(t<0)||+t}function To(){if(!this.isValid())return this.localeData().invalidDate();var t,e,i,o=Cs(this._milliseconds)/1e3,n=Cs(this._days),s=Cs(this._months);t=b(o/60),e=b(t/60),o%=60,t%=60,i=b(s/12),s%=12;var r=i,a=s,h=n,d=e,l=t,u=o?o.toFixed(3).replace(/\.?0+$/,""):"",p=this.asSeconds();if(!p)return"P0D";var c=p<0?"-":"",m=ko(this._months)!==ko(p)?"-":"",f=ko(this._days)!==ko(p)?"-":"",g=ko(this._milliseconds)!==ko(p)?"-":"";return c+"P"+(r?m+r+"Y":"")+(a?m+a+"M":"")+(h?f+h+"D":"")+(d||l||u?"T":"")+(d?g+d+"H":"")+(l?g+l+"M":"")+(u?g+u+"S":"")}var Co,Mo;Mo=Array.prototype.some?Array.prototype.some:function(t){for(var e=Object(this),i=e.length>>>0,o=0;o68?1900:2e3)};var yn,bn=it("FullYear",!0);yn=Array.prototype.indexOf?Array.prototype.indexOf:function(t){var e;for(e=0;ethis?this:t:f()}),Xn=function(){return Date.now?Date.now():+new Date},Zn=["year","quarter","month","week","day","hour","minute","second","millisecond"];Re("Z",":"),Re("ZZ",""),U("Z",nn),U("ZZ",nn),K(["Z","ZZ"],function(t,e,i){i._useUTC=!0,i._tzm=Le(nn,t)});var Kn=/([\+\-]|\d\d)/gi;e.updateOffset=function(){};var Jn=/^(\-|\+)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d*)?)?$/,$n=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;Ke.fn=Ie.prototype,Ke.invalid=Pe;var Qn=ti(1,"add"),ts=ti(-1,"subtract");e.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",e.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";var es=D("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(t){return void 0===t?this.localeData():this.locale(t)});G(0,["gg",2],0,function(){return this.weekYear()%100}),G(0,["GG",2],0,function(){return this.isoWeekYear()%100}),Ri("gggg","weekYear"),Ri("ggggg","weekYear"),Ri("GGGG","isoWeekYear"),Ri("GGGGG","isoWeekYear"),R("weekYear","gg"),R("isoWeekYear","GG"),H("weekYear",1),H("isoWeekYear",1),U("G",en),U("g",en),U("GG",Xo,Vo),U("gg",Xo,Vo),U("GGGG",$o,Uo),U("gggg",$o,Uo),U("GGGGG",Qo,qo),U("ggggg",Qo,qo),J(["gggg","ggggg","GGGG","GGGGG"],function(t,e,i,o){e[o.substr(0,2)]=_(t)}),J(["gg","GG"],function(t,i,o,n){i[n]=e.parseTwoDigitYear(t)}),G("Q",0,"Qo","quarter"),R("quarter","Q"),H("quarter",7),U("Q",Wo),K("Q",function(t,e){e[ln]=3*(_(t)-1)}),G("D",["DD",2],"Do","date"),R("date","D"),H("date",9),U("D",Xo),U("DD",Xo,Vo),U("Do",function(t,e){return t?e._dayOfMonthOrdinalParse||e._ordinalParse:e._dayOfMonthOrdinalParseLenient}),K(["D","DD"],un),K("Do",function(t,e){e[un]=_(t.match(Xo)[0])});var is=it("Date",!0);G("DDD",["DDDD",3],"DDDo","dayOfYear"),R("dayOfYear","DDD"),H("dayOfYear",4),U("DDD",Jo),U("DDDD",Bo),K(["DDD","DDDD"],function(t,e,i){i._dayOfYear=_(t)}),G("m",["mm",2],0,"minute"),R("minute","m"),H("minute",14),U("m",Xo),U("mm",Xo,Vo),K(["m","mm"],cn);var os=it("Minutes",!1);G("s",["ss",2],0,"second"),R("second","s"),H("second",15),U("s",Xo),U("ss",Xo,Vo),K(["s","ss"],mn);var ns=it("Seconds",!1);G("S",0,0,function(){return~~(this.millisecond()/100)}),G(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),G(0,["SSS",3],0,"millisecond"),G(0,["SSSS",4],0,function(){return 10*this.millisecond()}),G(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),G(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),G(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),G(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),G(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),R("millisecond","ms"),H("millisecond",16),U("S",Jo,Wo),U("SS",Jo,Vo),U("SSS",Jo,Bo);var ss;for(ss="SSSS";ss.length<=9;ss+="S")U(ss,tn);for(ss="S";ss.length<=9;ss+="S")K(ss,Vi);var rs=it("Milliseconds",!1);G("z",0,0,"zoneAbbr"),G("zz",0,0,"zoneName");var as=v.prototype;as.add=Qn,as.calendar=oi,as.clone=ni,as.diff=ui,as.endOf=Si,as.format=gi,as.from=vi,as.fromNow=yi,as.to=bi,as.toNow=_i,as.get=st,as.invalidAt=Ai,as.isAfter=si,as.isBefore=ri,as.isBetween=ai,as.isSame=hi,as.isSameOrAfter=di,as.isSameOrBefore=li,as.isValid=Pi,as.lang=es,as.locale=wi,as.localeData=xi,as.max=qn,as.min=Un,as.parsingFlags=Ii,as.set=rt,as.startOf=Di,as.subtract=ts,as.toArray=Mi,as.toObject=Oi,as.toDate=Ci,as.toISOString=mi,as.inspect=fi,as.toJSON=Ei,as.toString=ci,as.unix=Ti,as.valueOf=ki,as.creationData=Ni,as.year=bn,as.isLeapYear=et,as.weekYear=Li,as.isoWeekYear=Fi,as.quarter=as.quarters=zi,as.month=mt,as.daysInMonth=ft,as.week=as.weeks=Mt,as.isoWeek=as.isoWeeks=Ot,as.weeksInYear=Yi,as.isoWeeksInYear=Hi,as.date=is,as.day=as.days=Ft,as.weekday=Ht,as.isoWeekday=Yt,as.dayOfYear=Wi,as.hour=as.hours=Nn,as.minute=as.minutes=os,as.second=as.seconds=ns,as.millisecond=as.milliseconds=rs,as.utcOffset=Ye,as.utc=Ge,as.local=ze,as.parseZone=We,as.hasAlignedHourOffset=Ve,as.isDST=Be,as.isLocal=qe,as.isUtcOffset=Xe,as.isUtc=Ze,as.isUTC=Ze,as.zoneAbbr=Bi,as.zoneName=Ui,as.dates=D("dates accessor is deprecated. Use date instead.",is),as.months=D("months accessor is deprecated. Use month instead",mt),as.years=D("years accessor is deprecated. Use year instead",bn),as.zone=D("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",je),as.isDSTShifted=D("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",Ue);var hs=M.prototype;hs.calendar=O,hs.longDateFormat=E,hs.invalidDate=P,hs.ordinal=I,hs.preparse=Zi,hs.postformat=Zi,hs.relativeTime=A,hs.pastFuture=N,hs.set=T,hs.months=dt,hs.monthsShort=lt,hs.monthsParse=pt,hs.monthsRegex=vt,hs.monthsShortRegex=gt,hs.week=kt,hs.firstDayOfYear=Ct,hs.firstDayOfWeek=Tt,hs.weekdays=It,hs.weekdaysMin=Nt,hs.weekdaysShort=At,hs.weekdaysParse=Lt,hs.weekdaysRegex=jt,hs.weekdaysShortRegex=Gt,hs.weekdaysMinRegex=zt,hs.isPM=Xt,hs.meridiem=Zt,Qt("en",{dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(t){var e=t%10;return t+(1===_(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th")}}),e.lang=D("moment.lang is deprecated. Use moment.locale instead.",Qt),e.langData=D("moment.langData is deprecated. Use moment.localeData instead.",ie);var ds=Math.abs,ls=fo("ms"),us=fo("s"),ps=fo("m"),cs=fo("h"),ms=fo("d"),fs=fo("w"),gs=fo("M"),vs=fo("y"),ys=yo("milliseconds"),bs=yo("seconds"),_s=yo("minutes"),ws=yo("hours"),xs=yo("days"),Ds=yo("months"),Ss=yo("years"),ks=Math.round,Ts={ss:44,s:45,m:45,h:22,d:26,M:11},Cs=Math.abs,Ms=Ie.prototype;return Ms.isValid=Ee,Ms.abs=no,Ms.add=ro,Ms.subtract=ao,Ms.as=co,Ms.asMilliseconds=ls,Ms.asSeconds=us,Ms.asMinutes=ps,Ms.asHours=cs,Ms.asDays=ms,Ms.asWeeks=fs,Ms.asMonths=gs,Ms.asYears=vs,Ms.valueOf=mo,Ms._bubble=lo,Ms.clone=go,Ms.get=vo,Ms.milliseconds=ys,Ms.seconds=bs,Ms.minutes=_s,Ms.hours=ws,Ms.days=xs,Ms.weeks=bo,Ms.months=Ds,Ms.years=Ss,Ms.humanize=So,Ms.toISOString=To,Ms.toString=To,Ms.toJSON=To,Ms.locale=wi,Ms.localeData=xi,Ms.toIsoString=D("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",To),Ms.lang=es,G("X",0,0,"unix"),G("x",0,0,"valueOf"),U("x",en),U("X",sn),K("X",function(t,e,i){i._d=new Date(1e3*parseFloat(t,10))}),K("x",function(t,e,i){i._d=new Date(_(t))}),e.version="2.22.2",function(t){Co=t}(ke),e.fn=as,e.min=Ce,e.max=Me,e.now=Xn,e.utc=u,e.unix=qi,e.months=Qi,e.isDate=a,e.locale=Qt,e.invalid=f,e.duration=Ke,e.isMoment=y,e.weekdays=eo,e.parseZone=Xi,e.localeData=ie,e.isDuration=Ae,e.monthsShort=to,e.weekdaysMin=oo,e.defineLocale=te,e.updateLocale=ee,e.locales=oe,e.weekdaysShort=io,e.normalizeUnits=L,e.relativeTimeRounding=xo,e.relativeTimeThreshold=Do,e.calendarFormat=ii,e.prototype=as,e.HTML5_FMT={DATETIME_LOCAL:"YYYY-MM-DDTHH:mm",DATETIME_LOCAL_SECONDS:"YYYY-MM-DDTHH:mm:ss",DATETIME_LOCAL_MS:"YYYY-MM-DDTHH:mm:ss.SSS",DATE:"YYYY-MM-DD",TIME:"HH:mm",TIME_SECONDS:"HH:mm:ss",TIME_MS:"HH:mm:ss.SSS",WEEK:"YYYY-[W]WW",MONTH:"YYYY-MM"},e})}).call(e,i(124)(t))},function(t,e){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children||(t.children=[]),Object.defineProperty(t,"loaded",{enumerable:!0,get:function(){return t.l}}),Object.defineProperty(t,"id",{enumerable:!0,get:function(){return t.i}}),t.webpackPolyfill=1),t}},function(t,e){function i(t){throw new Error("Cannot find module '"+t+"'.")}i.keys=function(){return[]},i.resolve=i,t.exports=i,i.id=125},function(t,e,i){(function(e){function i(t,e,i){var o=e&&i||0,n=0;for(e=e||[],t.toLowerCase().replace(/[0-9a-f]{2}/g,function(t){n<16&&(e[o+n++]=u[t])});n<16;)e[o+n++]=0;return e}function o(t,e){var i=e||0,o=l;return o[t[i++]]+o[t[i++]]+o[t[i++]]+o[t[i++]]+"-"+o[t[i++]]+o[t[i++]]+"-"+o[t[i++]]+o[t[i++]]+"-"+o[t[i++]]+o[t[i++]]+"-"+o[t[i++]]+o[t[i++]]+o[t[i++]]+o[t[i++]]+o[t[i++]]+o[t[i++]]}function n(t,e,i){var n=e&&i||0,s=e||[];t=t||{};var r=void 0!==t.clockseq?t.clockseq:f,a=void 0!==t.msecs?t.msecs:(new Date).getTime(),h=void 0!==t.nsecs?t.nsecs:v+1,d=a-g+(h-v)/1e4;if(d<0&&void 0===t.clockseq&&(r=r+1&16383),(d<0||a>g)&&void 0===t.nsecs&&(h=0),h>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");g=a,v=h,f=r,a+=122192928e5;var l=(1e4*(268435455&a)+h)%4294967296;s[n++]=l>>>24&255,s[n++]=l>>>16&255,s[n++]=l>>>8&255,s[n++]=255&l;var u=a/4294967296*1e4&268435455;s[n++]=u>>>8&255,s[n++]=255&u,s[n++]=u>>>24&15|16,s[n++]=u>>>16&255,s[n++]=r>>>8|128,s[n++]=255&r;for(var p=t.node||m,c=0;c<6;c++)s[n+c]=p[c];return e||o(s)}function s(t,e,i){var n=e&&i||0;"string"==typeof t&&(e="binary"==t?new Array(16):null,t=null),t=t||{};var s=t.random||(t.rng||r)();if(s[6]=15&s[6]|64,s[8]=63&s[8]|128,e)for(var a=0;a<16;a++)e[n+a]=s[a];return e||o(s)}var r,a="undefined"!=typeof window?window:void 0!==e?e:null;if(a&&a.crypto&&crypto.getRandomValues){var h=new Uint8Array(16);r=function(){return crypto.getRandomValues(h),h}}if(!r){var d=new Array(16);r=function(){for(var t,e=0;e<16;e++)0==(3&e)&&(t=4294967296*Math.random()),d[e]=t>>>((3&e)<<3)&255;return d}}for(var l=[],u={},p=0;p<256;p++)l[p]=(p+256).toString(16).substr(1),u[l[p]]=p;var c=r(),m=[1|c[0],c[1],c[2],c[3],c[4],c[5]],f=16383&(c[6]<<8|c[7]),g=0,v=0,y=s;y.v1=n,y.v4=s,y.parse=i,y.unparse=o,t.exports=y}).call(e,i(127))},function(t,e){var i;i=function(){return this}();try{i=i||Function("return this")()||(0,eval)("this")}catch(t){"object"==typeof window&&(i=window)}t.exports=i},function(t,e,i){var o=i(2),n=o.JSON||(o.JSON={stringify:JSON.stringify});t.exports=function(t){return n.stringify.apply(n,arguments)}},function(t,e,i){function o(t,e,i,n){if(!(this instanceof o))throw new SyntaxError("Constructor must be called with the new operator");if(!(Array.isArray(i)||i instanceof d||i instanceof l)&&i instanceof Object){var s=n;n=i,i=s}n&&n.throttleRedraw&&console.warn('Timeline option "throttleRedraw" is DEPRICATED and no longer supported. It will be removed in the next MAJOR release.');var r=this;if(this.defaultOptions={start:null,end:null,autoResize:!0,orientation:{axis:"bottom",item:"bottom"},moment:a,width:null,height:null,maxHeight:null,minHeight:null},this.options=h.deepExtend({},this.defaultOptions),this._create(t),!n||n&&void 0===n.rtl){this.dom.root.style.visibility="hidden";for(var p,f=this.dom.root;!p&&f;)p=window.getComputedStyle(f,null).direction,f=f.parentElement;this.options.rtl=p&&"rtl"==p.toLowerCase()}else this.options.rtl=n.rtl;this.options.rollingMode=n&&n.rollingMode,this.options.onInitialDrawComplete=n&&n.onInitialDrawComplete,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 r.timeAxis.step.scale},getStep:function(){return r.timeAxis.step.step},toScreen:r._toScreen.bind(r),toGlobalScreen:r._toGlobalScreen.bind(r),toTime:r._toTime.bind(r),toGlobalTime:r._toGlobalTime.bind(r)}},this.range=new u(this.body,this.options),this.components.push(this.range),this.body.range=this.range,this.timeAxis=new c(this.body,this.options),this.timeAxis2=null,this.components.push(this.timeAxis),this.currentTime=new m(this.body,this.options),this.components.push(this.currentTime),this.itemSet=new g(this.body,this.options),this.components.push(this.itemSet),this.itemsData=null,this.groupsData=null,this.dom.root.onclick=function(t){r.emit("click",r.getEventProperties(t))},this.dom.root.ondblclick=function(t){r.emit("doubleClick",r.getEventProperties(t))},this.dom.root.oncontextmenu=function(t){r.emit("contextmenu",r.getEventProperties(t))},this.dom.root.onmouseover=function(t){r.emit("mouseOver",r.getEventProperties(t))},window.PointerEvent?(this.dom.root.onpointerdown=function(t){r.emit("mouseDown",r.getEventProperties(t))},this.dom.root.onpointermove=function(t){r.emit("mouseMove",r.getEventProperties(t))},this.dom.root.onpointerup=function(t){r.emit("mouseUp",r.getEventProperties(t))}):(this.dom.root.onmousemove=function(t){r.emit("mouseMove",r.getEventProperties(t))},this.dom.root.onmousedown=function(t){r.emit("mouseDown",r.getEventProperties(t))},this.dom.root.onmouseup=function(t){r.emit("mouseUp",r.getEventProperties(t))}),this.initialFitDone=!1,this.on("changed",function(){if(null!=this.itemsData&&!this.options.rollingMode){if(!r.initialFitDone)if(r.initialFitDone=!0,void 0!=r.options.start||void 0!=r.options.end){if(void 0==r.options.start||void 0==r.options.end)var t=r.getItemRange();var e=void 0!=r.options.start?r.options.start:t.min,i=void 0!=r.options.end?r.options.end:t.max;r.setWindow(e,i,{animation:!1})}else r.fit({animation:!1});!r.initialDrawDone&&r.initialRangeChangeDone&&(r.initialDrawDone=!0,r.dom.root.style.visibility="visible",r.options.onInitialDrawComplete&&setTimeout(function(){return r.options.onInitialDrawComplete()},0))}}),n&&this.setOptions(n),i&&this.setGroups(i),e&&this.setItems(e),this._redraw()}function n(t){return h.convert(t.data.start,"Date").valueOf()}function s(t){var e=void 0!=t.data.end?t.data.end:t.data.start;return h.convert(e,"Date").valueOf()}function r(t,e){var i=t.props.leftContainer.height,o=t.props.left.height,n=e.parent,s=n.top,r=!0,a=t.timeAxis.options.orientation.axis,h=function(){return"bottom"==a?n.height-e.top-e.height:e.top},d=-1*t._getScrollTop(),l=s+h(),u=e.height;return ld+i?s+=h()+u-i+t.itemSet.options.margin.item.vertical:r=!1,s=Math.min(s,o-i),{shouldScroll:r,scrollOffset:s,itemTop:l}}var a=i(3),h=i(0),d=i(15),l=i(21),u=i(47),p=i(48),c=i(29),m=i(50),f=i(30),g=i(70),v=i(33).printStyle,y=i(75).allOptions,b=i(75).configureOptions,_=i(76).default,w=i(33).default;o.prototype=new p,o.prototype._createConfigurator=function(){return new _(this,this.dom.container,b)},o.prototype.redraw=function(){this.itemSet&&this.itemSet.markDirty({refreshItems:!0}),this._redraw()},o.prototype.setOptions=function(t){if(!0===w.validate(t,y)&&console.log("%cErrors have been found in the supplied options object.",v),p.prototype.setOptions.call(this,t),"type"in t&&t.type!==this.options.type){this.options.type=t.type;var e=this.itemsData;if(e){var i=this.getSelection();this.setItems(null),this.setItems(e),this.setSelection(i)}}},o.prototype.setItems=function(t){var e;e=t?t instanceof d||t instanceof l?t:new d(t,{type:{start:"Date",end:"Date"}}):null,this.itemsData=e,this.itemSet&&this.itemSet.setItems(e)},o.prototype.setGroups=function(t){var e;if(t){var i=function(t){return!1!==t.visible};e=t instanceof d||t instanceof l?new l(t,{filter:i}):new d(t.filter(i))}else e=null;this.groupsData=e,this.itemSet.setGroups(e)},o.prototype.setData=function(t){t&&t.groups&&this.setGroups(t.groups),t&&t.items&&this.setItems(t.items)},o.prototype.setSelection=function(t,e){this.itemSet&&this.itemSet.setSelection(t),e&&e.focus&&this.focus(t,e)},o.prototype.getSelection=function(){return this.itemSet&&this.itemSet.getSelection()||[]},o.prototype.focus=function(t,e){if(this.itemsData&&void 0!=t){var i=Array.isArray(t)?t:[t],o=this.itemsData.getDataSet().get(i,{type:{start:"Date",end:"Date"}}),n=null,s=null;if(o.forEach(function(t){var e=t.start.valueOf(),i="end"in t?t.end.valueOf():t.start.valueOf();(null===n||es)&&(s=i)}),null!==n&&null!==s){var a=this,h=this.itemSet.items[i[0]],d=-1*this._getScrollTop(),l=null,u=function(t,e,i){var o=r(a,h);if(l||(l=o),l.itemTop!=o.itemTop||l.shouldScroll){l.itemTop!=o.itemTop&&o.shouldScroll&&(l=o,d=-1*a._getScrollTop());var n=d,s=l.scrollOffset,u=i?s:n+(s-n)*t;a._setScrollTop(-u),e||a._redraw()}},p=function(){var t=r(a,h);t.shouldScroll&&t.itemTop!=l.itemTop&&(a._setScrollTop(-t.scrollOffset),a._redraw())},c=function(){p(),setTimeout(p,100)},m=(n+s)/2,f=Math.max(this.range.end-this.range.start,1.1*(s-n)),g=!e||void 0===e.animation||e.animation;g||(l={shouldScroll:!1,scrollOffset:-1,itemTop:-1}),this.range.setRange(m-f/2,m+f/2,{animation:g},c,u)}}},o.prototype.fit=function(t,e){var i,o=!t||void 0===t.animation||t.animation,n=this.itemsData&&this.itemsData.getDataSet();1===n.length&&void 0===n.get()[0].end?(i=this.getDataRange(),this.moveTo(i.min.valueOf(),{animation:o},e)):(i=this.getItemRange(),this.range.setRange(i.min,i.max,{animation:o},e))},o.prototype.getItemRange=function(){var t=this.getDataRange(),e=null!==t.min?t.min.valueOf():null,i=null!==t.max?t.max.valueOf():null,o=null,r=null;if(null!=e&&null!=i){var a=i-e;a<=0&&(a=10);var d=a/this.props.center.width,l={},u=0;h.forEach(this.itemSet.items,function(t,e){if(t.groupShowing){l[e]=t.redraw(!0),u=l[e].length}});if(u>0)for(var p=0;pi&&(i=h,r=t)}.bind(this)),o&&r){var c=o.getWidthLeft()+10,m=r.getWidthRight()+10,f=this.props.center.width-c-m;f>0&&(this.options.rtl?(e=n(o)-m*a/f,i=s(r)+c*a/f):(e=n(o)-c*a/f,i=s(r)+m*a/f))}}return{min:null!=e?new Date(e):null,max:null!=i?new Date(i):null}},o.prototype.getDataRange=function(){var t=null,e=null,i=this.itemsData&&this.itemsData.getDataSet();return i&&i.forEach(function(i){var o=h.convert(i.start,"Date").valueOf(),n=h.convert(void 0!=i.end?i.end:i.start,"Date").valueOf();(null===t||oe)&&(e=n)}),{min:null!=t?new Date(t):null,max:null!=e?new Date(e):null}},o.prototype.getEventProperties=function(t){var e,i=t.center?t.center.x:t.clientX,o=t.center?t.center.y:t.clientY;e=this.options.rtl?h.getAbsoluteRight(this.dom.centerContainer)-i:i-h.getAbsoluteLeft(this.dom.centerContainer);var n=o-h.getAbsoluteTop(this.dom.centerContainer),s=this.itemSet.itemFromTarget(t),r=this.itemSet.groupFromTarget(t),a=f.customTimeFromTarget(t),d=this.itemSet.options.snap||null,l=this.body.util.getScale(),u=this.body.util.getStep(),p=this._toTime(e),c=d?d(p,l,u):p,m=h.getTarget(t),g=null;return null!=s?g="item":null!=a?g="custom-time":h.hasParent(m,this.timeAxis.dom.foreground)?g="axis":this.timeAxis2&&h.hasParent(m,this.timeAxis2.dom.foreground)?g="axis":h.hasParent(m,this.itemSet.dom.labelSet)?g="group-label":h.hasParent(m,this.currentTime.bar)?g="current-time":h.hasParent(m,this.dom.center)&&(g="background"),{event:t,item:s?s.id:null,group:r?r.groupId:null,what:g,pageX:t.srcEvent?t.srcEvent.pageX:t.pageX,pageY:t.srcEvent?t.srcEvent.pageY:t.pageY,x:e,y:n,time:p,snappedTime:c}},o.prototype.toggleRollingMode=function(){this.range.rolling?this.range.stopRolling():(void 0==this.options.rollingMode&&this.setOptions(this.options),this.range.startRolling())},t.exports=o},function(t,e,i){var o,n,s;!function(i){n=[],o=i,void 0!==(s="function"==typeof o?o.apply(e,n):o)&&(t.exports=s)}(function(){var t=null;return function e(i,o){function n(t){return t.match(/[^ ]+/g)}function s(e){if("hammer.input"!==e.type){if(e.srcEvent._handled||(e.srcEvent._handled={}),e.srcEvent._handled[e.type])return;e.srcEvent._handled[e.type]=!0}var i=!1;e.stopPropagation=function(){i=!0};var o=e.srcEvent.stopPropagation.bind(e.srcEvent);"function"==typeof o&&(e.srcEvent.stopPropagation=function(){o(),e.stopPropagation()}),e.firstTarget=t;for(var n=t;n&&!i;){var s=n.hammer;if(s)for(var r,a=0;a0?d._handlers[t]=o:(i.off(t,s),delete d._handlers[t]))}),d},d.emit=function(e,o){t=o.target,i.emit(e,o)},d.destroy=function(){var t=i.element.hammer,e=t.indexOf(d);-1!==e&&t.splice(e,1),t.length||delete i.element.hammer,d._handlers={},i.destroy()},d}})},function(t,e,i){var o;/*! Hammer.JS - v2.0.7 - 2016-04-22 * http://hammerjs.github.io/ * * Copyright (c) 2016 Jorik Tangelder; diff --git a/dist/vis.js b/dist/vis.js index 0426727d0..d130db1fd 100644 --- a/dist/vis.js +++ b/dist/vis.js @@ -5,7 +5,7 @@ * A dynamic, browser-based visualization library. * * @version 4.21.0 - * @date 2018-06-21 + * @date 2018-06-22 * * @license * Copyright (C) 2011-2017 Almende B.V, http://almende.com @@ -9500,6 +9500,8 @@ Core.prototype._create = function (container) { this.dom.rightContainer.appendChild(this.dom.shadowTopRight); this.dom.rightContainer.appendChild(this.dom.shadowBottomRight); + this.tmpData = {}; + // size properties of each of the panels this.props = { root: {}, @@ -10292,15 +10294,57 @@ Core.prototype._redraw = function () { dom.root.style.width = util.option.asSize(options.width, ''); // calculate border widths - props.border.left = (dom.centerContainer.offsetWidth - dom.centerContainer.clientWidth) / 2; - console.log('props.border.left: ' + props.border.left); + if (!this.tmpData || !this.tmpData.left) { + this.tmpData = { + left: (dom.centerContainer.offsetWidth - dom.centerContainer.clientWidth) / 2, + top: (dom.centerContainer.offsetHeight - dom.centerContainer.clientHeight) / 2, + height: dom.root.offsetHeight - dom.root.clientHeight, + width: dom.root.offsetWidth - dom.root.clientWidth + }; + } + + var tmp = { + left: (dom.centerContainer.offsetWidth - dom.centerContainer.clientWidth) / 2, + top: (dom.centerContainer.offsetHeight - dom.centerContainer.clientHeight) / 2, + height: dom.root.offsetHeight - dom.root.clientHeight, + width: dom.root.offsetWidth - dom.root.clientWidth + }; + + var difLeft = this.tmpData.left - tmp.left; + var difTop = this.tmpData.top - tmp.top; + var difHeight = this.tmpData.height - tmp.height; + var difWidth = this.tmpData.width - tmp.width; + + if (difLeft <= 3 || difLeft >= -3) { + props.border.left = this.tmpData.left; + } else { + props.border.left = tmp.left; + this.tmpData.left = tmp.left; + } + + if (difTop <= 3 || difTop >= -3) { + props.border.top = this.tmpData.top; + } else { + props.border.top = tmp.top; + this.tmpData.top = tmp.top; + } + + if (difHeight <= 3 || difHeight >= -3) { + props.borderRootHeight = this.tmpData.height; + } else { + props.borderRootHeight = tmp.height; + this.tmpData.height = tmp.height; + } + + if (difWidth <= 3 || difWidth >= -3) { + props.borderRootWidth = this.tmpData.width; + } else { + props.borderRootWidth = tmp.width; + this.tmpData.width = tmp.width; + } + props.border.right = props.border.left; - props.border.top = (dom.centerContainer.offsetHeight - dom.centerContainer.clientHeight) / 2; props.border.bottom = props.border.top; - console.log('props.border.top: ' + props.border.top); - props.borderRootHeight = dom.root.offsetHeight - dom.root.clientHeight; - props.borderRootWidth = dom.root.offsetWidth - dom.root.clientWidth; - console.log('props.borderRootHeight: ' + props.borderRootHeight); // workaround for a bug in IE: the clientWidth of an element with // a height:0px and overflow:hidden is not calculated and always has value 0 diff --git a/dist/vis.map b/dist/vis.map index be7283295..183fa10ee 100644 --- a/dist/vis.map +++ b/dist/vis.map @@ -1 +1 @@ -{"version":3,"sources":["C:\\precobs\\Development\\git\\visjs\\vis/dist/vis.js"],"names":["root","factory","exports","module","define","amd","self","this","modules","__webpack_require__","moduleId","installedModules","i","l","call","m","c","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","n","__esModule","object","property","prototype","hasOwnProperty","p","s","default","instance","Constructor","TypeError","_defineProperty","_defineProperty2","obj","defineProperties","target","props","length","descriptor","writable","key","protoProps","staticProps","_interopRequireDefault","copyOrDelete","a","b","prop","allowDeletion","doDeletion","undefined","_getIterator2","_getIterator3","_create","_create2","_keys","_keys2","_typeof2","_typeof3","moment","uuid","isNumber","Number","recursiveDOMDelete","DOMobject","hasChildNodes","firstChild","removeChild","giveRange","min","max","total","value","scale","Math","isString","String","isDate","Date","ASPDateRegex","exec","isNaN","parse","randomUUID","v4","assignAllKeys","fillIfDefined","arguments","extend","other","selectiveExtend","Array","isArray","Error","selectiveDeepExtend","constructor","deepExtend","selectiveNotDeepExtend","propsToExclude","indexOf","push","protoExtend","equalArray","len","convert","type","match","Boolean","valueOf","isMoment","toDate","getType","toISOString","format","copyAndExtendArray","arr","newValue","newArr","copyArray","getAbsoluteLeft","elem","getBoundingClientRect","left","getAbsoluteRight","right","getAbsoluteTop","top","addClassName","classNames","classes","className","split","newClasses","concat","filter","join","removeClassName","oldClasses","forEach","callback","toArray","array","updateProperty","throttle","fn","scheduled","requestAnimationFrame","addEventListener","element","action","listener","useCapture","navigator","userAgent","attachEvent","removeEventListener","detachEvent","preventDefault","event","window","returnValue","getTarget","srcElement","nodeType","parentNode","hasParent","parent","e","option","asBoolean","defaultValue","asNumber","asString","asSize","asElement","hexToRGB","hex","shorthandRegex","replace","r","g","result","parseInt","overrideOpacity","color","opacity","rgb","substr","RGBToHex","red","green","blue","toString","slice","parseColor","isValidRGB","map","isValidHex","hsv","hexToHSV","lighterColorHSV","h","v","darkerColorHSV","darkerColorHex","HSVToHex","lighterColorHex","background","border","highlight","hover","RGBToHSV","minRGB","maxRGB","cssUtil","cssText","styles","style","trim","parts","addCssText","currentStyles","newStyles","removeCssText","removeStyles","HSVToRGB","floor","f","q","t","test","isValidRGBA","rgba","selectiveBridgeObject","fields","referenceObject","objectTo","bridgeObject","Element","insertSort","compare","k","j","mergeOptions","mergeTarget","options","globalOptions","isPresent","isObject","srcOption","globalPassed","x","globalOption","globalEnabled","enabled","src","dst","binarySearchCustom","orderedItems","comparator","field","field2","iteration","low","high","middle","item","searchResult","binarySearchValue","sidePreference","prevValue","nextValue","easingFunctions","linear","easeInQuad","easeOutQuad","easeInOutQuad","easeInCubic","easeOutCubic","easeInOutCubic","easeInQuart","easeOutQuart","easeInOutQuart","easeInQuint","easeOutQuint","easeInOutQuint","getScrollBarWidth","inner","document","createElement","width","height","outer","position","visibility","overflow","appendChild","body","w1","offsetWidth","w2","clientWidth","topMost","pile","accessors","candidate","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_step","_iterator","next","done","member","err","ReferenceError","_setPrototypeOf","_setPrototypeOf2","subClass","superClass","__proto__","_iterator2","_symbol","_symbol2","_typeof","core","version","__e","hammerMock","noop","on","off","destroy","emit","set","propagating","Hammer","DataSet","data","_options","_data","_fieldId","fieldId","_type","_subscribers","add","setOptions","_stringify","_stringify2","util","Queue","queue","_queue","subscribers","_trigger","params","senderId","subscriber","id","addedIds","me","_addItem","items","update","updatedIds","oldData","updatedData","addOrUpdate","oldItem","_updateItem","console","warn","args","ids","firstType","returnType","itemIds","itemId","_getItem","order","_sort","_filterFields","resultant","getIds","getDataSet","mappedItems","filteredItem","itemFields","sort","av","bv","remove","removedIds","removedItems","_remove","ident","clear","maxField","itemField","minField","distinct","values","fieldType","count","exists","types","raw","converted","DataView","_ids","_onEvent","apply","setData","refresh","oldIds","newIds","viewOptions","getArguments","defaultFilter","dataSet","oldItems","updatedItems","subscribe","unsubscribe","store","uid","Symbol","USE_SYMBOL","prepareElements","JSONcontainer","elementType","redundant","used","cleanupElements","resetElements","getSVGElement","svgContainer","shift","createElementNS","getDOMElement","DOMContainer","insertBefore","drawPoint","y","groupTemplate","labelObj","point","setAttributeNS","size","label","xOffset","yOffset","content","textContent","drawBar","rect","printStyle","_classCallCheck2","_classCallCheck3","_createClass2","_createClass3","errorFound","allOptions","Validator","referenceOptions","subObject","usedOptions","path","check","__any__","getSuggestion","referenceOption","is_object","refOptionObj","__type__","checkFields","log","message","printLocation","optionType","refOptionType","print","_isAMomentObject","localSearch","findInOptions","globalSearch","msg","indexMatch","distance","closestMatch","recursive","closestMatchPath","lowerCaseOption","toLowerCase","op","levenshteinDistance","prefix","str","_j","_i","_j2","matrix","charAt","Component","redraw","_isResized","resized","_previousWidth","_previousHeight","global","ctx","hide","has","$export","source","own","out","IS_FORCED","F","IS_GLOBAL","G","IS_STATIC","S","IS_PROTO","P","IS_BIND","B","IS_WRAP","W","expProto","C","Function","virtual","R","U","__g","anObject","IE8_DOM_DEFINE","toPrimitive","dP","O","Attributes","it","NodeBase","labelModule","radius","margin","refreshNeeded","boundingBox","bottom","adjustSizes","angle","borderWidth","resize","abs","cos","sin","shadow","shadowColor","shadowBlur","shadowSize","shadowOffsetX","shadowX","shadowOffsetY","shadowY","borderDashes","setLineDash","dashes","shapeProperties","selected","differentState","view","lineWidth","strokeStyle","borderColor","fillStyle","save","enableBorderDashes","stroke","disableBorderDashes","restore","enableShadow","fill","disableShadow","performStroke","_updateBoundingBox","textSize","getTextSize","_getPrototypeOf","_getPrototypeOf2","_possibleConstructorReturn2","_possibleConstructorReturn3","_inherits2","_inherits3","_NodeBase2","_NodeBase3","ShapeBase","_NodeBase","needsRefresh","shape","sizeMultiplier","initContextForDraw","performFill","calculateLabelSize","yLabel","draw","updateBoundingBox","IObject","defined","createDesc","_isIterable2","_isIterable3","sliceIterator","_arr","_n","_d","_e","_s","$keys","enumBugKeys","keys","Point3d","z","subtract","sub","sum","avg","crossProduct","crossproduct","sqrt","__WEBPACK_AMD_DEFINE_FACTORY__","__WEBPACK_AMD_DEFINE_ARRAY__","__WEBPACK_AMD_DEFINE_RESULT__","keycharm","container","_exportFunctions","_bound","keydown","keyup","fromCharCode","code","down","handleEvent","up","keyCode","bound","shiftKey","bind","bindAll","getKey","unbind","newBindings","reset","convertHiddenOptions","hiddenDates","repeat","dateItem","start","end","updateHiddenDates","domProps","centerContainer","range","totalRange","pixelTime","startDate","endDate","duration","offset","runUntil","clone","day","dayOfYear","year","dayOffset","diff","date","month","removeDuplicates","startHidden","isHidden","endHidden","rangeStart","rangeEnd","hidden","startToFront","endToFront","_applyRange","safeDates","printDates","dates","stepOverHiddenDates","timeStep","previousTime","stepInHidden","currentValue","current","_end","switchedYear","switchedMonth","switchedDay","toScreen","Core","time","conversion","getHiddenDurationBetween","hiddenBeforeStart","getHiddenDurationBeforeStart","rangeAfterEnd","correctTimeForHidden","toTime","hiddenDuration","totalDuration","partialDuration","accumulatedHiddenDuration","getAccumulatedHiddenDuration","getHiddenDurationBefore","timeOffset","requiredDuration","previousPoint","snapAwayFromHidden","direction","correctionEnabled","onTouch","hammer","inputHandler","isFirst","onRelease","isFinal","offTouch","offRelease","disablePreventDefaultVertically","pinchRecognizer","getTouchAction","Item","dom","displayed","groupShowing","dirty","editable","_updateEditStatus","stack","select","unselect","group","itemSet","_moveToGroup","stackDirty","subgroup","changeSubgroup","setParent","show","isVisible","repositionX","repositionY","_repaintDragCenter","updateTime","dragCenter","dragCenterItem","emitter","stopPropagation","_onUpdateItem","box","dragLeft","_repaintDeleteButton","anchor","overrideItems","deleteButton","rtl","title","removeFromDataSet","_repaintOnItemUpdateTimeTooltip","tooltipOnItemUpdateTime","onItemUpdateTimeTooltip","touchParams","itemIsDragging","itemDistanceFromTop","scrollTop","orientation","templateFunction","template","innerHTML","_updateContents","itemVisibleFrameContent","visibleFrameTemplateFunction","itemData","itemsData","frameElement","itemVisibleFrameContentElement","getElementsByClassName","visibleFrameTemplate","_contentToString","_updateDataAttributes","dataAttributes","attributes","setAttribute","removeAttribute","_updateStyle","outerHTML","updateGroup","getWidthLeft","getWidthRight","getTitle","bitmap","px","random","propertyIsEnumerable","delay","Infinity","_timeout","_extended","_flushIfNeeded","flush","methods","original","method","context","entry","clearTimeout","setTimeout","Emitter","mixin","_callbacks","once","removeListener","removeAllListeners","callbacks","cb","splice","listeners","hasListeners","TimeAxis","foreground","lines","majorTexts","minorTexts","minimumStep","lineTop","defaultOptions","axis","showMinorLabels","showMajorLabels","maxMinorChars","TimeStep","FORMAT","timeAxis","DateUtil","locale","lang","parentChanged","_calculateCharSize","minorLabelHeight","minorCharHeight","majorLabelHeight","majorCharHeight","minorLineHeight","minorLineWidth","majorLineHeight","majorLineWidth","foregroundNextSibling","nextSibling","backgroundNextSibling","_repaintLabels","backgroundVertical","timeLabelsize","minorCharWidth","step","setMoment","setFormat","setScale","xNext","isMajor","showMinorGrid","prevWidth","line","labelMinor","xFirstMajorLabel","getCurrent","hasNext","getClassName","getLabelMinor","_repaintMinorText","_repaintMajorText","getLabelMajor","_repaintMajorLine","_repaintMinorLine","warnedForOverflow","leftTime","leftText","widthText","majorCharWidth","pop","text","createTextNode","childNodes","measureCharMinor","clientHeight","measureCharMajor","CustomTime","locales","customTime","eventParams","onMouseWheel","_onMouseWheel","bar","drag","_onDragStart","_onDrag","_onDragEnd","threshold","DIRECTION_HORIZONTAL","warned","toUpperCase","substring","setCustomTime","getCustomTime","setCustomTitle","dragging","deltaX","customTimeFromTarget","Label","ComponentUtil","Box","Circle","CircularImage","Database","Diamond","Dot","Ellipse","Icon","Image","Square","Hexagon","Star","Text","Triangle","TriangleDown","_require","Node","imagelist","grouplist","edges","baseSize","baseFontSize","font","predefinedPosition","edge","index","currentShape","checkMass","parseFloat","parseOptions","chooser","choosify","_load_images","updateLabelModule","updateShape","physics","image","imageObj","load","brokenImage","unselected","imageObjAlt","borderRadius","updateGroupOptions","currentGroup","distanceToBorder","fixed","scaling","customScalingFunction","sizeDiff","fontDiff","getFormattingValues","ret","visible","pointInRect","getSize","nodeId","labelId","parentOptions","newOptions","groupList","groupObj","parsedColor","mass","strId","subOption","allowed","chosen","chosenEdge","rotationPoint","tmp","Iterators","TO_STRING_TAG","DOMIterables","NAME","Collection","proto","val","dPs","IE_PROTO","Empty","createDict","iframeDocument","iframe","display","contentWindow","open","write","lt","close","create","Properties","ceil","shared","mode","copyright","def","TAG","tag","stat","$at","iterated","_t","LIBRARY","wksExt","$Symbol","getOwnPropertySymbols","Range","now","hours","minutes","seconds","milliseconds","millisecondsPerPixelCache","rolling","deltaDifference","scaleOffset","moveable","zoomable","zoomMin","zoomMax","rollingMode","follow","touch","animationTimer","_onTouch","_onPinch","rollingModeBtn","startRolling","validateDirection","setRange","stopRolling","interval","animation","center","currentTimeTimer","frameCallback","byUser","finalStart","finalEnd","_cancelAnimation","initStart","initEnd","easingName","easingFunction","initTime","anyChanged","ease","changed","timeoutID","getMillisecondsPerPixel","newStart","newEnd","getRange","totalHidden","previousDelta","_isInsideRange","allowDragging","cursor","delta","deltaY","diffRange","safeStart","safeEnd","wheelDelta","detail","zoomKey","pointerDate","pointer","getPointer","clientX","clientY","_pointerToDate","zoom","centerDate","hiddenDurationBefore","hiddenDurationAfter","move","moveTo","hammerUtil","Activator","isActive","wheelDeltaY","wheelDeltaX","HORIZONTAL_AXIS","verticalScroll","adjusted","_setScrollTop","_redraw","horizontalScroll","onMouseScrollSide","handleDragOver","itemAddedToTimeline","dataTransfer","dropEffect","handleDrop","JSON","getData","_onAddItem","_onDropObjectOnItem","getEventProperties","backgroundHorizontal","leftContainer","rightContainer","shadowTop","shadowBottom","shadowTopLeft","shadowBottomLeft","shadowTopRight","shadowBottomRight","scrollTopMin","initialDrawDone","initialRangeChangeDone","_origRedraw","properties","initialItemSetDrawn","enable","customTimes","redrawCount","timeAxis2","components","drawPoints","onRender","clickToUse","activator","_initAutoResize","component","configurator","_createConfigurator","configure","appliedOptions","setModuleOptions","active","setItems","setGroups","_stopAutoResize","setCustomTimeTitle","addCustomTime","timestamp","some","removeCustomTime","getVisibleItems","fit","getDataRange","setWindow","getWindow","zoomIn","percentage","newInterval","zoomOut","maxHeight","minHeight","offsetHeight","borderRootHeight","borderRootWidth","contentHeight","autoHeight","containerHeight","scrollbarWidth","_setDOM","_updateScrollTop","visibilityTop","visibilityBottom","RegExp","contentsOverflow","DIRECTION_ALL","centerWidth","repaint","setCurrentTime","currentTime","getCurrentTime","_toTime","_toGlobalTime","_toScreen","_toGlobalScreen","autoResize","_startAutoResize","_onResize","lastWidth","lastHeight","watchTimer","setInterval","clearInterval","initialScrollTop","oldScrollTop","_getScrollTop","newScrollTop","_start","autoScale","minorLabels","millisecond","second","minute","hour","weekday","week","majorLabels","defaultFormat","setMinimumStep","roundToMinor","prev","nextWeek","isSame","setAutoScale","stepYear","stepMonth","stepDay","stepHour","stepMinute","stepSecond","stepMillisecond","snap","round","even","today","_moment","currentWeek","currentMonth","CurrentTime","showCurrentTime","stop","Group","groupId","subgroups","subgroupStack","subgroupStackAll","doInnerStack","subgroupIndex","subgroupOrderer","subgroupOrder","nestedGroups","showNested","nestedInGroup","visibleItems","itemsInRange","byStart","byEnd","checkRangedItems","groupEditable","marker","collapsedDirClassName","paddingRight","paddingLeft","getLabelWidth","_didMarkerHeightChange","markerHeight","lastMarkerHeight","redrawQueue","redrawQueueLength","fns","_calculateGroupSizeAndPosition","offsetTop","offsetLeft","_redrawItems","forceRestack","lastIsVisible","visibleSubgroups","stackSubgroups","stackSubgroupsWithInnerStack","customOrderedItems","_updateItemsInRange","nostack","_didResize","labelWidth","labelHeight","_applyGroupHeight","_updateItemsVerticalPosition","ii","returnQueue","_updateSubGroupHeights","_isGroupVisible","_updateSubgroupsSizes","_calculateHeight","resetSubgroups","vertical","labelSet","_addToSubgroup","orderSubgroups","_checkIfVisible","subgroupId","itemEnd","initialEnd","sortArray","sortField","_removeFromSubgroup","itemIndex","removeItem","startArray","endArray","orderByStart","orderByEnd","oldVisibleItems","visibleItemsLookup","lowerBound","upperBound","searchFunction","_checkIfVisibleWithReference","initialPosByStart","_traceVisible","initialPosByEnd","initialPos","breakCondition","oldSubgroup","newSubgroup","BackgroundGroup","RangeItem","baseClassName","_createDomElement","frame","visibleFrame","_appendDomElement","_updateDirtyDomComponents","maxWidth","_getDomComponentsSizes","getComputedStyle","_updateDomComponentsSizes","sizes","_repaintDomAdditionals","_repaintDragLeft","_repaintDragRight","limitSize","contentStartPosition","contentWidth","parentWidth","align","boxWidth","itemsAlwaysDraggable","dragLeftItem","dragRight","dragRightItem","ColorPicker","Configurator","parentModule","defaultContainer","configureOptions","pixelRatio","changedOptions","allowCreation","initialized","popupCounter","showButton","moduleOptions","domElements","popupDiv","popupLimit","popupHistory","colorPicker","wrapper","_removePopup","_clean","_this","counter","_handleObject","_makeItem","_makeHeader","generateButton","onclick","_printOptions","onmouseover","onmouseout","optionsContainer","_push","_showPopupIfNeeded","base","_len","_key","div","objectLabel","selectedValue","onchange","_update","_makeLabel","popupString","popupValue","input","oninput","_setupPopup","string","_this2","html","hideTimeout","deleteTimeout","_this3","correspondingElement","checkbox","checked","_this4","defaultColor","backgroundColor","_showColorPicker","_this5","insertTo","setColor","setUpdateCallback","colorString","setCloseCallback","checkOnly","visibleInSet","subObj","newPath","_getValue","_handleArray","_makeTextInput","_makeCheckbox","solver","enabledPath","enabledValue","_label","error","_makeColorField","_makeDropdown","_makeRange","_constructOptions","optionsObj","getOptions","Points","getGroupTemplate","callbackResult","getCallback","framework","DOMutil","dataset","screen_x","screen_y","svgElements","svg","drawIcon","iconWidth","iconHeight","fillHeight","outline","CircleImageBase","labelOffset","setImages","selection_changed","imageTmp","useImageSize","ratio_width","ratio_height","circle","globalAlpha","factor","interpolation","drawImageAtPosition","labelDimensions","lineCount","CubicBezierEdge","BezierEdgeDynamic","BezierEdgeStatic","StraightEdge","Edge","fromId","toId","labelDirty","baseWidth","from","to","edgeType","connected","dataChanged","updateEdgeType","_setInteractionWidths","connect","toArrow","arrows","fromArrow","middleArrow","inheritsColor","inherit","toArrowScale","scaleFactor","toArrowType","middleArrowScale","middleArrowType","fromArrowScale","fromArrowType","arrowStrikethrough","selectedWidth","selectionWidth","hoverWidth","smooth","changeInType","cleanup","disconnect","nodes","attachEdge","detachEdge","widthDiff","viaNode","getViaNode","arrowData","fromPoint","toPoint","getArrowData","drawLine","drawArrows","drawLabel","drawArrowHead","node1","node2","pointToSelf","getPoint","_getRotation","translate","rotate","selfReferenceSize","_pointOnCircle","edgeId","isOverlappingWith","xFrom","yFrom","xTo","yTo","xObj","yObj","getDistanceToEdge","yLine","dy","dx","atan2","PI","copyFromGlobals","isValidLabel","fromColor","toColor","colorsDefined","_EdgeBase2","_EdgeBase3","BezierEdgeBase","_EdgeBase","nearNode","pos","distanceToPoint","difference","_getViaCoordinates","node","pow","x1","y1","x2","y2","x3","y3","via","minDistance","lastX","lastY","_getDistanceToLine","viaNode1","viaNode2","hasNode1","hasNode2","beginPath","bezierCurveTo","quadraticCurveTo","lineTo","NetworkUtil","allNodes","specificNodes","minY","maxY","minX","maxX","clonedOptions","amountOfConnections","cof","redefine","$iterCreate","setToStringTag","getPrototypeOf","ITERATOR","BUGGY","returnThis","Base","DEFAULT","IS_SET","FORCED","IteratorPrototype","getMethod","kind","DEF_VALUES","VALUES_BUG","$native","$default","$entries","$anyNative","entries","aFunction","that","is","toIObject","arrayIndexOf","names","toObject","ObjectProto","ARG","tryGet","T","callee","fails","KEY","exp","hiddenKeys","getOwnPropertyNames","pIE","gOPD","getOwnPropertyDescriptor","Point2d","Slider","play","MozBorderRadius","slide","onmousedown","_onMouseDown","togglePlay","onChangeCallback","playTimeout","playInterval","playLoop","getIndex","setIndex","playNext","setOnChangeCallback","setPlayInterval","getPlayInterval","setPlayLoop","doLoop","onChange","indexToLeft","setValues","which","button","startClientX","startSlideX","onmousemove","_onMouseMove","onmouseup","_onMouseUp","leftToIndex","StepNumber","prettyStep","precision","_current","isNumeric","isFinite","setStep","calculatePrettyStep","log10","LN10","step1","step2","step5","toPrecision","getStep","checkFirst","isEmpty","capitalize","prefixFieldName","fieldName","forceCopy","srcKey","dstKey","safeCopy","setDefaults","DEFAULTS","OPTIONKEYS","PREFIXEDOPTIONKEYS","setSpecialSettings","showGrayBottom","showTooltip","onclick_callback","eye","setBackgroundColor","setDataColor","dataColor","setStyle","setShowLegend","showLegend","setCameraPosition","cameraPosition","tooltip","tooltipStyle","isLegendGraphStyle","STYLE","DOTCOLOR","DOTSIZE","getStyleNumberByName","styleName","number","STYLENAME","checkStyleNumber","valid","styleNumber","strokeWidth","borderStyle","camPos","camera","Camera","setArmRotation","horizontal","setArmLength","BAR","BARCOLOR","BARSIZE","DOT","DOTLINE","GRID","LINE","SURFACE","dot","dot-line","dot-color","dot-size","grid","surface","bar-color","bar-size","armLocation","armRotation","armLength","cameraOffset","offsetMultiplier","cameraLocation","cameraRotation","calculateCameraOrientation","_sign","_sign2","setOffset","sign","mul","getOffset","setArmLocation","getArmRotation","rot","getArmLength","getCameraLocation","getCameraRotation","xa","za","Filter","dataGroup","column","graph","getDistinctValues","selectValue","dataPoints","loaded","onLoadCallback","animationPreload","loadInBackground","isLoaded","getLoadedProgress","getLabel","filterLabel","getColumn","getSelectedValue","getValues","getValue","_getDataPoints","dataView","setOnLoadCallback","progress","overlay","_onTapOverlay","onClick","_hasParent","deactivate","escListener","activate","ItemSet","groupOrderSwap","fromGroup","toGroup","groups","targetOrder","groupOrder","selectable","multiselect","onDropObjectOnItem","objectData","onAdd","onUpdate","onMove","onRemove","onMoving","onAddGroup","onMoveGroup","onRemoveGroup","showTooltips","followMouse","overflowMethod","itemOptions","groupsData","itemListeners","_onAdd","_onUpdate","_onRemove","groupListeners","_onAddGroups","groupData","updatedGroups","nestedGroupId","updatedNestedGroup","_onUpdateGroups","_onRemoveGroups","groupIds","selection","popup","groupTouchParams","BoxItem","PointItem","BackgroundItem","Popup","UNGROUPED","BACKGROUND","_updateUngrouped","backgroundGroup","_onSelectItem","_onMultiSelectItem","groupHammer","_onGroupClick","_onGroupDragStart","_onGroupDrag","_onGroupDragEnd","DIRECTION_VERTICAL","_onMouseOver","_onMouseOut","markDirty","refreshItems","setSelection","getSelection","rawVisibleItems","_deselect","_orderGroups","visibleInterval","zoomed","lastVisibleInterval","scrolled","lastRangeStart","changedStackOption","lastStack","changedStackSubgroupsOption","lastStackSubgroups","firstGroup","_firstGroup","firstMargin","nonFirstMargin","groupMargin","redrawResults","groupResized","firstGroupIndex","firstGroupId","ungrouped","_getGroupId","getLabelSet","oldItemsData","getItems","_order","getGroups","_getType","_removeItem","groupOptions","_orderNestedGroups","newGroupIdsOrder","nestedGroup","nestedGroupIds","_constructByEndArray","itemFromTarget","itemProps","_getGroupIndex","selectedItem","initialX","_cloneItemData","srcEvent","ctrlKey","metaKey","_onDragStartAddItem","baseGroupIndex","itemsToDrag","groupIndex","groupOffset","xAbs","getScale","groupFromTarget","newItem","updateGroupAllowed","newGroupBase","initialStart","initial","newOffset","oldGroup","nestingGroup","originalOrder","movingUp","targetGroupTop","draggedGroupHeight","targetGroup","draggedGroup","newOrder","origOrder","draggedId","numGroups","curPos","orgOffset","slippedPosition","switchGroup","shouldBeGroup","switchGroupId","oldSelection","newSelection","itemFromRelatedTarget","setText","setPosition","newItemData","itemGroup","lastSelectedGroup","multiselectPerGroup","_getItemRange","_item","itemFromElement","cur","relatedTarget","itemSetFromTarget","force","collidingItem","jj","collision","substack","subgroupHeight","baseTop","newTop","otherSubgroup","collisionByTimes","subgroupItems","doSubStack","widthInMs","getTime","previous","itemSetHeight","lineHeight","marginLeft","marginRight","itemSubgroup","padding","doShow","isLeft","isTop","bool","boolean","function","throttleRedraw","any","onInitialDrawComplete","null","groupsDraggable","LineGraph","yAxisOrientation","defaultGroup","sampling","graphHeight","shaded","barChart","sideBySide","parametrization","alpha","dataAxis","legend","abortedGraphUpdate","updateSVGheight","updateSVGheightOnResize","forceGraphUpdate","lastStart","groupsUsingDefaultStyles","DataAxis","GraphGroup","Legend","Bars","Lines","yAxisLeft","yAxisRight","legendLeft","legendRight","_removeGroup","_updateAllGroupData","removeGroup","_updateGroup","addGroup","groupsContent","idMap","groupCounts","existingItemsMap","existing_items","newLength","extended","orginalY","_updateGraph","rangePerPixelInv","_getSortedGroupIds","zIndex","az","bz","groupRanges","minDate","toGlobalTime","maxDate","_getRelevantData","_applySampling","_convertXcoordinates","_getYRanges","_updateYAxis","below","excludeFromStacking","_stack","_convertYcoordinates","paths","calcPath","subGroupId","drawShading","subData","subPrevPoint","subNextPoint","dateComparator","first","last","dataContainer","increment","amountOfPoints","xDistance","toGlobalScreen","pointsPerPixel","sampledData","idx","combinedDataLeft","combinedDataRight","getYRange","getStackedYRange","minVal","maxVal","yAxisLeftUsed","yAxisRightUsed","minLeft","minRight","maxLeft","maxRight","ignore","_toggleAxisVisiblity","drawIcons","master","masterAxis","lineOffset","tempGroups","axisUsed","datapoints","screen_end","svgHeight","convertValue","setZeroPosition","linegraphOptions","icons","majorLinesOffset","minorLinesOffset","labelOffsetX","labelOffsetY","alignZeros","linegraphSVG","DOMelements","labels","conversionFactor","minWidth","stepPixels","zeroCrossing","amountOfSteps","iconsRemoved","amountOfGroups","lineContainer","DataScale","graphOptions","_redrawGroupIcons","iconOffset","groupArray","getLegend","_cleanupIcons","activeGroups","_redrawLabels","_redrawTitle","customRange","autoScaleEnd","autoScaleStart","followScale","maxLabelSize","getLines","major","_redrawLabel","_redrawLine","titleWidth","titleCharHeight","screenToValue","characterHeight","textAlign","largestWidth","textMinor","textMajor","textTitle","measureCharTitle","titleCharWidth","zeroAlign","formattingFunction","majorSteps","minorSteps","customLines","minorStepIdx","magnitudefactor","determineScale","rounded","setCharHeight","setHeight","minimumStepValue","orderOfMagnitude","solutionFound","is_major","getFirstMajor","majorStep","formatValue","bottomOffset","oldStepIdx","oldStart","oldEnd","increaseMagnitude","decreaseMagnitude","otherZero","otherStep","newRange","myOriginalZero","majorOffset","zeroOffset","pixels","usingDefaultStyle","zeroPosition","icon","yMin","yMax","Bargraph","barWidth","originalWidth","bar1Height","bar2Height","processedGroupData","coreDistance","drawData","combinedData","intersections","barPoints","_getDataIntersections","heightOffset","_getSafeDrawData","nextKey","amount","resolved","accumulatedNegative","accumulatedPositive","dataWidth","pointData","groupLabel","_getStackedYRange","xpos","Line","_catmullRom","_linear","fillPath","pathArray","subPathArray","dFill","zero","serializePath","inverse","_catmullRomUniform","p0","p1","p2","p3","bp1","bp2","d1","d2","d3","A","N","M","d3powA","d2powA","d3pow2A","d2pow2A","d1pow2A","d1powA","side","iconSize","iconSpacing","excludeFromLegend","textArea","scrollableHeight","drawLegendIcons","paddingTop","parseDOT","parseGraph","nextPreview","isAlphaNumeric","regexAlphaNumeric","merge","setValue","addNode","graphs","attr","addEdge","createEdge","getToken","tokenType","TOKENTYPE","NULL","token","isComment","DELIMITER","c2","DELIMITERS","IDENTIFIER","newSyntaxError","UNKNOWN","SyntaxError","chop","strict","parseStatements","parseStatement","subgraph","parseSubgraph","parseEdge","parseAttributeStatement","parseNodeStatement","subgraphs","parseAttributeList","edgeStyles","dashed","solid","dotted","maxLength","forEach2","array1","array2","elem1","elem2","setProp","convertAttr","mapping","visProp","visPropI","DOTToGraph","dotData","graphData","dotNode","graphNode","NODE_ATTR_MAPPING","convertEdge","dotEdge","graphEdge","EDGE_ATTR_MAPPING","subEdge","fontsize","fontcolor","labelfontcolor","fontname","fillcolor","labeltooltip","{","}","[","]",";","=",",","->","--","parseGephi","gephiJSON","inheritColor","gEdges","gNodes","gEdge","gNode","_CachedImage","_CachedImage2","Images","images","imageBroken","url","brokenUrl","imageToLoadBrokenUrlOn","onerror","imageToRedrawWith","cachedImage","img","onload","_fixImageCoordinates","init","_redrawWithImage","_tryloadBrokenUrl","imageToCache","_slicedToArray2","_slicedToArray3","LabelSplitter","multiFontStyle","edgelabel","fontOptions","isEdgeLabel","elementOptions","initFontOptions","newFontOptions","parseFontString","vadjust","constrainWidth","maxWdt","minWdt","constrainHeight","minHgt","valign","widthConstraint","widthConstraintMaximum","widthConstraintMinimum","heightConstraint","heightConstraintMinimum","heightConstraintValign","propagateFonts","constrain","margins","widthBias","heightBias","dstPile","srcPile","addFontToPile","tmpShorthand","opt","multiName","multiFont","optionNames","mod","getFontOption","fontPile","addFontOptionsToPile","getBasicOptions","modOptions","tmpMultiFontOptions","getFontOptions","baseline","viewFontSize","drawThreshold","maxVisible","_drawBackground","_drawText","fillRect","_setAlignment2","_setAlignment","_setAlignment3","blocks","block","_getColor2","_getColor","strokeColor","_getColor3","fontColor","lineJoin","strokeText","fillText","textBaseline","initialStrokeColor","_processLabel","face","labelHighlightBold","fontString","selectedState","hoverState","inText","process","state","_processLabelText","outOptions","inOptions","newOptionsArray","EndPoints","EdgeBase","colorDirty","getColor","_drawDashedLine","_drawLine","_line","_getCircleData2","_getCircleData","_getCircleData3","_circle","lineCap","pattern","lineDashOffset","_getCircleData4","_getCircleData5","dashedLine","_getCircleData6","_getCircleData7","_x","_y","_radius","_findBorderPosition","_findBorderPositionCircle","_getCircleData$slice","_getCircleData$slice2","grd","createLinearGradient","addColorStop","arc","_getDistanceToEdge","_getCircleData8","_getCircleData9","py","something","u","arrowPoint","guideOffset","findBorderPosition","guidePos","_getCircleData10","_getCircleData11","EndPoint","points","xt","yt","closePath","Arrow","_EndPoint","transform","drawPath","Bar","BarnesHutSolver","physicsBody","barnesHutTree","randomSeed","thetaInversed","theta","overlapAvoidanceFactor","avoidOverlap","gravitationalConstant","physicsNodeIndices","nodeIndices","nodeCount","_formBarnesHutTree","_getForceContributions","parentBranch","_getForceContribution","children","NW","NE","SW","SE","childrenCount","centerOfMass","calcSize","_calculateForces","gravityForce","fx","fy","forces","_node","rootSize","halfRootSize","centerX","centerY","level","_splitBranch","_placeInTree","totalMass","totalMassInv","biggestSize","skipMassUpdate","_updateBranchMass","region","_placeInRegion","seededRandom","containedNode","_insertRegion","childSize","_drawBranch","branch","CentralGravitySolver","centralGravity","endPoints","multi","bold","boldital","ital","mono","roundness","forceDirection","maximum","useDefaultGroups","interaction","dragNodes","dragView","hideEdgesOnDrag","hideNodesOnDrag","keyboard","speed","bindToWindow","navigationButtons","selectConnectedEdges","hoverConnectedEdges","tooltipDelay","zoomView","layout","improvedLayout","hierarchical","levelSeparation","nodeSpacing","treeSpacing","blockShifting","edgeMinimization","parentCentralization","sortMethod","manipulation","initiallyActive","editNode","editEdge","editWithoutDrag","deleteNode","deleteEdge","controlNodeStyle","borderWidthSelected","minimum","useBorderWithImage","barnesHut","springLength","springConstant","damping","forceAtlas2Based","repulsion","nodeDistance","hierarchicalRepulsion","maxVelocity","minVelocity","stabilization","iterations","updateInterval","onlyDynamicEdges","timestep","adaptiveTimestep","addToUnscopables","_k","Arguments","getKeys","toLength","toAbsoluteIndex","IS_INCLUDES","$this","el","fromIndex","toInteger","documentElement","TO_STRING","charCodeAt","getIterator","iterFn","classof","getIteratorMethod","$Object","D","DESCRIPTORS","META","$fails","wks","wksDefine","enumKeys","gOPNExt","$GOPD","$DP","gOPN","$JSON","stringify","HIDDEN","TO_PRIMITIVE","isEnum","SymbolRegistry","AllSymbols","OPSymbols","USE_NATIVE","QObject","setter","findChild","setSymbolDesc","protoDesc","wrap","sym","isSymbol","iterator","$defineProperty","$defineProperties","$create","$propertyIsEnumerable","E","$getOwnPropertyDescriptor","$getOwnPropertyNames","$getOwnPropertySymbols","IS_OP","$set","es6Symbols","wellKnownSymbols","for","keyFor","useSetter","useSimple","replacer","$replacer","setDesc","isExtensible","FREEZE","preventExtensions","setMeta","w","fastKey","getWeak","onFreeze","meta","NEED","gOPS","getSymbols","symbols","arg","windowNames","getWindowNames","hooks","hookCallback","isObjectEmpty","isUndefined","res","hasOwnProp","createUTC","createLocalOrUTC","utc","defaultParsingFlags","empty","unusedTokens","unusedInput","charsLeftOver","nullInput","invalidMonth","invalidFormat","userInvalidated","iso","parsedDateParts","meridiem","rfc2822","weekdayMismatch","getParsingFlags","_pf","isValid","_isValid","flags","parsedParts","isNowValid","invalidWeekday","_strict","bigHour","isFrozen","createInvalid","NaN","copyConfig","_f","_l","_tzm","_isUTC","_offset","_locale","momentProperties","Moment","config","updateInProgress","updateOffset","absFloor","toInt","argumentForCoercion","coercedNumber","compareArrays","dontConvert","lengthDiff","diffs","suppressDeprecationWarnings","deprecate","firstTime","deprecationHandler","deprecateSimple","deprecations","isFunction","_config","_dayOfMonthOrdinalParseLenient","_dayOfMonthOrdinalParse","_ordinalParse","mergeConfigs","parentConfig","childConfig","Locale","calendar","mom","output","_calendar","longDateFormat","_longDateFormat","formatUpper","invalidDate","_invalidDate","ordinal","_ordinal","relativeTime","withoutSuffix","isFuture","_relativeTime","pastFuture","addUnitAlias","unit","shorthand","lowerCase","aliases","normalizeUnits","units","normalizeObjectUnits","inputObject","normalizedProp","normalizedInput","addUnitPriority","priority","priorities","getPrioritizedUnits","unitsObj","zeroFill","targetLength","forceSign","absNumber","zerosToFill","addFormatToken","padded","func","formatTokenFunctions","localeData","removeFormattingTokens","makeFormatFunction","formattingTokens","formatMoment","expandFormat","formatFunctions","replaceLongDateFormatTokens","localFormattingTokens","lastIndex","addRegexToken","regex","strictRegex","regexes","isStrict","getParseRegexForToken","unescapeFormat","regexEscape","matched","p4","addParseToken","tokens","addWeekParseToken","_w","addTimeToArrayFromToken","_a","daysInYear","isLeapYear","getIsLeapYear","makeGetSet","keepTime","set$1","daysInMonth","stringGet","stringSet","prioritized","modMonth","localeMonths","_months","isFormat","MONTHS_IN_FORMAT","localeMonthsShort","_monthsShort","handleStrictParse","monthName","llc","toLocaleLowerCase","_monthsParse","_longMonthsParse","_shortMonthsParse","monthsShort","months","localeMonthsParse","_monthsParseExact","setMonth","dayOfMonth","monthsParse","getSetMonth","getDaysInMonth","monthsShortRegex","computeMonthsParse","_monthsShortStrictRegex","_monthsShortRegex","defaultMonthsShortRegex","monthsRegex","_monthsStrictRegex","_monthsRegex","defaultMonthsRegex","cmpLenRev","shortPieces","longPieces","mixedPieces","createDate","ms","getFullYear","setFullYear","createUTCDate","UTC","getUTCFullYear","setUTCFullYear","firstWeekOffset","dow","doy","fwd","getUTCDay","dayOfYearFromWeeks","resYear","resDayOfYear","localWeekday","weekOffset","weekOfYear","resWeek","weeksInYear","weekOffsetNext","localeWeek","_week","localeFirstDayOfWeek","localeFirstDayOfYear","getSetWeek","getSetISOWeek","parseWeekday","weekdaysParse","parseIsoWeekday","localeWeekdays","_weekdays","localeWeekdaysShort","_weekdaysShort","localeWeekdaysMin","_weekdaysMin","handleStrictParse$1","weekdayName","_weekdaysParse","_shortWeekdaysParse","_minWeekdaysParse","weekdaysMin","weekdaysShort","weekdays","localeWeekdaysParse","_weekdaysParseExact","_fullWeekdaysParse","getSetDayOfWeek","getDay","getSetLocaleDayOfWeek","getSetISODayOfWeek","weekdaysRegex","computeWeekdaysParse","_weekdaysStrictRegex","_weekdaysRegex","defaultWeekdaysRegex","weekdaysShortRegex","_weekdaysShortStrictRegex","_weekdaysShortRegex","defaultWeekdaysShortRegex","weekdaysMinRegex","_weekdaysMinStrictRegex","_weekdaysMinRegex","defaultWeekdaysMinRegex","minp","shortp","longp","minPieces","hFormat","kFormat","lowercase","matchMeridiem","_meridiemParse","localeIsPM","localeMeridiem","isLower","normalizeLocale","chooseLocale","loadLocale","globalLocale","oldLocale","_abbr","getSetGlobalLocale","getLocale","defineLocale","baseConfig","abbr","parentLocale","localeFamilies","updateLocale","tmpLocale","listLocales","checkOverflow","MONTH","DATE","YEAR","HOUR","MINUTE","SECOND","MILLISECOND","_overflowDayOfYear","_overflowWeeks","WEEK","_overflowWeekday","WEEKDAY","defaults","currentDateArray","nowValue","_useUTC","getUTCMonth","getUTCDate","getMonth","getDate","configFromArray","currentDate","expectedWeekday","yearToUse","dayOfYearFromWeekInfo","_dayOfYear","_nextDay","setUTCMinutes","getUTCMinutes","weekYear","temp","weekdayOverflow","GG","createLocal","curWeek","gg","configFromISO","allowTime","dateFormat","timeFormat","tzFormat","extendedIsoRegex","basicIsoRegex","isoDates","isoTimes","tzRegex","configFromStringAndFormat","extractFromRFC2822Strings","yearStr","monthStr","dayStr","hourStr","minuteStr","secondStr","untruncateYear","defaultLocaleMonthsShort","preprocessRFC2822","checkWeekday","weekdayStr","parsedInput","defaultLocaleWeekdaysShort","calculateOffset","obsOffset","militaryOffset","numOffset","obsOffsets","hm","configFromRFC2822","parsedArray","configFromString","aspNetJsonRegex","createFromInputFallback","ISO_8601","RFC_2822","skipped","stringLength","totalParsedInputLength","_meridiem","meridiemFixWrap","isPm","meridiemHour","isPM","configFromStringAndArray","tempConfig","bestMoment","scoreToBeat","currentScore","score","configFromObject","createFromConfig","prepareConfig","preparse","configFromInput","isUTC","pickBy","moments","isDurationValid","ordering","unitHasDecimal","isValid$1","createInvalid$1","createDuration","Duration","years","quarters","quarter","weeks","days","_milliseconds","_days","_bubble","isDuration","absRound","separator","utcOffset","offsetFromString","matcher","matches","chunk","chunkOffset","cloneWithOffset","model","setTime","local","getDateOffset","getTimezoneOffset","getSetOffset","keepLocalTime","keepMinutes","localAdjust","matchShortOffset","_changeInProgress","addSubtract","getSetZone","setOffsetToUTC","setOffsetToLocal","setOffsetToParsedOffset","tZone","matchOffset","hasAlignedHourOffset","isDaylightSavingTime","isDaylightSavingTimeShifted","_isDSTShifted","isLocal","isUtcOffset","isUtc","diffRes","aspNetRegex","isoRegex","parseIso","momentsDifference","inp","positiveMomentsDifference","isAfter","isBefore","createAdder","period","dur","isAdding","getCalendarFormat","myMoment","calendar$1","formats","sod","startOf","calendarFormat","localInput","endOf","isBetween","inclusivity","inputMs","isSameOrAfter","isSameOrBefore","asFloat","zoneDelta","monthDiff","anchor2","adjust","wholeMonthDiff","keepOffset","inspect","zone","suffix","inputString","defaultFormatUtc","postformat","humanize","fromNow","toNow","newLocaleData","isoWeekday","unix","toJSON","isValid$2","parsingFlags","invalidAt","creationData","addWeekYearFormatToken","getSetWeekYear","getSetWeekYearHelper","getSetISOWeekYear","isoWeek","getISOWeeksInYear","getWeeksInYear","weekInfo","weeksTarget","setWeekAll","dayOfYearData","getSetQuarter","getSetDayOfYear","parseMs","getZoneAbbr","getZoneName","createUnix","createInZone","parseZone","preParsePostFormat","get$1","listMonthsImpl","listWeekdaysImpl","localeSorted","listMonths","listMonthsShort","listWeekdays","listWeekdaysShort","listWeekdaysMin","mathAbs","addSubtract$1","add$1","subtract$1","absCeil","bubble","monthsFromDays","monthsToDays","daysToMonths","as","valueOf$1","makeAs","alias","clone$1","get$2","makeGetter","substituteTimeAgo","relativeTime$1","posNegDuration","thresholds","ss","getSetRelativeTimeRounding","roundingFunction","getSetRelativeTimeThreshold","limit","withSuffix","toISOString$1","abs$1","Y","toFixed","asSeconds","totalSign","ymSign","daysSign","hmsSign","fun","defaultCalendar","sameDay","nextDay","lastDay","lastWeek","sameElse","defaultLongDateFormat","LTS","LT","L","LL","LLL","LLLL","defaultDayOfMonthOrdinalParse","defaultRelativeTime","future","past","mm","hh","dd","MM","yy","match1","match2","match3","match4","match6","match1to2","match3to4","match5to6","match1to3","match1to4","match1to6","matchUnsigned","matchSigned","matchTimestamp","matchWord","parseTwoDigitYear","getSetYear","defaultLocaleMonths","defaultLocaleWeek","defaultLocaleWeekdays","defaultLocaleWeekdaysMin","kInput","_isPm","pos1","pos2","defaultLocaleMeridiemParse","getSetHour","dayOfMonthOrdinalParse","meridiemParse","UT","GMT","EDT","EST","CDT","CST","MDT","MST","PDT","PST","prototypeMin","prototypeMax","invalid","isoWeekYear","getSetDayOfMonth","getSetMinute","getSetSecond","getSetMillisecond","isoWeeks","isoWeeksInYear","isDST","zoneAbbr","zoneName","isDSTShifted","proto$1","firstDayOfYear","firstDayOfWeek","langData","asMilliseconds","asMinutes","asHours","asDays","asWeeks","asMonths","asYears","proto$2","toIsoString","relativeTimeRounding","relativeTimeThreshold","HTML5_FMT","DATETIME_LOCAL","DATETIME_LOCAL_SECONDS","DATETIME_LOCAL_MS","TIME","TIME_SECONDS","TIME_MS","webpackPolyfill","webpackEmptyContext","req","resolve","buf","oct","_hexToByte","unparse","bth","_byteToHex","v1","clockseq","_clockseq","msecs","nsecs","_lastNSecs","dt","_lastMSecs","tl","tmh","_nodeId","rnds","rng","_rng","globalVar","crypto","getRandomValues","_rnds8","Uint8Array","_rnds","_seedBytes","eval","Graph3d","graph3d","containerElement","DataGroup","Settings","colX","colY","colZ","colValue","getMouseX","targetTouches","getMouseY","_assign","_assign2","_require2","legendLabel","xLabel","zLabel","xValueLabel","yValueLabel","zValueLabel","showXAxis","showYAxis","showZAxis","showGrid","showPerspective","showShadow","keepAspectRatio","verticalRatio","dotSizeRatio","dotSizeMinFraction","dotSizeMaxFraction","showAnimationControls","animationInterval","animationAutoStart","axisColor","gridColor","xCenter","yCenter","boxShadow","borderLeft","xBarWidth","yBarWidth","valueMin","valueMax","xMin","xMax","xStep","yStep","zMin","zMax","zStep","_setScale","xRange","yRange","zRange","valueRange","zCenter","_convert3Dto2D","point3d","translation","_convertPointToTranslation","_convertTranslationToScreen","ax","ay","cx","cy","cz","sinTx","cosTx","sinTy","cosTy","sinTz","cosTz","bx","by","ex","ey","ez","dz","currentXCenter","canvas","currentYCenter","_calcTranslations","trans","screen","transBottom","dist","sortDepth","_initializeRanges","dg","getDataPoints","dataX","dataY","dataMatrix","xIndex","yIndex","pointRight","pointTop","pointCross","_checkValueField","pointNext","noCanvas","fontWeight","ontouchstart","_onTouchStart","onmousewheel","_onWheel","ontooltip","_onTooltip","_onClick","_setSize","_resizeCanvas","animationStart","dataFilter","slider","animationStop","_resizeCenter","getCameraPosition","_readData","initializeData","_redrawFilter","validate","setPointDrawingMethod","getDataTable","_redrawBarGraphPoint","_redrawBarColorGraphPoint","_redrawBarSizeGraphPoint","_redrawDotGraphPoint","_redrawDotLineGraphPoint","_redrawDotColorGraphPoint","_redrawDotSizeGraphPoint","_redrawSurfaceGraphPoint","_redrawGridGraphPoint","_redrawLineGraphPoint","_pointDrawingMethod","_redrawSlider","_redrawClear","_redrawAxis","_redrawDataGraph","_redrawInfo","_redrawLegend","_getContext","getContext","clearRect","_dotSize","_getLegendWidth","isSizeLegend","isValueLegend","ymax","hue","_hsv2rgb","strokeRect","widthMin","legendMin","legendMax","info","getInfo","lineStyle","drawAxisLabelX","armAngle","yMargin","point2d","drawAxisLabelY","drawAxisLabelZ","_line3d","from2d","to2d","xText","yText","zText","gridLenX","gridLenY","textMargin","armVector","defaultXStep","defaultYStep","_msg","defaultZStep","from3d","_msg2","xMin2d","xMax2d","H","V","Hi","X","_getStrokeWidth","_redrawBar","xWidth","yWidth","surfaces","corners","transCenter","_polygon","_drawCircle","_calcRadius","_getColorsRegular","_getColorsColor","_getColorsSize","colors","fraction","dotSize","sizeMin","sizeRange","cross","topSideVisible","aDiff","bDiff","zAvg","_drawGridLine","_storeMousePosition","startMouseX","startMouseY","_startCameraOffset","leftButtonDown","touchDown","startStart","startEnd","startArmRotation","moving","diffX","diffY","scaleX","scaleY","offXNew","offYNew","horizontalNew","verticalNew","snapValue","parameters","boundingRect","mouseX","mouseY","dataPoint","_dataPointFromXY","tooltipTimeout","_hideTooltip","_showTooltip","ontouchmove","_onTouchMove","ontouchend","_onTouchEnd","oldLength","_insideTriangle","triangle","bs","cs","closestDataPoint","closestDist","triangle1","triangle2","distX","distY","hasBars","dotWidth","dotHeight","setSize","assign","$assign","K","aLen","desc","colorOptions","dataTable","rawData","_onChange","withBars","defaultXBarWidth","getSmallestDifference","defaultYBarWidth","_initializeRange","getColumnRange","_setRangeDefaults","defaultValueMin","defaultValueMax","_collectRangeSettings","upper","range_label","step_label","settings","expand","smallest_diff","getNumberOfRows","defaultMin","defaultMax","initDataAsMatrix","reload","combine","newMin","newMax","_firstTarget","events","propagatedHandler","_handled","stopped","srcStop","firstTarget","elemHammer","_handlers","Manager","PropagatingHammer","pointerType","handler","eventType","hammers","exportName","setTimeoutContext","timeout","bindFn","invokeArrayArg","each","deprecationMessage","child","childP","baseP","_super","boolOrFn","TYPE_FUNCTION","ifUndefined","val1","val2","addEventListeners","splitStr","removeEventListeners","inStr","find","inArray","findByKey","uniqueArray","results","prefixed","camelProp","VENDOR_PREFIXES","uniqueId","_uniqueId","getWindowForElement","doc","ownerDocument","defaultView","parentWindow","Input","manager","inputTarget","domHandler","ev","createInputInstance","inputClass","SUPPORT_POINTER_EVENTS","PointerEventInput","SUPPORT_ONLY_TOUCH","TouchInput","SUPPORT_TOUCH","TouchMouseInput","MouseInput","pointersLen","pointers","changedPointersLen","changedPointers","INPUT_START","INPUT_END","INPUT_CANCEL","session","computeInputData","recognize","prevInput","pointersLength","firstInput","simpleCloneInputData","firstMultiple","offsetCenter","getCenter","timeStamp","deltaTime","getAngle","getDistance","computeDeltaXY","offsetDirection","getDirection","overallVelocity","getVelocity","overallVelocityX","overallVelocityY","rotation","getRotation","maxPointers","computeIntervalInputData","offsetDelta","prevDelta","velocity","velocityX","velocityY","lastInterval","COMPUTE_INTERVAL","DIRECTION_NONE","DIRECTION_LEFT","DIRECTION_RIGHT","DIRECTION_UP","DIRECTION_DOWN","PROPS_XY","PROPS_CLIENT_XY","evEl","MOUSE_ELEMENT_EVENTS","evWin","MOUSE_WINDOW_EVENTS","pressed","POINTER_ELEMENT_EVENTS","POINTER_WINDOW_EVENTS","pointerEvents","SingleTouchInput","evTarget","SINGLE_TOUCH_TARGET_EVENTS","SINGLE_TOUCH_WINDOW_EVENTS","started","normalizeSingleTouches","all","touches","changedTouches","TOUCH_TARGET_EVENTS","targetIds","getTouches","allTouches","INPUT_MOVE","identifier","changedTargetTouches","mouse","primaryTouch","lastTouches","recordTouches","eventData","setLastTouch","lastTouch","lts","removeLastTouch","DEDUP_TIMEOUT","isSyntheticEvent","DEDUP_DISTANCE","TouchAction","cleanTouchActions","actions","TOUCH_ACTION_NONE","hasPanX","TOUCH_ACTION_PAN_X","hasPanY","TOUCH_ACTION_PAN_Y","TOUCH_ACTION_MANIPULATION","TOUCH_ACTION_AUTO","Recognizer","STATE_POSSIBLE","simultaneous","requireFail","stateStr","STATE_CANCELLED","STATE_ENDED","STATE_CHANGED","STATE_BEGAN","directionStr","getRecognizerByNameIfManager","otherRecognizer","recognizer","AttrRecognizer","PanRecognizer","pX","pY","PinchRecognizer","PressRecognizer","_timer","_input","RotateRecognizer","SwipeRecognizer","TapRecognizer","pTime","pCenter","recognizers","preset","handlers","oldCssProps","touchAction","toggleCssProps","recognizeWith","requireFailure","cssProps","triggerDomEvent","gestureEvent","createEvent","initEvent","gesture","dispatchEvent","TEST_ELEMENT","dest","MOBILE_REGEX","MOUSE_INPUT_MAP","mousedown","mousemove","mouseup","POINTER_INPUT_MAP","pointerdown","pointermove","pointerup","pointercancel","pointerout","IE10_POINTER_TYPE_ENUM","2","3","4","5","MSPointerEvent","PointerEvent","removePointer","eventTypeNormalized","isTouch","storeIndex","pointerId","SINGLE_TOUCH_INPUT_MAP","touchstart","touchmove","touchend","touchcancel","TOUCH_INPUT_MAP","inputEvent","inputData","isMouse","sourceCapabilities","firesTouchEvents","PREFIXED_TOUCH_ACTION","NATIVE_TOUCH_ACTION","TOUCH_ACTION_MAP","touchMap","cssSupports","CSS","supports","compute","preventDefaults","prevented","hasNone","isTapPointer","isTapMovement","isTapTouchTime","preventSrc","STATE_RECOGNIZED","dropRecognizeWith","dropRequireFailure","hasRequireFailures","canRecognizeWith","additionalEvent","tryEmit","canEmit","inputDataClone","attrTest","optionPointers","isRecognized","directionTest","hasMoved","inOut","validPointers","validMovement","validTime","taps","posThreshold","validTouchTime","failTimeout","validInterval","validMultiTap","tapCount","VERSION","domEvents","userSelect","touchSelect","touchCallout","contentZooming","userDrag","tapHighlightColor","curRecognizer","existing","STATE_FAILED","Tap","Pan","Swipe","Pinch","Rotate","Press","Timeline","Graph2d","timeline","forthArgument","directionFromDom","domNode","parentElement","ondblclick","oncontextmenu","onpointerdown","onpointermove","onpointerup","initialFitDone","getItemRange","getStart","getEnd","getItemVerticalScroll","leftHeight","shouldScroll","itemTop","currentScrollHeight","targetOffset","scrollOffset","newDataSet","focus","startPos","initialVerticalScroll","verticalAnimationFrame","willDraw","setFinalVerticalPosition","finalVerticalScroll","finalVerticalCallback","minItem","maxItem","startSide","endSide","lhs","rhs","snappedTime","what","pageX","pageY","toggleRollingMode","generated","centerCoordinates","hueCircle","initialColor","previousColor","applied","updateCallback","closeCallback","_bindHammer","htmlColors","black","navy","darkblue","mediumblue","darkgreen","teal","darkcyan","deepskyblue","darkturquoise","mediumspringgreen","lime","springgreen","aqua","cyan","midnightblue","dodgerblue","lightseagreen","forestgreen","seagreen","darkslategray","limegreen","mediumseagreen","turquoise","royalblue","steelblue","darkslateblue","mediumturquoise","indigo","darkolivegreen","cadetblue","cornflowerblue","mediumaquamarine","dimgray","slateblue","olivedrab","slategray","lightslategray","mediumslateblue","lawngreen","chartreuse","aquamarine","maroon","purple","olive","gray","skyblue","lightskyblue","blueviolet","darkred","darkmagenta","saddlebrown","darkseagreen","lightgreen","mediumpurple","darkviolet","palegreen","darkorchid","yellowgreen","sienna","brown","darkgray","lightblue","greenyellow","paleturquoise","lightsteelblue","powderblue","firebrick","darkgoldenrod","mediumorchid","rosybrown","darkkhaki","silver","mediumvioletred","indianred","peru","chocolate","tan","lightgrey","palevioletred","thistle","orchid","goldenrod","crimson","gainsboro","plum","burlywood","lightcyan","lavender","darksalmon","violet","palegoldenrod","lightcoral","khaki","aliceblue","honeydew","azure","sandybrown","wheat","beige","whitesmoke","mintcream","ghostwhite","salmon","antiquewhite","linen","lightgoldenrodyellow","oldlace","fuchsia","magenta","deeppink","orangered","tomato","hotpink","coral","darkorange","lightsalmon","orange","lightpink","pink","gold","peachpuff","navajowhite","moccasin","bisque","mistyrose","blanchedalmond","papayawhip","lavenderblush","seashell","cornsilk","lemonchiffon","floralwhite","snow","yellow","lightyellow","ivory","white","setInitial","htmlColor","_isColorString","rgbaArray","_rgbaArray","rgbObj","_setColor","_generateHueCircle","_hide","_updatePicker","alert","angleConvert","colorPickerSelector","colorPickerCanvas","pixelRation","devicePixelRatio","webkitBackingStorePixelRatio","mozBackingStorePixelRatio","msBackingStorePixelRatio","oBackingStorePixelRatio","backingStorePixelRatio","setTransform","putImageData","brightnessRange","opacityRange","initialColorDiv","newColorDiv","colorPickerDiv","opacityDiv","brightnessDiv","arrowDiv","_setOpacity","_setBrightness","brightnessLabel","opacityLabel","cancelButton","applyButton","_apply","saveButton","_save","loadButton","_loadLast","pinch","_moveSelector","sat","sfac","getImageData","newLeft","linegraph","initialLoad","isGroupVisible","Network","network","dotparser","gephiParser","convertDot","convertGephi","edgeIndices","eventListeners","onTap","onDoubleTap","onHold","onDragStart","onDrag","onDragEnd","onPinch","onMouseMove","onContext","functions","createNode","bindEventListeners","Groups","Canvas","selectionHandler","SelectionHandler","interactionHandler","InteractionHandler","View","renderer","CanvasRenderer","PhysicsEngine","layoutEngine","LayoutEngine","clustering","ClusterEngine","ManipulationSystem","nodesHandler","NodesHandler","edgesHandler","EdgesHandler","KamadaKawai","networkOptions","_updateVisibleIndices","_isClusteredNode","fromNode","toNode","edgeNodesPresent","_isClusteredEdge","_updateState","_updateValueRange","unselectAll","gephi","gephiData","valueTotal","setValueRange","canvasToDOM","DOMtoCanvas","findNode","isCluster","openCluster","cluster","getNodesInCluster","clusterByConnection","clusterByHubsize","clusterOutliers","getSeed","enableEditMode","disableEditMode","addNodeMode","editNodeMode","addEdgeMode","editEdgeMode","deleteSelected","getPositions","storePositions","moveNode","getBoundingBox","getConnectedNodes","objectId","getConnectedEdges","startSimulation","stopSimulation","stabilize","getSelectedNodes","getSelectedEdges","getNodeAt","getEdgeAt","selectNodes","selectEdges","getViewPosition","releaseNode","getOptionsFromConfigurator","CanvasRenderingContext2D","square","s2","ir","triangleDown","star","diamond","roundRect","r2d","ellipse_vis","ox","oy","xe","ye","xm","ym","database","wEllipse","hEllipse","ymb","yeb","patternLength","slope","distRemaining","patternIndex","dashLength","hexagon","edit","del","back","addDescription","edgeDescription","editEdgeDescription","createEdgeError","deleteClusterError","editClusterError","CachedImage","NUM_ITERATIONS","h2","h4","h8","h16","w4","w8","w16","coordinates","_fillMipMap","drawImage","_to","defaultIndex","groupsArray","defaultGroups","optionFields","groupName","groupname","shouldCreate","_index","nodesListeners","_nodeId2","doNotEmit","oldNodesData","newNodes","positionInitially","changedData","oldValue","clearPositions","dataArray","_node2","nodeList","nodeObj","edgeList","isIterable","LabelAccumulator","textWidth","measureText","finalize","nlLines","splitBlocks","_text","splitStringIntoLines","_mod","_text2","append","newLine","_i2","markupSystem","system","spacing","buffer","modStack","modName","emitBlock","ch","unshift","beginable","decodeMarkupSystem","splitMarkdownBlocks","splitHtmlBlocks","curWidth","words","pre","newText","overMaxWidth","appendLast","getLongestFit","word","getLongestFitWord","newW","tmpText","_add","tmpLines","tmpLine","firstEmptyBlock","tmpBlocks","determineLineHeights","determineLabelSize","removeEmptyBlocks","_setMargins","dimensions","getDimensionsFromLabel","_addBoundingBoxMargin","$getPrototypeOf","setPrototypeOf","buggy","_CircleImageBase2","_CircleImageBase3","_CircleImageBase","diameter","_drawRawCircle","_resizeImage","switchImages","clip","_drawImageAtPosition","_drawImageLabel","_distanceToBorder","_ShapeBase2","_ShapeBase3","_ShapeBase","_drawShape","_icon","neutralborderWidth","selectionLineWidth","edgesListeners","edgeData","smoothOptions","reconnectEdges","_edgeId","oldEdgesData","edgesData","oldEdge","showInternalIds","_addMissingEdges","_removeInvalidEdges","edgesToDelete","addIds","_CubicBezierEdgeBase2","_CubicBezierEdgeBase3","_CubicBezierEdgeBase","viaNodes","via1","via2","_bezierCurve","_findBorderPositionBezier","_ref","_ref2","_getDistanceToBezierEdge","_ref3","_ref4","vec","_BezierEdgeBase2","_BezierEdgeBase3","CubicBezierEdgeBase","_BezierEdgeBase","_boundFunction","positionBezierNode","physicsChange","setupSupportNode","parentEdgeId","cr","xVia","yVia","stepX","stepY","_stepX","_stepY","_stepX2","_stepY2","pi","originalAngle","myAngle","_pi","_originalAngle","_myAngle","_stepX3","_stepY3","edgeSegmentLength","toBorderDist","toBorderPoint","borderPos","Repulsion","HierarchicalRepulsion","SpringSolver","HierarchicalSpringSolver","ForceAtlas2BasedRepulsionSolver","ForceAtlas2BasedCentralGravitySolver","physicsEdgeIndices","velocities","physicsEnabled","simulationInterval","requiresTimeout","previousStates","referenceState","freezeCache","renderTimer","adaptiveTimestepEnabled","adaptiveCounter","adaptiveInterval","stabilized","startedStabilization","stabilizationIterations","ready","layoutFailed","initPhysics","updatePhysicsData","nodesSolver","edgesSolver","gravitySolver","modelOptions","viewFunction","simulationStep","_emitStabilized","startTime","physicsTick","runDoubleSpeed","amountOfIterations","solve","moveNodes","_evaluateStepQuality","_startStabilizing","physicsStep","revert","adjustTimeStep","nodeIds","positions","vx","vy","reference","maxNodeVelocity","averageNodeVelocity","nodeVelocity","_performStep","maxV","calculateComponentVelocity","targetIterations","_freezeNodes","_stabilizationBatch","running","sendProgress","_finalizeStabilization","_restoreFrozenNodes","forceSize","arrowSize","RepulsionSolver","repulsingForce","HierarchicalRepulsionSolver","edgeLength","node3","_calculateSpringForce","springForce","springFx","springFy","totalFx","totalFy","_i3","correctionFx","correctionFy","_i4","_nodeId3","_BarnesHutSolver2","_BarnesHutSolver3","_BarnesHutSolver","degree","_CentralGravitySolver2","_CentralGravitySolver3","_CentralGravitySolver","Cluster","clusteredNodes","clusteredEdges","hubsize","_getHubSize","_checkOptions","nodesToCluster","refreshData","joinCondition","childNodesObj","childEdgesObj","cloneOptions","_cluster","edgeCount","clusters","usedNodes","relevantEdgeCount","checkJoinCondition","findClusterData","foundCluster","gatheringSuccessful","childNodeId","_getConnectedId","_m","clusterByEdgeCount","clusterNodeProperties","parentNodeId","parentClonedOptions","childClonedOptions","childNodeIDs","childNode","childEdge","clusterEdgeProperties","otherNodeId","childKeys","createEdges","newEdges","_j3","createdEdge","_edge","newEdge","matchToDirection","matchFromDirection","_createClusteredEdge","clusteringEdgeReplacingIds","edgeReplacedById","_backupEdgeOptions","tmpNodesToRemove","allowSingleNodeCluster","processProperties","childNodesOptions","childEdgesOptions","_clonedOptions","clusterId","_getClusterPosition","clusterNode","containedNodes","containedEdges","_clusterEdges","originalOptions","clusterNodeId","parentIndex","parentClusterNodeId","_openChildCluster","releaseFunction","clusterPosition","newPositions","_nodeId4","_containedNode","_nodeId5","_containedNode2","edgesToBeDeleted","otherNode","transferId","transferEdge","otherCluster","_restoreEdge","nodesArray","_nodeId6","reverse","clusteredNodeId","startEdgeId","allEdgeIds","getClusteredEdges","clusteredEdgeId","getBaseEdges","IdsToHandle","doneIds","foundIds","nextId","nextEdge","replacingIds","replacingId","average","averageSquared","hubCounter","largestHub","variance","standardDeviation","hubThreshold","baseEdge","extraOptions","childEdges","_obj","_createClusterEdges","_edge2","_nodeId7","clusteredNode","deletedNodeIds","deletedEdgeIds","eachClusterNode","_node3","endPointsValid","replacedIds","numValid","containedEdgeId","containedEdge","deletedEdgeId","_filter","shouldBeClustered","clusterFrom","_getClusterNodeForNode","clusterTo","continueLoop","clustersToOpen","numNodes","allowSingle","_Node","childClusterId","childCluster","clusterEdge","parentClusterEdge","srcId","_initRequestAnimationFrame","mozRequestAnimationFrame","webkitRequestAnimationFrame","msRequestAnimationFrame","redrawRequested","renderingActive","renderRequests","allowRedraw","_determineBrowserMethod","_resizeNodes","_requestRedraw","_startRendering","cancelAnimationFrame","timer","myWindow","_requestNextFrame","_renderStep","_drawEdges","_drawNodes","alwaysShow","topLeft","bottomRight","viewableArea","isSelected","isBoundingBoxOverlappingWith","browserType","resizeTimer","resizeFunction","cameraState","canvasViewCenter","hammerFrame","_cleanUp","previousWidth","previousHeight","widthRatio","heightRatio","newScale","currentViewCenter","distanceFromCenter","tabIndex","_setPixelRatio","_prepareValue","emitEvent","oldWidth","oldHeight","previousRatio","_getCameraState","newWidth","newHeight","_setCameraState","numerator","_determinePixelRatio","_XconvertCanvasToDOM","_YconvertCanvasToDOM","_XconvertDOMtoCanvas","_YconvertDOMtoCanvas","animationSpeed","renderRefreshRate","animationEasingFunction","easingTime","sourceScale","targetScale","sourceTranslation","targetTranslation","lockedOnNodeId","lockedOnNodeOffset","touchTime","initialZoom","zoomLevel","positionDefined","yDistance","xZoomLevel","yZoomLevel","findCenter","animationOptions","nodePosition","lockedOnNode","animateView","locked","_transitionRedraw","viewCenter","_lockedRedraw","finished","NavigationHandler","navigationHandler","popupObj","popupTimer","pinched","checkSelectionChanges","_generateClickEvent","previousSelection","selectAdditionalOnPoint","selectOnPoint","currentSelection","deselectedItems","_determineDifference","selectedItems","firstSet","secondSet","arrayDiff","firstArr","secondArr","selectObject","selectionObj","xFixed","yFixed","scaleOld","preScaleDragPointer","scaleFrac","tx","ty","postScaleDragPointer","popupVisible","_checkHidePopup","_checkShowPopup","hoverObject","pointerObj","previousPopupObjId","nodeUnderCursor","popupType","overlappingNodes","overlappingEdges","popupTargetType","popupTargetId","_pointerToPositionObject","stillOnObj","overNode","iconsCreated","navigationHammers","boundFunctions","activated","configureKeyboardBindings","loadNavigationElements","cleanNavigation","navigationDOM","navigationDivs","navigationDivActions","_fit","bindToRedraw","_stopMovement","boundAction","unbindFromRedraw","hoverObj","updateSelection","selectionChanged","deselectObject","DOM","emptySelection","_initBaseEvent","getClickedItems","highlightEdges","_selectConnectedEdges","_addToSelection","_removeFromSelection","canvasPos","returnNode","positionObject","_getAllNodesOverlappingWith","_getEdgesOverlappingWith","returnEdge","mindist","overlappingEdge","_unselectConnectedEdges","clusterSize","_addToHover","hoverChanged","emitBlurEvent","emitHoverEvent","_hoverConnectedEdges","idArray","RangeError","getItemsOnPoint","_ret","HorizontalStrategy","VerticalStrategy","HierarchicalStatus","childrenReference","parentReference","trees","distributionOrdering","levels","distributionIndex","isTree","treeIndex","treeId","accumulator","_getMaxLevel","nodeA","nodeB","minLevel","min_x","max_x","min_y","max_y","parents1","parents2","curLevel","initialRandomSeed","setPhysics","optionsBackup","setupHierarchicalLayout","layoutNetwork","curveType","prevHierarchicalState","setDirectionStrategy","adaptAllOptionsForHierarchicalLayout","backupPhysics","indices","clusterOptions","startLength","before","clusterBridges","_declusterAll","kamadaKawai","_shiftToCenter","getRangeCore","clustersPresent","definedLevel","undefinedLevel","lastNodeOnLevel","_determineLevelsByHubsize","_determineLevelsDirected","_determineLevelsCustomCallback","ensureLevel","distribution","_getDistribution","_generateMap","_placeNodesByHierarchy","_condenseHierarchy","stillShifting","branches","shiftTree","getTreeSizes","treeWidths","numTrees","getTreeSize","getBranchNodes","getBranchBoundary","branchMap","maxLevel","minSpace","maxSpace","branchNode","getPosition","_getSpaceAroundNode2","_getSpaceAroundNode","_getSpaceAroundNode3","minSpaceNode","maxSpaceNode","getCollisionLevel","maxLevel1","getMaxLevel","maxLevel2","shiftElementsCloser","centerParents","hier","levelNodes","hasSameParent","inSameSubNetwork","branchShiftCallback","centerParent","diffAbs","branchNodes1","branchNodes2","branchNodeBoundary1","branchNodeBoundary2","max1","min2","minSpace2","_shiftBlock","_centerParent","minimizeEdgeLength","allEdges","nodeLevel","C2","referenceNodes","aboveEdges","getFx","getDFx","getGuess","guess","guessMap","dfx","branchNodes","branchBoundary","minSpaceBranch","maxSpaceBranch","branchOffset","_getSpaceAroundNode4","_getSpaceAroundNode5","newPosition","getLevels","treeSizes","shiftBy","useMap","prevNode","nextNode","nextPos","parents","parentId","_getCenterPosition","_getSpaceAroundNode6","_getSpaceAroundNode7","positionedNodes","nodeArray","_indexArrayToNodes","handledNodeCount","_validatePositionAndContinue","parentLevel","childRef","_i5","childNodeLevel","previousPos","sharedParent","_findCommonParent","withChild","_placeBranchNodes","fix","hubSizes","hubSize","_getActiveEdges","_this6","levelDownstream","_getHubSizes","_crawlNetwork","_this7","levelByDirection","levelA","setMinLevelToZero","_this8","isBidirectional","otherEdge","levelB","_this9","fillInRelations","addRelation","checkIfTree","_this10","startingNodeId","crawler","tree","setTreeIndex","_this11","shifter","childA","childB","_this12","iterateParents","parentRef","findParent","foundParent","isVertical","minPos","maxPos","DirectionInterface","abstract","fake_use","_DirectionInterface","addToOrdering","_DirectionInterface2","editMode","manipulationDiv","editModeDiv","closeDiv","manipulationHammers","temporaryUIFunctions","temporaryEventFunctions","temporaryIds","guiEnabled","inMode","selectedControlNode","_restore","_setup","showManipulatorToolbar","_createEditButton","manipulationDOM","selectedNodeCount","_getSelectedNodeCount","selectedEdgeCount","_getSelectedEdgeCount","selectedTotalCount","needSeperator","_createAddNodeButton","_createSeperator","_createAddEdgeButton","_createEditNodeButton","_createEditEdgeButton","_createDeleteButton","_bindHammerToDiv","toggleEditMode","_temporaryBindEvent","_createBackButton","_createDescription","_performAddNode","_getSelectedNode","finalizedData","_temporaryBindUI","_handleConnect","_finishConnect","_dragControlNode","_dragStartEdge","edgeBeingEditedId","_performEditEdge","controlNodeFrom","_getNewTargetNode","controlNodeTo","_controlNodeTouch","_controlNodeDragStart","_controlNodeDrag","_controlNodeDragEnd","findBorderPositions","selectedNodes","selectedEdges","deleteFunction","_createWrappers","_removeManipulationDOM","_createButton","_cleanManipulatorHammers","_cleanupTemporaryNodesAndEdges","_unbindTemporaryUIs","_unbindTemporaryEvents","deleteBtnClass","labelClassName","newFunction","boundFunction","UIfunctionName","functionName","eventName","domElement","indexTempEdge","indexTempNode","fromSelect","toSelect","overlappingNodeIds","targetNode","connectionEdge","connectFromId","_performAddEdge","clickData","defaultData","sourceNodeId","targetNodeId","eeFunct","_FloydWarshall","_FloydWarshall2","edgeStrength","distanceSolver","edgesArray","ignoreClusters","D_matrix","getDistances","_createL_matrix","_createK_matrix","_createE_matrix","maxIterations","maxEnergy","highE_nodeId","dE_dx","dE_dy","delta_m","subIterations","_getHighestEnergyNode2","_getHighestEnergyNode","_getHighestEnergyNode3","_moveNode","_getEnergy2","_getEnergy","_getEnergy3","maxEnergyNodeId","dE_dx_max","dE_dy_max","nodeIdx","_getEnergy4","_getEnergy5","_E_sums$m","E_sums","d2E_dx2","d2E_dxdy","d2E_dy2","x_m","y_m","km","K_matrix","lm","L_matrix","iIdx","x_i","y_i","kmat","lmat","denominator","_updateE_matrix","E_matrix","mIdx","_mIdx","colm","kcolm","lcolm","cell","oldDx","oldDy","FloydWarshall","knode","inode","icolm","jnode","jcolm"],"mappings":"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","file":"vis"} \ No newline at end of file +{"version":3,"sources":["C:\\precobs\\Development\\git\\visjs\\vis/dist/vis.js"],"names":["root","factory","exports","module","define","amd","self","this","modules","__webpack_require__","moduleId","installedModules","i","l","call","m","c","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","n","__esModule","object","property","prototype","hasOwnProperty","p","s","default","instance","Constructor","TypeError","_defineProperty","_defineProperty2","obj","defineProperties","target","props","length","descriptor","writable","key","protoProps","staticProps","_interopRequireDefault","copyOrDelete","a","b","prop","allowDeletion","doDeletion","undefined","_getIterator2","_getIterator3","_create","_create2","_keys","_keys2","_typeof2","_typeof3","moment","uuid","isNumber","Number","recursiveDOMDelete","DOMobject","hasChildNodes","firstChild","removeChild","giveRange","min","max","total","value","scale","Math","isString","String","isDate","Date","ASPDateRegex","exec","isNaN","parse","randomUUID","v4","assignAllKeys","fillIfDefined","arguments","extend","other","selectiveExtend","Array","isArray","Error","selectiveDeepExtend","constructor","deepExtend","selectiveNotDeepExtend","propsToExclude","indexOf","push","protoExtend","equalArray","len","convert","type","match","Boolean","valueOf","isMoment","toDate","getType","toISOString","format","copyAndExtendArray","arr","newValue","newArr","copyArray","getAbsoluteLeft","elem","getBoundingClientRect","left","getAbsoluteRight","right","getAbsoluteTop","top","addClassName","classNames","classes","className","split","newClasses","concat","filter","join","removeClassName","oldClasses","forEach","callback","toArray","array","updateProperty","throttle","fn","scheduled","requestAnimationFrame","addEventListener","element","action","listener","useCapture","navigator","userAgent","attachEvent","removeEventListener","detachEvent","preventDefault","event","window","returnValue","getTarget","srcElement","nodeType","parentNode","hasParent","parent","e","option","asBoolean","defaultValue","asNumber","asString","asSize","asElement","hexToRGB","hex","shorthandRegex","replace","r","g","result","parseInt","overrideOpacity","color","opacity","rgb","substr","RGBToHex","red","green","blue","toString","slice","parseColor","isValidRGB","map","isValidHex","hsv","hexToHSV","lighterColorHSV","h","v","darkerColorHSV","darkerColorHex","HSVToHex","lighterColorHex","background","border","highlight","hover","RGBToHSV","minRGB","maxRGB","cssUtil","cssText","styles","style","trim","parts","addCssText","currentStyles","newStyles","removeCssText","removeStyles","HSVToRGB","floor","f","q","t","test","isValidRGBA","rgba","selectiveBridgeObject","fields","referenceObject","objectTo","bridgeObject","Element","insertSort","compare","k","j","mergeOptions","mergeTarget","options","globalOptions","isPresent","isObject","srcOption","globalPassed","x","globalOption","globalEnabled","enabled","src","dst","binarySearchCustom","orderedItems","comparator","field","field2","iteration","low","high","middle","item","searchResult","binarySearchValue","sidePreference","prevValue","nextValue","easingFunctions","linear","easeInQuad","easeOutQuad","easeInOutQuad","easeInCubic","easeOutCubic","easeInOutCubic","easeInQuart","easeOutQuart","easeInOutQuart","easeInQuint","easeOutQuint","easeInOutQuint","getScrollBarWidth","inner","document","createElement","width","height","outer","position","visibility","overflow","appendChild","body","w1","offsetWidth","w2","clientWidth","topMost","pile","accessors","candidate","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_step","_iterator","next","done","member","err","ReferenceError","_setPrototypeOf","_setPrototypeOf2","subClass","superClass","__proto__","_iterator2","_symbol","_symbol2","_typeof","core","version","__e","hammerMock","noop","on","off","destroy","emit","set","propagating","Hammer","DataSet","data","_options","_data","_fieldId","fieldId","_type","_subscribers","add","setOptions","_stringify","_stringify2","util","Queue","queue","_queue","subscribers","_trigger","params","senderId","subscriber","id","addedIds","me","_addItem","items","update","updatedIds","oldData","updatedData","addOrUpdate","oldItem","_updateItem","console","warn","args","ids","firstType","returnType","itemIds","itemId","_getItem","order","_sort","_filterFields","resultant","getIds","getDataSet","mappedItems","filteredItem","itemFields","sort","av","bv","remove","removedIds","removedItems","_remove","ident","clear","maxField","itemField","minField","distinct","values","fieldType","count","exists","types","raw","converted","DataView","_ids","_onEvent","apply","setData","refresh","oldIds","newIds","viewOptions","getArguments","defaultFilter","dataSet","oldItems","updatedItems","subscribe","unsubscribe","store","uid","Symbol","USE_SYMBOL","prepareElements","JSONcontainer","elementType","redundant","used","cleanupElements","resetElements","getSVGElement","svgContainer","shift","createElementNS","getDOMElement","DOMContainer","insertBefore","drawPoint","y","groupTemplate","labelObj","point","setAttributeNS","size","label","xOffset","yOffset","content","textContent","drawBar","rect","printStyle","_classCallCheck2","_classCallCheck3","_createClass2","_createClass3","errorFound","allOptions","Validator","referenceOptions","subObject","usedOptions","path","check","__any__","getSuggestion","referenceOption","is_object","refOptionObj","__type__","checkFields","log","message","printLocation","optionType","refOptionType","print","_isAMomentObject","localSearch","findInOptions","globalSearch","msg","indexMatch","distance","closestMatch","recursive","closestMatchPath","lowerCaseOption","toLowerCase","op","levenshteinDistance","prefix","str","_j","_i","_j2","matrix","charAt","Component","redraw","_isResized","resized","_previousWidth","_previousHeight","global","ctx","hide","has","$export","source","own","out","IS_FORCED","F","IS_GLOBAL","G","IS_STATIC","S","IS_PROTO","P","IS_BIND","B","IS_WRAP","W","expProto","C","Function","virtual","R","U","__g","anObject","IE8_DOM_DEFINE","toPrimitive","dP","O","Attributes","it","NodeBase","labelModule","radius","margin","refreshNeeded","boundingBox","bottom","adjustSizes","angle","borderWidth","resize","abs","cos","sin","shadow","shadowColor","shadowBlur","shadowSize","shadowOffsetX","shadowX","shadowOffsetY","shadowY","borderDashes","setLineDash","dashes","shapeProperties","selected","differentState","view","lineWidth","strokeStyle","borderColor","fillStyle","save","enableBorderDashes","stroke","disableBorderDashes","restore","enableShadow","fill","disableShadow","performStroke","_updateBoundingBox","textSize","getTextSize","_getPrototypeOf","_getPrototypeOf2","_possibleConstructorReturn2","_possibleConstructorReturn3","_inherits2","_inherits3","_NodeBase2","_NodeBase3","ShapeBase","_NodeBase","needsRefresh","shape","sizeMultiplier","initContextForDraw","performFill","calculateLabelSize","yLabel","draw","updateBoundingBox","IObject","defined","createDesc","_isIterable2","_isIterable3","sliceIterator","_arr","_n","_d","_e","_s","$keys","enumBugKeys","keys","Point3d","z","subtract","sub","sum","avg","crossProduct","crossproduct","sqrt","__WEBPACK_AMD_DEFINE_FACTORY__","__WEBPACK_AMD_DEFINE_ARRAY__","__WEBPACK_AMD_DEFINE_RESULT__","keycharm","container","_exportFunctions","_bound","keydown","keyup","fromCharCode","code","down","handleEvent","up","keyCode","bound","shiftKey","bind","bindAll","getKey","unbind","newBindings","reset","convertHiddenOptions","hiddenDates","repeat","dateItem","start","end","updateHiddenDates","domProps","centerContainer","range","totalRange","pixelTime","startDate","endDate","duration","offset","runUntil","clone","day","dayOfYear","year","dayOffset","diff","date","month","removeDuplicates","startHidden","isHidden","endHidden","rangeStart","rangeEnd","hidden","startToFront","endToFront","_applyRange","safeDates","printDates","dates","stepOverHiddenDates","timeStep","previousTime","stepInHidden","currentValue","current","_end","switchedYear","switchedMonth","switchedDay","toScreen","Core","time","conversion","getHiddenDurationBetween","hiddenBeforeStart","getHiddenDurationBeforeStart","rangeAfterEnd","correctTimeForHidden","toTime","hiddenDuration","totalDuration","partialDuration","accumulatedHiddenDuration","getAccumulatedHiddenDuration","getHiddenDurationBefore","timeOffset","requiredDuration","previousPoint","snapAwayFromHidden","direction","correctionEnabled","onTouch","hammer","inputHandler","isFirst","onRelease","isFinal","offTouch","offRelease","disablePreventDefaultVertically","pinchRecognizer","getTouchAction","Item","dom","displayed","groupShowing","dirty","editable","_updateEditStatus","stack","select","unselect","group","itemSet","_moveToGroup","stackDirty","subgroup","changeSubgroup","setParent","show","isVisible","repositionX","repositionY","_repaintDragCenter","updateTime","dragCenter","dragCenterItem","emitter","stopPropagation","_onUpdateItem","box","dragLeft","_repaintDeleteButton","anchor","overrideItems","deleteButton","rtl","title","removeFromDataSet","_repaintOnItemUpdateTimeTooltip","tooltipOnItemUpdateTime","onItemUpdateTimeTooltip","touchParams","itemIsDragging","itemDistanceFromTop","scrollTop","orientation","templateFunction","template","innerHTML","_updateContents","itemVisibleFrameContent","visibleFrameTemplateFunction","itemData","itemsData","frameElement","itemVisibleFrameContentElement","getElementsByClassName","visibleFrameTemplate","_contentToString","_updateDataAttributes","dataAttributes","attributes","setAttribute","removeAttribute","_updateStyle","outerHTML","updateGroup","getWidthLeft","getWidthRight","getTitle","bitmap","px","random","propertyIsEnumerable","delay","Infinity","_timeout","_extended","_flushIfNeeded","flush","methods","original","method","context","entry","clearTimeout","setTimeout","Emitter","mixin","_callbacks","once","removeListener","removeAllListeners","callbacks","cb","splice","listeners","hasListeners","TimeAxis","foreground","lines","majorTexts","minorTexts","minimumStep","lineTop","defaultOptions","axis","showMinorLabels","showMajorLabels","maxMinorChars","TimeStep","FORMAT","timeAxis","DateUtil","locale","lang","parentChanged","_calculateCharSize","minorLabelHeight","minorCharHeight","majorLabelHeight","majorCharHeight","minorLineHeight","minorLineWidth","majorLineHeight","majorLineWidth","foregroundNextSibling","nextSibling","backgroundNextSibling","_repaintLabels","backgroundVertical","timeLabelsize","minorCharWidth","step","setMoment","setFormat","setScale","xNext","isMajor","showMinorGrid","prevWidth","line","labelMinor","xFirstMajorLabel","getCurrent","hasNext","getClassName","getLabelMinor","_repaintMinorText","_repaintMajorText","getLabelMajor","_repaintMajorLine","_repaintMinorLine","warnedForOverflow","leftTime","leftText","widthText","majorCharWidth","pop","text","createTextNode","childNodes","measureCharMinor","clientHeight","measureCharMajor","CustomTime","locales","customTime","eventParams","onMouseWheel","_onMouseWheel","bar","drag","_onDragStart","_onDrag","_onDragEnd","threshold","DIRECTION_HORIZONTAL","warned","toUpperCase","substring","setCustomTime","getCustomTime","setCustomTitle","dragging","deltaX","customTimeFromTarget","Label","ComponentUtil","Box","Circle","CircularImage","Database","Diamond","Dot","Ellipse","Icon","Image","Square","Hexagon","Star","Text","Triangle","TriangleDown","_require","Node","imagelist","grouplist","edges","baseSize","baseFontSize","font","predefinedPosition","edge","index","currentShape","checkMass","parseFloat","parseOptions","chooser","choosify","_load_images","updateLabelModule","updateShape","physics","image","imageObj","load","brokenImage","unselected","imageObjAlt","borderRadius","updateGroupOptions","currentGroup","distanceToBorder","fixed","scaling","customScalingFunction","sizeDiff","fontDiff","getFormattingValues","ret","visible","pointInRect","getSize","nodeId","labelId","parentOptions","newOptions","groupList","groupObj","parsedColor","mass","strId","subOption","allowed","chosen","chosenEdge","rotationPoint","tmp","Iterators","TO_STRING_TAG","DOMIterables","NAME","Collection","proto","val","dPs","IE_PROTO","Empty","createDict","iframeDocument","iframe","display","contentWindow","open","write","lt","close","create","Properties","ceil","shared","mode","copyright","def","TAG","tag","stat","$at","iterated","_t","LIBRARY","wksExt","$Symbol","getOwnPropertySymbols","Range","now","hours","minutes","seconds","milliseconds","millisecondsPerPixelCache","rolling","deltaDifference","scaleOffset","moveable","zoomable","zoomMin","zoomMax","rollingMode","follow","touch","animationTimer","_onTouch","_onPinch","rollingModeBtn","startRolling","validateDirection","setRange","stopRolling","interval","animation","center","currentTimeTimer","frameCallback","byUser","finalStart","finalEnd","_cancelAnimation","initStart","initEnd","easingName","easingFunction","initTime","anyChanged","ease","changed","timeoutID","getMillisecondsPerPixel","newStart","newEnd","getRange","totalHidden","previousDelta","_isInsideRange","allowDragging","cursor","delta","deltaY","diffRange","safeStart","safeEnd","wheelDelta","detail","zoomKey","pointerDate","pointer","getPointer","clientX","clientY","_pointerToDate","zoom","centerDate","hiddenDurationBefore","hiddenDurationAfter","move","moveTo","hammerUtil","Activator","isActive","wheelDeltaY","wheelDeltaX","HORIZONTAL_AXIS","verticalScroll","adjusted","_setScrollTop","_redraw","horizontalScroll","onMouseScrollSide","handleDragOver","itemAddedToTimeline","dataTransfer","dropEffect","handleDrop","JSON","getData","_onAddItem","_onDropObjectOnItem","getEventProperties","backgroundHorizontal","leftContainer","rightContainer","shadowTop","shadowBottom","shadowTopLeft","shadowBottomLeft","shadowTopRight","shadowBottomRight","tmpData","scrollTopMin","initialDrawDone","initialRangeChangeDone","_origRedraw","properties","initialItemSetDrawn","enable","customTimes","redrawCount","timeAxis2","components","drawPoints","onRender","clickToUse","activator","_initAutoResize","component","configurator","_createConfigurator","configure","appliedOptions","setModuleOptions","active","setItems","setGroups","_stopAutoResize","setCustomTimeTitle","addCustomTime","timestamp","some","removeCustomTime","getVisibleItems","fit","getDataRange","setWindow","getWindow","zoomIn","percentage","newInterval","zoomOut","maxHeight","minHeight","offsetHeight","difLeft","difTop","difHeight","difWidth","borderRootHeight","borderRootWidth","contentHeight","autoHeight","containerHeight","scrollbarWidth","_setDOM","_updateScrollTop","visibilityTop","visibilityBottom","RegExp","contentsOverflow","DIRECTION_ALL","centerWidth","repaint","setCurrentTime","currentTime","getCurrentTime","_toTime","_toGlobalTime","_toScreen","_toGlobalScreen","autoResize","_startAutoResize","_onResize","lastWidth","lastHeight","watchTimer","setInterval","clearInterval","initialScrollTop","oldScrollTop","_getScrollTop","newScrollTop","_start","autoScale","minorLabels","millisecond","second","minute","hour","weekday","week","majorLabels","defaultFormat","setMinimumStep","roundToMinor","prev","nextWeek","isSame","setAutoScale","stepYear","stepMonth","stepDay","stepHour","stepMinute","stepSecond","stepMillisecond","snap","round","even","today","_moment","currentWeek","currentMonth","CurrentTime","showCurrentTime","stop","Group","groupId","subgroups","subgroupStack","subgroupStackAll","doInnerStack","subgroupIndex","subgroupOrderer","subgroupOrder","nestedGroups","showNested","nestedInGroup","visibleItems","itemsInRange","byStart","byEnd","checkRangedItems","groupEditable","marker","collapsedDirClassName","paddingRight","paddingLeft","getLabelWidth","_didMarkerHeightChange","markerHeight","lastMarkerHeight","redrawQueue","redrawQueueLength","fns","_calculateGroupSizeAndPosition","offsetTop","offsetLeft","_redrawItems","forceRestack","lastIsVisible","visibleSubgroups","stackSubgroups","stackSubgroupsWithInnerStack","customOrderedItems","_updateItemsInRange","nostack","_didResize","labelWidth","labelHeight","_applyGroupHeight","_updateItemsVerticalPosition","ii","returnQueue","_updateSubGroupHeights","_isGroupVisible","_updateSubgroupsSizes","_calculateHeight","resetSubgroups","vertical","labelSet","_addToSubgroup","orderSubgroups","_checkIfVisible","subgroupId","itemEnd","initialEnd","sortArray","sortField","_removeFromSubgroup","itemIndex","removeItem","startArray","endArray","orderByStart","orderByEnd","oldVisibleItems","visibleItemsLookup","lowerBound","upperBound","searchFunction","_checkIfVisibleWithReference","initialPosByStart","_traceVisible","initialPosByEnd","initialPos","breakCondition","oldSubgroup","newSubgroup","BackgroundGroup","RangeItem","baseClassName","_createDomElement","frame","visibleFrame","_appendDomElement","_updateDirtyDomComponents","maxWidth","_getDomComponentsSizes","getComputedStyle","_updateDomComponentsSizes","sizes","_repaintDomAdditionals","_repaintDragLeft","_repaintDragRight","limitSize","contentStartPosition","contentWidth","parentWidth","align","boxWidth","itemsAlwaysDraggable","dragLeftItem","dragRight","dragRightItem","ColorPicker","Configurator","parentModule","defaultContainer","configureOptions","pixelRatio","changedOptions","allowCreation","initialized","popupCounter","showButton","moduleOptions","domElements","popupDiv","popupLimit","popupHistory","colorPicker","wrapper","_removePopup","_clean","_this","counter","_handleObject","_makeItem","_makeHeader","generateButton","onclick","_printOptions","onmouseover","onmouseout","optionsContainer","_push","_showPopupIfNeeded","base","_len","_key","div","objectLabel","selectedValue","onchange","_update","_makeLabel","popupString","popupValue","input","oninput","_setupPopup","string","_this2","html","hideTimeout","deleteTimeout","_this3","correspondingElement","checkbox","checked","_this4","defaultColor","backgroundColor","_showColorPicker","_this5","insertTo","setColor","setUpdateCallback","colorString","setCloseCallback","checkOnly","visibleInSet","subObj","newPath","_getValue","_handleArray","_makeTextInput","_makeCheckbox","solver","enabledPath","enabledValue","_label","error","_makeColorField","_makeDropdown","_makeRange","_constructOptions","optionsObj","getOptions","Points","getGroupTemplate","callbackResult","getCallback","framework","DOMutil","dataset","screen_x","screen_y","svgElements","svg","drawIcon","iconWidth","iconHeight","fillHeight","outline","CircleImageBase","labelOffset","setImages","selection_changed","imageTmp","useImageSize","ratio_width","ratio_height","circle","globalAlpha","factor","interpolation","drawImageAtPosition","labelDimensions","lineCount","CubicBezierEdge","BezierEdgeDynamic","BezierEdgeStatic","StraightEdge","Edge","fromId","toId","labelDirty","baseWidth","from","to","edgeType","connected","dataChanged","updateEdgeType","_setInteractionWidths","connect","toArrow","arrows","fromArrow","middleArrow","inheritsColor","inherit","toArrowScale","scaleFactor","toArrowType","middleArrowScale","middleArrowType","fromArrowScale","fromArrowType","arrowStrikethrough","selectedWidth","selectionWidth","hoverWidth","smooth","changeInType","cleanup","disconnect","nodes","attachEdge","detachEdge","widthDiff","viaNode","getViaNode","arrowData","fromPoint","toPoint","getArrowData","drawLine","drawArrows","drawLabel","drawArrowHead","node1","node2","pointToSelf","getPoint","_getRotation","translate","rotate","selfReferenceSize","_pointOnCircle","edgeId","isOverlappingWith","xFrom","yFrom","xTo","yTo","xObj","yObj","getDistanceToEdge","yLine","dy","dx","atan2","PI","copyFromGlobals","isValidLabel","fromColor","toColor","colorsDefined","_EdgeBase2","_EdgeBase3","BezierEdgeBase","_EdgeBase","nearNode","pos","distanceToPoint","difference","_getViaCoordinates","node","pow","x1","y1","x2","y2","x3","y3","via","minDistance","lastX","lastY","_getDistanceToLine","viaNode1","viaNode2","hasNode1","hasNode2","beginPath","bezierCurveTo","quadraticCurveTo","lineTo","NetworkUtil","allNodes","specificNodes","minY","maxY","minX","maxX","clonedOptions","amountOfConnections","cof","redefine","$iterCreate","setToStringTag","getPrototypeOf","ITERATOR","BUGGY","returnThis","Base","DEFAULT","IS_SET","FORCED","IteratorPrototype","getMethod","kind","DEF_VALUES","VALUES_BUG","$native","$default","$entries","$anyNative","entries","aFunction","that","is","toIObject","arrayIndexOf","names","toObject","ObjectProto","ARG","tryGet","T","callee","fails","KEY","exp","hiddenKeys","getOwnPropertyNames","pIE","gOPD","getOwnPropertyDescriptor","Point2d","Slider","play","MozBorderRadius","slide","onmousedown","_onMouseDown","togglePlay","onChangeCallback","playTimeout","playInterval","playLoop","getIndex","setIndex","playNext","setOnChangeCallback","setPlayInterval","getPlayInterval","setPlayLoop","doLoop","onChange","indexToLeft","setValues","which","button","startClientX","startSlideX","onmousemove","_onMouseMove","onmouseup","_onMouseUp","leftToIndex","StepNumber","prettyStep","precision","_current","isNumeric","isFinite","setStep","calculatePrettyStep","log10","LN10","step1","step2","step5","toPrecision","getStep","checkFirst","isEmpty","capitalize","prefixFieldName","fieldName","forceCopy","srcKey","dstKey","safeCopy","setDefaults","DEFAULTS","OPTIONKEYS","PREFIXEDOPTIONKEYS","setSpecialSettings","showGrayBottom","showTooltip","onclick_callback","eye","setBackgroundColor","setDataColor","dataColor","setStyle","setShowLegend","showLegend","setCameraPosition","cameraPosition","tooltip","tooltipStyle","isLegendGraphStyle","STYLE","DOTCOLOR","DOTSIZE","getStyleNumberByName","styleName","number","STYLENAME","checkStyleNumber","valid","styleNumber","strokeWidth","borderStyle","camPos","camera","Camera","setArmRotation","horizontal","setArmLength","BAR","BARCOLOR","BARSIZE","DOT","DOTLINE","GRID","LINE","SURFACE","dot","dot-line","dot-color","dot-size","grid","surface","bar-color","bar-size","armLocation","armRotation","armLength","cameraOffset","offsetMultiplier","cameraLocation","cameraRotation","calculateCameraOrientation","_sign","_sign2","setOffset","sign","mul","getOffset","setArmLocation","getArmRotation","rot","getArmLength","getCameraLocation","getCameraRotation","xa","za","Filter","dataGroup","column","graph","getDistinctValues","selectValue","dataPoints","loaded","onLoadCallback","animationPreload","loadInBackground","isLoaded","getLoadedProgress","getLabel","filterLabel","getColumn","getSelectedValue","getValues","getValue","_getDataPoints","dataView","setOnLoadCallback","progress","overlay","_onTapOverlay","onClick","_hasParent","deactivate","escListener","activate","ItemSet","groupOrderSwap","fromGroup","toGroup","groups","targetOrder","groupOrder","selectable","multiselect","onDropObjectOnItem","objectData","onAdd","onUpdate","onMove","onRemove","onMoving","onAddGroup","onMoveGroup","onRemoveGroup","showTooltips","followMouse","overflowMethod","itemOptions","groupsData","itemListeners","_onAdd","_onUpdate","_onRemove","groupListeners","_onAddGroups","groupData","updatedGroups","nestedGroupId","updatedNestedGroup","_onUpdateGroups","_onRemoveGroups","groupIds","selection","popup","groupTouchParams","BoxItem","PointItem","BackgroundItem","Popup","UNGROUPED","BACKGROUND","_updateUngrouped","backgroundGroup","_onSelectItem","_onMultiSelectItem","groupHammer","_onGroupClick","_onGroupDragStart","_onGroupDrag","_onGroupDragEnd","DIRECTION_VERTICAL","_onMouseOver","_onMouseOut","markDirty","refreshItems","setSelection","getSelection","rawVisibleItems","_deselect","_orderGroups","visibleInterval","zoomed","lastVisibleInterval","scrolled","lastRangeStart","changedStackOption","lastStack","changedStackSubgroupsOption","lastStackSubgroups","firstGroup","_firstGroup","firstMargin","nonFirstMargin","groupMargin","redrawResults","groupResized","firstGroupIndex","firstGroupId","ungrouped","_getGroupId","getLabelSet","oldItemsData","getItems","_order","getGroups","_getType","_removeItem","groupOptions","_orderNestedGroups","newGroupIdsOrder","nestedGroup","nestedGroupIds","_constructByEndArray","itemFromTarget","itemProps","_getGroupIndex","selectedItem","initialX","_cloneItemData","srcEvent","ctrlKey","metaKey","_onDragStartAddItem","baseGroupIndex","itemsToDrag","groupIndex","groupOffset","xAbs","getScale","groupFromTarget","newItem","updateGroupAllowed","newGroupBase","initialStart","initial","newOffset","oldGroup","nestingGroup","originalOrder","movingUp","targetGroupTop","draggedGroupHeight","targetGroup","draggedGroup","newOrder","origOrder","draggedId","numGroups","curPos","orgOffset","slippedPosition","switchGroup","shouldBeGroup","switchGroupId","oldSelection","newSelection","itemFromRelatedTarget","setText","setPosition","newItemData","itemGroup","lastSelectedGroup","multiselectPerGroup","_getItemRange","_item","itemFromElement","cur","relatedTarget","itemSetFromTarget","force","collidingItem","jj","collision","substack","subgroupHeight","baseTop","newTop","otherSubgroup","collisionByTimes","subgroupItems","doSubStack","widthInMs","getTime","previous","itemSetHeight","lineHeight","marginLeft","marginRight","itemSubgroup","padding","doShow","isLeft","isTop","bool","boolean","function","throttleRedraw","any","onInitialDrawComplete","null","groupsDraggable","LineGraph","yAxisOrientation","defaultGroup","sampling","graphHeight","shaded","barChart","sideBySide","parametrization","alpha","dataAxis","legend","abortedGraphUpdate","updateSVGheight","updateSVGheightOnResize","forceGraphUpdate","lastStart","groupsUsingDefaultStyles","DataAxis","GraphGroup","Legend","Bars","Lines","yAxisLeft","yAxisRight","legendLeft","legendRight","_removeGroup","_updateAllGroupData","removeGroup","_updateGroup","addGroup","groupsContent","idMap","groupCounts","existingItemsMap","existing_items","newLength","extended","orginalY","_updateGraph","rangePerPixelInv","_getSortedGroupIds","zIndex","az","bz","groupRanges","minDate","toGlobalTime","maxDate","_getRelevantData","_applySampling","_convertXcoordinates","_getYRanges","_updateYAxis","below","excludeFromStacking","_stack","_convertYcoordinates","paths","calcPath","subGroupId","drawShading","subData","subPrevPoint","subNextPoint","dateComparator","first","last","dataContainer","increment","amountOfPoints","xDistance","toGlobalScreen","pointsPerPixel","sampledData","idx","combinedDataLeft","combinedDataRight","getYRange","getStackedYRange","minVal","maxVal","yAxisLeftUsed","yAxisRightUsed","minLeft","minRight","maxLeft","maxRight","ignore","_toggleAxisVisiblity","drawIcons","master","masterAxis","lineOffset","tempGroups","axisUsed","datapoints","screen_end","svgHeight","convertValue","setZeroPosition","linegraphOptions","icons","majorLinesOffset","minorLinesOffset","labelOffsetX","labelOffsetY","alignZeros","linegraphSVG","DOMelements","labels","conversionFactor","minWidth","stepPixels","zeroCrossing","amountOfSteps","iconsRemoved","amountOfGroups","lineContainer","DataScale","graphOptions","_redrawGroupIcons","iconOffset","groupArray","getLegend","_cleanupIcons","activeGroups","_redrawLabels","_redrawTitle","customRange","autoScaleEnd","autoScaleStart","followScale","maxLabelSize","getLines","major","_redrawLabel","_redrawLine","titleWidth","titleCharHeight","screenToValue","characterHeight","textAlign","largestWidth","textMinor","textMajor","textTitle","measureCharTitle","titleCharWidth","zeroAlign","formattingFunction","majorSteps","minorSteps","customLines","minorStepIdx","magnitudefactor","determineScale","rounded","setCharHeight","setHeight","minimumStepValue","orderOfMagnitude","solutionFound","is_major","getFirstMajor","majorStep","formatValue","bottomOffset","oldStepIdx","oldStart","oldEnd","increaseMagnitude","decreaseMagnitude","otherZero","otherStep","newRange","myOriginalZero","majorOffset","zeroOffset","pixels","usingDefaultStyle","zeroPosition","icon","yMin","yMax","Bargraph","barWidth","originalWidth","bar1Height","bar2Height","processedGroupData","coreDistance","drawData","combinedData","intersections","barPoints","_getDataIntersections","heightOffset","_getSafeDrawData","nextKey","amount","resolved","accumulatedNegative","accumulatedPositive","dataWidth","pointData","groupLabel","_getStackedYRange","xpos","Line","_catmullRom","_linear","fillPath","pathArray","subPathArray","dFill","zero","serializePath","inverse","_catmullRomUniform","p0","p1","p2","p3","bp1","bp2","d1","d2","d3","A","N","M","d3powA","d2powA","d3pow2A","d2pow2A","d1pow2A","d1powA","side","iconSize","iconSpacing","excludeFromLegend","textArea","scrollableHeight","drawLegendIcons","paddingTop","parseDOT","parseGraph","nextPreview","isAlphaNumeric","regexAlphaNumeric","merge","setValue","addNode","graphs","attr","addEdge","createEdge","getToken","tokenType","TOKENTYPE","NULL","token","isComment","DELIMITER","c2","DELIMITERS","IDENTIFIER","newSyntaxError","UNKNOWN","SyntaxError","chop","strict","parseStatements","parseStatement","subgraph","parseSubgraph","parseEdge","parseAttributeStatement","parseNodeStatement","subgraphs","parseAttributeList","edgeStyles","dashed","solid","dotted","maxLength","forEach2","array1","array2","elem1","elem2","setProp","convertAttr","mapping","visProp","visPropI","DOTToGraph","dotData","graphData","dotNode","graphNode","NODE_ATTR_MAPPING","convertEdge","dotEdge","graphEdge","EDGE_ATTR_MAPPING","subEdge","fontsize","fontcolor","labelfontcolor","fontname","fillcolor","labeltooltip","{","}","[","]",";","=",",","->","--","parseGephi","gephiJSON","inheritColor","gEdges","gNodes","gEdge","gNode","_CachedImage","_CachedImage2","Images","images","imageBroken","url","brokenUrl","imageToLoadBrokenUrlOn","onerror","imageToRedrawWith","cachedImage","img","onload","_fixImageCoordinates","init","_redrawWithImage","_tryloadBrokenUrl","imageToCache","_slicedToArray2","_slicedToArray3","LabelSplitter","multiFontStyle","edgelabel","fontOptions","isEdgeLabel","elementOptions","initFontOptions","newFontOptions","parseFontString","vadjust","constrainWidth","maxWdt","minWdt","constrainHeight","minHgt","valign","widthConstraint","widthConstraintMaximum","widthConstraintMinimum","heightConstraint","heightConstraintMinimum","heightConstraintValign","propagateFonts","constrain","margins","widthBias","heightBias","dstPile","srcPile","addFontToPile","tmpShorthand","opt","multiName","multiFont","optionNames","mod","getFontOption","fontPile","addFontOptionsToPile","getBasicOptions","modOptions","tmpMultiFontOptions","getFontOptions","baseline","viewFontSize","drawThreshold","maxVisible","_drawBackground","_drawText","fillRect","_setAlignment2","_setAlignment","_setAlignment3","blocks","block","_getColor2","_getColor","strokeColor","_getColor3","fontColor","lineJoin","strokeText","fillText","textBaseline","initialStrokeColor","_processLabel","face","labelHighlightBold","fontString","selectedState","hoverState","inText","process","state","_processLabelText","outOptions","inOptions","newOptionsArray","EndPoints","EdgeBase","colorDirty","getColor","_drawDashedLine","_drawLine","_line","_getCircleData2","_getCircleData","_getCircleData3","_circle","lineCap","pattern","lineDashOffset","_getCircleData4","_getCircleData5","dashedLine","_getCircleData6","_getCircleData7","_x","_y","_radius","_findBorderPosition","_findBorderPositionCircle","_getCircleData$slice","_getCircleData$slice2","grd","createLinearGradient","addColorStop","arc","_getDistanceToEdge","_getCircleData8","_getCircleData9","py","something","u","arrowPoint","guideOffset","findBorderPosition","guidePos","_getCircleData10","_getCircleData11","EndPoint","points","xt","yt","closePath","Arrow","_EndPoint","transform","drawPath","Bar","BarnesHutSolver","physicsBody","barnesHutTree","randomSeed","thetaInversed","theta","overlapAvoidanceFactor","avoidOverlap","gravitationalConstant","physicsNodeIndices","nodeIndices","nodeCount","_formBarnesHutTree","_getForceContributions","parentBranch","_getForceContribution","children","NW","NE","SW","SE","childrenCount","centerOfMass","calcSize","_calculateForces","gravityForce","fx","fy","forces","_node","rootSize","halfRootSize","centerX","centerY","level","_splitBranch","_placeInTree","totalMass","totalMassInv","biggestSize","skipMassUpdate","_updateBranchMass","region","_placeInRegion","seededRandom","containedNode","_insertRegion","childSize","_drawBranch","branch","CentralGravitySolver","centralGravity","endPoints","multi","bold","boldital","ital","mono","roundness","forceDirection","maximum","useDefaultGroups","interaction","dragNodes","dragView","hideEdgesOnDrag","hideNodesOnDrag","keyboard","speed","bindToWindow","navigationButtons","selectConnectedEdges","hoverConnectedEdges","tooltipDelay","zoomView","layout","improvedLayout","hierarchical","levelSeparation","nodeSpacing","treeSpacing","blockShifting","edgeMinimization","parentCentralization","sortMethod","manipulation","initiallyActive","editNode","editEdge","editWithoutDrag","deleteNode","deleteEdge","controlNodeStyle","borderWidthSelected","minimum","useBorderWithImage","barnesHut","springLength","springConstant","damping","forceAtlas2Based","repulsion","nodeDistance","hierarchicalRepulsion","maxVelocity","minVelocity","stabilization","iterations","updateInterval","onlyDynamicEdges","timestep","adaptiveTimestep","addToUnscopables","_k","Arguments","getKeys","toLength","toAbsoluteIndex","IS_INCLUDES","$this","el","fromIndex","toInteger","documentElement","TO_STRING","charCodeAt","getIterator","iterFn","classof","getIteratorMethod","$Object","D","DESCRIPTORS","META","$fails","wks","wksDefine","enumKeys","gOPNExt","$GOPD","$DP","gOPN","$JSON","stringify","HIDDEN","TO_PRIMITIVE","isEnum","SymbolRegistry","AllSymbols","OPSymbols","USE_NATIVE","QObject","setter","findChild","setSymbolDesc","protoDesc","wrap","sym","isSymbol","iterator","$defineProperty","$defineProperties","$create","$propertyIsEnumerable","E","$getOwnPropertyDescriptor","$getOwnPropertyNames","$getOwnPropertySymbols","IS_OP","$set","es6Symbols","wellKnownSymbols","for","keyFor","useSetter","useSimple","replacer","$replacer","setDesc","isExtensible","FREEZE","preventExtensions","setMeta","w","fastKey","getWeak","onFreeze","meta","NEED","gOPS","getSymbols","symbols","arg","windowNames","getWindowNames","hooks","hookCallback","isObjectEmpty","isUndefined","res","hasOwnProp","createUTC","createLocalOrUTC","utc","defaultParsingFlags","empty","unusedTokens","unusedInput","charsLeftOver","nullInput","invalidMonth","invalidFormat","userInvalidated","iso","parsedDateParts","meridiem","rfc2822","weekdayMismatch","getParsingFlags","_pf","isValid","_isValid","flags","parsedParts","isNowValid","invalidWeekday","_strict","bigHour","isFrozen","createInvalid","NaN","copyConfig","_f","_l","_tzm","_isUTC","_offset","_locale","momentProperties","Moment","config","updateInProgress","updateOffset","absFloor","toInt","argumentForCoercion","coercedNumber","compareArrays","dontConvert","lengthDiff","diffs","suppressDeprecationWarnings","deprecate","firstTime","deprecationHandler","deprecateSimple","deprecations","isFunction","_config","_dayOfMonthOrdinalParseLenient","_dayOfMonthOrdinalParse","_ordinalParse","mergeConfigs","parentConfig","childConfig","Locale","calendar","mom","output","_calendar","longDateFormat","_longDateFormat","formatUpper","invalidDate","_invalidDate","ordinal","_ordinal","relativeTime","withoutSuffix","isFuture","_relativeTime","pastFuture","addUnitAlias","unit","shorthand","lowerCase","aliases","normalizeUnits","units","normalizeObjectUnits","inputObject","normalizedProp","normalizedInput","addUnitPriority","priority","priorities","getPrioritizedUnits","unitsObj","zeroFill","targetLength","forceSign","absNumber","zerosToFill","addFormatToken","padded","func","formatTokenFunctions","localeData","removeFormattingTokens","makeFormatFunction","formattingTokens","formatMoment","expandFormat","formatFunctions","replaceLongDateFormatTokens","localFormattingTokens","lastIndex","addRegexToken","regex","strictRegex","regexes","isStrict","getParseRegexForToken","unescapeFormat","regexEscape","matched","p4","addParseToken","tokens","addWeekParseToken","_w","addTimeToArrayFromToken","_a","daysInYear","isLeapYear","getIsLeapYear","makeGetSet","keepTime","set$1","daysInMonth","stringGet","stringSet","prioritized","modMonth","localeMonths","_months","isFormat","MONTHS_IN_FORMAT","localeMonthsShort","_monthsShort","handleStrictParse","monthName","llc","toLocaleLowerCase","_monthsParse","_longMonthsParse","_shortMonthsParse","monthsShort","months","localeMonthsParse","_monthsParseExact","setMonth","dayOfMonth","monthsParse","getSetMonth","getDaysInMonth","monthsShortRegex","computeMonthsParse","_monthsShortStrictRegex","_monthsShortRegex","defaultMonthsShortRegex","monthsRegex","_monthsStrictRegex","_monthsRegex","defaultMonthsRegex","cmpLenRev","shortPieces","longPieces","mixedPieces","createDate","ms","getFullYear","setFullYear","createUTCDate","UTC","getUTCFullYear","setUTCFullYear","firstWeekOffset","dow","doy","fwd","getUTCDay","dayOfYearFromWeeks","resYear","resDayOfYear","localWeekday","weekOffset","weekOfYear","resWeek","weeksInYear","weekOffsetNext","localeWeek","_week","localeFirstDayOfWeek","localeFirstDayOfYear","getSetWeek","getSetISOWeek","parseWeekday","weekdaysParse","parseIsoWeekday","localeWeekdays","_weekdays","localeWeekdaysShort","_weekdaysShort","localeWeekdaysMin","_weekdaysMin","handleStrictParse$1","weekdayName","_weekdaysParse","_shortWeekdaysParse","_minWeekdaysParse","weekdaysMin","weekdaysShort","weekdays","localeWeekdaysParse","_weekdaysParseExact","_fullWeekdaysParse","getSetDayOfWeek","getDay","getSetLocaleDayOfWeek","getSetISODayOfWeek","weekdaysRegex","computeWeekdaysParse","_weekdaysStrictRegex","_weekdaysRegex","defaultWeekdaysRegex","weekdaysShortRegex","_weekdaysShortStrictRegex","_weekdaysShortRegex","defaultWeekdaysShortRegex","weekdaysMinRegex","_weekdaysMinStrictRegex","_weekdaysMinRegex","defaultWeekdaysMinRegex","minp","shortp","longp","minPieces","hFormat","kFormat","lowercase","matchMeridiem","_meridiemParse","localeIsPM","localeMeridiem","isLower","normalizeLocale","chooseLocale","loadLocale","globalLocale","oldLocale","_abbr","getSetGlobalLocale","getLocale","defineLocale","baseConfig","abbr","parentLocale","localeFamilies","updateLocale","tmpLocale","listLocales","checkOverflow","MONTH","DATE","YEAR","HOUR","MINUTE","SECOND","MILLISECOND","_overflowDayOfYear","_overflowWeeks","WEEK","_overflowWeekday","WEEKDAY","defaults","currentDateArray","nowValue","_useUTC","getUTCMonth","getUTCDate","getMonth","getDate","configFromArray","currentDate","expectedWeekday","yearToUse","dayOfYearFromWeekInfo","_dayOfYear","_nextDay","setUTCMinutes","getUTCMinutes","weekYear","temp","weekdayOverflow","GG","createLocal","curWeek","gg","configFromISO","allowTime","dateFormat","timeFormat","tzFormat","extendedIsoRegex","basicIsoRegex","isoDates","isoTimes","tzRegex","configFromStringAndFormat","extractFromRFC2822Strings","yearStr","monthStr","dayStr","hourStr","minuteStr","secondStr","untruncateYear","defaultLocaleMonthsShort","preprocessRFC2822","checkWeekday","weekdayStr","parsedInput","defaultLocaleWeekdaysShort","calculateOffset","obsOffset","militaryOffset","numOffset","obsOffsets","hm","configFromRFC2822","parsedArray","configFromString","aspNetJsonRegex","createFromInputFallback","ISO_8601","RFC_2822","skipped","stringLength","totalParsedInputLength","_meridiem","meridiemFixWrap","isPm","meridiemHour","isPM","configFromStringAndArray","tempConfig","bestMoment","scoreToBeat","currentScore","score","configFromObject","createFromConfig","prepareConfig","preparse","configFromInput","isUTC","pickBy","moments","isDurationValid","ordering","unitHasDecimal","isValid$1","createInvalid$1","createDuration","Duration","years","quarters","quarter","weeks","days","_milliseconds","_days","_bubble","isDuration","absRound","separator","utcOffset","offsetFromString","matcher","matches","chunk","chunkOffset","cloneWithOffset","model","setTime","local","getDateOffset","getTimezoneOffset","getSetOffset","keepLocalTime","keepMinutes","localAdjust","matchShortOffset","_changeInProgress","addSubtract","getSetZone","setOffsetToUTC","setOffsetToLocal","setOffsetToParsedOffset","tZone","matchOffset","hasAlignedHourOffset","isDaylightSavingTime","isDaylightSavingTimeShifted","_isDSTShifted","isLocal","isUtcOffset","isUtc","diffRes","aspNetRegex","isoRegex","parseIso","momentsDifference","inp","positiveMomentsDifference","isAfter","isBefore","createAdder","period","dur","isAdding","getCalendarFormat","myMoment","calendar$1","formats","sod","startOf","calendarFormat","localInput","endOf","isBetween","inclusivity","inputMs","isSameOrAfter","isSameOrBefore","asFloat","zoneDelta","monthDiff","anchor2","adjust","wholeMonthDiff","keepOffset","inspect","zone","suffix","inputString","defaultFormatUtc","postformat","humanize","fromNow","toNow","newLocaleData","isoWeekday","unix","toJSON","isValid$2","parsingFlags","invalidAt","creationData","addWeekYearFormatToken","getSetWeekYear","getSetWeekYearHelper","getSetISOWeekYear","isoWeek","getISOWeeksInYear","getWeeksInYear","weekInfo","weeksTarget","setWeekAll","dayOfYearData","getSetQuarter","getSetDayOfYear","parseMs","getZoneAbbr","getZoneName","createUnix","createInZone","parseZone","preParsePostFormat","get$1","listMonthsImpl","listWeekdaysImpl","localeSorted","listMonths","listMonthsShort","listWeekdays","listWeekdaysShort","listWeekdaysMin","mathAbs","addSubtract$1","add$1","subtract$1","absCeil","bubble","monthsFromDays","monthsToDays","daysToMonths","as","valueOf$1","makeAs","alias","clone$1","get$2","makeGetter","substituteTimeAgo","relativeTime$1","posNegDuration","thresholds","ss","getSetRelativeTimeRounding","roundingFunction","getSetRelativeTimeThreshold","limit","withSuffix","toISOString$1","abs$1","Y","toFixed","asSeconds","totalSign","ymSign","daysSign","hmsSign","fun","defaultCalendar","sameDay","nextDay","lastDay","lastWeek","sameElse","defaultLongDateFormat","LTS","LT","L","LL","LLL","LLLL","defaultDayOfMonthOrdinalParse","defaultRelativeTime","future","past","mm","hh","dd","MM","yy","match1","match2","match3","match4","match6","match1to2","match3to4","match5to6","match1to3","match1to4","match1to6","matchUnsigned","matchSigned","matchTimestamp","matchWord","parseTwoDigitYear","getSetYear","defaultLocaleMonths","defaultLocaleWeek","defaultLocaleWeekdays","defaultLocaleWeekdaysMin","kInput","_isPm","pos1","pos2","defaultLocaleMeridiemParse","getSetHour","dayOfMonthOrdinalParse","meridiemParse","UT","GMT","EDT","EST","CDT","CST","MDT","MST","PDT","PST","prototypeMin","prototypeMax","invalid","isoWeekYear","getSetDayOfMonth","getSetMinute","getSetSecond","getSetMillisecond","isoWeeks","isoWeeksInYear","isDST","zoneAbbr","zoneName","isDSTShifted","proto$1","firstDayOfYear","firstDayOfWeek","langData","asMilliseconds","asMinutes","asHours","asDays","asWeeks","asMonths","asYears","proto$2","toIsoString","relativeTimeRounding","relativeTimeThreshold","HTML5_FMT","DATETIME_LOCAL","DATETIME_LOCAL_SECONDS","DATETIME_LOCAL_MS","TIME","TIME_SECONDS","TIME_MS","webpackPolyfill","webpackEmptyContext","req","resolve","buf","oct","_hexToByte","unparse","bth","_byteToHex","v1","clockseq","_clockseq","msecs","nsecs","_lastNSecs","dt","_lastMSecs","tl","tmh","_nodeId","rnds","rng","_rng","globalVar","crypto","getRandomValues","_rnds8","Uint8Array","_rnds","_seedBytes","eval","Graph3d","graph3d","containerElement","DataGroup","Settings","colX","colY","colZ","colValue","getMouseX","targetTouches","getMouseY","_assign","_assign2","_require2","legendLabel","xLabel","zLabel","xValueLabel","yValueLabel","zValueLabel","showXAxis","showYAxis","showZAxis","showGrid","showPerspective","showShadow","keepAspectRatio","verticalRatio","dotSizeRatio","dotSizeMinFraction","dotSizeMaxFraction","showAnimationControls","animationInterval","animationAutoStart","axisColor","gridColor","xCenter","yCenter","boxShadow","borderLeft","xBarWidth","yBarWidth","valueMin","valueMax","xMin","xMax","xStep","yStep","zMin","zMax","zStep","_setScale","xRange","yRange","zRange","valueRange","zCenter","_convert3Dto2D","point3d","translation","_convertPointToTranslation","_convertTranslationToScreen","ax","ay","cx","cy","cz","sinTx","cosTx","sinTy","cosTy","sinTz","cosTz","bx","by","ex","ey","ez","dz","currentXCenter","canvas","currentYCenter","_calcTranslations","trans","screen","transBottom","dist","sortDepth","_initializeRanges","dg","getDataPoints","dataX","dataY","dataMatrix","xIndex","yIndex","pointRight","pointTop","pointCross","_checkValueField","pointNext","noCanvas","fontWeight","ontouchstart","_onTouchStart","onmousewheel","_onWheel","ontooltip","_onTooltip","_onClick","_setSize","_resizeCanvas","animationStart","dataFilter","slider","animationStop","_resizeCenter","getCameraPosition","_readData","initializeData","_redrawFilter","validate","setPointDrawingMethod","getDataTable","_redrawBarGraphPoint","_redrawBarColorGraphPoint","_redrawBarSizeGraphPoint","_redrawDotGraphPoint","_redrawDotLineGraphPoint","_redrawDotColorGraphPoint","_redrawDotSizeGraphPoint","_redrawSurfaceGraphPoint","_redrawGridGraphPoint","_redrawLineGraphPoint","_pointDrawingMethod","_redrawSlider","_redrawClear","_redrawAxis","_redrawDataGraph","_redrawInfo","_redrawLegend","_getContext","getContext","clearRect","_dotSize","_getLegendWidth","isSizeLegend","isValueLegend","ymax","hue","_hsv2rgb","strokeRect","widthMin","legendMin","legendMax","info","getInfo","lineStyle","drawAxisLabelX","armAngle","yMargin","point2d","drawAxisLabelY","drawAxisLabelZ","_line3d","from2d","to2d","xText","yText","zText","gridLenX","gridLenY","textMargin","armVector","defaultXStep","defaultYStep","_msg","defaultZStep","from3d","_msg2","xMin2d","xMax2d","H","V","Hi","X","_getStrokeWidth","_redrawBar","xWidth","yWidth","surfaces","corners","transCenter","_polygon","_drawCircle","_calcRadius","_getColorsRegular","_getColorsColor","_getColorsSize","colors","fraction","dotSize","sizeMin","sizeRange","cross","topSideVisible","aDiff","bDiff","zAvg","_drawGridLine","_storeMousePosition","startMouseX","startMouseY","_startCameraOffset","leftButtonDown","touchDown","startStart","startEnd","startArmRotation","moving","diffX","diffY","scaleX","scaleY","offXNew","offYNew","horizontalNew","verticalNew","snapValue","parameters","boundingRect","mouseX","mouseY","dataPoint","_dataPointFromXY","tooltipTimeout","_hideTooltip","_showTooltip","ontouchmove","_onTouchMove","ontouchend","_onTouchEnd","oldLength","_insideTriangle","triangle","bs","cs","closestDataPoint","closestDist","triangle1","triangle2","distX","distY","hasBars","dotWidth","dotHeight","setSize","assign","$assign","K","aLen","desc","colorOptions","dataTable","rawData","_onChange","withBars","defaultXBarWidth","getSmallestDifference","defaultYBarWidth","_initializeRange","getColumnRange","_setRangeDefaults","defaultValueMin","defaultValueMax","_collectRangeSettings","upper","range_label","step_label","settings","expand","smallest_diff","getNumberOfRows","defaultMin","defaultMax","initDataAsMatrix","reload","combine","newMin","newMax","_firstTarget","events","propagatedHandler","_handled","stopped","srcStop","firstTarget","elemHammer","_handlers","Manager","PropagatingHammer","pointerType","handler","eventType","hammers","exportName","setTimeoutContext","timeout","bindFn","invokeArrayArg","each","deprecationMessage","child","childP","baseP","_super","boolOrFn","TYPE_FUNCTION","ifUndefined","val1","val2","addEventListeners","splitStr","removeEventListeners","inStr","find","inArray","findByKey","uniqueArray","results","prefixed","camelProp","VENDOR_PREFIXES","uniqueId","_uniqueId","getWindowForElement","doc","ownerDocument","defaultView","parentWindow","Input","manager","inputTarget","domHandler","ev","createInputInstance","inputClass","SUPPORT_POINTER_EVENTS","PointerEventInput","SUPPORT_ONLY_TOUCH","TouchInput","SUPPORT_TOUCH","TouchMouseInput","MouseInput","pointersLen","pointers","changedPointersLen","changedPointers","INPUT_START","INPUT_END","INPUT_CANCEL","session","computeInputData","recognize","prevInput","pointersLength","firstInput","simpleCloneInputData","firstMultiple","offsetCenter","getCenter","timeStamp","deltaTime","getAngle","getDistance","computeDeltaXY","offsetDirection","getDirection","overallVelocity","getVelocity","overallVelocityX","overallVelocityY","rotation","getRotation","maxPointers","computeIntervalInputData","offsetDelta","prevDelta","velocity","velocityX","velocityY","lastInterval","COMPUTE_INTERVAL","DIRECTION_NONE","DIRECTION_LEFT","DIRECTION_RIGHT","DIRECTION_UP","DIRECTION_DOWN","PROPS_XY","PROPS_CLIENT_XY","evEl","MOUSE_ELEMENT_EVENTS","evWin","MOUSE_WINDOW_EVENTS","pressed","POINTER_ELEMENT_EVENTS","POINTER_WINDOW_EVENTS","pointerEvents","SingleTouchInput","evTarget","SINGLE_TOUCH_TARGET_EVENTS","SINGLE_TOUCH_WINDOW_EVENTS","started","normalizeSingleTouches","all","touches","changedTouches","TOUCH_TARGET_EVENTS","targetIds","getTouches","allTouches","INPUT_MOVE","identifier","changedTargetTouches","mouse","primaryTouch","lastTouches","recordTouches","eventData","setLastTouch","lastTouch","lts","removeLastTouch","DEDUP_TIMEOUT","isSyntheticEvent","DEDUP_DISTANCE","TouchAction","cleanTouchActions","actions","TOUCH_ACTION_NONE","hasPanX","TOUCH_ACTION_PAN_X","hasPanY","TOUCH_ACTION_PAN_Y","TOUCH_ACTION_MANIPULATION","TOUCH_ACTION_AUTO","Recognizer","STATE_POSSIBLE","simultaneous","requireFail","stateStr","STATE_CANCELLED","STATE_ENDED","STATE_CHANGED","STATE_BEGAN","directionStr","getRecognizerByNameIfManager","otherRecognizer","recognizer","AttrRecognizer","PanRecognizer","pX","pY","PinchRecognizer","PressRecognizer","_timer","_input","RotateRecognizer","SwipeRecognizer","TapRecognizer","pTime","pCenter","recognizers","preset","handlers","oldCssProps","touchAction","toggleCssProps","recognizeWith","requireFailure","cssProps","triggerDomEvent","gestureEvent","createEvent","initEvent","gesture","dispatchEvent","TEST_ELEMENT","dest","MOBILE_REGEX","MOUSE_INPUT_MAP","mousedown","mousemove","mouseup","POINTER_INPUT_MAP","pointerdown","pointermove","pointerup","pointercancel","pointerout","IE10_POINTER_TYPE_ENUM","2","3","4","5","MSPointerEvent","PointerEvent","removePointer","eventTypeNormalized","isTouch","storeIndex","pointerId","SINGLE_TOUCH_INPUT_MAP","touchstart","touchmove","touchend","touchcancel","TOUCH_INPUT_MAP","inputEvent","inputData","isMouse","sourceCapabilities","firesTouchEvents","PREFIXED_TOUCH_ACTION","NATIVE_TOUCH_ACTION","TOUCH_ACTION_MAP","touchMap","cssSupports","CSS","supports","compute","preventDefaults","prevented","hasNone","isTapPointer","isTapMovement","isTapTouchTime","preventSrc","STATE_RECOGNIZED","dropRecognizeWith","dropRequireFailure","hasRequireFailures","canRecognizeWith","additionalEvent","tryEmit","canEmit","inputDataClone","attrTest","optionPointers","isRecognized","directionTest","hasMoved","inOut","validPointers","validMovement","validTime","taps","posThreshold","validTouchTime","failTimeout","validInterval","validMultiTap","tapCount","VERSION","domEvents","userSelect","touchSelect","touchCallout","contentZooming","userDrag","tapHighlightColor","curRecognizer","existing","STATE_FAILED","Tap","Pan","Swipe","Pinch","Rotate","Press","Timeline","Graph2d","timeline","forthArgument","directionFromDom","domNode","parentElement","ondblclick","oncontextmenu","onpointerdown","onpointermove","onpointerup","initialFitDone","getItemRange","getStart","getEnd","getItemVerticalScroll","leftHeight","shouldScroll","itemTop","currentScrollHeight","targetOffset","scrollOffset","newDataSet","focus","startPos","initialVerticalScroll","verticalAnimationFrame","willDraw","setFinalVerticalPosition","finalVerticalScroll","finalVerticalCallback","minItem","maxItem","startSide","endSide","lhs","rhs","snappedTime","what","pageX","pageY","toggleRollingMode","generated","centerCoordinates","hueCircle","initialColor","previousColor","applied","updateCallback","closeCallback","_bindHammer","htmlColors","black","navy","darkblue","mediumblue","darkgreen","teal","darkcyan","deepskyblue","darkturquoise","mediumspringgreen","lime","springgreen","aqua","cyan","midnightblue","dodgerblue","lightseagreen","forestgreen","seagreen","darkslategray","limegreen","mediumseagreen","turquoise","royalblue","steelblue","darkslateblue","mediumturquoise","indigo","darkolivegreen","cadetblue","cornflowerblue","mediumaquamarine","dimgray","slateblue","olivedrab","slategray","lightslategray","mediumslateblue","lawngreen","chartreuse","aquamarine","maroon","purple","olive","gray","skyblue","lightskyblue","blueviolet","darkred","darkmagenta","saddlebrown","darkseagreen","lightgreen","mediumpurple","darkviolet","palegreen","darkorchid","yellowgreen","sienna","brown","darkgray","lightblue","greenyellow","paleturquoise","lightsteelblue","powderblue","firebrick","darkgoldenrod","mediumorchid","rosybrown","darkkhaki","silver","mediumvioletred","indianred","peru","chocolate","tan","lightgrey","palevioletred","thistle","orchid","goldenrod","crimson","gainsboro","plum","burlywood","lightcyan","lavender","darksalmon","violet","palegoldenrod","lightcoral","khaki","aliceblue","honeydew","azure","sandybrown","wheat","beige","whitesmoke","mintcream","ghostwhite","salmon","antiquewhite","linen","lightgoldenrodyellow","oldlace","fuchsia","magenta","deeppink","orangered","tomato","hotpink","coral","darkorange","lightsalmon","orange","lightpink","pink","gold","peachpuff","navajowhite","moccasin","bisque","mistyrose","blanchedalmond","papayawhip","lavenderblush","seashell","cornsilk","lemonchiffon","floralwhite","snow","yellow","lightyellow","ivory","white","setInitial","htmlColor","_isColorString","rgbaArray","_rgbaArray","rgbObj","_setColor","_generateHueCircle","_hide","_updatePicker","alert","angleConvert","colorPickerSelector","colorPickerCanvas","pixelRation","devicePixelRatio","webkitBackingStorePixelRatio","mozBackingStorePixelRatio","msBackingStorePixelRatio","oBackingStorePixelRatio","backingStorePixelRatio","setTransform","putImageData","brightnessRange","opacityRange","initialColorDiv","newColorDiv","colorPickerDiv","opacityDiv","brightnessDiv","arrowDiv","_setOpacity","_setBrightness","brightnessLabel","opacityLabel","cancelButton","applyButton","_apply","saveButton","_save","loadButton","_loadLast","pinch","_moveSelector","sat","sfac","getImageData","newLeft","linegraph","initialLoad","isGroupVisible","Network","network","dotparser","gephiParser","convertDot","convertGephi","edgeIndices","eventListeners","onTap","onDoubleTap","onHold","onDragStart","onDrag","onDragEnd","onPinch","onMouseMove","onContext","functions","createNode","bindEventListeners","Groups","Canvas","selectionHandler","SelectionHandler","interactionHandler","InteractionHandler","View","renderer","CanvasRenderer","PhysicsEngine","layoutEngine","LayoutEngine","clustering","ClusterEngine","ManipulationSystem","nodesHandler","NodesHandler","edgesHandler","EdgesHandler","KamadaKawai","networkOptions","_updateVisibleIndices","_isClusteredNode","fromNode","toNode","edgeNodesPresent","_isClusteredEdge","_updateState","_updateValueRange","unselectAll","gephi","gephiData","valueTotal","setValueRange","canvasToDOM","DOMtoCanvas","findNode","isCluster","openCluster","cluster","getNodesInCluster","clusterByConnection","clusterByHubsize","clusterOutliers","getSeed","enableEditMode","disableEditMode","addNodeMode","editNodeMode","addEdgeMode","editEdgeMode","deleteSelected","getPositions","storePositions","moveNode","getBoundingBox","getConnectedNodes","objectId","getConnectedEdges","startSimulation","stopSimulation","stabilize","getSelectedNodes","getSelectedEdges","getNodeAt","getEdgeAt","selectNodes","selectEdges","getViewPosition","releaseNode","getOptionsFromConfigurator","CanvasRenderingContext2D","square","s2","ir","triangleDown","star","diamond","roundRect","r2d","ellipse_vis","ox","oy","xe","ye","xm","ym","database","wEllipse","hEllipse","ymb","yeb","patternLength","slope","distRemaining","patternIndex","dashLength","hexagon","edit","del","back","addDescription","edgeDescription","editEdgeDescription","createEdgeError","deleteClusterError","editClusterError","CachedImage","NUM_ITERATIONS","h2","h4","h8","h16","w4","w8","w16","coordinates","_fillMipMap","drawImage","_to","defaultIndex","groupsArray","defaultGroups","optionFields","groupName","groupname","shouldCreate","_index","nodesListeners","_nodeId2","doNotEmit","oldNodesData","newNodes","positionInitially","changedData","oldValue","clearPositions","dataArray","_node2","nodeList","nodeObj","edgeList","isIterable","LabelAccumulator","textWidth","measureText","finalize","nlLines","splitBlocks","_text","splitStringIntoLines","_mod","_text2","append","newLine","_i2","markupSystem","system","spacing","buffer","modStack","modName","emitBlock","ch","unshift","beginable","decodeMarkupSystem","splitMarkdownBlocks","splitHtmlBlocks","curWidth","words","pre","newText","overMaxWidth","appendLast","getLongestFit","word","getLongestFitWord","newW","tmpText","_add","tmpLines","tmpLine","firstEmptyBlock","tmpBlocks","determineLineHeights","determineLabelSize","removeEmptyBlocks","_setMargins","dimensions","getDimensionsFromLabel","_addBoundingBoxMargin","$getPrototypeOf","setPrototypeOf","buggy","_CircleImageBase2","_CircleImageBase3","_CircleImageBase","diameter","_drawRawCircle","_resizeImage","switchImages","clip","_drawImageAtPosition","_drawImageLabel","_distanceToBorder","_ShapeBase2","_ShapeBase3","_ShapeBase","_drawShape","_icon","neutralborderWidth","selectionLineWidth","edgesListeners","edgeData","smoothOptions","reconnectEdges","_edgeId","oldEdgesData","edgesData","oldEdge","showInternalIds","_addMissingEdges","_removeInvalidEdges","edgesToDelete","addIds","_CubicBezierEdgeBase2","_CubicBezierEdgeBase3","_CubicBezierEdgeBase","viaNodes","via1","via2","_bezierCurve","_findBorderPositionBezier","_ref","_ref2","_getDistanceToBezierEdge","_ref3","_ref4","vec","_BezierEdgeBase2","_BezierEdgeBase3","CubicBezierEdgeBase","_BezierEdgeBase","_boundFunction","positionBezierNode","physicsChange","setupSupportNode","parentEdgeId","cr","xVia","yVia","stepX","stepY","_stepX","_stepY","_stepX2","_stepY2","pi","originalAngle","myAngle","_pi","_originalAngle","_myAngle","_stepX3","_stepY3","edgeSegmentLength","toBorderDist","toBorderPoint","borderPos","Repulsion","HierarchicalRepulsion","SpringSolver","HierarchicalSpringSolver","ForceAtlas2BasedRepulsionSolver","ForceAtlas2BasedCentralGravitySolver","physicsEdgeIndices","velocities","physicsEnabled","simulationInterval","requiresTimeout","previousStates","referenceState","freezeCache","renderTimer","adaptiveTimestepEnabled","adaptiveCounter","adaptiveInterval","stabilized","startedStabilization","stabilizationIterations","ready","layoutFailed","initPhysics","updatePhysicsData","nodesSolver","edgesSolver","gravitySolver","modelOptions","viewFunction","simulationStep","_emitStabilized","startTime","physicsTick","runDoubleSpeed","amountOfIterations","solve","moveNodes","_evaluateStepQuality","_startStabilizing","physicsStep","revert","adjustTimeStep","nodeIds","positions","vx","vy","reference","maxNodeVelocity","averageNodeVelocity","nodeVelocity","_performStep","maxV","calculateComponentVelocity","targetIterations","_freezeNodes","_stabilizationBatch","running","sendProgress","_finalizeStabilization","_restoreFrozenNodes","forceSize","arrowSize","RepulsionSolver","repulsingForce","HierarchicalRepulsionSolver","edgeLength","node3","_calculateSpringForce","springForce","springFx","springFy","totalFx","totalFy","_i3","correctionFx","correctionFy","_i4","_nodeId3","_BarnesHutSolver2","_BarnesHutSolver3","_BarnesHutSolver","degree","_CentralGravitySolver2","_CentralGravitySolver3","_CentralGravitySolver","Cluster","clusteredNodes","clusteredEdges","hubsize","_getHubSize","_checkOptions","nodesToCluster","refreshData","joinCondition","childNodesObj","childEdgesObj","cloneOptions","_cluster","edgeCount","clusters","usedNodes","relevantEdgeCount","checkJoinCondition","findClusterData","foundCluster","gatheringSuccessful","childNodeId","_getConnectedId","_m","clusterByEdgeCount","clusterNodeProperties","parentNodeId","parentClonedOptions","childClonedOptions","childNodeIDs","childNode","childEdge","clusterEdgeProperties","otherNodeId","childKeys","createEdges","newEdges","_j3","createdEdge","_edge","newEdge","matchToDirection","matchFromDirection","_createClusteredEdge","clusteringEdgeReplacingIds","edgeReplacedById","_backupEdgeOptions","tmpNodesToRemove","allowSingleNodeCluster","processProperties","childNodesOptions","childEdgesOptions","_clonedOptions","clusterId","_getClusterPosition","clusterNode","containedNodes","containedEdges","_clusterEdges","originalOptions","clusterNodeId","parentIndex","parentClusterNodeId","_openChildCluster","releaseFunction","clusterPosition","newPositions","_nodeId4","_containedNode","_nodeId5","_containedNode2","edgesToBeDeleted","otherNode","transferId","transferEdge","otherCluster","_restoreEdge","nodesArray","_nodeId6","reverse","clusteredNodeId","startEdgeId","allEdgeIds","getClusteredEdges","clusteredEdgeId","getBaseEdges","IdsToHandle","doneIds","foundIds","nextId","nextEdge","replacingIds","replacingId","average","averageSquared","hubCounter","largestHub","variance","standardDeviation","hubThreshold","baseEdge","extraOptions","childEdges","_obj","_createClusterEdges","_edge2","_nodeId7","clusteredNode","deletedNodeIds","deletedEdgeIds","eachClusterNode","_node3","endPointsValid","replacedIds","numValid","containedEdgeId","containedEdge","deletedEdgeId","_filter","shouldBeClustered","clusterFrom","_getClusterNodeForNode","clusterTo","continueLoop","clustersToOpen","numNodes","allowSingle","_Node","childClusterId","childCluster","clusterEdge","parentClusterEdge","srcId","_initRequestAnimationFrame","mozRequestAnimationFrame","webkitRequestAnimationFrame","msRequestAnimationFrame","redrawRequested","renderingActive","renderRequests","allowRedraw","_determineBrowserMethod","_resizeNodes","_requestRedraw","_startRendering","cancelAnimationFrame","timer","myWindow","_requestNextFrame","_renderStep","_drawEdges","_drawNodes","alwaysShow","topLeft","bottomRight","viewableArea","isSelected","isBoundingBoxOverlappingWith","browserType","resizeTimer","resizeFunction","cameraState","canvasViewCenter","hammerFrame","_cleanUp","previousWidth","previousHeight","widthRatio","heightRatio","newScale","currentViewCenter","distanceFromCenter","tabIndex","_setPixelRatio","_prepareValue","emitEvent","oldWidth","oldHeight","previousRatio","_getCameraState","newWidth","newHeight","_setCameraState","numerator","_determinePixelRatio","_XconvertCanvasToDOM","_YconvertCanvasToDOM","_XconvertDOMtoCanvas","_YconvertDOMtoCanvas","animationSpeed","renderRefreshRate","animationEasingFunction","easingTime","sourceScale","targetScale","sourceTranslation","targetTranslation","lockedOnNodeId","lockedOnNodeOffset","touchTime","initialZoom","zoomLevel","positionDefined","yDistance","xZoomLevel","yZoomLevel","findCenter","animationOptions","nodePosition","lockedOnNode","animateView","locked","_transitionRedraw","viewCenter","_lockedRedraw","finished","NavigationHandler","navigationHandler","popupObj","popupTimer","pinched","checkSelectionChanges","_generateClickEvent","previousSelection","selectAdditionalOnPoint","selectOnPoint","currentSelection","deselectedItems","_determineDifference","selectedItems","firstSet","secondSet","arrayDiff","firstArr","secondArr","selectObject","selectionObj","xFixed","yFixed","scaleOld","preScaleDragPointer","scaleFrac","tx","ty","postScaleDragPointer","popupVisible","_checkHidePopup","_checkShowPopup","hoverObject","pointerObj","previousPopupObjId","nodeUnderCursor","popupType","overlappingNodes","overlappingEdges","popupTargetType","popupTargetId","_pointerToPositionObject","stillOnObj","overNode","iconsCreated","navigationHammers","boundFunctions","activated","configureKeyboardBindings","loadNavigationElements","cleanNavigation","navigationDOM","navigationDivs","navigationDivActions","_fit","bindToRedraw","_stopMovement","boundAction","unbindFromRedraw","hoverObj","updateSelection","selectionChanged","deselectObject","DOM","emptySelection","_initBaseEvent","getClickedItems","highlightEdges","_selectConnectedEdges","_addToSelection","_removeFromSelection","canvasPos","returnNode","positionObject","_getAllNodesOverlappingWith","_getEdgesOverlappingWith","returnEdge","mindist","overlappingEdge","_unselectConnectedEdges","clusterSize","_addToHover","hoverChanged","emitBlurEvent","emitHoverEvent","_hoverConnectedEdges","idArray","RangeError","getItemsOnPoint","_ret","HorizontalStrategy","VerticalStrategy","HierarchicalStatus","childrenReference","parentReference","trees","distributionOrdering","levels","distributionIndex","isTree","treeIndex","treeId","accumulator","_getMaxLevel","nodeA","nodeB","minLevel","min_x","max_x","min_y","max_y","parents1","parents2","curLevel","initialRandomSeed","setPhysics","optionsBackup","setupHierarchicalLayout","layoutNetwork","curveType","prevHierarchicalState","setDirectionStrategy","adaptAllOptionsForHierarchicalLayout","backupPhysics","indices","clusterOptions","startLength","before","clusterBridges","_declusterAll","kamadaKawai","_shiftToCenter","getRangeCore","clustersPresent","definedLevel","undefinedLevel","lastNodeOnLevel","_determineLevelsByHubsize","_determineLevelsDirected","_determineLevelsCustomCallback","ensureLevel","distribution","_getDistribution","_generateMap","_placeNodesByHierarchy","_condenseHierarchy","stillShifting","branches","shiftTree","getTreeSizes","treeWidths","numTrees","getTreeSize","getBranchNodes","getBranchBoundary","branchMap","maxLevel","minSpace","maxSpace","branchNode","getPosition","_getSpaceAroundNode2","_getSpaceAroundNode","_getSpaceAroundNode3","minSpaceNode","maxSpaceNode","getCollisionLevel","maxLevel1","getMaxLevel","maxLevel2","shiftElementsCloser","centerParents","hier","levelNodes","hasSameParent","inSameSubNetwork","branchShiftCallback","centerParent","diffAbs","branchNodes1","branchNodes2","branchNodeBoundary1","branchNodeBoundary2","max1","min2","minSpace2","_shiftBlock","_centerParent","minimizeEdgeLength","allEdges","nodeLevel","C2","referenceNodes","aboveEdges","getFx","getDFx","getGuess","guess","guessMap","dfx","branchNodes","branchBoundary","minSpaceBranch","maxSpaceBranch","branchOffset","_getSpaceAroundNode4","_getSpaceAroundNode5","newPosition","getLevels","treeSizes","shiftBy","useMap","prevNode","nextNode","nextPos","parents","parentId","_getCenterPosition","_getSpaceAroundNode6","_getSpaceAroundNode7","positionedNodes","nodeArray","_indexArrayToNodes","handledNodeCount","_validatePositionAndContinue","parentLevel","childRef","_i5","childNodeLevel","previousPos","sharedParent","_findCommonParent","withChild","_placeBranchNodes","fix","hubSizes","hubSize","_getActiveEdges","_this6","levelDownstream","_getHubSizes","_crawlNetwork","_this7","levelByDirection","levelA","setMinLevelToZero","_this8","isBidirectional","otherEdge","levelB","_this9","fillInRelations","addRelation","checkIfTree","_this10","startingNodeId","crawler","tree","setTreeIndex","_this11","shifter","childA","childB","_this12","iterateParents","parentRef","findParent","foundParent","isVertical","minPos","maxPos","DirectionInterface","abstract","fake_use","_DirectionInterface","addToOrdering","_DirectionInterface2","editMode","manipulationDiv","editModeDiv","closeDiv","manipulationHammers","temporaryUIFunctions","temporaryEventFunctions","temporaryIds","guiEnabled","inMode","selectedControlNode","_restore","_setup","showManipulatorToolbar","_createEditButton","manipulationDOM","selectedNodeCount","_getSelectedNodeCount","selectedEdgeCount","_getSelectedEdgeCount","selectedTotalCount","needSeperator","_createAddNodeButton","_createSeperator","_createAddEdgeButton","_createEditNodeButton","_createEditEdgeButton","_createDeleteButton","_bindHammerToDiv","toggleEditMode","_temporaryBindEvent","_createBackButton","_createDescription","_performAddNode","_getSelectedNode","finalizedData","_temporaryBindUI","_handleConnect","_finishConnect","_dragControlNode","_dragStartEdge","edgeBeingEditedId","_performEditEdge","controlNodeFrom","_getNewTargetNode","controlNodeTo","_controlNodeTouch","_controlNodeDragStart","_controlNodeDrag","_controlNodeDragEnd","findBorderPositions","selectedNodes","selectedEdges","deleteFunction","_createWrappers","_removeManipulationDOM","_createButton","_cleanManipulatorHammers","_cleanupTemporaryNodesAndEdges","_unbindTemporaryUIs","_unbindTemporaryEvents","deleteBtnClass","labelClassName","newFunction","boundFunction","UIfunctionName","functionName","eventName","domElement","indexTempEdge","indexTempNode","fromSelect","toSelect","overlappingNodeIds","targetNode","connectionEdge","connectFromId","_performAddEdge","clickData","defaultData","sourceNodeId","targetNodeId","eeFunct","_FloydWarshall","_FloydWarshall2","edgeStrength","distanceSolver","edgesArray","ignoreClusters","D_matrix","getDistances","_createL_matrix","_createK_matrix","_createE_matrix","maxIterations","maxEnergy","highE_nodeId","dE_dx","dE_dy","delta_m","subIterations","_getHighestEnergyNode2","_getHighestEnergyNode","_getHighestEnergyNode3","_moveNode","_getEnergy2","_getEnergy","_getEnergy3","maxEnergyNodeId","dE_dx_max","dE_dy_max","nodeIdx","_getEnergy4","_getEnergy5","_E_sums$m","E_sums","d2E_dx2","d2E_dxdy","d2E_dy2","x_m","y_m","km","K_matrix","lm","L_matrix","iIdx","x_i","y_i","kmat","lmat","denominator","_updateE_matrix","E_matrix","mIdx","_mIdx","colm","kcolm","lcolm","cell","oldDx","oldDy","FloydWarshall","knode","inode","icolm","jnode","jcolm"],"mappings":"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","file":"vis"} \ No newline at end of file diff --git a/dist/vis.min.js b/dist/vis.min.js index 2a97160ab..c53e7a012 100644 --- a/dist/vis.min.js +++ b/dist/vis.min.js @@ -5,7 +5,7 @@ * A dynamic, browser-based visualization library. * * @version 4.21.0 - * @date 2018-06-21 + * @date 2018-06-22 * * @license * Copyright (C) 2011-2017 Almende B.V, http://almende.com @@ -24,24 +24,24 @@ */ "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()}("undefined"!=typeof self?self:this,function(){return function(t){function e(o){if(i[o])return i[o].exports;var n=i[o]={i:o,l:!1,exports:{}};return t[o].call(n.exports,n,n.exports,e),n.l=!0,n.exports}var i={};return e.m=t,e.c=i,e.d=function(t,i,o){e.o(t,i)||Object.defineProperty(t,i,{configurable:!1,enumerable:!0,get:o})},e.n=function(t){var i=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(i,"a",i),i},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="",e(e.s=123)}([function(t,e,i){e.__esModule=!0,e.default=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}},function(t,e,i){e.__esModule=!0;var o=i(169),n=function(t){return t&&t.__esModule?t:{default:t}}(o);e.default=function(){function t(t,e){for(var i=0;i2&&void 0!==arguments[2]&&arguments[2];for(var s in t)void 0!==i[s]&&(null===i[s]||"object"!==(0,c.default)(i[s])?n(t,i,s,o):"object"===(0,c.default)(t[s])&&e.fillIfDefined(t[s],i[s],o))},e.extend=function(t,e){for(var i=1;i3&&void 0!==arguments[3]&&arguments[3];if(Array.isArray(o))throw new TypeError("Arrays are not supported by deepExtend");for(var r=0;r3&&void 0!==arguments[3]&&arguments[3];if(Array.isArray(o))throw new TypeError("Arrays are not supported by deepExtend");for(var r in o)if(o.hasOwnProperty(r)&&-1===t.indexOf(r))if(o[r]&&o[r].constructor===Object)void 0===i[r]&&(i[r]={}),i[r].constructor===Object?e.deepExtend(i[r],o[r]):n(i,o,r,s);else if(Array.isArray(o[r])){i[r]=[];for(var a=0;a2&&void 0!==arguments[2]&&arguments[2],s=arguments.length>3&&void 0!==arguments[3]&&arguments[3];for(var r in i)if(i.hasOwnProperty(r)||!0===o)if(i[r]&&i[r].constructor===Object)void 0===t[r]&&(t[r]={}),t[r].constructor===Object?e.deepExtend(t[r],i[r],o):n(t,i,r,s);else if(Array.isArray(i[r])){t[r]=[];for(var a=0;a=0&&(e="DOMMouseScroll"),t.addEventListener(e,i,o)):t.attachEvent("on"+e,i)},e.removeEventListener=function(t,e,i,o){t.removeEventListener?(void 0===o&&(o=!1),"mousewheel"===e&&navigator.userAgent.indexOf("Firefox")>=0&&(e="DOMMouseScroll"),t.removeEventListener(e,i,o)):t.detachEvent("on"+e,i)},e.preventDefault=function(t){t||(t=window.event),t.preventDefault?t.preventDefault():t.returnValue=!1},e.getTarget=function(t){t||(t=window.event);var e;return t.target?e=t.target:t.srcElement&&(e=t.srcElement),void 0!=e.nodeType&&3==e.nodeType&&(e=e.parentNode),e},e.hasParent=function(t,e){for(var i=t;i;){if(i===e)return!0;i=i.parentNode}return!1},e.option={},e.option.asBoolean=function(t,e){return"function"==typeof t&&(t=t()),null!=t?0!=t:e||null},e.option.asNumber=function(t,e){return"function"==typeof t&&(t=t()),null!=t?Number(t)||e||null:e||null},e.option.asString=function(t,e){return"function"==typeof t&&(t=t()),null!=t?String(t):e||null},e.option.asSize=function(t,i){return"function"==typeof t&&(t=t()),e.isString(t)?t:e.isNumber(t)?t+"px":i||null},e.option.asElement=function(t,e){return"function"==typeof t&&(t=t()),t||e||null},e.hexToRGB=function(t){var e=/^#?([a-f\d])([a-f\d])([a-f\d])$/i;t=t.replace(e,function(t,e,i,o){return e+e+i+i+o+o});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){var o;return-1!=t.indexOf("rgba")?t:-1!=t.indexOf("rgb")?(o=t.substr(t.indexOf("(")+1).replace(")","").split(","),"rgba("+o[0]+","+o[1]+","+o[2]+","+i+")"):(o=e.hexToRGB(t),null==o?t:"rgba("+o.r+","+o.g+","+o.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(!0===e.isString(t)){if(!0===e.isValidRGB(t)){var o=t.substr(4).substr(0,t.length-5).split(",").map(function(t){return parseInt(t)});t=e.RGBToHex(o[0],o[1],o[2])}if(!0===e.isValidHex(t)){var n=e.hexToHSV(t),s={h:n.h,s:.8*n.s,v:Math.min(1,1.02*n.v)},r={h:n.h,s:Math.min(1,1.25*n.s),v:.8*n.v},a=e.HSVToHex(r.h,r.s,r.v),h=e.HSVToHex(s.h,s.s,s.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||void 0,i.border=t.border||void 0,e.isString(t.highlight)?i.highlight={border:t.highlight,background:t.highlight}:(i.highlight={},i.highlight.background=t.highlight&&t.highlight.background||void 0,i.highlight.border=t.highlight&&t.highlight.border||void 0),e.isString(t.hover)?i.hover={border:t.hover,background:t.hover}:(i.hover={},i.hover.background=t.hover&&t.hover.background||void 0,i.hover.border=t.hover&&t.hover.border||void 0);return i},e.RGBToHSV=function(t,e,i){t/=255,e/=255,i/=255;var o=Math.min(t,Math.min(e,i)),n=Math.max(t,Math.max(e,i));if(o==n)return{h:0,s:0,v:o};var s=t==o?e-i:i==o?t-e:i-t;return{h:60*((t==o?3:i==o?1:5)-s/(n-o))/360,s:(n-o)/n,v:n}};var v={split:function(t){var e={};return t.split(";").forEach(function(t){if(""!=t.trim()){var i=t.split(":"),o=i[0].trim(),n=i[1].trim();e[o]=n}}),e},join:function(t){return(0,l.default)(t).map(function(e){return e+": "+t[e]}).join("; ")}};e.addCssText=function(t,i){var o=v.split(t.style.cssText),n=v.split(i),s=e.extend(o,n);t.style.cssText=v.join(s)},e.removeCssText=function(t,e){var i=v.split(t.style.cssText),o=v.split(e);for(var n in o)o.hasOwnProperty(n)&&delete i[n];t.style.cssText=v.join(i)},e.HSVToRGB=function(t,e,i){var o,n,s,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:o=i,n=l,s=h;break;case 1:o=d,n=i,s=h;break;case 2:o=h,n=i,s=l;break;case 3:o=h,n=d,s=i;break;case 4:o=l,n=h,s=i;break;case 5:o=i,n=h,s=d}return{r:Math.floor(255*o),g:Math.floor(255*n),b:Math.floor(255*s)}},e.HSVToHex=function(t,i,o){var n=e.HSVToRGB(t,i,o);return e.RGBToHex(n.r,n.g,n.b)},e.hexToHSV=function(t){var i=e.hexToRGB(t);return e.RGBToHSV(i.r,i.g,i.b)},e.isValidHex=function(t){return/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(t)},e.isValidRGB=function(t){return t=t.replace(" ",""),/rgb\((\d{1,3}),(\d{1,3}),(\d{1,3})\)/i.test(t)},e.isValidRGBA=function(t){return t=t.replace(" ",""),/rgba\((\d{1,3}),(\d{1,3}),(\d{1,3}),(.{1,3})\)/i.test(t)},e.selectiveBridgeObject=function(t,i){if(null!==i&&"object"===(void 0===i?"undefined":(0,c.default)(i))){for(var o=(0,h.default)(i),n=0;n0&&e(o,t[n-1])<0;n--)t[n]=t[n-1];t[n]=o}return t},e.mergeOptions=function(t,e,i){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},n=function(t){return null!==t&&void 0!==t},s=function(t){return null!==t&&"object"===(void 0===t?"undefined":(0,c.default)(t))};if(!s(t))throw new Error("Parameter mergeTarget must be an object");if(!s(e))throw new Error("Parameter options must be an object");if(!n(i))throw new Error("Parameter option must have a value");if(!s(o))throw new Error("Parameter globalOptions must be an object");var r=e[i],a=s(o)&&!function(t){for(var e in t)if(t.hasOwnProperty(e))return!1;return!0}(o),d=a?o[i]:void 0,l=d?d.enabled:void 0;if(void 0!==r){if("boolean"==typeof r)return s(t[i])||(t[i]={}),void(t[i].enabled=r);if(null===r&&!s(t[i])){if(!n(d))return;t[i]=(0,h.default)(d)}if(s(r)){var u=!0;void 0!==r.enabled?u=r.enabled:void 0!==l&&(u=d.enabled),function(t,e,i){s(t[i])||(t[i]={});var o=e[i],n=t[i];for(var r in o)o.hasOwnProperty(r)&&(n[r]=o[r])}(t,e,i),t[i].enabled=u}}},e.binarySearchCustom=function(t,e,i,o){for(var n=0,s=0,r=t.length-1;s<=r&&n<1e4;){var a=Math.floor((s+r)/2),h=t[a],d=void 0===o?h[i]:h[i][o],l=e(d);if(0==l)return a;-1==l?s=a+1:r=a-1,n++}return-1},e.binarySearchValue=function(t,e,i,o,n){var s,r,a,h,d=0,l=0,u=t.length-1;for(n=void 0!=n?n:function(t,e){return t==e?0:t0)return"before"==o?Math.max(0,h-1):h;if(n(r,e)<0&&n(a,e)>0)return"before"==o?h:Math.min(t.length-1,h+1);n(r,e)<0?l=h+1:u=h-1,d++}return-1},e.easingFunctions={linear:function(t){return t},easeInQuad:function(t){return t*t},easeOutQuad:function(t){return t*(2-t)},easeInOutQuad:function(t){return t<.5?2*t*t:(4-2*t)*t-1},easeInCubic:function(t){return t*t*t},easeOutCubic:function(t){return--t*t*t+1},easeInOutCubic:function(t){return t<.5?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 t<.5?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 t<.5?16*t*t*t*t*t:1+16*--t*t*t*t*t}},e.getScrollBarWidth=function(){var t=document.createElement("p");t.style.width="100%",t.style.height="200px";var e=document.createElement("div");e.style.position="absolute",e.style.top="0px",e.style.left="0px",e.style.visibility="hidden",e.style.width="200px",e.style.height="150px",e.style.overflow="hidden",e.appendChild(t),document.body.appendChild(e);var i=t.offsetWidth;e.style.overflow="scroll";var o=t.offsetWidth;return i==o&&(o=e.clientWidth),document.body.removeChild(e),i-o},e.topMost=function(t,e){var i=void 0;Array.isArray(e)||(e=[e]);var o=!0,n=!1,s=void 0;try{for(var a,h=(0,r.default)(t);!(o=(a=h.next()).done);o=!0){var d=a.value;if(d){i=d[e[0]];for(var l=1;ln?1:or)&&(s=h,r=d)}return s},n.prototype.min=function(t){var e,i,o=this._data,n=(0,l.default)(o),s=null,r=null;for(e=0,i=n.length;e0?(o=e[t].redundant[0],e[t].redundant.shift()):(o=document.createElementNS("http://www.w3.org/2000/svg",t),i.appendChild(o)):(o=document.createElementNS("http://www.w3.org/2000/svg",t),e[t]={used:[],redundant:[]},i.appendChild(o)),e[t].used.push(o),o},e.getDOMElement=function(t,e,i,o){var n;return e.hasOwnProperty(t)?e[t].redundant.length>0?(n=e[t].redundant[0],e[t].redundant.shift()):(n=document.createElement(t),void 0!==o?i.insertBefore(n,o):i.appendChild(n)):(n=document.createElement(t),e[t]={used:[],redundant:[]},void 0!==o?i.insertBefore(n,o):i.appendChild(n)),e[t].used.push(n),n},e.drawPoint=function(t,i,o,n,s,r){var a;if("circle"==o.style?(a=e.getSVGElement("circle",n,s),a.setAttributeNS(null,"cx",t),a.setAttributeNS(null,"cy",i),a.setAttributeNS(null,"r",.5*o.size)):(a=e.getSVGElement("rect",n,s),a.setAttributeNS(null,"x",t-.5*o.size),a.setAttributeNS(null,"y",i-.5*o.size),a.setAttributeNS(null,"width",o.size),a.setAttributeNS(null,"height",o.size)),void 0!==o.styles&&a.setAttributeNS(null,"style",o.styles),a.setAttributeNS(null,"class",o.className+" vis-point"),r){var h=e.getSVGElement("text",n,s);r.xOffset&&(t+=r.xOffset),r.yOffset&&(i+=r.yOffset),r.content&&(h.textContent=r.content),r.className&&h.setAttributeNS(null,"class",r.className+" vis-label"),h.setAttributeNS(null,"x",t),h.setAttributeNS(null,"y",i)}return a},e.drawBar=function(t,i,o,n,s,r,a,h){if(0!=n){n<0&&(n*=-1,i-=n);var d=e.getSVGElement("rect",r,a);d.setAttributeNS(null,"x",t-.5*o),d.setAttributeNS(null,"y",i),d.setAttributeNS(null,"width",o),d.setAttributeNS(null,"height",n),d.setAttributeNS(null,"class",s),h&&d.setAttributeNS(null,"style",h)}}},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0}),e.printStyle=void 0;var n=i(19),s=o(n),r=i(6),a=o(r),h=i(8),d=o(h),l=i(0),u=o(l),c=i(1),p=o(c),f=i(2),m=!1,v=void 0,g="background: #FFeeee; color: #dd0000",y=function(){function t(){(0,u.default)(this,t)}return(0,p.default)(t,null,[{key:"validate",value:function(e,i,o){m=!1,v=i;var n=i;return void 0!==o&&(n=i[o]),t.parse(e,n,[]),m}},{key:"parse",value:function(e,i,o){for(var n in e)e.hasOwnProperty(n)&&t.check(n,e,i,o)}},{key:"check",value:function(e,i,o,n){if(void 0===o[e]&&void 0===o.__any__)return void t.getSuggestion(e,o,n);var s=e,r=!0;void 0===o[e]&&void 0!==o.__any__&&(s="__any__",r="object"===t.getType(i[e]));var a=o[s];r&&void 0!==a.__type__&&(a=a.__type__),t.checkFields(e,i,o,s,a,n)}},{key:"checkFields",value:function(e,i,o,n,s,r){var a=function(i){console.log("%c"+i+t.printLocation(r,e),g)},h=t.getType(i[e]),l=s[h];void 0!==l?"array"===t.getType(l)&&-1===l.indexOf(i[e])?(a('Invalid option detected in "'+e+'". Allowed values are:'+t.print(l)+' not "'+i[e]+'". '),m=!0):"object"===h&&"__any__"!==n&&(r=f.copyAndExtendArray(r,e),t.parse(i[e],o[n],r)):void 0===s.any&&(a('Invalid type received for "'+e+'". Expected: '+t.print((0,d.default)(s))+". Received ["+h+'] "'+i[e]+'"'),m=!0)}},{key:"getType",value:function(t){var e=void 0===t?"undefined":(0,a.default)(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":void 0!==t.nodeType?"dom":!0===t._isAMomentObject?"moment":"object":"number"===e?"number":"boolean"===e?"boolean":"string"===e?"string":void 0===e?"undefined":e}},{key:"getSuggestion",value:function(e,i,o){ var n=t.findInOptions(e,i,o,!1),s=t.findInOptions(e,v,[],!0),r=void 0;r=void 0!==n.indexMatch?" in "+t.printLocation(n.path,e,"")+'Perhaps it was incomplete? Did you mean: "'+n.indexMatch+'"?\n\n':s.distance<=4&&n.distance>s.distance?" in "+t.printLocation(n.path,e,"")+"Perhaps it was misplaced? Matching option found at: "+t.printLocation(s.path,s.closestMatch,""):n.distance<=8?'. Did you mean "'+n.closestMatch+'"?'+t.printLocation(n.path,e):". Did you mean one of these: "+t.print((0,d.default)(i))+t.printLocation(o,e),console.log('%cUnknown option detected: "'+e+'"'+r,g),m=!0}},{key:"findInOptions",value:function(e,i,o){var n=arguments.length>3&&void 0!==arguments[3]&&arguments[3],s=1e9,r="",a=[],h=e.toLowerCase(),d=void 0;for(var l in i){var u=void 0;if(void 0!==i[l].__type__&&!0===n){var c=t.findInOptions(e,i[l],f.copyAndExtendArray(o,l));s>c.distance&&(r=c.closestMatch,a=c.path,s=c.distance,d=c.indexMatch)}else-1!==l.toLowerCase().indexOf(h)&&(d=l),u=t.levenshteinDistance(e,l),s>u&&(r=l,a=f.copyArray(o),s=u)}return{closestMatch:r,path:a,distance:s,indexMatch:d}}},{key:"printLocation",value:function(t,e){for(var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"Problem value found at: \n",o="\n\n"+i+"options = {\n",n=0;n0&&(this.enableBorderDashes(t,e),t.stroke(),this.disableBorderDashes(t,e)),t.restore()}},{key:"performFill",value:function(t,e){this.enableShadow(t,e),t.fill(),this.disableShadow(t,e),this.performStroke(t,e)}},{key:"_addBoundingBoxMargin",value:function(t){this.boundingBox.left-=t,this.boundingBox.top-=t,this.boundingBox.bottom+=t,this.boundingBox.right+=t}},{key:"_updateBoundingBox",value:function(t,e,i,o,n){void 0!==i&&this.resize(i,o,n),this.left=t-this.width/2,this.top=e-this.height/2,this.boundingBox.left=this.left,this.boundingBox.top=this.top,this.boundingBox.bottom=this.top+this.height,this.boundingBox.right=this.left+this.width}},{key:"updateBoundingBox",value:function(t,e,i,o,n){this._updateBoundingBox(t,e,i,o,n)}},{key:"getDimensionsFromLabel",value:function(t,e,i){this.textSize=this.labelModule.getTextSize(t,e,i);var o=this.textSize.width,n=this.textSize.height;return 0===o&&(o=14,n=14),{width:o,height:n}}}]),t}();e.default=l},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(3),s=o(n),r=i(0),a=o(r),h=i(1),d=o(h),l=i(4),u=o(l),c=i(5),p=o(c),f=i(23),m=o(f),v=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,p.default)(e,t),(0,d.default)(e,[{key:"resize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selected,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{size:this.options.size};if(this.needsRefresh(e,i)){this.labelModule.getTextSize(t,e,i);var n=2*o.size;this.width=n,this.height=n,this.radius=.5*this.width}}},{key:"_drawShape",value:function(t,e,i,o,n,s,r,a){if(this.resize(t,s,r,a),this.left=o-this.width/2,this.top=n-this.height/2,this.initContextForDraw(t,a),t[e](o,n,a.size),this.performFill(t,a),void 0!==this.options.label){this.labelModule.calculateLabelSize(t,s,r,o,n,"hanging");var h=n+.5*this.height+.5*this.labelModule.size.height;this.labelModule.draw(t,o,h,s,r,"hanging")}this.updateBoundingBox(o,n)}},{key:"updateBoundingBox",value:function(t,e){this.boundingBox.top=e-this.options.size,this.boundingBox.left=t-this.options.size,this.boundingBox.right=t+this.options.size,this.boundingBox.bottom=e+this.options.size,void 0!==this.options.label&&this.labelModule.size.width>0&&(this.boundingBox.left=Math.min(this.boundingBox.left,this.labelModule.size.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelModule.size.left+this.labelModule.size.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelModule.size.height))}}]),e}(m.default);e.default=v},function(t,e,i){var o=i(78),n=i(52);t.exports=function(t){return o(n(t))}},function(t,e,i){var o=i(20),n=i(40);t.exports=i(21)?function(t,e,i){return o.f(t,e,n(1,i))}:function(t,e,i){return t[e]=i,t}},function(t,e,i){var o=i(28);t.exports=function(t){if(!o(t))throw TypeError(t+" is not an object!");return t}},function(t,e){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,e,i){t.exports={default:i(138),__esModule:!0}},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}e.__esModule=!0;var n=i(188),s=o(n),r=i(77),a=o(r);e.default=function(){function t(t,e){var i=[],o=!0,n=!1,s=void 0;try{for(var r,h=(0,a.default)(t);!(o=(r=h.next()).done)&&(i.push(r.value),!e||i.length!==e);o=!0);}catch(t){n=!0,s=t}finally{try{!o&&h.return&&h.return()}finally{if(n)throw s}}return i}return function(e,i){if(Array.isArray(e))return e;if((0,s.default)(Object(e)))return t(e,i);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}()},function(t,e){t.exports={}},function(t,e,i){var o=i(84),n=i(58);t.exports=Object.keys||function(t){return o(t,n)}},function(t,e,i){function o(t,e,i){this.x=void 0!==t?t:0,this.y=void 0!==e?e:0,this.z=void 0!==i?i:0}o.subtract=function(t,e){var i=new o;return i.x=t.x-e.x,i.y=t.y-e.y,i.z=t.z-e.z,i},o.add=function(t,e){var i=new o;return i.x=t.x+e.x,i.y=t.y+e.y,i.z=t.z+e.z,i},o.avg=function(t,e){return new o((t.x+e.x)/2,(t.y+e.y)/2,(t.z+e.z)/2)},o.crossProduct=function(t,e){var i=new o;return i.x=t.y*e.z-t.z*e.y,i.y=t.z*e.x-t.x*e.z,i.z=t.x*e.y-t.y*e.x,i},o.prototype.length=function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)},t.exports=o},function(t,e,i){var o,n,s;!function(i,r){n=[],o=r,void 0!==(s="function"==typeof o?o.apply(e,n):o)&&(t.exports=s)}(0,function(){function t(t){var e,i=t&&t.preventDefault||!1,o=t&&t.container||window,n={},s={keydown:{},keyup:{}},r={};for(e=97;e<=122;e++)r[String.fromCharCode(e)]={code:e-97+65,shift:!1};for(e=65;e<=90;e++)r[String.fromCharCode(e)]={code:e,shift:!0};for(e=0;e<=9;e++)r[""+e]={code:48+e,shift:!1};for(e=1;e<=12;e++)r["F"+e]={code:111+e,shift:!1};for(e=0;e<=9;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!==s[e][t.keyCode]){for(var o=s[e][t.keyCode],n=0;n=4*a){var c=0,p=s.clone();switch(o[h].repeat){case"daily":d.day()!=l.day()&&(c=1),d.dayOfYear(n.dayOfYear()),d.year(n.year()),d.subtract(7,"days"),l.dayOfYear(n.dayOfYear()),l.year(n.year()),l.subtract(7-c,"days"),p.add(1,"weeks");break;case"weekly":var f=l.diff(d,"days"),m=d.day();d.date(n.date()),d.month(n.month()),d.year(n.year()),l=d.clone(),d.day(m),l.day(m),l.add(f,"days"),d.subtract(1,"weeks"),l.subtract(1,"weeks"),p.add(1,"weeks");break;case"monthly":d.month()!=l.month()&&(c=1),d.month(n.month()),d.year(n.year()),d.subtract(1,"months"),l.month(n.month()),l.year(n.year()),l.subtract(1,"months"),l.add(c,"months"),p.add(1,"months");break;case"yearly":d.year()!=l.year()&&(c=1),d.year(n.year()),d.subtract(1,"years"),l.year(n.year()),l.subtract(1,"years"),l.add(c,"years"),p.add(1,"years");break;default:return void console.log("Wrong repeat format, allowed are: daily, weekly, monthly, yearly. Given:",o[h].repeat)}for(;d=e[o].start&&e[n].end<=e[o].end?e[n].remove=!0:e[n].start>=e[o].start&&e[n].start<=e[o].end?(e[o].end=e[n].end,e[n].remove=!0):e[n].end>=e[o].start&&e[n].end<=e[o].end&&(e[o].start=e[n].start,e[n].remove=!0));for(o=0;o=r&&nt.range.end){var h={start:t.range.start,end:i};return i=e.correctTimeForHidden(t.options.moment,t.body.hiddenDates,h,i),n=t.range.conversion(o,r),(i.valueOf()-n.offset)*n.scale}return i=e.correctTimeForHidden(t.options.moment,t.body.hiddenDates,t.range,i),n=t.range.conversion(o,r),(i.valueOf()-n.offset)*n.scale},e.toTime=function(t,i,o){if(0==t.body.hiddenDates.length){var n=t.range.conversion(o);return new Date(i/n.scale+n.offset)}var s=e.getHiddenDurationBetween(t.body.hiddenDates,t.range.start,t.range.end),r=t.range.end-t.range.start-s,a=r*i/o,h=e.getAccumulatedHiddenDuration(t.body.hiddenDates,t.range,a);return new Date(h+a+t.range.start)},e.getHiddenDurationBetween=function(t,e,i){for(var o=0,n=0;n=e&&r=e&&r<=i&&(o+=r-s)}return o},e.correctTimeForHidden=function(t,i,o,n){return n=t(n).toDate().valueOf(),n-=e.getHiddenDurationBefore(t,i,o,n)},e.getHiddenDurationBefore=function(t,e,i,o){var n=0;o=t(o).toDate().valueOf();for(var s=0;s=i.start&&a=a&&(n+=a-r)}return n},e.getAccumulatedHiddenDuration=function(t,e,i){for(var o=0,n=0,s=e.start,r=0;r=e.start&&h=i)break;o+=h-a}}return o},e.snapAwayFromHidden=function(t,i,o,n){var s=e.isHidden(i,t);return 1==s.hidden?o<0?1==n?s.startDate-(s.endDate-i)-1:s.startDate-1:1==n?s.endDate+(i-s.startDate)+1:s.endDate+1:i},e.isHidden=function(t,e){for(var i=0;i=o&&t0){var e=[];if(Array.isArray(this.options.dataAttributes))e=this.options.dataAttributes;else{if("all"!=this.options.dataAttributes)return;e=(0,h.default)(this.data)}for(var i=0;ithis.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)}},o.prototype.flush=function(){for(;this._queue.length>0;){var t=this._queue.shift();t.fn.apply(t.context||t.fn,t.args||[])}},t.exports=o},function(t,e){function i(t){if(t)return o(t)}function o(t){for(var e in i.prototype)t[e]=i.prototype[e];return t}t.exports=i,i.prototype.on=i.prototype.addEventListener=function(t,e){return this._callbacks=this._callbacks||{},(this._callbacks[t]=this._callbacks[t]||[]).push(e),this},i.prototype.once=function(t,e){function i(){o.off(t,i),e.apply(this,arguments)}var o=this;return this._callbacks=this._callbacks||{},i.fn=e,this.on(t,i),this},i.prototype.off=i.prototype.removeListener=i.prototype.removeAllListeners=i.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 o,n=0;n=.4*v}if(this.options.showMinorLabels&&m){var k=this._repaintMinorText(c,y,t,b);k.style.width=_+"px"}f&&this.options.showMajorLabels?(c>0&&(void 0==w&&(w=c),k=this._repaintMajorText(c,s.getLabelMajor(),t,b)),g=this._repaintMajorLine(c,_,t,b)):m?g=this._repaintMinorLine(c,_,t,b):g&&(g.style.width=parseInt(g.style.width)+_+"px")}if(1e3!==x||u||(console.warn("Something is wrong with the Timeline scale. Limited drawing of grid lines to 1000 lines."),u=!0),this.options.showMajorLabels){var S=this.body.util.toTime(0),D=s.getLabelMajor(S),M=D.length*(this.props.majorCharWidth||10)+10;(void 0==w||Mt.left&&this.shape.topt.top}},{key:"isBoundingBoxOverlappingWith",value:function(t){return this.shape.boundingBox.leftt.left&&this.shape.boundingBox.topt.top}}],[{key:"updateGroupOptions",value:function(t,e,i){if(void 0!==i){var o=t.group;if(void 0!==e&&void 0!==e.group&&o!==e.group)throw new Error("updateGroupOptions: group values in options don't match.");if("number"==typeof o||"string"==typeof o&&""!=o){var n=i.get(o);h.selectiveNotDeepExtend(["font"],t,n),t.color=h.parseColor(t.color)}}}},{key:"parseOptions",value:function(e,i){var o=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},s=arguments[4],r=["color","fixed","shadow"];if(h.selectiveNotDeepExtend(r,e,i,o),t.checkMass(i),h.mergeOptions(e,i,"shadow",n),void 0!==i.color&&null!==i.color){var a=h.parseColor(i.color);h.fillIfDefined(e.color,a)}else!0===o&&null===i.color&&(e.color=h.bridgeObject(n.color));void 0!==i.fixed&&null!==i.fixed&&("boolean"==typeof i.fixed?(e.fixed.x=i.fixed,e.fixed.y=i.fixed):(void 0!==i.fixed.x&&"boolean"==typeof i.fixed.x&&(e.fixed.x=i.fixed.x),void 0!==i.fixed.y&&"boolean"==typeof i.fixed.y&&(e.fixed.y=i.fixed.y))),!0===o&&null===i.font&&(e.font=h.bridgeObject(n.font)),t.updateGroupOptions(e,i,s),void 0!==i.scaling&&h.mergeOptions(e.scaling,i.scaling,"label",n.scaling)}},{key:"checkMass",value:function(t,e){if(void 0!==t.mass&&t.mass<=0){var i="";void 0!==e&&(i=" in node id: "+e),console.log("%cNegative or zero mass disallowed"+i+", setting mass to 1.",C),t.mass=1}}}]),t}();e.default=O},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(6),s=o(n),r=i(0),a=o(r),h=i(1),d=o(h),l=i(2),u=function(){function t(){(0,a.default)(this,t)}return(0,d.default)(t,null,[{key:"choosify",value:function(t,e){var i=["node","edge","label"],o=!0,n=l.topMost(e,"chosen");if("boolean"==typeof n)o=n;else if("object"===(void 0===n?"undefined":(0,s.default)(n))){if(-1===i.indexOf(t))throw new Error("choosify: subOption '"+t+"' should be one of '"+i.join("', '")+"'");var r=l.topMost(e,["chosen",t]);"boolean"!=typeof r&&"function"!=typeof r||(o=r)}return o}},{key:"pointInRect",value:function(t,e,i){if(t.width<=0||t.height<=0)return!1;if(void 0!==i){var o={x:e.x-i.x,y:e.y-i.y};if(0!==i.angle){var n=-i.angle;e={x:Math.cos(n)*o.x-Math.sin(n)*o.y,y:Math.sin(n)*o.x+Math.cos(n)*o.y}}else e=o}var s=t.x+t.width,r=t.y+t.width;return t.lefte.x&&t.tope.y}},{key:"isValidLabel",value:function(t){return"string"==typeof t&&""!==t}}]),t}();e.default=u},function(t,e,i){i(125);for(var o=i(18),n=i(26),s=i(32),r=i(13)("toStringTag"),a="CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,TextTrackList,TouchList".split(","),h=0;hdocument.F=Object<\/script>"),t.close(),h=t.F;o--;)delete h.prototype[s[o]];return h()};t.exports=Object.create||function(t,e){var i;return null!==t?(a.prototype=o(t),i=new a,a.prototype=null,i[r]=t):i=h(),void 0===e?i:n(i,e)}},function(t,e){var i=Math.ceil,o=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?o:i)(t)}},function(t,e,i){var o=i(57)("keys"),n=i(41);t.exports=function(t){return o[t]||(o[t]=n(t))}},function(t,e,i){var o=i(7),n=i(18),s=n["__core-js_shared__"]||(n["__core-js_shared__"]={});(t.exports=function(t,e){return s[t]||(s[t]=void 0!==e?e:{})})("versions",[]).push({version:o.version,mode:i(39)?"pure":"global",copyright:"© 2018 Denis Pushkarev (zloirock.ru)"})},function(t,e){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(t,e,i){var o=i(20).f,n=i(22),s=i(13)("toStringTag");t.exports=function(t,e,i){t&&!n(t=i?t:t.prototype,s)&&o(t,s,{configurable:!0,value:e})}},function(t,e,i){var o=i(135)(!0);i(79)(String,"String",function(t){this._t=String(t),this._i=0},function(){var t,e=this._t,i=this._i;return i>=e.length?{value:void 0,done:!0}:(t=o(e,i),this._i+=t.length,{value:t,done:!1})})},function(t,e,i){e.f=i(13)},function(t,e,i){var o=i(18),n=i(7),s=i(39),r=i(61),a=i(20).f;t.exports=function(t){var e=n.Symbol||(n.Symbol=s?{}:o.Symbol||{});"_"==t.charAt(0)||t in e||a(e,t,{value:r.f(t)})}},function(t,e){e.f=Object.getOwnPropertySymbols},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}function n(t,e){var i=p().hours(0).minutes(0).seconds(0).milliseconds(0),o=i.clone().add(-3,"days").valueOf(),n=i.clone().add(3,"days").valueOf();this.millisecondsPerPixelCache=void 0,void 0===e?(this.start=o,this.end=n):(this.start=e.start||o,this.end=e.end||n),this.rolling=!1,this.body=t,this.deltaDifference=0,this.scaleOffset=0,this.startToFront=!1,this.endToFront=!0,this.defaultOptions={rtl:!1,start:null,end:null,moment:p,direction:"horizontal",moveable:!0,zoomable:!0,min:null,max:null,zoomMin:10,zoomMax:31536e10,rollingMode:{follow:!1,offset:.5}},this.options=c.extend({},this.defaultOptions),this.props={touch:{}},this.animationTimer=null,this.body.emitter.on("panstart",this._onDragStart.bind(this)),this.body.emitter.on("panmove",this._onDrag.bind(this)),this.body.emitter.on("panend",this._onDragEnd.bind(this)),this.body.emitter.on("mousewheel",this._onMouseWheel.bind(this)),this.body.emitter.on("touch",this._onTouch.bind(this)),this.body.emitter.on("pinch",this._onPinch.bind(this)),this.body.dom.rollingModeBtn.addEventListener("click",this.startRolling.bind(this)),this.setOptions(e)}function s(t){if("horizontal"!=t&&"vertical"!=t)throw new TypeError('Unknown direction "'+t+'". Choose "horizontal" or "vertical".')}var r=i(8),a=o(r),h=i(19),d=o(h),l=i(6),u=o(l),c=i(2),p=i(9),f=i(16),m=i(36);n.prototype=new f,n.prototype.setOptions=function(t){if(t){var e=["animation","direction","min","max","zoomMin","zoomMax","moveable","zoomable","moment","activate","hiddenDates","zoomKey","rtl","showCurrentTime","rollingMode","horizontalScroll"];c.selectiveExtend(e,this.options,t),t.rollingMode&&t.rollingMode.follow&&this.startRolling(),("start"in t||"end"in t)&&this.setRange(t.start,t.end)}},n.prototype.startRolling=function(){function t(){e.stopRolling(),e.rolling=!0;var i=e.end-e.start,o=c.convert(new Date,"Date").valueOf(),n=o-i*e.options.rollingMode.offset,s=o+i*(1-e.options.rollingMode.offset),r={animation:!1};e.setRange(n,s,r),i=1/e.conversion(e.body.domProps.center.width).scale/10,i<30&&(i=30),i>1e3&&(i=1e3),e.body.dom.rollingModeBtn.style.visibility="hidden",e.currentTimeTimer=setTimeout(t,i)}var e=this;t()},n.prototype.stopRolling=function(){void 0!==this.currentTimeTimer&&(clearTimeout(this.currentTimeTimer),this.rolling=!1,this.body.dom.rollingModeBtn.style.visibility="visible")},n.prototype.setRange=function(t,e,i,o,n){i||(i={}),!0!==i.byUser&&(i.byUser=!1);var s=this,r=void 0!=t?c.convert(t,"Date").valueOf():null,h=void 0!=e?c.convert(e,"Date").valueOf():null;if(this._cancelAnimation(),this.millisecondsPerPixelCache=void 0,i.animation){var l=this.start,p=this.end,f="object"===(0,u.default)(i.animation)&&"duration"in i.animation?i.animation.duration:500,v="object"===(0,u.default)(i.animation)&&"easingFunction"in i.animation?i.animation.easingFunction:"easeInOutQuad",g=c.easingFunctions[v];if(!g)throw new Error("Unknown easing function "+(0,d.default)(v)+". Choose from: "+(0,a.default)(c.easingFunctions).join(", "));var y=(new Date).valueOf(),b=!1;return function t(){if(!s.props.touch.dragging){var e=(new Date).valueOf(),a=e-y,d=g(a/f),u=a>f,c=u||null===r?r:l+(r-l)*d,v=u||null===h?h:p+(h-p)*d;_=s._applyRange(c,v),m.updateHiddenDates(s.options.moment,s.body,s.options.hiddenDates),b=b||_;var w={start:new Date(s.start),end:new Date(s.end),byUser:i.byUser,event:i.event};if(n&&n(d,_,u),_&&s.body.emitter.emit("rangechange",w),u){if(b&&(s.body.emitter.emit("rangechanged",w),o))return o()}else s.animationTimer=setTimeout(t,20)}}()}var _=this._applyRange(r,h);if(m.updateHiddenDates(this.options.moment,this.body,this.options.hiddenDates),_){var w={start:new Date(this.start),end:new Date(this.end),byUser:i.byUser,event:i.event};if(this.body.emitter.emit("rangechange",w),clearTimeout(s.timeoutID),s.timeoutID=setTimeout(function(){s.body.emitter.emit("rangechanged",w)},200),o)return o()}},n.prototype.getMillisecondsPerPixel=function(){return void 0===this.millisecondsPerPixelCache&&(this.millisecondsPerPixelCache=(this.end-this.start)/this.body.dom.center.clientWidth),this.millisecondsPerPixelCache},n.prototype._cancelAnimation=function(){this.animationTimer&&(clearTimeout(this.animationTimer),this.animationTimer=null)},n.prototype._applyRange=function(t,e){var i,o=null!=t?c.convert(t,"Date").valueOf():this.start,n=null!=e?c.convert(e,"Date").valueOf():this.end,s=null!=this.options.max?c.convert(this.options.max,"Date").valueOf():null,r=null!=this.options.min?c.convert(this.options.min,"Date").valueOf():null;if(isNaN(o)||null===o)throw new Error('Invalid start "'+t+'"');if(isNaN(n)||null===n)throw new Error('Invalid end "'+e+'"');if(ns&&(n=s)),null!==s&&n>s&&(i=n-s,o-=i,n-=i,null!=r&&o=this.start-.5&&n<=this.end?(o=this.start,n=this.end):(i=a-(n-o),o-=i/2,n+=i/2)}}if(null!==this.options.zoomMax){var h=parseFloat(this.options.zoomMax);h<0&&(h=0),n-o>h&&(this.end-this.start===h&&othis.end?(o=this.start,n=this.end):(i=n-o-h,o+=i/2,n-=i/2))}var d=this.start!=o||this.end!=n;return o>=this.start&&o<=this.end||n>=this.start&&n<=this.end||this.start>=o&&this.start<=n||this.end>=o&&this.end<=n||this.body.emitter.emit("checkRangedItems"),this.start=o,this.end=n,d},n.prototype.getRange=function(){return{start:this.start,end:this.end}},n.prototype.conversion=function(t,e){return n.conversion(this.start,this.end,t,e)},n.conversion=function(t,e,i,o){return void 0===o&&(o=0),0!=i&&e-t!=0?{offset:t,scale:i/(e-t-o)}:{offset:0,scale:1}},n.prototype._onDragStart=function(t){this.deltaDifference=0,this.previousDelta=0,this.options.moveable&&this._isInsideRange(t)&&this.props.touch.allowDragging&&(this.stopRolling(),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"))},n.prototype._onDrag=function(t){if(t&&this.props.touch.dragging&&this.options.moveable&&this.props.touch.allowDragging){var e=this.options.direction;s(e);var i="horizontal"==e?t.deltaX:t.deltaY;i-=this.deltaDifference;var o=this.props.touch.end-this.props.touch.start;o-=m.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end);var n,r="horizontal"==e?this.body.domProps.center.width:this.body.domProps.center.height;n=this.options.rtl?i/r*o:-i/r*o;var a=this.props.touch.start+n,h=this.props.touch.end+n,d=m.snapAwayFromHidden(this.body.hiddenDates,a,this.previousDelta-i,!0),l=m.snapAwayFromHidden(this.body.hiddenDates,h,this.previousDelta-i,!0);if(d!=a||l!=h)return this.deltaDifference+=i,this.props.touch.start=d,this.props.touch.end=l,void this._onDrag(t);this.previousDelta=i,this._applyRange(a,h);var u=new Date(this.start),c=new Date(this.end);this.body.emitter.emit("rangechange",{start:u,end:c,byUser:!0,event:t}),this.body.emitter.emit("panmove")}},n.prototype._onDragEnd=function(t){this.props.touch.dragging&&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,event:t}))},n.prototype._onMouseWheel=function(t){var e=0;if(t.wheelDelta?e=t.wheelDelta/120:t.detail&&(e=-t.detail/3),!(this.options.zoomKey&&!t[this.options.zoomKey]&&this.options.zoomable||!this.options.zoomable&&this.options.moveable)&&this.options.zoomable&&this.options.moveable&&this._isInsideRange(t)&&e){var i;i=e<0?1-e/5:1/(1+e/5);var o;if(this.rolling)o=this.start+(this.end-this.start)*this.options.rollingMode.offset;else{var n=this.getPointer({x:t.clientX,y:t.clientY},this.body.dom.center);o=this._pointerToDate(n)}this.zoom(i,o,e,t),t.preventDefault()}},n.prototype._onTouch=function(t){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,c.preventDefault(t)},n.prototype._onPinch=function(t){if(this.options.zoomable&&this.options.moveable){c.preventDefault(t),this.props.touch.allowDragging=!1,this.props.touch.center||(this.props.touch.center=this.getPointer(t.center,this.body.dom.center)),this.stopRolling();var e=1/(t.scale+this.scaleOffset),i=this._pointerToDate(this.props.touch.center),o=m.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end),n=m.getHiddenDurationBefore(this.options.moment,this.body.hiddenDates,this,i),s=o-n,r=i-n+(this.props.touch.start-(i-n))*e,a=i+s+(this.props.touch.end-(i+s))*e;this.startToFront=1-e<=0,this.endToFront=e-1<=0;var h=m.snapAwayFromHidden(this.body.hiddenDates,r,1-e,!0),d=m.snapAwayFromHidden(this.body.hiddenDates,a,e-1,!0);h==r&&d==a||(this.props.touch.start=h,this.props.touch.end=d,this.scaleOffset=1-t.scale,r=h,a=d);var l={animation:!1,byUser:!0,event:t};this.setRange(r,a,l),this.startToFront=!1,this.endToFront=!0}},n.prototype._isInsideRange=function(t){var e,i=t.center?t.center.x:t.clientX;e=this.options.rtl?i-c.getAbsoluteLeft(this.body.dom.centerContainer):c.getAbsoluteRight(this.body.dom.centerContainer)-i;var o=this.body.util.toTime(e);return o>=this.start&&o<=this.end},n.prototype._pointerToDate=function(t){var e,i=this.options.direction;if(s(i),"horizontal"==i)return this.body.util.toTime(t.x).valueOf();var o=this.body.domProps.center.height;return e=this.conversion(o),t.y/e.scale+e.offset},n.prototype.getPointer=function(t,e){return this.options.rtl?{x:c.getAbsoluteRight(e)-t.x,y:t.y-c.getAbsoluteTop(e)}:{x:t.x-c.getAbsoluteLeft(e),y:t.y-c.getAbsoluteTop(e)}},n.prototype.zoom=function(t,e,i,o){null==e&&(e=(this.start+this.end)/2) -;var n=m.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end),s=m.getHiddenDurationBefore(this.options.moment,this.body.hiddenDates,this,e),r=n-s,a=e-s+(this.start-(e-s))*t,h=e+r+(this.end-(e+r))*t;this.startToFront=!(i>0),this.endToFront=!(-i>0);var d=m.snapAwayFromHidden(this.body.hiddenDates,a,i,!0),l=m.snapAwayFromHidden(this.body.hiddenDates,h,-i,!0);d==a&&l==h||(a=d,h=l);var u={animation:!1,byUser:!0,event:o};this.setRange(a,h,u),this.startToFront=!1,this.endToFront=!0},n.prototype.move=function(t){var e=this.end-this.start,i=this.start+e*t,o=this.end+e*t;this.start=i,this.end=o},n.prototype.moveTo=function(t){var e=(this.start+this.end)/2,i=e-t,o=this.start-i,n=this.end-i,s={animation:!1,byUser:!0,event:null};this.setRange(o,n,s)},t.exports=n},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}function n(){}var s=i(19),r=o(s),a=i(6),h=o(a),d=i(45),l=i(10),u=i(37),c=i(2),p=i(46),f=i(97),m=i(36),v=i(47);d(n.prototype),n.prototype._create=function(t){function e(t){this.isActive()&&this.emit("mousewheel",t);var e=0,i=0;if("detail"in t&&(i=-1*t.detail),"wheelDelta"in t&&(i=t.wheelDelta),"wheelDeltaY"in t&&(i=t.wheelDeltaY),"wheelDeltaX"in t&&(e=-1*t.wheelDeltaX),"axis"in t&&t.axis===t.HORIZONTAL_AXIS&&(e=-1*i,i=0),"deltaY"in t&&(i=-1*t.deltaY),"deltaX"in t&&(e=t.deltaX),this.options.zoomKey&&!t[this.options.zoomKey])if(t.preventDefault(),this.options.verticalScroll&&Math.abs(i)>=Math.abs(e)){var o=this.props.scrollTop,n=o+i;this.isActive()&&(this._setScrollTop(n),this._redraw(),this.emit("scroll",t))}else if(this.options.horizontalScroll){var s=Math.abs(e)>=Math.abs(i)?e:i,r=s/120*(this.range.end-this.range.start)/20,a=this.range.start+r,h=this.range.end+r,d={animation:!1,byUser:!0,event:t};this.range.setRange(a,h,d)}}function i(t){if(s.options.verticalScroll&&(t.preventDefault(),s.isActive())){var e=-t.target.scrollTop;s._setScrollTop(e),s._redraw(),s.emit("scrollSide",t)}}function o(t){if(t.preventDefault&&t.preventDefault(),!(!t.target.className.indexOf("vis")>-1||a))return t.dataTransfer.dropEffect="move",a=!0,!1}function n(t){t.preventDefault&&t.preventDefault(),t.stopPropagation&&t.stopPropagation();try{var e=JSON.parse(t.dataTransfer.getData("text"));if(!e||!e.content)return}catch(t){return!1}return a=!1,t.center={x:t.clientX,y:t.clientY},"item"!==e.target?s.itemSet._onAddItem(t):s.itemSet._onDropObjectOnItem(t),s.emit("drop",s.getEventProperties(t)),!1}this.dom={},this.dom.container=t,this.dom.root=document.createElement("div"),this.dom.background=document.createElement("div"),this.dom.backgroundVertical=document.createElement("div"),this.dom.backgroundHorizontal=document.createElement("div"),this.dom.centerContainer=document.createElement("div"),this.dom.leftContainer=document.createElement("div"),this.dom.rightContainer=document.createElement("div"),this.dom.center=document.createElement("div"),this.dom.left=document.createElement("div"),this.dom.right=document.createElement("div"),this.dom.top=document.createElement("div"),this.dom.bottom=document.createElement("div"),this.dom.shadowTop=document.createElement("div"),this.dom.shadowBottom=document.createElement("div"),this.dom.shadowTopLeft=document.createElement("div"),this.dom.shadowBottomLeft=document.createElement("div"),this.dom.shadowTopRight=document.createElement("div"),this.dom.shadowBottomRight=document.createElement("div"),this.dom.rollingModeBtn=document.createElement("div"),this.dom.root.className="vis-timeline",this.dom.background.className="vis-panel vis-background",this.dom.backgroundVertical.className="vis-panel vis-background vis-vertical",this.dom.backgroundHorizontal.className="vis-panel vis-background vis-horizontal",this.dom.centerContainer.className="vis-panel vis-center",this.dom.leftContainer.className="vis-panel vis-left",this.dom.rightContainer.className="vis-panel vis-right",this.dom.top.className="vis-panel vis-top",this.dom.bottom.className="vis-panel vis-bottom",this.dom.left.className="vis-content",this.dom.center.className="vis-content",this.dom.right.className="vis-content",this.dom.shadowTop.className="vis-shadow vis-top",this.dom.shadowBottom.className="vis-shadow vis-bottom",this.dom.shadowTopLeft.className="vis-shadow vis-top",this.dom.shadowBottomLeft.className="vis-shadow vis-bottom",this.dom.shadowTopRight.className="vis-shadow vis-top",this.dom.shadowBottomRight.className="vis-shadow vis-bottom",this.dom.rollingModeBtn.className="vis-rolling-mode-btn",this.dom.root.appendChild(this.dom.background),this.dom.root.appendChild(this.dom.backgroundVertical),this.dom.root.appendChild(this.dom.backgroundHorizontal),this.dom.root.appendChild(this.dom.centerContainer),this.dom.root.appendChild(this.dom.leftContainer),this.dom.root.appendChild(this.dom.rightContainer),this.dom.root.appendChild(this.dom.top),this.dom.root.appendChild(this.dom.bottom),this.dom.root.appendChild(this.dom.bottom),this.dom.root.appendChild(this.dom.rollingModeBtn),this.dom.centerContainer.appendChild(this.dom.center),this.dom.leftContainer.appendChild(this.dom.left),this.dom.rightContainer.appendChild(this.dom.right),this.dom.centerContainer.appendChild(this.dom.shadowTop),this.dom.centerContainer.appendChild(this.dom.shadowBottom),this.dom.leftContainer.appendChild(this.dom.shadowTopLeft),this.dom.leftContainer.appendChild(this.dom.shadowBottomLeft),this.dom.rightContainer.appendChild(this.dom.shadowTopRight),this.dom.rightContainer.appendChild(this.dom.shadowBottomRight),this.props={root:{},background:{},centerContainer:{},leftContainer:{},rightContainer:{},center:{},left:{},right:{},top:{},bottom:{},border:{},scrollTop:0,scrollTopMin:0},this.on("rangechange",function(){!0===this.initialDrawDone&&this._redraw()}.bind(this)),this.on("rangechanged",function(){this.initialRangeChangeDone||(this.initialRangeChangeDone=!0)}.bind(this)),this.on("touch",this._onTouch.bind(this)),this.on("panmove",this._onDrag.bind(this));var s=this;this._origRedraw=this._redraw.bind(this),this._redraw=c.throttle(this._origRedraw),this.on("_change",function(t){s.itemSet&&s.itemSet.initialItemSetDrawn&&t&&1==t.queue?s._redraw():s._origRedraw()}),this.hammer=new l(this.dom.root);var r=this.hammer.get("pinch").set({enable:!0});u.disablePreventDefaultVertically(r),this.hammer.get("pan").set({threshold:5,direction:l.DIRECTION_HORIZONTAL}),this.listeners={},["tap","doubletap","press","pinch","pan","panstart","panmove","panend"].forEach(function(t){var e=function(e){s.isActive()&&s.emit(t,e)};s.hammer.on(t,e),s.listeners[t]=e}),u.onTouch(this.hammer,function(t){s.emit("touch",t)}.bind(this)),u.onRelease(this.hammer,function(t){s.emit("release",t)}.bind(this)),this.dom.centerContainer.addEventListener?(this.dom.centerContainer.addEventListener("mousewheel",e.bind(this),!1),this.dom.centerContainer.addEventListener("DOMMouseScroll",e.bind(this),!1)):this.dom.centerContainer.attachEvent("onmousewheel",e.bind(this)),this.dom.left.parentNode.addEventListener("scroll",i.bind(this)),this.dom.right.parentNode.addEventListener("scroll",i.bind(this));var a=!1;if(this.dom.center.addEventListener("dragover",o.bind(this),!1),this.dom.center.addEventListener("drop",n.bind(this),!1),this.customTimes=[],this.touch={},this.redrawCount=0,this.initialDrawDone=!1,this.initialRangeChangeDone=!1,!t)throw new Error("No container provided");t.appendChild(this.dom.root)},n.prototype.setOptions=function(t){if(t){var e=["width","height","minHeight","maxHeight","autoResize","start","end","clickToUse","dataAttributes","hiddenDates","locale","locales","moment","rtl","zoomKey","horizontalScroll","verticalScroll"];if(c.selectiveExtend(e,this.options,t),this.dom.rollingModeBtn.style.visibility="hidden",this.options.rtl&&(this.dom.container.style.direction="rtl",this.dom.backgroundVertical.className="vis-panel vis-background vis-vertical-rtl"),this.options.verticalScroll&&(this.options.rtl?this.dom.rightContainer.className="vis-panel vis-right vis-vertical-scroll":this.dom.leftContainer.className="vis-panel vis-left vis-vertical-scroll"),"object"!==(0,h.default)(this.options.orientation)&&(this.options.orientation={item:void 0,axis:void 0}),"orientation"in t&&("string"==typeof t.orientation?this.options.orientation={item:t.orientation,axis:t.orientation}:"object"===(0,h.default)(t.orientation)&&("item"in t.orientation&&(this.options.orientation.item=t.orientation.item),"axis"in t.orientation&&(this.options.orientation.axis=t.orientation.axis))),"both"===this.options.orientation.axis){if(!this.timeAxis2){var i=this.timeAxis2=new p(this.body);i.setOptions=function(t){var e=t?c.extend({},t):{};e.orientation="top",p.prototype.setOptions.call(i,e)},this.components.push(i)}}else if(this.timeAxis2){var o=this.components.indexOf(this.timeAxis2);-1!==o&&this.components.splice(o,1),this.timeAxis2.destroy(),this.timeAxis2=null}if("function"==typeof t.drawPoints&&(t.drawPoints={onRender:t.drawPoints}),"hiddenDates"in this.options&&m.convertHiddenOptions(this.options.moment,this.body,this.options.hiddenDates),"clickToUse"in t&&(t.clickToUse?this.activator||(this.activator=new f(this.dom.root)):this.activator&&(this.activator.destroy(),delete this.activator)),"showCustomTime"in t)throw new Error("Option `showCustomTime` is deprecated. Create a custom time bar via timeline.addCustomTime(time [, id])");this._initAutoResize()}if(this.components.forEach(function(e){return e.setOptions(t)}),"configure"in t){this.configurator||(this.configurator=this._createConfigurator()),this.configurator.setOptions(t.configure);var n=c.deepExtend({},this.options);this.components.forEach(function(t){c.deepExtend(n,t.options)}),this.configurator.setModuleOptions({global:n})}this._redraw()},n.prototype.isActive=function(){return!this.activator||this.activator.active},n.prototype.destroy=function(){this.setItems(null),this.setGroups(null),this.off(),this._stopAutoResize(),this.dom.root.parentNode&&this.dom.root.parentNode.removeChild(this.dom.root),this.dom=null,this.activator&&(this.activator.destroy(),delete this.activator);for(var t in this.listeners)this.listeners.hasOwnProperty(t)&&delete this.listeners[t];this.listeners=null,this.hammer=null,this.components.forEach(function(t){return t.destroy()}),this.body=null},n.prototype.setCustomTime=function(t,e){var i=this.customTimes.filter(function(t){return e===t.options.id});if(0===i.length)throw new Error("No custom time bar found with id "+(0,r.default)(e));i.length>0&&i[0].setCustomTime(t)},n.prototype.getCustomTime=function(t){var e=this.customTimes.filter(function(e){return e.options.id===t});if(0===e.length)throw new Error("No custom time bar found with id "+(0,r.default)(t));return e[0].getCustomTime()},n.prototype.setCustomTimeTitle=function(t,e){var i=this.customTimes.filter(function(t){return t.options.id===e});if(0===i.length)throw new Error("No custom time bar found with id "+(0,r.default)(e));if(i.length>0)return i[0].setCustomTitle(t)},n.prototype.getEventProperties=function(t){return{event:t}},n.prototype.addCustomTime=function(t,e){var i=void 0!==t?c.convert(t,"Date").valueOf():new Date;if(this.customTimes.some(function(t){return t.options.id===e}))throw new Error("A custom time with id "+(0,r.default)(e)+" already exists");var o=new v(this.body,c.extend({},this.options,{time:i,id:e}));return this.customTimes.push(o),this.components.push(o),this._redraw(),e},n.prototype.removeCustomTime=function(t){var e=this.customTimes.filter(function(e){return e.options.id===t});if(0===e.length)throw new Error("No custom time bar found with id "+(0,r.default)(t));e.forEach(function(t){this.customTimes.splice(this.customTimes.indexOf(t),1),this.components.splice(this.components.indexOf(t),1),t.destroy()}.bind(this))},n.prototype.getVisibleItems=function(){return this.itemSet&&this.itemSet.getVisibleItems()||[]},n.prototype.fit=function(t,e){var i=this.getDataRange();if(null!==i.min||null!==i.max){var o=i.max-i.min,n=new Date(i.min.valueOf()-.01*o),s=new Date(i.max.valueOf()+.01*o),r=!t||void 0===t.animation||t.animation;this.range.setRange(n,s,{animation:r},e)}},n.prototype.getDataRange=function(){throw new Error("Cannot invoke abstract method getDataRange")},n.prototype.setWindow=function(t,e,i,o){"function"==typeof arguments[2]&&(o=arguments[2],i={});var n,s;1==arguments.length?(s=arguments[0],n=void 0===s.animation||s.animation,this.range.setRange(s.start,s.end,{animation:n})):2==arguments.length&&"function"==typeof arguments[1]?(s=arguments[0],o=arguments[1],n=void 0===s.animation||s.animation,this.range.setRange(s.start,s.end,{animation:n},o)):(n=!i||void 0===i.animation||i.animation,this.range.setRange(t,e,{animation:n},o))},n.prototype.moveTo=function(t,e,i){"function"==typeof arguments[1]&&(i=arguments[1],e={});var o=this.range.end-this.range.start,n=c.convert(t,"Date").valueOf(),s=n-o/2,r=n+o/2,a=!e||void 0===e.animation||e.animation;this.range.setRange(s,r,{animation:a},i)},n.prototype.getWindow=function(){var t=this.range.getRange();return{start:new Date(t.start),end:new Date(t.end)}},n.prototype.zoomIn=function(t,e,i){if(!(!t||t<0||t>1)){"function"==typeof arguments[1]&&(i=arguments[1],e={});var o=this.getWindow(),n=o.start.valueOf(),s=o.end.valueOf(),r=s-n,a=r/(1+t),h=(r-a)/2,d=n+h,l=s-h;this.setWindow(d,l,e,i)}},n.prototype.zoomOut=function(t,e,i){if(!(!t||t<0||t>1)){"function"==typeof arguments[1]&&(i=arguments[1],e={});var o=this.getWindow(),n=o.start.valueOf(),s=o.end.valueOf(),r=s-n,a=n-r*t/2,h=s+r*t/2;this.setWindow(a,h,e,i)}},n.prototype.redraw=function(){this._redraw()},n.prototype._redraw=function(){this.redrawCount++;var t=!1,e=this.options,i=this.props,o=this.dom;if(o&&o.container&&0!=o.root.offsetWidth){m.updateHiddenDates(this.options.moment,this.body,this.options.hiddenDates),"top"==e.orientation?(c.addClassName(o.root,"vis-top"),c.removeClassName(o.root,"vis-bottom")):(c.removeClassName(o.root,"vis-top"),c.addClassName(o.root,"vis-bottom")),o.root.style.maxHeight=c.option.asSize(e.maxHeight,""),o.root.style.minHeight=c.option.asSize(e.minHeight,""),o.root.style.width=c.option.asSize(e.width,""),i.border.left=(o.centerContainer.offsetWidth-o.centerContainer.clientWidth)/2,console.log("props.border.left: "+i.border.left),i.border.right=i.border.left,i.border.top=(o.centerContainer.offsetHeight-o.centerContainer.clientHeight)/2,i.border.bottom=i.border.top,console.log("props.border.top: "+i.border.top),i.borderRootHeight=o.root.offsetHeight-o.root.clientHeight,i.borderRootWidth=o.root.offsetWidth-o.root.clientWidth,console.log("props.borderRootHeight: "+i.borderRootHeight),0===o.centerContainer.clientHeight&&(i.border.left=i.border.top,i.border.right=i.border.left),0===o.root.clientHeight&&(i.borderRootWidth=i.borderRootHeight),i.center.height=o.center.offsetHeight,i.left.height=o.left.offsetHeight,i.right.height=o.right.offsetHeight,i.top.height=o.top.clientHeight||-i.border.top,i.bottom.height=o.bottom.clientHeight||-i.border.bottom;var n=Math.max(i.left.height,i.center.height,i.right.height),s=i.top.height+n+i.bottom.height+i.borderRootHeight+i.border.top+i.border.bottom;o.root.style.height=c.option.asSize(e.height,s+"px"),i.root.height=o.root.offsetHeight,i.background.height=i.root.height-i.borderRootHeight;var r=i.root.height-i.top.height-i.bottom.height-i.borderRootHeight;i.centerContainer.height=r,i.leftContainer.height=r,i.rightContainer.height=i.leftContainer.height,i.root.width=o.root.offsetWidth,i.background.width=i.root.width-i.borderRootWidth,this.initialDrawDone||(i.scrollbarWidth=c.getScrollBarWidth()),e.verticalScroll?e.rtl?(i.left.width=o.leftContainer.clientWidth||-i.border.left,i.right.width=o.rightContainer.clientWidth+i.scrollbarWidth||-i.border.right):(i.left.width=o.leftContainer.clientWidth+i.scrollbarWidth||-i.border.left,i.right.width=o.rightContainer.clientWidth||-i.border.right):(i.left.width=o.leftContainer.clientWidth||-i.border.left,i.right.width=o.rightContainer.clientWidth||-i.border.right),this._setDOM();var a=this._updateScrollTop();"top"!=e.orientation.item&&(a+=Math.max(i.centerContainer.height-i.center.height-i.border.top-i.border.bottom,0)),o.center.style.top=a+"px";var h=0==i.scrollTop?"hidden":"",d=i.scrollTop==i.scrollTopMin?"hidden":"";o.shadowTop.style.visibility=h,o.shadowBottom.style.visibility=d,o.shadowTopLeft.style.visibility=h,o.shadowBottomLeft.style.visibility=d,o.shadowTopRight.style.visibility=h,o.shadowBottomRight.style.visibility=d,e.verticalScroll&&(o.rightContainer.className="vis-panel vis-right vis-vertical-scroll",o.leftContainer.className="vis-panel vis-left vis-vertical-scroll",o.shadowTopRight.style.visibility="hidden",o.shadowBottomRight.style.visibility="hidden",o.shadowTopLeft.style.visibility="hidden",o.shadowBottomLeft.style.visibility="hidden",o.left.style.top="0px",o.right.style.top="0px"),(!e.verticalScroll||i.center.heighti.centerContainer.height;this.hammer.get("pan").set({direction:u?l.DIRECTION_ALL:l.DIRECTION_HORIZONTAL}),this.components.forEach(function(e){t=e.redraw()||t});if(t){if(this.redrawCount<2)return void this.body.emitter.emit("_change");console.log("WARNING: infinite loop in redraw? ...")}else this.redrawCount=0;this.body.emitter.emit("changed")}},n.prototype._setDOM=function(){var t=this.props,e=this.dom;t.leftContainer.width=t.left.width,t.rightContainer.width=t.right.width;var i=t.root.width-t.left.width-t.right.width-t.borderRootWidth;t.center.width=i,t.centerContainer.width=i,t.top.width=i,t.bottom.width=i,e.background.style.height=t.background.height+"px",e.backgroundVertical.style.height=t.background.height+"px",e.backgroundHorizontal.style.height=t.centerContainer.height+"px",e.centerContainer.style.height=t.centerContainer.height+"px",e.leftContainer.style.height=t.leftContainer.height+"px",e.rightContainer.style.height=t.rightContainer.height+"px",e.background.style.width=t.background.width+"px",e.backgroundVertical.style.width=t.centerContainer.width+"px",e.backgroundHorizontal.style.width=t.background.width+"px",e.centerContainer.style.width=t.center.width+"px",e.top.style.width=t.top.width+"px",e.bottom.style.width=t.bottom.width+"px",e.background.style.left="0",e.background.style.top="0",e.backgroundVertical.style.left=t.left.width+t.border.left+"px",e.backgroundVertical.style.top="0",e.backgroundHorizontal.style.left="0",e.backgroundHorizontal.style.top=t.top.height+"px",e.centerContainer.style.left=t.left.width+"px",e.centerContainer.style.top=t.top.height+"px",e.leftContainer.style.left="0",e.leftContainer.style.top=t.top.height+"px",e.rightContainer.style.left=t.left.width+t.center.width+"px",e.rightContainer.style.top=t.top.height+"px",e.top.style.left=t.left.width+"px",e.top.style.top="0",e.bottom.style.left=t.left.width+"px",e.bottom.style.top=t.top.height+t.centerContainer.height+"px",e.center.style.left="0",e.left.style.left="0",e.right.style.left="0"},n.prototype.repaint=function(){throw new Error("Function repaint is deprecated. Use redraw instead.")},n.prototype.setCurrentTime=function(t){if(!this.currentTime)throw new Error("Option showCurrentTime must be true");this.currentTime.setCurrentTime(t)},n.prototype.getCurrentTime=function(){if(!this.currentTime)throw new Error("Option showCurrentTime must be true");return this.currentTime.getCurrentTime()},n.prototype._toTime=function(t){return m.toTime(this,t,this.props.center.width)},n.prototype._toGlobalTime=function(t){return m.toTime(this,t,this.props.root.width)},n.prototype._toScreen=function(t){return m.toScreen(this,t,this.props.center.width)},n.prototype._toGlobalScreen=function(t){return m.toScreen(this,t,this.props.root.width)},n.prototype._initAutoResize=function(){1==this.options.autoResize?this._startAutoResize():this._stopAutoResize()},n.prototype._startAutoResize=function(){var t=this;this._stopAutoResize(),this._onResize=function(){if(1!=t.options.autoResize)return void t._stopAutoResize();t.dom.root&&(t.dom.root.offsetWidth==t.props.lastWidth&&t.dom.root.offsetHeight==t.props.lastHeight||(t.props.lastWidth=t.dom.root.offsetWidth,t.props.lastHeight=t.dom.root.offsetHeight,t.props.scrollbarWidth=c.getScrollBarWidth(),t.body.emitter.emit("_change")))},c.addEventListener(window,"resize",this._onResize),t.dom.root&&(t.props.lastWidth=t.dom.root.offsetWidth,t.props.lastHeight=t.dom.root.offsetHeight),this.watchTimer=setInterval(this._onResize,1e3)},n.prototype._stopAutoResize=function(){this.watchTimer&&(clearInterval(this.watchTimer),this.watchTimer=void 0),this._onResize&&(c.removeEventListener(window,"resize",this._onResize),this._onResize=null)},n.prototype._onTouch=function(t){this.touch.allowDragging=!0,this.touch.initialScrollTop=this.props.scrollTop},n.prototype._onPinch=function(t){this.touch.allowDragging=!1},n.prototype._onDrag=function(t){if(t&&this.touch.allowDragging){var e=t.deltaY,i=this._getScrollTop(),o=this._setScrollTop(this.touch.initialScrollTop+e);this.options.verticalScroll&&(this.dom.left.parentNode.scrollTop=-this.props.scrollTop,this.dom.right.parentNode.scrollTop=-this.props.scrollTop),o!=i&&this.emit("verticalDrag")}},n.prototype._setScrollTop=function(t){return this.props.scrollTop=t,this._updateScrollTop(),this.props.scrollTop},n.prototype._updateScrollTop=function(){var t=Math.min(this.props.centerContainer.height-this.props.center.height,0);return t!=this.props.scrollTopMin&&("top"!=this.options.orientation.item&&(this.props.scrollTop+=t-this.props.scrollTopMin),this.props.scrollTopMin=t),this.props.scrollTop>0&&(this.props.scrollTop=0),this.props.scrollTop0&&this.current.milliseconds()0&&this.current.seconds()0&&this.current.minutes()0&&this.current.hours()0?t.step:1,this.autoScale=!1)},o.prototype.setAutoScale=function(t){this.autoScale=t},o.prototype.setMinimumStep=function(t){if(void 0!=t){31104e9>t&&(this.scale="year",this.step=1e3),15552e9>t&&(this.scale="year",this.step=500),31104e8>t&&(this.scale="year",this.step=100),15552e8>t&&(this.scale="year",this.step=50),31104e7>t&&(this.scale="year",this.step=10),15552e7>t&&(this.scale="year",this.step=5),31104e6>t&&(this.scale="year",this.step=1),7776e6>t&&(this.scale="month",this.step=3),2592e6>t&&(this.scale="month",this.step=1),432e6>t&&(this.scale="day",this.step=5),1728e5>t&&(this.scale="day",this.step=2),864e5>t&&(this.scale="day",this.step=1),432e5>t&&(this.scale="weekday",this.step=1),144e5>t&&(this.scale="hour",this.step=4),36e5>t&&(this.scale="hour",this.step=1),9e5>t&&(this.scale="minute",this.step=15),6e5>t&&(this.scale="minute",this.step=10),3e5>t&&(this.scale="minute",this.step=5),6e4>t&&(this.scale="minute",this.step=1),15e3>t&&(this.scale="second",this.step=15),1e4>t&&(this.scale="second",this.step=10),5e3>t&&(this.scale="second",this.step=5),1e3>t&&(this.scale="second",this.step=1),200>t&&(this.scale="millisecond",this.step=200),100>t&&(this.scale="millisecond",this.step=100),50>t&&(this.scale="millisecond",this.step=50),10>t&&(this.scale="millisecond",this.step=10),5>t&&(this.scale="millisecond",this.step=5),1>t&&(this.scale="millisecond",this.step=1)}},o.snap=function(t,e,i){var o=n(t);if("year"==e){var s=o.year()+Math.round(o.month()/12);o.year(Math.round(s/i)*i),o.month(0),o.date(0),o.hours(0),o.minutes(0),o.seconds(0),o.milliseconds(0)}else if("month"==e)o.date()>15?(o.date(1),o.add(1,"month")):o.date(1),o.hours(0),o.minutes(0),o.seconds(0),o.milliseconds(0);else if("week"==e)o.weekday()>2?(o.weekday(0),o.add(1,"week")):o.weekday(0),o.hours(0),o.minutes(0),o.seconds(0),o.milliseconds(0);else if("day"==e){switch(i){case 5:case 2:o.hours(24*Math.round(o.hours()/24));break;default:o.hours(12*Math.round(o.hours()/12))}o.minutes(0),o.seconds(0),o.milliseconds(0)}else if("weekday"==e){switch(i){case 5:case 2:o.hours(12*Math.round(o.hours()/12));break;default:o.hours(6*Math.round(o.hours()/6))}o.minutes(0),o.seconds(0),o.milliseconds(0)}else if("hour"==e){switch(i){case 4:o.minutes(60*Math.round(o.minutes()/60));break;default:o.minutes(30*Math.round(o.minutes()/30))}o.seconds(0),o.milliseconds(0)}else if("minute"==e){switch(i){case 15:case 10:o.minutes(5*Math.round(o.minutes()/5)),o.seconds(0);break;case 5:o.seconds(60*Math.round(o.seconds()/60));break;default:o.seconds(30*Math.round(o.seconds()/30))}o.milliseconds(0)}else if("second"==e)switch(i){case 15:case 10:o.seconds(5*Math.round(o.seconds()/5)),o.milliseconds(0);break;case 5:o.milliseconds(1e3*Math.round(o.milliseconds()/1e3));break;default:o.milliseconds(500*Math.round(o.milliseconds()/500))}else if("millisecond"==e){var r=i>5?i/2:1;o.milliseconds(Math.round(o.milliseconds()/r)*r)}return o},o.prototype.isMajor=function(){if(1==this.switchedYear)switch(this.scale){case"year":case"month":case"week":case"weekday":case"day":case"hour":case"minute":case"second":case"millisecond":return!0;default:return!1}else if(1==this.switchedMonth)switch(this.scale){case"week":case"weekday":case"day":case"hour":case"minute":case"second":case"millisecond":return!0;default:return!1}else if(1==this.switchedDay)switch(this.scale){case"millisecond":case"second":case"minute":case"hour":return!0;default:return!1}var t=this.moment(this.current);switch(this.scale){case"millisecond":return 0==t.milliseconds();case"second":return 0==t.seconds();case"minute":return 0==t.hours()&&0==t.minutes();case"hour":return 0==t.hours();case"weekday":case"day":case"week":return 1==t.date();case"month":return 0==t.month();case"year":default:return!1}},o.prototype.getLabelMinor=function(t){if(void 0==t&&(t=this.current),t instanceof Date&&(t=this.moment(t)),"function"==typeof this.format.minorLabels)return this.format.minorLabels(t,this.scale,this.step);var e=this.format.minorLabels[this.scale];switch(this.scale){case"week":if(this.isMajor()&&0!==t.weekday())return"";default:return e&&e.length>0?this.moment(t).format(e):""}},o.prototype.getLabelMajor=function(t){if(void 0==t&&(t=this.current),t instanceof Date&&(t=this.moment(t)),"function"==typeof this.format.majorLabels)return this.format.majorLabels(t,this.scale,this.step);var e=this.format.majorLabels[this.scale];return e&&e.length>0?this.moment(t).format(e):""},o.prototype.getClassName=function(){function t(t){return t/a%2==0?" vis-even":" vis-odd"}function e(t){return t.isSame(new Date,"day")?" vis-today":t.isSame(n().add(1,"day"),"day")?" vis-tomorrow":t.isSame(n().add(-1,"day"),"day")?" vis-yesterday":""}function i(t){return t.isSame(new Date,"week")?" vis-current-week":""}function o(t){return t.isSame(new Date,"month")?" vis-current-month":""}var n=this.moment,s=this.moment(this.current),r=s.locale?s.locale("en"):s.lang("en"),a=this.step,h=[];switch(this.scale){case"millisecond":h.push(e(r)),h.push(t(r.milliseconds()));break;case"second":h.push(e(r)),h.push(t(r.seconds()));break;case"minute":h.push(e(r)),h.push(t(r.minutes()));break;case"hour": -h.push("vis-h"+r.hours()+(4==this.step?"-h"+(r.hours()+4):"")),h.push(e(r)),h.push(t(r.hours()));break;case"weekday":h.push("vis-"+r.format("dddd").toLowerCase()),h.push(e(r)),h.push(i(r)),h.push(t(r.date()));break;case"day":h.push("vis-day"+r.date()),h.push("vis-"+r.format("MMMM").toLowerCase()),h.push(e(r)),h.push(o(r)),h.push(this.step<=2?e(r):""),h.push(this.step<=2?"vis-"+r.format("dddd").toLowerCase():""),h.push(t(r.date()-1));break;case"week":h.push("vis-week"+r.format("w")),h.push(i(r)),h.push(t(r.week()));break;case"month":h.push("vis-"+r.format("MMMM").toLowerCase()),h.push(o(r)),h.push(t(r.month()));break;case"year":h.push("vis-year"+r.year()),h.push(function(t){return t.isSame(new Date,"year")?" vis-current-year":""}(r)),h.push(t(r.year()))}return h.filter(String).join(" ")},t.exports=o},function(t,e,i){function o(t,e){this.body=t,this.defaultOptions={rtl:!1,showCurrentTime:!0,moment:r,locales:a,locale:"en"},this.options=n.extend({},this.defaultOptions),this.offset=0,this._create(),this.setOptions(e)}var n=i(2),s=i(16),r=i(9),a=i(98);o.prototype=new s,o.prototype._create=function(){var t=document.createElement("div");t.className="vis-current-time",t.style.position="absolute",t.style.top="0px",t.style.height="100%",this.bar=t},o.prototype.destroy=function(){this.options.showCurrentTime=!1,this.redraw(),this.body=null},o.prototype.setOptions=function(t){t&&n.selectiveExtend(["rtl","showCurrentTime","moment","locale","locales"],this.options,t)},o.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=this.options.moment((new Date).valueOf()+this.offset),i=this.body.util.toScreen(e),o=this.options.locales[this.options.locale];o||(this.warned||(console.log("WARNING: options.locales['"+this.options.locale+"'] not found. See http://visjs.org/docs/timeline/#Localization"),this.warned=!0),o=this.options.locales.en);var n=o.current+" "+o.time+": "+e.format("dddd, MMMM Do YYYY, H:mm:ss");n=n.charAt(0).toUpperCase()+n.substring(1),this.options.rtl?this.bar.style.right=i+"px":this.bar.style.left=i+"px",this.bar.title=n}else this.bar.parentNode&&this.bar.parentNode.removeChild(this.bar),this.stop();return!1},o.prototype.start=function(){function t(){e.stop();var i=e.body.range.conversion(e.body.domProps.center.width).scale,o=1/i/10;o<30&&(o=30),o>1e3&&(o=1e3),e.redraw(),e.body.emitter.emit("currentTimeTick"),e.currentTimeTimer=setTimeout(t,o)}var e=this;t()},o.prototype.stop=function(){void 0!==this.currentTimeTimer&&(clearTimeout(this.currentTimeTimer),delete this.currentTimeTimer)},o.prototype.setCurrentTime=function(t){var e=n.convert(t,"Date").valueOf(),i=(new Date).valueOf();this.offset=e-i,this.redraw()},o.prototype.getCurrentTime=function(){return new Date((new Date).valueOf()+this.offset)},t.exports=o},function(t,e,i){function o(t,e,i){if(this.groupId=t,this.subgroups={},this.subgroupStack={},this.subgroupStackAll=!1,this.doInnerStack=!1,this.subgroupIndex=0,this.subgroupOrderer=e&&e.subgroupOrder,this.itemSet=i,this.isVisible=null,this.stackDirty=!0,e&&e.nestedGroups&&(this.nestedGroups=e.nestedGroups,0==e.showNested?this.showNested=!1:this.showNested=!0),e&&e.subgroupStack)if("boolean"==typeof e.subgroupStack)this.doInnerStack=e.subgroupStack,this.subgroupStackAll=e.subgroupStack;else for(var o in e.subgroupStack)this.subgroupStack[o]=e.subgroupStack[o],this.doInnerStack=this.doInnerStack||e.subgroupStack[o];this.nestedInGroup=null,this.dom={},this.props={label:{width:0,height:0}},this.className=null,this.items={},this.visibleItems=[],this.itemsInRange=[],this.orderedItems={byStart:[],byEnd:[]},this.checkRangedItems=!1;var n=this;this.itemSet.body.emitter.on("checkRangedItems",function(){n.checkRangedItems=!0}),this._create(),this.setData(e)}var n=i(8),s=function(t){return t&&t.__esModule?t:{default:t}}(n),r=i(2),a=i(100);o.prototype._create=function(){var t=document.createElement("div");this.itemSet.options.groupEditable.order?t.className="vis-label draggable":t.className="vis-label",this.dom.label=t;var e=document.createElement("div");e.className="vis-inner",t.appendChild(e),this.dom.inner=e;var i=document.createElement("div");i.className="vis-group",i["timeline-group"]=this,this.dom.foreground=i,this.dom.background=document.createElement("div"),this.dom.background.className="vis-group",this.dom.axis=document.createElement("div"),this.dom.axis.className="vis-group",this.dom.marker=document.createElement("div"),this.dom.marker.style.visibility="hidden",this.dom.marker.style.position="absolute",this.dom.marker.innerHTML="",this.dom.background.appendChild(this.dom.marker)},o.prototype.setData=function(t){var e,i;if(this.itemSet.options&&this.itemSet.options.groupTemplate?(i=this.itemSet.options.groupTemplate.bind(this),e=i(t,this.dom.inner)):e=t&&t.content,e instanceof Element){for(this.dom.inner.appendChild(e);this.dom.inner.firstChild;)this.dom.inner.removeChild(this.dom.inner.firstChild);this.dom.inner.appendChild(e)}else e instanceof Object?i(t,this.dom.inner):this.dom.inner.innerHTML=void 0!==e&&null!==e?e:this.groupId||"";if(this.dom.label.title=t&&t.title||"",this.dom.inner.firstChild?r.removeClassName(this.dom.inner,"vis-hidden"):r.addClassName(this.dom.inner,"vis-hidden"),t&&t.nestedGroups){this.nestedGroups&&this.nestedGroups==t.nestedGroups||(this.nestedGroups=t.nestedGroups),void 0===t.showNested&&void 0!==this.showNested||(0==t.showNested?this.showNested=!1:this.showNested=!0),r.addClassName(this.dom.label,"vis-nesting-group");var o=this.itemSet.options.rtl?"collapsed-rtl":"collapsed";this.showNested?(r.removeClassName(this.dom.label,o),r.addClassName(this.dom.label,"expanded")):(r.removeClassName(this.dom.label,"expanded"),r.addClassName(this.dom.label,o))}else this.nestedGroups&&(this.nestedGroups=null,o=this.itemSet.options.rtl?"collapsed-rtl":"collapsed",r.removeClassName(this.dom.label,o),r.removeClassName(this.dom.label,"expanded"),r.removeClassName(this.dom.label,"vis-nesting-group"));t&&t.nestedInGroup&&(r.addClassName(this.dom.label,"vis-nested-group"),this.itemSet.options&&this.itemSet.options.rtl?this.dom.inner.style.paddingRight="30px":this.dom.inner.style.paddingLeft="30px");var n=t&&t.className||null;n!=this.className&&(this.className&&(r.removeClassName(this.dom.label,this.className),r.removeClassName(this.dom.foreground,this.className),r.removeClassName(this.dom.background,this.className),r.removeClassName(this.dom.axis,this.className)),r.addClassName(this.dom.label,n),r.addClassName(this.dom.foreground,n),r.addClassName(this.dom.background,n),r.addClassName(this.dom.axis,n),this.className=n),this.style&&(r.removeCssText(this.dom.label,this.style),this.style=null),t&&t.style&&(r.addCssText(this.dom.label,t.style),this.style=t.style)},o.prototype.getLabelWidth=function(){return this.props.label.width},o.prototype._didMarkerHeightChange=function(){var t=this.dom.marker.clientHeight;if(t!=this.lastMarkerHeight){this.lastMarkerHeight=t;var e={},i=0;r.forEach(this.items,function(t,o){if(t.dirty=!0,t.displayed){e[o]=t.redraw(!0),i=e[o].length}});if(i>0)for(var o=0;o0)for(var u=0;u0){var e=this;this.resetSubgroups(),r.forEach(this.visibleItems,function(i){void 0!==i.data.subgroup&&(e.subgroups[i.data.subgroup].height=Math.max(e.subgroups[i.data.subgroup].height,i.height+t.item.vertical),e.subgroups[i.data.subgroup].visible=!0)})}},o.prototype._isGroupVisible=function(t,e){return this.top<=t.body.domProps.centerContainer.height-t.body.domProps.scrollTop+e.axis&&this.top+this.height+e.axis>=-t.body.domProps.scrollTop},o.prototype._calculateHeight=function(t){var e,i=this.visibleItems;if(i.length>0){var o=i[0].top,n=i[0].top+i[0].height;if(r.forEach(i,function(t){o=Math.min(o,t.top),n=Math.max(n,t.top+t.height)}),o>t.axis){var s=o-t.axis;n-=s,r.forEach(i,function(t){t.top-=s})}e=n+t.item.vertical/2}else e=0;return e=Math.max(e,this.props.label.height)},o.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)},o.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 o=this.dom.axis;o.parentNode&&o.parentNode.removeChild(o)},o.prototype.add=function(t){if(this.items[t.id]=t,t.setParent(this),this.stackDirty=!0,void 0!==t.data.subgroup&&(this._addToSubgroup(t),this.orderSubgroups()),-1==this.visibleItems.indexOf(t)){var e=this.itemSet.body.range;this._checkIfVisible(t,this.visibleItems,e)}},o.prototype._addToSubgroup=function(t,e){e=e||t.data.subgroup,void 0!=e&&void 0===this.subgroups[e]&&(this.subgroups[e]={height:0,top:0,start:t.data.start,end:t.data.end||t.data.start,visible:!1,index:this.subgroupIndex,items:[],stack:this.subgroupStackAll||this.subgroupStack[e]||!1},this.subgroupIndex++),new Date(t.data.start)new Date(this.subgroups[e].end)&&(this.subgroups[e].end=i),this.subgroups[e].items.push(t)},o.prototype._updateSubgroupsSizes=function(){var t=this;if(t.subgroups)for(var e in t.subgroups){var i=t.subgroups[e].items[0].data.end||t.subgroups[e].items[0].data.start,o=t.subgroups[e].items[0].data.start,n=i-1;t.subgroups[e].items.forEach(function(t){new Date(t.data.start)new Date(n)&&(n=e)}),t.subgroups[e].start=o,t.subgroups[e].end=new Date(n-1)}},o.prototype.orderSubgroups=function(){if(void 0!==this.subgroupOrderer){var t,e=[];if("string"==typeof this.subgroupOrderer){for(t in this.subgroups)e.push({subgroup:t,sortField:this.subgroups[t].items[0].data[this.subgroupOrderer]});e.sort(function(t,e){return t.sortField-e.sortField})}else if("function"==typeof this.subgroupOrderer){for(t in this.subgroups)e.push(this.subgroups[t].items[0].data);e.sort(this.subgroupOrderer)}if(e.length>0)for(var i=0;i=0&&(i.items.splice(o,1),i.items.length?this._updateSubgroupsSizes():delete this.subgroups[e])}}},o.prototype.removeFromDataSet=function(t){this.itemSet.removeItem(t.id)},o.prototype.order=function(){for(var t=r.toArray(this.items),e=[],i=[],o=0;o0)for(var l=0;lh}),1==this.checkRangedItems)for(this.checkRangedItems=!1,l=0;lh})}var p={},f=0;for(l=0;l0)for(var v=0;v=0&&(r=e[s],!n(r));s--)void 0===o[r.id]&&(o[r.id]=!0,i.push(r));for(s=t+1;st.start},o.prototype._createDomElement=function(){this.dom||(this.dom={},this.dom.box=document.createElement("div"),this.dom.frame=document.createElement("div"),this.dom.frame.className="vis-item-overflow",this.dom.box.appendChild(this.dom.frame),this.dom.visibleFrame=document.createElement("div"),this.dom.visibleFrame.className="vis-item-visible-frame",this.dom.box.appendChild(this.dom.visibleFrame),this.dom.content=document.createElement("div"),this.dom.content.className="vis-item-content",this.dom.frame.appendChild(this.dom.content),this.dom.box["timeline-item"]=this,this.dirty=!0)},o.prototype._appendDomElement=function(){if(!this.parent)throw new Error("Cannot redraw item: no parent attached");if(!this.dom.box.parentNode){var t=this.parent.dom.foreground;if(!t)throw new Error("Cannot redraw item: parent has no foreground container element");t.appendChild(this.dom.box)}this.displayed=!0},o.prototype._updateDirtyDomComponents=function(){if(this.dirty){this._updateContents(this.dom.content),this._updateDataAttributes(this.dom.box),this._updateStyle(this.dom.box);var t=this.editable.updateTime||this.editable.updateGroup,e=(this.data.className?" "+this.data.className:"")+(this.selected?" vis-selected":"")+(t?" vis-editable":" vis-readonly");this.dom.box.className=this.baseClassName+e,this.dom.content.style.maxWidth="none"}},o.prototype._getDomComponentsSizes=function(){return this.overflow="hidden"!==window.getComputedStyle(this.dom.frame).overflow,{content:{width:this.dom.content.offsetWidth},box:{height:this.dom.box.offsetHeight}}},o.prototype._updateDomComponentsSizes=function(t){this.props.content.width=t.content.width,this.height=t.box.height,this.dom.content.style.maxWidth="",this.dirty=!1},o.prototype._repaintDomAdditionals=function(){this._repaintOnItemUpdateTimeTooltip(this.dom.box),this._repaintDeleteButton(this.dom.box),this._repaintDragCenter(),this._repaintDragLeft(),this._repaintDragRight()},o.prototype.redraw=function(t){var e,i=[this._createDomElement.bind(this),this._appendDomElement.bind(this),this._updateDirtyDomComponents.bind(this),function(){this.dirty&&(e=this._getDomComponentsSizes.bind(this)())}.bind(this),function(){this.dirty&&this._updateDomComponentsSizes.bind(this)(e)}.bind(this),this._repaintDomAdditionals.bind(this)];if(t)return i;var o;return i.forEach(function(t){o=t()}),o},o.prototype.show=function(){this.displayed||this.redraw()},o.prototype.hide=function(){if(this.displayed){var t=this.dom.box;t.parentNode&&t.parentNode.removeChild(t),this.displayed=!1}},o.prototype.repositionX=function(t){var e,i,o=this.parent.width,n=this.conversion.toScreen(this.data.start),s=this.conversion.toScreen(this.data.end),r=void 0===this.data.align?this.options.align:this.data.align;!1===this.data.limitSize||void 0!==t&&!0!==t||(n<-o&&(n=-o),s>2*o&&(s=2*o));var a=Math.max(s-n+.5,1);switch(this.overflow?(this.options.rtl?this.right=n:this.left=n,this.width=a+this.props.content.width,i=this.props.content.width):(this.options.rtl?this.right=n:this.left=n,this.width=a,i=Math.min(s-n,this.props.content.width)),this.options.rtl?this.dom.box.style.right=this.right+"px":this.dom.box.style.left=this.left+"px",this.dom.box.style.width=a+"px",r){case"left":this.options.rtl?this.dom.content.style.right="0":this.dom.content.style.left="0";break;case"right":this.options.rtl?this.dom.content.style.right=Math.max(a-i,0)+"px":this.dom.content.style.left=Math.max(a-i,0)+"px";break;case"center":this.options.rtl?this.dom.content.style.right=Math.max((a-i)/2,0)+"px":this.dom.content.style.left=Math.max((a-i)/2,0)+"px";break;default:e=this.overflow?s>0?Math.max(-n,0):-i:n<0?-n:0,this.options.rtl?this.dom.content.style.right=e+"px":(this.dom.content.style.left=e+"px",this.dom.content.style.width="calc(100% - "+e+"px)")}},o.prototype.repositionY=function(){var t=this.options.orientation.item,e=this.dom.box;e.style.top="top"==t?this.top+"px":this.parent.height-this.top-this.height+"px"},o.prototype._repaintDragLeft=function(){if((this.selected||this.options.itemsAlwaysDraggable.range)&&this.options.editable.updateTime&&!this.dom.dragLeft){var t=document.createElement("div");t.className="vis-drag-left",t.dragLeftItem=this,this.dom.box.appendChild(t),this.dom.dragLeft=t}else this.selected||this.options.itemsAlwaysDraggable.range||!this.dom.dragLeft||(this.dom.dragLeft.parentNode&&this.dom.dragLeft.parentNode.removeChild(this.dom.dragLeft),this.dom.dragLeft=null)},o.prototype._repaintDragRight=function(){if((this.selected||this.options.itemsAlwaysDraggable.range)&&this.options.editable.updateTime&&!this.dom.dragRight){var t=document.createElement("div");t.className="vis-drag-right",t.dragRightItem=this,this.dom.box.appendChild(t),this.dom.dragRight=t}else this.selected||this.options.itemsAlwaysDraggable.range||!this.dom.dragRight||(this.dom.dragRight.parentNode&&this.dom.dragRight.parentNode.removeChild(this.dom.dragRight),this.dom.dragRight=null)},t.exports=o},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(19),s=o(n),r=i(6),a=o(r),h=i(0),d=o(h),l=i(1),u=o(l),c=i(2),p=i(179).default,f=function(){function t(e,i,o){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;(0,d.default)(this,t),this.parent=e,this.changedOptions=[],this.container=i,this.allowCreation=!1,this.options={},this.initialized=!1,this.popupCounter=0,this.defaultOptions={enabled:!1,filter:!0,container:void 0,showButton:!0},c.extend(this.options,this.defaultOptions),this.configureOptions=o,this.moduleOptions={},this.domElements=[],this.popupDiv={},this.popupLimit=5,this.popupHistory={},this.colorPicker=new p(n),this.wrapper=void 0}return(0,u.default)(t,[{key:"setOptions",value:function(t){if(void 0!==t){this.popupHistory={},this._removePopup();var e=!0;"string"==typeof t?this.options.filter=t:t instanceof Array?this.options.filter=t.join():"object"===(void 0===t?"undefined":(0,a.default)(t))?(void 0!==t.container&&(this.options.container=t.container),void 0!==t.filter&&(this.options.filter=t.filter),void 0!==t.showButton&&(this.options.showButton=t.showButton),void 0!==t.enabled&&(e=t.enabled)):"boolean"==typeof t?(this.options.filter=!0,e=t):"function"==typeof t&&(this.options.filter=t,e=!0),!1===this.options.filter&&(e=!1),this.options.enabled=e}this._clean()}},{key:"setModuleOptions",value:function(t){this.moduleOptions=t,!0===this.options.enabled&&(this._clean(),void 0!==this.options.container&&(this.container=this.options.container),this._create())}},{key:"_create",value:function(){var t=this;this._clean(),this.changedOptions=[];var e=this.options.filter,i=0,o=!1;for(var n in this.configureOptions)this.configureOptions.hasOwnProperty(n)&&(this.allowCreation=!1,o=!1,"function"==typeof e?(o=e(n,[]),o=o||this._handleObject(this.configureOptions[n],[n],!0)):!0!==e&&-1===e.indexOf(n)||(o=!0),!1!==o&&(this.allowCreation=!0,i>0&&this._makeItem([]),this._makeHeader(n),this._handleObject(this.configureOptions[n],[n])),i++);if(!0===this.options.showButton){var s=document.createElement("div");s.className="vis-configuration vis-config-button",s.innerHTML="generate options",s.onclick=function(){t._printOptions()},s.onmouseover=function(){s.className="vis-configuration vis-config-button hover"},s.onmouseout=function(){s.className="vis-configuration vis-config-button"},this.optionsContainer=document.createElement("div"),this.optionsContainer.className="vis-configuration vis-config-option-container",this.domElements.push(this.optionsContainer),this.domElements.push(s)}this._push()}},{key:"_push",value:function(){this.wrapper=document.createElement("div"),this.wrapper.className="vis-configuration-wrapper",this.container.appendChild(this.wrapper);for(var t=0;t1?i-1:0),n=1;n2&&void 0!==arguments[2]&&arguments[2],o=document.createElement("div");return o.className="vis-configuration vis-config-label vis-config-s"+e.length,o.innerHTML=!0===i?""+t+":":t+":",o}},{key:"_makeDropdown",value:function(t,e,i){var o=document.createElement("select");o.className="vis-configuration vis-config-select";var n=0;void 0!==e&&-1!==t.indexOf(e)&&(n=t.indexOf(e));for(var s=0;ss&&1!==s&&(a.max=Math.ceil(1.2*e),d=a.max,h="range increased"),a.value=e}else a.value=o;var l=document.createElement("input");l.className="vis-configuration vis-config-rangeinput",l.value=a.value;var u=this;a.onchange=function(){l.value=this.value,u._update(Number(this.value),i)},a.oninput=function(){l.value=this.value};var c=this._makeLabel(i[i.length-1],i),p=this._makeItem(i,c,a,l);""!==h&&this.popupHistory[p]!==d&&(this.popupHistory[p]=d,this._setupPopup(h,p))}},{key:"_setupPopup",value:function(t,e){var i=this;if(!0===this.initialized&&!0===this.allowCreation&&this.popupCounter1&&void 0!==arguments[1]?arguments[1]:[],i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=!1,n=this.options.filter,s=!1;for(var r in t)if(t.hasOwnProperty(r)){o=!0;var a=t[r],h=c.copyAndExtendArray(e,r);if("function"==typeof n&&!1===(o=n(r,e))&&!(a instanceof Array)&&"string"!=typeof a&&"boolean"!=typeof a&&a instanceof Object&&(this.allowCreation=!1,o=this._handleObject(a,h,!0),this.allowCreation=!1===i),!1!==o){s=!0;var d=this._getValue(h);if(a instanceof Array)this._handleArray(a,d,h);else if("string"==typeof a)this._makeTextInput(a,d,h);else if("boolean"==typeof a)this._makeCheckbox(a,d,h);else if(a instanceof Object){var l=!0;if(-1!==e.indexOf("physics")&&this.moduleOptions.physics.solver!==r&&(l=!1),!0===l)if(void 0!==a.enabled){var u=c.copyAndExtendArray(h,"enabled"),p=this._getValue(u);if(!0===p){var f=this._makeLabel(r,h,!0);this._makeItem(h,f),s=this._handleObject(a,h)||s}else this._makeCheckbox(a,p,h)}else{var m=this._makeLabel(r,h,!0);this._makeItem(h,m),s=this._handleObject(a,h)||s}}else console.error("dont know how to handle",a,r,h)}}return s}},{key:"_handleArray",value:function(t,e,i){"string"==typeof t[0]&&"color"===t[0]?(this._makeColorField(t,e,i),t[1]!==e&&this.changedOptions.push({path:i,value:e})):"string"==typeof t[0]?(this._makeDropdown(t,e,i),t[0]!==e&&this.changedOptions.push({path:i,value:e})):"number"==typeof t[0]&&(this._makeRange(t,e,i),t[0]!==e&&this.changedOptions.push({path:i,value:Number(e)}))}},{key:"_update",value:function(t,e){var i=this._constructOptions(t,e);this.parent.body&&this.parent.body.emitter&&this.parent.body.emitter.emit&&this.parent.body.emitter.emit("configChange",i),this.initialized=!0,this.parent.setOptions(i)}},{key:"_constructOptions",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=i;t="true"===t||t,t="false"!==t&&t;for(var n=0;n"}},{key:"getOptions",value:function(){for(var t={},e=0;ethis.imageObj.height?i=this.imageObj.width/this.imageObj.height:o=this.imageObj.height/this.imageObj.width),t=2*this.options.size*i,e=2*this.options.size*o}else t=this.imageObj.width,e=this.imageObj.height;this.width=t,this.height=e,this.radius=.5*this.width}},{key:"_drawRawCircle",value:function(t,e,i,o){this.initContextForDraw(t,o),t.circle(e,i,o.size),this.performFill(t,o)}},{key:"_drawImageAtPosition",value:function(t,e){if(0!=this.imageObj.width){t.globalAlpha=1,this.enableShadow(t,e);var i=1;!0===this.options.shapeProperties.interpolation&&(i=this.imageObj.width/this.width/this.body.view.scale),this.imageObj.drawImageAtPosition(t,i,this.left,this.top,this.width,this.height),this.disableShadow(t,e)}}},{key:"_drawImageLabel",value:function(t,e,i,o,n){var s,r=0;if(void 0!==this.height){r=.5*this.height;var a=this.labelModule.getTextSize(t,o,n);a.lineCount>=1&&(r+=a.height/2)}s=i+r,this.options.label&&(this.labelOffset=r),this.labelModule.draw(t,e,s,o,n,"hanging")}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(19),s=o(n),r=i(6),a=o(r),h=i(30),d=o(h),l=i(0),u=o(l),c=i(1),p=o(c),f=i(2),m=i(117).default,v=i(49).default,g=i(215).default,y=i(217).default,b=i(218).default,_=i(219).default,w=function(){function t(e,i,o,n){if((0,u.default)(this,t),void 0===i)throw new Error("No body provided");this.options=f.bridgeObject(o),this.globalOptions=o,this.defaultOptions=n,this.body=i,this.id=void 0,this.fromId=void 0,this.toId=void 0,this.selected=!1,this.hover=!1,this.labelDirty=!0,this.baseWidth=this.options.width,this.baseFontSize=this.options.font.size,this.from=void 0,this.to=void 0,this.edgeType=void 0,this.connected=!1,this.labelModule=new m(this.body,this.options,!0),this.setOptions(e)}return(0,p.default)(t,[{key:"setOptions",value:function(e){if(e){t.parseOptions(this.options,e,!0,this.globalOptions),void 0!==e.id&&(this.id=e.id),void 0!==e.from&&(this.fromId=e.from),void 0!==e.to&&(this.toId=e.to),void 0!==e.title&&(this.title=e.title),void 0!==e.value&&(e.value=parseFloat(e.value));var i=[e,this.options,this.defaultOptions];this.chooser=v.choosify("edge",i),this.updateLabelModule(e);var o=this.updateEdgeType();return this._setInteractionWidths(),this.connect(),void 0===e.hidden&&void 0===e.physics||(o=!0),o}}},{key:"getFormattingValues",value:function(){var t=!0===this.options.arrows.to||!0===this.options.arrows.to.enabled,e=!0===this.options.arrows.from||!0===this.options.arrows.from.enabled,i=!0===this.options.arrows.middle||!0===this.options.arrows.middle.enabled,o=this.options.color.inherit,n={toArrow:t,toArrowScale:this.options.arrows.to.scaleFactor,toArrowType:this.options.arrows.to.type,middleArrow:i,middleArrowScale:this.options.arrows.middle.scaleFactor,middleArrowType:this.options.arrows.middle.type,fromArrow:e,fromArrowScale:this.options.arrows.from.scaleFactor,fromArrowType:this.options.arrows.from.type,arrowStrikethrough:this.options.arrowStrikethrough,color:o?void 0:this.options.color.color,inheritsColor:o,opacity:this.options.color.opacity,hidden:this.options.hidden,length:this.options.length,shadow:this.options.shadow.enabled,shadowColor:this.options.shadow.color,shadowSize:this.options.shadow.size,shadowX:this.options.shadow.x,shadowY:this.options.shadow.y,dashes:this.options.dashes,width:this.options.width};if(this.selected||this.hover)if(!0===this.chooser){if(this.selected){var s=this.options.selectionWidth;"function"==typeof s?n.width=s(n.width):"number"==typeof s&&(n.width+=s),n.width=Math.max(n.width,.3/this.body.view.scale),n.color=this.options.color.highlight,n.shadow=this.options.shadow.enabled}else if(this.hover){var r=this.options.hoverWidth;"function"==typeof r?n.width=r(n.width):"number"==typeof r&&(n.width+=r),n.width=Math.max(n.width,.3/this.body.view.scale),n.color=this.options.color.hover,n.shadow=this.options.shadow.enabled}}else"function"==typeof this.chooser&&(this.chooser(n,this.options.id,this.selected,this.hover),void 0!==n.color&&(n.inheritsColor=!1),!1===n.shadow&&(n.shadowColor===this.options.shadow.color&&n.shadowSize===this.options.shadow.size&&n.shadowX===this.options.shadow.x&&n.shadowY===this.options.shadow.y||(n.shadow=!0)));else n.shadow=this.options.shadow.enabled,n.width=Math.max(n.width,.3/this.body.view.scale);return n}},{key:"updateLabelModule",value:function(t){var e=[t,this.options,this.globalOptions,this.defaultOptions];this.labelModule.update(this.options,e),void 0!==this.labelModule.baseSize&&(this.baseFontSize=this.labelModule.baseSize)}},{key:"updateEdgeType",value:function(){var t=this.options.smooth,e=!1,i=!0;return void 0!==this.edgeType&&((this.edgeType instanceof y&&!0===t.enabled&&"dynamic"===t.type||this.edgeType instanceof g&&!0===t.enabled&&"cubicBezier"===t.type||this.edgeType instanceof b&&!0===t.enabled&&"dynamic"!==t.type&&"cubicBezier"!==t.type||this.edgeType instanceof _&&!1===t.type.enabled)&&(i=!1),!0===i&&(e=this.cleanup())),!0===i?!0===t.enabled?"dynamic"===t.type?(e=!0,this.edgeType=new y(this.options,this.body,this.labelModule)):"cubicBezier"===t.type?this.edgeType=new g(this.options,this.body,this.labelModule):this.edgeType=new b(this.options,this.body,this.labelModule):this.edgeType=new _(this.options,this.body,this.labelModule):this.edgeType.setOptions(this.options),e}},{key:"connect",value:function(){this.disconnect(),this.from=this.body.nodes[this.fromId]||void 0,this.to=this.body.nodes[this.toId]||void 0,this.connected=void 0!==this.from&&void 0!==this.to,!0===this.connected?(this.from.attachEdge(this),this.to.attachEdge(this)):(this.from&&this.from.detachEdge(this),this.to&&this.to.detachEdge(this)),this.edgeType.connect()}},{key:"disconnect",value:function(){this.from&&(this.from.detachEdge(this),this.from=void 0),this.to&&(this.to.detachEdge(this),this.to=void 0),this.connected=!1}},{key:"getTitle",value:function(){return this.title}},{key:"isSelected",value:function(){return this.selected}},{key:"getValue",value:function(){return this.options.value}},{key:"setValueRange",value:function(t,e,i){if(void 0!==this.options.value){var o=this.options.scaling.customScalingFunction(t,e,i,this.options.value),n=this.options.scaling.max-this.options.scaling.min;if(!0===this.options.scaling.label.enabled){var s=this.options.scaling.label.max-this.options.scaling.label.min;this.options.font.size=this.options.scaling.label.min+o*s}this.options.width=this.options.scaling.min+o*n}else this.options.width=this.baseWidth,this.options.font.size=this.baseFontSize;this._setInteractionWidths(),this.updateLabelModule()}},{key:"_setInteractionWidths",value:function(){"function"==typeof this.options.hoverWidth?this.edgeType.hoverWidth=this.options.hoverWidth(this.options.width):this.edgeType.hoverWidth=this.options.hoverWidth+this.options.width,"function"==typeof this.options.selectionWidth?this.edgeType.selectionWidth=this.options.selectionWidth(this.options.width):this.edgeType.selectionWidth=this.options.selectionWidth+this.options.width}},{key:"draw",value:function(t){var e=this.getFormattingValues();if(!e.hidden){var i=this.edgeType.getViaNode(),o={};this.edgeType.fromPoint=this.edgeType.from,this.edgeType.toPoint=this.edgeType.to,e.fromArrow&&(o.from=this.edgeType.getArrowData(t,"from",i,this.selected,this.hover,e),!1===e.arrowStrikethrough&&(this.edgeType.fromPoint=o.from.core)),e.toArrow&&(o.to=this.edgeType.getArrowData(t,"to",i,this.selected,this.hover,e),!1===e.arrowStrikethrough&&(this.edgeType.toPoint=o.to.core)),e.middleArrow&&(o.middle=this.edgeType.getArrowData(t,"middle",i,this.selected,this.hover,e)),this.edgeType.drawLine(t,e,this.selected,this.hover,i),this.drawArrows(t,o,e),this.drawLabel(t,i)}}},{key:"drawArrows",value:function(t,e,i){i.fromArrow&&this.edgeType.drawArrowHead(t,i,this.selected,this.hover,e.from),i.middleArrow&&this.edgeType.drawArrowHead(t,i,this.selected,this.hover,e.middle),i.toArrow&&this.edgeType.drawArrowHead(t,i,this.selected,this.hover,e.to)}},{key:"drawLabel",value:function(t,e){if(void 0!==this.options.label){var i=this.from,o=this.to;if(this.labelModule.differentState(this.selected,this.hover)&&this.labelModule.getTextSize(t,this.selected,this.hover),i.id!=o.id){this.labelModule.pointToSelf=!1;var n=this.edgeType.getPoint(.5,e);t.save();var s=this._getRotation(t);0!=s.angle&&(t.translate(s.x,s.y),t.rotate(s.angle)),this.labelModule.draw(t,n.x,n.y,this.selected,this.hover),t.restore()}else{this.labelModule.pointToSelf=!0;var r,a,h=this.options.selfReferenceSize;i.shape.width>i.shape.height?(r=i.x+.5*i.shape.width,a=i.y-h):(r=i.x+h,a=i.y-.5*i.shape.height),n=this._pointOnCircle(r,a,h,.125),this.labelModule.draw(t,n.x,n.y,this.selected,this.hover)}}}},{key:"getItemsOnPoint",value:function(t){var e=[];if(this.labelModule.visible()){var i=this._getRotation();v.pointInRect(this.labelModule.getSize(),t,i)&&e.push({edgeId:this.id,labelId:0})}var o={left:t.x,top:t.y};return this.isOverlappingWith(o)&&e.push({edgeId:this.id}),e}},{key:"isOverlappingWith",value:function(t){if(this.connected){var e=this.from.x,i=this.from.y,o=this.to.x,n=this.to.y,s=t.left,r=t.top;return this.edgeType.getDistanceToEdge(e,i,o,n,s,r)<10}return!1}},{key:"_getRotation",value:function(t){var e=this.edgeType.getViaNode(),i=this.edgeType.getPoint(.5,e);void 0!==t&&this.labelModule.calculateLabelSize(t,this.selected,this.hover,i.x,i.y);var o={x:i.x,y:this.labelModule.size.yLine,angle:0};if(!this.labelModule.visible())return o;if("horizontal"===this.options.font.align)return o;var n=this.from.y-this.to.y,s=this.from.x-this.to.x,r=Math.atan2(n,s);return(r<-1&&s<0||r>0&&s<0)&&(r+=Math.PI),o.angle=r,o}},{key:"_pointOnCircle",value:function(t,e,i,o){var n=2*o*Math.PI;return{x:t+i*Math.cos(n),y:e-i*Math.sin(n)}}},{key:"select",value:function(){this.selected=!0}},{key:"unselect",value:function(){this.selected=!1}},{key:"cleanup",value:function(){return this.edgeType.cleanup()}},{key:"remove",value:function(){this.cleanup(),this.disconnect(),delete this.body.edges[this.id]}},{key:"endPointsValid",value:function(){return void 0!==this.body.nodes[this.fromId]&&void 0!==this.body.nodes[this.toId]}}],[{key:"parseOptions",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},n=arguments.length>4&&void 0!==arguments[4]&&arguments[4],r=["arrowStrikethrough","id","from","hidden","hoverWidth","labelHighlightBold","length","line","opacity","physics","scaling","selectionWidth","selfReferenceSize","to","title","value","width","font","chosen","widthConstraint"];if(f.selectiveDeepExtend(r,t,e,i),v.isValidLabel(e.label)?t.label=e.label:t.label=void 0,f.mergeOptions(t,e,"smooth",o),f.mergeOptions(t,e,"shadow",o),void 0!==e.dashes&&null!==e.dashes?t.dashes=e.dashes:!0===i&&null===e.dashes&&(t.dashes=(0,d.default)(o.dashes)),void 0!==e.scaling&&null!==e.scaling?(void 0!==e.scaling.min&&(t.scaling.min=e.scaling.min),void 0!==e.scaling.max&&(t.scaling.max=e.scaling.max),f.mergeOptions(t.scaling,e.scaling,"label",o.scaling)):!0===i&&null===e.scaling&&(t.scaling=(0,d.default)(o.scaling)),void 0!==e.arrows&&null!==e.arrows)if("string"==typeof e.arrows){var h=e.arrows.toLowerCase();t.arrows.to.enabled=-1!=h.indexOf("to"),t.arrows.middle.enabled=-1!=h.indexOf("middle"),t.arrows.from.enabled=-1!=h.indexOf("from")}else{if("object"!==(0,a.default)(e.arrows))throw new Error("The arrow newOptions can only be an object or a string. Refer to the documentation. You used:"+(0,s.default)(e.arrows));f.mergeOptions(t.arrows,e.arrows,"to",o.arrows),f.mergeOptions(t.arrows,e.arrows,"middle",o.arrows),f.mergeOptions(t.arrows,e.arrows,"from",o.arrows)}else!0===i&&null===e.arrows&&(t.arrows=(0,d.default)(o.arrows));if(void 0!==e.color&&null!==e.color){var l=e.color,u=t.color;if(n)f.deepExtend(u,o.color,!1,i);else for(var c in u)u.hasOwnProperty(c)&&delete u[c];if(f.isString(u))u.color=u,u.highlight=u,u.hover=u,u.inherit=!1,void 0===l.opacity&&(u.opacity=1);else{var p=!1;void 0!==l.color&&(u.color=l.color,p=!0),void 0!==l.highlight&&(u.highlight=l.highlight,p=!0),void 0!==l.hover&&(u.hover=l.hover,p=!0),void 0!==l.inherit&&(u.inherit=l.inherit),void 0!==l.opacity&&(u.opacity=Math.min(1,Math.max(0,l.opacity))),!0===p?u.inherit=!1:void 0===u.inherit&&(u.inherit="from")}}else!0===i&&null===e.color&&(t.color=f.bridgeObject(o.color));!0===i&&null===e.font&&(t.font=f.bridgeObject(o.font))}}]),t}();e.default=w},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(3),s=o(n),r=i(0),a=o(r),h=i(1),d=o(h),l=i(4),u=o(l),c=i(5),p=o(c),f=i(118),m=o(f),v=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,p.default)(e,t),(0,d.default)(e,[{key:"_findBorderPositionBezier",value:function(t,e){var i,o,n,s,r,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this._getViaCoordinates(),h=0,d=0,l=1,u=this.to,c=!1;for(t.id===this.from.id&&(u=this.from,c=!0);d<=l&&h<10;){var p=.5*(d+l);if(i=this.getPoint(p,a),o=Math.atan2(u.y-i.y,u.x-i.x),n=u.distanceToBorder(e,o),s=Math.sqrt(Math.pow(i.x-u.x,2)+Math.pow(i.y-u.y,2)),r=n-s,Math.abs(r)<.2)break;r<0?!1===c?d=p:l=p:!1===c?l=p:d=p,h++}return i.t=p,i}},{key:"_getDistanceToBezierEdge",value:function(t,e,i,o,n,s,r){var a=1e9,h=void 0,d=void 0,l=void 0,u=void 0,c=void 0,p=t,f=e;for(d=1;d<10;d++)l=.1*d,u=Math.pow(1-l,2)*t+2*l*(1-l)*r.x+Math.pow(l,2)*i,c=Math.pow(1-l,2)*e+2*l*(1-l)*r.y+Math.pow(l,2)*o,d>0&&(h=this._getDistanceToLine(p,f,u,c,n,s),a=h1&&void 0!==arguments[1]?arguments[1]:[],o=1e9,n=-1e9,s=1e9,r=-1e9;if(i.length>0)for(var a=0;ae.shape.boundingBox.left&&(s=e.shape.boundingBox.left),re.shape.boundingBox.top&&(o=e.shape.boundingBox.top),n1&&void 0!==arguments[1]?arguments[1]:[],o=1e9,n=-1e9,s=1e9,r=-1e9;if(i.length>0)for(var a=0;ae.x&&(s=e.x),re.y&&(o=e.y),nh;)o(a,i=e[h++])&&(~s(d,i)||d.push(i));return d}},function(t,e,i){var o=i(22),n=i(42),s=i(56)("IE_PROTO"),r=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=n(t),o(t,s)?t[s]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?r:null}},function(t,e,i){var o=i(51),n=i(13)("toStringTag"),s="Arguments"==o(function(){return arguments}()),r=function(t,e){try{return t[e]}catch(t){}};t.exports=function(t){var e,i,a;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(i=r(e=Object(t),n))?i:s?o(e):"Object"==(a=o(e))&&"function"==typeof e.callee?"Arguments":a}},function(t,e,i){var o=i(17),n=i(7),s=i(29);t.exports=function(t,e){var i=(n.Object||{})[t]||Object[t],r={};r[t]=e(i),o(o.S+o.F*s(function(){i(1)}),"Object",r)}},function(t,e,i){var o=i(84),n=i(58).concat("length","prototype");e.f=Object.getOwnPropertyNames||function(t){return o(t,n)}},function(t,e,i){var o=i(43),n=i(40),s=i(25),r=i(53),a=i(22),h=i(81),d=Object.getOwnPropertyDescriptor;e.f=i(21)?d:function(t,e){if(t=s(t),e=r(e,!0),h)try{return d(t,e)}catch(t){}if(a(t,e))return n(!o.f.call(t,e),t[e])}},function(t,e,i){t.exports={default:i(162),__esModule:!0}},function(t,e,i){function o(t,e){this.x=void 0!==t?t:0,this.y=void 0!==e?e:0}t.exports=o},function(t,e,i){function o(t,e){if(void 0===t)throw new Error("No container element defined");if(this.container=t,this.visible=!e||void 0==e.visible||e.visible,this.visible){this.frame=document.createElement("DIV"),this.frame.style.width="100%",this.frame.style.position="relative",this.container.appendChild(this.frame),this.frame.prev=document.createElement("INPUT"),this.frame.prev.type="BUTTON",this.frame.prev.value="Prev",this.frame.appendChild(this.frame.prev),this.frame.play=document.createElement("INPUT"),this.frame.play.type="BUTTON",this.frame.play.value="Play",this.frame.appendChild(this.frame.play),this.frame.next=document.createElement("INPUT"),this.frame.next.type="BUTTON",this.frame.next.value="Next",this.frame.appendChild(this.frame.next),this.frame.bar=document.createElement("INPUT"),this.frame.bar.type="BUTTON",this.frame.bar.style.position="absolute",this.frame.bar.style.border="1px solid red",this.frame.bar.style.width="100px",this.frame.bar.style.height="6px",this.frame.bar.style.borderRadius="2px",this.frame.bar.style.MozBorderRadius="2px",this.frame.bar.style.border="1px solid #7F7F7F",this.frame.bar.style.backgroundColor="#E5E5E5",this.frame.appendChild(this.frame.bar),this.frame.slide=document.createElement("INPUT"),this.frame.slide.type="BUTTON",this.frame.slide.style.margin="0px",this.frame.slide.value=" ",this.frame.slide.style.position="relative",this.frame.slide.style.left="-100px",this.frame.appendChild(this.frame.slide);var i=this;this.frame.slide.onmousedown=function(t){i._onMouseDown(t)},this.frame.prev.onclick=function(t){i.prev(t)},this.frame.play.onclick=function(t){i.togglePlay(t)},this.frame.next.onclick=function(t){i.next(t)}}this.onChangeCallback=void 0,this.values=[],this.index=void 0,this.playTimeout=void 0,this.playInterval=1e3,this.playLoop=!0}var n=i(2);o.prototype.prev=function(){var t=this.getIndex();t>0&&(t--,this.setIndex(t))},o.prototype.next=function(){var t=this.getIndex();t0?this.setIndex(0):this.index=void 0},o.prototype.setIndex=function(t){if(!(tthis.values.length-1&&(o=this.values.length-1),o},o.prototype.indexToLeft=function(t){var e=parseFloat(this.frame.bar.style.width)-this.frame.slide.clientWidth-10;return t/(this.values.length-1)*e+3},o.prototype._onMouseMove=function(t){var e=t.clientX-this.startClientX,i=this.startSlideX+e,o=this.leftToIndex(i);this.setIndex(o),n.preventDefault()},o.prototype._onMouseUp=function(t){this.frame.style.cursor="auto",n.removeEventListener(document,"mousemove",this.onmousemove),n.removeEventListener(document,"mouseup",this.onmouseup),n.preventDefault()},t.exports=o},function(t,e,i){function o(t,e,i,o){this._start=0,this._end=0,this._step=1,this.prettyStep=!0,this.precision=5,this._current=0,this.setRange(t,e,i,o)}o.prototype.isNumeric=function(t){return!isNaN(parseFloat(t))&&isFinite(t)},o.prototype.setRange=function(t,e,i,o){if(!this.isNumeric(t))throw new Error("Parameter 'start' is not numeric; value: "+t);if(!this.isNumeric(e))throw new Error("Parameter 'end' is not numeric; value: "+t);if(!this.isNumeric(i))throw new Error("Parameter 'step' is not numeric; value: "+t);this._start=t||0,this._end=e||0,this.setStep(i,o)},o.prototype.setStep=function(t,e){void 0===t||t<=0||(void 0!==e&&(this.prettyStep=e),!0===this.prettyStep?this._step=o.calculatePrettyStep(t):this._step=t)},o.calculatePrettyStep=function(t){var e=function(t){return Math.log(t)/Math.LN10},i=Math.pow(10,Math.round(e(t))),o=2*Math.pow(10,Math.round(e(t/2))),n=5*Math.pow(10,Math.round(e(t/5))),s=i;return Math.abs(o-t)<=Math.abs(s-t)&&(s=o),Math.abs(n-t)<=Math.abs(s-t)&&(s=n),s<=0&&(s=1),s},o.prototype.getCurrent=function(){return parseFloat(this._current.toPrecision(this.precision))},o.prototype.getStep=function(){return this._step},o.prototype.start=function(t){void 0===t&&(t=!1),this._current=this._start-this._start%this._step,t&&this.getCurrent()this._end},t.exports=o},function(t,e,i){function o(t){for(var e in t)if(t.hasOwnProperty(e))return!1;return!0}function n(t){return void 0===t||""===t||"string"!=typeof t?t:t.charAt(0).toUpperCase()+t.slice(1)}function s(t,e){return void 0===t||""===t?e:t+n(e)}function r(t,e,i,o){for(var n,r,a=0;ar&&(t=o(t)*r),i(e)>r&&(e=o(e)*r),this.cameraOffset.x=t,this.cameraOffset.y=e,this.calculateCameraOrientation()},o.prototype.getOffset=function(){return this.cameraOffset},o.prototype.setArmLocation=function(t,e,i){this.armLocation.x=t,this.armLocation.y=e,this.armLocation.z=i,this.calculateCameraOrientation()},o.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()},o.prototype.getArmRotation=function(){var t={};return t.horizontal=this.armRotation.horizontal,t.vertical=this.armRotation.vertical,t},o.prototype.setArmLength=function(t){void 0!==t&&(this.armLength=t,this.armLength<.71&&(this.armLength=.71),this.armLength>5&&(this.armLength=5),this.setOffset(this.cameraOffset.x,this.cameraOffset.y),this.calculateCameraOrientation())},o.prototype.getArmLength=function(){return this.armLength},o.prototype.getCameraLocation=function(){return this.cameraLocation},o.prototype.getCameraRotation=function(){return this.cameraRotation},o.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;var t=this.cameraRotation.x,e=this.cameraRotation.z,i=this.cameraOffset.x,o=this.cameraOffset.y,n=Math.sin,s=Math.cos;this.cameraLocation.x=this.cameraLocation.x+i*s(e)+o*-n(e)*s(t),this.cameraLocation.y=this.cameraLocation.y+i*n(e)+o*s(e)*s(t),this.cameraLocation.z=this.cameraLocation.z+o*n(t)},t.exports=o},function(t,e,i){function o(t,e,i){this.dataGroup=t,this.column=e,this.graph=i,this.index=void 0,this.value=void 0,this.values=t.getDistinctValues(this.column),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 n=i(12);o.prototype.isLoaded=function(){return this.loaded},o.prototype.getLoadedProgress=function(){for(var t=this.values.length,e=0;this.dataPoints[e];)e++;return Math.round(e/t*100)},o.prototype.getLabel=function(){return this.graph.filterLabel},o.prototype.getColumn=function(){return this.column},o.prototype.getSelectedValue=function(){if(void 0!==this.index)return this.values[this.index]},o.prototype.getValues=function(){return this.values},o.prototype.getValue=function(t){if(t>=this.values.length)throw new Error("Index out of range");return this.values[t]},o.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 o=new n(this.dataGroup.getDataSet(),{filter:function(t){return t[i.column]==i.value}}).get();e=this.dataGroup._getDataPoints(o),this.dataPoints[t]=e}return e},o.prototype.setOnLoadCallback=function(t){this.onLoadCallback=t},o.prototype.selectValue=function(t){if(t>=this.values.length)throw new Error("Index out of range");this.index=t,this.value=this.values[t]},o.prototype.loadInBackground=function(t){void 0===t&&(t=0);var e=this.graph.frame;if(t0){var n=i.groupsData.getDataSet();n.get().forEach(function(t){if(t.nestedGroups){0!=t.showNested&&(t.showNested=!0);var e=[];t.nestedGroups.forEach(function(i){var o=n.get(i);o&&(o.nestedInGroup=t.id,0==t.showNested&&(o.visible=!1),e=e.concat(o))}),n.update(e,o)}})}},update:function(t,e,o){i._onUpdateGroups(e.items)},remove:function(t,e,o){i._onRemoveGroups(e.items)}},this.items={},this.groups={},this.groupIds=[],this.selection=[],this.popup=null,this.touchParams={},this.groupTouchParams={},this._create(),this.setOptions(e)}var s=i(30),r=o(s),a=i(6),h=o(a),d=i(10),l=i(2),u=i(11),c=i(12),p=i(66),f=i(16),m=i(68),v=i(69),g=i(101),y=i(102),b=i(70),_=i(103),w=i(104).default,x="__ungrouped__",k="__background__";n.prototype=new f,n.types={background:_,box:g,range:b,point:y},n.prototype._create=function(){var t=document.createElement("div");t.className="vis-itemset",t["timeline-itemset"]=this,this.dom.frame=t;var e=document.createElement("div");e.className="vis-background",t.appendChild(e),this.dom.background=e;var i=document.createElement("div");i.className="vis-foreground",t.appendChild(i),this.dom.foreground=i;var o=document.createElement("div");o.className="vis-axis",this.dom.axis=o;var n=document.createElement("div");n.className="vis-labelset",this.dom.labelSet=n,this._updateUngrouped();var s=new v(k,null,this);s.show(),this.groups[k]=s,this.hammer=new d(this.body.dom.centerContainer),this.hammer.on("hammer.input",function(t){t.isFirst&&this._onTouch(t)}.bind(this)),this.hammer.on("panstart",this._onDragStart.bind(this)),this.hammer.on("panmove",this._onDrag.bind(this)),this.hammer.on("panend",this._onDragEnd.bind(this)),this.hammer.get("pan").set({threshold:5,direction:d.DIRECTION_HORIZONTAL}),this.hammer.on("tap",this._onSelectItem.bind(this)),this.hammer.on("press",this._onMultiSelectItem.bind(this)),this.hammer.on("doubletap",this._onAddItem.bind(this)),this.options.rtl?this.groupHammer=new d(this.body.dom.rightContainer):this.groupHammer=new d(this.body.dom.leftContainer),this.groupHammer.on("tap",this._onGroupClick.bind(this)),this.groupHammer.on("panstart",this._onGroupDragStart.bind(this)),this.groupHammer.on("panmove",this._onGroupDrag.bind(this)),this.groupHammer.on("panend",this._onGroupDragEnd.bind(this)),this.groupHammer.get("pan").set({threshold:5,direction:d.DIRECTION_VERTICAL}),this.body.dom.centerContainer.addEventListener("mouseover",this._onMouseOver.bind(this)),this.body.dom.centerContainer.addEventListener("mouseout",this._onMouseOut.bind(this)),this.body.dom.centerContainer.addEventListener("mousemove",this._onMouseMove.bind(this)),this.body.dom.centerContainer.addEventListener("contextmenu",this._onDragEnd.bind(this)),this.body.dom.centerContainer.addEventListener("mousewheel",this._onMouseWheel.bind(this)),this.show()},n.prototype.setOptions=function(t){if(t){var e=["type","rtl","align","order","stack","stackSubgroups","selectable","multiselect","multiselectPerGroup","groupOrder","dataAttributes","template","groupTemplate","visibleFrameTemplate","hide","snap","groupOrderSwap","showTooltips","tooltip","tooltipOnItemUpdateTime"];l.selectiveExtend(e,this.options,t),"itemsAlwaysDraggable"in t&&("boolean"==typeof t.itemsAlwaysDraggable?(this.options.itemsAlwaysDraggable.item=t.itemsAlwaysDraggable,this.options.itemsAlwaysDraggable.range=!1):"object"===(0,h.default)(t.itemsAlwaysDraggable)&&(l.selectiveExtend(["item","range"],this.options.itemsAlwaysDraggable,t.itemsAlwaysDraggable),this.options.itemsAlwaysDraggable.item||(this.options.itemsAlwaysDraggable.range=!1))),"orientation"in t&&("string"==typeof t.orientation?this.options.orientation.item="top"===t.orientation?"top":"bottom":"object"===(0,h.default)(t.orientation)&&"item"in t.orientation&&(this.options.orientation.item=t.orientation.item)),"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"===(0,h.default)(t.margin)&&(l.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"===(0,h.default)(t.margin.item)&&l.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,this.options.editable.overrideItems=!1):"object"===(0,h.default)(t.editable)&&l.selectiveExtend(["updateTime","updateGroup","add","remove","overrideItems"],this.options.editable,t.editable)),"groupEditable"in t&&("boolean"==typeof t.groupEditable?(this.options.groupEditable.order=t.groupEditable,this.options.groupEditable.add=t.groupEditable,this.options.groupEditable.remove=t.groupEditable):"object"===(0,h.default)(t.groupEditable)&&l.selectiveExtend(["order","add","remove"],this.options.groupEditable,t.groupEditable));["onDropObjectOnItem","onAdd","onUpdate","onRemove","onMove","onMoving","onAddGroup","onMoveGroup","onRemoveGroup"].forEach(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)),this.markDirty()}},n.prototype.markDirty=function(t){this.groupIds=[],t&&t.refreshItems&&l.forEach(this.items,function(t){t.dirty=!0,t.displayed&&t.redraw()})},n.prototype.destroy=function(){this.hide(),this.setItems(null),this.setGroups(null),this.hammer=null,this.body=null,this.conversion=null},n.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)},n.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.options.rtl?this.body.dom.right.appendChild(this.dom.labelSet):this.body.dom.left.appendChild(this.dom.labelSet))},n.prototype.setSelection=function(t){var e,i,o,n;for(void 0==t&&(t=[]),Array.isArray(t)||(t=[t]),e=0,i=this.selection.length;et&&o.push(h.id):h.lefte&&o.push(h.id)}return o},n.prototype._deselect=function(t){for(var e=this.selection,i=0,o=e.length;i0){for(var w={},x=0;x<_;x++)l.forEach(b,function(t,e){w[e]=t[x]()});l.forEach(this.groups,function(t,e){if(e!==k){var i=w[e];s=i||s,g+=t.height}}),g=Math.max(g,y)}return g=Math.max(g,y),r.style.height=i(g),this.props.width=r.offsetWidth,this.props.height=g,this.dom.axis.style.top=i("top"==n?this.body.domProps.top.height+this.body.domProps.border.top:this.body.domProps.top.height+this.body.domProps.centerContainer.height),this.options.rtl?this.dom.axis.style.right="0":this.dom.axis.style.left="0",this.initialItemSetDrawn=!0,s=this._isResized()||s},n.prototype._firstGroup=function(){var t="top"==this.options.orientation.item?0:this.groupIds.length-1,e=this.groupIds[t];return this.groups[e]||this.groups[x]||null},n.prototype._updateUngrouped=function(){var t,e,i=this.groups[x];if(this.groupsData){if(i){i.hide(),delete this.groups[x];for(e in this.items)if(this.items.hasOwnProperty(e)){t=this.items[e],t.parent&&t.parent.remove(t);var o=this._getGroupId(t.data),n=this.groups[o];n&&n.add(t)||t.hide()}}}else if(!i){i=new m(null,null,this),this.groups[x]=i;for(e in this.items)this.items.hasOwnProperty(e)&&(t=this.items[e],i.add(t));i.show()}},n.prototype.getLabelSet=function(){return this.dom.labelSet},n.prototype.setItems=function(t){var e,i=this,o=this.itemsData;if(t){if(!(t instanceof u||t instanceof c))throw new TypeError("Data must be an instance of DataSet or DataView");this.itemsData=t}else this.itemsData=null;if(o&&(l.forEach(this.itemListeners,function(t,e){o.off(e,t)}),e=o.getIds(),this._onRemove(e)),this.itemsData){var n=this.id;l.forEach(this.itemListeners,function(t,e){i.itemsData.on(e,t,n)}),e=this.itemsData.getIds(),this._onAdd(e),this._updateUngrouped()}this.body.emitter.emit("_change",{queue:!0})},n.prototype.getItems=function(){return this.itemsData},n.prototype.setGroups=function(t){var e,i=this;if(this.groupsData&&(l.forEach(this.groupListeners,function(t,e){i.groupsData.off(e,t)}),e=this.groupsData.getIds(),this.groupsData=null,this._onRemoveGroups(e)),t){if(!(t instanceof u||t instanceof c))throw new TypeError("Data must be an instance of DataSet or DataView");this.groupsData=t}else this.groupsData=null;if(this.groupsData){var o=this.groupsData;this.groupsData instanceof c&&(o=this.groupsData.getDataSet()),o.get().forEach(function(t){t.nestedGroups&&t.nestedGroups.forEach(function(e){var i=o.get(e);i.nestedInGroup=t.id,0==t.showNested&&(i.visible=!1),o.update(i)})});var n=this.id;l.forEach(this.groupListeners,function(t,e){i.groupsData.on(e,t,n)}),e=this.groupsData.getIds(),this._onAddGroups(e)}this._updateUngrouped(),this._order(),this.body.emitter.emit("_change",{queue:!0})},n.prototype.getGroups=function(){return this.groupsData},n.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)})},n.prototype._getType=function(t){return t.type||this.options.type||(t.end?"range":"box")},n.prototype._getGroupId=function(t){return"background"==this._getType(t)&&void 0==t.group?k:this.groupsData?t.group:x},n.prototype._onUpdate=function(t){var e=this;t.forEach(function(t){var i,o=e.itemsData.get(t,e.itemOptions),s=e.items[t],r=o?e._getType(o):null,a=n.types[r];if(s&&(a&&s instanceof a?e._updateItem(s,o):(i=s.selected,e._removeItem(s),s=null)),!s&&o){if(!a)throw"rangeoverflow"==r?new TypeError('Item type "rangeoverflow" is deprecated. Use css styling instead: .vis-item.vis-range .vis-item-content {overflow: visible;}'):new TypeError('Unknown item type "'+r+'"');s=new a(o,e.conversion,e.options),s.id=t,e._addItem(s),i&&(this.selection.push(t),s.select())}}.bind(this)),this._order(),this.body.emitter.emit("_change",{queue:!0})},n.prototype._onAdd=n.prototype._onUpdate,n.prototype._onRemove=function(t){var e=0,i=this;t.forEach(function(t){var o=i.items[t];o&&(e++,i._removeItem(o))}),e&&(this._order(),this.body.emitter.emit("_change",{queue:!0}))},n.prototype._order=function(){l.forEach(this.groups,function(t){t.order()})},n.prototype._onUpdateGroups=function(t){this._onAddGroups(t)},n.prototype._onAddGroups=function(t){var e=this;t.forEach(function(t){var i=e.groupsData.get(t),o=e.groups[t];if(o)o.setData(i);else{if(t==x||t==k)throw new Error("Illegal group id. "+t+" is a reserved id.");var n=(0,r.default)(e.options);l.extend(n,{height:null}),o=new m(t,i,e),e.groups[t]=o;for(var s in e.items)if(e.items.hasOwnProperty(s)){var a=e.items[s];a.data.group==t&&o.add(a)}o.order(),o.show()}}),this.body.emitter.emit("_change",{queue:!0})},n.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})},n.prototype._orderGroups=function(){if(this.groupsData){var t=this.groupsData.getIds({order:this.options.groupOrder});t=this._orderNestedGroups(t);var e=!l.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},n.prototype._orderNestedGroups=function(t){var e=[];return t.forEach(function(t){var i=this.groupsData.get(t);if(i.nestedInGroup||e.push(t),i.nestedGroups){var o=this.groupsData.get({filter:function(e){return e.nestedInGroup==t},order:this.options.groupOrder}),n=o.map(function(t){return t.id});e=e.concat(n)}},this),e},n.prototype._addItem=function(t){this.items[t.id]=t;var e=this._getGroupId(t.data),i=this.groups[e];i?i&&i.data&&i.data.showNested&&(t.groupShowing=!0):t.groupShowing=!1,i&&i.add(t)},n.prototype._updateItem=function(t,e){t.setData(e);var i=this._getGroupId(t.data),o=this.groups[i];o?o&&o.data&&o.data.showNested&&(t.groupShowing=!0):t.groupShowing=!1},n.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)},n.prototype._constructByEndArray=function(t){for(var e=[],i=0;in)return}}if(i&&i!=this.groupTouchParams.group){var a=e.get(i.groupId),h=e.get(this.groupTouchParams.group.groupId);h&&a&&(this.options.groupOrderSwap(h,a,e),e.update(h),e.update(a));var d=e.getIds({order:this.options.groupOrder});if(!l.equalArray(d,this.groupTouchParams.originalOrder))for(var u=this.groupTouchParams.originalOrder,p=this.groupTouchParams.group.groupId,f=Math.min(u.length,d.length),m=0,v=0,g=0;m=f)break;if(d[m+v]==p)v=1;else if(u[m+g]==p)g=1;else{var y=d.indexOf(u[m+g]),b=e.get(d[m+v]),_=e.get(u[m+g]);this.options.groupOrderSwap(b,_,e),e.update(b),e.update(_);var w=d[m+v];d[m+v]=u[m+g],d[y]=w,m++}}}}},n.prototype._onGroupDragEnd=function(t){if(this.options.groupEditable.order&&this.groupTouchParams.group){t.stopPropagation();var e=this,i=e.groupTouchParams.group.groupId,o=e.groupsData.getDataSet(),n=l.extend({},o.get(i));e.options.onMoveGroup(n,function(t){if(t)t[o._fieldId]=i,o.update(t);else{var n=o.getIds({order:e.options.groupOrder});if(!l.equalArray(n,e.groupTouchParams.originalOrder))for(var s=e.groupTouchParams.originalOrder,r=Math.min(s.length,n.length),a=0;a=r)break;var h=n.indexOf(s[a]),d=o.get(n[a]),u=o.get(s[a]);e.options.groupOrderSwap(d,u,o),o.update(d),o.update(u);var c=n[a];n[a]=s[a],n[h]=c,a++}}}),e.body.emitter.emit("groupDragged",{groupId:i})}},n.prototype._onSelectItem=function(t){if(this.options.selectable){var e=t.srcEvent&&(t.srcEvent.ctrlKey||t.srcEvent.metaKey),i=t.srcEvent&&t.srcEvent.shiftKey;if(e||i)return void this._onMultiSelectItem(t);var o=this.getSelection(),n=this.itemFromTarget(t),s=n?[n.id]:[];this.setSelection(s);var r=this.getSelection();(r.length>0||o.length>0)&&this.body.emitter.emit("select",{items:r,event:t})}},n.prototype._onMouseOver=function(t){var e=this.itemFromTarget(t);if(e){if(e!==this.itemFromRelatedTarget(t)){var i=e.getTitle();if(this.options.showTooltips&&i){null==this.popup&&(this.popup=new w(this.body.dom.root,this.options.tooltip.overflowMethod||"flip")),this.popup.setText(i);var o=this.body.dom.centerContainer;this.popup.setPosition(t.clientX-l.getAbsoluteLeft(o)+o.offsetLeft,t.clientY-l.getAbsoluteTop(o)+o.offsetTop),this.popup.show()}else null!=this.popup&&this.popup.hide();this.body.emitter.emit("itemover",{item:e.id,event:t})}}},n.prototype._onMouseOut=function(t){var e=this.itemFromTarget(t);if(e){e!==this.itemFromRelatedTarget(t)&&(null!=this.popup&&this.popup.hide(),this.body.emitter.emit("itemout",{item:e.id,event:t}))}},n.prototype._onMouseMove=function(t){if(this.itemFromTarget(t)&&this.options.showTooltips&&this.options.tooltip.followMouse&&this.popup&&!this.popup.hidden){var e=this.body.dom.centerContainer;this.popup.setPosition(t.clientX-l.getAbsoluteLeft(e)+e.offsetLeft,t.clientY-l.getAbsoluteTop(e)+e.offsetTop),this.popup.show()}},n.prototype._onMouseWheel=function(t){this.touchParams.itemIsDragging&&this._onDragEnd(t)},n.prototype._onUpdateItem=function(t){if(this.options.selectable&&this.options.editable.add){var e=this;if(t){var i=e.itemsData.get(t.id);this.options.onUpdate(i,function(t){t&&e.itemsData.getDataSet().update(t)})}}},n.prototype._onDropObjectOnItem=function(t){var e=this.itemFromTarget(t),i=JSON.parse(t.dataTransfer.getData("text"));this.options.onDropObjectOnItem(i,e)},n.prototype._onAddItem=function(t){if(this.options.selectable&&this.options.editable.add){var e,i,o=this,n=this.options.snap||null;this.options.rtl?(e=l.getAbsoluteRight(this.dom.frame),i=e-t.center.x):(e=l.getAbsoluteLeft(this.dom.frame),i=t.center.x-e);var s,r,a=this.body.util.toTime(i),h=this.body.util.getScale(),d=this.body.util.getStep();"drop"==t.type?(r=JSON.parse(t.dataTransfer.getData("text")),r.content=r.content?r.content:"new item",r.start=r.start?r.start:n?n(a,h,d):a,r.type=r.type||"box",r[this.itemsData._fieldId]=r.id||l.randomUUID(),"range"!=r.type||r.end||(s=this.body.util.toTime(i+this.props.width/5),r.end=n?n(s,h,d):s)):(r={start:n?n(a,h,d):a,content:"new item"},r[this.itemsData._fieldId]=l.randomUUID(), -"range"===this.options.type&&(s=this.body.util.toTime(i+this.props.width/5),r.end=n?n(s,h,d):s));var u=this.groupFromTarget(t);u&&(r.group=u.groupId),r=this._cloneItemData(r),this.options.onAdd(r,function(e){e&&(o.itemsData.getDataSet().add(e),"drop"==t.type&&o.setSelection([e.id]))})}},n.prototype._onMultiSelectItem=function(t){if(this.options.selectable){var e=this.itemFromTarget(t);if(e){var i=this.options.multiselect?this.getSelection():[];if((t.srcEvent&&t.srcEvent.shiftKey||!1)&&this.options.multiselect){var o=this.itemsData.get(e.id).group,s=void 0;this.options.multiselectPerGroup&&i.length>0&&(s=this.itemsData.get(i[0]).group),this.options.multiselectPerGroup&&void 0!=s&&s!=o||i.push(e.id);var r=n._getItemRange(this.itemsData.get(i,this.itemOptions));if(!this.options.multiselectPerGroup||s==o){i=[];for(var a in this.items)if(this.items.hasOwnProperty(a)){var h=this.items[a],d=h.data.start,l=void 0!==h.data.end?h.data.end:d;!(d>=r.min&&l<=r.max)||this.options.multiselectPerGroup&&s!=this.itemsData.get(h.id).group||h instanceof _||i.push(h.id)}}}else{var u=i.indexOf(e.id);-1==u?i.push(e.id):i.splice(u,1)}this.setSelection(i),this.body.emitter.emit("select",{items:this.getSelection(),event:t})}}},n._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}},n.prototype.itemFromElement=function(t){for(var e=t;e;){if(e.hasOwnProperty("timeline-item"))return e["timeline-item"];e=e.parentNode}return null},n.prototype.itemFromTarget=function(t){return this.itemFromElement(t.target)},n.prototype.itemFromRelatedTarget=function(t){return this.itemFromElement(t.relatedTarget)},n.prototype.groupFromTarget=function(t){var e=t.center?t.center.y:t.clientY,i=this.groupIds;i.length<=0&&this.groupsData&&(i=this.groupsData.getIds({order:this.options.groupOrder}));for(var o=0;oa&&ea)return s}else if(0===o&&es&&(s=r.top+r.height)}while(a)}}o.height=s-o.top+.5*i.item.vertical},e.nostack=function(t,i,o,n){for(var s=0;so[r].index&&e.collisionByTimes(o[n],o[r])){s=o[r];break}null!=s&&(o[n].top=s.top+s.height)}while(s)}for(var a=0;ao[h].index&&(o[r].top+=o[h].height);for(var d=t[r],l=0;le.right&&t.top-i.vertical+.001e.top:t.left-i.horizontal+.001e.left&&t.top-i.vertical+.001e.top},e.collisionByTimes=function(t,e){return t.start<=e.start&&t.end>=e.start&&t.tope.top||e.start<=t.start&&e.end>=t.start&&e.topt.top}},function(t,e,i){function o(t,e,i){if(this.props={dot:{width:0,height:0},line:{width:0,height:0}},this.options=i,t&&void 0==t.start)throw new Error('Property "start" missing in item '+t);n.call(this,t,e,i)}var n=i(38);o.prototype=new n(null,null,null),o.prototype.isVisible=function(t){var e=this.options.align,i=this.width*t.getMillisecondsPerPixel();return"right"==e?this.data.start.getTime()>t.start&&this.data.start.getTime()-it.start&&this.data.start.getTime()t.start&&this.data.start.getTime()-i/2t.start&&this.data.startt.start},o.prototype._createDomElement=function(){this.dom||(this.dom={},this.dom.box=document.createElement("div"),this.dom.frame=document.createElement("div"),this.dom.frame.className="vis-item-overflow",this.dom.box.appendChild(this.dom.frame),this.dom.content=document.createElement("div"),this.dom.content.className="vis-item-content",this.dom.frame.appendChild(this.dom.content),this.dirty=!0)},o.prototype._appendDomElement=function(){if(!this.parent)throw new Error("Cannot redraw item: no parent attached");if(!this.dom.box.parentNode){var t=this.parent.dom.background;if(!t)throw new Error("Cannot redraw item: parent has no background container element");t.appendChild(this.dom.box)}this.displayed=!0},o.prototype._updateDirtyDomComponents=function(){if(this.dirty){this._updateContents(this.dom.content),this._updateDataAttributes(this.dom.content),this._updateStyle(this.dom.box);var t=(this.data.className?" "+this.data.className:"")+(this.selected?" vis-selected":"");this.dom.box.className=this.baseClassName+t}},o.prototype._getDomComponentsSizes=function(){return this.overflow="hidden"!==window.getComputedStyle(this.dom.content).overflow,{content:{width:this.dom.content.offsetWidth}}},o.prototype._updateDomComponentsSizes=function(t){this.props.content.width=t.content.width,this.height=0,this.dirty=!1},o.prototype._repaintDomAdditionals=function(){},o.prototype.redraw=function(t){var e,i=[this._createDomElement.bind(this),this._appendDomElement.bind(this),this._updateDirtyDomComponents.bind(this),function(){this.dirty&&(e=this._getDomComponentsSizes.bind(this)())}.bind(this),function(){this.dirty&&this._updateDomComponentsSizes.bind(this)(e)}.bind(this),this._repaintDomAdditionals.bind(this)];if(t)return i;var o;return i.forEach(function(t){o=t()}),o},o.prototype.show=r.prototype.show,o.prototype.hide=r.prototype.hide,o.prototype.repositionX=r.prototype.repositionX,o.prototype.repositionY=function(t){var e,i=this.options.orientation.item;if(void 0!==this.data.subgroup){var o=this.data.subgroup;this.dom.box.style.height=this.parent.subgroups[o].height+"px",this.dom.box.style.top="top"==i?this.parent.top+this.parent.subgroups[o].top+"px":this.parent.top+this.parent.height-this.parent.subgroups[o].top-this.parent.subgroups[o].height+"px",this.dom.box.style.bottom=""}else this.parent instanceof s?(e=Math.max(this.parent.height,this.parent.itemSet.body.domProps.center.height,this.parent.itemSet.body.domProps.centerContainer.height),this.dom.box.style.bottom="bottom"==i?"0":"",this.dom.box.style.top="top"==i?"0":""):(e=this.parent.height,this.dom.box.style.top=this.parent.top+"px",this.dom.box.style.bottom="");this.dom.box.style.height=e+"px"},t.exports=o},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(0),s=o(n),r=i(1),a=o(r),h=function(){function t(e,i){(0,s.default)(this,t),this.container=e,this.overflowMethod=i||"cap",this.x=0,this.y=0,this.padding=5,this.hidden=!1,this.frame=document.createElement("div"),this.frame.className="vis-tooltip",this.container.appendChild(this.frame)}return(0,a.default)(t,[{key:"setPosition",value:function(t,e){this.x=parseInt(t),this.y=parseInt(e)}},{key:"setText",value:function(t){t instanceof Element?(this.frame.innerHTML="",this.frame.appendChild(t)):this.frame.innerHTML=t}},{key:"show",value:function(t){if(void 0===t&&(t=!0),!0===t){var e=this.frame.clientHeight,i=this.frame.clientWidth,o=this.frame.parentNode.clientHeight,n=this.frame.parentNode.clientWidth,s=0,r=0;if("flip"==this.overflowMethod){var a=!1,h=!0;this.y-en-this.padding&&(a=!0),s=a?this.x-i:this.x,r=h?this.y-e:this.y}else r=this.y-e,r+e+this.padding>o&&(r=o-e-this.padding),rn&&(s=n-i-this.padding),s0){var r={};for(this._getRelevantData(s,r,o,n),this._applySampling(s,r),e=0;e0)switch(t.options.style){case"line":d.hasOwnProperty(s[e])||(d[s[e]]=m.calcPath(r[s[e]],t)),m.draw(d[s[e]],t,this.framework);case"point":case"points":"point"!=t.options.style&&"points"!=t.options.style&&1!=t.options.drawPoints.enabled||v.draw(r[s[e]],t,this.framework)}}}return a.cleanupElements(this.svgElements),!1},o.prototype._stack=function(t,e){var i,o,n,s,r;i=0;for(var a=0;at[a].x){r=e[h],s=0==h?r:e[h-1],i=h;break}}void 0===r&&(s=e[e.length-1],r=e[e.length-1]),o=r.x-s.x,n=r.y-s.y,t[a].y=0==o?t[a].orginalY+r.y:t[a].orginalY+n/o*(t[a].x-s.x)+s.y}},o.prototype._getRelevantData=function(t,e,i,o){var n,s,a,h;if(t.length>0)for(s=0;s0)for(var o=0;o0){var s=1,r=n.length,a=this.body.util.toGlobalScreen(n[n.length-1].x)-this.body.util.toGlobalScreen(n[0].x),h=r/a;s=Math.min(Math.ceil(.2*r),Math.max(1,Math.round(h)));for(var d=new Array(r),l=0;l0){for(s=0;s0&&(n=this.groups[t[s]],!0===r.stack&&"bar"===r.style?"left"===r.yAxisOrientation?a=a.concat(o):h=h.concat(o):i[t[s]]=n.getYRange(o,t[s]));f.getStackedYRange(a,i,t,"__barStackLeft","left"),f.getStackedYRange(h,i,t,"__barStackRight","right")}},o.prototype._updateYAxis=function(t,e){var i,o,n=!1,s=!1,r=!1,a=1e9,h=1e9,d=-1e9,l=-1e9;if(t.length>0){for(var u=0;ui?i:a,d=di?i:h,l=l=0&&t._redrawLabel(o-2,e.val,i,"vis-y-axis vis-major",t.props.majorCharHeight),!0===t.master&&(n?t._redrawLine(o,i,"vis-grid vis-horizontal vis-major",t.options.majorLinesOffset,t.props.majorLineWidth):t._redrawLine(o,i,"vis-grid vis-horizontal vis-minor",t.options.minorLinesOffset,t.props.minorLineWidth))});var r=0;void 0!==this.options[i].title&&void 0!==this.options[i].title.text&&(r=this.props.titleCharHeight);var h=!0===this.options.icons?Math.max(this.options.iconWidth,r)+this.options.labelOffsetX+15:r+this.options.labelOffsetX+15;return this.maxLabelSize>this.width-h&&!0===this.options.visible?(this.width=this.maxLabelSize+h,this.options.width=this.width+"px",a.cleanupElements(this.DOMelements.lines),a.cleanupElements(this.DOMelements.labels),this.redraw(),e=!0):this.maxLabelSizethis.minWidth?(this.width=Math.max(this.minWidth,this.maxLabelSize+h),this.options.width=this.width+"px",a.cleanupElements(this.DOMelements.lines),a.cleanupElements(this.DOMelements.labels),this.redraw(),e=!0):(a.cleanupElements(this.DOMelements.lines),a.cleanupElements(this.DOMelements.labels),e=!1),e},o.prototype.convertValue=function(t){return this.scale.convertValue(t)},o.prototype.screenToValue=function(t){return this.scale.screenToValue(t)},o.prototype._redrawLabel=function(t,e,i,o,n){var s=a.getDOMElement("div",this.DOMelements.labels,this.dom.frame);s.className=o,s.innerHTML=e,"left"===i?(s.style.left="-"+this.options.labelOffsetX+"px",s.style.textAlign="right"):(s.style.right="-"+this.options.labelOffsetX+"px",s.style.textAlign="left"),s.style.top=t-.5*n+this.options.labelOffsetY+"px",e+="";var r=Math.max(this.props.majorCharWidth,this.props.minorCharWidth);this.maxLabelSize6&&void 0!==arguments[6]&&arguments[6],a=arguments.length>7&&void 0!==arguments[7]&&arguments[7];if(this.majorSteps=[1,2,5,10],this.minorSteps=[.25,.5,1,2],this.customLines=null,this.containerHeight=n,this.majorCharHeight=s,this._start=t,this._end=e,this.scale=1,this.minorStepIdx=-1,this.magnitudefactor=1,this.determineScale(),this.zeroAlign=r,this.autoScaleStart=i,this.autoScaleEnd=o,this.formattingFunction=a,i||o){var h=this,d=function(t){var e=t-t%(h.magnitudefactor*h.minorSteps[h.minorStepIdx]);return t%(h.magnitudefactor*h.minorSteps[h.minorStepIdx])>h.magnitudefactor*h.minorSteps[h.minorStepIdx]*.5?e+h.magnitudefactor*h.minorSteps[h.minorStepIdx]:e};i&&(this._start-=2*this.magnitudefactor*this.minorSteps[this.minorStepIdx],this._start=d(this._start)),o&&(this._end+=this.magnitudefactor*this.minorSteps[this.minorStepIdx],this._end=d(this._end)),this.determineScale()}}o.prototype.setCharHeight=function(t){this.majorCharHeight=t},o.prototype.setHeight=function(t){this.containerHeight=t},o.prototype.determineScale=function(){var t=this._end-this._start;this.scale=this.containerHeight/t;var e=this.majorCharHeight/this.scale,i=t>0?Math.round(Math.log(t)/Math.LN10):0;this.minorStepIdx=-1,this.magnitudefactor=Math.pow(10,i);var o=0;i<0&&(o=i);for(var n=!1,s=o;Math.abs(s)<=Math.abs(i);s++){this.magnitudefactor=Math.pow(10,s);for(var r=0;r=e){n=!0,this.minorStepIdx=r;break}}if(!0===n)break}},o.prototype.is_major=function(t){return t%(this.magnitudefactor*this.majorSteps[this.minorStepIdx])==0},o.prototype.getStep=function(){return this.magnitudefactor*this.minorSteps[this.minorStepIdx]},o.prototype.getFirstMajor=function(){var t=this.magnitudefactor*this.majorSteps[this.minorStepIdx];return this.convertValue(this._start+(t-this._start%t)%t)},o.prototype.formatValue=function(t){var e=t.toPrecision(5);return"function"==typeof this.formattingFunction&&(e=this.formattingFunction(t)),"number"==typeof e?""+e:"string"==typeof e?e:t.toPrecision(5)},o.prototype.getLines=function(){for(var t=[],e=this.getStep(),i=(e-this._start%e)%e,o=this._start+i;this._end-o>1e-5;o+=e)o!=this._start&&t.push({major:this.is_major(o),y:this.convertValue(o),val:this.formatValue(o)});return t},o.prototype.followScale=function(t){var e=this.minorStepIdx,i=this._start,o=this._end,n=this,s=function(){n.magnitudefactor*=2},r=function(){n.magnitudefactor/=2};t.minorStepIdx<=1&&this.minorStepIdx<=1||t.minorStepIdx>1&&this.minorStepIdx>1||(t.minorStepIdxo+1e-5)r(),d=!1;else{if(!this.autoScaleStart&&this._start=0)){r(),d=!1;continue}console.warn("Can't adhere to given 'min' range, due to zeroalign")}this.autoScaleStart&&this.autoScaleEnd&&ue.x?1:-1})):this.itemsData=[]},o.prototype.getItems=function(){return this.itemsData},o.prototype.setZeroPosition=function(t){this.zeroPosition=t},o.prototype.setOptions=function(t){if(void 0!==t){var e=["sampling","style","sort","yAxisOrientation","barChart","zIndex","excludeFromStacking","excludeFromLegend"];r.selectiveDeepExtend(e,this.options,t),"function"==typeof t.drawPoints&&(t.drawPoints={onRender:t.drawPoints}),r.mergeOptions(this.options,t,"interpolation"),r.mergeOptions(this.options,t,"drawPoints"),r.mergeOptions(this.options,t,"shaded"),t.interpolation&&"object"==(0,s.default)(t.interpolation)&&t.interpolation.parametrization&&("uniform"==t.interpolation.parametrization?this.options.interpolation.alpha=0:"chordal"==t.interpolation.parametrization?this.options.interpolation.alpha=1:(this.options.interpolation.parametrization="centripetal",this.options.interpolation.alpha=.5))}},o.prototype.update=function(t){this.group=t,this.content=t.content||"graph",this.className=t.className||this.className||"vis-graph-group"+this.groupsUsingDefaultStyles[0]%10,this.visible=void 0===t.visible||t.visible,this.style=t.style,this.setOptions(t.options)},o.prototype.getLegend=function(t,e,i,o,n){if(void 0==i||null==i){i={svg:document.createElementNS("http://www.w3.org/2000/svg","svg"),svgElements:{},options:this.options,groups:[this]}}switch(void 0!=o&&null!=o||(o=0),void 0!=n&&null!=n||(n=.5*e),this.options.style){case"line":h.drawIcon(this,o,n,t,e,i);break;case"points":case"point":d.drawIcon(this,o,n,t,e,i);break;case"bar":a.drawIcon(this,o,n,t,e,i)}return{icon:i.svg,label:this.content,orientation:this.options.yAxisOrientation}},o.prototype.getYRange=function(t){for(var e=t[0].y,i=t[0].y,o=0;ot[o].y?t[o].y:e,i=i0&&(i=Math.min(i,Math.abs(e[o-1].screen_x-e[o].screen_x))),0===i&&(void 0===t[e[o].screen_x]&&(t[e[o].screen_x]={amount:0,resolved:0,accumulatedPositive:0,accumulatedNegative:0}),t[e[o].screen_x].amount+=1)},o._getSafeDrawData=function(t,e,i){var o,n;return t0?(o=t0){t.sort(function(t,e){return t.screen_x===e.screen_x?t.groupIde[s].screen_y?e[s].screen_y:o,n=nt[r].accumulatedNegative?t[r].accumulatedNegative:o,o=o>t[r].accumulatedPositive?t[r].accumulatedPositive:o,n=n0){return 1==e.options.interpolation.enabled?o._catmullRom(t,e):o._linear(t)}},o.drawIcon=function(t,e,i,o,s,r){var a,h,d=.5*s,l=n.getSVGElement("rect",r.svgElements,r.svg);if(l.setAttributeNS(null,"x",e),l.setAttributeNS(null,"y",i-d),l.setAttributeNS(null,"width",o),l.setAttributeNS(null,"height",2*d),l.setAttributeNS(null,"class","vis-outline"),a=n.getSVGElement("path",r.svgElements,r.svg),a.setAttributeNS(null,"class",t.className),void 0!==t.style&&a.setAttributeNS(null,"style",t.style),a.setAttributeNS(null,"d","M"+e+","+i+" L"+(e+o)+","+i),1==t.options.shaded.enabled&&(h=n.getSVGElement("path",r.svgElements,r.svg),"top"==t.options.shaded.orientation?h.setAttributeNS(null,"d","M"+e+", "+(i-d)+"L"+e+","+i+" L"+(e+o)+","+i+" L"+(e+o)+","+(i-d)):h.setAttributeNS(null,"d","M"+e+","+i+" L"+e+","+(i+d)+" L"+(e+o)+","+(i+d)+"L"+(e+o)+","+i),h.setAttributeNS(null,"class",t.className+" vis-icon-fill"),void 0!==t.options.shaded.style&&""!==t.options.shaded.style&&h.setAttributeNS(null,"style",t.options.shaded.style)),1==t.options.drawPoints.enabled){var u={style:t.options.drawPoints.style,styles:t.options.drawPoints.styles,size:t.options.drawPoints.size,className:t.className};n.drawPoint(e+.5*o,i,u,r.svgElements,r.svg)}},o.drawShading=function(t,e,i,o){if(1==e.options.shaded.enabled){var s=Number(o.svg.style.height.replace("px","")),r=n.getSVGElement("path",o.svgElements,o.svg),a="L";1==e.options.interpolation.enabled&&(a="C");var h,d=0;d="top"==e.options.shaded.orientation?0:"bottom"==e.options.shaded.orientation?s:Math.min(Math.max(0,e.zeroPosition),s),h="group"==e.options.shaded.orientation&&null!=i&&void 0!=i?"M"+t[0][0]+","+t[0][1]+" "+this.serializePath(t,a,!1)+" L"+i[i.length-1][0]+","+i[i.length-1][1]+" "+this.serializePath(i,a,!0)+i[0][0]+","+i[0][1]+" Z":"M"+t[0][0]+","+t[0][1]+" "+this.serializePath(t,a,!1)+" V"+d+" H"+t[0][0]+" Z",r.setAttributeNS(null,"class",e.className+" vis-fill"),void 0!==e.options.shaded.style&&r.setAttributeNS(null,"style",e.options.shaded.style),r.setAttributeNS(null,"d",h)}},o.draw=function(t,e,i){if(null!=t&&void 0!=t){var o=n.getSVGElement("path",i.svgElements,i.svg);o.setAttributeNS(null,"class",e.className),void 0!==e.style&&o.setAttributeNS(null,"style",e.style);var s="L";1==e.options.interpolation.enabled&&(s="C"),o.setAttributeNS(null,"d","M"+t[0][0]+","+t[0][1]+" "+this.serializePath(t,s,!1))}},o.serializePath=function(t,e,i){if(t.length<2)return"";var o,n=e;if(i)for(o=t.length-2;o>0;o--)n+=t[o][0]+","+t[o][1]+" ";else for(o=1;o0&&(f=1/f),m=3*v*(v+g),m>0&&(m=1/m),a={screen_x:(-b*o.screen_x+c*n.screen_x+_*s.screen_x)*f,screen_y:(-b*o.screen_y+c*n.screen_y+_*s.screen_y)*f},h={screen_x:(y*n.screen_x+p*s.screen_x-b*r.screen_x)*m,screen_y:(y*n.screen_y+p*s.screen_y-b*r.screen_y)*m},0==a.screen_x&&0==a.screen_y&&(a=n),0==h.screen_x&&0==h.screen_y&&(h=s),x.push([a.screen_x,a.screen_y]),x.push([h.screen_x,h.screen_y]),x.push([s.screen_x,s.screen_y]);return x},o._linear=function(t){for(var e=[],i=0;i");this.dom.textArea.innerHTML=r,this.dom.textArea.style.lineHeight=.75*this.options.iconSize+this.options.iconSpacing+"px"}},o.prototype.drawLegendIcons=function(){if(this.dom.frame.parentNode){var t=(0,s.default)(this.groups);t.sort(function(t,e){return t=0;i--){var a=s[i];a.nodes||(a.nodes=[]),-1===a.nodes.indexOf(n)&&a.nodes.push(n)}e.attr&&(n.attr=h(n.attr,e.attr))}function u(t,e){if(t.edges||(t.edges=[]),t.edges.push(e),t.edge){var i=h({},t.edge);e.attr=h(i,e.attr)}}function c(t,e,i,o,n){var s={from:e,to:i,type:o};return t.edge&&(s.attr=h({},t.edge)),s.attr=h(s.attr||{},n),s}function p(){for(F=I.NULL,L="";" "===z||"\t"===z||"\n"===z||"\r"===z;)s();do{var t=!1;if("#"===z){for(var e=A-1;" "===R.charAt(e)||"\t"===R.charAt(e);)e--;if("\n"===R.charAt(e)||""===R.charAt(e)){for(;""!=z&&"\n"!=z;)s();t=!0}}if("/"===z&&"/"===r()){for(;""!=z&&"\n"!=z;)s();t=!0}if("/"===z&&"*"===r()){for(;""!=z;){if("*"===z&&"/"===r()){s(),s();break}s()}t=!0}for(;" "===z||"\t"===z||"\n"===z||"\r"===z;)s()}while(t);if(""===z)return void(F=I.DELIMITER);var i=z+r();if(N[i])return F=I.DELIMITER,L=i,s(),void s();if(N[z])return F=I.DELIMITER,L=z,void s();if(a(z)||"-"===z){for(L+=z,s();a(z);)L+=z,s();return"false"===L?L=!1:"true"===L?L=!0:isNaN(Number(L))||(L=Number(L)),void(F=I.IDENTIFIER)}if('"'===z){for(s();""!=z&&('"'!=z||'"'===z&&'"'===r());)'"'===z?(L+=z,s()):"\\"===z&&"n"===r()?(L+="\n",s()):L+=z,s();if('"'!=z)throw x('End of string " expected');return s(),void(F=I.IDENTIFIER)}for(F=I.UNKNOWN;""!=z;)L+=z,s();throw new SyntaxError('Syntax error in part "'+k(L,30)+'"')}function f(){var t={};if(n(),p(),"strict"===L&&(t.strict=!0,p()),"graph"!==L&&"digraph"!==L||(t.type=L,p()),F===I.IDENTIFIER&&(t.id=L,p()),"{"!=L)throw x("Angle bracket { expected");if(p(),m(t),"}"!=L)throw x("Angle bracket } expected");if(p(),""!==L)throw x("End of file expected");return p(),delete t.node,delete t.edge,delete t.graph,t}function m(t){for(;""!==L&&"}"!=L;)v(t),";"===L&&p()}function v(t){var e=g(t);if(e)return void _(t,e);if(!y(t)){if(F!=I.IDENTIFIER)throw x("Identifier expected");var i=L;if(p(),"="===L){if(p(),F!=I.IDENTIFIER)throw x("Identifier expected");t[i]=L,p()}else b(t,i)}}function g(t){var e=null;if("subgraph"===L&&(e={},e.type="subgraph",p(),F===I.IDENTIFIER&&(e.id=L,p())),"{"===L){if(p(),e||(e={}),e.parent=t,e.node=t.node,e.edge=t.edge,e.graph=t.graph,m(e),"}"!=L)throw x("Angle bracket } expected");p(),delete e.node,delete e.edge,delete e.graph,delete e.parent,t.subgraphs||(t.subgraphs=[]),t.subgraphs.push(e)}return e}function y(t){return"node"===L?(p(),t.node=w(),"node"):"edge"===L?(p(),t.edge=w(),"edge"):"graph"===L?(p(),t.graph=w(),"graph"):null}function b(t,e){var i={id:e},o=w();o&&(i.attr=o),l(t,i),_(t,e)}function _(t,e){for(;"->"===L||"--"===L;){var i,o=L;p();var n=g(t);if(n)i=n;else{if(F!=I.IDENTIFIER)throw x("Identifier or subgraph expected");i=L,l(t,{id:i}),p()}u(t,c(t,e,i,o,w())),e=i}}function w(){for(var t=null,e={dashed:!0,solid:!1,dotted:[1,5]};"["===L;){for(p(),t={};""!==L&&"]"!=L;){if(F!=I.IDENTIFIER)throw x("Attribute name expected");var i=L;if(p(),"="!=L)throw x("Equal sign = expected");if(p(),F!=I.IDENTIFIER)throw x("Attribute value expected");var o=L;"style"===i&&(o=e[o]),d(t,i,o),p(),","==L&&p()}if("]"!=L)throw x("Bracket ] expected");p()}return t}function x(t){return new SyntaxError(t+', got "'+k(L,30)+'" (char '+A+")")}function k(t,e){return t.length<=e?t:t.substr(0,27)+"..."}function S(t,e,i){Array.isArray(t)?t.forEach(function(t){Array.isArray(e)?e.forEach(function(e){i(t,e)}):i(t,e)}):Array.isArray(e)?e.forEach(function(e){i(t,e)}):i(t,e)}function D(t,e,i){for(var o=e.split("."),n=o.pop(),s=t,r=0;r":!0,"--":!0},R="",A=0,z="",L="",F=I.NULL,B=/[a-zA-Z_0-9.:#]/;e.parseDOT=o,e.DOTToGraph=C},function(t,e,i){function o(t,e){var i=[],o=[],n={edges:{inheritColor:!1},nodes:{fixed:!1,parseColor:!1}};void 0!==e&&(void 0!==e.fixed&&(n.nodes.fixed=e.fixed),void 0!==e.parseColor&&(n.nodes.parseColor=e.parseColor),void 0!==e.inheritColor&&(n.edges.inheritColor=e.inheritColor));for(var s=t.edges,r=t.nodes,a=0;a2&&void 0!==arguments[2]&&arguments[2];(0,d.default)(this,t),this.body=e,this.pointToSelf=!1,this.baseSize=void 0,this.fontOptions={},this.setOptions(i),this.size={top:0,left:0,width:0,height:0,yLine:0},this.isEdgeLabel=o}return(0,u.default)(t,[{key:"setOptions",value:function(t){if(this.elementOptions=t,this.initFontOptions(t.font),p.isValidLabel(t.label)?this.labelDirty=!0:t.label="",void 0!==t.font&&null!==t.font)if("string"==typeof t.font)this.baseSize=this.fontOptions.size;else if("object"===(0,a.default)(t.font)){var e=t.font.size;void 0!==e&&(this.baseSize=e)}}},{key:"initFontOptions",value:function(e){var i=this;if(c.forEach(m,function(t){i.fontOptions[t]={}}),t.parseFontString(this.fontOptions,e))return void(this.fontOptions.vadjust=0);c.forEach(e,function(t,e){void 0!==t&&null!==t&&"object"!==(void 0===t?"undefined":(0,a.default)(t))&&(i.fontOptions[e]=t)})}},{key:"constrain",value:function(t){var e={constrainWidth:!1,maxWdt:-1,minWdt:-1,constrainHeight:!1,minHgt:-1,valign:"middle"},i=c.topMost(t,"widthConstraint");if("number"==typeof i)e.maxWdt=Number(i),e.minWdt=Number(i);else if("object"===(void 0===i?"undefined":(0,a.default)(i))){var o=c.topMost(t,["widthConstraint","maximum"]);"number"==typeof o&&(e.maxWdt=Number(o));var n=c.topMost(t,["widthConstraint","minimum"]);"number"==typeof n&&(e.minWdt=Number(n))}var s=c.topMost(t,"heightConstraint");if("number"==typeof s)e.minHgt=Number(s);else if("object"===(void 0===s?"undefined":(0,a.default)(s))){var r=c.topMost(t,["heightConstraint","minimum"]);"number"==typeof r&&(e.minHgt=Number(r));var h=c.topMost(t,["heightConstraint","valign"]);"string"==typeof h&&("top"!==h&&"bottom"!==h||(e.valign=h))}return e}},{key:"update",value:function(t,e){this.setOptions(t,!0),this.propagateFonts(e),c.deepExtend(this.fontOptions,this.constrain(e)),this.fontOptions.chooser=p.choosify("label",e)}},{key:"adjustSizes",value:function(t){var e=t?t.right+t.left:0;this.fontOptions.constrainWidth&&(this.fontOptions.maxWdt-=e,this.fontOptions.minWdt-=e);var i=t?t.top+t.bottom:0;this.fontOptions.constrainHeight&&(this.fontOptions.minHgt-=i)}},{key:"addFontOptionsToPile",value:function(t,e){for(var i=0;i5&&void 0!==arguments[5]?arguments[5]:"middle";if(void 0!==this.elementOptions.label){var r=this.fontOptions.size*this.body.view.scale;this.elementOptions.label&&r=this.elementOptions.scaling.label.maxVisible&&(r=Number(this.elementOptions.scaling.label.maxVisible)/this.body.view.scale),this.calculateLabelSize(t,o,n,e,i,s),this._drawBackground(t),this._drawText(t,e,this.size.yLine,s,r))}}},{key:"_drawBackground",value:function(t){if(void 0!==this.fontOptions.background&&"none"!==this.fontOptions.background){t.fillStyle=this.fontOptions.background;var e=this.getSize();t.fillRect(e.left,e.top,e.width,e.height)}}},{key:"_drawText",value:function(t,e,i){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"middle",n=arguments[4],r=this._setAlignment(t,e,i,o),a=(0,s.default)(r,2);e=a[0],i=a[1],t.textAlign="left",e-=this.size.width/2,this.fontOptions.valign&&this.size.height>this.size.labelHeight&&("top"===this.fontOptions.valign&&(i-=(this.size.height-this.size.labelHeight)/2),"bottom"===this.fontOptions.valign&&(i+=(this.size.height-this.size.labelHeight)/2));for(var h=0;h0&&(t.lineWidth=c.strokeWidth,t.strokeStyle=v,t.lineJoin="round"),t.fillStyle=m,c.strokeWidth>0&&t.strokeText(c.text,e+l,i+c.vadjust),t.fillText(c.text,e+l,i+c.vadjust),l+=c.width}i+=d.height}}}},{key:"_setAlignment",value:function(t,e,i,o){if(this.isEdgeLabel&&"horizontal"!==this.fontOptions.align&&!1===this.pointToSelf){e=0,i=0;"top"===this.fontOptions.align?(t.textBaseline="alphabetic",i-=4):"bottom"===this.fontOptions.align?(t.textBaseline="hanging",i+=4):t.textBaseline="middle"}else t.textBaseline=o;return[e,i]}},{key:"_getColor",value:function(t,e,i){var o=t||"#000000",n=i||"#ffffff";if(e<=this.elementOptions.scaling.label.drawThreshold){var s=Math.max(0,Math.min(1,1-(this.elementOptions.scaling.label.drawThreshold-e)));o=c.overrideOpacity(o,s),n=c.overrideOpacity(n,s)}return[o,n]}},{key:"getTextSize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return this._processLabel(t,e,i),{width:this.size.width,height:this.size.height,lineCount:this.lineCount}}},{key:"getSize",value:function(){var t=this.size.left,e=this.size.top-1;if(this.isEdgeLabel){var i=.5*-this.size.width;switch(this.fontOptions.align){case"middle":t=i,e=.5*-this.size.height;break;case"top":t=i,e=-(this.size.height+2);break;case"bottom":t=i,e=2}}return{left:t,top:e,width:this.size.width,height:this.size.height}}},{key:"calculateLabelSize",value:function(t,e,i){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"middle";this._processLabel(t,e,i),this.size.left=o-.5*this.size.width,this.size.top=n-.5*this.size.height,this.size.yLine=n+.5*(1-this.lineCount)*this.fontOptions.size,"hanging"===s&&(this.size.top+=.5*this.fontOptions.size,this.size.top+=4,this.size.yLine+=4)}},{key:"getFormattingValues",value:function(t,e,i,o){var n=function(t,e,i){return"normal"===e?"mod"===i?"":t[i]:void 0!==t[e][i]?t[e][i]:t[i]},s={color:n(this.fontOptions,o,"color"),size:n(this.fontOptions,o,"size"),face:n(this.fontOptions,o,"face"),mod:n(this.fontOptions,o,"mod"),vadjust:n(this.fontOptions,o,"vadjust"),strokeWidth:this.fontOptions.strokeWidth,strokeColor:this.fontOptions.strokeColor};(e||i)&&("normal"===o&&!0===this.fontOptions.chooser&&this.elementOptions.labelHighlightBold?s.mod="bold":"function"==typeof this.fontOptions.chooser&&this.fontOptions.chooser(s,this.elementOptions.id,e,i));var r="";return void 0!==s.mod&&""!==s.mod&&(r+=s.mod+" "),r+=s.size+"px "+s.face,t.font=r.replace(/"/g,""),s.font=t.font,s.height=s.size,s}},{key:"differentState",value:function(t,e){return t!==this.selectedState||e!==this.hoverState}},{key:"_processLabelText",value:function(t,e,i,o){return new f(t,this,e,i).process(o)}},{key:"_processLabel",value:function(t,e,i){if(!1!==this.labelDirty||this.differentState(e,i)){var o=this._processLabelText(t,e,i,this.elementOptions.label);this.fontOptions.minWdt>0&&o.width0&&o.heighto.shape.height?(e=o.x+.5*o.shape.width,i=o.y-n):(e=o.x+n,i=o.y-.5*o.shape.height),[e,i,n]}},{key:"_pointOnCircle",value:function(t,e,i,o){var n=2*o*Math.PI;return{x:t+i*Math.cos(n),y:e-i*Math.sin(n)}}},{key:"_findBorderPositionCircle",value:function(t,e,i){for(var o=i.x,n=i.y,s=i.low,r=i.high,a=i.direction,h=0,d=this.options.selfReferenceSize,l=void 0,u=void 0,c=void 0,p=void 0,f=void 0,m=.5*(s+r);s<=r&&h<10&&(m=.5*(s+r),l=this._pointOnCircle(o,n,d,m),u=Math.atan2(t.y-l.y,t.x-l.x),c=t.distanceToBorder(e,u),p=Math.sqrt(Math.pow(l.x-t.x,2)+Math.pow(l.y-t.y,2)),f=c-p,!(Math.abs(f)<.05));)f>0?a>0?s=m:r=m:a>0?r=m:s=m,h++;return l.t=m,l}},{key:"getLineWidth",value:function(t,e){return!0===t?Math.max(this.selectionWidth,.3/this.body.view.scale):!0===e?Math.max(this.hoverWidth,.3/this.body.view.scale):Math.max(this.options.width,.3/this.body.view.scale)}},{key:"getColor",value:function(t,e,i,o){if(!1!==e.inheritsColor){if("both"===e.inheritsColor&&this.from.id!==this.to.id){var n=t.createLinearGradient(this.from.x,this.from.y,this.to.x,this.to.y),s=void 0,r=void 0;return s=this.from.options.color.highlight.border,r=this.to.options.color.highlight.border,!1===this.from.selected&&!1===this.to.selected?(s=l.overrideOpacity(this.from.options.color.border,e.opacity), -r=l.overrideOpacity(this.to.options.color.border,e.opacity)):!0===this.from.selected&&!1===this.to.selected?r=this.to.options.color.border:!1===this.from.selected&&!0===this.to.selected&&(s=this.from.options.color.border),n.addColorStop(0,s),n.addColorStop(1,r),n}return"to"===e.inheritsColor?l.overrideOpacity(this.to.options.color.border,e.opacity):l.overrideOpacity(this.from.options.color.border,e.opacity)}return l.overrideOpacity(e.color,e.opacity)}},{key:"_circle",value:function(t,e,i,o,n){this.enableShadow(t,e),t.beginPath(),t.arc(i,o,n,0,2*Math.PI,!1),t.stroke(),this.disableShadow(t,e)}},{key:"getDistanceToEdge",value:function(t,e,i,o,n,r,a,h){var d=0;if(this.from!=this.to)d=this._getDistanceToEdge(t,e,i,o,n,r,a);else{var l=this._getCircleData(void 0),u=(0,s.default)(l,3),c=u[0],p=u[1],f=u[2],m=c-n,v=p-r;d=Math.abs(Math.sqrt(m*m+v*v)-f)}return d}},{key:"_getDistanceToLine",value:function(t,e,i,o,n,s){var r=i-t,a=o-e,h=r*r+a*a,d=((n-t)*r+(s-e)*a)/h;d>1?d=1:d<0&&(d=0);var l=t+d*r,u=e+d*a,c=l-n,p=u-s;return Math.sqrt(c*c+p*p)}},{key:"getArrowData",value:function(t,e,i,o,n,r){var a=void 0,h=void 0,d=void 0,l=void 0,u=void 0,c=void 0,p=void 0,f=r.width;if("from"===e?(d=this.from,l=this.to,u=.1,c=r.fromArrowScale,p=r.fromArrowType):"to"===e?(d=this.to,l=this.from,u=-.1,c=r.toArrowScale,p=r.toArrowType):(d=this.to,l=this.from,c=r.middleArrowScale,p=r.middleArrowType),d!=l)if("middle"!==e)if(!0===this.options.smooth.enabled){h=this.findBorderPosition(d,t,{via:i});var m=this.getPoint(Math.max(0,Math.min(1,h.t+u)),i);a=Math.atan2(h.y-m.y,h.x-m.x)}else a=Math.atan2(d.y-l.y,d.x-l.x),h=this.findBorderPosition(d,t);else a=Math.atan2(d.y-l.y,d.x-l.x),h=this.getPoint(.5,i);else{var v=this._getCircleData(t),g=(0,s.default)(v,3),y=g[0],b=g[1],_=g[2];"from"===e?(h=this.findBorderPosition(this.from,t,{x:y,y:b,low:.25,high:.6,direction:-1}),a=-2*h.t*Math.PI+1.5*Math.PI+.1*Math.PI):"to"===e?(h=this.findBorderPosition(this.from,t,{x:y,y:b,low:.6,high:1,direction:1}),a=-2*h.t*Math.PI+1.5*Math.PI-1.1*Math.PI):(h=this._pointOnCircle(y,b,_,.175),a=3.9269908169872414)}"middle"===e&&c<0&&(f*=-1);var w=15*c+3*f;return{point:h,core:{x:h.x-.9*w*Math.cos(a),y:h.y-.9*w*Math.sin(a)},angle:a,length:w,type:p}}},{key:"drawArrowHead",value:function(t,e,i,o,n){t.strokeStyle=this.getColor(t,e,i,o),t.fillStyle=t.strokeStyle,t.lineWidth=e.width,u.draw(t,n),this.enableShadow(t,e),t.fill(),this.disableShadow(t,e)}},{key:"enableShadow",value:function(t,e){!0===e.shadow&&(t.shadowColor=e.shadowColor,t.shadowBlur=e.shadowSize,t.shadowOffsetX=e.shadowX,t.shadowOffsetY=e.shadowY)}},{key:"disableShadow",value:function(t,e){!0===e.shadow&&(t.shadowColor="rgba(0,0,0,0)",t.shadowBlur=0,t.shadowOffsetX=0,t.shadowOffsetY=0)}}]),t}();e.default=c},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(3),s=o(n),r=i(4),a=o(r),h=i(5),d=o(h),l=i(0),u=o(l),c=i(1),p=o(c),f=function(){function t(){(0,u.default)(this,t)}return(0,p.default)(t,null,[{key:"transform",value:function(t,e){t instanceof Array||(t=[t]);for(var i=e.point.x,o=e.point.y,n=e.angle,s=e.length,r=0;r0){var t=void 0,e=this.body.nodes,i=this.physicsBody.physicsNodeIndices,o=i.length,n=this._formBarnesHutTree(e,i);this.barnesHutTree=n;for(var s=0;s0&&this._getForceContributions(n.root,t)}}},{key:"_getForceContributions",value:function(t,e){this._getForceContribution(t.children.NW,e),this._getForceContribution(t.children.NE,e),this._getForceContribution(t.children.SW,e),this._getForceContribution(t.children.SE,e)}},{key:"_getForceContribution",value:function(t,e){if(t.childrenCount>0){var i=void 0,o=void 0,n=void 0;i=t.centerOfMass.x-e.x,o=t.centerOfMass.y-e.y,n=Math.sqrt(i*i+o*o),n*t.calcSize>this.thetaInversed?this._calculateForces(n,i,o,e,t):4===t.childrenCount?this._getForceContributions(t,e):t.children.data.id!=e.id&&this._calculateForces(n,i,o,e,t)}}},{key:"_calculateForces",value:function(t,e,i,o,n){0===t&&(t=.1,e=t),this.overlapAvoidanceFactor<1&&o.shape.radius&&(t=Math.max(.1+this.overlapAvoidanceFactor*o.shape.radius,t-o.shape.radius));var s=this.options.gravitationalConstant*n.mass*o.options.mass/Math.pow(t,3),r=e*s,a=i*s;this.physicsBody.forces[o.id].x+=r,this.physicsBody.forces[o.id].y+=a}},{key:"_formBarnesHutTree",value:function(t,e){for(var i=void 0,o=e.length,n=t[e[0]].x,s=t[e[0]].y,r=t[e[0]].x,a=t[e[0]].y,h=1;h0&&(lr&&(r=l),ua&&(a=u))}var c=Math.abs(r-n)-Math.abs(a-s);c>0?(s-=.5*c,a+=.5*c):(n+=.5*c,r-=.5*c);var p=Math.max(1e-5,Math.abs(r-n)),f=.5*p,m=.5*(n+r),v=.5*(s+a),g={root:{centerOfMass:{x:0,y:0},mass:0,range:{minX:m-f,maxX:m+f,minY:v-f,maxY:v+f},size:p,calcSize:1/p,children:{data:null},maxWidth:0,level:0,childrenCount:4}};this._splitBranch(g.root);for(var y=0;y0&&this._placeInTree(g.root,i);return g}},{key:"_updateBranchMass",value:function(t,e){var i=t.centerOfMass,o=t.mass+e.options.mass,n=1/o;i.x=i.x*t.mass+e.x*e.options.mass,i.x*=n,i.y=i.y*t.mass+e.y*e.options.mass,i.y*=n,t.mass=o;var s=Math.max(Math.max(e.height,e.radius),e.width);t.maxWidth=t.maxWidthe.x?o.maxY>e.y?"NW":"SW":o.maxY>e.y?"NE":"SE",this._placeInRegion(t,e,n)}},{key:"_placeInRegion",value:function(t,e,i){var o=t.children[i];switch(o.childrenCount){case 0:o.children.data=e,o.childrenCount=1,this._updateBranchMass(o,e);break;case 1:o.children.data.x===e.x&&o.children.data.y===e.y?(e.x+=this.seededRandom(),e.y+=this.seededRandom()):(this._splitBranch(o),this._placeInTree(o,e));break;case 4:this._placeInTree(o,e)}}},{key:"_splitBranch",value: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)}},{key:"_insertRegion",value:function(t,e){var i=void 0,o=void 0,n=void 0,s=void 0,r=.5*t.size;switch(e){case"NW":i=t.range.minX,o=t.range.minX+r,n=t.range.minY,s=t.range.minY+r;break;case"NE":i=t.range.minX+r,o=t.range.maxX,n=t.range.minY,s=t.range.minY+r;break;case"SW":i=t.range.minX,o=t.range.minX+r,n=t.range.minY+r,s=t.range.maxY;break;case"SE":i=t.range.minX+r,o=t.range.maxX,n=t.range.minY+r,s=t.range.maxY}t.children[e]={centerOfMass:{x:0,y:0},mass:0,range:{minX:i,maxX:o,minY:n,maxY:s},size:.5*t.size,calcSize:2*t.calcSize,children:{data:null},maxWidth:0,level:t.level+1,childrenCount:0}}},{key:"_debug",value:function(t,e){void 0!==this.barnesHutTree&&(t.lineWidth=1,this._drawBranch(this.barnesHutTree.root,t,e))}},{key:"_drawBranch",value: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()}}]),t}();e.default=h},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(0),s=o(n),r=i(1),a=o(r),h=function(){function t(e,i,o){(0,s.default)(this,t),this.body=e,this.physicsBody=i,this.setOptions(o)}return(0,a.default)(t,[{key:"setOptions",value:function(t){this.options=t}},{key:"solve",value:function(){for(var t=void 0,e=void 0,i=void 0,o=void 0,n=this.body.nodes,s=this.physicsBody.physicsNodeIndices,r=this.physicsBody.forces,a=0;a=t.length?(this._t=void 0,n(1)):"keys"==e?n(0,i):"values"==e?n(0,t[i]):n(0,[i,t[i]])},"values"),s.Arguments=s.Array,o("keys"),o("values"),o("entries")},function(t,e){t.exports=function(){}},function(t,e){t.exports=function(t,e){return{value:e,done:!!t}}},function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},function(t,e,i){var o=i(54),n=i(40),s=i(59),r={};i(26)(r,i(13)("iterator"),function(){return this}),t.exports=function(t,e,i){t.prototype=o(r,{next:n(1,i)}),s(t,e+" Iterator")}},function(t,e,i){var o=i(20),n=i(27),s=i(33);t.exports=i(21)?Object.defineProperties:function(t,e){n(t);for(var i,r=s(e),a=r.length,h=0;a>h;)o.f(t,i=r[h++],e[i]);return t}},function(t,e,i){var o=i(25),n=i(132),s=i(133);t.exports=function(t){return function(e,i,r){var a,h=o(e),d=n(h.length),l=s(r,d);if(t&&i!=i){for(;d>l;)if((a=h[l++])!=a)return!0}else for(;d>l;l++)if((t||l in h)&&h[l]===i)return t||l||0;return!t&&-1}}},function(t,e,i){var o=i(55),n=Math.min;t.exports=function(t){return t>0?n(o(t),9007199254740991):0}},function(t,e,i){var o=i(55),n=Math.max,s=Math.min;t.exports=function(t,e){return t=o(t),t<0?n(t+e,0):s(t,e)}},function(t,e,i){var o=i(18).document;t.exports=o&&o.documentElement},function(t,e,i){var o=i(55),n=i(52);t.exports=function(t){return function(e,i){var s,r,a=String(n(e)),h=o(i),d=a.length;return h<0||h>=d?t?"":void 0:(s=a.charCodeAt(h),s<55296||s>56319||h+1===d||(r=a.charCodeAt(h+1))<56320||r>57343?t?a.charAt(h):s:t?a.slice(h,h+2):r-56320+(s-55296<<10)+65536)}}},function(t,e,i){var o=i(27),n=i(137);t.exports=i(7).getIterator=function(t){var e=n(t);if("function"!=typeof e)throw TypeError(t+" is not iterable!");return o(e.call(t))}},function(t,e,i){var o=i(86),n=i(13)("iterator"),s=i(32);t.exports=i(7).getIteratorMethod=function(t){if(void 0!=t)return t[n]||t["@@iterator"]||s[o(t)]}},function(t,e,i){i(139);var o=i(7).Object;t.exports=function(t,e){return o.create(t,e)}},function(t,e,i){var o=i(17);o(o.S,"Object",{create:i(54)})},function(t,e,i){i(141),t.exports=i(7).Object.keys},function(t,e,i){var o=i(42),n=i(33);i(87)("keys",function(){return function(t){return n(o(t))}})},function(t,e,i){t.exports={default:i(143),__esModule:!0}},function(t,e,i){i(60),i(50),t.exports=i(61).f("iterator")},function(t,e,i){t.exports={default:i(145),__esModule:!0}},function(t,e,i){i(146),i(151),i(152),i(153),t.exports=i(7).Symbol},function(t,e,i){var o=i(18),n=i(22),s=i(21),r=i(17),a=i(83),h=i(147).KEY,d=i(29),l=i(57),u=i(59),c=i(41),p=i(13),f=i(61),m=i(62),v=i(148),g=i(149),y=i(27),b=i(28),_=i(25),w=i(53),x=i(40),k=i(54),S=i(150),D=i(89),M=i(20),C=i(33),O=D.f,E=M.f,T=S.f,P=o.Symbol,I=o.JSON,N=I&&I.stringify,R=p("_hidden"),A=p("toPrimitive"),z={}.propertyIsEnumerable,L=l("symbol-registry"),F=l("symbols"),B=l("op-symbols"),j=Object.prototype,H="function"==typeof P,W=o.QObject,Y=!W||!W.prototype||!W.prototype.findChild,G=s&&d(function(){return 7!=k(E({},"a",{get:function(){return E(this,"a",{value:7}).a}})).a})?function(t,e,i){var o=O(j,e);o&&delete j[e],E(t,e,i),o&&t!==j&&E(j,e,o)}:E,V=function(t){var e=F[t]=k(P.prototype);return e._k=t,e},U=H&&"symbol"==typeof P.iterator?function(t){return"symbol"==typeof t}:function(t){return t instanceof P},q=function(t,e,i){return t===j&&q(B,e,i),y(t),e=w(e,!0),y(i),n(F,e)?(i.enumerable?(n(t,R)&&t[R][e]&&(t[R][e]=!1),i=k(i,{enumerable:x(0,!1)})):(n(t,R)||E(t,R,x(1,{})),t[R][e]=!0),G(t,e,i)):E(t,e,i)},X=function(t,e){y(t);for(var i,o=v(e=_(e)),n=0,s=o.length;s>n;)q(t,i=o[n++],e[i]);return t},Z=function(t,e){return void 0===e?k(t):X(k(t),e)},K=function(t){var e=z.call(this,t=w(t,!0));return!(this===j&&n(F,t)&&!n(B,t))&&(!(e||!n(this,t)||!n(F,t)||n(this,R)&&this[R][t])||e)},J=function(t,e){if(t=_(t),e=w(e,!0),t!==j||!n(F,e)||n(B,e)){var i=O(t,e);return!i||!n(F,e)||n(t,R)&&t[R][e]||(i.enumerable=!0),i}},$=function(t){for(var e,i=T(_(t)),o=[],s=0;i.length>s;)n(F,e=i[s++])||e==R||e==h||o.push(e);return o},Q=function(t){for(var e,i=t===j,o=T(i?B:_(t)),s=[],r=0;o.length>r;)!n(F,e=o[r++])||i&&!n(j,e)||s.push(F[e]);return s};H||(P=function(){if(this instanceof P)throw TypeError("Symbol is not a constructor!");var t=c(arguments.length>0?arguments[0]:void 0),e=function(i){this===j&&e.call(B,i),n(this,R)&&n(this[R],t)&&(this[R][t]=!1),G(this,t,x(1,i))};return s&&Y&&G(j,t,{configurable:!0,set:e}),V(t)},a(P.prototype,"toString",function(){return this._k}),D.f=J,M.f=q,i(88).f=S.f=$,i(43).f=K,i(63).f=Q,s&&!i(39)&&a(j,"propertyIsEnumerable",K,!0),f.f=function(t){return V(p(t))}),r(r.G+r.W+r.F*!H,{Symbol:P});for(var tt="hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","),et=0;tt.length>et;)p(tt[et++]);for(var it=C(p.store),ot=0;it.length>ot;)m(it[ot++]);r(r.S+r.F*!H,"Symbol",{for:function(t){return n(L,t+="")?L[t]:L[t]=P(t)},keyFor:function(t){if(!U(t))throw TypeError(t+" is not a symbol!");for(var e in L)if(L[e]===t)return e},useSetter:function(){Y=!0},useSimple:function(){Y=!1}}),r(r.S+r.F*!H,"Object",{create:Z,defineProperty:q,defineProperties:X,getOwnPropertyDescriptor:J,getOwnPropertyNames:$,getOwnPropertySymbols:Q}),I&&r(r.S+r.F*(!H||d(function(){var t=P();return"[null]"!=N([t])||"{}"!=N({a:t})||"{}"!=N(Object(t))})),"JSON",{stringify:function(t){for(var e,i,o=[t],n=1;arguments.length>n;)o.push(arguments[n++]);if(i=e=o[1],(b(e)||void 0!==t)&&!U(t))return g(e)||(e=function(t,e){if("function"==typeof i&&(e=i.call(this,t,e)),!U(e))return e}),o[1]=e,N.apply(I,o)}}),P.prototype[A]||i(26)(P.prototype,A,P.prototype.valueOf),u(P,"Symbol"),u(Math,"Math",!0),u(o.JSON,"JSON",!0)},function(t,e,i){var o=i(41)("meta"),n=i(28),s=i(22),r=i(20).f,a=0,h=Object.isExtensible||function(){return!0},d=!i(29)(function(){return h(Object.preventExtensions({}))}),l=function(t){r(t,o,{value:{i:"O"+ ++a,w:{}}})},u=function(t,e){if(!n(t))return"symbol"==typeof t?t:("string"==typeof t?"S":"P")+t;if(!s(t,o)){if(!h(t))return"F";if(!e)return"E";l(t)}return t[o].i},c=function(t,e){if(!s(t,o)){if(!h(t))return!0;if(!e)return!1;l(t)}return t[o].w},p=function(t){return d&&f.NEED&&h(t)&&!s(t,o)&&l(t),t},f=t.exports={KEY:o,NEED:!1,fastKey:u,getWeak:c,onFreeze:p}},function(t,e,i){var o=i(33),n=i(63),s=i(43);t.exports=function(t){var e=o(t),i=n.f;if(i)for(var r,a=i(t),h=s.f,d=0;a.length>d;)h.call(t,r=a[d++])&&e.push(r);return e}},function(t,e,i){var o=i(51);t.exports=Array.isArray||function(t){return"Array"==o(t)}},function(t,e,i){var o=i(25),n=i(88).f,s={}.toString,r="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],a=function(t){try{return n(t)}catch(t){return r.slice()}};t.exports.f=function(t){return r&&"[object Window]"==s.call(t)?a(t):n(o(t))}},function(t,e){},function(t,e,i){i(62)("asyncIterator")},function(t,e,i){i(62)("observable")},function(t,e,i){(function(t){!function(e,i){t.exports=i()}(0,function(){function e(){return Co.apply(null,arguments)}function i(t){return t instanceof Array||"[object Array]"===Object.prototype.toString.call(t)}function o(t){return null!=t&&"[object Object]"===Object.prototype.toString.call(t)}function n(t){if(Object.getOwnPropertyNames)return 0===Object.getOwnPropertyNames(t).length;var e;for(e in t)if(t.hasOwnProperty(e))return!1;return!0}function s(t){return void 0===t}function r(t){return"number"==typeof t||"[object Number]"===Object.prototype.toString.call(t)}function a(t){return t instanceof Date||"[object Date]"===Object.prototype.toString.call(t)}function h(t,e){var i,o=[];for(i=0;i0)for(i=0;i0?"future":"past"];return D(i)?i(e):i.replace(/%s/i,e)}function A(t,e){var i=t.toLowerCase();Lo[i]=Lo[i+"s"]=Lo[e]=t}function z(t){return"string"==typeof t?Lo[t]||Lo[t.toLowerCase()]:void 0}function L(t){var e,i,o={};for(i in t)d(t,i)&&(e=z(i))&&(o[e]=t[i]);return o}function F(t,e){Fo[t]=e}function B(t){var e=[];for(var i in t)e.push({unit:i,priority:Fo[i]});return e.sort(function(t,e){return t.priority-e.priority}),e}function j(t,e,i){var o=""+Math.abs(t),n=e-o.length;return(t>=0?i?"+":"":"-")+Math.pow(10,Math.max(0,n)).toString().substr(1)+o}function H(t,e,i,o){var n=o;"string"==typeof o&&(n=function(){return this[o]()}),t&&(Wo[t]=n),e&&(Wo[e[0]]=function(){return j(n.apply(this,arguments),e[1],e[2])}),i&&(Wo[i]=function(){return this.localeData().ordinal(n.apply(this,arguments),t)})}function W(t){return t.match(/\[[\s\S]/)?t.replace(/^\[|\]$/g,""):t.replace(/\\/g,"")}function Y(t){var e,i,o=t.match(Bo);for(e=0,i=o.length;e=0&&jo.test(t);)t=t.replace(jo,i),jo.lastIndex=0,o-=1;return t}function U(t,e,i){an[t]=D(e)?e:function(t,o){return t&&i?i:e}}function q(t,e){return d(an,t)?an[t](e._strict,e._locale):new RegExp(X(t))}function X(t){return Z(t.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(t,e,i,o,n){return e||i||o||n}))}function Z(t){return t.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function K(t,e){var i,o=e;for("string"==typeof t&&(t=[t]),r(e)&&(o=function(t,i){i[e]=_(t)}),i=0;i=0&&isFinite(a.getFullYear())&&a.setFullYear(t),a}function _t(t){var e=new Date(Date.UTC.apply(null,arguments));return t<100&&t>=0&&isFinite(e.getUTCFullYear())&&e.setUTCFullYear(t),e}function wt(t,e,i){var o=7+e-i;return-(7+_t(t,0,o).getUTCDay()-e)%7+o-1}function xt(t,e,i,o,n){var s,r,a=(7+i-o)%7,h=wt(t,o,n),d=1+7*(e-1)+a+h;return d<=0?(s=t-1,r=Q(s)+d):d>Q(t)?(s=t+1,r=d-Q(t)):(s=t,r=d),{year:s,dayOfYear:r}}function kt(t,e,i){var o,n,s=wt(t.year(),e,i),r=Math.floor((t.dayOfYear()-s-1)/7)+1;return r<1?(n=t.year()-1,o=r+St(n,e,i)):r>St(t.year(),e,i)?(o=r-St(t.year(),e,i),n=t.year()+1):(n=t.year(),o=r),{week:o,year:n}}function St(t,e,i){var o=wt(t,e,i),n=wt(t+1,e,i);return(Q(t)-o+n)/7}function Dt(t){return kt(t,this._week.dow,this._week.doy).week}function Mt(){return this._week.dow}function Ct(){return this._week.doy}function Ot(t){var e=this.localeData().week(this);return null==t?e:this.add(7*(t-e),"d")}function Et(t){var e=kt(this,1,4).week;return null==t?e:this.add(7*(t-e),"d")}function Tt(t,e){return"string"!=typeof t?t:isNaN(t)?(t=e.weekdaysParse(t),"number"==typeof t?t:null):parseInt(t,10)}function Pt(t,e){return"string"==typeof t?e.weekdaysParse(t)%7||7:isNaN(t)?null:t}function It(t,e){return t?i(this._weekdays)?this._weekdays[t.day()]:this._weekdays[this._weekdays.isFormat.test(e)?"format":"standalone"][t.day()]:i(this._weekdays)?this._weekdays:this._weekdays.standalone}function Nt(t){return t?this._weekdaysShort[t.day()]:this._weekdaysShort}function Rt(t){return t?this._weekdaysMin[t.day()]:this._weekdaysMin}function At(t,e,i){var o,n,s,r=t.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],o=0;o<7;++o)s=u([2e3,1]).day(o),this._minWeekdaysParse[o]=this.weekdaysMin(s,"").toLocaleLowerCase(),this._shortWeekdaysParse[o]=this.weekdaysShort(s,"").toLocaleLowerCase(),this._weekdaysParse[o]=this.weekdays(s,"").toLocaleLowerCase();return i?"dddd"===e?(n=yn.call(this._weekdaysParse,r),-1!==n?n:null):"ddd"===e?(n=yn.call(this._shortWeekdaysParse,r),-1!==n?n:null):(n=yn.call(this._minWeekdaysParse,r),-1!==n?n:null):"dddd"===e?-1!==(n=yn.call(this._weekdaysParse,r))?n:-1!==(n=yn.call(this._shortWeekdaysParse,r))?n:(n=yn.call(this._minWeekdaysParse,r),-1!==n?n:null):"ddd"===e?-1!==(n=yn.call(this._shortWeekdaysParse,r))?n:-1!==(n=yn.call(this._weekdaysParse,r))?n:(n=yn.call(this._minWeekdaysParse,r),-1!==n?n:null):-1!==(n=yn.call(this._minWeekdaysParse,r))?n:-1!==(n=yn.call(this._weekdaysParse,r))?n:(n=yn.call(this._shortWeekdaysParse,r),-1!==n?n:null)}function zt(t,e,i){var o,n,s;if(this._weekdaysParseExact)return At.call(this,t,e,i);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),o=0;o<7;o++){if(n=u([2e3,1]).day(o),i&&!this._fullWeekdaysParse[o]&&(this._fullWeekdaysParse[o]=new RegExp("^"+this.weekdays(n,"").replace(".","\\.?")+"$","i"),this._shortWeekdaysParse[o]=new RegExp("^"+this.weekdaysShort(n,"").replace(".","\\.?")+"$","i"),this._minWeekdaysParse[o]=new RegExp("^"+this.weekdaysMin(n,"").replace(".","\\.?")+"$","i")),this._weekdaysParse[o]||(s="^"+this.weekdays(n,"")+"|^"+this.weekdaysShort(n,"")+"|^"+this.weekdaysMin(n,""),this._weekdaysParse[o]=new RegExp(s.replace(".",""),"i")),i&&"dddd"===e&&this._fullWeekdaysParse[o].test(t))return o;if(i&&"ddd"===e&&this._shortWeekdaysParse[o].test(t))return o;if(i&&"dd"===e&&this._minWeekdaysParse[o].test(t))return o;if(!i&&this._weekdaysParse[o].test(t))return o}}function Lt(t){if(!this.isValid())return null!=t?this:NaN;var e=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=t?(t=Tt(t,this.localeData()),this.add(t-e,"d")):e}function Ft(t){if(!this.isValid())return null!=t?this:NaN;var e=(this.day()+7-this.localeData()._week.dow)%7;return null==t?e:this.add(t-e,"d")}function Bt(t){if(!this.isValid())return null!=t?this:NaN;if(null!=t){var e=Pt(t,this.localeData());return this.day(this.day()%7?e:e-7)}return this.day()||7}function jt(t){return this._weekdaysParseExact?(d(this,"_weekdaysRegex")||Yt.call(this),t?this._weekdaysStrictRegex:this._weekdaysRegex):(d(this,"_weekdaysRegex")||(this._weekdaysRegex=En),this._weekdaysStrictRegex&&t?this._weekdaysStrictRegex:this._weekdaysRegex)}function Ht(t){return this._weekdaysParseExact?(d(this,"_weekdaysRegex")||Yt.call(this),t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(d(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=Tn),this._weekdaysShortStrictRegex&&t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)}function Wt(t){return this._weekdaysParseExact?(d(this,"_weekdaysRegex")||Yt.call(this),t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(d(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=Pn),this._weekdaysMinStrictRegex&&t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)}function Yt(){function t(t,e){return e.length-t.length}var e,i,o,n,s,r=[],a=[],h=[],d=[];for(e=0;e<7;e++)i=u([2e3,1]).day(e),o=this.weekdaysMin(i,""),n=this.weekdaysShort(i,""),s=this.weekdays(i,""),r.push(o),a.push(n),h.push(s),d.push(o),d.push(n),d.push(s);for(r.sort(t),a.sort(t),h.sort(t),d.sort(t),e=0;e<7;e++)a[e]=Z(a[e]),h[e]=Z(h[e]),d[e]=Z(d[e]);this._weekdaysRegex=new RegExp("^("+d.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+h.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+a.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+r.join("|")+")","i")}function Gt(){return this.hours()%12||12}function Vt(){return this.hours()||24}function Ut(t,e){H(t,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),e)})}function qt(t,e){return e._meridiemParse}function Xt(t){return"p"===(t+"").toLowerCase().charAt(0)}function Zt(t,e,i){return t>11?i?"pm":"PM":i?"am":"AM"}function Kt(t){return t?t.toLowerCase().replace("_","-"):t}function Jt(t){for(var e,i,o,n,s=0;s0;){if(o=$t(n.slice(0,e).join("-")))return o;if(i&&i.length>=e&&w(n,i,!0)>=e-1)break;e--}s++}return In}function $t(e){var i=null;if(!zn[e]&&void 0!==t&&t&&t.exports)try{i=In._abbr;!function(){var t=new Error('Cannot find module "./locale"');throw t.code="MODULE_NOT_FOUND",t}(),Qt(i)}catch(t){}return zn[e]}function Qt(t,e){var i;return t&&(i=s(e)?ie(t):te(t,e),i?In=i:"undefined"!=typeof console&&console.warn&&console.warn("Locale "+t+" not found. Did you forget to load it?")),In._abbr}function te(t,e){if(null!==e){var i,o=An;if(e.abbr=t,null!=zn[t])S("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),o=zn[t]._config;else if(null!=e.parentLocale)if(null!=zn[e.parentLocale])o=zn[e.parentLocale]._config;else{if(null==(i=$t(e.parentLocale)))return Ln[e.parentLocale]||(Ln[e.parentLocale]=[]),Ln[e.parentLocale].push({name:t,config:e}),null;o=i._config}return zn[t]=new O(C(o,e)),Ln[t]&&Ln[t].forEach(function(t){te(t.name,t.config)}),Qt(t),zn[t]}return delete zn[t],null}function ee(t,e){if(null!=e){var i,o,n=An;o=$t(t),null!=o&&(n=o._config),e=C(n,e),i=new O(e),i.parentLocale=zn[t],zn[t]=i,Qt(t)}else null!=zn[t]&&(null!=zn[t].parentLocale?zn[t]=zn[t].parentLocale:null!=zn[t]&&delete zn[t]);return zn[t]}function ie(t){var e;if(t&&t._locale&&t._locale._abbr&&(t=t._locale._abbr),!t)return In;if(!i(t)){if(e=$t(t))return e;t=[t]}return Jt(t)}function oe(){return Io(zn)}function ne(t){var e,i=t._a;return i&&-2===p(t).overflow&&(e=i[ln]<0||i[ln]>11?ln:i[un]<1||i[un]>ht(i[dn],i[ln])?un:i[cn]<0||i[cn]>24||24===i[cn]&&(0!==i[pn]||0!==i[fn]||0!==i[mn])?cn:i[pn]<0||i[pn]>59?pn:i[fn]<0||i[fn]>59?fn:i[mn]<0||i[mn]>999?mn:-1,p(t)._overflowDayOfYear&&(eun)&&(e=un),p(t)._overflowWeeks&&-1===e&&(e=vn),p(t)._overflowWeekday&&-1===e&&(e=gn),p(t).overflow=e),t}function se(t,e,i){return null!=t?t:null!=e?e:i}function re(t){var i=new Date(e.now());return t._useUTC?[i.getUTCFullYear(),i.getUTCMonth(),i.getUTCDate()]:[i.getFullYear(),i.getMonth(),i.getDate()]}function ae(t){var e,i,o,n,s,r=[];if(!t._d){for(o=re(t),t._w&&null==t._a[un]&&null==t._a[ln]&&he(t),null!=t._dayOfYear&&(s=se(t._a[dn],o[dn]),(t._dayOfYear>Q(s)||0===t._dayOfYear)&&(p(t)._overflowDayOfYear=!0),i=_t(s,0,t._dayOfYear),t._a[ln]=i.getUTCMonth(),t._a[un]=i.getUTCDate()),e=0;e<3&&null==t._a[e];++e)t._a[e]=r[e]=o[e];for(;e<7;e++)t._a[e]=r[e]=null==t._a[e]?2===e?1:0:t._a[e];24===t._a[cn]&&0===t._a[pn]&&0===t._a[fn]&&0===t._a[mn]&&(t._nextDay=!0,t._a[cn]=0),t._d=(t._useUTC?_t:bt).apply(null,r),n=t._useUTC?t._d.getUTCDay():t._d.getDay(),null!=t._tzm&&t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),t._nextDay&&(t._a[cn]=24),t._w&&void 0!==t._w.d&&t._w.d!==n&&(p(t).weekdayMismatch=!0)}}function he(t){var e,i,o,n,s,r,a,h;if(e=t._w,null!=e.GG||null!=e.W||null!=e.E)s=1,r=4,i=se(e.GG,t._a[dn],kt(De(),1,4).year),o=se(e.W,1),((n=se(e.E,1))<1||n>7)&&(h=!0);else{s=t._locale._week.dow,r=t._locale._week.doy;var d=kt(De(),s,r);i=se(e.gg,t._a[dn],d.year),o=se(e.w,d.week),null!=e.d?((n=e.d)<0||n>6)&&(h=!0):null!=e.e?(n=e.e+s,(e.e<0||e.e>6)&&(h=!0)):n=s}o<1||o>St(i,s,r)?p(t)._overflowWeeks=!0:null!=h?p(t)._overflowWeekday=!0:(a=xt(i,o,n,s,r),t._a[dn]=a.year,t._dayOfYear=a.dayOfYear)}function de(t){var e,i,o,n,s,r,a=t._i,h=Fn.exec(a)||Bn.exec(a);if(h){for(p(t).iso=!0,e=0,i=Hn.length;e0&&p(t).unusedInput.push(r),a=a.slice(a.indexOf(o)+o.length),d+=o.length),Wo[s]?(o?p(t).empty=!1:p(t).unusedTokens.push(s),$(s,o,t)):t._strict&&!o&&p(t).unusedTokens.push(s);p(t).charsLeftOver=h-d,a.length>0&&p(t).unusedInput.push(a),t._a[cn]<=12&&!0===p(t).bigHour&&t._a[cn]>0&&(p(t).bigHour=void 0),p(t).parsedDateParts=t._a.slice(0),p(t).meridiem=t._meridiem,t._a[cn]=ye(t._locale,t._a[cn],t._meridiem),ae(t),ne(t)}function ye(t,e,i){var o;return null==i?e:null!=t.meridiemHour?t.meridiemHour(e,i):null!=t.isPM?(o=t.isPM(i),o&&e<12&&(e+=12),o||12!==e||(e=0),e):e}function be(t){var e,i,o,n,s;if(0===t._f.length)return p(t).invalidFormat=!0,void(t._d=new Date(NaN));for(n=0;nthis.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function Ue(){if(!s(this._isDSTShifted))return this._isDSTShifted;var t={};if(v(t,this),t=xe(t),t._a){var e=t._isUTC?u(t._a):De(t._a);this._isDSTShifted=this.isValid()&&w(t._a,e.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted}function qe(){return!!this.isValid()&&!this._isUTC}function Xe(){return!!this.isValid()&&this._isUTC}function Ze(){return!!this.isValid()&&(this._isUTC&&0===this._offset)}function Ke(t,e){var i,o,n,s=t,a=null;return Ne(t)?s={ms:t._milliseconds,d:t._days,M:t._months}:r(t)?(s={},e?s[e]=t:s.milliseconds=t):(a=Jn.exec(t))?(i="-"===a[1]?-1:1,s={y:0,d:_(a[un])*i,h:_(a[cn])*i,m:_(a[pn])*i,s:_(a[fn])*i,ms:_(Re(1e3*a[mn]))*i}):(a=$n.exec(t))?(i="-"===a[1]?-1:(a[1],1),s={y:Je(a[2],i),M:Je(a[3],i),w:Je(a[4],i),d:Je(a[5],i),h:Je(a[6],i),m:Je(a[7],i),s:Je(a[8],i)}):null==s?s={}:"object"==typeof s&&("from"in s||"to"in s)&&(n=Qe(De(s.from),De(s.to)),s={},s.ms=n.milliseconds,s.M=n.months),o=new Ie(s),Ne(t)&&d(t,"_locale")&&(o._locale=t._locale),o}function Je(t,e){var i=t&&parseFloat(t.replace(",","."));return(isNaN(i)?0:i)*e}function $e(t,e){var i={milliseconds:0,months:0};return i.months=e.month()-t.month()+12*(e.year()-t.year()),t.clone().add(i.months,"M").isAfter(e)&&--i.months,i.milliseconds=+e-+t.clone().add(i.months,"M"),i}function Qe(t,e){var i;return t.isValid()&&e.isValid()?(e=Le(e,t),t.isBefore(e)?i=$e(t,e):(i=$e(e,t),i.milliseconds=-i.milliseconds,i.months=-i.months),i):{milliseconds:0,months:0}}function ti(t,e){return function(i,o){var n,s;return null===o||isNaN(+o)||(S(e,"moment()."+e+"(period, number) is deprecated. Please use moment()."+e+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),s=i,i=o,o=s),i="string"==typeof i?+i:i,n=Ke(i,o),ei(this,n,t),this}}function ei(t,i,o,n){var s=i._milliseconds,r=Re(i._days),a=Re(i._months);t.isValid()&&(n=null==n||n,a&&pt(t,ot(t,"Month")+a*o),r&&nt(t,"Date",ot(t,"Date")+r*o),s&&t._d.setTime(t._d.valueOf()+s*o),n&&e.updateOffset(t,r||a))}function ii(t,e){var i=t.diff(e,"days",!0);return i<-6?"sameElse":i<-1?"lastWeek":i<0?"lastDay":i<1?"sameDay":i<2?"nextDay":i<7?"nextWeek":"sameElse"}function oi(t,i){var o=t||De(),n=Le(o,this).startOf("day"),s=e.calendarFormat(this,n)||"sameElse",r=i&&(D(i[s])?i[s].call(this,o):i[s]);return this.format(r||this.localeData().calendar(s,this,De(o)))}function ni(){return new g(this)}function si(t,e){var i=y(t)?t:De(t);return!(!this.isValid()||!i.isValid())&&(e=z(s(e)?"millisecond":e),"millisecond"===e?this.valueOf()>i.valueOf():i.valueOf()9999?G(i,e?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"):D(Date.prototype.toISOString)?e?this.toDate().toISOString():new Date(this.valueOf()+60*this.utcOffset()*1e3).toISOString().replace("Z",G(i,"Z")):G(i,e?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ")}function mi(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var t="moment",e="";this.isLocal()||(t=0===this.utcOffset()?"moment.utc":"moment.parseZone",e="Z");var i="["+t+'("]',o=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",n=e+'[")]';return this.format(i+o+"-MM-DD[T]HH:mm:ss.SSS"+n)}function vi(t){t||(t=this.isUtc()?e.defaultFormatUtc:e.defaultFormat);var i=G(this,t);return this.localeData().postformat(i)}function gi(t,e){return this.isValid()&&(y(t)&&t.isValid()||De(t).isValid())?Ke({to:this,from:t}).locale(this.locale()).humanize(!e):this.localeData().invalidDate()}function yi(t){return this.from(De(),t)}function bi(t,e){return this.isValid()&&(y(t)&&t.isValid()||De(t).isValid())?Ke({from:this,to:t}).locale(this.locale()).humanize(!e):this.localeData().invalidDate()}function _i(t){return this.to(De(),t)}function wi(t){var e;return void 0===t?this._locale._abbr:(e=ie(t),null!=e&&(this._locale=e),this)}function xi(){return this._locale}function ki(t){switch(t=z(t)){case"year":this.month(0);case"quarter":case"month":this.date(1);case"week":case"isoWeek":case"day":case"date":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}function Si(t){return void 0===(t=z(t))||"millisecond"===t?this:("date"===t&&(t="day"),this.startOf(t).add(1,"isoWeek"===t?"week":t).subtract(1,"ms"))}function Di(){return this._d.valueOf()-6e4*(this._offset||0)}function Mi(){return Math.floor(this.valueOf()/1e3)}function Ci(){return new Date(this.valueOf())}function Oi(){var t=this;return[t.year(),t.month(),t.date(),t.hour(),t.minute(),t.second(),t.millisecond()]}function Ei(){var t=this;return{years:t.year(),months:t.month(),date:t.date(),hours:t.hours(),minutes:t.minutes(),seconds:t.seconds(),milliseconds:t.milliseconds()}}function Ti(){return this.isValid()?this.toISOString():null}function Pi(){return f(this)}function Ii(){return l({},p(this))}function Ni(){return p(this).overflow}function Ri(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}}function Ai(t,e){H(0,[t,t.length],0,e)}function zi(t){return ji.call(this,t,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)}function Li(t){return ji.call(this,t,this.isoWeek(),this.isoWeekday(),1,4)}function Fi(){return St(this.year(),1,4)}function Bi(){var t=this.localeData()._week;return St(this.year(),t.dow,t.doy)}function ji(t,e,i,o,n){var s;return null==t?kt(this,o,n).year:(s=St(t,o,n),e>s&&(e=s),Hi.call(this,t,e,i,o,n))}function Hi(t,e,i,o,n){var s=xt(t,e,i,o,n),r=_t(s.year,0,s.dayOfYear);return this.year(r.getUTCFullYear()),this.month(r.getUTCMonth()),this.date(r.getUTCDate()),this}function Wi(t){return null==t?Math.ceil((this.month()+1)/3):this.month(3*(t-1)+this.month()%3)}function Yi(t){var e=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==t?e:this.add(t-e,"d")}function Gi(t,e){e[mn]=_(1e3*("0."+t))}function Vi(){return this._isUTC?"UTC":""}function Ui(){return this._isUTC?"Coordinated Universal Time":""}function qi(t){return De(1e3*t)}function Xi(){return De.apply(null,arguments).parseZone()}function Zi(t){return t}function Ki(t,e,i,o){var n=ie(),s=u().set(o,e);return n[i](s,t)}function Ji(t,e,i){if(r(t)&&(e=t,t=void 0),t=t||"",null!=e)return Ki(t,e,i,"month");var o,n=[];for(o=0;o<12;o++)n[o]=Ki(t,o,i,"month");return n}function $i(t,e,i,o){"boolean"==typeof t?(r(e)&&(i=e,e=void 0),e=e||""):(e=t,i=e,t=!1,r(e)&&(i=e,e=void 0),e=e||"");var n=ie(),s=t?n._week.dow:0;if(null!=i)return Ki(e,(i+s)%7,o,"day");var a,h=[];for(a=0;a<7;a++)h[a]=Ki(e,(a+s)%7,o,"day");return h}function Qi(t,e){return Ji(t,e,"months")}function to(t,e){return Ji(t,e,"monthsShort")}function eo(t,e,i){return $i(t,e,i,"weekdays")}function io(t,e,i){ -return $i(t,e,i,"weekdaysShort")}function oo(t,e,i){return $i(t,e,i,"weekdaysMin")}function no(){var t=this._data;return this._milliseconds=ds(this._milliseconds),this._days=ds(this._days),this._months=ds(this._months),t.milliseconds=ds(t.milliseconds),t.seconds=ds(t.seconds),t.minutes=ds(t.minutes),t.hours=ds(t.hours),t.months=ds(t.months),t.years=ds(t.years),this}function so(t,e,i,o){var n=Ke(e,i);return t._milliseconds+=o*n._milliseconds,t._days+=o*n._days,t._months+=o*n._months,t._bubble()}function ro(t,e){return so(this,t,e,1)}function ao(t,e){return so(this,t,e,-1)}function ho(t){return t<0?Math.floor(t):Math.ceil(t)}function lo(){var t,e,i,o,n,s=this._milliseconds,r=this._days,a=this._months,h=this._data;return s>=0&&r>=0&&a>=0||s<=0&&r<=0&&a<=0||(s+=864e5*ho(co(a)+r),r=0,a=0),h.milliseconds=s%1e3,t=b(s/1e3),h.seconds=t%60,e=b(t/60),h.minutes=e%60,i=b(e/60),h.hours=i%24,r+=b(i/24),n=b(uo(r)),a+=n,r-=ho(co(n)),o=b(a/12),a%=12,h.days=r,h.months=a,h.years=o,this}function uo(t){return 4800*t/146097}function co(t){return 146097*t/4800}function po(t){if(!this.isValid())return NaN;var e,i,o=this._milliseconds;if("month"===(t=z(t))||"year"===t)return e=this._days+o/864e5,i=this._months+uo(e),"month"===t?i:i/12;switch(e=this._days+Math.round(co(this._months)),t){case"week":return e/7+o/6048e5;case"day":return e+o/864e5;case"hour":return 24*e+o/36e5;case"minute":return 1440*e+o/6e4;case"second":return 86400*e+o/1e3;case"millisecond":return Math.floor(864e5*e)+o;default:throw new Error("Unknown unit "+t)}}function fo(){return this.isValid()?this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*_(this._months/12):NaN}function mo(t){return function(){return this.as(t)}}function vo(){return Ke(this)}function go(t){return t=z(t),this.isValid()?this[t+"s"]():NaN}function yo(t){return function(){return this.isValid()?this._data[t]:NaN}}function bo(){return b(this.days()/7)}function _o(t,e,i,o,n){return n.relativeTime(e||1,!!i,t,o)}function wo(t,e,i){var o=Ke(t).abs(),n=Ds(o.as("s")),s=Ds(o.as("m")),r=Ds(o.as("h")),a=Ds(o.as("d")),h=Ds(o.as("M")),d=Ds(o.as("y")),l=n<=Ms.ss&&["s",n]||n0,l[4]=i,_o.apply(null,l)}function xo(t){return void 0===t?Ds:"function"==typeof t&&(Ds=t,!0)}function ko(t,e){return void 0!==Ms[t]&&(void 0===e?Ms[t]:(Ms[t]=e,"s"===t&&(Ms.ss=e-1),!0))}function So(t){if(!this.isValid())return this.localeData().invalidDate();var e=this.localeData(),i=wo(this,!t,e);return t&&(i=e.pastFuture(+this,i)),e.postformat(i)}function Do(t){return(t>0)-(t<0)||+t}function Mo(){if(!this.isValid())return this.localeData().invalidDate();var t,e,i,o=Cs(this._milliseconds)/1e3,n=Cs(this._days),s=Cs(this._months);t=b(o/60),e=b(t/60),o%=60,t%=60,i=b(s/12),s%=12;var r=i,a=s,h=n,d=e,l=t,u=o?o.toFixed(3).replace(/\.?0+$/,""):"",c=this.asSeconds();if(!c)return"P0D";var p=c<0?"-":"",f=Do(this._months)!==Do(c)?"-":"",m=Do(this._days)!==Do(c)?"-":"",v=Do(this._milliseconds)!==Do(c)?"-":"";return p+"P"+(r?f+r+"Y":"")+(a?f+a+"M":"")+(h?m+h+"D":"")+(d||l||u?"T":"")+(d?v+d+"H":"")+(l?v+l+"M":"")+(u?v+u+"S":"")}var Co,Oo;Oo=Array.prototype.some?Array.prototype.some:function(t){for(var e=Object(this),i=e.length>>>0,o=0;o68?1900:2e3)};var yn,bn=it("FullYear",!0);yn=Array.prototype.indexOf?Array.prototype.indexOf:function(t){var e;for(e=0;ethis?this:t:m()}),Xn=function(){return Date.now?Date.now():+new Date},Zn=["year","quarter","month","week","day","hour","minute","second","millisecond"];Ae("Z",":"),Ae("ZZ",""),U("Z",nn),U("ZZ",nn),K(["Z","ZZ"],function(t,e,i){i._useUTC=!0,i._tzm=ze(nn,t)});var Kn=/([\+\-]|\d\d)/gi;e.updateOffset=function(){};var Jn=/^(\-|\+)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d*)?)?$/,$n=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;Ke.fn=Ie.prototype,Ke.invalid=Pe;var Qn=ti(1,"add"),ts=ti(-1,"subtract");e.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",e.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";var es=k("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(t){return void 0===t?this.localeData():this.locale(t)});H(0,["gg",2],0,function(){return this.weekYear()%100}),H(0,["GG",2],0,function(){return this.isoWeekYear()%100}),Ai("gggg","weekYear"),Ai("ggggg","weekYear"),Ai("GGGG","isoWeekYear"),Ai("GGGGG","isoWeekYear"),A("weekYear","gg"),A("isoWeekYear","GG"),F("weekYear",1),F("isoWeekYear",1),U("G",en),U("g",en),U("GG",Xo,Go),U("gg",Xo,Go),U("GGGG",$o,Uo),U("gggg",$o,Uo),U("GGGGG",Qo,qo),U("ggggg",Qo,qo),J(["gggg","ggggg","GGGG","GGGGG"],function(t,e,i,o){e[o.substr(0,2)]=_(t)}),J(["gg","GG"],function(t,i,o,n){i[n]=e.parseTwoDigitYear(t)}),H("Q",0,"Qo","quarter"),A("quarter","Q"),F("quarter",7),U("Q",Yo),K("Q",function(t,e){e[ln]=3*(_(t)-1)}),H("D",["DD",2],"Do","date"),A("date","D"),F("date",9),U("D",Xo),U("DD",Xo,Go),U("Do",function(t,e){return t?e._dayOfMonthOrdinalParse||e._ordinalParse:e._dayOfMonthOrdinalParseLenient}),K(["D","DD"],un),K("Do",function(t,e){e[un]=_(t.match(Xo)[0])});var is=it("Date",!0);H("DDD",["DDDD",3],"DDDo","dayOfYear"),A("dayOfYear","DDD"),F("dayOfYear",4),U("DDD",Jo),U("DDDD",Vo),K(["DDD","DDDD"],function(t,e,i){i._dayOfYear=_(t)}),H("m",["mm",2],0,"minute"),A("minute","m"),F("minute",14),U("m",Xo),U("mm",Xo,Go),K(["m","mm"],pn);var os=it("Minutes",!1);H("s",["ss",2],0,"second"),A("second","s"),F("second",15),U("s",Xo),U("ss",Xo,Go),K(["s","ss"],fn);var ns=it("Seconds",!1);H("S",0,0,function(){return~~(this.millisecond()/100)}),H(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),H(0,["SSS",3],0,"millisecond"),H(0,["SSSS",4],0,function(){return 10*this.millisecond()}),H(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),H(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),H(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),H(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),H(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),A("millisecond","ms"),F("millisecond",16),U("S",Jo,Yo),U("SS",Jo,Go),U("SSS",Jo,Vo);var ss;for(ss="SSSS";ss.length<=9;ss+="S")U(ss,tn);for(ss="S";ss.length<=9;ss+="S")K(ss,Gi);var rs=it("Milliseconds",!1);H("z",0,0,"zoneAbbr"),H("zz",0,0,"zoneName");var as=g.prototype;as.add=Qn,as.calendar=oi,as.clone=ni,as.diff=ui,as.endOf=Si,as.format=vi,as.from=gi,as.fromNow=yi,as.to=bi,as.toNow=_i,as.get=st,as.invalidAt=Ni,as.isAfter=si,as.isBefore=ri,as.isBetween=ai,as.isSame=hi,as.isSameOrAfter=di,as.isSameOrBefore=li,as.isValid=Pi,as.lang=es,as.locale=wi,as.localeData=xi,as.max=qn,as.min=Un,as.parsingFlags=Ii,as.set=rt,as.startOf=ki,as.subtract=ts,as.toArray=Oi,as.toObject=Ei,as.toDate=Ci,as.toISOString=fi,as.inspect=mi,as.toJSON=Ti,as.toString=pi,as.unix=Mi,as.valueOf=Di,as.creationData=Ri,as.year=bn,as.isLeapYear=et,as.weekYear=zi,as.isoWeekYear=Li,as.quarter=as.quarters=Wi,as.month=ft,as.daysInMonth=mt,as.week=as.weeks=Ot,as.isoWeek=as.isoWeeks=Et,as.weeksInYear=Bi,as.isoWeeksInYear=Fi,as.date=is,as.day=as.days=Lt,as.weekday=Ft,as.isoWeekday=Bt,as.dayOfYear=Yi,as.hour=as.hours=Rn,as.minute=as.minutes=os,as.second=as.seconds=ns,as.millisecond=as.milliseconds=rs,as.utcOffset=Be,as.utc=He,as.local=We,as.parseZone=Ye,as.hasAlignedHourOffset=Ge,as.isDST=Ve,as.isLocal=qe,as.isUtcOffset=Xe,as.isUtc=Ze,as.isUTC=Ze,as.zoneAbbr=Vi,as.zoneName=Ui,as.dates=k("dates accessor is deprecated. Use date instead.",is),as.months=k("months accessor is deprecated. Use month instead",ft),as.years=k("years accessor is deprecated. Use year instead",bn),as.zone=k("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",je),as.isDSTShifted=k("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",Ue);var hs=O.prototype;hs.calendar=E,hs.longDateFormat=T,hs.invalidDate=P,hs.ordinal=I,hs.preparse=Zi,hs.postformat=Zi,hs.relativeTime=N,hs.pastFuture=R,hs.set=M,hs.months=dt,hs.monthsShort=lt,hs.monthsParse=ct,hs.monthsRegex=gt,hs.monthsShortRegex=vt,hs.week=Dt,hs.firstDayOfYear=Ct,hs.firstDayOfWeek=Mt,hs.weekdays=It,hs.weekdaysMin=Rt,hs.weekdaysShort=Nt,hs.weekdaysParse=zt,hs.weekdaysRegex=jt,hs.weekdaysShortRegex=Ht,hs.weekdaysMinRegex=Wt,hs.isPM=Xt,hs.meridiem=Zt,Qt("en",{dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(t){var e=t%10;return t+(1===_(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th")}}),e.lang=k("moment.lang is deprecated. Use moment.locale instead.",Qt),e.langData=k("moment.langData is deprecated. Use moment.localeData instead.",ie);var ds=Math.abs,ls=mo("ms"),us=mo("s"),cs=mo("m"),ps=mo("h"),fs=mo("d"),ms=mo("w"),vs=mo("M"),gs=mo("y"),ys=yo("milliseconds"),bs=yo("seconds"),_s=yo("minutes"),ws=yo("hours"),xs=yo("days"),ks=yo("months"),Ss=yo("years"),Ds=Math.round,Ms={ss:44,s:45,m:45,h:22,d:26,M:11},Cs=Math.abs,Os=Ie.prototype;return Os.isValid=Te,Os.abs=no,Os.add=ro,Os.subtract=ao,Os.as=po,Os.asMilliseconds=ls,Os.asSeconds=us,Os.asMinutes=cs,Os.asHours=ps,Os.asDays=fs,Os.asWeeks=ms,Os.asMonths=vs,Os.asYears=gs,Os.valueOf=fo,Os._bubble=lo,Os.clone=vo,Os.get=go,Os.milliseconds=ys,Os.seconds=bs,Os.minutes=_s,Os.hours=ws,Os.days=xs,Os.weeks=bo,Os.months=ks,Os.years=Ss,Os.humanize=So,Os.toISOString=Mo,Os.toString=Mo,Os.toJSON=Mo,Os.locale=wi,Os.localeData=xi,Os.toIsoString=k("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",Mo),Os.lang=es,H("X",0,0,"unix"),H("x",0,0,"valueOf"),U("x",en),U("X",sn),K("X",function(t,e,i){i._d=new Date(1e3*parseFloat(t,10))}),K("x",function(t,e,i){i._d=new Date(_(t))}),e.version="2.22.2",function(t){Co=t}(De),e.fn=as,e.min=Ce,e.max=Oe,e.now=Xn,e.utc=u,e.unix=qi,e.months=Qi,e.isDate=a,e.locale=Qt,e.invalid=m,e.duration=Ke,e.isMoment=y,e.weekdays=eo,e.parseZone=Xi,e.localeData=ie,e.isDuration=Ne,e.monthsShort=to,e.weekdaysMin=oo,e.defineLocale=te,e.updateLocale=ee,e.locales=oe,e.weekdaysShort=io,e.normalizeUnits=z,e.relativeTimeRounding=xo,e.relativeTimeThreshold=ko,e.calendarFormat=ii,e.prototype=as,e.HTML5_FMT={DATETIME_LOCAL:"YYYY-MM-DDTHH:mm",DATETIME_LOCAL_SECONDS:"YYYY-MM-DDTHH:mm:ss",DATETIME_LOCAL_MS:"YYYY-MM-DDTHH:mm:ss.SSS",DATE:"YYYY-MM-DD",TIME:"HH:mm",TIME_SECONDS:"HH:mm:ss",TIME_MS:"HH:mm:ss.SSS",WEEK:"YYYY-[W]WW",MONTH:"YYYY-MM"},e})}).call(e,i(155)(t))},function(t,e){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children||(t.children=[]),Object.defineProperty(t,"loaded",{enumerable:!0,get:function(){return t.l}}),Object.defineProperty(t,"id",{enumerable:!0,get:function(){return t.i}}),t.webpackPolyfill=1),t}},function(t,e){function i(t){throw new Error("Cannot find module '"+t+"'.")}i.keys=function(){return[]},i.resolve=i,t.exports=i,i.id=156},function(t,e,i){(function(e){function i(t,e,i){var o=e&&i||0,n=0;for(e=e||[],t.toLowerCase().replace(/[0-9a-f]{2}/g,function(t){n<16&&(e[o+n++]=u[t])});n<16;)e[o+n++]=0;return e}function o(t,e){var i=e||0,o=l;return o[t[i++]]+o[t[i++]]+o[t[i++]]+o[t[i++]]+"-"+o[t[i++]]+o[t[i++]]+"-"+o[t[i++]]+o[t[i++]]+"-"+o[t[i++]]+o[t[i++]]+"-"+o[t[i++]]+o[t[i++]]+o[t[i++]]+o[t[i++]]+o[t[i++]]+o[t[i++]]}function n(t,e,i){var n=e&&i||0,s=e||[];t=t||{};var r=void 0!==t.clockseq?t.clockseq:m,a=void 0!==t.msecs?t.msecs:(new Date).getTime(),h=void 0!==t.nsecs?t.nsecs:g+1,d=a-v+(h-g)/1e4;if(d<0&&void 0===t.clockseq&&(r=r+1&16383),(d<0||a>v)&&void 0===t.nsecs&&(h=0),h>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");v=a,g=h,m=r,a+=122192928e5;var l=(1e4*(268435455&a)+h)%4294967296;s[n++]=l>>>24&255,s[n++]=l>>>16&255,s[n++]=l>>>8&255,s[n++]=255&l;var u=a/4294967296*1e4&268435455;s[n++]=u>>>8&255,s[n++]=255&u,s[n++]=u>>>24&15|16,s[n++]=u>>>16&255,s[n++]=r>>>8|128,s[n++]=255&r;for(var c=t.node||f,p=0;p<6;p++)s[n+p]=c[p];return e||o(s)}function s(t,e,i){var n=e&&i||0;"string"==typeof t&&(e="binary"==t?new Array(16):null,t=null),t=t||{};var s=t.random||(t.rng||r)();if(s[6]=15&s[6]|64,s[8]=63&s[8]|128,e)for(var a=0;a<16;a++)e[n+a]=s[a];return e||o(s)}var r,a="undefined"!=typeof window?window:void 0!==e?e:null;if(a&&a.crypto&&crypto.getRandomValues){var h=new Uint8Array(16);r=function(){return crypto.getRandomValues(h),h}}if(!r){var d=new Array(16);r=function(){for(var t,e=0;e<16;e++)0==(3&e)&&(t=4294967296*Math.random()),d[e]=t>>>((3&e)<<3)&255;return d}}for(var l=[],u={},c=0;c<256;c++)l[c]=(c+256).toString(16).substr(1),u[l[c]]=c;var p=r(),f=[1|p[0],p[1],p[2],p[3],p[4],p[5]],m=16383&(p[6]<<8|p[7]),v=0,g=0,y=s;y.v1=n,y.v4=s,y.parse=i,y.unparse=o,t.exports=y}).call(e,i(158))},function(t,e){var i;i=function(){return this}();try{i=i||Function("return this")()||(0,eval)("this")}catch(t){"object"==typeof window&&(i=window)}t.exports=i},function(t,e,i){e.util=i(2),e.DOMutil=i(14),e.DataSet=i(11),e.DataView=i(12),e.Queue=i(44),e.Graph3d=i(161),e.graph3d={Camera:i(95),Filter:i(96),Point2d:i(91),Point3d:i(34),Slider:i(92),StepNumber:i(93)},e.moment=i(9),e.Hammer=i(10),e.keycharm=i(35)},function(t,e,i){var o=i(7),n=o.JSON||(o.JSON={stringify:JSON.stringify});t.exports=function(t){return n.stringify.apply(n,arguments)}},function(t,e,i){function o(t,e,i){if(!(this instanceof o))throw new SyntaxError("Constructor must be called with the new operator");this.containerElement=t,this.dataGroup=new _,this.dataPoints=null,this.create(),f.setDefaults(o.DEFAULTS,this),this.colX=void 0,this.colY=void 0,this.colZ=void 0,this.colValue=void 0,this.setOptions(i),this.setData(e)}function n(t){return"clientX"in t?t.clientX:t.targetTouches[0]&&t.targetTouches[0].clientX||0}function s(t){return"clientY"in t?t.clientY:t.targetTouches[0]&&t.targetTouches[0].clientY||0}var r=i(90),a=function(t){return t&&t.__esModule?t:{default:t}}(r),h=i(45),d=i(2),l=i(34),u=i(91),c=i(92),p=i(93),f=i(94),m=i(15).default,v=i(15),g=v.printStyle,y=i(172),b=y.allOptions,_=i(173);o.STYLE=f.STYLE;o.DEFAULTS={width:"400px",height:"400px",filterLabel:"time",legendLabel:"value",xLabel:"x",yLabel:"y",zLabel:"z",xValueLabel:function(t){return t},yValueLabel:function(t){return t},zValueLabel:function(t){return t},showXAxis:!0,showYAxis:!0,showZAxis:!0,showGrid:!0,showPerspective:!0,showShadow:!1,keepAspectRatio:!0,verticalRatio:.5,dotSizeRatio:.02,dotSizeMinFraction:.5,dotSizeMaxFraction:2.5,showAnimationControls:void 0,animationInterval:1e3,animationPreload:!1,animationAutoStart:void 0,axisColor:"#4D4D4D",gridColor:"#D3D3D3",xCenter:"55%",yCenter:"50%",style:o.STYLE.DOT,tooltip:!1,tooltipStyle:{content:{padding:"10px",border:"1px solid #4d4d4d",color:"#1a1a1a",background:"rgba(255,255,255,0.7)",borderRadius:"2px",boxShadow:"5px 5px 10px rgba(128,128,128,0.5)"},line:{height:"40px",width:"0",borderLeft:"1px solid #4d4d4d"},dot:{height:"0",width:"0",border:"5px solid #4d4d4d",borderRadius:"5px"}},dataColor:{fill:"#7DC1FF",stroke:"#3267D2",strokeWidth:1},cameraPosition:{horizontal:1,vertical:.5,distance:1.7},showLegend:void 0,backgroundColor:void 0,xBarWidth:void 0,yBarWidth:void 0,valueMin:void 0,valueMax:void 0,xMin:void 0,xMax:void 0,xStep:void 0,yMin:void 0,yMax:void 0,yStep:void 0,zMin:void 0,zMax:void 0,zStep:void 0},h(o.prototype),o.prototype._setScale=function(){this.scale=new l(1/this.xRange.range(),1/this.yRange.range(),1/this.zRange.range()),this.keepAspectRatio&&(this.scale.x0&&(r[n-1].pointNext=r[n]);return r},o.prototype.create=function(){for(;this.containerElement.hasChildNodes();)this.containerElement.removeChild(this.containerElement.firstChild);this.frame=document.createElement("div"),this.frame.style.position="relative",this.frame.style.overflow="hidden",this.frame.canvas=document.createElement("canvas"),this.frame.canvas.style.position="relative",this.frame.appendChild(this.frame.canvas);var t=document.createElement("DIV");t.style.color="red",t.style.fontWeight="bold",t.style.padding="10px",t.innerHTML="Error: your browser does not support HTML canvas",this.frame.canvas.appendChild(t),this.frame.filter=document.createElement("div"),this.frame.filter.style.position="absolute",this.frame.filter.style.bottom="0px",this.frame.filter.style.left="0px",this.frame.filter.style.width="100%",this.frame.appendChild(this.frame.filter);var e=this,i=function(t){e._onMouseDown(t)},o=function(t){e._onTouchStart(t)},n=function(t){e._onWheel(t)},s=function(t){e._onTooltip(t)},r=function(t){e._onClick(t)};d.addEventListener(this.frame.canvas,"mousedown",i),d.addEventListener(this.frame.canvas,"touchstart",o),d.addEventListener(this.frame.canvas,"mousewheel",n),d.addEventListener(this.frame.canvas,"mousemove",s),d.addEventListener(this.frame.canvas,"click",r),this.containerElement.appendChild(this.frame)},o.prototype._setSize=function(t,e){this.frame.style.width=t,this.frame.style.height=e,this._resizeCanvas()},o.prototype._resizeCanvas=function(){this.frame.canvas.style.width="100%",this.frame.canvas.style.height="100%",this.frame.canvas.width=this.frame.canvas.clientWidth,this.frame.canvas.height=this.frame.canvas.clientHeight,this.frame.filter.style.width=this.frame.canvas.clientWidth-20+"px"},o.prototype.animationStart=function(){if(this.animationAutoStart&&this.dataGroup.dataFilter){if(!this.frame.filter||!this.frame.filter.slider)throw new Error("No animation available");this.frame.filter.slider.play()}},o.prototype.animationStop=function(){this.frame.filter&&this.frame.filter.slider&&this.frame.filter.slider.stop()},o.prototype._resizeCenter=function(){"%"===this.xCenter.charAt(this.xCenter.length-1)?this.currentXCenter=parseFloat(this.xCenter)/100*this.frame.canvas.clientWidth:this.currentXCenter=parseFloat(this.xCenter),"%"===this.yCenter.charAt(this.yCenter.length-1)?this.currentYCenter=parseFloat(this.yCenter)/100*(this.frame.canvas.clientHeight-this.frame.filter.clientHeight):this.currentYCenter=parseFloat(this.yCenter)},o.prototype.getCameraPosition=function(){var t=this.camera.getArmRotation();return t.distance=this.camera.getArmLength(),t},o.prototype._readData=function(t){this.dataPoints=this.dataGroup.initializeData(this,t,this.style),this._initializeRanges(),this._redrawFilter()},o.prototype.setData=function(t){void 0!==t&&null!==t&&(this._readData(t),this.redraw(),this.animationStart())},o.prototype.setOptions=function(t){if(void 0!==t){!0===m.validate(t,b)&&console.log("%cErrors have been found in the supplied options object.",g),this.animationStop(),f.setOptions(t,this),this.setPointDrawingMethod(),this._setSize(this.width,this.height),this.setData(this.dataGroup.getDataTable()),this.animationStart()}},o.prototype.setPointDrawingMethod=function(){var t=void 0;switch(this.style){case o.STYLE.BAR:t=o.prototype._redrawBarGraphPoint;break;case o.STYLE.BARCOLOR:t=o.prototype._redrawBarColorGraphPoint;break;case o.STYLE.BARSIZE:t=o.prototype._redrawBarSizeGraphPoint;break;case o.STYLE.DOT:t=o.prototype._redrawDotGraphPoint;break;case o.STYLE.DOTLINE:t=o.prototype._redrawDotLineGraphPoint;break;case o.STYLE.DOTCOLOR:t=o.prototype._redrawDotColorGraphPoint;break;case o.STYLE.DOTSIZE:t=o.prototype._redrawDotSizeGraphPoint;break;case o.STYLE.SURFACE:t=o.prototype._redrawSurfaceGraphPoint;break;case o.STYLE.GRID:t=o.prototype._redrawGridGraphPoint;break;case o.STYLE.LINE:t=o.prototype._redrawLineGraphPoint;break;default:throw new Error("Can not determine point drawing method for graph style '"+this.style+"'")}this._pointDrawingMethod=t},o.prototype.redraw=function(){if(void 0===this.dataPoints)throw new Error("Graph data not initialized");this._resizeCanvas(),this._resizeCenter(),this._redrawSlider(),this._redrawClear(),this._redrawAxis(),this._redrawDataGraph(),this._redrawInfo(),this._redrawLegend()},o.prototype._getContext=function(){var t=this.frame.canvas,e=t.getContext("2d");return e.lineJoin="round",e.lineCap="round",e},o.prototype._redrawClear=function(){var t=this.frame.canvas;t.getContext("2d").clearRect(0,0,t.width,t.height)},o.prototype._dotSize=function(){return this.frame.clientWidth*this.dotSizeRatio},o.prototype._getLegendWidth=function(){var t;if(this.style===o.STYLE.DOTSIZE){t=this._dotSize()*this.dotSizeMaxFraction}else t=this.style===o.STYLE.BARSIZE?this.xBarWidth:20;return t},o.prototype._redrawLegend=function(){if(!0===this.showLegend&&this.style!==o.STYLE.LINE&&this.style!==o.STYLE.BARSIZE){var t=this.style===o.STYLE.BARSIZE||this.style===o.STYLE.DOTSIZE,e=this.style===o.STYLE.DOTSIZE||this.style===o.STYLE.DOTCOLOR||this.style===o.STYLE.BARCOLOR,i=Math.max(.25*this.frame.clientHeight,100),n=this.margin,s=this._getLegendWidth(),r=this.frame.clientWidth-this.margin,a=r-s,h=n+i,d=this._getContext();if(d.lineWidth=1,d.font="14px arial",!1===t){var l,c=i;for(l=0;l0?(t.textAlign="center",t.textBaseline="top",s.y+=n):Math.sin(2*o)<0?(t.textAlign="right",t.textBaseline="middle"):(t.textAlign="left",t.textBaseline="middle"),t.fillStyle=this.axisColor,t.fillText(i,s.x,s.y)},o.prototype.drawAxisLabelY=function(t,e,i,o,n){void 0===n&&(n=0);var s=this._convert3Dto2D(e);Math.cos(2*o)<0?(t.textAlign="center",t.textBaseline="top",s.y+=n):Math.sin(2*o)>0?(t.textAlign="right",t.textBaseline="middle"):(t.textAlign="left",t.textBaseline="middle"),t.fillStyle=this.axisColor,t.fillText(i,s.x,s.y)},o.prototype.drawAxisLabelZ=function(t,e,i,o){void 0===o&&(o=0);var n=this._convert3Dto2D(e);t.textAlign="right",t.textBaseline="middle",t.fillStyle=this.axisColor,t.fillText(i,n.x-o,n.y)},o.prototype._line3d=function(t,e,i,o){var n=this._convert3Dto2D(e),s=this._convert3Dto2D(i);this._line(t,n,s,o)},o.prototype._redrawAxis=function(){var t,e,i,o,n,s,r,a,h,d,c,f=this._getContext();f.font=24/this.camera.getArmLength()+"px arial";var m,v=.025/this.scale.x,g=.025/this.scale.y,y=5/this.camera.getArmLength(),b=this.camera.getArmRotation().horizontal,_=new u(Math.cos(b),Math.sin(b)),w=this.xRange,x=this.yRange,k=this.zRange;for(f.lineWidth=1,o=void 0===this.defaultXStep,i=new p(w.min,w.max,this.xStep,o),i.start(!0);!i.end();){var S=i.getCurrent();if(this.showGrid?(t=new l(S,x.min,k.min),e=new l(S,x.max,k.min),this._line3d(f,t,e,this.gridColor)):this.showXAxis&&(t=new l(S,x.min,k.min),e=new l(S,x.min+v,k.min),this._line3d(f,t,e,this.axisColor),t=new l(S,x.max,k.min),e=new l(S,x.max-v,k.min),this._line3d(f,t,e,this.axisColor)),this.showXAxis){r=_.x>0?x.min:x.max,m=new l(S,r,k.min);var D=" "+this.xValueLabel(S)+" ";this.drawAxisLabelX(f,m,D,b,y)}i.next()}for(f.lineWidth=1,o=void 0===this.defaultYStep,i=new p(x.min,x.max,this.yStep,o),i.start(!0);!i.end();){var M=i.getCurrent();if(this.showGrid?(t=new l(w.min,M,k.min),e=new l(w.max,M,k.min),this._line3d(f,t,e,this.gridColor)):this.showYAxis&&(t=new l(w.min,M,k.min),e=new l(w.min+g,M,k.min),this._line3d(f,t,e,this.axisColor),t=new l(w.max,M,k.min),e=new l(w.max-g,M,k.min),this._line3d(f,t,e,this.axisColor)),this.showYAxis){s=_.y>0?w.min:w.max,m=new l(s,M,k.min);var C=" "+this.yValueLabel(M)+" ";this.drawAxisLabelY(f,m,C,b,y)}i.next()}if(this.showZAxis){for(f.lineWidth=1,o=void 0===this.defaultZStep,i=new p(k.min,k.max,this.zStep,o),i.start(!0),s=_.x>0?w.min:w.max,r=_.y<0?x.min:x.max;!i.end();){var O=i.getCurrent(),E=new l(s,r,O),T=this._convert3Dto2D(E);e=new u(T.x-y,T.y),this._line(f,T,e,this.axisColor);var P=this.zValueLabel(O)+" ";this.drawAxisLabelZ(f,E,P,5),i.next()}f.lineWidth=1,t=new l(s,r,k.min),e=new l(s,r,k.max),this._line3d(f,t,e,this.axisColor)}if(this.showXAxis){var I,N;f.lineWidth=1,I=new l(w.min,x.min,k.min),N=new l(w.max,x.min,k.min),this._line3d(f,I,N,this.axisColor),I=new l(w.min,x.max,k.min),N=new l(w.max,x.max,k.min),this._line3d(f,I,N,this.axisColor)}this.showYAxis&&(f.lineWidth=1,t=new l(w.min,x.min,k.min),e=new l(w.min,x.max,k.min),this._line3d(f,t,e,this.axisColor),t=new l(w.max,x.min,k.min),e=new l(w.max,x.max,k.min),this._line3d(f,t,e,this.axisColor));var R=this.xLabel;R.length>0&&this.showXAxis&&(c=.1/this.scale.y,s=(w.max+3*w.min)/4,r=_.x>0?x.min-c:x.max+c,n=new l(s,r,k.min),this.drawAxisLabelX(f,n,R,b));var A=this.yLabel;A.length>0&&this.showYAxis&&(d=.1/this.scale.x,s=_.y>0?w.min-d:w.max+d,r=(x.max+3*x.min)/4,n=new l(s,r,k.min),this.drawAxisLabelY(f,n,A,b));var z=this.zLabel;z.length>0&&this.showZAxis&&(h=30,s=_.x>0?w.min:w.max,r=_.y<0?x.min:x.max,a=(k.max+3*k.min)/4,n=new l(s,r,a),this.drawAxisLabelZ(f,n,z,h))},o.prototype._hsv2rgb=function(t,e,i){var o,n,s,r,a,h;switch(r=i*e,a=Math.floor(t/60),h=r*(1-Math.abs(t/60%2-1)),a){case 0:o=r,n=h,s=0;break;case 1:o=h,n=r,s=0;break;case 2:o=0,n=r,s=h;break;case 3:o=0,n=h,s=r;break;case 4:o=h,n=0,s=r;break;case 5:o=r,n=0,s=h;break;default:o=0,n=0,s=0}return"RGB("+parseInt(255*o)+","+parseInt(255*n)+","+parseInt(255*s)+")"},o.prototype._getStrokeWidth=function(t){return void 0!==t?this.showPerspective?1/-t.trans.z*this.dataColor.strokeWidth:-this.eye.z/this.camera.getArmLength()*this.dataColor.strokeWidth:this.dataColor.strokeWidth},o.prototype._redrawBar=function(t,e,i,o,n,s){var r,a=this,h=e.point,d=this.zRange.min,u=[{point:new l(h.x-i,h.y-o,h.z)},{point:new l(h.x+i,h.y-o,h.z)},{point:new l(h.x+i,h.y+o,h.z)},{point:new l(h.x-i,h.y+o,h.z)}],c=[{point:new l(h.x-i,h.y-o,d)},{point:new l(h.x+i,h.y-o,d)},{point:new l(h.x+i,h.y+o,d)},{point:new l(h.x-i,h.y+o,d)}];u.forEach(function(t){t.screen=a._convert3Dto2D(t.point)}),c.forEach(function(t){t.screen=a._convert3Dto2D(t.point)});var p=[{corners:u,center:l.avg(c[0].point,c[2].point)},{corners:[u[0],u[1],c[1],c[0]],center:l.avg(c[1].point,c[0].point)},{corners:[u[1],u[2],c[2],c[1]],center:l.avg(c[2].point,c[1].point)},{corners:[u[2],u[3],c[3],c[2]],center:l.avg(c[3].point,c[2].point)},{corners:[u[3],u[0],c[0],c[3]],center:l.avg(c[0].point,c[3].point)}];e.surfaces=p;for(var f=0;f0}if(a){var p,f=(e.point.z+i.point.z+o.point.z+n.point.z)/4,m=240*(1-(f-this.zRange.min)*this.scale.z/this.verticalRatio);this.showShadow?(p=Math.min(1+u.x/c/2,1),s=this._hsv2rgb(m,1,p),r=s):(p=1,s=this._hsv2rgb(m,1,p),r=this.axisColor)}else s="gray",r=this.axisColor;t.lineWidth=this._getStrokeWidth(e);var v=[e,i,n,o];this._polygon(t,v,s,r)}},o.prototype._drawGridLine=function(t,e,i){if(void 0!==e&&void 0!==i){var o=(e.point.z+i.point.z)/2,n=240*(1-(o-this.zRange.min)*this.scale.z/this.verticalRatio);t.lineWidth=2*this._getStrokeWidth(e),t.strokeStyle=this._hsv2rgb(n,1,1),this._line(t,e.screen,i.screen)}},o.prototype._redrawGridGraphPoint=function(t,e){this._drawGridLine(t,e,e.pointRight),this._drawGridLine(t,e,e.pointTop)},o.prototype._redrawLineGraphPoint=function(t,e){void 0!==e.pointNext&&(t.lineWidth=this._getStrokeWidth(e),t.strokeStyle=this.dataColor.stroke,this._line(t,e.screen,e.pointNext.screen))},o.prototype._redrawDataGraph=function(){var t,e=this._getContext();if(!(void 0===this.dataPoints||this.dataPoints.length<=0))for(this._calcTranslations(this.dataPoints),t=0;t0?1:t<0?-1:0}var o=e[0],n=e[1],s=e[2],r=i((n.x-o.x)*(t.y-o.y)-(n.y-o.y)*(t.x-o.x)),a=i((s.x-n.x)*(t.y-n.y)-(s.y-n.y)*(t.x-n.x)),h=i((o.x-s.x)*(t.y-s.y)-(o.y-s.y)*(t.x-s.x));return!(0!=r&&0!=a&&r!=a||0!=a&&0!=h&&a!=h||0!=r&&0!=h&&r!=h)},o.prototype._dataPointFromXY=function(t,e){var i,n=null,s=null,r=null,a=new u(t,e);if(this.style===o.STYLE.BAR||this.style===o.STYLE.BARCOLOR||this.style===o.STYLE.BARSIZE)for(i=this.dataPoints.length-1;i>=0;i--){n=this.dataPoints[i];var h=n.surfaces;if(h)for(var d=h.length-1;d>=0;d--){var l=h[d],c=l.corners,p=[c[0].screen,c[1].screen,c[2].screen],f=[c[2].screen,c[3].screen,c[0].screen];if(this._insideTriangle(a,p)||this._insideTriangle(a,f))return n}}else for(i=0;i"+this.xLabel+":"+t.point.x+""+this.yLabel+":"+t.point.y+""+this.zLabel+":"+t.point.z+"",e.style.left="0",e.style.top="0",this.frame.appendChild(e),this.frame.appendChild(i),this.frame.appendChild(o);var n=e.offsetWidth,s=e.offsetHeight,r=i.offsetHeight,h=o.offsetWidth,d=o.offsetHeight,l=t.screen.x-n/2;l=Math.min(Math.max(l,10),this.frame.clientWidth-10-n),i.style.left=t.screen.x+"px",i.style.top=t.screen.y-r+"px",e.style.left=l+"px",e.style.top=t.screen.y-r-s+"px",o.style.left=t.screen.x-h/2+"px",o.style.top=t.screen.y-d/2+"px"},o.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)}}},o.prototype.setCameraPosition=function(t){f.setCameraPosition(t,this),this.redraw()},o.prototype.setSize=function(t,e){this._setSize(t,e),this.redraw()},t.exports=o},function(t,e,i){i(163),t.exports=i(7).Object.assign},function(t,e,i){var o=i(17);o(o.S+o.F,"Object",{assign:i(164)})},function(t,e,i){var o=i(33),n=i(63),s=i(43),r=i(42),a=i(78),h=Object.assign;t.exports=!h||i(29)(function(){var t={},e={},i=Symbol(),o="abcdefghijklmnopqrst";return t[i]=7,o.split("").forEach(function(t){e[t]=t}),7!=h({},t)[i]||Object.keys(h({},e)).join("")!=o})?function(t,e){for(var i=r(t),h=arguments.length,d=1,l=n.f,u=s.f;h>d;)for(var c,p=a(arguments[d++]),f=l?o(p).concat(l(p)):o(p),m=f.length,v=0;m>v;)u.call(p,c=f[v++])&&(i[c]=p[c]);return i}:h},function(t,e,i){t.exports={default:i(166),__esModule:!0}},function(t,e,i){i(167),t.exports=i(7).Math.sign},function(t,e,i){var o=i(17);o(o.S,"Math",{sign:i(168)})},function(t,e){t.exports=Math.sign||function(t){return 0==(t=+t)||t!=t?t:t<0?-1:1}},function(t,e,i){t.exports={default:i(170),__esModule:!0}},function(t,e,i){i(171);var o=i(7).Object;t.exports=function(t,e,i){return o.defineProperty(t,e,i)}},function(t,e,i){var o=i(17);o(o.S+o.F*!i(21),"Object",{defineProperty:i(20).f})},function(t,e,i){Object.defineProperty(e,"__esModule",{value:!0});var o="string",n="boolean",s="number",r={fill:{string:o},stroke:{string:o},strokeWidth:{number:s},__type__:{string:o,object:"object",undefined:"undefined"}},a={animationAutoStart:{boolean:n,undefined:"undefined"},animationInterval:{number:s},animationPreload:{boolean:n},axisColor:{string:o},backgroundColor:r,xBarWidth:{number:s,undefined:"undefined"},yBarWidth:{number:s,undefined:"undefined"},cameraPosition:{distance:{number:s},horizontal:{number:s},vertical:{number:s},__type__:{object:"object"}},xCenter:{string:o},yCenter:{string:o},dataColor:r,dotSizeMinFraction:{number:s},dotSizeMaxFraction:{number:s},dotSizeRatio:{number:s},filterLabel:{string:o},gridColor:{string:o},onclick:{function:"function"},keepAspectRatio:{boolean:n},xLabel:{string:o},yLabel:{string:o},zLabel:{string:o},legendLabel:{string:o},xMin:{number:s,undefined:"undefined"},yMin:{number:s,undefined:"undefined"},zMin:{number:s,undefined:"undefined"},xMax:{number:s,undefined:"undefined"},yMax:{number:s,undefined:"undefined"},zMax:{number:s,undefined:"undefined"},showAnimationControls:{boolean:n,undefined:"undefined"},showGrid:{boolean:n},showLegend:{boolean:n,undefined:"undefined"},showPerspective:{boolean:n},showShadow:{boolean:n},showXAxis:{boolean:n},showYAxis:{boolean:n},showZAxis:{boolean:n},xStep:{number:s,undefined:"undefined"},yStep:{number:s,undefined:"undefined"},zStep:{number:s,undefined:"undefined"},style:{number:s,string:["bar","bar-color","bar-size","dot","dot-line","dot-color","dot-size","line","grid","surface"]},tooltip:{boolean:n,function:"function"},tooltipStyle:{content:{color:{string:o},background:{string:o},border:{string:o},borderRadius:{string:o},boxShadow:{string:o},padding:{string:o},__type__:{object:"object"}},line:{borderLeft:{string:o},height:{string:o},width:{string:o},__type__:{object:"object"}},dot:{border:{string:o},borderRadius:{string:o},height:{string:o},width:{string:o},__type__:{object:"object"}},__type__:{object:"object"}},xValueLabel:{function:"function"},yValueLabel:{function:"function"},zValueLabel:{function:"function"},valueMax:{number:s,undefined:"undefined"},valueMin:{number:s,undefined:"undefined"},verticalRatio:{number:s},height:{string:o},width:{string:o},__type__:{object:"object"}};e.allOptions=a},function(t,e,i){function o(){this.dataTable=null}var n=i(11),s=i(12),r=i(174),a=i(96),h=i(94),d=i(34);o.prototype.initializeData=function(t,e,i){if(void 0!==e){Array.isArray(e)&&(e=new n(e));var o;if(!(e instanceof n||e instanceof s))throw new Error("Array, DataSet, or DataView expected");if(o=e.get(),0!=o.length){this.style=i,this.dataSet&&this.dataSet.off("*",this._onChange),this.dataSet=e,this.dataTable=o;var r=this;this._onChange=function(){t.setData(r.dataSet)},this.dataSet.on("*",this._onChange),this.colX="x",this.colY="y",this.colZ="z";var h=t.hasBars(i);if(h&&(void 0!==t.defaultXBarWidth?this.xBarWidth=t.defaultXBarWidth:this.xBarWidth=this.getSmallestDifference(o,this.colX)||1,void 0!==t.defaultYBarWidth?this.yBarWidth=t.defaultYBarWidth:this.yBarWidth=this.getSmallestDifference(o,this.colY)||1),this._initializeRange(o,this.colX,t,h),this._initializeRange(o,this.colY,t,h),this._initializeRange(o,this.colZ,t,!1),o[0].hasOwnProperty("style")){this.colValue="style";var d=this.getColumnRange(o,this.colValue);this._setRangeDefaults(d,t.defaultValueMin,t.defaultValueMax),this.valueRange=d}this.getDataTable()[0].hasOwnProperty("filter")&&void 0===this.dataFilter&&(this.dataFilter=new a(this,"filter",t),this.dataFilter.setOnLoadCallback(function(){t.redraw()}));return this.dataFilter?this.dataFilter._getDataPoints():this._getDataPoints(this.getDataTable())}}},o.prototype._collectRangeSettings=function(t,e){if(-1==["x","y","z"].indexOf(t))throw new Error("Column '"+t+"' invalid");var i=t.toUpperCase();return{barWidth:this[t+"BarWidth"],min:e["default"+i+"Min"],max:e["default"+i+"Max"],step:e["default"+i+"Step"],range_label:t+"Range",step_label:t+"Step"}},o.prototype._initializeRange=function(t,e,i,o){var n=this._collectRangeSettings(e,i),s=this.getColumnRange(t,e);o&&"z"!=e&&s.expand(n.barWidth/2),this._setRangeDefaults(s,n.min,n.max),this[n.range_label]=s,this[n.step_label]=void 0!==n.step?n.step:s.range()/5},o.prototype.getDistinctValues=function(t,e){void 0===e&&(e=this.dataTable);for(var i=[],o=0;os)&&(o=s)}return o},o.prototype.getColumnRange=function(t,e){for(var i=new r,o=0;o0&&(e[i-1].pointNext=e[i]);return e},o.prototype._checkValueField=function(t){if(this.style===h.STYLE.BARCOLOR||this.style===h.STYLE.BARSIZE||this.style===h.STYLE.DOTCOLOR||this.style===h.STYLE.DOTSIZE){if(void 0===this.colValue)throw new Error("Expected data to have field 'style' for graph style '"+this.style+"'");if(void 0===t[0][this.colValue])throw new Error("Expected data to have field '"+this.colValue+"' for graph style '"+this.style+"'")}},t.exports=o},function(t,e,i){function o(){this.min=void 0,this.max=void 0}o.prototype.adjust=function(t){void 0!==t&&((void 0===this.min||this.min>t)&&(this.min=t),(void 0===this.max||this.maxi)throw new Error("Passed expansion value makes range invalid");this.min=e,this.max=i}},o.prototype.range=function(){return this.max-this.min},o.prototype.center=function(){return(this.min+this.max)/2},t.exports=o},function(t,e,i){var o,n,s;!function(i){n=[],o=i,void 0!==(s="function"==typeof o?o.apply(e,n):o)&&(t.exports=s)}(function(){var t=null;return function e(i,o){function n(t){return t.match(/[^ ]+/g)}function s(e){if("hammer.input"!==e.type){if(e.srcEvent._handled||(e.srcEvent._handled={}),e.srcEvent._handled[e.type])return;e.srcEvent._handled[e.type]=!0}var i=!1;e.stopPropagation=function(){i=!0};var o=e.srcEvent.stopPropagation.bind(e.srcEvent);"function"==typeof o&&(e.srcEvent.stopPropagation=function(){o(),e.stopPropagation()}),e.firstTarget=t;for(var n=t;n&&!i;){var s=n.hammer;if(s)for(var r,a=0;a0?d._handlers[t]=o:(i.off(t,s),delete d._handlers[t]))}),d},d.emit=function(e,o){t=o.target,i.emit(e,o)},d.destroy=function(){var t=i.element.hammer,e=t.indexOf(d);-1!==e&&t.splice(e,1),t.length||delete i.element.hammer,d._handlers={},i.destroy()},d}})},function(t,e,i){var o;!function(n,s,r,a){function h(t,e,i){return setTimeout(p(t,i),e)}function d(t,e,i){return!!Array.isArray(t)&&(l(t,i[e],i),!0)}function l(t,e,i){var o;if(t)if(t.forEach)t.forEach(e,i);else if(t.length!==a)for(o=0;o\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",s=n.console&&(n.console.warn||n.console.log);return s&&s.call(n.console,o,i),t.apply(this,arguments)}}function c(t,e,i){var o,n=e.prototype;o=t.prototype=Object.create(n),o.constructor=t,o._super=n,i&&ft(o,i)}function p(t,e){return function(){return t.apply(e,arguments)}}function f(t,e){return typeof t==gt?t.apply(e?e[0]||a:a,e):t}function m(t,e){return t===a?e:t}function v(t,e,i){l(_(e),function(e){t.addEventListener(e,i,!1)})}function g(t,e,i){l(_(e),function(e){t.removeEventListener(e,i,!1)})}function y(t,e){for(;t;){if(t==e)return!0;t=t.parentNode}return!1}function b(t,e){return t.indexOf(e)>-1}function _(t){return t.trim().split(/\s+/g)}function w(t,e,i){if(t.indexOf&&!i)return t.indexOf(e);for(var o=0;oi[e]}):o.sort()),o}function S(t,e){for(var i,o,n=e[0].toUpperCase()+e.slice(1),s=0;s1&&!i.firstMultiple?i.firstMultiple=N(e):1===n&&(i.firstMultiple=!1);var s=i.firstInput,r=i.firstMultiple,a=r?r.center:s.center,h=e.center=R(o);e.timeStamp=_t(),e.deltaTime=e.timeStamp-s.timeStamp,e.angle=F(a,h),e.distance=L(a,h),P(i,e),e.offsetDirection=z(e.deltaX,e.deltaY);var d=A(e.deltaTime,e.deltaX,e.deltaY);e.overallVelocityX=d.x,e.overallVelocityY=d.y,e.overallVelocity=bt(d.x)>bt(d.y)?d.x:d.y,e.scale=r?j(r.pointers,o):1,e.rotation=r?B(r.pointers,o):0,e.maxPointers=i.prevInput?e.pointers.length>i.prevInput.maxPointers?e.pointers.length:i.prevInput.maxPointers:e.pointers.length,I(i,e);var l=t.element;y(e.srcEvent.target,l)&&(l=e.srcEvent.target),e.target=l}function P(t,e){var i=e.center,o=t.offsetDelta||{},n=t.prevDelta||{},s=t.prevInput||{};e.eventType!==Et&&s.eventType!==Pt||(n=t.prevDelta={x:s.deltaX||0,y:s.deltaY||0},o=t.offsetDelta={x:i.x,y:i.y}),e.deltaX=n.x+(i.x-o.x),e.deltaY=n.y+(i.y-o.y)}function I(t,e){var i,o,n,s,r=t.lastInterval||e,h=e.timeStamp-r.timeStamp;if(e.eventType!=It&&(h>Ot||r.velocity===a)){var d=e.deltaX-r.deltaX,l=e.deltaY-r.deltaY,u=A(h,d,l);o=u.x,n=u.y,i=bt(u.x)>bt(u.y)?u.x:u.y,s=z(d,l),t.lastInterval=e}else i=r.velocity,o=r.velocityX,n=r.velocityY,s=r.direction;e.velocity=i,e.velocityX=o,e.velocityY=n,e.direction=s}function N(t){for(var e=[],i=0;i=bt(e)?t<0?Rt:At:e<0?zt:Lt}function L(t,e,i){i||(i=Ht);var o=e[i[0]]-t[i[0]],n=e[i[1]]-t[i[1]];return Math.sqrt(o*o+n*n)}function F(t,e,i){i||(i=Ht);var o=e[i[0]]-t[i[0]],n=e[i[1]]-t[i[1]];return 180*Math.atan2(n,o)/Math.PI}function B(t,e){return F(e[1],e[0],Wt)+F(t[1],t[0],Wt)}function j(t,e){return L(e[0],e[1],Wt)/L(t[0],t[1],Wt)}function H(){this.evEl=Gt,this.evWin=Vt,this.pressed=!1,C.apply(this,arguments)}function W(){this.evEl=Xt,this.evWin=Zt,C.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}function Y(){this.evTarget=Jt,this.evWin=$t,this.started=!1,C.apply(this,arguments)}function G(t,e){var i=x(t.touches),o=x(t.changedTouches);return e&(Pt|It)&&(i=k(i.concat(o),"identifier",!0)),[i,o]}function V(){this.evTarget=te,this.targetIds={},C.apply(this,arguments)}function U(t,e){var i=x(t.touches),o=this.targetIds;if(e&(Et|Tt)&&1===i.length)return o[i[0].identifier]=!0,[i,i];var n,s,r=x(t.changedTouches),a=[],h=this.target;if(s=i.filter(function(t){return y(t.target,h)}),e===Et)for(n=0;n-1&&o.splice(t,1)};setTimeout(n,ee)}}function K(t){for(var e=t.srcEvent.clientX,i=t.srcEvent.clientY,o=0;o-1&&this.requireFail.splice(e,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(t){return!!this.simultaneous[t.id]},emit:function(t){function e(e){i.manager.emit(e,t)}var i=this,o=this.state;o=fe&&e(i.options.event+tt(o))},tryEmit:function(t){if(this.canEmit())return this.emit(t);this.state=32},canEmit:function(){for(var t=0;te.threshold&&n&e.direction},attrTest:function(t){return ot.prototype.attrTest.call(this,t)&&(this.state&ce||!(this.state&ce)&&this.directionTest(t))},emit:function(t){this.pX=t.deltaX,this.pY=t.deltaY;var e=et(t.direction);e&&(t.additionalEvent=this.options.event+e),this._super.emit.call(this,t)}}),c(st,ot,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[ae]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.scale-1)>this.options.threshold||this.state&ce)},emit:function(t){if(1!==t.scale){var e=t.scale<1?"in":"out";t.additionalEvent=this.options.event+e}this._super.emit.call(this,t)}}),c(rt,Q,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return[se]},process:function(t){var e=this.options,i=t.pointers.length===e.pointers,o=t.distancee.time;if(this._input=t,!o||!i||t.eventType&(Pt|It)&&!n)this.reset();else if(t.eventType&Et)this.reset(),this._timer=h(function(){this.state=me,this.tryEmit()},e.time,this);else if(t.eventType&Pt)return me;return 32},reset:function(){clearTimeout(this._timer)},emit:function(t){this.state===me&&(t&&t.eventType&Pt?this.manager.emit(this.options.event+"up",t):(this._input.timeStamp=_t(),this.manager.emit(this.options.event,this._input)))}}),c(at,ot,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[ae]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.rotation)>this.options.threshold||this.state&ce)}}),c(ht,ot,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:Ft|Bt,pointers:1},getTouchAction:function(){return nt.prototype.getTouchAction.call(this)},attrTest:function(t){var e,i=this.options.direction;return i&(Ft|Bt)?e=t.overallVelocity:i&Ft?e=t.overallVelocityX:i&Bt&&(e=t.overallVelocityY),this._super.attrTest.call(this,t)&&i&t.offsetDirection&&t.distance>this.options.threshold&&t.maxPointers==this.options.pointers&&bt(e)>this.options.velocity&&t.eventType&Pt},emit:function(t){var e=et(t.offsetDirection);e&&this.manager.emit(this.options.event+e,t),this.manager.emit(this.options.event,t)}}),c(dt,Q,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[re]},process:function(t){var e=this.options,i=t.pointers.length===e.pointers,o=t.distanced+i?s+=h()+u-i+t.itemSet.options.margin.item.vertical:r=!1,s=Math.min(s,o-i),{shouldScroll:r,scrollOffset:s,itemTop:l}}var a=i(9),h=i(2),d=i(11),l=i(12),u=i(64),c=i(65),p=i(46),f=i(67),m=i(47),v=i(99),g=i(15).printStyle,y=i(105).allOptions,b=i(105).configureOptions,_=i(71).default,w=i(15).default;o.prototype=new c,o.prototype._createConfigurator=function(){return new _(this,this.dom.container,b)},o.prototype.redraw=function(){this.itemSet&&this.itemSet.markDirty({refreshItems:!0}),this._redraw()},o.prototype.setOptions=function(t){if(!0===w.validate(t,y)&&console.log("%cErrors have been found in the supplied options object.",g),c.prototype.setOptions.call(this,t),"type"in t&&t.type!==this.options.type){this.options.type=t.type;var e=this.itemsData;if(e){var i=this.getSelection();this.setItems(null),this.setItems(e),this.setSelection(i)}}},o.prototype.setItems=function(t){var e;e=t?t instanceof d||t instanceof l?t:new d(t,{type:{start:"Date",end:"Date"}}):null,this.itemsData=e,this.itemSet&&this.itemSet.setItems(e)},o.prototype.setGroups=function(t){var e;if(t){var i=function(t){return!1!==t.visible};e=t instanceof d||t instanceof l?new l(t,{filter:i}):new d(t.filter(i))}else e=null;this.groupsData=e,this.itemSet.setGroups(e)},o.prototype.setData=function(t){t&&t.groups&&this.setGroups(t.groups),t&&t.items&&this.setItems(t.items)},o.prototype.setSelection=function(t,e){this.itemSet&&this.itemSet.setSelection(t),e&&e.focus&&this.focus(t,e)},o.prototype.getSelection=function(){return this.itemSet&&this.itemSet.getSelection()||[]},o.prototype.focus=function(t,e){if(this.itemsData&&void 0!=t){var i=Array.isArray(t)?t:[t],o=this.itemsData.getDataSet().get(i,{type:{start:"Date",end:"Date"}}),n=null,s=null;if(o.forEach(function(t){var e=t.start.valueOf(),i="end"in t?t.end.valueOf():t.start.valueOf();(null===n||es)&&(s=i)}),null!==n&&null!==s){var a=this,h=this.itemSet.items[i[0]],d=-1*this._getScrollTop(),l=null,u=function(t,e,i){var o=r(a,h);if(l||(l=o),l.itemTop!=o.itemTop||l.shouldScroll){l.itemTop!=o.itemTop&&o.shouldScroll&&(l=o,d=-1*a._getScrollTop());var n=d,s=l.scrollOffset,u=i?s:n+(s-n)*t;a._setScrollTop(-u),e||a._redraw()}},c=function(){var t=r(a,h);t.shouldScroll&&t.itemTop!=l.itemTop&&(a._setScrollTop(-t.scrollOffset),a._redraw())},p=function(){c(),setTimeout(c,100)},f=(n+s)/2,m=Math.max(this.range.end-this.range.start,1.1*(s-n)),v=!e||void 0===e.animation||e.animation;v||(l={shouldScroll:!1,scrollOffset:-1,itemTop:-1}),this.range.setRange(f-m/2,f+m/2,{animation:v},p,u)}}},o.prototype.fit=function(t,e){var i,o=!t||void 0===t.animation||t.animation,n=this.itemsData&&this.itemsData.getDataSet();1===n.length&&void 0===n.get()[0].end?(i=this.getDataRange(),this.moveTo(i.min.valueOf(),{animation:o},e)):(i=this.getItemRange(),this.range.setRange(i.min,i.max,{animation:o},e))},o.prototype.getItemRange=function(){var t=this.getDataRange(),e=null!==t.min?t.min.valueOf():null,i=null!==t.max?t.max.valueOf():null,o=null,r=null;if(null!=e&&null!=i){var a=i-e;a<=0&&(a=10);var d=a/this.props.center.width,l={},u=0;h.forEach(this.itemSet.items,function(t,e){if(t.groupShowing){l[e]=t.redraw(!0),u=l[e].length}});if(u>0)for(var c=0;ci&&(i=h,r=t)}.bind(this)),o&&r){var p=o.getWidthLeft()+10,f=r.getWidthRight()+10,m=this.props.center.width-p-f;m>0&&(this.options.rtl?(e=n(o)-f*a/m,i=s(r)+p*a/m):(e=n(o)-p*a/m,i=s(r)+f*a/m))}}return{min:null!=e?new Date(e):null,max:null!=i?new Date(i):null}},o.prototype.getDataRange=function(){var t=null,e=null,i=this.itemsData&&this.itemsData.getDataSet();return i&&i.forEach(function(i){var o=h.convert(i.start,"Date").valueOf(),n=h.convert(void 0!=i.end?i.end:i.start,"Date").valueOf();(null===t||oe)&&(e=n)}),{min:null!=t?new Date(t):null,max:null!=e?new Date(e):null}},o.prototype.getEventProperties=function(t){var e,i=t.center?t.center.x:t.clientX,o=t.center?t.center.y:t.clientY;e=this.options.rtl?h.getAbsoluteRight(this.dom.centerContainer)-i:i-h.getAbsoluteLeft(this.dom.centerContainer);var n=o-h.getAbsoluteTop(this.dom.centerContainer),s=this.itemSet.itemFromTarget(t),r=this.itemSet.groupFromTarget(t),a=m.customTimeFromTarget(t),d=this.itemSet.options.snap||null,l=this.body.util.getScale(),u=this.body.util.getStep(),c=this._toTime(e),p=d?d(c,l,u):c,f=h.getTarget(t),v=null;return null!=s?v="item":null!=a?v="custom-time":h.hasParent(f,this.timeAxis.dom.foreground)?v="axis":this.timeAxis2&&h.hasParent(f,this.timeAxis2.dom.foreground)?v="axis":h.hasParent(f,this.itemSet.dom.labelSet)?v="group-label":h.hasParent(f,this.currentTime.bar)?v="current-time":h.hasParent(f,this.dom.center)&&(v="background"),{event:t,item:s?s.id:null,group:r?r.groupId:null,what:v,pageX:t.srcEvent?t.srcEvent.pageX:t.pageX,pageY:t.srcEvent?t.srcEvent.pageY:t.pageY,x:e,y:n,time:c,snappedTime:p}},o.prototype.toggleRollingMode=function(){this.range.rolling?this.range.stopRolling():(void 0==this.options.rollingMode&&this.setOptions(this.options),this.range.startRolling())},t.exports=o},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(19),s=o(n),r=i(0),a=o(r),h=i(1),d=o(h),l=i(10),u=i(37),c=i(2),p=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;(0,a.default)(this,t),this.pixelRatio=e,this.generated=!1,this.centerCoordinates={x:144.5,y:144.5},this.r=289*.49,this.color={r:255,g:255,b:255,a:1},this.hueCircle=void 0,this.initialColor={r:255,g:255,b:255,a:1},this.previousColor=void 0,this.applied=!1,this.updateCallback=function(){},this.closeCallback=function(){},this._create()}return(0,d.default)(t,[{key:"insertTo",value:function(t){void 0!==this.hammer&&(this.hammer.destroy(),this.hammer=void 0),this.container=t,this.container.appendChild(this.frame),this._bindHammer(),this._setSize()}},{key:"setUpdateCallback",value:function(t){if("function"!=typeof t)throw new Error("Function attempted to set as colorPicker update callback is not a function.");this.updateCallback=t}},{key:"setCloseCallback",value:function(t){if("function"!=typeof t)throw new Error("Function attempted to set as colorPicker closing callback is not a function.");this.closeCallback=t}},{key:"_isColorString",value:function(t){var e={black:"#000000",navy:"#000080",darkblue:"#00008B",mediumblue:"#0000CD",blue:"#0000FF",darkgreen:"#006400",green:"#008000",teal:"#008080",darkcyan:"#008B8B",deepskyblue:"#00BFFF",darkturquoise:"#00CED1",mediumspringgreen:"#00FA9A",lime:"#00FF00",springgreen:"#00FF7F",aqua:"#00FFFF",cyan:"#00FFFF",midnightblue:"#191970",dodgerblue:"#1E90FF",lightseagreen:"#20B2AA",forestgreen:"#228B22",seagreen:"#2E8B57",darkslategray:"#2F4F4F",limegreen:"#32CD32",mediumseagreen:"#3CB371",turquoise:"#40E0D0",royalblue:"#4169E1",steelblue:"#4682B4",darkslateblue:"#483D8B",mediumturquoise:"#48D1CC",indigo:"#4B0082",darkolivegreen:"#556B2F",cadetblue:"#5F9EA0",cornflowerblue:"#6495ED",mediumaquamarine:"#66CDAA",dimgray:"#696969",slateblue:"#6A5ACD",olivedrab:"#6B8E23",slategray:"#708090",lightslategray:"#778899",mediumslateblue:"#7B68EE",lawngreen:"#7CFC00",chartreuse:"#7FFF00",aquamarine:"#7FFFD4",maroon:"#800000",purple:"#800080",olive:"#808000",gray:"#808080",skyblue:"#87CEEB",lightskyblue:"#87CEFA",blueviolet:"#8A2BE2",darkred:"#8B0000",darkmagenta:"#8B008B",saddlebrown:"#8B4513",darkseagreen:"#8FBC8F",lightgreen:"#90EE90",mediumpurple:"#9370D8",darkviolet:"#9400D3",palegreen:"#98FB98",darkorchid:"#9932CC",yellowgreen:"#9ACD32",sienna:"#A0522D",brown:"#A52A2A",darkgray:"#A9A9A9",lightblue:"#ADD8E6",greenyellow:"#ADFF2F",paleturquoise:"#AFEEEE",lightsteelblue:"#B0C4DE",powderblue:"#B0E0E6",firebrick:"#B22222",darkgoldenrod:"#B8860B",mediumorchid:"#BA55D3",rosybrown:"#BC8F8F",darkkhaki:"#BDB76B",silver:"#C0C0C0",mediumvioletred:"#C71585",indianred:"#CD5C5C",peru:"#CD853F",chocolate:"#D2691E",tan:"#D2B48C",lightgrey:"#D3D3D3",palevioletred:"#D87093",thistle:"#D8BFD8",orchid:"#DA70D6",goldenrod:"#DAA520",crimson:"#DC143C",gainsboro:"#DCDCDC",plum:"#DDA0DD",burlywood:"#DEB887",lightcyan:"#E0FFFF",lavender:"#E6E6FA",darksalmon:"#E9967A",violet:"#EE82EE",palegoldenrod:"#EEE8AA",lightcoral:"#F08080",khaki:"#F0E68C",aliceblue:"#F0F8FF",honeydew:"#F0FFF0",azure:"#F0FFFF",sandybrown:"#F4A460",wheat:"#F5DEB3",beige:"#F5F5DC",whitesmoke:"#F5F5F5",mintcream:"#F5FFFA",ghostwhite:"#F8F8FF",salmon:"#FA8072",antiquewhite:"#FAEBD7",linen:"#FAF0E6",lightgoldenrodyellow:"#FAFAD2",oldlace:"#FDF5E6",red:"#FF0000",fuchsia:"#FF00FF",magenta:"#FF00FF",deeppink:"#FF1493",orangered:"#FF4500",tomato:"#FF6347",hotpink:"#FF69B4",coral:"#FF7F50",darkorange:"#FF8C00",lightsalmon:"#FFA07A",orange:"#FFA500",lightpink:"#FFB6C1",pink:"#FFC0CB",gold:"#FFD700",peachpuff:"#FFDAB9",navajowhite:"#FFDEAD",moccasin:"#FFE4B5",bisque:"#FFE4C4",mistyrose:"#FFE4E1",blanchedalmond:"#FFEBCD",papayawhip:"#FFEFD5",lavenderblush:"#FFF0F5",seashell:"#FFF5EE",cornsilk:"#FFF8DC",lemonchiffon:"#FFFACD",floralwhite:"#FFFAF0",snow:"#FFFAFA",yellow:"#FFFF00",lightyellow:"#FFFFE0",ivory:"#FFFFF0",white:"#FFFFFF"};if("string"==typeof t)return e[t]}},{key:"setColor",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("none"!==t){var i=void 0,o=this._isColorString(t);if(void 0!==o&&(t=o),!0===c.isString(t)){if(!0===c.isValidRGB(t)){var n=t.substr(4).substr(0,t.length-5).split(",");i={r:n[0],g:n[1],b:n[2],a:1}}else if(!0===c.isValidRGBA(t)){var r=t.substr(5).substr(0,t.length-6).split(",");i={r:r[0],g:r[1],b:r[2],a:r[3]}}else if(!0===c.isValidHex(t)){var a=c.hexToRGB(t);i={r:a.r,g:a.g,b:a.b,a:1}}}else if(t instanceof Object&&void 0!==t.r&&void 0!==t.g&&void 0!==t.b){var h=void 0!==t.a?t.a:"1.0";i={r:t.r,g:t.g,b:t.b,a:h}}if(void 0===i)throw new Error("Unknown color passed to the colorPicker. Supported are strings: rgb, hex, rgba. Object: rgb ({r:r,g:g,b:b,[a:a]}). Supplied: "+(0,s.default)(t));this._setColor(i,e)}}},{key:"show",value:function(){void 0!==this.closeCallback&&(this.closeCallback(),this.closeCallback=void 0),this.applied=!1,this.frame.style.display="block",this._generateHueCircle()}},{key:"_hide",value:function(){var t=this;!0===(!(arguments.length>0&&void 0!==arguments[0])||arguments[0])&&(this.previousColor=c.extend({},this.color)),!0===this.applied&&this.updateCallback(this.initialColor),this.frame.style.display="none",setTimeout(function(){void 0!==t.closeCallback&&(t.closeCallback(),t.closeCallback=void 0)},0)}},{key:"_save",value:function(){this.updateCallback(this.color),this.applied=!1,this._hide()}},{key:"_apply",value:function(){this.applied=!0,this.updateCallback(this.color),this._updatePicker(this.color)}},{key:"_loadLast",value:function(){void 0!==this.previousColor?this.setColor(this.previousColor,!1):alert("There is no last color to load...")}},{key:"_setColor",value:function(t){!0===(!(arguments.length>1&&void 0!==arguments[1])||arguments[1])&&(this.initialColor=c.extend({},t)),this.color=t;var e=c.RGBToHSV(t.r,t.g,t.b),i=2*Math.PI,o=this.r*e.s,n=this.centerCoordinates.x+o*Math.sin(i*e.h),s=this.centerCoordinates.y+o*Math.cos(i*e.h);this.colorPickerSelector.style.left=n-.5*this.colorPickerSelector.clientWidth+"px",this.colorPickerSelector.style.top=s-.5*this.colorPickerSelector.clientHeight+"px",this._updatePicker(t)}},{key:"_setOpacity",value:function(t){this.color.a=t/100,this._updatePicker(this.color)}},{key:"_setBrightness",value:function(t){var e=c.RGBToHSV(this.color.r,this.color.g,this.color.b);e.v=t/100;var i=c.HSVToRGB(e.h,e.s,e.v);i.a=this.color.a,this.color=i,this._updatePicker()}},{key:"_updatePicker",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.color,e=c.RGBToHSV(t.r,t.g,t.b),i=this.colorPickerCanvas.getContext("2d");void 0===this.pixelRation&&(this.pixelRatio=(window.devicePixelRatio||1)/(i.webkitBackingStorePixelRatio||i.mozBackingStorePixelRatio||i.msBackingStorePixelRatio||i.oBackingStorePixelRatio||i.backingStorePixelRatio||1)),i.setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0);var o=this.colorPickerCanvas.clientWidth,n=this.colorPickerCanvas.clientHeight;i.clearRect(0,0,o,n),i.putImageData(this.hueCircle,0,0),i.fillStyle="rgba(0,0,0,"+(1-e.v)+")", -i.circle(this.centerCoordinates.x,this.centerCoordinates.y,this.r),i.fill(),this.brightnessRange.value=100*e.v,this.opacityRange.value=100*t.a,this.initialColorDiv.style.backgroundColor="rgba("+this.initialColor.r+","+this.initialColor.g+","+this.initialColor.b+","+this.initialColor.a+")",this.newColorDiv.style.backgroundColor="rgba("+this.color.r+","+this.color.g+","+this.color.b+","+this.color.a+")"}},{key:"_setSize",value:function(){this.colorPickerCanvas.style.width="100%",this.colorPickerCanvas.style.height="100%",this.colorPickerCanvas.width=289*this.pixelRatio,this.colorPickerCanvas.height=289*this.pixelRatio}},{key:"_create",value:function(){if(this.frame=document.createElement("div"),this.frame.className="vis-color-picker",this.colorPickerDiv=document.createElement("div"),this.colorPickerSelector=document.createElement("div"),this.colorPickerSelector.className="vis-selector",this.colorPickerDiv.appendChild(this.colorPickerSelector),this.colorPickerCanvas=document.createElement("canvas"),this.colorPickerDiv.appendChild(this.colorPickerCanvas),this.colorPickerCanvas.getContext){var t=this.colorPickerCanvas.getContext("2d");this.pixelRatio=(window.devicePixelRatio||1)/(t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1),this.colorPickerCanvas.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.colorPickerCanvas.appendChild(e)}this.colorPickerDiv.className="vis-color",this.opacityDiv=document.createElement("div"),this.opacityDiv.className="vis-opacity",this.brightnessDiv=document.createElement("div"),this.brightnessDiv.className="vis-brightness",this.arrowDiv=document.createElement("div"),this.arrowDiv.className="vis-arrow",this.opacityRange=document.createElement("input");try{this.opacityRange.type="range",this.opacityRange.min="0",this.opacityRange.max="100"}catch(t){}this.opacityRange.value="100",this.opacityRange.className="vis-range",this.brightnessRange=document.createElement("input");try{this.brightnessRange.type="range",this.brightnessRange.min="0",this.brightnessRange.max="100"}catch(t){}this.brightnessRange.value="100",this.brightnessRange.className="vis-range",this.opacityDiv.appendChild(this.opacityRange),this.brightnessDiv.appendChild(this.brightnessRange);var i=this;this.opacityRange.onchange=function(){i._setOpacity(this.value)},this.opacityRange.oninput=function(){i._setOpacity(this.value)},this.brightnessRange.onchange=function(){i._setBrightness(this.value)},this.brightnessRange.oninput=function(){i._setBrightness(this.value)},this.brightnessLabel=document.createElement("div"),this.brightnessLabel.className="vis-label vis-brightness",this.brightnessLabel.innerHTML="brightness:",this.opacityLabel=document.createElement("div"),this.opacityLabel.className="vis-label vis-opacity",this.opacityLabel.innerHTML="opacity:",this.newColorDiv=document.createElement("div"),this.newColorDiv.className="vis-new-color",this.newColorDiv.innerHTML="new",this.initialColorDiv=document.createElement("div"),this.initialColorDiv.className="vis-initial-color",this.initialColorDiv.innerHTML="initial",this.cancelButton=document.createElement("div"),this.cancelButton.className="vis-button vis-cancel",this.cancelButton.innerHTML="cancel",this.cancelButton.onclick=this._hide.bind(this,!1),this.applyButton=document.createElement("div"),this.applyButton.className="vis-button vis-apply",this.applyButton.innerHTML="apply",this.applyButton.onclick=this._apply.bind(this),this.saveButton=document.createElement("div"),this.saveButton.className="vis-button vis-save",this.saveButton.innerHTML="save",this.saveButton.onclick=this._save.bind(this),this.loadButton=document.createElement("div"),this.loadButton.className="vis-button vis-load",this.loadButton.innerHTML="load last",this.loadButton.onclick=this._loadLast.bind(this),this.frame.appendChild(this.colorPickerDiv),this.frame.appendChild(this.arrowDiv),this.frame.appendChild(this.brightnessLabel),this.frame.appendChild(this.brightnessDiv),this.frame.appendChild(this.opacityLabel),this.frame.appendChild(this.opacityDiv),this.frame.appendChild(this.newColorDiv),this.frame.appendChild(this.initialColorDiv),this.frame.appendChild(this.cancelButton),this.frame.appendChild(this.applyButton),this.frame.appendChild(this.saveButton),this.frame.appendChild(this.loadButton)}},{key:"_bindHammer",value:function(){var t=this;this.drag={},this.pinch={},this.hammer=new l(this.colorPickerCanvas),this.hammer.get("pinch").set({enable:!0}),u.onTouch(this.hammer,function(e){t._moveSelector(e)}),this.hammer.on("tap",function(e){t._moveSelector(e)}),this.hammer.on("panstart",function(e){t._moveSelector(e)}),this.hammer.on("panmove",function(e){t._moveSelector(e)}),this.hammer.on("panend",function(e){t._moveSelector(e)})}},{key:"_generateHueCircle",value:function(){if(!1===this.generated){var t=this.colorPickerCanvas.getContext("2d");void 0===this.pixelRation&&(this.pixelRatio=(window.devicePixelRatio||1)/(t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1)),t.setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0);var e=this.colorPickerCanvas.clientWidth,i=this.colorPickerCanvas.clientHeight;t.clearRect(0,0,e,i);var o=void 0,n=void 0,s=void 0,r=void 0;this.centerCoordinates={x:.5*e,y:.5*i},this.r=.49*e;var a=2*Math.PI/360,h=1/this.r,d=void 0;for(s=0;s<360;s++)for(r=0;rr?r:t,e=null==e?r:e0&&l.push(u.screenToValue(n)),!p.hidden&&this.itemsData.length>0&&l.push(p.screenToValue(n)),{event:t,what:d,pageX:t.srcEvent?t.srcEvent.pageX:t.pageX,pageY:t.srcEvent?t.srcEvent.pageY:t.pageY,x:o,y:n,time:r,value:l}},o.prototype._createConfigurator=function(){return new g(this,this.dom.container,v)},t.exports=o},function(t,e,i){e.util=i(2),e.DOMutil=i(14),e.DataSet=i(11),e.DataView=i(12),e.Queue=i(44),e.Network=i(182),e.network={Images:i(116),dotparser:i(114),gephiParser:i(115),allOptions:i(122)},e.network.convertDot=function(t){return e.network.dotparser.DOTToGraph(t)},e.network.convertGephi=function(t,i){return e.network.gephiParser.parseGephi(t,i)},e.moment=i(9),e.Hammer=i(10),e.keycharm=i(35)},function(t,e,i){function o(t,e,i){var n=this;if(!(this instanceof o))throw new SyntaxError("Constructor must be called with the new operator");this.options={},this.defaultOptions={locale:"en",locales:d,clickToUse:!1},s.extend(this.options,this.defaultOptions),this.body={container:t,nodes:{},nodeIndices:[],edges:{},edgeIndices:[],emitter:{on:this.on.bind(this),off:this.off.bind(this),emit:this.emit.bind(this),once:this.once.bind(this)},eventListeners:{onTap:function(){},onTouch:function(){},onDoubleTap:function(){},onHold:function(){},onDragStart:function(){},onDrag:function(){},onDragEnd:function(){},onMouseWheel:function(){},onPinch:function(){},onMouseMove:function(){},onRelease:function(){},onContext:function(){}},data:{nodes:null,edges:null},functions:{createNode:function(){},createEdge:function(){},getPointer:function(){}},modules:{},view:{scale:1,translation:{x:0,y:0}}},this.bindEventListeners(),this.images=new l(function(){return n.body.emitter.emit("_requestRedraw")}),this.groups=new u,this.canvas=new g(this.body),this.selectionHandler=new _(this.body,this.canvas),this.interactionHandler=new b(this.body,this.canvas,this.selectionHandler),this.view=new y(this.body,this.canvas),this.renderer=new v(this.body,this.canvas),this.physics=new f(this.body),this.layoutEngine=new w(this.body),this.clustering=new m(this.body),this.manipulation=new x(this.body,this.canvas,this.selectionHandler),this.nodesHandler=new c(this.body,this.images,this.groups,this.layoutEngine),this.edgesHandler=new p(this.body,this.images,this.groups),this.body.modules.kamadaKawai=new T(this.body,150,.05),this.body.modules.clustering=this.clustering,this.canvas._create(),this.setOptions(i),this.setData(e)}i(183);var n=i(45),s=i(2),r=i(114),a=i(115),h=i(97),d=i(184),l=i(116).default,u=i(186).default,c=i(187).default,p=i(214).default,f=i(220).default,m=i(227).default,v=i(229).default,g=i(230).default,y=i(231).default,b=i(232).default,_=i(234).default,w=i(235).default,x=i(237).default,k=i(71).default,S=i(15).default,D=i(15),M=D.printStyle,C=i(122),O=C.allOptions,E=C.configureOptions,T=i(238).default;n(o.prototype),o.prototype.setOptions=function(t){var e=this;if(void 0!==t){!0===S.validate(t,O)&&console.log("%cErrors have been found in the supplied options object.",M);var i=["locale","locales","clickToUse"];if(s.selectiveDeepExtend(i,this.options,t),t=this.layoutEngine.setOptions(t.layout,t),this.canvas.setOptions(t),this.groups.setOptions(t.groups),this.nodesHandler.setOptions(t.nodes),this.edgesHandler.setOptions(t.edges),this.physics.setOptions(t.physics),this.manipulation.setOptions(t.manipulation,t,this.options),this.interactionHandler.setOptions(t.interaction),this.renderer.setOptions(t.interaction),this.selectionHandler.setOptions(t.interaction),void 0!==t.groups&&this.body.emitter.emit("refreshNodes"),"configure"in t&&(this.configurator||(this.configurator=new k(this,this.body.container,E,this.canvas.pixelRatio)),this.configurator.setOptions(t.configure)),this.configurator&&!0===this.configurator.options.enabled){var o={nodes:{},edges:{},layout:{},interaction:{},manipulation:{},physics:{},global:{}};s.deepExtend(o.nodes,this.nodesHandler.options),s.deepExtend(o.edges,this.edgesHandler.options),s.deepExtend(o.layout,this.layoutEngine.options),s.deepExtend(o.interaction,this.selectionHandler.options),s.deepExtend(o.interaction,this.renderer.options),s.deepExtend(o.interaction,this.interactionHandler.options),s.deepExtend(o.manipulation,this.manipulation.options),s.deepExtend(o.physics,this.physics.options),s.deepExtend(o.global,this.canvas.options),s.deepExtend(o.global,this.options),this.configurator.setModuleOptions(o)}void 0!==t.clickToUse?!0===t.clickToUse?void 0===this.activator&&(this.activator=new h(this.canvas.frame),this.activator.on("change",function(){e.body.emitter.emit("activate")})):(void 0!==this.activator&&(this.activator.destroy(),delete this.activator),this.body.emitter.emit("activate")):this.body.emitter.emit("activate"),this.canvas.setSize(),this.body.emitter.emit("startSimulation")}},o.prototype._updateVisibleIndices=function(){var t=this.body.nodes,e=this.body.edges;this.body.nodeIndices=[],this.body.edgeIndices=[];for(var i in t)t.hasOwnProperty(i)&&(this.clustering._isClusteredNode(i)||!1!==t[i].options.hidden||this.body.nodeIndices.push(t[i].id));for(var o in e)if(e.hasOwnProperty(o)){var n=e[o],s=t[n.fromId],r=t[n.toId],a=void 0!==s&&void 0!==r,h=!this.clustering._isClusteredEdge(o)&&!1===n.options.hidden&&a&&!1===s.options.hidden&&!1===r.options.hidden;h&&this.body.edgeIndices.push(n.id)}},o.prototype.bindEventListeners=function(){var t=this;this.body.emitter.on("_dataChanged",function(){t.edgesHandler._updateState(),t.body.emitter.emit("_dataUpdated")}),this.body.emitter.on("_dataUpdated",function(){t.clustering._updateState(),t._updateVisibleIndices(),t._updateValueRange(t.body.nodes),t._updateValueRange(t.body.edges),t.body.emitter.emit("startSimulation"),t.body.emitter.emit("_requestRedraw")})},o.prototype.setData=function(t){if(this.body.emitter.emit("resetPhysics"),this.body.emitter.emit("_resetData"),this.selectionHandler.unselectAll(),t&&t.dot&&(t.nodes||t.edges))throw new SyntaxError('Data must contain either parameter "dot" or parameter pair "nodes" and "edges", but not both.');if(this.setOptions(t&&t.options),t&&t.dot){console.log("The dot property has been deprecated. Please use the static convertDot method to convert DOT into vis.network format and use the normal data format with nodes and edges. This converter is used like this: var data = vis.network.convertDot(dotString);");var e=r.DOTToGraph(t.dot);return void this.setData(e)}if(t&&t.gephi){console.log("The gephi property has been deprecated. Please use the static convertGephi method to convert gephi into vis.network format and use the normal data format with nodes and edges. This converter is used like this: var data = vis.network.convertGephi(gephiJson);");var i=a.parseGephi(t.gephi);return void this.setData(i)}this.nodesHandler.setData(t&&t.nodes,!0),this.edgesHandler.setData(t&&t.edges,!0),this.body.emitter.emit("_dataChanged"),this.body.emitter.emit("_dataLoaded"),this.body.emitter.emit("initPhysics")},o.prototype.destroy=function(){this.body.emitter.emit("destroy"),this.body.emitter.off(),this.off(),delete this.groups,delete this.canvas,delete this.selectionHandler,delete this.interactionHandler,delete this.view,delete this.renderer,delete this.physics,delete this.layoutEngine,delete this.clustering,delete this.manipulation,delete this.nodesHandler,delete this.edgesHandler,delete this.configurator,delete this.images;for(var t in this.body.nodes)this.body.nodes.hasOwnProperty(t)&&delete this.body.nodes[t];for(var e in this.body.edges)this.body.edges.hasOwnProperty(e)&&delete this.body.edges[e];s.recursiveDOMDelete(this.body.container)},o.prototype._updateValueRange=function(t){var e,i=void 0,o=void 0,n=0;for(e in t)if(t.hasOwnProperty(e)){var s=t[e].getValue();void 0!==s&&(i=void 0===i?s:Math.min(s,i),o=void 0===o?s:Math.max(s,o),n+=s)}if(void 0!==i&&void 0!==o)for(e in t)t.hasOwnProperty(e)&&t[e].setValueRange(i,o,n)},o.prototype.isActive=function(){return!this.activator||this.activator.active},o.prototype.setSize=function(){return this.canvas.setSize.apply(this.canvas,arguments)},o.prototype.canvasToDOM=function(){return this.canvas.canvasToDOM.apply(this.canvas,arguments)},o.prototype.DOMtoCanvas=function(){return this.canvas.DOMtoCanvas.apply(this.canvas,arguments)},o.prototype.findNode=function(){return this.clustering.findNode.apply(this.clustering,arguments)},o.prototype.isCluster=function(){return this.clustering.isCluster.apply(this.clustering,arguments)},o.prototype.openCluster=function(){return this.clustering.openCluster.apply(this.clustering,arguments)},o.prototype.cluster=function(){return this.clustering.cluster.apply(this.clustering,arguments)},o.prototype.getNodesInCluster=function(){return this.clustering.getNodesInCluster.apply(this.clustering,arguments)},o.prototype.clusterByConnection=function(){return this.clustering.clusterByConnection.apply(this.clustering,arguments)},o.prototype.clusterByHubsize=function(){return this.clustering.clusterByHubsize.apply(this.clustering,arguments)},o.prototype.clusterOutliers=function(){return this.clustering.clusterOutliers.apply(this.clustering,arguments)},o.prototype.getSeed=function(){return this.layoutEngine.getSeed.apply(this.layoutEngine,arguments)},o.prototype.enableEditMode=function(){return this.manipulation.enableEditMode.apply(this.manipulation,arguments)},o.prototype.disableEditMode=function(){return this.manipulation.disableEditMode.apply(this.manipulation,arguments)},o.prototype.addNodeMode=function(){return this.manipulation.addNodeMode.apply(this.manipulation,arguments)},o.prototype.editNode=function(){return this.manipulation.editNode.apply(this.manipulation,arguments)},o.prototype.editNodeMode=function(){return console.log("Deprecated: Please use editNode instead of editNodeMode."),this.manipulation.editNode.apply(this.manipulation,arguments)},o.prototype.addEdgeMode=function(){return this.manipulation.addEdgeMode.apply(this.manipulation,arguments)},o.prototype.editEdgeMode=function(){return this.manipulation.editEdgeMode.apply(this.manipulation,arguments)},o.prototype.deleteSelected=function(){return this.manipulation.deleteSelected.apply(this.manipulation,arguments)},o.prototype.getPositions=function(){return this.nodesHandler.getPositions.apply(this.nodesHandler,arguments)},o.prototype.storePositions=function(){return this.nodesHandler.storePositions.apply(this.nodesHandler,arguments)},o.prototype.moveNode=function(){return this.nodesHandler.moveNode.apply(this.nodesHandler,arguments)},o.prototype.getBoundingBox=function(){return this.nodesHandler.getBoundingBox.apply(this.nodesHandler,arguments)},o.prototype.getConnectedNodes=function(t){return void 0!==this.body.nodes[t]?this.nodesHandler.getConnectedNodes.apply(this.nodesHandler,arguments):this.edgesHandler.getConnectedNodes.apply(this.edgesHandler,arguments)},o.prototype.getConnectedEdges=function(){return this.nodesHandler.getConnectedEdges.apply(this.nodesHandler,arguments)},o.prototype.startSimulation=function(){return this.physics.startSimulation.apply(this.physics,arguments)},o.prototype.stopSimulation=function(){return this.physics.stopSimulation.apply(this.physics,arguments)},o.prototype.stabilize=function(){return this.physics.stabilize.apply(this.physics,arguments)},o.prototype.getSelection=function(){return this.selectionHandler.getSelection.apply(this.selectionHandler,arguments)},o.prototype.setSelection=function(){return this.selectionHandler.setSelection.apply(this.selectionHandler,arguments)},o.prototype.getSelectedNodes=function(){return this.selectionHandler.getSelectedNodes.apply(this.selectionHandler,arguments)},o.prototype.getSelectedEdges=function(){return this.selectionHandler.getSelectedEdges.apply(this.selectionHandler,arguments)},o.prototype.getNodeAt=function(){var t=this.selectionHandler.getNodeAt.apply(this.selectionHandler,arguments);return void 0!==t&&void 0!==t.id?t.id:t},o.prototype.getEdgeAt=function(){var t=this.selectionHandler.getEdgeAt.apply(this.selectionHandler,arguments);return void 0!==t&&void 0!==t.id?t.id:t},o.prototype.selectNodes=function(){return this.selectionHandler.selectNodes.apply(this.selectionHandler,arguments)},o.prototype.selectEdges=function(){return this.selectionHandler.selectEdges.apply(this.selectionHandler,arguments)},o.prototype.unselectAll=function(){this.selectionHandler.unselectAll.apply(this.selectionHandler,arguments),this.redraw()},o.prototype.redraw=function(){return this.renderer.redraw.apply(this.renderer,arguments)},o.prototype.getScale=function(){return this.view.getScale.apply(this.view,arguments)},o.prototype.getViewPosition=function(){return this.view.getViewPosition.apply(this.view,arguments)},o.prototype.fit=function(){return this.view.fit.apply(this.view,arguments)},o.prototype.moveTo=function(){return this.view.moveTo.apply(this.view,arguments)},o.prototype.focus=function(){return this.view.focus.apply(this.view,arguments)},o.prototype.releaseNode=function(){return this.view.releaseNode.apply(this.view,arguments)},o.prototype.getOptionsFromConfigurator=function(){var t={};return this.configurator&&(t=this.configurator.getOptions.apply(this.configurator)),t},t.exports=o},function(t,e,i){"undefined"!=typeof CanvasRenderingContext2D&&(CanvasRenderingContext2D.prototype.circle=function(t,e,i){this.beginPath(),this.arc(t,e,i,0,2*Math.PI,!1),this.closePath()},CanvasRenderingContext2D.prototype.square=function(t,e,i){this.beginPath(),this.rect(t-i,e-i,2*i,2*i),this.closePath()},CanvasRenderingContext2D.prototype.triangle=function(t,e,i){this.beginPath(),i*=1.15,e+=.275*i;var o=2*i,n=o/2,s=Math.sqrt(3)/6*o,r=Math.sqrt(o*o-n*n);this.moveTo(t,e-(r-s)),this.lineTo(t+n,e+s),this.lineTo(t-n,e+s),this.lineTo(t,e-(r-s)),this.closePath()},CanvasRenderingContext2D.prototype.triangleDown=function(t,e,i){this.beginPath(),i*=1.15,e-=.275*i;var o=2*i,n=o/2,s=Math.sqrt(3)/6*o,r=Math.sqrt(o*o-n*n);this.moveTo(t,e+(r-s)),this.lineTo(t+n,e-s),this.lineTo(t-n,e-s),this.lineTo(t,e+(r-s)),this.closePath()},CanvasRenderingContext2D.prototype.star=function(t,e,i){this.beginPath(),i*=.82,e+=.1*i;for(var o=0;o<10;o++){var n=o%2==0?1.3*i:.5*i;this.lineTo(t+n*Math.sin(2*o*Math.PI/10),e-n*Math.cos(2*o*Math.PI/10))}this.closePath()},CanvasRenderingContext2D.prototype.diamond=function(t,e,i){this.beginPath(),this.lineTo(t,e+i),this.lineTo(t+i,e),this.lineTo(t,e-i),this.lineTo(t-i,e),this.closePath()},CanvasRenderingContext2D.prototype.roundRect=function(t,e,i,o,n){var s=Math.PI/180;i-2*n<0&&(n=i/2),o-2*n<0&&(n=o/2),this.beginPath(),this.moveTo(t+n,e),this.lineTo(t+i-n,e),this.arc(t+i-n,e+n,n,270*s,360*s,!1),this.lineTo(t+i,e+o-n),this.arc(t+i-n,e+o-n,n,0,90*s,!1),this.lineTo(t+n,e+o),this.arc(t+n,e+o-n,n,90*s,180*s,!1),this.lineTo(t,e+n),this.arc(t+n,e+n,n,180*s,270*s,!1),this.closePath()},CanvasRenderingContext2D.prototype.ellipse_vis=function(t,e,i,o){var n=i/2*.5522848,s=o/2*.5522848,r=t+i,a=e+o,h=t+i/2,d=e+o/2;this.beginPath(),this.moveTo(t,d),this.bezierCurveTo(t,d-s,h-n,e,h,e),this.bezierCurveTo(h+n,e,r,d-s,r,d),this.bezierCurveTo(r,d+s,h+n,a,h,a),this.bezierCurveTo(h-n,a,t,d+s,t,d),this.closePath()},CanvasRenderingContext2D.prototype.database=function(t,e,i,o){var n=i,s=o*(1/3),r=n/2*.5522848,a=s/2*.5522848,h=t+n,d=e+s,l=t+n/2,u=e+s/2,c=e+(o-s/2),p=e+o;this.beginPath(),this.moveTo(h,u),this.bezierCurveTo(h,u+a,l+r,d,l,d),this.bezierCurveTo(l-r,d,t,u+a,t,u),this.bezierCurveTo(t,u-a,l-r,e,l,e),this.bezierCurveTo(l+r,e,h,u-a,h,u),this.lineTo(h,c),this.bezierCurveTo(h,c+a,l+r,p,l,p),this.bezierCurveTo(l-r,p,t,c+a,t,c),this.lineTo(t,u)},CanvasRenderingContext2D.prototype.dashedLine=function(t,e,i,o,n){this.beginPath(),this.moveTo(t,e);for(var s=n.length,r=i-t,a=o-e,h=a/r,d=Math.sqrt(r*r+a*a),l=0,u=!0,c=0,p=n[0];d>=.1;)p=n[l++%s],p>d&&(p=d),c=Math.sqrt(p*p/(1+h*h)),c=r<0?-c:c,t+=c,e+=h*c,!0===u?this.lineTo(t,e):this.moveTo(t,e),d-=p,u=!u},CanvasRenderingContext2D.prototype.hexagon=function(t,e,i){this.beginPath();var o=2*Math.PI/6;this.moveTo(t+i,e);for(var n=1;n<6;n++)this.lineTo(t+i*Math.cos(o*n),e+i*Math.sin(o*n));this.closePath()})},function(t,e,i){e.en={edit:"Edit",del:"Delete selected",back:"Back",addNode:"Add Node",addEdge:"Add Edge",editNode:"Edit Node",editEdge:"Edit Edge",addDescription:"Click in an empty space to place a new node.",edgeDescription:"Click on a node and drag the edge to another node to connect them.",editEdgeDescription:"Click on the control points and drag them to a node to connect to it.",createEdgeError:"Cannot link edges to a cluster.",deleteClusterError:"Clusters cannot be deleted.",editClusterError:"Clusters cannot be edited."},e.en_EN=e.en,e.en_US=e.en,e.de={edit:"Editieren",del:"Lösche Auswahl",back:"Zurück",addNode:"Knoten hinzufügen",addEdge:"Kante hinzufügen",editNode:"Knoten editieren",editEdge:"Kante editieren",addDescription:"Klicke auf eine freie Stelle, um einen neuen Knoten zu plazieren.",edgeDescription:"Klicke auf einen Knoten und ziehe die Kante zu einem anderen Knoten, um diese zu verbinden.",editEdgeDescription:"Klicke auf die Verbindungspunkte und ziehe diese auf einen Knoten, um sie zu verbinden.",createEdgeError:"Es ist nicht möglich, Kanten mit Clustern zu verbinden.",deleteClusterError:"Cluster können nicht gelöscht werden.",editClusterError:"Cluster können nicht editiert werden."},e.de_DE=e.de,e.es={edit:"Editar",del:"Eliminar selección",back:"Átras",addNode:"Añadir nodo",addEdge:"Añadir arista",editNode:"Editar nodo",editEdge:"Editar arista",addDescription:"Haga clic en un lugar vacío para colocar un nuevo nodo.",edgeDescription:"Haga clic en un nodo y arrastre la arista hacia otro nodo para conectarlos.",editEdgeDescription:"Haga clic en un punto de control y arrastrelo a un nodo para conectarlo.",createEdgeError:"No se puede conectar una arista a un grupo.",deleteClusterError:"No es posible eliminar grupos.",editClusterError:"No es posible editar grupos."},e.es_ES=e.es,e.it={edit:"Modifica",del:"Cancella la selezione",back:"Indietro",addNode:"Aggiungi un nodo",addEdge:"Aggiungi un vertice",editNode:"Modifica il nodo",editEdge:"Modifica il vertice",addDescription:"Clicca per aggiungere un nuovo nodo",edgeDescription:"Clicca su un nodo e trascinalo ad un altro nodo per connetterli.",editEdgeDescription:"Clicca sui Punti di controllo e trascinali ad un nodo per connetterli.",createEdgeError:"Non si possono collegare vertici ad un cluster",deleteClusterError:"I cluster non possono essere cancellati",editClusterError:"I clusters non possono essere modificati."},e.it_IT=e.it,e.nl={edit:"Wijzigen",del:"Selectie verwijderen",back:"Terug",addNode:"Node toevoegen",addEdge:"Link toevoegen",editNode:"Node wijzigen",editEdge:"Link wijzigen",addDescription:"Klik op een leeg gebied om een nieuwe node te maken.",edgeDescription:"Klik op een node en sleep de link naar een andere node om ze te verbinden.",editEdgeDescription:"Klik op de verbindingspunten en sleep ze naar een node om daarmee te verbinden.",createEdgeError:"Kan geen link maken naar een cluster.",deleteClusterError:"Clusters kunnen niet worden verwijderd.",editClusterError:"Clusters kunnen niet worden aangepast."},e.nl_NL=e.nl,e.nl_BE=e.nl,e["pt-br"]={edit:"Editar",del:"Remover selecionado",back:"Voltar",addNode:"Adicionar nó",addEdge:"Adicionar aresta",editNode:"Editar nó",editEdge:"Editar aresta",addDescription:"Clique em um espaço em branco para adicionar um novo nó",edgeDescription:"Clique em um nó e arraste a aresta até outro nó para conectá-los",editEdgeDescription:"Clique nos pontos de controle e os arraste para um nó para conectá-los",createEdgeError:"Não foi possível linkar arestas a um cluster.",deleteClusterError:"Clusters não puderam ser removidos.",editClusterError:"Clusters não puderam ser editados."},e["pt-BR"]=e["pt-br"],e.pt_BR=e["pt-br"],e.pt_br=e["pt-br"],e.ru={edit:"Редактировать",del:"Удалить выбранное",back:"Назад",addNode:"Добавить узел",addEdge:"Добавить ребро",editNode:"Редактировать узел",editEdge:"Редактировать ребро",addDescription:"Кликните в свободное место, чтобы добавить новый узел.",edgeDescription:"Кликните на узел и протяните ребро к другому узлу, чтобы соединить их.",editEdgeDescription:"Кликните на контрольные точки и перетащите их в узел, чтобы подключиться к нему.",createEdgeError:"Невозможно соединить ребра в кластер.",deleteClusterError:"Кластеры не могут быть удалены",editClusterError:"Кластеры недоступны для редактирования."},e.ru_RU=e.ru,e.cn={edit:"编辑",del:"删除选定",back:"返回",addNode:"添加节点",addEdge:"添加连接线",editNode:"编辑节点",editEdge:"编辑连接线",addDescription:"单击空白处放置新节点。",edgeDescription:"单击某个节点并将该连接线拖动到另一个节点以连接它们。",editEdgeDescription:"单击控制节点并将它们拖到节点上连接。",createEdgeError:"无法将连接线连接到群集。",deleteClusterError:"无法删除群集。",editClusterError:"无法编辑群集。"},e.zh_CN=e.cn},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(0),s=o(n),r=i(1),a=o(r),h=function(){function t(){(0,s.default)(this,t),this.NUM_ITERATIONS=4,this.image=new Image,this.canvas=document.createElement("canvas")}return(0, -a.default)(t,[{key:"init",value:function(){if(!this.initialized()){this.src=this.image.src;var t=this.image.width,e=this.image.height;this.width=t,this.height=e;var i=Math.floor(e/2),o=Math.floor(e/4),n=Math.floor(e/8),s=Math.floor(e/16),r=Math.floor(t/2),a=Math.floor(t/4),h=Math.floor(t/8),d=Math.floor(t/16);this.canvas.width=3*a,this.canvas.height=i,this.coordinates=[[0,0,r,i],[r,0,a,o],[r,o,h,n],[5*h,o,d,s]],this._fillMipMap()}}},{key:"initialized",value:function(){return void 0!==this.coordinates}},{key:"_fillMipMap",value:function(){var t=this.canvas.getContext("2d"),e=this.coordinates[0];t.drawImage(this.image,e[0],e[1],e[2],e[3]);for(var i=1;i2){e*=.5;for(var r=0;e>2&&r=this.NUM_ITERATIONS&&(r=this.NUM_ITERATIONS-1);var a=this.coordinates[r];t.drawImage(this.canvas,a[0],a[1],a[2],a[3],i,o,n,s)}else t.drawImage(this.image,i,o,n,s)}}]),t}();e.default=h},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(0),s=o(n),r=i(1),a=o(r),h=i(2),d=function(){function t(){(0,s.default)(this,t),this.clear(),this.defaultIndex=0,this.groupsArray=[],this.groupIndex=0,this.defaultGroups=[{border:"#2B7CE9",background:"#97C2FC",highlight:{border:"#2B7CE9",background:"#D2E5FF"},hover:{border:"#2B7CE9",background:"#D2E5FF"}},{border:"#FFA500",background:"#FFFF00",highlight:{border:"#FFA500",background:"#FFFFA3"},hover:{border:"#FFA500",background:"#FFFFA3"}},{border:"#FA0A10",background:"#FB7E81",highlight:{border:"#FA0A10",background:"#FFAFB1"},hover:{border:"#FA0A10",background:"#FFAFB1"}},{border:"#41A906",background:"#7BE141",highlight:{border:"#41A906",background:"#A1EC76"},hover:{border:"#41A906",background:"#A1EC76"}},{border:"#E129F0",background:"#EB7DF4",highlight:{border:"#E129F0",background:"#F0B3F5"},hover:{border:"#E129F0",background:"#F0B3F5"}},{border:"#7C29F0",background:"#AD85E4",highlight:{border:"#7C29F0",background:"#D3BDF0"},hover:{border:"#7C29F0",background:"#D3BDF0"}},{border:"#C37F00",background:"#FFA807",highlight:{border:"#C37F00",background:"#FFCA66"},hover:{border:"#C37F00",background:"#FFCA66"}},{border:"#4220FB",background:"#6E6EFD",highlight:{border:"#4220FB",background:"#9B9BFD"},hover:{border:"#4220FB",background:"#9B9BFD"}},{border:"#FD5A77",background:"#FFC0CB",highlight:{border:"#FD5A77",background:"#FFD1D9"},hover:{border:"#FD5A77",background:"#FFD1D9"}},{border:"#4AD63A",background:"#C2FABC",highlight:{border:"#4AD63A",background:"#E6FFE3"},hover:{border:"#4AD63A",background:"#E6FFE3"}},{border:"#990000",background:"#EE0000",highlight:{border:"#BB0000",background:"#FF3333"},hover:{border:"#BB0000",background:"#FF3333"}},{border:"#FF6000",background:"#FF6000",highlight:{border:"#FF6000",background:"#FF6000"},hover:{border:"#FF6000",background:"#FF6000"}},{border:"#97C2FC",background:"#2B7CE9",highlight:{border:"#D2E5FF",background:"#2B7CE9"},hover:{border:"#D2E5FF",background:"#2B7CE9"}},{border:"#399605",background:"#255C03",highlight:{border:"#399605",background:"#255C03"},hover:{border:"#399605",background:"#255C03"}},{border:"#B70054",background:"#FF007E",highlight:{border:"#B70054",background:"#FF007E"},hover:{border:"#B70054",background:"#FF007E"}},{border:"#AD85E4",background:"#7C29F0",highlight:{border:"#D3BDF0",background:"#7C29F0"},hover:{border:"#D3BDF0",background:"#7C29F0"}},{border:"#4557FA",background:"#000EA1",highlight:{border:"#6E6EFD",background:"#000EA1"},hover:{border:"#6E6EFD",background:"#000EA1"}},{border:"#FFC0CB",background:"#FD5A77",highlight:{border:"#FFD1D9",background:"#FD5A77"},hover:{border:"#FFD1D9",background:"#FD5A77"}},{border:"#C2FABC",background:"#74D66A",highlight:{border:"#E6FFE3",background:"#74D66A"},hover:{border:"#E6FFE3",background:"#74D66A"}},{border:"#EE0000",background:"#990000",highlight:{border:"#FF3333",background:"#BB0000"},hover:{border:"#FF3333",background:"#BB0000"}}],this.options={},this.defaultOptions={useDefaultGroups:!0},h.extend(this.options,this.defaultOptions)}return(0,a.default)(t,[{key:"setOptions",value:function(t){var e=["useDefaultGroups"];if(void 0!==t)for(var i in t)if(t.hasOwnProperty(i)&&-1===e.indexOf(i)){var o=t[i];this.add(i,o)}}},{key:"clear",value:function(){this.groups={},this.groupsArray=[]}},{key:"get",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=this.groups[t];if(void 0===i&&e)if(!1===this.options.useDefaultGroups&&this.groupsArray.length>0){var o=this.groupIndex%this.groupsArray.length;this.groupIndex++,i={},i.color=this.groups[this.groupsArray[o]],this.groups[t]=i}else{var n=this.defaultIndex%this.defaultGroups.length;this.defaultIndex++,i={},i.color=this.defaultGroups[n],this.groups[t]=i}return i}},{key:"add",value:function(t,e){return this.groups[t]=e,this.groupsArray.push(t),e}}]),t}();e.default=d},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(0),s=o(n),r=i(1),a=o(r),h=i(2),d=i(11),l=i(12),u=i(48).default,c=function(){function t(e,i,o,n){var r=this;if((0,s.default)(this,t),this.body=e,this.images=i,this.groups=o,this.layoutEngine=n,this.body.functions.createNode=this.create.bind(this),this.nodesListeners={add:function(t,e){r.add(e.items)},update:function(t,e){r.update(e.items,e.data,e.oldData)},remove:function(t,e){r.remove(e.items)}},this.defaultOptions={borderWidth:1,borderWidthSelected:2,brokenImage:void 0,color:{border:"#2B7CE9",background:"#97C2FC",highlight:{border:"#2B7CE9",background:"#D2E5FF"},hover:{border:"#2B7CE9",background:"#D2E5FF"}},fixed:{x:!1,y:!1},font:{color:"#343434",size:14,face:"arial",background:"none",strokeWidth:0,strokeColor:"#ffffff",align:"center",vadjust:0,multi:!1,bold:{mod:"bold"},boldital:{mod:"bold italic"},ital:{mod:"italic"},mono:{mod:"",size:15,face:"monospace",vadjust:2}},group:void 0,hidden:!1,icon:{face:"FontAwesome",code:void 0,size:50,color:"#2B7CE9"},image:void 0,label:void 0,labelHighlightBold:!0,level:void 0,margin:{top:5,right:5,bottom:5,left:5},mass:1,physics:!0,scaling:{min:10,max:30,label:{enabled:!1,min:14,max:30,maxVisible:30,drawThreshold:5},customScalingFunction:function(t,e,i,o){if(e===t)return.5;var n=1/(e-t);return Math.max(0,(o-t)*n)}},shadow:{enabled:!1,color:"rgba(0,0,0,0.5)",size:10,x:5,y:5},shape:"ellipse",shapeProperties:{borderDashes:!1,borderRadius:6,interpolation:!0,useImageSize:!1,useBorderWithImage:!1},size:25,title:void 0,value:void 0,x:void 0,y:void 0},this.defaultOptions.mass<=0)throw"Internal error: mass in defaultOptions of NodesHandler may not be zero or negative";this.options=h.bridgeObject(this.defaultOptions),this.bindEventListeners()}return(0,a.default)(t,[{key:"bindEventListeners",value:function(){var t=this;this.body.emitter.on("refreshNodes",this.refresh.bind(this)),this.body.emitter.on("refresh",this.refresh.bind(this)),this.body.emitter.on("destroy",function(){h.forEach(t.nodesListeners,function(e,i){t.body.data.nodes&&t.body.data.nodes.off(i,e)}),delete t.body.functions.createNode,delete t.nodesListeners.add,delete t.nodesListeners.update,delete t.nodesListeners.remove,delete t.nodesListeners})}},{key:"setOptions",value:function(t){if(void 0!==t){if(u.parseOptions(this.options,t),void 0!==t.shape)for(var e in this.body.nodes)this.body.nodes.hasOwnProperty(e)&&this.body.nodes[e].updateShape();if(void 0!==t.font)for(var i in this.body.nodes)this.body.nodes.hasOwnProperty(i)&&(this.body.nodes[i].updateLabelModule(),this.body.nodes[i].needsRefresh());if(void 0!==t.size)for(var o in this.body.nodes)this.body.nodes.hasOwnProperty(o)&&this.body.nodes[o].needsRefresh();void 0===t.hidden&&void 0===t.physics||this.body.emitter.emit("_dataChanged")}}},{key:"setData",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=this.body.data.nodes;if(t instanceof d||t instanceof l)this.body.data.nodes=t;else if(Array.isArray(t))this.body.data.nodes=new d,this.body.data.nodes.add(t);else{if(t)throw new TypeError("Array or DataSet expected");this.body.data.nodes=new d}if(i&&h.forEach(this.nodesListeners,function(t,e){i.off(e,t)}),this.body.nodes={},this.body.data.nodes){var o=this;h.forEach(this.nodesListeners,function(t,e){o.body.data.nodes.on(e,t)});var n=this.body.data.nodes.getIds();this.add(n,!0)}!1===e&&this.body.emitter.emit("_dataChanged")}},{key:"add",value:function(t){for(var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=void 0,o=[],n=0;n1&&void 0!==arguments[1]?arguments[1]:u)(t,this.body,this.images,this.groups,this.options,this.defaultOptions)}},{key:"refresh",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];h.forEach(this.body.nodes,function(i,o){var n=t.body.data.nodes.get(o);void 0!==n&&(!0===e&&i.setOptions({x:null,y:null}),i.setOptions({fixed:!1}),i.setOptions(n))})}},{key:"getPositions",value:function(t){var e={};if(void 0!==t){if(!0===Array.isArray(t)){for(var i=0;i0)for(var r=0;r0)for(var p=0;p0&&void 0!==arguments[0]&&arguments[0];this.spacing&&(this.add(" "),this.spacing=!1),this.buffer.length>0&&(e.push({text:this.buffer,mod:this.modName()}),this.buffer="")},i.add=function(t){" "===t&&(i.spacing=!0),i.spacing&&(this.buffer+=" ",this.spacing=!1)," "!=t&&(this.buffer+=t)};i.position/.test(t.substr(i.position,3))?i.mono||i.ital||!//.test(t.substr(i.position,3))?!i.mono&&//.test(t.substr(i.position,6))?(i.emitBlock(),i.mono=!0,i.modStack.unshift("mono"),i.position+=5):!i.mono&&"bold"===i.mod()&&/<\/b>/.test(t.substr(i.position,4))?(i.emitBlock(),i.bold=!1,i.modStack.shift(),i.position+=3):!i.mono&&"ital"===i.mod()&&/<\/i>/.test(t.substr(i.position,4))?(i.emitBlock(),i.ital=!1,i.modStack.shift(),i.position+=3):"mono"===i.mod()&&/<\/code>/.test(t.substr(i.position,7))?(i.emitBlock(),i.mono=!1,i.modStack.shift(),i.position+=6):i.add(o):(i.emitBlock(),i.ital=!0,i.modStack.unshift("ital"),i.position+=2):(i.emitBlock(),i.bold=!0,i.modStack.unshift("bold"),i.position+=2):/&/.test(o)?/</.test(t.substr(i.position,4))?(i.add("<"),i.position+=3):/&/.test(t.substr(i.position,5))?(i.add("&"),i.position+=4):i.add("&"):i.add(o),i.position++}return i.emitBlock(),e}},{key:"splitMarkdownBlocks",value:function(t){var e=[],i={bold:!1,ital:!1,mono:!1,beginable:!0,spacing:!1,position:0,buffer:"",modStack:[]};for(i.mod=function(){return 0===this.modStack.length?"normal":this.modStack[0]},i.modName=function(){return 0===this.modStack.length?"normal":"mono"===this.modStack[0]?"mono":i.bold&&i.ital?"boldital":i.bold?"bold":i.ital?"ital":void 0},i.emitBlock=function(){arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.spacing&&(this.add(" "),this.spacing=!1),this.buffer.length>0&&(e.push({text:this.buffer,mod:this.modName()}),this.buffer="")},i.add=function(t){" "===t&&(i.spacing=!0),i.spacing&&(this.buffer+=" ",this.spacing=!1)," "!=t&&(this.buffer+=t)};i.positionthis.parent.fontOptions.maxWdt}},{key:"getLongestFit",value:function(t){for(var e="",i=0;i1&&void 0!==arguments[1]?arguments[1]:"normal",i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];t=t.replace(/^( +)/g,"$1\r"),t=t.replace(/([^\r][^ ]*)( +)/g,"$1\r$2\r");for(var o=t.split("\r");o.length>0;){var n=this.getLongestFit(o);if(0===n){var s=o[0],r=this.getLongestFitWord(s);this.lines.newLine(s.slice(0,r),e),o[0]=s.slice(r)}else{var a=n;" "===o[n-1]?n--:" "===o[a]&&a++;var h=o.slice(0,n).join("");n==o.length&&i?this.lines.append(h,e):this.lines.newLine(h,e),o=o.slice(a)}}}}]),t}();e.default=l},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(90),s=o(n),r=i(0),a=o(r),h=i(1),d=o(h),l=function(){function t(e){(0,a.default)(this,t),this.measureText=e,this.current=0,this.width=0,this.height=0,this.lines=[]}return(0,d.default)(t,[{key:"_add",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"normal";void 0===this.lines[t]&&(this.lines[t]={width:0,height:0,blocks:[]});var o=e;void 0!==e&&""!==e||(o=" ");var n=this.measureText(o,i),r=(0,s.default)({},n.values);r.text=e,r.width=n.width,r.mod=i,void 0!==e&&""!==e||(r.width=0),this.lines[t].blocks.push(r),this.lines[t].width+=r.width}},{key:"curWidth",value:function(){var t=this.lines[this.current];return void 0===t?0:t.width}},{key:"append",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"normal";this._add(this.current,t,e)}},{key:"newLine",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"normal";this._add(this.current,t,e),this.current++}},{key:"determineLineHeights",value:function(){for(var t=0;tt&&(t=o.width),e+=o.height}this.width=t,this.height=e}},{key:"removeEmptyBlocks",value:function(){for(var t=[],e=0;e1&&void 0!==arguments[1]?arguments[1]:this.selected,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover;if(this.needsRefresh(e,i)){var o=this.getDimensionsFromLabel(t,e,i);this.width=o.width+this.margin.right+this.margin.left,this.height=o.height+this.margin.top+this.margin.bottom,this.radius=this.width/2}}},{key:"draw",value:function(t,e,i,o,n,s){this.resize(t,o,n),this.left=e-this.width/2,this.top=i-this.height/2,this.initContextForDraw(t,s),t.roundRect(this.left,this.top,this.width,this.height,s.borderRadius),this.performFill(t,s),this.updateBoundingBox(e,i,t,o,n),this.labelModule.draw(t,this.left+this.textSize.width/2+this.margin.left,this.top+this.textSize.height/2+this.margin.top,o,n)}},{key:"updateBoundingBox",value:function(t,e,i,o,n){this._updateBoundingBox(t,e,i,o,n);var s=this.options.shapeProperties.borderRadius;this._addBoundingBoxMargin(s)}},{key:"distanceToBorder",value:function(t,e){this.resize(t);var i=this.options.borderWidth;return Math.min(Math.abs(this.width/2/Math.cos(e)),Math.abs(this.height/2/Math.sin(e)))+i}}]),e}(m.default);e.default=v},function(t,e,i){i(195),t.exports=i(7).Object.getPrototypeOf},function(t,e,i){var o=i(42),n=i(85);i(87)("getPrototypeOf",function(){return function(t){return n(o(t))}})},function(t,e,i){t.exports={default:i(197),__esModule:!0}},function(t,e,i){i(198),t.exports=i(7).Object.setPrototypeOf},function(t,e,i){var o=i(17);o(o.S,"Object",{setPrototypeOf:i(199).set})},function(t,e,i){var o=i(28),n=i(27),s=function(t,e){if(n(t),!o(e)&&null!==e)throw TypeError(e+": can't set as prototype!")};t.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(t,e,o){try{o=i(80)(Function.call,i(89).f(Object.prototype,"__proto__").set,2),o(t,[]),e=!(t instanceof Array)}catch(t){e=!0}return function(t,i){return s(t,i),e?t.__proto__=i:o(t,i),t}}({},!1):void 0),check:s}},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(3),s=o(n),r=i(0),a=o(r),h=i(1),d=o(h),l=i(4),u=o(l),c=i(5),p=o(c),f=i(73),m=o(f),v=function(t){function e(t,i,o){(0,a.default)(this,e);var n=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return n._setMargins(o),n}return(0,p.default)(e,t),(0,d.default)(e,[{key:"resize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selected,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover;if(this.needsRefresh(e,i)){var o=this.getDimensionsFromLabel(t,e,i),n=Math.max(o.width+this.margin.right+this.margin.left,o.height+this.margin.top+this.margin.bottom);this.options.size=n/2,this.width=n,this.height=n,this.radius=this.width/2}}},{key:"draw",value:function(t,e,i,o,n,s){this.resize(t,o,n),this.left=e-this.width/2,this.top=i-this.height/2,this._drawRawCircle(t,e,i,s),this.updateBoundingBox(e,i),this.labelModule.draw(t,this.left+this.textSize.width/2+this.margin.left,i,o,n)}},{key:"updateBoundingBox",value:function(t,e){this.boundingBox.top=e-this.options.size,this.boundingBox.left=t-this.options.size,this.boundingBox.right=t+this.options.size,this.boundingBox.bottom=e+this.options.size}},{key:"distanceToBorder",value:function(t,e){return this.resize(t),.5*this.width}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(3),s=o(n),r=i(0),a=o(r),h=i(1),d=o(h),l=i(4),u=o(l),c=i(5),p=o(c),f=i(73),m=o(f),v=function(t){function e(t,i,o,n,r){(0,a.default)(this,e);var h=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return h.setImages(n,r),h}return(0,p.default)(e,t),(0,d.default)(e,[{key:"resize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selected,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover;if(void 0===this.imageObj.src||void 0===this.imageObj.width||void 0===this.imageObj.height){var o=2*this.options.size;return this.width=o,this.height=o,void(this.radius=.5*this.width)}this.needsRefresh(e,i)&&this._resizeImage()}},{key:"draw",value:function(t,e,i,o,n,s){this.switchImages(o),this.resize(),this.left=e-this.width/2,this.top=i-this.height/2,this._drawRawCircle(t,e,i,s),t.save(),t.clip(),this._drawImageAtPosition(t,s),t.restore(),this._drawImageLabel(t,e,i,o,n),this.updateBoundingBox(e,i)}},{key:"updateBoundingBox",value:function(t,e){this.boundingBox.top=e-this.options.size,this.boundingBox.left=t-this.options.size,this.boundingBox.right=t+this.options.size,this.boundingBox.bottom=e+this.options.size,this.boundingBox.left=Math.min(this.boundingBox.left,this.labelModule.size.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelModule.size.left+this.labelModule.size.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelOffset)}},{key:"distanceToBorder",value:function(t,e){return this.resize(t),.5*this.width}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(3),s=o(n),r=i(0),a=o(r),h=i(1),d=o(h),l=i(4),u=o(l),c=i(5),p=o(c),f=i(23),m=o(f),v=function(t){function e(t,i,o){(0,a.default)(this,e);var n=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return n._setMargins(o),n}return(0,p.default)(e,t),(0,d.default)(e,[{key:"resize",value:function(t,e,i){if(this.needsRefresh(e,i)){var o=this.getDimensionsFromLabel(t,e,i),n=o.width+this.margin.right+this.margin.left;this.width=n,this.height=n,this.radius=this.width/2}}},{key:"draw",value:function(t,e,i,o,n,s){this.resize(t,o,n),this.left=e-this.width/2,this.top=i-this.height/2,this.initContextForDraw(t,s),t.database(e-this.width/2,i-this.height/2,this.width,this.height),this.performFill(t,s),this.updateBoundingBox(e,i,t,o,n),this.labelModule.draw(t,this.left+this.textSize.width/2+this.margin.left,this.top+this.textSize.height/2+this.margin.top,o,n)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(3),s=o(n),r=i(0),a=o(r),h=i(1),d=o(h),l=i(4),u=o(l),c=i(5),p=o(c),f=i(24),m=o(f),v=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,p.default)(e,t),(0,d.default)(e,[{key:"draw",value:function(t,e,i,o,n,s){this._drawShape(t,"diamond",4,e,i,o,n,s)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(3),s=o(n),r=i(0),a=o(r),h=i(1),d=o(h),l=i(4),u=o(l),c=i(5),p=o(c),f=i(24),m=o(f),v=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,p.default)(e,t),(0,d.default)(e,[{key:"draw",value:function(t,e,i,o,n,s){this._drawShape(t,"circle",2,e,i,o,n,s)}},{key:"distanceToBorder",value:function(t,e){return this.resize(t),this.options.size}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(3),s=o(n),r=i(0),a=o(r),h=i(1),d=o(h),l=i(4),u=o(l),c=i(5),p=o(c),f=i(23),m=o(f),v=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,p.default)(e,t),(0,d.default)(e,[{key:"resize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selected,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover;if(this.needsRefresh(e,i)){var o=this.getDimensionsFromLabel(t,e,i);this.height=2*o.height,this.width=o.width+o.height,this.radius=.5*this.width}}},{key:"draw",value:function(t,e,i,o,n,s){this.resize(t,o,n),this.left=e-.5*this.width,this.top=i-.5*this.height,this.initContextForDraw(t,s),t.ellipse_vis(this.left,this.top,this.width,this.height),this.performFill(t,s),this.updateBoundingBox(e,i,t,o,n),this.labelModule.draw(t,e,i,o,n)}},{key:"distanceToBorder",value:function(t,e){this.resize(t);var i=.5*this.width,o=.5*this.height,n=Math.sin(e)*i,s=Math.cos(e)*o;return i*o/Math.sqrt(n*n+s*s)}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(3),s=o(n),r=i(0),a=o(r),h=i(1),d=o(h),l=i(4),u=o(l),c=i(5),p=o(c),f=i(23),m=o(f),v=function(t){function e(t,i,o){(0,a.default)(this,e);var n=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return n._setMargins(o),n}return(0,p.default)(e,t),(0,d.default)(e,[{key:"resize",value:function(t,e,i){this.needsRefresh(e,i)&&(this.iconSize={width:Number(this.options.icon.size),height:Number(this.options.icon.size)},this.width=this.iconSize.width+this.margin.right+this.margin.left,this.height=this.iconSize.height+this.margin.top+this.margin.bottom,this.radius=.5*this.width)}},{key:"draw",value:function(t,e,i,o,n,s){if(this.resize(t,o,n),this.options.icon.size=this.options.icon.size||50,this.left=e-this.width/2,this.top=i-this.height/2,this._icon(t,e,i,o,n,s),void 0!==this.options.label){this.labelModule.draw(t,this.left+this.iconSize.width/2+this.margin.left,i+this.height/2+5,o)}this.updateBoundingBox(e,i)}},{key:"updateBoundingBox",value:function(t,e){if(this.boundingBox.top=e-.5*this.options.icon.size,this.boundingBox.left=t-.5*this.options.icon.size,this.boundingBox.right=t+.5*this.options.icon.size,this.boundingBox.bottom=e+.5*this.options.icon.size,void 0!==this.options.label&&this.labelModule.size.width>0){this.boundingBox.left=Math.min(this.boundingBox.left,this.labelModule.size.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelModule.size.left+this.labelModule.size.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelModule.size.height+5)}}},{key:"_icon",value:function(t,e,i,o,n,s){var r=Number(this.options.icon.size);void 0!==this.options.icon.code?(t.font=(o?"bold ":"")+r+"px "+this.options.icon.face,t.fillStyle=this.options.icon.color||"black",t.textAlign="center",t.textBaseline="middle",this.enableShadow(t,s),t.fillText(this.options.icon.code,e,i),this.disableShadow(t,s)):console.error("When using the icon shape, you need to define the code in the icon options object. This can be done per node or globally.")}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(3),s=o(n),r=i(0),a=o(r),h=i(1),d=o(h),l=i(4),u=o(l),c=i(5),p=o(c),f=i(73),m=o(f),v=function(t){function e(t,i,o,n,r){(0,a.default)(this,e);var h=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return h.setImages(n,r),h}return(0,p.default)(e,t),(0,d.default)(e,[{key:"resize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selected,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover;if(void 0===this.imageObj.src||void 0===this.imageObj.width||void 0===this.imageObj.height){var o=2*this.options.size;return this.width=o,void(this.height=o)}this.needsRefresh(e,i)&&this._resizeImage()}},{key:"draw",value:function(t,e,i,o,n,s){if(this.switchImages(o),this.resize(),this.left=e-this.width/2,this.top=i-this.height/2,!0===this.options.shapeProperties.useBorderWithImage){ -var r=this.options.borderWidth,a=this.options.borderWidthSelected||2*this.options.borderWidth,h=(o?a:r)/this.body.view.scale;t.lineWidth=Math.min(this.width,h),t.beginPath(),t.strokeStyle=o?this.options.color.highlight.border:n?this.options.color.hover.border:this.options.color.border,t.fillStyle=o?this.options.color.highlight.background:n?this.options.color.hover.background:this.options.color.background,t.rect(this.left-.5*t.lineWidth,this.top-.5*t.lineWidth,this.width+t.lineWidth,this.height+t.lineWidth),t.fill(),this.performStroke(t,s),t.closePath()}this._drawImageAtPosition(t,s),this._drawImageLabel(t,e,i,o,n),this.updateBoundingBox(e,i)}},{key:"updateBoundingBox",value:function(t,e){this.resize(),this._updateBoundingBox(t,e),void 0!==this.options.label&&this.labelModule.size.width>0&&(this.boundingBox.left=Math.min(this.boundingBox.left,this.labelModule.size.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelModule.size.left+this.labelModule.size.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelOffset))}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(3),s=o(n),r=i(0),a=o(r),h=i(1),d=o(h),l=i(4),u=o(l),c=i(5),p=o(c),f=i(24),m=o(f),v=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,p.default)(e,t),(0,d.default)(e,[{key:"draw",value:function(t,e,i,o,n,s){this._drawShape(t,"square",2,e,i,o,n,s)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(3),s=o(n),r=i(0),a=o(r),h=i(1),d=o(h),l=i(4),u=o(l),c=i(5),p=o(c),f=i(24),m=o(f),v=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,p.default)(e,t),(0,d.default)(e,[{key:"draw",value:function(t,e,i,o,n,s){this._drawShape(t,"hexagon",4,e,i,o,n,s)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(3),s=o(n),r=i(0),a=o(r),h=i(1),d=o(h),l=i(4),u=o(l),c=i(5),p=o(c),f=i(24),m=o(f),v=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,p.default)(e,t),(0,d.default)(e,[{key:"draw",value:function(t,e,i,o,n,s){this._drawShape(t,"star",4,e,i,o,n,s)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(3),s=o(n),r=i(0),a=o(r),h=i(1),d=o(h),l=i(4),u=o(l),c=i(5),p=o(c),f=i(23),m=o(f),v=function(t){function e(t,i,o){(0,a.default)(this,e);var n=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return n._setMargins(o),n}return(0,p.default)(e,t),(0,d.default)(e,[{key:"resize",value:function(t,e,i){this.needsRefresh(e,i)&&(this.textSize=this.labelModule.getTextSize(t,e,i),this.width=this.textSize.width+this.margin.right+this.margin.left,this.height=this.textSize.height+this.margin.top+this.margin.bottom,this.radius=.5*this.width)}},{key:"draw",value:function(t,e,i,o,n,s){this.resize(t,o,n),this.left=e-this.width/2,this.top=i-this.height/2,this.enableShadow(t,s),this.labelModule.draw(t,this.left+this.textSize.width/2+this.margin.left,this.top+this.textSize.height/2+this.margin.top,o,n),this.disableShadow(t,s),this.updateBoundingBox(e,i,t,o,n)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(3),s=o(n),r=i(0),a=o(r),h=i(1),d=o(h),l=i(4),u=o(l),c=i(5),p=o(c),f=i(24),m=o(f),v=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,p.default)(e,t),(0,d.default)(e,[{key:"draw",value:function(t,e,i,o,n,s){this._drawShape(t,"triangle",3,e,i,o,n,s)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(3),s=o(n),r=i(0),a=o(r),h=i(1),d=o(h),l=i(4),u=o(l),c=i(5),p=o(c),f=i(24),m=o(f),v=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,p.default)(e,t),(0,d.default)(e,[{key:"draw",value:function(t,e,i,o,n,s){this._drawShape(t,"triangleDown",3,e,i,o,n,s)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(0),s=o(n),r=i(1),a=o(r),h=i(2),d=i(11),l=i(12),u=i(74).default,c=function(){function t(e,i,o){var n=this;(0,s.default)(this,t),this.body=e,this.images=i,this.groups=o,this.body.functions.createEdge=this.create.bind(this),this.edgesListeners={add:function(t,e){n.add(e.items)},update:function(t,e){n.update(e.items)},remove:function(t,e){n.remove(e.items)}},this.options={},this.defaultOptions={arrows:{to:{enabled:!1,scaleFactor:1,type:"arrow"},middle:{enabled:!1,scaleFactor:1,type:"arrow"},from:{enabled:!1,scaleFactor:1,type:"arrow"}},arrowStrikethrough:!0,color:{color:"#848484",highlight:"#848484",hover:"#848484",inherit:"from",opacity:1},dashes:!1,font:{color:"#343434",size:14,face:"arial",background:"none",strokeWidth:2,strokeColor:"#ffffff",align:"horizontal",multi:!1,vadjust:0,bold:{mod:"bold"},boldital:{mod:"bold italic"},ital:{mod:"italic"},mono:{mod:"",size:15,face:"courier new",vadjust:2}},hidden:!1,hoverWidth:1.5,label:void 0,labelHighlightBold:!0,length:void 0,physics:!0,scaling:{min:1,max:15,label:{enabled:!0,min:14,max:30,maxVisible:30,drawThreshold:5},customScalingFunction:function(t,e,i,o){if(e===t)return.5;var n=1/(e-t);return Math.max(0,(o-t)*n)}},selectionWidth:1.5,selfReferenceSize:20,shadow:{enabled:!1,color:"rgba(0,0,0,0.5)",size:10,x:5,y:5},smooth:{enabled:!0,type:"dynamic",forceDirection:"none",roundness:.5},title:void 0,width:1,value:void 0},h.deepExtend(this.options,this.defaultOptions),this.bindEventListeners()}return(0,a.default)(t,[{key:"bindEventListeners",value:function(){var t=this;this.body.emitter.on("_forceDisableDynamicCurves",function(e){var i=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];"dynamic"===e&&(e="continuous");var o=!1;for(var n in t.body.edges)if(t.body.edges.hasOwnProperty(n)){var s=t.body.edges[n],r=t.body.data.edges._data[n];if(void 0!==r){var a=r.smooth;void 0!==a&&!0===a.enabled&&"dynamic"===a.type&&(void 0===e?s.setOptions({smooth:!1}):s.setOptions({smooth:{type:e}}),o=!0)}}!0===i&&!0===o&&t.body.emitter.emit("_dataChanged")}),this.body.emitter.on("_dataUpdated",function(){t.reconnectEdges()}),this.body.emitter.on("refreshEdges",this.refresh.bind(this)),this.body.emitter.on("refresh",this.refresh.bind(this)),this.body.emitter.on("destroy",function(){h.forEach(t.edgesListeners,function(e,i){t.body.data.edges&&t.body.data.edges.off(i,e)}),delete t.body.functions.createEdge,delete t.edgesListeners.add,delete t.edgesListeners.update,delete t.edgesListeners.remove,delete t.edgesListeners})}},{key:"setOptions",value:function(t){if(void 0!==t){u.parseOptions(this.options,t,!0,this.defaultOptions,!0);var e=!1;if(void 0!==t.smooth)for(var i in this.body.edges)this.body.edges.hasOwnProperty(i)&&(e=this.body.edges[i].updateEdgeType()||e);if(void 0!==t.font)for(var o in this.body.edges)this.body.edges.hasOwnProperty(o)&&this.body.edges[o].updateLabelModule();void 0===t.hidden&&void 0===t.physics&&!0!==e||this.body.emitter.emit("_dataChanged")}}},{key:"setData",value:function(t){var e=this,i=arguments.length>1&&void 0!==arguments[1]&&arguments[1],o=this.body.data.edges;if(t instanceof d||t instanceof l)this.body.data.edges=t;else if(Array.isArray(t))this.body.data.edges=new d,this.body.data.edges.add(t);else{if(t)throw new TypeError("Array or DataSet expected");this.body.data.edges=new d}if(o&&h.forEach(this.edgesListeners,function(t,e){o.off(e,t)}),this.body.edges={},this.body.data.edges){h.forEach(this.edgesListeners,function(t,i){e.body.data.edges.on(i,t)});var n=this.body.data.edges.getIds();this.add(n,!0)}this.body.emitter.emit("_adjustEdgesForHierarchicalLayout"),!1===i&&this.body.emitter.emit("_dataChanged")}},{key:"add",value:function(t){for(var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=this.body.edges,o=this.body.data.edges,n=0;n1&&void 0!==arguments[1])||arguments[1];if(0!==t.length){var i=this.body.edges;h.forEach(t,function(t){var e=i[t];void 0!==e&&e.remove()}),e&&this.body.emitter.emit("_dataChanged")}}},{key:"refresh",value:function(){var t=this;h.forEach(this.body.edges,function(e,i){var o=t.body.data.edges._data[i];void 0!==o&&e.setOptions(o)})}},{key:"create",value:function(t){return new u(t,this.body,this.options,this.defaultOptions)}},{key:"reconnectEdges",value:function(){var t,e=this.body.nodes,i=this.body.edges;for(t in e)e.hasOwnProperty(t)&&(e[t].edges=[]);for(t in i)if(i.hasOwnProperty(t)){var o=i[t];o.from=null,o.to=null,o.connect()}}},{key:"getConnectedNodes",value:function(t){var e=[];if(void 0!==this.body.edges[t]){var i=this.body.edges[t];void 0!==i.fromId&&e.push(i.fromId),void 0!==i.toId&&e.push(i.toId)}return e}},{key:"_updateState",value:function(){this._addMissingEdges(),this._removeInvalidEdges()}},{key:"_removeInvalidEdges",value:function(){var t=this,e=[];h.forEach(this.body.edges,function(i,o){var n=t.body.nodes[i.toId],s=t.body.nodes[i.fromId];void 0!==n&&!0===n.isCluster||void 0!==s&&!0===s.isCluster||void 0!==n&&void 0!==s||e.push(o)}),this.remove(e,!1)}},{key:"_addMissingEdges",value:function(){var t=this.body.edges,e=this.body.data.edges,i=[];e.forEach(function(e,o){void 0===t[o]&&i.push(o)}),this.add(i,!0)}}]),t}();e.default=c},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(31),s=o(n),r=i(3),a=o(r),h=i(0),d=o(h),l=i(1),u=o(l),c=i(4),p=o(c),f=i(5),m=o(f),v=i(216),g=o(v),y=function(t){function e(t,i,o){return(0,d.default)(this,e),(0,p.default)(this,(e.__proto__||(0,a.default)(e)).call(this,t,i,o))}return(0,m.default)(e,t),(0,u.default)(e,[{key:"_line",value:function(t,e,i){var o=i[0],n=i[1];this._bezierCurve(t,e,o,n)}},{key:"_getViaCoordinates",value:function(){var t=this.from.x-this.to.x,e=this.from.y-this.to.y,i=void 0,o=void 0,n=void 0,s=void 0,r=this.options.smooth.roundness;return(Math.abs(t)>Math.abs(e)||!0===this.options.smooth.forceDirection||"horizontal"===this.options.smooth.forceDirection)&&"vertical"!==this.options.smooth.forceDirection?(o=this.from.y,s=this.to.y,i=this.from.x-r*t,n=this.to.x+r*t):(o=this.from.y-r*e,s=this.to.y+r*e,i=this.from.x,n=this.to.x),[{x:i,y:o},{x:n,y:s}]}},{key:"getViaNode",value:function(){return this._getViaCoordinates()}},{key:"_findBorderPosition",value:function(t,e){return this._findBorderPositionBezier(t,e)}},{key:"_getDistanceToEdge",value:function(t,e,i,o,n,r){var a=arguments.length>6&&void 0!==arguments[6]?arguments[6]:this._getViaCoordinates(),h=(0,s.default)(a,2),d=h[0],l=h[1];return this._getDistanceToBezierEdge(t,e,i,o,n,r,d,l)}},{key:"getPoint",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this._getViaCoordinates(),i=(0,s.default)(e,2),o=i[0],n=i[1],r=t,a=[];return a[0]=Math.pow(1-r,3),a[1]=3*r*Math.pow(1-r,2),a[2]=3*Math.pow(r,2)*(1-r),a[3]=Math.pow(r,3),{x:a[0]*this.fromPoint.x+a[1]*o.x+a[2]*n.x+a[3]*this.toPoint.x,y:a[0]*this.fromPoint.y+a[1]*o.y+a[2]*n.y+a[3]*this.toPoint.y}}}]),e}(g.default);e.default=y},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(3),s=o(n),r=i(0),a=o(r),h=i(1),d=o(h),l=i(4),u=o(l),c=i(5),p=o(c),f=i(75),m=o(f),v=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,p.default)(e,t),(0,d.default)(e,[{key:"_getDistanceToBezierEdge",value:function(t,e,i,o,n,s,r,a){var h=1e9,d=void 0,l=void 0,u=void 0,c=void 0,p=void 0,f=t,m=e,v=[0,0,0,0];for(l=1;l<10;l++)u=.1*l,v[0]=Math.pow(1-u,3),v[1]=3*u*Math.pow(1-u,2),v[2]=3*Math.pow(u,2)*(1-u),v[3]=Math.pow(u,3),c=v[0]*t+v[1]*r.x+v[2]*a.x+v[3]*i,p=v[0]*e+v[1]*r.y+v[2]*a.y+v[3]*o,l>0&&(d=this._getDistanceToLine(f,m,c,p,n,s),h=d1&&void 0!==arguments[1]?arguments[1]:this.via,i=t,o=void 0,n=void 0;if(this.from===this.to){var r=this._getCircleData(this.from),a=(0,s.default)(r,3),h=a[0],d=a[1],l=a[2],u=2*Math.PI*(1-i);o=h+l*Math.sin(u),n=d+l-l*(1-Math.cos(u))}else o=Math.pow(1-i,2)*this.fromPoint.x+2*i*(1-i)*e.x+Math.pow(i,2)*this.toPoint.x,n=Math.pow(1-i,2)*this.fromPoint.y+2*i*(1-i)*e.y+Math.pow(i,2)*this.toPoint.y;return{x:o,y:n}}},{key:"_findBorderPosition",value:function(t,e){return this._findBorderPositionBezier(t,e,this.via)}},{key:"_getDistanceToEdge",value:function(t,e,i,o,n,s){return this._getDistanceToBezierEdge(t,e,i,o,n,s,this.via)}}]),e}(g.default);e.default=y},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(3),s=o(n),r=i(0),a=o(r),h=i(1),d=o(h),l=i(4),u=o(l),c=i(5),p=o(c),f=i(75),m=o(f),v=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,p.default)(e,t),(0,d.default)(e,[{key:"_line",value:function(t,e,i){this._bezierCurve(t,e,i)}},{key:"getViaNode",value:function(){return this._getViaCoordinates()}},{key:"_getViaCoordinates",value:function(){var t=void 0,e=void 0,i=this.options.smooth.roundness,o=this.options.smooth.type,n=Math.abs(this.from.x-this.to.x),s=Math.abs(this.from.y-this.to.y);if("discrete"===o||"diagonalCross"===o){var r=void 0,a=void 0;r=a=n<=s?i*s:i*n,this.from.x>this.to.x&&(r=-r),this.from.y>=this.to.y&&(a=-a),t=this.from.x+r,e=this.from.y+a,"discrete"===o&&(n<=s?t=nthis.to.x&&(_=-_),this.from.y>=this.to.y&&(w=-w),t=this.from.x+_,e=this.from.y+w,n<=s?t=this.from.x<=this.to.x?this.to.xt?this.to.x:t:e=this.from.y>=this.to.y?this.to.y>e?this.to.y:e:this.to.y2&&void 0!==arguments[2]?arguments[2]:{};return this._findBorderPositionBezier(t,e,i.via)}},{key:"_getDistanceToEdge",value:function(t,e,i,o,n,s){var r=arguments.length>6&&void 0!==arguments[6]?arguments[6]:this._getViaCoordinates();return this._getDistanceToBezierEdge(t,e,i,o,n,s,r)}},{key:"getPoint",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this._getViaCoordinates(),i=t;return{x:Math.pow(1-i,2)*this.fromPoint.x+2*i*(1-i)*e.x+Math.pow(i,2)*this.toPoint.x,y:Math.pow(1-i,2)*this.fromPoint.y+2*i*(1-i)*e.y+Math.pow(i,2)*this.toPoint.y}}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(3),s=o(n),r=i(0),a=o(r),h=i(1),d=o(h),l=i(4),u=o(l),c=i(5),p=o(c),f=i(118),m=o(f),v=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,p.default)(e,t),(0,d.default)(e,[{key:"_line",value:function(t,e){t.beginPath(),t.moveTo(this.fromPoint.x,this.fromPoint.y),t.lineTo(this.toPoint.x,this.toPoint.y),this.enableShadow(t,e),t.stroke(),this.disableShadow(t,e)}},{key:"getViaNode",value:function(){}},{key:"getPoint",value:function(t){return{x:(1-t)*this.fromPoint.x+t*this.toPoint.x,y:(1-t)*this.fromPoint.y+t*this.toPoint.y}}},{key:"_findBorderPosition",value:function(t,e){var i=this.to,o=this.from;t.id===this.from.id&&(i=this.from,o=this.to);var n=Math.atan2(i.y-o.y,i.x-o.x),s=i.x-o.x,r=i.y-o.y,a=Math.sqrt(s*s+r*r),h=t.distanceToBorder(e,n),d=(a-h)/a,l={};return l.x=(1-d)*o.x+d*i.x,l.y=(1-d)*o.y+d*i.y,l}},{key:"_getDistanceToEdge",value:function(t,e,i,o,n,s){return this._getDistanceToLine(t,e,i,o,n,s)}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(8),s=o(n),r=i(0),a=o(r),h=i(1),d=o(h),l=i(120).default,u=i(221).default,c=i(222).default,p=i(223).default,f=i(224).default,m=i(121).default,v=i(225).default,g=i(226).default,y=i(2),b=i(119).default,_=function(){function t(e){(0,a.default)(this,t),this.body=e,this.physicsBody={physicsNodeIndices:[],physicsEdgeIndices:[],forces:{},velocities:{}},this.physicsEnabled=!0,this.simulationInterval=1e3/60,this.requiresTimeout=!0,this.previousStates={},this.referenceState={},this.freezeCache={},this.renderTimer=void 0,this.adaptiveTimestep=!1,this.adaptiveTimestepEnabled=!1,this.adaptiveCounter=0,this.adaptiveInterval=3,this.stabilized=!1,this.startedStabilization=!1,this.stabilizationIterations=0,this.ready=!1,this.options={},this.defaultOptions={enabled:!0,barnesHut:{theta:.5,gravitationalConstant:-2e3,centralGravity:.3,springLength:95,springConstant:.04,damping:.09,avoidOverlap:0},forceAtlas2Based:{theta:.5,gravitationalConstant:-50,centralGravity:.01,springConstant:.08,springLength:100,damping:.4,avoidOverlap:0},repulsion:{centralGravity:.2,springLength:200,springConstant:.05,nodeDistance:100,damping:.09,avoidOverlap:0},hierarchicalRepulsion:{centralGravity:0,springLength:100,springConstant:.01,nodeDistance:120,damping:.09},maxVelocity:50,minVelocity:.75,solver:"barnesHut",stabilization:{enabled:!0,iterations:1e3,updateInterval:50,onlyDynamicEdges:!1,fit:!0},timestep:.5,adaptiveTimestep:!0},y.extend(this.options,this.defaultOptions),this.timestep=.5,this.layoutFailed=!1,this.bindEventListeners()}return(0,d.default)(t,[{key:"bindEventListeners",value:function(){var t=this;this.body.emitter.on("initPhysics",function(){t.initPhysics()}),this.body.emitter.on("_layoutFailed",function(){t.layoutFailed=!0}),this.body.emitter.on("resetPhysics",function(){t.stopSimulation(),t.ready=!1}),this.body.emitter.on("disablePhysics",function(){t.physicsEnabled=!1,t.stopSimulation()}),this.body.emitter.on("restorePhysics",function(){t.setOptions(t.options),!0===t.ready&&t.startSimulation()}),this.body.emitter.on("startSimulation",function(){!0===t.ready&&t.startSimulation()}),this.body.emitter.on("stopSimulation",function(){t.stopSimulation()}),this.body.emitter.on("destroy",function(){t.stopSimulation(!1),t.body.emitter.off()}),this.body.emitter.on("_dataChanged",function(){t.updatePhysicsData()})}},{key:"setOptions",value:function(t){void 0!==t&&(!1===t?(this.options.enabled=!1,this.physicsEnabled=!1,this.stopSimulation()):!0===t?(this.options.enabled=!0,this.physicsEnabled=!0,this.startSimulation()):(this.physicsEnabled=!0,y.selectiveNotDeepExtend(["stabilization"],this.options,t),y.mergeOptions(this.options,t,"stabilization"),void 0===t.enabled&&(this.options.enabled=!0),!1===this.options.enabled&&(this.physicsEnabled=!1,this.stopSimulation()),this.timestep=this.options.timestep)),this.init()}},{key:"init",value:function(){var t;"forceAtlas2Based"===this.options.solver?(t=this.options.forceAtlas2Based,this.nodesSolver=new v(this.body,this.physicsBody,t),this.edgesSolver=new p(this.body,this.physicsBody,t),this.gravitySolver=new g(this.body,this.physicsBody,t)):"repulsion"===this.options.solver?(t=this.options.repulsion,this.nodesSolver=new u(this.body,this.physicsBody,t),this.edgesSolver=new p(this.body,this.physicsBody,t),this.gravitySolver=new m(this.body,this.physicsBody,t)):"hierarchicalRepulsion"===this.options.solver?(t=this.options.hierarchicalRepulsion,this.nodesSolver=new c(this.body,this.physicsBody,t),this.edgesSolver=new f(this.body,this.physicsBody,t),this.gravitySolver=new m(this.body,this.physicsBody,t)):(t=this.options.barnesHut,this.nodesSolver=new l(this.body,this.physicsBody,t),this.edgesSolver=new p(this.body,this.physicsBody,t),this.gravitySolver=new m(this.body,this.physicsBody,t)),this.modelOptions=t}},{key:"initPhysics",value:function(){!0===this.physicsEnabled&&!0===this.options.enabled?!0===this.options.stabilization.enabled?this.stabilize():(this.stabilized=!1,this.ready=!0,this.body.emitter.emit("fit",{},this.layoutFailed),this.startSimulation()):(this.ready=!0,this.body.emitter.emit("fit"))}},{key:"startSimulation",value:function(){!0===this.physicsEnabled&&!0===this.options.enabled?(this.stabilized=!1,this.adaptiveTimestep=!1,this.body.emitter.emit("_resizeNodes"),void 0===this.viewFunction&&(this.viewFunction=this.simulationStep.bind(this),this.body.emitter.on("initRedraw",this.viewFunction),this.body.emitter.emit("_startRendering"))):this.body.emitter.emit("_redraw")}},{key:"stopSimulation",value:function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];this.stabilized=!0,!0===t&&this._emitStabilized(),void 0!==this.viewFunction&&(this.body.emitter.off("initRedraw",this.viewFunction),this.viewFunction=void 0,!0===t&&this.body.emitter.emit("_stopRendering"))}},{key:"simulationStep",value:function(){var t=Date.now();this.physicsTick(),(Date.now()-t<.4*this.simulationInterval||!0===this.runDoubleSpeed)&&!1===this.stabilized&&(this.physicsTick(),this.runDoubleSpeed=!0),!0===this.stabilized&&this.stopSimulation()}},{key:"_emitStabilized",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.stabilizationIterations;(this.stabilizationIterations>1||!0===this.startedStabilization)&&setTimeout(function(){t.body.emitter.emit("stabilized",{iterations:e}),t.startedStabilization=!1,t.stabilizationIterations=0},0)}},{key:"physicsStep",value:function(){this.gravitySolver.solve(),this.nodesSolver.solve(),this.edgesSolver.solve(),this.moveNodes()}},{key:"adjustTimeStep",value:function(){!0===this._evaluateStepQuality()?this.timestep=1.2*this.timestep:this.timestep/1.2.3))return!1;return!0}},{key:"moveNodes",value:function(){for(var t=this.physicsBody.physicsNodeIndices,e=0,i=0,o=0;oo&&(t=t>0?o:-o),t}},{key:"_performStep",value:function(t){var e=this.body.nodes[t],i=this.physicsBody.forces[t],o=this.physicsBody.velocities[t];return this.previousStates[t]={x:e.x,y:e.y,vx:o.x,vy:o.y},!1===e.options.fixed.x?(o.x=this.calculateComponentVelocity(o.x,i.x,e.options.mass),e.x+=o.x*this.timestep):(i.x=0,o.x=0),!1===e.options.fixed.y?(o.y=this.calculateComponentVelocity(o.y,i.y,e.options.mass),e.y+=o.y*this.timestep):(i.y=0,o.y=0),Math.sqrt(Math.pow(o.x,2)+Math.pow(o.y,2))}},{key:"_freezeNodes",value:function(){var t=this.body.nodes;for(var e in t)if(t.hasOwnProperty(e)&&t[e].x&&t[e].y){var i=t[e].options.fixed;this.freezeCache[e]={x:i.x,y:i.y},i.x=!0,i.y=!0}}},{key:"_restoreFrozenNodes",value:function(){var t=this.body.nodes;for(var e in t)t.hasOwnProperty(e)&&void 0!==this.freezeCache[e]&&(t[e].options.fixed.x=this.freezeCache[e].x,t[e].options.fixed.y=this.freezeCache[e].y);this.freezeCache={}}},{key:"stabilize",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.options.stabilization.iterations;if("number"!=typeof e&&(e=this.options.stabilization.iterations,console.log("The stabilize method needs a numeric amount of iterations. Switching to default: ",e)),0===this.physicsBody.physicsNodeIndices.length)return void(this.ready=!0);this.adaptiveTimestep=this.options.adaptiveTimestep,this.body.emitter.emit("_resizeNodes"),this.stopSimulation(),this.stabilized=!1,this.body.emitter.emit("_blockRedraw"),this.targetIterations=e,!0===this.options.stabilization.onlyDynamicEdges&&this._freezeNodes(),this.stabilizationIterations=0,setTimeout(function(){return t._stabilizationBatch()},0)}},{key:"_startStabilizing",value:function(){return!0!==this.startedStabilization&&(this.body.emitter.emit("startStabilizing"),this.startedStabilization=!0,!0)}},{key:"_stabilizationBatch",value:function(){var t=this,e=function(){return!1===t.stabilized&&t.stabilizationIterations0){var s=n.edges.length+1,r=this.options.centralGravity*s*n.options.mass;o[n.id].x=e*r,o[n.id].y=i*r}}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(8),s=o(n),r=i(6),a=o(r),h=i(0),d=o(h),l=i(1),u=o(l),c=i(2),p=i(76).default,f=i(228).default,m=i(74).default,v=i(48).default,g=function(){function t(e){var i=this;(0,d.default)(this,t),this.body=e,this.clusteredNodes={},this.clusteredEdges={},this.options={},this.defaultOptions={},c.extend(this.options,this.defaultOptions),this.body.emitter.on("_resetData",function(){i.clusteredNodes={},i.clusteredEdges={}})}return(0,u.default)(t,[{key:"clusterByHubsize",value:function(t,e){void 0===t?t=this._getHubSize():"object"===(void 0===t?"undefined":(0,a.default)(t))&&(e=this._checkOptions(t),t=this._getHubSize());for(var i=[],o=0;o=t&&i.push(n.id)}for(var s=0;s0&&void 0!==arguments[0]?arguments[0]:{},i=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(void 0===e.joinCondition)throw new Error("Cannot call clusterByNodeData without a joinCondition function in the options.");e=this._checkOptions(e);var o={},n={};c.forEach(this.body.nodes,function(i,s){var r=p.cloneOptions(i);!0===e.joinCondition(r)&&(o[s]=i,c.forEach(i.edges,function(e){void 0===t.clusteredEdges[e.id]&&(n[e.id]=e)}))}),this._cluster(o,n,e,i)}},{key:"clusterByEdgeCount",value:function(t,e){var i=this,o=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];e=this._checkOptions(e);for(var n=[],r={},a=void 0,h=void 0,d=void 0,l=0;l0&&(0,s.default)(m).length>0&&!0===b)if(c=function(){for(var t=0;t1&&void 0!==arguments[1])||arguments[1];this.clusterByEdgeCount(1,t,e)}},{key:"clusterBridges",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];this.clusterByEdgeCount(2,t,e)}},{key:"clusterByConnection",value:function(t,e){var i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(void 0===t)throw new Error("No nodeId supplied to clusterByConnection!");if(void 0===this.body.nodes[t])throw new Error("The nodeId given to clusterByConnection does not exist!");var o=this.body.nodes[t];e=this._checkOptions(e,o),void 0===e.clusterNodeProperties.x&&(e.clusterNodeProperties.x=o.x),void 0===e.clusterNodeProperties.y&&(e.clusterNodeProperties.y=o.y),void 0===e.clusterNodeProperties.fixed&&(e.clusterNodeProperties.fixed={},e.clusterNodeProperties.fixed.x=o.options.fixed.x,e.clusterNodeProperties.fixed.y=o.options.fixed.y);var n={},r={},a=o.id,h=p.cloneOptions(o);n[a]=o;for(var d=0;d-1&&(r[g.id]=g)}this._cluster(n,r,e,i)}},{key:"_createClusterEdges",value:function(t,e,i,o){for(var n=void 0,r=void 0,a=void 0,h=void 0,d=void 0,l=void 0,u=(0,s.default)(t),c=[],p=0;p0&&void 0!==arguments[0]?arguments[0]:{};return void 0===t.clusterEdgeProperties&&(t.clusterEdgeProperties={}),void 0===t.clusterNodeProperties&&(t.clusterNodeProperties={}),t}},{key:"_cluster",value:function(t,e,i){var o=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],n=[];for(var r in t)t.hasOwnProperty(r)&&void 0!==this.clusteredNodes[r]&&n.push(r);for(var a=0;ao?a.x:o,n=a.yr?a.y:r;return{x:.5*(i+o),y:.5*(n+r)}}},{key:"openCluster",value:function(t,e){var i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(void 0===t)throw new Error("No clusterNodeId supplied to openCluster.");var o=this.body.nodes[t];if(void 0===o)throw new Error("The clusterNodeId supplied to openCluster does not exist.");if(!0!==o.isCluster||void 0===o.containedNodes||void 0===o.containedEdges)throw new Error("The node:"+t+" is not a valid cluster.");var n=this.findNode(t),s=n.indexOf(t)-1;if(s>=0){var r=n[s];return this.body.nodes[r]._openChildCluster(t),delete this.body.nodes[t],void(!0===i&&this.body.emitter.emit("_dataChanged"))}var a=o.containedNodes,h=o.containedEdges;if(void 0!==e&&void 0!==e.releaseFunction&&"function"==typeof e.releaseFunction){var d={},l={x:o.x,y:o.y};for(var u in a)if(a.hasOwnProperty(u)){var p=this.body.nodes[u];d[u]={x:p.x,y:p.y}}var f=e.releaseFunction(l,d);for(var m in a)if(a.hasOwnProperty(m)){var v=this.body.nodes[m];void 0!==f[m]&&(v.x=void 0===f[m].x?o.x:f[m].x,v.y=void 0===f[m].y?o.y:f[m].y)}}else c.forEach(a,function(t){!1===t.options.fixed.x&&(t.x=o.x),!1===t.options.fixed.y&&(t.y=o.y)});for(var g in a)if(a.hasOwnProperty(g)){var y=this.body.nodes[g];y.vx=o.vx,y.vy=o.vy,y.setOptions({physics:!0}),delete this.clusteredNodes[g]}for(var b=[],_=0;_0&&n<100;){var s=e.pop();if(void 0!==s){var r=this.body.edges[s];if(void 0!==r){n++;var a=r.clusteringEdgeReplacingIds;if(void 0===a)o.push(s);else for(var h=0;ho&&(o=s.edges.length),t+=s.edges.length,e+=Math.pow(s.edges.length,2),i+=1}t/=i,e/=i;var r=e-Math.pow(t,2),a=Math.sqrt(r),h=Math.floor(t+2*a);return h>o&&(h=o),h}},{key:"_createClusteredEdge",value:function(t,e,i,o,n){var s=p.cloneOptions(i,"edge");c.deepExtend(s,o),s.from=t,s.to=e,s.id="clusterEdge:"+c.randomUUID(),void 0!==n&&c.deepExtend(s,n);var r=this.body.functions.createEdge(s);return r.clusteringEdgeReplacingIds=[i.id],r.connect(),this.body.edges[r.id]=r,r}},{key:"_clusterEdges",value:function(t,e,i,o){if(e instanceof m){var n=e,s={};s[n.id]=n,e=s}if(t instanceof v){var r=t,a={};a[r.id]=r,t=a}if(void 0===i||null===i)throw new Error("_clusterEdges: parameter clusterNode required");void 0===o&&(o=i.clusterEdgeProperties),this._createClusterEdges(t,e,i,o);for(var h in e)if(e.hasOwnProperty(h)&&void 0!==this.body.edges[h]){var d=this.body.edges[h];this._backupEdgeOptions(d),d.setOptions({physics:!1})}for(var l in t)t.hasOwnProperty(l)&&(this.clusteredNodes[l]={clusterId:i.id,node:this.body.nodes[l]},this.body.nodes[l].setOptions({physics:!1}))}},{key:"_getClusterNodeForNode",value:function(t){if(void 0!==t){var e=this.clusteredNodes[t];if(void 0!==e){var i=e.clusterId;if(void 0!==i)return this.body.nodes[i]}}}},{key:"_filter",value:function(t,e){var i=[];return c.forEach(t,function(t){e(t)&&i.push(t)}),i}},{key:"_updateState",value:function(){var t=this,e=void 0,i=[],o=[],n=function(e){c.forEach(t.body.nodes,function(t){!0===t.isCluster&&e(t)})};for(e in this.clusteredNodes)if(this.clusteredNodes.hasOwnProperty(e)){var r=this.body.nodes[e];void 0===r&&i.push(e)}n(function(t){for(var e=0;e0}e.endPointsValid()&&n||o.push(i)}),n(function(e){c.forEach(o,function(i){delete e.containedEdges[i],c.forEach(e.edges,function(n,s){if(n.id===i)return void(e.edges[s]=null);n.clusteringEdgeReplacingIds=t._filter(n.clusteringEdgeReplacingIds,function(t){return-1===o.indexOf(t)})}),e.edges=t._filter(e.edges,function(t){return null!==t})})}),c.forEach(o,function(e){delete t.clusteredEdges[e]}),c.forEach(o,function(e){delete t.body.edges[e]});var h=(0,s.default)(this.body.edges);c.forEach(h,function(e){var i=t.body.edges[e],o=t._isClusteredNode(i.fromId)||t._isClusteredNode(i.toId);if(o!==t._isClusteredEdge(i.id)){if(!o)throw new Error("remove edge from clustering not implemented!");var n=t._getClusterNodeForNode(i.fromId);void 0!==n&&t._clusterEdges(t.body.nodes[i.fromId],i,n);var s=t._getClusterNodeForNode(i.toId);void 0!==s&&t._clusterEdges(t.body.nodes[i.toId],i,s)}});for(var d=!1,l=!0;l;)!function(){var e=[];n(function(t){var i=(0,s.default)(t.containedNodes).length,o=!0===t.options.allowSingleNodeCluster;(o&&i<1||!o&&i<2)&&e.push(t.id)});for(var i=0;i0,d=d||l}();d&&this._updateState()}},{key:"_isClusteredNode",value:function(t){return void 0!==this.clusteredNodes[t]}},{key:"_isClusteredEdge",value:function(t){return void 0!==this.clusteredEdges[t]}}]),t}();e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(3),s=o(n),r=i(0),a=o(r),h=i(1),d=o(h),l=i(4),u=o(l),c=i(5),p=o(c),f=i(2),m=i(48).default,v=function(t){function e(t,i,o,n,r,h){(0,a.default)(this,e);var d=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o,n,r,h));return d.isCluster=!0,d.containedNodes={},d.containedEdges={},d}return(0,p.default)(e,t),(0,d.default)(e,[{key:"_openChildCluster",value:function(t){var e=this,i=this.body.nodes[t];if(void 0===this.containedNodes[t])throw new Error("node with id: "+t+" not in current cluster");if(!i.isCluster)throw new Error("node with id: "+t+" is not a cluster");delete this.containedNodes[t],f.forEach(i.edges,function(t){delete e.containedEdges[t.id]}),f.forEach(i.containedNodes,function(t,i){e.containedNodes[i]=t}),i.containedNodes={},f.forEach(i.containedEdges,function(t,i){e.containedEdges[i]=t}),i.containedEdges={},f.forEach(i.edges,function(t){f.forEach(e.edges,function(i){var o=i.clusteringEdgeReplacingIds.indexOf(t.id);-1!==o&&(f.forEach(t.clusteringEdgeReplacingIds,function(t){i.clusteringEdgeReplacingIds.push(t),e.body.edges[t].edgeReplacedById=i.id}),i.clusteringEdgeReplacingIds.splice(o,1))})}),i.edges=[]}}]),e}(m);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}function n(){var t;void 0!==window&&(t=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame),window.requestAnimationFrame=void 0===t?function(t){t()}:t}Object.defineProperty(e,"__esModule",{value:!0});var s=i(0),r=o(s),a=i(1),h=o(a),d=i(2),l=function(){function t(e,i){(0,r.default)(this,t),n(),this.body=e,this.canvas=i,this.redrawRequested=!1,this.renderTimer=void 0,this.requiresTimeout=!0,this.renderingActive=!1,this.renderRequests=0,this.allowRedraw=!0,this.dragging=!1,this.options={},this.defaultOptions={hideEdgesOnDrag:!1,hideNodesOnDrag:!1},d.extend(this.options,this.defaultOptions),this._determineBrowserMethod(),this.bindEventListeners()}return(0,h.default)(t,[{key:"bindEventListeners",value:function(){var t=this;this.body.emitter.on("dragStart",function(){t.dragging=!0}),this.body.emitter.on("dragEnd",function(){t.dragging=!1}),this.body.emitter.on("_resizeNodes",function(){t._resizeNodes()}),this.body.emitter.on("_redraw",function(){!1===t.renderingActive&&t._redraw()}),this.body.emitter.on("_blockRedraw",function(){t.allowRedraw=!1}),this.body.emitter.on("_allowRedraw",function(){t.allowRedraw=!0,t.redrawRequested=!1}),this.body.emitter.on("_requestRedraw",this._requestRedraw.bind(this)),this.body.emitter.on("_startRendering",function(){t.renderRequests+=1,t.renderingActive=!0,t._startRendering()}),this.body.emitter.on("_stopRendering",function(){t.renderRequests-=1,t.renderingActive=t.renderRequests>0,t.renderTimer=void 0}),this.body.emitter.on("destroy",function(){t.renderRequests=0,t.allowRedraw=!1,t.renderingActive=!1,!0===t.requiresTimeout?clearTimeout(t.renderTimer):window.cancelAnimationFrame(t.renderTimer),t.body.emitter.off()})}},{key:"setOptions",value:function(t){if(void 0!==t){var e=["hideEdgesOnDrag","hideNodesOnDrag"];d.selectiveDeepExtend(e,this.options,t)}}},{key:"_requestNextFrame",value:function(t,e){if("undefined"!=typeof window){var i=void 0,o=window;return!0===this.requiresTimeout?i=o.setTimeout(t,e):o.requestAnimationFrame&&(i=o.requestAnimationFrame(t)),i}}},{key:"_startRendering",value:function(){!0===this.renderingActive&&void 0===this.renderTimer&&(this.renderTimer=this._requestNextFrame(this._renderStep.bind(this),this.simulationInterval))}},{key:"_renderStep",value:function(){!0===this.renderingActive&&(this.renderTimer=void 0,!0===this.requiresTimeout&&this._startRendering(),this._redraw(),!1===this.requiresTimeout&&this._startRendering())}},{key:"redraw",value:function(){this.body.emitter.emit("setSize"),this._redraw()}},{key:"_requestRedraw",value:function(){var t=this;!0!==this.redrawRequested&&!1===this.renderingActive&&!0===this.allowRedraw&&(this.redrawRequested=!0,this._requestNextFrame(function(){t._redraw(!1)},0))}},{key:"_redraw",value:function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(!0===this.allowRedraw){this.body.emitter.emit("initRedraw"),this.redrawRequested=!1,0!==this.canvas.frame.canvas.width&&0!==this.canvas.frame.canvas.height||this.canvas.setSize(),this.canvas.setTransform();var e=this.canvas.getContext(),i=this.canvas.frame.canvas.clientWidth,o=this.canvas.frame.canvas.clientHeight;if(e.clearRect(0,0,i,o),0===this.canvas.frame.clientWidth)return;e.save(),e.translate(this.body.view.translation.x,this.body.view.translation.y),e.scale(this.body.view.scale,this.body.view.scale),e.beginPath(),this.body.emitter.emit("beforeDrawing",e),e.closePath(),!1===t&&(!1===this.dragging||!0===this.dragging&&!1===this.options.hideEdgesOnDrag)&&this._drawEdges(e),(!1===this.dragging||!0===this.dragging&&!1===this.options.hideNodesOnDrag)&&this._drawNodes(e,t),e.beginPath(),this.body.emitter.emit("afterDrawing",e),e.closePath(),e.restore(),!0===t&&e.clearRect(0,0,i,o)}}},{key:"_resizeNodes",value:function(){this.canvas.setTransform();var t=this.canvas.getContext();t.save(),t.translate(this.body.view.translation.x,this.body.view.translation.y),t.scale(this.body.view.scale,this.body.view.scale);var e=this.body.nodes,i=void 0;for(var o in e)e.hasOwnProperty(o)&&(i=e[o],i.resize(t),i.updateBoundingBox(t,i.selected));t.restore()}},{key:"_drawNodes",value:function(t){for(var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=this.body.nodes,o=this.body.nodeIndices,n=void 0,s=[],r=this.canvas.DOMtoCanvas({x:-20,y:-20}),a=this.canvas.DOMtoCanvas({x:this.canvas.frame.canvas.clientWidth+20,y:this.canvas.frame.canvas.clientHeight+20}),h={top:r.y,left:r.x,bottom:a.y,right:a.x},d=0;d0&&void 0!==arguments[0]?arguments[0]:this.pixelRatio;!0===this.initialized&&(this.cameraState.previousWidth=this.frame.canvas.width/t,this.cameraState.previousHeight=this.frame.canvas.height/t,this.cameraState.scale=this.body.view.scale,this.cameraState.position=this.DOMtoCanvas({x:.5*this.frame.canvas.width/t,y:.5*this.frame.canvas.height/t}))}},{key:"_setCameraState",value:function(){if(void 0!==this.cameraState.scale&&0!==this.frame.canvas.clientWidth&&0!==this.frame.canvas.clientHeight&&0!==this.pixelRatio&&this.cameraState.previousWidth>0){var t=this.frame.canvas.width/this.pixelRatio/this.cameraState.previousWidth,e=this.frame.canvas.height/this.pixelRatio/this.cameraState.previousHeight,i=this.cameraState.scale;1!=t&&1!=e?i=.5*this.cameraState.scale*(t+e):1!=t?i=this.cameraState.scale*t:1!=e&&(i=this.cameraState.scale*e),this.body.view.scale=i;var o=this.DOMtoCanvas({x:.5*this.frame.canvas.clientWidth,y:.5*this.frame.canvas.clientHeight}),n={x:o.x-this.cameraState.position.x,y:o.y-this.cameraState.position.y};this.body.view.translation.x+=n.x*this.body.view.scale,this.body.view.translation.y+=n.y*this.body.view.scale}}},{key:"_prepareValue",value:function(t){if("number"==typeof t)return t+"px";if("string"==typeof t){if(-1!==t.indexOf("%")||-1!==t.indexOf("px"))return t;if(-1===t.indexOf("%"))return t+"px"}throw new Error("Could not use the value supplied for width or height:"+t)}},{key:"_create",value:function(){for(;this.body.container.hasChildNodes();)this.body.container.removeChild(this.body.container.firstChild);if(this.frame=document.createElement("div"),this.frame.className="vis-network",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)this._setPixelRatio(),this.setTransform();else{var t=document.createElement("DIV");t.style.color="red",t.style.fontWeight="bold",t.style.padding="10px",t.innerHTML="Error: your browser does not support HTML canvas",this.frame.canvas.appendChild(t)}this.body.container.appendChild(this.frame),this.body.view.scale=1,this.body.view.translation={x:.5*this.frame.canvas.clientWidth,y:.5*this.frame.canvas.clientHeight},this._bindHammer()}},{key:"_bindHammer",value:function(){var t=this;void 0!==this.hammer&&this.hammer.destroy(),this.drag={},this.pinch={},this.hammer=new h(this.frame.canvas),this.hammer.get("pinch").set({enable:!0}),this.hammer.get("pan").set({threshold:5,direction:h.DIRECTION_ALL}),d.onTouch(this.hammer,function(e){t.body.eventListeners.onTouch(e)}),this.hammer.on("tap",function(e){t.body.eventListeners.onTap(e)}),this.hammer.on("doubletap",function(e){t.body.eventListeners.onDoubleTap(e)}),this.hammer.on("press",function(e){t.body.eventListeners.onHold(e)}),this.hammer.on("panstart",function(e){t.body.eventListeners.onDragStart(e)}),this.hammer.on("panmove",function(e){t.body.eventListeners.onDrag(e)}),this.hammer.on("panend",function(e){t.body.eventListeners.onDragEnd(e)}),this.hammer.on("pinch",function(e){t.body.eventListeners.onPinch(e)}),this.frame.canvas.addEventListener("mousewheel",function(e){t.body.eventListeners.onMouseWheel(e)}),this.frame.canvas.addEventListener("DOMMouseScroll",function(e){t.body.eventListeners.onMouseWheel(e)}),this.frame.canvas.addEventListener("mousemove",function(e){t.body.eventListeners.onMouseMove(e)}),this.frame.canvas.addEventListener("contextmenu",function(e){t.body.eventListeners.onContext(e)}),this.hammerFrame=new h(this.frame), -d.onRelease(this.hammerFrame,function(e){t.body.eventListeners.onRelease(e)})}},{key:"setSize",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.options.width,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.options.height;t=this._prepareValue(t),e=this._prepareValue(e);var i=!1,o=this.frame.canvas.width,n=this.frame.canvas.height,s=this.pixelRatio;if(this._setPixelRatio(),t!=this.options.width||e!=this.options.height||this.frame.style.width!=t||this.frame.style.height!=e)this._getCameraState(s),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=Math.round(this.frame.canvas.clientWidth*this.pixelRatio),this.frame.canvas.height=Math.round(this.frame.canvas.clientHeight*this.pixelRatio),this.options.width=t,this.options.height=e,this.canvasViewCenter={x:.5*this.frame.clientWidth,y:.5*this.frame.clientHeight},i=!0;else{var r=Math.round(this.frame.canvas.clientWidth*this.pixelRatio),a=Math.round(this.frame.canvas.clientHeight*this.pixelRatio);this.frame.canvas.width===r&&this.frame.canvas.height===a||this._getCameraState(s),this.frame.canvas.width!==r&&(this.frame.canvas.width=r,i=!0),this.frame.canvas.height!==a&&(this.frame.canvas.height=a,i=!0)}return!0===i&&(this.body.emitter.emit("resize",{width:Math.round(this.frame.canvas.width/this.pixelRatio),height:Math.round(this.frame.canvas.height/this.pixelRatio),oldWidth:Math.round(o/this.pixelRatio),oldHeight:Math.round(n/this.pixelRatio)}),this._setCameraState()),this.initialized=!0,i}},{key:"getContext",value:function(){return this.frame.canvas.getContext("2d")}},{key:"_determinePixelRatio",value:function(){var t=this.getContext();if(void 0===t)throw new Error("Could not get canvax context");var e=1;return"undefined"!=typeof window&&(e=window.devicePixelRatio||1),e/(t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1)}},{key:"_setPixelRatio",value:function(){this.pixelRatio=this._determinePixelRatio()}},{key:"setTransform",value:function(){var t=this.getContext();if(void 0===t)throw new Error("Could not get canvax context");t.setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0)}},{key:"_XconvertDOMtoCanvas",value:function(t){return(t-this.body.view.translation.x)/this.body.view.scale}},{key:"_XconvertCanvasToDOM",value:function(t){return t*this.body.view.scale+this.body.view.translation.x}},{key:"_YconvertDOMtoCanvas",value:function(t){return(t-this.body.view.translation.y)/this.body.view.scale}},{key:"_YconvertCanvasToDOM",value:function(t){return t*this.body.view.scale+this.body.view.translation.y}},{key:"canvasToDOM",value:function(t){return{x:this._XconvertCanvasToDOM(t.x),y:this._YconvertCanvasToDOM(t.y)}}},{key:"DOMtoCanvas",value:function(t){return{x:this._XconvertDOMtoCanvas(t.x),y:this._YconvertDOMtoCanvas(t.y)}}}]),t}();e.default=u},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(0),s=o(n),r=i(1),a=o(r),h=i(2),d=i(76).default,l=function(){function t(e,i){var o=this;(0,s.default)(this,t),this.body=e,this.canvas=i,this.animationSpeed=1/this.renderRefreshRate,this.animationEasingFunction="easeInOutQuint",this.easingTime=0,this.sourceScale=0,this.targetScale=0,this.sourceTranslation=0,this.targetTranslation=0,this.lockedOnNodeId=void 0,this.lockedOnNodeOffset=void 0,this.touchTime=0,this.viewFunction=void 0,this.body.emitter.on("fit",this.fit.bind(this)),this.body.emitter.on("animationFinished",function(){o.body.emitter.emit("_stopRendering")}),this.body.emitter.on("unlockNode",this.releaseNode.bind(this))}return(0,a.default)(t,[{key:"setOptions",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.options=t}},{key:"fit",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{nodes:[]},e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=void 0,o=void 0;if(void 0!==t.nodes&&0!==t.nodes.length||(t.nodes=this.body.nodeIndices),!0===e){var n=0;for(var s in this.body.nodes)if(this.body.nodes.hasOwnProperty(s)){var r=this.body.nodes[s];!0===r.predefinedPosition&&(n+=1)}if(n>.5*this.body.nodeIndices.length)return void this.fit(t,!1);i=d.getRange(this.body.nodes,t.nodes);o=12.662/(this.body.nodeIndices.length+7.4147)+.0964822;o*=Math.min(this.canvas.frame.canvas.clientWidth/600,this.canvas.frame.canvas.clientHeight/600)}else{this.body.emitter.emit("_resizeNodes"),i=d.getRange(this.body.nodes,t.nodes);var a=1.1*Math.abs(i.maxX-i.minX),h=1.1*Math.abs(i.maxY-i.minY),l=this.canvas.frame.canvas.clientWidth/a,u=this.canvas.frame.canvas.clientHeight/h;o=l<=u?l:u}o>1?o=1:0===o&&(o=1);var c=d.findCenter(i),p={position:c,scale:o,animation:t.animation};this.moveTo(p)}},{key:"focus",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(void 0!==this.body.nodes[t]){var i={x:this.body.nodes[t].x,y:this.body.nodes[t].y};e.position=i,e.lockedOnNode=t,this.moveTo(e)}else console.log("Node: "+t+" cannot be found.")}},{key:"moveTo",value:function(t){if(void 0===t)return void(t={});void 0===t.offset&&(t.offset={x:0,y:0}),void 0===t.offset.x&&(t.offset.x=0),void 0===t.offset.y&&(t.offset.y=0),void 0===t.scale&&(t.scale=this.body.view.scale),void 0===t.position&&(t.position=this.getViewPosition()),void 0===t.animation&&(t.animation={duration:0}),!1===t.animation&&(t.animation={duration:0}),!0===t.animation&&(t.animation={}),void 0===t.animation.duration&&(t.animation.duration=1e3),void 0===t.animation.easingFunction&&(t.animation.easingFunction="easeInOutQuad"),this.animateView(t)}},{key:"animateView",value:function(t){if(void 0!==t){this.animationEasingFunction=t.animation.easingFunction,this.releaseNode(),!0===t.locked&&(this.lockedOnNodeId=t.lockedOnNode,this.lockedOnNodeOffset=t.offset),0!=this.easingTime&&this._transitionRedraw(!0),this.sourceScale=this.body.view.scale,this.sourceTranslation=this.body.view.translation,this.targetScale=t.scale,this.body.view.scale=this.targetScale;var e=this.canvas.DOMtoCanvas({x:.5*this.canvas.frame.canvas.clientWidth,y:.5*this.canvas.frame.canvas.clientHeight}),i={x:e.x-t.position.x,y:e.y-t.position.y};this.targetTranslation={x:this.sourceTranslation.x+i.x*this.targetScale+t.offset.x,y:this.sourceTranslation.y+i.y*this.targetScale+t.offset.y},0===t.animation.duration?void 0!=this.lockedOnNodeId?(this.viewFunction=this._lockedRedraw.bind(this),this.body.emitter.on("initRedraw",this.viewFunction)):(this.body.view.scale=this.targetScale,this.body.view.translation=this.targetTranslation,this.body.emitter.emit("_requestRedraw")):(this.animationSpeed=1/(60*t.animation.duration*.001)||1/60,this.animationEasingFunction=t.animation.easingFunction,this.viewFunction=this._transitionRedraw.bind(this),this.body.emitter.on("initRedraw",this.viewFunction),this.body.emitter.emit("_startRendering"))}}},{key:"_lockedRedraw",value:function(){var t={x:this.body.nodes[this.lockedOnNodeId].x,y:this.body.nodes[this.lockedOnNodeId].y},e=this.canvas.DOMtoCanvas({x:.5*this.canvas.frame.canvas.clientWidth,y:.5*this.canvas.frame.canvas.clientHeight}),i={x:e.x-t.x,y:e.y-t.y},o=this.body.view.translation,n={x:o.x+i.x*this.body.view.scale+this.lockedOnNodeOffset.x,y:o.y+i.y*this.body.view.scale+this.lockedOnNodeOffset.y};this.body.view.translation=n}},{key:"releaseNode",value:function(){void 0!==this.lockedOnNodeId&&void 0!==this.viewFunction&&(this.body.emitter.off("initRedraw",this.viewFunction),this.lockedOnNodeId=void 0,this.lockedOnNodeOffset=void 0)}},{key:"_transitionRedraw",value:function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.easingTime+=this.animationSpeed,this.easingTime=!0===t?1:this.easingTime;var e=h.easingFunctions[this.animationEasingFunction](this.easingTime);this.body.view.scale=this.sourceScale+(this.targetScale-this.sourceScale)*e,this.body.view.translation={x:this.sourceTranslation.x+(this.targetTranslation.x-this.sourceTranslation.x)*e,y:this.sourceTranslation.y+(this.targetTranslation.y-this.sourceTranslation.y)*e},this.easingTime>=1&&(this.body.emitter.off("initRedraw",this.viewFunction),this.easingTime=0,void 0!=this.lockedOnNodeId&&(this.viewFunction=this._lockedRedraw.bind(this),this.body.emitter.on("initRedraw",this.viewFunction)),this.body.emitter.emit("animationFinished"))}},{key:"getScale",value:function(){return this.body.view.scale}},{key:"getViewPosition",value:function(){return this.canvas.DOMtoCanvas({x:.5*this.canvas.frame.canvas.clientWidth,y:.5*this.canvas.frame.canvas.clientHeight})}}]),t}();e.default=l},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(0),s=o(n),r=i(1),a=o(r),h=i(2),d=i(233).default,l=i(104).default,u=function(){function t(e,i,o){(0,s.default)(this,t),this.body=e,this.canvas=i,this.selectionHandler=o,this.navigationHandler=new d(e,i),this.body.eventListeners.onTap=this.onTap.bind(this),this.body.eventListeners.onTouch=this.onTouch.bind(this),this.body.eventListeners.onDoubleTap=this.onDoubleTap.bind(this),this.body.eventListeners.onHold=this.onHold.bind(this),this.body.eventListeners.onDragStart=this.onDragStart.bind(this),this.body.eventListeners.onDrag=this.onDrag.bind(this),this.body.eventListeners.onDragEnd=this.onDragEnd.bind(this),this.body.eventListeners.onMouseWheel=this.onMouseWheel.bind(this),this.body.eventListeners.onPinch=this.onPinch.bind(this),this.body.eventListeners.onMouseMove=this.onMouseMove.bind(this),this.body.eventListeners.onRelease=this.onRelease.bind(this),this.body.eventListeners.onContext=this.onContext.bind(this),this.touchTime=0,this.drag={},this.pinch={},this.popup=void 0,this.popupObj=void 0,this.popupTimer=void 0,this.body.functions.getPointer=this.getPointer.bind(this),this.options={},this.defaultOptions={dragNodes:!0,dragView:!0,hover:!1,keyboard:{enabled:!1,speed:{x:10,y:10,zoom:.02},bindToWindow:!0},navigationButtons:!1,tooltipDelay:300,zoomView:!0},h.extend(this.options,this.defaultOptions),this.bindEventListeners()}return(0,a.default)(t,[{key:"bindEventListeners",value:function(){var t=this;this.body.emitter.on("destroy",function(){clearTimeout(t.popupTimer),delete t.body.functions.getPointer})}},{key:"setOptions",value:function(t){if(void 0!==t){var e=["hideEdgesOnDrag","hideNodesOnDrag","keyboard","multiselect","selectable","selectConnectedEdges"];h.selectiveNotDeepExtend(e,this.options,t),h.mergeOptions(this.options,t,"keyboard"),t.tooltip&&(h.extend(this.options.tooltip,t.tooltip),t.tooltip.color&&(this.options.tooltip.color=h.parseColor(t.tooltip.color)))}this.navigationHandler.setOptions(this.options)}},{key:"getPointer",value:function(t){return{x:t.x-h.getAbsoluteLeft(this.canvas.frame.canvas),y:t.y-h.getAbsoluteTop(this.canvas.frame.canvas)}}},{key:"onTouch",value:function(t){(new Date).valueOf()-this.touchTime>50&&(this.drag.pointer=this.getPointer(t.center),this.drag.pinched=!1,this.pinch.scale=this.body.view.scale,this.touchTime=(new Date).valueOf())}},{key:"onTap",value:function(t){var e=this.getPointer(t.center),i=this.selectionHandler.options.multiselect&&(t.changedPointers[0].ctrlKey||t.changedPointers[0].metaKey);this.checkSelectionChanges(e,t,i),this.selectionHandler._generateClickEvent("click",t,e)}},{key:"onDoubleTap",value:function(t){var e=this.getPointer(t.center);this.selectionHandler._generateClickEvent("doubleClick",t,e)}},{key:"onHold",value:function(t){var e=this.getPointer(t.center),i=this.selectionHandler.options.multiselect;this.checkSelectionChanges(e,t,i),this.selectionHandler._generateClickEvent("click",t,e),this.selectionHandler._generateClickEvent("hold",t,e)}},{key:"onRelease",value:function(t){if((new Date).valueOf()-this.touchTime>10){var e=this.getPointer(t.center);this.selectionHandler._generateClickEvent("release",t,e),this.touchTime=(new Date).valueOf()}}},{key:"onContext",value:function(t){var e=this.getPointer({x:t.clientX,y:t.clientY});this.selectionHandler._generateClickEvent("oncontext",t,e)}},{key:"checkSelectionChanges",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=this.selectionHandler.getSelection(),n=!1;n=!0===i?this.selectionHandler.selectAdditionalOnPoint(t):this.selectionHandler.selectOnPoint(t);var s=this.selectionHandler.getSelection(),r=this._determineDifference(o,s),a=this._determineDifference(s,o);r.edges.length>0&&(this.selectionHandler._generateClickEvent("deselectEdge",e,t,o),n=!0),r.nodes.length>0&&(this.selectionHandler._generateClickEvent("deselectNode",e,t,o),n=!0),a.nodes.length>0&&(this.selectionHandler._generateClickEvent("selectNode",e,t),n=!0),a.edges.length>0&&(this.selectionHandler._generateClickEvent("selectEdge",e,t),n=!0),!0===n&&this.selectionHandler._generateClickEvent("select",e,t)}},{key:"_determineDifference",value:function(t,e){var i=function(t,e){for(var i=[],o=0;o10&&(t=10);var o=void 0;void 0!==this.drag&&!0===this.drag.dragging&&(o=this.canvas.DOMtoCanvas(this.drag.pointer));var n=this.body.view.translation,s=t/i,r=(1-s)*e.x+n.x*s,a=(1-s)*e.y+n.y*s;if(this.body.view.scale=t,this.body.view.translation={x:r,y:a},void 0!=o){var h=this.canvas.canvasToDOM(o);this.drag.pointer.x=h.x,this.drag.pointer.y=h.y}this.body.emitter.emit("_requestRedraw"),i0&&(this.popupObj=h[u[u.length-1]],s=!0)}if(void 0===this.popupObj&&!1===s){for(var p=this.body.edgeIndices,f=this.body.edges,m=void 0,v=[],g=0;g0&&(this.popupObj=f[v[v.length-1]],r="edge")}void 0!==this.popupObj?this.popupObj.id!==n&&(void 0===this.popup&&(this.popup=new l(this.canvas.frame)),this.popup.popupTargetType=r,this.popup.popupTargetId=this.popupObj.id,this.popup.setPosition(t.x+3,t.y-5),this.popup.setText(this.popupObj.getTitle()),this.popup.show(),this.body.emitter.emit("showPopup",this.popupObj.id)):void 0!==this.popup&&(this.popup.hide(),this.body.emitter.emit("hidePopup"))}},{key:"_checkHidePopup",value:function(t){var e=this.selectionHandler._pointerToPositionObject(t),i=!1;if("node"===this.popup.popupTargetType){if(void 0!==this.body.nodes[this.popup.popupTargetId]&&!0===(i=this.body.nodes[this.popup.popupTargetId].isOverlappingWith(e))){var o=this.selectionHandler.getNodeAt(t);i=void 0!==o&&o.id===this.popup.popupTargetId}}else void 0===this.selectionHandler.getNodeAt(t)&&void 0!==this.body.edges[this.popup.popupTargetId]&&(i=this.body.edges[this.popup.popupTargetId].isOverlappingWith(e));!1===i&&(this.popupObj=void 0,this.popup.hide(),this.body.emitter.emit("hidePopup"))}}]),t}();e.default=u},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(0),s=o(n),r=i(1),a=o(r),h=i(10),d=i(37),l=i(35),u=function(){function t(e,i){var o=this;(0,s.default)(this,t),this.body=e,this.canvas=i,this.iconsCreated=!1,this.navigationHammers=[],this.boundFunctions={},this.touchTime=0,this.activated=!1,this.body.emitter.on("activate",function(){o.activated=!0,o.configureKeyboardBindings()}),this.body.emitter.on("deactivate",function(){o.activated=!1,o.configureKeyboardBindings()}),this.body.emitter.on("destroy",function(){void 0!==o.keycharm&&o.keycharm.destroy()}),this.options={}}return(0,a.default)(t,[{key:"setOptions",value:function(t){void 0!==t&&(this.options=t,this.create())}},{key:"create",value:function(){!0===this.options.navigationButtons?!1===this.iconsCreated&&this.loadNavigationElements():!0===this.iconsCreated&&this.cleanNavigation(),this.configureKeyboardBindings()}},{key:"cleanNavigation",value:function(){if(0!=this.navigationHammers.length){for(var t=0;t700&&(this.body.emitter.emit("fit",{duration:700}),this.touchTime=(new Date).valueOf())}},{key:"_stopMovement",value:function(){for(var t in this.boundFunctions)this.boundFunctions.hasOwnProperty(t)&&(this.body.emitter.off("initRedraw",this.boundFunctions[t]),this.body.emitter.emit("_stopRendering"));this.boundFunctions={}}},{key:"_moveUp",value:function(){this.body.view.translation.y+=this.options.keyboard.speed.y}},{key:"_moveDown",value:function(){this.body.view.translation.y-=this.options.keyboard.speed.y}},{key:"_moveLeft",value:function(){this.body.view.translation.x+=this.options.keyboard.speed.x}},{key:"_moveRight",value:function(){this.body.view.translation.x-=this.options.keyboard.speed.x}},{key:"_zoomIn",value:function(){var t=this.body.view.scale,e=this.body.view.scale*(1+this.options.keyboard.speed.zoom),i=this.body.view.translation,o=e/t,n=(1-o)*this.canvas.canvasViewCenter.x+i.x*o,s=(1-o)*this.canvas.canvasViewCenter.y+i.y*o;this.body.view.scale=e,this.body.view.translation={x:n,y:s},this.body.emitter.emit("zoom",{direction:"+",scale:this.body.view.scale,pointer:null})}},{key:"_zoomOut",value:function(){var t=this.body.view.scale,e=this.body.view.scale/(1+this.options.keyboard.speed.zoom),i=this.body.view.translation,o=e/t,n=(1-o)*this.canvas.canvasViewCenter.x+i.x*o,s=(1-o)*this.canvas.canvasViewCenter.y+i.y*o;this.body.view.scale=e,this.body.view.translation={x:n,y:s},this.body.emitter.emit("zoom",{direction:"-",scale:this.body.view.scale,pointer:null})}},{key:"configureKeyboardBindings",value:function(){var t=this;void 0!==this.keycharm&&this.keycharm.destroy(),!0===this.options.keyboard.enabled&&(!0===this.options.keyboard.bindToWindow?this.keycharm=l({container:window,preventDefault:!0}):this.keycharm=l({container:this.canvas.frame,preventDefault:!0}),this.keycharm.reset(),!0===this.activated&&(this.keycharm.bind("up",function(){t.bindToRedraw("_moveUp")},"keydown"),this.keycharm.bind("down",function(){t.bindToRedraw("_moveDown")},"keydown"),this.keycharm.bind("left",function(){t.bindToRedraw("_moveLeft")},"keydown"),this.keycharm.bind("right",function(){t.bindToRedraw("_moveRight")},"keydown"),this.keycharm.bind("=",function(){t.bindToRedraw("_zoomIn")},"keydown"),this.keycharm.bind("num+",function(){t.bindToRedraw("_zoomIn")},"keydown"),this.keycharm.bind("num-",function(){t.bindToRedraw("_zoomOut")},"keydown"),this.keycharm.bind("-",function(){t.bindToRedraw("_zoomOut")},"keydown"),this.keycharm.bind("[",function(){t.bindToRedraw("_zoomOut")},"keydown"),this.keycharm.bind("]",function(){t.bindToRedraw("_zoomIn")},"keydown"),this.keycharm.bind("pageup",function(){t.bindToRedraw("_zoomIn")},"keydown"),this.keycharm.bind("pagedown",function(){t.bindToRedraw("_zoomOut")},"keydown"),this.keycharm.bind("up",function(){t.unbindFromRedraw("_moveUp")},"keyup"),this.keycharm.bind("down",function(){t.unbindFromRedraw("_moveDown")},"keyup"),this.keycharm.bind("left",function(){t.unbindFromRedraw("_moveLeft")},"keyup"),this.keycharm.bind("right",function(){t.unbindFromRedraw("_moveRight")},"keyup"),this.keycharm.bind("=",function(){t.unbindFromRedraw("_zoomIn")},"keyup"),this.keycharm.bind("num+",function(){t.unbindFromRedraw("_zoomIn")},"keyup"),this.keycharm.bind("num-",function(){t.unbindFromRedraw("_zoomOut")},"keyup"),this.keycharm.bind("-",function(){t.unbindFromRedraw("_zoomOut")},"keyup"),this.keycharm.bind("[",function(){t.unbindFromRedraw("_zoomOut")},"keyup"),this.keycharm.bind("]",function(){t.unbindFromRedraw("_zoomIn")},"keyup"),this.keycharm.bind("pageup",function(){t.unbindFromRedraw("_zoomIn")},"keyup"),this.keycharm.bind("pagedown",function(){t.unbindFromRedraw("_zoomOut")},"keyup")))}}]),t}();e.default=u},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(0),s=o(n),r=i(1),a=o(r),h=i(48).default,d=i(74).default,l=i(2),u=function(){function t(e,i){var o=this;(0,s.default)(this,t),this.body=e,this.canvas=i,this.selectionObj={nodes:[],edges:[]},this.hoverObj={nodes:{},edges:{}},this.options={},this.defaultOptions={multiselect:!1,selectable:!0,selectConnectedEdges:!0,hoverConnectedEdges:!0},l.extend(this.options,this.defaultOptions),this.body.emitter.on("_dataChanged",function(){o.updateSelection()})}return(0,a.default)(t,[{key:"setOptions",value:function(t){if(void 0!==t){var e=["multiselect","hoverConnectedEdges","selectable","selectConnectedEdges"];l.selectiveDeepExtend(e,this.options,t)}}},{key:"selectOnPoint",value:function(t){var e=!1;if(!0===this.options.selectable){var i=this.getNodeAt(t)||this.getEdgeAt(t);this.unselectAll(),void 0!==i&&(e=this.selectObject(i)),this.body.emitter.emit("_requestRedraw")}return e}},{key:"selectAdditionalOnPoint",value:function(t){var e=!1;if(!0===this.options.selectable){var i=this.getNodeAt(t)||this.getEdgeAt(t);void 0!==i&&(e=!0,!0===i.isSelected()?this.deselectObject(i):this.selectObject(i),this.body.emitter.emit("_requestRedraw"))}return e}},{key:"_initBaseEvent",value:function(t,e){var i={};return i.pointer={DOM:{x:e.x,y:e.y},canvas:this.canvas.DOMtoCanvas(e)},i.event=t,i}},{key:"_generateClickEvent",value:function(t,e,i,o){var n=arguments.length>4&&void 0!==arguments[4]&&arguments[4],s=this._initBaseEvent(e,i);if(!0===n)s.nodes=[],s.edges=[];else{var r=this.getSelection();s.nodes=r.nodes,s.edges=r.edges}void 0!==o&&(s.previousSelection=o),"click"==t&&(s.items=this.getClickedItems(i)),this.body.emitter.emit(t,s)}},{key:"selectObject",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.options.selectConnectedEdges;return void 0!==t&&(t instanceof h&&!0===e&&this._selectConnectedEdges(t),t.select(),this._addToSelection(t),!0)}},{key:"deselectObject",value:function(t){!0===t.isSelected()&&(t.selected=!1,this._removeFromSelection(t))}},{key:"_getAllNodesOverlappingWith",value:function(t){for(var e=[],i=this.body.nodes,o=0;o1&&void 0!==arguments[1])||arguments[1],i=this._pointerToPositionObject(t),o=this._getAllNodesOverlappingWith(i);return o.length>0?!0===e?this.body.nodes[o[o.length-1]]:o[o.length-1]:void 0}},{key:"_getEdgesOverlappingWith",value:function(t,e){for(var i=this.body.edges,o=0;o1&&void 0!==arguments[1])||arguments[1],i=this.canvas.DOMtoCanvas(t),o=10,n=null,s=this.body.edges,r=0;r1)return!0;return!1}},{key:"_selectConnectedEdges",value:function(t){for(var e=0;e1&&void 0!==arguments[1]?arguments[1]:{},i=void 0,o=void 0;if(!t||!t.nodes&&!t.edges)throw"Selection must be an object with nodes and/or edges properties";if((e.unselectAll||void 0===e.unselectAll)&&this.unselectAll(),t.nodes)for(i=0;i1&&void 0!==arguments[1])||arguments[1];if(!t||void 0===t.length)throw"Selection must be an array with ids";this.setSelection({nodes:t},{highlightEdges:e})}},{key:"selectEdges",value:function(t){if(!t||void 0===t.length)throw"Selection must be an array with ids";this.setSelection({edges:t})}},{key:"updateSelection",value:function(){for(var t in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(t)&&(this.body.nodes.hasOwnProperty(t)||delete this.selectionObj.nodes[t]);for(var e in this.selectionObj.edges)this.selectionObj.edges.hasOwnProperty(e)&&(this.body.edges.hasOwnProperty(e)||delete this.selectionObj.edges[e])}},{key:"getClickedItems",value:function(t){for(var e=this.canvas.DOMtoCanvas(t),i=[],o=this.body.nodeIndices,n=this.body.nodes,s=o.length-1;s>=0;s--){var r=n[o[s]],a=r.getItemsOnPoint(e);i.push.apply(i,a)}for(var h=this.body.edgeIndices,d=this.body.edges,l=h.length-1;l>=0;l--){var u=d[h[l]],c=u.getItemsOnPoint(e);i.push.apply(i,c)}return i}}]),t}();e.default=u},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(31),s=o(n),r=i(6),a=o(r),h=i(8),d=o(h),l=i(0),u=o(l),c=i(1),p=o(c),f=i(2),m=i(76).default,v=i(236),g=v.HorizontalStrategy,y=v.VerticalStrategy,b=function(){function t(){(0,u.default)(this,t),this.childrenReference={},this.parentReference={},this.trees={},this.distributionOrdering={},this.levels={},this.distributionIndex={},this.isTree=!1,this.treeIndex=-1}return(0,p.default)(t,[{key:"addRelation",value:function(t,e){void 0===this.childrenReference[t]&&(this.childrenReference[t]=[]),this.childrenReference[t].push(e),void 0===this.parentReference[e]&&(this.parentReference[e]=[]),this.parentReference[e].push(t)}},{key:"checkIfTree",value:function(){for(var t in this.parentReference)if(this.parentReference[t].length>1)return void(this.isTree=!1);this.isTree=!0}},{key:"numTrees",value:function(){return this.treeIndex+1}},{key:"setTreeIndex",value:function(t,e){void 0!==e&&void 0===this.trees[t.id]&&(this.trees[t.id]=e,this.treeIndex=Math.max(e,this.treeIndex))}},{key:"ensureLevel",value:function(t){void 0===this.levels[t]&&(this.levels[t]=0)}},{key:"getMaxLevel",value:function(t){var e=this,i={};return function t(o){if(void 0!==i[o])return i[o];var n=e.levels[o];if(e.childrenReference[o]){var s=e.childrenReference[o];if(s.length>0)for(var r=0;r0&&(i.levelSeparation*=-1):i.levelSeparation<0&&(i.levelSeparation*=-1),this.setDirectionStrategy(),this.body.emitter.emit("_resetHierarchicalLayout"),this.adaptAllOptionsForHierarchicalLayout(e);if(!0===o)return this.body.emitter.emit("refresh"),f.deepExtend(e,this.optionsBackup)}return e}},{key:"adaptAllOptionsForHierarchicalLayout",value:function(t){if(!0===this.options.hierarchical.enabled){var e=this.optionsBackup.physics;void 0===t.physics||!0===t.physics?(t.physics={enabled:void 0===e.enabled||e.enabled,solver:"hierarchicalRepulsion"},e.enabled=void 0===e.enabled||e.enabled,e.solver=e.solver||"barnesHut"):"object"===(0,a.default)(t.physics)?(e.enabled=void 0===t.physics.enabled||t.physics.enabled,e.solver=t.physics.solver||"barnesHut",t.physics.solver="hierarchicalRepulsion"):!1!==t.physics&&(e.solver="barnesHut",t.physics={solver:"hierarchicalRepulsion"});var i=this.direction.curveType();if(void 0===t.edges)this.optionsBackup.edges={smooth:{enabled:!0,type:"dynamic"}},t.edges={smooth:!1};else if(void 0===t.edges.smooth)this.optionsBackup.edges={smooth:{enabled:!0,type:"dynamic"}},t.edges.smooth=!1;else if("boolean"==typeof t.edges.smooth)this.optionsBackup.edges={smooth:t.edges.smooth},t.edges.smooth={enabled:t.edges.smooth,type:i};else{var o=t.edges.smooth;void 0!==o.type&&"dynamic"!==o.type&&(i=o.type),this.optionsBackup.edges={smooth:void 0===o.enabled||o.enabled,type:void 0===o.type?"dynamic":o.type,roundness:void 0===o.roundness?.5:o.roundness,forceDirection:void 0!==o.forceDirection&&o.forceDirection},t.edges.smooth={enabled:void 0===o.enabled||o.enabled,type:i,roundness:void 0===o.roundness?.5:o.roundness,forceDirection:void 0!==o.forceDirection&&o.forceDirection}}this.body.emitter.emit("_forceDisableDynamicCurves",i)}return t}},{key:"seededRandom",value:function(){var t=1e4*Math.sin(this.randomSeed++);return t-Math.floor(t)}},{key:"positionInitially",value:function(t){if(!0!==this.options.hierarchical.enabled){this.randomSeed=this.initialRandomSeed;for(var e=t.length+50,i=0;i150){for(var s=t.length;t.length>150&&o<=10;){o+=1;var r=t.length;o%3==0?this.body.modules.clustering.clusterBridges(n):this.body.modules.clustering.clusterOutliers(n);if(r==t.length&&o%3!=0)return this._declusterAll(),this.body.emitter.emit("_layoutFailed"),void console.info("This network could not be positioned by this version of the improved layout algorithm. Please disable improvedLayout for better performance.")}this.body.modules.kamadaKawai.setOptions({springLength:Math.max(150,2*s)})}o>10&&console.info("The clustering didn't succeed within the amount of interations allowed, progressing with partial result."),this.body.modules.kamadaKawai.solve(t,this.body.edgeIndices,!0),this._shiftToCenter();for(var a=0;a0){var t=void 0,e=void 0,i=!1,o=!1;this.lastNodeOnLevel={},this.hierarchical=new b;for(e in this.body.nodes)this.body.nodes.hasOwnProperty(e)&&(t=this.body.nodes[e],void 0!==t.options.level?(i=!0,this.hierarchical.levels[e]=t.options.level):o=!0);if(!0===o&&!0===i)throw new Error("To use the hierarchical layout, nodes require either no predefined levels or levels have to be defined for all nodes.");if(!0===o){var n=this.options.hierarchical.sortMethod;"hubsize"===n?this._determineLevelsByHubsize():"directed"===n?this._determineLevelsDirected():"custom"===n&&this._determineLevelsCustomCallback()}for(var s in this.body.nodes)this.body.nodes.hasOwnProperty(s)&&this.hierarchical.ensureLevel(s);var r=this._getDistribution();this._generateMap(),this._placeNodesByHierarchy(r),this._condenseHierarchy(),this._shiftToCenter()}}},{key:"_condenseHierarchy",value:function(){var t=this,e=!1,i={},o=function(e,i){var o=t.hierarchical.trees;for(var n in o)o.hasOwnProperty(n)&&o[n]===e&&t.direction.shift(n,i)},n=function(){for(var e=[],i=0;i0)for(var s=0;s1&&void 0!==arguments[1]?arguments[1]:1e9,o=1e9,n=1e9,r=1e9,a=-1e9;for(var h in e)if(e.hasOwnProperty(h)){var d=t.body.nodes[h],l=t.hierarchical.levels[d.id],u=t.direction.getPosition(d),c=t._getSpaceAroundNode(d,e),p=(0,s.default)(c,2),f=p[0],m=p[1];o=Math.min(f,o),n=Math.min(m,n),l<=i&&(r=Math.min(u,r),a=Math.max(u,a))}return[r,a,o,n]},h=function(e,i){var o=t.hierarchical.getMaxLevel(e.id),n=t.hierarchical.getMaxLevel(i.id);return Math.min(o,n)},d=function(e,i,o){for(var n=t.hierarchical,s=0;s1)for(var h=0;h2&&void 0!==arguments[2]&&arguments[2],s=t.direction.getPosition(i),d=t.direction.getPosition(o),l=Math.abs(d-s),u=t.options.hierarchical.nodeSpacing;if(l>u){var c={},p={};r(i,c),r(o,p);var f=h(i,o),m=a(c,f),v=a(p,f),g=m[1],y=v[0],b=v[2];if(Math.abs(g-y)>u){var _=g-y+u;_<-b+u&&(_=-b+u),_<0&&(t._shiftBlock(o.id,_),e=!0,!0===n&&t._centerParent(o))}}},u=function(o,n){for(var h=n.id,d=n.edges,l=t.hierarchical.levels[n.id],u=t.options.hierarchical.levelSeparation*t.options.hierarchical.levelSeparation,c={},p=[],f=0;f0?p=Math.min(c,u-t.options.hierarchical.nodeSpacing):c<0&&(p=-Math.min(-c,l-t.options.hierarchical.nodeSpacing)),0!=p&&(t._shiftBlock(n.id,p),e=!0)}(_),_=b(o,d),function(i){var o=t.direction.getPosition(n),r=t._getSpaceAroundNode(n),a=(0,s.default)(r,2),h=a[0],d=a[1],l=i-o,u=o;l>0?u=Math.min(o+(d-t.options.hierarchical.nodeSpacing),i):l<0&&(u=Math.max(o-(h-t.options.hierarchical.nodeSpacing),i)),u!==o&&(t.direction.setPosition(n,u),e=!0)}(_)};!0===this.options.hierarchical.blockShifting&&(function(i){var o=t.hierarchical.getLevels();o=o.reverse();for(var n=0;n0&&Math.abs(p)0&&(a=this.direction.getPosition(i[n-1])+r),this.direction.setPosition(s,a,e),this._validatePositionAndContinue(s,e,a),o++}}}}},{key:"_placeBranchNodes",value:function(t,e){var i=this.hierarchical.childrenReference[t];if(void 0!==i){for(var o=[],n=0;ne&&void 0===this.positionedNodes[r.id]))return;var h=this.options.hierarchical.nodeSpacing,d=void 0;d=0===s?this.direction.getPosition(this.body.nodes[t]):this.direction.getPosition(o[s-1])+h,this.direction.setPosition(r,d,a),this._validatePositionAndContinue(r,a,d)}var l=this._getCenterPosition(o);this.direction.setPosition(this.body.nodes[t],l,e)}}},{key:"_validatePositionAndContinue",value:function(t,e,i){if(this.hierarchical.isTree){if(void 0!==this.lastNodeOnLevel[e]){var o=this.direction.getPosition(this.body.nodes[this.lastNodeOnLevel[e]]);if(i-ot.hierarchical.levels[e.id]&&t.hierarchical.addRelation(e.id,i.id)};this._crawlNetwork(e),this.hierarchical.checkIfTree()}},{key:"_crawlNetwork",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:function(){},i=arguments[1],o={},n=function i(n,s){if(void 0===o[n.id]){t.hierarchical.setTreeIndex(n,s),o[n.id]=!0;for(var r=void 0,a=t._getActiveEdges(n),h=0;h2&&void 0!==arguments[2]?arguments[2]:void 0;this.fake_use(t,e,i),this.abstract()}},{key:"getTreeSize",value:function(t){return this.fake_use(t),this.abstract()}},{key:"sort",value:function(t){this.fake_use(t),this.abstract()}},{key:"fix",value:function(t,e){this.fake_use(t,e),this.abstract()}},{key:"shift",value:function(t,e){this.fake_use(t,e),this.abstract()}}]),t}(),m=function(t){function e(t){(0,u.default)(this,e);var i=(0,a.default)(this,(e.__proto__||(0,s.default)(e)).call(this));return i.layout=t,i}return(0,d.default)(e,t),(0,p.default)(e,[{key:"curveType",value:function(){return"horizontal"}},{key:"getPosition",value:function(t){return t.x}},{key:"setPosition",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0;void 0!==i&&this.layout.hierarchical.addToOrdering(t,i),t.x=e}},{key:"getTreeSize",value:function(t){var e=this.layout.hierarchical.getTreeSize(this.layout.body.nodes,t);return{min:e.min_x,max:e.max_x}}},{key:"sort",value:function(t){t.sort(function(t,e){return void 0===t.x||void 0===e.x?0:t.x-e.x})}},{key:"fix",value:function(t,e){t.y=this.layout.options.hierarchical.levelSeparation*e,t.options.fixed.y=!0}},{key:"shift",value:function(t,e){this.layout.body.nodes[t].x+=e}}]),e}(f),v=function(t){function e(t){(0,u.default)(this,e);var i=(0,a.default)(this,(e.__proto__||(0,s.default)(e)).call(this));return i.layout=t,i}return(0,d.default)(e,t),(0,p.default)(e,[{key:"curveType",value:function(){return"vertical"}},{key:"getPosition",value:function(t){return t.y}},{key:"setPosition",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0;void 0!==i&&this.layout.hierarchical.addToOrdering(t,i),t.y=e}},{key:"getTreeSize",value:function(t){var e=this.layout.hierarchical.getTreeSize(this.layout.body.nodes,t);return{min:e.min_y,max:e.max_y}}},{key:"sort",value:function(t){t.sort(function(t,e){return void 0===t.y||void 0===e.y?0:t.y-e.y})}},{key:"fix",value:function(t,e){t.x=this.layout.options.hierarchical.levelSeparation*e,t.options.fixed.x=!0}},{key:"shift",value:function(t,e){this.layout.body.nodes[t].y+=e}}]),e}(f);e.HorizontalStrategy=v,e.VerticalStrategy=m},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(8),s=o(n),r=i(19),a=o(r),h=i(6),d=o(h),l=i(0),u=o(l),c=i(1),p=o(c),f=i(2),m=i(10),v=i(37),g=function(){function t(e,i,o){var n=this;(0,u.default)(this,t),this.body=e,this.canvas=i,this.selectionHandler=o,this.editMode=!1,this.manipulationDiv=void 0,this.editModeDiv=void 0,this.closeDiv=void 0,this.manipulationHammers=[],this.temporaryUIFunctions={},this.temporaryEventFunctions=[],this.touchTime=0,this.temporaryIds={nodes:[],edges:[]},this.guiEnabled=!1,this.inMode=!1,this.selectedControlNode=void 0,this.options={},this.defaultOptions={enabled:!1,initiallyActive:!1,addNode:!0,addEdge:!0,editNode:void 0,editEdge:!0,deleteNode:!0,deleteEdge:!0,controlNodeStyle:{shape:"dot",size:6,color:{background:"#ff0000",border:"#3c3c3c",highlight:{background:"#07f968",border:"#3c3c3c"}},borderWidth:2,borderWidthSelected:2}},f.extend(this.options,this.defaultOptions),this.body.emitter.on("destroy",function(){n._clean()}),this.body.emitter.on("_dataChanged",this._restore.bind(this)),this.body.emitter.on("_resetData",this._restore.bind(this))}return(0,p.default)(t,[{key:"_restore",value:function(){!1!==this.inMode&&(!0===this.options.initiallyActive?this.enableEditMode():this.disableEditMode())}},{key:"setOptions",value:function(t,e,i){void 0!==e&&(void 0!==e.locale?this.options.locale=e.locale:this.options.locale=i.locale,void 0!==e.locales?this.options.locales=e.locales:this.options.locales=i.locales),void 0!==t&&("boolean"==typeof t?this.options.enabled=t:(this.options.enabled=!0,f.deepExtend(this.options,t)),!0===this.options.initiallyActive&&(this.editMode=!0),this._setup())}},{key:"toggleEditMode",value:function(){!0===this.editMode?this.disableEditMode():this.enableEditMode()}},{key:"enableEditMode",value:function(){this.editMode=!0,this._clean(),!0===this.guiEnabled&&(this.manipulationDiv.style.display="block",this.closeDiv.style.display="block",this.editModeDiv.style.display="none",this.showManipulatorToolbar())}},{key:"disableEditMode",value:function(){this.editMode=!1,this._clean(),!0===this.guiEnabled&&(this.manipulationDiv.style.display="none",this.closeDiv.style.display="none",this.editModeDiv.style.display="block",this._createEditButton())}},{key:"showManipulatorToolbar",value:function(){if(this._clean(),this.manipulationDOM={},!0===this.guiEnabled){this.editMode=!0,this.manipulationDiv.style.display="block",this.closeDiv.style.display="block";var t=this.selectionHandler._getSelectedNodeCount(),e=this.selectionHandler._getSelectedEdgeCount(),i=t+e,o=this.options.locales[this.options.locale],n=!1;!1!==this.options.addNode&&(this._createAddNodeButton(o),n=!0),!1!==this.options.addEdge&&(!0===n?this._createSeperator(1):n=!0,this._createAddEdgeButton(o)),1===t&&"function"==typeof this.options.editNode?(!0===n?this._createSeperator(2):n=!0,this._createEditNodeButton(o)):1===e&&0===t&&!1!==this.options.editEdge&&(!0===n?this._createSeperator(3):n=!0,this._createEditEdgeButton(o)),0!==i&&(t>0&&!1!==this.options.deleteNode?(!0===n&&this._createSeperator(4),this._createDeleteButton(o)):0===t&&!1!==this.options.deleteEdge&&(!0===n&&this._createSeperator(4),this._createDeleteButton(o))),this._bindHammerToDiv(this.closeDiv,this.toggleEditMode.bind(this)),this._temporaryBindEvent("select",this.showManipulatorToolbar.bind(this))}this.body.emitter.emit("_redraw")}},{key:"addNodeMode",value:function(){if(!0!==this.editMode&&this.enableEditMode(),this._clean(),this.inMode="addNode",!0===this.guiEnabled){var t=this.options.locales[this.options.locale];this.manipulationDOM={},this._createBackButton(t),this._createSeperator(),this._createDescription(t.addDescription||this.options.locales.en.addDescription),this._bindHammerToDiv(this.closeDiv,this.toggleEditMode.bind(this))}this._temporaryBindEvent("click",this._performAddNode.bind(this))}},{key:"editNode",value:function(){var t=this;!0!==this.editMode&&this.enableEditMode(),this._clean();var e=this.selectionHandler._getSelectedNode();if(void 0!==e){if(this.inMode="editNode","function"!=typeof this.options.editNode)throw new Error("No function has been configured to handle the editing of nodes.");if(!0!==e.isCluster){var i=f.deepExtend({},e.options,!1);if(i.x=e.x,i.y=e.y,2!==this.options.editNode.length)throw new Error("The function for edit does not support two arguments (data, callback)");this.options.editNode(i,function(e){null!==e&&void 0!==e&&"editNode"===t.inMode&&t.body.data.nodes.getDataSet().update(e),t.showManipulatorToolbar()})}else alert(this.options.locales[this.options.locale].editClusterError||this.options.locales.en.editClusterError)}else this.showManipulatorToolbar()}},{key:"addEdgeMode",value:function(){if(!0!==this.editMode&&this.enableEditMode(),this._clean(),this.inMode="addEdge",!0===this.guiEnabled){var t=this.options.locales[this.options.locale];this.manipulationDOM={},this._createBackButton(t),this._createSeperator(),this._createDescription(t.edgeDescription||this.options.locales.en.edgeDescription),this._bindHammerToDiv(this.closeDiv,this.toggleEditMode.bind(this))}this._temporaryBindUI("onTouch",this._handleConnect.bind(this)),this._temporaryBindUI("onDragEnd",this._finishConnect.bind(this)),this._temporaryBindUI("onDrag",this._dragControlNode.bind(this)),this._temporaryBindUI("onRelease",this._finishConnect.bind(this)),this._temporaryBindUI("onDragStart",this._dragStartEdge.bind(this)),this._temporaryBindUI("onHold",function(){})}},{key:"editEdgeMode",value:function(){if(!0!==this.editMode&&this.enableEditMode(),this._clean(),this.inMode="editEdge","object"===(0,d.default)(this.options.editEdge)&&"function"==typeof this.options.editEdge.editWithoutDrag&&(this.edgeBeingEditedId=this.selectionHandler.getSelectedEdges()[0],void 0!==this.edgeBeingEditedId)){var t=this.body.edges[this.edgeBeingEditedId];return void this._performEditEdge(t.from,t.to)}if(!0===this.guiEnabled){var e=this.options.locales[this.options.locale];this.manipulationDOM={},this._createBackButton(e),this._createSeperator(),this._createDescription(e.editEdgeDescription||this.options.locales.en.editEdgeDescription),this._bindHammerToDiv(this.closeDiv,this.toggleEditMode.bind(this))}if(this.edgeBeingEditedId=this.selectionHandler.getSelectedEdges()[0],void 0!==this.edgeBeingEditedId){var i=this.body.edges[this.edgeBeingEditedId],o=this._getNewTargetNode(i.from.x,i.from.y),n=this._getNewTargetNode(i.to.x,i.to.y);this.temporaryIds.nodes.push(o.id),this.temporaryIds.nodes.push(n.id),this.body.nodes[o.id]=o,this.body.nodeIndices.push(o.id),this.body.nodes[n.id]=n,this.body.nodeIndices.push(n.id),this._temporaryBindUI("onTouch",this._controlNodeTouch.bind(this)),this._temporaryBindUI("onTap",function(){}), -this._temporaryBindUI("onHold",function(){}),this._temporaryBindUI("onDragStart",this._controlNodeDragStart.bind(this)),this._temporaryBindUI("onDrag",this._controlNodeDrag.bind(this)),this._temporaryBindUI("onDragEnd",this._controlNodeDragEnd.bind(this)),this._temporaryBindUI("onMouseMove",function(){}),this._temporaryBindEvent("beforeDrawing",function(t){var e=i.edgeType.findBorderPositions(t);!1===o.selected&&(o.x=e.from.x,o.y=e.from.y),!1===n.selected&&(n.x=e.to.x,n.y=e.to.y)}),this.body.emitter.emit("_redraw")}else this.showManipulatorToolbar()}},{key:"deleteSelected",value:function(){var t=this;!0!==this.editMode&&this.enableEditMode(),this._clean(),this.inMode="delete";var e=this.selectionHandler.getSelectedNodes(),i=this.selectionHandler.getSelectedEdges(),o=void 0;if(e.length>0){for(var n=0;n0&&"function"==typeof this.options.deleteEdge&&(o=this.options.deleteEdge);if("function"==typeof o){var s={nodes:e,edges:i};if(2!==o.length)throw new Error("The function for delete does not support two arguments (data, callback)");o(s,function(e){null!==e&&void 0!==e&&"delete"===t.inMode?(t.body.data.edges.getDataSet().remove(e.edges),t.body.data.nodes.getDataSet().remove(e.nodes),t.body.emitter.emit("startSimulation"),t.showManipulatorToolbar()):(t.body.emitter.emit("startSimulation"),t.showManipulatorToolbar())})}else this.body.data.edges.getDataSet().remove(i),this.body.data.nodes.getDataSet().remove(e),this.body.emitter.emit("startSimulation"),this.showManipulatorToolbar()}},{key:"_setup",value:function(){!0===this.options.enabled?(this.guiEnabled=!0,this._createWrappers(),!1===this.editMode?this._createEditButton():this.showManipulatorToolbar()):(this._removeManipulationDOM(),this.guiEnabled=!1)}},{key:"_createWrappers",value:function(){void 0===this.manipulationDiv&&(this.manipulationDiv=document.createElement("div"),this.manipulationDiv.className="vis-manipulation",!0===this.editMode?this.manipulationDiv.style.display="block":this.manipulationDiv.style.display="none",this.canvas.frame.appendChild(this.manipulationDiv)),void 0===this.editModeDiv&&(this.editModeDiv=document.createElement("div"),this.editModeDiv.className="vis-edit-mode",!0===this.editMode?this.editModeDiv.style.display="none":this.editModeDiv.style.display="block",this.canvas.frame.appendChild(this.editModeDiv)),void 0===this.closeDiv&&(this.closeDiv=document.createElement("div"),this.closeDiv.className="vis-close",this.closeDiv.style.display=this.manipulationDiv.style.display,this.canvas.frame.appendChild(this.closeDiv))}},{key:"_getNewTargetNode",value:function(t,e){var i=f.deepExtend({},this.options.controlNodeStyle);i.id="targetNode"+f.randomUUID(),i.hidden=!1,i.physics=!1,i.x=t,i.y=e;var o=this.body.functions.createNode(i);return o.shape.boundingBox={left:t,right:t,top:e,bottom:e},o}},{key:"_createEditButton",value:function(){this._clean(),this.manipulationDOM={},f.recursiveDOMDelete(this.editModeDiv);var t=this.options.locales[this.options.locale],e=this._createButton("editMode","vis-button vis-edit vis-edit-mode",t.edit||this.options.locales.en.edit);this.editModeDiv.appendChild(e),this._bindHammerToDiv(e,this.toggleEditMode.bind(this))}},{key:"_clean",value:function(){this.inMode=!1,!0===this.guiEnabled&&(f.recursiveDOMDelete(this.editModeDiv),f.recursiveDOMDelete(this.manipulationDiv),this._cleanManipulatorHammers()),this._cleanupTemporaryNodesAndEdges(),this._unbindTemporaryUIs(),this._unbindTemporaryEvents(),this.body.emitter.emit("restorePhysics")}},{key:"_cleanManipulatorHammers",value:function(){if(0!=this.manipulationHammers.length){for(var t=0;t0&&void 0!==arguments[0]?arguments[0]:1;this.manipulationDOM["seperatorLineDiv"+t]=document.createElement("div"),this.manipulationDOM["seperatorLineDiv"+t].className="vis-separator-line",this.manipulationDiv.appendChild(this.manipulationDOM["seperatorLineDiv"+t])}},{key:"_createAddNodeButton",value:function(t){var e=this._createButton("addNode","vis-button vis-add",t.addNode||this.options.locales.en.addNode);this.manipulationDiv.appendChild(e),this._bindHammerToDiv(e,this.addNodeMode.bind(this))}},{key:"_createAddEdgeButton",value:function(t){var e=this._createButton("addEdge","vis-button vis-connect",t.addEdge||this.options.locales.en.addEdge);this.manipulationDiv.appendChild(e),this._bindHammerToDiv(e,this.addEdgeMode.bind(this))}},{key:"_createEditNodeButton",value:function(t){var e=this._createButton("editNode","vis-button vis-edit",t.editNode||this.options.locales.en.editNode);this.manipulationDiv.appendChild(e),this._bindHammerToDiv(e,this.editNode.bind(this))}},{key:"_createEditEdgeButton",value:function(t){var e=this._createButton("editEdge","vis-button vis-edit",t.editEdge||this.options.locales.en.editEdge);this.manipulationDiv.appendChild(e),this._bindHammerToDiv(e,this.editEdgeMode.bind(this))}},{key:"_createDeleteButton",value:function(t){var e;e=this.options.rtl?"vis-button vis-delete-rtl":"vis-button vis-delete";var i=this._createButton("delete",e,t.del||this.options.locales.en.del);this.manipulationDiv.appendChild(i),this._bindHammerToDiv(i,this.deleteSelected.bind(this))}},{key:"_createBackButton",value:function(t){var e=this._createButton("back","vis-button vis-back",t.back||this.options.locales.en.back);this.manipulationDiv.appendChild(e),this._bindHammerToDiv(e,this.showManipulatorToolbar.bind(this))}},{key:"_createButton",value:function(t,e,i){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"vis-label";return this.manipulationDOM[t+"Div"]=document.createElement("div"),this.manipulationDOM[t+"Div"].className=e,this.manipulationDOM[t+"Label"]=document.createElement("div"),this.manipulationDOM[t+"Label"].className=o,this.manipulationDOM[t+"Label"].innerHTML=i,this.manipulationDOM[t+"Div"].appendChild(this.manipulationDOM[t+"Label"]),this.manipulationDOM[t+"Div"]}},{key:"_createDescription",value:function(t){this.manipulationDiv.appendChild(this._createButton("description","vis-button vis-none",t))}},{key:"_temporaryBindEvent",value:function(t,e){this.temporaryEventFunctions.push({event:t,boundFunction:e}),this.body.emitter.on(t,e)}},{key:"_temporaryBindUI",value:function(t,e){if(void 0===this.body.eventListeners[t])throw new Error("This UI function does not exist. Typo? You tried: "+t+" possible are: "+(0,a.default)((0,s.default)(this.body.eventListeners)));this.temporaryUIFunctions[t]=this.body.eventListeners[t],this.body.eventListeners[t]=e}},{key:"_unbindTemporaryUIs",value:function(){for(var t in this.temporaryUIFunctions)this.temporaryUIFunctions.hasOwnProperty(t)&&(this.body.eventListeners[t]=this.temporaryUIFunctions[t],delete this.temporaryUIFunctions[t]);this.temporaryUIFunctions={}}},{key:"_unbindTemporaryEvents",value:function(){for(var t=0;t=0;r--)if(n[r]!==this.selectedControlNode.id){s=this.body.nodes[n[r]];break}if(void 0!==s&&void 0!==this.selectedControlNode)if(!0===s.isCluster)alert(this.options.locales[this.options.locale].createEdgeError||this.options.locales.en.createEdgeError);else{var a=this.body.nodes[this.temporaryIds.nodes[0]];this.selectedControlNode.id===a.id?this._performEditEdge(s.id,o.to.id):this._performEditEdge(o.from.id,s.id)}else o.updateEdgeType(),this.body.emitter.emit("restorePhysics");this.body.emitter.emit("_redraw")}}},{key:"_handleConnect",value:function(t){if((new Date).valueOf()-this.touchTime>100){this.lastTouch=this.body.functions.getPointer(t.center),this.lastTouch.translation=f.extend({},this.body.view.translation);var e=this.lastTouch,i=this.selectionHandler.getNodeAt(e);if(void 0!==i)if(!0===i.isCluster)alert(this.options.locales[this.options.locale].createEdgeError||this.options.locales.en.createEdgeError);else{var o=this._getNewTargetNode(i.x,i.y);this.body.nodes[o.id]=o,this.body.nodeIndices.push(o.id);var n=this.body.functions.createEdge({id:"connectionEdge"+f.randomUUID(),from:i.id,to:o.id,physics:!1,smooth:{enabled:!0,type:"continuous",roundness:.5}});this.body.edges[n.id]=n,this.body.edgeIndices.push(n.id),this.temporaryIds.nodes.push(o.id),this.temporaryIds.edges.push(n.id)}this.touchTime=(new Date).valueOf()}}},{key:"_dragControlNode",value:function(t){var e=this.body.functions.getPointer(t.center);if(void 0!==this.temporaryIds.nodes[0]){var i=this.body.nodes[this.temporaryIds.nodes[0]];i.x=this.canvas._XconvertDOMtoCanvas(e.x),i.y=this.canvas._YconvertDOMtoCanvas(e.y),this.body.emitter.emit("_redraw")}else{var o=e.x-this.lastTouch.x,n=e.y-this.lastTouch.y;this.body.view.translation={x:this.lastTouch.translation.x+o,y:this.lastTouch.translation.y+n}}}},{key:"_finishConnect",value:function(t){var e=this.body.functions.getPointer(t.center),i=this.selectionHandler._pointerToPositionObject(e),o=void 0;void 0!==this.temporaryIds.edges[0]&&(o=this.body.edges[this.temporaryIds.edges[0]].fromId);for(var n=this.selectionHandler._getAllNodesOverlappingWith(i),s=void 0,r=n.length-1;r>=0;r--)if(-1===this.temporaryIds.nodes.indexOf(n[r])){s=this.body.nodes[n[r]];break}this._cleanupTemporaryNodesAndEdges(),void 0!==s&&(!0===s.isCluster?alert(this.options.locales[this.options.locale].createEdgeError||this.options.locales.en.createEdgeError):void 0!==this.body.nodes[o]&&void 0!==this.body.nodes[s.id]&&this._performAddEdge(o,s.id)),this.body.emitter.emit("_redraw")}},{key:"_dragStartEdge",value:function(t){var e=this.lastTouch;this.selectionHandler._generateClickEvent("dragStart",t,e,void 0,!0)}},{key:"_performAddNode",value:function(t){var e=this,i={id:f.randomUUID(),x:t.pointer.canvas.x,y:t.pointer.canvas.y,label:"new"};if("function"==typeof this.options.addNode){if(2!==this.options.addNode.length)throw this.showManipulatorToolbar(),new Error("The function for add does not support two arguments (data,callback)");this.options.addNode(i,function(t){null!==t&&void 0!==t&&"addNode"===e.inMode&&(e.body.data.nodes.getDataSet().add(t),e.showManipulatorToolbar())})}else this.body.data.nodes.getDataSet().add(i),this.showManipulatorToolbar()}},{key:"_performAddEdge",value:function(t,e){var i=this,o={from:t,to:e};if("function"==typeof this.options.addEdge){if(2!==this.options.addEdge.length)throw new Error("The function for connect does not support two arguments (data,callback)");this.options.addEdge(o,function(t){null!==t&&void 0!==t&&"addEdge"===i.inMode&&(i.body.data.edges.getDataSet().add(t),i.selectionHandler.unselectAll(),i.showManipulatorToolbar())})}else this.body.data.edges.getDataSet().add(o),this.selectionHandler.unselectAll(),this.showManipulatorToolbar()}},{key:"_performEditEdge",value:function(t,e){var i=this,o={id:this.edgeBeingEditedId,from:t,to:e,label:this.body.data.edges._data[this.edgeBeingEditedId].label},n=this.options.editEdge;if("object"===(void 0===n?"undefined":(0,d.default)(n))&&(n=n.editWithoutDrag),"function"==typeof n){if(2!==n.length)throw new Error("The function for edit does not support two arguments (data, callback)");n(o,function(t){null===t||void 0===t||"editEdge"!==i.inMode?(i.body.edges[o.id].updateEdgeType(),i.body.emitter.emit("_redraw"),i.showManipulatorToolbar()):(i.body.data.edges.getDataSet().update(t),i.selectionHandler.unselectAll(),i.showManipulatorToolbar())})}else this.body.data.edges.getDataSet().update(o),this.selectionHandler.unselectAll(),this.showManipulatorToolbar()}}]),t}();e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(31),s=o(n),r=i(0),a=o(r),h=i(1),d=o(h),l=i(239),u=o(l),c=function(){function t(e,i,o){(0,a.default)(this,t),this.body=e,this.springLength=i,this.springConstant=o,this.distanceSolver=new u.default}return(0,d.default)(t,[{key:"setOptions",value:function(t){t&&(t.springLength&&(this.springLength=t.springLength),t.springConstant&&(this.springConstant=t.springConstant))}},{key:"solve",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=this.distanceSolver.getDistances(this.body,t,e);this._createL_matrix(o),this._createK_matrix(o),this._createE_matrix();for(var n=0,r=Math.max(1e3,Math.min(10*this.body.nodeIndices.length,6e3)),a=1e9,h=0,d=0,l=0,u=0,c=0;a>.01&&n1&&c<5;){c+=1,this._moveNode(h,d,l);var m=this._getEnergy(h),v=(0,s.default)(m,3);u=v[0],d=v[1],l=v[2]}}}},{key:"_getHighestEnergyNode",value:function(t){for(var e=this.body.nodeIndices,i=this.body.nodes,o=0,n=e[0],r=0,a=0,h=0;h=.4*v}if(this.options.showMinorLabels&&m){var k=this._repaintMinorText(c,y,t,b);k.style.width=_+"px"}f&&this.options.showMajorLabels?(c>0&&(void 0==w&&(w=c),k=this._repaintMajorText(c,s.getLabelMajor(),t,b)),g=this._repaintMajorLine(c,_,t,b)):m?g=this._repaintMinorLine(c,_,t,b):g&&(g.style.width=parseInt(g.style.width)+_+"px")}if(1e3!==x||u||(console.warn("Something is wrong with the Timeline scale. Limited drawing of grid lines to 1000 lines."),u=!0),this.options.showMajorLabels){var D=this.body.util.toTime(0),S=s.getLabelMajor(D),M=S.length*(this.props.majorCharWidth||10)+10;(void 0==w||Mt.left&&this.shape.topt.top}},{key:"isBoundingBoxOverlappingWith",value:function(t){return this.shape.boundingBox.leftt.left&&this.shape.boundingBox.topt.top}}],[{key:"updateGroupOptions",value:function(t,e,i){if(void 0!==i){var o=t.group;if(void 0!==e&&void 0!==e.group&&o!==e.group)throw new Error("updateGroupOptions: group values in options don't match.");if("number"==typeof o||"string"==typeof o&&""!=o){var n=i.get(o);h.selectiveNotDeepExtend(["font"],t,n),t.color=h.parseColor(t.color)}}}},{key:"parseOptions",value:function(e,i){var o=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},s=arguments[4],r=["color","fixed","shadow"];if(h.selectiveNotDeepExtend(r,e,i,o),t.checkMass(i),h.mergeOptions(e,i,"shadow",n),void 0!==i.color&&null!==i.color){var a=h.parseColor(i.color);h.fillIfDefined(e.color,a)}else!0===o&&null===i.color&&(e.color=h.bridgeObject(n.color));void 0!==i.fixed&&null!==i.fixed&&("boolean"==typeof i.fixed?(e.fixed.x=i.fixed,e.fixed.y=i.fixed):(void 0!==i.fixed.x&&"boolean"==typeof i.fixed.x&&(e.fixed.x=i.fixed.x),void 0!==i.fixed.y&&"boolean"==typeof i.fixed.y&&(e.fixed.y=i.fixed.y))),!0===o&&null===i.font&&(e.font=h.bridgeObject(n.font)),t.updateGroupOptions(e,i,s),void 0!==i.scaling&&h.mergeOptions(e.scaling,i.scaling,"label",n.scaling)}},{key:"checkMass",value:function(t,e){if(void 0!==t.mass&&t.mass<=0){var i="";void 0!==e&&(i=" in node id: "+e),console.log("%cNegative or zero mass disallowed"+i+", setting mass to 1.",C),t.mass=1}}}]),t}();e.default=O},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(6),s=o(n),r=i(0),a=o(r),h=i(1),d=o(h),l=i(2),u=function(){function t(){(0,a.default)(this,t)}return(0,d.default)(t,null,[{key:"choosify",value:function(t,e){var i=["node","edge","label"],o=!0,n=l.topMost(e,"chosen");if("boolean"==typeof n)o=n;else if("object"===(void 0===n?"undefined":(0,s.default)(n))){if(-1===i.indexOf(t))throw new Error("choosify: subOption '"+t+"' should be one of '"+i.join("', '")+"'");var r=l.topMost(e,["chosen",t]);"boolean"!=typeof r&&"function"!=typeof r||(o=r)}return o}},{key:"pointInRect",value:function(t,e,i){if(t.width<=0||t.height<=0)return!1;if(void 0!==i){var o={x:e.x-i.x,y:e.y-i.y};if(0!==i.angle){var n=-i.angle;e={x:Math.cos(n)*o.x-Math.sin(n)*o.y,y:Math.sin(n)*o.x+Math.cos(n)*o.y}}else e=o}var s=t.x+t.width,r=t.y+t.width;return t.lefte.x&&t.tope.y}},{key:"isValidLabel",value:function(t){return"string"==typeof t&&""!==t}}]),t}();e.default=u},function(t,e,i){i(125);for(var o=i(18),n=i(26),s=i(32),r=i(13)("toStringTag"),a="CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,TextTrackList,TouchList".split(","),h=0;hdocument.F=Object<\/script>"),t.close(),h=t.F;o--;)delete h.prototype[s[o]];return h()};t.exports=Object.create||function(t,e){var i;return null!==t?(a.prototype=o(t),i=new a,a.prototype=null,i[r]=t):i=h(),void 0===e?i:n(i,e)}},function(t,e){var i=Math.ceil,o=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?o:i)(t)}},function(t,e,i){var o=i(57)("keys"),n=i(41);t.exports=function(t){return o[t]||(o[t]=n(t))}},function(t,e,i){var o=i(7),n=i(18),s=n["__core-js_shared__"]||(n["__core-js_shared__"]={});(t.exports=function(t,e){return s[t]||(s[t]=void 0!==e?e:{})})("versions",[]).push({version:o.version,mode:i(39)?"pure":"global",copyright:"© 2018 Denis Pushkarev (zloirock.ru)"})},function(t,e){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(t,e,i){var o=i(20).f,n=i(22),s=i(13)("toStringTag");t.exports=function(t,e,i){t&&!n(t=i?t:t.prototype,s)&&o(t,s,{configurable:!0,value:e})}},function(t,e,i){var o=i(135)(!0);i(79)(String,"String",function(t){this._t=String(t),this._i=0},function(){var t,e=this._t,i=this._i;return i>=e.length?{value:void 0,done:!0}:(t=o(e,i),this._i+=t.length,{value:t,done:!1})})},function(t,e,i){e.f=i(13)},function(t,e,i){var o=i(18),n=i(7),s=i(39),r=i(61),a=i(20).f;t.exports=function(t){var e=n.Symbol||(n.Symbol=s?{}:o.Symbol||{});"_"==t.charAt(0)||t in e||a(e,t,{value:r.f(t)})}},function(t,e){e.f=Object.getOwnPropertySymbols},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}function n(t,e){var i=p().hours(0).minutes(0).seconds(0).milliseconds(0),o=i.clone().add(-3,"days").valueOf(),n=i.clone().add(3,"days").valueOf();this.millisecondsPerPixelCache=void 0,void 0===e?(this.start=o,this.end=n):(this.start=e.start||o,this.end=e.end||n),this.rolling=!1,this.body=t,this.deltaDifference=0,this.scaleOffset=0,this.startToFront=!1,this.endToFront=!0,this.defaultOptions={rtl:!1,start:null,end:null,moment:p,direction:"horizontal",moveable:!0,zoomable:!0,min:null,max:null,zoomMin:10,zoomMax:31536e10,rollingMode:{follow:!1,offset:.5}},this.options=c.extend({},this.defaultOptions),this.props={touch:{}},this.animationTimer=null,this.body.emitter.on("panstart",this._onDragStart.bind(this)),this.body.emitter.on("panmove",this._onDrag.bind(this)),this.body.emitter.on("panend",this._onDragEnd.bind(this)),this.body.emitter.on("mousewheel",this._onMouseWheel.bind(this)),this.body.emitter.on("touch",this._onTouch.bind(this)),this.body.emitter.on("pinch",this._onPinch.bind(this)),this.body.dom.rollingModeBtn.addEventListener("click",this.startRolling.bind(this)),this.setOptions(e)}function s(t){if("horizontal"!=t&&"vertical"!=t)throw new TypeError('Unknown direction "'+t+'". Choose "horizontal" or "vertical".')}var r=i(8),a=o(r),h=i(19),d=o(h),l=i(6),u=o(l),c=i(2),p=i(9),f=i(16),m=i(36);n.prototype=new f,n.prototype.setOptions=function(t){if(t){var e=["animation","direction","min","max","zoomMin","zoomMax","moveable","zoomable","moment","activate","hiddenDates","zoomKey","rtl","showCurrentTime","rollingMode","horizontalScroll"];c.selectiveExtend(e,this.options,t),t.rollingMode&&t.rollingMode.follow&&this.startRolling(),("start"in t||"end"in t)&&this.setRange(t.start,t.end)}},n.prototype.startRolling=function(){function t(){e.stopRolling(),e.rolling=!0;var i=e.end-e.start,o=c.convert(new Date,"Date").valueOf(),n=o-i*e.options.rollingMode.offset,s=o+i*(1-e.options.rollingMode.offset),r={animation:!1};e.setRange(n,s,r),i=1/e.conversion(e.body.domProps.center.width).scale/10,i<30&&(i=30),i>1e3&&(i=1e3),e.body.dom.rollingModeBtn.style.visibility="hidden",e.currentTimeTimer=setTimeout(t,i)}var e=this;t()},n.prototype.stopRolling=function(){void 0!==this.currentTimeTimer&&(clearTimeout(this.currentTimeTimer),this.rolling=!1,this.body.dom.rollingModeBtn.style.visibility="visible")},n.prototype.setRange=function(t,e,i,o,n){i||(i={}),!0!==i.byUser&&(i.byUser=!1);var s=this,r=void 0!=t?c.convert(t,"Date").valueOf():null,h=void 0!=e?c.convert(e,"Date").valueOf():null;if(this._cancelAnimation(),this.millisecondsPerPixelCache=void 0,i.animation){var l=this.start,p=this.end,f="object"===(0,u.default)(i.animation)&&"duration"in i.animation?i.animation.duration:500,v="object"===(0,u.default)(i.animation)&&"easingFunction"in i.animation?i.animation.easingFunction:"easeInOutQuad",g=c.easingFunctions[v];if(!g)throw new Error("Unknown easing function "+(0,d.default)(v)+". Choose from: "+(0,a.default)(c.easingFunctions).join(", "));var y=(new Date).valueOf(),b=!1;return function t(){if(!s.props.touch.dragging){var e=(new Date).valueOf(),a=e-y,d=g(a/f),u=a>f,c=u||null===r?r:l+(r-l)*d,v=u||null===h?h:p+(h-p)*d;_=s._applyRange(c,v),m.updateHiddenDates(s.options.moment,s.body,s.options.hiddenDates),b=b||_;var w={start:new Date(s.start),end:new Date(s.end),byUser:i.byUser,event:i.event};if(n&&n(d,_,u),_&&s.body.emitter.emit("rangechange",w),u){if(b&&(s.body.emitter.emit("rangechanged",w),o))return o()}else s.animationTimer=setTimeout(t,20)}}()}var _=this._applyRange(r,h);if(m.updateHiddenDates(this.options.moment,this.body,this.options.hiddenDates),_){var w={start:new Date(this.start),end:new Date(this.end),byUser:i.byUser,event:i.event};if(this.body.emitter.emit("rangechange",w),clearTimeout(s.timeoutID),s.timeoutID=setTimeout(function(){s.body.emitter.emit("rangechanged",w)},200),o)return o()}},n.prototype.getMillisecondsPerPixel=function(){return void 0===this.millisecondsPerPixelCache&&(this.millisecondsPerPixelCache=(this.end-this.start)/this.body.dom.center.clientWidth),this.millisecondsPerPixelCache},n.prototype._cancelAnimation=function(){this.animationTimer&&(clearTimeout(this.animationTimer),this.animationTimer=null)},n.prototype._applyRange=function(t,e){var i,o=null!=t?c.convert(t,"Date").valueOf():this.start,n=null!=e?c.convert(e,"Date").valueOf():this.end,s=null!=this.options.max?c.convert(this.options.max,"Date").valueOf():null,r=null!=this.options.min?c.convert(this.options.min,"Date").valueOf():null;if(isNaN(o)||null===o)throw new Error('Invalid start "'+t+'"');if(isNaN(n)||null===n)throw new Error('Invalid end "'+e+'"');if(ns&&(n=s)),null!==s&&n>s&&(i=n-s,o-=i,n-=i,null!=r&&o=this.start-.5&&n<=this.end?(o=this.start,n=this.end):(i=a-(n-o),o-=i/2,n+=i/2)}}if(null!==this.options.zoomMax){var h=parseFloat(this.options.zoomMax);h<0&&(h=0),n-o>h&&(this.end-this.start===h&&othis.end?(o=this.start,n=this.end):(i=n-o-h,o+=i/2,n-=i/2))}var d=this.start!=o||this.end!=n;return o>=this.start&&o<=this.end||n>=this.start&&n<=this.end||this.start>=o&&this.start<=n||this.end>=o&&this.end<=n||this.body.emitter.emit("checkRangedItems"),this.start=o,this.end=n,d},n.prototype.getRange=function(){return{start:this.start,end:this.end}},n.prototype.conversion=function(t,e){return n.conversion(this.start,this.end,t,e)},n.conversion=function(t,e,i,o){return void 0===o&&(o=0),0!=i&&e-t!=0?{offset:t,scale:i/(e-t-o)}:{offset:0,scale:1}},n.prototype._onDragStart=function(t){this.deltaDifference=0,this.previousDelta=0,this.options.moveable&&this._isInsideRange(t)&&this.props.touch.allowDragging&&(this.stopRolling(),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"))},n.prototype._onDrag=function(t){if(t&&this.props.touch.dragging&&this.options.moveable&&this.props.touch.allowDragging){var e=this.options.direction;s(e);var i="horizontal"==e?t.deltaX:t.deltaY;i-=this.deltaDifference;var o=this.props.touch.end-this.props.touch.start;o-=m.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end);var n,r="horizontal"==e?this.body.domProps.center.width:this.body.domProps.center.height;n=this.options.rtl?i/r*o:-i/r*o;var a=this.props.touch.start+n,h=this.props.touch.end+n,d=m.snapAwayFromHidden(this.body.hiddenDates,a,this.previousDelta-i,!0),l=m.snapAwayFromHidden(this.body.hiddenDates,h,this.previousDelta-i,!0);if(d!=a||l!=h)return this.deltaDifference+=i,this.props.touch.start=d,this.props.touch.end=l,void this._onDrag(t);this.previousDelta=i,this._applyRange(a,h);var u=new Date(this.start),c=new Date(this.end);this.body.emitter.emit("rangechange",{start:u,end:c,byUser:!0,event:t}),this.body.emitter.emit("panmove")}},n.prototype._onDragEnd=function(t){this.props.touch.dragging&&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,event:t}))},n.prototype._onMouseWheel=function(t){var e=0;if(t.wheelDelta?e=t.wheelDelta/120:t.detail&&(e=-t.detail/3),!(this.options.zoomKey&&!t[this.options.zoomKey]&&this.options.zoomable||!this.options.zoomable&&this.options.moveable)&&this.options.zoomable&&this.options.moveable&&this._isInsideRange(t)&&e){var i;i=e<0?1-e/5:1/(1+e/5);var o;if(this.rolling)o=this.start+(this.end-this.start)*this.options.rollingMode.offset;else{var n=this.getPointer({x:t.clientX,y:t.clientY},this.body.dom.center);o=this._pointerToDate(n)}this.zoom(i,o,e,t),t.preventDefault()}},n.prototype._onTouch=function(t){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,c.preventDefault(t)},n.prototype._onPinch=function(t){if(this.options.zoomable&&this.options.moveable){c.preventDefault(t),this.props.touch.allowDragging=!1,this.props.touch.center||(this.props.touch.center=this.getPointer(t.center,this.body.dom.center)),this.stopRolling();var e=1/(t.scale+this.scaleOffset),i=this._pointerToDate(this.props.touch.center),o=m.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end),n=m.getHiddenDurationBefore(this.options.moment,this.body.hiddenDates,this,i),s=o-n,r=i-n+(this.props.touch.start-(i-n))*e,a=i+s+(this.props.touch.end-(i+s))*e;this.startToFront=1-e<=0,this.endToFront=e-1<=0;var h=m.snapAwayFromHidden(this.body.hiddenDates,r,1-e,!0),d=m.snapAwayFromHidden(this.body.hiddenDates,a,e-1,!0);h==r&&d==a||(this.props.touch.start=h,this.props.touch.end=d,this.scaleOffset=1-t.scale,r=h,a=d);var l={animation:!1,byUser:!0,event:t};this.setRange(r,a,l),this.startToFront=!1,this.endToFront=!0}},n.prototype._isInsideRange=function(t){var e,i=t.center?t.center.x:t.clientX;e=this.options.rtl?i-c.getAbsoluteLeft(this.body.dom.centerContainer):c.getAbsoluteRight(this.body.dom.centerContainer)-i;var o=this.body.util.toTime(e);return o>=this.start&&o<=this.end},n.prototype._pointerToDate=function(t){var e,i=this.options.direction;if(s(i),"horizontal"==i)return this.body.util.toTime(t.x).valueOf();var o=this.body.domProps.center.height;return e=this.conversion(o),t.y/e.scale+e.offset},n.prototype.getPointer=function(t,e){return this.options.rtl?{x:c.getAbsoluteRight(e)-t.x,y:t.y-c.getAbsoluteTop(e)}:{x:t.x-c.getAbsoluteLeft(e),y:t.y-c.getAbsoluteTop(e)}},n.prototype.zoom=function(t,e,i,o){null==e&&(e=(this.start+this.end)/2) +;var n=m.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end),s=m.getHiddenDurationBefore(this.options.moment,this.body.hiddenDates,this,e),r=n-s,a=e-s+(this.start-(e-s))*t,h=e+r+(this.end-(e+r))*t;this.startToFront=!(i>0),this.endToFront=!(-i>0);var d=m.snapAwayFromHidden(this.body.hiddenDates,a,i,!0),l=m.snapAwayFromHidden(this.body.hiddenDates,h,-i,!0);d==a&&l==h||(a=d,h=l);var u={animation:!1,byUser:!0,event:o};this.setRange(a,h,u),this.startToFront=!1,this.endToFront=!0},n.prototype.move=function(t){var e=this.end-this.start,i=this.start+e*t,o=this.end+e*t;this.start=i,this.end=o},n.prototype.moveTo=function(t){var e=(this.start+this.end)/2,i=e-t,o=this.start-i,n=this.end-i,s={animation:!1,byUser:!0,event:null};this.setRange(o,n,s)},t.exports=n},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}function n(){}var s=i(19),r=o(s),a=i(6),h=o(a),d=i(45),l=i(10),u=i(37),c=i(2),p=i(46),f=i(97),m=i(36),v=i(47);d(n.prototype),n.prototype._create=function(t){function e(t){this.isActive()&&this.emit("mousewheel",t);var e=0,i=0;if("detail"in t&&(i=-1*t.detail),"wheelDelta"in t&&(i=t.wheelDelta),"wheelDeltaY"in t&&(i=t.wheelDeltaY),"wheelDeltaX"in t&&(e=-1*t.wheelDeltaX),"axis"in t&&t.axis===t.HORIZONTAL_AXIS&&(e=-1*i,i=0),"deltaY"in t&&(i=-1*t.deltaY),"deltaX"in t&&(e=t.deltaX),this.options.zoomKey&&!t[this.options.zoomKey])if(t.preventDefault(),this.options.verticalScroll&&Math.abs(i)>=Math.abs(e)){var o=this.props.scrollTop,n=o+i;this.isActive()&&(this._setScrollTop(n),this._redraw(),this.emit("scroll",t))}else if(this.options.horizontalScroll){var s=Math.abs(e)>=Math.abs(i)?e:i,r=s/120*(this.range.end-this.range.start)/20,a=this.range.start+r,h=this.range.end+r,d={animation:!1,byUser:!0,event:t};this.range.setRange(a,h,d)}}function i(t){if(s.options.verticalScroll&&(t.preventDefault(),s.isActive())){var e=-t.target.scrollTop;s._setScrollTop(e),s._redraw(),s.emit("scrollSide",t)}}function o(t){if(t.preventDefault&&t.preventDefault(),!(!t.target.className.indexOf("vis")>-1||a))return t.dataTransfer.dropEffect="move",a=!0,!1}function n(t){t.preventDefault&&t.preventDefault(),t.stopPropagation&&t.stopPropagation();try{var e=JSON.parse(t.dataTransfer.getData("text"));if(!e||!e.content)return}catch(t){return!1}return a=!1,t.center={x:t.clientX,y:t.clientY},"item"!==e.target?s.itemSet._onAddItem(t):s.itemSet._onDropObjectOnItem(t),s.emit("drop",s.getEventProperties(t)),!1}this.dom={},this.dom.container=t,this.dom.root=document.createElement("div"),this.dom.background=document.createElement("div"),this.dom.backgroundVertical=document.createElement("div"),this.dom.backgroundHorizontal=document.createElement("div"),this.dom.centerContainer=document.createElement("div"),this.dom.leftContainer=document.createElement("div"),this.dom.rightContainer=document.createElement("div"),this.dom.center=document.createElement("div"),this.dom.left=document.createElement("div"),this.dom.right=document.createElement("div"),this.dom.top=document.createElement("div"),this.dom.bottom=document.createElement("div"),this.dom.shadowTop=document.createElement("div"),this.dom.shadowBottom=document.createElement("div"),this.dom.shadowTopLeft=document.createElement("div"),this.dom.shadowBottomLeft=document.createElement("div"),this.dom.shadowTopRight=document.createElement("div"),this.dom.shadowBottomRight=document.createElement("div"),this.dom.rollingModeBtn=document.createElement("div"),this.dom.root.className="vis-timeline",this.dom.background.className="vis-panel vis-background",this.dom.backgroundVertical.className="vis-panel vis-background vis-vertical",this.dom.backgroundHorizontal.className="vis-panel vis-background vis-horizontal",this.dom.centerContainer.className="vis-panel vis-center",this.dom.leftContainer.className="vis-panel vis-left",this.dom.rightContainer.className="vis-panel vis-right",this.dom.top.className="vis-panel vis-top",this.dom.bottom.className="vis-panel vis-bottom",this.dom.left.className="vis-content",this.dom.center.className="vis-content",this.dom.right.className="vis-content",this.dom.shadowTop.className="vis-shadow vis-top",this.dom.shadowBottom.className="vis-shadow vis-bottom",this.dom.shadowTopLeft.className="vis-shadow vis-top",this.dom.shadowBottomLeft.className="vis-shadow vis-bottom",this.dom.shadowTopRight.className="vis-shadow vis-top",this.dom.shadowBottomRight.className="vis-shadow vis-bottom",this.dom.rollingModeBtn.className="vis-rolling-mode-btn",this.dom.root.appendChild(this.dom.background),this.dom.root.appendChild(this.dom.backgroundVertical),this.dom.root.appendChild(this.dom.backgroundHorizontal),this.dom.root.appendChild(this.dom.centerContainer),this.dom.root.appendChild(this.dom.leftContainer),this.dom.root.appendChild(this.dom.rightContainer),this.dom.root.appendChild(this.dom.top),this.dom.root.appendChild(this.dom.bottom),this.dom.root.appendChild(this.dom.bottom),this.dom.root.appendChild(this.dom.rollingModeBtn),this.dom.centerContainer.appendChild(this.dom.center),this.dom.leftContainer.appendChild(this.dom.left),this.dom.rightContainer.appendChild(this.dom.right),this.dom.centerContainer.appendChild(this.dom.shadowTop),this.dom.centerContainer.appendChild(this.dom.shadowBottom),this.dom.leftContainer.appendChild(this.dom.shadowTopLeft),this.dom.leftContainer.appendChild(this.dom.shadowBottomLeft),this.dom.rightContainer.appendChild(this.dom.shadowTopRight),this.dom.rightContainer.appendChild(this.dom.shadowBottomRight),this.tmpData={},this.props={root:{},background:{},centerContainer:{},leftContainer:{},rightContainer:{},center:{},left:{},right:{},top:{},bottom:{},border:{},scrollTop:0,scrollTopMin:0},this.on("rangechange",function(){!0===this.initialDrawDone&&this._redraw()}.bind(this)),this.on("rangechanged",function(){this.initialRangeChangeDone||(this.initialRangeChangeDone=!0)}.bind(this)),this.on("touch",this._onTouch.bind(this)),this.on("panmove",this._onDrag.bind(this));var s=this;this._origRedraw=this._redraw.bind(this),this._redraw=c.throttle(this._origRedraw),this.on("_change",function(t){s.itemSet&&s.itemSet.initialItemSetDrawn&&t&&1==t.queue?s._redraw():s._origRedraw()}),this.hammer=new l(this.dom.root);var r=this.hammer.get("pinch").set({enable:!0});u.disablePreventDefaultVertically(r),this.hammer.get("pan").set({threshold:5,direction:l.DIRECTION_HORIZONTAL}),this.listeners={},["tap","doubletap","press","pinch","pan","panstart","panmove","panend"].forEach(function(t){var e=function(e){s.isActive()&&s.emit(t,e)};s.hammer.on(t,e),s.listeners[t]=e}),u.onTouch(this.hammer,function(t){s.emit("touch",t)}.bind(this)),u.onRelease(this.hammer,function(t){s.emit("release",t)}.bind(this)),this.dom.centerContainer.addEventListener?(this.dom.centerContainer.addEventListener("mousewheel",e.bind(this),!1),this.dom.centerContainer.addEventListener("DOMMouseScroll",e.bind(this),!1)):this.dom.centerContainer.attachEvent("onmousewheel",e.bind(this)),this.dom.left.parentNode.addEventListener("scroll",i.bind(this)),this.dom.right.parentNode.addEventListener("scroll",i.bind(this));var a=!1;if(this.dom.center.addEventListener("dragover",o.bind(this),!1),this.dom.center.addEventListener("drop",n.bind(this),!1),this.customTimes=[],this.touch={},this.redrawCount=0,this.initialDrawDone=!1,this.initialRangeChangeDone=!1,!t)throw new Error("No container provided");t.appendChild(this.dom.root)},n.prototype.setOptions=function(t){if(t){var e=["width","height","minHeight","maxHeight","autoResize","start","end","clickToUse","dataAttributes","hiddenDates","locale","locales","moment","rtl","zoomKey","horizontalScroll","verticalScroll"];if(c.selectiveExtend(e,this.options,t),this.dom.rollingModeBtn.style.visibility="hidden",this.options.rtl&&(this.dom.container.style.direction="rtl",this.dom.backgroundVertical.className="vis-panel vis-background vis-vertical-rtl"),this.options.verticalScroll&&(this.options.rtl?this.dom.rightContainer.className="vis-panel vis-right vis-vertical-scroll":this.dom.leftContainer.className="vis-panel vis-left vis-vertical-scroll"),"object"!==(0,h.default)(this.options.orientation)&&(this.options.orientation={item:void 0,axis:void 0}),"orientation"in t&&("string"==typeof t.orientation?this.options.orientation={item:t.orientation,axis:t.orientation}:"object"===(0,h.default)(t.orientation)&&("item"in t.orientation&&(this.options.orientation.item=t.orientation.item),"axis"in t.orientation&&(this.options.orientation.axis=t.orientation.axis))),"both"===this.options.orientation.axis){if(!this.timeAxis2){var i=this.timeAxis2=new p(this.body);i.setOptions=function(t){var e=t?c.extend({},t):{};e.orientation="top",p.prototype.setOptions.call(i,e)},this.components.push(i)}}else if(this.timeAxis2){var o=this.components.indexOf(this.timeAxis2);-1!==o&&this.components.splice(o,1),this.timeAxis2.destroy(),this.timeAxis2=null}if("function"==typeof t.drawPoints&&(t.drawPoints={onRender:t.drawPoints}),"hiddenDates"in this.options&&m.convertHiddenOptions(this.options.moment,this.body,this.options.hiddenDates),"clickToUse"in t&&(t.clickToUse?this.activator||(this.activator=new f(this.dom.root)):this.activator&&(this.activator.destroy(),delete this.activator)),"showCustomTime"in t)throw new Error("Option `showCustomTime` is deprecated. Create a custom time bar via timeline.addCustomTime(time [, id])");this._initAutoResize()}if(this.components.forEach(function(e){return e.setOptions(t)}),"configure"in t){this.configurator||(this.configurator=this._createConfigurator()),this.configurator.setOptions(t.configure);var n=c.deepExtend({},this.options);this.components.forEach(function(t){c.deepExtend(n,t.options)}),this.configurator.setModuleOptions({global:n})}this._redraw()},n.prototype.isActive=function(){return!this.activator||this.activator.active},n.prototype.destroy=function(){this.setItems(null),this.setGroups(null),this.off(),this._stopAutoResize(),this.dom.root.parentNode&&this.dom.root.parentNode.removeChild(this.dom.root),this.dom=null,this.activator&&(this.activator.destroy(),delete this.activator);for(var t in this.listeners)this.listeners.hasOwnProperty(t)&&delete this.listeners[t];this.listeners=null,this.hammer=null,this.components.forEach(function(t){return t.destroy()}),this.body=null},n.prototype.setCustomTime=function(t,e){var i=this.customTimes.filter(function(t){return e===t.options.id});if(0===i.length)throw new Error("No custom time bar found with id "+(0,r.default)(e));i.length>0&&i[0].setCustomTime(t)},n.prototype.getCustomTime=function(t){var e=this.customTimes.filter(function(e){return e.options.id===t});if(0===e.length)throw new Error("No custom time bar found with id "+(0,r.default)(t));return e[0].getCustomTime()},n.prototype.setCustomTimeTitle=function(t,e){var i=this.customTimes.filter(function(t){return t.options.id===e});if(0===i.length)throw new Error("No custom time bar found with id "+(0,r.default)(e));if(i.length>0)return i[0].setCustomTitle(t)},n.prototype.getEventProperties=function(t){return{event:t}},n.prototype.addCustomTime=function(t,e){var i=void 0!==t?c.convert(t,"Date").valueOf():new Date;if(this.customTimes.some(function(t){return t.options.id===e}))throw new Error("A custom time with id "+(0,r.default)(e)+" already exists");var o=new v(this.body,c.extend({},this.options,{time:i,id:e}));return this.customTimes.push(o),this.components.push(o),this._redraw(),e},n.prototype.removeCustomTime=function(t){var e=this.customTimes.filter(function(e){return e.options.id===t});if(0===e.length)throw new Error("No custom time bar found with id "+(0,r.default)(t));e.forEach(function(t){this.customTimes.splice(this.customTimes.indexOf(t),1),this.components.splice(this.components.indexOf(t),1),t.destroy()}.bind(this))},n.prototype.getVisibleItems=function(){return this.itemSet&&this.itemSet.getVisibleItems()||[]},n.prototype.fit=function(t,e){var i=this.getDataRange();if(null!==i.min||null!==i.max){var o=i.max-i.min,n=new Date(i.min.valueOf()-.01*o),s=new Date(i.max.valueOf()+.01*o),r=!t||void 0===t.animation||t.animation;this.range.setRange(n,s,{animation:r},e)}},n.prototype.getDataRange=function(){throw new Error("Cannot invoke abstract method getDataRange")},n.prototype.setWindow=function(t,e,i,o){"function"==typeof arguments[2]&&(o=arguments[2],i={});var n,s;1==arguments.length?(s=arguments[0],n=void 0===s.animation||s.animation,this.range.setRange(s.start,s.end,{animation:n})):2==arguments.length&&"function"==typeof arguments[1]?(s=arguments[0],o=arguments[1],n=void 0===s.animation||s.animation,this.range.setRange(s.start,s.end,{animation:n},o)):(n=!i||void 0===i.animation||i.animation,this.range.setRange(t,e,{animation:n},o))},n.prototype.moveTo=function(t,e,i){"function"==typeof arguments[1]&&(i=arguments[1],e={});var o=this.range.end-this.range.start,n=c.convert(t,"Date").valueOf(),s=n-o/2,r=n+o/2,a=!e||void 0===e.animation||e.animation;this.range.setRange(s,r,{animation:a},i)},n.prototype.getWindow=function(){var t=this.range.getRange();return{start:new Date(t.start),end:new Date(t.end)}},n.prototype.zoomIn=function(t,e,i){if(!(!t||t<0||t>1)){"function"==typeof arguments[1]&&(i=arguments[1],e={});var o=this.getWindow(),n=o.start.valueOf(),s=o.end.valueOf(),r=s-n,a=r/(1+t),h=(r-a)/2,d=n+h,l=s-h;this.setWindow(d,l,e,i)}},n.prototype.zoomOut=function(t,e,i){if(!(!t||t<0||t>1)){"function"==typeof arguments[1]&&(i=arguments[1],e={});var o=this.getWindow(),n=o.start.valueOf(),s=o.end.valueOf(),r=s-n,a=n-r*t/2,h=s+r*t/2;this.setWindow(a,h,e,i)}},n.prototype.redraw=function(){this._redraw()},n.prototype._redraw=function(){this.redrawCount++;var t=!1,e=this.options,i=this.props,o=this.dom;if(o&&o.container&&0!=o.root.offsetWidth){m.updateHiddenDates(this.options.moment,this.body,this.options.hiddenDates),"top"==e.orientation?(c.addClassName(o.root,"vis-top"),c.removeClassName(o.root,"vis-bottom")):(c.removeClassName(o.root,"vis-top"),c.addClassName(o.root,"vis-bottom")),o.root.style.maxHeight=c.option.asSize(e.maxHeight,""),o.root.style.minHeight=c.option.asSize(e.minHeight,""),o.root.style.width=c.option.asSize(e.width,""),this.tmpData&&this.tmpData.left||(this.tmpData={left:(o.centerContainer.offsetWidth-o.centerContainer.clientWidth)/2,top:(o.centerContainer.offsetHeight-o.centerContainer.clientHeight)/2,height:o.root.offsetHeight-o.root.clientHeight,width:o.root.offsetWidth-o.root.clientWidth});var n={left:(o.centerContainer.offsetWidth-o.centerContainer.clientWidth)/2,top:(o.centerContainer.offsetHeight-o.centerContainer.clientHeight)/2,height:o.root.offsetHeight-o.root.clientHeight,width:o.root.offsetWidth-o.root.clientWidth},s=this.tmpData.left-n.left,r=this.tmpData.top-n.top,a=this.tmpData.height-n.height,h=this.tmpData.width-n.width;s<=3||s>=-3?i.border.left=this.tmpData.left:(i.border.left=n.left,this.tmpData.left=n.left),r<=3||r>=-3?i.border.top=this.tmpData.top:(i.border.top=n.top,this.tmpData.top=n.top),a<=3||a>=-3?i.borderRootHeight=this.tmpData.height:(i.borderRootHeight=n.height,this.tmpData.height=n.height),h<=3||h>=-3?i.borderRootWidth=this.tmpData.width:(i.borderRootWidth=n.width,this.tmpData.width=n.width),i.border.right=i.border.left,i.border.bottom=i.border.top,0===o.centerContainer.clientHeight&&(i.border.left=i.border.top,i.border.right=i.border.left),0===o.root.clientHeight&&(i.borderRootWidth=i.borderRootHeight),i.center.height=o.center.offsetHeight,i.left.height=o.left.offsetHeight,i.right.height=o.right.offsetHeight,i.top.height=o.top.clientHeight||-i.border.top,i.bottom.height=o.bottom.clientHeight||-i.border.bottom;var d=Math.max(i.left.height,i.center.height,i.right.height),u=i.top.height+d+i.bottom.height+i.borderRootHeight+i.border.top+i.border.bottom;o.root.style.height=c.option.asSize(e.height,u+"px"),i.root.height=o.root.offsetHeight,i.background.height=i.root.height-i.borderRootHeight;var p=i.root.height-i.top.height-i.bottom.height-i.borderRootHeight;i.centerContainer.height=p,i.leftContainer.height=p,i.rightContainer.height=i.leftContainer.height,i.root.width=o.root.offsetWidth,i.background.width=i.root.width-i.borderRootWidth,this.initialDrawDone||(i.scrollbarWidth=c.getScrollBarWidth()),e.verticalScroll?e.rtl?(i.left.width=o.leftContainer.clientWidth||-i.border.left,i.right.width=o.rightContainer.clientWidth+i.scrollbarWidth||-i.border.right):(i.left.width=o.leftContainer.clientWidth+i.scrollbarWidth||-i.border.left,i.right.width=o.rightContainer.clientWidth||-i.border.right):(i.left.width=o.leftContainer.clientWidth||-i.border.left,i.right.width=o.rightContainer.clientWidth||-i.border.right),this._setDOM();var f=this._updateScrollTop();"top"!=e.orientation.item&&(f+=Math.max(i.centerContainer.height-i.center.height-i.border.top-i.border.bottom,0)),o.center.style.top=f+"px";var v=0==i.scrollTop?"hidden":"",g=i.scrollTop==i.scrollTopMin?"hidden":"";o.shadowTop.style.visibility=v,o.shadowBottom.style.visibility=g,o.shadowTopLeft.style.visibility=v,o.shadowBottomLeft.style.visibility=g,o.shadowTopRight.style.visibility=v,o.shadowBottomRight.style.visibility=g,e.verticalScroll&&(o.rightContainer.className="vis-panel vis-right vis-vertical-scroll",o.leftContainer.className="vis-panel vis-left vis-vertical-scroll",o.shadowTopRight.style.visibility="hidden",o.shadowBottomRight.style.visibility="hidden",o.shadowTopLeft.style.visibility="hidden",o.shadowBottomLeft.style.visibility="hidden",o.left.style.top="0px",o.right.style.top="0px"),(!e.verticalScroll||i.center.heighti.centerContainer.height;this.hammer.get("pan").set({direction:y?l.DIRECTION_ALL:l.DIRECTION_HORIZONTAL}),this.components.forEach(function(e){t=e.redraw()||t});if(t){if(this.redrawCount<2)return void this.body.emitter.emit("_change");console.log("WARNING: infinite loop in redraw? ...")}else this.redrawCount=0;this.body.emitter.emit("changed")}},n.prototype._setDOM=function(){var t=this.props,e=this.dom;t.leftContainer.width=t.left.width,t.rightContainer.width=t.right.width;var i=t.root.width-t.left.width-t.right.width-t.borderRootWidth;t.center.width=i,t.centerContainer.width=i,t.top.width=i,t.bottom.width=i,e.background.style.height=t.background.height+"px",e.backgroundVertical.style.height=t.background.height+"px",e.backgroundHorizontal.style.height=t.centerContainer.height+"px",e.centerContainer.style.height=t.centerContainer.height+"px",e.leftContainer.style.height=t.leftContainer.height+"px",e.rightContainer.style.height=t.rightContainer.height+"px",e.background.style.width=t.background.width+"px",e.backgroundVertical.style.width=t.centerContainer.width+"px",e.backgroundHorizontal.style.width=t.background.width+"px",e.centerContainer.style.width=t.center.width+"px",e.top.style.width=t.top.width+"px",e.bottom.style.width=t.bottom.width+"px",e.background.style.left="0",e.background.style.top="0",e.backgroundVertical.style.left=t.left.width+t.border.left+"px",e.backgroundVertical.style.top="0",e.backgroundHorizontal.style.left="0",e.backgroundHorizontal.style.top=t.top.height+"px",e.centerContainer.style.left=t.left.width+"px",e.centerContainer.style.top=t.top.height+"px",e.leftContainer.style.left="0",e.leftContainer.style.top=t.top.height+"px",e.rightContainer.style.left=t.left.width+t.center.width+"px",e.rightContainer.style.top=t.top.height+"px",e.top.style.left=t.left.width+"px",e.top.style.top="0",e.bottom.style.left=t.left.width+"px",e.bottom.style.top=t.top.height+t.centerContainer.height+"px",e.center.style.left="0",e.left.style.left="0",e.right.style.left="0"},n.prototype.repaint=function(){throw new Error("Function repaint is deprecated. Use redraw instead.")},n.prototype.setCurrentTime=function(t){if(!this.currentTime)throw new Error("Option showCurrentTime must be true");this.currentTime.setCurrentTime(t)},n.prototype.getCurrentTime=function(){if(!this.currentTime)throw new Error("Option showCurrentTime must be true");return this.currentTime.getCurrentTime()},n.prototype._toTime=function(t){return m.toTime(this,t,this.props.center.width)},n.prototype._toGlobalTime=function(t){return m.toTime(this,t,this.props.root.width)},n.prototype._toScreen=function(t){return m.toScreen(this,t,this.props.center.width)},n.prototype._toGlobalScreen=function(t){return m.toScreen(this,t,this.props.root.width)},n.prototype._initAutoResize=function(){1==this.options.autoResize?this._startAutoResize():this._stopAutoResize()},n.prototype._startAutoResize=function(){var t=this;this._stopAutoResize(),this._onResize=function(){if(1!=t.options.autoResize)return void t._stopAutoResize();t.dom.root&&(t.dom.root.offsetWidth==t.props.lastWidth&&t.dom.root.offsetHeight==t.props.lastHeight||(t.props.lastWidth=t.dom.root.offsetWidth,t.props.lastHeight=t.dom.root.offsetHeight,t.props.scrollbarWidth=c.getScrollBarWidth(),t.body.emitter.emit("_change")))},c.addEventListener(window,"resize",this._onResize),t.dom.root&&(t.props.lastWidth=t.dom.root.offsetWidth,t.props.lastHeight=t.dom.root.offsetHeight),this.watchTimer=setInterval(this._onResize,1e3)},n.prototype._stopAutoResize=function(){this.watchTimer&&(clearInterval(this.watchTimer),this.watchTimer=void 0),this._onResize&&(c.removeEventListener(window,"resize",this._onResize),this._onResize=null)},n.prototype._onTouch=function(t){this.touch.allowDragging=!0,this.touch.initialScrollTop=this.props.scrollTop},n.prototype._onPinch=function(t){this.touch.allowDragging=!1},n.prototype._onDrag=function(t){if(t&&this.touch.allowDragging){var e=t.deltaY,i=this._getScrollTop(),o=this._setScrollTop(this.touch.initialScrollTop+e);this.options.verticalScroll&&(this.dom.left.parentNode.scrollTop=-this.props.scrollTop,this.dom.right.parentNode.scrollTop=-this.props.scrollTop),o!=i&&this.emit("verticalDrag")}},n.prototype._setScrollTop=function(t){return this.props.scrollTop=t,this._updateScrollTop(),this.props.scrollTop},n.prototype._updateScrollTop=function(){var t=Math.min(this.props.centerContainer.height-this.props.center.height,0);return t!=this.props.scrollTopMin&&("top"!=this.options.orientation.item&&(this.props.scrollTop+=t-this.props.scrollTopMin),this.props.scrollTopMin=t),this.props.scrollTop>0&&(this.props.scrollTop=0),this.props.scrollTop0&&this.current.milliseconds()0&&this.current.seconds()0&&this.current.minutes()0&&this.current.hours()0?t.step:1,this.autoScale=!1)},o.prototype.setAutoScale=function(t){this.autoScale=t},o.prototype.setMinimumStep=function(t){if(void 0!=t){31104e9>t&&(this.scale="year",this.step=1e3),15552e9>t&&(this.scale="year",this.step=500),31104e8>t&&(this.scale="year",this.step=100),15552e8>t&&(this.scale="year",this.step=50),31104e7>t&&(this.scale="year",this.step=10),15552e7>t&&(this.scale="year",this.step=5),31104e6>t&&(this.scale="year",this.step=1),7776e6>t&&(this.scale="month",this.step=3),2592e6>t&&(this.scale="month",this.step=1),432e6>t&&(this.scale="day",this.step=5),1728e5>t&&(this.scale="day",this.step=2),864e5>t&&(this.scale="day",this.step=1),432e5>t&&(this.scale="weekday",this.step=1),144e5>t&&(this.scale="hour",this.step=4),36e5>t&&(this.scale="hour",this.step=1),9e5>t&&(this.scale="minute",this.step=15),6e5>t&&(this.scale="minute",this.step=10),3e5>t&&(this.scale="minute",this.step=5),6e4>t&&(this.scale="minute",this.step=1),15e3>t&&(this.scale="second",this.step=15),1e4>t&&(this.scale="second",this.step=10),5e3>t&&(this.scale="second",this.step=5),1e3>t&&(this.scale="second",this.step=1),200>t&&(this.scale="millisecond",this.step=200),100>t&&(this.scale="millisecond",this.step=100),50>t&&(this.scale="millisecond",this.step=50),10>t&&(this.scale="millisecond",this.step=10),5>t&&(this.scale="millisecond",this.step=5),1>t&&(this.scale="millisecond",this.step=1)}},o.snap=function(t,e,i){var o=n(t);if("year"==e){var s=o.year()+Math.round(o.month()/12);o.year(Math.round(s/i)*i),o.month(0),o.date(0),o.hours(0),o.minutes(0),o.seconds(0),o.milliseconds(0)}else if("month"==e)o.date()>15?(o.date(1),o.add(1,"month")):o.date(1),o.hours(0),o.minutes(0),o.seconds(0),o.milliseconds(0);else if("week"==e)o.weekday()>2?(o.weekday(0),o.add(1,"week")):o.weekday(0),o.hours(0),o.minutes(0),o.seconds(0),o.milliseconds(0);else if("day"==e){switch(i){case 5:case 2:o.hours(24*Math.round(o.hours()/24));break;default:o.hours(12*Math.round(o.hours()/12))}o.minutes(0),o.seconds(0),o.milliseconds(0)}else if("weekday"==e){switch(i){case 5:case 2:o.hours(12*Math.round(o.hours()/12));break;default:o.hours(6*Math.round(o.hours()/6))}o.minutes(0),o.seconds(0),o.milliseconds(0)}else if("hour"==e){switch(i){case 4:o.minutes(60*Math.round(o.minutes()/60));break;default:o.minutes(30*Math.round(o.minutes()/30))}o.seconds(0),o.milliseconds(0)}else if("minute"==e){switch(i){case 15:case 10:o.minutes(5*Math.round(o.minutes()/5)),o.seconds(0);break;case 5:o.seconds(60*Math.round(o.seconds()/60));break;default:o.seconds(30*Math.round(o.seconds()/30))}o.milliseconds(0)}else if("second"==e)switch(i){case 15:case 10:o.seconds(5*Math.round(o.seconds()/5)),o.milliseconds(0);break;case 5:o.milliseconds(1e3*Math.round(o.milliseconds()/1e3));break;default:o.milliseconds(500*Math.round(o.milliseconds()/500))}else if("millisecond"==e){var r=i>5?i/2:1;o.milliseconds(Math.round(o.milliseconds()/r)*r)}return o},o.prototype.isMajor=function(){if(1==this.switchedYear)switch(this.scale){case"year":case"month":case"week":case"weekday":case"day":case"hour":case"minute":case"second":case"millisecond":return!0;default:return!1}else if(1==this.switchedMonth)switch(this.scale){case"week":case"weekday":case"day":case"hour":case"minute":case"second":case"millisecond":return!0;default:return!1}else if(1==this.switchedDay)switch(this.scale){case"millisecond":case"second":case"minute":case"hour":return!0;default:return!1}var t=this.moment(this.current);switch(this.scale){case"millisecond":return 0==t.milliseconds();case"second":return 0==t.seconds();case"minute":return 0==t.hours()&&0==t.minutes();case"hour":return 0==t.hours();case"weekday":case"day":case"week":return 1==t.date();case"month":return 0==t.month();case"year":default:return!1}},o.prototype.getLabelMinor=function(t){if(void 0==t&&(t=this.current),t instanceof Date&&(t=this.moment(t)),"function"==typeof this.format.minorLabels)return this.format.minorLabels(t,this.scale,this.step);var e=this.format.minorLabels[this.scale];switch(this.scale){case"week":if(this.isMajor()&&0!==t.weekday())return"";default:return e&&e.length>0?this.moment(t).format(e):""}},o.prototype.getLabelMajor=function(t){if(void 0==t&&(t=this.current),t instanceof Date&&(t=this.moment(t)),"function"==typeof this.format.majorLabels)return this.format.majorLabels(t,this.scale,this.step);var e=this.format.majorLabels[this.scale];return e&&e.length>0?this.moment(t).format(e):""},o.prototype.getClassName=function(){function t(t){return t/a%2==0?" vis-even":" vis-odd"} +function e(t){return t.isSame(new Date,"day")?" vis-today":t.isSame(n().add(1,"day"),"day")?" vis-tomorrow":t.isSame(n().add(-1,"day"),"day")?" vis-yesterday":""}function i(t){return t.isSame(new Date,"week")?" vis-current-week":""}function o(t){return t.isSame(new Date,"month")?" vis-current-month":""}var n=this.moment,s=this.moment(this.current),r=s.locale?s.locale("en"):s.lang("en"),a=this.step,h=[];switch(this.scale){case"millisecond":h.push(e(r)),h.push(t(r.milliseconds()));break;case"second":h.push(e(r)),h.push(t(r.seconds()));break;case"minute":h.push(e(r)),h.push(t(r.minutes()));break;case"hour":h.push("vis-h"+r.hours()+(4==this.step?"-h"+(r.hours()+4):"")),h.push(e(r)),h.push(t(r.hours()));break;case"weekday":h.push("vis-"+r.format("dddd").toLowerCase()),h.push(e(r)),h.push(i(r)),h.push(t(r.date()));break;case"day":h.push("vis-day"+r.date()),h.push("vis-"+r.format("MMMM").toLowerCase()),h.push(e(r)),h.push(o(r)),h.push(this.step<=2?e(r):""),h.push(this.step<=2?"vis-"+r.format("dddd").toLowerCase():""),h.push(t(r.date()-1));break;case"week":h.push("vis-week"+r.format("w")),h.push(i(r)),h.push(t(r.week()));break;case"month":h.push("vis-"+r.format("MMMM").toLowerCase()),h.push(o(r)),h.push(t(r.month()));break;case"year":h.push("vis-year"+r.year()),h.push(function(t){return t.isSame(new Date,"year")?" vis-current-year":""}(r)),h.push(t(r.year()))}return h.filter(String).join(" ")},t.exports=o},function(t,e,i){function o(t,e){this.body=t,this.defaultOptions={rtl:!1,showCurrentTime:!0,moment:r,locales:a,locale:"en"},this.options=n.extend({},this.defaultOptions),this.offset=0,this._create(),this.setOptions(e)}var n=i(2),s=i(16),r=i(9),a=i(98);o.prototype=new s,o.prototype._create=function(){var t=document.createElement("div");t.className="vis-current-time",t.style.position="absolute",t.style.top="0px",t.style.height="100%",this.bar=t},o.prototype.destroy=function(){this.options.showCurrentTime=!1,this.redraw(),this.body=null},o.prototype.setOptions=function(t){t&&n.selectiveExtend(["rtl","showCurrentTime","moment","locale","locales"],this.options,t)},o.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=this.options.moment((new Date).valueOf()+this.offset),i=this.body.util.toScreen(e),o=this.options.locales[this.options.locale];o||(this.warned||(console.log("WARNING: options.locales['"+this.options.locale+"'] not found. See http://visjs.org/docs/timeline/#Localization"),this.warned=!0),o=this.options.locales.en);var n=o.current+" "+o.time+": "+e.format("dddd, MMMM Do YYYY, H:mm:ss");n=n.charAt(0).toUpperCase()+n.substring(1),this.options.rtl?this.bar.style.right=i+"px":this.bar.style.left=i+"px",this.bar.title=n}else this.bar.parentNode&&this.bar.parentNode.removeChild(this.bar),this.stop();return!1},o.prototype.start=function(){function t(){e.stop();var i=e.body.range.conversion(e.body.domProps.center.width).scale,o=1/i/10;o<30&&(o=30),o>1e3&&(o=1e3),e.redraw(),e.body.emitter.emit("currentTimeTick"),e.currentTimeTimer=setTimeout(t,o)}var e=this;t()},o.prototype.stop=function(){void 0!==this.currentTimeTimer&&(clearTimeout(this.currentTimeTimer),delete this.currentTimeTimer)},o.prototype.setCurrentTime=function(t){var e=n.convert(t,"Date").valueOf(),i=(new Date).valueOf();this.offset=e-i,this.redraw()},o.prototype.getCurrentTime=function(){return new Date((new Date).valueOf()+this.offset)},t.exports=o},function(t,e,i){function o(t,e,i){if(this.groupId=t,this.subgroups={},this.subgroupStack={},this.subgroupStackAll=!1,this.doInnerStack=!1,this.subgroupIndex=0,this.subgroupOrderer=e&&e.subgroupOrder,this.itemSet=i,this.isVisible=null,this.stackDirty=!0,e&&e.nestedGroups&&(this.nestedGroups=e.nestedGroups,0==e.showNested?this.showNested=!1:this.showNested=!0),e&&e.subgroupStack)if("boolean"==typeof e.subgroupStack)this.doInnerStack=e.subgroupStack,this.subgroupStackAll=e.subgroupStack;else for(var o in e.subgroupStack)this.subgroupStack[o]=e.subgroupStack[o],this.doInnerStack=this.doInnerStack||e.subgroupStack[o];this.nestedInGroup=null,this.dom={},this.props={label:{width:0,height:0}},this.className=null,this.items={},this.visibleItems=[],this.itemsInRange=[],this.orderedItems={byStart:[],byEnd:[]},this.checkRangedItems=!1;var n=this;this.itemSet.body.emitter.on("checkRangedItems",function(){n.checkRangedItems=!0}),this._create(),this.setData(e)}var n=i(8),s=function(t){return t&&t.__esModule?t:{default:t}}(n),r=i(2),a=i(100);o.prototype._create=function(){var t=document.createElement("div");this.itemSet.options.groupEditable.order?t.className="vis-label draggable":t.className="vis-label",this.dom.label=t;var e=document.createElement("div");e.className="vis-inner",t.appendChild(e),this.dom.inner=e;var i=document.createElement("div");i.className="vis-group",i["timeline-group"]=this,this.dom.foreground=i,this.dom.background=document.createElement("div"),this.dom.background.className="vis-group",this.dom.axis=document.createElement("div"),this.dom.axis.className="vis-group",this.dom.marker=document.createElement("div"),this.dom.marker.style.visibility="hidden",this.dom.marker.style.position="absolute",this.dom.marker.innerHTML="",this.dom.background.appendChild(this.dom.marker)},o.prototype.setData=function(t){var e,i;if(this.itemSet.options&&this.itemSet.options.groupTemplate?(i=this.itemSet.options.groupTemplate.bind(this),e=i(t,this.dom.inner)):e=t&&t.content,e instanceof Element){for(this.dom.inner.appendChild(e);this.dom.inner.firstChild;)this.dom.inner.removeChild(this.dom.inner.firstChild);this.dom.inner.appendChild(e)}else e instanceof Object?i(t,this.dom.inner):this.dom.inner.innerHTML=void 0!==e&&null!==e?e:this.groupId||"";if(this.dom.label.title=t&&t.title||"",this.dom.inner.firstChild?r.removeClassName(this.dom.inner,"vis-hidden"):r.addClassName(this.dom.inner,"vis-hidden"),t&&t.nestedGroups){this.nestedGroups&&this.nestedGroups==t.nestedGroups||(this.nestedGroups=t.nestedGroups),void 0===t.showNested&&void 0!==this.showNested||(0==t.showNested?this.showNested=!1:this.showNested=!0),r.addClassName(this.dom.label,"vis-nesting-group");var o=this.itemSet.options.rtl?"collapsed-rtl":"collapsed";this.showNested?(r.removeClassName(this.dom.label,o),r.addClassName(this.dom.label,"expanded")):(r.removeClassName(this.dom.label,"expanded"),r.addClassName(this.dom.label,o))}else this.nestedGroups&&(this.nestedGroups=null,o=this.itemSet.options.rtl?"collapsed-rtl":"collapsed",r.removeClassName(this.dom.label,o),r.removeClassName(this.dom.label,"expanded"),r.removeClassName(this.dom.label,"vis-nesting-group"));t&&t.nestedInGroup&&(r.addClassName(this.dom.label,"vis-nested-group"),this.itemSet.options&&this.itemSet.options.rtl?this.dom.inner.style.paddingRight="30px":this.dom.inner.style.paddingLeft="30px");var n=t&&t.className||null;n!=this.className&&(this.className&&(r.removeClassName(this.dom.label,this.className),r.removeClassName(this.dom.foreground,this.className),r.removeClassName(this.dom.background,this.className),r.removeClassName(this.dom.axis,this.className)),r.addClassName(this.dom.label,n),r.addClassName(this.dom.foreground,n),r.addClassName(this.dom.background,n),r.addClassName(this.dom.axis,n),this.className=n),this.style&&(r.removeCssText(this.dom.label,this.style),this.style=null),t&&t.style&&(r.addCssText(this.dom.label,t.style),this.style=t.style)},o.prototype.getLabelWidth=function(){return this.props.label.width},o.prototype._didMarkerHeightChange=function(){var t=this.dom.marker.clientHeight;if(t!=this.lastMarkerHeight){this.lastMarkerHeight=t;var e={},i=0;r.forEach(this.items,function(t,o){if(t.dirty=!0,t.displayed){e[o]=t.redraw(!0),i=e[o].length}});if(i>0)for(var o=0;o0)for(var u=0;u0){var e=this;this.resetSubgroups(),r.forEach(this.visibleItems,function(i){void 0!==i.data.subgroup&&(e.subgroups[i.data.subgroup].height=Math.max(e.subgroups[i.data.subgroup].height,i.height+t.item.vertical),e.subgroups[i.data.subgroup].visible=!0)})}},o.prototype._isGroupVisible=function(t,e){return this.top<=t.body.domProps.centerContainer.height-t.body.domProps.scrollTop+e.axis&&this.top+this.height+e.axis>=-t.body.domProps.scrollTop},o.prototype._calculateHeight=function(t){var e,i=this.visibleItems;if(i.length>0){var o=i[0].top,n=i[0].top+i[0].height;if(r.forEach(i,function(t){o=Math.min(o,t.top),n=Math.max(n,t.top+t.height)}),o>t.axis){var s=o-t.axis;n-=s,r.forEach(i,function(t){t.top-=s})}e=n+t.item.vertical/2}else e=0;return e=Math.max(e,this.props.label.height)},o.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)},o.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 o=this.dom.axis;o.parentNode&&o.parentNode.removeChild(o)},o.prototype.add=function(t){if(this.items[t.id]=t,t.setParent(this),this.stackDirty=!0,void 0!==t.data.subgroup&&(this._addToSubgroup(t),this.orderSubgroups()),-1==this.visibleItems.indexOf(t)){var e=this.itemSet.body.range;this._checkIfVisible(t,this.visibleItems,e)}},o.prototype._addToSubgroup=function(t,e){e=e||t.data.subgroup,void 0!=e&&void 0===this.subgroups[e]&&(this.subgroups[e]={height:0,top:0,start:t.data.start,end:t.data.end||t.data.start,visible:!1,index:this.subgroupIndex,items:[],stack:this.subgroupStackAll||this.subgroupStack[e]||!1},this.subgroupIndex++),new Date(t.data.start)new Date(this.subgroups[e].end)&&(this.subgroups[e].end=i),this.subgroups[e].items.push(t)},o.prototype._updateSubgroupsSizes=function(){var t=this;if(t.subgroups)for(var e in t.subgroups){var i=t.subgroups[e].items[0].data.end||t.subgroups[e].items[0].data.start,o=t.subgroups[e].items[0].data.start,n=i-1;t.subgroups[e].items.forEach(function(t){new Date(t.data.start)new Date(n)&&(n=e)}),t.subgroups[e].start=o,t.subgroups[e].end=new Date(n-1)}},o.prototype.orderSubgroups=function(){if(void 0!==this.subgroupOrderer){var t,e=[];if("string"==typeof this.subgroupOrderer){for(t in this.subgroups)e.push({subgroup:t,sortField:this.subgroups[t].items[0].data[this.subgroupOrderer]});e.sort(function(t,e){return t.sortField-e.sortField})}else if("function"==typeof this.subgroupOrderer){for(t in this.subgroups)e.push(this.subgroups[t].items[0].data);e.sort(this.subgroupOrderer)}if(e.length>0)for(var i=0;i=0&&(i.items.splice(o,1),i.items.length?this._updateSubgroupsSizes():delete this.subgroups[e])}}},o.prototype.removeFromDataSet=function(t){this.itemSet.removeItem(t.id)},o.prototype.order=function(){for(var t=r.toArray(this.items),e=[],i=[],o=0;o0)for(var l=0;lh}),1==this.checkRangedItems)for(this.checkRangedItems=!1,l=0;lh})}var p={},f=0;for(l=0;l0)for(var v=0;v=0&&(r=e[s],!n(r));s--)void 0===o[r.id]&&(o[r.id]=!0,i.push(r));for(s=t+1;st.start},o.prototype._createDomElement=function(){this.dom||(this.dom={},this.dom.box=document.createElement("div"),this.dom.frame=document.createElement("div"),this.dom.frame.className="vis-item-overflow",this.dom.box.appendChild(this.dom.frame),this.dom.visibleFrame=document.createElement("div"),this.dom.visibleFrame.className="vis-item-visible-frame",this.dom.box.appendChild(this.dom.visibleFrame),this.dom.content=document.createElement("div"),this.dom.content.className="vis-item-content",this.dom.frame.appendChild(this.dom.content),this.dom.box["timeline-item"]=this,this.dirty=!0)},o.prototype._appendDomElement=function(){if(!this.parent)throw new Error("Cannot redraw item: no parent attached");if(!this.dom.box.parentNode){var t=this.parent.dom.foreground;if(!t)throw new Error("Cannot redraw item: parent has no foreground container element");t.appendChild(this.dom.box)}this.displayed=!0},o.prototype._updateDirtyDomComponents=function(){if(this.dirty){this._updateContents(this.dom.content),this._updateDataAttributes(this.dom.box),this._updateStyle(this.dom.box);var t=this.editable.updateTime||this.editable.updateGroup,e=(this.data.className?" "+this.data.className:"")+(this.selected?" vis-selected":"")+(t?" vis-editable":" vis-readonly");this.dom.box.className=this.baseClassName+e,this.dom.content.style.maxWidth="none"}},o.prototype._getDomComponentsSizes=function(){return this.overflow="hidden"!==window.getComputedStyle(this.dom.frame).overflow,{content:{width:this.dom.content.offsetWidth},box:{height:this.dom.box.offsetHeight}}},o.prototype._updateDomComponentsSizes=function(t){this.props.content.width=t.content.width,this.height=t.box.height,this.dom.content.style.maxWidth="",this.dirty=!1},o.prototype._repaintDomAdditionals=function(){this._repaintOnItemUpdateTimeTooltip(this.dom.box),this._repaintDeleteButton(this.dom.box),this._repaintDragCenter(),this._repaintDragLeft(),this._repaintDragRight()},o.prototype.redraw=function(t){var e,i=[this._createDomElement.bind(this),this._appendDomElement.bind(this),this._updateDirtyDomComponents.bind(this),function(){this.dirty&&(e=this._getDomComponentsSizes.bind(this)())}.bind(this),function(){this.dirty&&this._updateDomComponentsSizes.bind(this)(e)}.bind(this),this._repaintDomAdditionals.bind(this)];if(t)return i;var o;return i.forEach(function(t){o=t()}),o},o.prototype.show=function(){this.displayed||this.redraw()},o.prototype.hide=function(){if(this.displayed){var t=this.dom.box;t.parentNode&&t.parentNode.removeChild(t),this.displayed=!1}},o.prototype.repositionX=function(t){var e,i,o=this.parent.width,n=this.conversion.toScreen(this.data.start),s=this.conversion.toScreen(this.data.end),r=void 0===this.data.align?this.options.align:this.data.align;!1===this.data.limitSize||void 0!==t&&!0!==t||(n<-o&&(n=-o),s>2*o&&(s=2*o));var a=Math.max(s-n+.5,1);switch(this.overflow?(this.options.rtl?this.right=n:this.left=n,this.width=a+this.props.content.width,i=this.props.content.width):(this.options.rtl?this.right=n:this.left=n,this.width=a,i=Math.min(s-n,this.props.content.width)),this.options.rtl?this.dom.box.style.right=this.right+"px":this.dom.box.style.left=this.left+"px",this.dom.box.style.width=a+"px",r){case"left":this.options.rtl?this.dom.content.style.right="0":this.dom.content.style.left="0";break;case"right":this.options.rtl?this.dom.content.style.right=Math.max(a-i,0)+"px":this.dom.content.style.left=Math.max(a-i,0)+"px";break;case"center":this.options.rtl?this.dom.content.style.right=Math.max((a-i)/2,0)+"px":this.dom.content.style.left=Math.max((a-i)/2,0)+"px";break;default:e=this.overflow?s>0?Math.max(-n,0):-i:n<0?-n:0,this.options.rtl?this.dom.content.style.right=e+"px":(this.dom.content.style.left=e+"px",this.dom.content.style.width="calc(100% - "+e+"px)")}},o.prototype.repositionY=function(){var t=this.options.orientation.item,e=this.dom.box;e.style.top="top"==t?this.top+"px":this.parent.height-this.top-this.height+"px"},o.prototype._repaintDragLeft=function(){if((this.selected||this.options.itemsAlwaysDraggable.range)&&this.options.editable.updateTime&&!this.dom.dragLeft){var t=document.createElement("div");t.className="vis-drag-left",t.dragLeftItem=this,this.dom.box.appendChild(t),this.dom.dragLeft=t}else this.selected||this.options.itemsAlwaysDraggable.range||!this.dom.dragLeft||(this.dom.dragLeft.parentNode&&this.dom.dragLeft.parentNode.removeChild(this.dom.dragLeft),this.dom.dragLeft=null)},o.prototype._repaintDragRight=function(){if((this.selected||this.options.itemsAlwaysDraggable.range)&&this.options.editable.updateTime&&!this.dom.dragRight){var t=document.createElement("div");t.className="vis-drag-right",t.dragRightItem=this,this.dom.box.appendChild(t),this.dom.dragRight=t}else this.selected||this.options.itemsAlwaysDraggable.range||!this.dom.dragRight||(this.dom.dragRight.parentNode&&this.dom.dragRight.parentNode.removeChild(this.dom.dragRight),this.dom.dragRight=null)},t.exports=o},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(19),s=o(n),r=i(6),a=o(r),h=i(0),d=o(h),l=i(1),u=o(l),c=i(2),p=i(179).default,f=function(){function t(e,i,o){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;(0,d.default)(this,t),this.parent=e,this.changedOptions=[],this.container=i,this.allowCreation=!1,this.options={},this.initialized=!1,this.popupCounter=0,this.defaultOptions={enabled:!1,filter:!0,container:void 0,showButton:!0},c.extend(this.options,this.defaultOptions),this.configureOptions=o,this.moduleOptions={},this.domElements=[],this.popupDiv={},this.popupLimit=5,this.popupHistory={},this.colorPicker=new p(n),this.wrapper=void 0}return(0,u.default)(t,[{key:"setOptions",value:function(t){if(void 0!==t){this.popupHistory={},this._removePopup();var e=!0;"string"==typeof t?this.options.filter=t:t instanceof Array?this.options.filter=t.join():"object"===(void 0===t?"undefined":(0,a.default)(t))?(void 0!==t.container&&(this.options.container=t.container),void 0!==t.filter&&(this.options.filter=t.filter),void 0!==t.showButton&&(this.options.showButton=t.showButton),void 0!==t.enabled&&(e=t.enabled)):"boolean"==typeof t?(this.options.filter=!0,e=t):"function"==typeof t&&(this.options.filter=t,e=!0),!1===this.options.filter&&(e=!1),this.options.enabled=e}this._clean()}},{key:"setModuleOptions",value:function(t){this.moduleOptions=t,!0===this.options.enabled&&(this._clean(),void 0!==this.options.container&&(this.container=this.options.container),this._create())}},{key:"_create",value:function(){var t=this;this._clean(),this.changedOptions=[];var e=this.options.filter,i=0,o=!1;for(var n in this.configureOptions)this.configureOptions.hasOwnProperty(n)&&(this.allowCreation=!1,o=!1,"function"==typeof e?(o=e(n,[]),o=o||this._handleObject(this.configureOptions[n],[n],!0)):!0!==e&&-1===e.indexOf(n)||(o=!0),!1!==o&&(this.allowCreation=!0,i>0&&this._makeItem([]),this._makeHeader(n),this._handleObject(this.configureOptions[n],[n])),i++);if(!0===this.options.showButton){var s=document.createElement("div");s.className="vis-configuration vis-config-button",s.innerHTML="generate options",s.onclick=function(){t._printOptions()},s.onmouseover=function(){s.className="vis-configuration vis-config-button hover"},s.onmouseout=function(){s.className="vis-configuration vis-config-button"},this.optionsContainer=document.createElement("div"),this.optionsContainer.className="vis-configuration vis-config-option-container",this.domElements.push(this.optionsContainer),this.domElements.push(s)}this._push()}},{key:"_push",value:function(){this.wrapper=document.createElement("div"),this.wrapper.className="vis-configuration-wrapper",this.container.appendChild(this.wrapper);for(var t=0;t1?i-1:0),n=1;n2&&void 0!==arguments[2]&&arguments[2],o=document.createElement("div");return o.className="vis-configuration vis-config-label vis-config-s"+e.length,o.innerHTML=!0===i?""+t+":":t+":",o}},{key:"_makeDropdown",value:function(t,e,i){var o=document.createElement("select");o.className="vis-configuration vis-config-select";var n=0;void 0!==e&&-1!==t.indexOf(e)&&(n=t.indexOf(e));for(var s=0;ss&&1!==s&&(a.max=Math.ceil(1.2*e),d=a.max,h="range increased"),a.value=e}else a.value=o;var l=document.createElement("input");l.className="vis-configuration vis-config-rangeinput",l.value=a.value;var u=this;a.onchange=function(){l.value=this.value,u._update(Number(this.value),i)},a.oninput=function(){l.value=this.value};var c=this._makeLabel(i[i.length-1],i),p=this._makeItem(i,c,a,l);""!==h&&this.popupHistory[p]!==d&&(this.popupHistory[p]=d,this._setupPopup(h,p))}},{key:"_setupPopup",value:function(t,e){var i=this;if(!0===this.initialized&&!0===this.allowCreation&&this.popupCounter1&&void 0!==arguments[1]?arguments[1]:[],i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=!1,n=this.options.filter,s=!1;for(var r in t)if(t.hasOwnProperty(r)){o=!0;var a=t[r],h=c.copyAndExtendArray(e,r);if("function"==typeof n&&!1===(o=n(r,e))&&!(a instanceof Array)&&"string"!=typeof a&&"boolean"!=typeof a&&a instanceof Object&&(this.allowCreation=!1,o=this._handleObject(a,h,!0),this.allowCreation=!1===i),!1!==o){s=!0;var d=this._getValue(h);if(a instanceof Array)this._handleArray(a,d,h);else if("string"==typeof a)this._makeTextInput(a,d,h);else if("boolean"==typeof a)this._makeCheckbox(a,d,h);else if(a instanceof Object){var l=!0;if(-1!==e.indexOf("physics")&&this.moduleOptions.physics.solver!==r&&(l=!1),!0===l)if(void 0!==a.enabled){var u=c.copyAndExtendArray(h,"enabled"),p=this._getValue(u);if(!0===p){var f=this._makeLabel(r,h,!0);this._makeItem(h,f),s=this._handleObject(a,h)||s}else this._makeCheckbox(a,p,h)}else{var m=this._makeLabel(r,h,!0);this._makeItem(h,m),s=this._handleObject(a,h)||s}}else console.error("dont know how to handle",a,r,h)}}return s}},{key:"_handleArray",value:function(t,e,i){"string"==typeof t[0]&&"color"===t[0]?(this._makeColorField(t,e,i),t[1]!==e&&this.changedOptions.push({path:i,value:e})):"string"==typeof t[0]?(this._makeDropdown(t,e,i),t[0]!==e&&this.changedOptions.push({path:i,value:e})):"number"==typeof t[0]&&(this._makeRange(t,e,i),t[0]!==e&&this.changedOptions.push({path:i, +value:Number(e)}))}},{key:"_update",value:function(t,e){var i=this._constructOptions(t,e);this.parent.body&&this.parent.body.emitter&&this.parent.body.emitter.emit&&this.parent.body.emitter.emit("configChange",i),this.initialized=!0,this.parent.setOptions(i)}},{key:"_constructOptions",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=i;t="true"===t||t,t="false"!==t&&t;for(var n=0;nvar options = "+(0,s.default)(t,null,2)+""}},{key:"getOptions",value:function(){for(var t={},e=0;ethis.imageObj.height?i=this.imageObj.width/this.imageObj.height:o=this.imageObj.height/this.imageObj.width),t=2*this.options.size*i,e=2*this.options.size*o}else t=this.imageObj.width,e=this.imageObj.height;this.width=t,this.height=e,this.radius=.5*this.width}},{key:"_drawRawCircle",value:function(t,e,i,o){this.initContextForDraw(t,o),t.circle(e,i,o.size),this.performFill(t,o)}},{key:"_drawImageAtPosition",value:function(t,e){if(0!=this.imageObj.width){t.globalAlpha=1,this.enableShadow(t,e);var i=1;!0===this.options.shapeProperties.interpolation&&(i=this.imageObj.width/this.width/this.body.view.scale),this.imageObj.drawImageAtPosition(t,i,this.left,this.top,this.width,this.height),this.disableShadow(t,e)}}},{key:"_drawImageLabel",value:function(t,e,i,o,n){var s,r=0;if(void 0!==this.height){r=.5*this.height;var a=this.labelModule.getTextSize(t,o,n);a.lineCount>=1&&(r+=a.height/2)}s=i+r,this.options.label&&(this.labelOffset=r),this.labelModule.draw(t,e,s,o,n,"hanging")}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(19),s=o(n),r=i(6),a=o(r),h=i(30),d=o(h),l=i(0),u=o(l),c=i(1),p=o(c),f=i(2),m=i(117).default,v=i(49).default,g=i(215).default,y=i(217).default,b=i(218).default,_=i(219).default,w=function(){function t(e,i,o,n){if((0,u.default)(this,t),void 0===i)throw new Error("No body provided");this.options=f.bridgeObject(o),this.globalOptions=o,this.defaultOptions=n,this.body=i,this.id=void 0,this.fromId=void 0,this.toId=void 0,this.selected=!1,this.hover=!1,this.labelDirty=!0,this.baseWidth=this.options.width,this.baseFontSize=this.options.font.size,this.from=void 0,this.to=void 0,this.edgeType=void 0,this.connected=!1,this.labelModule=new m(this.body,this.options,!0),this.setOptions(e)}return(0,p.default)(t,[{key:"setOptions",value:function(e){if(e){t.parseOptions(this.options,e,!0,this.globalOptions),void 0!==e.id&&(this.id=e.id),void 0!==e.from&&(this.fromId=e.from),void 0!==e.to&&(this.toId=e.to),void 0!==e.title&&(this.title=e.title),void 0!==e.value&&(e.value=parseFloat(e.value));var i=[e,this.options,this.defaultOptions];this.chooser=v.choosify("edge",i),this.updateLabelModule(e);var o=this.updateEdgeType();return this._setInteractionWidths(),this.connect(),void 0===e.hidden&&void 0===e.physics||(o=!0),o}}},{key:"getFormattingValues",value:function(){var t=!0===this.options.arrows.to||!0===this.options.arrows.to.enabled,e=!0===this.options.arrows.from||!0===this.options.arrows.from.enabled,i=!0===this.options.arrows.middle||!0===this.options.arrows.middle.enabled,o=this.options.color.inherit,n={toArrow:t,toArrowScale:this.options.arrows.to.scaleFactor,toArrowType:this.options.arrows.to.type,middleArrow:i,middleArrowScale:this.options.arrows.middle.scaleFactor,middleArrowType:this.options.arrows.middle.type,fromArrow:e,fromArrowScale:this.options.arrows.from.scaleFactor,fromArrowType:this.options.arrows.from.type,arrowStrikethrough:this.options.arrowStrikethrough,color:o?void 0:this.options.color.color,inheritsColor:o,opacity:this.options.color.opacity,hidden:this.options.hidden,length:this.options.length,shadow:this.options.shadow.enabled,shadowColor:this.options.shadow.color,shadowSize:this.options.shadow.size,shadowX:this.options.shadow.x,shadowY:this.options.shadow.y,dashes:this.options.dashes,width:this.options.width};if(this.selected||this.hover)if(!0===this.chooser){if(this.selected){var s=this.options.selectionWidth;"function"==typeof s?n.width=s(n.width):"number"==typeof s&&(n.width+=s),n.width=Math.max(n.width,.3/this.body.view.scale),n.color=this.options.color.highlight,n.shadow=this.options.shadow.enabled}else if(this.hover){var r=this.options.hoverWidth;"function"==typeof r?n.width=r(n.width):"number"==typeof r&&(n.width+=r),n.width=Math.max(n.width,.3/this.body.view.scale),n.color=this.options.color.hover,n.shadow=this.options.shadow.enabled}}else"function"==typeof this.chooser&&(this.chooser(n,this.options.id,this.selected,this.hover),void 0!==n.color&&(n.inheritsColor=!1),!1===n.shadow&&(n.shadowColor===this.options.shadow.color&&n.shadowSize===this.options.shadow.size&&n.shadowX===this.options.shadow.x&&n.shadowY===this.options.shadow.y||(n.shadow=!0)));else n.shadow=this.options.shadow.enabled,n.width=Math.max(n.width,.3/this.body.view.scale);return n}},{key:"updateLabelModule",value:function(t){var e=[t,this.options,this.globalOptions,this.defaultOptions];this.labelModule.update(this.options,e),void 0!==this.labelModule.baseSize&&(this.baseFontSize=this.labelModule.baseSize)}},{key:"updateEdgeType",value:function(){var t=this.options.smooth,e=!1,i=!0;return void 0!==this.edgeType&&((this.edgeType instanceof y&&!0===t.enabled&&"dynamic"===t.type||this.edgeType instanceof g&&!0===t.enabled&&"cubicBezier"===t.type||this.edgeType instanceof b&&!0===t.enabled&&"dynamic"!==t.type&&"cubicBezier"!==t.type||this.edgeType instanceof _&&!1===t.type.enabled)&&(i=!1),!0===i&&(e=this.cleanup())),!0===i?!0===t.enabled?"dynamic"===t.type?(e=!0,this.edgeType=new y(this.options,this.body,this.labelModule)):"cubicBezier"===t.type?this.edgeType=new g(this.options,this.body,this.labelModule):this.edgeType=new b(this.options,this.body,this.labelModule):this.edgeType=new _(this.options,this.body,this.labelModule):this.edgeType.setOptions(this.options),e}},{key:"connect",value:function(){this.disconnect(),this.from=this.body.nodes[this.fromId]||void 0,this.to=this.body.nodes[this.toId]||void 0,this.connected=void 0!==this.from&&void 0!==this.to,!0===this.connected?(this.from.attachEdge(this),this.to.attachEdge(this)):(this.from&&this.from.detachEdge(this),this.to&&this.to.detachEdge(this)),this.edgeType.connect()}},{key:"disconnect",value:function(){this.from&&(this.from.detachEdge(this),this.from=void 0),this.to&&(this.to.detachEdge(this),this.to=void 0),this.connected=!1}},{key:"getTitle",value:function(){return this.title}},{key:"isSelected",value:function(){return this.selected}},{key:"getValue",value:function(){return this.options.value}},{key:"setValueRange",value:function(t,e,i){if(void 0!==this.options.value){var o=this.options.scaling.customScalingFunction(t,e,i,this.options.value),n=this.options.scaling.max-this.options.scaling.min;if(!0===this.options.scaling.label.enabled){var s=this.options.scaling.label.max-this.options.scaling.label.min;this.options.font.size=this.options.scaling.label.min+o*s}this.options.width=this.options.scaling.min+o*n}else this.options.width=this.baseWidth,this.options.font.size=this.baseFontSize;this._setInteractionWidths(),this.updateLabelModule()}},{key:"_setInteractionWidths",value:function(){"function"==typeof this.options.hoverWidth?this.edgeType.hoverWidth=this.options.hoverWidth(this.options.width):this.edgeType.hoverWidth=this.options.hoverWidth+this.options.width,"function"==typeof this.options.selectionWidth?this.edgeType.selectionWidth=this.options.selectionWidth(this.options.width):this.edgeType.selectionWidth=this.options.selectionWidth+this.options.width}},{key:"draw",value:function(t){var e=this.getFormattingValues();if(!e.hidden){var i=this.edgeType.getViaNode(),o={};this.edgeType.fromPoint=this.edgeType.from,this.edgeType.toPoint=this.edgeType.to,e.fromArrow&&(o.from=this.edgeType.getArrowData(t,"from",i,this.selected,this.hover,e),!1===e.arrowStrikethrough&&(this.edgeType.fromPoint=o.from.core)),e.toArrow&&(o.to=this.edgeType.getArrowData(t,"to",i,this.selected,this.hover,e),!1===e.arrowStrikethrough&&(this.edgeType.toPoint=o.to.core)),e.middleArrow&&(o.middle=this.edgeType.getArrowData(t,"middle",i,this.selected,this.hover,e)),this.edgeType.drawLine(t,e,this.selected,this.hover,i),this.drawArrows(t,o,e),this.drawLabel(t,i)}}},{key:"drawArrows",value:function(t,e,i){i.fromArrow&&this.edgeType.drawArrowHead(t,i,this.selected,this.hover,e.from),i.middleArrow&&this.edgeType.drawArrowHead(t,i,this.selected,this.hover,e.middle),i.toArrow&&this.edgeType.drawArrowHead(t,i,this.selected,this.hover,e.to)}},{key:"drawLabel",value:function(t,e){if(void 0!==this.options.label){var i=this.from,o=this.to;if(this.labelModule.differentState(this.selected,this.hover)&&this.labelModule.getTextSize(t,this.selected,this.hover),i.id!=o.id){this.labelModule.pointToSelf=!1;var n=this.edgeType.getPoint(.5,e);t.save();var s=this._getRotation(t);0!=s.angle&&(t.translate(s.x,s.y),t.rotate(s.angle)),this.labelModule.draw(t,n.x,n.y,this.selected,this.hover),t.restore()}else{this.labelModule.pointToSelf=!0;var r,a,h=this.options.selfReferenceSize;i.shape.width>i.shape.height?(r=i.x+.5*i.shape.width,a=i.y-h):(r=i.x+h,a=i.y-.5*i.shape.height),n=this._pointOnCircle(r,a,h,.125),this.labelModule.draw(t,n.x,n.y,this.selected,this.hover)}}}},{key:"getItemsOnPoint",value:function(t){var e=[];if(this.labelModule.visible()){var i=this._getRotation();v.pointInRect(this.labelModule.getSize(),t,i)&&e.push({edgeId:this.id,labelId:0})}var o={left:t.x,top:t.y};return this.isOverlappingWith(o)&&e.push({edgeId:this.id}),e}},{key:"isOverlappingWith",value:function(t){if(this.connected){var e=this.from.x,i=this.from.y,o=this.to.x,n=this.to.y,s=t.left,r=t.top;return this.edgeType.getDistanceToEdge(e,i,o,n,s,r)<10}return!1}},{key:"_getRotation",value:function(t){var e=this.edgeType.getViaNode(),i=this.edgeType.getPoint(.5,e);void 0!==t&&this.labelModule.calculateLabelSize(t,this.selected,this.hover,i.x,i.y);var o={x:i.x,y:this.labelModule.size.yLine,angle:0};if(!this.labelModule.visible())return o;if("horizontal"===this.options.font.align)return o;var n=this.from.y-this.to.y,s=this.from.x-this.to.x,r=Math.atan2(n,s);return(r<-1&&s<0||r>0&&s<0)&&(r+=Math.PI),o.angle=r,o}},{key:"_pointOnCircle",value:function(t,e,i,o){var n=2*o*Math.PI;return{x:t+i*Math.cos(n),y:e-i*Math.sin(n)}}},{key:"select",value:function(){this.selected=!0}},{key:"unselect",value:function(){this.selected=!1}},{key:"cleanup",value:function(){return this.edgeType.cleanup()}},{key:"remove",value:function(){this.cleanup(),this.disconnect(),delete this.body.edges[this.id]}},{key:"endPointsValid",value:function(){return void 0!==this.body.nodes[this.fromId]&&void 0!==this.body.nodes[this.toId]}}],[{key:"parseOptions",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},n=arguments.length>4&&void 0!==arguments[4]&&arguments[4],r=["arrowStrikethrough","id","from","hidden","hoverWidth","labelHighlightBold","length","line","opacity","physics","scaling","selectionWidth","selfReferenceSize","to","title","value","width","font","chosen","widthConstraint"];if(f.selectiveDeepExtend(r,t,e,i),v.isValidLabel(e.label)?t.label=e.label:t.label=void 0,f.mergeOptions(t,e,"smooth",o),f.mergeOptions(t,e,"shadow",o),void 0!==e.dashes&&null!==e.dashes?t.dashes=e.dashes:!0===i&&null===e.dashes&&(t.dashes=(0,d.default)(o.dashes)),void 0!==e.scaling&&null!==e.scaling?(void 0!==e.scaling.min&&(t.scaling.min=e.scaling.min),void 0!==e.scaling.max&&(t.scaling.max=e.scaling.max),f.mergeOptions(t.scaling,e.scaling,"label",o.scaling)):!0===i&&null===e.scaling&&(t.scaling=(0,d.default)(o.scaling)),void 0!==e.arrows&&null!==e.arrows)if("string"==typeof e.arrows){var h=e.arrows.toLowerCase();t.arrows.to.enabled=-1!=h.indexOf("to"),t.arrows.middle.enabled=-1!=h.indexOf("middle"),t.arrows.from.enabled=-1!=h.indexOf("from")}else{if("object"!==(0,a.default)(e.arrows))throw new Error("The arrow newOptions can only be an object or a string. Refer to the documentation. You used:"+(0,s.default)(e.arrows));f.mergeOptions(t.arrows,e.arrows,"to",o.arrows),f.mergeOptions(t.arrows,e.arrows,"middle",o.arrows),f.mergeOptions(t.arrows,e.arrows,"from",o.arrows)}else!0===i&&null===e.arrows&&(t.arrows=(0,d.default)(o.arrows));if(void 0!==e.color&&null!==e.color){var l=e.color,u=t.color;if(n)f.deepExtend(u,o.color,!1,i);else for(var c in u)u.hasOwnProperty(c)&&delete u[c];if(f.isString(u))u.color=u,u.highlight=u,u.hover=u,u.inherit=!1,void 0===l.opacity&&(u.opacity=1);else{var p=!1;void 0!==l.color&&(u.color=l.color,p=!0),void 0!==l.highlight&&(u.highlight=l.highlight,p=!0),void 0!==l.hover&&(u.hover=l.hover,p=!0),void 0!==l.inherit&&(u.inherit=l.inherit),void 0!==l.opacity&&(u.opacity=Math.min(1,Math.max(0,l.opacity))),!0===p?u.inherit=!1:void 0===u.inherit&&(u.inherit="from")}}else!0===i&&null===e.color&&(t.color=f.bridgeObject(o.color));!0===i&&null===e.font&&(t.font=f.bridgeObject(o.font))}}]),t}();e.default=w},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(3),s=o(n),r=i(0),a=o(r),h=i(1),d=o(h),l=i(4),u=o(l),c=i(5),p=o(c),f=i(118),m=o(f),v=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,p.default)(e,t),(0,d.default)(e,[{key:"_findBorderPositionBezier",value:function(t,e){var i,o,n,s,r,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this._getViaCoordinates(),h=0,d=0,l=1,u=this.to,c=!1;for(t.id===this.from.id&&(u=this.from,c=!0);d<=l&&h<10;){var p=.5*(d+l);if(i=this.getPoint(p,a),o=Math.atan2(u.y-i.y,u.x-i.x),n=u.distanceToBorder(e,o),s=Math.sqrt(Math.pow(i.x-u.x,2)+Math.pow(i.y-u.y,2)),r=n-s,Math.abs(r)<.2)break;r<0?!1===c?d=p:l=p:!1===c?l=p:d=p,h++}return i.t=p,i}},{key:"_getDistanceToBezierEdge",value:function(t,e,i,o,n,s,r){var a=1e9,h=void 0,d=void 0,l=void 0,u=void 0,c=void 0,p=t,f=e;for(d=1;d<10;d++)l=.1*d,u=Math.pow(1-l,2)*t+2*l*(1-l)*r.x+Math.pow(l,2)*i,c=Math.pow(1-l,2)*e+2*l*(1-l)*r.y+Math.pow(l,2)*o,d>0&&(h=this._getDistanceToLine(p,f,u,c,n,s),a=h1&&void 0!==arguments[1]?arguments[1]:[],o=1e9,n=-1e9,s=1e9,r=-1e9;if(i.length>0)for(var a=0;ae.shape.boundingBox.left&&(s=e.shape.boundingBox.left),re.shape.boundingBox.top&&(o=e.shape.boundingBox.top),n1&&void 0!==arguments[1]?arguments[1]:[],o=1e9,n=-1e9,s=1e9,r=-1e9;if(i.length>0)for(var a=0;ae.x&&(s=e.x),re.y&&(o=e.y),nh;)o(a,i=e[h++])&&(~s(d,i)||d.push(i));return d}},function(t,e,i){var o=i(22),n=i(42),s=i(56)("IE_PROTO"),r=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=n(t),o(t,s)?t[s]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?r:null}},function(t,e,i){var o=i(51),n=i(13)("toStringTag"),s="Arguments"==o(function(){return arguments}()),r=function(t,e){try{return t[e]}catch(t){}};t.exports=function(t){var e,i,a;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(i=r(e=Object(t),n))?i:s?o(e):"Object"==(a=o(e))&&"function"==typeof e.callee?"Arguments":a}},function(t,e,i){var o=i(17),n=i(7),s=i(29);t.exports=function(t,e){var i=(n.Object||{})[t]||Object[t],r={};r[t]=e(i),o(o.S+o.F*s(function(){i(1)}),"Object",r)}},function(t,e,i){var o=i(84),n=i(58).concat("length","prototype");e.f=Object.getOwnPropertyNames||function(t){return o(t,n)}},function(t,e,i){var o=i(43),n=i(40),s=i(25),r=i(53),a=i(22),h=i(81),d=Object.getOwnPropertyDescriptor;e.f=i(21)?d:function(t,e){if(t=s(t),e=r(e,!0),h)try{return d(t,e)}catch(t){}if(a(t,e))return n(!o.f.call(t,e),t[e])}},function(t,e,i){t.exports={default:i(162),__esModule:!0}},function(t,e,i){function o(t,e){this.x=void 0!==t?t:0,this.y=void 0!==e?e:0}t.exports=o},function(t,e,i){function o(t,e){if(void 0===t)throw new Error("No container element defined");if(this.container=t,this.visible=!e||void 0==e.visible||e.visible,this.visible){this.frame=document.createElement("DIV"),this.frame.style.width="100%",this.frame.style.position="relative",this.container.appendChild(this.frame),this.frame.prev=document.createElement("INPUT"),this.frame.prev.type="BUTTON",this.frame.prev.value="Prev",this.frame.appendChild(this.frame.prev),this.frame.play=document.createElement("INPUT"),this.frame.play.type="BUTTON",this.frame.play.value="Play",this.frame.appendChild(this.frame.play),this.frame.next=document.createElement("INPUT"),this.frame.next.type="BUTTON",this.frame.next.value="Next",this.frame.appendChild(this.frame.next),this.frame.bar=document.createElement("INPUT"),this.frame.bar.type="BUTTON",this.frame.bar.style.position="absolute",this.frame.bar.style.border="1px solid red",this.frame.bar.style.width="100px",this.frame.bar.style.height="6px",this.frame.bar.style.borderRadius="2px",this.frame.bar.style.MozBorderRadius="2px",this.frame.bar.style.border="1px solid #7F7F7F",this.frame.bar.style.backgroundColor="#E5E5E5",this.frame.appendChild(this.frame.bar),this.frame.slide=document.createElement("INPUT"),this.frame.slide.type="BUTTON",this.frame.slide.style.margin="0px",this.frame.slide.value=" ",this.frame.slide.style.position="relative",this.frame.slide.style.left="-100px",this.frame.appendChild(this.frame.slide);var i=this;this.frame.slide.onmousedown=function(t){i._onMouseDown(t)},this.frame.prev.onclick=function(t){i.prev(t)},this.frame.play.onclick=function(t){i.togglePlay(t)},this.frame.next.onclick=function(t){i.next(t)}}this.onChangeCallback=void 0,this.values=[],this.index=void 0,this.playTimeout=void 0,this.playInterval=1e3,this.playLoop=!0}var n=i(2);o.prototype.prev=function(){var t=this.getIndex();t>0&&(t--,this.setIndex(t))},o.prototype.next=function(){var t=this.getIndex();t0?this.setIndex(0):this.index=void 0},o.prototype.setIndex=function(t){if(!(tthis.values.length-1&&(o=this.values.length-1),o},o.prototype.indexToLeft=function(t){var e=parseFloat(this.frame.bar.style.width)-this.frame.slide.clientWidth-10;return t/(this.values.length-1)*e+3},o.prototype._onMouseMove=function(t){var e=t.clientX-this.startClientX,i=this.startSlideX+e,o=this.leftToIndex(i);this.setIndex(o),n.preventDefault()},o.prototype._onMouseUp=function(t){this.frame.style.cursor="auto",n.removeEventListener(document,"mousemove",this.onmousemove),n.removeEventListener(document,"mouseup",this.onmouseup),n.preventDefault()},t.exports=o},function(t,e,i){function o(t,e,i,o){this._start=0,this._end=0,this._step=1,this.prettyStep=!0,this.precision=5,this._current=0,this.setRange(t,e,i,o)}o.prototype.isNumeric=function(t){return!isNaN(parseFloat(t))&&isFinite(t)},o.prototype.setRange=function(t,e,i,o){if(!this.isNumeric(t))throw new Error("Parameter 'start' is not numeric; value: "+t);if(!this.isNumeric(e))throw new Error("Parameter 'end' is not numeric; value: "+t);if(!this.isNumeric(i))throw new Error("Parameter 'step' is not numeric; value: "+t);this._start=t||0,this._end=e||0,this.setStep(i,o)},o.prototype.setStep=function(t,e){void 0===t||t<=0||(void 0!==e&&(this.prettyStep=e),!0===this.prettyStep?this._step=o.calculatePrettyStep(t):this._step=t)},o.calculatePrettyStep=function(t){var e=function(t){return Math.log(t)/Math.LN10},i=Math.pow(10,Math.round(e(t))),o=2*Math.pow(10,Math.round(e(t/2))),n=5*Math.pow(10,Math.round(e(t/5))),s=i;return Math.abs(o-t)<=Math.abs(s-t)&&(s=o),Math.abs(n-t)<=Math.abs(s-t)&&(s=n),s<=0&&(s=1),s},o.prototype.getCurrent=function(){return parseFloat(this._current.toPrecision(this.precision))},o.prototype.getStep=function(){return this._step},o.prototype.start=function(t){void 0===t&&(t=!1),this._current=this._start-this._start%this._step,t&&this.getCurrent()this._end},t.exports=o},function(t,e,i){function o(t){for(var e in t)if(t.hasOwnProperty(e))return!1;return!0}function n(t){return void 0===t||""===t||"string"!=typeof t?t:t.charAt(0).toUpperCase()+t.slice(1)}function s(t,e){return void 0===t||""===t?e:t+n(e)}function r(t,e,i,o){for(var n,r,a=0;ar&&(t=o(t)*r), +i(e)>r&&(e=o(e)*r),this.cameraOffset.x=t,this.cameraOffset.y=e,this.calculateCameraOrientation()},o.prototype.getOffset=function(){return this.cameraOffset},o.prototype.setArmLocation=function(t,e,i){this.armLocation.x=t,this.armLocation.y=e,this.armLocation.z=i,this.calculateCameraOrientation()},o.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()},o.prototype.getArmRotation=function(){var t={};return t.horizontal=this.armRotation.horizontal,t.vertical=this.armRotation.vertical,t},o.prototype.setArmLength=function(t){void 0!==t&&(this.armLength=t,this.armLength<.71&&(this.armLength=.71),this.armLength>5&&(this.armLength=5),this.setOffset(this.cameraOffset.x,this.cameraOffset.y),this.calculateCameraOrientation())},o.prototype.getArmLength=function(){return this.armLength},o.prototype.getCameraLocation=function(){return this.cameraLocation},o.prototype.getCameraRotation=function(){return this.cameraRotation},o.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;var t=this.cameraRotation.x,e=this.cameraRotation.z,i=this.cameraOffset.x,o=this.cameraOffset.y,n=Math.sin,s=Math.cos;this.cameraLocation.x=this.cameraLocation.x+i*s(e)+o*-n(e)*s(t),this.cameraLocation.y=this.cameraLocation.y+i*n(e)+o*s(e)*s(t),this.cameraLocation.z=this.cameraLocation.z+o*n(t)},t.exports=o},function(t,e,i){function o(t,e,i){this.dataGroup=t,this.column=e,this.graph=i,this.index=void 0,this.value=void 0,this.values=t.getDistinctValues(this.column),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 n=i(12);o.prototype.isLoaded=function(){return this.loaded},o.prototype.getLoadedProgress=function(){for(var t=this.values.length,e=0;this.dataPoints[e];)e++;return Math.round(e/t*100)},o.prototype.getLabel=function(){return this.graph.filterLabel},o.prototype.getColumn=function(){return this.column},o.prototype.getSelectedValue=function(){if(void 0!==this.index)return this.values[this.index]},o.prototype.getValues=function(){return this.values},o.prototype.getValue=function(t){if(t>=this.values.length)throw new Error("Index out of range");return this.values[t]},o.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 o=new n(this.dataGroup.getDataSet(),{filter:function(t){return t[i.column]==i.value}}).get();e=this.dataGroup._getDataPoints(o),this.dataPoints[t]=e}return e},o.prototype.setOnLoadCallback=function(t){this.onLoadCallback=t},o.prototype.selectValue=function(t){if(t>=this.values.length)throw new Error("Index out of range");this.index=t,this.value=this.values[t]},o.prototype.loadInBackground=function(t){void 0===t&&(t=0);var e=this.graph.frame;if(t0){var n=i.groupsData.getDataSet();n.get().forEach(function(t){if(t.nestedGroups){0!=t.showNested&&(t.showNested=!0);var e=[];t.nestedGroups.forEach(function(i){var o=n.get(i);o&&(o.nestedInGroup=t.id,0==t.showNested&&(o.visible=!1),e=e.concat(o))}),n.update(e,o)}})}},update:function(t,e,o){i._onUpdateGroups(e.items)},remove:function(t,e,o){i._onRemoveGroups(e.items)}},this.items={},this.groups={},this.groupIds=[],this.selection=[],this.popup=null,this.touchParams={},this.groupTouchParams={},this._create(),this.setOptions(e)}var s=i(30),r=o(s),a=i(6),h=o(a),d=i(10),l=i(2),u=i(11),c=i(12),p=i(66),f=i(16),m=i(68),v=i(69),g=i(101),y=i(102),b=i(70),_=i(103),w=i(104).default,x="__ungrouped__",k="__background__";n.prototype=new f,n.types={background:_,box:g,range:b,point:y},n.prototype._create=function(){var t=document.createElement("div");t.className="vis-itemset",t["timeline-itemset"]=this,this.dom.frame=t;var e=document.createElement("div");e.className="vis-background",t.appendChild(e),this.dom.background=e;var i=document.createElement("div");i.className="vis-foreground",t.appendChild(i),this.dom.foreground=i;var o=document.createElement("div");o.className="vis-axis",this.dom.axis=o;var n=document.createElement("div");n.className="vis-labelset",this.dom.labelSet=n,this._updateUngrouped();var s=new v(k,null,this);s.show(),this.groups[k]=s,this.hammer=new d(this.body.dom.centerContainer),this.hammer.on("hammer.input",function(t){t.isFirst&&this._onTouch(t)}.bind(this)),this.hammer.on("panstart",this._onDragStart.bind(this)),this.hammer.on("panmove",this._onDrag.bind(this)),this.hammer.on("panend",this._onDragEnd.bind(this)),this.hammer.get("pan").set({threshold:5,direction:d.DIRECTION_HORIZONTAL}),this.hammer.on("tap",this._onSelectItem.bind(this)),this.hammer.on("press",this._onMultiSelectItem.bind(this)),this.hammer.on("doubletap",this._onAddItem.bind(this)),this.options.rtl?this.groupHammer=new d(this.body.dom.rightContainer):this.groupHammer=new d(this.body.dom.leftContainer),this.groupHammer.on("tap",this._onGroupClick.bind(this)),this.groupHammer.on("panstart",this._onGroupDragStart.bind(this)),this.groupHammer.on("panmove",this._onGroupDrag.bind(this)),this.groupHammer.on("panend",this._onGroupDragEnd.bind(this)),this.groupHammer.get("pan").set({threshold:5,direction:d.DIRECTION_VERTICAL}),this.body.dom.centerContainer.addEventListener("mouseover",this._onMouseOver.bind(this)),this.body.dom.centerContainer.addEventListener("mouseout",this._onMouseOut.bind(this)),this.body.dom.centerContainer.addEventListener("mousemove",this._onMouseMove.bind(this)),this.body.dom.centerContainer.addEventListener("contextmenu",this._onDragEnd.bind(this)),this.body.dom.centerContainer.addEventListener("mousewheel",this._onMouseWheel.bind(this)),this.show()},n.prototype.setOptions=function(t){if(t){var e=["type","rtl","align","order","stack","stackSubgroups","selectable","multiselect","multiselectPerGroup","groupOrder","dataAttributes","template","groupTemplate","visibleFrameTemplate","hide","snap","groupOrderSwap","showTooltips","tooltip","tooltipOnItemUpdateTime"];l.selectiveExtend(e,this.options,t),"itemsAlwaysDraggable"in t&&("boolean"==typeof t.itemsAlwaysDraggable?(this.options.itemsAlwaysDraggable.item=t.itemsAlwaysDraggable,this.options.itemsAlwaysDraggable.range=!1):"object"===(0,h.default)(t.itemsAlwaysDraggable)&&(l.selectiveExtend(["item","range"],this.options.itemsAlwaysDraggable,t.itemsAlwaysDraggable),this.options.itemsAlwaysDraggable.item||(this.options.itemsAlwaysDraggable.range=!1))),"orientation"in t&&("string"==typeof t.orientation?this.options.orientation.item="top"===t.orientation?"top":"bottom":"object"===(0,h.default)(t.orientation)&&"item"in t.orientation&&(this.options.orientation.item=t.orientation.item)),"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"===(0,h.default)(t.margin)&&(l.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"===(0,h.default)(t.margin.item)&&l.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,this.options.editable.overrideItems=!1):"object"===(0,h.default)(t.editable)&&l.selectiveExtend(["updateTime","updateGroup","add","remove","overrideItems"],this.options.editable,t.editable)),"groupEditable"in t&&("boolean"==typeof t.groupEditable?(this.options.groupEditable.order=t.groupEditable,this.options.groupEditable.add=t.groupEditable,this.options.groupEditable.remove=t.groupEditable):"object"===(0,h.default)(t.groupEditable)&&l.selectiveExtend(["order","add","remove"],this.options.groupEditable,t.groupEditable));["onDropObjectOnItem","onAdd","onUpdate","onRemove","onMove","onMoving","onAddGroup","onMoveGroup","onRemoveGroup"].forEach(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)),this.markDirty()}},n.prototype.markDirty=function(t){this.groupIds=[],t&&t.refreshItems&&l.forEach(this.items,function(t){t.dirty=!0,t.displayed&&t.redraw()})},n.prototype.destroy=function(){this.hide(),this.setItems(null),this.setGroups(null),this.hammer=null,this.body=null,this.conversion=null},n.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)},n.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.options.rtl?this.body.dom.right.appendChild(this.dom.labelSet):this.body.dom.left.appendChild(this.dom.labelSet))},n.prototype.setSelection=function(t){var e,i,o,n;for(void 0==t&&(t=[]),Array.isArray(t)||(t=[t]),e=0,i=this.selection.length;et&&o.push(h.id):h.lefte&&o.push(h.id)}return o},n.prototype._deselect=function(t){for(var e=this.selection,i=0,o=e.length;i0){for(var w={},x=0;x<_;x++)l.forEach(b,function(t,e){w[e]=t[x]()});l.forEach(this.groups,function(t,e){if(e!==k){var i=w[e];s=i||s,g+=t.height}}),g=Math.max(g,y)}return g=Math.max(g,y),r.style.height=i(g),this.props.width=r.offsetWidth,this.props.height=g,this.dom.axis.style.top=i("top"==n?this.body.domProps.top.height+this.body.domProps.border.top:this.body.domProps.top.height+this.body.domProps.centerContainer.height),this.options.rtl?this.dom.axis.style.right="0":this.dom.axis.style.left="0",this.initialItemSetDrawn=!0,s=this._isResized()||s},n.prototype._firstGroup=function(){var t="top"==this.options.orientation.item?0:this.groupIds.length-1,e=this.groupIds[t];return this.groups[e]||this.groups[x]||null},n.prototype._updateUngrouped=function(){var t,e,i=this.groups[x];if(this.groupsData){if(i){i.hide(),delete this.groups[x];for(e in this.items)if(this.items.hasOwnProperty(e)){t=this.items[e],t.parent&&t.parent.remove(t);var o=this._getGroupId(t.data),n=this.groups[o];n&&n.add(t)||t.hide()}}}else if(!i){i=new m(null,null,this),this.groups[x]=i;for(e in this.items)this.items.hasOwnProperty(e)&&(t=this.items[e],i.add(t));i.show()}},n.prototype.getLabelSet=function(){return this.dom.labelSet},n.prototype.setItems=function(t){var e,i=this,o=this.itemsData;if(t){if(!(t instanceof u||t instanceof c))throw new TypeError("Data must be an instance of DataSet or DataView");this.itemsData=t}else this.itemsData=null;if(o&&(l.forEach(this.itemListeners,function(t,e){o.off(e,t)}),e=o.getIds(),this._onRemove(e)),this.itemsData){var n=this.id;l.forEach(this.itemListeners,function(t,e){i.itemsData.on(e,t,n)}),e=this.itemsData.getIds(),this._onAdd(e),this._updateUngrouped()}this.body.emitter.emit("_change",{queue:!0})},n.prototype.getItems=function(){return this.itemsData},n.prototype.setGroups=function(t){var e,i=this;if(this.groupsData&&(l.forEach(this.groupListeners,function(t,e){i.groupsData.off(e,t)}),e=this.groupsData.getIds(),this.groupsData=null,this._onRemoveGroups(e)),t){if(!(t instanceof u||t instanceof c))throw new TypeError("Data must be an instance of DataSet or DataView");this.groupsData=t}else this.groupsData=null;if(this.groupsData){var o=this.groupsData;this.groupsData instanceof c&&(o=this.groupsData.getDataSet()),o.get().forEach(function(t){t.nestedGroups&&t.nestedGroups.forEach(function(e){var i=o.get(e);i.nestedInGroup=t.id,0==t.showNested&&(i.visible=!1),o.update(i)})});var n=this.id;l.forEach(this.groupListeners,function(t,e){i.groupsData.on(e,t,n)}),e=this.groupsData.getIds(),this._onAddGroups(e)}this._updateUngrouped(),this._order(),this.body.emitter.emit("_change",{queue:!0})},n.prototype.getGroups=function(){return this.groupsData},n.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)})},n.prototype._getType=function(t){return t.type||this.options.type||(t.end?"range":"box")},n.prototype._getGroupId=function(t){return"background"==this._getType(t)&&void 0==t.group?k:this.groupsData?t.group:x},n.prototype._onUpdate=function(t){var e=this;t.forEach(function(t){var i,o=e.itemsData.get(t,e.itemOptions),s=e.items[t],r=o?e._getType(o):null,a=n.types[r];if(s&&(a&&s instanceof a?e._updateItem(s,o):(i=s.selected,e._removeItem(s),s=null)),!s&&o){if(!a)throw"rangeoverflow"==r?new TypeError('Item type "rangeoverflow" is deprecated. Use css styling instead: .vis-item.vis-range .vis-item-content {overflow: visible;}'):new TypeError('Unknown item type "'+r+'"');s=new a(o,e.conversion,e.options),s.id=t,e._addItem(s),i&&(this.selection.push(t),s.select())}}.bind(this)),this._order(),this.body.emitter.emit("_change",{queue:!0})},n.prototype._onAdd=n.prototype._onUpdate,n.prototype._onRemove=function(t){var e=0,i=this;t.forEach(function(t){var o=i.items[t];o&&(e++,i._removeItem(o))}),e&&(this._order(),this.body.emitter.emit("_change",{queue:!0}))},n.prototype._order=function(){l.forEach(this.groups,function(t){t.order()})},n.prototype._onUpdateGroups=function(t){this._onAddGroups(t)},n.prototype._onAddGroups=function(t){var e=this;t.forEach(function(t){var i=e.groupsData.get(t),o=e.groups[t];if(o)o.setData(i);else{if(t==x||t==k)throw new Error("Illegal group id. "+t+" is a reserved id.");var n=(0,r.default)(e.options);l.extend(n,{height:null}),o=new m(t,i,e),e.groups[t]=o;for(var s in e.items)if(e.items.hasOwnProperty(s)){var a=e.items[s];a.data.group==t&&o.add(a)}o.order(),o.show()}}),this.body.emitter.emit("_change",{queue:!0})},n.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})},n.prototype._orderGroups=function(){if(this.groupsData){var t=this.groupsData.getIds({order:this.options.groupOrder});t=this._orderNestedGroups(t);var e=!l.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},n.prototype._orderNestedGroups=function(t){var e=[];return t.forEach(function(t){var i=this.groupsData.get(t);if(i.nestedInGroup||e.push(t),i.nestedGroups){var o=this.groupsData.get({filter:function(e){return e.nestedInGroup==t},order:this.options.groupOrder}),n=o.map(function(t){return t.id});e=e.concat(n)}},this),e},n.prototype._addItem=function(t){this.items[t.id]=t;var e=this._getGroupId(t.data),i=this.groups[e];i?i&&i.data&&i.data.showNested&&(t.groupShowing=!0):t.groupShowing=!1,i&&i.add(t)},n.prototype._updateItem=function(t,e){t.setData(e);var i=this._getGroupId(t.data),o=this.groups[i];o?o&&o.data&&o.data.showNested&&(t.groupShowing=!0):t.groupShowing=!1},n.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)},n.prototype._constructByEndArray=function(t){for(var e=[],i=0;in)return}}if(i&&i!=this.groupTouchParams.group){var a=e.get(i.groupId),h=e.get(this.groupTouchParams.group.groupId);h&&a&&(this.options.groupOrderSwap(h,a,e),e.update(h),e.update(a));var d=e.getIds({order:this.options.groupOrder});if(!l.equalArray(d,this.groupTouchParams.originalOrder))for(var u=this.groupTouchParams.originalOrder,p=this.groupTouchParams.group.groupId,f=Math.min(u.length,d.length),m=0,v=0,g=0;m=f)break;if(d[m+v]==p)v=1;else if(u[m+g]==p)g=1;else{var y=d.indexOf(u[m+g]),b=e.get(d[m+v]),_=e.get(u[m+g]);this.options.groupOrderSwap(b,_,e),e.update(b),e.update(_);var w=d[m+v];d[m+v]=u[m+g],d[y]=w,m++}}}}},n.prototype._onGroupDragEnd=function(t){if(this.options.groupEditable.order&&this.groupTouchParams.group){t.stopPropagation();var e=this,i=e.groupTouchParams.group.groupId,o=e.groupsData.getDataSet(),n=l.extend({},o.get(i));e.options.onMoveGroup(n,function(t){if(t)t[o._fieldId]=i,o.update(t);else{var n=o.getIds({order:e.options.groupOrder});if(!l.equalArray(n,e.groupTouchParams.originalOrder))for(var s=e.groupTouchParams.originalOrder,r=Math.min(s.length,n.length),a=0;a=r)break;var h=n.indexOf(s[a]),d=o.get(n[a]),u=o.get(s[a]);e.options.groupOrderSwap(d,u,o),o.update(d),o.update(u);var c=n[a];n[a]=s[a],n[h]=c,a++}}}),e.body.emitter.emit("groupDragged",{groupId:i})}},n.prototype._onSelectItem=function(t){if(this.options.selectable){var e=t.srcEvent&&(t.srcEvent.ctrlKey||t.srcEvent.metaKey),i=t.srcEvent&&t.srcEvent.shiftKey;if(e||i)return void this._onMultiSelectItem(t);var o=this.getSelection(),n=this.itemFromTarget(t),s=n?[n.id]:[];this.setSelection(s);var r=this.getSelection();(r.length>0||o.length>0)&&this.body.emitter.emit("select",{items:r,event:t})}},n.prototype._onMouseOver=function(t){var e=this.itemFromTarget(t);if(e){if(e!==this.itemFromRelatedTarget(t)){var i=e.getTitle();if(this.options.showTooltips&&i){null==this.popup&&(this.popup=new w(this.body.dom.root,this.options.tooltip.overflowMethod||"flip")),this.popup.setText(i);var o=this.body.dom.centerContainer;this.popup.setPosition(t.clientX-l.getAbsoluteLeft(o)+o.offsetLeft,t.clientY-l.getAbsoluteTop(o)+o.offsetTop),this.popup.show()}else null!=this.popup&&this.popup.hide();this.body.emitter.emit("itemover",{item:e.id,event:t})}}},n.prototype._onMouseOut=function(t){var e=this.itemFromTarget(t);if(e){e!==this.itemFromRelatedTarget(t)&&(null!=this.popup&&this.popup.hide(),this.body.emitter.emit("itemout",{item:e.id,event:t}))}},n.prototype._onMouseMove=function(t){if(this.itemFromTarget(t)&&this.options.showTooltips&&this.options.tooltip.followMouse&&this.popup&&!this.popup.hidden){var e=this.body.dom.centerContainer;this.popup.setPosition(t.clientX-l.getAbsoluteLeft(e)+e.offsetLeft,t.clientY-l.getAbsoluteTop(e)+e.offsetTop),this.popup.show()}},n.prototype._onMouseWheel=function(t){this.touchParams.itemIsDragging&&this._onDragEnd(t)},n.prototype._onUpdateItem=function(t){if(this.options.selectable&&this.options.editable.add){var e=this;if(t){var i=e.itemsData.get(t.id);this.options.onUpdate(i,function(t){t&&e.itemsData.getDataSet().update(t)})}}},n.prototype._onDropObjectOnItem=function(t){var e=this.itemFromTarget(t),i=JSON.parse(t.dataTransfer.getData("text"));this.options.onDropObjectOnItem(i,e)},n.prototype._onAddItem=function(t){if(this.options.selectable&&this.options.editable.add){var e,i,o=this,n=this.options.snap||null +;this.options.rtl?(e=l.getAbsoluteRight(this.dom.frame),i=e-t.center.x):(e=l.getAbsoluteLeft(this.dom.frame),i=t.center.x-e);var s,r,a=this.body.util.toTime(i),h=this.body.util.getScale(),d=this.body.util.getStep();"drop"==t.type?(r=JSON.parse(t.dataTransfer.getData("text")),r.content=r.content?r.content:"new item",r.start=r.start?r.start:n?n(a,h,d):a,r.type=r.type||"box",r[this.itemsData._fieldId]=r.id||l.randomUUID(),"range"!=r.type||r.end||(s=this.body.util.toTime(i+this.props.width/5),r.end=n?n(s,h,d):s)):(r={start:n?n(a,h,d):a,content:"new item"},r[this.itemsData._fieldId]=l.randomUUID(),"range"===this.options.type&&(s=this.body.util.toTime(i+this.props.width/5),r.end=n?n(s,h,d):s));var u=this.groupFromTarget(t);u&&(r.group=u.groupId),r=this._cloneItemData(r),this.options.onAdd(r,function(e){e&&(o.itemsData.getDataSet().add(e),"drop"==t.type&&o.setSelection([e.id]))})}},n.prototype._onMultiSelectItem=function(t){if(this.options.selectable){var e=this.itemFromTarget(t);if(e){var i=this.options.multiselect?this.getSelection():[];if((t.srcEvent&&t.srcEvent.shiftKey||!1)&&this.options.multiselect){var o=this.itemsData.get(e.id).group,s=void 0;this.options.multiselectPerGroup&&i.length>0&&(s=this.itemsData.get(i[0]).group),this.options.multiselectPerGroup&&void 0!=s&&s!=o||i.push(e.id);var r=n._getItemRange(this.itemsData.get(i,this.itemOptions));if(!this.options.multiselectPerGroup||s==o){i=[];for(var a in this.items)if(this.items.hasOwnProperty(a)){var h=this.items[a],d=h.data.start,l=void 0!==h.data.end?h.data.end:d;!(d>=r.min&&l<=r.max)||this.options.multiselectPerGroup&&s!=this.itemsData.get(h.id).group||h instanceof _||i.push(h.id)}}}else{var u=i.indexOf(e.id);-1==u?i.push(e.id):i.splice(u,1)}this.setSelection(i),this.body.emitter.emit("select",{items:this.getSelection(),event:t})}}},n._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}},n.prototype.itemFromElement=function(t){for(var e=t;e;){if(e.hasOwnProperty("timeline-item"))return e["timeline-item"];e=e.parentNode}return null},n.prototype.itemFromTarget=function(t){return this.itemFromElement(t.target)},n.prototype.itemFromRelatedTarget=function(t){return this.itemFromElement(t.relatedTarget)},n.prototype.groupFromTarget=function(t){var e=t.center?t.center.y:t.clientY,i=this.groupIds;i.length<=0&&this.groupsData&&(i=this.groupsData.getIds({order:this.options.groupOrder}));for(var o=0;oa&&ea)return s}else if(0===o&&es&&(s=r.top+r.height)}while(a)}}o.height=s-o.top+.5*i.item.vertical},e.nostack=function(t,i,o,n){for(var s=0;so[r].index&&e.collisionByTimes(o[n],o[r])){s=o[r];break}null!=s&&(o[n].top=s.top+s.height)}while(s)}for(var a=0;ao[h].index&&(o[r].top+=o[h].height);for(var d=t[r],l=0;le.right&&t.top-i.vertical+.001e.top:t.left-i.horizontal+.001e.left&&t.top-i.vertical+.001e.top},e.collisionByTimes=function(t,e){return t.start<=e.start&&t.end>=e.start&&t.tope.top||e.start<=t.start&&e.end>=t.start&&e.topt.top}},function(t,e,i){function o(t,e,i){if(this.props={dot:{width:0,height:0},line:{width:0,height:0}},this.options=i,t&&void 0==t.start)throw new Error('Property "start" missing in item '+t);n.call(this,t,e,i)}var n=i(38);o.prototype=new n(null,null,null),o.prototype.isVisible=function(t){var e=this.options.align,i=this.width*t.getMillisecondsPerPixel();return"right"==e?this.data.start.getTime()>t.start&&this.data.start.getTime()-it.start&&this.data.start.getTime()t.start&&this.data.start.getTime()-i/2t.start&&this.data.startt.start},o.prototype._createDomElement=function(){this.dom||(this.dom={},this.dom.box=document.createElement("div"),this.dom.frame=document.createElement("div"),this.dom.frame.className="vis-item-overflow",this.dom.box.appendChild(this.dom.frame),this.dom.content=document.createElement("div"),this.dom.content.className="vis-item-content",this.dom.frame.appendChild(this.dom.content),this.dirty=!0)},o.prototype._appendDomElement=function(){if(!this.parent)throw new Error("Cannot redraw item: no parent attached");if(!this.dom.box.parentNode){var t=this.parent.dom.background;if(!t)throw new Error("Cannot redraw item: parent has no background container element");t.appendChild(this.dom.box)}this.displayed=!0},o.prototype._updateDirtyDomComponents=function(){if(this.dirty){this._updateContents(this.dom.content),this._updateDataAttributes(this.dom.content),this._updateStyle(this.dom.box);var t=(this.data.className?" "+this.data.className:"")+(this.selected?" vis-selected":"");this.dom.box.className=this.baseClassName+t}},o.prototype._getDomComponentsSizes=function(){return this.overflow="hidden"!==window.getComputedStyle(this.dom.content).overflow,{content:{width:this.dom.content.offsetWidth}}},o.prototype._updateDomComponentsSizes=function(t){this.props.content.width=t.content.width,this.height=0,this.dirty=!1},o.prototype._repaintDomAdditionals=function(){},o.prototype.redraw=function(t){var e,i=[this._createDomElement.bind(this),this._appendDomElement.bind(this),this._updateDirtyDomComponents.bind(this),function(){this.dirty&&(e=this._getDomComponentsSizes.bind(this)())}.bind(this),function(){this.dirty&&this._updateDomComponentsSizes.bind(this)(e)}.bind(this),this._repaintDomAdditionals.bind(this)];if(t)return i;var o;return i.forEach(function(t){o=t()}),o},o.prototype.show=r.prototype.show,o.prototype.hide=r.prototype.hide,o.prototype.repositionX=r.prototype.repositionX,o.prototype.repositionY=function(t){var e,i=this.options.orientation.item;if(void 0!==this.data.subgroup){var o=this.data.subgroup;this.dom.box.style.height=this.parent.subgroups[o].height+"px",this.dom.box.style.top="top"==i?this.parent.top+this.parent.subgroups[o].top+"px":this.parent.top+this.parent.height-this.parent.subgroups[o].top-this.parent.subgroups[o].height+"px",this.dom.box.style.bottom=""}else this.parent instanceof s?(e=Math.max(this.parent.height,this.parent.itemSet.body.domProps.center.height,this.parent.itemSet.body.domProps.centerContainer.height),this.dom.box.style.bottom="bottom"==i?"0":"",this.dom.box.style.top="top"==i?"0":""):(e=this.parent.height,this.dom.box.style.top=this.parent.top+"px",this.dom.box.style.bottom="");this.dom.box.style.height=e+"px"},t.exports=o},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(0),s=o(n),r=i(1),a=o(r),h=function(){function t(e,i){(0,s.default)(this,t),this.container=e,this.overflowMethod=i||"cap",this.x=0,this.y=0,this.padding=5,this.hidden=!1,this.frame=document.createElement("div"),this.frame.className="vis-tooltip",this.container.appendChild(this.frame)}return(0,a.default)(t,[{key:"setPosition",value:function(t,e){this.x=parseInt(t),this.y=parseInt(e)}},{key:"setText",value:function(t){t instanceof Element?(this.frame.innerHTML="",this.frame.appendChild(t)):this.frame.innerHTML=t}},{key:"show",value:function(t){if(void 0===t&&(t=!0),!0===t){var e=this.frame.clientHeight,i=this.frame.clientWidth,o=this.frame.parentNode.clientHeight,n=this.frame.parentNode.clientWidth,s=0,r=0;if("flip"==this.overflowMethod){var a=!1,h=!0;this.y-en-this.padding&&(a=!0),s=a?this.x-i:this.x,r=h?this.y-e:this.y}else r=this.y-e,r+e+this.padding>o&&(r=o-e-this.padding),rn&&(s=n-i-this.padding),s0){var r={};for(this._getRelevantData(s,r,o,n),this._applySampling(s,r),e=0;e0)switch(t.options.style){case"line":d.hasOwnProperty(s[e])||(d[s[e]]=m.calcPath(r[s[e]],t)),m.draw(d[s[e]],t,this.framework);case"point":case"points":"point"!=t.options.style&&"points"!=t.options.style&&1!=t.options.drawPoints.enabled||v.draw(r[s[e]],t,this.framework)}}}return a.cleanupElements(this.svgElements),!1},o.prototype._stack=function(t,e){var i,o,n,s,r;i=0;for(var a=0;at[a].x){r=e[h],s=0==h?r:e[h-1],i=h;break}}void 0===r&&(s=e[e.length-1],r=e[e.length-1]),o=r.x-s.x,n=r.y-s.y,t[a].y=0==o?t[a].orginalY+r.y:t[a].orginalY+n/o*(t[a].x-s.x)+s.y}},o.prototype._getRelevantData=function(t,e,i,o){var n,s,a,h;if(t.length>0)for(s=0;s0)for(var o=0;o0){var s=1,r=n.length,a=this.body.util.toGlobalScreen(n[n.length-1].x)-this.body.util.toGlobalScreen(n[0].x),h=r/a;s=Math.min(Math.ceil(.2*r),Math.max(1,Math.round(h)));for(var d=new Array(r),l=0;l0){for(s=0;s0&&(n=this.groups[t[s]],!0===r.stack&&"bar"===r.style?"left"===r.yAxisOrientation?a=a.concat(o):h=h.concat(o):i[t[s]]=n.getYRange(o,t[s]));f.getStackedYRange(a,i,t,"__barStackLeft","left"),f.getStackedYRange(h,i,t,"__barStackRight","right")}},o.prototype._updateYAxis=function(t,e){var i,o,n=!1,s=!1,r=!1,a=1e9,h=1e9,d=-1e9,l=-1e9;if(t.length>0){for(var u=0;ui?i:a,d=di?i:h,l=l=0&&t._redrawLabel(o-2,e.val,i,"vis-y-axis vis-major",t.props.majorCharHeight),!0===t.master&&(n?t._redrawLine(o,i,"vis-grid vis-horizontal vis-major",t.options.majorLinesOffset,t.props.majorLineWidth):t._redrawLine(o,i,"vis-grid vis-horizontal vis-minor",t.options.minorLinesOffset,t.props.minorLineWidth))});var r=0;void 0!==this.options[i].title&&void 0!==this.options[i].title.text&&(r=this.props.titleCharHeight);var h=!0===this.options.icons?Math.max(this.options.iconWidth,r)+this.options.labelOffsetX+15:r+this.options.labelOffsetX+15;return this.maxLabelSize>this.width-h&&!0===this.options.visible?(this.width=this.maxLabelSize+h,this.options.width=this.width+"px",a.cleanupElements(this.DOMelements.lines),a.cleanupElements(this.DOMelements.labels),this.redraw(),e=!0):this.maxLabelSizethis.minWidth?(this.width=Math.max(this.minWidth,this.maxLabelSize+h),this.options.width=this.width+"px",a.cleanupElements(this.DOMelements.lines),a.cleanupElements(this.DOMelements.labels),this.redraw(),e=!0):(a.cleanupElements(this.DOMelements.lines),a.cleanupElements(this.DOMelements.labels),e=!1),e},o.prototype.convertValue=function(t){return this.scale.convertValue(t)},o.prototype.screenToValue=function(t){return this.scale.screenToValue(t)},o.prototype._redrawLabel=function(t,e,i,o,n){var s=a.getDOMElement("div",this.DOMelements.labels,this.dom.frame);s.className=o,s.innerHTML=e,"left"===i?(s.style.left="-"+this.options.labelOffsetX+"px",s.style.textAlign="right"):(s.style.right="-"+this.options.labelOffsetX+"px",s.style.textAlign="left"),s.style.top=t-.5*n+this.options.labelOffsetY+"px",e+="";var r=Math.max(this.props.majorCharWidth,this.props.minorCharWidth);this.maxLabelSize6&&void 0!==arguments[6]&&arguments[6],a=arguments.length>7&&void 0!==arguments[7]&&arguments[7];if(this.majorSteps=[1,2,5,10],this.minorSteps=[.25,.5,1,2],this.customLines=null,this.containerHeight=n,this.majorCharHeight=s,this._start=t,this._end=e,this.scale=1,this.minorStepIdx=-1,this.magnitudefactor=1,this.determineScale(),this.zeroAlign=r,this.autoScaleStart=i,this.autoScaleEnd=o,this.formattingFunction=a,i||o){var h=this,d=function(t){var e=t-t%(h.magnitudefactor*h.minorSteps[h.minorStepIdx]);return t%(h.magnitudefactor*h.minorSteps[h.minorStepIdx])>h.magnitudefactor*h.minorSteps[h.minorStepIdx]*.5?e+h.magnitudefactor*h.minorSteps[h.minorStepIdx]:e};i&&(this._start-=2*this.magnitudefactor*this.minorSteps[this.minorStepIdx],this._start=d(this._start)),o&&(this._end+=this.magnitudefactor*this.minorSteps[this.minorStepIdx],this._end=d(this._end)),this.determineScale()}}o.prototype.setCharHeight=function(t){this.majorCharHeight=t},o.prototype.setHeight=function(t){this.containerHeight=t},o.prototype.determineScale=function(){var t=this._end-this._start;this.scale=this.containerHeight/t;var e=this.majorCharHeight/this.scale,i=t>0?Math.round(Math.log(t)/Math.LN10):0;this.minorStepIdx=-1,this.magnitudefactor=Math.pow(10,i);var o=0;i<0&&(o=i);for(var n=!1,s=o;Math.abs(s)<=Math.abs(i);s++){this.magnitudefactor=Math.pow(10,s);for(var r=0;r=e){n=!0,this.minorStepIdx=r;break}}if(!0===n)break}},o.prototype.is_major=function(t){return t%(this.magnitudefactor*this.majorSteps[this.minorStepIdx])==0},o.prototype.getStep=function(){return this.magnitudefactor*this.minorSteps[this.minorStepIdx]},o.prototype.getFirstMajor=function(){var t=this.magnitudefactor*this.majorSteps[this.minorStepIdx];return this.convertValue(this._start+(t-this._start%t)%t)},o.prototype.formatValue=function(t){var e=t.toPrecision(5);return"function"==typeof this.formattingFunction&&(e=this.formattingFunction(t)),"number"==typeof e?""+e:"string"==typeof e?e:t.toPrecision(5)},o.prototype.getLines=function(){for(var t=[],e=this.getStep(),i=(e-this._start%e)%e,o=this._start+i;this._end-o>1e-5;o+=e)o!=this._start&&t.push({major:this.is_major(o),y:this.convertValue(o),val:this.formatValue(o)});return t},o.prototype.followScale=function(t){var e=this.minorStepIdx,i=this._start,o=this._end,n=this,s=function(){n.magnitudefactor*=2},r=function(){n.magnitudefactor/=2};t.minorStepIdx<=1&&this.minorStepIdx<=1||t.minorStepIdx>1&&this.minorStepIdx>1||(t.minorStepIdxo+1e-5)r(),d=!1;else{if(!this.autoScaleStart&&this._start=0)){r(),d=!1;continue}console.warn("Can't adhere to given 'min' range, due to zeroalign")}this.autoScaleStart&&this.autoScaleEnd&&ue.x?1:-1})):this.itemsData=[]},o.prototype.getItems=function(){return this.itemsData},o.prototype.setZeroPosition=function(t){this.zeroPosition=t},o.prototype.setOptions=function(t){if(void 0!==t){var e=["sampling","style","sort","yAxisOrientation","barChart","zIndex","excludeFromStacking","excludeFromLegend"];r.selectiveDeepExtend(e,this.options,t),"function"==typeof t.drawPoints&&(t.drawPoints={onRender:t.drawPoints}),r.mergeOptions(this.options,t,"interpolation"),r.mergeOptions(this.options,t,"drawPoints"),r.mergeOptions(this.options,t,"shaded"),t.interpolation&&"object"==(0,s.default)(t.interpolation)&&t.interpolation.parametrization&&("uniform"==t.interpolation.parametrization?this.options.interpolation.alpha=0:"chordal"==t.interpolation.parametrization?this.options.interpolation.alpha=1:(this.options.interpolation.parametrization="centripetal",this.options.interpolation.alpha=.5))}},o.prototype.update=function(t){this.group=t,this.content=t.content||"graph",this.className=t.className||this.className||"vis-graph-group"+this.groupsUsingDefaultStyles[0]%10,this.visible=void 0===t.visible||t.visible,this.style=t.style,this.setOptions(t.options)},o.prototype.getLegend=function(t,e,i,o,n){if(void 0==i||null==i){i={svg:document.createElementNS("http://www.w3.org/2000/svg","svg"),svgElements:{},options:this.options,groups:[this]}}switch(void 0!=o&&null!=o||(o=0),void 0!=n&&null!=n||(n=.5*e),this.options.style){case"line":h.drawIcon(this,o,n,t,e,i);break;case"points":case"point":d.drawIcon(this,o,n,t,e,i);break;case"bar":a.drawIcon(this,o,n,t,e,i)}return{icon:i.svg,label:this.content,orientation:this.options.yAxisOrientation}},o.prototype.getYRange=function(t){for(var e=t[0].y,i=t[0].y,o=0;ot[o].y?t[o].y:e,i=i0&&(i=Math.min(i,Math.abs(e[o-1].screen_x-e[o].screen_x))),0===i&&(void 0===t[e[o].screen_x]&&(t[e[o].screen_x]={amount:0,resolved:0,accumulatedPositive:0,accumulatedNegative:0}),t[e[o].screen_x].amount+=1)},o._getSafeDrawData=function(t,e,i){var o,n;return t0?(o=t0){t.sort(function(t,e){return t.screen_x===e.screen_x?t.groupIde[s].screen_y?e[s].screen_y:o,n=nt[r].accumulatedNegative?t[r].accumulatedNegative:o,o=o>t[r].accumulatedPositive?t[r].accumulatedPositive:o,n=n0){return 1==e.options.interpolation.enabled?o._catmullRom(t,e):o._linear(t)}},o.drawIcon=function(t,e,i,o,s,r){var a,h,d=.5*s,l=n.getSVGElement("rect",r.svgElements,r.svg);if(l.setAttributeNS(null,"x",e),l.setAttributeNS(null,"y",i-d),l.setAttributeNS(null,"width",o),l.setAttributeNS(null,"height",2*d),l.setAttributeNS(null,"class","vis-outline"),a=n.getSVGElement("path",r.svgElements,r.svg),a.setAttributeNS(null,"class",t.className),void 0!==t.style&&a.setAttributeNS(null,"style",t.style),a.setAttributeNS(null,"d","M"+e+","+i+" L"+(e+o)+","+i),1==t.options.shaded.enabled&&(h=n.getSVGElement("path",r.svgElements,r.svg),"top"==t.options.shaded.orientation?h.setAttributeNS(null,"d","M"+e+", "+(i-d)+"L"+e+","+i+" L"+(e+o)+","+i+" L"+(e+o)+","+(i-d)):h.setAttributeNS(null,"d","M"+e+","+i+" L"+e+","+(i+d)+" L"+(e+o)+","+(i+d)+"L"+(e+o)+","+i),h.setAttributeNS(null,"class",t.className+" vis-icon-fill"),void 0!==t.options.shaded.style&&""!==t.options.shaded.style&&h.setAttributeNS(null,"style",t.options.shaded.style)),1==t.options.drawPoints.enabled){var u={style:t.options.drawPoints.style,styles:t.options.drawPoints.styles,size:t.options.drawPoints.size,className:t.className};n.drawPoint(e+.5*o,i,u,r.svgElements,r.svg)}},o.drawShading=function(t,e,i,o){if(1==e.options.shaded.enabled){var s=Number(o.svg.style.height.replace("px","")),r=n.getSVGElement("path",o.svgElements,o.svg),a="L";1==e.options.interpolation.enabled&&(a="C");var h,d=0;d="top"==e.options.shaded.orientation?0:"bottom"==e.options.shaded.orientation?s:Math.min(Math.max(0,e.zeroPosition),s),h="group"==e.options.shaded.orientation&&null!=i&&void 0!=i?"M"+t[0][0]+","+t[0][1]+" "+this.serializePath(t,a,!1)+" L"+i[i.length-1][0]+","+i[i.length-1][1]+" "+this.serializePath(i,a,!0)+i[0][0]+","+i[0][1]+" Z":"M"+t[0][0]+","+t[0][1]+" "+this.serializePath(t,a,!1)+" V"+d+" H"+t[0][0]+" Z",r.setAttributeNS(null,"class",e.className+" vis-fill"),void 0!==e.options.shaded.style&&r.setAttributeNS(null,"style",e.options.shaded.style),r.setAttributeNS(null,"d",h)}},o.draw=function(t,e,i){if(null!=t&&void 0!=t){var o=n.getSVGElement("path",i.svgElements,i.svg);o.setAttributeNS(null,"class",e.className),void 0!==e.style&&o.setAttributeNS(null,"style",e.style);var s="L";1==e.options.interpolation.enabled&&(s="C"),o.setAttributeNS(null,"d","M"+t[0][0]+","+t[0][1]+" "+this.serializePath(t,s,!1))}},o.serializePath=function(t,e,i){ +if(t.length<2)return"";var o,n=e;if(i)for(o=t.length-2;o>0;o--)n+=t[o][0]+","+t[o][1]+" ";else for(o=1;o0&&(f=1/f),m=3*v*(v+g),m>0&&(m=1/m),a={screen_x:(-b*o.screen_x+c*n.screen_x+_*s.screen_x)*f,screen_y:(-b*o.screen_y+c*n.screen_y+_*s.screen_y)*f},h={screen_x:(y*n.screen_x+p*s.screen_x-b*r.screen_x)*m,screen_y:(y*n.screen_y+p*s.screen_y-b*r.screen_y)*m},0==a.screen_x&&0==a.screen_y&&(a=n),0==h.screen_x&&0==h.screen_y&&(h=s),x.push([a.screen_x,a.screen_y]),x.push([h.screen_x,h.screen_y]),x.push([s.screen_x,s.screen_y]);return x},o._linear=function(t){for(var e=[],i=0;i");this.dom.textArea.innerHTML=r,this.dom.textArea.style.lineHeight=.75*this.options.iconSize+this.options.iconSpacing+"px"}},o.prototype.drawLegendIcons=function(){if(this.dom.frame.parentNode){var t=(0,s.default)(this.groups);t.sort(function(t,e){return t=0;i--){var a=s[i];a.nodes||(a.nodes=[]),-1===a.nodes.indexOf(n)&&a.nodes.push(n)}e.attr&&(n.attr=h(n.attr,e.attr))}function u(t,e){if(t.edges||(t.edges=[]),t.edges.push(e),t.edge){var i=h({},t.edge);e.attr=h(i,e.attr)}}function c(t,e,i,o,n){var s={from:e,to:i,type:o};return t.edge&&(s.attr=h({},t.edge)),s.attr=h(s.attr||{},n),s}function p(){for(F=I.NULL,L="";" "===z||"\t"===z||"\n"===z||"\r"===z;)s();do{var t=!1;if("#"===z){for(var e=A-1;" "===R.charAt(e)||"\t"===R.charAt(e);)e--;if("\n"===R.charAt(e)||""===R.charAt(e)){for(;""!=z&&"\n"!=z;)s();t=!0}}if("/"===z&&"/"===r()){for(;""!=z&&"\n"!=z;)s();t=!0}if("/"===z&&"*"===r()){for(;""!=z;){if("*"===z&&"/"===r()){s(),s();break}s()}t=!0}for(;" "===z||"\t"===z||"\n"===z||"\r"===z;)s()}while(t);if(""===z)return void(F=I.DELIMITER);var i=z+r();if(N[i])return F=I.DELIMITER,L=i,s(),void s();if(N[z])return F=I.DELIMITER,L=z,void s();if(a(z)||"-"===z){for(L+=z,s();a(z);)L+=z,s();return"false"===L?L=!1:"true"===L?L=!0:isNaN(Number(L))||(L=Number(L)),void(F=I.IDENTIFIER)}if('"'===z){for(s();""!=z&&('"'!=z||'"'===z&&'"'===r());)'"'===z?(L+=z,s()):"\\"===z&&"n"===r()?(L+="\n",s()):L+=z,s();if('"'!=z)throw x('End of string " expected');return s(),void(F=I.IDENTIFIER)}for(F=I.UNKNOWN;""!=z;)L+=z,s();throw new SyntaxError('Syntax error in part "'+k(L,30)+'"')}function f(){var t={};if(n(),p(),"strict"===L&&(t.strict=!0,p()),"graph"!==L&&"digraph"!==L||(t.type=L,p()),F===I.IDENTIFIER&&(t.id=L,p()),"{"!=L)throw x("Angle bracket { expected");if(p(),m(t),"}"!=L)throw x("Angle bracket } expected");if(p(),""!==L)throw x("End of file expected");return p(),delete t.node,delete t.edge,delete t.graph,t}function m(t){for(;""!==L&&"}"!=L;)v(t),";"===L&&p()}function v(t){var e=g(t);if(e)return void _(t,e);if(!y(t)){if(F!=I.IDENTIFIER)throw x("Identifier expected");var i=L;if(p(),"="===L){if(p(),F!=I.IDENTIFIER)throw x("Identifier expected");t[i]=L,p()}else b(t,i)}}function g(t){var e=null;if("subgraph"===L&&(e={},e.type="subgraph",p(),F===I.IDENTIFIER&&(e.id=L,p())),"{"===L){if(p(),e||(e={}),e.parent=t,e.node=t.node,e.edge=t.edge,e.graph=t.graph,m(e),"}"!=L)throw x("Angle bracket } expected");p(),delete e.node,delete e.edge,delete e.graph,delete e.parent,t.subgraphs||(t.subgraphs=[]),t.subgraphs.push(e)}return e}function y(t){return"node"===L?(p(),t.node=w(),"node"):"edge"===L?(p(),t.edge=w(),"edge"):"graph"===L?(p(),t.graph=w(),"graph"):null}function b(t,e){var i={id:e},o=w();o&&(i.attr=o),l(t,i),_(t,e)}function _(t,e){for(;"->"===L||"--"===L;){var i,o=L;p();var n=g(t);if(n)i=n;else{if(F!=I.IDENTIFIER)throw x("Identifier or subgraph expected");i=L,l(t,{id:i}),p()}u(t,c(t,e,i,o,w())),e=i}}function w(){for(var t=null,e={dashed:!0,solid:!1,dotted:[1,5]};"["===L;){for(p(),t={};""!==L&&"]"!=L;){if(F!=I.IDENTIFIER)throw x("Attribute name expected");var i=L;if(p(),"="!=L)throw x("Equal sign = expected");if(p(),F!=I.IDENTIFIER)throw x("Attribute value expected");var o=L;"style"===i&&(o=e[o]),d(t,i,o),p(),","==L&&p()}if("]"!=L)throw x("Bracket ] expected");p()}return t}function x(t){return new SyntaxError(t+', got "'+k(L,30)+'" (char '+A+")")}function k(t,e){return t.length<=e?t:t.substr(0,27)+"..."}function D(t,e,i){Array.isArray(t)?t.forEach(function(t){Array.isArray(e)?e.forEach(function(e){i(t,e)}):i(t,e)}):Array.isArray(e)?e.forEach(function(e){i(t,e)}):i(t,e)}function S(t,e,i){for(var o=e.split("."),n=o.pop(),s=t,r=0;r":!0,"--":!0},R="",A=0,z="",L="",F=I.NULL,B=/[a-zA-Z_0-9.:#]/;e.parseDOT=o,e.DOTToGraph=C},function(t,e,i){function o(t,e){var i=[],o=[],n={edges:{inheritColor:!1},nodes:{fixed:!1,parseColor:!1}};void 0!==e&&(void 0!==e.fixed&&(n.nodes.fixed=e.fixed),void 0!==e.parseColor&&(n.nodes.parseColor=e.parseColor),void 0!==e.inheritColor&&(n.edges.inheritColor=e.inheritColor));for(var s=t.edges,r=t.nodes,a=0;a2&&void 0!==arguments[2]&&arguments[2];(0,d.default)(this,t),this.body=e,this.pointToSelf=!1,this.baseSize=void 0,this.fontOptions={},this.setOptions(i),this.size={top:0,left:0,width:0,height:0,yLine:0},this.isEdgeLabel=o}return(0,u.default)(t,[{key:"setOptions",value:function(t){if(this.elementOptions=t,this.initFontOptions(t.font),p.isValidLabel(t.label)?this.labelDirty=!0:t.label="",void 0!==t.font&&null!==t.font)if("string"==typeof t.font)this.baseSize=this.fontOptions.size;else if("object"===(0,a.default)(t.font)){var e=t.font.size;void 0!==e&&(this.baseSize=e)}}},{key:"initFontOptions",value:function(e){var i=this;if(c.forEach(m,function(t){i.fontOptions[t]={}}),t.parseFontString(this.fontOptions,e))return void(this.fontOptions.vadjust=0);c.forEach(e,function(t,e){void 0!==t&&null!==t&&"object"!==(void 0===t?"undefined":(0,a.default)(t))&&(i.fontOptions[e]=t)})}},{key:"constrain",value:function(t){var e={constrainWidth:!1,maxWdt:-1,minWdt:-1,constrainHeight:!1,minHgt:-1,valign:"middle"},i=c.topMost(t,"widthConstraint");if("number"==typeof i)e.maxWdt=Number(i),e.minWdt=Number(i);else if("object"===(void 0===i?"undefined":(0,a.default)(i))){var o=c.topMost(t,["widthConstraint","maximum"]);"number"==typeof o&&(e.maxWdt=Number(o));var n=c.topMost(t,["widthConstraint","minimum"]);"number"==typeof n&&(e.minWdt=Number(n))}var s=c.topMost(t,"heightConstraint");if("number"==typeof s)e.minHgt=Number(s);else if("object"===(void 0===s?"undefined":(0,a.default)(s))){var r=c.topMost(t,["heightConstraint","minimum"]);"number"==typeof r&&(e.minHgt=Number(r));var h=c.topMost(t,["heightConstraint","valign"]);"string"==typeof h&&("top"!==h&&"bottom"!==h||(e.valign=h))}return e}},{key:"update",value:function(t,e){this.setOptions(t,!0),this.propagateFonts(e),c.deepExtend(this.fontOptions,this.constrain(e)),this.fontOptions.chooser=p.choosify("label",e)}},{key:"adjustSizes",value:function(t){var e=t?t.right+t.left:0;this.fontOptions.constrainWidth&&(this.fontOptions.maxWdt-=e,this.fontOptions.minWdt-=e);var i=t?t.top+t.bottom:0;this.fontOptions.constrainHeight&&(this.fontOptions.minHgt-=i)}},{key:"addFontOptionsToPile",value:function(t,e){for(var i=0;i5&&void 0!==arguments[5]?arguments[5]:"middle";if(void 0!==this.elementOptions.label){var r=this.fontOptions.size*this.body.view.scale;this.elementOptions.label&&r=this.elementOptions.scaling.label.maxVisible&&(r=Number(this.elementOptions.scaling.label.maxVisible)/this.body.view.scale),this.calculateLabelSize(t,o,n,e,i,s),this._drawBackground(t),this._drawText(t,e,this.size.yLine,s,r))}}},{key:"_drawBackground",value:function(t){if(void 0!==this.fontOptions.background&&"none"!==this.fontOptions.background){t.fillStyle=this.fontOptions.background;var e=this.getSize();t.fillRect(e.left,e.top,e.width,e.height)}}},{key:"_drawText",value:function(t,e,i){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"middle",n=arguments[4],r=this._setAlignment(t,e,i,o),a=(0,s.default)(r,2);e=a[0],i=a[1],t.textAlign="left",e-=this.size.width/2,this.fontOptions.valign&&this.size.height>this.size.labelHeight&&("top"===this.fontOptions.valign&&(i-=(this.size.height-this.size.labelHeight)/2),"bottom"===this.fontOptions.valign&&(i+=(this.size.height-this.size.labelHeight)/2));for(var h=0;h0&&(t.lineWidth=c.strokeWidth,t.strokeStyle=v,t.lineJoin="round"),t.fillStyle=m,c.strokeWidth>0&&t.strokeText(c.text,e+l,i+c.vadjust),t.fillText(c.text,e+l,i+c.vadjust),l+=c.width}i+=d.height}}}},{key:"_setAlignment",value:function(t,e,i,o){if(this.isEdgeLabel&&"horizontal"!==this.fontOptions.align&&!1===this.pointToSelf){e=0,i=0;"top"===this.fontOptions.align?(t.textBaseline="alphabetic",i-=4):"bottom"===this.fontOptions.align?(t.textBaseline="hanging",i+=4):t.textBaseline="middle"}else t.textBaseline=o;return[e,i]}},{key:"_getColor",value:function(t,e,i){var o=t||"#000000",n=i||"#ffffff";if(e<=this.elementOptions.scaling.label.drawThreshold){var s=Math.max(0,Math.min(1,1-(this.elementOptions.scaling.label.drawThreshold-e)));o=c.overrideOpacity(o,s),n=c.overrideOpacity(n,s)}return[o,n]}},{key:"getTextSize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return this._processLabel(t,e,i),{width:this.size.width,height:this.size.height,lineCount:this.lineCount}}},{key:"getSize",value:function(){var t=this.size.left,e=this.size.top-1;if(this.isEdgeLabel){var i=.5*-this.size.width;switch(this.fontOptions.align){case"middle":t=i,e=.5*-this.size.height;break;case"top":t=i,e=-(this.size.height+2);break;case"bottom":t=i,e=2}}return{left:t,top:e,width:this.size.width,height:this.size.height}}},{key:"calculateLabelSize",value:function(t,e,i){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"middle";this._processLabel(t,e,i),this.size.left=o-.5*this.size.width,this.size.top=n-.5*this.size.height,this.size.yLine=n+.5*(1-this.lineCount)*this.fontOptions.size,"hanging"===s&&(this.size.top+=.5*this.fontOptions.size,this.size.top+=4,this.size.yLine+=4)}},{key:"getFormattingValues",value:function(t,e,i,o){var n=function(t,e,i){return"normal"===e?"mod"===i?"":t[i]:void 0!==t[e][i]?t[e][i]:t[i]},s={color:n(this.fontOptions,o,"color"),size:n(this.fontOptions,o,"size"),face:n(this.fontOptions,o,"face"),mod:n(this.fontOptions,o,"mod"),vadjust:n(this.fontOptions,o,"vadjust"),strokeWidth:this.fontOptions.strokeWidth,strokeColor:this.fontOptions.strokeColor};(e||i)&&("normal"===o&&!0===this.fontOptions.chooser&&this.elementOptions.labelHighlightBold?s.mod="bold":"function"==typeof this.fontOptions.chooser&&this.fontOptions.chooser(s,this.elementOptions.id,e,i));var r="";return void 0!==s.mod&&""!==s.mod&&(r+=s.mod+" "),r+=s.size+"px "+s.face,t.font=r.replace(/"/g,""),s.font=t.font,s.height=s.size,s}},{key:"differentState",value:function(t,e){return t!==this.selectedState||e!==this.hoverState}},{key:"_processLabelText",value:function(t,e,i,o){return new f(t,this,e,i).process(o)}},{key:"_processLabel",value:function(t,e,i){if(!1!==this.labelDirty||this.differentState(e,i)){var o=this._processLabelText(t,e,i,this.elementOptions.label);this.fontOptions.minWdt>0&&o.width0&&o.heighto.shape.height?(e=o.x+.5*o.shape.width,i=o.y-n):(e=o.x+n,i=o.y-.5*o.shape.height),[e,i,n]}},{key:"_pointOnCircle",value:function(t,e,i,o){var n=2*o*Math.PI;return{x:t+i*Math.cos(n),y:e-i*Math.sin(n)}}},{key:"_findBorderPositionCircle",value:function(t,e,i){for(var o=i.x,n=i.y,s=i.low,r=i.high,a=i.direction,h=0,d=this.options.selfReferenceSize,l=void 0,u=void 0,c=void 0,p=void 0,f=void 0,m=.5*(s+r);s<=r&&h<10&&(m=.5*(s+r),l=this._pointOnCircle(o,n,d,m),u=Math.atan2(t.y-l.y,t.x-l.x),c=t.distanceToBorder(e,u),p=Math.sqrt(Math.pow(l.x-t.x,2)+Math.pow(l.y-t.y,2)),f=c-p,!(Math.abs(f)<.05));)f>0?a>0?s=m:r=m:a>0?r=m:s=m,h++;return l.t=m,l}},{key:"getLineWidth",value:function(t,e){ +return!0===t?Math.max(this.selectionWidth,.3/this.body.view.scale):!0===e?Math.max(this.hoverWidth,.3/this.body.view.scale):Math.max(this.options.width,.3/this.body.view.scale)}},{key:"getColor",value:function(t,e,i,o){if(!1!==e.inheritsColor){if("both"===e.inheritsColor&&this.from.id!==this.to.id){var n=t.createLinearGradient(this.from.x,this.from.y,this.to.x,this.to.y),s=void 0,r=void 0;return s=this.from.options.color.highlight.border,r=this.to.options.color.highlight.border,!1===this.from.selected&&!1===this.to.selected?(s=l.overrideOpacity(this.from.options.color.border,e.opacity),r=l.overrideOpacity(this.to.options.color.border,e.opacity)):!0===this.from.selected&&!1===this.to.selected?r=this.to.options.color.border:!1===this.from.selected&&!0===this.to.selected&&(s=this.from.options.color.border),n.addColorStop(0,s),n.addColorStop(1,r),n}return"to"===e.inheritsColor?l.overrideOpacity(this.to.options.color.border,e.opacity):l.overrideOpacity(this.from.options.color.border,e.opacity)}return l.overrideOpacity(e.color,e.opacity)}},{key:"_circle",value:function(t,e,i,o,n){this.enableShadow(t,e),t.beginPath(),t.arc(i,o,n,0,2*Math.PI,!1),t.stroke(),this.disableShadow(t,e)}},{key:"getDistanceToEdge",value:function(t,e,i,o,n,r,a,h){var d=0;if(this.from!=this.to)d=this._getDistanceToEdge(t,e,i,o,n,r,a);else{var l=this._getCircleData(void 0),u=(0,s.default)(l,3),c=u[0],p=u[1],f=u[2],m=c-n,v=p-r;d=Math.abs(Math.sqrt(m*m+v*v)-f)}return d}},{key:"_getDistanceToLine",value:function(t,e,i,o,n,s){var r=i-t,a=o-e,h=r*r+a*a,d=((n-t)*r+(s-e)*a)/h;d>1?d=1:d<0&&(d=0);var l=t+d*r,u=e+d*a,c=l-n,p=u-s;return Math.sqrt(c*c+p*p)}},{key:"getArrowData",value:function(t,e,i,o,n,r){var a=void 0,h=void 0,d=void 0,l=void 0,u=void 0,c=void 0,p=void 0,f=r.width;if("from"===e?(d=this.from,l=this.to,u=.1,c=r.fromArrowScale,p=r.fromArrowType):"to"===e?(d=this.to,l=this.from,u=-.1,c=r.toArrowScale,p=r.toArrowType):(d=this.to,l=this.from,c=r.middleArrowScale,p=r.middleArrowType),d!=l)if("middle"!==e)if(!0===this.options.smooth.enabled){h=this.findBorderPosition(d,t,{via:i});var m=this.getPoint(Math.max(0,Math.min(1,h.t+u)),i);a=Math.atan2(h.y-m.y,h.x-m.x)}else a=Math.atan2(d.y-l.y,d.x-l.x),h=this.findBorderPosition(d,t);else a=Math.atan2(d.y-l.y,d.x-l.x),h=this.getPoint(.5,i);else{var v=this._getCircleData(t),g=(0,s.default)(v,3),y=g[0],b=g[1],_=g[2];"from"===e?(h=this.findBorderPosition(this.from,t,{x:y,y:b,low:.25,high:.6,direction:-1}),a=-2*h.t*Math.PI+1.5*Math.PI+.1*Math.PI):"to"===e?(h=this.findBorderPosition(this.from,t,{x:y,y:b,low:.6,high:1,direction:1}),a=-2*h.t*Math.PI+1.5*Math.PI-1.1*Math.PI):(h=this._pointOnCircle(y,b,_,.175),a=3.9269908169872414)}"middle"===e&&c<0&&(f*=-1);var w=15*c+3*f;return{point:h,core:{x:h.x-.9*w*Math.cos(a),y:h.y-.9*w*Math.sin(a)},angle:a,length:w,type:p}}},{key:"drawArrowHead",value:function(t,e,i,o,n){t.strokeStyle=this.getColor(t,e,i,o),t.fillStyle=t.strokeStyle,t.lineWidth=e.width,u.draw(t,n),this.enableShadow(t,e),t.fill(),this.disableShadow(t,e)}},{key:"enableShadow",value:function(t,e){!0===e.shadow&&(t.shadowColor=e.shadowColor,t.shadowBlur=e.shadowSize,t.shadowOffsetX=e.shadowX,t.shadowOffsetY=e.shadowY)}},{key:"disableShadow",value:function(t,e){!0===e.shadow&&(t.shadowColor="rgba(0,0,0,0)",t.shadowBlur=0,t.shadowOffsetX=0,t.shadowOffsetY=0)}}]),t}();e.default=c},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(3),s=o(n),r=i(4),a=o(r),h=i(5),d=o(h),l=i(0),u=o(l),c=i(1),p=o(c),f=function(){function t(){(0,u.default)(this,t)}return(0,p.default)(t,null,[{key:"transform",value:function(t,e){t instanceof Array||(t=[t]);for(var i=e.point.x,o=e.point.y,n=e.angle,s=e.length,r=0;r0){var t=void 0,e=this.body.nodes,i=this.physicsBody.physicsNodeIndices,o=i.length,n=this._formBarnesHutTree(e,i);this.barnesHutTree=n;for(var s=0;s0&&this._getForceContributions(n.root,t)}}},{key:"_getForceContributions",value:function(t,e){this._getForceContribution(t.children.NW,e),this._getForceContribution(t.children.NE,e),this._getForceContribution(t.children.SW,e),this._getForceContribution(t.children.SE,e)}},{key:"_getForceContribution",value:function(t,e){if(t.childrenCount>0){var i=void 0,o=void 0,n=void 0;i=t.centerOfMass.x-e.x,o=t.centerOfMass.y-e.y,n=Math.sqrt(i*i+o*o),n*t.calcSize>this.thetaInversed?this._calculateForces(n,i,o,e,t):4===t.childrenCount?this._getForceContributions(t,e):t.children.data.id!=e.id&&this._calculateForces(n,i,o,e,t)}}},{key:"_calculateForces",value:function(t,e,i,o,n){0===t&&(t=.1,e=t),this.overlapAvoidanceFactor<1&&o.shape.radius&&(t=Math.max(.1+this.overlapAvoidanceFactor*o.shape.radius,t-o.shape.radius));var s=this.options.gravitationalConstant*n.mass*o.options.mass/Math.pow(t,3),r=e*s,a=i*s;this.physicsBody.forces[o.id].x+=r,this.physicsBody.forces[o.id].y+=a}},{key:"_formBarnesHutTree",value:function(t,e){for(var i=void 0,o=e.length,n=t[e[0]].x,s=t[e[0]].y,r=t[e[0]].x,a=t[e[0]].y,h=1;h0&&(lr&&(r=l),ua&&(a=u))}var c=Math.abs(r-n)-Math.abs(a-s);c>0?(s-=.5*c,a+=.5*c):(n+=.5*c,r-=.5*c);var p=Math.max(1e-5,Math.abs(r-n)),f=.5*p,m=.5*(n+r),v=.5*(s+a),g={root:{centerOfMass:{x:0,y:0},mass:0,range:{minX:m-f,maxX:m+f,minY:v-f,maxY:v+f},size:p,calcSize:1/p,children:{data:null},maxWidth:0,level:0,childrenCount:4}};this._splitBranch(g.root);for(var y=0;y0&&this._placeInTree(g.root,i);return g}},{key:"_updateBranchMass",value:function(t,e){var i=t.centerOfMass,o=t.mass+e.options.mass,n=1/o;i.x=i.x*t.mass+e.x*e.options.mass,i.x*=n,i.y=i.y*t.mass+e.y*e.options.mass,i.y*=n,t.mass=o;var s=Math.max(Math.max(e.height,e.radius),e.width);t.maxWidth=t.maxWidthe.x?o.maxY>e.y?"NW":"SW":o.maxY>e.y?"NE":"SE",this._placeInRegion(t,e,n)}},{key:"_placeInRegion",value:function(t,e,i){var o=t.children[i];switch(o.childrenCount){case 0:o.children.data=e,o.childrenCount=1,this._updateBranchMass(o,e);break;case 1:o.children.data.x===e.x&&o.children.data.y===e.y?(e.x+=this.seededRandom(),e.y+=this.seededRandom()):(this._splitBranch(o),this._placeInTree(o,e));break;case 4:this._placeInTree(o,e)}}},{key:"_splitBranch",value: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)}},{key:"_insertRegion",value:function(t,e){var i=void 0,o=void 0,n=void 0,s=void 0,r=.5*t.size;switch(e){case"NW":i=t.range.minX,o=t.range.minX+r,n=t.range.minY,s=t.range.minY+r;break;case"NE":i=t.range.minX+r,o=t.range.maxX,n=t.range.minY,s=t.range.minY+r;break;case"SW":i=t.range.minX,o=t.range.minX+r,n=t.range.minY+r,s=t.range.maxY;break;case"SE":i=t.range.minX+r,o=t.range.maxX,n=t.range.minY+r,s=t.range.maxY}t.children[e]={centerOfMass:{x:0,y:0},mass:0,range:{minX:i,maxX:o,minY:n,maxY:s},size:.5*t.size,calcSize:2*t.calcSize,children:{data:null},maxWidth:0,level:t.level+1,childrenCount:0}}},{key:"_debug",value:function(t,e){void 0!==this.barnesHutTree&&(t.lineWidth=1,this._drawBranch(this.barnesHutTree.root,t,e))}},{key:"_drawBranch",value: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()}}]),t}();e.default=h},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(0),s=o(n),r=i(1),a=o(r),h=function(){function t(e,i,o){(0,s.default)(this,t),this.body=e,this.physicsBody=i,this.setOptions(o)}return(0,a.default)(t,[{key:"setOptions",value:function(t){this.options=t}},{key:"solve",value:function(){for(var t=void 0,e=void 0,i=void 0,o=void 0,n=this.body.nodes,s=this.physicsBody.physicsNodeIndices,r=this.physicsBody.forces,a=0;a=t.length?(this._t=void 0,n(1)):"keys"==e?n(0,i):"values"==e?n(0,t[i]):n(0,[i,t[i]])},"values"),s.Arguments=s.Array,o("keys"),o("values"),o("entries")},function(t,e){t.exports=function(){}},function(t,e){t.exports=function(t,e){return{value:e,done:!!t}}},function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},function(t,e,i){var o=i(54),n=i(40),s=i(59),r={};i(26)(r,i(13)("iterator"),function(){return this}),t.exports=function(t,e,i){t.prototype=o(r,{next:n(1,i)}),s(t,e+" Iterator")}},function(t,e,i){var o=i(20),n=i(27),s=i(33);t.exports=i(21)?Object.defineProperties:function(t,e){n(t);for(var i,r=s(e),a=r.length,h=0;a>h;)o.f(t,i=r[h++],e[i]);return t}},function(t,e,i){var o=i(25),n=i(132),s=i(133);t.exports=function(t){return function(e,i,r){var a,h=o(e),d=n(h.length),l=s(r,d);if(t&&i!=i){for(;d>l;)if((a=h[l++])!=a)return!0}else for(;d>l;l++)if((t||l in h)&&h[l]===i)return t||l||0;return!t&&-1}}},function(t,e,i){var o=i(55),n=Math.min;t.exports=function(t){return t>0?n(o(t),9007199254740991):0}},function(t,e,i){var o=i(55),n=Math.max,s=Math.min;t.exports=function(t,e){return t=o(t),t<0?n(t+e,0):s(t,e)}},function(t,e,i){var o=i(18).document;t.exports=o&&o.documentElement},function(t,e,i){var o=i(55),n=i(52);t.exports=function(t){return function(e,i){var s,r,a=String(n(e)),h=o(i),d=a.length;return h<0||h>=d?t?"":void 0:(s=a.charCodeAt(h),s<55296||s>56319||h+1===d||(r=a.charCodeAt(h+1))<56320||r>57343?t?a.charAt(h):s:t?a.slice(h,h+2):r-56320+(s-55296<<10)+65536)}}},function(t,e,i){var o=i(27),n=i(137);t.exports=i(7).getIterator=function(t){var e=n(t);if("function"!=typeof e)throw TypeError(t+" is not iterable!");return o(e.call(t))}},function(t,e,i){var o=i(86),n=i(13)("iterator"),s=i(32);t.exports=i(7).getIteratorMethod=function(t){if(void 0!=t)return t[n]||t["@@iterator"]||s[o(t)]}},function(t,e,i){i(139);var o=i(7).Object;t.exports=function(t,e){return o.create(t,e)}},function(t,e,i){var o=i(17);o(o.S,"Object",{create:i(54)})},function(t,e,i){i(141),t.exports=i(7).Object.keys},function(t,e,i){var o=i(42),n=i(33);i(87)("keys",function(){return function(t){return n(o(t))}})},function(t,e,i){t.exports={default:i(143),__esModule:!0}},function(t,e,i){i(60),i(50),t.exports=i(61).f("iterator")},function(t,e,i){t.exports={default:i(145),__esModule:!0}},function(t,e,i){i(146),i(151),i(152),i(153),t.exports=i(7).Symbol},function(t,e,i){var o=i(18),n=i(22),s=i(21),r=i(17),a=i(83),h=i(147).KEY,d=i(29),l=i(57),u=i(59),c=i(41),p=i(13),f=i(61),m=i(62),v=i(148),g=i(149),y=i(27),b=i(28),_=i(25),w=i(53),x=i(40),k=i(54),D=i(150),S=i(89),M=i(20),C=i(33),O=S.f,E=M.f,T=D.f,P=o.Symbol,I=o.JSON,N=I&&I.stringify,R=p("_hidden"),A=p("toPrimitive"),z={}.propertyIsEnumerable,L=l("symbol-registry"),F=l("symbols"),B=l("op-symbols"),j=Object.prototype,H="function"==typeof P,W=o.QObject,Y=!W||!W.prototype||!W.prototype.findChild,G=s&&d(function(){return 7!=k(E({},"a",{get:function(){return E(this,"a",{value:7}).a}})).a})?function(t,e,i){var o=O(j,e);o&&delete j[e],E(t,e,i),o&&t!==j&&E(j,e,o)}:E,V=function(t){var e=F[t]=k(P.prototype);return e._k=t,e},U=H&&"symbol"==typeof P.iterator?function(t){return"symbol"==typeof t}:function(t){return t instanceof P},q=function(t,e,i){return t===j&&q(B,e,i),y(t),e=w(e,!0),y(i),n(F,e)?(i.enumerable?(n(t,R)&&t[R][e]&&(t[R][e]=!1),i=k(i,{enumerable:x(0,!1)})):(n(t,R)||E(t,R,x(1,{})),t[R][e]=!0),G(t,e,i)):E(t,e,i)},X=function(t,e){y(t);for(var i,o=v(e=_(e)),n=0,s=o.length;s>n;)q(t,i=o[n++],e[i]);return t},Z=function(t,e){return void 0===e?k(t):X(k(t),e)},K=function(t){var e=z.call(this,t=w(t,!0));return!(this===j&&n(F,t)&&!n(B,t))&&(!(e||!n(this,t)||!n(F,t)||n(this,R)&&this[R][t])||e)},J=function(t,e){if(t=_(t),e=w(e,!0),t!==j||!n(F,e)||n(B,e)){var i=O(t,e);return!i||!n(F,e)||n(t,R)&&t[R][e]||(i.enumerable=!0),i}},$=function(t){for(var e,i=T(_(t)),o=[],s=0;i.length>s;)n(F,e=i[s++])||e==R||e==h||o.push(e);return o},Q=function(t){for(var e,i=t===j,o=T(i?B:_(t)),s=[],r=0;o.length>r;)!n(F,e=o[r++])||i&&!n(j,e)||s.push(F[e]);return s};H||(P=function(){if(this instanceof P)throw TypeError("Symbol is not a constructor!");var t=c(arguments.length>0?arguments[0]:void 0),e=function(i){this===j&&e.call(B,i),n(this,R)&&n(this[R],t)&&(this[R][t]=!1),G(this,t,x(1,i))};return s&&Y&&G(j,t,{configurable:!0,set:e}),V(t)},a(P.prototype,"toString",function(){return this._k}),S.f=J,M.f=q,i(88).f=D.f=$,i(43).f=K,i(63).f=Q,s&&!i(39)&&a(j,"propertyIsEnumerable",K,!0),f.f=function(t){return V(p(t))}),r(r.G+r.W+r.F*!H,{Symbol:P});for(var tt="hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","),et=0;tt.length>et;)p(tt[et++]);for(var it=C(p.store),ot=0;it.length>ot;)m(it[ot++]);r(r.S+r.F*!H,"Symbol",{for:function(t){return n(L,t+="")?L[t]:L[t]=P(t)},keyFor:function(t){if(!U(t))throw TypeError(t+" is not a symbol!");for(var e in L)if(L[e]===t)return e},useSetter:function(){Y=!0},useSimple:function(){Y=!1}}),r(r.S+r.F*!H,"Object",{create:Z,defineProperty:q,defineProperties:X,getOwnPropertyDescriptor:J,getOwnPropertyNames:$,getOwnPropertySymbols:Q}),I&&r(r.S+r.F*(!H||d(function(){var t=P();return"[null]"!=N([t])||"{}"!=N({a:t})||"{}"!=N(Object(t))})),"JSON",{stringify:function(t){for(var e,i,o=[t],n=1;arguments.length>n;)o.push(arguments[n++]);if(i=e=o[1],(b(e)||void 0!==t)&&!U(t))return g(e)||(e=function(t,e){if("function"==typeof i&&(e=i.call(this,t,e)),!U(e))return e}),o[1]=e,N.apply(I,o)}}),P.prototype[A]||i(26)(P.prototype,A,P.prototype.valueOf),u(P,"Symbol"),u(Math,"Math",!0),u(o.JSON,"JSON",!0)},function(t,e,i){var o=i(41)("meta"),n=i(28),s=i(22),r=i(20).f,a=0,h=Object.isExtensible||function(){return!0},d=!i(29)(function(){return h(Object.preventExtensions({}))}),l=function(t){r(t,o,{value:{i:"O"+ ++a,w:{}}})},u=function(t,e){if(!n(t))return"symbol"==typeof t?t:("string"==typeof t?"S":"P")+t;if(!s(t,o)){if(!h(t))return"F";if(!e)return"E";l(t)}return t[o].i},c=function(t,e){if(!s(t,o)){if(!h(t))return!0;if(!e)return!1;l(t)}return t[o].w},p=function(t){return d&&f.NEED&&h(t)&&!s(t,o)&&l(t),t},f=t.exports={KEY:o,NEED:!1,fastKey:u,getWeak:c,onFreeze:p}},function(t,e,i){var o=i(33),n=i(63),s=i(43);t.exports=function(t){var e=o(t),i=n.f;if(i)for(var r,a=i(t),h=s.f,d=0;a.length>d;)h.call(t,r=a[d++])&&e.push(r);return e}},function(t,e,i){var o=i(51);t.exports=Array.isArray||function(t){return"Array"==o(t)}},function(t,e,i){var o=i(25),n=i(88).f,s={}.toString,r="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],a=function(t){try{return n(t)}catch(t){return r.slice()}};t.exports.f=function(t){return r&&"[object Window]"==s.call(t)?a(t):n(o(t))}},function(t,e){},function(t,e,i){i(62)("asyncIterator")},function(t,e,i){i(62)("observable")},function(t,e,i){(function(t){!function(e,i){t.exports=i()}(0,function(){function e(){return Co.apply(null,arguments)}function i(t){return t instanceof Array||"[object Array]"===Object.prototype.toString.call(t)}function o(t){return null!=t&&"[object Object]"===Object.prototype.toString.call(t)}function n(t){if(Object.getOwnPropertyNames)return 0===Object.getOwnPropertyNames(t).length;var e;for(e in t)if(t.hasOwnProperty(e))return!1;return!0}function s(t){return void 0===t}function r(t){return"number"==typeof t||"[object Number]"===Object.prototype.toString.call(t)}function a(t){return t instanceof Date||"[object Date]"===Object.prototype.toString.call(t)}function h(t,e){var i,o=[];for(i=0;i0)for(i=0;i0?"future":"past"];return S(i)?i(e):i.replace(/%s/i,e)}function A(t,e){var i=t.toLowerCase();Lo[i]=Lo[i+"s"]=Lo[e]=t}function z(t){return"string"==typeof t?Lo[t]||Lo[t.toLowerCase()]:void 0}function L(t){var e,i,o={};for(i in t)d(t,i)&&(e=z(i))&&(o[e]=t[i]);return o}function F(t,e){Fo[t]=e}function B(t){var e=[];for(var i in t)e.push({unit:i,priority:Fo[i]});return e.sort(function(t,e){return t.priority-e.priority}),e}function j(t,e,i){var o=""+Math.abs(t),n=e-o.length;return(t>=0?i?"+":"":"-")+Math.pow(10,Math.max(0,n)).toString().substr(1)+o}function H(t,e,i,o){var n=o;"string"==typeof o&&(n=function(){return this[o]()}),t&&(Wo[t]=n),e&&(Wo[e[0]]=function(){return j(n.apply(this,arguments),e[1],e[2])}),i&&(Wo[i]=function(){return this.localeData().ordinal(n.apply(this,arguments),t)})}function W(t){return t.match(/\[[\s\S]/)?t.replace(/^\[|\]$/g,""):t.replace(/\\/g,"")}function Y(t){var e,i,o=t.match(Bo);for(e=0,i=o.length;e=0&&jo.test(t);)t=t.replace(jo,i),jo.lastIndex=0,o-=1;return t}function U(t,e,i){an[t]=S(e)?e:function(t,o){return t&&i?i:e}}function q(t,e){return d(an,t)?an[t](e._strict,e._locale):new RegExp(X(t))}function X(t){return Z(t.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(t,e,i,o,n){return e||i||o||n}))}function Z(t){return t.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function K(t,e){var i,o=e;for("string"==typeof t&&(t=[t]),r(e)&&(o=function(t,i){i[e]=_(t)}),i=0;i=0&&isFinite(a.getFullYear())&&a.setFullYear(t),a}function _t(t){var e=new Date(Date.UTC.apply(null,arguments));return t<100&&t>=0&&isFinite(e.getUTCFullYear())&&e.setUTCFullYear(t),e}function wt(t,e,i){var o=7+e-i;return-(7+_t(t,0,o).getUTCDay()-e)%7+o-1}function xt(t,e,i,o,n){var s,r,a=(7+i-o)%7,h=wt(t,o,n),d=1+7*(e-1)+a+h;return d<=0?(s=t-1,r=Q(s)+d):d>Q(t)?(s=t+1,r=d-Q(t)):(s=t,r=d),{year:s,dayOfYear:r}}function kt(t,e,i){var o,n,s=wt(t.year(),e,i),r=Math.floor((t.dayOfYear()-s-1)/7)+1;return r<1?(n=t.year()-1,o=r+Dt(n,e,i)):r>Dt(t.year(),e,i)?(o=r-Dt(t.year(),e,i),n=t.year()+1):(n=t.year(),o=r),{week:o,year:n}}function Dt(t,e,i){var o=wt(t,e,i),n=wt(t+1,e,i);return(Q(t)-o+n)/7}function St(t){return kt(t,this._week.dow,this._week.doy).week}function Mt(){return this._week.dow}function Ct(){return this._week.doy}function Ot(t){var e=this.localeData().week(this);return null==t?e:this.add(7*(t-e),"d")}function Et(t){var e=kt(this,1,4).week;return null==t?e:this.add(7*(t-e),"d")}function Tt(t,e){return"string"!=typeof t?t:isNaN(t)?(t=e.weekdaysParse(t),"number"==typeof t?t:null):parseInt(t,10)}function Pt(t,e){return"string"==typeof t?e.weekdaysParse(t)%7||7:isNaN(t)?null:t}function It(t,e){return t?i(this._weekdays)?this._weekdays[t.day()]:this._weekdays[this._weekdays.isFormat.test(e)?"format":"standalone"][t.day()]:i(this._weekdays)?this._weekdays:this._weekdays.standalone}function Nt(t){return t?this._weekdaysShort[t.day()]:this._weekdaysShort}function Rt(t){return t?this._weekdaysMin[t.day()]:this._weekdaysMin}function At(t,e,i){var o,n,s,r=t.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],o=0;o<7;++o)s=u([2e3,1]).day(o),this._minWeekdaysParse[o]=this.weekdaysMin(s,"").toLocaleLowerCase(),this._shortWeekdaysParse[o]=this.weekdaysShort(s,"").toLocaleLowerCase(),this._weekdaysParse[o]=this.weekdays(s,"").toLocaleLowerCase();return i?"dddd"===e?(n=yn.call(this._weekdaysParse,r),-1!==n?n:null):"ddd"===e?(n=yn.call(this._shortWeekdaysParse,r),-1!==n?n:null):(n=yn.call(this._minWeekdaysParse,r),-1!==n?n:null):"dddd"===e?-1!==(n=yn.call(this._weekdaysParse,r))?n:-1!==(n=yn.call(this._shortWeekdaysParse,r))?n:(n=yn.call(this._minWeekdaysParse,r),-1!==n?n:null):"ddd"===e?-1!==(n=yn.call(this._shortWeekdaysParse,r))?n:-1!==(n=yn.call(this._weekdaysParse,r))?n:(n=yn.call(this._minWeekdaysParse,r),-1!==n?n:null):-1!==(n=yn.call(this._minWeekdaysParse,r))?n:-1!==(n=yn.call(this._weekdaysParse,r))?n:(n=yn.call(this._shortWeekdaysParse,r),-1!==n?n:null)}function zt(t,e,i){var o,n,s;if(this._weekdaysParseExact)return At.call(this,t,e,i);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),o=0;o<7;o++){if(n=u([2e3,1]).day(o),i&&!this._fullWeekdaysParse[o]&&(this._fullWeekdaysParse[o]=new RegExp("^"+this.weekdays(n,"").replace(".","\\.?")+"$","i"),this._shortWeekdaysParse[o]=new RegExp("^"+this.weekdaysShort(n,"").replace(".","\\.?")+"$","i"),this._minWeekdaysParse[o]=new RegExp("^"+this.weekdaysMin(n,"").replace(".","\\.?")+"$","i")),this._weekdaysParse[o]||(s="^"+this.weekdays(n,"")+"|^"+this.weekdaysShort(n,"")+"|^"+this.weekdaysMin(n,""),this._weekdaysParse[o]=new RegExp(s.replace(".",""),"i")),i&&"dddd"===e&&this._fullWeekdaysParse[o].test(t))return o;if(i&&"ddd"===e&&this._shortWeekdaysParse[o].test(t))return o;if(i&&"dd"===e&&this._minWeekdaysParse[o].test(t))return o;if(!i&&this._weekdaysParse[o].test(t))return o}}function Lt(t){if(!this.isValid())return null!=t?this:NaN;var e=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=t?(t=Tt(t,this.localeData()),this.add(t-e,"d")):e}function Ft(t){if(!this.isValid())return null!=t?this:NaN;var e=(this.day()+7-this.localeData()._week.dow)%7;return null==t?e:this.add(t-e,"d")}function Bt(t){if(!this.isValid())return null!=t?this:NaN;if(null!=t){var e=Pt(t,this.localeData());return this.day(this.day()%7?e:e-7)}return this.day()||7}function jt(t){return this._weekdaysParseExact?(d(this,"_weekdaysRegex")||Yt.call(this),t?this._weekdaysStrictRegex:this._weekdaysRegex):(d(this,"_weekdaysRegex")||(this._weekdaysRegex=En),this._weekdaysStrictRegex&&t?this._weekdaysStrictRegex:this._weekdaysRegex)}function Ht(t){return this._weekdaysParseExact?(d(this,"_weekdaysRegex")||Yt.call(this),t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(d(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=Tn),this._weekdaysShortStrictRegex&&t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)}function Wt(t){return this._weekdaysParseExact?(d(this,"_weekdaysRegex")||Yt.call(this),t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(d(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=Pn),this._weekdaysMinStrictRegex&&t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)}function Yt(){function t(t,e){return e.length-t.length}var e,i,o,n,s,r=[],a=[],h=[],d=[];for(e=0;e<7;e++)i=u([2e3,1]).day(e),o=this.weekdaysMin(i,""),n=this.weekdaysShort(i,""),s=this.weekdays(i,""),r.push(o),a.push(n),h.push(s),d.push(o),d.push(n),d.push(s);for(r.sort(t),a.sort(t),h.sort(t),d.sort(t),e=0;e<7;e++)a[e]=Z(a[e]),h[e]=Z(h[e]),d[e]=Z(d[e]);this._weekdaysRegex=new RegExp("^("+d.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+h.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+a.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+r.join("|")+")","i")}function Gt(){return this.hours()%12||12}function Vt(){return this.hours()||24}function Ut(t,e){H(t,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),e)})}function qt(t,e){return e._meridiemParse}function Xt(t){return"p"===(t+"").toLowerCase().charAt(0)}function Zt(t,e,i){return t>11?i?"pm":"PM":i?"am":"AM"}function Kt(t){return t?t.toLowerCase().replace("_","-"):t}function Jt(t){for(var e,i,o,n,s=0;s0;){if(o=$t(n.slice(0,e).join("-")))return o;if(i&&i.length>=e&&w(n,i,!0)>=e-1)break;e--}s++}return In}function $t(e){var i=null;if(!zn[e]&&void 0!==t&&t&&t.exports)try{i=In._abbr;!function(){var t=new Error('Cannot find module "./locale"');throw t.code="MODULE_NOT_FOUND",t}(),Qt(i)}catch(t){}return zn[e]}function Qt(t,e){var i;return t&&(i=s(e)?ie(t):te(t,e),i?In=i:"undefined"!=typeof console&&console.warn&&console.warn("Locale "+t+" not found. Did you forget to load it?")),In._abbr}function te(t,e){if(null!==e){var i,o=An;if(e.abbr=t,null!=zn[t])D("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),o=zn[t]._config;else if(null!=e.parentLocale)if(null!=zn[e.parentLocale])o=zn[e.parentLocale]._config;else{if(null==(i=$t(e.parentLocale)))return Ln[e.parentLocale]||(Ln[e.parentLocale]=[]),Ln[e.parentLocale].push({name:t,config:e}),null;o=i._config}return zn[t]=new O(C(o,e)),Ln[t]&&Ln[t].forEach(function(t){te(t.name,t.config)}),Qt(t),zn[t]}return delete zn[t],null}function ee(t,e){if(null!=e){var i,o,n=An;o=$t(t),null!=o&&(n=o._config),e=C(n,e),i=new O(e),i.parentLocale=zn[t],zn[t]=i,Qt(t)}else null!=zn[t]&&(null!=zn[t].parentLocale?zn[t]=zn[t].parentLocale:null!=zn[t]&&delete zn[t]);return zn[t]}function ie(t){var e;if(t&&t._locale&&t._locale._abbr&&(t=t._locale._abbr),!t)return In;if(!i(t)){if(e=$t(t))return e;t=[t]}return Jt(t)}function oe(){return Io(zn)}function ne(t){var e,i=t._a;return i&&-2===p(t).overflow&&(e=i[ln]<0||i[ln]>11?ln:i[un]<1||i[un]>ht(i[dn],i[ln])?un:i[cn]<0||i[cn]>24||24===i[cn]&&(0!==i[pn]||0!==i[fn]||0!==i[mn])?cn:i[pn]<0||i[pn]>59?pn:i[fn]<0||i[fn]>59?fn:i[mn]<0||i[mn]>999?mn:-1,p(t)._overflowDayOfYear&&(eun)&&(e=un),p(t)._overflowWeeks&&-1===e&&(e=vn),p(t)._overflowWeekday&&-1===e&&(e=gn),p(t).overflow=e),t}function se(t,e,i){return null!=t?t:null!=e?e:i}function re(t){var i=new Date(e.now());return t._useUTC?[i.getUTCFullYear(),i.getUTCMonth(),i.getUTCDate()]:[i.getFullYear(),i.getMonth(),i.getDate()]}function ae(t){var e,i,o,n,s,r=[];if(!t._d){for(o=re(t),t._w&&null==t._a[un]&&null==t._a[ln]&&he(t),null!=t._dayOfYear&&(s=se(t._a[dn],o[dn]),(t._dayOfYear>Q(s)||0===t._dayOfYear)&&(p(t)._overflowDayOfYear=!0),i=_t(s,0,t._dayOfYear),t._a[ln]=i.getUTCMonth(),t._a[un]=i.getUTCDate()),e=0;e<3&&null==t._a[e];++e)t._a[e]=r[e]=o[e];for(;e<7;e++)t._a[e]=r[e]=null==t._a[e]?2===e?1:0:t._a[e];24===t._a[cn]&&0===t._a[pn]&&0===t._a[fn]&&0===t._a[mn]&&(t._nextDay=!0,t._a[cn]=0),t._d=(t._useUTC?_t:bt).apply(null,r),n=t._useUTC?t._d.getUTCDay():t._d.getDay(),null!=t._tzm&&t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),t._nextDay&&(t._a[cn]=24),t._w&&void 0!==t._w.d&&t._w.d!==n&&(p(t).weekdayMismatch=!0)}}function he(t){var e,i,o,n,s,r,a,h;if(e=t._w,null!=e.GG||null!=e.W||null!=e.E)s=1,r=4,i=se(e.GG,t._a[dn],kt(Se(),1,4).year),o=se(e.W,1),((n=se(e.E,1))<1||n>7)&&(h=!0);else{s=t._locale._week.dow,r=t._locale._week.doy;var d=kt(Se(),s,r);i=se(e.gg,t._a[dn],d.year),o=se(e.w,d.week),null!=e.d?((n=e.d)<0||n>6)&&(h=!0):null!=e.e?(n=e.e+s,(e.e<0||e.e>6)&&(h=!0)):n=s}o<1||o>Dt(i,s,r)?p(t)._overflowWeeks=!0:null!=h?p(t)._overflowWeekday=!0:(a=xt(i,o,n,s,r),t._a[dn]=a.year,t._dayOfYear=a.dayOfYear)}function de(t){var e,i,o,n,s,r,a=t._i,h=Fn.exec(a)||Bn.exec(a);if(h){for(p(t).iso=!0,e=0,i=Hn.length;e0&&p(t).unusedInput.push(r),a=a.slice(a.indexOf(o)+o.length),d+=o.length),Wo[s]?(o?p(t).empty=!1:p(t).unusedTokens.push(s),$(s,o,t)):t._strict&&!o&&p(t).unusedTokens.push(s);p(t).charsLeftOver=h-d,a.length>0&&p(t).unusedInput.push(a),t._a[cn]<=12&&!0===p(t).bigHour&&t._a[cn]>0&&(p(t).bigHour=void 0),p(t).parsedDateParts=t._a.slice(0),p(t).meridiem=t._meridiem,t._a[cn]=ye(t._locale,t._a[cn],t._meridiem),ae(t),ne(t)}function ye(t,e,i){var o;return null==i?e:null!=t.meridiemHour?t.meridiemHour(e,i):null!=t.isPM?(o=t.isPM(i),o&&e<12&&(e+=12),o||12!==e||(e=0),e):e}function be(t){var e,i,o,n,s;if(0===t._f.length)return p(t).invalidFormat=!0,void(t._d=new Date(NaN));for(n=0;nthis.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function Ue(){if(!s(this._isDSTShifted))return this._isDSTShifted;var t={};if(v(t,this),t=xe(t),t._a){var e=t._isUTC?u(t._a):Se(t._a);this._isDSTShifted=this.isValid()&&w(t._a,e.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted}function qe(){return!!this.isValid()&&!this._isUTC}function Xe(){return!!this.isValid()&&this._isUTC}function Ze(){return!!this.isValid()&&(this._isUTC&&0===this._offset)}function Ke(t,e){var i,o,n,s=t,a=null;return Ne(t)?s={ms:t._milliseconds,d:t._days,M:t._months}:r(t)?(s={},e?s[e]=t:s.milliseconds=t):(a=Jn.exec(t))?(i="-"===a[1]?-1:1,s={y:0,d:_(a[un])*i,h:_(a[cn])*i,m:_(a[pn])*i,s:_(a[fn])*i,ms:_(Re(1e3*a[mn]))*i}):(a=$n.exec(t))?(i="-"===a[1]?-1:(a[1],1),s={y:Je(a[2],i),M:Je(a[3],i),w:Je(a[4],i),d:Je(a[5],i),h:Je(a[6],i),m:Je(a[7],i),s:Je(a[8],i)}):null==s?s={}:"object"==typeof s&&("from"in s||"to"in s)&&(n=Qe(Se(s.from),Se(s.to)),s={},s.ms=n.milliseconds,s.M=n.months),o=new Ie(s),Ne(t)&&d(t,"_locale")&&(o._locale=t._locale),o}function Je(t,e){var i=t&&parseFloat(t.replace(",","."));return(isNaN(i)?0:i)*e}function $e(t,e){var i={milliseconds:0,months:0};return i.months=e.month()-t.month()+12*(e.year()-t.year()),t.clone().add(i.months,"M").isAfter(e)&&--i.months,i.milliseconds=+e-+t.clone().add(i.months,"M"),i}function Qe(t,e){var i;return t.isValid()&&e.isValid()?(e=Le(e,t),t.isBefore(e)?i=$e(t,e):(i=$e(e,t),i.milliseconds=-i.milliseconds,i.months=-i.months),i):{milliseconds:0,months:0}}function ti(t,e){return function(i,o){var n,s;return null===o||isNaN(+o)||(D(e,"moment()."+e+"(period, number) is deprecated. Please use moment()."+e+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),s=i,i=o,o=s),i="string"==typeof i?+i:i,n=Ke(i,o),ei(this,n,t),this}}function ei(t,i,o,n){var s=i._milliseconds,r=Re(i._days),a=Re(i._months);t.isValid()&&(n=null==n||n,a&&pt(t,ot(t,"Month")+a*o),r&&nt(t,"Date",ot(t,"Date")+r*o),s&&t._d.setTime(t._d.valueOf()+s*o),n&&e.updateOffset(t,r||a))}function ii(t,e){var i=t.diff(e,"days",!0);return i<-6?"sameElse":i<-1?"lastWeek":i<0?"lastDay":i<1?"sameDay":i<2?"nextDay":i<7?"nextWeek":"sameElse"}function oi(t,i){var o=t||Se(),n=Le(o,this).startOf("day"),s=e.calendarFormat(this,n)||"sameElse",r=i&&(S(i[s])?i[s].call(this,o):i[s]);return this.format(r||this.localeData().calendar(s,this,Se(o)))}function ni(){return new g(this)}function si(t,e){var i=y(t)?t:Se(t);return!(!this.isValid()||!i.isValid())&&(e=z(s(e)?"millisecond":e),"millisecond"===e?this.valueOf()>i.valueOf():i.valueOf()9999?G(i,e?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"):S(Date.prototype.toISOString)?e?this.toDate().toISOString():new Date(this.valueOf()+60*this.utcOffset()*1e3).toISOString().replace("Z",G(i,"Z")):G(i,e?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ")}function mi(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var t="moment",e="";this.isLocal()||(t=0===this.utcOffset()?"moment.utc":"moment.parseZone",e="Z");var i="["+t+'("]',o=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",n=e+'[")]';return this.format(i+o+"-MM-DD[T]HH:mm:ss.SSS"+n)}function vi(t){t||(t=this.isUtc()?e.defaultFormatUtc:e.defaultFormat);var i=G(this,t);return this.localeData().postformat(i)}function gi(t,e){return this.isValid()&&(y(t)&&t.isValid()||Se(t).isValid())?Ke({to:this,from:t}).locale(this.locale()).humanize(!e):this.localeData().invalidDate()}function yi(t){return this.from(Se(),t)}function bi(t,e){return this.isValid()&&(y(t)&&t.isValid()||Se(t).isValid())?Ke({from:this,to:t}).locale(this.locale()).humanize(!e):this.localeData().invalidDate()}function _i(t){return this.to(Se(),t)}function wi(t){var e;return void 0===t?this._locale._abbr:(e=ie(t),null!=e&&(this._locale=e),this)}function xi(){return this._locale}function ki(t){switch(t=z(t)){case"year":this.month(0);case"quarter":case"month":this.date(1);case"week":case"isoWeek":case"day":case"date":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}function Di(t){return void 0===(t=z(t))||"millisecond"===t?this:("date"===t&&(t="day"),this.startOf(t).add(1,"isoWeek"===t?"week":t).subtract(1,"ms"))}function Si(){return this._d.valueOf()-6e4*(this._offset||0)}function Mi(){return Math.floor(this.valueOf()/1e3)}function Ci(){return new Date(this.valueOf())}function Oi(){var t=this;return[t.year(),t.month(),t.date(),t.hour(),t.minute(),t.second(),t.millisecond()]}function Ei(){var t=this;return{years:t.year(),months:t.month(),date:t.date(),hours:t.hours(),minutes:t.minutes(),seconds:t.seconds(),milliseconds:t.milliseconds()}}function Ti(){return this.isValid()?this.toISOString():null}function Pi(){return f(this)}function Ii(){return l({},p(this))}function Ni(){return p(this).overflow}function Ri(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}}function Ai(t,e){H(0,[t,t.length],0,e)}function zi(t){return ji.call(this,t,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)}function Li(t){return ji.call(this,t,this.isoWeek(),this.isoWeekday(),1,4)}function Fi(){return Dt(this.year(),1,4)}function Bi(){var t=this.localeData()._week;return Dt(this.year(),t.dow,t.doy)}function ji(t,e,i,o,n){var s;return null==t?kt(this,o,n).year:(s=Dt(t,o,n),e>s&&(e=s),Hi.call(this,t,e,i,o,n))}function Hi(t,e,i,o,n){var s=xt(t,e,i,o,n),r=_t(s.year,0,s.dayOfYear);return this.year(r.getUTCFullYear()),this.month(r.getUTCMonth()),this.date(r.getUTCDate()),this}function Wi(t){return null==t?Math.ceil((this.month()+1)/3):this.month(3*(t-1)+this.month()%3)}function Yi(t){var e=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==t?e:this.add(t-e,"d")}function Gi(t,e){e[mn]=_(1e3*("0."+t))}function Vi(){return this._isUTC?"UTC":""}function Ui(){return this._isUTC?"Coordinated Universal Time":""}function qi(t){return Se(1e3*t)}function Xi(){return Se.apply(null,arguments).parseZone()}function Zi(t){return t}function Ki(t,e,i,o){ +var n=ie(),s=u().set(o,e);return n[i](s,t)}function Ji(t,e,i){if(r(t)&&(e=t,t=void 0),t=t||"",null!=e)return Ki(t,e,i,"month");var o,n=[];for(o=0;o<12;o++)n[o]=Ki(t,o,i,"month");return n}function $i(t,e,i,o){"boolean"==typeof t?(r(e)&&(i=e,e=void 0),e=e||""):(e=t,i=e,t=!1,r(e)&&(i=e,e=void 0),e=e||"");var n=ie(),s=t?n._week.dow:0;if(null!=i)return Ki(e,(i+s)%7,o,"day");var a,h=[];for(a=0;a<7;a++)h[a]=Ki(e,(a+s)%7,o,"day");return h}function Qi(t,e){return Ji(t,e,"months")}function to(t,e){return Ji(t,e,"monthsShort")}function eo(t,e,i){return $i(t,e,i,"weekdays")}function io(t,e,i){return $i(t,e,i,"weekdaysShort")}function oo(t,e,i){return $i(t,e,i,"weekdaysMin")}function no(){var t=this._data;return this._milliseconds=ds(this._milliseconds),this._days=ds(this._days),this._months=ds(this._months),t.milliseconds=ds(t.milliseconds),t.seconds=ds(t.seconds),t.minutes=ds(t.minutes),t.hours=ds(t.hours),t.months=ds(t.months),t.years=ds(t.years),this}function so(t,e,i,o){var n=Ke(e,i);return t._milliseconds+=o*n._milliseconds,t._days+=o*n._days,t._months+=o*n._months,t._bubble()}function ro(t,e){return so(this,t,e,1)}function ao(t,e){return so(this,t,e,-1)}function ho(t){return t<0?Math.floor(t):Math.ceil(t)}function lo(){var t,e,i,o,n,s=this._milliseconds,r=this._days,a=this._months,h=this._data;return s>=0&&r>=0&&a>=0||s<=0&&r<=0&&a<=0||(s+=864e5*ho(co(a)+r),r=0,a=0),h.milliseconds=s%1e3,t=b(s/1e3),h.seconds=t%60,e=b(t/60),h.minutes=e%60,i=b(e/60),h.hours=i%24,r+=b(i/24),n=b(uo(r)),a+=n,r-=ho(co(n)),o=b(a/12),a%=12,h.days=r,h.months=a,h.years=o,this}function uo(t){return 4800*t/146097}function co(t){return 146097*t/4800}function po(t){if(!this.isValid())return NaN;var e,i,o=this._milliseconds;if("month"===(t=z(t))||"year"===t)return e=this._days+o/864e5,i=this._months+uo(e),"month"===t?i:i/12;switch(e=this._days+Math.round(co(this._months)),t){case"week":return e/7+o/6048e5;case"day":return e+o/864e5;case"hour":return 24*e+o/36e5;case"minute":return 1440*e+o/6e4;case"second":return 86400*e+o/1e3;case"millisecond":return Math.floor(864e5*e)+o;default:throw new Error("Unknown unit "+t)}}function fo(){return this.isValid()?this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*_(this._months/12):NaN}function mo(t){return function(){return this.as(t)}}function vo(){return Ke(this)}function go(t){return t=z(t),this.isValid()?this[t+"s"]():NaN}function yo(t){return function(){return this.isValid()?this._data[t]:NaN}}function bo(){return b(this.days()/7)}function _o(t,e,i,o,n){return n.relativeTime(e||1,!!i,t,o)}function wo(t,e,i){var o=Ke(t).abs(),n=Ss(o.as("s")),s=Ss(o.as("m")),r=Ss(o.as("h")),a=Ss(o.as("d")),h=Ss(o.as("M")),d=Ss(o.as("y")),l=n<=Ms.ss&&["s",n]||n0,l[4]=i,_o.apply(null,l)}function xo(t){return void 0===t?Ss:"function"==typeof t&&(Ss=t,!0)}function ko(t,e){return void 0!==Ms[t]&&(void 0===e?Ms[t]:(Ms[t]=e,"s"===t&&(Ms.ss=e-1),!0))}function Do(t){if(!this.isValid())return this.localeData().invalidDate();var e=this.localeData(),i=wo(this,!t,e);return t&&(i=e.pastFuture(+this,i)),e.postformat(i)}function So(t){return(t>0)-(t<0)||+t}function Mo(){if(!this.isValid())return this.localeData().invalidDate();var t,e,i,o=Cs(this._milliseconds)/1e3,n=Cs(this._days),s=Cs(this._months);t=b(o/60),e=b(t/60),o%=60,t%=60,i=b(s/12),s%=12;var r=i,a=s,h=n,d=e,l=t,u=o?o.toFixed(3).replace(/\.?0+$/,""):"",c=this.asSeconds();if(!c)return"P0D";var p=c<0?"-":"",f=So(this._months)!==So(c)?"-":"",m=So(this._days)!==So(c)?"-":"",v=So(this._milliseconds)!==So(c)?"-":"";return p+"P"+(r?f+r+"Y":"")+(a?f+a+"M":"")+(h?m+h+"D":"")+(d||l||u?"T":"")+(d?v+d+"H":"")+(l?v+l+"M":"")+(u?v+u+"S":"")}var Co,Oo;Oo=Array.prototype.some?Array.prototype.some:function(t){for(var e=Object(this),i=e.length>>>0,o=0;o68?1900:2e3)};var yn,bn=it("FullYear",!0);yn=Array.prototype.indexOf?Array.prototype.indexOf:function(t){var e;for(e=0;ethis?this:t:m()}),Xn=function(){return Date.now?Date.now():+new Date},Zn=["year","quarter","month","week","day","hour","minute","second","millisecond"];Ae("Z",":"),Ae("ZZ",""),U("Z",nn),U("ZZ",nn),K(["Z","ZZ"],function(t,e,i){i._useUTC=!0,i._tzm=ze(nn,t)});var Kn=/([\+\-]|\d\d)/gi;e.updateOffset=function(){};var Jn=/^(\-|\+)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d*)?)?$/,$n=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;Ke.fn=Ie.prototype,Ke.invalid=Pe;var Qn=ti(1,"add"),ts=ti(-1,"subtract");e.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",e.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";var es=k("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(t){return void 0===t?this.localeData():this.locale(t)});H(0,["gg",2],0,function(){return this.weekYear()%100}),H(0,["GG",2],0,function(){return this.isoWeekYear()%100}),Ai("gggg","weekYear"),Ai("ggggg","weekYear"),Ai("GGGG","isoWeekYear"),Ai("GGGGG","isoWeekYear"),A("weekYear","gg"),A("isoWeekYear","GG"),F("weekYear",1),F("isoWeekYear",1),U("G",en),U("g",en),U("GG",Xo,Go),U("gg",Xo,Go),U("GGGG",$o,Uo),U("gggg",$o,Uo),U("GGGGG",Qo,qo),U("ggggg",Qo,qo),J(["gggg","ggggg","GGGG","GGGGG"],function(t,e,i,o){e[o.substr(0,2)]=_(t)}),J(["gg","GG"],function(t,i,o,n){i[n]=e.parseTwoDigitYear(t)}),H("Q",0,"Qo","quarter"),A("quarter","Q"),F("quarter",7),U("Q",Yo),K("Q",function(t,e){e[ln]=3*(_(t)-1)}),H("D",["DD",2],"Do","date"),A("date","D"),F("date",9),U("D",Xo),U("DD",Xo,Go),U("Do",function(t,e){return t?e._dayOfMonthOrdinalParse||e._ordinalParse:e._dayOfMonthOrdinalParseLenient}),K(["D","DD"],un),K("Do",function(t,e){e[un]=_(t.match(Xo)[0])});var is=it("Date",!0);H("DDD",["DDDD",3],"DDDo","dayOfYear"),A("dayOfYear","DDD"),F("dayOfYear",4),U("DDD",Jo),U("DDDD",Vo),K(["DDD","DDDD"],function(t,e,i){i._dayOfYear=_(t)}),H("m",["mm",2],0,"minute"),A("minute","m"),F("minute",14),U("m",Xo),U("mm",Xo,Go),K(["m","mm"],pn);var os=it("Minutes",!1);H("s",["ss",2],0,"second"),A("second","s"),F("second",15),U("s",Xo),U("ss",Xo,Go),K(["s","ss"],fn);var ns=it("Seconds",!1);H("S",0,0,function(){return~~(this.millisecond()/100)}),H(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),H(0,["SSS",3],0,"millisecond"),H(0,["SSSS",4],0,function(){return 10*this.millisecond()}),H(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),H(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),H(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),H(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),H(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),A("millisecond","ms"),F("millisecond",16),U("S",Jo,Yo),U("SS",Jo,Go),U("SSS",Jo,Vo);var ss;for(ss="SSSS";ss.length<=9;ss+="S")U(ss,tn);for(ss="S";ss.length<=9;ss+="S")K(ss,Gi);var rs=it("Milliseconds",!1);H("z",0,0,"zoneAbbr"),H("zz",0,0,"zoneName");var as=g.prototype;as.add=Qn,as.calendar=oi,as.clone=ni,as.diff=ui,as.endOf=Di,as.format=vi,as.from=gi,as.fromNow=yi,as.to=bi,as.toNow=_i,as.get=st,as.invalidAt=Ni,as.isAfter=si,as.isBefore=ri,as.isBetween=ai,as.isSame=hi,as.isSameOrAfter=di,as.isSameOrBefore=li,as.isValid=Pi,as.lang=es,as.locale=wi,as.localeData=xi,as.max=qn,as.min=Un,as.parsingFlags=Ii,as.set=rt,as.startOf=ki,as.subtract=ts,as.toArray=Oi,as.toObject=Ei,as.toDate=Ci,as.toISOString=fi,as.inspect=mi,as.toJSON=Ti,as.toString=pi,as.unix=Mi,as.valueOf=Si,as.creationData=Ri,as.year=bn,as.isLeapYear=et,as.weekYear=zi,as.isoWeekYear=Li,as.quarter=as.quarters=Wi,as.month=ft,as.daysInMonth=mt,as.week=as.weeks=Ot,as.isoWeek=as.isoWeeks=Et,as.weeksInYear=Bi,as.isoWeeksInYear=Fi,as.date=is,as.day=as.days=Lt,as.weekday=Ft,as.isoWeekday=Bt,as.dayOfYear=Yi,as.hour=as.hours=Rn,as.minute=as.minutes=os,as.second=as.seconds=ns,as.millisecond=as.milliseconds=rs,as.utcOffset=Be,as.utc=He,as.local=We,as.parseZone=Ye,as.hasAlignedHourOffset=Ge,as.isDST=Ve,as.isLocal=qe,as.isUtcOffset=Xe,as.isUtc=Ze,as.isUTC=Ze,as.zoneAbbr=Vi,as.zoneName=Ui,as.dates=k("dates accessor is deprecated. Use date instead.",is),as.months=k("months accessor is deprecated. Use month instead",ft),as.years=k("years accessor is deprecated. Use year instead",bn),as.zone=k("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",je),as.isDSTShifted=k("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",Ue);var hs=O.prototype;hs.calendar=E,hs.longDateFormat=T,hs.invalidDate=P,hs.ordinal=I,hs.preparse=Zi,hs.postformat=Zi,hs.relativeTime=N,hs.pastFuture=R,hs.set=M,hs.months=dt,hs.monthsShort=lt,hs.monthsParse=ct,hs.monthsRegex=gt,hs.monthsShortRegex=vt,hs.week=St,hs.firstDayOfYear=Ct,hs.firstDayOfWeek=Mt,hs.weekdays=It,hs.weekdaysMin=Rt,hs.weekdaysShort=Nt,hs.weekdaysParse=zt,hs.weekdaysRegex=jt,hs.weekdaysShortRegex=Ht,hs.weekdaysMinRegex=Wt,hs.isPM=Xt,hs.meridiem=Zt,Qt("en",{dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(t){var e=t%10;return t+(1===_(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th")}}),e.lang=k("moment.lang is deprecated. Use moment.locale instead.",Qt),e.langData=k("moment.langData is deprecated. Use moment.localeData instead.",ie);var ds=Math.abs,ls=mo("ms"),us=mo("s"),cs=mo("m"),ps=mo("h"),fs=mo("d"),ms=mo("w"),vs=mo("M"),gs=mo("y"),ys=yo("milliseconds"),bs=yo("seconds"),_s=yo("minutes"),ws=yo("hours"),xs=yo("days"),ks=yo("months"),Ds=yo("years"),Ss=Math.round,Ms={ss:44,s:45,m:45,h:22,d:26,M:11},Cs=Math.abs,Os=Ie.prototype;return Os.isValid=Te,Os.abs=no,Os.add=ro,Os.subtract=ao,Os.as=po,Os.asMilliseconds=ls,Os.asSeconds=us,Os.asMinutes=cs,Os.asHours=ps,Os.asDays=fs,Os.asWeeks=ms,Os.asMonths=vs,Os.asYears=gs,Os.valueOf=fo,Os._bubble=lo,Os.clone=vo,Os.get=go,Os.milliseconds=ys,Os.seconds=bs,Os.minutes=_s,Os.hours=ws,Os.days=xs,Os.weeks=bo,Os.months=ks,Os.years=Ds,Os.humanize=Do,Os.toISOString=Mo,Os.toString=Mo,Os.toJSON=Mo,Os.locale=wi,Os.localeData=xi,Os.toIsoString=k("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",Mo),Os.lang=es,H("X",0,0,"unix"),H("x",0,0,"valueOf"),U("x",en),U("X",sn),K("X",function(t,e,i){i._d=new Date(1e3*parseFloat(t,10))}),K("x",function(t,e,i){i._d=new Date(_(t))}),e.version="2.22.2",function(t){Co=t}(Se),e.fn=as,e.min=Ce,e.max=Oe,e.now=Xn,e.utc=u,e.unix=qi,e.months=Qi,e.isDate=a,e.locale=Qt,e.invalid=m,e.duration=Ke,e.isMoment=y,e.weekdays=eo,e.parseZone=Xi,e.localeData=ie,e.isDuration=Ne,e.monthsShort=to,e.weekdaysMin=oo,e.defineLocale=te,e.updateLocale=ee,e.locales=oe,e.weekdaysShort=io,e.normalizeUnits=z,e.relativeTimeRounding=xo,e.relativeTimeThreshold=ko,e.calendarFormat=ii,e.prototype=as,e.HTML5_FMT={DATETIME_LOCAL:"YYYY-MM-DDTHH:mm",DATETIME_LOCAL_SECONDS:"YYYY-MM-DDTHH:mm:ss",DATETIME_LOCAL_MS:"YYYY-MM-DDTHH:mm:ss.SSS",DATE:"YYYY-MM-DD",TIME:"HH:mm",TIME_SECONDS:"HH:mm:ss",TIME_MS:"HH:mm:ss.SSS",WEEK:"YYYY-[W]WW",MONTH:"YYYY-MM"},e})}).call(e,i(155)(t))},function(t,e){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children||(t.children=[]),Object.defineProperty(t,"loaded",{enumerable:!0,get:function(){return t.l}}),Object.defineProperty(t,"id",{enumerable:!0,get:function(){return t.i}}),t.webpackPolyfill=1),t}},function(t,e){function i(t){throw new Error("Cannot find module '"+t+"'.")}i.keys=function(){return[]},i.resolve=i,t.exports=i,i.id=156},function(t,e,i){(function(e){function i(t,e,i){var o=e&&i||0,n=0;for(e=e||[],t.toLowerCase().replace(/[0-9a-f]{2}/g,function(t){n<16&&(e[o+n++]=u[t])});n<16;)e[o+n++]=0;return e}function o(t,e){var i=e||0,o=l;return o[t[i++]]+o[t[i++]]+o[t[i++]]+o[t[i++]]+"-"+o[t[i++]]+o[t[i++]]+"-"+o[t[i++]]+o[t[i++]]+"-"+o[t[i++]]+o[t[i++]]+"-"+o[t[i++]]+o[t[i++]]+o[t[i++]]+o[t[i++]]+o[t[i++]]+o[t[i++]]}function n(t,e,i){var n=e&&i||0,s=e||[];t=t||{};var r=void 0!==t.clockseq?t.clockseq:m,a=void 0!==t.msecs?t.msecs:(new Date).getTime(),h=void 0!==t.nsecs?t.nsecs:g+1,d=a-v+(h-g)/1e4;if(d<0&&void 0===t.clockseq&&(r=r+1&16383),(d<0||a>v)&&void 0===t.nsecs&&(h=0),h>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");v=a,g=h,m=r,a+=122192928e5;var l=(1e4*(268435455&a)+h)%4294967296;s[n++]=l>>>24&255,s[n++]=l>>>16&255,s[n++]=l>>>8&255,s[n++]=255&l;var u=a/4294967296*1e4&268435455;s[n++]=u>>>8&255,s[n++]=255&u,s[n++]=u>>>24&15|16,s[n++]=u>>>16&255,s[n++]=r>>>8|128,s[n++]=255&r;for(var c=t.node||f,p=0;p<6;p++)s[n+p]=c[p];return e||o(s)}function s(t,e,i){var n=e&&i||0;"string"==typeof t&&(e="binary"==t?new Array(16):null,t=null),t=t||{};var s=t.random||(t.rng||r)();if(s[6]=15&s[6]|64,s[8]=63&s[8]|128,e)for(var a=0;a<16;a++)e[n+a]=s[a];return e||o(s)}var r,a="undefined"!=typeof window?window:void 0!==e?e:null;if(a&&a.crypto&&crypto.getRandomValues){var h=new Uint8Array(16);r=function(){return crypto.getRandomValues(h),h}}if(!r){var d=new Array(16);r=function(){for(var t,e=0;e<16;e++)0==(3&e)&&(t=4294967296*Math.random()),d[e]=t>>>((3&e)<<3)&255;return d}}for(var l=[],u={},c=0;c<256;c++)l[c]=(c+256).toString(16).substr(1),u[l[c]]=c;var p=r(),f=[1|p[0],p[1],p[2],p[3],p[4],p[5]],m=16383&(p[6]<<8|p[7]),v=0,g=0,y=s;y.v1=n,y.v4=s,y.parse=i,y.unparse=o,t.exports=y}).call(e,i(158))},function(t,e){var i;i=function(){return this}();try{i=i||Function("return this")()||(0,eval)("this")}catch(t){"object"==typeof window&&(i=window)}t.exports=i},function(t,e,i){e.util=i(2),e.DOMutil=i(14),e.DataSet=i(11),e.DataView=i(12),e.Queue=i(44),e.Graph3d=i(161),e.graph3d={Camera:i(95),Filter:i(96),Point2d:i(91),Point3d:i(34),Slider:i(92),StepNumber:i(93)},e.moment=i(9),e.Hammer=i(10),e.keycharm=i(35)},function(t,e,i){var o=i(7),n=o.JSON||(o.JSON={stringify:JSON.stringify});t.exports=function(t){return n.stringify.apply(n,arguments)}},function(t,e,i){function o(t,e,i){if(!(this instanceof o))throw new SyntaxError("Constructor must be called with the new operator");this.containerElement=t,this.dataGroup=new _,this.dataPoints=null,this.create(),f.setDefaults(o.DEFAULTS,this),this.colX=void 0,this.colY=void 0,this.colZ=void 0,this.colValue=void 0,this.setOptions(i),this.setData(e)}function n(t){return"clientX"in t?t.clientX:t.targetTouches[0]&&t.targetTouches[0].clientX||0}function s(t){return"clientY"in t?t.clientY:t.targetTouches[0]&&t.targetTouches[0].clientY||0}var r=i(90),a=function(t){return t&&t.__esModule?t:{default:t}}(r),h=i(45),d=i(2),l=i(34),u=i(91),c=i(92),p=i(93),f=i(94),m=i(15).default,v=i(15),g=v.printStyle,y=i(172),b=y.allOptions,_=i(173);o.STYLE=f.STYLE;o.DEFAULTS={width:"400px",height:"400px",filterLabel:"time",legendLabel:"value",xLabel:"x",yLabel:"y",zLabel:"z",xValueLabel:function(t){return t},yValueLabel:function(t){return t},zValueLabel:function(t){return t},showXAxis:!0,showYAxis:!0,showZAxis:!0,showGrid:!0,showPerspective:!0,showShadow:!1,keepAspectRatio:!0,verticalRatio:.5,dotSizeRatio:.02,dotSizeMinFraction:.5,dotSizeMaxFraction:2.5,showAnimationControls:void 0,animationInterval:1e3,animationPreload:!1,animationAutoStart:void 0,axisColor:"#4D4D4D",gridColor:"#D3D3D3",xCenter:"55%",yCenter:"50%",style:o.STYLE.DOT,tooltip:!1,tooltipStyle:{content:{padding:"10px",border:"1px solid #4d4d4d",color:"#1a1a1a",background:"rgba(255,255,255,0.7)",borderRadius:"2px",boxShadow:"5px 5px 10px rgba(128,128,128,0.5)"},line:{height:"40px",width:"0",borderLeft:"1px solid #4d4d4d"},dot:{height:"0",width:"0",border:"5px solid #4d4d4d",borderRadius:"5px"}},dataColor:{fill:"#7DC1FF",stroke:"#3267D2",strokeWidth:1},cameraPosition:{horizontal:1,vertical:.5,distance:1.7},showLegend:void 0,backgroundColor:void 0,xBarWidth:void 0,yBarWidth:void 0,valueMin:void 0,valueMax:void 0,xMin:void 0,xMax:void 0,xStep:void 0,yMin:void 0,yMax:void 0,yStep:void 0,zMin:void 0,zMax:void 0,zStep:void 0},h(o.prototype),o.prototype._setScale=function(){this.scale=new l(1/this.xRange.range(),1/this.yRange.range(),1/this.zRange.range()),this.keepAspectRatio&&(this.scale.x0&&(r[n-1].pointNext=r[n]);return r},o.prototype.create=function(){for(;this.containerElement.hasChildNodes();)this.containerElement.removeChild(this.containerElement.firstChild);this.frame=document.createElement("div"),this.frame.style.position="relative",this.frame.style.overflow="hidden",this.frame.canvas=document.createElement("canvas"),this.frame.canvas.style.position="relative",this.frame.appendChild(this.frame.canvas);var t=document.createElement("DIV");t.style.color="red",t.style.fontWeight="bold",t.style.padding="10px",t.innerHTML="Error: your browser does not support HTML canvas",this.frame.canvas.appendChild(t),this.frame.filter=document.createElement("div"),this.frame.filter.style.position="absolute",this.frame.filter.style.bottom="0px",this.frame.filter.style.left="0px",this.frame.filter.style.width="100%",this.frame.appendChild(this.frame.filter);var e=this,i=function(t){e._onMouseDown(t)},o=function(t){e._onTouchStart(t)},n=function(t){e._onWheel(t)},s=function(t){e._onTooltip(t)},r=function(t){e._onClick(t)};d.addEventListener(this.frame.canvas,"mousedown",i),d.addEventListener(this.frame.canvas,"touchstart",o),d.addEventListener(this.frame.canvas,"mousewheel",n),d.addEventListener(this.frame.canvas,"mousemove",s),d.addEventListener(this.frame.canvas,"click",r),this.containerElement.appendChild(this.frame)},o.prototype._setSize=function(t,e){this.frame.style.width=t,this.frame.style.height=e,this._resizeCanvas()},o.prototype._resizeCanvas=function(){this.frame.canvas.style.width="100%",this.frame.canvas.style.height="100%",this.frame.canvas.width=this.frame.canvas.clientWidth,this.frame.canvas.height=this.frame.canvas.clientHeight,this.frame.filter.style.width=this.frame.canvas.clientWidth-20+"px"},o.prototype.animationStart=function(){if(this.animationAutoStart&&this.dataGroup.dataFilter){if(!this.frame.filter||!this.frame.filter.slider)throw new Error("No animation available");this.frame.filter.slider.play()}},o.prototype.animationStop=function(){this.frame.filter&&this.frame.filter.slider&&this.frame.filter.slider.stop()},o.prototype._resizeCenter=function(){"%"===this.xCenter.charAt(this.xCenter.length-1)?this.currentXCenter=parseFloat(this.xCenter)/100*this.frame.canvas.clientWidth:this.currentXCenter=parseFloat(this.xCenter),"%"===this.yCenter.charAt(this.yCenter.length-1)?this.currentYCenter=parseFloat(this.yCenter)/100*(this.frame.canvas.clientHeight-this.frame.filter.clientHeight):this.currentYCenter=parseFloat(this.yCenter)},o.prototype.getCameraPosition=function(){var t=this.camera.getArmRotation();return t.distance=this.camera.getArmLength(),t},o.prototype._readData=function(t){this.dataPoints=this.dataGroup.initializeData(this,t,this.style),this._initializeRanges(),this._redrawFilter()},o.prototype.setData=function(t){void 0!==t&&null!==t&&(this._readData(t),this.redraw(),this.animationStart())},o.prototype.setOptions=function(t){if(void 0!==t){!0===m.validate(t,b)&&console.log("%cErrors have been found in the supplied options object.",g),this.animationStop(),f.setOptions(t,this),this.setPointDrawingMethod(),this._setSize(this.width,this.height),this.setData(this.dataGroup.getDataTable()),this.animationStart()}},o.prototype.setPointDrawingMethod=function(){var t=void 0;switch(this.style){case o.STYLE.BAR:t=o.prototype._redrawBarGraphPoint;break;case o.STYLE.BARCOLOR:t=o.prototype._redrawBarColorGraphPoint;break;case o.STYLE.BARSIZE:t=o.prototype._redrawBarSizeGraphPoint;break;case o.STYLE.DOT:t=o.prototype._redrawDotGraphPoint;break;case o.STYLE.DOTLINE:t=o.prototype._redrawDotLineGraphPoint;break;case o.STYLE.DOTCOLOR:t=o.prototype._redrawDotColorGraphPoint;break;case o.STYLE.DOTSIZE:t=o.prototype._redrawDotSizeGraphPoint;break;case o.STYLE.SURFACE:t=o.prototype._redrawSurfaceGraphPoint;break;case o.STYLE.GRID:t=o.prototype._redrawGridGraphPoint;break;case o.STYLE.LINE:t=o.prototype._redrawLineGraphPoint;break;default:throw new Error("Can not determine point drawing method for graph style '"+this.style+"'")}this._pointDrawingMethod=t},o.prototype.redraw=function(){if(void 0===this.dataPoints)throw new Error("Graph data not initialized");this._resizeCanvas(),this._resizeCenter(),this._redrawSlider(),this._redrawClear(),this._redrawAxis(),this._redrawDataGraph(),this._redrawInfo(),this._redrawLegend()},o.prototype._getContext=function(){var t=this.frame.canvas,e=t.getContext("2d");return e.lineJoin="round",e.lineCap="round",e},o.prototype._redrawClear=function(){var t=this.frame.canvas;t.getContext("2d").clearRect(0,0,t.width,t.height)},o.prototype._dotSize=function(){return this.frame.clientWidth*this.dotSizeRatio},o.prototype._getLegendWidth=function(){var t;if(this.style===o.STYLE.DOTSIZE){t=this._dotSize()*this.dotSizeMaxFraction}else t=this.style===o.STYLE.BARSIZE?this.xBarWidth:20;return t},o.prototype._redrawLegend=function(){if(!0===this.showLegend&&this.style!==o.STYLE.LINE&&this.style!==o.STYLE.BARSIZE){var t=this.style===o.STYLE.BARSIZE||this.style===o.STYLE.DOTSIZE,e=this.style===o.STYLE.DOTSIZE||this.style===o.STYLE.DOTCOLOR||this.style===o.STYLE.BARCOLOR,i=Math.max(.25*this.frame.clientHeight,100),n=this.margin,s=this._getLegendWidth(),r=this.frame.clientWidth-this.margin,a=r-s,h=n+i,d=this._getContext();if(d.lineWidth=1,d.font="14px arial",!1===t){var l,c=i;for(l=0;l0?(t.textAlign="center",t.textBaseline="top",s.y+=n):Math.sin(2*o)<0?(t.textAlign="right",t.textBaseline="middle"):(t.textAlign="left",t.textBaseline="middle"),t.fillStyle=this.axisColor,t.fillText(i,s.x,s.y)},o.prototype.drawAxisLabelY=function(t,e,i,o,n){void 0===n&&(n=0);var s=this._convert3Dto2D(e);Math.cos(2*o)<0?(t.textAlign="center",t.textBaseline="top",s.y+=n):Math.sin(2*o)>0?(t.textAlign="right",t.textBaseline="middle"):(t.textAlign="left",t.textBaseline="middle"),t.fillStyle=this.axisColor,t.fillText(i,s.x,s.y)},o.prototype.drawAxisLabelZ=function(t,e,i,o){void 0===o&&(o=0);var n=this._convert3Dto2D(e);t.textAlign="right",t.textBaseline="middle",t.fillStyle=this.axisColor,t.fillText(i,n.x-o,n.y)},o.prototype._line3d=function(t,e,i,o){var n=this._convert3Dto2D(e),s=this._convert3Dto2D(i);this._line(t,n,s,o)},o.prototype._redrawAxis=function(){var t,e,i,o,n,s,r,a,h,d,c,f=this._getContext();f.font=24/this.camera.getArmLength()+"px arial";var m,v=.025/this.scale.x,g=.025/this.scale.y,y=5/this.camera.getArmLength(),b=this.camera.getArmRotation().horizontal,_=new u(Math.cos(b),Math.sin(b)),w=this.xRange,x=this.yRange,k=this.zRange;for(f.lineWidth=1,o=void 0===this.defaultXStep,i=new p(w.min,w.max,this.xStep,o),i.start(!0);!i.end();){var D=i.getCurrent();if(this.showGrid?(t=new l(D,x.min,k.min),e=new l(D,x.max,k.min),this._line3d(f,t,e,this.gridColor)):this.showXAxis&&(t=new l(D,x.min,k.min),e=new l(D,x.min+v,k.min),this._line3d(f,t,e,this.axisColor),t=new l(D,x.max,k.min),e=new l(D,x.max-v,k.min),this._line3d(f,t,e,this.axisColor)),this.showXAxis){r=_.x>0?x.min:x.max,m=new l(D,r,k.min);var S=" "+this.xValueLabel(D)+" ";this.drawAxisLabelX(f,m,S,b,y)}i.next()}for(f.lineWidth=1,o=void 0===this.defaultYStep,i=new p(x.min,x.max,this.yStep,o),i.start(!0);!i.end();){var M=i.getCurrent();if(this.showGrid?(t=new l(w.min,M,k.min),e=new l(w.max,M,k.min),this._line3d(f,t,e,this.gridColor)):this.showYAxis&&(t=new l(w.min,M,k.min),e=new l(w.min+g,M,k.min),this._line3d(f,t,e,this.axisColor),t=new l(w.max,M,k.min),e=new l(w.max-g,M,k.min),this._line3d(f,t,e,this.axisColor)),this.showYAxis){s=_.y>0?w.min:w.max,m=new l(s,M,k.min);var C=" "+this.yValueLabel(M)+" ";this.drawAxisLabelY(f,m,C,b,y)}i.next()}if(this.showZAxis){for(f.lineWidth=1,o=void 0===this.defaultZStep,i=new p(k.min,k.max,this.zStep,o),i.start(!0),s=_.x>0?w.min:w.max,r=_.y<0?x.min:x.max;!i.end();){var O=i.getCurrent(),E=new l(s,r,O),T=this._convert3Dto2D(E);e=new u(T.x-y,T.y),this._line(f,T,e,this.axisColor);var P=this.zValueLabel(O)+" ";this.drawAxisLabelZ(f,E,P,5),i.next()}f.lineWidth=1,t=new l(s,r,k.min),e=new l(s,r,k.max),this._line3d(f,t,e,this.axisColor)}if(this.showXAxis){var I,N;f.lineWidth=1,I=new l(w.min,x.min,k.min),N=new l(w.max,x.min,k.min),this._line3d(f,I,N,this.axisColor),I=new l(w.min,x.max,k.min),N=new l(w.max,x.max,k.min),this._line3d(f,I,N,this.axisColor)}this.showYAxis&&(f.lineWidth=1,t=new l(w.min,x.min,k.min),e=new l(w.min,x.max,k.min),this._line3d(f,t,e,this.axisColor),t=new l(w.max,x.min,k.min),e=new l(w.max,x.max,k.min),this._line3d(f,t,e,this.axisColor));var R=this.xLabel;R.length>0&&this.showXAxis&&(c=.1/this.scale.y,s=(w.max+3*w.min)/4,r=_.x>0?x.min-c:x.max+c,n=new l(s,r,k.min),this.drawAxisLabelX(f,n,R,b));var A=this.yLabel;A.length>0&&this.showYAxis&&(d=.1/this.scale.x,s=_.y>0?w.min-d:w.max+d,r=(x.max+3*x.min)/4,n=new l(s,r,k.min),this.drawAxisLabelY(f,n,A,b));var z=this.zLabel;z.length>0&&this.showZAxis&&(h=30,s=_.x>0?w.min:w.max,r=_.y<0?x.min:x.max,a=(k.max+3*k.min)/4,n=new l(s,r,a),this.drawAxisLabelZ(f,n,z,h))},o.prototype._hsv2rgb=function(t,e,i){var o,n,s,r,a,h;switch(r=i*e,a=Math.floor(t/60),h=r*(1-Math.abs(t/60%2-1)),a){case 0:o=r,n=h,s=0;break;case 1:o=h,n=r,s=0;break;case 2:o=0,n=r,s=h;break;case 3:o=0,n=h,s=r;break;case 4:o=h,n=0,s=r;break;case 5:o=r,n=0,s=h;break;default:o=0,n=0,s=0}return"RGB("+parseInt(255*o)+","+parseInt(255*n)+","+parseInt(255*s)+")"},o.prototype._getStrokeWidth=function(t){return void 0!==t?this.showPerspective?1/-t.trans.z*this.dataColor.strokeWidth:-this.eye.z/this.camera.getArmLength()*this.dataColor.strokeWidth:this.dataColor.strokeWidth},o.prototype._redrawBar=function(t,e,i,o,n,s){var r,a=this,h=e.point,d=this.zRange.min,u=[{point:new l(h.x-i,h.y-o,h.z)},{point:new l(h.x+i,h.y-o,h.z)},{point:new l(h.x+i,h.y+o,h.z)},{point:new l(h.x-i,h.y+o,h.z)}],c=[{point:new l(h.x-i,h.y-o,d)},{point:new l(h.x+i,h.y-o,d)},{point:new l(h.x+i,h.y+o,d)},{point:new l(h.x-i,h.y+o,d)}];u.forEach(function(t){t.screen=a._convert3Dto2D(t.point)}),c.forEach(function(t){t.screen=a._convert3Dto2D(t.point)});var p=[{corners:u,center:l.avg(c[0].point,c[2].point)},{corners:[u[0],u[1],c[1],c[0]],center:l.avg(c[1].point,c[0].point)},{corners:[u[1],u[2],c[2],c[1]],center:l.avg(c[2].point,c[1].point)},{corners:[u[2],u[3],c[3],c[2]],center:l.avg(c[3].point,c[2].point)},{corners:[u[3],u[0],c[0],c[3]],center:l.avg(c[0].point,c[3].point)}];e.surfaces=p;for(var f=0;f0}if(a){var p,f=(e.point.z+i.point.z+o.point.z+n.point.z)/4,m=240*(1-(f-this.zRange.min)*this.scale.z/this.verticalRatio);this.showShadow?(p=Math.min(1+u.x/c/2,1),s=this._hsv2rgb(m,1,p),r=s):(p=1,s=this._hsv2rgb(m,1,p),r=this.axisColor)}else s="gray",r=this.axisColor;t.lineWidth=this._getStrokeWidth(e);var v=[e,i,n,o];this._polygon(t,v,s,r)}},o.prototype._drawGridLine=function(t,e,i){if(void 0!==e&&void 0!==i){var o=(e.point.z+i.point.z)/2,n=240*(1-(o-this.zRange.min)*this.scale.z/this.verticalRatio);t.lineWidth=2*this._getStrokeWidth(e),t.strokeStyle=this._hsv2rgb(n,1,1),this._line(t,e.screen,i.screen)}},o.prototype._redrawGridGraphPoint=function(t,e){this._drawGridLine(t,e,e.pointRight),this._drawGridLine(t,e,e.pointTop)},o.prototype._redrawLineGraphPoint=function(t,e){void 0!==e.pointNext&&(t.lineWidth=this._getStrokeWidth(e),t.strokeStyle=this.dataColor.stroke,this._line(t,e.screen,e.pointNext.screen))},o.prototype._redrawDataGraph=function(){var t,e=this._getContext();if(!(void 0===this.dataPoints||this.dataPoints.length<=0))for(this._calcTranslations(this.dataPoints),t=0;t0?1:t<0?-1:0}var o=e[0],n=e[1],s=e[2],r=i((n.x-o.x)*(t.y-o.y)-(n.y-o.y)*(t.x-o.x)),a=i((s.x-n.x)*(t.y-n.y)-(s.y-n.y)*(t.x-n.x)),h=i((o.x-s.x)*(t.y-s.y)-(o.y-s.y)*(t.x-s.x));return!(0!=r&&0!=a&&r!=a||0!=a&&0!=h&&a!=h||0!=r&&0!=h&&r!=h)},o.prototype._dataPointFromXY=function(t,e){var i,n=null,s=null,r=null,a=new u(t,e);if(this.style===o.STYLE.BAR||this.style===o.STYLE.BARCOLOR||this.style===o.STYLE.BARSIZE)for(i=this.dataPoints.length-1;i>=0;i--){n=this.dataPoints[i];var h=n.surfaces;if(h)for(var d=h.length-1;d>=0;d--){var l=h[d],c=l.corners,p=[c[0].screen,c[1].screen,c[2].screen],f=[c[2].screen,c[3].screen,c[0].screen];if(this._insideTriangle(a,p)||this._insideTriangle(a,f))return n}}else for(i=0;i"+this.xLabel+":"+t.point.x+""+this.yLabel+":"+t.point.y+""+this.zLabel+":"+t.point.z+"",e.style.left="0",e.style.top="0",this.frame.appendChild(e),this.frame.appendChild(i),this.frame.appendChild(o);var n=e.offsetWidth,s=e.offsetHeight,r=i.offsetHeight,h=o.offsetWidth,d=o.offsetHeight,l=t.screen.x-n/2;l=Math.min(Math.max(l,10),this.frame.clientWidth-10-n),i.style.left=t.screen.x+"px",i.style.top=t.screen.y-r+"px",e.style.left=l+"px",e.style.top=t.screen.y-r-s+"px",o.style.left=t.screen.x-h/2+"px",o.style.top=t.screen.y-d/2+"px"},o.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)}}},o.prototype.setCameraPosition=function(t){f.setCameraPosition(t,this),this.redraw()},o.prototype.setSize=function(t,e){this._setSize(t,e),this.redraw()},t.exports=o},function(t,e,i){i(163),t.exports=i(7).Object.assign},function(t,e,i){var o=i(17);o(o.S+o.F,"Object",{assign:i(164)})},function(t,e,i){var o=i(33),n=i(63),s=i(43),r=i(42),a=i(78),h=Object.assign;t.exports=!h||i(29)(function(){var t={},e={},i=Symbol(),o="abcdefghijklmnopqrst";return t[i]=7,o.split("").forEach(function(t){e[t]=t}),7!=h({},t)[i]||Object.keys(h({},e)).join("")!=o})?function(t,e){for(var i=r(t),h=arguments.length,d=1,l=n.f,u=s.f;h>d;)for(var c,p=a(arguments[d++]),f=l?o(p).concat(l(p)):o(p),m=f.length,v=0;m>v;)u.call(p,c=f[v++])&&(i[c]=p[c]);return i}:h},function(t,e,i){t.exports={default:i(166),__esModule:!0}},function(t,e,i){i(167),t.exports=i(7).Math.sign},function(t,e,i){var o=i(17);o(o.S,"Math",{sign:i(168)})},function(t,e){t.exports=Math.sign||function(t){return 0==(t=+t)||t!=t?t:t<0?-1:1}},function(t,e,i){t.exports={default:i(170),__esModule:!0}},function(t,e,i){i(171);var o=i(7).Object;t.exports=function(t,e,i){return o.defineProperty(t,e,i)}},function(t,e,i){var o=i(17);o(o.S+o.F*!i(21),"Object",{defineProperty:i(20).f})},function(t,e,i){Object.defineProperty(e,"__esModule",{value:!0});var o="string",n="boolean",s="number",r={fill:{string:o},stroke:{string:o},strokeWidth:{number:s},__type__:{string:o,object:"object",undefined:"undefined"}},a={animationAutoStart:{boolean:n,undefined:"undefined"},animationInterval:{number:s},animationPreload:{boolean:n},axisColor:{string:o},backgroundColor:r,xBarWidth:{number:s,undefined:"undefined"},yBarWidth:{number:s,undefined:"undefined"},cameraPosition:{distance:{number:s},horizontal:{number:s},vertical:{number:s},__type__:{object:"object"}},xCenter:{string:o},yCenter:{string:o},dataColor:r,dotSizeMinFraction:{number:s},dotSizeMaxFraction:{number:s},dotSizeRatio:{number:s},filterLabel:{string:o},gridColor:{string:o},onclick:{function:"function"},keepAspectRatio:{boolean:n},xLabel:{string:o},yLabel:{string:o},zLabel:{string:o},legendLabel:{string:o},xMin:{number:s,undefined:"undefined"},yMin:{number:s,undefined:"undefined"},zMin:{number:s,undefined:"undefined"},xMax:{number:s,undefined:"undefined"},yMax:{number:s,undefined:"undefined"},zMax:{number:s,undefined:"undefined"},showAnimationControls:{boolean:n,undefined:"undefined"},showGrid:{boolean:n},showLegend:{boolean:n,undefined:"undefined"},showPerspective:{boolean:n},showShadow:{boolean:n},showXAxis:{boolean:n},showYAxis:{boolean:n},showZAxis:{boolean:n},xStep:{number:s,undefined:"undefined"},yStep:{number:s,undefined:"undefined"},zStep:{number:s,undefined:"undefined"},style:{number:s,string:["bar","bar-color","bar-size","dot","dot-line","dot-color","dot-size","line","grid","surface"]},tooltip:{boolean:n,function:"function"},tooltipStyle:{content:{color:{string:o},background:{string:o},border:{string:o},borderRadius:{string:o},boxShadow:{string:o},padding:{string:o},__type__:{object:"object"}},line:{borderLeft:{string:o},height:{string:o},width:{string:o},__type__:{object:"object"}},dot:{border:{string:o},borderRadius:{string:o},height:{string:o},width:{string:o},__type__:{object:"object"}},__type__:{object:"object"}},xValueLabel:{function:"function"},yValueLabel:{function:"function"},zValueLabel:{function:"function"},valueMax:{number:s,undefined:"undefined"},valueMin:{number:s,undefined:"undefined"},verticalRatio:{number:s},height:{string:o},width:{string:o},__type__:{object:"object"}};e.allOptions=a},function(t,e,i){function o(){this.dataTable=null}var n=i(11),s=i(12),r=i(174),a=i(96),h=i(94),d=i(34);o.prototype.initializeData=function(t,e,i){if(void 0!==e){Array.isArray(e)&&(e=new n(e));var o;if(!(e instanceof n||e instanceof s))throw new Error("Array, DataSet, or DataView expected");if(o=e.get(),0!=o.length){this.style=i,this.dataSet&&this.dataSet.off("*",this._onChange),this.dataSet=e,this.dataTable=o;var r=this;this._onChange=function(){t.setData(r.dataSet)},this.dataSet.on("*",this._onChange),this.colX="x",this.colY="y",this.colZ="z";var h=t.hasBars(i);if(h&&(void 0!==t.defaultXBarWidth?this.xBarWidth=t.defaultXBarWidth:this.xBarWidth=this.getSmallestDifference(o,this.colX)||1,void 0!==t.defaultYBarWidth?this.yBarWidth=t.defaultYBarWidth:this.yBarWidth=this.getSmallestDifference(o,this.colY)||1),this._initializeRange(o,this.colX,t,h),this._initializeRange(o,this.colY,t,h),this._initializeRange(o,this.colZ,t,!1),o[0].hasOwnProperty("style")){this.colValue="style";var d=this.getColumnRange(o,this.colValue);this._setRangeDefaults(d,t.defaultValueMin,t.defaultValueMax),this.valueRange=d}this.getDataTable()[0].hasOwnProperty("filter")&&void 0===this.dataFilter&&(this.dataFilter=new a(this,"filter",t),this.dataFilter.setOnLoadCallback(function(){t.redraw()}));return this.dataFilter?this.dataFilter._getDataPoints():this._getDataPoints(this.getDataTable())}}},o.prototype._collectRangeSettings=function(t,e){if(-1==["x","y","z"].indexOf(t))throw new Error("Column '"+t+"' invalid");var i=t.toUpperCase();return{barWidth:this[t+"BarWidth"],min:e["default"+i+"Min"],max:e["default"+i+"Max"],step:e["default"+i+"Step"],range_label:t+"Range",step_label:t+"Step"}},o.prototype._initializeRange=function(t,e,i,o){var n=this._collectRangeSettings(e,i),s=this.getColumnRange(t,e);o&&"z"!=e&&s.expand(n.barWidth/2),this._setRangeDefaults(s,n.min,n.max),this[n.range_label]=s,this[n.step_label]=void 0!==n.step?n.step:s.range()/5},o.prototype.getDistinctValues=function(t,e){void 0===e&&(e=this.dataTable);for(var i=[],o=0;os)&&(o=s)}return o},o.prototype.getColumnRange=function(t,e){for(var i=new r,o=0;o0&&(e[i-1].pointNext=e[i]);return e},o.prototype._checkValueField=function(t){if(this.style===h.STYLE.BARCOLOR||this.style===h.STYLE.BARSIZE||this.style===h.STYLE.DOTCOLOR||this.style===h.STYLE.DOTSIZE){if(void 0===this.colValue)throw new Error("Expected data to have field 'style' for graph style '"+this.style+"'");if(void 0===t[0][this.colValue])throw new Error("Expected data to have field '"+this.colValue+"' for graph style '"+this.style+"'")}},t.exports=o},function(t,e,i){function o(){this.min=void 0,this.max=void 0}o.prototype.adjust=function(t){void 0!==t&&((void 0===this.min||this.min>t)&&(this.min=t),(void 0===this.max||this.maxi)throw new Error("Passed expansion value makes range invalid");this.min=e,this.max=i}},o.prototype.range=function(){return this.max-this.min},o.prototype.center=function(){return(this.min+this.max)/2},t.exports=o},function(t,e,i){var o,n,s;!function(i){n=[],o=i,void 0!==(s="function"==typeof o?o.apply(e,n):o)&&(t.exports=s)}(function(){var t=null;return function e(i,o){function n(t){return t.match(/[^ ]+/g)}function s(e){if("hammer.input"!==e.type){if(e.srcEvent._handled||(e.srcEvent._handled={}),e.srcEvent._handled[e.type])return;e.srcEvent._handled[e.type]=!0}var i=!1;e.stopPropagation=function(){i=!0};var o=e.srcEvent.stopPropagation.bind(e.srcEvent);"function"==typeof o&&(e.srcEvent.stopPropagation=function(){o(),e.stopPropagation()}),e.firstTarget=t;for(var n=t;n&&!i;){var s=n.hammer;if(s)for(var r,a=0;a0?d._handlers[t]=o:(i.off(t,s),delete d._handlers[t]))}),d},d.emit=function(e,o){t=o.target,i.emit(e,o)},d.destroy=function(){var t=i.element.hammer,e=t.indexOf(d);-1!==e&&t.splice(e,1),t.length||delete i.element.hammer,d._handlers={},i.destroy()},d}})},function(t,e,i){var o;!function(n,s,r,a){function h(t,e,i){return setTimeout(p(t,i),e)}function d(t,e,i){return!!Array.isArray(t)&&(l(t,i[e],i),!0)}function l(t,e,i){var o;if(t)if(t.forEach)t.forEach(e,i);else if(t.length!==a)for(o=0;o\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",s=n.console&&(n.console.warn||n.console.log);return s&&s.call(n.console,o,i),t.apply(this,arguments)}}function c(t,e,i){var o,n=e.prototype;o=t.prototype=Object.create(n),o.constructor=t,o._super=n,i&&ft(o,i)}function p(t,e){return function(){return t.apply(e,arguments)}}function f(t,e){return typeof t==gt?t.apply(e?e[0]||a:a,e):t}function m(t,e){return t===a?e:t}function v(t,e,i){l(_(e),function(e){t.addEventListener(e,i,!1)})}function g(t,e,i){l(_(e),function(e){t.removeEventListener(e,i,!1)})}function y(t,e){for(;t;){if(t==e)return!0;t=t.parentNode}return!1}function b(t,e){return t.indexOf(e)>-1}function _(t){return t.trim().split(/\s+/g)}function w(t,e,i){if(t.indexOf&&!i)return t.indexOf(e);for(var o=0;oi[e]}):o.sort()),o}function D(t,e){for(var i,o,n=e[0].toUpperCase()+e.slice(1),s=0;s1&&!i.firstMultiple?i.firstMultiple=N(e):1===n&&(i.firstMultiple=!1);var s=i.firstInput,r=i.firstMultiple,a=r?r.center:s.center,h=e.center=R(o);e.timeStamp=_t(),e.deltaTime=e.timeStamp-s.timeStamp,e.angle=F(a,h),e.distance=L(a,h),P(i,e),e.offsetDirection=z(e.deltaX,e.deltaY);var d=A(e.deltaTime,e.deltaX,e.deltaY);e.overallVelocityX=d.x,e.overallVelocityY=d.y,e.overallVelocity=bt(d.x)>bt(d.y)?d.x:d.y,e.scale=r?j(r.pointers,o):1,e.rotation=r?B(r.pointers,o):0,e.maxPointers=i.prevInput?e.pointers.length>i.prevInput.maxPointers?e.pointers.length:i.prevInput.maxPointers:e.pointers.length,I(i,e);var l=t.element;y(e.srcEvent.target,l)&&(l=e.srcEvent.target),e.target=l}function P(t,e){var i=e.center,o=t.offsetDelta||{},n=t.prevDelta||{},s=t.prevInput||{};e.eventType!==Et&&s.eventType!==Pt||(n=t.prevDelta={x:s.deltaX||0,y:s.deltaY||0},o=t.offsetDelta={x:i.x,y:i.y}),e.deltaX=n.x+(i.x-o.x),e.deltaY=n.y+(i.y-o.y)}function I(t,e){var i,o,n,s,r=t.lastInterval||e,h=e.timeStamp-r.timeStamp;if(e.eventType!=It&&(h>Ot||r.velocity===a)){var d=e.deltaX-r.deltaX,l=e.deltaY-r.deltaY,u=A(h,d,l);o=u.x,n=u.y,i=bt(u.x)>bt(u.y)?u.x:u.y,s=z(d,l),t.lastInterval=e}else i=r.velocity,o=r.velocityX,n=r.velocityY,s=r.direction;e.velocity=i,e.velocityX=o,e.velocityY=n,e.direction=s}function N(t){for(var e=[],i=0;i=bt(e)?t<0?Rt:At:e<0?zt:Lt}function L(t,e,i){i||(i=Ht);var o=e[i[0]]-t[i[0]],n=e[i[1]]-t[i[1]];return Math.sqrt(o*o+n*n)}function F(t,e,i){i||(i=Ht);var o=e[i[0]]-t[i[0]],n=e[i[1]]-t[i[1]];return 180*Math.atan2(n,o)/Math.PI}function B(t,e){return F(e[1],e[0],Wt)+F(t[1],t[0],Wt)}function j(t,e){return L(e[0],e[1],Wt)/L(t[0],t[1],Wt)}function H(){this.evEl=Gt,this.evWin=Vt,this.pressed=!1,C.apply(this,arguments)}function W(){this.evEl=Xt,this.evWin=Zt,C.apply(this,arguments), +this.store=this.manager.session.pointerEvents=[]}function Y(){this.evTarget=Jt,this.evWin=$t,this.started=!1,C.apply(this,arguments)}function G(t,e){var i=x(t.touches),o=x(t.changedTouches);return e&(Pt|It)&&(i=k(i.concat(o),"identifier",!0)),[i,o]}function V(){this.evTarget=te,this.targetIds={},C.apply(this,arguments)}function U(t,e){var i=x(t.touches),o=this.targetIds;if(e&(Et|Tt)&&1===i.length)return o[i[0].identifier]=!0,[i,i];var n,s,r=x(t.changedTouches),a=[],h=this.target;if(s=i.filter(function(t){return y(t.target,h)}),e===Et)for(n=0;n-1&&o.splice(t,1)};setTimeout(n,ee)}}function K(t){for(var e=t.srcEvent.clientX,i=t.srcEvent.clientY,o=0;o-1&&this.requireFail.splice(e,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(t){return!!this.simultaneous[t.id]},emit:function(t){function e(e){i.manager.emit(e,t)}var i=this,o=this.state;o=fe&&e(i.options.event+tt(o))},tryEmit:function(t){if(this.canEmit())return this.emit(t);this.state=32},canEmit:function(){for(var t=0;te.threshold&&n&e.direction},attrTest:function(t){return ot.prototype.attrTest.call(this,t)&&(this.state&ce||!(this.state&ce)&&this.directionTest(t))},emit:function(t){this.pX=t.deltaX,this.pY=t.deltaY;var e=et(t.direction);e&&(t.additionalEvent=this.options.event+e),this._super.emit.call(this,t)}}),c(st,ot,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[ae]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.scale-1)>this.options.threshold||this.state&ce)},emit:function(t){if(1!==t.scale){var e=t.scale<1?"in":"out";t.additionalEvent=this.options.event+e}this._super.emit.call(this,t)}}),c(rt,Q,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return[se]},process:function(t){var e=this.options,i=t.pointers.length===e.pointers,o=t.distancee.time;if(this._input=t,!o||!i||t.eventType&(Pt|It)&&!n)this.reset();else if(t.eventType&Et)this.reset(),this._timer=h(function(){this.state=me,this.tryEmit()},e.time,this);else if(t.eventType&Pt)return me;return 32},reset:function(){clearTimeout(this._timer)},emit:function(t){this.state===me&&(t&&t.eventType&Pt?this.manager.emit(this.options.event+"up",t):(this._input.timeStamp=_t(),this.manager.emit(this.options.event,this._input)))}}),c(at,ot,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[ae]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.rotation)>this.options.threshold||this.state&ce)}}),c(ht,ot,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:Ft|Bt,pointers:1},getTouchAction:function(){return nt.prototype.getTouchAction.call(this)},attrTest:function(t){var e,i=this.options.direction;return i&(Ft|Bt)?e=t.overallVelocity:i&Ft?e=t.overallVelocityX:i&Bt&&(e=t.overallVelocityY),this._super.attrTest.call(this,t)&&i&t.offsetDirection&&t.distance>this.options.threshold&&t.maxPointers==this.options.pointers&&bt(e)>this.options.velocity&&t.eventType&Pt},emit:function(t){var e=et(t.offsetDirection);e&&this.manager.emit(this.options.event+e,t),this.manager.emit(this.options.event,t)}}),c(dt,Q,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[re]},process:function(t){var e=this.options,i=t.pointers.length===e.pointers,o=t.distanced+i?s+=h()+u-i+t.itemSet.options.margin.item.vertical:r=!1,s=Math.min(s,o-i),{shouldScroll:r,scrollOffset:s,itemTop:l}}var a=i(9),h=i(2),d=i(11),l=i(12),u=i(64),c=i(65),p=i(46),f=i(67),m=i(47),v=i(99),g=i(15).printStyle,y=i(105).allOptions,b=i(105).configureOptions,_=i(71).default,w=i(15).default;o.prototype=new c,o.prototype._createConfigurator=function(){return new _(this,this.dom.container,b)},o.prototype.redraw=function(){this.itemSet&&this.itemSet.markDirty({refreshItems:!0}),this._redraw()},o.prototype.setOptions=function(t){if(!0===w.validate(t,y)&&console.log("%cErrors have been found in the supplied options object.",g),c.prototype.setOptions.call(this,t),"type"in t&&t.type!==this.options.type){this.options.type=t.type;var e=this.itemsData;if(e){var i=this.getSelection();this.setItems(null),this.setItems(e),this.setSelection(i)}}},o.prototype.setItems=function(t){var e;e=t?t instanceof d||t instanceof l?t:new d(t,{type:{start:"Date",end:"Date"}}):null,this.itemsData=e,this.itemSet&&this.itemSet.setItems(e)},o.prototype.setGroups=function(t){var e;if(t){var i=function(t){return!1!==t.visible};e=t instanceof d||t instanceof l?new l(t,{filter:i}):new d(t.filter(i))}else e=null;this.groupsData=e,this.itemSet.setGroups(e)},o.prototype.setData=function(t){t&&t.groups&&this.setGroups(t.groups),t&&t.items&&this.setItems(t.items)},o.prototype.setSelection=function(t,e){this.itemSet&&this.itemSet.setSelection(t),e&&e.focus&&this.focus(t,e)},o.prototype.getSelection=function(){return this.itemSet&&this.itemSet.getSelection()||[]},o.prototype.focus=function(t,e){if(this.itemsData&&void 0!=t){var i=Array.isArray(t)?t:[t],o=this.itemsData.getDataSet().get(i,{type:{start:"Date",end:"Date"}}),n=null,s=null;if(o.forEach(function(t){var e=t.start.valueOf(),i="end"in t?t.end.valueOf():t.start.valueOf();(null===n||es)&&(s=i)}),null!==n&&null!==s){var a=this,h=this.itemSet.items[i[0]],d=-1*this._getScrollTop(),l=null,u=function(t,e,i){var o=r(a,h);if(l||(l=o),l.itemTop!=o.itemTop||l.shouldScroll){l.itemTop!=o.itemTop&&o.shouldScroll&&(l=o,d=-1*a._getScrollTop());var n=d,s=l.scrollOffset,u=i?s:n+(s-n)*t;a._setScrollTop(-u),e||a._redraw()}},c=function(){var t=r(a,h);t.shouldScroll&&t.itemTop!=l.itemTop&&(a._setScrollTop(-t.scrollOffset),a._redraw())},p=function(){c(),setTimeout(c,100)},f=(n+s)/2,m=Math.max(this.range.end-this.range.start,1.1*(s-n)),v=!e||void 0===e.animation||e.animation;v||(l={shouldScroll:!1,scrollOffset:-1,itemTop:-1}),this.range.setRange(f-m/2,f+m/2,{animation:v},p,u)}}},o.prototype.fit=function(t,e){var i,o=!t||void 0===t.animation||t.animation,n=this.itemsData&&this.itemsData.getDataSet();1===n.length&&void 0===n.get()[0].end?(i=this.getDataRange(),this.moveTo(i.min.valueOf(),{animation:o},e)):(i=this.getItemRange(),this.range.setRange(i.min,i.max,{animation:o},e))},o.prototype.getItemRange=function(){var t=this.getDataRange(),e=null!==t.min?t.min.valueOf():null,i=null!==t.max?t.max.valueOf():null,o=null,r=null;if(null!=e&&null!=i){var a=i-e;a<=0&&(a=10);var d=a/this.props.center.width,l={},u=0;h.forEach(this.itemSet.items,function(t,e){if(t.groupShowing){l[e]=t.redraw(!0),u=l[e].length}});if(u>0)for(var c=0;ci&&(i=h,r=t)}.bind(this)),o&&r){var p=o.getWidthLeft()+10,f=r.getWidthRight()+10,m=this.props.center.width-p-f;m>0&&(this.options.rtl?(e=n(o)-f*a/m,i=s(r)+p*a/m):(e=n(o)-p*a/m,i=s(r)+f*a/m))}}return{min:null!=e?new Date(e):null,max:null!=i?new Date(i):null}},o.prototype.getDataRange=function(){var t=null,e=null,i=this.itemsData&&this.itemsData.getDataSet();return i&&i.forEach(function(i){var o=h.convert(i.start,"Date").valueOf(),n=h.convert(void 0!=i.end?i.end:i.start,"Date").valueOf();(null===t||oe)&&(e=n)}),{min:null!=t?new Date(t):null,max:null!=e?new Date(e):null}},o.prototype.getEventProperties=function(t){var e,i=t.center?t.center.x:t.clientX,o=t.center?t.center.y:t.clientY;e=this.options.rtl?h.getAbsoluteRight(this.dom.centerContainer)-i:i-h.getAbsoluteLeft(this.dom.centerContainer);var n=o-h.getAbsoluteTop(this.dom.centerContainer),s=this.itemSet.itemFromTarget(t),r=this.itemSet.groupFromTarget(t),a=m.customTimeFromTarget(t),d=this.itemSet.options.snap||null,l=this.body.util.getScale(),u=this.body.util.getStep(),c=this._toTime(e),p=d?d(c,l,u):c,f=h.getTarget(t),v=null;return null!=s?v="item":null!=a?v="custom-time":h.hasParent(f,this.timeAxis.dom.foreground)?v="axis":this.timeAxis2&&h.hasParent(f,this.timeAxis2.dom.foreground)?v="axis":h.hasParent(f,this.itemSet.dom.labelSet)?v="group-label":h.hasParent(f,this.currentTime.bar)?v="current-time":h.hasParent(f,this.dom.center)&&(v="background"),{event:t,item:s?s.id:null,group:r?r.groupId:null,what:v,pageX:t.srcEvent?t.srcEvent.pageX:t.pageX,pageY:t.srcEvent?t.srcEvent.pageY:t.pageY,x:e,y:n,time:c,snappedTime:p}},o.prototype.toggleRollingMode=function(){this.range.rolling?this.range.stopRolling():(void 0==this.options.rollingMode&&this.setOptions(this.options),this.range.startRolling())},t.exports=o},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(19),s=o(n),r=i(0),a=o(r),h=i(1),d=o(h),l=i(10),u=i(37),c=i(2),p=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;(0,a.default)(this,t),this.pixelRatio=e,this.generated=!1,this.centerCoordinates={x:144.5,y:144.5},this.r=289*.49,this.color={r:255,g:255,b:255,a:1},this.hueCircle=void 0,this.initialColor={r:255,g:255,b:255,a:1},this.previousColor=void 0,this.applied=!1,this.updateCallback=function(){},this.closeCallback=function(){},this._create()}return(0,d.default)(t,[{key:"insertTo",value:function(t){void 0!==this.hammer&&(this.hammer.destroy(),this.hammer=void 0),this.container=t,this.container.appendChild(this.frame),this._bindHammer(),this._setSize()}},{key:"setUpdateCallback",value:function(t){if("function"!=typeof t)throw new Error("Function attempted to set as colorPicker update callback is not a function.");this.updateCallback=t}},{key:"setCloseCallback",value:function(t){if("function"!=typeof t)throw new Error("Function attempted to set as colorPicker closing callback is not a function.");this.closeCallback=t}},{key:"_isColorString",value:function(t){var e={black:"#000000",navy:"#000080",darkblue:"#00008B",mediumblue:"#0000CD",blue:"#0000FF",darkgreen:"#006400",green:"#008000",teal:"#008080",darkcyan:"#008B8B",deepskyblue:"#00BFFF",darkturquoise:"#00CED1",mediumspringgreen:"#00FA9A",lime:"#00FF00",springgreen:"#00FF7F",aqua:"#00FFFF",cyan:"#00FFFF",midnightblue:"#191970",dodgerblue:"#1E90FF",lightseagreen:"#20B2AA",forestgreen:"#228B22",seagreen:"#2E8B57",darkslategray:"#2F4F4F",limegreen:"#32CD32",mediumseagreen:"#3CB371",turquoise:"#40E0D0",royalblue:"#4169E1",steelblue:"#4682B4",darkslateblue:"#483D8B",mediumturquoise:"#48D1CC",indigo:"#4B0082",darkolivegreen:"#556B2F",cadetblue:"#5F9EA0",cornflowerblue:"#6495ED",mediumaquamarine:"#66CDAA",dimgray:"#696969",slateblue:"#6A5ACD",olivedrab:"#6B8E23",slategray:"#708090",lightslategray:"#778899",mediumslateblue:"#7B68EE",lawngreen:"#7CFC00",chartreuse:"#7FFF00",aquamarine:"#7FFFD4",maroon:"#800000",purple:"#800080",olive:"#808000",gray:"#808080",skyblue:"#87CEEB",lightskyblue:"#87CEFA",blueviolet:"#8A2BE2",darkred:"#8B0000",darkmagenta:"#8B008B",saddlebrown:"#8B4513",darkseagreen:"#8FBC8F",lightgreen:"#90EE90",mediumpurple:"#9370D8",darkviolet:"#9400D3",palegreen:"#98FB98",darkorchid:"#9932CC",yellowgreen:"#9ACD32",sienna:"#A0522D",brown:"#A52A2A",darkgray:"#A9A9A9",lightblue:"#ADD8E6",greenyellow:"#ADFF2F",paleturquoise:"#AFEEEE",lightsteelblue:"#B0C4DE",powderblue:"#B0E0E6",firebrick:"#B22222",darkgoldenrod:"#B8860B",mediumorchid:"#BA55D3",rosybrown:"#BC8F8F",darkkhaki:"#BDB76B",silver:"#C0C0C0",mediumvioletred:"#C71585",indianred:"#CD5C5C",peru:"#CD853F",chocolate:"#D2691E",tan:"#D2B48C",lightgrey:"#D3D3D3",palevioletred:"#D87093",thistle:"#D8BFD8",orchid:"#DA70D6",goldenrod:"#DAA520",crimson:"#DC143C",gainsboro:"#DCDCDC",plum:"#DDA0DD",burlywood:"#DEB887",lightcyan:"#E0FFFF",lavender:"#E6E6FA",darksalmon:"#E9967A",violet:"#EE82EE",palegoldenrod:"#EEE8AA",lightcoral:"#F08080",khaki:"#F0E68C",aliceblue:"#F0F8FF",honeydew:"#F0FFF0",azure:"#F0FFFF",sandybrown:"#F4A460",wheat:"#F5DEB3",beige:"#F5F5DC",whitesmoke:"#F5F5F5",mintcream:"#F5FFFA",ghostwhite:"#F8F8FF",salmon:"#FA8072",antiquewhite:"#FAEBD7",linen:"#FAF0E6",lightgoldenrodyellow:"#FAFAD2",oldlace:"#FDF5E6",red:"#FF0000",fuchsia:"#FF00FF",magenta:"#FF00FF",deeppink:"#FF1493",orangered:"#FF4500",tomato:"#FF6347",hotpink:"#FF69B4",coral:"#FF7F50",darkorange:"#FF8C00",lightsalmon:"#FFA07A",orange:"#FFA500",lightpink:"#FFB6C1",pink:"#FFC0CB",gold:"#FFD700",peachpuff:"#FFDAB9",navajowhite:"#FFDEAD",moccasin:"#FFE4B5",bisque:"#FFE4C4",mistyrose:"#FFE4E1",blanchedalmond:"#FFEBCD",papayawhip:"#FFEFD5",lavenderblush:"#FFF0F5",seashell:"#FFF5EE",cornsilk:"#FFF8DC",lemonchiffon:"#FFFACD",floralwhite:"#FFFAF0",snow:"#FFFAFA",yellow:"#FFFF00",lightyellow:"#FFFFE0",ivory:"#FFFFF0",white:"#FFFFFF"};if("string"==typeof t)return e[t]}},{key:"setColor",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("none"!==t){var i=void 0,o=this._isColorString(t);if(void 0!==o&&(t=o),!0===c.isString(t)){if(!0===c.isValidRGB(t)){var n=t.substr(4).substr(0,t.length-5).split(",");i={r:n[0],g:n[1],b:n[2],a:1}}else if(!0===c.isValidRGBA(t)){var r=t.substr(5).substr(0,t.length-6).split(",");i={r:r[0],g:r[1],b:r[2],a:r[3]}}else if(!0===c.isValidHex(t)){var a=c.hexToRGB(t);i={r:a.r,g:a.g,b:a.b,a:1}}}else if(t instanceof Object&&void 0!==t.r&&void 0!==t.g&&void 0!==t.b){var h=void 0!==t.a?t.a:"1.0";i={r:t.r,g:t.g,b:t.b,a:h}}if(void 0===i)throw new Error("Unknown color passed to the colorPicker. Supported are strings: rgb, hex, rgba. Object: rgb ({r:r,g:g,b:b,[a:a]}). Supplied: "+(0,s.default)(t));this._setColor(i,e)}}},{key:"show",value:function(){void 0!==this.closeCallback&&(this.closeCallback(),this.closeCallback=void 0),this.applied=!1,this.frame.style.display="block",this._generateHueCircle()}},{key:"_hide",value:function(){var t=this;!0===(!(arguments.length>0&&void 0!==arguments[0])||arguments[0])&&(this.previousColor=c.extend({},this.color)),!0===this.applied&&this.updateCallback(this.initialColor),this.frame.style.display="none",setTimeout(function(){void 0!==t.closeCallback&&(t.closeCallback(),t.closeCallback=void 0)},0)}},{key:"_save",value:function(){this.updateCallback(this.color),this.applied=!1,this._hide()}},{key:"_apply",value:function(){this.applied=!0,this.updateCallback(this.color),this._updatePicker(this.color)}},{key:"_loadLast",value:function(){void 0!==this.previousColor?this.setColor(this.previousColor,!1):alert("There is no last color to load...")}},{key:"_setColor",value:function(t){!0===(!(arguments.length>1&&void 0!==arguments[1])||arguments[1])&&(this.initialColor=c.extend({},t)),this.color=t;var e=c.RGBToHSV(t.r,t.g,t.b),i=2*Math.PI,o=this.r*e.s,n=this.centerCoordinates.x+o*Math.sin(i*e.h),s=this.centerCoordinates.y+o*Math.cos(i*e.h);this.colorPickerSelector.style.left=n-.5*this.colorPickerSelector.clientWidth+"px",this.colorPickerSelector.style.top=s-.5*this.colorPickerSelector.clientHeight+"px",this._updatePicker(t)}},{key:"_setOpacity",value:function(t){this.color.a=t/100,this._updatePicker(this.color)}},{key:"_setBrightness",value:function(t){var e=c.RGBToHSV(this.color.r,this.color.g,this.color.b);e.v=t/100;var i=c.HSVToRGB(e.h,e.s,e.v);i.a=this.color.a,this.color=i,this._updatePicker()}},{key:"_updatePicker",value:function(){ +var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.color,e=c.RGBToHSV(t.r,t.g,t.b),i=this.colorPickerCanvas.getContext("2d");void 0===this.pixelRation&&(this.pixelRatio=(window.devicePixelRatio||1)/(i.webkitBackingStorePixelRatio||i.mozBackingStorePixelRatio||i.msBackingStorePixelRatio||i.oBackingStorePixelRatio||i.backingStorePixelRatio||1)),i.setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0);var o=this.colorPickerCanvas.clientWidth,n=this.colorPickerCanvas.clientHeight;i.clearRect(0,0,o,n),i.putImageData(this.hueCircle,0,0),i.fillStyle="rgba(0,0,0,"+(1-e.v)+")",i.circle(this.centerCoordinates.x,this.centerCoordinates.y,this.r),i.fill(),this.brightnessRange.value=100*e.v,this.opacityRange.value=100*t.a,this.initialColorDiv.style.backgroundColor="rgba("+this.initialColor.r+","+this.initialColor.g+","+this.initialColor.b+","+this.initialColor.a+")",this.newColorDiv.style.backgroundColor="rgba("+this.color.r+","+this.color.g+","+this.color.b+","+this.color.a+")"}},{key:"_setSize",value:function(){this.colorPickerCanvas.style.width="100%",this.colorPickerCanvas.style.height="100%",this.colorPickerCanvas.width=289*this.pixelRatio,this.colorPickerCanvas.height=289*this.pixelRatio}},{key:"_create",value:function(){if(this.frame=document.createElement("div"),this.frame.className="vis-color-picker",this.colorPickerDiv=document.createElement("div"),this.colorPickerSelector=document.createElement("div"),this.colorPickerSelector.className="vis-selector",this.colorPickerDiv.appendChild(this.colorPickerSelector),this.colorPickerCanvas=document.createElement("canvas"),this.colorPickerDiv.appendChild(this.colorPickerCanvas),this.colorPickerCanvas.getContext){var t=this.colorPickerCanvas.getContext("2d");this.pixelRatio=(window.devicePixelRatio||1)/(t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1),this.colorPickerCanvas.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.colorPickerCanvas.appendChild(e)}this.colorPickerDiv.className="vis-color",this.opacityDiv=document.createElement("div"),this.opacityDiv.className="vis-opacity",this.brightnessDiv=document.createElement("div"),this.brightnessDiv.className="vis-brightness",this.arrowDiv=document.createElement("div"),this.arrowDiv.className="vis-arrow",this.opacityRange=document.createElement("input");try{this.opacityRange.type="range",this.opacityRange.min="0",this.opacityRange.max="100"}catch(t){}this.opacityRange.value="100",this.opacityRange.className="vis-range",this.brightnessRange=document.createElement("input");try{this.brightnessRange.type="range",this.brightnessRange.min="0",this.brightnessRange.max="100"}catch(t){}this.brightnessRange.value="100",this.brightnessRange.className="vis-range",this.opacityDiv.appendChild(this.opacityRange),this.brightnessDiv.appendChild(this.brightnessRange);var i=this;this.opacityRange.onchange=function(){i._setOpacity(this.value)},this.opacityRange.oninput=function(){i._setOpacity(this.value)},this.brightnessRange.onchange=function(){i._setBrightness(this.value)},this.brightnessRange.oninput=function(){i._setBrightness(this.value)},this.brightnessLabel=document.createElement("div"),this.brightnessLabel.className="vis-label vis-brightness",this.brightnessLabel.innerHTML="brightness:",this.opacityLabel=document.createElement("div"),this.opacityLabel.className="vis-label vis-opacity",this.opacityLabel.innerHTML="opacity:",this.newColorDiv=document.createElement("div"),this.newColorDiv.className="vis-new-color",this.newColorDiv.innerHTML="new",this.initialColorDiv=document.createElement("div"),this.initialColorDiv.className="vis-initial-color",this.initialColorDiv.innerHTML="initial",this.cancelButton=document.createElement("div"),this.cancelButton.className="vis-button vis-cancel",this.cancelButton.innerHTML="cancel",this.cancelButton.onclick=this._hide.bind(this,!1),this.applyButton=document.createElement("div"),this.applyButton.className="vis-button vis-apply",this.applyButton.innerHTML="apply",this.applyButton.onclick=this._apply.bind(this),this.saveButton=document.createElement("div"),this.saveButton.className="vis-button vis-save",this.saveButton.innerHTML="save",this.saveButton.onclick=this._save.bind(this),this.loadButton=document.createElement("div"),this.loadButton.className="vis-button vis-load",this.loadButton.innerHTML="load last",this.loadButton.onclick=this._loadLast.bind(this),this.frame.appendChild(this.colorPickerDiv),this.frame.appendChild(this.arrowDiv),this.frame.appendChild(this.brightnessLabel),this.frame.appendChild(this.brightnessDiv),this.frame.appendChild(this.opacityLabel),this.frame.appendChild(this.opacityDiv),this.frame.appendChild(this.newColorDiv),this.frame.appendChild(this.initialColorDiv),this.frame.appendChild(this.cancelButton),this.frame.appendChild(this.applyButton),this.frame.appendChild(this.saveButton),this.frame.appendChild(this.loadButton)}},{key:"_bindHammer",value:function(){var t=this;this.drag={},this.pinch={},this.hammer=new l(this.colorPickerCanvas),this.hammer.get("pinch").set({enable:!0}),u.onTouch(this.hammer,function(e){t._moveSelector(e)}),this.hammer.on("tap",function(e){t._moveSelector(e)}),this.hammer.on("panstart",function(e){t._moveSelector(e)}),this.hammer.on("panmove",function(e){t._moveSelector(e)}),this.hammer.on("panend",function(e){t._moveSelector(e)})}},{key:"_generateHueCircle",value:function(){if(!1===this.generated){var t=this.colorPickerCanvas.getContext("2d");void 0===this.pixelRation&&(this.pixelRatio=(window.devicePixelRatio||1)/(t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1)),t.setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0);var e=this.colorPickerCanvas.clientWidth,i=this.colorPickerCanvas.clientHeight;t.clearRect(0,0,e,i);var o=void 0,n=void 0,s=void 0,r=void 0;this.centerCoordinates={x:.5*e,y:.5*i},this.r=.49*e;var a=2*Math.PI/360,h=1/this.r,d=void 0;for(s=0;s<360;s++)for(r=0;rr?r:t,e=null==e?r:e0&&l.push(u.screenToValue(n)),!p.hidden&&this.itemsData.length>0&&l.push(p.screenToValue(n)),{event:t,what:d,pageX:t.srcEvent?t.srcEvent.pageX:t.pageX,pageY:t.srcEvent?t.srcEvent.pageY:t.pageY,x:o,y:n,time:r,value:l}},o.prototype._createConfigurator=function(){return new g(this,this.dom.container,v)},t.exports=o},function(t,e,i){e.util=i(2),e.DOMutil=i(14),e.DataSet=i(11),e.DataView=i(12),e.Queue=i(44),e.Network=i(182),e.network={Images:i(116),dotparser:i(114),gephiParser:i(115),allOptions:i(122)},e.network.convertDot=function(t){return e.network.dotparser.DOTToGraph(t)},e.network.convertGephi=function(t,i){return e.network.gephiParser.parseGephi(t,i)},e.moment=i(9),e.Hammer=i(10),e.keycharm=i(35)},function(t,e,i){function o(t,e,i){var n=this;if(!(this instanceof o))throw new SyntaxError("Constructor must be called with the new operator");this.options={},this.defaultOptions={locale:"en",locales:d,clickToUse:!1},s.extend(this.options,this.defaultOptions),this.body={container:t,nodes:{},nodeIndices:[],edges:{},edgeIndices:[],emitter:{on:this.on.bind(this),off:this.off.bind(this),emit:this.emit.bind(this),once:this.once.bind(this)},eventListeners:{onTap:function(){},onTouch:function(){},onDoubleTap:function(){},onHold:function(){},onDragStart:function(){},onDrag:function(){},onDragEnd:function(){},onMouseWheel:function(){},onPinch:function(){},onMouseMove:function(){},onRelease:function(){},onContext:function(){}},data:{nodes:null,edges:null},functions:{createNode:function(){},createEdge:function(){},getPointer:function(){}},modules:{},view:{scale:1,translation:{x:0,y:0}}},this.bindEventListeners(),this.images=new l(function(){return n.body.emitter.emit("_requestRedraw")}),this.groups=new u,this.canvas=new g(this.body),this.selectionHandler=new _(this.body,this.canvas),this.interactionHandler=new b(this.body,this.canvas,this.selectionHandler),this.view=new y(this.body,this.canvas),this.renderer=new v(this.body,this.canvas),this.physics=new f(this.body),this.layoutEngine=new w(this.body),this.clustering=new m(this.body),this.manipulation=new x(this.body,this.canvas,this.selectionHandler),this.nodesHandler=new c(this.body,this.images,this.groups,this.layoutEngine),this.edgesHandler=new p(this.body,this.images,this.groups),this.body.modules.kamadaKawai=new T(this.body,150,.05),this.body.modules.clustering=this.clustering,this.canvas._create(),this.setOptions(i),this.setData(e)}i(183);var n=i(45),s=i(2),r=i(114),a=i(115),h=i(97),d=i(184),l=i(116).default,u=i(186).default,c=i(187).default,p=i(214).default,f=i(220).default,m=i(227).default,v=i(229).default,g=i(230).default,y=i(231).default,b=i(232).default,_=i(234).default,w=i(235).default,x=i(237).default,k=i(71).default,D=i(15).default,S=i(15),M=S.printStyle,C=i(122),O=C.allOptions,E=C.configureOptions,T=i(238).default;n(o.prototype),o.prototype.setOptions=function(t){var e=this;if(void 0!==t){!0===D.validate(t,O)&&console.log("%cErrors have been found in the supplied options object.",M);var i=["locale","locales","clickToUse"];if(s.selectiveDeepExtend(i,this.options,t),t=this.layoutEngine.setOptions(t.layout,t),this.canvas.setOptions(t),this.groups.setOptions(t.groups),this.nodesHandler.setOptions(t.nodes),this.edgesHandler.setOptions(t.edges),this.physics.setOptions(t.physics),this.manipulation.setOptions(t.manipulation,t,this.options),this.interactionHandler.setOptions(t.interaction),this.renderer.setOptions(t.interaction),this.selectionHandler.setOptions(t.interaction),void 0!==t.groups&&this.body.emitter.emit("refreshNodes"),"configure"in t&&(this.configurator||(this.configurator=new k(this,this.body.container,E,this.canvas.pixelRatio)),this.configurator.setOptions(t.configure)),this.configurator&&!0===this.configurator.options.enabled){var o={nodes:{},edges:{},layout:{},interaction:{},manipulation:{},physics:{},global:{}};s.deepExtend(o.nodes,this.nodesHandler.options),s.deepExtend(o.edges,this.edgesHandler.options),s.deepExtend(o.layout,this.layoutEngine.options),s.deepExtend(o.interaction,this.selectionHandler.options),s.deepExtend(o.interaction,this.renderer.options),s.deepExtend(o.interaction,this.interactionHandler.options),s.deepExtend(o.manipulation,this.manipulation.options),s.deepExtend(o.physics,this.physics.options),s.deepExtend(o.global,this.canvas.options),s.deepExtend(o.global,this.options),this.configurator.setModuleOptions(o)}void 0!==t.clickToUse?!0===t.clickToUse?void 0===this.activator&&(this.activator=new h(this.canvas.frame),this.activator.on("change",function(){e.body.emitter.emit("activate")})):(void 0!==this.activator&&(this.activator.destroy(),delete this.activator),this.body.emitter.emit("activate")):this.body.emitter.emit("activate"),this.canvas.setSize(),this.body.emitter.emit("startSimulation")}},o.prototype._updateVisibleIndices=function(){var t=this.body.nodes,e=this.body.edges;this.body.nodeIndices=[],this.body.edgeIndices=[];for(var i in t)t.hasOwnProperty(i)&&(this.clustering._isClusteredNode(i)||!1!==t[i].options.hidden||this.body.nodeIndices.push(t[i].id));for(var o in e)if(e.hasOwnProperty(o)){var n=e[o],s=t[n.fromId],r=t[n.toId],a=void 0!==s&&void 0!==r,h=!this.clustering._isClusteredEdge(o)&&!1===n.options.hidden&&a&&!1===s.options.hidden&&!1===r.options.hidden;h&&this.body.edgeIndices.push(n.id)}},o.prototype.bindEventListeners=function(){var t=this;this.body.emitter.on("_dataChanged",function(){t.edgesHandler._updateState(),t.body.emitter.emit("_dataUpdated")}),this.body.emitter.on("_dataUpdated",function(){t.clustering._updateState(),t._updateVisibleIndices(),t._updateValueRange(t.body.nodes),t._updateValueRange(t.body.edges),t.body.emitter.emit("startSimulation"),t.body.emitter.emit("_requestRedraw")})},o.prototype.setData=function(t){if(this.body.emitter.emit("resetPhysics"),this.body.emitter.emit("_resetData"),this.selectionHandler.unselectAll(),t&&t.dot&&(t.nodes||t.edges))throw new SyntaxError('Data must contain either parameter "dot" or parameter pair "nodes" and "edges", but not both.');if(this.setOptions(t&&t.options),t&&t.dot){console.log("The dot property has been deprecated. Please use the static convertDot method to convert DOT into vis.network format and use the normal data format with nodes and edges. This converter is used like this: var data = vis.network.convertDot(dotString);");var e=r.DOTToGraph(t.dot);return void this.setData(e)}if(t&&t.gephi){console.log("The gephi property has been deprecated. Please use the static convertGephi method to convert gephi into vis.network format and use the normal data format with nodes and edges. This converter is used like this: var data = vis.network.convertGephi(gephiJson);");var i=a.parseGephi(t.gephi);return void this.setData(i)}this.nodesHandler.setData(t&&t.nodes,!0),this.edgesHandler.setData(t&&t.edges,!0),this.body.emitter.emit("_dataChanged"),this.body.emitter.emit("_dataLoaded"),this.body.emitter.emit("initPhysics")},o.prototype.destroy=function(){this.body.emitter.emit("destroy"),this.body.emitter.off(),this.off(),delete this.groups,delete this.canvas,delete this.selectionHandler,delete this.interactionHandler,delete this.view,delete this.renderer,delete this.physics,delete this.layoutEngine,delete this.clustering,delete this.manipulation,delete this.nodesHandler,delete this.edgesHandler,delete this.configurator,delete this.images;for(var t in this.body.nodes)this.body.nodes.hasOwnProperty(t)&&delete this.body.nodes[t];for(var e in this.body.edges)this.body.edges.hasOwnProperty(e)&&delete this.body.edges[e];s.recursiveDOMDelete(this.body.container)},o.prototype._updateValueRange=function(t){var e,i=void 0,o=void 0,n=0;for(e in t)if(t.hasOwnProperty(e)){var s=t[e].getValue();void 0!==s&&(i=void 0===i?s:Math.min(s,i),o=void 0===o?s:Math.max(s,o),n+=s)}if(void 0!==i&&void 0!==o)for(e in t)t.hasOwnProperty(e)&&t[e].setValueRange(i,o,n)},o.prototype.isActive=function(){return!this.activator||this.activator.active},o.prototype.setSize=function(){return this.canvas.setSize.apply(this.canvas,arguments)},o.prototype.canvasToDOM=function(){return this.canvas.canvasToDOM.apply(this.canvas,arguments)},o.prototype.DOMtoCanvas=function(){return this.canvas.DOMtoCanvas.apply(this.canvas,arguments)},o.prototype.findNode=function(){return this.clustering.findNode.apply(this.clustering,arguments)},o.prototype.isCluster=function(){return this.clustering.isCluster.apply(this.clustering,arguments)},o.prototype.openCluster=function(){return this.clustering.openCluster.apply(this.clustering,arguments)},o.prototype.cluster=function(){return this.clustering.cluster.apply(this.clustering,arguments)},o.prototype.getNodesInCluster=function(){return this.clustering.getNodesInCluster.apply(this.clustering,arguments)},o.prototype.clusterByConnection=function(){return this.clustering.clusterByConnection.apply(this.clustering,arguments)},o.prototype.clusterByHubsize=function(){return this.clustering.clusterByHubsize.apply(this.clustering,arguments)},o.prototype.clusterOutliers=function(){return this.clustering.clusterOutliers.apply(this.clustering,arguments)},o.prototype.getSeed=function(){return this.layoutEngine.getSeed.apply(this.layoutEngine,arguments)},o.prototype.enableEditMode=function(){return this.manipulation.enableEditMode.apply(this.manipulation,arguments)},o.prototype.disableEditMode=function(){return this.manipulation.disableEditMode.apply(this.manipulation,arguments)},o.prototype.addNodeMode=function(){return this.manipulation.addNodeMode.apply(this.manipulation,arguments)},o.prototype.editNode=function(){return this.manipulation.editNode.apply(this.manipulation,arguments)},o.prototype.editNodeMode=function(){return console.log("Deprecated: Please use editNode instead of editNodeMode."),this.manipulation.editNode.apply(this.manipulation,arguments)},o.prototype.addEdgeMode=function(){return this.manipulation.addEdgeMode.apply(this.manipulation,arguments)},o.prototype.editEdgeMode=function(){return this.manipulation.editEdgeMode.apply(this.manipulation,arguments)},o.prototype.deleteSelected=function(){return this.manipulation.deleteSelected.apply(this.manipulation,arguments)},o.prototype.getPositions=function(){return this.nodesHandler.getPositions.apply(this.nodesHandler,arguments)},o.prototype.storePositions=function(){return this.nodesHandler.storePositions.apply(this.nodesHandler,arguments)},o.prototype.moveNode=function(){return this.nodesHandler.moveNode.apply(this.nodesHandler,arguments)},o.prototype.getBoundingBox=function(){return this.nodesHandler.getBoundingBox.apply(this.nodesHandler,arguments)},o.prototype.getConnectedNodes=function(t){return void 0!==this.body.nodes[t]?this.nodesHandler.getConnectedNodes.apply(this.nodesHandler,arguments):this.edgesHandler.getConnectedNodes.apply(this.edgesHandler,arguments)},o.prototype.getConnectedEdges=function(){return this.nodesHandler.getConnectedEdges.apply(this.nodesHandler,arguments)},o.prototype.startSimulation=function(){return this.physics.startSimulation.apply(this.physics,arguments)},o.prototype.stopSimulation=function(){return this.physics.stopSimulation.apply(this.physics,arguments)},o.prototype.stabilize=function(){return this.physics.stabilize.apply(this.physics,arguments)},o.prototype.getSelection=function(){return this.selectionHandler.getSelection.apply(this.selectionHandler,arguments)},o.prototype.setSelection=function(){return this.selectionHandler.setSelection.apply(this.selectionHandler,arguments)},o.prototype.getSelectedNodes=function(){return this.selectionHandler.getSelectedNodes.apply(this.selectionHandler,arguments)},o.prototype.getSelectedEdges=function(){return this.selectionHandler.getSelectedEdges.apply(this.selectionHandler,arguments)},o.prototype.getNodeAt=function(){var t=this.selectionHandler.getNodeAt.apply(this.selectionHandler,arguments);return void 0!==t&&void 0!==t.id?t.id:t},o.prototype.getEdgeAt=function(){var t=this.selectionHandler.getEdgeAt.apply(this.selectionHandler,arguments);return void 0!==t&&void 0!==t.id?t.id:t},o.prototype.selectNodes=function(){return this.selectionHandler.selectNodes.apply(this.selectionHandler,arguments)},o.prototype.selectEdges=function(){return this.selectionHandler.selectEdges.apply(this.selectionHandler,arguments)},o.prototype.unselectAll=function(){this.selectionHandler.unselectAll.apply(this.selectionHandler,arguments),this.redraw()},o.prototype.redraw=function(){return this.renderer.redraw.apply(this.renderer,arguments)},o.prototype.getScale=function(){return this.view.getScale.apply(this.view,arguments)},o.prototype.getViewPosition=function(){return this.view.getViewPosition.apply(this.view,arguments)},o.prototype.fit=function(){return this.view.fit.apply(this.view,arguments)},o.prototype.moveTo=function(){return this.view.moveTo.apply(this.view,arguments)},o.prototype.focus=function(){return this.view.focus.apply(this.view,arguments)},o.prototype.releaseNode=function(){return this.view.releaseNode.apply(this.view,arguments)},o.prototype.getOptionsFromConfigurator=function(){var t={};return this.configurator&&(t=this.configurator.getOptions.apply(this.configurator)),t},t.exports=o},function(t,e,i){"undefined"!=typeof CanvasRenderingContext2D&&(CanvasRenderingContext2D.prototype.circle=function(t,e,i){this.beginPath(),this.arc(t,e,i,0,2*Math.PI,!1),this.closePath()},CanvasRenderingContext2D.prototype.square=function(t,e,i){this.beginPath(),this.rect(t-i,e-i,2*i,2*i),this.closePath()},CanvasRenderingContext2D.prototype.triangle=function(t,e,i){this.beginPath(),i*=1.15,e+=.275*i;var o=2*i,n=o/2,s=Math.sqrt(3)/6*o,r=Math.sqrt(o*o-n*n);this.moveTo(t,e-(r-s)),this.lineTo(t+n,e+s),this.lineTo(t-n,e+s),this.lineTo(t,e-(r-s)),this.closePath()},CanvasRenderingContext2D.prototype.triangleDown=function(t,e,i){this.beginPath(),i*=1.15,e-=.275*i;var o=2*i,n=o/2,s=Math.sqrt(3)/6*o,r=Math.sqrt(o*o-n*n);this.moveTo(t,e+(r-s)),this.lineTo(t+n,e-s),this.lineTo(t-n,e-s),this.lineTo(t,e+(r-s)),this.closePath()},CanvasRenderingContext2D.prototype.star=function(t,e,i){this.beginPath(),i*=.82,e+=.1*i;for(var o=0;o<10;o++){var n=o%2==0?1.3*i:.5*i;this.lineTo(t+n*Math.sin(2*o*Math.PI/10),e-n*Math.cos(2*o*Math.PI/10))}this.closePath()},CanvasRenderingContext2D.prototype.diamond=function(t,e,i){this.beginPath(),this.lineTo(t,e+i),this.lineTo(t+i,e),this.lineTo(t,e-i),this.lineTo(t-i,e),this.closePath()},CanvasRenderingContext2D.prototype.roundRect=function(t,e,i,o,n){var s=Math.PI/180;i-2*n<0&&(n=i/2),o-2*n<0&&(n=o/2),this.beginPath(),this.moveTo(t+n,e),this.lineTo(t+i-n,e),this.arc(t+i-n,e+n,n,270*s,360*s,!1),this.lineTo(t+i,e+o-n),this.arc(t+i-n,e+o-n,n,0,90*s,!1),this.lineTo(t+n,e+o),this.arc(t+n,e+o-n,n,90*s,180*s,!1),this.lineTo(t,e+n),this.arc(t+n,e+n,n,180*s,270*s,!1),this.closePath()},CanvasRenderingContext2D.prototype.ellipse_vis=function(t,e,i,o){var n=i/2*.5522848,s=o/2*.5522848,r=t+i,a=e+o,h=t+i/2,d=e+o/2;this.beginPath(),this.moveTo(t,d),this.bezierCurveTo(t,d-s,h-n,e,h,e),this.bezierCurveTo(h+n,e,r,d-s,r,d),this.bezierCurveTo(r,d+s,h+n,a,h,a),this.bezierCurveTo(h-n,a,t,d+s,t,d),this.closePath()},CanvasRenderingContext2D.prototype.database=function(t,e,i,o){var n=i,s=o*(1/3),r=n/2*.5522848,a=s/2*.5522848,h=t+n,d=e+s,l=t+n/2,u=e+s/2,c=e+(o-s/2),p=e+o;this.beginPath(),this.moveTo(h,u),this.bezierCurveTo(h,u+a,l+r,d,l,d),this.bezierCurveTo(l-r,d,t,u+a,t,u),this.bezierCurveTo(t,u-a,l-r,e,l,e),this.bezierCurveTo(l+r,e,h,u-a,h,u),this.lineTo(h,c),this.bezierCurveTo(h,c+a,l+r,p,l,p),this.bezierCurveTo(l-r,p,t,c+a,t,c),this.lineTo(t,u)},CanvasRenderingContext2D.prototype.dashedLine=function(t,e,i,o,n){this.beginPath(),this.moveTo(t,e);for(var s=n.length,r=i-t,a=o-e,h=a/r,d=Math.sqrt(r*r+a*a),l=0,u=!0,c=0,p=n[0];d>=.1;)p=n[l++%s],p>d&&(p=d),c=Math.sqrt(p*p/(1+h*h)),c=r<0?-c:c,t+=c,e+=h*c,!0===u?this.lineTo(t,e):this.moveTo(t,e),d-=p,u=!u},CanvasRenderingContext2D.prototype.hexagon=function(t,e,i){this.beginPath();var o=2*Math.PI/6;this.moveTo(t+i,e);for(var n=1;n<6;n++)this.lineTo(t+i*Math.cos(o*n),e+i*Math.sin(o*n));this.closePath()})},function(t,e,i){e.en={edit:"Edit",del:"Delete selected",back:"Back",addNode:"Add Node",addEdge:"Add Edge",editNode:"Edit Node",editEdge:"Edit Edge",addDescription:"Click in an empty space to place a new node.",edgeDescription:"Click on a node and drag the edge to another node to connect them.",editEdgeDescription:"Click on the control points and drag them to a node to connect to it.",createEdgeError:"Cannot link edges to a cluster.",deleteClusterError:"Clusters cannot be deleted.",editClusterError:"Clusters cannot be edited."},e.en_EN=e.en,e.en_US=e.en,e.de={edit:"Editieren",del:"Lösche Auswahl",back:"Zurück",addNode:"Knoten hinzufügen",addEdge:"Kante hinzufügen",editNode:"Knoten editieren",editEdge:"Kante editieren",addDescription:"Klicke auf eine freie Stelle, um einen neuen Knoten zu plazieren.",edgeDescription:"Klicke auf einen Knoten und ziehe die Kante zu einem anderen Knoten, um diese zu verbinden.",editEdgeDescription:"Klicke auf die Verbindungspunkte und ziehe diese auf einen Knoten, um sie zu verbinden.",createEdgeError:"Es ist nicht möglich, Kanten mit Clustern zu verbinden.",deleteClusterError:"Cluster können nicht gelöscht werden.",editClusterError:"Cluster können nicht editiert werden."},e.de_DE=e.de,e.es={edit:"Editar",del:"Eliminar selección",back:"Átras",addNode:"Añadir nodo",addEdge:"Añadir arista",editNode:"Editar nodo",editEdge:"Editar arista",addDescription:"Haga clic en un lugar vacío para colocar un nuevo nodo.",edgeDescription:"Haga clic en un nodo y arrastre la arista hacia otro nodo para conectarlos.",editEdgeDescription:"Haga clic en un punto de control y arrastrelo a un nodo para conectarlo.",createEdgeError:"No se puede conectar una arista a un grupo.",deleteClusterError:"No es posible eliminar grupos.",editClusterError:"No es posible editar grupos."},e.es_ES=e.es,e.it={edit:"Modifica",del:"Cancella la selezione",back:"Indietro",addNode:"Aggiungi un nodo",addEdge:"Aggiungi un vertice",editNode:"Modifica il nodo",editEdge:"Modifica il vertice",addDescription:"Clicca per aggiungere un nuovo nodo",edgeDescription:"Clicca su un nodo e trascinalo ad un altro nodo per connetterli.",editEdgeDescription:"Clicca sui Punti di controllo e trascinali ad un nodo per connetterli.",createEdgeError:"Non si possono collegare vertici ad un cluster",deleteClusterError:"I cluster non possono essere cancellati",editClusterError:"I clusters non possono essere modificati."},e.it_IT=e.it,e.nl={edit:"Wijzigen",del:"Selectie verwijderen",back:"Terug",addNode:"Node toevoegen",addEdge:"Link toevoegen",editNode:"Node wijzigen",editEdge:"Link wijzigen",addDescription:"Klik op een leeg gebied om een nieuwe node te maken.",edgeDescription:"Klik op een node en sleep de link naar een andere node om ze te verbinden.",editEdgeDescription:"Klik op de verbindingspunten en sleep ze naar een node om daarmee te verbinden.",createEdgeError:"Kan geen link maken naar een cluster.",deleteClusterError:"Clusters kunnen niet worden verwijderd.",editClusterError:"Clusters kunnen niet worden aangepast."},e.nl_NL=e.nl,e.nl_BE=e.nl,e["pt-br"]={edit:"Editar",del:"Remover selecionado",back:"Voltar",addNode:"Adicionar nó",addEdge:"Adicionar aresta",editNode:"Editar nó",editEdge:"Editar aresta",addDescription:"Clique em um espaço em branco para adicionar um novo nó",edgeDescription:"Clique em um nó e arraste a aresta até outro nó para conectá-los",editEdgeDescription:"Clique nos pontos de controle e os arraste para um nó para conectá-los",createEdgeError:"Não foi possível linkar arestas a um cluster.",deleteClusterError:"Clusters não puderam ser removidos.",editClusterError:"Clusters não puderam ser editados."},e["pt-BR"]=e["pt-br"],e.pt_BR=e["pt-br"],e.pt_br=e["pt-br"],e.ru={edit:"Редактировать",del:"Удалить выбранное",back:"Назад",addNode:"Добавить узел",addEdge:"Добавить ребро",editNode:"Редактировать узел",editEdge:"Редактировать ребро",addDescription:"Кликните в свободное место, чтобы добавить новый узел.",edgeDescription:"Кликните на узел и протяните ребро к другому узлу, чтобы соединить их.",editEdgeDescription:"Кликните на контрольные точки и перетащите их в узел, чтобы подключиться к нему.",createEdgeError:"Невозможно соединить ребра в кластер.",deleteClusterError:"Кластеры не могут быть удалены",editClusterError:"Кластеры недоступны для редактирования."},e.ru_RU=e.ru,e.cn={edit:"编辑", +del:"删除选定",back:"返回",addNode:"添加节点",addEdge:"添加连接线",editNode:"编辑节点",editEdge:"编辑连接线",addDescription:"单击空白处放置新节点。",edgeDescription:"单击某个节点并将该连接线拖动到另一个节点以连接它们。",editEdgeDescription:"单击控制节点并将它们拖到节点上连接。",createEdgeError:"无法将连接线连接到群集。",deleteClusterError:"无法删除群集。",editClusterError:"无法编辑群集。"},e.zh_CN=e.cn},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(0),s=o(n),r=i(1),a=o(r),h=function(){function t(){(0,s.default)(this,t),this.NUM_ITERATIONS=4,this.image=new Image,this.canvas=document.createElement("canvas")}return(0,a.default)(t,[{key:"init",value:function(){if(!this.initialized()){this.src=this.image.src;var t=this.image.width,e=this.image.height;this.width=t,this.height=e;var i=Math.floor(e/2),o=Math.floor(e/4),n=Math.floor(e/8),s=Math.floor(e/16),r=Math.floor(t/2),a=Math.floor(t/4),h=Math.floor(t/8),d=Math.floor(t/16);this.canvas.width=3*a,this.canvas.height=i,this.coordinates=[[0,0,r,i],[r,0,a,o],[r,o,h,n],[5*h,o,d,s]],this._fillMipMap()}}},{key:"initialized",value:function(){return void 0!==this.coordinates}},{key:"_fillMipMap",value:function(){var t=this.canvas.getContext("2d"),e=this.coordinates[0];t.drawImage(this.image,e[0],e[1],e[2],e[3]);for(var i=1;i2){e*=.5;for(var r=0;e>2&&r=this.NUM_ITERATIONS&&(r=this.NUM_ITERATIONS-1);var a=this.coordinates[r];t.drawImage(this.canvas,a[0],a[1],a[2],a[3],i,o,n,s)}else t.drawImage(this.image,i,o,n,s)}}]),t}();e.default=h},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(0),s=o(n),r=i(1),a=o(r),h=i(2),d=function(){function t(){(0,s.default)(this,t),this.clear(),this.defaultIndex=0,this.groupsArray=[],this.groupIndex=0,this.defaultGroups=[{border:"#2B7CE9",background:"#97C2FC",highlight:{border:"#2B7CE9",background:"#D2E5FF"},hover:{border:"#2B7CE9",background:"#D2E5FF"}},{border:"#FFA500",background:"#FFFF00",highlight:{border:"#FFA500",background:"#FFFFA3"},hover:{border:"#FFA500",background:"#FFFFA3"}},{border:"#FA0A10",background:"#FB7E81",highlight:{border:"#FA0A10",background:"#FFAFB1"},hover:{border:"#FA0A10",background:"#FFAFB1"}},{border:"#41A906",background:"#7BE141",highlight:{border:"#41A906",background:"#A1EC76"},hover:{border:"#41A906",background:"#A1EC76"}},{border:"#E129F0",background:"#EB7DF4",highlight:{border:"#E129F0",background:"#F0B3F5"},hover:{border:"#E129F0",background:"#F0B3F5"}},{border:"#7C29F0",background:"#AD85E4",highlight:{border:"#7C29F0",background:"#D3BDF0"},hover:{border:"#7C29F0",background:"#D3BDF0"}},{border:"#C37F00",background:"#FFA807",highlight:{border:"#C37F00",background:"#FFCA66"},hover:{border:"#C37F00",background:"#FFCA66"}},{border:"#4220FB",background:"#6E6EFD",highlight:{border:"#4220FB",background:"#9B9BFD"},hover:{border:"#4220FB",background:"#9B9BFD"}},{border:"#FD5A77",background:"#FFC0CB",highlight:{border:"#FD5A77",background:"#FFD1D9"},hover:{border:"#FD5A77",background:"#FFD1D9"}},{border:"#4AD63A",background:"#C2FABC",highlight:{border:"#4AD63A",background:"#E6FFE3"},hover:{border:"#4AD63A",background:"#E6FFE3"}},{border:"#990000",background:"#EE0000",highlight:{border:"#BB0000",background:"#FF3333"},hover:{border:"#BB0000",background:"#FF3333"}},{border:"#FF6000",background:"#FF6000",highlight:{border:"#FF6000",background:"#FF6000"},hover:{border:"#FF6000",background:"#FF6000"}},{border:"#97C2FC",background:"#2B7CE9",highlight:{border:"#D2E5FF",background:"#2B7CE9"},hover:{border:"#D2E5FF",background:"#2B7CE9"}},{border:"#399605",background:"#255C03",highlight:{border:"#399605",background:"#255C03"},hover:{border:"#399605",background:"#255C03"}},{border:"#B70054",background:"#FF007E",highlight:{border:"#B70054",background:"#FF007E"},hover:{border:"#B70054",background:"#FF007E"}},{border:"#AD85E4",background:"#7C29F0",highlight:{border:"#D3BDF0",background:"#7C29F0"},hover:{border:"#D3BDF0",background:"#7C29F0"}},{border:"#4557FA",background:"#000EA1",highlight:{border:"#6E6EFD",background:"#000EA1"},hover:{border:"#6E6EFD",background:"#000EA1"}},{border:"#FFC0CB",background:"#FD5A77",highlight:{border:"#FFD1D9",background:"#FD5A77"},hover:{border:"#FFD1D9",background:"#FD5A77"}},{border:"#C2FABC",background:"#74D66A",highlight:{border:"#E6FFE3",background:"#74D66A"},hover:{border:"#E6FFE3",background:"#74D66A"}},{border:"#EE0000",background:"#990000",highlight:{border:"#FF3333",background:"#BB0000"},hover:{border:"#FF3333",background:"#BB0000"}}],this.options={},this.defaultOptions={useDefaultGroups:!0},h.extend(this.options,this.defaultOptions)}return(0,a.default)(t,[{key:"setOptions",value:function(t){var e=["useDefaultGroups"];if(void 0!==t)for(var i in t)if(t.hasOwnProperty(i)&&-1===e.indexOf(i)){var o=t[i];this.add(i,o)}}},{key:"clear",value:function(){this.groups={},this.groupsArray=[]}},{key:"get",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=this.groups[t];if(void 0===i&&e)if(!1===this.options.useDefaultGroups&&this.groupsArray.length>0){var o=this.groupIndex%this.groupsArray.length;this.groupIndex++,i={},i.color=this.groups[this.groupsArray[o]],this.groups[t]=i}else{var n=this.defaultIndex%this.defaultGroups.length;this.defaultIndex++,i={},i.color=this.defaultGroups[n],this.groups[t]=i}return i}},{key:"add",value:function(t,e){return this.groups[t]=e,this.groupsArray.push(t),e}}]),t}();e.default=d},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(0),s=o(n),r=i(1),a=o(r),h=i(2),d=i(11),l=i(12),u=i(48).default,c=function(){function t(e,i,o,n){var r=this;if((0,s.default)(this,t),this.body=e,this.images=i,this.groups=o,this.layoutEngine=n,this.body.functions.createNode=this.create.bind(this),this.nodesListeners={add:function(t,e){r.add(e.items)},update:function(t,e){r.update(e.items,e.data,e.oldData)},remove:function(t,e){r.remove(e.items)}},this.defaultOptions={borderWidth:1,borderWidthSelected:2,brokenImage:void 0,color:{border:"#2B7CE9",background:"#97C2FC",highlight:{border:"#2B7CE9",background:"#D2E5FF"},hover:{border:"#2B7CE9",background:"#D2E5FF"}},fixed:{x:!1,y:!1},font:{color:"#343434",size:14,face:"arial",background:"none",strokeWidth:0,strokeColor:"#ffffff",align:"center",vadjust:0,multi:!1,bold:{mod:"bold"},boldital:{mod:"bold italic"},ital:{mod:"italic"},mono:{mod:"",size:15,face:"monospace",vadjust:2}},group:void 0,hidden:!1,icon:{face:"FontAwesome",code:void 0,size:50,color:"#2B7CE9"},image:void 0,label:void 0,labelHighlightBold:!0,level:void 0,margin:{top:5,right:5,bottom:5,left:5},mass:1,physics:!0,scaling:{min:10,max:30,label:{enabled:!1,min:14,max:30,maxVisible:30,drawThreshold:5},customScalingFunction:function(t,e,i,o){if(e===t)return.5;var n=1/(e-t);return Math.max(0,(o-t)*n)}},shadow:{enabled:!1,color:"rgba(0,0,0,0.5)",size:10,x:5,y:5},shape:"ellipse",shapeProperties:{borderDashes:!1,borderRadius:6,interpolation:!0,useImageSize:!1,useBorderWithImage:!1},size:25,title:void 0,value:void 0,x:void 0,y:void 0},this.defaultOptions.mass<=0)throw"Internal error: mass in defaultOptions of NodesHandler may not be zero or negative";this.options=h.bridgeObject(this.defaultOptions),this.bindEventListeners()}return(0,a.default)(t,[{key:"bindEventListeners",value:function(){var t=this;this.body.emitter.on("refreshNodes",this.refresh.bind(this)),this.body.emitter.on("refresh",this.refresh.bind(this)),this.body.emitter.on("destroy",function(){h.forEach(t.nodesListeners,function(e,i){t.body.data.nodes&&t.body.data.nodes.off(i,e)}),delete t.body.functions.createNode,delete t.nodesListeners.add,delete t.nodesListeners.update,delete t.nodesListeners.remove,delete t.nodesListeners})}},{key:"setOptions",value:function(t){if(void 0!==t){if(u.parseOptions(this.options,t),void 0!==t.shape)for(var e in this.body.nodes)this.body.nodes.hasOwnProperty(e)&&this.body.nodes[e].updateShape();if(void 0!==t.font)for(var i in this.body.nodes)this.body.nodes.hasOwnProperty(i)&&(this.body.nodes[i].updateLabelModule(),this.body.nodes[i].needsRefresh());if(void 0!==t.size)for(var o in this.body.nodes)this.body.nodes.hasOwnProperty(o)&&this.body.nodes[o].needsRefresh();void 0===t.hidden&&void 0===t.physics||this.body.emitter.emit("_dataChanged")}}},{key:"setData",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=this.body.data.nodes;if(t instanceof d||t instanceof l)this.body.data.nodes=t;else if(Array.isArray(t))this.body.data.nodes=new d,this.body.data.nodes.add(t);else{if(t)throw new TypeError("Array or DataSet expected");this.body.data.nodes=new d}if(i&&h.forEach(this.nodesListeners,function(t,e){i.off(e,t)}),this.body.nodes={},this.body.data.nodes){var o=this;h.forEach(this.nodesListeners,function(t,e){o.body.data.nodes.on(e,t)});var n=this.body.data.nodes.getIds();this.add(n,!0)}!1===e&&this.body.emitter.emit("_dataChanged")}},{key:"add",value:function(t){for(var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=void 0,o=[],n=0;n1&&void 0!==arguments[1]?arguments[1]:u)(t,this.body,this.images,this.groups,this.options,this.defaultOptions)}},{key:"refresh",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];h.forEach(this.body.nodes,function(i,o){var n=t.body.data.nodes.get(o);void 0!==n&&(!0===e&&i.setOptions({x:null,y:null}),i.setOptions({fixed:!1}),i.setOptions(n))})}},{key:"getPositions",value:function(t){var e={};if(void 0!==t){if(!0===Array.isArray(t)){for(var i=0;i0)for(var r=0;r0)for(var p=0;p0&&void 0!==arguments[0]&&arguments[0];this.spacing&&(this.add(" "),this.spacing=!1),this.buffer.length>0&&(e.push({text:this.buffer,mod:this.modName()}),this.buffer="")},i.add=function(t){" "===t&&(i.spacing=!0),i.spacing&&(this.buffer+=" ",this.spacing=!1)," "!=t&&(this.buffer+=t)};i.position/.test(t.substr(i.position,3))?i.mono||i.ital||!//.test(t.substr(i.position,3))?!i.mono&&//.test(t.substr(i.position,6))?(i.emitBlock(),i.mono=!0,i.modStack.unshift("mono"),i.position+=5):!i.mono&&"bold"===i.mod()&&/<\/b>/.test(t.substr(i.position,4))?(i.emitBlock(),i.bold=!1,i.modStack.shift(),i.position+=3):!i.mono&&"ital"===i.mod()&&/<\/i>/.test(t.substr(i.position,4))?(i.emitBlock(),i.ital=!1,i.modStack.shift(),i.position+=3):"mono"===i.mod()&&/<\/code>/.test(t.substr(i.position,7))?(i.emitBlock(),i.mono=!1,i.modStack.shift(),i.position+=6):i.add(o):(i.emitBlock(),i.ital=!0,i.modStack.unshift("ital"),i.position+=2):(i.emitBlock(),i.bold=!0,i.modStack.unshift("bold"),i.position+=2):/&/.test(o)?/</.test(t.substr(i.position,4))?(i.add("<"),i.position+=3):/&/.test(t.substr(i.position,5))?(i.add("&"),i.position+=4):i.add("&"):i.add(o),i.position++}return i.emitBlock(),e}},{key:"splitMarkdownBlocks",value:function(t){var e=[],i={bold:!1,ital:!1,mono:!1,beginable:!0,spacing:!1,position:0,buffer:"",modStack:[]};for(i.mod=function(){return 0===this.modStack.length?"normal":this.modStack[0]},i.modName=function(){return 0===this.modStack.length?"normal":"mono"===this.modStack[0]?"mono":i.bold&&i.ital?"boldital":i.bold?"bold":i.ital?"ital":void 0},i.emitBlock=function(){arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.spacing&&(this.add(" "),this.spacing=!1),this.buffer.length>0&&(e.push({text:this.buffer,mod:this.modName()}),this.buffer="")},i.add=function(t){" "===t&&(i.spacing=!0),i.spacing&&(this.buffer+=" ",this.spacing=!1)," "!=t&&(this.buffer+=t)};i.positionthis.parent.fontOptions.maxWdt}},{key:"getLongestFit",value:function(t){for(var e="",i=0;i1&&void 0!==arguments[1]?arguments[1]:"normal",i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];t=t.replace(/^( +)/g,"$1\r"),t=t.replace(/([^\r][^ ]*)( +)/g,"$1\r$2\r");for(var o=t.split("\r");o.length>0;){var n=this.getLongestFit(o);if(0===n){var s=o[0],r=this.getLongestFitWord(s);this.lines.newLine(s.slice(0,r),e),o[0]=s.slice(r)}else{var a=n;" "===o[n-1]?n--:" "===o[a]&&a++;var h=o.slice(0,n).join("");n==o.length&&i?this.lines.append(h,e):this.lines.newLine(h,e),o=o.slice(a)}}}}]),t}();e.default=l},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(90),s=o(n),r=i(0),a=o(r),h=i(1),d=o(h),l=function(){function t(e){(0,a.default)(this,t),this.measureText=e,this.current=0,this.width=0,this.height=0,this.lines=[]}return(0,d.default)(t,[{key:"_add",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"normal";void 0===this.lines[t]&&(this.lines[t]={width:0,height:0,blocks:[]});var o=e;void 0!==e&&""!==e||(o=" ");var n=this.measureText(o,i),r=(0,s.default)({},n.values);r.text=e,r.width=n.width,r.mod=i,void 0!==e&&""!==e||(r.width=0),this.lines[t].blocks.push(r),this.lines[t].width+=r.width}},{key:"curWidth",value:function(){var t=this.lines[this.current];return void 0===t?0:t.width}},{key:"append",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"normal";this._add(this.current,t,e)}},{key:"newLine",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"normal";this._add(this.current,t,e),this.current++}},{key:"determineLineHeights",value:function(){for(var t=0;tt&&(t=o.width),e+=o.height}this.width=t,this.height=e}},{key:"removeEmptyBlocks",value:function(){for(var t=[],e=0;e1&&void 0!==arguments[1]?arguments[1]:this.selected,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover;if(this.needsRefresh(e,i)){var o=this.getDimensionsFromLabel(t,e,i);this.width=o.width+this.margin.right+this.margin.left,this.height=o.height+this.margin.top+this.margin.bottom,this.radius=this.width/2}}},{key:"draw",value:function(t,e,i,o,n,s){this.resize(t,o,n),this.left=e-this.width/2,this.top=i-this.height/2,this.initContextForDraw(t,s),t.roundRect(this.left,this.top,this.width,this.height,s.borderRadius),this.performFill(t,s),this.updateBoundingBox(e,i,t,o,n),this.labelModule.draw(t,this.left+this.textSize.width/2+this.margin.left,this.top+this.textSize.height/2+this.margin.top,o,n)}},{key:"updateBoundingBox",value:function(t,e,i,o,n){this._updateBoundingBox(t,e,i,o,n);var s=this.options.shapeProperties.borderRadius;this._addBoundingBoxMargin(s)}},{key:"distanceToBorder",value:function(t,e){this.resize(t);var i=this.options.borderWidth;return Math.min(Math.abs(this.width/2/Math.cos(e)),Math.abs(this.height/2/Math.sin(e)))+i}}]),e}(m.default);e.default=v},function(t,e,i){i(195),t.exports=i(7).Object.getPrototypeOf},function(t,e,i){var o=i(42),n=i(85);i(87)("getPrototypeOf",function(){return function(t){return n(o(t))}})},function(t,e,i){t.exports={default:i(197),__esModule:!0}},function(t,e,i){i(198),t.exports=i(7).Object.setPrototypeOf},function(t,e,i){var o=i(17);o(o.S,"Object",{setPrototypeOf:i(199).set})},function(t,e,i){var o=i(28),n=i(27),s=function(t,e){if(n(t),!o(e)&&null!==e)throw TypeError(e+": can't set as prototype!")};t.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(t,e,o){try{o=i(80)(Function.call,i(89).f(Object.prototype,"__proto__").set,2),o(t,[]),e=!(t instanceof Array)}catch(t){e=!0}return function(t,i){return s(t,i),e?t.__proto__=i:o(t,i),t}}({},!1):void 0),check:s}},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(3),s=o(n),r=i(0),a=o(r),h=i(1),d=o(h),l=i(4),u=o(l),c=i(5),p=o(c),f=i(73),m=o(f),v=function(t){function e(t,i,o){(0,a.default)(this,e);var n=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return n._setMargins(o),n}return(0,p.default)(e,t),(0,d.default)(e,[{key:"resize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selected,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover;if(this.needsRefresh(e,i)){var o=this.getDimensionsFromLabel(t,e,i),n=Math.max(o.width+this.margin.right+this.margin.left,o.height+this.margin.top+this.margin.bottom);this.options.size=n/2,this.width=n,this.height=n,this.radius=this.width/2}}},{key:"draw",value:function(t,e,i,o,n,s){this.resize(t,o,n),this.left=e-this.width/2,this.top=i-this.height/2,this._drawRawCircle(t,e,i,s),this.updateBoundingBox(e,i),this.labelModule.draw(t,this.left+this.textSize.width/2+this.margin.left,i,o,n)}},{key:"updateBoundingBox",value:function(t,e){this.boundingBox.top=e-this.options.size,this.boundingBox.left=t-this.options.size,this.boundingBox.right=t+this.options.size,this.boundingBox.bottom=e+this.options.size}},{key:"distanceToBorder",value:function(t,e){return this.resize(t),.5*this.width}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(3),s=o(n),r=i(0),a=o(r),h=i(1),d=o(h),l=i(4),u=o(l),c=i(5),p=o(c),f=i(73),m=o(f),v=function(t){function e(t,i,o,n,r){(0,a.default)(this,e);var h=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return h.setImages(n,r),h}return(0,p.default)(e,t),(0,d.default)(e,[{key:"resize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selected,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover;if(void 0===this.imageObj.src||void 0===this.imageObj.width||void 0===this.imageObj.height){var o=2*this.options.size;return this.width=o,this.height=o,void(this.radius=.5*this.width)}this.needsRefresh(e,i)&&this._resizeImage()}},{key:"draw",value:function(t,e,i,o,n,s){this.switchImages(o),this.resize(),this.left=e-this.width/2,this.top=i-this.height/2,this._drawRawCircle(t,e,i,s),t.save(),t.clip(),this._drawImageAtPosition(t,s),t.restore(),this._drawImageLabel(t,e,i,o,n),this.updateBoundingBox(e,i)}},{key:"updateBoundingBox",value:function(t,e){this.boundingBox.top=e-this.options.size,this.boundingBox.left=t-this.options.size,this.boundingBox.right=t+this.options.size,this.boundingBox.bottom=e+this.options.size,this.boundingBox.left=Math.min(this.boundingBox.left,this.labelModule.size.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelModule.size.left+this.labelModule.size.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelOffset)}},{key:"distanceToBorder",value:function(t,e){return this.resize(t),.5*this.width}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(3),s=o(n),r=i(0),a=o(r),h=i(1),d=o(h),l=i(4),u=o(l),c=i(5),p=o(c),f=i(23),m=o(f),v=function(t){function e(t,i,o){(0,a.default)(this,e);var n=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return n._setMargins(o),n}return(0,p.default)(e,t),(0,d.default)(e,[{key:"resize",value:function(t,e,i){if(this.needsRefresh(e,i)){var o=this.getDimensionsFromLabel(t,e,i),n=o.width+this.margin.right+this.margin.left;this.width=n,this.height=n,this.radius=this.width/2}}},{key:"draw",value:function(t,e,i,o,n,s){this.resize(t,o,n),this.left=e-this.width/2,this.top=i-this.height/2,this.initContextForDraw(t,s),t.database(e-this.width/2,i-this.height/2,this.width,this.height),this.performFill(t,s),this.updateBoundingBox(e,i,t,o,n),this.labelModule.draw(t,this.left+this.textSize.width/2+this.margin.left,this.top+this.textSize.height/2+this.margin.top,o,n)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(3),s=o(n),r=i(0),a=o(r),h=i(1),d=o(h),l=i(4),u=o(l),c=i(5),p=o(c),f=i(24),m=o(f),v=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,p.default)(e,t),(0,d.default)(e,[{key:"draw",value:function(t,e,i,o,n,s){this._drawShape(t,"diamond",4,e,i,o,n,s)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(3),s=o(n),r=i(0),a=o(r),h=i(1),d=o(h),l=i(4),u=o(l),c=i(5),p=o(c),f=i(24),m=o(f),v=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,p.default)(e,t),(0,d.default)(e,[{key:"draw",value:function(t,e,i,o,n,s){this._drawShape(t,"circle",2,e,i,o,n,s)}},{key:"distanceToBorder",value:function(t,e){return this.resize(t),this.options.size}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(3),s=o(n),r=i(0),a=o(r),h=i(1),d=o(h),l=i(4),u=o(l),c=i(5),p=o(c),f=i(23),m=o(f),v=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,p.default)(e,t),(0,d.default)(e,[{key:"resize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selected,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover;if(this.needsRefresh(e,i)){var o=this.getDimensionsFromLabel(t,e,i);this.height=2*o.height,this.width=o.width+o.height,this.radius=.5*this.width}}},{key:"draw",value:function(t,e,i,o,n,s){this.resize(t,o,n),this.left=e-.5*this.width,this.top=i-.5*this.height,this.initContextForDraw(t,s),t.ellipse_vis(this.left,this.top,this.width,this.height),this.performFill(t,s),this.updateBoundingBox(e,i,t,o,n),this.labelModule.draw(t,e,i,o,n)}},{key:"distanceToBorder",value:function(t,e){this.resize(t);var i=.5*this.width,o=.5*this.height,n=Math.sin(e)*i,s=Math.cos(e)*o;return i*o/Math.sqrt(n*n+s*s)}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(3),s=o(n),r=i(0),a=o(r),h=i(1),d=o(h),l=i(4),u=o(l),c=i(5),p=o(c),f=i(23),m=o(f),v=function(t){function e(t,i,o){(0,a.default)(this,e);var n=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return n._setMargins(o),n}return(0,p.default)(e,t),(0,d.default)(e,[{key:"resize",value:function(t,e,i){this.needsRefresh(e,i)&&(this.iconSize={width:Number(this.options.icon.size),height:Number(this.options.icon.size)},this.width=this.iconSize.width+this.margin.right+this.margin.left,this.height=this.iconSize.height+this.margin.top+this.margin.bottom,this.radius=.5*this.width)}},{key:"draw",value:function(t,e,i,o,n,s){if(this.resize(t,o,n),this.options.icon.size=this.options.icon.size||50,this.left=e-this.width/2,this.top=i-this.height/2,this._icon(t,e,i,o,n,s),void 0!==this.options.label){this.labelModule.draw(t,this.left+this.iconSize.width/2+this.margin.left,i+this.height/2+5,o)}this.updateBoundingBox(e,i)}},{key:"updateBoundingBox",value:function(t,e){if(this.boundingBox.top=e-.5*this.options.icon.size,this.boundingBox.left=t-.5*this.options.icon.size,this.boundingBox.right=t+.5*this.options.icon.size,this.boundingBox.bottom=e+.5*this.options.icon.size,void 0!==this.options.label&&this.labelModule.size.width>0){this.boundingBox.left=Math.min(this.boundingBox.left,this.labelModule.size.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelModule.size.left+this.labelModule.size.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelModule.size.height+5)}}},{key:"_icon",value:function(t,e,i,o,n,s){var r=Number(this.options.icon.size);void 0!==this.options.icon.code?(t.font=(o?"bold ":"")+r+"px "+this.options.icon.face,t.fillStyle=this.options.icon.color||"black",t.textAlign="center",t.textBaseline="middle",this.enableShadow(t,s),t.fillText(this.options.icon.code,e,i),this.disableShadow(t,s)):console.error("When using the icon shape, you need to define the code in the icon options object. This can be done per node or globally.")}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(3),s=o(n),r=i(0),a=o(r),h=i(1),d=o(h),l=i(4),u=o(l),c=i(5),p=o(c),f=i(73),m=o(f),v=function(t){function e(t,i,o,n,r){(0,a.default)(this,e);var h=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return h.setImages(n,r),h}return(0,p.default)(e,t),(0, +d.default)(e,[{key:"resize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selected,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover;if(void 0===this.imageObj.src||void 0===this.imageObj.width||void 0===this.imageObj.height){var o=2*this.options.size;return this.width=o,void(this.height=o)}this.needsRefresh(e,i)&&this._resizeImage()}},{key:"draw",value:function(t,e,i,o,n,s){if(this.switchImages(o),this.resize(),this.left=e-this.width/2,this.top=i-this.height/2,!0===this.options.shapeProperties.useBorderWithImage){var r=this.options.borderWidth,a=this.options.borderWidthSelected||2*this.options.borderWidth,h=(o?a:r)/this.body.view.scale;t.lineWidth=Math.min(this.width,h),t.beginPath(),t.strokeStyle=o?this.options.color.highlight.border:n?this.options.color.hover.border:this.options.color.border,t.fillStyle=o?this.options.color.highlight.background:n?this.options.color.hover.background:this.options.color.background,t.rect(this.left-.5*t.lineWidth,this.top-.5*t.lineWidth,this.width+t.lineWidth,this.height+t.lineWidth),t.fill(),this.performStroke(t,s),t.closePath()}this._drawImageAtPosition(t,s),this._drawImageLabel(t,e,i,o,n),this.updateBoundingBox(e,i)}},{key:"updateBoundingBox",value:function(t,e){this.resize(),this._updateBoundingBox(t,e),void 0!==this.options.label&&this.labelModule.size.width>0&&(this.boundingBox.left=Math.min(this.boundingBox.left,this.labelModule.size.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelModule.size.left+this.labelModule.size.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelOffset))}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(3),s=o(n),r=i(0),a=o(r),h=i(1),d=o(h),l=i(4),u=o(l),c=i(5),p=o(c),f=i(24),m=o(f),v=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,p.default)(e,t),(0,d.default)(e,[{key:"draw",value:function(t,e,i,o,n,s){this._drawShape(t,"square",2,e,i,o,n,s)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(3),s=o(n),r=i(0),a=o(r),h=i(1),d=o(h),l=i(4),u=o(l),c=i(5),p=o(c),f=i(24),m=o(f),v=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,p.default)(e,t),(0,d.default)(e,[{key:"draw",value:function(t,e,i,o,n,s){this._drawShape(t,"hexagon",4,e,i,o,n,s)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(3),s=o(n),r=i(0),a=o(r),h=i(1),d=o(h),l=i(4),u=o(l),c=i(5),p=o(c),f=i(24),m=o(f),v=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,p.default)(e,t),(0,d.default)(e,[{key:"draw",value:function(t,e,i,o,n,s){this._drawShape(t,"star",4,e,i,o,n,s)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(3),s=o(n),r=i(0),a=o(r),h=i(1),d=o(h),l=i(4),u=o(l),c=i(5),p=o(c),f=i(23),m=o(f),v=function(t){function e(t,i,o){(0,a.default)(this,e);var n=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return n._setMargins(o),n}return(0,p.default)(e,t),(0,d.default)(e,[{key:"resize",value:function(t,e,i){this.needsRefresh(e,i)&&(this.textSize=this.labelModule.getTextSize(t,e,i),this.width=this.textSize.width+this.margin.right+this.margin.left,this.height=this.textSize.height+this.margin.top+this.margin.bottom,this.radius=.5*this.width)}},{key:"draw",value:function(t,e,i,o,n,s){this.resize(t,o,n),this.left=e-this.width/2,this.top=i-this.height/2,this.enableShadow(t,s),this.labelModule.draw(t,this.left+this.textSize.width/2+this.margin.left,this.top+this.textSize.height/2+this.margin.top,o,n),this.disableShadow(t,s),this.updateBoundingBox(e,i,t,o,n)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(3),s=o(n),r=i(0),a=o(r),h=i(1),d=o(h),l=i(4),u=o(l),c=i(5),p=o(c),f=i(24),m=o(f),v=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,p.default)(e,t),(0,d.default)(e,[{key:"draw",value:function(t,e,i,o,n,s){this._drawShape(t,"triangle",3,e,i,o,n,s)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(3),s=o(n),r=i(0),a=o(r),h=i(1),d=o(h),l=i(4),u=o(l),c=i(5),p=o(c),f=i(24),m=o(f),v=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,p.default)(e,t),(0,d.default)(e,[{key:"draw",value:function(t,e,i,o,n,s){this._drawShape(t,"triangleDown",3,e,i,o,n,s)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(0),s=o(n),r=i(1),a=o(r),h=i(2),d=i(11),l=i(12),u=i(74).default,c=function(){function t(e,i,o){var n=this;(0,s.default)(this,t),this.body=e,this.images=i,this.groups=o,this.body.functions.createEdge=this.create.bind(this),this.edgesListeners={add:function(t,e){n.add(e.items)},update:function(t,e){n.update(e.items)},remove:function(t,e){n.remove(e.items)}},this.options={},this.defaultOptions={arrows:{to:{enabled:!1,scaleFactor:1,type:"arrow"},middle:{enabled:!1,scaleFactor:1,type:"arrow"},from:{enabled:!1,scaleFactor:1,type:"arrow"}},arrowStrikethrough:!0,color:{color:"#848484",highlight:"#848484",hover:"#848484",inherit:"from",opacity:1},dashes:!1,font:{color:"#343434",size:14,face:"arial",background:"none",strokeWidth:2,strokeColor:"#ffffff",align:"horizontal",multi:!1,vadjust:0,bold:{mod:"bold"},boldital:{mod:"bold italic"},ital:{mod:"italic"},mono:{mod:"",size:15,face:"courier new",vadjust:2}},hidden:!1,hoverWidth:1.5,label:void 0,labelHighlightBold:!0,length:void 0,physics:!0,scaling:{min:1,max:15,label:{enabled:!0,min:14,max:30,maxVisible:30,drawThreshold:5},customScalingFunction:function(t,e,i,o){if(e===t)return.5;var n=1/(e-t);return Math.max(0,(o-t)*n)}},selectionWidth:1.5,selfReferenceSize:20,shadow:{enabled:!1,color:"rgba(0,0,0,0.5)",size:10,x:5,y:5},smooth:{enabled:!0,type:"dynamic",forceDirection:"none",roundness:.5},title:void 0,width:1,value:void 0},h.deepExtend(this.options,this.defaultOptions),this.bindEventListeners()}return(0,a.default)(t,[{key:"bindEventListeners",value:function(){var t=this;this.body.emitter.on("_forceDisableDynamicCurves",function(e){var i=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];"dynamic"===e&&(e="continuous");var o=!1;for(var n in t.body.edges)if(t.body.edges.hasOwnProperty(n)){var s=t.body.edges[n],r=t.body.data.edges._data[n];if(void 0!==r){var a=r.smooth;void 0!==a&&!0===a.enabled&&"dynamic"===a.type&&(void 0===e?s.setOptions({smooth:!1}):s.setOptions({smooth:{type:e}}),o=!0)}}!0===i&&!0===o&&t.body.emitter.emit("_dataChanged")}),this.body.emitter.on("_dataUpdated",function(){t.reconnectEdges()}),this.body.emitter.on("refreshEdges",this.refresh.bind(this)),this.body.emitter.on("refresh",this.refresh.bind(this)),this.body.emitter.on("destroy",function(){h.forEach(t.edgesListeners,function(e,i){t.body.data.edges&&t.body.data.edges.off(i,e)}),delete t.body.functions.createEdge,delete t.edgesListeners.add,delete t.edgesListeners.update,delete t.edgesListeners.remove,delete t.edgesListeners})}},{key:"setOptions",value:function(t){if(void 0!==t){u.parseOptions(this.options,t,!0,this.defaultOptions,!0);var e=!1;if(void 0!==t.smooth)for(var i in this.body.edges)this.body.edges.hasOwnProperty(i)&&(e=this.body.edges[i].updateEdgeType()||e);if(void 0!==t.font)for(var o in this.body.edges)this.body.edges.hasOwnProperty(o)&&this.body.edges[o].updateLabelModule();void 0===t.hidden&&void 0===t.physics&&!0!==e||this.body.emitter.emit("_dataChanged")}}},{key:"setData",value:function(t){var e=this,i=arguments.length>1&&void 0!==arguments[1]&&arguments[1],o=this.body.data.edges;if(t instanceof d||t instanceof l)this.body.data.edges=t;else if(Array.isArray(t))this.body.data.edges=new d,this.body.data.edges.add(t);else{if(t)throw new TypeError("Array or DataSet expected");this.body.data.edges=new d}if(o&&h.forEach(this.edgesListeners,function(t,e){o.off(e,t)}),this.body.edges={},this.body.data.edges){h.forEach(this.edgesListeners,function(t,i){e.body.data.edges.on(i,t)});var n=this.body.data.edges.getIds();this.add(n,!0)}this.body.emitter.emit("_adjustEdgesForHierarchicalLayout"),!1===i&&this.body.emitter.emit("_dataChanged")}},{key:"add",value:function(t){for(var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=this.body.edges,o=this.body.data.edges,n=0;n1&&void 0!==arguments[1])||arguments[1];if(0!==t.length){var i=this.body.edges;h.forEach(t,function(t){var e=i[t];void 0!==e&&e.remove()}),e&&this.body.emitter.emit("_dataChanged")}}},{key:"refresh",value:function(){var t=this;h.forEach(this.body.edges,function(e,i){var o=t.body.data.edges._data[i];void 0!==o&&e.setOptions(o)})}},{key:"create",value:function(t){return new u(t,this.body,this.options,this.defaultOptions)}},{key:"reconnectEdges",value:function(){var t,e=this.body.nodes,i=this.body.edges;for(t in e)e.hasOwnProperty(t)&&(e[t].edges=[]);for(t in i)if(i.hasOwnProperty(t)){var o=i[t];o.from=null,o.to=null,o.connect()}}},{key:"getConnectedNodes",value:function(t){var e=[];if(void 0!==this.body.edges[t]){var i=this.body.edges[t];void 0!==i.fromId&&e.push(i.fromId),void 0!==i.toId&&e.push(i.toId)}return e}},{key:"_updateState",value:function(){this._addMissingEdges(),this._removeInvalidEdges()}},{key:"_removeInvalidEdges",value:function(){var t=this,e=[];h.forEach(this.body.edges,function(i,o){var n=t.body.nodes[i.toId],s=t.body.nodes[i.fromId];void 0!==n&&!0===n.isCluster||void 0!==s&&!0===s.isCluster||void 0!==n&&void 0!==s||e.push(o)}),this.remove(e,!1)}},{key:"_addMissingEdges",value:function(){var t=this.body.edges,e=this.body.data.edges,i=[];e.forEach(function(e,o){void 0===t[o]&&i.push(o)}),this.add(i,!0)}}]),t}();e.default=c},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(31),s=o(n),r=i(3),a=o(r),h=i(0),d=o(h),l=i(1),u=o(l),c=i(4),p=o(c),f=i(5),m=o(f),v=i(216),g=o(v),y=function(t){function e(t,i,o){return(0,d.default)(this,e),(0,p.default)(this,(e.__proto__||(0,a.default)(e)).call(this,t,i,o))}return(0,m.default)(e,t),(0,u.default)(e,[{key:"_line",value:function(t,e,i){var o=i[0],n=i[1];this._bezierCurve(t,e,o,n)}},{key:"_getViaCoordinates",value:function(){var t=this.from.x-this.to.x,e=this.from.y-this.to.y,i=void 0,o=void 0,n=void 0,s=void 0,r=this.options.smooth.roundness;return(Math.abs(t)>Math.abs(e)||!0===this.options.smooth.forceDirection||"horizontal"===this.options.smooth.forceDirection)&&"vertical"!==this.options.smooth.forceDirection?(o=this.from.y,s=this.to.y,i=this.from.x-r*t,n=this.to.x+r*t):(o=this.from.y-r*e,s=this.to.y+r*e,i=this.from.x,n=this.to.x),[{x:i,y:o},{x:n,y:s}]}},{key:"getViaNode",value:function(){return this._getViaCoordinates()}},{key:"_findBorderPosition",value:function(t,e){return this._findBorderPositionBezier(t,e)}},{key:"_getDistanceToEdge",value:function(t,e,i,o,n,r){var a=arguments.length>6&&void 0!==arguments[6]?arguments[6]:this._getViaCoordinates(),h=(0,s.default)(a,2),d=h[0],l=h[1];return this._getDistanceToBezierEdge(t,e,i,o,n,r,d,l)}},{key:"getPoint",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this._getViaCoordinates(),i=(0,s.default)(e,2),o=i[0],n=i[1],r=t,a=[];return a[0]=Math.pow(1-r,3),a[1]=3*r*Math.pow(1-r,2),a[2]=3*Math.pow(r,2)*(1-r),a[3]=Math.pow(r,3),{x:a[0]*this.fromPoint.x+a[1]*o.x+a[2]*n.x+a[3]*this.toPoint.x,y:a[0]*this.fromPoint.y+a[1]*o.y+a[2]*n.y+a[3]*this.toPoint.y}}}]),e}(g.default);e.default=y},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(3),s=o(n),r=i(0),a=o(r),h=i(1),d=o(h),l=i(4),u=o(l),c=i(5),p=o(c),f=i(75),m=o(f),v=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,p.default)(e,t),(0,d.default)(e,[{key:"_getDistanceToBezierEdge",value:function(t,e,i,o,n,s,r,a){var h=1e9,d=void 0,l=void 0,u=void 0,c=void 0,p=void 0,f=t,m=e,v=[0,0,0,0];for(l=1;l<10;l++)u=.1*l,v[0]=Math.pow(1-u,3),v[1]=3*u*Math.pow(1-u,2),v[2]=3*Math.pow(u,2)*(1-u),v[3]=Math.pow(u,3),c=v[0]*t+v[1]*r.x+v[2]*a.x+v[3]*i,p=v[0]*e+v[1]*r.y+v[2]*a.y+v[3]*o,l>0&&(d=this._getDistanceToLine(f,m,c,p,n,s),h=d1&&void 0!==arguments[1]?arguments[1]:this.via,i=t,o=void 0,n=void 0;if(this.from===this.to){var r=this._getCircleData(this.from),a=(0,s.default)(r,3),h=a[0],d=a[1],l=a[2],u=2*Math.PI*(1-i);o=h+l*Math.sin(u),n=d+l-l*(1-Math.cos(u))}else o=Math.pow(1-i,2)*this.fromPoint.x+2*i*(1-i)*e.x+Math.pow(i,2)*this.toPoint.x,n=Math.pow(1-i,2)*this.fromPoint.y+2*i*(1-i)*e.y+Math.pow(i,2)*this.toPoint.y;return{x:o,y:n}}},{key:"_findBorderPosition",value:function(t,e){return this._findBorderPositionBezier(t,e,this.via)}},{key:"_getDistanceToEdge",value:function(t,e,i,o,n,s){return this._getDistanceToBezierEdge(t,e,i,o,n,s,this.via)}}]),e}(g.default);e.default=y},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(3),s=o(n),r=i(0),a=o(r),h=i(1),d=o(h),l=i(4),u=o(l),c=i(5),p=o(c),f=i(75),m=o(f),v=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,p.default)(e,t),(0,d.default)(e,[{key:"_line",value:function(t,e,i){this._bezierCurve(t,e,i)}},{key:"getViaNode",value:function(){return this._getViaCoordinates()}},{key:"_getViaCoordinates",value:function(){var t=void 0,e=void 0,i=this.options.smooth.roundness,o=this.options.smooth.type,n=Math.abs(this.from.x-this.to.x),s=Math.abs(this.from.y-this.to.y);if("discrete"===o||"diagonalCross"===o){var r=void 0,a=void 0;r=a=n<=s?i*s:i*n,this.from.x>this.to.x&&(r=-r),this.from.y>=this.to.y&&(a=-a),t=this.from.x+r,e=this.from.y+a,"discrete"===o&&(n<=s?t=nthis.to.x&&(_=-_),this.from.y>=this.to.y&&(w=-w),t=this.from.x+_,e=this.from.y+w,n<=s?t=this.from.x<=this.to.x?this.to.xt?this.to.x:t:e=this.from.y>=this.to.y?this.to.y>e?this.to.y:e:this.to.y2&&void 0!==arguments[2]?arguments[2]:{};return this._findBorderPositionBezier(t,e,i.via)}},{key:"_getDistanceToEdge",value:function(t,e,i,o,n,s){var r=arguments.length>6&&void 0!==arguments[6]?arguments[6]:this._getViaCoordinates();return this._getDistanceToBezierEdge(t,e,i,o,n,s,r)}},{key:"getPoint",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this._getViaCoordinates(),i=t;return{x:Math.pow(1-i,2)*this.fromPoint.x+2*i*(1-i)*e.x+Math.pow(i,2)*this.toPoint.x,y:Math.pow(1-i,2)*this.fromPoint.y+2*i*(1-i)*e.y+Math.pow(i,2)*this.toPoint.y}}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(3),s=o(n),r=i(0),a=o(r),h=i(1),d=o(h),l=i(4),u=o(l),c=i(5),p=o(c),f=i(118),m=o(f),v=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,p.default)(e,t),(0,d.default)(e,[{key:"_line",value:function(t,e){t.beginPath(),t.moveTo(this.fromPoint.x,this.fromPoint.y),t.lineTo(this.toPoint.x,this.toPoint.y),this.enableShadow(t,e),t.stroke(),this.disableShadow(t,e)}},{key:"getViaNode",value:function(){}},{key:"getPoint",value:function(t){return{x:(1-t)*this.fromPoint.x+t*this.toPoint.x,y:(1-t)*this.fromPoint.y+t*this.toPoint.y}}},{key:"_findBorderPosition",value:function(t,e){var i=this.to,o=this.from;t.id===this.from.id&&(i=this.from,o=this.to);var n=Math.atan2(i.y-o.y,i.x-o.x),s=i.x-o.x,r=i.y-o.y,a=Math.sqrt(s*s+r*r),h=t.distanceToBorder(e,n),d=(a-h)/a,l={};return l.x=(1-d)*o.x+d*i.x,l.y=(1-d)*o.y+d*i.y,l}},{key:"_getDistanceToEdge",value:function(t,e,i,o,n,s){return this._getDistanceToLine(t,e,i,o,n,s)}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(8),s=o(n),r=i(0),a=o(r),h=i(1),d=o(h),l=i(120).default,u=i(221).default,c=i(222).default,p=i(223).default,f=i(224).default,m=i(121).default,v=i(225).default,g=i(226).default,y=i(2),b=i(119).default,_=function(){function t(e){(0,a.default)(this,t),this.body=e,this.physicsBody={physicsNodeIndices:[],physicsEdgeIndices:[],forces:{},velocities:{}},this.physicsEnabled=!0,this.simulationInterval=1e3/60,this.requiresTimeout=!0,this.previousStates={},this.referenceState={},this.freezeCache={},this.renderTimer=void 0,this.adaptiveTimestep=!1,this.adaptiveTimestepEnabled=!1,this.adaptiveCounter=0,this.adaptiveInterval=3,this.stabilized=!1,this.startedStabilization=!1,this.stabilizationIterations=0,this.ready=!1,this.options={},this.defaultOptions={enabled:!0,barnesHut:{theta:.5,gravitationalConstant:-2e3,centralGravity:.3,springLength:95,springConstant:.04,damping:.09,avoidOverlap:0},forceAtlas2Based:{theta:.5,gravitationalConstant:-50,centralGravity:.01,springConstant:.08,springLength:100,damping:.4,avoidOverlap:0},repulsion:{centralGravity:.2,springLength:200,springConstant:.05,nodeDistance:100,damping:.09,avoidOverlap:0},hierarchicalRepulsion:{centralGravity:0,springLength:100,springConstant:.01,nodeDistance:120,damping:.09},maxVelocity:50,minVelocity:.75,solver:"barnesHut",stabilization:{enabled:!0,iterations:1e3,updateInterval:50,onlyDynamicEdges:!1,fit:!0},timestep:.5,adaptiveTimestep:!0},y.extend(this.options,this.defaultOptions),this.timestep=.5,this.layoutFailed=!1,this.bindEventListeners()}return(0,d.default)(t,[{key:"bindEventListeners",value:function(){var t=this;this.body.emitter.on("initPhysics",function(){t.initPhysics()}),this.body.emitter.on("_layoutFailed",function(){t.layoutFailed=!0}),this.body.emitter.on("resetPhysics",function(){t.stopSimulation(),t.ready=!1}),this.body.emitter.on("disablePhysics",function(){t.physicsEnabled=!1,t.stopSimulation()}),this.body.emitter.on("restorePhysics",function(){t.setOptions(t.options),!0===t.ready&&t.startSimulation()}),this.body.emitter.on("startSimulation",function(){!0===t.ready&&t.startSimulation()}),this.body.emitter.on("stopSimulation",function(){t.stopSimulation()}),this.body.emitter.on("destroy",function(){t.stopSimulation(!1),t.body.emitter.off()}),this.body.emitter.on("_dataChanged",function(){t.updatePhysicsData()})}},{key:"setOptions",value:function(t){void 0!==t&&(!1===t?(this.options.enabled=!1,this.physicsEnabled=!1,this.stopSimulation()):!0===t?(this.options.enabled=!0,this.physicsEnabled=!0,this.startSimulation()):(this.physicsEnabled=!0,y.selectiveNotDeepExtend(["stabilization"],this.options,t),y.mergeOptions(this.options,t,"stabilization"),void 0===t.enabled&&(this.options.enabled=!0),!1===this.options.enabled&&(this.physicsEnabled=!1,this.stopSimulation()),this.timestep=this.options.timestep)),this.init()}},{key:"init",value:function(){var t;"forceAtlas2Based"===this.options.solver?(t=this.options.forceAtlas2Based,this.nodesSolver=new v(this.body,this.physicsBody,t),this.edgesSolver=new p(this.body,this.physicsBody,t),this.gravitySolver=new g(this.body,this.physicsBody,t)):"repulsion"===this.options.solver?(t=this.options.repulsion,this.nodesSolver=new u(this.body,this.physicsBody,t),this.edgesSolver=new p(this.body,this.physicsBody,t),this.gravitySolver=new m(this.body,this.physicsBody,t)):"hierarchicalRepulsion"===this.options.solver?(t=this.options.hierarchicalRepulsion,this.nodesSolver=new c(this.body,this.physicsBody,t),this.edgesSolver=new f(this.body,this.physicsBody,t),this.gravitySolver=new m(this.body,this.physicsBody,t)):(t=this.options.barnesHut,this.nodesSolver=new l(this.body,this.physicsBody,t),this.edgesSolver=new p(this.body,this.physicsBody,t),this.gravitySolver=new m(this.body,this.physicsBody,t)),this.modelOptions=t}},{key:"initPhysics",value:function(){!0===this.physicsEnabled&&!0===this.options.enabled?!0===this.options.stabilization.enabled?this.stabilize():(this.stabilized=!1,this.ready=!0,this.body.emitter.emit("fit",{},this.layoutFailed),this.startSimulation()):(this.ready=!0,this.body.emitter.emit("fit"))}},{key:"startSimulation",value:function(){!0===this.physicsEnabled&&!0===this.options.enabled?(this.stabilized=!1,this.adaptiveTimestep=!1,this.body.emitter.emit("_resizeNodes"),void 0===this.viewFunction&&(this.viewFunction=this.simulationStep.bind(this),this.body.emitter.on("initRedraw",this.viewFunction),this.body.emitter.emit("_startRendering"))):this.body.emitter.emit("_redraw")}},{key:"stopSimulation",value:function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];this.stabilized=!0,!0===t&&this._emitStabilized(),void 0!==this.viewFunction&&(this.body.emitter.off("initRedraw",this.viewFunction),this.viewFunction=void 0,!0===t&&this.body.emitter.emit("_stopRendering"))}},{key:"simulationStep",value:function(){var t=Date.now();this.physicsTick(),(Date.now()-t<.4*this.simulationInterval||!0===this.runDoubleSpeed)&&!1===this.stabilized&&(this.physicsTick(),this.runDoubleSpeed=!0),!0===this.stabilized&&this.stopSimulation()}},{key:"_emitStabilized",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.stabilizationIterations;(this.stabilizationIterations>1||!0===this.startedStabilization)&&setTimeout(function(){t.body.emitter.emit("stabilized",{iterations:e}),t.startedStabilization=!1,t.stabilizationIterations=0},0)}},{key:"physicsStep",value:function(){this.gravitySolver.solve(),this.nodesSolver.solve(),this.edgesSolver.solve(),this.moveNodes()}},{key:"adjustTimeStep",value:function(){!0===this._evaluateStepQuality()?this.timestep=1.2*this.timestep:this.timestep/1.2.3))return!1;return!0}},{key:"moveNodes",value:function(){for(var t=this.physicsBody.physicsNodeIndices,e=0,i=0,o=0;oo&&(t=t>0?o:-o),t}},{key:"_performStep",value:function(t){var e=this.body.nodes[t],i=this.physicsBody.forces[t],o=this.physicsBody.velocities[t];return this.previousStates[t]={x:e.x,y:e.y,vx:o.x,vy:o.y},!1===e.options.fixed.x?(o.x=this.calculateComponentVelocity(o.x,i.x,e.options.mass),e.x+=o.x*this.timestep):(i.x=0,o.x=0),!1===e.options.fixed.y?(o.y=this.calculateComponentVelocity(o.y,i.y,e.options.mass),e.y+=o.y*this.timestep):(i.y=0,o.y=0),Math.sqrt(Math.pow(o.x,2)+Math.pow(o.y,2))}},{key:"_freezeNodes",value:function(){var t=this.body.nodes;for(var e in t)if(t.hasOwnProperty(e)&&t[e].x&&t[e].y){var i=t[e].options.fixed;this.freezeCache[e]={x:i.x,y:i.y},i.x=!0,i.y=!0}}},{key:"_restoreFrozenNodes",value:function(){var t=this.body.nodes;for(var e in t)t.hasOwnProperty(e)&&void 0!==this.freezeCache[e]&&(t[e].options.fixed.x=this.freezeCache[e].x,t[e].options.fixed.y=this.freezeCache[e].y);this.freezeCache={}}},{key:"stabilize",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.options.stabilization.iterations;if("number"!=typeof e&&(e=this.options.stabilization.iterations,console.log("The stabilize method needs a numeric amount of iterations. Switching to default: ",e)),0===this.physicsBody.physicsNodeIndices.length)return void(this.ready=!0);this.adaptiveTimestep=this.options.adaptiveTimestep,this.body.emitter.emit("_resizeNodes"),this.stopSimulation(),this.stabilized=!1,this.body.emitter.emit("_blockRedraw"),this.targetIterations=e,!0===this.options.stabilization.onlyDynamicEdges&&this._freezeNodes(),this.stabilizationIterations=0,setTimeout(function(){return t._stabilizationBatch()},0)}},{key:"_startStabilizing",value:function(){return!0!==this.startedStabilization&&(this.body.emitter.emit("startStabilizing"),this.startedStabilization=!0,!0)}},{key:"_stabilizationBatch",value:function(){var t=this,e=function(){return!1===t.stabilized&&t.stabilizationIterations0){var s=n.edges.length+1,r=this.options.centralGravity*s*n.options.mass;o[n.id].x=e*r,o[n.id].y=i*r}}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(8),s=o(n),r=i(6),a=o(r),h=i(0),d=o(h),l=i(1),u=o(l),c=i(2),p=i(76).default,f=i(228).default,m=i(74).default,v=i(48).default,g=function(){function t(e){var i=this;(0,d.default)(this,t),this.body=e,this.clusteredNodes={},this.clusteredEdges={},this.options={},this.defaultOptions={},c.extend(this.options,this.defaultOptions),this.body.emitter.on("_resetData",function(){i.clusteredNodes={},i.clusteredEdges={}})}return(0,u.default)(t,[{key:"clusterByHubsize",value:function(t,e){void 0===t?t=this._getHubSize():"object"===(void 0===t?"undefined":(0,a.default)(t))&&(e=this._checkOptions(t),t=this._getHubSize());for(var i=[],o=0;o=t&&i.push(n.id)}for(var s=0;s0&&void 0!==arguments[0]?arguments[0]:{},i=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(void 0===e.joinCondition)throw new Error("Cannot call clusterByNodeData without a joinCondition function in the options.");e=this._checkOptions(e);var o={},n={};c.forEach(this.body.nodes,function(i,s){var r=p.cloneOptions(i);!0===e.joinCondition(r)&&(o[s]=i,c.forEach(i.edges,function(e){void 0===t.clusteredEdges[e.id]&&(n[e.id]=e)}))}),this._cluster(o,n,e,i)}},{key:"clusterByEdgeCount",value:function(t,e){var i=this,o=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];e=this._checkOptions(e);for(var n=[],r={},a=void 0,h=void 0,d=void 0,l=0;l0&&(0,s.default)(m).length>0&&!0===b)if(c=function(){for(var t=0;t1&&void 0!==arguments[1])||arguments[1];this.clusterByEdgeCount(1,t,e)}},{key:"clusterBridges",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];this.clusterByEdgeCount(2,t,e)}},{key:"clusterByConnection",value:function(t,e){var i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(void 0===t)throw new Error("No nodeId supplied to clusterByConnection!");if(void 0===this.body.nodes[t])throw new Error("The nodeId given to clusterByConnection does not exist!");var o=this.body.nodes[t];e=this._checkOptions(e,o),void 0===e.clusterNodeProperties.x&&(e.clusterNodeProperties.x=o.x),void 0===e.clusterNodeProperties.y&&(e.clusterNodeProperties.y=o.y),void 0===e.clusterNodeProperties.fixed&&(e.clusterNodeProperties.fixed={},e.clusterNodeProperties.fixed.x=o.options.fixed.x,e.clusterNodeProperties.fixed.y=o.options.fixed.y);var n={},r={},a=o.id,h=p.cloneOptions(o);n[a]=o;for(var d=0;d-1&&(r[g.id]=g)}this._cluster(n,r,e,i)}},{key:"_createClusterEdges",value:function(t,e,i,o){for(var n=void 0,r=void 0,a=void 0,h=void 0,d=void 0,l=void 0,u=(0,s.default)(t),c=[],p=0;p0&&void 0!==arguments[0]?arguments[0]:{};return void 0===t.clusterEdgeProperties&&(t.clusterEdgeProperties={}),void 0===t.clusterNodeProperties&&(t.clusterNodeProperties={}),t}},{key:"_cluster",value:function(t,e,i){var o=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],n=[];for(var r in t)t.hasOwnProperty(r)&&void 0!==this.clusteredNodes[r]&&n.push(r);for(var a=0;ao?a.x:o,n=a.yr?a.y:r;return{x:.5*(i+o),y:.5*(n+r)}}},{key:"openCluster",value:function(t,e){var i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(void 0===t)throw new Error("No clusterNodeId supplied to openCluster.");var o=this.body.nodes[t];if(void 0===o)throw new Error("The clusterNodeId supplied to openCluster does not exist.");if(!0!==o.isCluster||void 0===o.containedNodes||void 0===o.containedEdges)throw new Error("The node:"+t+" is not a valid cluster.");var n=this.findNode(t),s=n.indexOf(t)-1;if(s>=0){var r=n[s];return this.body.nodes[r]._openChildCluster(t),delete this.body.nodes[t],void(!0===i&&this.body.emitter.emit("_dataChanged"))}var a=o.containedNodes,h=o.containedEdges;if(void 0!==e&&void 0!==e.releaseFunction&&"function"==typeof e.releaseFunction){var d={},l={x:o.x,y:o.y};for(var u in a)if(a.hasOwnProperty(u)){var p=this.body.nodes[u];d[u]={x:p.x,y:p.y}}var f=e.releaseFunction(l,d);for(var m in a)if(a.hasOwnProperty(m)){var v=this.body.nodes[m];void 0!==f[m]&&(v.x=void 0===f[m].x?o.x:f[m].x,v.y=void 0===f[m].y?o.y:f[m].y)}}else c.forEach(a,function(t){!1===t.options.fixed.x&&(t.x=o.x),!1===t.options.fixed.y&&(t.y=o.y)});for(var g in a)if(a.hasOwnProperty(g)){var y=this.body.nodes[g];y.vx=o.vx,y.vy=o.vy,y.setOptions({physics:!0}),delete this.clusteredNodes[g]}for(var b=[],_=0;_0&&n<100;){var s=e.pop();if(void 0!==s){var r=this.body.edges[s];if(void 0!==r){n++;var a=r.clusteringEdgeReplacingIds;if(void 0===a)o.push(s);else for(var h=0;ho&&(o=s.edges.length),t+=s.edges.length,e+=Math.pow(s.edges.length,2),i+=1}t/=i,e/=i;var r=e-Math.pow(t,2),a=Math.sqrt(r),h=Math.floor(t+2*a);return h>o&&(h=o),h}},{key:"_createClusteredEdge",value:function(t,e,i,o,n){var s=p.cloneOptions(i,"edge");c.deepExtend(s,o),s.from=t,s.to=e,s.id="clusterEdge:"+c.randomUUID(),void 0!==n&&c.deepExtend(s,n);var r=this.body.functions.createEdge(s);return r.clusteringEdgeReplacingIds=[i.id],r.connect(),this.body.edges[r.id]=r,r}},{key:"_clusterEdges",value:function(t,e,i,o){if(e instanceof m){var n=e,s={};s[n.id]=n,e=s}if(t instanceof v){var r=t,a={};a[r.id]=r,t=a}if(void 0===i||null===i)throw new Error("_clusterEdges: parameter clusterNode required");void 0===o&&(o=i.clusterEdgeProperties),this._createClusterEdges(t,e,i,o);for(var h in e)if(e.hasOwnProperty(h)&&void 0!==this.body.edges[h]){var d=this.body.edges[h];this._backupEdgeOptions(d),d.setOptions({physics:!1})}for(var l in t)t.hasOwnProperty(l)&&(this.clusteredNodes[l]={clusterId:i.id,node:this.body.nodes[l]},this.body.nodes[l].setOptions({physics:!1}))}},{key:"_getClusterNodeForNode",value:function(t){if(void 0!==t){var e=this.clusteredNodes[t];if(void 0!==e){var i=e.clusterId;if(void 0!==i)return this.body.nodes[i]}}}},{key:"_filter",value:function(t,e){var i=[];return c.forEach(t,function(t){e(t)&&i.push(t)}),i}},{key:"_updateState",value:function(){var t=this,e=void 0,i=[],o=[],n=function(e){c.forEach(t.body.nodes,function(t){!0===t.isCluster&&e(t)})};for(e in this.clusteredNodes)if(this.clusteredNodes.hasOwnProperty(e)){var r=this.body.nodes[e];void 0===r&&i.push(e)}n(function(t){for(var e=0;e0}e.endPointsValid()&&n||o.push(i)}),n(function(e){c.forEach(o,function(i){delete e.containedEdges[i],c.forEach(e.edges,function(n,s){if(n.id===i)return void(e.edges[s]=null);n.clusteringEdgeReplacingIds=t._filter(n.clusteringEdgeReplacingIds,function(t){return-1===o.indexOf(t)})}),e.edges=t._filter(e.edges,function(t){return null!==t})})}),c.forEach(o,function(e){delete t.clusteredEdges[e]}),c.forEach(o,function(e){delete t.body.edges[e]});var h=(0,s.default)(this.body.edges);c.forEach(h,function(e){var i=t.body.edges[e],o=t._isClusteredNode(i.fromId)||t._isClusteredNode(i.toId);if(o!==t._isClusteredEdge(i.id)){if(!o)throw new Error("remove edge from clustering not implemented!");var n=t._getClusterNodeForNode(i.fromId);void 0!==n&&t._clusterEdges(t.body.nodes[i.fromId],i,n);var s=t._getClusterNodeForNode(i.toId);void 0!==s&&t._clusterEdges(t.body.nodes[i.toId],i,s)}});for(var d=!1,l=!0;l;)!function(){var e=[];n(function(t){var i=(0,s.default)(t.containedNodes).length,o=!0===t.options.allowSingleNodeCluster;(o&&i<1||!o&&i<2)&&e.push(t.id)});for(var i=0;i0,d=d||l}();d&&this._updateState()}},{key:"_isClusteredNode",value:function(t){return void 0!==this.clusteredNodes[t]}},{key:"_isClusteredEdge",value:function(t){return void 0!==this.clusteredEdges[t]}}]),t}();e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(3),s=o(n),r=i(0),a=o(r),h=i(1),d=o(h),l=i(4),u=o(l),c=i(5),p=o(c),f=i(2),m=i(48).default,v=function(t){function e(t,i,o,n,r,h){(0,a.default)(this,e);var d=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o,n,r,h));return d.isCluster=!0,d.containedNodes={},d.containedEdges={},d}return(0,p.default)(e,t),(0,d.default)(e,[{key:"_openChildCluster",value:function(t){var e=this,i=this.body.nodes[t];if(void 0===this.containedNodes[t])throw new Error("node with id: "+t+" not in current cluster");if(!i.isCluster)throw new Error("node with id: "+t+" is not a cluster");delete this.containedNodes[t],f.forEach(i.edges,function(t){delete e.containedEdges[t.id]}),f.forEach(i.containedNodes,function(t,i){e.containedNodes[i]=t}),i.containedNodes={},f.forEach(i.containedEdges,function(t,i){e.containedEdges[i]=t}),i.containedEdges={},f.forEach(i.edges,function(t){f.forEach(e.edges,function(i){var o=i.clusteringEdgeReplacingIds.indexOf(t.id);-1!==o&&(f.forEach(t.clusteringEdgeReplacingIds,function(t){i.clusteringEdgeReplacingIds.push(t),e.body.edges[t].edgeReplacedById=i.id}),i.clusteringEdgeReplacingIds.splice(o,1))})}),i.edges=[]}}]),e}(m);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}function n(){var t;void 0!==window&&(t=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame),window.requestAnimationFrame=void 0===t?function(t){t()}:t}Object.defineProperty(e,"__esModule",{value:!0});var s=i(0),r=o(s),a=i(1),h=o(a),d=i(2),l=function(){function t(e,i){(0,r.default)(this,t),n(),this.body=e,this.canvas=i,this.redrawRequested=!1,this.renderTimer=void 0,this.requiresTimeout=!0,this.renderingActive=!1,this.renderRequests=0,this.allowRedraw=!0,this.dragging=!1,this.options={},this.defaultOptions={hideEdgesOnDrag:!1,hideNodesOnDrag:!1},d.extend(this.options,this.defaultOptions),this._determineBrowserMethod(),this.bindEventListeners()}return(0,h.default)(t,[{key:"bindEventListeners",value:function(){var t=this;this.body.emitter.on("dragStart",function(){t.dragging=!0}),this.body.emitter.on("dragEnd",function(){t.dragging=!1}),this.body.emitter.on("_resizeNodes",function(){t._resizeNodes()}),this.body.emitter.on("_redraw",function(){!1===t.renderingActive&&t._redraw()}),this.body.emitter.on("_blockRedraw",function(){t.allowRedraw=!1}),this.body.emitter.on("_allowRedraw",function(){t.allowRedraw=!0,t.redrawRequested=!1}),this.body.emitter.on("_requestRedraw",this._requestRedraw.bind(this)),this.body.emitter.on("_startRendering",function(){t.renderRequests+=1,t.renderingActive=!0,t._startRendering()}),this.body.emitter.on("_stopRendering",function(){t.renderRequests-=1,t.renderingActive=t.renderRequests>0,t.renderTimer=void 0}),this.body.emitter.on("destroy",function(){t.renderRequests=0,t.allowRedraw=!1,t.renderingActive=!1,!0===t.requiresTimeout?clearTimeout(t.renderTimer):window.cancelAnimationFrame(t.renderTimer),t.body.emitter.off()})}},{key:"setOptions",value:function(t){if(void 0!==t){var e=["hideEdgesOnDrag","hideNodesOnDrag"];d.selectiveDeepExtend(e,this.options,t)}}},{key:"_requestNextFrame",value:function(t,e){if("undefined"!=typeof window){var i=void 0,o=window;return!0===this.requiresTimeout?i=o.setTimeout(t,e):o.requestAnimationFrame&&(i=o.requestAnimationFrame(t)),i}}},{key:"_startRendering",value:function(){!0===this.renderingActive&&void 0===this.renderTimer&&(this.renderTimer=this._requestNextFrame(this._renderStep.bind(this),this.simulationInterval))}},{key:"_renderStep",value:function(){!0===this.renderingActive&&(this.renderTimer=void 0,!0===this.requiresTimeout&&this._startRendering(),this._redraw(),!1===this.requiresTimeout&&this._startRendering())}},{key:"redraw",value:function(){this.body.emitter.emit("setSize"),this._redraw()}},{key:"_requestRedraw",value:function(){var t=this;!0!==this.redrawRequested&&!1===this.renderingActive&&!0===this.allowRedraw&&(this.redrawRequested=!0,this._requestNextFrame(function(){t._redraw(!1)},0))}},{key:"_redraw",value:function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(!0===this.allowRedraw){this.body.emitter.emit("initRedraw"),this.redrawRequested=!1,0!==this.canvas.frame.canvas.width&&0!==this.canvas.frame.canvas.height||this.canvas.setSize(),this.canvas.setTransform();var e=this.canvas.getContext(),i=this.canvas.frame.canvas.clientWidth,o=this.canvas.frame.canvas.clientHeight;if(e.clearRect(0,0,i,o),0===this.canvas.frame.clientWidth)return;e.save(),e.translate(this.body.view.translation.x,this.body.view.translation.y),e.scale(this.body.view.scale,this.body.view.scale),e.beginPath(),this.body.emitter.emit("beforeDrawing",e),e.closePath(),!1===t&&(!1===this.dragging||!0===this.dragging&&!1===this.options.hideEdgesOnDrag)&&this._drawEdges(e),(!1===this.dragging||!0===this.dragging&&!1===this.options.hideNodesOnDrag)&&this._drawNodes(e,t),e.beginPath(),this.body.emitter.emit("afterDrawing",e),e.closePath(),e.restore(),!0===t&&e.clearRect(0,0,i,o)}}},{key:"_resizeNodes",value:function(){this.canvas.setTransform();var t=this.canvas.getContext();t.save(),t.translate(this.body.view.translation.x,this.body.view.translation.y),t.scale(this.body.view.scale,this.body.view.scale);var e=this.body.nodes,i=void 0;for(var o in e)e.hasOwnProperty(o)&&(i=e[o],i.resize(t),i.updateBoundingBox(t,i.selected));t.restore()}},{key:"_drawNodes",value:function(t){for(var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=this.body.nodes,o=this.body.nodeIndices,n=void 0,s=[],r=this.canvas.DOMtoCanvas({x:-20,y:-20}),a=this.canvas.DOMtoCanvas({x:this.canvas.frame.canvas.clientWidth+20,y:this.canvas.frame.canvas.clientHeight+20}),h={top:r.y,left:r.x,bottom:a.y,right:a.x},d=0;d0&&void 0!==arguments[0]?arguments[0]:this.pixelRatio;!0===this.initialized&&(this.cameraState.previousWidth=this.frame.canvas.width/t,this.cameraState.previousHeight=this.frame.canvas.height/t,this.cameraState.scale=this.body.view.scale,this.cameraState.position=this.DOMtoCanvas({x:.5*this.frame.canvas.width/t,y:.5*this.frame.canvas.height/t}))}},{key:"_setCameraState",value:function(){if(void 0!==this.cameraState.scale&&0!==this.frame.canvas.clientWidth&&0!==this.frame.canvas.clientHeight&&0!==this.pixelRatio&&this.cameraState.previousWidth>0){var t=this.frame.canvas.width/this.pixelRatio/this.cameraState.previousWidth,e=this.frame.canvas.height/this.pixelRatio/this.cameraState.previousHeight,i=this.cameraState.scale;1!=t&&1!=e?i=.5*this.cameraState.scale*(t+e):1!=t?i=this.cameraState.scale*t:1!=e&&(i=this.cameraState.scale*e),this.body.view.scale=i;var o=this.DOMtoCanvas({x:.5*this.frame.canvas.clientWidth,y:.5*this.frame.canvas.clientHeight}),n={x:o.x-this.cameraState.position.x,y:o.y-this.cameraState.position.y};this.body.view.translation.x+=n.x*this.body.view.scale,this.body.view.translation.y+=n.y*this.body.view.scale}}},{key:"_prepareValue",value:function(t){if("number"==typeof t)return t+"px";if("string"==typeof t){if(-1!==t.indexOf("%")||-1!==t.indexOf("px"))return t;if(-1===t.indexOf("%"))return t+"px"}throw new Error("Could not use the value supplied for width or height:"+t)}},{key:"_create",value:function(){for(;this.body.container.hasChildNodes();)this.body.container.removeChild(this.body.container.firstChild);if(this.frame=document.createElement("div"),this.frame.className="vis-network",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)this._setPixelRatio(),this.setTransform();else{var t=document.createElement("DIV");t.style.color="red",t.style.fontWeight="bold",t.style.padding="10px",t.innerHTML="Error: your browser does not support HTML canvas",this.frame.canvas.appendChild(t)}this.body.container.appendChild(this.frame),this.body.view.scale=1,this.body.view.translation={x:.5*this.frame.canvas.clientWidth,y:.5*this.frame.canvas.clientHeight},this._bindHammer()}},{key:"_bindHammer",value:function(){var t=this;void 0!==this.hammer&&this.hammer.destroy(),this.drag={},this.pinch={},this.hammer=new h(this.frame.canvas),this.hammer.get("pinch").set({enable:!0}),this.hammer.get("pan").set({threshold:5,direction:h.DIRECTION_ALL}),d.onTouch(this.hammer,function(e){t.body.eventListeners.onTouch(e)}),this.hammer.on("tap",function(e){t.body.eventListeners.onTap(e)}),this.hammer.on("doubletap",function(e){t.body.eventListeners.onDoubleTap(e)}),this.hammer.on("press",function(e){t.body.eventListeners.onHold(e)}),this.hammer.on("panstart",function(e){ +t.body.eventListeners.onDragStart(e)}),this.hammer.on("panmove",function(e){t.body.eventListeners.onDrag(e)}),this.hammer.on("panend",function(e){t.body.eventListeners.onDragEnd(e)}),this.hammer.on("pinch",function(e){t.body.eventListeners.onPinch(e)}),this.frame.canvas.addEventListener("mousewheel",function(e){t.body.eventListeners.onMouseWheel(e)}),this.frame.canvas.addEventListener("DOMMouseScroll",function(e){t.body.eventListeners.onMouseWheel(e)}),this.frame.canvas.addEventListener("mousemove",function(e){t.body.eventListeners.onMouseMove(e)}),this.frame.canvas.addEventListener("contextmenu",function(e){t.body.eventListeners.onContext(e)}),this.hammerFrame=new h(this.frame),d.onRelease(this.hammerFrame,function(e){t.body.eventListeners.onRelease(e)})}},{key:"setSize",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.options.width,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.options.height;t=this._prepareValue(t),e=this._prepareValue(e);var i=!1,o=this.frame.canvas.width,n=this.frame.canvas.height,s=this.pixelRatio;if(this._setPixelRatio(),t!=this.options.width||e!=this.options.height||this.frame.style.width!=t||this.frame.style.height!=e)this._getCameraState(s),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=Math.round(this.frame.canvas.clientWidth*this.pixelRatio),this.frame.canvas.height=Math.round(this.frame.canvas.clientHeight*this.pixelRatio),this.options.width=t,this.options.height=e,this.canvasViewCenter={x:.5*this.frame.clientWidth,y:.5*this.frame.clientHeight},i=!0;else{var r=Math.round(this.frame.canvas.clientWidth*this.pixelRatio),a=Math.round(this.frame.canvas.clientHeight*this.pixelRatio);this.frame.canvas.width===r&&this.frame.canvas.height===a||this._getCameraState(s),this.frame.canvas.width!==r&&(this.frame.canvas.width=r,i=!0),this.frame.canvas.height!==a&&(this.frame.canvas.height=a,i=!0)}return!0===i&&(this.body.emitter.emit("resize",{width:Math.round(this.frame.canvas.width/this.pixelRatio),height:Math.round(this.frame.canvas.height/this.pixelRatio),oldWidth:Math.round(o/this.pixelRatio),oldHeight:Math.round(n/this.pixelRatio)}),this._setCameraState()),this.initialized=!0,i}},{key:"getContext",value:function(){return this.frame.canvas.getContext("2d")}},{key:"_determinePixelRatio",value:function(){var t=this.getContext();if(void 0===t)throw new Error("Could not get canvax context");var e=1;return"undefined"!=typeof window&&(e=window.devicePixelRatio||1),e/(t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1)}},{key:"_setPixelRatio",value:function(){this.pixelRatio=this._determinePixelRatio()}},{key:"setTransform",value:function(){var t=this.getContext();if(void 0===t)throw new Error("Could not get canvax context");t.setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0)}},{key:"_XconvertDOMtoCanvas",value:function(t){return(t-this.body.view.translation.x)/this.body.view.scale}},{key:"_XconvertCanvasToDOM",value:function(t){return t*this.body.view.scale+this.body.view.translation.x}},{key:"_YconvertDOMtoCanvas",value:function(t){return(t-this.body.view.translation.y)/this.body.view.scale}},{key:"_YconvertCanvasToDOM",value:function(t){return t*this.body.view.scale+this.body.view.translation.y}},{key:"canvasToDOM",value:function(t){return{x:this._XconvertCanvasToDOM(t.x),y:this._YconvertCanvasToDOM(t.y)}}},{key:"DOMtoCanvas",value:function(t){return{x:this._XconvertDOMtoCanvas(t.x),y:this._YconvertDOMtoCanvas(t.y)}}}]),t}();e.default=u},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(0),s=o(n),r=i(1),a=o(r),h=i(2),d=i(76).default,l=function(){function t(e,i){var o=this;(0,s.default)(this,t),this.body=e,this.canvas=i,this.animationSpeed=1/this.renderRefreshRate,this.animationEasingFunction="easeInOutQuint",this.easingTime=0,this.sourceScale=0,this.targetScale=0,this.sourceTranslation=0,this.targetTranslation=0,this.lockedOnNodeId=void 0,this.lockedOnNodeOffset=void 0,this.touchTime=0,this.viewFunction=void 0,this.body.emitter.on("fit",this.fit.bind(this)),this.body.emitter.on("animationFinished",function(){o.body.emitter.emit("_stopRendering")}),this.body.emitter.on("unlockNode",this.releaseNode.bind(this))}return(0,a.default)(t,[{key:"setOptions",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.options=t}},{key:"fit",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{nodes:[]},e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=void 0,o=void 0;if(void 0!==t.nodes&&0!==t.nodes.length||(t.nodes=this.body.nodeIndices),!0===e){var n=0;for(var s in this.body.nodes)if(this.body.nodes.hasOwnProperty(s)){var r=this.body.nodes[s];!0===r.predefinedPosition&&(n+=1)}if(n>.5*this.body.nodeIndices.length)return void this.fit(t,!1);i=d.getRange(this.body.nodes,t.nodes);o=12.662/(this.body.nodeIndices.length+7.4147)+.0964822;o*=Math.min(this.canvas.frame.canvas.clientWidth/600,this.canvas.frame.canvas.clientHeight/600)}else{this.body.emitter.emit("_resizeNodes"),i=d.getRange(this.body.nodes,t.nodes);var a=1.1*Math.abs(i.maxX-i.minX),h=1.1*Math.abs(i.maxY-i.minY),l=this.canvas.frame.canvas.clientWidth/a,u=this.canvas.frame.canvas.clientHeight/h;o=l<=u?l:u}o>1?o=1:0===o&&(o=1);var c=d.findCenter(i),p={position:c,scale:o,animation:t.animation};this.moveTo(p)}},{key:"focus",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(void 0!==this.body.nodes[t]){var i={x:this.body.nodes[t].x,y:this.body.nodes[t].y};e.position=i,e.lockedOnNode=t,this.moveTo(e)}else console.log("Node: "+t+" cannot be found.")}},{key:"moveTo",value:function(t){if(void 0===t)return void(t={});void 0===t.offset&&(t.offset={x:0,y:0}),void 0===t.offset.x&&(t.offset.x=0),void 0===t.offset.y&&(t.offset.y=0),void 0===t.scale&&(t.scale=this.body.view.scale),void 0===t.position&&(t.position=this.getViewPosition()),void 0===t.animation&&(t.animation={duration:0}),!1===t.animation&&(t.animation={duration:0}),!0===t.animation&&(t.animation={}),void 0===t.animation.duration&&(t.animation.duration=1e3),void 0===t.animation.easingFunction&&(t.animation.easingFunction="easeInOutQuad"),this.animateView(t)}},{key:"animateView",value:function(t){if(void 0!==t){this.animationEasingFunction=t.animation.easingFunction,this.releaseNode(),!0===t.locked&&(this.lockedOnNodeId=t.lockedOnNode,this.lockedOnNodeOffset=t.offset),0!=this.easingTime&&this._transitionRedraw(!0),this.sourceScale=this.body.view.scale,this.sourceTranslation=this.body.view.translation,this.targetScale=t.scale,this.body.view.scale=this.targetScale;var e=this.canvas.DOMtoCanvas({x:.5*this.canvas.frame.canvas.clientWidth,y:.5*this.canvas.frame.canvas.clientHeight}),i={x:e.x-t.position.x,y:e.y-t.position.y};this.targetTranslation={x:this.sourceTranslation.x+i.x*this.targetScale+t.offset.x,y:this.sourceTranslation.y+i.y*this.targetScale+t.offset.y},0===t.animation.duration?void 0!=this.lockedOnNodeId?(this.viewFunction=this._lockedRedraw.bind(this),this.body.emitter.on("initRedraw",this.viewFunction)):(this.body.view.scale=this.targetScale,this.body.view.translation=this.targetTranslation,this.body.emitter.emit("_requestRedraw")):(this.animationSpeed=1/(60*t.animation.duration*.001)||1/60,this.animationEasingFunction=t.animation.easingFunction,this.viewFunction=this._transitionRedraw.bind(this),this.body.emitter.on("initRedraw",this.viewFunction),this.body.emitter.emit("_startRendering"))}}},{key:"_lockedRedraw",value:function(){var t={x:this.body.nodes[this.lockedOnNodeId].x,y:this.body.nodes[this.lockedOnNodeId].y},e=this.canvas.DOMtoCanvas({x:.5*this.canvas.frame.canvas.clientWidth,y:.5*this.canvas.frame.canvas.clientHeight}),i={x:e.x-t.x,y:e.y-t.y},o=this.body.view.translation,n={x:o.x+i.x*this.body.view.scale+this.lockedOnNodeOffset.x,y:o.y+i.y*this.body.view.scale+this.lockedOnNodeOffset.y};this.body.view.translation=n}},{key:"releaseNode",value:function(){void 0!==this.lockedOnNodeId&&void 0!==this.viewFunction&&(this.body.emitter.off("initRedraw",this.viewFunction),this.lockedOnNodeId=void 0,this.lockedOnNodeOffset=void 0)}},{key:"_transitionRedraw",value:function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.easingTime+=this.animationSpeed,this.easingTime=!0===t?1:this.easingTime;var e=h.easingFunctions[this.animationEasingFunction](this.easingTime);this.body.view.scale=this.sourceScale+(this.targetScale-this.sourceScale)*e,this.body.view.translation={x:this.sourceTranslation.x+(this.targetTranslation.x-this.sourceTranslation.x)*e,y:this.sourceTranslation.y+(this.targetTranslation.y-this.sourceTranslation.y)*e},this.easingTime>=1&&(this.body.emitter.off("initRedraw",this.viewFunction),this.easingTime=0,void 0!=this.lockedOnNodeId&&(this.viewFunction=this._lockedRedraw.bind(this),this.body.emitter.on("initRedraw",this.viewFunction)),this.body.emitter.emit("animationFinished"))}},{key:"getScale",value:function(){return this.body.view.scale}},{key:"getViewPosition",value:function(){return this.canvas.DOMtoCanvas({x:.5*this.canvas.frame.canvas.clientWidth,y:.5*this.canvas.frame.canvas.clientHeight})}}]),t}();e.default=l},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(0),s=o(n),r=i(1),a=o(r),h=i(2),d=i(233).default,l=i(104).default,u=function(){function t(e,i,o){(0,s.default)(this,t),this.body=e,this.canvas=i,this.selectionHandler=o,this.navigationHandler=new d(e,i),this.body.eventListeners.onTap=this.onTap.bind(this),this.body.eventListeners.onTouch=this.onTouch.bind(this),this.body.eventListeners.onDoubleTap=this.onDoubleTap.bind(this),this.body.eventListeners.onHold=this.onHold.bind(this),this.body.eventListeners.onDragStart=this.onDragStart.bind(this),this.body.eventListeners.onDrag=this.onDrag.bind(this),this.body.eventListeners.onDragEnd=this.onDragEnd.bind(this),this.body.eventListeners.onMouseWheel=this.onMouseWheel.bind(this),this.body.eventListeners.onPinch=this.onPinch.bind(this),this.body.eventListeners.onMouseMove=this.onMouseMove.bind(this),this.body.eventListeners.onRelease=this.onRelease.bind(this),this.body.eventListeners.onContext=this.onContext.bind(this),this.touchTime=0,this.drag={},this.pinch={},this.popup=void 0,this.popupObj=void 0,this.popupTimer=void 0,this.body.functions.getPointer=this.getPointer.bind(this),this.options={},this.defaultOptions={dragNodes:!0,dragView:!0,hover:!1,keyboard:{enabled:!1,speed:{x:10,y:10,zoom:.02},bindToWindow:!0},navigationButtons:!1,tooltipDelay:300,zoomView:!0},h.extend(this.options,this.defaultOptions),this.bindEventListeners()}return(0,a.default)(t,[{key:"bindEventListeners",value:function(){var t=this;this.body.emitter.on("destroy",function(){clearTimeout(t.popupTimer),delete t.body.functions.getPointer})}},{key:"setOptions",value:function(t){if(void 0!==t){var e=["hideEdgesOnDrag","hideNodesOnDrag","keyboard","multiselect","selectable","selectConnectedEdges"];h.selectiveNotDeepExtend(e,this.options,t),h.mergeOptions(this.options,t,"keyboard"),t.tooltip&&(h.extend(this.options.tooltip,t.tooltip),t.tooltip.color&&(this.options.tooltip.color=h.parseColor(t.tooltip.color)))}this.navigationHandler.setOptions(this.options)}},{key:"getPointer",value:function(t){return{x:t.x-h.getAbsoluteLeft(this.canvas.frame.canvas),y:t.y-h.getAbsoluteTop(this.canvas.frame.canvas)}}},{key:"onTouch",value:function(t){(new Date).valueOf()-this.touchTime>50&&(this.drag.pointer=this.getPointer(t.center),this.drag.pinched=!1,this.pinch.scale=this.body.view.scale,this.touchTime=(new Date).valueOf())}},{key:"onTap",value:function(t){var e=this.getPointer(t.center),i=this.selectionHandler.options.multiselect&&(t.changedPointers[0].ctrlKey||t.changedPointers[0].metaKey);this.checkSelectionChanges(e,t,i),this.selectionHandler._generateClickEvent("click",t,e)}},{key:"onDoubleTap",value:function(t){var e=this.getPointer(t.center);this.selectionHandler._generateClickEvent("doubleClick",t,e)}},{key:"onHold",value:function(t){var e=this.getPointer(t.center),i=this.selectionHandler.options.multiselect;this.checkSelectionChanges(e,t,i),this.selectionHandler._generateClickEvent("click",t,e),this.selectionHandler._generateClickEvent("hold",t,e)}},{key:"onRelease",value:function(t){if((new Date).valueOf()-this.touchTime>10){var e=this.getPointer(t.center);this.selectionHandler._generateClickEvent("release",t,e),this.touchTime=(new Date).valueOf()}}},{key:"onContext",value:function(t){var e=this.getPointer({x:t.clientX,y:t.clientY});this.selectionHandler._generateClickEvent("oncontext",t,e)}},{key:"checkSelectionChanges",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=this.selectionHandler.getSelection(),n=!1;n=!0===i?this.selectionHandler.selectAdditionalOnPoint(t):this.selectionHandler.selectOnPoint(t);var s=this.selectionHandler.getSelection(),r=this._determineDifference(o,s),a=this._determineDifference(s,o);r.edges.length>0&&(this.selectionHandler._generateClickEvent("deselectEdge",e,t,o),n=!0),r.nodes.length>0&&(this.selectionHandler._generateClickEvent("deselectNode",e,t,o),n=!0),a.nodes.length>0&&(this.selectionHandler._generateClickEvent("selectNode",e,t),n=!0),a.edges.length>0&&(this.selectionHandler._generateClickEvent("selectEdge",e,t),n=!0),!0===n&&this.selectionHandler._generateClickEvent("select",e,t)}},{key:"_determineDifference",value:function(t,e){var i=function(t,e){for(var i=[],o=0;o10&&(t=10);var o=void 0;void 0!==this.drag&&!0===this.drag.dragging&&(o=this.canvas.DOMtoCanvas(this.drag.pointer));var n=this.body.view.translation,s=t/i,r=(1-s)*e.x+n.x*s,a=(1-s)*e.y+n.y*s;if(this.body.view.scale=t,this.body.view.translation={x:r,y:a},void 0!=o){var h=this.canvas.canvasToDOM(o);this.drag.pointer.x=h.x,this.drag.pointer.y=h.y}this.body.emitter.emit("_requestRedraw"),i0&&(this.popupObj=h[u[u.length-1]],s=!0)}if(void 0===this.popupObj&&!1===s){for(var p=this.body.edgeIndices,f=this.body.edges,m=void 0,v=[],g=0;g0&&(this.popupObj=f[v[v.length-1]],r="edge")}void 0!==this.popupObj?this.popupObj.id!==n&&(void 0===this.popup&&(this.popup=new l(this.canvas.frame)),this.popup.popupTargetType=r,this.popup.popupTargetId=this.popupObj.id,this.popup.setPosition(t.x+3,t.y-5),this.popup.setText(this.popupObj.getTitle()),this.popup.show(),this.body.emitter.emit("showPopup",this.popupObj.id)):void 0!==this.popup&&(this.popup.hide(),this.body.emitter.emit("hidePopup"))}},{key:"_checkHidePopup",value:function(t){var e=this.selectionHandler._pointerToPositionObject(t),i=!1;if("node"===this.popup.popupTargetType){if(void 0!==this.body.nodes[this.popup.popupTargetId]&&!0===(i=this.body.nodes[this.popup.popupTargetId].isOverlappingWith(e))){var o=this.selectionHandler.getNodeAt(t);i=void 0!==o&&o.id===this.popup.popupTargetId}}else void 0===this.selectionHandler.getNodeAt(t)&&void 0!==this.body.edges[this.popup.popupTargetId]&&(i=this.body.edges[this.popup.popupTargetId].isOverlappingWith(e));!1===i&&(this.popupObj=void 0,this.popup.hide(),this.body.emitter.emit("hidePopup"))}}]),t}();e.default=u},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(0),s=o(n),r=i(1),a=o(r),h=i(10),d=i(37),l=i(35),u=function(){function t(e,i){var o=this;(0,s.default)(this,t),this.body=e,this.canvas=i,this.iconsCreated=!1,this.navigationHammers=[],this.boundFunctions={},this.touchTime=0,this.activated=!1,this.body.emitter.on("activate",function(){o.activated=!0,o.configureKeyboardBindings()}),this.body.emitter.on("deactivate",function(){o.activated=!1,o.configureKeyboardBindings()}),this.body.emitter.on("destroy",function(){void 0!==o.keycharm&&o.keycharm.destroy()}),this.options={}}return(0,a.default)(t,[{key:"setOptions",value:function(t){void 0!==t&&(this.options=t,this.create())}},{key:"create",value:function(){!0===this.options.navigationButtons?!1===this.iconsCreated&&this.loadNavigationElements():!0===this.iconsCreated&&this.cleanNavigation(),this.configureKeyboardBindings()}},{key:"cleanNavigation",value:function(){if(0!=this.navigationHammers.length){for(var t=0;t700&&(this.body.emitter.emit("fit",{duration:700}),this.touchTime=(new Date).valueOf())}},{key:"_stopMovement",value:function(){for(var t in this.boundFunctions)this.boundFunctions.hasOwnProperty(t)&&(this.body.emitter.off("initRedraw",this.boundFunctions[t]),this.body.emitter.emit("_stopRendering"));this.boundFunctions={}}},{key:"_moveUp",value:function(){this.body.view.translation.y+=this.options.keyboard.speed.y}},{key:"_moveDown",value:function(){this.body.view.translation.y-=this.options.keyboard.speed.y}},{key:"_moveLeft",value:function(){this.body.view.translation.x+=this.options.keyboard.speed.x}},{key:"_moveRight",value:function(){this.body.view.translation.x-=this.options.keyboard.speed.x}},{key:"_zoomIn",value:function(){var t=this.body.view.scale,e=this.body.view.scale*(1+this.options.keyboard.speed.zoom),i=this.body.view.translation,o=e/t,n=(1-o)*this.canvas.canvasViewCenter.x+i.x*o,s=(1-o)*this.canvas.canvasViewCenter.y+i.y*o;this.body.view.scale=e,this.body.view.translation={x:n,y:s},this.body.emitter.emit("zoom",{direction:"+",scale:this.body.view.scale,pointer:null})}},{key:"_zoomOut",value:function(){var t=this.body.view.scale,e=this.body.view.scale/(1+this.options.keyboard.speed.zoom),i=this.body.view.translation,o=e/t,n=(1-o)*this.canvas.canvasViewCenter.x+i.x*o,s=(1-o)*this.canvas.canvasViewCenter.y+i.y*o;this.body.view.scale=e,this.body.view.translation={x:n,y:s},this.body.emitter.emit("zoom",{direction:"-",scale:this.body.view.scale,pointer:null})}},{key:"configureKeyboardBindings",value:function(){var t=this;void 0!==this.keycharm&&this.keycharm.destroy(),!0===this.options.keyboard.enabled&&(!0===this.options.keyboard.bindToWindow?this.keycharm=l({container:window,preventDefault:!0}):this.keycharm=l({container:this.canvas.frame,preventDefault:!0}),this.keycharm.reset(),!0===this.activated&&(this.keycharm.bind("up",function(){t.bindToRedraw("_moveUp")},"keydown"),this.keycharm.bind("down",function(){t.bindToRedraw("_moveDown")},"keydown"),this.keycharm.bind("left",function(){t.bindToRedraw("_moveLeft")},"keydown"),this.keycharm.bind("right",function(){t.bindToRedraw("_moveRight")},"keydown"),this.keycharm.bind("=",function(){t.bindToRedraw("_zoomIn")},"keydown"),this.keycharm.bind("num+",function(){t.bindToRedraw("_zoomIn")},"keydown"),this.keycharm.bind("num-",function(){t.bindToRedraw("_zoomOut")},"keydown"),this.keycharm.bind("-",function(){t.bindToRedraw("_zoomOut")},"keydown"),this.keycharm.bind("[",function(){t.bindToRedraw("_zoomOut")},"keydown"),this.keycharm.bind("]",function(){t.bindToRedraw("_zoomIn")},"keydown"),this.keycharm.bind("pageup",function(){t.bindToRedraw("_zoomIn")},"keydown"),this.keycharm.bind("pagedown",function(){t.bindToRedraw("_zoomOut")},"keydown"),this.keycharm.bind("up",function(){t.unbindFromRedraw("_moveUp")},"keyup"),this.keycharm.bind("down",function(){t.unbindFromRedraw("_moveDown")},"keyup"),this.keycharm.bind("left",function(){t.unbindFromRedraw("_moveLeft")},"keyup"),this.keycharm.bind("right",function(){t.unbindFromRedraw("_moveRight")},"keyup"),this.keycharm.bind("=",function(){t.unbindFromRedraw("_zoomIn")},"keyup"),this.keycharm.bind("num+",function(){t.unbindFromRedraw("_zoomIn")},"keyup"),this.keycharm.bind("num-",function(){t.unbindFromRedraw("_zoomOut")},"keyup"),this.keycharm.bind("-",function(){t.unbindFromRedraw("_zoomOut")},"keyup"),this.keycharm.bind("[",function(){t.unbindFromRedraw("_zoomOut")},"keyup"),this.keycharm.bind("]",function(){t.unbindFromRedraw("_zoomIn")},"keyup"),this.keycharm.bind("pageup",function(){t.unbindFromRedraw("_zoomIn")},"keyup"),this.keycharm.bind("pagedown",function(){t.unbindFromRedraw("_zoomOut")},"keyup")))}}]),t}();e.default=u},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(0),s=o(n),r=i(1),a=o(r),h=i(48).default,d=i(74).default,l=i(2),u=function(){function t(e,i){var o=this;(0,s.default)(this,t),this.body=e,this.canvas=i,this.selectionObj={nodes:[],edges:[]},this.hoverObj={nodes:{},edges:{}},this.options={},this.defaultOptions={multiselect:!1,selectable:!0,selectConnectedEdges:!0,hoverConnectedEdges:!0},l.extend(this.options,this.defaultOptions),this.body.emitter.on("_dataChanged",function(){o.updateSelection()})}return(0,a.default)(t,[{key:"setOptions",value:function(t){if(void 0!==t){var e=["multiselect","hoverConnectedEdges","selectable","selectConnectedEdges"];l.selectiveDeepExtend(e,this.options,t)}}},{key:"selectOnPoint",value:function(t){var e=!1;if(!0===this.options.selectable){var i=this.getNodeAt(t)||this.getEdgeAt(t);this.unselectAll(),void 0!==i&&(e=this.selectObject(i)),this.body.emitter.emit("_requestRedraw")}return e}},{key:"selectAdditionalOnPoint",value:function(t){var e=!1;if(!0===this.options.selectable){var i=this.getNodeAt(t)||this.getEdgeAt(t);void 0!==i&&(e=!0,!0===i.isSelected()?this.deselectObject(i):this.selectObject(i),this.body.emitter.emit("_requestRedraw"))}return e}},{key:"_initBaseEvent",value:function(t,e){var i={};return i.pointer={DOM:{x:e.x,y:e.y},canvas:this.canvas.DOMtoCanvas(e)},i.event=t,i}},{key:"_generateClickEvent",value:function(t,e,i,o){var n=arguments.length>4&&void 0!==arguments[4]&&arguments[4],s=this._initBaseEvent(e,i);if(!0===n)s.nodes=[],s.edges=[];else{var r=this.getSelection();s.nodes=r.nodes,s.edges=r.edges}void 0!==o&&(s.previousSelection=o),"click"==t&&(s.items=this.getClickedItems(i)),this.body.emitter.emit(t,s)}},{key:"selectObject",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.options.selectConnectedEdges;return void 0!==t&&(t instanceof h&&!0===e&&this._selectConnectedEdges(t),t.select(),this._addToSelection(t),!0)}},{key:"deselectObject",value:function(t){!0===t.isSelected()&&(t.selected=!1,this._removeFromSelection(t))}},{key:"_getAllNodesOverlappingWith",value:function(t){for(var e=[],i=this.body.nodes,o=0;o1&&void 0!==arguments[1])||arguments[1],i=this._pointerToPositionObject(t),o=this._getAllNodesOverlappingWith(i);return o.length>0?!0===e?this.body.nodes[o[o.length-1]]:o[o.length-1]:void 0}},{key:"_getEdgesOverlappingWith",value:function(t,e){for(var i=this.body.edges,o=0;o1&&void 0!==arguments[1])||arguments[1],i=this.canvas.DOMtoCanvas(t),o=10,n=null,s=this.body.edges,r=0;r1)return!0;return!1}},{key:"_selectConnectedEdges",value:function(t){for(var e=0;e1&&void 0!==arguments[1]?arguments[1]:{},i=void 0,o=void 0;if(!t||!t.nodes&&!t.edges)throw"Selection must be an object with nodes and/or edges properties";if((e.unselectAll||void 0===e.unselectAll)&&this.unselectAll(),t.nodes)for(i=0;i1&&void 0!==arguments[1])||arguments[1];if(!t||void 0===t.length)throw"Selection must be an array with ids";this.setSelection({nodes:t},{highlightEdges:e})}},{key:"selectEdges",value:function(t){if(!t||void 0===t.length)throw"Selection must be an array with ids";this.setSelection({edges:t})}},{key:"updateSelection",value:function(){for(var t in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(t)&&(this.body.nodes.hasOwnProperty(t)||delete this.selectionObj.nodes[t]);for(var e in this.selectionObj.edges)this.selectionObj.edges.hasOwnProperty(e)&&(this.body.edges.hasOwnProperty(e)||delete this.selectionObj.edges[e])}},{key:"getClickedItems",value:function(t){for(var e=this.canvas.DOMtoCanvas(t),i=[],o=this.body.nodeIndices,n=this.body.nodes,s=o.length-1;s>=0;s--){var r=n[o[s]],a=r.getItemsOnPoint(e);i.push.apply(i,a)}for(var h=this.body.edgeIndices,d=this.body.edges,l=h.length-1;l>=0;l--){var u=d[h[l]],c=u.getItemsOnPoint(e);i.push.apply(i,c)}return i}}]),t}();e.default=u},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(31),s=o(n),r=i(6),a=o(r),h=i(8),d=o(h),l=i(0),u=o(l),c=i(1),p=o(c),f=i(2),m=i(76).default,v=i(236),g=v.HorizontalStrategy,y=v.VerticalStrategy,b=function(){function t(){(0,u.default)(this,t),this.childrenReference={},this.parentReference={},this.trees={},this.distributionOrdering={},this.levels={},this.distributionIndex={},this.isTree=!1,this.treeIndex=-1}return(0,p.default)(t,[{key:"addRelation",value:function(t,e){void 0===this.childrenReference[t]&&(this.childrenReference[t]=[]),this.childrenReference[t].push(e),void 0===this.parentReference[e]&&(this.parentReference[e]=[]),this.parentReference[e].push(t)}},{key:"checkIfTree",value:function(){for(var t in this.parentReference)if(this.parentReference[t].length>1)return void(this.isTree=!1);this.isTree=!0}},{key:"numTrees",value:function(){return this.treeIndex+1}},{key:"setTreeIndex",value:function(t,e){void 0!==e&&void 0===this.trees[t.id]&&(this.trees[t.id]=e,this.treeIndex=Math.max(e,this.treeIndex))}},{key:"ensureLevel",value:function(t){void 0===this.levels[t]&&(this.levels[t]=0)}},{key:"getMaxLevel",value:function(t){var e=this,i={};return function t(o){if(void 0!==i[o])return i[o];var n=e.levels[o];if(e.childrenReference[o]){var s=e.childrenReference[o];if(s.length>0)for(var r=0;r0&&(i.levelSeparation*=-1):i.levelSeparation<0&&(i.levelSeparation*=-1),this.setDirectionStrategy(),this.body.emitter.emit("_resetHierarchicalLayout"),this.adaptAllOptionsForHierarchicalLayout(e);if(!0===o)return this.body.emitter.emit("refresh"),f.deepExtend(e,this.optionsBackup)}return e}},{key:"adaptAllOptionsForHierarchicalLayout",value:function(t){if(!0===this.options.hierarchical.enabled){var e=this.optionsBackup.physics;void 0===t.physics||!0===t.physics?(t.physics={enabled:void 0===e.enabled||e.enabled,solver:"hierarchicalRepulsion"},e.enabled=void 0===e.enabled||e.enabled,e.solver=e.solver||"barnesHut"):"object"===(0,a.default)(t.physics)?(e.enabled=void 0===t.physics.enabled||t.physics.enabled,e.solver=t.physics.solver||"barnesHut",t.physics.solver="hierarchicalRepulsion"):!1!==t.physics&&(e.solver="barnesHut",t.physics={solver:"hierarchicalRepulsion"});var i=this.direction.curveType();if(void 0===t.edges)this.optionsBackup.edges={smooth:{enabled:!0,type:"dynamic"}},t.edges={smooth:!1};else if(void 0===t.edges.smooth)this.optionsBackup.edges={smooth:{enabled:!0,type:"dynamic"}},t.edges.smooth=!1;else if("boolean"==typeof t.edges.smooth)this.optionsBackup.edges={smooth:t.edges.smooth},t.edges.smooth={enabled:t.edges.smooth,type:i};else{var o=t.edges.smooth;void 0!==o.type&&"dynamic"!==o.type&&(i=o.type),this.optionsBackup.edges={smooth:void 0===o.enabled||o.enabled,type:void 0===o.type?"dynamic":o.type,roundness:void 0===o.roundness?.5:o.roundness,forceDirection:void 0!==o.forceDirection&&o.forceDirection},t.edges.smooth={enabled:void 0===o.enabled||o.enabled,type:i,roundness:void 0===o.roundness?.5:o.roundness,forceDirection:void 0!==o.forceDirection&&o.forceDirection}}this.body.emitter.emit("_forceDisableDynamicCurves",i)}return t}},{key:"seededRandom",value:function(){var t=1e4*Math.sin(this.randomSeed++);return t-Math.floor(t)}},{key:"positionInitially",value:function(t){if(!0!==this.options.hierarchical.enabled){this.randomSeed=this.initialRandomSeed;for(var e=t.length+50,i=0;i150){for(var s=t.length;t.length>150&&o<=10;){o+=1;var r=t.length;o%3==0?this.body.modules.clustering.clusterBridges(n):this.body.modules.clustering.clusterOutliers(n);if(r==t.length&&o%3!=0)return this._declusterAll(),this.body.emitter.emit("_layoutFailed"),void console.info("This network could not be positioned by this version of the improved layout algorithm. Please disable improvedLayout for better performance.")}this.body.modules.kamadaKawai.setOptions({springLength:Math.max(150,2*s)})}o>10&&console.info("The clustering didn't succeed within the amount of interations allowed, progressing with partial result."),this.body.modules.kamadaKawai.solve(t,this.body.edgeIndices,!0),this._shiftToCenter();for(var a=0;a0){var t=void 0,e=void 0,i=!1,o=!1;this.lastNodeOnLevel={},this.hierarchical=new b;for(e in this.body.nodes)this.body.nodes.hasOwnProperty(e)&&(t=this.body.nodes[e],void 0!==t.options.level?(i=!0,this.hierarchical.levels[e]=t.options.level):o=!0);if(!0===o&&!0===i)throw new Error("To use the hierarchical layout, nodes require either no predefined levels or levels have to be defined for all nodes.");if(!0===o){var n=this.options.hierarchical.sortMethod;"hubsize"===n?this._determineLevelsByHubsize():"directed"===n?this._determineLevelsDirected():"custom"===n&&this._determineLevelsCustomCallback()}for(var s in this.body.nodes)this.body.nodes.hasOwnProperty(s)&&this.hierarchical.ensureLevel(s);var r=this._getDistribution();this._generateMap(),this._placeNodesByHierarchy(r),this._condenseHierarchy(),this._shiftToCenter()}}},{key:"_condenseHierarchy",value:function(){var t=this,e=!1,i={},o=function(e,i){var o=t.hierarchical.trees;for(var n in o)o.hasOwnProperty(n)&&o[n]===e&&t.direction.shift(n,i)},n=function(){for(var e=[],i=0;i0)for(var s=0;s1&&void 0!==arguments[1]?arguments[1]:1e9,o=1e9,n=1e9,r=1e9,a=-1e9;for(var h in e)if(e.hasOwnProperty(h)){var d=t.body.nodes[h],l=t.hierarchical.levels[d.id],u=t.direction.getPosition(d),c=t._getSpaceAroundNode(d,e),p=(0,s.default)(c,2),f=p[0],m=p[1];o=Math.min(f,o),n=Math.min(m,n),l<=i&&(r=Math.min(u,r),a=Math.max(u,a))}return[r,a,o,n]},h=function(e,i){var o=t.hierarchical.getMaxLevel(e.id),n=t.hierarchical.getMaxLevel(i.id);return Math.min(o,n)},d=function(e,i,o){for(var n=t.hierarchical,s=0;s1)for(var h=0;h2&&void 0!==arguments[2]&&arguments[2],s=t.direction.getPosition(i),d=t.direction.getPosition(o),l=Math.abs(d-s),u=t.options.hierarchical.nodeSpacing;if(l>u){var c={},p={};r(i,c),r(o,p);var f=h(i,o),m=a(c,f),v=a(p,f),g=m[1],y=v[0],b=v[2];if(Math.abs(g-y)>u){var _=g-y+u;_<-b+u&&(_=-b+u),_<0&&(t._shiftBlock(o.id,_),e=!0,!0===n&&t._centerParent(o))}}},u=function(o,n){for(var h=n.id,d=n.edges,l=t.hierarchical.levels[n.id],u=t.options.hierarchical.levelSeparation*t.options.hierarchical.levelSeparation,c={},p=[],f=0;f0?p=Math.min(c,u-t.options.hierarchical.nodeSpacing):c<0&&(p=-Math.min(-c,l-t.options.hierarchical.nodeSpacing)),0!=p&&(t._shiftBlock(n.id,p),e=!0)}(_),_=b(o,d),function(i){var o=t.direction.getPosition(n),r=t._getSpaceAroundNode(n),a=(0,s.default)(r,2),h=a[0],d=a[1],l=i-o,u=o;l>0?u=Math.min(o+(d-t.options.hierarchical.nodeSpacing),i):l<0&&(u=Math.max(o-(h-t.options.hierarchical.nodeSpacing),i)),u!==o&&(t.direction.setPosition(n,u),e=!0)}(_)};!0===this.options.hierarchical.blockShifting&&(function(i){var o=t.hierarchical.getLevels();o=o.reverse();for(var n=0;n0&&Math.abs(p)0&&(a=this.direction.getPosition(i[n-1])+r),this.direction.setPosition(s,a,e),this._validatePositionAndContinue(s,e,a),o++}}}}},{key:"_placeBranchNodes",value:function(t,e){var i=this.hierarchical.childrenReference[t];if(void 0!==i){for(var o=[],n=0;ne&&void 0===this.positionedNodes[r.id]))return;var h=this.options.hierarchical.nodeSpacing,d=void 0;d=0===s?this.direction.getPosition(this.body.nodes[t]):this.direction.getPosition(o[s-1])+h,this.direction.setPosition(r,d,a),this._validatePositionAndContinue(r,a,d)}var l=this._getCenterPosition(o);this.direction.setPosition(this.body.nodes[t],l,e)}}},{key:"_validatePositionAndContinue",value:function(t,e,i){if(this.hierarchical.isTree){if(void 0!==this.lastNodeOnLevel[e]){var o=this.direction.getPosition(this.body.nodes[this.lastNodeOnLevel[e]]);if(i-ot.hierarchical.levels[e.id]&&t.hierarchical.addRelation(e.id,i.id)};this._crawlNetwork(e),this.hierarchical.checkIfTree()}},{key:"_crawlNetwork",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:function(){},i=arguments[1],o={},n=function i(n,s){if(void 0===o[n.id]){t.hierarchical.setTreeIndex(n,s),o[n.id]=!0;for(var r=void 0,a=t._getActiveEdges(n),h=0;h2&&void 0!==arguments[2]?arguments[2]:void 0;this.fake_use(t,e,i),this.abstract()}},{key:"getTreeSize",value:function(t){return this.fake_use(t),this.abstract()}},{key:"sort",value:function(t){this.fake_use(t),this.abstract()}},{key:"fix",value:function(t,e){this.fake_use(t,e),this.abstract()}},{key:"shift",value:function(t,e){this.fake_use(t,e),this.abstract()}}]),t}(),m=function(t){function e(t){(0,u.default)(this,e);var i=(0,a.default)(this,(e.__proto__||(0,s.default)(e)).call(this));return i.layout=t,i}return(0,d.default)(e,t),(0,p.default)(e,[{key:"curveType",value:function(){return"horizontal"}},{key:"getPosition",value:function(t){return t.x}},{key:"setPosition",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0;void 0!==i&&this.layout.hierarchical.addToOrdering(t,i),t.x=e}},{key:"getTreeSize",value:function(t){var e=this.layout.hierarchical.getTreeSize(this.layout.body.nodes,t);return{min:e.min_x,max:e.max_x}}},{key:"sort",value:function(t){t.sort(function(t,e){return void 0===t.x||void 0===e.x?0:t.x-e.x})}},{key:"fix",value:function(t,e){t.y=this.layout.options.hierarchical.levelSeparation*e,t.options.fixed.y=!0}},{key:"shift",value:function(t,e){this.layout.body.nodes[t].x+=e}}]),e}(f),v=function(t){function e(t){(0,u.default)(this,e);var i=(0,a.default)(this,(e.__proto__||(0,s.default)(e)).call(this));return i.layout=t,i}return(0,d.default)(e,t),(0,p.default)(e,[{key:"curveType",value:function(){return"vertical"}},{key:"getPosition",value:function(t){return t.y}},{key:"setPosition",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0;void 0!==i&&this.layout.hierarchical.addToOrdering(t,i),t.y=e}},{key:"getTreeSize",value:function(t){var e=this.layout.hierarchical.getTreeSize(this.layout.body.nodes,t);return{min:e.min_y,max:e.max_y}}},{key:"sort",value:function(t){t.sort(function(t,e){return void 0===t.y||void 0===e.y?0:t.y-e.y})}},{key:"fix",value:function(t,e){t.x=this.layout.options.hierarchical.levelSeparation*e,t.options.fixed.x=!0}},{key:"shift",value:function(t,e){this.layout.body.nodes[t].y+=e}}]),e}(f);e.HorizontalStrategy=v,e.VerticalStrategy=m},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(8),s=o(n),r=i(19),a=o(r),h=i(6),d=o(h),l=i(0),u=o(l),c=i(1),p=o(c),f=i(2),m=i(10),v=i(37),g=function(){function t(e,i,o){var n=this;(0,u.default)(this,t),this.body=e,this.canvas=i,this.selectionHandler=o,this.editMode=!1,this.manipulationDiv=void 0,this.editModeDiv=void 0,this.closeDiv=void 0,this.manipulationHammers=[],this.temporaryUIFunctions={},this.temporaryEventFunctions=[],this.touchTime=0,this.temporaryIds={nodes:[],edges:[]},this.guiEnabled=!1,this.inMode=!1,this.selectedControlNode=void 0,this.options={},this.defaultOptions={enabled:!1,initiallyActive:!1,addNode:!0,addEdge:!0,editNode:void 0,editEdge:!0,deleteNode:!0,deleteEdge:!0,controlNodeStyle:{shape:"dot",size:6,color:{background:"#ff0000",border:"#3c3c3c",highlight:{background:"#07f968",border:"#3c3c3c"}},borderWidth:2,borderWidthSelected:2}},f.extend(this.options,this.defaultOptions),this.body.emitter.on("destroy",function(){n._clean()}),this.body.emitter.on("_dataChanged",this._restore.bind(this)),this.body.emitter.on("_resetData",this._restore.bind(this))}return(0,p.default)(t,[{key:"_restore",value:function(){!1!==this.inMode&&(!0===this.options.initiallyActive?this.enableEditMode():this.disableEditMode())}},{key:"setOptions",value:function(t,e,i){void 0!==e&&(void 0!==e.locale?this.options.locale=e.locale:this.options.locale=i.locale,void 0!==e.locales?this.options.locales=e.locales:this.options.locales=i.locales),void 0!==t&&("boolean"==typeof t?this.options.enabled=t:(this.options.enabled=!0,f.deepExtend(this.options,t)),!0===this.options.initiallyActive&&(this.editMode=!0),this._setup())}},{key:"toggleEditMode",value:function(){!0===this.editMode?this.disableEditMode():this.enableEditMode()}},{key:"enableEditMode",value:function(){this.editMode=!0,this._clean(),!0===this.guiEnabled&&(this.manipulationDiv.style.display="block",this.closeDiv.style.display="block",this.editModeDiv.style.display="none",this.showManipulatorToolbar())}},{key:"disableEditMode",value:function(){this.editMode=!1,this._clean(),!0===this.guiEnabled&&(this.manipulationDiv.style.display="none",this.closeDiv.style.display="none",this.editModeDiv.style.display="block",this._createEditButton())}},{key:"showManipulatorToolbar",value:function(){if(this._clean(),this.manipulationDOM={},!0===this.guiEnabled){this.editMode=!0,this.manipulationDiv.style.display="block",this.closeDiv.style.display="block";var t=this.selectionHandler._getSelectedNodeCount(),e=this.selectionHandler._getSelectedEdgeCount(),i=t+e,o=this.options.locales[this.options.locale],n=!1;!1!==this.options.addNode&&(this._createAddNodeButton(o),n=!0),!1!==this.options.addEdge&&(!0===n?this._createSeperator(1):n=!0,this._createAddEdgeButton(o)),1===t&&"function"==typeof this.options.editNode?(!0===n?this._createSeperator(2):n=!0,this._createEditNodeButton(o)):1===e&&0===t&&!1!==this.options.editEdge&&(!0===n?this._createSeperator(3):n=!0,this._createEditEdgeButton(o)),0!==i&&(t>0&&!1!==this.options.deleteNode?(!0===n&&this._createSeperator(4),this._createDeleteButton(o)):0===t&&!1!==this.options.deleteEdge&&(!0===n&&this._createSeperator(4),this._createDeleteButton(o))),this._bindHammerToDiv(this.closeDiv,this.toggleEditMode.bind(this)),this._temporaryBindEvent("select",this.showManipulatorToolbar.bind(this))}this.body.emitter.emit("_redraw")}},{key:"addNodeMode",value:function(){if(!0!==this.editMode&&this.enableEditMode(),this._clean(),this.inMode="addNode",!0===this.guiEnabled){var t=this.options.locales[this.options.locale];this.manipulationDOM={},this._createBackButton(t),this._createSeperator(),this._createDescription(t.addDescription||this.options.locales.en.addDescription),this._bindHammerToDiv(this.closeDiv,this.toggleEditMode.bind(this))}this._temporaryBindEvent("click",this._performAddNode.bind(this))}},{key:"editNode",value:function(){var t=this;!0!==this.editMode&&this.enableEditMode(),this._clean();var e=this.selectionHandler._getSelectedNode();if(void 0!==e){if(this.inMode="editNode","function"!=typeof this.options.editNode)throw new Error("No function has been configured to handle the editing of nodes.");if(!0!==e.isCluster){var i=f.deepExtend({},e.options,!1);if(i.x=e.x,i.y=e.y,2!==this.options.editNode.length)throw new Error("The function for edit does not support two arguments (data, callback)");this.options.editNode(i,function(e){null!==e&&void 0!==e&&"editNode"===t.inMode&&t.body.data.nodes.getDataSet().update(e),t.showManipulatorToolbar()})}else alert(this.options.locales[this.options.locale].editClusterError||this.options.locales.en.editClusterError)}else this.showManipulatorToolbar()}},{key:"addEdgeMode",value:function(){if(!0!==this.editMode&&this.enableEditMode(),this._clean(),this.inMode="addEdge",!0===this.guiEnabled){var t=this.options.locales[this.options.locale];this.manipulationDOM={},this._createBackButton(t),this._createSeperator(),this._createDescription(t.edgeDescription||this.options.locales.en.edgeDescription),this._bindHammerToDiv(this.closeDiv,this.toggleEditMode.bind(this))}this._temporaryBindUI("onTouch",this._handleConnect.bind(this)),this._temporaryBindUI("onDragEnd",this._finishConnect.bind(this)),this._temporaryBindUI("onDrag",this._dragControlNode.bind(this)),this._temporaryBindUI("onRelease",this._finishConnect.bind(this)),this._temporaryBindUI("onDragStart",this._dragStartEdge.bind(this)),this._temporaryBindUI("onHold",function(){})}},{key:"editEdgeMode",value:function(){if(!0!==this.editMode&&this.enableEditMode(),this._clean(),this.inMode="editEdge","object"===(0,d.default)(this.options.editEdge)&&"function"==typeof this.options.editEdge.editWithoutDrag&&(this.edgeBeingEditedId=this.selectionHandler.getSelectedEdges()[0],void 0!==this.edgeBeingEditedId)){var t=this.body.edges[this.edgeBeingEditedId];return void this._performEditEdge(t.from,t.to)}if(!0===this.guiEnabled){var e=this.options.locales[this.options.locale];this.manipulationDOM={},this._createBackButton(e),this._createSeperator(), +this._createDescription(e.editEdgeDescription||this.options.locales.en.editEdgeDescription),this._bindHammerToDiv(this.closeDiv,this.toggleEditMode.bind(this))}if(this.edgeBeingEditedId=this.selectionHandler.getSelectedEdges()[0],void 0!==this.edgeBeingEditedId){var i=this.body.edges[this.edgeBeingEditedId],o=this._getNewTargetNode(i.from.x,i.from.y),n=this._getNewTargetNode(i.to.x,i.to.y);this.temporaryIds.nodes.push(o.id),this.temporaryIds.nodes.push(n.id),this.body.nodes[o.id]=o,this.body.nodeIndices.push(o.id),this.body.nodes[n.id]=n,this.body.nodeIndices.push(n.id),this._temporaryBindUI("onTouch",this._controlNodeTouch.bind(this)),this._temporaryBindUI("onTap",function(){}),this._temporaryBindUI("onHold",function(){}),this._temporaryBindUI("onDragStart",this._controlNodeDragStart.bind(this)),this._temporaryBindUI("onDrag",this._controlNodeDrag.bind(this)),this._temporaryBindUI("onDragEnd",this._controlNodeDragEnd.bind(this)),this._temporaryBindUI("onMouseMove",function(){}),this._temporaryBindEvent("beforeDrawing",function(t){var e=i.edgeType.findBorderPositions(t);!1===o.selected&&(o.x=e.from.x,o.y=e.from.y),!1===n.selected&&(n.x=e.to.x,n.y=e.to.y)}),this.body.emitter.emit("_redraw")}else this.showManipulatorToolbar()}},{key:"deleteSelected",value:function(){var t=this;!0!==this.editMode&&this.enableEditMode(),this._clean(),this.inMode="delete";var e=this.selectionHandler.getSelectedNodes(),i=this.selectionHandler.getSelectedEdges(),o=void 0;if(e.length>0){for(var n=0;n0&&"function"==typeof this.options.deleteEdge&&(o=this.options.deleteEdge);if("function"==typeof o){var s={nodes:e,edges:i};if(2!==o.length)throw new Error("The function for delete does not support two arguments (data, callback)");o(s,function(e){null!==e&&void 0!==e&&"delete"===t.inMode?(t.body.data.edges.getDataSet().remove(e.edges),t.body.data.nodes.getDataSet().remove(e.nodes),t.body.emitter.emit("startSimulation"),t.showManipulatorToolbar()):(t.body.emitter.emit("startSimulation"),t.showManipulatorToolbar())})}else this.body.data.edges.getDataSet().remove(i),this.body.data.nodes.getDataSet().remove(e),this.body.emitter.emit("startSimulation"),this.showManipulatorToolbar()}},{key:"_setup",value:function(){!0===this.options.enabled?(this.guiEnabled=!0,this._createWrappers(),!1===this.editMode?this._createEditButton():this.showManipulatorToolbar()):(this._removeManipulationDOM(),this.guiEnabled=!1)}},{key:"_createWrappers",value:function(){void 0===this.manipulationDiv&&(this.manipulationDiv=document.createElement("div"),this.manipulationDiv.className="vis-manipulation",!0===this.editMode?this.manipulationDiv.style.display="block":this.manipulationDiv.style.display="none",this.canvas.frame.appendChild(this.manipulationDiv)),void 0===this.editModeDiv&&(this.editModeDiv=document.createElement("div"),this.editModeDiv.className="vis-edit-mode",!0===this.editMode?this.editModeDiv.style.display="none":this.editModeDiv.style.display="block",this.canvas.frame.appendChild(this.editModeDiv)),void 0===this.closeDiv&&(this.closeDiv=document.createElement("div"),this.closeDiv.className="vis-close",this.closeDiv.style.display=this.manipulationDiv.style.display,this.canvas.frame.appendChild(this.closeDiv))}},{key:"_getNewTargetNode",value:function(t,e){var i=f.deepExtend({},this.options.controlNodeStyle);i.id="targetNode"+f.randomUUID(),i.hidden=!1,i.physics=!1,i.x=t,i.y=e;var o=this.body.functions.createNode(i);return o.shape.boundingBox={left:t,right:t,top:e,bottom:e},o}},{key:"_createEditButton",value:function(){this._clean(),this.manipulationDOM={},f.recursiveDOMDelete(this.editModeDiv);var t=this.options.locales[this.options.locale],e=this._createButton("editMode","vis-button vis-edit vis-edit-mode",t.edit||this.options.locales.en.edit);this.editModeDiv.appendChild(e),this._bindHammerToDiv(e,this.toggleEditMode.bind(this))}},{key:"_clean",value:function(){this.inMode=!1,!0===this.guiEnabled&&(f.recursiveDOMDelete(this.editModeDiv),f.recursiveDOMDelete(this.manipulationDiv),this._cleanManipulatorHammers()),this._cleanupTemporaryNodesAndEdges(),this._unbindTemporaryUIs(),this._unbindTemporaryEvents(),this.body.emitter.emit("restorePhysics")}},{key:"_cleanManipulatorHammers",value:function(){if(0!=this.manipulationHammers.length){for(var t=0;t0&&void 0!==arguments[0]?arguments[0]:1;this.manipulationDOM["seperatorLineDiv"+t]=document.createElement("div"),this.manipulationDOM["seperatorLineDiv"+t].className="vis-separator-line",this.manipulationDiv.appendChild(this.manipulationDOM["seperatorLineDiv"+t])}},{key:"_createAddNodeButton",value:function(t){var e=this._createButton("addNode","vis-button vis-add",t.addNode||this.options.locales.en.addNode);this.manipulationDiv.appendChild(e),this._bindHammerToDiv(e,this.addNodeMode.bind(this))}},{key:"_createAddEdgeButton",value:function(t){var e=this._createButton("addEdge","vis-button vis-connect",t.addEdge||this.options.locales.en.addEdge);this.manipulationDiv.appendChild(e),this._bindHammerToDiv(e,this.addEdgeMode.bind(this))}},{key:"_createEditNodeButton",value:function(t){var e=this._createButton("editNode","vis-button vis-edit",t.editNode||this.options.locales.en.editNode);this.manipulationDiv.appendChild(e),this._bindHammerToDiv(e,this.editNode.bind(this))}},{key:"_createEditEdgeButton",value:function(t){var e=this._createButton("editEdge","vis-button vis-edit",t.editEdge||this.options.locales.en.editEdge);this.manipulationDiv.appendChild(e),this._bindHammerToDiv(e,this.editEdgeMode.bind(this))}},{key:"_createDeleteButton",value:function(t){var e;e=this.options.rtl?"vis-button vis-delete-rtl":"vis-button vis-delete";var i=this._createButton("delete",e,t.del||this.options.locales.en.del);this.manipulationDiv.appendChild(i),this._bindHammerToDiv(i,this.deleteSelected.bind(this))}},{key:"_createBackButton",value:function(t){var e=this._createButton("back","vis-button vis-back",t.back||this.options.locales.en.back);this.manipulationDiv.appendChild(e),this._bindHammerToDiv(e,this.showManipulatorToolbar.bind(this))}},{key:"_createButton",value:function(t,e,i){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"vis-label";return this.manipulationDOM[t+"Div"]=document.createElement("div"),this.manipulationDOM[t+"Div"].className=e,this.manipulationDOM[t+"Label"]=document.createElement("div"),this.manipulationDOM[t+"Label"].className=o,this.manipulationDOM[t+"Label"].innerHTML=i,this.manipulationDOM[t+"Div"].appendChild(this.manipulationDOM[t+"Label"]),this.manipulationDOM[t+"Div"]}},{key:"_createDescription",value:function(t){this.manipulationDiv.appendChild(this._createButton("description","vis-button vis-none",t))}},{key:"_temporaryBindEvent",value:function(t,e){this.temporaryEventFunctions.push({event:t,boundFunction:e}),this.body.emitter.on(t,e)}},{key:"_temporaryBindUI",value:function(t,e){if(void 0===this.body.eventListeners[t])throw new Error("This UI function does not exist. Typo? You tried: "+t+" possible are: "+(0,a.default)((0,s.default)(this.body.eventListeners)));this.temporaryUIFunctions[t]=this.body.eventListeners[t],this.body.eventListeners[t]=e}},{key:"_unbindTemporaryUIs",value:function(){for(var t in this.temporaryUIFunctions)this.temporaryUIFunctions.hasOwnProperty(t)&&(this.body.eventListeners[t]=this.temporaryUIFunctions[t],delete this.temporaryUIFunctions[t]);this.temporaryUIFunctions={}}},{key:"_unbindTemporaryEvents",value:function(){for(var t=0;t=0;r--)if(n[r]!==this.selectedControlNode.id){s=this.body.nodes[n[r]];break}if(void 0!==s&&void 0!==this.selectedControlNode)if(!0===s.isCluster)alert(this.options.locales[this.options.locale].createEdgeError||this.options.locales.en.createEdgeError);else{var a=this.body.nodes[this.temporaryIds.nodes[0]];this.selectedControlNode.id===a.id?this._performEditEdge(s.id,o.to.id):this._performEditEdge(o.from.id,s.id)}else o.updateEdgeType(),this.body.emitter.emit("restorePhysics");this.body.emitter.emit("_redraw")}}},{key:"_handleConnect",value:function(t){if((new Date).valueOf()-this.touchTime>100){this.lastTouch=this.body.functions.getPointer(t.center),this.lastTouch.translation=f.extend({},this.body.view.translation);var e=this.lastTouch,i=this.selectionHandler.getNodeAt(e);if(void 0!==i)if(!0===i.isCluster)alert(this.options.locales[this.options.locale].createEdgeError||this.options.locales.en.createEdgeError);else{var o=this._getNewTargetNode(i.x,i.y);this.body.nodes[o.id]=o,this.body.nodeIndices.push(o.id);var n=this.body.functions.createEdge({id:"connectionEdge"+f.randomUUID(),from:i.id,to:o.id,physics:!1,smooth:{enabled:!0,type:"continuous",roundness:.5}});this.body.edges[n.id]=n,this.body.edgeIndices.push(n.id),this.temporaryIds.nodes.push(o.id),this.temporaryIds.edges.push(n.id)}this.touchTime=(new Date).valueOf()}}},{key:"_dragControlNode",value:function(t){var e=this.body.functions.getPointer(t.center);if(void 0!==this.temporaryIds.nodes[0]){var i=this.body.nodes[this.temporaryIds.nodes[0]];i.x=this.canvas._XconvertDOMtoCanvas(e.x),i.y=this.canvas._YconvertDOMtoCanvas(e.y),this.body.emitter.emit("_redraw")}else{var o=e.x-this.lastTouch.x,n=e.y-this.lastTouch.y;this.body.view.translation={x:this.lastTouch.translation.x+o,y:this.lastTouch.translation.y+n}}}},{key:"_finishConnect",value:function(t){var e=this.body.functions.getPointer(t.center),i=this.selectionHandler._pointerToPositionObject(e),o=void 0;void 0!==this.temporaryIds.edges[0]&&(o=this.body.edges[this.temporaryIds.edges[0]].fromId);for(var n=this.selectionHandler._getAllNodesOverlappingWith(i),s=void 0,r=n.length-1;r>=0;r--)if(-1===this.temporaryIds.nodes.indexOf(n[r])){s=this.body.nodes[n[r]];break}this._cleanupTemporaryNodesAndEdges(),void 0!==s&&(!0===s.isCluster?alert(this.options.locales[this.options.locale].createEdgeError||this.options.locales.en.createEdgeError):void 0!==this.body.nodes[o]&&void 0!==this.body.nodes[s.id]&&this._performAddEdge(o,s.id)),this.body.emitter.emit("_redraw")}},{key:"_dragStartEdge",value:function(t){var e=this.lastTouch;this.selectionHandler._generateClickEvent("dragStart",t,e,void 0,!0)}},{key:"_performAddNode",value:function(t){var e=this,i={id:f.randomUUID(),x:t.pointer.canvas.x,y:t.pointer.canvas.y,label:"new"};if("function"==typeof this.options.addNode){if(2!==this.options.addNode.length)throw this.showManipulatorToolbar(),new Error("The function for add does not support two arguments (data,callback)");this.options.addNode(i,function(t){null!==t&&void 0!==t&&"addNode"===e.inMode&&(e.body.data.nodes.getDataSet().add(t),e.showManipulatorToolbar())})}else this.body.data.nodes.getDataSet().add(i),this.showManipulatorToolbar()}},{key:"_performAddEdge",value:function(t,e){var i=this,o={from:t,to:e};if("function"==typeof this.options.addEdge){if(2!==this.options.addEdge.length)throw new Error("The function for connect does not support two arguments (data,callback)");this.options.addEdge(o,function(t){null!==t&&void 0!==t&&"addEdge"===i.inMode&&(i.body.data.edges.getDataSet().add(t),i.selectionHandler.unselectAll(),i.showManipulatorToolbar())})}else this.body.data.edges.getDataSet().add(o),this.selectionHandler.unselectAll(),this.showManipulatorToolbar()}},{key:"_performEditEdge",value:function(t,e){var i=this,o={id:this.edgeBeingEditedId,from:t,to:e,label:this.body.data.edges._data[this.edgeBeingEditedId].label},n=this.options.editEdge;if("object"===(void 0===n?"undefined":(0,d.default)(n))&&(n=n.editWithoutDrag),"function"==typeof n){if(2!==n.length)throw new Error("The function for edit does not support two arguments (data, callback)");n(o,function(t){null===t||void 0===t||"editEdge"!==i.inMode?(i.body.edges[o.id].updateEdgeType(),i.body.emitter.emit("_redraw"),i.showManipulatorToolbar()):(i.body.data.edges.getDataSet().update(t),i.selectionHandler.unselectAll(),i.showManipulatorToolbar())})}else this.body.data.edges.getDataSet().update(o),this.selectionHandler.unselectAll(),this.showManipulatorToolbar()}}]),t}();e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(31),s=o(n),r=i(0),a=o(r),h=i(1),d=o(h),l=i(239),u=o(l),c=function(){function t(e,i,o){(0,a.default)(this,t),this.body=e,this.springLength=i,this.springConstant=o,this.distanceSolver=new u.default}return(0,d.default)(t,[{key:"setOptions",value:function(t){t&&(t.springLength&&(this.springLength=t.springLength),t.springConstant&&(this.springConstant=t.springConstant))}},{key:"solve",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=this.distanceSolver.getDistances(this.body,t,e);this._createL_matrix(o),this._createK_matrix(o),this._createE_matrix();for(var n=0,r=Math.max(1e3,Math.min(10*this.body.nodeIndices.length,6e3)),a=1e9,h=0,d=0,l=0,u=0,c=0;a>.01&&n1&&c<5;){c+=1,this._moveNode(h,d,l);var m=this._getEnergy(h),v=(0,s.default)(m,3);u=v[0],d=v[1],l=v[2]}}}},{key:"_getHighestEnergyNode",value:function(t){for(var e=this.body.nodeIndices,i=this.body.nodes,o=0,n=e[0],r=0,a=0,h=0;h= -3){ + props.border.left = this.tmpData.left; + } else { + props.border.left = tmp.left; + this.tmpData.left = tmp.left; + } + + if(difTop <= 3 || difTop >= -3){ + props.border.top = this.tmpData.top; + } else { + props.border.top = tmp.top; + this.tmpData.top = tmp.top; + } + + if(difHeight <= 3 || difHeight >= -3){ + props.borderRootHeight = this.tmpData.height; + } else { + props.borderRootHeight = tmp.height; + this.tmpData.height = tmp.height; + } + + if(difWidth <= 3 || difWidth >= -3){ + props.borderRootWidth = this.tmpData.width; + } else { + props.borderRootWidth = tmp.width; + this.tmpData.width = tmp.width; + } + props.border.right = props.border.left; - props.border.top = (dom.centerContainer.offsetHeight - dom.centerContainer.clientHeight) / 2; props.border.bottom = props.border.top; - console.log('props.border.top: ' + props.border.top); - props.borderRootHeight = dom.root.offsetHeight - dom.root.clientHeight; - props.borderRootWidth = dom.root.offsetWidth - dom.root.clientWidth; - console.log('props.borderRootHeight: ' + props.borderRootHeight); // workaround for a bug in IE: the clientWidth of an element with // a height:0px and overflow:hidden is not calculated and always has value 0