diff --git a/dist/vis.css b/dist/vis.css index 23cd790f..247ae3e9 100644 --- a/dist/vis.css +++ b/dist/vis.css @@ -584,6 +584,11 @@ input.vis-configuration.vis-config-range:focus::-ms-fill-upper { cursor: e-resize; } +.vis-range.vis-item.vis-readonly .vis-drag-left, +.vis-range.vis-item.vis-readonly .vis-drag-right { + cursor: auto; +} + .vis-time-axis { position: relative; overflow: hidden; @@ -1121,14 +1126,17 @@ div.vis-network div.vis-navigation div.vis-button.vis-zoomExtends { div.vis-color-picker { position:absolute; + top: 0px; + left: 30px; margin-top:-140px; margin-left:30px; - width:293px; - height:425px; + width:310px; + height:444px; + z-index: 1; padding: 10px; border-radius:15px; background-color:#ffffff; - display:none; + display: none; box-shadow: rgba(0,0,0,0.5) 0px 0px 10px 0px; } @@ -1138,8 +1146,8 @@ div.vis-color-picker div.vis-arrow { left:5px; } -div.vis-color-picker div.vis-arrow:after, -div.vis-color-picker div.vis-arrow:before { +div.vis-color-picker div.vis-arrow::after, +div.vis-color-picker div.vis-arrow::before { right: 100%; top: 50%; border: solid transparent; diff --git a/dist/vis.js b/dist/vis.js index 88961834..52a61719 100644 --- a/dist/vis.js +++ b/dist/vis.js @@ -4,11 +4,11 @@ * * A dynamic, browser-based visualization library. * - * @version 4.11.0 - * @date 2015-12-18 + * @version 4.12.0 + * @date 2016-01-08 * * @license - * Copyright (C) 2011-2015 Almende B.V, http://almende.com + * Copyright (C) 2011-2016 Almende B.V, http://almende.com * * Vis.js is dual licensed under both * @@ -105,45 +105,45 @@ return /******/ (function(modules) { // webpackBootstrap // Timeline exports.Timeline = __webpack_require__(19); - exports.Graph2d = __webpack_require__(49); + exports.Graph2d = __webpack_require__(48); exports.timeline = { - Core: __webpack_require__(28), - DataStep: __webpack_require__(52), - DateUtil: __webpack_require__(27), - Range: __webpack_require__(24), - stack: __webpack_require__(32), - TimeStep: __webpack_require__(30), + Core: __webpack_require__(27), + DataStep: __webpack_require__(51), + DateUtil: __webpack_require__(26), + Range: __webpack_require__(23), + stack: __webpack_require__(31), + TimeStep: __webpack_require__(29), components: { items: { - Item: __webpack_require__(34), - BackgroundItem: __webpack_require__(38), - BoxItem: __webpack_require__(36), - PointItem: __webpack_require__(37), - RangeItem: __webpack_require__(33) + Item: __webpack_require__(33), + BackgroundItem: __webpack_require__(37), + BoxItem: __webpack_require__(35), + PointItem: __webpack_require__(36), + RangeItem: __webpack_require__(32) }, - BackgroundGroup: __webpack_require__(35), - Component: __webpack_require__(26), - CurrentTime: __webpack_require__(44), - CustomTime: __webpack_require__(42), - DataAxis: __webpack_require__(51), - GraphGroup: __webpack_require__(53), - Group: __webpack_require__(31), - ItemSet: __webpack_require__(29), - Legend: __webpack_require__(57), - LineGraph: __webpack_require__(50), - TimeAxis: __webpack_require__(39) + BackgroundGroup: __webpack_require__(34), + Component: __webpack_require__(25), + CurrentTime: __webpack_require__(43), + CustomTime: __webpack_require__(41), + DataAxis: __webpack_require__(50), + GraphGroup: __webpack_require__(52), + Group: __webpack_require__(30), + ItemSet: __webpack_require__(28), + Legend: __webpack_require__(56), + LineGraph: __webpack_require__(49), + TimeAxis: __webpack_require__(38) } }; // Network - exports.Network = __webpack_require__(59); + exports.Network = __webpack_require__(58); exports.network = { - Images: __webpack_require__(117), - dotparser: __webpack_require__(115), - gephiParser: __webpack_require__(116), - allOptions: __webpack_require__(111) + Images: __webpack_require__(116), + dotparser: __webpack_require__(114), + gephiParser: __webpack_require__(115), + allOptions: __webpack_require__(110) }; exports.network.convertDot = function (input) { return exports.network.dotparser.DOTToGraph(input); @@ -155,7 +155,7 @@ return /******/ (function(modules) { // webpackBootstrap // bundled external libraries exports.moment = __webpack_require__(2); exports.Hammer = __webpack_require__(20); - exports.keycharm = __webpack_require__(41); + exports.keycharm = __webpack_require__(40); /***/ }, /* 1 */ @@ -1384,7 +1384,6 @@ return /******/ (function(modules) { // webpackBootstrap * @param [object] mergeTarget | this is either this.options or the options used for the groups. * @param [object] options | options * @param [String] option | this is the option key in the options argument - * @private */ exports.mergeOptions = function (mergeTarget, options, option) { var allowDeletion = arguments.length <= 3 || arguments[3] === undefined ? false : arguments[3]; @@ -1578,12 +1577,12 @@ return /******/ (function(modules) { // webpackBootstrap /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(module) {//! moment.js - //! version : 2.10.6 + //! version : 2.11.0 //! authors : Tim Wood, Iskren Chernev, Moment.js contributors //! license : MIT //! momentjs.com - (function (global, factory) { + ;(function (global, factory) { true ? module.exports = factory() : typeof define === 'function' && define.amd ? define(factory) : global.moment = factory() @@ -1700,39 +1699,45 @@ return /******/ (function(modules) { // webpackBootstrap return m; } + function isUndefined(input) { + return input === void 0; + } + + // Plugins that add properties should also add the key here (null value), + // so we can properly clone ourselves. var momentProperties = utils_hooks__hooks.momentProperties = []; function copyConfig(to, from) { var i, prop, val; - if (typeof from._isAMomentObject !== 'undefined') { + if (!isUndefined(from._isAMomentObject)) { to._isAMomentObject = from._isAMomentObject; } - if (typeof from._i !== 'undefined') { + if (!isUndefined(from._i)) { to._i = from._i; } - if (typeof from._f !== 'undefined') { + if (!isUndefined(from._f)) { to._f = from._f; } - if (typeof from._l !== 'undefined') { + if (!isUndefined(from._l)) { to._l = from._l; } - if (typeof from._strict !== 'undefined') { + if (!isUndefined(from._strict)) { to._strict = from._strict; } - if (typeof from._tzm !== 'undefined') { + if (!isUndefined(from._tzm)) { to._tzm = from._tzm; } - if (typeof from._isUTC !== 'undefined') { + if (!isUndefined(from._isUTC)) { to._isUTC = from._isUTC; } - if (typeof from._offset !== 'undefined') { + if (!isUndefined(from._offset)) { to._offset = from._offset; } - if (typeof from._pf !== 'undefined') { + if (!isUndefined(from._pf)) { to._pf = getParsingFlags(from); } - if (typeof from._locale !== 'undefined') { + if (!isUndefined(from._locale)) { to._locale = from._locale; } @@ -1740,7 +1745,7 @@ return /******/ (function(modules) { // webpackBootstrap for (i in momentProperties) { prop = momentProperties[i]; val = from[prop]; - if (typeof val !== 'undefined') { + if (!isUndefined(val)) { to[prop] = val; } } @@ -1787,6 +1792,7 @@ return /******/ (function(modules) { // webpackBootstrap return value; } + // compare two arrays, return the number of differences function compareArrays(array1, array2, dontConvert) { var len = Math.min(array1.length, array2.length), lengthDiff = Math.abs(array1.length - array2.length), @@ -1804,6 +1810,7 @@ return /******/ (function(modules) { // webpackBootstrap function Locale() { } + // internal storage for locale config files var locales = {}; var globalLocale; @@ -1841,7 +1848,7 @@ return /******/ (function(modules) { // webpackBootstrap function loadLocale(name) { var oldLocale = null; // TODO: Find a better way to register and load all the locales in Node - if (!locales[name] && typeof module !== 'undefined' && + if (!locales[name] && !isUndefined(module) && module && module.exports) { try { oldLocale = globalLocale._abbr; @@ -1860,7 +1867,7 @@ return /******/ (function(modules) { // webpackBootstrap function locale_locales__getSetGlobalLocale (key, values) { var data; if (key) { - if (typeof values === 'undefined') { + if (isUndefined(values)) { data = locale_locales__getLocale(key); } else { @@ -1945,6 +1952,10 @@ return /******/ (function(modules) { // webpackBootstrap return normalizedInput; } + function isFunction(input) { + return input instanceof Function || Object.prototype.toString.call(input) === '[object Function]'; + } + function makeGetSet (unit, keepTime) { return function (value) { if (value != null) { @@ -1958,11 +1969,14 @@ return /******/ (function(modules) { // webpackBootstrap } function get_set__get (mom, unit) { - return mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit](); + return mom.isValid() ? + mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]() : NaN; } function get_set__set (mom, unit, value) { - return mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value); + if (mom.isValid()) { + mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value); + } } // MOMENTS @@ -1975,7 +1989,7 @@ return /******/ (function(modules) { // webpackBootstrap } } else { units = normalizeUnits(units); - if (typeof this[units] === 'function') { + if (isFunction(this[units])) { return this[units](value); } } @@ -1990,7 +2004,7 @@ return /******/ (function(modules) { // webpackBootstrap Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) + absNumber; } - var formattingTokens = /(\[[^\[]*\])|(\\)?(Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Q|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g; + var formattingTokens = /(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g; var localFormattingTokens = /(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g; @@ -2086,6 +2100,8 @@ return /******/ (function(modules) { // webpackBootstrap var match4 = /\d{4}/; // 0000 - 9999 var match6 = /[+-]?\d{6}/; // -999999 - 999999 var match1to2 = /\d\d?/; // 0 - 99 + var match3to4 = /\d\d\d\d?/; // 999 - 9999 + var match5to6 = /\d\d\d\d\d\d?/; // 99999 - 999999 var match1to3 = /\d{1,3}/; // 0 - 999 var match1to4 = /\d{1,4}/; // 0 - 9999 var match1to6 = /[+-]?\d{1,6}/; // -999999 - 999999 @@ -2094,20 +2110,16 @@ return /******/ (function(modules) { // webpackBootstrap var matchSigned = /[+-]?\d+/; // -inf - inf var matchOffset = /Z|[+-]\d\d:?\d\d/gi; // +00:00 -00:00 +0000 -0000 or Z + var matchShortOffset = /Z|[+-]\d\d(?::?\d\d)?/gi; // +00 -00 +00:00 -00:00 +0000 -0000 or Z var matchTimestamp = /[+-]?\d+(\.\d{1,3})?/; // 123456789 123456789.123 // any word (or two) characters or numbers including two/three word month in arabic. - var matchWord = /[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i; + // includes scottish gaelic two word and hyphenated months + var matchWord = /[0-9]*(a[mn]\s?)?['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF\-]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i; - var regexes = {}; - - function isFunction (sth) { - // https://github.com/moment/moment/issues/2325 - return typeof sth === 'function' && - Object.prototype.toString.call(sth) === '[object Function]'; - } + var regexes = {}; function addRegexToken (token, regex, strictRegex) { regexes[token] = isFunction(regex) ? regex : function (isStrict) { @@ -2167,6 +2179,8 @@ return /******/ (function(modules) { // webpackBootstrap var MINUTE = 4; var SECOND = 5; var MILLISECOND = 6; + var WEEK = 7; + var WEEKDAY = 8; function daysInMonth(year, month) { return new Date(Date.UTC(year, month + 1, 0)).getUTCDate(); @@ -2213,14 +2227,17 @@ return /******/ (function(modules) { // webpackBootstrap // LOCALES + var MONTHS_IN_FORMAT = /D[oD]?(\[[^\[\]]*\]|\s+)+MMMM?/; var defaultLocaleMonths = 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'); - function localeMonths (m) { - return this._months[m.month()]; + function localeMonths (m, format) { + return isArray(this._months) ? this._months[m.month()] : + this._months[MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'][m.month()]; } - var defaultLocaleMonthsShort = 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'); - function localeMonthsShort (m) { - return this._monthsShort[m.month()]; + var defaultLocaleMonthsShort = 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sept_Oct_Nov_Dec'.split('_'); + function localeMonthsShort (m, format) { + return isArray(this._monthsShort) ? this._monthsShort[m.month()] : + this._monthsShort[MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'][m.month()]; } function localeMonthsParse (monthName, format, strict) { @@ -2259,6 +2276,11 @@ return /******/ (function(modules) { // webpackBootstrap function setMonth (mom, value) { var dayOfMonth; + if (!mom.isValid()) { + // No op + return mom; + } + // TODO: Move this out of here! if (typeof value === 'string') { value = mom.localeData().monthsParse(value); @@ -2304,6 +2326,12 @@ return /******/ (function(modules) { // webpackBootstrap if (getParsingFlags(m)._overflowDayOfYear && (overflow < YEAR || overflow > DATE)) { overflow = DATE; } + if (getParsingFlags(m)._overflowWeeks && overflow === -1) { + overflow = WEEK; + } + if (getParsingFlags(m)._overflowWeekday && overflow === -1) { + overflow = WEEKDAY; + } getParsingFlags(m).overflow = overflow; } @@ -2312,7 +2340,7 @@ return /******/ (function(modules) { // webpackBootstrap } function warn(msg) { - if (utils_hooks__hooks.suppressDeprecationWarnings === false && typeof console !== 'undefined' && console.warn) { + if (utils_hooks__hooks.suppressDeprecationWarnings === false && !isUndefined(console) && console.warn) { console.warn('Deprecation warning: ' + msg); } } @@ -2322,7 +2350,7 @@ return /******/ (function(modules) { // webpackBootstrap return extend(function () { if (firstTime) { - warn(msg + '\n' + (new Error()).stack); + warn(msg + '\nArguments: ' + Array.prototype.slice.call(arguments).join(', ') + '\n' + (new Error()).stack); firstTime = false; } return fn.apply(this, arguments); @@ -2340,22 +2368,39 @@ return /******/ (function(modules) { // webpackBootstrap utils_hooks__hooks.suppressDeprecationWarnings = false; - var from_string__isoRegex = /^\s*(?:[+-]\d{6}|\d{4})-(?:(\d\d-\d\d)|(W\d\d$)|(W\d\d-\d)|(\d\d\d))((T| )(\d\d(:\d\d(:\d\d(\.\d+)?)?)?)?([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/; + // iso 8601 regex + // 0000-00-00 0000-W00 or 0000-W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 or +00) + var extendedIsoRegex = /^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?/; + var basicIsoRegex = /^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?/; + + var tzRegex = /Z|[+-]\d\d(?::?\d\d)?/; var isoDates = [ - ['YYYYYY-MM-DD', /[+-]\d{6}-\d{2}-\d{2}/], - ['YYYY-MM-DD', /\d{4}-\d{2}-\d{2}/], - ['GGGG-[W]WW-E', /\d{4}-W\d{2}-\d/], - ['GGGG-[W]WW', /\d{4}-W\d{2}/], - ['YYYY-DDD', /\d{4}-\d{3}/] + ['YYYYYY-MM-DD', /[+-]\d{6}-\d\d-\d\d/], + ['YYYY-MM-DD', /\d{4}-\d\d-\d\d/], + ['GGGG-[W]WW-E', /\d{4}-W\d\d-\d/], + ['GGGG-[W]WW', /\d{4}-W\d\d/, false], + ['YYYY-DDD', /\d{4}-\d{3}/], + ['YYYY-MM', /\d{4}-\d\d/, false], + ['YYYYYYMMDD', /[+-]\d{10}/], + ['YYYYMMDD', /\d{8}/], + // YYYYMM is NOT allowed by the standard + ['GGGG[W]WWE', /\d{4}W\d{3}/], + ['GGGG[W]WW', /\d{4}W\d{2}/, false], + ['YYYYDDD', /\d{7}/] ]; // iso time formats and regexes var isoTimes = [ - ['HH:mm:ss.SSSS', /(T| )\d\d:\d\d:\d\d\.\d+/], - ['HH:mm:ss', /(T| )\d\d:\d\d:\d\d/], - ['HH:mm', /(T| )\d\d:\d\d/], - ['HH', /(T| )\d\d/] + ['HH:mm:ss.SSSS', /\d\d:\d\d:\d\d\.\d+/], + ['HH:mm:ss,SSSS', /\d\d:\d\d:\d\d,\d+/], + ['HH:mm:ss', /\d\d:\d\d:\d\d/], + ['HH:mm', /\d\d:\d\d/], + ['HHmmss.SSSS', /\d\d\d\d\d\d\.\d+/], + ['HHmmss,SSSS', /\d\d\d\d\d\d,\d+/], + ['HHmmss', /\d\d\d\d\d\d/], + ['HHmm', /\d\d\d\d/], + ['HH', /\d\d/] ]; var aspNetJsonRegex = /^\/?Date\((\-?\d+)/i; @@ -2364,26 +2409,49 @@ return /******/ (function(modules) { // webpackBootstrap function configFromISO(config) { var i, l, string = config._i, - match = from_string__isoRegex.exec(string); + match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string), + allowTime, dateFormat, timeFormat, tzFormat; if (match) { getParsingFlags(config).iso = true; + for (i = 0, l = isoDates.length; i < l; i++) { - if (isoDates[i][1].exec(string)) { - config._f = isoDates[i][0]; + if (isoDates[i][1].exec(match[1])) { + dateFormat = isoDates[i][0]; + allowTime = isoDates[i][2] !== false; break; } } - for (i = 0, l = isoTimes.length; i < l; i++) { - if (isoTimes[i][1].exec(string)) { - // match[6] should be 'T' or space - config._f += (match[6] || ' ') + isoTimes[i][0]; - break; + if (dateFormat == null) { + config._isValid = false; + return; + } + if (match[3]) { + for (i = 0, l = isoTimes.length; i < l; i++) { + if (isoTimes[i][1].exec(match[3])) { + // match[2] should be 'T' or space + timeFormat = (match[2] || ' ') + isoTimes[i][0]; + break; + } + } + if (timeFormat == null) { + config._isValid = false; + return; } } - if (string.match(matchOffset)) { - config._f += 'Z'; + if (!allowTime && timeFormat != null) { + config._isValid = false; + return; + } + if (match[4]) { + if (tzRegex.exec(match[4])) { + tzFormat = 'Z'; + } else { + config._isValid = false; + return; + } } + config._f = dateFormat + (timeFormat || '') + (tzFormat || ''); configFromStringAndFormat(config); } else { config._isValid = false; @@ -2421,8 +2489,8 @@ return /******/ (function(modules) { // webpackBootstrap //http://stackoverflow.com/questions/181348/instantiating-a-javascript-object-by-calling-prototype-constructor-apply var date = new Date(y, m, d, h, M, s, ms); - //the date constructor doesn't accept years < 1970 - if (y < 1970) { + //the date constructor remaps years 0-99 to 1900-1999 + if (y < 100 && y >= 0 && isFinite(date.getFullYear())) { date.setFullYear(y); } return date; @@ -2430,12 +2498,16 @@ return /******/ (function(modules) { // webpackBootstrap function createUTCDate (y) { var date = new Date(Date.UTC.apply(null, arguments)); - if (y < 1970) { + + //the Date.UTC function remaps years 0-99 to 1900-1999 + if (y < 100 && y >= 0 && isFinite(date.getUTCFullYear())) { date.setUTCFullYear(y); } return date; } + // FORMATTING + addFormatToken(0, ['YY', 2], 0, function () { return this.year() % 100; }); @@ -2488,124 +2560,66 @@ return /******/ (function(modules) { // webpackBootstrap return isLeapYear(this.year()); } - addFormatToken('w', ['ww', 2], 'wo', 'week'); - addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek'); + // start-of-first-week - start-of-year + function firstWeekOffset(year, dow, doy) { + var // first-week day -- which january is always in the first week (4 for iso, 1 for other) + fwd = 7 + dow - doy, + // first-week day local weekday -- which local weekday is fwd + fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7; - // ALIASES - - addUnitAlias('week', 'w'); - addUnitAlias('isoWeek', 'W'); - - // PARSING - - addRegexToken('w', match1to2); - addRegexToken('ww', match1to2, match2); - addRegexToken('W', match1to2); - addRegexToken('WW', match1to2, match2); - - addWeekParseToken(['w', 'ww', 'W', 'WW'], function (input, week, config, token) { - week[token.substr(0, 1)] = toInt(input); - }); - - // HELPERS - - // firstDayOfWeek 0 = sun, 6 = sat - // the day of the week that starts the week - // (usually sunday or monday) - // firstDayOfWeekOfYear 0 = sun, 6 = sat - // the first week is the week that contains the first - // of this day of the week - // (eg. ISO weeks use thursday (4)) - function weekOfYear(mom, firstDayOfWeek, firstDayOfWeekOfYear) { - var end = firstDayOfWeekOfYear - firstDayOfWeek, - daysToDayOfWeek = firstDayOfWeekOfYear - mom.day(), - adjustedMoment; - - - if (daysToDayOfWeek > end) { - daysToDayOfWeek -= 7; - } + return -fwdlw + fwd - 1; + } - if (daysToDayOfWeek < end - 7) { - daysToDayOfWeek += 7; + //http://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday + function dayOfYearFromWeeks(year, week, weekday, dow, doy) { + var localWeekday = (7 + weekday - dow) % 7, + weekOffset = firstWeekOffset(year, dow, doy), + dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset, + resYear, resDayOfYear; + + if (dayOfYear <= 0) { + resYear = year - 1; + resDayOfYear = daysInYear(resYear) + dayOfYear; + } else if (dayOfYear > daysInYear(year)) { + resYear = year + 1; + resDayOfYear = dayOfYear - daysInYear(year); + } else { + resYear = year; + resDayOfYear = dayOfYear; } - adjustedMoment = local__createLocal(mom).add(daysToDayOfWeek, 'd'); return { - week: Math.ceil(adjustedMoment.dayOfYear() / 7), - year: adjustedMoment.year() + year: resYear, + dayOfYear: resDayOfYear }; } - // LOCALES - - function localeWeek (mom) { - return weekOfYear(mom, this._week.dow, this._week.doy).week; - } - - var defaultLocaleWeek = { - dow : 0, // Sunday is the first day of the week. - doy : 6 // The week that contains Jan 1st is the first week of the year. - }; - - function localeFirstDayOfWeek () { - return this._week.dow; - } - - function localeFirstDayOfYear () { - return this._week.doy; - } + function weekOfYear(mom, dow, doy) { + var weekOffset = firstWeekOffset(mom.year(), dow, doy), + week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1, + resWeek, resYear; - // MOMENTS - - function getSetWeek (input) { - var week = this.localeData().week(this); - return input == null ? week : this.add((input - week) * 7, 'd'); - } - - function getSetISOWeek (input) { - var week = weekOfYear(this, 1, 4).week; - return input == null ? week : this.add((input - week) * 7, 'd'); - } - - addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear'); - - // ALIASES - - addUnitAlias('dayOfYear', 'DDD'); - - // PARSING - - addRegexToken('DDD', match1to3); - addRegexToken('DDDD', match3); - addParseToken(['DDD', 'DDDD'], function (input, array, config) { - config._dayOfYear = toInt(input); - }); - - // HELPERS - - //http://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday - function dayOfYearFromWeeks(year, week, weekday, firstDayOfWeekOfYear, firstDayOfWeek) { - var week1Jan = 6 + firstDayOfWeek - firstDayOfWeekOfYear, janX = createUTCDate(year, 0, 1 + week1Jan), d = janX.getUTCDay(), dayOfYear; - if (d < firstDayOfWeek) { - d += 7; + if (week < 1) { + resYear = mom.year() - 1; + resWeek = week + weeksInYear(resYear, dow, doy); + } else if (week > weeksInYear(mom.year(), dow, doy)) { + resWeek = week - weeksInYear(mom.year(), dow, doy); + resYear = mom.year() + 1; + } else { + resYear = mom.year(); + resWeek = week; } - weekday = weekday != null ? 1 * weekday : firstDayOfWeek; - - dayOfYear = 1 + week1Jan + 7 * (week - 1) - d + weekday; - return { - year: dayOfYear > 0 ? year : year - 1, - dayOfYear: dayOfYear > 0 ? dayOfYear : daysInYear(year - 1) + dayOfYear + week: resWeek, + year: resYear }; } - // MOMENTS - - function getSetDayOfYear (input) { - var dayOfYear = Math.round((this.clone().startOf('day') - this.clone().startOf('year')) / 864e5) + 1; - return input == null ? dayOfYear : this.add((input - dayOfYear), 'd'); + function weeksInYear(year, dow, doy) { + var weekOffset = firstWeekOffset(year, dow, doy), + weekOffsetNext = firstWeekOffset(year + 1, dow, doy); + return (daysInYear(year) - weekOffset + weekOffsetNext) / 7; } // Pick the first defined of two or three arguments. @@ -2620,11 +2634,12 @@ return /******/ (function(modules) { // webpackBootstrap } function currentDateArray(config) { - var now = new Date(); + // hooks is actually the exported moment object + var nowValue = new Date(utils_hooks__hooks.now()); if (config._useUTC) { - return [now.getUTCFullYear(), now.getUTCMonth(), now.getUTCDate()]; + return [nowValue.getUTCFullYear(), nowValue.getUTCMonth(), nowValue.getUTCDate()]; } - return [now.getFullYear(), now.getMonth(), now.getDate()]; + return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()]; } // convert an array to a date. @@ -2694,7 +2709,7 @@ return /******/ (function(modules) { // webpackBootstrap } function dayOfYearFromWeekInfo(config) { - var w, weekYear, week, weekday, dow, doy, temp; + var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow; w = config._w; if (w.GG != null || w.W != null || w.E != null) { @@ -2708,6 +2723,9 @@ return /******/ (function(modules) { // webpackBootstrap weekYear = defaults(w.GG, config._a[YEAR], weekOfYear(local__createLocal(), 1, 4).year); week = defaults(w.W, 1); weekday = defaults(w.E, 1); + if (weekday < 1 || weekday > 7) { + weekdayOverflow = true; + } } else { dow = config._locale._week.dow; doy = config._locale._week.doy; @@ -2718,23 +2736,32 @@ return /******/ (function(modules) { // webpackBootstrap if (w.d != null) { // weekday -- low day numbers are considered next week weekday = w.d; - if (weekday < dow) { - ++week; + if (weekday < 0 || weekday > 6) { + weekdayOverflow = true; } } else if (w.e != null) { // local weekday -- counting starts from begining of week weekday = w.e + dow; + if (w.e < 0 || w.e > 6) { + weekdayOverflow = true; + } } else { // default to begining of week weekday = dow; } } - temp = dayOfYearFromWeeks(weekYear, week, weekday, doy, dow); - - config._a[YEAR] = temp.year; - config._dayOfYear = temp.dayOfYear; + if (week < 1 || week > weeksInYear(weekYear, dow, doy)) { + getParsingFlags(config)._overflowWeeks = true; + } else if (weekdayOverflow != null) { + getParsingFlags(config)._overflowWeekday = true; + } else { + temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy); + config._a[YEAR] = temp.year; + config._dayOfYear = temp.dayOfYear; + } } + // constant that refers to the ISO standard utils_hooks__hooks.ISO_8601 = function () {}; // date from string and format string @@ -2827,6 +2854,7 @@ return /******/ (function(modules) { // webpackBootstrap } } + // date from string and array of format strings function configFromStringAndArray(config) { var tempConfig, bestMoment, @@ -2877,7 +2905,9 @@ return /******/ (function(modules) { // webpackBootstrap } var i = normalizeObjectUnits(config._i); - config._a = [i.year, i.month, i.day || i.date, i.hour, i.minute, i.second, i.millisecond]; + config._a = map([i.year, i.month, i.day || i.date, i.hour, i.minute, i.second, i.millisecond], function (obj) { + return obj && parseInt(obj, 10); + }); configFromArray(config); } @@ -2919,13 +2949,17 @@ return /******/ (function(modules) { // webpackBootstrap configFromInput(config); } + if (!valid__isValid(config)) { + config._d = null; + } + return config; } function configFromInput(config) { var input = config._i; if (input === undefined) { - config._d = new Date(); + config._d = new Date(utils_hooks__hooks.now()); } else if (isDate(input)) { config._d = new Date(+input); } else if (typeof input === 'string') { @@ -2972,7 +3006,11 @@ return /******/ (function(modules) { // webpackBootstrap 'moment().min is deprecated, use moment.min instead. https://github.com/moment/moment/issues/1548', function () { var other = local__createLocal.apply(null, arguments); - return other < this ? this : other; + if (this.isValid() && other.isValid()) { + return other < this ? this : other; + } else { + return valid__createInvalid(); + } } ); @@ -2980,7 +3018,11 @@ return /******/ (function(modules) { // webpackBootstrap 'moment().max is deprecated, use moment.max instead. https://github.com/moment/moment/issues/1548', function () { var other = local__createLocal.apply(null, arguments); - return other > this ? this : other; + if (this.isValid() && other.isValid()) { + return other > this ? this : other; + } else { + return valid__createInvalid(); + } } ); @@ -3019,6 +3061,10 @@ return /******/ (function(modules) { // webpackBootstrap return pickBy('isAfter', args); } + var now = Date.now || function () { + return +(new Date()); + }; + function Duration (duration) { var normalizedInput = normalizeObjectUnits(duration), years = normalizedInput.year || 0, @@ -3058,6 +3104,8 @@ return /******/ (function(modules) { // webpackBootstrap return obj instanceof Duration; } + // FORMATTING + function offset (token, separator) { addFormatToken(token, 0, 0, function () { var offset = this.utcOffset(); @@ -3075,11 +3123,11 @@ return /******/ (function(modules) { // webpackBootstrap // PARSING - addRegexToken('Z', matchOffset); - addRegexToken('ZZ', matchOffset); + addRegexToken('Z', matchShortOffset); + addRegexToken('ZZ', matchShortOffset); addParseToken(['Z', 'ZZ'], function (input, array, config) { config._useUTC = true; - config._tzm = offsetFromString(input); + config._tzm = offsetFromString(matchShortOffset, input); }); // HELPERS @@ -3089,8 +3137,8 @@ return /******/ (function(modules) { // webpackBootstrap // '-1530' > ['-15', '30'] var chunkOffset = /([\+\-]|\d\d)/gi; - function offsetFromString(string) { - var matches = ((string || '').match(matchOffset) || []); + function offsetFromString(matcher, string) { + var matches = ((string || '').match(matcher) || []); var chunk = matches[matches.length - 1] || []; var parts = (chunk + '').match(chunkOffset) || ['-', 0, 0]; var minutes = +(parts[1] * 60) + toInt(parts[2]); @@ -3140,11 +3188,13 @@ return /******/ (function(modules) { // webpackBootstrap function getSetOffset (input, keepLocalTime) { var offset = this._offset || 0, localAdjust; + if (!this.isValid()) { + return input != null ? this : NaN; + } if (input != null) { if (typeof input === 'string') { - input = offsetFromString(input); - } - if (Math.abs(input) < 16) { + input = offsetFromString(matchShortOffset, input); + } else if (Math.abs(input) < 16) { input = input * 60; } if (!this._isUTC && keepLocalTime) { @@ -3204,12 +3254,15 @@ return /******/ (function(modules) { // webpackBootstrap if (this._tzm) { this.utcOffset(this._tzm); } else if (typeof this._i === 'string') { - this.utcOffset(offsetFromString(this._i)); + this.utcOffset(offsetFromString(matchOffset, this._i)); } return this; } function hasAlignedHourOffset (input) { + if (!this.isValid()) { + return false; + } input = input ? local__createLocal(input).utcOffset() : 0; return (this.utcOffset() - input) % 60 === 0; @@ -3223,7 +3276,7 @@ return /******/ (function(modules) { // webpackBootstrap } function isDaylightSavingTimeShifted () { - if (typeof this._isDSTShifted !== 'undefined') { + if (!isUndefined(this._isDSTShifted)) { return this._isDSTShifted; } @@ -3244,22 +3297,23 @@ return /******/ (function(modules) { // webpackBootstrap } function isLocal () { - return !this._isUTC; + return this.isValid() ? !this._isUTC : false; } function isUtcOffset () { - return this._isUTC; + return this.isValid() ? this._isUTC : false; } function isUtc () { - return this._isUTC && this._offset === 0; + return this.isValid() ? this._isUTC && this._offset === 0 : false; } - var aspNetRegex = /(\-)?(?:(\d*)\.)?(\d+)\:(\d+)(?:\:(\d+)\.?(\d{3})?)?/; + // ASP.NET json date format regex + var aspNetRegex = /(\-)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)\.?(\d{3})?)?/; // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere - var create__isoRegex = /^(-)?P(?:(?:([0-9,.]*)Y)?(?:([0-9,.]*)M)?(?:([0-9,.]*)D)?(?:T(?:([0-9,.]*)H)?(?:([0-9,.]*)M)?(?:([0-9,.]*)S)?)?|([0-9,.]*)W)$/; + var isoRegex = /^(-)?P(?:(?:([0-9,.]*)Y)?(?:([0-9,.]*)M)?(?:([0-9,.]*)D)?(?:T(?:([0-9,.]*)H)?(?:([0-9,.]*)M)?(?:([0-9,.]*)S)?)?|([0-9,.]*)W)$/; function create__createDuration (input, key) { var duration = input, @@ -3292,7 +3346,7 @@ return /******/ (function(modules) { // webpackBootstrap s : toInt(match[SECOND]) * sign, ms : toInt(match[MILLISECOND]) * sign }; - } else if (!!(match = create__isoRegex.exec(input))) { + } else if (!!(match = isoRegex.exec(input))) { sign = (match[1] === '-') ? -1 : 1; duration = { y : parseIso(match[2], sign), @@ -3349,6 +3403,10 @@ return /******/ (function(modules) { // webpackBootstrap function momentsDifference(base, other) { var res; + if (!(base.isValid() && other.isValid())) { + return {milliseconds: 0, months: 0}; + } + other = cloneWithOffset(other, base); if (base.isBefore(other)) { res = positiveMomentsDifference(base, other); @@ -3361,6 +3419,7 @@ return /******/ (function(modules) { // webpackBootstrap return res; } + // TODO: remove 'name' arg after deprecation is removed function createAdder(direction, name) { return function (val, period) { var dur, tmp; @@ -3381,6 +3440,12 @@ return /******/ (function(modules) { // webpackBootstrap var milliseconds = duration._milliseconds, days = duration._days, months = duration._months; + + if (!mom.isValid()) { + // No op + return; + } + updateOffset = updateOffset == null ? true : updateOffset; if (milliseconds) { @@ -3412,7 +3477,10 @@ return /******/ (function(modules) { // webpackBootstrap diff < 1 ? 'sameDay' : diff < 2 ? 'nextDay' : diff < 7 ? 'nextWeek' : 'sameElse'; - return this.format(formats && formats[format] || this.localeData().calendar(format, this, local__createLocal(now))); + + var output = formats && (isFunction(formats[format]) ? formats[format]() : formats[format]); + + return this.format(output || this.localeData().calendar(format, this, local__createLocal(now))); } function clone () { @@ -3420,26 +3488,28 @@ return /******/ (function(modules) { // webpackBootstrap } function isAfter (input, units) { - var inputMs; - units = normalizeUnits(typeof units !== 'undefined' ? units : 'millisecond'); + var localInput = isMoment(input) ? input : local__createLocal(input); + if (!(this.isValid() && localInput.isValid())) { + return false; + } + units = normalizeUnits(!isUndefined(units) ? units : 'millisecond'); if (units === 'millisecond') { - input = isMoment(input) ? input : local__createLocal(input); - return +this > +input; + return +this > +localInput; } else { - inputMs = isMoment(input) ? +input : +local__createLocal(input); - return inputMs < +this.clone().startOf(units); + return +localInput < +this.clone().startOf(units); } } function isBefore (input, units) { - var inputMs; - units = normalizeUnits(typeof units !== 'undefined' ? units : 'millisecond'); + var localInput = isMoment(input) ? input : local__createLocal(input); + if (!(this.isValid() && localInput.isValid())) { + return false; + } + units = normalizeUnits(!isUndefined(units) ? units : 'millisecond'); if (units === 'millisecond') { - input = isMoment(input) ? input : local__createLocal(input); - return +this < +input; + return +this < +localInput; } else { - inputMs = isMoment(input) ? +input : +local__createLocal(input); - return +this.clone().endOf(units) < inputMs; + return +this.clone().endOf(units) < +localInput; } } @@ -3448,22 +3518,45 @@ return /******/ (function(modules) { // webpackBootstrap } function isSame (input, units) { - var inputMs; + var localInput = isMoment(input) ? input : local__createLocal(input), + inputMs; + if (!(this.isValid() && localInput.isValid())) { + return false; + } units = normalizeUnits(units || 'millisecond'); if (units === 'millisecond') { - input = isMoment(input) ? input : local__createLocal(input); - return +this === +input; + return +this === +localInput; } else { - inputMs = +local__createLocal(input); + inputMs = +localInput; return +(this.clone().startOf(units)) <= inputMs && inputMs <= +(this.clone().endOf(units)); } } + function isSameOrAfter (input, units) { + return this.isSame(input, units) || this.isAfter(input,units); + } + + function isSameOrBefore (input, units) { + return this.isSame(input, units) || this.isBefore(input,units); + } + function diff (input, units, asFloat) { - var that = cloneWithOffset(input, this), - zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4, + var that, + zoneDelta, delta, output; + if (!this.isValid()) { + return NaN; + } + + that = cloneWithOffset(input, this); + + if (!that.isValid()) { + return NaN; + } + + zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4; + units = normalizeUnits(units); if (units === 'year' || units === 'month' || units === 'quarter') { @@ -3514,7 +3607,7 @@ return /******/ (function(modules) { // webpackBootstrap function moment_format__toISOString () { var m = this.clone().utc(); if (0 < m.year() && m.year() <= 9999) { - if ('function' === typeof Date.prototype.toISOString) { + if (isFunction(Date.prototype.toISOString)) { // native implementation is ~50x faster, use it when we can return this.toDate().toISOString(); } else { @@ -3531,10 +3624,13 @@ return /******/ (function(modules) { // webpackBootstrap } function from (time, withoutSuffix) { - if (!this.isValid()) { + if (this.isValid() && + ((isMoment(time) && time.isValid()) || + local__createLocal(time).isValid())) { + return create__createDuration({to: this, from: time}).locale(this.locale()).humanize(!withoutSuffix); + } else { return this.localeData().invalidDate(); } - return create__createDuration({to: this, from: time}).locale(this.locale()).humanize(!withoutSuffix); } function fromNow (withoutSuffix) { @@ -3542,16 +3638,22 @@ return /******/ (function(modules) { // webpackBootstrap } function to (time, withoutSuffix) { - if (!this.isValid()) { + if (this.isValid() && + ((isMoment(time) && time.isValid()) || + local__createLocal(time).isValid())) { + return create__createDuration({from: this, to: time}).locale(this.locale()).humanize(!withoutSuffix); + } else { return this.localeData().invalidDate(); } - return create__createDuration({from: this, to: time}).locale(this.locale()).humanize(!withoutSuffix); } function toNow (withoutSuffix) { return this.to(local__createLocal(), withoutSuffix); } + // If passed a locale key, it will set the locale for this + // instance. Otherwise, it will return the locale configuration + // variables for this instance. function locale (key) { var newLocaleData; @@ -3662,6 +3764,11 @@ return /******/ (function(modules) { // webpackBootstrap }; } + function toJSON () { + // JSON.stringify(new Date(NaN)) === 'null' + return this.isValid() ? this.toISOString() : 'null'; + } + function moment_valid__isValid () { return valid__isValid(this); } @@ -3674,6 +3781,18 @@ return /******/ (function(modules) { // webpackBootstrap return getParsingFlags(this).overflow; } + function creationData() { + return { + input: this._i, + format: this._f, + locale: this._locale, + isUTC: this._isUTC, + strict: this._strict + }; + } + + // FORMATTING + addFormatToken(0, ['gg', 2], 0, function () { return this.weekYear() % 100; }); @@ -3715,22 +3834,20 @@ return /******/ (function(modules) { // webpackBootstrap week[token] = utils_hooks__hooks.parseTwoDigitYear(input); }); - // HELPERS - - function weeksInYear(year, dow, doy) { - return weekOfYear(local__createLocal([year, 11, 31 + dow - doy]), dow, doy).week; - } - // MOMENTS function getSetWeekYear (input) { - var year = weekOfYear(this, this.localeData()._week.dow, this.localeData()._week.doy).year; - return input == null ? year : this.add((input - year), 'y'); + return getSetWeekYearHelper.call(this, + input, + this.week(), + this.weekday(), + this.localeData()._week.dow, + this.localeData()._week.doy); } function getSetISOWeekYear (input) { - var year = weekOfYear(this, 1, 4).year; - return input == null ? year : this.add((input - year), 'y'); + return getSetWeekYearHelper.call(this, + input, this.isoWeek(), this.isoWeekday(), 1, 4); } function getISOWeeksInYear () { @@ -3742,7 +3859,33 @@ return /******/ (function(modules) { // webpackBootstrap return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy); } - addFormatToken('Q', 0, 0, 'quarter'); + function getSetWeekYearHelper(input, week, weekday, dow, doy) { + var weeksTarget; + if (input == null) { + return weekOfYear(this, dow, doy).year; + } else { + weeksTarget = weeksInYear(input, dow, doy); + if (week > weeksTarget) { + week = weeksTarget; + } + return setWeekAll.call(this, input, week, weekday, dow, doy); + } + } + + function setWeekAll(weekYear, week, weekday, dow, doy) { + var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy), + date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear); + + // console.log("got", weekYear, week, weekday, "set", date.toISOString()); + this.year(date.getUTCFullYear()); + this.month(date.getUTCMonth()); + this.date(date.getUTCDate()); + return this; + } + + // FORMATTING + + addFormatToken('Q', 0, 'Qo', 'quarter'); // ALIASES @@ -3761,6 +3904,62 @@ return /******/ (function(modules) { // webpackBootstrap return input == null ? Math.ceil((this.month() + 1) / 3) : this.month((input - 1) * 3 + this.month() % 3); } + // FORMATTING + + addFormatToken('w', ['ww', 2], 'wo', 'week'); + addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek'); + + // ALIASES + + addUnitAlias('week', 'w'); + addUnitAlias('isoWeek', 'W'); + + // PARSING + + addRegexToken('w', match1to2); + addRegexToken('ww', match1to2, match2); + addRegexToken('W', match1to2); + addRegexToken('WW', match1to2, match2); + + addWeekParseToken(['w', 'ww', 'W', 'WW'], function (input, week, config, token) { + week[token.substr(0, 1)] = toInt(input); + }); + + // HELPERS + + // LOCALES + + function localeWeek (mom) { + return weekOfYear(mom, this._week.dow, this._week.doy).week; + } + + var defaultLocaleWeek = { + dow : 0, // Sunday is the first day of the week. + doy : 6 // The week that contains Jan 1st is the first week of the year. + }; + + function localeFirstDayOfWeek () { + return this._week.dow; + } + + function localeFirstDayOfYear () { + return this._week.doy; + } + + // MOMENTS + + function getSetWeek (input) { + var week = this.localeData().week(this); + return input == null ? week : this.add((input - week) * 7, 'd'); + } + + function getSetISOWeek (input) { + var week = weekOfYear(this, 1, 4).week; + return input == null ? week : this.add((input - week) * 7, 'd'); + } + + // FORMATTING + addFormatToken('D', ['DD', 2], 'Do', 'date'); // ALIASES @@ -3784,6 +3983,8 @@ return /******/ (function(modules) { // webpackBootstrap var getSetDayOfMonth = makeGetSet('Date', true); + // FORMATTING + addFormatToken('d', 0, 'do', 'day'); addFormatToken('dd', 0, 0, function (format) { @@ -3816,8 +4017,8 @@ return /******/ (function(modules) { // webpackBootstrap addRegexToken('ddd', matchWord); addRegexToken('dddd', matchWord); - addWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config) { - var weekday = config._locale.weekdaysParse(input); + addWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) { + var weekday = config._locale.weekdaysParse(input, token, config._strict); // if we didn't get a weekday name, mark the date as invalid if (weekday != null) { week.d = weekday; @@ -3852,8 +4053,9 @@ return /******/ (function(modules) { // webpackBootstrap // LOCALES var defaultLocaleWeekdays = 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'); - function localeWeekdays (m) { - return this._weekdays[m.day()]; + function localeWeekdays (m, format) { + return isArray(this._weekdays) ? this._weekdays[m.day()] : + this._weekdays[this._weekdays.isFormat.test(format) ? 'format' : 'standalone'][m.day()]; } var defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'); @@ -3866,20 +4068,37 @@ return /******/ (function(modules) { // webpackBootstrap return this._weekdaysMin[m.day()]; } - function localeWeekdaysParse (weekdayName) { + function localeWeekdaysParse (weekdayName, format, strict) { var i, mom, regex; - this._weekdaysParse = this._weekdaysParse || []; + if (!this._weekdaysParse) { + this._weekdaysParse = []; + this._minWeekdaysParse = []; + this._shortWeekdaysParse = []; + this._fullWeekdaysParse = []; + } for (i = 0; i < 7; i++) { // make the regex if we don't have it already + + mom = local__createLocal([2000, 1]).day(i); + if (strict && !this._fullWeekdaysParse[i]) { + this._fullWeekdaysParse[i] = new RegExp('^' + this.weekdays(mom, '').replace('.', '\.?') + '$', 'i'); + this._shortWeekdaysParse[i] = new RegExp('^' + this.weekdaysShort(mom, '').replace('.', '\.?') + '$', 'i'); + this._minWeekdaysParse[i] = new RegExp('^' + this.weekdaysMin(mom, '').replace('.', '\.?') + '$', 'i'); + } if (!this._weekdaysParse[i]) { - mom = local__createLocal([2000, 1]).day(i); regex = '^' + this.weekdays(mom, '') + '|^' + this.weekdaysShort(mom, '') + '|^' + this.weekdaysMin(mom, ''); this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i'); } // test the regex - if (this._weekdaysParse[i].test(weekdayName)) { + if (strict && format === 'dddd' && this._fullWeekdaysParse[i].test(weekdayName)) { + return i; + } else if (strict && format === 'ddd' && this._shortWeekdaysParse[i].test(weekdayName)) { + return i; + } else if (strict && format === 'dd' && this._minWeekdaysParse[i].test(weekdayName)) { + return i; + } else if (!strict && this._weekdaysParse[i].test(weekdayName)) { return i; } } @@ -3888,6 +4107,9 @@ return /******/ (function(modules) { // webpackBootstrap // MOMENTS function getSetDayOfWeek (input) { + if (!this.isValid()) { + return input != null ? this : NaN; + } var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay(); if (input != null) { input = parseWeekday(input, this.localeData()); @@ -3898,20 +4120,73 @@ return /******/ (function(modules) { // webpackBootstrap } function getSetLocaleDayOfWeek (input) { + if (!this.isValid()) { + return input != null ? this : NaN; + } var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7; return input == null ? weekday : this.add(input - weekday, 'd'); } function getSetISODayOfWeek (input) { + if (!this.isValid()) { + return input != null ? this : NaN; + } // behaves the same as moment#day except // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6) // as a setter, sunday should belong to the previous week. return input == null ? this.day() || 7 : this.day(this.day() % 7 ? input : input - 7); } - addFormatToken('H', ['HH', 2], 0, 'hour'); - addFormatToken('h', ['hh', 2], 0, function () { + // FORMATTING + + addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear'); + + // ALIASES + + addUnitAlias('dayOfYear', 'DDD'); + + // PARSING + + addRegexToken('DDD', match1to3); + addRegexToken('DDDD', match3); + addParseToken(['DDD', 'DDDD'], function (input, array, config) { + config._dayOfYear = toInt(input); + }); + + // HELPERS + + // MOMENTS + + function getSetDayOfYear (input) { + var dayOfYear = Math.round((this.clone().startOf('day') - this.clone().startOf('year')) / 864e5) + 1; + return input == null ? dayOfYear : this.add((input - dayOfYear), 'd'); + } + + // FORMATTING + + function hFormat() { return this.hours() % 12 || 12; + } + + addFormatToken('H', ['HH', 2], 0, 'hour'); + addFormatToken('h', ['hh', 2], 0, hFormat); + + addFormatToken('hmm', 0, 0, function () { + return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2); + }); + + addFormatToken('hmmss', 0, 0, function () { + return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2) + + zeroFill(this.seconds(), 2); + }); + + addFormatToken('Hmm', 0, 0, function () { + return '' + this.hours() + zeroFill(this.minutes(), 2); + }); + + addFormatToken('Hmmss', 0, 0, function () { + return '' + this.hours() + zeroFill(this.minutes(), 2) + + zeroFill(this.seconds(), 2); }); function meridiem (token, lowercase) { @@ -3940,6 +4215,11 @@ return /******/ (function(modules) { // webpackBootstrap addRegexToken('HH', match1to2, match2); addRegexToken('hh', match1to2, match2); + addRegexToken('hmm', match3to4); + addRegexToken('hmmss', match5to6); + addRegexToken('Hmm', match3to4); + addRegexToken('Hmmss', match5to6); + addParseToken(['H', 'HH'], HOUR); addParseToken(['a', 'A'], function (input, array, config) { config._isPm = config._locale.isPM(input); @@ -3949,6 +4229,32 @@ return /******/ (function(modules) { // webpackBootstrap array[HOUR] = toInt(input); getParsingFlags(config).bigHour = true; }); + addParseToken('hmm', function (input, array, config) { + var pos = input.length - 2; + array[HOUR] = toInt(input.substr(0, pos)); + array[MINUTE] = toInt(input.substr(pos)); + getParsingFlags(config).bigHour = true; + }); + addParseToken('hmmss', function (input, array, config) { + var pos1 = input.length - 4; + var pos2 = input.length - 2; + array[HOUR] = toInt(input.substr(0, pos1)); + array[MINUTE] = toInt(input.substr(pos1, 2)); + array[SECOND] = toInt(input.substr(pos2)); + getParsingFlags(config).bigHour = true; + }); + addParseToken('Hmm', function (input, array, config) { + var pos = input.length - 2; + array[HOUR] = toInt(input.substr(0, pos)); + array[MINUTE] = toInt(input.substr(pos)); + }); + addParseToken('Hmmss', function (input, array, config) { + var pos1 = input.length - 4; + var pos2 = input.length - 2; + array[HOUR] = toInt(input.substr(0, pos1)); + array[MINUTE] = toInt(input.substr(pos1, 2)); + array[SECOND] = toInt(input.substr(pos2)); + }); // LOCALES @@ -3976,6 +4282,8 @@ return /******/ (function(modules) { // webpackBootstrap // this rule. var getSetHour = makeGetSet('Hours', true); + // FORMATTING + addFormatToken('m', ['mm', 2], 0, 'minute'); // ALIASES @@ -3992,6 +4300,8 @@ return /******/ (function(modules) { // webpackBootstrap var getSetMinute = makeGetSet('Minutes', false); + // FORMATTING + addFormatToken('s', ['ss', 2], 0, 'second'); // ALIASES @@ -4008,6 +4318,8 @@ return /******/ (function(modules) { // webpackBootstrap var getSetSecond = makeGetSet('Seconds', false); + // FORMATTING + addFormatToken('S', 0, 0, function () { return ~~(this.millisecond() / 100); }); @@ -4063,6 +4375,8 @@ return /******/ (function(modules) { // webpackBootstrap var getSetMillisecond = makeGetSet('Milliseconds', false); + // FORMATTING + addFormatToken('z', 0, 0, 'zoneAbbr'); addFormatToken('zz', 0, 0, 'zoneName'); @@ -4078,40 +4392,43 @@ return /******/ (function(modules) { // webpackBootstrap var momentPrototype__proto = Moment.prototype; - momentPrototype__proto.add = add_subtract__add; - momentPrototype__proto.calendar = moment_calendar__calendar; - momentPrototype__proto.clone = clone; - momentPrototype__proto.diff = diff; - momentPrototype__proto.endOf = endOf; - momentPrototype__proto.format = format; - momentPrototype__proto.from = from; - momentPrototype__proto.fromNow = fromNow; - momentPrototype__proto.to = to; - momentPrototype__proto.toNow = toNow; - momentPrototype__proto.get = getSet; - momentPrototype__proto.invalidAt = invalidAt; - momentPrototype__proto.isAfter = isAfter; - momentPrototype__proto.isBefore = isBefore; - momentPrototype__proto.isBetween = isBetween; - momentPrototype__proto.isSame = isSame; - momentPrototype__proto.isValid = moment_valid__isValid; - momentPrototype__proto.lang = lang; - momentPrototype__proto.locale = locale; - momentPrototype__proto.localeData = localeData; - momentPrototype__proto.max = prototypeMax; - momentPrototype__proto.min = prototypeMin; - momentPrototype__proto.parsingFlags = parsingFlags; - momentPrototype__proto.set = getSet; - momentPrototype__proto.startOf = startOf; - momentPrototype__proto.subtract = add_subtract__subtract; - momentPrototype__proto.toArray = toArray; - momentPrototype__proto.toObject = toObject; - momentPrototype__proto.toDate = toDate; - momentPrototype__proto.toISOString = moment_format__toISOString; - momentPrototype__proto.toJSON = moment_format__toISOString; - momentPrototype__proto.toString = toString; - momentPrototype__proto.unix = unix; - momentPrototype__proto.valueOf = to_type__valueOf; + momentPrototype__proto.add = add_subtract__add; + momentPrototype__proto.calendar = moment_calendar__calendar; + momentPrototype__proto.clone = clone; + momentPrototype__proto.diff = diff; + momentPrototype__proto.endOf = endOf; + momentPrototype__proto.format = format; + momentPrototype__proto.from = from; + momentPrototype__proto.fromNow = fromNow; + momentPrototype__proto.to = to; + momentPrototype__proto.toNow = toNow; + momentPrototype__proto.get = getSet; + momentPrototype__proto.invalidAt = invalidAt; + momentPrototype__proto.isAfter = isAfter; + momentPrototype__proto.isBefore = isBefore; + momentPrototype__proto.isBetween = isBetween; + momentPrototype__proto.isSame = isSame; + momentPrototype__proto.isSameOrAfter = isSameOrAfter; + momentPrototype__proto.isSameOrBefore = isSameOrBefore; + momentPrototype__proto.isValid = moment_valid__isValid; + momentPrototype__proto.lang = lang; + momentPrototype__proto.locale = locale; + momentPrototype__proto.localeData = localeData; + momentPrototype__proto.max = prototypeMax; + momentPrototype__proto.min = prototypeMin; + momentPrototype__proto.parsingFlags = parsingFlags; + momentPrototype__proto.set = getSet; + momentPrototype__proto.startOf = startOf; + momentPrototype__proto.subtract = add_subtract__subtract; + momentPrototype__proto.toArray = toArray; + momentPrototype__proto.toObject = toObject; + momentPrototype__proto.toDate = toDate; + momentPrototype__proto.toISOString = moment_format__toISOString; + momentPrototype__proto.toJSON = toJSON; + momentPrototype__proto.toString = toString; + momentPrototype__proto.unix = unix; + momentPrototype__proto.valueOf = to_type__valueOf; + momentPrototype__proto.creationData = creationData; // Year momentPrototype__proto.year = getSetYear; @@ -4197,7 +4514,7 @@ return /******/ (function(modules) { // webpackBootstrap function locale_calendar__calendar (key, mom, now) { var output = this._calendar[key]; - return typeof output === 'function' ? output.call(mom, now) : output; + return isFunction(output) ? output.call(mom, now) : output; } var defaultLongDateFormat = { @@ -4259,21 +4576,21 @@ return /******/ (function(modules) { // webpackBootstrap function relative__relativeTime (number, withoutSuffix, string, isFuture) { var output = this._relativeTime[string]; - return (typeof output === 'function') ? + return (isFunction(output)) ? output(number, withoutSuffix, string, isFuture) : output.replace(/%d/i, number); } function pastFuture (diff, output) { var format = this._relativeTime[diff > 0 ? 'future' : 'past']; - return typeof format === 'function' ? format(output) : format.replace(/%s/i, output); + return isFunction(format) ? format(output) : format.replace(/%s/i, output); } function locale_set__set (config) { var prop, i; for (i in config) { prop = config[i]; - if (typeof prop === 'function') { + if (isFunction(prop)) { this[i] = prop; } else { this['_' + i] = prop; @@ -4376,6 +4693,9 @@ return /******/ (function(modules) { // webpackBootstrap } locale_locales__getSetGlobalLocale('en', { + monthsParse : [/^jan/i, /^feb/i, /^mar/i, /^apr/i, /^may/i, /^jun/i, /^jul/i, /^aug/i, /^sep/i, /^oct/i, /^nov/i, /^dec/i], + longMonthsParse : [/^january$/i, /^february$/i, /^march$/i, /^april$/i, /^may$/i, /^june$/i, /^july$/i, /^august$/i, /^september$/i, /^october$/i, /^november$/i, /^december$/i], + shortMonthsParse : [/^jan$/i, /^feb$/i, /^mar$/i, /^apr$/i, /^may$/i, /^jun$/i, /^jul$/i, /^aug/i, /^sept?$/i, /^oct$/i, /^nov$/i, /^dec$/i], ordinalParse: /\d{1,2}(th|st|nd|rd)/, ordinal : function (number) { var b = number % 10, @@ -4595,15 +4915,15 @@ return /******/ (function(modules) { // webpackBootstrap var years = round(duration.as('y')); var a = seconds < thresholds.s && ['s', seconds] || - minutes === 1 && ['m'] || + minutes <= 1 && ['m'] || minutes < thresholds.m && ['mm', minutes] || - hours === 1 && ['h'] || + hours <= 1 && ['h'] || hours < thresholds.h && ['hh', hours] || - days === 1 && ['d'] || + days <= 1 && ['d'] || days < thresholds.d && ['dd', days] || - months === 1 && ['M'] || + months <= 1 && ['M'] || months < thresholds.M && ['MM', months] || - years === 1 && ['y'] || ['yy', years]; + years <= 1 && ['y'] || ['yy', years]; a[2] = withoutSuffix; a[3] = +posNegDuration > 0; @@ -4724,6 +5044,8 @@ return /******/ (function(modules) { // webpackBootstrap // Side effect imports + // FORMATTING + addFormatToken('X', 0, 0, 'unix'); addFormatToken('x', 0, 0, 'valueOf'); @@ -4741,13 +5063,14 @@ return /******/ (function(modules) { // webpackBootstrap // Side effect imports - utils_hooks__hooks.version = '2.10.6'; + utils_hooks__hooks.version = '2.11.0'; setHookCallback(local__createLocal); utils_hooks__hooks.fn = momentPrototype; utils_hooks__hooks.min = min; utils_hooks__hooks.max = max; + utils_hooks__hooks.now = now; utils_hooks__hooks.utc = create_utc__createUTC; utils_hooks__hooks.unix = moment__createUnix; utils_hooks__hooks.months = lists__listMonths; @@ -4766,6 +5089,7 @@ return /******/ (function(modules) { // webpackBootstrap utils_hooks__hooks.weekdaysShort = lists__listWeekdaysShort; utils_hooks__hooks.normalizeUnits = normalizeUnits; utils_hooks__hooks.relativeTimeThreshold = duration_humanize__getSetRelativeTimeThreshold; + utils_hooks__hooks.prototype = momentPrototype; var _moment = utils_hooks__hooks; @@ -5500,7 +5824,7 @@ return /******/ (function(modules) { // webpackBootstrap if (data[i] instanceof Object) { addOrUpdate(data[i]); } else { - console.warn("Ignoring input item, which is not an object at index" + i); + console.warn('Ignoring input item, which is not an object at index ' + i); } } } else if (data instanceof Object) { @@ -10121,18 +10445,18 @@ return /******/ (function(modules) { // webpackBootstrap var util = __webpack_require__(1); var DataSet = __webpack_require__(8); var DataView = __webpack_require__(10); - var Range = __webpack_require__(24); - var Core = __webpack_require__(28); - var TimeAxis = __webpack_require__(39); - var CurrentTime = __webpack_require__(44); - var CustomTime = __webpack_require__(42); - var ItemSet = __webpack_require__(29); + var Range = __webpack_require__(23); + var Core = __webpack_require__(27); + var TimeAxis = __webpack_require__(38); + var CurrentTime = __webpack_require__(43); + var CustomTime = __webpack_require__(41); + var ItemSet = __webpack_require__(28); - var Configurator = __webpack_require__(45); - var Validator = __webpack_require__(47)['default']; - var printStyle = __webpack_require__(47).printStyle; - var allOptions = __webpack_require__(48).allOptions; - var configureOptions = __webpack_require__(48).configureOptions; + var Configurator = __webpack_require__(44); + var Validator = __webpack_require__(46)['default']; + var printStyle = __webpack_require__(46).printStyle; + var allOptions = __webpack_require__(47).allOptions; + var configureOptions = __webpack_require__(47).configureOptions; /** * Create a timeline visualization @@ -10492,8 +10816,8 @@ return /******/ (function(modules) { // webpackBootstrap // get a rough approximation for the range based on the items start and end dates var range = this.getDataRange(); - var min = range.min.valueOf(); - var max = range.max.valueOf(); + var min = range.min !== null ? range.min.valueOf() : null; + var max = range.max !== null ? range.max.valueOf() : null; var minItem = null; var maxItem = null; @@ -10723,14 +11047,14 @@ return /******/ (function(modules) { // webpackBootstrap var PropagatingHammer = function(element, options) { var o = Object.create(_options); - if (options) Hammer.extend(o, options); + if (options) Hammer.assign(o, options); return propagating(new Hammer(element, o), o); }; - Hammer.extend(PropagatingHammer, Hammer); + Hammer.assign(PropagatingHammer, Hammer); PropagatingHammer.Manager = function (element, options) { var o = Object.create(_options); - if (options) Hammer.extend(o, options); + if (options) Hammer.assign(o, options); return propagating(new Hammer.Manager(element, o), o); }; @@ -10743,7 +11067,9 @@ return /******/ (function(modules) { // webpackBootstrap // attach to DOM element var element = hammer.element; - element.hammer = wrapper; + + if(!element.hammer) element.hammer = []; + element.hammer.push(wrapper); // register an event to catch the start of a gesture and store the // target in a singleton @@ -10824,7 +11150,10 @@ return /******/ (function(modules) { // webpackBootstrap wrapper.destroy = function () { // Detach from DOM element - delete hammer.element.hammer; + var hammers = hammer.element.hammer; + var idx = hammers.indexOf(wrapper); + if(idx !== -1) hammers.splice(idx,1); + if(!hammers.length) delete hammer.element.hammer; // clear all handlers wrapper._handlers = {}; @@ -10865,19 +11194,30 @@ return /******/ (function(modules) { // webpackBootstrap stopped = true; }; + //wrap the srcEvent's stopPropagation to also stop hammer propagation: + var srcStop = event.srcEvent.stopPropagation; + if(typeof srcStop == "function") { + event.srcEvent.stopPropagation = function(){ + srcStop(); + event.stopPropagation(); + } + } + // attach firstTarget property to the event event.firstTarget = _firstTarget; // propagate over all elements (until stopped) var elem = _firstTarget; while (elem && !stopped) { - var _handlers = elem.hammer && elem.hammer._handlers[event.type]; - if (_handlers) { - for (var i = 0; i < _handlers.length && !stopped; i++) { - _handlers[i](event); + if(elem.hammer){ + var _handlers; + for(var k = 0; k < elem.hammer.length; k++){ + _handlers = elem.hammer[k]._handlers[event.type]; + if(_handlers) for (var i = 0; i < _handlers.length && !stopped; i++) { + _handlers[i](event); + } } } - elem = elem.parentNode; } } @@ -10891,15 +11231,15 @@ return /******/ (function(modules) { // webpackBootstrap /* 22 */ /***/ function(module, exports, __webpack_require__) { - var __WEBPACK_AMD_DEFINE_RESULT__;/*! Hammer.JS - v2.0.4 - 2014-09-28 + var __WEBPACK_AMD_DEFINE_RESULT__;/*! Hammer.JS - v2.0.6 - 2015-12-23 * http://hammerjs.github.io/ * - * Copyright (c) 2014 Jorik Tangelder; - * Licensed under the MIT license */ + * Copyright (c) 2015 Jorik Tangelder; + * Licensed under the license */ (function(window, document, exportName, undefined) { 'use strict'; - var VENDOR_PREFIXES = ['', 'webkit', 'moz', 'MS', 'ms', 'o']; + var VENDOR_PREFIXES = ['', 'webkit', 'Moz', 'MS', 'ms', 'o']; var TEST_ELEMENT = document.createElement('div'); var TYPE_FUNCTION = 'function'; @@ -10964,15 +11304,69 @@ return /******/ (function(modules) { // webpackBootstrap } } + /** + * wrap a method with a deprecation warning and stack trace + * @param {Function} method + * @param {String} name + * @param {String} message + * @returns {Function} A new function wrapping the supplied method. + */ + function deprecate(method, name, message) { + var deprecationMessage = 'DEPRECATED METHOD: ' + name + '\n' + message + ' AT \n'; + return function() { + var e = new Error('get-stack-trace'); + var stack = e && e.stack ? e.stack.replace(/^[^\(]+?[\n$]/gm, '') + .replace(/^\s+at\s+/gm, '') + .replace(/^Object.\s*\(/gm, '{anonymous}()@') : 'Unknown Stack Trace'; + + var log = window.console && (window.console.warn || window.console.log); + if (log) { + log.call(window.console, deprecationMessage, stack); + } + return method.apply(this, arguments); + }; + } + + /** + * extend object. + * means that properties in dest will be overwritten by the ones in src. + * @param {Object} target + * @param {...Object} objects_to_assign + * @returns {Object} target + */ + var assign; + if (typeof Object.assign !== 'function') { + assign = function assign(target) { + if (target === undefined || target === null) { + throw new TypeError('Cannot convert undefined or null to object'); + } + + var output = Object(target); + for (var index = 1; index < arguments.length; index++) { + var source = arguments[index]; + if (source !== undefined && source !== null) { + for (var nextKey in source) { + if (source.hasOwnProperty(nextKey)) { + output[nextKey] = source[nextKey]; + } + } + } + } + return output; + }; + } else { + assign = Object.assign; + } + /** * extend object. * means that properties in dest will be overwritten by the ones in src. * @param {Object} dest * @param {Object} src - * @param {Boolean} [merge] + * @param {Boolean=false} [merge] * @returns {Object} dest */ - function extend(dest, src, merge) { + var extend = deprecate(function extend(dest, src, merge) { var keys = Object.keys(src); var i = 0; while (i < keys.length) { @@ -10982,7 +11376,7 @@ return /******/ (function(modules) { // webpackBootstrap i++; } return dest; - } + }, 'extend', 'Use `assign`.'); /** * merge the values from src in the dest. @@ -10991,9 +11385,9 @@ return /******/ (function(modules) { // webpackBootstrap * @param {Object} src * @returns {Object} dest */ - function merge(dest, src) { + var merge = deprecate(function merge(dest, src) { return extend(dest, src, true); - } + }, 'merge', 'Use `assign`.'); /** * simple class inheritance @@ -11010,7 +11404,7 @@ return /******/ (function(modules) { // webpackBootstrap childP._super = baseP; if (properties) { - extend(childP, properties); + assign(childP, properties); } } @@ -11213,8 +11607,8 @@ return /******/ (function(modules) { // webpackBootstrap * @returns {DocumentView|Window} */ function getWindowForElement(element) { - var doc = element.ownerDocument; - return (doc.defaultView || doc.parentWindow); + var doc = element.ownerDocument || element; + return (doc.defaultView || doc.parentWindow || window); } var MOBILE_REGEX = /mobile|tablet|ip(ad|hone|od)|android/i; @@ -11393,9 +11787,17 @@ return /******/ (function(modules) { // webpackBootstrap computeDeltaXY(session, input); input.offsetDirection = getDirection(input.deltaX, input.deltaY); + var overallVelocity = getVelocity(input.deltaTime, input.deltaX, input.deltaY); + input.overallVelocityX = overallVelocity.x; + input.overallVelocityY = overallVelocity.y; + input.overallVelocity = (abs(overallVelocity.x) > abs(overallVelocity.y)) ? overallVelocity.x : overallVelocity.y; + input.scale = firstMultiple ? getScale(firstMultiple.pointers, pointers) : 1; input.rotation = firstMultiple ? getRotation(firstMultiple.pointers, pointers) : 0; + input.maxPointers = !session.prevInput ? input.pointers.length : ((input.pointers.length > + session.prevInput.maxPointers) ? input.pointers.length : session.prevInput.maxPointers); + computeIntervalInputData(session, input); // find the correct target @@ -11439,8 +11841,8 @@ return /******/ (function(modules) { // webpackBootstrap velocity, velocityX, velocityY, direction; if (input.eventType != INPUT_CANCEL && (deltaTime > COMPUTE_INTERVAL || last.velocity === undefined)) { - var deltaX = last.deltaX - input.deltaX; - var deltaY = last.deltaY - input.deltaY; + var deltaX = input.deltaX - last.deltaX; + var deltaY = input.deltaY - last.deltaY; var v = getVelocity(deltaTime, deltaX, deltaY); velocityX = v.x; @@ -11545,9 +11947,9 @@ return /******/ (function(modules) { // webpackBootstrap } if (abs(x) >= abs(y)) { - return x > 0 ? DIRECTION_LEFT : DIRECTION_RIGHT; + return x < 0 ? DIRECTION_LEFT : DIRECTION_RIGHT; } - return y > 0 ? DIRECTION_UP : DIRECTION_DOWN; + return y < 0 ? DIRECTION_UP : DIRECTION_DOWN; } /** @@ -11590,7 +11992,7 @@ return /******/ (function(modules) { // webpackBootstrap * @return {Number} rotation */ function getRotation(start, end) { - return getAngle(end[1], end[0], PROPS_CLIENT_XY) - getAngle(start[1], start[0], PROPS_CLIENT_XY); + return getAngle(end[1], end[0], PROPS_CLIENT_XY) + getAngle(start[1], start[0], PROPS_CLIENT_XY); } /** @@ -11683,7 +12085,7 @@ return /******/ (function(modules) { // webpackBootstrap var POINTER_WINDOW_EVENTS = 'pointermove pointerup pointercancel'; // IE10 has prefixed support, and case-sensitive - if (window.MSPointerEvent) { + if (window.MSPointerEvent && !window.PointerEvent) { POINTER_ELEMENT_EVENTS = 'MSPointerDown'; POINTER_WINDOW_EVENTS = 'MSPointerMove MSPointerUp MSPointerCancel'; } @@ -12007,7 +12409,7 @@ return /******/ (function(modules) { // webpackBootstrap value = this.compute(); } - if (NATIVE_TOUCH_ACTION) { + if (NATIVE_TOUCH_ACTION && this.manager.element.style) { this.manager.element.style[PREFIXED_TOUCH_ACTION] = value; } this.actions = value.toLowerCase().trim(); @@ -12058,6 +12460,23 @@ return /******/ (function(modules) { // webpackBootstrap var hasPanY = inStr(actions, TOUCH_ACTION_PAN_Y); var hasPanX = inStr(actions, TOUCH_ACTION_PAN_X); + if (hasNone) { + //do not prevent defaults if this is a tap gesture + + var isTapPointer = input.pointers.length === 1; + var isTapMovement = input.distance < 2; + var isTapTouchTime = input.deltaTime < 250; + + if (isTapPointer && isTapMovement && isTapTouchTime) { + return; + } + } + + if (hasPanX && hasPanY) { + // `pan-x pan-y` means browser handles all scrolling/panning, do not prevent + return; + } + if (hasNone || (hasPanY && direction & DIRECTION_HORIZONTAL) || (hasPanX && direction & DIRECTION_VERTICAL)) { @@ -12089,9 +12508,12 @@ return /******/ (function(modules) { // webpackBootstrap var hasPanX = inStr(actions, TOUCH_ACTION_PAN_X); var hasPanY = inStr(actions, TOUCH_ACTION_PAN_Y); - // pan-x and pan-y can be combined + // if both pan-x and pan-y are set (different recognizers + // for different directions, e.g. horizontal pan but vertical swipe?) + // we need none (as otherwise with pan-x pan-y combined none of these + // recognizers will work, since the browser would handle all panning if (hasPanX && hasPanY) { - return TOUCH_ACTION_PAN_X + ' ' + TOUCH_ACTION_PAN_Y; + return TOUCH_ACTION_NONE; } // pan-x OR pan-y @@ -12149,10 +12571,11 @@ return /******/ (function(modules) { // webpackBootstrap * @param {Object} options */ function Recognizer(options) { + this.options = assign({}, this.defaults, options || {}); + this.id = uniqueId(); this.manager = null; - this.options = merge(options || {}, this.defaults); // default is enable true this.options.enable = ifUndefined(this.options.enable, true); @@ -12176,7 +12599,7 @@ return /******/ (function(modules) { // webpackBootstrap * @return {Recognizer} */ set: function(options) { - extend(this.options, options); + assign(this.options, options); // also update the touchAction, in case something changed about the directions/enabled state this.manager && this.manager.touchAction.update(); @@ -12280,20 +12703,24 @@ return /******/ (function(modules) { // webpackBootstrap var self = this; var state = this.state; - function emit(withState) { - self.manager.emit(self.options.event + (withState ? stateStr(state) : ''), input); + function emit(event) { + self.manager.emit(event, input); } // 'panstart' and 'panmove' if (state < STATE_ENDED) { - emit(true); + emit(self.options.event + stateStr(state)); } - emit(); // simple 'eventName' events + emit(self.options.event); // simple 'eventName' events + + if (input.additionalEvent) { // additional event(panleft, panright, pinchin, pinchout...) + emit(input.additionalEvent); + } // panend and pancancel if (state >= STATE_ENDED) { - emit(true); + emit(self.options.event + stateStr(state)); } }, @@ -12333,7 +12760,7 @@ return /******/ (function(modules) { // webpackBootstrap recognize: function(inputData) { // make a new copy of the inputData // so we can change the inputData without messing up the other recognizers - var inputDataClone = extend({}, inputData); + var inputDataClone = assign({}, inputData); // is is enabled and allow recognizing? if (!boolOrFn(this.options.enable, [this, inputDataClone])) { @@ -12558,14 +12985,15 @@ return /******/ (function(modules) { // webpackBootstrap }, emit: function(input) { + this.pX = input.deltaX; this.pY = input.deltaY; var direction = directionStr(input.direction); + if (direction) { - this.manager.emit(this.options.event + direction, input); + input.additionalEvent = this.options.event + direction; } - this._super.emit.call(this, input); } }); @@ -12601,11 +13029,11 @@ return /******/ (function(modules) { // webpackBootstrap }, emit: function(input) { - this._super.emit.call(this, input); if (input.scale !== 1) { var inOut = input.scale < 1 ? 'in' : 'out'; - this.manager.emit(this.options.event + inOut, input); + input.additionalEvent = this.options.event + inOut; } + this._super.emit.call(this, input); } }); @@ -12630,8 +13058,8 @@ return /******/ (function(modules) { // webpackBootstrap defaults: { event: 'press', pointers: 1, - time: 500, // minimal time of the pointer to be pressed - threshold: 5 // a minimal movement is ok, but keep it low + time: 251, // minimal time of the pointer to be pressed + threshold: 9 // a minimal movement is ok, but keep it low }, getTouchAction: function() { @@ -12729,7 +13157,7 @@ return /******/ (function(modules) { // webpackBootstrap defaults: { event: 'swipe', threshold: 10, - velocity: 0.65, + velocity: 0.3, direction: DIRECTION_HORIZONTAL | DIRECTION_VERTICAL, pointers: 1 }, @@ -12743,21 +13171,22 @@ return /******/ (function(modules) { // webpackBootstrap var velocity; if (direction & (DIRECTION_HORIZONTAL | DIRECTION_VERTICAL)) { - velocity = input.velocity; + velocity = input.overallVelocity; } else if (direction & DIRECTION_HORIZONTAL) { - velocity = input.velocityX; + velocity = input.overallVelocityX; } else if (direction & DIRECTION_VERTICAL) { - velocity = input.velocityY; + velocity = input.overallVelocityY; } return this._super.attrTest.call(this, input) && - direction & input.direction && + direction & input.offsetDirection && input.distance > this.options.threshold && + input.maxPointers == this.options.pointers && abs(velocity) > this.options.velocity && input.eventType & INPUT_END; }, emit: function(input) { - var direction = directionStr(input.direction); + var direction = directionStr(input.offsetDirection); if (direction) { this.manager.emit(this.options.event + direction, input); } @@ -12800,7 +13229,7 @@ return /******/ (function(modules) { // webpackBootstrap taps: 1, interval: 300, // max time between the multi-tap taps time: 250, // max time of the pointer to be down (like finger on the screen) - threshold: 2, // a minimal movement is ok, but keep it low + threshold: 9, // a minimal movement is ok, but keep it low posThreshold: 10 // a multi-tap can be a bit off the initial position }, @@ -12874,7 +13303,7 @@ return /******/ (function(modules) { // webpackBootstrap }, emit: function() { - if (this.state == STATE_RECOGNIZED ) { + if (this.state == STATE_RECOGNIZED) { this._input.tapCount = this.count; this.manager.emit(this.options.event, this._input); } @@ -12882,7 +13311,7 @@ return /******/ (function(modules) { // webpackBootstrap }); /** - * Simple way to create an manager with a default set of recognizers. + * Simple way to create a manager with a default set of recognizers. * @param {HTMLElement} element * @param {Object} [options] * @constructor @@ -12896,7 +13325,7 @@ return /******/ (function(modules) { // webpackBootstrap /** * @const {string} */ - Hammer.VERSION = '2.0.4'; + Hammer.VERSION = '2.0.6'; /** * default settings @@ -12948,12 +13377,12 @@ return /******/ (function(modules) { // webpackBootstrap */ preset: [ // RecognizerClass, options, [recognizeWith, ...], [requireFailure, ...] - [RotateRecognizer, { enable: false }], - [PinchRecognizer, { enable: false }, ['rotate']], - [SwipeRecognizer,{ direction: DIRECTION_HORIZONTAL }], - [PanRecognizer, { direction: DIRECTION_HORIZONTAL }, ['swipe']], + [RotateRecognizer, {enable: false}], + [PinchRecognizer, {enable: false}, ['rotate']], + [SwipeRecognizer, {direction: DIRECTION_HORIZONTAL}], + [PanRecognizer, {direction: DIRECTION_HORIZONTAL}, ['swipe']], [TapRecognizer], - [TapRecognizer, { event: 'doubletap', taps: 2 }, ['tap']], + [TapRecognizer, {event: 'doubletap', taps: 2}, ['tap']], [PressRecognizer] ], @@ -13020,9 +13449,8 @@ return /******/ (function(modules) { // webpackBootstrap * @constructor */ function Manager(element, options) { - options = options || {}; + this.options = assign({}, Hammer.defaults, options || {}); - this.options = merge(options, Hammer.defaults); this.options.inputTarget = this.options.inputTarget || element; this.handlers = {}; @@ -13035,7 +13463,7 @@ return /******/ (function(modules) { // webpackBootstrap toggleCssProps(this, true); - each(options.recognizers, function(item) { + each(this.options.recognizers, function(item) { var recognizer = this.add(new (item[0])(item[1])); item[2] && recognizer.recognizeWith(item[2]); item[3] && recognizer.requireFailure(item[3]); @@ -13049,7 +13477,7 @@ return /******/ (function(modules) { // webpackBootstrap * @returns {Manager} */ set: function(options) { - extend(this.options, options); + assign(this.options, options); // Options that need a little more setup if (options.touchAction) { @@ -13183,11 +13611,19 @@ return /******/ (function(modules) { // webpackBootstrap return this; } - var recognizers = this.recognizers; recognizer = this.get(recognizer); - recognizers.splice(inArray(recognizers, recognizer), 1); - this.touchAction.update(); + // let's make sure this recognizer exists + if (recognizer) { + var recognizers = this.recognizers; + var index = inArray(recognizers, recognizer); + + if (index !== -1) { + recognizers.splice(index, 1); + this.touchAction.update(); + } + } + return this; }, @@ -13218,7 +13654,7 @@ return /******/ (function(modules) { // webpackBootstrap if (!handler) { delete handlers[event]; } else { - handlers[event].splice(inArray(handlers[event], handler), 1); + handlers[event] && handlers[event].splice(inArray(handlers[event], handler), 1); } }); return this; @@ -13274,6 +13710,9 @@ return /******/ (function(modules) { // webpackBootstrap */ function toggleCssProps(manager, add) { var element = manager.element; + if (!element.style) { + return; + } each(manager.options.cssProps, function(value, name) { element.style[prefixed(element.style, name)] = add ? value : ''; }); @@ -13291,7 +13730,7 @@ return /******/ (function(modules) { // webpackBootstrap data.target.dispatchEvent(gestureEvent); } - extend(Hammer, { + assign(Hammer, { INPUT_START: INPUT_START, INPUT_MOVE: INPUT_MOVE, INPUT_END: INPUT_END, @@ -13338,12 +13777,18 @@ return /******/ (function(modules) { // webpackBootstrap each: each, merge: merge, extend: extend, + assign: assign, inherit: inherit, bindFn: bindFn, prefixed: prefixed }); - if ("function" == TYPE_FUNCTION && __webpack_require__(23)) { + // this prevents errors when Hammer is loaded in the presence of an AMD + // style loader but by script tag, not by the loader. + var freeGlobal = (typeof window !== 'undefined' ? window : (typeof self !== 'undefined' ? self : {})); // jshint ignore:line + freeGlobal.Hammer = Hammer; + + if (true) { !(__WEBPACK_AMD_DEFINE_RESULT__ = function() { return Hammer; }.call(exports, __webpack_require__, exports, module), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); @@ -13358,23 +13803,15 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, /* 23 */ -/***/ function(module, exports) { - - /* WEBPACK VAR INJECTION */(function(__webpack_amd_options__) {module.exports = __webpack_amd_options__; - - /* WEBPACK VAR INJECTION */}.call(exports, {})) - -/***/ }, -/* 24 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var util = __webpack_require__(1); - var hammerUtil = __webpack_require__(25); + var hammerUtil = __webpack_require__(24); var moment = __webpack_require__(2); - var Component = __webpack_require__(26); - var DateUtil = __webpack_require__(27); + var Component = __webpack_require__(25); + var DateUtil = __webpack_require__(26); /** * @constructor Range @@ -14073,7 +14510,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = Range; /***/ }, -/* 25 */ +/* 24 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -14145,7 +14582,7 @@ return /******/ (function(modules) { // webpackBootstrap exports.offRelease = exports.offTouch; /***/ }, -/* 26 */ +/* 25 */ /***/ function(module, exports) { /** @@ -14205,7 +14642,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = Component; /***/ }, -/* 27 */ +/* 26 */ /***/ function(module, exports) { @@ -14677,23 +15114,23 @@ return /******/ (function(modules) { // webpackBootstrap }; /***/ }, -/* 28 */ +/* 27 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var Emitter = __webpack_require__(12); var Hammer = __webpack_require__(20); - var hammerUtil = __webpack_require__(25); + var hammerUtil = __webpack_require__(24); var util = __webpack_require__(1); var DataSet = __webpack_require__(8); var DataView = __webpack_require__(10); - var Range = __webpack_require__(24); - var ItemSet = __webpack_require__(29); - var TimeAxis = __webpack_require__(39); - var Activator = __webpack_require__(40); - var DateUtil = __webpack_require__(27); - var CustomTime = __webpack_require__(42); + var Range = __webpack_require__(23); + var ItemSet = __webpack_require__(28); + var TimeAxis = __webpack_require__(38); + var Activator = __webpack_require__(39); + var DateUtil = __webpack_require__(26); + var CustomTime = __webpack_require__(41); /** * Create a timeline visualization @@ -15693,7 +16130,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = Core; /***/ }, -/* 29 */ +/* 28 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -15702,14 +16139,14 @@ return /******/ (function(modules) { // webpackBootstrap var util = __webpack_require__(1); var DataSet = __webpack_require__(8); var DataView = __webpack_require__(10); - var TimeStep = __webpack_require__(30); - var Component = __webpack_require__(26); - var Group = __webpack_require__(31); - var BackgroundGroup = __webpack_require__(35); - var BoxItem = __webpack_require__(36); - var PointItem = __webpack_require__(37); - var RangeItem = __webpack_require__(33); - var BackgroundItem = __webpack_require__(38); + var TimeStep = __webpack_require__(29); + var Component = __webpack_require__(25); + var Group = __webpack_require__(30); + var BackgroundGroup = __webpack_require__(34); + var BoxItem = __webpack_require__(35); + var PointItem = __webpack_require__(36); + var RangeItem = __webpack_require__(32); + var BackgroundItem = __webpack_require__(37); var UNGROUPED = '__ungrouped__'; // reserved group id for ungrouped items var BACKGROUND = '__background__'; // reserved group id for background items without group @@ -17352,8 +17789,6 @@ return /******/ (function(modules) { // webpackBootstrap var snap = this.options.snap || null; var item = this.itemFromTarget(event); - event.stopPropagation(); - if (item) { // update item @@ -17602,13 +18037,13 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = ItemSet; /***/ }, -/* 30 */ +/* 29 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var moment = __webpack_require__(2); - var DateUtil = __webpack_require__(27); + var DateUtil = __webpack_require__(26); var util = __webpack_require__(1); /** @@ -18312,14 +18747,14 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = TimeStep; /***/ }, -/* 31 */ +/* 30 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var util = __webpack_require__(1); - var stack = __webpack_require__(32); - var RangeItem = __webpack_require__(33); + var stack = __webpack_require__(31); + var RangeItem = __webpack_require__(32); /** * @constructor Group @@ -18937,7 +19372,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = Group; /***/ }, -/* 32 */ +/* 31 */ /***/ function(module, exports) { // Utility functions for ordering and stacking of items @@ -19061,13 +19496,13 @@ return /******/ (function(modules) { // webpackBootstrap }; /***/ }, -/* 33 */ +/* 32 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var Hammer = __webpack_require__(20); - var Item = __webpack_require__(34); + var Item = __webpack_require__(33); /** * @constructor RangeItem @@ -19357,7 +19792,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = RangeItem; /***/ }, -/* 34 */ +/* 33 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -19658,13 +20093,13 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = Item; /***/ }, -/* 35 */ +/* 34 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var util = __webpack_require__(1); - var Group = __webpack_require__(31); + var Group = __webpack_require__(30); /** * @constructor BackgroundGroup @@ -19722,12 +20157,12 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = BackgroundGroup; /***/ }, -/* 36 */ +/* 35 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; - var Item = __webpack_require__(34); + var Item = __webpack_require__(33); var util = __webpack_require__(1); /** @@ -19962,12 +20397,12 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = BoxItem; /***/ }, -/* 37 */ +/* 36 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; - var Item = __webpack_require__(34); + var Item = __webpack_require__(33); /** * @constructor PointItem @@ -20168,15 +20603,15 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = PointItem; /***/ }, -/* 38 */ +/* 37 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var Hammer = __webpack_require__(20); - var Item = __webpack_require__(34); - var BackgroundGroup = __webpack_require__(35); - var RangeItem = __webpack_require__(33); + var Item = __webpack_require__(33); + var BackgroundGroup = __webpack_require__(34); + var RangeItem = __webpack_require__(32); /** * @constructor BackgroundItem @@ -20389,15 +20824,15 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = BackgroundItem; /***/ }, -/* 39 */ +/* 38 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var util = __webpack_require__(1); - var Component = __webpack_require__(26); - var TimeStep = __webpack_require__(30); - var DateUtil = __webpack_require__(27); + var Component = __webpack_require__(25); + var TimeStep = __webpack_require__(29); + var DateUtil = __webpack_require__(26); var moment = __webpack_require__(2); /** @@ -20866,12 +21301,12 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = TimeAxis; /***/ }, -/* 40 */ +/* 39 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; - var keycharm = __webpack_require__(41); + var keycharm = __webpack_require__(40); var Emitter = __webpack_require__(12); var Hammer = __webpack_require__(20); var util = __webpack_require__(1); @@ -21025,7 +21460,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = Activator; /***/ }, -/* 41 */ +/* 40 */ /***/ function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;"use strict"; @@ -21224,16 +21659,16 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 42 */ +/* 41 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var Hammer = __webpack_require__(20); var util = __webpack_require__(1); - var Component = __webpack_require__(26); + var Component = __webpack_require__(25); var moment = __webpack_require__(2); - var locales = __webpack_require__(43); + var locales = __webpack_require__(42); /** * A custom time bar @@ -21475,7 +21910,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = CustomTime; /***/ }, -/* 43 */ +/* 42 */ /***/ function(module, exports) { // English @@ -21497,15 +21932,15 @@ return /******/ (function(modules) { // webpackBootstrap exports['nl_BE'] = exports['nl']; /***/ }, -/* 44 */ +/* 43 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var util = __webpack_require__(1); - var Component = __webpack_require__(26); + var Component = __webpack_require__(25); var moment = __webpack_require__(2); - var locales = __webpack_require__(43); + var locales = __webpack_require__(42); /** * A current time bar @@ -21674,7 +22109,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = CurrentTime; /***/ }, -/* 45 */ +/* 44 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -21689,7 +22124,7 @@ return /******/ (function(modules) { // webpackBootstrap function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } } - var _ColorPicker = __webpack_require__(46); + var _ColorPicker = __webpack_require__(45); var _ColorPicker2 = _interopRequireDefault(_ColorPicker); @@ -21838,7 +22273,7 @@ return /******/ (function(modules) { // webpackBootstrap // a header for the category this._makeHeader(option); - // get the suboptions + // get the sub options this._handleObject(this.configureOptions[option], [option]); } counter++; @@ -21869,7 +22304,7 @@ return /******/ (function(modules) { // webpackBootstrap } this._push(); - this.colorPicker.insertTo(this.container); + //~ this.colorPicker.insertTo(this.container); } /** @@ -22283,17 +22718,25 @@ return /******/ (function(modules) { // webpackBootstrap value: function _showColorPicker(value, div, path) { var _this6 = this; - var rect = div.getBoundingClientRect(); - var bodyRect = document.body.getBoundingClientRect(); - var pickerX = rect.left + rect.width + 5; - var pickerY = rect.top - bodyRect.top + rect.height + 2; - this.colorPicker.show(pickerX, pickerY); + // clear the callback from this div + div.onclick = function () {}; + + this.colorPicker.insertTo(div); + this.colorPicker.show(); + this.colorPicker.setColor(value); - this.colorPicker.setCallback(function (color) { + this.colorPicker.setUpdateCallback(function (color) { var colorString = 'rgba(' + color.r + ',' + color.g + ',' + color.b + ',' + color.a + ')'; div.style.backgroundColor = colorString; _this6._update(colorString, path); }); + + // on close of the colorpicker, restore the callback. + this.colorPicker.setCloseCallback(function () { + div.onclick = function () { + _this6._showColorPicker(value, div, path); + }; + }); } /** @@ -22470,7 +22913,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports['default']; /***/ }, -/* 46 */ +/* 45 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -22484,7 +22927,7 @@ return /******/ (function(modules) { // webpackBootstrap function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } } var Hammer = __webpack_require__(20); - var hammerUtil = __webpack_require__(25); + var hammerUtil = __webpack_require__(24); var util = __webpack_require__(1); var ColorPicker = (function () { @@ -22505,6 +22948,7 @@ return /******/ (function(modules) { // webpackBootstrap // bound by this.updateCallback = function () {}; + this.closeCallback = function () {}; // create all DOM elements this._create(); @@ -22534,12 +22978,26 @@ return /******/ (function(modules) { // webpackBootstrap * @param callback */ }, { - key: 'setCallback', - value: function setCallback(callback) { + key: 'setUpdateCallback', + value: function setUpdateCallback(callback) { if (typeof callback === 'function') { this.updateCallback = callback; } else { - throw new Error("Function attempted to set as colorPicker callback is not a function."); + throw new Error("Function attempted to set as colorPicker update callback is not a function."); + } + } + + /** + * the callback is executed on apply and save. Bind it to the application + * @param callback + */ + }, { + key: 'setCloseCallback', + value: function setCloseCallback(callback) { + if (typeof callback === 'function') { + this.closeCallback = callback; + } else { + throw new Error("Function attempted to set as colorPicker closing callback is not a function."); } } }, { @@ -22610,17 +23068,19 @@ return /******/ (function(modules) { // webpackBootstrap } /** - * this shows the color picker at a location. The hue circle is constructed once and stored. - * @param x - * @param y + * this shows the color picker. + * The hue circle is constructed once and stored. */ }, { key: 'show', - value: function show(x, y) { + value: function show() { + if (this.closeCallback !== undefined) { + this.closeCallback(); + this.closeCallback = undefined; + } + this.applied = false; this.frame.style.display = 'block'; - this.frame.style.top = y + 'px'; - this.frame.style.left = x + 'px'; this._generateHueCircle(); } @@ -22647,6 +23107,12 @@ return /******/ (function(modules) { // webpackBootstrap } this.frame.style.display = 'none'; + + // call the closing callback, restoring the onclick method. + if (this.closeCallback !== undefined) { + this.closeCallback(); + this.closeCallback = undefined; + } } /** @@ -22746,7 +23212,7 @@ return /******/ (function(modules) { // webpackBootstrap } /** - * update the colorpicker. A black circle overlays the hue circle to mimic the brightness decreasing. + * update the color picker. A black circle overlays the hue circle to mimic the brightness decreasing. * @param rgba * @private */ @@ -23054,7 +23520,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports['default']; /***/ }, -/* 47 */ +/* 46 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -23370,7 +23836,7 @@ return /******/ (function(modules) { // webpackBootstrap exports.printStyle = printStyle; /***/ }, -/* 48 */ +/* 47 */ /***/ function(module, exports) { /** @@ -23611,7 +24077,7 @@ return /******/ (function(modules) { // webpackBootstrap exports.configureOptions = configureOptions; /***/ }, -/* 49 */ +/* 48 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -23622,18 +24088,18 @@ return /******/ (function(modules) { // webpackBootstrap var util = __webpack_require__(1); var DataSet = __webpack_require__(8); var DataView = __webpack_require__(10); - var Range = __webpack_require__(24); - var Core = __webpack_require__(28); - var TimeAxis = __webpack_require__(39); - var CurrentTime = __webpack_require__(44); - var CustomTime = __webpack_require__(42); - var LineGraph = __webpack_require__(50); + var Range = __webpack_require__(23); + var Core = __webpack_require__(27); + var TimeAxis = __webpack_require__(38); + var CurrentTime = __webpack_require__(43); + var CustomTime = __webpack_require__(41); + var LineGraph = __webpack_require__(49); - var Configurator = __webpack_require__(45); - var Validator = __webpack_require__(47)['default']; - var printStyle = __webpack_require__(47).printStyle; - var allOptions = __webpack_require__(58).allOptions; - var configureOptions = __webpack_require__(58).configureOptions; + var Configurator = __webpack_require__(44); + var Validator = __webpack_require__(46)['default']; + var printStyle = __webpack_require__(46).printStyle; + var allOptions = __webpack_require__(57).allOptions; + var configureOptions = __webpack_require__(57).configureOptions; /** * Create a timeline visualization @@ -23950,7 +24416,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = Graph2d; /***/ }, -/* 50 */ +/* 49 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -23959,13 +24425,13 @@ return /******/ (function(modules) { // webpackBootstrap var DOMutil = __webpack_require__(7); var DataSet = __webpack_require__(8); var DataView = __webpack_require__(10); - var Component = __webpack_require__(26); - var DataAxis = __webpack_require__(51); - var GraphGroup = __webpack_require__(53); - var Legend = __webpack_require__(57); - var Bars = __webpack_require__(54); - var Lines = __webpack_require__(56); - var Points = __webpack_require__(55); + var Component = __webpack_require__(25); + var DataAxis = __webpack_require__(50); + var GraphGroup = __webpack_require__(52); + var Legend = __webpack_require__(56); + var Bars = __webpack_require__(53); + var Lines = __webpack_require__(55); + var Points = __webpack_require__(54); var UNGROUPED = '__ungrouped__'; // reserved group id for ungrouped items @@ -25008,15 +25474,15 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = LineGraph; /***/ }, -/* 51 */ +/* 50 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var util = __webpack_require__(1); var DOMutil = __webpack_require__(7); - var Component = __webpack_require__(26); - var DataStep = __webpack_require__(52); + var Component = __webpack_require__(25); + var DataStep = __webpack_require__(51); /** * A horizontal time axis @@ -25613,7 +26079,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = DataAxis; /***/ }, -/* 52 */ +/* 51 */ /***/ function(module, exports) { /** @@ -25840,16 +26306,16 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = DataStep; /***/ }, -/* 53 */ +/* 52 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var util = __webpack_require__(1); var DOMutil = __webpack_require__(7); - var Bars = __webpack_require__(54); - var Lines = __webpack_require__(56); - var Points = __webpack_require__(55); + var Bars = __webpack_require__(53); + var Lines = __webpack_require__(55); + var Points = __webpack_require__(54); /** * /** @@ -26001,13 +26467,13 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = GraphGroup; /***/ }, -/* 54 */ +/* 53 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var DOMutil = __webpack_require__(7); - var Points = __webpack_require__(55); + var Points = __webpack_require__(54); function Bargraph(groupId, options) {} @@ -26273,7 +26739,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = Bargraph; /***/ }, -/* 55 */ +/* 54 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -26350,7 +26816,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = Points; /***/ }, -/* 56 */ +/* 55 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -26639,14 +27105,14 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = Line; /***/ }, -/* 57 */ +/* 56 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var util = __webpack_require__(1); var DOMutil = __webpack_require__(7); - var Component = __webpack_require__(26); + var Component = __webpack_require__(25); /** * Legend for Graph2d @@ -26857,7 +27323,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = Legend; /***/ }, -/* 58 */ +/* 57 */ /***/ function(module, exports) { /** @@ -27141,7 +27607,7 @@ return /******/ (function(modules) { // webpackBootstrap exports.configureOptions = configureOptions; /***/ }, -/* 59 */ +/* 58 */ /***/ function(module, exports, __webpack_require__) { // Load custom shapes into CanvasRenderingContext2D @@ -27149,65 +27615,65 @@ return /******/ (function(modules) { // webpackBootstrap function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } - var _modulesGroups = __webpack_require__(60); + var _modulesGroups = __webpack_require__(59); var _modulesGroups2 = _interopRequireDefault(_modulesGroups); - var _modulesNodesHandler = __webpack_require__(61); + var _modulesNodesHandler = __webpack_require__(60); var _modulesNodesHandler2 = _interopRequireDefault(_modulesNodesHandler); - var _modulesEdgesHandler = __webpack_require__(81); + var _modulesEdgesHandler = __webpack_require__(80); var _modulesEdgesHandler2 = _interopRequireDefault(_modulesEdgesHandler); - var _modulesPhysicsEngine = __webpack_require__(90); + var _modulesPhysicsEngine = __webpack_require__(89); var _modulesPhysicsEngine2 = _interopRequireDefault(_modulesPhysicsEngine); - var _modulesClustering = __webpack_require__(99); + var _modulesClustering = __webpack_require__(98); var _modulesClustering2 = _interopRequireDefault(_modulesClustering); - var _modulesCanvasRenderer = __webpack_require__(102); + var _modulesCanvasRenderer = __webpack_require__(101); var _modulesCanvasRenderer2 = _interopRequireDefault(_modulesCanvasRenderer); - var _modulesCanvas = __webpack_require__(103); + var _modulesCanvas = __webpack_require__(102); var _modulesCanvas2 = _interopRequireDefault(_modulesCanvas); - var _modulesView = __webpack_require__(104); + var _modulesView = __webpack_require__(103); var _modulesView2 = _interopRequireDefault(_modulesView); - var _modulesInteractionHandler = __webpack_require__(105); + var _modulesInteractionHandler = __webpack_require__(104); var _modulesInteractionHandler2 = _interopRequireDefault(_modulesInteractionHandler); - var _modulesSelectionHandler = __webpack_require__(108); + var _modulesSelectionHandler = __webpack_require__(107); var _modulesSelectionHandler2 = _interopRequireDefault(_modulesSelectionHandler); - var _modulesLayoutEngine = __webpack_require__(109); + var _modulesLayoutEngine = __webpack_require__(108); var _modulesLayoutEngine2 = _interopRequireDefault(_modulesLayoutEngine); - var _modulesManipulationSystem = __webpack_require__(110); + var _modulesManipulationSystem = __webpack_require__(109); var _modulesManipulationSystem2 = _interopRequireDefault(_modulesManipulationSystem); - var _sharedConfigurator = __webpack_require__(45); + var _sharedConfigurator = __webpack_require__(44); var _sharedConfigurator2 = _interopRequireDefault(_sharedConfigurator); - var _sharedValidator = __webpack_require__(47); + var _sharedValidator = __webpack_require__(46); var _sharedValidator2 = _interopRequireDefault(_sharedValidator); - var _optionsJs = __webpack_require__(111); + var _optionsJs = __webpack_require__(110); - var _modulesKamadaKawaiJs = __webpack_require__(112); + var _modulesKamadaKawaiJs = __webpack_require__(111); var _modulesKamadaKawaiJs2 = _interopRequireDefault(_modulesKamadaKawaiJs); @@ -27222,18 +27688,18 @@ return /******/ (function(modules) { // webpackBootstrap * {Array} edges * @param {Object} options Options */ - __webpack_require__(114); + __webpack_require__(113); var Emitter = __webpack_require__(12); var Hammer = __webpack_require__(20); var util = __webpack_require__(1); var DataSet = __webpack_require__(8); var DataView = __webpack_require__(10); - var dotparser = __webpack_require__(115); - var gephiParser = __webpack_require__(116); - var Images = __webpack_require__(117); - var Activator = __webpack_require__(40); - var locales = __webpack_require__(118); + var dotparser = __webpack_require__(114); + var gephiParser = __webpack_require__(115); + var Images = __webpack_require__(116); + var Activator = __webpack_require__(39); + var locales = __webpack_require__(117); function Network(container, data, options) { var _this = this; @@ -27441,7 +27907,7 @@ return /******/ (function(modules) { // webpackBootstrap for (var nodeId in nodes) { if (nodes.hasOwnProperty(nodeId)) { if (nodes[nodeId].options.hidden === false) { - this.body.nodeIndices.push(nodeId); + this.body.nodeIndices.push(nodes[nodeId].id); } } } @@ -27449,7 +27915,7 @@ return /******/ (function(modules) { // webpackBootstrap for (var edgeId in edges) { if (edges.hasOwnProperty(edgeId)) { if (edges[edgeId].options.hidden === false) { - this.body.edgeIndices.push(edgeId); + this.body.edgeIndices.push(edges[edgeId].id); } } } @@ -27775,7 +28241,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = Network; /***/ }, -/* 60 */ +/* 59 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -27917,7 +28383,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports["default"]; /***/ }, -/* 61 */ +/* 60 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -27932,11 +28398,11 @@ return /******/ (function(modules) { // webpackBootstrap function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } } - var _componentsNode = __webpack_require__(62); + var _componentsNode = __webpack_require__(61); var _componentsNode2 = _interopRequireDefault(_componentsNode); - var _componentsSharedLabel = __webpack_require__(63); + var _componentsSharedLabel = __webpack_require__(62); var _componentsSharedLabel2 = _interopRequireDefault(_componentsSharedLabel); @@ -28035,6 +28501,7 @@ return /******/ (function(modules) { // webpackBootstrap }, shadow: { enabled: false, + color: 'rgba(0,0,0,0.5)', size: 10, x: 5, y: 5 @@ -28325,7 +28792,7 @@ return /******/ (function(modules) { // webpackBootstrap if (dataset._data.hasOwnProperty(nodeId)) { var node = this.body.nodes[nodeId]; if (dataset._data[nodeId].x != Math.round(node.x) || dataset._data[nodeId].y != Math.round(node.y)) { - dataArray.push({ id: nodeId, x: Math.round(node.x), y: Math.round(node.y) }); + dataArray.push({ id: node.id, x: Math.round(node.x), y: Math.round(node.y) }); } } } @@ -28359,13 +28826,13 @@ return /******/ (function(modules) { // webpackBootstrap var nodeObj = {}; // used to quickly check if node already exists for (var i = 0; i < node.edges.length; i++) { var edge = node.edges[i]; - if (edge.toId == nodeId) { + if (edge.toId == node.id) { // these are double equals since ids can be numeric or string if (nodeObj[edge.fromId] === undefined) { nodeList.push(edge.fromId); nodeObj[edge.fromId] = true; } - } else if (edge.fromId == nodeId) { + } else if (edge.fromId == node.id) { // these are double equals since ids can be numeric or string if (nodeObj[edge.toId] === undefined) { nodeList.push(edge.toId); @@ -28427,7 +28894,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports['default']; /***/ }, -/* 62 */ +/* 61 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -28442,67 +28909,67 @@ return /******/ (function(modules) { // webpackBootstrap function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } } - var _sharedLabel = __webpack_require__(63); + var _sharedLabel = __webpack_require__(62); var _sharedLabel2 = _interopRequireDefault(_sharedLabel); - var _nodesShapesBox = __webpack_require__(64); + var _nodesShapesBox = __webpack_require__(63); var _nodesShapesBox2 = _interopRequireDefault(_nodesShapesBox); - var _nodesShapesCircle = __webpack_require__(66); + var _nodesShapesCircle = __webpack_require__(65); var _nodesShapesCircle2 = _interopRequireDefault(_nodesShapesCircle); - var _nodesShapesCircularImage = __webpack_require__(68); + var _nodesShapesCircularImage = __webpack_require__(67); var _nodesShapesCircularImage2 = _interopRequireDefault(_nodesShapesCircularImage); - var _nodesShapesDatabase = __webpack_require__(69); + var _nodesShapesDatabase = __webpack_require__(68); var _nodesShapesDatabase2 = _interopRequireDefault(_nodesShapesDatabase); - var _nodesShapesDiamond = __webpack_require__(70); + var _nodesShapesDiamond = __webpack_require__(69); var _nodesShapesDiamond2 = _interopRequireDefault(_nodesShapesDiamond); - var _nodesShapesDot = __webpack_require__(72); + var _nodesShapesDot = __webpack_require__(71); var _nodesShapesDot2 = _interopRequireDefault(_nodesShapesDot); - var _nodesShapesEllipse = __webpack_require__(73); + var _nodesShapesEllipse = __webpack_require__(72); var _nodesShapesEllipse2 = _interopRequireDefault(_nodesShapesEllipse); - var _nodesShapesIcon = __webpack_require__(74); + var _nodesShapesIcon = __webpack_require__(73); var _nodesShapesIcon2 = _interopRequireDefault(_nodesShapesIcon); - var _nodesShapesImage = __webpack_require__(75); + var _nodesShapesImage = __webpack_require__(74); var _nodesShapesImage2 = _interopRequireDefault(_nodesShapesImage); - var _nodesShapesSquare = __webpack_require__(76); + var _nodesShapesSquare = __webpack_require__(75); var _nodesShapesSquare2 = _interopRequireDefault(_nodesShapesSquare); - var _nodesShapesStar = __webpack_require__(77); + var _nodesShapesStar = __webpack_require__(76); var _nodesShapesStar2 = _interopRequireDefault(_nodesShapesStar); - var _nodesShapesText = __webpack_require__(78); + var _nodesShapesText = __webpack_require__(77); var _nodesShapesText2 = _interopRequireDefault(_nodesShapesText); - var _nodesShapesTriangle = __webpack_require__(79); + var _nodesShapesTriangle = __webpack_require__(78); var _nodesShapesTriangle2 = _interopRequireDefault(_nodesShapesTriangle); - var _nodesShapesTriangleDown = __webpack_require__(80); + var _nodesShapesTriangleDown = __webpack_require__(79); var _nodesShapesTriangleDown2 = _interopRequireDefault(_nodesShapesTriangleDown); - var _sharedValidator = __webpack_require__(47); + var _sharedValidator = __webpack_require__(46); var _sharedValidator2 = _interopRequireDefault(_sharedValidator); @@ -28666,6 +29133,8 @@ return /******/ (function(modules) { // webpackBootstrap * Static so it can also be used by the handler. * @param parentOptions * @param newOptions + * @param allowDeletion + * @param globalOptions */ }, { key: 'updateLabelModule', @@ -28953,7 +29422,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports['default']; /***/ }, -/* 63 */ +/* 62 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -29274,7 +29743,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports['default']; /***/ }, -/* 64 */ +/* 63 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -29293,7 +29762,7 @@ return /******/ (function(modules) { // webpackBootstrap function _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - var _utilNodeBase = __webpack_require__(65); + var _utilNodeBase = __webpack_require__(64); var _utilNodeBase2 = _interopRequireDefault(_utilNodeBase); @@ -29363,20 +29832,19 @@ return /******/ (function(modules) { // webpackBootstrap this.left = x - this.width * 0.5; this.top = y - this.height * 0.5; - this.boundingBox.left = this.left; - this.boundingBox.top = this.top; - this.boundingBox.bottom = this.top + this.height; - this.boundingBox.right = this.left + this.width; + var borderRadius = this.options.shapeProperties.borderRadius; // only effective for box + this.boundingBox.left = this.left - borderRadius; + this.boundingBox.top = this.top - borderRadius; + this.boundingBox.bottom = this.top + this.height + borderRadius; + this.boundingBox.right = this.left + this.width + borderRadius; } }, { key: 'distanceToBorder', value: function distanceToBorder(ctx, angle) { this.resize(ctx); - var a = this.width / 2; - var b = this.height / 2; - var w = Math.sin(angle) * a; - var h = Math.cos(angle) * b; - return a * b / Math.sqrt(w * w + h * h); + var borderWidth = this.options.borderWidth; + + return Math.min(Math.abs(this.width / 2 / Math.cos(angle)), Math.abs(this.height / 2 / Math.sin(angle))) + borderWidth; } }]); @@ -29387,18 +29855,18 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports['default']; /***/ }, -/* 65 */ +/* 64 */ /***/ function(module, exports) { - 'use strict'; + "use strict"; - Object.defineProperty(exports, '__esModule', { + Object.defineProperty(exports, "__esModule", { value: true }); - var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); + var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); - function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } } + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } var NodeBase = (function () { function NodeBase(options, body, labelModule) { @@ -29416,29 +29884,29 @@ return /******/ (function(modules) { // webpackBootstrap } _createClass(NodeBase, [{ - key: 'setOptions', + key: "setOptions", value: function setOptions(options) { this.options = options; } }, { - key: '_distanceToBorder', + key: "_distanceToBorder", value: function _distanceToBorder(ctx, angle) { - var borderWidth = 1; + var borderWidth = this.options.borderWidth; this.resize(ctx); return Math.min(Math.abs(this.width / 2 / Math.cos(angle)), Math.abs(this.height / 2 / Math.sin(angle))) + borderWidth; } }, { - key: 'enableShadow', + key: "enableShadow", value: function enableShadow(ctx) { if (this.options.shadow.enabled === true) { - ctx.shadowColor = 'rgba(0,0,0,0.5)'; + ctx.shadowColor = this.options.shadow.color; ctx.shadowBlur = this.options.shadow.size; ctx.shadowOffsetX = this.options.shadow.x; ctx.shadowOffsetY = this.options.shadow.y; } } }, { - key: 'disableShadow', + key: "disableShadow", value: function disableShadow(ctx) { if (this.options.shadow.enabled === true) { ctx.shadowColor = 'rgba(0,0,0,0)'; @@ -29448,7 +29916,7 @@ return /******/ (function(modules) { // webpackBootstrap } } }, { - key: 'enableBorderDashes', + key: "enableBorderDashes", value: function enableBorderDashes(ctx) { if (this.options.shapeProperties.borderDashes !== false) { if (ctx.setLineDash !== undefined) { @@ -29464,7 +29932,7 @@ return /******/ (function(modules) { // webpackBootstrap } } }, { - key: 'disableBorderDashes', + key: "disableBorderDashes", value: function disableBorderDashes(ctx) { if (this.options.shapeProperties.borderDashes !== false) { if (ctx.setLineDash !== undefined) { @@ -29480,11 +29948,11 @@ return /******/ (function(modules) { // webpackBootstrap return NodeBase; })(); - exports['default'] = NodeBase; - module.exports = exports['default']; + exports["default"] = NodeBase; + module.exports = exports["default"]; /***/ }, -/* 66 */ +/* 65 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -29503,7 +29971,7 @@ return /******/ (function(modules) { // webpackBootstrap function _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - var _utilCircleImageBase = __webpack_require__(67); + var _utilCircleImageBase = __webpack_require__(66); var _utilCircleImageBase2 = _interopRequireDefault(_utilCircleImageBase); @@ -29559,11 +30027,7 @@ return /******/ (function(modules) { // webpackBootstrap key: 'distanceToBorder', value: function distanceToBorder(ctx, angle) { this.resize(ctx); - var a = this.width / 2; - var b = this.height / 2; - var w = Math.sin(angle) * a; - var h = Math.cos(angle) * b; - return a * b / Math.sqrt(w * w + h * h); + return this.width * 0.5; } }]); @@ -29574,7 +30038,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports['default']; /***/ }, -/* 67 */ +/* 66 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -29593,7 +30057,7 @@ return /******/ (function(modules) { // webpackBootstrap function _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - var _utilNodeBase = __webpack_require__(65); + var _utilNodeBase = __webpack_require__(64); var _utilNodeBase2 = _interopRequireDefault(_utilNodeBase); @@ -29745,7 +30209,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports['default']; /***/ }, -/* 68 */ +/* 67 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -29764,7 +30228,7 @@ return /******/ (function(modules) { // webpackBootstrap function _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - var _utilCircleImageBase = __webpack_require__(67); + var _utilCircleImageBase = __webpack_require__(66); var _utilCircleImageBase2 = _interopRequireDefault(_utilCircleImageBase); @@ -29809,10 +30273,10 @@ return /******/ (function(modules) { // webpackBootstrap var size = Math.min(0.5 * this.height, 0.5 * this.width); - // draw the backgroun circle. IMPORTANT: the stroke in this method is used by the clip method below. + // draw the background circle. IMPORTANT: the stroke in this method is used by the clip method below. this._drawRawCircle(ctx, x, y, selected, hover, size); - // now we draw in the cicle, we save so we can revert the clip operation after drawing. + // now we draw in the circle, we save so we can revert the clip operation after drawing. ctx.save(); // clip is used to use the stroke in drawRawCircle as an area that we can draw in. ctx.clip(); @@ -29840,7 +30304,7 @@ return /******/ (function(modules) { // webpackBootstrap key: 'distanceToBorder', value: function distanceToBorder(ctx, angle) { this.resize(ctx); - return this._distanceToBorder(ctx, angle); + return this.width * 0.5; } }]); @@ -29851,7 +30315,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports['default']; /***/ }, -/* 69 */ +/* 68 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -29870,7 +30334,7 @@ return /******/ (function(modules) { // webpackBootstrap function _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - var _utilNodeBase = __webpack_require__(65); + var _utilNodeBase = __webpack_require__(64); var _utilNodeBase2 = _interopRequireDefault(_utilNodeBase); @@ -29948,12 +30412,7 @@ return /******/ (function(modules) { // webpackBootstrap }, { key: 'distanceToBorder', value: function distanceToBorder(ctx, angle) { - this.resize(ctx); - var a = this.width / 2; - var b = this.height / 2; - var w = Math.sin(angle) * a; - var h = Math.cos(angle) * b; - return a * b / Math.sqrt(w * w + h * h); + return this._distanceToBorder(ctx, angle); } }]); @@ -29964,7 +30423,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports['default']; /***/ }, -/* 70 */ +/* 69 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -29983,7 +30442,7 @@ return /******/ (function(modules) { // webpackBootstrap function _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - var _utilShapeBase = __webpack_require__(71); + var _utilShapeBase = __webpack_require__(70); var _utilShapeBase2 = _interopRequireDefault(_utilShapeBase); @@ -30020,7 +30479,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports['default']; /***/ }, -/* 71 */ +/* 70 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -30039,7 +30498,7 @@ return /******/ (function(modules) { // webpackBootstrap function _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - var _utilNodeBase = __webpack_require__(65); + var _utilNodeBase = __webpack_require__(64); var _utilNodeBase2 = _interopRequireDefault(_utilNodeBase); @@ -30126,7 +30585,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports['default']; /***/ }, -/* 72 */ +/* 71 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -30145,7 +30604,7 @@ return /******/ (function(modules) { // webpackBootstrap function _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - var _utilShapeBase = __webpack_require__(71); + var _utilShapeBase = __webpack_require__(70); var _utilShapeBase2 = _interopRequireDefault(_utilShapeBase); @@ -30183,7 +30642,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports['default']; /***/ }, -/* 73 */ +/* 72 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -30202,7 +30661,7 @@ return /******/ (function(modules) { // webpackBootstrap function _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - var _utilNodeBase = __webpack_require__(65); + var _utilNodeBase = __webpack_require__(64); var _utilNodeBase2 = _interopRequireDefault(_utilNodeBase); @@ -30299,7 +30758,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports['default']; /***/ }, -/* 74 */ +/* 73 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -30318,7 +30777,7 @@ return /******/ (function(modules) { // webpackBootstrap function _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - var _utilNodeBase = __webpack_require__(65); + var _utilNodeBase = __webpack_require__(64); var _utilNodeBase2 = _interopRequireDefault(_utilNodeBase); @@ -30414,7 +30873,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports['default']; /***/ }, -/* 75 */ +/* 74 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -30433,7 +30892,7 @@ return /******/ (function(modules) { // webpackBootstrap function _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - var _utilCircleImageBase = __webpack_require__(67); + var _utilCircleImageBase = __webpack_require__(66); var _utilCircleImageBase2 = _interopRequireDefault(_utilCircleImageBase); @@ -30518,12 +30977,7 @@ return /******/ (function(modules) { // webpackBootstrap }, { key: 'distanceToBorder', value: function distanceToBorder(ctx, angle) { - this.resize(ctx); - var a = this.width / 2; - var b = this.height / 2; - var w = Math.sin(angle) * a; - var h = Math.cos(angle) * b; - return a * b / Math.sqrt(w * w + h * h); + return this._distanceToBorder(ctx, angle); } }]); @@ -30534,7 +30988,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports['default']; /***/ }, -/* 76 */ +/* 75 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -30553,7 +31007,7 @@ return /******/ (function(modules) { // webpackBootstrap function _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - var _utilShapeBase = __webpack_require__(71); + var _utilShapeBase = __webpack_require__(70); var _utilShapeBase2 = _interopRequireDefault(_utilShapeBase); @@ -30590,7 +31044,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports['default']; /***/ }, -/* 77 */ +/* 76 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -30609,7 +31063,7 @@ return /******/ (function(modules) { // webpackBootstrap function _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - var _utilShapeBase = __webpack_require__(71); + var _utilShapeBase = __webpack_require__(70); var _utilShapeBase2 = _interopRequireDefault(_utilShapeBase); @@ -30646,7 +31100,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports['default']; /***/ }, -/* 78 */ +/* 77 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -30665,7 +31119,7 @@ return /******/ (function(modules) { // webpackBootstrap function _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - var _utilNodeBase = __webpack_require__(65); + var _utilNodeBase = __webpack_require__(64); var _utilNodeBase2 = _interopRequireDefault(_utilNodeBase); @@ -30732,7 +31186,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports['default']; /***/ }, -/* 79 */ +/* 78 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -30751,7 +31205,7 @@ return /******/ (function(modules) { // webpackBootstrap function _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - var _utilShapeBase = __webpack_require__(71); + var _utilShapeBase = __webpack_require__(70); var _utilShapeBase2 = _interopRequireDefault(_utilShapeBase); @@ -30788,7 +31242,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports['default']; /***/ }, -/* 80 */ +/* 79 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -30807,7 +31261,7 @@ return /******/ (function(modules) { // webpackBootstrap function _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - var _utilShapeBase = __webpack_require__(71); + var _utilShapeBase = __webpack_require__(70); var _utilShapeBase2 = _interopRequireDefault(_utilShapeBase); @@ -30844,7 +31298,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports['default']; /***/ }, -/* 81 */ +/* 80 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -30859,11 +31313,11 @@ return /******/ (function(modules) { // webpackBootstrap function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } } - var _componentsEdge = __webpack_require__(82); + var _componentsEdge = __webpack_require__(81); var _componentsEdge2 = _interopRequireDefault(_componentsEdge); - var _componentsSharedLabel = __webpack_require__(63); + var _componentsSharedLabel = __webpack_require__(62); var _componentsSharedLabel2 = _interopRequireDefault(_componentsSharedLabel); @@ -30949,6 +31403,7 @@ return /******/ (function(modules) { // webpackBootstrap selfReferenceSize: 20, shadow: { enabled: false, + color: 'rgba(0,0,0,0.5)', size: 10, x: 5, y: 5 @@ -30985,7 +31440,7 @@ return /******/ (function(modules) { // webpackBootstrap var edge = _this2.body.edges[edgeId]; var edgeData = _this2.body.data.edges._data[edgeId]; - // only forcilby remove the smooth curve if the data has been set of the edge has the smooth curves defined. + // only forcibly remove the smooth curve if the data has been set of the edge has the smooth curves defined. // this is because a change in the global would not affect these curves. if (edgeData !== undefined) { var edgeOptions = edgeData.smooth; @@ -31031,7 +31486,7 @@ return /******/ (function(modules) { // webpackBootstrap // use the parser from the Edge class to fill in all shorthand notations _componentsEdge2['default'].parseOptions(this.options, options); - // hanlde multiple input cases for color + // handle multiple input cases for color if (options.color !== undefined) { this.markAllEdgesAsDirty(); } @@ -31281,7 +31736,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports['default']; /***/ }, -/* 82 */ +/* 81 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -31296,23 +31751,23 @@ return /******/ (function(modules) { // webpackBootstrap function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } } - var _sharedLabel = __webpack_require__(63); + var _sharedLabel = __webpack_require__(62); var _sharedLabel2 = _interopRequireDefault(_sharedLabel); - var _edgesCubicBezierEdge = __webpack_require__(83); + var _edgesCubicBezierEdge = __webpack_require__(82); var _edgesCubicBezierEdge2 = _interopRequireDefault(_edgesCubicBezierEdge); - var _edgesBezierEdgeDynamic = __webpack_require__(87); + var _edgesBezierEdgeDynamic = __webpack_require__(86); var _edgesBezierEdgeDynamic2 = _interopRequireDefault(_edgesBezierEdgeDynamic); - var _edgesBezierEdgeStatic = __webpack_require__(88); + var _edgesBezierEdgeStatic = __webpack_require__(87); var _edgesBezierEdgeStatic2 = _interopRequireDefault(_edgesBezierEdgeStatic); - var _edgesStraightEdge = __webpack_require__(89); + var _edgesStraightEdge = __webpack_require__(88); var _edgesStraightEdge2 = _interopRequireDefault(_edgesStraightEdge); @@ -31782,7 +32237,7 @@ return /******/ (function(modules) { // webpackBootstrap parentOptions.scaling = Object.create(globalOptions.scaling); // this sets the pointer of the option back to the global option. } - // hanlde multiple input cases for arrows + // handle multiple input cases for arrows if (newOptions.arrows !== undefined && newOptions.arrows !== null) { if (typeof newOptions.arrows === 'string') { var arrows = newOptions.arrows.toLowerCase(); @@ -31806,7 +32261,7 @@ return /******/ (function(modules) { // webpackBootstrap parentOptions.arrows = Object.create(globalOptions.arrows); // this sets the pointer of the option back to the global option. } - // hanlde multiple input cases for color + // handle multiple input cases for color if (newOptions.color !== undefined && newOptions.color !== null) { // make a copy of the parent object in case this is referring to the global one (due to object create once, then update) parentOptions.color = util.deepExtend({}, parentOptions.color, true); @@ -31857,7 +32312,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports['default']; /***/ }, -/* 83 */ +/* 82 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -31878,7 +32333,7 @@ return /******/ (function(modules) { // webpackBootstrap function _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - var _utilCubicBezierEdgeBase = __webpack_require__(84); + var _utilCubicBezierEdgeBase = __webpack_require__(83); var _utilCubicBezierEdgeBase2 = _interopRequireDefault(_utilCubicBezierEdgeBase); @@ -32010,7 +32465,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports['default']; /***/ }, -/* 84 */ +/* 83 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -32029,7 +32484,7 @@ return /******/ (function(modules) { // webpackBootstrap function _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - var _BezierEdgeBase2 = __webpack_require__(85); + var _BezierEdgeBase2 = __webpack_require__(84); var _BezierEdgeBase3 = _interopRequireDefault(_BezierEdgeBase2); @@ -32096,7 +32551,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports['default']; /***/ }, -/* 85 */ +/* 84 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -32115,7 +32570,7 @@ return /******/ (function(modules) { // webpackBootstrap function _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - var _EdgeBase2 = __webpack_require__(86); + var _EdgeBase2 = __webpack_require__(85); var _EdgeBase3 = _interopRequireDefault(_EdgeBase2); @@ -32239,7 +32694,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports['default']; /***/ }, -/* 86 */ +/* 85 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -32803,7 +33258,7 @@ return /******/ (function(modules) { // webpackBootstrap key: 'enableShadow', value: function enableShadow(ctx) { if (this.options.shadow.enabled === true) { - ctx.shadowColor = 'rgba(0,0,0,0.5)'; + ctx.shadowColor = this.options.shadow.color; ctx.shadowBlur = this.options.shadow.size; ctx.shadowOffsetX = this.options.shadow.x; ctx.shadowOffsetY = this.options.shadow.y; @@ -32828,7 +33283,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports['default']; /***/ }, -/* 87 */ +/* 86 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -32847,7 +33302,7 @@ return /******/ (function(modules) { // webpackBootstrap function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - var _utilBezierEdgeBase = __webpack_require__(85); + var _utilBezierEdgeBase = __webpack_require__(84); var _utilBezierEdgeBase2 = _interopRequireDefault(_utilBezierEdgeBase); @@ -32900,7 +33355,7 @@ return /******/ (function(modules) { // webpackBootstrap if (this.from === undefined || this.to === undefined || this.options.physics === false) { this.via.setOptions({ physics: false }); } else { - // fix weird behaviour where a selfreferencing node has physics enabled + // fix weird behaviour where a self referencing node has physics enabled if (this.from.id === this.to.id) { this.via.setOptions({ physics: false }); } else { @@ -33016,7 +33471,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports["default"]; /***/ }, -/* 88 */ +/* 87 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -33035,7 +33490,7 @@ return /******/ (function(modules) { // webpackBootstrap function _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - var _utilBezierEdgeBase = __webpack_require__(85); + var _utilBezierEdgeBase = __webpack_require__(84); var _utilBezierEdgeBase2 = _interopRequireDefault(_utilBezierEdgeBase); @@ -33275,7 +33730,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports['default']; /***/ }, -/* 89 */ +/* 88 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -33294,7 +33749,7 @@ return /******/ (function(modules) { // webpackBootstrap function _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - var _utilEdgeBase = __webpack_require__(86); + var _utilEdgeBase = __webpack_require__(85); var _utilEdgeBase2 = _interopRequireDefault(_utilEdgeBase); @@ -33380,7 +33835,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports['default']; /***/ }, -/* 90 */ +/* 89 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -33395,35 +33850,35 @@ return /******/ (function(modules) { // webpackBootstrap function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } } - var _componentsPhysicsBarnesHutSolver = __webpack_require__(91); + var _componentsPhysicsBarnesHutSolver = __webpack_require__(90); var _componentsPhysicsBarnesHutSolver2 = _interopRequireDefault(_componentsPhysicsBarnesHutSolver); - var _componentsPhysicsRepulsionSolver = __webpack_require__(92); + var _componentsPhysicsRepulsionSolver = __webpack_require__(91); var _componentsPhysicsRepulsionSolver2 = _interopRequireDefault(_componentsPhysicsRepulsionSolver); - var _componentsPhysicsHierarchicalRepulsionSolver = __webpack_require__(93); + var _componentsPhysicsHierarchicalRepulsionSolver = __webpack_require__(92); var _componentsPhysicsHierarchicalRepulsionSolver2 = _interopRequireDefault(_componentsPhysicsHierarchicalRepulsionSolver); - var _componentsPhysicsSpringSolver = __webpack_require__(94); + var _componentsPhysicsSpringSolver = __webpack_require__(93); var _componentsPhysicsSpringSolver2 = _interopRequireDefault(_componentsPhysicsSpringSolver); - var _componentsPhysicsHierarchicalSpringSolver = __webpack_require__(95); + var _componentsPhysicsHierarchicalSpringSolver = __webpack_require__(94); var _componentsPhysicsHierarchicalSpringSolver2 = _interopRequireDefault(_componentsPhysicsHierarchicalSpringSolver); - var _componentsPhysicsCentralGravitySolver = __webpack_require__(96); + var _componentsPhysicsCentralGravitySolver = __webpack_require__(95); var _componentsPhysicsCentralGravitySolver2 = _interopRequireDefault(_componentsPhysicsCentralGravitySolver); - var _componentsPhysicsFA2BasedRepulsionSolver = __webpack_require__(97); + var _componentsPhysicsFA2BasedRepulsionSolver = __webpack_require__(96); var _componentsPhysicsFA2BasedRepulsionSolver2 = _interopRequireDefault(_componentsPhysicsFA2BasedRepulsionSolver); - var _componentsPhysicsFA2BasedCentralGravitySolver = __webpack_require__(98); + var _componentsPhysicsFA2BasedCentralGravitySolver = __webpack_require__(97); var _componentsPhysicsFA2BasedCentralGravitySolver2 = _interopRequireDefault(_componentsPhysicsFA2BasedCentralGravitySolver); @@ -33690,7 +34145,7 @@ return /******/ (function(modules) { // webpackBootstrap } /** - * The viewFunction inserts this step into each renderloop. It calls the physics tick and handles the cleanup at stabilized. + * The viewFunction inserts this step into each render loop. It calls the physics tick and handles the cleanup at stabilized. * */ }, { @@ -33830,7 +34285,7 @@ return /******/ (function(modules) { // webpackBootstrap for (var nodeId in nodes) { if (nodes.hasOwnProperty(nodeId)) { if (nodes[nodeId].options.physics === true) { - this.physicsBody.physicsNodeIndices.push(nodeId); + this.physicsBody.physicsNodeIndices.push(nodes[nodeId].id); } } } @@ -33839,7 +34294,7 @@ return /******/ (function(modules) { // webpackBootstrap for (var edgeId in edges) { if (edges.hasOwnProperty(edgeId)) { if (edges[edgeId].options.physics === true) { - this.physicsBody.physicsEdgeIndices.push(edgeId); + this.physicsBody.physicsEdgeIndices.push(edges[edgeId].id); } } } @@ -33921,7 +34376,7 @@ return /******/ (function(modules) { // webpackBootstrap } /** - * move the nodes one timestap and check if they are stabilized + * move the nodes one timestep and check if they are stabilized * @returns {boolean} */ }, { @@ -34183,7 +34638,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports['default']; /***/ }, -/* 91 */ +/* 90 */ /***/ function(module, exports) { "use strict"; @@ -34225,7 +34680,7 @@ return /******/ (function(modules) { // webpackBootstrap } /** - * This function calculates the forces the nodes apply on eachother based on a gravitational model. + * This function calculates the forces the nodes apply on each other based on a gravitational model. * The Barnes Hut method is used to speed up this N-body simulation. * * @private @@ -34685,7 +35140,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports["default"]; /***/ }, -/* 92 */ +/* 91 */ /***/ function(module, exports) { "use strict"; @@ -34780,7 +35235,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports["default"]; /***/ }, -/* 93 */ +/* 92 */ /***/ function(module, exports) { "use strict"; @@ -34871,7 +35326,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports["default"]; /***/ }, -/* 94 */ +/* 93 */ /***/ function(module, exports) { "use strict"; @@ -34981,7 +35436,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports["default"]; /***/ }, -/* 95 */ +/* 94 */ /***/ function(module, exports) { "use strict"; @@ -35110,7 +35565,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports["default"]; /***/ }, -/* 96 */ +/* 95 */ /***/ function(module, exports) { "use strict"; @@ -35179,7 +35634,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports["default"]; /***/ }, -/* 97 */ +/* 96 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -35198,7 +35653,7 @@ return /******/ (function(modules) { // webpackBootstrap function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - var _BarnesHutSolver2 = __webpack_require__(91); + var _BarnesHutSolver2 = __webpack_require__(90); var _BarnesHutSolver3 = _interopRequireDefault(_BarnesHutSolver2); @@ -35253,7 +35708,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports["default"]; /***/ }, -/* 98 */ +/* 97 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -35272,7 +35727,7 @@ return /******/ (function(modules) { // webpackBootstrap function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - var _CentralGravitySolver2 = __webpack_require__(96); + var _CentralGravitySolver2 = __webpack_require__(95); var _CentralGravitySolver3 = _interopRequireDefault(_CentralGravitySolver2); @@ -35309,7 +35764,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports["default"]; /***/ }, -/* 99 */ +/* 98 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -35324,11 +35779,11 @@ return /******/ (function(modules) { // webpackBootstrap function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } } - var _NetworkUtil = __webpack_require__(100); + var _NetworkUtil = __webpack_require__(99); var _NetworkUtil2 = _interopRequireDefault(_NetworkUtil); - var _componentsNodesCluster = __webpack_require__(101); + var _componentsNodesCluster = __webpack_require__(100); var _componentsNodesCluster2 = _interopRequireDefault(_componentsNodesCluster); @@ -35342,13 +35797,14 @@ return /******/ (function(modules) { // webpackBootstrap this.body = body; this.clusteredNodes = {}; + this.clusteredEdges = {}; this.options = {}; this.defaultOptions = {}; util.extend(this.options, this.defaultOptions); this.body.emitter.on('_resetData', function () { - _this.clusteredNodes = {}; + _this.clusteredNodes = {};_this.clusteredEdges = {}; }); } @@ -35413,14 +35869,14 @@ return /******/ (function(modules) { // webpackBootstrap for (var i = 0; i < this.body.nodeIndices.length; i++) { var nodeId = this.body.nodeIndices[i]; var node = this.body.nodes[nodeId]; - var clonedOptions = _NetworkUtil2['default']._cloneOptions(node); + var clonedOptions = _NetworkUtil2['default'].cloneOptions(node); if (options.joinCondition(clonedOptions) === true) { childNodesObj[nodeId] = this.body.nodes[nodeId]; // collect the nodes that will be in the cluster for (var _i = 0; _i < node.edges.length; _i++) { var edge = node.edges[_i]; - if (edge.hiddenByCluster !== true) { + if (this.clusteredEdges[edge.id] === undefined) { childEdgesObj[edge.id] = edge; } } @@ -35462,7 +35918,7 @@ return /******/ (function(modules) { // webpackBootstrap edges = []; for (var j = 0; j < node.edges.length; j++) { edge = node.edges[j]; - if (edge.hiddenByCluster !== true) { + if (this.clusteredEdges[edge.id] === undefined) { if (edge.toId !== edge.fromId) { relevantEdgeCount++; } @@ -35483,7 +35939,7 @@ return /******/ (function(modules) { // webpackBootstrap childNodesObj[childNodeId] = this.body.nodes[childNodeId]; usedNodes[nodeId] = true; } else { - var clonedOptions = _NetworkUtil2['default']._cloneOptions(this.body.nodes[nodeId]); + var clonedOptions = _NetworkUtil2['default'].cloneOptions(this.body.nodes[nodeId]); if (options.joinCondition(clonedOptions) === true) { childEdgesObj[edge.id] = edge; childNodesObj[nodeId] = this.body.nodes[nodeId]; @@ -35575,16 +36031,16 @@ return /******/ (function(modules) { // webpackBootstrap var childNodesObj = {}; var childEdgesObj = {}; var parentNodeId = node.id; - var parentClonedOptions = _NetworkUtil2['default']._cloneOptions(node); + var parentClonedOptions = _NetworkUtil2['default'].cloneOptions(node); childNodesObj[parentNodeId] = node; // collect the nodes that will be in the cluster for (var i = 0; i < node.edges.length; i++) { var edge = node.edges[i]; - if (edge.hiddenByCluster !== true) { + if (this.clusteredEdges[edge.id] === undefined) { var childNodeId = this._getConnectedId(edge, parentNodeId); - // if the child node is not in a cluster (may not be needed now with the edge.hiddenByCluster check) + // if the child node is not in a cluster if (this.clusteredNodes[childNodeId] === undefined) { if (childNodeId !== parentNodeId) { if (options.joinCondition === undefined) { @@ -35592,7 +36048,7 @@ return /******/ (function(modules) { // webpackBootstrap childNodesObj[childNodeId] = this.body.nodes[childNodeId]; } else { // clone the options and insert some additional parameters that could be interesting. - var childClonedOptions = _NetworkUtil2['default']._cloneOptions(this.body.nodes[childNodeId]); + var childClonedOptions = _NetworkUtil2['default'].cloneOptions(this.body.nodes[childNodeId]); if (options.joinCondition(parentClonedOptions, childClonedOptions) === true) { childEdgesObj[edge.id] = edge; childNodesObj[childNodeId] = this.body.nodes[childNodeId]; @@ -35614,8 +36070,9 @@ return /******/ (function(modules) { // webpackBootstrap * It looks for edges that are connected to the nodes from the "outside' of the cluster. * * @param childNodesObj - * @param newEdges - * @param options + * @param childEdgesObj + * @param clusterNodeProperties + * @param clusterEdgeProperties * @private */ }, { @@ -35640,7 +36097,7 @@ return /******/ (function(modules) { // webpackBootstrap for (var j = 0; j < childNode.edges.length; j++) { edge = childNode.edges[j]; // we only handle edges that are visible to the system, not the disabled ones from the clustering process. - if (edge.hiddenByCluster !== true) { + if (this.clusteredEdges[edge.id] === undefined) { // self-referencing edges will be added to the "hidden" list if (edge.toId == edge.fromId) { childEdgesObj[edge.id] = edge; @@ -35671,7 +36128,7 @@ return /******/ (function(modules) { // webpackBootstrap for (var j = 0; j < createEdges.length; j++) { var _edge = createEdges[j].edge; // copy the options of the edge we will replace - var clonedOptions = _NetworkUtil2['default']._cloneOptions(_edge, 'edge'); + var clonedOptions = _NetworkUtil2['default'].cloneOptions(_edge, 'edge'); // make sure the properties of clusterEdges are superimposed on it util.deepExtend(clonedOptions, clusterEdgeProperties); @@ -35690,8 +36147,8 @@ return /******/ (function(modules) { // webpackBootstrap newEdge.connect(); // hide the replaced edge + this._backupEdgeOptions(_edge); _edge.setOptions({ physics: false, hidden: true }); - _edge.hiddenByCluster = true; } } @@ -35730,7 +36187,7 @@ return /******/ (function(modules) { // webpackBootstrap value: function _cluster(childNodesObj, childEdgesObj, options) { var refreshData = arguments.length <= 3 || arguments[3] === undefined ? true : arguments[3]; - // kill condition: no children so can't cluster or only one node in the cluster, dont bother + // kill condition: no children so can't cluster or only one node in the cluster, don't bother if (Object.keys(childNodesObj).length < 2) { return; } @@ -35752,18 +36209,18 @@ return /******/ (function(modules) { // webpackBootstrap var childNodesOptions = []; for (var nodeId in childNodesObj) { if (childNodesObj.hasOwnProperty(nodeId)) { - var clonedOptions = _NetworkUtil2['default']._cloneOptions(childNodesObj[nodeId]); + var clonedOptions = _NetworkUtil2['default'].cloneOptions(childNodesObj[nodeId]); childNodesOptions.push(clonedOptions); } } - // get clusterproperties based on childNodes + // get cluster properties based on childNodes var childEdgesOptions = []; for (var edgeId in childEdgesObj) { if (childEdgesObj.hasOwnProperty(edgeId)) { // these cluster edges will be removed on creation of the cluster. if (edgeId.substr(0, 12) !== "clusterEdge:") { - var clonedOptions = _NetworkUtil2['default']._cloneOptions(childEdgesObj[edgeId], 'edge'); + var clonedOptions = _NetworkUtil2['default'].cloneOptions(childEdgesObj[edgeId], 'edge'); childEdgesOptions.push(clonedOptions); } } @@ -35785,7 +36242,7 @@ return /******/ (function(modules) { // webpackBootstrap clusterNodeProperties.label = 'cluster'; } - // give the clusterNode a postion if it does not have one. + // give the clusterNode a position if it does not have one. var pos = undefined; if (clusterNodeProperties.x === undefined) { pos = this._getClusterPosition(childNodesObj); @@ -35820,8 +36277,10 @@ return /******/ (function(modules) { // webpackBootstrap if (childEdgesObj.hasOwnProperty(edgeId)) { if (this.body.edges[edgeId] !== undefined) { var edge = this.body.edges[edgeId]; + // cache the options before changing + this._backupEdgeOptions(edge); + // disable physics and hide the edge edge.setOptions({ physics: false, hidden: true }); - edge.hiddenByCluster = true; } } } @@ -35842,6 +36301,22 @@ return /******/ (function(modules) { // webpackBootstrap this.body.emitter.emit('_dataChanged'); } } + }, { + key: '_backupEdgeOptions', + value: function _backupEdgeOptions(edge) { + if (this.clusteredEdges[edge.id] === undefined) { + this.clusteredEdges[edge.id] = { physics: edge.options.physics, hidden: edge.options.hidden }; + } + } + }, { + key: '_restoreEdge', + value: function _restoreEdge(edge) { + var originalOptions = this.clusteredEdges[edge.id]; + if (originalOptions !== undefined) { + edge.setOptions({ physics: originalOptions.physics, hidden: originalOptions.hidden }); + delete this.clusteredEdges[edge.id]; + } + } /** * Check if a node is a cluster. @@ -35957,7 +36432,7 @@ return /******/ (function(modules) { // webpackBootstrap containedNode.vx = clusterNode.vx; containedNode.vy = clusterNode.vy; - // we use these methods to avoid reinstantiating the shape, which happens with setOptions. + // we use these methods to avoid re-instantiating the shape, which happens with setOptions. containedNode.setOptions({ hidden: false, physics: true }); delete this.clusteredNodes[nodeId]; @@ -35997,7 +36472,7 @@ return /******/ (function(modules) { // webpackBootstrap } // clone the options and apply the cluster options to them - var clonedOptions = _NetworkUtil2['default']._cloneOptions(transferEdge, 'edge'); + var clonedOptions = _NetworkUtil2['default'].cloneOptions(transferEdge, 'edge'); util.deepExtend(clonedOptions, otherCluster.clusterEdgeProperties); // apply the edge specific options to it. @@ -36013,8 +36488,7 @@ return /******/ (function(modules) { // webpackBootstrap } else { var replacedEdge = this.body.edges[edge.clusteringEdgeReplacingId]; if (replacedEdge !== undefined) { - replacedEdge.setOptions({ physics: true, hidden: false }); - replacedEdge.hiddenByCluster = false; + this._restoreEdge(replacedEdge); } } edge.cleanup(); @@ -36026,10 +36500,7 @@ return /******/ (function(modules) { // webpackBootstrap // handle the releasing of the edges for (var edgeId in containedEdges) { if (containedEdges.hasOwnProperty(edgeId)) { - var edge = containedEdges[edgeId]; - edge.setOptions({ physics: true, hidden: false }); - edge.hiddenByCluster = undefined; - delete edge.hiddenByCluster; + this._restoreEdge(containedEdges[edgeId]); } } @@ -36048,7 +36519,7 @@ return /******/ (function(modules) { // webpackBootstrap var containedNodes = this.body.nodes[clusterId].containedNodes; for (var nodeId in containedNodes) { if (containedNodes.hasOwnProperty(nodeId)) { - nodesArray.push(nodeId); + nodesArray.push(this.body.nodes[nodeId].id); } } } @@ -36069,11 +36540,13 @@ return /******/ (function(modules) { // webpackBootstrap var counter = 0; while (this.clusteredNodes[nodeId] !== undefined && counter < max) { - stack.push(this.clusteredNodes[nodeId].node); + stack.push(this.body.nodes[nodeId].id); nodeId = this.clusteredNodes[nodeId].clusterId; counter++; } - stack.push(this.body.nodes[nodeId]); + stack.push(this.body.nodes[nodeId].id); + stack.reverse(); + return stack; } @@ -36143,7 +36616,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports['default']; /***/ }, -/* 100 */ +/* 99 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -36165,12 +36638,11 @@ return /******/ (function(modules) { // webpackBootstrap /** * Find the center position of the network considering the bounding boxes - * @private */ _createClass(NetworkUtil, null, [{ - key: "_getRange", - value: function _getRange(allNodes) { + key: "getRange", + value: function getRange(allNodes) { var specificNodes = arguments.length <= 1 || arguments[1] === undefined ? [] : arguments[1]; var minY = 1e9, @@ -36204,11 +36676,10 @@ return /******/ (function(modules) { // webpackBootstrap /** * Find the center position of the network - * @private */ }, { - key: "_getRangeCore", - value: function _getRangeCore(allNodes) { + key: "getRangeCore", + value: function getRangeCore(allNodes) { var specificNodes = arguments.length <= 1 || arguments[1] === undefined ? [] : arguments[1]; var minY = 1e9, @@ -36243,11 +36714,10 @@ return /******/ (function(modules) { // webpackBootstrap /** * @param {object} range = {minX: minX, maxX: maxX, minY: minY, maxY: maxY}; * @returns {{x: number, y: number}} - * @private */ }, { - key: "_findCenter", - value: function _findCenter(range) { + key: "findCenter", + value: function findCenter(range) { return { x: 0.5 * (range.maxX + range.minX), y: 0.5 * (range.maxY + range.minY) }; } @@ -36257,11 +36727,10 @@ return /******/ (function(modules) { // webpackBootstrap * @param item * @param type * @returns {{}} - * @private */ }, { - key: "_cloneOptions", - value: function _cloneOptions(item, type) { + key: "cloneOptions", + value: function cloneOptions(item, type) { var clonedOptions = {}; if (type === undefined || type === 'node') { util.deepExtend(clonedOptions, item.options, true); @@ -36282,7 +36751,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports["default"]; /***/ }, -/* 101 */ +/* 100 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -36299,7 +36768,7 @@ return /******/ (function(modules) { // webpackBootstrap function _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - var _Node2 = __webpack_require__(62); + var _Node2 = __webpack_require__(61); var _Node3 = _interopRequireDefault(_Node2); @@ -36327,7 +36796,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports['default']; /***/ }, -/* 102 */ +/* 101 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -36546,10 +37015,6 @@ return /******/ (function(modules) { // webpackBootstrap this._drawNodes(ctx, hidden); } - if (this.controlNodesActive === true) { - this._drawControlNodes(ctx); - } - ctx.beginPath(); this.body.emitter.emit("afterDrawing", ctx); ctx.closePath(); @@ -36666,25 +37131,6 @@ return /******/ (function(modules) { // webpackBootstrap } } - /** - * Redraw all edges - * The 2d context of a HTML canvas can be retrieved by canvas.getContext('2d'); - * @param {CanvasRenderingContext2D} ctx - * @private - */ - }, { - key: '_drawControlNodes', - value: function _drawControlNodes(ctx) { - var edges = this.body.edges; - var edgeIndices = this.body.edgeIndices; - var edge = undefined; - - for (var i = 0; i < edgeIndices.length; i++) { - edge = edges[edgeIndices[i]]; - edge._drawControlNodes(ctx); - } - } - /** * Determine if the browser requires a setTimeout or a requestAnimationFrame. This was required because * some implementations (safari and IE9) did not support requestAnimationFrame @@ -36718,7 +37164,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports['default']; /***/ }, -/* 103 */ +/* 102 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -36732,7 +37178,7 @@ return /******/ (function(modules) { // webpackBootstrap function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } } var Hammer = __webpack_require__(20); - var hammerUtil = __webpack_require__(25); + var hammerUtil = __webpack_require__(24); var util = __webpack_require__(1); @@ -36850,8 +37296,19 @@ return /******/ (function(modules) { // webpackBootstrap value: function _setCameraState() { if (this.cameraState.scale !== undefined && this.frame.canvas.clientWidth !== 0 && this.frame.canvas.clientHeight !== 0 && this.pixelRatio !== 0 && this.cameraState.previousWidth > 0) { - this.body.view.scale = this.cameraState.scale * Math.min(this.frame.canvas.width / this.pixelRatio / this.cameraState.previousWidth, this.frame.canvas.height / this.pixelRatio / this.cameraState.previousHeight); + var widthRatio = this.frame.canvas.width / this.pixelRatio / this.cameraState.previousWidth; + var heightRatio = this.frame.canvas.height / this.pixelRatio / this.cameraState.previousHeight; + var newScale = this.cameraState.scale; + + if (widthRatio != 1 && heightRatio != 1) { + newScale = this.cameraState.scale * 0.5 * (widthRatio + heightRatio); + } else if (widthRatio != 1) { + newScale = this.cameraState.scale * widthRatio; + } else if (heightRatio != 1) { + newScale = this.cameraState.scale * heightRatio; + } + this.body.view.scale = newScale; // this comes from the view module. var currentViewCenter = this.DOMtoCanvas({ x: 0.5 * this.frame.canvas.clientWidth, @@ -37014,13 +37471,13 @@ return /******/ (function(modules) { // webpackBootstrap var oldWidth = this.frame.canvas.width; var oldHeight = this.frame.canvas.height; - // update the pixelratio + // update the pixel ratio var ctx = this.frame.canvas.getContext("2d"); - var previousRation = this.pixelRatio; // we cache this because the camera state storage needs the old value + var previousRatio = this.pixelRatio; // we cache this because the camera state storage needs the old value this.pixelRatio = (window.devicePixelRatio || 1) / (ctx.webkitBackingStorePixelRatio || ctx.mozBackingStorePixelRatio || ctx.msBackingStorePixelRatio || ctx.oBackingStorePixelRatio || ctx.backingStorePixelRatio || 1); if (width != this.options.width || height != this.options.height || this.frame.style.width != width || this.frame.style.height != height) { - this._getCameraState(previousRation); + this._getCameraState(previousRatio); this.frame.style.width = width; this.frame.style.height = height; @@ -37041,7 +37498,7 @@ return /******/ (function(modules) { // webpackBootstrap // store the camera if there is a change in size. if (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._getCameraState(previousRation); + this._getCameraState(previousRatio); } if (this.frame.canvas.width != Math.round(this.frame.canvas.clientWidth * this.pixelRatio)) { @@ -37153,7 +37610,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports['default']; /***/ }, -/* 104 */ +/* 103 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -37168,7 +37625,7 @@ return /******/ (function(modules) { // webpackBootstrap function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } } - var _NetworkUtil = __webpack_require__(100); + var _NetworkUtil = __webpack_require__(99); var _NetworkUtil2 = _interopRequireDefault(_NetworkUtil); @@ -37244,7 +37701,7 @@ return /******/ (function(modules) { // webpackBootstrap return; } - range = _NetworkUtil2['default']._getRange(this.body.nodes, options.nodes); + range = _NetworkUtil2['default'].getRange(this.body.nodes, options.nodes); var numberOfNodes = this.body.nodeIndices.length; zoomLevel = 12.662 / (numberOfNodes + 7.4147) + 0.0964822; // this is obtained from fitting a dataset from 5 points with scale levels that looked good. @@ -37254,7 +37711,7 @@ return /******/ (function(modules) { // webpackBootstrap zoomLevel *= factor; } else { this.body.emitter.emit("_resizeNodes"); - range = _NetworkUtil2['default']._getRange(this.body.nodes, options.nodes); + range = _NetworkUtil2['default'].getRange(this.body.nodes, options.nodes); var xDistance = Math.abs(range.maxX - range.minX) * 1.1; var yDistance = Math.abs(range.maxY - range.minY) * 1.1; @@ -37271,7 +37728,7 @@ return /******/ (function(modules) { // webpackBootstrap zoomLevel = 1.0; } - var center = _NetworkUtil2['default']._findCenter(range); + var center = _NetworkUtil2['default'].findCenter(range); var animationOptions = { position: center, scale: zoomLevel, animation: options.animation }; this.moveTo(animationOptions); } @@ -37498,7 +37955,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports['default']; /***/ }, -/* 105 */ +/* 104 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -37513,11 +37970,11 @@ return /******/ (function(modules) { // webpackBootstrap function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } } - var _componentsNavigationHandler = __webpack_require__(106); + var _componentsNavigationHandler = __webpack_require__(105); var _componentsNavigationHandler2 = _interopRequireDefault(_componentsNavigationHandler); - var _componentsPopup = __webpack_require__(107); + var _componentsPopup = __webpack_require__(106); var _componentsPopup2 = _interopRequireDefault(_componentsPopup); @@ -38268,7 +38725,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports['default']; /***/ }, -/* 106 */ +/* 105 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -38283,8 +38740,8 @@ return /******/ (function(modules) { // webpackBootstrap var util = __webpack_require__(1); var Hammer = __webpack_require__(20); - var hammerUtil = __webpack_require__(25); - var keycharm = __webpack_require__(41); + var hammerUtil = __webpack_require__(24); + var keycharm = __webpack_require__(40); var NavigationHandler = (function () { function NavigationHandler(body, canvas) { @@ -38594,7 +39051,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports['default']; /***/ }, -/* 107 */ +/* 106 */ /***/ function(module, exports) { /** @@ -38720,7 +39177,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports['default']; /***/ }, -/* 108 */ +/* 107 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -38733,8 +39190,8 @@ return /******/ (function(modules) { // webpackBootstrap function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - var Node = __webpack_require__(62); - var Edge = __webpack_require__(82); + var Node = __webpack_require__(61); + var Edge = __webpack_require__(81); var util = __webpack_require__(1); var SelectionHandler = (function () { @@ -39344,7 +39801,7 @@ return /******/ (function(modules) { // webpackBootstrap if (this.options.selectable === true) { for (var nodeId in this.selectionObj.nodes) { if (this.selectionObj.nodes.hasOwnProperty(nodeId)) { - idArray.push(nodeId); + idArray.push(this.selectionObj.nodes[nodeId].id); } } } @@ -39364,7 +39821,7 @@ return /******/ (function(modules) { // webpackBootstrap if (this.options.selectable === true) { for (var edgeId in this.selectionObj.edges) { if (this.selectionObj.edges.hasOwnProperty(edgeId)) { - idArray.push(edgeId); + idArray.push(this.selectionObj.edges[edgeId].id); } } } @@ -39476,7 +39933,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports["default"]; /***/ }, -/* 109 */ +/* 108 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -39491,7 +39948,7 @@ return /******/ (function(modules) { // webpackBootstrap function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } } - var _NetworkUtil = __webpack_require__(100); + var _NetworkUtil = __webpack_require__(99); var _NetworkUtil2 = _interopRequireDefault(_NetworkUtil); @@ -39749,8 +40206,8 @@ return /******/ (function(modules) { // webpackBootstrap }, { key: '_shiftToCenter', value: function _shiftToCenter() { - var range = _NetworkUtil2['default']._getRangeCore(this.body.nodes, this.body.nodeIndices); - var center = _NetworkUtil2['default']._findCenter(range); + var range = _NetworkUtil2['default'].getRangeCore(this.body.nodes, this.body.nodeIndices); + var center = _NetworkUtil2['default'].findCenter(range); for (var i = 0; i < this.body.nodeIndices.length; i++) { this.body.nodes[this.body.nodeIndices[i]].x -= center.x; this.body.nodes[this.body.nodeIndices[i]].y -= center.y; @@ -40013,7 +40470,7 @@ return /******/ (function(modules) { // webpackBootstrap _this3.hierarchicalLevels[nodeA.id] = minLevel; } - var diff = customCallback(_NetworkUtil2['default']._cloneOptions(nodeA, 'node'), _NetworkUtil2['default']._cloneOptions(nodeB, 'node'), _NetworkUtil2['default']._cloneOptions(edge, 'edge')); + var diff = customCallback(_NetworkUtil2['default'].cloneOptions(nodeA, 'node'), _NetworkUtil2['default'].cloneOptions(nodeB, 'node'), _NetworkUtil2['default'].cloneOptions(edge, 'edge')); _this3.hierarchicalLevels[nodeB.id] = _this3.hierarchicalLevels[nodeA.id] + diff; }; @@ -40347,7 +40804,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports['default']; /***/ }, -/* 110 */ +/* 109 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -40362,7 +40819,7 @@ return /******/ (function(modules) { // webpackBootstrap var util = __webpack_require__(1); var Hammer = __webpack_require__(20); - var hammerUtil = __webpack_require__(25); + var hammerUtil = __webpack_require__(24); /** * clears the toolbar div element of children @@ -40525,7 +40982,7 @@ return /******/ (function(modules) { // webpackBootstrap // restore the state of any bound functions or events, remove control nodes, restore physics this._clean(); - // reset global letiables + // reset global variables this.manipulationDOM = {}; // if the gui is enabled, draw all elements. @@ -40715,7 +41172,7 @@ return /******/ (function(modules) { // webpackBootstrap value: function editEdgeMode() { var _this3 = this; - // when using the gui, enable edit mode if it wasnt already. + // when using the gui, enable edit mode if it wasn't already. if (this.editMode !== true) { this.enableEditMode(); } @@ -40930,7 +41387,11 @@ return /******/ (function(modules) { // webpackBootstrap controlNodeStyle.x = x; controlNodeStyle.y = y; - return this.body.functions.createNode(controlNodeStyle); + // we have to define the bounding box in order for the nodes to be drawn immediately + var node = this.body.functions.createNode(controlNodeStyle); + node.shape.boundingBox = { left: x, right: x, top: y, bottom: y }; + + return node; } /** @@ -41556,7 +42017,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports['default']; /***/ }, -/* 111 */ +/* 110 */ /***/ function(module, exports) { /** @@ -41637,6 +42098,7 @@ return /******/ (function(modules) { // webpackBootstrap selfReferenceSize: { number: number }, shadow: { enabled: { boolean: boolean }, + color: { string: string }, size: { number: number }, x: { number: number }, y: { number: number }, @@ -41769,6 +42231,7 @@ return /******/ (function(modules) { // webpackBootstrap }, shadow: { enabled: { boolean: boolean }, + color: { string: string }, size: { number: number }, x: { number: number }, y: { number: number }, @@ -42057,13 +42520,9 @@ return /******/ (function(modules) { // webpackBootstrap exports.configureOptions = configureOptions; /***/ }, -/* 112 */ +/* 111 */ /***/ function(module, exports, __webpack_require__) { - /** - * Created by Alex on 8/7/2015. - */ - // distance finding algorithm "use strict"; @@ -42079,7 +42538,7 @@ return /******/ (function(modules) { // webpackBootstrap function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - var _componentsAlgorithmsFloydWarshallJs = __webpack_require__(113); + var _componentsAlgorithmsFloydWarshallJs = __webpack_require__(112); var _componentsAlgorithmsFloydWarshallJs2 = _interopRequireDefault(_componentsAlgorithmsFloydWarshallJs); @@ -42346,7 +42805,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports["default"]; /***/ }, -/* 113 */ +/* 112 */ /***/ function(module, exports) { /** @@ -42417,7 +42876,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports["default"]; /***/ }, -/* 114 */ +/* 113 */ /***/ function(module, exports) { /** @@ -42704,7 +43163,7 @@ return /******/ (function(modules) { // webpackBootstrap } /***/ }, -/* 115 */ +/* 114 */ /***/ function(module, exports) { /** @@ -43602,7 +44061,7 @@ return /******/ (function(modules) { // webpackBootstrap exports.DOTToGraph = DOTToGraph; /***/ }, -/* 116 */ +/* 115 */ /***/ function(module, exports) { 'use strict'; @@ -43680,7 +44139,7 @@ return /******/ (function(modules) { // webpackBootstrap exports.parseGephi = parseGephi; /***/ }, -/* 117 */ +/* 116 */ /***/ function(module, exports) { /** @@ -43806,7 +44265,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports["default"]; /***/ }, -/* 118 */ +/* 117 */ /***/ function(module, exports) { // English diff --git a/dist/vis.map b/dist/vis.map index d5b47fe3..d4c90513 100644 --- a/dist/vis.map +++ b/dist/vis.map @@ -1 +1 @@ -{"version":3,"sources":["vis.js"],"names":["root","factory","exports","module","define","amd","this","modules","__webpack_require__","moduleId","installedModules","id","loaded","call","m","c","p","util","DOMutil","DataSet","DataView","Queue","Graph3d","graph3d","Camera","Filter","Point2d","Point3d","Slider","StepNumber","Timeline","Graph2d","timeline","Core","DataStep","DateUtil","Range","stack","TimeStep","components","items","Item","BackgroundItem","BoxItem","PointItem","RangeItem","BackgroundGroup","Component","CurrentTime","CustomTime","DataAxis","GraphGroup","Group","ItemSet","Legend","LineGraph","TimeAxis","Network","network","Images","dotparser","gephiParser","allOptions","convertDot","input","DOTToGraph","convertGephi","options","parseGephi","moment","Hammer","keycharm","uuid","isNumber","object","Number","recursiveDOMDelete","DOMobject","hasChildNodes","firstChild","removeChild","giveRange","min","max","total","value","scale","Math","isString","String","isDate","Date","match","ASPDateRegex","exec","isNaN","parse","randomUUID","v4","assignAllKeys","obj","prop","hasOwnProperty","fillIfDefined","a","b","allowDeletion","arguments","length","undefined","protoExtend","i","other","extend","selectiveExtend","props","Array","isArray","Error","selectiveDeepExtend","TypeError","constructor","Object","deepExtend","selectiveNotDeepExtend","indexOf","push","equalArray","len","convert","type","Boolean","valueOf","isMoment","toDate","getType","toISOString","copyAndExtendArray","arr","newValue","newArr","copyArray","getAbsoluteLeft","elem","getBoundingClientRect","left","getAbsoluteTop","top","addClassName","className","classes","split","join","removeClassName","index","splice","forEach","callback","toArray","array","updateProperty","key","throttle","fn","wait","timeout","needExecution","throttled","setTimeout","addEventListener","element","action","listener","useCapture","navigator","userAgent","attachEvent","removeEventListener","detachEvent","preventDefault","event","window","returnValue","getTarget","target","srcElement","nodeType","parentNode","hasParent","parent","e","option","asBoolean","defaultValue","asNumber","asString","asSize","asElement","hexToRGB","hex","shorthandRegex","replace","r","g","result","parseInt","overrideOpacity","color","opacity","rgb","substr","RGBToHex","red","green","blue","toString","slice","parseColor","isValidRGB","map","isValidHex","hsv","hexToHSV","lighterColorHSV","h","s","v","darkerColorHSV","darkerColorHex","HSVToHex","lighterColorHex","background","border","highlight","hover","RGBToHSV","minRGB","maxRGB","d","hue","saturation","cssUtil","cssText","styles","style","trim","parts","keys","addCssText","currentStyles","newStyles","removeCssText","removeStyles","HSVToRGB","floor","f","q","t","isOk","test","isValidRGBA","rgba","selectiveBridgeObject","fields","referenceObject","objectTo","create","bridgeObject","insertSort","compare","k","j","mergeOptions","mergeTarget","globalOptions","enabled","binarySearchCustom","orderedItems","searchFunction","field","field2","maxIterations","iteration","low","high","middle","item","searchResult","binarySearchValue","sidePreference","prevValue","nextValue","easingFunctions","linear","easeInQuad","easeOutQuad","easeInOutQuad","easeInCubic","easeOutCubic","easeInOutCubic","easeInQuart","easeOutQuart","easeInOutQuart","easeInQuint","easeOutQuint","easeInOutQuint","global","utils_hooks__hooks","hookCallback","apply","setHookCallback","prototype","res","hasOwnProp","create_utc__createUTC","format","locale","strict","createLocalOrUTC","utc","defaultParsingFlags","empty","unusedTokens","unusedInput","overflow","charsLeftOver","nullInput","invalidMonth","invalidFormat","userInvalidated","iso","getParsingFlags","_pf","valid__isValid","_isValid","flags","_d","getTime","invalidWeekday","_strict","bigHour","valid__createInvalid","NaN","copyConfig","to","from","val","_isAMomentObject","_i","_f","_l","_tzm","_isUTC","_offset","_locale","momentProperties","Moment","config","updateInProgress","updateOffset","absFloor","number","ceil","toInt","argumentForCoercion","coercedNumber","isFinite","compareArrays","array1","array2","dontConvert","lengthDiff","abs","diffs","Locale","normalizeLocale","toLowerCase","chooseLocale","names","next","loadLocale","name","oldLocale","locales","globalLocale","_abbr","code","locale_locales__getSetGlobalLocale","values","data","locale_locales__getLocale","defineLocale","abbr","set","addUnitAlias","unit","shorthand","lowerCase","aliases","normalizeUnits","units","normalizeObjectUnits","inputObject","normalizedProp","normalizedInput","makeGetSet","keepTime","get_set__set","get_set__get","mom","getSet","zeroFill","targetLength","forceSign","absNumber","zerosToFill","sign","pow","addFormatToken","token","padded","ordinal","func","formatTokenFunctions","localeData","removeFormattingTokens","makeFormatFunction","formattingTokens","output","Function","formatMoment","isValid","expandFormat","formatFunctions","invalidDate","replaceLongDateFormatTokens","longDateFormat","localFormattingTokens","lastIndex","isFunction","sth","addRegexToken","regex","strictRegex","regexes","isStrict","getParseRegexForToken","RegExp","unescapeFormat","matched","p1","p2","p3","p4","addParseToken","tokens","addWeekParseToken","_w","addTimeToArrayFromToken","_a","daysInMonth","year","month","UTC","getUTCDate","localeMonths","_months","localeMonthsShort","_monthsShort","localeMonthsParse","monthName","_monthsParse","_longMonthsParse","_shortMonthsParse","months","monthsShort","setMonth","dayOfMonth","monthsParse","date","getSetMonth","getDaysInMonth","checkOverflow","MONTH","DATE","YEAR","HOUR","MINUTE","SECOND","MILLISECOND","_overflowDayOfYear","warn","msg","suppressDeprecationWarnings","console","deprecate","firstTime","deprecateSimple","deprecations","configFromISO","l","string","from_string__isoRegex","isoDates","isoTimes","matchOffset","configFromStringAndFormat","configFromString","aspNetJsonRegex","createFromInputFallback","createDate","y","M","ms","setFullYear","createUTCDate","setUTCFullYear","daysInYear","isLeapYear","getIsLeapYear","weekOfYear","firstDayOfWeek","firstDayOfWeekOfYear","adjustedMoment","end","daysToDayOfWeek","day","local__createLocal","add","week","dayOfYear","localeWeek","_week","dow","doy","localeFirstDayOfWeek","localeFirstDayOfYear","getSetWeek","getSetISOWeek","dayOfYearFromWeeks","weekday","week1Jan","janX","getUTCDay","getSetDayOfYear","round","clone","startOf","defaults","currentDateArray","now","_useUTC","getUTCFullYear","getUTCMonth","getFullYear","getMonth","getDate","configFromArray","currentDate","yearToUse","dayOfYearFromWeekInfo","_dayOfYear","_nextDay","setUTCMinutes","getUTCMinutes","w","weekYear","temp","GG","W","E","gg","ISO_8601","parsedInput","skipped","stringLength","totalParsedInputLength","meridiemFixWrap","_meridiem","hour","meridiem","isPm","meridiemHour","isPM","configFromStringAndArray","tempConfig","bestMoment","scoreToBeat","currentScore","score","configFromObject","minute","second","millisecond","createFromConfig","prepareConfig","preparse","configFromInput","isUTC","pickBy","moments","args","Duration","duration","years","quarters","quarter","weeks","days","hours","minutes","seconds","milliseconds","_milliseconds","_days","_data","_bubble","isDuration","offset","separator","utcOffset","offsetFromString","matches","chunk","chunkOffset","cloneWithOffset","model","diff","setTime","local","getDateOffset","getTimezoneOffset","getSetOffset","keepLocalTime","localAdjust","_changeInProgress","add_subtract__addSubtract","create__createDuration","getSetZone","setOffsetToUTC","setOffsetToLocal","subtract","setOffsetToParsedOffset","hasAlignedHourOffset","isDaylightSavingTime","isDaylightSavingTimeShifted","_isDSTShifted","isLocal","isUtcOffset","isUtc","ret","diffRes","aspNetRegex","create__isoRegex","parseIso","momentsDifference","inp","parseFloat","positiveMomentsDifference","base","isAfter","isBefore","createAdder","direction","period","dur","tmp","isAdding","moment_calendar__calendar","time","formats","sod","calendar","inputMs","endOf","isBetween","isSame","asFloat","delta","that","zoneDelta","monthDiff","anchor2","adjust","wholeMonthDiff","anchor","moment_format__toISOString","inputString","defaultFormat","postformat","withoutSuffix","humanize","fromNow","toNow","newLocaleData","isoWeekday","to_type__valueOf","unix","toObject","moment_valid__isValid","parsingFlags","invalidAt","addWeekYearFormatToken","getter","weeksInYear","getSetWeekYear","getSetISOWeekYear","getISOWeeksInYear","getWeeksInYear","weekInfo","getSetQuarter","parseWeekday","weekdaysParse","localeWeekdays","_weekdays","localeWeekdaysShort","_weekdaysShort","localeWeekdaysMin","_weekdaysMin","localeWeekdaysParse","weekdayName","_weekdaysParse","weekdays","weekdaysShort","weekdaysMin","getSetDayOfWeek","getDay","getSetLocaleDayOfWeek","getSetISODayOfWeek","lowercase","matchMeridiem","_meridiemParse","localeIsPM","charAt","localeMeridiem","isLower","parseMs","getZoneAbbr","getZoneName","moment__createUnix","moment__createInZone","parseZone","locale_calendar__calendar","_calendar","_longDateFormat","formatUpper","toUpperCase","_invalidDate","_ordinal","preParsePostFormat","relative__relativeTime","isFuture","_relativeTime","pastFuture","locale_set__set","_ordinalParseLenient","_ordinalParse","source","lists__get","setter","list","count","out","lists__listMonths","lists__listMonthsShort","lists__listWeekdays","lists__listWeekdaysShort","lists__listWeekdaysMin","duration_abs__abs","mathAbs","duration_add_subtract__addSubtract","duration_add_subtract__add","duration_add_subtract__subtract","absCeil","bubble","monthsFromDays","monthsToDays","daysToMonths","as","duration_as__valueOf","makeAs","alias","duration_get__get","makeGetter","substituteTimeAgo","relativeTime","duration_humanize__relativeTime","posNegDuration","thresholds","duration_humanize__getSetRelativeTimeThreshold","threshold","limit","withSuffix","iso_string__toISOString","iso_string__abs","Y","D","asSeconds","match1","match2","match3","match4","match6","match1to2","match1to3","match1to4","match1to6","matchUnsigned","matchSigned","matchTimestamp","matchWord","defaultLocaleMonths","defaultLocaleMonthsShort","parseTwoDigitYear","getSetYear","defaultLocaleWeek","prototypeMin","prototypeMax","add_subtract__add","add_subtract__subtract","lang","isoWeekYear","getSetDayOfMonth","defaultLocaleWeekdays","defaultLocaleWeekdaysShort","defaultLocaleWeekdaysMin","_isPm","defaultLocaleMeridiemParse","getSetHour","getSetMinute","getSetSecond","getSetMillisecond","momentPrototype__proto","get","toJSON","isoWeek","isoWeeks","isoWeeksInYear","isDST","isDSTShifted","zoneAbbr","zoneName","dates","zone","momentPrototype","defaultCalendar","sameDay","nextDay","nextWeek","lastDay","lastWeek","sameElse","defaultLongDateFormat","LTS","LT","L","LL","LLL","LLLL","defaultInvalidDate","defaultOrdinal","defaultOrdinalParse","defaultRelativeTime","future","past","mm","hh","dd","MM","yy","prototype__proto","firstDayOfYear","ordinalParse","langData","asMilliseconds","asMinutes","asHours","asDays","asWeeks","asMonths","asYears","duration_prototype__proto","toIsoString","version","invalid","relativeTimeThreshold","_moment","webpackPolyfill","paths","children","webpackContext","req","resolve","buf","ii","oct","_hexToByte","unparse","bth","_byteToHex","v1","clockseq","_clockseq","msecs","nsecs","_lastNSecs","dt","_lastMSecs","tl","tmh","node","_nodeId","n","rnds","random","rng","_rng","globalVar","crypto","getRandomValues","_rnds8","Uint8Array","_rnds","_seedBytes","prepareElements","JSONcontainer","elementType","redundant","used","cleanupElements","resetElements","getSVGElement","svgContainer","shift","document","createElementNS","appendChild","getDOMElement","DOMContainer","insertBefore","createElement","drawPoint","x","groupTemplate","labelObj","point","setAttributeNS","size","label","xOffset","yOffset","content","textContent","drawBar","width","height","rect","_options","_fieldId","fieldId","_type","_subscribers","setOptions","queue","_queue","destroy","on","subscribers","subscribe","off","filter","unsubscribe","_trigger","params","senderId","concat","subscriber","addedIds","me","_addItem","update","updatedIds","oldData","updatedData","addOrUpdate","oldItem","_updateItem","ids","firstType","returnType","allowedValues","itemIds","itemId","_getItem","order","_sort","_filterFields","resultant","getIds","getDataSet","mappedItems","filteredItem","itemFields","sort","av","bv","remove","removedId","removedIds","_remove","clear","maxField","itemField","minField","distinct","fieldType","exists","types","raw","converted","JSON","stringify","delay","Infinity","_timeout","_extended","_flushIfNeeded","flush","methods","original","method","context","entry","clearTimeout","_ids","_onEvent","setData","refresh","oldIds","newIds","added","removed","viewOptions","getArguments","defaultFilter","dataSet","updated","container","SyntaxError","containerElement","margin","defaultXCenter","defaultYCenter","xLabel","yLabel","zLabel","passValueFn","xValueLabel","yValueLabel","zValueLabel","filterLabel","legendLabel","STYLE","DOT","showPerspective","showGrid","keepAspectRatio","showShadow","showGrayBottom","showTooltip","verticalRatio","animationInterval","animationPreload","camera","setArmRotation","setArmLength","eye","dataTable","dataPoints","colX","colY","colZ","colValue","colFilter","xMin","xStep","xMax","yMin","yStep","yMax","zMin","zStep","zMax","valueMin","valueMax","xBarWidth","yBarWidth","axisColor","gridColor","dataColor","fill","stroke","strokeWidth","getMouseX","clientX","targetTouches","getMouseY","clientY","Emitter","_setScale","z","xCenter","yCenter","zCenter","setArmLocation","_convert3Dto2D","point3d","translation","_convertPointToTranslation","_convertTranslationToScreen","ax","ay","az","cx","getCameraLocation","cy","cz","sinTx","sin","getCameraRotation","cosTx","cos","sinTy","cosTy","sinTz","cosTz","dx","dy","dz","bx","by","ex","ey","ez","getArmLength","xcenter","frame","canvas","clientWidth","ycenter","_setBackgroundColor","backgroundColor","borderColor","borderWidth","borderStyle","BAR","BARCOLOR","BARSIZE","DOTLINE","DOTCOLOR","DOTSIZE","GRID","LINE","SURFACE","_getStyleNumber","styleName","_determineColumnIndexes","getNumberOfColumns","getNumberOfRows","counter","column","getDistinctValues","distinctValues","getColumnRange","minMax","_dataInitialize","rawData","_onChange","dataFilter","setOnLoadCallback","redraw","withBars","defaultXBarWidth","dataX","defaultYBarWidth","dataY","xRange","defaultXMin","defaultXMax","defaultXStep","yRange","defaultYMin","defaultYMax","defaultYStep","zRange","defaultZMin","defaultZMax","defaultZStep","valueRange","defaultValueMin","defaultValueMax","_getDataPoints","sortNumber","dataMatrix","xIndex","yIndex","trans","screen","bottom","pointRight","pointTop","pointCross","position","noCanvas","fontWeight","padding","innerHTML","onmousedown","_onMouseDown","ontouchstart","_onTouchStart","onmousewheel","_onWheel","ontooltip","_onTooltip","onkeydown","setSize","_resizeCanvas","clientHeight","animationStart","slider","play","animationStop","stop","_resizeCenter","setCameraPosition","pos","horizontal","vertical","distance","getCameraPosition","getArmRotation","_readData","_redrawFilter","animationAutoStart","cameraPosition","styleNumber","tooltip","showAnimationControls","_redrawSlider","_redrawClear","_redrawAxis","_redrawDataGrid","_redrawDataLine","_redrawDataBar","_redrawDataDot","_redrawInfo","_redrawLegend","ctx","getContext","clearRect","widthMin","widthMax","dotSize","right","lineWidth","font","ymin","ymax","_hsv2rgb","strokeStyle","beginPath","moveTo","lineTo","strokeRect","fillStyle","closePath","gridLineLen","step","start","getCurrent","textAlign","textBaseline","fillText","visible","setValues","setPlayInterval","onchange","getIndex","selectValue","setOnChangeCallback","lineStyle","getLabel","getSelectedValue","prettyStep","text","xText","yText","zText","xMin2d","xMax2d","gridLenX","gridLenY","textMargin","armAngle","H","S","V","R","G","B","C","Hi","X","cross","topSideVisible","zAvg","lineJoin","lineCap","transBottom","dist","sortDepth","aDiff","bDiff","crossproduct","crossProduct","_getStrokeWidth","radius","arc","PI","surface","corners","xWidth","yWidth","surfaces","center","avg","transCenter","leftButtonDown","_onMouseUp","which","button","touchDown","startMouseX","startMouseY","startStart","startEnd","startArmRotation","cursor","onmousemove","_onMouseMove","onmouseup","diffX","diffY","horizontalNew","verticalNew","snapAngle","snapValue","parameters","emit","boundingRect","mouseX","mouseY","tooltipTimeout","_hideTooltip","dataPoint","_dataPointFromXY","_showTooltip","ontouchmove","_onTouchMove","ontouchend","_onTouchEnd","wheelDelta","detail","oldLength","newLength","_insideTriangle","triangle","bs","cs","distMax","closestDataPoint","closestDist","triangle1","triangle2","distX","distY","sqrt","line","dot","dom","borderRadius","boxShadow","borderLeft","contentWidth","offsetWidth","contentHeight","offsetHeight","lineHeight","dotWidth","dotHeight","mixin","_callbacks","once","self","removeListener","removeAllListeners","callbacks","cb","listeners","hasListeners","sub","sum","armLocation","armRotation","armLength","cameraLocation","cameraRotation","calculateCameraOrientation","rot","graph","onLoadCallback","loadInBackground","isLoaded","getLoadedProgress","getColumn","getValues","getValue","dataView","progress","prev","bar","MozBorderRadius","slide","onclick","togglePlay","onChangeCallback","playTimeout","playInterval","playLoop","setIndex","playNext","interval","clearInterval","getPlayInterval","setPlayLoop","doLoop","onChange","indexToLeft","startClientX","startSlideX","leftToIndex","_start","_end","_step","precision","_current","setRange","setStep","calculatePrettyStep","log10","log","LN10","step1","step2","step5","toPrecision","getStep","groups","forthArgument","defaultOptions","autoResize","throttleRedraw","orientation","axis","maxHeight","minHeight","_create","body","domProps","emitter","bind","hiddenDates","getScale","timeAxis","toScreen","_toScreen","toGlobalScreen","_toGlobalScreen","toTime","_toTime","toGlobalTime","_toGlobalTime","range","timeAxis2","currentTime","itemSet","itemsData","groupsData","getEventProperties","oncontextmenu","setGroups","setItems","_redraw","Configurator","Validator","printStyle","configureOptions","_createConfigurator","markDirty","refreshItems","errorFound","validate","selection","getSelection","setSelection","newDataSet","initialLoad","getItemRange","setWindow","animation","fit","focus","itemData","_this","getDataRange","minItem","maxItem","factor","lhs","rhs","getStart","getEnd","show","getWidthLeft","getWidthRight","dataset","centerContainer","itemFromTarget","group","groupFromTarget","customTime","customTimeFromTarget","snap","snappedTime","what","foreground","labelSet","groupId","pageX","srcEvent","pageY","propagating","__WEBPACK_AMD_DEFINE_FACTORY__","__WEBPACK_AMD_DEFINE_ARRAY__","__WEBPACK_AMD_DEFINE_RESULT__","_firstTarget","hammer","events","propagatedHandler","_handled","stopped","stopPropagation","firstTarget","_handlers","Manager","PropagatingHammer","o","wrapper","pointerType","isFirst","handler","eventType","exportName","setTimeoutContext","bindFn","invokeArrayArg","arg","each","iterator","dest","src","merge","inherit","child","properties","childP","baseP","_super","boolOrFn","TYPE_FUNCTION","ifUndefined","val1","val2","addEventListeners","splitStr","removeEventListeners","inStr","str","find","inArray","findByKey","uniqueArray","results","prefixed","property","prefix","camelProp","VENDOR_PREFIXES","uniqueId","_uniqueId","getWindowForElement","doc","ownerDocument","defaultView","parentWindow","Input","manager","inputTarget","domHandler","ev","enable","init","createInputInstance","Type","inputClass","SUPPORT_POINTER_EVENTS","PointerEventInput","SUPPORT_ONLY_TOUCH","TouchInput","SUPPORT_TOUCH","TouchMouseInput","MouseInput","inputHandler","pointersLen","pointers","changedPointersLen","changedPointers","INPUT_START","isFinal","INPUT_END","INPUT_CANCEL","session","computeInputData","recognize","prevInput","pointersLength","firstInput","simpleCloneInputData","firstMultiple","offsetCenter","getCenter","timeStamp","deltaTime","angle","getAngle","getDistance","computeDeltaXY","offsetDirection","getDirection","deltaX","deltaY","rotation","getRotation","computeIntervalInputData","offsetDelta","prevDelta","velocity","velocityX","velocityY","last","lastInterval","COMPUTE_INTERVAL","getVelocity","DIRECTION_NONE","DIRECTION_LEFT","DIRECTION_RIGHT","DIRECTION_UP","DIRECTION_DOWN","PROPS_XY","atan2","PROPS_CLIENT_XY","evEl","MOUSE_ELEMENT_EVENTS","evWin","MOUSE_WINDOW_EVENTS","allow","pressed","POINTER_ELEMENT_EVENTS","POINTER_WINDOW_EVENTS","store","pointerEvents","SingleTouchInput","evTarget","SINGLE_TOUCH_TARGET_EVENTS","SINGLE_TOUCH_WINDOW_EVENTS","started","normalizeSingleTouches","all","touches","changed","changedTouches","TOUCH_TARGET_EVENTS","targetIds","getTouches","allTouches","INPUT_MOVE","identifier","changedTargetTouches","touch","mouse","TouchAction","cleanTouchActions","actions","TOUCH_ACTION_NONE","hasPanX","TOUCH_ACTION_PAN_X","hasPanY","TOUCH_ACTION_PAN_Y","TOUCH_ACTION_MANIPULATION","TOUCH_ACTION_AUTO","Recognizer","state","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","touchAction","toggleCssProps","recognizeWith","requireFailure","cssProps","triggerDomEvent","gestureEvent","createEvent","initEvent","gesture","dispatchEvent","TEST_ELEMENT","MOBILE_REGEX","INPUT_TYPE_TOUCH","INPUT_TYPE_PEN","INPUT_TYPE_MOUSE","INPUT_TYPE_KINECT","DIRECTION_HORIZONTAL","DIRECTION_VERTICAL","DIRECTION_ALL","MOUSE_INPUT_MAP","mousedown","mousemove","mouseup","POINTER_INPUT_MAP","pointerdown","pointermove","pointerup","pointercancel","pointerout","IE10_POINTER_TYPE_ENUM",2,3,4,5,"MSPointerEvent","removePointer","eventTypeNormalized","isTouch","storeIndex","pointerId","SINGLE_TOUCH_INPUT_MAP","touchstart","touchmove","touchend","touchcancel","TOUCH_INPUT_MAP","inputEvent","inputData","isMouse","PREFIXED_TOUCH_ACTION","NATIVE_TOUCH_ACTION","TOUCH_ACTION_COMPUTE","compute","getTouchAction","preventDefaults","prevented","hasNone","preventSrc","STATE_RECOGNIZED","STATE_FAILED","dropRecognizeWith","dropRequireFailure","hasRequireFailures","canRecognizeWith","withState","tryEmit","canEmit","inputDataClone","process","reset","attrTest","optionPointers","isRecognized","directionTest","hasMoved","inOut","validPointers","validMovement","validTime","taps","posThreshold","validTouchTime","failTimeout","validInterval","validMultiTap","tapCount","VERSION","domEvents","userSelect","touchSelect","touchCallout","contentZooming","userDrag","tapHighlightColor","STOP","FORCED_STOP","force","curRecognizer","existing","Tap","Pan","Swipe","Pinch","Rotate","Press","__webpack_amd_options__","deltaDifference","scaleOffset","startToFront","endToFront","moveable","zoomable","zoomMin","zoomMax","animationTimer","_onDragStart","_onDrag","_onDragEnd","_onMouseWheel","_onTouch","_onPinch","validateDirection","getPointer","byUser","finalStart","finalEnd","_cancelAnimation","initStart","initEnd","easingName","easingFunction","initTime","anyChanged","dragging","ease","done","_applyRange","updateHiddenDates","newStart","newEnd","getRange","conversion","totalHidden","previousDelta","_isInsideRange","allowDragging","getHiddenDurationBetween","diffRange","safeStart","snapAwayFromHidden","safeEnd","zoomKey","pointer","pointerDate","_pointerToDate","zoom","centerDate","hiddenDuration","hiddenDurationBefore","getHiddenDurationBefore","hiddenDurationAfter","move","onTouch","isTouching","onRelease","isReleasing","offTouch","offRelease","_isResized","resized","_previousWidth","_previousHeight","convertHiddenOptions","repeat","dateItem","totalRange","pixelTime","startDate","endDate","runUntil","dayOffset","removeDuplicates","startHidden","isHidden","endHidden","rangeStart","rangeEnd","hidden","safeDates","printDates","stepOverHiddenDates","timeStep","previousTime","stepInHidden","currentValue","current","switchedYear","switchedMonth","switchedDay","correctTimeForHidden","totalDuration","partialDuration","accumulatedHiddenDuration","getAccumulatedHiddenDuration","newTime","timeOffset","requiredDuration","previousPoint","correctionEnabled","hammerUtil","Activator","onMouseWheel","isActive","backgroundVertical","backgroundHorizontal","leftContainer","rightContainer","shadowTop","shadowBottom","shadowTopLeft","shadowBottomLeft","shadowTopRight","shadowBottomRight","_redrawTimer","scrollTop","scrollTopMin","customTimes","redrawCount","drawPoints","onRender","clickToUse","activator","_initAutoResize","component","configurator","configure","appliedOptions","setModuleOptions","_origRedraw","active","_stopAutoResize","setCustomTime","getCustomTime","setCustomTimeTitle","title","setCustomTitle","addCustomTime","timestamp","some","removeCustomTime","getVisibleItems","getWindow","borderRootHeight","borderRootWidth","autoHeight","containerHeight","centerWidth","_updateScrollTop","visibilityTop","visibilityBottom","visibility","MAX_REDRAWS","repaint","setCurrentTime","getCurrentTime","_startAutoResize","_onResize","lastWidth","lastHeight","watchTimer","setInterval","initialScrollTop","oldScrollTop","_getScrollTop","newScrollTop","_setScrollTop","align","groupOrderSwap","fromGroup","toGroup","targetOrder","groupOrder","selectable","multiselect","itemsAlwaysDraggable","editable","updateTime","updateGroup","groupEditable","onAdd","onUpdate","onMove","onRemove","onMoving","onAddGroup","onMoveGroup","onRemoveGroup","itemOptions","itemListeners","_onAdd","_onUpdate","_onRemove","groupListeners","_onAddGroups","_onUpdateGroups","_onRemoveGroups","groupIds","stackDirty","touchParams","groupTouchParams","UNGROUPED","BACKGROUND","box","_updateUngrouped","backgroundGroup","_onSelectItem","_onMultiSelectItem","_onAddItem","groupHammer","_onGroupDragStart","_onGroupDrag","_onGroupDragEnd","addCallback","dirty","displayed","hide","unselect","select","rawVisibleItems","visibleItems","_deselect","_orderGroups","visibleInterval","zoomed","lastVisibleInterval","restack","firstGroup","_firstGroup","firstMargin","nonFirstMargin","groupMargin","groupResized","firstGroupIndex","firstGroupId","ungrouped","_getGroupId","getLabelSet","oldItemsData","getItems","_order","getGroups","removeItem","_getType","selected","_removeItem","groupData","groupOptions","oldGroupId","oldSubGroupId","subgroup","oldGroup","_constructByEndArray","endArray","dragLeftItem","dragRightItem","itemProps","_getGroupIndex","initialX","dragLeft","_cloneItemData","dragRight","selectedItem","baseGroupIndex","itemsToDrag","groupIndex","groupOffset","ctrlKey","metaKey","_onDragStartAddItem","xAbs","newItem","offsetLeft","updateGroupAllowed","newGroupBase","initial","updateTimeAllowed","initialStart","initialEnd","newOffset","_moveToGroup","originalOrder","movingUp","targetGroupTop","draggedGroupHeight","targetGroupHeight","targetGroup","draggedGroup","newOrder","origOrder","draggedId","numGroups","curPos","orgOffset","slippedPosition","switchGroup","shouldBeGroup","switchGroupId","shiftKey","oldSelection","newSelection","newItemData","itemGroup","lastSelectedGroup","multiselectPerGroup","_getItemRange","_item","itemSetFromTarget","minimumStep","autoScale","FORMAT","minorLabels","majorLabels","setMoment","setFormat","setMinimumStep","roundToMinor","hasNext","setScale","setAutoScale","stepYear","stepMonth","stepDay","stepHour","stepMinute","stepSecond","stepMillisecond","isMajor","getLabelMinor","getLabelMajor","getClassName","even","today","currentWeek","currentMonth","currentYear","subgroups","subgroupIndex","subgroupOrderer","subgroupOrder","byStart","byEnd","checkRangedItems","inner","marker","Element","getLabelWidth","markerHeight","lastMarkerHeight","_calculateSubGroupHeights","limitSize","repositionX","customOrderedItems","_updateVisibleItems","nostack","_calculateHeight","offsetTop","repositionY","resetSubgroups","setParent","orderSubgroups","_checkIfVisible","sortArray","sortField","itemIndex","removeFromDataSet","startArray","orderByStart","orderByEnd","oldVisibleItems","visibleItemsLookup","lowerBound","upperBound","_checkIfVisibleWithReference","initialPosByStart","_traceVisible","initialPosByEnd","initialPos","breakCondition","isVisible","EPSILON","aTime","bTime","iMax","collidingItem","jj","collision","newTop","baseClassName","_updateContents","_updateTitle","_updateDataAttributes","_updateStyle","getComputedStyle","maxWidth","_repaintDeleteButton","_repaintDragLeft","_repaintDragRight","contentLeft","parentWidth","boxWidth","groupChanged","deleteButton","template","_contentToString","removeAttribute","dataAttributes","attributes","setAttribute","outerHTML","itemSetHeight","marginLeft","onTop","itemSubgroup","totalHeight","newHeight","lines","majorTexts","minorTexts","lineTop","showMinorLabels","showMajorLabels","maxMinorChars","parentChanged","_calculateCharSize","minorLabelHeight","minorCharHeight","majorLabelHeight","majorCharHeight","minorLineHeight","minorLineWidth","majorLineHeight","majorLineWidth","foregroundNextSibling","nextSibling","backgroundNextSibling","_repaintLabels","timeLabelsize","minorCharWidth","xNext","nextIsMajor","prevWidth","labelMinor","xFirstMajorLabel","MAX","showMinorGrid","_repaintMinorText","_repaintMajorText","_repaintMajorLine","_repaintMinorLine","warnedForOverflow","leftTime","leftText","widthText","majorCharWidth","pop","createTextNode","childNodes","nodeValue","measureCharMinor","measureCharMajor","overlay","_onTapOverlay","onClick","_hasParent","deactivate","escListener","activate","display","unbind","_exportFunctions","_bound","keydown","keyup","_keys","fromCharCode","down","handleEvent","up","keyCode","bound","bindAll","getKey","newBindings","eventParams","drag","warned","substring","showCurrentTime","currentTimeTimer","_interopRequireDefault","__esModule","default","_classCallCheck","instance","Constructor","defineProperty","_createClass","defineProperties","descriptor","enumerable","configurable","writable","protoProps","staticProps","_ColorPicker","_ColorPicker2","parentModule","defaultContainer","pixelRatio","changedOptions","allowCreation","initialized","popupCounter","showButton","moduleOptions","domElements","popupDiv","popupLimit","popupHistory","colorPicker","_removePopup","_clean","_handleObject","_makeItem","_makeHeader","generateButton","_printOptions","onmouseover","onmouseout","optionsContainer","_push","insertTo","_showPopupIfNeeded","path","_arguments","_this2","_len","_key","_ret2","div","objectLabel","selectedValue","_update","_makeLabel","err","popupString","popupValue","oninput","_setupPopup","_this3","html","hideTimeout","deleteTimeout","_this4","correspondingElement","checkbox","checked","_this5","defaultColor","_showColorPicker","_this6","bodyRect","pickerX","pickerY","setColor","setCallback","colorString","checkOnly","visibleInSet","subObj","newPath","_getValue","_handleArray","_makeTextInput","_makeCheckbox","draw","physics","solver","enabledPath","enabledValue","error","_makeColorField","_makeDropdown","_makeRange","_constructOptions","optionsObj","getOptions","ColorPicker","generated","centerCoordinates","hueCircle","initialColor","previousColor","applied","updateCallback","_bindHammer","_setSize","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","rgbObj","alpha","_setColor","_generateHueCircle","storePrevious","_hide","_updatePicker","alert","angleConvert","colorPickerSelector","colorPickerCanvas","pixelRation","devicePixelRatio","webkitBackingStorePixelRatio","mozBackingStorePixelRatio","msBackingStorePixelRatio","oBackingStorePixelRatio","backingStorePixelRatio","setTransform","putImageData","circle","brightnessRange","opacityRange","initialColorDiv","newColorDiv","colorPickerDiv","opacityDiv","brightnessDiv","arrowDiv","_setOpacity","_setBrightness","brightnessLabel","opacityLabel","cancelButton","applyButton","_apply","saveButton","_save","loadButton","_loadLast","pinch","_moveSelector","sat","hfac","sfac","fillRect","getImageData","centerY","centerX","newLeft","referenceOptions","subObject","usedOptions","check","__any__","getSuggestion","__type__","checkFields","referenceOption","refOptionObj","optionType","refOptionType","print","printLocation","localSearch","findInOptions","globalSearch","localSearchThreshold","globalSearchThreshold","indexMatch","closestMatch","recursive","closestMatchPath","lowerCaseOption","op","levenshteinDistance","matrix","boolean","any","function","null","groupsDraggable","linegraph","getLegend","isGroupVisible","yAxisLeft","yAxisRight","legendLeft","legendRight","screenToValue","yAxisOrientation","defaultGroup","sampling","graphHeight","shaded","barChart","sideBySide","interpolation","parametrization","dataAxis","icons","alignZeros","legend","abortedGraphUpdate","updateSVGheight","updateSVGheightOnResize","lastStart","svgElements","groupsUsingDefaultStyles","COUNTER","svg","framework","Bars","Lines","Points","_removeGroup","_updateAllGroupData","removeGroup","_updateGroup","addGroup","groupsContent","groupCounts","extended","orginalY","forceGraphUpdate","_updateGraph","rangePerPixelInv","_getSortedGroupIds","grouplist","zIndex","bz","groupRanges","changeCalled","minDate","maxDate","_getRelevantData","_applySampling","_convertXcoordinates","_getYRanges","_updateYAxis","MAX_CYCLES","below","excludeFromStacking","_stack","_convertYcoordinates","calcPath","subGroupId","drawShading","subData","subPrevPoint","subNextPoint","first","dataContainer","increment","amountOfPoints","xDistance","pointsPerPixel","sampledData","idx","combinedDataLeft","combinedDataRight","getYRange","getStackedYRange","minVal","maxVal","yAxisLeftUsed","yAxisRightUsed","minLeft","minRight","maxLeft","maxRight","ignore","_toggleAxisVisiblity","drawIcons","master","lineOffset","stepPixels","zeroCrossing","amountOfSteps","tempGroups","axisUsed","datapoints","screen_x","screen_y","svgHeight","convertValue","setZeroPosition","linegraphOptions","majorLinesOffset","minorLinesOffset","labelOffsetX","labelOffsetY","iconWidth","linegraphSVG","DOMelements","labels","conversionFactor","minWidth","iconsRemoved","amountOfGroups","lineContainer","graphOptions","_redrawGroupIcons","iconHeight","iconOffset","groupArray","_cleanupIcons","activeGroups","_redrawLabels","_redrawTitle","stepSize","marginRange","valueAtBottom","marginEnd","maxLabelSize","stepIndex","_redrawLabel","_redrawLine","titleWidth","titleCharHeight","invertedValue","convertedValue","characterHeight","largestWidth","textMinor","textMajor","textTitle","measureCharTitle","titleCharWidth","customRange","formattingFunction","marginStart","deadSpace","majorSteps","minorSteps","setFirst","safeRange","minimumStepValue","orderOfMagnitude","minorStepIdx","magnitudefactor","solutionFound","niceStart","niceEnd","rounded","previous","steps","usingDefaultStyle","zeroPosition","drawIcon","icon","Bargraph","fillHeight","outline","barWidth","originalWidth","bar1Height","bar2Height","processedGroupData","coreDistance","drawData","combinedData","intersections","barPoints","_getDataIntersections","heightOffset","_getSafeDrawData","nextKey","amount","resolved","prevKey","accumulatedNegative","accumulatedPositive","pointData","groupLabel","_getStackedYRange","xpos","getGroupTemplate","callbackResult","getCallback","Line","_catmullRom","_linear","fillPath","pathArray","subPathArray","dFill","zero","serializePath","inverse","_catmullRomUniform","p0","bp1","bp2","normalization","d1","d2","d3","A","N","d3powA","d2powA","d3pow2A","d2pow2A","d1pow2A","d1powA","side","iconSize","iconSpacing","excludeFromLegend","textArea","scrollableHeight","drawLegendIcons","paddingTop","nodes","nodeIndices","edges","edgeIndices","eventListeners","onTap","onDoubleTap","onHold","onDragStart","onDrag","onDragEnd","onPinch","onMouseMove","onContext","functions","createNode","createEdge","view","bindEventListeners","images","_modulesGroups2","_modulesCanvas2","selectionHandler","_modulesSelectionHandler2","interactionHandler","_modulesInteractionHandler2","_modulesView2","renderer","_modulesCanvasRenderer2","_modulesPhysicsEngine2","layoutEngine","_modulesLayoutEngine2","clustering","_modulesClustering2","manipulation","_modulesManipulationSystem2","nodesHandler","_modulesNodesHandler2","edgesHandler","_modulesEdgesHandler2","_modulesKamadaKawaiJs2","_modulesGroups","_modulesNodesHandler","_modulesEdgesHandler","_modulesPhysicsEngine","_modulesClustering","_modulesCanvasRenderer","_modulesCanvas","_modulesView","_modulesInteractionHandler","_modulesSelectionHandler","_modulesLayoutEngine","_modulesManipulationSystem","_sharedConfigurator","_sharedConfigurator2","_sharedValidator","_sharedValidator2","_optionsJs","_modulesKamadaKawaiJs","layout","interaction","networkOptions","_updateVisibleIndices","nodeId","edgeId","_updateValueRange","unselectAll","dotData","gephi","gephiData","valueTotal","setValueRange","canvasToDOM","DOMtoCanvas","findNode","isCluster","openCluster","cluster","getNodesInCluster","clusterByConnection","clusterByHubsize","clusterOutliers","getSeed","enableEditMode","disableEditMode","addNodeMode","editNode","editNodeMode","addEdgeMode","editEdgeMode","deleteSelected","getPositions","storePositions","moveNode","getBoundingBox","getConnectedNodes","objectId","getConnectedEdges","startSimulation","stopSimulation","stabilize","getSelectedNodes","getSelectedEdges","getNodeAt","getEdgeAt","edge","selectNodes","selectEdges","getViewPosition","releaseNode","getOptionsFromConfigurator","Groups","defaultIndex","groupsArray","defaultGroups","useDefaultGroups","optionFields","groupName","groupname","_componentsNode","_componentsNode2","_componentsSharedLabel","_componentsSharedLabel2","NodesHandler","nodesListeners","borderWidthSelected","brokenImage","fixed","face","strokeColor","image","labelHighlightBold","level","mass","scaling","maxVisible","drawThreshold","customScalingFunction","shadow","shape","shapeProperties","borderDashes","useImageSize","useBorderWithImage","parseOptions","updateShape","updateLabelModule","_reset","doNotEmit","oldNodesData","newNodes","positionInitially","changedData","dataChanged","constructorClass","clearPositions","dataArray","boundingBox","nodeList","nodeObj","toId","fromId","edgeList","_sharedLabel","_sharedLabel2","_nodesShapesBox","_nodesShapesBox2","_nodesShapesCircle","_nodesShapesCircle2","_nodesShapesCircularImage","_nodesShapesCircularImage2","_nodesShapesDatabase","_nodesShapesDatabase2","_nodesShapesDiamond","_nodesShapesDiamond2","_nodesShapesDot","_nodesShapesDot2","_nodesShapesEllipse","_nodesShapesEllipse2","_nodesShapesIcon","_nodesShapesIcon2","_nodesShapesImage","_nodesShapesImage2","_nodesShapesSquare","_nodesShapesSquare2","_nodesShapesStar","_nodesShapesStar2","_nodesShapesText","_nodesShapesText2","_nodesShapesTriangle","_nodesShapesTriangle2","_nodesShapesTriangleDown","_nodesShapesTriangleDown2","Node","imagelist","baseSize","baseFontSize","predefinedPosition","labelModule","currentShape","groupObj","imageObj","load","distanceToBorder","sizeDiff","fontDiff","updateBoundingBox","resize","parentOptions","newOptions","parsedColor","_slicedToArray","sliceIterator","_arr","_n","_e","_s","Symbol","Label","pointToSelf","fontOptions","yLine","nodeOptions","labelDirty","baseline","viewFontSize","calculateLabelSize","_drawBackground","_drawText","lineMargin","fontSize","_getColor2","_getColor","_getColor22","fontColor","_setAlignment2","_setAlignment","_setAlignment22","lineCount","strokeText","_processLabel","measureText","newOptionsArray","_inherits","subClass","superClass","setPrototypeOf","__proto__","_get","_x","_x2","_x3","_again","receiver","desc","getOwnPropertyDescriptor","getPrototypeOf","_utilNodeBase","_utilNodeBase2","Box","_NodeBase","textSize","getTextSize","selectionLineWidth","roundRect","enableShadow","disableShadow","save","enableBorderDashes","disableBorderDashes","restore","NodeBase","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY","setLineDash","dashes","_utilCircleImageBase","_utilCircleImageBase2","Circle","_CircleImageBase","diameter","_drawRawCircle","CircleImageBase","labelOffset","imageLoaded","ratio","networkScaleInv","globalAlpha","drawImage","labelDimensions","CircularImage","_swapToImageResizeWhenImageLoaded","_resizeImage","clip","_drawImageAtPosition","_drawImageLabel","_distanceToBorder","Database","database","_utilShapeBase","_utilShapeBase2","Diamond","_ShapeBase","_resizeShape","_drawShape","ShapeBase","sizeMultiplier","Dot","Ellipse","ellipse","Icon","_icon","iconTextSpacing","Image","Square","Star","Text","Triangle","TriangleDown","_componentsEdge","_componentsEdge2","EdgesHandler","edgesListeners","arrows","scaleFactor","hoverWidth","selectionWidth","selfReferenceSize","smooth","forceDirection","roundness","emitChange","edgeData","edgeOptions","reconnectEdges","markAllEdgesAsDirty","updateEdgeType","oldEdgesData","edgesData","oldEdge","disconnect","showInternalIds","connect","cleanup","edgeType","colorDirty","_edgesCubicBezierEdge","_edgesCubicBezierEdge2","_edgesBezierEdgeDynamic","_edgesBezierEdgeDynamic2","_edgesBezierEdgeStatic","_edgesBezierEdgeStatic2","_edgesStraightEdge","_edgesStraightEdge2","Edge","baseWidth","connected","_setInteractionWidths","changeInType","attachEdge","detachEdge","widthDiff","via","drawLine","drawArrows","drawLabel","viaNode","drawArrowHead","node1","node2","getPoint","translate","_rotateForLabelAlignment","_pointOnCircle","xFrom","yFrom","xTo","yTo","xObj","yObj","getDistanceToEdge","angleInDegrees","rotate","percentage","colorsDefined","_x4","_x5","_utilCubicBezierEdgeBase","_utilCubicBezierEdgeBase2","CubicBezierEdge","_CubicBezierEdgeBase","_getViaCoordinates2","_getViaCoordinates","_getViaCoordinates22","via1","via2","bezierCurveTo","x1","y1","x2","y2","nearNode","_findBorderPositionBezier","x3","y3","_ref","_ref2","_getDistanceToBezierEdge","_ref3","_ref32","vec","_BezierEdgeBase2","_BezierEdgeBase3","CubicBezierEdgeBase","_BezierEdgeBase","minDistance","lastX","lastY","_getDistanceToLine","_EdgeBase2","_EdgeBase3","BezierEdgeBase","_EdgeBase","distanceToPoint","difference","EdgeBase","getColor","getLineWidth","_drawDashedLine","_drawLine","_line","_getCircleData2","_getCircleData","_getCircleData22","_circle","pattern","lineDashOffset","_getCircleData3","_getCircleData32","dashedLine","_getCircleData4","_getCircleData42","_findBorderPosition","_findBorderPositionCircle","_getCircleData5","_getCircleData52","colorOptions","grd","createLinearGradient","fromColor","toColor","addColorStop","_getDistanceToEdge","_getCircleData6","_getCircleData62","px","py","something","u","arrowPos","guideOffset","findBorderPosition","guidePos","arrow","_angle","_getCircleData7","_getCircleData72","_length","_utilBezierEdgeBase","_utilBezierEdgeBase2","BezierEdgeDynamic","_boundFunction","positionBezierNode","physicsChange","setupSupportNode","parentEdgeId","quadraticCurveTo","_x6","BezierEdgeStatic","xVia","yVia","pi","originalAngle","myAngle","_utilEdgeBase","_utilEdgeBase2","StraightEdge","edgeSegmentLength","toBorderDist","toBorderPoint","borderPos","_componentsPhysicsBarnesHutSolver","_componentsPhysicsBarnesHutSolver2","_componentsPhysicsRepulsionSolver","_componentsPhysicsRepulsionSolver2","_componentsPhysicsHierarchicalRepulsionSolver","_componentsPhysicsHierarchicalRepulsionSolver2","_componentsPhysicsSpringSolver","_componentsPhysicsSpringSolver2","_componentsPhysicsHierarchicalSpringSolver","_componentsPhysicsHierarchicalSpringSolver2","_componentsPhysicsCentralGravitySolver","_componentsPhysicsCentralGravitySolver2","_componentsPhysicsFA2BasedRepulsionSolver","_componentsPhysicsFA2BasedRepulsionSolver2","_componentsPhysicsFA2BasedCentralGravitySolver","_componentsPhysicsFA2BasedCentralGravitySolver2","PhysicsEngine","physicsBody","physicsNodeIndices","physicsEdgeIndices","forces","velocities","physicsEnabled","simulationInterval","requiresTimeout","previousStates","referenceState","freezeCache","renderTimer","adaptiveTimestep","adaptiveTimestepEnabled","adaptiveCounter","adaptiveInterval","stabilized","startedStabilization","stabilizationIterations","ready","barnesHut","theta","gravitationalConstant","centralGravity","springLength","springConstant","damping","avoidOverlap","forceAtlas2Based","repulsion","nodeDistance","hierarchicalRepulsion","maxVelocity","minVelocity","stabilization","iterations","updateInterval","onlyDynamicEdges","timestep","layoutFailed","initPhysics","updatePhysicsData","nodesSolver","edgesSolver","gravitySolver","modelOptions","viewFunction","simulationStep","_emitStabilized","startTime","physicsTick","physicsTime","runDoubleSpeed","amountOfIterations","calculateForces","moveNodes","revert","_evaluateStepQuality","nodeIds","positions","vx","vy","dpos","reference","maxNodeVelocity","averageNodeVelocity","velocityAdaptiveThreshold","nodeVelocity","_performStep","totalVelocity","solve","targetIterations","_freezeNodes","_stabilizationBatch","_finalizeStabilization","_restoreFrozenNodes","colorFactor","forceSize","arrowSize","BarnesHutSolver","barnesHutTree","randomSeed","thetaInversed","overlapAvoidanceFactor","nodeCount","_formBarnesHutTree","_getForceContribution","NW","NE","SW","SE","parentBranch","childrenCount","centerOfMass","calcSize","_calculateForces","gravityForce","fx","fy","minX","minY","maxX","maxY","minimumTreeSize","rootSize","halfRootSize","_splitBranch","_placeInTree","totalMass","totalMassInv","biggestSize","skipMassUpdate","_updateBranchMass","_placeInRegion","region","seededRandom","containedNode","_insertRegion","childSize","_drawBranch","branch","RepulsionSolver","repulsingForce","HierarchicalRepulsionSolver","steepness","SpringSolver","edgeLength","node3","_calculateSpringForce","springForce","HierarchicalSpringSolver","springFx","springFy","totalFx","totalFy","correctionFx","correctionFy","CentralGravitySolver","_BarnesHutSolver2","_BarnesHutSolver3","ForceAtlas2BasedRepulsionSolver","_BarnesHutSolver","degree","_CentralGravitySolver2","_CentralGravitySolver3","ForceAtlas2BasedCentralGravitySolver","_CentralGravitySolver","_NetworkUtil","_NetworkUtil2","_componentsNodesCluster","_componentsNodesCluster2","ClusterEngine","clusteredNodes","hubsize","_getHubSize","_checkOptions","nodesToCluster","refreshData","joinCondition","childNodesObj","childEdgesObj","clonedOptions","_cloneOptions","hiddenByCluster","_cluster","edgeCount","clusters","usedNodes","relevantEdgeCount","gatheringSuccessful","childNodeId","_getConnectedId","clusterByEdgeCount","clusterNodeProperties","parentNodeId","parentClonedOptions","childClonedOptions","clusterEdgeProperties","childNode","otherNodeId","childKeys","createEdges","_edge","newEdge","clusteringEdgeReplacingId","processProperties","childNodesOptions","childEdgesOptions","clusterId","_getClusterPosition","clusterNode","containedNodes","containedEdges","_createClusterEdges","clusterNodeId","releaseFunction","clusterPosition","newPositions","edgesToBeDeleted","otherCluster","transferEdge","replacedEdge","nodesArray","average","averageSquared","hubCounter","largestHub","variance","standardDeviation","hubThreshold","NetworkUtil","allNodes","specificNodes","amountOfConnections","_Node2","_Node3","Cluster","_Node","requestAnimationFrame","mozRequestAnimationFrame","webkitRequestAnimationFrame","msRequestAnimationFrame","CanvasRenderer","redrawRequested","renderingActive","renderRequests","allowRedraw","hideEdgesOnDrag","hideNodesOnDrag","_determineBrowserMethod","_resizeNodes","_requestRedraw","_startRendering","cancelAnimationFrame","_renderStep","_drawEdges","_drawNodes","controlNodesActive","_drawControlNodes","alwaysShow","topLeft","bottomRight","viewableArea","isSelected","isBoundingBoxOverlappingWith","browserType","Canvas","resizeTimer","resizeFunction","cameraState","hammerFrame","_cleanUp","previousWidth","previousHeight","currentViewCenter","distanceFromCenter","tabIndex","_prepareValue","emitEvent","oldWidth","oldHeight","previousRation","_getCameraState","_setCameraState","_XconvertCanvasToDOM","_YconvertCanvasToDOM","_XconvertDOMtoCanvas","_YconvertDOMtoCanvas","View","animationSpeed","renderRefreshRate","animationEasingFunction","easingTime","sourceScale","targetScale","sourceTranslation","targetTranslation","lockedOnNodeId","lockedOnNodeOffset","touchTime","initialZoom","zoomLevel","positionDefined","_getRange","numberOfNodes","yDistance","xZoomLevel","yZoomLevel","_findCenter","animationOptions","nodePosition","lockedOnNode","animateView","locked","_transitionRedraw","viewCenter","_lockedRedraw","finished","_componentsNavigationHandler","_componentsNavigationHandler2","_componentsPopup","_componentsPopup2","InteractionHandler","navigationHandler","popup","popupObj","popupTimer","dragNodes","dragView","keyboard","speed","bindToWindow","navigationButtons","tooltipDelay","zoomView","pinched","checkSelectionChanges","_generateClickEvent","previouslySelectedEdgeCount","_getSelectedEdgeCount","previouslySelectedNodeCount","_getSelectedNodeCount","previousSelection","selectAdditionalOnPoint","selectOnPoint","selectedEdgesCount","selectedNodesCount","currentSelection","_determineIfDifferent2","_determineIfDifferent","nodesChanges","edgesChanges","nodeSelected","selectObject","selectionObj","xFixed","yFixed","scaleOld","preScaleDragPointer","scaleFrac","tx","ty","postScaleDragPointer","popupVisible","_checkHidePopup","setPosition","_checkShowPopup","hoverObject","pointerObj","previousPopupObjId","nodeUnderCursor","popupType","overlappingNodes","isOverlappingWith","getTitle","overlappingEdges","popupTargetType","popupTargetId","setText","_pointerToPositionObject","stillOnObj","overNode","NavigationHandler","iconsCreated","navigationHammers","boundFunctions","activated","configureKeyboardBindings","loadNavigationElements","cleanNavigation","navigationDOM","navigationDivs","navigationDivActions","_fit","bindToRedraw","_stopMovement","boundAction","unbindFromRedraw","Popup","doShow","SelectionHandler","hoverObj","selectConnectedEdges","hoverConnectedEdges","updateSelection","selectionChanged","deselectObject","emptySelection","DOM","highlightEdges","_selectConnectedEdges","_addToSelection","_removeFromSelection","canvasPos","returnNode","positionObject","_getAllNodesOverlappingWith","_getEdgesOverlappingWith","returnEdge","_getAllEdgesOverlappingWith","_unselectConnectedEdges","clusterSize","_addToHover","hoverChanged","blurObject","_hoverConnectedEdges","edgeIds","idArray","RangeError","LayoutEngine","initialRandomSeed","optionsBackup","improvedLayout","hierarchical","levelSeparation","sortMethod","lastNodeOnLevel","hierarchicalParents","hierarchicalChildren","setupHierarchicalLayout","layoutNetwork","prevHierarchicalState","adaptAllOptionsForHierarchicalLayout","MAX_LEVELS","clusterThreshold","startLength","before","clusterBridges","after","_declusterAll","info","kamadaKawai","_shiftToCenter","_getRangeCore","clustersPresent","definedLevel","undefinedLevel","hierarchicalLevels","nodeSpacing","_determineLevelsByHubsize","_determineLevelsDirected","_determineLevelsCustomCallback","distribution","_getDistribution","_generateMap","_placeNodesByHierarchy","_condenseHierarchy","positionedNodes","nodeArray","_indexArrayToNodes","_sortNodeArray","_setPositionForHierarchy","_placeBranchNodes","hubSize","levelDownstream","nodeA","nodeB","_crawlNetwork","minLevel","customCallback","levelByDirection","levelA","_setMinLevelToZero","fillInRelations","parents","startingNodeId","crawler","parentId","parentLevel","childNodeLevel","_getPositionForHierarchy","previousPos","sharedParent","_findCommonParent","_shiftBlock","withChild","minPos","maxPos","childA","childB","iterateParents","_parent","findParent","_parent2","foundParent","ManipulationSystem","editMode","manipulationDiv","editModeDiv","closeDiv","manipulationHammers","temporaryUIFunctions","temporaryEventFunctions","temporaryIds","guiEnabled","inMode","selectedControlNode","initiallyActive","addNode","addEdge","editEdge","deleteNode","deleteEdge","controlNodeStyle","_restore","_setup","showManipulatorToolbar","_createEditButton","manipulationDOM","selectedNodeCount","selectedEdgeCount","selectedTotalCount","needSeperator","_createAddNodeButton","_createSeperator","_createAddEdgeButton","_createEditNodeButton","_createEditEdgeButton","_createDeleteButton","_bindHammerToDiv","toggleEditMode","_temporaryBindEvent","_createBackButton","_createDescription","_performAddNode","_getSelectedNode","finalizedData","_temporaryBindUI","_handleConnect","_finishConnect","_dragControlNode","edgeBeingEditedId","controlNodeFrom","_getNewTargetNode","controlNodeTo","_controlNodeTouch","_controlNodeDragStart","_controlNodeDrag","_controlNodeDragEnd","findBorderPositions","selectedNodes","selectedEdges","deleteFunction","_createWrappers","_removeManipulationDOM","_createButton","_cleanManipulatorHammers","_cleanupTemporaryNodesAndEdges","_unbindTemporaryUIs","_unbindTemporaryEvents","labelClassName","newFunction","boundFunction","UIfunctionName","functionName","eventName","domElement","indexTempEdge","indexTempNode","lastTouch","fromSelect","toSelect","overlappingNodeIds","_performEditEdge","targetNode","connectionEdge","connectFromId","_performAddEdge","clickData","defaultData","sourceNodeId","targetNodeId","_this7","_componentsAlgorithmsFloydWarshallJs","_componentsAlgorithmsFloydWarshallJs2","KamadaKawai","edgeStrength","distanceSolver","edgesArray","ignoreClusters","D_matrix","getDistances","_createL_matrix","_createK_matrix","innerThreshold","maxInnerIterations","maxEnergy","highE_nodeId","dE_dx","dE_dy","delta_m","subIterations","_getHighestEnergyNode2","_getHighestEnergyNode","_getHighestEnergyNode22","_moveNode","_getEnergy2","_getEnergy","_getEnergy22","maxEnergyNodeId","dE_dx_max","dE_dy_max","nodeIdx","_getEnergy3","_getEnergy32","x_m","y_m","iIdx","x_i","y_i","denominator","K_matrix","L_matrix","d2E_dx2","d2E_dxdy","d2E_dy2","FloydWarshall","CanvasRenderingContext2D","square","s2","ir","triangleDown","star","diamond","r2d","kappa","ox","oy","xe","ye","xm","ym","wEllipse","hEllipse","ymb","yeb","xt","yt","xi","yi","xl","yl","xr","yr","patternLength","slope","distRemaining","patternIndex","dashLength","parseDOT","parseGraph","nextPreview","isAlphaNumeric","regexAlphaNumeric","setValue","graphs","attr","getToken","tokenType","TOKENTYPE","NULL","isComment","DELIMITER","c2","DELIMITERS","IDENTIFIER","newSyntaxError","UNKNOWN","chop","parseStatements","parseStatement","subgraph","parseSubgraph","parseEdge","parseAttributeStatement","parseNodeStatement","subgraphs","parseAttributeList","message","maxLength","forEach2","elem1","elem2","setProp","convertAttr","mapping","visProp","visPropI","graphData","dotNode","graphNode","NODE_ATTR_MAPPING","convertEdge","dotEdge","graphEdge","EDGE_ATTR_MAPPING","subEdge","fontsize","fontcolor","labelfontcolor","fontname","fillcolor","labeltooltip","{","}","[","]",";","=",",","->","--","gephiJSON","inheritColor","gEdges","gNodes","gEdge","gNode","imageBroken","url","imageToCache","brokenUrl","imageToLoadBrokenUrlOn","onerror","_addImageToCache","imageToRedrawWith","cachedImage","img","onload","_redrawWithImage","_tryloadBrokenUrl","edit","del","back","addDescription","edgeDescription","editEdgeDescription","createEdgeError","deleteClusterError","editClusterError"],"mappings":"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,aAC3IC,OAAQ,UAAWD,WAAY,UAAWE,WAAaD,OAAQ,UAAWD,WAAY,WAAaG,OAASF,OAAQ,UAAWD,WAAY,aAC3IC,OAAQ,UAAWD,WAAY,UAAWE,WAAaD,OAAQ,UAAWD,WAAY,WAAaG,OAASF,OAAQ,UAAWD,WAAY,aAC3IC,OAAQ,UAAWD,WAAY,UAAWE,WAAaD,OAAQ,UAAWD,WAAY,WAAaG,OAASF,OAAQ,UAAWD,WAAY,aAC3IC,OAAQ,UAAWD,WAAY,UAAWE,WAAaD,OAAQ,UAAWD,WAAY,WAAaG,OAASF,OAAQ,UAAWD,WAAY,aAC3IC,OAAQ,UAAWD,WAAY,UAAWE,WAAaD,OAAQ,UAAWD,WAAY,WAAaG,OAASF,OAAQ,UAAWD,WAAY,aAC3IC,OAAQ,UAAWD,WAAY,UAAWE,WAAaD,OAAQ,UAAWD,WAAY,WAAaG,OAASF,OAAQ,UAAWD,WAAY,aAE3IC,OAAQ,UAAWD,WAAY,UAAWE,WAAaD,OAAQ,UAAWD,WAAY,WAAaG,OAASF,OAAQ,UAAWD,WAAY,aAE3IC,OAAQ,UAAWD,WAAY,UAAWE,WAAaD,OAAQ,UAAWD,WAAY,WAAaG,OAASF,OAAQ,UAAWD,WAAY,aAC3IC,OAAQ,UAAWD,WAAY,UAAWE,WAAaD,OAAQ,UAAWD,WAAY,WAAaG,OAASF,OAAQ,UAAWD,WAAY,aAC3IC,OAAQ,UAAWD,WAAY,UAAWE,WAAaD,OAAQ,UAAWD,WAAY,WAAaG,OAASF,OAAQ,UAAWD,WAAY,aAC3IC,OAAQ,UAAWD,WAAY,UAAWE,WAAaD,OAAQ,UAAWD,WAAY,WAAaG,OAASF,OAAQ,UAAWD,WAAY,aAC3IC,OAAQ,UAAWD,WAAY,UAAWE,WAAaD,OAAQ,UAAWD,WAAY,WAAaG,OAASF,OAAQ,UAAWD,WAAY,aAC3IC,OAAQ,UAAWD,WAAY,UAAWE,WAAaD,OAAQ,UAAWD,WAAY,WAAaG,OAASF,OAAQ,UAAWD,WAAY,aAC3IC,OAAQ,UAAWD,WAAY,UAAWE,WAAaD,OAAQ,UAAWD,WAAY,WAAaG,OAASF,OAAQ,UAAWD,WAAY,aAC3IC,OAAQ,UAAWD,WAAY,UAAWE,WAAaD,OAAQ,UAAWD,WAAY,WAAaG,OAASF,OAAQ,UAAWD,WAAY,aAE3IC,OAAQ,UA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","file":"vis.map"} \ No newline at end of file +{"version":3,"sources":["vis.js"],"names":["root","factory","exports","module","define","amd","this","modules","__webpack_require__","moduleId","installedModules","id","loaded","call","m","c","p","util","DOMutil","DataSet","DataView","Queue","Graph3d","graph3d","Camera","Filter","Point2d","Point3d","Slider","StepNumber","Timeline","Graph2d","timeline","Core","DataStep","DateUtil","Range","stack","TimeStep","components","items","Item","BackgroundItem","BoxItem","PointItem","RangeItem","BackgroundGroup","Component","CurrentTime","CustomTime","DataAxis","GraphGroup","Group","ItemSet","Legend","LineGraph","TimeAxis","Network","network","Images","dotparser","gephiParser","allOptions","convertDot","input","DOTToGraph","convertGephi","options","parseGephi","moment","Hammer","keycharm","uuid","isNumber","object","Number","recursiveDOMDelete","DOMobject","hasChildNodes","firstChild","removeChild","giveRange","min","max","total","value","scale","Math","isString","String","isDate","Date","match","ASPDateRegex","exec","isNaN","parse","randomUUID","v4","assignAllKeys","obj","prop","hasOwnProperty","fillIfDefined","a","b","allowDeletion","arguments","length","undefined","protoExtend","i","other","extend","selectiveExtend","props","Array","isArray","Error","selectiveDeepExtend","TypeError","constructor","Object","deepExtend","selectiveNotDeepExtend","indexOf","push","equalArray","len","convert","type","Boolean","valueOf","isMoment","toDate","getType","toISOString","copyAndExtendArray","arr","newValue","newArr","copyArray","getAbsoluteLeft","elem","getBoundingClientRect","left","getAbsoluteTop","top","addClassName","className","classes","split","join","removeClassName","index","splice","forEach","callback","toArray","array","updateProperty","key","throttle","fn","wait","timeout","needExecution","throttled","setTimeout","addEventListener","element","action","listener","useCapture","navigator","userAgent","attachEvent","removeEventListener","detachEvent","preventDefault","event","window","returnValue","getTarget","target","srcElement","nodeType","parentNode","hasParent","parent","e","option","asBoolean","defaultValue","asNumber","asString","asSize","asElement","hexToRGB","hex","shorthandRegex","replace","r","g","result","parseInt","overrideOpacity","color","opacity","rgb","substr","RGBToHex","red","green","blue","toString","slice","parseColor","isValidRGB","map","isValidHex","hsv","hexToHSV","lighterColorHSV","h","s","v","darkerColorHSV","darkerColorHex","HSVToHex","lighterColorHex","background","border","highlight","hover","RGBToHSV","minRGB","maxRGB","d","hue","saturation","cssUtil","cssText","styles","style","trim","parts","keys","addCssText","currentStyles","newStyles","removeCssText","removeStyles","HSVToRGB","floor","f","q","t","isOk","test","isValidRGBA","rgba","selectiveBridgeObject","fields","referenceObject","objectTo","create","bridgeObject","insertSort","compare","k","j","mergeOptions","mergeTarget","globalOptions","enabled","binarySearchCustom","orderedItems","searchFunction","field","field2","maxIterations","iteration","low","high","middle","item","searchResult","binarySearchValue","sidePreference","prevValue","nextValue","easingFunctions","linear","easeInQuad","easeOutQuad","easeInOutQuad","easeInCubic","easeOutCubic","easeInOutCubic","easeInQuart","easeOutQuart","easeInOutQuart","easeInQuint","easeOutQuint","easeInOutQuint","global","utils_hooks__hooks","hookCallback","apply","setHookCallback","prototype","res","hasOwnProp","create_utc__createUTC","format","locale","strict","createLocalOrUTC","utc","defaultParsingFlags","empty","unusedTokens","unusedInput","overflow","charsLeftOver","nullInput","invalidMonth","invalidFormat","userInvalidated","iso","getParsingFlags","_pf","valid__isValid","_isValid","flags","_d","getTime","invalidWeekday","_strict","bigHour","valid__createInvalid","NaN","isUndefined","copyConfig","to","from","val","_isAMomentObject","_i","_f","_l","_tzm","_isUTC","_offset","_locale","momentProperties","Moment","config","updateInProgress","updateOffset","absFloor","number","ceil","toInt","argumentForCoercion","coercedNumber","isFinite","compareArrays","array1","array2","dontConvert","lengthDiff","abs","diffs","Locale","normalizeLocale","toLowerCase","chooseLocale","names","next","loadLocale","name","oldLocale","locales","globalLocale","_abbr","code","locale_locales__getSetGlobalLocale","values","data","locale_locales__getLocale","defineLocale","abbr","set","addUnitAlias","unit","shorthand","lowerCase","aliases","normalizeUnits","units","normalizeObjectUnits","inputObject","normalizedProp","normalizedInput","isFunction","Function","makeGetSet","keepTime","get_set__set","get_set__get","mom","isValid","getSet","zeroFill","targetLength","forceSign","absNumber","zerosToFill","sign","pow","addFormatToken","token","padded","ordinal","func","formatTokenFunctions","localeData","removeFormattingTokens","makeFormatFunction","formattingTokens","output","formatMoment","expandFormat","formatFunctions","invalidDate","replaceLongDateFormatTokens","longDateFormat","localFormattingTokens","lastIndex","addRegexToken","regex","strictRegex","regexes","isStrict","getParseRegexForToken","RegExp","unescapeFormat","matched","p1","p2","p3","p4","addParseToken","tokens","addWeekParseToken","_w","addTimeToArrayFromToken","_a","daysInMonth","year","month","UTC","getUTCDate","localeMonths","_months","MONTHS_IN_FORMAT","localeMonthsShort","_monthsShort","localeMonthsParse","monthName","_monthsParse","_longMonthsParse","_shortMonthsParse","months","monthsShort","setMonth","dayOfMonth","monthsParse","date","getSetMonth","getDaysInMonth","checkOverflow","MONTH","DATE","YEAR","HOUR","MINUTE","SECOND","MILLISECOND","_overflowDayOfYear","_overflowWeeks","WEEK","_overflowWeekday","WEEKDAY","warn","msg","suppressDeprecationWarnings","console","deprecate","firstTime","deprecateSimple","deprecations","configFromISO","l","allowTime","dateFormat","timeFormat","tzFormat","string","extendedIsoRegex","basicIsoRegex","isoDates","isoTimes","tzRegex","configFromStringAndFormat","configFromString","aspNetJsonRegex","createFromInputFallback","createDate","y","M","ms","getFullYear","setFullYear","createUTCDate","getUTCFullYear","setUTCFullYear","daysInYear","isLeapYear","getIsLeapYear","firstWeekOffset","dow","doy","fwd","fwdlw","getUTCDay","dayOfYearFromWeeks","week","weekday","resYear","resDayOfYear","localWeekday","weekOffset","dayOfYear","weekOfYear","resWeek","weeksInYear","weekOffsetNext","defaults","currentDateArray","nowValue","now","_useUTC","getUTCMonth","getMonth","getDate","configFromArray","currentDate","yearToUse","dayOfYearFromWeekInfo","_dayOfYear","_nextDay","setUTCMinutes","getUTCMinutes","w","weekYear","temp","weekdayOverflow","GG","W","E","local__createLocal","_week","gg","ISO_8601","parsedInput","skipped","stringLength","totalParsedInputLength","meridiemFixWrap","_meridiem","hour","meridiem","isPm","meridiemHour","isPM","configFromStringAndArray","tempConfig","bestMoment","scoreToBeat","currentScore","score","configFromObject","day","minute","second","millisecond","createFromConfig","prepareConfig","add","preparse","configFromInput","isUTC","pickBy","moments","args","Duration","duration","years","quarters","quarter","weeks","days","hours","minutes","seconds","milliseconds","_milliseconds","_days","_data","_bubble","isDuration","offset","separator","utcOffset","offsetFromString","matcher","matches","chunk","chunkOffset","cloneWithOffset","model","diff","clone","setTime","local","getDateOffset","round","getTimezoneOffset","getSetOffset","keepLocalTime","localAdjust","matchShortOffset","_changeInProgress","add_subtract__addSubtract","create__createDuration","getSetZone","setOffsetToUTC","setOffsetToLocal","subtract","setOffsetToParsedOffset","matchOffset","hasAlignedHourOffset","isDaylightSavingTime","isDaylightSavingTimeShifted","_isDSTShifted","isLocal","isUtcOffset","isUtc","ret","diffRes","aspNetRegex","isoRegex","parseIso","momentsDifference","inp","parseFloat","positiveMomentsDifference","base","isAfter","isBefore","createAdder","direction","period","dur","tmp","isAdding","moment_calendar__calendar","time","formats","sod","startOf","calendar","localInput","endOf","isBetween","isSame","inputMs","isSameOrAfter","isSameOrBefore","asFloat","that","zoneDelta","delta","monthDiff","anchor2","adjust","wholeMonthDiff","anchor","moment_format__toISOString","inputString","defaultFormat","postformat","withoutSuffix","humanize","fromNow","toNow","newLocaleData","isoWeekday","to_type__valueOf","unix","toObject","toJSON","moment_valid__isValid","parsingFlags","invalidAt","creationData","addWeekYearFormatToken","getter","getSetWeekYear","getSetWeekYearHelper","getSetISOWeekYear","isoWeek","getISOWeeksInYear","getWeeksInYear","weekInfo","weeksTarget","setWeekAll","dayOfYearData","getSetQuarter","localeWeek","localeFirstDayOfWeek","localeFirstDayOfYear","getSetWeek","getSetISOWeek","parseWeekday","weekdaysParse","localeWeekdays","_weekdays","isFormat","localeWeekdaysShort","_weekdaysShort","localeWeekdaysMin","_weekdaysMin","localeWeekdaysParse","weekdayName","_weekdaysParse","_minWeekdaysParse","_shortWeekdaysParse","_fullWeekdaysParse","weekdays","weekdaysShort","weekdaysMin","getSetDayOfWeek","getDay","getSetLocaleDayOfWeek","getSetISODayOfWeek","getSetDayOfYear","hFormat","lowercase","matchMeridiem","_meridiemParse","localeIsPM","charAt","localeMeridiem","isLower","parseMs","getZoneAbbr","getZoneName","moment__createUnix","moment__createInZone","parseZone","locale_calendar__calendar","_calendar","_longDateFormat","formatUpper","toUpperCase","_invalidDate","_ordinal","preParsePostFormat","relative__relativeTime","isFuture","_relativeTime","pastFuture","locale_set__set","_ordinalParseLenient","_ordinalParse","source","lists__get","setter","list","count","out","lists__listMonths","lists__listMonthsShort","lists__listWeekdays","lists__listWeekdaysShort","lists__listWeekdaysMin","duration_abs__abs","mathAbs","duration_add_subtract__addSubtract","duration_add_subtract__add","duration_add_subtract__subtract","absCeil","bubble","monthsFromDays","monthsToDays","daysToMonths","as","duration_as__valueOf","makeAs","alias","duration_get__get","makeGetter","substituteTimeAgo","relativeTime","duration_humanize__relativeTime","posNegDuration","thresholds","duration_humanize__getSetRelativeTimeThreshold","threshold","limit","withSuffix","iso_string__toISOString","iso_string__abs","Y","D","asSeconds","match1","match2","match3","match4","match6","match1to2","match3to4","match5to6","match1to3","match1to4","match1to6","matchUnsigned","matchSigned","matchTimestamp","matchWord","defaultLocaleMonths","defaultLocaleMonthsShort","parseTwoDigitYear","getSetYear","prototypeMin","prototypeMax","add_subtract__add","add_subtract__subtract","lang","isoWeekYear","defaultLocaleWeek","getSetDayOfMonth","defaultLocaleWeekdays","defaultLocaleWeekdaysShort","defaultLocaleWeekdaysMin","_isPm","pos","pos1","pos2","defaultLocaleMeridiemParse","getSetHour","getSetMinute","getSetSecond","getSetMillisecond","momentPrototype__proto","get","isoWeeks","isoWeeksInYear","isDST","isDSTShifted","zoneAbbr","zoneName","dates","zone","momentPrototype","defaultCalendar","sameDay","nextDay","nextWeek","lastDay","lastWeek","sameElse","defaultLongDateFormat","LTS","LT","L","LL","LLL","LLLL","defaultInvalidDate","defaultOrdinal","defaultOrdinalParse","defaultRelativeTime","future","past","mm","hh","dd","MM","yy","prototype__proto","firstDayOfYear","firstDayOfWeek","longMonthsParse","shortMonthsParse","ordinalParse","langData","asMilliseconds","asMinutes","asHours","asDays","asWeeks","asMonths","asYears","duration_prototype__proto","toIsoString","version","invalid","relativeTimeThreshold","_moment","webpackPolyfill","paths","children","webpackContext","req","resolve","buf","ii","oct","_hexToByte","unparse","bth","_byteToHex","v1","clockseq","_clockseq","msecs","nsecs","_lastNSecs","dt","_lastMSecs","tl","tmh","node","_nodeId","n","rnds","random","rng","_rng","globalVar","crypto","getRandomValues","_rnds8","Uint8Array","_rnds","_seedBytes","prepareElements","JSONcontainer","elementType","redundant","used","cleanupElements","resetElements","getSVGElement","svgContainer","shift","document","createElementNS","appendChild","getDOMElement","DOMContainer","insertBefore","createElement","drawPoint","x","groupTemplate","labelObj","point","setAttributeNS","size","label","xOffset","yOffset","content","textContent","drawBar","width","height","rect","_options","_fieldId","fieldId","_type","_subscribers","setOptions","queue","_queue","destroy","on","subscribers","subscribe","off","filter","unsubscribe","_trigger","params","senderId","concat","subscriber","addedIds","me","_addItem","update","updatedIds","oldData","updatedData","addOrUpdate","oldItem","_updateItem","ids","firstType","returnType","allowedValues","itemIds","itemId","_getItem","order","_sort","_filterFields","resultant","getIds","getDataSet","mappedItems","filteredItem","itemFields","sort","av","bv","remove","removedId","removedIds","_remove","clear","maxField","itemField","minField","distinct","fieldType","exists","types","raw","converted","JSON","stringify","delay","Infinity","_timeout","_extended","_flushIfNeeded","flush","methods","original","method","context","entry","clearTimeout","_ids","_onEvent","setData","refresh","oldIds","newIds","added","removed","viewOptions","getArguments","defaultFilter","dataSet","updated","container","SyntaxError","containerElement","margin","defaultXCenter","defaultYCenter","xLabel","yLabel","zLabel","passValueFn","xValueLabel","yValueLabel","zValueLabel","filterLabel","legendLabel","STYLE","DOT","showPerspective","showGrid","keepAspectRatio","showShadow","showGrayBottom","showTooltip","verticalRatio","animationInterval","animationPreload","camera","setArmRotation","setArmLength","eye","dataTable","dataPoints","colX","colY","colZ","colValue","colFilter","xMin","xStep","xMax","yMin","yStep","yMax","zMin","zStep","zMax","valueMin","valueMax","xBarWidth","yBarWidth","axisColor","gridColor","dataColor","fill","stroke","strokeWidth","getMouseX","clientX","targetTouches","getMouseY","clientY","Emitter","_setScale","z","xCenter","yCenter","zCenter","setArmLocation","_convert3Dto2D","point3d","translation","_convertPointToTranslation","_convertTranslationToScreen","ax","ay","az","cx","getCameraLocation","cy","cz","sinTx","sin","getCameraRotation","cosTx","cos","sinTy","cosTy","sinTz","cosTz","dx","dy","dz","bx","by","ex","ey","ez","getArmLength","xcenter","frame","canvas","clientWidth","ycenter","_setBackgroundColor","backgroundColor","borderColor","borderWidth","borderStyle","BAR","BARCOLOR","BARSIZE","DOTLINE","DOTCOLOR","DOTSIZE","GRID","LINE","SURFACE","_getStyleNumber","styleName","_determineColumnIndexes","getNumberOfColumns","getNumberOfRows","counter","column","getDistinctValues","distinctValues","getColumnRange","minMax","_dataInitialize","rawData","_onChange","dataFilter","setOnLoadCallback","redraw","withBars","defaultXBarWidth","dataX","defaultYBarWidth","dataY","xRange","defaultXMin","defaultXMax","defaultXStep","yRange","defaultYMin","defaultYMax","defaultYStep","zRange","defaultZMin","defaultZMax","defaultZStep","valueRange","defaultValueMin","defaultValueMax","_getDataPoints","sortNumber","dataMatrix","xIndex","yIndex","trans","screen","bottom","pointRight","pointTop","pointCross","position","noCanvas","fontWeight","padding","innerHTML","onmousedown","_onMouseDown","ontouchstart","_onTouchStart","onmousewheel","_onWheel","ontooltip","_onTooltip","onkeydown","setSize","_resizeCanvas","clientHeight","animationStart","slider","play","animationStop","stop","_resizeCenter","setCameraPosition","horizontal","vertical","distance","getCameraPosition","getArmRotation","_readData","_redrawFilter","animationAutoStart","cameraPosition","styleNumber","tooltip","showAnimationControls","_redrawSlider","_redrawClear","_redrawAxis","_redrawDataGrid","_redrawDataLine","_redrawDataBar","_redrawDataDot","_redrawInfo","_redrawLegend","ctx","getContext","clearRect","widthMin","widthMax","dotSize","right","lineWidth","font","ymin","ymax","_hsv2rgb","strokeStyle","beginPath","moveTo","lineTo","strokeRect","fillStyle","closePath","gridLineLen","step","start","getCurrent","end","textAlign","textBaseline","fillText","visible","setValues","setPlayInterval","onchange","getIndex","selectValue","setOnChangeCallback","lineStyle","getLabel","getSelectedValue","prettyStep","text","xText","yText","zText","xMin2d","xMax2d","gridLenX","gridLenY","textMargin","armAngle","H","S","V","R","G","B","C","Hi","X","cross","topSideVisible","zAvg","lineJoin","lineCap","transBottom","dist","sortDepth","aDiff","bDiff","crossproduct","crossProduct","_getStrokeWidth","radius","arc","PI","surface","corners","xWidth","yWidth","surfaces","center","avg","transCenter","leftButtonDown","_onMouseUp","which","button","touchDown","startMouseX","startMouseY","startStart","startEnd","startArmRotation","cursor","onmousemove","_onMouseMove","onmouseup","diffX","diffY","horizontalNew","verticalNew","snapAngle","snapValue","parameters","emit","boundingRect","mouseX","mouseY","tooltipTimeout","_hideTooltip","dataPoint","_dataPointFromXY","_showTooltip","ontouchmove","_onTouchMove","ontouchend","_onTouchEnd","wheelDelta","detail","oldLength","newLength","_insideTriangle","triangle","bs","cs","distMax","closestDataPoint","closestDist","triangle1","triangle2","distX","distY","sqrt","line","dot","dom","borderRadius","boxShadow","borderLeft","contentWidth","offsetWidth","contentHeight","offsetHeight","lineHeight","dotWidth","dotHeight","mixin","_callbacks","once","self","removeListener","removeAllListeners","callbacks","cb","listeners","hasListeners","sub","sum","armLocation","armRotation","armLength","cameraLocation","cameraRotation","calculateCameraOrientation","rot","graph","onLoadCallback","loadInBackground","isLoaded","getLoadedProgress","getColumn","getValues","getValue","dataView","progress","prev","bar","MozBorderRadius","slide","onclick","togglePlay","onChangeCallback","playTimeout","playInterval","playLoop","setIndex","playNext","interval","clearInterval","getPlayInterval","setPlayLoop","doLoop","onChange","indexToLeft","startClientX","startSlideX","leftToIndex","_start","_end","_step","precision","_current","setRange","setStep","calculatePrettyStep","log10","log","LN10","step1","step2","step5","toPrecision","getStep","groups","forthArgument","defaultOptions","autoResize","throttleRedraw","orientation","axis","maxHeight","minHeight","_create","body","domProps","emitter","bind","hiddenDates","getScale","timeAxis","toScreen","_toScreen","toGlobalScreen","_toGlobalScreen","toTime","_toTime","toGlobalTime","_toGlobalTime","range","timeAxis2","currentTime","itemSet","itemsData","groupsData","getEventProperties","oncontextmenu","setGroups","setItems","_redraw","Configurator","Validator","printStyle","configureOptions","_createConfigurator","markDirty","refreshItems","errorFound","validate","selection","getSelection","setSelection","newDataSet","initialLoad","getItemRange","setWindow","animation","fit","focus","itemData","_this","getDataRange","minItem","maxItem","factor","lhs","rhs","getStart","getEnd","show","getWidthLeft","getWidthRight","dataset","centerContainer","itemFromTarget","group","groupFromTarget","customTime","customTimeFromTarget","snap","snappedTime","what","foreground","labelSet","groupId","pageX","srcEvent","pageY","propagating","__WEBPACK_AMD_DEFINE_FACTORY__","__WEBPACK_AMD_DEFINE_ARRAY__","__WEBPACK_AMD_DEFINE_RESULT__","_firstTarget","hammer","events","propagatedHandler","_handled","stopped","stopPropagation","srcStop","firstTarget","_handlers","Manager","PropagatingHammer","o","assign","wrapper","pointerType","isFirst","handler","eventType","hammers","idx","exportName","setTimeoutContext","bindFn","invokeArrayArg","arg","each","iterator","message","deprecationMessage","inherit","child","properties","childP","baseP","_super","boolOrFn","TYPE_FUNCTION","ifUndefined","val1","val2","addEventListeners","splitStr","removeEventListeners","inStr","str","find","inArray","src","findByKey","uniqueArray","results","prefixed","property","prefix","camelProp","VENDOR_PREFIXES","uniqueId","_uniqueId","getWindowForElement","doc","ownerDocument","defaultView","parentWindow","Input","manager","inputTarget","domHandler","ev","enable","init","createInputInstance","Type","inputClass","SUPPORT_POINTER_EVENTS","PointerEventInput","SUPPORT_ONLY_TOUCH","TouchInput","SUPPORT_TOUCH","TouchMouseInput","MouseInput","inputHandler","pointersLen","pointers","changedPointersLen","changedPointers","INPUT_START","isFinal","INPUT_END","INPUT_CANCEL","session","computeInputData","recognize","prevInput","pointersLength","firstInput","simpleCloneInputData","firstMultiple","offsetCenter","getCenter","timeStamp","deltaTime","angle","getAngle","getDistance","computeDeltaXY","offsetDirection","getDirection","deltaX","deltaY","overallVelocity","getVelocity","overallVelocityX","overallVelocityY","rotation","getRotation","maxPointers","computeIntervalInputData","offsetDelta","prevDelta","velocity","velocityX","velocityY","last","lastInterval","COMPUTE_INTERVAL","DIRECTION_NONE","DIRECTION_LEFT","DIRECTION_RIGHT","DIRECTION_UP","DIRECTION_DOWN","PROPS_XY","atan2","PROPS_CLIENT_XY","evEl","MOUSE_ELEMENT_EVENTS","evWin","MOUSE_WINDOW_EVENTS","allow","pressed","POINTER_ELEMENT_EVENTS","POINTER_WINDOW_EVENTS","store","pointerEvents","SingleTouchInput","evTarget","SINGLE_TOUCH_TARGET_EVENTS","SINGLE_TOUCH_WINDOW_EVENTS","started","normalizeSingleTouches","all","touches","changed","changedTouches","TOUCH_TARGET_EVENTS","targetIds","getTouches","allTouches","INPUT_MOVE","identifier","changedTargetTouches","touch","mouse","TouchAction","cleanTouchActions","actions","TOUCH_ACTION_NONE","hasPanX","TOUCH_ACTION_PAN_X","hasPanY","TOUCH_ACTION_PAN_Y","TOUCH_ACTION_MANIPULATION","TOUCH_ACTION_AUTO","Recognizer","state","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","touchAction","toggleCssProps","recognizeWith","requireFailure","cssProps","triggerDomEvent","gestureEvent","createEvent","initEvent","gesture","dispatchEvent","TEST_ELEMENT","nextKey","dest","merge","MOBILE_REGEX","INPUT_TYPE_TOUCH","INPUT_TYPE_PEN","INPUT_TYPE_MOUSE","INPUT_TYPE_KINECT","DIRECTION_HORIZONTAL","DIRECTION_VERTICAL","DIRECTION_ALL","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","PREFIXED_TOUCH_ACTION","NATIVE_TOUCH_ACTION","TOUCH_ACTION_COMPUTE","compute","getTouchAction","preventDefaults","prevented","hasNone","isTapPointer","isTapMovement","isTapTouchTime","preventSrc","STATE_RECOGNIZED","STATE_FAILED","dropRecognizeWith","dropRequireFailure","hasRequireFailures","canRecognizeWith","additionalEvent","tryEmit","canEmit","inputDataClone","process","reset","attrTest","optionPointers","isRecognized","directionTest","hasMoved","inOut","validPointers","validMovement","validTime","taps","posThreshold","validTouchTime","failTimeout","validInterval","validMultiTap","tapCount","VERSION","domEvents","userSelect","touchSelect","touchCallout","contentZooming","userDrag","tapHighlightColor","STOP","FORCED_STOP","force","curRecognizer","existing","Tap","Pan","Swipe","Pinch","Rotate","Press","freeGlobal","deltaDifference","scaleOffset","startToFront","endToFront","moveable","zoomable","zoomMin","zoomMax","animationTimer","_onDragStart","_onDrag","_onDragEnd","_onMouseWheel","_onTouch","_onPinch","validateDirection","getPointer","byUser","finalStart","finalEnd","_cancelAnimation","initStart","initEnd","easingName","easingFunction","initTime","anyChanged","dragging","ease","done","_applyRange","updateHiddenDates","newStart","newEnd","getRange","conversion","totalHidden","previousDelta","_isInsideRange","allowDragging","getHiddenDurationBetween","diffRange","safeStart","snapAwayFromHidden","safeEnd","zoomKey","pointer","pointerDate","_pointerToDate","zoom","centerDate","hiddenDuration","hiddenDurationBefore","getHiddenDurationBefore","hiddenDurationAfter","move","onTouch","isTouching","onRelease","isReleasing","offTouch","offRelease","_isResized","resized","_previousWidth","_previousHeight","convertHiddenOptions","repeat","dateItem","totalRange","pixelTime","startDate","endDate","runUntil","dayOffset","removeDuplicates","startHidden","isHidden","endHidden","rangeStart","rangeEnd","hidden","safeDates","printDates","stepOverHiddenDates","timeStep","previousTime","stepInHidden","currentValue","current","switchedYear","switchedMonth","switchedDay","correctTimeForHidden","totalDuration","partialDuration","accumulatedHiddenDuration","getAccumulatedHiddenDuration","newTime","timeOffset","requiredDuration","previousPoint","correctionEnabled","hammerUtil","Activator","onMouseWheel","isActive","backgroundVertical","backgroundHorizontal","leftContainer","rightContainer","shadowTop","shadowBottom","shadowTopLeft","shadowBottomLeft","shadowTopRight","shadowBottomRight","_redrawTimer","scrollTop","scrollTopMin","customTimes","redrawCount","drawPoints","onRender","clickToUse","activator","_initAutoResize","component","configurator","configure","appliedOptions","setModuleOptions","_origRedraw","active","_stopAutoResize","setCustomTime","getCustomTime","setCustomTimeTitle","title","setCustomTitle","addCustomTime","timestamp","some","removeCustomTime","getVisibleItems","getWindow","borderRootHeight","borderRootWidth","autoHeight","containerHeight","centerWidth","_updateScrollTop","visibilityTop","visibilityBottom","visibility","MAX_REDRAWS","repaint","setCurrentTime","getCurrentTime","_startAutoResize","_onResize","lastWidth","lastHeight","watchTimer","setInterval","initialScrollTop","oldScrollTop","_getScrollTop","newScrollTop","_setScrollTop","align","groupOrderSwap","fromGroup","toGroup","targetOrder","groupOrder","selectable","multiselect","itemsAlwaysDraggable","editable","updateTime","updateGroup","groupEditable","onAdd","onUpdate","onMove","onRemove","onMoving","onAddGroup","onMoveGroup","onRemoveGroup","itemOptions","itemListeners","_onAdd","_onUpdate","_onRemove","groupListeners","_onAddGroups","_onUpdateGroups","_onRemoveGroups","groupIds","stackDirty","touchParams","groupTouchParams","UNGROUPED","BACKGROUND","box","_updateUngrouped","backgroundGroup","_onSelectItem","_onMultiSelectItem","_onAddItem","groupHammer","_onGroupDragStart","_onGroupDrag","_onGroupDragEnd","addCallback","dirty","displayed","hide","unselect","select","rawVisibleItems","visibleItems","_deselect","_orderGroups","visibleInterval","zoomed","lastVisibleInterval","restack","firstGroup","_firstGroup","firstMargin","nonFirstMargin","groupMargin","groupResized","firstGroupIndex","firstGroupId","ungrouped","_getGroupId","getLabelSet","oldItemsData","getItems","_order","getGroups","removeItem","_getType","selected","_removeItem","groupData","groupOptions","oldGroupId","oldSubGroupId","subgroup","oldGroup","_constructByEndArray","endArray","dragLeftItem","dragRightItem","itemProps","_getGroupIndex","initialX","dragLeft","_cloneItemData","dragRight","selectedItem","baseGroupIndex","itemsToDrag","groupIndex","groupOffset","ctrlKey","metaKey","_onDragStartAddItem","xAbs","newItem","offsetLeft","updateGroupAllowed","newGroupBase","initial","updateTimeAllowed","initialStart","initialEnd","newOffset","_moveToGroup","originalOrder","movingUp","targetGroupTop","draggedGroupHeight","targetGroupHeight","targetGroup","draggedGroup","newOrder","origOrder","draggedId","numGroups","curPos","orgOffset","slippedPosition","switchGroup","shouldBeGroup","switchGroupId","shiftKey","oldSelection","newSelection","newItemData","itemGroup","lastSelectedGroup","multiselectPerGroup","_getItemRange","_item","itemSetFromTarget","minimumStep","autoScale","FORMAT","minorLabels","majorLabels","setMoment","setFormat","setMinimumStep","roundToMinor","hasNext","setScale","setAutoScale","stepYear","stepMonth","stepDay","stepHour","stepMinute","stepSecond","stepMillisecond","isMajor","getLabelMinor","getLabelMajor","getClassName","even","today","currentWeek","currentMonth","currentYear","subgroups","subgroupIndex","subgroupOrderer","subgroupOrder","byStart","byEnd","checkRangedItems","inner","marker","Element","getLabelWidth","markerHeight","lastMarkerHeight","_calculateSubGroupHeights","limitSize","repositionX","customOrderedItems","_updateVisibleItems","nostack","_calculateHeight","offsetTop","repositionY","resetSubgroups","setParent","orderSubgroups","_checkIfVisible","sortArray","sortField","itemIndex","removeFromDataSet","startArray","orderByStart","orderByEnd","oldVisibleItems","visibleItemsLookup","lowerBound","upperBound","_checkIfVisibleWithReference","initialPosByStart","_traceVisible","initialPosByEnd","initialPos","breakCondition","isVisible","EPSILON","aTime","bTime","iMax","collidingItem","jj","collision","newTop","baseClassName","_updateContents","_updateTitle","_updateDataAttributes","_updateStyle","getComputedStyle","maxWidth","_repaintDeleteButton","_repaintDragLeft","_repaintDragRight","contentLeft","parentWidth","boxWidth","groupChanged","deleteButton","template","_contentToString","removeAttribute","dataAttributes","attributes","setAttribute","outerHTML","itemSetHeight","marginLeft","onTop","itemSubgroup","totalHeight","newHeight","lines","majorTexts","minorTexts","lineTop","showMinorLabels","showMajorLabels","maxMinorChars","parentChanged","_calculateCharSize","minorLabelHeight","minorCharHeight","majorLabelHeight","majorCharHeight","minorLineHeight","minorLineWidth","majorLineHeight","majorLineWidth","foregroundNextSibling","nextSibling","backgroundNextSibling","_repaintLabels","timeLabelsize","minorCharWidth","xNext","nextIsMajor","prevWidth","labelMinor","xFirstMajorLabel","MAX","showMinorGrid","_repaintMinorText","_repaintMajorText","_repaintMajorLine","_repaintMinorLine","warnedForOverflow","leftTime","leftText","widthText","majorCharWidth","pop","createTextNode","childNodes","nodeValue","measureCharMinor","measureCharMajor","overlay","_onTapOverlay","onClick","_hasParent","deactivate","escListener","activate","display","unbind","_exportFunctions","_bound","keydown","keyup","_keys","fromCharCode","down","handleEvent","up","keyCode","bound","bindAll","getKey","newBindings","eventParams","drag","warned","substring","showCurrentTime","currentTimeTimer","_interopRequireDefault","__esModule","default","_classCallCheck","instance","Constructor","defineProperty","_createClass","defineProperties","descriptor","enumerable","configurable","writable","protoProps","staticProps","_ColorPicker","_ColorPicker2","parentModule","defaultContainer","pixelRatio","changedOptions","allowCreation","initialized","popupCounter","showButton","moduleOptions","domElements","popupDiv","popupLimit","popupHistory","colorPicker","_removePopup","_clean","_handleObject","_makeItem","_makeHeader","generateButton","_printOptions","onmouseover","onmouseout","optionsContainer","_push","_showPopupIfNeeded","path","_arguments","_this2","_len","_key","_ret2","div","objectLabel","selectedValue","_update","_makeLabel","err","popupString","popupValue","oninput","_setupPopup","_this3","html","hideTimeout","deleteTimeout","_this4","correspondingElement","checkbox","checked","_this5","defaultColor","_showColorPicker","_this6","insertTo","setColor","setUpdateCallback","colorString","setCloseCallback","checkOnly","visibleInSet","subObj","newPath","_getValue","_handleArray","_makeTextInput","_makeCheckbox","draw","physics","solver","enabledPath","enabledValue","error","_makeColorField","_makeDropdown","_makeRange","_constructOptions","optionsObj","getOptions","ColorPicker","generated","centerCoordinates","hueCircle","initialColor","previousColor","applied","updateCallback","closeCallback","_bindHammer","_setSize","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","rgbObj","alpha","_setColor","_generateHueCircle","storePrevious","_hide","_updatePicker","alert","angleConvert","colorPickerSelector","colorPickerCanvas","pixelRation","devicePixelRatio","webkitBackingStorePixelRatio","mozBackingStorePixelRatio","msBackingStorePixelRatio","oBackingStorePixelRatio","backingStorePixelRatio","setTransform","putImageData","circle","brightnessRange","opacityRange","initialColorDiv","newColorDiv","colorPickerDiv","opacityDiv","brightnessDiv","arrowDiv","_setOpacity","_setBrightness","brightnessLabel","opacityLabel","cancelButton","applyButton","_apply","saveButton","_save","loadButton","_loadLast","pinch","_moveSelector","sat","hfac","sfac","fillRect","getImageData","centerY","centerX","newLeft","referenceOptions","subObject","usedOptions","check","__any__","getSuggestion","__type__","checkFields","referenceOption","refOptionObj","optionType","refOptionType","print","printLocation","localSearch","findInOptions","globalSearch","localSearchThreshold","globalSearchThreshold","indexMatch","closestMatch","recursive","closestMatchPath","lowerCaseOption","op","levenshteinDistance","matrix","boolean","any","function","null","groupsDraggable","linegraph","getLegend","isGroupVisible","yAxisLeft","yAxisRight","legendLeft","legendRight","screenToValue","yAxisOrientation","defaultGroup","sampling","graphHeight","shaded","barChart","sideBySide","interpolation","parametrization","dataAxis","icons","alignZeros","legend","abortedGraphUpdate","updateSVGheight","updateSVGheightOnResize","lastStart","svgElements","groupsUsingDefaultStyles","COUNTER","svg","framework","Bars","Lines","Points","_removeGroup","_updateAllGroupData","removeGroup","_updateGroup","addGroup","groupsContent","groupCounts","extended","orginalY","forceGraphUpdate","_updateGraph","rangePerPixelInv","_getSortedGroupIds","grouplist","zIndex","bz","groupRanges","changeCalled","minDate","maxDate","_getRelevantData","_applySampling","_convertXcoordinates","_getYRanges","_updateYAxis","MAX_CYCLES","below","excludeFromStacking","_stack","_convertYcoordinates","calcPath","subGroupId","drawShading","subData","subPrevPoint","subNextPoint","first","dataContainer","increment","amountOfPoints","xDistance","pointsPerPixel","sampledData","combinedDataLeft","combinedDataRight","getYRange","getStackedYRange","minVal","maxVal","yAxisLeftUsed","yAxisRightUsed","minLeft","minRight","maxLeft","maxRight","ignore","_toggleAxisVisiblity","drawIcons","master","lineOffset","stepPixels","zeroCrossing","amountOfSteps","tempGroups","axisUsed","datapoints","screen_x","screen_y","svgHeight","convertValue","setZeroPosition","linegraphOptions","majorLinesOffset","minorLinesOffset","labelOffsetX","labelOffsetY","iconWidth","linegraphSVG","DOMelements","labels","conversionFactor","minWidth","iconsRemoved","amountOfGroups","lineContainer","graphOptions","_redrawGroupIcons","iconHeight","iconOffset","groupArray","_cleanupIcons","activeGroups","_redrawLabels","_redrawTitle","stepSize","marginRange","valueAtBottom","marginEnd","maxLabelSize","stepIndex","_redrawLabel","_redrawLine","titleWidth","titleCharHeight","invertedValue","convertedValue","characterHeight","largestWidth","textMinor","textMajor","textTitle","measureCharTitle","titleCharWidth","customRange","formattingFunction","marginStart","deadSpace","majorSteps","minorSteps","setFirst","safeRange","minimumStepValue","orderOfMagnitude","minorStepIdx","magnitudefactor","solutionFound","niceStart","niceEnd","rounded","previous","steps","usingDefaultStyle","zeroPosition","drawIcon","icon","Bargraph","fillHeight","outline","barWidth","originalWidth","bar1Height","bar2Height","processedGroupData","coreDistance","drawData","combinedData","intersections","barPoints","_getDataIntersections","heightOffset","_getSafeDrawData","amount","resolved","prevKey","accumulatedNegative","accumulatedPositive","pointData","groupLabel","_getStackedYRange","xpos","getGroupTemplate","callbackResult","getCallback","Line","_catmullRom","_linear","fillPath","pathArray","subPathArray","dFill","zero","serializePath","inverse","_catmullRomUniform","p0","bp1","bp2","normalization","d1","d2","d3","A","N","d3powA","d2powA","d3pow2A","d2pow2A","d1pow2A","d1powA","side","iconSize","iconSpacing","excludeFromLegend","textArea","scrollableHeight","drawLegendIcons","paddingTop","nodes","nodeIndices","edges","edgeIndices","eventListeners","onTap","onDoubleTap","onHold","onDragStart","onDrag","onDragEnd","onPinch","onMouseMove","onContext","functions","createNode","createEdge","view","bindEventListeners","images","_modulesGroups2","_modulesCanvas2","selectionHandler","_modulesSelectionHandler2","interactionHandler","_modulesInteractionHandler2","_modulesView2","renderer","_modulesCanvasRenderer2","_modulesPhysicsEngine2","layoutEngine","_modulesLayoutEngine2","clustering","_modulesClustering2","manipulation","_modulesManipulationSystem2","nodesHandler","_modulesNodesHandler2","edgesHandler","_modulesEdgesHandler2","_modulesKamadaKawaiJs2","_modulesGroups","_modulesNodesHandler","_modulesEdgesHandler","_modulesPhysicsEngine","_modulesClustering","_modulesCanvasRenderer","_modulesCanvas","_modulesView","_modulesInteractionHandler","_modulesSelectionHandler","_modulesLayoutEngine","_modulesManipulationSystem","_sharedConfigurator","_sharedConfigurator2","_sharedValidator","_sharedValidator2","_optionsJs","_modulesKamadaKawaiJs","layout","interaction","networkOptions","_updateVisibleIndices","nodeId","edgeId","_updateValueRange","unselectAll","dotData","gephi","gephiData","valueTotal","setValueRange","canvasToDOM","DOMtoCanvas","findNode","isCluster","openCluster","cluster","getNodesInCluster","clusterByConnection","clusterByHubsize","clusterOutliers","getSeed","enableEditMode","disableEditMode","addNodeMode","editNode","editNodeMode","addEdgeMode","editEdgeMode","deleteSelected","getPositions","storePositions","moveNode","getBoundingBox","getConnectedNodes","objectId","getConnectedEdges","startSimulation","stopSimulation","stabilize","getSelectedNodes","getSelectedEdges","getNodeAt","getEdgeAt","edge","selectNodes","selectEdges","getViewPosition","releaseNode","getOptionsFromConfigurator","Groups","defaultIndex","groupsArray","defaultGroups","useDefaultGroups","optionFields","groupName","groupname","_componentsNode","_componentsNode2","_componentsSharedLabel","_componentsSharedLabel2","NodesHandler","nodesListeners","borderWidthSelected","brokenImage","fixed","face","strokeColor","image","labelHighlightBold","level","mass","scaling","maxVisible","drawThreshold","customScalingFunction","shadow","shape","shapeProperties","borderDashes","useImageSize","useBorderWithImage","parseOptions","updateShape","updateLabelModule","_reset","doNotEmit","oldNodesData","newNodes","positionInitially","changedData","dataChanged","constructorClass","clearPositions","dataArray","boundingBox","nodeList","nodeObj","toId","fromId","edgeList","_sharedLabel","_sharedLabel2","_nodesShapesBox","_nodesShapesBox2","_nodesShapesCircle","_nodesShapesCircle2","_nodesShapesCircularImage","_nodesShapesCircularImage2","_nodesShapesDatabase","_nodesShapesDatabase2","_nodesShapesDiamond","_nodesShapesDiamond2","_nodesShapesDot","_nodesShapesDot2","_nodesShapesEllipse","_nodesShapesEllipse2","_nodesShapesIcon","_nodesShapesIcon2","_nodesShapesImage","_nodesShapesImage2","_nodesShapesSquare","_nodesShapesSquare2","_nodesShapesStar","_nodesShapesStar2","_nodesShapesText","_nodesShapesText2","_nodesShapesTriangle","_nodesShapesTriangle2","_nodesShapesTriangleDown","_nodesShapesTriangleDown2","Node","imagelist","baseSize","baseFontSize","predefinedPosition","labelModule","currentShape","groupObj","imageObj","load","distanceToBorder","sizeDiff","fontDiff","updateBoundingBox","resize","parentOptions","newOptions","parsedColor","_slicedToArray","sliceIterator","_arr","_n","_e","_s","Symbol","Label","pointToSelf","fontOptions","yLine","nodeOptions","labelDirty","baseline","viewFontSize","calculateLabelSize","_drawBackground","_drawText","lineMargin","fontSize","_getColor2","_getColor","_getColor22","fontColor","_setAlignment2","_setAlignment","_setAlignment22","lineCount","strokeText","_processLabel","measureText","newOptionsArray","_inherits","subClass","superClass","setPrototypeOf","__proto__","_get","_x","_x2","_x3","_again","receiver","desc","getOwnPropertyDescriptor","getPrototypeOf","_utilNodeBase","_utilNodeBase2","Box","_NodeBase","textSize","getTextSize","selectionLineWidth","roundRect","enableShadow","disableShadow","save","enableBorderDashes","disableBorderDashes","restore","NodeBase","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY","setLineDash","dashes","_utilCircleImageBase","_utilCircleImageBase2","Circle","_CircleImageBase","diameter","_drawRawCircle","CircleImageBase","labelOffset","imageLoaded","ratio","networkScaleInv","globalAlpha","drawImage","labelDimensions","CircularImage","_swapToImageResizeWhenImageLoaded","_resizeImage","clip","_drawImageAtPosition","_drawImageLabel","Database","database","_distanceToBorder","_utilShapeBase","_utilShapeBase2","Diamond","_ShapeBase","_resizeShape","_drawShape","ShapeBase","sizeMultiplier","Dot","Ellipse","ellipse","Icon","_icon","iconTextSpacing","Image","Square","Star","Text","Triangle","TriangleDown","_componentsEdge","_componentsEdge2","EdgesHandler","edgesListeners","arrows","scaleFactor","hoverWidth","selectionWidth","selfReferenceSize","smooth","forceDirection","roundness","emitChange","edgeData","edgeOptions","reconnectEdges","markAllEdgesAsDirty","updateEdgeType","oldEdgesData","edgesData","oldEdge","disconnect","showInternalIds","connect","cleanup","edgeType","colorDirty","_edgesCubicBezierEdge","_edgesCubicBezierEdge2","_edgesBezierEdgeDynamic","_edgesBezierEdgeDynamic2","_edgesBezierEdgeStatic","_edgesBezierEdgeStatic2","_edgesStraightEdge","_edgesStraightEdge2","Edge","baseWidth","connected","_setInteractionWidths","changeInType","attachEdge","detachEdge","widthDiff","via","drawLine","drawArrows","drawLabel","viaNode","drawArrowHead","node1","node2","getPoint","translate","_rotateForLabelAlignment","_pointOnCircle","xFrom","yFrom","xTo","yTo","xObj","yObj","getDistanceToEdge","angleInDegrees","rotate","percentage","colorsDefined","_x4","_x5","_utilCubicBezierEdgeBase","_utilCubicBezierEdgeBase2","CubicBezierEdge","_CubicBezierEdgeBase","_getViaCoordinates2","_getViaCoordinates","_getViaCoordinates22","via1","via2","bezierCurveTo","x1","y1","x2","y2","nearNode","_findBorderPositionBezier","x3","y3","_ref","_ref2","_getDistanceToBezierEdge","_ref3","_ref32","vec","_BezierEdgeBase2","_BezierEdgeBase3","CubicBezierEdgeBase","_BezierEdgeBase","minDistance","lastX","lastY","_getDistanceToLine","_EdgeBase2","_EdgeBase3","BezierEdgeBase","_EdgeBase","distanceToPoint","difference","EdgeBase","getColor","getLineWidth","_drawDashedLine","_drawLine","_line","_getCircleData2","_getCircleData","_getCircleData22","_circle","pattern","lineDashOffset","_getCircleData3","_getCircleData32","dashedLine","_getCircleData4","_getCircleData42","_findBorderPosition","_findBorderPositionCircle","_getCircleData5","_getCircleData52","colorOptions","grd","createLinearGradient","fromColor","toColor","addColorStop","_getDistanceToEdge","_getCircleData6","_getCircleData62","px","py","something","u","arrowPos","guideOffset","findBorderPosition","guidePos","arrow","_angle","_getCircleData7","_getCircleData72","_length","_utilBezierEdgeBase","_utilBezierEdgeBase2","BezierEdgeDynamic","_boundFunction","positionBezierNode","physicsChange","setupSupportNode","parentEdgeId","quadraticCurveTo","_x6","BezierEdgeStatic","xVia","yVia","pi","originalAngle","myAngle","_utilEdgeBase","_utilEdgeBase2","StraightEdge","edgeSegmentLength","toBorderDist","toBorderPoint","borderPos","_componentsPhysicsBarnesHutSolver","_componentsPhysicsBarnesHutSolver2","_componentsPhysicsRepulsionSolver","_componentsPhysicsRepulsionSolver2","_componentsPhysicsHierarchicalRepulsionSolver","_componentsPhysicsHierarchicalRepulsionSolver2","_componentsPhysicsSpringSolver","_componentsPhysicsSpringSolver2","_componentsPhysicsHierarchicalSpringSolver","_componentsPhysicsHierarchicalSpringSolver2","_componentsPhysicsCentralGravitySolver","_componentsPhysicsCentralGravitySolver2","_componentsPhysicsFA2BasedRepulsionSolver","_componentsPhysicsFA2BasedRepulsionSolver2","_componentsPhysicsFA2BasedCentralGravitySolver","_componentsPhysicsFA2BasedCentralGravitySolver2","PhysicsEngine","physicsBody","physicsNodeIndices","physicsEdgeIndices","forces","velocities","physicsEnabled","simulationInterval","requiresTimeout","previousStates","referenceState","freezeCache","renderTimer","adaptiveTimestep","adaptiveTimestepEnabled","adaptiveCounter","adaptiveInterval","stabilized","startedStabilization","stabilizationIterations","ready","barnesHut","theta","gravitationalConstant","centralGravity","springLength","springConstant","damping","avoidOverlap","forceAtlas2Based","repulsion","nodeDistance","hierarchicalRepulsion","maxVelocity","minVelocity","stabilization","iterations","updateInterval","onlyDynamicEdges","timestep","layoutFailed","initPhysics","updatePhysicsData","nodesSolver","edgesSolver","gravitySolver","modelOptions","viewFunction","simulationStep","_emitStabilized","startTime","physicsTick","physicsTime","runDoubleSpeed","amountOfIterations","calculateForces","moveNodes","revert","_evaluateStepQuality","nodeIds","positions","vx","vy","dpos","reference","maxNodeVelocity","averageNodeVelocity","velocityAdaptiveThreshold","nodeVelocity","_performStep","totalVelocity","solve","targetIterations","_freezeNodes","_stabilizationBatch","_finalizeStabilization","_restoreFrozenNodes","colorFactor","forceSize","arrowSize","BarnesHutSolver","barnesHutTree","randomSeed","thetaInversed","overlapAvoidanceFactor","nodeCount","_formBarnesHutTree","_getForceContribution","NW","NE","SW","SE","parentBranch","childrenCount","centerOfMass","calcSize","_calculateForces","gravityForce","fx","fy","minX","minY","maxX","maxY","minimumTreeSize","rootSize","halfRootSize","_splitBranch","_placeInTree","totalMass","totalMassInv","biggestSize","skipMassUpdate","_updateBranchMass","_placeInRegion","region","seededRandom","containedNode","_insertRegion","childSize","_drawBranch","branch","RepulsionSolver","repulsingForce","HierarchicalRepulsionSolver","steepness","SpringSolver","edgeLength","node3","_calculateSpringForce","springForce","HierarchicalSpringSolver","springFx","springFy","totalFx","totalFy","correctionFx","correctionFy","CentralGravitySolver","_BarnesHutSolver2","_BarnesHutSolver3","ForceAtlas2BasedRepulsionSolver","_BarnesHutSolver","degree","_CentralGravitySolver2","_CentralGravitySolver3","ForceAtlas2BasedCentralGravitySolver","_CentralGravitySolver","_NetworkUtil","_NetworkUtil2","_componentsNodesCluster","_componentsNodesCluster2","ClusterEngine","clusteredNodes","clusteredEdges","hubsize","_getHubSize","_checkOptions","nodesToCluster","refreshData","joinCondition","childNodesObj","childEdgesObj","clonedOptions","cloneOptions","_cluster","edgeCount","clusters","usedNodes","relevantEdgeCount","gatheringSuccessful","childNodeId","_getConnectedId","clusterByEdgeCount","clusterNodeProperties","parentNodeId","parentClonedOptions","childClonedOptions","clusterEdgeProperties","childNode","otherNodeId","childKeys","createEdges","_edge","newEdge","clusteringEdgeReplacingId","_backupEdgeOptions","processProperties","childNodesOptions","childEdgesOptions","clusterId","_getClusterPosition","clusterNode","containedNodes","containedEdges","_createClusterEdges","originalOptions","clusterNodeId","releaseFunction","clusterPosition","newPositions","edgesToBeDeleted","otherCluster","transferEdge","replacedEdge","_restoreEdge","nodesArray","reverse","average","averageSquared","hubCounter","largestHub","variance","standardDeviation","hubThreshold","NetworkUtil","allNodes","specificNodes","amountOfConnections","_Node2","_Node3","Cluster","_Node","requestAnimationFrame","mozRequestAnimationFrame","webkitRequestAnimationFrame","msRequestAnimationFrame","CanvasRenderer","redrawRequested","renderingActive","renderRequests","allowRedraw","hideEdgesOnDrag","hideNodesOnDrag","_determineBrowserMethod","_resizeNodes","_requestRedraw","_startRendering","cancelAnimationFrame","_renderStep","_drawEdges","_drawNodes","alwaysShow","topLeft","bottomRight","viewableArea","isSelected","isBoundingBoxOverlappingWith","browserType","Canvas","resizeTimer","resizeFunction","cameraState","hammerFrame","_cleanUp","previousWidth","previousHeight","widthRatio","heightRatio","newScale","currentViewCenter","distanceFromCenter","tabIndex","_prepareValue","emitEvent","oldWidth","oldHeight","previousRatio","_getCameraState","_setCameraState","_XconvertCanvasToDOM","_YconvertCanvasToDOM","_XconvertDOMtoCanvas","_YconvertDOMtoCanvas","View","animationSpeed","renderRefreshRate","animationEasingFunction","easingTime","sourceScale","targetScale","sourceTranslation","targetTranslation","lockedOnNodeId","lockedOnNodeOffset","touchTime","initialZoom","zoomLevel","positionDefined","numberOfNodes","yDistance","xZoomLevel","yZoomLevel","findCenter","animationOptions","nodePosition","lockedOnNode","animateView","locked","_transitionRedraw","viewCenter","_lockedRedraw","finished","_componentsNavigationHandler","_componentsNavigationHandler2","_componentsPopup","_componentsPopup2","InteractionHandler","navigationHandler","popup","popupObj","popupTimer","dragNodes","dragView","keyboard","speed","bindToWindow","navigationButtons","tooltipDelay","zoomView","pinched","checkSelectionChanges","_generateClickEvent","previouslySelectedEdgeCount","_getSelectedEdgeCount","previouslySelectedNodeCount","_getSelectedNodeCount","previousSelection","selectAdditionalOnPoint","selectOnPoint","selectedEdgesCount","selectedNodesCount","currentSelection","_determineIfDifferent2","_determineIfDifferent","nodesChanges","edgesChanges","nodeSelected","selectObject","selectionObj","xFixed","yFixed","scaleOld","preScaleDragPointer","scaleFrac","tx","ty","postScaleDragPointer","popupVisible","_checkHidePopup","setPosition","_checkShowPopup","hoverObject","pointerObj","previousPopupObjId","nodeUnderCursor","popupType","overlappingNodes","isOverlappingWith","getTitle","overlappingEdges","popupTargetType","popupTargetId","setText","_pointerToPositionObject","stillOnObj","overNode","NavigationHandler","iconsCreated","navigationHammers","boundFunctions","activated","configureKeyboardBindings","loadNavigationElements","cleanNavigation","navigationDOM","navigationDivs","navigationDivActions","_fit","bindToRedraw","_stopMovement","boundAction","unbindFromRedraw","Popup","doShow","SelectionHandler","hoverObj","selectConnectedEdges","hoverConnectedEdges","updateSelection","selectionChanged","deselectObject","emptySelection","DOM","highlightEdges","_selectConnectedEdges","_addToSelection","_removeFromSelection","canvasPos","returnNode","positionObject","_getAllNodesOverlappingWith","_getEdgesOverlappingWith","returnEdge","_getAllEdgesOverlappingWith","_unselectConnectedEdges","clusterSize","_addToHover","hoverChanged","blurObject","_hoverConnectedEdges","edgeIds","idArray","RangeError","LayoutEngine","initialRandomSeed","optionsBackup","improvedLayout","hierarchical","levelSeparation","sortMethod","lastNodeOnLevel","hierarchicalParents","hierarchicalChildren","setupHierarchicalLayout","layoutNetwork","prevHierarchicalState","adaptAllOptionsForHierarchicalLayout","MAX_LEVELS","clusterThreshold","startLength","before","clusterBridges","after","_declusterAll","info","kamadaKawai","_shiftToCenter","getRangeCore","clustersPresent","definedLevel","undefinedLevel","hierarchicalLevels","nodeSpacing","_determineLevelsByHubsize","_determineLevelsDirected","_determineLevelsCustomCallback","distribution","_getDistribution","_generateMap","_placeNodesByHierarchy","_condenseHierarchy","positionedNodes","nodeArray","_indexArrayToNodes","_sortNodeArray","_setPositionForHierarchy","_placeBranchNodes","hubSize","levelDownstream","nodeA","nodeB","_crawlNetwork","minLevel","customCallback","levelByDirection","levelA","_setMinLevelToZero","fillInRelations","parents","startingNodeId","crawler","parentId","parentLevel","childNodeLevel","_getPositionForHierarchy","previousPos","sharedParent","_findCommonParent","_shiftBlock","withChild","minPos","maxPos","childA","childB","iterateParents","_parent","findParent","_parent2","foundParent","ManipulationSystem","editMode","manipulationDiv","editModeDiv","closeDiv","manipulationHammers","temporaryUIFunctions","temporaryEventFunctions","temporaryIds","guiEnabled","inMode","selectedControlNode","initiallyActive","addNode","addEdge","editEdge","deleteNode","deleteEdge","controlNodeStyle","_restore","_setup","showManipulatorToolbar","_createEditButton","manipulationDOM","selectedNodeCount","selectedEdgeCount","selectedTotalCount","needSeperator","_createAddNodeButton","_createSeperator","_createAddEdgeButton","_createEditNodeButton","_createEditEdgeButton","_createDeleteButton","_bindHammerToDiv","toggleEditMode","_temporaryBindEvent","_createBackButton","_createDescription","_performAddNode","_getSelectedNode","finalizedData","_temporaryBindUI","_handleConnect","_finishConnect","_dragControlNode","edgeBeingEditedId","controlNodeFrom","_getNewTargetNode","controlNodeTo","_controlNodeTouch","_controlNodeDragStart","_controlNodeDrag","_controlNodeDragEnd","findBorderPositions","selectedNodes","selectedEdges","deleteFunction","_createWrappers","_removeManipulationDOM","_createButton","_cleanManipulatorHammers","_cleanupTemporaryNodesAndEdges","_unbindTemporaryUIs","_unbindTemporaryEvents","labelClassName","newFunction","boundFunction","UIfunctionName","functionName","eventName","domElement","indexTempEdge","indexTempNode","lastTouch","fromSelect","toSelect","overlappingNodeIds","_performEditEdge","targetNode","connectionEdge","connectFromId","_performAddEdge","clickData","defaultData","sourceNodeId","targetNodeId","_this7","_componentsAlgorithmsFloydWarshallJs","_componentsAlgorithmsFloydWarshallJs2","KamadaKawai","edgeStrength","distanceSolver","edgesArray","ignoreClusters","D_matrix","getDistances","_createL_matrix","_createK_matrix","innerThreshold","maxInnerIterations","maxEnergy","highE_nodeId","dE_dx","dE_dy","delta_m","subIterations","_getHighestEnergyNode2","_getHighestEnergyNode","_getHighestEnergyNode22","_moveNode","_getEnergy2","_getEnergy","_getEnergy22","maxEnergyNodeId","dE_dx_max","dE_dy_max","nodeIdx","_getEnergy3","_getEnergy32","x_m","y_m","iIdx","x_i","y_i","denominator","K_matrix","L_matrix","d2E_dx2","d2E_dxdy","d2E_dy2","FloydWarshall","CanvasRenderingContext2D","square","s2","ir","triangleDown","star","diamond","r2d","kappa","ox","oy","xe","ye","xm","ym","wEllipse","hEllipse","ymb","yeb","xt","yt","xi","yi","xl","yl","xr","yr","patternLength","slope","distRemaining","patternIndex","dashLength","parseDOT","parseGraph","nextPreview","isAlphaNumeric","regexAlphaNumeric","setValue","graphs","attr","getToken","tokenType","TOKENTYPE","NULL","isComment","DELIMITER","c2","DELIMITERS","IDENTIFIER","newSyntaxError","UNKNOWN","chop","parseStatements","parseStatement","subgraph","parseSubgraph","parseEdge","parseAttributeStatement","parseNodeStatement","subgraphs","parseAttributeList","maxLength","forEach2","elem1","elem2","setProp","convertAttr","mapping","visProp","visPropI","graphData","dotNode","graphNode","NODE_ATTR_MAPPING","convertEdge","dotEdge","graphEdge","EDGE_ATTR_MAPPING","subEdge","fontsize","fontcolor","labelfontcolor","fontname","fillcolor","labeltooltip","{","}","[","]",";","=",",","->","--","gephiJSON","inheritColor","gEdges","gNodes","gEdge","gNode","imageBroken","url","imageToCache","brokenUrl","imageToLoadBrokenUrlOn","onerror","_addImageToCache","imageToRedrawWith","cachedImage","img","onload","_redrawWithImage","_tryloadBrokenUrl","edit","del","back","addDescription","edgeDescription","editEdgeDescription","createEdgeError","deleteClusterError","editClusterError"],"mappings":"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","file":"vis.map"} \ No newline at end of file diff --git a/dist/vis.min.css b/dist/vis.min.css index 4c4f34be..bd6e1abe 100644 --- a/dist/vis.min.css +++ b/dist/vis.min.css @@ -1 +1 @@ -.vis-background,.vis-labelset,.vis-timeline{overflow:hidden}.vis .overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:10}.vis-active{box-shadow:0 0 10px #86d5f8}.vis [class*=span]{min-height:0;width:auto}div.vis-configuration{position:relative;display:block;float:left;font-size:12px}div.vis-configuration-wrapper{display:block;width:700px}div.vis-configuration.vis-config-option-container{display:block;width:495px;background-color:#fff;border:2px solid #f7f8fa;border-radius:4px;margin-top:20px;left:10px;padding-left:5px}div.vis-configuration.vis-config-button{display:block;width:495px;height:25px;vertical-align:middle;line-height:25px;background-color:#f7f8fa;border:2px solid #ceced0;border-radius:4px;margin-top:20px;left:10px;padding-left:5px;cursor:pointer;margin-bottom:30px}div.vis-configuration.vis-config-button.hover{background-color:#4588e6;border:2px solid #214373;color:#fff}div.vis-configuration.vis-config-item{display:block;float:left;width:495px;height:25px;vertical-align:middle;line-height:25px}div.vis-configuration.vis-config-item.vis-config-s2{left:10px;background-color:#f7f8fa;padding-left:5px;border-radius:3px}div.vis-configuration.vis-config-item.vis-config-s3{left:20px;background-color:#e4e9f0;padding-left:5px;border-radius:3px}div.vis-configuration.vis-config-item.vis-config-s4{left:30px;background-color:#cfd8e6;padding-left:5px;border-radius:3px}div.vis-configuration.vis-config-header{font-size:18px;font-weight:700}div.vis-configuration.vis-config-label{width:120px;height:25px;line-height:25px}div.vis-configuration.vis-config-label.vis-config-s3{width:110px}div.vis-configuration.vis-config-label.vis-config-s4{width:100px}div.vis-configuration.vis-config-colorBlock{top:1px;width:30px;height:19px;border:1px solid #444;border-radius:2px;padding:0;margin:0;cursor:pointer}input.vis-configuration.vis-config-checkbox{left:-5px}input.vis-configuration.vis-config-rangeinput{position:relative;top:-5px;width:60px;height:13px;padding:1px;margin:0;pointer-events:none}.vis-panel,.vis-timeline{padding:0;box-sizing:border-box}input.vis-configuration.vis-config-range{-webkit-appearance:none;border:0 solid #fff;background-color:rgba(0,0,0,0);width:300px;height:20px}input.vis-configuration.vis-config-range::-webkit-slider-runnable-track{width:300px;height:5px;background:#dedede;background:-moz-linear-gradient(top,#dedede 0,#c8c8c8 99%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#dedede),color-stop(99%,#c8c8c8));background:-webkit-linear-gradient(top,#dedede 0,#c8c8c8 99%);background:-o-linear-gradient(top,#dedede 0,#c8c8c8 99%);background:-ms-linear-gradient(top,#dedede 0,#c8c8c8 99%);background:linear-gradient(to bottom,#dedede 0,#c8c8c8 99%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#dedede', endColorstr='#c8c8c8', GradientType=0 );border:1px solid #999;box-shadow:#aaa 0 0 3px 0;border-radius:3px}input.vis-configuration.vis-config-range::-webkit-slider-thumb{-webkit-appearance:none;border:1px solid #14334b;height:17px;width:17px;border-radius:50%;background:#3876c2;background:-moz-linear-gradient(top,#3876c2 0,#385380 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#3876c2),color-stop(100%,#385380));background:-webkit-linear-gradient(top,#3876c2 0,#385380 100%);background:-o-linear-gradient(top,#3876c2 0,#385380 100%);background:-ms-linear-gradient(top,#3876c2 0,#385380 100%);background:linear-gradient(to bottom,#3876c2 0,#385380 100%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#3876c2', endColorstr='#385380', GradientType=0 );box-shadow:#111927 0 0 1px 0;margin-top:-7px}input.vis-configuration.vis-config-range:focus{outline:0}input.vis-configuration.vis-config-range:focus::-webkit-slider-runnable-track{background:#9d9d9d;background:-moz-linear-gradient(top,#9d9d9d 0,#c8c8c8 99%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#9d9d9d),color-stop(99%,#c8c8c8));background:-webkit-linear-gradient(top,#9d9d9d 0,#c8c8c8 99%);background:-o-linear-gradient(top,#9d9d9d 0,#c8c8c8 99%);background:-ms-linear-gradient(top,#9d9d9d 0,#c8c8c8 99%);background:linear-gradient(to bottom,#9d9d9d 0,#c8c8c8 99%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#9d9d9d', endColorstr='#c8c8c8', GradientType=0 )}input.vis-configuration.vis-config-range::-moz-range-track{width:300px;height:10px;background:#dedede;background:-moz-linear-gradient(top,#dedede 0,#c8c8c8 99%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#dedede),color-stop(99%,#c8c8c8));background:-webkit-linear-gradient(top,#dedede 0,#c8c8c8 99%);background:-o-linear-gradient(top,#dedede 0,#c8c8c8 99%);background:-ms-linear-gradient(top,#dedede 0,#c8c8c8 99%);background:linear-gradient(to bottom,#dedede 0,#c8c8c8 99%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#dedede', endColorstr='#c8c8c8', GradientType=0 );border:1px solid #999;box-shadow:#aaa 0 0 3px 0;border-radius:3px}input.vis-configuration.vis-config-range::-moz-range-thumb{border:none;height:16px;width:16px;border-radius:50%;background:#385380}input.vis-configuration.vis-config-range:-moz-focusring{outline:#fff solid 1px;outline-offset:-1px}input.vis-configuration.vis-config-range::-ms-track{width:300px;height:5px;background:0 0;border-color:transparent;border-width:6px 0;color:transparent}input.vis-configuration.vis-config-range::-ms-fill-lower{background:#777;border-radius:10px}input.vis-configuration.vis-config-range::-ms-fill-upper{background:#ddd;border-radius:10px}input.vis-configuration.vis-config-range::-ms-thumb{border:none;height:16px;width:16px;border-radius:50%;background:#385380}input.vis-configuration.vis-config-range:focus::-ms-fill-lower{background:#888}input.vis-configuration.vis-config-range:focus::-ms-fill-upper{background:#ccc}.vis-configuration-popup{position:absolute;background:rgba(57,76,89,.85);border:2px solid #f2faff;line-height:30px;height:30px;width:150px;text-align:center;color:#fff;font-size:14px;border-radius:4px;-webkit-transition:opacity .3s ease-in-out;-moz-transition:opacity .3s ease-in-out;transition:opacity .3s ease-in-out}.vis-configuration-popup:after,.vis-configuration-popup:before{left:100%;top:50%;border:solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none}.vis-configuration-popup:after{border-color:rgba(136,183,213,0);border-left-color:rgba(57,76,89,.85);border-width:8px;margin-top:-8px}.vis-configuration-popup:before{border-color:rgba(194,225,245,0);border-left-color:#f2faff;border-width:12px;margin-top:-12px}.vis-timeline{position:relative;border:1px solid #bfbfbf;margin:0}.vis-panel{position:absolute;margin:0}.vis-panel.vis-bottom,.vis-panel.vis-center,.vis-panel.vis-left,.vis-panel.vis-right,.vis-panel.vis-top{border:1px #bfbfbf}.vis-panel.vis-center,.vis-panel.vis-left,.vis-panel.vis-right{border-top-style:solid;border-bottom-style:solid;overflow:hidden}.vis-panel.vis-bottom,.vis-panel.vis-center,.vis-panel.vis-top{border-left-style:solid;border-right-style:solid}.vis-panel>.vis-content{position:relative}.vis-panel .vis-shadow{position:absolute;width:100%;height:1px;box-shadow:0 0 10px rgba(0,0,0,.8)}.vis-itemset,.vis-labelset,.vis-labelset .vis-label{position:relative;box-sizing:border-box}.vis-panel .vis-shadow.vis-top{top:-1px;left:0}.vis-panel .vis-shadow.vis-bottom{bottom:-1px;left:0}.vis-labelset .vis-label{left:0;top:0;width:100%;color:#4d4d4d;border-bottom:1px solid #bfbfbf}.vis-labelset .vis-label.draggable{cursor:pointer}.vis-labelset .vis-label:last-child{border-bottom:none}.vis-labelset .vis-label .vis-inner{display:inline-block;padding:5px}.vis-labelset .vis-label .vis-inner.vis-hidden{padding:0}.vis-itemset{padding:0;margin:0}.vis-itemset .vis-background,.vis-itemset .vis-foreground{position:absolute;width:100%;height:100%;overflow:visible}.vis-axis{position:absolute;width:100%;height:0;left:0;z-index:1}.vis-foreground .vis-group{position:relative;box-sizing:border-box;border-bottom:1px solid #bfbfbf}.vis-foreground .vis-group:last-child{border-bottom:none}.vis-overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:10}.vis-item{position:absolute;color:#1A1A1A;border-color:#97B0F8;border-width:1px;background-color:#D5DDF6;display:inline-block}.vis-item.vis-point.vis-selected,.vis-item.vis-selected{background-color:#FFF785}.vis-item.vis-selected{border-color:#FFC200;z-index:2}.vis-editable.vis-selected{cursor:move}.vis-item.vis-box{text-align:center;border-style:solid;border-radius:2px}.vis-item.vis-point{background:0 0}.vis-item.vis-dot{position:absolute;padding:0;border-width:4px;border-style:solid;border-radius:4px}.vis-item.vis-range{border-style:solid;border-radius:2px;box-sizing:border-box}.vis-item.vis-background{border:none;background-color:rgba(213,221,246,.4);box-sizing:border-box;padding:0;margin:0}.vis-item .vis-item-overflow{position:relative;width:100%;height:100%;padding:0;margin:0;overflow:hidden}.vis-item.vis-range .vis-item-content{position:relative;display:inline-block}.vis-item.vis-background .vis-item-content{position:absolute;display:inline-block}.vis-item.vis-line{padding:0;position:absolute;width:0;border-left-width:1px;border-left-style:solid}.vis-item .vis-item-content{white-space:nowrap;box-sizing:border-box;padding:5px}.vis-item .vis-delete{background:url(img/timeline/delete.png) center no-repeat;position:absolute;width:24px;height:24px;top:-4px;right:-24px;cursor:pointer}.vis-item.vis-range .vis-drag-left{position:absolute;width:24px;max-width:20%;min-width:2px;height:100%;top:0;left:-4px;cursor:w-resize}.vis-item.vis-range .vis-drag-right{position:absolute;width:24px;max-width:20%;min-width:2px;height:100%;top:0;right:-4px;cursor:e-resize}.vis-time-axis{position:relative;overflow:hidden}.vis-time-axis.vis-foreground{top:0;left:0;width:100%}.vis-time-axis.vis-background{position:absolute;top:0;left:0;width:100%;height:100%}.vis-time-axis .vis-text{position:absolute;color:#4d4d4d;padding:3px;overflow:hidden;box-sizing:border-box;white-space:nowrap}.vis-time-axis .vis-text.vis-measure{position:absolute;padding-left:0;padding-right:0;margin-left:0;margin-right:0;visibility:hidden}.vis-time-axis .vis-grid.vis-vertical{position:absolute;border-left:1px solid}.vis-time-axis .vis-grid.vis-minor{border-color:#e5e5e5}.vis-time-axis .vis-grid.vis-major{border-color:#bfbfbf}.vis-current-time{background-color:#FF7F6E;width:2px;z-index:1}.vis-custom-time{background-color:#6E94FF;width:2px;cursor:move;z-index:1}div.vis-network div.vis-close,div.vis-network div.vis-edit-mode div.vis-button,div.vis-network div.vis-manipulation div.vis-button{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-touch-callout:none;-khtml-user-select:none}.vis-panel.vis-background.vis-horizontal .vis-grid.vis-horizontal{position:absolute;width:100%;height:0;border-bottom:1px solid}.vis-panel.vis-background.vis-horizontal .vis-grid.vis-minor{border-color:#e5e5e5}.vis-panel.vis-background.vis-horizontal .vis-grid.vis-major{border-color:#bfbfbf}.vis-data-axis .vis-y-axis.vis-major{width:100%;position:absolute;color:#4d4d4d;white-space:nowrap}.vis-data-axis .vis-y-axis.vis-major.vis-measure{padding:0;margin:0;border:0;visibility:hidden;width:auto}.vis-data-axis .vis-y-axis.vis-minor{position:absolute;width:100%;color:#bebebe;white-space:nowrap}.vis-data-axis .vis-y-axis.vis-minor.vis-measure{padding:0;margin:0;border:0;visibility:hidden;width:auto}.vis-data-axis .vis-y-axis.vis-title{position:absolute;color:#4d4d4d;white-space:nowrap;bottom:20px;text-align:center}.vis-data-axis .vis-y-axis.vis-title.vis-measure{padding:0;margin:0;visibility:hidden;width:auto}.vis-data-axis .vis-y-axis.vis-title.vis-left{bottom:0;-webkit-transform-origin:left top;-moz-transform-origin:left top;-ms-transform-origin:left top;-o-transform-origin:left top;transform-origin:left bottom;-webkit-transform:rotate(-90deg);-moz-transform:rotate(-90deg);-ms-transform:rotate(-90deg);-o-transform:rotate(-90deg);transform:rotate(-90deg)}.vis-data-axis .vis-y-axis.vis-title.vis-right{bottom:0;-webkit-transform-origin:right bottom;-moz-transform-origin:right bottom;-ms-transform-origin:right bottom;-o-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.vis-legend{background-color:rgba(247,252,255,.65);padding:5px;border:1px solid #b3b3b3;box-shadow:2px 2px 10px rgba(154,154,154,.55)}.vis-legend-text{white-space:nowrap;display:inline-block}.vis-graph-group0{fill:#4f81bd;fill-opacity:0;stroke-width:2px;stroke:#4f81bd}.vis-graph-group1{fill:#f79646;fill-opacity:0;stroke-width:2px;stroke:#f79646}.vis-graph-group2{fill:#8c51cf;fill-opacity:0;stroke-width:2px;stroke:#8c51cf}.vis-graph-group3{fill:#75c841;fill-opacity:0;stroke-width:2px;stroke:#75c841}.vis-graph-group4{fill:#ff0100;fill-opacity:0;stroke-width:2px;stroke:#ff0100}.vis-graph-group5{fill:#37d8e6;fill-opacity:0;stroke-width:2px;stroke:#37d8e6}.vis-graph-group6{fill:#042662;fill-opacity:0;stroke-width:2px;stroke:#042662}.vis-graph-group7{fill:#00ff26;fill-opacity:0;stroke-width:2px;stroke:#00ff26}.vis-graph-group8{fill:#f0f;fill-opacity:0;stroke-width:2px;stroke:#f0f}.vis-graph-group9{fill:#8f3938;fill-opacity:0;stroke-width:2px;stroke:#8f3938}.vis-timeline .vis-fill{fill-opacity:.1;stroke:none}.vis-timeline .vis-bar{fill-opacity:.5;stroke-width:1px}.vis-timeline .vis-point{stroke-width:2px;fill-opacity:1}.vis-timeline .vis-legend-background{stroke-width:1px;fill-opacity:.9;fill:#fff;stroke:#c2c2c2}.vis-timeline .vis-outline{stroke-width:1px;fill-opacity:1;fill:#fff;stroke:#e5e5e5}.vis-timeline .vis-icon-fill{fill-opacity:.3;stroke:none}div.vis-network div.vis-manipulation{border-width:0;border-bottom:1px;border-style:solid;border-color:#d6d9d8;background:#fff;background:-moz-linear-gradient(top,#fff 0,#fcfcfc 48%,#fafafa 50%,#fcfcfc 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#fff),color-stop(48%,#fcfcfc),color-stop(50%,#fafafa),color-stop(100%,#fcfcfc));background:-webkit-linear-gradient(top,#fff 0,#fcfcfc 48%,#fafafa 50%,#fcfcfc 100%);background:-o-linear-gradient(top,#fff 0,#fcfcfc 48%,#fafafa 50%,#fcfcfc 100%);background:-ms-linear-gradient(top,#fff 0,#fcfcfc 48%,#fafafa 50%,#fcfcfc 100%);background:linear-gradient(to bottom,#fff 0,#fcfcfc 48%,#fafafa 50%,#fcfcfc 100%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#fcfcfc', GradientType=0 );padding-top:4px;position:absolute;left:0;top:0;width:100%;height:28px}div.vis-network div.vis-edit-mode{position:absolute;left:0;top:5px;height:30px}div.vis-network div.vis-close{position:absolute;right:0;top:0;width:30px;height:30px;background-position:20px 3px;background-repeat:no-repeat;background-image:url(img/network/cross.png);user-select:none}div.vis-network div.vis-close:hover{opacity:.6}div.vis-network div.vis-edit-mode div.vis-button,div.vis-network div.vis-manipulation div.vis-button{float:left;font-family:verdana;font-size:12px;-moz-border-radius:15px;border-radius:15px;display:inline-block;background-position:0 0;background-repeat:no-repeat;height:24px;margin-left:10px;padding:0 8px;user-select:none}div.vis-network div.vis-manipulation div.vis-button:hover{box-shadow:1px 1px 8px rgba(0,0,0,.2)}div.vis-network div.vis-manipulation div.vis-button:active{box-shadow:1px 1px 8px rgba(0,0,0,.5)}div.vis-network div.vis-manipulation div.vis-button.vis-back{background-image:url(img/network/backIcon.png)}div.vis-network div.vis-manipulation div.vis-button.vis-none:hover{box-shadow:1px 1px 8px transparent;cursor:default}div.vis-network div.vis-manipulation div.vis-button.vis-none:active{box-shadow:1px 1px 8px transparent}div.vis-network div.vis-manipulation div.vis-button.vis-none{padding:0}div.vis-network div.vis-manipulation div.notification{margin:2px;font-weight:700}div.vis-network div.vis-manipulation div.vis-button.vis-add{background-image:url(img/network/addNodeIcon.png)}div.vis-network div.vis-edit-mode div.vis-button.vis-edit,div.vis-network div.vis-manipulation div.vis-button.vis-edit{background-image:url(img/network/editIcon.png)}div.vis-network div.vis-edit-mode div.vis-button.vis-edit.vis-edit-mode{background-color:#fcfcfc;border:1px solid #ccc}div.vis-network div.vis-manipulation div.vis-button.vis-connect{background-image:url(img/network/connectIcon.png)}div.vis-network div.vis-manipulation div.vis-button.vis-delete{background-image:url(img/network/deleteIcon.png)}div.vis-network div.vis-edit-mode div.vis-label,div.vis-network div.vis-manipulation div.vis-label{margin:0 0 0 23px;line-height:25px}div.vis-network div.vis-manipulation div.vis-separator-line{float:left;display:inline-block;width:1px;height:21px;background-color:#bdbdbd;margin:0 7px 0 15px}div.vis-network-tooltip{position:absolute;visibility:hidden;padding:5px;white-space:nowrap;font-family:verdana;font-size:14px;font-color:#000;background-color:#f5f4ed;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;border:1px solid #808074;box-shadow:3px 3px 10px rgba(0,0,0,.2);pointer-events:none}div.vis-network div.vis-navigation div.vis-button{width:34px;height:34px;-moz-border-radius:17px;border-radius:17px;position:absolute;display:inline-block;background-position:2px 2px;background-repeat:no-repeat;cursor:pointer;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}div.vis-network div.vis-navigation div.vis-button:hover{box-shadow:0 0 3px 3px rgba(56,207,21,.3)}div.vis-network div.vis-navigation div.vis-button:active{box-shadow:0 0 1px 3px rgba(56,207,21,.95)}div.vis-network div.vis-navigation div.vis-button.vis-up{background-image:url(img/network/upArrow.png);bottom:50px;left:55px}div.vis-network div.vis-navigation div.vis-button.vis-down{background-image:url(img/network/downArrow.png);bottom:10px;left:55px}div.vis-network div.vis-navigation div.vis-button.vis-left{background-image:url(img/network/leftArrow.png);bottom:10px;left:15px}div.vis-network div.vis-navigation div.vis-button.vis-right{background-image:url(img/network/rightArrow.png);bottom:10px;left:95px}div.vis-network div.vis-navigation div.vis-button.vis-zoomIn{background-image:url(img/network/plus.png);bottom:10px;right:15px}div.vis-network div.vis-navigation div.vis-button.vis-zoomOut{background-image:url(img/network/minus.png);bottom:10px;right:55px}div.vis-network div.vis-navigation div.vis-button.vis-zoomExtends{background-image:url(img/network/zoomExtends.png);bottom:50px;right:15px}div.vis-color-picker{position:absolute;margin-top:-140px;margin-left:30px;width:293px;height:425px;padding:10px;border-radius:15px;background-color:#fff;display:none;box-shadow:rgba(0,0,0,.5) 0 0 10px 0}div.vis-color-picker div.vis-arrow{position:absolute;top:147px;left:5px}div.vis-color-picker div.vis-arrow:after,div.vis-color-picker div.vis-arrow:before{right:100%;top:50%;border:solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none}div.vis-color-picker div.vis-arrow:after{border-color:rgba(255,255,255,0);border-right-color:#fff;border-width:30px;margin-top:-30px}div.vis-color-picker div.vis-color{position:absolute;width:289px;height:289px;cursor:pointer}div.vis-color-picker div.vis-brightness{position:absolute;top:313px}div.vis-color-picker div.vis-opacity{position:absolute;top:350px}div.vis-color-picker div.vis-selector{position:absolute;top:137px;left:137px;width:15px;height:15px;border-radius:15px;border:1px solid #fff;background:#4c4c4c;background:-moz-linear-gradient(top,#4c4c4c 0,#595959 12%,#666 25%,#474747 39%,#2c2c2c 50%,#000 51%,#111 60%,#2b2b2b 76%,#1c1c1c 91%,#131313 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#4c4c4c),color-stop(12%,#595959),color-stop(25%,#666),color-stop(39%,#474747),color-stop(50%,#2c2c2c),color-stop(51%,#000),color-stop(60%,#111),color-stop(76%,#2b2b2b),color-stop(91%,#1c1c1c),color-stop(100%,#131313));background:-webkit-linear-gradient(top,#4c4c4c 0,#595959 12%,#666 25%,#474747 39%,#2c2c2c 50%,#000 51%,#111 60%,#2b2b2b 76%,#1c1c1c 91%,#131313 100%);background:-o-linear-gradient(top,#4c4c4c 0,#595959 12%,#666 25%,#474747 39%,#2c2c2c 50%,#000 51%,#111 60%,#2b2b2b 76%,#1c1c1c 91%,#131313 100%);background:-ms-linear-gradient(top,#4c4c4c 0,#595959 12%,#666 25%,#474747 39%,#2c2c2c 50%,#000 51%,#111 60%,#2b2b2b 76%,#1c1c1c 91%,#131313 100%);background:linear-gradient(to bottom,#4c4c4c 0,#595959 12%,#666 25%,#474747 39%,#2c2c2c 50%,#000 51%,#111 60%,#2b2b2b 76%,#1c1c1c 91%,#131313 100%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#4c4c4c', endColorstr='#131313', GradientType=0 )}div.vis-color-picker div.vis-initial-color,div.vis-color-picker div.vis-new-color{width:140px;height:20px;top:380px;font-size:10px;color:rgba(0,0,0,.4);line-height:20px;position:absolute;vertical-align:middle}div.vis-color-picker div.vis-new-color{border:1px solid rgba(0,0,0,.1);border-radius:5px;left:159px;text-align:right;padding-right:2px}div.vis-color-picker div.vis-initial-color{border:1px solid rgba(0,0,0,.1);border-radius:5px;left:10px;text-align:left;padding-left:2px}div.vis-color-picker div.vis-label{position:absolute;width:300px;left:10px}div.vis-color-picker div.vis-label.vis-brightness{top:300px}div.vis-color-picker div.vis-label.vis-opacity{top:338px}div.vis-color-picker div.vis-button{position:absolute;width:68px;height:25px;border-radius:10px;vertical-align:middle;text-align:center;line-height:25px;top:410px;border:2px solid #d9d9d9;background-color:#f7f7f7;cursor:pointer}div.vis-color-picker div.vis-button.vis-cancel{left:5px}div.vis-color-picker div.vis-button.vis-load{left:82px}div.vis-color-picker div.vis-button.vis-apply{left:159px}div.vis-color-picker div.vis-button.vis-save{left:236px}div.vis-color-picker input.vis-range{width:290px;height:20px} \ No newline at end of file +.vis-background,.vis-labelset,.vis-timeline{overflow:hidden}.vis .overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:10}.vis-active{box-shadow:0 0 10px #86d5f8}.vis [class*=span]{min-height:0;width:auto}div.vis-configuration{position:relative;display:block;float:left;font-size:12px}div.vis-configuration-wrapper{display:block;width:700px}div.vis-configuration.vis-config-option-container{display:block;width:495px;background-color:#fff;border:2px solid #f7f8fa;border-radius:4px;margin-top:20px;left:10px;padding-left:5px}div.vis-configuration.vis-config-button{display:block;width:495px;height:25px;vertical-align:middle;line-height:25px;background-color:#f7f8fa;border:2px solid #ceced0;border-radius:4px;margin-top:20px;left:10px;padding-left:5px;cursor:pointer;margin-bottom:30px}div.vis-configuration.vis-config-button.hover{background-color:#4588e6;border:2px solid #214373;color:#fff}div.vis-configuration.vis-config-item{display:block;float:left;width:495px;height:25px;vertical-align:middle;line-height:25px}div.vis-configuration.vis-config-item.vis-config-s2{left:10px;background-color:#f7f8fa;padding-left:5px;border-radius:3px}div.vis-configuration.vis-config-item.vis-config-s3{left:20px;background-color:#e4e9f0;padding-left:5px;border-radius:3px}div.vis-configuration.vis-config-item.vis-config-s4{left:30px;background-color:#cfd8e6;padding-left:5px;border-radius:3px}div.vis-configuration.vis-config-header{font-size:18px;font-weight:700}div.vis-configuration.vis-config-label{width:120px;height:25px;line-height:25px}div.vis-configuration.vis-config-label.vis-config-s3{width:110px}div.vis-configuration.vis-config-label.vis-config-s4{width:100px}div.vis-configuration.vis-config-colorBlock{top:1px;width:30px;height:19px;border:1px solid #444;border-radius:2px;padding:0;margin:0;cursor:pointer}input.vis-configuration.vis-config-checkbox{left:-5px}input.vis-configuration.vis-config-rangeinput{position:relative;top:-5px;width:60px;height:13px;padding:1px;margin:0;pointer-events:none}.vis-panel,.vis-timeline{padding:0;box-sizing:border-box}input.vis-configuration.vis-config-range{-webkit-appearance:none;border:0 solid #fff;background-color:rgba(0,0,0,0);width:300px;height:20px}input.vis-configuration.vis-config-range::-webkit-slider-runnable-track{width:300px;height:5px;background:#dedede;background:-moz-linear-gradient(top,#dedede 0,#c8c8c8 99%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#dedede),color-stop(99%,#c8c8c8));background:-webkit-linear-gradient(top,#dedede 0,#c8c8c8 99%);background:-o-linear-gradient(top,#dedede 0,#c8c8c8 99%);background:-ms-linear-gradient(top,#dedede 0,#c8c8c8 99%);background:linear-gradient(to bottom,#dedede 0,#c8c8c8 99%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#dedede', endColorstr='#c8c8c8', GradientType=0 );border:1px solid #999;box-shadow:#aaa 0 0 3px 0;border-radius:3px}input.vis-configuration.vis-config-range::-webkit-slider-thumb{-webkit-appearance:none;border:1px solid #14334b;height:17px;width:17px;border-radius:50%;background:#3876c2;background:-moz-linear-gradient(top,#3876c2 0,#385380 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#3876c2),color-stop(100%,#385380));background:-webkit-linear-gradient(top,#3876c2 0,#385380 100%);background:-o-linear-gradient(top,#3876c2 0,#385380 100%);background:-ms-linear-gradient(top,#3876c2 0,#385380 100%);background:linear-gradient(to bottom,#3876c2 0,#385380 100%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#3876c2', endColorstr='#385380', GradientType=0 );box-shadow:#111927 0 0 1px 0;margin-top:-7px}input.vis-configuration.vis-config-range:focus{outline:0}input.vis-configuration.vis-config-range:focus::-webkit-slider-runnable-track{background:#9d9d9d;background:-moz-linear-gradient(top,#9d9d9d 0,#c8c8c8 99%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#9d9d9d),color-stop(99%,#c8c8c8));background:-webkit-linear-gradient(top,#9d9d9d 0,#c8c8c8 99%);background:-o-linear-gradient(top,#9d9d9d 0,#c8c8c8 99%);background:-ms-linear-gradient(top,#9d9d9d 0,#c8c8c8 99%);background:linear-gradient(to bottom,#9d9d9d 0,#c8c8c8 99%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#9d9d9d', endColorstr='#c8c8c8', GradientType=0 )}input.vis-configuration.vis-config-range::-moz-range-track{width:300px;height:10px;background:#dedede;background:-moz-linear-gradient(top,#dedede 0,#c8c8c8 99%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#dedede),color-stop(99%,#c8c8c8));background:-webkit-linear-gradient(top,#dedede 0,#c8c8c8 99%);background:-o-linear-gradient(top,#dedede 0,#c8c8c8 99%);background:-ms-linear-gradient(top,#dedede 0,#c8c8c8 99%);background:linear-gradient(to bottom,#dedede 0,#c8c8c8 99%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#dedede', endColorstr='#c8c8c8', GradientType=0 );border:1px solid #999;box-shadow:#aaa 0 0 3px 0;border-radius:3px}input.vis-configuration.vis-config-range::-moz-range-thumb{border:none;height:16px;width:16px;border-radius:50%;background:#385380}input.vis-configuration.vis-config-range:-moz-focusring{outline:#fff solid 1px;outline-offset:-1px}input.vis-configuration.vis-config-range::-ms-track{width:300px;height:5px;background:0 0;border-color:transparent;border-width:6px 0;color:transparent}input.vis-configuration.vis-config-range::-ms-fill-lower{background:#777;border-radius:10px}input.vis-configuration.vis-config-range::-ms-fill-upper{background:#ddd;border-radius:10px}input.vis-configuration.vis-config-range::-ms-thumb{border:none;height:16px;width:16px;border-radius:50%;background:#385380}input.vis-configuration.vis-config-range:focus::-ms-fill-lower{background:#888}input.vis-configuration.vis-config-range:focus::-ms-fill-upper{background:#ccc}.vis-configuration-popup{position:absolute;background:rgba(57,76,89,.85);border:2px solid #f2faff;line-height:30px;height:30px;width:150px;text-align:center;color:#fff;font-size:14px;border-radius:4px;-webkit-transition:opacity .3s ease-in-out;-moz-transition:opacity .3s ease-in-out;transition:opacity .3s ease-in-out}.vis-configuration-popup:after,.vis-configuration-popup:before{left:100%;top:50%;border:solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none}.vis-configuration-popup:after{border-color:rgba(136,183,213,0);border-left-color:rgba(57,76,89,.85);border-width:8px;margin-top:-8px}.vis-configuration-popup:before{border-color:rgba(194,225,245,0);border-left-color:#f2faff;border-width:12px;margin-top:-12px}.vis-timeline{position:relative;border:1px solid #bfbfbf;margin:0}.vis-panel{position:absolute;margin:0}.vis-panel.vis-bottom,.vis-panel.vis-center,.vis-panel.vis-left,.vis-panel.vis-right,.vis-panel.vis-top{border:1px #bfbfbf}.vis-panel.vis-center,.vis-panel.vis-left,.vis-panel.vis-right{border-top-style:solid;border-bottom-style:solid;overflow:hidden}.vis-panel.vis-bottom,.vis-panel.vis-center,.vis-panel.vis-top{border-left-style:solid;border-right-style:solid}.vis-panel>.vis-content{position:relative}.vis-panel .vis-shadow{position:absolute;width:100%;height:1px;box-shadow:0 0 10px rgba(0,0,0,.8)}.vis-itemset,.vis-labelset,.vis-labelset .vis-label{position:relative;box-sizing:border-box}.vis-panel .vis-shadow.vis-top{top:-1px;left:0}.vis-panel .vis-shadow.vis-bottom{bottom:-1px;left:0}.vis-labelset .vis-label{left:0;top:0;width:100%;color:#4d4d4d;border-bottom:1px solid #bfbfbf}.vis-labelset .vis-label.draggable{cursor:pointer}.vis-labelset .vis-label:last-child{border-bottom:none}.vis-labelset .vis-label .vis-inner{display:inline-block;padding:5px}.vis-labelset .vis-label .vis-inner.vis-hidden{padding:0}.vis-itemset{padding:0;margin:0}.vis-itemset .vis-background,.vis-itemset .vis-foreground{position:absolute;width:100%;height:100%;overflow:visible}.vis-axis{position:absolute;width:100%;height:0;left:0;z-index:1}.vis-foreground .vis-group{position:relative;box-sizing:border-box;border-bottom:1px solid #bfbfbf}.vis-foreground .vis-group:last-child{border-bottom:none}.vis-overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:10}.vis-item{position:absolute;color:#1A1A1A;border-color:#97B0F8;border-width:1px;background-color:#D5DDF6;display:inline-block}.vis-item.vis-point.vis-selected,.vis-item.vis-selected{background-color:#FFF785}.vis-item.vis-selected{border-color:#FFC200;z-index:2}.vis-editable.vis-selected{cursor:move}.vis-item.vis-box{text-align:center;border-style:solid;border-radius:2px}.vis-item.vis-point{background:0 0}.vis-item.vis-dot{position:absolute;padding:0;border-width:4px;border-style:solid;border-radius:4px}.vis-item.vis-range{border-style:solid;border-radius:2px;box-sizing:border-box}.vis-item.vis-background{border:none;background-color:rgba(213,221,246,.4);box-sizing:border-box;padding:0;margin:0}.vis-item .vis-item-overflow{position:relative;width:100%;height:100%;padding:0;margin:0;overflow:hidden}.vis-item.vis-range .vis-item-content{position:relative;display:inline-block}.vis-item.vis-background .vis-item-content{position:absolute;display:inline-block}.vis-item.vis-line{padding:0;position:absolute;width:0;border-left-width:1px;border-left-style:solid}.vis-item .vis-item-content{white-space:nowrap;box-sizing:border-box;padding:5px}.vis-item .vis-delete{background:url(img/timeline/delete.png) center no-repeat;position:absolute;width:24px;height:24px;top:-4px;right:-24px;cursor:pointer}.vis-item.vis-range .vis-drag-left{position:absolute;width:24px;max-width:20%;min-width:2px;height:100%;top:0;left:-4px;cursor:w-resize}.vis-item.vis-range .vis-drag-right{position:absolute;width:24px;max-width:20%;min-width:2px;height:100%;top:0;right:-4px;cursor:e-resize}.vis-range.vis-item.vis-readonly .vis-drag-left,.vis-range.vis-item.vis-readonly .vis-drag-right{cursor:auto}.vis-time-axis{position:relative;overflow:hidden}.vis-time-axis.vis-foreground{top:0;left:0;width:100%}.vis-time-axis.vis-background{position:absolute;top:0;left:0;width:100%;height:100%}.vis-time-axis .vis-text{position:absolute;color:#4d4d4d;padding:3px;overflow:hidden;box-sizing:border-box;white-space:nowrap}.vis-time-axis .vis-text.vis-measure{position:absolute;padding-left:0;padding-right:0;margin-left:0;margin-right:0;visibility:hidden}.vis-time-axis .vis-grid.vis-vertical{position:absolute;border-left:1px solid}.vis-time-axis .vis-grid.vis-minor{border-color:#e5e5e5}.vis-time-axis .vis-grid.vis-major{border-color:#bfbfbf}.vis-current-time{background-color:#FF7F6E;width:2px;z-index:1}.vis-custom-time{background-color:#6E94FF;width:2px;cursor:move;z-index:1}div.vis-network div.vis-close,div.vis-network div.vis-edit-mode div.vis-button,div.vis-network div.vis-manipulation div.vis-button{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-touch-callout:none;-khtml-user-select:none}.vis-panel.vis-background.vis-horizontal .vis-grid.vis-horizontal{position:absolute;width:100%;height:0;border-bottom:1px solid}.vis-panel.vis-background.vis-horizontal .vis-grid.vis-minor{border-color:#e5e5e5}.vis-panel.vis-background.vis-horizontal .vis-grid.vis-major{border-color:#bfbfbf}.vis-data-axis .vis-y-axis.vis-major{width:100%;position:absolute;color:#4d4d4d;white-space:nowrap}.vis-data-axis .vis-y-axis.vis-major.vis-measure{padding:0;margin:0;border:0;visibility:hidden;width:auto}.vis-data-axis .vis-y-axis.vis-minor{position:absolute;width:100%;color:#bebebe;white-space:nowrap}.vis-data-axis .vis-y-axis.vis-minor.vis-measure{padding:0;margin:0;border:0;visibility:hidden;width:auto}.vis-data-axis .vis-y-axis.vis-title{position:absolute;color:#4d4d4d;white-space:nowrap;bottom:20px;text-align:center}.vis-data-axis .vis-y-axis.vis-title.vis-measure{padding:0;margin:0;visibility:hidden;width:auto}.vis-data-axis .vis-y-axis.vis-title.vis-left{bottom:0;-webkit-transform-origin:left top;-moz-transform-origin:left top;-ms-transform-origin:left top;-o-transform-origin:left top;transform-origin:left bottom;-webkit-transform:rotate(-90deg);-moz-transform:rotate(-90deg);-ms-transform:rotate(-90deg);-o-transform:rotate(-90deg);transform:rotate(-90deg)}.vis-data-axis .vis-y-axis.vis-title.vis-right{bottom:0;-webkit-transform-origin:right bottom;-moz-transform-origin:right bottom;-ms-transform-origin:right bottom;-o-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.vis-legend{background-color:rgba(247,252,255,.65);padding:5px;border:1px solid #b3b3b3;box-shadow:2px 2px 10px rgba(154,154,154,.55)}.vis-legend-text{white-space:nowrap;display:inline-block}.vis-graph-group0{fill:#4f81bd;fill-opacity:0;stroke-width:2px;stroke:#4f81bd}.vis-graph-group1{fill:#f79646;fill-opacity:0;stroke-width:2px;stroke:#f79646}.vis-graph-group2{fill:#8c51cf;fill-opacity:0;stroke-width:2px;stroke:#8c51cf}.vis-graph-group3{fill:#75c841;fill-opacity:0;stroke-width:2px;stroke:#75c841}.vis-graph-group4{fill:#ff0100;fill-opacity:0;stroke-width:2px;stroke:#ff0100}.vis-graph-group5{fill:#37d8e6;fill-opacity:0;stroke-width:2px;stroke:#37d8e6}.vis-graph-group6{fill:#042662;fill-opacity:0;stroke-width:2px;stroke:#042662}.vis-graph-group7{fill:#00ff26;fill-opacity:0;stroke-width:2px;stroke:#00ff26}.vis-graph-group8{fill:#f0f;fill-opacity:0;stroke-width:2px;stroke:#f0f}.vis-graph-group9{fill:#8f3938;fill-opacity:0;stroke-width:2px;stroke:#8f3938}.vis-timeline .vis-fill{fill-opacity:.1;stroke:none}.vis-timeline .vis-bar{fill-opacity:.5;stroke-width:1px}.vis-timeline .vis-point{stroke-width:2px;fill-opacity:1}.vis-timeline .vis-legend-background{stroke-width:1px;fill-opacity:.9;fill:#fff;stroke:#c2c2c2}.vis-timeline .vis-outline{stroke-width:1px;fill-opacity:1;fill:#fff;stroke:#e5e5e5}.vis-timeline .vis-icon-fill{fill-opacity:.3;stroke:none}div.vis-network div.vis-manipulation{border-width:0;border-bottom:1px;border-style:solid;border-color:#d6d9d8;background:#fff;background:-moz-linear-gradient(top,#fff 0,#fcfcfc 48%,#fafafa 50%,#fcfcfc 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#fff),color-stop(48%,#fcfcfc),color-stop(50%,#fafafa),color-stop(100%,#fcfcfc));background:-webkit-linear-gradient(top,#fff 0,#fcfcfc 48%,#fafafa 50%,#fcfcfc 100%);background:-o-linear-gradient(top,#fff 0,#fcfcfc 48%,#fafafa 50%,#fcfcfc 100%);background:-ms-linear-gradient(top,#fff 0,#fcfcfc 48%,#fafafa 50%,#fcfcfc 100%);background:linear-gradient(to bottom,#fff 0,#fcfcfc 48%,#fafafa 50%,#fcfcfc 100%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#fcfcfc', GradientType=0 );padding-top:4px;position:absolute;left:0;top:0;width:100%;height:28px}div.vis-network div.vis-edit-mode{position:absolute;left:0;top:5px;height:30px}div.vis-network div.vis-close{position:absolute;right:0;top:0;width:30px;height:30px;background-position:20px 3px;background-repeat:no-repeat;background-image:url(img/network/cross.png);user-select:none}div.vis-network div.vis-close:hover{opacity:.6}div.vis-network div.vis-edit-mode div.vis-button,div.vis-network div.vis-manipulation div.vis-button{float:left;font-family:verdana;font-size:12px;-moz-border-radius:15px;border-radius:15px;display:inline-block;background-position:0 0;background-repeat:no-repeat;height:24px;margin-left:10px;padding:0 8px;user-select:none}div.vis-network div.vis-manipulation div.vis-button:hover{box-shadow:1px 1px 8px rgba(0,0,0,.2)}div.vis-network div.vis-manipulation div.vis-button:active{box-shadow:1px 1px 8px rgba(0,0,0,.5)}div.vis-network div.vis-manipulation div.vis-button.vis-back{background-image:url(img/network/backIcon.png)}div.vis-network div.vis-manipulation div.vis-button.vis-none:hover{box-shadow:1px 1px 8px transparent;cursor:default}div.vis-network div.vis-manipulation div.vis-button.vis-none:active{box-shadow:1px 1px 8px transparent}div.vis-network div.vis-manipulation div.vis-button.vis-none{padding:0}div.vis-network div.vis-manipulation div.notification{margin:2px;font-weight:700}div.vis-network div.vis-manipulation div.vis-button.vis-add{background-image:url(img/network/addNodeIcon.png)}div.vis-network div.vis-edit-mode div.vis-button.vis-edit,div.vis-network div.vis-manipulation div.vis-button.vis-edit{background-image:url(img/network/editIcon.png)}div.vis-network div.vis-edit-mode div.vis-button.vis-edit.vis-edit-mode{background-color:#fcfcfc;border:1px solid #ccc}div.vis-network div.vis-manipulation div.vis-button.vis-connect{background-image:url(img/network/connectIcon.png)}div.vis-network div.vis-manipulation div.vis-button.vis-delete{background-image:url(img/network/deleteIcon.png)}div.vis-network div.vis-edit-mode div.vis-label,div.vis-network div.vis-manipulation div.vis-label{margin:0 0 0 23px;line-height:25px}div.vis-network div.vis-manipulation div.vis-separator-line{float:left;display:inline-block;width:1px;height:21px;background-color:#bdbdbd;margin:0 7px 0 15px}div.vis-network-tooltip{position:absolute;visibility:hidden;padding:5px;white-space:nowrap;font-family:verdana;font-size:14px;font-color:#000;background-color:#f5f4ed;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;border:1px solid #808074;box-shadow:3px 3px 10px rgba(0,0,0,.2);pointer-events:none}div.vis-network div.vis-navigation div.vis-button{width:34px;height:34px;-moz-border-radius:17px;border-radius:17px;position:absolute;display:inline-block;background-position:2px 2px;background-repeat:no-repeat;cursor:pointer;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}div.vis-network div.vis-navigation div.vis-button:hover{box-shadow:0 0 3px 3px rgba(56,207,21,.3)}div.vis-network div.vis-navigation div.vis-button:active{box-shadow:0 0 1px 3px rgba(56,207,21,.95)}div.vis-network div.vis-navigation div.vis-button.vis-up{background-image:url(img/network/upArrow.png);bottom:50px;left:55px}div.vis-network div.vis-navigation div.vis-button.vis-down{background-image:url(img/network/downArrow.png);bottom:10px;left:55px}div.vis-network div.vis-navigation div.vis-button.vis-left{background-image:url(img/network/leftArrow.png);bottom:10px;left:15px}div.vis-network div.vis-navigation div.vis-button.vis-right{background-image:url(img/network/rightArrow.png);bottom:10px;left:95px}div.vis-network div.vis-navigation div.vis-button.vis-zoomIn{background-image:url(img/network/plus.png);bottom:10px;right:15px}div.vis-network div.vis-navigation div.vis-button.vis-zoomOut{background-image:url(img/network/minus.png);bottom:10px;right:55px}div.vis-network div.vis-navigation div.vis-button.vis-zoomExtends{background-image:url(img/network/zoomExtends.png);bottom:50px;right:15px}div.vis-color-picker{position:absolute;top:0;left:30px;margin-top:-140px;margin-left:30px;width:310px;height:444px;z-index:1;padding:10px;border-radius:15px;background-color:#fff;display:none;box-shadow:rgba(0,0,0,.5) 0 0 10px 0}div.vis-color-picker div.vis-arrow{position:absolute;top:147px;left:5px}div.vis-color-picker div.vis-arrow::after,div.vis-color-picker div.vis-arrow::before{right:100%;top:50%;border:solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none}div.vis-color-picker div.vis-arrow:after{border-color:rgba(255,255,255,0);border-right-color:#fff;border-width:30px;margin-top:-30px}div.vis-color-picker div.vis-color{position:absolute;width:289px;height:289px;cursor:pointer}div.vis-color-picker div.vis-brightness{position:absolute;top:313px}div.vis-color-picker div.vis-opacity{position:absolute;top:350px}div.vis-color-picker div.vis-selector{position:absolute;top:137px;left:137px;width:15px;height:15px;border-radius:15px;border:1px solid #fff;background:#4c4c4c;background:-moz-linear-gradient(top,#4c4c4c 0,#595959 12%,#666 25%,#474747 39%,#2c2c2c 50%,#000 51%,#111 60%,#2b2b2b 76%,#1c1c1c 91%,#131313 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#4c4c4c),color-stop(12%,#595959),color-stop(25%,#666),color-stop(39%,#474747),color-stop(50%,#2c2c2c),color-stop(51%,#000),color-stop(60%,#111),color-stop(76%,#2b2b2b),color-stop(91%,#1c1c1c),color-stop(100%,#131313));background:-webkit-linear-gradient(top,#4c4c4c 0,#595959 12%,#666 25%,#474747 39%,#2c2c2c 50%,#000 51%,#111 60%,#2b2b2b 76%,#1c1c1c 91%,#131313 100%);background:-o-linear-gradient(top,#4c4c4c 0,#595959 12%,#666 25%,#474747 39%,#2c2c2c 50%,#000 51%,#111 60%,#2b2b2b 76%,#1c1c1c 91%,#131313 100%);background:-ms-linear-gradient(top,#4c4c4c 0,#595959 12%,#666 25%,#474747 39%,#2c2c2c 50%,#000 51%,#111 60%,#2b2b2b 76%,#1c1c1c 91%,#131313 100%);background:linear-gradient(to bottom,#4c4c4c 0,#595959 12%,#666 25%,#474747 39%,#2c2c2c 50%,#000 51%,#111 60%,#2b2b2b 76%,#1c1c1c 91%,#131313 100%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#4c4c4c', endColorstr='#131313', GradientType=0 )}div.vis-color-picker div.vis-initial-color,div.vis-color-picker div.vis-new-color{width:140px;height:20px;top:380px;font-size:10px;color:rgba(0,0,0,.4);line-height:20px;position:absolute;vertical-align:middle}div.vis-color-picker div.vis-new-color{border:1px solid rgba(0,0,0,.1);border-radius:5px;left:159px;text-align:right;padding-right:2px}div.vis-color-picker div.vis-initial-color{border:1px solid rgba(0,0,0,.1);border-radius:5px;left:10px;text-align:left;padding-left:2px}div.vis-color-picker div.vis-label{position:absolute;width:300px;left:10px}div.vis-color-picker div.vis-label.vis-brightness{top:300px}div.vis-color-picker div.vis-label.vis-opacity{top:338px}div.vis-color-picker div.vis-button{position:absolute;width:68px;height:25px;border-radius:10px;vertical-align:middle;text-align:center;line-height:25px;top:410px;border:2px solid #d9d9d9;background-color:#f7f7f7;cursor:pointer}div.vis-color-picker div.vis-button.vis-cancel{left:5px}div.vis-color-picker div.vis-button.vis-load{left:82px}div.vis-color-picker div.vis-button.vis-apply{left:159px}div.vis-color-picker div.vis-button.vis-save{left:236px}div.vis-color-picker input.vis-range{width:290px;height:20px} \ No newline at end of file diff --git a/dist/vis.min.js b/dist/vis.min.js index fda4916e..6512a8b9 100644 --- a/dist/vis.min.js +++ b/dist/vis.min.js @@ -4,11 +4,11 @@ * * A dynamic, browser-based visualization library. * - * @version 4.11.0 - * @date 2015-12-18 + * @version 4.12.0 + * @date 2016-01-08 * * @license - * Copyright (C) 2011-2015 Almende B.V, http://almende.com + * Copyright (C) 2011-2016 Almende B.V, http://almende.com * * Vis.js is dual licensed under both * @@ -22,23 +22,23 @@ * * Vis.js may be distributed under either license. */ -"use strict";!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.vis=e():t.vis=e()}(this,function(){return function(t){function e(o){if(i[o])return i[o].exports;var n=i[o]={exports:{},id:o,loaded:!1};return t[o].call(n.exports,n,n.exports,e),n.loaded=!0,n.exports}var i={};return e.m=t,e.c=i,e.p="",e(0)}([function(t,e,i){e.util=i(1),e.DOMutil=i(7),e.DataSet=i(8),e.DataView=i(10),e.Queue=i(9),e.Graph3d=i(11),e.graph3d={Camera:i(15),Filter:i(16),Point2d:i(14),Point3d:i(13),Slider:i(17),StepNumber:i(18)},e.Timeline=i(19),e.Graph2d=i(49),e.timeline={Core:i(28),DataStep:i(52),DateUtil:i(27),Range:i(24),stack:i(32),TimeStep:i(30),components:{items:{Item:i(34),BackgroundItem:i(38),BoxItem:i(36),PointItem:i(37),RangeItem:i(33)},BackgroundGroup:i(35),Component:i(26),CurrentTime:i(44),CustomTime:i(42),DataAxis:i(51),GraphGroup:i(53),Group:i(31),ItemSet:i(29),Legend:i(57),LineGraph:i(50),TimeAxis:i(39)}},e.Network=i(59),e.network={Images:i(117),dotparser:i(115),gephiParser:i(116),allOptions:i(111)},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(2),e.Hammer=i(20),e.keycharm=i(41)},function(t,e,i){var o=i(2),n=i(6);e.isNumber=function(t){return t instanceof Number||"number"==typeof t},e.recursiveDOMDelete=function(t){if(t)for(;t.hasChildNodes()===!0;)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)){var i=s.exec(t);if(i)return!0;if(!isNaN(Date.parse(t)))return!0}return!1},e.randomUUID=function(){return n.v4()},e.assignAllKeys=function(t,e){for(var i in t)t.hasOwnProperty(i)&&"object"!=typeof t[i]&&(t[i]=e)},e.fillIfDefined=function(t,i){var o=arguments.length<=2||void 0===arguments[2]?!1:arguments[2];for(var n in t)void 0!==i[n]&&("object"!=typeof i[n]?void 0!==i[n]&&null!==i[n]||void 0===t[n]||o!==!0?t[n]=i[n]:delete t[n]:"object"==typeof t[n]&&e.fillIfDefined(t[n],i[n],o))},e.protoExtend=function(t,e){for(var i=1;ii;i++)if(t[i]!=e[i])return!1;return!0},e.convert=function(t,i){var n;if(void 0!==t){if(null===t)return null;if(!i)return t;if("string"!=typeof i&&!(i instanceof String))throw new Error("Type must be a string");switch(i){case"boolean":case"Boolean":return Boolean(t);case"number":case"Number":return Number(t.valueOf());case"string":case"String":return String(t);case"Date":if(e.isNumber(t))return new Date(t);if(t instanceof Date)return new Date(t.valueOf());if(o.isMoment(t))return new Date(t.valueOf());if(e.isString(t))return n=s.exec(t),n?new Date(Number(n[1])):o(t).toDate();throw new Error("Cannot convert object of type "+e.getType(t)+" to type Date");case"Moment":if(e.isNumber(t))return o(t);if(t instanceof Date)return o(t.valueOf());if(o.isMoment(t))return o(t);if(e.isString(t))return n=s.exec(t),o(n?Number(n[1]):t);throw new Error("Cannot convert object of type "+e.getType(t)+" to type Date");case"ISODate":if(e.isNumber(t))return new Date(t);if(t instanceof Date)return t.toISOString();if(o.isMoment(t))return t.toDate().toISOString();if(e.isString(t))return n=s.exec(t),n?new Date(Number(n[1])).toISOString():new Date(t).toISOString();throw new Error("Cannot convert object of type "+e.getType(t)+" to type ISODate");case"ASPDate":if(e.isNumber(t))return"/Date("+t+")/";if(t instanceof Date)return"/Date("+t.valueOf()+")/";if(e.isString(t)){n=s.exec(t);var r;return r=n?new Date(Number(n[1])).valueOf():new Date(t).valueOf(),"/Date("+r+")/"}throw new Error("Cannot convert object of type "+e.getType(t)+" to type ASPDate");default:throw new Error('Unknown type "'+i+'"')}}};var s=/^\/?Date\((\-?\d+)/i;e.getType=function(t){var e=typeof t;return"object"==e?null===t?"null":t instanceof Boolean?"Boolean":t instanceof Number?"Number":t instanceof String?"String":Array.isArray(t)?"Array":t instanceof Date?"Date":"Object":"number"==e?"Number":"boolean"==e?"Boolean":"string"==e?"String":void 0===e?"undefined":e},e.copyAndExtendArray=function(t,e){for(var i=[],o=0;oi;i++)e(t[i],i,t);else for(i in t)t.hasOwnProperty(i)&&e(t[i],i,t)},e.toArray=function(t){var e=[];for(var i in t)t.hasOwnProperty(i)&&e.push(t[i]);return e},e.updateProperty=function(t,e,i){return t[e]!==i?(t[e]=i,!0):!1},e.throttle=function(t,e){var i=null,o=!1;return function n(){i?o=!0:(o=!1,t(),i=setTimeout(function(){i=null,o&&n()},e))}},e.addEventListener=function(t,e,i,o){t.addEventListener?(void 0===o&&(o=!1),"mousewheel"===e&&navigator.userAgent.indexOf("Firefox")>=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){if(-1!=t.indexOf("rgba"))return t;if(-1!=t.indexOf("rgb")){var o=t.substr(t.indexOf("(")+1).replace(")","").split(",");return"rgba("+o[0]+","+o[1]+","+o[2]+","+i+")"}var o=e.hexToRGB(t);return 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(e.isString(t)===!0){if(e.isValidRGB(t)===!0){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(e.isValidHex(t)===!0){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,r=t==o?3:i==o?1:5,a=60*(r-s/(n-o))/360,h=(n-o)/n,d=n;return{h:a,s:h,v:d}};var r={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 Object.keys(t).map(function(e){return e+": "+t[e]}).join("; ")}};e.addCssText=function(t,i){var o=r.split(t.style.cssText),n=r.split(i),s=e.extend(o,n);t.style.cssText=r.join(s)},e.removeCssText=function(t,e){var i=r.split(t.style.cssText),o=r.split(e);for(var n in o)o.hasOwnProperty(n)&&delete i[n];t.style.cssText=r.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){var e=/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(t);return e},e.isValidRGB=function(t){t=t.replace(" ","");var e=/rgb\((\d{1,3}),(\d{1,3}),(\d{1,3})\)/i.test(t);return e},e.isValidRGBA=function(t){t=t.replace(" ","");var e=/rgba\((\d{1,3}),(\d{1,3}),(\d{1,3}),(.{1,3})\)/i.test(t);return e},e.selectiveBridgeObject=function(t,i){if("object"==typeof i){for(var o=Object.create(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]?!1:arguments[3],arguments.length<=4||void 0===arguments[4]?{}:arguments[4]);if(null===e[i])t[i]=Object.create(o[i]);else if(void 0!==e[i])if("boolean"==typeof e[i])t[i].enabled=e[i];else{void 0===e[i].enabled&&(t[i].enabled=!0);for(var n in e[i])e[i].hasOwnProperty(n)&&(t[i][n]=e[i][n])}},e.binarySearchCustom=function(t,e,i,o){for(var n=1e4,s=0,r=0,a=t.length-1;a>=r&&n>s;){var h=Math.floor((r+a)/2),d=t[h],l=void 0===o?d[i]:d[i][o],u=e(l);if(0==u)return h;-1==u?r=h+1:a=h-1,s++}return-1},e.binarySearchValue=function(t,e,i,o){for(var n,s,r,a,h=1e4,d=0,l=0,u=t.length-1;u>=l&&h>d;){if(a=Math.floor(.5*(u+l)),n=t[Math.max(0,a-1)][i],s=t[a][i],r=t[Math.min(t.length-1,a+1)][i],s==e)return a;if(e>n&&s>e)return"before"==o?Math.max(0,a-1):a;if(e>s&&r>e)return"before"==o?a:Math.min(t.length-1,a+1);e>s?l=a+1:u=a-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.5>t?2*t*t:-1+(4-2*t)*t},easeInCubic:function(t){return t*t*t},easeOutCubic:function(t){return--t*t*t+1},easeInOutCubic:function(t){return.5>t?4*t*t*t:(t-1)*(2*t-2)*(2*t-2)+1},easeInQuart:function(t){return t*t*t*t},easeOutQuart:function(t){return 1- --t*t*t*t},easeInOutQuart:function(t){return.5>t?8*t*t*t*t:1-8*--t*t*t*t},easeInQuint:function(t){return t*t*t*t*t},easeOutQuint:function(t){return 1+--t*t*t*t*t},easeInOutQuint:function(t){return.5>t?16*t*t*t*t*t:1+16*--t*t*t*t*t}}},function(t,e,i){t.exports="undefined"!=typeof window&&window.moment||i(3)},function(t,e,i){(function(t){!function(e,i){t.exports=i()}(this,function(){function e(){return zi.apply(null,arguments)}function i(t){zi=t}function o(t){return"[object Array]"===Object.prototype.toString.call(t)}function n(t){return t instanceof Date||"[object Date]"===Object.prototype.toString.call(t)}function s(t,e){var i,o=[];for(i=0;i0)for(i in Ai)o=Ai[i],n=e[o],"undefined"!=typeof n&&(t[o]=n);return t}function f(t){p(this,t),this._d=new Date(null!=t._d?t._d.getTime():NaN),Bi===!1&&(Bi=!0,e.updateOffset(this),Bi=!1)}function m(t){return t instanceof f||null!=t&&null!=t._isAMomentObject}function v(t){return 0>t?Math.ceil(t):Math.floor(t)}function g(t){var e=+t,i=0;return 0!==e&&isFinite(e)&&(i=v(e)),i}function y(t,e,i){var o,n=Math.min(t.length,e.length),s=Math.abs(t.length-e.length),r=0;for(o=0;n>o;o++)(i&&t[o]!==e[o]||!i&&g(t[o])!==g(e[o]))&&r++;return r+s}function b(){}function w(t){return t?t.toLowerCase().replace("_","-"):t}function _(t){for(var e,i,o,n,s=0;s0;){if(o=x(n.slice(0,e).join("-")))return o;if(i&&i.length>=e&&y(n,i,!0)>=e-1)break;e--}s++}return null}function x(e){var i=null;if(!Fi[e]&&"undefined"!=typeof t&&t&&t.exports)try{i=Li._abbr,!function(){var t=new Error('Cannot find module "./locale"');throw t.code="MODULE_NOT_FOUND",t}(),k(i)}catch(o){}return Fi[e]}function k(t,e){var i;return t&&(i="undefined"==typeof e?M(t):O(t,e),i&&(Li=i)),Li._abbr}function O(t,e){return null!==e?(e.abbr=t,Fi[t]=Fi[t]||new b,Fi[t].set(e),k(t),Fi[t]):(delete Fi[t],null)}function M(t){var e;if(t&&t._locale&&t._locale._abbr&&(t=t._locale._abbr),!t)return Li;if(!o(t)){if(e=x(t))return e;t=[t]}return _(t)}function D(t,e){var i=t.toLowerCase();Ri[i]=Ri[i+"s"]=Ri[e]=t}function C(t){return"string"==typeof t?Ri[t]||Ri[t.toLowerCase()]:void 0}function T(t){var e,i,o={};for(i in t)r(t,i)&&(e=C(i),e&&(o[e]=t[i]));return o}function S(t,i){return function(o){return null!=o?(P(this,t,o),e.updateOffset(this,i),this):E(this,t)}}function E(t,e){return t._d["get"+(t._isUTC?"UTC":"")+e]()}function P(t,e,i){return t._d["set"+(t._isUTC?"UTC":"")+e](i)}function I(t,e){var i;if("object"==typeof t)for(i in t)this.set(i,t[i]);else if(t=C(t),"function"==typeof this[t])return this[t](e);return this}function N(t,e,i){var o=""+Math.abs(t),n=e-o.length,s=t>=0;return(s?i?"+":"":"-")+Math.pow(10,Math.max(0,n)).toString().substr(1)+o}function z(t,e,i,o){var n=o;"string"==typeof o&&(n=function(){return this[o]()}),t&&(Yi[t]=n),e&&(Yi[e[0]]=function(){return N(n.apply(this,arguments),e[1],e[2])}),i&&(Yi[i]=function(){return this.localeData().ordinal(n.apply(this,arguments),t)})}function L(t){return t.match(/\[[\s\S]/)?t.replace(/^\[|\]$/g,""):t.replace(/\\/g,"")}function A(t){var e,i,o=t.match(ji);for(e=0,i=o.length;i>e;e++)Yi[o[e]]?o[e]=Yi[o[e]]:o[e]=L(o[e]);return function(n){var s="";for(e=0;i>e;e++)s+=o[e]instanceof Function?o[e].call(n,t):o[e];return s}}function B(t,e){return t.isValid()?(e=F(e,t.localeData()),Wi[e]=Wi[e]||A(e),Wi[e](t)):t.localeData().invalidDate()}function F(t,e){function i(t){return e.longDateFormat(t)||t}var o=5;for(Hi.lastIndex=0;o>=0&&Hi.test(t);)t=t.replace(Hi,i),Hi.lastIndex=0,o-=1;return t}function R(t){return"function"==typeof t&&"[object Function]"===Object.prototype.toString.call(t)}function j(t,e,i){no[t]=R(e)?e:function(t){return t&&i?i:e}}function H(t,e){return r(no,t)?no[t](e._strict,e._locale):new RegExp(W(t))}function W(t){return t.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(t,e,i,o,n){return e||i||o||n}).replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function Y(t,e){var i,o=e;for("string"==typeof t&&(t=[t]),"number"==typeof e&&(o=function(t,i){i[e]=g(t)}),i=0;io;o++){if(n=h([2e3,o]),i&&!this._longMonthsParse[o]&&(this._longMonthsParse[o]=new RegExp("^"+this.months(n,"").replace(".","")+"$","i"),this._shortMonthsParse[o]=new RegExp("^"+this.monthsShort(n,"").replace(".","")+"$","i")),i||this._monthsParse[o]||(s="^"+this.months(n,"")+"|^"+this.monthsShort(n,""),this._monthsParse[o]=new RegExp(s.replace(".",""),"i")),i&&"MMMM"===e&&this._longMonthsParse[o].test(t))return o;if(i&&"MMM"===e&&this._shortMonthsParse[o].test(t))return o;if(!i&&this._monthsParse[o].test(t))return o}}function K(t,e){var i;return"string"==typeof e&&(e=t.localeData().monthsParse(e),"number"!=typeof e)?t:(i=Math.min(t.date(),V(t.year(),e)),t._d["set"+(t._isUTC?"UTC":"")+"Month"](e,i),t)}function J(t){return null!=t?(K(this,t),e.updateOffset(this,!0),this):E(this,"Month")}function Q(){return V(this.year(),this.month())}function $(t){var e,i=t._a;return i&&-2===l(t).overflow&&(e=i[ao]<0||i[ao]>11?ao:i[ho]<1||i[ho]>V(i[ro],i[ao])?ho:i[lo]<0||i[lo]>24||24===i[lo]&&(0!==i[uo]||0!==i[co]||0!==i[po])?lo:i[uo]<0||i[uo]>59?uo:i[co]<0||i[co]>59?co:i[po]<0||i[po]>999?po:-1,l(t)._overflowDayOfYear&&(ro>e||e>ho)&&(e=ho),l(t).overflow=e),t}function tt(t){e.suppressDeprecationWarnings===!1&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+t)}function et(t,e){var i=!0;return a(function(){return i&&(tt(t+"\n"+(new Error).stack),i=!1),e.apply(this,arguments)},e)}function it(t,e){vo[t]||(tt(e),vo[t]=!0)}function ot(t){var e,i,o=t._i,n=go.exec(o);if(n){for(l(t).iso=!0,e=0,i=yo.length;i>e;e++)if(yo[e][1].exec(o)){t._f=yo[e][0];break}for(e=0,i=bo.length;i>e;e++)if(bo[e][1].exec(o)){t._f+=(n[6]||" ")+bo[e][0];break}o.match(eo)&&(t._f+="Z"),xt(t)}else t._isValid=!1}function nt(t){var i=wo.exec(t._i);return null!==i?void(t._d=new Date(+i[1])):(ot(t),void(t._isValid===!1&&(delete t._isValid,e.createFromInputFallback(t))))}function st(t,e,i,o,n,s,r){var a=new Date(t,e,i,o,n,s,r);return 1970>t&&a.setFullYear(t),a}function rt(t){var e=new Date(Date.UTC.apply(null,arguments));return 1970>t&&e.setUTCFullYear(t),e}function at(t){return ht(t)?366:365}function ht(t){return t%4===0&&t%100!==0||t%400===0}function dt(){return ht(this.year())}function lt(t,e,i){var o,n=i-e,s=i-t.day();return s>n&&(s-=7),n-7>s&&(s+=7),o=Et(t).add(s,"d"),{week:Math.ceil(o.dayOfYear()/7),year:o.year()}}function ut(t){return lt(t,this._week.dow,this._week.doy).week}function ct(){return this._week.dow}function pt(){return this._week.doy}function ft(t){var e=this.localeData().week(this);return null==t?e:this.add(7*(t-e),"d")}function mt(t){var e=lt(this,1,4).week;return null==t?e:this.add(7*(t-e),"d")}function vt(t,e,i,o,n){var s,r=6+n-o,a=rt(t,0,1+r),h=a.getUTCDay();return n>h&&(h+=7),i=null!=i?1*i:n,s=1+r+7*(e-1)-h+i,{year:s>0?t:t-1,dayOfYear:s>0?s:at(t-1)+s}}function gt(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 yt(t,e,i){return null!=t?t:null!=e?e:i}function bt(t){var e=new Date;return t._useUTC?[e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()]:[e.getFullYear(),e.getMonth(),e.getDate()]}function wt(t){var e,i,o,n,s=[];if(!t._d){for(o=bt(t),t._w&&null==t._a[ho]&&null==t._a[ao]&&_t(t),t._dayOfYear&&(n=yt(t._a[ro],o[ro]),t._dayOfYear>at(n)&&(l(t)._overflowDayOfYear=!0),i=rt(n,0,t._dayOfYear),t._a[ao]=i.getUTCMonth(),t._a[ho]=i.getUTCDate()),e=0;3>e&&null==t._a[e];++e)t._a[e]=s[e]=o[e];for(;7>e;e++)t._a[e]=s[e]=null==t._a[e]?2===e?1:0:t._a[e];24===t._a[lo]&&0===t._a[uo]&&0===t._a[co]&&0===t._a[po]&&(t._nextDay=!0,t._a[lo]=0),t._d=(t._useUTC?rt:st).apply(null,s),null!=t._tzm&&t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),t._nextDay&&(t._a[lo]=24)}}function _t(t){var e,i,o,n,s,r,a;e=t._w,null!=e.GG||null!=e.W||null!=e.E?(s=1,r=4,i=yt(e.GG,t._a[ro],lt(Et(),1,4).year),o=yt(e.W,1),n=yt(e.E,1)):(s=t._locale._week.dow,r=t._locale._week.doy,i=yt(e.gg,t._a[ro],lt(Et(),s,r).year),o=yt(e.w,1),null!=e.d?(n=e.d,s>n&&++o):n=null!=e.e?e.e+s:s),a=vt(i,o,n,r,s),t._a[ro]=a.year,t._dayOfYear=a.dayOfYear}function xt(t){if(t._f===e.ISO_8601)return void ot(t);t._a=[],l(t).empty=!0;var i,o,n,s,r,a=""+t._i,h=a.length,d=0;for(n=F(t._f,t._locale).match(ji)||[],i=0;i0&&l(t).unusedInput.push(r),a=a.slice(a.indexOf(o)+o.length),d+=o.length),Yi[s]?(o?l(t).empty=!1:l(t).unusedTokens.push(s),U(s,o,t)):t._strict&&!o&&l(t).unusedTokens.push(s);l(t).charsLeftOver=h-d,a.length>0&&l(t).unusedInput.push(a),l(t).bigHour===!0&&t._a[lo]<=12&&t._a[lo]>0&&(l(t).bigHour=void 0),t._a[lo]=kt(t._locale,t._a[lo],t._meridiem),wt(t),$(t)}function kt(t,e,i){var o;return null==i?e:null!=t.meridiemHour?t.meridiemHour(e,i):null!=t.isPM?(o=t.isPM(i),o&&12>e&&(e+=12),o||12!==e||(e=0),e):e}function Ot(t){var e,i,o,n,s;if(0===t._f.length)return l(t).invalidFormat=!0,void(t._d=new Date(NaN));for(n=0;ns)&&(o=s,i=e));a(t,i||e)}function Mt(t){if(!t._d){var e=T(t._i);t._a=[e.year,e.month,e.day||e.date,e.hour,e.minute,e.second,e.millisecond],wt(t)}}function Dt(t){var e=new f($(Ct(t)));return e._nextDay&&(e.add(1,"d"),e._nextDay=void 0),e}function Ct(t){var e=t._i,i=t._f;return t._locale=t._locale||M(t._l),null===e||void 0===i&&""===e?c({nullInput:!0}):("string"==typeof e&&(t._i=e=t._locale.preparse(e)),m(e)?new f($(e)):(o(i)?Ot(t):i?xt(t):n(e)?t._d=e:Tt(t),t))}function Tt(t){var i=t._i;void 0===i?t._d=new Date:n(i)?t._d=new Date(+i):"string"==typeof i?nt(t):o(i)?(t._a=s(i.slice(0),function(t){return parseInt(t,10)}),wt(t)):"object"==typeof i?Mt(t):"number"==typeof i?t._d=new Date(i):e.createFromInputFallback(t)}function St(t,e,i,o,n){var s={};return"boolean"==typeof i&&(o=i,i=void 0),s._isAMomentObject=!0,s._useUTC=s._isUTC=n,s._l=i,s._i=t,s._f=e,s._strict=o,Dt(s)}function Et(t,e,i,o){return St(t,e,i,o,!1)}function Pt(t,e){var i,n;if(1===e.length&&o(e[0])&&(e=e[0]),!e.length)return Et();for(i=e[0],n=1;nt&&(t=-t,i="-"),i+N(~~(t/60),2)+e+N(~~t%60,2)})}function Bt(t){var e=(t||"").match(eo)||[],i=e[e.length-1]||[],o=(i+"").match(Mo)||["-",0,0],n=+(60*o[1])+g(o[2]);return"+"===o[0]?n:-n}function Ft(t,i){var o,s;return i._isUTC?(o=i.clone(),s=(m(t)||n(t)?+t:+Et(t))-+o,o._d.setTime(+o._d+s),e.updateOffset(o,!1),o):Et(t).local()}function Rt(t){return 15*-Math.round(t._d.getTimezoneOffset()/15)}function jt(t,i){var o,n=this._offset||0;return null!=t?("string"==typeof t&&(t=Bt(t)),Math.abs(t)<16&&(t=60*t),!this._isUTC&&i&&(o=Rt(this)),this._offset=t,this._isUTC=!0,null!=o&&this.add(o,"m"),n!==t&&(!i||this._changeInProgress?ie(this,Jt(t-n,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,e.updateOffset(this,!0),this._changeInProgress=null)),this):this._isUTC?n:Rt(this)}function Ht(t,e){return null!=t?("string"!=typeof t&&(t=-t),this.utcOffset(t,e),this):-this.utcOffset()}function Wt(t){return this.utcOffset(0,t)}function Yt(t){return this._isUTC&&(this.utcOffset(0,t),this._isUTC=!1,t&&this.subtract(Rt(this),"m")),this}function Gt(){return this._tzm?this.utcOffset(this._tzm):"string"==typeof this._i&&this.utcOffset(Bt(this._i)),this}function Ut(t){return t=t?Et(t).utcOffset():0,(this.utcOffset()-t)%60===0}function Vt(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function qt(){if("undefined"!=typeof this._isDSTShifted)return this._isDSTShifted;var t={};if(p(t,this),t=Ct(t),t._a){var e=t._isUTC?h(t._a):Et(t._a);this._isDSTShifted=this.isValid()&&y(t._a,e.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted}function Xt(){return!this._isUTC}function Zt(){return this._isUTC}function Kt(){return this._isUTC&&0===this._offset}function Jt(t,e){var i,o,n,s=t,a=null;return Lt(t)?s={ms:t._milliseconds,d:t._days,M:t._months}:"number"==typeof t?(s={},e?s[e]=t:s.milliseconds=t):(a=Do.exec(t))?(i="-"===a[1]?-1:1,s={y:0,d:g(a[ho])*i,h:g(a[lo])*i,m:g(a[uo])*i,s:g(a[co])*i,ms:g(a[po])*i}):(a=Co.exec(t))?(i="-"===a[1]?-1:1,s={y:Qt(a[2],i),M:Qt(a[3],i),d:Qt(a[4],i),h:Qt(a[5],i),m:Qt(a[6],i),s:Qt(a[7],i),w:Qt(a[8],i)}):null==s?s={}:"object"==typeof s&&("from"in s||"to"in s)&&(n=te(Et(s.from),Et(s.to)),s={},s.ms=n.milliseconds,s.M=n.months),o=new zt(s),Lt(t)&&r(t,"_locale")&&(o._locale=t._locale),o}function Qt(t,e){var i=t&&parseFloat(t.replace(",","."));return(isNaN(i)?0:i)*e}function $t(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 te(t,e){var i;return e=Ft(e,t),t.isBefore(e)?i=$t(t,e):(i=$t(e,t),i.milliseconds=-i.milliseconds,i.months=-i.months),i}function ee(t,e){return function(i,o){var n,s;return null===o||isNaN(+o)||(it(e,"moment()."+e+"(period, number) is deprecated. Please use moment()."+e+"(number, period)."),s=i,i=o,o=s),i="string"==typeof i?+i:i,n=Jt(i,o),ie(this,n,t),this}}function ie(t,i,o,n){var s=i._milliseconds,r=i._days,a=i._months;n=null==n?!0:n,s&&t._d.setTime(+t._d+s*o),r&&P(t,"Date",E(t,"Date")+r*o),a&&K(t,E(t,"Month")+a*o),n&&e.updateOffset(t,r||a)}function oe(t,e){var i=t||Et(),o=Ft(i,this).startOf("day"),n=this.diff(o,"days",!0),s=-6>n?"sameElse":-1>n?"lastWeek":0>n?"lastDay":1>n?"sameDay":2>n?"nextDay":7>n?"nextWeek":"sameElse";return this.format(e&&e[s]||this.localeData().calendar(s,this,Et(i)))}function ne(){return new f(this)}function se(t,e){var i;return e=C("undefined"!=typeof e?e:"millisecond"),"millisecond"===e?(t=m(t)?t:Et(t),+this>+t):(i=m(t)?+t:+Et(t),i<+this.clone().startOf(e))}function re(t,e){var i;return e=C("undefined"!=typeof e?e:"millisecond"),"millisecond"===e?(t=m(t)?t:Et(t),+t>+this):(i=m(t)?+t:+Et(t),+this.clone().endOf(e)e-s?(i=t.clone().add(n-1,"months"),o=(e-s)/(s-i)):(i=t.clone().add(n+1,"months"),o=(e-s)/(i-s)),-(n+o)}function ue(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")}function ce(){var t=this.clone().utc();return 0e;e++)if(this._weekdaysParse[e]||(i=Et([2e3,1]).day(e),o="^"+this.weekdays(i,"")+"|^"+this.weekdaysShort(i,"")+"|^"+this.weekdaysMin(i,""),this._weekdaysParse[e]=new RegExp(o.replace(".",""),"i")),this._weekdaysParse[e].test(t))return e}function We(t){var e=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=t?(t=Be(t,this.localeData()),this.add(t-e,"d")):e}function Ye(t){var e=(this.day()+7-this.localeData()._week.dow)%7;return null==t?e:this.add(t-e,"d")}function Ge(t){return null==t?this.day()||7:this.day(this.day()%7?t:t-7)}function Ue(t,e){z(t,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),e)})}function Ve(t,e){return e._meridiemParse}function qe(t){return"p"===(t+"").toLowerCase().charAt(0)}function Xe(t,e,i){return t>11?i?"pm":"PM":i?"am":"AM"}function Ze(t,e){e[po]=g(1e3*("0."+t))}function Ke(){return this._isUTC?"UTC":""}function Je(){return this._isUTC?"Coordinated Universal Time":""}function Qe(t){return Et(1e3*t)}function $e(){return Et.apply(null,arguments).parseZone()}function ti(t,e,i){var o=this._calendar[t];return"function"==typeof o?o.call(e,i):o}function ei(t){var e=this._longDateFormat[t],i=this._longDateFormat[t.toUpperCase()];return e||!i?e:(this._longDateFormat[t]=i.replace(/MMMM|MM|DD|dddd/g,function(t){return t.slice(1)}),this._longDateFormat[t])}function ii(){return this._invalidDate}function oi(t){return this._ordinal.replace("%d",t)}function ni(t){return t}function si(t,e,i,o){var n=this._relativeTime[i];return"function"==typeof n?n(t,e,i,o):n.replace(/%d/i,t)}function ri(t,e){var i=this._relativeTime[t>0?"future":"past"];return"function"==typeof i?i(e):i.replace(/%s/i,e)}function ai(t){var e,i;for(i in t)e=t[i],"function"==typeof e?this[i]=e:this["_"+i]=e;this._ordinalParseLenient=new RegExp(this._ordinalParse.source+"|"+/\d{1,2}/.source)}function hi(t,e,i,o){var n=M(),s=h().set(o,e);return n[i](s,t)}function di(t,e,i,o,n){if("number"==typeof t&&(e=t,t=void 0),t=t||"",null!=e)return hi(t,e,i,n);var s,r=[];for(s=0;o>s;s++)r[s]=hi(t,s,i,n);return r}function li(t,e){return di(t,e,"months",12,"month")}function ui(t,e){return di(t,e,"monthsShort",12,"month")}function ci(t,e){return di(t,e,"weekdays",7,"day")}function pi(t,e){return di(t,e,"weekdaysShort",7,"day")}function fi(t,e){return di(t,e,"weekdaysMin",7,"day")}function mi(){var t=this._data;return this._milliseconds=Ko(this._milliseconds),this._days=Ko(this._days),this._months=Ko(this._months),t.milliseconds=Ko(t.milliseconds),t.seconds=Ko(t.seconds),t.minutes=Ko(t.minutes),t.hours=Ko(t.hours),t.months=Ko(t.months),t.years=Ko(t.years),this}function vi(t,e,i,o){var n=Jt(e,i);return t._milliseconds+=o*n._milliseconds,t._days+=o*n._days,t._months+=o*n._months,t._bubble()}function gi(t,e){return vi(this,t,e,1)}function yi(t,e){return vi(this,t,e,-1)}function bi(t){return 0>t?Math.floor(t):Math.ceil(t)}function wi(){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||0>=s&&0>=r&&0>=a||(s+=864e5*bi(xi(a)+r),r=0,a=0),h.milliseconds=s%1e3,t=v(s/1e3),h.seconds=t%60,e=v(t/60),h.minutes=e%60,i=v(e/60),h.hours=i%24,r+=v(i/24),n=v(_i(r)),a+=n,r-=bi(xi(n)),o=v(a/12),a%=12,h.days=r,h.months=a,h.years=o,this}function _i(t){return 4800*t/146097}function xi(t){return 146097*t/4800}function ki(t){var e,i,o=this._milliseconds;if(t=C(t),"month"===t||"year"===t)return e=this._days+o/864e5,i=this._months+_i(e),"month"===t?i:i/12;switch(e=this._days+Math.round(xi(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 Oi(){return this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*g(this._months/12)}function Mi(t){return function(){return this.as(t)}}function Di(t){return t=C(t),this[t+"s"]()}function Ci(t){return function(){return this._data[t]}}function Ti(){return v(this.days()/7)}function Si(t,e,i,o,n){return n.relativeTime(e||1,!!i,t,o)}function Ei(t,e,i){var o=Jt(t).abs(),n=pn(o.as("s")),s=pn(o.as("m")),r=pn(o.as("h")),a=pn(o.as("d")),h=pn(o.as("M")),d=pn(o.as("y")),l=n0,l[4]=i,Si.apply(null,l)}function Pi(t,e){return void 0===fn[t]?!1:void 0===e?fn[t]:(fn[t]=e,!0)}function Ii(t){var e=this.localeData(),i=Ei(this,!t,e);return t&&(i=e.pastFuture(+this,i)),e.postformat(i)}function Ni(){var t,e,i,o=mn(this._milliseconds)/1e3,n=mn(this._days),s=mn(this._months);t=v(o/60),e=v(t/60),o%=60,t%=60,i=v(s/12),s%=12;var r=i,a=s,h=n,d=e,l=t,u=o,c=this.asSeconds();return c?(0>c?"-":"")+"P"+(r?r+"Y":"")+(a?a+"M":"")+(h?h+"D":"")+(d||l||u?"T":"")+(d?d+"H":"")+(l?l+"M":"")+(u?u+"S":""):"P0D"}var zi,Li,Ai=e.momentProperties=[],Bi=!1,Fi={},Ri={},ji=/(\[[^\[]*\])|(\\)?(Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Q|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,Hi=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,Wi={},Yi={},Gi=/\d/,Ui=/\d\d/,Vi=/\d{3}/,qi=/\d{4}/,Xi=/[+-]?\d{6}/,Zi=/\d\d?/,Ki=/\d{1,3}/,Ji=/\d{1,4}/,Qi=/[+-]?\d{1,6}/,$i=/\d+/,to=/[+-]?\d+/,eo=/Z|[+-]\d\d:?\d\d/gi,io=/[+-]?\d+(\.\d{1,3})?/,oo=/[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i,no={},so={},ro=0,ao=1,ho=2,lo=3,uo=4,co=5,po=6;z("M",["MM",2],"Mo",function(){return this.month()+1}),z("MMM",0,0,function(t){return this.localeData().monthsShort(this,t)}),z("MMMM",0,0,function(t){return this.localeData().months(this,t)}),D("month","M"),j("M",Zi),j("MM",Zi,Ui),j("MMM",oo),j("MMMM",oo),Y(["M","MM"],function(t,e){e[ao]=g(t)-1}),Y(["MMM","MMMM"],function(t,e,i,o){var n=i._locale.monthsParse(t,o,i._strict);null!=n?e[ao]=n:l(i).invalidMonth=t});var fo="January_February_March_April_May_June_July_August_September_October_November_December".split("_"),mo="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),vo={};e.suppressDeprecationWarnings=!1;var go=/^\s*(?:[+-]\d{6}|\d{4})-(?:(\d\d-\d\d)|(W\d\d$)|(W\d\d-\d)|(\d\d\d))((T| )(\d\d(:\d\d(:\d\d(\.\d+)?)?)?)?([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,yo=[["YYYYYY-MM-DD",/[+-]\d{6}-\d{2}-\d{2}/],["YYYY-MM-DD",/\d{4}-\d{2}-\d{2}/],["GGGG-[W]WW-E",/\d{4}-W\d{2}-\d/],["GGGG-[W]WW",/\d{4}-W\d{2}/],["YYYY-DDD",/\d{4}-\d{3}/]],bo=[["HH:mm:ss.SSSS",/(T| )\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss",/(T| )\d\d:\d\d:\d\d/],["HH:mm",/(T| )\d\d:\d\d/],["HH",/(T| )\d\d/]],wo=/^\/?Date\((\-?\d+)/i;e.createFromInputFallback=et("moment construction falls back to js Date. This is discouraged and will be removed in upcoming major release. Please refer to https://github.com/moment/moment/issues/1407 for more info.",function(t){t._d=new Date(t._i+(t._useUTC?" UTC":""))}),z(0,["YY",2],0,function(){return this.year()%100}),z(0,["YYYY",4],0,"year"),z(0,["YYYYY",5],0,"year"),z(0,["YYYYYY",6,!0],0,"year"),D("year","y"),j("Y",to),j("YY",Zi,Ui),j("YYYY",Ji,qi),j("YYYYY",Qi,Xi),j("YYYYYY",Qi,Xi),Y(["YYYYY","YYYYYY"],ro),Y("YYYY",function(t,i){i[ro]=2===t.length?e.parseTwoDigitYear(t):g(t)}),Y("YY",function(t,i){i[ro]=e.parseTwoDigitYear(t)}),e.parseTwoDigitYear=function(t){return g(t)+(g(t)>68?1900:2e3)};var _o=S("FullYear",!1);z("w",["ww",2],"wo","week"),z("W",["WW",2],"Wo","isoWeek"),D("week","w"),D("isoWeek","W"),j("w",Zi),j("ww",Zi,Ui),j("W",Zi),j("WW",Zi,Ui),G(["w","ww","W","WW"],function(t,e,i,o){e[o.substr(0,1)]=g(t)});var xo={dow:0,doy:6};z("DDD",["DDDD",3],"DDDo","dayOfYear"),D("dayOfYear","DDD"),j("DDD",Ki),j("DDDD",Vi),Y(["DDD","DDDD"],function(t,e,i){i._dayOfYear=g(t)}),e.ISO_8601=function(){};var ko=et("moment().min is deprecated, use moment.min instead. https://github.com/moment/moment/issues/1548",function(){var t=Et.apply(null,arguments);return this>t?this:t}),Oo=et("moment().max is deprecated, use moment.max instead. https://github.com/moment/moment/issues/1548",function(){var t=Et.apply(null,arguments);return t>this?this:t});At("Z",":"),At("ZZ",""),j("Z",eo),j("ZZ",eo),Y(["Z","ZZ"],function(t,e,i){i._useUTC=!0,i._tzm=Bt(t)});var Mo=/([\+\-]|\d\d)/gi;e.updateOffset=function(){};var Do=/(\-)?(?:(\d*)\.)?(\d+)\:(\d+)(?:\:(\d+)\.?(\d{3})?)?/,Co=/^(-)?P(?:(?:([0-9,.]*)Y)?(?:([0-9,.]*)M)?(?:([0-9,.]*)D)?(?:T(?:([0-9,.]*)H)?(?:([0-9,.]*)M)?(?:([0-9,.]*)S)?)?|([0-9,.]*)W)$/;Jt.fn=zt.prototype;var To=ee(1,"add"),So=ee(-1,"subtract");e.defaultFormat="YYYY-MM-DDTHH:mm:ssZ";var Eo=et("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)});z(0,["gg",2],0,function(){return this.weekYear()%100}),z(0,["GG",2],0,function(){return this.isoWeekYear()%100}),Ee("gggg","weekYear"),Ee("ggggg","weekYear"),Ee("GGGG","isoWeekYear"),Ee("GGGGG","isoWeekYear"),D("weekYear","gg"),D("isoWeekYear","GG"),j("G",to),j("g",to),j("GG",Zi,Ui),j("gg",Zi,Ui),j("GGGG",Ji,qi),j("gggg",Ji,qi),j("GGGGG",Qi,Xi),j("ggggg",Qi,Xi),G(["gggg","ggggg","GGGG","GGGGG"],function(t,e,i,o){e[o.substr(0,2)]=g(t)}),G(["gg","GG"],function(t,i,o,n){i[n]=e.parseTwoDigitYear(t)}),z("Q",0,0,"quarter"),D("quarter","Q"),j("Q",Gi),Y("Q",function(t,e){e[ao]=3*(g(t)-1)}),z("D",["DD",2],"Do","date"),D("date","D"),j("D",Zi),j("DD",Zi,Ui),j("Do",function(t,e){return t?e._ordinalParse:e._ordinalParseLenient}),Y(["D","DD"],ho),Y("Do",function(t,e){e[ho]=g(t.match(Zi)[0],10)});var Po=S("Date",!0);z("d",0,"do","day"),z("dd",0,0,function(t){return this.localeData().weekdaysMin(this,t)}),z("ddd",0,0,function(t){return this.localeData().weekdaysShort(this,t)}),z("dddd",0,0,function(t){return this.localeData().weekdays(this,t)}),z("e",0,0,"weekday"),z("E",0,0,"isoWeekday"),D("day","d"),D("weekday","e"),D("isoWeekday","E"),j("d",Zi),j("e",Zi),j("E",Zi),j("dd",oo),j("ddd",oo),j("dddd",oo),G(["dd","ddd","dddd"],function(t,e,i){var o=i._locale.weekdaysParse(t);null!=o?e.d=o:l(i).invalidWeekday=t}),G(["d","e","E"],function(t,e,i,o){e[o]=g(t)});var Io="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),No="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),zo="Su_Mo_Tu_We_Th_Fr_Sa".split("_");z("H",["HH",2],0,"hour"),z("h",["hh",2],0,function(){return this.hours()%12||12}),Ue("a",!0),Ue("A",!1),D("hour","h"),j("a",Ve),j("A",Ve),j("H",Zi),j("h",Zi),j("HH",Zi,Ui),j("hh",Zi,Ui),Y(["H","HH"],lo),Y(["a","A"],function(t,e,i){i._isPm=i._locale.isPM(t),i._meridiem=t}),Y(["h","hh"],function(t,e,i){e[lo]=g(t),l(i).bigHour=!0});var Lo=/[ap]\.?m?\.?/i,Ao=S("Hours",!0);z("m",["mm",2],0,"minute"),D("minute","m"),j("m",Zi),j("mm",Zi,Ui),Y(["m","mm"],uo);var Bo=S("Minutes",!1);z("s",["ss",2],0,"second"),D("second","s"),j("s",Zi),j("ss",Zi,Ui),Y(["s","ss"],co);var Fo=S("Seconds",!1);z("S",0,0,function(){return~~(this.millisecond()/100)}),z(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),z(0,["SSS",3],0,"millisecond"),z(0,["SSSS",4],0,function(){return 10*this.millisecond()}),z(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),z(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),z(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),z(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),z(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),D("millisecond","ms"),j("S",Ki,Gi),j("SS",Ki,Ui),j("SSS",Ki,Vi);var Ro;for(Ro="SSSS";Ro.length<=9;Ro+="S")j(Ro,$i);for(Ro="S";Ro.length<=9;Ro+="S")Y(Ro,Ze);var jo=S("Milliseconds",!1);z("z",0,0,"zoneAbbr"),z("zz",0,0,"zoneName");var Ho=f.prototype;Ho.add=To,Ho.calendar=oe,Ho.clone=ne,Ho.diff=de,Ho.endOf=_e,Ho.format=pe,Ho.from=fe,Ho.fromNow=me,Ho.to=ve,Ho.toNow=ge,Ho.get=I,Ho.invalidAt=Se,Ho.isAfter=se,Ho.isBefore=re,Ho.isBetween=ae,Ho.isSame=he,Ho.isValid=Ce,Ho.lang=Eo,Ho.locale=ye,Ho.localeData=be,Ho.max=Oo,Ho.min=ko,Ho.parsingFlags=Te,Ho.set=I,Ho.startOf=we,Ho.subtract=So,Ho.toArray=Me,Ho.toObject=De,Ho.toDate=Oe,Ho.toISOString=ce,Ho.toJSON=ce,Ho.toString=ue,Ho.unix=ke,Ho.valueOf=xe,Ho.year=_o,Ho.isLeapYear=dt,Ho.weekYear=Ie,Ho.isoWeekYear=Ne,Ho.quarter=Ho.quarters=Ae,Ho.month=J,Ho.daysInMonth=Q,Ho.week=Ho.weeks=ft,Ho.isoWeek=Ho.isoWeeks=mt,Ho.weeksInYear=Le,Ho.isoWeeksInYear=ze,Ho.date=Po,Ho.day=Ho.days=We,Ho.weekday=Ye,Ho.isoWeekday=Ge,Ho.dayOfYear=gt,Ho.hour=Ho.hours=Ao,Ho.minute=Ho.minutes=Bo,Ho.second=Ho.seconds=Fo,Ho.millisecond=Ho.milliseconds=jo,Ho.utcOffset=jt,Ho.utc=Wt,Ho.local=Yt,Ho.parseZone=Gt,Ho.hasAlignedHourOffset=Ut,Ho.isDST=Vt,Ho.isDSTShifted=qt,Ho.isLocal=Xt,Ho.isUtcOffset=Zt,Ho.isUtc=Kt,Ho.isUTC=Kt,Ho.zoneAbbr=Ke,Ho.zoneName=Je,Ho.dates=et("dates accessor is deprecated. Use date instead.",Po),Ho.months=et("months accessor is deprecated. Use month instead",J),Ho.years=et("years accessor is deprecated. Use year instead",_o),Ho.zone=et("moment().zone is deprecated, use moment().utcOffset instead. https://github.com/moment/moment/issues/1779",Ht);var Wo=Ho,Yo={sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},Go={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},Uo="Invalid date",Vo="%d",qo=/\d{1,2}/,Xo={future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},Zo=b.prototype;Zo._calendar=Yo,Zo.calendar=ti,Zo._longDateFormat=Go,Zo.longDateFormat=ei,Zo._invalidDate=Uo,Zo.invalidDate=ii,Zo._ordinal=Vo,Zo.ordinal=oi,Zo._ordinalParse=qo,Zo.preparse=ni,Zo.postformat=ni,Zo._relativeTime=Xo,Zo.relativeTime=si,Zo.pastFuture=ri,Zo.set=ai,Zo.months=q,Zo._months=fo,Zo.monthsShort=X,Zo._monthsShort=mo,Zo.monthsParse=Z,Zo.week=ut,Zo._week=xo,Zo.firstDayOfYear=pt,Zo.firstDayOfWeek=ct,Zo.weekdays=Fe,Zo._weekdays=Io,Zo.weekdaysMin=je,Zo._weekdaysMin=zo,Zo.weekdaysShort=Re,Zo._weekdaysShort=No,Zo.weekdaysParse=He,Zo.isPM=qe,Zo._meridiemParse=Lo,Zo.meridiem=Xe,k("en",{ordinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(t){var e=t%10,i=1===g(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th";return t+i}}),e.lang=et("moment.lang is deprecated. Use moment.locale instead.",k),e.langData=et("moment.langData is deprecated. Use moment.localeData instead.",M);var Ko=Math.abs,Jo=Mi("ms"),Qo=Mi("s"),$o=Mi("m"),tn=Mi("h"),en=Mi("d"),on=Mi("w"),nn=Mi("M"),sn=Mi("y"),rn=Ci("milliseconds"),an=Ci("seconds"),hn=Ci("minutes"),dn=Ci("hours"),ln=Ci("days"),un=Ci("months"),cn=Ci("years"),pn=Math.round,fn={s:45,m:45,h:22,d:26,M:11},mn=Math.abs,vn=zt.prototype;vn.abs=mi,vn.add=gi,vn.subtract=yi,vn.as=ki,vn.asMilliseconds=Jo,vn.asSeconds=Qo,vn.asMinutes=$o,vn.asHours=tn,vn.asDays=en,vn.asWeeks=on,vn.asMonths=nn,vn.asYears=sn,vn.valueOf=Oi,vn._bubble=wi,vn.get=Di,vn.milliseconds=rn,vn.seconds=an,vn.minutes=hn,vn.hours=dn,vn.days=ln,vn.weeks=Ti,vn.months=un,vn.years=cn,vn.humanize=Ii,vn.toISOString=Ni,vn.toString=Ni,vn.toJSON=Ni,vn.locale=ye,vn.localeData=be,vn.toIsoString=et("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",Ni),vn.lang=Eo,z("X",0,0,"unix"),z("x",0,0,"valueOf"),j("x",to),j("X",io),Y("X",function(t,e,i){i._d=new Date(1e3*parseFloat(t,10))}),Y("x",function(t,e,i){i._d=new Date(g(t))}),e.version="2.10.6",i(Et),e.fn=Wo,e.min=It,e.max=Nt,e.utc=h,e.unix=Qe,e.months=li,e.isDate=n,e.locale=k,e.invalid=c,e.duration=Jt,e.isMoment=m,e.weekdays=ci,e.parseZone=$e,e.localeData=M,e.isDuration=Lt,e.monthsShort=ui,e.weekdaysMin=fi,e.defineLocale=O,e.weekdaysShort=pi,e.normalizeUnits=C,e.relativeTimeThreshold=Pi;var gn=e;return gn})}).call(e,i(4)(t))},function(t,e){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children=[],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=5},function(t,e){(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){16>n&&(e[o+n++]=u[t])});16>n;)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(0>d&&void 0===t.clockseq&&(r=r+1&16383),(0>d||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;6>p;p++)s[n+p]=c[p];return e?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;16>a;a++)e[n+a]=s[a];return e||o(s)}var r,a="undefined"!=typeof window?window:"undefined"!=typeof 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;16>e;e++)0===(3&e)&&(t=4294967296*Math.random()),d[e]=t>>>((3&e)<<3)&255;return d}}for(var l=[],u={},c=0;256>c;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,function(){return this}())},function(t,e){e.prepareElements=function(t){for(var e in t)t.hasOwnProperty(e)&&(t[e].redundant=t[e].used,t[e].used=[])},e.cleanupElements=function(t){for(var e in t)if(t.hasOwnProperty(e)&&t[e].redundant){for(var i=0;i0?(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){0>n&&(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,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=Object.keys(this._options.type),o=0,n=i.length;n>o;o++){var s=i[o],r=this._options.type[s];"Date"==r||"ISODate"==r||"ASPDate"==r?this._type[s]="Date":this._type[s]=r}if(this._options.convert)throw new Error('Option "convert" is deprecated. Use "type" instead.');this._subscribers={},t&&this.add(t),this.setOptions(e)}var n=i(1),s=i(9);o.prototype.setOptions=function(t){t&&void 0!==t.queue&&(t.queue===!1?this._queue&&(this._queue.destroy(),delete this._queue):(this._queue||(this._queue=s.extend(this,{replace:["add","update","remove"]})),"object"==typeof t.queue&&this._queue.setOptions(t.queue)))},o.prototype.on=function(t,e){var i=this._subscribers[t];i||(i=[],this._subscribers[t]=i),i.push({callback:e})},o.prototype.subscribe=function(){throw new Error("DataSet.subscribe is deprecated. Use DataSet.on instead.")},o.prototype.off=function(t,e){var i=this._subscribers[t];i&&(this._subscribers[t]=i.filter(function(t){return t.callback!=e}))},o.prototype.unsubscribe=function(){throw new Error("DataSet.unsubscribe is deprecated. Use DataSet.off instead.")},o.prototype._trigger=function(t,e,i){if("*"==t)throw new Error("Cannot trigger event *");var o=[];t in this._subscribers&&(o=o.concat(this._subscribers[t])),"*"in this._subscribers&&(o=o.concat(this._subscribers["*"]));for(var n=0,s=o.length;s>n;n++){var r=o[n];r.callback&&r.callback(t,e,i||null)}},o.prototype.add=function(t,e){var i,o=[],n=this;if(Array.isArray(t))for(var s=0,r=t.length;r>s;s++)i=n._addItem(t[s]),o.push(i);else{if(!(t instanceof Object))throw new Error("Unknown dataType");i=n._addItem(t),o.push(i)}return o.length&&this._trigger("add",{items:o},e),o},o.prototype.update=function(t,e){var i=[],o=[],s=[],r=[],a=this,h=a._fieldId,d=function(t){var e=t[h];if(a._data[e]){var d=n.extend({},a._data[e]);e=a._updateItem(t),o.push(e),r.push(t),s.push(d)}else e=a._addItem(t),i.push(e)};if(Array.isArray(t))for(var l=0,u=t.length;u>l;l++)t[l]instanceof Object?d(t[l]):console.warn("Ignoring input item, which is not an object at index"+l);else{if(!(t instanceof Object))throw new Error("Unknown dataType");d(t)}if(i.length&&this._trigger("add",{items:i},e),o.length){var c={items:o,oldData:s,data:r};this._trigger("update",c,e)}return i.concat(o)},o.prototype.get=function(t){var e,i,o,s=this,r=n.getType(arguments[0]);"String"==r||"Number"==r?(e=arguments[0],o=arguments[1]):"Array"==r?(i=arguments[0],o=arguments[1]):o=arguments[0];var a;if(o&&o.returnType){var h=["Array","Object"];a=-1==h.indexOf(o.returnType)?"Array":o.returnType}else a="Array";var d,l,u,c,p,f=o&&o.type||this._options.type,m=o&&o.filter,v=[];if(void 0!=e)d=s._getItem(e,f),d&&m&&!m(d)&&(d=null);else if(void 0!=i)for(c=0,p=i.length;p>c;c++)d=s._getItem(i[c],f),(!m||m(d))&&v.push(d);else for(l=Object.keys(this._data),c=0,p=l.length;p>c;c++)u=l[c],d=s._getItem(u,f),(!m||m(d))&&v.push(d);if(o&&o.order&&void 0==e&&this._sort(v,o.order),o&&o.fields){var g=o.fields;if(void 0!=e)d=this._filterFields(d,g);else for(c=0,p=v.length;p>c;c++)v[c]=this._filterFields(v[c],g)}if("Object"==a){var y,b={};for(c=0,p=v.length;p>c;c++)y=v[c],b[y.id]=y;return b}return void 0!=e?d:v},o.prototype.getIds=function(t){var e,i,o,n,s,r=this._data,a=t&&t.filter,h=t&&t.order,d=t&&t.type||this._options.type,l=Object.keys(r),u=[];if(a)if(h){for(s=[],e=0,i=l.length;i>e;e++)o=l[e],n=this._getItem(o,d),a(n)&&s.push(n);for(this._sort(s,h),e=0,i=s.length;i>e;e++)u.push(s[e][this._fieldId])}else for(e=0,i=l.length;i>e;e++)o=l[e],n=this._getItem(o,d),a(n)&&u.push(n[this._fieldId]);else if(h){for(s=[],e=0,i=l.length;i>e;e++)o=l[e],s.push(r[o]);for(this._sort(s,h),e=0,i=s.length;i>e;e++)u.push(s[e][this._fieldId])}else for(e=0,i=l.length;i>e;e++)o=l[e],n=r[o],u.push(n[this._fieldId]);return u},o.prototype.getDataSet=function(){return this},o.prototype.forEach=function(t,e){var i,o,n,s,r=e&&e.filter,a=e&&e.type||this._options.type,h=this._data,d=Object.keys(h);if(e&&e.order){var l=this.get(e);for(i=0,o=l.length;o>i;i++)n=l[i],s=n[this._fieldId],t(n,s)}else for(i=0,o=d.length;o>i;i++)s=d[i],n=this._getItem(s,a),(!r||r(n))&&t(n,s)},o.prototype.map=function(t,e){var i,o,n,s,r=e&&e.filter,a=e&&e.type||this._options.type,h=[],d=this._data,l=Object.keys(d);for(i=0,o=l.length;o>i;i++)n=l[i],s=this._getItem(n,a),(!r||r(s))&&h.push(t(s,n));return e&&e.order&&this._sort(h,e.order),h},o.prototype._filterFields=function(t,e){if(!t)return t;var i,o,n={},s=Object.keys(t),r=s.length;if(Array.isArray(e))for(i=0;r>i;i++)o=s[i],-1!=e.indexOf(o)&&(n[o]=t[o]);else for(i=0;r>i;i++)o=s[i],e.hasOwnProperty(o)&&(n[e[o]]=t[o]);return n},o.prototype._sort=function(t,e){if(n.isString(e)){var i=e;t.sort(function(t,e){var o=t[i],n=e[i];return o>n?1:n>o?-1:0})}else{if("function"!=typeof e)throw new TypeError("Order must be a function or a string");t.sort(e)}},o.prototype.remove=function(t,e){var i,o,n,s=[];if(Array.isArray(t))for(i=0,o=t.length;o>i;i++)n=this._remove(t[i]),null!=n&&s.push(n);else n=this._remove(t),null!=n&&s.push(n);return s.length&&this._trigger("remove",{items:s},e),s},o.prototype._remove=function(t){if(n.isNumber(t)||n.isString(t)){if(this._data[t])return delete this._data[t],this.length--,t}else if(t instanceof Object){var e=t[this._fieldId];if(void 0!==e&&this._data[e])return delete this._data[e],this.length--,e}return null},o.prototype.clear=function(t){var e=Object.keys(this._data);return this._data={},this.length=0,this._trigger("remove",{items:e},t),e},o.prototype.max=function(t){var e,i,o=this._data,n=Object.keys(o),s=null,r=null;for(e=0,i=n.length;i>e;e++){var a=n[e],h=o[a],d=h[t];null!=d&&(!s||d>r)&&(s=h,r=d)}return s},o.prototype.min=function(t){var e,i,o=this._data,n=Object.keys(o),s=null,r=null;for(e=0,i=n.length;i>e;e++){var a=n[e],h=o[a],d=h[t];null!=d&&(!s||r>d)&&(s=h,r=d)}return s},o.prototype.distinct=function(t){var e,i,o,s=this._data,r=Object.keys(s),a=[],h=this._options.type&&this._options.type[t]||null,d=0;for(e=0,o=r.length;o>e;e++){var l=r[e],u=s[l],c=u[t],p=!1;for(i=0;d>i;i++)if(a[i]==c){p=!0;break}p||void 0===c||(a[d]=c,d++)}if(h)for(e=0,o=a.length;o>e;e++)a[e]=n.convert(a[e],h);return a},o.prototype._addItem=function(t){var e=t[this._fieldId];if(void 0!=e){if(this._data[e])throw new Error("Cannot add item: item with id "+e+" already exists")}else e=n.randomUUID(),t[this._fieldId]=e;var i,o,s={},r=Object.keys(t);for(i=0,o=r.length;o>i;i++){var a=r[i],h=this._type[a];s[a]=n.convert(t[a],h)}return this._data[e]=s,this.length++,e},o.prototype._getItem=function(t,e){var i,o,s,r,a=this._data[t];if(!a)return null;var h={},d=Object.keys(a);if(e)for(s=0,r=d.length;r>s;s++)i=d[s],o=a[i],h[i]=n.convert(o,e[i]);else for(s=0,r=d.length;r>s;s++)i=d[s],o=a[i],h[i]=o;return h},o.prototype._updateItem=function(t){var e=t[this._fieldId];if(void 0==e)throw new Error("Cannot update item: item has no id (item: "+JSON.stringify(t)+")");var i=this._data[e];if(!i)throw new Error("Cannot update item: no item with id "+e+" found");for(var o=Object.keys(t),s=0,r=o.length;r>s;s++){var a=o[s],h=this._type[a];i[a]=n.convert(t[a],h)}return e},t.exports=o},function(t,e){function i(t){this.delay=null,this.max=1/0,this._queue=[],this._timeout=null,this._extended=null,this.setOptions(t)}i.prototype.setOptions=function(t){t&&"undefined"!=typeof t.delay&&(this.delay=t.delay),t&&"undefined"!=typeof t.max&&(this.max=t.max),this._flushIfNeeded()},i.extend=function(t,e){var o=new i(e);if(void 0!==t.flush)throw new Error("Target object already has a property flush");t.flush=function(){o.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)}},i.prototype.flush=function(){for(;this._queue.length>0;){var t=this._queue.shift();t.fn.apply(t.context||t.fn,t.args||[])}},t.exports=i},function(t,e,i){function o(t,e){this._data=null,this._ids={},this.length=0,this._options=e||{},this._fieldId="id",this._subscribers={};var i=this;this.listener=function(){i._onEvent.apply(i,arguments)},this.setData(t)}var n=i(1),s=i(8);o.prototype.setData=function(t){var e,i,o,n;if(this._data&&(this._data.off&&this._data.off("*",this.listener),e=Object.keys(this._ids),this._ids={},this.length=0,this._trigger("remove",{items:e})),this._data=t,this._data){for(this._fieldId=this._options.fieldId||this._data&&this._data.options&&this._data.options.fieldId||"id",e=this._data.getIds({filter:this._options&&this._options.filter}),o=0,n=e.length;n>o;o++)i=e[o],this._ids[i]=!0;this.length=e.length,this._trigger("add",{items:e}),this._data.on&&this._data.on("*",this.listener)}},o.prototype.refresh=function(){var t,e,i,o=this._data.getIds({filter:this._options&&this._options.filter}),n=Object.keys(this._ids),s={},r=[],a=[];for(e=0,i=o.length;i>e;e++)t=o[e],s[t]=!0,this._ids[t]||(r.push(t),this._ids[t]=!0);for(e=0,i=n.length;i>e;e++)t=n[e],s[t]||(a.push(t),delete this._ids[t]);this.length+=r.length-a.length,r.length&&this._trigger("add",{items:r}),a.length&&this._trigger("remove",{items:a})},o.prototype.get=function(t){var e,i,o,s=this,r=n.getType(arguments[0]);"String"==r||"Number"==r||"Array"==r?(e=arguments[0],i=arguments[1],o=arguments[2]):(i=arguments[0],o=arguments[1]);var a=n.extend({},this._options,i);this._options.filter&&i&&i.filter&&(a.filter=function(t){return s._options.filter(t)&&i.filter(t)});var h=[];return void 0!=e&&h.push(e),h.push(a),h.push(o),this._data&&this._data.get.apply(this._data,h)},o.prototype.getIds=function(t){var e;if(this._data){var i,o=this._options.filter;i=t&&t.filter?o?function(e){ -return o(e)&&t.filter(e)}:t.filter:o,e=this._data.getIds({filter:i,order:t&&t.order})}else e=[];return e},o.prototype.map=function(t,e){var i=[];if(this._data){var o,n=this._options.filter;o=e&&e.filter?n?function(t){return n(t)&&e.filter(t)}:e.filter:n,i=this._data.map(t,{filter:o,order:e&&e.order})}else i=[];return i},o.prototype.getDataSet=function(){for(var t=this;t instanceof o;)t=t._data;return t||null},o.prototype._onEvent=function(t,e,i){var o,n,s,r,a=e&&e.items,h=this._data,d=[],l=[],u=[],c=[];if(a&&h){switch(t){case"add":for(o=0,n=a.length;n>o;o++)s=a[o],r=this.get(s),r&&(this._ids[s]=!0,l.push(s));break;case"update":for(o=0,n=a.length;n>o;o++)s=a[o],r=this.get(s),r?this._ids[s]?(u.push(s),d.push(e.data[o])):(this._ids[s]=!0,l.push(s)):this._ids[s]&&(delete this._ids[s],c.push(s));break;case"remove":for(o=0,n=a.length;n>o;o++)s=a[o],this._ids[s]&&(delete this._ids[s],c.push(s))}this.length+=l.length-c.length,l.length&&this._trigger("add",{items:l},i),u.length&&this._trigger("update",{items:u,data:d},i),c.length&&this._trigger("remove",{items:c},i)}},o.prototype.on=s.prototype.on,o.prototype.off=s.prototype.off,o.prototype._trigger=s.prototype._trigger,o.prototype.subscribe=o.prototype.on,o.prototype.unsubscribe=o.prototype.off,t.exports=o},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.width="400px",this.height="400px",this.margin=10,this.defaultXCenter="55%",this.defaultYCenter="50%",this.xLabel="x",this.yLabel="y",this.zLabel="z";var n=function(t){return t};this.xValueLabel=n,this.yValueLabel=n,this.zValueLabel=n,this.filterLabel="time",this.legendLabel="value",this.style=o.STYLE.DOT,this.showPerspective=!0,this.showGrid=!0,this.keepAspectRatio=!0,this.showShadow=!1,this.showGrayBottom=!1,this.showTooltip=!1,this.verticalRatio=.5,this.animationInterval=1e3,this.animationPreload=!1,this.camera=new c,this.camera.setArmRotation(1,.5),this.camera.setArmLength(1.7),this.eye=new l(0,0,-1),this.dataTable=null,this.dataPoints=null,this.colX=void 0,this.colY=void 0,this.colZ=void 0,this.colValue=void 0,this.colFilter=void 0,this.xMin=0,this.xStep=void 0,this.xMax=1,this.yMin=0,this.yStep=void 0,this.yMax=1,this.zMin=0,this.zStep=void 0,this.zMax=1,this.valueMin=0,this.valueMax=1,this.xBarWidth=1,this.yBarWidth=1,this.axisColor="#4D4D4D",this.gridColor="#D3D3D3",this.dataColor={fill:"#7DC1FF",stroke:"#3267D2",strokeWidth:1},this.create(),this.setOptions(i),e&&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(12),a=i(8),h=i(10),d=i(1),l=i(13),u=i(14),c=i(15),p=i(16),f=i(17),m=i(18);r(o.prototype),o.prototype._setScale=function(){this.scale=new l(1/(this.xMax-this.xMin),1/(this.yMax-this.yMin),1/(this.zMax-this.zMin)),this.keepAspectRatio&&(this.scale.x3&&(this.colFilter=3);else{if(this.style!==o.STYLE.DOTCOLOR&&this.style!==o.STYLE.DOTSIZE&&this.style!==o.STYLE.BARCOLOR&&this.style!==o.STYLE.BARSIZE)throw'Unknown style "'+this.style+'"';this.colX=0,this.colY=1,this.colZ=2,this.colValue=3,t.getNumberOfColumns()>4&&(this.colFilter=4)}},o.prototype.getNumberOfRows=function(t){return t.length},o.prototype.getNumberOfColumns=function(t){var e=0;for(var i in t[0])t[0].hasOwnProperty(i)&&e++;return e},o.prototype.getDistinctValues=function(t,e){for(var i=[],o=0;ot[o][e]&&(i.min=t[o][e]),i.maxt;t++){var f=(t-c)/(p-c),v=240*f,g=this._hsv2rgb(v,1,1);u.strokeStyle=g,u.beginPath(),u.moveTo(h,r+t),u.lineTo(a,r+t),u.stroke()}u.strokeStyle=this.axisColor,u.strokeRect(h,r,i,s)}if(this.style===o.STYLE.DOTSIZE&&(u.strokeStyle=this.axisColor,u.fillStyle=this.dataColor.fill,u.beginPath(),u.moveTo(h,r),u.lineTo(a,r),u.lineTo(a-i+e,d),u.lineTo(h,d),u.closePath(),u.fill(),u.stroke()),this.style===o.STYLE.DOTCOLOR||this.style===o.STYLE.DOTSIZE){var y=5,b=new m(this.valueMin,this.valueMax,(this.valueMax-this.valueMin)/5,!0);for(b.start(),b.getCurrent()0?this.yMin:this.yMax,n=this._convert3Dto2D(new l(_,r,this.zMin)),Math.cos(2*w)>0?(v.textAlign="center",v.textBaseline="top",n.y+=b):Math.sin(2*w)<0?(v.textAlign="right",v.textBaseline="middle"):(v.textAlign="left",v.textBaseline="middle"),v.fillStyle=this.axisColor,v.fillText(" "+this.xValueLabel(i.getCurrent())+" ",n.x,n.y),i.next()}for(v.lineWidth=1,o=void 0===this.defaultYStep,i=new m(this.yMin,this.yMax,this.yStep,o),i.start(),i.getCurrent()0?this.xMin:this.xMax,n=this._convert3Dto2D(new l(s,i.getCurrent(),this.zMin)),Math.cos(2*w)<0?(v.textAlign="center",v.textBaseline="top",n.y+=b):Math.sin(2*w)>0?(v.textAlign="right",v.textBaseline="middle"):(v.textAlign="left",v.textBaseline="middle"),v.fillStyle=this.axisColor,v.fillText(" "+this.yValueLabel(i.getCurrent())+" ",n.x,n.y),i.next();for(v.lineWidth=1,o=void 0===this.defaultZStep,i=new m(this.zMin,this.zMax,this.zStep,o),i.start(),i.getCurrent()0?this.xMin:this.xMax,r=Math.sin(w)<0?this.yMin:this.yMax;!i.end();)t=this._convert3Dto2D(new l(s,r,i.getCurrent())),v.strokeStyle=this.axisColor,v.beginPath(),v.moveTo(t.x,t.y),v.lineTo(t.x-b,t.y),v.stroke(),v.textAlign="right",v.textBaseline="middle",v.fillStyle=this.axisColor,v.fillText(this.zValueLabel(i.getCurrent())+" ",t.x-5,t.y),i.next();v.lineWidth=1,t=this._convert3Dto2D(new l(s,r,this.zMin)),e=this._convert3Dto2D(new l(s,r,this.zMax)),v.strokeStyle=this.axisColor,v.beginPath(),v.moveTo(t.x,t.y),v.lineTo(e.x,e.y),v.stroke(),v.lineWidth=1,c=this._convert3Dto2D(new l(this.xMin,this.yMin,this.zMin)),p=this._convert3Dto2D(new l(this.xMax,this.yMin,this.zMin)),v.strokeStyle=this.axisColor,v.beginPath(),v.moveTo(c.x,c.y),v.lineTo(p.x,p.y),v.stroke(),c=this._convert3Dto2D(new l(this.xMin,this.yMax,this.zMin)),p=this._convert3Dto2D(new l(this.xMax,this.yMax,this.zMin)),v.strokeStyle=this.axisColor,v.beginPath(),v.moveTo(c.x,c.y),v.lineTo(p.x,p.y),v.stroke(),v.lineWidth=1,t=this._convert3Dto2D(new l(this.xMin,this.yMin,this.zMin)),e=this._convert3Dto2D(new l(this.xMin,this.yMax,this.zMin)),v.strokeStyle=this.axisColor,v.beginPath(),v.moveTo(t.x,t.y),v.lineTo(e.x,e.y),v.stroke(),t=this._convert3Dto2D(new l(this.xMax,this.yMin,this.zMin)),e=this._convert3Dto2D(new l(this.xMax,this.yMax,this.zMin)),v.strokeStyle=this.axisColor,v.beginPath(),v.moveTo(t.x,t.y),v.lineTo(e.x,e.y),v.stroke();var x=this.xLabel;x.length>0&&(u=.1/this.scale.y,s=(this.xMin+this.xMax)/2,r=Math.cos(w)>0?this.yMin-u:this.yMax+u,n=this._convert3Dto2D(new l(s,r,this.zMin)),Math.cos(2*w)>0?(v.textAlign="center",v.textBaseline="top"):Math.sin(2*w)<0?(v.textAlign="right",v.textBaseline="middle"):(v.textAlign="left",v.textBaseline="middle"),v.fillStyle=this.axisColor,v.fillText(x,n.x,n.y));var k=this.yLabel;k.length>0&&(d=.1/this.scale.x,s=Math.sin(w)>0?this.xMin-d:this.xMax+d,r=(this.yMin+this.yMax)/2,n=this._convert3Dto2D(new l(s,r,this.zMin)),Math.cos(2*w)<0?(v.textAlign="center",v.textBaseline="top"):Math.sin(2*w)>0?(v.textAlign="right",v.textBaseline="middle"):(v.textAlign="left",v.textBaseline="middle"),v.fillStyle=this.axisColor,v.fillText(k,n.x,n.y));var O=this.zLabel;O.length>0&&(h=30,s=Math.cos(w)>0?this.xMin:this.xMax,r=Math.sin(w)<0?this.yMin:this.yMax,a=(this.zMin+this.zMax)/2,n=this._convert3Dto2D(new l(s,r,a)),v.textAlign="right",v.textBaseline="middle",v.fillStyle=this.axisColor,v.fillText(O,n.x-h,n.y))},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._redrawDataGrid=function(){var t,e,i,n,s,r,a,h,d,u,c,p,f=this.frame.canvas,m=f.getContext("2d");if(m.lineJoin="round",m.lineCap="round",!(void 0===this.dataPoints||this.dataPoints.length<=0)){for(s=0;s0}else r=!0;r?(p=(t.point.z+e.point.z+i.point.z+n.point.z)/4,d=240*(1-(p-this.zMin)*this.scale.z/this.verticalRatio),u=1,this.showShadow?(c=Math.min(1+x.x/k/2,1),a=this._hsv2rgb(d,u,c),h=a):(c=1,a=this._hsv2rgb(d,u,c),h=this.axisColor)):(a="gray",h=this.axisColor),m.lineWidth=this._getStrokeWidth(t),m.fillStyle=a,m.strokeStyle=h,m.beginPath(),m.moveTo(t.screen.x,t.screen.y),m.lineTo(e.screen.x,e.screen.y),m.lineTo(n.screen.x,n.screen.y),m.lineTo(i.screen.x,i.screen.y),m.closePath(),m.fill(),m.stroke()}}else for(s=0;sc&&(c=0);var p,f,m;this.style===o.STYLE.DOTCOLOR?(p=240*(1-(d.point.value-this.valueMin)*this.scale.value),f=this._hsv2rgb(p,1,1),m=this._hsv2rgb(p,1,.8)):this.style===o.STYLE.DOTSIZE?(f=this.dataColor.fill,m=this.dataColor.stroke):(p=240*(1-(d.point.z-this.zMin)*this.scale.z/this.verticalRatio),f=this._hsv2rgb(p,1,1),m=this._hsv2rgb(p,1,.8)),i.lineWidth=this._getStrokeWidth(d),i.strokeStyle=m,i.fillStyle=f,i.beginPath(),i.arc(d.screen.x,d.screen.y,c,0,2*Math.PI,!0),i.fill(),i.stroke()}}},o.prototype._redrawDataBar=function(){var t,e,i,n,s=this.frame.canvas,r=s.getContext("2d");if(!(void 0===this.dataPoints||this.dataPoints.length<=0)){for(t=0;t0){for(t=this.dataPoints[0],o.lineWidth=this._getStrokeWidth(t),o.lineJoin="round",o.lineCap="round",o.strokeStyle=this.dataColor.stroke,o.beginPath(),o.moveTo(t.screen.x,t.screen.y),e=1;e0?1:0>t?-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=100,s=null,r=null,a=null,h=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--){s=this.dataPoints[i];var d=s.surfaces;if(d)for(var l=d.length-1;l>=0;l--){var c=d[l],p=c.corners,f=[p[0].screen,p[1].screen,p[2].screen],m=[p[2].screen,p[3].screen,p[0].screen];if(this._insideTriangle(h,f)||this._insideTriangle(h,m))return s}}else for(i=0;ib)&&n>b&&(a=b,r=s)}}return r},o.prototype._showTooltip=function(t){var e,i,o;this.tooltip?(e=this.tooltip.dom.content,i=this.tooltip.dom.line,o=this.tooltip.dom.dot):(e=document.createElement("div"),e.style.position="absolute",e.style.padding="10px",e.style.border="1px solid #4d4d4d",e.style.color="#1a1a1a",e.style.background="rgba(255,255,255,0.7)",e.style.borderRadius="2px",e.style.boxShadow="5px 5px 10px rgba(128,128,128,0.5)",i=document.createElement("div"),i.style.position="absolute",i.style.height="40px",i.style.width="0",i.style.borderLeft="1px solid #4d4d4d",o=document.createElement("div"),o.style.position="absolute",o.style.height="0",o.style.width="0",o.style.border="5px solid #4d4d4d",o.style.borderRadius="5px",this.tooltip={dataPoint:null,dom:{content:e,line:i,dot:o}}),this._hideTooltip(),this.tooltip.dataPoint=t,"function"==typeof this.showTooltip?e.innerHTML=this.showTooltip(t.point):e.innerHTML="
x:"+t.point.x+"
y:"+t.point.y+"
z:"+t.point.z+"
",e.style.left="0",e.style.top="0",this.frame.appendChild(e),this.frame.appendChild(i),this.frame.appendChild(o);var n=e.offsetWidth,s=e.offsetHeight,r=i.offsetHeight,a=o.offsetWidth,h=o.offsetHeight,d=t.screen.x-n/2;d=Math.min(Math.max(d,10),this.frame.clientWidth-10-n),i.style.left=t.screen.x+"px",i.style.top=t.screen.y-r+"px",e.style.left=d+"px",e.style.top=t.screen.y-r-s+"px",o.style.left=t.screen.x-a/2+"px",o.style.top=t.screen.y-h/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)}}},t.exports=o},function(t,e){function i(t){return t?o(t):void 0}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;no;++o)i[o].apply(this,e)}return this},i.prototype.listeners=function(t){return this._callbacks=this._callbacks||{},this._callbacks[t]||[]},i.prototype.hasListeners=function(t){return!!this.listeners(t).length}},function(t,e){function i(t,e,i){this.x=void 0!==t?t:0,this.y=void 0!==e?e:0,this.z=void 0!==i?i:0}i.subtract=function(t,e){var o=new i;return o.x=t.x-e.x,o.y=t.y-e.y,o.z=t.z-e.z,o},i.add=function(t,e){var o=new i;return o.x=t.x+e.x,o.y=t.y+e.y,o.z=t.z+e.z,o},i.avg=function(t,e){return new i((t.x+e.x)/2,(t.y+e.y)/2,(t.z+e.z)/2)},i.crossProduct=function(t,e){var o=new i;return o.x=t.y*e.z-t.z*e.y,o.y=t.z*e.x-t.x*e.z,o.z=t.x*e.y-t.y*e.x,o},i.prototype.length=function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)},t.exports=i},function(t,e){function i(t,e){this.x=void 0!==t?t:0,this.y=void 0!==e?e:0}t.exports=i},function(t,e,i){function o(){this.armLocation=new n,this.armRotation={},this.armRotation.horizontal=0,this.armRotation.vertical=0,this.armLength=1.7,this.cameraLocation=new n,this.cameraRotation=new n(.5*Math.PI,0,0),this.calculateCameraOrientation()}var n=i(13);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.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},t.exports=o},function(t,e,i){function o(t,e,i){this.data=t,this.column=e,this.graph=i,this.index=void 0,this.value=void 0,this.values=i.getDistinctValues(t.get(),this.column),this.values.sort(function(t,e){return t>e?1:e>t?-1:0}),this.values.length>0&&this.selectValue(0),this.dataPoints=[],this.loaded=!1,this.onLoadCallback=void 0,i.animationPreload?(this.loaded=!1,this.loadInBackground()):this.loaded=!0}var n=i(10);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(){return void 0!==this.index?this.values[this.index]:void 0},o.prototype.getValues=function(){return this.values},o.prototype.getValue=function(t){if(t>=this.values.length)throw"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.data,{filter:function(t){return t[i.column]==i.value}}).get();e=this.graph._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"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&&(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(!(to&&(o=0),o>this.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,i=t/(this.values.length-1)*e,o=i+3;return o},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){function i(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)}i.prototype.setRange=function(t,e,i,o){this._start=t?t:0,this._end=e?e:0,this.setStep(i,o)},i.prototype.setStep=function(t,e){void 0===t||0>=t||(void 0!==e&&(this.prettyStep=e),this.prettyStep===!0?this._step=i.calculatePrettyStep(t):this._step=t)},i.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),0>=s&&(s=1),s},i.prototype.getCurrent=function(){return parseFloat(this._current.toPrecision(this.precision))},i.prototype.getStep=function(){return this._step},i.prototype.start=function(){this._current=this._start-this._start%this._step},i.prototype.next=function(){this._current+=this._step},i.prototype.end=function(){return this._current>this._end},t.exports=i},function(t,e,i){function o(t,e,i,d){if(!(this instanceof o))throw new SyntaxError("Constructor must be called with the new operator");if(!(Array.isArray(i)||i instanceof r||i instanceof a)&&i instanceof Object){var c=d;d=i,i=c}var f=this;this.defaultOptions={start:null,end:null,autoResize:!0,throttleRedraw:0,orientation:{axis:"bottom",item:"bottom"},moment:n,width:null,height:null,maxHeight:null,minHeight:null},this.options=s.deepExtend({},this.defaultOptions),this._create(t),this.components=[],this.body={dom:this.dom,domProps:this.props,emitter:{on:this.on.bind(this),off:this.off.bind(this),emit:this.emit.bind(this)},hiddenDates:[],util:{getScale:function(){return f.timeAxis.step.scale},getStep:function(){return f.timeAxis.step.step},toScreen:f._toScreen.bind(f),toGlobalScreen:f._toGlobalScreen.bind(f),toTime:f._toTime.bind(f),toGlobalTime:f._toGlobalTime.bind(f)}},this.range=new h(this.body),this.components.push(this.range),this.body.range=this.range,this.timeAxis=new l(this.body),this.timeAxis2=null,this.components.push(this.timeAxis),this.currentTime=new u(this.body),this.components.push(this.currentTime),this.itemSet=new p(this.body),this.components.push(this.itemSet),this.itemsData=null,this.groupsData=null,this.on("tap",function(t){f.emit("click",f.getEventProperties(t))}),this.on("doubletap",function(t){f.emit("doubleClick",f.getEventProperties(t))}),this.dom.root.oncontextmenu=function(t){f.emit("contextmenu",f.getEventProperties(t))},d&&this.setOptions(d),i&&this.setGroups(i),e?this.setItems(e):this._redraw()}var n=(i(12),i(20),i(2)),s=i(1),r=i(8),a=i(10),h=i(24),d=i(28),l=i(39),u=i(44),c=i(42),p=i(29),f=i(45),m=i(47)["default"],v=i(47).printStyle,g=i(48).allOptions,y=i(48).configureOptions;o.prototype=new d,o.prototype._createConfigurator=function(){return new f(this,this.dom.container,y)},o.prototype.redraw=function(){this.itemSet&&this.itemSet.markDirty({refreshItems:!0}),this._redraw()},o.prototype.setOptions=function(t){var e=m.validate(t,g);if(e===!0&&console.log("%cErrors have been found in the supplied options object.",v),d.prototype.setOptions.call(this,t),"type"in t&&t.type!==this.options.type){this.options.type=t.type;var i=this.itemsData;if(i){var o=this.getSelection();this.setItems(null),this.setItems(i),this.setSelection(o)}}},o.prototype.setItems=function(t){var e,i=null==this.itemsData;if(e=t?t instanceof r||t instanceof a?t:new r(t,{type:{start:"Date",end:"Date"}}):null,this.itemsData=e,this.itemSet&&this.itemSet.setItems(e),i)if(void 0!=this.options.start||void 0!=this.options.end){if(void 0==this.options.start||void 0==this.options.end)var o=this.getItemRange();var n=void 0!=this.options.start?this.options.start:o.min,s=void 0!=this.options.end?this.options.end:o.max;this.setWindow(n,s,{animation:!1})}else this.fit({animation:!1})},o.prototype.setGroups=function(t){var e;e=t?t instanceof r||t instanceof a?t:new r(t):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||n>e)&&(n=e),(null===s||i>s)&&(s=i)}),null!==n&&null!==s){var r=(n+s)/2,a=Math.max(this.range.end-this.range.start,1.1*(s-n)),h=e&&void 0!==e.animation?e.animation:!0;this.range.setRange(r-a/2,r+a/2,h)}}},o.prototype.fit=function(t){var e=t&&void 0!==t.animation?t.animation:!0,i=this.getItemRange();this.range.setRange(i.min,i.max,e)},o.prototype.getItemRange=function(){var t=this,e=this.getDataRange(),i=e.min.valueOf(),o=e.max.valueOf(),n=null,r=null;if(null!=i&&null!=o){var a,h,d,l,u;!function(){var e=function(t){return s.convert(t.data.start,"Date").valueOf()},c=function(t){var e=void 0!=t.data.end?t.data.end:t.data.start;return s.convert(e,"Date").valueOf()};a=o-i,0>=a&&(a=10),h=a/t.props.center.width,s.forEach(t.itemSet.items,function(t){t.show();var s=e(t),a=c(t),d=s-(t.getWidthLeft()+10)*h,l=a+(t.getWidthRight()+10)*h;i>d&&(i=d,n=t),l>o&&(o=l,r=t)}.bind(t)),n&&r&&(d=n.getWidthLeft()+10,l=r.getWidthRight()+10,u=t.props.center.width-d-l,u>0&&(i=e(n)-d*a/u,o=c(r)+l*a/u))}()}return{min:null!=i?new Date(i):null,max:null!=o?new Date(o):null}},o.prototype.getDataRange=function(){var t=null,e=null,i=this.itemsData&&this.itemsData.getDataSet();return i&&i.forEach(function(i){var o=s.convert(i.start,"Date").valueOf(),n=s.convert(void 0!=i.end?i.end:i.start,"Date").valueOf();(null===t||t>o)&&(t=o),(null===e||n>e)&&(e=n)}),{min:null!=t?new Date(t):null,max:null!=e?new Date(e):null}},o.prototype.getEventProperties=function(t){var e=t.center?t.center.x:t.clientX,i=t.center?t.center.y:t.clientY,o=e-s.getAbsoluteLeft(this.dom.centerContainer),n=i-s.getAbsoluteTop(this.dom.centerContainer),r=this.itemSet.itemFromTarget(t),a=this.itemSet.groupFromTarget(t),h=c.customTimeFromTarget(t),d=this.itemSet.options.snap||null,l=this.body.util.getScale(),u=this.body.util.getStep(),p=this._toTime(o),f=d?d(p,l,u):p,m=s.getTarget(t),v=null;return null!=r?v="item":null!=h?v="custom-time":s.hasParent(m,this.timeAxis.dom.foreground)?v="axis":this.timeAxis2&&s.hasParent(m,this.timeAxis2.dom.foreground)?v="axis":s.hasParent(m,this.itemSet.dom.labelSet)?v="group-label":s.hasParent(m,this.currentTime.bar)?v="current-time":s.hasParent(m,this.dom.center)&&(v="background"),{event:t,item:r?r.id:null,group:a?a.groupId:null,what:v,pageX:t.srcEvent?t.srcEvent.pageX:t.pageX,pageY:t.srcEvent?t.srcEvent.pageY:t.pageY,x:o,y:n,time:p,snappedTime:f}},t.exports=o},function(t,e,i){if("undefined"!=typeof window){var o=i(21),n=window.Hammer||i(22);t.exports=o(n,{preventDefault:"mouse"})}else t.exports=function(){throw Error("hammer.js is only available in a browser, not in node.js.")}},function(t,e,i){var o,n,s;!function(i){n=[],o=i,s="function"==typeof o?o.apply(e,n):o,!(void 0!==s&&(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},e.firstTarget=t;for(var o=t;o&&!i;){var n=o.hammer&&o.hammer._handlers[e.type];if(n)for(var s=0;s0?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(){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(f(t,i),e)}function d(t,e,i){return Array.isArray(t)?(l(t,i[e],i),!0):!1}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-1}function _(t){return t.trim().split(/\s+/g)}function x(t,e,i){if(t.indexOf&&!i)return t.indexOf(e);for(var o=0;oi[e]}):o.sort()),o}function M(t,e){for(var i,o,n=e[0].toUpperCase()+e.slice(1),s=0;s1&&!i.firstMultiple?i.firstMultiple=z(e):1===n&&(i.firstMultiple=!1);var s=i.firstInput,r=i.firstMultiple,a=r?r.center:s.center,h=e.center=L(o);e.timeStamp=gt(),e.deltaTime=e.timeStamp-s.timeStamp,e.angle=R(a,h),e.distance=F(a,h),I(i,e),e.offsetDirection=B(e.deltaX,e.deltaY),e.scale=r?H(r.pointers,o):1,e.rotation=r?j(r.pointers,o):0,N(i,e);var d=t.element;b(e.srcEvent.target,d)&&(d=e.srcEvent.target),e.target=d}function I(t,e){var i=e.center,o=t.offsetDelta||{},n=t.prevDelta||{},s=t.prevInput||{};(e.eventType===Tt||s.eventType===Et)&&(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 N(t,e){var i,o,n,s,r=t.lastInterval||e,h=e.timeStamp-r.timeStamp;if(e.eventType!=Pt&&(h>Ct||r.velocity===a)){var d=r.deltaX-e.deltaX,l=r.deltaY-e.deltaY,u=A(h,d,l);o=u.x,n=u.y,i=vt(u.x)>vt(u.y)?u.x:u.y,s=B(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 z(t){for(var e=[],i=0;in;)i+=t[n].clientX,o+=t[n].clientY,n++;return{x:mt(i/e),y:mt(o/e)}}function A(t,e,i){return{x:e/t||0,y:i/t||0}}function B(t,e){return t===e?It:vt(t)>=vt(e)?t>0?Nt:zt:e>0?Lt:At}function F(t,e,i){i||(i=jt);var o=e[i[0]]-t[i[0]],n=e[i[1]]-t[i[1]];return Math.sqrt(o*o+n*n)}function R(t,e,i){i||(i=jt);var o=e[i[0]]-t[i[0]],n=e[i[1]]-t[i[1]];return 180*Math.atan2(n,o)/Math.PI}function j(t,e){return R(e[1],e[0],Ht)-R(t[1],t[0],Ht)}function H(t,e){return F(e[0],e[1],Ht)/F(t[0],t[1],Ht)}function W(){this.evEl=Yt,this.evWin=Gt,this.allow=!0,this.pressed=!1,T.apply(this,arguments)}function Y(){this.evEl=qt,this.evWin=Xt,T.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}function G(){this.evTarget=Kt,this.evWin=Jt,this.started=!1,T.apply(this,arguments)}function U(t,e){var i=k(t.touches),o=k(t.changedTouches);return e&(Et|Pt)&&(i=O(i.concat(o),"identifier",!0)),[i,o]}function V(){this.evTarget=$t,this.targetIds={},T.apply(this,arguments)}function q(t,e){var i=k(t.touches),o=this.targetIds;if(e&(Tt|St)&&1===i.length)return o[i[0].identifier]=!0,[i,i];var n,s,r=k(t.changedTouches),a=[],h=this.target;if(s=i.filter(function(t){return b(t.target,h)}),e===Tt)for(n=0;na&&(e.push(t),a=e.length-1):n&(Et|Pt)&&(i=!0),0>a||(e[a]=t,this.callback(this.manager,n,{pointers:e,changedPointers:[t],pointerType:s,srcEvent:t}),i&&e.splice(a,1))}});var Zt={touchstart:Tt,touchmove:St,touchend:Et,touchcancel:Pt},Kt="touchstart",Jt="touchstart touchmove touchend touchcancel";p(G,T,{handler:function(t){var e=Zt[t.type];if(e===Tt&&(this.started=!0),this.started){var i=U.call(this,t,e);e&(Et|Pt)&&i[0].length-i[1].length===0&&(this.started=!1),this.callback(this.manager,e,{pointers:i[0],changedPointers:i[1],pointerType:kt,srcEvent:t})}}});var Qt={touchstart:Tt,touchmove:St,touchend:Et,touchcancel:Pt},$t="touchstart touchmove touchend touchcancel";p(V,T,{handler:function(t){var e=Qt[t.type],i=q.call(this,t,e);i&&this.callback(this.manager,e,{pointers:i[0],changedPointers:i[1],pointerType:kt,srcEvent:t})}}),p(X,T,{handler:function(t,e,i){var o=i.pointerType==kt,n=i.pointerType==Mt;if(o)this.mouse.allow=!1;else if(n&&!this.mouse.allow)return;e&(Et|Pt)&&(this.mouse.allow=!0),this.callback(t,e,i)},destroy:function(){this.touch.destroy(),this.mouse.destroy()}});var te=M(pt.style,"touchAction"),ee=te!==a,ie="compute",oe="auto",ne="manipulation",se="none",re="pan-x",ae="pan-y";Z.prototype={set:function(t){t==ie&&(t=this.compute()),ee&&(this.manager.element.style[te]=t),this.actions=t.toLowerCase().trim()},update:function(){this.set(this.manager.options.touchAction)},compute:function(){var t=[];return l(this.manager.recognizers,function(e){m(e.options.enable,[e])&&(t=t.concat(e.getTouchAction()))}),K(t.join(" "))},preventDefaults:function(t){if(!ee){var e=t.srcEvent,i=t.offsetDirection;if(this.manager.session.prevented)return void e.preventDefault();var o=this.actions,n=w(o,se),s=w(o,ae),r=w(o,re);return n||s&&i&Bt||r&&i&Ft?this.preventSrc(e):void 0}},preventSrc:function(t){this.manager.session.prevented=!0,t.preventDefault()}};var he=1,de=2,le=4,ue=8,ce=ue,pe=16,fe=32;J.prototype={defaults:{},set:function(t){return u(this.options,t),this.manager&&this.manager.touchAction.update(),this},recognizeWith:function(t){if(d(t,"recognizeWith",this))return this;var e=this.simultaneous;return t=tt(t,this),e[t.id]||(e[t.id]=t,t.recognizeWith(this)),this},dropRecognizeWith:function(t){return d(t,"dropRecognizeWith",this)?this:(t=tt(t,this),delete this.simultaneous[t.id],this)},requireFailure:function(t){if(d(t,"requireFailure",this))return this;var e=this.requireFail;return t=tt(t,this),-1===x(e,t)&&(e.push(t),t.requireFailure(this)),this},dropRequireFailure:function(t){if(d(t,"dropRequireFailure",this))return this;t=tt(t,this);var e=x(this.requireFail,t);return e>-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(i.options.event+(e?Q(o):""),t)}var i=this,o=this.state;ue>o&&e(!0),e(),o>=ue&&e(!0)},tryEmit:function(t){return this.canEmit()?this.emit(t):void(this.state=fe)},canEmit:function(){for(var t=0;ts?Nt:zt,i=s!=this.pX,o=Math.abs(t.deltaX)):(n=0===r?It:0>r?Lt:At,i=r!=this.pY,o=Math.abs(t.deltaY))),t.direction=n,i&&o>e.threshold&&n&e.direction},attrTest:function(t){return et.prototype.attrTest.call(this,t)&&(this.state&de||!(this.state&de)&&this.directionTest(t))},emit:function(t){this.pX=t.deltaX,this.pY=t.deltaY;var e=$(t.direction);e&&this.manager.emit(this.options.event+e,t),this._super.emit.call(this,t)}}),p(ot,et,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[se]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.scale-1)>this.options.threshold||this.state&de)},emit:function(t){if(this._super.emit.call(this,t),1!==t.scale){var e=t.scale<1?"in":"out";this.manager.emit(this.options.event+e,t)}}}),p(nt,J,{defaults:{event:"press",pointers:1,time:500,threshold:5},getTouchAction:function(){return[oe]},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&(Et|Pt)&&!n)this.reset();else if(t.eventType&Tt)this.reset(),this._timer=h(function(){this.state=ce,this.tryEmit()},e.time,this);else if(t.eventType&Et)return ce;return fe},reset:function(){clearTimeout(this._timer)},emit:function(t){this.state===ce&&(t&&t.eventType&Et?this.manager.emit(this.options.event+"up",t):(this._input.timeStamp=gt(),this.manager.emit(this.options.event,this._input)))}}),p(st,et,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[se]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.rotation)>this.options.threshold||this.state&de)}}),p(rt,et,{defaults:{event:"swipe",threshold:10,velocity:.65,direction:Bt|Ft,pointers:1},getTouchAction:function(){return it.prototype.getTouchAction.call(this)},attrTest:function(t){var e,i=this.options.direction;return i&(Bt|Ft)?e=t.velocity:i&Bt?e=t.velocityX:i&Ft&&(e=t.velocityY),this._super.attrTest.call(this,t)&&i&t.direction&&t.distance>this.options.threshold&&vt(e)>this.options.velocity&&t.eventType&Et},emit:function(t){var e=$(t.direction);e&&this.manager.emit(this.options.event+e,t),this.manager.emit(this.options.event,t)}}),p(at,J,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:2,posThreshold:10},getTouchAction:function(){return[ne]},process:function(t){var e=this.options,i=t.pointers.length===e.pointers,o=t.distanceu,c=r||null===n?n:h+(n-h)*i,v=r||null===s?s:l+(s-l)*i;g=a._applyRange(c,v),d.updateHiddenDates(a.options.moment,a.body,a.options.hiddenDates),m=m||g,g&&a.body.emitter.emit("rangechange",{start:new Date(a.start),end:new Date(a.end),byUser:o}),r?m&&a.body.emitter.emit("rangechanged",{start:new Date(a.start),end:new Date(a.end),byUser:o}):a.animationTimer=setTimeout(b,20)}};return v()}var g=this._applyRange(n,s);if(d.updateHiddenDates(this.options.moment,this.body,this.options.hiddenDates),g){var y={start:new Date(this.start),end:new Date(this.end),byUser:o};this.body.emitter.emit("rangechange",y),this.body.emitter.emit("rangechanged",y)}},o.prototype._cancelAnimation=function(){this.animationTimer&&(clearTimeout(this.animationTimer),this.animationTimer=null)},o.prototype._applyRange=function(t,e){var i,o=null!=t?r.convert(t,"Date").valueOf():this.start,n=null!=e?r.convert(e,"Date").valueOf():this.end,s=null!=this.options.max?r.convert(this.options.max,"Date").valueOf():null,a=null!=this.options.min?r.convert(this.options.min,"Date").valueOf():null;if(isNaN(o)||null===o)throw new Error('Invalid start "'+t+'"');if(isNaN(n)||null===n)throw new Error('Invalid end "'+e+'"');if(o>n&&(n=o),null!==a&&a>o&&(i=a-o,o+=i,n+=i,null!=s&&n>s&&(n=s)),null!==s&&n>s&&(i=n-s,o-=i,n-=i,null!=a&&a>o&&(o=a)),null!==this.options.zoomMin){var h=parseFloat(this.options.zoomMin);0>h&&(h=0),h>n-o&&(this.end-this.start===h&&o>this.start&&nd&&(d=0),n-o>d&&(this.end-this.start===d&&othis.end?(o=this.start,n=this.end):(i=n-o-d,o+=i/2,n-=i/2))}var l=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,l},o.prototype.getRange=function(){return{start:this.start,end:this.end}},o.prototype.conversion=function(t,e){return o.conversion(this.start,this.end,t,e)},o.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}},o.prototype._onDragStart=function(t){this.deltaDifference=0,this.previousDelta=0,this.options.moveable&&this._isInsideRange(t)&&this.props.touch.allowDragging&&(this.props.touch.start=this.start,this.props.touch.end=this.end,this.props.touch.dragging=!0,this.body.dom.root&&(this.body.dom.root.style.cursor="move"))},o.prototype._onDrag=function(t){if(this.props.touch.dragging&&this.options.moveable&&this.props.touch.allowDragging){var e=this.options.direction;n(e);var i="horizontal"==e?t.deltaX:t.deltaY;i-=this.deltaDifference;var o=this.props.touch.end-this.props.touch.start,s=d.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end);o-=s;var r="horizontal"==e?this.body.domProps.center.width:this.body.domProps.center.height,a=-i/r*o,h=this.props.touch.start+a,l=this.props.touch.end+a,u=d.snapAwayFromHidden(this.body.hiddenDates,h,this.previousDelta-i,!0),c=d.snapAwayFromHidden(this.body.hiddenDates,l,this.previousDelta-i,!0);if(u!=h||c!=l)return this.deltaDifference+=i,this.props.touch.start=u,this.props.touch.end=c,void this._onDrag(t);this.previousDelta=i,this._applyRange(h,l),this.body.emitter.emit("rangechange",{start:new Date(this.start),end:new Date(this.end),byUser:!0})}},o.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}))},o.prototype._onMouseWheel=function(t){if(this.options.zoomable&&this.options.moveable&&this._isInsideRange(t)&&(!this.options.zoomKey||t[this.options.zoomKey])){var e=0;if(t.wheelDelta?e=t.wheelDelta/120:t.detail&&(e=-t.detail/3),e){var i;i=0>e?1-e/5:1/(1+e/5);var o=s({x:t.clientX,y:t.clientY},this.body.dom.center),n=this._pointerToDate(o);this.zoom(i,n,e)}t.preventDefault()}},o.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},o.prototype._onPinch=function(t){if(this.options.zoomable&&this.options.moveable){this.props.touch.allowDragging=!1,this.props.touch.center||(this.props.touch.center=s(t.center,this.body.dom.center));var e=1/(t.scale+this.scaleOffset),i=this._pointerToDate(this.props.touch.center),o=d.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end),n=d.getHiddenDurationBefore(this.options.moment,this.body.hiddenDates,this,i),r=o-n,a=i-n+(this.props.touch.start-(i-n))*e,h=i+r+(this.props.touch.end-(i+r))*e;this.startToFront=0>=1-e,this.endToFront=0>=e-1;var l=d.snapAwayFromHidden(this.body.hiddenDates,a,1-e,!0),u=d.snapAwayFromHidden(this.body.hiddenDates,h,e-1,!0);(l!=a||u!=h)&&(this.props.touch.start=l,this.props.touch.end=u,this.scaleOffset=1-t.scale,a=l,h=u),this.setRange(a,h,!1,!0),this.startToFront=!1,this.endToFront=!0}},o.prototype._isInsideRange=function(t){var e=t.center?t.center.x:t.clientX,i=e-r.getAbsoluteLeft(this.body.dom.centerContainer),o=this.body.util.toTime(i);return o>=this.start&&o<=this.end},o.prototype._pointerToDate=function(t){var e,i=this.options.direction;if(n(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},o.prototype.zoom=function(t,e,i){null==e&&(e=(this.start+this.end)/2);var o=d.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end),n=d.getHiddenDurationBefore(this.options.moment,this.body.hiddenDates,this,e),s=o-n,r=e-n+(this.start-(e-n))*t,a=e+s+(this.end-(e+s))*t;this.startToFront=i>0?!1:!0,this.endToFront=-i>0?!1:!0;var h=d.snapAwayFromHidden(this.body.hiddenDates,r,i,!0),l=d.snapAwayFromHidden(this.body.hiddenDates,a,-i,!0);(h!=r||l!=a)&&(r=h,a=l),this.setRange(r,a,!1,!0),this.startToFront=!1,this.endToFront=!0},o.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},o.prototype.moveTo=function(t){var e=(this.start+this.end)/2,i=e-t,o=this.start-i,n=this.end-i;this.setRange(o,n)},t.exports=o},function(t,e,i){i(20);e.onTouch=function(t,e){e.inputHandler=function(t){t.isFirst&&!o&&(e(t),o=!0,setTimeout(function(){o=!1},0))},t.on("hammer.input",e.inputHandler)};var o=!1;e.onRelease=function(t,e){return e.inputHandler=function(t){t.isFinal&&!n&&(e(t),n=!0,setTimeout(function(){n=!1},0))},t.on("hammer.input",e.inputHandler)};var n=!1;e.offTouch=function(t,e){t.off("hammer.input",e.inputHandler)},e.offRelease=e.offTouch},function(t,e){function i(t,e){this.options=null,this.props=null}i.prototype.setOptions=function(t){t&&util.extend(this.options,t)},i.prototype.redraw=function(){return!1},i.prototype.destroy=function(){},i.prototype._isResized=function(){var t=this.props._previousWidth!==this.props.width||this.props._previousHeight!==this.props.height;return this.props._previousWidth=this.props.width,this.props._previousHeight=this.props.height,t},t.exports=i},function(t,e){e.convertHiddenOptions=function(t,i,o){if(o&&!Array.isArray(o))return e.convertHiddenOptions(t,i,[o]);if(i.hiddenDates=[],o&&1==Array.isArray(o)){for(var 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(;p>d;)switch(i.hiddenDates.push({start:d.valueOf(),end:l.valueOf()}),o[h].repeat){case"daily":d.add(1,"days"),l.add(1,"days");break;case"weekly":d.add(1,"weeks"),l.add(1,"weeks");break;case"monthly":d.add(1,"months"),l.add(1,"months");break;case"yearly":d.add(1,"y"),l.add(1,"y");break;default:return void console.log("Wrong repeat format, allowed are: daily, weekly, monthly, yearly. Given:",o[h].repeat)}i.hiddenDates.push({start:d.valueOf(),end:l.valueOf()})}}e.removeDuplicates(i);var v=e.isHidden(i.range.start,i.hiddenDates),g=e.isHidden(i.range.end,i.hiddenDates),y=i.range.start,b=i.range.end;1==v.hidden&&(y=1==i.range.startToFront?v.startDate-1:v.endDate+1),1==g.hidden&&(b=1==i.range.endToFront?g.startDate-1:g.endDate+1),(1==v.hidden||1==g.hidden)&&i.range._applyRange(y,b)}},e.removeDuplicates=function(t){for(var e=t.hiddenDates,i=[],o=0;o=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(var o=0;o=r&&a>n){o=!0;break}}if(1==o&&n=e&&i>r&&(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?0>o?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&&n>t)return{hidden:!0,startDate:o,endDate:n}}return{hidden:!1,startDate:o,endDate:n}}},function(t,e,i){function o(){}var n=i(12),s=i(20),r=i(25),a=i(1),h=(i(8),i(10),i(24),i(29),i(39)),d=i(40),l=i(27),u=i(42);n(o.prototype),o.prototype._create=function(t){function e(t){i.isActive()&&i.emit("mousewheel",t)}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.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.root.appendChild(this.dom.background),this.dom.root.appendChild(this.dom.backgroundVertical),this.dom.root.appendChild(this.dom.backgroundHorizontal),this.dom.root.appendChild(this.dom.centerContainer),this.dom.root.appendChild(this.dom.leftContainer),this.dom.root.appendChild(this.dom.rightContainer),this.dom.root.appendChild(this.dom.top),this.dom.root.appendChild(this.dom.bottom),this.dom.centerContainer.appendChild(this.dom.center),this.dom.leftContainer.appendChild(this.dom.left),this.dom.rightContainer.appendChild(this.dom.right),this.dom.centerContainer.appendChild(this.dom.shadowTop),this.dom.centerContainer.appendChild(this.dom.shadowBottom),this.dom.leftContainer.appendChild(this.dom.shadowTopLeft),this.dom.leftContainer.appendChild(this.dom.shadowBottomLeft),this.dom.rightContainer.appendChild(this.dom.shadowTopRight),this.dom.rightContainer.appendChild(this.dom.shadowBottomRight),this.on("rangechange",function(){this._redraw()}.bind(this)),this.on("touch",this._onTouch.bind(this)),this.on("pan",this._onDrag.bind(this));var i=this;this.on("change",function(t){t&&1==t.queue?i._redrawTimer||(i._redrawTimer=setTimeout(function(){i._redrawTimer=null,i._redraw()},0)):i._redraw()}),this.hammer=new s(this.dom.root),this.hammer.get("pinch").set({enable:!0}),this.hammer.get("pan").set({threshold:5,direction:30}),this.listeners={};var o=["tap","doubletap","press","pinch","pan","panstart","panmove","panend"];if(o.forEach(function(t){var e=function(e){i.isActive()&&i.emit(t,e)};i.hammer.on(t,e),i.listeners[t]=e}),r.onTouch(this.hammer,function(t){i.emit("touch",t)}.bind(this)),r.onRelease(this.hammer,function(t){i.emit("release",t)}.bind(this)),this.dom.root.addEventListener("mousewheel",e),this.dom.root.addEventListener("DOMMouseScroll",e),this.props={root:{},background:{},centerContainer:{},leftContainer:{},rightContainer:{},center:{},left:{},right:{},top:{},bottom:{},border:{},scrollTop:0,scrollTopMin:0},this.customTimes=[],this.touch={},this.redrawCount=0,!t)throw new Error("No container provided");t.appendChild(this.dom.root)},o.prototype.setOptions=function(t){if(t){var e=["width","height","minHeight","maxHeight","autoResize","start","end","clickToUse","dataAttributes","hiddenDates","locale","locales","moment","throttleRedraw"];if(a.selectiveExtend(e,this.options,t),"orientation"in t&&("string"==typeof t.orientation?this.options.orientation={item:t.orientation,axis:t.orientation}:"object"==typeof 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 h(this.body);i.setOptions=function(t){var e=t?a.extend({},t):{};e.orientation="top",h.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&&l.convertHiddenOptions(this.options.moment,this.body,this.options.hiddenDates),"clickToUse"in t&&(t.clickToUse?this.activator||(this.activator=new d(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=a.deepExtend({},this.options);this.components.forEach(function(t){a.deepExtend(n,t.options)}),this.configurator.setModuleOptions({global:n})}this._origRedraw||(this._origRedraw=this._redraw.bind(this)),this._redraw=a.throttle(this._origRedraw,this.options.throttleRedraw),this._redraw()},o.prototype.isActive=function(){return!this.activator||this.activator.active},o.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},o.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 "+JSON.stringify(e));i.length>0&&i[0].setCustomTime(t)},o.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 "+JSON.stringify(t));return e[0].getCustomTime()},o.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 "+JSON.stringify(e));return i.length>0?i[0].setCustomTitle(t):void 0},o.prototype.getEventProperties=function(t){ -return{event:t}},o.prototype.addCustomTime=function(t,e){var i=void 0!==t?a.convert(t,"Date").valueOf():new Date,o=this.customTimes.some(function(t){return t.options.id===e});if(o)throw new Error("A custom time with id "+JSON.stringify(e)+" already exists");var n=new u(this.body,a.extend({},this.options,{time:i,id:e}));return this.customTimes.push(n),this.components.push(n),this._redraw(),e},o.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 "+JSON.stringify(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))},o.prototype.getVisibleItems=function(){return this.itemSet&&this.itemSet.getVisibleItems()||[]},o.prototype.fit=function(t){var e=this.getDataRange();if(null!==e.min||null!==e.max){var i=e.max-e.min,o=new Date(e.min.valueOf()-.01*i),n=new Date(e.max.valueOf()+.01*i),s=t&&void 0!==t.animation?t.animation:!0;this.range.setRange(o,n,s)}},o.prototype.getDataRange=function(){throw new Error("Cannot invoke abstract method getDataRange")},o.prototype.setWindow=function(t,e,i){var o;if(1==arguments.length){var n=arguments[0];o=void 0!==n.animation?n.animation:!0,this.range.setRange(n.start,n.end,o)}else o=i&&void 0!==i.animation?i.animation:!0,this.range.setRange(t,e,o)},o.prototype.moveTo=function(t,e){var i=this.range.end-this.range.start,o=a.convert(t,"Date").valueOf(),n=o-i/2,s=o+i/2,r=e&&void 0!==e.animation?e.animation:!0;this.range.setRange(n,s,r)},o.prototype.getWindow=function(){var t=this.range.getRange();return{start:new Date(t.start),end:new Date(t.end)}},o.prototype.redraw=function(){this._redraw()},o.prototype._redraw=function(){var t=!1,e=this.options,i=this.props,o=this.dom;if(o){l.updateHiddenDates(this.options.moment,this.body,this.options.hiddenDates),"top"==e.orientation?(a.addClassName(o.root,"vis-top"),a.removeClassName(o.root,"vis-bottom")):(a.removeClassName(o.root,"vis-top"),a.addClassName(o.root,"vis-bottom")),o.root.style.maxHeight=a.option.asSize(e.maxHeight,""),o.root.style.minHeight=a.option.asSize(e.minHeight,""),o.root.style.width=a.option.asSize(e.width,""),i.border.left=(o.centerContainer.offsetWidth-o.centerContainer.clientWidth)/2,i.border.right=i.border.left,i.border.top=(o.centerContainer.offsetHeight-o.centerContainer.clientHeight)/2,i.border.bottom=i.border.top;var n=o.root.offsetHeight-o.root.clientHeight,s=o.root.offsetWidth-o.root.clientWidth;0===o.centerContainer.clientHeight&&(i.border.left=i.border.top,i.border.right=i.border.left),0===o.root.clientHeight&&(s=n),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 r=Math.max(i.left.height,i.center.height,i.right.height),h=i.top.height+r+i.bottom.height+n+i.border.top+i.border.bottom;o.root.style.height=a.option.asSize(e.height,h+"px"),i.root.height=o.root.offsetHeight,i.background.height=i.root.height-n;var d=i.root.height-i.top.height-i.bottom.height-n;i.centerContainer.height=d,i.leftContainer.height=d,i.rightContainer.height=i.leftContainer.height,i.root.width=o.root.offsetWidth,i.background.width=i.root.width-s,i.left.width=o.leftContainer.clientWidth||-i.border.left,i.leftContainer.width=i.left.width,i.right.width=o.rightContainer.clientWidth||-i.border.right,i.rightContainer.width=i.right.width;var u=i.root.width-i.left.width-i.right.width-s;i.center.width=u,i.centerContainer.width=u,i.top.width=u,i.bottom.width=u,o.background.style.height=i.background.height+"px",o.backgroundVertical.style.height=i.background.height+"px",o.backgroundHorizontal.style.height=i.centerContainer.height+"px",o.centerContainer.style.height=i.centerContainer.height+"px",o.leftContainer.style.height=i.leftContainer.height+"px",o.rightContainer.style.height=i.rightContainer.height+"px",o.background.style.width=i.background.width+"px",o.backgroundVertical.style.width=i.centerContainer.width+"px",o.backgroundHorizontal.style.width=i.background.width+"px",o.centerContainer.style.width=i.center.width+"px",o.top.style.width=i.top.width+"px",o.bottom.style.width=i.bottom.width+"px",o.background.style.left="0",o.background.style.top="0",o.backgroundVertical.style.left=i.left.width+i.border.left+"px",o.backgroundVertical.style.top="0",o.backgroundHorizontal.style.left="0",o.backgroundHorizontal.style.top=i.top.height+"px",o.centerContainer.style.left=i.left.width+"px",o.centerContainer.style.top=i.top.height+"px",o.leftContainer.style.left="0",o.leftContainer.style.top=i.top.height+"px",o.rightContainer.style.left=i.left.width+i.center.width+"px",o.rightContainer.style.top=i.top.height+"px",o.top.style.left=i.left.width+"px",o.top.style.top="0",o.bottom.style.left=i.left.width+"px",o.bottom.style.top=i.top.height+i.centerContainer.height+"px",this._updateScrollTop();var c=this.props.scrollTop;"top"!=e.orientation.item&&(c+=Math.max(this.props.centerContainer.height-this.props.center.height-this.props.border.top-this.props.border.bottom,0)),o.center.style.left="0",o.center.style.top=c+"px",o.left.style.left="0",o.left.style.top=c+"px",o.right.style.left="0",o.right.style.top=c+"px";var p=0==this.props.scrollTop?"hidden":"",f=this.props.scrollTop==this.props.scrollTopMin?"hidden":"";if(o.shadowTop.style.visibility=p,o.shadowBottom.style.visibility=f,o.shadowTopLeft.style.visibility=p,o.shadowBottomLeft.style.visibility=f,o.shadowTopRight.style.visibility=p,o.shadowBottomRight.style.visibility=f,this.components.forEach(function(e){t=e.redraw()||t}),t){var m=3;this.redrawCount0&&(this.props.scrollTop=0),this.props.scrollTope;e++)o=this.selection[e],n=this.items[o],n&&n.unselect();for(this.selection=[],e=0,i=t.length;i>e;e++)o=t[e],n=this.items[o],n&&(this.selection.push(o),n.select())},o.prototype.getSelection=function(){return this.selection.concat([])},o.prototype.getVisibleItems=function(){var t=this.body.range.getRange(),e=this.body.util.toScreen(t.start),i=this.body.util.toScreen(t.end),o=[];for(var n in this.groups)if(this.groups.hasOwnProperty(n))for(var s=this.groups[n],r=s.visibleItems,a=0;ae&&o.push(h.id)}return o},o.prototype._deselect=function(t){for(var e=this.selection,i=0,o=e.length;o>i;i++)if(e[i]==t){e.splice(i,1);break}},o.prototype.redraw=function(){var t=this.options.margin,e=this.body.range,i=s.option.asSize,o=this.options,n=o.orientation.item,r=!1,a=this.dom.frame;this.props.top=this.body.domProps.top.height+this.body.domProps.border.top,this.props.left=this.body.domProps.left.width+this.body.domProps.border.left,a.className="vis-itemset",r=this._orderGroups()||r;var h=e.end-e.start,d=h!=this.lastVisibleInterval||this.props.width!=this.props.lastWidth;d&&(this.stackDirty=!0),this.lastVisibleInterval=h,this.props.lastWidth=this.props.width;var l=this.stackDirty,u=this._firstGroup(),c={item:t.item,axis:t.axis},p={item:t.item,axis:t.item.vertical/2},f=0,m=t.axis+t.item.vertical;return this.groups[g].redraw(e,p,l),s.forEach(this.groups,function(t){var i=t==u?c:p,o=t.redraw(e,i,l);r=o||r,f+=t.height}),f=Math.max(f,m),this.stackDirty=!1,a.style.height=i(f),this.props.width=a.offsetWidth,this.props.height=f,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.dom.axis.style.left="0",r=this._isResized()||r},o.prototype._firstGroup=function(){var t="top"==this.options.orientation.item?0:this.groupIds.length-1,e=this.groupIds[t],i=this.groups[e]||this.groups[v];return i||null},o.prototype._updateUngrouped=function(){var t,e,i=this.groups[v];this.groups[g];if(this.groupsData){if(i){i.hide(),delete this.groups[v];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){var s=null,r=null;i=new l(s,r,this),this.groups[v]=i;for(e in this.items)this.items.hasOwnProperty(e)&&(t=this.items[e],i.add(t));i.show()}},o.prototype.getLabelSet=function(){return this.dom.labelSet},o.prototype.setItems=function(t){var e,i=this,o=this.itemsData;if(t){if(!(t instanceof r||t instanceof a))throw new TypeError("Data must be an instance of DataSet or DataView");this.itemsData=t}else this.itemsData=null;if(o&&(s.forEach(this.itemListeners,function(t,e){o.off(e,t)}),e=o.getIds(),this._onRemove(e)),this.itemsData){var n=this.id;s.forEach(this.itemListeners,function(t,e){i.itemsData.on(e,t,n)}),e=this.itemsData.getIds(),this._onAdd(e),this._updateUngrouped()}},o.prototype.getItems=function(){return this.itemsData},o.prototype.setGroups=function(t){var e,i=this;if(this.groupsData&&(s.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 r||t instanceof a))throw new TypeError("Data must be an instance of DataSet or DataView");this.groupsData=t}else this.groupsData=null;if(this.groupsData){var o=this.id;s.forEach(this.groupListeners,function(t,e){i.groupsData.on(e,t,o)}),e=this.groupsData.getIds(),this._onAddGroups(e)}this._updateUngrouped(),this._order(),this.body.emitter.emit("change",{queue:!0})},o.prototype.getGroups=function(){return this.groupsData},o.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)})},o.prototype._getType=function(t){return t.type||this.options.type||(t.end?"range":"box")},o.prototype._getGroupId=function(t){var e=this._getType(t);return"background"==e&&void 0==t.group?g:this.groupsData?t.group:v},o.prototype._onUpdate=function(t){var e=this;t.forEach(function(t){var i,n=e.itemsData.get(t,e.itemOptions),s=e.items[t],r=e._getType(n),a=o.types[r];if(s&&(a&&s instanceof a?e._updateItem(s,n):(i=s.selected,e._removeItem(s),s=null)),!s){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(n,e.conversion,e.options),s.id=t,e._addItem(s),i&&(this.selection.push(t),s.select())}}.bind(this)),this._order(),this.stackDirty=!0,this.body.emitter.emit("change",{queue:!0})},o.prototype._onAdd=o.prototype._onUpdate,o.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.stackDirty=!0,this.body.emitter.emit("change",{queue:!0}))},o.prototype._order=function(){s.forEach(this.groups,function(t){t.order()})},o.prototype._onUpdateGroups=function(t){this._onAddGroups(t)},o.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==v||t==g)throw new Error("Illegal group id. "+t+" is a reserved id.");var n=Object.create(e.options);s.extend(n,{height:null}),o=new l(t,i,e),e.groups[t]=o;for(var r in e.items)if(e.items.hasOwnProperty(r)){var a=e.items[r];a.data.group==t&&o.add(a)}o.order(),o.show()}}),this.body.emitter.emit("change",{queue:!0})},o.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})},o.prototype._orderGroups=function(){if(this.groupsData){var t=this.groupsData.getIds({order:this.options.groupOrder}),e=!s.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},o.prototype._addItem=function(t){this.items[t.id]=t;var e=this._getGroupId(t.data),i=this.groups[e];i&&i.add(t)},o.prototype._updateItem=function(t,e){var i=t.data.group,o=t.data.subgroup;if(t.setData(e),i!=t.data.group||o!=t.data.subgroup){var n=this.groups[i];n&&n.remove(t);var s=this._getGroupId(t.data),r=this.groups[s];r&&r.add(t)}},o.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)},o.prototype._constructByEndArray=function(t){for(var e=[],i=0;in+r)return}else{var a=e.height;if(n+a-r>o)return}}if(e&&e!=this.groupTouchParams.group){var h=this.groupsData,d=h.get(e.groupId),l=h.get(this.groupTouchParams.group.groupId);l&&d&&(this.options.groupOrderSwap(l,d,this.groupsData),this.groupsData.update(l),this.groupsData.update(d));var u=this.groupsData.getIds({order:this.options.groupOrder});if(!s.equalArray(u,this.groupTouchParams.originalOrder))for(var h=this.groupsData,c=this.groupTouchParams.originalOrder,p=this.groupTouchParams.group.groupId,f=Math.min(c.length,u.length),m=0,v=0,g=0;f>m;){for(;f>m+v&&f>m+g&&u[m+v]==c[m+g];)m++;if(m+v>=f)break;if(u[m+v]!=p)if(c[m+g]!=p){var y=u.indexOf(c[m+g]),b=h.get(u[m+v]),w=h.get(c[m+g]);this.options.groupOrderSwap(b,w,h),h.update(b),h.update(w);var _=u[m+v];u[m+v]=c[m+g],u[y]=_,m++}else g=1;else v=1}}}},o.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=s.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(!s.equalArray(n,e.groupTouchParams.originalOrder))for(var r=e.groupTouchParams.originalOrder,a=Math.min(r.length,n.length),h=0;a>h;){for(;a>h&&n[h]==r[h];)h++;if(h>=a)break;var d=n.indexOf(r[h]),l=o.get(n[h]),u=o.get(r[h]);e.options.groupOrderSwap(l,u,o),groupsData.update(l),groupsData.update(u);var c=n[h];n[h]=r[h],n[d]=c,h++}}}),e.body.emitter.emit("groupDragged",{groupId:i})}},o.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})}},o.prototype._onAddItem=function(t){if(this.options.selectable&&this.options.editable.add){var e=this,i=this.options.snap||null,o=this.itemFromTarget(t);if(t.stopPropagation(),o){var n=e.itemsData.get(o.id);this.options.onUpdate(n,function(t){t&&e.itemsData.getDataSet().update(t)})}else{var r=s.getAbsoluteLeft(this.dom.frame),a=t.center.x-r,h=this.body.util.toTime(a),d=this.body.util.getScale(),l=this.body.util.getStep(),u={start:i?i(h,d,l):h,content:"new item"};if("range"===this.options.type){var c=this.body.util.toTime(a+this.props.width/5);u.end=i?i(c,d,l):c}u[this.itemsData._fieldId]=s.randomUUID();var p=this.groupFromTarget(t);p&&(u.group=p.groupId),u=this._cloneItemData(u),this.options.onAdd(u,function(t){t&&e.itemsData.getDataSet().add(t)})}}},o.prototype._onMultiSelectItem=function(t){if(this.options.selectable){var e=this.itemFromTarget(t);if(e){var i=this.options.multiselect?this.getSelection():[],n=t.srcEvent&&t.srcEvent.shiftKey||!1;if(n&&this.options.multiselect){var s=this.itemsData.get(e.id).group,r=void 0;this.options.multiselectPerGroup&&i.length>0&&(r=this.itemsData.get(i[0]).group),this.options.multiselectPerGroup&&void 0!=r&&r!=s||i.push(e.id);var a=o._getItemRange(this.itemsData.get(i,this.itemOptions));if(!this.options.multiselectPerGroup||r==s){i=[];for(var h in this.items)if(this.items.hasOwnProperty(h)){var d=this.items[h],l=d.data.start,u=void 0!==d.data.end?d.data.end:l;!(l>=a.min&&u<=a.max)||this.options.multiselectPerGroup&&r!=this.itemsData.get(d.id).group||d instanceof m||i.push(d.id)}}}else{var c=i.indexOf(e.id);-1==c?i.push(e.id):i.splice(c,1)}this.setSelection(i),this.body.emitter.emit("select",{items:this.getSelection(),event:t})}}},o._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}},o.prototype.itemFromTarget=function(t){for(var e=t.target;e;){if(e.hasOwnProperty("timeline-item"))return e["timeline-item"];e=e.parentNode}return null},o.prototype.groupFromTarget=function(t){for(var e=t.center?t.center.y:t.clientY,i=0;ia&&ea)return n}else if(0===i&&e0?t.step:1,this.autoScale=!1)},o.prototype.setAutoScale=function(t){this.autoScale=t},o.prototype.setMinimumStep=function(t){if(void 0!=t){var e=31104e6,i=2592e6,o=864e5,n=36e5,s=6e4,r=1e3,a=1;1e3*e>t&&(this.scale="year",this.step=1e3),500*e>t&&(this.scale="year",this.step=500),100*e>t&&(this.scale="year",this.step=100),50*e>t&&(this.scale="year",this.step=50),10*e>t&&(this.scale="year",this.step=10),5*e>t&&(this.scale="year",this.step=5),e>t&&(this.scale="year",this.step=1),3*i>t&&(this.scale="month",this.step=3),i>t&&(this.scale="month",this.step=1),5*o>t&&(this.scale="day",this.step=5),2*o>t&&(this.scale="day",this.step=2),o>t&&(this.scale="day",this.step=1),o/2>t&&(this.scale="weekday",this.step=1),4*n>t&&(this.scale="hour",this.step=4),n>t&&(this.scale="hour",this.step=1),15*s>t&&(this.scale="minute",this.step=15),10*s>t&&(this.scale="minute",this.step=10),5*s>t&&(this.scale="minute",this.step=5),s>t&&(this.scale="minute",this.step=1),15*r>t&&(this.scale="second",this.step=15),10*r>t&&(this.scale="second",this.step=10),5*r>t&&(this.scale="second",this.step=5),r>t&&(this.scale="second",this.step=1),200*a>t&&(this.scale="millisecond",this.step=200),100*a>t&&(this.scale="millisecond",this.step=100),50*a>t&&(this.scale="millisecond",this.step=50),10*a>t&&(this.scale="millisecond",this.step=10),5*a>t&&(this.scale="millisecond",this.step=5),a>t&&(this.scale="millisecond",this.step=1)}},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("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.switchedYear=!1,this.scale){case"year":case"month":case"weekday":case"day":case"hour":case"minute":case"second":case"millisecond":return!0;default:return!1}else if(1==this.switchedMonth)switch(this.switchedMonth=!1,this.scale){case"weekday":case"day":case"hour":case"minute":case"second":case"millisecond":return!0;default:return!1}else if(1==this.switchedDay)switch(this.switchedDay=!1,this.scale){case"millisecond":case"second":case"minute":case"hour":return!0;default:return!1}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":return 1==t.date();case"month":return 0==t.month();case"year":return!1;default:return!1}},o.prototype.getLabelMinor=function(t){void 0==t&&(t=this.current);var e=this.format.minorLabels[this.scale];return e&&e.length>0?this.moment(t).format(e):""},o.prototype.getLabelMajor=function(t){void 0==t&&(t=this.current);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/h%2==0?" vis-even":" vis-odd"}function e(t){return t.isSame(new Date,"day")?" vis-today":t.isSame(s().add(1,"day"),"day")?" vis-tomorrow":t.isSame(s().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":""}function n(t){return t.isSame(new Date,"year")?" vis-current-year":""}var s=this.moment,r=this.moment(this.current),a=r.locale?r.locale("en"):r.lang("en"),h=this.step;switch(this.scale){case"millisecond":return t(a.milliseconds()).trim();case"second":return t(a.seconds()).trim();case"minute":return t(a.minutes()).trim();case"hour":var d=a.hours();return 4==this.step&&(d=d+"-h"+(d+4)),"vis-h"+d+e(a)+t(a.hours());case"weekday":return"vis-"+a.format("dddd").toLowerCase()+e(a)+i(a)+t(a.date());case"day":var l=a.date(),u=a.format("MMMM").toLowerCase();return"vis-day"+l+" vis-"+u+o(a)+t(l-1);case"month":return"vis-"+a.format("MMMM").toLowerCase()+o(a)+t(a.month());case"year":var c=a.year();return"vis-year"+c+n(a)+t(c);default:return""}},t.exports=o},function(t,e,i){function o(t,e,i){this.groupId=t,this.subgroups={},this.subgroupIndex=0,this.subgroupOrderer=e&&e.subgroupOrder,this.itemSet=i,this.dom={},this.props={label:{width:0,height:0}},this.className=null,this.items={},this.visibleItems=[],this.orderedItems={byStart:[],byEnd:[]},this.checkRangedItems=!1;var o=this;this.itemSet.body.emitter.on("checkRangedItems",function(){o.checkRangedItems=!0}),this._create(),this.setData(e)}var n=i(1),s=i(32);i(33);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.innerHTML="?",this.dom.background.appendChild(this.dom.marker)},o.prototype.setData=function(t){var e;if(e=this.itemSet.options&&this.itemSet.options.groupTemplate?this.itemSet.options.groupTemplate(t):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 void 0!==e&&null!==e?this.dom.inner.innerHTML=e:this.dom.inner.innerHTML=this.groupId||"";this.dom.label.title=t&&t.title||"",this.dom.inner.firstChild?n.removeClassName(this.dom.inner,"vis-hidden"):n.addClassName(this.dom.inner,"vis-hidden");var i=t&&t.className||null;i!=this.className&&(this.className&&(n.removeClassName(this.dom.label,this.className),n.removeClassName(this.dom.foreground,this.className),n.removeClassName(this.dom.background,this.className),n.removeClassName(this.dom.axis,this.className)),n.addClassName(this.dom.label,i),n.addClassName(this.dom.foreground,i),n.addClassName(this.dom.background,i),n.addClassName(this.dom.axis,i),this.className=i),this.style&&(n.removeCssText(this.dom.label,this.style),this.style=null),t&&t.style&&(n.addCssText(this.dom.label,t.style),this.style=t.style)},o.prototype.getLabelWidth=function(){return this.props.label.width},o.prototype.redraw=function(t,e,i){var o=!1,r=this.dom.marker.clientHeight;if(r!=this.lastMarkerHeight&&(this.lastMarkerHeight=r,n.forEach(this.items,function(t){t.dirty=!0,t.displayed&&t.redraw()}),i=!0),this._calculateSubGroupHeights(),"function"==typeof this.itemSet.options.order){if(i){var a=this,h=!1;n.forEach(this.items,function(t){t.displayed||(t.redraw(),a.visibleItems.push(t)),t.repositionX(h)});var d=this.orderedItems.byStart.slice().sort(function(t,e){return a.itemSet.options.order(t.data,e.data)});s.stack(d,e,!0)}this.visibleItems=this._updateVisibleItems(this.orderedItems,this.visibleItems,t)}else this.visibleItems=this._updateVisibleItems(this.orderedItems,this.visibleItems,t),this.itemSet.options.stack?s.stack(this.visibleItems,e,i):s.nostack(this.visibleItems,e,this.subgroups);var l=this._calculateHeight(e),u=this.dom.foreground;this.top=u.offsetTop,this.left=u.offsetLeft,this.width=u.offsetWidth,o=n.updateProperty(this,"height",l)||o,o=n.updateProperty(this.props.label,"width",this.dom.inner.clientWidth)||o,o=n.updateProperty(this.props.label,"height",this.dom.inner.clientHeight)||o,this.dom.background.style.height=l+"px",this.dom.foreground.style.height=l+"px",this.dom.label.style.height=l+"px";for(var c=0,p=this.visibleItems.length;p>c;c++){var f=this.visibleItems[c];f.repositionY(e)}return o},o.prototype._calculateSubGroupHeights=function(){if(Object.keys(this.subgroups).length>0){var t=this;this.resetSubgroups(),n.forEach(this.visibleItems,function(e){void 0!==e.data.subgroup&&(t.subgroups[e.data.subgroup].height=Math.max(t.subgroups[e.data.subgroup].height,e.height),t.subgroups[e.data.subgroup].visible=!0)})}},o.prototype._calculateHeight=function(t){var e,i=this.visibleItems;if(i.length>0){var o=i[0].top,s=i[0].top+i[0].height;if(n.forEach(i,function(t){o=Math.min(o,t.top),s=Math.max(s,t.top+t.height)}),o>t.axis){var r=o-t.axis;s-=r,n.forEach(i,function(t){t.top-=r})}e=s+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),void 0!==t.data.subgroup&&(void 0===this.subgroups[t.data.subgroup]&&(this.subgroups[t.data.subgroup]={height:0,visible:!1,index:this.subgroupIndex,items:[]},this.subgroupIndex++),this.subgroups[t.data.subgroup].items.push(t)),this.orderSubgroups(),-1==this.visibleItems.indexOf(t)){var e=this.itemSet.body.range;this._checkIfVisible(t,this.visibleItems,e)}},o.prototype.orderSubgroups=function(){if(void 0!==this.subgroupOrderer){var t=[];if("string"==typeof this.subgroupOrderer){for(var e in this.subgroups)t.push({subgroup:e,sortField:this.subgroups[e].items[0].data[this.subgroupOrderer]});t.sort(function(t,e){return t.sortField-e.sortField})}else if("function"==typeof this.subgroupOrderer){for(var e in this.subgroups)t.push(this.subgroups[e].items[0].data);t.sort(this.subgroupOrderer)}if(t.length>0)for(var i=0;it?-1:l>=t?0:1};if(e.length>0)for(s=0;sl}),1==this.checkRangedItems)for(this.checkRangedItems=!1,s=0;sl})}for(s=0;s=0&&(s=e[r],!n(s));r--)void 0===o[s.id]&&(o[s.id]=!0,i.push(s));for(r=t+1;rn;n++)t[n].top=null;for(n=0,s=t.length;s>n;n++){var r=t[n];if(r.stack&&null===r.top){r.top=i.axis;do{for(var a=null,h=0,d=t.length;d>h;h++){var l=t[h];if(null!==l.top&&l!==r&&l.stack&&e.collision(r,l,i.item)){a=l;break}}null!=a&&(r.top=a.top+a.height+i.item.vertical)}while(a)}}},e.nostack=function(t,e,i){var o,n,s;for(o=0,n=t.length;n>o;o++)if(void 0!==t[o].data.subgroup){s=e.axis;for(var r in i)i.hasOwnProperty(r)&&1==i[r].visible&&i[r].indexe.left&&t.top-o.vertical+ie.top}},function(t,e,i){function o(t,e,i){if(this.props={content:{width:0}},this.overflow=!1,t){if(void 0==t.start)throw new Error('Property "start" missing in item '+t.id);if(void 0==t.end)throw new Error('Property "end" missing in item '+t.id)}n.call(this,t,e,i)}var n=(i(20),i(34));o.prototype=new n(null,null,null),o.prototype.baseClassName="vis-item vis-range",o.prototype.isVisible=function(t){return this.data.startt.start},o.prototype.redraw=function(){var t=this.dom;if(t||(this.dom={},t=this.dom,t.box=document.createElement("div"),t.frame=document.createElement("div"),t.frame.className="vis-item-overflow",t.box.appendChild(t.frame),t.content=document.createElement("div"),t.content.className="vis-item-content",t.frame.appendChild(t.content),t.box["timeline-item"]=this,this.dirty=!0),!this.parent)throw new Error("Cannot redraw item: no parent attached");if(!t.box.parentNode){var e=this.parent.dom.foreground;if(!e)throw new Error("Cannot redraw item: parent has no foreground container element");e.appendChild(t.box)}if(this.displayed=!0,this.dirty){this._updateContents(this.dom.content),this._updateTitle(this.dom.box),this._updateDataAttributes(this.dom.box),this._updateStyle(this.dom.box);var i=(this.options.editable.updateTime||this.options.editable.updateGroup||this.editable===!0)&&this.editable!==!1,o=(this.data.className?" "+this.data.className:"")+(this.selected?" vis-selected":"")+(i?" vis-editable":" vis-readonly");t.box.className=this.baseClassName+o,this.overflow="hidden"!==window.getComputedStyle(t.frame).overflow,this.dom.content.style.maxWidth="none",this.props.content.width=this.dom.content.offsetWidth,this.height=this.dom.box.offsetHeight,this.dom.content.style.maxWidth="",this.dirty=!1}this._repaintDeleteButton(t.box),this._repaintDragLeft(),this._repaintDragRight()},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);(void 0===t||t===!0)&&(-o>n&&(n=-o),s>2*o&&(s=2*o));var r=Math.max(s-n,1);switch(this.overflow?(this.left=n,this.width=r+this.props.content.width,i=this.props.content.width):(this.left=n,this.width=r,i=Math.min(s-n,this.props.content.width)),this.dom.box.style.left=this.left+"px",this.dom.box.style.width=r+"px",this.options.align){case"left":this.dom.content.style.left="0";break;case"right":this.dom.content.style.left=Math.max(r-i,0)+"px";break;case"center":this.dom.content.style.left=Math.max((r-i)/2,0)+"px";break;default:e=this.overflow?s>0?Math.max(-n,0):-i:0>n?-n:0,this.dom.content.style.left=e+"px"}},o.prototype.repositionY=function(){var t=this.options.orientation.item,e=this.dom.box;"top"==t?e.style.top=this.top+"px":e.style.top=this.parent.height-this.top-this.height+"px"},o.prototype._repaintDragLeft=function(){if(this.selected&&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.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.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.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,i){this.id=null,this.parent=null,this.data=t,this.dom=null,this.conversion=e||{},this.options=i||{},this.selected=!1,this.displayed=!1,this.dirty=!0,this.top=null,this.left=null,this.width=null,this.height=null,this.editable=null,this.data&&this.data.hasOwnProperty("editable")&&"boolean"==typeof this.data.editable&&(this.editable=t.editable)}var n=i(20),s=i(1);o.prototype.stack=!0,o.prototype.select=function(){this.selected=!0,this.dirty=!0,this.displayed&&this.redraw()},o.prototype.unselect=function(){this.selected=!1,this.dirty=!0,this.displayed&&this.redraw()},o.prototype.setData=function(t){var e=void 0!=t.group&&this.data.group!=t.group;e&&this.parent.itemSet._moveToGroup(this,t.group),t.hasOwnProperty("editable")&&"boolean"==typeof t.editable&&(this.editable=t.editable),this.data=t,this.dirty=!0,this.displayed&&this.redraw()},o.prototype.setParent=function(t){this.displayed?(this.hide(),this.parent=t,this.parent&&this.show()):this.parent=t},o.prototype.isVisible=function(t){return!1},o.prototype.show=function(){return!1},o.prototype.hide=function(){return!1},o.prototype.redraw=function(){},o.prototype.repositionX=function(){},o.prototype.repositionY=function(){},o.prototype._repaintDeleteButton=function(t){var e=(this.options.editable.remove||this.data.editable===!0)&&this.data.editable!==!1;if(this.selected&&e&&!this.dom.deleteButton){var i=this,o=document.createElement("div");o.className="vis-delete",o.title="Delete this item",new n(o).on("tap",function(t){t.stopPropagation(),i.parent.removeFromDataSet(i)}),t.appendChild(o),this.dom.deleteButton=o}else!this.selected&&this.dom.deleteButton&&(this.dom.deleteButton.parentNode&&this.dom.deleteButton.parentNode.removeChild(this.dom.deleteButton),this.dom.deleteButton=null)},o.prototype._updateContents=function(t){var e;if(this.options.template){var i=this.parent.itemSet.itemsData.get(this.id);e=this.options.template(i)}else e=this.data.content;var o=this._contentToString(this.content)!==this._contentToString(e);if(o){if(e instanceof Element)t.innerHTML="",t.appendChild(e);else if(void 0!=e)t.innerHTML=e;else if("background"!=this.data.type||void 0!==this.data.content)throw new Error('Property "content" missing in item '+this.id);this.content=e}},o.prototype._updateTitle=function(t){null!=this.data.title?t.title=this.data.title||"":t.removeAttribute("vis-title")},o.prototype._updateDataAttributes=function(t){if(this.options.dataAttributes&&this.options.dataAttributes.length>0){var e=[];if(Array.isArray(this.options.dataAttributes))e=this.options.dataAttributes;else{if("all"!=this.options.dataAttributes)return;e=Object.keys(this.data)}for(var i=0;in;n++){var r=this.visibleItems[n];r.repositionY(e)}return o},o.prototype.show=function(){this.dom.background.parentNode||this.itemSet.dom.background.appendChild(this.dom.background)},t.exports=o},function(t,e,i){function o(t,e,i){if(this.props={dot:{width:0,height:0},line:{width:0,height:0}},t&&void 0==t.start)throw new Error('Property "start" missing in item '+t);n.call(this,t,e,i)}var n=i(34);i(1);o.prototype=new n(null,null,null),o.prototype.isVisible=function(t){var e=(t.end-t.start)/4;return this.data.start>t.start-e&&this.data.startt.start-e&&this.data.startt.start},o.prototype.redraw=function(){var t=this.dom;if(t||(this.dom={},t=this.dom,t.box=document.createElement("div"),t.frame=document.createElement("div"),t.frame.className="vis-item-overflow",t.box.appendChild(t.frame),t.content=document.createElement("div"),t.content.className="vis-item-content",t.frame.appendChild(t.content),this.dirty=!0),!this.parent)throw new Error("Cannot redraw item: no parent attached");if(!t.box.parentNode){var e=this.parent.dom.background;if(!e)throw new Error("Cannot redraw item: parent has no background container element");e.appendChild(t.box)}if(this.displayed=!0,this.dirty){this._updateContents(this.dom.content),this._updateTitle(this.dom.content),this._updateDataAttributes(this.dom.content),this._updateStyle(this.dom.box);var i=(this.data.className?" "+this.data.className:"")+(this.selected?" vis-selected":"");t.box.className=this.baseClassName+i,this.overflow="hidden"!==window.getComputedStyle(t.content).overflow,this.props.content.width=this.dom.content.offsetWidth,this.height=0,this.dirty=!1}},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="top"===this.options.orientation.item;this.dom.content.style.top=e?"":"0",this.dom.content.style.bottom=e?"0":"";var i;if(void 0!==this.data.subgroup){var o=this.data.subgroup,n=this.parent.subgroups,r=n[o].index;if(1==e){i=this.parent.subgroups[o].height+t.item.vertical,i+=0==r?t.axis-.5*t.item.vertical:0;var a=this.parent.top;for(var h in n)n.hasOwnProperty(h)&&1==n[h].visible&&n[h].indexr&&(a+=l)}i=this.parent.subgroups[o].height+t.item.vertical,this.dom.box.style.top=this.parent.height-d+a+"px",this.dom.box.style.bottom=""}}else this.parent instanceof s?(i=Math.max(this.parent.height,this.parent.itemSet.body.domProps.center.height,this.parent.itemSet.body.domProps.centerContainer.height),this.dom.box.style.top=e?"0":"",this.dom.box.style.bottom=e?"":"0"):(i=this.parent.height,this.dom.box.style.top=this.parent.top+"px",this.dom.box.style.bottom="");this.dom.box.style.height=i+"px"},t.exports=o},function(t,e,i){function o(t,e){this.dom={foreground:null,lines:[],majorTexts:[],minorTexts:[],redundant:{lines:[],majorTexts:[],minorTexts:[]}},this.props={range:{start:0,end:0,minimumStep:0},lineTop:0},this.defaultOptions={orientation:{axis:"bottom"},showMinorLabels:!0,showMajorLabels:!0,maxMinorChars:7,format:r.FORMAT,moment:h,timeAxis:null},this.options=n.extend({},this.defaultOptions),this.body=t,this._create(),this.setOptions(e)}var n=i(1),s=i(26),r=i(30),a=i(27),h=i(2);o.prototype=new s,o.prototype.setOptions=function(t){t&&(n.selectiveExtend(["showMinorLabels","showMajorLabels","maxMinorChars","hiddenDates","timeAxis","moment"],this.options,t),n.selectiveDeepExtend(["format"],this.options,t),"orientation"in t&&("string"==typeof t.orientation?this.options.orientation.axis=t.orientation:"object"==typeof t.orientation&&"axis"in t.orientation&&(this.options.orientation.axis=t.orientation.axis)),"locale"in t&&("function"==typeof h.locale?h.locale(t.locale):h.lang(t.locale)))},o.prototype._create=function(){this.dom.foreground=document.createElement("div"),this.dom.background=document.createElement("div"),this.dom.foreground.className="vis-time-axis vis-foreground",this.dom.background.className="vis-time-axis vis-background"},o.prototype.destroy=function(){this.dom.foreground.parentNode&&this.dom.foreground.parentNode.removeChild(this.dom.foreground),this.dom.background.parentNode&&this.dom.background.parentNode.removeChild(this.dom.background),this.body=null},o.prototype.redraw=function(){var t=this.props,e=this.dom.foreground,i=this.dom.background,o="top"==this.options.orientation.axis?this.body.dom.top:this.body.dom.bottom,n=e.parentNode!==o;this._calculateCharSize();var s=this.options.showMinorLabels&&"none"!==this.options.orientation.axis,r=this.options.showMajorLabels&&"none"!==this.options.orientation.axis;t.minorLabelHeight=s?t.minorCharHeight:0,t.majorLabelHeight=r?t.majorCharHeight:0,t.height=t.minorLabelHeight+t.majorLabelHeight,t.width=e.offsetWidth,t.minorLineHeight=this.body.domProps.root.height-t.majorLabelHeight-("top"==this.options.orientation.axis?this.body.domProps.bottom.height:this.body.domProps.top.height),t.minorLineWidth=1,t.majorLineHeight=t.minorLineHeight+t.majorLabelHeight,t.majorLineWidth=1;var a=e.nextSibling,h=i.nextSibling;return e.parentNode&&e.parentNode.removeChild(e),i.parentNode&&i.parentNode.removeChild(i),e.style.height=this.props.height+"px",this._repaintLabels(),a?o.insertBefore(e,a):o.appendChild(e),h?this.body.dom.backgroundVertical.insertBefore(i,h):this.body.dom.backgroundVertical.appendChild(i),this._isResized()||n},o.prototype._repaintLabels=function(){var t=this.options.orientation.axis,e=n.convert(this.body.range.start,"Number"),i=n.convert(this.body.range.end,"Number"),o=this.body.util.toTime((this.props.minorCharWidth||10)*this.options.maxMinorChars).valueOf(),s=o-a.getHiddenDurationBefore(this.options.moment,this.body.hiddenDates,this.body.range,o);s-=this.body.util.toTime(0).valueOf();var h=new r(new Date(e),new Date(i),s,this.body.hiddenDates);h.setMoment(this.options.moment),this.options.format&&h.setFormat(this.options.format),this.options.timeAxis&&h.setScale(this.options.timeAxis),this.step=h;var l=this.dom;l.redundant.lines=l.lines,l.redundant.majorTexts=l.majorTexts,l.redundant.minorTexts=l.minorTexts,l.lines=[],l.majorTexts=[],l.minorTexts=[];var u,c,p,f,m,v,g,y,b,w,_=0,x=void 0,k=0,O=1e3;for(h.start(),c=h.getCurrent(),f=this.body.util.toScreen(c);h.hasNext()&&O>k;){k++,m=h.isMajor(),w=h.getClassName(),b=h.getLabelMinor(),u=c,p=f,h.next(),c=h.getCurrent(),v=h.isMajor(),f=this.body.util.toScreen(c),g=_,_=f-p;var M=_>=.4*g;if(this.options.showMinorLabels&&M){var D=this._repaintMinorText(p,b,t,w);D.style.width=_+"px"}m&&this.options.showMajorLabels?(p>0&&(void 0==x&&(x=p),D=this._repaintMajorText(p,h.getLabelMajor(),t,w)),y=this._repaintMajorLine(p,_,t,w)):M?y=this._repaintMinorLine(p,_,t,w):y&&(y.style.width=parseInt(y.style.width)+_+"px")}if(k!==O||d||(console.warn("Something is wrong with the Timeline scale. Limited drawing of grid lines to "+O+" lines."),d=!0),this.options.showMajorLabels){var C=this.body.util.toTime(0),T=h.getLabelMajor(C),S=T.length*(this.props.majorCharWidth||10)+10;(void 0==x||x>S)&&this._repaintMajorText(0,T,t,w)}n.forEach(this.dom.redundant,function(t){for(;t.length;){var e=t.pop();e&&e.parentNode&&e.parentNode.removeChild(e)}})},o.prototype._repaintMinorText=function(t,e,i,o){var n=this.dom.redundant.minorTexts.shift();if(!n){var s=document.createTextNode("");n=document.createElement("div"),n.appendChild(s),this.dom.foreground.appendChild(n)}return this.dom.minorTexts.push(n),n.childNodes[0].nodeValue=e,n.style.top="top"==i?this.props.majorLabelHeight+"px":"0",n.style.left=t+"px",n.className="vis-text vis-minor "+o,n},o.prototype._repaintMajorText=function(t,e,i,o){var n=this.dom.redundant.majorTexts.shift();if(!n){var s=document.createTextNode(e);n=document.createElement("div"),n.appendChild(s),this.dom.foreground.appendChild(n)}return this.dom.majorTexts.push(n),n.childNodes[0].nodeValue=e,n.className="vis-text vis-major "+o,n.style.top="top"==i?"0":this.props.minorLabelHeight+"px",n.style.left=t+"px",n},o.prototype._repaintMinorLine=function(t,e,i,o){var n=this.dom.redundant.lines.shift();n||(n=document.createElement("div"),this.dom.background.appendChild(n)),this.dom.lines.push(n);var s=this.props;return"top"==i?n.style.top=s.majorLabelHeight+"px":n.style.top=this.body.domProps.top.height+"px",n.style.height=s.minorLineHeight+"px",n.style.left=t-s.minorLineWidth/2+"px",n.style.width=e+"px",n.className="vis-grid vis-vertical vis-minor "+o,n},o.prototype._repaintMajorLine=function(t,e,i,o){var n=this.dom.redundant.lines.shift();n||(n=document.createElement("div"),this.dom.background.appendChild(n)),this.dom.lines.push(n);var s=this.props;return"top"==i?n.style.top="0":n.style.top=this.body.domProps.top.height+"px",n.style.left=t-s.majorLineWidth/2+"px",n.style.height=s.majorLineHeight+"px",n.style.width=e+"px",n.className="vis-grid vis-vertical vis-major "+o,n},o.prototype._calculateCharSize=function(){this.dom.measureCharMinor||(this.dom.measureCharMinor=document.createElement("DIV"),this.dom.measureCharMinor.className="vis-text vis-minor vis-measure",this.dom.measureCharMinor.style.position="absolute",this.dom.measureCharMinor.appendChild(document.createTextNode("0")),this.dom.foreground.appendChild(this.dom.measureCharMinor)),this.props.minorCharHeight=this.dom.measureCharMinor.clientHeight,this.props.minorCharWidth=this.dom.measureCharMinor.clientWidth,this.dom.measureCharMajor||(this.dom.measureCharMajor=document.createElement("DIV"),this.dom.measureCharMajor.className="vis-text vis-major vis-measure",this.dom.measureCharMajor.style.position="absolute",this.dom.measureCharMajor.appendChild(document.createTextNode("0")),this.dom.foreground.appendChild(this.dom.measureCharMajor)),this.props.majorCharHeight=this.dom.measureCharMajor.clientHeight,this.props.majorCharWidth=this.dom.measureCharMajor.clientWidth};var d=!1;t.exports=o},function(t,e,i){function o(t){this.active=!1,this.dom={container:t},this.dom.overlay=document.createElement("div"),this.dom.overlay.className="vis-overlay",this.dom.container.appendChild(this.dom.overlay),this.hammer=a(this.dom.overlay),this.hammer.on("tap",this._onTapOverlay.bind(this));var e=this,i=["tap","doubletap","press","pinch","pan","panstart","panmove","panend"];i.forEach(function(t){e.hammer.on(t,function(t){t.stopPropagation()})}),document&&document.body&&(this.onClick=function(i){n(i.target,t)||e.deactivate()},document.body.addEventListener("click",this.onClick)),void 0!==this.keycharm&&this.keycharm.destroy(),this.keycharm=s(),this.escListener=this.deactivate.bind(this)}function n(t,e){for(;t;){if(t===e)return!0;t=t.parentNode}return!1}var s=i(41),r=i(12),a=i(20),h=i(1);r(o.prototype),o.current=null,o.prototype.destroy=function(){this.deactivate(),this.dom.overlay.parentNode.removeChild(this.dom.overlay),this.onClick&&document.body.removeEventListener("click",this.onClick),this.hammer.destroy(),this.hammer=null},o.prototype.activate=function(){o.current&&o.current.deactivate(),o.current=this,this.active=!0,this.dom.overlay.style.display="none",h.addClassName(this.dom.container,"vis-active"),this.emit("change"),this.emit("activate"),this.keycharm.bind("esc",this.escListener)},o.prototype.deactivate=function(){this.active=!1,this.dom.overlay.style.display="",h.removeClassName(this.dom.container,"vis-active"),this.keycharm.unbind("esc",this.escListener),this.emit("change"),this.emit("deactivate")},o.prototype._onTapOverlay=function(t){this.activate(),t.stopPropagation()},t.exports=o},function(t,e,i){var o,n,s;!function(i,r){n=[],o=r,s="function"==typeof o?o.apply(e,n):o,!(void 0!==s&&(t.exports=s))}(this,function(){function t(t){var e,i=t&&t.preventDefault||!1,o=t&&t.container||window,n={},s={keydown:{},keyup:{}},r={};for(e=97;122>=e;e++)r[String.fromCharCode(e)]={code:65+(e-97),shift:!1};for(e=65;90>=e;e++)r[String.fromCharCode(e)]={code:e,shift:!0};for(e=0;9>=e;e++)r[""+e]={code:48+e,shift:!1};for(e=1;12>=e;e++)r["F"+e]={code:111+e,shift:!1};for(e=0;9>=e;e++)r["num"+e]={code:96+e,shift:!1};r["num*"]={code:106,shift:!1},r["num+"]={code:107,shift:!1},r["num-"]={code:109,shift:!1},r["num/"]={code:111,shift:!1},r["num."]={code:110,shift:!1},r.left={code:37,shift:!1},r.up={code:38,shift:!1},r.right={code:39,shift:!1},r.down={code:40,shift:!1},r.space={code:32,shift:!1},r.enter={code:13,shift:!1},r.shift={code:16,shift:void 0},r.esc={code:27,shift:!1},r.backspace={code:8,shift:!1},r.tab={code:9,shift:!1},r.ctrl={code:17,shift:!1},r.alt={code:18,shift:!1},r["delete"]={code:46,shift:!1},r.pageup={code:33,shift:!1},r.pagedown={code:34,shift:!1},r["="]={code:187,shift:!1},r["-"]={code:189,shift:!1},r["]"]={code:221,shift:!1},r["["]={code:219,shift:!1};var a=function(t){d(t,"keydown")},h=function(t){d(t,"keyup")},d=function(t,e){if(void 0!==s[e][t.keyCode]){for(var o=s[e][t.keyCode],n=0;no&&(o=30),o>1e3&&(o=1e3),e.redraw(),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){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var s=function(){function t(t,e){for(var i=0;i0&&this._makeItem([]),this._makeHeader(n),this._handleObject(this.configureOptions[n],[n])),i++);this.options.showButton===!0&&!function(){var e=document.createElement("div");e.className="vis-configuration vis-config-button",e.innerHTML="generate options",e.onclick=function(){t._printOptions()},e.onmouseover=function(){e.className="vis-configuration vis-config-button hover"},e.onmouseout=function(){e.className="vis-configuration vis-config-button"},t.optionsContainer=document.createElement("div"),t.optionsContainer.className="vis-configuration vis-config-option-container",t.domElements.push(t.optionsContainer),t.domElements.push(e)}(),this._push(),this.colorPicker.insertTo(this.container)}},{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?o-1:0),s=1;o>s;s++)n[s-1]=e[s];return n.forEach(function(t){r.appendChild(t)}),i.domElements.push(r),{v:i.domElements.length}}();if("object"==typeof r)return r.v}return 0}},{key:"_makeHeader",value:function(t){var e=document.createElement("div");e.className="vis-configuration vis-config-header",e.innerHTML=t,this._makeItem([],e)}},{key:"_makeLabel",value:function(t,e){var i=arguments.length<=2||void 0===arguments[2]?!1:arguments[2],o=document.createElement("div");return o.className="vis-configuration vis-config-label vis-config-s"+e.length,i===!0?o.innerHTML=""+t+":":o.innerHTML=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;se&&n>e*u?(a.min=Math.ceil(e*u),l=a.min,d="range increased"):n>e/u&&(a.min=Math.ceil(e/u),l=a.min,d="range increased"),e*u>s&&1!==s&&(a.max=Math.ceil(e*u),l=a.max,d="range increased"),a.value=e}else a.value=o;var c=document.createElement("input");c.className="vis-configuration vis-config-rangeinput",c.value=a.value;var p=this;a.onchange=function(){c.value=this.value,p._update(Number(this.value),i)},a.oninput=function(){c.value=this.value};var f=this._makeLabel(i[i.length-1],i),m=this._makeItem(i,f,a,c);""!==d&&this.popupHistory[m]!==l&&(this.popupHistory[m]=l,this._setupPopup(d,m))}},{key:"_setupPopup",value:function(t,e){var i=this;if(this.initialized===!0&&this.allowCreation===!0&&this.popupCountervar options = "+JSON.stringify(t,null,2)+""}},{key:"getOptions",value:function(){for(var t={},e=0;es;s++)for(r=0;rp?p+1:p;var f=l/this.r,m=a.RGBToHSV(this.color.r,this.color.g,this.color.b);m.h=p,m.s=f;var v=a.HSVToRGB(m.h,m.s,m.v);v.a=this.color.a,this.color=v,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+")"}}]),t}();e["default"]=h,t.exports=e["default"]},function(t,e,i){function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var i=0;is.distance?console.log('%cUnknown option detected: "'+e+'" in '+t.printLocation(n.path,e,"")+"Perhaps it was misplaced? Matching option found at: "+t.printLocation(s.path,s.closestMatch,""),h):n.distance<=d?console.log('%cUnknown option detected: "'+e+'". Did you mean "'+n.closestMatch+'"?'+t.printLocation(n.path,e),h):console.log('%cUnknown option detected: "'+e+'". Did you mean one of these: '+t.print(Object.keys(i))+t.printLocation(o,e),h),r=!0}},{key:"findInOptions",value:function(e,i,o){var n=arguments.length<=3||void 0===arguments[3]?!1:arguments[3],r=1e9,a="",h=[],d=e.toLowerCase(),l=void 0;for(var u in i){var c=void 0;if(void 0!==i[u].__type__&&n===!0){var p=t.findInOptions(e,i[u],s.copyAndExtendArray(o,u));r>p.distance&&(a=p.closestMatch,h=p.path,r=p.distance,l=p.indexMatch)}else-1!==u.toLowerCase().indexOf(d)&&(l=u),c=t.levenshteinDistance(e,u),r>c&&(a=u,h=s.copyArray(o),r=c)}return{closestMatch:a,path:h,distance:r,indexMatch:l}}},{key:"printLocation",value:function(t,e){for(var i=arguments.length<=2||void 0===arguments[2]?"Problem value found at: \n":arguments[2],o="\n\n"+i+"options = {\n",n=0;ns;s++)o+=" ";o+=t[n]+": {\n"}for(var s=0;sr?r:t,e=null==e?r:r>e?r:e}return{min:null!=t?new Date(t):null,max:null!=e?new Date(e):null}},o.prototype.getEventProperties=function(t){var e=t.center?t.center.x:t.clientX,i=t.center?t.center.y:t.clientY,o=e-s.getAbsoluteLeft(this.dom.centerContainer),n=i-s.getAbsoluteTop(this.dom.centerContainer),r=this._toTime(o),a=c.customTimeFromTarget(t),h=s.getTarget(t),d=null;s.hasParent(h,this.timeAxis.dom.foreground)?d="axis":this.timeAxis2&&s.hasParent(h,this.timeAxis2.dom.foreground)?d="axis":s.hasParent(h,this.linegraph.yAxisLeft.dom.frame)?d="data-axis":s.hasParent(h,this.linegraph.yAxisRight.dom.frame)?d="data-axis":s.hasParent(h,this.linegraph.legendLeft.dom.frame)?d="legend":s.hasParent(h,this.linegraph.legendRight.dom.frame)?d="legend":null!=a?d="custom-time":s.hasParent(h,this.currentTime.bar)?d="current-time":s.hasParent(h,this.dom.center)&&(d="background");var l=[],u=this.linegraph.yAxisLeft,p=this.linegraph.yAxisRight;return u.hidden||l.push(u.screenToValue(n)),p.hidden||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 f(this,this.dom.container,y)},t.exports=o},function(t,e,i){function o(t,e){this.id=n.randomUUID(),this.body=t,this.defaultOptions={yAxisOrientation:"left",defaultGroup:"default",sort:!0,sampling:!0,stack:!1,graphHeight:"400px",shaded:{enabled:!1,orientation:"bottom"},style:"line",barChart:{width:50,sideBySide:!1,align:"center"},interpolation:{enabled:!0,parametrization:"centripetal",alpha:.5},drawPoints:{enabled:!0,size:6,style:"square"},dataAxis:{showMinorLabels:!0,showMajorLabels:!0,icons:!1,width:"40px",visible:!0,alignZeros:!0,left:{range:{min:void 0,max:void 0},format:function(t){return t},title:{text:void 0,style:void 0}},right:{range:{min:void 0,max:void 0},format:function(t){return t},title:{text:void 0,style:void 0}}},legend:{enabled:!1,icons:!0,left:{visible:!0,position:"top-left"},right:{visible:!0,position:"top-right"}},groups:{visibility:{}}},this.options=n.extend({},this.defaultOptions),this.dom={},this.props={},this.hammer=null,this.groups={},this.abortedGraphUpdate=!1,this.updateSVGheight=!1,this.updateSVGheightOnResize=!1;var i=this;this.itemsData=null,this.groupsData=null,this.itemListeners={add:function(t,e,o){i._onAdd(e.items)},update:function(t,e,o){i._onUpdate(e.items)},remove:function(t,e,o){i._onRemove(e.items)}},this.groupListeners={add:function(t,e,o){i._onAddGroups(e.items)},update:function(t,e,o){i._onUpdateGroups(e.items)},remove:function(t,e,o){i._onRemoveGroups(e.items)}},this.items={},this.selection=[],this.lastStart=this.body.range.start,this.touchParams={},this.svgElements={},this.setOptions(e),this.groupsUsingDefaultStyles=[0],this.COUNTER=0,this.body.emitter.on("rangechanged",function(){i.lastStart=i.body.range.start,i.svg.style.left=n.option.asSize(-i.props.width),i.redraw.call(i,!0)}),this._create(),this.framework={svg:this.svg,svgElements:this.svgElements,options:this.options,groups:this.groups},this.body.emitter.emit("change")}var n=i(1),s=i(7),r=i(8),a=i(10),h=i(26),d=i(51),l=i(53),u=i(57),c=i(54),p=i(56),f=i(55),m="__ungrouped__";o.prototype=new h,o.prototype._create=function(){var t=document.createElement("div");t.className="vis-line-graph",this.dom.frame=t,this.svg=document.createElementNS("http://www.w3.org/2000/svg","svg"),this.svg.style.position="relative",this.svg.style.height=(""+this.options.graphHeight).replace("px","")+"px",this.svg.style.display="block",t.appendChild(this.svg),this.options.dataAxis.orientation="left",this.yAxisLeft=new d(this.body,this.options.dataAxis,this.svg,this.options.groups),this.options.dataAxis.orientation="right",this.yAxisRight=new d(this.body,this.options.dataAxis,this.svg,this.options.groups),delete this.options.dataAxis.orientation,this.legendLeft=new u(this.body,this.options.legend,"left",this.options.groups),this.legendRight=new u(this.body,this.options.legend,"right",this.options.groups),this.show()},o.prototype.setOptions=function(t){if(t){var e=["sampling","defaultGroup","stack","height","graphHeight","yAxisOrientation","style","barChart","dataAxis","sort","groups"];void 0===t.graphHeight&&void 0!==t.height&&void 0!==this.body.domProps.centerContainer.height?(this.updateSVGheight=!0,this.updateSVGheightOnResize=!0):void 0!==this.body.domProps.centerContainer.height&&void 0!==t.graphHeight&&parseInt((t.graphHeight+"").replace("px",""))i?-1:1});for(var o=new Array(t.length),s=0;s0){var h={};for(this._getRelevantData(a,h,n,r),this._applySampling(a,h),e=0;ed&&console.log("WARNING: there may be an infinite loop in the _updateGraph emitter cycle."),this.COUNTER=0,this.abortedGraphUpdate=!1;var l=void 0;for(e=0;e0)switch(t.options.style){case"line":u.hasOwnProperty(a[e])||(u[a[e]]=p.calcPath(h[a[e]],t)),p.draw(u[a[e]],t,this.framework);case"point":case"points":("point"==t.options.style||"points"==t.options.style||1==t.options.drawPoints.enabled)&&f.draw(h[a[e]],t,this.framework);break;case"bar":}}}return s.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,0==o?t[a].y=t[a].orginalY+r.y:t[a].y=t[a].orginalY+n/o*(t[a].x-s.x)+s.y}},o.prototype._getRelevantData=function(t,e,i,o){var s,r,a,h;if(t.length>0)for(r=0;r=u&&(u=d.length);var c=new Array(u-l);for(a=l;u>a;a++)h=s.itemsData[a],c[a-l]=h;e[t[r]]=c}else e[t[r]]=s.itemsData}},o.prototype._applySampling=function(t,e){var i;if(t.length>0)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;r>l;l+=s){var u=Math.round(l/s);d[u]=n[l]}e[t[o]]=d.splice(0,Math.round(r/s))}}},o.prototype._getYRanges=function(t,e,i){var o,n,s,r,a=[],h=[];if(t.length>0){for(s=0;s0&&(n=this.groups[t[s]],r.stack===!0&&"bar"===r.style?"left"===r.yAxisOrientation?a=a.concat(n.getItems()):h=h.concat(n.getItems()):i[t[s]]=n.getYRange(o,t[s]));c.getStackedYRange(a,i,t,"__barStackLeft","left"),c.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=o>d?o:d):(r=!0,h=h>i?i:h,l=o>l?o:l));1==s&&this.yAxisLeft.setRange(a,d),1==r&&this.yAxisRight.setRange(h,l)}n=this._toggleAxisVisiblity(s,this.yAxisLeft)||n,n=this._toggleAxisVisiblity(r,this.yAxisRight)||n,1==r&&1==s?(this.yAxisLeft.drawIcons=!0,this.yAxisRight.drawIcons=!0):(this.yAxisLeft.drawIcons=!1,this.yAxisRight.drawIcons=!1),this.yAxisRight.master=!s,0==this.yAxisRight.master?(1==r?this.yAxisLeft.lineOffset=this.yAxisRight.width:this.yAxisLeft.lineOffset=0,n=this.yAxisLeft.redraw()||n,this.yAxisRight.stepPixels=this.yAxisLeft.stepPixels,this.yAxisRight.zeroCrossing=this.yAxisLeft.zeroCrossing,this.yAxisRight.amountOfSteps=this.yAxisLeft.amountOfSteps,n=this.yAxisRight.redraw()||n):n=this.yAxisRight.redraw()||n;for(var p=["__barStackLeft","__barStackRight","__lineStackLeft","__lineStackRight"],u=0;ut?-1:1});for(var a=0;a0&&(t=0),this.range.start=t,this.range.end=e},o.prototype.redraw=function(){var t=!1,e=0;this.dom.lineContainer.style.top=this.body.domProps.scrollTop+"px";for(var i in this.groups)this.groups.hasOwnProperty(i)&&(this.groups[i].visible!==!0||void 0!==this.linegraphOptions.visibility[i]&&this.linegraphOptions.visibility[i]!==!0||e++);if(0===this.amountOfGroups||0===e)this.hide();else{this.show(),this.height=Number(this.linegraphSVG.style.height.replace("px","")),this.dom.lineContainer.style.height=this.height+"px",this.width=this.options.visible===!0?Number((""+this.options.width).replace("px","")):0;var o=this.props,n=this.dom.frame;n.className="vis-data-axis",this._calculateCharSize();var s=this.options.orientation,r=this.options.showMinorLabels,a=this.options.showMajorLabels;o.minorLabelHeight=r?o.minorCharHeight:0,o.majorLabelHeight=a?o.majorCharHeight:0,o.minorLineWidth=this.body.dom.backgroundHorizontal.offsetWidth-this.lineOffset-this.width+2*this.options.minorLinesOffset,o.minorLineHeight=1,o.majorLineWidth=this.body.dom.backgroundHorizontal.offsetWidth-this.lineOffset-this.width+2*this.options.majorLinesOffset,o.majorLineHeight=1,"left"===s?(n.style.top="0",n.style.left="0",n.style.bottom="",n.style.width=this.width+"px",n.style.height=this.height+"px",this.props.width=this.body.domProps.left.width,this.props.height=this.body.domProps.left.height):(n.style.top="",n.style.bottom="0",n.style.left="0",n.style.width=this.width+"px",n.style.height=this.height+"px",this.props.width=this.body.domProps.right.width,this.props.height=this.body.domProps.right.height),t=this._redrawLabels(),t=this._isResized()||t,this.options.icons===!0?this._redrawGroupIcons():this._cleanupIcons(),this._redrawTitle(s)}return t},o.prototype._redrawLabels=function(){var t=!1;s.prepareElements(this.DOMelements.lines),s.prepareElements(this.DOMelements.labels);var e,i=this.options.orientation;if(this.master===!1){var o,n,r,h;-1!==this.zeroCrossing&&this.options.alignZeros===!0?this.range.end>0?(o=this.range.end/this.zeroCrossing,n=this.range.end-this.amountOfSteps*o,r=this.range.end):(o=-1*this.range.start/(this.amountOfSteps-this.zeroCrossing),n=this.range.start,r=this.range.start+o*this.amountOfSteps):(n=this.range.start,r=this.range.end),h=this.stepPixels}else h=this.props.majorCharHeight,n=this.range.start,r=this.range.end;if(this.step=e=new a(n,r,h,this.dom.frame.offsetHeight,this.options[this.options.orientation].range,this.options[this.options.orientation].format,this.master===!1&&this.options.alignZeros),this.master===!0)this.stepPixels=this.dom.frame.offsetHeight/e.marginRange*e.step,this.amountOfSteps=Math.ceil(this.dom.frame.offsetHeight/this.stepPixels);else if(this.options.alignZeros===!0&&-1!==this.zeroCrossing){var d=(e.current-this.zeroCrossing*e.step)/e.step;this.step.shift(d)}this.valueAtBottom=e.marginEnd,this.maxLabelSize=0;for(var l=0,u=0,c=!1;u0&&u!==this.amountOfSteps&&((this.options.showMinorLabels&&c===!1||this.master===!1&&this.options.showMinorLabels===!0)&&this._redrawLabel(l-2,e.getCurrent(),i,"vis-y-axis vis-minor",this.props.minorCharHeight),c&&this.options.showMajorLabels&&this.master===!0||this.options.showMinorLabels===!1&&this.master===!1&&c===!0?(l>=0&&this._redrawLabel(l-2,e.getCurrent(),i,"vis-y-axis vis-major",this.props.majorCharHeight),this._redrawLine(l,i,"vis-grid vis-horizontal vis-major",this.options.majorLinesOffset,this.props.majorLineWidth)):this._redrawLine(l,i,"vis-grid vis-horizontal vis-minor",this.options.minorLinesOffset,this.props.minorLineWidth)),this.master===!0&&0===e.current&&(this.zeroCrossing=u),e.next(),u+=1;this.master===!0&&0===e.current&&(this.zeroCrossing=u),this.conversionFactor=this.stepPixels/e.step;var p=0;void 0!==this.options[i].title&&void 0!==this.options[i].title.text&&(p=this.props.titleCharHeight);var f=this.options.icons===!0?Math.max(this.options.iconWidth,p)+this.options.labelOffsetX+15:p+this.options.labelOffsetX+15;return this.maxLabelSize>this.width-f&&this.options.visible===!0?(this.width=this.maxLabelSize+f,this.options.width=this.width+"px",s.cleanupElements(this.DOMelements.lines),s.cleanupElements(this.DOMelements.labels),this.redraw(),t=!0):this.maxLabelSizethis.minWidth?(this.width=Math.max(this.minWidth,this.maxLabelSize+f),this.options.width=this.width+"px",s.cleanupElements(this.DOMelements.lines),s.cleanupElements(this.DOMelements.labels),this.redraw(),t=!0):(s.cleanupElements(this.DOMelements.lines),s.cleanupElements(this.DOMelements.labels),t=!1),t},o.prototype.convertValue=function(t){var e=this.valueAtBottom-t,i=e*this.conversionFactor;return i},o.prototype.screenToValue=function(t){return this.valueAtBottom-t/this.conversionFactor},o.prototype._redrawLabel=function(t,e,i,o,n){var r=s.getDOMElement("div",this.DOMelements.labels,this.dom.frame);r.className=o,r.innerHTML=e,"left"===i?(r.style.left="-"+this.options.labelOffsetX+"px",r.style.textAlign="right"):(r.style.right="-"+this.options.labelOffsetX+"px",r.style.textAlign="left"),r.style.top=t-.5*n+this.options.labelOffsetY+"px",e+="";var a=Math.max(this.props.majorCharWidth,this.props.minorCharWidth);this.maxLabelSizes&&(h=s);for(var d=!1,l=h;Math.abs(l)<=Math.abs(s);l++){a=Math.pow(10,l);for(var u=0;u=n){d=!0,r=u;break}}if(d===!0)break}this.stepIndex=r,this.scale=a,this.step=a*this.minorSteps[r]},i.prototype.setFirst=function(t){void 0===t&&(t={});var e=void 0===t.min?this._start-2*this.scale*this.minorSteps[this.stepIndex]:t.min,i=void 0===t.max?this._end+this.scale*this.minorSteps[this.stepIndex]:t.max;this.marginEnd=void 0===t.max?this.roundToMinor(i):t.max,this.marginStart=void 0===t.min?this.roundToMinor(e):t.min,this.alignZeros===!0&&(this.marginEnd-this.marginStart)%this.step!=0&&(this.marginEnd+=this.marginEnd%this.step),this.deadSpace=this.roundToMinor(i)-i+this.roundToMinor(e)-e,this.marginRange=this.marginEnd-this.marginStart,this.current=this.marginEnd},i.prototype.roundToMinor=function(t){var e=t-t%(this.scale*this.minorSteps[this.stepIndex]);return t%(this.scale*this.minorSteps[this.stepIndex])>.5*(this.scale*this.minorSteps[this.stepIndex])?e+this.scale*this.minorSteps[this.stepIndex]:e},i.prototype.hasNext=function(){return this.current>=this.marginStart},i.prototype.next=function(){var t=this.current;this.current-=this.step,this.current===t&&(this.current=this._end)},i.prototype.previous=function(){this.current+=this.step,this.marginEnd+=this.step,this.marginRange=this.marginEnd-this.marginStart},i.prototype.getCurrent=function(){var t=Math.abs(this.current)t)for(var e=0;-t>e;e++)this.previous();else if(t>0)for(var e=0;t>e;e++)this.next()},t.exports=i},function(t,e,i){function o(t,e,i,o){this.id=e;var s=["sampling","style","sort","yAxisOrientation","barChart","drawPoints","shaded","interpolation","zIndex"];this.options=n.selectiveBridgeObject(s,i),this.usingDefaultStyle=void 0===t.className,this.groupsUsingDefaultStyles=o,this.zeroPosition=0,this.update(t),1==this.usingDefaultStyle&&(this.groupsUsingDefaultStyles[0]+=1),this.itemsData=[],this.visible=void 0===t.visible?!0:t.visible}var n=i(1),s=(i(7),i(54)),r=i(56),a=i(55);o.prototype.setItems=function(t){null!=t?(this.itemsData=t,1==this.options.sort&&n.insertSort(this.itemsData,function(t,e){return t.x>e.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","excludeFromLegend","excludeFromStacking","zIndex"];n.selectiveDeepExtend(e,this.options,t),"function"==typeof t.drawPoints&&(t.drawPoints={onRender:t.drawPoints}),n.mergeOptions(this.options,t,"interpolation"),n.mergeOptions(this.options,t,"drawPoints"),n.mergeOptions(this.options,t,"shaded"),t.interpolation&&"object"==typeof 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?!0: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){var h=document.createElementNS("http://www.w3.org/2000/svg","svg");i={svg:h,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":r.drawIcon(this,o,n,t,e,i);break;case"points":case"point":a.drawIcon(this,o,n,t,e,i);break;case"bar":s.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&&(r=Math.min(r,Math.abs(c[l-1].screen_x-a))),h=o._getSafeDrawData(r,d,m);else{var g=l+(p[a].amount-p[a].resolved),y=l-(p[a].resolved+1);g0&&(r=Math.min(r,Math.abs(c[y].screen_x-a))),h=o._getSafeDrawData(r,d,m),p[a].resolved+=1,d.options.stack===!0?c[l].screen_y0&&(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=i>t?i:t,n=0,"left"===e.options.barChart.align?n-=.5*t:"right"===e.options.barChart.align&&(n+=.5*t)):(o=e.options.barChart.width,n=0,"left"===e.options.barChart.align?n-=.5*e.options.barChart.width:"right"===e.options.barChart.align&&(n+=.5*e.options.barChart.width)),{width:o,offset:n}},o.getStackedYRange=function(t,e,i,n,s){if(t.length>0){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){var i=[];return i=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=e;if(i)for(var n=t.length-2;n>0;n--)o+=t[n][0]+","+t[n][1]+" ";else for(var n=1;nl;l++)e=0==l?t[0]:t[l-1],i=t[l],o=t[l+1],n=d>l+2?t[l+2]:o,s={screen_x:(-e.screen_x+6*i.screen_x+o.screen_x)*h,screen_y:(-e.screen_y+6*i.screen_y+o.screen_y)*h},r={screen_x:(i.screen_x+6*o.screen_x-n.screen_x)*h,screen_y:(i.screen_y+6*o.screen_y-n.screen_y)*h},a.push([s.screen_x,s.screen_y]),a.push([r.screen_x,r.screen_y]),a.push([o.screen_x,o.screen_y]);return a},o._catmullRom=function(t,e){var i=e.options.interpolation.alpha;if(0==i||void 0===i)return this._catmullRomUniform(t);var o,n,s,r,a,h,d,l,u,c,p,f,m,v,g,y,b,w,_,x=[];x.push([Math.round(t[0].screen_x),Math.round(t[0].screen_y)]);for(var k=t.length,O=0;k-1>O;O++)o=0==O?t[0]:t[O-1],n=t[O],s=t[O+1],r=k>O+2?t[O+2]:s,d=Math.sqrt(Math.pow(o.screen_x-n.screen_x,2)+Math.pow(o.screen_y-n.screen_y,2)),l=Math.sqrt(Math.pow(n.screen_x-s.screen_x,2)+Math.pow(n.screen_y-s.screen_y,2)),u=Math.sqrt(Math.pow(s.screen_x-r.screen_x,2)+Math.pow(s.screen_y-r.screen_y,2)),v=Math.pow(u,i),y=Math.pow(u,2*i),g=Math.pow(l,i),b=Math.pow(l,2*i),_=Math.pow(d,i),w=Math.pow(d,2*i),c=2*w+3*_*g+b,p=2*y+3*v*g+b,f=3*_*(_+g),f>0&&(f=1/f),m=3*v*(v+g),m>0&&(m=1/m),a={screen_x:(-b*o.screen_x+c*n.screen_x+w*s.screen_x)*f,screen_y:(-b*o.screen_y+c*n.screen_y+w*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;it?-1:1});for(var i=0;i")}this.dom.textArea.innerHTML=s,this.dom.textArea.style.lineHeight=.75*this.options.iconSize+this.options.iconSpacing+"px"}},o.prototype.drawLegendIcons=function(){if(this.dom.frame.parentNode){var t=Object.keys(this.groups);t.sort(function(t,e){return e>t?-1:1}),s.resetElements(this.svgElements);var e=window.getComputedStyle(this.dom.frame).paddingTop,i=Number(e.replace("px","")),o=i,n=this.options.iconSize,r=.75*this.options.iconSize,a=i+.5*r+3;this.svg.style.width=n+5+i+"px";for(var h=0;h0){var i=this.groupIndex%this.groupsArray.length;this.groupIndex++,e={},e.color=this.groups[this.groupsArray[i]],this.groups[t]=e}else{var i=this.defaultIndex%this.defaultGroups.length;this.defaultIndex++,e={},e.color=this.defaultGroups[i],this.groups[t]=e}return e}},{key:"add",value:function(t,e){return this.groups[t]=e,this.groupsArray.push(t),e}}]),t}();e["default"]=r,t.exports=e["default"]},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var s=function(){function t(t,e){for(var i=0;it.left&&this.shape.topt.top}},{key:"isBoundingBoxOverlappingWith",value:function(t){return this.shape.boundingBox.leftt.left&&this.shape.boundingBox.topt.top}}],[{key:"parseOptions",value:function(t,e){var i=arguments.length<=2||void 0===arguments[2]?!1:arguments[2],o=arguments.length<=3||void 0===arguments[3]?{}:arguments[3],n=["color","font","fixed","shadow"];if(B.selectiveNotDeepExtend(n,t,e,i),B.mergeOptions(t,e,"shadow",i,o),void 0!==e.color&&null!==e.color){var s=B.parseColor(e.color);B.fillIfDefined(t.color,s)}else i===!0&&null===e.color&&(t.color=B.bridgeObject(o.color));void 0!==e.fixed&&null!==e.fixed&&("boolean"==typeof e.fixed?(t.fixed.x=e.fixed,t.fixed.y=e.fixed):(void 0!==e.fixed.x&&"boolean"==typeof e.fixed.x&&(t.fixed.x=e.fixed.x),void 0!==e.fixed.y&&"boolean"==typeof e.fixed.y&&(t.fixed.y=e.fixed.y))),void 0!==e.font&&null!==e.font?a["default"].parseOptions(t.font,e):i===!0&&null===e.font&&(t.font=B.bridgeObject(o.font)),void 0!==e.scaling&&B.mergeOptions(t.scaling,e.scaling,"label",i,o.scaling)}}]),t}();e["default"]=F,t.exports=e["default"]},function(t,e,i){function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){var i=[],o=!0,n=!1,s=void 0;try{for(var r,a=t[Symbol.iterator]();!(o=(r=a.next()).done)&&(i.push(r.value),!e||i.length!==e);o=!0);}catch(h){n=!0,s=h}finally{try{!o&&a["return"]&&a["return"]()}finally{if(n)throw s}}return i}return function(e,i){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return t(e,i);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),s=function(){function t(t,e){for(var i=0;i=this.nodeOptions.scaling.label.maxVisible&&(r=Number(this.nodeOptions.scaling.label.maxVisible)/this.body.view.scale);var h=this.size.yLine,d=this._getColor(a),l=n(d,2),u=l[0],c=l[1],p=this._setAlignment(t,i,h,s),f=n(p,2);i=f[0],h=f[1],t.font=(e&&this.nodeOptions.labelHighlightBold?"bold ":"")+r+"px "+this.fontOptions.face,t.fillStyle=u,t.textAlign="center",this.fontOptions.strokeWidth>0&&(t.lineWidth=this.fontOptions.strokeWidth,t.strokeStyle=c,t.lineJoin="round");for(var m=0;m0&&t.strokeText(this.lines[m],i,h),t.fillText(this.lines[m],i,h),h+=r}},{key:"_setAlignment",value:function(t,e,i,o){if("horizontal"!==this.fontOptions.align&&this.pointToSelf===!1){e=0,i=0;var n=2;"top"===this.fontOptions.align?(t.textBaseline="alphabetic",i-=2*n):"bottom"===this.fontOptions.align?(t.textBaseline="hanging",i+=2*n):t.textBaseline="middle"}else t.textBaseline=o;return[e,i]}},{key:"_getColor",value:function(t){var e=this.fontOptions.color||"#000000",i=this.fontOptions.strokeColor||"#ffffff";if(t<=this.nodeOptions.scaling.label.drawThreshold){var o=Math.max(0,Math.min(1,1-(this.nodeOptions.scaling.label.drawThreshold-t)));e=r.overrideOpacity(e,o),i=r.overrideOpacity(i,o)}return[e,i]}},{key:"getTextSize",value:function(t){var e=arguments.length<=1||void 0===arguments[1]?!1:arguments[1],i={width:this._processLabel(t,e),height:this.fontOptions.size*this.lineCount,lineCount:this.lineCount};return i}},{key:"calculateLabelSize",value:function(t,e){var i=arguments.length<=2||void 0===arguments[2]?0:arguments[2],o=arguments.length<=3||void 0===arguments[3]?0:arguments[3],n=arguments.length<=4||void 0===arguments[4]?"middle":arguments[4];this.labelDirty===!0&&(this.size.width=this._processLabel(t,e)),this.size.height=this.fontOptions.size*this.lineCount,this.size.left=i-.5*this.size.width,this.size.top=o-.5*this.size.height,this.size.yLine=o+.5*(1-this.lineCount)*this.fontOptions.size,"hanging"===n&&(this.size.top+=.5*this.fontOptions.size,this.size.top+=4,this.size.yLine+=4),this.labelDirty=!1}},{key:"_processLabel",value:function(t,e){var i=0,o=[""],n=0;if(void 0!==this.nodeOptions.label){o=String(this.nodeOptions.label).split("\n"),n=o.length,t.font=(e&&this.nodeOptions.labelHighlightBold?"bold ":"")+this.fontOptions.size+"px "+this.fontOptions.face,i=t.measureText(o[0]).width;for(var s=1;n>s;s++){var r=t.measureText(o[s]).width;i=r>i?r:i}}return this.lines=o,this.lineCount=n,i}}],[{key:"parseOptions",value:function(t,e){var i=arguments.length<=2||void 0===arguments[2]?!1:arguments[2];if("string"==typeof e.font){var o=e.font.split(" ");t.size=o[0].replace("px",""),t.face=o[1],t.color=o[2]}else"object"==typeof e.font&&r.fillIfDefined(t,e.font,i);t.size=Number(t.size)}}]),t}();e["default"]=a,t.exports=e["default"]},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var r=function(){function t(t,e){for(var i=0;ithis.imageObj.height?(o=this.imageObj.width/this.imageObj.height,e=2*this.options.size*o||this.imageObj.width,i=2*this.options.size||this.imageObj.height):(o=this.imageObj.width&&this.imageObj.height?this.imageObj.height/this.imageObj.width:1,e=2*this.options.size,i=2*this.options.size*o):(e=this.imageObj.width,i=this.imageObj.height),this.width=e,this.height=i,this.radius=.5*this.width}}},{key:"_drawRawCircle",value:function(t,e,i,o,n,s){var r=this.options.borderWidth,a=this.options.borderWidthSelected||2*this.options.borderWidth;t.strokeStyle=o?this.options.color.highlight.border:n?this.options.color.hover.border:this.options.color.border,t.lineWidth=o?a:r,t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t.fillStyle=o?this.options.color.highlight.background:n?this.options.color.hover.background:this.options.color.background,t.circle(e,i,s),this.enableShadow(t),t.fill(),this.disableShadow(t),t.save(),this.enableBorderDashes(t),t.stroke(),this.disableBorderDashes(t),t.restore()}},{key:"_drawImageAtPosition",value:function(t){0!=this.imageObj.width&&(t.globalAlpha=1,this.enableShadow(t),t.drawImage(this.imageObj,this.left,this.top,this.width,this.height),this.disableShadow(t))}},{key:"_drawImageLabel",value:function(t,e,i,o){var n,s=0;if(void 0!==this.height){s=.5*this.height;var r=this.labelModule.getTextSize(t);r.lineCount>=1&&(s+=r.height/2)}n=i+s,this.options.label&&(this.labelOffset=s),this.labelModule.draw(t,e,n,o,"hanging")}}]),e}(d["default"]);e["default"]=l,t.exports=e["default"]},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var r=function(){function t(t,e){for(var i=0;i0&&(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+3))}}]),e}(d["default"]);e["default"]=l,t.exports=e["default"]},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var r=function(){function t(t,e){for(var i=0;i0){var i=5;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+i)}}},{key:"_icon",value:function(t,e,i,o){var n=Number(this.options.icon.size);void 0!==this.options.icon.code?(t.font=(o?"bold ":"")+n+"px "+this.options.icon.face,t.fillStyle=this.options.icon.color||"black",t.textAlign="center",t.textBaseline="middle",this.enableShadow(t),t.fillText(this.options.icon.code,e,i),this.disableShadow(t)):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}(d["default"]);e["default"]=l,t.exports=e["default"]},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var r=function(){function t(t,e){for(var i=0;i0&&(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){this.resize(t);var i=this.width/2,o=this.height/2,n=Math.sin(e)*i,s=Math.cos(e)*o;return i*o/Math.sqrt(n*n+s*s)}}]),e}(d["default"]);e["default"]=l,t.exports=e["default"]},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var r=function(){function t(t,e){for(var i=0;ii.shape.height?(r=i.x+.5*i.shape.width,a=i.y-h):(r=i.x+h,a=i.y-.5*i.shape.height),s=this._pointOnCircle(r,a,h,.125),this.labelModule.draw(t,s.x,s.y,n)}}}},{key:"isOverlappingWith",value:function(t){if(this.connected){var e=10,i=this.from.x,o=this.from.y,n=this.to.x,s=this.to.y,r=t.left,a=t.top,h=this.edgeType.getDistanceToEdge(i,o,n,s,r,a);return e>h}return!1}},{key:"_rotateForLabelAlignment",value:function(t){var e=this.from.y-this.to.y,i=this.from.x-this.to.x,o=Math.atan2(e,i);(-1>o&&0>i||o>0&&0>i)&&(o+=Math.PI),t.rotate(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:"parseOptions",value:function(t,e){var i=arguments.length<=2||void 0===arguments[2]?!1:arguments[2],o=arguments.length<=3||void 0===arguments[3]?{}:arguments[3],n=["id","from","hidden","hoverWidth","label","labelHighlightBold","length","line","opacity","physics","scaling","selectionWidth","selfReferenceSize","to","title","value","width"];if(v.selectiveDeepExtend(n,t,e,i),v.mergeOptions(t,e,"smooth",i,o),v.mergeOptions(t,e,"shadow",i,o),void 0!==e.dashes&&null!==e.dashes?t.dashes=e.dashes:i===!0&&null===e.dashes&&(t.dashes=Object.create(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),v.mergeOptions(t.scaling,e.scaling,"label",i,o.scaling)):i===!0&&null===e.scaling&&(t.scaling=Object.create(o.scaling)),void 0!==e.arrows&&null!==e.arrows)if("string"==typeof e.arrows){var s=e.arrows.toLowerCase();-1!=s.indexOf("to")&&(t.arrows.to.enabled=!0),-1!=s.indexOf("middle")&&(t.arrows.middle.enabled=!0),-1!=s.indexOf("from")&&(t.arrows.from.enabled=!0)}else{if("object"!=typeof e.arrows)throw new Error("The arrow newOptions can only be an object or a string. Refer to the documentation. You used:"+JSON.stringify(e.arrows)); -v.mergeOptions(t.arrows,e.arrows,"to",i,o.arrows),v.mergeOptions(t.arrows,e.arrows,"middle",i,o.arrows),v.mergeOptions(t.arrows,e.arrows,"from",i,o.arrows)}else i===!0&&null===e.arrows&&(t.arrows=Object.create(o.arrows));if(void 0!==e.color&&null!==e.color)if(t.color=v.deepExtend({},t.color,!0),v.isString(e.color))t.color.color=e.color,t.color.highlight=e.color,t.color.hover=e.color,t.color.inherit=!1;else{var r=!1;void 0!==e.color.color&&(t.color.color=e.color.color,r=!0),void 0!==e.color.highlight&&(t.color.highlight=e.color.highlight,r=!0),void 0!==e.color.hover&&(t.color.hover=e.color.hover,r=!0),void 0!==e.color.inherit&&(t.color.inherit=e.color.inherit),void 0!==e.color.opacity&&(t.color.opacity=Math.min(1,Math.max(0,e.color.opacity))),void 0===e.color.inherit&&r===!0&&(t.color.inherit=!1)}else i===!0&&null===e.color&&(t.color=v.bridgeObject(o.color));void 0!==e.font&&null!==e.font?a["default"].parseOptions(t.font,e):i===!0&&null===e.font&&(t.font=v.bridgeObject(o.font))}}]),t}();e["default"]=g,t.exports=e["default"]},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var r=function(){function t(t,e){var i=[],o=!0,n=!1,s=void 0;try{for(var r,a=t[Symbol.iterator]();!(o=(r=a.next()).done)&&(i.push(r.value),!e||i.length!==e);o=!0);}catch(h){n=!0,s=h}finally{try{!o&&a["return"]&&a["return"]()}finally{if(n)throw s}}return i}return function(e,i){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return t(e,i);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),a=function(){function t(t,e){for(var i=0;iMath.abs(e)||this.options.smooth.forceDirection===!0||"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:"_findBorderPosition",value:function(t,e){return this._findBorderPositionBezier(t,e)}},{key:"_getDistanceToEdge",value:function(t,e,i,o,n,s){var a=arguments.length<=6||void 0===arguments[6]?this._getViaCoordinates():arguments[6],h=r(a,2),d=h[0],l=h[1];return this._getDistanceToBezierEdge(t,e,i,o,n,s,d,l)}},{key:"getPoint",value:function(t){var e=arguments.length<=1||void 0===arguments[1]?this._getViaCoordinates():arguments[1],i=r(e,2),o=i[0],n=i[1],s=t,a=[];a[0]=Math.pow(1-s,3),a[1]=3*s*Math.pow(1-s,2),a[2]=3*Math.pow(s,2)*(1-s),a[3]=Math.pow(s,3);var h=a[0]*this.from.x+a[1]*o.x+a[2]*n.x+a[3]*this.to.x,d=a[0]*this.from.y+a[1]*o.y+a[2]*n.y+a[3]*this.to.y;return{x:h,y:d}}}]),e}(l["default"]);e["default"]=u,t.exports=e["default"]},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var r=function(){function t(t,e){for(var i=0;il;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=h>d?d:h),f=c,m=p;return h}}]),e}(d["default"]);e["default"]=l,t.exports=e["default"]},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var r=function(){function t(t,e){for(var i=0;i=l&&h>d;){var m=.5*(l+u);if(i=this.getPoint(m,a),o=Math.atan2(p.y-i.y,p.x-i.x),n=p.distanceToBorder(e,o),s=Math.sqrt(Math.pow(i.x-p.x,2)+Math.pow(i.y-p.y,2)),r=n-s,Math.abs(r)r?f===!1?l=m:u=m:f===!1?u=m:l=m,d++}return i.t=m,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;10>d;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=a>h?h:a),p=u,f=c;return a}}]),e}(d["default"]);e["default"]=l,t.exports=e["default"]},function(t,e,i){function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){var i=[],o=!0,n=!1,s=void 0;try{for(var r,a=t[Symbol.iterator]();!(o=(r=a.next()).done)&&(i.push(r.value),!e||i.length!==e);o=!0);}catch(h){n=!0,s=h}finally{try{!o&&a["return"]&&a["return"]()}finally{if(n)throw s}}return i}return function(e,i){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return t(e,i);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),s=function(){function t(t,e){for(var i=0;io.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=10,d=0,l=this.options.selfReferenceSize,u=void 0,c=void 0,p=void 0,f=void 0,m=void 0,v=.05,g=.5*(s+r);r>=s&&h>d&&(g=.5*(s+r),u=this._pointOnCircle(o,n,l,g),c=Math.atan2(t.y-u.y,t.x-u.x),p=t.distanceToBorder(e,c),f=Math.sqrt(Math.pow(u.x-t.x,2)+Math.pow(u.y-t.y,2)),m=p-f,!(Math.abs(m)0?a>0?s=g:r=g:a>0?r=g:s=g,d++;return u.t=g,u}},{key:"getLineWidth",value:function(t,e){return t===!0?Math.max(this.selectionWidth,.3/this.body.view.scale):e===!0?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){var o=this.options.color;if(o.inherit!==!1){if("both"===o.inherit&&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,a=void 0;return s=this.from.options.color.highlight.border,a=this.to.options.color.highlight.border,this.from.selected===!1&&this.to.selected===!1?(s=r.overrideOpacity(this.from.options.color.border,this.options.color.opacity),a=r.overrideOpacity(this.to.options.color.border,this.options.color.opacity)):this.from.selected===!0&&this.to.selected===!1?a=this.to.options.color.border:this.from.selected===!1&&this.to.selected===!0&&(s=this.from.options.color.border),n.addColorStop(0,s),n.addColorStop(1,a),n}this.colorDirty===!0&&("to"===o.inherit?(this.color.highlight=this.to.options.color.highlight.border,this.color.hover=this.to.options.color.hover.border,this.color.color=r.overrideOpacity(this.to.options.color.border,o.opacity)):(this.color.highlight=this.from.options.color.highlight.border,this.color.hover=this.from.options.color.hover.border,this.color.color=r.overrideOpacity(this.from.options.color.border,o.opacity)))}else this.colorDirty===!0&&(this.color.highlight=o.highlight,this.color.hover=o.hover,this.color.color=r.overrideOpacity(o.color,o.opacity));return this.colorDirty=!1,e===!0?this.color.highlight:i===!0?this.color.hover:this.color.color}},{key:"_circle",value:function(t,e,i,o){this.enableShadow(t),t.beginPath(),t.arc(e,i,o,0,2*Math.PI,!1),t.stroke(),this.disableShadow(t)}},{key:"getDistanceToEdge",value:function(t,e,i,o,s,r,a){var h=0;if(this.from!=this.to)h=this._getDistanceToEdge(t,e,i,o,s,r,a);else{var d=this._getCircleData(),l=n(d,3),u=l[0],c=l[1],p=l[2],f=u-s,m=c-r;h=Math.abs(Math.sqrt(f*f+m*m)-p)}return this.labelModule.size.lefts&&this.labelModule.size.topr?0:h}},{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:0>d&&(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:"drawArrowHead",value:function(t,e,i,o,s){t.strokeStyle=this.getColor(t,o,s),t.fillStyle=t.strokeStyle,t.lineWidth=this.getLineWidth(o,s);var r=void 0,a=void 0,h=void 0,d=void 0,l=void 0,u=void 0,c=void 0;if("from"===e?(d=this.from,l=this.to,u=.1,c=this.options.arrows.from.scaleFactor):"to"===e?(d=this.to,l=this.from,u=-.1,c=this.options.arrows.to.scaleFactor):(d=this.to,l=this.from,c=this.options.arrows.middle.scaleFactor),d!=l){if("middle"!==e)if(this.options.smooth.enabled===!0){h=this.findBorderPosition(d,t,{via:i});var p=this.getPoint(Math.max(0,Math.min(1,h.t+u)),i);r=Math.atan2(h.y-p.y,h.x-p.x)}else r=Math.atan2(d.y-l.y,d.x-l.x),h=this.findBorderPosition(d,t);else r=Math.atan2(d.y-l.y,d.x-l.x),h=this.getPoint(.6,i);a=(10+5*this.options.width)*c,t.arrow(h.x,h.y,r,a),this.enableShadow(t),t.fill(),this.disableShadow(t),t.stroke()}else{var f=void 0,m=void 0,v=this._getCircleData(t),g=n(v,3),y=g[0],b=g[1],w=g[2];"from"===e?(m=this.findBorderPosition(this.from,t,{x:y,y:b,low:.25,high:.6,direction:-1}),f=-2*m.t*Math.PI+1.5*Math.PI+.1*Math.PI):"to"===e?(m=this.findBorderPosition(this.from,t,{x:y,y:b,low:.6,high:1,direction:1}),f=-2*m.t*Math.PI+1.5*Math.PI-1.1*Math.PI):(m=this._pointOnCircle(y,b,w,.175),f=3.9269908169872414);var _=(10+5*this.options.width)*c;t.arrow(m.x,m.y,f,_),this.enableShadow(t),t.fill(),this.disableShadow(t),t.stroke()}}},{key:"enableShadow",value:function(t){this.options.shadow.enabled===!0&&(t.shadowColor="rgba(0,0,0,0.5)",t.shadowBlur=this.options.shadow.size,t.shadowOffsetX=this.options.shadow.x,t.shadowOffsetY=this.options.shadow.y)}},{key:"disableShadow",value:function(t){this.options.shadow.enabled===!0&&(t.shadowColor="rgba(0,0,0,0)",t.shadowBlur=0,t.shadowOffsetX=0,t.shadowOffsetY=0)}}]),t}();e["default"]=a,t.exports=e["default"]},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var r=function(){function t(t,e){for(var i=0;i=this.to.y?this.from.x<=this.to.x?(t=this.from.x+i*s,e=this.from.y-i*s):this.from.x>this.to.x&&(t=this.from.x-i*s,e=this.from.y-i*s):this.from.ythis.to.x&&(t=this.from.x-i*s,e=this.from.y+i*s)),"discrete"===o&&(t=i*s>n?this.from.x:t)):Math.abs(this.from.x-this.to.x)>Math.abs(this.from.y-this.to.y)&&(this.from.y>=this.to.y?this.from.x<=this.to.x?(t=this.from.x+i*n,e=this.from.y-i*n):this.from.x>this.to.x&&(t=this.from.x-i*n,e=this.from.y-i*n):this.from.ythis.to.x&&(t=this.from.x-i*n,e=this.from.y+i*n)),"discrete"===o&&(e=i*n>s?this.from.y:e));else if("straightCross"===o)Math.abs(this.from.x-this.to.x)<=Math.abs(this.from.y-this.to.y)?(t=this.from.x,e=this.from.yMath.abs(this.from.y-this.to.y)&&(t=this.from.x=this.to.y?this.from.x<=this.to.x?(t=this.from.x+i*s,e=this.from.y-i*s,t=this.to.xthis.to.x&&(t=this.from.x-i*s,e=this.from.y-i*s,t=this.to.x>t?this.to.x:t):this.from.ythis.to.x&&(t=this.from.x-i*s,e=this.from.y+i*s,t=this.to.x>t?this.to.x:t)):Math.abs(this.from.x-this.to.x)>Math.abs(this.from.y-this.to.y)&&(this.from.y>=this.to.y?this.from.x<=this.to.x?(t=this.from.x+i*n,e=this.from.y-i*n,e=this.to.y>e?this.to.y:e):this.from.x>this.to.x&&(t=this.from.x-i*n,e=this.from.y-i*n,e=this.to.y>e?this.to.y:e):this.from.ythis.to.x&&(t=this.from.x-i*n,e=this.from.y+i*n,e=this.to.y1||this.startedStabilization===!0)&&setTimeout(function(){t.body.emitter.emit("stabilized",{iterations:e}),t.startedStabilization=!1,t.stabilizationIterations=0},0)}},{key:"physicsTick",value:function(){if(this.startedStabilization===!1&&(this.body.emitter.emit("startStabilizing"),this.startedStabilization=!0),this.stabilized===!1){if(this.adaptiveTimestep===!0&&this.adaptiveTimestepEnabled===!0){var t=1.2;this.adaptiveCounter%this.adaptiveInterval===0?(this.timestep=2*this.timestep,this.calculateForces(),this.moveNodes(),this.revert(),this.timestep=.5*this.timestep,this.calculateForces(),this.moveNodes(),this.calculateForces(),this.moveNodes(),this._evaluateStepQuality()===!0?this.timestep=t*this.timestep:this.timestep/ts))return!1;return!0}},{key:"moveNodes",value:function(){for(var t=this.physicsBody.physicsNodeIndices,e=this.options.maxVelocity?this.options.maxVelocity:1e9,i=0,o=0,n=5,s=0;se?s[t].x>0?e:-e:s[t].x,i.x+=s[t].x*o}else n[t].x=0,s[t].x=0;if(i.options.fixed.y===!1){var h=this.modelOptions.damping*s[t].y,d=(n[t].y-h)/i.options.mass;s[t].y+=d*o,s[t].y=Math.abs(s[t].y)>e?s[t].y>0?e:-e:s[t].y,i.y+=s[t].y*o}else n[t].y=0,s[t].y=0;var l=Math.sqrt(Math.pow(s[t].x,2)+Math.pow(s[t].y,2));return l}},{key:"calculateForces",value:function(){this.gravitySolver.solve(),this.nodesSolver.solve(),this.edgesSolver.solve()}},{key:"_freezeNodes",value:function(){var t=this.body.nodes;for(var e in t)t.hasOwnProperty(e)&&t[e].x&&t[e].y&&(this.freezeCache[e]={x:t[e].options.fixed.x,y:t[e].options.fixed.y},t[e].options.fixed.x=!0,t[e].options.fixed.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]?this.options.stabilization.iterations:arguments[0];return"number"!=typeof e&&(console.log("The stabilize method needs a numeric amount of iterations. Switching to default: ",this.options.stabilization.iterations),e=this.options.stabilization.iterations),0===this.physicsBody.physicsNodeIndices.length?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,this.options.stabilization.onlyDynamicEdges===!0&&this._freezeNodes(),this.stabilizationIterations=0,void setTimeout(function(){return t._stabilizationBatch()},0))}},{key:"_stabilizationBatch",value:function(){this.startedStabilization===!1&&(this.body.emitter.emit("startStabilizing"),this.startedStabilization=!0);for(var t=0;this.stabilized===!1&&t0){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;o>s;s++)t=e[i[s]],t.options.mass>0&&(this._getForceContribution(n.root.children.NW,t),this._getForceContribution(n.root.children.NE,t),this._getForceContribution(n.root.children.SW,t),this._getForceContribution(n.root.children.SE,t))}}},{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._getForceContribution(t.children.NW,e),this._getForceContribution(t.children.NE,e),this._getForceContribution(t.children.SW,e),this._getForceContribution(t.children.SE,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&&(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;o>h;h++){var d=t[e[h]].x,l=t[e[h]].y;t[e[h]].options.mass>0&&(n>d&&(n=d),d>r&&(r=d),s>l&&(s=l),l>a&&(a=l))}var u=Math.abs(r-n)-Math.abs(a-s);u>0?(s-=.5*u,a+=.5*u):(n+=.5*u,r-=.5*u);var c=1e-5,p=Math.max(c,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 h=0;o>h;h++)i=t[e[h]],i.options.mass>0&&this._placeInTree(g.root,i);return g}},{key:"_updateBranchMass",value:function(t,e){var i=t.mass+e.options.mass,o=1/i;t.centerOfMass.x=t.centerOfMass.x*t.mass+e.x*e.options.mass,t.centerOfMass.x*=o,t.centerOfMass.y=t.centerOfMass.y*t.mass+e.y*e.options.mass,t.centerOfMass.y*=o,t.mass=i;var n=Math.max(Math.max(e.height,e.radius),e.width);t.maxWidth=t.maxWidthe.x?t.children.NW.range.maxY>e.y?this._placeInRegion(t,e,"NW"):this._placeInRegion(t,e,"SW"):t.children.NW.range.maxY>e.y?this._placeInRegion(t,e,"NE"):this._placeInRegion(t,e,"SE")}},{key:"_placeInRegion",value:function(t,e,i){switch(t.children[i].childrenCount){case 0:t.children[i].children.data=e,t.children[i].childrenCount=1,this._updateBranchMass(t.children[i],e);break;case 1:t.children[i].children.data.x===e.x&&t.children[i].children.data.y===e.y?(e.x+=this.seededRandom(),e.y+=this.seededRandom()):(this._splitBranch(t.children[i]),this._placeInTree(t.children[i],e));break;case 4:this._placeInTree(t.children[i],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"]=n,t.exports=e["default"]},function(t,e){function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var i=0;ii&&(s=.5*u>i?1:c*i+p,s/=i,o=t*s,n=e*s,l[r.id].x-=o,l[r.id].y-=n,l[a.id].x+=o,l[a.id].y+=n)}}}]),t}();e["default"]=n,t.exports=e["default"]},function(t,e){function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var i=0;ii?-Math.pow(f*i,2)+Math.pow(f*p,2):0,0===i?i=.01:s/=i,o=t*s,n=e*s,c[r.id].x-=o,c[r.id].y-=n,c[a.id].x+=o,c[a.id].y+=n}}}]),t}();e["default"]=n,t.exports=e["default"]},function(t,e){function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var i=0;i0){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}(d["default"]);e["default"]=l,t.exports=e["default"]},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var s=function(){function t(t,e){for(var i=0;i=t&&i.push(n.id)}for(var o=0;o0&&Object.keys(p).length>0&&m===!0&&o.push({nodes:c,edges:p})}}}for(var u=0;uo?r.x:o,n=r.ys?r.y:s;return{x:.5*(i+o),y:.5*(n+s)}}},{key:"openCluster",value:function(t,e){var i=arguments.length<=2||void 0===arguments[2]?!0:arguments[2];if(void 0===t)throw new Error("No clusterNodeId supplied to openCluster.");if(void 0===this.body.nodes[t])throw new Error("The clusterNodeId supplied to openCluster does not exist.");if(void 0===this.body.nodes[t].containedNodes)return void console.log("The node:"+t+" is not a cluster.");var o=this.body.nodes[t],n=o.containedNodes,s=o.containedEdges;if(void 0!==e&&void 0!==e.releaseFunction&&"function"==typeof e.releaseFunction){var r={},h={x:o.x,y:o.y};for(var d in n)if(n.hasOwnProperty(d)){var u=this.body.nodes[d];r[d]={x:u.x,y:u.y}}var c=e.releaseFunction(h,r);for(var d in n)if(n.hasOwnProperty(d)){var u=this.body.nodes[d];void 0!==c[d]&&(u.x=void 0===c[d].x?o.x:c[d].x,u.y=void 0===c[d].y?o.y:c[d].y)}}else for(var d in n)if(n.hasOwnProperty(d)){var u=this.body.nodes[d];u=n[d],u.options.fixed.x===!1&&(u.x=o.x),u.options.fixed.y===!1&&(u.y=o.y)}for(var d in n)if(n.hasOwnProperty(d)){var u=this.body.nodes[d];u.vx=o.vx,u.vy=o.vy,u.setOptions({hidden:!1,physics:!0}),delete this.clusteredNodes[d]}for(var p=[],f=0;fo;)e.push(this.clusteredNodes[t].node),t=this.clusteredNodes[t].clusterId,o++;return e.push(this.body.nodes[t]),e}},{key:"_getConnectedId",value:function(t,e){return t.toId!=e?t.toId:t.fromId!=e?t.fromId:t.fromId}},{key:"_getHubSize",value:function(){for(var t=0,e=0,i=0,o=0,n=0;no&&(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}}]),t}();e["default"]=u,t.exports=e["default"]},function(t,e,i){function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var i=0;i0)for(var a=0;ae.shape.boundingBox.left&&(s=e.shape.boundingBox.left),re.shape.boundingBox.top&&(o=e.shape.boundingBox.top),n0)for(var a=0;ae.x&&(s=e.x),re.y&&(o=e.y),n0,t.renderTimer=void 0}),this.body.emitter.on("destroy",function(){t.renderRequests=0,t.allowRedraw=!1,t.renderingActive=!1,t.requiresTimeout===!0?clearTimeout(t.renderTimer):cancelAnimationFrame(t.renderTimer),t.body.emitter.off()})}},{key:"setOptions",value:function(t){if(void 0!==t){var e=["hideEdgesOnDrag","hideNodesOnDrag"];s.selectiveDeepExtend(e,this.options,t)}}},{key:"_startRendering",value:function(){this.renderingActive===!0&&void 0===this.renderTimer&&(this.requiresTimeout===!0?this.renderTimer=window.setTimeout(this._renderStep.bind(this),this.simulationInterval):this.renderTimer=window.requestAnimationFrame(this._renderStep.bind(this)))}},{key:"_renderStep",value:function(){this.renderingActive===!0&&(this.renderTimer=void 0,this.requiresTimeout===!0&&this._startRendering(),this._redraw(),this.requiresTimeout===!1&&this._startRendering())}},{key:"redraw",value:function(){this.body.emitter.emit("setSize"),this._redraw()}},{key:"_requestRedraw",value:function(){var t=this;this.redrawRequested!==!0&&this.renderingActive===!1&&this.allowRedraw===!0&&(this.redrawRequested=!0,this.requiresTimeout===!0?window.setTimeout(function(){t._redraw(!1)},0):window.requestAnimationFrame(function(){t._redraw(!1)}))}},{key:"_redraw",value:function(){var t=arguments.length<=0||void 0===arguments[0]?!1:arguments[0];if(this.allowRedraw===!0){this.body.emitter.emit("initRedraw"),this.redrawRequested=!1;var e=this.canvas.frame.canvas.getContext("2d");(0===this.canvas.frame.canvas.width||0===this.canvas.frame.canvas.height)&&this.canvas.setSize(),this.pixelRatio=(window.devicePixelRatio||1)/(e.webkitBackingStorePixelRatio||e.mozBackingStorePixelRatio||e.msBackingStorePixelRatio||e.oBackingStorePixelRatio||e.backingStorePixelRatio||1),e.setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0);var 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(),t===!1&&(this.dragging===!1||this.dragging===!0&&this.options.hideEdgesOnDrag===!1)&&this._drawEdges(e),(this.dragging===!1||this.dragging===!0&&this.options.hideNodesOnDrag===!1)&&this._drawNodes(e,t),this.controlNodesActive===!0&&this._drawControlNodes(e),e.beginPath(),this.body.emitter.emit("afterDrawing",e),e.closePath(),e.restore(),t===!0&&e.clearRect(0,0,i,o)}}},{key:"_resizeNodes",value:function(){var t=this.canvas.frame.canvas.getContext("2d");void 0===this.pixelRatio&&(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),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]?!1:arguments[1],i=this.body.nodes,o=this.body.nodeIndices,n=void 0,s=[],r=20,a=this.canvas.DOMtoCanvas({x:-r,y:-r}),h=this.canvas.DOMtoCanvas({x:this.canvas.frame.canvas.clientWidth+r,y:this.canvas.frame.canvas.clientHeight+r}),d={top:a.y,left:a.x,bottom:h.y,right:h.x},l=0;l0){this.body.view.scale=this.cameraState.scale*Math.min(this.frame.canvas.width/this.pixelRatio/this.cameraState.previousWidth,this.frame.canvas.height/this.pixelRatio/this.cameraState.previousHeight);var t=this.DOMtoCanvas({x:.5*this.frame.canvas.clientWidth,y:.5*this.frame.canvas.clientHeight}),e={x:t.x-this.cameraState.position.x,y:t.y-this.cameraState.position.y};this.body.view.translation.x+=e.x*this.body.view.scale,this.body.view.translation.y+=e.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){var t=this.frame.canvas.getContext("2d");this.pixelRatio=(window.devicePixelRatio||1)/(t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1),this.frame.canvas.getContext("2d").setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0)}else{var e=document.createElement("DIV");e.style.color="red",e.style.fontWeight="bold",e.style.padding="10px",e.innerHTML="Error: your browser does not support HTML canvas",this.frame.canvas.appendChild(e)}this.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 s(this.frame.canvas),this.hammer.get("pinch").set({enable:!0}),this.hammer.get("pan").set({threshold:5,direction:30}),r.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 s(this.frame),r.onRelease(this.hammerFrame,function(e){t.body.eventListeners.onRelease(e)})}},{key:"setSize",value:function(){var t=arguments.length<=0||void 0===arguments[0]?this.options.width:arguments[0],e=arguments.length<=1||void 0===arguments[1]?this.options.height:arguments[1];t=this._prepareValue(t),e=this._prepareValue(e);var i=!1,o=this.frame.canvas.width,n=this.frame.canvas.height,s=this.frame.canvas.getContext("2d"),r=this.pixelRatio;return this.pixelRatio=(window.devicePixelRatio||1)/(s.webkitBackingStorePixelRatio||s.mozBackingStorePixelRatio||s.msBackingStorePixelRatio||s.oBackingStorePixelRatio||s.backingStorePixelRatio||1),t!=this.options.width||e!=this.options.height||this.frame.style.width!=t||this.frame.style.height!=e?(this._getCameraState(r),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,i=!0):((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._getCameraState(r),this.frame.canvas.width!=Math.round(this.frame.canvas.clientWidth*this.pixelRatio)&&(this.frame.canvas.width=Math.round(this.frame.canvas.clientWidth*this.pixelRatio),i=!0),this.frame.canvas.height!=Math.round(this.frame.canvas.clientHeight*this.pixelRatio)&&(this.frame.canvas.height=Math.round(this.frame.canvas.clientHeight*this.pixelRatio),i=!0)),i===!0&&(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()),i}},{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"]=h,t.exports=e["default"]},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var s=function(){function t(t,e){for(var i=0;i.5*this.body.nodeIndices.length)return void this.fit(t,!1);i=a["default"]._getRange(this.body.nodes,t.nodes);var h=this.body.nodeIndices.length;o=12.662/(h+7.4147)+.0964822;var d=Math.min(this.canvas.frame.canvas.clientWidth/600,this.canvas.frame.canvas.clientHeight/600);o*=d}else{this.body.emitter.emit("_resizeNodes"),i=a["default"]._getRange(this.body.nodes,t.nodes);var l=1.1*Math.abs(i.maxX-i.minX),u=1.1*Math.abs(i.maxY-i.minY),c=this.canvas.frame.canvas.clientWidth/l,p=this.canvas.frame.canvas.clientHeight/u;o=p>=c?c:p}o>1?o=1:0===o&&(o=1);var f=a["default"]._findCenter(i),m={position:f,scale:o,animation:t.animation};this.moveTo(m)}},{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){return void 0===t?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}),t.animation===!1&&(t.animation={duration:0}),t.animation===!0&&(t.animation={}),void 0===t.animation.duration&&(t.animation.duration=1e3),void 0===t.animation.easingFunction&&(t.animation.easingFunction="easeInOutQuad"),void this.animateView(t))}},{key:"animateView",value:function(t){if(void 0!==t){this.animationEasingFunction=t.animation.easingFunction,this.releaseNode(),t.locked===!0&&(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]?!1:arguments[0];this.easingTime+=this.animationSpeed,this.easingTime=t===!0?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"]=d,t.exports=e["default"]},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var s=function(){function t(t,e){for(var i=0;i50&&(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]?!1:arguments[2],o=this.selectionHandler._getSelectedEdgeCount(),n=this.selectionHandler._getSelectedNodeCount(),s=this.selectionHandler.getSelection(),r=void 0;r=i===!0?this.selectionHandler.selectAdditionalOnPoint(t):this.selectionHandler.selectOnPoint(t);var a=this.selectionHandler._getSelectedEdgeCount(),h=this.selectionHandler._getSelectedNodeCount(),d=this.selectionHandler.getSelection(),l=this._determineIfDifferent(s,d),u=l.nodesChanges,c=l.edgesChanges,p=!1;h-n>0?(this.selectionHandler._generateClickEvent("selectNode",e,t),r=!0,p=!0):0>h-n?(this.selectionHandler._generateClickEvent("deselectNode",e,t,s),r=!0):h===n&&u===!0&&(this.selectionHandler._generateClickEvent("deselectNode",e,t,s),this.selectionHandler._generateClickEvent("selectNode",e,t),p=!0,r=!0),a-o>0&&p===!1?(this.selectionHandler._generateClickEvent("selectEdge",e,t),r=!0):0>a-o?(this.selectionHandler._generateClickEvent("deselectEdge",e,t,s),r=!0):a===o&&c===!0&&(this.selectionHandler._generateClickEvent("deselectEdge",e,t,s),this.selectionHandler._generateClickEvent("selectEdge",e,t),r=!0),r===!0&&this.selectionHandler._generateClickEvent("select",e,t)}},{key:"_determineIfDifferent",value:function(t,e){for(var i=!1,o=!1,n=0;nt&&(t=1e-5),t>10&&(t=10);var o=void 0;void 0!==this.drag&&this.drag.dragging===!0&&(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"),t>i?this.body.emitter.emit("zoom",{direction:"+",scale:this.body.view.scale}):this.body.emitter.emit("zoom",{direction:"-",scale:this.body.view.scale})}}},{key:"onMouseWheel",value:function(t){var e=0;if(t.wheelDelta?e=t.wheelDelta/120:t.detail&&(e=-t.detail/3),0!==e){var i=this.body.view.scale,o=e/10;0>e&&(o/=1-o),i*=1+o;var n=this.getPointer({x:t.clientX,y:t.clientY});this.zoom(i,n)}t.preventDefault()}},{key:"onMouseMove",value:function(t){var e=this,i=this.getPointer({x:t.clientX,y:t.clientY}),o=!1;if(void 0!==this.popup&&(this.popup.hidden===!1&&this._checkHidePopup(i),this.popup.hidden===!1&&(o=!0,this.popup.setPosition(i.x+3,i.y-5),this.popup.show())),this.options.keyboard.bindToWindow===!1&&this.options.keyboard.enabled===!0&&this.canvas.frame.focus(),o===!1&&(void 0!==this.popupTimer&&(clearInterval(this.popupTimer),this.popupTimer=void 0),this.drag.dragging||(this.popupTimer=setTimeout(function(){ -return e._checkShowPopup(i)},this.options.tooltipDelay))),this.options.hover===!0){var n=this.selectionHandler.getNodeAt(i);void 0===n&&(n=this.selectionHandler.getEdgeAt(i)),this.selectionHandler.hoverObject(n)}}},{key:"_checkShowPopup",value:function(t){var e=this.canvas._XconvertDOMtoCanvas(t.x),i=this.canvas._YconvertDOMtoCanvas(t.y),o={left:e,top:i,right:e,bottom:i},n=void 0===this.popupObj?void 0:this.popupObj.id,s=!1,r="node";if(void 0===this.popupObj){for(var a=this.body.nodeIndices,h=this.body.nodes,l=void 0,u=[],c=0;c0&&(this.popupObj=h[u[u.length-1]],s=!0)}if(void 0===this.popupObj&&s===!1){for(var p=this.body.edgeIndices,f=this.body.edges,m=void 0,v=[],c=0;c0&&(this.popupObj=f[v[v.length-1]],r="edge")}void 0!==this.popupObj?this.popupObj.id!==n&&(void 0===this.popup&&(this.popup=new d["default"](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]&&(i=this.body.nodes[this.popup.popupTargetId].isOverlappingWith(e),i===!0)){var o=this.selectionHandler.getNodeAt(t);i=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));i===!1&&(this.popupObj=void 0,this.popup.hide(),this.body.emitter.emit("hidePopup"))}}]),t}();e["default"]=u,t.exports=e["default"]},function(t,e,i){function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var i=0;i700&&(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(){this.body.view.scale*=1+this.options.keyboard.speed.zoom,this.body.emitter.emit("zoom",{direction:"+",scale:this.body.view.scale})}},{key:"_zoomOut",value:function(){this.body.view.scale/=1+this.options.keyboard.speed.zoom,this.body.emitter.emit("zoom",{direction:"-",scale:this.body.view.scale})}},{key:"configureKeyboardBindings",value:function(){var t=this;void 0!==this.keycharm&&this.keycharm.destroy(),this.options.keyboard.enabled===!0&&(this.options.keyboard.bindToWindow===!0?this.keycharm=a({container:window,preventDefault:!0}):this.keycharm=a({container:this.canvas.frame,preventDefault:!0}),this.keycharm.reset(),this.activated===!0&&(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"]=h,t.exports=e["default"]},function(t,e){function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var i=0;io&&(s=o-e-this.padding),sn&&(r=n-i-this.padding),r0?e===!0?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;o0?e===!0?this.body.edges[o[o.length-1]]:o[o.length-1]:void 0}},{key:"_addToSelection",value:function(t){t instanceof s?this.selectionObj.nodes[t.id]=t:this.selectionObj.edges[t.id]=t}},{key:"_addToHover",value:function(t){t instanceof s?this.hoverObj.nodes[t.id]=t:this.hoverObj.edges[t.id]=t}},{key:"_removeFromSelection",value:function(t){t instanceof s?(delete this.selectionObj.nodes[t.id],this._unselectConnectedEdges(t)):delete this.selectionObj.edges[t.id]}},{key:"unselectAll",value:function(){for(var t in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(t)&&this.selectionObj.nodes[t].unselect();for(var e in this.selectionObj.edges)this.selectionObj.edges.hasOwnProperty(e)&&this.selectionObj.edges[e].unselect();this.selectionObj={nodes:{},edges:{}}}},{key:"_getSelectedNodeCount",value:function(){var t=0;for(var e in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(e)&&(t+=1);return t}},{key:"_getSelectedNode",value:function(){for(var t in this.selectionObj.nodes)if(this.selectionObj.nodes.hasOwnProperty(t))return this.selectionObj.nodes[t]}},{key:"_getSelectedEdge",value:function(){for(var t in this.selectionObj.edges)if(this.selectionObj.edges.hasOwnProperty(t))return this.selectionObj.edges[t]}},{key:"_getSelectedEdgeCount",value:function(){var t=0;for(var e in this.selectionObj.edges)this.selectionObj.edges.hasOwnProperty(e)&&(t+=1);return t}},{key:"_getSelectedObjectCount",value:function(){var t=0;for(var e in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(e)&&(t+=1);for(var i in this.selectionObj.edges)this.selectionObj.edges.hasOwnProperty(i)&&(t+=1);return t}},{key:"_selectionIsEmpty",value:function(){for(var t in this.selectionObj.nodes)if(this.selectionObj.nodes.hasOwnProperty(t))return!1;for(var e in this.selectionObj.edges)if(this.selectionObj.edges.hasOwnProperty(e))return!1;return!0}},{key:"_clusterInSelection",value:function(){for(var t in this.selectionObj.nodes)if(this.selectionObj.nodes.hasOwnProperty(t)&&this.selectionObj.nodes[t].clusterSize>1)return!0;return!1}},{key:"_selectConnectedEdges",value:function(t){for(var e=0;e0&&(this.options.hierarchical.levelSeparation*=-1):this.options.hierarchical.levelSeparation<0&&(this.options.hierarchical.levelSeparation*=-1),this.body.emitter.emit("_resetHierarchicalLayout"),this.adaptAllOptionsForHierarchicalLayout(e);if(i===!0)return this.body.emitter.emit("refresh"),h.deepExtend(e,this.optionsBackup)}return e}},{key:"adaptAllOptionsForHierarchicalLayout",value:function(t){if(this.options.hierarchical.enabled===!0){void 0===t.physics||t.physics===!0?(t.physics={solver:"hierarchicalRepulsion"},this.optionsBackup.physics={solver:"barnesHut"}):"object"==typeof t.physics?(this.optionsBackup.physics={solver:"barnesHut"},void 0!==t.physics.solver&&(this.optionsBackup.physics={solver:t.physics.solver}),t.physics.solver="hierarchicalRepulsion"):t.physics!==!1&&(this.optionsBackup.physics={solver:"barnesHut"},t.physics.solver="hierarchicalRepulsion");var e="horizontal";("RL"===this.options.hierarchical.direction||"LR"===this.options.hierarchical.direction)&&(e="vertical"),void 0===t.edges?(this.optionsBackup.edges={smooth:{enabled:!0,type:"dynamic"}},t.edges={smooth:!1}):void 0===t.edges.smooth?(this.optionsBackup.edges={smooth:{enabled:!0,type:"dynamic"}},t.edges.smooth=!1):"boolean"==typeof t.edges.smooth?(this.optionsBackup.edges={smooth:t.edges.smooth},t.edges.smooth={enabled:t.edges.smooth,type:e}):(void 0!==t.edges.smooth.type&&"dynamic"!==t.edges.smooth.type&&(e=t.edges.smooth.type),this.optionsBackup.edges={smooth:void 0===t.edges.smooth.enabled?!0:t.edges.smooth.enabled,type:void 0===t.edges.smooth.type?"dynamic":t.edges.smooth.type,roundness:void 0===t.edges.smooth.roundness?.5:t.edges.smooth.roundness,forceDirection:void 0===t.edges.smooth.forceDirection?!1:t.edges.smooth.forceDirection},t.edges.smooth={enabled:void 0===t.edges.smooth.enabled?!0:t.edges.smooth.enabled,type:e,roundness:void 0===t.edges.smooth.roundness?.5:t.edges.smooth.roundness,forceDirection:void 0===t.edges.smooth.forceDirection?!1:t.edges.smooth.forceDirection}),this.body.emitter.emit("_forceDisableDynamicCurves",e)}return t}},{key:"seededRandom",value:function(){var t=1e4*Math.sin(this.randomSeed++);return t-Math.floor(t)}},{key:"positionInitially",value:function(t){if(this.options.hierarchical.enabled!==!0){this.randomSeed=this.initialRandomSeed;for(var e=0;es){for(var r=this.body.nodeIndices.length;this.body.nodeIndices.length>s;){n+=1;var a=this.body.nodeIndices.length;n%3===0?this.body.modules.clustering.clusterBridges():this.body.modules.clustering.clusterOutliers();var h=this.body.nodeIndices.length;if(a==h&&n%3!==0||n>o)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*r)})}this.body.modules.kamadaKawai.solve(this.body.nodeIndices,this.body.edgeIndices,!0),this._shiftToCenter();for(var d=70,e=0;e0){var t=void 0,e=void 0,i=!1,o=!1;this.hierarchicalLevels={},this.nodeSpacing=100;for(e in this.body.nodes)this.body.nodes.hasOwnProperty(e)&&(t=this.body.nodes[e],void 0!==t.options.level?(i=!0,this.hierarchicalLevels[e]=t.options.level):o=!0);if(o===!0&&i===!0)throw new Error("To use the hierarchical layout, nodes require either no predefined levels or levels have to be defined for all nodes.");o===!0&&("hubsize"===this.options.hierarchical.sortMethod?this._determineLevelsByHubsize():"directed"===this.options.hierarchical.sortMethod?this._determineLevelsDirected():"custom"===this.options.hierarchical.sortMethod&&this._determineLevelsCustomCallback());var n=this._getDistribution();this._generateMap(),this._placeNodesByHierarchy(n),this._condenseHierarchy(n),this._shiftToCenter()}}},{key:"_condenseHierarchy",value:function(t){}},{key:"_placeNodesByHierarchy",value:function(t){this.positionedNodes={};for(var e in t)if(t.hasOwnProperty(e)){var i=Object.keys(t[e]);i=this._indexArrayToNodes(i),this._sortNodeArray(i);for(var o=0;o0&&(e=this._getHubSize(),0!==e);)for(var o in this.body.nodes)if(this.body.nodes.hasOwnProperty(o)){var n=this.body.nodes[o];n.edges.length===e&&this._crawlNetwork(i,o)}}},{key:"_determineLevelsCustomCallback",value:function(){var t=this,e=1e5,i=function(t,e,i){},o=function(o,n,s){var r=t.hierarchicalLevels[o.id];void 0===r&&(t.hierarchicalLevels[o.id]=e);var h=i(a["default"]._cloneOptions(o,"node"),a["default"]._cloneOptions(n,"node"),a["default"]._cloneOptions(s,"edge"));t.hierarchicalLevels[n.id]=t.hierarchicalLevels[o.id]+h};this._crawlNetwork(o),this._setMinLevelToZero()}},{key:"_determineLevelsDirected",value:function(){var t=this,e=1e4,i=function(i,o,n){var s=t.hierarchicalLevels[i.id];void 0===s&&(t.hierarchicalLevels[i.id]=e),n.toId==o.id?t.hierarchicalLevels[o.id]=t.hierarchicalLevels[i.id]+1:t.hierarchicalLevels[o.id]=t.hierarchicalLevels[i.id]-1};this._crawlNetwork(i),this._setMinLevelToZero()}},{key:"_setMinLevelToZero",value:function(){var t=1e9;for(var e in this.body.nodes)this.body.nodes.hasOwnProperty(e)&&(t=Math.min(this.hierarchicalLevels[e],t));for(var e in this.body.nodes)this.body.nodes.hasOwnProperty(e)&&(this.hierarchicalLevels[e]-=t)}},{key:"_generateMap",value:function(){var t=this,e=function(e,i){if(t.hierarchicalLevels[i.id]>t.hierarchicalLevels[e.id]){var o=e.id,n=i.id;void 0===t.hierarchicalParents[o]&&(t.hierarchicalParents[o]={children:[],amount:0}),t.hierarchicalParents[o].children.push(n),void 0===t.hierarchicalChildren[n]&&(t.hierarchicalChildren[n]={parents:[],amount:0}),t.hierarchicalChildren[n].parents.push(o)}};this._crawlNetwork(e)}},{key:"_crawlNetwork",value:function(t,e){void 0===t&&(t=function(){});var i={},o=function r(e){if(void 0===i[e.id]){i[e.id]=!0;for(var o=void 0,n=0;ne&&void 0===this.positionedNodes[n.id]))return;var r=void 0;if(r=0===o?this._getPositionForHierarchy(this.body.nodes[t]):this._getPositionForHierarchy(i[o-1])+this.nodeSpacing,this._setPositionForHierarchy(n,r),void 0!==this.lastNodeOnLevel[s]){var a=this._getPositionForHierarchy(this.body.nodes[this.lastNodeOnLevel[s]]);if(r-a1&&("UD"===this.options.hierarchical.direction||"DU"===this.options.hierarchical.direction?t.sort(function(t,e){return t.x-e.x}):t.sort(function(t,e){return t.y-e.y}))}}]),t}();e["default"]=d,t.exports=e["default"]},function(t,e,i){function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var i=0;i0&&this.options.deleteNode!==!1?(n===!0&&this._createSeperator(4),this._createDeleteButton(o)):0===t&&this.options.deleteEdge!==!1&&(n===!0&&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(this.editMode!==!0&&this.enableEditMode(),this._clean(),this.inMode="addNode",this.guiEnabled===!0){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;this.editMode!==!0&&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(e.isCluster!==!0){var i=s.deepExtend({},e.options,!0);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(this.editMode!==!0&&this.enableEditMode(),this._clean(),this.inMode="addEdge",this.guiEnabled===!0){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",function(){}),this._temporaryBindUI("onHold",function(){})}},{key:"editEdgeMode",value:function(){var t=this;if(this.editMode!==!0&&this.enableEditMode(),this._clean(),this.inMode="editEdge",this.guiEnabled===!0){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))}this.edgeBeingEditedId=this.selectionHandler.getSelectedEdges()[0],void 0!==this.edgeBeingEditedId?!function(){var e=t.body.edges[t.edgeBeingEditedId],i=t._getNewTargetNode(e.from.x,e.from.y),o=t._getNewTargetNode(e.to.x,e.to.y);t.temporaryIds.nodes.push(i.id),t.temporaryIds.nodes.push(o.id),t.body.nodes[i.id]=i,t.body.nodeIndices.push(i.id),t.body.nodes[o.id]=o,t.body.nodeIndices.push(o.id),t._temporaryBindUI("onTouch",t._controlNodeTouch.bind(t)),t._temporaryBindUI("onTap",function(){}),t._temporaryBindUI("onHold",function(){}),t._temporaryBindUI("onDragStart",t._controlNodeDragStart.bind(t)),t._temporaryBindUI("onDrag",t._controlNodeDrag.bind(t)),t._temporaryBindUI("onDragEnd",t._controlNodeDragEnd.bind(t)),t._temporaryBindUI("onMouseMove",function(){}),t._temporaryBindEvent("beforeDrawing",function(t){var n=e.edgeType.findBorderPositions(t);i.selected===!1&&(i.x=n.from.x,i.y=n.from.y),o.selected===!1&&(o.x=n.to.x,o.y=n.to.y)}),t.body.emitter.emit("_redraw")}():this.showManipulatorToolbar()}},{key:"deleteSelected",value:function(){var t=this;this.editMode!==!0&&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(){this.options.enabled===!0?(this.guiEnabled=!0,this._createWrappers(),this.editMode===!1?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",this.editMode===!0?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",this.editMode===!0?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=s.deepExtend({},this.options.controlNodeStyle);return i.id="targetNode"+s.randomUUID(),i.hidden=!1,i.physics=!1,i.x=t,i.y=e,this.body.functions.createNode(i)}},{key:"_createEditButton",value:function(){this._clean(),this.manipulationDOM={},s.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,this.guiEnabled===!0&&(s.recursiveDOMDelete(this.editModeDiv),s.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;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(s.isCluster===!0)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=s.extend({},this.body.view.translation);var e=this.lastTouch,i=this.selectionHandler.getNodeAt(e);if(void 0!==i)if(i.isCluster===!0)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"+s.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&&(s.isCluster===!0?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:"_performAddNode",value:function(t){var e=this,i={id:s.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 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};if("function"==typeof this.options.editEdge){if(2!==this.options.editEdge.length)throw new Error("The function for edit does not support two arguments (data, callback)");this.options.editEdge(o,function(t){null===t||void 0===t||"editEdge"!==i.inMode?(i.body.edges[o.id].updateEdgeType(),i.body.emitter.emit("_redraw")):(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"]=h,t.exports=e["default"]},function(t,e){Object.defineProperty(e,"__esModule",{value:!0});var i="string",o="boolean",n="number",s="array",r="object",a="dom",h="any",d={configure:{enabled:{"boolean":o},filter:{"boolean":o,string:i,array:s,"function":"function"},container:{dom:a},showButton:{"boolean":o},__type__:{object:r,"boolean":o,string:i,array:s,"function":"function"}},edges:{arrows:{to:{enabled:{"boolean":o},scaleFactor:{number:n},__type__:{object:r,"boolean":o}},middle:{enabled:{"boolean":o},scaleFactor:{number:n},__type__:{object:r,"boolean":o}},from:{enabled:{"boolean":o},scaleFactor:{number:n},__type__:{object:r,"boolean":o}},__type__:{string:["from","to","middle"],object:r}},color:{color:{string:i},highlight:{string:i},hover:{string:i},inherit:{string:["from","to","both"],"boolean":o},opacity:{number:n},__type__:{object:r,string:i}},dashes:{"boolean":o,array:s},font:{color:{string:i},size:{number:n},face:{string:i},background:{string:i},strokeWidth:{number:n},strokeColor:{string:i},align:{string:["horizontal","top","middle","bottom"]},__type__:{object:r,string:i}},hidden:{"boolean":o},hoverWidth:{"function":"function",number:n},label:{string:i,undefined:"undefined"},labelHighlightBold:{"boolean":o},length:{number:n,undefined:"undefined"},physics:{"boolean":o},scaling:{min:{number:n},max:{number:n},label:{enabled:{"boolean":o},min:{number:n},max:{number:n},maxVisible:{number:n},drawThreshold:{number:n},__type__:{object:r,"boolean":o}},customScalingFunction:{"function":"function"},__type__:{object:r}},selectionWidth:{"function":"function",number:n},selfReferenceSize:{number:n},shadow:{enabled:{"boolean":o},size:{number:n},x:{number:n},y:{number:n},__type__:{object:r,"boolean":o}},smooth:{enabled:{"boolean":o},type:{string:["dynamic","continuous","discrete","diagonalCross","straightCross","horizontal","vertical","curvedCW","curvedCCW","cubicBezier"]},roundness:{number:n},forceDirection:{string:["horizontal","vertical","none"],"boolean":o},__type__:{object:r,"boolean":o}},title:{string:i,undefined:"undefined"},width:{number:n},value:{number:n,undefined:"undefined"},__type__:{object:r}},groups:{useDefaultGroups:{"boolean":o},__any__:"get from nodes, will be overwritten below",__type__:{object:r}},interaction:{dragNodes:{"boolean":o},dragView:{"boolean":o},hideEdgesOnDrag:{"boolean":o},hideNodesOnDrag:{"boolean":o},hover:{"boolean":o},keyboard:{enabled:{"boolean":o},speed:{x:{number:n},y:{number:n},zoom:{number:n},__type__:{object:r}},bindToWindow:{"boolean":o},__type__:{object:r,"boolean":o}},multiselect:{"boolean":o},navigationButtons:{"boolean":o},selectable:{"boolean":o},selectConnectedEdges:{"boolean":o},hoverConnectedEdges:{"boolean":o},tooltipDelay:{number:n},zoomView:{"boolean":o},__type__:{object:r}},layout:{randomSeed:{undefined:"undefined",number:n},improvedLayout:{"boolean":o},hierarchical:{enabled:{"boolean":o},levelSeparation:{number:n},direction:{string:["UD","DU","LR","RL"]},sortMethod:{string:["hubsize","directed"]},__type__:{object:r,"boolean":o}},__type__:{object:r}},manipulation:{enabled:{"boolean":o},initiallyActive:{"boolean":o},addNode:{"boolean":o,"function":"function"},addEdge:{"boolean":o,"function":"function"},editNode:{"function":"function"},editEdge:{"boolean":o,"function":"function"},deleteNode:{"boolean":o,"function":"function"},deleteEdge:{"boolean":o,"function":"function"},controlNodeStyle:"get from nodes, will be overwritten below",__type__:{object:r,"boolean":o}},nodes:{borderWidth:{number:n},borderWidthSelected:{number:n,undefined:"undefined"},brokenImage:{string:i,undefined:"undefined"},color:{border:{string:i},background:{string:i},highlight:{border:{string:i},background:{string:i},__type__:{object:r,string:i}},hover:{border:{string:i},background:{string:i},__type__:{object:r,string:i}},__type__:{object:r,string:i}},fixed:{x:{"boolean":o},y:{"boolean":o},__type__:{object:r,"boolean":o}},font:{color:{string:i},size:{number:n},face:{string:i},background:{string:i},strokeWidth:{number:n},strokeColor:{string:i},__type__:{object:r,string:i}},group:{string:i,number:n,undefined:"undefined"},hidden:{"boolean":o},icon:{face:{string:i},code:{string:i},size:{number:n},color:{string:i},__type__:{object:r}},id:{string:i,number:n},image:{string:i,undefined:"undefined"},label:{string:i,undefined:"undefined"},labelHighlightBold:{"boolean":o},level:{number:n,undefined:"undefined"},mass:{number:n},physics:{"boolean":o},scaling:{min:{number:n},max:{number:n},label:{enabled:{"boolean":o},min:{number:n},max:{number:n},maxVisible:{number:n},drawThreshold:{number:n},__type__:{object:r,"boolean":o}},customScalingFunction:{"function":"function"},__type__:{object:r}},shadow:{enabled:{"boolean":o},size:{number:n},x:{number:n},y:{number:n},__type__:{object:r,"boolean":o}},shape:{string:["ellipse","circle","database","box","text","image","circularImage","diamond","dot","star","triangle","triangleDown","square","icon"]},shapeProperties:{borderDashes:{"boolean":o,array:s},borderRadius:{number:n},useImageSize:{"boolean":o},useBorderWithImage:{"boolean":o},__type__:{object:r}},size:{number:n},title:{string:i,undefined:"undefined"},value:{number:n,undefined:"undefined"},x:{number:n},y:{number:n},__type__:{object:r}},physics:{enabled:{"boolean":o},barnesHut:{gravitationalConstant:{number:n},centralGravity:{number:n},springLength:{number:n},springConstant:{number:n},damping:{number:n},avoidOverlap:{number:n},__type__:{object:r}},forceAtlas2Based:{gravitationalConstant:{number:n},centralGravity:{number:n},springLength:{number:n},springConstant:{number:n},damping:{number:n},avoidOverlap:{number:n},__type__:{object:r}},repulsion:{centralGravity:{number:n},springLength:{number:n},springConstant:{number:n},nodeDistance:{number:n},damping:{number:n},__type__:{object:r}},hierarchicalRepulsion:{centralGravity:{number:n},springLength:{number:n},springConstant:{number:n},nodeDistance:{number:n},damping:{number:n},__type__:{object:r}},maxVelocity:{number:n},minVelocity:{number:n},solver:{string:["barnesHut","repulsion","hierarchicalRepulsion","forceAtlas2Based"]},stabilization:{enabled:{"boolean":o},iterations:{number:n},updateInterval:{number:n},onlyDynamicEdges:{"boolean":o},fit:{"boolean":o},__type__:{object:r,"boolean":o}},timestep:{number:n},adaptiveTimestep:{"boolean":o},__type__:{object:r,"boolean":o}},autoResize:{"boolean":o},clickToUse:{"boolean":o},locale:{string:i},locales:{__any__:{any:h},__type__:{object:r}},height:{string:i},width:{string:i},__type__:{object:r}};d.groups.__any__=d.nodes,d.manipulation.controlNodeStyle=d.nodes;var l={nodes:{borderWidth:[1,0,10,1],borderWidthSelected:[2,0,10,1],color:{border:["color","#2B7CE9"],background:["color","#97C2FC"],highlight:{border:["color","#2B7CE9"],background:["color","#D2E5FF"]},hover:{border:["color","#2B7CE9"],background:["color","#D2E5FF"]}},fixed:{x:!1,y:!1},font:{color:["color","#343434"],size:[14,0,100,1],face:["arial","verdana","tahoma"],background:["color","none"],strokeWidth:[0,0,50,1],strokeColor:["color","#ffffff"]},hidden:!1,labelHighlightBold:!0,physics:!0,scaling:{min:[10,0,200,1],max:[30,0,200,1],label:{enabled:!1,min:[14,0,200,1],max:[30,0,200,1],maxVisible:[30,0,200,1],drawThreshold:[5,0,20,1]}},shadow:{enabled:!1,size:[10,0,20,1],x:[5,-30,30,1],y:[5,-30,30,1]},shape:["ellipse","box","circle","database","diamond","dot","square","star","text","triangle","triangleDown"],shapeProperties:{borderDashes:!1,borderRadius:[6,0,20,1],useImageSize:!1},size:[25,0,200,1]},edges:{arrows:{to:{enabled:!1,scaleFactor:[1,0,3,.05]},middle:{enabled:!1,scaleFactor:[1,0,3,.05]},from:{enabled:!1,scaleFactor:[1,0,3,.05]}},color:{color:["color","#848484"],highlight:["color","#848484"],hover:["color","#848484"],inherit:["from","to","both",!0,!1],opacity:[1,0,1,.05]},dashes:!1,font:{color:["color","#343434"],size:[14,0,100,1],face:["arial","verdana","tahoma"],background:["color","none"],strokeWidth:[2,0,50,1],strokeColor:["color","#ffffff"],align:["horizontal","top","middle","bottom"]},hidden:!1,hoverWidth:[1.5,0,5,.1],labelHighlightBold:!0,physics:!0,scaling:{min:[1,0,100,1],max:[15,0,100,1],label:{enabled:!0,min:[14,0,200,1],max:[30,0,200,1],maxVisible:[30,0,200,1],drawThreshold:[5,0,20,1]}},selectionWidth:[1.5,0,5,.1],selfReferenceSize:[20,0,200,1],shadow:{enabled:!1,size:[10,0,20,1],x:[5,-30,30,1],y:[5,-30,30,1]},smooth:{enabled:!0,type:["dynamic","continuous","discrete","diagonalCross","straightCross","horizontal","vertical","curvedCW","curvedCCW","cubicBezier"],forceDirection:["horizontal","vertical","none"],roundness:[.5,0,1,.05]},width:[1,0,30,1]},layout:{hierarchical:{enabled:!1,levelSeparation:[150,20,500,5],direction:["UD","DU","LR","RL"],sortMethod:["hubsize","directed"]}},interaction:{dragNodes:!0,dragView:!0,hideEdgesOnDrag:!1,hideNodesOnDrag:!1,hover:!1,keyboard:{enabled:!1,speed:{x:[10,0,40,1],y:[10,0,40,1],zoom:[.02,0,.1,.005]},bindToWindow:!0},multiselect:!1,navigationButtons:!1,selectable:!0,selectConnectedEdges:!0,hoverConnectedEdges:!0,tooltipDelay:[300,0,1e3,25],zoomView:!0},manipulation:{enabled:!1,initiallyActive:!1},physics:{enabled:!0,barnesHut:{gravitationalConstant:[-2e3,-3e4,0,50],centralGravity:[.3,0,10,.05],springLength:[95,0,500,5],springConstant:[.04,0,1.2,.005],damping:[.09,0,1,.01],avoidOverlap:[0,0,1,.01]},forceAtlas2Based:{gravitationalConstant:[-50,-500,0,1],centralGravity:[.01,0,1,.005],springLength:[95,0,500,5],springConstant:[.08,0,1.2,.005],damping:[.4,0,1,.01],avoidOverlap:[0,0,1,.01]},repulsion:{centralGravity:[.2,0,10,.05],springLength:[200,0,500,5],springConstant:[.05,0,1.2,.005],nodeDistance:[100,0,500,5],damping:[.09,0,1,.01]},hierarchicalRepulsion:{centralGravity:[.2,0,10,.05],springLength:[100,0,500,5],springConstant:[.01,0,1.2,.005],nodeDistance:[120,0,500,5],damping:[.09,0,1,.01]},maxVelocity:[50,0,150,1],minVelocity:[.1,.01,.5,.01],solver:["barnesHut","forceAtlas2Based","repulsion","hierarchicalRepulsion"],timestep:[.5,.01,1,.01]},global:{locale:["en","nl"]}};e.allOptions=d,e.configureOptions=l},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var s=function(){function t(t,e){var i=[],o=!0,n=!1,s=void 0;try{for(var r,a=t[Symbol.iterator]();!(o=(r=a.next()).done)&&(i.push(r.value),!e||i.length!==e);o=!0);}catch(h){n=!0,s=h}finally{try{!o&&a["return"]&&a["return"]()}finally{if(n)throw s}}return i}return function(e,i){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return t(e,i);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),r=function(){function t(t,e){for(var i=0;in&&h>a;){a+=1;var v=this._getHighestEnergyNode(i),g=s(v,4);for(u=g[0],l=g[1],c=g[2],p=g[3],f=l,m=0;f>r&&d>m;){m+=1,this._moveNode(u,c,p);var y=this._getEnergy(u),b=s(y,3);f=b[0],c=b[1],p=b[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;ho&&(o=c,n=d,r=p,a=f)}}return[n,o,r,a]}},{key:"_getEnergy",value:function(t){for(var e=this.body.nodeIndices,i=this.body.nodes,o=i[t].x,n=i[t].y,s=0,r=0,a=0;ad;d++)for(var s=0;h-1>s;s++)for(var r=s+1;h>r;r++)o[e[s]][e[r]]=Math.min(o[e[s]][e[r]],o[e[s]][e[d]]+o[e[d]][e[r]]),o[e[r]][e[s]]=o[e[s]][e[r]];return o}}]),t}();e["default"]=n,t.exports=e["default"]},function(t,e){"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;10>o;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;0>i-2*n&&(n=i/2),0>o-2*n&&(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=function(t,e,i,o){var n=.5522848,s=i/2*n,r=o/2*n,a=t+i,h=e+o,d=t+i/2,l=e+o/2;this.beginPath(),this.moveTo(t,l),this.bezierCurveTo(t,l-r,d-s,e,d,e),this.bezierCurveTo(d+s,e,a,l-r,a,l),this.bezierCurveTo(a,l+r,d+s,h,d,h),this.bezierCurveTo(d-s,h,t,l+r,t,l),this.closePath()},CanvasRenderingContext2D.prototype.database=function(t,e,i,o){var n=1/3,s=i,r=o*n,a=.5522848,h=s/2*a,d=r/2*a,l=t+s,u=e+r,c=t+s/2,p=e+r/2,f=e+(o-r/2),m=e+o;this.beginPath(),this.moveTo(l,p),this.bezierCurveTo(l,p+d,c+h,u,c,u),this.bezierCurveTo(c-h,u,t,p+d,t,p),this.bezierCurveTo(t,p-d,c-h,e,c,e),this.bezierCurveTo(c+h,e,l,p-d,l,p),this.lineTo(l,f),this.bezierCurveTo(l,f+d,c+h,m,c,m),this.bezierCurveTo(c-h,m,t,f+d,t,f),this.lineTo(t,p)},CanvasRenderingContext2D.prototype.arrow=function(t,e,i,o){var n=t-o*Math.cos(i),s=e-o*Math.sin(i),r=t-.9*o*Math.cos(i),a=e-.9*o*Math.sin(i),h=n+o/3*Math.cos(i+.5*Math.PI),d=s+o/3*Math.sin(i+.5*Math.PI),l=n+o/3*Math.cos(i-.5*Math.PI),u=s+o/3*Math.sin(i-.5*Math.PI);this.beginPath(),this.moveTo(t,e),this.lineTo(h,d),this.lineTo(r,a),this.lineTo(l,u),this.closePath()},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=0>r?-c:c,t+=c,e+=h*c,u===!0?this.lineTo(t,e):this.moveTo(t,e),d-=p,u=!u})},function(t,e){function i(t){return P=t,p()}function o(){I=0,N=P.charAt(0)}function n(){I++,N=P.charAt(I)}function s(){return P.charAt(I+1)}function r(t){return A.test(t)}function a(t,e){if(t||(t={}),e)for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i]);return t}function h(t,e,i){for(var o=e.split("."),n=t;o.length;){var s=o.shift();o.length?(n[s]||(n[s]={}),n=n[s]):n[s]=i}}function d(t,e){for(var i,o,n=null,s=[t],r=t;r.parent;)s.push(r.parent),r=r.parent;if(r.nodes)for(i=0,o=r.nodes.length;o>i;i++)if(e.id===r.nodes[i].id){n=r.nodes[i];break}for(n||(n={id:e.id},t.node&&(n.attr=a(n.attr,t.node))),i=s.length-1;i>=0;i--){var h=s[i];h.nodes||(h.nodes=[]),-1===h.nodes.indexOf(n)&&h.nodes.push(n)}e.attr&&(n.attr=a(n.attr,e.attr))}function l(t,e){if(t.edges||(t.edges=[]),t.edges.push(e),t.edge){var i=a({},t.edge);e.attr=a(i,e.attr)}}function u(t,e,i,o,n){var s={from:e,to:i,type:o};return t.edge&&(s.attr=a({},t.edge)),s.attr=a(s.attr||{},n),s}function c(){for(L=S.NULL,z="";" "===N||" "===N||"\n"===N||"\r"===N;)n();do{var t=!1;if("#"===N){for(var e=I-1;" "===P.charAt(e)||" "===P.charAt(e);)e--;if("\n"===P.charAt(e)||""===P.charAt(e)){for(;""!=N&&"\n"!=N;)n();t=!0}}if("/"===N&&"/"===s()){for(;""!=N&&"\n"!=N;)n();t=!0}if("/"===N&&"*"===s()){for(;""!=N;){if("*"===N&&"/"===s()){n(),n();break}n()}t=!0}for(;" "===N||" "===N||"\n"===N||"\r"===N;)n()}while(t);if(""===N)return void(L=S.DELIMITER);var i=N+s();if(E[i])return L=S.DELIMITER,z=i,n(),void n();if(E[N])return L=S.DELIMITER,z=N,void n();if(r(N)||"-"===N){for(z+=N,n();r(N);)z+=N,n();return"false"===z?z=!1:"true"===z?z=!0:isNaN(Number(z))||(z=Number(z)),void(L=S.IDENTIFIER)}if('"'===N){for(n();""!=N&&('"'!=N||'"'===N&&'"'===s());)z+=N,'"'===N&&n(),n();if('"'!=N)throw _('End of string " expected');return n(),void(L=S.IDENTIFIER)}for(L=S.UNKNOWN;""!=N;)z+=N,n();throw new SyntaxError('Syntax error in part "'+x(z,30)+'"')}function p(){var t={};if(o(),c(),"strict"===z&&(t.strict=!0,c()),("graph"===z||"digraph"===z)&&(t.type=z,c()),L===S.IDENTIFIER&&(t.id=z,c()),"{"!=z)throw _("Angle bracket { expected");if(c(),f(t),"}"!=z)throw _("Angle bracket } expected");if(c(),""!==z)throw _("End of file expected");return c(),delete t.node,delete t.edge,delete t.graph,t}function f(t){for(;""!==z&&"}"!=z;)m(t),";"===z&&c()}function m(t){var e=v(t);if(e)return void b(t,e);var i=g(t);if(!i){if(L!=S.IDENTIFIER)throw _("Identifier expected");var o=z;if(c(),"="===z){if(c(),L!=S.IDENTIFIER)throw _("Identifier expected");t[o]=z,c()}else y(t,o)}}function v(t){var e=null;if("subgraph"===z&&(e={},e.type="subgraph",c(),L===S.IDENTIFIER&&(e.id=z,c())),"{"===z){if(c(),e||(e={}),e.parent=t,e.node=t.node,e.edge=t.edge,e.graph=t.graph,f(e),"}"!=z)throw _("Angle bracket } expected");c(),delete e.node,delete e.edge,delete e.graph,delete e.parent,t.subgraphs||(t.subgraphs=[]),t.subgraphs.push(e)}return e}function g(t){return"node"===z?(c(),t.node=w(),"node"):"edge"===z?(c(),t.edge=w(),"edge"):"graph"===z?(c(),t.graph=w(),"graph"):null}function y(t,e){var i={id:e},o=w();o&&(i.attr=o),d(t,i),b(t,e)}function b(t,e){for(;"->"===z||"--"===z;){var i,o=z;c();var n=v(t);if(n)i=n;else{if(L!=S.IDENTIFIER)throw _("Identifier or subgraph expected");i=z,d(t,{id:i}),c()}var s=w(),r=u(t,e,i,o,s);l(t,r),e=i}}function w(){for(var t=null;"["===z;){for(c(),t={};""!==z&&"]"!=z;){if(L!=S.IDENTIFIER)throw _("Attribute name expected");var e=z;if(c(),"="!=z)throw _("Equal sign = expected");if(c(),L!=S.IDENTIFIER)throw _("Attribute value expected");var i=z;h(t,e,i),c(),","==z&&c()}if("]"!=z)throw _("Bracket ] expected");c()}return t}function _(t){return new SyntaxError(t+', got "'+x(z,30)+'" (char '+I+")")}function x(t,e){return t.length<=e?t:t.substr(0,27)+"..."}function k(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 O(t,e,i){for(var o=e.split("."),n=o.pop(),s=t,r=0;r":!0,"--":!0},P="",I=0,N="",z="",L=S.NULL,A=/[a-zA-Z_0-9.:#]/;e.parseDOT=i,e.DOTToGraph=D},function(t,e){function i(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;ai;i++)if(t[i]!=e[i])return!1;return!0},e.convert=function(t,i){var n;if(void 0!==t){if(null===t)return null;if(!i)return t;if("string"!=typeof i&&!(i instanceof String))throw new Error("Type must be a string");switch(i){case"boolean":case"Boolean":return Boolean(t);case"number":case"Number":return Number(t.valueOf());case"string":case"String":return String(t);case"Date":if(e.isNumber(t))return new Date(t);if(t instanceof Date)return new Date(t.valueOf());if(o.isMoment(t))return new Date(t.valueOf());if(e.isString(t))return n=s.exec(t),n?new Date(Number(n[1])):o(t).toDate();throw new Error("Cannot convert object of type "+e.getType(t)+" to type Date");case"Moment":if(e.isNumber(t))return o(t);if(t instanceof Date)return o(t.valueOf());if(o.isMoment(t))return o(t);if(e.isString(t))return n=s.exec(t),o(n?Number(n[1]):t);throw new Error("Cannot convert object of type "+e.getType(t)+" to type Date");case"ISODate":if(e.isNumber(t))return new Date(t);if(t instanceof Date)return t.toISOString();if(o.isMoment(t))return t.toDate().toISOString();if(e.isString(t))return n=s.exec(t),n?new Date(Number(n[1])).toISOString():new Date(t).toISOString();throw new Error("Cannot convert object of type "+e.getType(t)+" to type ISODate");case"ASPDate":if(e.isNumber(t))return"/Date("+t+")/";if(t instanceof Date)return"/Date("+t.valueOf()+")/";if(e.isString(t)){n=s.exec(t);var r;return r=n?new Date(Number(n[1])).valueOf():new Date(t).valueOf(),"/Date("+r+")/"}throw new Error("Cannot convert object of type "+e.getType(t)+" to type ASPDate");default:throw new Error('Unknown type "'+i+'"')}}};var s=/^\/?Date\((\-?\d+)/i;e.getType=function(t){var e=typeof t;return"object"==e?null===t?"null":t instanceof Boolean?"Boolean":t instanceof Number?"Number":t instanceof String?"String":Array.isArray(t)?"Array":t instanceof Date?"Date":"Object":"number"==e?"Number":"boolean"==e?"Boolean":"string"==e?"String":void 0===e?"undefined":e},e.copyAndExtendArray=function(t,e){for(var i=[],o=0;oi;i++)e(t[i],i,t);else for(i in t)t.hasOwnProperty(i)&&e(t[i],i,t)},e.toArray=function(t){var e=[];for(var i in t)t.hasOwnProperty(i)&&e.push(t[i]);return e},e.updateProperty=function(t,e,i){return t[e]!==i?(t[e]=i,!0):!1},e.throttle=function(t,e){var i=null,o=!1;return function n(){i?o=!0:(o=!1,t(),i=setTimeout(function(){i=null,o&&n()},e))}},e.addEventListener=function(t,e,i,o){t.addEventListener?(void 0===o&&(o=!1),"mousewheel"===e&&navigator.userAgent.indexOf("Firefox")>=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){if(-1!=t.indexOf("rgba"))return t;if(-1!=t.indexOf("rgb")){var o=t.substr(t.indexOf("(")+1).replace(")","").split(",");return"rgba("+o[0]+","+o[1]+","+o[2]+","+i+")"}var o=e.hexToRGB(t);return 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(e.isString(t)===!0){if(e.isValidRGB(t)===!0){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(e.isValidHex(t)===!0){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,r=t==o?3:i==o?1:5,a=60*(r-s/(n-o))/360,h=(n-o)/n,d=n;return{h:a,s:h,v:d}};var r={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 Object.keys(t).map(function(e){return e+": "+t[e]}).join("; ")}};e.addCssText=function(t,i){var o=r.split(t.style.cssText),n=r.split(i),s=e.extend(o,n);t.style.cssText=r.join(s)},e.removeCssText=function(t,e){var i=r.split(t.style.cssText),o=r.split(e);for(var n in o)o.hasOwnProperty(n)&&delete i[n];t.style.cssText=r.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){var e=/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(t);return e},e.isValidRGB=function(t){t=t.replace(" ","");var e=/rgb\((\d{1,3}),(\d{1,3}),(\d{1,3})\)/i.test(t);return e},e.isValidRGBA=function(t){t=t.replace(" ","");var e=/rgba\((\d{1,3}),(\d{1,3}),(\d{1,3}),(.{1,3})\)/i.test(t);return e},e.selectiveBridgeObject=function(t,i){if("object"==typeof i){for(var o=Object.create(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]?!1:arguments[3],arguments.length<=4||void 0===arguments[4]?{}:arguments[4]);if(null===e[i])t[i]=Object.create(o[i]);else if(void 0!==e[i])if("boolean"==typeof e[i])t[i].enabled=e[i];else{void 0===e[i].enabled&&(t[i].enabled=!0);for(var n in e[i])e[i].hasOwnProperty(n)&&(t[i][n]=e[i][n])}},e.binarySearchCustom=function(t,e,i,o){for(var n=1e4,s=0,r=0,a=t.length-1;a>=r&&n>s;){var h=Math.floor((r+a)/2),d=t[h],l=void 0===o?d[i]:d[i][o],u=e(l);if(0==u)return h;-1==u?r=h+1:a=h-1,s++}return-1},e.binarySearchValue=function(t,e,i,o){for(var n,s,r,a,h=1e4,d=0,l=0,u=t.length-1;u>=l&&h>d;){if(a=Math.floor(.5*(u+l)),n=t[Math.max(0,a-1)][i],s=t[a][i],r=t[Math.min(t.length-1,a+1)][i],s==e)return a;if(e>n&&s>e)return"before"==o?Math.max(0,a-1):a;if(e>s&&r>e)return"before"==o?a:Math.min(t.length-1,a+1);e>s?l=a+1:u=a-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.5>t?2*t*t:-1+(4-2*t)*t},easeInCubic:function(t){return t*t*t},easeOutCubic:function(t){return--t*t*t+1},easeInOutCubic:function(t){return.5>t?4*t*t*t:(t-1)*(2*t-2)*(2*t-2)+1},easeInQuart:function(t){return t*t*t*t},easeOutQuart:function(t){return 1- --t*t*t*t},easeInOutQuart:function(t){return.5>t?8*t*t*t*t:1-8*--t*t*t*t},easeInQuint:function(t){return t*t*t*t*t},easeOutQuint:function(t){return 1+--t*t*t*t*t},easeInOutQuint:function(t){return.5>t?16*t*t*t*t*t:1+16*--t*t*t*t*t}}},function(t,e,i){t.exports="undefined"!=typeof window&&window.moment||i(3)},function(t,e,i){(function(t){!function(e,i){t.exports=i()}(this,function(){function e(){return Yi.apply(null,arguments)}function i(t){Yi=t}function o(t){return"[object Array]"===Object.prototype.toString.call(t)}function n(t){return t instanceof Date||"[object Date]"===Object.prototype.toString.call(t)}function s(t,e){var i,o=[];for(i=0;i0)for(i in Vi)o=Vi[i],n=e[o],p(n)||(t[o]=n);return t}function m(t){f(this,t),this._d=new Date(null!=t._d?t._d.getTime():NaN),Ui===!1&&(Ui=!0,e.updateOffset(this),Ui=!1)}function v(t){return t instanceof m||null!=t&&null!=t._isAMomentObject}function g(t){return 0>t?Math.ceil(t):Math.floor(t)}function y(t){var e=+t,i=0;return 0!==e&&isFinite(e)&&(i=g(e)),i}function b(t,e,i){var o,n=Math.min(t.length,e.length),s=Math.abs(t.length-e.length),r=0;for(o=0;n>o;o++)(i&&t[o]!==e[o]||!i&&y(t[o])!==y(e[o]))&&r++;return r+s}function w(){}function _(t){return t?t.toLowerCase().replace("_","-"):t}function x(t){for(var e,i,o,n,s=0;s0;){if(o=k(n.slice(0,e).join("-")))return o;if(i&&i.length>=e&&b(n,i,!0)>=e-1)break;e--}s++}return null}function k(e){var i=null;if(!qi[e]&&!p(t)&&t&&t.exports)try{i=Gi._abbr,!function(){var t=new Error('Cannot find module "./locale"');throw t.code="MODULE_NOT_FOUND",t}(),O(i)}catch(o){}return qi[e]}function O(t,e){var i;return t&&(i=p(e)?D(t):M(t,e),i&&(Gi=i)),Gi._abbr}function M(t,e){return null!==e?(e.abbr=t,qi[t]=qi[t]||new w,qi[t].set(e),O(t),qi[t]):(delete qi[t],null)}function D(t){var e;if(t&&t._locale&&t._locale._abbr&&(t=t._locale._abbr),!t)return Gi;if(!o(t)){if(e=k(t))return e;t=[t]}return x(t)}function C(t,e){var i=t.toLowerCase();Xi[i]=Xi[i+"s"]=Xi[e]=t}function T(t){return"string"==typeof t?Xi[t]||Xi[t.toLowerCase()]:void 0}function E(t){var e,i,o={};for(i in t)r(t,i)&&(e=T(i),e&&(o[e]=t[i]));return o}function S(t){return t instanceof Function||"[object Function]"===Object.prototype.toString.call(t)}function P(t,i){return function(o){return null!=o?(N(this,t,o),e.updateOffset(this,i),this):I(this,t)}}function I(t,e){return t.isValid()?t._d["get"+(t._isUTC?"UTC":"")+e]():NaN}function N(t,e,i){t.isValid()&&t._d["set"+(t._isUTC?"UTC":"")+e](i)}function z(t,e){var i;if("object"==typeof t)for(i in t)this.set(i,t[i]);else if(t=T(t),S(this[t]))return this[t](e);return this}function L(t,e,i){var o=""+Math.abs(t),n=e-o.length,s=t>=0;return(s?i?"+":"":"-")+Math.pow(10,Math.max(0,n)).toString().substr(1)+o}function A(t,e,i,o){var n=o;"string"==typeof o&&(n=function(){return this[o]()}),t&&(Ji[t]=n),e&&(Ji[e[0]]=function(){return L(n.apply(this,arguments),e[1],e[2])}),i&&(Ji[i]=function(){return this.localeData().ordinal(n.apply(this,arguments),t)})}function B(t){return t.match(/\[[\s\S]/)?t.replace(/^\[|\]$/g,""):t.replace(/\\/g,"")}function F(t){var e,i,o=t.match(Zi);for(e=0,i=o.length;i>e;e++)Ji[o[e]]?o[e]=Ji[o[e]]:o[e]=B(o[e]);return function(n){var s="";for(e=0;i>e;e++)s+=o[e]instanceof Function?o[e].call(n,t):o[e];return s}}function j(t,e){return t.isValid()?(e=R(e,t.localeData()),$i[e]=$i[e]||F(e),$i[e](t)):t.localeData().invalidDate()}function R(t,e){function i(t){return e.longDateFormat(t)||t}var o=5;for(Ki.lastIndex=0;o>=0&&Ki.test(t);)t=t.replace(Ki,i),Ki.lastIndex=0,o-=1;return t}function H(t,e,i){go[t]=S(e)?e:function(t){return t&&i?i:e}}function W(t,e){return r(go,t)?go[t](e._strict,e._locale):new RegExp(Y(t))}function Y(t){return t.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(t,e,i,o,n){return e||i||o||n}).replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function G(t,e){var i,o=e;for("string"==typeof t&&(t=[t]),"number"==typeof e&&(o=function(t,i){i[e]=y(t)}),i=0;io;o++){if(n=h([2e3,o]),i&&!this._longMonthsParse[o]&&(this._longMonthsParse[o]=new RegExp("^"+this.months(n,"").replace(".","")+"$","i"),this._shortMonthsParse[o]=new RegExp("^"+this.monthsShort(n,"").replace(".","")+"$","i")),i||this._monthsParse[o]||(s="^"+this.months(n,"")+"|^"+this.monthsShort(n,""),this._monthsParse[o]=new RegExp(s.replace(".",""),"i")),i&&"MMMM"===e&&this._longMonthsParse[o].test(t))return o;if(i&&"MMM"===e&&this._shortMonthsParse[o].test(t))return o;if(!i&&this._monthsParse[o].test(t))return o}}function $(t,e){var i;return t.isValid()?"string"==typeof e&&(e=t.localeData().monthsParse(e),"number"!=typeof e)?t:(i=Math.min(t.date(),q(t.year(),e)),t._d["set"+(t._isUTC?"UTC":"")+"Month"](e,i),t):t}function J(t){return null!=t?($(this,t),e.updateOffset(this,!0),this):I(this,"Month")}function Q(){return q(this.year(),this.month())}function tt(t){var e,i=t._a;return i&&-2===l(t).overflow&&(e=i[wo]<0||i[wo]>11?wo:i[_o]<1||i[_o]>q(i[bo],i[wo])?_o:i[xo]<0||i[xo]>24||24===i[xo]&&(0!==i[ko]||0!==i[Oo]||0!==i[Mo])?xo:i[ko]<0||i[ko]>59?ko:i[Oo]<0||i[Oo]>59?Oo:i[Mo]<0||i[Mo]>999?Mo:-1,l(t)._overflowDayOfYear&&(bo>e||e>_o)&&(e=_o),l(t)._overflowWeeks&&-1===e&&(e=Do),l(t)._overflowWeekday&&-1===e&&(e=Co),l(t).overflow=e),t}function et(t){e.suppressDeprecationWarnings===!1&&!p(console)&&console.warn&&console.warn("Deprecation warning: "+t)}function it(t,e){var i=!0;return a(function(){return i&&(et(t+"\nArguments: "+Array.prototype.slice.call(arguments).join(", ")+"\n"+(new Error).stack),i=!1),e.apply(this,arguments)},e)}function ot(t,e){Po[t]||(et(e),Po[t]=!0)}function nt(t){var e,i,o,n,s,r,a=t._i,h=Io.exec(a)||No.exec(a);if(h){for(l(t).iso=!0,e=0,i=Lo.length;i>e;e++)if(Lo[e][1].exec(h[1])){n=Lo[e][0],o=Lo[e][2]!==!1;break}if(null==n)return void(t._isValid=!1);if(h[3]){for(e=0,i=Ao.length;i>e;e++)if(Ao[e][1].exec(h[3])){s=(h[2]||" ")+Ao[e][0];break}if(null==s)return void(t._isValid=!1)}if(!o&&null!=s)return void(t._isValid=!1);if(h[4]){if(!zo.exec(h[4]))return void(t._isValid=!1);r="Z"}t._f=n+(s||"")+(r||""),bt(t)}else t._isValid=!1}function st(t){var i=Bo.exec(t._i);return null!==i?void(t._d=new Date(+i[1])):(nt(t),void(t._isValid===!1&&(delete t._isValid,e.createFromInputFallback(t))))}function rt(t,e,i,o,n,s,r){var a=new Date(t,e,i,o,n,s,r);return 100>t&&t>=0&&isFinite(a.getFullYear())&&a.setFullYear(t),a}function at(t){var e=new Date(Date.UTC.apply(null,arguments));return 100>t&&t>=0&&isFinite(e.getUTCFullYear())&&e.setUTCFullYear(t),e}function ht(t){return dt(t)?366:365}function dt(t){return t%4===0&&t%100!==0||t%400===0}function lt(){return dt(this.year())}function ut(t,e,i){var o=7+e-i,n=(7+at(t,0,o).getUTCDay()-e)%7;return-n+o-1}function ct(t,e,i,o,n){var s,r,a=(7+i-o)%7,h=ut(t,o,n),d=1+7*(e-1)+a+h;return 0>=d?(s=t-1,r=ht(s)+d):d>ht(t)?(s=t+1,r=d-ht(t)):(s=t,r=d),{year:s,dayOfYear:r}}function pt(t,e,i){var o,n,s=ut(t.year(),e,i),r=Math.floor((t.dayOfYear()-s-1)/7)+1;return 1>r?(n=t.year()-1,o=r+ft(n,e,i)):r>ft(t.year(),e,i)?(o=r-ft(t.year(),e,i),n=t.year()+1):(n=t.year(),o=r),{week:o,year:n}}function ft(t,e,i){var o=ut(t,e,i),n=ut(t+1,e,i);return(ht(t)-o+n)/7}function mt(t,e,i){return null!=t?t:null!=e?e:i}function vt(t){var i=new Date(e.now());return t._useUTC?[i.getUTCFullYear(),i.getUTCMonth(),i.getUTCDate()]:[i.getFullYear(),i.getMonth(),i.getDate()]}function gt(t){var e,i,o,n,s=[];if(!t._d){for(o=vt(t),t._w&&null==t._a[_o]&&null==t._a[wo]&&yt(t),t._dayOfYear&&(n=mt(t._a[bo],o[bo]),t._dayOfYear>ht(n)&&(l(t)._overflowDayOfYear=!0),i=at(n,0,t._dayOfYear),t._a[wo]=i.getUTCMonth(),t._a[_o]=i.getUTCDate()),e=0;3>e&&null==t._a[e];++e)t._a[e]=s[e]=o[e];for(;7>e;e++)t._a[e]=s[e]=null==t._a[e]?2===e?1:0:t._a[e];24===t._a[xo]&&0===t._a[ko]&&0===t._a[Oo]&&0===t._a[Mo]&&(t._nextDay=!0,t._a[xo]=0),t._d=(t._useUTC?at:rt).apply(null,s),null!=t._tzm&&t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),t._nextDay&&(t._a[xo]=24)}}function yt(t){var e,i,o,n,s,r,a,h;e=t._w,null!=e.GG||null!=e.W||null!=e.E?(s=1,r=4,i=mt(e.GG,t._a[bo],pt(Ct(),1,4).year),o=mt(e.W,1),n=mt(e.E,1),(1>n||n>7)&&(h=!0)):(s=t._locale._week.dow,r=t._locale._week.doy,i=mt(e.gg,t._a[bo],pt(Ct(),s,r).year),o=mt(e.w,1),null!=e.d?(n=e.d,(0>n||n>6)&&(h=!0)):null!=e.e?(n=e.e+s,(e.e<0||e.e>6)&&(h=!0)):n=s),1>o||o>ft(i,s,r)?l(t)._overflowWeeks=!0:null!=h?l(t)._overflowWeekday=!0:(a=ct(i,o,n,s,r),t._a[bo]=a.year,t._dayOfYear=a.dayOfYear)}function bt(t){if(t._f===e.ISO_8601)return void nt(t);t._a=[],l(t).empty=!0;var i,o,n,s,r,a=""+t._i,h=a.length,d=0;for(n=R(t._f,t._locale).match(Zi)||[],i=0;i0&&l(t).unusedInput.push(r),a=a.slice(a.indexOf(o)+o.length),d+=o.length),Ji[s]?(o?l(t).empty=!1:l(t).unusedTokens.push(s),U(s,o,t)):t._strict&&!o&&l(t).unusedTokens.push(s);l(t).charsLeftOver=h-d,a.length>0&&l(t).unusedInput.push(a),l(t).bigHour===!0&&t._a[xo]<=12&&t._a[xo]>0&&(l(t).bigHour=void 0),t._a[xo]=wt(t._locale,t._a[xo],t._meridiem),gt(t),tt(t)}function wt(t,e,i){var o;return null==i?e:null!=t.meridiemHour?t.meridiemHour(e,i):null!=t.isPM?(o=t.isPM(i),o&&12>e&&(e+=12),o||12!==e||(e=0),e):e}function _t(t){var e,i,o,n,s;if(0===t._f.length)return l(t).invalidFormat=!0,void(t._d=new Date(NaN));for(n=0;ns)&&(o=s,i=e));a(t,i||e)}function xt(t){if(!t._d){var e=E(t._i);t._a=s([e.year,e.month,e.day||e.date,e.hour,e.minute,e.second,e.millisecond],function(t){return t&&parseInt(t,10)}),gt(t)}}function kt(t){var e=new m(tt(Ot(t)));return e._nextDay&&(e.add(1,"d"),e._nextDay=void 0),e}function Ot(t){var e=t._i,i=t._f;return t._locale=t._locale||D(t._l),null===e||void 0===i&&""===e?c({nullInput:!0}):("string"==typeof e&&(t._i=e=t._locale.preparse(e)),v(e)?new m(tt(e)):(o(i)?_t(t):i?bt(t):n(e)?t._d=e:Mt(t),u(t)||(t._d=null),t))}function Mt(t){var i=t._i;void 0===i?t._d=new Date(e.now()):n(i)?t._d=new Date(+i):"string"==typeof i?st(t):o(i)?(t._a=s(i.slice(0),function(t){return parseInt(t,10)}),gt(t)):"object"==typeof i?xt(t):"number"==typeof i?t._d=new Date(i):e.createFromInputFallback(t)}function Dt(t,e,i,o,n){var s={};return"boolean"==typeof i&&(o=i,i=void 0),s._isAMomentObject=!0,s._useUTC=s._isUTC=n,s._l=i,s._i=t,s._f=e,s._strict=o,kt(s)}function Ct(t,e,i,o){return Dt(t,e,i,o,!1)}function Tt(t,e){var i,n;if(1===e.length&&o(e[0])&&(e=e[0]),!e.length)return Ct();for(i=e[0],n=1;nt&&(t=-t,i="-"),i+L(~~(t/60),2)+e+L(~~t%60,2)})}function zt(t,e){var i=(e||"").match(t)||[],o=i[i.length-1]||[],n=(o+"").match(Wo)||["-",0,0],s=+(60*n[1])+y(n[2]);return"+"===n[0]?s:-s}function Lt(t,i){var o,s;return i._isUTC?(o=i.clone(),s=(v(t)||n(t)?+t:+Ct(t))-+o,o._d.setTime(+o._d+s),e.updateOffset(o,!1),o):Ct(t).local()}function At(t){return 15*-Math.round(t._d.getTimezoneOffset()/15)}function Bt(t,i){var o,n=this._offset||0;return this.isValid()?null!=t?("string"==typeof t?t=zt(fo,t):Math.abs(t)<16&&(t=60*t),!this._isUTC&&i&&(o=At(this)),this._offset=t,this._isUTC=!0,null!=o&&this.add(o,"m"),n!==t&&(!i||this._changeInProgress?Qt(this,Xt(t-n,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,e.updateOffset(this,!0),this._changeInProgress=null)),this):this._isUTC?n:At(this):null!=t?this:NaN}function Ft(t,e){return null!=t?("string"!=typeof t&&(t=-t),this.utcOffset(t,e),this):-this.utcOffset()}function jt(t){return this.utcOffset(0,t)}function Rt(t){return this._isUTC&&(this.utcOffset(0,t),this._isUTC=!1,t&&this.subtract(At(this),"m")),this}function Ht(){return this._tzm?this.utcOffset(this._tzm):"string"==typeof this._i&&this.utcOffset(zt(po,this._i)),this}function Wt(t){return this.isValid()?(t=t?Ct(t).utcOffset():0,(this.utcOffset()-t)%60===0):!1}function Yt(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function Gt(){if(!p(this._isDSTShifted))return this._isDSTShifted;var t={};if(f(t,this),t=Ot(t),t._a){var e=t._isUTC?h(t._a):Ct(t._a);this._isDSTShifted=this.isValid()&&b(t._a,e.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted}function Vt(){return this.isValid()?!this._isUTC:!1}function Ut(){return this.isValid()?this._isUTC:!1}function qt(){return this.isValid()?this._isUTC&&0===this._offset:!1}function Xt(t,e){var i,o,n,s=t,a=null;return It(t)?s={ms:t._milliseconds,d:t._days,M:t._months}:"number"==typeof t?(s={},e?s[e]=t:s.milliseconds=t):(a=Yo.exec(t))?(i="-"===a[1]?-1:1,s={y:0,d:y(a[_o])*i,h:y(a[xo])*i,m:y(a[ko])*i,s:y(a[Oo])*i,ms:y(a[Mo])*i}):(a=Go.exec(t))?(i="-"===a[1]?-1:1,s={y:Zt(a[2],i),M:Zt(a[3],i),d:Zt(a[4],i),h:Zt(a[5],i),m:Zt(a[6],i),s:Zt(a[7],i),w:Zt(a[8],i)}):null==s?s={}:"object"==typeof s&&("from"in s||"to"in s)&&(n=$t(Ct(s.from),Ct(s.to)),s={},s.ms=n.milliseconds,s.M=n.months),o=new Pt(s),It(t)&&r(t,"_locale")&&(o._locale=t._locale),o}function Zt(t,e){var i=t&&parseFloat(t.replace(",","."));return(isNaN(i)?0:i)*e}function Kt(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 $t(t,e){var i;return t.isValid()&&e.isValid()?(e=Lt(e,t),t.isBefore(e)?i=Kt(t,e):(i=Kt(e,t),i.milliseconds=-i.milliseconds,i.months=-i.months),i):{milliseconds:0,months:0}}function Jt(t,e){return function(i,o){var n,s;return null===o||isNaN(+o)||(ot(e,"moment()."+e+"(period, number) is deprecated. Please use moment()."+e+"(number, period)."),s=i,i=o,o=s),i="string"==typeof i?+i:i,n=Xt(i,o),Qt(this,n,t),this}}function Qt(t,i,o,n){var s=i._milliseconds,r=i._days,a=i._months;t.isValid()&&(n=null==n?!0:n,s&&t._d.setTime(+t._d+s*o),r&&N(t,"Date",I(t,"Date")+r*o),a&&$(t,I(t,"Month")+a*o),n&&e.updateOffset(t,r||a))}function te(t,e){var i=t||Ct(),o=Lt(i,this).startOf("day"),n=this.diff(o,"days",!0),s=-6>n?"sameElse":-1>n?"lastWeek":0>n?"lastDay":1>n?"sameDay":2>n?"nextDay":7>n?"nextWeek":"sameElse",r=e&&(S(e[s])?e[s]():e[s]);return this.format(r||this.localeData().calendar(s,this,Ct(i)))}function ee(){return new m(this)}function ie(t,e){var i=v(t)?t:Ct(t);return this.isValid()&&i.isValid()?(e=T(p(e)?"millisecond":e),"millisecond"===e?+this>+i:+i<+this.clone().startOf(e)):!1}function oe(t,e){var i=v(t)?t:Ct(t);return this.isValid()&&i.isValid()?(e=T(p(e)?"millisecond":e),"millisecond"===e?+i>+this:+this.clone().endOf(e)<+i):!1}function ne(t,e,i){return this.isAfter(t,i)&&this.isBefore(e,i)}function se(t,e){var i,o=v(t)?t:Ct(t);return this.isValid()&&o.isValid()?(e=T(e||"millisecond"),"millisecond"===e?+this===+o:(i=+o,+this.clone().startOf(e)<=i&&i<=+this.clone().endOf(e))):!1}function re(t,e){return this.isSame(t,e)||this.isAfter(t,e)}function ae(t,e){return this.isSame(t,e)||this.isBefore(t,e)}function he(t,e,i){var o,n,s,r;return this.isValid()?(o=Lt(t,this),o.isValid()?(n=6e4*(o.utcOffset()-this.utcOffset()),e=T(e),"year"===e||"month"===e||"quarter"===e?(r=de(this,o),"quarter"===e?r/=3:"year"===e&&(r/=12)):(s=this-o,r="second"===e?s/1e3:"minute"===e?s/6e4:"hour"===e?s/36e5:"day"===e?(s-n)/864e5:"week"===e?(s-n)/6048e5:s),i?r:g(r)):NaN):NaN}function de(t,e){var i,o,n=12*(e.year()-t.year())+(e.month()-t.month()),s=t.clone().add(n,"months");return 0>e-s?(i=t.clone().add(n-1,"months"),o=(e-s)/(s-i)):(i=t.clone().add(n+1,"months"),o=(e-s)/(i-s)),-(n+o)}function le(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")}function ue(){var t=this.clone().utc();return 0s&&(e=s),Be.call(this,t,e,i,o,n))}function Be(t,e,i,o,n){var s=ct(t,e,i,o,n),r=at(s.year,0,s.dayOfYear);return this.year(r.getUTCFullYear()),this.month(r.getUTCMonth()),this.date(r.getUTCDate()),this}function Fe(t){return null==t?Math.ceil((this.month()+1)/3):this.month(3*(t-1)+this.month()%3)}function je(t){return pt(t,this._week.dow,this._week.doy).week}function Re(){return this._week.dow}function He(){return this._week.doy}function We(t){var e=this.localeData().week(this);return null==t?e:this.add(7*(t-e),"d")}function Ye(t){var e=pt(this,1,4).week;return null==t?e:this.add(7*(t-e),"d")}function Ge(t,e){return"string"!=typeof t?t:isNaN(t)?(t=e.weekdaysParse(t),"number"==typeof t?t:null):parseInt(t,10)}function Ve(t,e){return o(this._weekdays)?this._weekdays[t.day()]:this._weekdays[this._weekdays.isFormat.test(e)?"format":"standalone"][t.day()]}function Ue(t){return this._weekdaysShort[t.day()]}function qe(t){return this._weekdaysMin[t.day()]}function Xe(t,e,i){var o,n,s;for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),o=0;7>o;o++){if(n=Ct([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 Ze(t){if(!this.isValid())return null!=t?this:NaN;var e=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=t?(t=Ge(t,this.localeData()),this.add(t-e,"d")):e}function Ke(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 $e(t){return this.isValid()?null==t?this.day()||7:this.day(this.day()%7?t:t-7):null!=t?this:NaN}function Je(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 Qe(){return this.hours()%12||12}function ti(t,e){A(t,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),e)})}function ei(t,e){return e._meridiemParse}function ii(t){return"p"===(t+"").toLowerCase().charAt(0)}function oi(t,e,i){return t>11?i?"pm":"PM":i?"am":"AM"}function ni(t,e){e[Mo]=y(1e3*("0."+t))}function si(){return this._isUTC?"UTC":""}function ri(){return this._isUTC?"Coordinated Universal Time":""}function ai(t){return Ct(1e3*t)}function hi(){return Ct.apply(null,arguments).parseZone()}function di(t,e,i){var o=this._calendar[t];return S(o)?o.call(e,i):o}function li(t){var e=this._longDateFormat[t],i=this._longDateFormat[t.toUpperCase()];return e||!i?e:(this._longDateFormat[t]=i.replace(/MMMM|MM|DD|dddd/g,function(t){return t.slice(1)}),this._longDateFormat[t])}function ui(){return this._invalidDate}function ci(t){return this._ordinal.replace("%d",t)}function pi(t){return t}function fi(t,e,i,o){var n=this._relativeTime[i];return S(n)?n(t,e,i,o):n.replace(/%d/i,t)}function mi(t,e){var i=this._relativeTime[t>0?"future":"past"];return S(i)?i(e):i.replace(/%s/i,e)}function vi(t){var e,i;for(i in t)e=t[i],S(e)?this[i]=e:this["_"+i]=e;this._ordinalParseLenient=new RegExp(this._ordinalParse.source+"|"+/\d{1,2}/.source)}function gi(t,e,i,o){var n=D(),s=h().set(o,e);return n[i](s,t)}function yi(t,e,i,o,n){if("number"==typeof t&&(e=t,t=void 0),t=t||"",null!=e)return gi(t,e,i,n);var s,r=[];for(s=0;o>s;s++)r[s]=gi(t,s,i,n);return r}function bi(t,e){return yi(t,e,"months",12,"month")}function wi(t,e){return yi(t,e,"monthsShort",12,"month")}function _i(t,e){return yi(t,e,"weekdays",7,"day")}function xi(t,e){return yi(t,e,"weekdaysShort",7,"day")}function ki(t,e){return yi(t,e,"weekdaysMin",7,"day")}function Oi(){var t=this._data;return this._milliseconds=mn(this._milliseconds),this._days=mn(this._days),this._months=mn(this._months),t.milliseconds=mn(t.milliseconds),t.seconds=mn(t.seconds),t.minutes=mn(t.minutes),t.hours=mn(t.hours),t.months=mn(t.months),t.years=mn(t.years),this}function Mi(t,e,i,o){var n=Xt(e,i);return t._milliseconds+=o*n._milliseconds,t._days+=o*n._days,t._months+=o*n._months,t._bubble()}function Di(t,e){return Mi(this,t,e,1)}function Ci(t,e){return Mi(this,t,e,-1)}function Ti(t){return 0>t?Math.floor(t):Math.ceil(t)}function Ei(){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||0>=s&&0>=r&&0>=a||(s+=864e5*Ti(Pi(a)+r),r=0,a=0),h.milliseconds=s%1e3,t=g(s/1e3),h.seconds=t%60,e=g(t/60),h.minutes=e%60,i=g(e/60),h.hours=i%24,r+=g(i/24),n=g(Si(r)),a+=n,r-=Ti(Pi(n)),o=g(a/12),a%=12,h.days=r,h.months=a,h.years=o,this}function Si(t){return 4800*t/146097}function Pi(t){return 146097*t/4800}function Ii(t){var e,i,o=this._milliseconds;if(t=T(t),"month"===t||"year"===t)return e=this._days+o/864e5,i=this._months+Si(e),"month"===t?i:i/12;switch(e=this._days+Math.round(Pi(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 Ni(){return this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*y(this._months/12)}function zi(t){return function(){return this.as(t)}}function Li(t){return t=T(t),this[t+"s"]()}function Ai(t){return function(){return this._data[t]}}function Bi(){return g(this.days()/7)}function Fi(t,e,i,o,n){return n.relativeTime(e||1,!!i,t,o)}function ji(t,e,i){var o=Xt(t).abs(),n=Pn(o.as("s")),s=Pn(o.as("m")),r=Pn(o.as("h")),a=Pn(o.as("d")),h=Pn(o.as("M")),d=Pn(o.as("y")),l=n=s&&["m"]||s=r&&["h"]||r=a&&["d"]||a=h&&["M"]||h=d&&["y"]||["yy",d];return l[2]=e,l[3]=+t>0,l[4]=i,Fi.apply(null,l)}function Ri(t,e){return void 0===In[t]?!1:void 0===e?In[t]:(In[t]=e,!0)}function Hi(t){var e=this.localeData(),i=ji(this,!t,e);return t&&(i=e.pastFuture(+this,i)),e.postformat(i)}function Wi(){var t,e,i,o=Nn(this._milliseconds)/1e3,n=Nn(this._days),s=Nn(this._months);t=g(o/60),e=g(t/60),o%=60,t%=60,i=g(s/12),s%=12;var r=i,a=s,h=n,d=e,l=t,u=o,c=this.asSeconds();return c?(0>c?"-":"")+"P"+(r?r+"Y":"")+(a?a+"M":"")+(h?h+"D":"")+(d||l||u?"T":"")+(d?d+"H":"")+(l?l+"M":"")+(u?u+"S":""):"P0D"}var Yi,Gi,Vi=e.momentProperties=[],Ui=!1,qi={},Xi={},Zi=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,Ki=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,$i={},Ji={},Qi=/\d/,to=/\d\d/,eo=/\d{3}/,io=/\d{4}/,oo=/[+-]?\d{6}/,no=/\d\d?/,so=/\d\d\d\d?/,ro=/\d\d\d\d\d\d?/,ao=/\d{1,3}/,ho=/\d{1,4}/,lo=/[+-]?\d{1,6}/,uo=/\d+/,co=/[+-]?\d+/,po=/Z|[+-]\d\d:?\d\d/gi,fo=/Z|[+-]\d\d(?::?\d\d)?/gi,mo=/[+-]?\d+(\.\d{1,3})?/,vo=/[0-9]*(a[mn]\s?)?['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF\-]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i,go={},yo={},bo=0,wo=1,_o=2,xo=3,ko=4,Oo=5,Mo=6,Do=7,Co=8;A("M",["MM",2],"Mo",function(){return this.month()+1}),A("MMM",0,0,function(t){return this.localeData().monthsShort(this,t)}),A("MMMM",0,0,function(t){return this.localeData().months(this,t)}),C("month","M"),H("M",no),H("MM",no,to),H("MMM",vo),H("MMMM",vo),G(["M","MM"],function(t,e){e[wo]=y(t)-1}),G(["MMM","MMMM"],function(t,e,i,o){var n=i._locale.monthsParse(t,o,i._strict);null!=n?e[wo]=n:l(i).invalidMonth=t});var To=/D[oD]?(\[[^\[\]]*\]|\s+)+MMMM?/,Eo="January_February_March_April_May_June_July_August_September_October_November_December".split("_"),So="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sept_Oct_Nov_Dec".split("_"),Po={};e.suppressDeprecationWarnings=!1;var Io=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?/,No=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?/,zo=/Z|[+-]\d\d(?::?\d\d)?/,Lo=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/]],Ao=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],Bo=/^\/?Date\((\-?\d+)/i;e.createFromInputFallback=it("moment construction falls back to js Date. This is discouraged and will be removed in upcoming major release. Please refer to https://github.com/moment/moment/issues/1407 for more info.",function(t){t._d=new Date(t._i+(t._useUTC?" UTC":""))}),A(0,["YY",2],0,function(){return this.year()%100}),A(0,["YYYY",4],0,"year"),A(0,["YYYYY",5],0,"year"),A(0,["YYYYYY",6,!0],0,"year"),C("year","y"),H("Y",co),H("YY",no,to),H("YYYY",ho,io),H("YYYYY",lo,oo),H("YYYYYY",lo,oo),G(["YYYYY","YYYYYY"],bo),G("YYYY",function(t,i){i[bo]=2===t.length?e.parseTwoDigitYear(t):y(t)}),G("YY",function(t,i){i[bo]=e.parseTwoDigitYear(t)}),e.parseTwoDigitYear=function(t){return y(t)+(y(t)>68?1900:2e3)};var Fo=P("FullYear",!1);e.ISO_8601=function(){};var jo=it("moment().min is deprecated, use moment.min instead. https://github.com/moment/moment/issues/1548",function(){var t=Ct.apply(null,arguments);return this.isValid()&&t.isValid()?this>t?this:t:c()}),Ro=it("moment().max is deprecated, use moment.max instead. https://github.com/moment/moment/issues/1548",function(){var t=Ct.apply(null,arguments);return this.isValid()&&t.isValid()?t>this?this:t:c()}),Ho=Date.now||function(){return+new Date};Nt("Z",":"),Nt("ZZ",""),H("Z",fo),H("ZZ",fo),G(["Z","ZZ"],function(t,e,i){i._useUTC=!0,i._tzm=zt(fo,t)});var Wo=/([\+\-]|\d\d)/gi;e.updateOffset=function(){};var Yo=/(\-)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)\.?(\d{3})?)?/,Go=/^(-)?P(?:(?:([0-9,.]*)Y)?(?:([0-9,.]*)M)?(?:([0-9,.]*)D)?(?:T(?:([0-9,.]*)H)?(?:([0-9,.]*)M)?(?:([0-9,.]*)S)?)?|([0-9,.]*)W)$/;Xt.fn=Pt.prototype;var Vo=Jt(1,"add"),Uo=Jt(-1,"subtract");e.defaultFormat="YYYY-MM-DDTHH:mm:ssZ";var qo=it("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)});A(0,["gg",2],0,function(){return this.weekYear()%100}),A(0,["GG",2],0,function(){return this.isoWeekYear()%100}),Pe("gggg","weekYear"),Pe("ggggg","weekYear"),Pe("GGGG","isoWeekYear"),Pe("GGGGG","isoWeekYear"),C("weekYear","gg"),C("isoWeekYear","GG"),H("G",co),H("g",co),H("GG",no,to),H("gg",no,to),H("GGGG",ho,io),H("gggg",ho,io),H("GGGGG",lo,oo),H("ggggg",lo,oo),V(["gggg","ggggg","GGGG","GGGGG"],function(t,e,i,o){e[o.substr(0,2)]=y(t)}),V(["gg","GG"],function(t,i,o,n){i[n]=e.parseTwoDigitYear(t)}),A("Q",0,"Qo","quarter"),C("quarter","Q"),H("Q",Qi),G("Q",function(t,e){e[wo]=3*(y(t)-1)}),A("w",["ww",2],"wo","week"),A("W",["WW",2],"Wo","isoWeek"),C("week","w"),C("isoWeek","W"),H("w",no),H("ww",no,to),H("W",no),H("WW",no,to),V(["w","ww","W","WW"],function(t,e,i,o){e[o.substr(0,1)]=y(t)});var Xo={dow:0,doy:6};A("D",["DD",2],"Do","date"),C("date","D"),H("D",no),H("DD",no,to),H("Do",function(t,e){return t?e._ordinalParse:e._ordinalParseLenient}),G(["D","DD"],_o),G("Do",function(t,e){e[_o]=y(t.match(no)[0],10)});var Zo=P("Date",!0);A("d",0,"do","day"),A("dd",0,0,function(t){return this.localeData().weekdaysMin(this,t)}),A("ddd",0,0,function(t){return this.localeData().weekdaysShort(this,t)}),A("dddd",0,0,function(t){return this.localeData().weekdays(this,t)}),A("e",0,0,"weekday"),A("E",0,0,"isoWeekday"),C("day","d"),C("weekday","e"),C("isoWeekday","E"),H("d",no),H("e",no),H("E",no),H("dd",vo),H("ddd",vo),H("dddd",vo),V(["dd","ddd","dddd"],function(t,e,i,o){var n=i._locale.weekdaysParse(t,o,i._strict);null!=n?e.d=n:l(i).invalidWeekday=t}),V(["d","e","E"],function(t,e,i,o){e[o]=y(t)});var Ko="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),$o="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),Jo="Su_Mo_Tu_We_Th_Fr_Sa".split("_");A("DDD",["DDDD",3],"DDDo","dayOfYear"),C("dayOfYear","DDD"),H("DDD",ao),H("DDDD",eo),G(["DDD","DDDD"],function(t,e,i){i._dayOfYear=y(t)}),A("H",["HH",2],0,"hour"),A("h",["hh",2],0,Qe),A("hmm",0,0,function(){return""+Qe.apply(this)+L(this.minutes(),2)}),A("hmmss",0,0,function(){return""+Qe.apply(this)+L(this.minutes(),2)+L(this.seconds(),2)}),A("Hmm",0,0,function(){return""+this.hours()+L(this.minutes(),2)}),A("Hmmss",0,0,function(){return""+this.hours()+L(this.minutes(),2)+L(this.seconds(),2)}),ti("a",!0),ti("A",!1),C("hour","h"),H("a",ei),H("A",ei),H("H",no),H("h",no),H("HH",no,to),H("hh",no,to),H("hmm",so),H("hmmss",ro),H("Hmm",so),H("Hmmss",ro),G(["H","HH"],xo),G(["a","A"],function(t,e,i){i._isPm=i._locale.isPM(t),i._meridiem=t}),G(["h","hh"],function(t,e,i){e[xo]=y(t),l(i).bigHour=!0}),G("hmm",function(t,e,i){var o=t.length-2;e[xo]=y(t.substr(0,o)),e[ko]=y(t.substr(o)),l(i).bigHour=!0}),G("hmmss",function(t,e,i){var o=t.length-4,n=t.length-2;e[xo]=y(t.substr(0,o)),e[ko]=y(t.substr(o,2)),e[Oo]=y(t.substr(n)),l(i).bigHour=!0}),G("Hmm",function(t,e,i){var o=t.length-2;e[xo]=y(t.substr(0,o)),e[ko]=y(t.substr(o))}),G("Hmmss",function(t,e,i){var o=t.length-4,n=t.length-2;e[xo]=y(t.substr(0,o)),e[ko]=y(t.substr(o,2)),e[Oo]=y(t.substr(n))});var Qo=/[ap]\.?m?\.?/i,tn=P("Hours",!0);A("m",["mm",2],0,"minute"),C("minute","m"),H("m",no),H("mm",no,to),G(["m","mm"],ko);var en=P("Minutes",!1);A("s",["ss",2],0,"second"),C("second","s"),H("s",no),H("ss",no,to),G(["s","ss"],Oo);var on=P("Seconds",!1);A("S",0,0,function(){return~~(this.millisecond()/100)}),A(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),A(0,["SSS",3],0,"millisecond"),A(0,["SSSS",4],0,function(){return 10*this.millisecond()}),A(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),A(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),A(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),A(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),A(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),C("millisecond","ms"),H("S",ao,Qi),H("SS",ao,to),H("SSS",ao,eo);var nn;for(nn="SSSS";nn.length<=9;nn+="S")H(nn,uo);for(nn="S";nn.length<=9;nn+="S")G(nn,ni);var sn=P("Milliseconds",!1);A("z",0,0,"zoneAbbr"),A("zz",0,0,"zoneName");var rn=m.prototype;rn.add=Vo,rn.calendar=te,rn.clone=ee,rn.diff=he,rn.endOf=we,rn.format=ce,rn.from=pe,rn.fromNow=fe,rn.to=me,rn.toNow=ve,rn.get=z,rn.invalidAt=Ee,rn.isAfter=ie,rn.isBefore=oe,rn.isBetween=ne,rn.isSame=se,rn.isSameOrAfter=re,rn.isSameOrBefore=ae,rn.isValid=Ce,rn.lang=qo,rn.locale=ge,rn.localeData=ye,rn.max=Ro,rn.min=jo,rn.parsingFlags=Te,rn.set=z,rn.startOf=be,rn.subtract=Uo,rn.toArray=Oe,rn.toObject=Me,rn.toDate=ke,rn.toISOString=ue,rn.toJSON=De,rn.toString=le,rn.unix=xe,rn.valueOf=_e,rn.creationData=Se,rn.year=Fo,rn.isLeapYear=lt,rn.weekYear=Ie,rn.isoWeekYear=Ne,rn.quarter=rn.quarters=Fe,rn.month=J,rn.daysInMonth=Q,rn.week=rn.weeks=We,rn.isoWeek=rn.isoWeeks=Ye,rn.weeksInYear=Le,rn.isoWeeksInYear=ze,rn.date=Zo,rn.day=rn.days=Ze,rn.weekday=Ke,rn.isoWeekday=$e,rn.dayOfYear=Je,rn.hour=rn.hours=tn,rn.minute=rn.minutes=en,rn.second=rn.seconds=on,rn.millisecond=rn.milliseconds=sn,rn.utcOffset=Bt,rn.utc=jt,rn.local=Rt,rn.parseZone=Ht,rn.hasAlignedHourOffset=Wt,rn.isDST=Yt,rn.isDSTShifted=Gt,rn.isLocal=Vt,rn.isUtcOffset=Ut,rn.isUtc=qt,rn.isUTC=qt,rn.zoneAbbr=si,rn.zoneName=ri,rn.dates=it("dates accessor is deprecated. Use date instead.",Zo),rn.months=it("months accessor is deprecated. Use month instead",J),rn.years=it("years accessor is deprecated. Use year instead",Fo),rn.zone=it("moment().zone is deprecated, use moment().utcOffset instead. https://github.com/moment/moment/issues/1779",Ft);var an=rn,hn={sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},dn={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},ln="Invalid date",un="%d",cn=/\d{1,2}/,pn={future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},fn=w.prototype;fn._calendar=hn,fn.calendar=di,fn._longDateFormat=dn,fn.longDateFormat=li,fn._invalidDate=ln,fn.invalidDate=ui,fn._ordinal=un,fn.ordinal=ci,fn._ordinalParse=cn,fn.preparse=pi,fn.postformat=pi,fn._relativeTime=pn,fn.relativeTime=fi,fn.pastFuture=mi,fn.set=vi,fn.months=X,fn._months=Eo,fn.monthsShort=Z,fn._monthsShort=So,fn.monthsParse=K,fn.week=je,fn._week=Xo,fn.firstDayOfYear=He,fn.firstDayOfWeek=Re,fn.weekdays=Ve,fn._weekdays=Ko,fn.weekdaysMin=qe,fn._weekdaysMin=Jo,fn.weekdaysShort=Ue,fn._weekdaysShort=$o,fn.weekdaysParse=Xe,fn.isPM=ii,fn._meridiemParse=Qo,fn.meridiem=oi,O("en",{monthsParse:[/^jan/i,/^feb/i,/^mar/i,/^apr/i,/^may/i,/^jun/i,/^jul/i,/^aug/i,/^sep/i,/^oct/i,/^nov/i,/^dec/i],longMonthsParse:[/^january$/i,/^february$/i,/^march$/i,/^april$/i,/^may$/i,/^june$/i,/^july$/i,/^august$/i,/^september$/i,/^october$/i,/^november$/i,/^december$/i],shortMonthsParse:[/^jan$/i,/^feb$/i,/^mar$/i,/^apr$/i,/^may$/i,/^jun$/i,/^jul$/i,/^aug/i,/^sept?$/i,/^oct$/i,/^nov$/i,/^dec$/i],ordinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(t){var e=t%10,i=1===y(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th";return t+i}}),e.lang=it("moment.lang is deprecated. Use moment.locale instead.",O),e.langData=it("moment.langData is deprecated. Use moment.localeData instead.",D);var mn=Math.abs,vn=zi("ms"),gn=zi("s"),yn=zi("m"),bn=zi("h"),wn=zi("d"),_n=zi("w"),xn=zi("M"),kn=zi("y"),On=Ai("milliseconds"),Mn=Ai("seconds"),Dn=Ai("minutes"),Cn=Ai("hours"),Tn=Ai("days"),En=Ai("months"),Sn=Ai("years"),Pn=Math.round,In={s:45,m:45,h:22,d:26,M:11},Nn=Math.abs,zn=Pt.prototype;zn.abs=Oi,zn.add=Di,zn.subtract=Ci,zn.as=Ii,zn.asMilliseconds=vn,zn.asSeconds=gn,zn.asMinutes=yn,zn.asHours=bn,zn.asDays=wn,zn.asWeeks=_n,zn.asMonths=xn,zn.asYears=kn,zn.valueOf=Ni,zn._bubble=Ei,zn.get=Li,zn.milliseconds=On,zn.seconds=Mn,zn.minutes=Dn,zn.hours=Cn,zn.days=Tn,zn.weeks=Bi,zn.months=En,zn.years=Sn,zn.humanize=Hi,zn.toISOString=Wi,zn.toString=Wi,zn.toJSON=Wi,zn.locale=ge,zn.localeData=ye,zn.toIsoString=it("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",Wi),zn.lang=qo,A("X",0,0,"unix"),A("x",0,0,"valueOf"),H("x",co),H("X",mo),G("X",function(t,e,i){i._d=new Date(1e3*parseFloat(t,10))}),G("x",function(t,e,i){i._d=new Date(y(t))}),e.version="2.11.0",i(Ct),e.fn=an,e.min=Et,e.max=St,e.now=Ho,e.utc=h,e.unix=ai,e.months=bi,e.isDate=n,e.locale=O,e.invalid=c,e.duration=Xt,e.isMoment=v,e.weekdays=_i,e.parseZone=hi,e.localeData=D,e.isDuration=It,e.monthsShort=wi,e.weekdaysMin=ki,e.defineLocale=M,e.weekdaysShort=xi,e.normalizeUnits=T,e.relativeTimeThreshold=Ri,e.prototype=an;var Ln=e;return Ln})}).call(e,i(4)(t))},function(t,e){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children=[],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=5},function(t,e){(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){16>n&&(e[o+n++]=u[t])});16>n;)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(0>d&&void 0===t.clockseq&&(r=r+1&16383),(0>d||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;6>p;p++)s[n+p]=c[p];return e?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;16>a;a++)e[n+a]=s[a];return e||o(s)}var r,a="undefined"!=typeof window?window:"undefined"!=typeof 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;16>e;e++)0===(3&e)&&(t=4294967296*Math.random()),d[e]=t>>>((3&e)<<3)&255;return d}}for(var l=[],u={},c=0;256>c;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,function(){return this}())},function(t,e){e.prepareElements=function(t){for(var e in t)t.hasOwnProperty(e)&&(t[e].redundant=t[e].used,t[e].used=[])},e.cleanupElements=function(t){for(var e in t)if(t.hasOwnProperty(e)&&t[e].redundant){for(var i=0;i0?(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){0>n&&(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,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=Object.keys(this._options.type),o=0,n=i.length;n>o;o++){var s=i[o],r=this._options.type[s];"Date"==r||"ISODate"==r||"ASPDate"==r?this._type[s]="Date":this._type[s]=r}if(this._options.convert)throw new Error('Option "convert" is deprecated. Use "type" instead.');this._subscribers={},t&&this.add(t),this.setOptions(e)}var n=i(1),s=i(9);o.prototype.setOptions=function(t){t&&void 0!==t.queue&&(t.queue===!1?this._queue&&(this._queue.destroy(),delete this._queue):(this._queue||(this._queue=s.extend(this,{replace:["add","update","remove"]})),"object"==typeof t.queue&&this._queue.setOptions(t.queue)))},o.prototype.on=function(t,e){var i=this._subscribers[t];i||(i=[],this._subscribers[t]=i),i.push({callback:e})},o.prototype.subscribe=function(){throw new Error("DataSet.subscribe is deprecated. Use DataSet.on instead.")},o.prototype.off=function(t,e){var i=this._subscribers[t];i&&(this._subscribers[t]=i.filter(function(t){return t.callback!=e}))},o.prototype.unsubscribe=function(){throw new Error("DataSet.unsubscribe is deprecated. Use DataSet.off instead.")},o.prototype._trigger=function(t,e,i){if("*"==t)throw new Error("Cannot trigger event *");var o=[];t in this._subscribers&&(o=o.concat(this._subscribers[t])),"*"in this._subscribers&&(o=o.concat(this._subscribers["*"]));for(var n=0,s=o.length;s>n;n++){var r=o[n];r.callback&&r.callback(t,e,i||null)}},o.prototype.add=function(t,e){var i,o=[],n=this;if(Array.isArray(t))for(var s=0,r=t.length;r>s;s++)i=n._addItem(t[s]),o.push(i);else{if(!(t instanceof Object))throw new Error("Unknown dataType");i=n._addItem(t),o.push(i)}return o.length&&this._trigger("add",{items:o},e),o},o.prototype.update=function(t,e){var i=[],o=[],s=[],r=[],a=this,h=a._fieldId,d=function(t){var e=t[h];if(a._data[e]){var d=n.extend({},a._data[e]);e=a._updateItem(t),o.push(e),r.push(t),s.push(d)}else e=a._addItem(t),i.push(e)};if(Array.isArray(t))for(var l=0,u=t.length;u>l;l++)t[l]instanceof Object?d(t[l]):console.warn("Ignoring input item, which is not an object at index "+l);else{if(!(t instanceof Object))throw new Error("Unknown dataType");d(t)}if(i.length&&this._trigger("add",{items:i},e),o.length){var c={items:o,oldData:s,data:r};this._trigger("update",c,e)}return i.concat(o)},o.prototype.get=function(t){var e,i,o,s=this,r=n.getType(arguments[0]);"String"==r||"Number"==r?(e=arguments[0],o=arguments[1]):"Array"==r?(i=arguments[0],o=arguments[1]):o=arguments[0];var a;if(o&&o.returnType){var h=["Array","Object"];a=-1==h.indexOf(o.returnType)?"Array":o.returnType}else a="Array";var d,l,u,c,p,f=o&&o.type||this._options.type,m=o&&o.filter,v=[];if(void 0!=e)d=s._getItem(e,f),d&&m&&!m(d)&&(d=null);else if(void 0!=i)for(c=0,p=i.length;p>c;c++)d=s._getItem(i[c],f),(!m||m(d))&&v.push(d);else for(l=Object.keys(this._data),c=0,p=l.length;p>c;c++)u=l[c],d=s._getItem(u,f),(!m||m(d))&&v.push(d);if(o&&o.order&&void 0==e&&this._sort(v,o.order),o&&o.fields){var g=o.fields;if(void 0!=e)d=this._filterFields(d,g);else for(c=0,p=v.length;p>c;c++)v[c]=this._filterFields(v[c],g)}if("Object"==a){var y,b={};for(c=0,p=v.length;p>c;c++)y=v[c],b[y.id]=y;return b}return void 0!=e?d:v},o.prototype.getIds=function(t){var e,i,o,n,s,r=this._data,a=t&&t.filter,h=t&&t.order,d=t&&t.type||this._options.type,l=Object.keys(r),u=[];if(a)if(h){for(s=[],e=0,i=l.length;i>e;e++)o=l[e],n=this._getItem(o,d),a(n)&&s.push(n);for(this._sort(s,h),e=0,i=s.length;i>e;e++)u.push(s[e][this._fieldId])}else for(e=0,i=l.length;i>e;e++)o=l[e],n=this._getItem(o,d),a(n)&&u.push(n[this._fieldId]);else if(h){for(s=[],e=0,i=l.length;i>e;e++)o=l[e],s.push(r[o]);for(this._sort(s,h),e=0,i=s.length;i>e;e++)u.push(s[e][this._fieldId])}else for(e=0,i=l.length;i>e;e++)o=l[e],n=r[o],u.push(n[this._fieldId]);return u},o.prototype.getDataSet=function(){return this},o.prototype.forEach=function(t,e){var i,o,n,s,r=e&&e.filter,a=e&&e.type||this._options.type,h=this._data,d=Object.keys(h);if(e&&e.order){var l=this.get(e);for(i=0,o=l.length;o>i;i++)n=l[i],s=n[this._fieldId],t(n,s)}else for(i=0,o=d.length;o>i;i++)s=d[i],n=this._getItem(s,a),(!r||r(n))&&t(n,s)},o.prototype.map=function(t,e){var i,o,n,s,r=e&&e.filter,a=e&&e.type||this._options.type,h=[],d=this._data,l=Object.keys(d);for(i=0,o=l.length;o>i;i++)n=l[i],s=this._getItem(n,a),(!r||r(s))&&h.push(t(s,n));return e&&e.order&&this._sort(h,e.order),h},o.prototype._filterFields=function(t,e){if(!t)return t;var i,o,n={},s=Object.keys(t),r=s.length;if(Array.isArray(e))for(i=0;r>i;i++)o=s[i],-1!=e.indexOf(o)&&(n[o]=t[o]);else for(i=0;r>i;i++)o=s[i],e.hasOwnProperty(o)&&(n[e[o]]=t[o]);return n},o.prototype._sort=function(t,e){if(n.isString(e)){var i=e;t.sort(function(t,e){var o=t[i],n=e[i];return o>n?1:n>o?-1:0})}else{if("function"!=typeof e)throw new TypeError("Order must be a function or a string");t.sort(e)}},o.prototype.remove=function(t,e){var i,o,n,s=[];if(Array.isArray(t))for(i=0,o=t.length;o>i;i++)n=this._remove(t[i]),null!=n&&s.push(n);else n=this._remove(t),null!=n&&s.push(n);return s.length&&this._trigger("remove",{items:s},e),s},o.prototype._remove=function(t){if(n.isNumber(t)||n.isString(t)){if(this._data[t])return delete this._data[t],this.length--,t}else if(t instanceof Object){var e=t[this._fieldId];if(void 0!==e&&this._data[e])return delete this._data[e],this.length--,e}return null},o.prototype.clear=function(t){var e=Object.keys(this._data);return this._data={},this.length=0,this._trigger("remove",{items:e},t),e},o.prototype.max=function(t){var e,i,o=this._data,n=Object.keys(o),s=null,r=null;for(e=0,i=n.length;i>e;e++){var a=n[e],h=o[a],d=h[t];null!=d&&(!s||d>r)&&(s=h,r=d)}return s},o.prototype.min=function(t){var e,i,o=this._data,n=Object.keys(o),s=null,r=null;for(e=0,i=n.length;i>e;e++){var a=n[e],h=o[a],d=h[t];null!=d&&(!s||r>d)&&(s=h,r=d)}return s},o.prototype.distinct=function(t){var e,i,o,s=this._data,r=Object.keys(s),a=[],h=this._options.type&&this._options.type[t]||null,d=0; +for(e=0,o=r.length;o>e;e++){var l=r[e],u=s[l],c=u[t],p=!1;for(i=0;d>i;i++)if(a[i]==c){p=!0;break}p||void 0===c||(a[d]=c,d++)}if(h)for(e=0,o=a.length;o>e;e++)a[e]=n.convert(a[e],h);return a},o.prototype._addItem=function(t){var e=t[this._fieldId];if(void 0!=e){if(this._data[e])throw new Error("Cannot add item: item with id "+e+" already exists")}else e=n.randomUUID(),t[this._fieldId]=e;var i,o,s={},r=Object.keys(t);for(i=0,o=r.length;o>i;i++){var a=r[i],h=this._type[a];s[a]=n.convert(t[a],h)}return this._data[e]=s,this.length++,e},o.prototype._getItem=function(t,e){var i,o,s,r,a=this._data[t];if(!a)return null;var h={},d=Object.keys(a);if(e)for(s=0,r=d.length;r>s;s++)i=d[s],o=a[i],h[i]=n.convert(o,e[i]);else for(s=0,r=d.length;r>s;s++)i=d[s],o=a[i],h[i]=o;return h},o.prototype._updateItem=function(t){var e=t[this._fieldId];if(void 0==e)throw new Error("Cannot update item: item has no id (item: "+JSON.stringify(t)+")");var i=this._data[e];if(!i)throw new Error("Cannot update item: no item with id "+e+" found");for(var o=Object.keys(t),s=0,r=o.length;r>s;s++){var a=o[s],h=this._type[a];i[a]=n.convert(t[a],h)}return e},t.exports=o},function(t,e){function i(t){this.delay=null,this.max=1/0,this._queue=[],this._timeout=null,this._extended=null,this.setOptions(t)}i.prototype.setOptions=function(t){t&&"undefined"!=typeof t.delay&&(this.delay=t.delay),t&&"undefined"!=typeof t.max&&(this.max=t.max),this._flushIfNeeded()},i.extend=function(t,e){var o=new i(e);if(void 0!==t.flush)throw new Error("Target object already has a property flush");t.flush=function(){o.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)}},i.prototype.flush=function(){for(;this._queue.length>0;){var t=this._queue.shift();t.fn.apply(t.context||t.fn,t.args||[])}},t.exports=i},function(t,e,i){function o(t,e){this._data=null,this._ids={},this.length=0,this._options=e||{},this._fieldId="id",this._subscribers={};var i=this;this.listener=function(){i._onEvent.apply(i,arguments)},this.setData(t)}var n=i(1),s=i(8);o.prototype.setData=function(t){var e,i,o,n;if(this._data&&(this._data.off&&this._data.off("*",this.listener),e=Object.keys(this._ids),this._ids={},this.length=0,this._trigger("remove",{items:e})),this._data=t,this._data){for(this._fieldId=this._options.fieldId||this._data&&this._data.options&&this._data.options.fieldId||"id",e=this._data.getIds({filter:this._options&&this._options.filter}),o=0,n=e.length;n>o;o++)i=e[o],this._ids[i]=!0;this.length=e.length,this._trigger("add",{items:e}),this._data.on&&this._data.on("*",this.listener)}},o.prototype.refresh=function(){var t,e,i,o=this._data.getIds({filter:this._options&&this._options.filter}),n=Object.keys(this._ids),s={},r=[],a=[];for(e=0,i=o.length;i>e;e++)t=o[e],s[t]=!0,this._ids[t]||(r.push(t),this._ids[t]=!0);for(e=0,i=n.length;i>e;e++)t=n[e],s[t]||(a.push(t),delete this._ids[t]);this.length+=r.length-a.length,r.length&&this._trigger("add",{items:r}),a.length&&this._trigger("remove",{items:a})},o.prototype.get=function(t){var e,i,o,s=this,r=n.getType(arguments[0]);"String"==r||"Number"==r||"Array"==r?(e=arguments[0],i=arguments[1],o=arguments[2]):(i=arguments[0],o=arguments[1]);var a=n.extend({},this._options,i);this._options.filter&&i&&i.filter&&(a.filter=function(t){return s._options.filter(t)&&i.filter(t)});var h=[];return void 0!=e&&h.push(e),h.push(a),h.push(o),this._data&&this._data.get.apply(this._data,h)},o.prototype.getIds=function(t){var e;if(this._data){var i,o=this._options.filter;i=t&&t.filter?o?function(e){return o(e)&&t.filter(e)}:t.filter:o,e=this._data.getIds({filter:i,order:t&&t.order})}else e=[];return e},o.prototype.map=function(t,e){var i=[];if(this._data){var o,n=this._options.filter;o=e&&e.filter?n?function(t){return n(t)&&e.filter(t)}:e.filter:n,i=this._data.map(t,{filter:o,order:e&&e.order})}else i=[];return i},o.prototype.getDataSet=function(){for(var t=this;t instanceof o;)t=t._data;return t||null},o.prototype._onEvent=function(t,e,i){var o,n,s,r,a=e&&e.items,h=this._data,d=[],l=[],u=[],c=[];if(a&&h){switch(t){case"add":for(o=0,n=a.length;n>o;o++)s=a[o],r=this.get(s),r&&(this._ids[s]=!0,l.push(s));break;case"update":for(o=0,n=a.length;n>o;o++)s=a[o],r=this.get(s),r?this._ids[s]?(u.push(s),d.push(e.data[o])):(this._ids[s]=!0,l.push(s)):this._ids[s]&&(delete this._ids[s],c.push(s));break;case"remove":for(o=0,n=a.length;n>o;o++)s=a[o],this._ids[s]&&(delete this._ids[s],c.push(s))}this.length+=l.length-c.length,l.length&&this._trigger("add",{items:l},i),u.length&&this._trigger("update",{items:u,data:d},i),c.length&&this._trigger("remove",{items:c},i)}},o.prototype.on=s.prototype.on,o.prototype.off=s.prototype.off,o.prototype._trigger=s.prototype._trigger,o.prototype.subscribe=o.prototype.on,o.prototype.unsubscribe=o.prototype.off,t.exports=o},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.width="400px",this.height="400px",this.margin=10,this.defaultXCenter="55%",this.defaultYCenter="50%",this.xLabel="x",this.yLabel="y",this.zLabel="z";var n=function(t){return t};this.xValueLabel=n,this.yValueLabel=n,this.zValueLabel=n,this.filterLabel="time",this.legendLabel="value",this.style=o.STYLE.DOT,this.showPerspective=!0,this.showGrid=!0,this.keepAspectRatio=!0,this.showShadow=!1,this.showGrayBottom=!1,this.showTooltip=!1,this.verticalRatio=.5,this.animationInterval=1e3,this.animationPreload=!1,this.camera=new c,this.camera.setArmRotation(1,.5),this.camera.setArmLength(1.7),this.eye=new l(0,0,-1),this.dataTable=null,this.dataPoints=null,this.colX=void 0,this.colY=void 0,this.colZ=void 0,this.colValue=void 0,this.colFilter=void 0,this.xMin=0,this.xStep=void 0,this.xMax=1,this.yMin=0,this.yStep=void 0,this.yMax=1,this.zMin=0,this.zStep=void 0,this.zMax=1,this.valueMin=0,this.valueMax=1,this.xBarWidth=1,this.yBarWidth=1,this.axisColor="#4D4D4D",this.gridColor="#D3D3D3",this.dataColor={fill:"#7DC1FF",stroke:"#3267D2",strokeWidth:1},this.create(),this.setOptions(i),e&&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(12),a=i(8),h=i(10),d=i(1),l=i(13),u=i(14),c=i(15),p=i(16),f=i(17),m=i(18);r(o.prototype),o.prototype._setScale=function(){this.scale=new l(1/(this.xMax-this.xMin),1/(this.yMax-this.yMin),1/(this.zMax-this.zMin)),this.keepAspectRatio&&(this.scale.x3&&(this.colFilter=3);else{if(this.style!==o.STYLE.DOTCOLOR&&this.style!==o.STYLE.DOTSIZE&&this.style!==o.STYLE.BARCOLOR&&this.style!==o.STYLE.BARSIZE)throw'Unknown style "'+this.style+'"';this.colX=0,this.colY=1,this.colZ=2,this.colValue=3,t.getNumberOfColumns()>4&&(this.colFilter=4)}},o.prototype.getNumberOfRows=function(t){return t.length},o.prototype.getNumberOfColumns=function(t){var e=0;for(var i in t[0])t[0].hasOwnProperty(i)&&e++;return e},o.prototype.getDistinctValues=function(t,e){for(var i=[],o=0;ot[o][e]&&(i.min=t[o][e]),i.maxt;t++){var f=(t-c)/(p-c),v=240*f,g=this._hsv2rgb(v,1,1);u.strokeStyle=g,u.beginPath(),u.moveTo(h,r+t),u.lineTo(a,r+t),u.stroke()}u.strokeStyle=this.axisColor,u.strokeRect(h,r,i,s)}if(this.style===o.STYLE.DOTSIZE&&(u.strokeStyle=this.axisColor,u.fillStyle=this.dataColor.fill,u.beginPath(),u.moveTo(h,r),u.lineTo(a,r),u.lineTo(a-i+e,d),u.lineTo(h,d),u.closePath(),u.fill(),u.stroke()),this.style===o.STYLE.DOTCOLOR||this.style===o.STYLE.DOTSIZE){var y=5,b=new m(this.valueMin,this.valueMax,(this.valueMax-this.valueMin)/5,!0);for(b.start(),b.getCurrent()0?this.yMin:this.yMax,n=this._convert3Dto2D(new l(_,r,this.zMin)),Math.cos(2*w)>0?(v.textAlign="center",v.textBaseline="top",n.y+=b):Math.sin(2*w)<0?(v.textAlign="right",v.textBaseline="middle"):(v.textAlign="left",v.textBaseline="middle"),v.fillStyle=this.axisColor,v.fillText(" "+this.xValueLabel(i.getCurrent())+" ",n.x,n.y),i.next()}for(v.lineWidth=1,o=void 0===this.defaultYStep,i=new m(this.yMin,this.yMax,this.yStep,o),i.start(),i.getCurrent()0?this.xMin:this.xMax,n=this._convert3Dto2D(new l(s,i.getCurrent(),this.zMin)),Math.cos(2*w)<0?(v.textAlign="center",v.textBaseline="top",n.y+=b):Math.sin(2*w)>0?(v.textAlign="right",v.textBaseline="middle"):(v.textAlign="left",v.textBaseline="middle"),v.fillStyle=this.axisColor,v.fillText(" "+this.yValueLabel(i.getCurrent())+" ",n.x,n.y),i.next();for(v.lineWidth=1,o=void 0===this.defaultZStep,i=new m(this.zMin,this.zMax,this.zStep,o),i.start(),i.getCurrent()0?this.xMin:this.xMax,r=Math.sin(w)<0?this.yMin:this.yMax;!i.end();)t=this._convert3Dto2D(new l(s,r,i.getCurrent())),v.strokeStyle=this.axisColor,v.beginPath(),v.moveTo(t.x,t.y),v.lineTo(t.x-b,t.y),v.stroke(),v.textAlign="right",v.textBaseline="middle",v.fillStyle=this.axisColor,v.fillText(this.zValueLabel(i.getCurrent())+" ",t.x-5,t.y),i.next();v.lineWidth=1,t=this._convert3Dto2D(new l(s,r,this.zMin)),e=this._convert3Dto2D(new l(s,r,this.zMax)),v.strokeStyle=this.axisColor,v.beginPath(),v.moveTo(t.x,t.y),v.lineTo(e.x,e.y),v.stroke(),v.lineWidth=1,c=this._convert3Dto2D(new l(this.xMin,this.yMin,this.zMin)),p=this._convert3Dto2D(new l(this.xMax,this.yMin,this.zMin)),v.strokeStyle=this.axisColor,v.beginPath(),v.moveTo(c.x,c.y),v.lineTo(p.x,p.y),v.stroke(),c=this._convert3Dto2D(new l(this.xMin,this.yMax,this.zMin)),p=this._convert3Dto2D(new l(this.xMax,this.yMax,this.zMin)),v.strokeStyle=this.axisColor,v.beginPath(),v.moveTo(c.x,c.y),v.lineTo(p.x,p.y),v.stroke(),v.lineWidth=1,t=this._convert3Dto2D(new l(this.xMin,this.yMin,this.zMin)),e=this._convert3Dto2D(new l(this.xMin,this.yMax,this.zMin)),v.strokeStyle=this.axisColor,v.beginPath(),v.moveTo(t.x,t.y),v.lineTo(e.x,e.y),v.stroke(),t=this._convert3Dto2D(new l(this.xMax,this.yMin,this.zMin)),e=this._convert3Dto2D(new l(this.xMax,this.yMax,this.zMin)),v.strokeStyle=this.axisColor,v.beginPath(),v.moveTo(t.x,t.y),v.lineTo(e.x,e.y),v.stroke();var x=this.xLabel;x.length>0&&(u=.1/this.scale.y,s=(this.xMin+this.xMax)/2,r=Math.cos(w)>0?this.yMin-u:this.yMax+u,n=this._convert3Dto2D(new l(s,r,this.zMin)),Math.cos(2*w)>0?(v.textAlign="center",v.textBaseline="top"):Math.sin(2*w)<0?(v.textAlign="right",v.textBaseline="middle"):(v.textAlign="left",v.textBaseline="middle"),v.fillStyle=this.axisColor,v.fillText(x,n.x,n.y));var k=this.yLabel;k.length>0&&(d=.1/this.scale.x,s=Math.sin(w)>0?this.xMin-d:this.xMax+d,r=(this.yMin+this.yMax)/2,n=this._convert3Dto2D(new l(s,r,this.zMin)),Math.cos(2*w)<0?(v.textAlign="center",v.textBaseline="top"):Math.sin(2*w)>0?(v.textAlign="right",v.textBaseline="middle"):(v.textAlign="left",v.textBaseline="middle"),v.fillStyle=this.axisColor,v.fillText(k,n.x,n.y));var O=this.zLabel;O.length>0&&(h=30,s=Math.cos(w)>0?this.xMin:this.xMax,r=Math.sin(w)<0?this.yMin:this.yMax,a=(this.zMin+this.zMax)/2,n=this._convert3Dto2D(new l(s,r,a)),v.textAlign="right",v.textBaseline="middle",v.fillStyle=this.axisColor,v.fillText(O,n.x-h,n.y))},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._redrawDataGrid=function(){var t,e,i,n,s,r,a,h,d,u,c,p,f=this.frame.canvas,m=f.getContext("2d");if(m.lineJoin="round",m.lineCap="round",!(void 0===this.dataPoints||this.dataPoints.length<=0)){for(s=0;s0}else r=!0;r?(p=(t.point.z+e.point.z+i.point.z+n.point.z)/4,d=240*(1-(p-this.zMin)*this.scale.z/this.verticalRatio),u=1,this.showShadow?(c=Math.min(1+x.x/k/2,1),a=this._hsv2rgb(d,u,c),h=a):(c=1,a=this._hsv2rgb(d,u,c),h=this.axisColor)):(a="gray",h=this.axisColor),m.lineWidth=this._getStrokeWidth(t),m.fillStyle=a,m.strokeStyle=h,m.beginPath(),m.moveTo(t.screen.x,t.screen.y),m.lineTo(e.screen.x,e.screen.y),m.lineTo(n.screen.x,n.screen.y),m.lineTo(i.screen.x,i.screen.y),m.closePath(),m.fill(),m.stroke()}}else for(s=0;sc&&(c=0);var p,f,m;this.style===o.STYLE.DOTCOLOR?(p=240*(1-(d.point.value-this.valueMin)*this.scale.value), +f=this._hsv2rgb(p,1,1),m=this._hsv2rgb(p,1,.8)):this.style===o.STYLE.DOTSIZE?(f=this.dataColor.fill,m=this.dataColor.stroke):(p=240*(1-(d.point.z-this.zMin)*this.scale.z/this.verticalRatio),f=this._hsv2rgb(p,1,1),m=this._hsv2rgb(p,1,.8)),i.lineWidth=this._getStrokeWidth(d),i.strokeStyle=m,i.fillStyle=f,i.beginPath(),i.arc(d.screen.x,d.screen.y,c,0,2*Math.PI,!0),i.fill(),i.stroke()}}},o.prototype._redrawDataBar=function(){var t,e,i,n,s=this.frame.canvas,r=s.getContext("2d");if(!(void 0===this.dataPoints||this.dataPoints.length<=0)){for(t=0;t0){for(t=this.dataPoints[0],o.lineWidth=this._getStrokeWidth(t),o.lineJoin="round",o.lineCap="round",o.strokeStyle=this.dataColor.stroke,o.beginPath(),o.moveTo(t.screen.x,t.screen.y),e=1;e0?1:0>t?-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=100,s=null,r=null,a=null,h=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--){s=this.dataPoints[i];var d=s.surfaces;if(d)for(var l=d.length-1;l>=0;l--){var c=d[l],p=c.corners,f=[p[0].screen,p[1].screen,p[2].screen],m=[p[2].screen,p[3].screen,p[0].screen];if(this._insideTriangle(h,f)||this._insideTriangle(h,m))return s}}else for(i=0;ib)&&n>b&&(a=b,r=s)}}return r},o.prototype._showTooltip=function(t){var e,i,o;this.tooltip?(e=this.tooltip.dom.content,i=this.tooltip.dom.line,o=this.tooltip.dom.dot):(e=document.createElement("div"),e.style.position="absolute",e.style.padding="10px",e.style.border="1px solid #4d4d4d",e.style.color="#1a1a1a",e.style.background="rgba(255,255,255,0.7)",e.style.borderRadius="2px",e.style.boxShadow="5px 5px 10px rgba(128,128,128,0.5)",i=document.createElement("div"),i.style.position="absolute",i.style.height="40px",i.style.width="0",i.style.borderLeft="1px solid #4d4d4d",o=document.createElement("div"),o.style.position="absolute",o.style.height="0",o.style.width="0",o.style.border="5px solid #4d4d4d",o.style.borderRadius="5px",this.tooltip={dataPoint:null,dom:{content:e,line:i,dot:o}}),this._hideTooltip(),this.tooltip.dataPoint=t,"function"==typeof this.showTooltip?e.innerHTML=this.showTooltip(t.point):e.innerHTML="
x:"+t.point.x+"
y:"+t.point.y+"
z:"+t.point.z+"
",e.style.left="0",e.style.top="0",this.frame.appendChild(e),this.frame.appendChild(i),this.frame.appendChild(o);var n=e.offsetWidth,s=e.offsetHeight,r=i.offsetHeight,a=o.offsetWidth,h=o.offsetHeight,d=t.screen.x-n/2;d=Math.min(Math.max(d,10),this.frame.clientWidth-10-n),i.style.left=t.screen.x+"px",i.style.top=t.screen.y-r+"px",e.style.left=d+"px",e.style.top=t.screen.y-r-s+"px",o.style.left=t.screen.x-a/2+"px",o.style.top=t.screen.y-h/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)}}},t.exports=o},function(t,e){function i(t){return t?o(t):void 0}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;no;++o)i[o].apply(this,e)}return this},i.prototype.listeners=function(t){return this._callbacks=this._callbacks||{},this._callbacks[t]||[]},i.prototype.hasListeners=function(t){return!!this.listeners(t).length}},function(t,e){function i(t,e,i){this.x=void 0!==t?t:0,this.y=void 0!==e?e:0,this.z=void 0!==i?i:0}i.subtract=function(t,e){var o=new i;return o.x=t.x-e.x,o.y=t.y-e.y,o.z=t.z-e.z,o},i.add=function(t,e){var o=new i;return o.x=t.x+e.x,o.y=t.y+e.y,o.z=t.z+e.z,o},i.avg=function(t,e){return new i((t.x+e.x)/2,(t.y+e.y)/2,(t.z+e.z)/2)},i.crossProduct=function(t,e){var o=new i;return o.x=t.y*e.z-t.z*e.y,o.y=t.z*e.x-t.x*e.z,o.z=t.x*e.y-t.y*e.x,o},i.prototype.length=function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)},t.exports=i},function(t,e){function i(t,e){this.x=void 0!==t?t:0,this.y=void 0!==e?e:0}t.exports=i},function(t,e,i){function o(){this.armLocation=new n,this.armRotation={},this.armRotation.horizontal=0,this.armRotation.vertical=0,this.armLength=1.7,this.cameraLocation=new n,this.cameraRotation=new n(.5*Math.PI,0,0),this.calculateCameraOrientation()}var n=i(13);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.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},t.exports=o},function(t,e,i){function o(t,e,i){this.data=t,this.column=e,this.graph=i,this.index=void 0,this.value=void 0,this.values=i.getDistinctValues(t.get(),this.column),this.values.sort(function(t,e){return t>e?1:e>t?-1:0}),this.values.length>0&&this.selectValue(0),this.dataPoints=[],this.loaded=!1,this.onLoadCallback=void 0,i.animationPreload?(this.loaded=!1,this.loadInBackground()):this.loaded=!0}var n=i(10);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(){return void 0!==this.index?this.values[this.index]:void 0},o.prototype.getValues=function(){return this.values},o.prototype.getValue=function(t){if(t>=this.values.length)throw"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.data,{filter:function(t){return t[i.column]==i.value}}).get();e=this.graph._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"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&&(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(!(to&&(o=0),o>this.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,i=t/(this.values.length-1)*e,o=i+3;return o},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){function i(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)}i.prototype.setRange=function(t,e,i,o){this._start=t?t:0,this._end=e?e:0,this.setStep(i,o)},i.prototype.setStep=function(t,e){void 0===t||0>=t||(void 0!==e&&(this.prettyStep=e),this.prettyStep===!0?this._step=i.calculatePrettyStep(t):this._step=t)},i.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),0>=s&&(s=1),s},i.prototype.getCurrent=function(){return parseFloat(this._current.toPrecision(this.precision))},i.prototype.getStep=function(){return this._step},i.prototype.start=function(){this._current=this._start-this._start%this._step},i.prototype.next=function(){this._current+=this._step},i.prototype.end=function(){return this._current>this._end},t.exports=i},function(t,e,i){function o(t,e,i,d){if(!(this instanceof o))throw new SyntaxError("Constructor must be called with the new operator");if(!(Array.isArray(i)||i instanceof r||i instanceof a)&&i instanceof Object){var c=d;d=i,i=c}var f=this;this.defaultOptions={start:null,end:null,autoResize:!0,throttleRedraw:0,orientation:{axis:"bottom",item:"bottom"},moment:n,width:null,height:null,maxHeight:null,minHeight:null},this.options=s.deepExtend({},this.defaultOptions),this._create(t),this.components=[],this.body={dom:this.dom,domProps:this.props,emitter:{on:this.on.bind(this),off:this.off.bind(this),emit:this.emit.bind(this)},hiddenDates:[],util:{getScale:function(){return f.timeAxis.step.scale},getStep:function(){return f.timeAxis.step.step},toScreen:f._toScreen.bind(f),toGlobalScreen:f._toGlobalScreen.bind(f),toTime:f._toTime.bind(f),toGlobalTime:f._toGlobalTime.bind(f)}},this.range=new h(this.body),this.components.push(this.range),this.body.range=this.range,this.timeAxis=new l(this.body),this.timeAxis2=null,this.components.push(this.timeAxis),this.currentTime=new u(this.body),this.components.push(this.currentTime),this.itemSet=new p(this.body),this.components.push(this.itemSet),this.itemsData=null,this.groupsData=null,this.on("tap",function(t){f.emit("click",f.getEventProperties(t))}),this.on("doubletap",function(t){f.emit("doubleClick",f.getEventProperties(t))}),this.dom.root.oncontextmenu=function(t){f.emit("contextmenu",f.getEventProperties(t))},d&&this.setOptions(d),i&&this.setGroups(i),e?this.setItems(e):this._redraw()}var n=(i(12),i(20),i(2)),s=i(1),r=i(8),a=i(10),h=i(23),d=i(27),l=i(38),u=i(43),c=i(41),p=i(28),f=i(44),m=i(46)["default"],v=i(46).printStyle,g=i(47).allOptions,y=i(47).configureOptions;o.prototype=new d,o.prototype._createConfigurator=function(){return new f(this,this.dom.container,y)},o.prototype.redraw=function(){this.itemSet&&this.itemSet.markDirty({refreshItems:!0}),this._redraw()},o.prototype.setOptions=function(t){var e=m.validate(t,g);if(e===!0&&console.log("%cErrors have been found in the supplied options object.",v),d.prototype.setOptions.call(this,t),"type"in t&&t.type!==this.options.type){this.options.type=t.type;var i=this.itemsData;if(i){var o=this.getSelection();this.setItems(null),this.setItems(i),this.setSelection(o)}}},o.prototype.setItems=function(t){var e,i=null==this.itemsData;if(e=t?t instanceof r||t instanceof a?t:new r(t,{type:{start:"Date",end:"Date"}}):null,this.itemsData=e,this.itemSet&&this.itemSet.setItems(e),i)if(void 0!=this.options.start||void 0!=this.options.end){if(void 0==this.options.start||void 0==this.options.end)var o=this.getItemRange();var n=void 0!=this.options.start?this.options.start:o.min,s=void 0!=this.options.end?this.options.end:o.max;this.setWindow(n,s,{animation:!1})}else this.fit({animation:!1})},o.prototype.setGroups=function(t){var e;e=t?t instanceof r||t instanceof a?t:new r(t):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||n>e)&&(n=e),(null===s||i>s)&&(s=i)}),null!==n&&null!==s){var r=(n+s)/2,a=Math.max(this.range.end-this.range.start,1.1*(s-n)),h=e&&void 0!==e.animation?e.animation:!0;this.range.setRange(r-a/2,r+a/2,h)}}},o.prototype.fit=function(t){var e=t&&void 0!==t.animation?t.animation:!0,i=this.getItemRange();this.range.setRange(i.min,i.max,e)},o.prototype.getItemRange=function(){var t=this,e=this.getDataRange(),i=null!==e.min?e.min.valueOf():null,o=null!==e.max?e.max.valueOf():null,n=null,r=null;if(null!=i&&null!=o){var a,h,d,l,u;!function(){var e=function(t){return s.convert(t.data.start,"Date").valueOf()},c=function(t){var e=void 0!=t.data.end?t.data.end:t.data.start;return s.convert(e,"Date").valueOf()};a=o-i,0>=a&&(a=10),h=a/t.props.center.width,s.forEach(t.itemSet.items,function(t){t.show();var s=e(t),a=c(t),d=s-(t.getWidthLeft()+10)*h,l=a+(t.getWidthRight()+10)*h;i>d&&(i=d,n=t),l>o&&(o=l,r=t)}.bind(t)),n&&r&&(d=n.getWidthLeft()+10,l=r.getWidthRight()+10,u=t.props.center.width-d-l,u>0&&(i=e(n)-d*a/u,o=c(r)+l*a/u))}()}return{min:null!=i?new Date(i):null,max:null!=o?new Date(o):null}},o.prototype.getDataRange=function(){var t=null,e=null,i=this.itemsData&&this.itemsData.getDataSet();return i&&i.forEach(function(i){var o=s.convert(i.start,"Date").valueOf(),n=s.convert(void 0!=i.end?i.end:i.start,"Date").valueOf();(null===t||t>o)&&(t=o),(null===e||n>e)&&(e=n)}),{min:null!=t?new Date(t):null,max:null!=e?new Date(e):null}},o.prototype.getEventProperties=function(t){var e=t.center?t.center.x:t.clientX,i=t.center?t.center.y:t.clientY,o=e-s.getAbsoluteLeft(this.dom.centerContainer),n=i-s.getAbsoluteTop(this.dom.centerContainer),r=this.itemSet.itemFromTarget(t),a=this.itemSet.groupFromTarget(t),h=c.customTimeFromTarget(t),d=this.itemSet.options.snap||null,l=this.body.util.getScale(),u=this.body.util.getStep(),p=this._toTime(o),f=d?d(p,l,u):p,m=s.getTarget(t),v=null;return null!=r?v="item":null!=h?v="custom-time":s.hasParent(m,this.timeAxis.dom.foreground)?v="axis":this.timeAxis2&&s.hasParent(m,this.timeAxis2.dom.foreground)?v="axis":s.hasParent(m,this.itemSet.dom.labelSet)?v="group-label":s.hasParent(m,this.currentTime.bar)?v="current-time":s.hasParent(m,this.dom.center)&&(v="background"),{event:t,item:r?r.id:null,group:a?a.groupId:null,what:v,pageX:t.srcEvent?t.srcEvent.pageX:t.pageX,pageY:t.srcEvent?t.srcEvent.pageY:t.pageY,x:o,y:n,time:p,snappedTime:f}},t.exports=o},function(t,e,i){if("undefined"!=typeof window){var o=i(21),n=window.Hammer||i(22);t.exports=o(n,{preventDefault:"mouse"})}else t.exports=function(){throw Error("hammer.js is only available in a browser, not in node.js.")}},function(t,e,i){var o,n,s;!function(i){n=[],o=i,s="function"==typeof o?o.apply(e,n):o,!(void 0!==s&&(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;"function"==typeof o&&(e.srcEvent.stopPropagation=function(){o(),e.stopPropagation()}),e.firstTarget=t;for(var n=t;n&&!i;){if(n.hammer)for(var s,r=0;r0?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):!1}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&&ut(o,i)}function p(t,e){return function(){return t.apply(e,arguments)}}function f(t,e){return typeof t==ft?t.apply(e?e[0]||a:a,e):t}function m(t,e){return t===a?e:t}function v(t,e,i){l(w(e),function(e){t.addEventListener(e,i,!1)})}function g(t,e,i){l(w(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 w(t){return t.trim().split(/\s+/g)}function _(t,e,i){if(t.indexOf&&!i)return t.indexOf(e);for(var o=0;oi[e]}):o.sort()),o}function O(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=z(o);e.timeStamp=gt(),e.deltaTime=e.timeStamp-s.timeStamp,e.angle=F(a,h),e.distance=B(a,h),P(i,e),e.offsetDirection=A(e.deltaX,e.deltaY);var d=L(e.deltaTime,e.deltaX,e.deltaY);e.overallVelocityX=d.x,e.overallVelocityY=d.y,e.overallVelocity=vt(d.x)>vt(d.y)?d.x:d.y,e.scale=r?R(r.pointers,o):1,e.rotation=r?j(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===St||s.eventType===It)&&(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!=Nt&&(h>Et||r.velocity===a)){var d=e.deltaX-r.deltaX,l=e.deltaY-r.deltaY,u=L(h,d,l);o=u.x,n=u.y,i=vt(u.x)>vt(u.y)?u.x:u.y,s=A(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;in;)i+=t[n].clientX,o+=t[n].clientY,n++;return{x:mt(i/e),y:mt(o/e)}}function L(t,e,i){return{x:e/t||0,y:i/t||0}}function A(t,e){return t===e?zt:vt(t)>=vt(e)?0>t?Lt:At:0>e?Bt:Ft}function B(t,e,i){i||(i=Wt);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=Wt);var o=e[i[0]]-t[i[0]],n=e[i[1]]-t[i[1]];return 180*Math.atan2(n,o)/Math.PI}function j(t,e){return F(e[1],e[0],Yt)+F(t[1],t[0],Yt)}function R(t,e){return B(e[0],e[1],Yt)/B(t[0],t[1],Yt)}function H(){this.evEl=Vt,this.evWin=Ut,this.allow=!0,this.pressed=!1,C.apply(this,arguments)}function W(){this.evEl=Zt,this.evWin=Kt,C.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}function Y(){this.evTarget=Jt,this.evWin=Qt,this.started=!1,C.apply(this,arguments)}function G(t,e){var i=x(t.touches),o=x(t.changedTouches);return e&(It|Nt)&&(i=k(i.concat(o),"identifier",!0)),[i,o]}function V(){this.evTarget=ee,this.targetIds={},C.apply(this,arguments)}function U(t,e){var i=x(t.touches),o=this.targetIds;if(e&(St|Pt)&&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===St)for(n=0;na&&(e.push(t),a=e.length-1):n&(It|Nt)&&(i=!0),0>a||(e[a]=t,this.callback(this.manager,n,{pointers:e,changedPointers:[t],pointerType:s,srcEvent:t}),i&&e.splice(a,1))}});var $t={touchstart:St,touchmove:Pt,touchend:It,touchcancel:Nt},Jt="touchstart",Qt="touchstart touchmove touchend touchcancel";c(Y,C,{handler:function(t){var e=$t[t.type];if(e===St&&(this.started=!0),this.started){var i=G.call(this,t,e);e&(It|Nt)&&i[0].length-i[1].length===0&&(this.started=!1),this.callback(this.manager,e,{pointers:i[0],changedPointers:i[1],pointerType:Mt,srcEvent:t})}}});var te={touchstart:St,touchmove:Pt,touchend:It,touchcancel:Nt},ee="touchstart touchmove touchend touchcancel";c(V,C,{handler:function(t){var e=te[t.type],i=U.call(this,t,e);i&&this.callback(this.manager,e,{pointers:i[0],changedPointers:i[1],pointerType:Mt,srcEvent:t})}}),c(q,C,{handler:function(t,e,i){var o=i.pointerType==Mt,n=i.pointerType==Ct;if(o)this.mouse.allow=!1;else if(n&&!this.mouse.allow)return;e&(It|Nt)&&(this.mouse.allow=!0),this.callback(t,e,i)},destroy:function(){this.touch.destroy(),this.mouse.destroy()}});var ie=O(pt.style,"touchAction"),oe=ie!==a,ne="compute",se="auto",re="manipulation",ae="none",he="pan-x",de="pan-y";X.prototype={set:function(t){t==ne&&(t=this.compute()),oe&&this.manager.element.style&&(this.manager.element.style[ie]=t),this.actions=t.toLowerCase().trim()},update:function(){this.set(this.manager.options.touchAction)},compute:function(){var t=[];return l(this.manager.recognizers,function(e){f(e.options.enable,[e])&&(t=t.concat(e.getTouchAction()))}),Z(t.join(" "))},preventDefaults:function(t){if(!oe){var e=t.srcEvent,i=t.offsetDirection;if(this.manager.session.prevented)return void e.preventDefault();var o=this.actions,n=b(o,ae),s=b(o,de),r=b(o,he);if(n){var a=1===t.pointers.length,h=t.distance<2,d=t.deltaTime<250;if(a&&h&&d)return}if(!r||!s)return n||s&&i&jt||r&&i&Rt?this.preventSrc(e):void 0}},preventSrc:function(t){this.manager.session.prevented=!0,t.preventDefault()}};var le=1,ue=2,ce=4,pe=8,fe=pe,me=16,ve=32;K.prototype={defaults:{},set:function(t){return ut(this.options,t),this.manager&&this.manager.touchAction.update(),this},recognizeWith:function(t){if(d(t,"recognizeWith",this))return this;var e=this.simultaneous;return t=Q(t,this),e[t.id]||(e[t.id]=t,t.recognizeWith(this)),this},dropRecognizeWith:function(t){return d(t,"dropRecognizeWith",this)?this:(t=Q(t,this),delete this.simultaneous[t.id],this)},requireFailure:function(t){if(d(t,"requireFailure",this))return this;var e=this.requireFail;return t=Q(t,this),-1===_(e,t)&&(e.push(t),t.requireFailure(this)),this},dropRequireFailure:function(t){if(d(t,"dropRequireFailure",this))return this;t=Q(t,this);var e=_(this.requireFail,t);return e>-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;pe>o&&e(i.options.event+$(o)),e(i.options.event),t.additionalEvent&&e(t.additionalEvent),o>=pe&&e(i.options.event+$(o))},tryEmit:function(t){return this.canEmit()?this.emit(t):void(this.state=ve)},canEmit:function(){for(var t=0;ts?Lt:At,i=s!=this.pX,o=Math.abs(t.deltaX)):(n=0===r?zt:0>r?Bt:Ft,i=r!=this.pY,o=Math.abs(t.deltaY))),t.direction=n,i&&o>e.threshold&&n&e.direction},attrTest:function(t){return tt.prototype.attrTest.call(this,t)&&(this.state&ue||!(this.state&ue)&&this.directionTest(t))},emit:function(t){this.pX=t.deltaX,this.pY=t.deltaY;var e=J(t.direction);e&&(t.additionalEvent=this.options.event+e),this._super.emit.call(this,t)}}),c(it,tt,{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&ue)},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(ot,K,{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&(It|Nt)&&!n)this.reset();else if(t.eventType&St)this.reset(),this._timer=h(function(){this.state=fe,this.tryEmit()},e.time,this);else if(t.eventType&It)return fe;return ve},reset:function(){clearTimeout(this._timer)},emit:function(t){this.state===fe&&(t&&t.eventType&It?this.manager.emit(this.options.event+"up",t):(this._input.timeStamp=gt(),this.manager.emit(this.options.event,this._input)))}}),c(nt,tt,{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&ue)}}),c(st,tt,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:jt|Rt,pointers:1},getTouchAction:function(){return et.prototype.getTouchAction.call(this)},attrTest:function(t){var e,i=this.options.direction;return i&(jt|Rt)?e=t.overallVelocity:i&jt?e=t.overallVelocityX:i&Rt&&(e=t.overallVelocityY),this._super.attrTest.call(this,t)&&i&t.offsetDirection&&t.distance>this.options.threshold&&t.maxPointers==this.options.pointers&&vt(e)>this.options.velocity&&t.eventType&It},emit:function(t){var e=J(t.offsetDirection);e&&this.manager.emit(this.options.event+e,t),this.manager.emit(this.options.event,t)}}),c(rt,K,{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.distanceu,c=r||null===n?n:h+(n-h)*i,v=r||null===s?s:l+(s-l)*i;g=a._applyRange(c,v),d.updateHiddenDates(a.options.moment,a.body,a.options.hiddenDates),m=m||g,g&&a.body.emitter.emit("rangechange",{start:new Date(a.start),end:new Date(a.end),byUser:o}),r?m&&a.body.emitter.emit("rangechanged",{start:new Date(a.start),end:new Date(a.end),byUser:o}):a.animationTimer=setTimeout(b,20)}};return v()}var g=this._applyRange(n,s);if(d.updateHiddenDates(this.options.moment,this.body,this.options.hiddenDates),g){var y={start:new Date(this.start),end:new Date(this.end),byUser:o};this.body.emitter.emit("rangechange",y),this.body.emitter.emit("rangechanged",y)}},o.prototype._cancelAnimation=function(){this.animationTimer&&(clearTimeout(this.animationTimer),this.animationTimer=null)},o.prototype._applyRange=function(t,e){var i,o=null!=t?r.convert(t,"Date").valueOf():this.start,n=null!=e?r.convert(e,"Date").valueOf():this.end,s=null!=this.options.max?r.convert(this.options.max,"Date").valueOf():null,a=null!=this.options.min?r.convert(this.options.min,"Date").valueOf():null;if(isNaN(o)||null===o)throw new Error('Invalid start "'+t+'"');if(isNaN(n)||null===n)throw new Error('Invalid end "'+e+'"');if(o>n&&(n=o),null!==a&&a>o&&(i=a-o,o+=i,n+=i,null!=s&&n>s&&(n=s)),null!==s&&n>s&&(i=n-s,o-=i,n-=i,null!=a&&a>o&&(o=a)),null!==this.options.zoomMin){var h=parseFloat(this.options.zoomMin);0>h&&(h=0),h>n-o&&(this.end-this.start===h&&o>this.start&&nd&&(d=0),n-o>d&&(this.end-this.start===d&&othis.end?(o=this.start,n=this.end):(i=n-o-d,o+=i/2,n-=i/2))}var l=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,l},o.prototype.getRange=function(){return{start:this.start,end:this.end}},o.prototype.conversion=function(t,e){return o.conversion(this.start,this.end,t,e)},o.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}},o.prototype._onDragStart=function(t){this.deltaDifference=0,this.previousDelta=0,this.options.moveable&&this._isInsideRange(t)&&this.props.touch.allowDragging&&(this.props.touch.start=this.start,this.props.touch.end=this.end,this.props.touch.dragging=!0,this.body.dom.root&&(this.body.dom.root.style.cursor="move"))},o.prototype._onDrag=function(t){if(this.props.touch.dragging&&this.options.moveable&&this.props.touch.allowDragging){var e=this.options.direction;n(e);var i="horizontal"==e?t.deltaX:t.deltaY;i-=this.deltaDifference;var o=this.props.touch.end-this.props.touch.start,s=d.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end);o-=s;var r="horizontal"==e?this.body.domProps.center.width:this.body.domProps.center.height,a=-i/r*o,h=this.props.touch.start+a,l=this.props.touch.end+a,u=d.snapAwayFromHidden(this.body.hiddenDates,h,this.previousDelta-i,!0),c=d.snapAwayFromHidden(this.body.hiddenDates,l,this.previousDelta-i,!0);if(u!=h||c!=l)return this.deltaDifference+=i,this.props.touch.start=u,this.props.touch.end=c,void this._onDrag(t);this.previousDelta=i,this._applyRange(h,l),this.body.emitter.emit("rangechange",{start:new Date(this.start),end:new Date(this.end),byUser:!0})}},o.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}))},o.prototype._onMouseWheel=function(t){if(this.options.zoomable&&this.options.moveable&&this._isInsideRange(t)&&(!this.options.zoomKey||t[this.options.zoomKey])){var e=0;if(t.wheelDelta?e=t.wheelDelta/120:t.detail&&(e=-t.detail/3),e){var i;i=0>e?1-e/5:1/(1+e/5);var o=s({x:t.clientX,y:t.clientY},this.body.dom.center),n=this._pointerToDate(o);this.zoom(i,n,e)}t.preventDefault()}},o.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},o.prototype._onPinch=function(t){if(this.options.zoomable&&this.options.moveable){this.props.touch.allowDragging=!1,this.props.touch.center||(this.props.touch.center=s(t.center,this.body.dom.center));var e=1/(t.scale+this.scaleOffset),i=this._pointerToDate(this.props.touch.center),o=d.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end),n=d.getHiddenDurationBefore(this.options.moment,this.body.hiddenDates,this,i),r=o-n,a=i-n+(this.props.touch.start-(i-n))*e,h=i+r+(this.props.touch.end-(i+r))*e;this.startToFront=0>=1-e,this.endToFront=0>=e-1;var l=d.snapAwayFromHidden(this.body.hiddenDates,a,1-e,!0),u=d.snapAwayFromHidden(this.body.hiddenDates,h,e-1,!0);(l!=a||u!=h)&&(this.props.touch.start=l,this.props.touch.end=u,this.scaleOffset=1-t.scale,a=l,h=u),this.setRange(a,h,!1,!0),this.startToFront=!1,this.endToFront=!0}},o.prototype._isInsideRange=function(t){var e=t.center?t.center.x:t.clientX,i=e-r.getAbsoluteLeft(this.body.dom.centerContainer),o=this.body.util.toTime(i);return o>=this.start&&o<=this.end},o.prototype._pointerToDate=function(t){var e,i=this.options.direction;if(n(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},o.prototype.zoom=function(t,e,i){null==e&&(e=(this.start+this.end)/2);var o=d.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end),n=d.getHiddenDurationBefore(this.options.moment,this.body.hiddenDates,this,e),s=o-n,r=e-n+(this.start-(e-n))*t,a=e+s+(this.end-(e+s))*t;this.startToFront=i>0?!1:!0,this.endToFront=-i>0?!1:!0;var h=d.snapAwayFromHidden(this.body.hiddenDates,r,i,!0),l=d.snapAwayFromHidden(this.body.hiddenDates,a,-i,!0);(h!=r||l!=a)&&(r=h,a=l),this.setRange(r,a,!1,!0),this.startToFront=!1,this.endToFront=!0},o.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},o.prototype.moveTo=function(t){var e=(this.start+this.end)/2,i=e-t,o=this.start-i,n=this.end-i;this.setRange(o,n)},t.exports=o},function(t,e,i){i(20);e.onTouch=function(t,e){e.inputHandler=function(t){t.isFirst&&!o&&(e(t),o=!0,setTimeout(function(){o=!1},0))},t.on("hammer.input",e.inputHandler)};var o=!1;e.onRelease=function(t,e){return e.inputHandler=function(t){t.isFinal&&!n&&(e(t),n=!0,setTimeout(function(){n=!1},0))},t.on("hammer.input",e.inputHandler)};var n=!1;e.offTouch=function(t,e){t.off("hammer.input",e.inputHandler)},e.offRelease=e.offTouch},function(t,e){function i(t,e){this.options=null,this.props=null}i.prototype.setOptions=function(t){t&&util.extend(this.options,t)},i.prototype.redraw=function(){return!1},i.prototype.destroy=function(){},i.prototype._isResized=function(){var t=this.props._previousWidth!==this.props.width||this.props._previousHeight!==this.props.height;return this.props._previousWidth=this.props.width,this.props._previousHeight=this.props.height,t},t.exports=i},function(t,e){e.convertHiddenOptions=function(t,i,o){if(o&&!Array.isArray(o))return e.convertHiddenOptions(t,i,[o]);if(i.hiddenDates=[],o&&1==Array.isArray(o)){for(var 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(;p>d;)switch(i.hiddenDates.push({start:d.valueOf(),end:l.valueOf()}),o[h].repeat){case"daily":d.add(1,"days"),l.add(1,"days");break;case"weekly":d.add(1,"weeks"),l.add(1,"weeks");break;case"monthly":d.add(1,"months"),l.add(1,"months");break;case"yearly":d.add(1,"y"),l.add(1,"y");break;default:return void console.log("Wrong repeat format, allowed are: daily, weekly, monthly, yearly. Given:",o[h].repeat)}i.hiddenDates.push({start:d.valueOf(),end:l.valueOf()})}}e.removeDuplicates(i);var v=e.isHidden(i.range.start,i.hiddenDates),g=e.isHidden(i.range.end,i.hiddenDates),y=i.range.start,b=i.range.end;1==v.hidden&&(y=1==i.range.startToFront?v.startDate-1:v.endDate+1),1==g.hidden&&(b=1==i.range.endToFront?g.startDate-1:g.endDate+1),(1==v.hidden||1==g.hidden)&&i.range._applyRange(y,b)}},e.removeDuplicates=function(t){for(var e=t.hiddenDates,i=[],o=0;o=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(var o=0;o=r&&a>n){o=!0;break}}if(1==o&&n=e&&i>r&&(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?0>o?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&&n>t)return{hidden:!0,startDate:o,endDate:n}}return{hidden:!1,startDate:o,endDate:n}}},function(t,e,i){function o(){}var n=i(12),s=i(20),r=i(24),a=i(1),h=(i(8),i(10),i(23),i(28),i(38)),d=i(39),l=i(26),u=i(41);n(o.prototype),o.prototype._create=function(t){function e(t){i.isActive()&&i.emit("mousewheel",t)}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.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.root.appendChild(this.dom.background),this.dom.root.appendChild(this.dom.backgroundVertical),this.dom.root.appendChild(this.dom.backgroundHorizontal),this.dom.root.appendChild(this.dom.centerContainer),this.dom.root.appendChild(this.dom.leftContainer),this.dom.root.appendChild(this.dom.rightContainer),this.dom.root.appendChild(this.dom.top),this.dom.root.appendChild(this.dom.bottom),this.dom.centerContainer.appendChild(this.dom.center),this.dom.leftContainer.appendChild(this.dom.left),this.dom.rightContainer.appendChild(this.dom.right),this.dom.centerContainer.appendChild(this.dom.shadowTop),this.dom.centerContainer.appendChild(this.dom.shadowBottom),this.dom.leftContainer.appendChild(this.dom.shadowTopLeft),this.dom.leftContainer.appendChild(this.dom.shadowBottomLeft),this.dom.rightContainer.appendChild(this.dom.shadowTopRight),this.dom.rightContainer.appendChild(this.dom.shadowBottomRight),this.on("rangechange",function(){this._redraw()}.bind(this)),this.on("touch",this._onTouch.bind(this)),this.on("pan",this._onDrag.bind(this));var i=this;this.on("change",function(t){t&&1==t.queue?i._redrawTimer||(i._redrawTimer=setTimeout(function(){i._redrawTimer=null,i._redraw()},0)):i._redraw()}),this.hammer=new s(this.dom.root),this.hammer.get("pinch").set({enable:!0}),this.hammer.get("pan").set({threshold:5,direction:30}),this.listeners={};var o=["tap","doubletap","press","pinch","pan","panstart","panmove","panend"];if(o.forEach(function(t){var e=function(e){i.isActive()&&i.emit(t,e)};i.hammer.on(t,e),i.listeners[t]=e}),r.onTouch(this.hammer,function(t){i.emit("touch",t)}.bind(this)),r.onRelease(this.hammer,function(t){i.emit("release",t)}.bind(this)),this.dom.root.addEventListener("mousewheel",e),this.dom.root.addEventListener("DOMMouseScroll",e),this.props={root:{},background:{},centerContainer:{},leftContainer:{},rightContainer:{},center:{},left:{},right:{},top:{},bottom:{},border:{},scrollTop:0,scrollTopMin:0},this.customTimes=[],this.touch={},this.redrawCount=0,!t)throw new Error("No container provided");t.appendChild(this.dom.root)},o.prototype.setOptions=function(t){if(t){var e=["width","height","minHeight","maxHeight","autoResize","start","end","clickToUse","dataAttributes","hiddenDates","locale","locales","moment","throttleRedraw"];if(a.selectiveExtend(e,this.options,t),"orientation"in t&&("string"==typeof t.orientation?this.options.orientation={item:t.orientation,axis:t.orientation}:"object"==typeof 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 h(this.body);i.setOptions=function(t){var e=t?a.extend({},t):{};e.orientation="top",h.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&&l.convertHiddenOptions(this.options.moment,this.body,this.options.hiddenDates),"clickToUse"in t&&(t.clickToUse?this.activator||(this.activator=new d(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=a.deepExtend({},this.options);this.components.forEach(function(t){a.deepExtend(n,t.options)}),this.configurator.setModuleOptions({global:n})}this._origRedraw||(this._origRedraw=this._redraw.bind(this)),this._redraw=a.throttle(this._origRedraw,this.options.throttleRedraw),this._redraw()},o.prototype.isActive=function(){return!this.activator||this.activator.active},o.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},o.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 "+JSON.stringify(e));i.length>0&&i[0].setCustomTime(t)},o.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 "+JSON.stringify(t));return e[0].getCustomTime()},o.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 "+JSON.stringify(e));return i.length>0?i[0].setCustomTitle(t):void 0},o.prototype.getEventProperties=function(t){return{event:t}},o.prototype.addCustomTime=function(t,e){var i=void 0!==t?a.convert(t,"Date").valueOf():new Date,o=this.customTimes.some(function(t){return t.options.id===e});if(o)throw new Error("A custom time with id "+JSON.stringify(e)+" already exists");var n=new u(this.body,a.extend({},this.options,{time:i,id:e}));return this.customTimes.push(n),this.components.push(n),this._redraw(),e},o.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 "+JSON.stringify(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))},o.prototype.getVisibleItems=function(){return this.itemSet&&this.itemSet.getVisibleItems()||[]},o.prototype.fit=function(t){var e=this.getDataRange();if(null!==e.min||null!==e.max){var i=e.max-e.min,o=new Date(e.min.valueOf()-.01*i),n=new Date(e.max.valueOf()+.01*i),s=t&&void 0!==t.animation?t.animation:!0;this.range.setRange(o,n,s)}},o.prototype.getDataRange=function(){throw new Error("Cannot invoke abstract method getDataRange")},o.prototype.setWindow=function(t,e,i){var o;if(1==arguments.length){var n=arguments[0];o=void 0!==n.animation?n.animation:!0,this.range.setRange(n.start,n.end,o)}else o=i&&void 0!==i.animation?i.animation:!0,this.range.setRange(t,e,o)},o.prototype.moveTo=function(t,e){var i=this.range.end-this.range.start,o=a.convert(t,"Date").valueOf(),n=o-i/2,s=o+i/2,r=e&&void 0!==e.animation?e.animation:!0;this.range.setRange(n,s,r)},o.prototype.getWindow=function(){var t=this.range.getRange();return{start:new Date(t.start),end:new Date(t.end)}},o.prototype.redraw=function(){this._redraw()},o.prototype._redraw=function(){var t=!1,e=this.options,i=this.props,o=this.dom;if(o){l.updateHiddenDates(this.options.moment,this.body,this.options.hiddenDates),"top"==e.orientation?(a.addClassName(o.root,"vis-top"),a.removeClassName(o.root,"vis-bottom")):(a.removeClassName(o.root,"vis-top"),a.addClassName(o.root,"vis-bottom")),o.root.style.maxHeight=a.option.asSize(e.maxHeight,""),o.root.style.minHeight=a.option.asSize(e.minHeight,""),o.root.style.width=a.option.asSize(e.width,""),i.border.left=(o.centerContainer.offsetWidth-o.centerContainer.clientWidth)/2,i.border.right=i.border.left,i.border.top=(o.centerContainer.offsetHeight-o.centerContainer.clientHeight)/2,i.border.bottom=i.border.top;var n=o.root.offsetHeight-o.root.clientHeight,s=o.root.offsetWidth-o.root.clientWidth;0===o.centerContainer.clientHeight&&(i.border.left=i.border.top,i.border.right=i.border.left),0===o.root.clientHeight&&(s=n),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 r=Math.max(i.left.height,i.center.height,i.right.height),h=i.top.height+r+i.bottom.height+n+i.border.top+i.border.bottom;o.root.style.height=a.option.asSize(e.height,h+"px"),i.root.height=o.root.offsetHeight,i.background.height=i.root.height-n;var d=i.root.height-i.top.height-i.bottom.height-n;i.centerContainer.height=d,i.leftContainer.height=d,i.rightContainer.height=i.leftContainer.height,i.root.width=o.root.offsetWidth,i.background.width=i.root.width-s,i.left.width=o.leftContainer.clientWidth||-i.border.left,i.leftContainer.width=i.left.width,i.right.width=o.rightContainer.clientWidth||-i.border.right,i.rightContainer.width=i.right.width;var u=i.root.width-i.left.width-i.right.width-s;i.center.width=u,i.centerContainer.width=u,i.top.width=u,i.bottom.width=u,o.background.style.height=i.background.height+"px",o.backgroundVertical.style.height=i.background.height+"px",o.backgroundHorizontal.style.height=i.centerContainer.height+"px",o.centerContainer.style.height=i.centerContainer.height+"px",o.leftContainer.style.height=i.leftContainer.height+"px",o.rightContainer.style.height=i.rightContainer.height+"px",o.background.style.width=i.background.width+"px",o.backgroundVertical.style.width=i.centerContainer.width+"px",o.backgroundHorizontal.style.width=i.background.width+"px",o.centerContainer.style.width=i.center.width+"px",o.top.style.width=i.top.width+"px",o.bottom.style.width=i.bottom.width+"px",o.background.style.left="0",o.background.style.top="0",o.backgroundVertical.style.left=i.left.width+i.border.left+"px",o.backgroundVertical.style.top="0",o.backgroundHorizontal.style.left="0",o.backgroundHorizontal.style.top=i.top.height+"px",o.centerContainer.style.left=i.left.width+"px",o.centerContainer.style.top=i.top.height+"px",o.leftContainer.style.left="0",o.leftContainer.style.top=i.top.height+"px",o.rightContainer.style.left=i.left.width+i.center.width+"px",o.rightContainer.style.top=i.top.height+"px",o.top.style.left=i.left.width+"px",o.top.style.top="0",o.bottom.style.left=i.left.width+"px",o.bottom.style.top=i.top.height+i.centerContainer.height+"px",this._updateScrollTop();var c=this.props.scrollTop;"top"!=e.orientation.item&&(c+=Math.max(this.props.centerContainer.height-this.props.center.height-this.props.border.top-this.props.border.bottom,0)),o.center.style.left="0",o.center.style.top=c+"px",o.left.style.left="0",o.left.style.top=c+"px",o.right.style.left="0",o.right.style.top=c+"px";var p=0==this.props.scrollTop?"hidden":"",f=this.props.scrollTop==this.props.scrollTopMin?"hidden":"";if(o.shadowTop.style.visibility=p,o.shadowBottom.style.visibility=f,o.shadowTopLeft.style.visibility=p,o.shadowBottomLeft.style.visibility=f,o.shadowTopRight.style.visibility=p,o.shadowBottomRight.style.visibility=f,this.components.forEach(function(e){t=e.redraw()||t}),t){var m=3;this.redrawCount0&&(this.props.scrollTop=0),this.props.scrollTope;e++)o=this.selection[e],n=this.items[o],n&&n.unselect();for(this.selection=[],e=0,i=t.length;i>e;e++)o=t[e],n=this.items[o],n&&(this.selection.push(o),n.select())},o.prototype.getSelection=function(){return this.selection.concat([])},o.prototype.getVisibleItems=function(){var t=this.body.range.getRange(),e=this.body.util.toScreen(t.start),i=this.body.util.toScreen(t.end),o=[];for(var n in this.groups)if(this.groups.hasOwnProperty(n))for(var s=this.groups[n],r=s.visibleItems,a=0;ae&&o.push(h.id)}return o},o.prototype._deselect=function(t){for(var e=this.selection,i=0,o=e.length;o>i;i++)if(e[i]==t){e.splice(i,1);break}},o.prototype.redraw=function(){var t=this.options.margin,e=this.body.range,i=s.option.asSize,o=this.options,n=o.orientation.item,r=!1,a=this.dom.frame;this.props.top=this.body.domProps.top.height+this.body.domProps.border.top,this.props.left=this.body.domProps.left.width+this.body.domProps.border.left,a.className="vis-itemset",r=this._orderGroups()||r;var h=e.end-e.start,d=h!=this.lastVisibleInterval||this.props.width!=this.props.lastWidth;d&&(this.stackDirty=!0),this.lastVisibleInterval=h,this.props.lastWidth=this.props.width;var l=this.stackDirty,u=this._firstGroup(),c={item:t.item,axis:t.axis},p={item:t.item,axis:t.item.vertical/2},f=0,m=t.axis+t.item.vertical;return this.groups[g].redraw(e,p,l),s.forEach(this.groups,function(t){var i=t==u?c:p,o=t.redraw(e,i,l);r=o||r,f+=t.height}),f=Math.max(f,m),this.stackDirty=!1,a.style.height=i(f),this.props.width=a.offsetWidth,this.props.height=f,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.dom.axis.style.left="0",r=this._isResized()||r},o.prototype._firstGroup=function(){var t="top"==this.options.orientation.item?0:this.groupIds.length-1,e=this.groupIds[t],i=this.groups[e]||this.groups[v];return i||null},o.prototype._updateUngrouped=function(){var t,e,i=this.groups[v];this.groups[g];if(this.groupsData){if(i){i.hide(),delete this.groups[v];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){var s=null,r=null;i=new l(s,r,this),this.groups[v]=i;for(e in this.items)this.items.hasOwnProperty(e)&&(t=this.items[e],i.add(t));i.show()}},o.prototype.getLabelSet=function(){return this.dom.labelSet},o.prototype.setItems=function(t){var e,i=this,o=this.itemsData;if(t){if(!(t instanceof r||t instanceof a))throw new TypeError("Data must be an instance of DataSet or DataView");this.itemsData=t}else this.itemsData=null;if(o&&(s.forEach(this.itemListeners,function(t,e){o.off(e,t)}),e=o.getIds(),this._onRemove(e)),this.itemsData){var n=this.id;s.forEach(this.itemListeners,function(t,e){i.itemsData.on(e,t,n)}),e=this.itemsData.getIds(),this._onAdd(e),this._updateUngrouped()}},o.prototype.getItems=function(){return this.itemsData},o.prototype.setGroups=function(t){var e,i=this;if(this.groupsData&&(s.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 r||t instanceof a))throw new TypeError("Data must be an instance of DataSet or DataView");this.groupsData=t}else this.groupsData=null;if(this.groupsData){var o=this.id;s.forEach(this.groupListeners,function(t,e){i.groupsData.on(e,t,o)}),e=this.groupsData.getIds(),this._onAddGroups(e)}this._updateUngrouped(),this._order(),this.body.emitter.emit("change",{queue:!0})},o.prototype.getGroups=function(){return this.groupsData},o.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)})},o.prototype._getType=function(t){return t.type||this.options.type||(t.end?"range":"box")},o.prototype._getGroupId=function(t){var e=this._getType(t);return"background"==e&&void 0==t.group?g:this.groupsData?t.group:v},o.prototype._onUpdate=function(t){var e=this;t.forEach(function(t){var i,n=e.itemsData.get(t,e.itemOptions),s=e.items[t],r=e._getType(n),a=o.types[r];if(s&&(a&&s instanceof a?e._updateItem(s,n):(i=s.selected,e._removeItem(s),s=null)),!s){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(n,e.conversion,e.options),s.id=t,e._addItem(s),i&&(this.selection.push(t),s.select())}}.bind(this)),this._order(),this.stackDirty=!0,this.body.emitter.emit("change",{queue:!0})},o.prototype._onAdd=o.prototype._onUpdate,o.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.stackDirty=!0,this.body.emitter.emit("change",{queue:!0}))},o.prototype._order=function(){s.forEach(this.groups,function(t){t.order()})},o.prototype._onUpdateGroups=function(t){this._onAddGroups(t)},o.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==v||t==g)throw new Error("Illegal group id. "+t+" is a reserved id.");var n=Object.create(e.options);s.extend(n,{height:null}),o=new l(t,i,e),e.groups[t]=o;for(var r in e.items)if(e.items.hasOwnProperty(r)){var a=e.items[r];a.data.group==t&&o.add(a)}o.order(),o.show()}}),this.body.emitter.emit("change",{queue:!0})},o.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})},o.prototype._orderGroups=function(){if(this.groupsData){var t=this.groupsData.getIds({order:this.options.groupOrder}),e=!s.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},o.prototype._addItem=function(t){this.items[t.id]=t;var e=this._getGroupId(t.data),i=this.groups[e];i&&i.add(t)},o.prototype._updateItem=function(t,e){var i=t.data.group,o=t.data.subgroup;if(t.setData(e),i!=t.data.group||o!=t.data.subgroup){var n=this.groups[i];n&&n.remove(t);var s=this._getGroupId(t.data),r=this.groups[s];r&&r.add(t)}},o.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)},o.prototype._constructByEndArray=function(t){for(var e=[],i=0;in+r)return; +}else{var a=e.height;if(n+a-r>o)return}}if(e&&e!=this.groupTouchParams.group){var h=this.groupsData,d=h.get(e.groupId),l=h.get(this.groupTouchParams.group.groupId);l&&d&&(this.options.groupOrderSwap(l,d,this.groupsData),this.groupsData.update(l),this.groupsData.update(d));var u=this.groupsData.getIds({order:this.options.groupOrder});if(!s.equalArray(u,this.groupTouchParams.originalOrder))for(var h=this.groupsData,c=this.groupTouchParams.originalOrder,p=this.groupTouchParams.group.groupId,f=Math.min(c.length,u.length),m=0,v=0,g=0;f>m;){for(;f>m+v&&f>m+g&&u[m+v]==c[m+g];)m++;if(m+v>=f)break;if(u[m+v]!=p)if(c[m+g]!=p){var y=u.indexOf(c[m+g]),b=h.get(u[m+v]),w=h.get(c[m+g]);this.options.groupOrderSwap(b,w,h),h.update(b),h.update(w);var _=u[m+v];u[m+v]=c[m+g],u[y]=_,m++}else g=1;else v=1}}}},o.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=s.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(!s.equalArray(n,e.groupTouchParams.originalOrder))for(var r=e.groupTouchParams.originalOrder,a=Math.min(r.length,n.length),h=0;a>h;){for(;a>h&&n[h]==r[h];)h++;if(h>=a)break;var d=n.indexOf(r[h]),l=o.get(n[h]),u=o.get(r[h]);e.options.groupOrderSwap(l,u,o),groupsData.update(l),groupsData.update(u);var c=n[h];n[h]=r[h],n[d]=c,h++}}}),e.body.emitter.emit("groupDragged",{groupId:i})}},o.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})}},o.prototype._onAddItem=function(t){if(this.options.selectable&&this.options.editable.add){var e=this,i=this.options.snap||null,o=this.itemFromTarget(t);if(o){var n=e.itemsData.get(o.id);this.options.onUpdate(n,function(t){t&&e.itemsData.getDataSet().update(t)})}else{var r=s.getAbsoluteLeft(this.dom.frame),a=t.center.x-r,h=this.body.util.toTime(a),d=this.body.util.getScale(),l=this.body.util.getStep(),u={start:i?i(h,d,l):h,content:"new item"};if("range"===this.options.type){var c=this.body.util.toTime(a+this.props.width/5);u.end=i?i(c,d,l):c}u[this.itemsData._fieldId]=s.randomUUID();var p=this.groupFromTarget(t);p&&(u.group=p.groupId),u=this._cloneItemData(u),this.options.onAdd(u,function(t){t&&e.itemsData.getDataSet().add(t)})}}},o.prototype._onMultiSelectItem=function(t){if(this.options.selectable){var e=this.itemFromTarget(t);if(e){var i=this.options.multiselect?this.getSelection():[],n=t.srcEvent&&t.srcEvent.shiftKey||!1;if(n&&this.options.multiselect){var s=this.itemsData.get(e.id).group,r=void 0;this.options.multiselectPerGroup&&i.length>0&&(r=this.itemsData.get(i[0]).group),this.options.multiselectPerGroup&&void 0!=r&&r!=s||i.push(e.id);var a=o._getItemRange(this.itemsData.get(i,this.itemOptions));if(!this.options.multiselectPerGroup||r==s){i=[];for(var h in this.items)if(this.items.hasOwnProperty(h)){var d=this.items[h],l=d.data.start,u=void 0!==d.data.end?d.data.end:l;!(l>=a.min&&u<=a.max)||this.options.multiselectPerGroup&&r!=this.itemsData.get(d.id).group||d instanceof m||i.push(d.id)}}}else{var c=i.indexOf(e.id);-1==c?i.push(e.id):i.splice(c,1)}this.setSelection(i),this.body.emitter.emit("select",{items:this.getSelection(),event:t})}}},o._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}},o.prototype.itemFromTarget=function(t){for(var e=t.target;e;){if(e.hasOwnProperty("timeline-item"))return e["timeline-item"];e=e.parentNode}return null},o.prototype.groupFromTarget=function(t){for(var e=t.center?t.center.y:t.clientY,i=0;ia&&ea)return n}else if(0===i&&e0?t.step:1,this.autoScale=!1)},o.prototype.setAutoScale=function(t){this.autoScale=t},o.prototype.setMinimumStep=function(t){if(void 0!=t){var e=31104e6,i=2592e6,o=864e5,n=36e5,s=6e4,r=1e3,a=1;1e3*e>t&&(this.scale="year",this.step=1e3),500*e>t&&(this.scale="year",this.step=500),100*e>t&&(this.scale="year",this.step=100),50*e>t&&(this.scale="year",this.step=50),10*e>t&&(this.scale="year",this.step=10),5*e>t&&(this.scale="year",this.step=5),e>t&&(this.scale="year",this.step=1),3*i>t&&(this.scale="month",this.step=3),i>t&&(this.scale="month",this.step=1),5*o>t&&(this.scale="day",this.step=5),2*o>t&&(this.scale="day",this.step=2),o>t&&(this.scale="day",this.step=1),o/2>t&&(this.scale="weekday",this.step=1),4*n>t&&(this.scale="hour",this.step=4),n>t&&(this.scale="hour",this.step=1),15*s>t&&(this.scale="minute",this.step=15),10*s>t&&(this.scale="minute",this.step=10),5*s>t&&(this.scale="minute",this.step=5),s>t&&(this.scale="minute",this.step=1),15*r>t&&(this.scale="second",this.step=15),10*r>t&&(this.scale="second",this.step=10),5*r>t&&(this.scale="second",this.step=5),r>t&&(this.scale="second",this.step=1),200*a>t&&(this.scale="millisecond",this.step=200),100*a>t&&(this.scale="millisecond",this.step=100),50*a>t&&(this.scale="millisecond",this.step=50),10*a>t&&(this.scale="millisecond",this.step=10),5*a>t&&(this.scale="millisecond",this.step=5),a>t&&(this.scale="millisecond",this.step=1)}},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("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.switchedYear=!1,this.scale){case"year":case"month":case"weekday":case"day":case"hour":case"minute":case"second":case"millisecond":return!0;default:return!1}else if(1==this.switchedMonth)switch(this.switchedMonth=!1,this.scale){case"weekday":case"day":case"hour":case"minute":case"second":case"millisecond":return!0;default:return!1}else if(1==this.switchedDay)switch(this.switchedDay=!1,this.scale){case"millisecond":case"second":case"minute":case"hour":return!0;default:return!1}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":return 1==t.date();case"month":return 0==t.month();case"year":return!1;default:return!1}},o.prototype.getLabelMinor=function(t){void 0==t&&(t=this.current);var e=this.format.minorLabels[this.scale];return e&&e.length>0?this.moment(t).format(e):""},o.prototype.getLabelMajor=function(t){void 0==t&&(t=this.current);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/h%2==0?" vis-even":" vis-odd"}function e(t){return t.isSame(new Date,"day")?" vis-today":t.isSame(s().add(1,"day"),"day")?" vis-tomorrow":t.isSame(s().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":""}function n(t){return t.isSame(new Date,"year")?" vis-current-year":""}var s=this.moment,r=this.moment(this.current),a=r.locale?r.locale("en"):r.lang("en"),h=this.step;switch(this.scale){case"millisecond":return t(a.milliseconds()).trim();case"second":return t(a.seconds()).trim();case"minute":return t(a.minutes()).trim();case"hour":var d=a.hours();return 4==this.step&&(d=d+"-h"+(d+4)),"vis-h"+d+e(a)+t(a.hours());case"weekday":return"vis-"+a.format("dddd").toLowerCase()+e(a)+i(a)+t(a.date());case"day":var l=a.date(),u=a.format("MMMM").toLowerCase();return"vis-day"+l+" vis-"+u+o(a)+t(l-1);case"month":return"vis-"+a.format("MMMM").toLowerCase()+o(a)+t(a.month());case"year":var c=a.year();return"vis-year"+c+n(a)+t(c);default:return""}},t.exports=o},function(t,e,i){function o(t,e,i){this.groupId=t,this.subgroups={},this.subgroupIndex=0,this.subgroupOrderer=e&&e.subgroupOrder,this.itemSet=i,this.dom={},this.props={label:{width:0,height:0}},this.className=null,this.items={},this.visibleItems=[],this.orderedItems={byStart:[],byEnd:[]},this.checkRangedItems=!1;var o=this;this.itemSet.body.emitter.on("checkRangedItems",function(){o.checkRangedItems=!0}),this._create(),this.setData(e)}var n=i(1),s=i(31);i(32);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.innerHTML="?",this.dom.background.appendChild(this.dom.marker)},o.prototype.setData=function(t){var e;if(e=this.itemSet.options&&this.itemSet.options.groupTemplate?this.itemSet.options.groupTemplate(t):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 void 0!==e&&null!==e?this.dom.inner.innerHTML=e:this.dom.inner.innerHTML=this.groupId||"";this.dom.label.title=t&&t.title||"",this.dom.inner.firstChild?n.removeClassName(this.dom.inner,"vis-hidden"):n.addClassName(this.dom.inner,"vis-hidden");var i=t&&t.className||null;i!=this.className&&(this.className&&(n.removeClassName(this.dom.label,this.className),n.removeClassName(this.dom.foreground,this.className),n.removeClassName(this.dom.background,this.className),n.removeClassName(this.dom.axis,this.className)),n.addClassName(this.dom.label,i),n.addClassName(this.dom.foreground,i),n.addClassName(this.dom.background,i),n.addClassName(this.dom.axis,i),this.className=i),this.style&&(n.removeCssText(this.dom.label,this.style),this.style=null),t&&t.style&&(n.addCssText(this.dom.label,t.style),this.style=t.style)},o.prototype.getLabelWidth=function(){return this.props.label.width},o.prototype.redraw=function(t,e,i){var o=!1,r=this.dom.marker.clientHeight;if(r!=this.lastMarkerHeight&&(this.lastMarkerHeight=r,n.forEach(this.items,function(t){t.dirty=!0,t.displayed&&t.redraw()}),i=!0),this._calculateSubGroupHeights(),"function"==typeof this.itemSet.options.order){if(i){var a=this,h=!1;n.forEach(this.items,function(t){t.displayed||(t.redraw(),a.visibleItems.push(t)),t.repositionX(h)});var d=this.orderedItems.byStart.slice().sort(function(t,e){return a.itemSet.options.order(t.data,e.data)});s.stack(d,e,!0)}this.visibleItems=this._updateVisibleItems(this.orderedItems,this.visibleItems,t)}else this.visibleItems=this._updateVisibleItems(this.orderedItems,this.visibleItems,t),this.itemSet.options.stack?s.stack(this.visibleItems,e,i):s.nostack(this.visibleItems,e,this.subgroups);var l=this._calculateHeight(e),u=this.dom.foreground;this.top=u.offsetTop,this.left=u.offsetLeft,this.width=u.offsetWidth,o=n.updateProperty(this,"height",l)||o,o=n.updateProperty(this.props.label,"width",this.dom.inner.clientWidth)||o,o=n.updateProperty(this.props.label,"height",this.dom.inner.clientHeight)||o,this.dom.background.style.height=l+"px",this.dom.foreground.style.height=l+"px",this.dom.label.style.height=l+"px";for(var c=0,p=this.visibleItems.length;p>c;c++){var f=this.visibleItems[c];f.repositionY(e)}return o},o.prototype._calculateSubGroupHeights=function(){if(Object.keys(this.subgroups).length>0){var t=this;this.resetSubgroups(),n.forEach(this.visibleItems,function(e){void 0!==e.data.subgroup&&(t.subgroups[e.data.subgroup].height=Math.max(t.subgroups[e.data.subgroup].height,e.height),t.subgroups[e.data.subgroup].visible=!0)})}},o.prototype._calculateHeight=function(t){var e,i=this.visibleItems;if(i.length>0){var o=i[0].top,s=i[0].top+i[0].height;if(n.forEach(i,function(t){o=Math.min(o,t.top),s=Math.max(s,t.top+t.height)}),o>t.axis){var r=o-t.axis;s-=r,n.forEach(i,function(t){t.top-=r})}e=s+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),void 0!==t.data.subgroup&&(void 0===this.subgroups[t.data.subgroup]&&(this.subgroups[t.data.subgroup]={height:0,visible:!1,index:this.subgroupIndex,items:[]},this.subgroupIndex++),this.subgroups[t.data.subgroup].items.push(t)),this.orderSubgroups(),-1==this.visibleItems.indexOf(t)){var e=this.itemSet.body.range;this._checkIfVisible(t,this.visibleItems,e)}},o.prototype.orderSubgroups=function(){if(void 0!==this.subgroupOrderer){var t=[];if("string"==typeof this.subgroupOrderer){for(var e in this.subgroups)t.push({subgroup:e,sortField:this.subgroups[e].items[0].data[this.subgroupOrderer]});t.sort(function(t,e){return t.sortField-e.sortField})}else if("function"==typeof this.subgroupOrderer){for(var e in this.subgroups)t.push(this.subgroups[e].items[0].data);t.sort(this.subgroupOrderer)}if(t.length>0)for(var i=0;it?-1:l>=t?0:1};if(e.length>0)for(s=0;sl}),1==this.checkRangedItems)for(this.checkRangedItems=!1,s=0;sl})}for(s=0;s=0&&(s=e[r],!n(s));r--)void 0===o[s.id]&&(o[s.id]=!0,i.push(s));for(r=t+1;rn;n++)t[n].top=null;for(n=0,s=t.length;s>n;n++){var r=t[n];if(r.stack&&null===r.top){r.top=i.axis;do{for(var a=null,h=0,d=t.length;d>h;h++){var l=t[h];if(null!==l.top&&l!==r&&l.stack&&e.collision(r,l,i.item)){a=l;break}}null!=a&&(r.top=a.top+a.height+i.item.vertical)}while(a)}}},e.nostack=function(t,e,i){var o,n,s;for(o=0,n=t.length;n>o;o++)if(void 0!==t[o].data.subgroup){s=e.axis;for(var r in i)i.hasOwnProperty(r)&&1==i[r].visible&&i[r].indexe.left&&t.top-o.vertical+ie.top}},function(t,e,i){function o(t,e,i){if(this.props={content:{width:0}},this.overflow=!1,t){if(void 0==t.start)throw new Error('Property "start" missing in item '+t.id);if(void 0==t.end)throw new Error('Property "end" missing in item '+t.id)}n.call(this,t,e,i)}var n=(i(20),i(33));o.prototype=new n(null,null,null),o.prototype.baseClassName="vis-item vis-range",o.prototype.isVisible=function(t){return this.data.startt.start},o.prototype.redraw=function(){var t=this.dom;if(t||(this.dom={},t=this.dom,t.box=document.createElement("div"),t.frame=document.createElement("div"),t.frame.className="vis-item-overflow",t.box.appendChild(t.frame),t.content=document.createElement("div"),t.content.className="vis-item-content",t.frame.appendChild(t.content),t.box["timeline-item"]=this,this.dirty=!0),!this.parent)throw new Error("Cannot redraw item: no parent attached");if(!t.box.parentNode){var e=this.parent.dom.foreground;if(!e)throw new Error("Cannot redraw item: parent has no foreground container element");e.appendChild(t.box)}if(this.displayed=!0,this.dirty){this._updateContents(this.dom.content),this._updateTitle(this.dom.box),this._updateDataAttributes(this.dom.box),this._updateStyle(this.dom.box);var i=(this.options.editable.updateTime||this.options.editable.updateGroup||this.editable===!0)&&this.editable!==!1,o=(this.data.className?" "+this.data.className:"")+(this.selected?" vis-selected":"")+(i?" vis-editable":" vis-readonly");t.box.className=this.baseClassName+o,this.overflow="hidden"!==window.getComputedStyle(t.frame).overflow,this.dom.content.style.maxWidth="none",this.props.content.width=this.dom.content.offsetWidth,this.height=this.dom.box.offsetHeight,this.dom.content.style.maxWidth="",this.dirty=!1}this._repaintDeleteButton(t.box),this._repaintDragLeft(),this._repaintDragRight()},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);(void 0===t||t===!0)&&(-o>n&&(n=-o),s>2*o&&(s=2*o));var r=Math.max(s-n,1);switch(this.overflow?(this.left=n,this.width=r+this.props.content.width,i=this.props.content.width):(this.left=n,this.width=r,i=Math.min(s-n,this.props.content.width)),this.dom.box.style.left=this.left+"px",this.dom.box.style.width=r+"px",this.options.align){case"left":this.dom.content.style.left="0";break;case"right":this.dom.content.style.left=Math.max(r-i,0)+"px";break;case"center":this.dom.content.style.left=Math.max((r-i)/2,0)+"px";break;default:e=this.overflow?s>0?Math.max(-n,0):-i:0>n?-n:0,this.dom.content.style.left=e+"px"}},o.prototype.repositionY=function(){var t=this.options.orientation.item,e=this.dom.box;"top"==t?e.style.top=this.top+"px":e.style.top=this.parent.height-this.top-this.height+"px"},o.prototype._repaintDragLeft=function(){if(this.selected&&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.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.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.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,i){this.id=null,this.parent=null,this.data=t,this.dom=null,this.conversion=e||{},this.options=i||{},this.selected=!1,this.displayed=!1,this.dirty=!0,this.top=null,this.left=null,this.width=null,this.height=null,this.editable=null,this.data&&this.data.hasOwnProperty("editable")&&"boolean"==typeof this.data.editable&&(this.editable=t.editable)}var n=i(20),s=i(1);o.prototype.stack=!0,o.prototype.select=function(){this.selected=!0,this.dirty=!0,this.displayed&&this.redraw()},o.prototype.unselect=function(){this.selected=!1,this.dirty=!0,this.displayed&&this.redraw()},o.prototype.setData=function(t){var e=void 0!=t.group&&this.data.group!=t.group;e&&this.parent.itemSet._moveToGroup(this,t.group),t.hasOwnProperty("editable")&&"boolean"==typeof t.editable&&(this.editable=t.editable),this.data=t,this.dirty=!0,this.displayed&&this.redraw()},o.prototype.setParent=function(t){this.displayed?(this.hide(),this.parent=t,this.parent&&this.show()):this.parent=t},o.prototype.isVisible=function(t){return!1},o.prototype.show=function(){return!1},o.prototype.hide=function(){return!1},o.prototype.redraw=function(){},o.prototype.repositionX=function(){},o.prototype.repositionY=function(){},o.prototype._repaintDeleteButton=function(t){var e=(this.options.editable.remove||this.data.editable===!0)&&this.data.editable!==!1;if(this.selected&&e&&!this.dom.deleteButton){var i=this,o=document.createElement("div");o.className="vis-delete",o.title="Delete this item",new n(o).on("tap",function(t){t.stopPropagation(),i.parent.removeFromDataSet(i)}),t.appendChild(o),this.dom.deleteButton=o}else!this.selected&&this.dom.deleteButton&&(this.dom.deleteButton.parentNode&&this.dom.deleteButton.parentNode.removeChild(this.dom.deleteButton),this.dom.deleteButton=null)},o.prototype._updateContents=function(t){var e;if(this.options.template){var i=this.parent.itemSet.itemsData.get(this.id);e=this.options.template(i)}else e=this.data.content;var o=this._contentToString(this.content)!==this._contentToString(e);if(o){if(e instanceof Element)t.innerHTML="",t.appendChild(e);else if(void 0!=e)t.innerHTML=e;else if("background"!=this.data.type||void 0!==this.data.content)throw new Error('Property "content" missing in item '+this.id);this.content=e}},o.prototype._updateTitle=function(t){null!=this.data.title?t.title=this.data.title||"":t.removeAttribute("vis-title")},o.prototype._updateDataAttributes=function(t){if(this.options.dataAttributes&&this.options.dataAttributes.length>0){var e=[];if(Array.isArray(this.options.dataAttributes))e=this.options.dataAttributes;else{if("all"!=this.options.dataAttributes)return;e=Object.keys(this.data)}for(var i=0;in;n++){var r=this.visibleItems[n];r.repositionY(e)}return o},o.prototype.show=function(){this.dom.background.parentNode||this.itemSet.dom.background.appendChild(this.dom.background)},t.exports=o},function(t,e,i){function o(t,e,i){if(this.props={dot:{width:0,height:0},line:{width:0,height:0}},t&&void 0==t.start)throw new Error('Property "start" missing in item '+t);n.call(this,t,e,i)}var n=i(33);i(1);o.prototype=new n(null,null,null),o.prototype.isVisible=function(t){var e=(t.end-t.start)/4;return this.data.start>t.start-e&&this.data.startt.start-e&&this.data.startt.start},o.prototype.redraw=function(){var t=this.dom;if(t||(this.dom={},t=this.dom,t.box=document.createElement("div"),t.frame=document.createElement("div"),t.frame.className="vis-item-overflow",t.box.appendChild(t.frame),t.content=document.createElement("div"),t.content.className="vis-item-content",t.frame.appendChild(t.content),this.dirty=!0),!this.parent)throw new Error("Cannot redraw item: no parent attached");if(!t.box.parentNode){var e=this.parent.dom.background;if(!e)throw new Error("Cannot redraw item: parent has no background container element");e.appendChild(t.box)}if(this.displayed=!0,this.dirty){this._updateContents(this.dom.content),this._updateTitle(this.dom.content),this._updateDataAttributes(this.dom.content),this._updateStyle(this.dom.box);var i=(this.data.className?" "+this.data.className:"")+(this.selected?" vis-selected":"");t.box.className=this.baseClassName+i,this.overflow="hidden"!==window.getComputedStyle(t.content).overflow,this.props.content.width=this.dom.content.offsetWidth,this.height=0,this.dirty=!1}},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="top"===this.options.orientation.item;this.dom.content.style.top=e?"":"0",this.dom.content.style.bottom=e?"0":"";var i;if(void 0!==this.data.subgroup){var o=this.data.subgroup,n=this.parent.subgroups,r=n[o].index;if(1==e){i=this.parent.subgroups[o].height+t.item.vertical,i+=0==r?t.axis-.5*t.item.vertical:0;var a=this.parent.top;for(var h in n)n.hasOwnProperty(h)&&1==n[h].visible&&n[h].indexr&&(a+=l)}i=this.parent.subgroups[o].height+t.item.vertical,this.dom.box.style.top=this.parent.height-d+a+"px",this.dom.box.style.bottom=""}}else this.parent instanceof s?(i=Math.max(this.parent.height,this.parent.itemSet.body.domProps.center.height,this.parent.itemSet.body.domProps.centerContainer.height),this.dom.box.style.top=e?"0":"",this.dom.box.style.bottom=e?"":"0"):(i=this.parent.height,this.dom.box.style.top=this.parent.top+"px",this.dom.box.style.bottom="");this.dom.box.style.height=i+"px"},t.exports=o},function(t,e,i){function o(t,e){this.dom={foreground:null,lines:[],majorTexts:[],minorTexts:[],redundant:{lines:[],majorTexts:[],minorTexts:[]}},this.props={range:{start:0,end:0,minimumStep:0},lineTop:0},this.defaultOptions={orientation:{axis:"bottom"},showMinorLabels:!0,showMajorLabels:!0,maxMinorChars:7,format:r.FORMAT,moment:h,timeAxis:null},this.options=n.extend({},this.defaultOptions),this.body=t,this._create(),this.setOptions(e)}var n=i(1),s=i(25),r=i(29),a=i(26),h=i(2);o.prototype=new s,o.prototype.setOptions=function(t){t&&(n.selectiveExtend(["showMinorLabels","showMajorLabels","maxMinorChars","hiddenDates","timeAxis","moment"],this.options,t),n.selectiveDeepExtend(["format"],this.options,t),"orientation"in t&&("string"==typeof t.orientation?this.options.orientation.axis=t.orientation:"object"==typeof t.orientation&&"axis"in t.orientation&&(this.options.orientation.axis=t.orientation.axis)),"locale"in t&&("function"==typeof h.locale?h.locale(t.locale):h.lang(t.locale)))},o.prototype._create=function(){this.dom.foreground=document.createElement("div"),this.dom.background=document.createElement("div"),this.dom.foreground.className="vis-time-axis vis-foreground",this.dom.background.className="vis-time-axis vis-background"},o.prototype.destroy=function(){this.dom.foreground.parentNode&&this.dom.foreground.parentNode.removeChild(this.dom.foreground),this.dom.background.parentNode&&this.dom.background.parentNode.removeChild(this.dom.background),this.body=null},o.prototype.redraw=function(){var t=this.props,e=this.dom.foreground,i=this.dom.background,o="top"==this.options.orientation.axis?this.body.dom.top:this.body.dom.bottom,n=e.parentNode!==o;this._calculateCharSize();var s=this.options.showMinorLabels&&"none"!==this.options.orientation.axis,r=this.options.showMajorLabels&&"none"!==this.options.orientation.axis;t.minorLabelHeight=s?t.minorCharHeight:0,t.majorLabelHeight=r?t.majorCharHeight:0,t.height=t.minorLabelHeight+t.majorLabelHeight,t.width=e.offsetWidth,t.minorLineHeight=this.body.domProps.root.height-t.majorLabelHeight-("top"==this.options.orientation.axis?this.body.domProps.bottom.height:this.body.domProps.top.height),t.minorLineWidth=1,t.majorLineHeight=t.minorLineHeight+t.majorLabelHeight,t.majorLineWidth=1;var a=e.nextSibling,h=i.nextSibling;return e.parentNode&&e.parentNode.removeChild(e),i.parentNode&&i.parentNode.removeChild(i),e.style.height=this.props.height+"px",this._repaintLabels(),a?o.insertBefore(e,a):o.appendChild(e),h?this.body.dom.backgroundVertical.insertBefore(i,h):this.body.dom.backgroundVertical.appendChild(i),this._isResized()||n},o.prototype._repaintLabels=function(){var t=this.options.orientation.axis,e=n.convert(this.body.range.start,"Number"),i=n.convert(this.body.range.end,"Number"),o=this.body.util.toTime((this.props.minorCharWidth||10)*this.options.maxMinorChars).valueOf(),s=o-a.getHiddenDurationBefore(this.options.moment,this.body.hiddenDates,this.body.range,o);s-=this.body.util.toTime(0).valueOf();var h=new r(new Date(e),new Date(i),s,this.body.hiddenDates);h.setMoment(this.options.moment),this.options.format&&h.setFormat(this.options.format),this.options.timeAxis&&h.setScale(this.options.timeAxis),this.step=h;var l=this.dom;l.redundant.lines=l.lines,l.redundant.majorTexts=l.majorTexts,l.redundant.minorTexts=l.minorTexts,l.lines=[],l.majorTexts=[],l.minorTexts=[];var u,c,p,f,m,v,g,y,b,w,_=0,x=void 0,k=0,O=1e3;for(h.start(),c=h.getCurrent(),f=this.body.util.toScreen(c);h.hasNext()&&O>k;){k++,m=h.isMajor(),w=h.getClassName(),b=h.getLabelMinor(),u=c,p=f,h.next(),c=h.getCurrent(),v=h.isMajor(),f=this.body.util.toScreen(c),g=_,_=f-p;var M=_>=.4*g;if(this.options.showMinorLabels&&M){var D=this._repaintMinorText(p,b,t,w);D.style.width=_+"px"}m&&this.options.showMajorLabels?(p>0&&(void 0==x&&(x=p),D=this._repaintMajorText(p,h.getLabelMajor(),t,w)),y=this._repaintMajorLine(p,_,t,w)):M?y=this._repaintMinorLine(p,_,t,w):y&&(y.style.width=parseInt(y.style.width)+_+"px")}if(k!==O||d||(console.warn("Something is wrong with the Timeline scale. Limited drawing of grid lines to "+O+" lines."),d=!0),this.options.showMajorLabels){var C=this.body.util.toTime(0),T=h.getLabelMajor(C),E=T.length*(this.props.majorCharWidth||10)+10;(void 0==x||x>E)&&this._repaintMajorText(0,T,t,w)}n.forEach(this.dom.redundant,function(t){for(;t.length;){var e=t.pop();e&&e.parentNode&&e.parentNode.removeChild(e)}})},o.prototype._repaintMinorText=function(t,e,i,o){var n=this.dom.redundant.minorTexts.shift();if(!n){var s=document.createTextNode("");n=document.createElement("div"),n.appendChild(s),this.dom.foreground.appendChild(n)}return this.dom.minorTexts.push(n),n.childNodes[0].nodeValue=e,n.style.top="top"==i?this.props.majorLabelHeight+"px":"0",n.style.left=t+"px",n.className="vis-text vis-minor "+o,n},o.prototype._repaintMajorText=function(t,e,i,o){var n=this.dom.redundant.majorTexts.shift();if(!n){var s=document.createTextNode(e);n=document.createElement("div"),n.appendChild(s),this.dom.foreground.appendChild(n)}return this.dom.majorTexts.push(n),n.childNodes[0].nodeValue=e,n.className="vis-text vis-major "+o,n.style.top="top"==i?"0":this.props.minorLabelHeight+"px",n.style.left=t+"px",n},o.prototype._repaintMinorLine=function(t,e,i,o){var n=this.dom.redundant.lines.shift();n||(n=document.createElement("div"),this.dom.background.appendChild(n)),this.dom.lines.push(n);var s=this.props;return"top"==i?n.style.top=s.majorLabelHeight+"px":n.style.top=this.body.domProps.top.height+"px",n.style.height=s.minorLineHeight+"px",n.style.left=t-s.minorLineWidth/2+"px",n.style.width=e+"px",n.className="vis-grid vis-vertical vis-minor "+o,n},o.prototype._repaintMajorLine=function(t,e,i,o){var n=this.dom.redundant.lines.shift();n||(n=document.createElement("div"),this.dom.background.appendChild(n)),this.dom.lines.push(n);var s=this.props;return"top"==i?n.style.top="0":n.style.top=this.body.domProps.top.height+"px",n.style.left=t-s.majorLineWidth/2+"px",n.style.height=s.majorLineHeight+"px",n.style.width=e+"px",n.className="vis-grid vis-vertical vis-major "+o,n},o.prototype._calculateCharSize=function(){this.dom.measureCharMinor||(this.dom.measureCharMinor=document.createElement("DIV"),this.dom.measureCharMinor.className="vis-text vis-minor vis-measure",this.dom.measureCharMinor.style.position="absolute",this.dom.measureCharMinor.appendChild(document.createTextNode("0")),this.dom.foreground.appendChild(this.dom.measureCharMinor)),this.props.minorCharHeight=this.dom.measureCharMinor.clientHeight,this.props.minorCharWidth=this.dom.measureCharMinor.clientWidth,this.dom.measureCharMajor||(this.dom.measureCharMajor=document.createElement("DIV"),this.dom.measureCharMajor.className="vis-text vis-major vis-measure",this.dom.measureCharMajor.style.position="absolute",this.dom.measureCharMajor.appendChild(document.createTextNode("0")),this.dom.foreground.appendChild(this.dom.measureCharMajor)),this.props.majorCharHeight=this.dom.measureCharMajor.clientHeight,this.props.majorCharWidth=this.dom.measureCharMajor.clientWidth};var d=!1;t.exports=o},function(t,e,i){function o(t){this.active=!1,this.dom={container:t},this.dom.overlay=document.createElement("div"),this.dom.overlay.className="vis-overlay",this.dom.container.appendChild(this.dom.overlay),this.hammer=a(this.dom.overlay),this.hammer.on("tap",this._onTapOverlay.bind(this));var e=this,i=["tap","doubletap","press","pinch","pan","panstart","panmove","panend"];i.forEach(function(t){e.hammer.on(t,function(t){t.stopPropagation()})}),document&&document.body&&(this.onClick=function(i){n(i.target,t)||e.deactivate()},document.body.addEventListener("click",this.onClick)),void 0!==this.keycharm&&this.keycharm.destroy(),this.keycharm=s(),this.escListener=this.deactivate.bind(this)}function n(t,e){for(;t;){if(t===e)return!0;t=t.parentNode}return!1}var s=i(40),r=i(12),a=i(20),h=i(1);r(o.prototype),o.current=null,o.prototype.destroy=function(){this.deactivate(),this.dom.overlay.parentNode.removeChild(this.dom.overlay),this.onClick&&document.body.removeEventListener("click",this.onClick),this.hammer.destroy(),this.hammer=null},o.prototype.activate=function(){o.current&&o.current.deactivate(),o.current=this,this.active=!0,this.dom.overlay.style.display="none",h.addClassName(this.dom.container,"vis-active"),this.emit("change"),this.emit("activate"),this.keycharm.bind("esc",this.escListener)},o.prototype.deactivate=function(){this.active=!1,this.dom.overlay.style.display="",h.removeClassName(this.dom.container,"vis-active"),this.keycharm.unbind("esc",this.escListener),this.emit("change"),this.emit("deactivate")},o.prototype._onTapOverlay=function(t){this.activate(),t.stopPropagation()},t.exports=o},function(t,e,i){var o,n,s;!function(i,r){n=[],o=r,s="function"==typeof o?o.apply(e,n):o,!(void 0!==s&&(t.exports=s))}(this,function(){function t(t){var e,i=t&&t.preventDefault||!1,o=t&&t.container||window,n={},s={keydown:{},keyup:{}},r={};for(e=97;122>=e;e++)r[String.fromCharCode(e)]={code:65+(e-97),shift:!1};for(e=65;90>=e;e++)r[String.fromCharCode(e)]={code:e,shift:!0};for(e=0;9>=e;e++)r[""+e]={code:48+e,shift:!1};for(e=1;12>=e;e++)r["F"+e]={code:111+e,shift:!1};for(e=0;9>=e;e++)r["num"+e]={code:96+e,shift:!1};r["num*"]={code:106,shift:!1},r["num+"]={code:107,shift:!1},r["num-"]={code:109,shift:!1},r["num/"]={code:111,shift:!1},r["num."]={code:110,shift:!1},r.left={code:37,shift:!1},r.up={code:38,shift:!1},r.right={code:39,shift:!1},r.down={code:40,shift:!1},r.space={code:32,shift:!1},r.enter={code:13,shift:!1},r.shift={code:16,shift:void 0},r.esc={code:27,shift:!1},r.backspace={code:8,shift:!1},r.tab={code:9,shift:!1},r.ctrl={code:17,shift:!1},r.alt={code:18,shift:!1},r["delete"]={code:46,shift:!1},r.pageup={code:33,shift:!1},r.pagedown={code:34,shift:!1},r["="]={code:187,shift:!1},r["-"]={code:189,shift:!1},r["]"]={code:221,shift:!1},r["["]={code:219,shift:!1};var a=function(t){d(t,"keydown")},h=function(t){d(t,"keyup")},d=function(t,e){if(void 0!==s[e][t.keyCode]){for(var o=s[e][t.keyCode],n=0;no&&(o=30),o>1e3&&(o=1e3),e.redraw(),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){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var s=function(){function t(t,e){for(var i=0;i0&&this._makeItem([]),this._makeHeader(n),this._handleObject(this.configureOptions[n],[n])),i++);this.options.showButton===!0&&!function(){var e=document.createElement("div");e.className="vis-configuration vis-config-button",e.innerHTML="generate options",e.onclick=function(){t._printOptions()},e.onmouseover=function(){e.className="vis-configuration vis-config-button hover"},e.onmouseout=function(){e.className="vis-configuration vis-config-button"},t.optionsContainer=document.createElement("div"),t.optionsContainer.className="vis-configuration vis-config-option-container",t.domElements.push(t.optionsContainer),t.domElements.push(e)}(),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?o-1:0),s=1;o>s;s++)n[s-1]=e[s];return n.forEach(function(t){r.appendChild(t)}),i.domElements.push(r),{v:i.domElements.length}}();if("object"==typeof r)return r.v}return 0}},{key:"_makeHeader",value:function(t){var e=document.createElement("div");e.className="vis-configuration vis-config-header",e.innerHTML=t,this._makeItem([],e)}},{key:"_makeLabel",value:function(t,e){var i=arguments.length<=2||void 0===arguments[2]?!1:arguments[2],o=document.createElement("div");return o.className="vis-configuration vis-config-label vis-config-s"+e.length,i===!0?o.innerHTML=""+t+":":o.innerHTML=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;se&&n>e*u?(a.min=Math.ceil(e*u),l=a.min,d="range increased"):n>e/u&&(a.min=Math.ceil(e/u),l=a.min,d="range increased"),e*u>s&&1!==s&&(a.max=Math.ceil(e*u),l=a.max,d="range increased"),a.value=e}else a.value=o;var c=document.createElement("input");c.className="vis-configuration vis-config-rangeinput",c.value=a.value;var p=this;a.onchange=function(){c.value=this.value,p._update(Number(this.value),i)},a.oninput=function(){c.value=this.value};var f=this._makeLabel(i[i.length-1],i),m=this._makeItem(i,f,a,c);""!==d&&this.popupHistory[m]!==l&&(this.popupHistory[m]=l,this._setupPopup(d,m))}},{key:"_setupPopup",value:function(t,e){var i=this;if(this.initialized===!0&&this.allowCreation===!0&&this.popupCountervar options = "+JSON.stringify(t,null,2)+""}},{key:"getOptions",value:function(){for(var t={},e=0;es;s++)for(r=0;rp?p+1:p;var f=l/this.r,m=a.RGBToHSV(this.color.r,this.color.g,this.color.b);m.h=p,m.s=f;var v=a.HSVToRGB(m.h,m.s,m.v);v.a=this.color.a,this.color=v,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+")"}}]),t}();e["default"]=h,t.exports=e["default"]},function(t,e,i){function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var i=0;is.distance?console.log('%cUnknown option detected: "'+e+'" in '+t.printLocation(n.path,e,"")+"Perhaps it was misplaced? Matching option found at: "+t.printLocation(s.path,s.closestMatch,""),h):n.distance<=d?console.log('%cUnknown option detected: "'+e+'". Did you mean "'+n.closestMatch+'"?'+t.printLocation(n.path,e),h):console.log('%cUnknown option detected: "'+e+'". Did you mean one of these: '+t.print(Object.keys(i))+t.printLocation(o,e),h),r=!0}},{key:"findInOptions",value:function(e,i,o){var n=arguments.length<=3||void 0===arguments[3]?!1:arguments[3],r=1e9,a="",h=[],d=e.toLowerCase(),l=void 0;for(var u in i){var c=void 0;if(void 0!==i[u].__type__&&n===!0){var p=t.findInOptions(e,i[u],s.copyAndExtendArray(o,u));r>p.distance&&(a=p.closestMatch,h=p.path,r=p.distance,l=p.indexMatch)}else-1!==u.toLowerCase().indexOf(d)&&(l=u),c=t.levenshteinDistance(e,u),r>c&&(a=u,h=s.copyArray(o),r=c)}return{closestMatch:a,path:h,distance:r,indexMatch:l}}},{key:"printLocation",value:function(t,e){for(var i=arguments.length<=2||void 0===arguments[2]?"Problem value found at: \n":arguments[2],o="\n\n"+i+"options = {\n",n=0;ns;s++)o+=" ";o+=t[n]+": {\n"}for(var s=0;sr?r:t,e=null==e?r:r>e?r:e}return{min:null!=t?new Date(t):null,max:null!=e?new Date(e):null}},o.prototype.getEventProperties=function(t){var e=t.center?t.center.x:t.clientX,i=t.center?t.center.y:t.clientY,o=e-s.getAbsoluteLeft(this.dom.centerContainer),n=i-s.getAbsoluteTop(this.dom.centerContainer),r=this._toTime(o),a=c.customTimeFromTarget(t),h=s.getTarget(t),d=null;s.hasParent(h,this.timeAxis.dom.foreground)?d="axis":this.timeAxis2&&s.hasParent(h,this.timeAxis2.dom.foreground)?d="axis":s.hasParent(h,this.linegraph.yAxisLeft.dom.frame)?d="data-axis":s.hasParent(h,this.linegraph.yAxisRight.dom.frame)?d="data-axis":s.hasParent(h,this.linegraph.legendLeft.dom.frame)?d="legend":s.hasParent(h,this.linegraph.legendRight.dom.frame)?d="legend":null!=a?d="custom-time":s.hasParent(h,this.currentTime.bar)?d="current-time":s.hasParent(h,this.dom.center)&&(d="background");var l=[],u=this.linegraph.yAxisLeft,p=this.linegraph.yAxisRight;return u.hidden||l.push(u.screenToValue(n)),p.hidden||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 f(this,this.dom.container,y)},t.exports=o},function(t,e,i){function o(t,e){this.id=n.randomUUID(),this.body=t,this.defaultOptions={yAxisOrientation:"left",defaultGroup:"default",sort:!0,sampling:!0,stack:!1,graphHeight:"400px",shaded:{enabled:!1,orientation:"bottom"},style:"line",barChart:{width:50,sideBySide:!1,align:"center"},interpolation:{enabled:!0,parametrization:"centripetal",alpha:.5},drawPoints:{enabled:!0,size:6,style:"square"},dataAxis:{showMinorLabels:!0,showMajorLabels:!0,icons:!1,width:"40px",visible:!0,alignZeros:!0,left:{range:{min:void 0,max:void 0},format:function(t){return t},title:{text:void 0,style:void 0}},right:{range:{min:void 0,max:void 0},format:function(t){return t},title:{text:void 0,style:void 0}}},legend:{enabled:!1,icons:!0,left:{visible:!0,position:"top-left"},right:{visible:!0,position:"top-right"}},groups:{visibility:{}}},this.options=n.extend({},this.defaultOptions),this.dom={},this.props={},this.hammer=null,this.groups={},this.abortedGraphUpdate=!1,this.updateSVGheight=!1,this.updateSVGheightOnResize=!1;var i=this;this.itemsData=null,this.groupsData=null,this.itemListeners={add:function(t,e,o){i._onAdd(e.items)},update:function(t,e,o){i._onUpdate(e.items)},remove:function(t,e,o){i._onRemove(e.items)}},this.groupListeners={add:function(t,e,o){i._onAddGroups(e.items)},update:function(t,e,o){i._onUpdateGroups(e.items)},remove:function(t,e,o){i._onRemoveGroups(e.items)}},this.items={},this.selection=[],this.lastStart=this.body.range.start,this.touchParams={},this.svgElements={},this.setOptions(e),this.groupsUsingDefaultStyles=[0],this.COUNTER=0,this.body.emitter.on("rangechanged",function(){i.lastStart=i.body.range.start,i.svg.style.left=n.option.asSize(-i.props.width),i.redraw.call(i,!0)}),this._create(),this.framework={svg:this.svg,svgElements:this.svgElements,options:this.options,groups:this.groups},this.body.emitter.emit("change")}var n=i(1),s=i(7),r=i(8),a=i(10),h=i(25),d=i(50),l=i(52),u=i(56),c=i(53),p=i(55),f=i(54),m="__ungrouped__";o.prototype=new h,o.prototype._create=function(){var t=document.createElement("div");t.className="vis-line-graph",this.dom.frame=t,this.svg=document.createElementNS("http://www.w3.org/2000/svg","svg"),this.svg.style.position="relative",this.svg.style.height=(""+this.options.graphHeight).replace("px","")+"px",this.svg.style.display="block",t.appendChild(this.svg),this.options.dataAxis.orientation="left",this.yAxisLeft=new d(this.body,this.options.dataAxis,this.svg,this.options.groups),this.options.dataAxis.orientation="right",this.yAxisRight=new d(this.body,this.options.dataAxis,this.svg,this.options.groups),delete this.options.dataAxis.orientation, +this.legendLeft=new u(this.body,this.options.legend,"left",this.options.groups),this.legendRight=new u(this.body,this.options.legend,"right",this.options.groups),this.show()},o.prototype.setOptions=function(t){if(t){var e=["sampling","defaultGroup","stack","height","graphHeight","yAxisOrientation","style","barChart","dataAxis","sort","groups"];void 0===t.graphHeight&&void 0!==t.height&&void 0!==this.body.domProps.centerContainer.height?(this.updateSVGheight=!0,this.updateSVGheightOnResize=!0):void 0!==this.body.domProps.centerContainer.height&&void 0!==t.graphHeight&&parseInt((t.graphHeight+"").replace("px",""))i?-1:1});for(var o=new Array(t.length),s=0;s0){var h={};for(this._getRelevantData(a,h,n,r),this._applySampling(a,h),e=0;ed&&console.log("WARNING: there may be an infinite loop in the _updateGraph emitter cycle."),this.COUNTER=0,this.abortedGraphUpdate=!1;var l=void 0;for(e=0;e0)switch(t.options.style){case"line":u.hasOwnProperty(a[e])||(u[a[e]]=p.calcPath(h[a[e]],t)),p.draw(u[a[e]],t,this.framework);case"point":case"points":("point"==t.options.style||"points"==t.options.style||1==t.options.drawPoints.enabled)&&f.draw(h[a[e]],t,this.framework);break;case"bar":}}}return s.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,0==o?t[a].y=t[a].orginalY+r.y:t[a].y=t[a].orginalY+n/o*(t[a].x-s.x)+s.y}},o.prototype._getRelevantData=function(t,e,i,o){var s,r,a,h;if(t.length>0)for(r=0;r=u&&(u=d.length);var c=new Array(u-l);for(a=l;u>a;a++)h=s.itemsData[a],c[a-l]=h;e[t[r]]=c}else e[t[r]]=s.itemsData}},o.prototype._applySampling=function(t,e){var i;if(t.length>0)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;r>l;l+=s){var u=Math.round(l/s);d[u]=n[l]}e[t[o]]=d.splice(0,Math.round(r/s))}}},o.prototype._getYRanges=function(t,e,i){var o,n,s,r,a=[],h=[];if(t.length>0){for(s=0;s0&&(n=this.groups[t[s]],r.stack===!0&&"bar"===r.style?"left"===r.yAxisOrientation?a=a.concat(n.getItems()):h=h.concat(n.getItems()):i[t[s]]=n.getYRange(o,t[s]));c.getStackedYRange(a,i,t,"__barStackLeft","left"),c.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=o>d?o:d):(r=!0,h=h>i?i:h,l=o>l?o:l));1==s&&this.yAxisLeft.setRange(a,d),1==r&&this.yAxisRight.setRange(h,l)}n=this._toggleAxisVisiblity(s,this.yAxisLeft)||n,n=this._toggleAxisVisiblity(r,this.yAxisRight)||n,1==r&&1==s?(this.yAxisLeft.drawIcons=!0,this.yAxisRight.drawIcons=!0):(this.yAxisLeft.drawIcons=!1,this.yAxisRight.drawIcons=!1),this.yAxisRight.master=!s,0==this.yAxisRight.master?(1==r?this.yAxisLeft.lineOffset=this.yAxisRight.width:this.yAxisLeft.lineOffset=0,n=this.yAxisLeft.redraw()||n,this.yAxisRight.stepPixels=this.yAxisLeft.stepPixels,this.yAxisRight.zeroCrossing=this.yAxisLeft.zeroCrossing,this.yAxisRight.amountOfSteps=this.yAxisLeft.amountOfSteps,n=this.yAxisRight.redraw()||n):n=this.yAxisRight.redraw()||n;for(var p=["__barStackLeft","__barStackRight","__lineStackLeft","__lineStackRight"],u=0;ut?-1:1});for(var a=0;a0&&(t=0),this.range.start=t,this.range.end=e},o.prototype.redraw=function(){var t=!1,e=0;this.dom.lineContainer.style.top=this.body.domProps.scrollTop+"px";for(var i in this.groups)this.groups.hasOwnProperty(i)&&(this.groups[i].visible!==!0||void 0!==this.linegraphOptions.visibility[i]&&this.linegraphOptions.visibility[i]!==!0||e++);if(0===this.amountOfGroups||0===e)this.hide();else{this.show(),this.height=Number(this.linegraphSVG.style.height.replace("px","")),this.dom.lineContainer.style.height=this.height+"px",this.width=this.options.visible===!0?Number((""+this.options.width).replace("px","")):0;var o=this.props,n=this.dom.frame;n.className="vis-data-axis",this._calculateCharSize();var s=this.options.orientation,r=this.options.showMinorLabels,a=this.options.showMajorLabels;o.minorLabelHeight=r?o.minorCharHeight:0,o.majorLabelHeight=a?o.majorCharHeight:0,o.minorLineWidth=this.body.dom.backgroundHorizontal.offsetWidth-this.lineOffset-this.width+2*this.options.minorLinesOffset,o.minorLineHeight=1,o.majorLineWidth=this.body.dom.backgroundHorizontal.offsetWidth-this.lineOffset-this.width+2*this.options.majorLinesOffset,o.majorLineHeight=1,"left"===s?(n.style.top="0",n.style.left="0",n.style.bottom="",n.style.width=this.width+"px",n.style.height=this.height+"px",this.props.width=this.body.domProps.left.width,this.props.height=this.body.domProps.left.height):(n.style.top="",n.style.bottom="0",n.style.left="0",n.style.width=this.width+"px",n.style.height=this.height+"px",this.props.width=this.body.domProps.right.width,this.props.height=this.body.domProps.right.height),t=this._redrawLabels(),t=this._isResized()||t,this.options.icons===!0?this._redrawGroupIcons():this._cleanupIcons(),this._redrawTitle(s)}return t},o.prototype._redrawLabels=function(){var t=!1;s.prepareElements(this.DOMelements.lines),s.prepareElements(this.DOMelements.labels);var e,i=this.options.orientation;if(this.master===!1){var o,n,r,h;-1!==this.zeroCrossing&&this.options.alignZeros===!0?this.range.end>0?(o=this.range.end/this.zeroCrossing,n=this.range.end-this.amountOfSteps*o,r=this.range.end):(o=-1*this.range.start/(this.amountOfSteps-this.zeroCrossing),n=this.range.start,r=this.range.start+o*this.amountOfSteps):(n=this.range.start,r=this.range.end),h=this.stepPixels}else h=this.props.majorCharHeight,n=this.range.start,r=this.range.end;if(this.step=e=new a(n,r,h,this.dom.frame.offsetHeight,this.options[this.options.orientation].range,this.options[this.options.orientation].format,this.master===!1&&this.options.alignZeros),this.master===!0)this.stepPixels=this.dom.frame.offsetHeight/e.marginRange*e.step,this.amountOfSteps=Math.ceil(this.dom.frame.offsetHeight/this.stepPixels);else if(this.options.alignZeros===!0&&-1!==this.zeroCrossing){var d=(e.current-this.zeroCrossing*e.step)/e.step;this.step.shift(d)}this.valueAtBottom=e.marginEnd,this.maxLabelSize=0;for(var l=0,u=0,c=!1;u0&&u!==this.amountOfSteps&&((this.options.showMinorLabels&&c===!1||this.master===!1&&this.options.showMinorLabels===!0)&&this._redrawLabel(l-2,e.getCurrent(),i,"vis-y-axis vis-minor",this.props.minorCharHeight),c&&this.options.showMajorLabels&&this.master===!0||this.options.showMinorLabels===!1&&this.master===!1&&c===!0?(l>=0&&this._redrawLabel(l-2,e.getCurrent(),i,"vis-y-axis vis-major",this.props.majorCharHeight),this._redrawLine(l,i,"vis-grid vis-horizontal vis-major",this.options.majorLinesOffset,this.props.majorLineWidth)):this._redrawLine(l,i,"vis-grid vis-horizontal vis-minor",this.options.minorLinesOffset,this.props.minorLineWidth)),this.master===!0&&0===e.current&&(this.zeroCrossing=u),e.next(),u+=1;this.master===!0&&0===e.current&&(this.zeroCrossing=u),this.conversionFactor=this.stepPixels/e.step;var p=0;void 0!==this.options[i].title&&void 0!==this.options[i].title.text&&(p=this.props.titleCharHeight);var f=this.options.icons===!0?Math.max(this.options.iconWidth,p)+this.options.labelOffsetX+15:p+this.options.labelOffsetX+15;return this.maxLabelSize>this.width-f&&this.options.visible===!0?(this.width=this.maxLabelSize+f,this.options.width=this.width+"px",s.cleanupElements(this.DOMelements.lines),s.cleanupElements(this.DOMelements.labels),this.redraw(),t=!0):this.maxLabelSizethis.minWidth?(this.width=Math.max(this.minWidth,this.maxLabelSize+f),this.options.width=this.width+"px",s.cleanupElements(this.DOMelements.lines),s.cleanupElements(this.DOMelements.labels),this.redraw(),t=!0):(s.cleanupElements(this.DOMelements.lines),s.cleanupElements(this.DOMelements.labels),t=!1),t},o.prototype.convertValue=function(t){var e=this.valueAtBottom-t,i=e*this.conversionFactor;return i},o.prototype.screenToValue=function(t){return this.valueAtBottom-t/this.conversionFactor},o.prototype._redrawLabel=function(t,e,i,o,n){var r=s.getDOMElement("div",this.DOMelements.labels,this.dom.frame);r.className=o,r.innerHTML=e,"left"===i?(r.style.left="-"+this.options.labelOffsetX+"px",r.style.textAlign="right"):(r.style.right="-"+this.options.labelOffsetX+"px",r.style.textAlign="left"),r.style.top=t-.5*n+this.options.labelOffsetY+"px",e+="";var a=Math.max(this.props.majorCharWidth,this.props.minorCharWidth);this.maxLabelSizes&&(h=s);for(var d=!1,l=h;Math.abs(l)<=Math.abs(s);l++){a=Math.pow(10,l);for(var u=0;u=n){d=!0,r=u;break}}if(d===!0)break}this.stepIndex=r,this.scale=a,this.step=a*this.minorSteps[r]},i.prototype.setFirst=function(t){void 0===t&&(t={});var e=void 0===t.min?this._start-2*this.scale*this.minorSteps[this.stepIndex]:t.min,i=void 0===t.max?this._end+this.scale*this.minorSteps[this.stepIndex]:t.max;this.marginEnd=void 0===t.max?this.roundToMinor(i):t.max,this.marginStart=void 0===t.min?this.roundToMinor(e):t.min,this.alignZeros===!0&&(this.marginEnd-this.marginStart)%this.step!=0&&(this.marginEnd+=this.marginEnd%this.step),this.deadSpace=this.roundToMinor(i)-i+this.roundToMinor(e)-e,this.marginRange=this.marginEnd-this.marginStart,this.current=this.marginEnd},i.prototype.roundToMinor=function(t){var e=t-t%(this.scale*this.minorSteps[this.stepIndex]);return t%(this.scale*this.minorSteps[this.stepIndex])>.5*(this.scale*this.minorSteps[this.stepIndex])?e+this.scale*this.minorSteps[this.stepIndex]:e},i.prototype.hasNext=function(){return this.current>=this.marginStart},i.prototype.next=function(){var t=this.current;this.current-=this.step,this.current===t&&(this.current=this._end)},i.prototype.previous=function(){this.current+=this.step,this.marginEnd+=this.step,this.marginRange=this.marginEnd-this.marginStart},i.prototype.getCurrent=function(){var t=Math.abs(this.current)t)for(var e=0;-t>e;e++)this.previous();else if(t>0)for(var e=0;t>e;e++)this.next()},t.exports=i},function(t,e,i){function o(t,e,i,o){this.id=e;var s=["sampling","style","sort","yAxisOrientation","barChart","drawPoints","shaded","interpolation","zIndex"];this.options=n.selectiveBridgeObject(s,i),this.usingDefaultStyle=void 0===t.className,this.groupsUsingDefaultStyles=o,this.zeroPosition=0,this.update(t),1==this.usingDefaultStyle&&(this.groupsUsingDefaultStyles[0]+=1),this.itemsData=[],this.visible=void 0===t.visible?!0:t.visible}var n=i(1),s=(i(7),i(53)),r=i(55),a=i(54);o.prototype.setItems=function(t){null!=t?(this.itemsData=t,1==this.options.sort&&n.insertSort(this.itemsData,function(t,e){return t.x>e.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","excludeFromLegend","excludeFromStacking","zIndex"];n.selectiveDeepExtend(e,this.options,t),"function"==typeof t.drawPoints&&(t.drawPoints={onRender:t.drawPoints}),n.mergeOptions(this.options,t,"interpolation"),n.mergeOptions(this.options,t,"drawPoints"),n.mergeOptions(this.options,t,"shaded"),t.interpolation&&"object"==typeof 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?!0: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){var h=document.createElementNS("http://www.w3.org/2000/svg","svg");i={svg:h,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":r.drawIcon(this,o,n,t,e,i);break;case"points":case"point":a.drawIcon(this,o,n,t,e,i);break;case"bar":s.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&&(r=Math.min(r,Math.abs(c[l-1].screen_x-a))),h=o._getSafeDrawData(r,d,m);else{var g=l+(p[a].amount-p[a].resolved),y=l-(p[a].resolved+1);g0&&(r=Math.min(r,Math.abs(c[y].screen_x-a))),h=o._getSafeDrawData(r,d,m),p[a].resolved+=1,d.options.stack===!0?c[l].screen_y0&&(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=i>t?i:t,n=0,"left"===e.options.barChart.align?n-=.5*t:"right"===e.options.barChart.align&&(n+=.5*t)):(o=e.options.barChart.width,n=0, +"left"===e.options.barChart.align?n-=.5*e.options.barChart.width:"right"===e.options.barChart.align&&(n+=.5*e.options.barChart.width)),{width:o,offset:n}},o.getStackedYRange=function(t,e,i,n,s){if(t.length>0){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){var i=[];return i=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=e;if(i)for(var n=t.length-2;n>0;n--)o+=t[n][0]+","+t[n][1]+" ";else for(var n=1;nl;l++)e=0==l?t[0]:t[l-1],i=t[l],o=t[l+1],n=d>l+2?t[l+2]:o,s={screen_x:(-e.screen_x+6*i.screen_x+o.screen_x)*h,screen_y:(-e.screen_y+6*i.screen_y+o.screen_y)*h},r={screen_x:(i.screen_x+6*o.screen_x-n.screen_x)*h,screen_y:(i.screen_y+6*o.screen_y-n.screen_y)*h},a.push([s.screen_x,s.screen_y]),a.push([r.screen_x,r.screen_y]),a.push([o.screen_x,o.screen_y]);return a},o._catmullRom=function(t,e){var i=e.options.interpolation.alpha;if(0==i||void 0===i)return this._catmullRomUniform(t);var o,n,s,r,a,h,d,l,u,c,p,f,m,v,g,y,b,w,_,x=[];x.push([Math.round(t[0].screen_x),Math.round(t[0].screen_y)]);for(var k=t.length,O=0;k-1>O;O++)o=0==O?t[0]:t[O-1],n=t[O],s=t[O+1],r=k>O+2?t[O+2]:s,d=Math.sqrt(Math.pow(o.screen_x-n.screen_x,2)+Math.pow(o.screen_y-n.screen_y,2)),l=Math.sqrt(Math.pow(n.screen_x-s.screen_x,2)+Math.pow(n.screen_y-s.screen_y,2)),u=Math.sqrt(Math.pow(s.screen_x-r.screen_x,2)+Math.pow(s.screen_y-r.screen_y,2)),v=Math.pow(u,i),y=Math.pow(u,2*i),g=Math.pow(l,i),b=Math.pow(l,2*i),_=Math.pow(d,i),w=Math.pow(d,2*i),c=2*w+3*_*g+b,p=2*y+3*v*g+b,f=3*_*(_+g),f>0&&(f=1/f),m=3*v*(v+g),m>0&&(m=1/m),a={screen_x:(-b*o.screen_x+c*n.screen_x+w*s.screen_x)*f,screen_y:(-b*o.screen_y+c*n.screen_y+w*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;it?-1:1});for(var i=0;i")}this.dom.textArea.innerHTML=s,this.dom.textArea.style.lineHeight=.75*this.options.iconSize+this.options.iconSpacing+"px"}},o.prototype.drawLegendIcons=function(){if(this.dom.frame.parentNode){var t=Object.keys(this.groups);t.sort(function(t,e){return e>t?-1:1}),s.resetElements(this.svgElements);var e=window.getComputedStyle(this.dom.frame).paddingTop,i=Number(e.replace("px","")),o=i,n=this.options.iconSize,r=.75*this.options.iconSize,a=i+.5*r+3;this.svg.style.width=n+5+i+"px";for(var h=0;h0){var i=this.groupIndex%this.groupsArray.length;this.groupIndex++,e={},e.color=this.groups[this.groupsArray[i]],this.groups[t]=e}else{var i=this.defaultIndex%this.defaultGroups.length;this.defaultIndex++,e={},e.color=this.defaultGroups[i],this.groups[t]=e}return e}},{key:"add",value:function(t,e){return this.groups[t]=e,this.groupsArray.push(t),e}}]),t}();e["default"]=r,t.exports=e["default"]},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var s=function(){function t(t,e){for(var i=0;it.left&&this.shape.topt.top}},{key:"isBoundingBoxOverlappingWith",value:function(t){return this.shape.boundingBox.leftt.left&&this.shape.boundingBox.topt.top}}],[{key:"parseOptions",value:function(t,e){var i=arguments.length<=2||void 0===arguments[2]?!1:arguments[2],o=arguments.length<=3||void 0===arguments[3]?{}:arguments[3],n=["color","font","fixed","shadow"];if(B.selectiveNotDeepExtend(n,t,e,i),B.mergeOptions(t,e,"shadow",i,o),void 0!==e.color&&null!==e.color){var s=B.parseColor(e.color);B.fillIfDefined(t.color,s)}else i===!0&&null===e.color&&(t.color=B.bridgeObject(o.color));void 0!==e.fixed&&null!==e.fixed&&("boolean"==typeof e.fixed?(t.fixed.x=e.fixed,t.fixed.y=e.fixed):(void 0!==e.fixed.x&&"boolean"==typeof e.fixed.x&&(t.fixed.x=e.fixed.x),void 0!==e.fixed.y&&"boolean"==typeof e.fixed.y&&(t.fixed.y=e.fixed.y))),void 0!==e.font&&null!==e.font?a["default"].parseOptions(t.font,e):i===!0&&null===e.font&&(t.font=B.bridgeObject(o.font)),void 0!==e.scaling&&B.mergeOptions(t.scaling,e.scaling,"label",i,o.scaling)}}]),t}();e["default"]=F,t.exports=e["default"]},function(t,e,i){function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){var i=[],o=!0,n=!1,s=void 0;try{for(var r,a=t[Symbol.iterator]();!(o=(r=a.next()).done)&&(i.push(r.value),!e||i.length!==e);o=!0);}catch(h){n=!0,s=h}finally{try{!o&&a["return"]&&a["return"]()}finally{if(n)throw s}}return i}return function(e,i){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return t(e,i);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),s=function(){function t(t,e){for(var i=0;i=this.nodeOptions.scaling.label.maxVisible&&(r=Number(this.nodeOptions.scaling.label.maxVisible)/this.body.view.scale);var h=this.size.yLine,d=this._getColor(a),l=n(d,2),u=l[0],c=l[1],p=this._setAlignment(t,i,h,s),f=n(p,2);i=f[0],h=f[1],t.font=(e&&this.nodeOptions.labelHighlightBold?"bold ":"")+r+"px "+this.fontOptions.face,t.fillStyle=u,t.textAlign="center",this.fontOptions.strokeWidth>0&&(t.lineWidth=this.fontOptions.strokeWidth,t.strokeStyle=c,t.lineJoin="round");for(var m=0;m0&&t.strokeText(this.lines[m],i,h),t.fillText(this.lines[m],i,h),h+=r}},{key:"_setAlignment",value:function(t,e,i,o){if("horizontal"!==this.fontOptions.align&&this.pointToSelf===!1){e=0,i=0;var n=2;"top"===this.fontOptions.align?(t.textBaseline="alphabetic",i-=2*n):"bottom"===this.fontOptions.align?(t.textBaseline="hanging",i+=2*n):t.textBaseline="middle"}else t.textBaseline=o;return[e,i]}},{key:"_getColor",value:function(t){var e=this.fontOptions.color||"#000000",i=this.fontOptions.strokeColor||"#ffffff";if(t<=this.nodeOptions.scaling.label.drawThreshold){var o=Math.max(0,Math.min(1,1-(this.nodeOptions.scaling.label.drawThreshold-t)));e=r.overrideOpacity(e,o),i=r.overrideOpacity(i,o)}return[e,i]}},{key:"getTextSize",value:function(t){var e=arguments.length<=1||void 0===arguments[1]?!1:arguments[1],i={width:this._processLabel(t,e),height:this.fontOptions.size*this.lineCount,lineCount:this.lineCount};return i}},{key:"calculateLabelSize",value:function(t,e){var i=arguments.length<=2||void 0===arguments[2]?0:arguments[2],o=arguments.length<=3||void 0===arguments[3]?0:arguments[3],n=arguments.length<=4||void 0===arguments[4]?"middle":arguments[4];this.labelDirty===!0&&(this.size.width=this._processLabel(t,e)),this.size.height=this.fontOptions.size*this.lineCount,this.size.left=i-.5*this.size.width,this.size.top=o-.5*this.size.height,this.size.yLine=o+.5*(1-this.lineCount)*this.fontOptions.size,"hanging"===n&&(this.size.top+=.5*this.fontOptions.size,this.size.top+=4,this.size.yLine+=4),this.labelDirty=!1}},{key:"_processLabel",value:function(t,e){var i=0,o=[""],n=0;if(void 0!==this.nodeOptions.label){o=String(this.nodeOptions.label).split("\n"),n=o.length,t.font=(e&&this.nodeOptions.labelHighlightBold?"bold ":"")+this.fontOptions.size+"px "+this.fontOptions.face,i=t.measureText(o[0]).width;for(var s=1;n>s;s++){var r=t.measureText(o[s]).width;i=r>i?r:i}}return this.lines=o,this.lineCount=n,i}}],[{key:"parseOptions",value:function(t,e){var i=arguments.length<=2||void 0===arguments[2]?!1:arguments[2];if("string"==typeof e.font){var o=e.font.split(" ");t.size=o[0].replace("px",""),t.face=o[1],t.color=o[2]}else"object"==typeof e.font&&r.fillIfDefined(t,e.font,i);t.size=Number(t.size)}}]),t}();e["default"]=a,t.exports=e["default"]},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var r=function(){function t(t,e){for(var i=0;ithis.imageObj.height?(o=this.imageObj.width/this.imageObj.height,e=2*this.options.size*o||this.imageObj.width,i=2*this.options.size||this.imageObj.height):(o=this.imageObj.width&&this.imageObj.height?this.imageObj.height/this.imageObj.width:1,e=2*this.options.size,i=2*this.options.size*o):(e=this.imageObj.width,i=this.imageObj.height),this.width=e,this.height=i,this.radius=.5*this.width}}},{key:"_drawRawCircle",value:function(t,e,i,o,n,s){var r=this.options.borderWidth,a=this.options.borderWidthSelected||2*this.options.borderWidth;t.strokeStyle=o?this.options.color.highlight.border:n?this.options.color.hover.border:this.options.color.border,t.lineWidth=o?a:r,t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t.fillStyle=o?this.options.color.highlight.background:n?this.options.color.hover.background:this.options.color.background,t.circle(e,i,s),this.enableShadow(t),t.fill(),this.disableShadow(t),t.save(),this.enableBorderDashes(t),t.stroke(),this.disableBorderDashes(t),t.restore()}},{key:"_drawImageAtPosition",value:function(t){0!=this.imageObj.width&&(t.globalAlpha=1,this.enableShadow(t),t.drawImage(this.imageObj,this.left,this.top,this.width,this.height),this.disableShadow(t))}},{key:"_drawImageLabel",value:function(t,e,i,o){var n,s=0;if(void 0!==this.height){s=.5*this.height;var r=this.labelModule.getTextSize(t);r.lineCount>=1&&(s+=r.height/2)}n=i+s,this.options.label&&(this.labelOffset=s),this.labelModule.draw(t,e,n,o,"hanging")}}]),e}(d["default"]);e["default"]=l,t.exports=e["default"]},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var r=function(){function t(t,e){for(var i=0;i0&&(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+3))}}]),e}(d["default"]);e["default"]=l,t.exports=e["default"]},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var r=function(){function t(t,e){for(var i=0;i0){var i=5;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+i)}}},{key:"_icon",value:function(t,e,i,o){var n=Number(this.options.icon.size);void 0!==this.options.icon.code?(t.font=(o?"bold ":"")+n+"px "+this.options.icon.face,t.fillStyle=this.options.icon.color||"black",t.textAlign="center",t.textBaseline="middle",this.enableShadow(t),t.fillText(this.options.icon.code,e,i),this.disableShadow(t)):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}(d["default"]);e["default"]=l,t.exports=e["default"]},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var r=function(){function t(t,e){for(var i=0;i0&&(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}(d["default"]);e["default"]=l,t.exports=e["default"]},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var r=function(){function t(t,e){for(var i=0;ii.shape.height?(r=i.x+.5*i.shape.width,a=i.y-h):(r=i.x+h,a=i.y-.5*i.shape.height),s=this._pointOnCircle(r,a,h,.125),this.labelModule.draw(t,s.x,s.y,n)}}}},{key:"isOverlappingWith",value:function(t){if(this.connected){var e=10,i=this.from.x,o=this.from.y,n=this.to.x,s=this.to.y,r=t.left,a=t.top,h=this.edgeType.getDistanceToEdge(i,o,n,s,r,a);return e>h}return!1}},{key:"_rotateForLabelAlignment",value:function(t){var e=this.from.y-this.to.y,i=this.from.x-this.to.x,o=Math.atan2(e,i);(-1>o&&0>i||o>0&&0>i)&&(o+=Math.PI),t.rotate(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:"parseOptions",value:function(t,e){var i=arguments.length<=2||void 0===arguments[2]?!1:arguments[2],o=arguments.length<=3||void 0===arguments[3]?{}:arguments[3],n=["id","from","hidden","hoverWidth","label","labelHighlightBold","length","line","opacity","physics","scaling","selectionWidth","selfReferenceSize","to","title","value","width"];if(v.selectiveDeepExtend(n,t,e,i),v.mergeOptions(t,e,"smooth",i,o),v.mergeOptions(t,e,"shadow",i,o),void 0!==e.dashes&&null!==e.dashes?t.dashes=e.dashes:i===!0&&null===e.dashes&&(t.dashes=Object.create(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),v.mergeOptions(t.scaling,e.scaling,"label",i,o.scaling)):i===!0&&null===e.scaling&&(t.scaling=Object.create(o.scaling)),void 0!==e.arrows&&null!==e.arrows)if("string"==typeof e.arrows){var s=e.arrows.toLowerCase();-1!=s.indexOf("to")&&(t.arrows.to.enabled=!0),-1!=s.indexOf("middle")&&(t.arrows.middle.enabled=!0),-1!=s.indexOf("from")&&(t.arrows.from.enabled=!0)}else{if("object"!=typeof e.arrows)throw new Error("The arrow newOptions can only be an object or a string. Refer to the documentation. You used:"+JSON.stringify(e.arrows));v.mergeOptions(t.arrows,e.arrows,"to",i,o.arrows),v.mergeOptions(t.arrows,e.arrows,"middle",i,o.arrows),v.mergeOptions(t.arrows,e.arrows,"from",i,o.arrows)}else i===!0&&null===e.arrows&&(t.arrows=Object.create(o.arrows));if(void 0!==e.color&&null!==e.color)if(t.color=v.deepExtend({},t.color,!0),v.isString(e.color))t.color.color=e.color,t.color.highlight=e.color,t.color.hover=e.color,t.color.inherit=!1;else{var r=!1;void 0!==e.color.color&&(t.color.color=e.color.color,r=!0),void 0!==e.color.highlight&&(t.color.highlight=e.color.highlight,r=!0),void 0!==e.color.hover&&(t.color.hover=e.color.hover,r=!0),void 0!==e.color.inherit&&(t.color.inherit=e.color.inherit),void 0!==e.color.opacity&&(t.color.opacity=Math.min(1,Math.max(0,e.color.opacity))),void 0===e.color.inherit&&r===!0&&(t.color.inherit=!1)}else i===!0&&null===e.color&&(t.color=v.bridgeObject(o.color));void 0!==e.font&&null!==e.font?a["default"].parseOptions(t.font,e):i===!0&&null===e.font&&(t.font=v.bridgeObject(o.font))}}]),t}();e["default"]=g,t.exports=e["default"]},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var r=function(){function t(t,e){var i=[],o=!0,n=!1,s=void 0;try{for(var r,a=t[Symbol.iterator]();!(o=(r=a.next()).done)&&(i.push(r.value),!e||i.length!==e);o=!0);}catch(h){n=!0,s=h}finally{try{!o&&a["return"]&&a["return"]()}finally{if(n)throw s}}return i}return function(e,i){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return t(e,i);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),a=function(){function t(t,e){for(var i=0;iMath.abs(e)||this.options.smooth.forceDirection===!0||"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:"_findBorderPosition",value:function(t,e){return this._findBorderPositionBezier(t,e)}},{key:"_getDistanceToEdge",value:function(t,e,i,o,n,s){var a=arguments.length<=6||void 0===arguments[6]?this._getViaCoordinates():arguments[6],h=r(a,2),d=h[0],l=h[1];return this._getDistanceToBezierEdge(t,e,i,o,n,s,d,l)}},{key:"getPoint",value:function(t){var e=arguments.length<=1||void 0===arguments[1]?this._getViaCoordinates():arguments[1],i=r(e,2),o=i[0],n=i[1],s=t,a=[];a[0]=Math.pow(1-s,3),a[1]=3*s*Math.pow(1-s,2),a[2]=3*Math.pow(s,2)*(1-s),a[3]=Math.pow(s,3);var h=a[0]*this.from.x+a[1]*o.x+a[2]*n.x+a[3]*this.to.x,d=a[0]*this.from.y+a[1]*o.y+a[2]*n.y+a[3]*this.to.y;return{x:h,y:d}}}]),e}(l["default"]);e["default"]=u,t.exports=e["default"]},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var r=function(){function t(t,e){for(var i=0;il;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=h>d?d:h),f=c,m=p;return h}}]),e}(d["default"]);e["default"]=l,t.exports=e["default"]},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var r=function(){function t(t,e){for(var i=0;i=l&&h>d;){var m=.5*(l+u);if(i=this.getPoint(m,a),o=Math.atan2(p.y-i.y,p.x-i.x),n=p.distanceToBorder(e,o),s=Math.sqrt(Math.pow(i.x-p.x,2)+Math.pow(i.y-p.y,2)),r=n-s,Math.abs(r)r?f===!1?l=m:u=m:f===!1?u=m:l=m,d++}return i.t=m,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;10>d;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=a>h?h:a),p=u,f=c;return a}}]),e}(d["default"]);e["default"]=l,t.exports=e["default"]},function(t,e,i){function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){var i=[],o=!0,n=!1,s=void 0;try{for(var r,a=t[Symbol.iterator]();!(o=(r=a.next()).done)&&(i.push(r.value),!e||i.length!==e);o=!0);}catch(h){n=!0,s=h}finally{try{!o&&a["return"]&&a["return"]()}finally{if(n)throw s}}return i}return function(e,i){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return t(e,i);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),s=function(){function t(t,e){for(var i=0;io.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=10,d=0,l=this.options.selfReferenceSize,u=void 0,c=void 0,p=void 0,f=void 0,m=void 0,v=.05,g=.5*(s+r);r>=s&&h>d&&(g=.5*(s+r),u=this._pointOnCircle(o,n,l,g),c=Math.atan2(t.y-u.y,t.x-u.x),p=t.distanceToBorder(e,c),f=Math.sqrt(Math.pow(u.x-t.x,2)+Math.pow(u.y-t.y,2)),m=p-f,!(Math.abs(m)0?a>0?s=g:r=g:a>0?r=g:s=g,d++;return u.t=g,u}},{key:"getLineWidth",value:function(t,e){return t===!0?Math.max(this.selectionWidth,.3/this.body.view.scale):e===!0?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){var o=this.options.color;if(o.inherit!==!1){if("both"===o.inherit&&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,a=void 0;return s=this.from.options.color.highlight.border,a=this.to.options.color.highlight.border,this.from.selected===!1&&this.to.selected===!1?(s=r.overrideOpacity(this.from.options.color.border,this.options.color.opacity),a=r.overrideOpacity(this.to.options.color.border,this.options.color.opacity)):this.from.selected===!0&&this.to.selected===!1?a=this.to.options.color.border:this.from.selected===!1&&this.to.selected===!0&&(s=this.from.options.color.border),n.addColorStop(0,s),n.addColorStop(1,a),n}this.colorDirty===!0&&("to"===o.inherit?(this.color.highlight=this.to.options.color.highlight.border,this.color.hover=this.to.options.color.hover.border,this.color.color=r.overrideOpacity(this.to.options.color.border,o.opacity)):(this.color.highlight=this.from.options.color.highlight.border,this.color.hover=this.from.options.color.hover.border,this.color.color=r.overrideOpacity(this.from.options.color.border,o.opacity)))}else this.colorDirty===!0&&(this.color.highlight=o.highlight,this.color.hover=o.hover,this.color.color=r.overrideOpacity(o.color,o.opacity));return this.colorDirty=!1,e===!0?this.color.highlight:i===!0?this.color.hover:this.color.color}},{key:"_circle",value:function(t,e,i,o){this.enableShadow(t),t.beginPath(),t.arc(e,i,o,0,2*Math.PI,!1),t.stroke(),this.disableShadow(t)}},{key:"getDistanceToEdge",value:function(t,e,i,o,s,r,a){var h=0;if(this.from!=this.to)h=this._getDistanceToEdge(t,e,i,o,s,r,a);else{var d=this._getCircleData(),l=n(d,3),u=l[0],c=l[1],p=l[2],f=u-s,m=c-r;h=Math.abs(Math.sqrt(f*f+m*m)-p)}return this.labelModule.size.lefts&&this.labelModule.size.topr?0:h}},{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:0>d&&(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:"drawArrowHead",value:function(t,e,i,o,s){t.strokeStyle=this.getColor(t,o,s),t.fillStyle=t.strokeStyle,t.lineWidth=this.getLineWidth(o,s);var r=void 0,a=void 0,h=void 0,d=void 0,l=void 0,u=void 0,c=void 0;if("from"===e?(d=this.from,l=this.to,u=.1,c=this.options.arrows.from.scaleFactor):"to"===e?(d=this.to,l=this.from,u=-.1,c=this.options.arrows.to.scaleFactor):(d=this.to,l=this.from,c=this.options.arrows.middle.scaleFactor),d!=l){if("middle"!==e)if(this.options.smooth.enabled===!0){h=this.findBorderPosition(d,t,{via:i});var p=this.getPoint(Math.max(0,Math.min(1,h.t+u)),i);r=Math.atan2(h.y-p.y,h.x-p.x)}else r=Math.atan2(d.y-l.y,d.x-l.x),h=this.findBorderPosition(d,t);else r=Math.atan2(d.y-l.y,d.x-l.x),h=this.getPoint(.6,i);a=(10+5*this.options.width)*c,t.arrow(h.x,h.y,r,a),this.enableShadow(t),t.fill(),this.disableShadow(t),t.stroke()}else{var f=void 0,m=void 0,v=this._getCircleData(t),g=n(v,3),y=g[0],b=g[1],w=g[2];"from"===e?(m=this.findBorderPosition(this.from,t,{x:y,y:b,low:.25,high:.6,direction:-1}),f=-2*m.t*Math.PI+1.5*Math.PI+.1*Math.PI):"to"===e?(m=this.findBorderPosition(this.from,t,{x:y,y:b,low:.6,high:1,direction:1}),f=-2*m.t*Math.PI+1.5*Math.PI-1.1*Math.PI):(m=this._pointOnCircle(y,b,w,.175),f=3.9269908169872414);var _=(10+5*this.options.width)*c;t.arrow(m.x,m.y,f,_),this.enableShadow(t),t.fill(),this.disableShadow(t),t.stroke()}}},{key:"enableShadow",value:function(t){this.options.shadow.enabled===!0&&(t.shadowColor=this.options.shadow.color,t.shadowBlur=this.options.shadow.size,t.shadowOffsetX=this.options.shadow.x,t.shadowOffsetY=this.options.shadow.y)}},{key:"disableShadow",value:function(t){this.options.shadow.enabled===!0&&(t.shadowColor="rgba(0,0,0,0)",t.shadowBlur=0,t.shadowOffsetX=0,t.shadowOffsetY=0)}}]),t}();e["default"]=a,t.exports=e["default"]},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var r=function(){function t(t,e){for(var i=0;i=this.to.y?this.from.x<=this.to.x?(t=this.from.x+i*s,e=this.from.y-i*s):this.from.x>this.to.x&&(t=this.from.x-i*s,e=this.from.y-i*s):this.from.ythis.to.x&&(t=this.from.x-i*s,e=this.from.y+i*s)),"discrete"===o&&(t=i*s>n?this.from.x:t)):Math.abs(this.from.x-this.to.x)>Math.abs(this.from.y-this.to.y)&&(this.from.y>=this.to.y?this.from.x<=this.to.x?(t=this.from.x+i*n,e=this.from.y-i*n):this.from.x>this.to.x&&(t=this.from.x-i*n,e=this.from.y-i*n):this.from.ythis.to.x&&(t=this.from.x-i*n,e=this.from.y+i*n)),"discrete"===o&&(e=i*n>s?this.from.y:e));else if("straightCross"===o)Math.abs(this.from.x-this.to.x)<=Math.abs(this.from.y-this.to.y)?(t=this.from.x,e=this.from.yMath.abs(this.from.y-this.to.y)&&(t=this.from.x=this.to.y?this.from.x<=this.to.x?(t=this.from.x+i*s,e=this.from.y-i*s,t=this.to.xthis.to.x&&(t=this.from.x-i*s,e=this.from.y-i*s,t=this.to.x>t?this.to.x:t):this.from.ythis.to.x&&(t=this.from.x-i*s,e=this.from.y+i*s,t=this.to.x>t?this.to.x:t)):Math.abs(this.from.x-this.to.x)>Math.abs(this.from.y-this.to.y)&&(this.from.y>=this.to.y?this.from.x<=this.to.x?(t=this.from.x+i*n,e=this.from.y-i*n,e=this.to.y>e?this.to.y:e):this.from.x>this.to.x&&(t=this.from.x-i*n,e=this.from.y-i*n,e=this.to.y>e?this.to.y:e):this.from.ythis.to.x&&(t=this.from.x-i*n,e=this.from.y+i*n,e=this.to.y1||this.startedStabilization===!0)&&setTimeout(function(){t.body.emitter.emit("stabilized",{iterations:e}),t.startedStabilization=!1,t.stabilizationIterations=0},0)}},{key:"physicsTick",value:function(){if(this.startedStabilization===!1&&(this.body.emitter.emit("startStabilizing"),this.startedStabilization=!0),this.stabilized===!1){if(this.adaptiveTimestep===!0&&this.adaptiveTimestepEnabled===!0){var t=1.2;this.adaptiveCounter%this.adaptiveInterval===0?(this.timestep=2*this.timestep,this.calculateForces(),this.moveNodes(),this.revert(),this.timestep=.5*this.timestep,this.calculateForces(),this.moveNodes(),this.calculateForces(),this.moveNodes(),this._evaluateStepQuality()===!0?this.timestep=t*this.timestep:this.timestep/ts))return!1;return!0}},{key:"moveNodes",value:function(){for(var t=this.physicsBody.physicsNodeIndices,e=this.options.maxVelocity?this.options.maxVelocity:1e9,i=0,o=0,n=5,s=0;se?s[t].x>0?e:-e:s[t].x,i.x+=s[t].x*o}else n[t].x=0,s[t].x=0;if(i.options.fixed.y===!1){var h=this.modelOptions.damping*s[t].y,d=(n[t].y-h)/i.options.mass;s[t].y+=d*o,s[t].y=Math.abs(s[t].y)>e?s[t].y>0?e:-e:s[t].y,i.y+=s[t].y*o}else n[t].y=0,s[t].y=0;var l=Math.sqrt(Math.pow(s[t].x,2)+Math.pow(s[t].y,2));return l}},{key:"calculateForces",value:function(){this.gravitySolver.solve(),this.nodesSolver.solve(),this.edgesSolver.solve()}},{key:"_freezeNodes",value:function(){var t=this.body.nodes;for(var e in t)t.hasOwnProperty(e)&&t[e].x&&t[e].y&&(this.freezeCache[e]={x:t[e].options.fixed.x,y:t[e].options.fixed.y},t[e].options.fixed.x=!0,t[e].options.fixed.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]?this.options.stabilization.iterations:arguments[0];return"number"!=typeof e&&(console.log("The stabilize method needs a numeric amount of iterations. Switching to default: ",this.options.stabilization.iterations),e=this.options.stabilization.iterations),0===this.physicsBody.physicsNodeIndices.length?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,this.options.stabilization.onlyDynamicEdges===!0&&this._freezeNodes(),this.stabilizationIterations=0,void setTimeout(function(){return t._stabilizationBatch()},0))}},{key:"_stabilizationBatch",value:function(){this.startedStabilization===!1&&(this.body.emitter.emit("startStabilizing"),this.startedStabilization=!0);for(var t=0;this.stabilized===!1&&t0){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;o>s;s++)t=e[i[s]],t.options.mass>0&&(this._getForceContribution(n.root.children.NW,t),this._getForceContribution(n.root.children.NE,t),this._getForceContribution(n.root.children.SW,t),this._getForceContribution(n.root.children.SE,t))}}},{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._getForceContribution(t.children.NW,e),this._getForceContribution(t.children.NE,e),this._getForceContribution(t.children.SW,e),this._getForceContribution(t.children.SE,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&&(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;o>h;h++){var d=t[e[h]].x,l=t[e[h]].y;t[e[h]].options.mass>0&&(n>d&&(n=d),d>r&&(r=d),s>l&&(s=l),l>a&&(a=l))}var u=Math.abs(r-n)-Math.abs(a-s);u>0?(s-=.5*u,a+=.5*u):(n+=.5*u,r-=.5*u);var c=1e-5,p=Math.max(c,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 h=0;o>h;h++)i=t[e[h]],i.options.mass>0&&this._placeInTree(g.root,i);return g}},{key:"_updateBranchMass",value:function(t,e){var i=t.mass+e.options.mass,o=1/i;t.centerOfMass.x=t.centerOfMass.x*t.mass+e.x*e.options.mass,t.centerOfMass.x*=o,t.centerOfMass.y=t.centerOfMass.y*t.mass+e.y*e.options.mass,t.centerOfMass.y*=o,t.mass=i;var n=Math.max(Math.max(e.height,e.radius),e.width);t.maxWidth=t.maxWidthe.x?t.children.NW.range.maxY>e.y?this._placeInRegion(t,e,"NW"):this._placeInRegion(t,e,"SW"):t.children.NW.range.maxY>e.y?this._placeInRegion(t,e,"NE"):this._placeInRegion(t,e,"SE")}},{key:"_placeInRegion",value:function(t,e,i){switch(t.children[i].childrenCount){case 0:t.children[i].children.data=e,t.children[i].childrenCount=1,this._updateBranchMass(t.children[i],e);break;case 1:t.children[i].children.data.x===e.x&&t.children[i].children.data.y===e.y?(e.x+=this.seededRandom(),e.y+=this.seededRandom()):(this._splitBranch(t.children[i]),this._placeInTree(t.children[i],e));break;case 4:this._placeInTree(t.children[i],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"]=n,t.exports=e["default"]},function(t,e){function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var i=0;ii&&(s=.5*u>i?1:c*i+p,s/=i,o=t*s,n=e*s,l[r.id].x-=o,l[r.id].y-=n,l[a.id].x+=o,l[a.id].y+=n)}}}]),t}();e["default"]=n,t.exports=e["default"]},function(t,e){function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var i=0;ii?-Math.pow(f*i,2)+Math.pow(f*p,2):0,0===i?i=.01:s/=i,o=t*s,n=e*s,c[r.id].x-=o,c[r.id].y-=n,c[a.id].x+=o,c[a.id].y+=n}}}]),t}();e["default"]=n,t.exports=e["default"]},function(t,e){function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var i=0;i0){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}(d["default"]);e["default"]=l,t.exports=e["default"]},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var s=function(){function t(t,e){for(var i=0;i=t&&i.push(n.id)}for(var o=0;o0&&Object.keys(p).length>0&&m===!0&&o.push({nodes:c,edges:p})}}}for(var u=0;uo?r.x:o,n=r.ys?r.y:s;return{x:.5*(i+o),y:.5*(n+s)}}},{key:"openCluster",value:function(t,e){var i=arguments.length<=2||void 0===arguments[2]?!0:arguments[2];if(void 0===t)throw new Error("No clusterNodeId supplied to openCluster.");if(void 0===this.body.nodes[t])throw new Error("The clusterNodeId supplied to openCluster does not exist.");if(void 0===this.body.nodes[t].containedNodes)return void console.log("The node:"+t+" is not a cluster.");var o=this.body.nodes[t],n=o.containedNodes,s=o.containedEdges;if(void 0!==e&&void 0!==e.releaseFunction&&"function"==typeof e.releaseFunction){var r={},h={x:o.x,y:o.y};for(var d in n)if(n.hasOwnProperty(d)){var u=this.body.nodes[d];r[d]={x:u.x,y:u.y}}var c=e.releaseFunction(h,r);for(var d in n)if(n.hasOwnProperty(d)){var u=this.body.nodes[d];void 0!==c[d]&&(u.x=void 0===c[d].x?o.x:c[d].x,u.y=void 0===c[d].y?o.y:c[d].y)}}else for(var d in n)if(n.hasOwnProperty(d)){var u=this.body.nodes[d];u=n[d],u.options.fixed.x===!1&&(u.x=o.x),u.options.fixed.y===!1&&(u.y=o.y)}for(var d in n)if(n.hasOwnProperty(d)){var u=this.body.nodes[d];u.vx=o.vx,u.vy=o.vy,u.setOptions({hidden:!1,physics:!0}),delete this.clusteredNodes[d]}for(var p=[],f=0;fo;)e.push(this.body.nodes[t].id),t=this.clusteredNodes[t].clusterId,o++;return e.push(this.body.nodes[t].id),e.reverse(),e}},{key:"_getConnectedId",value:function(t,e){return t.toId!=e?t.toId:t.fromId!=e?t.fromId:t.fromId}},{key:"_getHubSize",value:function(){for(var t=0,e=0,i=0,o=0,n=0;no&&(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}}]),t}();e["default"]=u,t.exports=e["default"]},function(t,e,i){function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var i=0;i0)for(var a=0;ae.shape.boundingBox.left&&(s=e.shape.boundingBox.left),re.shape.boundingBox.top&&(o=e.shape.boundingBox.top),n0)for(var a=0;ae.x&&(s=e.x),re.y&&(o=e.y),n0,t.renderTimer=void 0}),this.body.emitter.on("destroy",function(){t.renderRequests=0,t.allowRedraw=!1,t.renderingActive=!1,t.requiresTimeout===!0?clearTimeout(t.renderTimer):cancelAnimationFrame(t.renderTimer),t.body.emitter.off()})}},{key:"setOptions",value:function(t){if(void 0!==t){var e=["hideEdgesOnDrag","hideNodesOnDrag"];s.selectiveDeepExtend(e,this.options,t)}}},{key:"_startRendering",value:function(){this.renderingActive===!0&&void 0===this.renderTimer&&(this.requiresTimeout===!0?this.renderTimer=window.setTimeout(this._renderStep.bind(this),this.simulationInterval):this.renderTimer=window.requestAnimationFrame(this._renderStep.bind(this)))}},{key:"_renderStep",value:function(){this.renderingActive===!0&&(this.renderTimer=void 0,this.requiresTimeout===!0&&this._startRendering(),this._redraw(),this.requiresTimeout===!1&&this._startRendering())}},{key:"redraw",value:function(){this.body.emitter.emit("setSize"),this._redraw()}},{key:"_requestRedraw",value:function(){var t=this;this.redrawRequested!==!0&&this.renderingActive===!1&&this.allowRedraw===!0&&(this.redrawRequested=!0,this.requiresTimeout===!0?window.setTimeout(function(){t._redraw(!1)},0):window.requestAnimationFrame(function(){t._redraw(!1)}))}},{key:"_redraw",value:function(){var t=arguments.length<=0||void 0===arguments[0]?!1:arguments[0];if(this.allowRedraw===!0){this.body.emitter.emit("initRedraw"),this.redrawRequested=!1;var e=this.canvas.frame.canvas.getContext("2d");(0===this.canvas.frame.canvas.width||0===this.canvas.frame.canvas.height)&&this.canvas.setSize(),this.pixelRatio=(window.devicePixelRatio||1)/(e.webkitBackingStorePixelRatio||e.mozBackingStorePixelRatio||e.msBackingStorePixelRatio||e.oBackingStorePixelRatio||e.backingStorePixelRatio||1),e.setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0);var 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(),t===!1&&(this.dragging===!1||this.dragging===!0&&this.options.hideEdgesOnDrag===!1)&&this._drawEdges(e),(this.dragging===!1||this.dragging===!0&&this.options.hideNodesOnDrag===!1)&&this._drawNodes(e,t),e.beginPath(),this.body.emitter.emit("afterDrawing",e),e.closePath(),e.restore(),t===!0&&e.clearRect(0,0,i,o)}}},{key:"_resizeNodes",value:function(){var t=this.canvas.frame.canvas.getContext("2d");void 0===this.pixelRatio&&(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),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]?!1:arguments[1],i=this.body.nodes,o=this.body.nodeIndices,n=void 0,s=[],r=20,a=this.canvas.DOMtoCanvas({x:-r,y:-r}),h=this.canvas.DOMtoCanvas({x:this.canvas.frame.canvas.clientWidth+r,y:this.canvas.frame.canvas.clientHeight+r}),d={top:a.y,left:a.x,bottom:h.y,right:h.x},l=0;l0){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){var t=this.frame.canvas.getContext("2d");this.pixelRatio=(window.devicePixelRatio||1)/(t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1),this.frame.canvas.getContext("2d").setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0)}else{var e=document.createElement("DIV");e.style.color="red",e.style.fontWeight="bold",e.style.padding="10px",e.innerHTML="Error: your browser does not support HTML canvas",this.frame.canvas.appendChild(e)}this.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 s(this.frame.canvas),this.hammer.get("pinch").set({enable:!0}),this.hammer.get("pan").set({threshold:5,direction:30}),r.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 s(this.frame),r.onRelease(this.hammerFrame,function(e){t.body.eventListeners.onRelease(e)})}},{key:"setSize",value:function(){var t=arguments.length<=0||void 0===arguments[0]?this.options.width:arguments[0],e=arguments.length<=1||void 0===arguments[1]?this.options.height:arguments[1];t=this._prepareValue(t),e=this._prepareValue(e);var i=!1,o=this.frame.canvas.width,n=this.frame.canvas.height,s=this.frame.canvas.getContext("2d"),r=this.pixelRatio;return this.pixelRatio=(window.devicePixelRatio||1)/(s.webkitBackingStorePixelRatio||s.mozBackingStorePixelRatio||s.msBackingStorePixelRatio||s.oBackingStorePixelRatio||s.backingStorePixelRatio||1),t!=this.options.width||e!=this.options.height||this.frame.style.width!=t||this.frame.style.height!=e?(this._getCameraState(r),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,i=!0):((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._getCameraState(r),this.frame.canvas.width!=Math.round(this.frame.canvas.clientWidth*this.pixelRatio)&&(this.frame.canvas.width=Math.round(this.frame.canvas.clientWidth*this.pixelRatio),i=!0),this.frame.canvas.height!=Math.round(this.frame.canvas.clientHeight*this.pixelRatio)&&(this.frame.canvas.height=Math.round(this.frame.canvas.clientHeight*this.pixelRatio),i=!0)),i===!0&&(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()),i}},{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"]=h,t.exports=e["default"]},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var s=function(){function t(t,e){for(var i=0;i.5*this.body.nodeIndices.length)return void this.fit(t,!1);i=a["default"].getRange(this.body.nodes,t.nodes);var h=this.body.nodeIndices.length;o=12.662/(h+7.4147)+.0964822;var d=Math.min(this.canvas.frame.canvas.clientWidth/600,this.canvas.frame.canvas.clientHeight/600);o*=d}else{this.body.emitter.emit("_resizeNodes"),i=a["default"].getRange(this.body.nodes,t.nodes);var l=1.1*Math.abs(i.maxX-i.minX),u=1.1*Math.abs(i.maxY-i.minY),c=this.canvas.frame.canvas.clientWidth/l,p=this.canvas.frame.canvas.clientHeight/u;o=p>=c?c:p}o>1?o=1:0===o&&(o=1);var f=a["default"].findCenter(i),m={position:f,scale:o,animation:t.animation};this.moveTo(m)}},{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){return void 0===t?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}),t.animation===!1&&(t.animation={duration:0}),t.animation===!0&&(t.animation={}),void 0===t.animation.duration&&(t.animation.duration=1e3),void 0===t.animation.easingFunction&&(t.animation.easingFunction="easeInOutQuad"),void this.animateView(t))}},{key:"animateView",value:function(t){if(void 0!==t){this.animationEasingFunction=t.animation.easingFunction,this.releaseNode(),t.locked===!0&&(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]?!1:arguments[0];this.easingTime+=this.animationSpeed,this.easingTime=t===!0?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"]=d,t.exports=e["default"]},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var s=function(){function t(t,e){for(var i=0;i50&&(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]?!1:arguments[2],o=this.selectionHandler._getSelectedEdgeCount(),n=this.selectionHandler._getSelectedNodeCount(),s=this.selectionHandler.getSelection(),r=void 0;r=i===!0?this.selectionHandler.selectAdditionalOnPoint(t):this.selectionHandler.selectOnPoint(t);var a=this.selectionHandler._getSelectedEdgeCount(),h=this.selectionHandler._getSelectedNodeCount(),d=this.selectionHandler.getSelection(),l=this._determineIfDifferent(s,d),u=l.nodesChanges,c=l.edgesChanges,p=!1;h-n>0?(this.selectionHandler._generateClickEvent("selectNode",e,t),r=!0,p=!0):0>h-n?(this.selectionHandler._generateClickEvent("deselectNode",e,t,s),r=!0):h===n&&u===!0&&(this.selectionHandler._generateClickEvent("deselectNode",e,t,s),this.selectionHandler._generateClickEvent("selectNode",e,t),p=!0,r=!0),a-o>0&&p===!1?(this.selectionHandler._generateClickEvent("selectEdge",e,t),r=!0):0>a-o?(this.selectionHandler._generateClickEvent("deselectEdge",e,t,s),r=!0):a===o&&c===!0&&(this.selectionHandler._generateClickEvent("deselectEdge",e,t,s),this.selectionHandler._generateClickEvent("selectEdge",e,t),r=!0),r===!0&&this.selectionHandler._generateClickEvent("select",e,t)}},{key:"_determineIfDifferent",value:function(t,e){for(var i=!1,o=!1,n=0;nt&&(t=1e-5),t>10&&(t=10);var o=void 0;void 0!==this.drag&&this.drag.dragging===!0&&(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"),t>i?this.body.emitter.emit("zoom",{direction:"+",scale:this.body.view.scale}):this.body.emitter.emit("zoom",{direction:"-",scale:this.body.view.scale})}}},{key:"onMouseWheel",value:function(t){var e=0;if(t.wheelDelta?e=t.wheelDelta/120:t.detail&&(e=-t.detail/3),0!==e){var i=this.body.view.scale,o=e/10;0>e&&(o/=1-o),i*=1+o;var n=this.getPointer({x:t.clientX,y:t.clientY});this.zoom(i,n)}t.preventDefault()}},{key:"onMouseMove",value:function(t){var e=this,i=this.getPointer({x:t.clientX,y:t.clientY}),o=!1;if(void 0!==this.popup&&(this.popup.hidden===!1&&this._checkHidePopup(i),this.popup.hidden===!1&&(o=!0,this.popup.setPosition(i.x+3,i.y-5),this.popup.show())),this.options.keyboard.bindToWindow===!1&&this.options.keyboard.enabled===!0&&this.canvas.frame.focus(),o===!1&&(void 0!==this.popupTimer&&(clearInterval(this.popupTimer),this.popupTimer=void 0),this.drag.dragging||(this.popupTimer=setTimeout(function(){return e._checkShowPopup(i)},this.options.tooltipDelay))),this.options.hover===!0){var n=this.selectionHandler.getNodeAt(i);void 0===n&&(n=this.selectionHandler.getEdgeAt(i)),this.selectionHandler.hoverObject(n)}}},{key:"_checkShowPopup",value:function(t){var e=this.canvas._XconvertDOMtoCanvas(t.x),i=this.canvas._YconvertDOMtoCanvas(t.y),o={left:e,top:i,right:e,bottom:i},n=void 0===this.popupObj?void 0:this.popupObj.id,s=!1,r="node";if(void 0===this.popupObj){for(var a=this.body.nodeIndices,h=this.body.nodes,l=void 0,u=[],c=0;c0&&(this.popupObj=h[u[u.length-1]],s=!0)}if(void 0===this.popupObj&&s===!1){for(var p=this.body.edgeIndices,f=this.body.edges,m=void 0,v=[],c=0;c0&&(this.popupObj=f[v[v.length-1]],r="edge")}void 0!==this.popupObj?this.popupObj.id!==n&&(void 0===this.popup&&(this.popup=new d["default"](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]&&(i=this.body.nodes[this.popup.popupTargetId].isOverlappingWith(e),i===!0)){var o=this.selectionHandler.getNodeAt(t);i=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));i===!1&&(this.popupObj=void 0,this.popup.hide(),this.body.emitter.emit("hidePopup"))}}]),t}();e["default"]=u,t.exports=e["default"]},function(t,e,i){function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var i=0;i700&&(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(){this.body.view.scale*=1+this.options.keyboard.speed.zoom,this.body.emitter.emit("zoom",{direction:"+",scale:this.body.view.scale})}},{key:"_zoomOut",value:function(){this.body.view.scale/=1+this.options.keyboard.speed.zoom,this.body.emitter.emit("zoom",{direction:"-",scale:this.body.view.scale})}},{key:"configureKeyboardBindings",value:function(){var t=this;void 0!==this.keycharm&&this.keycharm.destroy(),this.options.keyboard.enabled===!0&&(this.options.keyboard.bindToWindow===!0?this.keycharm=a({container:window,preventDefault:!0}):this.keycharm=a({container:this.canvas.frame,preventDefault:!0}),this.keycharm.reset(),this.activated===!0&&(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"]=h,t.exports=e["default"]},function(t,e){function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var i=0;io&&(s=o-e-this.padding),sn&&(r=n-i-this.padding),r0?e===!0?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;o0?e===!0?this.body.edges[o[o.length-1]]:o[o.length-1]:void 0}},{key:"_addToSelection",value:function(t){t instanceof s?this.selectionObj.nodes[t.id]=t:this.selectionObj.edges[t.id]=t}},{key:"_addToHover",value:function(t){t instanceof s?this.hoverObj.nodes[t.id]=t:this.hoverObj.edges[t.id]=t}},{key:"_removeFromSelection",value:function(t){t instanceof s?(delete this.selectionObj.nodes[t.id],this._unselectConnectedEdges(t)):delete this.selectionObj.edges[t.id]}},{key:"unselectAll",value:function(){for(var t in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(t)&&this.selectionObj.nodes[t].unselect();for(var e in this.selectionObj.edges)this.selectionObj.edges.hasOwnProperty(e)&&this.selectionObj.edges[e].unselect();this.selectionObj={nodes:{},edges:{}}}},{key:"_getSelectedNodeCount",value:function(){var t=0;for(var e in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(e)&&(t+=1);return t}},{key:"_getSelectedNode",value:function(){for(var t in this.selectionObj.nodes)if(this.selectionObj.nodes.hasOwnProperty(t))return this.selectionObj.nodes[t]}},{key:"_getSelectedEdge",value:function(){for(var t in this.selectionObj.edges)if(this.selectionObj.edges.hasOwnProperty(t))return this.selectionObj.edges[t]}},{key:"_getSelectedEdgeCount",value:function(){var t=0;for(var e in this.selectionObj.edges)this.selectionObj.edges.hasOwnProperty(e)&&(t+=1);return t}},{key:"_getSelectedObjectCount",value:function(){var t=0;for(var e in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(e)&&(t+=1);for(var i in this.selectionObj.edges)this.selectionObj.edges.hasOwnProperty(i)&&(t+=1);return t}},{key:"_selectionIsEmpty",value:function(){for(var t in this.selectionObj.nodes)if(this.selectionObj.nodes.hasOwnProperty(t))return!1;for(var e in this.selectionObj.edges)if(this.selectionObj.edges.hasOwnProperty(e))return!1;return!0}},{key:"_clusterInSelection",value:function(){for(var t in this.selectionObj.nodes)if(this.selectionObj.nodes.hasOwnProperty(t)&&this.selectionObj.nodes[t].clusterSize>1)return!0;return!1}},{key:"_selectConnectedEdges",value:function(t){for(var e=0;e0&&(this.options.hierarchical.levelSeparation*=-1):this.options.hierarchical.levelSeparation<0&&(this.options.hierarchical.levelSeparation*=-1),this.body.emitter.emit("_resetHierarchicalLayout"),this.adaptAllOptionsForHierarchicalLayout(e);if(i===!0)return this.body.emitter.emit("refresh"),h.deepExtend(e,this.optionsBackup)}return e}},{key:"adaptAllOptionsForHierarchicalLayout",value:function(t){if(this.options.hierarchical.enabled===!0){void 0===t.physics||t.physics===!0?(t.physics={solver:"hierarchicalRepulsion"},this.optionsBackup.physics={solver:"barnesHut"}):"object"==typeof t.physics?(this.optionsBackup.physics={solver:"barnesHut"},void 0!==t.physics.solver&&(this.optionsBackup.physics={solver:t.physics.solver}),t.physics.solver="hierarchicalRepulsion"):t.physics!==!1&&(this.optionsBackup.physics={solver:"barnesHut"},t.physics.solver="hierarchicalRepulsion");var e="horizontal";("RL"===this.options.hierarchical.direction||"LR"===this.options.hierarchical.direction)&&(e="vertical"),void 0===t.edges?(this.optionsBackup.edges={smooth:{enabled:!0,type:"dynamic"}},t.edges={smooth:!1}):void 0===t.edges.smooth?(this.optionsBackup.edges={smooth:{enabled:!0,type:"dynamic"}},t.edges.smooth=!1):"boolean"==typeof t.edges.smooth?(this.optionsBackup.edges={smooth:t.edges.smooth},t.edges.smooth={enabled:t.edges.smooth,type:e}):(void 0!==t.edges.smooth.type&&"dynamic"!==t.edges.smooth.type&&(e=t.edges.smooth.type),this.optionsBackup.edges={smooth:void 0===t.edges.smooth.enabled?!0:t.edges.smooth.enabled,type:void 0===t.edges.smooth.type?"dynamic":t.edges.smooth.type,roundness:void 0===t.edges.smooth.roundness?.5:t.edges.smooth.roundness,forceDirection:void 0===t.edges.smooth.forceDirection?!1:t.edges.smooth.forceDirection},t.edges.smooth={enabled:void 0===t.edges.smooth.enabled?!0:t.edges.smooth.enabled,type:e,roundness:void 0===t.edges.smooth.roundness?.5:t.edges.smooth.roundness,forceDirection:void 0===t.edges.smooth.forceDirection?!1:t.edges.smooth.forceDirection}),this.body.emitter.emit("_forceDisableDynamicCurves",e)}return t}},{key:"seededRandom",value:function(){var t=1e4*Math.sin(this.randomSeed++);return t-Math.floor(t)}},{key:"positionInitially",value:function(t){if(this.options.hierarchical.enabled!==!0){this.randomSeed=this.initialRandomSeed;for(var e=0;es){for(var r=this.body.nodeIndices.length;this.body.nodeIndices.length>s;){n+=1;var a=this.body.nodeIndices.length;n%3===0?this.body.modules.clustering.clusterBridges():this.body.modules.clustering.clusterOutliers();var h=this.body.nodeIndices.length;if(a==h&&n%3!==0||n>o)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*r)})}this.body.modules.kamadaKawai.solve(this.body.nodeIndices,this.body.edgeIndices,!0),this._shiftToCenter();for(var d=70,e=0;e0){var t=void 0,e=void 0,i=!1,o=!1;this.hierarchicalLevels={},this.nodeSpacing=100;for(e in this.body.nodes)this.body.nodes.hasOwnProperty(e)&&(t=this.body.nodes[e],void 0!==t.options.level?(i=!0,this.hierarchicalLevels[e]=t.options.level):o=!0);if(o===!0&&i===!0)throw new Error("To use the hierarchical layout, nodes require either no predefined levels or levels have to be defined for all nodes.");o===!0&&("hubsize"===this.options.hierarchical.sortMethod?this._determineLevelsByHubsize():"directed"===this.options.hierarchical.sortMethod?this._determineLevelsDirected():"custom"===this.options.hierarchical.sortMethod&&this._determineLevelsCustomCallback());var n=this._getDistribution();this._generateMap(),this._placeNodesByHierarchy(n),this._condenseHierarchy(n),this._shiftToCenter()}}},{key:"_condenseHierarchy",value:function(t){}},{key:"_placeNodesByHierarchy",value:function(t){this.positionedNodes={};for(var e in t)if(t.hasOwnProperty(e)){var i=Object.keys(t[e]);i=this._indexArrayToNodes(i),this._sortNodeArray(i);for(var o=0;o0&&(e=this._getHubSize(),0!==e);)for(var o in this.body.nodes)if(this.body.nodes.hasOwnProperty(o)){var n=this.body.nodes[o];n.edges.length===e&&this._crawlNetwork(i,o)}}},{key:"_determineLevelsCustomCallback",value:function(){var t=this,e=1e5,i=function(t,e,i){},o=function(o,n,s){var r=t.hierarchicalLevels[o.id];void 0===r&&(t.hierarchicalLevels[o.id]=e);var h=i(a["default"].cloneOptions(o,"node"),a["default"].cloneOptions(n,"node"),a["default"].cloneOptions(s,"edge"));t.hierarchicalLevels[n.id]=t.hierarchicalLevels[o.id]+h};this._crawlNetwork(o),this._setMinLevelToZero()}},{key:"_determineLevelsDirected",value:function(){var t=this,e=1e4,i=function(i,o,n){var s=t.hierarchicalLevels[i.id];void 0===s&&(t.hierarchicalLevels[i.id]=e),n.toId==o.id?t.hierarchicalLevels[o.id]=t.hierarchicalLevels[i.id]+1:t.hierarchicalLevels[o.id]=t.hierarchicalLevels[i.id]-1};this._crawlNetwork(i),this._setMinLevelToZero()}},{key:"_setMinLevelToZero",value:function(){var t=1e9;for(var e in this.body.nodes)this.body.nodes.hasOwnProperty(e)&&(t=Math.min(this.hierarchicalLevels[e],t));for(var e in this.body.nodes)this.body.nodes.hasOwnProperty(e)&&(this.hierarchicalLevels[e]-=t)}},{key:"_generateMap",value:function(){var t=this,e=function(e,i){if(t.hierarchicalLevels[i.id]>t.hierarchicalLevels[e.id]){var o=e.id,n=i.id;void 0===t.hierarchicalParents[o]&&(t.hierarchicalParents[o]={children:[],amount:0}),t.hierarchicalParents[o].children.push(n),void 0===t.hierarchicalChildren[n]&&(t.hierarchicalChildren[n]={parents:[],amount:0}),t.hierarchicalChildren[n].parents.push(o)}};this._crawlNetwork(e)}},{key:"_crawlNetwork",value:function(t,e){void 0===t&&(t=function(){});var i={},o=function r(e){if(void 0===i[e.id]){i[e.id]=!0;for(var o=void 0,n=0;ne&&void 0===this.positionedNodes[n.id]))return;var r=void 0;if(r=0===o?this._getPositionForHierarchy(this.body.nodes[t]):this._getPositionForHierarchy(i[o-1])+this.nodeSpacing,this._setPositionForHierarchy(n,r),void 0!==this.lastNodeOnLevel[s]){var a=this._getPositionForHierarchy(this.body.nodes[this.lastNodeOnLevel[s]]);if(r-a1&&("UD"===this.options.hierarchical.direction||"DU"===this.options.hierarchical.direction?t.sort(function(t,e){return t.x-e.x}):t.sort(function(t,e){return t.y-e.y}))}}]),t}();e["default"]=d,t.exports=e["default"]},function(t,e,i){function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var i=0;i0&&this.options.deleteNode!==!1?(n===!0&&this._createSeperator(4),this._createDeleteButton(o)):0===t&&this.options.deleteEdge!==!1&&(n===!0&&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(this.editMode!==!0&&this.enableEditMode(),this._clean(),this.inMode="addNode",this.guiEnabled===!0){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;this.editMode!==!0&&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(e.isCluster!==!0){var i=s.deepExtend({},e.options,!0);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(this.editMode!==!0&&this.enableEditMode(),this._clean(),this.inMode="addEdge",this.guiEnabled===!0){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",function(){}),this._temporaryBindUI("onHold",function(){})}},{key:"editEdgeMode",value:function(){var t=this;if(this.editMode!==!0&&this.enableEditMode(),this._clean(),this.inMode="editEdge",this.guiEnabled===!0){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))}this.edgeBeingEditedId=this.selectionHandler.getSelectedEdges()[0],void 0!==this.edgeBeingEditedId?!function(){var e=t.body.edges[t.edgeBeingEditedId],i=t._getNewTargetNode(e.from.x,e.from.y),o=t._getNewTargetNode(e.to.x,e.to.y);t.temporaryIds.nodes.push(i.id),t.temporaryIds.nodes.push(o.id),t.body.nodes[i.id]=i,t.body.nodeIndices.push(i.id),t.body.nodes[o.id]=o,t.body.nodeIndices.push(o.id),t._temporaryBindUI("onTouch",t._controlNodeTouch.bind(t)),t._temporaryBindUI("onTap",function(){}),t._temporaryBindUI("onHold",function(){}),t._temporaryBindUI("onDragStart",t._controlNodeDragStart.bind(t)),t._temporaryBindUI("onDrag",t._controlNodeDrag.bind(t)),t._temporaryBindUI("onDragEnd",t._controlNodeDragEnd.bind(t)),t._temporaryBindUI("onMouseMove",function(){}),t._temporaryBindEvent("beforeDrawing",function(t){var n=e.edgeType.findBorderPositions(t);i.selected===!1&&(i.x=n.from.x,i.y=n.from.y),o.selected===!1&&(o.x=n.to.x,o.y=n.to.y)}),t.body.emitter.emit("_redraw")}():this.showManipulatorToolbar()}},{key:"deleteSelected",value:function(){var t=this;this.editMode!==!0&&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(){this.options.enabled===!0?(this.guiEnabled=!0,this._createWrappers(),this.editMode===!1?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",this.editMode===!0?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",this.editMode===!0?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=s.deepExtend({},this.options.controlNodeStyle);i.id="targetNode"+s.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={},s.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,this.guiEnabled===!0&&(s.recursiveDOMDelete(this.editModeDiv),s.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;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(s.isCluster===!0)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=s.extend({},this.body.view.translation);var e=this.lastTouch,i=this.selectionHandler.getNodeAt(e);if(void 0!==i)if(i.isCluster===!0)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"+s.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&&(s.isCluster===!0?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:"_performAddNode",value:function(t){var e=this,i={id:s.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 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};if("function"==typeof this.options.editEdge){if(2!==this.options.editEdge.length)throw new Error("The function for edit does not support two arguments (data, callback)");this.options.editEdge(o,function(t){null===t||void 0===t||"editEdge"!==i.inMode?(i.body.edges[o.id].updateEdgeType(),i.body.emitter.emit("_redraw")):(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"]=h,t.exports=e["default"]},function(t,e){Object.defineProperty(e,"__esModule",{value:!0});var i="string",o="boolean",n="number",s="array",r="object",a="dom",h="any",d={configure:{enabled:{"boolean":o},filter:{"boolean":o,string:i,array:s,"function":"function"},container:{dom:a},showButton:{"boolean":o},__type__:{object:r,"boolean":o,string:i,array:s,"function":"function"}},edges:{arrows:{to:{enabled:{"boolean":o},scaleFactor:{number:n},__type__:{object:r,"boolean":o}},middle:{enabled:{"boolean":o},scaleFactor:{number:n},__type__:{object:r,"boolean":o}},from:{enabled:{"boolean":o},scaleFactor:{number:n},__type__:{object:r,"boolean":o}},__type__:{string:["from","to","middle"],object:r}},color:{color:{string:i},highlight:{string:i},hover:{string:i},inherit:{string:["from","to","both"],"boolean":o},opacity:{number:n},__type__:{object:r,string:i}},dashes:{"boolean":o,array:s},font:{color:{string:i},size:{number:n},face:{string:i},background:{string:i},strokeWidth:{number:n},strokeColor:{string:i},align:{string:["horizontal","top","middle","bottom"]},__type__:{object:r,string:i}},hidden:{"boolean":o},hoverWidth:{"function":"function",number:n},label:{string:i,undefined:"undefined"},labelHighlightBold:{"boolean":o},length:{number:n,undefined:"undefined"},physics:{"boolean":o},scaling:{min:{number:n},max:{number:n},label:{enabled:{"boolean":o},min:{number:n},max:{number:n},maxVisible:{number:n},drawThreshold:{number:n},__type__:{object:r,"boolean":o}},customScalingFunction:{"function":"function"},__type__:{object:r}},selectionWidth:{"function":"function",number:n},selfReferenceSize:{number:n},shadow:{enabled:{"boolean":o},color:{string:i},size:{number:n},x:{number:n},y:{number:n},__type__:{object:r,"boolean":o}},smooth:{enabled:{"boolean":o},type:{string:["dynamic","continuous","discrete","diagonalCross","straightCross","horizontal","vertical","curvedCW","curvedCCW","cubicBezier"]},roundness:{number:n},forceDirection:{string:["horizontal","vertical","none"],"boolean":o},__type__:{object:r,"boolean":o}},title:{string:i,undefined:"undefined"},width:{number:n},value:{number:n,undefined:"undefined"},__type__:{object:r}},groups:{useDefaultGroups:{"boolean":o},__any__:"get from nodes, will be overwritten below",__type__:{object:r}},interaction:{dragNodes:{"boolean":o},dragView:{"boolean":o},hideEdgesOnDrag:{"boolean":o},hideNodesOnDrag:{"boolean":o},hover:{"boolean":o},keyboard:{enabled:{"boolean":o},speed:{x:{number:n},y:{number:n},zoom:{number:n},__type__:{object:r}},bindToWindow:{"boolean":o},__type__:{object:r,"boolean":o}},multiselect:{"boolean":o},navigationButtons:{"boolean":o},selectable:{"boolean":o},selectConnectedEdges:{"boolean":o},hoverConnectedEdges:{"boolean":o},tooltipDelay:{number:n},zoomView:{"boolean":o},__type__:{object:r}},layout:{randomSeed:{undefined:"undefined",number:n},improvedLayout:{"boolean":o},hierarchical:{enabled:{"boolean":o},levelSeparation:{number:n},direction:{string:["UD","DU","LR","RL"]},sortMethod:{string:["hubsize","directed"]},__type__:{object:r,"boolean":o}},__type__:{object:r}},manipulation:{enabled:{"boolean":o},initiallyActive:{"boolean":o},addNode:{"boolean":o,"function":"function"},addEdge:{"boolean":o,"function":"function"},editNode:{"function":"function"},editEdge:{"boolean":o,"function":"function"},deleteNode:{"boolean":o,"function":"function"},deleteEdge:{"boolean":o,"function":"function"},controlNodeStyle:"get from nodes, will be overwritten below",__type__:{object:r,"boolean":o}},nodes:{borderWidth:{number:n},borderWidthSelected:{number:n,undefined:"undefined"},brokenImage:{string:i,undefined:"undefined"},color:{border:{string:i},background:{string:i},highlight:{border:{string:i},background:{string:i},__type__:{object:r,string:i}},hover:{border:{string:i},background:{string:i},__type__:{object:r,string:i}},__type__:{object:r,string:i}},fixed:{x:{"boolean":o},y:{"boolean":o},__type__:{object:r,"boolean":o}},font:{color:{string:i},size:{number:n},face:{string:i},background:{string:i},strokeWidth:{number:n},strokeColor:{string:i},__type__:{object:r,string:i}},group:{string:i,number:n,undefined:"undefined"},hidden:{"boolean":o},icon:{face:{string:i},code:{string:i},size:{number:n},color:{string:i},__type__:{object:r}},id:{string:i,number:n},image:{string:i,undefined:"undefined"},label:{string:i,undefined:"undefined"},labelHighlightBold:{"boolean":o},level:{number:n,undefined:"undefined"},mass:{number:n},physics:{"boolean":o},scaling:{min:{number:n},max:{number:n},label:{enabled:{"boolean":o},min:{number:n},max:{number:n},maxVisible:{number:n},drawThreshold:{number:n},__type__:{object:r,"boolean":o}},customScalingFunction:{"function":"function"},__type__:{object:r}},shadow:{enabled:{"boolean":o},color:{string:i},size:{number:n},x:{number:n},y:{number:n},__type__:{object:r,"boolean":o}},shape:{string:["ellipse","circle","database","box","text","image","circularImage","diamond","dot","star","triangle","triangleDown","square","icon"]},shapeProperties:{borderDashes:{"boolean":o,array:s},borderRadius:{number:n},useImageSize:{"boolean":o},useBorderWithImage:{"boolean":o},__type__:{object:r}},size:{number:n},title:{string:i,undefined:"undefined"},value:{number:n,undefined:"undefined"},x:{number:n},y:{number:n},__type__:{object:r}},physics:{enabled:{"boolean":o},barnesHut:{gravitationalConstant:{number:n},centralGravity:{number:n},springLength:{number:n},springConstant:{number:n},damping:{number:n},avoidOverlap:{number:n},__type__:{object:r}},forceAtlas2Based:{gravitationalConstant:{number:n +},centralGravity:{number:n},springLength:{number:n},springConstant:{number:n},damping:{number:n},avoidOverlap:{number:n},__type__:{object:r}},repulsion:{centralGravity:{number:n},springLength:{number:n},springConstant:{number:n},nodeDistance:{number:n},damping:{number:n},__type__:{object:r}},hierarchicalRepulsion:{centralGravity:{number:n},springLength:{number:n},springConstant:{number:n},nodeDistance:{number:n},damping:{number:n},__type__:{object:r}},maxVelocity:{number:n},minVelocity:{number:n},solver:{string:["barnesHut","repulsion","hierarchicalRepulsion","forceAtlas2Based"]},stabilization:{enabled:{"boolean":o},iterations:{number:n},updateInterval:{number:n},onlyDynamicEdges:{"boolean":o},fit:{"boolean":o},__type__:{object:r,"boolean":o}},timestep:{number:n},adaptiveTimestep:{"boolean":o},__type__:{object:r,"boolean":o}},autoResize:{"boolean":o},clickToUse:{"boolean":o},locale:{string:i},locales:{__any__:{any:h},__type__:{object:r}},height:{string:i},width:{string:i},__type__:{object:r}};d.groups.__any__=d.nodes,d.manipulation.controlNodeStyle=d.nodes;var l={nodes:{borderWidth:[1,0,10,1],borderWidthSelected:[2,0,10,1],color:{border:["color","#2B7CE9"],background:["color","#97C2FC"],highlight:{border:["color","#2B7CE9"],background:["color","#D2E5FF"]},hover:{border:["color","#2B7CE9"],background:["color","#D2E5FF"]}},fixed:{x:!1,y:!1},font:{color:["color","#343434"],size:[14,0,100,1],face:["arial","verdana","tahoma"],background:["color","none"],strokeWidth:[0,0,50,1],strokeColor:["color","#ffffff"]},hidden:!1,labelHighlightBold:!0,physics:!0,scaling:{min:[10,0,200,1],max:[30,0,200,1],label:{enabled:!1,min:[14,0,200,1],max:[30,0,200,1],maxVisible:[30,0,200,1],drawThreshold:[5,0,20,1]}},shadow:{enabled:!1,size:[10,0,20,1],x:[5,-30,30,1],y:[5,-30,30,1]},shape:["ellipse","box","circle","database","diamond","dot","square","star","text","triangle","triangleDown"],shapeProperties:{borderDashes:!1,borderRadius:[6,0,20,1],useImageSize:!1},size:[25,0,200,1]},edges:{arrows:{to:{enabled:!1,scaleFactor:[1,0,3,.05]},middle:{enabled:!1,scaleFactor:[1,0,3,.05]},from:{enabled:!1,scaleFactor:[1,0,3,.05]}},color:{color:["color","#848484"],highlight:["color","#848484"],hover:["color","#848484"],inherit:["from","to","both",!0,!1],opacity:[1,0,1,.05]},dashes:!1,font:{color:["color","#343434"],size:[14,0,100,1],face:["arial","verdana","tahoma"],background:["color","none"],strokeWidth:[2,0,50,1],strokeColor:["color","#ffffff"],align:["horizontal","top","middle","bottom"]},hidden:!1,hoverWidth:[1.5,0,5,.1],labelHighlightBold:!0,physics:!0,scaling:{min:[1,0,100,1],max:[15,0,100,1],label:{enabled:!0,min:[14,0,200,1],max:[30,0,200,1],maxVisible:[30,0,200,1],drawThreshold:[5,0,20,1]}},selectionWidth:[1.5,0,5,.1],selfReferenceSize:[20,0,200,1],shadow:{enabled:!1,size:[10,0,20,1],x:[5,-30,30,1],y:[5,-30,30,1]},smooth:{enabled:!0,type:["dynamic","continuous","discrete","diagonalCross","straightCross","horizontal","vertical","curvedCW","curvedCCW","cubicBezier"],forceDirection:["horizontal","vertical","none"],roundness:[.5,0,1,.05]},width:[1,0,30,1]},layout:{hierarchical:{enabled:!1,levelSeparation:[150,20,500,5],direction:["UD","DU","LR","RL"],sortMethod:["hubsize","directed"]}},interaction:{dragNodes:!0,dragView:!0,hideEdgesOnDrag:!1,hideNodesOnDrag:!1,hover:!1,keyboard:{enabled:!1,speed:{x:[10,0,40,1],y:[10,0,40,1],zoom:[.02,0,.1,.005]},bindToWindow:!0},multiselect:!1,navigationButtons:!1,selectable:!0,selectConnectedEdges:!0,hoverConnectedEdges:!0,tooltipDelay:[300,0,1e3,25],zoomView:!0},manipulation:{enabled:!1,initiallyActive:!1},physics:{enabled:!0,barnesHut:{gravitationalConstant:[-2e3,-3e4,0,50],centralGravity:[.3,0,10,.05],springLength:[95,0,500,5],springConstant:[.04,0,1.2,.005],damping:[.09,0,1,.01],avoidOverlap:[0,0,1,.01]},forceAtlas2Based:{gravitationalConstant:[-50,-500,0,1],centralGravity:[.01,0,1,.005],springLength:[95,0,500,5],springConstant:[.08,0,1.2,.005],damping:[.4,0,1,.01],avoidOverlap:[0,0,1,.01]},repulsion:{centralGravity:[.2,0,10,.05],springLength:[200,0,500,5],springConstant:[.05,0,1.2,.005],nodeDistance:[100,0,500,5],damping:[.09,0,1,.01]},hierarchicalRepulsion:{centralGravity:[.2,0,10,.05],springLength:[100,0,500,5],springConstant:[.01,0,1.2,.005],nodeDistance:[120,0,500,5],damping:[.09,0,1,.01]},maxVelocity:[50,0,150,1],minVelocity:[.1,.01,.5,.01],solver:["barnesHut","forceAtlas2Based","repulsion","hierarchicalRepulsion"],timestep:[.5,.01,1,.01]},global:{locale:["en","nl"]}};e.allOptions=d,e.configureOptions=l},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var s=function(){function t(t,e){var i=[],o=!0,n=!1,s=void 0;try{for(var r,a=t[Symbol.iterator]();!(o=(r=a.next()).done)&&(i.push(r.value),!e||i.length!==e);o=!0);}catch(h){n=!0,s=h}finally{try{!o&&a["return"]&&a["return"]()}finally{if(n)throw s}}return i}return function(e,i){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return t(e,i);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),r=function(){function t(t,e){for(var i=0;in&&h>a;){a+=1;var v=this._getHighestEnergyNode(i),g=s(v,4);for(u=g[0],l=g[1],c=g[2],p=g[3],f=l,m=0;f>r&&d>m;){m+=1,this._moveNode(u,c,p);var y=this._getEnergy(u),b=s(y,3);f=b[0],c=b[1],p=b[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;ho&&(o=c,n=d,r=p,a=f)}}return[n,o,r,a]}},{key:"_getEnergy",value:function(t){for(var e=this.body.nodeIndices,i=this.body.nodes,o=i[t].x,n=i[t].y,s=0,r=0,a=0;ad;d++)for(var s=0;h-1>s;s++)for(var r=s+1;h>r;r++)o[e[s]][e[r]]=Math.min(o[e[s]][e[r]],o[e[s]][e[d]]+o[e[d]][e[r]]),o[e[r]][e[s]]=o[e[s]][e[r]];return o}}]),t}();e["default"]=n,t.exports=e["default"]},function(t,e){"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;10>o;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;0>i-2*n&&(n=i/2),0>o-2*n&&(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=function(t,e,i,o){var n=.5522848,s=i/2*n,r=o/2*n,a=t+i,h=e+o,d=t+i/2,l=e+o/2;this.beginPath(),this.moveTo(t,l),this.bezierCurveTo(t,l-r,d-s,e,d,e),this.bezierCurveTo(d+s,e,a,l-r,a,l),this.bezierCurveTo(a,l+r,d+s,h,d,h),this.bezierCurveTo(d-s,h,t,l+r,t,l),this.closePath()},CanvasRenderingContext2D.prototype.database=function(t,e,i,o){var n=1/3,s=i,r=o*n,a=.5522848,h=s/2*a,d=r/2*a,l=t+s,u=e+r,c=t+s/2,p=e+r/2,f=e+(o-r/2),m=e+o;this.beginPath(),this.moveTo(l,p),this.bezierCurveTo(l,p+d,c+h,u,c,u),this.bezierCurveTo(c-h,u,t,p+d,t,p),this.bezierCurveTo(t,p-d,c-h,e,c,e),this.bezierCurveTo(c+h,e,l,p-d,l,p),this.lineTo(l,f),this.bezierCurveTo(l,f+d,c+h,m,c,m),this.bezierCurveTo(c-h,m,t,f+d,t,f),this.lineTo(t,p)},CanvasRenderingContext2D.prototype.arrow=function(t,e,i,o){var n=t-o*Math.cos(i),s=e-o*Math.sin(i),r=t-.9*o*Math.cos(i),a=e-.9*o*Math.sin(i),h=n+o/3*Math.cos(i+.5*Math.PI),d=s+o/3*Math.sin(i+.5*Math.PI),l=n+o/3*Math.cos(i-.5*Math.PI),u=s+o/3*Math.sin(i-.5*Math.PI);this.beginPath(),this.moveTo(t,e),this.lineTo(h,d),this.lineTo(r,a),this.lineTo(l,u),this.closePath()},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=0>r?-c:c,t+=c,e+=h*c,u===!0?this.lineTo(t,e):this.moveTo(t,e),d-=p,u=!u})},function(t,e){function i(t){return P=t,p()}function o(){I=0,N=P.charAt(0)}function n(){I++,N=P.charAt(I)}function s(){return P.charAt(I+1)}function r(t){return A.test(t)}function a(t,e){if(t||(t={}),e)for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i]);return t}function h(t,e,i){for(var o=e.split("."),n=t;o.length;){var s=o.shift();o.length?(n[s]||(n[s]={}),n=n[s]):n[s]=i}}function d(t,e){for(var i,o,n=null,s=[t],r=t;r.parent;)s.push(r.parent),r=r.parent;if(r.nodes)for(i=0,o=r.nodes.length;o>i;i++)if(e.id===r.nodes[i].id){n=r.nodes[i];break}for(n||(n={id:e.id},t.node&&(n.attr=a(n.attr,t.node))),i=s.length-1;i>=0;i--){var h=s[i];h.nodes||(h.nodes=[]),-1===h.nodes.indexOf(n)&&h.nodes.push(n)}e.attr&&(n.attr=a(n.attr,e.attr))}function l(t,e){if(t.edges||(t.edges=[]),t.edges.push(e),t.edge){var i=a({},t.edge);e.attr=a(i,e.attr)}}function u(t,e,i,o,n){var s={from:e,to:i,type:o};return t.edge&&(s.attr=a({},t.edge)),s.attr=a(s.attr||{},n),s}function c(){for(L=E.NULL,z="";" "===N||" "===N||"\n"===N||"\r"===N;)n();do{var t=!1;if("#"===N){for(var e=I-1;" "===P.charAt(e)||" "===P.charAt(e);)e--;if("\n"===P.charAt(e)||""===P.charAt(e)){for(;""!=N&&"\n"!=N;)n();t=!0}}if("/"===N&&"/"===s()){for(;""!=N&&"\n"!=N;)n();t=!0}if("/"===N&&"*"===s()){for(;""!=N;){if("*"===N&&"/"===s()){n(),n();break}n()}t=!0}for(;" "===N||" "===N||"\n"===N||"\r"===N;)n()}while(t);if(""===N)return void(L=E.DELIMITER);var i=N+s();if(S[i])return L=E.DELIMITER,z=i,n(),void n();if(S[N])return L=E.DELIMITER,z=N,void n();if(r(N)||"-"===N){for(z+=N,n();r(N);)z+=N,n();return"false"===z?z=!1:"true"===z?z=!0:isNaN(Number(z))||(z=Number(z)),void(L=E.IDENTIFIER)}if('"'===N){for(n();""!=N&&('"'!=N||'"'===N&&'"'===s());)z+=N,'"'===N&&n(),n();if('"'!=N)throw _('End of string " expected');return n(),void(L=E.IDENTIFIER)}for(L=E.UNKNOWN;""!=N;)z+=N,n();throw new SyntaxError('Syntax error in part "'+x(z,30)+'"')}function p(){var t={};if(o(),c(),"strict"===z&&(t.strict=!0,c()),("graph"===z||"digraph"===z)&&(t.type=z,c()),L===E.IDENTIFIER&&(t.id=z,c()),"{"!=z)throw _("Angle bracket { expected");if(c(),f(t),"}"!=z)throw _("Angle bracket } expected");if(c(),""!==z)throw _("End of file expected");return c(),delete t.node,delete t.edge,delete t.graph,t}function f(t){for(;""!==z&&"}"!=z;)m(t),";"===z&&c()}function m(t){var e=v(t);if(e)return void b(t,e);var i=g(t);if(!i){if(L!=E.IDENTIFIER)throw _("Identifier expected");var o=z;if(c(),"="===z){if(c(),L!=E.IDENTIFIER)throw _("Identifier expected");t[o]=z,c()}else y(t,o)}}function v(t){var e=null;if("subgraph"===z&&(e={},e.type="subgraph",c(),L===E.IDENTIFIER&&(e.id=z,c())),"{"===z){if(c(),e||(e={}),e.parent=t,e.node=t.node,e.edge=t.edge,e.graph=t.graph,f(e),"}"!=z)throw _("Angle bracket } expected");c(),delete e.node,delete e.edge,delete e.graph,delete e.parent,t.subgraphs||(t.subgraphs=[]),t.subgraphs.push(e)}return e}function g(t){return"node"===z?(c(),t.node=w(),"node"):"edge"===z?(c(),t.edge=w(),"edge"):"graph"===z?(c(),t.graph=w(),"graph"):null}function y(t,e){var i={id:e},o=w();o&&(i.attr=o),d(t,i),b(t,e)}function b(t,e){for(;"->"===z||"--"===z;){var i,o=z;c();var n=v(t);if(n)i=n;else{if(L!=E.IDENTIFIER)throw _("Identifier or subgraph expected");i=z,d(t,{id:i}),c()}var s=w(),r=u(t,e,i,o,s);l(t,r),e=i}}function w(){for(var t=null;"["===z;){for(c(),t={};""!==z&&"]"!=z;){if(L!=E.IDENTIFIER)throw _("Attribute name expected");var e=z;if(c(),"="!=z)throw _("Equal sign = expected");if(c(),L!=E.IDENTIFIER)throw _("Attribute value expected");var i=z;h(t,e,i),c(),","==z&&c()}if("]"!=z)throw _("Bracket ] expected");c()}return t}function _(t){return new SyntaxError(t+', got "'+x(z,30)+'" (char '+I+")")}function x(t,e){return t.length<=e?t:t.substr(0,27)+"..."}function k(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 O(t,e,i){for(var o=e.split("."),n=o.pop(),s=t,r=0;r":!0,"--":!0},P="",I=0,N="",z="",L=E.NULL,A=/[a-zA-Z_0-9.:#]/;e.parseDOT=i,e.DOTToGraph=D},function(t,e){function i(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;a + + shadow.color + String + 'rgba(0,0,0,0.5)' + The color size of the shadow as a string. Supported formats are 'rgb(255,255,255)', 'rgba(255,255,255,1)' and '#FFFFFF'. + shadow.size Number diff --git a/docs/network/index.html b/docs/network/index.html index 4878c6aa..4fe58dfb 100644 --- a/docs/network/index.html +++ b/docs/network/index.html @@ -1319,19 +1319,19 @@ var options = { hoverNode {node: nodeId} - Fired interaction:{hover:true} and the mouse hovers over a node. + Fired if the option interaction:{hover:true} is enabled and the mouse hovers over a node. blurNode {node: nodeId} - Fired interaction:{hover:true} and the mouse moved away from a node it was hovering over before. + Fired if the option interaction:{hover:true} is enabled and the mouse moved away from a node it was hovering over before. hoverEdge {edge: edgeId} - Fired interaction:{hover:true} and the mouse hovers over an edge. + Fired if the option interaction:{hover:true} is enabled and the mouse hovers over an edge. blurEdge {edge: edgeId} - Fired interaction:{hover:true} and the mouse moved away from an edge it was hovering over before. + Fired if the option interaction:{hover:true} is enabled and the mouse moved away from an edge it was hovering over before. zoom {direction:'+'/'-', scale: Number} diff --git a/docs/network/nodes.html b/docs/network/nodes.html index 4d3fcfc5..34e75762 100644 --- a/docs/network/nodes.html +++ b/docs/network/nodes.html @@ -171,6 +171,7 @@ var options = { }, shadow:{ enabled: false, + color: 'rgba(0,0,0,0.5)', size:10, x:5, y:5 @@ -585,6 +586,12 @@ mySize = minSize + diff * scale; in this object are defined. + + shadow.color + String + 'rgba(0,0,0,0.5)' + The color size of the shadow as a string. Supported formats are 'rgb(255,255,255)', 'rgba(255,255,255,1)' and '#FFFFFF'. + shadow.size Number diff --git a/download/vis.zip b/download/vis.zip index 4bea20be..828e5349 100644 Binary files a/download/vis.zip and b/download/vis.zip differ diff --git a/examples/network/nodeStyles/shadows.html b/examples/network/nodeStyles/shadows.html index 4a760e89..bfa7b86a 100644 --- a/examples/network/nodeStyles/shadows.html +++ b/examples/network/nodeStyles/shadows.html @@ -87,7 +87,7 @@ {from: 25, to: 24}, {from: 26, to: 25}, {from: 25, to: 7}, - {from: 28, to: 27}, + {from: 28, to: 27, shadow:{color:'rgb(0,255,0)'}}, {from: 29, to: 28}, {from: 28, to: 0} ] diff --git a/examples/network/other/clustering.html b/examples/network/other/clustering.html index 30b745ef..2f2eb8eb 100644 --- a/examples/network/other/clustering.html +++ b/examples/network/other/clustering.html @@ -80,7 +80,7 @@ Click any of the buttons below to cluster the network. On every push the network network.openCluster(params.nodes[0]); } } - }) + }); function clusterByCid() { network.setData(data); @@ -89,7 +89,7 @@ Click any of the buttons below to cluster the network. On every push the network return childOptions.cid == 1; }, clusterNodeProperties: {id:'cidCluster', borderWidth:3, shape:'database'} - } + }; network.cluster(clusterOptionsByData); } function clusterByColor() { @@ -111,7 +111,7 @@ Click any of the buttons below to cluster the network. On every push the network return clusterOptions; }, clusterNodeProperties: {id: 'cluster:' + color, borderWidth: 3, shape: 'database', color:color, label:'color:' + color} - } + }; network.cluster(clusterOptionsByData); } } @@ -131,7 +131,7 @@ Click any of the buttons below to cluster the network. On every push the network return clusterOptions; }, clusterNodeProperties: {borderWidth:3, shape:'box', font:{size:30}} - } + }; network.clusterByHubsize(undefined, clusterOptionsByData); } diff --git a/index.html b/index.html index c575eb32..595b6bd5 100644 --- a/index.html +++ b/index.html @@ -28,7 +28,7 @@ - +